.labSection{margin-top:25px}.grids{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.matrix{display:grid;gap:3px}.matrix button,.matrix span{padding:0;display:grid;place-items:center;aspect-ratio:1;border-radius:4px;font-size:13px;min-width:0}.matrix button.selected{outline:3px solid #ea6852;outline-offset:0}.matrix button[aria-pressed=true]{background:#142d32;color:white}.grids h3{font-size:17px}.buttons label{margin:0;align-self:center;font-size:15px}.artLayout{display:grid;grid-template-columns:1fr 1.4fr;gap:18px}.board{position:relative;aspect-ratio:4/3;background:white;border:2px solid #b7d9cf;border-radius:12px;overflow:hidden;touch-action:none}.board canvas{object-fit:fill}#pointer{pointer-events:none}#seen{position:absolute;bottom:10px;left:10px;color:white;background:#142d32dd;padding:8px;border-radius:8px}textarea{display:block;width:100%;min-height:120px;font:inherit;border:1px solid #b7d9cf;border-radius:8px;padding:10px}@media(max-width:850px){.grids{grid-template-columns:repeat(2,minmax(0,1fr))}.artLayout{grid-template-columns:1fr}}@media(max-width:450px){nav{gap:12px;font-size:14px}.grids{gap:10px}.matrix button,.matrix span{font-size:11px}}
.teamGame{background:#e1f3ed;border:1px solid #b7d9cf;border-radius:14px;padding:20px;margin:20px 0}.gameStatus{display:flex;gap:25px;align-items:center;justify-content:space-between;margin:18px 0}#gameCue{font-size:24px}#clock{font-size:48px;color:#087e80;min-width:100px;text-align:right}#scoreboard{display:flex;gap:12px;flex-wrap:wrap}.scoreCard{background:white;padding:14px 20px;border:2px solid #b7d9cf;border-radius:10px;font-size:22px;font-weight:bold}.scoreCard.current{border-color:#087e80;background:#d9f2e9}#promptCard{max-width:90vw;border:3px solid #087e80;border-radius:20px;padding:35px;text-align:center}#promptCard::backdrop{background:#102d35ef}#secretWord{font-size:clamp(45px,8vw,85px);margin:20px}#airArt.partyExpanded{position:fixed;inset:0;z-index:1000;margin:0;border-radius:0;overflow:auto;padding:20px 4vw;background:#f4f7f6}#airArt.partyExpanded>.eyebrow,#airArt.partyExpanded>h2,#airArt.partyExpanded>p:not(#status),#airArt.partyExpanded .partyRules,#airArt.partyExpanded .partySetup,#airArt.partyExpanded .teamGame>h2,#airArt.partyExpanded .teamGame>.eyebrow{display:none}#airArt.partyExpanded .teamGame{margin:0 0 12px;padding:12px}#airArt.partyExpanded .artLayout{grid-template-columns:1fr 2fr}#airArt.partyExpanded .board{max-height:58vh}#airArt.partyExpanded .stage{max-height:58vh}.partyExpanded .gameStatus{margin:8px 0}.partyExpanded #gameCue{font-size:clamp(22px,3vw,36px)}@media(max-width:650px){.gameStatus{gap:10px}#clock{font-size:36px}#gameCue{font-size:20px}.scoreCard{font-size:18px;padding:10px}#airArt.partyExpanded .artLayout{grid-template-columns:1fr}.partyExpanded .stage{display:none}}

#airArt.cameraHidden .stage{display:none}#airArt.cameraHidden .artLayout{grid-template-columns:1fr}#airArt.cameraHidden .board{width:100%;max-width:1000px;justify-self:center}#airArt.cameraHidden.partyExpanded .board{max-width:110vh;max-height:none}#airArt.cameraHidden.partyExpanded .artLayout{grid-template-columns:1fr}.twistCue{font-size:23px;font-weight:bold;color:#7549bc;margin:10px 0}#eraser[aria-pressed=true]{background:#ffe0cc;border:2px solid #ea6852}.partyExpanded .twistCue{margin:5px 0;font-size:21px}

.partyExpanded>.buttons{margin:5px 0}.partyExpanded>.buttons button,.partyExpanded>.buttons select{padding:6px 9px;font-size:14px}.partyExpanded>#status{font-size:13px;margin:6px 0}.partyExpanded .teamGame .buttons{margin:6px 0}.partyExpanded .teamGame .buttons button{padding:7px 10px;font-size:15px}.partyExpanded .scoreCard{padding:8px 14px;font-size:20px}.partyExpanded #gameCue{font-size:26px}.partyExpanded #clock{font-size:38px}#airArt.cameraHidden.partyExpanded .board{max-width:max(260px,calc(133.33dvh - 465px))}
/* Gesture updates must not change toolbar wrapping or move the drawing board. */
#eraser{border-width:2px;white-space:nowrap}
#airArt #toolCue,#airArt #status{line-height:1.4;height:2.8em;overflow:auto}

#airArt.partyExpanded .gameOptions{display:flex;margin:6px 0}#airArt.partyExpanded.showSetup .partySetup{display:flex}#airArt.partyExpanded .gameOptions select{font-size:14px;padding:5px}#airArt.partyExpanded #bankStatus{display:none}.partyExpanded #toolCue{font-size:12px;margin:4px 0}#airArt.cameraHidden.partyExpanded .board{max-width:max(260px,calc(133.33dvh - 555px))}

#airArt.partyExpanded>#toolCue{display:block} .gameOptions{border:1px solid #b7d9cf;border-radius:10px;padding:8px;background:white}

#airArt.partyExpanded>p#toolCue{display:block}
.matrix button:focus-visible{outline:3px solid #7549bc;outline-offset:1px;position:relative;z-index:1}

.cameraCredit{margin-top:18px;padding:16px 20px;background:#edf5f3;border:1px solid #c6dcd5;border-radius:10px}
.cameraCredit h3{font-size:17px;margin:0 0 8px}.cameraCredit p{font-size:15px;line-height:1.6;margin:8px 0}.cameraCredit p.small{font-size:13px}

.cameraArchitecture{border-top:1px solid #c6dcd5;margin-top:16px;padding-top:12px}
.cameraArchitecture h4{font-size:21px;margin:8px 0}.cameraPipeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;list-style:none;padding:0;margin:18px 0}
.cameraPipeline li{position:relative;background:#fff;border:1px solid #c4d5d6;border-radius:9px;padding:14px;min-width:0}
.cameraPipeline li:not(:last-child)::after{content:'→';position:absolute;right:-20px;top:40%;color:#087e80;font-size:23px}
.cameraPipeline b,.cameraPipeline span{display:block;font-size:14px;line-height:1.5}.cameraPipeline span{margin-top:7px}
.cameraPipeline .neuralStage{background:#e2eeec;border-color:#8cb8b2}.cameraTrackingLoop{border:1px dashed #8aaba8;border-radius:8px;padding:11px 14px;font-size:14px;line-height:1.6}
.cameraCredit .cameraBranchLabel{text-align:center;font-weight:600;margin:16px 0 10px}.cameraBranches{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cameraBranches>section{background:#fff;border:1px solid #c4d5d6;border-radius:9px;padding:15px;margin:0;min-width:0}.cameraBranches h5{font-size:17px;margin:0 0 8px}.cameraBranches p{font-size:14px}
@media(max-width:760px){.cameraPipeline{grid-template-columns:1fr;gap:20px}.cameraPipeline li:not(:last-child)::after{content:'↓';right:50%;top:auto;bottom:-23px}.cameraBranches{grid-template-columns:1fr}}

.modelLayers{margin-top:22px;padding-top:14px;border-top:1px solid #bcd3cc}.modelLayers h4{font-size:22px;margin:8px 0}
.modelComparisonScroll,.modelLayerTableScroll{max-width:100%;overflow:auto}.modelComparison{width:100%;border-collapse:collapse;background:#fff;font-size:14px}
.modelComparison th,.modelComparison td{padding:12px;border-bottom:1px solid #d2e1dc;text-align:left;vertical-align:top}.modelComparison th{background:#e1efeb}.modelComparison td:nth-child(n+2):nth-child(-n+4){font-size:20px;font-weight:bold;color:#087e80}
.modelLayerDetail{margin:12px 0;background:#fff;border:1px solid #c6dcd5;border-radius:9px;padding:14px}.modelLayerDetail>summary{cursor:pointer;font-weight:bold;font-size:16px;line-height:1.5}.modelLayerDetail details{margin-top:14px}.modelLayerDetail details>summary{cursor:pointer;font-size:14px}
.layerSequence{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.layerSequence>span{padding:7px 10px;background:#eaf3f0;border:1px solid #bad2c9;border-radius:6px;font:12px/1.5 Consolas,monospace}.layerSequence>span:not(:last-child)::after{content:' →';color:#087e80}
.modelLayerTableScroll{max-height:420px;margin-top:12px}.modelLayerTableScroll table{font:12px/1.5 Consolas,monospace;white-space:nowrap;border-collapse:collapse;width:100%}.modelLayerTableScroll th{position:sticky;top:0;background:#dfede8}.modelLayerTableScroll th,.modelLayerTableScroll td{padding:9px;border:1px solid #d1dfda;text-align:left;vertical-align:top}
