:root{color-scheme:dark;font-family:system-ui,Segoe UI,sans-serif}body{margin:0;background:#14171c;color:#e6e8eb}.wrap{max-width:1100px;margin:0 auto;padding:1.5rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}h1{font-size:1.3rem;margin:0}button{background:#2b6cb0;color:#fff;border:0;border-radius:6px;padding:.4rem .7rem;cursor:pointer;font-size:.85rem}button:disabled{opacity:.5;cursor:default}button.danger{background:#a03030}.msg{margin:.8rem 0;padding:.6rem .8rem;background:#26303b;border-radius:6px}.grid{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.85rem}.grid th,.grid td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid #2a2f37;vertical-align:top}.grid tr.disabled{opacity:.5}.actions{display:flex;gap:.35rem;flex-wrap:wrap}.status{padding:.1rem .45rem;border-radius:999px;font-size:.75rem}.status-ok{background:#1f4d2e;color:#86efac}.status-error{background:#4d1f1f;color:#fca5a5}.status-never{background:#3a3f47;color:#cbd5e1}.err{color:#fca5a5;font-size:.72rem;margin-top:.2rem}.editor{margin-top:1.2rem;padding:1rem;background:#1b1f26;border-radius:8px;display:flex;flex-direction:column;gap:.6rem;max-width:560px}.editor label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem}.editor label.check{flex-direction:row;align-items:center;gap:.4rem}.editor input,.editor select,.editor textarea{background:#10141a;color:#e6e8eb;border:1px solid #313842;border-radius:6px;padding:.4rem;font-family:inherit;font-size:.85rem}.editor textarea{font-family:ui-monospace,monospace}.editor code{background:#10141a;border:1px solid #313842;border-radius:4px;padding:0 .25rem;font-family:ui-monospace,monospace;font-size:.8rem}.editor .preview{margin:.3rem 0 0;padding:.7rem .9rem;background:#1a120a;color:#ffce63;border:1px solid #3a2c17;border-radius:6px;font-size:1.35rem;direction:rtl;text-align:center}.pvt{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1rem}.pvt-col h2{font-size:.95rem;margin:0 0 .5rem}.scene{background:#1a120a;border:1px solid #3a2c17;border-radius:8px;padding:.9rem 1rem;direction:rtl;min-height:8rem}.scene-title{color:#ffce63;font-weight:700;margin-bottom:.5rem;border-bottom:1px solid #3a2c17;padding-bottom:.3rem}.scene-row{line-height:1.7;font-size:.95rem}.pvt-drafts{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.7rem;max-height:14rem;overflow-y:auto}.pvt-draft{text-align:start;background:#10141a;border:1px solid #262c35;border-radius:6px;padding:.4rem .6rem;color:#e6e8eb;cursor:pointer}.pvt-draft.active{border-color:#4a90d9;background:#16202b}@media(max-width:860px){.pvt{grid-template-columns:1fr}}.warn-box{background:#3a2a12;color:#f5b44e;border:1px solid #5a4520}.wiring-url{display:flex;align-items:center;gap:.6rem;padding:.35rem 0;border-bottom:1px solid #22272f}.wiring-url code{flex:1 1 auto;min-width:0;overflow-x:auto;white-space:nowrap;background:#10141a;border:1px solid #313842;border-radius:5px;padding:.25rem .4rem;font-family:ui-monospace,monospace;font-size:.8rem;direction:ltr}.grid.mini td{padding:.3rem .6rem}.tag{display:inline-block;padding:.1rem .45rem;border-radius:999px;font-size:.72rem;white-space:nowrap}.tag.ok{background:#14331f;color:#63d567}.tag.warn{background:#3a2a12;color:#f5b44e}.tag.muted{background:#26262e;color:#9aa4b2}tr.dirty td{background:#1d2733}.grid input[type=number]{width:5rem;background:#10141a;color:#e6e8eb;border:1px solid #313842;border-radius:5px;padding:.25rem}.subtabs{display:flex;gap:.4rem;margin:.4rem 0 1rem;border-bottom:1px solid #2a3039}.subtab{background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;color:#9aa4b2;padding:.4rem .8rem;cursor:pointer}.subtab.active{color:#e6e8eb;border-bottom-color:#4a90d9}.book-page{display:flex;flex-direction:column;gap:.3rem;padding:.5rem;margin-bottom:.5rem;background:#10141a;border:1px solid #262c35;border-radius:6px}.page-row{grid-column:1 / -1;display:flex;flex-direction:column;gap:.35rem;padding:.55rem .65rem;background:#161b22;border:1px solid #2a323d;border-radius:8px}.page-row-head{display:flex;align-items:baseline;justify-content:space-between;font-size:.72rem}.page-row-index{color:#f0ab44;font-weight:600}.page-row .row-text{width:100%;min-height:3.4rem;direction:rtl;background:#10141a;font-family:inherit;font-size:.95rem;line-height:1.7;resize:vertical}.page-row-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.page-row-controls label{flex-direction:row;align-items:center;gap:.3rem;font-size:.72rem;color:#9aa4b2}.page-row-controls select{padding:.2rem .3rem;font-size:.78rem}.page-row-del{margin-inline-start:auto}.page-row-add,.editor .field-wide{grid-column:1 / -1}.editor .field-title{font-size:1rem;padding:.5rem .6rem}.editor .field-body{min-height:9rem;font-family:inherit;font-size:.95rem;line-height:1.7;resize:vertical}.row{display:flex;gap:.5rem}.items{list-style:none;padding:0;margin:0}.items li{padding:.35rem 0;border-bottom:1px solid #2a2f37;font-size:.85rem}.it-meta{color:#94a3b8;font-size:.75rem}a{color:#7fb2ff}.ops{display:grid;grid-template-columns:220px 1fr;min-height:100vh;direction:rtl}.ops-nav{background:#10141a;border-inline-start:1px solid #232a33;display:flex;flex-direction:column;padding:1rem .6rem;gap:.15rem}.ops-brand{font-weight:700;color:#f0ab44;padding:.2rem .6rem .8rem;font-size:.95rem}.ops-nav nav{display:flex;flex-direction:column;gap:.15rem}.ops-tab{display:block;padding:.5rem .7rem;border-radius:6px;color:#cbd5e1;text-decoration:none;font-size:.88rem}.ops-tab:hover{background:#1b212b}.ops-tab.active{background:#223049;color:#fff}.ops-tab.disabled{opacity:.38;cursor:not-allowed}.ops-user{margin-top:auto;display:flex;flex-direction:column;gap:.4rem;padding:.6rem;font-size:.75rem}.ops-main{padding:1.4rem 1.8rem;overflow:auto}button.ghost{background:transparent;border:1px solid #37404b;color:#cbd5e1}.auth-shell{min-height:100vh;display:grid;place-items:center;direction:rtl}.auth-card{background:#1b1f26;border:1px solid #262d37;border-radius:10px;padding:1.6rem 1.8rem;width:320px;display:flex;flex-direction:column;gap:.7rem}.auth-card h1{font-size:1.05rem;color:#f0ab44}.auth-card label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem}.auth-card input{background:#10141a;color:#e6e8eb;border:1px solid #313842;border-radius:6px;padding:.45rem;font-family:inherit}.tt-card{background:#1b1f26;border:1px solid #262d37;border-radius:10px;padding:1.2rem 1.4rem;max-width:760px}.tt-card h2{margin-top:0;font-size:1.05rem}.tt-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.6rem 0}.tt-hint{font-size:.82rem;color:#a7b0bd;line-height:1.7}.tt-muted{color:#94a3b8;font-size:.85rem}.tt-error{color:#fca5a5;font-size:.85rem;white-space:pre-wrap}.tt-ok{color:#86efac;font-size:.9rem}.tt-card code{background:#10141a;padding:.1rem .35rem;border-radius:4px;font-size:.8rem}.kv{list-style:none;padding:0;margin:.8rem 0 0;display:grid;gap:.4rem;max-width:360px}.kv li{display:flex;justify-content:space-between;border-bottom:1px solid #262d37;padding:.35rem 0;font-size:.88rem}.kv b.ok{color:#86efac}.kv b.warn{color:#fbbf24}.swatch{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle;margin-inline-end:4px}.editor fieldset{border:1px solid #2a323d;border-radius:8px;padding:.7rem .9rem;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.6rem}.editor fieldset legend{color:#f0ab44;font-size:.8rem;padding:0 .4rem}.editor .checks{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.3rem}.editor{max-width:900px}.studio-bar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.studio-bar h2{margin:0;font-size:1.1rem}.studio-grid{color:#9aa7b2;font-variant-numeric:tabular-nums}.studio-dirty{color:#e8a23a;font-weight:600}.studio-msg{color:#74dd78}.studio-body{display:grid;grid-template-columns:1fr 20rem;gap:1rem;align-items:start}.studio-stage{background:#0c0f13;padding:.75rem;border-radius:.5rem}.studio-canvas{position:relative;width:100%;background:#1a120a;border:1px solid #2b333c;overflow:hidden;touch-action:none}.studio-blocked{position:absolute;background:repeating-linear-gradient(45deg,#ff5b542e,#ff5b542e 6px,#ff5b540f 6px,#ff5b540f 12px);border:1px dashed rgba(255,91,84,.7);pointer-events:none;display:flex;align-items:flex-start;justify-content:flex-end}.studio-blocked span{font-size:.65rem;color:#ff8b85;padding:2px 4px}.studio-region{position:absolute;border:1px solid #4a90d9;background:#4a90d91f;cursor:move;display:flex;flex-direction:column;justify-content:space-between;padding:2px 4px;-webkit-user-select:none;user-select:none}.studio-region.is-selected{border-color:#e8a23a;background:#e8a23a2e;box-shadow:0 0 0 1px #e8a23a inset}.studio-region.is-warned{border-color:#ff5b54;background:#ff5b5429}.studio-region.is-hidden{opacity:.35;border-style:dashed}.studio-region-label{font-size:.7rem;color:#dfe7ee}.studio-region-dims{font-size:.62rem;color:#9aa7b2;align-self:flex-start;font-variant-numeric:tabular-nums}.studio-handle{position:absolute;right:-5px;bottom:-5px;width:11px;height:11px;background:#e8a23a;border-radius:2px;cursor:nwse-resize}.studio-side section{background:#12171d;border:1px solid #232b34;border-radius:.5rem;padding:.75rem;margin-bottom:.75rem}.studio-side h3{margin:0 0 .5rem;font-size:.9rem}.studio-badge{border-radius:.6rem;padding:0 .45rem;font-size:.75rem}.studio-badge.ok{background:#1f3d24;color:#74dd78}.studio-badge.warn{background:#4a1f1d;color:#ff8b85}.studio-warnings{list-style:none;padding:0;margin:0 0 .5rem;display:flex;flex-direction:column;gap:.35rem}.studio-warnings li{font-size:.78rem;line-height:1.4;border-right:3px solid #ff5b54;padding-right:.5rem}.studio-warnings li.w-safe_zone{border-right-color:#f5b44e}.studio-warnings li.w-overlap{border-right-color:#ff5b54}.studio-warnings li.w-offscreen{border-right-color:#69a6ff}.studio-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem}.studio-add{display:flex;flex-wrap:wrap;gap:.35rem}.studio-add button{font-size:.75rem;padding:.2rem .45rem}.grid tr.is-origin>td{background:#ffb00014}.msg.error{border-color:#ff6b6b;color:#ff9f9f}button.ghost.danger{color:#ff9f9f}.grid td.actions,.grid td.row{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;min-width:15rem}.grid td.actions button,.grid td.row button{white-space:nowrap;padding:.3rem .55rem;font-size:.78rem}
