.sort-pool{margin:0 0 var(--space-3);gap:var(--space-2);flex-wrap:wrap;min-height:52px;padding:0;list-style:none;display:flex}.sort-card{min-height:var(--tap);padding:var(--space-2) var(--space-3);border-radius:var(--radius-m);border:2px solid var(--color-border-strong);background:var(--color-surface);box-shadow:var(--color-shadow);cursor:grab;touch-action:none;text-align:left;font-size:var(--text-s)}.sort-card.is-picked{outline:3px solid var(--color-focus);outline-offset:2px}.sort-card.is-bounce,.order-item.is-bounce{animation:.42s ease-out chip-bounce}.sort-empty{font-weight:var(--weight-bold);color:var(--color-success);align-self:center}.sort-buckets{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sort-buckets-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=480px){.sort-buckets-3{grid-template-columns:1fr}}.sort-bucket{border:2px dashed var(--color-border-strong);border-radius:var(--radius-m);padding:var(--space-2);background:var(--color-surface-2);min-height:120px}.sort-bucket.is-target{border-color:var(--color-focus)}.sort-bucket-head{width:100%;min-height:var(--tap);border-radius:var(--radius-s);background:var(--color-surface);font-weight:var(--weight-bold);cursor:pointer;border:0}.sort-bucket-head:disabled{cursor:default}.sort-in{margin:var(--space-2) 0 0;gap:var(--space-1);padding:0;list-style:none;display:grid}.sort-placed{font-size:var(--text-xs);background:var(--color-success-soft);border-radius:var(--radius-s);padding:var(--space-1) var(--space-2);overflow-wrap:anywhere}.sort-placed code,.sort-card code{white-space:normal}.order-list{margin:0 0 var(--space-3);gap:var(--space-2);padding:0;list-style:none;display:grid}.order-item{align-items:center;gap:var(--space-2);background:var(--color-surface);border:2px solid var(--color-border-strong);border-radius:var(--radius-m);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-2);cursor:grab;touch-action:none;display:flex}.order-item.is-done{border-color:var(--color-success);background:var(--color-success-soft);cursor:default}.order-num{font-weight:var(--weight-bold);text-align:center;width:1.5rem}.order-text{font-family:var(--font-mono);font-size:var(--text-s);overflow-wrap:anywhere;flex:1}.order-btns{gap:2px;display:flex}.order-btn{border-radius:var(--radius-s);border:1px solid var(--color-border-strong);background:var(--color-surface-2);cursor:pointer;min-width:40px;min-height:40px;font-size:1.1rem}.order-btn:disabled{opacity:.35;cursor:default}.swipe-stage{min-height:120px;margin-bottom:var(--space-3);place-items:center;display:grid;position:relative}.swipe-card{width:100%;max-width:26rem;padding:var(--space-5) var(--space-4);border-radius:var(--radius-l);border:2px solid var(--color-border-strong);background:var(--color-surface);box-shadow:var(--color-shadow);text-align:center;cursor:grab;touch-action:pan-y}.swipe-count{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-2);display:block}.swipe-text{font-size:var(--text-l);white-space:normal;overflow-wrap:anywhere}.swipe-prose{font-family:var(--font-body);margin:0;line-height:1.4}.swipe-score{font-size:var(--text-l);font-weight:var(--weight-bold)}.swipe-btns{justify-content:space-between;gap:var(--space-2);display:flex}.swipe-btns .btn{flex:1}.tm-label{font-weight:var(--weight-bold);font-size:var(--text-s);display:block}.tm-slider{width:100%;min-height:var(--tap);accent-color:var(--deco-repo)}.tm-dots{justify-content:space-between;margin:0;padding:0 10px;list-style:none;display:flex}.tm-dots li{border:2px solid var(--deco-repo);background:var(--color-surface);border-radius:50%;width:12px;height:12px}.tm-dots li.is-past{background:var(--c-repo-soft)}.tm-dots li.is-on{background:var(--deco-head);border-color:var(--deco-head)}.tm-commit{margin:var(--space-2) 0;font-size:var(--text-s)}.tm-count{color:var(--color-text-muted)}.tm-file{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-m);padding:var(--space-3);margin:0;font-size:.9rem;overflow-x:auto}.tm-filename{font-weight:var(--weight-bold);margin-bottom:var(--space-2);display:block}.tm-line{white-space:pre;display:block}.tm-line.is-new{background:var(--c-repo-soft);color:var(--c-repo-ink)}.tm-line.is-new:before{content:"+ "}.spot-lines{white-space:normal}.spot-line{text-align:left;width:100%;color:var(--term-fg);font:inherit;white-space:pre;cursor:pointer;background:0 0;border:0;border-radius:4px;min-height:30px;padding:2px 4px;display:block}.spot-line:hover{background:var(--term-key-bg-hover)}.spot-line:focus-visible{outline:2px solid var(--term-blue)}.spot-line.is-found{background:var(--term-key-bg-hover);box-shadow:inset 4px 0 0 var(--term-green)}.spot-line.is-miss{box-shadow:inset 4px 0 0 var(--term-yellow)}.spot-tick{color:var(--term-green)}.spot-count{font-size:var(--text-s);color:var(--color-text-muted);margin:var(--space-2) 0}.builder-out{align-items:flex-start;gap:var(--space-2);min-height:64px;padding:var(--space-3);border-radius:var(--radius-m);background:var(--term-bg);color:var(--term-fg);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.builder-placeholder{color:var(--term-muted)}.builder-piece-out{flex-direction:column;align-items:flex-start;display:inline-flex}.builder-piece-out code{color:var(--term-fg);background:0 0;border:0;padding:0;font-size:1rem}.builder-piece-out small{color:var(--term-muted);font-size:.75rem;font-family:var(--font-body)}.builder-pool{gap:var(--space-2);flex-wrap:wrap;display:flex}.builder-piece{min-height:var(--tap);padding:var(--space-1) var(--space-3);border-radius:var(--radius-s);border:2px solid var(--color-border-strong);background:var(--color-surface);cursor:pointer}.builder-piece code{background:0 0;border:0;padding:0;font-size:1rem}.builder-piece:disabled{opacity:.35;cursor:default}.builder-tools{gap:var(--space-2);margin-top:var(--space-2);display:flex}.resetlab-modes{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.resetlab-modes .btn{font-weight:var(--weight-normal);padding-inline:var(--space-3)}.resetlab-modes code{color:inherit;background:0 0;border:0;padding:0}.resetlab-board{gap:var(--space-3);display:grid}.resetlab-result{gap:var(--space-2);margin:var(--space-3) 0 0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.resetlab-result div{border:1px solid var(--color-border);border-radius:var(--radius-s);padding:var(--space-2);background:var(--color-surface)}.resetlab-result dt{font-size:var(--text-xs);color:var(--color-text-muted)}.resetlab-result dd{font-weight:var(--weight-bold);margin:0}.resetlab-result dd.is-wiped{color:var(--c-danger-ink)}.resetlab-tried{font-size:var(--text-s);color:var(--color-text-muted);margin:var(--space-2) 0 0}.hunks-file{margin:0 0 var(--space-2)}.hunk-list{margin:0 0 var(--space-3);gap:var(--space-3);padding:0;list-style:none;display:grid}.hunk{border:2px solid var(--color-border);border-radius:var(--radius-m);min-width:0;padding:var(--space-2)}.hunk.is-taken{border-color:var(--deco-staging);background:var(--c-staging-soft)}.hunk.is-wrong{border-color:var(--color-kind)}.hunk-diff{margin:0 0 var(--space-2);background:var(--term-bg);color:var(--term-fg);border-radius:var(--radius-s);padding:var(--space-2) var(--space-3);font-size:.9rem;overflow-x:auto}.hunk-line{display:block}.seg-add{color:var(--term-green)}.seg-del{color:var(--term-red)}.hunk-btns{gap:var(--space-2);display:flex}.hunk-btns .btn{min-height:40px;font-size:var(--text-s);padding-inline:var(--space-4)}.hunk-why{margin:var(--space-2) 0 0;font-size:var(--text-s)}.hotspots-pic{border-radius:var(--radius-m);position:relative;overflow:hidden}.picture{width:100%;height:auto;display:block}.pic-frame{fill:var(--color-surface-2)}.pic-bar{fill:var(--color-border)}.pic-icon{fill:var(--color-border-strong)}.pic-icon-active{stroke:var(--deco-working);stroke-width:2px;fill:var(--color-surface)}.pic-panel{fill:var(--color-surface)}.pic-title{fill:var(--color-text-muted);font-size:7px;font-weight:700}.pic-input{fill:var(--color-bg);stroke:var(--color-border-strong)}.pic-hint{fill:var(--color-text-muted);font-size:7px}.pic-button{fill:var(--deco-working)}.pic-button-text{fill:var(--color-on-head);font-size:7px;font-weight:700}.pic-section{fill:var(--color-text);font-size:7px;font-weight:700}.pic-row{fill:var(--color-surface-2)}.pic-file{fill:var(--color-text);font-size:7px;font-family:var(--font-mono)}.pic-mark-m{fill:var(--c-staging-ink);font-size:7px;font-weight:700}.pic-mark-u,.pic-mark-a{fill:var(--c-repo-ink);font-size:7px;font-weight:700}.pic-editor{fill:var(--color-bg)}.pic-tab{fill:var(--color-surface)}.pic-code{fill:var(--color-border)}.pic-add{fill:var(--c-repo-soft);stroke:var(--deco-repo)}.pic-del{fill:var(--c-danger-soft);stroke:var(--deco-danger)}.pic-status{fill:var(--deco-working)}.pic-status-text{fill:var(--color-on-head);font-size:7px;font-weight:700}.hotspot{border:3px solid var(--color-surface);background:var(--deco-head);width:36px;height:36px;color:var(--color-on-head);font-weight:var(--weight-bold);cursor:pointer;box-shadow:0 0 0 4px color-mix(in oklab, var(--deco-head) 35%, transparent);border-radius:50%;font-size:.9rem;animation:1.6s ease-in-out 3 hotspot-glow;position:absolute;transform:translate(-50%,-50%)}.hotspot.is-seen{background:var(--color-success);box-shadow:none;animation:none}.hotspot.is-open{outline:3px solid var(--color-focus);outline-offset:2px}@media (width<=480px){.hotspot{border-width:2px;width:28px;height:28px;font-size:.8rem}}@keyframes hotspot-glow{50%{box-shadow:0 0 0 9px color-mix(in oklab, var(--deco-head) 15%, transparent)}}.hotspot-info{min-height:4rem;padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--color-surface-2)}.hotspot-info p{margin:0}.hotspot-title{font-weight:var(--weight-bold)}.timeline-list{padding:0 0 0 var(--space-4);border-left:3px solid var(--deco-repo);gap:var(--space-3);margin:0;list-style:none;display:grid}.timeline-item{position:relative}.timeline-item:before{content:"";left:calc(var(--space-4) * -1 - 9px);background:var(--color-surface);border:3px solid var(--deco-repo);border-radius:50%;width:14px;height:14px;position:absolute;top:14px}.timeline-item.is-seen:before{background:var(--deco-repo)}.timeline-dot{gap:var(--space-3);width:100%;min-height:var(--tap);text-align:left;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-m);padding:var(--space-2) var(--space-3);cursor:pointer;align-items:baseline;display:flex}.timeline-item.is-open .timeline-dot{border-color:var(--color-focus)}.timeline-when{font-weight:var(--weight-bold);font-family:var(--font-mono)}.timeline-text{margin:var(--space-2) 0 0;font-size:var(--text-s)}.mission{border:2px solid var(--deco-working);border-radius:var(--radius-m);padding:var(--space-3) var(--space-4);background:var(--color-surface)}.mission-title{font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.mission-steps{padding-left:var(--space-4);gap:var(--space-2);margin:0;display:grid}.mission-check{gap:var(--space-2);cursor:pointer;min-height:var(--tap);align-items:flex-start;display:flex}.mission-check input{width:22px;height:22px;accent-color:var(--color-success);flex:none;margin-top:4px}.mission-step.is-done .mission-check span{color:var(--color-text-muted);text-decoration:line-through 1px}.mission-cmd{align-items:center;gap:var(--space-2);margin:0 0 var(--space-1) 30px;flex-wrap:wrap;display:flex}.mission-cmd code{white-space:pre-wrap;overflow-wrap:anywhere}.mission-copy{min-height:36px;font-size:var(--text-xs)}.mission-progress{font-size:var(--text-xs);color:var(--color-text-muted);margin:var(--space-2) 0 0}.ospicker-btns{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.placement-count{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text-muted);margin:0}.placement-q{font-weight:var(--weight-bold)}.challenge-steps{gap:var(--space-2);margin:0 0 var(--space-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.challenge-dot{border:2px solid var(--color-border-strong);background:var(--color-surface);width:40px;height:40px;font-weight:var(--weight-bold);cursor:pointer;border-radius:50%}.challenge-dot.is-on{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus)}.challenge-dot.is-done{background:var(--color-success-soft);border-color:var(--color-success)}.challenge-title{margin-bottom:var(--space-1)}.challenge-next{margin-top:var(--space-3)}.logcheck-label{font-weight:var(--weight-bold);margin-bottom:var(--space-2);display:block}.logcheck-input{width:100%;font-family:var(--font-mono);font-size:var(--text-s);border-radius:var(--radius-m);border:2px solid var(--color-border-strong);background:var(--color-bg);padding:var(--space-3);margin-bottom:var(--space-2)}.logcheck-stats{font-weight:var(--weight-bold);margin:var(--space-3) 0 var(--space-2)}.logcheck-tip{font-size:var(--text-s);margin:0 0 var(--space-1)}.graph-scene{margin:0 0 var(--space-4)}
