:root{--bg:#f7f8fa;--panel:rgba(255,255,255,0.9);--panel-solid:#ffffff;--ink:#0b1d3a;--muted:#64748b;--line:rgba(11,29,58,0.12);--accent:#1447e6;--accent-dark:#0b1d3a;--accent-soft:#e7edff;--accent-warm:#ffe8eb;--brand-red:#e63946;--danger:#ef4444;--ok:#22c55e;--warning:#f59e0b;--shadow:0 18px 42px rgba(11,29,58,0.08)}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:radial-gradient(circle at top left,rgba(20,71,230,.12),transparent 34rem),linear-gradient(180deg,#ffffff,#f7f8fa 48%,#eef2f7);color:var(--ink);font-family:var(--font-body),ui-sans-serif,system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}pre{background:var(--accent-dark);border-radius:8px;color:#ffffff;overflow-x:auto;padding:14px}.shell{display:flex;flex-direction:column;min-height:100vh}.topbar{align-items:center;border-bottom:1px solid var(--line);background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;gap:24px;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:20;padding:18px clamp(18px,4vw,56px)}.brand{color:var(--ink);display:inline-flex}.brand-lockup{align-items:center;display:inline-flex;gap:12px}.brand-mark-image{height:auto;width:52px}.brand-wordmark{display:grid;font-family:var(--font-display),var(--font-body),sans-serif;grid-gap:0;gap:0;line-height:.9}.brand-wordmark span:first-child{font-size:22px;font-weight:800;letter-spacing:0}.brand-wordmark span:last-child{font-size:19px;font-weight:700}.brand-wordmark strong{color:var(--brand-red)}.brand-lockup.compact{gap:10px}.brand-lockup.compact .brand-mark-image{width:34px}.brand-lockup.compact .brand-wordmark span:first-child{font-size:18px}.brand-lockup.compact .brand-wordmark span:last-child{font-size:15px}.brand-lockup.inverted{color:#ffffff}.brand-lockup.inverted .brand-wordmark strong{color:var(--brand-red)}.nav{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.link-button,.nav a{color:var(--muted);font-size:14px;font-weight:800;transition:color .16s ease,transform .16s ease}.link-button:hover,.nav a:hover{color:var(--accent)}.link-button{background:transparent;border:0;cursor:pointer;padding:0}.user-badge{align-items:flex-start;background:linear-gradient(180deg,rgba(20,71,230,.08),rgba(230,57,70,.08));border:1px solid rgba(20,71,230,.14);border-radius:999px;display:inline-flex;flex-direction:column;gap:2px;line-height:1;padding:8px 12px}.user-badge strong{font-size:13px}.user-badge em{color:var(--accent);font-size:11px;font-style:normal;font-weight:700;text-transform:uppercase}.page{flex:1 1;margin:0 auto;max-width:1180px;padding:34px clamp(14px,4vw,56px) 72px}.login-page{align-items:stretch;display:grid;min-height:100vh;grid-template-columns:minmax(0,1fr) minmax(360px,500px)}.login-visual{background:linear-gradient(120deg,rgba(11,29,58,.88),rgba(11,29,58,.72) 42%,rgba(230,57,70,.36)),url(/home_image.png);background-position:50%;background-size:cover;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(28px,6vw,72px)}.login-visual h1{font-family:var(--font-display),var(--font-body),sans-serif;font-size:clamp(44px,7vw,82px);font-weight:800;line-height:.98;margin:38px 0 18px;max-width:720px}.login-visual p{color:rgba(255,255,255,.88);font-size:20px;font-weight:600;line-height:1.45;margin:0;max-width:560px}.login-panel{align-items:center;display:flex;padding:clamp(24px,5vw,48px)}.form-box{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:clamp(22px,4vw,34px);width:100%}h1,h2,h3{font-family:var(--font-display),var(--font-body),sans-serif;letter-spacing:0}h1{font-size:clamp(38px,5vw,58px);font-weight:800;line-height:1.03;margin:0 0 18px;max-width:980px;position:relative}.page>h1:after{background:var(--brand-red);border-radius:999px;content:"";display:block;height:3px;margin-top:14px;width:42px}h2{font-size:28px;margin:0 0 12px}h2,h3{font-weight:800}h3{font-size:18px;margin:0}.lede{color:var(--muted);font-size:17px;line-height:1.55;margin:0 0 30px;max-width:760px}.grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.contest-stack{display:grid;grid-gap:16px;gap:16px}.contest-card,.theme-card{align-items:end;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,248,250,.96));border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) auto;padding:18px;position:relative;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.contest-card:before,.theme-card:before{background:var(--brand-red);border-radius:8px 0 0 8px;content:"";inset:0 auto 0 0;position:absolute;width:4px}.contest-card:hover,.theme-card:hover{border-color:rgba(20,71,230,.22);box-shadow:0 24px 52px rgba(11,29,58,.12);transform:translateY(-1px)}.contest-card h2,.theme-card h2{font-size:24px;font-weight:800;line-height:1.1;margin:0 0 8px}.contest-card p,.theme-card p{color:var(--muted);font-size:15px;line-height:1.5;margin:0;max-width:52ch}.contest-kicker{color:var(--brand-red);font-size:12px;font-weight:800;margin-bottom:10px;text-transform:uppercase}.contest-metrics,.theme-count{align-items:center;display:grid;grid-gap:10px;gap:10px;justify-items:end;text-align:right}.contest-metrics span,.theme-count{color:var(--muted);font-size:13px;font-weight:700}.contest-metrics strong,.theme-count strong{color:var(--accent);display:block;font-size:30px;line-height:1}.result-head{align-items:baseline;color:var(--muted);display:flex;gap:12px;margin-bottom:18px}.result-head strong{color:var(--ink)}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:clamp(14px,4vw,18px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.card:hover{border-color:rgba(20,71,230,.2)}.meta{color:var(--muted);font-size:13px;font-weight:700;margin-top:10px}.button{align-items:center;background:linear-gradient(180deg,var(--brand-red) 0,#c91422 100%);border:0;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:44px;padding:0 16px;box-shadow:0 12px 24px rgba(230,57,70,.24);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.button:hover{box-shadow:0 14px 28px rgba(230,57,70,.3);transform:translateY(-1px)}.button:disabled{cursor:progress;opacity:.82;transform:none}.button.secondary{background:var(--accent-dark);border:1px solid rgba(11,29,58,.2);color:#ffffff;box-shadow:none}.field{display:grid;grid-gap:7px;gap:7px;margin-bottom:14px}.field span{color:var(--accent-dark);font-size:13px;font-weight:800}.input,.select{background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:8px;min-height:44px;padding:0 12px;width:100%}.password-field{position:relative}.password-field .input{padding-right:48px}.password-toggle{align-items:center;background:transparent;border:0;color:var(--muted);cursor:pointer;display:inline-flex;inset:0 12px 0 auto;justify-content:center;padding:0;position:absolute}.password-toggle:hover{color:var(--accent)}.site-footer{border-top:1px solid rgba(11,29,58,.08);color:var(--muted);font-size:13px;font-weight:700;margin-top:auto;padding:18px clamp(14px,4vw,56px) 24px;text-align:center}.site-footer a{color:var(--brand-red);font-weight:800}.question{margin-bottom:16px}.question-title{font-size:clamp(16px,4vw,18px);font-weight:800;line-height:1.45;margin-bottom:14px}.option{align-items:flex-start;border:1px solid rgba(11,29,58,.12);background:rgba(255,255,255,.92);border-radius:8px;display:flex;gap:10px;margin:8px 0;padding:12px}.option input{margin-top:4px}.source-image{border:1px solid var(--line);border-radius:8px;max-height:620px;max-width:100%;object-fit:contain}.exam-sticky{align-items:center;background:rgba(255,255,255,.92);border:1px solid rgba(20,71,230,.16);border-radius:8px;box-shadow:0 14px 30px rgba(11,29,58,.1);display:flex;gap:12px;justify-content:space-between;margin-bottom:16px;padding:10px;position:-webkit-sticky;position:sticky;top:0;z-index:5}.exam-sticky strong{display:block;color:var(--brand-red);font-family:var(--font-display),var(--font-body),sans-serif;font-size:22px}.exam-sticky span{color:var(--muted);display:block;font-size:12px;font-weight:800}.exam-sticky .button{min-width:112px}.exam-list{display:grid;grid-gap:14px;gap:14px}.exam-footer{align-items:center;background:linear-gradient(135deg,rgba(20,71,230,.08),rgba(230,57,70,.08));border:1px solid rgba(20,71,230,.14);border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-top:18px;padding:16px}.exam-footer strong{display:block;font-size:16px;margin-bottom:2px}.exam-footer span{color:var(--muted);font-size:13px}.submit-button{min-width:132px}.submit-button.compact{min-width:148px}.submit-button.is-busy{cursor:progress;opacity:.92}.spinner{animation:spin .8s linear infinite;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;display:inline-block;height:14px;width:14px}.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.explanation{background:linear-gradient(180deg,rgba(231,237,255,.78),rgba(255,232,235,.45));border-left:3px solid var(--accent);border-radius:8px;margin-top:12px;padding:12px}.explanation strong{display:block;margin-bottom:6px}.explanation p{margin:0}.answer-summary{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:10px}.answer-summary span{background:rgba(255,255,255,.88);border:1px solid rgba(20,71,230,.12);border-radius:8px;color:var(--ink);display:grid;grid-gap:4px;gap:4px;padding:10px 12px}.answer-summary strong{color:var(--muted);font-size:12px;letter-spacing:.02em;text-transform:uppercase}.table{background:rgba(255,255,255,.96);border:1px solid var(--line);border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}.table th{color:var(--accent-dark);font-size:12px;text-transform:uppercase}.stat-row{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:24px 0}.stat{border-top:3px solid var(--brand-red);padding-top:10px}.stat strong{color:var(--accent);font-family:var(--font-display),var(--font-body),sans-serif;display:block;font-size:30px}.correct{color:var(--ok);font-weight:800}.wrong{color:var(--danger);font-weight:800}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:820px){.login-page{grid-template-columns:1fr}.login-visual{min-height:42vh}.login-visual h1{font-size:40px;margin-top:28px}.topbar{align-items:flex-start;flex-direction:column;gap:10px}.nav{width:100%}.brand-lockup.compact .brand-wordmark span:first-child{font-size:16px}.brand-lockup.compact .brand-wordmark span:last-child{font-size:14px}.user-badge{width:100%}.topbar{position:static}h1{font-size:34px}.contest-card,.theme-card{grid-template-columns:1fr}.contest-metrics,.theme-count{justify-items:start;text-align:left}.table{display:block;overflow-x:auto}.exam-sticky{bottom:0;top:auto}.exam-footer .button,.exam-sticky .button{min-width:116px}}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/29e7bbdce9332268-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c3bc380753a8436c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/0484562807a97172-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/29a4aea02fdee119-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/a1386beebedccca4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b957ea75a84b6ea7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/28485c0de2075f40-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/5fb25f343c7550ca-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/7db6c35d839a711c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Poppins Fallback;src:local("Arial");ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.__className_75265a{font-family:Poppins,Poppins Fallback;font-style:normal}.__variable_75265a{--font-display:"Poppins","Poppins Fallback"}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,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(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-body:"Inter","Inter Fallback"}