:root{--bg:#0b1018;--surface:#141d29;--surface2:#1b2736;--line:#2c3c50;--text:#f5f7fa;--muted:#9fb0c4;--gold:#f4b942;--gold2:#ffd878;--blue:#62a8ff;--green:#47d18c;--red:#ff6d70;--radius:18px;--shadow:0 14px 35px rgba(0,0,0,.26)}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% 0,#1b2a3c 0,transparent 34%),var(--bg)}button,input,textarea,select{font:inherit}.appbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px max(18px,env(safe-area-inset-left));background:rgba(11,16,24,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}h1,h2,h3,p{margin-top:0}h1{font-size:1.22rem;margin:0}h2{font-size:1.55rem;margin:.2rem 0}h3{font-size:1.05rem;margin-bottom:.35rem}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.13em;color:var(--gold)}main{width:min(900px,100%);margin:auto;padding:20px 16px 105px}.view{display:none}.view.active{display:block}.summary-card,.panel{background:linear-gradient(145deg,var(--surface2),var(--surface));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.summary-card{padding:22px;display:flex;gap:20px;align-items:center;justify-content:space-between}.summary-card h2{font-size:1.35rem}.label,.hint,small{color:var(--muted)}.progress-ring{min-width:82px;height:82px;border:6px solid var(--gold);border-radius:50%;display:grid;place-content:center;text-align:center}.progress-ring strong{font-size:1.45rem;line-height:1}.progress-ring span{font-size:.68rem;color:var(--muted)}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.quick-grid button{min-height:130px;text-align:left;padding:18px;border:1px solid var(--line);border-radius:16px;color:var(--text);background:var(--surface);display:flex;flex-direction:column;gap:5px}.quick-grid button span{color:var(--gold);font-weight:800}.quick-grid button b{font-size:1.08rem}.quick-grid button:active{transform:scale(.985)}.panel{padding:18px;margin-bottom:16px}.backup-panel{display:flex;gap:16px;justify-content:space-between;align-items:center}.backup-panel p{margin:0;color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#e6edf5}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:12px;background:#0c141f;color:var(--text);padding:12px;outline:none}textarea{resize:vertical;min-height:54px}input:focus,textarea:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(244,185,66,.12)}button,.secondary,.link-button{border:0;border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer}.primary{background:var(--gold);color:#17130a}.secondary{background:#243246;color:var(--text);border:1px solid #3a4b61}.success{background:var(--green);color:#062114}.icon-btn{background:var(--gold);color:#17130a;padding:9px 12px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.button-row>*{flex:1}.link-button{text-decoration:none;text-align:center}.file-label{display:block;text-align:center}.file-label input,.upload-zone input{display:none}.upload-zone{border:1px dashed #52677f;padding:18px;text-align:center;border-radius:14px;background:#101925;cursor:pointer}.ref-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:10px;margin-top:12px}.ref-card{position:relative;background:#0d1520;border-radius:12px;overflow:hidden;border:1px solid var(--line)}.ref-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.ref-card input{border:0;border-radius:0;padding:8px;font-size:.8rem}.ref-card button{position:absolute;right:5px;top:5px;background:rgba(8,12,18,.8);color:white;padding:5px 8px}.large-editor{min-height:52vh;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem}.badge,.save-state{padding:6px 10px;border-radius:999px;background:#243246;color:var(--muted);font-size:.78rem;font-weight:800}.badge.approved{background:rgba(71,209,140,.15);color:var(--green)}.checks{display:grid;gap:7px;margin:14px 0}.check{padding:10px 12px;border-radius:10px;background:#101925;border-left:4px solid var(--green);font-size:.9rem}.check.warn{border-color:var(--red)}.page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.page-card{position:relative;min-height:138px;padding:14px;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:15px}.page-card strong{font-size:1.7rem;display:block}.page-card small{display:block}.status-dot{position:absolute;right:12px;top:12px;width:10px;height:10px;border-radius:50%;background:#657386}.status-script .status-dot{background:var(--blue)}.status-approved .status-dot{background:var(--gold)}.status-final .status-dot{background:var(--green)}.result-preview img{width:100%;max-height:650px;object-fit:contain;border-radius:14px;background:#070b10}.back{background:transparent;color:var(--gold);padding-left:0}.sticky-actions{position:sticky;bottom:82px;padding-top:12px;background:linear-gradient(transparent,var(--surface) 22%)}#toast{position:fixed;left:50%;bottom:92px;z-index:50;transform:translate(-50%,20px);background:#f5f7fa;color:#0b1018;padding:11px 16px;border-radius:999px;font-weight:800;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(11,16,24,.94);backdrop-filter:blur(16px);border-top:1px solid var(--line)}.bottom-nav button{background:transparent;color:var(--muted);padding:10px 4px;font-size:.8rem}.bottom-nav button.active{color:var(--gold)}@media(max-width:600px){.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.page-grid{grid-template-columns:repeat(2,1fr)}.backup-panel{align-items:flex-start;flex-direction:column}.backup-panel .button-row{width:100%}.summary-card{align-items:flex-start}.quick-grid button{min-height:120px;padding:15px}}@media(min-width:800px){.bottom-nav{left:50%;max-width:900px;transform:translateX(-50%);border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0}}
.danger{background:rgba(255,109,112,.13);color:#ff9da0;border:1px solid rgba(255,109,112,.45)}.bottom-nav{grid-template-columns:repeat(5,1fr)}.bottom-nav button{padding-inline:2px;font-size:.73rem}.project-switcher{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:16px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:15px}.project-switcher label{font-size:.78rem}.project-switcher select{padding:8px;margin-top:2px}.ref-gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.ref-card input{border-top:1px solid var(--line)}.ref-select{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.ref-option{display:flex;flex-direction:row;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:10px;background:#101925}.ref-option input{width:auto}.ref-option img{width:42px;height:42px;object-fit:cover;border-radius:8px}fieldset{border:1px solid var(--line);border-radius:14px;padding:14px}legend{font-weight:800;color:var(--gold)}.rules-list{display:grid;gap:10px}.rule-group{padding:14px;background:#0f1824;border-radius:12px;border-left:4px solid var(--gold)}.rule-group h3{color:var(--gold2)}.rule-group ul{margin:0;padding-left:20px}.rule-group li+li{margin-top:5px}@media(max-width:600px){.project-switcher{position:sticky;top:67px;z-index:15}}
.auto-box{padding:15px;border-radius:14px;background:#0d1723;border:1px solid #35506d}.auto-box .large-editor{min-height:42vh}.advanced{border:1px solid var(--line);border-radius:14px;padding:0;overflow:hidden}.advanced summary{padding:15px;font-weight:800;color:var(--gold);cursor:pointer;background:#101925}.advanced-grid{padding:15px}.page-card .auto-meta{margin-top:7px;color:var(--gold2)}
.status-revision{border-color:#fb8500}.status-revision .status-dot{background:#fb8500}.status-reworked{border-color:#a970ff}.status-reworked .status-dot{background:#a970ff}.page-card .revision-date{margin-top:4px;color:#d8bdff}.image-replacement-actions{padding:14px;border:1px solid #665a86;border-radius:14px;background:#181528}.image-replacement-actions p{margin:5px 0 12px;color:var(--muted)}
.status-textwarning,.status-pagewarning{border:2px solid #ff8a2b;background:linear-gradient(145deg,#35200f,var(--surface))}.status-textwarning .status-dot,.status-pagewarning .status-dot{width:14px;height:14px;background:#ff8a2b;box-shadow:0 0 0 5px rgba(255,138,43,.16)}.status-textwarning>small:not(.auto-meta),.status-pagewarning>small:not(.auto-meta){color:#ffd09b;font-weight:800}.page-error-reason{margin-top:6px;padding:6px 8px;border-radius:8px;background:rgba(255,138,43,.13);color:#ffe0b5!important;line-height:1.3}.page-editor-issue{display:grid;gap:8px;margin-bottom:12px;padding:13px;border:2px solid #ff8a2b;border-radius:12px;background:#35200f;color:#ffe0b5}.page-editor-issue button{margin-top:3px}.export-issue-summary{display:grid;gap:4px;border-color:#ff8a2b}.export-issue-list{display:grid;gap:8px;margin:10px 0}.export-issue-list button{text-align:left;border-color:#ff8a2b}.export-issue-list button b,.export-issue-list button small{display:block}.export-issue-list button small{margin-top:3px;color:#ffd09b}.letter-item.text-overflow{border:2px solid #ff8a2b;background:#2f1d10}.text-overflow-warning{grid-column:1/-1;padding:7px 10px;border-radius:9px;background:#ff8a2b;color:#241000;font-weight:900}.studio-overflow-warning{margin:0 0 12px;padding:12px 14px;border:2px solid #ff8a2b;border-radius:12px;background:#3a210e;color:#ffe0b5;font-weight:900}.studio-element-list button.text-overflow{border-color:#ff8a2b!important;color:#ffd09b!important;box-shadow:0 0 0 2px rgba(255,138,43,.22)}
.layout-workspace{display:grid;gap:14px}.layout-workspace>p{margin:0}.editor-toolbar{display:grid;grid-template-columns:1fr 1fr auto auto auto;gap:7px;position:sticky;top:70px;z-index:8;padding:8px;background:rgba(13,21,32,.94);border:1px solid var(--line);border-radius:12px}.editor-toolbar button{padding:10px 8px;font-size:.84rem}.editor-toolbar button.active{background:var(--gold);color:#17130a}.canvas-viewport{width:100%;height:min(70vh,850px);overflow:auto;overscroll-behavior:contain;background:#070b10;border:1px solid var(--line);border-radius:10px}.canvas-viewport canvas{display:block;width:100%;max-width:none;height:auto;aspect-ratio:210/297;margin:0 auto;background:#05080c;box-shadow:0 18px 45px rgba(0,0,0,.4)}.canvas-viewport.hand-mode canvas{touch-action:auto}.canvas-viewport.text-mode canvas{touch-action:none}.layout-actions{justify-content:center}.lettering-list{display:grid;gap:10px;padding:14px}.letter-item{display:grid;grid-template-columns:90px 1fr auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:#0d1520}.letter-item textarea{min-height:70px}.letter-item select{padding:9px}.letter-buttons{display:flex;flex-wrap:wrap;gap:5px}.letter-item button{background:#243246;color:#fff;padding:10px 12px}.letter-item [data-letter-delete]{background:rgba(255,109,112,.13);color:#ff9da0}.letter-item small{grid-column:1/-1}.export-panel{display:grid;gap:14px}.export-panel>p{margin:0}.export-button{width:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;padding:18px}.export-button small{font-weight:500;color:inherit;opacity:.78}.export-panel progress{width:100%;height:18px;accent-color:var(--gold)}#openLayout:disabled,.export-button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:600px){.editor-toolbar{grid-template-columns:1fr 1fr repeat(3,auto);top:66px}.editor-toolbar button{font-size:.75rem;padding:9px 5px}.letter-item{grid-template-columns:1fr auto}.letter-item select{grid-column:1}.letter-item textarea{grid-column:1/-1}.letter-item small{grid-column:1/-1}}

.rac-performance{margin-top:1rem}.rac-performance-status{padding:.75rem 1rem;border-radius:12px;margin:.75rem 0;font-weight:700}.rac-performance-status.ok{background:rgba(45,190,125,.12);border:1px solid rgba(45,190,125,.38);color:#8be0b7}.rac-performance-status.warn{background:rgba(255,183,3,.12);border:1px solid rgba(255,183,3,.42);color:#ffd36c}.rac-performance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:.75rem 0}.rac-performance-grid span{display:flex;flex-direction:column;gap:.18rem;padding:.7rem;border-radius:10px;background:rgba(255,255,255,.045);font-size:.88rem}.rac-performance-grid b{font-size:.76rem;color:var(--muted,#aeb3c2)}@media(max-width:620px){.rac-performance-grid{grid-template-columns:1fr}}
.rescue-export-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;border-color:rgba(244,185,66,.55);background:linear-gradient(145deg,rgba(244,185,66,.12),var(--surface))}.rescue-export-panel p{margin:0;color:var(--muted);max-width:580px}.rescue-export-panel button{flex:0 0 auto}@media(max-width:650px){.rescue-export-panel{align-items:stretch;flex-direction:column}.rescue-export-panel button{width:100%}}
.rac-diagnostics{width:min(680px,calc(100% - 24px));max-height:88vh;overflow:auto;border:1px solid var(--line);border-radius:18px;padding:0;background:var(--surface);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.65)}.rac-diagnostics::backdrop{background:rgba(0,0,0,.72)}.rac-diagnostics-inner{padding:20px}.rac-diagnostics-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.rac-diagnostics-head button{min-width:48px}.rac-diagnostics-state{padding:12px 14px;border-radius:12px;border:1px solid var(--line);font-weight:800}.rac-diagnostics-state.ok{background:rgba(71,209,140,.12);border-color:var(--green);color:#a7f3d0}.rac-diagnostics-state.warn{background:rgba(255,109,112,.12);border-color:var(--red);color:#ffc3c4}.rac-diagnostics-grid{display:grid;grid-template-columns:minmax(135px,.7fr) 1.3fr;gap:1px;margin:14px 0;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.rac-diagnostics-grid dt,.rac-diagnostics-grid dd{margin:0;padding:10px 12px;background:#101925;overflow-wrap:anywhere}.rac-diagnostics-grid dt{color:var(--muted);font-weight:800}.rac-diagnostics-note{color:var(--muted)}.rac-diagnostics-actions{display:flex;gap:10px;flex-wrap:wrap}.rac-diagnostics-actions button{flex:1;min-width:180px}@media(max-width:520px){.rac-diagnostics-grid{grid-template-columns:1fr}.rac-diagnostics-grid dd{padding-top:0}.rac-diagnostics-actions button{width:100%}}

.rac-backup-progress{width:min(30rem,calc(100vw - 2rem));max-height:85dvh;color:var(--text,#f4f0e5);background:#142433;border:1px solid #58758a;border-radius:12px;padding:24px}.rac-backup-progress::backdrop{background:rgba(0,0,0,.65)}.rac-backup-progress h2{font-size:1.2rem;margin:0 0 16px}.rac-backup-progress p,.rac-backup-progress small{display:block;line-height:1.5}.rac-backup-progress progress{width:100%;height:16px;margin:12px 0;accent-color:#e5bb53}
