:root{color-scheme:dark;--bg:#0d1113;--panel:#171d20;--panel-2:#20282b;--line:#314046;--text:#f3f7f5;--muted:#a9b6b2;--accent:#f2b84b;--accent-2:#63d3c1;--danger:#ff786d;--shadow:0 24px 80px rgba(0,0,0,0.28);--mention-character:#f6d481;--mention-character-rgb:246,212,129;--mention-location:#78b8ff;--mention-location-rgb:120,184,255;--mention-item:#e7b8ff;--mention-item-rgb:231,184,255;--mention-skill:#7ee787;--mention-skill-rgb:126,231,135;--mention-glossary:#63d3c1;--mention-glossary-rgb:99,211,193}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:linear-gradient(135deg,rgba(99,211,193,.11),transparent 42%),linear-gradient(315deg,rgba(242,184,75,.1),transparent 38%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit;letter-spacing:0}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.7}.auth-shell,.shell{width:min(1120px,calc(100vw - 32px));margin:0 auto}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:48px 0}.auth-panel{width:min(520px,100%);background:rgba(23,29,32,.94);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:28px}.app-header,.brand-row,.topbar{display:flex;align-items:center;gap:16px}.app-header,.topbar{min-height:96px;justify-content:space-between}.app-header{position:sticky;top:0;z-index:10;padding:8px 0;background:rgba(13,17,19,.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-link{display:inline-flex;min-width:0}.app-nav{min-height:44px;display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:4px;background:#0f1517;border:1px solid var(--line);border-radius:8px}.app-nav a{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;color:var(--muted);border-radius:6px;font-weight:700;font-size:.92rem}.app-nav a:hover{color:var(--text);background:var(--panel-2)}.user-tools{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-weight:700}.brand-mark{width:52px;height:52px;display:grid;place-items:center;flex:0 0 52px;color:#061414;background:var(--accent-2);border-radius:8px}.logo-stage{display:grid;place-items:center;margin:-4px 0 18px}.auth-logo{width:min(320px,82vw);max-height:220px;border-radius:8px}.auth-logo,.brand-logo-thumb{display:block;object-fit:contain}.brand-logo-thumb{width:clamp(136px,20vw,220px);height:76px;flex:0 1 220px;padding:6px 10px;background:rgba(5,8,8,.72);border:1px solid var(--line);border-radius:8px}.eyebrow{margin:0 0 4px;color:var(--accent);font-size:.76rem;font-weight:700;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.05}h2{margin-bottom:12px;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.08}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:28px 0 22px;padding:4px;background:#0f1517;border:1px solid var(--line);border-radius:8px}.icon-button,.primary-button,.secondary-button,.segmented button{border:0;border-radius:6px}.segmented button{min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);background:transparent}.segmented .active{color:var(--text);background:var(--panel-2)}.field{display:grid;gap:8px;color:var(--muted);font-size:.9rem}.field input{width:100%;min-height:50px;padding:0 14px;color:var(--text);background:#0f1517;border:1px solid var(--line);border-radius:6px;outline:none}.field input:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px rgba(99,211,193,.14)}.message{min-height:44px;margin:16px 0;color:var(--muted);line-height:1.45}.message.error{color:var(--danger)}.primary-button{width:100%;min-height:52px;display:flex;align-items:center;justify-content:center;gap:10px;color:#0c1113;background:var(--accent);font-weight:800}.primary-button:hover:not(:disabled){filter:brightness(1.05)}.secondary-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;color:var(--accent-2);background:#0f1517;border:1px solid var(--line);font-weight:800}.secondary-button:hover{border-color:rgba(99,211,193,.55)}.auth-google-button{width:100%;margin-top:10px}.shell{min-height:100vh;padding:28px 0 64px}.app-shell{width:min(1280px,calc(100vw - 32px))}.icon-button{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;color:var(--text);background:var(--panel-2);border:1px solid var(--line)}.icon-button.danger{color:var(--danger)}.hero-panel{min-height:260px;display:flex;align-items:end;justify-content:space-between;gap:24px;margin:28px 0;padding:32px;background:linear-gradient(120deg,rgba(242,184,75,.13),transparent 48%),linear-gradient(300deg,rgba(99,211,193,.16),transparent 52%),var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.lead{max-width:620px;margin-bottom:0;color:var(--muted);line-height:1.6}.status-pill{min-height:40px;display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:0 14px;color:var(--accent-2);background:#0f1517;border:1px solid var(--line);border-radius:999px;font-weight:700}.performance-footer{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:32px;padding-top:12px;color:rgba(148,163,166,.64);border-top:1px solid rgba(49,64,70,.42);font-size:.72rem;line-height:1.35}.performance-footer span{white-space:nowrap}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.story-game-panel{display:grid;gap:14px;margin:24px 0;padding:18px;background:rgba(23,29,32,.86);border:1px solid var(--line);border-radius:8px}.story-game-panel .section-title-row{margin-bottom:0;align-items:center}.story-game-panel .section-title-row h2{margin-top:2px}.story-game-list{display:grid;gap:10px}.story-game-card{min-height:78px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;color:var(--text);background:#0f1517;border:1px solid rgba(99,211,193,.25);border-radius:8px}.story-game-card:hover{border-color:rgba(99,211,193,.58)}.story-game-card.legacy{border-color:rgba(242,184,75,.28)}.story-game-card-icon{width:42px;height:42px;display:grid;place-items:center;color:#0c1113;background:var(--accent-2);border-radius:8px}.story-game-card.legacy .story-game-card-icon{background:var(--accent)}.story-game-card-copy{min-width:0;display:grid;gap:3px}.story-game-card-copy small,.story-game-card-copy span,.story-game-card-copy strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.story-game-card-copy small,.story-game-card-copy span,.story-game-card-count,.story-game-empty{color:var(--muted)}.story-game-card-count{font-size:.84rem;font-weight:800;white-space:nowrap}.story-game-empty p{margin:0}.metric-card{min-height:150px;display:grid;align-content:space-between;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:8px;transition:border-color .16s ease,transform .16s ease}.metric-card:hover{transform:translateY(-2px);border-color:rgba(99,211,193,.55)}.metric-card svg{color:var(--accent-2)}.metric-card span{color:var(--muted)}.metric-card strong{font-size:2.6rem;line-height:1}.session-manager{display:grid;gap:18px;margin-top:28px;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.session-list{display:grid;gap:12px}.session-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:8px}.session-card>svg{color:var(--accent-2)}.session-card-actions,.session-card>div{display:grid;gap:4px}.session-card small,.session-card span,.session-loading{color:var(--muted)}.session-card-actions{justify-items:end;gap:8px}.session-card-actions>span,.session-current,.session-loading{display:flex;align-items:center;gap:6px}.session-current{color:var(--accent-2)!important}@media (max-width:720px){.session-card{grid-template-columns:auto minmax(0,1fr)}.session-card-actions{grid-column:1/-1;justify-items:stretch}}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:28px 0}.page-actions{display:grid;justify-items:end;gap:10px}.filter-links{display:flex;gap:8px;flex-wrap:wrap}.filter-links a{min-height:32px;display:inline-flex;align-items:center;padding:0 10px;color:var(--muted);background:#0f1517;border:1px solid var(--line);border-radius:6px;font-weight:700}.filter-links a:hover{color:var(--text);border-color:rgba(99,211,193,.55)}.search-form{width:min(520px,100%);min-height:48px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:5px 6px 5px 14px;background:#0f1517;border:1px solid var(--line);border-radius:8px}.search-form svg{color:var(--accent-2)}.search-form input{width:100%;min-width:0;color:var(--text);background:transparent;border:0;outline:none}.search-form button{min-height:36px;padding:0 12px;color:#0c1113;background:var(--accent);border:0;border-radius:6px;font-weight:800}.dashboard-search{width:100%;margin-top:20px}.dashboard-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.section-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px}.section-title-row h2{margin:0;font-size:1.2rem}.section-title-row a{color:var(--accent-2);font-weight:800}.compact-list{display:grid;gap:10px}.compact-list a{min-height:78px;display:grid;gap:6px;padding:14px;background:rgba(23,29,32,.78);border:1px solid var(--line);border-radius:8px}.compact-list a:hover{border-color:rgba(99,211,193,.55)}.compact-list span,.compact-list strong{min-width:0}.compact-list span{color:var(--muted);line-height:1.45}.entity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.entity-card,.glossary-list article{min-width:0;min-height:210px;display:grid;grid-template-rows:auto 1fr auto;align-content:space-between;gap:20px;overflow:hidden;padding:18px;background:rgba(23,29,32,.86);border:1px solid var(--line);border-radius:8px;transition:border-color .16s ease,transform .16s ease}.entity-card:hover{transform:translateY(-2px);border-color:rgba(99,211,193,.55)}.entity-card-main{min-width:0;overflow:hidden}.entity-card-thumb{width:100%;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(145deg,rgba(99,211,193,.16),rgba(242,184,75,.13)),#101718;border:1px solid rgba(99,211,193,.2);border-radius:8px}.entity-card-thumb img{width:100%;height:100%;object-fit:cover}.entity-eyebrow{display:block;margin-bottom:8px;color:var(--accent);font-size:.76rem;font-weight:800;text-transform:uppercase}.entity-card h2,.glossary-list h2{margin-bottom:10px;font-size:1.18rem;line-height:1.18;overflow-wrap:anywhere}.entity-card h2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.entity-card p,.glossary-list p{margin-bottom:0;color:var(--muted);line-height:1.55;overflow-wrap:anywhere}.entity-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.entity-card-footer{min-width:0;min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:10px;overflow:hidden;color:var(--muted);font-size:.86rem}.entity-card-footer .status-badge{flex:0 0 auto}.entity-card-meta{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-card-footer svg{flex:0 0 auto}.character-tabs-panel{display:grid;gap:10px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.character-tabs-panel p{max-width:720px;margin:0;color:var(--muted);line-height:1.5}.character-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.character-tabs a{min-height:46px;display:inline-flex;align-items:center;flex:0 0 auto;gap:10px;padding:0 12px;color:var(--muted);background:#0f1517;border:1px solid var(--line);border-radius:8px;font-weight:800}.character-tabs a.active,.character-tabs a:hover{color:var(--text);border-color:rgba(99,211,193,.55)}.character-tabs a.active{background:rgba(99,211,193,.11)}.character-tabs strong{min-width:30px;min-height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;color:#071112;background:var(--accent-2);border-radius:999px;font-size:.8rem}.character-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.character-card{--kind-color:var(--accent-2);min-height:390px;display:grid;grid-template-rows:auto auto 1fr auto;gap:15px;padding:18px;color:var(--text);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 36%),rgba(23,29,32,.9);border:1px solid color-mix(in srgb,var(--kind-color) 38%,var(--line));border-radius:8px;transition:border-color .16s ease,transform .16s ease}.character-card:hover{transform:translateY(-2px);border-color:var(--kind-color)}.character-kind-fremen{--kind-color:#63d3c1}.character-kind-hrac{--kind-color:#f5c66b}.character-kind-arrakeen{--kind-color:#f2b84b}.character-kind-ix{--kind-color:#9bc6ff}.character-kind-podsvetie{--kind-color:#c38cff}.character-kind-nezaradene{--kind-color:#c6d0cc}.character-kind-rezerva{--kind-color:#ff9a7a}.character-card-top{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:start}.character-avatar{width:88px;height:88px;display:grid;place-items:center;overflow:hidden;color:#061112;background:linear-gradient(145deg,color-mix(in srgb,var(--kind-color) 58%,#111 42%),#101718);border:1px solid color-mix(in srgb,var(--kind-color) 55%,var(--line));border-radius:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.character-avatar img{width:100%;height:100%;object-fit:cover}.character-avatar span{color:var(--text);font-size:1.32rem;font-weight:900}.character-card-heading{min-width:0}.character-card-kicker{min-height:30px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.character-card-kicker>span{color:var(--kind-color);font-size:.76rem;font-weight:900;text-transform:uppercase}.character-card h2{margin:0 0 8px;font-size:1.28rem;line-height:1.14}.character-card-role,.character-card-summary{margin:0;color:var(--muted);line-height:1.5}.character-card-role{-webkit-line-clamp:2}.character-card-role,.character-card-summary{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.character-card-summary{-webkit-line-clamp:3}.character-card-facts{display:grid;align-content:start;gap:9px;margin:0}.character-card-facts div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;padding-top:9px;border-top:1px solid rgba(49,64,70,.66)}.character-card-facts dt{color:var(--kind-color);font-size:.76rem;font-weight:900;text-transform:uppercase}.character-card-facts dd{min-width:0;display:-webkit-box;overflow:hidden;margin:0;color:var(--muted);line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.character-card-footer{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.86rem}.character-card-footer>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.character-card-open{flex:0 0 auto;gap:6px;color:var(--accent-2);font-weight:900}.character-card-open,.status-badge{display:inline-flex;align-items:center}.status-badge{min-height:28px;padding:0 9px;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:999px;font-size:.78rem;font-weight:800;white-space:nowrap}.status-active,.status-open{color:var(--accent-2);border-color:rgba(99,211,193,.48)}.status-reserve,.status-sleeping,.status-uncertain{color:var(--accent);border-color:rgba(242,184,75,.48)}.status-closed,.status-dead{color:var(--muted)}.glossary-term{position:relative;display:inline;color:var(--mention-glossary);border-bottom:1px dotted rgba(var(--mention-glossary-rgb),.72);cursor:help}.glossary-tooltip{position:fixed;top:auto;bottom:auto;z-index:90;box-sizing:border-box;width:min(320px,calc(100vw - 28px));max-height:min(360px,calc(100vh - 28px));display:grid;gap:6px;overflow:auto;padding:10px 12px;color:var(--text);background:#0f1517;border:1px solid rgba(var(--mention-glossary-rgb),.48);border-radius:8px;box-shadow:var(--shadow);pointer-events:auto;transform:translateX(-50%)}.glossary-tooltip strong{color:var(--mention-glossary);font-size:.82rem}.glossary-tooltip-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.glossary-tooltip-delete{width:28px;height:28px;display:grid;place-items:center;color:var(--muted);background:rgba(255,255,255,.04);border:1px solid rgba(49,64,70,.72);border-radius:6px;cursor:pointer}.glossary-tooltip-delete:hover:not(:disabled){color:var(--danger);border-color:rgba(255,108,108,.45)}.glossary-tooltip-delete:disabled{cursor:wait;opacity:.72}.glossary-tooltip-delete:disabled svg{animation:spin .9s linear infinite}.glossary-tooltip span{color:var(--muted);line-height:1.45}.glossary-tooltip small{color:var(--muted);font-size:.72rem;line-height:1.35}.glossary-tooltip-error{color:var(--danger)!important}.character-mention,.item-mention,.location-mention,.skill-mention{position:relative;display:inline;outline:none}.character-mention{color:var(--mention-character);border-bottom:1px dotted rgba(var(--mention-character-rgb),.72);cursor:help}.location-mention{color:var(--mention-location);border-bottom:1px dotted rgba(var(--mention-location-rgb),.72);cursor:help}.item-mention{color:var(--mention-item);border-bottom:1px dotted rgba(var(--mention-item-rgb),.72);cursor:help}.skill-mention{color:var(--mention-skill);border-bottom:1px dotted rgba(var(--mention-skill-rgb),.72);cursor:help}.character-popover,.item-popover,.location-popover,.skill-popover{position:fixed;top:auto;bottom:auto;z-index:95;box-sizing:border-box;width:min(360px,calc(100vw - 48px));max-height:min(420px,calc(100vh - 28px));display:grid;gap:10px;overflow:auto;padding:12px;color:var(--text);background:#0f1517;border:1px solid rgba(var(--mention-character-rgb),.5);border-radius:8px;box-shadow:var(--shadow);pointer-events:auto;transform:translateX(-50%)}.location-popover{border-color:rgba(var(--mention-location-rgb),.5)}.item-popover{border-color:rgba(var(--mention-item-rgb),.5)}.skill-popover{border-color:rgba(var(--mention-skill-rgb),.5)}.character-popover-head,.item-popover-head,.location-popover-head,.skill-popover-head{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center}.location-popover-head{grid-template-columns:64px minmax(0,1fr)}.item-popover-head,.skill-popover-head{grid-template-columns:52px minmax(0,1fr)}.character-popover-avatar,.item-popover-image,.location-popover-image,.skill-popover-image{width:48px;height:48px;display:grid;place-items:center;overflow:hidden;color:#061414;background:var(--mention-character);border:1px solid rgba(var(--mention-character-rgb),.5);border-radius:8px;font-weight:900}.location-popover-image{width:64px;color:#061414;background:var(--mention-location);border-color:rgba(var(--mention-location-rgb),.5)}.item-popover-image{width:52px;height:52px;background:var(--mention-item);border-color:rgba(var(--mention-item-rgb),.5)}.skill-popover-image{width:52px;height:52px;background:var(--mention-skill);border-color:rgba(var(--mention-skill-rgb),.5)}.character-popover-avatar img,.item-popover-image img,.location-popover-image img,.skill-popover-image img{width:100%;height:100%;display:block;object-fit:cover}.character-popover strong,.item-popover strong,.location-popover strong,.skill-popover strong{display:block;color:var(--mention-character);font-size:.9rem}.location-popover strong{color:var(--mention-location)}.item-popover strong{color:var(--mention-item)}.skill-popover strong{color:var(--mention-skill)}.character-popover small,.character-popover-summary,.item-popover small,.item-popover-summary,.location-popover small,.location-popover-summary,.skill-popover small,.skill-popover-summary{color:var(--muted);line-height:1.4}.character-popover-summary,.item-popover-summary,.location-popover-summary,.skill-popover-summary{display:block}.character-popover-link,.item-popover-link,.location-popover-link,.skill-popover-link{justify-self:start;min-height:30px;display:inline-flex;align-items:center;padding:0 10px;color:#061414;background:var(--mention-character);border-radius:6px;font-size:.84rem;font-weight:900}.location-popover-link{background:var(--mention-location)}.item-popover-link{background:var(--mention-item)}.skill-popover-link{background:var(--mention-skill)}.glossary-selection-popover{position:fixed;z-index:80;box-sizing:border-box;width:min(380px,calc(100vw - 28px));max-height:calc(100dvh - 28px);display:grid;gap:10px;overflow:auto;padding:14px;color:var(--text);background:rgba(15,21,23,.98);border:1px solid rgba(99,211,193,.44);border-radius:8px;box-shadow:var(--shadow)}.glossary-selection-popover:after{content:"";position:absolute;left:var(--selection-arrow-left,50%);bottom:-7px;width:12px;height:12px;background:rgba(15,21,23,.98);border-right:1px solid rgba(99,211,193,.44);border-bottom:1px solid rgba(99,211,193,.44);transform:translateX(-50%) rotate(45deg)}.glossary-selection-popover[data-placement=bottom]:after{top:-7px;bottom:auto;border:0;border-top:1px solid rgba(99,211,193,.44);border-left:1px solid rgba(99,211,193,.44)}.glossary-selection-title{min-height:24px;display:flex;align-items:center;gap:8px;padding-right:28px;color:var(--accent)}.glossary-selection-title strong{color:var(--text)}.glossary-selection-popover p,.glossary-selection-popover span{margin:0;color:var(--muted);line-height:1.45;font-size:.9rem}.glossary-selection-mode{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:3px;background:rgba(255,255,255,.04);border:1px solid rgba(49,64,70,.72);border-radius:8px}.glossary-selection-mode button{min-height:34px;color:var(--muted);background:transparent;border:0;border-radius:6px;cursor:pointer;font-weight:900}.glossary-selection-mode button.active{color:#061414;background:var(--accent-2)}.glossary-selection-field{display:grid;gap:6px}.glossary-selection-field span{color:var(--accent)!important;font-size:.78rem;font-weight:900;text-transform:uppercase}.glossary-selection-field input,.glossary-selection-field select{width:100%;min-height:38px;padding:0 10px;color:var(--text);background:rgba(7,14,15,.72);border:1px solid rgba(49,64,70,.9);border-radius:6px;font:inherit}.glossary-selection-field select{cursor:pointer}.glossary-selection-chips{display:flex;gap:6px;flex-wrap:wrap}.glossary-selection-chips button{min-height:30px;padding:0 9px;color:var(--accent-2);background:rgba(99,211,193,.08);border:1px solid rgba(99,211,193,.24);border-radius:999px;cursor:pointer;font-weight:800}.glossary-selection-chips button:hover{border-color:rgba(99,211,193,.56)}.glossary-selection-close{position:absolute;top:8px;right:8px;width:28px;height:28px;display:grid;place-items:center;color:var(--muted);background:transparent;border:0;border-radius:6px}.glossary-selection-close:hover{color:var(--text);background:var(--panel-2)}.glossary-selection-actions{display:flex;justify-content:flex-end}.glossary-selection-actions .secondary-button{min-height:36px;display:inline-flex;align-items:center;gap:8px;padding:0 12px}.glossary-selection-actions .secondary-button svg{flex:0 0 auto}.glossary-selection-actions .secondary-button:disabled svg{animation:spin .9s linear infinite}.glossary-selection-error{color:var(--danger)!important}.glossary-selection-result{display:grid;gap:5px}.detail-band{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:24px;margin-bottom:22px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-main{min-width:0}.detail-side{min-width:0;display:grid;gap:18px;align-content:start}.character-profile-band,.item-profile-band,.location-profile-band{grid-template-columns:minmax(0,1fr) minmax(300px,320px);align-items:start}.character-profile-main,.item-profile-main,.location-profile-main{display:grid;gap:22px}.character-profile-main .lead,.item-profile-main .lead,.location-profile-main .lead{max-width:760px}.character-profile-sections,.item-profile-sections,.location-profile-sections{display:grid;gap:26px}.character-profile-section,.item-profile-section,.location-profile-section{display:grid;gap:14px;padding-top:22px;border-top:1px solid rgba(49,64,70,.72)}.profile-section-heading{display:grid;gap:5px}.profile-section-heading h2{margin:0;color:var(--text);font-size:1.18rem;line-height:1.2}.profile-section-heading p{max-width:720px;margin:0;color:var(--muted);line-height:1.5}.character-profile-section>.fact-list,.item-profile-section>.fact-list,.location-profile-section>.fact-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px}.character-profile-section>.fact-list dd,.character-profile-section>.fact-list div,.item-profile-section>.fact-list dd,.item-profile-section>.fact-list div,.location-profile-section>.fact-list dd,.location-profile-section>.fact-list div,.profile-object-card .fact-list dd,.profile-object-card .fact-list div{min-width:0}.profile-object-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-object-card{min-width:0;display:grid;gap:9px;padding:13px;background:rgba(15,21,23,.72);border:1px solid rgba(49,64,70,.72);border-radius:8px}.profile-object-card>span{color:var(--accent);font-size:.72rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.profile-object-card h3,.profile-object-card p{margin:0}.profile-object-card h3{font-size:1rem;line-height:1.25}.profile-object-card p{color:var(--muted);line-height:1.5}.profile-object-card .fact-list{gap:8px}.character-profile-facts{display:grid;gap:14px;min-width:0}.character-profile-facts h2{margin:0;font-size:1.2rem}.character-profile-facts .fact-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px}.character-profile-facts .fact-list dd,.character-profile-facts .fact-list div{min-width:0}.detail-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;color:var(--muted);font-weight:700}.fact-list{display:grid;gap:12px;margin:0}.character-avatar-panel,.item-image-panel,.location-image-panel,.skill-image-panel{display:grid;gap:12px;padding-bottom:18px;border-bottom:1px solid rgba(49,64,70,.65)}.avatar-viewer,.item-image-viewer,.location-image-viewer,.skill-image-viewer{position:relative;width:min(100%,320px)}.location-image-viewer{width:100%}.item-image-viewer,.skill-image-viewer{width:min(100%,320px)}.character-avatar-large{width:min(100%,320px);aspect-ratio:1;display:grid;place-items:center;overflow:hidden;color:var(--text);background:linear-gradient(145deg,rgba(99,211,193,.22),rgba(242,184,75,.13)),#101718;border:1px solid rgba(99,211,193,.34);border-radius:8px}.character-avatar-large img{width:100%;height:100%;object-fit:cover}.character-avatar-large span{font-size:clamp(2.2rem,10vw,4rem);font-weight:900}.location-image-large{width:100%;aspect-ratio:16/10;display:grid;place-items:center;overflow:hidden;color:var(--text);background:radial-gradient(circle at 50% 30%,rgba(242,184,75,.18),transparent 40%),linear-gradient(145deg,rgba(99,211,193,.16),rgba(242,184,75,.12)),#101718;border:1px solid rgba(99,211,193,.34);border-radius:8px}.item-image-large,.skill-image-large{width:min(100%,320px);aspect-ratio:1;display:grid;place-items:center;overflow:hidden;color:var(--text);background:radial-gradient(circle at 50% 35%,rgba(231,184,255,.18),transparent 42%),linear-gradient(145deg,rgba(99,211,193,.14),rgba(242,184,75,.13)),#101718;border:1px solid rgba(231,184,255,.34);border-radius:8px}.skill-image-large{background:radial-gradient(circle at 50% 35%,rgba(158,203,255,.2),transparent 42%),linear-gradient(145deg,rgba(99,211,193,.14),rgba(242,184,75,.12)),#101718;border-color:rgba(158,203,255,.36)}.item-image-large img,.location-image-large img,.skill-image-large img{width:100%;height:100%;object-fit:cover}.item-image-large span,.location-image-large span,.skill-image-large span{color:var(--text);font-size:clamp(2rem,8vw,3.5rem);font-weight:900}.avatar-nav{position:absolute;top:50%;display:grid;width:36px;height:36px;place-items:center;color:var(--text);background:rgba(7,14,15,.72);border:1px solid rgba(255,255,255,.16);border-radius:999px;transform:translateY(-50%);cursor:pointer}.avatar-nav:disabled{cursor:wait;opacity:.6}.avatar-nav-left{left:10px}.avatar-nav-right{right:10px}.avatar-counter{position:absolute;right:10px;bottom:10px;padding:5px 8px;color:var(--text);background:rgba(7,14,15,.72);border:1px solid rgba(255,255,255,.12);border-radius:999px;font-size:.74rem;font-weight:900}.avatar-active-label{width:min(100%,320px);margin:0;color:var(--accent);font-size:.78rem;font-weight:900;text-transform:uppercase}.avatar-generate-button{width:min(100%,320px);gap:8px}.item-image-panel .avatar-active-label,.item-image-panel .avatar-generate-button,.location-image-panel .avatar-active-label,.location-image-panel .avatar-generate-button,.skill-image-panel .avatar-active-label,.skill-image-panel .avatar-generate-button{width:100%}.admin-submit svg,.avatar-generate-button svg{flex:0 0 auto}.avatar-generate-button:disabled svg{animation:spin .9s linear infinite}.fact-list div{display:grid;gap:5px;padding-bottom:12px;border-bottom:1px solid rgba(49,64,70,.65)}.fact-list dt{color:var(--accent);font-size:.76rem;font-weight:800;text-transform:uppercase}.fact-list dd{margin:0;color:var(--text);line-height:1.5}.structured-text{display:grid;gap:8px}.structured-text p{margin:0}.structured-text-list{display:grid;gap:7px;margin:0;padding-left:1.15rem}.structured-text-list li{padding-left:2px}.structured-text-list li::marker{color:var(--accent);font-weight:900}.raw-block{margin:16px 0 28px;background:#0f1517;border:1px solid var(--line);border-radius:8px}.raw-block summary{min-height:48px;display:flex;align-items:center;padding:0 16px;color:var(--accent-2);cursor:pointer;font-weight:800}.raw-block pre{max-height:520px;margin:0;overflow:auto;padding:0 16px 16px;color:var(--muted);white-space:pre-wrap;line-height:1.5}.raw-block-full pre{max-height:none;overflow:visible}.related-section{margin-top:22px}.related-section h2{font-size:1.2rem}.related-list{display:flex;gap:8px;flex-wrap:wrap}.related-list a{min-height:36px;display:inline-flex;align-items:center;padding:0 11px;color:var(--accent-2);background:#0f1517;border:1px solid var(--line);border-radius:6px;font-weight:800}.glossary-list{display:grid;gap:14px}.glossary-list article{min-height:150px}.empty-state{min-height:260px;display:grid;place-content:center;gap:10px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px}.empty-state h2{margin:0;color:var(--text);font-size:1.5rem}.gm-hero{min-height:260px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.48fr);align-items:end;gap:24px;margin:28px 0;padding:28px;background:linear-gradient(120deg,rgba(99,211,193,.14),transparent 48%),linear-gradient(300deg,rgba(242,184,75,.12),transparent 52%),var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.gm-hero h2{margin-bottom:12px}.gm-promise{display:grid;gap:14px;padding:18px;color:var(--text);background:#0f1517;border:1px solid var(--line);border-radius:8px;line-height:1.55}.gm-detail-band svg,.gm-guardrail svg,.gm-promise svg,.gm-rule-card svg,.gm-source-list svg{color:var(--accent-2)}.gm-stat-grid{margin-bottom:28px}.gm-section{margin-top:28px}.gm-section .section-title-row>span{color:var(--muted);font-weight:700}.gm-card-grid,.gm-guardrail-grid,.gm-source-list{display:grid;gap:14px}.gm-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gm-guardrail,.gm-rule-card,.gm-rule-row,.gm-source-list a{background:rgba(23,29,32,.86);border:1px solid var(--line);border-radius:8px}.gm-rule-card{min-height:230px;display:grid;align-content:start;gap:12px;padding:18px}.gm-rule-card h3,.gm-rule-row h3{margin:0;font-size:1.05rem;line-height:1.25}.gm-rule-card p,.gm-rule-row p{margin:0;color:var(--muted);line-height:1.55}.gm-rule-list{display:grid;gap:10px}.gm-rule-row{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;padding:16px}.gm-rule-row>span{color:var(--accent);font-weight:900}.gm-rule-row>div{display:grid;gap:6px}.gm-detail-band{margin-top:28px}.gm-turn-loop{display:grid;gap:10px;margin:0;padding-left:22px;color:var(--muted);line-height:1.5}.gm-contract{min-width:0}.gm-guardrail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gm-guardrail{min-height:72px;grid-template-columns:auto minmax(0,1fr);gap:10px;color:var(--muted);line-height:1.45}.gm-guardrail,.gm-source-list a{display:grid;align-items:start;padding:16px}.gm-source-list a{grid-template-columns:auto 180px minmax(0,1fr);gap:12px}.gm-source-list a:hover{border-color:rgba(99,211,193,.55)}.gm-source-list strong{color:var(--text)}.gm-source-list span{color:var(--muted);line-height:1.5}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:22px;align-items:start}.play-main,.play-side{min-width:0}.play-main{display:grid;gap:14px}.play-scene-bar{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;background:rgba(23,29,32,.88);border:1px solid var(--line);border-radius:8px}.play-scene-bar h2{margin:0;font-size:1.35rem;line-height:1.2}.play-scene-bar>span{color:var(--muted);font-weight:800;white-space:nowrap}.play-log{min-height:520px;max-height:min(66vh,720px);align-content:start;gap:14px;overflow:auto;background:#0f1517}.play-log,.play-message{display:grid;padding:16px;border:1px solid var(--line);border-radius:8px}.play-message{width:min(720px,100%);gap:10px;line-height:1.55}.play-message-gm{background:rgba(23,29,32,.94)}.play-message-player{justify-self:end;background:rgba(242,184,75,.12);border-color:rgba(242,184,75,.34)}.play-message-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.84rem;font-weight:800}.play-message h2{margin:0;color:var(--accent);font-size:1.08rem;line-height:1.25}.play-message p{margin:0}.play-gm-note,.play-message-note{padding-top:10px;border-top:1px solid rgba(49,64,70,.7)}.play-message-note{display:grid;gap:4px}.play-gm-note summary,.play-message-note strong{color:var(--accent-2);font-size:.82rem;font-weight:900;text-transform:uppercase}.play-gm-note li,.play-gm-note p,.play-message-note span{color:var(--muted)}.play-gm-note summary{cursor:pointer}.play-gm-note ul{margin:10px 0 0;padding-left:20px}.codex-update-details,.codex-update-list{display:grid;gap:10px}.codex-update-list{margin-top:10px}.codex-update-card{display:grid;gap:9px;padding:12px;background:rgba(15,21,23,.74);border:1px solid rgba(99,211,193,.22);border-radius:8px}.codex-update-head{display:grid;gap:5px}.codex-update-head strong{color:var(--text);font-size:.98rem;line-height:1.25}.codex-update-entity,.codex-update-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--accent-2);font-size:.76rem;font-weight:900;text-transform:uppercase}.codex-update-meta{color:var(--muted);text-transform:none}.codex-update-meta span{padding:2px 7px;background:rgba(255,255,255,.04);border:1px solid rgba(49,64,70,.75);border-radius:999px}.codex-update-reason,.codex-update-value{overflow-wrap:anywhere}.codex-update-reason{color:var(--muted);font-size:.9rem}.codex-update-diff{display:grid;gap:.4rem;padding:.75rem;border:1px solid rgba(49,64,70,.75);border-radius:12px;background:rgba(255,255,255,.03);color:var(--muted);font-size:.86rem;white-space:pre-wrap}.codex-update-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.codex-update-status{min-height:32px;display:inline-flex;align-items:center;gap:8px;padding:0 10px;color:var(--accent-2);background:rgba(99,211,193,.08);border:1px solid rgba(99,211,193,.24);border-radius:999px;font-size:.84rem;font-weight:900}.codex-update-status.is-error{color:var(--danger);background:rgba(255,99,99,.08);border-color:rgba(255,99,99,.28)}.codex-update-status.is-rejected{color:var(--muted);background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}.codex-update-status.is-loading svg{animation:spin .9s linear infinite}.codex-update-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent-2);font-size:.85rem;font-weight:800;text-decoration:none}.play-options{display:flex;gap:8px;flex-wrap:wrap}.play-chapter-ready{padding:11px 13px;color:#f6d481;background:rgba(242,184,75,.1);border:1px solid rgba(242,184,75,.38);border-radius:8px;font-size:.92rem;font-weight:750;line-height:1.45}.play-options button{min-height:38px;display:inline-flex;align-items:center;padding:0 11px;color:var(--accent-2);background:#0f1517;border:1px solid var(--line);border-radius:6px;font-weight:800}.play-options button:hover:not(:disabled){border-color:rgba(99,211,193,.55)}.play-options .play-option-close{color:#0c1113;background:var(--accent);border-color:rgba(242,184,75,.7)}.play-options .play-option-close:hover:not(:disabled){border-color:#ffd889;filter:brightness(1.04)}.play-input{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:10px;align-items:stretch}.play-input textarea{width:100%;min-height:92px;min-width:0;padding:14px;color:var(--text);background:#0f1517;border:1px solid var(--line);border-radius:8px;outline:none;resize:vertical;line-height:1.5}.play-input textarea:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px rgba(99,211,193,.14)}.play-input .primary-button{height:100%}.play-input .primary-button svg{flex:0 0 auto}.play-input .primary-button:disabled svg{animation:spin .9s linear infinite}.play-context-card,.play-side{display:grid;gap:12px}.play-context-card{padding:16px;background:rgba(23,29,32,.86);border:1px solid var(--line);border-radius:8px}.play-context-title{display:flex;align-items:center;gap:8px}.play-context-title svg{color:var(--accent-2)}.play-context-title h2{margin:0;font-size:1rem;line-height:1.2}.play-gm-card p{margin:0;color:var(--muted);line-height:1.55}.play-player-card{background:linear-gradient(180deg,rgba(242,184,75,.13),rgba(23,29,32,.88));border-color:rgba(242,184,75,.34)}.play-player-profile{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;padding:0}.play-player-profile:hover .play-player-avatar{border-color:rgba(246,212,129,.9)}.play-player-avatar{width:64px;height:64px;display:grid;place-items:center;overflow:hidden;color:#160f04;background:var(--accent);border:1px solid rgba(246,212,129,.58);border-radius:8px;font-size:1rem;font-weight:950}.play-player-avatar img{width:100%;height:100%;display:block;object-fit:cover}.play-player-main{min-width:0;display:grid;gap:4px}.play-player-main strong{color:var(--text);font-size:1.18rem;line-height:1.12}.play-player-facts dd,.play-player-main>span,.play-player-summary{color:var(--muted);line-height:1.45}.play-player-main>span{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.play-player-summary{margin:0}.play-player-facts{display:grid;gap:10px;margin:0}.play-player-facts div{display:grid;gap:3px;padding-top:10px;border-top:1px solid rgba(246,212,129,.2)}.play-player-facts dt{color:var(--accent);font-size:.75rem;font-weight:950;letter-spacing:0;text-transform:uppercase}.play-player-facts dd{margin:0}.play-player-link{min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;color:var(--accent-2);background:#0f1517;border:1px solid rgba(99,211,193,.38);border-radius:6px;font-size:.88rem;font-weight:850}.play-player-link:hover{border-color:rgba(99,211,193,.7)}.play-context-list{display:grid;gap:8px}.play-context-list a{display:grid;gap:3px;padding:10px;background:#0f1517;border:1px solid rgba(49,64,70,.72);border-radius:6px}.play-context-list .play-context-link-with-media{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px}.play-context-list a:hover{border-color:rgba(99,211,193,.55)}.play-context-avatar{width:40px;height:40px;display:grid;place-items:center;overflow:hidden;color:#061414;background:var(--accent);border:1px solid rgba(246,212,129,.48);border-radius:8px;font-size:.78rem;font-weight:900}.play-context-avatar img{width:100%;height:100%;display:block;object-fit:cover}.play-context-item-image{background:#e7b8ff;border-color:rgba(231,184,255,.48)}.play-context-copy{min-width:0;display:grid;gap:3px}.play-context-copy strong,.play-context-copy>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.play-context-copy strong{color:var(--text);font-size:.92rem;white-space:nowrap}.play-context-copy>span{color:var(--muted);display:-webkit-box;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}.admin-hero{min-height:250px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);align-items:end;gap:24px;margin:28px 0;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.admin-generator-grid{display:grid;grid-template-columns:minmax(320px,.42fr) minmax(0,.58fr);gap:22px;align-items:start}.admin-form,.admin-output{min-width:0;padding:18px;background:rgba(23,29,32,.86);border:1px solid var(--line);border-radius:8px}.admin-form{display:grid;gap:16px}.admin-dashboard-grid,.admin-tool-grid{display:grid;gap:14px}.admin-dashboard-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.admin-dashboard-card,.admin-tool-card{min-width:0;display:grid;gap:10px;padding:16px;background:rgba(23,29,32,.86);border:1px solid var(--line);border-radius:8px}.admin-dashboard-card:hover,.admin-tool-card:hover{border-color:rgba(99,211,193,.55)}.admin-dashboard-card svg,.admin-tool-card svg{color:var(--accent-2)}.admin-dashboard-card span,.admin-tool-card span{color:var(--muted);line-height:1.45}.admin-dashboard-card strong{font-size:2rem}.admin-tool-card strong{font-size:1.05rem}.admin-entity-panel{display:grid;gap:12px;padding:18px;background:rgba(23,29,32,.86);border:1px solid var(--line);border-radius:8px}.admin-entity-table-wrap{overflow-x:auto}.admin-entity-table{width:100%;min-width:820px;border-collapse:collapse}.admin-entity-table td,.admin-entity-table th{padding:12px;border-bottom:1px solid rgba(49,64,70,.72);text-align:left;vertical-align:top}.admin-entity-table th{color:var(--accent);font-size:.78rem;text-transform:uppercase}.admin-entity-table td{color:var(--muted);line-height:1.4}.admin-entity-table td:first-child{color:var(--text);font-weight:800}.admin-row-actions{display:flex;gap:8px;justify-content:flex-end}.admin-row-actions .icon-button{width:36px;height:36px;flex-basis:36px}.admin-edit-actions .primary-button:disabled svg,.admin-row-actions .icon-button:disabled svg{animation:spin .9s linear infinite}.admin-edit-row td{background:#0f1517}.admin-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-edit-actions,.admin-edit-form .admin-field:has(textarea){grid-column:1/-1}.admin-edit-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-edit-actions .primary-button{width:auto;min-height:42px;padding:0 16px}.admin-form .section-title-row,.admin-output .section-title-row{margin-bottom:2px}.admin-form .section-title-row>span,.admin-output .section-title-row>span,.admin-section .section-title-row>span{color:var(--muted);font-weight:700}.admin-form-row{display:grid;grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);gap:12px}.admin-field{display:grid;gap:8px;color:var(--muted);font-size:.9rem;font-weight:700}.admin-field input,.admin-field select,.admin-field textarea{width:100%;min-height:46px;min-width:0;padding:0 12px;color:var(--text);background:#0f1517;border:1px solid var(--line);border-radius:6px;outline:none}.admin-field textarea{min-height:104px;resize:vertical;padding:12px;line-height:1.5}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px rgba(99,211,193,.14)}.admin-template-hint{display:grid;gap:6px;padding:12px;background:#0f1517;border:1px solid var(--line);border-radius:8px}.admin-template-hint strong{color:var(--accent)}.admin-empty-preview p,.admin-message,.admin-template-hint span{color:var(--muted);line-height:1.5}.admin-submit svg{animation:none}.admin-submit:disabled svg{animation:spin .9s linear infinite}.admin-message{margin:0}.admin-message.error{color:var(--danger)}.admin-output{display:grid;gap:14px}.admin-empty-preview{min-height:320px;display:grid;place-content:center;justify-items:center;gap:12px;text-align:center;border:1px dashed var(--line);border-radius:8px}.admin-empty-preview svg{color:var(--accent-2)}.generated-list{display:grid;gap:12px}.generated-card{display:grid;gap:14px;padding:16px;background:#0f1517;border:1px solid var(--line);border-radius:8px}.generated-card h3{margin:0 0 8px;font-size:1.1rem}.generated-card p{margin:0;color:var(--muted);line-height:1.55}.generated-facts{display:grid;gap:6px;color:var(--muted);font-size:.92rem;line-height:1.45}.generated-card details{border-top:1px solid rgba(49,64,70,.65);padding-top:10px}.generated-card summary{color:var(--accent-2);cursor:pointer;font-weight:800}.generated-card pre{max-height:240px;overflow:auto;margin:12px 0;color:var(--muted);white-space:pre-wrap;line-height:1.45}.inline-action{min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;color:var(--accent-2);background:var(--panel-2);border:1px solid var(--line);border-radius:6px;font-weight:800}.admin-section{margin-top:28px}.ai-settings-panel{display:grid;gap:18px;margin-top:28px}.ai-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:14px}.ai-role-card{min-width:0;display:grid;gap:14px;padding:18px;background:rgba(23,29,32,.86);border:1px solid var(--line);border-radius:8px}.ai-role-card header{display:flex;justify-content:space-between;gap:12px;align-items:start}.ai-role-card h3{margin:2px 0 0;font-size:clamp(1.05rem,1.4vw,1.28rem)}.ai-role-card p,.ai-role-card small{margin:0;color:var(--muted);line-height:1.45}.ai-settings-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.ai-settings-actions .admin-message{display:inline-flex;align-items:center;gap:8px;margin:0}.game-settings-panel{display:grid;gap:18px;margin-top:28px}.game-settings-section{display:grid;gap:16px;padding:18px;background:rgba(23,29,32,.84);border:1px solid var(--line);border-radius:8px}.game-settings-section h3{margin:2px 0 0;font-size:clamp(1.18rem,2vw,1.6rem)}.game-settings-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px}.game-settings-choice-grid.compact{grid-template-columns:repeat(3,minmax(140px,1fr))}.game-settings-subtitle{margin:4px 0 -4px;color:var(--text);font-size:.94rem}.game-settings-choice{min-height:126px;display:grid;grid-template-rows:auto auto 1fr;gap:8px;justify-items:start;padding:14px;text-align:left;color:var(--text);background:#0f1517;border:1px solid var(--line);border-radius:8px}.game-settings-choice.active,.game-settings-choice:hover{border-color:rgba(99,211,193,.62)}.game-settings-choice.active{background:rgba(99,211,193,.1)}.game-settings-choice-check{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:#0c1113;background:var(--accent-2);border:1px solid rgba(99,211,193,.56);border-radius:999px}.game-settings-choice:not(.active) .game-settings-choice-check{background:transparent}.game-settings-choice strong{font-size:1rem}.game-settings-choice span:last-child{color:var(--muted);line-height:1.45}.game-settings-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.game-settings-actions .primary-button{width:auto;padding:0 18px}.game-settings-actions .admin-message{display:inline-flex;align-items:center;gap:8px;margin:0}.profile-repair-action{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.profile-repair-action .admin-message{margin:0}.admin-character-table,.admin-item-table{display:grid;gap:8px}.admin-character-table a,.admin-item-table a{min-height:72px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr) auto;align-items:center;gap:14px;padding:12px 14px;background:rgba(23,29,32,.78);border:1px solid var(--line);border-radius:8px}.admin-character-table a:hover,.admin-item-table a:hover{border-color:rgba(99,211,193,.55)}.admin-character-table div,.admin-item-table div{min-width:0;display:grid;gap:4px}.admin-character-table span,.admin-character-table strong,.admin-item-table span,.admin-item-table strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-character-table span,.admin-item-table span{color:var(--muted)}.repair-workspace{display:grid;grid-template-columns:minmax(320px,.45fr) minmax(280px,.55fr);gap:22px;align-items:start}.repair-search textarea{min-height:132px}.repair-log{min-height:100%}.repair-run-list{display:grid;gap:10px}.repair-run-list button{min-height:76px;display:grid;justify-items:start;gap:5px;padding:12px;color:var(--text);background:#0f1517;border:1px solid var(--line);border-radius:8px;text-align:left}.repair-run-list button.active,.repair-run-list button:hover{border-color:rgba(99,211,193,.65)}.repair-run-list button>span{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.85rem}.repair-run-list strong{font-size:1rem}.repair-run-list small{color:var(--muted);font-weight:700}.repair-action-log,.repair-results{grid-column:1/-1}.repair-summary{margin:0 0 16px;max-width:980px;color:var(--muted);line-height:1.65}.repair-issue,.repair-issue-list{display:grid;gap:16px}.repair-issue{padding:18px;background:rgba(23,29,32,.86);border:1px solid var(--line);border-radius:8px}.repair-issue.high{border-color:rgba(255,192,67,.72)}.repair-issue.medium{border-color:rgba(99,211,193,.42)}.repair-issue header{display:flex;align-items:start;justify-content:space-between;gap:18px}.repair-issue h3,.repair-option h4{margin:0}.repair-issue header>strong{padding:5px 10px;color:var(--accent);border:1px solid rgba(255,192,67,.45);border-radius:999px;white-space:nowrap}.repair-issue>p,.repair-option p,.repair-option small{margin:0;color:var(--muted);line-height:1.55}.repair-evidence{display:grid;gap:8px;margin:0;padding:0;list-style:none}.repair-evidence li{min-width:0;background:#0f1517;border:1px solid rgba(49,64,70,.72);border-radius:8px}.repair-evidence a,.repair-evidence li>p,.repair-evidence li>span,.repair-evidence li>strong{display:block}.repair-evidence a,.repair-evidence li{color:inherit;text-decoration:none}.repair-evidence a{padding:12px}.repair-evidence li:not(:has(a)){padding:12px}.repair-evidence strong{color:var(--text)}.repair-evidence span{margin:2px 0 6px;color:var(--accent-2);font-size:.82rem;font-weight:800;text-transform:uppercase}.repair-evidence p{margin:0;color:var(--muted);line-height:1.45}.repair-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.repair-option{min-width:0;display:grid;align-content:start;gap:12px;padding:14px;background:#0f1517;border:1px solid var(--line);border-radius:8px}.repair-option details{border-top:1px solid rgba(49,64,70,.72);padding-top:10px}.repair-option summary{cursor:pointer;color:var(--accent-2);font-weight:800}.repair-action-list ul,.repair-option ul{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}.repair-option li{display:grid;gap:4px;padding:10px;background:rgba(23,29,32,.92);border:1px solid rgba(49,64,70,.72);border-radius:8px}.repair-option li span{color:var(--accent-2);font-size:.84rem;font-weight:800}.repair-applied-button,.repair-apply-button{min-height:42px;width:100%;justify-content:center}.repair-apply-button:disabled svg{animation:spin .9s linear infinite}.repair-applied-results{border-top:1px solid rgba(49,64,70,.72);padding-top:10px}.repair-applied-results a{color:var(--text);font-weight:800;text-decoration:none}.repair-applied-results a:hover{color:var(--accent-2)}.repair-action-list{display:grid;gap:10px}.repair-action-list article{display:grid;gap:5px;padding:12px 14px;background:rgba(23,29,32,.82);border:1px solid var(--line);border-radius:8px}.repair-action-list article>span{color:var(--muted);font-size:.84rem}.repair-action-list p{margin:0;color:var(--muted)}.repair-action-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted)}.repair-action-list a{color:var(--accent-2);font-weight:800}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:720px){.auth-shell,.shell{width:min(100% - 24px,1120px)}.auth-panel,.gm-hero,.hero-panel{padding:20px}.auth-logo{width:min(280px,82vw);max-height:190px}.topbar{align-items:flex-start}.app-header{position:static;display:grid;justify-items:start}.app-nav{width:100%}.brand-logo-thumb{width:132px;height:58px;padding:5px 8px}.hero-panel{min-height:300px;display:grid;align-items:end}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-character-table a,.admin-dashboard-grid,.admin-edit-form,.admin-form-row,.admin-generator-grid,.admin-hero,.admin-item-table a,.admin-tool-grid,.ai-settings-grid,.character-card-grid,.character-profile-band,.character-profile-facts .fact-list,.character-profile-section>.fact-list,.dashboard-split,.detail-band,.entity-grid,.game-settings-choice-grid,.gm-card-grid,.gm-guardrail-grid,.gm-hero,.gm-source-list a,.location-profile-band,.location-profile-section>.fact-list,.play-input,.play-layout,.profile-object-grid,.repair-workspace,.story-game-card{grid-template-columns:1fr}.page-heading{display:grid;align-items:start}.page-actions{justify-items:stretch}.search-form{width:100%}.play-scene-bar{display:grid;align-items:start}.play-log{min-height:420px;max-height:none}.play-input .primary-button{min-height:52px}}@media (max-width:480px){.dashboard-grid{grid-template-columns:1fr}.character-card{min-height:0}.character-card-top{grid-template-columns:72px minmax(0,1fr)}.character-avatar{width:72px;height:72px}.character-card-facts div{grid-template-columns:1fr;gap:4px}.search-form{grid-template-columns:auto 1fr}.search-form button{grid-column:1/-1}}