.crest{background:var(--brand);color:var(--on-brand);font-family:var(--font-paper);font-weight:var(--fw-bold);letter-spacing:.02em;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff24}.crest-mark{box-shadow:none;background:0 0}.ui-sheet{--sheet-w:460px;width:min(var(--sheet-w), 94vw);border:0;border-left:1px solid var(--border);background:var(--surface);max-width:none;height:100dvh;max-height:none;color:var(--text);box-shadow:var(--shadow-panel);margin:0;padding:0;position:fixed;inset:0 0 0 auto;overflow:hidden}.ui-sheet::backdrop{background:var(--scrim)}.ui-sheet[open]{animation:ui-sheet-in-right var(--dur-slow) var(--ease)}.ui-sheet-left{border-left:0;border-right:1px solid var(--border);--sheet-w:300px;inset:0 auto 0 0}.ui-sheet-left[open]{animation-name:ui-sheet-in-left}@keyframes ui-sheet-in-right{0%{opacity:0;transform:translate(24px)}}@keyframes ui-sheet-in-left{0%{opacity:0;transform:translate(-24px)}}@keyframes ui-sheet-in-up{0%{opacity:0;transform:translateY(32px)}}.ui-sheet-panel{flex-direction:column;height:100%;min-height:0;display:flex}.ui-sheet-grab{display:none}.ui-sheet-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-5);padding:var(--sp-6) var(--sp-7) var(--sp-6) var(--sp-8);border-bottom:1px solid var(--border);padding-top:max(var(--sp-6), env(safe-area-inset-top,0px));display:flex}.ui-sheet-titles{flex-direction:column;gap:2px;min-width:0;padding-top:6px;display:flex}.ui-sheet-title{font-size:var(--fs-lg);font-weight:var(--fw-title);letter-spacing:0}.ui-sheet-desc{font-size:var(--fs-sm);color:var(--text-muted)}.ui-sheet-body{overscroll-behavior:contain;min-height:0;padding:var(--sp-6) var(--sp-8);flex:1;overflow-y:auto}.ui-sheet-foot{justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-5) var(--sp-8) calc(var(--sp-5) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);flex-wrap:wrap;display:flex}@media (width<=640px){.ui-sheet-right,.ui-sheet-bottom{border:0;border-top:1px solid var(--border);border-radius:var(--r-sheet) var(--r-sheet) 0 0;width:100%;height:auto;max-height:88dvh;inset:auto 0 0}.ui-sheet-right[open],.ui-sheet-bottom[open]{animation-name:ui-sheet-in-up}.ui-sheet-right .ui-sheet-panel,.ui-sheet-bottom .ui-sheet-panel{height:auto;max-height:88dvh}.ui-sheet-right .ui-sheet-grab,.ui-sheet-bottom .ui-sheet-grab{border-radius:var(--r-pill);background:var(--border-strong);width:36px;height:4px;margin:var(--sp-3) auto 0;display:block}.ui-sheet-right .ui-sheet-head,.ui-sheet-bottom .ui-sheet-head{padding-top:var(--sp-3)}}@media (width>=641px){.ui-sheet-bottom{border-radius:var(--r-sheet) var(--r-sheet) 0 0;border:0;width:100%;height:auto;max-height:88dvh;inset:auto 0 0}.ui-sheet-bottom[open]{animation-name:ui-sheet-in-up}}.demo-banner{background:var(--gold-tint);color:var(--text);border-bottom:1px solid color-mix(in srgb, var(--gold) 35%, transparent);font-size:var(--fs-sm)}.demo-banner-inner{max-width:var(--page-max);padding:var(--sp-2) var(--gutter);align-items:center;gap:var(--sp-4);min-height:32px;margin:0 auto;display:flex}.demo-banner p{min-width:0;line-height:var(--lh-snug);flex:1;margin:0}.demo-banner-icon{color:var(--gold-ink,var(--text));flex:none}.demo-banner-exit{align-items:center;gap:var(--sp-2);height:26px;padding:0 var(--sp-4);border:1px solid color-mix(in srgb, var(--gold) 50%, var(--border));border-radius:var(--r-pill);background:var(--surface);color:var(--text);font:inherit;font-weight:var(--fw-semibold);cursor:pointer;flex:none;display:inline-flex}.demo-banner-exit:hover{background:var(--surface-2)}.demo-banner-exit:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ui-avatar{--a-bg:var(--success-bg);--a-fg:var(--success-fg);background:var(--a-bg);color:var(--a-fg);font-weight:var(--fw-semibold);letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;line-height:1;display:inline-grid}.ui-avatar-green{--a-bg:var(--success-bg);--a-fg:var(--success-fg)}.ui-avatar-blue{--a-bg:var(--info-bg);--a-fg:var(--info-fg)}.ui-avatar-gold{--a-bg:var(--gold-tint);--a-fg:var(--gold-ink)}.ui-avatar-rose{--a-bg:var(--danger-bg);--a-fg:var(--danger-fg)}.ui-avatar-teal{--a-bg:color-mix(in srgb, var(--info-bg) 50%, var(--success-bg));--a-fg:var(--text)}.ui-avatar-violet{--a-bg:color-mix(in srgb, var(--info-bg) 60%, var(--danger-bg));--a-fg:var(--text)}.ui-badge{align-items:center;gap:var(--sp-2);height:22px;padding:0 var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.01em;white-space:nowrap;vertical-align:middle;border:1px solid #0000;line-height:1;display:inline-flex}.ui-badge-soft{background:var(--t-bg);color:var(--t-fg)}.ui-badge-outline{border-color:var(--t-bd);color:var(--t-fg);background:0 0}.ui-badge-solid{background:var(--t);color:var(--surface)}.ui-badge-solid.ui-tone-gold{color:var(--on-gold)}.ui-badge-dot{background:var(--t);border-radius:50%;flex:none;width:6px;height:6px}.ui-badge-dot.is-pulsing{animation:1.6s ease-in-out infinite ui-pulse}@keyframes ui-pulse{50%{opacity:.35}}.ui-meta{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);height:20px;color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap;align-items:center;padding:0 7px;line-height:1;display:inline-flex}.ui-meta-mono{font-family:var(--font-mono)}.ui-meta-easy{background:var(--success-bg);border-color:var(--success-bd);color:var(--success-fg)}.ui-meta-medium{background:var(--warning-bg);border-color:var(--warning-bd);color:var(--warning-fg)}.ui-meta-hard{background:var(--danger-bg);border-color:var(--danger-bd);color:var(--danger-fg)}.ui-meta-gold{background:var(--gold-tint);border-color:var(--gold);color:var(--gold-ink)}.ui-chip{align-items:center;gap:var(--sp-2);height:28px;padding:0 var(--sp-4);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text-muted);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast);display:inline-flex}.ui-chip:hover{border-color:var(--border-strong);color:var(--text)}.ui-chip.is-on{background:var(--primary-tint);border-color:var(--primary-line);color:var(--primary-ink)}.ui-chip.is-removable:hover{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.ui-chip-count{font-size:var(--fs-xs);opacity:.75}@media (pointer:coarse){.ui-chip{height:36px}}.ui-menu{display:inline-flex;position:relative}.ui-menu-panel{z-index:var(--z-over);min-width:220px;max-width:min(320px,100vw - 24px);padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-menu);animation:ui-menu-in var(--dur-fast) var(--ease);position:absolute;top:calc(100% + 6px)}.ui-menu-panel.is-end{right:0}.ui-menu-panel.is-start{left:0}@keyframes ui-menu-in{0%{opacity:0;transform:translateY(-4px)}}.ui-menu-header{padding:var(--sp-3) var(--sp-4) var(--sp-4);margin-bottom:var(--sp-2);border-bottom:1px solid var(--border)}.ui-menu-label{padding:var(--sp-3) var(--sp-4) var(--sp-1)}.ui-menu-item{align-items:center;gap:var(--sp-4);width:100%;height:36px;padding:0 var(--sp-4);border-radius:var(--r-sm);color:var(--text);text-align:left;cursor:pointer;font:inherit;font-size:var(--fs-md);background:0 0;border:0;display:flex}.ui-menu-item .ui-icon{color:var(--text-muted);flex:none}.ui-menu-item:hover,.ui-menu-item:focus-visible{background:var(--surface-2);outline:none}.ui-menu-item[aria-disabled=true]{opacity:.5;cursor:not-allowed}.ui-menu-item.is-danger,.ui-menu-item.is-danger .ui-icon{color:var(--danger)}.ui-menu-item[aria-checked=true]{font-weight:var(--fw-semibold)}.ui-menu-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ui-menu-hint{font-size:var(--fs-xs);color:var(--text-subtle)}.ui-menu-item .ui-menu-check{color:var(--primary-ink)}.ui-menu-gap{flex:none;width:16px}.ui-menu-sep{background:var(--border);height:1px;margin:var(--sp-2) calc(-1 * var(--sp-2))}@media (pointer:coarse){.ui-menu-item{height:44px}}.app-footer{border-top:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:var(--fs-sm);margin-top:auto}.app-footer-inner{max-width:var(--page-max);padding:var(--sp-5) var(--gutter) calc(var(--sp-5) + env(safe-area-inset-bottom,0px));align-items:center;gap:var(--sp-3) var(--sp-8);flex-wrap:wrap;margin:0 auto;display:flex}.app-footer-owner{margin:0}.app-footer-nav ul{gap:var(--sp-2) var(--sp-6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.app-footer-nav a{color:var(--text-muted);border-radius:var(--r-xs);text-decoration:none}.app-footer-nav a:hover{color:var(--primary-ink);text-underline-offset:2px;text-decoration:underline}.app-footer-powered{color:var(--text-subtle);font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0 0 0 auto}@media (pointer:coarse){.app-footer-nav a{align-items:center;min-height:44px;display:inline-flex}}@media (width<=560px){.app-footer-powered{flex-basis:100%;margin-left:0}}.app-frame{flex-direction:column;min-height:100dvh;display:flex}.app-frame>main{box-sizing:border-box;flex:1 0 auto;width:100%}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,math,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.19.0"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.ui-empty{text-align:center;align-items:center;gap:var(--sp-3);padding:var(--sp-12) var(--sp-9);flex-direction:column;display:flex}.ui-empty.is-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs)}.ui-empty-icon{background:var(--surface-2);width:44px;height:44px;color:var(--text-muted);margin-bottom:var(--sp-2);border-radius:50%;place-items:center;display:grid}.ui-empty-title{font-size:var(--fs-lg);font-weight:var(--fw-title);letter-spacing:0}.ui-empty-desc,.ui-empty>p{max-width:44ch;font-size:var(--fs-md);color:var(--text-muted)}.ui-empty-actions{justify-content:center;gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.ui-loading{align-items:center;gap:var(--sp-3);padding:var(--sp-5) 0;color:var(--text-muted);font-size:var(--fs-md);display:flex}.tt-page{gap:var(--sp-8);flex-direction:column;display:flex}.tt-page .ui-page-header,.tt-chat .ui-page-header{margin-bottom:0}.tt-home{gap:var(--sp-7);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}@media (width<=900px){.tt-home{grid-template-columns:1fr}}.tt-fields{gap:var(--sp-7);flex-direction:column;display:flex}.tt-new-foot{justify-content:space-between}.tt-usage{flex:200px;max-width:280px}.tt-list{margin:0;padding:0;list-style:none}.tt-list a{align-items:center;gap:var(--sp-5);padding:var(--pad-row-y) var(--sp-8);border-top:1px solid var(--border);color:var(--text);transition:background var(--dur-fast);text-decoration:none;display:flex}.tt-list li:first-child a{border-top:0}.tt-list a:hover{background:var(--option-hover)}.tt-list a:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:0}.tt-list-icon{border-radius:var(--r-md);background:var(--primary-tint);width:32px;height:32px;color:var(--primary-ink);flex:none;place-items:center;display:grid}.tt-list-text{flex-direction:column;flex:1;min-width:0;display:flex}.tt-list-text strong{font-weight:var(--fw-semibold);font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tt-list-text span{font-size:var(--fs-sm);color:var(--text-muted)}.tt-list-go{color:var(--text-subtle)}.tt-chat{gap:var(--sp-7);width:100%;max-width:880px;min-height:calc(100dvh - var(--header-h) - var(--sections-h) - var(--sp-9));margin:0 auto;margin-bottom:calc(-1 * var(--sp-12));flex-direction:column;display:flex}.tt-thread{gap:var(--sp-7);flex-direction:column;flex:1;margin:0;padding:0;list-style:none;display:flex}.tt-msg{gap:var(--sp-5);align-items:flex-start;display:flex}.tt-msg.is-mine{justify-content:flex-end}.tt-avatar{background:var(--primary-tint);width:32px;height:32px;color:var(--primary-ink);border:1px solid var(--primary-line);border-radius:50%;flex:none;place-items:center;display:grid}.tt-avatar.is-big{width:48px;height:48px}.tt-bubble{overflow-wrap:anywhere;min-width:0;max-width:min(46rem,100%);line-height:var(--lh-loose)}.is-tutor .tt-bubble{padding:var(--sp-6) var(--sp-8);background:var(--surface);border:1px solid var(--border);border-radius:4px var(--r-xl) var(--r-xl) var(--r-xl);box-shadow:var(--shadow-xs);flex:1}.is-mine .tt-bubble{padding:var(--sp-5) var(--sp-7);background:var(--primary-tint);border:1px solid var(--primary-line);border-radius:var(--r-xl) 4px var(--r-xl) var(--r-xl);max-width:min(36rem,85%)}.rich p{margin:.6em 0}.rich pre{padding:var(--sp-4);border-radius:var(--r-md);background:var(--surface-2);overflow-x:auto}.tt-empty{text-align:center;align-items:center;gap:var(--sp-5);padding:var(--sp-12) var(--sp-7);color:var(--text-muted);flex-direction:column;display:flex}.tt-empty p{max-width:44ch}.tt-starters{justify-content:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.tt-working{align-items:center;gap:var(--sp-3);min-height:1.25rem;font-size:var(--fs-sm);color:var(--text-muted);padding-left:calc(32px + var(--sp-5));display:flex}.tt-composer{z-index:var(--z-sticky);padding:var(--sp-5) 0 calc(var(--sp-5) + env(safe-area-inset-bottom,0px));background:linear-gradient(to bottom, transparent, var(--bg) 30%);position:sticky;bottom:0}.tt-composer-box{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-xl);box-shadow:var(--shadow-card);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);flex-direction:column;display:flex}.tt-composer-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring), var(--shadow-card)}.tt-composer textarea{resize:none;color:var(--text);font:inherit;font-size:var(--fs-base);padding:var(--sp-6) var(--sp-7) var(--sp-3);field-sizing:content;background:0 0;border:0;outline:none;min-height:56px;max-height:40dvh}.tt-composer-foot{justify-content:space-between;align-items:center;gap:var(--sp-5);padding:var(--sp-3) var(--sp-4) var(--sp-4) var(--sp-7);display:flex}.tt-composer-hint{font-size:var(--fs-xs);color:var(--text-subtle)}@media (pointer:coarse){.tt-composer-hint{visibility:hidden}}.tutor-figure img{background:var(--paper);border-radius:var(--r-md);border:1px solid var(--border);max-width:100%;height:auto;display:block}.tutor-figure figcaption{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted)}.tutor-maths{margin-top:var(--sp-4);padding:var(--sp-5) var(--sp-7);background:var(--surface-2);border-radius:var(--r-md)}.tutor-steps{margin:var(--sp-2) 0 0;gap:var(--sp-2);padding-left:1.25rem;display:grid}.tutor-card{margin-top:var(--sp-5);align-items:center;gap:var(--sp-5);padding:var(--sp-5) var(--sp-6);border-radius:var(--r-lg);border:1px solid var(--primary-line);background:var(--primary-tint);flex-wrap:wrap;display:flex}.tutor-card-icon{border-radius:var(--r-md);background:var(--surface);width:36px;height:36px;color:var(--primary-ink);flex:none;place-items:center;display:grid}.tutor-card-text{flex:12rem;min-width:0}.tutor-card-text p{font-size:var(--fs-sm);color:var(--text-muted);margin:0}.tutor-written{background:var(--surface);border-color:var(--border);display:block}.tutor-written-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--gold-ink);margin-bottom:var(--sp-3)}.tutor-written details summary{cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--primary-ink);margin-top:var(--sp-3)}.tutor-source{margin-top:var(--sp-3);font-size:var(--fs-xs);color:var(--text-subtle)}.tt-panel{gap:var(--sp-7);flex-direction:column;flex:1;min-height:0;display:flex}.tt-panel.is-compact{gap:var(--sp-5)}.tt-panel.is-compact .tt-composer{background:linear-gradient(to bottom, transparent, var(--surface) 30%);padding-bottom:0}.tt-panel.is-compact .tt-avatar{display:none}.tt-panel.is-compact .is-tutor .tt-bubble{padding:var(--sp-5) var(--sp-6)}.tt-about,.tutor-about{align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-left:3px solid var(--primary);background:var(--primary-tint);border-radius:0 var(--r-md) var(--r-md) 0;font-size:var(--fs-sm);display:flex}.tutor-about{gap:var(--sp-1);flex-direction:column}.tt-about-text{gap:var(--sp-1);flex-direction:column;flex:1;min-width:0;display:flex}.tt-about-label,.tutor-about-label{font-weight:var(--fw-semibold);color:var(--primary-ink);margin:0}.tt-about blockquote,.tutor-about blockquote{color:var(--text-muted);overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.tt-ask-title{align-items:center;gap:var(--sp-3);display:inline-flex}.tt-ask-title svg{color:var(--primary-ink)}.tt-ask-sheet .ui-sheet-body{flex-direction:column;display:flex}.tt-select-chip{z-index:var(--z-toast);align-items:center;gap:var(--sp-2);height:36px;padding:0 var(--sp-5);border-radius:var(--r-pill);background:var(--text);color:var(--bg);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:var(--lh-snug);cursor:pointer;box-shadow:var(--shadow-menu);animation:tt-chip-in var(--dur) var(--ease);border:0;display:inline-flex;position:fixed;transform:translate(-50%)}.tt-select-chip:hover{background:var(--primary);color:var(--primary-fg)}.tt-select-chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@keyframes tt-chip-in{0%{opacity:0;transform:translate(-50%,4px)}}@media (prefers-reduced-motion:reduce){.tt-select-chip{animation:none}}@media (pointer:coarse){.tt-select-chip{height:44px}}.shell-header{z-index:var(--z-header);position:sticky;top:0}.shell-inner{max-width:var(--page-max);padding:0 var(--gutter);align-items:center;gap:var(--sp-5);min-width:0;height:100%;margin:0 auto;display:flex}.shell-band{height:var(--header-h);background:var(--header-bg);color:var(--header-fg);padding-top:env(safe-area-inset-top,0px);box-sizing:content-box}.shell-brand{align-items:center;gap:var(--sp-4);min-width:0;color:var(--header-fg);border-radius:var(--r-md);padding:var(--sp-1) var(--sp-2) var(--sp-1) 0;margin-right:auto;text-decoration:none;display:flex}.shell-brand:focus-visible{outline-color:var(--header-fg)}.shell-name{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:var(--tracking-title);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.shell-tools{align-items:center;gap:var(--sp-2);flex:none;display:flex}.shell-band :focus-visible{outline-color:var(--header-fg)}.shell-burger{margin-left:calc(-1 * var(--sp-3));display:none}.shell-account{border:2px solid var(--header-line);cursor:pointer;transition:border-color var(--dur-fast);background:0 0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.shell-account:hover,.shell-account[aria-expanded=true]{border-color:var(--header-fg-muted)}.shell-account:focus-visible{outline:2px solid var(--header-fg);outline-offset:2px;border-radius:50%}.shell-who{align-items:center;gap:var(--sp-5);display:flex}.shell-who-text{align-items:flex-start;gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.shell-who-text strong{font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.shell-who-email{font-size:var(--fs-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.shell-sections{height:var(--sections-h);background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-xs);transition:height var(--dur-slow) var(--ease);overflow:hidden}.shell-sections.is-hidden:not(:focus-within){border-bottom-color:#0000;height:0}.shell-nav{scrollbar-width:none;flex:1;min-width:0;overflow-x:auto}.shell-nav::-webkit-scrollbar{display:none}.shell-links{align-items:center;gap:var(--sp-1);margin:0;padding:0;list-style:none;display:flex}.shell-link{align-items:center;gap:var(--sp-3);height:32px;padding:0 var(--sp-5);border-radius:var(--r-md);color:var(--text-muted);white-space:nowrap;font-size:var(--fs-md);font-weight:var(--fw-medium);transition:background var(--dur-fast), color var(--dur-fast);text-decoration:none;display:inline-flex}.shell-link:hover{background:var(--surface-2);color:var(--text)}.shell-link.is-current{color:var(--primary-ink);font-weight:var(--fw-semibold);background:var(--primary-tint);box-shadow:inset 0 -2px 0 var(--primary)}.shell-term{align-items:center;gap:var(--sp-2);height:28px;padding:0 var(--sp-4);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);white-space:nowrap;flex:none;display:inline-flex}.shell-term-dot{background:var(--gold);width:7px;height:7px;box-shadow:0 0 0 2px var(--gold-tint);border-radius:50%}.shell-sheet-term{margin-bottom:var(--sp-5)}.shell-sheet-nav .shell-links{align-items:stretch;gap:var(--sp-1);flex-direction:column}.shell-sheet-nav .shell-link{width:100%;height:44px;font-size:var(--fs-base)}.shell-sheet-nav .shell-link.is-current{box-shadow:inset 3px 0 0 var(--primary)}.shell-signout{color:var(--danger);justify-content:flex-start}@media (width<=900px){.shell-burger{display:inline-flex}.shell-sections{display:none}}.fm-bell{position:relative}.fm-bell-count{background:var(--gold);min-width:18px;height:18px;color:var(--on-gold);text-align:center;pointer-events:none;box-shadow:0 0 0 2px var(--brand-deep);border-radius:9px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:2px;right:2px}#root:has(>.shell-page){flex-direction:column;min-height:100dvh;display:flex}#root>.shell-page{flex:1 0 auto;width:100%}.shell-page:has(>*>.ui-actionbar){flex-direction:column;display:flex}.shell-page:has(>*>.ui-actionbar)>*{flex:1 0 auto}.ui-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);min-width:0;box-shadow:var(--shadow-xs);color:var(--text);display:block;overflow:hidden}.ui-card-header{justify-content:space-between;align-items:center;gap:var(--sp-5);padding:var(--sp-6) var(--sp-8);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.ui-card-heading{flex-direction:column;gap:2px;min-width:0;display:flex}.ui-card-title{font-size:var(--fs-lg);font-weight:var(--fw-title);line-height:var(--lh-snug);letter-spacing:0}.ui-card-desc{font-size:var(--fs-sm);color:var(--text-muted)}.ui-card-actions{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.ui-card-body{padding:var(--pad-card)}.ui-card-body.is-flush{padding:0}.ui-card-section{padding:var(--sp-6) var(--sp-8);border-top:1px solid var(--border)}.ui-card-header+.ui-card-section,.ui-card-section:first-child{border-top:0}.ui-card-footer{justify-content:flex-end;align-items:center;gap:var(--sp-3);padding:var(--sp-5) var(--sp-8);background:var(--surface-2);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.ui-card-link{transition:border-color var(--dur), box-shadow var(--dur), transform var(--dur);text-decoration:none}.ui-card-link:hover{border-color:var(--primary-line);box-shadow:var(--shadow-card)}.ui-card-link:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);border-radius:var(--r-xl);outline:none}.ui-page-header{gap:var(--sp-3);margin-bottom:var(--sp-8);flex-direction:column;min-width:0;display:flex}.ui-back{align-self:flex-start;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--primary-ink);text-decoration:none;display:inline-flex}.ui-back:hover{text-decoration:underline}.ui-crumbs ol{align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ui-crumbs li{align-items:center;gap:var(--sp-1);color:var(--text-muted);display:inline-flex}.ui-crumbs a{color:var(--text-muted);text-decoration:none}.ui-crumbs a:hover{color:var(--primary-ink);text-decoration:underline}.ui-crumbs [aria-current=page]{color:var(--text)}.ui-crumbs-sep{color:var(--text-subtle)}.ui-page-header-row{justify-content:space-between;align-items:flex-end;gap:var(--sp-5) var(--sp-7);flex-wrap:wrap;display:flex}.ui-page-header-text{gap:var(--sp-2);flex-direction:column;flex:22rem;min-width:0;display:flex}.ui-eyebrow{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-subtle)}.ui-page-title-row{align-items:center;gap:var(--sp-3) var(--sp-5);flex-wrap:wrap;display:flex}.ui-page-title{font-size:var(--fs-2xl);overflow-wrap:anywhere}.ui-page-desc{font-size:var(--fs-md);color:var(--text-muted);max-width:72ch}.ui-page-actions{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.ui-page-tabs{margin-top:var(--sp-5)}.ui-stats{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;display:grid;overflow:hidden}.ui-stat{gap:var(--sp-1);min-width:0;padding:var(--sp-6) var(--sp-7);background:var(--surface);color:var(--text);text-align:left;font:inherit;--stat-rules:1px 1px 0 var(--border);box-shadow:var(--stat-rules);border:0;flex-direction:column;text-decoration:none;display:flex}.ui-stat-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-subtle)}.ui-stat-value{font-size:var(--fs-3xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--tracking-title)}.ui-stat-sub{font-size:var(--fs-sm);color:var(--text-muted)}.ui-stat.has-tone .ui-stat-value{color:var(--t-fg)}.ui-stat.has-tone.ui-tone-warning,.ui-stat.has-tone.ui-tone-danger{background:color-mix(in srgb, var(--t-bg) 55%, var(--surface))}.ui-stat.is-action{cursor:pointer;transition:background var(--dur-fast)}.ui-stat.is-action:hover{background:var(--option-hover)}.ui-stat.is-action:focus-visible{box-shadow:inset 0 0 0 2px var(--primary), var(--stat-rules);border-radius:0;outline:none}.ui-stat[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--primary), var(--stat-rules);background:var(--primary-tint)}.ui-table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;position:relative;overflow:auto}.ui-table-wrap.is-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs)}.ui-table-wrap:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ui-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-md);color:var(--text)}.ui-table th,.ui-table td{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.ui-table-compact th,.ui-table-compact td{padding:var(--sp-2) var(--sp-4)}.ui-table thead th{background:var(--surface-2);color:var(--text-subtle);white-space:nowrap;font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase}.ui-table tbody th{font-weight:var(--fw-medium)}.ui-table tbody tr:last-child>*{border-bottom:0}.ui-table tbody tr{transition:background var(--dur-fast)}.ui-table tbody tr:hover>*{background:var(--option-hover)}.ui-table tbody tr[aria-selected=true]>*{background:var(--option-sel-bg)}.ui-table tfoot>tr>*{background:var(--surface-2);font-weight:var(--fw-semibold);border-top:1px solid var(--border);border-bottom:0}.ui-table .num{text-align:right}.ui-table.is-sticky-header thead th{z-index:2;position:sticky;top:0}.ui-table.is-sticky-first tr>:first-child{z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--border);position:sticky;left:0}.ui-table.is-sticky-first thead tr>:first-child{z-index:3;background:var(--surface-2)}.ui-table.is-sticky-first tfoot tr>:first-child{background:var(--surface-2)}.ui-table.is-sticky-first tbody tr:hover>:first-child{background:var(--option-hover)}.is-scrolled>.ui-table.is-sticky-first tr>:first-child{box-shadow:1px 0 0 var(--border), 6px 0 8px -4px #0a181229}.ui-th-sort{align-items:center;gap:var(--sp-1);font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.ui-th-sort:hover{color:var(--text)}th.num .ui-th-sort{flex-direction:row-reverse}.ui-cell-input{width:100%;min-width:4rem;height:32px;padding:0 var(--sp-3);border-radius:var(--r-sm);color:var(--text);font:inherit;font-size:var(--fs-md);text-align:right;font-variant-numeric:tabular-nums;transition:border-color var(--dur-fast), background var(--dur-fast), box-shadow var(--dur-fast);background:0 0;border:1px solid #0000}.ui-cell-input.is-left{text-align:left}td.num>.ui-cell-input{max-width:6.5rem;margin-left:auto;display:block}.ui-cell-input:hover:not([readonly]):not(:disabled){border-color:var(--border-strong)}.ui-cell-input:focus-visible,.ui-cell-input:focus{background:var(--input-bg);border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);border-radius:var(--r-sm);outline:none}.ui-cell-input.is-changed{background:var(--primary-tint);box-shadow:inset 2px 0 0 var(--primary)}.ui-cell-input[aria-invalid=true]{background:var(--danger-bg);border-color:var(--danger)}.ui-cell-input[readonly]{color:var(--text-muted)}.pr-home,.pr-page{gap:var(--sp-9);flex-direction:column;display:flex}.pr-page.is-narrow{max-width:var(--page-narrow);width:100%;margin:0 auto}.pr-home .ui-page-header,.pr-page .ui-page-header{margin-bottom:0}.pr-section{gap:var(--sp-5);flex-direction:column;display:flex}.pr-split{gap:var(--sp-7);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;display:grid}@media (width<=960px){.pr-split{grid-template-columns:1fr}}.pr-empty-text{color:var(--text-muted);font-size:var(--fs-md);max-width:60ch}.pr-tiles{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin:0;padding:0;list-style:none;display:grid}@media (width>=900px){.pr-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}.pr-tiles>li{display:flex}.pr-tile{align-items:flex-start;gap:var(--sp-6);padding:var(--sp-7) var(--sp-8);flex:1;display:flex;position:relative}.pr-tile-icon{border-radius:var(--r-lg);background:var(--primary-tint);width:40px;height:40px;color:var(--primary-ink);flex:none;place-items:center;display:grid}.pr-tile-text{padding-right:var(--sp-7);flex-direction:column;gap:2px;min-width:0;display:flex}.pr-tile-title{font-size:var(--fs-lg);font-weight:var(--fw-title);color:var(--text);line-height:var(--lh-snug)}.pr-tile-desc{font-size:var(--fs-md);color:var(--text-muted)}.pr-tile-arrow{top:var(--sp-7);right:var(--sp-7);color:var(--text-subtle);transition:transform var(--dur) var(--ease), color var(--dur);position:absolute}.pr-tile:hover .pr-tile-arrow{color:var(--primary-ink);transform:translate(2px)}.pr-sessions{margin:0;padding:0;list-style:none}.pr-session{align-items:center;gap:var(--sp-5);padding:var(--pad-row-y) var(--sp-8);border-top:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.pr-session:first-child{border-top:0}.pr-session:hover{background:var(--option-hover)}.pr-session-icon{border-radius:var(--r-md);background:var(--surface-2);width:36px;height:36px;color:var(--text-muted);place-items:center;display:grid}.pr-session-main{flex-direction:column;gap:3px;min-width:0;display:flex}.pr-session-title{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.pr-session-title strong{font-size:var(--fs-md);font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pr-session-meta{font-size:var(--fs-sm);color:var(--text-muted)}.pr-session-bar{border-radius:var(--r-pill);background:var(--surface-3);max-width:240px;height:4px;margin-top:3px;display:flex;overflow:hidden}.pr-session-bar .is-right{background:var(--success)}.pr-session-bar .is-seen{background:color-mix(in srgb, var(--danger) 70%, var(--surface))}.pr-session-score{font-size:var(--fs-sm);color:var(--text-muted);text-align:right}@media (width<=640px){.pr-session{padding-inline:var(--sp-7);grid-template-columns:auto minmax(0,1fr) auto}.pr-session-score{text-align:left;grid-area:2/2}.pr-session>.ui-button{grid-area:1/3/span 2}}.pr-bars{gap:var(--sp-4);margin:0;padding:0;list-style:none;display:grid}.pr-bars li{gap:var(--sp-5);grid-template-columns:minmax(6rem,11rem) minmax(0,1fr) auto;align-items:center;display:grid}.pr-bar-label{font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pr-bar{border-radius:var(--r-pill);background:var(--surface-3);height:8px;overflow:hidden}.pr-bar span{border-radius:var(--r-pill);background:var(--primary);height:100%;display:block}.pr-bar.is-weak span{background:var(--danger)}.pr-bar.is-fair span{background:var(--warning)}.pr-bar.is-good span{background:var(--success)}.pr-bar-value{font-size:var(--fs-sm);color:var(--text-muted);text-align:right;min-width:7ch}@media (width<=480px){.pr-bars li{grid-template-columns:minmax(0,1fr) auto}.pr-bar{grid-area:2/1/auto/-1}}.pr-weak{padding:var(--sp-6) var(--sp-8);border-top:1px solid var(--border);gap:var(--sp-5);flex-direction:column;display:flex}.pr-weak:first-of-type,.ui-card-header+.pr-weak{border-top:0}.pr-weak-head{justify-content:space-between;align-items:center;gap:var(--sp-5);display:flex}.pr-weak-head h3{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.pr-chart{gap:var(--sp-4);flex-direction:column;margin:0;display:flex}.pr-chart-plot{position:relative}.pr-chart svg{width:100%;height:auto;display:block;overflow:visible}.pr-chart-grid{stroke:var(--border);stroke-width:1px;stroke-dasharray:2 4}.pr-chart-base{stroke:var(--border-strong);stroke-width:1px}.pr-chart-tick{fill:var(--text-subtle);font-size:11px;font-family:var(--font-ui);font-variant-numeric:tabular-nums}.pr-chart-area{fill:color-mix(in srgb, var(--primary) 10%, transparent);stroke:none}.pr-chart-line{fill:none;stroke:var(--primary);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.pr-chart-dot{fill:var(--primary);stroke:var(--surface);stroke-width:2px;transition:r var(--dur-fast)}.pr-chart-hit{fill:#0000;cursor:pointer}.pr-chart-cross{stroke:var(--border-strong);stroke-width:1px}.pr-chart-tip{pointer-events:none;white-space:nowrap;padding:var(--sp-3) var(--sp-5);font-size:var(--fs-sm);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-menu);flex-direction:column;gap:1px;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 14px))}.pr-chart-tip strong{font-size:var(--fs-lg)}.pr-chart-tip-date{color:var(--text-muted);font-size:var(--fs-xs)}.pr-chart-caption,.pr-chart-empty{font-size:var(--fs-sm);color:var(--text-muted)}.pr-chart-table summary{cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--primary-ink);width:max-content}.pr-chart-table[open] summary{margin-bottom:var(--sp-4)}.pr-rows{margin:0;padding:0;list-style:none}.pr-row{align-items:center;gap:var(--sp-3) var(--sp-7);padding:var(--sp-6) var(--sp-8);border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;display:grid}.pr-row:first-child{border-top:0}.pr-row-main{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.pr-row-title{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text)}.pr-row-text{font-size:var(--fs-md);color:var(--text-muted);max-width:72ch}.pr-row-meta{gap:var(--sp-2);flex-wrap:wrap;display:flex}.pr-row-actions{justify-content:flex-end;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}@media (width<=640px){.pr-row{padding-inline:var(--sp-7);grid-template-columns:1fr}.pr-row-actions{justify-content:flex-start}}.pr-link-rows{margin:0;padding:0;list-style:none}.pr-link-rows a{align-items:center;gap:var(--sp-5);padding:var(--pad-row-y) var(--sp-8);border-top:1px solid var(--border);color:var(--text);transition:background var(--dur-fast);text-decoration:none;display:flex}.pr-link-rows li:first-child a{border-top:0}.pr-link-rows a:hover{background:var(--option-hover)}.pr-link-rows a:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:0}.pr-link-name{min-width:0;font-size:var(--fs-md);font-weight:var(--fw-medium);flex:1}.pr-link-count{font-size:var(--fs-xs);color:var(--text-subtle)}.pr-link-go{color:var(--text-subtle)}.pr-cards{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:0;padding:0;list-style:none;display:grid}.pr-cards>li{display:flex}.pr-subject{align-items:center;gap:var(--sp-5);padding:var(--sp-6) var(--sp-7);flex:1;display:flex}.pr-subject-mark{border-radius:var(--r-lg);background:var(--primary-tint);width:40px;height:40px;color:var(--primary-ink);font-weight:var(--fw-bold);font-size:var(--fs-sm);letter-spacing:.02em;flex:none;place-items:center;display:grid}.pr-subject-text{flex-direction:column;flex:1;min-width:0;display:flex}.pr-subject-name{font-weight:var(--fw-title);color:var(--text)}.pr-subject-count{font-size:var(--fs-sm);color:var(--text-muted)}.pr-years{gap:var(--sp-2);flex-wrap:wrap;display:flex}.pr-year{align-items:center;gap:var(--sp-2);height:28px;padding:0 var(--sp-4);border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);text-decoration:none;display:inline-flex}.pr-year:hover{border-color:var(--primary-line);background:var(--primary-tint);color:var(--primary-ink)}.pr-year span{font-size:var(--fs-xs);color:var(--text-subtle)}.pr-h2{align-items:center;gap:var(--sp-3);font-size:var(--fs-xl);display:flex}.pr-h2-count{min-width:26px;height:22px;padding:0 var(--sp-3);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);place-items:center;display:inline-grid}.pr-score{align-items:center;gap:var(--sp-6) var(--sp-11);padding:var(--sp-9) var(--sp-10);grid-template-columns:auto minmax(0,1fr);display:grid}.pr-ring{--tone:var(--primary);background:radial-gradient(closest-side, var(--surface) 80%, transparent 81% 100%), conic-gradient(var(--tone) calc(var(--pct) * 1%), var(--surface-3) 0);border-radius:50%;place-items:center;width:132px;height:132px;display:grid}.pr-ring.is-good{--tone:var(--success)}.pr-ring.is-fair{--tone:var(--warning)}.pr-ring.is-weak{--tone:var(--danger)}.pr-ring strong{font-size:var(--fs-3xl);font-weight:var(--fw-heavy);letter-spacing:-.02em}.pr-score-facts{gap:var(--sp-6) var(--sp-7);grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));min-width:0;margin:0;display:grid}.pr-score-facts>div{min-width:0}.pr-score-facts dt{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);line-height:var(--lh-snug);text-transform:uppercase;color:var(--text-subtle);overflow-wrap:anywhere}.pr-score-facts dd{margin:var(--sp-1) 0 0;font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:var(--lh-snug);white-space:nowrap}.pr-compare{align-items:center;gap:var(--sp-3);font-size:var(--fs-md);padding-top:var(--sp-6);border-top:1px solid var(--border);grid-column:1/-1;display:flex}.pr-compare.is-up{color:var(--success-fg)}.pr-compare.is-down{color:var(--text-muted)}@media (width<=640px){.pr-score{padding:var(--sp-8);grid-template-columns:1fr;justify-items:center}.pr-score-facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}}.pr-missed{gap:var(--sp-7);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pr-missed-item{gap:var(--sp-6);padding:var(--sp-9) var(--sp-10);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--danger);border-radius:var(--r-xl);flex-direction:column;display:flex}.pr-missed-item .pp-reveal{border:0;border-radius:0;padding:0}@media (width<=640px){.pr-missed-item{padding:var(--sp-7)}}.pr-you{color:var(--text-muted);font-size:var(--fs-md)}.pr-disclose summary{align-items:center;gap:var(--sp-1);cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--primary-ink);list-style:none;display:inline-flex}.pr-disclose summary::-webkit-details-marker{display:none}.pr-disclose[open] summary svg{transform:rotate(180deg)}.pr-mix{margin:var(--sp-3) 0 0;border:1px solid var(--border);border-radius:var(--r-md);max-width:28rem;padding:0;list-style:none}.pr-mix li{justify-content:space-between;gap:var(--sp-5);padding:var(--sp-2) var(--sp-5);font-size:var(--fs-sm);border-top:1px solid var(--border);display:flex}.pr-mix li:first-child{border-top:0}.pr-mix .num{color:var(--text-muted)}.pr-filters{gap:var(--sp-5);flex-wrap:wrap;flex:auto;display:flex}.pr-filters .ui-field{flex:160px;min-width:0}.pr-exam{padding:var(--sp-6) var(--sp-8);border-top:1px solid var(--border);gap:var(--sp-4);flex-direction:column;display:flex}.ui-card-header+.pr-exam{border-top:0}.pr-exam-head{justify-content:space-between;align-items:baseline;gap:var(--sp-5);font-size:var(--fs-md);font-weight:var(--fw-semibold);display:flex}.pr-exam-head a{color:var(--text);text-decoration:none}.pr-exam-head a:hover{color:var(--primary-ink);text-decoration:underline}.pr-years{margin:0;padding:0;list-style:none}.pr-bookmark.is-on{color:var(--primary-ink);background:var(--primary-tint)}.pr-bookmark.is-on .ui-icon{color:var(--primary)}.pp-keep{justify-content:flex-end;display:flex}.ui-progress{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.ui-progress-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-subtle);font-variant-numeric:tabular-nums}.ui-progress-track{border-radius:var(--r-pill);background:var(--surface-3);height:6px;display:block;overflow:hidden}.is-compact .ui-progress-track{height:4px}.ui-progress-fill{border-radius:inherit;background:var(--primary);height:100%;transition:width var(--dur-slow) var(--ease);display:block}.ui-progress-success .ui-progress-fill{background:var(--success)}.ui-progress-warning .ui-progress-fill{background:var(--warning)}.ui-progress-danger .ui-progress-fill{background:var(--danger)}.home{gap:var(--sp-9);flex-direction:column;display:flex}.home .ui-page-header{margin-bottom:0}.home-section{gap:var(--sp-5);flex-direction:column;display:flex}.home-tiles{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.home-tiles>li{display:flex}.home-tile{gap:var(--sp-5);flex-direction:column;flex:1;display:flex;position:relative;padding:var(--sp-8)!important}.home-tile-icon{border-radius:var(--r-lg);background:var(--primary-tint);width:40px;height:40px;color:var(--primary-ink);place-items:center;display:grid}.home-tile-text{gap:var(--sp-1);padding-right:var(--sp-7);flex-direction:column;display:flex}.home-tile-title{font-size:var(--fs-lg);font-weight:var(--fw-title);color:var(--text);line-height:var(--lh-snug)}.home-tile-desc{font-size:var(--fs-md);color:var(--text-muted)}.home-tile-arrow{top:var(--sp-8);right:var(--sp-8);color:var(--text-subtle);transition:transform var(--dur) var(--ease), color var(--dur);position:absolute}.home-tile:hover .home-tile-arrow{color:var(--primary-ink);transform:translate(2px)}.home-setup{gap:var(--sp-5);padding:var(--sp-7) var(--sp-8);flex-direction:column;display:flex}.home-setup-head{justify-content:space-between;align-items:center;gap:var(--sp-4) var(--sp-6);flex-wrap:wrap;display:flex}.home-setup-titles{gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.home-setup-title{font-size:var(--fs-lg);font-weight:var(--fw-title);color:var(--text);margin:0}.home-setup-sub{font-size:var(--fs-sm);color:var(--text-muted);margin:0}.home-setup-list{gap:var(--sp-1) var(--sp-6);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.home-setup-item{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-3);margin:0 calc(-1 * var(--sp-3));border-radius:var(--r-md);color:var(--text);transition:background var(--dur-fast);grid-template-columns:24px minmax(0,1fr) auto;text-decoration:none;display:grid}.home-setup-item:hover{background:var(--option-hover)}.home-setup-item:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.home-setup-tick{border:1.5px solid var(--border-strong);background:var(--surface);width:22px;height:22px;color:var(--success-fg);border-radius:50%;place-items:center;display:grid}.is-done .home-setup-tick{border-color:var(--success-bd);background:var(--success-bg)}.home-setup-text{min-width:0;line-height:var(--lh-snug);flex-direction:column;display:flex}.home-setup-label{font-weight:var(--fw-semibold);font-size:var(--fs-md)}.is-done .home-setup-label{color:var(--text-muted);font-weight:var(--fw-medium)}.home-setup-detail{font-size:var(--fs-sm);color:var(--text-muted)}.is-done .home-setup-detail{color:var(--text-subtle)}.home-setup-go{color:var(--text-subtle);transition:transform var(--dur-fast)}.home-setup-item:hover .home-setup-go{color:var(--primary-ink);transform:translate(2px)}.home-setup-done{align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5) var(--sp-4) var(--sp-6);border:1px solid var(--success-bd);border-radius:var(--r-lg);background:var(--success-bg);color:var(--success-fg);display:flex}.home-setup-done span{font-size:var(--fs-md);flex:1}@media (width<=720px){.home-setup{padding:var(--sp-6)}.home-setup-list{grid-template-columns:1fr}.home-setup-head .ui-button{justify-content:center;width:100%}}.demo-panel{gap:var(--sp-5);flex-direction:column;display:flex}.demo-panel h3{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.demo-or{align-items:center;gap:var(--sp-5);color:var(--text-subtle);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;display:flex}.demo-or:before,.demo-or:after{content:"";background:var(--border);flex:1;height:1px}.demo-lead{color:var(--text-muted);font-size:var(--fs-md);margin-top:calc(-1 * var(--sp-3))}.demo-personas{gap:var(--sp-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.demo-persona{align-items:center;gap:var(--sp-5);width:100%;padding:var(--sp-4) var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;font:inherit;transition:border-color var(--dur-fast), background var(--dur-fast), box-shadow var(--dur-fast);display:flex}.demo-persona:hover:not(:disabled){border-color:var(--primary);background:var(--primary-tint)}.demo-persona:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.demo-persona:disabled{cursor:progress;opacity:.7}.demo-persona[aria-busy=true]{opacity:1;border-color:var(--primary)}.demo-persona-icon{border-radius:var(--r-md);background:var(--primary-tint);width:36px;height:36px;color:var(--primary-ink);flex:none;place-items:center;display:inline-grid}.demo-persona-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.demo-persona-text strong{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.demo-persona-text span{font-size:var(--fs-xs);color:var(--text-subtle);line-height:var(--lh-snug)}.demo-persona-text .demo-persona-name{font-size:var(--fs-sm);color:var(--text-muted)}.demo-persona-go{color:var(--text-subtle);flex:none}.demo-persona:hover:not(:disabled) .demo-persona-go{color:var(--primary-ink)}.demo-note{font-size:var(--fs-xs);color:var(--text-subtle)}.auth{background:var(--bg);grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100dvh;display:grid}.auth-brand{padding:var(--sp-12) var(--sp-11);background:radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--brand) 60%, transparent), transparent 60%), radial-gradient(circle at 85% 90%, color-mix(in srgb, var(--gold) 14%, transparent), transparent 45%), var(--header-bg);color:var(--header-fg);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-brand-inner{align-items:flex-start;gap:var(--sp-6);flex-direction:column;max-width:440px;display:flex}.auth-name{color:var(--header-fg);font-size:var(--fs-3xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--tracking-title)}.auth-motto{color:var(--gold);font-style:italic;font-size:var(--fs-lg)}.auth-main{justify-content:center;align-items:center;gap:var(--sp-8);padding:var(--sp-12) var(--gutter);flex-direction:column;display:flex;position:relative}.auth-theme{top:calc(var(--sp-7) + env(safe-area-inset-top,0px));right:var(--sp-7);position:absolute}.auth-card{gap:var(--sp-7);width:min(400px,100%);padding:var(--sp-11);border-radius:var(--r-2xl);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-dialog);flex-direction:column;display:flex}.auth-card h2{font-size:var(--fs-2xl);font-weight:var(--fw-bold)}.auth-lead{color:var(--text-muted);font-size:var(--fs-md)}.auth-rule{background:var(--border);border:0;height:1px;margin:0}.auth-help{font-size:var(--fs-sm);color:var(--text-muted)}.auth-powered{align-items:center;gap:var(--sp-3);font-size:var(--fs-xs);color:var(--text-subtle);display:flex}.auth-powered a{color:inherit;text-decoration:none}.auth-powered a:hover,.auth-powered a:focus-visible{text-decoration:underline}@media (width<=900px){.auth{grid-template-rows:auto 1fr;grid-template-columns:1fr}.auth-brand{min-height:180px;padding:var(--sp-9) var(--gutter) calc(40px + var(--sp-9));padding-top:calc(var(--sp-9) + env(safe-area-inset-top,0px));justify-content:flex-start}.auth-brand-inner{align-items:center;gap:var(--sp-3) var(--sp-6);flex-flow:wrap}.auth-brand .crest{width:52px!important;height:52px!important;font-size:19px!important}.auth-name{font-size:var(--fs-2xl)}.auth-motto{font-size:var(--fs-md);flex-basis:100%}.auth-main{justify-content:flex-start;margin-top:-40px;padding-top:0}.auth-card{padding:var(--sp-9)}.auth-theme{order:3;position:static}}.landing-band{z-index:var(--z-header);position:sticky;top:0}.landing-hero{background:radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--brand) 60%, transparent), transparent 60%), radial-gradient(circle at 90% 100%, color-mix(in srgb, var(--gold) 12%, transparent), transparent 45%), var(--header-bg);color:var(--header-fg);border-top:1px solid var(--header-line)}.landing-hero-inner{max-width:var(--page-max);padding:var(--sp-12) var(--gutter) calc(var(--sp-12) + var(--sp-7));align-items:flex-start;gap:var(--sp-7);flex-direction:column;margin:0 auto;display:flex}.landing-eyebrow{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--gold)}.landing-hero h1{color:var(--header-fg);max-width:18ch;font-size:clamp(2rem,5vw,3rem);line-height:1.1}.landing-lead{font-size:var(--fs-lg);color:var(--header-fg-muted);max-width:60ch}.landing-ctas{gap:var(--sp-5);flex-wrap:wrap;display:flex}.landing-note{font-size:var(--fs-sm);color:var(--header-fg-muted)}.landing-body{max-width:var(--page-max);padding:0 var(--gutter) var(--sp-12);margin:0 auto}.landing-features{margin:calc(-1 * var(--sp-11)) 0 0;gap:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));padding:0;list-style:none;display:grid}.landing-feature{gap:var(--sp-3);padding:var(--sp-8);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.landing-feature h2{font-size:var(--fs-lg)}.landing-feature p{color:var(--text-muted);font-size:var(--fs-md)}.landing-feature-icon{border-radius:var(--r-lg);background:var(--primary-tint);width:40px;height:40px;color:var(--primary-ink);margin-bottom:var(--sp-2);place-items:center;display:grid}.landing-school{margin-top:var(--sp-9);color:var(--text-muted);font-size:var(--fs-md)}.landing-trust{gap:var(--sp-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.landing-trust li{align-items:center;gap:var(--sp-2);height:28px;padding:0 var(--sp-5);border-radius:var(--r-pill);color:var(--header-fg);font-size:var(--fs-sm);background:#ffffff14;border:1px solid #ffffff2e;display:inline-flex}.landing-trust svg{color:var(--gold)}.landing-how,.landing-exams{margin-top:var(--sp-12);gap:var(--sp-7);flex-direction:column;display:flex}.landing-how h2,.landing-exams h2{font-size:var(--fs-xl)}.landing-how ol{gap:var(--sp-7);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.landing-how li{gap:var(--sp-5);display:flex}.landing-how li>span:last-child{flex-direction:column;gap:2px;display:flex}.landing-how li span span{color:var(--text-muted);font-size:var(--fs-md)}.landing-step{background:var(--gold);width:32px;height:32px;color:var(--on-gold);font-weight:var(--fw-bold);font-size:var(--fs-sm);border-radius:50%;flex:none;place-items:center;display:grid}.landing-exams ul{gap:var(--sp-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.landing-exams li{padding:var(--sp-5) var(--sp-7);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--r-lg);flex-direction:column;flex:11rem;min-width:11rem;display:flex}.landing-exams li span{font-size:var(--fs-sm);color:var(--text-muted)}.ui-pagination{justify-content:space-between;align-items:center;gap:var(--sp-3) var(--sp-7);padding:var(--sp-5) 0;flex-wrap:wrap;display:flex}.ui-pagination-range{font-size:var(--fs-sm);color:var(--text-muted)}.ui-pagination-pages{align-items:center;gap:var(--sp-1);display:flex}.ui-pagination-page{min-width:30px;padding:0 var(--sp-3);font-variant-numeric:tabular-nums}.ui-pagination-page.is-current{background:var(--primary-tint);color:var(--primary-ink);font-weight:var(--fw-semibold)}.ui-pagination-gap{padding:0 var(--sp-2);color:var(--text-subtle);font-size:var(--fs-sm)}.ui-loadmore{justify-content:center;align-items:center;gap:var(--sp-5);padding:var(--sp-6) 0;display:flex}.ui-loadmore-hint{font-size:var(--fs-sm);color:var(--text-subtle)}.ui-field{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.ui-field-label{align-items:baseline;gap:var(--sp-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);line-height:var(--lh-snug);display:flex}.ui-field-micro .ui-field-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-subtle)}.ui-field-optional{font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--text-subtle);text-transform:none;letter-spacing:0}.ui-field-hint{font-size:var(--fs-sm);color:var(--text-muted)}.ui-field-error{align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--danger);display:flex}.ui-field-error .ui-icon{margin-top:2px}.ui-input{width:100%;height:38px;min-height:38px;padding:0 var(--sp-5);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--input-bg);color:var(--text);font:inherit;font-size:var(--fs-base);line-height:var(--lh-snug);transition:border-color var(--dur-fast), box-shadow var(--dur-fast), background var(--dur-fast)}.ui-input::placeholder{color:var(--text-subtle)}.ui-input:hover:not(:disabled):not([readonly]){border-color:color-mix(in srgb, var(--border-strong), var(--text) 15%)}.ui-input:focus-visible,.ui-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);border-radius:var(--r-md);outline:none}.ui-input[aria-invalid=true]{border-color:var(--danger)}.ui-input[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 22%, transparent)}.ui-input[readonly]{background:var(--surface-2);color:var(--text-muted)}.ui-input:disabled{opacity:.55;cursor:not-allowed}@media (pointer:coarse){.ui-input{height:44px;min-height:44px}}.ui-select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:34px}.ui-textarea{height:auto;min-height:88px;padding:var(--sp-4) var(--sp-5);resize:vertical;line-height:var(--lh-base)}.ui-input-compact{height:32px;min-height:32px;font-size:var(--fs-md);border-radius:var(--r-sm);padding:0 var(--sp-4)}.ui-input-compact.ui-select{padding-right:30px}.ui-input-compact:focus-visible{border-radius:var(--r-sm)}.ui-input-wrap{min-width:0;display:block;position:relative}.ui-input-wrap>.ui-input-icon{color:var(--text-subtle);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.ui-input.has-icon{padding-left:36px}.ui-filterbar{align-items:flex-end;gap:var(--sp-4) var(--sp-5);padding:var(--sp-4) var(--sp-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);flex-wrap:wrap;display:flex}.ui-filterbar>*{flex:160px;min-width:0}.ui-filterbar>.ui-search,.ui-filterbar>.is-grow{flex:2 220px}.ui-filterbar>.ui-segmented,.ui-filterbar>.is-fit{flex:none}.ui-filterbar-count{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text);flex:none;align-self:center;margin-left:auto}.ui-actionbar{z-index:var(--z-sticky);padding-inline:max(var(--gutter), calc(50vw - var(--bar-content,calc(var(--page-max) - 2 * var(--gutter))) / 2));background:var(--surface);border-top:1px solid var(--border);box-shadow:var(--shadow-bar-up);padding-block:var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom,0px));margin-inline:calc(50% - 50vw);position:sticky;bottom:0}.ui-actionbar-inner{justify-content:space-between;align-items:center;gap:var(--sp-3) var(--sp-5);flex-wrap:wrap;display:flex}.ui-actionbar-status{align-items:center;gap:var(--sp-3);font-size:var(--fs-md);color:var(--text-muted);min-width:0;display:flex}.ui-actionbar-actions{align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-left:auto;display:flex}.ui-status-dot{background:var(--neutral);border-radius:50%;flex:none;width:8px;height:8px}.ui-status-dot.is-warning{background:var(--warning)}.ui-status-dot.is-danger{background:var(--danger)}.ui-status-dot.is-success{background:var(--success)}.ui-bulkbar{z-index:var(--z-sticky);left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));align-items:center;gap:var(--sp-5);width:min(960px,100vw - 24px);padding:var(--sp-4) var(--sp-6);border:1px solid var(--primary-line);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-float);animation:ui-bulk-in var(--dur) var(--ease);flex-wrap:wrap;display:flex;position:fixed;transform:translate(-50%)}.ui-bulkbar-actions{align-items:center;gap:var(--sp-3);flex-wrap:wrap;flex:1;display:flex}@keyframes ui-bulk-in{0%{opacity:0;transform:translate(-50%,12px)}}@media (width<=720px){.ui-bulkbar{border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;padding-bottom:calc(var(--sp-4) + env(safe-area-inset-bottom,0px));bottom:0;left:0;transform:none}@keyframes ui-bulk-in{0%{opacity:0;transform:translateY(12px)}}}.shell-page>*>.ui-actionbar{margin-top:auto}.page:has(.ui-actionbar){padding-bottom:0}.ui-choice{align-items:flex-start;gap:var(--sp-4);min-height:36px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);cursor:pointer;transition:background var(--dur-fast);display:flex}.ui-choice:hover{background:var(--surface-2)}.ui-choice.is-disabled{opacity:.55;cursor:not-allowed}.ui-choice.is-disabled:hover{background:0 0}.ui-choice>input{width:16px;height:16px;accent-color:var(--primary);cursor:inherit;flex:none;margin:3px 0 0}.ui-choice-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ui-choice-label{font-size:var(--fs-md);color:var(--text);line-height:var(--lh-snug);padding-top:1px}.ui-choice-desc{font-size:var(--fs-sm);color:var(--text-muted);line-height:var(--lh-snug)}.ui-choice-count{font-size:var(--fs-xs);color:var(--text-subtle);flex:none;padding-top:3px}@media (pointer:coarse){.ui-choice{align-items:center;min-height:44px}.ui-choice>input{width:18px;height:18px;margin:0}}.ui-switch-row{align-items:center;gap:var(--sp-7);padding:var(--sp-3) 0;cursor:pointer;display:flex;position:relative}.ui-switch-row.is-disabled{opacity:.55;cursor:not-allowed}.ui-switch-label{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text)}.ui-switch-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ui-switch{border-radius:var(--r-pill);background:var(--surface-3);border:1px solid var(--border-strong);width:36px;height:20px;transition:background var(--dur), border-color var(--dur);flex:none;position:relative}.ui-switch-knob{background:var(--paper);width:16px;height:16px;box-shadow:var(--shadow-xs);transition:transform var(--dur) var(--ease);border-radius:50%;position:absolute;top:1px;left:1px}.ui-switch-input:checked+.ui-switch{background:var(--primary);border-color:var(--primary)}.ui-switch-input:checked+.ui-switch .ui-switch-knob{transform:translate(16px)}.ui-switch-input:focus-visible+.ui-switch{outline:2px solid var(--primary);outline-offset:2px}.ui-segmented{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);align-items:stretch;gap:2px;max-width:100%;padding:2px;display:inline-flex;overflow-x:auto}.ui-segmented-block{width:100%;display:flex}.ui-segmented-block .ui-segment{flex:1 1 0}.ui-segment{justify-content:center;align-items:center;gap:var(--sp-2);height:30px;padding:0 var(--sp-5);border-radius:var(--r-sm);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text-muted);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast), box-shadow var(--dur-fast);background:0 0;border:0;display:inline-flex}.ui-segmented-lg .ui-segment{height:36px}.ui-segment:hover:not(:disabled){color:var(--text)}.ui-segment.is-on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs), 0 0 0 1px var(--border)}.ui-segment.is-on.has-tone{background:var(--t-bg);color:var(--t-fg);box-shadow:0 0 0 1px var(--t-bd);font-weight:var(--fw-semibold)}.ui-segment:disabled{opacity:.5;cursor:not-allowed}.ui-segment:focus-visible{outline:2px solid var(--primary);outline-offset:0}.ui-segment-count{font-size:var(--fs-xs);color:var(--text-subtle)}@media (pointer:coarse){.ui-segment{height:40px}}.ui-search{align-items:center;min-width:0;display:flex;position:relative}.ui-search-icon{color:var(--text-subtle);pointer-events:none;position:absolute;left:12px}.ui-search-input{border-radius:var(--r-md);background:var(--surface-2);width:100%;height:38px;color:var(--text);font:inherit;font-size:var(--fs-base);transition:background var(--dur-fast), border-color var(--dur-fast), box-shadow var(--dur-fast);border:1px solid #0000;padding:0 36px}.ui-search-input::placeholder{color:var(--text-subtle)}.ui-search-input::-webkit-search-cancel-button{display:none}.ui-search-input:hover{border-color:var(--border)}.ui-search-input:focus-visible,.ui-search-input:focus{background:var(--input-bg);border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);border-radius:var(--r-md);outline:none}.ui-search-clear{border-radius:var(--r-sm);width:26px;height:26px;color:var(--text-subtle);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;right:6px}.ui-search-clear:hover{background:var(--surface-3);color:var(--text)}.ui-search-kbd{pointer-events:none;position:absolute;right:10px}@media (pointer:coarse){.ui-search-input{height:44px}.ui-search-kbd{display:none}}.pb{--bar-content:1120px;gap:var(--sp-7);flex-direction:column;max-width:1120px;margin:0 auto;display:flex}.pb .ui-page-header{margin-bottom:0}.pb-grid{gap:var(--sp-7);grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (width<=900px){.pb-grid{grid-template-columns:1fr}}.pb-label,.pb-legend{margin:0 0 var(--sp-2);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-subtle)}.pb-legend{margin:var(--sp-6) 0 var(--sp-2)}.pb-note{margin:var(--sp-3) 0 0;font-size:var(--fs-sm);color:var(--text-muted);line-height:var(--lh-base)}.pb-error{font-size:var(--fs-sm);color:var(--danger-fg);margin:0}.pb-none{padding:var(--sp-5) var(--sp-3);color:var(--text-muted);font-size:var(--fs-md);list-style:none}.pb-facets{border-top:1px solid var(--border)}.pb-facet{align-items:center;gap:var(--sp-5);width:100%;min-height:52px;padding:var(--sp-6) var(--sp-8);border:0;border-bottom:1px solid var(--border);font:inherit;text-align:left;color:var(--text);cursor:pointer;transition:background var(--dur-fast);background:0 0;display:flex}.pb-facet:last-child{border-bottom:0}.pb-facet:hover:not(:disabled){background:var(--option-hover)}.pb-facet:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:0}.pb-facet:disabled{cursor:not-allowed}.pb-facet:disabled .pb-facet-label{color:var(--text-muted)}.pb-facet-icon{color:var(--text-subtle);transition:color var(--dur-fast);flex:none}.pb-facet:hover:not(:disabled) .pb-facet-icon{color:var(--primary-ink)}.pb-facet-text{flex-direction:column;min-width:0;display:flex}.pb-facet-label{font-size:var(--fs-base);font-weight:var(--fw-medium)}.pb-facet-hint{font-size:var(--fs-xs);color:var(--text-muted)}.pb-facet-summary{align-items:center;gap:var(--sp-2);min-width:0;margin-left:auto;display:flex}.pb-facet-all{font-size:var(--fs-md);color:var(--text-muted);white-space:nowrap}.pb-facet-chip{font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:3px var(--sp-3);border-radius:var(--r-sm);background:var(--primary-tint);color:var(--primary-ink);white-space:nowrap;text-overflow:ellipsis;max-width:180px;overflow:hidden}.pb-facet-chip.is-more{font-weight:var(--fw-bold);flex:none}.pb-facet-go{color:var(--text-subtle);flex:none}.pb-count-row{align-items:flex-end;gap:var(--sp-3) var(--sp-7);flex-wrap:wrap;display:flex}.pb-count-field{width:9.5rem}.pb-count-of{height:38px;font-size:var(--fs-base);color:var(--text-muted);margin-left:calc(-1 * var(--sp-4));align-items:center;min-width:3ch;display:flex}.pb-bar .ui-actionbar-status{min-height:32px}.pb-total{color:var(--text);font-size:var(--fs-lg)}.pb-stale{opacity:.55;transition:opacity var(--dur)}.pb-status-error{align-items:center;gap:var(--sp-3);color:var(--danger-fg);display:inline-flex}.pb-start{min-width:150px}@media (width<=700px){.pb-bar .ui-actionbar-inner{flex-direction:column;align-items:stretch}.pb-bar .ui-actionbar-actions{grid-template-columns:1fr;margin-left:0;display:grid}.pb-bar .ui-segmented{width:100%;display:flex}.pb-bar .ui-segment{flex:1 1 0}}.pb-sheet-top{gap:var(--sp-5);padding-top:var(--sp-5);flex-direction:column;display:flex}.pb-sheet-top .pb-legend{margin:0}.pb-chosen,.pb-years{gap:var(--sp-2);flex-wrap:wrap;display:flex}.pb-list,.pb-tree{margin:0;padding:0;list-style:none}.pb-tree{margin-top:var(--sp-2)}.pb-tree.is-nested{margin:0 0 var(--sp-2) 19px;padding-left:var(--sp-4);border-left:2px solid var(--border)}.pb-tree-row{align-items:flex-start;gap:var(--sp-1);display:flex}.pb-tree-check{flex:1;min-width:0}.pb-tree-toggle{border-radius:var(--r-sm);width:28px;height:32px;color:var(--text-subtle);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;margin-top:2px;display:grid}.pb-tree-toggle:hover{background:var(--surface-2);color:var(--text)}.pb-tree-toggle svg{transition:transform var(--dur) var(--ease)}.pb-tree-toggle.is-open svg{transform:rotate(90deg)}.pb-tree-toggle.is-leaf{cursor:default;background:0 0}@media (pointer:coarse){.pb-tree-toggle{width:40px;height:44px;margin-top:0}}.pb{min-height:calc(100dvh - var(--header-h) - var(--sections-h) - var(--sp-9));margin-bottom:calc(-1 * var(--sp-12))}.pb-bar{margin-top:auto}.ui-dialog{border:1px solid var(--border);border-radius:var(--r-2xl);background:var(--surface);width:min(440px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);box-shadow:var(--shadow-dialog);margin:auto;padding:0;overflow:auto}.ui-dialog[open]{animation:ui-dialog-in var(--dur) var(--ease)}.ui-dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes ui-dialog-in{0%{opacity:0;transform:scale(.98)}}.ui-dialog-box{gap:var(--sp-7);padding:var(--sp-9);flex-direction:column;margin:0;display:flex}.ui-dialog-head{gap:var(--sp-6);align-items:flex-start;display:flex}.ui-dialog-icon{background:var(--danger-bg);width:40px;height:40px;color:var(--danger);border-radius:50%;flex:none;place-items:center;display:grid}.ui-dialog-titles{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.ui-dialog-title{font-size:var(--fs-xl);font-weight:var(--fw-title)}.ui-dialog-desc{font-size:var(--fs-md);color:var(--text-muted);line-height:var(--lh-base)}.ui-dialog-body{gap:var(--sp-6);flex-direction:column;display:flex}.ui-dialog-actions{justify-content:flex-end;gap:var(--sp-3);flex-wrap:wrap;display:flex}@media (width<=420px){.ui-dialog-actions{flex-direction:column-reverse}.ui-dialog-actions .ui-button{width:100%}}.ui-facet{border-top:1px solid var(--border)}.ui-facet:first-child{border-top:0}.ui-facet-row{align-items:center;gap:var(--sp-4);width:100%;min-height:48px;padding:var(--sp-5) var(--sp-8);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background var(--dur-fast);background:0 0;border:0;display:flex}.ui-facet-row:hover{background:var(--option-hover)}.ui-facet-row:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:0}.ui-facet-icon{color:var(--text-subtle);transition:color var(--dur-fast);flex:none}.ui-facet-row:hover .ui-facet-icon{color:var(--primary)}.ui-facet-label{font-size:var(--fs-base);font-weight:var(--fw-medium);flex:none}.ui-facet-value{justify-content:flex-end;align-items:center;gap:var(--sp-2);flex:1;min-width:0;display:flex}.ui-facet-all{font-size:var(--fs-md);color:var(--text-muted)}.ui-facet-chip{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;padding:2px var(--sp-3);border-radius:var(--r-sm);background:var(--primary-tint);color:var(--primary-ink);font-size:var(--fs-sm);font-weight:var(--fw-medium);display:inline-block;overflow:hidden}.ui-facet-chip.is-more{flex:none}.ui-facet-chevron{color:var(--text-subtle);transition:transform var(--dur-fast);flex:none}.ui-facet.is-expanded .ui-facet-chevron{transform:rotate(180deg)}.ui-facet-panel{padding:0 var(--sp-7) var(--sp-5)}@media (pointer:coarse){.ui-facet-row{min-height:52px}}.ui-tabs{gap:var(--sp-1);border-bottom:1px solid var(--border);scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.ui-tabs::-webkit-scrollbar{display:none}.ui-tab{align-items:center;gap:var(--sp-2);height:40px;padding:0 var(--sp-5);color:var(--text-muted);white-space:nowrap;cursor:pointer;font:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);transition:color var(--dur-fast), box-shadow var(--dur-fast);background:0 0;border:0;flex:none;text-decoration:none;display:inline-flex}.ui-tab:hover{color:var(--text)}.ui-tab.is-on{color:var(--text);font-weight:var(--fw-semibold);box-shadow:inset 0 -2px 0 var(--primary)}.ui-tab:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:var(--r-sm)}.ui-tab-count{min-width:20px;height:18px;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);place-items:center;display:inline-grid}.ui-tab-count.is-danger{background:var(--danger-bg);color:var(--danger-fg)}.ui-tab.is-on .ui-tab-count:not(.is-danger){background:var(--primary-tint);color:var(--primary-ink)}.ui-toaster{z-index:var(--z-toast);left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));gap:var(--sp-3);pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed;transform:translate(-50%)}@media (width>=1024px){.ui-toaster{align-items:flex-end;left:auto;right:24px;transform:none}}.ui-toast{pointer-events:auto;align-items:flex-start;gap:var(--sp-4);width:min(420px,100vw - 32px);padding:var(--sp-5) var(--sp-6);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-float);animation:ui-toast-in var(--dur-slow) var(--ease);display:flex}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(8px)}}.ui-toast-icon{color:var(--t);flex:none;margin-top:2px}.ui-toast-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ui-toast-title{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.ui-toast-desc{font-size:var(--fs-sm);color:var(--text-muted)}.ui-toast-action{cursor:pointer;color:var(--primary-ink);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semibold);background:0 0;border:0;flex:none;padding:2px 4px}.ui-toast-close{border-radius:var(--r-sm);width:24px;height:24px;color:var(--text-subtle);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.ui-toast-close:hover{background:var(--surface-2);color:var(--text)}.xa-page,.xa-form{flex-direction:column;min-width:0;display:flex}.xa-stack{gap:var(--sp-7);flex-direction:column;display:flex}.xa-gap{margin-bottom:var(--sp-7)}.xa-note{font-size:var(--fs-sm);color:var(--text-muted)}.xa-zone{color:var(--text-muted);font-size:var(--fs-sm)}.xa-details{gap:var(--sp-7);width:100%;max-width:var(--page-narrow);flex-direction:column;display:flex}.xa-fields{gap:var(--sp-8);flex-direction:column;display:flex}.xa-grid-2,.xa-grid-3{gap:var(--sp-7);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.xa-grid-3{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.xa-short{max-width:9rem}.xa-switches{border-top:1px solid var(--border);flex-direction:column;display:flex}.xa-switches>.ui-switch-row{padding-block:var(--sp-5);border-bottom:1px solid var(--border)}.xa-switches>.ui-switch-row:last-child{border-bottom:0;padding-bottom:0}.xa-switches .ui-choice-text{flex:1}.xa-unsaved{align-items:center;gap:var(--sp-2);color:var(--warning-fg);display:inline-flex}.xa-save-error{margin-top:var(--sp-7);max-width:var(--page-narrow)}.xa-bar{margin-top:var(--sp-9)}.xa-form.is-paper .xa-bar{margin-top:var(--sp-7)}.xa-steps{align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.xa-steps>li{align-items:center;gap:var(--sp-3);display:inline-flex}.xa-step{align-items:center;gap:var(--sp-3);height:36px;padding:0 var(--sp-5) 0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text-muted);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast);display:inline-flex}.xa-step:hover{border-color:var(--border-strong);color:var(--text)}.xa-step:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.xa-step-n{background:var(--surface-2);width:24px;height:24px;color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-bold);border-radius:50%;place-items:center;display:grid}.xa-step.is-current{background:var(--primary-tint);border-color:var(--primary-line);color:var(--primary-ink);font-weight:var(--fw-semibold)}.xa-step.is-current .xa-step-n{background:var(--primary);color:var(--primary-fg)}.xa-step.is-done .xa-step-n{background:var(--success-bg);color:var(--success-fg)}.xa-step-count{font-size:var(--fs-xs);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-muted);padding:1px 7px}.xa-step.is-current .xa-step-count{background:var(--surface);color:var(--primary-ink)}.xa-step-sep{color:var(--text-subtle)}.xa-live{gap:var(--sp-5);flex-direction:column;display:flex}.xa-live-card{box-shadow:inset 4px 0 0 var(--success), var(--shadow-xs)}.xa-live-body{justify-content:space-between;align-items:center;gap:var(--sp-5) var(--sp-8);padding:var(--sp-7) var(--sp-8) var(--sp-7) var(--sp-9);flex-wrap:wrap;display:flex}.xa-live-text{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.xa-live-title-row{align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.xa-live-title{font-size:var(--fs-lg);font-weight:var(--fw-title);letter-spacing:0}.xa-live-title a{color:var(--text);text-decoration:none}.xa-live-title a:hover{color:var(--primary-ink);text-decoration:underline}.xa-live-meta{font-size:var(--fs-md);color:var(--text-muted)}.xa-live-meta strong{color:var(--success-fg);font-weight:var(--fw-semibold)}.xa-live-actions{gap:var(--sp-3);flex-wrap:wrap;display:flex}.xa-exam-link{font-weight:var(--fw-semibold);color:var(--text);text-decoration:none}.xa-exam-link:hover{color:var(--primary-ink);text-decoration:underline}.xa-exam-sub{font-size:var(--fs-sm);color:var(--text-muted);display:block}.xa-window{white-space:nowrap}.xa-row-actions{white-space:nowrap;text-align:right}.xa-row-actions .ui-button{color:var(--text-muted)}.xa-facts{background:var(--border);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:0;display:grid}.xa-facts>div{background:var(--surface);padding:var(--sp-6) var(--sp-8);gap:var(--sp-2);flex-direction:column;display:flex}.xa-facts dt{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-subtle)}.xa-facts dd{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text);margin:0}.xa-mix{gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:inline-flex}.xa-paper{margin:0;padding:0;list-style:none}.xa-paper-q{padding:var(--sp-7) var(--sp-8);border-top:1px solid var(--border);gap:var(--sp-4);flex-direction:column;display:flex}.xa-paper-q:first-child{border-top:0}.xa-paper-meta{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-subtle)}.xa-paper-stem{font-size:var(--fs-base);line-height:var(--lh-base)}.xa-paper-stem p{margin:0}.xa-paper-options{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));margin:0;padding:0;list-style:none;display:grid}.xa-paper-options li{align-items:center;gap:var(--sp-4);font-size:var(--fs-md);padding:var(--sp-3) var(--sp-5);border:1px solid var(--border);border-radius:var(--r-md);display:flex}.xa-paper-letter{border:1px solid var(--border-strong);width:24px;height:24px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-muted);border-radius:50%;flex:none;place-items:center;display:grid}.xa-split{gap:var(--sp-7);grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));align-items:start;display:grid}.xa-checklist{padding:var(--sp-3) var(--sp-5)}.xa-chips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.xa-roster{max-height:22rem;margin:0 calc(-1 * var(--sp-3));overflow-y:auto}.xa-pin{font-family:var(--font-mono);font-weight:var(--fw-semibold);letter-spacing:.08em}.xa-hall-pin{font-family:var(--font-mono);font-size:var(--fs-3xl);font-weight:var(--fw-bold);letter-spacing:.14em;padding:var(--sp-4) var(--sp-8);border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--border);display:inline-block}@media (width<=640px){.xa-live-body{padding:var(--sp-6) var(--sp-6) var(--sp-6) var(--sp-8)}.xa-facts>div{padding:var(--sp-5) var(--sp-6)}.xa-paper-q{padding:var(--sp-6)}}.xa-form [hidden]{display:none!important}.xa-exam-list{margin:0;padding:0;list-style:none}.xa-exam-list>li+li{border-top:1px solid var(--border)}.xa-exam-item{align-items:center;gap:var(--sp-4);padding:var(--pad-row-y) var(--pad-row-x);color:var(--text);text-decoration:none;display:flex}.xa-exam-item:hover{background:var(--option-hover)}.xa-exam-item:focus-visible{box-shadow:inset 0 0 0 2px var(--primary);border-radius:0;outline:none}.xa-exam-item-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.xa-exam-item-title{font-weight:var(--fw-semibold);font-size:var(--fs-md)}.xa-exam-item-go{color:var(--text-subtle);flex:none}.xr{gap:var(--sp-7);max-width:var(--page-max);flex-direction:column;width:100%;margin:0 auto;display:flex}.xr-narrow{max-width:var(--page-narrow);--bar-content:var(--page-narrow)}.xr>.ui-page-header{margin-bottom:0}.xr-none{color:var(--text-subtle)}.xr>.ui-stats{flex-wrap:wrap;display:flex}.xr>.ui-stats>.ui-stat{flex:150px}@media (width<=560px){.xr>.ui-stats>.ui-stat{padding:var(--sp-5) var(--sp-6);flex-basis:140px}}.xr-mono{font-family:var(--font-mono)}.xr-who{align-items:center;gap:var(--sp-4);min-width:12rem;display:flex}.xr-who-text{flex-direction:column;min-width:0;display:flex}.xr-name{font-weight:var(--fw-semibold);white-space:nowrap}.xr-sub{font-size:var(--fs-xs);color:var(--text-subtle);white-space:nowrap}.xr-when{white-space:nowrap;font-size:var(--fs-sm);color:var(--text-muted)}.xr-score{font-weight:var(--fw-semibold)}.xr-flags{color:var(--warning-fg);font-weight:var(--fw-bold)}.xr-photos-flagged{color:var(--danger-fg)}.xr-open{text-align:right;white-space:nowrap;width:1%}.xr-open .ui-button-label{overflow:visible}.xr-table td{height:48px}.xr-marking{gap:var(--sp-6);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.xr-item{border-left-width:4px}.xr-item.is-right{border-left-color:var(--success)}.xr-item.is-wrong{border-left-color:var(--danger)}.xr-item.is-waiting{border-left-color:var(--warning)}.xr-item.is-marked{border-left-color:var(--info)}.xr-item-head{justify-content:space-between;align-items:center;gap:var(--sp-5);padding:var(--sp-5) var(--sp-8);border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;display:flex}.xr-item-body{gap:var(--sp-6);flex-direction:column;display:flex}.xr-stem{font-size:var(--fs-base);line-height:var(--lh-loose);font-weight:var(--fw-medium)}.xr-options{gap:var(--sp-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.xr-option{align-items:center;gap:var(--sp-5);padding:var(--sp-4) var(--sp-6);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);font-size:var(--fs-md);display:flex}.xr-option.is-right{background:var(--correct-bg);border-color:var(--correct-bd)}.xr-option.is-wrong{background:var(--wrong-bg);border-color:var(--wrong-bd)}.xr-letter{border:1px solid var(--border-strong);background:var(--surface);width:26px;height:26px;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-muted);border-radius:50%;flex:none;place-items:center;display:grid}.xr-option.is-right .xr-letter{background:var(--success);border-color:var(--success);color:var(--surface)}.xr-option.is-wrong .xr-letter{background:var(--danger);border-color:var(--danger);color:var(--surface)}.xr-option-text{overflow-wrap:anywhere;flex:1;min-width:0}.xr-option-tags{gap:var(--sp-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.xr-tag{align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;display:inline-flex}.xr-tag.is-right{color:var(--correct-fg)}.xr-tag.is-wrong{color:var(--wrong-fg)}.xr-answer,.xr-model{gap:var(--sp-2);flex-direction:column;display:flex}.xr-answer-text{white-space:pre-wrap;overflow-wrap:anywhere;padding:var(--sp-5) var(--sp-6);line-height:var(--lh-loose);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg)}.xr-model{padding:var(--sp-5) var(--sp-6);background:var(--expl-bg);border-left:3px solid var(--expl-bd);border-radius:var(--r-md)}.xr-accepted{font-size:var(--fs-sm);color:var(--text-muted)}.xr-auto{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.xr-auto.is-right{color:var(--correct-fg)}.xr-auto.is-wrong{color:var(--wrong-fg)}.xr-score-row{gap:var(--sp-6);background:var(--surface-2);grid-template-columns:10rem minmax(0,1fr);align-items:start;display:grid}@media (width<=560px){.xr-score-row{grid-template-columns:1fr}}.xr-flagline{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.xr-flagline .micro-label{margin-right:var(--sp-2)}.xr-all{gap:var(--sp-5)}.xr-wait{gap:var(--sp-5);padding:var(--pad-card);display:grid}.xr-timeline{padding:var(--sp-7) var(--sp-8);margin:0;list-style:none;position:relative}.xr-tl-item{gap:var(--sp-5);padding:var(--sp-3) 0;grid-template-columns:5rem 18px minmax(0,1fr);align-items:start;display:grid;position:relative}.xr-tl-item:before{content:"";left:calc(5rem + var(--sp-5) + 8px);background:var(--border);width:2px;position:absolute;top:0;bottom:0}.xr-tl-time{font-size:var(--fs-xs);color:var(--text-subtle);text-align:right;padding-top:2px}.xr-tl-dot{z-index:1;background:var(--t-bg);border:2px solid var(--t);width:18px;height:18px;color:var(--t-fg);box-shadow:0 0 0 3px var(--surface);border-radius:50%;place-items:center;margin-top:1px;display:grid;position:relative}.xr-tl-item.is-event .xr-tl-dot{background:var(--t);width:12px;height:12px;margin:4px 3px 0}.xr-tl-text{font-size:var(--fs-md)}.xr-tl-detail{color:var(--text-muted)}.xr-photo{margin:0 0 var(--sp-3);gap:var(--sp-3);flex-direction:column;max-width:280px;display:flex}.xr-photo-cap{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.xr-img{border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--border);width:100%;height:auto;display:block}.xr-tl-item.is-flagged .xr-img{border:2px solid var(--danger)}.xr-img-wait{background:var(--surface-2)}.xr-img-missing{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-5);color:var(--text-muted);font-size:var(--fs-sm);text-align:center;flex-direction:column;display:flex}@media (width<=560px){.xr-timeline{padding-inline:var(--sp-5)}.xr-tl-item{grid-template-columns:18px minmax(0,1fr)}.xr-tl-item:before{left:8px}.xr-tl-time{text-align:left;grid-area:1/2}.xr-tl-dot{grid-area:1/1/span 2}.xr-tl-item>:last-child{grid-area:2/2}}.xr-consent{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--sp-5) var(--sp-8)}.xr-consent summary{align-items:center;gap:var(--sp-3);cursor:pointer;font-weight:var(--fw-semibold);font-size:var(--fs-md);display:inline-flex}.xr-consent p{white-space:pre-wrap;margin-top:var(--sp-5);font-size:var(--fs-sm);color:var(--text-muted);line-height:var(--lh-base)}@media (width<=640px){.xr-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.xr-table,.xr-table tbody{display:block}.xr-table .xr-row{gap:var(--sp-4) var(--sp-5);padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;display:grid}.xr-table .xr-row:last-child{border-bottom:0}.xr-table .xr-row>td{text-align:left;background:0 0;border:0;min-width:0;height:auto;padding:0;display:block}.xr-table .xr-row>.xr-who-cell{grid-column:1/3}.xr-table .xr-row>.xr-open{grid-area:1/3;align-self:center;width:auto}.xr-table .xr-row>td[data-label]:before{content:attr(data-label);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-subtle);margin-bottom:2px;display:block}.xr-table .xr-row>.xr-when,.xr-table .xr-row>.xr-score{white-space:normal}.xr-who{min-width:0}.xr-name,.xr-sub{white-space:normal;overflow-wrap:anywhere}}.mon{gap:var(--sp-7);max-width:var(--page-max);flex-direction:column;width:100%;margin:0 auto;display:flex}.mon>.ui-page-header{margin-bottom:0}.mon-updated{align-items:center;gap:var(--sp-2);margin-right:var(--sp-3);font-size:var(--fs-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex}.mon-updated.is-fetching .ui-icon{color:var(--primary);animation:.8s linear infinite mon-spin}@keyframes mon-spin{to{transform:rotate(360deg)}}.mon-tiles{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}@media (width<=760px){.mon-tiles{flex-wrap:wrap;display:flex}.mon-tiles>.ui-stat{padding:var(--sp-5) var(--sp-6);flex:140px}}.mon-search{flex:2 240px}.mon-select{flex:0 180px}.mon-table .mon-row>td{height:52px}.mon-who{align-items:center;gap:var(--sp-4);min-width:12rem;display:flex}.mon-who-text{flex-direction:column;min-width:0;display:flex}.mon-name{font-weight:var(--fw-semibold);white-space:nowrap}.mon-sub{font-size:var(--fs-xs);color:var(--text-subtle);white-space:nowrap}.mon-mono{font-family:var(--font-mono)}.mon-state{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.mon-progress{min-width:9rem}.mon-progress .ui-progress-label{text-transform:none;letter-spacing:0;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-muted)}.mon-none{color:var(--text-subtle)}.mon-low{color:var(--danger);font-weight:var(--fw-bold)}.mon-flags{gap:var(--sp-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.mon-flags .ui-meta{gap:3px}.mon-camera{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.mon-seen{white-space:nowrap;font-size:var(--fs-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.mon-seen .is-quiet{color:var(--warning-fg);font-weight:var(--fw-semibold)}.mon-quiet-dot{width:7px;height:7px;margin-right:var(--sp-2);background:var(--warning);vertical-align:middle;border-radius:50%;display:inline-block}.mon-actions{width:1%}.mon-actions-in{justify-content:flex-end;align-items:center;gap:var(--sp-2);display:flex}.mon-unlock{color:var(--danger);border-color:var(--danger-bd)}.mon-unlock:hover:not(:disabled){background:var(--danger-bg)}.mon-row.is-locked>td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.mon-row.is-timed-out>td{background:color-mix(in srgb, var(--danger-bg) 60%, var(--surface))}.mon-row.is-flash-a>td{animation:mon-flash-a 1.2s var(--ease)}.mon-row.is-flash-b>td{animation:mon-flash-b 1.2s var(--ease)}@keyframes mon-flash-a{0%{background:var(--primary-tint-2)}}@keyframes mon-flash-b{0%{background:var(--primary-tint-2)}}.mon-timeline{padding:var(--sp-3) 0;margin:0;list-style:none;position:relative}.mon-timeline:before{content:"";left:5px;top:var(--sp-5);bottom:var(--sp-5);background:var(--border);width:2px;position:absolute}.mon-event{gap:var(--sp-5);padding:var(--sp-3) 0;grid-template-columns:12px auto minmax(0,1fr);align-items:baseline;display:grid;position:relative}.mon-event-dot{background:var(--t);width:12px;height:12px;box-shadow:0 0 0 3px var(--surface);border-radius:50%;align-self:center}.mon-event-time{font-size:var(--fs-xs);color:var(--text-subtle)}.mon-event-text{font-size:var(--fs-md)}.mon-event-detail{color:var(--text-muted)}.mon-extra{gap:var(--sp-6);flex-direction:column;display:flex}@media (width<=640px){.ui-table-wrap:has(>.mon-table){max-height:none!important}.mon-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.mon-table,.mon-table tbody{display:block}.mon-table .mon-row{gap:var(--sp-4) var(--sp-5);padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;display:grid}.mon-table .mon-row:last-child{border-bottom:0}.mon-table .mon-row>td{text-align:left;background:0 0;border:0;min-width:0;height:auto;padding:0;display:block}.mon-table .mon-row>.mon-who-cell{grid-column:1/3}.mon-table .mon-row>.mon-actions{grid-area:1/3;width:auto}.mon-table .mon-row>.mon-progress,.mon-table .mon-row>.mon-camera-cell{grid-column:1/-1;min-width:0}.mon-table .mon-row>td[data-label]:before{content:attr(data-label);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-subtle);margin-bottom:2px;display:block}.mon-table .mon-row>td:has(>.mon-none){display:none}.mon-table .mon-row>.mon-state-cell{padding-left:calc(28px + var(--sp-4));grid-column:1/-1}.mon-table .mon-row>td.mon-state-cell[data-label]:before{display:none}.mon-table .mon-camera-cell .mon-sub{white-space:normal;overflow-wrap:anywhere}.mon-table .mon-row.is-locked{box-shadow:inset 3px 0 0 var(--danger)}.mon-table .mon-row.is-locked>td:first-child{box-shadow:none}.mon-table .mon-row.is-timed-out{background:color-mix(in srgb, var(--danger-bg) 60%, var(--surface))}}.xs-page,.xs-list-page{gap:var(--sp-7);max-width:var(--page-narrow);flex-direction:column;width:100%;margin:0 auto;display:flex}.xs-list-page>.ui-page-header,.xs-page>.ui-page-header{margin-bottom:var(--sp-1)}.xs-count{min-width:22px;height:22px;padding:0 var(--sp-2);margin-left:var(--sp-2);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);vertical-align:middle;place-items:center;display:inline-grid}.xs-rows{margin:0;padding:0;list-style:none}.xs-row{gap:var(--sp-5);padding:var(--pad-row-y) var(--pad-row-x);border-top:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.xs-rows>.xs-row:first-child{border-top:0}.xs-row-icon{border-radius:var(--r-md);background:var(--surface-2);width:36px;height:36px;color:var(--text-muted);place-items:center;display:grid}.xs-row.is-live .xs-row-icon{background:var(--primary-tint);color:var(--primary-ink)}.xs-row-text{flex-direction:column;gap:2px;min-width:0;display:flex}.xs-row-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);overflow-wrap:anywhere}.xs-row-meta{gap:0 var(--sp-3);font-size:var(--fs-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.xs-row-meta>span+span:before{content:"·";margin-right:var(--sp-3);color:var(--text-subtle)}@media (width<=560px){.xs-row{grid-template-columns:auto minmax(0,1fr)}.xs-row-act{grid-column:2}}.xs-start{gap:var(--sp-7);flex-direction:column;display:flex}.xs-facts{background:var(--border);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:0;display:grid}.xs-fact{gap:var(--sp-1);padding:var(--sp-6) var(--sp-8);background:var(--surface);flex-direction:column;min-width:0;display:flex}.xs-fact dt{align-items:center;gap:var(--sp-2);display:inline-flex}.xs-fact dd{font-size:var(--fs-md);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;margin:0}.xs-block{gap:var(--sp-3);flex-direction:column;display:flex}.xs-instructions{white-space:pre-wrap;font-size:var(--fs-base);line-height:var(--lh-loose);padding:var(--sp-6) var(--sp-7);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg)}.xs-consent{gap:var(--sp-6);align-items:flex-start;display:flex}.xs-consent-icon{background:var(--info-bg);width:40px;height:40px;color:var(--info);border-radius:50%;flex:none;place-items:center;display:grid}.xs-consent-body{gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.xs-consent-title{font-size:var(--fs-lg);font-weight:var(--fw-title)}.xs-consent-text{white-space:pre-wrap;font-size:var(--fs-md);color:var(--text-muted);line-height:var(--lh-base)}.xs-agree{margin-left:calc(-1 * var(--sp-3));font-weight:var(--fw-semibold)}.xs-go{gap:var(--sp-7);padding-block:var(--sp-8);flex-direction:column;display:flex}.xs-pins{gap:var(--sp-7);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.xs-pin{gap:var(--sp-2);flex-direction:column;display:flex}.xs-pin-label{align-items:center;gap:var(--sp-2);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-subtle);display:inline-flex}.ui-input.xs-pin-input{height:52px;font-family:var(--font-mono);font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:.14em;text-transform:uppercase;text-align:center}.xs-note{font-size:var(--fs-sm);color:var(--text-muted);text-align:center;max-width:60ch;margin:0 auto}.xs-result-body{align-items:center;gap:var(--sp-9);padding:var(--sp-9);flex-wrap:wrap;display:flex}.xs-ring{--ring-c:var(--primary);background:conic-gradient(var(--ring-c) calc(var(--pct,0) * 1%), var(--surface-3) 0);border-radius:50%;flex:none;place-items:center;width:148px;height:148px;display:grid}.xs-ring.is-success{--ring-c:var(--success)}.xs-ring.is-danger{--ring-c:var(--danger)}.xs-ring-inner{background:var(--surface);border-radius:50%;place-items:center;width:118px;height:118px;display:grid}.xs-ring-inner strong{font-size:var(--fs-3xl);font-weight:var(--fw-heavy);letter-spacing:var(--tracking-title)}.xs-result-side{align-items:flex-start;gap:var(--sp-5);flex-direction:column;flex:260px;min-width:0;display:flex}.xs-result-side .ui-stats{align-self:stretch}.xs-verdict{height:26px;padding:0 var(--sp-5);font-size:var(--fs-sm)}.bk{gap:var(--sp-8);flex-direction:column;display:flex}.bk-nav{margin-bottom:calc(-1 * var(--sp-3))}.bk-page{gap:var(--sp-8);flex-direction:column;display:flex}.bk-page .ui-page-header{margin-bottom:0}.bk-hint{font-size:var(--fs-sm);color:var(--text-muted)}.bk-mono{font-family:var(--font-mono);font-size:var(--fs-md);line-height:1.6}.bk-filters{gap:var(--sp-5);padding:var(--sp-6) var(--sp-7);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);flex-direction:column;display:flex}.bk-search{align-items:flex-end;gap:var(--sp-4);display:flex}.bk-grow{flex:1;min-width:0}.bk-selects{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.bk-filters-foot{justify-content:space-between;align-items:center;gap:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.bk-check{padding-left:0}.bk-count .ui-card-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.bk-list{margin:0;padding:0;list-style:none}.bk-row{align-items:center;gap:var(--sp-5);padding:var(--pad-row-y) var(--sp-8);border-top:1px solid var(--border);color:var(--text);transition:background var(--dur-fast);text-decoration:none;display:flex}.bk-list li:first-child .bk-row{border-top:0}.bk-row:hover{background:var(--option-hover)}.bk-row:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;border-radius:0}.bk-row-icon{border-radius:var(--r-md);background:var(--primary-tint);width:32px;height:32px;color:var(--primary-ink);flex:none;place-items:center;display:grid}.bk-row-main{gap:var(--sp-2);flex-direction:column;flex:1;min-width:0;display:flex}.bk-stem{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-md);font-weight:var(--fw-medium);display:block;overflow:hidden}.bk-meta{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.bk-go{color:var(--text-subtle);flex:none}.bk-editor{gap:var(--sp-7);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;display:grid}@media (width<=960px){.bk-editor{grid-template-columns:minmax(0,1fr)}}.bk-editor>.ui-actionbar,.bk-editor>.ui-callout{grid-column:1/-1}.bk-form{gap:var(--sp-7);flex-direction:column;min-width:0;display:flex}.bk-flags{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.bk-source{font-size:var(--fs-sm);color:var(--text-muted)}.bk-fields{gap:var(--sp-7);flex-direction:column;display:flex}.bk-three{gap:var(--sp-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=560px){.bk-three{grid-template-columns:1fr}}.bk-set{gap:var(--sp-4);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.bk-set legend{margin-bottom:var(--sp-4);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);padding:0}.bk-target{gap:var(--sp-3);grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;align-items:center;display:grid}.bk-options{gap:var(--sp-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.bk-option{gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex}.bk-option.is-right{border-color:var(--correct-bd);background:var(--correct-bg)}.bk-option-row{align-items:center;gap:var(--sp-4);display:flex}.bk-option-row>.ui-input,.bk-option-row>.ui-input-wrap,.bk-option-row>.mt-field{flex:1;min-width:0}.bk-correct{cursor:pointer;flex:none;position:relative}.bk-correct input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.bk-correct span{border:1.5px solid var(--border-strong);width:28px;height:28px;font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-muted);background:var(--surface);border-radius:50%;place-items:center;display:grid}.bk-correct input:checked+span{background:var(--success);border-color:var(--success);color:var(--surface)}.bk-correct input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}.bk-why{min-height:2.6rem;font-size:var(--fs-sm)}.bk-problems{margin:0;padding-left:1.2rem}.bk-status{align-items:center;gap:var(--sp-3);display:inline-flex}.bk-status.is-bad{color:var(--danger-fg)}.bk-bar .ui-actionbar-actions{flex-wrap:wrap}.bk-preview{top:calc(var(--header-h) + var(--sp-7));max-height:calc(100dvh - var(--header-h) - var(--sp-12));background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);flex-direction:column;display:flex;position:sticky;overflow-y:auto}@media (width<=960px){.bk-preview{max-height:none;position:static}}.bk-preview-head{padding:var(--sp-6) var(--sp-8);border-bottom:1px solid var(--border);flex-direction:column;gap:2px;display:flex}.bk-preview-head h2{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-subtle)}.bk-preview-head span{font-size:var(--fs-sm);color:var(--text-muted)}.bk-preview-body{gap:var(--sp-7);padding:var(--sp-8);flex-direction:column;display:flex}.bk-preview .pp-option{cursor:default}.bk-why-shown{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px;display:block}.bk-expected{font-size:var(--fs-md)}.qbank-image{border-radius:var(--r-md);border:1px solid var(--border);background:var(--paper);max-width:100%;height:auto}.bk-queue-subject{min-width:200px}.bk-queue-bar{align-items:center;gap:var(--sp-4) var(--sp-7);padding:var(--sp-5) var(--sp-7);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);flex-wrap:wrap;display:flex}.bk-queue-count{font-size:var(--fs-md);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.bk-queue-progress{flex:120px;max-width:280px}.bk-queue-nav{gap:var(--sp-3);margin-left:auto;display:flex}.pe-row{align-items:flex-end;gap:var(--sp-4) var(--sp-5);padding-bottom:var(--sp-5);border-bottom:1px dashed var(--border);flex-wrap:wrap;display:flex}.pe-row>.ui-field{flex:140px;min-width:0}.pe-row:last-of-type{border-bottom:0}.pe-remove{margin-bottom:2px}.pe-table input{width:6.5rem;margin:2px auto;display:block}.pe-table input::placeholder{color:var(--text-subtle);font-size:var(--fs-xs)}.pe-sum{font-size:var(--fs-sm);color:var(--text-muted)}.pe .ui-actionbar-status{flex-direction:column;align-items:flex-start;gap:2px}@media (pointer:fine){.bk-search>.ui-button{--b-h:32px}}.bk-report{align-items:flex-start;gap:var(--sp-6);padding:var(--sp-6) var(--sp-7);border-top:1px solid var(--border);display:flex}.bk-reports li:first-child{border-top:0}.bk-report-who{font-size:var(--fs-xs);color:var(--text-muted)}.bk-report-stem{color:var(--text);min-width:0}.bk-report-details{color:var(--text);font-size:var(--fs-md);overflow-wrap:anywhere;margin:0}.bk-report-done{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.bk-report-actions{gap:var(--sp-3);flex-wrap:wrap;flex:none;display:flex}@media (width<=640px){.bk-report{flex-direction:column}}.bk-action{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--primary-ink);flex:none;display:inline-flex}@media (width<=480px){.bk-action{display:none}}.bk-view-note{align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-4);font-size:var(--fs-sm);color:var(--text-subtle);display:flex}.bk-members{gap:var(--sp-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.bk-member{align-items:center;gap:var(--sp-5);padding:var(--sp-4) var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);display:flex}.bk-member-pos{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--border);width:28px;height:28px;font-size:var(--fs-sm);font-weight:var(--fw-bold);flex:none;place-items:center;display:grid}.bk-member-main{gap:var(--sp-2);flex-direction:column;flex:1;min-width:0;display:flex}.bk-member-main a.bk-stem{color:var(--text);text-decoration:none}.bk-member-main a.bk-stem:hover{text-decoration:underline}.bk-member-tools{align-items:center;gap:var(--sp-2);flex:none;display:flex}.bk-preview-col{gap:var(--sp-3);top:var(--sp-6);flex-direction:column;display:flex;position:sticky}.bk-set-new{align-items:flex-end;gap:var(--sp-5);flex-wrap:wrap;display:flex}.bk-setrow{align-items:center;gap:var(--sp-5);padding:var(--pad-row-y) var(--sp-8);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.bk-list li.bk-setrow:first-child{border-top:0}.bk-ties{gap:var(--sp-5);flex-direction:column;display:flex}.bk-ties-group{align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.bk-ties-sets{gap:var(--sp-3) var(--sp-7);flex-wrap:wrap;display:flex}@media (width<=640px){.bk-member{flex-wrap:wrap}.bk-setrow{padding-inline:var(--sp-6)}}.bk-subject{margin-bottom:var(--sp-7)}.bk-subject-head{align-items:center;gap:var(--sp-4);margin:0 0 var(--sp-4);font-size:var(--fs-lg);display:flex}.bk-subject-count{color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.bk-history{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.bk-history>li{align-items:center;gap:var(--sp-5);padding:var(--sp-4) var(--sp-7);border-top:1px solid var(--border);display:flex}.bk-history-n{min-width:2.5rem;color:var(--text-subtle);font-variant-numeric:tabular-nums;flex:none}.bk-history-who{min-width:0;font-size:var(--fs-sm);color:var(--text-muted);flex:1}@media (width<=560px){.bk-history>li{gap:var(--sp-3) var(--sp-4);flex-wrap:wrap}.bk-history-who{flex-basis:100%}}.pl{gap:var(--sp-8);flex-direction:column;display:flex}.pl-nav{margin-bottom:calc(-1 * var(--sp-3))}.pl-page{gap:var(--sp-8);flex-direction:column;display:flex}.pl-page.is-narrow{max-width:var(--page-narrow);width:100%}.pl-page .ui-page-header{margin-bottom:0}.pl-hint{font-size:var(--fs-sm);color:var(--text-muted)}.pl-field-error{font-size:var(--fs-sm);color:var(--danger-fg);margin:0}.pl-error{margin-top:var(--sp-1);font-size:var(--fs-xs);color:var(--danger-fg)}.pl-row{align-items:flex-end;gap:var(--sp-5);flex-wrap:wrap;display:flex}.pl-form{gap:var(--sp-6);flex-direction:column;display:flex}.pl-field{flex:160px;min-width:0}.pl-field.is-wide{flex:3 260px}.pl-saved{align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--success-fg);align-self:center;display:inline-flex}.pl-stats{margin:0;padding:0;list-style:none}.pl-tiles{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.pl-tiles>li{display:flex}.pl-tile{align-items:flex-start;gap:var(--sp-6);padding:var(--sp-7) var(--sp-8);flex:1;display:flex;position:relative}.pl-tile-icon{border-radius:var(--r-lg);background:var(--primary-tint);width:40px;height:40px;color:var(--primary-ink);flex:none;place-items:center;display:grid}.pl-tile-text{padding-right:var(--sp-7);flex-direction:column;gap:2px;display:flex}.pl-tile-title{font-size:var(--fs-lg);font-weight:var(--fw-title);color:var(--text)}.pl-tile-desc{font-size:var(--fs-md);color:var(--text-muted)}.pl-tile-arrow{top:var(--sp-7);right:var(--sp-7);color:var(--text-subtle);transition:transform var(--dur) var(--ease);position:absolute}.pl-tile:hover .pl-tile-arrow{color:var(--primary-ink);transform:translate(2px)}.pl-school-cell{font-weight:inherit;text-align:left}.pl-school{align-items:center;gap:var(--sp-5);color:var(--text);min-width:14rem;text-decoration:none;display:flex}.pl-school>span:last-child{flex-direction:column;min-width:0;display:flex}.pl-school-name{font-weight:var(--fw-semibold);color:var(--text);text-decoration:none}.pl-school-name:hover{color:var(--primary-ink);text-decoration:underline}.pl-school-addr{font-size:var(--fs-sm);color:var(--text-muted);font-weight:var(--fw-regular)}.pl-go{color:var(--text-subtle);width:1%}.pl-school-pills{display:none}@media (width<=640px){.pl-col-wide{display:none}.pl-school{min-width:0}.pl-school-pills{gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}}.pl-sections{gap:var(--sp-7);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}@media (width<=960px){.pl-sections{grid-template-columns:1fr}}.pl-body{gap:var(--sp-5);flex-direction:column;display:flex}.pl-body>p{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.pl-domains{border:1px solid var(--border);border-radius:var(--r-lg);margin:0;padding:0;list-style:none}.pl-domains li{align-items:center;gap:var(--sp-4);padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-5);border-top:1px solid var(--border);display:flex}.pl-domains li:first-child{border-top:0}.pl-domain{font-family:var(--font-mono);font-size:var(--fs-sm);overflow-wrap:anywhere;flex:1}.pl-domain-icon{color:var(--text-subtle)}.pl-verify{align-items:flex-start;gap:var(--sp-5) var(--sp-7);padding:var(--sp-7) var(--sp-8);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);flex-wrap:wrap;display:flex}.pl-verify-icon{border-radius:var(--r-lg);background:var(--primary-tint);width:40px;height:40px;color:var(--primary-ink);flex:none;place-items:center;display:grid}.pl-verify-text{gap:var(--sp-2);flex-direction:column;flex:18rem;display:flex}.pl-verify-text h2{font-size:var(--fs-lg)}.pl-verdict{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:var(--fw-semibold);align-self:flex-start}.pl-verdict.is-ok{background:var(--success-bg);color:var(--success-fg)}.pl-verdict.is-bad{background:var(--danger-bg);color:var(--danger-fg)}.pl-filters{gap:var(--sp-5);padding:var(--sp-6) var(--sp-7);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);flex-direction:column;display:flex}.pl-filter-grid{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(170px,1fr));display:grid}.pl-filters-foot{justify-content:space-between;align-items:center;gap:var(--sp-5);flex-wrap:wrap;display:flex}.ui-table td.pl-when{white-space:nowrap;color:var(--text-muted);text-align:left}.pl-ip{font-size:var(--fs-xs);color:var(--text-subtle);display:block}.pl-action{font-family:var(--font-mono);font-size:var(--fs-sm);padding:1px var(--sp-2);border-radius:var(--r-xs);background:var(--surface-2);white-space:nowrap}.pl-details summary{cursor:pointer;color:var(--primary-ink);font-size:var(--fs-sm)}.pl-json{margin:var(--sp-3) 0 0;padding:var(--sp-4);background:var(--surface-2);border-radius:var(--r-md);max-width:32rem;font-size:var(--fs-xs);font-family:var(--font-mono);overflow-x:auto}.pl-find{align-items:flex-end;gap:var(--sp-4);padding:var(--sp-6) var(--sp-7);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);display:flex}.pl-grow{flex:1;min-width:0}.pl-person{align-items:center;gap:var(--sp-6);padding:var(--sp-8);border-bottom:1px solid var(--border);display:flex}.pl-person h2{font-size:var(--fs-xl)}.pl-person-badges{gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.pl-facts{gap:var(--sp-4) var(--sp-9);padding:var(--sp-7) var(--sp-8);font-size:var(--fs-md);grid-template-columns:max-content 1fr;margin:0;display:grid}.pl-facts dt{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-subtle);padding-top:3px}.pl-facts dd{overflow-wrap:anywhere;margin:0}@media (width<=520px){.pl-facts{gap:var(--sp-1);grid-template-columns:1fr}.pl-facts dd{margin-bottom:var(--sp-4)}}.pl-sub{font-size:var(--fs-md);margin-bottom:var(--sp-4)}.pl-roles{gap:var(--sp-2);font-size:var(--fs-md);margin:0;padding-left:1.2rem;display:grid}.pl-sheet-actions{justify-content:flex-end;gap:var(--sp-4);display:flex}.pl-subjects{gap:var(--sp-3) var(--sp-6);border:0;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));margin:0;padding:0;display:grid}.pl-subjects>legend{padding:0 0 var(--sp-4);color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.pl-editor-actions{gap:var(--sp-4);margin-top:var(--sp-6);flex-wrap:wrap;display:flex}.staff-page{gap:var(--sp-7);flex-direction:column;min-width:0;display:flex}.staff-page>.ui-page-header{margin-bottom:0}.staff-section{gap:var(--sp-5);flex-direction:column;display:flex}.staff-count{min-width:22px;height:20px;margin-left:var(--sp-2);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);vertical-align:2px;place-items:center;padding:0 6px;display:inline-grid}.staff-shown{font-size:var(--fs-sm);color:var(--text-subtle);margin-left:auto}.staff-center{padding:var(--sp-10);place-items:center;display:grid}.staff-picker{gap:var(--sp-4);flex-wrap:wrap;align-items:flex-end;display:flex}.staff-picker .ui-field{min-width:9rem}.staff-person{align-items:center;gap:var(--sp-4);min-width:0;display:inline-flex}.staff-person-text{min-width:0;line-height:var(--lh-snug);flex-direction:column;display:flex}.staff-person-name{font-weight:var(--fw-medium);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.staff-person-id{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-subtle);font-weight:var(--fw-regular)}.staff-link{font:inherit;color:var(--primary-ink);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.staff-status-button{align-items:center;gap:var(--sp-3);font:inherit;color:var(--danger-fg);font-weight:var(--fw-semibold);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.staff-status-button:hover{text-decoration:underline}.staff-errors{margin:var(--sp-2) 0 0;flex-direction:column;gap:2px;padding-left:1.1rem;display:flex}.staff-status{white-space:nowrap}.mc-list{margin:0;padding:0;list-style:none}.mc-list>li+li{border-top:1px solid var(--border)}.mc-row{align-items:center;gap:var(--sp-5);padding:var(--pad-row-y) var(--pad-row-x);color:var(--text);transition:background var(--dur-fast);grid-template-columns:40px minmax(0,1fr) auto;text-decoration:none;display:grid}.mc-row:hover{background:var(--option-hover)}.mc-row:focus-visible{box-shadow:inset 0 0 0 2px var(--primary);border-radius:0;outline:none}.mc-code{border-radius:var(--r-md);background:var(--primary-tint);width:40px;height:40px;color:var(--primary-ink);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.03em;text-transform:uppercase;place-items:center;display:grid;overflow:hidden}.mc-text{flex-direction:column;gap:2px;min-width:0;display:flex}.mc-title{font-size:var(--fs-base);font-weight:var(--fw-semibold)}.mc-meta{font-size:var(--fs-sm);color:var(--text-muted)}.mc-returned{font-size:var(--fs-sm);color:var(--warning-fg)}.mc-trail{align-items:center;gap:var(--sp-6);display:flex}.mc-progress{width:150px}.mc-status{justify-content:flex-end;min-width:10.5rem;display:flex}.mc-chev{color:var(--text-subtle);transition:transform var(--dur-fast);flex:none}.mc-row:hover .mc-chev,.mc-tile:hover .mc-chev{color:var(--primary-ink);transform:translate(2px)}.mc-sheet-list{margin:0 calc(-1 * var(--sp-8))}.mc-arm .ui-card-body{gap:var(--sp-5);flex-direction:column;display:flex}.mc-tiles{gap:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.mc-tile{align-items:center;gap:var(--sp-5);height:100%;padding:var(--sp-6);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--text);transition:border-color var(--dur), background var(--dur), box-shadow var(--dur);text-decoration:none;display:flex}.mc-tile:hover{border-color:var(--primary-line);background:var(--option-hover);box-shadow:var(--shadow-xs)}.mc-tile:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);outline:none}.mc-tile-icon{border-radius:var(--r-md);background:var(--primary-tint);width:36px;height:36px;color:var(--primary-ink);flex:none;place-items:center;display:grid}.mc-tile-text{flex-direction:column;flex:1;min-width:0;display:flex}.mc-tile-title{font-weight:var(--fw-semibold)}.mc-tile-sub{font-size:var(--fs-sm);color:var(--text-muted)}.mc-filters{align-items:center;gap:var(--sp-4);padding:var(--sp-5) var(--sp-8);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.mc-find{width:min(16rem,100%)}.mc-table .mc-group th{background:var(--surface-2);color:var(--text-subtle);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;padding-block:var(--sp-2)}.mc-table tbody tr.mc-group:hover>*{background:var(--surface-2)}.mc-armname{font-weight:var(--fw-semibold)}.mc-actions{justify-content:flex-end;align-items:center;gap:var(--sp-2);display:flex}@media (width<=640px){.mc-row{grid-template-columns:36px minmax(0,1fr)}.mc-code{width:36px;height:36px}.mc-trail{gap:var(--sp-4);flex-wrap:wrap;grid-column:2}.mc-progress{width:120px}.mc-status{min-width:0}.mc-chev{display:none}.staff-picker{width:100%}.staff-picker .ui-field{flex:8rem;min-width:0}}.ss-form{gap:var(--sp-7);flex-direction:column;display:flex}.ss-reason{margin-top:var(--sp-2)}.ss-table thead th{vertical-align:bottom}.ss-col{display:block}.ss-input-head .ss-col,.ss-input-head .ss-weight,.ss-input-head .ss-avg,.ss-input-head .ss-entered{padding-right:calc(var(--sp-3) + 1px)}.ss-weight{font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--text-subtle);letter-spacing:0;text-transform:none;display:block}.ss-table tbody tr:nth-child(2n)>*{background:color-mix(in srgb, var(--surface-2) 40%, var(--surface))}.ss-table tbody tr:hover>*{background:var(--option-hover)}.ss-table tbody th{min-width:13rem}.ss-cell{min-width:5.5rem;position:relative}.ss-tip{z-index:4;right:var(--sp-2);border-radius:var(--r-sm);background:var(--danger);width:max-content;max-width:14rem;color:var(--on-danger);font-size:var(--fs-xs);font-weight:var(--fw-medium);text-align:left;white-space:normal;box-shadow:var(--shadow-menu);pointer-events:none;opacity:0;transition:opacity var(--dur-fast), transform var(--dur-fast);padding:4px 8px;position:absolute;top:calc(100% - 4px);transform:translateY(-2px)}.ss-cell:hover .ss-tip,.ss-cell:focus-within .ss-tip{opacity:1;transform:none}.ss-cell.is-bad:after{content:"";border:4px solid #0000;border-top-color:var(--danger);border-right-color:var(--danger);pointer-events:none;border-radius:0 2px 0 0;position:absolute;top:4px;right:4px}.ss-total{font-weight:var(--fw-bold);font-size:var(--fs-base)}.ss-avg{display:block}.ss-entered{font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--text-subtle);display:block}.ss-keys{gap:var(--sp-4);margin:0;display:grid}.ss-keys>div{gap:var(--sp-5);grid-template-columns:9rem 1fr;align-items:baseline;display:grid}.ss-keys dt{white-space:nowrap}.ss-keys dd{color:var(--text-muted);font-size:var(--fs-md);margin:0}.bs-problems{margin:var(--sp-2) 0 0;gap:var(--sp-1);flex-direction:column;padding:0;list-style:none;display:flex}.bs-problems a{color:inherit;font-weight:var(--fw-semibold)}.bs-table tbody th{min-width:13rem}.bs-table tbody tr:nth-child(2n)>*{background:color-mix(in srgb, var(--surface-2) 40%, var(--surface))}.bs-table tbody tr:hover>*{background:var(--option-hover)}.bs-subject{color:inherit;text-decoration:none}.bs-subject:hover{color:var(--primary-ink);text-decoration:underline}.bs-grade{min-width:1.9rem;margin-left:var(--sp-2);border-radius:var(--r-sm);font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-align:center;vertical-align:1px;background:var(--surface-2);color:var(--text-muted);padding:1px 5px;display:inline-block}.bs-grade.is-success{background:var(--success-bg);color:var(--success-fg)}.bs-grade.is-danger{background:var(--danger-bg);color:var(--danger-fg)}td.bs-fail{color:var(--danger-fg)}.bs-strong{font-weight:var(--fw-bold)}.bs-medal{border-radius:var(--r-pill);text-align:center;background:var(--gold-tint);min-width:2.4rem;color:var(--gold-ink);font-weight:var(--fw-bold);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 55%, transparent);padding:1px 7px;display:inline-block}.bs-card{text-align:right}.bs-card-word{display:none}.reg-day{align-items:flex-end;gap:var(--sp-3);display:flex}.reg-day .ui-field{width:11.5rem}.reg-form{gap:var(--sp-7);flex-direction:column;display:flex}.reg-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.reg-reason{padding:var(--pad-card)}.reg-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-4) var(--sp-7);padding:var(--sp-5) var(--sp-8);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.reg-all{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.reg-all .micro-label{margin-right:var(--sp-2)}.reg-hint{font-size:var(--fs-sm);color:var(--text-muted)}.reg-table tbody tr>*{height:48px}.reg-table .reg-n{width:3rem;color:var(--text-subtle)}.reg-table tbody tr.is-changed>:first-child{box-shadow:inset 3px 0 0 var(--primary)}.reg-table tbody tr.is-bad>:first-child{box-shadow:inset 3px 0 0 var(--danger)}.reg-problem{font-size:var(--fs-xs);color:var(--danger-fg);font-weight:var(--fw-medium);margin-top:2px;display:block}.reg-mark{white-space:nowrap;width:1%}.reg-seg .ui-segment{min-width:4.75rem}.reg-abbr{display:none}.reg-word{display:inline}@media (width<=1023px){.reg-seg .ui-segment{min-width:2.75rem}.reg-abbr{display:inline}.reg-word{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=640px){.reg-day{width:100%}.reg-day .ui-field{flex:1;width:auto}.reg-table thead{display:none}.reg-table tbody tr{border-bottom:1px solid var(--border);grid-template-columns:2rem minmax(0,1fr);display:grid}.reg-table tbody tr>*{border-bottom:0;height:auto}.reg-table tbody tr>.reg-mark{width:auto;padding-top:0;padding-bottom:var(--sp-4);grid-column:1/-1}.reg-seg{width:100%;display:flex}.reg-seg .ui-segment{flex:1 1 0}.reg-toolbar{padding-inline:var(--sp-6)}.reg-hint{display:none}}.rm-split{gap:var(--sp-7);grid-template-columns:320px minmax(0,1fr);align-items:start;display:grid}.rm-list{top:calc(var(--header-h) + var(--sp-5));max-height:calc(100dvh - var(--header-h) - 120px);flex-direction:column;display:flex;position:sticky}.rm-list .ui-card-header .ui-card-heading{width:100%}.rm-list-tools{gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.rm-students{padding:var(--sp-2);overscroll-behavior:contain;margin:0;list-style:none;overflow-y:auto}.rm-student{align-items:center;gap:var(--sp-4);width:100%;min-height:48px;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);text-align:left;font:inherit;color:var(--text);cursor:pointer;transition:background var(--dur-fast);background:0 0;border:0;display:flex}.rm-student:hover{background:var(--surface-2)}.rm-student.is-on{background:var(--option-sel-bg);box-shadow:inset 3px 0 0 var(--primary)}.rm-student .staff-person-text{flex:1}.rm-state{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;display:inline-flex}.rm-state.is-done{color:var(--success-fg)}.rm-state.is-draft{color:var(--warning-fg)}.rm-none{padding:var(--sp-8);text-align:center;color:var(--text-muted);font-size:var(--fs-md)}.rm-head{align-items:center;gap:var(--sp-5);padding:var(--sp-6) var(--sp-8);border-bottom:1px solid var(--border);display:flex}.rm-who{flex:1;min-width:0}.rm-name{font-size:var(--fs-xl)}.rm-nav{gap:var(--sp-2);display:flex}.rm-form{overflow:clip}.rm-form .ui-card-section{gap:var(--sp-6);flex-direction:column;display:flex}.rm-count{text-align:right;font-size:var(--fs-xs);color:var(--text-subtle);display:block}.rm-domain-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2) var(--sp-5);flex-wrap:wrap;display:flex}.rm-domain-title{font-size:var(--fs-base)}.rm-legend{font-size:var(--fs-xs);color:var(--text-subtle)}.rm-traits{margin:0;padding:0;list-style:none}.rm-trait{justify-content:space-between;align-items:center;gap:var(--sp-3) var(--sp-6);padding:var(--sp-3) 0;flex-wrap:wrap;display:flex}.rm-trait+.rm-trait{border-top:1px solid var(--border)}.rm-trait-name{font-size:var(--fs-md);font-weight:var(--fw-medium)}.rm-trait-pick{align-items:center;gap:var(--sp-4);display:flex}.rm-trait-pick .ui-segment{min-width:2.5rem}.rm-clear{font-size:var(--fs-sm)}.rm-foot{position:sticky;bottom:0}.rm-status{align-items:center;gap:var(--sp-2);font-size:var(--fs-md);color:var(--text-muted);margin-right:auto;display:inline-flex}.rm-keys{font-size:var(--fs-xs);color:var(--text-subtle)}@media (width<=900px){.rm-list{max-height:none;position:static}.rm-keys{display:none}.ui-sheet .rm-form{box-shadow:none;border:0;border-radius:0}.ui-sheet .rm-who,.ui-sheet .rm-head .ui-avatar{display:none}.ui-sheet .rm-head{padding-top:0;justify-content:flex-end;padding-inline:0}.ui-sheet .rm-form .ui-card-section{padding-inline:0}.ui-sheet .rm-foot{margin-inline:calc(-1 * var(--sp-8))}}.st-search{flex:16rem}.st-check{width:2.5rem}.st-check input{width:16px;height:16px;accent-color:var(--primary);vertical-align:middle}.st-guardian{line-height:var(--lh-snug);flex-direction:column;display:flex}.st-actions{text-align:right;white-space:nowrap}.st-enrol-fields{gap:var(--sp-5);grid-template-columns:1fr 1fr;display:grid}.st-form{gap:var(--sp-6);padding-top:var(--sp-5);flex-direction:column;display:flex}.st-grid{gap:var(--sp-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.st-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=640px){.st-grid,.st-grid-3,.st-enrol-fields{grid-template-columns:1fr}.st-table .st-gender,.st-table thead th:nth-child(3){display:none}}.rc-desk{padding:var(--sp-10) var(--sp-7);border-radius:var(--r-xl);background:var(--surface-2);border:1px solid var(--border);overflow-x:auto}.rc-desk .rc{max-width:860px;box-shadow:var(--shadow-dialog);font-variant-numeric:tabular-nums;margin:0 auto}@media (width<=640px){.rc-desk{padding:var(--sp-5) var(--sp-3)}}@media print{.rc-page .ui-page-header,.rc-page .rc-summary{display:none}.rc-desk{background:0 0;border:0;padding:0}.rc-desk .rc{box-shadow:none}}.set-layout{gap:var(--sp-9);grid-template-columns:220px minmax(0,1fr);align-items:start;display:grid}.set-nav{top:calc(var(--header-h) + var(--sp-5));position:sticky}.set-tabs{gap:var(--sp-6);flex-direction:column;display:flex}.set-group{flex-direction:column;gap:2px;display:flex}.set-group-title{padding:0 var(--sp-4) var(--sp-2)}.set-tab{align-items:center;gap:var(--sp-4);min-height:40px;padding:0 var(--sp-4);border-radius:var(--r-md);font:inherit;font-size:var(--fs-md);color:var(--text-muted);text-align:left;cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast);background:0 0;border:0;display:flex}.set-tab:hover{background:var(--surface-2);color:var(--text)}.set-tab.is-on{background:var(--option-sel-bg);color:var(--primary-ink);font-weight:var(--fw-semibold)}.set-tab:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.set-tab-label{flex:1}.set-tab-count{border-radius:var(--r-pill);background:var(--danger-bg);min-width:20px;height:20px;color:var(--danger-fg);font-size:var(--fs-xs);font-weight:var(--fw-bold);place-items:center;padding:0 6px;display:inline-grid}.set-main{gap:var(--sp-7);align-items:start;min-width:0;display:grid}.set-panel{min-width:0}.set-fields{gap:var(--sp-6);flex-direction:column;display:flex}.set-two{gap:var(--sp-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.set-narrow{max-width:8rem}.set-sub{margin-bottom:var(--sp-2)}.set-sub-row{justify-content:space-between;align-items:flex-start;gap:var(--sp-5);display:flex}.set-help{font-size:var(--fs-sm);color:var(--text-muted)}.set-switches{gap:var(--sp-2) var(--sp-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.set-rgroups{gap:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.set-rgroup{gap:var(--sp-5);padding:var(--sp-6);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);flex-direction:column;display:flex}.set-rgroup-head{align-items:flex-end;gap:var(--sp-3);display:flex}.set-rgroup-head .ui-field{flex:1}.set-table .set-col-n,.set-table .set-col-grade{width:7rem}.set-table .set-col-x{text-align:right;width:3rem}.set-table tfoot>tr>*{background:var(--surface);font-weight:var(--fw-medium)}.set-total{white-space:nowrap}.set-total>*{vertical-align:middle}.set-total .ui-icon{margin-right:var(--sp-2)}.set-total.is-right{color:var(--success-fg)}.set-total.is-wrong{color:var(--danger-fg)}.set-colours{gap:var(--sp-7);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.set-colour{align-items:center;gap:var(--sp-3);display:flex}.set-swatch{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--input-bg);cursor:pointer;flex:none;width:38px;height:38px;padding:2px}.set-swatch::-webkit-color-swatch-wrapper{padding:0}.set-swatch::-webkit-color-swatch{border-radius:var(--r-sm);border:0}.set-swatch::-moz-color-swatch{border-radius:var(--r-sm);border:0}.set-hex{font-family:var(--font-mono);text-transform:lowercase;max-width:9rem}.set-sample{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.set-sample-band{align-items:center;gap:var(--sp-4);height:48px;padding:0 var(--sp-6);display:flex}.set-sample-crest{border-radius:var(--r-md);width:28px;height:28px;font-size:var(--fs-xs);font-weight:var(--fw-bold);place-items:center;display:grid}.set-sample-name{font-weight:var(--fw-bold)}.set-sample-body{align-items:center;gap:var(--sp-6);padding:var(--sp-6);background:var(--bg);display:flex}.set-sample-button{height:32px;padding:0 var(--sp-6);border-radius:var(--r-md);font-size:var(--fs-md);font-weight:var(--fw-semibold);align-items:center;display:inline-flex}.set-sample-link{font-size:var(--fs-md);text-decoration:underline}.set-contrast{margin-top:var(--sp-5)}.set-preview .ui-card-header{padding-block:var(--sp-5)}.set-preview-state{align-items:center;gap:var(--sp-2);display:inline-flex}.set-preview-note{margin:var(--sp-5) var(--sp-6) 0}.set-preview-well{padding:var(--sp-5);background:var(--surface-2);overflow:auto}.set-preview-frame{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:var(--r-xs);background:var(--paper);width:100%;height:72vh;min-height:32rem;box-shadow:var(--shadow-card);border:0;display:block}.set-preview-well.is-full .set-preview-frame{width:794px;max-width:none}.set-preview-fit{aspect-ratio:210/297;border-radius:var(--r-xs);box-shadow:var(--shadow-card);background:var(--paper);position:relative;overflow:hidden}.set-preview-fit .set-preview-frame{width:794px;max-width:none;min-height:0;box-shadow:none;transform-origin:0 0;position:absolute;inset:0 auto auto 0}@media (width>=1180px){.set-main.has-preview{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.set-main.has-preview .set-preview{top:calc(var(--header-h) + var(--sp-5));position:sticky}.set-main.has-preview .set-preview-well.is-full .set-preview-frame{height:calc(100dvh - var(--header-h) - 200px)}.set-main.has-preview .set-preview-fit{max-height:calc(100dvh - var(--header-h) - 200px)}.page:has(.set-main.has-preview){--page-max:1440px;max-width:var(--page-max)}}@media (width<=820px){.set-layout{gap:var(--sp-6);grid-template-columns:minmax(0,1fr)}.set-nav{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);position:static;overflow-x:auto}.set-tabs{gap:var(--sp-2);flex-direction:row;width:max-content}.set-group{gap:var(--sp-2);flex-direction:row}.set-group-title{display:none}.set-tab{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);white-space:nowrap;min-height:36px}.set-tab.is-on{border-color:var(--primary-line)}}@media (width<=640px){.set-two,.set-switches,.set-colours{grid-template-columns:minmax(0,1fr)}}.mc-muted{color:var(--text-muted);font-size:var(--fs-sm)}.imp{gap:var(--sp-6);padding-top:var(--sp-4);flex-direction:column;display:flex}.imp-format{gap:var(--sp-5);padding:var(--sp-5) var(--sp-6);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);display:flex}.imp-format-icon{color:var(--primary-ink);flex:none;margin-top:2px}.imp-format>div{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.imp-format-title{font-weight:var(--fw-semibold);margin:0}.imp-format .muted{font-size:var(--fs-sm);margin:0}.imp-template{margin:var(--sp-2) 0 0;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);font:var(--fs-xs)/1.6 var(--font-mono);color:var(--text-muted);-webkit-user-select:all;user-select:all;overflow-x:auto}.imp-source{gap:var(--sp-5);grid-template-columns:minmax(0,15rem) minmax(0,1fr);align-items:stretch;display:grid}.imp-drop{justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-6);text-align:center;border:1.5px dashed var(--primary-line);border-radius:var(--r-lg);background:var(--primary-tint);color:var(--primary-ink);font-size:var(--fs-sm);cursor:pointer;transition:background var(--dur-fast), border-color var(--dur-fast);flex-direction:column;display:flex;position:relative}.imp-drop:hover{border-color:var(--primary)}.imp-drop:focus-within{outline:2px solid var(--primary);outline-offset:2px}.imp-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.imp-drop span{color:var(--text-muted)}.imp-drop strong{color:var(--primary-ink)}.imp-paste{font-family:var(--font-mono);font-size:var(--fs-sm)}.imp-enrol{gap:var(--sp-5);grid-template-columns:1fr 1fr;display:grid}.imp-preview{gap:var(--sp-3);flex-direction:column;display:flex}.imp-preview-head{align-items:baseline;gap:var(--sp-4);display:flex}.imp-preview-head h3{margin:0}.imp-table td,.imp-table th{white-space:nowrap}.imp-table tr.is-bad>td{background:var(--danger-bg)}.imp-table td.imp-cell-bad{box-shadow:inset 0 -2px 0 var(--danger);color:var(--danger-fg);font-weight:var(--fw-semibold)}.imp-line{color:var(--text-subtle)}.imp-why td{background:var(--danger-bg);color:var(--danger-fg);font-size:var(--fs-sm);white-space:normal;padding-top:0}.imp-why span{display:block}@media (width<=720px){.imp-source,.imp-enrol{grid-template-columns:1fr}.imp-format{flex-direction:column}}.set-annual{justify-content:space-between;align-items:center;gap:var(--sp-4) var(--sp-8);flex-wrap:wrap;display:flex}.set-annual>div{flex:22rem;min-width:0}.set-annual .set-help{margin:0}.bs-view{align-self:flex-start}.an-cell{vertical-align:top}.an-avg{font-weight:var(--fw-bold);white-space:nowrap;display:block}.an-terms{font-size:var(--fs-2xs);color:var(--text-subtle);white-space:nowrap;letter-spacing:.01em;margin-top:1px;display:block}.an-termavg{color:var(--text-muted)}.an-part{color:var(--gold-ink);font-weight:var(--fw-bold)}.an-legend{align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--text-muted);flex-wrap:wrap;margin:0;display:flex}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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{--brand:#1f6b4f;--brand-2:#123d2e;--on-brand:#fff;--on-brand-2:#fff;--brand-ink-light:#1f6b4f;--brand-ink-dark:#7fd3ad;--brand-deep:#123e2e;--gold:#e3b341;--gold-hover:#cf9f2c;--on-gold:#231a00;--gold-ink:#8a6510;--gold-tint:#fcf4dc;--primary:var(--brand);--primary-hover:color-mix(in srgb, var(--brand) 86%, #000);--primary-active:color-mix(in srgb, var(--brand) 74%, #000);--primary-fg:var(--on-brand);--primary-ink:var(--brand-ink-light);--primary-tint:color-mix(in srgb, var(--brand) 9%, #fff);--primary-tint-2:color-mix(in srgb, var(--brand) 16%, #fff);--primary-line:color-mix(in srgb, var(--brand) 38%, #fff);--ring:color-mix(in srgb, var(--brand) 24%, transparent);--bg:#f3f6f4;--surface:#fff;--surface-2:#eef2ef;--surface-3:#e4eae6;--border:#dfe6e2;--border-strong:#c3cec8;--text:#16201b;--text-muted:#4f5c55;--text-subtle:#626e67;--input-bg:#fff;--paper:#fff;--scrim:#0a16107a;--option-bg:var(--surface);--option-hover:#f6f9f7;--option-sel-bg:var(--primary-tint);--option-sel-bd:var(--primary);--success:#15803d;--success-bg:#e7f5ec;--success-bd:#a6d9b8;--success-fg:#14532d;--danger:#c62828;--danger-bg:#fdecec;--danger-bd:#f3b4b4;--danger-fg:#8f1d1d;--warning:#b7791f;--warning-bg:#fff5dc;--warning-bd:#f1d38c;--warning-fg:#6f4b00;--info:#2563a8;--info-bg:#eaf2fb;--info-bd:#aac8ea;--info-fg:#1d4a80;--neutral:#626e67;--neutral-bg:var(--surface-2);--neutral-bd:var(--border-strong);--neutral-fg:var(--text-muted);--on-danger:#fff;--correct-bg:var(--success-bg);--correct-bd:var(--success-bd);--correct-fg:var(--success-fg);--wrong-bg:var(--danger-bg);--wrong-bd:var(--danger-bd);--wrong-fg:var(--danger-fg);--expl-bg:var(--info-bg);--expl-bd:var(--info);--header-bg:var(--brand-deep);--header-fg:#e8f1ec;--header-fg-muted:#e8f1ecc2;--header-hover:#ffffff1a;--header-line:#ffffff2e;--exam-bar:var(--brand-deep);--header-h:56px;--sections-h:44px;--font-ui:"Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-paper:Georgia, "Times New Roman", serif;--fs-2xs:.6875rem;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-md:.875rem;--fs-base:.9375rem;--fs-lg:1.0625rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:2rem;--fs-4xl:3rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-title:650;--fw-bold:700;--fw-heavy:800;--lh-tight:1.2;--lh-snug:1.35;--lh-base:1.55;--lh-loose:1.7;--tracking-label:.07em;--tracking-title:-.015em;--sp-1:4px;--sp-2:6px;--sp-3:8px;--sp-4:10px;--sp-5:12px;--sp-6:14px;--sp-7:16px;--sp-8:20px;--sp-9:24px;--sp-10:28px;--sp-11:32px;--sp-12:48px;--pad-card:20px;--pad-row-y:12px;--pad-row-x:16px;--gutter:16px;--page-max:1240px;--page-narrow:880px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:12px;--r-2xl:14px;--r-sheet:16px;--r-pill:999px;--shadow-xs:0 1px 2px #1020180f;--shadow-card:0 1px 3px #1020180f, 0 4px 14px #1020180a;--shadow-menu:0 12px 32px #0a18122e;--shadow-panel:-14px 0 44px #0a181233;--shadow-float:0 14px 40px #0a181233;--shadow-dialog:0 20px 60px #0a181252;--shadow-bar-up:0 -6px 20px #0a18120f;--dur-fast:.12s;--dur:.16s;--dur-slow:.22s;--ease:cubic-bezier(.2, .7, .2, 1);--z-sticky:900;--z-drawer:1200;--z-header:1300;--z-over:1500;--z-toast:1800;--z-ask:2000;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (width>=1024px){:root{--gutter:24px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--primary:color-mix(in srgb, var(--brand) 88%, #fff);--primary-hover:color-mix(in srgb, var(--brand) 78%, #fff);--primary-active:color-mix(in srgb, var(--brand) 94%, #fff);--primary-ink:var(--brand-ink-dark);--primary-tint:color-mix(in srgb, var(--brand) 22%, #121815);--primary-tint-2:color-mix(in srgb, var(--brand) 32%, #121815);--primary-line:color-mix(in srgb, var(--brand) 55%, #121815);--ring:color-mix(in srgb, var(--brand) 50%, transparent);--gold-ink:#f0c75e;--gold-tint:#2c2410;--bg:#0e1311;--surface:#151b18;--surface-2:#1b2320;--surface-3:#232d29;--border:#28332e;--border-strong:#3a4741;--text:#e6ece9;--text-muted:#a8b5af;--text-subtle:#8a9690;--input-bg:#111714;--scrim:#0000009e;--option-hover:#1a221e;--success:#5fd08e;--success-bg:#10291b;--success-bd:#2a6a45;--success-fg:#a8ecc3;--danger:#ff8a80;--danger-bg:#33130f;--danger-bd:#7a2f28;--danger-fg:#ffc2bc;--warning:#f0c75e;--warning-bg:#2d2511;--warning-bd:#6b5520;--warning-fg:#f6dc9a;--info:#8fb8ff;--info-bg:#12223a;--info-bd:#2f4f7d;--info-fg:#c6dafc;--neutral:#8a9690;--on-danger:#2a0b08;--header-bg:color-mix(in srgb, var(--brand-deep) 62%, #050a08);--exam-bar:color-mix(in srgb, var(--brand-deep) 62%, #050a08);--shadow-xs:0 1px 2px #0006;--shadow-card:0 1px 2px #0006;--shadow-menu:0 12px 32px #0000008c;--shadow-panel:-14px 0 44px #0009;--shadow-float:0 14px 40px #0000008c;--shadow-dialog:0 20px 60px #000000a6;--shadow-bar-up:0 -6px 20px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--primary:color-mix(in srgb, var(--brand) 88%, #fff);--primary-hover:color-mix(in srgb, var(--brand) 78%, #fff);--primary-active:color-mix(in srgb, var(--brand) 94%, #fff);--primary-ink:var(--brand-ink-dark);--primary-tint:color-mix(in srgb, var(--brand) 22%, #121815);--primary-tint-2:color-mix(in srgb, var(--brand) 32%, #121815);--primary-line:color-mix(in srgb, var(--brand) 55%, #121815);--ring:color-mix(in srgb, var(--brand) 50%, transparent);--gold-ink:#f0c75e;--gold-tint:#2c2410;--bg:#0e1311;--surface:#151b18;--surface-2:#1b2320;--surface-3:#232d29;--border:#28332e;--border-strong:#3a4741;--text:#e6ece9;--text-muted:#a8b5af;--text-subtle:#8a9690;--input-bg:#111714;--scrim:#0000009e;--option-hover:#1a221e;--success:#5fd08e;--success-bg:#10291b;--success-bd:#2a6a45;--success-fg:#a8ecc3;--danger:#ff8a80;--danger-bg:#33130f;--danger-bd:#7a2f28;--danger-fg:#ffc2bc;--warning:#f0c75e;--warning-bg:#2d2511;--warning-bd:#6b5520;--warning-fg:#f6dc9a;--info:#8fb8ff;--info-bg:#12223a;--info-bd:#2f4f7d;--info-fg:#c6dafc;--neutral:#8a9690;--on-danger:#2a0b08;--header-bg:color-mix(in srgb, var(--brand-deep) 62%, #050a08);--exam-bar:color-mix(in srgb, var(--brand-deep) 62%, #050a08);--shadow-xs:0 1px 2px #0006;--shadow-card:0 1px 2px #0006;--shadow-menu:0 12px 32px #0000008c;--shadow-panel:-14px 0 44px #0009;--shadow-float:0 14px 40px #0000008c;--shadow-dialog:0 20px 60px #000000a6;--shadow-bar-up:0 -6px 20px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--ink:var(--text);--soft:var(--text-muted);--rule:var(--border);--accent:var(--primary-ink);--focus:var(--primary);--right:var(--success);--right-bg:var(--success-bg);--wrong:var(--danger);--warn-bg:var(--warning-bg);--radius:var(--r-xl)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:16px}body{background:var(--bg);color:var(--text);font:var(--fw-regular) var(--fs-base) / var(--lh-base) var(--font-ui);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4{color:var(--text);margin:0}h1{font-size:var(--fs-2xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--tracking-title)}h2{font-size:var(--fs-xl);font-weight:var(--fw-title);line-height:var(--lh-tight);letter-spacing:var(--tracking-title)}h3{font-size:var(--fs-lg);font-weight:var(--fw-title);line-height:var(--lh-snug)}h4{font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-snug)}p{margin:0}a{color:var(--primary-ink);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit;color:inherit}img,svg,video{max-width:100%}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-xs)}::selection{background:var(--primary-tint-2)}hr{border:0;border-top:1px solid var(--border);margin:var(--sp-7) 0}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.92em}.num,td.num,th.num{font-variant-numeric:tabular-nums;white-space:nowrap}td.num,th.num{text-align:right}.tabular{font-variant-numeric:tabular-nums}.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}.skip{left:var(--sp-5);z-index:var(--z-ask);padding:var(--sp-3) var(--sp-6);border-radius:var(--r-md);background:var(--surface);color:var(--text);box-shadow:var(--shadow-menu);font-weight:var(--fw-semibold);position:fixed;top:-100px}.skip:focus{top:calc(env(safe-area-inset-top,0px) + var(--sp-3))}.muted{color:var(--text-muted)}.subtle{color:var(--text-subtle)}.small{font-size:var(--fs-sm)}.micro-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-subtle);line-height:var(--lh-snug)}@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:max(16px,1rem)!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}}.eyebrow{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-subtle);margin:0}.page{max-width:var(--page-max);padding:var(--sp-9) var(--gutter) var(--sp-12);margin:0 auto}.button{justify-content:center;align-items:center;gap:var(--sp-2);min-height:38px;padding:0 var(--sp-6);border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--dur-fast), border-color var(--dur-fast), box-shadow var(--dur-fast);line-height:1.2;text-decoration:none;display:inline-flex}.button:hover{background:var(--surface-2)}.button:focus-visible{box-shadow:0 0 0 3px var(--ring);border-color:var(--primary);outline:none}.button:disabled{opacity:.45;cursor:not-allowed}.button-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg);font-weight:var(--fw-semibold)}.button-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.button-quiet{color:var(--text-muted);padding:0 var(--sp-4);background:0 0;border-color:#0000}.button-quiet:hover{color:var(--text);background:var(--surface-2)}.button-wide{width:100%}@media (pointer:coarse){.button{min-height:44px}}.field{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}:where(.field label,legend){font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text)}:where(input[type=number],input:not([type]),input[type=text],input[type=date],input[type=datetime-local],input[type=search],input[type=email],input[type=tel],select,textarea){min-height:38px;padding:var(--sp-3) var(--sp-5);border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--input-bg);color:var(--text);font:inherit;font-size:var(--fs-base);width:100%;transition:border-color var(--dur-fast), box-shadow var(--dur-fast)}:where(input,select,textarea):focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);border-radius:var(--r-md);outline:none}@media (pointer:coarse){:where(input[type=number],input:not([type]),input[type=text],input[type=date],input[type=datetime-local],input[type=search],input[type=email],input[type=tel],select){min-height:44px}}.field-error{color:var(--danger);font-size:var(--fs-sm);margin:0}fieldset{border:0;min-width:0;margin:0;padding:0}.stack{flex-direction:column;gap:1rem;display:flex}.row{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.row>.field{flex:10rem}.row-between{justify-content:space-between;align-items:center}.note{padding:var(--sp-5) var(--sp-6);border-radius:var(--r-lg);background:var(--warning-bg);border:1px solid var(--warning-bd);color:var(--warning-fg);font-size:var(--fs-md);margin:0}.note-error{background:var(--danger-bg);border-color:var(--danger-bd);color:var(--danger-fg)}.empty{text-align:center;padding:var(--sp-12) var(--sp-9)}.badge{height:22px;padding:0 var(--sp-3);border-radius:var(--r-pill);background:var(--neutral-bg);color:var(--neutral-fg);font-size:var(--fs-xs);font-weight:var(--fw-semibold);align-items:center;display:inline-flex}.tiles{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));margin:0;padding:0;list-style:none;display:grid}.tile{height:100%;padding:var(--sp-8);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-xs);color:var(--text);transition:border-color var(--dur), box-shadow var(--dur);text-decoration:none;display:block}a.tile:hover{border-color:var(--primary-line);box-shadow:var(--shadow-card)}.tile h2{margin:0 0 var(--sp-1);font-size:var(--fs-lg);color:var(--text)}.tile p{color:var(--text-muted);font-size:var(--fs-md);margin:0}.tile-row{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.card-list ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.modes{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;display:grid}.modes legend{margin-bottom:.5rem}.mode{border:2px solid var(--rule);border-radius:var(--radius);background:var(--surface);cursor:pointer;gap:.2rem;padding:1rem;display:grid}.mode input{opacity:0;position:absolute}.mode.is-on{border-color:var(--brand)}.mode:focus-within{outline:3px solid var(--focus);outline-offset:2px}.mode span{color:var(--soft);font-size:.9rem}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chips legend{width:100%;margin-bottom:.4rem}.chip{border:1px solid var(--rule);background:var(--surface);cursor:pointer;border-radius:99px;align-items:center;min-height:40px;padding:.3rem .8rem;display:inline-flex}.chip input{opacity:0;position:absolute}.chip.is-on{background:var(--primary-tint);border-color:var(--primary);color:var(--primary-ink);font-weight:var(--fw-semibold)}.chip:focus-within{outline:3px solid var(--focus);outline-offset:2px}.player{flex-direction:column;gap:.75rem;display:flex}.player-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.player-title{font-size:1.25rem}.countdown{font-variant-numeric:tabular-nums;background:var(--surface-2);border-radius:10px;padding:.25rem .75rem;font-size:1.4rem;font-weight:700}.countdown.is-low{background:var(--wrong-bg);color:var(--wrong)}progress{width:100%;height:.5rem;accent-color:var(--brand)}.question{background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:1rem;padding:1rem;display:flex}.stem{margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.options{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.option{border:2px solid var(--rule);cursor:pointer;border-radius:10px;align-items:center;gap:.75rem;min-height:48px;padding:.5rem .75rem;display:flex}.option input{opacity:0;position:absolute}.option.is-on{border-color:var(--option-sel-bd);background:var(--option-sel-bg)}.option:focus-within{outline:3px solid var(--focus);outline-offset:2px}.letter{background:var(--surface-2);border-radius:50%;flex:none;place-items:center;width:2rem;height:2rem;font-weight:700;display:inline-grid}.option.is-on .letter{background:var(--primary);color:var(--primary-fg)}.reveal{border-radius:var(--radius);border-left:5px solid var(--wrong);background:var(--wrong-bg);padding:1rem}.reveal.is-right{border-color:var(--right);background:var(--right-bg)}.reveal h3{color:var(--wrong)}.reveal.is-right h3{color:var(--right)}.reveal p{margin:.25rem 0}.player-nav{flex-wrap:wrap;gap:.5rem;display:flex}.player-nav .button-primary{margin-left:auto}.score{background:var(--surface);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:1.5rem;padding:1rem;display:flex}.score-ring{--pct:0;background:conic-gradient(var(--brand) calc(var(--pct) * 1%), var(--surface-2) 0);border-radius:50%;flex:none;place-items:center;width:8rem;height:8rem;display:grid}.score-ring strong{background:var(--surface);border-radius:50%;place-items:center;width:6.2rem;height:6.2rem;font-size:1.6rem;display:grid}.score-facts{grid-template-columns:repeat(2,minmax(6rem,1fr));gap:.5rem 1.5rem;margin:0;display:grid}.score-facts dt{color:var(--soft);font-size:.85rem}.score-facts dd{margin:0;font-size:1.1rem;font-weight:700}.bars{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.bars li{grid-template-columns:minmax(6rem,12rem) 1fr auto;align-items:center;gap:.75rem;display:grid}.bar{background:var(--surface-2);border-radius:99px;height:.75rem;overflow:hidden}.bar span{background:var(--brand);height:100%;display:block}.bar-value{font-variant-numeric:tabular-nums;color:var(--soft);font-size:.9rem}@media (width<=480px){.bars li{grid-template-columns:1fr auto}.bar{grid-area:2/1/auto/-1}}.missed{gap:1rem;padding-left:1.25rem;display:grid}.mathtext>p{margin:0 0 .5rem}.mathtext>p:last-child{margin-bottom:0}.mathtext .katex{font-size:1.08em}.mathtext .katex-display{margin:.5rem 0;padding:.25rem 0;overflow:auto hidden}.mathtext code{background:var(--surface-2);border-radius:4px;padding:0 .25rem}.qimage{margin:0 0 .75rem}.qimage img{object-fit:contain;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:24rem;display:block}.qimage img[data-sized]{max-height:none}.qimage img.is-loaded{background:var(--paper)}.lead{max-width:40rem;font-size:1.1rem}.landing .hero{flex-direction:column;align-items:flex-start;gap:.75rem;margin:1rem 0 1.5rem;display:flex}.landing .tile{height:auto}.chart{background:var(--surface);border-radius:var(--radius);margin:0;padding:1rem}.chart-plot{position:relative}.chart svg{width:100%;height:auto;display:block}.chart-grid{stroke:var(--rule);stroke-width:1px}.chart-tick{fill:var(--soft);font-size:12px}.chart-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.chart-hit{fill:#0000}.chart-tip{pointer-events:none;white-space:nowrap;background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:.3rem .6rem;font-size:.85rem;position:absolute;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 2px 8px #0000001f}.chart figcaption{margin:.5rem 0}.table-scroll{overflow-x:auto}.plain-table{border-collapse:collapse;width:100%;font-size:.9rem}.plain-table th,.plain-table td{text-align:left;border-bottom:1px solid var(--rule);padding:.3rem .5rem}.weak-group{background:var(--surface);border-radius:var(--radius);gap:.75rem;margin-bottom:.75rem;padding:1rem;display:grid}.weak-group h3{margin:0}.weak-group .button{justify-self:start}.history,.pack-list,.link-list,.chips-list{margin:0;padding:0;list-style:none}.history,.pack-list{gap:.5rem;display:grid}.history-row{background:var(--surface);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.75rem 1rem;display:flex}.link-list{gap:.25rem;display:grid}.link-list a{padding:.3rem 0;display:inline-block}.chips-list{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}.chips-list .chip{color:var(--ink);text-decoration:none}.exam-years{margin-bottom:1rem}.exam-years h3{margin:0}.pack{background:var(--surface);border-radius:var(--radius);gap:.5rem;padding:1rem;display:grid}.pack h2,.pack p{margin:0}.pack .button{justify-self:start}.rc{--card-school:#1f6b4f;--card-gold:#a8841a;--card-ink:#1b2620;--card-soft:#5c6a62;--card-rule:#cfd8d2;--card-tint:#eef4f0;color:var(--card-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff;border-radius:6px;padding:1.25rem;font-size:.9rem;position:relative;overflow:hidden;box-shadow:0 1px 4px #00000026}.rc-preview{text-align:center;color:#b41e1e29;pointer-events:none;font:700 2.5rem Arial,sans-serif;position:absolute;top:40%;left:0;right:0;transform:rotate(-30deg)}.rc-head{border-bottom:3px solid var(--card-school);align-items:center;gap:.75rem;padding-bottom:.5rem;display:flex}.rc-crest{background:var(--card-school);color:#fff;border-radius:10px;flex:none;place-items:center;width:58px;height:58px;font:700 1.25rem Georgia,serif;display:grid}.rc-school{color:var(--card-school);margin:0;font:700 1.35rem Georgia,serif}.rc-motto{color:var(--card-gold);margin:0;font-style:italic}.rc-contact{color:var(--card-soft);margin:0;font-size:.8rem}.rc-title{background:var(--card-tint);flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin:.6rem 0;padding:.35rem .6rem;font-weight:700;display:flex}.rc-student{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.3rem .75rem;margin:0 0 .6rem;display:grid}.rc-student dt{letter-spacing:.05em;text-transform:uppercase;color:var(--card-soft);font-size:.7rem}.rc-student dd{margin:0;font-weight:700}.rc-scroll{overflow-x:auto}.rc table{border-collapse:collapse;width:100%}.rc th,.rc td{border:1px solid var(--card-rule);text-align:right;padding:.2rem .4rem}.rc tbody th,.rc th:first-child{text-align:left;font-weight:400}.rc thead th{background:var(--card-tint);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:700}.rc thead th small{text-transform:none;font-weight:400;display:block}.rc-marks{min-width:36rem}.rc-marks td{white-space:nowrap}.rc-strong{font-weight:700}.rc-legend{color:var(--card-soft);margin:.3rem 0 .6rem;font-size:.78rem}.rc-summary{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.4rem;margin-bottom:.6rem;display:grid}.rc-stat{border:1px solid var(--card-rule);border-radius:6px;padding:.3rem .5rem}.rc-stat span{color:var(--card-soft);font-size:.7rem;display:block}.rc-stat strong{font-size:1.1rem}.rc-key{border-color:var(--card-school);background:var(--card-tint)}.rc-annual-head{border-bottom:2px solid var(--card-gold);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;margin:.15rem 0 .3rem;padding-bottom:.15rem;display:flex}.rc-annual-head h3{color:var(--card-school);margin:0;font:700 1rem Georgia,serif}.rc-annual-head span{color:var(--card-soft);font-size:.8rem}.rc .rc-part:after{content:"*";color:var(--card-gold);font-weight:700}.rc-ratings{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));align-items:start;gap:.6rem;display:grid}.rc-remarks{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.6rem;display:grid}.rc-box{border:1px solid var(--card-rule);border-radius:6px;padding:.4rem .6rem}.rc-box h3{margin:0 0 .2rem;font:700 .95rem Georgia,serif}.rc-box p{margin:0 0 .2rem}.rc-who{color:var(--card-soft);font-size:.8rem}.rc-signoff{margin-top:1rem}.rc-line{border-top:1px solid var(--card-soft);min-width:12rem;padding-top:.15rem;display:inline-block}.rc-footer{border-top:1px solid var(--card-rule);color:var(--card-soft);flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:.75rem;padding-top:.35rem;font-size:.75rem;display:flex}.note-ok{background:var(--success-bg);border-color:var(--success-bd);color:var(--success-fg)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--pad-card);box-shadow:var(--shadow-xs)}.panel h2,.panel h3{margin-top:0}.picker{align-items:flex-end}.picker>.field{flex:0 14rem}.links{flex-wrap:wrap;gap:.25rem 1rem;margin:.25rem 0;padding:0;list-style:none;display:flex}.links a{align-items:center;min-height:44px;display:inline-flex}.arm-list{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}details summary{cursor:pointer;color:var(--accent);padding:.4rem 0}.status{height:22px;padding:0 var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);background:var(--neutral-bg);color:var(--neutral-fg);white-space:nowrap;align-items:center;display:inline-flex}.status-submitted{background:var(--warning-bg);color:var(--warning-fg)}.status-approved{background:var(--info-bg);color:var(--info-fg)}.status-released{background:var(--success-bg);color:var(--success-fg)}.table-scroll{-webkit-overflow-scrolling:touch;max-width:100%;position:relative;overflow-x:auto}table.grid{border-collapse:separate;border-spacing:0;background:var(--surface);width:100%;font-size:var(--fs-md);border:1px solid var(--border);border-radius:var(--r-xl)}.grid th,.grid td{border-bottom:1px solid var(--border);padding:var(--sp-2) var(--sp-4);text-align:left;vertical-align:top}.grid tbody tr:last-child>*{border-bottom:0}.grid thead th{background:var(--surface-2);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-subtle);white-space:nowrap}.grid thead th:first-child{border-top-left-radius:var(--r-xl)}.grid thead th:last-child{border-top-right-radius:var(--r-xl)}.grid th small,.grid td small{color:var(--soft);font-size:.75rem;font-weight:400;display:block}.grid tbody th,.grid thead th:first-child{background:var(--surface);z-index:1;min-width:9rem;font-weight:var(--fw-medium);box-shadow:1px 0 0 var(--border);position:sticky;left:0}.grid thead th:first-child{background:var(--surface-2)}.grid td input{min-width:4.5rem;min-height:32px;padding:0 var(--sp-3);text-align:right;font-variant-numeric:tabular-nums;border-radius:var(--r-sm);background:0 0;border-color:#0000}.grid td input:hover{border-color:var(--border-strong)}.grid td input:focus-visible{background:var(--input-bg)}.grid td input[type=text]:not([inputmode]){text-align:left;min-width:8rem}.grid td input[readonly]{color:var(--text-muted)}.grid td input[readonly]:hover{border-color:#0000}.grid td.is-changed input{background:var(--primary-tint);box-shadow:inset 2px 0 0 var(--primary)}.grid td.is-bad input{border-color:var(--danger);background:var(--danger-bg)}.cell-error{color:var(--wrong);max-width:8rem;font-size:.75rem;display:block}.grid .num,.grid .total{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.grid .total{vertical-align:middle;font-weight:700}.broadsheet td{vertical-align:middle}.is-bad-text{color:var(--wrong);font-weight:700}.savebar{bottom:env(safe-area-inset-bottom,0px);z-index:2;padding:var(--sp-4) var(--sp-7);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-float);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex;position:sticky}.steps{align-items:center}.confirm .row{margin-top:.5rem}.markall{align-items:center;gap:.5rem}.register,.remarks,.student-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.register li{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:.5rem .75rem}.register fieldset{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem 1rem;display:flex}.register legend{float:left;padding:0;font-weight:600}.register .chips{gap:.35rem}.chip-absent.is-on{background:var(--danger-bg);border-color:var(--danger-bd);color:var(--danger-fg)}.chip-late.is-on{background:var(--warning-bg);border-color:var(--warning-bd);color:var(--warning-fg)}.chip-excused.is-on{background:var(--info-bg);border-color:var(--info-bd);color:var(--info-fg)}.chip:has(input:disabled){cursor:default;opacity:.7}.remarks h2{font-size:1.05rem}.ratings legend{margin-bottom:.4rem}.ratings-grid{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.5rem .75rem;display:grid}:where(textarea){resize:vertical;min-height:88px;line-height:var(--lh-base)}.tabs{gap:var(--sp-1);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.tab{min-height:40px;padding:0 var(--sp-5);color:var(--text-muted);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-medium);cursor:pointer;background:0 0;border:0}.tab:hover{color:var(--text)}.tab.is-on{color:var(--text);font-weight:var(--fw-semibold);box-shadow:inset 0 -2px 0 var(--primary)}.badge-bad{background:var(--wrong-bg);color:var(--wrong);margin:0 0 0 .35rem}.settings-split{grid-template-columns:minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.settings-split>*,.stack>*{min-width:0}@media (width>=1100px){.page:has(.settings-split){max-width:82rem}.settings-split{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.settings-split .preview{position:sticky;top:5rem}}.preview h2{margin:0}.preview-frame{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border:1px solid var(--rule);background:var(--paper);border-radius:6px;width:100%;height:75vh;min-height:32rem}.check{cursor:pointer;align-items:flex-start;gap:.6rem;min-height:44px;padding:.3rem 0;display:flex}.check input{width:1.25rem;height:1.25rem;accent-color:var(--brand);flex:none;margin-top:.15rem}.check small{display:block}.checks{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:0 1rem;display:grid}.checks legend{margin-bottom:.25rem}.colour{flex-wrap:nowrap;align-items:center;gap:.5rem}.colour input[type=color]{border:1px solid var(--rule);background:var(--surface);border-radius:10px;flex:none;width:3rem;height:44px;padding:2px}.field-wide{flex-basis:100%}.panel>legend{padding:0 .25rem;font-size:1.05rem}.list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.list .tile p{margin:.15rem 0 0}.facts{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem 1rem;margin:0;display:grid}.facts dt{color:var(--soft);font-size:.85rem}.facts dd{margin:0;font-weight:600}.chip-state{height:22px;padding:0 var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);background:var(--neutral-bg);color:var(--neutral-fg);white-space:nowrap;align-items:center;display:inline-flex}.chip-state.is-open,.chip-state.is-in_progress,.chip-state.is-go{background:var(--success-bg);color:var(--success-fg)}.chip-state.is-submitted,.chip-state.is-done{background:var(--neutral-bg);color:var(--text)}.chip-state.is-auto_submitted,.chip-state.is-locked{background:var(--danger-bg);color:var(--danger-fg)}.chip-state.is-scheduled,.chip-state.is-wait{background:var(--info-bg);color:var(--info-fg)}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;background:var(--surface);width:100%;font-size:var(--fs-md)}.table th,.table td{text-align:left;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);vertical-align:top}.table thead th{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-subtle);background:var(--surface-2)}.pin-cell,.hall-pin{letter-spacing:.08em;white-space:nowrap;font:700 1.1rem ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.hall-pin{margin:0;font-size:1.6rem}.field-grow{flex:3 16rem!important}.right{color:var(--right);font-weight:600}.wrong{color:var(--wrong);font-weight:600}.bank-picker{border-top:1px solid var(--rule);flex-direction:column;gap:.75rem;padding-top:1rem;display:flex}.bank-picker h3{margin:0}.bank-list,.paper{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.paper{counter-reset:q}.bank-item,.paper-item{border:1px solid var(--rule);background:var(--surface);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.6rem .75rem;display:flex}.paper-item{counter-increment:q}.paper-item .paper-text:before{content:counter(q) ". ";font-weight:700}.paper-text,.bank-item>div{flex:14rem;min-width:0}.bank-stem{overflow-wrap:anywhere;margin:0}.paper-tools{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.marks{align-items:center;gap:.4rem;display:flex}.marks input{width:5rem}.totals{flex-wrap:wrap;gap:.75rem;margin:0;display:flex}.totals div{background:var(--surface);border:1px solid var(--rule);border-radius:10px;min-width:8rem;padding:.5rem 1rem}.totals dt{color:var(--soft);font-size:.85rem}.totals dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.5rem;font-weight:700}.monitor{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.monitor-row{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--rule);border-radius:10px;grid-template-columns:minmax(10rem,1.2fr) minmax(9rem,1fr) minmax(0,1.5fr) 16rem;align-items:center;gap:.5rem 1rem;padding:.6rem .75rem;display:grid}.monitor-row.is-in_progress{border-left-color:var(--right)}.monitor-row.is-auto_submitted{border-left-color:var(--wrong)}.monitor-who{flex-direction:column;min-width:0;display:flex}.monitor-state{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.monitor-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.monitor-extra,.monitor-row>.timeline,.monitor-row>.note{grid-column:1/-1}.timeline{gap:.2rem;margin:0;padding-left:1.25rem;display:grid}@media (width<=720px){.monitor-row{grid-template-columns:1fr}.monitor-actions{justify-content:flex-start}}.marking{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.mark-item{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--rule);border-radius:10px;padding:.75rem 1rem}.mark-item.is-right{border-left-color:var(--right)}.mark-item.is-wrong{border-left-color:var(--wrong)}.mark-item p{margin:.25rem 0}.answer-text{white-space:pre-wrap;overflow-wrap:anywhere}.sit-start{max-width:40rem}.instructions{white-space:pre-wrap;margin:0}.pin-input{letter-spacing:.12em;text-transform:uppercase;font:700 1.3rem ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important}.exam{flex-direction:column;gap:.75rem;display:flex}.exam-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem 1rem;display:flex}.exam-tools{align-items:center;gap:.5rem;display:flex}.exam-body{grid-template-columns:minmax(0,1fr) 14rem;align-items:start;gap:1rem;display:grid}.exam-main{flex-direction:column;gap:.75rem;min-width:0;display:flex}.q-meta{margin-bottom:.25rem;font-weight:400;display:block}.navigator{top:calc(env(safe-area-inset-top,0px) + 5rem);background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:.75rem;padding:.75rem;display:flex;position:sticky}.navigator ol{grid-template-columns:repeat(auto-fill,minmax(2.75rem,1fr));gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.nav-q{border:2px solid var(--rule);background:var(--surface);width:100%;min-height:44px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:8px;font-weight:700}.nav-q.is-answered{background:var(--surface-2);border-color:var(--brand)}.nav-q.is-flagged{background:var(--gold-tint);border-color:var(--gold)}.nav-q[aria-current]{outline:3px solid var(--focus);outline-offset:1px}.button.is-flagged{background:var(--gold-tint);border-color:var(--gold);color:var(--gold-ink)}.submit-confirm{background:var(--surface);border:2px solid var(--brand);border-radius:var(--radius);padding:1rem}.submit-confirm h2{margin-top:0}:fullscreen body{background:var(--bg);overflow:auto}:fullscreen{background:var(--bg);overflow:auto}@media (width<=720px){.exam-body{grid-template-columns:1fr}.navigator{order:2;position:static}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}:where(.platform-area) :where(input[type=search],input[type=email],input[type=date],input[type=text]){border:1px solid var(--rule);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;border-radius:10px;width:100%;padding:.5rem .7rem}.subnav{border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:.25rem;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.subnav a{color:var(--ink);border-radius:8px;padding:.35rem .7rem;text-decoration:none}.subnav a.active{background:var(--surface-2);color:var(--accent);font-weight:600}.panel>h2:first-child{margin-top:0}details.panel>summary{cursor:pointer;min-height:32px;font-weight:600}details.panel[open]>summary{margin-bottom:.75rem}.platform-field-wide{flex:3 16rem!important}.search{max-width:22rem}.stats{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.75rem;margin:0 0 1.25rem;padding:0;list-style:none;display:grid}.stat{border-radius:var(--radius);background:var(--surface);border:1px solid var(--rule);gap:.1rem;padding:.9rem 1rem;display:grid}.stat-label{color:var(--soft);font-size:.85rem}.stat strong{font-size:1.6rem;line-height:1.2}.platform-table-wrap{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);overflow-x:auto}.data{border-collapse:collapse;width:100%;font-size:.95rem}.data th,.data td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:.55rem .75rem}.data thead th{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-subtle);background:var(--surface-2)}.data tbody th{font-weight:600}.data tbody tr:last-child>*{border-bottom:0}.nowrap{white-space:nowrap}.json{background:var(--surface-2);border-radius:8px;max-width:28rem;margin:.4rem 0 0;padding:.5rem;font-size:.8rem;overflow-x:auto}.pill{height:22px;padding:0 var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);background:var(--neutral-bg);color:var(--neutral-fg);align-items:center;margin:0;display:inline-flex}.pill-ok{background:var(--success-bg);color:var(--success-fg)}.pill-warn{background:var(--warning-bg);color:var(--warning-fg)}.pill-bad{background:var(--danger-bg);color:var(--danger-fg)}.plain-list{gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.platform-check{cursor:pointer;align-items:center;gap:.6rem;min-height:44px;display:flex}.platform-check input{width:1.25rem;height:1.25rem;accent-color:var(--brand)}.platform-facts{grid-template-columns:max-content 1fr;gap:.3rem 1rem;margin:0 0 1rem;display:grid}.platform-facts dt{color:var(--soft)}.platform-facts dd{margin:0}.tutor{flex-direction:column;gap:.75rem;display:flex}.bubbles{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.bubble{border-radius:var(--radius);background:var(--surface);overflow-wrap:anywhere;max-width:min(46rem,100%);padding:.75rem 1rem}.bubble-mine{background:var(--surface-2);align-self:flex-end}.bubble-tutor{border:1px solid var(--rule);align-self:flex-start}.bubble-plain{white-space:pre-wrap;margin:0}.rich>:first-child{margin-top:0}.rich>:last-child{margin-bottom:0}.rich pre{background:var(--surface-2);border-radius:8px;padding:.5rem;overflow-x:auto}.rich .mathtext-display,.tutor-maths .mathtext-display{padding:.25rem 0;overflow:auto hidden}.tutor-figure{margin:.75rem 0 0}.tutor-figure img{border:1px solid var(--rule);background:#fff;border-radius:8px;max-width:100%;height:auto;display:block}.tutor-maths{margin-top:.5rem}.tutor-steps{gap:.25rem;margin:.25rem 0 0;padding-left:1.25rem;display:grid}.tutor-card{border-radius:var(--radius);border:2px solid var(--brand);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;padding:.75rem 1rem;display:flex}.tutor-card p{margin:0}.tutor-written{display:block}.tutor-options{padding-left:1.5rem}.tutor-working{min-height:1.25rem}.composer{background:var(--bg,inherit);align-items:flex-end;gap:.5rem;padding:.5rem 0;display:flex;position:sticky;bottom:0}.composer textarea{resize:vertical;min-width:0;font:inherit;border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:10px;flex:1;padding:.6rem .75rem}.camera{align-items:center;gap:.5rem;max-width:18rem;display:inline-flex}.camera-preview{object-fit:cover;background:var(--surface-2);border-radius:8px;flex:none;width:72px;height:54px;transform:scaleX(-1)}.camera.is-off .camera-preview{opacity:.3}.camera.is-off{color:var(--wrong)}.consent-text{white-space:pre-line;margin:0}.monitor-camera{grid-column:1/-1}.chip-state.is-camera-on{background:var(--right-bg);color:var(--right)}.chip-state.is-camera-off,.chip-state.is-camera-silent{background:var(--wrong-bg);color:var(--wrong)}.chip-state.is-camera-waiting{background:var(--warn-bg);color:var(--ink)}.review{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.review-event{border-left:3px solid var(--surface-2);grid-column:1/-1;padding:.25rem .5rem}.review-photo{gap:.35rem;display:grid}.review-photo.is-flagged .review-img{outline:3px solid var(--wrong);outline-offset:2px}.review-img{background:var(--surface-2);border-radius:8px;width:100%;height:auto;display:block}
