@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/20aee433927f7d4b-s.22-vwy_zcz7be.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/256e1f7f180674ba-s.3_q_pmj-3v7pv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/be3bf58b83159894-s.0kupvvif_223v.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/753b6407f468151f-s.11jlrhjosin9v.woff2)format("woff2");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:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/292081311a6a8abc-s.3z1vcboutudqk.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.012bmydply3go.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}.source_serif_4_ace41ae7-module__Jor7fq__className{font-family:"Source Serif 4","Source Serif 4 Fallback";font-style:normal}.source_serif_4_ace41ae7-module__Jor7fq__variable{--font-serif:"Source Serif 4", "Source Serif 4 Fallback"}
:root{--paper:#f5f2ec;--paper-2:#ece7dd;--card:#fff;--ink:#1b2233;--ink-2:#3a4356;--muted:#6a7282;--line:#e0d9cc;--line-2:#cfc6b5;--blue:#1f4fc4;--blue-deep:#13296b;--blue-soft:#e8eefc;--red:#d33a2f;--red-soft:#fdecea;--ok:#1f7a4a;--ok-soft:#e2f3e9;--warn:#94590a;--warn-soft:#fcf0d9;--wait:#5b3fb0;--wait-soft:#efeafc;--lock:#7b8190;--lock-soft:#eef0f3;--radius:14px;--radius-sm:9px;--shadow:0 1px 2px #1b22330f, 0 6px 20px #1b22330f;--shadow-lg:0 2px 6px #1b223314, 0 18px 48px #1b22331f;--font-body:var(--font-inter), system-ui, -apple-system, "Segoe UI", sans-serif;--font-head:var(--font-serif), Georgia, "Times New Roman", serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-head);letter-spacing:-.01em;margin:0 0 .5em;line-height:1.2}h1{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:650}h2{font-size:1.35rem;font-weight:650}h3{font-size:1.08rem;font-weight:650}p{margin:0 0 .8em}small,.muted{color:var(--muted)}:focus-visible{outline:3px solid color-mix(in srgb, var(--blue) 45%, transparent);outline-offset:2px;border-radius:6px}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}.container.narrow{max-width:860px}@media (max-width:640px){.container{padding:0 16px}}.topbar{z-index:30;background:color-mix(in srgb, var(--blue-deep) 96%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border-bottom:3px solid var(--red);position:sticky;top:0}.topbar .container{align-items:center;gap:16px;min-height:62px;display:flex}.brand{color:#fff;align-items:center;gap:12px;min-width:0;font-weight:600;display:flex}.brand:hover{text-decoration:none}.brand img{filter:drop-shadow(0 1px 1px #00000040);flex:none;width:34px;height:auto}.brand .t1{font-family:var(--font-head);font-size:1.12rem;line-height:1.1}.brand .t2{opacity:.75;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;font-weight:500;display:block;overflow:hidden}.topnav{flex-wrap:wrap;align-items:center;gap:4px;margin-left:auto;display:flex}.topnav a,.topnav button{color:#ffffffe0;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 12px;font-size:.92rem}.topnav a:hover,.topnav button:hover{color:#fff;background:#ffffff1f;text-decoration:none}.topnav a.active{color:#fff;background:#ffffff29}@media (max-width:640px){.topbar{position:static}.topbar .container{gap:8px;min-height:54px}.brand{gap:8px}.brand img{width:28px}.brand .t1{white-space:nowrap;font-size:1rem}.brand .t2{display:none}.topnav{flex-wrap:nowrap;gap:0}.topnav a,.topnav button{white-space:nowrap;padding:6px 8px;font-size:.84rem}}main{padding:28px 0 80px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.card+.card{margin-top:18px}.card.flat{box-shadow:none}.card h2:first-child,.card h3:first-child{margin-top:0}@media (max-width:640px){.card{padding:16px}}.btn{font:inherit;cursor:pointer;border:1px solid var(--line-2);background:var(--card);color:var(--ink);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s,transform 50ms,box-shadow .15s;display:inline-flex;text-decoration:none!important}.btn:hover{background:var(--paper)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 2px 10px color-mix(in srgb, var(--blue) 35%, transparent)}.btn.primary:hover{background:var(--blue-deep);border-color:var(--blue-deep)}.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}.btn.ok:hover{background:#17603a}.btn.danger{color:var(--red);border-color:color-mix(in srgb, var(--red) 40%, var(--line))}.btn.danger:hover{background:var(--red-soft)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--paper-2)}.btn.sm{padding:6px 12px;font-size:.85rem}.btn.lg{padding:13px 24px;font-size:1.02rem}.btn-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.badge{white-space:nowrap;background:var(--lock-soft);color:var(--lock);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.wait{background:var(--wait-soft);color:var(--wait)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.blue{background:var(--blue-soft);color:var(--blue)}.badge.plain:before{display:none}label.lbl,.lbl{color:var(--ink-2);margin-bottom:6px;font-size:.92rem;font-weight:600;display:block}.help{color:var(--muted);margin:-2px 0 8px;font-size:.84rem}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{width:100%;font:inherit;color:var(--ink);border:1px solid var(--line-2);border-radius:var(--radius-sm);background:#fff;padding:10px 12px;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:64px;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb, var(--blue) 18%, transparent);outline:none}input:disabled,select:disabled,textarea:disabled,textarea[readonly],input[readonly]{color:var(--ink-2);cursor:default;background:#faf9f6}.field{margin-bottom:16px}.grid-2{grid-template-columns:1fr 1fr;gap:14px 18px;display:grid}@media (max-width:640px){.grid-2{grid-template-columns:1fr}}.alert{border-radius:var(--radius-sm);border:1px solid;padding:12px 14px;font-size:.93rem}.alert.err{background:var(--red-soft);border-color:color-mix(in srgb, var(--red) 30%, transparent);color:#8f2119}.alert.ok{background:var(--ok-soft);border-color:color-mix(in srgb, var(--ok) 30%, transparent);color:#155c37}.alert.info{background:var(--blue-soft);border-color:color-mix(in srgb, var(--blue) 22%, transparent);color:var(--blue-deep)}.alert.warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 25%, transparent);color:#6e4206}.hero{background:radial-gradient(1200px 500px at 85% -10%, color-mix(in srgb, var(--red) 16%, transparent), transparent 60%), radial-gradient(900px 600px at -10% 110%, color-mix(in srgb, var(--blue) 22%, transparent), transparent 60%), var(--paper);place-items:center;min-height:100vh;padding:40px 16px;display:grid}.hero-card{text-align:center;width:100%;max-width:460px}.hero-card .crest{filter:drop-shadow(0 6px 14px #13296b2e);width:92px;margin:0 auto 14px;display:block}.hero-card .kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--red);margin-bottom:6px;font-size:.72rem;font-weight:700}.hero-card h1{margin-bottom:6px}.hero-card .sub{color:var(--muted);margin-bottom:22px}.code-input{text-align:center;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:14px!important;font-family:ui-monospace,Cascadia Mono,Consolas,monospace!important;font-size:1.5rem!important}.cover{background:linear-gradient(135deg, var(--blue-deep), var(--blue) 120%);color:#fff;border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-lg);padding:28px;position:relative;overflow:hidden}.cover:after{content:"";background:radial-gradient(circle,#d33a2f8c,#0000 65%);border-radius:50%;width:260px;height:260px;position:absolute;top:-60px;right:-60px}.cover .kicker{text-transform:uppercase;letter-spacing:.14em;opacity:.8;font-size:.72rem;font-weight:700}.cover h1{color:#fff;margin:6px 0 4px}.cover .question{font-family:var(--font-head);opacity:.95;max-width:46ch;font-size:1.15rem}.cover .meta{z-index:1;flex-wrap:wrap;gap:8px;margin-top:16px;display:flex;position:relative}.cover .chip{background:#ffffff24;border:1px solid #fff3;border-radius:999px;padding:4px 12px;font-size:.85rem}.cover .actions{z-index:1;margin-top:18px;position:relative}.cover .btn{color:var(--blue-deep);background:#fff;border-color:#fff}.layout-2{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:22px;margin-top:22px;display:grid}@media (max-width:980px){.layout-2{grid-template-columns:minmax(0,1fr)}}.cp-block{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.cp-block+.cp-block{margin-top:16px}.cp-head{border-bottom:1px solid var(--line);background:#fbfaf7;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 18px;display:flex}.cp-head .num{background:var(--blue-soft);width:34px;height:34px;color:var(--blue);font-weight:700;font-family:var(--font-head);border-radius:50%;flex:none;place-items:center;display:grid}.cp-head.approved .num{background:var(--ok);color:#fff}.cp-head.locked .num{background:var(--lock-soft);color:var(--lock)}.cp-head .title{font-weight:650}.cp-head .sub{color:var(--muted);font-size:.84rem}.cp-head .right{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.sheet-row{border-top:1px solid var(--line);color:inherit;align-items:center;gap:14px;padding:13px 18px;display:flex}.sheet-row:first-of-type{border-top:0}a.sheet-row:hover{background:#fbfaf7;text-decoration:none}.sheet-row .n{font-family:var(--font-head);color:var(--muted);text-align:right;flex:none;width:28px;font-weight:700}.sheet-row .t{font-weight:600}.sheet-row .progress{background:var(--paper-2);border-radius:99px;flex:none;width:70px;height:6px;overflow:hidden}.sheet-row .progress span{background:var(--blue);border-radius:inherit;height:100%;display:block}.sheet-row .right{align-items:center;gap:10px;margin-left:auto;display:flex}.sheet-row.locked{color:var(--lock)}.sheet-row.locked .t{font-weight:500}@media (max-width:640px){.sheet-row .progress{display:none}.sheet-row{gap:10px;padding:12px 14px}}.cp-foot{border-top:1px solid var(--line);background:#fbfaf7;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 18px;font-size:.9rem;display:flex}.cp-foot .statement{color:var(--ink-2);font-style:italic}.teacher-comment{background:var(--warn-soft);border-left:3px solid var(--warn);padding:10px 14px;font-size:.92rem}.teacher-comment.ok{background:var(--ok-soft);border-color:var(--ok)}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-top:1px dashed var(--line);grid-template-columns:84px 1fr;gap:10px;padding:9px 0;font-size:.9rem;display:grid}.timeline li:first-child{border-top:0}.timeline .d{color:var(--blue-deep);font-weight:650}.timeline li.break{opacity:.65}.timeline li.expo .d{color:var(--red)}.timeline .r{color:var(--muted);font-size:.82rem}.goals{counter-reset:g;margin:0;padding:0;list-style:none}.goals li{counter-increment:g;grid-template-columns:26px 1fr;gap:8px;padding:6px 0;font-size:.92rem;display:grid}.goals li:before{content:counter(g);background:var(--red-soft);width:22px;height:22px;color:var(--red);border-radius:50%;place-items:center;margin-top:1px;font-size:.78rem;font-weight:700;display:grid}.rules{gap:10px;display:grid}.rule{border-top:1px solid var(--line);grid-template-columns:150px 1fr;gap:12px;padding:10px 0;font-size:.92rem;display:grid}.rule:first-child{border-top:0}.rule b{color:var(--blue-deep)}@media (max-width:640px){.rule{grid-template-columns:1fr;gap:2px}}.sheet-head{flex-wrap:wrap;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.sheet-head .crumb{color:var(--muted);margin-bottom:6px;font-size:.85rem}.sheet-head .crumb a{color:var(--muted)}.sheet-num{font-family:var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-size:.8rem;font-weight:700}.sheet-head .right{flex-direction:column;align-items:flex-end;gap:8px;margin-left:auto;display:flex}@media (max-width:640px){.sheet-head .right{align-items:flex-start;margin-left:0}}.editor{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:22px;display:grid}@media (max-width:1060px){.editor{grid-template-columns:minmax(0,1fr)}}.side{gap:16px;max-height:calc(100vh - 100px);padding-bottom:6px;display:grid;position:sticky;top:82px;overflow:auto}@media (max-width:1060px){.side{max-height:none;position:static;overflow:visible}}.section{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.section+.section{margin-top:16px}.section>header{color:#fff;font-family:var(--font-head);background:#4d5361;padding:11px 18px;font-size:1.02rem;font-weight:650}.section>.body{padding:18px}.section>.body>.intro{color:var(--ink-2);margin-bottom:14px;font-size:.95rem}@media (max-width:640px){.section>.body{padding:14px}}.infobox{border-radius:var(--radius-sm);background:var(--blue-soft);border:1px solid color-mix(in srgb, var(--blue) 20%, transparent);padding:14px 16px}.infobox h4{font-family:var(--font-head);color:var(--blue-deep);margin:0 0 6px;font-size:1.02rem}.infobox p{margin:0 0 8px;font-size:.93rem}.examples{gap:8px;margin-top:8px;display:grid}.example{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:110px 1fr;gap:10px;padding:9px 12px;font-size:.9rem;display:grid}.example .tag{text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700}.example.good .tag{color:var(--ok)}.example.bad .tag{color:var(--red)}@media (max-width:640px){.example{grid-template-columns:1fr;gap:2px}}.wtable{border-collapse:separate;border-spacing:0;width:100%}.wtable th{text-align:left;color:#fff;vertical-align:bottom;background:#4d5361;padding:9px 10px;font-size:.8rem;font-weight:650}.wtable th:first-child{border-top-left-radius:9px}.wtable th:last-child{border-top-right-radius:9px}.wtable td{border-bottom:1px solid var(--line);vertical-align:top;background:#fff;padding:6px}.wtable tr:nth-child(2n) td{background:#fcfbf8}.wtable td.rowlabel{min-width:120px;padding:10px;font-size:.9rem;font-weight:600;background:#f4f2ed!important}.wtable td.static{color:var(--ink-2);padding:10px;font-size:.9rem}.wtable td.center{text-align:center;vertical-align:middle}.wtable td.actions{white-space:nowrap;vertical-align:middle;width:1%}.wtable textarea,.wtable input,.wtable select{background:0 0;border-color:#0000;padding:7px 8px}.wtable textarea:hover,.wtable input:hover,.wtable select:hover{border-color:var(--line)}.wtable textarea:focus,.wtable input:focus,.wtable select:focus{border-color:var(--blue);background:#fff}.wtable tfoot td{padding:10px;font-weight:700;background:#f4f2ed!important}.wtable .score{text-align:center;width:64px}.check{width:22px;height:22px;accent-color:var(--ok);cursor:pointer}.table-wrap{border:1px solid var(--line);border-radius:10px;overflow-x:auto}.table-wrap .wtable th:first-child,.table-wrap .wtable th:last-child{border-radius:0}@media (max-width:720px){.table-wrap{border:0;overflow:visible}.wtable.stack thead{display:none}.wtable.stack,.wtable.stack tbody,.wtable.stack tr,.wtable.stack td,.wtable.stack tfoot{width:100%;display:block}.wtable.stack tr{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:10px;overflow:hidden}.wtable.stack td{border-bottom:1px solid var(--line);background:#fff!important}.wtable.stack td:last-child{border-bottom:0}.wtable.stack td[data-label]:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:2px 2px 4px;font-size:.74rem;font-weight:650;display:block}.wtable.stack td.rowlabel{color:#fff;background:#4d5361!important}.wtable.stack textarea,.wtable.stack input,.wtable.stack select{border-color:var(--line)}.wtable.stack td.center{text-align:left}.wtable.stack tfoot tr{border-color:var(--line-2)}.wtable.matrix tr{grid-template-columns:repeat(3,1fr);display:grid}.wtable.matrix td{border-bottom:0;border-right:1px solid var(--line);text-align:center}.wtable.matrix td:last-child{border-right:0}.wtable.matrix td.rowlabel,.wtable.matrix tfoot td:first-child{text-align:left;border-right:0;grid-column:1/-1}.wtable.matrix td[data-label]:before{text-align:center}.wtable.matrix .score{width:100%}}.list-field{gap:8px;display:grid}.list-item{grid-template-columns:30px 1fr;align-items:start;gap:8px;display:grid}.list-item .n{background:var(--paper-2);width:28px;height:28px;color:var(--ink-2);border-radius:50%;place-items:center;margin-top:6px;font-size:.85rem;font-weight:700;display:grid}.choice{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.choice .opt{position:relative}.choice .opt input{opacity:0;cursor:pointer;position:absolute;inset:0}.choice .opt span{border:2px solid var(--line-2);background:#fff;border-radius:12px;place-items:center;min-width:46px;height:46px;padding:0 12px;font-size:1.1rem;font-weight:700;transition:all .15s;display:inline-grid}.choice .opt input:checked+span{border-color:var(--blue);background:var(--blue);color:#fff}.choice .opt input:focus-visible+span{outline:3px solid color-mix(in srgb, var(--blue) 40%, transparent)}.choice .opt input:disabled{cursor:default}.entry{border:1px solid var(--line);background:#fcfbf8;border-radius:12px;padding:14px}.entry+.entry{margin-top:12px}.entry-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.entry-head b{font-family:var(--font-head)}.entry-grid{grid-template-columns:200px 1fr;align-items:start;gap:8px 14px;display:grid}.entry-grid label{color:var(--ink-2);padding-top:9px;font-size:.88rem;font-weight:600}@media (max-width:640px){.entry-grid{grid-template-columns:1fr;gap:4px}.entry-grid label{padding-top:6px}}.add-row{margin-top:10px}.photos{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.photo{border:1px solid var(--line);background:var(--paper-2);aspect-ratio:4/3;border-radius:10px;position:relative;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%;display:block}.photo .rm{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:999px;width:28px;height:28px;font-size:16px;line-height:1;position:absolute;top:6px;right:6px}.photo .cap{color:#fff;background:linear-gradient(#0000,#000000a6);padding:18px 8px 6px;font-size:.78rem;position:absolute;bottom:0;left:0;right:0}.upload{border:2px dashed var(--line-2);background:#fcfbf8;border-radius:12px;gap:10px;padding:16px;display:grid}.upload .consent{align-items:flex-start;gap:10px;font-size:.88rem;display:flex}.upload .consent input{width:18px;height:18px;accent-color:var(--blue);flex:none;margin-top:3px}.teacher-note{background:var(--wait-soft);border:1px solid color-mix(in srgb, var(--wait) 20%, transparent);border-radius:10px;padding:14px}.teacher-note .by{color:var(--wait);margin-top:6px;font-size:.8rem;font-weight:600}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel>.ph{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.panel>.ph h3{margin:0;font-size:1rem}.panel>.pb{padding:14px 16px}.status-big{border-radius:var(--radius-sm);align-items:center;gap:12px;padding:14px 16px;font-weight:650;display:flex}.status-big.ok{background:var(--ok-soft);color:var(--ok)}.status-big.warn{background:var(--warn-soft);color:var(--warn)}.status-big.lock{background:var(--lock-soft);color:var(--lock)}.status-big.wait{background:var(--wait-soft);color:var(--wait)}.status-big .ic{background:currentColor;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.status-big .ic svg{color:#fff}.status-big small{color:var(--ink-2);font-size:.84rem;font-weight:500;display:block}.crit{gap:8px;display:grid}.crit-item{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;font-size:.9rem}.crit-item .ch{align-items:flex-start;gap:8px;display:flex}.crit-item .dot{color:#fff;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;margin-top:1px;font-size:12px;font-weight:800;display:grid}.crit-item.behaal .dot{background:var(--ok)}.crit-item.gedeeltelik .dot{background:#d18a12}.crit-item.nie_behaal .dot{background:var(--red)}.crit-item.pending .dot{background:var(--line-2)}.crit-item .ct{font-weight:650}.crit-item .cd{color:var(--muted);margin-top:2px;font-size:.84rem}.crit-item .fb{color:var(--ink-2);margin-top:6px}.qlist{margin:0;padding-left:20px}.qlist li{margin:4px 0}.rule-issue{background:var(--red-soft);border-radius:10px;padding:10px 12px;font-size:.9rem}.rule-issue b{color:var(--red)}.savebar{color:var(--muted);align-items:center;gap:8px;min-height:24px;font-size:.84rem;display:flex}.savebar .dot{background:var(--ok);border-radius:50%;width:8px;height:8px}.savebar.saving .dot{background:#d18a12;animation:1s infinite pulse}.savebar.err .dot{background:var(--red)}@keyframes pulse{50%{opacity:.3}}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}.spinner.dark{border-color:var(--line);border-top-color:var(--blue)}@keyframes spin{to{transform:rotate(360deg)}}.lockbar{border-radius:var(--radius-sm);background:var(--lock-soft);color:var(--ink-2);align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:.93rem;display:flex}.lockbar.wait{background:var(--wait-soft)}.lockbar.ok{background:var(--ok-soft)}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}@media (max-width:800px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.stat .v{font-family:var(--font-head);font-size:1.9rem;font-weight:700;line-height:1}.stat .l{color:var(--muted);margin-top:6px;font-size:.85rem}.stat.attn{border-color:color-mix(in srgb, var(--wait) 35%, var(--line));background:var(--wait-soft)}.stat.attn .v{color:var(--wait)}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.tabs a{background:var(--card);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:600}.tabs a.on{background:var(--blue-deep);color:#fff;border-color:var(--blue-deep)}.tabs a:hover{text-decoration:none}.dtable{border-collapse:collapse;background:var(--card);width:100%}.dtable th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:#fbfaf7;padding:12px 14px;font-size:.78rem}.dtable td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px;font-size:.93rem}.dtable tr:last-child td{border-bottom:0}.dtable tr.click:hover td{cursor:pointer;background:#fbfaf7}.dtable-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}.cpdots{gap:5px;display:flex}.cpdot{background:var(--lock-soft);width:26px;height:26px;color:var(--lock);border-radius:8px;place-items:center;font-size:.75rem;font-weight:700;display:grid}.cpdot.APPROVED{background:var(--ok);color:#fff}.cpdot.SUBMITTED{background:var(--wait);color:#fff;box-shadow:0 0 0 3px var(--wait-soft)}.cpdot.RETURNED{background:var(--warn-soft);color:var(--warn)}.cpdot.ACTIVE{background:var(--blue-soft);color:var(--blue)}.mono{letter-spacing:.04em;font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.codes{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.codecard{border:1px dashed var(--line-2);text-align:center;break-inside:avoid;background:#fff;border-radius:12px;padding:14px}.codecard .c{color:var(--blue-deep);font-size:1.35rem;font-weight:800}.codecard .s{color:var(--muted);font-size:.8rem}.versions{margin:0;padding:0;font-size:.88rem;list-style:none}.versions li{border-top:1px solid var(--line);align-items:center;gap:8px;padding:7px 0;display:flex}.versions li:first-child{border-top:0}.versions a.on{font-weight:700}.empty{text-align:center;color:var(--muted);padding:40px 20px}.spacer{height:18px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row .grow{flex:1}hr.sep{border:0;border-top:1px solid var(--line);margin:18px 0}details>summary{cursor:pointer;font-weight:600}.print-only{display:none}@media print{@page{size:A4;margin:14mm}body{background:#fff;font-size:11pt}.topbar,.no-print,.side,.btn,.savebar,.add-row,.upload,.photo .rm{display:none!important}.print-only{display:block}main{padding:0}.container{max-width:none;padding:0}.section,.card,.panel{box-shadow:none;break-inside:avoid-page}.section>header,.wtable th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-sheet{break-before:page}.editor{display:block}textarea,input,select{border:0!important;padding:0!important}}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip-opt{border:1px solid var(--line-2);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:999px;padding:5px 11px;font-size:.84rem;font-weight:600;position:relative}.chip-opt input{opacity:0;pointer-events:none;position:absolute}.chip-opt.on{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff}.chip-opt:focus-within{outline:3px solid color-mix(in srgb, var(--blue) 35%, transparent)}.dev-fb{background:#f8fbff;border:1px solid #b8cbe0;border-radius:12px;gap:10px;margin-top:16px;padding:14px;display:grid}.dev-fb-title{gap:2px;font-size:.95rem;font-weight:750;display:grid}.dev-fb-title small{color:var(--muted);font-size:.8rem;font-weight:500}.dev-fb textarea,.dev-fb select{font-size:.9rem}.ai-vote-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ai-vote{appearance:none;border:1px solid var(--line-2);text-align:left;cursor:pointer;color:var(--ink);background:#fff;border-radius:10px;align-items:center;gap:9px;padding:10px;display:flex}.ai-vote:hover{border-color:var(--blue);background:#f7fbff}.ai-vote.yes.on{border-color:var(--ok);background:var(--ok-soft);box-shadow:0 0 0 2px color-mix(in srgb, var(--ok) 18%, transparent)}.ai-vote.no.on{border-color:var(--red);box-shadow:0 0 0 2px color-mix(in srgb, var(--red) 16%, transparent);background:#fff3f1}.ai-vote-icon{font-size:1.45rem;line-height:1}.ai-vote b,.ai-vote small{display:block}.ai-vote small{color:var(--muted);margin-top:2px;font-size:.72rem;font-weight:500;line-height:1.2}.ai-vote-details{gap:10px;padding-top:2px;display:grid}.ai-vote-note{margin:0;font-size:.82rem}.ai-vote-advanced{border-top:1px dashed var(--line-2);padding-top:8px}.ai-vote-advanced summary{cursor:pointer;color:var(--muted);font-size:.84rem;font-weight:650}@media (max-width:520px){.ai-vote-row{grid-template-columns:1fr}}.fab-wrap{z-index:50;flex-direction:column;align-items:flex-end;gap:12px;display:flex;position:fixed;bottom:20px;right:20px}.fab{cursor:pointer;background:var(--red);color:#fff;border:0;border-radius:50%;place-items:center;width:54px;height:54px;transition:transform .15s;display:grid;box-shadow:0 6px 20px #d33a2f66}.fab:hover{transform:scale(1.06)}.fab-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:min(360px,100vw - 32px);box-shadow:var(--shadow-lg);padding:14px}.fab-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}@media (max-width:640px){.fab-wrap{bottom:16px;right:16px}}.pv-cols{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:760px){.pv-cols{grid-template-columns:1fr}}.pv-box{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;min-width:0;padding:12px 14px}.pv-box h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 8px;font-size:.78rem}.pv-box.juf{border-left:4px solid var(--red)}.pv-box.ki{border-left:4px solid var(--blue)}.pv-box.lln{border-left:4px solid var(--ink-2)}.pv-pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.9rem;line-height:1.5}.pv-list{margin:0;padding-left:18px;font-size:.9rem}.pv-list li+li{margin-top:4px}.pv-crit{border-collapse:collapse;width:100%;font-size:.9rem}.pv-crit td,.pv-crit th{border-top:1px solid var(--line);vertical-align:top;text-align:left;padding:8px 6px}.pv-crit th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-top:0;font-size:.75rem}.pv-crit .votes{white-space:nowrap;width:1%}@media (max-width:640px){.pv-crit thead{display:none}.pv-crit tr{border-top:1px solid var(--line);grid-template-columns:1fr auto;padding:6px 0;display:grid}.pv-crit td{border:0;padding:4px 6px}.pv-crit td.fb{grid-column:1/-1}}.vote{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:4px 10px;font-size:1rem;line-height:1.2}.vote.on.up{background:var(--ok-soft);border-color:var(--ok)}.vote.on.down{background:var(--red-soft);border-color:var(--red)}.vote+.vote{margin-left:6px}.pv-choices{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.pv-choice{text-align:left;border:2px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;font:inherit;color:inherit;background:#fff;gap:2px;padding:12px 14px;display:grid}.pv-choice b{font-size:1.05rem}.pv-choice span{font-size:.93rem}.pv-choice small{color:var(--muted)}.pv-choice.on{border-color:var(--blue);background:var(--blue-soft)}.pv-acc{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.pv-acc+.pv-acc{margin-top:10px}.pv-acc>summary{flex-wrap:wrap;align-items:center;gap:8px;padding:14px 16px;font-weight:600;list-style:none;display:flex}.pv-acc>summary::-webkit-details-marker{display:none}.pv-acc>summary:before{content:"▸";color:var(--muted);transition:transform .15s}.pv-acc[open]>summary:before{transform:rotate(90deg)}.pv-acc>summary .t{flex:200px}.pv-acc>.body{padding:0 16px 16px}.pv-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cp-acc>summary{cursor:pointer;list-style:none}.cp-acc>summary::-webkit-details-marker{display:none}.cp-acc>summary:after{content:"▾";color:var(--muted);margin-left:4px;transition:transform .15s}.cp-acc:not([open])>summary{border-bottom:0}.cp-acc:not([open])>summary:after{transform:rotate(-90deg)}.topnav .tm-primary{align-items:center;gap:4px;display:flex}.tm{position:relative}.tm-btn{align-items:center;gap:6px;display:inline-flex}.tm-panel{z-index:40;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;min-width:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 30px #0000002e}.tm-panel a,.tm-panel button{text-align:left;width:100%;color:var(--ink)!important;border-radius:8px!important;padding:10px 12px!important;font-size:.95rem!important}.tm-panel a:hover,.tm-panel button:hover{background:var(--paper-2)!important}.tm-panel form{display:block}.tm-panel .tm-mobile{display:none}.tm-panel hr{border:0;border-top:1px solid var(--line);margin:4px 0}@media (max-width:900px){.topnav .tm-primary{display:none}.tm-panel .tm-mobile{display:grid}}.tm-l-mob{display:none}@media (max-width:900px){.tm-l-desk{display:none}.tm-l-mob{display:inline}}.pv-form .section{box-shadow:none;margin:0}.pv-form .section+.section{margin-top:10px}.pv-form .section>.body{padding:12px}.pv-chat-row td{background:#fbfaf7}.pv-chat{gap:10px;padding:6px 2px;display:grid}.pv-msgs{gap:8px;display:grid}.pv-msg{white-space:pre-wrap;border-radius:12px;max-width:92%;padding:8px 12px;font-size:.92rem;line-height:1.45}.pv-msg small{color:var(--muted);margin-bottom:2px;font-size:.72rem;font-weight:600;display:block}.pv-msg.juf{background:var(--blue-soft);justify-self:end}.pv-msg.ki{border:1px solid var(--line);background:#fff;justify-self:start}.pv-rule{border:1px dashed var(--ok);border-radius:var(--radius-sm);background:#fff;gap:8px;padding:10px;display:grid}.linkbtn{color:var(--blue);font:inherit;cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:.82rem;text-decoration:underline}@media (max-width:640px){.pv-crit tr.pv-chat-row,.pv-crit tr.pv-chat-row td{display:block}}.tm-panel .tm-h{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 12px 2px;font-size:.7rem;font-weight:700}.tm-panel .tm-dev{color:var(--muted)!important;font-size:.88rem!important}.dev-banner{border:1px dashed var(--line);background:var(--paper-2);border-radius:var(--radius-sm);color:var(--muted);margin-bottom:18px;padding:10px 14px;font-size:.9rem}.hub{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:22px;display:grid}.hub a{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:#fff;padding:14px 16px;text-decoration:none;display:block}.hub a:hover{border-color:var(--blue)}.hub a b{margin-bottom:4px;display:block}.hub a span{color:var(--muted);font-size:.86rem}
