:root{--panel:#121826;--panel2:#0b1020;--line:#2a3550;--text:#f4f7ff;--muted:#9da9c3;--accent:#ffc928}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#080b12;color:var(--text);font-family:Arial,sans-serif}button,input,select{font:inherit}.admin-top{height:38px;padding:0 16px;background:#0b1020;border-bottom:1px solid #26314a;display:flex;align-items:center;justify-content:flex-end;gap:14px;font-size:13px}.admin-top button,.designer-shell button{background:#1a2235;color:#fff;border:1px solid #394766;border-radius:6px;padding:8px 11px;cursor:pointer}.designer-shell button:hover{background:#26314a}.designer-shell{min-height:calc(100vh - 38px);padding:14px}.designer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.designer-header h1{margin:0;font-family:"Courier New",monospace;letter-spacing:.08em;color:var(--accent)}.designer-header p{margin:5px 0 0;color:var(--muted);font-size:13px}.header-actions{display:flex;gap:7px;flex-wrap:wrap}.workspace{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);gap:14px;align-items:start}.controls{height:calc(100vh - 118px);overflow:auto;padding-right:4px}.controls details{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:9px;overflow:hidden}.controls summary{cursor:pointer;padding:11px 12px;background:#171f31;font-family:"Courier New",monospace;font-weight:900;color:#ffd84a}.controls details>div,.controls details>p{margin:0;padding:11px}.control-grid{display:grid;grid-template-columns:1fr;gap:9px}.control-grid label,.color-grid label{display:grid;gap:5px;color:#dfe6f5;font-size:12px}.control-grid input[type=text],.control-grid select,.preset-row input{width:100%;background:#090d16;border:1px solid #34415e;color:#fff;padding:7px;border-radius:5px}.control-grid input[type=range]{width:100%}.control-grid label:has(input[type=checkbox]){grid-template-columns:auto 1fr;align-items:center}.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:11px}.color-grid input{width:100%;height:34px;border:1px solid #34415e;background:#090d16;padding:2px;border-radius:5px}.hint{color:var(--muted);font-size:12px;line-height:1.35}.column-list{padding:10px}.column-item{display:grid;grid-template-columns:20px 1fr 76px 44px;gap:7px;align-items:center;background:#0b1020;border:1px solid #2b3855;border-radius:6px;padding:7px;margin-bottom:6px}.column-item.dragging{opacity:.45}.column-handle{cursor:grab;color:#7d8aa7}.column-name{font-size:12px}.column-item input[type=number]{width:100%;background:#080c14;color:#fff;border:1px solid #354463;border-radius:4px;padding:5px}.column-item input[type=checkbox]{justify-self:center}.preset-row{display:grid;grid-template-columns:1fr auto;gap:7px;padding-bottom:0!important}.preset-list{display:grid;gap:5px}.preset-item{display:flex;justify-content:space-between;align-items:center;gap:6px;background:#0b1020;border:1px solid #2b3855;border-radius:5px;padding:6px 7px;font-size:12px}.preset-item .actions{display:flex;gap:5px}.preset-item button{padding:4px 7px;font-size:11px}.json-actions{display:flex;gap:7px;flex-wrap:wrap}.file-btn{display:inline-flex;align-items:center;background:#1a2235;color:#fff;border:1px solid #394766;border-radius:6px;padding:8px 11px;cursor:pointer}.message{min-height:18px;color:#7fe19d;font-size:12px}.preview-area{min-width:0}.preview-toolbar{height:38px;display:flex;justify-content:space-between;align-items:center;padding:0 10px;background:#111827;border:1px solid #28344f;border-bottom:0;border-radius:8px 8px 0 0;font-family:"Courier New",monospace;font-size:12px;color:#aebad3}.preview-frame{background:#020306;border:1px solid #28344f;border-radius:0 0 8px 8px;padding:10px;display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 156px)}.teletext-preview{--tp-bg:#000;--tp-bar:#1010ff;--tp-accent:#ffff00;--tp-team:#00ffff;--tp-score:#fff;--tp-period:#b9b9b9;--tp-goal:#ffff00;--tp-cancel:#ff0000;--tp-red:#ff0000;--tp-font:"Courier New";--tp-weight:900;--tp-event-font:31px;--tp-row-gap:0px;--tp-shell-pad:8px;--tp-header-height:58px;--tp-title-font:38px;--tp-clock-font:26px;--tp-footer-height:88px;--tp-footer-label-font:18px;--tp-footer-font:29px;width:100%;aspect-ratio:16/9;max-height:calc(100vh - 190px);background:var(--tp-bg);color:var(--tp-team);font-family:var(--tp-font),monospace;font-weight:var(--tp-weight);padding:var(--tp-shell-pad);overflow:hidden;display:grid;grid-template-rows:var(--tp-header-height) minmax(0,1fr) var(--tp-footer-height);gap:8px}.tp-header{background:var(--tp-bar);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 12px;color:var(--tp-accent)}.tp-header h2{margin:0;font-size:var(--tp-title-font);letter-spacing:.1em;white-space:nowrap}.tp-clock{font-size:var(--tp-clock-font);letter-spacing:.08em}.tp-live{justify-self:end;color:#fff;font-size:14px}.tp-live i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#00ff55;margin-right:5px}.tp-events{display:grid;grid-template-rows:repeat(10,minmax(0,1fr));gap:var(--tp-row-gap);min-height:0}.tp-row{display:flex;align-items:center;min-height:0;font-size:var(--tp-event-font);line-height:1;white-space:nowrap;overflow:hidden}.tp-cell{min-width:0;padding-right:10px;overflow:hidden;text-overflow:ellipsis}.tp-status,.tp-league{color:var(--tp-accent)}.tp-match{color:var(--tp-team);display:flex;justify-content:center;align-items:center;gap:.35em}.tp-match .home{margin-left:auto;text-align:right}.tp-match .away{margin-right:auto;text-align:left}.tp-match b{color:#fff}.tp-score{color:var(--tp-score);text-align:right;font-weight:700}.tp-score b{display:inline-block;width:1.1em;text-align:center}.tp-score .goal{color:var(--tp-goal)}.tp-score .cancel{color:var(--tp-cancel)}.tp-period{color:var(--tp-period);text-align:right;font-size:.78em}.card{display:inline-block;width:.45em;height:.68em;background:var(--tp-red);margin:0 .15em;border:1px solid #ff7777}.tp-footer{background:var(--tp-bar);height:var(--tp-footer-height);padding:7px 12px;display:grid;grid-template-rows:auto 1fr;color:#fff}.tp-footer-label{font-size:var(--tp-footer-label-font);color:var(--tp-accent);letter-spacing:.08em}.tp-footer-row{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;font-size:var(--tp-footer-font)}.tp-footer-match{justify-self:center;display:flex;gap:.45em}.tp-footer-match b,.tp-footer-score b{color:#fff}.tp-footer-score{justify-self:end}.tp-footer-score em{font-style:normal;color:var(--tp-goal)}
@media(max-width:980px){.workspace{grid-template-columns:1fr}.controls{height:auto;max-height:none}.preview-frame{min-height:auto}.teletext-preview{max-height:none}.preview-area{order:-1}}
