.lab-hero{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:center;gap:30px;margin:25px 0 30px}.lab-hero h1{font-size:clamp(30px,4.5vw,48px);line-height:1.12;letter-spacing:-1.5px;margin:15px 0}.lab-hero p{color:#aebfd3;line-height:1.85;max-width:75ch}.lab-hero img{width:100%;height:auto}.lab-app{--lab-ac:#9ddac9;margin:25px 0 40px}.lab-card,.lab-notice{border:1px solid #8cabc32b;border-radius:18px;background:#121d2a;padding:24px;margin-bottom:18px;min-width:0}.lab-card h2,.lab-card h3{margin:0 0 15px;line-height:1.3}.lab-card p,.lab-notice p{line-height:1.8;color:#b0c2d7;margin:10px 0}.lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.lab-grid>.lab-card{margin:0}.lab-stack{display:grid;gap:14px}.lab-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0}.lab-button,.lab-app button,.lab-dialog button{display:inline-flex;justify-content:center;align-items:center;gap:7px;border:1px solid #99b9d640;border-radius:10px;background:#1c3043;color:#e3edf7;padding:11px 15px;font:inherit;font-size:14px;line-height:1.4;cursor:pointer;text-decoration:none}.lab-button.primary,.lab-app button.primary{background:#a9dfcc;color:#102a2a;border-color:transparent;font-weight:700}.lab-app button:disabled,.lab-dialog button:disabled{opacity:.45;cursor:default}.lab-app :is(a,button,input,select,textarea):focus-visible,.lab-dialog :is(a,button,input,select,textarea):focus-visible,.lab-feedback:focus-visible{outline:2px solid #a9dfcc;outline-offset:4px}.lab-field{display:grid;gap:7px;margin:14px 0;min-width:0;font-size:14px;color:#bfd0e2}.lab-field :is(input,select,textarea){font:inherit;color:#e3edf7;background:#0c1723;border:1px solid #8ba9c640;border-radius:9px;padding:11px;width:100%;min-width:0}.lab-field textarea{min-height:90px;resize:vertical}.lab-checks{display:flex;gap:12px 20px;flex-wrap:wrap;margin:15px 0}.lab-checks label{display:flex;align-items:center;gap:8px;line-height:1.5;font-size:14px}.lab-checks input{width:18px;height:18px;accent-color:#a9dfcc}.lab-muted{font-size:13px;color:#97adc6;line-height:1.8}.lab-kicker{font-size:11px;letter-spacing:1.7px;color:#a9dfcc}.lab-pill{display:inline-flex;padding:5px 9px;border:1px solid #91b4d036;border-radius:20px;font-size:12px;color:#bed2e4}.lab-message{padding:12px 15px;border-left:3px solid #9ccbbe;background:#98cdbc0a;line-height:1.8;font-size:14px;overflow-wrap:anywhere}.lab-message.error{border-color:#e6a58d;color:#f1c8b9}.lab-progress{display:flex;align-items:center;gap:15px;margin:18px 0;font-size:13px;color:#bdd0e4}.lab-progress progress{flex:1;height:8px;accent-color:#a9dfcc}.lab-step{border:1px solid #8eaac32b;border-radius:14px;padding:18px;margin:12px 0;min-width:0;background:#0f1b29}.lab-step header{display:flex;justify-content:space-between;align-items:center;gap:14px}.lab-step h3{margin:0}.lab-step p{font-size:14px;color:#aabdd3;line-height:1.8}.lab-step .lab-actions{margin-bottom:0}.lab-table-wrap{overflow:auto;max-width:100%}.lab-table{width:100%;border-collapse:collapse;font-size:13px}.lab-table th,.lab-table td{padding:12px 10px;border-bottom:1px solid #ffffff12;text-align:left;line-height:1.7;vertical-align:top}.lab-table th{color:#b5ccdf}.lab-chart-row{display:grid;grid-template-columns:80px 1fr 70px;align-items:center;gap:10px;margin:12px 0;font-size:12px}.lab-chart-track{height:15px;background:#0c1724;border-radius:8px;overflow:hidden}.lab-chart-track i{display:block;height:100%;background:#97c9d3;border-radius:8px}.lab-report{border:1px solid #9cc9bb40;border-radius:18px;padding:24px;background:#0e1d27}.lab-discovery{margin:24px 0;display:grid;gap:18px}.lab-home-search{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px;max-width:550px}.lab-home-search label{flex-basis:100%;font-size:13px;color:#a9c2d8}.lab-home-search input{min-width:0;flex:1;background:#111f2d;border:1px solid #8eacc14d;border-radius:10px;color:#eef4fa;padding:12px;font:inherit}.lab-home-goals{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.lab-home-goals a{border:1px solid #98b8d02b;border-radius:999px;padding:10px 13px;color:#c2d6e7;background:#122131;text-decoration:none;font-size:13px}.lab-recent{display:flex;flex-wrap:wrap;gap:9px}.lab-recent a{color:#bfd3e6;font-size:13px;border-bottom:1px solid #a1b9d33b;text-decoration:none;padding:6px 0}.lab-resume{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid #a9dfcc44;border-radius:14px;padding:18px;background:#142c30}.lab-resume p{margin:0;color:#bfd7d7}.lab-dock{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:45;width:min(680px,calc(100% - 28px));background:#112836f5;border:1px solid #9cd5c666;border-radius:15px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:15px;box-shadow:0 12px 40px #0006;font-size:13px}.lab-dock a{color:#c1efdf;white-space:nowrap}.lab-dock button{background:none;color:#c4dae9;border:0;cursor:pointer;font-size:20px}.lab-feedback{font:inherit;font-size:12px;border:0;background:none;color:#aac5d9;cursor:pointer;padding:7px 0;text-align:left}.lab-dialog{color:#e3edf7;background:#111e2c;border:1px solid #8baac14d;border-radius:20px;width:min(620px,calc(100% - 28px));max-height:90dvh;padding:25px;margin:auto}.lab-dialog::backdrop{background:#020b15b8;backdrop-filter:blur(5px)}.lab-dialog h2{font-size:23px;margin:0 0 14px}.lab-dialog p{font-size:14px;color:#b4c8dd;line-height:1.8}.lab-dialog textarea{width:100%;padding:12px;font:inherit;min-height:100px;background:#0b1724;color:#e2edf6;border:1px solid #849fb43d;border-radius:10px}.lab-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.lab-tabs a{padding:9px 13px;border:1px solid #95b6d137;border-radius:20px;color:#b9d1e7;text-decoration:none}.lab-tabs a[aria-current]{background:#a9dfcc;color:#102828}.lab-obs-diagram{display:grid;grid-template-columns:1fr 35px 1fr;align-items:center;gap:10px;padding:18px;background:#0b1725;border-radius:14px}.lab-obs-diagram>div{padding:15px;border:1px solid #9cb4c336;border-radius:10px;text-align:center;font-size:13px}.lab-home-search button{white-space:nowrap}@media(min-width:1231px){#mainnav>a,#mainnav .dd-b{padding-left:10px;padding-right:10px}}@media(max-width:700px){.lab-hero{grid-template-columns:1fr;gap:6px}.lab-hero img{max-width:230px;justify-self:end}.lab-grid{grid-template-columns:minmax(0,1fr)}.lab-card,.lab-report{padding:19px}.lab-step header,.lab-resume{align-items:flex-start;flex-direction:column}.lab-dock{font-size:12px;gap:9px;padding:10px 12px}.lab-dock a{white-space:normal}.lab-home-search button{font-size:12px}.lab-chart-row{grid-template-columns:58px 1fr 60px}.lab-obs-diagram{grid-template-columns:1fr}.lab-obs-diagram>span{transform:rotate(90deg);justify-self:center}.lab-app .lab-table{min-width:500px}}@media(prefers-reduced-motion:reduce){.lab-app *,.lab-dock{animation:none!important;scroll-behavior:auto;transition:none!important}}@media print{.lab-dock,.lab-feedback,.lab-app button,.lab-actions,.lab-tabs{display:none!important}.lab-card,.lab-report{break-inside:avoid}}

#mainnav .dd:has(.lab-nav-label){display:flex;align-items:center}.lab-nav-label{font-size:12px;font-weight:600;color:var(--pr);text-decoration:none;padding:12px 0 12px 10px}#mainnav .dd:has(.lab-nav-label)>.dd-b{padding-left:5px;padding-right:9px}.lab-nav-label:hover{color:var(--tx)}

.lab-app{min-width:0}.lab-app label,.lab-card label{display:flex;flex-direction:column;gap:8px;margin-block:14px}.lab-app .lab-checks,.lab-card .lab-checks{flex-direction:row;align-items:center}.lab-app select,.lab-app input,.lab-app textarea,.lab-card select,.lab-card input{max-width:100%;min-width:0;box-sizing:border-box;background:#101c27;color:#e3edf7;border:1px solid #39515f;border-radius:10px;padding:12px;font:inherit}.lab-card button{border:1px solid #48606c;border-radius:10px;background:#1b303d;color:#dfeef7;padding:12px 18px;margin:6px 6px 6px 0;font:inherit;cursor:pointer}.lab-card button:disabled{opacity:.55;cursor:default}.lab-card img,.lab-card canvas{max-width:100%;height:auto}.lab-card form{margin-block:20px}.lab-card .lab-progress:has(>i){height:12px;background:#273b4a;border-radius:20px;margin:10px 0;overflow:hidden}.lab-card .lab-progress i{display:block;height:100%;background:#a7e7d3}.lab-key-area{min-height:140px;border:1px dashed #749fa9;border-radius:16px;padding:24px;margin:20px 0;background:#0c1822;display:grid;place-items:center}.lab-table-wrap{overflow:auto}.lab-table-wrap table{width:100%;border-collapse:collapse}.lab-table-wrap th,.lab-table-wrap td{padding:12px;text-align:left;border-bottom:1px solid #314655}.lab-monitor-pattern{height:190px;border-radius:12px;border:1px solid #789;overflow:hidden;position:relative;background:linear-gradient(90deg,#000,#fff)}.lab-monitor-pattern[data-pattern=contrast]{background:repeating-linear-gradient(90deg,#050505 0 10%,#151515 10% 20%,#303030 20% 30%,#777 30% 40%,#eee 40% 50%)}.lab-monitor-pattern[data-pattern=motion]{background:#253745}.lab-monitor-pattern i{display:none;position:absolute;left:0;top:70px;width:40px;height:50px;background:#e8f7ff;border-radius:8px}.lab-monitor-pattern[data-pattern=motion] i{display:block}.lab-card :focus-visible{outline:3px solid #b5f4df;outline-offset:4px}.lab-card pre,.lab-card input[readonly]{overflow-wrap:anywhere;white-space:pre-wrap}.lab-verification{margin-block:32px}.lab-report,.lab-card{overflow-wrap:anywhere} .lab-report .lab-grid>*{min-width:0} [hidden]{display:none!important}
@media(max-width:600px){.lab-card{padding:22px}.lab-grid{grid-template-columns:1fr}.lab-card h2{font-size:26px}.lab-table-wrap th,.lab-table-wrap td{padding:8px}.lab-card button{width:auto}.lab-card .lab-actions{flex-wrap:wrap}}
.lab-grid>*{min-width:0}.lab-app select,.lab-card select{width:100%}.lab-app label,.lab-card label{min-width:0}.lab-app input[type=file]{width:100%;font-size:13px}.calc-comparison .calc-form{min-width:0}.calc-comparison .calc-main b{font-size:clamp(24px,4vw,38px);overflow-wrap:anywhere}

.lab-app .lab-checks label{flex-direction:row;align-items:center}.lab-card .lab-progress:has(>progress){height:auto;overflow:visible;background:none}

.lab-app fieldset{border:1px solid #46657388;border-radius:14px;padding:16px;margin:22px 0}.lab-app legend{padding:0 8px;font-size:14px;color:#b6cfdf}.lab-app fieldset .lab-checks{margin:0}

/* Shared vertical rhythm for labels, headings, instructions and controls. */
:is(.lab-card,.lab-report,.lab-notice,.lab-step)>.lab-kicker{display:block;line-height:1.6;margin:0 0 14px}
:is(.lab-card,.lab-report,.lab-notice,.lab-step)>:is(.lab-kicker,.lab-pill)+:is(h2,h3){margin-top:14px}
.lab-grid>article>.lab-pill+h3{margin-top:14px}
.lab-section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin:0 0 24px}
.lab-section-heading h2,.lab-section-heading p{margin:0}.lab-section-heading p{max-width:72ch}
.lab-section-heading>.lab-pill{max-width:100%;line-height:1.6;padding:7px 12px;white-space:normal}
.lab-daily #daily-state{line-height:1.8}.lab-daily-play{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:20px 22px;border:1px solid #9bbfce30;background:#0d1925;border-radius:14px;margin:0 0 18px}.lab-daily-play>div{min-width:0}.lab-daily-play .lab-kicker{display:block;font-size:11px;line-height:1.6;margin-bottom:12px}.lab-daily-play h3{font-size:27px;letter-spacing:-.6px;margin:0;line-height:1.3}.lab-daily-play .lab-button{margin:0;min-height:46px;flex-shrink:0}
.lab-daily-rules{display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:20px;margin-top:20px;border-top:1px solid #9bbfce24;color:#bbd3df;font-size:13px;line-height:1.6}.lab-daily .lab-muted{margin-top:12px;font-size:13px;line-height:1.8}.lab-detail{border:1px solid #9bbfce24;border-radius:12px;padding:0 15px;margin:16px 0;color:#afc6d6;font-size:13px}.lab-detail summary{padding:13px 0;cursor:pointer;line-height:1.6}.lab-detail p{margin:0 0 15px;max-width:78ch}.lab-detail summary:focus-visible{outline:2px solid #a9dfcc;outline-offset:3px;border-radius:6px}
.lab-report>h3:not(:first-child){margin-top:28px}.lab-app .lab-step header{margin-bottom:14px}.lab-app .lab-step header h3{margin:0}.lab-app .lab-step .lab-actions{gap:10px 12px}.lab-app .lab-step form{margin-top:20px}.lab-app .lab-step>form:last-child{margin-bottom:0}.lab-app label:has(>input[readonly]){margin-block:20px}.lab-app :is(input,select,textarea){line-height:1.5}.lab-app .lab-grid>label{align-self:start}.lab-app .lab-grid>button{align-self:end}.lab-app .lab-card>h2:first-child{margin-bottom:16px}.lab-app .lab-card>p+form{margin-top:24px}
@media(max-width:600px){.lab-section-heading{gap:14px;margin-bottom:22px}.lab-daily-play{padding:18px;gap:18px;align-items:flex-start;flex-direction:column}.lab-daily-play .lab-button{width:100%;white-space:normal;text-align:center}.lab-daily-rules{gap:10px 16px}.lab-section-heading h2{font-size:25px}.lab-daily-play h3{font-size:25px}}

.calc-unit-guide{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 26px;margin:24px 0 32px;background:linear-gradient(125deg,#193440,#111e2b);border:1px solid #92c9d333;border-radius:18px}.calc-unit-guide>div{min-width:0;max-width:760px}.calc-unit-guide .eyebrow{display:block;margin-bottom:14px}.calc-unit-guide h2{font-size:24px;line-height:1.3;margin:0 0 14px}.calc-unit-guide p{margin:0;color:#b4c9d9;line-height:1.85;font-size:14px}.calc-unit-guide>.btn{flex-shrink:0;white-space:normal;max-width:260px;line-height:1.5}.calc-comparison .calc-main{min-width:0}.calc-comparison .calc-main b{word-break:normal;overflow-wrap:anywhere}.calc-main b{overflow-wrap:anywhere}
@media(max-width:780px){.calc-unit-guide{flex-direction:column;align-items:flex-start;padding:22px;gap:20px}.calc-unit-guide>.btn{max-width:100%}}

.calc-comparison .lab-grid>section{align-self:start;min-width:0;padding:20px;border:1px solid #8eb3cb26;border-radius:14px;background:#0e1925}.calc-comparison .lab-grid>section>h3{margin-bottom:20px;font-size:17px}.calc-comparison dl{margin:18px 0 0}.calc-comparison dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px;padding:12px 0;border-top:1px solid #9bbfce20}.calc-comparison dt{font-size:13px;color:#a9bfcd;line-height:1.6}.calc-comparison dd{margin:0;text-align:right;color:#d6ece9;font-size:14px;line-height:1.6;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.calc-comparison .calc-main{margin-bottom:16px}.calc-comparison .calc-main>span{display:block;margin-bottom:10px;font-size:13px;color:#acc4d1}.calc-comparison .calc-form{margin-bottom:20px}
@media(max-width:600px){.calc-comparison .lab-grid>section{padding:16px}.calc-comparison dl>div{gap:10px}.calc-comparison dt,.calc-comparison dd{font-size:13px}}

/* A distinct, aligned icon for each Panel destination. */
.site-refresh .panel-menu-list>a{display:flex;align-items:center;gap:10px;border-radius:9px;font-size:13px;padding:12px 14px}.panel-menu-list .mi{flex:0 0 auto}.panel-menu-list .mi svg{stroke-linecap:round;stroke-linejoin:round}.panel-menu-list hr{margin:8px 5px}
@media(min-width:1231px){.site-refresh .panel-menu{min-width:286px}.panel-menu-list{max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#456173 transparent}.panel-menu-list::-webkit-scrollbar{width:5px}.panel-menu-list::-webkit-scrollbar-thumb{background:#456173;border-radius:10px}}

/* Favorites are a separate section, even when the empty-state hint is hidden. */
#calc-favs:not([hidden]){margin:0 0 32px;padding:0 0 28px;border-bottom:1px solid #8fd2b51f}
#calc-fav-hint:not([hidden]){margin:0 0 24px;line-height:1.7}
#calc-hub .calc-category-nav{row-gap:12px;align-items:center}
@media(max-width:600px){#calc-favs:not([hidden]){margin-bottom:26px;padding-bottom:24px}}

/* Keep independent work areas apart without changing connected game panels. */
#calc-app+.calc-comparison{margin-top:32px}
.calc-comparison>.lab-actions{margin:22px 0 0}
.calc-comparison>.lab-actions button{max-width:100%;white-space:normal;line-height:1.5}
.calc-comparison #calc-scenario-link:not(:empty){margin-top:20px}
.lab-app>.lab-grid+.lab-card{margin-top:24px}
#band-app>#bd-room:not(:empty){margin-top:24px}
main>.lab-message{margin-top:24px}
#wx-msg:not(:empty){margin-bottom:20px}
.wx-sec>.ib-u+.wx-gal{margin-top:18px}

/* Feedback works with webmail and offers a manual copy path. */
.lab-feedback-dialog{width:min(700px,calc(100% - 28px));overflow-y:auto}
.lab-feedback-dialog #lab-feedback-preview{white-space:pre-wrap;overflow-wrap:anywhere;max-height:230px;overflow-y:auto;margin:16px 0;font:13px/1.75 ui-monospace,monospace}
.lab-feedback-dialog .lab-actions{gap:10px}
.lab-feedback-dialog .lab-actions button{white-space:normal;max-width:100%}
.lab-feedback-options{border-top:1px solid #91b4d036;padding-top:22px;margin-top:20px}
.lab-feedback-options h3{font-size:20px;margin:0 0 12px;line-height:1.4}
.lab-feedback-services{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
.lab-feedback-services a{flex:1;min-width:175px;text-align:center}
.lab-feedback-dialog [hidden]{display:none!important}
.lab-feedback-dialog #lab-feedback-manual textarea{min-height:180px}
.lab-feedback-dialog [aria-invalid=true]{border-color:#e6a58d}
@media(max-width:480px){.lab-feedback-dialog{padding:20px}.lab-feedback-services{flex-direction:column}.lab-feedback-services a{min-width:0}.lab-feedback-dialog .lab-actions button{flex:1 1 120px}.lab-feedback-options h3{font-size:18px}}
