@font-face{font-family:RUSSSegoe;src:url("../../../shared/assets/fonts/SegUIVar.ttf")}@font-face{font-family:RUSSRajdhani;src:url("../../../shared/assets/fonts/rajdhani.semibold.ttf")}
:root{color-scheme:light;--ink:#262724;--muted:#6f716b;--paper:#f3f0e8;--panel:#fffdf8;--line:#d2cab9;--green:#334b3c;--green2:#496451;--orange:#8a4e22;--warn:#9b321f;--shadow:0 10px 30px #362c1d1a}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#eae4d7,#f7f4ed 55%,#e3ded2);color:var(--ink);font-family:RUSSSegoe,Segoe UI,sans-serif;min-height:100vh}
button,input,select{font:inherit}.app-header{display:flex;align-items:center;justify-content:space-between;padding:20px clamp(18px,4vw,54px);background:#242b27;color:#fff;border-bottom:4px solid var(--orange)}h1,h2,h3,p{margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:#c7bdaa;font-size:.72rem}.app-header h1{font:1.8rem RUSSRajdhani,sans-serif;text-transform:uppercase;letter-spacing:.03em}.mod-picker{display:grid;gap:4px;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.mod-picker select{min-width:160px}
.workspace{display:grid;grid-template-columns:minmax(460px,1fr) minmax(620px,1.15fr);gap:18px;padding:18px;max-width:1680px;margin:auto}.editor,.preview-column{display:grid;gap:18px;align-content:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:14px}.panel-title{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:11px}.panel h2{font:1.15rem RUSSRajdhani,sans-serif;text-transform:uppercase}.panel h3{font-size:.82rem;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.form-grid{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:10px}label{display:grid;gap:4px;font-size:.75rem;font-weight:700;color:#4d4f49;text-transform:uppercase;letter-spacing:.04em}input,select{width:100%;border:1px solid #bdb6a8;background:white;border-radius:4px;padding:7px 8px;color:var(--ink)}input:focus,select:focus,button:focus-visible{outline:2px solid #688477;outline-offset:2px}
.rule-columns,.selected-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.rule-columns.single-column,.selected-columns.single-column{grid-template-columns:1fr}.rule-panel{min-height:370px}.search{margin-bottom:9px}.available-rules{height:290px;overflow:auto;border:1px solid var(--line);border-radius:4px;background:#fff}.rule-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;padding:8px;border-bottom:1px solid #e5dfd2;align-items:start}.rule-row:last-child{border:0}.rule-row input{width:auto;margin-top:3px}.rule-name{font-weight:750;font-size:.84rem}.rule-meta{font-size:.7rem;color:var(--muted);margin-top:2px}.rule-cost{font-weight:800;color:var(--orange);white-space:nowrap}.pool-select{font-size:.68rem;padding:3px;margin-top:5px;width:auto}.count,.hint{font-size:.72rem;color:var(--muted)}
.free-text{display:block;margin-top:10px;font-size:.78rem}.free-text textarea{width:100%;margin-top:4px;resize:vertical}
.selected-list{min-height:45px;border:1px dashed #c8c0b2;border-radius:4px;padding:5px}.selected-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px;padding:6px;background:#f5f1e8;margin-bottom:4px;border-radius:3px;font-size:.78rem}.selected-item:last-child{margin-bottom:0}.order-buttons{display:flex;gap:3px}.icon-button{border:1px solid #bcb4a5;background:white;border-radius:3px;padding:2px 6px;cursor:pointer}.empty{padding:8px;color:#8a8b85;font-style:italic;font-size:.75rem}
.points-panel{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.point-summary span{font-size:.7rem;color:var(--muted)}.preview-panel{overflow:hidden}.canvas-wrap{width:100%;background:#d4d0c7;border:1px solid #aaa397;padding:8px;overflow:auto}.canvas-wrap canvas{display:block;width:100%;height:auto;max-width:600px;margin:auto;background:white;box-shadow:0 3px 12px #0003}.badge{font-size:.68rem;text-transform:uppercase;padding:4px 7px;border-radius:99px;background:#dbe7de;color:#2b4a36}.messages{min-height:24px;padding-top:8px;font-size:.78rem;color:var(--warn)}.messages .ok{color:var(--green)}
.preview-title{align-items:flex-end}.preview-options{display:flex;align-items:flex-end;gap:8px}.preview-options label{min-width:92px}.preview-options select{padding:4px 6px;font-size:.72rem}.preview-options .badge{margin-bottom:2px;white-space:nowrap}
.file-actions{display:flex;gap:8px;justify-content:flex-end}.button{border:1px solid #26392e;background:var(--green);color:white;border-radius:4px;padding:8px 12px;cursor:pointer;font-weight:700}.button:hover{background:var(--green2)}.button.secondary{background:#f4f0e7;color:#393b36;border-color:#aaa293}.button.secondary:hover{background:#e8e1d3}
@media(max-width:1150px){.workspace{grid-template-columns:1fr}.preview-column{grid-row:1}.form-grid{grid-template-columns:1fr 1fr}.form-grid label:first-child{grid-column:1/-1}}@media(max-width:650px){.rule-columns,.selected-columns,.form-grid,.points-panel{grid-template-columns:1fr}.app-header{align-items:flex-start;gap:12px}.workspace{padding:10px}.file-actions{flex-wrap:wrap}}
