body{margin:0;color:#29322e;background:#fff;font-family:Roboto,Arial,sans-serif}
.header{height:172px;background-position:center;background-size:cover}.header__text{font-size:42px;padding:32px 16px;line-height:1.25;text-shadow:0 2px 8px #0009}
.test-note{padding:12px;background:#f0f6f1;font-size:14px}.test-note a{color:#285c38;text-decoration:underline}
.layout{max-width:1100px;margin:32px auto;display:grid;grid-template-columns:260px minmax(0,1fr);gap:38px;padding:0 20px}
.stats{text-align:left;padding-top:58px;font-size:15px;line-height:1.8}.stats h2{font-size:17px;line-height:1.4;margin-bottom:18px}.stats strong{font-weight:700}
.explanation{font-size:13px;color:#68746a;line-height:1.6;margin:18px 0}.board-panel{min-width:0}.board-panel label{font-size:14px}
#select{margin:10px auto 0;padding:10px 36px 10px 16px;border:1px solid #bdcbbf;border-radius:4px;font-size:16px;background:#fff;min-width:220px}
.section__text{font-size:20px;margin-top:22px}.board-scroll{overflow-x:auto;padding:12px 4px}.sections{max-width:none;width:max-content;min-width:0;margin:8px auto}
.item-row{justify-content:flex-start;gap:5px;margin-bottom:5px}.item__text{width:24px;margin:0 8px 0 0;text-align:right;color:#738074;font-size:13px;flex-shrink:0}
.item__sqrt{width:25px;height:25px;flex-shrink:0;padding:0;font:10px Arial,sans-serif;color:#344238;cursor:pointer}.item__sqrt:hover,.item__sqrt:focus-visible,.item__sqrt.has__data:hover,.item__sqrt.none__data:hover{background:#ffe9a8;outline:2px solid #52654e;outline-offset:1px}.item__sqrt.empty{visibility:hidden}
.details{min-height:46px;font-size:14px;line-height:1.6;margin:4px 0 20px}.info-row{gap:28px;font-size:13px}.info__text{max-width:190px;line-height:1.4}
#error{padding:16px;background:#fff1df;color:#733a00;line-height:1.5}
@media(max-width:760px){.header__text{font-size:30px;padding:40px 12px}.layout{display:flex;flex-direction:column;margin:20px auto;padding:0 12px;gap:18px}.stats{padding:0;text-align:center}.stats h2{margin-bottom:8px}.stats .explanation{margin:6px 0}.board-panel{width:100%}.item__sqrt{width:22px;height:22px;font-size:9px}.item-row{gap:4px}.board-scroll{padding-bottom:15px}.info-row{gap:16px}}

/* All floors share one width; cells divide it equally on each floor. */
#board{--cell-size:25px;--floor-gap:5px}
.floor-apartments{display:grid;gap:var(--floor-gap);width:calc(var(--max-flats) * (var(--cell-size) + var(--floor-gap)) - var(--floor-gap));min-height:var(--cell-size)}
.floor-apartments .item__sqrt{width:100%;min-width:0;box-sizing:border-box}
@media(max-width:760px){#board{--cell-size:22px;--floor-gap:4px}}

