:root{--bg:#000;--panel:#0a0a0a;--panel-2:#151515;--fg:#fff;--fg-dim:#ffffff8c;--fg-faint:#ffffff52;--line:#ffffff29;--line-soft:#ffffff1a;--pink:#be185d;--green:#25cb06;--font:"DM Mono", ui-monospace, "SF Mono", Menlo, monospace;--radius:10px;--totalbar-h:84px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--bg);color:var(--fg);min-height:100dvh;font-weight:400}.app-root{padding-bottom:calc(var(--totalbar-h) + env(safe-area-inset-bottom) + 64px)}.app-root.is-board{padding-bottom:24px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--green);outline-offset:2px}.top{justify-content:space-between;align-items:center;gap:16px;max-width:860px;margin:0 auto;padding:18px 20px 14px;display:flex}.brand{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.brand-logo{filter:invert();width:auto;height:24px}.brand-sub{letter-spacing:.22em;text-transform:uppercase;color:var(--pink);font-size:.68rem;font-weight:500}.tabs{background:var(--panel-2);border-radius:999px;flex-shrink:0;padding:4px;display:flex}.tab{letter-spacing:.04em;color:var(--fg-dim);border-radius:999px;min-height:40px;padding:8px 18px;font-size:.85rem;font-weight:500}.tab.is-active{background:var(--fg);color:#000}.wrap{max-width:860px;margin:0 auto;padding:4px 16px 0}#view-score{max-width:640px;margin:0 auto}.scorecard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 20px 24px}.proj-nav{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.nav-btn{background:var(--panel-2);border-radius:999px;place-items:center;width:48px;height:48px;transition:background .15s;display:grid}.nav-btn:hover{background:#222}.nav-btn:disabled{opacity:.35;cursor:default}.nav-btn:disabled:hover{background:var(--panel-2)}.add-btn{color:var(--green)}.add-btn:hover{background:#25cb0624}.proj-id{text-align:center;line-height:1}.proj-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:6px;font-size:.68rem;font-weight:500;display:block}.proj-num{font-size:2.2rem;font-weight:500}.proj-of{color:var(--fg-dim);margin-left:6px;font-size:1rem;font-weight:400}.proj-name{border:none;border-bottom:1px solid var(--line);text-align:center;background:0 0;width:100%;margin:14px 0 6px;padding:10px 2px;font-size:1.05rem;font-weight:500;display:block}.proj-name::placeholder{color:var(--fg-faint);font-weight:400}.proj-name:focus{border-bottom-color:var(--pink);outline:none}.crit{border-top:1px solid var(--line-soft);margin-top:20px;padding-top:18px}.crit-head{align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.crit-headings{min-width:0}.crit-key{color:var(--pink);flex-shrink:0;font-size:1.3rem;font-weight:500;line-height:1}.crit-weight{color:var(--fg-dim);letter-spacing:.02em;border:1px solid var(--line);border-radius:999px;flex-shrink:0;margin-left:auto;padding:3px 8px;font-size:.72rem;font-weight:500}.crit-title{letter-spacing:.08em;text-transform:uppercase;font-size:.95rem;font-weight:500}.crit-sub{color:var(--fg-dim);margin-top:3px;font-size:.78rem}.paddles{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.paddle{border:1px solid var(--line);min-height:58px;color:var(--fg);background:0 0;border-radius:8px;place-items:center;font-size:1.25rem;font-weight:500;transition:transform .16s,background .16s,border-color .16s,box-shadow .16s;display:grid;position:relative}.paddle:hover{border-color:var(--fg)}.paddle[aria-checked=true]{background:var(--pink);border-color:var(--pink);color:var(--fg);transform:translateY(-6px)rotate(-2deg);box-shadow:0 8px 18px #be185d73}.crit-hint{border-left:2px solid var(--line);background:var(--panel-2);height:88px;color:var(--fg-dim);border-radius:0 8px 8px 0;align-items:center;margin-top:12px;padding:10px 12px;font-size:.8rem;line-height:1.5;display:flex}.crit-hint.is-live{color:var(--fg);border-left-color:var(--pink)}.notes{border-top:1px solid var(--line-soft);margin-top:20px;padding-top:18px;display:block}.notes-label{letter-spacing:.22em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:8px;font-size:.68rem;font-weight:500;display:block}.notes textarea{border:1px solid var(--line);resize:vertical;background:0 0;border-radius:8px;width:100%;min-height:84px;padding:10px 12px;font-size:.9rem;line-height:1.55}.notes textarea:focus{border-color:var(--pink);outline:none}.notes textarea::placeholder{color:var(--fg-faint)}.rubric-note{text-align:center;max-width:480px;color:var(--fg-dim);margin:20px auto 0;font-size:.75rem;line-height:1.6}.card-actions{border-top:1px solid var(--line-soft);justify-content:flex-end;gap:10px;margin-top:20px;padding-top:18px;display:flex}.reset-btn{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:.72rem;font-weight:500;transition:color .15s,border-color .15s}.reset-btn:hover{color:var(--pink);border-color:var(--pink)}.reset-btn.danger:hover{color:#ff5a5a;border-color:#ff5a5a}.totalbar{background:var(--bg);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:10;position:fixed;bottom:0;left:0;right:0}.totalbar-inner{max-width:640px;height:var(--totalbar-h);justify-content:space-between;align-items:center;margin:0 auto;padding:0 20px;display:flex}.tb-proj{flex:1;align-items:center;gap:12px;min-width:0;margin-right:16px;display:flex}.tb-num{color:var(--pink);flex-shrink:0;font-size:1.6rem;font-weight:500}.tb-name{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:500;overflow:hidden}.tb-name.is-unnamed{color:var(--fg-faint);font-weight:400}.total-paddle{background:var(--fg);text-align:center;border-radius:10px 10px 14px 14px;width:118px;margin-top:-34px;padding:12px 14px 20px;line-height:1;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .25s;position:relative;transform:rotate(2deg);box-shadow:0 0 24px #ffffff1f}.total-paddle .tp-label{letter-spacing:.24em;text-transform:uppercase;color:#0000008c;margin-bottom:5px;font-size:.58rem;font-weight:500;display:block}.total-paddle .tp-num{color:#000;font-size:2.1rem;font-weight:500}.total-paddle .tp-max{color:#0000008c;margin-left:3px;font-size:.72rem;font-weight:500}.total-paddle .tp-hole{background:var(--bg);border-radius:50%;width:9px;height:9px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.total-paddle.is-raised{background:var(--green);transform:rotate(-3deg)translateY(-10px);box-shadow:0 0 28px #25cb0659}#view-board{padding-bottom:8px}.board-head{justify-content:space-between;align-items:center;gap:12px;padding:8px 4px 12px;display:flex}.board-head-right{align-items:center;gap:16px;display:flex}.board-title{letter-spacing:.08em;text-transform:uppercase;color:var(--fg);font-size:1.05rem;font-weight:500}.board-progress{letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-size:.75rem;font-weight:500}.board-scroll{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.board{border-collapse:collapse;width:100%;font-size:.85rem}.board th{text-align:left;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-dim);border-bottom:1px solid var(--line);white-space:nowrap;padding:14px 10px 10px;font-size:.62rem;font-weight:500}.board td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:12px 10px}.board tbody tr{cursor:pointer}.board tbody tr:hover td{background:var(--panel-2)}.board tbody tr:last-child td{border-bottom:none}.board .col-num,.board td.cell-num{width:44px;padding-left:16px}.cell-num{color:var(--fg-dim);font-weight:500}.cell-name{min-width:140px;font-weight:500}.cell-name .unnamed{color:var(--fg-faint);font-weight:400}.board .col-score,.board td.cell-score{text-align:center;width:44px}.cell-score span{background:var(--panel-2);border-radius:6px;place-items:center;width:30px;height:30px;font-size:.82rem;font-weight:500;display:inline-grid}.cell-score .empty{color:var(--fg-faint);background:0 0}.board .col-total,.board td.cell-total{text-align:center;width:64px}.cell-total{font-size:1.05rem;font-weight:500}.cell-total .empty{color:var(--fg-faint)}.cell-notes{color:var(--fg-dim);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:.78rem;overflow:hidden}tr.is-leader td{background:#25cb0614}tr.is-leader td:first-child{box-shadow:inset 2px 0 0 var(--green)}tr.is-leader .cell-total{color:var(--green)}tr.is-leader .lead-tag{background:var(--green);color:#000;letter-spacing:.12em;text-transform:uppercase;vertical-align:middle;border-radius:4px;margin-left:8px;padding:2px 7px;font-size:.58rem;font-weight:500;display:inline-block}.board-hint{color:var(--fg-dim);margin:14px 4px 0;font-size:.75rem}.undo-toast{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:20;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:10px 8px 10px 16px;font-size:.85rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 34px #000000a6}.undo-toast.above-bar{bottom:calc(var(--totalbar-h) + env(safe-area-inset-bottom) + 16px)}.undo-msg{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.undo-btn{color:var(--pink);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;padding:6px 8px;font-size:.78rem;font-weight:500}.undo-x{color:var(--fg-dim);flex-shrink:0;padding:2px 8px;font-size:1.15rem;line-height:1}.undo-x:hover{color:var(--fg)}.toast-enter-active,.toast-leave-active{transition:opacity .2s,transform .2s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,12px)}@media (width<=560px){.top{padding:14px 16px 10px}.brand-logo{max-width:100%;height:16px}.scorecard{padding:16px 14px 20px}.paddle{min-height:52px;font-size:1.1rem}.proj-num{font-size:1.9rem}.board .col-notes,.board td.cell-notes,.board .col-score,.board td.cell-score{display:none}.board th,.board td{padding:11px 5px}.board .col-num,.board td.cell-num{width:36px;padding-left:12px}.cell-name{min-width:0}.board .col-total,.board td.cell-total{width:64px;padding-right:14px}.totalbar-inner{padding:0 16px}}@media (width>=561px){.crit-hint{height:64px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.paddle[aria-checked=true]{transform:none}.total-paddle,.total-paddle.is-raised{margin-top:-26px;transform:none}}
