.element-tile{--tile-bg:var(--warm-white,var(--surface));--tile-ink:var(--ink);--tile-line:var(--ink);--tile-edge:solid;--tile-strike:transparent;border:1px var(--tile-edge) var(--tile-line);background:var(--tile-bg);width:68px;height:66px;color:var(--tile-ink);flex-shrink:0;grid-template-rows:auto 1fr auto;justify-items:center;padding:6px 6px 7px;line-height:1;transition:background .18s,color .18s,border-color .18s;display:grid;position:relative}.element-tile small:first-child{font-variant-numeric:tabular-nums;justify-self:start;font-size:10px;font-weight:600}.element-tile b{letter-spacing:-.02em;align-self:center;font-size:26px}.element-tile small:last-child{letter-spacing:.01em;white-space:nowrap;font-size:11px;font-weight:500}.element-tile[data-size=sm]{grid-template-rows:1fr;width:28px;height:28px;padding:0}.element-tile[data-size=sm] b{letter-spacing:0;font-size:12px}.element-tile[data-state=picked]{--tile-bg:var(--accent);--tile-ink:var(--on-accent);--tile-line:var(--accent)}.element-tile[data-state=right]{--tile-bg:var(--success);--tile-ink:var(--on-accent);--tile-line:var(--success)}.element-tile[data-state=wrong]{--tile-bg:var(--surface);--tile-ink:var(--error);--tile-line:var(--error);--tile-strike:currentColor}.element-tile[data-state=wrong] b{-webkit-text-decoration:line-through var(--tile-strike);text-decoration:line-through var(--tile-strike);text-decoration-thickness:1.5px}.element-tile[data-state=missed]{--tile-bg:var(--surface);--tile-ink:var(--success);--tile-line:var(--success);--tile-edge:dashed}.element-tile[data-state=dim]{--tile-bg:var(--surface-soft);--tile-ink:var(--ink-secondary);--tile-line:var(--border)}.element-tile[data-size=md][data-state=right]:after,.element-tile[data-size=md][data-state=wrong]:after,.element-tile[data-size=md][data-state=missed]:after{font-size:13px;font-weight:700;position:absolute;top:5px;right:7px}.element-tile[data-state=right]:after{content:"✓"}.element-tile[data-state=wrong]:after{content:"×"}.element-tile[data-state=missed]:after{content:"○"}.assay{border:0;min-width:0;margin:0;padding:0}.assay .assay-legend{color:var(--ink);margin:0 0 14px;padding:0;font-size:18px;line-height:1.35}.assay-tiles{perspective:600px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.assay-tile{min-width:0;color:inherit;--was-bg:var(--warm-white,var(--surface));--was-ink:var(--ink);--was-line:var(--ink);background:0 0;border:0;padding:0;display:block}.assay-tile[data-was=picked]{--was-bg:var(--accent);--was-ink:var(--on-accent);--was-line:var(--accent)}.assay-tile .element-tile{width:100%;height:92px}button.assay-tile{cursor:pointer}button.assay-tile:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button.assay-tile:hover .element-tile[data-state=idle]{--tile-bg:var(--accent-soft);--tile-line:var(--accent)}button.assay-tile:active .element-tile{transform:scale(.97)}button.assay-tile[aria-disabled=true]{cursor:default}button.assay-tile[aria-disabled=true] .element-tile{--tile-bg:var(--surface-soft);--tile-ink:var(--ink-secondary);--tile-line:var(--border);transform:none}.assay-foot{justify-content:space-between;align-items:center;gap:16px;margin-top:14px;display:flex}.assay .assay-count{color:var(--ink-secondary);font-variant-numeric:tabular-nums;margin:0;font-size:14px}.assay .assay-run{border:0;margin:0}.assay .assay-run:disabled{background:var(--surface-soft);color:var(--ink-secondary)}.assay .assay-key{color:var(--ink-secondary);flex-wrap:wrap;gap:4px 16px;margin:10px 0 0;font-size:12px;line-height:1.4;display:flex}.assay-key span:before{width:1.2em;font-weight:700;display:inline-block}.assay-key [data-key=right]:before{content:"✓";color:var(--success)}.assay-key [data-key=missed]:before{content:"○";color:var(--success)}.assay-key [data-key=wrong]:before{content:"×";color:var(--error)}.assay[data-settling] .element-tile{animation:assay-settle .32s linear calc(var(--i) * 45ms) backwards}.assay[data-settling] .element-tile b{animation:assay-strike .32s linear calc(var(--i) * 45ms) backwards}.assay[data-settling] .element-tile:after{animation:assay-mark .32s linear calc(var(--i) * 45ms) backwards}@keyframes assay-settle{0%{background:var(--was-bg);color:var(--was-ink);border-color:var(--was-line);border-style:solid;transform:rotateX(0)}49.9%{background:var(--was-bg);color:var(--was-ink);border-color:var(--was-line);border-style:solid;transform:rotateX(88deg)}50%{background:var(--tile-bg);color:var(--tile-ink);border-color:var(--tile-line);border-style:var(--tile-edge);transform:rotateX(88deg)}to{background:var(--tile-bg);color:var(--tile-ink);border-color:var(--tile-line);border-style:var(--tile-edge);transform:rotateX(0)}}@keyframes assay-strike{0%,49.9%{text-decoration-color:#0000}50%,to{-webkit-text-decoration-color:var(--tile-strike);text-decoration-color:var(--tile-strike)}}@keyframes assay-mark{0%,49.9%{opacity:0}50%,to{opacity:1}}.ledger{gap:14px;display:grid}.ledger .ledger-amount{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-secondary);margin:0 0 6px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px;line-height:1.4}.ledger ul{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 22px;margin:0;padding:0;list-style:none;display:grid}.ledger li{color:var(--ink-secondary);grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;font-size:14px;line-height:1.4;display:grid}.ledger li>span:last-child{padding-top:4px}.ledger li strong{color:var(--ink);margin-right:2px;font-weight:600}.ledger [data-amount=trace] .element-tile{--tile-line:var(--border-strong)}.ledger summary.ledger-amount{cursor:pointer;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:44px;margin:0;display:flex}.ledger summary.ledger-amount:before{content:"+";width:1em;font-size:14px}.ledger details[open] summary.ledger-amount:before{content:"−"}.ledger summary.ledger-amount::-webkit-details-marker{display:none}.ledger summary.ledger-amount span{color:var(--ink);letter-spacing:.04em}.ledger summary.ledger-amount:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.material-strip{gap:6px;min-width:0;display:grid}.material-strip .material-strip-count{color:var(--ink-secondary);margin:0;font-size:11px;line-height:1.4}.material-strip ul{flex-wrap:wrap;gap:3px;margin:0;padding:0;list-style:none;display:flex}.material-strip .element-tile{width:24px;height:24px}.material-strip .element-tile b{font-size:10.5px}.material-strip [data-fresh] .element-tile{animation:strip-light .8s cubic-bezier(.3, .7, .3, 1) calc(var(--n,0) * 45ms) backwards}@keyframes strip-light{0%{background:var(--surface-soft);color:var(--ink-tertiary);border-color:var(--border);transform:scale(1)}35%{background:var(--accent);color:var(--on-accent);border-color:var(--accent);transform:scale(1.14)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.element-tile{transition:none}.assay[data-settling] .element-tile,.assay[data-settling] .element-tile b,.assay[data-settling] .element-tile:after,.material-strip [data-fresh] .element-tile{animation:none}button.assay-tile:active .element-tile{transform:none}}
