:root{color:#203c3b;font-synthesis:none;background:#f6f6ef;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:17px;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}button,input{font:inherit}button,.primary-link{color:#203c3b;cursor:pointer;touch-action:manipulation;background:#fff;border:1px solid #6e8582;border-radius:9px;min-height:44px;padding:9px 16px}button:disabled{cursor:not-allowed;opacity:.42}button:hover:not(:disabled){background:#e5efeb}:focus-visible{outline-offset:4px;outline:3px solid #9d4100}main:focus:not(:focus-visible){outline:none}.site-header{border-bottom:1px solid #d4ded9;justify-content:space-between;align-items:center;gap:24px;max-width:1200px;margin:auto;padding:24px 32px;display:flex}.wordmark{letter-spacing:-.8px;font-size:25px;font-weight:800;line-height:1.2;text-decoration:none}.wordmark span{color:#526662;letter-spacing:.2px;margin-top:5px;font-size:12px;font-weight:500;display:block}nav{flex-wrap:wrap;gap:8px;display:flex}nav a{border-radius:9px;min-height:44px;padding:11px 14px;font-size:15px;text-decoration:none}nav a[aria-current=page]{background:#dfebe5;font-weight:700;box-shadow:inset 0 -3px #355b50}main{max-width:1200px;margin:auto;padding:26px 32px 44px}h1{letter-spacing:-1.4px;margin:12px 0 20px;font-size:clamp(30px,4.1vw,48px);font-weight:750;line-height:1.13}h2{margin:0 0 18px;font-size:21px;line-height:1.3}p{margin:0 0 16px}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;color:#546e63;margin-bottom:8px;font-size:12px;font-weight:700}.intro{color:#50645f;max-width:630px;font-size:18px}.section-context{color:#526662;margin-bottom:22px;font-size:13px}.scene-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.version-tag{white-space:nowrap;border:1px solid #c6d6cd;border-radius:30px;margin-top:5px;padding:8px 14px;font-size:12px}.scene-layout{grid-template-columns:minmax(0,1.4fr) minmax(310px,1fr);align-items:start;gap:24px;display:grid}.board-card,.tools-card{background:#fffefa;border:1px solid #d0dad3;border-radius:18px;min-width:0;padding:24px}.board-topline{justify-content:space-between;align-items:start;gap:12px;font-size:14px;font-weight:650;display:flex}.unit-label{color:#5d7168;font-size:12px;font-weight:400}.geometry-svg{background:#f3f6ed;border-radius:12px;width:100%;height:auto;max-height:500px;margin:12px 0 0;display:block}.rectangle-fill{fill:#d7e7c0}.cell-line{stroke:#739369;stroke-width:1px}.rectangle-outline{fill:none;stroke:#865127;stroke-width:4px}.side-label{fill:#324c36;font:600 20px system-ui,sans-serif}.scale-note{color:#5a6c5d;margin:8px 0 20px;font-size:11px}.measurements{grid-template-columns:1fr 1fr;gap:12px;display:grid}.measurement{border:1px solid #dfded4;border-radius:10px;min-width:0;padding:16px 12px}.measurement>span{font-size:12px;display:block}.measurement strong{font-variant-numeric:tabular-nums;margin:6px 0;font-size:clamp(23px,2.8vw,30px);display:block}.measurement .formula{white-space:nowrap;font-size:12px}.boundary{border-top:4px solid #865127}.surface{background:#edf3e4;border-top:4px solid #526f40}.lock-button{border-color:#567661;width:100%;font-weight:650}.lock-button[aria-pressed=true]{background:#e5eeda}.lock-note,.field-note{color:#52665a;font-size:12px;display:block}.lock-note{margin:10px 0 20px}.side-control{border:0;border-top:1px solid #d9e1d7;min-width:0;margin:0;padding:16px 0 12px}.side-control legend{padding:0 8px 0 0;font-size:15px;font-weight:700}.stepper{justify-content:space-between;align-items:center;gap:14px;display:flex}.stepper strong{font-size:25px}.stepper button{width:48px;padding:4px;font-size:23px}input[type=range]{accent-color:#476748;width:100%;height:44px;margin:5px 0;display:block}.exact-form label{margin-bottom:4px;font-size:12px;display:block}.exact-row{gap:8px;display:flex}.exact-row input{width:100%;min-width:0;min-height:44px;color:inherit;background:#fff;border:1px solid #879688;border-radius:8px;padding:8px 12px}.exact-row button{flex-shrink:0;font-size:14px}.exact-row input[aria-invalid=true]{border:2px solid #a03529}.exact-form .field-note{margin-top:6px}.input-error{color:#9b3020;margin:0;font-size:14px}.input-error:not(:empty){border:1px solid #b7432b;border-radius:8px;margin:10px 0 16px;padding:10px}.reset-button{width:100%;margin-top:5px}.reset-button+.field-note{margin-top:7px;margin-bottom:0}.explanation{border-top:1px solid #cfdacf;margin:26px 0 18px;padding:26px 0 0}.explanation>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;display:grid}.explanation p{color:#4c6157;font-size:15px}.technical-note{color:#52665a;max-width:850px;font-size:13px}.site-footer{color:#52665a;border-top:1px solid #d4ded9;flex-wrap:wrap;justify-content:space-between;gap:12px;max-width:1136px;margin:auto;padding:24px 0 32px;font-size:12px;display:flex}.home-intro{padding:32px 0 18px}.entry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0;display:grid}.entry-card{background:#fffefa;border:1px solid #c6d5c8;border-radius:16px;padding:24px;text-decoration:none;display:block}.entry-card h2{margin:12px 0}.entry-card p{color:#52665a;font-size:14px}.entry-card>span:last-child{font-size:24px}.skip-link{z-index:10;background:#fff;border:2px solid #203c3b;padding:12px;position:fixed;top:-100px;left:12px}.skip-link:focus{top:12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:850px){.site-header{flex-direction:column;align-items:flex-start;gap:14px;padding:20px}main{padding:22px 20px 30px}.scene-layout{grid-template-columns:minmax(0,1fr)}.geometry-svg{max-height:430px}.version-tag{display:none}.explanation>div{grid-template-columns:1fr;gap:0}.site-footer{margin:0 20px}.entry-grid{grid-template-columns:1fr}}@media (max-width:420px){:root{font-size:16px}.site-header,main{padding-left:16px;padding-right:16px}nav{justify-content:space-between;gap:2px;width:100%}nav a{padding:11px 6px;font-size:13px}.board-card,.tools-card{border-radius:12px;padding:16px}.board-topline{flex-direction:column;gap:4px}.measurement{padding:12px 8px}.measurement .formula{font-size:10px}.measurements{gap:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
