.feedback-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:clamp(56px,10vh,96px) 18px 18px;background:#050a12b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.feedback-dialog{width:min(100%,460px);padding:18px;border-radius:8px;background:var(--bg-card);border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 54px #0000005c;display:flex;flex-direction:column;gap:14px}.feedback-dialog__header,.feedback-dialog__footer,.feedback-dialog__actions{display:flex;align-items:center;gap:10px}.feedback-dialog__header,.feedback-dialog__footer{justify-content:space-between}.feedback-dialog h2{margin:0;font-size:1.05rem}.feedback-dialog__close{width:32px;height:32px;min-height:32px;padding:0;border-radius:999px;background:#ffffff14}.feedback-dialog textarea{width:100%;resize:vertical;min-height:140px;border:1px solid var(--text-muted);border-radius:var(--radius-sm);padding:10px 12px;background:var(--bg-surface);color:var(--text);caret-color:var(--accent-light);font:inherit;line-height:1.45;outline:none}.feedback-dialog textarea:focus{border-color:var(--accent)}.feedback-dialog textarea::placeholder{color:var(--text-muted)}.feedback-dialog__footer span{color:var(--text-muted);font-size:.8rem}.feedback-dialog__error{margin:0;color:var(--danger);font-size:.9rem}.feedback-dialog__sent{display:flex;flex-direction:column;gap:14px}.feedback-dialog__sent p{margin:0;color:var(--success)}@media(max-width:520px){.feedback-dialog__footer{align-items:stretch;flex-direction:column}.feedback-dialog__actions{justify-content:flex-end}}.map-view{height:100%;width:100%;position:relative;background-size:cover;background-position:center;background-color:var(--bg);overflow:hidden}.map-toolbar{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;z-index:3}.map-toolbar-group{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.map-toolbar-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;margin-left:auto}.map-chip{min-height:36px;padding:8px 12px;background:#10192ac7;color:#f7fbff;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 24px #0000003d}.map-progress-wrap{position:relative}.map-objectives-popover{position:absolute;top:44px;right:0;width:min(320px,calc(100vw - 40px));max-height:calc(100dvh - 76px);overflow-y:auto;padding:14px;border-radius:16px;background:#0e1624f5;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 40px #0000004d}.map-objectives-popover h2{font-size:.95rem;margin-bottom:10px}.map-objectives-list{display:flex;flex-direction:column;gap:8px}.map-objectives-popover,.map-objectives-list{overscroll-behavior:contain}.map-objective-row{display:flex;align-items:center;gap:10px;font-size:.9rem;color:#f7fbffeb}.map-objective-row.completed{color:#bdf0c5f5}.map-objective-marker{width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff14;flex-shrink:0;font-size:.75rem}.map-objective-row.completed .map-objective-marker{background:#4caf5033}.map-label{position:absolute;padding:4px 8px;border-radius:6px;min-height:auto;min-width:auto;cursor:pointer;transition:transform .15s;white-space:pre;width:max-content;font-size:.9rem;font-weight:500;box-sizing:border-box;z-index:1}.map-label:active{transform:scale(.95)}.map-intro-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:20px;display:flex;align-items:center;justify-content:center;background:#070c14c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:4}.map-intro-card{width:min(100%,460px);max-height:100%;overflow-y:auto;padding:22px;border-radius:22px;background:linear-gradient(180deg,#18253afa,#0c1320fa);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 48px #00000057;display:flex;flex-direction:column;gap:18px}.map-intro-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-light)}.map-intro-card h1{font-size:1.7rem;line-height:1.1}.map-intro-copy{color:#e0e0e0e6;line-height:1.55}.map-intro-section{display:flex;flex-direction:column;gap:12px}.map-intro-section h2{font-size:1rem}.map-intro-objectives{display:flex;flex-direction:column;gap:10px}.map-intro-objective{display:flex;gap:12px;padding:12px 14px;border-radius:16px;background:#ffffff0d}.map-intro-objective.completed{background:#4caf501f}.map-intro-status{width:48px;flex-shrink:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-light)}.map-intro-objective.completed .map-intro-status{color:#bdf0c5}.map-intro-objective-copy{display:flex;flex-direction:column;gap:4px}.map-intro-objective-copy strong{font-size:.95rem}.map-intro-objective-copy p,.map-intro-empty{color:#e0e0e0d1;line-height:1.45}.map-intro-actions{display:flex;justify-content:flex-end}.map-resource-panel{position:absolute;left:50%;bottom:18px;z-index:5;width:min(92vw,520px);max-height:min(72vh,620px);transform:translate(-50%);overflow:auto;padding:14px;border-radius:18px;background:#0d1420f5;border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 54px #0000006b;color:#f7fbff}.map-resource-panel__close{position:sticky;top:0;float:right;min-height:30px;padding:5px 9px;font-size:.78rem;background:#ffffff1a;color:#f7fbff}.map-resource-panel__body{clear:both;margin:0;display:grid;gap:10px}.map-resource-panel__body h2{margin:0;font-size:1.15rem}.map-resource-panel__description{margin:0;color:#e0e0e0d6;line-height:1.4}.map-resource-panel__content{line-height:1.5}.map-resource-panel img,.map-resource-panel video{display:block;width:100%;max-height:min(54vh,480px);object-fit:contain;border-radius:12px;background:#00000047}.map-resource-panel__placeholder{min-height:260px;border-radius:12px;background:#00000047}.map-resource-panel figcaption{display:grid;gap:3px;color:#e0e0e0db;font-size:.86rem;line-height:1.35}@media(max-width:767px){.map-toolbar{gap:8px}.map-toolbar-group{gap:6px}.map-chip{padding:8px 10px}}.chat-view{height:100%;min-height:0;display:flex;flex-direction:column;position:relative;overflow:hidden}.chat-background{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:.15;pointer-events:none}.chat-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;z-index:1}.chat-picker-btn{background:#16213eeb;border:1px solid rgba(255,255,255,.14)}.chat-header-actions{display:flex;align-items:center;gap:8px}.chat-settings{position:relative;flex-shrink:0}.chat-settings-btn{min-width:36px;min-height:36px;padding:0 10px;background:#16213eeb;border:1px solid rgba(255,255,255,.14);color:var(--text-primary);font-size:1rem;line-height:1}.chat-settings-btn--active{border-color:#6bb5ff70;background:#4a90d938}.chat-settings-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:8;width:min(78vw,240px);padding:12px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#10151ffa;box-shadow:0 16px 42px #00000061}.chat-settings-field{display:grid;gap:6px;color:var(--text-primary);font-size:.82rem;font-weight:700}.audio-speed-select{width:100%;min-height:36px;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-sm);padding:0 8px;background:#16213eeb;color:var(--text-primary);font:inherit;font-size:.88rem}.chat-feedback-btn{background:#16213eeb;border:1px solid rgba(255,255,255,.14);font-size:.8rem;padding:4px 10px;min-height:auto}.chat-view--coach{--coach-ink: #2f210d;--coach-ink-muted: #725522;--coach-gold: #f4b84f;--coach-gold-light: #ffe3a6;--coach-gold-pale: #fff0c9;--coach-teal: #245d67;--coach-surface: rgba(49, 39, 51, .95);background:#241f2a}.chat-view--coach .chat-background{opacity:.24;filter:sepia(.35) saturate(.9)}.chat-view--coach .chat-picker-btn,.chat-view--coach .chat-settings-btn,.chat-view--coach .chat-feedback-btn{background:#312733f0;border-color:#ffd48b47;color:#fff4db}.chat-view--coach .chat-settings-btn--active{background:#f4b84f38;border-color:#ffe0a694}.chat-view--coach .chat-settings-popover{border-color:#ffe0a652;background:#312733fa}.chat-view--coach .message-list{background:linear-gradient(180deg,#56391929,#17202a38)}.chat-view--coach .coach-mode-banner{z-index:1;display:flex;align-items:center;gap:10px;margin:0 12px 8px;padding:10px 12px;border:1px solid rgba(255,224,166,.62);border-radius:8px;background:linear-gradient(135deg,var(--coach-gold-pale),var(--coach-gold-light) 58%,var(--coach-gold));color:var(--coach-ink);box-shadow:0 8px 22px #1e14082e}.chat-view--coach .coach-mode-banner__mark{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:50%;background:#2f210d1f;border:1px solid rgba(47,33,13,.18);color:#7a5619;font-size:1rem;font-weight:900}.chat-view--coach .coach-mode-banner__copy{min-width:0}.chat-view--coach .coach-mode-banner__title{font-size:.92rem;font-weight:800;line-height:1.25}.chat-view--coach .coach-mode-banner__subtitle{margin-top:2px;color:var(--coach-ink-muted);font-size:.78rem;font-weight:650;line-height:1.25}.chat-view--coach .objectives-panel{background:var(--coach-surface)}.chat-view--coach .objective-row{background:#ffe0a61f;border:1px solid rgba(255,224,166,.18)}.chat-view--coach .objective-help-toggle{border-color:#ffe0a652;color:var(--coach-gold-light)}.objectives-panel{display:flex;flex-direction:column;gap:6px;padding:0 12px 8px;background:var(--bg-surface);z-index:1}.objectives-list{display:flex;flex-direction:column;gap:4px;overflow-y:auto;max-height:30vh}.objective-row{display:flex;flex-direction:column;gap:8px;padding:8px 10px;border-radius:14px;font-size:.8rem;background:var(--bg-card)}.objective-row.completed{color:var(--success)}.objective-row-main{display:flex;align-items:center;gap:8px}.objective-marker{flex-shrink:0}.objective-text{flex:1}.objective-help-toggle{width:24px;height:24px;min-height:24px;min-width:24px;padding:0;background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:var(--accent-light);font-size:.8rem;line-height:1}.leave-btn{background:var(--danger);font-size:.8rem;padding:4px 10px;min-height:auto}.chat-header .chat-picker-btn,.chat-header .chat-settings-btn,.chat-header .chat-feedback-btn,.chat-header .leave-btn{height:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center}.chat-header .chat-picker-btn,.chat-header .chat-feedback-btn,.chat-header .leave-btn{padding-top:0;padding-bottom:0}.message-list{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;z-index:1}.conversation-terminal-card{align-self:center;width:min(100%,420px);display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:12px;background:#0c121ceb;border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 30px #0000003d}.conversation-terminal-text{color:var(--text-secondary);font-size:.9rem;line-height:1.4;text-align:center}.conversation-terminal-btn{width:100%;min-height:44px;border-radius:12px;background:var(--accent);color:#fff;font-weight:700}.bubble{max-width:80%;padding:10px 14px;border-radius:var(--radius);overflow-wrap:break-word;word-break:normal;line-height:1.4}.markdown-text>:first-child{margin-top:0}.markdown-text>:last-child{margin-bottom:0}.markdown-text p,.markdown-text ul,.markdown-text ol,.markdown-text pre{margin:0 0 .7em}.markdown-text h1,.markdown-text h2,.markdown-text h3{margin:0 0 .5em;line-height:1.2}.markdown-text h1{font-size:1.05rem}.markdown-text h2{font-size:.98rem}.markdown-text h3{font-size:.92rem}.markdown-text ul,.markdown-text ol{padding-left:1.2em}.markdown-text li+li{margin-top:.2em}.markdown-text pre{overflow-x:auto;padding:8px 10px;border-radius:10px;background:#0000002e;white-space:pre-wrap}.markdown-text code{font-family:Iosevka,SFMono-Regular,Cascadia Code,monospace;font-size:.92em}.word-lookup-token{display:inline;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:inherit;cursor:help}.word-lookup-token:hover,.word-lookup-token:focus-visible{color:var(--accent-light);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;outline:none}.user-bubble{align-self:flex-end;background:var(--user-bubble)}.chat-view--coach .user-bubble{background:var(--coach-teal);border:1px solid rgba(169,226,229,.22);color:#f3fbfc}.user-bubble--pending{opacity:.82}.user-bubble--failed{background:#e74c3c2e;border:1px solid rgba(231,76,60,.32)}.chat-view--coach .user-bubble--failed{background:#b0372b47;border-color:#ff8f8075;color:#ffe7e3}.bubble-meta{display:block;margin-top:6px;font-size:.75rem;color:var(--text-muted)}.bubble-meta--error{color:#ffb4a9}.bubble-row{display:flex;align-items:flex-end;gap:8px}.bubble-row.npc{align-self:flex-start}.bubble-row--avatarless{max-width:80%}.bubble-row--avatarless>.bubble{max-width:100%}.tool-bubble-row{align-self:flex-start;display:flex}.tool-bubble{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:80%;padding:6px 10px;border-radius:12px;border:1px dashed rgba(125,196,255,.32);background:#37608729;color:var(--text-secondary);font-size:.78rem}.chat-view--coach .tool-bubble{border-color:#ffd48b61;background:#ffe0a61f;color:#f8e4b8}.tool-bubble--failed{border-color:#ff787880;background:#822c2c38}.tool-bubble__prefix{color:#8fb9df;letter-spacing:.04em}.tool-bubble--failed .tool-bubble__prefix{color:#ff9b9b}.tool-bubble__name{color:var(--text-primary);font-family:Iosevka,SFMono-Regular,Cascadia Code,monospace;font-size:.8rem}.npc-avatar{width:32px;height:57px;border-radius:8px;object-fit:cover;object-position:center top;flex-shrink:0;cursor:pointer}.npc-avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:50;cursor:pointer}.npc-avatar-enlarged{max-width:80%;max-height:80%;object-fit:contain;border-radius:var(--radius)}.npc-bubble{background:var(--npc-bubble)}.chat-view--coach .npc-bubble{background:var(--coach-gold-light);border:1px solid rgba(255,239,201,.65);color:var(--coach-ink);box-shadow:0 6px 18px #1e14081f}.chat-view--coach .npc-bubble .bubble-meta,.chat-view--coach .npc-bubble .translation-text{color:var(--coach-ink-muted)}.chat-view--coach .translation-text{border-top-color:#2f210d2e}.artifact-bubble{width:min(78vw,420px);margin:0;padding:8px;border-radius:var(--radius);background:#10151fd6;border:1px solid rgba(255,255,255,.12)}.artifact-bubble img{display:block;width:100%;max-height:58vh;object-fit:contain;border-radius:calc(var(--radius) - 4px);background:#00000040}.artifact-bubble video{display:block;width:100%;max-height:58vh;border-radius:calc(var(--radius) - 4px);background:#00000040}.artifact-bubble--text{display:grid;gap:8px;padding:14px;color:var(--text)}.artifact-bubble--text h3{margin:0;font-size:1rem}.artifact-bubble__description{margin:0;color:var(--text-secondary);font-size:.86rem;line-height:1.35}.artifact-bubble__content{font-size:.94rem;line-height:1.45}.artifact-bubble__placeholder{width:100%;min-height:min(48vh,360px);border-radius:calc(var(--radius) - 4px);background:#00000040}.artifact-bubble--failed{width:auto;max-width:min(78vw,420px)}.artifact-bubble__error{padding:10px 12px;color:#ffb4a9;font-size:.85rem}.artifact-bubble figcaption{margin-top:6px;color:var(--text-secondary);font-size:.82rem;line-height:1.35}.artifact-bubble--video figcaption{display:grid;gap:3px}.bubble-actions{display:flex;gap:6px;margin-top:6px}.translate-btn{background:transparent;color:var(--accent-light);font-size:.75rem;padding:2px 6px;min-height:auto;min-width:auto}.audio-play-btn{background:transparent;color:var(--accent-light);font-size:.85rem;padding:2px 8px;min-height:auto;min-width:auto}.translation-text{display:block;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.1);font-size:.85em;opacity:.7;font-style:italic}.corrected-original{display:block}.corrected-original-word{opacity:.65;text-decoration:line-through;text-decoration-thickness:1px}.corrected-text{display:block;margin-top:2px}.corrected-word{font-weight:800}.corrected-original-word .word-lookup-token{text-decoration:inherit}.word-info-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;background:#0000009e}.word-info-modal{width:min(92vw,360px);max-height:min(76vh,520px);overflow:auto;padding:14px;border-radius:var(--radius);background:#10151ffa;border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 54px #0000006b}.word-info-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.word-info-modal__header h2{margin:0;font-size:1.1rem;line-height:1.25}.word-info-modal__close,.word-info-modal__retry{min-width:auto;min-height:auto;padding:4px 8px;border-radius:8px;background:#ffffff14;color:var(--text-primary);font-size:.78rem}.word-info-modal__status,.word-info-modal__body{margin-top:12px}.word-info-modal__body{display:flex;flex-direction:column;gap:12px}.word-info-modal__body h3{margin:0 0 4px;color:var(--text-secondary);font-size:.78rem;font-weight:700;text-transform:uppercase}.word-info-modal__body p{margin:0;line-height:1.45}.word-info-modal__error{color:#ffb4a9}.chat-view--coach .word-lookup-token:hover,.chat-view--coach .word-lookup-token:focus-visible{color:#7a5619}.chat-view--coach .user-bubble .word-lookup-token:hover,.chat-view--coach .user-bubble .word-lookup-token:focus-visible{color:#dffcff}.typing-indicator{display:flex;gap:4px;padding:10px 14px;align-self:flex-start}.typing-indicator .dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:bounce 1.4s infinite}.chat-view--coach .typing-indicator .dot{background:var(--coach-gold-light)}.typing-indicator .dot:nth-child(2){animation-delay:.2s}.typing-indicator .dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.input-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--bg-surface);z-index:1;flex-shrink:0}.chat-view--coach .input-bar{background:var(--coach-surface);border-top:1px solid rgba(255,224,166,.22)}.chat-input-note{width:100%;padding:8px 10px;border-radius:12px;background:#ffffff0f;color:var(--text-secondary);font-size:.85rem}.chat-input-note--error{background:#e74c3c29;color:#ffb4a9}.input-bar textarea{flex:1;min-width:0;min-height:44px;max-height:160px;resize:none;overflow-y:auto;font:inherit;line-height:1.45;border:1px solid var(--text-muted);border-radius:var(--radius-sm);padding:10px 12px;background:var(--bg-surface);color:var(--text);outline:none}.chat-view--coach .input-bar textarea{border-color:#f4b84fdb;background:#fff7e4;color:var(--coach-ink)}.chat-view--coach .input-bar textarea::placeholder{color:#2f210d94}.input-bar textarea:focus{border-color:var(--accent)}.chat-view--coach .input-bar textarea:focus{border-color:var(--coach-gold);box-shadow:0 0 0 2px #f4b84f3d}.input-bar textarea:disabled,.send-btn:disabled,.voice-btn:disabled{opacity:.45;cursor:not-allowed}.input-bar textarea:disabled{color:var(--text-muted)}.send-btn{flex-shrink:0}.chat-view--coach .send-btn:not(:disabled){background:var(--coach-gold);color:var(--coach-ink);font-weight:800}.coach-trigger-btn{flex-shrink:0;background:#16213eeb;border:1px solid rgba(255,255,255,.14);min-width:72px}.coach-trigger-btn--active{background:#4a90d938;border-color:#6bb5ff61}.chat-view--coach .coach-trigger-btn{background:var(--coach-gold-light);border-color:#ffefc9b3;color:var(--coach-ink);font-weight:800}.coach-thread-intro{max-width:92%;align-self:flex-start;padding:16px;border-radius:16px;background:#ffffff0a;color:var(--text-secondary)}.chat-view--coach .coach-thread-intro{border:1px solid rgba(255,224,166,.42);border-radius:8px;background:#ffe0a6eb;color:var(--coach-ink);box-shadow:0 6px 18px #1e14081f}.coach-thread-intro p{margin:0}.chat-start-prompt{align-self:center;max-width:min(92%,520px);padding:12px 14px;border-radius:10px;background:#ffffff12;border:1px solid rgba(255,255,255,.16);color:var(--text-secondary);font-size:.9rem;line-height:1.4;text-align:center}.voice-btn{flex-shrink:0;background:var(--bg-card);font-size:1.2rem;padding:0 12px;touch-action:none;-webkit-user-select:none;user-select:none}.voice-btn.recording{background:var(--danger)}.voice-btn--canceling{background:var(--text-muted)}.voice-btn-placeholder{flex-shrink:0;width:44px;min-width:44px;height:44px}@media(max-width:767px){.chat-header{padding:8px 10px}.chat-picker-btn,.leave-btn{padding:0 12px}}.summary-view{height:100%;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden;isolation:isolate}.summary-view--complete{background:radial-gradient(circle at 50% 22%,rgba(255,209,102,.16),transparent 34%),radial-gradient(circle at 20% 12%,rgba(76,201,240,.14),transparent 28%),radial-gradient(circle at 82% 16%,rgba(247,37,133,.12),transparent 30%)}.summary-celebration-rain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.summary-celebration-rain__particle{position:absolute;top:-32px;left:var(--summary-particle-left);width:var(--summary-particle-size);height:calc(var(--summary-particle-size) * 1.65);border-radius:var(--summary-particle-radius);background:var(--summary-particle-color);opacity:0;transform:translate3d(0,-40px,0) rotate(var(--summary-particle-rotation));animation:summary-confetti-fall var(--summary-particle-duration) cubic-bezier(.18,.66,.35,1) var(--summary-particle-delay) forwards;box-shadow:0 0 12px #fff3}.summary-card{background:var(--bg-card);border-radius:var(--radius);padding:32px 24px;width:100%;max-width:400px;display:flex;flex-direction:column;gap:24px;text-align:center;position:relative;z-index:1}.summary-card--complete{max-width:460px;gap:20px;border:1px solid rgba(255,209,102,.2);box-shadow:0 24px 80px #00000047,0 0 40px #ffd1661f;animation:summary-complete-pop .42s ease-out}.summary-eyebrow{color:var(--accent-light);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.summary-card h2{font-size:1.25rem;font-weight:600}.summary-loading{color:var(--text-muted);line-height:1.45}.stats{display:flex;justify-content:center;gap:32px}.stats--complete{gap:18px}.summary-objectives{display:grid;gap:10px;text-align:left}.summary-objectives h3{font-size:.95rem;font-weight:700}.summary-objective-list{display:grid;gap:8px;max-height:190px;overflow-y:auto}.summary-objective-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;background:#ffffff0f;color:#f7fbfff0}.summary-objective-row span:first-child{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;border-radius:999px;background:#4caf5033;color:#bdf0c5;font-size:.78rem;font-weight:800}.stat{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-value{font-size:2rem;font-weight:700;color:var(--accent-light)}.stat-label{font-size:.85rem;color:var(--text-muted)}.summary-actions{display:flex;gap:10px}.summary-actions>button{flex:1}.return-btn{background:var(--bg-surface)}.summary-picker-btn{background:transparent;border:1px solid rgba(255,255,255,.14)}.summary-picker-btn--primary{background:var(--accent);border-color:transparent}@media(max-width:767px){.summary-actions{flex-direction:column}}@keyframes summary-confetti-fall{0%{opacity:0;transform:translate3d(0,-40px,0) rotate(var(--summary-particle-rotation))}12%{opacity:.95}86%{opacity:.95}to{opacity:0;transform:translate3d(var(--summary-particle-drift),110vh,0) rotate(720deg)}}@keyframes summary-complete-pop{0%{transform:translateY(8px) scale(.98)}to{transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.summary-celebration-rain__particle{animation:none;opacity:.45;top:18%;transform:none}.summary-celebration-rain__particle:nth-child(n+17){display:none}.summary-card--complete{animation:none}}.home-overview{height:100%;display:flex;flex-direction:column;padding:18px 16px 24px;overflow-y:auto}.home-overview-session{margin-bottom:20px}.home-overview-main{display:flex;flex-direction:column;gap:14px}.home-overview-hero{padding:4px 0 6px}.home-overview-eyebrow{margin-bottom:8px;color:#92d7be;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.home-overview-hero h1{margin:0;color:#f7f8fb;font-size:2rem;line-height:1.05}.home-overview-streak,.home-overview-progress{margin-top:10px;color:#d9e5f7;font-size:1rem;line-height:1.4}.home-overview-streak{color:#ffe1a0;font-weight:800}.home-overview-panel,.home-overview-settings{border:1px solid rgba(107,181,255,.15);border-radius:8px;background:#1f2f50e0}.home-overview-panel{padding:14px}.home-overview-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.home-overview-section-header h2{margin:0;font-size:1rem;line-height:1.2}.home-overview-section-header span{color:var(--text-muted);font-size:.78rem}.home-overview-link-button{min-height:36px;padding:7px 10px;background:#92d7be24;color:#cdf5e6;font-size:.82rem}.home-overview-chart{height:150px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:8px}.home-overview-chart__day{min-width:0;display:grid;grid-template-rows:96px 20px 18px;align-items:end;justify-items:center;gap:4px}.home-overview-chart__bar-track{width:100%;height:96px;display:flex;align-items:end;overflow:hidden;border-radius:6px;background:#08101e6b}.home-overview-chart__bar{width:100%;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#92d7be,#4a90d9)}.home-overview-chart__day strong{color:#f7f8fb;font-size:.82rem;line-height:1}.home-overview-chart__day span{color:var(--text-muted);font-size:.7rem;line-height:1}.home-overview-realm{display:grid;grid-template-columns:132px minmax(0,1fr);gap:12px}.home-overview-realm__cover{aspect-ratio:4 / 5;overflow:hidden;border-radius:8px;background:var(--bg-surface)}.home-overview-realm__cover img{width:100%;height:100%;display:block;object-fit:cover}.home-overview-realm__placeholder{width:100%;height:100%;background:linear-gradient(135deg,#92d7be33,#e9b44c24),linear-gradient(180deg,#0a122247,#0a1222c7)}.home-overview-realm__body{min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:10px}.home-overview-realm__body h3{margin:0 0 8px;font-size:1.15rem;line-height:1.15}.home-overview-realm__body p{margin:0;color:var(--text-muted);font-size:.86rem;line-height:1.38}.home-overview-realm__actions{display:flex;align-items:center;gap:8px}.home-overview-realm__body button{width:fit-content;background:#4d9f7c;color:#07170f;font-weight:800}.home-overview-realm__body .home-overview-continue-button{width:38px;min-width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#6bb5ff29;color:#d8e9ff}.home-overview-continue-button svg{width:18px;height:18px}.home-overview-realm__body button:disabled{cursor:wait;opacity:.72}.home-overview-realm__meta{display:flex;flex-wrap:wrap;gap:6px}.home-overview-realm__meta span{border-radius:999px;padding:4px 7px;background:#6bb5ff1f;color:#d8e9ff;font-size:.7rem;line-height:1.2}.home-overview-empty,.home-overview-error{color:var(--text-muted);line-height:1.4}.home-overview-error{color:#ffb4a8}.home-overview-settings{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;text-align:left}.home-overview-settings span{font-weight:800}.home-overview-settings small{color:#d6e3ff;font-size:.78rem;line-height:1.35}@media(max-width:520px){.home-overview{padding:16px 12px 22px}.top-menu{align-items:flex-start}.top-menu__actions{flex-direction:column;align-items:stretch}.home-overview-hero h1{font-size:1.7rem}.home-overview-chart{gap:6px}.home-overview-realm{grid-template-columns:108px minmax(0,1fr)}}.realm-picker{height:100%;display:flex;flex-direction:column;align-items:center;padding:20px 12px 24px;overflow-y:auto}.realm-picker h1{margin-bottom:18px;font-size:1.5rem}.realm-picker-session{width:100%;max-width:560px;margin-bottom:16px}.realm-list{display:flex;flex-direction:column;gap:12px;width:100%;max-width:560px}.realm-card{background:var(--bg-card);border-radius:var(--radius);padding:14px;transition:background .15s;text-align:left;width:100%;display:flex;flex-direction:column;gap:12px}.realm-card--entry{padding:0;gap:0;overflow:hidden}.realm-card:hover{background:var(--bg-surface)}.realm-card-cover-shell{position:relative}.realm-card-cover{aspect-ratio:16 / 9;overflow:hidden;border-radius:18px;background:var(--bg-surface);width:100%}.realm-card--entry .realm-card-cover{border-radius:var(--radius) var(--radius) 0 0}.realm-card-cover--interactive{position:relative;display:block;border:0;padding:0;cursor:pointer;transition:transform .18s ease,filter .18s ease}.realm-card-cover--interactive:hover:not(:disabled),.realm-card-cover--interactive:focus-visible:not(:disabled){transform:translateY(-1px);filter:brightness(1.03)}.realm-card-cover--interactive:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.realm-card-cover--interactive:disabled{cursor:wait;opacity:.82}.realm-card-cover img{display:block;width:100%;height:100%;object-fit:cover}.realm-card-cover__placeholder{width:100%;height:100%;background:linear-gradient(135deg,#5c90e838,#0f182e1f),linear-gradient(180deg,#0a12224d,#0a1222c7)}.realm-picker-error{width:100%;max-width:560px;margin-bottom:16px;color:var(--danger)}.realm-card-cover__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-between;padding:14px;border-radius:18px;background:linear-gradient(180deg,#091020b3,#09102014 35%,#09102099);pointer-events:none}.realm-card--entry .realm-card-cover__overlay{border-radius:var(--radius) var(--radius) 0 0}.realm-card-cover__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.realm-card-cover__header h2{margin:0;font-size:1.25rem;line-height:1.1;color:#fff8ee;text-shadow:0 2px 18px rgba(0,0,0,.35)}.realm-card-cover__meta{display:flex;align-items:center;gap:8px;pointer-events:none}.realm-card-description{margin:0;font-size:.9rem;color:var(--text-muted);line-height:1.4;padding:12px 14px 14px}.realm-card-tags{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px 0}.realm-card-tags span{border-radius:999px;padding:5px 9px;background:#6bb5ff1f;color:#d8e9ff;font-size:.75rem;line-height:1.2}.realm-card-status{background:#121d38e0;border-radius:999px;color:#d5e1ff;font-size:.75rem;padding:6px 10px;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.realm-card-edit,.realm-card-continue{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;transition:background .15s ease,color .15s ease,opacity .18s ease,transform .18s ease}.realm-card-edit{background:#121d38e0;color:#f4f7ff;font-size:.82rem;padding:6px 12px;min-height:32px;border-radius:999px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.realm-card-edit:hover:not(:disabled),.realm-card-continue:hover:not(:disabled){background:#4a90d947}.realm-card-edit:disabled,.realm-card-continue:disabled{cursor:wait;opacity:.72}.realm-card-continue{align-self:flex-end;width:42px;height:42px;border-radius:999px;background:#121d38e6;color:#f4f7ff;opacity:0;transform:translateY(4px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.realm-card-continue svg{width:20px;height:20px}.realm-card:hover .realm-card-continue,.realm-card:focus-within .realm-card-continue{opacity:1;transform:translateY(0)}@media(hover:none){.realm-card-continue{opacity:1;transform:translateY(0)}}@media(max-width:640px){.realm-picker-session{align-items:flex-start}.realm-picker-session .top-menu__actions{flex-direction:column;align-items:stretch}}.editor-overview{height:100%;min-height:0;display:flex;justify-content:center;padding:32px 20px 48px;overflow-y:auto;-webkit-overflow-scrolling:touch}.editor-overview__shell{width:100%;max-width:1120px;display:flex;flex-direction:column;gap:20px}.editor-overview__session,.editor-overview__create-card,.editor-overview__empty{background:linear-gradient(135deg,#14213ee6,#091222f2),var(--bg-card);border:1px solid rgba(107,181,255,.14);border-radius:22px;box-shadow:0 18px 48px #040a1852}.editor-overview__session{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px}.editor-overview__identity{display:flex;flex-direction:column;gap:4px}.editor-overview__identity strong{font-size:1rem}.editor-overview__identity span{color:var(--text-muted);font-size:.85rem}.editor-overview__session-actions{display:flex;align-items:center;gap:10px}.editor-overview__badge{border-radius:999px;padding:6px 11px;background:#4a90d92e;color:#d6e3ff;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.editor-overview__signout,.editor-overview__secondary-btn,.editor-overview__admin-link{background:#4a90d929;border:1px solid rgba(107,181,255,.14)}.editor-overview__admin-link{display:inline-flex;align-items:center;min-height:42px;padding:10px 14px;border-radius:var(--radius-sm);color:var(--text);text-decoration:none}.editor-overview__header{display:flex;align-items:end;justify-content:space-between;gap:16px}.editor-overview__header h1{margin:0 0 6px;font-size:clamp(1.8rem,3vw,2.35rem)}.editor-overview__header p{margin:0;color:var(--text-muted);max-width:640px}.editor-overview__create-cta{white-space:nowrap}.editor-overview__filters{display:inline-flex;align-self:flex-start;gap:6px;padding:4px;border:1px solid rgba(107,181,255,.14);border-radius:var(--radius-sm);background:#0a12229e}.editor-overview__filters button{min-height:34px;padding:7px 12px;border:0;background:transparent;color:var(--text-muted)}.editor-overview__filters button.is-active{background:#4a90d933;color:var(--text)}.editor-overview__eyebrow,.editor-overview__dir{margin:0;color:#90bfff;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}.editor-overview__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.editor-overview__card{overflow:hidden;border-radius:22px;border:1px solid rgba(107,181,255,.12);background:linear-gradient(180deg,#0a1222e0,#0a1222fa),var(--bg-card);box-shadow:0 18px 48px #040a1847;display:flex;flex-direction:column}.editor-overview__cover{aspect-ratio:16 / 9;width:100%;border:0;padding:0;cursor:pointer;overflow:hidden;background:var(--bg-surface)}.editor-overview__cover img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .18s ease,filter .18s ease}.editor-overview__cover:hover img,.editor-overview__cover:focus-visible img{transform:scale(1.015);filter:brightness(1.04)}.editor-overview__cover:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.editor-overview__cover-placeholder{width:100%;height:100%;background:radial-gradient(circle at 20% 20%,rgba(107,181,255,.24),transparent 32%),linear-gradient(135deg,#5c90e833,#0f182e24),linear-gradient(180deg,#0a12224d,#0a1222d1)}.editor-overview__card-body{padding:18px;display:flex;flex-direction:column;gap:16px;flex:1}.editor-overview__card-copy{display:flex;flex-direction:column;gap:10px;flex:1}.editor-overview__card-copy h2{margin:0;font-size:1.15rem}.editor-overview__status{align-self:flex-start;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.editor-overview__status.is-published{background:#3eb97a29;color:#9ff0bd}.editor-overview__status.is-unpublished{background:#ffc15e24;color:#ffd38a}.editor-overview__card-copy p:last-child{margin:0;color:var(--text-muted);line-height:1.5}.editor-overview__open-btn{align-self:flex-start}.editor-overview__create-card,.editor-overview__empty{padding:20px}.editor-overview__create-card{display:flex;align-items:start;justify-content:space-between;gap:20px}.editor-overview__create-card h2,.editor-overview__empty h2{margin:4px 0 0}.editor-overview__create-controls{width:min(420px,100%);display:flex;flex-direction:column;gap:12px}.editor-overview__create-controls input{width:100%}.editor-overview__create-actions{display:flex;gap:10px}.editor-overview__empty p,.editor-overview__error{margin:0}.editor-overview__error{color:var(--danger)}@media(max-width:780px){.editor-overview{padding:24px 14px 40px}.editor-overview__session,.editor-overview__header,.editor-overview__create-card{flex-direction:column;align-items:stretch}.editor-overview__session-actions{justify-content:space-between}.editor-overview__create-cta,.editor-overview__open-btn{width:100%}.editor-overview__create-actions{flex-direction:column}}.editor{display:flex;min-height:100%;height:100%;background:radial-gradient(circle at top left,rgba(107,181,255,.1),transparent 24%),linear-gradient(180deg,rgba(255,255,255,.02),transparent 24%),var(--bg);overflow:hidden}.editor-mobile-bar{display:none}.editor-sidebar{width:280px;min-width:280px;background:#0f1930eb;border-right:1px solid rgba(255,255,255,.08);padding:24px 18px;display:flex;flex-direction:column;gap:20px}.editor-sidebar-copy{display:flex;flex-direction:column;gap:8px}.editor-sidebar-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.editor-sidebar h2{font-size:1.25rem}.editor-save-chip{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:7px 12px;font-size:.8rem;background:#ffffff0f;color:var(--text-muted);border:1px solid rgba(255,255,255,.08)}.editor-save-chip--saving{color:#f7d273;border-color:#f7d27359}.editor-save-chip--saved{color:#98d9a3;border-color:#98d9a352}.editor-save-chip--error{color:#ff9c8f;border-color:#ff9c8f52}.editor-sidebar-nav{display:flex;flex-direction:column;gap:10px}.editor-sidebar-tab,.editor-mobile-step{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffffff0a;border:1px solid transparent;text-align:left;color:var(--text);padding:14px}.editor-sidebar-tab__copy,.editor-mobile-step>span:first-child{display:flex;flex-direction:column;gap:4px}.editor-sidebar-tab__copy span,.editor-mobile-step small{font-size:.82rem;color:var(--text-muted)}.editor-sidebar-tab:hover,.editor-mobile-step:hover{background:#ffffff12}.editor-sidebar-tab--active,.editor-mobile-step.is-active{border-color:#6bb5ff73;background:#4a90d92e}.editor-sidebar-tab__badge,.editor-status-pill,.editor-issue-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:4px 10px;border-radius:999px;background:#ffffff14;color:var(--text-muted);font-size:.78rem}.editor-sidebar-tab__badge.is-complete,.editor-status-pill.is-complete{background:#4caf5029;color:#b7efc0}.editor-sidebar-tab__badge.has-warnings{background:#e74c3c38;color:#ffb4a9}.editor-issue-badge{background:#e74c3c33;color:#ffb4a9;min-width:24px;padding-inline:8px}.editor-sidebar-actions{margin-top:auto;display:flex;flex-direction:column;gap:10px}.editor-sidebar-playtest{background:linear-gradient(135deg,#4a90d9,#2b5797)}.editor-sidebar-back{background:#ffffff0a;color:var(--text-muted)}.editor-mobile-sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:#040812b3;display:flex;align-items:flex-end;justify-content:center;z-index:220}.editor-mobile-sheet__card{width:min(100%,520px);background:linear-gradient(180deg,#1f2f50fa,#12213efa);border-radius:20px 20px 0 0;padding:20px;display:flex;flex-direction:column;gap:16px;max-height:85vh;overflow-y:auto}.editor-mobile-sheet__header,.editor-mobile-sheet__actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-mobile-sheet__steps{display:flex;flex-direction:column;gap:10px}.editor-main{flex:1;min-width:0;overflow-y:auto;padding:28px 32px 48px;display:flex;flex-direction:column;gap:20px}.editor-main-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:8px 0 4px}.editor-main-header h1{font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:6px}.editor-main-header p{color:var(--text-muted);max-width:58ch}.editor-main-header__eyebrow,.editor-detail-header__eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-light);margin-bottom:8px}.editor-main-header__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.editor-assistant-toggle{display:none}.editor-main-header__playtest,.editor-playtest-btn{background:linear-gradient(135deg,#4a90d9,#2b5797)}.editor-step{display:flex;flex-direction:column;gap:20px}.editor-step-intro h2{font-size:1.35rem;margin-bottom:6px}.editor-step-intro p{color:var(--text-muted);max-width:64ch}.editor-overview-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.editor-section-card{background:#16213ed1;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:16px}.editor-section-card--wide{grid-column:1 / -1}.editor-section-card--secondary{background:#121c36a8;border-style:dashed}.editor-section-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.editor-section-card__header h3,.editor-section-card__header h4{margin-bottom:4px}.editor-section-card__header p,.editor-empty-card p,.editor-empty-detail p,.editor-inline-callout p{color:var(--text-muted)}.editor-inline-callout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:14px;background:#ffffff0a}.editor-tag-editor{display:flex;flex-direction:column;gap:10px}.editor-tag-list,.editor-tag-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.editor-tag-controls input{flex:1 1 180px;min-width:0}.editor-tag-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;border-radius:999px;padding:6px 8px 6px 10px;background:#6bb5ff24;color:#d8e9ff;font-size:.82rem}.editor-tag-chip button{width:22px;height:22px;min-height:0;padding:0;border-radius:999px;background:#0a122280;color:inherit;line-height:1}.editor-warning-section{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:14px;background:#e74c3c1f;border:1px solid rgba(231,76,60,.22);color:#ffcec7}.editor-warning-section__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-warning-section__header span{display:inline-flex;align-items:center;justify-content:center;min-width:26px;min-height:26px;padding:2px 8px;border-radius:999px;background:#e74c3c3d;color:#ffb4a9;font-size:.8rem}.editor-warning-section__list,.editor-inline-warnings{display:flex;flex-direction:column;gap:8px}.editor-warning-section__item{width:100%;padding:10px 12px;text-align:left;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#ffdfda}.editor-warning-section__item:hover{background:#ffffff14}.editor-inline-warnings{margin-top:8px}.editor-inline-warning{padding:9px 11px;border-radius:10px;background:#e74c3c24;color:#ffb4a9;font-size:.84rem}.editor-overview-checklist,.editor-template-list{display:flex;flex-direction:column;gap:10px}.editor-checklist-card,.editor-template-card{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;width:100%;background:#ffffff0a;border:1px solid transparent;color:var(--text)}.editor-template-card{padding:14px}.editor-template-card.is-selected{border-color:#6bb5ff73;background:#4a90d929}.editor-template-card span,.editor-checklist-card p{color:var(--text-muted)}.editor-vars-field{gap:10px}.editor-vars-grid-head,.editor-vars-grid-row{display:grid;grid-template-columns:minmax(12rem,1.8fr) minmax(5.75rem,.7fr) minmax(10rem,1.3fr) auto;gap:10px;align-items:start}.editor-vars-grid-head{padding:0 2px;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.editor-vars-list{display:flex;flex-direction:column;gap:10px}.editor-vars-grid-row .editor-danger-btn{white-space:nowrap;min-width:5.25rem;padding:8px 10px}.editor-vars-empty{margin:0;padding:8px 2px}.editor-vars-actions{margin-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.editor-resource-list{display:flex;flex-direction:column;gap:8px}.editor-resource-card{border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#070d1b47;overflow:hidden}.editor-resource-summary{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:14px;align-items:center;padding:10px 12px;cursor:pointer;list-style:none}.editor-resource-summary::-webkit-details-marker{display:none}.editor-resource-summary__copy{display:grid;gap:5px;min-width:0}.editor-resource-summary__title{display:flex;gap:8px;align-items:baseline;min-width:0}.editor-resource-summary__title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.editor-resource-summary code,.editor-resource-summary span{color:var(--text-muted);font-size:.78rem}.editor-resource-summary p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.editor-resource-thumb{width:132px;aspect-ratio:16 / 9;border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:hidden;padding:0;color:var(--text-muted);background:#00000038}.editor-resource-thumb:disabled{cursor:default}.editor-resource-thumb img{width:100%;height:100%;object-fit:cover;display:block}.editor-resource-thumb--empty{display:grid;place-items:center;font-size:.78rem}.editor-resource-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:16px;padding:0 12px 12px}.editor-resource-body__text,.editor-resource-body__image{min-width:0}.editor-resource-body__image{display:grid;align-content:start;gap:10px}.editor-resource-media-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.editor-resource-media-header div{display:grid;gap:3px}.editor-resource-media-header span{color:var(--text-muted);font-size:.82rem}.editor-resource-artifact-fields{display:grid;gap:8px}.editor-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.editor-resource-grid__wide{grid-column:1 / -1}.editor-resource-permissions{display:flex;flex-wrap:wrap;gap:10px}.editor-resource-permissions label{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary)}.editor-related-resource-list{display:grid;gap:8px}.editor-related-resource{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.45fr) 96px;gap:10px;align-items:center;text-align:left;background:#ffffff0b;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text-primary);padding:9px 10px}.editor-related-resource span{display:grid;gap:2px;min-width:0}.editor-related-resource strong,.editor-related-resource small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-related-resource small,.editor-related-resource em{color:var(--text-muted);font-size:.78rem;font-style:normal}.editor-related-resource__thumb{width:96px;aspect-ratio:16 / 9;display:grid;place-items:center;justify-self:end;overflow:hidden;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#00000038;color:var(--text-muted);font-size:.72rem}.editor-related-resource__thumb img{width:100%;height:100%;object-fit:cover;display:block}.editor-related-resource__thumb--empty{background:#ffffff09}.editor-resource-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#010610c7}.editor-resource-lightbox__card{display:grid;gap:10px;width:min(94vw,1100px)}.editor-resource-lightbox__card button{justify-self:end}.editor-resource-lightbox__card img{width:100%;max-height:86vh;object-fit:contain;border-radius:8px;background:#0000004d}.editor-content{flex:1;overflow-y:auto;padding:24px 32px}.editor-assistant-panel{width:380px;min-width:380px;border-left:1px solid rgba(255,255,255,.08);background:#0c1426eb;display:flex;flex-direction:column;min-height:0}.editor-assistant-panel__header{padding:20px 18px 14px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.editor-assistant-panel__header h2{font-size:1.05rem;margin-bottom:6px}.editor-assistant-panel__header-actions{display:flex;align-items:flex-start;gap:8px}.editor-assistant-panel__header p:last-child,.editor-assistant-panel__empty p{color:var(--text-muted)}.editor-assistant-panel__eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-light);margin-bottom:8px}.editor-assistant-provider-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.editor-assistant-provider-toggle__button{border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:.82rem;padding:7px 12px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease}.editor-assistant-provider-toggle__button:hover{color:var(--text)}.editor-assistant-provider-toggle__button.is-active{background:#4a90d938;color:var(--text)}.editor-assistant-panel__body{min-height:0;flex:1;display:flex;flex-direction:column}.editor-assistant-panel__body--mobile{min-height:0}.editor-assistant-panel__messages{padding:16px;min-height:0}.editor-assistant-panel .bubble{max-width:92%}.editor-assistant-panel__empty{padding:18px;border-radius:16px;background:#ffffff0a}.editor-assistant-panel__input{border-top:1px solid rgba(255,255,255,.08);background:#0a1222f0}.editor-assistant-composer{display:flex;flex-direction:column;gap:8px;padding:10px 12px}.editor-assistant-composer__row,.editor-assistant-composer__actions{display:flex;align-items:flex-end;gap:8px}.editor-assistant-composer__row textarea,.editor-assistant-composer__field textarea{width:100%;min-width:0;min-height:44px;max-height:160px;resize:none;overflow-y:auto;font:inherit;line-height:1.45;background:#0c182ee6;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:11px 13px;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.editor-assistant-composer__row textarea:focus,.editor-assistant-composer__field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4a90d91f}.editor-assistant-composer__row .send-btn,.editor-assistant-composer__actions .send-btn,.editor-assistant-composer__row .voice-btn,.editor-assistant-composer__actions .voice-btn{flex-shrink:0}.editor-assistant-sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:#040812c7;z-index:240;display:flex;align-items:flex-end;justify-content:center;padding:0}.editor-assistant-sheet__card{width:min(100%,680px);height:min(96dvh,960px);max-height:96dvh;background:linear-gradient(180deg,#1f2f50fa,#12213efa);border-radius:22px 22px 0 0;overflow:hidden;display:flex;flex-direction:column}.editor-form{display:flex;flex-direction:column;gap:16px}.editor-form--split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.editor-form--compact{gap:12px}.editor-field{display:flex;flex-direction:column;gap:6px}.editor-field label{font-size:.85rem;color:var(--text-muted);font-weight:500}.editor-field input[type=text],.editor-field input[type=number],.editor-field textarea,.editor-field select,.image-field-prompt textarea{font:inherit;background:#0c182ee6;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:11px 13px;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.editor-field input:focus,.editor-field textarea:focus,.editor-field select:focus,.image-field-prompt textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4a90d91f}.editor-field textarea{min-height:160px;resize:vertical}.editor-mention-field{position:relative}.editor-mention-menu{margin-top:8px;display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:14px;background:#091222f5;border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 40px #00000047}.editor-mention-menu__item{width:100%;display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:12px;align-items:center;justify-content:flex-start;text-align:left;background:transparent;border:1px solid transparent;border-radius:10px;padding:10px 12px}.editor-mention-menu__item.is-selected{background:#4a90d92e;border-color:#6bb5ff80}.editor-mention-menu__token{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;color:var(--accent-light)}.editor-mention-menu__name{color:var(--text-muted)}.editor-field select{min-height:44px}.editor-field-checkbox{flex-direction:row;align-items:center;gap:10px}.editor-field-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.editor-field--dirty input,.editor-field--dirty textarea{border-left:3px solid var(--accent);border-color:var(--accent)}.editor-inline--dirty{border-left:3px solid var(--accent)!important;border-color:var(--accent)!important}.editor-starter-row,.editor-chip-list,.editor-tool-mode-toggle{display:flex;flex-wrap:wrap;gap:8px}.editor-starter-chip,.editor-chip,.editor-tool-mode-toggle__button,.editor-tool-chip{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:var(--text);padding:8px 12px;min-height:38px}.editor-tool-mode-toggle__button--active,.editor-tool-chip--active{background:#e2963a29;border-color:#e2963a73}.editor-add-btn{background:#4a90d926;color:var(--accent-light);border:1px dashed rgba(107,181,255,.5)}.editor-add-btn--inline{width:auto;white-space:nowrap}.editor-add-btn:disabled,.editor-secondary-btn:disabled,.editor-danger-btn:disabled,.editor-playtest-btn:disabled,.editor-sidebar-playtest:disabled,.editor-main-header__playtest:disabled{opacity:.45;cursor:not-allowed}.editor-secondary-btn{background:#ffffff0d}.editor-publish-chip{border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.editor-publish-chip.is-published{background:#3eb97a29;color:#9ff0bd}.editor-publish-chip.is-unpublished{background:#ffc15e24;color:#ffd38a}.editor-segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border-radius:12px;background:#0c182ee6;border:1px solid rgba(255,255,255,.12)}.editor-segmented-control button{min-height:34px;padding:7px 10px;border-radius:8px;background:transparent;border:0;color:var(--text-muted);font-size:.85rem}.editor-segmented-control button.is-active{background:#4a90d93d;color:var(--text)}.editor-danger-btn,.editor-entity-delete{background:#e74c3c29;color:#ffb4a9}.editor-hint{color:var(--text-muted);font-size:.84rem}.editor-error,.editor-warnings{border-radius:14px;padding:14px}.editor-error{background:#e74c3c29;color:#ffb4a9}.editor-warnings{background:#f1c40f24;color:#ffe7a0}.editor-entity-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;min-height:0}.editor-entity-workspace--single-panel{grid-template-columns:minmax(0,1fr)}.editor-entity-panel{min-width:0;background:#16213ec7;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:18px}.editor-entity-panel--list{display:flex;flex-direction:column;gap:16px}.editor-entity-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.editor-entity-panel__header p{color:var(--text-muted);margin-top:4px}.editor-entity-list{display:flex;flex-direction:column;gap:8px}.editor-entity-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:#ffffff0a;border:1px solid transparent;padding:14px}.editor-entity-card--selected{border-color:#6bb5ff80;background:#4a90d92e}.editor-entity-card__copy{display:flex;flex-direction:column;gap:4px}.editor-entity-card__copy span,.editor-entity-card__arrow{color:var(--text-muted)}.editor-entity-card__arrow{display:inline-flex;align-items:center;justify-content:center;min-width:1ch}.editor-entity-card__arrow:before{content:"›"}.editor-entity-card__meta{display:flex;align-items:center;gap:10px}.editor-empty-card,.editor-empty-detail{display:flex;flex-direction:column;gap:12px;border-radius:16px;padding:18px;background:#ffffff0a}.editor-entity-panel--detail.is-empty{display:flex;align-items:center;justify-content:center}.editor-detail-mobile-back,.editor-detail-mobile-sections{display:none}.editor-detail-mobile-sections__button{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:var(--text);padding:9px 12px;min-height:38px;white-space:nowrap}.editor-detail-mobile-sections__button.is-active{background:#4a90d92e;border-color:#6bb5ff80}.editor-detail-stack{display:flex;flex-direction:column;gap:16px}.editor-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.editor-detail-header__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.editor-detail-header p:last-child{color:var(--text-muted);max-width:56ch}.editor-npc-list-card{padding:14px}.editor-npc-list{display:flex;flex-direction:column;gap:8px}.editor-npc-card{border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#070d1b47;overflow:hidden}.editor-npc-card[open]{border-color:#6bb5ff57;background:#4a90d914}.editor-npc-summary{display:grid;grid-template-columns:minmax(0,1fr) auto 72px;gap:14px;align-items:center;padding:10px 12px;cursor:pointer;list-style:none}.editor-npc-summary::-webkit-details-marker{display:none}.editor-npc-summary__copy{display:grid;gap:5px;min-width:0}.editor-npc-summary__title{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;min-width:0}.editor-npc-summary__title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.editor-npc-summary code,.editor-npc-summary span{color:var(--text-muted);font-size:.78rem}.editor-npc-summary__toggle{display:inline-flex;align-items:center;justify-content:center;min-width:5.5rem;min-height:2rem;padding:5px 9px;border-radius:999px;color:var(--text-secondary);background:#ffffff0d;border:1px solid rgba(255,255,255,.09);white-space:nowrap}.editor-npc-summary__toggle.is-open{color:var(--accent-light);border-color:#6bb5ff47;background:#4a90d921}.editor-npc-summary p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.editor-npc-thumb{width:72px;aspect-ratio:9 / 16;display:grid;place-items:center;justify-self:end;overflow:hidden;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#00000038;color:var(--text-muted);font-size:.74rem}.editor-npc-thumb img{width:100%;height:100%;object-fit:cover;display:block}.editor-npc-thumb--empty{background:#ffffff09}.editor-npc-body{padding:0 12px 12px}.editor-npc-subsection{display:grid;gap:12px;min-width:0;padding:12px;border-radius:8px;background:#ffffff09;border:1px solid rgba(255,255,255,.08)}.editor-npc-subsection .editor-section-card__header{margin-bottom:0}.editor-npc-name-field input{font-size:1.35rem;font-weight:700;line-height:1.15}.editor-npc-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,180px);gap:16px;align-items:start}.editor-npc-profile-fields{display:grid;gap:12px;min-width:0}.editor-npc-profile-image{width:100%;max-width:180px;justify-self:end}.editor-npc-profile-image .image-field{align-items:stretch}.editor-npc-profile-image .image-field-preview{width:100%;height:auto;aspect-ratio:9 / 16}.editor-npc-scene-links{display:grid;gap:4px;margin:0;padding-left:1.1rem}.editor-npc-scene-link{color:var(--accent-light);text-decoration:underline;text-underline-offset:2px}.editor-npc-scene-link:hover{color:var(--text-primary)}.editor-npc-tools-section{display:grid;gap:12px;min-width:0;padding:12px;border-radius:8px;background:#ffffff09;border:1px solid rgba(255,255,255,.08)}.editor-npc-tool-list{display:grid;gap:8px}.editor-npc-tool-row{min-width:0;border-radius:8px;overflow:hidden;background:#070d1b47;border:1px solid rgba(255,255,255,.08)}.editor-npc-tool-row summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;cursor:pointer;list-style:none}.editor-npc-tool-row summary::-webkit-details-marker{display:none}.editor-npc-tool-row summary span{display:grid;gap:2px;min-width:0}.editor-npc-tool-row summary strong,.editor-npc-tool-row summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-npc-tool-row summary small,.editor-npc-tool-row summary em{color:var(--text-muted);font-size:.78rem;font-style:normal}.editor-npc-tool-body{display:grid;gap:10px;padding:0 10px 10px}.editor-npc-tool-row--invalid{padding:9px 10px;color:#ffb4a9}.editor-goal-list-card{padding:14px}.editor-goal-list{display:flex;flex-direction:column;gap:8px}.editor-goal-card{border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#070d1b47;overflow:hidden}.editor-goal-card[open]{border-color:#6bb5ff57;background:#4a90d914}.editor-goal-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px 12px;cursor:pointer;list-style:none}.editor-goal-summary::-webkit-details-marker{display:none}.editor-goal-summary__copy{display:grid;gap:5px;min-width:0}.editor-goal-summary__title{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;min-width:0}.editor-goal-summary__title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.editor-goal-summary code,.editor-goal-summary span{color:var(--text-muted);font-size:.78rem}.editor-goal-summary__toggle{display:inline-flex;align-items:center;justify-content:center;min-width:5.5rem;min-height:2rem;padding:5px 9px;border-radius:999px;color:var(--text-secondary);background:#ffffff0d;border:1px solid rgba(255,255,255,.09);white-space:nowrap}.editor-goal-summary__toggle.is-open{color:var(--accent-light);border-color:#6bb5ff47;background:#4a90d921}.editor-goal-summary p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.editor-goal-body{padding:0 12px 12px}.editor-goal-subsection{display:grid;gap:12px;min-width:0;padding:12px;border-radius:8px;background:#ffffff09;border:1px solid rgba(255,255,255,.08)}.editor-goal-subsection .editor-section-card__header{margin-bottom:0}.editor-location-roles,.editor-related-to,.editor-tool-list{display:flex;flex-direction:column;gap:10px}.editor-location-role,.editor-related-to-entry,.editor-tool-add-row{display:flex;align-items:center;gap:10px}.editor-location-role input,.editor-related-to-entry input{flex:1}.editor-advanced-section{border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;overflow:hidden}.editor-advanced-section summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:600}.editor-advanced-section summary::-webkit-details-marker{display:none}.editor-advanced-section__body{padding:0 18px 18px;display:flex;flex-direction:column;gap:16px}.editor-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#040812c7;display:flex;align-items:center;justify-content:center;z-index:220;padding:20px}.editor-modal__card{width:min(100%,720px);max-height:min(90vh,920px);overflow-y:auto;background:linear-gradient(180deg,#1f2f50fa,#12213efa);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:16px}.editor-modal__header,.editor-modal__actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.editor-scene-authoring-layout{display:grid;gap:14px}.editor-scene-image-description-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"description description image" "characters controls image" "warnings warnings warnings" "config config config";gap:14px;align-items:start}.editor-scene-text-column{display:contents}.editor-scene-text-column>[data-editor-field="scene.description"]{grid-area:description}.editor-scene-image-labels-field{min-width:0}.editor-scene-image-labels-field--top-grid,.editor-scene-map-label-editor,.editor-map-labels--scene-top{display:contents}.editor-map-label-scene-controls{grid-area:controls;display:grid;gap:10px;min-width:0}.editor-scene-image-label-warnings{grid-area:warnings}.editor-map-labels--compact{gap:8px}.editor-map-label-compact-top{display:grid;gap:10px;min-width:0}.editor-map-labels--compact .editor-map-label-workspace{grid-template-columns:minmax(220px,300px) minmax(0,max-content);gap:12px;align-items:start}.editor-map-labels--split-config .editor-map-label-workspace{grid-template-columns:minmax(0,1fr);gap:10px}.editor-map-label-image-column{grid-area:image;display:grid;gap:10px;min-width:0}.editor-map-labels--compact .editor-map-inline-canvas{justify-content:flex-start}.editor-map-labels--scene-top .editor-map-inline-canvas{justify-content:stretch}.editor-map-labels--compact .map-label-editor{max-width:100%}.editor-map-labels--scene-top .map-label-editor{display:block;width:100%}.editor-map-labels--compact .map-label-editor img{width:auto;max-width:100%;max-height:min(64vh,680px)}.editor-map-labels--scene-top .map-label-editor img{width:100%;height:auto}.editor-map-labels__image-actions .editor-map-label-add-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.editor-map-label-scene-controls .editor-map-label-add-buttons{grid-template-columns:1fr}.editor-map-label-image-column .image-field-actions{display:grid;grid-template-columns:1fr}.editor-map-label-image-column .image-field-generate-btn{justify-content:center}.editor-map-labels--compact .editor-map-label-list{max-height:min(64vh,680px);overflow-y:auto}.editor-map-labels--split-config .editor-map-label-list{max-height:none;overflow:visible}.editor-map-label-config-region{grid-column:1 / -1;width:100%;min-width:0}.editor-scene-label-config-region{grid-area:config}.editor-scene-cast-panel{grid-area:characters;display:grid;gap:8px;min-width:0}.editor-scene-cast-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px}.editor-scene-cast-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:6px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff09}.editor-scene-cast-thumb{width:42px;aspect-ratio:9 / 16;border-radius:6px;overflow:hidden;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.72rem;text-align:center;line-height:1.1}.editor-scene-cast-thumb img{width:100%;height:100%;object-fit:cover}.editor-scene-cast-row__copy{min-width:0}.editor-scene-cast-row__copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.editor-scene-cast-row__actions{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}.editor-scene-cast-row__actions button{min-height:28px;padding:3px 7px;font-size:.72rem}.editor-scene-cast-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.editor-map-labels{display:flex;flex-direction:column;gap:10px}.editor-map-labels.editor-map-labels--scene-top{display:contents}.editor-map-labels__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.editor-map-labels__header h5{margin:0;font-size:.95rem}.editor-map-labels__header p{margin:3px 0 0;color:var(--text-muted);font-size:.82rem}.editor-map-label-add-buttons{display:flex;gap:8px;flex-wrap:wrap}.editor-map-label-list{display:flex;flex-direction:column;gap:6px;min-width:0}.editor-map-label-workspace{display:grid;grid-template-columns:minmax(320px,560px) minmax(0,1fr);gap:12px;align-items:start}.editor-map-label-row{border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#070d1b47;overflow:hidden}.editor-map-label-row.is-selected{border-color:#6bb5ff57;background:#4a90d914}.editor-map-label-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;cursor:pointer;list-style:none}.editor-map-label-summary::-webkit-details-marker{display:none}.editor-map-label-summary__copy{display:grid;gap:3px;min-width:0}.editor-map-label-summary__title{display:flex;flex-wrap:wrap;gap:7px;align-items:baseline;min-width:0}.editor-map-label-summary__title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.editor-map-label-summary code,.editor-map-label-summary span{color:var(--text-muted);font-size:.78rem}.editor-map-label-summary__warning{color:#ffb4a9!important}.editor-map-label-summary__toggle{display:inline-flex;align-items:center;justify-content:center;min-width:5.2rem;min-height:1.8rem;padding:4px 8px;border-radius:999px;color:var(--text-secondary);background:#ffffff0d;border:1px solid rgba(255,255,255,.09);white-space:nowrap}.editor-map-label-summary__toggle.is-open{color:var(--accent-light);border-color:#6bb5ff47;background:#4a90d921}.editor-map-label-body{display:grid;gap:10px;align-items:stretch;padding:0 10px 10px}.editor-map-label-core-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:8px;align-items:end;min-width:0}.editor-map-label-media-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:stretch;min-width:0}.editor-map-label-body .editor-field{gap:4px;min-width:0}.editor-map-label-body .editor-field label{font-size:.76rem}.editor-map-label-body select,.editor-map-label-body input{min-height:42px}.editor-map-label-color-field{width:auto}.editor-map-label-color-field input[type=color]{width:100%;min-width:64px}.editor-map-label-static-value{min-height:42px;display:flex;align-items:center;border-radius:8px;border:1px solid var(--border-subtle);background:#ffffff0a;color:var(--text-secondary);padding:0 12px}.editor-map-label-action-panel{border-radius:8px;background:#ffffff08;padding:9px;display:grid;gap:8px}.editor-map-label-action-panel__header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.editor-map-label-action-panel__header strong{font-size:.88rem}.editor-map-label-action-panel__header span{color:var(--text-muted);font-size:.76rem}.editor-map-label-action-editor{padding:9px;border-radius:8px;background:#070d1b3d;grid-template-columns:minmax(150px,.85fr) minmax(220px,1.15fr);align-items:start}.editor-action-def-editor h5,.editor-map-label-action-editor h5{margin:0;font-size:.82rem}.editor-action-def-editor__hint{margin:-3px 0 0;color:var(--text-muted);font-size:.76rem}.editor-action-def-editor__effects-list{display:grid;gap:8px}.editor-action-effect-card{display:grid;gap:8px;padding:8px;border-radius:8px;background:#0c182e6b;border:1px solid rgba(255,255,255,.08)}.editor-action-effect-card__header{color:var(--text-secondary);font-size:.76rem;font-weight:700}.editor-action-effect-card__controls{display:flex;gap:8px;flex-wrap:wrap}.editor-map-label-action-editor h5,.editor-map-label-action-editor .editor-action-def-editor__hint{grid-column:1 / -1}.editor-map-label-action-editor>.editor-field{gap:4px;min-width:0}.editor-map-label-action-editor>.editor-field>div,.editor-map-label-action-editor .editor-action-def-editor__effects-list{gap:6px!important}.editor-map-label-action-editor .editor-inline-callout{padding:9px;border-radius:8px}.editor-map-label-action-editor .editor-action-effect-card{padding:8px}.editor-map-label-action-editor button{min-height:34px;padding:5px 10px}.editor-map-label-delete{min-height:42px;white-space:nowrap;align-self:end}.editor-map-inline-canvas{display:flex;justify-content:center;min-width:0}.map-label-editor{position:relative;display:inline-block;max-width:min(100%,560px);border-radius:8px;overflow:hidden;background:#0c182ee6;border:1px solid rgba(255,255,255,.08)}.map-label-editor img{display:block;width:auto;max-width:100%;max-height:560px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@media(max-width:1180px){.editor-scene-image-description-layout{grid-template-columns:1fr;grid-template-areas:"description" "characters" "image" "controls" "warnings" "config"}}@media(max-width:900px){.editor-map-label-workspace{grid-template-columns:1fr}}.map-label-handle{position:absolute;cursor:move;border:2px solid transparent;border-radius:6px;transition:border-color .1s;width:max-content}.map-label-handle:hover,.map-label-handle--selected{border-color:var(--accent)}.map-label-handle-text{white-space:pre;font-size:.75rem;font-weight:500;pointer-events:none;border-radius:6px;box-sizing:border-box;padding:4px 8px}.map-label-handle-editor{display:block;min-width:6ch;max-width:min(32ch,40vw);resize:both;overflow:hidden;white-space:pre-wrap;font:inherit;font-size:.75rem;font-weight:500;line-height:1.3;border-radius:6px;box-sizing:border-box;padding:4px 8px;background:transparent}.map-label-handle-editor::placeholder{color:inherit;opacity:.75}.image-field{display:flex;flex-direction:column;gap:10px}.image-field-preview{width:180px;height:180px;border-radius:16px;overflow:hidden;background:#0c182ee6;border:1px solid rgba(255,255,255,.08)}.image-field-preview--button{display:block;padding:0;cursor:zoom-in}.image-field-preview--button:disabled{cursor:default}.image-field-preview--wide-scene{width:min(100%,340px);height:auto;aspect-ratio:9 / 16}.image-field-preview--wide-resource,.image-field-preview--wide-cover{width:min(100%,420px);height:auto;aspect-ratio:16 / 9}.image-field-preview img{width:100%;height:100%;object-fit:cover}.image-field-actions{display:flex;flex-wrap:wrap;gap:8px}.image-field-generate-btn{background:#6bb5ff29;color:var(--accent-light);display:inline-flex;align-items:center;gap:8px}.image-field-generate-btn:disabled,.image-field-overflow-btn:disabled{opacity:.72;cursor:wait}.image-field-generate-btn__spinner{width:14px;height:14px;border-radius:999px;border:2px solid currentColor;border-right-color:transparent;animation:image-field-spin .7s linear infinite;flex:0 0 auto}@keyframes image-field-spin{to{transform:rotate(360deg)}}.image-field-provider-menu{position:relative}.image-field-overflow-btn{min-width:42px;padding-inline:12px}.image-field-provider-menu__panel{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:210px;padding:8px;border-radius:14px;background:#091222f5;border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 40px #00000047;display:flex;flex-direction:column;gap:6px}.image-field-provider-menu__item{width:100%;justify-content:flex-start;white-space:nowrap}.image-field-prompt{display:flex;gap:8px;align-items:flex-start}.image-field-prompt textarea{flex:1;min-height:72px}.editor-tool-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:14px}.editor-tool-card-header,.editor-tool-section-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.editor-tool-card-title{font-size:1rem;font-weight:600}.editor-tool-card-summary,.editor-tool-description,.editor-tool-invalid-summary,.editor-tool-draft-note{color:var(--text-muted)}.editor-tool-card-body{display:flex;flex-direction:column;gap:16px}.editor-tool-config-warning{padding:12px;border-radius:14px;background:#e74c3c29;color:#ffb4a9}.editor-tool-checkbox{display:inline-flex;align-items:center;gap:8px}.editor-tool-draft-note{padding:12px;border-radius:14px;background:#ffffff0a}.image-cropper-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:240;display:flex;flex-direction:column}.image-cropper-container{flex:1;position:relative}.image-cropper-actions{display:flex;justify-content:center;gap:12px;padding:16px;background:var(--bg-surface)}.resource-video-field{display:grid;gap:12px;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff08}.resource-video-field--compact{padding:10px}.resource-video-field__header,.resource-video-field__footer,.resource-video-field__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.resource-video-field__header{justify-content:space-between}.resource-video-field__header>div:first-child{display:grid;gap:2px;min-width:0}.resource-video-field__header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-video-field__header span,.resource-video-field__source{color:#e0e0e0b8;font-size:.84rem}.resource-video-field__body{display:grid;gap:12px}.resource-video-field__preview{display:block;width:auto;max-width:100%;height:auto;max-height:260px;border-radius:8px;background:#000;object-fit:contain}.resource-video-field__source{display:flex;align-items:center;gap:8px}@media(max-width:1023px){.editor-sidebar{width:240px;min-width:240px}.editor-assistant-panel{width:340px;min-width:340px}.editor-main{padding:22px 24px 40px}.editor-entity-workspace{grid-template-columns:280px minmax(0,1fr)}}@media(max-width:767px){.editor{display:block}.editor-mobile-bar{position:sticky;top:0;z-index:120;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:#0f1930f5;border-bottom:1px solid rgba(255,255,255,.08)}.editor-mobile-bar__menu{background:#ffffff0f}.editor-mobile-bar__copy{display:flex;flex-direction:column;min-width:0;flex:1}.editor-mobile-bar__copy span{font-size:.78rem;color:var(--text-muted)}.editor-mobile-bar__copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-sidebar{display:none}.editor-main{padding:16px 14px 28px;gap:16px}.editor-main-header{flex-direction:column;align-items:stretch;gap:12px}.editor-main-header__actions{justify-content:space-between}.editor-assistant-toggle{display:inline-flex}.editor-assistant-panel{display:none}.editor-assistant-sheet__card{width:100%;height:calc(100dvh - 8px);max-height:none;border-radius:24px 24px 0 0}.editor-overview-grid,.editor-form--split,.editor-resource-body,.editor-resource-grid,.editor-resource-summary,.editor-npc-summary,.editor-goal-summary,.editor-related-resource{grid-template-columns:1fr}.editor-npc-thumb,.editor-related-resource__thumb{justify-self:stretch;width:100%}.editor-npc-thumb{max-width:120px;justify-self:start}.editor-npc-profile-layout{grid-template-columns:1fr}.editor-npc-profile-image{max-width:220px;justify-self:start}.editor-resource-thumb{width:100%}.editor-entity-workspace{display:block}.editor-entity-panel{padding:16px}.editor-entity-panel--list.is-hidden-mobile,.editor-entity-panel--detail.is-empty{display:none}.editor-detail-mobile-back{display:block;margin-bottom:12px}.editor-detail-mobile-back button{background:#ffffff0d}.editor-detail-mobile-sections{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.editor-mobile-section{display:none}.editor-mobile-section.is-active{display:block}.editor-detail-header,.editor-entity-panel__header,.editor-section-card__header,.editor-modal__header,.editor-tool-card-header,.editor-tool-section-header,.editor-location-role,.editor-related-to-entry,.editor-tool-add-row,.editor-mobile-sheet__actions{flex-direction:column;align-items:stretch}.editor-scene-image-description-layout,.editor-map-label-body,.editor-map-label-workspace{grid-template-columns:1fr}.editor-scene-cast-row{grid-template-columns:42px minmax(0,1fr) auto}.editor-scene-cast-thumb{width:42px;height:auto}.editor-scene-cast-row__actions{justify-content:flex-end}.editor-scene-cast-add{grid-template-columns:1fr}.editor-map-label-body{align-items:stretch}.editor-map-label-action-editor{grid-template-columns:1fr}.editor-map-label-color-field{width:auto}.editor-map-inline-canvas{display:flex}.map-label-editor img{max-height:240px}.editor-map-label-summary{grid-template-columns:1fr}.editor-assistant-composer--mobile{position:sticky;bottom:0;z-index:2;gap:10px;padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:#0a1222fa}.editor-assistant-composer--mobile .editor-assistant-composer__actions{gap:10px}.editor-assistant-composer--mobile .send-btn{flex:1}.editor-assistant-composer--mobile .voice-btn{min-width:56px;justify-content:center}.editor-vars-grid-head{display:none}.editor-vars-grid-row{grid-template-columns:1fr;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff05}.editor-modal{padding:0;align-items:flex-end}.editor-modal__card{width:100%;max-height:92vh;border-radius:22px 22px 0 0}.image-field-preview,.image-field-preview--wide-scene,.image-field-preview--wide-resource,.image-field-preview--wide-cover{width:100%;max-width:none}}.user-settings-view{height:100%;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.user-settings-card{width:100%;max-width:520px;background:linear-gradient(180deg,#578ddf29,#1f2f5000 22%),var(--bg-card);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:24px;box-shadow:0 24px 48px #00000038}.user-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.user-settings-header h1{margin:0;font-size:1.6rem}.user-settings-eyebrow{margin:0 0 6px;color:var(--accent-light);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.user-settings-back{background:#16213ee6;border:1px solid rgba(255,255,255,.12)}.user-settings-intro{margin-top:16px;color:var(--text-muted);line-height:1.5}.user-settings-highlight{margin-top:20px;padding:16px;border-radius:14px;background:#0a142a7a;border:1px solid rgba(107,181,255,.16)}.user-settings-highlight__label{margin:0 0 6px;color:var(--accent-light);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.user-settings-highlight strong{display:block;font-size:1.2rem}.user-settings-highlight p:last-child{margin-top:8px;color:var(--text-muted);line-height:1.45}.user-settings-slider{margin-top:22px}.user-settings-slider label{display:block;margin-bottom:14px;font-weight:600}.user-settings-slider input[type=range]{width:100%;accent-color:var(--accent-light)}.user-settings-slider__labels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;color:var(--text-muted);font-size:.77rem;text-align:center}.user-settings-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.user-settings-error,.user-settings-success{margin-top:14px;font-size:.92rem}.user-settings-error{color:var(--danger)}.user-settings-success{color:var(--success)}@media(max-width:640px){.user-settings-view{align-items:stretch;padding:12px}.user-settings-card{padding:18px}.user-settings-header{flex-direction:column}.user-settings-actions{justify-content:stretch}.user-settings-actions button{width:100%}}.admin-dashboard{min-height:100%;overflow-y:auto;background:var(--bg);color:var(--text);padding:28px}.admin-dashboard__shell{width:min(100%,960px);display:flex;flex-direction:column;gap:20px}.admin-dashboard__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-dashboard__header h1{font-size:1.8rem;line-height:1.15}.admin-dashboard__eyebrow{display:inline-block;margin-bottom:8px;color:var(--accent-light);font-size:.72rem;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.admin-dashboard__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.admin-dashboard__search{display:grid;gap:10px;padding:16px;border-radius:8px;background:#16213ed1;border:1px solid rgba(255,255,255,.08)}.admin-dashboard__search label{color:var(--text-muted);font-size:.76rem;letter-spacing:.05em;text-transform:uppercase}.admin-dashboard__search input{width:100%;min-height:44px;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#0a1222f5;color:var(--text);font:inherit}.admin-dashboard__search input:focus{outline:2px solid rgba(107,181,255,.45);outline-offset:2px}.admin-dashboard__search-state,.admin-dashboard__search-empty{color:var(--text-muted)}.admin-dashboard__search-state--error{color:#ffb4a9}.admin-dashboard__search-results{display:grid;gap:8px}.admin-dashboard__search-result{display:grid;gap:5px;padding:11px 12px;border-radius:8px;background:#0a1222b8;border:1px solid rgba(255,255,255,.08);color:var(--text);text-decoration:none}.admin-dashboard__search-result:hover,.admin-dashboard__search-result:focus-visible{border-color:#6bb5ff6b;background:#1c2a4ee6}.admin-dashboard__search-result span{font-weight:700}.admin-dashboard__search-result code,.admin-dashboard__search-result p{overflow-wrap:anywhere}.admin-dashboard__search-result code{color:var(--accent-light)}.admin-dashboard__search-result p{margin:0;color:var(--text-muted)}.admin-dashboard__tool{display:flex;min-height:144px;flex-direction:column;justify-content:space-between;gap:18px;padding:18px;border-radius:8px;background:#16213ed1;border:1px solid rgba(255,255,255,.08);color:var(--text);text-decoration:none}.admin-dashboard__tool:hover,.admin-dashboard__tool:focus-visible{border-color:#6bb5ff6b;background:#1c2a4ee6}.admin-dashboard__tool span{font-size:1.05rem;font-weight:700}.admin-dashboard__tool p{margin:0;color:var(--text-muted);line-height:1.45}@media(max-width:720px){.admin-dashboard{padding:20px 14px}}.admin-images{height:100%;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg);color:var(--text);padding:28px}.admin-images__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.admin-images__header-links{display:flex;align-items:center;gap:10px}.admin-images__header h1{font-size:1.8rem;line-height:1.15}.admin-images__eyebrow{display:inline-block;margin-bottom:8px;color:var(--accent-light);font-size:.72rem;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.admin-images__editor-link,.admin-images__detail-actions a,.admin-images__image-nav span{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:var(--radius-sm);background:#16213eeb;border:1px solid rgba(255,255,255,.14);color:var(--text);text-decoration:none}.admin-images__image-nav span{opacity:.45}.admin-images__state,.admin-images__table-wrap,.admin-images__meta-section{background:#16213ed1;border:1px solid rgba(255,255,255,.08);border-radius:8px}.admin-images__state{padding:18px}.admin-images__state--error{color:#ffb4a9}.admin-images__table-wrap{overflow-x:auto}.admin-images__table{width:100%;border-collapse:collapse;min-width:1040px}.admin-images__table th,.admin-images__table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:middle;font-size:.88rem}.admin-images__table th{color:var(--text-muted);font-size:.76rem;letter-spacing:.05em;text-transform:uppercase}.admin-images__table tr:last-child td{border-bottom:0}.admin-images__thumb-link{display:inline-flex;color:var(--text);text-decoration:none}.admin-images__thumb{width:72px;height:54px;border-radius:6px;object-fit:cover;background:#00000038;border:1px solid rgba(255,255,255,.12)}.admin-images__thumb--empty{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.76rem;text-align:center}.admin-images__thumb--video{display:block}.admin-images__failure{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-images__empty{color:var(--text-muted);text-align:center}.admin-images__status{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;background:#ffffff14;color:var(--text-secondary)}.admin-images__status--succeeded{background:#4caf502e;color:#b7efc0}.admin-images__status--failed,.admin-images__status--rejected{background:#e74c3c29;color:#ffb4a9}.admin-images__status--pending{background:#f1c40f24;color:#ffe7a0}.admin-images__pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px}.admin-images__pager span{color:var(--text-muted)}.admin-images__detail-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.admin-images__detail-primary-actions,.admin-images__image-nav{display:flex;align-items:center;gap:10px}.admin-images__detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:18px;align-items:start}.admin-images__prompt,.admin-images__image-panel{min-width:0}.admin-images__prompt h2,.admin-images__image-panel h2,.admin-images__meta-section h2{margin-bottom:10px;font-size:1rem}.admin-images__prompt pre,.admin-images__code-block{max-height:72vh;overflow:auto;white-space:pre-wrap;word-break:break-word;padding:14px;border-radius:8px;background:#0a1222fa;border:1px solid rgba(255,255,255,.08);color:var(--text);font-family:Iosevka,SFMono-Regular,Cascadia Code,monospace;font-size:.84rem;line-height:1.5}.admin-images__full-image,.admin-images__missing-image{width:100%;border-radius:8px;background:#0a1222fa;border:1px solid rgba(255,255,255,.08)}.admin-images__full-image{display:block;max-height:78vh;object-fit:contain}.admin-images__missing-image{min-height:280px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.admin-images__meta-section{margin-top:18px;padding:16px}.admin-images__meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-images__meta-grid div{min-width:0;padding:10px;border-radius:8px;background:#ffffff0a}.admin-images__meta-grid dt{margin-bottom:5px;color:var(--text-muted);font-size:.74rem;letter-spacing:.04em;text-transform:uppercase}.admin-images__meta-grid dd{overflow-wrap:anywhere}@media(max-width:900px){.admin-images{padding:18px 14px}.admin-images__header{align-items:stretch;flex-direction:column}.admin-images__header-links{flex-wrap:wrap}.admin-images__detail-actions,.admin-images__detail-primary-actions,.admin-images__image-nav{align-items:stretch;flex-direction:column}.admin-images__detail,.admin-images__meta-grid{grid-template-columns:1fr}}.admin-conversations{height:100%;min-height:0;overflow-y:auto;background:var(--bg);color:var(--text);padding:28px}.admin-conversations--detail-page{display:flex;flex-direction:column;overflow:hidden}.admin-conversations--detail-page .admin-conversations__header,.admin-conversations--detail-page .admin-conversations__detail-actions,.admin-conversations--detail-page .admin-conversations__meta-section{flex:0 0 auto}.admin-conversations__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.admin-conversations__header-links{display:flex;align-items:center;gap:10px}.admin-conversations__header h1{font-size:1.8rem;line-height:1.15}.admin-conversations__eyebrow{display:inline-block;margin-bottom:8px;color:var(--accent-light);font-size:.72rem;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.admin-conversations__editor-link,.admin-conversations__detail-actions a{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:var(--radius-sm);background:#16213eeb;border:1px solid rgba(255,255,255,.14);color:var(--text);text-decoration:none}.admin-conversations__state,.admin-conversations__table-wrap,.admin-conversations__meta-section{background:#16213ed1;border:1px solid rgba(255,255,255,.08);border-radius:8px}.admin-conversations__state{padding:18px}.admin-conversations__state--error,.admin-conversations__error-text{color:#ffb4a9}.admin-conversations__table-wrap{overflow-x:auto}.admin-conversations__table{width:100%;border-collapse:collapse;min-width:980px}.admin-conversations__table th,.admin-conversations__table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:middle;font-size:.88rem}.admin-conversations__table th{color:var(--text-muted);font-size:.76rem;letter-spacing:.05em;text-transform:uppercase}.admin-conversations__table tr:last-child td{border-bottom:0}.admin-conversations__table a{color:var(--accent-light);text-decoration:none}.admin-conversations__note-inline{color:var(--text-muted)}.admin-conversations__empty{color:var(--text-muted);text-align:center}.admin-conversations__pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px}.admin-conversations__pager span{color:var(--text-muted)}.admin-conversations__detail-actions{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-bottom:16px}.admin-conversations__meta-section{margin-bottom:18px;padding:16px}.admin-conversations__section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.admin-conversations__section-header h2{font-size:1rem}.admin-conversations__section-header a,.admin-conversations__linked-requests a{color:var(--accent-light);text-decoration:none}.admin-conversations__meta-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.admin-conversations__meta-grid div{min-width:0;padding:10px;border-radius:8px;background:#ffffff0a}.admin-conversations__meta-grid dt{margin-bottom:5px;color:var(--text-muted);font-size:.74rem;letter-spacing:.04em;text-transform:uppercase}.admin-conversations__meta-grid dd{overflow-wrap:anywhere}.admin-conversations__detail{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(380px,1.05fr);gap:18px;align-items:stretch}.admin-conversations--detail-page .admin-conversations__detail{flex:1 1 auto;min-height:0}.admin-conversations__history-panel,.admin-conversations__rendered-panel{display:flex;flex-direction:column;min-width:0;min-height:0}.admin-conversations__history-panel h2,.admin-conversations__rendered-panel h2{flex:0 0 auto;margin-bottom:10px;font-size:1rem}.admin-conversations__history-list{display:grid;gap:12px;min-height:0}.admin-conversations--detail-page .admin-conversations__history-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:6px}.admin-conversations__history-item,.admin-conversations__empty-panel{border-radius:8px;background:#16213ed1;border:1px solid rgba(255,255,255,.08)}.admin-conversations__history-item{padding:14px}.admin-conversations__history-item--tool_call{border-color:#6cb4ff47}.admin-conversations__history-item--tool_result{border-color:#81c7843d}.admin-conversations__history-item--decode_error{border-color:#ff7e6761}.admin-conversations__history-item header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.admin-conversations__history-item h3{font-size:.95rem;line-height:1.25}.admin-conversations__history-item p,.admin-conversations__history-item code,.admin-conversations__note,.admin-conversations__part span{color:var(--text-muted);font-size:.8rem}.admin-conversations__text-block,.admin-conversations__json-details pre{overflow:auto;white-space:pre-wrap;word-break:break-word;padding:10px;border-radius:8px;background:#0a1222fa;border:1px solid rgba(255,255,255,.08);color:var(--text);font-family:Iosevka,SFMono-Regular,Cascadia Code,monospace;font-size:.82rem;line-height:1.45}.admin-conversations__parts{display:grid;gap:8px;margin-top:10px}.admin-conversations__part,.admin-conversations__note{padding:9px 10px;border-radius:8px;background:#ffffff0b}.admin-conversations__linked-requests{display:flex;flex-wrap:wrap;gap:8px}.admin-conversations__linked-requests a{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border-radius:8px;background:#4a90d924;border:1px solid rgba(107,181,255,.18)}.admin-conversations__part{display:grid;gap:4px}.admin-conversations__part strong{font-size:.8rem;text-transform:uppercase}.admin-conversations__inline-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.admin-conversations__inline-meta div{min-width:0;padding:9px 10px;border-radius:8px;background:#ffffff0b}.admin-conversations__inline-meta dt{margin-bottom:4px;color:var(--text-muted);font-size:.72rem;text-transform:uppercase}.admin-conversations__inline-meta dd{overflow-wrap:anywhere}.admin-conversations__json-details{margin-top:10px}.admin-conversations__available-tools{margin-top:10px;padding:10px;border-radius:8px;background:#6cb4ff14;border:1px solid rgba(108,180,255,.18)}.admin-conversations__available-tools summary{cursor:pointer;color:var(--accent-light);font-size:.84rem}.admin-conversations__available-tool-list{display:grid;gap:8px;margin-top:10px}.admin-conversations__available-tool{display:grid;gap:8px;min-width:0;padding:9px 10px;border-radius:8px;background:#0a122294}.admin-conversations__available-tool code{color:var(--text);font-size:.84rem}.admin-conversations__available-tool p{margin-top:4px;color:var(--text-muted);font-size:.8rem;line-height:1.35}.admin-conversations__json-details summary{cursor:pointer;color:var(--accent-light);font-size:.84rem}.admin-conversations__json-details pre{max-height:360px;margin-top:8px}.admin-conversations__chat-frame{display:flex;flex:1 1 auto;min-height:0;overflow:hidden;border-radius:8px;background-color:#0a1222fa;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.08)}.admin-conversations__message-list{flex:1 1 auto;height:100%;min-height:0;overflow-y:auto;padding:18px}.admin-conversations__empty-panel{padding:18px;color:var(--text-muted)}@media(max-width:1100px){.admin-conversations__meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-conversations__detail{grid-template-columns:1fr}.admin-conversations--detail-page{display:block;overflow-y:auto}.admin-conversations--detail-page .admin-conversations__detail{flex:none}.admin-conversations--detail-page .admin-conversations__history-list,.admin-conversations--detail-page .admin-conversations__chat-frame{max-height:70vh}.admin-conversations--detail-page .admin-conversations__chat-frame{display:flex}}@media(max-width:720px){.admin-conversations{padding:18px}.admin-conversations__header{align-items:stretch;flex-direction:column}.admin-conversations__header-links{flex-wrap:wrap}.admin-conversations__meta-grid,.admin-conversations__inline-meta{grid-template-columns:1fr}.admin-conversations__chat-frame{height:70vh}.admin-conversations__message-list{height:auto}}.admin-feedback{min-height:100%;padding:32px;color:var(--text-primary)}.admin-feedback__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.admin-feedback__header-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.admin-feedback__header h1{margin:0;font-size:1.6rem}.admin-feedback__eyebrow{display:inline-block;margin-bottom:6px;color:var(--accent-light);font-size:.78rem;letter-spacing:.12em;text-decoration:none;text-transform:uppercase}.admin-feedback__nav-link{display:inline-flex;align-items:center;min-height:36px;padding:8px 12px;border-radius:8px;background:#4a90d91f;border:1px solid rgba(107,181,255,.18);color:var(--text-primary);text-decoration:none}.admin-feedback__state,.admin-feedback__table-wrap{border-radius:8px;background:var(--bg-card);border:1px solid rgba(255,255,255,.1)}.admin-feedback__state{padding:18px}.admin-feedback__state--error{color:var(--danger)}.admin-feedback__toolbar{display:flex;align-items:center;justify-content:flex-start;margin-bottom:12px}.admin-feedback__filters{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:8px;background:#0000002e;border:1px solid rgba(255,255,255,.1)}.admin-feedback__filter-link{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 12px;border-radius:6px;color:var(--text-muted);text-decoration:none;font-size:.9rem}.admin-feedback__filter-link:hover{color:var(--text-primary);background:#ffffff0f}.admin-feedback__filter-link--active{color:var(--text-primary);background:#4a90d947}.admin-feedback__table-wrap{overflow-x:auto}.admin-feedback__table{width:100%;border-collapse:collapse;min-width:1380px}.admin-feedback__table th,.admin-feedback__table td{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:top;text-align:left}.admin-feedback__table th{color:var(--text-muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-feedback__table tr:last-child td{border-bottom:0}.admin-feedback__row--handled{opacity:.72}.admin-feedback__table a{color:var(--accent-light);text-decoration:none}.admin-feedback__table a:hover{text-decoration:underline}.admin-feedback__message{white-space:pre-wrap;line-height:1.45}.admin-feedback__handled-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary);font-size:.88rem;white-space:nowrap}.admin-feedback__handled-toggle input{width:18px;height:18px;accent-color:var(--accent-light)}.admin-feedback__note-cell{min-width:240px}.admin-feedback__note-cell textarea{width:100%;min-height:72px;resize:vertical;border-radius:6px;border:1px solid rgba(255,255,255,.16);background:#0000002e;color:var(--text-primary);padding:8px 10px;font:inherit;line-height:1.35}.admin-feedback__note-cell textarea:focus{outline:none;border-color:#6bb5ffb8;box-shadow:0 0 0 2px #6bb5ff2e}.admin-feedback__note-status{display:flex;align-items:center;gap:8px;margin-top:8px;color:var(--text-muted);font-size:.78rem;min-height:18px}.admin-feedback__save-error{color:var(--danger)}.admin-feedback__save-hint{color:var(--text-muted)}.admin-feedback__empty{color:var(--text-muted);text-align:center}.admin-feedback__pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px}.admin-feedback__pager span{color:var(--text-muted);font-size:.9rem}@media(max-width:767px){.admin-feedback{padding:20px 14px}.admin-feedback__header,.admin-feedback__pager{flex-direction:column;align-items:stretch}.admin-feedback__header-links{justify-content:flex-start}}:root{--fluentquest-viewport-height: 100dvh;--bg: #1a1a2e;--bg-surface: #16213e;--bg-card: #1f2f50;--text: #e0e0e0;--text-muted: #8a8a9a;--accent: #4a90d9;--accent-light: #6bb5ff;--user-bubble: #2b5797;--npc-bubble: #2a2a3e;--success: #4caf50;--danger: #e74c3c;--radius: 12px;--radius-sm: 8px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;min-height:var(--fluentquest-viewport-height, 100dvh);width:100%;overflow:hidden}#root{height:var(--fluentquest-viewport-height, 100dvh);width:100%;overflow:hidden;display:flex;flex-direction:column}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}.app{width:100%;max-width:600px;max-height:var(--fluentquest-viewport-height, 100dvh);aspect-ratio:2 / 3;margin:0 auto;position:relative;overflow:hidden}.app--player{width:min(100%,600px);height:var(--fluentquest-viewport-height, 100dvh);aspect-ratio:auto}.app--editor{max-width:none;aspect-ratio:auto;height:100%}.auth-shell{display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:min(100%,420px);padding:28px;border-radius:20px;background:radial-gradient(circle at top,rgba(107,181,255,.2),transparent 55%),linear-gradient(180deg,#1f2f50fa,#16213efa);border:1px solid rgba(107,181,255,.16);box-shadow:0 24px 48px #00000047}.auth-card--compact{width:auto;min-width:220px;text-align:center}.auth-eyebrow{margin-bottom:12px;color:var(--accent-light);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}.auth-card h1{margin-bottom:12px;font-size:2rem;line-height:1.05}.auth-copy,.auth-hint{color:#d2dcf5;line-height:1.5}.auth-copy{margin-bottom:16px}.auth-error{margin-bottom:16px;color:#ffb4a8}.auth-cta{width:100%;margin-bottom:12px}.app-return-editor{position:absolute;top:12px;right:12px;z-index:110;background:#16213ee6;border:1px solid rgba(255,255,255,.14)}button{font:inherit;cursor:pointer;border:none;border-radius:var(--radius-sm);padding:10px 16px;min-height:44px;min-width:44px;background:var(--accent);color:var(--text)}button:active{opacity:.8}.top-menu{display:flex;align-items:center;justify-content:space-between;gap:12px}.top-menu__identity{min-width:0;display:flex;flex-direction:column;gap:5px}.top-menu__identity strong{overflow:hidden;color:#f5f7fb;font-size:.88rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.top-menu__badge{width:fit-content;border-radius:999px;padding:4px 8px;background:#e9b44c2e;color:#ffe4a9;font-size:.72rem;font-weight:800;line-height:1.2;text-transform:uppercase}.top-menu__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.top-menu__button{background:#4a90d929;border:1px solid rgba(107,181,255,.14)}input[type=text]{font:inherit;border:1px solid var(--text-muted);border-radius:var(--radius-sm);padding:10px 12px;min-height:44px;background:var(--bg-surface);color:var(--text);outline:none}input[type=text]:focus{border-color:var(--accent)}.connection-lost-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.connection-lost-card{background:var(--bg-card);padding:32px;border-radius:var(--radius);text-align:center;display:flex;flex-direction:column;gap:16px}@media(max-width:767px){.app-return-editor{top:10px;right:10px;padding:8px 12px;min-height:40px}}
