/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */:root{--ink:#0b0c0c;--surface:#111211;--paper:#eae9e3;--muted:#aaa9a4;--line:#eae9e329;--line-strong:#eae9e357;--accent:#f05a42;--accent-ink:#120e0d;--error:#ff8a76;--disabled:#676863;--ease-out:cubic-bezier(.22,1,.36,1);color-scheme:dark}*{box-sizing:border-box}html{scrollbar-color:var(--line-strong) var(--ink)}body,html{background:var(--ink)}body{min-width:320px;color:var(--paper);font-family:var(--font-geist-sans),"PingFang SC","Microsoft YaHei",sans-serif;text-rendering:optimizelegibility;margin:0}::selection{background:var(--accent);color:var(--accent-ink)}button,input{font:inherit;touch-action:manipulation}button{color:inherit}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.still-app{background:var(--ink);min-height:100svh;position:relative;overflow:hidden}.still-app:after{content:"";z-index:1000;mix-blend-mode:soft-light;opacity:.022;pointer-events:none;background:url(/images/still-film-grain.avif) 50%/384px 384px;position:fixed;inset:0}.app-surface,.landing-shell{min-height:100svh}.landing-shell{background:var(--ink);isolation:isolate;grid-template-rows:88px 34px 1fr 42px;display:grid;position:relative;overflow:hidden}.site-header{z-index:3;text-shadow:0 2px 22px #000000b3;justify-content:space-between;align-items:center;padding:0 clamp(30px,3.6vw,62px);display:flex;position:relative}.login-link,.wordmark{background:0 0;border:0}.wordmark{letter-spacing:.16em;padding:8px 0;font-size:clamp(2rem,3vw,3.3rem);font-weight:610;line-height:1;display:inline-block}.login-link{min-height:44px;color:var(--muted);align-items:center;gap:32px;padding:0;font-size:1rem;text-decoration:none;display:flex}.login-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.login-link svg{width:28px;height:28px}.metadata-rail{z-index:3;color:var(--muted);font-family:var(--font-geist-mono),monospace;letter-spacing:.06em;text-transform:uppercase;background:#0405052e;border-top:1px solid #eae9e338;border-bottom:1px solid #eae9e338;grid-template-columns:1fr 1.4fr 1fr auto;align-items:center;padding:0 clamp(30px,3.6vw,62px);font-size:.66rem;display:grid;position:relative}.hero-band{z-index:0;background:#141616;margin:0;position:absolute;inset:0;overflow:hidden}.hero-band img{object-fit:cover;object-position:center 50%;filter:saturate(.76)contrast(1.07)brightness(.82);transition:transform .85s var(--ease-out),filter .85s ease-out;transform:scale(1.035)}.hero-band .hero-image-mobile{display:none}.landing-shell[data-revealed=true] .hero-band img{filter:saturate(.82)contrast(1.06)brightness(.86);transform:scale(1)}.hero-shade{background:linear-gradient(90deg,#040505f5,#040505c7 24%,#04050538 55%,#04050514 76%),linear-gradient(#0405054d,#04050529 42%,#040505b8 75%,#040505f5),radial-gradient(circle at 78% 32%,#0000 0,#0405050f 42%,#0405056b 100%);position:absolute;inset:0}.hero-object-plane{z-index:2;pointer-events:none;width:max(100vw,177.683vh);height:max(100vh,56.2799vw);transition:transform .85s var(--ease-out);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1.035)}.landing-shell[data-revealed=true] .hero-object-plane{transform:translate(-50%,-50%)scale(1)}.lockscreen-phone{cursor:default;pointer-events:auto;touch-action:manipulation;background:0 0;border:0;width:20%;height:44%;padding:0;position:absolute;top:23.5%;left:56.2%}.phone-live-screen{z-index:1;clip-path:polygon(36% 6%,90% 10%,65% 90%,10% 82%);isolation:isolate;opacity:0;background:0 0;transition:opacity .17s ease-out;position:absolute;inset:0;overflow:hidden}.lockscreen-phone[data-phone-phase=notified] .phone-live-screen,.lockscreen-phone[data-phone-phase=vibrating] .phone-live-screen{opacity:1}.lockscreen-phone[data-phone-phase=sleeping] .phone-live-screen{opacity:0;transition-duration:.28s}.phone-screen-content{z-index:2;transform-origin:61% 9%;position:absolute;inset:0;transform:matrix(1,.17,-.27,.98,0,0)}.phone-lock-time{color:#f6f7f3d1;font-family:var(--font-geist-mono),monospace;font-variant-numeric:tabular-nums;letter-spacing:-.07em;text-shadow:0 1px 8px #0000008f;transition:opacity .17s ease-out 40ms,transform .22s var(--ease-out) 40ms;font-size:clamp(.9rem,1.25vw,1.2rem);font-weight:310;line-height:1;top:11.5%;left:36%;right:10%;transform:translateY(-3px)}.phone-lock-time,.phone-notification{opacity:0;text-align:center;position:absolute}.phone-notification{color:#fafaf7eb;transition:opacity .18s ease-out 70ms,transform .22s var(--ease-out) 70ms;background:#232727ad;border:.5px solid #ffffff14;border-radius:5px;padding:4px 8px;display:block;top:21.5%;left:38%;right:16%;transform:translateY(-4px);box-shadow:0 3px 10px #0000001f}.lockscreen-phone[data-phone-phase=notified] .phone-lock-time,.lockscreen-phone[data-phone-phase=notified] .phone-notification,.lockscreen-phone[data-phone-phase=vibrating] .phone-lock-time,.lockscreen-phone[data-phone-phase=vibrating] .phone-notification{opacity:1;transform:translate(0)}.phone-notification strong{letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.64rem,.74vw,.8rem);font-weight:400;line-height:1.35;display:block;overflow:hidden}.lockscreen-phone:focus-visible{outline:none}.lockscreen-phone[data-phone-phase=idle]:focus-visible .phone-live-screen{opacity:.1}@media (hover:hover) and (pointer:fine){.lockscreen-phone:hover{cursor:pointer}.lockscreen-phone[data-phone-phase=vibrating][data-vibrates=true] .phone-screen-content{animation:phone-screen-haptic .22s linear both}}@keyframes phone-screen-haptic{0%,to{transform:matrix(1,.17,-.27,.98,0,0)translate(0)}24%{transform:matrix(1,.17,-.27,.98,0,0)translate(-1px)}48%{transform:matrix(1,.17,-.27,.98,0,0)translate(1px)}72%{transform:matrix(1,.17,-.27,.98,0,0)translate(-.5px)}}@media (max-width:899px){.hero-band .hero-image-desktop{display:none}.hero-band .hero-image-mobile{display:block}.lockscreen-phone{display:none}}.landing-copy{z-index:3;grid-template-columns:minmax(430px,1.14fr) minmax(270px,.7fr) minmax(280px,.64fr);align-self:end;align-items:end;gap:clamp(28px,4vw,76px);padding:9vh clamp(30px,4.8vw,82px) clamp(34px,6vh,72px);display:grid;position:relative}.playhead{background:linear-gradient(var(--accent),var(--paper));opacity:.72;transform-origin:top;width:1px;height:clamp(52px,9vh,92px);transition:transform .7s var(--ease-out) .26s;position:absolute;top:1vh;left:53%;transform:scaleY(0)}.landing-shell[data-revealed=true] .playhead{transform:scaleY(1)}.landing-copy h1{letter-spacing:-.038em;text-shadow:0 4px 34px #000000b8;text-wrap:balance;max-width:720px;margin:0;font-size:clamp(2.55rem,4vw,4.9rem);font-weight:520;line-height:1.08}.landing-copy p{color:#d0cfc9;text-shadow:0 2px 20px #000000db;max-width:31ch;margin:0;font-size:clamp(.98rem,1.2vw,1.24rem);line-height:1.85}.primary-action{border:1px solid var(--accent);min-height:92px;color:var(--accent);cursor:pointer;transition:background-color .26s var(--ease-out),color .22s ease-out,border-color .22s ease-out,transform .1s ease-out;background:#050606b8;border-radius:2px;justify-content:space-between;align-items:center;gap:22px;padding:13px 28px;font-size:1.06rem;font-weight:530;display:flex;position:relative;overflow:hidden}.film-perforations{opacity:.42;height:7px;transition:transform .32s var(--ease-out),opacity .22s ease-out;background:repeating-linear-gradient(90deg,currentColor 0 8px,#0000 8px 16px);position:absolute;left:-20px;right:-20px}.film-perforations-top{top:7px}.film-perforations-bottom{bottom:7px}.film-action-copy{z-index:1;text-align:left;min-width:9em;display:grid;position:relative}.film-action-copy>span{transition:opacity .18s ease-out,transform .26s var(--ease-out);grid-area:1/1}.film-copy-active{opacity:0;transform:translate(16px)}.film-playhead{z-index:1;width:34px;height:34px;transition:transform .26s var(--ease-out);border-left:1px solid;place-items:center;display:grid;position:relative}.film-playhead svg{width:29px;height:29px}@media (hover:hover) and (pointer:fine){.primary-action:hover{background:var(--accent);color:var(--accent-ink)}.primary-action:hover .film-perforations{opacity:.74;transform:translate(-16px)}.primary-action:hover .film-copy-idle{opacity:0;transform:translate(-16px)}.primary-action:hover .film-copy-active{opacity:1;transform:translate(0)}.primary-action:hover .film-playhead{transform:translate(6px)}}.primary-action:focus-visible{background:var(--accent);color:var(--accent-ink);outline:2px solid var(--paper);outline-offset:4px}.primary-action:active{background:var(--accent);color:var(--accent-ink);transform:translateY(1px)}.primary-action:active .film-copy-idle{opacity:0;transform:translate(-16px)}.primary-action:active .film-copy-active{opacity:1;transform:translate(0)}.landing-reveal{opacity:0;transition:opacity .36s var(--ease-out),transform .4s var(--ease-out);transform:translateY(18px)}.landing-reveal-header,.landing-reveal-meta{transform:translateY(-12px)}.landing-shell[data-revealed=true] .landing-reveal{opacity:1;transform:translateY(0)}.landing-reveal-header{transition-delay:40ms}.landing-reveal-meta{transition-delay:.11s}.landing-reveal-title{transition-delay:.17s}.landing-reveal-copy{transition-delay:.26s}.landing-reveal-action{transition-delay:.35s}.landing-reveal-footer{transition-delay:.42s}.landing-footer{z-index:3;color:#aaa9a4;font-family:var(--font-geist-mono),monospace;letter-spacing:.05em;border-top:1px solid #eae9e333;justify-content:space-between;align-items:center;padding:0 clamp(30px,3.6vw,62px);font-size:.62rem;display:flex;position:relative}.workspace-shell{background:var(--surface);grid-template-rows:86px 1fr 38px;min-height:100svh;display:grid}.workspace-header{border-bottom:1px solid var(--line);grid-template-columns:240px 1fr auto;align-items:center;padding:0 36px;display:grid}.workspace-wordmark{cursor:pointer;letter-spacing:.16em;background:0 0;border:0;justify-self:start;padding:8px 0;font-size:1.42rem;font-weight:620}.workspace-header>span{color:var(--muted);font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;font-size:.66rem}.icon-button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:2px;place-items:center;width:44px;height:44px;transition:border-color .16s ease-out,color .16s ease-out;display:grid}.icon-button:hover{border-color:var(--line-strong);color:var(--accent)}.icon-button svg{width:20px;height:20px}.workspace-grid{grid-template-columns:minmax(230px,18vw) 1fr;min-height:0;display:grid}.workspace-aside{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;padding:54px 36px 32px;display:flex}.stage-rail{gap:0;margin:0;padding:0;list-style:none;display:grid}.stage-mobile-summary{display:none}.stage-rail li{color:#8c8d88;grid-template-columns:32px 1fr;align-items:start;gap:12px;min-height:68px;font-size:.82rem;transition:color .18s ease-out;display:grid;position:relative}.stage-rail li:after{background:var(--line);content:"";width:1px;position:absolute;top:26px;bottom:0;left:12px}.stage-rail li:last-child:after{display:none}.stage-rail li[data-active=true]{color:var(--paper)}.stage-rail li[data-complete=true]{color:var(--muted)}.stage-index{border:1px solid var(--line);background:var(--surface);width:25px;height:25px;font-family:var(--font-geist-mono),monospace;font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:.57rem;display:grid}.stage-index svg{width:11px;height:11px}.stage-rail li[data-active=true] .stage-index{border-color:var(--accent);color:var(--accent)}.stage-rail li[data-complete=true] .stage-index{border-color:var(--line-strong)}.workspace-aside>p{max-width:21ch;color:var(--muted);margin:0;font-size:.82rem;line-height:1.75}.workspace-main{justify-content:center;min-width:0;padding:clamp(62px,7vh,92px) clamp(48px,7vw,120px);position:relative;overflow:auto}.back-action,.workspace-main{align-items:center;display:flex}.back-action{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;gap:9px;padding:0;font-size:.75rem;transition:color .16s ease-out;position:absolute;top:28px;left:clamp(48px,7vw,120px)}.back-action:hover{color:var(--paper)}.back-action svg{width:16px;height:16px}.stage-motion{width:min(100%,880px)}.stage-content{gap:clamp(28px,4vh,44px);width:100%;display:grid}.stage-heading{grid-template-columns:minmax(300px,1.25fr) minmax(240px,.75fr);align-items:end;gap:clamp(30px,5vw,80px);display:grid}.stage-heading h1{letter-spacing:-.04em;text-wrap:balance;max-width:9.5ch;margin:0;font-size:clamp(3rem,5.3vw,5.7rem);font-weight:490;line-height:.98}.stage-heading p{max-width:37ch;color:var(--muted);margin:0 0 4px;font-size:1rem;line-height:1.8}.trust-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#aaa9a4;grid-template-columns:22px 1fr;gap:14px;padding:16px 0;display:grid}.trust-note svg{width:19px;height:19px;color:var(--accent);margin-top:2px}.trust-note p{max-width:72ch;margin:0;font-size:1rem;line-height:1.7}.file-drop{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:#eae9e305;min-height:156px;transition:background-color .16s ease-out,border-color .16s ease-out}.file-drop[data-dragging=true]{border-color:var(--accent);background:#f05a420d}.file-drop:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:4px}.file-drop-label{cursor:pointer;align-content:center;place-items:center;gap:7px;min-height:156px;display:grid}.file-drop-label svg{width:28px;height:28px;color:var(--accent);margin-bottom:6px}.file-drop-label strong{font-size:.94rem;font-weight:520}.file-drop-label span{color:var(--muted);font-size:.76rem}.selected-file{grid-template-columns:40px 1fr 44px;align-items:center;gap:20px;min-height:156px;padding:0 24px;display:grid}.selected-file>svg{width:32px;height:32px;color:var(--accent)}.selected-file div{gap:7px;display:grid}.selected-file strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.02rem;font-weight:520;overflow:hidden}.selected-file span{color:var(--muted);font-family:var(--font-geist-mono),monospace;font-size:.74rem}.selected-file button{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;transition:color .16s ease-out;display:grid}.selected-file button:hover{color:var(--paper)}.field-error{color:#ff8a76;margin:-26px 0 0;font-size:1rem}.export-help{border-bottom:1px solid var(--line);max-width:600px;color:var(--muted)}.export-help summary{cursor:pointer;min-height:44px;color:var(--paper);padding:12px 0;font-size:.78rem}.export-help p{margin:4px 0 18px;font-size:1rem;line-height:1.7}.ready-actions,.stage-actions{justify-content:flex-end;gap:16px;display:flex}.workspace-primary{border:1px solid var(--accent);background:var(--accent);min-width:210px;color:var(--accent-ink);border-radius:2px;justify-content:space-between;gap:22px;padding:0 22px;font-size:.9rem;font-weight:560;transition:background-color .16s ease-out,color .16s ease-out,transform .1s ease-out}.workspace-primary,.workspace-secondary{min-height:58px;cursor:pointer;align-items:center;display:inline-flex}.workspace-secondary{border:1px solid var(--line-strong);min-width:180px;color:var(--paper);background:0 0;border-radius:2px;justify-content:center;padding:0 20px;font-size:.88rem;transition:border-color .16s ease-out,color .16s ease-out,transform .1s ease-out}.workspace-secondary:hover{border-color:var(--accent);color:var(--accent)}.workspace-secondary:active{transform:translateY(1px)}.workspace-primary:hover:not(:disabled){color:var(--accent);background:0 0}.workspace-primary:active:not(:disabled){transform:translateY(1px)}.workspace-primary:disabled{border-color:var(--line);color:#676863;cursor:not-allowed;background:#eae9e30d}.workspace-primary svg{width:22px;height:22px}.participant-fieldset{border:0;gap:0;margin:0;padding:0;display:grid}.participant-fieldset legend{color:var(--muted);margin-bottom:12px;font-size:.72rem}.participant-row{border-top:1px solid var(--line);cursor:pointer;grid-template-columns:38px 1fr auto;align-items:center;gap:20px;min-height:82px;transition:color .16s ease-out,background-color .16s ease-out;display:grid}.participant-row:last-child{border-bottom:1px solid var(--line)}.participant-row:hover,.participant-row[data-checked=true]{background:#eae9e306}.participant-row input{opacity:0;width:1px;height:1px;position:absolute}.participant-row:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.participant-mark{border:1px solid var(--line-strong);width:34px;height:34px;font-family:var(--font-geist-mono),monospace;border-radius:50%;place-items:center;font-size:.7rem;transition:border-color .16s ease-out,color .16s ease-out;display:grid}.participant-row[data-checked=true] .participant-mark{border-color:var(--accent);color:var(--accent)}.participant-row>span:nth-of-type(2){gap:4px;display:grid}.participant-row strong{font-size:.9rem;font-weight:520}.participant-row small,.radio-copy{color:var(--muted);font-size:.78rem;font-weight:400}.radio-copy{padding-right:16px}.participant-row[data-checked=true] .radio-copy{color:var(--accent)}.text-field{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:160px 1fr;align-items:center;display:grid}.text-field>span{color:var(--muted);font-size:.78rem}.text-field input{min-height:72px;color:var(--paper);caret-color:var(--accent);background:0 0;border:0;outline:0;padding:0;font-size:1.3rem}.text-field input::placeholder{color:#8c8d88}.text-field:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:4px}.text-field small{color:var(--muted);grid-column:2;padding-bottom:12px;font-size:.75rem}.story-field{margin-top:32px}.story-field-foot,.story-field-heading{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.story-field-heading{margin-bottom:16px}.story-field-heading label{color:var(--paper);font-size:1.1rem}.story-field-foot span,.story-field-heading span{color:var(--muted);white-space:nowrap;font-size:.875rem}.story-field textarea{resize:vertical;border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:240px;color:var(--paper);caret-color:var(--accent);font:inherit;border-radius:2px;padding:20px;font-size:16px;line-height:1.85;display:block}.story-field textarea::placeholder{color:var(--muted);opacity:1}.story-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.story-field-foot{margin-top:12px}.story-field-foot p{max-width:48ch;color:var(--muted);margin:0;font-size:16px;line-height:1.7}.persona-review{border-block:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;padding:24px 0;font-size:16px;line-height:1.85}.saved-characters{max-width:880px;margin:32px auto;padding:0 24px 48px}.saved-characters h2{font-size:1.3rem;font-weight:500}.saved-character-row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:72px;color:var(--paper);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:24px;padding:16px 0;display:flex}.saved-character-row span{color:var(--muted)}.saved-character-row:disabled{cursor:wait;opacity:.7}.channel-new-character{border:1px solid var(--line-strong);min-height:44px;color:var(--paper);cursor:pointer;background:0 0;margin-top:24px;padding:0 18px}.app-error{z-index:100;background:var(--surface);border:1px solid var(--error);color:var(--paper);padding:16px;position:fixed;bottom:28px;left:24px;right:24px}@media (max-width:600px){.story-field-foot{flex-wrap:wrap;gap:8px}.story-field textarea{min-height:340px;padding:16px}}.avatar-picker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:104px minmax(0,1fr) auto;align-items:center;gap:24px;padding:20px 0;display:grid}.paired-avatar-pickers{gap:12px;display:grid}.avatar-picker:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:4px}.avatar-identity{border:1px solid var(--line-strong);background:#eae9e309;border-radius:50%;place-items:center;width:104px;height:104px;display:grid;overflow:hidden}.avatar-identity img{object-fit:cover;width:100%;height:100%}.avatar-identity span{color:var(--accent);font-size:2rem;font-weight:480}.avatar-picker-copy{gap:7px;min-width:0;display:grid}.avatar-picker-copy strong{font-size:.92rem;font-weight:520}.avatar-picker-copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.avatar-picker-copy small{max-width:34ch;color:var(--muted);font-size:.72rem;line-height:1.55}.avatar-picker-actions{align-items:stretch;gap:8px;display:flex}.avatar-picker-actions button,.avatar-select{border:1px solid var(--line-strong);min-height:46px;color:var(--paper);cursor:pointer;background:0 0;border-radius:2px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.76rem;display:inline-flex}.avatar-picker-actions button{color:var(--muted)}.avatar-picker-actions button:hover,.avatar-select:hover{border-color:var(--accent);color:var(--accent)}.avatar-picker-actions button svg,.avatar-select svg{width:17px;height:17px}.avatar-error{grid-column:2/-1;margin:-8px 0 0}.identity-disclosure{border-left:2px solid var(--accent);max-width:62ch;color:var(--muted);margin:0;padding-left:16px;font-size:.82rem;line-height:1.75}.prepare-content{max-width:820px}.prepare-content>p.trust-note{line-height:1.7;display:block}.preparation-list{display:grid}.preparation-row{border-top:1px solid var(--line);color:#8c8d88;grid-template-columns:44px 1fr auto;align-items:center;min-height:68px;display:grid}.preparation-row:last-child{border-bottom:1px solid var(--line)}.preparation-row[data-active=true]{color:var(--paper)}.preparation-row[data-done=true]{color:#aaa9a4}.preparation-symbol{font-family:var(--font-geist-mono),monospace;font-variant-numeric:tabular-nums;font-size:.64rem}.preparation-symbol svg{width:15px;height:15px;color:var(--accent)}.preparation-row small{color:inherit;font-family:var(--font-geist-mono),monospace;font-size:.75rem}.edit-line{background:var(--line);height:1px;overflow:hidden}.edit-line span{background:var(--accent);transform-origin:0;width:100%;height:100%;transition:transform .4s var(--ease-out);display:block;transform:scaleX(0)}.edit-line[data-progress="1"] span{transform:scaleX(.33333)}.edit-line[data-progress="2"] span{transform:scaleX(.66666)}.edit-line[data-progress="3"] span{transform:scaleX(1)}.prototype-status{color:var(--muted);margin:-28px 0 0;font-size:1rem}.connect-layout{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(230px,.7fr) 1fr;align-items:center;gap:clamp(38px,7vw,100px);padding:34px 0;display:grid}.qr-demo{background:var(--paper);width:min(100%,270px);color:var(--accent-ink);font-family:var(--font-geist-mono),monospace;text-align:center;gap:10px;padding:16px;font-size:.6rem;display:grid}.qr-cells{aspect-ratio:1;grid-template-columns:repeat(11,1fr);gap:3px;display:grid}.qr-cells span{background:0 0}.qr-cells span[data-active=true]{background:var(--accent-ink)}.connect-notes>svg{width:38px;height:38px;color:var(--accent);margin-bottom:22px}.connect-notes h2{margin:0 0 14px;font-size:1.35rem;font-weight:520}.connect-notes>p{max-width:41ch;color:var(--muted);margin:0 0 28px;font-size:1rem;line-height:1.75}.character-sheet,.connect-notes dl{margin:0}.character-sheet div,.connect-notes dl div{border-top:1px solid var(--line);grid-template-columns:120px 1fr;gap:16px;padding:12px 0;display:grid}.character-sheet dt,.connect-notes dt{color:var(--muted);font-size:.78rem}.character-sheet dd,.connect-notes dd{overflow-wrap:anywhere;margin:0;font-size:.88rem}.profile-preview{border-top:1px solid var(--accent);border-bottom:1px solid var(--line);gap:12px;padding:20px 0;display:grid}.profile-preview>div{color:var(--accent);font-family:var(--font-geist-mono),monospace;justify-content:space-between;align-items:center;font-size:.7rem;display:flex}.profile-preview button{width:44px;height:44px;color:var(--paper);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.profile-preview h2{margin:4px 0 8px;font-size:1.4rem;font-weight:520}.profile-preview p{color:var(--muted);margin:0;font-size:1rem}.completion-mark{border:1px solid var(--accent);width:54px;height:54px;color:var(--accent);animation:completion-register .52s var(--ease-out) both;border-radius:50%;place-items:center;display:grid}.completion-mark svg{width:21px;height:21px}.ready-content:before{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;animation:completion-line .42s var(--ease-out) .11s both;transform:scaleX(0)}.character-sheet{border-bottom:1px solid var(--line)}.character-sheet div{align-items:center;min-height:54px}.ready-actions{justify-content:space-between}.delete-action{color:#8f8f8a;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;min-height:48px;padding:0;font-size:.72rem;transition:color .16s ease-out;display:inline-flex}.delete-action:hover{color:#ff8a76}.delete-action svg{width:17px;height:17px}.workspace-footer{border-top:1px solid var(--line);color:#8c8d88;font-family:var(--font-geist-mono),monospace;letter-spacing:.04em;justify-content:space-between;align-items:center;padding:0 36px;font-size:.72rem;display:flex}.confirm-scrim{z-index:180;background:#050606d1;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--line-strong);background:var(--surface);border-radius:2px;gap:22px;width:min(100%,520px);padding:34px;display:grid;box-shadow:0 28px 80px #0000006b}.confirm-dialog h2{letter-spacing:-.03em;margin:0;font-size:2rem;font-weight:520}.confirm-dialog p{max-width:38ch;color:var(--muted);margin:0;font-size:1rem;line-height:1.7}.confirm-dialog>div{justify-content:flex-end;gap:12px;display:flex}.dialog-danger,.dialog-secondary{cursor:pointer;border-radius:2px;min-height:48px;padding:0 18px}.dialog-secondary{border:1px solid var(--line-strong);background:0 0}.dialog-danger{color:var(--accent-ink);background:#ff8a76;border:1px solid #ff8a76}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.entry-sequence{z-index:200;cursor:pointer;width:100%;height:100%;color:var(--paper);background:#070908;border:0;padding:0;display:block;position:fixed;inset:0;overflow:hidden}.entry-panel{z-index:0;width:50.05%;animation-duration:.38s;animation-delay:3.82s;animation-fill-mode:forwards;animation-timing-function:var(--ease-out);background:#070908;position:absolute;top:0;bottom:0}.entry-panel-left{transform-origin:0;animation-name:memory-curtain-open;left:0}.entry-panel-right{transform-origin:100%;animation-name:memory-curtain-open;right:0}.entry-vignette{z-index:1;opacity:0;background:radial-gradient(circle,#32433914,#000000b8 74%),linear-gradient(110deg,#4ec4710d,#0000 40%,#f05a420f);animation:memory-vignette 3.95s ease-out both;position:absolute;inset:0}.memory-film{z-index:2;opacity:0;will-change:transform,opacity;background:repeating-linear-gradient(90deg,#eae9e370 0 8px,#0000 8px 16px) 0 5px/auto 6px repeat-x,repeating-linear-gradient(90deg,#eae9e370 0 8px,#0000 8px 16px) left bottom 5px/auto 6px repeat-x,#080a09eb;border:1px solid #eae9e345;grid-auto-columns:132px;grid-auto-flow:column;gap:7px;height:92px;padding:15px 12px;display:grid;position:absolute;box-shadow:0 16px 60px #00000085}.memory-film i{color:#eae9e36b;font-family:var(--font-geist-mono),monospace;background:linear-gradient(135deg,#67c2821f,#0000 55%),#eae9e306;border-left:1px solid #eae9e32e;border-right:1px solid #eae9e32e;justify-content:flex-end;align-items:flex-end;padding:7px;font-size:.56rem;font-style:normal;display:flex}.memory-film-a{width:76%;animation:film-rush-a 2.1s cubic-bezier(.16,.84,.22,1) 40ms both;top:14%;left:-58%}.memory-film-b{width:68%;animation:film-rush-b 2.2s cubic-bezier(.16,.84,.22,1) .5s both;top:58%;right:-64%}.memory-film-c{width:58%;animation:film-rush-c 2.1s cubic-bezier(.16,.84,.22,1) 1.1s both;top:3%;left:55%}.memory-film-d{width:58%;animation:film-rush-d 1.9s cubic-bezier(.16,.84,.22,1) 1.75s both;top:76%;left:3%}.memory-field{z-index:3;pointer-events:none;position:absolute;inset:0}.memory-bubble{letter-spacing:-.01em;opacity:0;will-change:transform,opacity;min-height:48px;animation-duration:1.05s;animation-timing-function:var(--ease-out);border-radius:7px;align-items:center;padding:0 20px;font-size:clamp(.9rem,1.45vw,1.34rem);font-weight:510;animation-fill-mode:both;display:inline-flex;position:absolute;box-shadow:0 18px 54px #00000057}.memory-bubble[data-memory-kind=romantic]{font-weight:560}.memory-bubble[data-memory-kind=family]{font-size:clamp(.82rem,1.24vw,1.1rem)}.memory-bubble:after{content:"";border-top:7px solid #0000;border-bottom:7px solid #0000;width:0;height:0;position:absolute;top:17px}.memory-bubble-out{color:#10200d;background:#95ec69}.memory-bubble-out:after{border-left:9px solid #95ec69;right:-8px}.memory-bubble-in{color:#151615;background:#f2f2ee}.memory-bubble-in:after{border-right:9px solid #f2f2ee;left:-8px}.memory-bubble-lane-east{animation-name:bubble-east}.memory-bubble-lane-west{animation-name:bubble-west}.memory-bubble-lane-north{animation-name:bubble-north}.memory-bubble-lane-south{animation-name:bubble-south}.memory-wave-2.memory-bubble-lane-east{animation-name:bubble-east-dense}.memory-wave-2.memory-bubble-lane-west{animation-name:bubble-west-dense}.memory-wave-2.memory-bubble-lane-north{animation-name:bubble-north-dense}.memory-wave-2.memory-bubble-lane-south{animation-name:bubble-south-dense}.memory-wave-1{animation-duration:1.25s}.memory-wave-2{animation-duration:1.8s}.memory-wave-3{animation-duration:1.05s}.memory-bubble-1{animation-delay:.12s;top:11%;left:7%}.memory-bubble-2{animation-delay:.21s;top:25%;right:8%}.memory-bubble-3{animation-delay:.3s;top:52%;left:18%}.memory-bubble-4{animation-delay:.39s;top:69%;right:17%}.memory-bubble-5{animation-delay:.48s;top:37%;left:38%}.memory-bubble-6{animation-delay:.57s;top:8%;right:31%}.memory-bubble-7{animation-delay:.66s;top:82%;left:10%}.memory-bubble-8{animation-delay:.75s;top:55%;right:3%}.memory-bubble-9{animation-delay:.8s;top:16%;left:15%}.memory-bubble-10{animation-delay:.9s;top:31%;right:4%}.memory-bubble-11{animation-delay:1s;top:61%;left:6%}.memory-bubble-12{animation-delay:1.1s;top:76%;right:26%}.memory-bubble-13{animation-delay:1.2s;top:44%;left:34%}.memory-bubble-14{animation-delay:1.3s;top:7%;right:39%}.memory-bubble-15{animation-delay:1.4s;top:85%;left:32%}.memory-bubble-16{animation-delay:1.5s;top:49%;right:8%}.memory-bubble-17{animation-delay:2.2s;top:14%;left:5%}.memory-bubble-18{animation-delay:2.29s;top:28%;right:7%}.memory-bubble-19{animation-delay:2.38s;top:62%;left:13%}.memory-bubble-20{animation-delay:2.47s;top:75%;right:19%}.memory-bubble-21{animation-delay:2.56s;top:40%;left:40%}.memory-bubble-22{animation-delay:2.65s;top:8%;right:30%}.memory-bubble-23{animation-delay:2.74s;top:83%;left:35%}.memory-bubble-24{animation-delay:2.83s;top:51%;right:2%}.entry-convergence{z-index:4;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.entry-convergence i{background:var(--accent);opacity:0;width:min(72vw,980px);height:1px;animation:convergence-line .65s var(--ease-out) 3.15s both;position:absolute}.entry-convergence i:nth-child(2){animation-name:convergence-line-vertical}.entry-convergence i:nth-child(3){border:1px solid var(--accent);background:0 0;width:12px;height:12px;animation-name:convergence-dot}.entry-logo-lockup{z-index:5;opacity:0;pointer-events:none;animation:memory-logo .7s var(--ease-out) 3.46s both;place-content:center;justify-items:center;display:grid;position:absolute;inset:0}.entry-logo-lockup i{background:var(--accent);width:1px;height:54px;margin-bottom:20px}.entry-logo-lockup strong{letter-spacing:.2em;font-size:clamp(3.3rem,8vw,7.8rem);font-weight:620;line-height:.9}.entry-logo-lockup small{color:var(--muted);letter-spacing:.12em;margin-top:24px;font-size:clamp(.74rem,1vw,.92rem);font-weight:420}@keyframes memory-curtain-open{to{transform:scaleX(0)}}@keyframes memory-vignette{0%{opacity:0}12%,78%{opacity:1}to{opacity:0}}@keyframes film-rush-a{0%{opacity:0;transform:translate(-35vw,8vh)rotate(-8deg)scale(1.12)}12%,74%{opacity:.78}to{opacity:0;transform:translate(150vw,-18vh)rotate(-2deg)scale(.84)}}@keyframes film-rush-b{0%{opacity:0;transform:translate(32vw)rotate(7deg)scale(.82)}12%,76%{opacity:.66}to{opacity:0;transform:translate(-154vw,-12vh)rotate(1deg)scale(1.08)}}@keyframes film-rush-c{0%{opacity:0;transform:translate(18vw,-42vh)rotate(82deg)scale(.72)}14%,73%{opacity:.52}to{opacity:0;transform:translate(-24vw,118vh)rotate(96deg)scale(1.04)}}@keyframes film-rush-d{0%{opacity:0;transform:translate(-44vw,32vh)rotate(-18deg)scale(1.15)}16%,70%{opacity:.48}to{opacity:0;transform:translate(132vw,-48vh)rotate(-5deg)scale(.74)}}@keyframes bubble-east{0%{opacity:0;transform:translate(-40vw,10vh)scale(1.18)}16%,62%{opacity:1}to{opacity:0;transform:translate(58vw,-16vh)scale(.82)}}@keyframes bubble-west{0%{opacity:0;transform:translate(42vw,-14vh)scale(.78)}18%,64%{opacity:.94}to{opacity:0;transform:translate(-56vw,18vh)scale(1.12)}}@keyframes bubble-north{0%{opacity:0;transform:translate(8vw,42vh)scale(.74)}16%,62%{opacity:.96}to{opacity:0;transform:translate(-12vw,-52vh)scale(1.16)}}@keyframes bubble-south{0%{opacity:0;transform:translate(-6vw,-40vh)scale(1.12)}18%,64%{opacity:.9}to{opacity:0;transform:translate(16vw,54vh)scale(.8)}}@keyframes bubble-east-dense{0%{opacity:0;transform:translate(-18vw,5vh)scale(1.08)}12%,78%{opacity:1}to{opacity:0;transform:translate(24vw,-7vh)scale(.9)}}@keyframes bubble-west-dense{0%{opacity:0;transform:translate(20vw,-6vh)scale(.9)}12%,78%{opacity:.96}to{opacity:0;transform:translate(-24vw,8vh)scale(1.08)}}@keyframes bubble-north-dense{0%{opacity:0;transform:translate(4vw,18vh)scale(.9)}12%,78%{opacity:.98}to{opacity:0;transform:translate(-7vw,-22vh)scale(1.1)}}@keyframes bubble-south-dense{0%{opacity:0;transform:translate(-4vw,-18vh)scale(1.08)}12%,78%{opacity:.94}to{opacity:0;transform:translate(8vw,22vh)scale(.9)}}@keyframes convergence-line{0%{opacity:0;transform:scaleX(1.2)}34%,68%{opacity:1;transform:scaleX(.018)}to{opacity:0;transform:scaleX(0)}}@keyframes convergence-line-vertical{0%{opacity:0;transform:rotate(90deg)scaleX(1.2)}34%,68%{opacity:1;transform:rotate(90deg)scaleX(.018)}to{opacity:0;transform:rotate(90deg)scaleX(0)}}@keyframes convergence-dot{0%{opacity:0;transform:rotate(45deg)scale(2)}34%,68%{opacity:1;transform:rotate(45deg)scale(1)}to{opacity:0;transform:rotate(45deg)scale(0)}}@keyframes memory-logo{0%{opacity:0;clip-path:inset(0 50%);transform:scale(.96)}18%,74%{opacity:1;clip-path:inset(0);transform:scale(1)}to{opacity:0;clip-path:inset(0);transform:scale(1.015)}}@keyframes completion-register{0%{opacity:0;transform:rotate(-38deg)scale(.92)}to{opacity:1;transform:rotate(0)scale(1)}}@keyframes completion-line{to{transform:scaleX(1)}}@media (max-height:760px) and (min-width:900px){.landing-shell{grid-template-rows:70px 28px 1fr 30px}.landing-copy{padding-top:8vh;padding-bottom:28px}.primary-action{min-height:78px}}@media (max-width:900px){.landing-shell{grid-template-rows:82px 32px 1fr 38px}.metadata-rail{grid-template-columns:1fr 1fr}.metadata-rail span:nth-child(2),.metadata-rail span:nth-child(3){display:none}.metadata-rail span:last-child{text-align:right}.landing-copy{grid-template-columns:1fr minmax(250px,.72fr)}.landing-copy h1{grid-column:1/-1}.playhead{left:65%}.workspace-grid{grid-template-columns:190px 1fr}.workspace-aside{padding-left:24px;padding-right:24px}.workspace-main{padding-left:42px;padding-right:42px}.back-action{left:42px}.stage-heading{grid-template-columns:1fr;gap:20px}.stage-heading h1{max-width:12ch}}@media (max-width:767px){.still-app{overflow:visible}.landing-shell{grid-template-rows:76px 34px 1fr 42px;min-height:100svh}.landing-footer,.metadata-rail,.site-header{padding-left:20px;padding-right:20px}.wordmark{font-size:1.85rem}.login-link{text-align:right;justify-content:flex-end;max-width:10ch;font-size:.76rem}.metadata-rail{min-height:32px}.hero-band img{object-position:61% center}.hero-shade{background:linear-gradient(#040505b3,#0405051f 28%,#0405053d 48%,#040505f7 91%),linear-gradient(90deg,#040505c7,#0000 72%)}.landing-copy{grid-template-columns:1fr;align-content:end;gap:20px;padding:13vh 20px 28px;display:grid}.landing-copy h1{grid-column:1;padding:0;font-size:clamp(2.45rem,11vw,3.6rem);line-height:1.06}.landing-copy p{max-width:36ch;padding:0;font-size:1rem;line-height:1.75}.primary-action{width:100%;min-height:82px;margin:2px 0 0}.playhead{display:none}.landing-footer{font-size:.56rem}.landing-footer span:first-child{display:none}.landing-footer span:last-child{margin-left:auto}.memory-film{grid-auto-columns:96px;height:74px}.memory-film-a,.memory-film-b{width:108%}.memory-film-c,.memory-film-d{width:88%}.memory-bubble{min-height:42px;padding:0 15px;font-size:.9rem}.memory-bubble-eight,.memory-bubble-six{display:none}.entry-logo-lockup strong{font-size:clamp(3rem,17vw,5rem)}.entry-logo-lockup small{text-align:center;max-width:20ch;line-height:1.6}.workspace-shell{grid-template-rows:72px auto 42px}.workspace-header{grid-template-columns:1fr auto;padding:0 20px}.workspace-header>span{display:none}.workspace-grid{display:block}.workspace-aside{border-right:0;border-bottom:1px solid var(--line);padding:0 20px;display:block}.workspace-aside>p{display:none}.stage-mobile-summary{grid-template-columns:auto 1fr;align-items:center;gap:16px;min-height:62px;display:grid;position:relative}.stage-mobile-summary span{color:var(--accent);font-family:var(--font-geist-mono),monospace;font-variant-numeric:tabular-nums;font-size:.68rem}.stage-mobile-summary strong{font-size:.8rem;font-weight:520}.stage-mobile-summary i{background:var(--accent);transform-origin:0;height:1px;position:absolute;bottom:-1px;left:0;right:0}.stage-rail{display:none}.workspace-main{align-items:start;min-height:calc(100svh - 172px);padding:78px 20px 52px;overflow:visible}.back-action{top:20px;left:20px}.stage-content{gap:28px}.stage-heading{grid-template-columns:1fr;gap:16px}.stage-heading h1{max-width:11ch;font-size:clamp(2.6rem,12vw,4.4rem)}.stage-heading p{font-size:1rem}.trust-note{grid-template-columns:18px 1fr}.selected-file{grid-template-columns:32px minmax(0,1fr) 44px;gap:12px;padding:0 12px}.file-drop-label{border:1px solid var(--line-strong);width:100%;min-height:64px}.file-drop-label strong,.file-drop-label svg{display:none}.file-drop-label span{color:var(--paper);font-size:1rem}.participant-row{grid-template-columns:34px 1fr;gap:14px}.radio-copy{display:none}.text-field{grid-template-columns:1fr}.text-field>span{padding-top:14px}.text-field input{min-height:58px;font-size:1rem}.text-field small{grid-column:1}.avatar-picker{grid-template-columns:76px minmax(0,1fr);gap:16px}.avatar-identity{width:76px;height:76px}.avatar-picker-actions{flex-direction:column;grid-column:1/-1}.avatar-picker-actions button,.avatar-select{width:100%;min-height:52px;font-size:1rem}.avatar-error{grid-column:1/-1}.connect-layout{grid-template-columns:1fr}.qr-demo{width:220px}.ready-actions,.stage-actions{flex-direction:column;align-items:stretch}.workspace-primary,.workspace-secondary{width:100%}.delete-action{justify-content:center}.workspace-footer{padding:0 20px}.workspace-footer span:last-child{display:none}}.choice-shell,.wechat-connect-shell{background:var(--surface);grid-template-rows:86px 1fr 42px;min-height:100svh;display:grid}.choice-header,.wechat-connect-header{border-bottom:1px solid var(--line);grid-template-columns:240px 1fr auto;align-items:center;padding:0 36px;display:grid}.choice-header>span,.wechat-connect-header>span{color:var(--muted);font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;justify-self:center;font-size:.68rem}.choice-wordmark{color:var(--paper);letter-spacing:.15em;justify-self:start;font-size:2rem;font-weight:610;line-height:1}.choice-back,.choice-wordmark{min-height:44px;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.choice-back{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;gap:9px;font-size:.76rem;transition:color .16s ease-out;overflow:hidden}.choice-back:hover{color:var(--accent)}.choice-back svg{width:17px;height:17px}.choice-main,.wechat-connect-main{width:min(100%,1120px);margin:0 auto;padding:clamp(56px,9vh,108px) clamp(32px,6vw,86px);display:grid}.choice-main{align-content:center;gap:clamp(42px,7vh,76px)}.choice-heading,.wechat-connect-heading{gap:14px;display:grid}.choice-heading>span,.wechat-connect-heading>span{color:var(--accent);font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;font-size:.68rem}.choice-heading h1,.wechat-connect-heading h1{letter-spacing:-.055em;text-wrap:balance;max-width:10ch;margin:0;font-size:clamp(3rem,6.2vw,6.3rem);font-weight:500;line-height:.96}.choice-heading p,.wechat-connect-heading p{max-width:45ch;color:var(--muted);margin:2px 0 0;font-size:1rem;line-height:1.75}.channel-tracks{grid-template-columns:minmax(0,58fr) minmax(0,42fr);align-items:start;gap:18px;display:grid}.channel-track{border:1px solid var(--line-strong);min-height:220px;color:var(--paper);cursor:pointer;text-align:left;animation:channel-track-enter .52s var(--ease-out) both;clip-path:inset(0);background:0 0;border-radius:2px;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:30px 28px;transition:border-color .18s ease-out,background-color .18s ease-out,color .18s ease-out;display:grid;position:relative;overflow:hidden}.channel-track-beat-1{animation-delay:0s}.channel-track-beat-2{margin-top:clamp(24px,3vw,42px);animation-delay:70ms}@keyframes channel-track-enter{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(14px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}.channel-index,.channel-status{color:var(--muted);font-family:var(--font-geist-mono),monospace;letter-spacing:.07em;font-size:.65rem}.channel-index{align-self:start}.channel-copy{gap:10px;min-width:0;display:grid}.channel-copy strong{letter-spacing:-.035em;font-size:clamp(1.5rem,2.4vw,2.15rem);font-weight:510}.channel-copy>span{max-width:25ch;color:var(--muted);font-size:.88rem;line-height:1.65}.channel-status{color:var(--accent);writing-mode:vertical-rl;align-self:end}.channel-track>svg{width:26px;height:26px;color:var(--accent);transition:transform .14s var(--ease-out);position:absolute;bottom:28px;right:28px}.channel-playhead{z-index:1;opacity:.82;pointer-events:none;width:2px;top:20px;bottom:20px;left:14px}.channel-playhead,.channel-playhead:after{background:var(--accent);position:absolute}.channel-playhead:after{content:"";width:8px;height:8px;top:50%;left:50%;transform:translate(-50%,-50%)}.channel-perforations{color:var(--accent);opacity:.24;transition:transform .14s var(--ease-out),opacity .14s ease-out;left:-16px;right:-16px}.channel-perforations-top{top:7px}.channel-perforations-bottom{bottom:7px}.channel-track:focus-visible{border-color:var(--accent);background:#f05a420e}.channel-track:focus-visible>svg{transition-duration:0s;transform:translate(6px)}.channel-track:focus-visible .channel-perforations{opacity:.7;transition-duration:0s;transform:translate(-16px)}@media (hover:hover) and (pointer:fine){.channel-track:hover{border-color:var(--accent);background:#f05a420e}.channel-track:hover>svg{transform:translate(6px)}.channel-track:hover .channel-perforations{opacity:.7;transform:translate(-16px)}}.choice-footer{border-top:1px solid var(--line);color:#8c8d88;font-family:var(--font-geist-mono),monospace;letter-spacing:.03em;align-items:center;padding:0 36px;font-size:.67rem;display:flex}.wechat-connect-main{align-content:center;gap:clamp(34px,6vh,62px)}.wechat-connect-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(250px,.72fr) 1fr;align-items:center;gap:clamp(46px,8vw,110px);padding:32px 0;display:grid}.wechat-qr{background:var(--paper);width:min(100%,294px);color:var(--accent-ink);padding:16px;display:grid;position:relative}.wechat-qr-image,.wechat-qr-placeholder{aspect-ratio:1;place-items:center;width:100%;display:grid}.wechat-qr-image{object-fit:contain}.wechat-qr-placeholder{border:1px solid var(--line);color:var(--muted)}.wechat-qr-placeholder svg{width:42px;height:42px}.wechat-qr-cells{aspect-ratio:1;grid-template-columns:repeat(11,1fr);gap:3px;display:grid}.wechat-qr-cells span[data-active=true]{background:var(--accent-ink)}.wechat-qr-label{background:var(--accent);color:var(--accent-ink);font-family:var(--font-geist-mono),monospace;letter-spacing:.04em;text-align:center;padding:8px 10px;font-size:.64rem;position:absolute;bottom:16px;left:16px;right:16px}.wechat-connect-details{gap:18px;display:grid}.wechat-connect-details>svg{width:37px;height:37px;color:var(--accent)}.wechat-connect-details h2{letter-spacing:-.035em;margin:7px 0 0;font-size:clamp(1.5rem,2.5vw,2.1rem);font-weight:510}.wechat-status{color:var(--accent);font-family:var(--font-geist-mono),monospace;letter-spacing:.06em;font-size:.68rem}.wechat-status-region{outline:0;gap:10px;display:grid}.wechat-status-region:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.wechat-status-region p{max-width:46ch;color:var(--muted);margin:0;font-size:.82rem;line-height:1.7}.wechat-connect-details>p{max-width:44ch;color:var(--muted);margin:0;font-size:.94rem;line-height:1.75}.wechat-connect-details dl{margin:0}.wechat-connect-details dl div{border-top:1px solid var(--line);grid-template-columns:110px 1fr;gap:16px;padding:11px 0;display:grid}.wechat-connect-details dt{color:var(--muted);font-size:.72rem}.wechat-connect-details dd{margin:0;font-size:.82rem}.wechat-actions{flex-wrap:wrap;gap:12px;display:flex}.wechat-actions .workspace-primary,.wechat-actions .workspace-secondary{min-width:180px}.wechat-use-web{justify-self:start}.wechat-mobile-fallback{grid-column:2;gap:10px;margin-top:-4px;display:grid}.wechat-mobile-fallback p{max-width:44ch;color:var(--muted);margin:0;font-size:.84rem;line-height:1.7}.wechat-mobile-only{display:none}.web-chat-shell{color:#171717;scrollbar-color:#8b8f8c #ededed;--chat-green:#247641;--chat-green-bright:#07c160;--chat-line:#b9bdbb;background:#ededed;grid-template-rows:84px minmax(0,1fr) auto 92px 28px;height:100dvh;min-height:560px;display:grid;position:relative;overflow:hidden}.web-chat-shell ::selection{color:#102718;background:#bfe8ca}.web-chat-turn-status{color:#525955;background:#ededed;margin:0;padding:8px 24px;font-size:14px}.web-chat-sync-error{color:#843329;overflow-wrap:anywhere;background:#fff2ed;padding:10px 24px;font-size:14px}.web-chat-sync-error button{min-height:44px;padding:8px 12px;text-decoration:underline}.chat-memory-panel{color:#222824;background:#f7f7f7;border:none;border-radius:12px;width:min(560px,100vw - 32px);max-height:min(85dvh,840px);margin:auto;padding:0;font-family:PingFang SC,Microsoft YaHei,sans-serif;box-shadow:0 24px 70px #0000003d}.chat-memory-panel::backdrop{background:#00000061}.chat-memory-panel::selection{color:#102718;background:#bfe8ca}.chat-memory-panel header{border-bottom:1px solid #dedfdd;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.chat-memory-panel h2{margin:0;font-size:20px;font-weight:600}.chat-memory-panel h3{margin:0 0 16px;font-size:17px;font-weight:600}.chat-memory-panel{color-scheme:light}.chat-memory-panel button{appearance:none;min-width:44px;min-height:44px;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #0000;border-radius:4px;padding:8px 12px}.chat-memory-actions button{color:#176938;background:#e7eee8}.chat-memory-confirm button{color:#843329;background:#fff8f5}.chat-memory-panel button:active{background:#dde4de}.chat-memory-panel button:disabled{opacity:1;color:#616761;cursor:wait;background:#eceeec}.chat-memory-panel :focus-visible{outline-offset:3px;outline:2px solid #18733f}.chat-memory-content{padding:24px}.chat-memory-content section+section{border-top:1px solid #dedfdd;margin-top:32px;padding-top:24px}.chat-memory-content p{overflow-wrap:anywhere;margin:12px 0;font-size:16px;line-height:1.7}.chat-memory-toggle{cursor:pointer;align-items:center;gap:12px;min-height:44px;font-size:16px;display:flex}.chat-memory-toggle input{accent-color:#18733f;flex-shrink:0;width:20px;height:20px}.chat-memory-empty,.chat-memory-note{color:#58605a}.chat-memory-item{border-bottom:1px solid #dedfdd;padding:22px 0}.chat-memory-meta{color:#58605a;flex-wrap:wrap;justify-content:space-between;gap:8px 12px;font-size:13px;display:flex}.chat-memory-meta time{font-variant-numeric:tabular-nums}.chat-memory-text{font-weight:500}.chat-memory-item details{color:#58605a;font-size:14px}.chat-memory-item summary{cursor:pointer;min-height:44px;padding-top:12px}.chat-memory-item blockquote{color:#404940;overflow-wrap:anywhere;white-space:pre-wrap;background:#e9ede9;margin:8px 0 16px;padding:12px}.chat-memory-actions{color:#176938;gap:8px;margin-top:8px;display:flex}.chat-memory-item textarea{color:#222824;width:100%;min-height:100px;font:inherit;resize:vertical;caret-color:#18733f;background:#fff;border:1px solid #8d968f;border-radius:4px;margin-top:12px;padding:12px;font-size:16px;line-height:1.6;display:block}.chat-memory-confirm{color:#843329;background:#f3e8e4;padding:12px}.chat-memory-error{color:#843329}@media (hover:hover) and (pointer:fine){.chat-memory-panel button:hover{background:#e4e9e4}}.web-chat-header{z-index:2;border-top:1px solid var(--line);border-bottom:1px solid var(--line-strong);background:#f7f7f7;grid-template-columns:minmax(110px,1fr) auto minmax(260px,1fr);align-items:center;gap:20px;padding:0 clamp(22px,3vw,48px);display:grid;position:relative}.web-chat-back,.web-chat-header-actions button{color:#5d5d5d;cursor:pointer;min-height:44px;transition:color .17s ease-out,transform .17s var(--ease-out);background:0 0;border:0;align-items:center;gap:9px;padding:0;font-size:.72rem;display:inline-flex}.web-chat-back{justify-self:start}.web-chat-header-control{min-width:44px;min-height:44px}.web-chat-back svg,.web-chat-header-actions svg{width:18px;height:18px}.web-chat-back:hover,.web-chat-header-actions button:hover{color:var(--chat-green);transform:translateY(-1px)}.web-chat-identity{align-items:center;gap:13px;display:flex}.web-chat-avatar{width:40px;height:40px;color:var(--accent-ink);background:#d8d4ca;border-radius:4px;flex:none;place-items:center;font-size:1.15rem;font-weight:620;display:grid;overflow:hidden}.web-chat-avatar img{object-fit:cover;width:100%;height:100%}.web-chat-identity h1{letter-spacing:-.02em;color:#171717;margin:0;font-size:1rem;font-weight:520;line-height:1}.web-chat-header-actions{justify-self:end;gap:22px;display:flex}.web-chat-header-actions .web-chat-delete:hover{color:#7a3730}.web-chat-messages{scroll-behavior:smooth;align-content:start;gap:18px;min-height:0;padding-block:clamp(34px,6vh,68px);padding-inline:max(clamp(22px,6vw,96px),50vw - 520px);display:grid;overflow-y:auto}.web-chat-empty{text-align:center;border-top:1px solid #cfcfcf;border-bottom:1px solid #d7d7d7;place-self:center;gap:13px;width:min(100%,560px);padding:34px 0;display:grid}.web-chat-composer-label,.web-chat-empty small,.web-chat-empty span,.web-message-index{color:#666;font-family:var(--font-geist-mono),monospace;letter-spacing:.06em;font-size:.62rem}.web-chat-empty p{letter-spacing:-.04em;margin:3px 0;font-size:clamp(1.45rem,2.6vw,2.2rem);font-weight:430}.web-message{width:min(82%,720px);animation:web-message-in .17s var(--ease-out) both;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:10px;display:grid}.web-message-user{grid-template-columns:minmax(0,1fr) 40px;justify-self:end}.web-message-user .web-message-avatar{grid-area:1/2}.web-message-user .web-message-bubble{grid-area:1/1}.web-message-avatar{color:#171717;background:#d8d4ca;border-radius:4px;place-items:center;width:40px;height:40px;font-size:.88rem;font-weight:600;display:grid;overflow:hidden}.web-message-avatar img{object-fit:cover;width:100%;height:100%}.web-message-avatar-self{color:#fff;background:#40454b}.web-message-bubble{border-radius:4px;gap:9px;width:fit-content;max-width:100%;padding:10px 13px;display:grid;position:relative}.web-message-character .web-message-bubble{color:#161515;background:#fff}.web-message-user .web-message-bubble{color:#121812;background:#95ec69;justify-self:end}.web-message-bubble p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:.98rem;line-height:1.65}.web-chat-retry{color:#a02f21;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;justify-self:start;align-items:center;min-height:44px;padding:7px 0 3px;font-size:.72rem;display:inline-flex}.web-chat-retry:disabled{opacity:.42;cursor:wait}.web-message[data-status=replying] .web-message-bubble p{opacity:.62}.web-chat-composer{z-index:3;border-top:1px solid var(--line-strong);background:#f7f7f7;grid-template-columns:auto minmax(0,1fr) 62px;align-items:center;gap:18px;padding-block:14px;padding-inline:max(clamp(22px,6vw,96px),50vw - 520px);display:grid;position:sticky;bottom:0}.web-chat-new-messages{z-index:4;color:#247641;cursor:pointer;background:#fff;border:0;border-radius:4px;min-height:40px;padding:0 14px;position:absolute;bottom:104px;right:24px;box-shadow:0 6px 18px #00000024}.web-chat-composer input{border:0;border-bottom:1px solid var(--line-strong);color:#171717;width:100%;height:52px;caret-color:var(--chat-green);background:0 0;border-radius:0;outline:0;padding:0 2px}.web-chat-composer input:focus{border-bottom-color:var(--chat-green)}.web-chat-composer button:focus-visible,.web-chat-composer input:focus-visible,.web-chat-header-control:focus-visible,.web-chat-new-messages:focus-visible,.web-chat-retry:focus-visible{outline:2px solid var(--chat-green);outline-offset:3px}.web-chat-composer input::placeholder{color:#6f7471;opacity:1}.web-chat-composer input:disabled{color:#666b68;cursor:wait}.web-chat-composer input:disabled::placeholder{color:#747976}.web-chat-composer button{background:var(--chat-green-bright);color:#fff;cursor:pointer;width:52px;height:52px;transition:opacity .17s ease-out,transform .17s var(--ease-out);border:0;border-radius:4px;justify-self:end;place-items:center;display:grid}.web-chat-composer button:not(:disabled):hover{background:#079c50;transform:translateY(-2px)}.web-chat-composer button:disabled{color:#5f6461;cursor:not-allowed;opacity:1;background:#e2e5e3;border:1px solid #c8ccca}.web-chat-composer button span{font-size:.92rem;line-height:1}.web-chat-disclosure{color:#666;background:#f7f7f7;border-top:1px solid #dedfdf;place-items:center;margin:0;font-size:.75rem;line-height:1;display:grid}@keyframes web-message-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width:767px){.choice-shell,.wechat-connect-shell{grid-template-rows:72px auto 42px}.choice-header,.wechat-connect-header{grid-template-columns:1fr auto;padding:0 20px}.choice-header>span,.wechat-connect-header>span{display:none}.choice-wordmark{font-size:1.78rem}.choice-back{font-size:.72rem}.choice-main,.wechat-connect-main{width:100%;padding:58px 20px 52px}.choice-heading h1,.wechat-connect-heading h1{font-size:clamp(2.75rem,12vw,4.25rem)}.channel-tracks{grid-template-columns:1fr}.channel-track{min-height:174px;padding:28px 22px}.channel-track-beat-2{margin-top:0}.choice-footer{padding:0 20px;font-size:.6rem}.wechat-connect-grid{border-top:0;padding:0;display:block}.wechat-qr{width:min(100%,294px);margin:0 auto 28px}.wechat-connect-details,.wechat-qr{display:grid}.wechat-use-web{justify-self:stretch;width:100%}.wechat-mobile-fallback{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-column:auto;gap:22px;margin-top:0;padding:30px 0;display:grid}.wechat-mobile-fallback p{font-size:1rem}.wechat-mobile-only{display:block}.web-chat-shell{grid-template-rows:72px minmax(0,1fr) auto 82px 28px;min-height:100dvh}.web-chat-header{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:0 15px}.web-chat-back span,.web-chat-header-actions button span{display:none}.web-chat-header-control{justify-content:center}.web-chat-identity{gap:9px;min-width:0}.web-chat-avatar{width:40px;height:40px;font-size:.94rem}.web-chat-identity h1{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.88rem;overflow:hidden}.web-chat-identity small{font-size:.75rem}.web-chat-header-actions{gap:2px}.web-chat-messages{gap:15px;padding:28px 16px}.web-message{grid-template-columns:40px minmax(0,1fr);width:92%}.web-message-user{grid-template-columns:minmax(0,1fr) 40px}.web-message-bubble{padding:13px 14px}.web-chat-composer{grid-template-columns:minmax(0,1fr) 54px;gap:10px;padding:10px 15px}.web-chat-composer-label{display:none}.web-chat-composer input{height:48px}.web-chat-composer button{width:48px;height:48px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.entry-sequence{display:none}.web-message{animation:none}.channel-track{opacity:1;clip-path:inset(0);transform:none;animation:none!important}.channel-track .channel-perforations,.channel-track>svg{transition:none!important;transform:none!important}}.plan-status{color:#f5f5f2b8;font-family:var(--font-geist-mono),monospace;letter-spacing:.04em;gap:9px;font-size:.76rem;display:grid}.plan-status-frame{color:#f5f5f2;letter-spacing:.12em;text-transform:uppercase;font-size:.84rem}.plan-status-track{background:#ffffff29;width:min(220px,100%);height:2px;display:block;overflow:hidden}.plan-status-track i{transform-origin:0;background:#f5f5f2;width:100%;height:100%;transition:transform .22s cubic-bezier(.22,1,.36,1);display:block}.plan-status-compact{gap:6px;min-width:124px}.web-chat-header .plan-status{color:#676b69}.web-chat-header .plan-status-frame{color:#202220}.web-chat-header .plan-status-track{background:#14161424}.web-chat-header .plan-status-track i{background:#202220}.web-chat-usage-notice{color:#616561;font-family:var(--font-geist-mono),monospace;text-align:center;background:#f7f7f4f0;border-top:1px solid #1416141f;margin:0;padding:8px 14px;font-size:.76rem}.upgrade-backdrop{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050505b8;place-items:center;padding:24px;animation:upgrade-fade .18s ease-out both;display:grid;position:fixed;inset:0}.upgrade-sheet{color:#f5f5f2;background:#111;border:1px solid #ffffff38;border-radius:2px;width:min(540px,100%);max-height:calc(100dvh - 48px);padding:44px;animation:upgrade-enter .26s cubic-bezier(.22,1,.36,1) both;position:relative;overflow-y:auto;box-shadow:0 36px 100px #0000008c}.upgrade-sheet-grain{pointer-events:none;opacity:.22;background-image:repeating-linear-gradient(90deg,#0000 0 5px,#ffffff06 5px 6px);position:absolute;inset:0}.upgrade-close{color:#f5f5f2;background:0 0;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:18px;right:18px}.upgrade-kicker{font-family:var(--font-geist-mono),monospace;letter-spacing:.16em;color:#f5f5f28c;font-size:.72rem}.upgrade-sheet h2{letter-spacing:-.055em;max-width:12ch;margin:24px 0 14px;font-size:clamp(2rem,6vw,3.5rem);font-weight:540;line-height:.98}.upgrade-sheet>p{color:#f5f5f2a8;max-width:38ch;margin:0;line-height:1.65}.upgrade-sheet>p+p{margin-top:12px}.upgrade-sheet>p[role=status]:empty{display:none}.upgrade-sheet>p[role=status]{color:#f5f5f2}.upgrade-offer{border-block:1px solid #ffffff2b;grid-template-columns:1fr auto;gap:8px 20px;margin:34px 0;padding:20px 0;display:grid}.upgrade-offer small,.upgrade-offer span{color:#f5f5f294}.upgrade-offer strong{font-size:1.16rem;font-weight:560}.upgrade-offer small{grid-column:1/-1}.upgrade-actions{grid-template-columns:1fr auto;gap:10px;margin-top:24px;display:grid}.upgrade-actions button{color:#111;min-height:50px;font:inherit;touch-action:manipulation;background:#f5f5f2;border:1px solid #f5f5f2;padding:0 22px;transition:transform .13s cubic-bezier(.22,1,.36,1),background-color .18s,color .18s}.upgrade-actions .upgrade-later{color:#f5f5f2;background:0 0;border-color:#ffffff40}.upgrade-actions button:active,.upgrade-close:active{transform:scale(.97)}.upgrade-actions button:focus-visible,.upgrade-close:focus-visible{outline-offset:3px;outline:2px solid #fff}@keyframes upgrade-enter{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:none}}@keyframes upgrade-fade{0%{opacity:0}}@media (hover:hover) and (pointer:fine){.upgrade-actions button:hover:not(:disabled){color:#f5f5f2;background:0 0}.upgrade-actions .upgrade-later:hover{border-color:#f5f5f2}.upgrade-close:hover{background:#ffffff1a}}@media (max-width:767px){.upgrade-backdrop{align-items:end;padding:0}.upgrade-sheet{width:100%;padding:38px 22px max(24px,env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:0;animation-name:upgrade-drawer}.upgrade-actions{grid-template-columns:1fr}.upgrade-actions button{width:100%}@keyframes upgrade-drawer{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion:reduce){.upgrade-backdrop,.upgrade-sheet{animation:none!important}.plan-status-track i,.upgrade-actions button,.upgrade-close{transition:none!important}}.auth-darkroom{background:var(--ink);min-height:100svh;color:var(--paper);isolation:isolate;grid-template-rows:78px minmax(0,1fr);display:grid;position:relative}.auth-darkroom:before{z-index:-1;content:"";opacity:.028;pointer-events:none;background:url(/images/still-film-grain.avif) 50%/384px 384px;position:fixed;inset:0}.auth-mast{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:78px;padding:0 clamp(20px,4vw,62px);display:flex}.auth-mast a{min-height:44px;color:var(--paper);letter-spacing:.16em;align-items:center;font-size:1.35rem;font-weight:620;text-decoration:none;transition:color .16s ease-out,transform .1s ease-out;display:inline-flex}.auth-mast a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.auth-mast a:active{transform:translateY(1px)}.auth-mast span{color:var(--muted);font-family:var(--font-geist-mono),monospace;letter-spacing:.1em;font-size:.68rem}.auth-drawer{border:1px solid var(--line-strong);background:var(--surface);clip-path:inset(0);opacity:1;border-radius:2px;place-self:center;width:min(680px,100% - 40px);margin:clamp(24px,6vh,64px) 0;padding:clamp(32px,5vw,56px);position:relative;transform:none}@keyframes auth-drawer-reveal{0%{clip-path:inset(0 0 100%);opacity:0;transform:translateY(14px)}to{clip-path:inset(0 0 0);opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:no-preference){.auth-drawer-reveal{animation:auth-drawer-reveal .42s cubic-bezier(.22,1,.36,1) both}}.auth-drawer:before{background:var(--accent);content:"";width:72px;height:2px;position:absolute;top:-1px;left:clamp(32px,5vw,56px)}.auth-perforations{pointer-events:none;grid-template-columns:repeat(10,1fr);gap:clamp(8px,2vw,18px);display:grid;position:absolute;left:clamp(18px,4vw,42px);right:clamp(18px,4vw,42px)}.auth-perforations-top{top:9px}.auth-perforations-bottom{bottom:9px}.auth-perforations span{border:1px solid #eae9e342;height:3px}.auth-frame-number{color:var(--accent);font-family:var(--font-geist-mono),monospace;font-variant-numeric:tabular-nums;letter-spacing:.12em;font-size:.68rem}.auth-drawer h1{letter-spacing:-.04em;text-wrap:balance;max-width:12ch;margin:20px 0 12px;font-size:clamp(2rem,5vw,3.75rem);font-weight:520;line-height:1}.auth-intro{max-width:42rem;color:var(--muted);margin:0;font-size:1rem;line-height:1.7}.auth-tabs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;margin-top:32px;display:grid}.auth-tabs button{border:0;border-right:1px solid var(--line);min-height:52px;color:var(--muted);cursor:pointer;background:0 0;border-radius:0;font-size:1rem;transition:background-color .16s ease-out,color .16s ease-out,transform .1s ease-out}.auth-tabs button:last-child{border-right:0}.auth-tabs button[aria-selected=true]{background:var(--paper);color:var(--ink)}.auth-tabs button:disabled{color:var(--disabled);cursor:wait}.auth-tabs button:active:not(:disabled){transform:translateY(1px)}.auth-method-panel{min-height:280px;padding-top:28px}.auth-method-panel[hidden]{display:none}.auth-field,.auth-fieldset,.auth-form{display:grid}.auth-form{gap:20px}.auth-fieldset{border:0;gap:18px;min-width:0;margin:0;padding:0}.auth-field{color:var(--paper);gap:8px;font-size:1rem}.auth-field label{color:var(--muted)}.auth-identifier-control{grid-template-columns:minmax(0,1fr) 140px;display:grid}.auth-identifier-control-phone{grid-template-columns:58px minmax(0,1fr) 140px}.auth-input,.auth-phone-prefix,.auth-send,.auth-submit{border:1px solid var(--line-strong);border-radius:0;min-height:50px}.auth-phone-prefix{color:var(--paper);font-family:var(--font-geist-mono),monospace;font-variant-numeric:tabular-nums;border-right:0;place-items:center;display:grid}.auth-input{background:var(--ink);width:100%;min-width:0;color:var(--paper);caret-color:var(--accent);padding:0 14px}.auth-input[aria-invalid=true]{border-color:var(--error)}.auth-input:disabled{color:var(--disabled);cursor:not-allowed;opacity:1}.auth-input:focus-visible,.auth-send:focus-visible,.auth-submit:focus-visible,.auth-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.auth-send,.auth-submit{color:var(--paper);cursor:pointer;background:0 0;padding:0 18px;transition:background-color .16s ease-out,border-color .16s ease-out,color .16s ease-out,opacity .16s ease-out,transform .1s ease-out}.auth-send{white-space:nowrap;border-left:0}.auth-submit{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);justify-self:start;font-weight:620}.auth-send:active:not(:disabled),.auth-submit:active:not(:disabled){transform:translateY(1px)}.auth-send:disabled,.auth-submit:disabled{border-color:var(--line);color:var(--disabled);cursor:not-allowed;opacity:1;background:0 0}.auth-field-error{color:var(--error);margin:0;font-size:1rem;line-height:1.5}.auth-dev-code,.auth-unavailable{color:var(--paper);background:#171817;margin:0;padding:12px 14px;line-height:1.5}.auth-dev-code{border-left:1px solid var(--accent);font-family:var(--font-geist-mono),monospace;font-variant-numeric:tabular-nums;font-size:.88rem}.auth-unavailable{border-left:1px solid var(--line-strong)}.auth-live,.auth-unavailable{color:var(--muted);font-size:1rem}.auth-live{border-top:1px solid var(--line);min-height:44px;margin-top:16px;padding-top:12px;line-height:1.5}.account-panel{gap:20px;display:grid}.account-identities{border-top:1px solid var(--line);margin:8px 0 0;display:grid}.account-identities>div{border-bottom:1px solid var(--line);grid-template-columns:120px minmax(0,1fr);align-items:center;min-height:62px;display:grid}.account-identities dt{color:var(--muted);font-family:var(--font-geist-mono),monospace;font-size:1rem}.account-identities dd{margin:0}.account-binding-note,.account-logout-status{color:var(--muted);margin:0;line-height:1.6}.account-logout-status{min-height:1.6em}@media (hover:hover) and (pointer:fine){.auth-mast a:hover,.auth-send:hover:not(:disabled),.auth-tabs button:hover:not(:disabled):not([aria-selected=true]){color:var(--accent)}.auth-send:hover:not(:disabled){border-color:var(--accent)}.auth-submit:hover:not(:disabled){color:var(--accent);background:0 0}}@media (max-width:640px){.auth-darkroom{grid-template-rows:68px minmax(0,1fr)}.auth-mast{min-height:68px;padding:0 16px}.auth-mast span{display:none}.auth-drawer{align-self:start;width:calc(100% - 24px);margin:12px 0;padding:30px 20px}.auth-drawer:before{left:20px}.auth-drawer h1{font-size:clamp(2.15rem,11vw,3.1rem)}.auth-tabs{margin-top:26px}.auth-method-panel{min-height:0;padding-top:24px}.auth-identifier-control{grid-template-columns:minmax(0,1fr)}.auth-identifier-control-phone{grid-template-columns:54px minmax(0,1fr)}.auth-send{border-top:0;border-left:1px solid var(--line-strong);grid-column:1/-1}.auth-submit{width:100%}}@media (prefers-reduced-motion:reduce){.auth-drawer{opacity:1!important;clip-path:inset(0)!important;animation:none!important;transform:none!important}.auth-drawer,.auth-mast a,.auth-send,.auth-submit,.auth-tabs button{transition:none!important}.auth-mast a:active,.auth-send:active,.auth-submit:active,.auth-tabs button:active{transform:none!important}}.preview-backdrop{z-index:1000;background:#000a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.preview-dialog{color:#eae9e3;background:#171817;border:1px solid #555;max-width:430px;padding:32px}.preview-dialog p{line-height:1.8}.preview-dialog button{color:#111;cursor:pointer;background:#eae9e3;border:0;padding:12px 20px}:root{--font-geist-sans:-apple-system,BlinkMacSystemFont,"Segoe UI";--font-geist-mono:"SFMono-Regular",Consolas}.hosted-enter-chat{text-decoration:none}a:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.hosted-chat{color-scheme:light;grid-template-rows:84px minmax(0,1fr) auto auto auto;height:100dvh;min-height:0}.hosted-chat .web-chat-header{border-bottom-color:#dedfdd;grid-template-columns:1fr auto 1fr}.hosted-chat .web-chat-back{text-decoration:none}.hosted-chat .web-chat-identity>div{min-width:0}.hosted-chat .web-chat-identity small{color:#68706b;letter-spacing:.035em;margin-top:6px;font-size:11px;display:block}.hosted-chat .web-chat-header-actions button:disabled{color:#929893;cursor:default}.hosted-chat .web-chat-messages{overscroll-behavior-y:contain}.hosted-chat .web-chat-composer{border-top-color:#dedfdd;min-height:82px;position:relative}.hosted-chat .web-chat-composer input{border-bottom-color:#c6cbc7;font-size:16px}.hosted-chat .web-chat-composer button{place-items:center;display:grid}.hosted-chat .web-chat-disclosure{height:auto;min-height:28px;padding:4px 12px max(8px,env(safe-area-inset-bottom));margin:0;font-size:10px}.hosted-chat .web-chat-sync-error{flex-wrap:wrap;align-items:center;gap:5px 14px;line-height:1.55;display:flex}.hosted-chat .web-chat-sync-error a{min-height:44px;color:inherit;align-items:center;display:inline-flex}.hosted-chat .web-chat-sync-error button{color:inherit;cursor:pointer;background:0 0;border:0;flex-shrink:0}.hosted-chat .web-chat-sync-error button:disabled{cursor:wait;opacity:.6}.hosted-chat .web-chat-new-messages{align-items:center;gap:6px;display:inline-flex}.hosted-chat .web-chat-empty small{line-height:1.8}.hosted-message-status{color:#3b5632;justify-self:end;font-size:11px}.hosted-typing{width:16px;animation:typing-pulse 1.2s infinite;display:inline-block}@keyframes typing-pulse{50%{opacity:.3}}.hosted-settings{width:min(600px,100vw - 32px);max-height:min(88dvh,860px)}.hosted-settings>header{z-index:2;background:#f7f7f7;position:sticky;top:0}.hosted-settings-tabs{border-bottom:1px solid #dedfdd;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 16px;display:grid}.hosted-settings-tabs button[aria-selected=true]{color:#176938;background:#e3ece5;font-weight:600}.hosted-settings .hosted-settings-note{color:#715027;background:#f9f2e8;border-left:2px solid #a26422;padding:12px 14px;font-size:14px}.hosted-settings .hosted-settings-notice{color:#176938;background:#e7eee8;padding:12px 14px;font-size:14px}.hosted-tone-form{gap:14px;padding-top:10px;display:grid}.hosted-tone-form fieldset{border:0;min-width:0;margin:0 0 10px;padding:0}.hosted-context-label,.hosted-tone-form legend{margin-bottom:12px;font-size:14px;font-weight:600}.hosted-tone-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.hosted-tone-options label{cursor:pointer;border:1px solid #c5ccc7;border-radius:6px;gap:7px;padding:14px 12px;display:grid;position:relative}.hosted-tone-options label[data-selected=true]{background:#edf4ee;border-color:#18733f;box-shadow:inset 0 0 0 1px #18733f}.hosted-tone-options input{accent-color:#18733f;margin:0;position:absolute;top:16px;right:12px}.hosted-tone-options strong{padding-right:20px;font-size:15px;font-weight:600}.hosted-tone-options small{color:#68706b;font-size:12px;line-height:1.6}.hosted-context-label{margin-bottom:0}.hosted-tone-form textarea{width:100%;min-height:130px;font:inherit;color:#222824;resize:vertical;background:#fff;border:1px solid #9aa49c;border-radius:4px;padding:12px;font-size:16px;line-height:1.7;display:block}.hosted-field-help{color:#68706b;font-size:12px;line-height:1.7}.hosted-settings button.hosted-save{color:#fff;background:#247641;justify-self:start;min-width:148px;padding-inline:20px}.hosted-settings button.hosted-save:hover:not(:disabled){background:#185e31}.hosted-settings button.hosted-save:disabled{color:#667368;background:#c8d0ca}.hosted-account-name{overflow-wrap:anywhere;font-weight:600}.hosted-account-links{flex-wrap:wrap;gap:12px 26px;margin:22px 0;display:flex}.hosted-account-links a{color:#176938;text-underline-offset:4px;align-items:center;min-height:44px;font-size:14px;display:inline-flex}.hosted-usage{border-block:1px solid #dedfdd;padding:16px 0}.hosted-usage summary{cursor:pointer;min-height:36px;font-size:14px;display:list-item}.hosted-usage dl{gap:10px;margin:10px 0;display:grid}.hosted-usage dl>div{justify-content:space-between;gap:20px;font-size:13px;display:flex}.hosted-usage dt{color:#68706b}.hosted-usage dd{font-variant-numeric:tabular-nums;margin:0}.hosted-settings .hosted-usage p{color:#68706b;font-size:12px}.hosted-clear-chat{margin-top:28px}.hosted-settings button.hosted-danger-button{color:#843329;background:#f3e8e4}.hosted-settings .chat-memory-confirm button+button{margin-left:8px}@media (max-width:640px){.hosted-chat{grid-template-rows:72px minmax(0,1fr) auto auto auto}.hosted-chat .web-chat-header{grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;padding:0 12px}.hosted-chat .web-chat-identity{justify-self:center}.hosted-chat .web-chat-header-actions{justify-self:end}.hosted-chat .web-chat-messages{padding:26px 14px}.hosted-chat .web-chat-composer{gap:8px;min-height:72px;padding:10px 14px}.hosted-chat .web-chat-composer button{width:48px;height:48px}.hosted-chat .web-chat-empty{padding-inline:10px}.hosted-chat .web-chat-sync-error{padding:8px 16px;font-size:13px}.hosted-chat .web-chat-new-messages{right:16px;bottom:calc(108px + env(safe-area-inset-bottom))}.hosted-settings{width:calc(100vw - 20px);max-height:90dvh}.hosted-settings>header{padding:14px 16px}.hosted-settings h2{font-size:18px}.hosted-settings .chat-memory-content{padding:22px 18px}.hosted-tone-options{gap:7px}.hosted-tone-options label{padding:12px 9px}.hosted-tone-options input{top:14px;right:8px}.hosted-tone-options strong{font-size:14px}.hosted-tone-options small{font-size:11px}}