.lab-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;border-radius:20px;background:linear-gradient(120deg,#0f3d3e,#236b61);color:#fff;margin-bottom:24px}
.lab-controls label[hidden]{display:none}
.art-probe{margin-bottom:18px}.art-probe input[type=range]{width:100%;accent-color:var(--teal);padding:0}.art-probe label{display:flex;gap:10px;align-items:center;margin-bottom:14px}.art-probe output{margin-left:auto;font-variant-numeric:tabular-nums}.art-probe p{line-height:1.5;color:var(--ink-soft)}
.art-piece summary{cursor:pointer;font-weight:600;color:var(--teal);line-height:1.5}.art-piece[open] summary{margin-bottom:16px}.art-piece summary:focus-visible{outline:2px solid var(--amber);outline-offset:5px}
.lab-welcome h2{font:500 clamp(1.7rem,3vw,2.6rem)/1.12 var(--font-display);margin:8px 0 14px;color:#fff}
.lab-welcome p{max-width:65ch;line-height:1.6;margin-bottom:0}.lab-welcome .eyebrow{color:#d1e9d9}
.lab-welcome-mark{font:italic 4.8rem var(--font-display);opacity:.45;padding:10px;white-space:nowrap}
.lab-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.lab-card{position:relative;display:flex;flex-direction:column;text-align:left;gap:12px;border:1px solid var(--line);background:#fff;border-radius:16px;padding:24px;cursor:pointer;min-width:0;color:#193c35;transition:transform .15s,box-shadow .15s}
.lab-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.lab-card:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.lab-card strong{font:600 1.35rem var(--font-display)}.lab-card>span:not(.lab-card-number){line-height:1.55;color:var(--ink-soft);font-size:.94rem}.lab-card em{margin-top:auto;padding-top:10px;color:var(--teal);font-style:normal;font-size:.86rem;font-weight:600}.lab-card-number{font-size:.75rem;letter-spacing:.1em;color:#a17d52}
.lab-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.lab-top label{display:flex;align-items:center;gap:10px;font-size:.88rem}.lab-top select{max-width:260px}
.lab-layout{display:grid;grid-template-columns:minmax(220px,270px) minmax(0,1fr);gap:22px;align-items:start}.lab-controls{position:sticky;top:20px;display:flex;flex-direction:column;gap:21px;padding:22px;min-width:0}.lab-controls h3{margin:0 0 2px}.lab-controls label{display:block;font-weight:600;font-size:.9rem;color:#24483f}.lab-controls output{float:right;font-variant-numeric:tabular-nums;background:#e7f1eb;padding:0 7px;border-radius:5px;color:var(--teal)}.lab-controls input[type=range]{width:100%;padding:0;margin:12px 0 4px;accent-color:var(--teal);cursor:pointer}.lab-controls select{width:100%;margin-top:8px}.lab-controls small{display:block;font-weight:400;line-height:1.5;color:var(--ink-soft);margin-top:5px}.lab-controls>p{font-size:.82rem;line-height:1.5;margin:0}.lab-stage{min-width:0}.lab-graph{display:block;width:100%;height:auto;max-height:620px;border:1px solid var(--line);border-radius:16px;background:white}
.lab-equation{background:#fdfdfb;border:1px solid var(--line);border-left:3px solid var(--amber);padding:18px;margin:14px 0;border-radius:8px;font-size:1.08rem;overflow-x:auto}.lab-equation .katex{white-space:nowrap}.lab-note{padding:17px 20px;border-radius:12px;background:#e8f1ec;border:1px solid #d1e2d6;margin:16px 0;color:#24483f;line-height:1.6}.lab-note p{margin:5px 0 0}.lab-explain-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lab-explain-grid h3{margin-top:0}.lab-explain-grid p{line-height:1.55}.lab-explain-grid .lab-equation{font-size:.94rem;padding:12px}
.lab-legend,.lab-chip-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px;font-size:.84rem}.lab-legend span{display:inline-flex;align-items:center;gap:7px}.lab-legend i{display:inline-block;width:22px;height:3px;border-radius:2px}.lab-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.lab-metrics>div{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:18px}.lab-metrics strong{font:600 1.6rem var(--font-display);color:var(--teal);overflow-wrap:anywhere}.lab-metrics span{font-size:.82rem;color:var(--ink-soft)}.lab-twin{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lab-steps{padding-left:30px;line-height:1.7}.lab-steps li{padding:12px}.lab-steps li.active{background:#e6f0eb;border-radius:10px}.sequence-terms{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.sequence-terms>span{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);background:#fff;padding:12px;min-width:60px;border-radius:8px}.sequence-terms small{color:var(--ink-soft)}
.lab-game-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0}.lab-game-bar strong{font-size:1.3rem;font-variant-numeric:tabular-nums;color:var(--teal)}.lab-leaderboard{margin-top:22px}.lab-rank-list{padding:0;list-style:none}.lab-rank-list li{display:flex;justify-content:space-between;padding:12px;border-bottom:1px solid var(--line);gap:12px}.lab-message:empty{display:none}.lab-message{background:#fff4db;border-radius:8px;padding:12px;color:#71481b;line-height:1.5}.lab-checkbox{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.lab-checkbox input{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--teal)}
.art-workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:22px}.art-workspace>div,.art-workspace>aside{min-width:0}.art-piece{border:1px solid var(--line);border-radius:12px;background:#fff;padding:16px;margin:18px 0}.art-piece legend{font-weight:700;padding:0 8px;color:var(--teal)}.art-piece-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.art-piece-fields label{font-size:.77rem;display:block}.art-piece-fields input,.art-piece-fields select{width:100%;min-width:0;margin-top:5px;padding:7px}.art-piece-fields input[type=color]{height:38px}.art-piece p{font-size:.86rem;color:var(--ink-soft)}.art-gallery-item{display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line);padding:16px 0}.art-gallery-item small{color:var(--ink-soft)}.art-gallery-item .lab-graph{max-height:200px}
.bank-filters{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:12px;align-items:end}.bank-filters label{font-size:.82rem;font-weight:600;display:block;min-width:0}.bank-filters input,.bank-filters select{display:block;width:100%;margin-top:7px;min-width:0}.bank-workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:22px;align-items:start}.bank-workspace>section{min-width:0}.bank-detail{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;min-width:0}.bank-detail p,.bank-item p{line-height:1.65}.bank-id{display:block;color:#54746c;overflow-wrap:anywhere;white-space:normal;font-size:.72rem;margin:10px 0}.bank-item .actions{margin-top:14px}.bank-item small{color:var(--ink-soft)}.bank-related{display:flex;flex-direction:column;gap:8px;text-align:left;border:1px solid var(--line);background:#f3f7f3;padding:14px;border-radius:10px;margin:10px 0;width:100%;cursor:pointer;color:#234a40}.bank-related strong{font-size:.8rem}.bank-related span{font-size:.83rem;line-height:1.5}.bank-detail dt{font-weight:700;margin-top:14px}.bank-detail dd{margin:5px 0;color:var(--ink-soft)}.quiz-bank-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.quiz-bank-summary h2,.quiz-bank-summary p{margin:0 0 6px}.topic-chip{flex-wrap:wrap}.topic-chip em{font-size:.7rem}.topic-picker{max-height:360px;overflow:auto;padding:4px}
@media(max-width:1200px){.lab-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-filters{grid-template-columns:1fr 1fr}.bank-workspace{grid-template-columns:1fr}.bank-detail{position:static;max-height:none}.lab-layout{grid-template-columns:220px minmax(0,1fr)}.lab-twin{grid-template-columns:1fr}.lab-explain-grid{grid-template-columns:1fr}}
@media(max-width:800px){.lab-layout,.art-workspace{grid-template-columns:1fr}.lab-controls{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.lab-controls h3,.lab-controls>p{grid-column:1/-1}.lab-welcome{padding:22px}.lab-welcome-mark{display:none}.art-piece-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-top{align-items:stretch;flex-direction:column}.lab-top label{justify-content:space-between}.lab-metrics>div{padding:12px}.lab-metrics strong{font-size:1.2rem}}
@media(max-width:520px){.lab-cards,.bank-filters{grid-template-columns:1fr}.lab-metrics{grid-template-columns:1fr}.lab-metrics>div{flex-direction:row;align-items:center;justify-content:space-between}.lab-card{padding:20px}.lab-controls{padding:16px}.quiz-bank-summary{align-items:stretch;flex-direction:column}.lab-game-bar{gap:10px}.lab-game-bar .btn{flex:1}.lab-explain-grid{grid-template-columns:1fr}}
.lab-card{display:grid;grid-template-rows:3fr 1fr;gap:0;padding:0;height:440px;overflow:hidden}
.lab-card>.lab-card-art{display:flex;align-items:center;justify-content:center;min-height:0;width:100%;background:#f1f6f0;overflow:hidden}
.lab-card-art>svg{display:block;width:100%;height:100%;max-height:none;border:0;border-radius:0;pointer-events:none}
.lab-card>.lab-card-copy{display:flex;flex-direction:column;gap:8px;padding:17px 20px;justify-content:center}
.lab-card-copy strong{font-size:1.2rem}.lab-card-copy>span{font-size:.82rem;line-height:1.4;color:var(--ink-soft)}
.lab-control-group{display:flex;flex-direction:column;gap:22px}.lab-intro{margin:0 0 24px;max-width:100%}.lab-intro p{max-width:90ch}
.lab-controls fieldset{border:1px solid var(--line);border-radius:10px;padding:14px;min-width:0;display:flex;flex-direction:column;gap:18px}.lab-controls legend{font-size:.85rem;font-weight:600;padding:0 5px}
.lab-controls .set-members{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.set-members label{display:flex;align-items:center;gap:5px}.set-members input{width:18px;height:18px;accent-color:var(--teal);margin:0}
.lab-bag{display:flex;flex-wrap:wrap;gap:12px;max-width:450px;background:#eef3ea;border:2px solid #b3cbb9;border-radius:16px 16px 45px 45px;padding:24px;margin:0 auto 18px;min-height:75px}.lab-counter{width:34px;height:34px;border-radius:50%;color:white;display:grid;place-items:center;font-weight:700}.lab-counter.red{background:#b94742}.lab-counter.blue{background:#526bc0}.lab-trials{display:flex;flex-wrap:wrap;gap:8px}.lab-trials span{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:white}
@media(max-width:520px){.lab-card{padding:0;height:420px}.lab-card>.lab-card-copy{padding:14px 18px}}
.lab-intro h3{font:600 1.45rem var(--font-display);margin:9px 0 12px}.lab-intro .eyebrow{font-size:.75rem;color:var(--teal)}.lab-intro p{margin:10px 0;line-height:1.7}.lab-concept-formula{overflow-x:auto;padding:12px 0;color:#193d32}
.prob-playback-bar{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.prob-playback-bar button{font-size:.85rem}.prob-playback-bar button:disabled{opacity:.5;cursor:default}
#prob-status{min-height:48px;line-height:1.5}#prob-progress{width:100%;height:10px;margin-bottom:16px;accent-color:var(--teal)}
.prob-flight{transform:translate(var(--to-x),var(--to-y));animation:prob-flight var(--prob-duration,800ms) ease-in-out forwards}.is-paused .prob-flight{animation-play-state:paused}.is-stepping .prob-flight{animation:none}
@keyframes prob-flight{from{transform:translate(var(--from-x),var(--from-y))}to{transform:translate(var(--to-x),var(--to-y))}}
.prob-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.prob-outcome{padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff}.prob-outcome small{display:block;line-height:1.5;font-size:.78rem;color:var(--ink-soft)}.prob-frequency-track{position:relative;height:12px;background:#e5eee7;border-radius:5px;margin:10px 0}.prob-frequency-track span{display:block;height:100%;background:var(--teal);border-radius:5px}.prob-frequency-track i{position:absolute;top:-3px;height:18px;width:2px;background:var(--amber);max-width:100%;transform:translateX(-1px)}
.prob-tree-details{margin:20px 0;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff}.prob-tree-details summary{cursor:pointer;font-weight:600;color:var(--teal);padding:4px}.prob-tree-details[open] summary{margin-bottom:16px}
.lab-controls input[type=number]{width:100%;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}
@media(prefers-reduced-motion:reduce){.prob-flight{animation-duration:.001ms}}
@media(max-width:520px){.prob-outcomes{grid-template-columns:1fr}.lab-concept-formula{font-size:.82rem}}
.sequence-chart-scroll{max-width:100%;overflow-x:auto;border-radius:16px}.sequence-chart-scroll:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.sequence-chart-scroll .sequence-matchsticks{min-width:600px}.sequence-chart-hint{display:none;font-size:.8rem;color:var(--ink-soft)}
@media(max-width:800px){.sequence-chart-hint{display:block}}
@media(max-width:800px){.probability-controls>label{grid-column:1/-1}.probability-controls .lab-control-group{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.probability-controls .lab-control-group>p,.probability-controls .lab-control-group>label:has(select),.probability-controls .lab-control-group>label:has([data-extra=speed]){grid-column:1/-1}}
.lab-coordinates{margin:16px 0;padding:18px}.lab-coordinates h3{margin:0 0 8px}.lab-coordinates p{font-size:.84rem;line-height:1.5}.lab-coordinate-scroll{max-width:100%;overflow-x:auto}.lab-coordinates table{width:100%;border-collapse:collapse;font-size:.86rem;text-align:left}.lab-coordinates th,.lab-coordinates td{padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.lab-coordinates tbody th{color:var(--teal)}.lab-coordinates small{display:block;color:var(--ink-soft);margin-top:5px}.lab-point-label{pointer-events:none}
