@font-face{font-family:RUSSRajdhani;src:url("../../../shared/assets/fonts/rajdhani.semibold.ttf") format("truetype");font-display:block}
:root{color-scheme:dark;--bg:#151718;--panel:#232628;--line:#3b4042;--ink:#f3f1eb;--muted:#aeb4b5;--accent:#c86d30;--danger:#ffb4aa}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,sans-serif}.app-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 2rem;border-bottom:1px solid var(--line);background:#1c1f20}.eyebrow{font-size:.7rem;letter-spacing:.18em;color:var(--accent)}h1{font:600 1.6rem RUSSRajdhani;margin:.1rem 0}h2{font:600 1.05rem RUSSRajdhani;letter-spacing:.04em;margin:0 0 .75rem}.status{color:var(--muted);font-size:.85rem}.status.ready{color:#9bd59b}.status.error,.messages.error{color:var(--danger)}
.workspace{display:grid;grid-template-columns:minmax(300px,440px) minmax(620px,1fr);gap:1rem;padding:1rem;max-width:1300px;margin:auto}.editor,.output{display:flex;flex-direction:column;gap:1rem}.editor section,.points,.actions{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:1rem}.grid-2,.grid-3{display:grid;gap:.75rem}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.field:last-child{margin-bottom:0}label{font-size:.78rem;color:var(--muted)}input,select,button,.button{font:inherit;color:var(--ink);background:#17191a;border:1px solid #4b5153;border-radius:5px;padding:.55rem .65rem}input:focus,select:focus,button:focus,.button:focus{outline:2px solid var(--accent);outline-offset:1px}.stat-row{display:grid;grid-template-columns:90px repeat(3,1fr);gap:.45rem;align-items:center;margin:.45rem 0}.stat-row>span{font:600 .9rem RUSSRajdhani}.preview-shell{width:100%;padding:1rem;background:#0d0f10;border:1px solid var(--line);border-radius:8px}canvas{display:block;width:100%;height:auto;aspect-ratio:12/7;background:transparent}.messages{min-height:1.25rem;font-size:.85rem;color:var(--muted)}.points{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.points h2{display:flex;justify-content:space-between}.points output{color:var(--accent);font-size:1.5rem}dl{display:grid;grid-template-columns:1fr auto;gap:.2rem .75rem;margin:0;font-size:.82rem;color:var(--muted)}dt,dd{margin:0}.actions{display:flex;flex-wrap:wrap;gap:.6rem}button,.button{cursor:pointer;text-align:center}.button{display:inline-block}button:disabled{opacity:.45;cursor:not-allowed}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}small{color:var(--muted)}@media(max-width:1000px){.workspace{grid-template-columns:1fr}.output{order:-1}}@media(max-width:560px){.grid-2,.grid-3,.points{grid-template-columns:1fr}.stat-row{grid-template-columns:75px repeat(3,minmax(0,1fr))}.app-header{align-items:flex-start;flex-direction:column}}
.point-overrides{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:1rem}.point-overrides small{display:block}.editor .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-3 .field{min-width:0}.grid-3 input{box-sizing:content-box;width:3ch;min-width:3ch;max-width:3ch;padding-left:.25rem;padding-right:.15rem}
