:root{--bg: #0e1116;--panel: #161b22;--panel-2: #1c232c;--border: #2a323d;--text: #e6edf3;--muted: #8b98a5;--accent: #4c8dff;--accent-2: #2d6cdf;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}.app{display:grid;grid-template-columns:360px 1fr;height:100vh;overflow:hidden}.panel{background:var(--panel);border-right:1px solid var(--border);padding:18px;overflow-y:auto}.panel h1{font-size:18px;margin:0 0 2px;letter-spacing:-.02em}.panel .sub{color:var(--muted);font-size:12px;margin:0 0 18px}.section{margin-bottom:18px}.section>label.title{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.field input[type=text],.field input[type=number],.field select{width:100%;background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:8px 10px;border-radius:8px;font-size:13px;outline:none}.field input:focus,.field select:focus{border-color:var(--accent)}.row{display:flex;gap:8px}.row>*{flex:1}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg button{flex:1;min-width:60px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);padding:8px;border-radius:8px;font-size:12px;cursor:pointer;transition:.12s}.seg button.active{background:var(--accent-2);border-color:var(--accent);color:#fff}.range-row{display:flex;align-items:center;gap:8px}.range-row input[type=range]{flex:1}.range-row .val{font-size:12px;color:var(--text);width:48px;text-align:right}button.primary{width:100%;background:var(--accent-2);border:1px solid var(--accent);color:#fff;padding:11px;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer}button.primary:hover{background:var(--accent)}button.primary:disabled{opacity:.5;cursor:default}button.ghost{width:100%;background:transparent;border:1px solid var(--border);color:var(--text);padding:10px;border-radius:9px;font-size:13px;cursor:pointer;margin-top:8px}button.ghost:hover{border-color:var(--accent)}.viewer{position:relative}.viewer .status{position:absolute;top:14px;left:50%;transform:translate(-50%);background:#0009;border:1px solid var(--border);padding:6px 14px;border-radius:999px;font-size:12px;color:var(--text);z-index:5}.viewer .err{border-color:#e5534b;color:#ff9a93}.viewer .hint{position:absolute;bottom:12px;left:12px;font-size:11px;color:var(--muted);z-index:5}.modetabs{display:flex;gap:6px;margin-bottom:16px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:4px}.modetabs button{flex:1;background:transparent;border:none;color:var(--muted);padding:8px;border-radius:7px;font-size:13px;cursor:pointer}.modetabs button.active{background:var(--accent-2);color:#fff}label.check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer}label.check input{width:15px;height:15px;accent-color:var(--accent)}button.linkish{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px;padding:0;text-decoration:underline}.field input[type=file]{width:100%;font-size:12px;color:var(--muted)}.poster-view{display:flex;align-items:center;justify-content:center;background:#0a0d12;padding:24px}.poster-stage{background:#1a1f27;padding:22px;border-radius:6px;box-shadow:0 24px 60px #00000080;max-height:92vh;display:flex}details.advanced{margin-top:6px;border-top:1px solid var(--border);padding-top:10px}details.advanced>summary{cursor:pointer;font-size:12px;color:var(--muted);list-style:none;-webkit-user-select:none;user-select:none;padding:2px 0}details.advanced>summary::-webkit-details-marker{display:none}details.advanced>summary:before{content:"▸ ";color:var(--muted)}details.advanced[open]>summary:before{content:"▾ "}details.advanced[open]>summary{margin-bottom:10px;color:var(--text)}.badge{display:inline-block;font-size:10px;padding:1px 6px;border-radius:6px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);margin-left:6px}.badge.soon{color:#d6a85f;border-color:#5a4a2a}
