:root{--bg:#f6f7fb;--panel:#fff;--ink:#0f172a;--mute:#64748b;--line:#e2e8f0;--brand:#2563eb;--brand-soft:#dbeafe;--good:#059669;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg:#0b1020;--panel:#131a2e;--ink:#e6eaf5;--mute:#94a3b8;--line:#243049;--brand:#6ea0ff;--brand-soft:#1c2a52;--good:#34d399}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,system-ui,-apple-system,Segoe UI,sans-serif}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.app{min-height:100vh;display:flex;flex-direction:column}.grow{flex:1}.top{display:flex;align-items:center;gap:12px;padding:12px 24px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-size:17px;letter-spacing:-.01em}.logo{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--brand);color:#fff;font-size:12px;font-weight:700}.conf{text-align:right;line-height:1.1}.conf small{display:block;color:var(--mute);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.conf strong{font-size:26px;font-variant-numeric:tabular-nums}.conf.good strong{color:var(--good)}.body{flex:1;display:grid;grid-template-columns:340px 1fr;align-items:start}.side{padding:20px;display:flex;flex-direction:column;gap:14px;position:sticky;top:67px;max-height:calc(100vh - 67px);overflow:auto}.side ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.idea{text-align:left;background:var(--brand-soft);border:0;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column}.idea small{color:var(--mute);text-transform:uppercase;font-size:11px;letter-spacing:.06em}.idea span{color:var(--mute);font-size:13px}.card{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;transition:border-color .15s,transform .15s}.card:hover:not(:disabled){border-color:var(--brand);transform:translateY(-1px)}.card.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.card:disabled{opacity:.55;cursor:not-allowed}.card small{color:var(--mute);font-variant-numeric:tabular-nums}.num{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:700;font-size:13px}.bar{display:block;height:5px;border-radius:3px;background:var(--line);margin-top:6px;overflow:hidden}.bar u{display:block;height:100%;background:var(--brand);transition:width .3s}.foot{display:flex;gap:8px}main{padding:28px 32px 64px;max-width:1100px}h1{margin:0;font-size:28px;letter-spacing:-.02em}h2{font-size:15px;margin:22px 0 10px;display:flex;align-items:baseline;gap:8px}h2 small{color:var(--mute);font-weight:400}.obj{margin:6px 0 0;color:var(--mute);max-width:60ch}.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px}.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.checks label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;cursor:pointer}.checks input{margin-top:4px;width:16px;height:16px;accent-color:var(--brand)}.hint{color:var(--mute);font-size:13px}.tpls{display:flex;flex-wrap:wrap;gap:8px}textarea{width:100%;min-height:340px;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;resize:vertical;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.count{text-align:right;color:var(--mute);font-size:12px;margin-top:4px}.ghost{background:transparent;border:1px solid var(--line);border-radius:8px;padding:6px 12px;color:var(--ink)}.ghost:hover{border-color:var(--brand)}.primary{background:var(--brand);color:#fff;border:0;border-radius:10px;padding:10px 16px;font-weight:600}.menu{display:none}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0008;display:grid;place-items:center;padding:16px;z-index:10}.modal form{background:var(--panel);border-radius:16px;padding:24px;width:min(440px,100%);display:flex;flex-direction:column;gap:12px}.modal h2{margin:0}.modal label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--mute)}.modal input{padding:9px 12px;background:var(--bg);border:1px solid var(--line);border-radius:8px}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,20px);background:var(--ink);color:var(--bg);padding:8px 16px;border-radius:999px;font-size:13px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%)}@media(max-width:860px){.body{grid-template-columns:1fr}.menu{display:block}.side{display:none;position:static;max-height:none}.side.open{display:flex}.grid{grid-template-columns:1fr}main{padding:20px 16px 64px}.top{padding:10px 16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
