/* The support is the workspace. Fine rules, tactile geometry, precise numbers. */
.studio-page .site-main{padding-top:34px}.studio-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:28px}.studio-heading h1{font-size:2.625rem;letter-spacing:-.055em;margin:0 0 5px}.studio-heading h1>span,.input-panel h2>span{color:var(--accent)}.studio-heading p{font-size:0.75rem;color:var(--muted);margin:0}.studio-actions{display:flex;gap:22px;align-items:center}.save-status{font:0.625rem var(--mono);color:var(--muted)}.save-status:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:6px}.studio-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;border-block:1px solid var(--line);min-height:720px}.model-area{position:relative;min-width:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 65% 58%,#fffef8 0,transparent 60%);overflow:hidden}.model-toolbar{display:flex;justify-content:space-between;align-items:center;padding:20px 26px 0 0;gap:12px;min-height:50px}.model-description{font:0.5625rem var(--mono);letter-spacing:.035em;color:var(--muted)}.motion-toggle{font:0.625rem var(--mono)}.model-title{position:absolute;left:0;top:92px;z-index:1;pointer-events:none}.model-title>span{font:0.5625rem var(--mono);letter-spacing:.04em;display:block;margin-bottom:16px;color:var(--muted)}.model-title h2{font-size:clamp(2.125rem,3.1vw,3.3125rem);line-height:1.02;font-weight:500;letter-spacing:-.06em}.model-title em,.home-hero em,.home-explain em,.home-finale em{font-style:normal;color:var(--accent)}.studio-scene{width:100%;height:540px;display:flex;align-items:center;justify-content:center;flex:1;min-height:460px}.studio-scene svg{width:100%;height:100%;max-height:600px;display:block;overflow:visible}.model-bottom{display:flex;align-items:center;justify-content:space-between;padding:0 26px 20px 0;gap:12px}.model-bottom>span{font:0.5625rem var(--mono);color:var(--muted)}.view-switch{display:inline-flex;border:1px solid var(--line);padding:3px;background:var(--bg)}.view-switch button{display:flex;gap:8px;align-items:center;justify-content:center;min-height:40px;padding:8px 13px;background:transparent;border:0;font-size:0.6875rem}.view-switch button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.35}.view-switch button.selected{background:var(--text);color:var(--surface)}.view-switch button:not(.selected):hover{background:var(--surface-raised)}.model-context{border-top:1px solid var(--line);padding:20px 28px 20px 0;margin-right:26px;display:flex;align-items:flex-start;gap:20px;min-height:90px}.model-context .context-number{font:1.4375rem var(--display);color:var(--accent)}.model-context p{font-size:0.75rem;color:var(--muted);max-width:35rem;line-height:1.7;margin:0}.inspector{border-left:1px solid var(--line);background:var(--surface);min-width:0}.inspector-top{display:flex;align-items:center;justify-content:space-between;padding:22px 25px;border-bottom:1px solid var(--line);font:0.625rem var(--mono);letter-spacing:.03em}.inspector-top span:last-child{font-size:0.5625rem;color:var(--muted)}.input-tabs{display:grid;grid-template-columns:1.45fr .8fr 1fr;padding:0 18px;border-bottom:1px solid var(--line);gap:6px}.input-tabs button{position:relative;display:flex;align-items:center;gap:6px;justify-content:center;border:0;background:none;padding:20px 0 18px;font:0.6875rem var(--font);white-space:nowrap;font-weight:600}.input-tabs button>span{font:0.5625rem var(--mono);color:var(--muted)}.input-tabs button[aria-selected=true]:after{content:'';position:absolute;bottom:-1px;height:2px;background:var(--accent);left:0;right:0}.input-tabs button[aria-selected=true]{color:var(--accent-hover)}.input-tabs button:hover{color:var(--accent-hover)}.inspector-body{padding:26px 25px 18px}.input-panel h2{font-size:2.0625rem;line-height:1.04;margin-bottom:10px;letter-spacing:-.05em}.panel-description{font-size:0.6875rem;line-height:1.65;color:var(--muted);margin-bottom:22px;max-width:16.25rem}.studio-field{margin-bottom:18px}.studio-field label{display:flex;align-items:center;justify-content:space-between;font-size:0.6875rem;font-weight:650;margin-bottom:7px}.studio-field label .field-symbol{font:0.625rem var(--mono);color:var(--accent-hover)}.number-control{display:flex;align-items:stretch;border:1px solid #bdc2b5;transition:border-color .2s,background .2s;position:relative;background:#fcfcf8}.number-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.number-control:has([aria-invalid=true]){border-color:var(--danger)}.studio-number{width:100%;min-width:0;border:0;background:transparent;color:var(--text);padding:10px 13px;min-height:49px;font:1.3125rem var(--display);font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}.studio-number::-webkit-inner-spin-button,.studio-number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.studio-number::placeholder{color:#abb0a3;font-weight:400;font-size:1rem}.studio-number:focus-visible{outline:none}.number-control>.unit{font:0.625rem var(--mono);border-left:1px solid var(--line);min-width:3.3125rem;display:flex;align-items:center;justify-content:center;padding:0 9px}.studio-field .input-help{font-size:0.625rem;line-height:1.6;margin:6px 0 0;color:var(--muted)}.studio-field .input-help:empty{display:none}.studio-field .field-error{font-size:0.6875rem}.next-group{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 0 16px;min-height:40px;border:0;background:transparent;font-size:0.6875rem;font-weight:700}.next-group>span:last-child{font-size:1.375rem}.next-group:hover{color:var(--accent-hover)}.scope-details{border-top:1px solid var(--line);padding-top:16px;margin:0 0 13px}.scope-details summary{font:0.6875rem var(--font);font-weight:650;display:flex;justify-content:space-between;list-style:none;min-height:28px}.scope-details summary::-webkit-details-marker{display:none}.scope-details summary>span{color:var(--accent)}.scope-details p,.scope-details a{font-size:0.6875rem;line-height:1.65}.scope-details[open]>summary{margin-bottom:12px}.scope-details p{color:var(--muted);margin-bottom:10px}.scope-check{display:flex;gap:9px;align-items:flex-start;cursor:pointer;font-size:0.625rem;line-height:1.7}.scope-check input{width:16px;height:16px;flex-shrink:0}.calculate-zone{padding:0 25px 22px}.input-completion{display:flex;align-items:center;gap:16px;margin-bottom:10px}.input-completion>span:first-child{font:0.5625rem var(--mono);white-space:nowrap;color:var(--muted)}.completion-track{height:2px;background:var(--line-soft);flex:1}.completion-track>span{height:100%;width:0;display:block;background:var(--accent);transition:width .35s}.calculate-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:58px;padding:15px 20px;background:var(--accent);color:#fff;border:0;font-size:0.8125rem;font-weight:700}.calculate-button:hover{background:var(--accent-hover)}.calculate-button svg{fill:none;stroke:currentColor;stroke-width:1.5;width:24px;height:24px}.calculate-button[aria-busy=true] svg{animation:calculate-pulse .8s ease-in-out infinite alternate}.keyboard-hint{font:0.5rem var(--mono);display:block;text-align:center;margin-top:10px;color:var(--muted)}.studio-error{padding:12px;border-left:2px solid var(--danger);background:var(--danger-bg);color:var(--danger);font-size:0.75rem;line-height:1.6;margin-bottom:20px}.studio-error button{border:0;background:none;text-decoration:underline;display:block;text-align:left;font-size:0.6875rem;padding:5px 0;color:var(--danger)}
.studio-results{padding-top:0;scroll-margin-top:24px}.results-empty{display:flex;align-items:center;gap:28px;padding:34px 0}.empty-cross{font:2.75rem var(--display);color:#959e8d}.results-empty h2{font-size:1.5625rem;letter-spacing:-.035em;margin-bottom:8px}.results-empty p{font-size:0.75rem;max-width:31.25rem;margin:0;color:var(--muted)}.empty-label{font:0.5625rem var(--mono);color:var(--muted);margin-left:auto;white-space:nowrap}.result-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:40px 0 26px}.result-heading .section-number{margin-bottom:9px}.result-heading h2{margin:0;font-size:2.25rem}.result-tools{display:flex;gap:24px;align-items:center}.analysis-status{font:0.6875rem var(--mono);padding:10px 16px;background:var(--success-bg);color:var(--success);border:1px solid #bfd0bf}.analysis-status.is-fail{background:var(--danger-bg);color:var(--danger);border-color:#dfb6a9}.result-lead{display:grid;grid-template-columns:1fr 1.1fr .9fr;border-block:1px solid var(--line);padding-block:30px;gap:32px}.primary-metric{padding-right:26px;border-right:1px solid var(--line)}.primary-metric>span,.footprint-diagram>span{font:0.625rem var(--mono);color:var(--muted)}.primary-metric>div{display:flex;align-items:baseline;gap:10px;margin:10px 0 8px}.primary-metric strong{font:clamp(2.8125rem,5.3vw,4.875rem)/1 var(--display);letter-spacing:-.07em;font-weight:500;color:var(--accent-hover);font-variant-numeric:tabular-nums}.primary-metric>div>span{font:1.375rem var(--display);color:var(--muted)}.primary-metric p{font-size:0.6875rem;color:var(--muted);margin:0}.footprint-diagram{align-self:center}.footprint-diagram svg{display:block;width:100%;height:105px;margin-top:6px}.footprint-diagram p{font:0.5625rem var(--mono);color:var(--muted);margin:0}.checks-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr);gap:50px;padding:38px 0}.chart-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:20px}.chart-heading h3{font-size:1.5rem;margin:0}.chart-heading>span{font:0.5rem var(--mono);color:var(--muted)}.check-bar{display:grid;grid-template-columns:145px minmax(0,1fr) 65px 46px;align-items:center;gap:18px;min-height:59px;border:0;border-bottom:1px solid var(--line);width:100%;background:transparent;padding:13px 12px 13px 0;text-align:left}.check-bar:hover,.check-bar[aria-pressed=true]{background:var(--surface)}.check-bar[aria-pressed=true]{box-shadow:inset 2px 0 var(--accent);padding-left:12px}.check-bar .check-label{font-size:0.75rem;font-weight:650}.check-bar .bar-track{height:6px;background:#dedfd6;position:relative}.bar-track::after{content:'';height:16px;width:1px;background:var(--text);position:absolute;left:80%;top:-5px}.bar-fill{position:absolute;left:0;top:0;height:100%;background:var(--success);width:0;transition:width .65s cubic-bezier(.2,.7,.3,1)}.check-bar.is-fail .bar-fill{background:var(--danger)}.bar-value{font:0.75rem var(--mono);text-align:right}.bar-status{font:0.5625rem var(--mono);color:var(--success);text-align:right}.is-fail .bar-status{color:var(--danger)}.chart-note{font-size:0.625rem;color:var(--muted);margin-top:14px}.check-explanation{border-left:1px solid var(--line);padding-left:32px}.check-explanation .section-number{margin-bottom:12px}.check-explanation h3{font-size:1.875rem;line-height:1.1;max-width:17.5rem}.check-explanation>p{font-size:0.75rem;line-height:1.75;color:var(--muted);max-width:25rem}.check-explanation dl{margin:22px 0 0;display:flex;gap:32px}.check-explanation dt{font:0.5625rem var(--mono);color:var(--muted);margin-bottom:8px}.check-explanation dd{font:1.0625rem var(--display);margin:0}.result-scope{font-size:0.6875rem;color:var(--muted);max-width:56.25rem;line-height:1.8;margin-bottom:28px}.failure-reasons{font-size:0.8125rem;padding:18px 22px;background:var(--danger-bg);border-left:3px solid var(--danger);color:var(--danger)}.calculation-details{border-top:1px solid var(--line);padding:18px 0;margin:0}.calculation-details summary{display:flex;justify-content:space-between;font-size:1rem;list-style:none}.calculation-details summary::-webkit-details-marker{display:none}.calculation-details summary>span{color:var(--accent)}.length-limit{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line-soft);padding:12px 0;font-size:0.75rem}.length-limit span:last-child{font-family:var(--mono)}.result-inputs{display:grid;grid-template-columns:repeat(2,1fr);gap:0 50px}.result-input-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line-soft);font-size:0.6875rem}.result-input-row span:last-child{font-family:var(--mono);white-space:nowrap}.studio-dialog{padding:36px;border:1px solid var(--line);background:var(--surface);color:var(--text);width:min(90vw,490px);box-shadow:0 15px 80px #0002}.studio-dialog::backdrop{background:#22282277;backdrop-filter:blur(4px)}.studio-dialog h2{font-size:2.25rem}.studio-dialog p{font-size:0.875rem;color:var(--muted)}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:30px}.studio-page.reduced-motion *,body.reduced-motion *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
.home-page .site-main{padding:0}.home-hero{position:relative;display:grid;grid-template-columns:1fr 1.2fr;min-height:740px;padding-top:72px}.hero-copy{position:relative;z-index:2;pointer-events:none}.hero-copy a{pointer-events:auto}.hero-copy h1{font-size:clamp(3.875rem,6.8vw,6.75rem);font-weight:600;line-height:.98;letter-spacing:-.075em;white-space:nowrap;margin-bottom:38px}.hero-copy>p{font-size:1.125rem;line-height:1.7;max-width:18.75rem;margin-bottom:38px}.hero-footnote{font:0.5625rem var(--mono);display:block;max-width:18.75rem;margin-top:20px;line-height:1.8;color:var(--muted)}.hero-object{position:relative;margin-left:-100px;margin-top:30px}.hero-object-label{font:0.5rem var(--mono);text-align:right;letter-spacing:.06em;color:var(--muted)}.hero-scene{height:580px;margin-left:-140px;margin-right:-20px;margin-top:20px}.hero-scene svg{width:100%;height:100%;display:block}.hero-view-control{display:flex;gap:0;justify-content:flex-end}.hero-view-control button{border:1px solid var(--line);background:transparent;padding:10px 16px;min-height:44px;font-size:0.6875rem}.hero-view-control button+button{border-left:0}.hero-view-control .selected{background:var(--text);color:var(--surface);border-color:var(--text)}.hero-caption{font:0.5625rem var(--mono);color:var(--muted);text-align:right;margin:12px 0 0}.home-index{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;border-block:1px solid var(--line);font:0.625rem var(--mono)}.home-index a{text-decoration:none;display:flex;gap:80px;align-items:center}.home-index a>span{font-size:1.5rem;color:var(--accent)}.home-index>span:last-child{color:var(--muted)}.home-explain{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;padding:110px 0}.home-explain h2{font-size:clamp(2.5rem,4.7vw,4.5rem);line-height:1.03;margin:0}.home-explain-copy{max-width:27.5rem;align-self:end}.home-explain-copy>p:first-child{font-size:1.4375rem;line-height:1.5;letter-spacing:-.02em}.home-explain-copy p{font-size:0.875rem;line-height:1.9;color:var(--muted)}.home-photograph{position:relative;overflow:hidden;background:#282d25}.home-photograph img{width:100%;aspect-ratio:2.3;object-fit:cover}.photo-caption{display:flex;justify-content:space-between;position:absolute;bottom:0;left:0;right:0;color:#fff;background:linear-gradient(transparent,#0009);padding:60px 30px 25px;font:0.625rem var(--mono);letter-spacing:.04em}.photo-caption>span:last-child{font-size:0.5rem}.home-outcome{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;padding:110px 0}.home-outcome h2{font-size:3.75rem}.home-outcome>div>p{font-size:0.875rem;max-width:21.25rem;color:var(--muted);line-height:1.8}.outcome-list{list-style:none;padding:0;margin:0}.outcome-list li{position:relative;padding:20px 0 20px 46px;border-top:1px solid var(--line);margin:0}.outcome-list li>span{position:absolute;left:0;top:27px;font:0.625rem var(--mono);color:var(--accent-hover)}.outcome-list h3{font-size:1.625rem;margin-bottom:6px}.outcome-list p{font-size:0.75rem;color:var(--muted);margin:0}.home-finale{border-top:1px solid var(--line);padding:80px 0 100px;position:relative}.home-finale h2{font-size:clamp(4.375rem,10vw,9.375rem);line-height:.92;letter-spacing:-.07em;margin-bottom:40px}.home-finale .button{position:absolute;right:0;top:190px}.home-finale>p{font-size:0.6875rem;color:var(--muted);margin-top:40px}.reveal-item{animation:reveal-in .6s both}.home-hero .hero-copy{animation:reveal-in .7s both}.hero-object{animation:reveal-in 1s .1s both}.scene-flash{animation:scene-focus .45s ease-out}@keyframes reveal-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes calculate-pulse{to{transform:translateX(6px)}}@keyframes scene-focus{from{opacity:.5}to{opacity:1}}
@media(min-width:106.25em){.studio-layout{grid-template-columns:minmax(0,1fr) 390px}.studio-scene{height:600px}.model-title h2{font-size:3.625rem}}
@media(max-width:75em){.studio-layout{grid-template-columns:minmax(0,1fr) 330px}.inspector-body{padding:23px 20px 16px}.calculate-zone{padding-inline:20px}.model-title h2{font-size:2.375rem}.model-title{top:82px}.studio-scene{min-height:430px;height:520px}.model-toolbar{padding-right:16px}.model-description{font-size:0.5rem}.model-bottom{align-items:flex-start;flex-direction:column}.model-bottom>span{margin-left:4px}.view-switch button{padding-inline:10px}.hero-scene{margin-left:-120px}.home-hero{min-height:660px}.home-explain,.home-outcome{gap:60px}.check-bar{grid-template-columns:125px 1fr 55px 37px;gap:12px}.checks-layout{gap:30px}.primary-metric strong{font-size:3.625rem}}
@media(max-width:60em){.studio-heading h1{font-size:2.25rem}.studio-actions{gap:16px}.save-status{display:none}.studio-layout{grid-template-columns:minmax(0,1fr) 320px}.model-title h2{font-size:2.0625rem}.model-title>span{font-size:0.4375rem}.model-description{display:none}.model-toolbar{justify-content:flex-end}.model-title{top:35px}.studio-scene{min-height:400px}.view-switch button{padding-inline:9px;gap:6px;font-size:0.625rem}.view-switch svg{display:none}.model-context{padding-right:10px}.result-lead{gap:20px}.primary-metric{padding-right:20px}.primary-metric strong{font-size:2.875rem}.primary-metric>div>span{font-size:1rem}.checks-layout{grid-template-columns:1fr 270px;gap:25px}.check-bar{grid-template-columns:110px 1fr 50px;gap:10px}.bar-status{display:none}.check-explanation{padding-left:25px}.home-hero{grid-template-columns:1fr;min-height:auto;padding-top:50px}.hero-copy h1{font-size:5rem}.hero-copy>p{font-size:1rem}.hero-object{margin:-250px 0 0 200px}.hero-object-label{display:none}.hero-scene{height:500px;margin:0 -20px 0 -140px}.hero-view-control{margin-top:-30px}.hero-caption{margin-bottom:25px}.home-explain,.home-outcome{gap:40px;padding:70px 0}.home-explain h2{font-size:3rem}.home-outcome h2{font-size:2.875rem}.home-finale .button{top:150px}.home-finale h2{font-size:6.25rem}}
@media(max-width:47.5em){.studio-layout{grid-template-columns:1fr;min-height:0}.studio-heading{align-items:flex-start;margin-bottom:22px;gap:12px}.studio-heading h1{font-size:2rem}.studio-heading p{font-size:0.6875rem;max-width:13.125rem}.studio-actions{gap:12px;align-items:center}.studio-actions .text-button{font-size:0.625rem;max-width:5.3125rem;line-height:1.5;text-align:right}.studio-actions .icon-button{width:36px;height:36px;font-size:1.375rem}.model-toolbar{padding:8px 0 0;min-height:37px;justify-content:space-between}.model-description{display:block;font-size:0.5rem}.model-title{display:none}.studio-scene{height:340px;min-height:0;flex:auto}.studio-scene svg{max-height:360px}.model-bottom{padding:0 0 14px;flex-direction:row;align-items:center;gap:8px}.view-switch button{font-size:0.6875rem;padding:8px 12px;min-height:38px}.model-bottom>span{font-size:0.5rem;max-width:5.9375rem;text-align:right}.model-context{margin:0;padding:13px 0;min-height:0;gap:12px;border-bottom:1px solid var(--line)}.model-context p{font-size:0.6875rem}.model-context .context-number{font-size:1.1875rem}.inspector{border-left:0;margin-top:0}.inspector-top{padding:16px 20px}.input-tabs{padding:0 20px}.input-tabs button{padding:16px 0;font-size:0.75rem;min-height:55px}.inspector-body{padding:24px 24px 16px}.input-panel h2{font-size:2rem}.input-panel h2 br{display:none}.panel-description{font-size:0.75rem;max-width:none;margin-bottom:24px}.studio-field label{font-size:0.75rem}.studio-number{font-size:1.5rem;min-height:53px}.studio-field .input-help{font-size:0.6875rem}.scope-check{font-size:0.6875rem}.scope-details summary{font-size:0.75rem}.scope-details p,.scope-details a{font-size:0.75rem}.next-group{font-size:0.75rem;padding-bottom:20px;min-height:48px}.calculate-zone{padding:0 24px 25px}.calculate-button{min-height:59px;font-size:0.875rem}.keyboard-hint{display:none}.input-completion{margin-bottom:14px}.input-completion>span:first-child{font-size:0.625rem}.results-empty{gap:20px;padding:30px 0}.empty-label{display:none}.results-empty h2{font-size:1.5625rem}.results-empty p{font-size:0.6875rem}.result-heading{align-items:flex-start;flex-direction:column;gap:20px;padding:32px 0 22px}.result-heading h2{font-size:2.0625rem}.result-tools{width:100%;justify-content:space-between}.result-lead{grid-template-columns:1fr 1fr;gap:24px 20px;padding-block:24px}.primary-metric{padding-right:15px}.primary-metric:nth-child(2){border-right:0}.primary-metric>span{font-size:0.5625rem}.primary-metric strong{font-size:2.75rem}.primary-metric p{font-size:0.625rem}.primary-metric>div{gap:5px}.footprint-diagram{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px}.footprint-diagram svg{max-width:22.5rem;height:120px}.checks-layout{grid-template-columns:1fr;gap:24px;padding:28px 0}.check-bar{grid-template-columns:130px 1fr 57px 37px;gap:12px}.bar-status{display:block}.check-explanation{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.check-explanation>p{max-width:none}.check-explanation h3{font-size:1.75rem}.check-explanation dl{margin-top:16px}.result-inputs{grid-template-columns:1fr}.home-hero{padding-top:40px}.hero-copy h1{font-size:4.375rem}.hero-object{margin-top:-170px;margin-left:150px}.hero-scene{height:430px}.hero-copy>p{max-width:13.75rem;font-size:0.9375rem}.hero-footnote{max-width:13.75rem}.home-index{font-size:0.5rem}.home-index a{gap:24px}.home-explain,.home-outcome{grid-template-columns:1fr;gap:34px;padding:60px 0}.home-explain-copy{max-width:none}.home-explain h2{font-size:3.25rem}.home-explain-copy>p:first-child{font-size:1.375rem}.home-photograph img{aspect-ratio:1.35}.photo-caption{padding:50px 20px 20px;flex-wrap:wrap;gap:12px}.home-outcome>div>p{max-width:none}.home-finale{padding:55px 0 60px}.home-finale h2{font-size:5.3125rem}.home-finale .button{position:static}.home-finale>p{max-width:20rem}}
@media(max-width:31.25em){.studio-page .site-main{padding-top:24px}.studio-actions{gap:10px}.studio-heading h1{font-size:1.875rem}.studio-heading p{font-size:0.625rem;max-width:11.875rem}.studio-actions .text-button{font-size:0.5625rem;max-width:4rem}.studio-actions .icon-button{width:32px;height:36px}.studio-scene{height:280px}.model-bottom{padding-bottom:12px}.view-switch button{font-size:0.625rem;padding:7px 9px}.model-bottom>span{font-size:0.4375rem;max-width:4.375rem}.model-context p{font-size:0.625rem}.model-description{font-size:0.4375rem}.motion-toggle{font-size:0.5625rem}.inspector-body{padding:22px 20px 16px}.calculate-zone{padding-inline:20px}.result-lead{gap:22px 14px}.primary-metric{padding-right:8px}.primary-metric strong{font-size:2.3125rem}.primary-metric>div>span{font-size:0.8125rem}.primary-metric>span{font-size:0.5rem}.primary-metric>div{gap:4px}.check-bar{grid-template-columns:112px 1fr 55px;gap:12px;padding-right:6px}.bar-status{display:none}.check-bar .check-label{font-size:0.6875rem}.bar-value{font-size:0.6875rem}.chart-heading h3{font-size:1.3125rem}.chart-heading>span{font-size:0.4375rem}.studio-dialog{padding:26px}.dialog-actions{flex-direction:column-reverse}.home-hero{padding-top:35px}.hero-copy h1{font-size:clamp(2.8125rem,12vw,4.125rem);white-space:normal;line-height:1.02;margin-bottom:24px}.hero-copy>p{font-size:0.9375rem;line-height:1.6;margin-bottom:24px}.hero-copy .button{min-height:52px;font-size:0.8125rem;padding:12px 18px}.hero-copy .button>span{margin-left:15px}.hero-footnote{font-size:0.5rem;max-width:none;margin-top:14px}.hero-object{margin:15px 0 0}.hero-scene{height:300px;margin:0 -20px}.hero-view-control{margin-top:0;justify-content:center}.hero-view-control button{font-size:0.625rem;min-height:42px}.hero-caption{text-align:center;font-size:0.5rem;margin-bottom:26px}.home-index>span:last-child{display:none}.home-explain h2{font-size:2.8125rem}.home-explain-copy>p:first-child{font-size:1.25rem}.home-finale h2{font-size:4.375rem}.home-outcome h2{font-size:2.8125rem}.photo-caption{font-size:0.5rem}.home-explain,.home-outcome{padding:48px 0}.section-number{font-size:0.5625rem}}
@media print{.studio-heading,.studio-layout,.studio-results>.results-empty,.result-tools,.studio-dialog,.text-button,.chart-note{display:none!important}.studio-results{padding:0}.result-heading{padding:0 0 18px}.result-heading h2{font-size:1.75rem}.result-lead{padding:18px 0;gap:18px}.primary-metric strong{font-size:2.5rem;color:#000}.result-lead{grid-template-columns:1fr 1fr 1fr}.checks-layout{grid-template-columns:1fr;display:block;padding:20px 0}.check-explanation{display:none}.check-bar{grid-template-columns:130px 1fr 70px 50px;break-inside:avoid}.bar-status{display:block}.bar-fill{print-color-adjust:exact;-webkit-print-color-adjust:exact}.result-inputs{grid-template-columns:1fr 1fr}.result-scope{font-size:0.625rem}.calculation-details{break-inside:avoid}.studio-page .site-main{padding:0}.analysis-status{display:block}}
/* Keep the primary action inside a normal desktop viewport. Contextual help lives beside the model. */
@media(min-width:47.5625em){.studio-field .input-help{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.studio-field{margin-bottom:16px}.studio-number{min-height:46px}.inspector-body{padding-top:22px}.input-panel h2{font-size:1.8125rem}.panel-description{margin-bottom:20px}.studio-layout{min-height:700px}.model-title{top:80px}.studio-scene{min-height:410px}.calculate-zone{padding-bottom:18px}}
.print-check-values{display:none}@media print{.print-check-values{display:block;grid-column:1/-1;font:0.625rem var(--mono);margin-top:-5px;color:#333}.check-bar{background:transparent!important;border-bottom-color:#bbb}.result-tools{display:flex!important}.result-tools .text-button{display:none!important}}
@media(max-width:47.5em){.studio-field label{font-size:0.8125rem}.studio-field .input-help{font-size:0.75rem}.scope-check{font-size:0.75rem}.panel-description{font-size:0.8125rem}.model-context p{font-size:0.75rem}.primary-metric>span{font-size:0.625rem}.primary-metric p{font-size:0.6875rem}.result-scope{font-size:0.75rem}.check-bar .check-label{font-size:0.75rem}.chart-note{font-size:0.6875rem}.check-explanation>p{font-size:0.8125rem}.result-input-row{font-size:0.75rem}.studio-heading p{font-size:0.75rem}.studio-actions .text-button{font-size:0.625rem;max-width:4.625rem}}
@media(max-width:22.5em){.studio-heading p{max-width:9.6875rem;font-size:0.6875rem}.studio-actions{gap:7px}.studio-actions .text-button{max-width:3.8125rem;font-size:0.5625rem}.primary-metric strong{font-size:2rem}.primary-metric>div>span{font-size:0.6875rem}.check-bar{grid-template-columns:103px 1fr 51px;gap:8px}.check-bar .check-label{font-size:0.6875rem}.chart-heading{flex-wrap:wrap;gap:5px}}
.calculate-button{color:#11170f}.calculate-button:hover{color:#fff}.studio-scene .scene-label text,.hero-scene .scene-label text{fill:#ac3819}
@media(min-width:47.5625em) and (max-height:900px){.studio-page .header-inner{min-height:72px}.studio-page .site-main{padding-top:22px}.studio-heading{margin-bottom:20px}.studio-heading h1{font-size:2.125rem}.studio-layout{min-height:660px}.studio-scene{min-height:380px}.model-title h2{font-size:2.625rem}}
@media(min-width:47.5625em) and (max-height:800px){.inspector-body{max-height:calc(100vh - 375px);overflow-y:auto;scrollbar-width:thin}.studio-layout{min-height:0}.studio-scene{height:420px;min-height:0}.model-context{min-height:70px;padding-block:16px}.calculate-zone{padding-top:12px}.inspector{align-self:start}}
@media(max-width:22.5em){.studio-heading h1{font-size:1.6875rem}}
@media(max-width:31.25em){.home-finale h2{font-size:clamp(2.625rem,15vw,4.375rem)}}

/* Readable operational type. Small decorative marks never carry instructions. */
@media screen{
  .studio-heading p,.save-status,.model-description,.motion-toggle,
  .model-title>span,.model-bottom>span,.inspector-top,.inspector-top span:last-child,
  .input-tabs button>span,.studio-field label .field-symbol,.number-control>.unit,
  .studio-field .input-help,.studio-field .field-error,.scope-check,
  .scope-details p,.scope-details a,.input-completion>span:first-child,.keyboard-hint,
  .studio-error button,.empty-label,.analysis-status,.primary-metric>span,
  .footprint-diagram>span,.primary-metric p,.footprint-diagram p,
  .chart-heading>span,.bar-status,.chart-note,.check-explanation dt,
  .result-scope,.result-input-row,.studio-page .section-number{font-size:0.75rem}
  .studio-field label,.panel-description,.next-group,.scope-details summary,
  .input-tabs button,.check-bar .check-label{font-size:0.8125rem}
  .studio-actions .text-button,.view-switch button,.bar-value{font-size:0.75rem}
  .model-context p,.results-empty p,.check-explanation>p{font-size:0.8125rem}
  .model-toolbar,.model-bottom,.studio-actions{flex-wrap:wrap}
  .model-title>span{max-width:26ch;line-height:1.5}
  .input-tabs{grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr) minmax(0,1fr);gap:5px;padding-inline:16px}
  .input-tabs button{gap:5px;min-height:56px}
  .input-tabs button>span{font-size:0.6875rem}
  .view-switch button{min-height:44px}
  .studio-actions .icon-button{width:44px;height:44px;flex-shrink:0}
  .scope-check{line-height:1.65}
  .scope-check input{width:18px;height:18px}
  .scope-details summary{min-height:36px;align-items:center}
  .chart-heading{flex-wrap:wrap}
  .keyboard-hint{line-height:1.5}
}

/* Long values wrap within their own column, preserving all displayed digits. */
.studio-heading>div,.result-heading>div,.results-empty>div,
.result-lead>*,.checks-layout>*,.check-bar>*,.check-explanation dl>div,
.result-inputs>*,.length-limit>*,.result-input-row>*{min-width:0}
@media screen{.result-lead{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,.9fr)}}
.primary-metric>div{flex-wrap:wrap}
.primary-metric strong,.primary-metric p,.bar-value,.check-explanation dd,
.length-limit>span,.result-input-row>span,.failure-reasons{overflow-wrap:anywhere}
.check-explanation dl{flex-wrap:wrap;gap:20px 32px}
.result-input-row span:last-child{white-space:normal;text-align:right}
.length-limit span:last-child{text-align:right}
@media screen{.check-bar{grid-template-columns:145px minmax(20px,1fr) minmax(88px,auto) 46px;gap:14px}}

@media screen and (max-width:75em){
  .check-bar{grid-template-columns:120px minmax(20px,1fr) 88px 46px;gap:12px}
  .bar-status{display:block}
}
@media screen and (max-width:60em){
  .checks-layout{grid-template-columns:minmax(0,1fr);gap:24px}
  .check-explanation{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}
  .check-explanation>p{max-width:40rem}
}
@media screen and (max-width:47.5em){
  .studio-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
  .studio-heading p{max-width:none}
  .studio-actions{justify-content:space-between;gap:16px;width:100%}
  .studio-actions .text-button{max-width:none;text-align:left;min-height:44px}
  .model-description{font-size:0.75rem;line-height:1.5}
  .model-bottom>span{max-width:none;text-align:left;margin-left:0}
  .view-switch button{font-size:0.75rem;padding-inline:12px}
  .studio-number{font-size:1.5rem}
  .result-lead{grid-template-columns:repeat(2,minmax(0,1fr))}
  .primary-metric>span{display:block;line-height:1.5}
  .primary-metric p{line-height:1.65}
  .primary-metric strong{font-size:clamp(2rem,7.5vw,3.25rem)}
  .primary-metric>div>span{font-size:1rem}
  .check-bar{grid-template-columns:130px minmax(24px,1fr) 88px 46px}
  .bar-status{display:block}
}
@media screen and (max-width:31.25em){
  .model-toolbar{column-gap:16px;row-gap:0;align-items:center}
  .model-description{font-size:0.75rem}
  .model-bottom{align-items:flex-start;gap:10px;flex-direction:column}
  .view-switch{width:100%}
  .view-switch button{flex:1;padding-inline:8px}
  .inspector-top{padding-inline:18px}
  .input-tabs{padding-inline:14px;grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr) minmax(0,1fr)}
  .input-tabs button{gap:4px;font-size:0.8125rem;white-space:normal;line-height:1.5}
  .input-tabs button>span{display:none}
  .result-lead{grid-template-columns:minmax(0,1fr);gap:22px}
  .primary-metric{padding:0 0 22px;border-right:0;border-bottom:1px solid var(--line)}
  .primary-metric strong{font-size:clamp(2.375rem,12vw,3.4375rem);letter-spacing:-.055em}
  .footprint-diagram{border-top:0;padding-top:0}
  .check-bar{grid-template-columns:minmax(0,1fr) auto;gap:12px;min-height:75px;padding-block:14px}
  .check-bar .check-label{grid-column:1;grid-row:1;font-size:0.8125rem}
  .check-bar .bar-value{grid-column:2;grid-row:1;max-width:7.5rem;font-size:0.75rem}
  .check-bar .bar-track{grid-column:1;grid-row:2}
  .bar-status{display:inline-flex;grid-column:2;grid-row:2;justify-self:end;align-items:center;font-size:0.75rem;line-height:1.3;border:1px solid currentColor;padding:3px 6px}
}

/* Session scope and loading feedback stay close to the actions they explain. */
.studio-session-note{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;font-size:0.75rem;line-height:1.65;color:var(--muted);margin:-8px 0 20px}
.studio-session-note a{font-weight:600;color:var(--text);text-underline-offset:4px}
.studio-session-note a:hover{color:var(--accent-hover)}
.studio-actions button:disabled,.calculate-button:disabled{cursor:progress;opacity:.55}
.studio-actions:has(#load-example:disabled) .save-status::before{background:var(--accent);animation:studio-loading 1s ease-in-out infinite alternate}
.scope-check:has(input[aria-invalid=true]){padding:12px;border:1px solid var(--danger);border-left-width:3px;background:var(--danger-bg);color:var(--danger)}
.scope-check input[aria-invalid=true]{outline:2px solid var(--danger);outline-offset:2px}
@keyframes studio-loading{to{opacity:.3}}
@media(prefers-reduced-motion:reduce){.studio-actions .save-status::before{animation:none!important}}
@media print{.studio-session-note{display:none}}

/* At tablet widths, the diagram owns its space; the decorative headline stays out of it. */
@media screen and (max-width:68.75em){
  .model-title{display:none}
  .model-toolbar{min-height:50px}
  .studio-scene{min-height:0}
}
/* Relative control sizes and wrapping also accommodate a larger browser default font. */
.view-switch{flex-wrap:wrap}
.view-switch button{flex:1 1 auto}
.studio-actions .icon-button{min-width:2.75rem;min-height:2.75rem}
.studio-dialog{position:fixed;width:min(calc(100% - 32px),31rem);max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;margin:auto}
.studio-dialog h2{padding-right:1.5rem;overflow-wrap:anywhere}
.studio-dialog .section-number{padding-right:2rem}
.input-panel,.scope-details,.scope-check,.calculate-zone{overflow-wrap:anywhere}
.model-area:has([data-geometry-state="incompatible"]) .model-title{display:none}
