@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-cyrillic-ext-wght-normal-YcVxMP-u.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-cyrillic-wght-normal-UWPuZLjM.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-math-wght-normal-sOy7rEfW.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-symbols-wght-normal-DQ5VrUkH.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-vietnamese-wght-normal-CfJ7gtf3.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-latin-ext-wght-normal-C2Wlntb9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/lora-latin-wght-normal-BiLcIKcI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rosario Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/rosario-vietnamese-wght-normal-CvWtLzwJ.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Rosario Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/rosario-latin-ext-wght-normal-BArvz3rq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rosario Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/rosario-latin-wght-normal-BwT_QMpO.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--display:"Lora Variable", Georgia, "Times New Roman", serif;--body:"Rosario Variable", "Segoe UI", Arial, sans-serif;--bg:#f8f3e9;--bg-2:#f0e8d8;--card:#fffdf8;--ink:#1b2440;--muted:#4b536a;--line:#d9cdb6;--line-strong:#b9a98a;--cobalt:#1f4fa3;--cobalt-deep:#163a7c;--cobalt-ink:#fff;--cobalt-pale:#e2eaf8;--terra:#a8482a;--terra-pale:#f6e1d6;--ochre:#c98e1c;--olive:#56662a;--link:#1d4b9c;--focus:#d18a00;--input-bg:#fff;--warn-bg:#fbeedc;--warn-line:#d9a35c;--warn-ink:#6b3a06;--bad:#a3271b;--tile-ground:#fbf8f1;--shadow:0 1px 0 #1b24400f, 0 10px 28px -16px #1b244059;--radius:14px;--az:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Crect width='40' height='40' fill='%23fbf8f1'/%3E%3Cpath d='M20 .8 39.2 20 20 39.2.8 20Z' fill='none' stroke='%232350a8' stroke-width='1.1'/%3E%3Cg fill='%232350a8'%3E%3Ccircle r='8'/%3E%3Ccircle cx='40' r='8'/%3E%3Ccircle cy='40' r='8'/%3E%3Ccircle cx='40' cy='40' r='8'/%3E%3Cpath d='M20 6.5c3.2 5 3.2 8.5 0 13.5-3.2-5-3.2-8.5 0-13.5ZM20 33.5c3.2-5 3.2-8.5 0-13.5-3.2 5-3.2 8.5 0 13.5ZM6.5 20c5-3.2 8.5-3.2 13.5 0-5 3.2-8.5 3.2-13.5 0ZM33.5 20c-5-3.2-8.5-3.2-13.5 0 5 3.2 8.5 3.2 13.5 0Z'/%3E%3Ccircle cx='11' cy='11' r='1.7'/%3E%3Ccircle cx='29' cy='11' r='1.7'/%3E%3Ccircle cx='11' cy='29' r='1.7'/%3E%3Ccircle cx='29' cy='29' r='1.7'/%3E%3C/g%3E%3Cg fill='%23fbf8f1'%3E%3Ccircle r='3.4'/%3E%3Ccircle cx='40' r='3.4'/%3E%3Ccircle cy='40' r='3.4'/%3E%3Ccircle cx='40' cy='40' r='3.4'/%3E%3C/g%3E%3Ccircle cx='20' cy='20' r='2.6' fill='%23d9a441'/%3E%3C/svg%3E");--floor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Crect width='56' height='56' fill='%23e9d9c0'/%3E%3Cpath d='M16 1.5h24L54.5 16v24L40 54.5H16L1.5 40V16Z' fill='%23b8603d'/%3E%3Cpath d='M16 1.5h24L54.5 16v3L40 4.5H16L4.5 16v24L1.5 40V16Z' fill='%23c87452' opacity='.6'/%3E%3Cg fill='%232350a8'%3E%3Cpath d='M0-10 10 0 0 10-10 0Z'/%3E%3Cpath d='M56-10 66 0 56 10 46 0Z'/%3E%3Cpath d='M0 46 10 56 0 66-10 56Z'/%3E%3Cpath d='M56 46 66 56 56 66 46 56Z'/%3E%3C/g%3E%3Cg fill='%23fbf8f1'%3E%3Ccircle r='2.2'/%3E%3Ccircle cx='56' r='2.2'/%3E%3Ccircle cy='56' r='2.2'/%3E%3Ccircle cx='56' cy='56' r='2.2'/%3E%3C/g%3E%3C/svg%3E");--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0e1628;--bg-2:#121d35;--card:#16213b;--ink:#efe8da;--muted:#b9bdcb;--line:#2c3b5e;--line-strong:#44557d;--cobalt:#8fb0f2;--cobalt-deep:#b7cdf7;--cobalt-ink:#0b1430;--cobalt-pale:#1d2c50;--terra:#f0a07f;--terra-pale:#3a2219;--ochre:#f0c25e;--olive:#b7c77f;--link:#9dbcf6;--focus:#ffc24a;--input-bg:#0f1930;--warn-bg:#33240f;--warn-line:#8a6326;--warn-ink:#ffd9a0;--bad:#ff9d8f;--tile-ground:#1a2746;--shadow:0 1px 0 #00000059, 0 12px 30px -16px #000c;--az:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Crect width='40' height='40' fill='%23182443'/%3E%3Cpath d='M20 .8 39.2 20 20 39.2.8 20Z' fill='none' stroke='%236f93de' stroke-width='1.1'/%3E%3Cg fill='%236f93de'%3E%3Ccircle r='8'/%3E%3Ccircle cx='40' r='8'/%3E%3Ccircle cy='40' r='8'/%3E%3Ccircle cx='40' cy='40' r='8'/%3E%3Cpath d='M20 6.5c3.2 5 3.2 8.5 0 13.5-3.2-5-3.2-8.5 0-13.5ZM20 33.5c3.2-5 3.2-8.5 0-13.5-3.2 5-3.2 8.5 0 13.5ZM6.5 20c5-3.2 8.5-3.2 13.5 0-5 3.2-8.5 3.2-13.5 0ZM33.5 20c-5-3.2-8.5-3.2-13.5 0 5 3.2 8.5 3.2 13.5 0Z'/%3E%3Ccircle cx='11' cy='11' r='1.7'/%3E%3Ccircle cx='29' cy='11' r='1.7'/%3E%3Ccircle cx='11' cy='29' r='1.7'/%3E%3Ccircle cx='29' cy='29' r='1.7'/%3E%3C/g%3E%3Cg fill='%23182443'%3E%3Ccircle r='3.4'/%3E%3Ccircle cx='40' r='3.4'/%3E%3Ccircle cy='40' r='3.4'/%3E%3Ccircle cx='40' cy='40' r='3.4'/%3E%3C/g%3E%3Ccircle cx='20' cy='20' r='2.6' fill='%23f0c25e'/%3E%3C/svg%3E");--floor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Crect width='56' height='56' fill='%23241a1a'/%3E%3Cpath d='M16 1.5h24L54.5 16v24L40 54.5H16L1.5 40V16Z' fill='%23733522'/%3E%3Cpath d='M16 1.5h24L54.5 16v3L40 4.5H16L4.5 16v24L1.5 40V16Z' fill='%23874431' opacity='.6'/%3E%3Cg fill='%23466fc4'%3E%3Cpath d='M0-10 10 0 0 10-10 0Z'/%3E%3Cpath d='M56-10 66 0 56 10 46 0Z'/%3E%3Cpath d='M0 46 10 56 0 66-10 56Z'/%3E%3Cpath d='M56 46 66 56 56 66 46 56Z'/%3E%3C/g%3E%3Cg fill='%23f0c25e'%3E%3Ccircle r='2.2'/%3E%3Ccircle cx='56' r='2.2'/%3E%3Ccircle cy='56' r='2.2'/%3E%3Ccircle cx='56' cy='56' r='2.2'/%3E%3C/g%3E%3C/svg%3E");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1628;--bg-2:#121d35;--card:#16213b;--ink:#efe8da;--muted:#b9bdcb;--line:#2c3b5e;--line-strong:#44557d;--cobalt:#8fb0f2;--cobalt-deep:#b7cdf7;--cobalt-ink:#0b1430;--cobalt-pale:#1d2c50;--terra:#f0a07f;--terra-pale:#3a2219;--ochre:#f0c25e;--olive:#b7c77f;--link:#9dbcf6;--focus:#ffc24a;--input-bg:#0f1930;--warn-bg:#33240f;--warn-line:#8a6326;--warn-ink:#ffd9a0;--bad:#ff9d8f;--tile-ground:#1a2746;--shadow:0 1px 0 #00000059, 0 12px 30px -16px #000c;--az:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Crect width='40' height='40' fill='%23182443'/%3E%3Cpath d='M20 .8 39.2 20 20 39.2.8 20Z' fill='none' stroke='%236f93de' stroke-width='1.1'/%3E%3Cg fill='%236f93de'%3E%3Ccircle r='8'/%3E%3Ccircle cx='40' r='8'/%3E%3Ccircle cy='40' r='8'/%3E%3Ccircle cx='40' cy='40' r='8'/%3E%3Cpath d='M20 6.5c3.2 5 3.2 8.5 0 13.5-3.2-5-3.2-8.5 0-13.5ZM20 33.5c3.2-5 3.2-8.5 0-13.5-3.2 5-3.2 8.5 0 13.5ZM6.5 20c5-3.2 8.5-3.2 13.5 0-5 3.2-8.5 3.2-13.5 0ZM33.5 20c-5-3.2-8.5-3.2-13.5 0 5 3.2 8.5 3.2 13.5 0Z'/%3E%3Ccircle cx='11' cy='11' r='1.7'/%3E%3Ccircle cx='29' cy='11' r='1.7'/%3E%3Ccircle cx='11' cy='29' r='1.7'/%3E%3Ccircle cx='29' cy='29' r='1.7'/%3E%3C/g%3E%3Cg fill='%23182443'%3E%3Ccircle r='3.4'/%3E%3Ccircle cx='40' r='3.4'/%3E%3Ccircle cy='40' r='3.4'/%3E%3Ccircle cx='40' cy='40' r='3.4'/%3E%3C/g%3E%3Ccircle cx='20' cy='20' r='2.6' fill='%23f0c25e'/%3E%3C/svg%3E");--floor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Crect width='56' height='56' fill='%23241a1a'/%3E%3Cpath d='M16 1.5h24L54.5 16v24L40 54.5H16L1.5 40V16Z' fill='%23733522'/%3E%3Cpath d='M16 1.5h24L54.5 16v3L40 4.5H16L4.5 16v24L1.5 40V16Z' fill='%23874431' opacity='.6'/%3E%3Cg fill='%23466fc4'%3E%3Cpath d='M0-10 10 0 0 10-10 0Z'/%3E%3Cpath d='M56-10 66 0 56 10 46 0Z'/%3E%3Cpath d='M0 46 10 56 0 66-10 56Z'/%3E%3Cpath d='M56 46 66 56 56 66 46 56Z'/%3E%3C/g%3E%3Cg fill='%23f0c25e'%3E%3Ccircle r='2.2'/%3E%3Ccircle cx='56' r='2.2'/%3E%3Ccircle cy='56' r='2.2'/%3E%3Ccircle cx='56' cy='56' r='2.2'/%3E%3C/g%3E%3C/svg%3E");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--bg);background-image:radial-gradient(1200px 500px at 85% -10%, color-mix(in srgb, var(--bg-2) 70%, transparent), transparent 70%), radial-gradient(900px 600px at -10% 40%, color-mix(in srgb, var(--bg-2) 55%, transparent), transparent 70%);color:var(--ink);font-family:var(--body);font-variant-numeric:lining-nums;min-height:100vh;margin:0;font-size:1.0625rem;line-height:1.6}input,select,textarea,button{font-variant-numeric:lining-nums}h1,h2,h3{font-family:var(--display);color:var(--ink);text-wrap:balance;line-height:1.2}h1{letter-spacing:-.01em;margin:0 0 .4em;font-size:clamp(1.9rem,1.4rem + 2.2vw,2.85rem);font-weight:600}h2{margin:0 0 .6em;font-size:clamp(1.4rem,1.2rem + .9vw,1.8rem);font-weight:600}h3{margin:1.4em 0 .4em;font-size:1.2rem;font-weight:600}p{margin:0 0 1em}a{color:var(--link);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}strong{font-weight:700}.icon{vertical-align:-.2em;flex:none;width:1.15em;height:1.15em}.wrap{width:100%;max-width:1180px;margin-inline:auto;padding-inline:16px}@media (width>=720px){.wrap{padding-inline:28px}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:40;background:var(--cobalt);color:var(--cobalt-ink);border-radius:8px;padding:10px 16px;font-weight:700;position:absolute;top:-100px;left:12px}.skip-link:focus{top:12px}.print-only{display:none}[hidden]{display:none!important}.masthead{background:var(--card);border-bottom:1px solid var(--line)}.frieze{background:var(--az) 0 0 / 26px 26px repeat-x;border-bottom:3px solid var(--cobalt);height:26px}.masthead__bar{align-items:center;gap:14px;padding-block:12px;display:flex}.brand{color:var(--ink);font-family:var(--display);letter-spacing:-.01em;align-items:center;gap:10px;min-height:44px;font-size:1.35rem;font-weight:600;text-decoration:none;display:inline-flex}.brand__mark{width:38px;height:38px;box-shadow:0 0 0 2px var(--cobalt);border-radius:6px;flex:none}.mk-ground{fill:var(--tile-ground)}.mk-blue{fill:var(--cobalt)}.mk-line{fill:none;stroke:var(--cobalt);stroke-width:1.4px}.mk-sun{fill:var(--ochre)}.masthead__tag{color:var(--muted);margin:0;font-size:.95rem;display:none}@media (width>=860px){.masthead__tag{border-left:1px solid var(--line);padding-left:14px;display:block}}.theme-toggle{border:1px solid var(--line-strong);min-width:44px;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:0 12px;font-size:.92rem;display:inline-flex}.theme-toggle:hover{border-color:var(--cobalt)}.tt{align-items:center;gap:6px;display:none}:root:not([data-theme]) .tt--system,:root[data-theme=light] .tt--light,:root[data-theme=dark] .tt--dark{display:inline-flex}@media (width<=420px){.tt__text{display:none}}.site-nav{border-top:1px solid var(--line)}.site-nav ul{scrollbar-width:thin;gap:4px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.site-nav li{flex:none}.site-nav a{min-height:46px;color:var(--ink);border-bottom:3px solid #0000;align-items:center;gap:7px;padding:0 12px;font-size:.97rem;font-weight:600;text-decoration:none;display:inline-flex}.site-nav a .icon{color:var(--cobalt)}.site-nav a:hover{border-bottom-color:var(--line-strong)}.site-nav a[aria-current=page]{border-bottom-color:var(--terra);color:var(--ink)}.hero{padding-block:26px 10px}.hero .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--terra);align-items:center;gap:8px;margin:0 0 8px;font-size:.85rem;font-weight:700;display:inline-flex}.hero .eyebrow:before{content:"";background:var(--az) center / 16px 16px;width:16px;height:16px;box-shadow:0 0 0 1px var(--cobalt);border-radius:2px}.lead{color:var(--muted);max-width:68ch;margin:0;font-size:1.13rem}.tool{padding-block:14px 34px}.tool__grid{align-items:start;gap:22px;display:grid}@media (width>=980px){.tool__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}.result-panel{position:sticky;top:14px}}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}@media (width>=560px){.panel{padding:22px}}.calc{gap:16px;display:grid}.result-panel{border-radius:180px 180px var(--radius) var(--radius) / 64px 64px var(--radius) var(--radius);border:2px solid var(--cobalt);box-shadow:inset 0 0 0 5px var(--card), inset 0 0 0 6px color-mix(in srgb, var(--cobalt) 45%, transparent), var(--shadow);padding-top:40px;position:relative}.result-panel:before{content:"";background:var(--az) center / 28px 28px;border:2px solid var(--cobalt);border-radius:3px;width:28px;height:28px;margin-left:-14px;position:absolute;top:-15px;left:50%;transform:rotate(45deg)}.result-title{font-family:var(--display);text-align:center;margin:0 0 14px;font-size:1.25rem;font-weight:600}.result{transition:opacity .15s;container:result/inline-size}.result.is-stale{opacity:.45}fieldset{border:0;min-width:0;margin:0;padding:0}.group{border-top:1px dashed var(--line-strong);gap:12px;padding-top:14px;display:grid}.group:first-of-type{border-top:0;padding-top:0}.group>legend,.chips-field>legend{font-family:var(--display);align-items:center;gap:8px;margin-bottom:10px;padding:0;font-size:1.08rem;font-weight:600;display:flex}.group>legend:before{content:"";background:var(--az) center / 12px 12px;width:12px;height:12px;box-shadow:0 0 0 1px var(--cobalt);border-radius:2px;flex:none}.chips-field>legend{font-family:var(--body);margin-bottom:6px;font-size:.95rem;font-weight:700}.field{gap:4px;min-width:0;display:grid}.field>label,.label{font-size:.95rem;font-weight:700}.hint{color:var(--muted);margin:0;font-size:.88rem}.row2,.row3{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=520px){.row3{grid-template-columns:repeat(3,minmax(0,1fr))}}.row3>.field:only-child{grid-column:1/-1}.input{border:1.5px solid var(--line-strong);background:var(--input-bg);width:100%;min-height:44px;color:var(--ink);font:inherit;border-radius:9px;padding:8px 12px;font-size:1rem}.input:hover{border-color:var(--cobalt)}.input:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--cobalt)}.input[aria-invalid=true]{border-color:var(--bad);box-shadow:0 0 0 1px var(--bad)}select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-repeat:no-repeat;background-size:5px 5px;padding-right:34px}textarea.input{resize:vertical;min-height:96px;line-height:1.45}.input-wrap{align-items:stretch;display:flex;position:relative}.input-wrap .input{border-top-right-radius:0;border-bottom-right-radius:0}.unit{border:1.5px solid var(--line-strong);background:var(--bg-2);min-width:44px;color:var(--muted);white-space:nowrap;border-left:0;border-radius:0 9px 9px 0;justify-content:center;align-items:center;padding:0 10px;font-size:.9rem;font-weight:700;display:inline-flex}.field-error{color:var(--bad);min-height:0;margin:0;font-size:.88rem;font-weight:700}.field-error:empty{display:none}.seg{border:1.5px solid var(--cobalt);background:var(--input-bg);border-radius:999px;grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;max-width:100%;padding:3px;display:inline-grid}.seg label{cursor:pointer;position:relative}.seg input,.chip input{opacity:0;width:1px;height:1px;position:absolute}.seg span{min-height:38px;color:var(--ink);text-align:center;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-size:.95rem;font-weight:700;display:flex}.seg input:checked+span{background:var(--cobalt);color:var(--cobalt-ink)}.seg input:focus-visible+span,.chip input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.seg-field{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{cursor:pointer;position:relative}.chip span{border:1.5px solid var(--line-strong);background:var(--input-bg);border-radius:8px;align-items:center;gap:6px;min-height:40px;padding:0 14px;font-size:.95rem;font-weight:600;display:inline-flex}.chip input:checked+span{border-color:var(--cobalt);background:var(--cobalt-pale);box-shadow:inset 0 0 0 1px var(--cobalt)}.chip input:checked+span:before{content:"";background:var(--cobalt);width:8px;height:8px;transform:rotate(45deg)}.check{cursor:pointer;align-items:center;gap:10px;min-height:40px;font-weight:600;display:inline-flex}.check input{width:20px;height:20px;accent-color:var(--cobalt);flex:none}.check--small{min-height:40px;font-size:.9rem}.sub-fields{background:var(--bg-2);border-radius:10px;gap:12px;padding:12px;display:grid}.form-actions{flex-wrap:wrap;gap:10px;display:flex}.rows{gap:10px;display:grid}.dyn-row{border:1px solid var(--line);border-left:4px solid var(--cobalt);background:var(--card);border-radius:10px;padding:8px 10px 10px 12px}.dyn-row__head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dyn-row__title{margin-right:auto;font-weight:700}.dyn-row__fields{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.btn{border:1.5px solid var(--cobalt);background:var(--cobalt);min-height:44px;color:var(--cobalt-ink);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:.97rem;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{background:var(--cobalt-deep);border-color:var(--cobalt-deep)}.btn--ghost{color:var(--ink);border-color:var(--line-strong);background:0 0}.btn--ghost:hover{background:var(--cobalt-pale);border-color:var(--cobalt)}.btn--small{min-height:40px;padding:0 12px;font-size:.92rem}.btn:disabled,.icon-btn:disabled{opacity:.45;cursor:not-allowed}.btn .icon{width:1.1em;height:1.1em}.icon-btn{border:1px solid var(--line);width:40px;height:40px;color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover:not(:disabled){border-color:var(--terra);color:var(--terra)}.stats{gap:10px;margin:0 0 16px;padding:0;list-style:none;display:grid}@container result (width>=400px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:last-child:nth-child(odd){grid-column:1/-1}}.stat{background:radial-gradient(circle at 0 0, var(--cobalt) 0 7px, transparent 7.5px), radial-gradient(circle at 100% 0, var(--cobalt) 0 7px, transparent 7.5px), radial-gradient(circle at 0 100%, var(--cobalt) 0 7px, transparent 7.5px), radial-gradient(circle at 100% 100%, var(--cobalt) 0 7px, transparent 7.5px), var(--tile-ground);border:1.5px solid var(--cobalt);box-shadow:inset 0 0 0 3px var(--tile-ground), inset 0 0 0 4px color-mix(in srgb, var(--cobalt) 40%, transparent);border-radius:4px;align-content:start;gap:2px;min-height:104px;padding:14px 14px 12px;display:grid;position:relative}.stat__label{letter-spacing:.06em;text-transform:uppercase;color:var(--terra);font-size:.82rem;font-weight:700}.stat__value{font-family:var(--display);color:var(--ink);overflow-wrap:anywhere;font-size:1.55rem;font-weight:600;line-height:1.2}.stat__sub{color:var(--muted);font-size:.88rem}.warnings{gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.warnings li{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-ink);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:.95rem;display:flex}.warnings .icon{margin-top:3px}.result-cols{gap:14px;display:grid}@container result (width>=640px){.result-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}.table-wrap{border:1px solid var(--line);border-radius:10px;margin-bottom:14px;overflow-x:auto}.data{border-collapse:collapse;width:100%;font-size:.94rem}.data caption{text-align:left;font-family:var(--display);background:var(--bg-2);padding:10px 12px 6px;font-size:1.02rem;font-weight:600}.data th,.data td{text-align:left;border-top:1px solid var(--line);vertical-align:top;padding:8px 12px}.data thead th{background:var(--bg-2);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-top:0;font-size:.82rem}.data tbody th{font-weight:600}.data td.num{white-space:nowrap}.data .num{text-align:right;font-variant-numeric:lining-nums tabular-nums}.note{color:var(--muted);border-left:3px solid var(--ochre);padding-left:12px;font-size:.93rem}.result-sub{margin:0 0 6px;font-weight:700}.formula{background:var(--cobalt-pale);font-variant-numeric:lining-nums tabular-nums;overflow-wrap:anywhere;border-radius:10px;flex-wrap:wrap;gap:4px 8px;padding:12px 14px;display:flex}.next-step{margin:0 0 14px}.next-step a{align-items:center;gap:8px;min-height:40px;font-weight:700;display:inline-flex}.result-actions{flex-wrap:wrap;gap:8px;padding-top:6px;display:flex}.content,.sources,.section{padding-block:26px}.content>*{max-width:860px}.content p,.content li{max-width:72ch}.content ul,.content ol{padding-left:1.3em}.content li{margin-bottom:.4em}.section-head{flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-bottom:14px;display:flex}.section-head h2{margin:0}.section-head p{color:var(--muted);margin:0}.tile-rule{background:var(--az) 0 0 / 14px 14px repeat-x;opacity:.85;border-radius:2px;max-width:280px;height:14px;margin-block:6px}.sources ul{max-width:860px;padding-left:1.2em}.sources li{margin-bottom:.6em;font-size:.97rem}.ref-table{max-width:860px}.callout{border:1px solid var(--line);border-left:4px solid var(--terra);background:var(--terra-pale);border-radius:12px;align-items:flex-start;gap:14px;max-width:860px;margin-block:4px 18px;padding:14px 16px;display:flex}.callout .icon{color:var(--terra);width:1.3em;height:1.3em;margin-top:4px}.callout p{margin:0}.faq{gap:10px;max-width:860px;display:grid}.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:10px 16px;font-weight:700;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary .icon{color:var(--cobalt);transition:transform .2s}.faq details[open] summary .icon{transform:rotate(180deg)}.faq details>div{padding:0 16px 6px}.toolgrid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.toolcard{background:var(--card);border:1px solid var(--line);height:100%;color:var(--ink);box-shadow:var(--shadow);border-radius:10px;gap:6px;padding:30px 18px 18px;text-decoration:none;display:grid;position:relative;overflow:hidden}.toolcard:before{content:"";background:var(--az) 0 0 / 14px 14px repeat-x;border-bottom:2px solid var(--cobalt);height:14px;position:absolute;inset:0 0 auto}.toolcard:hover{border-color:var(--cobalt)}.toolcard__title{font-family:var(--display);color:var(--link);text-underline-offset:3px;align-items:center;gap:8px;font-size:1.15rem;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:flex}.toolcard:hover .toolcard__title{text-decoration-color:currentColor}.toolcard__title .icon{color:var(--terra)}.toolcard p{color:var(--muted);margin:0;font-size:.97rem}.recs{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.rec{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;align-content:start;gap:6px;padding:20px;display:grid}.rec h3,.rec p{margin:0}.rec__label{letter-spacing:.07em;text-transform:uppercase;color:var(--terra);font-size:.8rem;font-weight:700}.rec .btn{justify-self:start;margin-top:6px}.prose{max-width:760px;padding-block:10px 40px}.prose h2{margin-top:1.4em}.notfound{text-align:center;padding-block:50px 40px}.notfound .tile-rule{margin-inline:auto}.notfound ul{flex-wrap:wrap;justify-content:center;gap:10px;padding:0;list-style:none;display:flex}.site-footer{color:#f3ecdd;background:#14213f;margin-top:40px}:root[data-theme=dark] .site-footer{background:#080d1a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .site-footer{background:#080d1a}}.floor{background:var(--floor) 0 0 / 56px 56px;border-top:3px solid var(--cobalt);height:56px}.site-footer a{color:#c8d8ff}.site-footer .wrap{padding-block:30px 24px}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:26px;display:grid}.site-footer h2{color:#f3ecdd;letter-spacing:.02em;margin-bottom:10px;font-size:1.05rem}.site-footer ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.site-footer li a{align-items:center;min-height:32px;font-weight:600;display:inline-flex}.site-footer .desc{color:#c9c3b6;margin-top:-4px;font-size:.88rem;display:block}.brand--footer{margin-bottom:8px;color:#f3ecdd!important}.site-footer .brand__mark{box-shadow:0 0 0 2px #8fb0f2}.site-footer .footer-about p{color:#d6d0c3;font-size:.95rem}.footer-bottom{border-top:1px solid #f3ecdd33;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:26px;padding-top:16px;font-size:.93rem;display:flex}.footer-bottom p{margin:0}.footer-bottom ul{gap:16px;display:flex}.footer-bottom a{align-items:center;min-width:44px;min-height:40px;display:inline-flex}.toast-region{z-index:50;pointer-events:none;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--bg);opacity:0;border-radius:999px;padding:10px 18px;font-size:.95rem;font-weight:700;transition:opacity .2s,transform .2s;transform:translateY(8px)}.toast.is-visible{opacity:1;transform:none}.plan-tool{gap:18px;display:grid}@media (width>=1040px){.plan-tool{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);align-items:start}.plan-main{position:sticky;top:14px}}.plan-options{flex-wrap:wrap;align-items:center;gap:6px 18px;display:flex}.plan-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.plan-bar .seg span{gap:6px;padding:0 12px}.plan-bar__sep{background:var(--line);align-self:stretch;width:1px;margin-inline:2px}.plan-stage{border:2px solid var(--cobalt);background:var(--tile-ground);aspect-ratio:3/2;border-radius:10px;position:relative;overflow:hidden}@media (width<=599px){.plan-stage{aspect-ratio:4/3}.plan-bar__sep{display:none}}.plan-svg{touch-action:none;-webkit-user-select:none;user-select:none;cursor:default;width:100%;height:100%;display:block}.plan-stage[data-mode=rect] .plan-svg,.plan-stage[data-mode=poly] .plan-svg{cursor:crosshair}.plan-svg:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.plan-svg .sheet{stroke:none}.plan-svg .grid-minor{stroke:color-mix(in srgb, var(--cobalt) 14%, transparent);stroke-width:1px;vector-effect:non-scaling-stroke}.plan-svg .grid-major{stroke:color-mix(in srgb, var(--cobalt) 30%, transparent);stroke-width:1px;vector-effect:non-scaling-stroke}.plan-svg .origin{stroke:var(--terra);stroke-width:1.5px;vector-effect:non-scaling-stroke}.plan-svg .room{stroke:var(--ink);stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke;fill-opacity:.85}.plan-svg .room.is-selected{stroke:var(--terra);stroke-width:3.5px}.fill-0{fill:#cfdcf6;background:#cfdcf6}.fill-1{fill:#f5d5c3;background:#f5d5c3}.fill-2{fill:#d9e8c8;background:#d9e8c8}.fill-3{fill:#f3e3b3;background:#f3e3b3}.fill-4{fill:#e4d3ee;background:#e4d3ee}.fill-5{fill:#c9e6e5;background:#c9e6e5}.plan-svg .room-label{font-family:var(--display);fill:#14213f;pointer-events:none;font-weight:600}.plan-svg .room-area{font-family:var(--body);fill:#2a3450;pointer-events:none}.plan-svg .side{font-family:var(--body);fill:#3c465f;pointer-events:none}:root[data-theme=dark] .plan-svg .room{fill-opacity:1;stroke:#e9e2d2}:root[data-theme=dark] .fill-0{fill:#26395f;background:#26395f}:root[data-theme=dark] .fill-1{fill:#4b2f26;background:#4b2f26}:root[data-theme=dark] .fill-2{fill:#2d4128;background:#2d4128}:root[data-theme=dark] .fill-3{fill:#4a4021;background:#4a4021}:root[data-theme=dark] .fill-4{fill:#3c2d4b;background:#3c2d4b}:root[data-theme=dark] .fill-5{fill:#1f4443;background:#1f4443}:root[data-theme=dark] .plan-svg .room-label{fill:#f3ecdd}:root[data-theme=dark] .plan-svg .room-area{fill:#e2dccd}:root[data-theme=dark] .plan-svg .side{fill:#cdd0db}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .plan-svg .room{fill-opacity:1;stroke:#e9e2d2}:root:not([data-theme=light]) .fill-0{fill:#26395f;background:#26395f}:root:not([data-theme=light]) .fill-1{fill:#4b2f26;background:#4b2f26}:root:not([data-theme=light]) .fill-2{fill:#2d4128;background:#2d4128}:root:not([data-theme=light]) .fill-3{fill:#4a4021;background:#4a4021}:root:not([data-theme=light]) .fill-4{fill:#3c2d4b;background:#3c2d4b}:root:not([data-theme=light]) .fill-5{fill:#1f4443;background:#1f4443}:root:not([data-theme=light]) .plan-svg .room-label{fill:#f3ecdd}:root:not([data-theme=light]) .plan-svg .room-area{fill:#e2dccd}:root:not([data-theme=light]) .plan-svg .side{fill:#cdd0db}}.plan-svg .handle{fill:var(--card);stroke:var(--terra);stroke-width:2.5px;vector-effect:non-scaling-stroke;cursor:move}.plan-svg .draft{fill:color-mix(in srgb, var(--terra) 22%, transparent);stroke:var(--terra);stroke-width:2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.plan-svg .draft-pt{fill:var(--terra)}.plan-svg .cursor-pt{fill:none;stroke:var(--terra);stroke-width:1.5px;vector-effect:non-scaling-stroke}.plan-svg .draft-dim{font-family:var(--body);fill:var(--terra);paint-order:stroke;stroke:var(--tile-ground);stroke-width:3px;vector-effect:non-scaling-stroke;font-weight:700}.plan-help{color:var(--muted);min-height:2.9em;margin:8px 0 0;font-size:.92rem}.plan-side{gap:16px;display:grid}.plan-side .panel{padding:16px}.plan-side h2{margin-bottom:10px;font-size:1.2rem}.rooms-table .room-pick{min-height:40px;color:var(--link);font:inherit;text-align:left;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;margin-left:-6px;padding:0 6px;font-weight:700;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}.rooms-table .room-pick:hover{text-decoration-color:currentColor}.rooms-table tr.is-selected th,.rooms-table tr.is-selected td{background:var(--terra-pale)}.rooms-table .alt{color:var(--muted);font-size:.82rem;display:block}.rooms-table tfoot th,.rooms-table tfoot td{border-top:2px solid var(--line-strong);font-weight:700}.swatch{border:1px solid var(--ink);border-radius:3px;flex:none;width:14px;height:14px}.empty-plan{border:1px dashed var(--line-strong);color:var(--muted);border-radius:10px;margin:0;padding:14px}.plan-actions{flex-wrap:wrap;gap:8px;display:flex}details.disclose>summary{cursor:pointer;align-items:center;min-height:40px;font-weight:700;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{body{color:#000;background:#fff;font-size:11pt}.masthead,.site-footer,.hero .lead,.calc,.no-print,.content,.sources,.section,.callout,.toast-region,.skip-link,.plan-bar,.plan-side .panel:not(.rooms-panel),.plan-help{display:none!important}.print-only,.tool__grid{display:block}.panel,.result-panel{box-shadow:none;border:0;border-radius:0;padding:0}.result-panel:before{display:none}.stat{box-shadow:none;background:#fff;border:1px solid #000;min-height:0}.stat__label,.stat__value,.stat__sub,.note{color:#000}.table-wrap{border-color:#999;overflow:visible}.data caption,.data thead th{color:#000;background:#eee}.plan-stage{aspect-ratio:auto;border:1px solid #000}.plan-tool{display:block}a{color:#000}}
