:root{--bg: #faf8f5;--surface: #ffffff;--surface-2: #f4efe6;--surface-3: #ece4d5;--line: rgba(42, 38, 32, .09);--line-strong: rgba(42, 38, 32, .16);--text: #2a2620;--text-dim: rgba(42, 38, 32, .64);--text-faint: rgba(42, 38, 32, .4);--accent: #c9a15a;--accent-2: #e0bc7c;--accent-ink: #7d5f28;--accent-dim: rgba(201, 161, 90, .55);--accent-soft: rgba(201, 161, 90, .14);--accent-soft-2: rgba(201, 161, 90, .28);--danger: #c96a5a;--danger-soft: rgba(201, 106, 90, .18);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 15px;--fs-md: 17px;--fs-lg: 20px;--fs-xl: 26px;--fs-2xl: 32px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 28px;--dur-fast: .16s;--dur-base: .22s;--dur-slow: .4s;--ease: cubic-bezier(.22, .9, .32, 1);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif}@media (prefers-reduced-motion: reduce){:root{--dur-fast: 1ms;--dur-base: 1ms;--dur-slow: 1ms}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:#eae4d8;color:var(--text);-webkit-font-smoothing:antialiased}button,input{font-family:inherit}h1,h2,h3,p{margin:0}.stage{width:100%;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--sp-6);background:radial-gradient(ellipse 900px 500px at 50% 8%,rgba(201,161,90,.08),transparent 60%),#eae4d8}.device{position:relative;width:390px;height:844px;max-height:calc(100dvh - 2 * var(--sp-6));aspect-ratio:390 / 844;background:#000;border-radius:54px;padding:12px;box-shadow:0 60px 120px -20px #2a262059,0 0 0 1px #ffffff0d,inset 0 0 0 2px #ffffff08}.device__notch{position:absolute;top:26px;left:50%;transform:translate(-50%);width:100px;height:26px;background:#000;border-radius:16px;z-index:40}.device__screen{position:relative;width:100%;height:100%;border-radius:42px;overflow:hidden;background:var(--bg);isolation:isolate}@media (max-width: 500px),(max-height: 700px) and (max-width: 600px){.stage{padding:0;background:#eae4d8}.device{width:100vw;height:100dvh;max-height:100dvh;aspect-ratio:auto;border-radius:0;padding:0;box-shadow:none}.device__screen{border-radius:0}.device__notch{display:none}}.screen{position:absolute;top:0;right:0;bottom:0;left:0}.screen__scroll{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.eyebrow{font-size:var(--fs-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--accent-ink);font-weight:600}.wordmark{font-size:var(--fs-lg);font-weight:700;letter-spacing:-.01em}.wordmark small{display:block;font-size:var(--fs-2xs);font-weight:500;color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;border-radius:999px;font-size:var(--fs-base);font-weight:600;padding:15px 22px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;transition:transform var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(180deg,var(--accent-2),var(--accent));color:#241a08;box-shadow:0 10px 24px -10px #c9a15a8c}.btn-ghost{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}.btn-block{width:100%}.btn[disabled]{opacity:.38;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.btn-icon{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0a0a0b6b;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px #ffffff17;color:#fff;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.btn-icon:active{transform:scale(.92);background:#0a0a0b99}.topbar{display:flex;align-items:center;justify-content:space-between;padding:56px var(--sp-4) var(--sp-3)}.profile-chip{display:flex;align-items:center;gap:8px;min-height:44px;background:var(--surface-2);border:none;cursor:pointer;padding:6px 12px 6px 6px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);color:var(--text)}.profile-chip:active{background:var(--surface-3)}.avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700;color:#1a1408;flex:none}.profile-chip .avatar{width:26px;height:26px}.profile-chip__name{font-size:var(--fs-sm);font-weight:600}.gallery-list{padding:0 var(--sp-4) var(--sp-7);display:flex;flex-direction:column;gap:var(--sp-4)}.g-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;height:220px;background:var(--surface);cursor:pointer;border:none;width:100%;text-align:left;padding:0;box-shadow:0 1px #ffffff80 inset,0 18px 30px -18px #2a262052;transition:transform var(--dur-fast) var(--ease)}.g-card:active{transform:scale(.985)}.g-card__media{position:absolute;top:0;right:0;bottom:0;left:0}.g-card__media svg,.g-card__media img{width:100%;height:100%;display:block;object-fit:cover}.g-card__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#06070800 30%,#0607088c 66%,#060708eb)}.g-card__top{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.badge{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:999px}.badge-new{background:var(--accent);color:#241a08}.badge-cert{display:flex;align-items:center;gap:5px;background:#0a0b0c8c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--accent-2);box-shadow:inset 0 0 0 1px #c9a15a59}.badge-cert svg{width:11px;height:11px}.g-card__bottom{position:absolute;left:14px;right:14px;bottom:14px}.g-card__tag{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--accent-2);margin-bottom:5px;text-shadow:0 1px 6px rgba(0,0,0,.6)}.g-card__title{font-size:var(--fs-lg);font-weight:700;letter-spacing:-.01em;color:#fbf9f4;text-shadow:0 1px 10px rgba(0,0,0,.55)}.g-card__hook{font-size:var(--fs-sm);color:#fbf9f4b8;margin-top:4px;text-shadow:0 1px 8px rgba(0,0,0,.6);max-width:88%}.g-card__meta{display:flex;align-items:center;gap:10px;margin-top:9px}.stars{display:inline-flex;gap:2px}.stars svg{width:14px;height:14px}.stars.stars-lg svg{width:22px;height:22px}.star-outline path{fill:none;stroke:var(--text-faint);stroke-width:1.4}.star-fill path{fill:var(--accent-ink)}.g-card .star-outline path{stroke:#f3f0e973}.g-card .star-fill path{fill:var(--accent-2)}.g-card__nostars{font-size:var(--fs-2xs);color:#fbf9f48c;font-weight:600;letter-spacing:.03em}.pad{padding:0 var(--sp-4)}.sheet-title{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.02em}.gate{height:100%;display:flex;flex-direction:column;justify-content:center;padding:var(--sp-6) var(--sp-5);gap:var(--sp-6);background:radial-gradient(ellipse 500px 380px at 50% 18%,rgba(201,161,90,.08),transparent 60%),var(--bg);overflow-y:auto}.gate__brand{text-align:center}.gate__mark{font-size:30px;font-weight:800;letter-spacing:-.02em}.gate__sub{margin-top:8px;font-size:var(--fs-base);color:var(--text-dim)}.gate__profiles{display:flex;flex-direction:column;gap:var(--sp-3)}.profile-card{display:flex;align-items:center;gap:14px;background:var(--surface);border:none;cursor:pointer;text-align:left;border-radius:var(--radius-lg);padding:16px;box-shadow:inset 0 0 0 1px var(--line);width:100%}.profile-card:active{transform:scale(.98);background:var(--surface-2)}.profile-card .avatar{width:48px;height:48px;font-size:var(--fs-md)}.profile-card__name{font-size:var(--fs-md);font-weight:700}.profile-card__hint{font-size:var(--fs-sm);color:var(--text-faint);margin-top:2px}.profile-card__go{margin-left:auto;color:var(--text-faint)}.new-profile-card{display:flex;align-items:center;gap:14px;justify-content:center;border:1.5px dashed var(--line-strong);background:transparent;cursor:pointer;border-radius:var(--radius-lg);padding:16px;color:var(--text-dim);font-weight:600;font-size:var(--fs-base);width:100%}.new-profile-card:active{background:var(--surface);border-color:var(--accent-dim)}.flow{height:100%;display:flex;flex-direction:column;padding:60px var(--sp-5) var(--sp-5);overflow-y:auto}.flow__head{margin-bottom:var(--sp-6)}.flow__step{font-size:var(--fs-2xs);color:var(--text-faint);font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.flow__title{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.02em}.flow__sub{font-size:var(--fs-base);color:var(--text-dim);margin-top:8px;line-height:1.45}.flow__body{flex:1}.flow__foot{padding-top:var(--sp-5);display:flex;gap:10px}.text-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;width:100%;background:var(--surface);border-radius:var(--radius-md);box-shadow:inset 0 0 0 1.5px var(--line-strong);color:var(--text);font-size:var(--fs-lg);font-weight:600;padding:16px 18px;outline:none}.text-input::placeholder{color:var(--text-faint);font-weight:500}.text-input:focus{box-shadow:inset 0 0 0 1.5px var(--accent-ink)}.voice-cards{display:flex;flex-direction:column;gap:var(--sp-3)}.voice-card{position:relative;display:flex;align-items:center;gap:14px;background:var(--surface);border-radius:var(--radius-lg);padding:16px;box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;text-align:left;width:100%;border:none}.voice-card.selected{box-shadow:inset 0 0 0 2px var(--accent-ink);background:var(--accent-soft)}.voice-card__glyph{width:44px;height:44px;border-radius:50%;flex:none;background:var(--surface-3);display:flex;align-items:center;justify-content:center;color:var(--text-dim)}.voice-card.selected .voice-card__glyph{background:var(--accent-soft-2);color:var(--accent-ink)}.voice-card__name{font-size:var(--fs-md);font-weight:700}.voice-card__tag{font-size:var(--fs-sm);color:var(--text-faint);margin-top:2px}.voice-card__preview{margin-left:auto;flex:none;width:44px;height:44px;border-radius:50%;background:var(--surface-3);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text)}.voice-card__preview:active{transform:scale(.92)}.voice-card__preview.playing{background:var(--accent);color:#241a08}.waveform{display:flex;align-items:center;gap:2px;height:16px}.waveform span{width:2.5px;border-radius:2px;background:currentColor;height:4px;transition:height .12s ease}.accent-row{display:flex;gap:14px;flex-wrap:wrap;padding-top:var(--sp-2)}.accent-chip{width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;position:relative;box-shadow:inset 0 0 0 1px #ffffff2e}.accent-chip:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;box-shadow:0 0 0 2px transparent;transition:box-shadow var(--dur-fast) var(--ease)}.accent-chip.selected:after{box-shadow:0 0 0 2px var(--bg),0 0 0 4px currentColor}.accent-chip:active{transform:scale(.9)}.accent-label{margin-top:var(--sp-4);font-size:var(--fs-sm);color:var(--text-dim)}.accent-label b{color:var(--text)}.flow__preview-card{margin-top:var(--sp-6);display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:var(--radius-lg);padding:14px 16px;box-shadow:inset 0 0 0 1px var(--line)}.flow__preview-card .avatar{width:40px;height:40px;font-size:var(--fs-base)}.flow__preview-card__meta{font-size:var(--fs-2xs);color:var(--text-faint)}.flow__preview-card__name{font-size:var(--fs-base);font-weight:700}.detail-hero{position:relative;height:340px}.detail-hero svg,.detail-hero img{width:100%;height:100%;display:block;object-fit:cover}.detail-hero__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(6,7,8,.15) 0%,rgba(6,7,8,0) 35%,rgba(6,7,8,.5) 70%,var(--bg) 100%)}.detail-hero__back{position:absolute;top:18px;left:14px;z-index:5}.detail-body{padding:0 var(--sp-4) var(--sp-7);margin-top:-28px;position:relative;z-index:2}.detail-tag{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--accent-ink)}.detail-title{font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.02em;margin-top:6px}.detail-hook{font-size:var(--fs-base);line-height:1.55;color:var(--text-dim);margin-top:12px}.meta-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:var(--sp-4)}.meta-pill{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600;color:var(--text-dim);background:var(--surface);padding:8px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line)}.meta-pill svg{width:13px;height:13px;flex:none}.meta-pill.is-cert{color:var(--accent-ink);box-shadow:inset 0 0 0 1px #c9a15a59;background:var(--accent-soft)}.meta-pill.is-locked{color:var(--text-faint)}.section-label{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin:var(--sp-6) 0 var(--sp-3)}.ach-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ach-card{background:var(--surface);border-radius:var(--radius-md);padding:14px 12px;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:8px}.ach-card.earned{box-shadow:inset 0 0 0 1px #c9a15a4d;background:linear-gradient(160deg,var(--accent-soft),var(--surface) 60%)}.ach-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--text-faint);font-size:18px}.ach-card.earned .ach-icon{background:var(--accent-soft-2);color:var(--accent-ink)}.ach-title{font-size:var(--fs-sm);font-weight:700;line-height:1.3}.ach-card.earned .ach-title{color:var(--text)}.ach-card:not(.earned) .ach-title{color:var(--text-faint);font-weight:600}.ach-desc{font-size:var(--fs-2xs);color:var(--text-faint);line-height:1.4}.ach-card.earned .ach-desc{color:var(--text-dim)}.detail-cta{margin-top:var(--sp-6);display:flex;flex-direction:column;gap:10px}.detail-cta__sub{text-align:center;font-size:var(--fs-2xs);color:var(--text-faint);margin-top:-4px}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease)}.overlay.open{opacity:1;pointer-events:auto}.overlay__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#040506a8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sheet{position:relative;width:100%;background:var(--surface);border-radius:26px 26px 0 0;padding:var(--sp-3) var(--sp-4) var(--sp-6);box-shadow:0 -20px 50px #00000080,inset 0 0 0 1px var(--line);transform:translateY(24px);transition:transform var(--dur-base) var(--ease);max-height:80%;overflow-y:auto}.overlay.open .sheet{transform:translateY(0)}.sheet__grabber{width:36px;height:4px;border-radius:2px;background:var(--line-strong);margin:2px auto 16px}.sheet__title{font-size:var(--fs-md);font-weight:700;margin-bottom:var(--sp-3)}.sheet-profile-row{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:none;cursor:pointer;text-align:left;padding:11px 8px;border-radius:var(--radius-md);color:var(--text)}.sheet-profile-row:active{background:var(--surface-2)}.sheet-profile-row.is-active{background:var(--accent-soft)}.sheet-profile-row .avatar{width:34px;height:34px;font-size:var(--fs-sm)}.sheet-profile-row__name{font-size:var(--fs-base);font-weight:600}.sheet-profile-row__check{margin-left:auto;color:var(--accent-ink)}.sheet-new-row{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:none;cursor:pointer;text-align:left;padding:11px 8px;border-radius:var(--radius-md);color:var(--accent-ink);font-weight:600;font-size:var(--fs-base);margin-top:4px}.sheet-new-row:active{background:var(--surface-2)}.sheet-new-row__plus{width:34px;height:34px;border-radius:50%;background:var(--surface-3);display:flex;align-items:center;justify-content:center}.leave-modal{position:relative;width:calc(100% - 48px);max-width:320px;background:#1b1d21;border-radius:var(--radius-xl);padding:var(--sp-5);text-align:center;box-shadow:0 30px 60px #0009,inset 0 0 0 1px #ffffff24;transform:scale(.92);opacity:0;transition:transform var(--dur-base) var(--ease),opacity var(--dur-base) var(--ease)}.overlay.leave-overlay{align-items:center}.overlay.leave-overlay.open .leave-modal{transform:scale(1);opacity:1}.leave-modal__title{font-size:var(--fs-lg);font-weight:700;color:#f3f0e9}.leave-modal__sub{font-size:var(--fs-sm);color:#f3f0e9a3;margin-top:8px;line-height:1.45}.leave-modal__actions{display:flex;flex-direction:column;gap:9px;margin-top:var(--sp-5)}.leave-modal__leave{color:var(--danger);font-weight:700;background:transparent;border:none;cursor:pointer;padding:10px;font-size:var(--fs-base)}.run{height:100%;position:relative;background:#000;overflow:hidden}.run-stage{position:absolute;top:0;right:0;bottom:0;left:0}.run-scene{position:absolute;top:0;right:0;bottom:0;left:0;opacity:1;transition:opacity var(--dur-slow) var(--ease)}.run-scene.fading{opacity:0}.run-scene__media{position:absolute;top:0;right:0;bottom:0;left:0}.run-scene__media svg,.run-scene__media img,.run-scene__media video{width:100%;height:100%;display:block;object-fit:cover}.run-scene__vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;background:radial-gradient(ellipse 90% 70% at 50% 38%,transparent 45%,rgba(0,0,0,.55) 100%);pointer-events:none}.run-scene__dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;transition:opacity var(--dur-base) var(--ease);pointer-events:none}.run-scene__dim.on{opacity:.32}.title-card{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#000;opacity:0;transition:opacity .65s var(--ease);pointer-events:none}.title-card.show{opacity:1;transition:opacity .45s var(--ease)}.title-card__text{color:#fbf9f4eb;font-size:21px;font-weight:500;letter-spacing:.06em;text-align:center;padding:0 32px}@media (prefers-reduced-motion: reduce){.title-card,.title-card.show{transition:none}}.run-chrome{position:absolute;top:18px;left:14px;right:14px;display:flex;justify-content:space-between;z-index:20}.run-tag{display:flex;align-items:center;gap:6px;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#ffffffbf;background:#0a0a0b66;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:6px 10px;border-radius:999px;box-shadow:inset 0 0 0 1px #ffffff14}.run-tag svg{width:11px;height:11px}.caption-box{position:absolute;left:16px;right:16px;bottom:120px;z-index:15;min-height:64px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px}.caption-speaker{font-size:var(--fs-xs);font-weight:700;letter-spacing:.03em;color:var(--accent-2);text-shadow:0 1px 6px rgba(0,0,0,.8);opacity:0;transform:translateY(6px);transition:opacity var(--dur-base) var(--ease),transform var(--dur-base) var(--ease)}.caption-speaker.you{color:#e7ddc9}.caption-line{font-size:19px;font-weight:600;line-height:1.38;color:#fbf9f4;text-shadow:0 2px 14px rgba(0,0,0,.85),0 1px 2px rgba(0,0,0,.9);opacity:0;transform:translateY(10px);transition:opacity var(--dur-base) var(--ease),transform var(--dur-base) var(--ease)}.caption-line.muted{font-style:italic;font-weight:500;color:#fbf9f4b3;font-size:17px}.caption-box.show .caption-speaker,.caption-box.show .caption-line{opacity:1;transform:translateY(0)}.choice-panel{position:absolute;left:14px;right:14px;bottom:104px;z-index:25;display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateY(14px);transition:opacity var(--dur-base) var(--ease),transform var(--dur-base) var(--ease);pointer-events:none}.choice-panel.show{opacity:1;transform:translateY(0);pointer-events:auto}.choice-timer{display:flex;align-items:center;gap:10px;margin-bottom:2px;align-self:center}.choice-timer__ring{width:38px;height:38px;transform:rotate(-90deg)}.choice-timer__track{fill:none;stroke:#ffffff24;stroke-width:3}.choice-timer__fill{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;transition:stroke var(--dur-fast) linear}.choice-timer.urgent .choice-timer__fill{stroke:var(--danger)}.choice-timer__num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}.choice-timer__wrap{position:relative;width:38px;height:38px}.choice-timer.urgent .choice-timer__num{color:var(--danger)}.choice-timer__label{font-size:var(--fs-2xs);color:#ffffff8c;letter-spacing:.05em;text-transform:uppercase;font-weight:700}.choice-opt{position:relative;background:#141518b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:none;cursor:pointer;text-align:left;border-radius:var(--radius-lg);padding:16px 18px;color:#fff;font-size:var(--fs-md);font-weight:600;line-height:1.3;box-shadow:inset 0 0 0 1.5px #ffffff24;min-height:44px;opacity:0;transform:translateY(14px) scale(.98);transition:opacity var(--dur-base) var(--ease),transform var(--dur-base) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);width:100%}.choice-panel.show .choice-opt{opacity:1;transform:translateY(0) scale(1)}.choice-panel.show .choice-opt:nth-child(2){transition-delay:60ms}.choice-panel.show .choice-opt:nth-child(3){transition-delay:.12s}.choice-panel.show .choice-opt:nth-child(4){transition-delay:.18s}.choice-opt:active{transform:scale(.98)}.choice-opt.chosen{box-shadow:inset 0 0 0 2px var(--accent);background:#c9a15a38;color:#fff}.choice-opt.faded{opacity:.28}.choice-opt[disabled]{pointer-events:none}.achievement-toast{position:absolute;top:0;left:14px;right:14px;z-index:60;display:flex;align-items:center;gap:12px;background:#141518e6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);padding:13px 15px;box-shadow:0 18px 34px -14px #000000b3,inset 0 0 0 1px #c9a15a52;transform:translateY(-140%);transition:transform var(--dur-base) var(--ease);margin-top:54px}.achievement-toast.show{transform:translateY(0)}.achievement-toast__icon{width:38px;height:38px;border-radius:11px;background:var(--accent-soft-2);color:var(--accent-2);display:flex;align-items:center;justify-content:center;flex:none;font-size:18px}.achievement-toast__eyebrow{font-size:var(--fs-2xs);color:var(--accent-2);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.achievement-toast__title{font-size:var(--fs-base);font-weight:700;color:#fff}.achievement-toast__desc{font-size:var(--fs-xs);color:#fff9;margin-top:1px}.preflight{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.preflight__media{position:absolute;top:0;right:0;bottom:0;left:0}.preflight__media svg,.preflight__media img{width:100%;height:100%;display:block;filter:saturate(.85);object-fit:cover}.preflight__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#06070859,#06070833 40%,#060708eb)}.preflight__body{position:relative;z-index:3;margin-top:auto;padding:0 var(--sp-5) 64px;text-align:center}.preflight__tag{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-2)}.preflight__title{font-size:28px;font-weight:800;letter-spacing:-.02em;margin-top:8px;color:#fbf9f4;text-shadow:0 4px 20px rgba(0,0,0,.6)}.preflight__cta{margin-top:28px;display:inline-flex;flex-direction:column;align-items:center;gap:10px;background:transparent;border:none;cursor:pointer;color:#fff}.preflight__cta-ring{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-soft-2);box-shadow:inset 0 0 0 1.5px #c9a15a8c;animation:pf-pulse 2.2s ease-in-out infinite}@keyframes pf-pulse{0%,to{box-shadow:inset 0 0 0 1.5px #c9a15a8c,0 0 #c9a15a40}50%{box-shadow:inset 0 0 0 1.5px #c9a15ad9,0 0 0 10px #c9a15a00}}@media (prefers-reduced-motion: reduce){.preflight__cta-ring{animation:none}}.preflight__cta-ring svg{width:24px;height:24px;color:var(--accent-2);margin-left:2px}.preflight__cta-label{font-size:var(--fs-sm);font-weight:600;color:#f3f0e9a3}.preflight__ready{margin-top:6px;font-size:var(--fs-2xs);color:#f3f0e961}.preflight__close{position:absolute;top:18px;left:14px;z-index:5}.results-hero{position:relative;height:260px}.results-hero svg,.results-hero img{width:100%;height:100%;display:block;object-fit:cover}.results-hero__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(10,8,6,0) 0%,rgba(10,8,6,.12) 32%,var(--bg) 66%,var(--bg) 100%)}.results-hero__text{position:absolute;left:20px;right:20px;bottom:16px}.results-hero__band{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}.results-hero__title{font-size:26px;font-weight:800;letter-spacing:-.02em;margin-top:6px;color:var(--text)}.results-body{padding:0 var(--sp-4) var(--sp-7);margin-top:-6px}.results-epilogue{font-size:var(--fs-base);line-height:1.55;color:var(--text-dim);padding-top:var(--sp-4)}.results-stars{display:flex;align-items:center;gap:10px;margin-top:var(--sp-6);justify-content:center}.results-stars svg{width:30px;height:30px}.result-star{opacity:.9;transform:scale(.5);transition:transform .32s var(--ease),opacity .32s var(--ease)}.result-star path{fill:none;stroke:#2a262047;stroke-width:1.3}.result-star.filled path{fill:var(--accent-ink);stroke:none}.result-star.pop{transform:scale(1.18)}.result-star.settle{transform:scale(1)}.results-count{text-align:center;margin-top:8px;font-size:var(--fs-sm);color:var(--text-faint);font-weight:600}.results-ach{margin-top:var(--sp-6);display:flex;flex-direction:column;gap:8px}.results-ach__row{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:var(--radius-md);padding:11px 13px;box-shadow:inset 0 0 0 1px #c9a15a40}.results-ach__row .ach-icon{width:32px;height:32px;background:var(--accent-soft-2);color:var(--accent-ink)}.results-empty{font-size:var(--fs-sm);color:var(--text-faint);text-align:center;padding:10px 8px;line-height:1.5}.certificate{margin-top:var(--sp-6);position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:20px;background:linear-gradient(155deg,#fffaf0,#fbf3e0 55%,#f5ecd6);box-shadow:inset 0 0 0 1px #7d5f2859,0 20px 40px -22px #2a262038;opacity:0;transform:translateY(16px) scale(.98);transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease)}.certificate.show{opacity:1;transform:translateY(0) scale(1)}.certificate:before{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.9),transparent);transform:skew(-18deg)}.certificate.shimmer:before{animation:cert-shimmer 1.4s var(--ease) .3s 1}@keyframes cert-shimmer{0%{left:-60%}to{left:130%}}.certificate__top{display:flex;align-items:center;gap:8px}.certificate__icon{width:26px;height:26px;color:var(--accent-ink)}.certificate__eyebrow{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-ink)}.certificate__scenario{font-size:var(--fs-lg);font-weight:800;margin-top:10px;letter-spacing:-.01em}.certificate__profile{font-size:var(--fs-sm);color:var(--text-dim);margin-top:3px}.certificate__stars{display:flex;gap:3px;margin-top:12px}.certificate__stars svg{width:16px;height:16px}.certificate__dates{display:flex;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px dashed rgba(201,161,90,.3)}.certificate__date-label{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-weight:700}.certificate__date-value{font-size:var(--fs-sm);font-weight:700;color:var(--text);margin-top:3px}.results-cta{display:flex;gap:10px;margin-top:var(--sp-6)}.results-cta .btn{flex:1}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.toast-region{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:60}.loading-fill{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-faint);font-size:var(--fs-sm)}.error-fill{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;padding:var(--sp-5);text-align:center;color:var(--text-dim)}.run-fade{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;pointer-events:none;transition:opacity 1.1s ease-in;z-index:40}.run-fade.on{opacity:1}@media (prefers-reduced-motion: reduce){.run-fade{transition:none}}.ach-badge{width:44px;height:44px;border-radius:50%;object-fit:cover;display:block;box-shadow:0 1px 4px #0000002e}.achievement-toast__icon .ach-badge{width:40px;height:40px}.ach-badge--locked{filter:grayscale(1) opacity(.35)}.choice-opt{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left}.choice-opt__line{font-weight:600}.choice-opt__label{font-size:var(--fs-2xs);color:var(--text-faint);letter-spacing:.05em;text-transform:uppercase}.run-scene__hold{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:3;pointer-events:none}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.studio-root{--bg: #131418;--surface: #1a1c20;--surface2: #22242a;--surface3: #2a2d34;--line: #33363d;--line-soft: #2a2c32;--text: #e7e9ec;--text-dim: #9aa0a8;--text-faint: #6b7079;--accent: #e7e9ec;--scene: #7b8fb5;--scene-bg: #232a36;--scene-line: #3a4658;--choice: #c9a45c;--choice-bg: #2c2620;--choice-line: #4a3f2c;--set: #5aa89a;--set-bg: #1e2a28;--set-line: #33453f;--branch: #9a7fd1;--branch-bg: #241f30;--branch-line: #3c3350;--achievement: #d4b34a;--achievement-bg: #2c2618;--achievement-line: #4a3f22;--ending: #6fae7a;--ending-bg: #1e2a20;--ending-line: #345239;--deadend: #b06a63;--deadend-bg: #2a201e;--deadend-line: #4a332f;--red: #d9705f;--amber: #d1a44f;--green: #6fae7a;--radius: 8px;--radius-lg: 12px;--shadow: 0 8px 24px rgba(0, 0, 0, .35);--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, sans-serif;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:13px;-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none}.studio-root input,.studio-root textarea,.studio-root [contenteditable]{user-select:text;-webkit-user-select:text}.studio-root *{box-sizing:border-box}.studio-root button,.studio-root input,.studio-root select,.studio-root textarea{font-family:inherit;color:inherit}.studio-root svg{display:block}.studio-small-notice{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--bg);align-items:center;justify-content:center;text-align:center;padding:32px}@media (max-width: 999px){.studio-shell{display:none}.studio-small-notice{display:flex}}.studio-small-notice .box{max-width:360px}.studio-small-notice .box h1{font-size:16px;margin:0 0 8px}.studio-small-notice .box p{color:var(--text-dim);line-height:1.6;font-size:13px}.studio-shell{display:grid;height:100%;width:100%;grid-template-columns:244px minmax(0,1fr) 292px;grid-template-rows:44px minmax(0,1fr);grid-template-areas:"topbar topbar topbar" "left canvas right";min-width:1280px}.st-topbar{grid-area:topbar;display:flex;align-items:center;gap:14px;padding:0 12px;background:var(--surface);border-bottom:1px solid var(--line);position:relative;z-index:20}.st-brandmark{display:flex;align-items:center;gap:8px;padding-right:12px;border-right:1px solid var(--line-soft);color:var(--text-faint)}.st-brandmark svg{width:16px;height:16px}.st-brandmark span{font-size:12px;letter-spacing:.02em}.st-title-wrap{display:flex;align-items:center;gap:6px;cursor:text;padding:5px 8px;border-radius:6px;border:1px solid transparent}.st-title-wrap:hover{background:var(--surface2);border-color:var(--line-soft)}.st-title-input{font-size:13px;font-weight:600;background:none;border:none;outline:none;width:220px}.st-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:4px 9px;border-radius:20px;letter-spacing:.01em;cursor:pointer;border:1px solid transparent}.st-badge svg{width:11px;height:11px}.st-badge.amber{background:#d1a44f24;color:var(--amber);border-color:#d1a44f47}.st-badge.green{background:#6fae7a24;color:var(--green);border-color:#6fae7a47}.st-badge.red{background:#d9705f24;color:var(--red);border-color:#d9705f47}.st-asset-summary{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text-dim);font-family:var(--mono)}.st-asset-summary .dot-mini{width:5px;height:5px;border-radius:50%;display:inline-block;margin-right:4px;background:var(--text-faint)}.st-spacer{flex:1}.st-group{display:flex;align-items:center;gap:4px}.st-btn{display:flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:6px;border:1px solid var(--line);background:var(--surface2);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .1s,border-color .1s}.st-btn:hover{background:var(--surface3);border-color:#40444c}.st-btn svg{width:13px;height:13px;color:var(--text-dim);flex-shrink:0}.st-btn.icon-only{width:28px;padding:0;justify-content:center}.st-btn.primary{background:var(--surface3);border-color:#484c55}.st-btn.primary svg{color:var(--text)}.st-btn:disabled{opacity:.35;cursor:default}.st-btn:disabled:hover{background:var(--surface2);border-color:var(--line)}.st-zoom-group{display:flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}.st-zoom-group .st-btn{border:none;border-radius:0;border-right:1px solid var(--line)}.st-zoom-group .st-btn:last-child{border-right:none}.st-zoom-readout{font-family:var(--mono);font-size:11px;color:var(--text-dim);width:44px;text-align:center}.st-vdiv{width:1px;align-self:stretch;margin:8px 0;background:var(--line-soft)}.st-left-rail{grid-area:left;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;overflow:hidden}.st-left-rail.collapsed{width:0;border-right:none}.st-rail-section{padding:12px;border-bottom:1px solid var(--line-soft)}.st-rail-heading{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);margin:0 0 9px 2px}.st-palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.st-palette-item{display:flex;align-items:center;gap:7px;padding:8px;border-radius:6px;border:1px solid var(--line);background:var(--surface2);cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .08s,border-color .1s}.st-palette-item:hover{border-color:#4a4e57;transform:translateY(-1px)}.st-palette-item:active{cursor:grabbing}.st-palette-item .swatch{width:20px;height:20px;border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.st-palette-item .swatch svg{width:11px;height:11px}.st-palette-item .pname{font-size:11px;font-weight:600}.st-palette-item .pkey{margin-left:auto;font-size:9px;font-family:var(--mono);color:var(--text-faint);border:1px solid var(--line-soft);border-radius:3px;padding:1px 4px}.st-outline-search-wrap{position:relative;margin-bottom:8px}.st-outline-search-wrap svg{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:12px;height:12px;color:var(--text-faint);pointer-events:none}.st-outline-search{width:100%;background:var(--surface2);border:1px solid var(--line);border-radius:6px;padding:7px 8px 7px 26px;font-size:12px;outline:none}.st-outline-search:focus{border-color:#4a4e57}.st-outline-list{flex:1;overflow-y:auto;padding:0 6px 12px}.st-outline-row{display:flex;align-items:center;gap:7px;padding:6px;border-radius:6px;cursor:pointer;font-size:12px;color:var(--text-dim);border:1px solid transparent}.st-outline-row:hover{background:var(--surface2)}.st-outline-row.active{background:var(--surface3);color:var(--text);border-color:var(--line)}.st-outline-row .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.st-outline-row .oname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.st-outline-row .oflag{width:6px;height:6px;border-radius:50%;flex-shrink:0}.st-outline-row .oflag.warn{background:var(--amber)}.st-outline-row .oflag.err{background:var(--red)}.st-canvas-slot{grid-area:canvas;position:relative;height:100%;min-height:0;min-width:0}.st-canvas-wrap{position:relative;overflow:hidden;background:var(--bg);height:100%;width:100%}.st-canvas-wrap .react-flow__background{background:var(--bg)}.st-canvas-wrap .react-flow__attribution{display:none}.st-canvas-hint{position:absolute;left:50%;top:14px;transform:translate(-50%);z-index:10;font-size:11px;color:var(--text-faint);background:#1a1c20b3;border:1px solid var(--line-soft);padding:5px 11px;border-radius:20px;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.st-node-card{width:220px;border-radius:9px;background:var(--surface2);border:1px solid var(--line);box-shadow:var(--shadow);cursor:pointer;-webkit-user-select:none;user-select:none;transition:box-shadow .12s,border-color .12s}.st-node-card:hover{border-color:#484c55}.st-node-card.selected{box-shadow:0 0 0 2px #cfd2d8,var(--shadow)}.st-node-card.pulse{animation:st-node-pulse .9s ease-in-out 2}.st-node-card.diff-added{box-shadow:0 0 0 2px var(--green),var(--shadow);border-style:dashed;border-color:var(--green)}.st-node-card.diff-ghost{opacity:.9}.st-node-card.diff-modified{box-shadow:0 0 0 2px var(--amber),var(--shadow)}.st-node-card.diff-deleted{box-shadow:0 0 0 2px var(--red),var(--shadow);border-style:dashed;border-color:var(--red);opacity:.55}.studio-root .react-flow__edge.st-edge-diff-added .react-flow__edge-path{stroke:var(--green);stroke-dasharray:5 3}.studio-root .react-flow__edge.st-edge-diff-deleted .react-flow__edge-path{stroke:var(--red);stroke-dasharray:5 3;opacity:.6}@keyframes st-node-pulse{0%,to{box-shadow:0 0 0 2px var(--amber),var(--shadow)}50%{box-shadow:0 0 0 5px var(--amber),var(--shadow)}}.st-node-head{display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:8px 8px 0 0;border-bottom:1px solid var(--line-soft)}.st-node-head svg{width:12px;height:12px;flex-shrink:0}.st-node-head .ntitle{font-size:11.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.st-node-head .ornament{width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:help}.st-node-head .ornament svg{width:8px;height:8px}.st-node-head .ornament.warn{background:var(--amber);color:#1a1408}.st-node-head .ornament.err{background:var(--red);color:#1a0d0a}.st-node-body{padding:8px 9px 9px}.st-node-sub{font-size:10.5px;color:var(--text-dim);line-height:1.4;margin-bottom:7px}.st-node-thumb{width:100%;height:56px;border-radius:5px;margin-bottom:7px;position:relative;overflow:hidden;background:linear-gradient(135deg,#2c2f36,#1c1e23)}.st-node-thumb.empty{background:transparent;border:1px dashed #3a3d44;display:flex;align-items:center;justify-content:center}.st-node-thumb.empty svg{width:16px;height:16px;color:var(--text-faint)}.st-node-thumb .thumb-label{position:absolute;left:5px;bottom:4px;font-size:8.5px;color:#c9ccd1;text-shadow:0 1px 2px rgba(0,0,0,.6);font-weight:600}.st-asset-dots{display:flex;gap:5px;align-items:center}.st-asset-dots .adot{width:6px;height:6px;border-radius:50%;background:#3a3d44}.st-asset-dots .adot.done{background:var(--green)}.st-asset-dots .adot.running{background:var(--amber)}.st-asset-dots .adot.refused{background:var(--red)}.st-asset-dots .alabel{font-size:8.5px;color:var(--text-faint);font-family:var(--mono);margin-left:2px}.st-port-row{display:flex;align-items:center;gap:6px;padding:4.5px 0;font-size:10.5px;border-top:1px solid var(--line-soft);position:relative}.st-port-row:first-of-type{border-top:none}.st-port-row .pname{flex:1;color:var(--text)}.st-port-row .ptimer{color:var(--text-faint);font-size:9px}.st-port-row .pdot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.st-node-achievement{display:flex;align-items:center;gap:7px;padding:8px 10px}.st-node-achievement svg{width:14px;height:14px;flex-shrink:0}.st-node-achievement .atitle{font-size:11px;font-weight:700}.st-stars-row{display:flex;gap:2px;margin-bottom:4px}.st-stars-row svg{width:11px;height:11px}.st-deadend-tag{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:700;color:var(--deadend);text-transform:uppercase;letter-spacing:.04em}.st-deadend-tag svg{width:9px;height:9px}.studio-root .react-flow__handle{width:8px;height:8px;border:1px solid var(--bg);background:var(--text-dim);border-radius:50%}.studio-root .react-flow__handle-right{right:-4px}.studio-root .react-flow__handle-left{left:-4px}.studio-root .react-flow__handle.connecting{background:var(--accent)}.studio-root .react-flow__handle-valid{background:var(--green)!important}.studio-root .react-flow__handle.invalid-target{background:var(--red)!important}.studio-root .react-flow__edge-path{stroke:#484c55;stroke-width:1.6}.studio-root .react-flow__edge.selected .react-flow__edge-path{stroke:#cfd2d8;stroke-width:2.2}.studio-root .react-flow__edge:hover .react-flow__edge-path{stroke:#7a7f89;stroke-width:2.2}.studio-root .react-flow__edge.st-edge-error .react-flow__edge-path{stroke:var(--red)}.studio-root .react-flow__edge.st-edge-warn .react-flow__edge-path{stroke:var(--amber)}.studio-root .react-flow__connectionline path{stroke:var(--text-dim);stroke-width:1.6}.studio-root .react-flow__minimap{background:#1a1c20e6;border:1px solid var(--line);border-radius:8px}.studio-root .react-flow__controls{box-shadow:none}.studio-root .react-flow__controls-button{background:var(--surface2);border:1px solid var(--line);border-bottom:none;fill:var(--text-dim)}.studio-root .react-flow__controls-button:hover{background:var(--surface3)}.studio-root .react-flow__selection{background:#e7e9ec0f;border:1px dashed #565a63}.studio-root .react-flow__node.selected{z-index:10}.st-right-inspector{grid-area:right;background:var(--surface);border-left:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}.st-inspector-header{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--line-soft)}.st-inspector-header .itype-swatch{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.st-inspector-header .itype-swatch svg{width:13px;height:13px}.st-inspector-header .ititles{min-width:0;flex:1}.st-inspector-header .ilabel{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:700}.st-inspector-header .iname{font-size:12.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-inspector-body{flex:1;overflow-y:auto;padding:12px}.st-inspector-empty{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--text-faint);padding:20px;text-align:center}.st-inspector-empty svg{width:26px;height:26px;opacity:.5}.st-inspector-empty p{font-size:11.5px;margin:0;line-height:1.5}.st-field-group{margin-bottom:16px}.st-field-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-bottom:6px;display:flex;align-items:center;justify-content:space-between}.st-field-input,.st-field-select,.st-field-textarea{width:100%;background:var(--surface3);border:1px solid var(--line);border-radius:6px;padding:7px 9px;font-size:12px;outline:none;resize:vertical}.st-field-input:focus,.st-field-select:focus,.st-field-textarea:focus{border-color:#565a63}.st-field-textarea{min-height:52px;line-height:1.5;font-family:inherit}.st-field-hint{font-size:10px;color:var(--text-faint);margin-top:5px;line-height:1.4}.st-chip-row{display:flex;flex-wrap:wrap;gap:6px}.st-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:20px;background:var(--surface3);border:1px solid var(--line);font-size:11px;cursor:pointer}.st-chip.on{background:var(--scene-bg);border-color:var(--scene-line);color:var(--scene)}.st-dialogue-row{border:1px solid var(--line);border-radius:7px;padding:8px;margin-bottom:7px;background:var(--surface3)}.st-dialogue-row-head{display:flex;align-items:center;gap:7px;margin-bottom:6px}.st-dialogue-row-head .char-tag{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;background:var(--surface2);border:1px solid var(--line)}.st-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:2px 0}.st-toggle{width:32px;height:18px;border-radius:20px;background:var(--surface3);border:1px solid var(--line);position:relative;cursor:pointer;flex-shrink:0}.st-toggle .knob{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--text-faint);top:1px;left:1px;transition:.15s}.st-toggle.on{background:var(--scene-line);border-color:var(--scene)}.st-toggle.on .knob{left:15px;background:var(--scene)}.st-asset-panel{border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--surface3)}.st-asset-panel-row{display:flex;align-items:center;gap:7px;padding:5px 0;font-size:11.5px}.st-asset-panel-row .adot{width:7px;height:7px;border-radius:50%;background:#3a3d44;flex-shrink:0}.st-asset-panel-row .aname{flex:1;color:var(--text-dim)}.st-btn-sm{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;height:26px;border-radius:6px;border:1px solid var(--line);background:var(--surface2);font-size:11px;font-weight:600;cursor:pointer}.st-btn-sm:hover{background:var(--surface);border-color:#565a63}.st-btn-sm:disabled{opacity:.4;cursor:default}.st-btn-sm svg{width:11px;height:11px}.st-option-row{border:1px solid var(--line);border-radius:7px;padding:9px;margin-bottom:8px;background:var(--surface3)}.st-option-row-head{display:flex;align-items:center;gap:6px;margin-bottom:7px}.st-option-row-head .portname-badge{font-size:9.5px;font-family:var(--mono);padding:2px 6px;border-radius:4px;background:var(--choice-bg);color:var(--choice);border:1px solid var(--choice-line)}.st-option-row-head .timeout-badge{font-size:9px;color:var(--text-faint);margin-left:auto;display:flex;align-items:center;gap:4px}.st-mini-field{margin-bottom:6px}.st-mini-field-label{font-size:9.5px;color:var(--text-faint);margin-bottom:3px;text-transform:uppercase;letter-spacing:.04em}.st-case-row{display:flex;align-items:center;gap:6px;padding:6px 0;border-top:1px solid var(--line-soft);font-size:11.5px}.st-case-row:first-child{border-top:none}.st-case-row .case-pred{font-family:var(--mono);font-size:11px;color:var(--branch);background:var(--branch-bg);border:1px solid var(--branch-line);padding:3px 7px;border-radius:4px}.st-case-row .case-arrow{color:var(--text-faint)}.st-case-row .case-target{color:var(--text-dim);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-bottom-drawer{position:absolute;left:0;right:0;bottom:0;height:260px;background:var(--surface);border-top:1px solid var(--line);z-index:50;display:flex;flex-direction:column;transform:translateY(calc(100% - 34px));transition:transform .18s ease-out}.st-bottom-drawer.open{transform:translateY(0)}.st-drawer-tabs{display:flex;align-items:center;height:34px;border-bottom:1px solid var(--line-soft);padding:0 6px;flex-shrink:0}.st-drawer-tab{display:flex;align-items:center;gap:6px;height:100%;padding:0 12px;font-size:11.5px;font-weight:600;color:var(--text-faint);border-bottom:2px solid transparent;cursor:pointer;background:none;border-top:none;border-left:none;border-right:none}.st-drawer-tab.active{color:var(--text);border-bottom-color:#cfd2d8}.st-drawer-tab .count-pill{font-size:9.5px;padding:1px 6px;border-radius:10px;background:var(--surface3);color:var(--text-dim);font-family:var(--mono)}.st-drawer-tab.warn .count-pill{background:#d1a44f29;color:var(--amber)}.st-drawer-tab.err .count-pill{background:#d9705f29;color:var(--red)}.st-drawer-spacer{flex:1}.st-drawer-caret{width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:var(--text-faint);cursor:pointer;background:none;border:none}.st-drawer-caret svg{width:12px;height:12px;transition:transform .18s}.st-bottom-drawer.open .st-drawer-caret svg{transform:rotate(180deg)}.st-drawer-panel{flex:1;overflow-y:auto;padding:10px 14px}.st-validation-item{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:8px;border:1px solid var(--line);background:var(--surface2);margin-bottom:8px;cursor:pointer}.st-validation-item:hover{border-color:#565a63;background:var(--surface3)}.st-validation-item .vicon{display:block;width:14px;height:14px;flex-shrink:0;margin-top:1px}.st-validation-item.err .vicon{color:var(--red)}.st-validation-item.warn .vicon{color:var(--amber)}.st-validation-item .vtext{flex:1}.st-validation-item .vmsg{font-size:11.5px;color:var(--text);line-height:1.5;margin-bottom:3px}.st-validation-item .vnode{font-size:10px;color:var(--text-faint);font-family:var(--mono)}.st-validation-empty{color:var(--text-faint);font-size:12px;padding:16px;text-align:center}.st-queue-empty{color:var(--text-faint);font-size:12px;padding:24px;text-align:center}.st-var-table{width:100%;border-collapse:collapse;font-size:11.5px}.st-var-table th{text-align:left;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-weight:700;padding:0 10px 7px;border-bottom:1px solid var(--line-soft)}.st-var-table td{padding:8px 10px;border-bottom:1px solid var(--line-soft);color:var(--text-dim);white-space:nowrap}.st-var-table tr:last-child td{border-bottom:none}.st-var-type-tag{font-family:var(--mono);font-size:10px;padding:2px 7px;border-radius:4px;background:var(--surface3);border:1px solid var(--line);color:var(--text-dim);text-transform:uppercase}.st-var-usage-chip{font-size:11px;color:var(--text-dim);padding:3px 9px;border-radius:12px;background:var(--surface3);border:1px solid var(--line);cursor:pointer;display:inline-block}.st-var-usage-chip:hover{border-color:#565a63;color:var(--text)}.st-var-usage-chip.disabled{cursor:default;opacity:.5}.st-var-live{font-family:var(--mono);color:var(--text);transition:color .5s}.st-var-live.tick{color:var(--amber);font-weight:700}.st-var-act-btn{width:24px;height:24px;border-radius:5px;border:1px solid var(--line);background:var(--surface2);cursor:pointer;font-size:11px;display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:0}.st-var-act-btn:hover{border-color:#565a63;background:var(--surface3)}.st-var-act-btn svg{width:11px;height:11px;color:var(--text-dim)}.st-var-add-row{cursor:pointer;color:var(--text-faint)}.st-var-add-row td{display:flex;align-items:center;gap:6px;padding:9px 10px;font-size:11.5px}.st-var-add-row:hover{color:var(--text-dim)}.st-var-add-row svg{width:11px;height:11px}.st-var-blocked-inline{display:flex;align-items:center;gap:8px;padding:8px;background:#d9705f1a;border:1px solid rgba(217,112,95,.28);border-radius:6px;color:var(--red);font-size:11.5px}.st-var-blocked-inline svg{width:13px;height:13px;flex-shrink:0}.st-var-blocked-inline .dismiss{margin-left:auto;font-size:10.5px;border:1px solid var(--line);background:var(--surface2);border-radius:4px;padding:2px 8px;cursor:pointer;color:var(--text-dim)}.st-mini-input{height:24px;padding:3px 7px;font-size:11.5px}.st-cmdk-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:#0a0b0d8c;display:flex;align-items:flex-start;justify-content:center;padding-top:14vh}.st-cmdk{width:480px;max-height:60vh;background:var(--surface2);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}.st-cmdk-input-row{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line-soft)}.st-cmdk-input-row svg{width:14px;height:14px;color:var(--text-faint)}.st-cmdk-input{flex:1;background:none;border:none;outline:none;font-size:13px}.st-cmdk-list{overflow-y:auto;padding:6px}.st-cmdk-row{display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:7px;cursor:pointer;font-size:12.5px}.st-cmdk-row.active{background:var(--surface3)}.st-cmdk-row .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.st-cmdk-row .oname{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-cmdk-empty{padding:20px;text-align:center;color:var(--text-faint);font-size:12px}.st-director-dock{position:absolute;right:12px;bottom:12px;width:360px;z-index:100;background:var(--surface2);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;max-height:min(600px,calc(100% - 90px))}.st-director-dock.collapsed .dock-body{display:none}.st-director-dock .dock-header{display:flex;align-items:center;gap:8px;padding:11px 12px;cursor:pointer;border-bottom:1px solid var(--line-soft)}.st-director-dock.collapsed .dock-header{border-bottom:none}.st-director-dock .dock-header svg.dicon{width:14px;height:14px;color:var(--text-dim)}.st-director-dock .dtitle{font-size:12px;font-weight:700;flex:1}.st-director-dock .dock-status-dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}.st-director-dock .dock-status-dot.busy{background:var(--amber);animation:st-dock-pulse 1s ease-in-out infinite}.st-director-dock .dock-status-dot.error{background:var(--red)}@keyframes st-dock-pulse{0%,to{opacity:1}50%{opacity:.35}}.st-director-dock .chev{width:11px;height:11px;color:var(--text-faint);transition:transform .15s;flex-shrink:0}.st-director-dock.collapsed .chev{transform:rotate(180deg)}.st-director-dock .dock-body{display:flex;flex-direction:column;min-height:0;flex:1}.st-dock-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px;max-height:380px}.st-dock-empty-note{font-size:11px;color:var(--text-faint);line-height:1.5;padding:2px 2px 8px}.st-dmsg{display:flex;gap:8px;max-width:100%}.st-dmsg-avatar{width:20px;height:20px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--surface3);border:1px solid var(--line)}.st-dmsg-avatar svg{width:11px;height:11px;color:var(--text-dim)}.st-dmsg-bubble{background:var(--surface3);border:1px solid var(--line-soft);border-radius:9px;padding:8px 10px;font-size:11.5px;line-height:1.5;color:var(--text-dim);white-space:pre-wrap}.st-dmsg.user .st-dmsg-bubble{background:#26282e;color:var(--text)}.st-dmsg.status .st-dmsg-bubble{font-family:var(--mono);font-size:10.5px;color:var(--text-faint);background:transparent;border-style:dashed}.st-dmsg.error .st-dmsg-bubble{color:var(--red);border-color:#d9705f59}.st-proposal-card{border:1px solid #4a4230;background:var(--choice-bg);border-radius:9px;padding:11px;margin-left:28px}.st-proposal-card .pc-head{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--choice);margin-bottom:8px}.st-proposal-card .pc-head svg{width:12px;height:12px;flex-shrink:0}.st-proposal-card .pc-ops{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:5px}.st-proposal-card .pc-ops li{display:flex;align-items:flex-start;gap:6px;font-size:11px;color:var(--text);line-height:1.45}.st-proposal-card .pc-ops li svg{width:10px;height:10px;margin-top:3px;color:var(--choice);flex-shrink:0}.st-proposal-actions{display:flex;gap:6px}.st-proposal-actions .btn-accept{flex:1;height:27px;border-radius:6px;border:1px solid #4a5c3f;background:#6fae7a29;color:var(--green);font-size:11px;font-weight:700;cursor:pointer}.st-proposal-actions .btn-reject{flex:1;height:27px;border-radius:6px;border:1px solid #5c3f3f;background:#d9705f24;color:var(--red);font-size:11px;font-weight:700;cursor:pointer}.st-proposal-actions .btn-accept:hover{background:#6fae7a42}.st-proposal-actions .btn-reject:hover{background:#d9705f3d}.st-proposal-applied{font-size:11px;font-weight:700;display:flex;align-items:center;gap:6px}.st-proposal-applied.ok{color:var(--green)}.st-proposal-applied.no{color:var(--red)}.st-diff-toggle-row{display:flex;align-items:center;gap:7px;margin-top:9px;padding-top:9px;border-top:1px solid #4a4230}.st-diff-toggle-row span{font-size:10.5px;color:var(--text-dim)}.st-diff-toggle{width:30px;height:17px;border-radius:10px;background:var(--surface3);border:1px solid var(--line);position:relative;cursor:pointer;flex-shrink:0}.st-diff-toggle .knob{width:12px;height:12px;border-radius:50%;background:var(--text-faint);position:absolute;top:1px;left:1px;transition:left .12s}.st-diff-toggle.on{background:#6fae7a38;border-color:#4a5c3f}.st-diff-toggle.on .knob{left:14px;background:var(--green)}.st-dock-input-row{display:flex;align-items:center;gap:7px;padding:10px 12px;border-top:1px solid var(--line-soft)}.st-dock-input{flex:1;background:var(--surface3);border:1px solid var(--line);border-radius:20px;padding:8px 13px;font-size:12px;outline:none;color:var(--text)}.st-dock-input:focus{border-color:#565a63}.st-dock-round-btn{width:30px;height:30px;border-radius:50%;background:var(--surface3);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.st-dock-round-btn svg{width:13px;height:13px;color:var(--text-dim)}.st-dock-round-btn:hover{border-color:#565a63}.st-dock-round-btn:disabled{opacity:.4;cursor:default}.st-dock-round-btn.send{background:#3a3d44}.st-dock-round-btn.mic.active{background:#d9705f2e;border-color:var(--red)}.st-dock-round-btn.mic.active svg{color:var(--red)}.st-dock-provider-row{display:flex;align-items:center;gap:6px;padding:0 12px 8px}.st-dock-provider-row select{flex:1;background:var(--surface3);border:1px solid var(--line);border-radius:6px;color:var(--text-dim);font-size:10.5px;padding:3px 6px}.st-testrun-backdrop{position:absolute;top:54px;right:16px;bottom:246px;z-index:300;display:flex;align-items:flex-start;justify-content:flex-end;pointer-events:none}.st-testrun-backdrop>div{pointer-events:auto}.st-testrun-frame{width:300px;height:640px;border-radius:34px;background:#0c0d10;border:6px solid #0c0d10;box-shadow:0 20px 60px #0009;position:relative;overflow:hidden;display:flex;flex-direction:column}.st-testrun-header{flex-shrink:0;padding:8px 12px 6px;background:#131418;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.st-testrun-header-top{display:flex;align-items:center;justify-content:space-between}.st-testrun-title{font-size:11px;font-weight:700;color:var(--text-dim)}.st-testrun-close{width:22px;height:22px;border-radius:50%;background:var(--surface2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer}.st-testrun-close svg{width:10px;height:10px;color:var(--text-dim)}.st-var-readout{display:flex;flex-wrap:wrap;gap:4px;font-size:9.5px;font-family:var(--mono);color:var(--text-faint)}.st-var-readout .vr-item b{color:var(--text);transition:color .4s}.st-var-readout .vr-item.tick b{color:var(--amber)}.st-var-readout .vr-dot{margin:0 4px;opacity:.5}.st-testrun-body{flex:1;min-height:0;position:relative;background:#000}.st-testrun-close-btn{position:absolute;top:-34px;right:0}.st-context-menu{position:fixed;z-index:500;background:var(--surface2);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:5px;min-width:180px}.st-ctx-item{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:5px;font-size:12px;cursor:pointer;background:none;border:none;width:100%;text-align:left}.st-ctx-item:hover{background:var(--surface3)}.st-ctx-item svg{width:12px;height:12px;color:var(--text-dim)}.st-ctx-item.danger{color:var(--red)}.st-ctx-item.danger svg{color:var(--red)}.st-ctx-sep{height:1px;background:var(--line-soft);margin:5px 2px}.st-toast-stack{position:absolute;left:50%;bottom:20px;transform:translate(-50%);z-index:600;display:flex;flex-direction:column;gap:6px;align-items:center}.st-toast{background:var(--surface3);border:1px solid var(--line);border-radius:8px;padding:8px 14px;font-size:12px;box-shadow:var(--shadow)}.st-home{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:40px 48px 60px;-webkit-user-select:text;user-select:text}.st-home-header{max-width:1040px;margin:0 auto 28px}.st-home-title{display:flex;align-items:flex-start;gap:14px}.st-home-title svg{color:var(--text-dim);margin-top:4px;flex-shrink:0}.st-home-title h1{margin:0 0 4px;font-size:20px;font-weight:700;color:var(--text)}.st-home-title p{margin:0;font-size:12.5px;color:var(--text-faint);max-width:620px;line-height:1.5}.st-home-grid{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;align-items:start}.st-home-empty{grid-column:1 / -1;color:var(--text-faint);font-size:12.5px;padding:20px 4px}.st-scenario-card{background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:16px;cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:border-color .12s,transform .12s}.st-scenario-card:hover{border-color:#565a63;transform:translateY(-1px)}.st-scenario-card-title{font-size:13.5px;font-weight:700;color:var(--text)}.st-scenario-card-hook{font-size:11.5px;color:var(--text-dim);line-height:1.5;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.st-scenario-card-meta{display:flex;gap:12px;font-size:10.5px;color:var(--text-faint);font-family:var(--mono)}.st-scenario-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:2px}.st-scenario-card-open{background:none;border:none;color:var(--text-dim);font-size:11.5px;font-weight:600;cursor:pointer;padding:2px}.st-scenario-card-open:hover{color:var(--text)}.st-chip{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;padding:3px 8px;border-radius:12px}.st-chip svg{flex-shrink:0}.st-chip-valid{background:#6fae7a24;color:var(--green)}.st-chip-warn{background:#d1a44f24;color:var(--amber)}.st-chip-error{background:#d9705f24;color:var(--red)}.st-new-scenario-card{grid-column:span 1;background:linear-gradient(165deg,var(--choice-bg),var(--surface2));border:1px solid var(--choice-line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}.st-new-scenario-head{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--choice)}.st-new-scenario-head svg{flex-shrink:0}.st-new-scenario-input,.st-new-scenario-textarea{width:100%;background:var(--surface2);border:1px solid var(--line);border-radius:7px;color:var(--text);font-size:12px;padding:8px 10px;font-family:var(--sans);resize:vertical;outline:none;box-sizing:border-box}.st-new-scenario-input:focus,.st-new-scenario-textarea:focus{border-color:#565a63}.st-new-scenario-row{display:flex;gap:8px;align-items:center}.st-new-scenario-row select{flex:1;background:var(--surface2);border:1px solid var(--line);border-radius:7px;color:var(--text-dim);font-size:11px;padding:6px 8px}.st-new-scenario-submit{flex-shrink:0;height:32px;padding:0 14px;border-radius:7px;border:1px solid #4a5c3f;background:#6fae7a2e;color:var(--green);font-size:11.5px;font-weight:700;cursor:pointer}.st-new-scenario-submit:hover:not(:disabled){background:#6fae7a47}.st-new-scenario-submit:disabled{opacity:.5;cursor:default}.st-new-scenario-error{color:var(--red);font-size:11px}.st-queue{display:flex;flex-direction:column;gap:10px;height:100%}.st-queue-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.st-queue-toolbar .st-btn-sm{flex:none;padding:0 10px}.st-queue-result{font-size:11px;color:var(--text-dim);background:var(--surface2);border:1px solid var(--line);border-radius:6px;padding:6px 10px}.st-queue-summary{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-dim);font-family:var(--mono)}.st-queue-spend{color:var(--text);font-weight:700}.st-queue-risks{display:flex;flex-direction:column;gap:5px}.st-queue-risk-row{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--red);background:#d9705f1a;border:1px solid rgba(217,112,95,.28);border-radius:6px;padding:7px 10px;cursor:pointer}.st-queue-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1}.st-queue-row{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--surface2);cursor:pointer}.st-queue-row:hover{border-color:#565a63;background:var(--surface3)}.st-queue-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--text-faint)}.st-queue-dot-pending{background:var(--text-faint)}.st-queue-dot-running{background:var(--amber);animation:st-dock-pulse 1s ease-in-out infinite}.st-queue-dot-done{background:var(--green)}.st-queue-dot-refused{background:var(--red)}.st-queue-dot-failed{background:var(--deadend)}.st-queue-row-main{flex:1;min-width:0}.st-queue-row-label{font-size:11.5px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.st-queue-tag{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:8px;background:var(--surface3);color:var(--text-dim)}.st-queue-row-sub{font-size:10.5px;color:var(--text-faint);font-family:var(--mono);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-queue-row-refused .st-queue-row-sub,.st-queue-row-failed .st-queue-row-sub{color:var(--red);white-space:normal}.st-queue-row-actions{display:flex;gap:6px;flex-shrink:0}.st-queue-row-actions .st-btn-sm{flex:none;padding:0 9px;height:24px;font-size:10.5px}.st-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0607088c;display:flex;align-items:center;justify-content:center;z-index:100}.st-modal{width:460px;max-width:calc(100vw - 40px);max-height:calc(100vh - 60px);overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 60px #00000080}.st-modal-head{display:flex;align-items:center;gap:9px;padding:16px 18px;border-bottom:1px solid var(--line-soft)}.st-modal-head svg{width:15px;height:15px;color:var(--choice)}.st-modal-head h2{font-size:14px;font-weight:700;color:var(--text)}.st-modal-body{padding:16px 18px;font-size:12px;color:var(--text-dim);line-height:1.5}.st-modal-error{color:var(--red)}.st-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--line-soft)}.st-promote-table{width:100%;border-collapse:collapse;margin-bottom:14px}.st-promote-table td{padding:5px 0;font-size:12px;color:var(--text-dim);vertical-align:top}.st-promote-table td:last-child{text-align:right;color:var(--text);font-family:var(--mono)}.st-promote-total-row td{border-top:1px solid var(--line-soft);padding-top:8px;font-weight:700;color:var(--text)}.st-promote-scene-list{list-style:none;margin:0 0 14px;padding:10px 12px;background:var(--surface2);border:1px solid var(--line);border-radius:8px;max-height:160px;overflow-y:auto;font-size:11.5px;color:var(--text-dim)}.st-promote-scene-list li{padding:3px 0;display:flex;align-items:center;gap:6px}.st-promote-x2{font-size:9.5px;font-weight:700;color:var(--choice);background:var(--choice-bg);padding:1px 6px;border-radius:8px}.st-promote-fine-print{font-size:10.5px;color:var(--text-faint);line-height:1.5;margin:0}.st-promote-source{font-family:var(--mono);word-break:break-all}.st-preview{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#000}.st-preview video,.st-preview img{display:block;width:100%;aspect-ratio:9 / 16;max-height:380px;object-fit:contain;background:#000}.st-preview--empty{padding:14px;font-size:11.5px;color:var(--text-faint);background:var(--surface3)}.st-preview-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 9px;font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--text-faint);background:var(--surface3);border-top:1px solid var(--line)}.st-preview-voices{display:flex;gap:4px}.st-preview-voices .st-btn-sm.on{border-color:var(--accent, #7aa2f7);color:var(--accent, #7aa2f7)}
