:root{--bg-deep: #07060D;--bg-primary: #0B0A12;--bg-secondary: #12101E;--bg-card: #16132A;--bg-card-hover: #1C1834;--bg-input: #0E0C1A;--gold: #C9A84C;--gold-light: #E8D48B;--gold-dim: #8B7635;--gold-pale: #D4C08A;--gold-bg: rgba(201, 168, 76, .06);--gold-glow: rgba(201, 168, 76, .12);--burgundy: #8B2252;--burgundy-dim: #5C1638;--purple: #6B4C9A;--purple-dim: #3D2B5A;--indigo: #2A1F4E;--text-primary: #E8E2D6;--text-secondary: #9B8E7E;--text-dim: #5E5548;--text-gold: var(--gold-pale);--success: #5B8C4A;--success-bg: rgba(91, 140, 74, .12);--warning: #C9884C;--warning-bg: rgba(201, 136, 76, .12);--error: #A44;--border: #221E38;--border-gold: rgba(201, 168, 76, .18);--border-gold-strong: rgba(201, 168, 76, .35);--font-display: "Cinzel", serif;--font-body: "Cormorant Garamond", serif;--font-mono: "JetBrains Mono", monospace;--sidebar-width: 260px;--radius: 3px;--radius-lg: 6px}[data-theme=light]{--bg-deep: #F0EDE6;--bg-primary: #F5F2EB;--bg-secondary: #FFFFFF;--bg-card: #FFFFFF;--bg-card-hover: #FAF8F4;--bg-input: #F5F2EB;--gold: #8B6914;--gold-light: #6B5010;--gold-dim: #A8882E;--gold-pale: #6B5010;--gold-bg: rgba(139, 105, 20, .06);--gold-glow: rgba(139, 105, 20, .1);--burgundy: #8B2252;--burgundy-dim: #5C1638;--purple: #6B4C9A;--purple-dim: #D4C8E8;--indigo: #E8E0F4;--text-primary: #1A1410;--text-secondary: #5C5248;--text-dim: #9B9084;--text-gold: #6B5010;--success: #3D7A2E;--success-bg: rgba(61, 122, 46, .1);--warning: #A06B20;--warning-bg: rgba(160, 107, 32, .1);--error: #A44;--border: #DDD8CE;--border-gold: rgba(139, 105, 20, .25);--border-gold-strong: rgba(139, 105, 20, .4)}[data-theme=light] body:before{background:radial-gradient(ellipse at 30% 20%,rgba(139,105,20,.03) 0%,transparent 60%),radial-gradient(ellipse at 70% 80%,rgba(107,76,154,.02) 0%,transparent 50%)}[data-theme=light] .sidebar{background:#fafaf6;box-shadow:2px 0 8px #0000000d}[data-theme=light] .overview-hero:before{background:linear-gradient(90deg,var(--gold-dim),var(--gold),var(--gold-dim));opacity:.6}[data-theme=light] .prompt-edit-area{background:#f5f2eb;color:#1a1410}[data-theme=light] .asset-preview-row td{background:#00000005!important}[data-theme=light] .asset-thumb{background:#faf8f4}[data-theme=light] .modal{background:#fff;box-shadow:0 24px 80px #00000026}[data-theme=light] .modal-overlay{background:#00000059}[data-theme=light] .lightbox{background:#fff}[data-theme=light] .toast{background:#fff;box-shadow:0 8px 32px #00000026}[data-theme=light] .role-prompt-section{background:#00000005}[data-theme=light] .role-prompt-display:after{background:linear-gradient(transparent,#fffc)}[data-theme=light] th{background:#00000008}[data-theme=light] .badge-stored{background:#0000000a;color:#7a7068;border:1px solid rgba(0,0,0,.08)}[data-theme=light] .badge-in-use{background:#3d7a2e1a;color:#2d6620}[data-theme=light] .badge-integrated{background:#6b4c9a1a;color:#5a3d8a}[data-theme=light] .badge-complete{background:#3d7a2e1a;color:#2d6620;border-color:#3d7a2e33}[data-theme=light] .badge-progress{background:#a06b201a;color:#7a5010;border-color:#a06b2033}[data-theme=light] .badge-gold{background:#8b691414;color:#6b5010}.theme-toggle{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-gold);background:var(--bg-card);color:var(--gold);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s}.theme-toggle:hover{background:var(--gold-bg);border-color:var(--gold);transform:scale(1.1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-deep);color:var(--text-primary);font-family:var(--font-body);font-size:19px;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 20%,rgba(107,76,154,.04) 0%,transparent 60%),radial-gradient(ellipse at 70% 80%,rgba(201,168,76,.03) 0%,transparent 50%);pointer-events:none;z-index:0}::selection{background:#c9a84c40;color:var(--gold-light)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gold-dim)}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);position:fixed;top:0;left:0;bottom:0;z-index:100;display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:32px 24px 24px;border-bottom:1px solid var(--border-gold);text-align:center;background:linear-gradient(180deg,rgba(201,168,76,.05) 0%,transparent 100%);position:relative;flex-shrink:0}.sidebar-header:after{content:"";position:absolute;bottom:-1px;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent)}.sidebar-emblem{font-size:32px;line-height:1;margin-bottom:8px;color:var(--gold);text-shadow:0 0 20px rgba(201,168,76,.3)}.sidebar-title{font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-pale);line-height:1.4}.sidebar-subtitle{font-family:var(--font-body);font-size:12px;color:var(--text-dim);margin-top:6px;letter-spacing:.5px}.sidebar-nav{flex:1;padding:16px 0;overflow-y:auto;min-height:0}.nav-item{display:flex;align-items:center;gap:12px;padding:14px 24px;font-family:var(--font-display);font-size:13px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;border-left:2px solid transparent;transition:all .25s;-webkit-user-select:none;user-select:none}.nav-item:hover{color:var(--text-primary);background:#c9a84c0a}.nav-item.active{color:var(--gold);border-left-color:var(--gold);background:#c9a84c0f}.nav-icon{font-size:16px;width:20px;text-align:center;font-variant-emoji:text;line-height:1}.sidebar-footer{padding:16px 24px;border-top:1px solid var(--border);font-size:11px;color:var(--text-dim);text-align:center;font-family:var(--font-mono);letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0}.main-content{margin-left:var(--sidebar-width);flex:1;padding:40px 48px;position:relative;z-index:1;min-height:100vh}.section-header{margin-bottom:32px}.section-title{font-family:var(--font-display);font-size:32px;font-weight:600;color:var(--gold-pale);letter-spacing:1px;position:relative;padding-bottom:14px}.section-title:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:2px;background:linear-gradient(90deg,var(--gold),transparent)}.section-subtitle{color:var(--text-secondary);font-size:18px;margin-top:10px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:border-color .3s,box-shadow .3s;position:relative}.card:hover{border-color:var(--border-gold);box-shadow:0 4px 24px #0000004d,0 0 0 1px var(--border-gold)}.card-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.card-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;background:var(--gold-bg);border:1px solid var(--border-gold);flex-shrink:0}.card-title{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text-primary);letter-spacing:.5px}.card-label{font-size:13px;color:var(--text-secondary);margin-top:2px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:2px;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.badge-complete{background:var(--success-bg);color:var(--success);border:1px solid rgba(91,140,74,.2)}.badge-progress{background:var(--warning-bg);color:var(--warning);border:1px solid rgba(201,136,76,.2)}.badge-pending{background:#ffffff08;color:var(--text-dim);border:1px solid rgba(255,255,255,.06)}.badge-gold{background:var(--gold-bg);color:var(--gold);border:1px solid var(--border-gold)}.badge-in-use{background:var(--success-bg);color:var(--success);border:1px solid rgba(91,140,74,.2)}.badge-integrated{background:#6b4c9a26;color:#9b7ec8;border:1px solid rgba(107,76,154,.25)}.badge-stored{background:#ffffff08;color:var(--text-dim);border:1px solid rgba(255,255,255,.06)}.badge-loaded{background:var(--warning-bg);color:var(--warning);border:1px solid rgba(201,136,76,.2)}.grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.grid-4{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(460px,1fr));gap:20px}.overview-banner{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:24px;border:1px solid var(--border-gold);position:relative}.overview-banner:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,var(--bg-deep));pointer-events:none}.overview-banner img{width:100%;height:auto;display:block;max-height:280px;object-fit:cover}.overview-hero{background:var(--bg-card);border:1px solid var(--border-gold);border-radius:var(--radius-lg);padding:40px 48px;margin-bottom:32px;position:relative;overflow:hidden}.overview-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold-dim),var(--gold),var(--gold-dim))}.overview-hero:after{content:"";position:absolute;top:0;right:0;width:300px;height:100%;background:radial-gradient(ellipse at right,rgba(201,168,76,.04) 0%,transparent 70%);pointer-events:none}.overview-title{font-family:var(--font-display);font-size:36px;font-weight:700;color:var(--gold-light);letter-spacing:2px;margin-bottom:8px}.overview-genre{font-size:18px;color:var(--text-secondary);margin-bottom:24px;font-style:italic}.overview-stats{display:flex;gap:32px;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{font-family:var(--font-display);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim)}.stat-value{font-family:var(--font-mono);font-size:13px;color:var(--gold-pale)}.acts-timeline{display:flex;gap:0;margin-top:32px;position:relative}.acts-timeline:before{content:"";position:absolute;top:14px;left:14px;right:14px;height:2px;background:var(--border)}.act-item{flex:1;position:relative;padding-top:36px}.act-node{position:absolute;top:6px;left:14px;width:18px;height:18px;border-radius:50%;border:2px solid var(--gold-dim);background:var(--bg-card);z-index:1}.act-item:first-child .act-node{background:var(--gold-dim);border-color:var(--gold)}.act-num{font-family:var(--font-display);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px}.act-name{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.act-summary{font-size:13px;color:var(--text-secondary);line-height:1.5}.phase-list{display:flex;flex-direction:column;gap:16px}.phase-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .3s}.phase-card:hover{border-color:var(--border-gold)}.phase-card.complete{border-left:3px solid var(--success)}.phase-card.in-progress{border-left:3px solid var(--gold)}.phase-card.not-started{border-left:3px solid var(--border)}.phase-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;cursor:pointer;-webkit-user-select:none;user-select:none}.phase-header:hover{background:#ffffff03}.phase-header-left{display:flex;align-items:center;gap:16px}.phase-num{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);min-width:24px}.phase-name{font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--text-primary);letter-spacing:.5px}.phase-desc{font-size:14px;color:var(--text-secondary);margin-left:8px}.phase-progress-text{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);margin-right:16px}.phase-expand-icon{color:var(--text-dim);font-size:12px;transition:transform .2s}.phase-expand-icon.expanded{transform:rotate(180deg)}.phase-items{padding:16px 24px 18px;border-top:1px solid var(--border)}.phase-item{display:flex;align-items:flex-start;gap:10px;padding:7px 0;font-size:16px;color:var(--text-secondary)}.phase-check{cursor:pointer;font-size:16px;flex-shrink:0;line-height:1;padding:2px;transition:transform .15s;-webkit-user-select:none;user-select:none}.phase-check:hover{transform:scale(1.2)}.phase-item-text{line-height:1.5}.phase-item-text.done{color:var(--text-dim)}.role-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;transition:border-color .3s,box-shadow .3s;overflow:hidden}.role-card:hover{border-color:var(--border-gold);box-shadow:0 4px 24px #0000004d}.role-card-top{padding:24px 24px 16px;display:flex;align-items:flex-start;gap:16px}.role-sprite{width:56px;height:56px;border-radius:50%;border:2px solid var(--border-gold);overflow:hidden;flex-shrink:0;background:var(--bg-deep);display:flex;align-items:center;justify-content:center}.role-sprite img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.role-sprite-placeholder{font-size:24px;color:var(--gold-dim)}.role-info h3{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text-primary);letter-spacing:.5px}.role-analog{font-size:13px;color:var(--text-secondary);font-style:italic;margin-top:2px}.role-id{font-family:var(--font-mono);font-size:11px;color:var(--gold-dim);margin-top:4px}.role-body{padding:0 24px 20px}.role-section-label{font-family:var(--font-display);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px;margin-top:14px}.role-responsibilities{list-style:none;font-size:15px;color:var(--text-secondary);line-height:1.6}.role-responsibilities li:before{content:"·";color:var(--gold-dim);margin-right:8px}.role-owns{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);word-break:break-all}.role-prompt-section{border-top:1px solid var(--border);padding:16px 24px;background:#00000026}.role-prompt-display{font-size:15px;color:var(--text-secondary);line-height:1.5;max-height:60px;overflow:hidden;position:relative}.role-prompt-display:after{content:"";position:absolute;bottom:0;left:0;right:0;height:30px;background:linear-gradient(transparent,#0006)}.prompt-edit-area{width:100%;min-height:120px;background:#1a1728;border:1px solid var(--border-gold);border-radius:var(--radius);padding:16px;font-family:var(--font-body);font-size:18px;color:#f0ece0;resize:vertical;outline:none;line-height:1.7}.prompt-edit-area:focus{border-color:var(--gold);box-shadow:0 0 0 2px #c9a84c1a}.prompt-actions{display:flex;gap:8px;margin-top:10px}.btn{font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:7px 16px;border-radius:var(--radius);cursor:pointer;transition:all .2s;border:1px solid;-webkit-user-select:none;user-select:none}.btn-gold{background:#c9a84c1f;color:var(--gold);border-color:var(--border-gold)}.btn-gold:hover{background:#c9a84c33;border-color:var(--gold)}.btn-dim{background:transparent;color:var(--text-dim);border-color:var(--border)}.btn-dim:hover{color:var(--text-secondary);border-color:var(--text-dim)}.btn-success{background:#5b8c4a26;color:var(--success);border-color:#5b8c4a4d}.btn-success:hover{background:#5b8c4a40}.asset-category{margin-bottom:28px}.category-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.category-title{font-family:var(--font-display);font-size:16px;font-weight:500;color:var(--text-primary);letter-spacing:.5px}.category-path{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.category-note{font-size:13px;color:var(--text-dim);font-style:italic;margin-top:8px;padding-left:12px;border-left:2px solid var(--border)}table{width:100%;border-collapse:collapse}th{font-family:var(--font-display);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);text-align:left;padding:10px 16px;border-bottom:1px solid var(--border);background:#0003}td{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.03);font-size:16px;color:var(--text-secondary)}tr:hover td{background:#c9a84c05}td:first-child{font-family:var(--font-mono);font-size:14px;color:var(--gold-dim)}.table-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.doc-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:border-color .3s}.doc-card:hover{border-color:var(--border-gold)}.doc-name{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.doc-path{font-family:var(--font-mono);font-size:12px;color:var(--gold-dim);margin-bottom:8px}.doc-info{font-size:15px;color:var(--text-secondary)}.doc-group{margin-bottom:28px}.doc-group-title{font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--gold-pale);letter-spacing:.5px;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .4s ease forwards;opacity:0}.animate-in:nth-child(1){animation-delay:.05s}.animate-in:nth-child(2){animation-delay:.1s}.animate-in:nth-child(3){animation-delay:.15s}.animate-in:nth-child(4){animation-delay:.2s}.animate-in:nth-child(5){animation-delay:.25s}.animate-in:nth-child(6){animation-delay:.3s}.animate-in:nth-child(7){animation-delay:.35s}.animate-in:nth-child(8){animation-delay:.4s}.animate-in:nth-child(9){animation-delay:.45s}.loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-dim);font-family:var(--font-display);font-size:12px;letter-spacing:2px;text-transform:uppercase}.loading:after{content:"";width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--gold-dim);border-radius:50%;animation:spin .8s linear infinite;margin-left:12px}@keyframes spin{to{transform:rotate(360deg)}}.asset-row{cursor:pointer}.asset-row:hover td{background:var(--gold-bg)!important}.asset-preview-row td{padding:16px!important;background:#00000026!important}.asset-preview-loading,.asset-preview-empty{text-align:center;color:var(--text-dim);font-size:14px;padding:12px}.asset-preview-grid{display:flex;flex-wrap:wrap;gap:12px}.asset-thumb{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;padding:8px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);transition:border-color .2s;max-width:100px}.asset-thumb:hover{border-color:var(--border-gold)}.asset-thumb img{width:64px;height:64px;object-fit:contain;image-rendering:pixelated}.asset-thumb-file{width:64px;height:64px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;color:var(--text-dim);background:#ffffff08;border-radius:var(--radius);text-transform:uppercase}.asset-thumb-name{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);text-align:center;word-break:break-all;line-height:1.3}.lightbox{position:relative;background:var(--bg-secondary);border:1px solid var(--border-gold);border-radius:var(--radius-lg);padding:24px;max-width:90vw;max-height:90vh}.lightbox img{max-width:80vw;max-height:75vh;object-fit:contain;image-rendering:pixelated;display:block}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-secondary);border:1px solid var(--border-gold);border-radius:var(--radius-lg);width:90%;max-width:680px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 24px 80px #0009,0 0 0 1px var(--border-gold);animation:modalSlideIn .25s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--border)}.modal-title-row{display:flex;align-items:center;gap:14px}.modal-title{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--gold-pale);letter-spacing:.5px}.modal-close{background:none;border:none;color:var(--text-dim);font-size:20px;cursor:pointer;padding:4px 8px;border-radius:var(--radius);transition:color .2s,background .2s}.modal-close:hover{color:var(--text-primary);background:#ffffff0d}.modal-body{padding:24px 28px;flex:1;overflow-y:auto}.modal-body .prompt-edit-area{min-height:200px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 28px;border-top:1px solid var(--border)}.clickable-path{cursor:pointer;transition:color .2s,text-decoration-color .2s;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.clickable-path:hover{color:var(--gold)!important;text-decoration-color:var(--gold-dim)}.toast{position:fixed;bottom:24px;right:24px;background:var(--bg-card);border:1px solid var(--success);border-radius:var(--radius-lg);padding:12px 20px;font-family:var(--font-display);font-size:12px;letter-spacing:1px;color:var(--success);z-index:1000;animation:fadeInUp .3s ease;box-shadow:0 8px 32px #00000080}.zone-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;cursor:pointer;transition:border-color .3s,box-shadow .3s;overflow:hidden}.zone-card:hover{border-color:var(--border-gold);box-shadow:0 4px 24px #0000004d}.zone-banner{width:100%;height:160px;overflow:hidden;position:relative}.zone-banner img{width:100%;height:100%;object-fit:cover;display:block}.zone-card-header{padding:20px 24px 0;display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.zone-name{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--text-primary);letter-spacing:.5px}.zone-id{font-family:var(--font-mono);font-size:11px;color:var(--gold-dim);margin-top:2px}.zone-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;padding:0 24px}.zone-stat{display:flex;flex-direction:column;gap:2px}.zone-stat-label{font-family:var(--font-display);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim)}.zone-stat-value{font-family:var(--font-mono);font-size:13px;color:var(--gold-pale)}.zone-connections{margin-top:8px;display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:0 24px}.zone-music-list{margin:12px 24px 24px;padding-top:12px;border-top:1px solid var(--border)}.zone-music-item{display:flex;align-items:center;gap:8px;padding:3px 0}.zone-music-icon{color:var(--gold-dim);font-size:14px}.zone-music-name{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}.npc-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;overflow:hidden;cursor:pointer;transition:border-color .3s,box-shadow .3s}.npc-card:hover{border-color:var(--border-gold);box-shadow:0 4px 24px #0000004d}.npc-card-top{padding:24px 24px 16px;display:flex;align-items:flex-start;gap:16px}.npc-portrait{width:64px;height:64px;border-radius:50%;border:2px solid var(--border-gold);overflow:hidden;flex-shrink:0;background:var(--bg-deep);display:flex;align-items:center;justify-content:center}.npc-portrait img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.npc-portrait-placeholder{font-size:28px;color:var(--gold-dim)}.npc-info h3{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text-primary);letter-spacing:.5px}.npc-location{margin-top:4px}.npc-meta{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);margin-top:4px}.npc-description{padding:0 24px 16px;font-size:15px;color:var(--text-secondary);font-style:italic}.npc-modal-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:16px;background:var(--gold-bg);border:1px solid var(--border);border-radius:8px}.npc-meta-item{display:flex;flex-direction:column;gap:4px}.quest-card-summary{padding:12px 24px 16px}.dialogue-preview{padding:16px 24px;border-top:1px solid var(--border);background:#0000001a}.dialogue-line{padding:8px 0;display:flex;flex-direction:column;gap:2px}.dialogue-line+.dialogue-line{border-top:1px solid rgba(255,255,255,.03)}.dialogue-speaker{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--gold-dim)}.dialogue-line.player .dialogue-speaker{color:var(--success)}.dialogue-text{font-size:15px;color:var(--text-secondary);line-height:1.5;font-style:italic}.quest-flow{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px}.quest-flow-title{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:16px}.quest-flow-states{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.quest-state{padding:8px 20px;border-radius:var(--radius);font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.quest-state.available{background:#c9a84c1f;color:var(--gold);border:1px solid var(--border-gold)}.quest-state.active{background:var(--warning-bg);color:var(--warning);border:1px solid rgba(201,136,76,.2)}.quest-state.complete{background:var(--success-bg);color:var(--success);border:1px solid rgba(91,140,74,.2)}.quest-state.turned-in{background:#6b4c9a26;color:#9b7ec8;border:1px solid rgba(107,76,154,.25)}.quest-flow-arrow{color:var(--text-dim);font-size:18px}.quest-flow-markers{display:flex;gap:20px;margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.quest-marker-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.quest-marker{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-weight:700;font-size:14px}.quest-marker.yellow{background:#c9a84c33;color:var(--gold)}.quest-marker.grey{background:#ffffff0f;color:var(--text-dim)}.quest-marker.gold{background:#c9a84c4d;color:var(--gold-light)}.quest-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:12px;overflow:hidden;transition:border-color .3s}.quest-card:hover{border-color:var(--border-gold)}.quest-card-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;cursor:pointer}.quest-header-left{display:flex;align-items:center;gap:14px}.quest-title{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--text-primary);letter-spacing:.5px}.quest-meta{font-size:14px;color:var(--text-secondary);margin-top:2px}.quest-details{padding:20px 24px 24px;border-top:1px solid var(--border)}.quest-info-grid{display:flex;gap:24px;flex-wrap:wrap}.quest-info-item{display:flex;flex-direction:column;gap:4px}.quest-step{display:flex;align-items:flex-start;gap:12px;padding:8px 0}.quest-step-num{width:24px;height:24px;border-radius:50%;background:var(--gold-bg);border:1px solid var(--border-gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;color:var(--gold);flex-shrink:0}.quest-step-type{font-family:var(--font-mono);font-size:11px;color:var(--gold-dim);text-transform:uppercase;letter-spacing:1px;display:block}.quest-step-desc{font-size:15px;color:var(--text-secondary)}.quest-rewards{display:flex;gap:8px}.combat-formula{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:24px}.formula-code{font-family:var(--font-mono);font-size:14px;color:var(--gold-pale);display:block;margin-top:8px;padding:12px 16px;background:#0003;border-radius:var(--radius);border:1px solid var(--border);word-break:break-word}.enemy-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;overflow:hidden;transition:border-color .3s,box-shadow .3s}.enemy-card:hover{border-color:var(--border-gold);box-shadow:0 4px 24px #0000004d}.enemy-card-top{padding:20px 24px;display:flex;align-items:center;gap:16px}.enemy-portrait{width:56px;height:56px;border-radius:8px;border:2px solid var(--burgundy-dim);overflow:hidden;flex-shrink:0;background:var(--bg-deep);display:flex;align-items:center;justify-content:center}.enemy-portrait img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.enemy-name{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--text-primary);letter-spacing:.5px}.enemy-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--border)}.enemy-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.enemy-stat:nth-child(3n){border-right:none}.enemy-stat:nth-last-child(-n+3){border-bottom:none}.enemy-stat-icon{font-size:14px}.enemy-stat-label{font-family:var(--font-display);font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim)}.enemy-stat-value{font-family:var(--font-mono);font-size:14px;color:var(--gold-pale);font-weight:500}.audio-play-btn{background:var(--gold-bg);border:1px solid var(--border-gold);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gold);font-size:14px;transition:all .2s}.audio-play-btn:hover{background:#c9a84c33;border-color:var(--gold);transform:scale(1.1)}.systems-layout{display:flex;gap:0;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-card);min-height:500px}.systems-tabs{width:220px;flex-shrink:0;border-right:1px solid var(--border);padding:8px 0;background:#0000001a}.systems-tab{display:block;width:100%;padding:14px 20px;background:none;border:none;border-left:2px solid transparent;text-align:left;font-family:var(--font-display);font-size:13px;font-weight:500;letter-spacing:.5px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.systems-tab:hover{color:var(--text-primary);background:#c9a84c0a}.systems-tab-group-label{padding:16px 16px 6px;font-family:Cinzel,serif;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--border);margin-bottom:4px}.systems-tab-group-label:not(:first-child){margin-top:12px}.systems-tab.active{color:var(--gold);border-left-color:var(--gold);background:#c9a84c0f}.systems-content{flex:1;padding:32px;overflow-y:auto;max-height:80vh}.markdown-content{line-height:1.7;color:var(--text-secondary)}.markdown-content h1{font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--gold-pale);letter-spacing:1px;margin:32px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--border)}.markdown-content h1:first-child{margin-top:0}.markdown-content h2{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--gold-pale);letter-spacing:.5px;margin:28px 0 12px}.markdown-content h3{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--text-primary);margin:24px 0 10px}.markdown-content h4{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-primary);margin:20px 0 8px}.markdown-content p{margin:10px 0;font-size:16px}.markdown-content ul,.markdown-content ol{padding-left:24px;margin:8px 0}.markdown-content li{margin:4px 0;font-size:16px}.markdown-content code{font-family:var(--font-mono);font-size:13px;background:#0003;padding:2px 6px;border-radius:2px;color:var(--gold-pale)}.markdown-content pre{background:#00000040;border:1px solid var(--border);border-radius:var(--radius);padding:16px;overflow-x:auto;margin:12px 0}.markdown-content pre code{background:none;padding:0;font-size:13px;color:var(--text-secondary)}.markdown-content table{width:100%;border-collapse:collapse;margin:12px 0}.markdown-content th{font-family:var(--font-display);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);background:#00000026}.markdown-content td{padding:8px 12px;font-size:14px;border-bottom:1px solid rgba(255,255,255,.03)}.markdown-content blockquote{border-left:3px solid var(--gold-dim);padding:8px 16px;margin:12px 0;color:var(--text-dim);font-style:italic}.markdown-content strong{color:var(--text-primary);font-weight:600}.markdown-content hr{border:none;border-top:1px solid var(--border);margin:24px 0}.modal-wide{max-width:900px;max-height:85vh}.docs-file-list{display:flex;flex-direction:column;gap:2px}.docs-file-item{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:6px;cursor:pointer;transition:background .15s;border:1px solid transparent}.docs-file-item:hover{background:var(--gold-bg);border-color:var(--border)}.docs-file-icon{color:var(--gold);font-size:16px;flex-shrink:0}.docs-file-path{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--text-secondary)}.docs-file-item:hover .docs-file-path{color:var(--gold-pale)}.empty-state{text-align:center;padding:48px;color:var(--text-dim);font-family:var(--font-display);font-size:14px;letter-spacing:1px}.bugs-filters{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.bugs-filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bugs-filter-label{font-family:var(--font-display);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);min-width:60px}.bugs-filter-btn{padding:5px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-family:var(--font-display);font-size:11px;letter-spacing:.5px;cursor:pointer;transition:all .2s}.bugs-filter-btn:hover{border-color:var(--border-gold);color:var(--text-primary)}.bugs-filter-btn.active{background:var(--gold-bg);border-color:var(--border-gold-strong);color:var(--gold)}.bugs-filter-btn:disabled{opacity:.4;cursor:default}.bugs-list{display:flex;flex-direction:column;gap:12px}.bug-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 22px;cursor:pointer;transition:background .2s,border-color .2s;border-left:3px solid var(--border)}.bug-card:hover{background:var(--bg-card-hover);border-color:var(--border-gold)}.severity-border-critical{border-left-color:#c44}.severity-border-high{border-left-color:#c98a4c}.severity-border-medium{border-left-color:var(--gold)}.severity-border-low{border-left-color:var(--text-dim)}.bug-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.bug-card-badges{display:flex;gap:8px}.bug-id{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.bug-card-title{font-family:var(--font-display);font-size:15px;color:var(--text-primary);margin-bottom:10px;letter-spacing:.3px}.bug-severity{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;padding:3px 10px;border-radius:2px;white-space:nowrap}.severity-critical{background:#cc444426;color:#e66;border:1px solid rgba(204,68,68,.25)}.severity-high{background:#c98a4c26;color:#d9a45c;border:1px solid rgba(201,138,76,.25)}.severity-medium{background:var(--gold-bg);color:var(--gold);border:1px solid var(--border-gold)}.severity-low{background:#ffffff08;color:var(--text-dim);border:1px solid rgba(255,255,255,.06)}.bug-status{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;padding:3px 10px;border-radius:2px;white-space:nowrap}.status-open{background:#cc44441a;color:#c66;border:1px solid rgba(204,68,68,.2)}.status-in_progress{background:var(--warning-bg);color:var(--warning);border:1px solid rgba(201,136,76,.2)}.status-fixed{background:var(--success-bg);color:var(--success);border:1px solid rgba(91,140,74,.2)}.status-wontfix{background:#ffffff08;color:var(--text-dim);border:1px solid rgba(255,255,255,.06)}.bug-meta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px}.bug-meta-item{font-family:var(--font-body);font-size:14px;color:var(--text-secondary)}.bug-meta-label{font-family:var(--font-display);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);margin-right:6px}.bug-description{font-family:var(--font-body);font-size:14px;color:var(--text-secondary);line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bug-modal-title{font-family:var(--font-display);font-size:18px;color:var(--text-primary);margin:0 0 20px;letter-spacing:.3px}.bug-modal-meta{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.bug-modal-meta-row{display:flex;align-items:center;gap:12px}.bug-modal-meta-row .bug-meta-label{min-width:70px;margin-right:0}.bug-modal-description{margin-bottom:24px}.bug-modal-description p{font-family:var(--font-body);font-size:15px;color:var(--text-secondary);line-height:1.7;margin:8px 0 0}.bug-modal-actions{padding-top:16px;border-top:1px solid var(--border)}.bug-status-buttons{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.bug-action-btn{padding:7px 18px}[data-theme=light] .zone-card,[data-theme=light] .npc-card,[data-theme=light] .quest-card,[data-theme=light] .quest-flow,[data-theme=light] .enemy-card,[data-theme=light] .combat-formula,[data-theme=light] .systems-layout{background:#fff}[data-theme=light] .systems-tabs,[data-theme=light] .dialogue-preview{background:#00000005}[data-theme=light] .markdown-content code{background:#0000000d;color:#5a3d8a}[data-theme=light] .markdown-content pre,[data-theme=light] .formula-code{background:#00000008}[data-theme=light] .bug-card{background:#fff}[data-theme=light] .bug-modal-meta{background:#faf8f4}[data-theme=light] .severity-low,[data-theme=light] .status-wontfix{background:#0000000a;color:#7a7068;border-color:#00000014}[data-theme=light] .status-open,[data-theme=light] .severity-critical{background:#cc444414;color:#933}
