:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--theme-color:#101214;--bg:#101214;--ink:#f1f2f3;--muted:#9ba1a8;--line:#ffffff1f;--accent:#d4d9de;--accent-rgb:212, 217, 222;--on-accent:#101214;--tone-warm:#d4d9de;--tone-warm-rgb:212, 217, 222;--tone-neutral:#d4d9de;--tone-neutral-rgb:212, 217, 222;--tone-cold:#d4d9de;--tone-cold-rgb:212, 217, 222;--tone-hostile:#d4d9de;--tone-hostile-rgb:212, 217, 222;--tone-playful:#d4d9de;--tone-playful-rgb:212, 217, 222;--tone-fearful:#d4d9de;--tone-fearful-rgb:212, 217, 222;--tone-confident:#d4d9de;--tone-confident-rgb:212, 217, 222;--tone-deceptive:#d4d9de;--tone-deceptive-rgb:212, 217, 222;--background-image:none;--background-effects:linear-gradient(145deg, #15181b, #0c0e10);--topbar-background:#101214d1;--status-ready:#aeb5bc;--status-ready-glow:#aeb5bc66;--status-busy:#c8b27d;--status-busy-glow:#c8b27d66;--control-background:#ffffff08;--scrollbar-thumb:#ffffff29;--stamp:#7e858c;--avatar-ink:#d0d3d6;--avatar-background:#1a1d21;--message-meta:#747b82;--bubble-ink:#d0d3d6;--bubble-background:#1c1f23c7;--latest-bubble-ink:#eeeeec;--latest-bubble-shadow:0 12px 40px #0000002b;--dock-background:linear-gradient(90deg, #111316fa, #16191cf2);--dock-shadow:0 -24px 68px #0000003d;--outer-wheel-border:#ffffff21;--outer-wheel-background:radial-gradient(circle, #30343a, #1c2025 63%, #101215 100%);--outer-wheel-shadow:inset 0 0 65px #000000a6, 20px 0 65px #00000059;--inner-wheel-border:#ffffff29;--inner-wheel-background:radial-gradient(circle, #2d3137, #1c2025 72%, #101215 100%);--inner-wheel-shadow:inset 0 0 45px #0009, 0 0 0 7px #06080bb8, 16px 0 38px #00000057;--wheel-hub-border:#ffffff1f;--wheel-hub-background:#121519;--wheel-hub-shadow:inset 0 0 20px #000000c7;--wheel-ink:#d5d7db;--wheel-label-shadow:0 2px 8px #000000e6;--composer-background:#0f1114cc;--input-background:#ffffff0a;--gate-backdrop:#050607bd;--gate-background:linear-gradient(145deg, #1d2024fa, #0f1114fa);--gate-shadow:0 30px 100px #0000008a;--badge-background:#ffffff0f;--saved-game-background:#ffffff06;--toast-background:#0f1114f5;--toast-shadow:0 17px 48px #00000073;--complete-ink:#e1e4e2;--dock-height:233.6px;--topbar-height:calc(50px + max(8px, env(safe-area-inset-top)));--outer-size:654px;--inner-size:404px;--wheel-x:min(clamp(240px, 38%, 420px), calc(100% - var(--outer-size) / 2 - 12px));--ease:cubic-bezier(.22, .8, .24, 1)}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--ink);background-color:var(--bg);background-image:var(--background-image), var(--background-effects);-webkit-font-smoothing:antialiased;background-position:50%,50%;background-size:cover,auto;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}button,textarea,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.app{width:100%;min-width:0;height:100svh;min-height:calc(var(--topbar-height) + 160px + var(--dock-height));grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-height) minmax(160px, 1fr) auto;display:grid}.topbar{z-index:20;min-width:0;padding:max(8px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) 8px max(18px, env(safe-area-inset-left));border-bottom:1px solid var(--line);background:var(--topbar-background);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;gap:20px;display:flex;position:relative}.brand{flex:auto;align-items:center;gap:11px;min-width:0;display:flex}.brand>div{min-width:0}.brand .eyebrow{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-mark{object-fit:contain;width:35px;height:35px;filter:drop-shadow(0 0 9px rgba(var(--accent-rgb), .2))}.eyebrow{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:0 0 2px;font:650 9px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}h1{letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;font-weight:620;overflow:hidden}.topbar-actions,.mission-status{align-items:center;display:flex}.topbar-actions{flex:none;gap:14px}.current-user{max-width:150px;color:var(--ink);letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;font:650 9px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}.mission-status{color:var(--muted);white-space:nowrap;gap:9px;font-size:11px}.mission-status:before{content:"";background:var(--status-ready);width:6px;height:6px;box-shadow:0 0 9px var(--status-ready-glow);border-radius:50%}.mission-status.is-busy:before{background:var(--status-busy);box-shadow:0 0 9px var(--status-busy-glow);animation:1.1s ease-in-out infinite pulse}.reset-button{border:1px solid var(--line);color:var(--muted);background:var(--control-background);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border-radius:8px;padding:7px 10px;font-size:9px}.reset-button:hover{border-color:var(--accent);color:var(--ink)}h1[tabindex="-1"]:focus{outline:none}.conversation{overscroll-behavior:contain;scrollbar-color:var(--scrollbar-thumb) transparent;min-width:0;min-height:0;position:relative;overflow-y:auto}.conversation:after{content:"";z-index:4;background:linear-gradient(transparent, var(--bg));pointer-events:none;height:34px;margin-top:-34px;display:block;position:sticky;bottom:0}.thread{flex-direction:column;justify-content:flex-end;gap:18px;width:min(840px,100% - 36px);min-height:100%;margin:0 auto;padding:clamp(28px,5vh,58px) 0 36px;display:flex}.scene-stamp{max-width:100%;color:var(--stamp);letter-spacing:.13em;text-align:center;overflow-wrap:anywhere;text-transform:uppercase;align-self:center;align-items:center;gap:10px;font:650 9px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:flex}.current-scene,.scene-history section{flex-direction:column;gap:18px;min-width:0;display:flex}.scene-history summary{cursor:pointer;color:var(--stamp);padding:10px 0}.scene-history section{margin:18px 0}.scene-stamp:before,.scene-stamp:after{content:"";background:var(--line);width:38px;height:1px}.message{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:11px;width:min(680px,88%);max-width:100%;display:grid}.message>div{min-width:0}.message.player{grid-template-columns:minmax(0,1fr);align-self:flex-end}.avatar{border:1px solid var(--line);width:34px;height:34px;color:var(--avatar-ink);background:var(--avatar-background);border-radius:50%;place-items:center;font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:grid}.message-meta{align-items:baseline;gap:9px;margin-bottom:6px;display:flex}.message-meta strong{font-size:11px;font-weight:650}.message-meta span{color:var(--message-meta);font:9px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.bubble{overflow-wrap:anywhere;border:1px solid var(--line);min-width:0;color:var(--bubble-ink);background:var(--bubble-background);white-space:pre-wrap;border-radius:3px 14px 14px;padding:12px 15px;font-size:clamp(12px,1.1vw,14px);line-height:1.55}.player .bubble{border-color:rgba(var(--accent-rgb), .18);background:rgba(var(--accent-rgb), .065);border-radius:14px 3px 14px 14px}.message.latest .bubble{border-color:rgba(var(--accent-rgb), .32);color:var(--latest-bubble-ink);box-shadow:var(--latest-bubble-shadow)}.reacting-to{color:var(--accent);letter-spacing:.11em;text-transform:uppercase;margin:8px 0 0 45px;font:650 9px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.action-dock{z-index:10;border-top:1px solid var(--line);background:var(--dock-background);min-width:0;box-shadow:var(--dock-shadow);position:relative;overflow:visible}.action-dock.is-disabled{filter:saturate(.42)}.action-dock.is-interlude .dock-kicker{display:none}.dock-grid{min-height:calc(var(--dock-height) - 1px);grid-template-columns:minmax(0,1fr);display:grid}.action-dock.is-interlude .dock-grid{grid-template-columns:1fr}.action-dock.is-interlude .wheel-pane{display:none}.action-dock.is-interlude .composer{border-left:0;border-right:1px solid var(--line);width:min(680px,100%);margin:0 auto}.wheel-pane{width:max(0px,100% - 390px);min-width:0;min-height:0;transition:opacity .32s var(--ease);grid-area:1/1;position:relative;overflow:hidden}.action-dock.is-freeform .wheel-pane{opacity:0}.action-dock.is-freeform .dock-kicker{opacity:0;visibility:hidden}.dock-kicker{transition:opacity .28s var(--ease), visibility .28s;z-index:18;max-width:100%;padding:5px max(18px, env(safe-area-inset-right)) 6px max(18px, env(safe-area-inset-left));border:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-align:left;text-transform:uppercase;background:#111316fa;border-bottom:0;border-left:0;border-radius:0 10px 0 0;font:600 8px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;position:absolute;top:0;left:0;transform:translateY(-100%);box-shadow:0 -8px 22px #00000038}.dock-kicker:after{content:"";background:#111316fa;height:2px;position:absolute;bottom:-1px;left:0;right:0}.dock-kicker b{color:var(--accent)}.dock-kicker a{color:var(--accent);text-underline-offset:3px}.dock-kicker a:hover{color:var(--ink)}.dock-kicker a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.selection-axis{z-index:15;left:var(--wheel-x);width:calc(var(--outer-size) / 2 + 30px);background:linear-gradient(90deg, var(--accent), rgba(var(--accent-rgb), .2), transparent);pointer-events:none;height:1px;box-shadow:0 0 9px rgba(var(--accent-rgb), .3);position:absolute;top:52%}.wheel{left:var(--wheel-x);touch-action:none;border-radius:50%;outline:none;position:absolute;top:52%;transform:translate(-50%,-50%)}.wheel:focus-visible{box-shadow:0 0 0 2px var(--accent)}.wheel--outer{z-index:2;width:var(--outer-size);height:var(--outer-size)}.wheel--inner{z-index:5;width:var(--inner-size);height:var(--inner-size)}.wheel__rotor{transform:rotate(var(--rotation,0deg));transition:transform .42s var(--ease);border-radius:50%;position:absolute;inset:0}.wheel.is-dragging .wheel__rotor{transition:none}.wheel--outer .wheel__rotor{border:1px solid var(--outer-wheel-border);background:var(--outer-wheel-background);box-shadow:var(--outer-wheel-shadow)}.wheel--inner .wheel__rotor{border:1px solid var(--inner-wheel-border);background:var(--inner-wheel-background);box-shadow:var(--inner-wheel-shadow);overflow:hidden}.wheel--inner .wheel__rotor:before{content:"";z-index:2;border:1px solid var(--wheel-hub-border);background:var(--wheel-hub-background);box-shadow:var(--wheel-hub-shadow);pointer-events:none;border-radius:50%;position:absolute;inset:31%}.wheel-item{height:42px;color:var(--wheel-ink);text-align:left;text-transform:uppercase;letter-spacing:.075em;transform-origin:0;cursor:pointer;background:0 0;border:0;outline:0;padding:0;transition:color .17s,filter .17s;display:block;position:absolute;top:calc(50% - 21px);left:50%}.wheel-item:before{content:"";opacity:.42;background:currentColor;height:1px;position:absolute;top:50%;left:0;right:0}.wheel-item .label-ru{white-space:nowrap;max-width:calc(100% - 20px);text-shadow:var(--wheel-label-shadow);line-height:1;display:block;position:absolute;bottom:calc(50% + 4px);left:20px}.wheel-item[aria-current=true]{color:var(--accent);filter:drop-shadow(0 0 7px rgba(var(--accent-rgb), .38))}.wheel-item[aria-current=true]:before{opacity:1;height:2px;box-shadow:0 0 8px rgba(var(--accent-rgb), .42)}.wheel--outer .wheel-item{width:calc(var(--outer-size) * .191);transform:rotate(calc(var(--i) * 30deg)) translateX(calc(var(--outer-size) * .309));font-size:10px}.wheel--inner .wheel-item{z-index:1;width:calc(var(--inner-size) * .35);letter-spacing:.04em;transform:rotate(calc(var(--i) * 30deg)) translateX(calc(var(--inner-size) * .15));font-size:9.5px}.hub-copy{z-index:8;left:var(--wheel-x);width:calc(var(--inner-size) * .25);height:calc(var(--inner-size) * .25);margin:calc(var(--inner-size) * -.125) 0 0 calc(var(--inner-size) * -.125);text-align:center;pointer-events:none;border-radius:50%;place-content:center;gap:3px;display:grid;position:absolute;top:52%}.hub-copy b{color:var(--accent);font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.hub-copy span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:7px}.composer{transition:margin-left .32s var(--ease), margin-top .32s var(--ease);z-index:20;min-width:0;padding:17px max(18px, env(safe-area-inset-right)) max(15px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));border-left:1px solid var(--line);background:var(--composer-background);flex-direction:column;grid-area:1/1;margin-left:max(0px,100% - 390px);display:flex;position:relative}.action-dock.is-freeform .composer{background:var(--dock-background);border-left-color:#0000;margin-left:0}.composer-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.freeform-reset{border:1px solid var(--line);color:var(--muted);background:var(--input-background);cursor:pointer;border-radius:7px;flex-shrink:0;padding:7px 10px;font-size:11px}.freeform-reset:hover{color:var(--ink);border-color:var(--accent)}.composer-kicker{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font:650 8px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.composer h2{letter-spacing:-.045em;margin:0 0 5px;font-size:clamp(20px,2.1vw,29px);font-weight:570;line-height:1.02}.selection-description{color:var(--muted);margin:0;font-size:10px;line-height:1.45}.freeform{min-width:0;margin-top:auto}.freeform-meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 10px;margin-bottom:5px;display:flex}.freeform-hint{color:var(--muted);margin:0;font-size:9px;line-height:1.2}.freeform-hint kbd{border:1px solid var(--line);border-radius:3px;padding:0 3px;font:650 8px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.freeform-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font:650 8px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:block}.freeform-field{position:relative}.freeform-input{resize:none;border:1px solid var(--line);width:100%;height:50px;color:var(--ink);background:var(--input-background);caret-color:var(--accent);border-radius:9px;outline:0;padding:10px 11px;font-size:16px;line-height:1.35;display:block}.freeform-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .12)}.action-dock.is-freeform .freeform{flex-direction:column;flex:1;margin-top:12px;display:flex}.action-dock.is-freeform .freeform-field{flex:1;display:flex}.action-dock.is-freeform .freeform-input{height:100%;min-height:100px}.confirm-button{border:1px solid var(--accent);width:100%;min-height:43px;color:var(--on-accent);background:var(--accent);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:10px;margin-top:8px;font-size:10px;font-weight:780}.skip-interlude-button{border:1px solid var(--line);width:100%;min-height:35px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:10px;margin-top:6px;font-size:9px;font-weight:700}.skip-interlude-button:hover{border-color:rgba(var(--accent-rgb), .5);color:var(--ink)}button:disabled,textarea:disabled{cursor:not-allowed;opacity:.46}.gate{z-index:80;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));background:var(--gate-backdrop);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:minmax(0,1fr);place-items:start center;display:grid;position:fixed;inset:0;overflow-y:auto}.gate-card,.character-card{overflow-wrap:anywhere;border:1px solid rgba(var(--accent-rgb), .28);background:var(--gate-background);width:min(540px,100%);min-width:0;box-shadow:var(--gate-shadow);border-radius:22px;margin:auto 0;padding:clamp(24px,5vw,42px)}.gate-card h2,.character-card h2{letter-spacing:-.045em;margin:8px 0 10px;font-size:clamp(28px,6vw,44px);line-height:.98}.gate-card>p:not(.eyebrow),.character-card>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.55}.login-card{width:min(430px,100%)}.login-form{gap:8px;margin-top:25px;display:grid}.login-form label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:7px;font:650 9px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.login-form input,.login-form select{border:1px solid var(--line);width:100%;height:46px;color:var(--ink);background:var(--input-background);caret-color:var(--accent);border-radius:10px;outline:0;padding:0 13px}.login-form select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 17px) 19px,calc(100% - 12px) 19px;background-repeat:no-repeat;background-size:5px 5px}.login-form input:focus,.login-form select:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .12)}.login-form .confirm-button{margin-top:14px}.library-card{width:min(1040px,100%);max-height:min(820px,100svh - 40px);overflow-y:auto}.library-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.library-heading>div,.menu-heading>div{min-width:0}.library-heading>button,.menu-heading-actions{flex-shrink:0}.library-heading h2{margin-bottom:12px}.library-heading p:last-child{color:var(--muted);margin:0;font-size:13px}.game-cards{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),340px));gap:18px;margin-top:30px;display:grid}.game-card{border:1px solid var(--line);min-width:0;color:var(--ink);background:var(--saved-game-background);text-align:left;cursor:pointer;transition:border-color .18s ease, background .18s ease, transform .22s var(--ease);border-radius:16px;flex-direction:column;padding:0;display:flex;overflow:hidden}.game-card:hover,.game-card:focus-visible,.game-card.is-loading{border-color:var(--accent);background:rgba(var(--accent-rgb), .06);outline:none;transform:translateY(-2px)}.game-card-media{aspect-ratio:16/9;border-bottom:1px solid var(--line);background:var(--input-background);display:block;position:relative;overflow:hidden}.game-card-media:after{content:"";pointer-events:none;background:linear-gradient(#0000 52%,#00000061);position:absolute;inset:0}.game-card-media img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease);display:block}.game-card:hover .game-card-media img{transform:scale(1.025)}.game-card-copy{flex-direction:column;align-items:flex-start;min-height:190px;padding:19px;display:flex}.game-card-kicker{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px;font:650 8px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.game-card-copy strong{letter-spacing:-.035em;font-size:21px;font-weight:650}.game-card-description{color:var(--muted);margin-top:10px;font-size:11px;line-height:1.55}.game-card-action{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;margin-top:auto;padding-top:18px;font:700 9px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.game-card-action b{color:var(--accent);margin-left:5px;font-size:13px}.library-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:14px;grid-column:1/-1;margin:0;padding:34px;font-size:12px;line-height:1.6}.menu-card{width:min(720px,100%);max-height:min(760px,100svh - 40px);overflow-y:auto}.menu-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.menu-heading p:last-child{color:var(--muted);margin:0;font-size:13px}.menu-heading-actions{gap:8px;display:flex}.new-game-button{border:1px solid rgba(var(--accent-rgb), .4);width:100%;color:var(--ink);background:rgba(var(--accent-rgb), .075);text-align:left;cursor:pointer;border-radius:13px;grid-template-rows:auto auto;grid-template-columns:42px minmax(0,1fr);column-gap:13px;margin-top:28px;padding:17px 18px;display:grid}.new-game-button:hover,.new-game-button:focus-visible{border-color:var(--accent);background:rgba(var(--accent-rgb), .12);outline:none}.new-game-button>span{width:42px;height:42px;color:var(--on-accent);background:var(--accent);border-radius:50%;grid-row:1/3;place-items:center;font-size:22px;display:grid}.new-game-button strong{align-self:end;font-size:14px}.new-game-button small{color:var(--muted);margin-top:3px;font-size:10px}.saved-section{margin-top:27px}.saved-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.saved-heading h3{letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:11px}.saved-heading span{min-width:25px;color:var(--muted);background:var(--badge-background);text-align:center;border-radius:20px;padding:3px 7px;font:650 9px/1.2 ui-monospace,monospace}.saved-games{gap:8px;display:grid}.saved-game{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--saved-game-background);border-radius:11px;grid-template-columns:minmax(0,1fr) auto;transition:border-color .18s,background .18s;display:grid;overflow:hidden}.saved-game:hover,.saved-game:focus-within,.saved-game.is-loading{border-color:var(--accent);background:rgba(var(--accent-rgb), .07)}.saved-game-load{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;outline:0;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 14px;display:grid}.saved-game-delete{border:0;border-left:1px solid var(--line);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#00000014;outline:0;align-self:stretch;padding:0 14px;font:650 8px/1.2 ui-monospace,monospace;transition:color .16s,background .16s}.saved-game-delete:hover,.saved-game-delete:focus-visible{color:var(--accent);background:rgba(var(--accent-rgb), .08)}.saved-icon{border:1px solid rgba(var(--accent-rgb), .28);width:34px;height:34px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.saved-copy{gap:3px;min-width:0;display:grid}.saved-copy strong,.saved-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.saved-copy strong{font-size:12px}.saved-copy small{color:var(--muted);font-size:9px}.saved-state{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font:650 8px/1.2 ui-monospace,monospace}.saved-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:11px;margin:0;padding:22px;font-size:11px;line-height:1.55}.character-list{grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;display:grid}.character-button{border:1px solid var(--line);min-width:0;color:var(--ink);background:var(--input-background);text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:38px minmax(0,1fr);align-items:center;column-gap:11px;padding:15px;display:grid}.character-button:hover,.character-button:focus-visible{border-color:var(--accent);background:rgba(var(--accent-rgb), .08);outline:none}.character-button>span{border:1px solid rgba(var(--accent-rgb), .3);width:38px;height:38px;color:var(--accent);border-radius:50%;place-items:center;font:700 10px/1 ui-monospace,monospace;display:grid}.character-button strong{font-size:13px}.gate-note{margin:18px 0 0;font-size:10px!important}.gate-note code{color:var(--accent)}.back-button{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-top:18px;padding:0;font-size:10px}.back-button:hover{color:var(--accent)}.preparation-card{text-align:center;width:min(500px,100%)}.preparation-orbit{border:1px solid rgba(var(--accent-rgb), .38);border-radius:50%;width:76px;height:76px;margin:8px auto 24px;animation:2.4s linear infinite preparation-spin;position:relative}.preparation-orbit:before,.preparation-orbit:after{content:"";border:1px solid rgba(var(--accent-rgb), .2);border-radius:50%;position:absolute;inset:12px}.preparation-orbit:after{background:rgba(var(--accent-rgb), .68);box-shadow:0 0 24px rgba(var(--accent-rgb), .5);inset:27px}.preparation-orbit span{background:var(--accent);width:9px;height:9px;box-shadow:0 0 16px var(--accent);border-radius:50%;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.preparation-text{max-width:380px;min-height:48px;color:var(--muted);margin:12px auto 0;line-height:1.6}.preparation-dots{justify-content:center;margin-top:18px}.toast{z-index:100;left:50%;bottom:calc(var(--dock-height) + 16px);border:1px solid rgba(var(--accent-rgb), .4);max-width:min(420px,100vw - 28px);color:var(--ink);background:var(--toast-background);box-shadow:var(--toast-shadow);text-align:center;opacity:0;pointer-events:none;transition:opacity .18s ease, transform .23s var(--ease);border-radius:11px;padding:11px 15px;font-size:11px;position:fixed;transform:translate(-50%,10px)}.toast.is-visible{opacity:1;transform:translate(-50%)}.typing-indicator[hidden],.gate[hidden]{display:none}.typing-bubble{align-items:center;gap:10px;display:flex}.typing-dots{align-items:center;gap:3px;height:12px;display:inline-flex}.typing-dots i{opacity:.3;background:currentColor;border-radius:50%;width:4px;height:4px;animation:1.15s ease-in-out infinite typing-dot}.typing-dots i:nth-child(2){animation-delay:.16s}.typing-dots i:nth-child(3){animation-delay:.32s}.character-button.is-loading{border-color:var(--accent);background:rgba(var(--accent-rgb), .08)}.complete-note{border:1px solid rgba(var(--accent-rgb), .28);max-width:520px;color:var(--complete-ink);background:rgba(var(--accent-rgb), .07);text-align:center;border-radius:12px;align-self:center;padding:14px 18px;font-size:12px;line-height:1.55}@keyframes typing-dot{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes pulse{50%{opacity:.45}}@keyframes preparation-spin{to{transform:rotate(360deg)}}.person-mention{color:inherit;font:inherit;line-height:inherit;text-align:inherit;-webkit-text-decoration:underline dotted rgba(var(--accent-rgb), .6);text-decoration:underline dotted rgba(var(--accent-rgb), .6);text-underline-offset:.22em;cursor:pointer;appearance:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:3px;margin:0;padding:0;text-decoration-thickness:1px;display:inline}.person-mention:hover,.person-mention[aria-expanded=true]{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.person-mention[aria-expanded=true]{background:rgba(var(--accent-rgb), .1);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .1)}.person-mention:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app>.topbar{grid-column:1/-1}.app>.conversation{grid-area:2/1}.app>.action-dock{grid-area:3/1}.app.has-person{grid-template-columns:minmax(0, 1fr) var(--person-panel-width)}.person-layer{grid-area:2/2/4;min-width:0;min-height:0;display:none}.person-layer.is-open{display:block}.person-backdrop{display:none}.person-panel{overscroll-behavior:contain;height:100%;padding:22px 22px max(22px, env(safe-area-inset-bottom));border-left:1px solid var(--line);background:var(--composer-background);scrollbar-color:var(--scrollbar-thumb) transparent;overflow-y:auto}.person-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;padding-bottom:14px;display:flex}.person-header h2{letter-spacing:-.02em;margin:4px 0;font-size:19px;font-weight:640}.person-header h2:focus{outline:none}.person-role{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.person-close{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);background:var(--control-background);cursor:pointer;border-radius:8px;flex:none;place-items:center;font-size:19px;line-height:1;display:grid}.person-close:hover,.person-close:focus-visible{border-color:var(--accent);color:var(--ink)}.person-summary{color:var(--bubble-ink);font-size:13px;line-height:1.6}.person-summary p{margin:0 0 12px}:root{--person-panel-width:clamp(300px, 26vw, 380px)}.profile-update{color:var(--message-meta);margin:7px 0 0 2px;font-size:11px;line-height:1.4}.person-learned{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.person-learned h3{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px;font:650 9px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.person-learned-scene{color:var(--stamp);margin:12px 0 6px;font-size:11px}.person-learned ul{color:var(--bubble-ink);margin:0;padding-left:18px;font-size:13px;line-height:1.55}.person-learned li+li{margin-top:6px}@media (width<=1100px){.app.has-person{grid-template-columns:minmax(0,1fr)}.person-layer{z-index:60;visibility:hidden;pointer-events:none;transition:visibility 0s linear .28s;display:block;position:fixed;inset:0}.person-layer.is-open{visibility:visible;pointer-events:auto;transition:none}.person-backdrop{background:var(--gate-backdrop);opacity:0;transition:opacity .28s var(--ease);display:block;position:absolute;inset:0}.person-layer.is-open .person-backdrop{opacity:1}.person-panel{width:min(400px,88vw);height:auto;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) 20px;background:var(--gate-background);box-shadow:var(--gate-shadow);transition:transform .28s var(--ease);position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.person-layer.is-open .person-panel{transform:none}.person-summary,.person-learned ul{font-size:15px}}@media (prefers-reduced-motion:reduce){.person-layer,.person-backdrop,.person-panel{transition:none}}@media (width<=1100px){.mission-status,.current-user{display:none}}@media (width<=920px){:root{--topbar-height:calc(56px + max(8px, env(safe-area-inset-top)));--dock-height:clamp(290px, 42svh, 321px);--outer-size:min(145vw, 580px);--inner-size:min(90vw, 351px);--wheel-x:28%}.topbar{min-width:0;padding-right:max(10px, env(safe-area-inset-right));padding-left:max(10px, env(safe-area-inset-left));gap:8px}.brand{gap:8px}.brand-mark{flex:none;width:32px;height:32px}h1{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.15;display:-webkit-box}.topbar-actions{gap:4px}.mission-status,.current-user,.topbar-actions #library,.topbar-actions #logout{display:none}.reset-button{min-height:34px;padding:6px 9px;font-size:8px}.thread{gap:14px;width:calc(100% - 24px);padding:22px 0 26px}.scene-stamp{overflow-wrap:anywhere;text-align:center;max-width:100%;line-height:1.45}.scene-stamp:before,.scene-stamp:after{flex:0 0 20px;width:20px}.message{width:100%;max-width:100%}.message.player{width:min(90%,680px)}.bubble{padding:11px 12px;font-size:16px;line-height:1.5}.message-meta strong{font-size:14px}.message-meta span,.reacting-to{font-size:11px}.dock-grid{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.wheel-pane{width:100%;height:139px}.dock-kicker{padding-right:max(10px, env(safe-area-inset-right));padding-left:max(10px, env(safe-area-inset-left));font-size:7px}.wheel,.selection-axis,.hub-copy{top:56%}.wheel--outer .wheel-item{width:calc(var(--outer-size) * .178);letter-spacing:.055em;transform:rotate(calc(var(--i) * 30deg)) translateX(calc(var(--outer-size) * .312));font-size:clamp(8px,2.3vw,9px)}.wheel--outer .label-ru{max-width:calc(100% - 4px);left:4px}.wheel--inner .wheel__rotor:before{inset:33%}.wheel--inner .wheel-item{width:calc(var(--inner-size) * .28);transform:rotate(calc(var(--i) * 30deg)) translateX(calc(var(--inner-size) * .22));font-size:clamp(8px,2.15vw,8.5px)}.wheel-item .label-ru{max-width:calc(100% - clamp(13px,4vw,18px));left:clamp(13px,4vw,18px)}.wheel--inner .label-ru{white-space:normal;max-width:calc(100% - 10px);line-height:1.05;bottom:calc(50% + 3px);left:10px}.hub-copy b{font-size:13px}.hub-copy span{font-size:7px}.composer{min-height:142px;padding:10px max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));border-top:1px solid var(--line);border-left:0;grid-row:1;margin-top:139px;margin-left:0}.composer h2{margin:0 0 7px;font-size:17px;line-height:1.15}.selection-description,.composer-kicker{display:none}.freeform-meta{margin-bottom:4px}.freeform-label{font-size:9px}.freeform-input{height:42px;padding:7px 9px;font-size:16px}.action-dock.is-freeform .composer{margin-top:0}.confirm-button{letter-spacing:.07em;min-height:38px;font-size:10px}.skip-interlude-button{min-height:34px;font-size:9px}.action-dock.is-interlude .dock-grid{grid-template-rows:minmax(0,1fr)}.action-dock.is-interlude .composer{border-top:0;border-right:0;grid-row:1;width:100%}.gate{padding:max(16px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left))}.character-list{grid-template-columns:1fr}.character-card{padding:24px}.library-card{padding:24px 18px}.library-heading{gap:12px}.game-cards{grid-template-columns:1fr;margin-top:22px}.game-card-copy{min-height:168px}.menu-card{padding:24px 18px}.saved-state{display:none}.saved-game-load{grid-template-columns:34px minmax(0,1fr)}.menu-heading{gap:12px}.menu-heading-actions{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (hover:none) and (pointer:coarse){.freeform-hint{display:none}}
