@font-face{font-family:PT Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/17603af13aa8a542-s.4533bvve4s6a4.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:PT Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/207e57240b1809b2-s.3ls_3_aoj0ebm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/00231884809ac59e-s.0i9j7-y4t3ijp.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:PT Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f05228a5f9ec0eae-s.p.3kxgs-7nixrf6.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:PT Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9dc791b0865fd39f-s.3-knllbbx5za1.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:PT Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c29509b8a0bee3b9-s.3prmnh56md9ao.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/261abb472e2873a9-s.2xq-bk2b34x28.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:PT Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/536b4d72a397ec90-s.p.27c8-9qx-v7kc.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:PT Sans Fallback;src:local(Arial);ascent-override:105.3%;descent-override:28.55%;line-gap-override:0.0%;size-adjust:96.68%}.pt_sans_47c31c8c-module__ACAWrq__className{font-family:PT Sans,PT Sans Fallback;font-style:normal}.pt_sans_47c31c8c-module__ACAWrq__variable{--font-sans:"PT Sans", "PT Sans Fallback"}
@font-face{font-family:Prata;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3fcea565cfce403b-s.34hnzmuy7si01.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:Prata;font-style:normal;font-weight:400;font-display:swap;src:url(../media/44af270ac9d55e91-s.2a_rqjkuo6grw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Prata;font-style:normal;font-weight:400;font-display:swap;src:url(../media/68aff7b3a1ec3262-s.44r8i-i0e0hql.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:Prata;font-style:normal;font-weight:400;font-display:swap;src:url(../media/68019c21ced96fa9-s.p.0mhosx07nwlp0.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:Prata Fallback;src:local(Times New Roman);ascent-override:83.87%;descent-override:30.57%;line-gap-override:0.0%;size-adjust:118.4%}.prata_ddaaf259-module__jVI0wq__className{font-family:Prata,Prata Fallback;font-style:normal;font-weight:400}.prata_ddaaf259-module__jVI0wq__variable{--font-display:"Prata", "Prata Fallback"}
:root{--bg:#f4f0e7;--surface:#fffaf1;--surface-2:#ebe4d8;--text:#25211e;--muted:#716960;--line:#d6cec0;--accent:#9d312f;--accent-strong:#7c201f;--green:#456b4c;--amber:#9b6b2e;--shadow:0 18px 50px #2b22191a}[data-theme=dark]{--bg:#111311;--surface:#1d1a18;--surface-2:#28231f;--text:#f6efe3;--muted:#b9afa3;--line:#443d36;--accent:#df6d63;--accent-strong:#ef8176;--green:#92b873;--amber:#d2a45e;--shadow:0 18px 50px #0000003d}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--text);background:var(--bg);font-family:var(--font-sans), Arial, sans-serif;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,.display{font-family:var(--font-display), Georgia, serif;font-weight:400}.site-header{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 90%, transparent);z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:center;height:68px;padding:0 4vw;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display), Georgia, serif;align-items:center;gap:11px;font-size:21px;display:flex}.brand img{object-fit:cover;border-radius:8px;width:38px;height:38px}.header-actions,.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.icon-button,.button{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;display:inline-flex}.icon-button{width:40px;padding:0}.button:hover,.icon-button:hover{border-color:var(--accent)}.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.button.primary:hover{background:var(--accent-strong)}.button.success{background:var(--green);color:#fff;border-color:var(--green)}.button.small{min-height:34px;padding:0 11px;font-size:14px}.button:disabled{opacity:.5;cursor:not-allowed}.container{width:min(1460px,100% - 40px);margin:0 auto}.hero{color:#fff;background:#14120f url(/assets/yuon-parade-1941.png) 50%/cover no-repeat;align-items:center;min-height:calc(100vh - 68px);display:grid;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(90deg,#0d0c0ae8 0%,#0d0c0a9c 54%,#0d0c0a1a 100%);position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(transparent, var(--bg));height:24%;position:absolute;inset:auto 0 0}.hero-content{z-index:1;width:min(700px,90%);margin-left:max(5vw,50vw - 730px);padding-bottom:8vh;position:relative}.eyebrow{color:var(--accent);text-transform:uppercase;font-size:13px;font-weight:700}.hero .eyebrow{color:#f2a398}.hero h1{margin:14px 0 20px;font-size:clamp(44px,6vw,82px);line-height:1.05}.hero p{max-width:610px;font-size:20px;line-height:1.55}.hero .actions{margin-top:28px}.hero-features{margin-top:36px}.hero-features div{border-right:1px solid #ffffff40;padding-right:18px}.hero-features strong,.hero-features span{margin-top:7px;display:block}.public-footer{border-top:1px solid var(--line);background:var(--surface);color:var(--muted);grid-template-columns:minmax(0,1fr) minmax(280px,520px);gap:40px;padding:30px max(5vw,50vw - 730px);display:grid}.public-footer strong{color:var(--text);font-family:var(--font-display), Georgia, serif;margin-bottom:8px;font-size:21px;font-weight:400;display:block}.public-footer p{margin:0;line-height:1.55}.auth-shell{grid-template-columns:1fr 1fr;min-height:calc(100vh - 68px);display:grid}.auth-image{background:#201b18 url(/assets/raphael-school-of-athens-r.jpg) 50%/cover no-repeat;position:relative}.auth-image:after{content:"";background:#140f0c4d;position:absolute;inset:0}.auth-panel{place-items:center;padding:50px;display:grid}.auth-card{width:min(460px,100%)}.auth-card h1{margin-bottom:10px;font-size:42px}.muted{color:var(--muted)}.form{gap:16px;margin-top:28px;display:grid}.field{gap:7px;font-weight:700;display:grid}.field input,.field select{border:1px solid var(--line);height:46px;color:var(--text);background:var(--surface);border-radius:5px;padding:0 13px}.password-field{display:grid;position:relative}.password-field input{width:100%;padding-right:44px}.password-toggle{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-toggle:hover{color:var(--text);background:var(--surface-2,#0000000d)}.password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.form-error{color:var(--accent);font-weight:700}.workspace{grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 68px);display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);height:calc(100vh - 68px);padding:26px 18px;position:sticky;top:68px}.sidebar h2{margin:6px 8px 28px;font-size:24px}.nav{gap:5px;display:grid}.nav a{min-height:42px;color:var(--muted);border-radius:5px;align-items:center;gap:10px;padding:0 11px;display:flex}.nav a:hover,.nav a.active{color:var(--text);background:var(--surface-2)}.workspace-main{min-width:0;padding:30px clamp(20px,3vw,48px) 70px}.page-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;display:flex}.page-head h1{margin-bottom:5px;font-size:clamp(34px,4vw,54px)}.grid{gap:14px;display:grid}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:20px;box-shadow:0 1px #fff6}.card h3{font-family:var(--font-sans);margin-bottom:8px;font-size:17px}.metric{font-family:var(--font-display);font-size:36px}.section{margin-top:28px}.section-title{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title h2{margin:0;font-size:26px}.status{background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:12px;display:inline-flex}.status.green{background:color-mix(in srgb, var(--green) 15%, var(--surface));color:var(--green)}.status.red{background:color-mix(in srgb, var(--accent) 15%, var(--surface));color:var(--accent)}.calendar{border:1px solid var(--line);background:var(--line);border-radius:7px;grid-template-columns:repeat(7,minmax(120px,1fr));gap:1px;display:grid;overflow-x:auto}.calendar-day{background:var(--surface);min-height:190px;padding:12px}.calendar-day.today{background:color-mix(in srgb, var(--green) 7%, var(--surface))}.day-label{margin-bottom:12px;font-weight:700}.event{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border-left:3px solid var(--accent);border-radius:4px;margin-bottom:8px;padding:10px;font-size:13px}.event strong{margin-bottom:4px;display:block}.inline-form{grid-template-columns:1fr 1fr 1.4fr .6fr auto;align-items:end;gap:10px;display:grid}.inline-form>*{min-width:0}.list{gap:9px;display:grid}.list-row{border:1px solid var(--line);background:var(--surface);border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.list-row strong{display:block}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:6px;padding:28px}.lesson-hero{color:#fff;background:#1c1b19 url(/assets/russian-infantry-wwi.jpg) 50%/cover no-repeat;border-radius:7px;flex-direction:column;justify-content:end;min-height:310px;padding:34px;display:flex;position:relative;overflow:hidden}.lesson-hero:before{content:"";background:linear-gradient(90deg,#14110fe6,#14110f42);position:absolute;inset:0}.lesson-hero>*{z-index:1;position:relative}.lesson-hero h1{max-width:850px;margin-bottom:12px;font-size:clamp(32px,4vw,52px)}.lesson-hero p{max-width:730px;font-size:18px}.stepbar{grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0;display:grid}.step{border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:12px}.step.done{border-color:var(--green);color:var(--green)}.student-row{align-items:center;gap:10px;display:flex}.student-row input{width:18px;height:18px}.team-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.team-card{border:1px solid var(--line);border-left:5px solid var(--team);background:var(--surface);border-radius:6px;min-height:120px;padding:16px}.student-course{grid-template-columns:minmax(0,1fr) 320px;gap:18px;display:grid}.progress{background:var(--surface-2);border-radius:10px;height:8px;overflow:hidden}.progress span{background:var(--green);height:100%;display:block}.assignment{border-left:4px solid var(--accent)}.test-shell{place-items:center;min-height:calc(100vh - 68px);padding:30px;display:grid}.test-card{background:var(--surface);border:1px solid var(--line);width:min(820px,100%);box-shadow:var(--shadow);border-radius:7px;padding:clamp(22px,4vw,42px)}.test-top{justify-content:space-between;gap:20px;margin-bottom:24px;display:flex}.timer{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:700}.options{gap:10px;margin:24px 0;display:grid}.option{text-align:left;border:1px solid var(--line);background:var(--bg);min-height:54px;color:var(--text);cursor:pointer;border-radius:5px;align-items:center;gap:12px;padding:12px 15px;display:flex}.option:hover,.option.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, var(--surface))}.option-letter{background:var(--surface-2);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.access-screen{place-items:center;padding:48px 0;display:grid}.access-screen-card{text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:7px;justify-items:center;gap:14px;max-width:520px;padding:36px 28px;display:grid}.access-screen-card h1{margin:0;font-size:30px}.access-screen-card p{color:var(--muted);margin:0;line-height:1.55}.access-screen-icon{background:color-mix(in srgb, var(--accent) 12%, var(--surface));width:52px;height:52px;color:var(--accent);border-radius:50%;place-items:center;display:grid}@media (max-width:1050px){.grid.cols-3,.inline-form{grid-template-columns:1fr 1fr}.student-course{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr 1fr}}@media (max-width:760px){.container{width:min(100% - 24px,1460px)}.auth-shell{grid-template-columns:1fr}.auth-image{display:none}.auth-panel{align-content:start;padding:28px 20px 40px}.auth-card h1{font-size:34px}.workspace{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;padding:12px;position:static}.sidebar h2{display:none}.nav{display:flex;overflow-x:auto}.nav a{flex:none}.workspace-main{padding:22px 12px 50px}.inline-form,.grid.cols-3,.grid.cols-2,.team-grid{grid-template-columns:1fr}.page-head{flex-direction:column;align-items:flex-start}.stepbar{grid-template-columns:1fr}.brand span{display:none}.public-footer{grid-template-columns:1fr;gap:12px;padding:26px 20px}}
