.surface{--bg:#170a10;--bg-tilt:#1c0c14;--surface:#23111a;--surface-2:#2c1622;--surface-3:#341a28;--hairline:#f3dcd914;--hairline-strong:#f3dcd924;--cream:#f3dcd9;--cream-muted:#f3dcd9a6;--cream-faint:#f3dcd999;--cream-ghost:#f3dcd92e;--ink:#170a10;--accent-cool:#f3dcd9;--accent:#e9a8b3;--accent-warm:#d39ba9;--accent-fog:#e9a8b347;--accent-mist:#e9a8b31f;--accent-deep:#b87989;--gold:#d9a441;--ease-settle:cubic-bezier(.22, 1, .36, 1);--ease-press:cubic-bezier(.34, 1.56, .64, 1);--ease-bloom:cubic-bezier(.16, 1, .3, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--dur-tap:.12s;--dur-release:.32s;--dur-state:.32s;--dur-route:.52s;--dur-bloom:.72s;--dur-breath:4.8s;--r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:20px;--r-xl:20px;--r-pill:999px;--display:var(--font-display), "Cormorant Garamond", "EB Garamond", Georgia, serif;--body:var(--font-sans), "Geist", -apple-system, BlinkMacSystemFont, sans-serif;--mono:var(--font-mono), "JetBrains Mono", ui-monospace, monospace;background:var(--bg);width:100%;height:100%;color:var(--cream);font-family:var(--body);flex-direction:column;display:flex;position:relative;overflow:hidden}.surface *,.surface :before,.surface :after{box-sizing:border-box}.atmosphere{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.atm-top{filter:blur(8px);background:radial-gradient(at 50% 0,#d4828a38 0%,#b8798914 32%,#0000 65%);height:60%;position:absolute;top:-20%;left:-20%;right:-20%}.atm-bottom{filter:blur(10px);background:radial-gradient(at 50% 100%,#8c3c502e 0%,#0000 60%);height:50%;position:absolute;bottom:-20%;left:-20%;right:-20%}.grain{opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:absolute;inset:0}.atm-top{animation:28s ease-in-out infinite alternate atm-drift-top}.atm-bottom{animation:34s ease-in-out infinite alternate atm-drift-bottom}@keyframes atm-drift-top{0%{transform:translate(-2%)scale(1)}to{transform:translate(3%,1.6%)scale(1.08)}}@keyframes atm-drift-bottom{0%{transform:translate(2%)scale(1.05)}to{transform:translate(-3%,-1.2%)scale(1)}}@media (prefers-reduced-motion:reduce){.atm-top,.atm-bottom{animation:none}}.sheet-header{z-index:5;padding:max(60px, calc(28px + var(--safe-area-top))) 22px 14px;border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;display:flex;position:relative}.sheet-header.sheet-flush{padding-top:14px}.sheet-header-left{color:var(--cream);align-items:center;gap:10px;display:flex}.sheet-title{font-family:var(--display);letter-spacing:-.005em;color:var(--cream);white-space:nowrap;font-size:19px;font-style:italic;font-weight:500}.done-pill{appearance:none;color:var(--cream);border-radius:var(--r-pill);box-shadow:var(--ring-hairline-strong,inset 0 0 0 1px var(--hairline-strong));font-family:var(--body);cursor:pointer;transition:background var(--dur-state) var(--ease-settle), transform var(--dur-tap) ease-out;background:padding-box padding-box;border:1px solid #0000;padding:8px 18px;font-size:13px;font-weight:500}.done-pill:active{transform:scale(.97)}.done-pill:hover{background:#f3dcd90a}.infinity{color:var(--accent);display:block}.infinity.is-breathing path{transform-origin:50px 25px;animation:6.4s ease-in-out infinite alternate ribbon-breath}@keyframes ribbon-breath{0%{opacity:.78;transform:scale(.995)}to{opacity:1;transform:scale(1.012)}}.eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--cream-faint);font-size:10px;font-weight:500}.eyebrow em{color:var(--accent);font-style:normal;font-weight:500}.h-section{font-family:var(--display);letter-spacing:-.015em;color:var(--cream);font-size:26px;font-style:normal;font-weight:500;line-height:1.15}.h-intimate{font-family:var(--display);letter-spacing:-.005em;color:var(--cream);text-wrap:pretty;font-size:26px;font-style:italic;font-weight:500;line-height:1.1}.h-quiet{font-family:var(--display);letter-spacing:-.005em;color:var(--cream-muted);font-size:15px;font-style:italic;font-weight:400;line-height:1.35}.pressable{transition:transform var(--dur-tap) var(--ease-exit), background var(--dur-state) var(--ease-settle), border-color var(--dur-state) var(--ease-settle), box-shadow var(--dur-state) var(--ease-settle)}.pressable:active{transform:scale(.97)}.pressable:not(:active){transition:transform var(--dur-release) var(--ease-press), background var(--dur-state) var(--ease-settle), border-color var(--dur-state) var(--ease-settle), box-shadow var(--dur-state) var(--ease-settle)}.sticky-action{transform:translateY(calc(-1 * var(--kb-inset,0px)))}:root[data-kb="1"] .tabbar{transform:translateY(100%)}@media (prefers-reduced-motion:no-preference){.sticky-action,:root[data-kb="1"] .tabbar{transition:transform .18s var(--ease-settle,ease)}}.cta-primary{appearance:none;border-radius:var(--r-pill);background:var(--accent);width:100%;color:var(--ink);font-family:var(--body);letter-spacing:-.005em;cursor:pointer;box-shadow:0 8px 24px var(--accent-fog), inset 0 1px 0 #ffffff29;border:none;padding:16px 24px;font-size:15px;font-weight:600}.cta-primary[disabled]{color:var(--cream-faint);cursor:not-allowed;box-shadow:none;background:#f3dcd914}.cta-secondary{appearance:none;border-radius:var(--r-pill);width:100%;color:var(--cream);box-shadow:var(--ring-hairline-strong,inset 0 0 0 1px var(--hairline-strong));font-family:var(--body);cursor:pointer;background:padding-box padding-box;border:1px solid #0000;padding:15px 24px;font-size:14px;font-weight:500}.status-pill{font-family:var(--body);color:var(--cream-muted);border-radius:var(--r-pill);box-shadow:var(--ring-hairline,inset 0 0 0 1px var(--hairline));background:#f3dcd90a padding-box padding-box;border:1px solid #0000;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:500;display:inline-flex}.status-pill .dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent-fog);border-radius:50%}
.pwa-install-pill{z-index:79;width:min(396px,100vw - 28px);min-height:44px;margin:max(12px, calc(8px + var(--safe-area-top))) auto 0;border-radius:var(--r-pill);background:rgba(var(--surface-2-rgb), .94);color:var(--cream);box-shadow:0 16px 34px #0000004d, inset 0 0 0 1px var(--hairline-strong), 0 0 0 1px rgba(var(--accent-rgb), .08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background-clip:padding-box;border:1px solid #0000;align-items:center;gap:8px;padding:7px 8px 7px 13px;display:flex;position:relative}.pwa-install-pill span{min-width:0;color:color-mix(in srgb, var(--cream) 78%, transparent);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:11px;font-weight:800;line-height:1.15;overflow:hidden}.pwa-install-pill button{border-radius:var(--r-pill);background:var(--accent-mist);min-height:30px;box-shadow:var(--ring-accent-fog,inset 0 0 0 1px var(--accent-fog));color:var(--cream);cursor:pointer;white-space:nowrap;background-clip:padding-box;border:1px solid #0000;flex:none;padding:0 10px;font-size:11px;font-weight:850}.pwa-install-pill button:disabled{cursor:default;opacity:.58}.pwa-install-pill .pwa-pill-dismiss{max-width:58px;box-shadow:var(--ring-hairline,inset 0 0 0 1px var(--hairline));color:var(--cream-faint);text-overflow:ellipsis;background:0 0;border-color:#0000;overflow:hidden}.pwa-install-overlay{z-index:120;padding:18px 14px max(18px, calc(18px + env(safe-area-inset-bottom)));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a04088c;align-items:end;display:grid;position:fixed;inset:0}.pwa-install-sheet{border:1px solid var(--hairline-strong);background:linear-gradient(180deg, rgba(var(--cream-rgb), .07), rgba(var(--cream-rgb), .02)), rgb(var(--surface-rgb));width:min(420px,100%);color:var(--cream);border-radius:20px;margin:0 auto;padding:22px;box-shadow:0 22px 54px #00000070}.pwa-install-eyebrow{color:var(--gold);font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;margin:0 0 10px;font-size:10px;line-height:1}.pwa-install-sheet h2{color:var(--cream);font-family:var(--display);margin:0;font-size:30px;font-style:italic;font-weight:600;line-height:1}.pwa-install-sheet ol{color:var(--cream-muted);gap:10px;margin:18px 0 0;padding-left:20px;font-size:14px;line-height:1.45;display:grid}.pwa-install-sheet li::marker{color:var(--accent);font-weight:800}.pwa-install-sheet-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;display:grid}.mobile-access-loading{background:var(--bg);min-height:100vh}.mobile-access-page{min-height:100vh;padding:max(24px, calc(24px + var(--safe-area-top))) 22px max(24px, calc(24px + var(--safe-area-bottom)));place-items:center;display:grid}.mobile-access-panel{z-index:2;text-align:center;width:min(460px,100%);position:relative}.mobile-access-mark{width:min(340px,64vw);height:220px;margin:-18px auto 0}.mobile-access-eyebrow{color:var(--gold);font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;margin:0 0 14px;font-size:10px}.mobile-access-panel h1{max-width:9em;color:var(--cream);font-family:var(--display);letter-spacing:0;text-wrap:balance;margin:0 auto;font-size:58px;font-style:italic;font-weight:600;line-height:.96}.mobile-access-body{max-width:34ch;color:var(--cream-muted);margin:16px auto 0;font-size:15px;line-height:1.55}.mobile-access-description{max-width:36ch;color:var(--cream);font-family:var(--display);margin:22px auto 0;font-size:20px;font-style:italic;font-weight:400;line-height:1.35}.mobile-access-actions{gap:10px;margin-top:34px;display:grid}.mobile-access-primary,.mobile-access-copy{border-radius:var(--r-pill);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:1px solid #0000;width:100%;min-height:52px;font-size:14px;font-weight:850}.mobile-access-primary{background:var(--accent);color:var(--ink);box-shadow:0 14px 34px var(--accent-fog), var(--ring-accent-fog,inset 0 0 0 1px var(--accent-fog));background-clip:padding-box;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.mobile-access-copy{background:rgba(var(--cream-rgb), .045);color:var(--cream);box-shadow:var(--ring-hairline-strong,inset 0 0 0 1px var(--hairline-strong)), 0 14px 30px #0000003d;background-clip:padding-box}.mobile-access-selfhost{max-width:36ch;color:rgba(var(--cream-rgb), .6);margin:12px auto 0;font-size:13px;line-height:1.55}.mobile-access-selfhost strong{color:rgba(var(--cream-rgb), .9)}.mobile-access-shots{width:min(640px,90vw);margin:28px auto 6px}.mobile-access-shots-track{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:14px;padding:8px 26px 14px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.mobile-access-shots-track::-webkit-scrollbar{display:none}.mobile-access-shot{scroll-snap-align:center;border:1px solid rgba(var(--cream-rgb), .16);background:#06020480;border-radius:24px;flex:none;width:158px;margin:0;animation:.75s cubic-bezier(.2,.7,.2,1) both mobile-access-shot-rise;overflow:hidden;box-shadow:inset 0 1px #ffffff0f,0 22px 50px #00000080}.mobile-access-shot:nth-child(2){animation-delay:70ms}.mobile-access-shot:nth-child(3){animation-delay:.14s}.mobile-access-shot:nth-child(4){animation-delay:.21s}.mobile-access-shot:nth-child(5){animation-delay:.28s}.mobile-access-shot img{aspect-ratio:9/19.5;object-fit:cover;object-position:top center;width:100%;height:auto;display:block}@keyframes mobile-access-shot-rise{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.mobile-access-shot{animation:none}}.mobile-access-github{border:1px solid rgba(var(--cream-rgb), .24);border-radius:var(--r-pill);background:radial-gradient(130% 180% at 50% -60%, rgba(var(--cream-rgb), .16), transparent 62%), linear-gradient(180deg, #1e0d14eb, #0d0509e6);width:100%;min-height:52px;color:var(--cream);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background-clip:padding-box;justify-content:center;align-items:center;gap:10px;font-size:14px;font-weight:850;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:inline-flex;box-shadow:inset 0 1px #ffffff14,0 16px 40px #0000005c}.mobile-access-github:hover{border-color:rgba(var(--cream-rgb), .42);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff1a,0 22px 50px #00000070}.mobile-access-github:active{transform:scale(.985)}.mobile-access-gh-mark{opacity:.96;flex:none}@media (min-width:960px){.mobile-access-page{place-items:center;padding:56px max(48px,5vw)}.mobile-access-panel{text-align:left;grid-template:"mark shots""lead shots"/minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:6px 60px;width:min(1160px,94vw);display:grid}.mobile-access-mark{grid-area:mark;align-self:end;width:232px;height:148px;margin:0 0 -6px -10px}.mobile-access-lead{grid-area:lead;align-self:start}.mobile-access-shots{grid-area:shots;align-self:center;width:100%;margin:0}.mobile-access-eyebrow{margin:0 0 16px}.mobile-access-panel h1{max-width:12ch;margin:0;font-size:clamp(60px,5.4vw,82px)}.mobile-access-description{max-width:30ch;margin:22px 0 0;font-size:22px}.mobile-access-body{max-width:46ch;margin:16px 0 0}.mobile-access-selfhost{max-width:46ch;margin:12px 0 0}.mobile-access-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:460px;margin-top:34px}.mobile-access-shots-track{padding:10px 28px 16px}.mobile-access-shot{border-radius:26px;width:186px}}@media (max-width:360px){.mobile-access-panel h1{font-size:46px}.pwa-install-pill{border-radius:18px;flex-wrap:wrap;align-items:stretch}.pwa-install-pill span{white-space:normal;flex-basis:100%}.pwa-install-pill button{flex:auto}.pwa-install-sheet-actions{grid-template-columns:1fr}}
