*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #000000;--bg-2: #0a0a0a;--glass: rgba(255,255,255,.06);--glass-border: rgba(255,255,255,.1);--glass-hover: rgba(255,255,255,.1);--text-primary: #f5f5f7;--text-secondary: rgba(245,245,247,.55);--text-tertiary: rgba(245,245,247,.3);--accent: #0071e3;--accent-glow: rgba(0,113,227,.25);--warn: #ff9f0a;--danger: #ff3b30;--danger-glow: rgba(255,59,48,.25);--border: rgba(255,255,255,.08);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", sans-serif;--mono: "SF Mono", "Fira Code", ui-monospace, monospace;--radius: 16px;--spring: cubic-bezier(.34, 1.56, .64, 1)}html,body,#root{height:100%;background:var(--bg);color:var(--text-primary);font-family:var(--font);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.glass{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.glass:hover{background:var(--glass-hover);border-color:#ffffff26;transition:background .2s ease,border-color .2s ease}.nav{position:fixed;bottom:0;left:0;right:0;height:56px;display:flex;align-items:center;justify-content:space-around;background:#0009;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border-top:1px solid var(--border);z-index:100;padding-bottom:env(safe-area-inset-bottom)}.nav-btn{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;color:var(--text-tertiary);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;padding:6px 16px;border-radius:10px;transition:color .2s ease,transform .2s var(--spring);text-decoration:none}.nav-btn.active{color:var(--accent)}.nav-btn:hover{transform:translateY(-2px)}.nav-btn svg{width:20px;height:20px;stroke-width:1.5}.page{min-height:100dvh;padding:60px 16px 80px;max-width:480px;margin:0 auto}.page-header{margin-bottom:24px}.page-title{font-size:2rem;font-weight:700;letter-spacing:-.03em;line-height:1.1}.section-label{font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:10px}.countdown-digits{font-family:var(--mono);font-size:3rem;font-weight:700;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}.countdown-digits.large{font-size:4.5rem}.countdown-unit{font-size:.6rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.fuse-bar{height:3px;border-radius:2px;background:var(--border);overflow:hidden;margin-top:12px}.fuse-bar-fill{height:100%;border-radius:2px;transition:width 1s linear}.urgency-low{color:var(--accent)}.urgency-medium{color:var(--warn)}.urgency-high{color:var(--danger)}.fuse-low{background:var(--accent)}.fuse-medium{background:var(--warn)}.fuse-high{background:var(--danger);box-shadow:0 0 8px var(--danger-glow)}.heat-strip{display:flex;gap:2px;height:24px;border-radius:8px;overflow:hidden;margin-bottom:24px}.heat-cell{flex:1;border-radius:3px;transition:background .3s ease}.day-header{display:flex;align-items:baseline;gap:8px;margin:28px 0 12px}.day-header-date{font-size:1.3rem;font-weight:700;letter-spacing:-.02em}.day-header-label{font-size:.75rem;font-weight:500;color:var(--text-tertiary);letter-spacing:.06em;text-transform:uppercase}.event-card{padding:14px 16px;margin-bottom:8px;cursor:pointer;transition:transform .2s var(--spring),background .2s ease}.event-card:hover{transform:translateY(-2px)}.event-card:active{transform:scale(.98)}.event-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.event-card-name{font-size:.95rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}.event-card-meta{font-size:.75rem;color:var(--text-secondary);margin-top:3px}.event-badge{font-size:.6rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:100px;white-space:nowrap;flex-shrink:0}.badge-payday{background:#34c75926;color:#34c759;border:1px solid rgba(52,199,89,.2)}.badge-custom{background:#0071e326;color:#0071e3;border:1px solid rgba(0,113,227,.2)}.badge-ical{background:#ffffff0f;color:var(--text-secondary);border:1px solid var(--border)}.badge-warning{background:#ff3b3026;color:#ff3b30;border:1px solid rgba(255,59,48,.2)}.upcoming-item{display:flex;align-items:center;gap:14px;padding:14px 16px;margin-bottom:6px}.upcoming-rank{font-family:var(--mono);font-size:.7rem;color:var(--text-tertiary);width:18px;text-align:right;flex-shrink:0}.upcoming-info{flex:1;min-width:0}.upcoming-name{font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-time{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.upcoming-countdown{font-family:var(--mono);font-size:.85rem;font-weight:700;letter-spacing:-.01em;text-align:right;flex-shrink:0}.now-hero{text-align:center;padding:32px 20px;margin-bottom:8px}.now-label{font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--danger);margin-bottom:8px}.now-event-name{font-size:1.4rem;font-weight:700;letter-spacing:-.02em;margin-bottom:16px}@keyframes tick{0%,to{opacity:1}50%{opacity:.4}}.ticking-colon{animation:tick 1s step-end infinite;display:inline-block;width:.4em;text-align:center}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .4s ease-out forwards}.fade-up-delay-1{animation-delay:.05s;opacity:0}.fade-up-delay-2{animation-delay:.1s;opacity:0}.fade-up-delay-3{animation-delay:.15s;opacity:0}.fade-up-delay-4{animation-delay:.2s;opacity:0}
