:root{--bg:#12151a;--panel:#1a1f27;--panel-2:#212836;--line:#2c3543;--text:#dfe6f0;--dim:#8b98ab;--accent:#5fb0d8;--ok:#4ec98a;--warn:#e0b050;--bad:#e0685f;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}.app{max-width:1800px;margin:0 auto;padding:16px 20px 64px}header.top{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:16px;padding-bottom:12px;display:flex}header.top h1{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:620}header.top .tag{color:var(--dim);font-size:13px}header.top .ver{color:var(--dim);font-size:12px;font-family:var(--mono);margin-left:auto}h2{margin:0 0 6px;font-size:16px;font-weight:600}h3{margin:0 0 6px;font-size:14px;font-weight:600}h4{color:var(--dim);margin:14px 0 6px;font-size:13px;font-weight:600}p{margin:6px 0}.dim{color:var(--dim)}.small{font-size:12px}.ok{color:var(--ok)}.bad{color:var(--bad)}.warn{color:var(--warn);font-size:12px}.error{color:var(--bad);background:#2a1717;border:1px solid #5a2a2a;border-radius:6px;padding:8px 12px}.note{color:#e8d6a8;background:#2a2416;border:1px solid #5a4a24;border-radius:6px;padding:8px 12px;font-size:13px}.grow{flex:1}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap;align-items:flex-end}.full{flex-basis:100%}button,.button,select,input{font:inherit;color:var(--text)}button,.button{background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:5px 12px;font-size:13px;text-decoration:none;display:inline-block}button:hover:not(:disabled),.button:hover{border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.small{padding:2px 8px;font-size:12px}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:#0d1117;padding:8px 16px;font-weight:600}button.danger{color:#f0a8a0;border-color:#5a2a2a}select,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]){border:1px solid var(--line);background:#0f1217;border-radius:5px;min-width:0;padding:4px 8px}input[type=number]{width:90px}label{color:var(--dim);flex-direction:column;gap:3px;font-size:12px;display:flex}label.check{color:var(--text);flex-direction:row;align-items:center;gap:6px;font-size:13px}label>input,label>select{color:var(--text);font-size:13px}.file-btn{background:var(--panel-2);border:1px solid var(--line);cursor:pointer;color:var(--text);border-radius:6px;flex-direction:row;align-items:center;padding:5px 12px;font-size:13px;display:inline-flex;position:relative;overflow:hidden}.file-btn.small{padding:2px 10px;font-size:12px}.file-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;margin-bottom:14px;padding:14px 16px}.cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=1000px){.cols{grid-template-columns:1fr}}.drop{border:2px dashed var(--line);cursor:pointer;min-height:260px;color:var(--text);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;font-size:14px;display:flex;position:relative}.drop.over{border-color:var(--accent);background:#16202a}.drop strong{font-size:18px}.drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.project-bar{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:12px;display:flex}.tabs{flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.tabs button{background:var(--panel);color:var(--dim);align-items:center;gap:6px;padding:7px 14px;font-weight:550;display:inline-flex}.tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:#0d1117}.tabs button.accent:not([aria-selected=true]){color:var(--accent)}.tab-pair{background:var(--panel);border:1px solid var(--line);border-radius:6px;align-items:center;padding-left:8px;display:inline-flex}.tab-pair.on{background:var(--accent);border-color:var(--accent)}.tab-pair button{border:0}.tree,.order{margin:8px 0;padding:0;list-style:none}.tree li{padding:2px 0}.order li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:4px 0;display:flex}.options .row.wrap{gap:14px}.preview-wrap{border-radius:6px;max-height:78vh;overflow:auto}.preview{height:auto;display:block}.problems{color:var(--bad);margin:8px 0;padding-left:20px;font-size:13px}.notes{color:var(--dim);margin-top:10px;font-size:12px}.notes ul{columns:2;margin:6px 0}.summary{border-collapse:collapse;margin:8px 0 14px}.summary th,.summary td{text-align:left;border-bottom:1px solid var(--line);padding:4px 14px 4px 0;font-size:13px}.result{margin-top:14px}.result .button{margin:6px 0 10px}footer{margin-top:30px}.pill{background:var(--panel-2);border:1px solid var(--line);color:var(--dim);border-radius:999px;padding:1px 10px;font-size:12px}.designer{outline:none;grid-template-columns:240px minmax(0,1fr) 280px;align-items:start;gap:14px;display:grid}.strip-list{flex-direction:column;gap:4px;display:flex}.strip-item{text-align:left;flex-direction:column;align-items:flex-start;gap:0;display:flex}.strip-item.active{border-color:var(--accent);background:#16202a}.canvas-wrap{-webkit-user-select:none;user-select:none;touch-action:none;margin:10px 0;position:relative;overflow:auto}.canvas-wrap svg{display:block}.hit{fill:#0000;stroke:#0000;cursor:move}.hit:hover{stroke:#5fb0d8;stroke-dasharray:3 3}.hit.sel{stroke:#5fb0d8;stroke-width:2px;fill:#5fb0d814}.handle{fill:#5fb0d8;cursor:nwse-resize}.strip-handle{fill:#e0b050}.palette{flex-wrap:wrap;gap:6px;display:flex}.inspector{flex-direction:column;gap:8px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.grid2 input{width:100%}@media (width<=1200px){.designer{grid-template-columns:1fr}}.fp-body{grid-template-columns:250px minmax(0,1fr) 240px;align-items:start;gap:14px;display:grid}.fp-list{flex-direction:column;gap:6px;max-height:80vh;display:flex;overflow:auto}.fp-group{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding-top:6px;display:flex}.target-row{text-align:left;background:0 0;border-color:#0000;justify-content:space-between;gap:8px;padding:2px 6px;display:flex}.target-row.indent{padding-left:18px}.target-row.on{color:var(--ok)}.fp-canvas .canvas-wrap{margin:0}@media (width<=1200px){.fp-body{grid-template-columns:1fr}}
