@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2)format("woff2"),url(/assets/public-sans-vietnamese-400-normal-BO1meqcx.woff)format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2)format("woff2"),url(/assets/public-sans-latin-ext-400-normal-B02wwOdZ.woff)format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2)format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.woff)format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2)format("woff2"),url(/assets/public-sans-vietnamese-600-normal-CcnAzmUX.woff)format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2)format("woff2"),url(/assets/public-sans-latin-ext-600-normal-DfkbVac2.woff)format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2)format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");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}.admin-content{gap:32px}.admin-period{font-weight:400}.admin-period select{width:auto}.admin-tiles{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.admin-tile{align-content:start;gap:4px;padding:16px 20px;display:grid}.admin-tile strong{overflow-wrap:anywhere;font-size:24px;font-weight:600}.admin-tile small{font-size:13px}.admin-table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 16px}.admin-table th{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:400}.admin-table tr:last-child td{border-bottom:0}.admin-table td button{min-height:36px;padding:6px 12px}.admin-table code,.admin-logs code{overflow-wrap:anywhere;font:12px JetBrains Mono,monospace}.admin-filters{align-items:flex-end}.admin-filters label:last-child{min-width:160px}.modal.admin-editor{width:min(560px,100vw - 48px);max-height:calc(100dvh - 48px);overflow:auto}.admin-editor select{min-width:0}.admin-content .row select{width:auto;min-width:0}.admin-editor h2{margin:0}.admin-logs{border:1px solid var(--border);background:var(--surface);border-radius:12px;max-height:520px;margin:0;padding:0;font-size:13px;list-style:none;overflow:auto}.admin-logs li{border-bottom:1px solid var(--border);grid-template-columns:170px 56px minmax(0,1fr);gap:12px;padding:8px 16px;display:grid}.admin-logs li span{overflow-wrap:anywhere;gap:4px;display:grid}.admin-logs time{color:var(--muted)}.admin-logs .log-warn b{color:var(--amber)}.admin-logs .log-error b,.admin-logs .log-fatal b{color:var(--red)}@media (max-width:600px){.admin-tiles{grid-template-columns:1fr 1fr}.admin-tile{padding:12px}.admin-tile strong{font-size:20px}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{width:100%;display:block}.admin-table tr{border-bottom:1px solid var(--border);padding:8px 0}.admin-table td{text-align:right;border:0;justify-content:space-between;gap:12px;padding:4px 16px;display:flex}.admin-table td:before{content:attr(data-label);color:var(--muted);text-align:left}.admin-table td[colspan]:before{content:none}.admin-logs li{grid-template-columns:1fr auto}.admin-logs li span{grid-column:1/-1}}.admin-start{justify-self:start}.device-check{text-align:left;width:100%;max-width:520px}.camera-preview{aspect-ratio:16/9;object-fit:cover;background:#17181a;border-radius:12px;width:100%;max-height:260px;transform:scaleX(-1)}.device-check meter{width:100%;height:24px;display:block}.call-lobby{z-index:40}.call-lobby .modal{max-height:calc(100dvh - 32px);overflow:auto}.test-workspace{grid-template-columns:minmax(0,1fr) 320px;gap:16px;display:grid}.test-canvas{touch-action:none;color:#17181a;border:1px solid var(--border);background:#fff;border-radius:12px;height:55dvh;min-height:300px;position:relative;overflow:hidden}.test-workspace>.test-media{min-height:300px;position:relative}.test-media .video-join,.test-media .video-panel{width:100%;max-width:100%;position:relative;top:auto;right:auto}.lesson-report textarea{min-height:110px}.report-text{white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width:700px){.test-workspace{grid-template-columns:1fr}.test-canvas{height:45dvh}.test-workspace>.test-media{min-height:0}}:root{color:#17181a;font-synthesis:none;--bg:#f7f6f3;--surface:#fff;--text:#17181a;--muted:#5c5f66;--border:#e3e1dc;--accent:#1f3fa8;--pressed:#162e7d;--soft:#e8ecf8;--on-accent:#fff;--green:#17663a;--green-bg:#e4f2e9;--amber:#7a4f00;--amber-bg:#fbefd5;--red:#a11d12;--red-bg:#fce8e6;--grey:#4a4d53;--grey-bg:#eeedea;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f7f6f3;font-family:Public Sans,system-ui,sans-serif;font-weight:400}:root[data-theme=dark]{--bg:#131416;--surface:#1c1d20;--text:#ededef;--muted:#a1a4ab;--border:#2e3035;--accent:#8aa2f2;--pressed:#a3b6f5;--soft:#1e2647;--on-accent:#0e1630;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px}button{justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-weight:600;display:inline-flex}button:hover{background:var(--bg)}button.primary,.primary{background:var(--accent);color:var(--on-accent);border-color:#0000;min-height:48px}.primary:hover{background:var(--pressed)}button.tonal{background:var(--soft);color:var(--accent);border:0}button.text-button{color:var(--accent);background:0 0;border-color:#0000}button.danger{color:var(--red);border-color:#e9bcb6}button.icon-button{flex-shrink:0;width:44px;padding:10px}input,select,textarea{outline-offset:2px;width:100%;min-height:48px;padding:12px}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--accent);flex-shrink:0}input[type=color]{padding:4px}textarea{resize:vertical;min-height:90px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,p{margin:0}h1{letter-spacing:-.6px;font-size:28px;font-weight:600;line-height:1.25}h2{font-size:20px;font-weight:600;line-height:1.4}h3{font-size:16px;font-weight:600}p{line-height:1.6}label{gap:8px;font-size:14px;font-weight:600;display:grid}.field{gap:8px;display:grid}.muted,small{color:var(--muted)}small{font-size:14px}.stack{gap:24px;display:grid}.stack-sm{gap:12px;display:grid}.row{align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.grow{flex:1}.full{width:100%}.error{background:var(--red-bg);color:var(--red);border-radius:8px;padding:12px;font-size:14px}.notice{background:var(--soft);border-radius:8px;padding:16px;font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.checkbox{align-items:flex-start;gap:12px;font-weight:400;line-height:1.5;display:flex}.brand{font-size:14px;font-weight:600;line-height:1.3}.brand-mark{background:var(--accent);width:40px;height:40px;color:var(--on-accent);border-radius:8px;place-content:center;font-size:16px;font-weight:600;display:grid}.auth-page{justify-content:center;align-items:center;min-height:100dvh;padding:32px;display:flex}.auth-wrap{width:400px;max-width:100%}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:24px;padding:32px;display:grid}.auth-card header{gap:8px;display:grid}.auth-card .brand-mark{margin-bottom:12px}.auth-footer{text-align:center;color:var(--muted);margin-top:24px;font-size:13px;line-height:1.6}.legal-links{justify-content:center;gap:16px;margin-top:16px;font-size:13px;display:flex}.app-shell{min-height:100dvh;padding-left:200px}.navigation{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:24px;width:200px;padding:24px 16px;display:flex;position:fixed;top:0;bottom:0;left:0}.navigation nav{gap:4px;display:grid}.navigation a{min-height:44px;color:var(--text);border-radius:8px;align-items:center;gap:12px;padding:12px;font-size:14px;display:flex}.navigation a.active{background:var(--soft);color:var(--accent)}.navigation a:hover{background:var(--soft);text-decoration:none}.navigation .nav-end{gap:8px;margin-top:auto;display:grid}.page{max-width:1000px;margin:auto;padding:48px}.page.narrow{max-width:850px}.page-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:20px 0;display:flex}.empty{text-align:center;place-items:center;gap:16px;padding:48px 16px;display:grid}.status{background:var(--grey-bg);color:var(--grey);border-radius:99px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:600;line-height:1.25;display:inline-flex}.status.confirmed{color:var(--green);background:var(--green-bg)}.status.awaiting_payment,.status.requested{color:var(--amber);background:var(--amber-bg)}.status.failed{color:var(--red);background:var(--red-bg)}.modal-backdrop{z-index:100;background:#17181a66;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:16px;width:460px;max-width:100%;padding:28px;box-shadow:0 4px 16px #0002}.modal h2{margin-bottom:16px}.modal-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.lesson-room{color:#17181a;overscroll-behavior:none;background:#fff;position:fixed;inset:0;overflow:hidden}.board-host{touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;position:absolute;inset:52px 0 0}.board-stage,.live-canvas{position:absolute;inset:0}.live-canvas{pointer-events:none}.lesson-top{background:var(--surface);height:52px;color:var(--text);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;gap:16px;padding:4px 16px;display:flex;position:absolute;top:0;left:0;right:0}.board-tabs{scrollbar-width:none;align-items:center;gap:4px;min-width:0;display:flex;overflow:auto}.board-tab{white-space:nowrap;background:0 0;border:0;min-height:40px;padding:8px 12px;font-size:14px}.board-tab.active{background:var(--soft);color:var(--accent);border-radius:8px}.lesson-tools{background:var(--surface);color:var(--text);border:1px solid var(--border);z-index:20;border-radius:16px;align-items:center;gap:2px;max-width:calc(100% - 24px);padding:6px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000014}.lesson-tools button{background:0 0;border:0;flex-shrink:0;width:44px;padding:10px}.lesson-tools button.active{color:var(--accent);background:var(--soft)}.tool-divider{background:var(--border);width:1px;height:24px;margin:0 4px}.colour-dot{border:1px solid #0002;border-radius:50%;width:20px;height:20px;display:block}.popover{background:var(--surface);min-width:200px;max-width:calc(100vw - 32px);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:16px;animation:.12s ease-out appear;position:absolute;bottom:68px;box-shadow:0 4px 16px #00000014}.swatches{grid-template-columns:repeat(4,44px);gap:4px;display:grid}.swatches button{width:44px;height:44px}.popover input[type=range]{min-height:44px;padding:0}.zoom-controls{background:var(--surface);border:1px solid var(--border);z-index:10;border-radius:12px;align-items:center;gap:4px;padding:4px;font-size:13px;display:flex;position:absolute;bottom:24px;right:16px}.zoom-controls button{border:0;width:36px;min-height:36px;padding:8px}.board-presence{background:var(--amber-bg);color:var(--amber);z-index:10;pointer-events:none;border-radius:99px;padding:8px 16px;font-size:13px;position:absolute;top:68px;left:50%;transform:translate(-50%)}.debug-overlay{color:#fff;z-index:30;pointer-events:none;background:#17181ae6;border-radius:8px;padding:8px;font:12px monospace;position:absolute;top:64px;left:12px}.board-text-editor{color:#17181a;z-index:5;resize:both;background:#fff;border:1px solid #1f3fa8;min-height:48px;position:absolute}.code-host{background:var(--surface);color:var(--text);position:absolute;inset:100px 0 0}.code-options{background:var(--surface);border-bottom:1px solid var(--border);height:48px;color:var(--text);align-items:center;gap:12px;padding:4px 24px;font-size:13px;display:flex;position:absolute;top:52px;left:0;right:0}.code-options select{width:140px;min-height:36px;padding:6px}.cm-editor{height:100%;font:14px JetBrains Mono,monospace}.cm-scroller{overflow:auto}.screen-reader{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.navigation{width:80px;padding:16px 8px}.navigation .brand{display:none}.navigation a{flex-direction:column;gap:4px;padding:10px 4px;font-size:11px}.navigation .nav-end span{display:none}.app-shell{padding-left:80px}.page{padding:32px}.zoom-controls{bottom:94px}.lesson-top{padding:4px 8px}.lesson-tools{bottom:16px}}@media (max-width:600px){h1{font-size:28px}.auth-page{align-items:flex-start;padding:96px 24px 32px}.auth-card{background:0 0;border:0;gap:24px;padding:0}.auth-card .brand-mark{margin-bottom:16px}.auth-footer{margin-top:80px}.app-shell{padding:0 0 82px}.navigation{width:100%;height:74px;padding:0 8px env(safe-area-inset-bottom);border-top:1px solid var(--border);z-index:30;border-right:0;gap:0;top:auto}.navigation nav{justify-content:space-around;align-items:center;width:100%;height:100%;display:flex}.navigation a{border-radius:0;flex:1;gap:4px;min-height:56px;font-size:11px;background:0 0!important}.navigation .nav-end{display:none}.page{padding:32px 20px}.page-header{margin-bottom:24px}.card{padding:16px}.list-row{padding:16px 0}.lesson-top{gap:4px;height:48px;font-size:13px}.board-host{top:48px}.board-tab{text-overflow:ellipsis;max-width:140px;padding:6px;font-size:13px;overflow:hidden}.lesson-tools{gap:0;max-width:calc(100% - 16px);padding:4px;bottom:16px}.lesson-tools .secondary-tool,.lesson-tools .tool-divider{display:none}.zoom-controls{bottom:82px}.lesson-top .time-display{display:none}.popover{bottom:60px;left:0}.code-host{top:96px}.code-options{padding:4px 12px;top:48px}.page-header .primary{padding:10px 12px;font-size:14px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.auth-forgot{justify-content:center;align-items:center;min-height:44px;font-size:14px;font-weight:600;display:flex}.legal-copy{gap:16px;display:grid}.legal-copy h2{margin-top:24px}@media (max-width:600px){.auth-wrap{flex-direction:column;min-height:calc(100dvh - 128px);display:flex}.auth-footer{margin-top:auto;padding-top:48px;font-size:14px}.auth-card header{margin-bottom:8px}}.button{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;display:inline-flex}.button:hover{background:var(--soft);text-decoration:none}.button.primary{color:var(--on-accent);background:var(--accent)}.page{width:100%;max-width:1024px;margin:0}.page h2{margin-bottom:12px}.wrap{flex-wrap:wrap}.block{display:block}.align-start{justify-self:start;padding-left:0}.back{min-width:32px;min-height:44px;color:var(--text);place-items:center;font-size:32px;display:grid}.home-sections{gap:36px}.home-sections:has(.action-card){max-width:760px}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-heading h2{margin:0}.empty-line{padding:20px 0}.action-card,.review-card{align-items:center;gap:16px;display:flex}.review-card .price-field{align-items:center;gap:8px;display:flex}.price-field{max-width:160px}.price-field input{max-width:130px}.booking-row .booking-main{color:var(--text);flex:1;gap:4px;font-size:14px;display:grid}.booking-row .duration{font-size:14px}.booking-row .status{max-width:150px}.join-banner{justify-content:space-between;min-height:76px;padding:18px 24px;font-size:20px;display:flex}.join-banner small{color:var(--on-accent);opacity:.8;text-align:left;margin-top:4px;font-weight:400;display:block}.join-banner>span:last-child{font-size:28px}.join-banner span:first-child{text-align:left}.unread-card{color:var(--text);align-items:center;gap:12px;font-weight:600;display:flex}.unread-card>span:last-child{margin-left:auto}.unread-dot{background:var(--accent);border-radius:50%;width:10px;height:10px}.child-block{gap:16px;display:grid}.child-block>section>h2{font-size:16px}.badge{background:var(--accent);min-width:22px;height:22px;color:var(--on-accent);border-radius:50%;place-items:center;margin-left:auto;padding:0 5px;font-size:12px;display:inline-grid}.navigation .brand{padding:0 12px;font-size:16px}.navigation .nav-end{border-top:1px solid var(--border);padding-top:12px}.mobile-account{display:none}.split-page{grid-template-columns:300px minmax(0,1fr);min-height:100dvh;display:grid}.split-page>.page{max-width:1000px}.detail-sidebar,.people-list{border-right:1px solid var(--border);padding:32px 0}.detail-sidebar>h2,.people-list>.section-heading,.list-label{margin-bottom:20px;padding:0 24px}.sidebar-item{border-bottom:1px solid var(--border);color:var(--text);gap:6px;justify-content:initial;text-align:left;background:0 0;border-radius:0;padding:20px 24px;display:grid;position:relative}.sidebar-item.active,.sidebar-item:hover{background:var(--soft);text-decoration:none}.sidebar-item .status{justify-self:start}.sidebar-item .badge{position:absolute;top:24px;right:16px}.list-label{margin-top:24px}.booking-summary{margin:0}.booking-summary>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:24px;padding:18px 0;display:flex}.booking-summary>div:first-child{padding-top:0}.booking-summary>div:last-child{border:0;padding-bottom:0}.booking-summary dt{color:var(--muted)}.booking-summary dd{margin:0;font-weight:600}.booking-summary .note{gap:8px;display:grid}.booking-summary .note dd{white-space:pre-wrap;font-weight:400}.booking-form,.payment-wrap{max-width:560px}.booking-form{gap:28px}.booking-form h2{margin:0;font-size:18px}.date-options{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.date-options button{gap:4px;padding:12px;display:grid}.date-options strong{font-size:24px}.date-options small{font-weight:400}.slot-options{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.selected{background:var(--soft)!important;border-color:var(--accent)!important;color:var(--accent)!important}.selected small{color:var(--accent)}.booking-submit{gap:12px;margin-top:24px;display:grid}.profile-columns{grid-template-columns:1.3fr 1fr;gap:32px;display:grid}.profile-columns .booking-row{flex-wrap:wrap}.settings-content{gap:36px;max-width:620px}.settings-content h2{font-size:20px}.settings-content .list-row{padding:18px 0}.switch-row{font-size:16px;font-weight:400}.switch-row input{width:44px;height:24px;min-height:24px}.data-subject{gap:12px;margin:12px 0;display:grid}.availability-row{grid-template-columns:1.2fr 1fr 1fr 1.5fr auto;align-items:end;gap:12px;display:grid}.dns-record{gap:12px;display:grid}.dns-record code{background:var(--bg);overflow-wrap:anywhere;border-radius:6px;padding:12px;font-size:13px}.dns-record button{justify-self:start}.dns-record small{overflow-wrap:anywhere}.messages-layout{height:100dvh;min-height:0;display:flex}.conversation-list{border-right:1px solid var(--border);flex-shrink:0;width:300px}.conversation-list h1{padding:32px 24px;font-size:24px}.conversation{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.conversation-header{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:14px;min-height:72px;padding:16px 32px;display:flex}.conversation-header h2{font-size:18px}.avatar{background:var(--soft);width:40px;height:40px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;display:grid}.message-history{flex-direction:column;flex:1;justify-content:safe flex-end;min-height:0;padding:24px 32px 20px;display:flex;overflow-y:auto}.message-history>div{flex-shrink:0}.message-date{text-align:center;color:var(--muted);margin:10px 0;font-size:12px}.message-date:empty{display:none}.message{justify-items:start;gap:6px;max-width:760px;margin:0 auto 10px;display:grid}.message.mine{justify-items:end}.bubble{background:var(--surface);border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px 16px 16px 4px;max-width:90%;padding:14px 16px;line-height:1.5}.mine .bubble{background:var(--accent);color:var(--on-accent);border-color:#0000;border-radius:16px 16px 4px}.message small{font-size:12px}.attachment{text-align:left;justify-content:start;gap:12px;max-width:90%;padding:12px;overflow:hidden}.attachment>span:last-child{min-width:0}.attachment strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.attachment small{font-weight:400;display:block}.file-icon{background:var(--red-bg);color:var(--red);border-radius:6px;flex-shrink:0;place-items:center;width:40px;height:48px;font-size:12px;display:grid}.message-composer{background:var(--surface);border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 32px;display:flex}.message-composer textarea{resize:vertical;background:var(--bg);border-radius:24px;flex:1;height:48px;min-height:48px;max-height:160px}.message-composer>button:last-child{border-radius:24px}.attachment-preview{justify-content:space-between;align-items:center;gap:8px;width:100%;font-size:14px;display:flex}.mobile-back{display:none}@media (max-width:1200px){.split-page{grid-template-columns:250px minmax(0,1fr)}.split-page>.page{padding:32px}.profile-columns{grid-template-columns:1fr}.review-card,.action-card{flex-wrap:wrap}.conversation-list{width:250px}}@media (max-width:900px){.split-page{display:block}.detail-sidebar{display:none}.people-page>.people-list{max-width:100%}.people-page>.people-list.has-selection{display:none}.people-page:has(.people-list:not(.has-selection))>.page{display:none}.messages-layout{height:100dvh}.availability-row{grid-template-columns:1fr 1fr}.availability-row>button{justify-self:end}.navigation .badge{margin:0;position:absolute;right:6px}.navigation a{position:relative}}@media (max-width:600px){.page{padding:28px 20px}.page-header{gap:8px}.page-header h1{font-size:28px}.page-header .button{padding:8px 12px}.split-page{min-height:calc(100dvh - 74px)}.split-page>.page{padding:28px 20px}.mobile-account{z-index:5;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:24px;right:16px}.action-card{grid-template-columns:1fr auto;gap:14px;display:grid}.action-card .grow{grid-column:1/-1}.action-card .button{grid-column:1/-1;width:100%}.booking-row{flex-wrap:wrap;gap:8px}.booking-row .booking-main{min-width:50%}.booking-row .duration{order:2;width:100%}.booking-row .button{order:3}.section-heading{align-items:flex-start}.section-heading .button{padding:8px 10px;font-size:13px}.date-options{gap:8px}.date-options button{padding:10px 6px}.slot-options{gap:8px}.slot-options button{padding:10px 6px;font-size:14px}.booking-form{gap:32px}.booking-submit{margin-top:32px}.review-card form{width:100%}.review-card .price-field{max-width:100%}.review-card form>button{flex:1}.modal{max-height:calc(100dvh - 40px);overflow:auto}.messages-layout{height:calc(100dvh - 74px)}.conversation-list{border:0;width:100%}.conversation-open>.conversation-list,.messages-layout:not(.conversation-open)>.empty{display:none}.conversation-header{padding:12px 16px}.conversation-header h2{font-size:16px}.message-history{padding:16px 20px}.message-composer{gap:8px;padding:12px}.message-composer>button{padding:10px 14px}.message-composer textarea{padding:12px}.mobile-back{border:0;min-width:32px;padding:6px;font-size:24px;display:inline-flex}.bubble{max-width:94%;font-size:16px}.navigation .badge{top:5px;right:calc(50% - 33px)}.profile-columns{gap:24px}.settings-content{gap:32px}.booking-summary>div{gap:12px}.page-header:has(.back){justify-content:flex-start}.page-header .back{margin-left:-12px}.home-sections{gap:28px}}.message-composer .message-send{border-radius:50%;flex-shrink:0;width:48px;height:48px;padding:10px}.message-composer>.icon-button{background:0 0;border:0}.zoom-controls button{width:44px;min-height:44px}.board-tab{min-height:44px}.empty-lessons{text-align:center;border:1px dashed #c9c7c1;border-radius:12px;justify-items:center;gap:16px;max-width:760px;padding:36px 24px;display:grid}.empty-lessons>svg{color:var(--muted)}.empty-lessons h3{font-size:20px}.empty-lessons p{line-height:1.5}.empty-lessons .button{min-height:48px;margin-top:4px;font-size:16px}.actions-empty{border-bottom:1px solid var(--border);padding-bottom:16px}.open-boards{margin-top:16px}.request-mobile{display:none}.child-heading{align-items:center;margin:0}.child-heading h2{margin:0;font-size:24px!important}.child-heading>a{align-items:center;gap:4px;font-weight:600;display:flex}.child-block{gap:24px}.pay-actions{flex-shrink:0;gap:8px;display:flex}.request-child{min-height:48px;font-size:16px}@media (max-width:600px){.request-desktop{display:none}.request-mobile{width:100%;min-height:48px;margin-top:24px;font-size:16px;display:flex}.action-card .grow{grid-column:auto;min-width:0}.action-card .status{align-self:start;max-width:130px}.action-card .pay-actions{grid-column:1/-1;width:100%;display:flex}.action-card .pay-actions .button{width:auto;min-height:48px;font-size:16px}.pay-actions .primary{flex:1}.child-block>section>h2{font-size:18px}.empty-lessons{padding:36px 24px}.actions-empty{padding-bottom:16px}}.popover{animation:.12s ease-out popover-appear;left:50%;transform:translate(-50%)}.swatches{grid-template-columns:repeat(4,48px);gap:12px 16px}.swatches button{width:48px;height:48px;padding:8px}.swatches .colour-dot{width:32px;height:32px}.colour-dot{flex-shrink:0}.custom-colour{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.custom-colour button{padding:8px}.custom-colour .colour-dot{width:28px;height:28px}.custom-picker{white-space:nowrap;position:relative}.custom-picker input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}@keyframes popover-appear{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}.no-wrap{white-space:nowrap}.section-tabs{background:var(--soft);border-radius:12px;gap:4px;padding:4px;display:flex}.section-tabs button{background:0 0;border:0;flex:1;padding:10px 12px;font-size:14px}.section-tabs button[aria-selected=true]{background:var(--surface);color:var(--text)}.child-detail .request-child{margin-top:24px}.embedded-conversation{border:1px solid var(--border);border-radius:12px;height:500px;max-height:65dvh;overflow:hidden}.embedded-conversation .conversation-header{display:none}.consent-summary{padding:16px;font-size:14px;line-height:1.6}.consent-summary ul{margin:8px 0;padding-left:20px}.consent-summary li+li{margin-top:4px}.waiting-page .status{justify-self:start}.waiting-icon{background:var(--amber-bg);width:56px;height:56px;color:var(--amber);border-radius:50%;place-items:center;display:grid}.waiting-page>div>p{color:var(--muted)}.auth-back{justify-content:flex-start;align-self:flex-start;width:44px;padding:0}.invite-page .auth-wrap{width:440px}@media (max-width:600px){.invite-page{padding:56px 24px 20px}.invite-page .auth-wrap{min-height:calc(100dvh - 76px)}.invite-page .auth-card{flex-direction:column;flex:1;display:flex}.invite-form{flex-direction:column;flex:1;gap:20px;display:flex}.invite-form header{margin-bottom:8px}.invite-form .auth-action{min-height:48px;margin-top:auto}.invite-form:has(.auth-back){gap:16px}.invite-form .auth-back{margin-top:-24px;margin-bottom:-8px}.consent-page{padding:32px 20px 20px}.consent-page .auth-wrap{min-height:calc(100dvh - 52px)}.consent-page .invite-form{gap:16px}.consent-page .invite-form header{margin-bottom:0}.consent-page .checkbox{font-size:14px}.waiting-page{padding:120px 24px 20px}.waiting-page .auth-wrap{gap:24px;min-height:calc(100dvh - 140px)}.waiting-page .auth-action{margin-top:auto}.waiting-page .auth-action button{min-height:48px}.waiting-page .auth-wrap>button:last-child{margin-top:-16px;font-size:14px}.section-tabs button{padding:10px 8px}.settings-content h2{font-size:18px}.settings-content .list-row{padding:14px 0}}.tutor-booking-form{gap:20px}.tutor-booking-form h2{font-size:14px}.tutor-booking-form .booking-submit{margin-top:0}.booking-date-time{align-items:flex-end}.booking-date-time>label{flex-basis:0;min-width:0}.email-settings{gap:24px;max-width:1040px}.dns-table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.dns-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:14px}.dns-table th,.dns-table td{text-align:left;border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:14px 16px}.dns-table th{color:var(--muted);font-size:13px;font-weight:400}.dns-table tr:last-child td{border-bottom:0}.dns-table th:first-child{width:14%}.dns-table th:nth-child(2){width:24%}.dns-table th:nth-child(4){width:18%}.dns-value{align-items:center;gap:8px;display:flex}.dns-value code{flex:1;font-size:12px}.dns-value button{color:var(--accent);background:0 0;border:0;padding:8px;font-size:12px}.dns-table small{margin-top:4px;font-size:12px;display:block}.email-test{align-items:flex-end;padding:20px}.email-test .grow{min-width:180px}@media (max-width:600px){.dns-table{font-size:12px}.dns-table th,.dns-table td{padding:12px 8px}.dns-table th:first-child{width:17%}.dns-table th:nth-child(2){width:25%}.dns-table th:nth-child(4){width:22%}.dns-value{display:block}.dns-table .status{padding:4px 6px;font-size:11px}.email-test>button{flex:1}.email-test>label{flex-basis:100%;width:100%}.tutor-booking-form{gap:20px}}.stack>.status,.stack-sm>.status{place-self:flex-start start}.section-tabs,.child-detail>.notice{background:var(--grey-bg);color:var(--muted)}.detail-back{min-height:44px;color:var(--muted);align-items:center;gap:16px;margin-bottom:24px;display:flex}.detail-back svg{color:var(--text)}.booking-detail-body>header .status{margin-bottom:4px}.payment-total{border-top:1px solid var(--border);gap:16px;margin-top:4px;padding-top:16px;display:grid}.payment-total h2{margin:0}.payment-security{align-items:flex-start;gap:12px;font-size:14px;display:flex}.payment-security svg{flex-shrink:0;margin-top:2px}.payment-result{padding-top:140px}.payment-icon{border-radius:50%;place-items:center;width:64px;height:64px;font-size:28px;display:grid}.payment-icon.confirmed{background:var(--green-bg);color:var(--green)}.payment-icon.failed{background:var(--red-bg);color:var(--red)}.payment-icon.requested{background:var(--amber-bg);color:var(--amber)}.payment-action>small{text-align:center;font-size:13px}.payment-result .text-button{color:var(--accent);background:0 0;border:0}@media (max-width:600px){.payment-shell{padding-bottom:0}.payment-shell>.navigation{display:none}.payment-summary{flex-direction:column;gap:24px;min-height:calc(100dvh - 112px);display:flex}.payment-summary .payment-action{margin-top:auto}.payment-summary>.legal-links{margin-top:-8px}.payment-result{padding:140px 24px 20px}.payment-result>.payment-wrap{flex-direction:column;gap:24px;min-height:calc(100dvh - 160px);display:flex}.payment-result .payment-action{margin-top:auto}.payment-result .legal-links{margin-top:0}.payment-action .button{min-height:48px;font-size:16px}.booking-detail-body{flex-direction:column;min-height:calc(100dvh - 198px);display:flex}.booking-detail-actions{gap:12px;width:100%;margin-top:auto;display:grid}.booking-detail-actions>.button,.booking-detail-actions>button{width:100%;min-height:48px;font-size:16px}.navigation a{font-size:12px}}:root[data-theme=dark]{--green:#82cfa0;--green-bg:#173322;--amber:#f2c063;--amber-bg:#3a2c0f;--red:#f2a19a;--red-bg:#3f211f;--grey:#a1a4ab;--grey-bg:#25262a}.review-card h3{color:var(--text)}.review-actions{flex-wrap:nowrap}.review-actions .price-field{gap:8px}.review-actions .price-field input{width:92px;min-width:0}.page:has(.email-settings){max-width:1136px}@media (max-width:600px){.tutor-create{display:none}.review-card .review-actions{grid-template-columns:88px minmax(0,1fr) 78px;gap:8px;display:grid}.review-actions .price-field{display:block;position:relative}.review-actions .price-field>span{color:var(--muted);font-weight:400;position:absolute;top:14px;left:12px}.review-actions .price-field input{width:100%;padding-left:28px}.review-actions>button{white-space:nowrap;padding:10px 8px;font-size:14px}}.child-detail{max-width:1120px}.page:has(.child-detail){max-width:1280px}.child-panels{grid-template-columns:1fr 1fr;grid-template-areas:"lessons messages""payments boards";gap:32px;display:grid}.child-detail>.section-tabs{display:none}.child-lessons{grid-area:lessons}.child-payments{grid-area:payments}.child-messages{grid-area:messages}.child-boards{grid-area:boards}.child-panels .embedded-conversation{height:220px}.child-full-conversation{margin-top:12px;font-size:14px}.child-panel h2{font-size:18px}.child-panel .booking-row{flex-wrap:wrap}.child-panel .booking-main{min-width:50%}@media (max-width:900px){.child-detail>.section-tabs{display:flex}.child-panels{display:block}.child-panel{display:none}.child-panel.selected-panel{display:block}.child-panel>h2{display:none}.child-panels .embedded-conversation{height:500px}.child-detail{max-width:800px}}.booking-calendar{display:none}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-grid>small{text-align:center;padding:8px 0;font-size:12px}.calendar-grid>button{border-color:#0000;min-width:0;padding:8px 0;font-size:14px;font-weight:400}.calendar-grid>button.available{border-color:var(--border)}.calendar-grid>button.selected{background:var(--accent)!important;color:var(--on-accent)!important}.calendar-grid>button:disabled{opacity:.45;background:0 0}.booking-calendar>.row h2{white-space:nowrap}.booking-calendar>.row>.row{gap:0;font-size:13px}.booking-calendar>.row button{background:0 0;border:0;width:32px;padding:8px}.booking-calendar>small{font-size:12px;line-height:1.6}.booking-calendar{align-content:start;gap:16px}.booking-calendar .row h2{font-size:16px}@media (min-width:901px){.page:has(.request-booking-form){max-width:1280px}.request-booking-form{grid-template-columns:minmax(350px,1fr) minmax(300px,1.1fr);align-items:start;gap:24px 36px;max-width:1100px;display:grid}.request-booking-form>.booking-calendar{grid-area:1/1/9;min-height:480px;display:grid}.request-booking-form>*{grid-column:2}.request-booking-form>.mobile-date-picker{display:none}.request-booking-form>.booking-submit{margin-top:0}.request-booking-form>.booking-submit .primary{justify-self:start;width:auto}.request-booking-form>.slot-options{gap:8px}.request-booking-form:has(>label:first-child)>.booking-calendar{grid-row:2/10}}@media (min-width:601px) and (max-width:1280px){.navigation{width:88px;padding:16px 8px}.navigation .brand,.navigation .nav-end span{display:none}.navigation a{flex-direction:column;gap:4px;padding:10px 4px;font-size:11px}.app-shell{padding-left:88px}.request-booking-form{gap:24px}.page{padding:32px}}.nav-mark{display:none}.page:has(.parent-home-sections){max-width:1280px}@media (min-width:901px){.parent-home-sections{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;max-width:1120px}.parent-home-sections>.child-block{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.parent-home-sections .child-heading h2{font-size:20px!important}.parent-home-sections .action-card{background:var(--bg);grid-template-columns:1fr auto;gap:12px;padding:16px;display:grid}.parent-home-sections .pay-actions{grid-column:1/-1}.parent-home-sections .pay-actions .primary{flex:1}.parent-home-sections .child-heading>a{font-size:14px}.parent-home-sections .booking-row{flex-wrap:wrap}.parent-home-sections .booking-row .booking-main{min-width:50%}.parent-home-sections .booking-row .duration{order:2;width:100%}}@media (min-width:901px) and (max-width:1280px){.page:has(.student-home-sections){max-width:760px;margin:auto}}@media (min-width:601px) and (max-width:1280px){.navigation .nav-mark{background:var(--accent);width:40px;height:40px;color:var(--on-accent);border-radius:8px;align-self:center;place-items:center;font-size:14px;display:grid}}.home-sections.parent-home-sections{max-width:1120px}.embedded-conversation .empty{gap:8px;padding:16px}.embedded-conversation .empty h2{font-size:16px}.embedded-conversation .notice{border-radius:0;padding:12px}.board-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.board-preview{min-width:0;color:var(--text);gap:8px;font-size:13px;display:grid}.board-preview>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-preview-paper{border:1px solid var(--border);color:#17181a;background:#fff;border-radius:8px;place-items:center;height:96px;display:grid;overflow:hidden}.board-preview-paper svg{width:100%;height:100%}.board-preview-paper pre{white-space:pre-wrap;max-width:100%;margin:0;padding:8px;font:10px JetBrains Mono,monospace}.board-preview-paper small{color:#5c5f66;font-size:12px}.board-preview .pdf-label{color:#a11d12;font-size:12px}@media (max-width:600px){.home-sections.parent-home-sections{grid-template-columns:1fr;display:grid}.board-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}.page{width:100%;margin-inline:auto}.page-header{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;padding:14px 20px}.page-header h1{letter-spacing:-.4px;font-size:24px}.home-sections>section:not(.child-block),.settings-content>section,.email-settings>section,.booking-detail>section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 24px}.home-sections>section>h2,.settings-content>section>h2{margin-bottom:12px}.home-sections .empty-line,.home-sections .muted:last-child{padding-bottom:0}.home-sections .list-row:last-child{border-bottom:0;padding-bottom:0}.detail-sidebar,.people-list{background:var(--surface)}.sidebar-item{border-radius:0}.split-page>.page{padding-top:32px}@media (min-width:901px){.navigation{box-shadow:1px 0 0 var(--border);gap:20px;padding:20px 14px}.navigation .brand{background:var(--soft);color:var(--accent);text-align:center;border-radius:10px;padding:12px;font-weight:600}.navigation nav{border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:6px}.navigation .nav-end{border:1px solid var(--border);background:var(--bg);text-align:center;border-radius:12px;padding:12px}.navigation .nav-end button,.navigation .nav-end .button{width:100%}.page{max-width:1120px;padding:40px 40px 56px}.home-sections:not(.parent-home-sections):not(.student-home-sections){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.home-sections:not(.parent-home-sections):not(.student-home-sections)>*{grid-column:1/-1}.home-sections:not(.parent-home-sections):not(.student-home-sections)>section{grid-column:auto}.home-sections:not(.parent-home-sections):not(.student-home-sections)>section:last-child:nth-child(odd){grid-column:1/-1}}@media (min-width:901px) and (max-width:1100px){.page{padding:32px 24px}}
