.lab-card{padding:0!important;overflow:hidden;text-align:left;color:inherit;font:inherit;cursor:pointer;background:var(--paper,#faf8f1);border:1px solid #cfcec2;min-height:410px;transition:transform .25s,box-shadow .25s}.lab-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px #20322b17}.lab-card-art{height:190px;position:relative;background:linear-gradient(125deg,#203a3b,#102425);overflow:hidden}.lab-card-art svg{height:100%;width:100%;fill:none;stroke:#cfb674;stroke-width:1.6;opacity:.8}.lab-card-art:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 29px,#b7d0bf0a 30px),repeating-linear-gradient(90deg,transparent 0 29px,#b7d0bf0a 30px)}.lab-card-number{position:absolute;top:14px;left:19px;color:#c6cdb9;font:12px monospace;letter-spacing:3px}.lab-card-mode{position:absolute;right:15px;bottom:13px;color:#e8dec1;font-size:10px;letter-spacing:2px;border:1px solid #e8dec144;padding:4px 8px}.lab-card-content{padding:22px 24px 21px}.lab-card-content h2{font-size:22px;line-height:1.4;margin:10px 0}.lab-card-content p{font-size:14px;line-height:1.9;min-height:55px;color:#53625a}.lab-enter{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:12px;letter-spacing:.06em;color:#68643e}.lab-enter b{font-size:21px}.geo-lab-detail{max-width:1420px;margin:auto}.lab-heading{padding:6px 0 24px}.lab-heading h2{font-size:clamp(28px,4vw,43px);margin:12px 0}.lab-heading p{font-size:16px;line-height:1.9;color:#58665d}.lab-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px}.lab-controls{border-top:2px solid #b79a58;padding-top:13px}.lab-controls h3{font-size:16px;margin:0 0 24px}.lab-slider{display:block;margin:0 0 24px}.lab-slider>span{display:flex;gap:8px;justify-content:space-between;font-size:13px;margin-bottom:11px;line-height:1.6}.lab-slider output{color:#8d7337;white-space:nowrap;font-variant-numeric:tabular-nums}.lab-slider input{width:100%;accent-color:#b4944c;cursor:pointer}.lab-actions{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0}.lab-actions button,.lab-viewbar button{font:inherit;font-size:12px;border:1px solid #c9cabc;border-radius:3px;background:0 0;color:#45534a;padding:8px 11px;cursor:pointer}.lab-actions button:hover{background:#eae5d6}.lab-question{border-left:2px solid #b69b58;padding:4px 0 4px 14px;font-size:13px;line-height:1.9}.lab-question b{font-size:12px;letter-spacing:.05em;color:#8a7236}.lab-equation{font:12px/1.8 monospace;color:#647162;overflow-wrap:anywhere}.lab-observation{min-width:0;background:#142426;border-radius:5px;overflow:hidden;align-self:start}.lab-viewbar{display:flex;justify-content:space-between;padding:13px 18px;border-bottom:1px solid #8ca69a24;gap:12px;flex-wrap:wrap}.lab-viewbar button{color:#b5c5bb;border-color:#93a9954a}.lab-viewbar button:hover,.lab-viewbar button[aria-pressed=true]{background:#ccb270;color:#152a26;border-color:#ccb270}.lab-time,.lab-view-switch{display:flex;gap:6px}.lab-observation canvas{width:100%;height:auto;display:block;touch-action:none}.lab-scene-hint{padding:0 22px;margin:-2px 0 18px;font-size:11px;color:#9ab1a6;line-height:1.8}.lab-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #8ca69a24;margin:0 22px;padding:20px 0;gap:15px}.lab-metrics span{display:block;color:#9bb3a7;font-size:11px;margin-bottom:7px}.lab-metrics strong{font-size:clamp(17px,2vw,25px);font-weight:500;color:#dec589;line-height:1.4;overflow-wrap:anywhere}.lab-metrics small{font-size:11px;color:#a7baaf}.lab-chart-key{display:flex;gap:20px;flex-wrap:wrap;padding:0 25px 20px;color:#afc1b6;font-size:11px}.lab-chart-key span:before{content:"";display:inline-block;background:var(--key-color);height:3px;width:17px;vertical-align:middle;margin-right:7px}.lab-explanation{margin-top:28px;border-top:1px solid #d2d1c4;padding-top:20px;font-size:14px;line-height:1.95}.lab-explanation h3{font-size:17px;margin:22px 0 10px}.lab-explanation p{color:#56645a}.lab-explanation ul{padding-left:20px}.lab-explanation a{color:#786332;text-decoration:underline;text-underline-offset:3px}.lab-records{margin-top:20px;background:#eeeade;padding:16px 18px;color:#586155;font-size:12px}.lab-records ol{padding-left:23px}.lab-records li{padding:10px 0;border-bottom:1px solid #c7c7b83b}.lab-records li span{color:#8a7336;font-weight:600}.lab-records strong{font-weight:500;color:#344d42}@media(min-width:1300px){#detail:has(.geo-lab-detail){width:min(1450px,96vw);max-width:1450px}#detail:has(.geo-lab-detail) #detail-body{max-width:none}}@media(max-width:850px){.lab-workspace{grid-template-columns:1fr}.lab-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.lab-actions,.lab-controls h3,.lab-equation,.lab-question{grid-column:1/-1}.lab-slider{margin-bottom:17px}.lab-question{margin-bottom:12px}.lab-metrics{margin-inline:15px}.lab-viewbar{padding:10px}.lab-viewbar button{font-size:11px}.lab-scene-hint{font-size:10px}.lab-card-content h2{font-size:20px}}@media(prefers-reduced-motion:reduce){.lab-card{transition:none}}.geo-lab-detail{padding:32px;box-sizing:border-box;min-width:0;overflow-wrap:anywhere}.lab-heading{padding-right:32px}.lab-controls,.lab-observation,.lab-workspace{min-width:0}.lab-slider>span{flex-wrap:wrap}.lab-equation{min-width:0;word-break:break-word}.lab-viewbar button{white-space:nowrap}@media(max-width:850px){.geo-lab-detail{padding:18px;max-width:100%}.lab-heading{padding-right:24px}.lab-controls{column-gap:14px}.lab-slider>span{font-size:12px}.lab-slider input{min-width:0;width:100%}.lab-metrics{grid-template-columns:1fr;gap:12px}.lab-metrics>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.lab-metrics strong{font-size:22px}.lab-metrics span{font-size:12px}.lab-observation{max-width:100%}}.lab-time{flex-wrap:wrap;align-items:center}.lab-time .lab-speed{display:flex;align-items:center;gap:6px;font-size:11px;color:#b5c5bb}.lab-time select{font:inherit;color:#dec589;background:#1d3434;border:1px solid #93a9954a;border-radius:3px;padding:7px;cursor:pointer}.lab-time select:focus-visible{outline:2px solid #dec589;outline-offset:3px}