:root{--canvas:#1b1e26;--canvas-2:#232733;--line:#343a48;--paper:#fcfbf9;--ink:#20222a;--ink-soft:#5a5e6b;--on-canvas:#e9e7e2;--muted:#9a9da7;--brass:#c9942f;--brass-hi:#e0a94a;--danger:#c4564a;--radius:12px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--canvas);background-image:radial-gradient(circle at 50% -10%, #262b39 0%, var(--canvas) 55%);color:var(--on-canvas);-webkit-font-smoothing:antialiased;min-height:100vh;padding:48px 20px 80px;font-family:Inter,system-ui,sans-serif}.wrap{max-width:660px;margin:0 auto}header{margin-bottom:32px}.brand{letter-spacing:.22em;text-transform:uppercase;color:var(--brass);align-items:center;gap:10px;margin-bottom:14px;font-family:IBM Plex Mono,monospace;font-size:12px;display:flex}.brand:before{content:"";background:var(--brass);width:22px;height:2px}h1{letter-spacing:-.02em;color:var(--on-canvas);font-family:Fraunces,serif;font-size:clamp(34px,7vw,52px);font-weight:900;line-height:.98}h1 em{color:var(--brass-hi);font-style:italic}.sub{color:var(--muted);max-width:46ch;margin-top:14px;font-size:15px}.drop{border:1.5px dashed var(--line);border-radius:var(--radius);background:var(--canvas-2);text-align:center;cursor:pointer;margin-top:28px;padding:40px 24px;transition:border-color .18s,background .18s,transform .18s}.drop:hover{border-color:#4a5163}.drop.over{border-color:var(--brass);background:#2a2114;transform:scale(1.005)}.drop:focus-visible{outline:2px solid var(--brass-hi);outline-offset:3px}.drop .ring{border:2px solid var(--brass);width:46px;height:46px;color:var(--brass-hi);border-radius:50%;place-items:center;margin:0 auto 16px;font-size:22px;font-weight:600;display:grid}.drop strong{color:var(--on-canvas);font-size:16px;font-weight:600}.drop span{color:var(--muted);margin-top:6px;font-size:13px;display:block}.list{flex-direction:column;gap:10px;margin-top:26px;list-style:none;display:flex}.sheet{background:var(--paper);color:var(--ink);border-radius:var(--radius);align-items:center;gap:12px;padding:14px 14px 14px 8px;display:flex;position:relative;box-shadow:0 1px #0006,0 10px 24px -16px #000000b3}.sheet.dragging{opacity:.35}.sheet.ghost{outline:2px dashed var(--brass)}.handle{cursor:grab;color:var(--ink-soft);-webkit-user-select:none;user-select:none;touch-action:none;padding:4px 6px;font-size:18px;line-height:1}.handle:active{cursor:grabbing}.num{color:var(--paper);background:var(--ink);border-radius:7px;flex-shrink:0;place-items:center;min-width:30px;height:30px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;display:grid}.meta{flex:1;min-width:0}.meta .name{white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;overflow:hidden}.meta .stats{color:var(--ink-soft);margin-top:3px;font-family:IBM Plex Mono,monospace;font-size:12px}.meta .stats.err{color:var(--danger)}.moves{flex-direction:column;gap:2px;display:flex}.icon-btn{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;border-radius:6px;place-items:center;width:26px;height:22px;font-size:12px;line-height:1;transition:background .12s,color .12s;display:grid}.icon-btn:hover:not(:disabled){color:var(--ink);background:#ece9e2}.icon-btn:disabled{opacity:.25;cursor:default}.icon-btn:focus-visible{outline:2px solid var(--brass);outline-offset:1px}.remove{color:var(--ink-soft);width:30px;height:30px;font-size:17px}.remove:hover{color:var(--danger);background:#f6e2df}.bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:26px;display:flex}.total{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:13px}.total b{color:var(--on-canvas);font-weight:500}.actions{gap:10px;display:flex}.btn{cursor:pointer;border:none;border-radius:10px;padding:13px 22px;font-family:Inter,sans-serif;font-size:15px;font-weight:600;transition:transform .12s,background .15s,box-shadow .15s}.btn:focus-visible{outline:2px solid var(--brass-hi);outline-offset:2px}.btn-primary{background:var(--brass);color:#1c1505;box-shadow:0 8px 20px -10px var(--brass)}.btn-primary:hover:not(:disabled){background:var(--brass-hi);transform:translateY(-1px)}.btn-primary:disabled{color:#8c8675;cursor:default;box-shadow:none;background:#4a4636}.btn-ghost{color:var(--muted);border:1px solid var(--line);background:0 0}.btn-ghost:hover{color:var(--on-canvas);border-color:#4a5163}.status{min-height:20px;color:var(--muted);margin-top:16px;font-family:IBM Plex Mono,monospace;font-size:13.5px}.status.ok{color:var(--brass-hi)}.status.bad{color:var(--danger)}.privacy{border-top:1px solid var(--line);color:var(--muted);margin-top:40px;padding-top:22px;font-size:12.5px;line-height:1.6}.privacy b{color:var(--on-canvas);font-weight:500}.github-link{color:var(--muted);z-index:100;transition:color .2s,transform .2s;position:fixed;bottom:24px;right:24px}.github-link:hover{color:var(--on-canvas);transform:scale(1.1)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (width<=480px){.bar{flex-direction:column-reverse;align-items:stretch}.actions{justify-content:stretch}.btn{flex:1}}
