@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.p.3z_x6eowsw16y.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.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:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_b5677bf-module__BmD7pa__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_b5677bf-module__BmD7pa__variable{--font-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(../media/a43a16b011ff1e5d-s.3tkh29uluqhlc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(../media/0f449d0ff9ec705f-s.1mmiaq_ctx118.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:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(../media/2802b67dbb28dcc1-s.p.1j-hjeb79leq9.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(../media/095187fd2eb7a468-s.p.2bnqhhlne77zx.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:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_b5adc37d-module__LXw7MW__className{font-family:Playfair Display,Playfair Display Fallback;font-style:italic;font-weight:700}.playfair_display_b5adc37d-module__LXw7MW__variable{--font-serif:"Playfair Display", "Playfair Display Fallback"}
:root{--bg:#f8f9f3;--fill:#eef1e0;--text:#4d3e3b;--secondary:#6b5e5a;--divider:#e0e3d4;--disabled:#b8b2ad;--accent:#193c40;--mint:#c6efe5;--success:#1a6b3a;--error:#b03a2a;--radius:8px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans), system-ui, sans-serif;margin:0;padding:0;font-size:17px;font-weight:400;line-height:1.5}h1{font-family:var(--font-serif), Georgia, serif;color:var(--accent);margin:0;font-size:22px;font-style:italic;font-weight:700;line-height:1.2}h2{color:var(--secondary);margin:0;font-size:15px;font-weight:400;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:17px}.page{max-width:960px;margin:0 auto;padding:32px 24px 48px}.prose{max-width:62ch}.header{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;display:flex}.nav-links{align-items:baseline;gap:24px;display:flex}.secondary{color:var(--secondary)}.caption{color:var(--secondary);font-size:13px}.small{font-size:15px}.divider{background:var(--divider);border:0;height:1px;margin:0}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--secondary);border-bottom:1px solid var(--divider);padding:12px 12px 12px 0;font-size:15px;font-weight:400}th button{color:var(--secondary);cursor:pointer;background:0 0;border:0;padding:0;font-size:15px}th button[aria-sort=ascending],th button[aria-sort=descending]{color:var(--text)}td{border-bottom:1px solid var(--divider);vertical-align:top;padding:16px 12px 16px 0}tr.expanded>td{background:var(--fill)}.btn{background:var(--accent);color:var(--mint);border-radius:var(--radius);cursor:pointer;border:0;min-height:48px;padding:12px 16px;font-weight:600;display:inline-block}.btn:disabled{background:var(--disabled);color:var(--bg);cursor:default}.btn.on-dark{background:var(--bg);color:var(--accent)}.textbtn{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0}input,textarea,select{color:var(--text);background:var(--bg);border:1px solid var(--divider);border-radius:var(--radius);width:100%;min-height:48px;padding:12px;font-family:inherit;font-size:17px}textarea{resize:vertical;min-height:96px}label{color:var(--secondary);margin-bottom:8px;font-size:15px;display:block}.field{margin-bottom:16px}.cols{grid-template-columns:1fr 1fr;gap:32px;display:grid}@media (max-width:760px){.cols{grid-template-columns:1fr}}.ok{color:var(--success)}.bad{color:var(--error)}.msg{background:var(--fill);border-radius:var(--radius);padding:12px}.msg.student{margin-left:32px}.msg.character{background:0 0;padding:12px 0}.preview{white-space:pre-wrap;margin:0;font-family:inherit;font-size:15px;line-height:1.5}details>summary{cursor:pointer;color:var(--secondary);padding:12px 0;font-size:15px}.login{background:var(--accent);min-height:100vh;color:var(--bg)}.login h1,.login h2,.login label,.login .caption{color:var(--bg)}.login input{color:var(--text);background:var(--bg);border-color:var(--bg)}.pair{gap:16px;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.rows{border-top:1px solid var(--divider)}.row-item{border-bottom:1px solid var(--divider)}.row{min-height:44px;color:var(--text);padding:12px 0;display:block}a.row:hover{text-decoration:none}a.row .row-title{color:var(--accent)}.row-line{margin-top:4px}.row-actions{flex-wrap:wrap;align-items:center;gap:24px;padding-bottom:8px;display:flex}.row-below{padding:16px 0}.row-below.expanded{background:var(--fill);margin-bottom:16px;padding:16px}@media (max-width:760px){.page{padding:16px 16px 48px}.pair{flex-direction:column;gap:0}.header{flex-wrap:wrap}.nav-links{white-space:nowrap;gap:16px}.textbtn,a:not(.row){align-items:center;min-height:44px;padding:8px 0;display:inline-flex}}
