@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=DM+Mono:wght@400;500&display=swap";:root{--ink: #141414;--off-white: #ededed;--red: #ff4545;--teal: #00807b;--cream: #e3ded2;--forest: #16241a;--forest-deep: #0d1610;--bg: var(--ink);--bg-raised: #1c1c1c;--bg-sunken: #0f0f0f;--surface-line: rgba(237, 237, 237, .12);--surface-line-strong: rgba(237, 237, 237, .24);--text: var(--off-white);--text-dim: rgba(237, 237, 237, .62);--text-faint: rgba(237, 237, 237, .38);--accent: var(--red);--accent-ink: #141414;--font-display: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--gutter: 20px;--radius: 4px;--radius-lg: 8px;--nav-h: 64px;--ticker-h: 38px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-display);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}#root{overflow-x:hidden}a{color:inherit}button{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.02em;line-height:1.05}p{margin:0}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.app{display:flex;flex-direction:column;min-height:100dvh}.page{flex:1;width:100%;max-width:640px;margin:0 auto;padding:0 var(--gutter);padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 32px)}.stack{display:flex;flex-direction:column;gap:14px}.section{margin-top:40px}.section+.section{margin-top:44px}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);display:flex;align-items:center;gap:8px}.eyebrow:after{content:"";flex:1;height:1px;background:var(--surface-line)}.section-title{font-size:clamp(26px,8vw,34px);text-transform:uppercase;margin:10px 0 6px}.lede{color:var(--text-dim);font-size:15px;line-height:1.6}.mono{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em}.topbar{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--surface-line);padding-top:env(safe-area-inset-top)}.topbar__inner{max-width:640px;margin:0 auto;padding:12px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar__logo{display:block;height:22px;color:var(--text)}.topbar__logo svg{height:100%;width:auto;display:block}.topbar__meta{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);text-align:right;white-space:nowrap}.ticker{position:relative;overflow:hidden;height:var(--ticker-h);background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;border-bottom:1px solid var(--ink)}.ticker__track{display:flex;align-items:center;gap:0;white-space:nowrap;will-change:transform;animation:ticker-scroll var(--ticker-duration, 40s) linear infinite}.ticker:hover .ticker__track,.ticker:focus-within .ticker__track{animation-play-state:paused}.ticker__item{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.04em;padding:0 18px;display:inline-flex;align-items:center;gap:8px}.ticker__item:after{content:"";width:4px;height:4px;background:currentColor;border-radius:50%;margin-left:18px;opacity:.5}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.ticker__track{animation:none}.ticker{overflow-x:auto;scrollbar-width:none}.ticker::-webkit-scrollbar{display:none}}.hero{position:relative;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) 32px;background:var(--ink);border-bottom:1px solid var(--surface-line);overflow:hidden;text-align:center}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}.hero__visual{position:relative;width:calc(100% + var(--gutter) * 2);margin:0 calc(var(--gutter) * -1) 22px;aspect-ratio:1 / 1;overflow:hidden}.hero__photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.hero__visual:before{content:"";position:absolute;top:40%;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 0%,var(--ink) 100%);pointer-events:none}.hero__visual .hero__title{position:absolute;top:72%;left:var(--gutter);right:var(--gutter);z-index:1}.hero--fallback{padding-top:36px}.hero__mark{width:74px;height:74px;margin:0 auto 20px;color:var(--cream)}.hero__mark svg{width:100%;height:100%;display:block}.hero__title{font-size:clamp(38px,18vw,92px);white-space:nowrap;line-height:1;text-transform:uppercase;color:var(--cream);letter-spacing:-.035em}.hero__meta{margin-top:18px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#e3ded2b3;display:flex;flex-direction:column;gap:4px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:26px}.countdown__cell{background:#e3ded212;border:1px solid rgba(227,222,210,.14);border-radius:var(--radius);padding:10px 4px 8px}.countdown__num{font-size:clamp(24px,8vw,32px);font-weight:700;line-height:1;color:var(--cream);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.countdown__label{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#e3ded280;margin-top:5px}.countdown--live{grid-column:1 / -1;text-align:center;font-family:var(--font-mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);padding:14px;border:1px solid var(--accent);border-radius:var(--radius)}.card{background:var(--bg-raised);border:1px solid var(--surface-line);border-radius:var(--radius-lg);padding:18px}.card--flat{background:transparent}.card__title{font-size:17px;font-weight:600;letter-spacing:-.01em}.card__body{margin-top:7px;color:var(--text-dim);font-size:14.5px;line-height:1.6}.callout{border-radius:var(--radius-lg);padding:16px 16px 16px 46px;position:relative;font-size:14.5px;line-height:1.6;border:1px solid var(--surface-line);background:var(--bg-raised)}.callout__icon{position:absolute;left:16px;top:15px;font-size:17px;line-height:1}.callout strong{color:var(--text);display:block;margin-bottom:3px}.callout__text{color:var(--text-dim)}.callout--warn{border-color:#ff454559;background:#ff454512}.callout--calm{border-color:#00807b66;background:#00807b17}.facts{border:1px solid var(--surface-line);border-radius:var(--radius-lg);overflow:hidden}.facts__row{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:13px 16px;font-size:14.5px;align-items:baseline}.facts__row+.facts__row{border-top:1px solid var(--surface-line)}.facts__label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.facts__value a{color:var(--accent);text-underline-offset:3px}.progress{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--surface-line);border-radius:var(--radius-lg);background:var(--bg-raised)}.progress__ring{--pct: 0;position:relative;width:52px;height:52px;flex-shrink:0;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--pct) * 1%),var(--surface-line) 0);display:grid;place-items:center}.progress__ring:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;background:var(--bg-raised);border-radius:50%}.progress__count{position:relative;z-index:1;font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--text)}.progress__text strong{display:block;font-size:15px}.progress__text span{color:var(--text-dim);font-size:13.5px}.action{border:1px solid var(--surface-line);border-radius:var(--radius-lg);background:var(--bg-raised);overflow:hidden;transition:opacity .2s ease}.action--done{opacity:.5}.action__head{display:flex;gap:13px;padding:15px 16px;align-items:flex-start;width:100%;background:none;border:0;text-align:left;cursor:pointer}.checkbox{flex-shrink:0;width:22px;height:22px;border:1.5px solid var(--surface-line-strong);border-radius:5px;display:grid;place-items:center;margin-top:1px;transition:background .15s ease,border-color .15s ease}.checkbox--on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.checkbox svg{width:13px;height:13px;opacity:0}.checkbox--on svg{opacity:1}.action__title{display:block;font-size:15.5px;font-weight:600;letter-spacing:-.01em}.action--done .action__title{text-decoration:line-through;text-decoration-color:var(--text-faint)}.action__detail{display:block;color:var(--text-dim);font-size:14px;line-height:1.55;margin-top:5px}.action__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 15px 51px;flex-wrap:wrap}.due{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:3px;border:1px solid var(--surface-line-strong);color:var(--text-dim);white-space:nowrap}.due--soon{border-color:var(--accent);color:var(--accent)}.due--past{border-color:var(--surface-line);color:var(--text-faint)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border-radius:var(--radius);border:1px solid var(--surface-line-strong);background:transparent;font-size:14px;font-weight:600;letter-spacing:-.01em;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.btn:active{transform:scale(.985)}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn--ghost:hover{background:#ededed0f}.btn--full{width:100%}.btn--sm{padding:8px 12px;font-size:13px}.btn svg{width:14px;height:14px;flex-shrink:0}.day{border:1px solid var(--surface-line);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-raised)}.day--today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.day__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--surface-line)}.day__weekday{font-size:21px;font-weight:700;text-transform:uppercase;letter-spacing:-.02em}.day__headline{font-size:13px;color:var(--text-dim);margin-top:3px}.day__date{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap}.slot{display:grid;grid-template-columns:78px 1fr;gap:12px;padding:13px 16px;align-items:baseline}.slot+.slot{border-top:1px solid var(--surface-line)}.slot__when{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);padding-top:2px}.slot__what{font-size:15px;font-weight:500;letter-spacing:-.01em}.slot__note{font-size:13.5px;color:var(--text-dim);margin-top:4px;line-height:1.55}.slot--mystery .slot__what{color:var(--accent)}.slot--mystery .slot__note{font-size:17px;letter-spacing:.12em}.today-pill{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;background:var(--accent);color:var(--accent-ink);padding:3px 7px;border-radius:3px;margin-left:8px;vertical-align:middle}.check-list{border:1px solid var(--surface-line);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-raised)}.check-item{display:flex;align-items:center;gap:13px;padding:13px 16px;width:100%;background:none;border:0;text-align:left;cursor:pointer;font-size:15px;line-height:1.4}.check-item+.check-item{border-top:1px solid var(--surface-line)}.check-item--done span{text-decoration:line-through;color:var(--text-faint)}.provided{display:flex;flex-wrap:wrap;gap:8px}.chip{font-family:var(--font-mono);font-size:12px;padding:7px 11px;border-radius:999px;border:1px solid rgba(0,128,123,.5);background:#00807b1a;color:var(--text-dim);display:inline-flex;align-items:center;gap:6px}.steps{display:flex;flex-direction:column;gap:0;counter-reset:step}.step{position:relative;padding:0 0 22px 34px;counter-increment:step}.step:before{content:counter(step);position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;border:1px solid var(--surface-line-strong);display:grid;place-items:center;font-family:var(--font-mono);font-size:11px;color:var(--text-dim);background:var(--bg)}.step:not(:last-child):after{content:"";position:absolute;left:11px;top:24px;bottom:2px;width:1px;background:var(--surface-line)}.step__when{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.step__what{font-size:15.5px;font-weight:600;margin-top:3px}.step__detail{font-size:14px;color:var(--text-dim);line-height:1.55;margin-top:4px}.role{display:flex;gap:14px;padding:17px;border:1px solid var(--surface-line);border-radius:var(--radius-lg);background:var(--bg-raised)}.role__emoji{font-size:24px;line-height:1.2;flex-shrink:0}.ideas{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px}.idea{border:1px dashed var(--surface-line-strong);border-radius:var(--radius);padding:12px;font-size:13.5px;color:var(--text-dim);line-height:1.4}.nav{position:fixed;bottom:0;left:0;right:0;z-index:50;background:color-mix(in srgb,var(--bg-sunken) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--surface-line);padding-bottom:env(safe-area-inset-bottom)}.nav__inner{max-width:640px;margin:0 auto;height:var(--nav-h);display:grid;grid-template-columns:repeat(4,1fr)}.nav__link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-decoration:none;color:var(--text-faint);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;position:relative;transition:color .15s ease;-webkit-tap-highlight-color:transparent}.nav__link svg{width:20px;height:20px}.nav__link[aria-current=page]{color:var(--text)}.nav__link[aria-current=page]:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:26px;height:2px;background:var(--accent)}.nav__badge{position:absolute;top:8px;right:50%;margin-right:-18px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:9.5px;font-weight:500;display:grid;place-items:center;letter-spacing:0}.install{position:fixed;left:12px;right:12px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 12px);z-index:60;background:var(--cream);color:var(--ink);border-radius:var(--radius-lg);padding:14px 14px 14px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 12px 32px #00000073;max-width:616px;margin:0 auto;animation:rise .35s cubic-bezier(.2,.9,.3,1)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.install__text{flex:1;font-size:13.5px;line-height:1.4}.install__text strong{display:block;font-size:14.5px}.install .btn{border-color:var(--ink)}.install .btn--primary{background:var(--ink);border-color:var(--ink);color:var(--cream)}.install__close{background:none;border:0;color:#14141480;font-size:20px;line-height:1;padding:4px;cursor:pointer}.field{display:flex;flex-direction:column;gap:6px}.field label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.field input,.field textarea,.field select{font-family:var(--font-display);font-size:15px;padding:11px 12px;border-radius:var(--radius);border:1px solid var(--surface-line-strong);background:var(--bg-sunken);color:var(--text);width:100%}.field textarea{resize:vertical;min-height:72px}.admin-row{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--surface-line);border-radius:var(--radius-lg);background:var(--bg-raised)}.admin-row--off{opacity:.45}.admin-row__text{flex:1;font-size:14.5px;line-height:1.5}.icon-btn{background:none;border:1px solid var(--surface-line-strong);border-radius:var(--radius);padding:6px 9px;cursor:pointer;font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.notice{font-family:var(--font-mono);font-size:12px;padding:12px 14px;border-radius:var(--radius);border:1px dashed var(--surface-line-strong);color:var(--text-dim);line-height:1.5}.link-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border:1px solid var(--surface-line);border-radius:var(--radius-lg);background:var(--bg-raised);text-decoration:none;font-size:15px;font-weight:500}.link-row:hover{border-color:var(--surface-line-strong)}.link-row svg{width:15px;height:15px;color:var(--text-faint);flex-shrink:0}.venue{border:1px solid var(--surface-line);border-radius:var(--radius-lg);background:var(--bg-raised);padding:17px}.venue__name{font-size:17px;font-weight:600;letter-spacing:-.01em}.venue__meta{margin-top:4px;color:var(--text-dim);font-size:14px}.venue__links{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}.hub-card{display:flex;align-items:center;gap:14px;padding:17px 16px;border:1px solid var(--surface-line);border-radius:var(--radius-lg);background:var(--bg-raised);text-decoration:none;transition:border-color .15s ease}.hub-card:hover{border-color:var(--surface-line-strong)}.hub-card:active{transform:scale(.995)}.hub-card__emoji{font-size:25px;line-height:1;flex-shrink:0}.hub-card__text{flex:1;min-width:0}.hub-card__title{display:block;font-size:16.5px;font-weight:600;letter-spacing:-.01em}.hub-card__status{display:block;margin-top:4px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.03em;color:var(--text-dim)}.hub-card__status--urgent{color:var(--accent)}.hub-card>svg{width:17px;height:17px;color:var(--text-faint);flex-shrink:0}.back{display:inline-flex;align-items:center;gap:7px;margin-top:22px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);text-decoration:none;padding:6px 0}.back:hover{color:var(--text-dim)}.back svg{width:14px;height:14px}.footer{margin-top:48px;padding-top:24px;border-top:1px solid var(--surface-line);text-align:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--text-faint);line-height:1.8}.footer a{color:var(--text-dim)}@media (min-width: 700px){:root{--gutter: 28px}}
