:root{--bg:#eadbc2;--surface:#f7eedc;--ink:#3b2410;--muted:#6f5135;--rim:#e0b230;--rim-dark:#a97f12;--floor:#9a6524;--line:#d8c3a0;--danger:#b3361f;--ok:#3f7d2a;--fuzzy:#8a6200;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1e150c;--surface:#2a1e12;--ink:#f3e6cf;--muted:#c4ab88;--rim:#d9a925;--rim-dark:#8a6810;--floor:#5c3b15;--line:#4a3722;--danger:#ff8a6e;--ok:#8fd16f;--fuzzy:#f0c64a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#1e150c;--surface:#2a1e12;--ink:#f3e6cf;--muted:#c4ab88;--rim:#d9a925;--rim-dark:#8a6810;--floor:#5c3b15;--line:#4a3722;--danger:#ff8a6e;--ok:#8fd16f;--fuzzy:#f0c64a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:after,:before{box-sizing:inherit}html{scroll-padding-top:env(safe-area-inset-top,0)}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.5 Rubik,system-ui,-apple-system,Segoe UI,sans-serif}.app{grid-template-columns:1fr minmax(260px,300px);align-items:start;gap:18px;max-width:1600px;margin:0 auto;padding:18px;display:grid}h1{margin:0 0 12px;font:700 1.5rem/1.15 Pixelify Sans,Rubik,system-ui,sans-serif}.drop{border:3px dashed var(--rim-dark);background:var(--surface);text-align:center;border-radius:14px;padding:56px 24px}.drop.compact{text-align:left;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.drop.dragging{border-style:solid;border-color:var(--rim);background:var(--bg)}.drop p{margin:0 0 14px;font-size:1.05rem}.drop.compact p{margin:0;font-size:.95rem}kbd{border:1px solid var(--line);background:var(--bg);border-bottom-width:3px;border-radius:5px;padding:2px 6px;font:600 .85em/1 Rubik,system-ui,sans-serif}.hint{color:var(--muted);margin:10px 0 0;font-size:.88rem}.drop.compact .hint{display:none}button{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;border-radius:8px;padding:7px 12px;font-size:.9rem}button:hover{border-color:var(--rim)}.primary{background:var(--rim);border-color:var(--rim-dark);color:#2b1a05;font-weight:700}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--rim);outline-offset:2px}.stage{background:var(--floor);border:8px solid var(--rim);box-shadow:inset 0 0 0 2px var(--rim-dark);border-radius:14px;margin-top:14px;padding:8px}.stage canvas{border-radius:6px;width:100%;height:auto;display:block}.stage canvas.pickable{cursor:crosshair}.legend{color:#f7eedc;margin:8px 4px 2px;font-size:.85rem}aside{top:calc(12px + env(safe-area-inset-top,0px));position:sticky}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:12px;padding:12px}.status{color:var(--muted);min-height:1.3em;margin:0 0 8px;font-size:.88rem}.status.warn{color:var(--danger)}.results{gap:2px;margin:0;padding:0;list-style:none;display:grid}.result{text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:14px 1fr auto;align-items:center;gap:10px;width:100%;padding:6px 8px;display:grid}.result:hover{background:var(--bg)}.result[aria-pressed=true]{border-color:var(--rim);background:var(--bg)}.swatch{border-radius:50%;width:14px;height:14px}.result.missing .swatch{opacity:.3}.badge{font-size:.8rem;font-weight:700}.badge.ok{color:var(--ok)}.badge.fuzzy{color:var(--fuzzy)}.badge.miss{color:var(--danger)}.toggle{cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.toggle input{width:18px;height:18px;accent-color:var(--rim-dark)}.small{color:var(--muted);margin:6px 0 0;font-size:.82rem}.fix{grid-template-columns:auto 1fr;align-items:center;gap:10px;margin-top:10px;display:grid}.fix canvas{image-rendering:pixelated;background:var(--floor);border-radius:6px;width:56px;height:auto}.fix form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fix input{text-align:center;text-transform:uppercase;border:1px solid var(--line);background:var(--bg);width:3.2em;color:var(--ink);border-radius:7px;padding:6px;font:700 1.1rem/1 Rubik,system-ui,sans-serif}.fix p{margin:0 0 6px;font-size:.88rem}[hidden]{display:none!important}details summary{cursor:pointer;font-weight:500}textarea{resize:vertical;border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);border-radius:8px;margin-top:8px;padding:8px;font:14px/1.45 Rubik,system-ui,sans-serif}@media (width<=900px){.app{grid-template-columns:1fr;padding:12px}aside{position:static}}
