:root{--ink-000:#070708;--ink-050:#0d0d0f;--ink-100:#121215;--ink-200:#18181c;--ink-300:#1f1f24;--line:#26262c;--line-soft:#1c1c21;--paper:#f7f5f2;--text:#ecebe8;--text-dim:#9d9aa3;--text-faint:#6b6872;--gold:#e3b54a;--gold-soft:rgba(227,181,74,.12);--gold-line:rgba(227,181,74,.34);--green:#6fcf8e;--amber:#e0a95f;--red:#e07a6b;--glow: 0 0 0 1px var(--gold-line), 0 8px 40px -12px rgba(227,181,74,.35);--sans:"TWK Lausanne","Geist","Inter","SF Pro Text",-apple-system,BlinkMacSystemFont,sans-serif;--serif:"Instrument Serif","Iowan Old Style",Georgia,serif;--mono:"JetBrains Mono","SF Mono",ui-monospace,monospace;--t-xs:clamp(10.5px,.66rem + .05vw,11.5px);--t-sm:clamp(12px,.74rem + .08vw,13px);--t-md:clamp(13.5px,.82rem + .1vw,14.5px);--t-lg:clamp(16px,.95rem + .2vw,18px);--t-xl:clamp(22px,1.2rem + .8vw,30px);--t-2xl:clamp(30px,1.6rem + 2vw,54px);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:72px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-full:999px;--fast:.12s;--base:.22s;--slow:.38s;--ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);--tap:48px;--header-h:60px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ink-000);color:var(--text);font-family:var(--sans);font-size:var(--t-md);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none}button,input,textarea{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}::selection{background:var(--gold);color:var(--ink-000)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--ink-300);border-radius:99px;border:3px solid var(--ink-000)}*::-webkit-scrollbar-thumb:hover{background:#33333a}header{position:sticky;top:0;z-index:40;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(var(--s4),3vw,var(--s6));background:color-mix(in srgb,var(--ink-000) 82%,transparent);-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line-soft)}.wordmark{font-family:var(--serif);font-size:clamp(24px,1.4rem+.6vw,30px);letter-spacing:.01em;line-height:1}.wordmark em{color:var(--gold);font-style:italic}.header-right{display:flex;align-items:center;gap:var(--s3);font-family:var(--mono);font-size:var(--t-xs);color:var(--text-dim)}.header-right .tagline{display:none}@media (min-width:900px){.header-right .tagline{display:inline}}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;vertical-align:1px}.live-dot.up{background:var(--green);box-shadow:0 0 0 3px #6fcf8e24}.live-dot.down{background:var(--red);box-shadow:0 0 0 3px #e07a6b24}.ghost-btn{min-height:36px;display:inline-flex;align-items:center;gap:var(--s2);border:1px solid var(--line);color:var(--text-dim);font-family:var(--mono);font-size:var(--t-xs);padding:0 var(--s3);border-radius:var(--r-full);transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease)}.ghost-btn:hover,.ghost-btn.on{color:var(--gold);border-color:var(--gold-line)}.app{display:grid;grid-template-columns:1fr;min-height:calc(100dvh - var(--header-h))}@media (min-width:1024px){.app{grid-template-columns:minmax(360px,420px) 1fr;height:calc(100dvh - var(--header-h));overflow:hidden}.chat{border-right:1px solid var(--line-soft)}}.chat{display:flex;flex-direction:column;min-height:0;position:relative}@media (max-width:1023px){.chat{min-height:calc(100dvh - var(--header-h))}}.thread{flex:1;min-height:0;overflow-y:auto;scroll-behavior:smooth;padding:var(--s5) clamp(var(--s4),4vw,var(--s5)) var(--s5);display:flex;flex-direction:column;gap:var(--s4)}.msg{max-width:min(94%,520px);animation:rise var(--slow) var(--ease-out) both}.msg.user{align-self:flex-end}.msg .who{font-family:var(--mono);font-size:var(--t-xs);color:var(--text-faint);margin-bottom:var(--s1);letter-spacing:.04em;text-transform:lowercase}.msg.user .who{text-align:right}.bubble{padding:var(--s3) var(--s4);border-radius:var(--r-md);font-size:var(--t-md);line-height:1.6}.msg.user .bubble{background:var(--paper);color:var(--ink-000);border-bottom-right-radius:var(--s1);font-weight:450}.msg.user .bubble.tapped{background:transparent;color:var(--gold);border:1px solid var(--gold-line);font-family:var(--mono);font-size:var(--t-sm);padding:var(--s2) var(--s3)}.msg.zeus .bubble{background:var(--ink-100);border:1px solid var(--line-soft);border-bottom-left-radius:var(--s1)}.msg.zeus .bubble.error{border-color:#e07a6b66;background:#e07a6b0d}.chips{display:flex;gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap}.chips button{min-height:var(--tap);border-radius:var(--r-full);padding:0 var(--s4);font-size:var(--t-sm);font-weight:600;display:inline-flex;align-items:center;transition:transform var(--fast) var(--ease),filter var(--fast) var(--ease),border-color var(--fast) var(--ease)}.chips .primary{background:var(--gold);color:var(--ink-000)}.chips .quiet{border:1px solid var(--line);color:var(--text)}.chips button:hover{transform:translateY(-1px)}.chips .primary:hover{filter:brightness(1.07)}.chips .quiet:hover{border-color:var(--text-faint)}.chips button:active{transform:translateY(0) scale(.985)}.chips button:disabled{opacity:.4;pointer-events:none}.book-bar{margin-top:var(--s3);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--glow)}.book-bar>button{width:100%;min-height:var(--tap);background:var(--gold);color:var(--ink-000);font-weight:650;font-size:var(--t-lg);padding:var(--s4);display:flex;justify-content:space-between;align-items:center;gap:var(--s3);transition:filter var(--fast) var(--ease)}.book-bar>button:hover:not(:disabled){filter:brightness(1.07)}.book-bar>button:disabled{cursor:default}.book-bar .price{font-family:var(--mono);font-weight:650;font-variant-numeric:tabular-nums}.book-bar .fine{padding:var(--s3) var(--s4);background:var(--ink-100);font-size:var(--t-xs);color:var(--text-dim);line-height:1.5}.book-bar.done>button{background:var(--green)}.composer{position:sticky;bottom:0;z-index:20;display:flex;gap:var(--s2);align-items:center;padding:var(--s3) clamp(var(--s3),3vw,var(--s4));padding-bottom:calc(var(--s3) + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--ink-000) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line-soft)}.composer input{flex:1;min-height:var(--tap);background:var(--ink-100);border:1px solid var(--line);border-radius:var(--r-full);padding:0 var(--s4);font-size:16px;transition:border-color var(--fast) var(--ease)}.composer input::placeholder{color:var(--text-faint)}.composer input:focus{outline:none;border-color:var(--gold-line)}.composer .mic,.composer .send{width:var(--tap);height:var(--tap);border-radius:50%;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);color:var(--text-dim);transition:all var(--fast) var(--ease)}.composer .mic:hover{color:var(--gold);border-color:var(--gold-line)}.composer .mic.listening{color:var(--ink-000);background:var(--gold);border-color:var(--gold);animation:pulse 1.4s ease-in-out infinite}.composer .send{background:var(--paper);color:var(--ink-000);border-color:var(--paper);font-weight:600;width:auto;padding:0 var(--s4);border-radius:var(--r-full)}.composer .send:hover{filter:brightness(.94)}.canvas{overflow-y:auto;min-height:0;padding:var(--s5) clamp(var(--s4),4vw,var(--s6)) var(--s8);display:flex;flex-direction:column;gap:var(--s6);background:radial-gradient(900px 500px at 78% -8%,rgba(227,181,74,.05),transparent 62%),var(--ink-000)}@media (max-width:1023px){.canvas{border-top:1px solid var(--line-soft);padding-bottom:var(--s7)}}.canvas-empty{min-height:44vh;display:grid;place-items:center;text-align:center;padding:var(--s6) var(--s4)}.canvas-empty .big{font-family:var(--serif);font-size:var(--t-2xl);line-height:1.1;letter-spacing:-.01em;max-width:16ch;margin:0 auto}.canvas-empty .small{margin-top:var(--s4);color:var(--text-faint);font-size:var(--t-sm);max-width:42ch}.section{animation:rise var(--slow) var(--ease-out) both}.section-title{font-family:var(--mono);font-size:var(--t-xs);color:var(--text-faint);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--s3);display:flex;align-items:center;gap:var(--s3)}.section-title:after{content:"";flex:1;height:1px;background:var(--line-soft)}.card{background:var(--ink-100);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:var(--s5)}.trip-card{background:linear-gradient(160deg,var(--ink-200),var(--ink-050));border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(var(--s4),3vw,var(--s6))}.route{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s3)}.cities{font-family:var(--serif);font-size:var(--t-xl);line-height:1.05;letter-spacing:-.01em}.cities span{color:var(--gold);margin:0 var(--s2)}.dates{font-family:var(--mono);font-size:var(--t-sm);color:var(--text-dim);white-space:nowrap}.trip-meta{display:grid;gap:var(--s3);margin-top:var(--s5);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.meta-item .k{font-family:var(--mono);font-size:var(--t-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em}.meta-item .v{margin-top:var(--s1);font-size:var(--t-sm)}.budget-wrap{margin-top:var(--s5)}.budget-row{display:flex;justify-content:space-between;font-family:var(--mono);font-size:var(--t-sm);margin-bottom:var(--s2)}.budget-row .used{color:var(--gold)}.budget-row .cap{color:var(--text-faint)}.budget-track{height:5px;background:var(--ink-300);border-radius:99px;overflow:hidden}.budget-fill{height:100%;background:linear-gradient(90deg,var(--gold),#f0d089);border-radius:99px;transition:width var(--slow) var(--ease-out)}.budget-fill.over{background:linear-gradient(90deg,var(--red),#f0a396)}.bets{display:grid;gap:var(--s4);grid-template-columns:1fr}@media (min-width:640px){.bets{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}.bet{text-align:left;display:flex;flex-direction:column;gap:var(--s3);background:var(--ink-100);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:var(--s5);transition:transform var(--base) var(--ease),border-color var(--base) var(--ease),background var(--base) var(--ease)}.bet:hover{transform:translateY(-3px);border-color:var(--line)}.bet.pick{border-color:var(--gold-line);background:linear-gradient(165deg,rgba(227,181,74,.07),var(--ink-100) 55%)}.bet.active{box-shadow:var(--glow)}.bet .tag{font-family:var(--mono);font-size:var(--t-xs);letter-spacing:.09em;color:var(--text-faint)}.bet.pick .tag{color:var(--gold)}.bet .name{font-family:var(--serif);font-size:var(--t-lg);margin-top:var(--s1)}.bet .total{font-family:var(--mono);font-size:var(--t-xl);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.bet .left{font-size:var(--t-xs);color:var(--text-faint);margin-top:2px}.bet .left.over{color:var(--amber)}.bet .est{font-size:var(--t-xs);color:var(--text-faint);font-family:var(--mono)}.nested{display:flex;flex-direction:column;gap:var(--s2);padding-top:var(--s3);border-top:1px solid var(--line-soft)}.nest-row{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);font-size:var(--t-sm)}.nest-row span:first-child{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bet .why{font-size:var(--t-sm);color:var(--text-dim);line-height:1.55;border-top:1px solid var(--line-soft);padding-top:var(--s3)}.chip{display:inline-flex;align-items:center;flex:0 0 auto;font-family:var(--mono);font-size:var(--t-xs);padding:3px var(--s2);border-radius:var(--r-sm);border:1px solid var(--line);color:var(--text-dim)}.chip.cash{color:var(--green);border-color:#6fcf8e52;background:#6fcf8e12}.chip.credit,.chip.changeable{color:var(--amber);border-color:#e0a95f52;background:#e0a95f12}.chip.partial{color:var(--gold);border-color:var(--gold-line);background:var(--gold-soft)}.chip.restricted{color:var(--red);border-color:#e07a6b52;background:#e07a6b12}.board{display:grid;gap:var(--s4);grid-template-columns:1fr}@media (min-width:900px){.board{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}.board-card{background:var(--ink-100);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:var(--s4)}.status-row{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--line-soft);font-size:var(--t-sm)}.status-row:last-child{border-bottom:none}.status-row>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.s{font-family:var(--mono);font-size:var(--t-xs);white-space:nowrap;flex:0 0 auto}.s.ok{color:var(--green)}.s.hold{color:var(--amber)}.s.bad{color:var(--red)}.s.amt{color:var(--text)}.row-btn{min-height:36px;padding:0 var(--s3);border:1px solid var(--line);border-radius:var(--r-full);font-family:var(--mono);font-size:var(--t-xs);color:var(--text-dim);flex:0 0 auto;transition:all var(--fast) var(--ease)}.row-btn:hover{color:var(--gold);border-color:var(--gold-line)}.ledger{background:var(--ink-100);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:var(--s4)}.ledger-line,.ledger-total{display:flex;justify-content:space-between;gap:var(--s3);font-family:var(--mono);font-size:var(--t-xs);padding:var(--s2) 0;color:var(--text-dim)}.ledger-total{border-top:1px solid var(--line-soft);margin-top:var(--s2);padding-top:var(--s3);color:var(--text)}.ledger .t{color:var(--gold);font-variant-numeric:tabular-nums}.cancel-btn{min-height:var(--tap);width:100%;margin-top:var(--s4);border:1px solid var(--line);border-radius:var(--r-full);font-size:var(--t-sm);color:var(--text-dim);transition:all var(--fast) var(--ease)}.cancel-btn:hover{color:var(--text);border-color:var(--text-faint)}.cancel-note{font-size:var(--t-xs);color:var(--text-faint);margin-top:var(--s3);line-height:1.5}.api-strip{display:none;margin-top:var(--s4);padding:var(--s3);border-left:2px solid var(--gold-line);background:var(--gold-soft);border-radius:0 var(--r-sm) var(--r-sm) 0;font-family:var(--mono);font-size:var(--t-xs);color:var(--text-dim);line-height:1.6}.api-strip b{display:block;color:var(--gold);letter-spacing:.08em;margin-bottom:4px}body.hood .api-strip{display:block;animation:rise var(--base) var(--ease-out) both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{box-shadow:0 0 #e3b54a80}50%{box-shadow:0 0 0 9px #e3b54a00}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:200% 0}}.spin{display:inline-block;width:12px;height:12px;margin-right:var(--s2);border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px}.skeleton{border-radius:var(--r-md);background:linear-gradient(90deg,var(--ink-100) 25%,var(--ink-200) 37%,var(--ink-100) 63%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.skeleton-bet{height:190px}.skeleton-row{height:14px;margin:var(--s2) 0}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:color-mix(in srgb,var(--ink-000) 72%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:end center;animation:fade var(--base) var(--ease) both}@media (min-width:640px){.scrim{place-items:center}}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{width:min(100%,440px);background:var(--ink-050);border:1px solid var(--line);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:var(--s6) clamp(var(--s5),5vw,var(--s6));padding-bottom:calc(var(--s6) + env(safe-area-inset-bottom));animation:sheet-up var(--slow) var(--ease-out) both;max-height:92dvh;overflow-y:auto}@media (min-width:640px){.sheet{border-radius:var(--r-xl);animation-name:rise}}@keyframes sheet-up{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.sheet-grip{width:38px;height:4px;border-radius:99px;background:var(--line);margin:0 auto var(--s5)}@media (min-width:640px){.sheet-grip{display:none}}.sheet h2{font-family:var(--serif);font-size:var(--t-xl);line-height:1.15;letter-spacing:-.01em}.sheet .sub{color:var(--text-dim);font-size:var(--t-sm);margin-top:var(--s2)}.providers{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s6)}.provider{min-height:var(--tap);width:100%;display:flex;align-items:center;justify-content:center;gap:var(--s3);border:1px solid var(--line);border-radius:var(--r-full);font-size:var(--t-md);font-weight:550;transition:all var(--fast) var(--ease)}.provider:hover{border-color:var(--text-faint);background:var(--ink-100)}.provider svg{flex:0 0 auto}.provider.apple{background:var(--paper);color:var(--ink-000);border-color:var(--paper)}.provider.apple:hover{filter:brightness(.94);background:var(--paper)}.divider{display:flex;align-items:center;gap:var(--s3);margin:var(--s5) 0;color:var(--text-faint);font-family:var(--mono);font-size:var(--t-xs)}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line-soft)}.field{display:flex;flex-direction:column;gap:var(--s2);margin-bottom:var(--s3)}.field label{font-family:var(--mono);font-size:var(--t-xs);color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase}.field input{min-height:var(--tap);background:var(--ink-100);border:1px solid var(--line);border-radius:var(--r-md);padding:0 var(--s4);font-size:16px;transition:border-color var(--fast) var(--ease)}.field input:focus{outline:none;border-color:var(--gold-line)}.field input[aria-invalid=true]{border-color:#e07a6b99}.field .err{font-size:var(--t-xs);color:var(--red)}.sheet .submit{min-height:var(--tap);width:100%;margin-top:var(--s2);background:var(--gold);color:var(--ink-000);border-radius:var(--r-full);font-weight:650;font-size:var(--t-md);transition:filter var(--fast) var(--ease)}.sheet .submit:hover:not(:disabled){filter:brightness(1.07)}.sheet .submit:disabled{opacity:.5;cursor:default}.sheet .switch{margin-top:var(--s4);text-align:center;font-size:var(--t-sm);color:var(--text-dim)}.sheet .switch button{color:var(--gold);text-decoration:underline;text-underline-offset:3px}.sheet .legal{margin-top:var(--s5);font-size:var(--t-xs);color:var(--text-faint);text-align:center;line-height:1.6}.sheet .note{margin-top:var(--s4);padding:var(--s3);border-radius:var(--r-md);background:#6fcf8e12;border:1px solid rgba(111,207,142,.28);color:var(--green);font-size:var(--t-sm)}.sheet .note.bad{background:#e07a6b0f;border-color:#e07a6b4d;color:var(--red)}.who-btn{min-height:36px;display:inline-flex;align-items:center;gap:var(--s2);border:1px solid var(--line);border-radius:var(--r-full);padding:0 var(--s3);font-family:var(--mono);font-size:var(--t-xs);color:var(--text-dim);transition:all var(--fast) var(--ease)}.who-btn:hover{color:var(--text);border-color:var(--text-faint)}.avatar{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--ink-000);font-size:11px;font-weight:700;flex:0 0 auto}.progress{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;font-family:var(--mono);font-size:var(--t-xs);color:var(--text-faint)}.step{display:inline-flex;align-items:center;gap:var(--s2)}.step .dot{width:7px;height:7px;border-radius:50%;background:var(--ink-300)}.step.done .dot{background:var(--green)}.step.now .dot{background:var(--gold);box-shadow:0 0 0 4px var(--gold-soft)}.step.done{color:var(--text-dim)}.step.now{color:var(--gold)}.step .bar{width:18px;height:1px;background:var(--line)}.extras{display:grid;gap:var(--s3);grid-template-columns:1fr}@media (min-width:720px){.extras{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}.extra{display:flex;flex-direction:column;gap:var(--s2);background:var(--ink-100);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:var(--s4);transition:border-color var(--base) var(--ease),transform var(--base) var(--ease)}.extra:hover{transform:translateY(-2px);border-color:var(--line)}.extra .t{font-size:var(--t-sm);line-height:1.45}.extra .p{font-family:var(--mono);font-size:var(--t-md);color:var(--gold);font-variant-numeric:tabular-nums}.extra .sum{font-size:var(--t-xs);color:var(--text-faint);line-height:1.5}.extra .add{min-height:40px;border:1px solid var(--gold-line);color:var(--gold);border-radius:var(--r-full);font-size:var(--t-sm);font-weight:600;transition:all var(--fast) var(--ease)}.extra .add:hover{background:var(--gold);color:var(--ink-000)}.extra.booked .add{border-color:var(--line);color:var(--green);pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero{position:relative;isolation:isolate;overflow:clip;min-height:100dvh;display:grid;align-content:center;padding:calc(var(--header-h) + var(--s7)) clamp(var(--s4),5vw,var(--s8)) var(--s8)}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;background-image:linear-gradient(to right,rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.028) 1px,transparent 1px);background-size:clamp(64px,8vw,120px) clamp(64px,8vw,120px);-webkit-mask-image:radial-gradient(120% 90% at 50% 40%,#000 30%,transparent 78%);mask-image:radial-gradient(120% 90% at 50% 40%,#000 30%,transparent 78%)}.hero:after{content:"";position:absolute;z-index:-3;top:-30%;right:-30%;bottom:-30%;left:-30%;pointer-events:none;background:radial-gradient(38% 46% at 22% 28%,rgba(227,181,74,.16),transparent 62%),radial-gradient(34% 40% at 82% 66%,rgba(227,181,74,.09),transparent 60%);filter:blur(24px);animation:drift 26s var(--ease) infinite alternate}@keyframes drift{0%{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(3%,2%,0) scale(1.08)}}.hero-mark{font-family:var(--mono);font-size:var(--t-xs);letter-spacing:.28em;text-transform:uppercase;color:var(--text-faint);display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s5)}.hero-mark .num{color:var(--gold)}.hero-mark:after{content:"";flex:1;max-width:120px;height:1px;background:var(--line)}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(44px,10.5vw,148px);line-height:.92;letter-spacing:-.025em;max-width:14ch;text-wrap:balance}.hero h1 em{font-style:italic;color:var(--gold)}.hero h1 .line{display:block;overflow:hidden}.hero h1 .line>span{display:block;animation:reveal 1s var(--ease-out) both}.hero h1 .line:nth-child(2)>span{animation-delay:.09s}.hero h1 .line:nth-child(3)>span{animation-delay:.18s}@keyframes reveal{0%{transform:translateY(102%)}to{transform:none}}.hero-sub{margin-top:var(--s5);max-width:52ch;color:var(--text-dim);font-size:var(--t-lg);line-height:1.5;animation:rise .9s var(--ease-out) .34s both}.hero-sub strong{color:var(--text);font-weight:500}.hero-input{margin-top:clamp(var(--s5),4vw,var(--s7));max-width:720px;animation:rise .9s var(--ease-out) .44s both}.hero-input .wrap{display:flex;align-items:center;gap:var(--s2);background:color-mix(in srgb,var(--ink-100) 88%,transparent);border:1px solid var(--line);border-radius:var(--r-full);padding:var(--s2) var(--s2) var(--s2) var(--s5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color var(--base) var(--ease),box-shadow var(--base) var(--ease)}.hero-input .wrap:focus-within{border-color:var(--gold-line);box-shadow:var(--glow)}.hero-input input{flex:1;min-height:var(--tap);background:none;border:none;font-size:clamp(15px,1.6vw,17px)}.hero-input input:focus{outline:none}.hero-input input::placeholder{color:var(--text-faint)}.hero-input .go{min-height:var(--tap);padding:0 var(--s5);border-radius:var(--r-full);background:var(--gold);color:var(--ink-000);font-weight:650;font-size:var(--t-md);flex:0 0 auto;transition:filter var(--fast) var(--ease),transform var(--fast) var(--ease)}.hero-input .go:hover{filter:brightness(1.07);transform:translate(2px)}.hero-try{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s4);animation:rise .9s var(--ease-out) .54s both}.hero-try button{min-height:38px;padding:0 var(--s3);border:1px solid var(--line-soft);border-radius:var(--r-full);font-size:var(--t-sm);color:var(--text-dim);transition:all var(--fast) var(--ease)}.hero-try button:hover{color:var(--gold);border-color:var(--gold-line)}.hero-proof{display:flex;gap:clamp(var(--s4),4vw,var(--s7));flex-wrap:wrap;margin-top:clamp(var(--s6),6vw,var(--s8));animation:rise .9s var(--ease-out) .64s both}.proof{display:flex;flex-direction:column;gap:2px;min-width:110px}.proof .n{font-family:var(--mono);font-size:var(--t-xl);color:var(--gold);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.proof .l{font-size:var(--t-xs);color:var(--text-faint);line-height:1.45;max-width:22ch}.scroll-cue{position:absolute;left:50%;bottom:var(--s5);transform:translate(-50%);font-family:var(--mono);font-size:var(--t-xs);color:var(--text-faint);letter-spacing:.18em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:var(--s2);animation:rise 1s var(--ease-out) .9s both}.scroll-cue i{display:block;width:1px;height:32px;background:linear-gradient(var(--gold),transparent);animation:cue 2.2s var(--ease) infinite}@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.reg{position:fixed;z-index:1;pointer-events:none;width:11px;height:11px;opacity:.3}.reg:before,.reg:after{content:"";position:absolute;background:var(--gold)}.reg:before{left:50%;top:0;bottom:0;width:1px}.reg:after{top:50%;left:0;right:0;height:1px}.reg.tl{top:14px;left:14px}.reg.tr{top:14px;right:14px}.reg.bl{bottom:14px;left:14px}.reg.br{bottom:14px;right:14px}@media (max-width:640px){.reg{display:none}}.demo-flag{display:inline-flex;align-items:center;gap:var(--s2);font-family:var(--mono);font-size:var(--t-xs);letter-spacing:.06em;color:var(--gold);border:1px solid var(--gold-line);background:var(--gold-soft);border-radius:var(--r-full);padding:5px var(--s3)}@media (min-width:1080px){.hero{grid-template-columns:minmax(0,1.05fr) minmax(400px,.95fr);column-gap:clamp(var(--s6),5vw,var(--s8));align-items:center}.hero>.hero-mark,.hero>h1,.hero>.hero-sub,.hero>.hero-input,.hero>.hero-proof{grid-column:1}.assembling{grid-column:2;grid-row:1 / span 5;align-self:center}}.assembling{display:none}@media (min-width:1080px){.assembling{display:block;animation:rise 1s var(--ease-out) .6s both}}.asm-head{display:flex;align-items:center;gap:var(--s2);font-family:var(--mono);font-size:var(--t-xs);color:var(--text-faint);letter-spacing:.06em;margin-bottom:var(--s3);min-height:18px}.asm-dot{width:6px;height:6px;border-radius:50%;background:var(--text-faint);transition:background var(--base) var(--ease)}.asm-dot[data-live=true]{background:var(--gold);animation:pulse 1.3s ease-in-out infinite}.asm-pings{display:flex;flex-direction:column;gap:1px;margin-bottom:var(--s4)}.asm-ping{display:grid;grid-template-columns:1fr auto auto 52px;gap:var(--s3);align-items:center;font-family:var(--mono);font-size:var(--t-xs);color:var(--text-faint);padding:6px 0;border-bottom:1px solid var(--line-soft);opacity:.28;transform:translate(-6px);transition:opacity var(--base) var(--ease),transform var(--base) var(--ease),color var(--base) var(--ease)}.asm-ping.in{opacity:1;transform:none;color:var(--text-dim)}.asm-ping .k{color:var(--text-faint)}.asm-ping .c{color:var(--text)}.asm-ping .t{color:var(--gold);text-align:right;font-variant-numeric:tabular-nums}.asm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}.asm-card{background:var(--ink-100);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:var(--s3);min-height:150px;display:flex;flex-direction:column;gap:6px;opacity:0;transform:translateY(14px) scale(.985);transition:opacity var(--slow) var(--ease-out),transform var(--slow) var(--ease-out),border-color var(--slow) var(--ease)}.asm-card.in{opacity:1;transform:none}.asm-card.pick{border-color:var(--gold-line);background:linear-gradient(165deg,rgba(227,181,74,.08),var(--ink-100) 60%)}.asm-top{display:flex;flex-direction:column;gap:2px}.asm-name{font-family:var(--serif);font-size:var(--t-sm);line-height:1.15}.asm-card.pick .asm-name{color:var(--gold)}.asm-total{font-family:var(--mono);font-size:var(--t-lg);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.asm-left{font-size:9.5px;color:var(--text-faint);min-height:12px;line-height:1.2}.asm-left.over{color:var(--amber)}.asm-rows{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding-top:6px;border-top:1px solid var(--line-soft)}.asm-row{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:9.5px;color:var(--text-dim);opacity:0;transform:translateY(4px);transition:opacity var(--base) var(--ease-out),transform var(--base) var(--ease-out)}.asm-row.in{opacity:1;transform:none}.asm-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asm-row .chip{font-size:8.5px;padding:1px 5px;border-radius:5px}@media (min-width:1080px){.hero h1{font-size:clamp(52px,6.2vw,104px)}.hero-sub{font-size:var(--t-md);max-width:46ch;margin-top:var(--s4)}.hero-proof{margin-top:var(--s6);gap:var(--s5)}.proof .n{font-size:var(--t-lg)}}@media (max-width:640px){.hero-mark{flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s4)}.hero-mark:after{display:none}.hero-sub{font-size:var(--t-md)}.hero-try button{width:100%;justify-content:flex-start;text-align:left;padding:10px var(--s3);min-height:44px}.hero-try{flex-direction:column}}.hero-art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-4;overflow:hidden;pointer-events:none;animation:art-in 1.6s var(--ease-out) both}@keyframes art-in{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}.hero-art img,.hero-art video{width:100%;height:100%;object-fit:cover;object-position:32% 50%;filter:saturate(.82) contrast(1.04) brightness(.42)}@media (min-width:1080px){.hero-art img,.hero-art video{object-position:18% 50%}}.hero-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,var(--ink-000) 6%,color-mix(in srgb,var(--ink-000) 78%,transparent) 42%,transparent 74%),linear-gradient(to bottom,var(--ink-000) 0%,transparent 22%,transparent 62%,var(--ink-000) 100%)}.hero-art:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}@media (min-width:1080px){.assembling{background:color-mix(in srgb,var(--ink-000) 62%,transparent);-webkit-backdrop-filter:blur(18px) saturate(120%);backdrop-filter:blur(18px) saturate(120%);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:var(--s4)}}.chapter{min-height:min(92dvh,780px);display:grid;align-content:center;padding:var(--s8) clamp(var(--s4),5vw,var(--s8));border-top:1px solid var(--line-soft);position:relative}.chapter-num{font-family:var(--mono);font-size:var(--t-xs);letter-spacing:.28em;color:var(--gold);margin-bottom:var(--s4)}.chapter h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4.6vw,64px);line-height:1.04;letter-spacing:-.02em;max-width:18ch;text-wrap:balance}.chapter h2 em{font-style:italic;color:var(--gold)}.chapter p{margin-top:var(--s4);max-width:56ch;color:var(--text-dim);font-size:var(--t-lg);line-height:1.55}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.reveal.seen{opacity:1;transform:none}.rules{display:grid;gap:var(--s3);margin-top:var(--s6);grid-template-columns:1fr}@media (min-width:760px){.rules{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}.rule{border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:var(--s5);background:var(--ink-100);transition:border-color var(--base) var(--ease),transform var(--base) var(--ease)}.rule:hover{border-color:var(--gold-line);transform:translateY(-3px)}.rule .r{font-family:var(--mono);font-size:var(--t-xs);color:var(--gold);letter-spacing:.14em}.rule h3{font-family:var(--serif);font-weight:400;font-size:var(--t-lg);margin:var(--s2) 0 var(--s2)}.rule p{margin:0;font-size:var(--t-sm);color:var(--text-dim);max-width:none}.closer{text-align:center;place-items:center}.closer h2{max-width:22ch;margin-inline:auto}.closer .cta{margin-top:var(--s6);min-height:var(--tap);padding:0 var(--s7);background:var(--gold);color:var(--ink-000);border-radius:var(--r-full);font-weight:650;font-size:var(--t-lg);transition:filter var(--fast) var(--ease),transform var(--fast) var(--ease)}.closer .cta:hover{filter:brightness(1.07);transform:translateY(-2px)}
