.judging-status{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid #d6e2eb;font-size:12px}.judging-status p{margin:6px 0 0;color:#487294;line-height:1.6}.judging-status .judging-notice{color:#8e4b30}.ai-review{margin-top:14px;padding:14px;border:1px solid #d6e2eb;border-radius:8px;background:#f2f5f8;font-size:12px}.ai-review summary{cursor:pointer;font-weight:600}.ai-review p,.ai-review dd{overflow-wrap:anywhere;line-height:1.7}.ai-review dl{display:grid;gap:12px;margin:14px 0}.ai-review dt{display:flex;justify-content:space-between;gap:12px}.ai-review dd{margin:4px 0 0;color:#487294}.ai-review small{color:#487294}@media(max-width:760px){.judging-status{align-items:stretch;flex-direction:column}}.admin-body{--muted:#487294;background:#f3f6f9;color:#1f313f}.admin-body a{text-decoration:none}.admin-body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #39678c;outline-offset:3px}.admin-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.admin-sidebar{position:sticky;top:0;height:100vh;padding:32px 20px 20px;background:#182c3d;color:#fff;display:flex;flex-direction:column}.admin-sidebar .brand{padding:0 8px 44px;color:#fff}.admin-sidebar .brand-mark{width:39px;height:39px;color:#182c3d;background:#accfec}.admin-sidebar .brand small{color:#a3bdd3;font-size:11px}.admin-nav-label{margin:0 12px 12px;color:#8bacc7;font:10px DM Mono,monospace;letter-spacing:.16em}.admin-nav{display:grid;gap:7px}.admin-nav a{display:flex;align-items:center;gap:13px;padding:13px 12px;border-radius:8px;color:#b8ccdd;font-size:12px}.admin-nav a>span{color:#779ebd;font:10px DM Mono,monospace}.admin-nav a:hover{background:#243a4c;color:#fff}.admin-nav a.active{color:#182c3d;background:#cedfed;font-weight:700}.admin-nav a.active>span{color:#3a5c77}.admin-sidebar-note{margin-top:auto;padding:40px 12px 28px}.admin-sidebar-note .eyebrow{color:#98b6cf;font-size:9px}.admin-sidebar-note p{margin:12px 0;color:#ccdbe7;font:19px/1.5 Space Grotesk,sans-serif}.admin-sidebar-note a{color:#a7c5de;font-size:11px}.admin-account{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:20px;border-top:1px solid #304d65}.admin-account>div{flex:1;min-width:0}.admin-account strong{display:block;overflow-wrap:anywhere;font-size:12px}.admin-account small{display:block;margin-top:3px;color:#a3bdd3;font-size:10px}.admin-account .profile-avatar{background:#365670;color:#cedfed}.admin-account .text-button{color:#cddbe7;font-size:10px}.admin-workspace{min-width:0;display:flex;flex-direction:column}.admin-topbar{min-height:78px;padding:20px 38px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border-bottom:1px solid #dae4ed;font-size:12px}.admin-topbar>div{display:flex;flex-wrap:wrap;gap:13px}.admin-topbar span{color:#4f7ea4}.admin-topbar>a{color:#33516a;white-space:nowrap}.admin-content{width:100%;max-width:1440px;margin:0 auto;padding:34px 38px 48px}.admin-content .page-intro{margin:12px 0 25px}.admin-content .page-intro h1{font-size:clamp(27px,3vw,37px);color:#1f3241}.admin-content .eyebrow{color:#497498}.admin-content .intro-copy{line-height:1.6}.admin-page-actions{display:flex;gap:10px;margin:0 0 28px}.admin-body .button{min-height:40px;font-size:12px;border-radius:8px}.admin-body .button.primary{background:#21394c;box-shadow:0 3px 8px #182c3d10}.admin-body .button.primary:hover{background:#324f67}.admin-body button:disabled{opacity:.5;cursor:not-allowed;transform:none}.admin-body .button.light{color:#325069}.admin-body .admin-jumpbar{background:transparent;border:0;border-bottom:1px solid #d6e2eb;border-radius:0;padding:0 0 12px;gap:8px}.admin-body .admin-jumpbar a{white-space:nowrap;color:#3d617f}.admin-body .admin-jumpbar a span{color:#487396}.admin-body .stat-grid{gap:16px}.admin-body .stat-card{padding:22px 17px;border-radius:12px;box-shadow:0 3px 12px #1f313f04}.admin-body .stat-card span{color:#487295;font-size:12px}.admin-body .stat-card strong{font-size:30px}.admin-body .stat-card:after{display:none}.admin-body .portal-section{scroll-margin-top:24px;margin-top:32px}.admin-body .section-heading{align-items:center;gap:14px;margin-bottom:18px}.admin-body .data-table{border-radius:12px;box-shadow:none}.admin-body .data-row{min-height:76px;color:#3e6280}.admin-body .data-row>*{min-width:0;overflow-wrap:anywhere}.admin-body .data-head{min-height:42px;color:#497498;background:#eaf0f5}.admin-body .data-row small{display:block;color:#4e7ca1;font-size:11px;line-height:1.6;margin-top:5px}.admin-competition-table .data-row{grid-template-columns:minmax(220px,2fr) .7fr .8fr .8fr auto;min-width:740px}.admin-body .competition-title{color:#24394b;font-weight:700}.admin-body .competition-title:hover{text-decoration:underline}.admin-body .settings-link{padding:8px 12px;min-height:34px;font-size:11px}.admin-body .card-status{width:max-content;padding:6px 10px;border-radius:20px;font-size:10px}.admin-body .card-status.live{color:#8e4b30;background:#fff0e3}.admin-body .card-status.scheduled{color:#274964;background:#e3ebf1}.admin-body .question-review-table .data-row{min-width:660px}.admin-body .participant-section .data-row{grid-template-columns:minmax(130px,1.3fr) minmax(150px,1.3fr) minmax(140px,1.2fr) minmax(130px,1fr) minmax(180px,1.5fr);min-width:1000px}.admin-body .review-section{background:#e7eef3;border-color:#d6e2eb;border-radius:14px;padding:24px}.admin-body .review-filters{flex-wrap:wrap;padding:16px}.admin-body .review-filters .filter-search input{padding-left:10px}.admin-body .submission-card{padding:20px;border-radius:10px}.admin-body .submission-person small,.admin-body .submission-card-main>div:first-child>small{color:#4c7a9f}.admin-body .grade-form input,.admin-body .grade-form select{min-width:0}.admin-body .empty-state{padding:40px 24px;line-height:1.7}.admin-body .empty-state strong{display:block;color:#2d475c}.admin-body .alert{margin:0 0 24px;padding:16px 20px;line-height:1.7}.admin-body .alert ul{padding-left:18px;margin-top:5px;list-style:disc}.admin-body .back-link{color:#385a75;margin-bottom:10px}.admin-body .portal-form{margin-top:0}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}.settings-sections{display:grid;gap:22px;min-width:0}.settings-card{padding:26px;border:1px solid #d7e3ec;border-radius:12px;background:#fff;display:grid;gap:20px}.settings-heading{display:flex;gap:13px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid #e2eaf1}.settings-heading>span{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;background:#e6edf3;border-radius:8px;color:#3d6280;font:11px DM Mono,monospace}.settings-card h2{margin:0;font:600 18px Space Grotesk,sans-serif}.settings-heading p{margin:5px 0 0;color:#4b789d;font-size:12px;line-height:1.6}.admin-body .portal-form label{color:#325069;line-height:1.5}.admin-body .portal-form :is(input,select,textarea){background:#fff;border-color:#c7d7e4;border-radius:7px;font-size:13px}.admin-body .portal-form textarea{resize:vertical}.admin-body .portal-form input[type=checkbox]{accent-color:#2e495f}.admin-body .portal-form small{color:#4b789d;font-size:11px}.admin-body .form-grid{align-items:start}.settings-summary{position:sticky;top:24px;min-width:0}.settings-summary .settings-card{gap:16px;background:#eaf0f5;border-color:#cfdde8}.settings-summary .eyebrow,.settings-summary .muted{margin:0}.settings-summary .muted{font-size:12px}.settings-join-code{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px dashed #a2bcd2;border-radius:8px;background:#fff;padding:14px}.settings-join-code code{font:18px DM Mono,monospace;letter-spacing:.08em;overflow-wrap:anywhere}.settings-join-code button{font-size:11px;color:#395a75}.settings-facts{display:grid;gap:12px;margin:0;font-size:12px}.settings-facts>div{display:flex;justify-content:space-between}.settings-facts dt{color:#446c8d}.settings-facts dd{margin:0;font-weight:700}.settings-note{margin:0;padding-top:16px;border-top:1px solid #ccdbe7;color:#446c8d;font-size:11px;line-height:1.8}.question-picker-toolbar{display:flex;align-items:center;gap:15px}.question-picker-toolbar>label{flex:1;min-width:0}.question-picker-toolbar>span{font-size:11px;white-space:nowrap;color:#3f6584}.admin-body .portal-form .question-picker{padding:0;border:0;background:transparent;max-height:420px;overflow:auto}.admin-body .question-option{border:1px solid #d7e3ec;padding:14px;background:#fafbfc}.admin-body .question-option:has(input:checked){border-color:#5f8db2;background:#e8f0f6}.admin-body .question-option input{flex-shrink:0}.admin-body [hidden]{display:none!important}.settings-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;border-top:1px solid #d6e2eb}.settings-actions p{margin:0;font-size:12px;color:#4d7a9f}.settings-actions>div{display:flex;gap:10px}.admin-question-form{max-width:940px;margin:0 auto}.admin-question-form .form-heading{margin:12px 0 28px}.admin-question-form>.portal-form{padding:28px;border:1px solid #d6e2eb;border-radius:12px;background:#fff;gap:22px}.admin-question-form .portal-form textarea[name$=code]{font-family:DM Mono,monospace;background:#f5f8fa}.admin-question-form .settings-actions{padding-bottom:0}.admin-footer{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding:20px 38px;border-top:1px solid #dbe5ed;color:#4e7da3;font:10px DM Mono,monospace}.admin-skip{position:absolute;top:-100px;left:16px;z-index:20;padding:12px;background:#fff;color:#182c3d;border-radius:6px}.admin-skip:focus{top:10px}.admin-login{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:#f4f9fd}.admin-login .auth-card{margin:0;border-radius:18px;padding:40px;border-top:4px solid #2d485e}.admin-login .brand{padding-bottom:32px}.admin-login .brand-mark{background:#243a4c;color:#aacce8}.admin-login .brand>span:last-child{display:block}.admin-login .button.primary{background:#243a4c}@media(max-width:1200px){.settings-layout{grid-template-columns:minmax(0,1fr)}.settings-summary{position:static}.settings-summary .settings-card{gap:14px}.admin-shell{grid-template-columns:210px minmax(0,1fr)}.admin-content{padding:28px 24px 40px}.admin-topbar{padding:20px 24px}.admin-body .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-body .submission-card .grade-form{grid-template-columns:1fr 1fr}.admin-body .grade-label,.admin-body .grade-form input[name=feedback]{grid-column:1/-1}}@media(max-width:760px){.admin-shell{display:block}.admin-sidebar{position:static;height:auto;padding:20px 16px 12px}.admin-sidebar .brand{padding:0}.admin-sidebar .brand>span:last-child{display:block}.admin-nav-label,.admin-sidebar-note{display:none}.admin-nav{display:flex;gap:5px;overflow:auto;margin-top:20px;padding-bottom:4px}.admin-nav a{flex-shrink:0;padding:10px;font-size:11px}.admin-nav a>span{display:none}.admin-account{margin-top:10px;padding-top:12px}.admin-account .profile-avatar{width:28px;height:28px}.admin-account small{display:none}.admin-topbar{padding:16px;min-height:60px;font-size:11px}.admin-topbar>div{gap:7px}.admin-content{padding:24px 16px 32px}.admin-body .stat-grid{gap:10px}.admin-body .stat-card{padding:15px 12px;gap:9px}.admin-body .stat-card strong{font-size:25px}.admin-body .stat-card span{font-size:11px}.admin-body .stat-icon{width:30px;height:30px}.admin-body .form-grid{grid-template-columns:1fr}.settings-card{padding:20px}.settings-actions{align-items:stretch;flex-direction:column}.settings-actions>div{display:grid;grid-template-columns:1fr 1fr}.admin-body .review-section{padding:16px 12px}.admin-body .submission-card{padding:15px}.admin-body .submission-person small{overflow-wrap:anywhere}.admin-body .section-heading{align-items:flex-start;flex-wrap:wrap}.admin-body .question-picker-toolbar{gap:10px}.admin-question-form>.portal-form{padding:20px}.admin-footer{padding:18px 16px;flex-wrap:wrap}.admin-login .auth-card{padding:28px}}@media(prefers-reduced-motion:reduce){.admin-body *{transition:none!important;scroll-behavior:auto!important}}.results-filter{padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff);margin-bottom:24px}.results-filter>label{flex:1;max-width:520px}.results-filter select{width:100%}.results-board{overflow:hidden;margin-top:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface,#fff);box-shadow:var(--shadow)}.results-board-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 28px;border-bottom:1px solid var(--line)}.results-board-heading h2{margin:6px 0;font:600 24px/1.25 Space Grotesk,sans-serif}.results-board-heading p{margin:0;color:var(--muted);font-size:12px}.results-count{padding:8px 12px;border:1px solid var(--line);border-radius:30px;font-size:12px;white-space:nowrap}.results-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.results-metrics article{padding:22px 28px;background:var(--surface-soft,#f8faf9)}.results-metrics span{display:block;color:var(--muted);font-size:12px}.results-metrics strong{display:block;margin-top:8px;font:600 28px Space Grotesk,sans-serif}.results-metrics small{color:var(--muted);font:400 12px DM Sans,sans-serif}.results-table-scroll{overflow:auto}.results-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.results-table thead th{padding:15px 20px;color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap;border-bottom:1px solid var(--line)}.results-table td,.results-table tbody th{padding:20px;border-bottom:1px solid var(--line);vertical-align:middle}.results-table tbody tr:last-child>*{border-bottom:0}.results-table tbody tr:hover{background:var(--surface-soft,#f8faf9)}.results-rank{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:9px;font:500 13px DM Mono,monospace}.results-rank-first{background:#fff1ce;color:#7c5810;border-color:#efda9e}.results-entrant{min-width:190px;max-width:320px;font-weight:600;overflow-wrap:anywhere}.results-entrant a{color:var(--ink);text-decoration:none}.results-entrant a:hover{text-decoration:underline}.results-entrant a span{color:var(--muted);margin-left:8px}.results-entrant small{display:block;margin-top:6px;font-size:11px;font-weight:400;line-height:1.5;color:var(--muted)}.results-score{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.results-progress-label{display:block;margin-bottom:7px;font-size:11px;white-space:nowrap;color:var(--muted)}.results-table progress{display:block;width:130px;height:5px;border:none;border-radius:8px;overflow:hidden;background:var(--line);accent-color:#43896b}.results-table progress::-webkit-progress-bar{background:var(--line)}.results-table progress::-webkit-progress-value{background:#43896b;border-radius:8px}.results-table progress::-moz-progress-bar{background:#43896b}.results-pill{display:inline-block;min-width:30px;padding:5px 9px;text-align:center;border-radius:6px;background:var(--surface-soft,#f2f5f3);font-size:12px}.results-accepted{background:#e5f3eb;color:#286447}.results-pending{background:#fff1d9;color:#865e1c}.results-board-footer{border-top:1px solid var(--line);padding:15px 24px;font-size:11px;color:var(--muted)}.results-empty{padding:60px 24px;border:1px dashed var(--line);border-radius:14px;text-align:center;background:var(--surface,#fff)}.results-empty h2,.results-empty h3{font:600 20px Space Grotesk,sans-serif;margin:0 0 10px}.results-empty p{color:var(--muted);margin:0;line-height:1.6}html[data-theme=dark] .results-accepted{background:#203e31;color:#99dbb7}html[data-theme=dark] .results-pending,html[data-theme=dark] .results-rank-first{background:#413720;color:#efd292;border-color:#655431}@media(max-width:800px){.results-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.results-board-heading{padding:20px;align-items:flex-start;flex-direction:column}.results-metrics article{padding:18px 20px}.results-table{min-width:740px}}:root{--ink: #1f313f;--muted: #487294;--paper: #f3f6f9;--line: #d6e2eb;--shadow: 0 8px 24px #182c3d08;--brand-blue: #182c3d;--blue-soft: #cedfed}body{line-height:1.5}a{text-decoration:none}[hidden]{display:none!important}:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #39678c;outline-offset:3px}.button{min-height:42px;border-radius:8px}.button.primary,.button.dark{background:#21394c;color:#fff;box-shadow:0 3px 8px #182c3d10}.button.primary:hover,.button.dark:hover{background:#324f67}.button.light{background:#fff;border:1px solid var(--line);color:#325069}.brand-mark{background:var(--brand-blue);color:#accfec}.eyebrow{color:#497498}.muted{line-height:1.75}button:disabled{cursor:not-allowed;opacity:.55;transform:none}.portal-body{min-height:100vh;display:flex;flex-direction:column;padding:0;background:var(--paper)}.portal-topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px max(24px,calc((100% - 1160px)/2));background:var(--brand-blue);color:#fff}.portal-topbar .brand{padding:0;color:#fff}.portal-topbar .brand-mark{width:40px;height:40px;background:#accfec;color:var(--brand-blue)}.portal-topbar .brand small{color:#a3bdd3}.portal-topbar nav{display:flex;align-items:center;gap:8px}.portal-topbar nav a{padding:10px 14px;border-radius:8px;color:#ccdae6;font-size:12px}.portal-topbar nav a:hover{background:#243a4c;color:#fff}.portal-topbar nav a[aria-current]{background:var(--blue-soft);color:var(--brand-blue);font-weight:700}.portal-topbar .portal-admin-link{margin-left:12px;border:1px solid #3f6584}.portal-page{flex:1;width:100%}.portal-footer{display:flex;justify-content:space-between;gap:16px;padding:22px max(24px,calc((100% - 1160px)/2));border-top:1px solid var(--line);color:var(--muted);font:10px DM Mono,monospace}.portal-card-page{display:grid;place-items:center;padding:48px 24px}.portal-card-page :is(.auth-card,.join-card,.result-card){width:100%;margin:0;padding:36px;border:1px solid var(--line);border-top:4px solid #2d485e;border-radius:16px;background:#fff;box-shadow:var(--shadow)}.portal-card-page .auth-card{max-width:480px}.portal-card-page .join-card{max-width:680px}.portal-card-page .result-card{max-width:600px}.portal-card-page .brand{padding:0 0 28px}.portal-card-page .brand>span:last-child{display:block}.portal-card-page h1{font-size:clamp(26px,4vw,34px);letter-spacing:-.04em}.portal-form :is(input,select,textarea){border-color:#c7d7e4;border-radius:8px;background:#fff;font-size:14px}.portal-form :is(input,select,textarea):focus{border-color:#39678c;box-shadow:0 0 0 3px #e3ebf1}.portal-form :is(input,select){min-height:44px}.portal-form input[type=checkbox]{min-height:auto;accent-color:#2e495f}.portal-form label{color:#325069;line-height:1.6}.portal-form .check{align-items:center}.back-link,.form-note a{color:#385a75}.join-meta{flex-wrap:wrap;gap:8px}.join-meta span{background:#e8eff4;color:#385a75}.result-mark{background:#e3ebf1;color:#274964}.result-summary{border-radius:10px;background:#ebf1f6}.home-shell{max-width:1160px;margin:0 auto;padding:0 24px 48px}.home-hero{margin:36px 0 48px;padding:44px;border:1px solid #d2dfe9;border-radius:20px;background:#e7eef3;gap:36px}.home-hero h1{color:var(--brand-blue);font-size:clamp(36px,5vw,62px)}.home-hero h1 em{color:#426989}.hero-lede{color:#436b8b;line-height:1.8}.eyebrow-mark{background:#436b8b}.code-window{background:#182c3d;border-color:#2e495f;box-shadow:0 24px 48px #182c3d20}.window-bar,.code-status{background:#213648;border-color:#2e495f}.hero-badge{border-color:#c1d3e1;background:#fff;color:#2c465b;box-shadow:var(--shadow)}.badge-spark{color:#3c607d}.visual-orbit{border-color:#b9cdde}.section-intro h2{color:#1f3241}.competition-lobby{gap:18px}.lobby-item{padding:26px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:none;transition:border-color .15s,box-shadow .15s}.lobby-item:hover{border-color:#749cbc;box-shadow:var(--shadow)}.lobby-item h2{color:#24394b}.lobby-item p{color:var(--muted)}.lobby-meta strong{color:#2e495f}.card-status{border-radius:20px}.card-status.live{background:#e3ebf1;color:#274964}.card-status.upcoming{background:#f3efd8;color:#796928}.empty-lobby{padding:44px 24px;border:1px dashed #abc3d7;border-radius:12px;background:#fff;color:var(--muted)}.admin-body .admin-jumpbar a.active{background:var(--brand-blue);color:#fff}.admin-body .admin-jumpbar a.active span{color:#accfec}.admin-nav a{transition:color .15s,background .15s}.admin-nav a.active{box-shadow:inset 3px 0 #82a9c9}.admin-sidebar{overflow-y:auto}.admin-body .review-tabs a.active{color:#243a4c;border-color:#2d485e}.admin-body .submission-score strong,.admin-body .code-details summary{color:#2d485e}.solve-body{background:var(--paper)}.solve-header{background:var(--brand-blue);color:#fff;border-color:#2e495f}.solve-header .brand{color:#fff}.solve-header .brand small{color:#a3bdd3}.solve-user>span{color:#ccdae6}.solve-header .brand-mark{color:var(--brand-blue);background:#accfec}.solve-header .button{background:var(--blue-soft);color:var(--brand-blue)}.solve-user>strong{color:var(--brand-blue);background:#cedfed;font-family:DM Mono,monospace}.solve-layout{max-width:1440px;padding:0 24px;gap:24px}.question-list{padding:18px 12px;background:#fff;border:1px solid var(--line);border-radius:12px}.question-tab{border-radius:8px;color:#325069}.question-tab:hover,.question-tab:focus-visible{background:#e6edf3;border-color:#b1c8da}.solve-question{border-radius:14px;border-color:var(--line);box-shadow:var(--shadow);scroll-margin-top:100px}.solve-workspace{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.editor-toolbar{flex-wrap:wrap;gap:10px}.editor-hint{max-width:240px;line-height:1.6}.code-pane>label:not(.sr-only){display:block;padding:10px 14px;background:#e8eff4;color:#325069;font-size:12px}.code-pane .primary{background:#accfec;color:#182c3d}.code-pane .primary:hover{background:#cae0f2}.locked-question{background:#ebf1f5;border-color:#c0d2e0}@media(max-width:1000px){.home-hero{padding:30px;gap:20px}.solve-workspace{grid-template-columns:minmax(0,1fr)}.problem-pane{min-height:0}}@media(max-width:700px){.portal-topbar{padding:18px 16px;flex-wrap:wrap;gap:18px}.portal-topbar nav{width:100%;overflow-x:auto}.portal-topbar nav a{white-space:nowrap;padding:9px 11px}.portal-topbar .portal-admin-link{margin-left:auto}.portal-topbar .brand>span:last-child{display:block}.portal-footer{padding:20px 16px;flex-wrap:wrap;line-height:1.7}.portal-card-page{padding:28px 16px}.portal-card-page :is(.auth-card,.join-card,.result-card){padding:24px}.home-shell{padding:0 16px 32px}.home-hero{margin:24px 0 32px;padding:26px 22px;grid-template-columns:1fr}.home-actions{flex-wrap:wrap}.home-actions .button{width:100%}.hero-visual{display:none}.section-intro{gap:12px;flex-wrap:wrap}.lobby-item{padding:22px}.solve-layout{padding:0 14px}.question-list{padding:12px}.solve-header{padding:16px;gap:16px}.solve-user{flex-wrap:wrap;gap:10px}.editor-hint{max-width:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.coding-workspace{min-height:100dvh;overflow:auto;display:flex;flex-direction:column;background:#e9eff4}.coding-workspace .solve-header{position:static;flex:0 0 auto;min-height:60px;padding:10px 20px;gap:20px;box-shadow:none}.coding-workspace .solve-header .brand{min-width:0}.coding-workspace .brand small{max-width:35vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coding-workspace .solve-header .button{min-height:34px;padding:8px 12px;font-size:12px}.coding-workspace .solve-user{flex-shrink:0;gap:14px}.coding-workspace .solve-user>strong{padding:6px 12px;font-size:15px}.coding-workspace .solve-layout{flex:1 0 auto;display:flex;flex-direction:column;min-height:calc(100dvh - 60px);width:100%;max-width:none;margin:0;padding:0 12px 12px;gap:0}.coding-workspace .question-list{flex:0 0 auto;position:static;display:flex;align-items:center;width:100%;gap:8px;padding:10px 0;overflow-x:auto;border:0;border-radius:0;background:transparent}.coding-workspace .question-list>.eyebrow{display:block;flex-shrink:0;margin:0 8px;padding:0;font-size:10px}.coding-workspace .question-tab{display:flex;flex:0 0 auto;align-items:center;min-width:0;max-width:340px;gap:9px;padding:9px 13px;margin:0;background:#fff;border:1px solid #d6e2eb;font-size:12px}.coding-workspace .question-tab strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}.coding-workspace .question-tab small{margin:0;white-space:nowrap;font-size:10px}.coding-workspace .question-tab.active{background:#cedfed;border-color:#779ebd;color:#182c3d}.coding-workspace .question-tab:hover{transform:none}.coding-workspace .solve-main{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;gap:8px}.coding-workspace .solve-main>.alert{flex-shrink:0;margin:0;padding:8px 14px}.coding-workspace .solve-question{display:flex;flex-direction:column;flex:1;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.coding-workspace .question-top{display:flex;flex-direction:row;align-items:center;gap:14px;padding:5px 6px 12px;flex-shrink:0}.coding-workspace .question-top>div{display:flex;align-items:center;min-width:0;gap:12px}.coding-workspace .question-top h1{margin:0;font-size:18px;overflow-wrap:anywhere}.coding-workspace .question-top .card-status{flex-shrink:0;font-size:10px}.coding-workspace .points{white-space:nowrap;font-size:12px}.coding-workspace .code-form{display:flex;flex:1;min-height:0;margin:0}.coding-workspace .solve-workspace,.coding-workspace .submitted-workspace{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);flex:1;min-height:0;width:100%;gap:12px;align-items:stretch}.coding-workspace .problem-pane{min-height:0;padding:0;overflow:auto;border:1px solid #d6e2eb;border-radius:10px;background:#fff}.coding-workspace .problem-pane-label{position:sticky;top:0;z-index:1;margin:0;padding:13px 18px;border-bottom:1px solid #dae4ed;background:#f7f9fb;color:#325069;font:600 12px DM Sans,sans-serif;letter-spacing:0;text-transform:none}.coding-workspace .problem-pane .prompt{margin:0;padding:24px;line-height:1.85;font-size:14px;overflow-wrap:anywhere}.coding-workspace .code-pane{display:flex;flex-direction:column;min-height:0;overflow:visible;border:1px solid #273e51;border-radius:10px;background:#202a2d;box-shadow:0 14px 34px #263f541f}.coding-workspace .editor-toolbar{flex:0 0 auto;padding:12px 16px;gap:8px;border-radius:0}.coding-workspace .editor-hint{max-width:none;font:11px DM Sans,sans-serif}.coding-workspace .language-select{font-size:12px}.coding-workspace .code-editor{display:flex;flex:0 0 clamp(280px,48dvh,680px);min-height:clamp(280px,48dvh,680px);overflow:hidden}.coding-workspace .line-numbers{flex:0 0 52px;width:52px;margin:0;padding:20px 12px 20px 0;overflow:hidden;background:#202a2d;color:#6a95b8;text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid #253b4d}.coding-workspace .code-editor textarea{flex:1;width:0;min-width:0;min-height:0;margin:0;padding:20px 18px;overflow:auto;resize:none;border:0;border-radius:0;background:#202a2d;color:#dfe8f0;outline-offset:-3px;box-shadow:none;tab-size:4}.coding-workspace .code-editor textarea:focus{background:#fff;box-shadow:inset 0 0 0 2px #6aa9d3}.coding-workspace .code-editor textarea,.coding-workspace .line-numbers{font:14px/24px DM Mono,monospace;white-space:pre}.coding-workspace .editor-status{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;padding:6px 12px;border-top:1px solid #253b4d;color:#98b5cd;font-size:10px}.coding-workspace .editor-actions{flex:0 0 auto;display:flex;flex-direction:row;justify-content:flex-end;gap:8px;padding:10px 12px;border:0;border-top:1px solid #253b4d}.coding-workspace .editor-actions .button{width:auto;min-height:34px;padding:7px 16px;font-size:12px}.coding-workspace .run-output{display:flex;flex-direction:column;flex:0 0 auto;min-height:86px;margin:0;border:0;border-top:1px solid #d6e2eb;border-radius:0}.coding-workspace .run-output-head{flex-shrink:0;padding:10px 14px;gap:10px;background:#f7f9fb}.coding-workspace .run-cases{display:block;flex:1;min-height:0;overflow:visible;background:#fff}.coding-workspace .run-empty{padding:20px 16px;color:#487294;font-size:12px;line-height:1.7}.coding-workspace .run-case pre{max-height:none;font-size:12px}.coding-workspace .submitted-pane{min-height:0;overflow:auto;border:1px solid #d6e2eb;border-radius:10px;background:#fff}.coding-workspace .locked-question{margin:16px}.coding-workspace .submitted-code{margin:0;padding:22px;overflow:auto;background:#202a2d;color:#dfe8f0;font:13px/1.7 DM Mono,monospace}@media(max-width:760px),(max-height:540px){.coding-workspace{height:auto;min-height:100dvh;overflow:auto}.coding-workspace .solve-header{flex-wrap:wrap;padding:12px;gap:12px}.coding-workspace .solve-user{margin-left:auto}.coding-workspace .solve-workspace,.coding-workspace .submitted-workspace{grid-template-columns:minmax(0,1fr)}.coding-workspace .question-top>div{align-items:flex-start;flex-direction:column;gap:6px}.coding-workspace .question-top h1{font-size:17px}.coding-workspace .problem-pane{max-height:40dvh}.coding-workspace .code-pane{height:auto;min-height:0}.coding-workspace .code-editor{min-height:180px}.coding-workspace .question-list>.eyebrow{display:none}.coding-workspace .brand small{max-width:55vw}}.coding-workspace .integrity-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;padding:10px 14px;border:1px solid #d6e2eb;background:#fff}.coding-workspace .integrity-toolbar>div{display:grid;gap:3px}.coding-workspace .integrity-toolbar>div strong{color:#263f54;font-size:12px}.coding-workspace .integrity-toolbar>div span{color:#60778b;font-size:11px}.coding-workspace .integrity-toolbar>[data-integrity-count]{color:#8b4b25;font-size:12px}.coding-workspace .integrity-toolbar .button{min-height:32px;padding:6px 12px;font-size:11px}.coding-workspace .integrity-dialog{width:min(92vw,480px);max-width:none;padding:0;border:1px solid #c8d7e3;border-radius:8px;color:#263f54;box-shadow:0 18px 50px #14283840}.coding-workspace .integrity-dialog::backdrop{background:#132330a8}.coding-workspace .integrity-dialog-content{display:grid;gap:12px;padding:26px}.coding-workspace .integrity-dialog-content .eyebrow{margin:0;color:#426b88;font-size:10px}.coding-workspace .integrity-dialog-content h2{margin:0;font-size:22px}.coding-workspace .integrity-dialog-content p{margin:0;color:#526b7d;line-height:1.6}.coding-workspace .integrity-dialog-content .button{justify-self:start}.coding-workspace .integrity-dialog-error{color:#8b4b25!important;font-size:12px}.admin-body .integrity-history{color:#263f54;font-size:12px}.admin-body .integrity-history summary{cursor:pointer;color:#385a75;font-weight:700}.admin-body .integrity-history ol{display:grid;gap:8px;margin:10px 0;padding-left:20px}.admin-body .integrity-history li strong,.admin-body .integrity-history li small{display:block}.admin-body .integrity-history li small,.admin-body .integrity-history>p{color:#60778b;font-size:11px}.coding-workspace .button[aria-busy=true]{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:wait;opacity:.85}.coding-workspace .button[aria-busy=true]:before{content:"";width:14px;height:14px;flex:0 0 14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:submission-spin .8s linear infinite}@media(prefers-reduced-motion:reduce){.coding-workspace .button[aria-busy=true]:before{animation:none}}.test-case-editor{padding:18px;border:1px solid #d5e5f2;border-radius:10px}.test-case-editor legend{padding:0 8px;font-weight:700}.test-case-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 0;border-bottom:1px solid #d5e5f2;margin-bottom:12px}.test-case-row .button{justify-self:start}.test-case-editor small{margin-left:12px}.coding-workspace .custom-tests{flex:0 0 auto;max-height:none;overflow:visible;padding:10px 14px;border-top:1px solid #d5e5f2;background:#f5faff;font-size:12px}.custom-tests summary{cursor:pointer;font-weight:700}.custom-tests summary span{font-weight:400;color:#60778b;margin-left:10px}.case-controls,[data-case-tabs]{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.case-controls{margin:10px 0}.case-controls .button,.case-tab{min-height:30px;padding:5px 9px;font-size:11px;border-radius:6px}.case-tab[aria-pressed=true]{background:#d2eaff;color:#20577f;font-weight:700}.custom-case-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.custom-case-fields label{display:grid;gap:5px}.coding-workspace .custom-case-fields textarea{width:100%;min-height:64px;margin:0;padding:8px;color:#263f54;background:#fff;border:1px solid #bdd8ed;border-radius:6px;font:12px/1.5 DM Mono,monospace;resize:vertical}.compare-output{display:flex;align-items:center;gap:6px;margin-top:8px}.compare-output input{accent-color:#3984b9}.test-result-summary{padding:12px;background:#eaf5ff;border-radius:8px}@media(max-width:700px){.test-case-row,.custom-case-fields{grid-template-columns:1fr}.custom-tests summary span{display:block;margin:5px 0 0}}:root{--ink: #263f54;--muted: #60778b;--paper: #f5faff;--line: #d5e5f2;--brand-blue: #226497;--blue-soft: #dcefff;--coral: #3984b9;--coral-soft: #e8f4ff;--shadow: 0 8px 24px #32648b0a}.brand-logo{display:block;width:155px;height:40px;object-fit:contain;flex-shrink:0}.brand>span:last-child{padding-left:12px;border-left:1px solid var(--line)}.brand strong{color:var(--ink)}.brand small{color:var(--muted)}.portal-topbar,.solve-header{background:#eaf5ff;color:var(--ink);border-bottom:1px solid var(--line)}.portal-topbar .brand,.solve-header .brand{color:var(--ink)}.portal-topbar .brand small,.solve-header .brand small,.solve-user>span{color:var(--muted)}.portal-topbar nav a{color:#42647e}.portal-topbar nav a:hover{background:#dcefff;color:#245c87}.portal-topbar nav a[aria-current]{background:#cfe8fc;color:#245c87}.portal-topbar .portal-admin-link{border-color:#bfd9ec}.button.primary,.button.dark,.admin-body .button.primary,.admin-login .button.primary,.code-pane .primary,.solve-header .button{background:#d2eaff;color:#20577f;box-shadow:none}.button.primary:hover,.button.dark:hover,.admin-body .button.primary:hover,.admin-login .button.primary:hover,.code-pane .primary:hover,.solve-header .button:hover{background:#bddff8}.portal-card-page :is(.auth-card,.join-card,.result-card),.admin-login .auth-card{border-top-color:#86bfe8}.home-hero{background:#eaf5ff;border-color:#d3e7f7}.home-hero h1{color:#284d69}.home-hero h1 em{color:#367faf}.code-window{background:#fff;border-color:#d4e7f5;box-shadow:0 20px 40px #3676a315}.window-bar,.code-status{background:#e1effa;color:#526f86;border-color:var(--line)}.code-lines{color:#35566f}.code-lines b{color:#7b91a3}.code-lines strong,.code-status b{color:#246d9d}.code-lines em{color:#7650a0}.visual-orbit{border-color:#c9e3f6}.hero-badge{border-color:var(--line)}.badge-top strong,.badge-bottom strong{color:#367faf}.admin-body{--muted: #60778b;background:var(--paper);color:var(--ink)}.admin-sidebar{background:#eaf5ff;color:var(--ink);border-right:1px solid var(--line)}.admin-sidebar .brand{flex-wrap:wrap;gap:16px;color:var(--ink);padding-bottom:30px}.admin-sidebar .brand>span:last-child{padding-left:0;border:0}.admin-sidebar .brand small,.admin-account small{color:var(--muted)}.admin-nav-label,.admin-nav a>span{color:#627f96}.admin-nav a{color:#42647e}.admin-nav a:hover{background:#dfedfa;color:#245c87}.admin-nav a.active{background:#cfe8fc;color:#245c87;box-shadow:inset 3px 0 #6aafe0}.admin-nav a.active>span{color:#396c93}.admin-sidebar-note .eyebrow,.admin-sidebar-note a{color:#3477a7}.admin-sidebar-note p{color:#42647e}.admin-account{border-color:#c9deee}.admin-account .profile-avatar{background:#cfe8fc;color:#245c87}.admin-account .text-button{color:#326b95}.admin-body .admin-jumpbar a.active{background:#dcefff;color:#245c87}.admin-body .admin-jumpbar a.active span{color:#42647e}.import-panel{color:var(--ink);border:1px solid var(--line);box-shadow:none}.import-copy p,.import-copy .eyebrow,.import-success{color:var(--muted)}.import-icon{color:#326b95;background:#fff;border-color:var(--line)}.import-form input{color:var(--ink);background:#fff;border-color:#bdd8ed}.import-form input::placeholder{color:#60778b}.import-form .button{background:#cfe8fc;color:#245c87}.import-form .button:hover{background:#bddff8}.import-success{border-color:var(--line)}.import-success strong{color:var(--ink)}.coding-workspace{background:#f0f7fd}.coding-workspace .question-tab.active{background:#dcefff;border-color:#91c3e7;color:#245c87}.coding-workspace .code-pane,.editor-shell{background:#fff;border-color:var(--line)}.editor-toolbar,.coding-workspace .editor-status,.code-pane .editor-actions{background:#eaf5ff;color:#526f86;border-color:var(--line)}.editor-hint,.language-control{color:#60778b}.language-select{color:#305e7f;background:#fff;border-color:#bed8eb}.language-chip{color:#326b95}.coding-workspace .line-numbers{background:#f3f8fc;color:#70879a;border-color:var(--line)}.coding-workspace .code-editor textarea,.editor-shell textarea,.code-pane>textarea{background:#fff;color:#263f54}.code-editor textarea::placeholder,.editor-shell textarea::placeholder,.code-pane>textarea::placeholder{color:#6c8295}.coding-workspace .editor-actions{border-color:var(--line)}.coding-workspace .submitted-code,.code-details pre,.run-case pre{background:#f0f7fd;color:#30536e}.coding-workspace .brand>span:last-child{display:block}@media(max-width:700px){.brand-logo{width:132px;height:34px}.brand{gap:10px}.brand strong{font-size:15px}.brand>span:last-child{padding-left:10px}.admin-sidebar .brand{flex-wrap:nowrap}.admin-sidebar .brand>span:last-child{padding-left:10px;border-left:1px solid var(--line)}.coding-workspace .brand small{max-width:42vw}}:root{color-scheme:light;--ink: #243249;--muted: #627089;--paper: #f7f9fd;--surface: #ffffff;--surface-soft: #f3f7fd;--line: #e1e8f2;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-text: #ffffff;--button-fill: #2563eb;--button-hover: #1d4ed8;--blue-soft: #eaf2ff;--brand-blue: #2563eb;--white: var(--surface);--shadow: 0 12px 36px #294b7810}:root[data-theme=dark]{color-scheme:dark;--ink: #e0e8f2;--muted: #a5b5ca;--paper: #111923;--surface: #192330;--surface-soft: #1e2b3a;--line: #344355;--accent: #8bb8ed;--accent-hover: #aed0f6;--accent-text: #ffffff;--button-fill: #35649d;--button-hover: #4076b5;--blue-soft: #273d56;--brand-blue: #8bb8ed;--shadow: 0 8px 24px #00000020}html[data-theme] body{--muted: #627089;background:var(--paper);color:var(--ink)}html[data-theme=dark] body{--muted: #a5b5ca}html[data-theme] body :is(.portal-topbar,.solve-header,.admin-sidebar,.home-hero,.review-section,.editor-toolbar,.editor-status,.editor-actions,.window-bar,.code-status,.data-head,.settings-summary .settings-card,.problem-pane-label,.run-output-head,.custom-tests,.line-numbers,.result-summary,.locked-question,.ai-review,.import-panel){background:var(--surface-soft);color:var(--ink);border-color:var(--line)}html[data-theme] body :is(.auth-card,.join-card,.result-card,.lobby-item,.hero-badge,.empty-lobby,.stat-card,.panel,.live-card,.data-table,.submission-card,.review-filters,.settings-card,.settings-join-code,.question-option,.admin-topbar,.admin-settings-form,.integrity-toolbar,.integrity-dialog,.submitted-pane,.run-case,.run-loading,.run-error,.problem-pane,.code-pane,.editor-shell,.run-cases,.code-window,.question-tab,.question-list,.solve-question,.admin-question-form>.portal-form){background:var(--surface);color:var(--ink);border-color:var(--line)}html[data-theme] body :is(input,select,textarea,.portal-form input,.portal-form select,.portal-form textarea,.custom-case-fields textarea,.code-editor textarea,.editor-shell textarea,.code-pane>textarea,.language-select,.import-form input),html[data-theme] body.coding-workspace .code-editor textarea:focus{background:var(--surface);color:var(--ink);border-color:var(--line)}html[data-theme] body :is(.code-editor textarea,.editor-shell textarea,.code-pane>textarea):focus{background:var(--surface);color:var(--ink)}html[data-theme] body :is(h1,h2,h3,.brand strong,.competition-title,.data-row,.portal-form label,.integrity-toolbar>div strong,.integrity-history,.empty-state strong,.code-lines,.hero-badge,.lobby-meta strong){color:var(--ink)}html[data-theme] body :is(.muted,.eyebrow,.hero-lede,.brand small,.solve-user>span,.admin-nav-label,.admin-account small,.admin-sidebar-note p,.admin-sidebar-note .eyebrow,.data-row small,.stat-card span,.stat-card small,.settings-heading p,.portal-form small,.settings-facts dt,.settings-note,.settings-actions p,.admin-footer,.editor-hint,.language-control,.line-numbers,.run-empty,.ai-review dd,.ai-review small,.integrity-toolbar>div span,.integrity-dialog-content p,.integrity-history li small,.integrity-history>p,.judging-status p,.code-lines b,.custom-tests summary span,.admin-topbar span,.submission-person small,.submission-card-main>div:first-child>small){color:var(--muted)}html[data-theme] body :is(.admin-nav a,.portal-topbar nav a,.admin-topbar>a,.back-link,.form-note a,.admin-account .text-button,.admin-sidebar-note a,.code-details summary,.submission-score strong,.code-lines strong,.code-lines em,.code-status b,.home-hero h1 em,.language-chip,.badge-top strong,.badge-bottom strong,.text-button,.settings-join-code button){color:var(--accent)}html[data-theme] body :is(.admin-nav a.active,.admin-nav a:hover,.portal-topbar nav a:hover,.portal-topbar nav a[aria-current],.question-tab.active,.question-tab:hover,.case-tab[aria-pressed=true],.question-option:has(input:checked),.test-result-summary,.join-meta span,.result-mark,.solve-user>strong,.admin-jumpbar a.active){background:var(--blue-soft);color:var(--ink);border-color:var(--accent)}html[data-theme] body :is(.admin-nav a>span,.admin-jumpbar a span){color:var(--muted)}html[data-theme] body :is(.button.primary,.button.dark,.import-form .button){background:var(--button-fill);color:var(--accent-text);box-shadow:none}html[data-theme] body :is(.button.primary:hover,.button.dark:hover,.import-form .button:hover){background:var(--button-hover)}html[data-theme] body .button.light{background:var(--surface);color:var(--ink);border:1px solid var(--line)}html[data-theme] body :is(.submitted-code,.code-details pre,.run-case pre,.sample-case pre){background:var(--paper);color:var(--ink);border-color:var(--line)}html[data-theme] body :is(.settings-heading,.settings-row,.settings-actions,.admin-account,.portal-footer,.admin-footer,.test-case-editor,.test-case-row,.data-row,.judging-status,.grade-form,.review-tabs,.run-case){border-color:var(--line)}html[data-theme] body :is(input,textarea)::placeholder{color:var(--muted);opacity:1}html[data-theme] body :is(a,button,input,select,textarea,summary):focus-visible{outline-color:var(--accent)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);white-space:nowrap;font-size:12px}.theme-toggle:hover{background:var(--blue-soft)}.auth-card>.theme-toggle{float:right;margin:-12px -12px 18px 12px}.auth-card>.brand{clear:both}.auth-alternate{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:22px;margin-top:24px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.auth-alternate a{color:var(--accent);font-weight:600}html[data-theme=dark] .brand-logo{background:transparent;filter:brightness(0) invert(.88)}html[data-theme=dark] body :is(.alert.error,.error-alert,.run-failed){background:#44262e;color:#ffc0c6}html[data-theme=dark] body :is(.success-alert,.success,.run-passed){background:#1e3b35;color:#9ee0c3}html[data-theme] body :is(.portal-form fieldset,.form-wrap .portal-form,.admin-log-viewer,.result-submission,.submission-progress,.competition-card,.home-card,.empty-state,.run-output,.code-pane .run-button,.run-button:hover:not(:disabled),.import-icon){background:var(--surface);color:var(--ink);border-color:var(--line)}html[data-theme] body :is(.data-row:not(.data-head):hover,.question-option:hover,.settings-heading>span,.review-count,.review-tabs b,.person-avatar,.stat-icon,.language-badge,.card-status,.difficulty-badge,.demo-note){background:var(--surface-soft);color:var(--accent);border-color:var(--line)}html[data-theme] body :is(.grade-form input,.grade-form select,.review-filters input,.review-filters select,.admin-question-form .portal-form textarea[name$=code]){background:var(--surface);color:var(--ink);border-color:var(--line)}html[data-theme] body :is(.problem-pane .prompt,.prompt,.submission-progress strong,.result-submission strong,.submission-question,.grade-label,.review-tabs a){color:var(--ink)}html[data-theme] body :is(.submission-label,.submission-score>span,.submission-progress p,.submission-progress small,.result-submission p,.result-submission small,.locked-question>span,.review-tabs a span,.log-filter label,.log-filter>span){color:var(--muted)}html[data-theme] body .prompt{background:transparent}html[data-theme] body .portal-form fieldset{border-color:var(--line)}html[data-theme] body .admin-log-content{background:var(--paper);color:var(--ink)}html[data-theme=dark] body :is(.card-status.live,.card-status.scheduled,.difficulty-badge.easy,.run-case.passed>span){color:#98d5be;background:#203931}html[data-theme=dark] body :is(.card-status.upcoming,.difficulty-badge.medium){color:#e6c98d;background:#3a3324}html[data-theme=dark] body :is(.card-status.draft,.difficulty-badge.hard,.run-case.failed>span){color:#f0adb2;background:#402a33}.workspace-save-status{margin:10px 4px 0;padding:8px 12px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--surface-soft);font-size:12px}html[data-theme] body :is(h1,h2,h3,.brand strong,.admin-sidebar-note p){font-family:Space Grotesk,DM Sans,system-ui,sans-serif}html[data-theme] body :is(.submission-card-top,.submission-card-main,.code-details,.grade-form){border-color:var(--line)}html[data-theme] body :is(.custom-case-fields label,.compare-output,.points){color:var(--muted)}html[data-theme] body .admin-skip{background:var(--surface);color:var(--ink)}html[data-theme=dark] body .integrity-toolbar>[data-integrity-count]{color:#e6c98d}@media(max-width:700px){.admin-topbar{flex-wrap:wrap;gap:12px}.portal-topbar nav{flex-wrap:wrap}.auth-card>.theme-toggle{margin:-4px -4px 18px 8px}}html[data-theme=light] body :is(.portal-topbar,.solve-header,.admin-sidebar,.admin-topbar){background:#fff;border-color:var(--line)}html[data-theme=light] body.portal-body{background:radial-gradient(ellipse at 10% 0%,#eaf3ff 0,transparent 48%),radial-gradient(ellipse at 95% 80%,#edf9f6 0,transparent 40%),var(--paper)}html[data-theme=light] body .home-hero{background:linear-gradient(120deg,#f0f6ff,#f5fbff 65%,#effaf6);border-color:#e0eafa}html[data-theme=light] body :is(.auth-card,.join-card,.result-card,.lobby-item,.panel,.stat-card){box-shadow:var(--shadow)}html[data-theme=light] body :is(.button.primary,.button.dark){box-shadow:0 4px 12px #2563eb25}html[data-theme=light] body :is(.card-status.live,.card-status.scheduled,.difficulty-badge.easy){background:#e9f8f0;color:#167348}html[data-theme=light] body :is(.card-status.upcoming,.difficulty-badge.medium){background:#fff6df;color:#8b600a}html[data-theme=light] body .admin-nav a.active{box-shadow:inset 3px 0 #2563eb}html[data-theme] body .portal-card-page :is(.auth-card,.join-card,.result-card){border:1px solid var(--line);border-radius:22px}html[data-theme] body .portal-form :is(input,select,textarea):focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--blue-soft)}html[data-theme] body .portal-form :is(input,select){min-height:48px;border-radius:10px}html[data-theme] body .join-card{max-width:720px;padding:40px}.join-card .join-intro{padding-bottom:24px;border-bottom:1px solid var(--line)}.join-card .join-intro h1{margin-top:12px;line-height:1.2}.join-card .join-intro .muted{margin-bottom:0}.join-card .join-schedule{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px;margin:24px 0 8px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.join-schedule dt{color:var(--muted);font-size:12px;margin-bottom:5px}.join-schedule dd{margin:0;color:var(--ink);font-size:14px;font-weight:600}.join-card .schedule-timezone{margin:0;color:var(--muted);font-size:11px}.join-card .join-meta{gap:8px;margin:20px 0 0}html[data-theme] body .join-meta span{padding:8px 12px;border-radius:8px;background:var(--surface-soft);color:var(--muted)}.join-card .portal-form{margin-top:28px;gap:20px}.join-card .portal-form .button{min-height:48px;margin-top:4px;border-radius:10px}.join-card .back-link{display:block;margin-top:24px;text-align:center}@media(max-width:700px){html[data-theme] body .join-card{padding:24px;border-radius:18px}.join-card .join-schedule{grid-template-columns:1fr}}.submission-detail-page{max-width:1280px;margin:0 auto}.submission-person-link{display:flex;align-items:center;gap:12px;min-width:0;color:inherit;text-decoration:none}.submission-person-link:hover .submission-person-open{text-decoration:underline}.submission-person-open{margin-left:8px;color:var(--accent);font-size:12px;font-weight:600;white-space:nowrap}.submission-person-link .submission-person{display:grid;gap:3px;min-width:0}.submission-person-link .submission-person strong{overflow-wrap:anywhere}.submission-person-link .submission-person small{color:var(--muted)}.submission-detail-page>.back-link{display:inline-flex;margin-bottom:22px}.submission-detail-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:30px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#f5fbff,#fff 58%,#eef8f4)}.submission-detail-hero h1{margin:5px 0 8px;font:600 clamp(28px,4vw,42px)/1.12 "Space Grotesk",sans-serif}.submission-detail-hero .intro-copy{margin:0}.detail-total{min-width:150px;padding:16px 20px;border:1px solid #dce8ee;border-radius:12px;background:#fff}.detail-total span,.submission-detail-stats article span{display:block;color:var(--muted);font-size:12px}.detail-total strong{display:block;margin-top:5px;color:#285d76;font:600 28px Space Grotesk,sans-serif}.detail-total small{font:500 13px DM Sans,sans-serif}.submission-detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 30px}.submission-detail-stats article{padding:17px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff)}.submission-detail-stats article strong{display:block;margin-top:6px;color:var(--ink);font:600 23px Space Grotesk,sans-serif}.submission-team-members{margin:0 0 30px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff)}.submission-team-members h2{margin:0 0 14px;font:600 19px Space Grotesk,sans-serif}.submission-team-members>div{display:flex;flex-wrap:wrap;gap:10px}.submission-team-members span{display:grid;gap:3px;min-width:150px;padding:10px 13px;border-radius:9px;background:var(--surface-soft,#f4f8fa)}.submission-team-members small{color:var(--muted)}.submission-detail-list>.section-heading{margin:0 0 14px}.submission-detail-card{margin:0 0 24px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface,#fff);box-shadow:0 8px 28px #253e5010;scroll-margin-top:24px}.submission-detail-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.submission-detail-card-head .eyebrow{margin:0 0 6px}.submission-detail-card-head h3{margin:0;font:600 23px Space Grotesk,sans-serif}.submission-detail-card-head p:last-child{margin:7px 0 0;color:var(--muted);font-size:12px}.submission-detail-score{display:grid;justify-items:end;gap:9px}.submission-detail-score>strong{font:600 20px Space Grotesk,sans-serif}.submission-detail-score small{color:var(--muted);font:400 12px DM Sans,sans-serif}.submission-problem,.submission-test-panel,.submission-grade-panel{margin-top:16px;padding:15px 17px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft,#f8fafb)}.submission-problem summary,.submission-test-panel summary,.submission-grade-panel summary{cursor:pointer;font-weight:600}.submission-prompt{padding-top:13px;line-height:1.7}.submission-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.submission-test-panel summary{display:flex;justify-content:space-between;gap:12px}.submission-test-panel summary b{color:var(--muted);font-size:12px}.submission-case{margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--surface,#fff)}.submission-case.staff-hidden-case{border-color:#eddbb7;background:#fffaf0}.submission-case strong,.submission-case label{display:block;margin-bottom:6px}.submission-case label{margin-top:12px;color:var(--muted);font-size:11px;font-weight:600}.submission-case pre{overflow:auto;margin:0;padding:10px;border-radius:7px;background:#172c3d;color:#e4f1fa;font:12px/1.6 DM Mono,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.submission-case pre+label{margin-top:10px}.submission-code-form{overflow:hidden;margin-top:18px;border:1px solid #29475d;border-radius:12px;background:#142838}.submission-code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 16px;background:#20394b;color:#f0f6fa}.submission-code-toolbar>div{display:grid;gap:4px}.submission-code-toolbar span{color:#b0c4d3;font-size:11px}.submission-code-toolbar label{display:flex;align-items:center;gap:8px;color:#d6e4ed;font-size:12px}.submission-code-toolbar select{padding:7px 10px;border:1px solid #557186;border-radius:7px;background:#142838;color:#fff}.submission-code-editing{display:grid;grid-template-columns:50px minmax(0,1fr);min-height:330px}.submission-code-gutter{overflow:hidden;margin:0;padding:18px 12px 18px 0;border-right:1px solid #29475d;color:#829bad;text-align:right;-webkit-user-select:none;user-select:none;font:13px/1.7 DM Mono,monospace}.submission-code-editor{display:block;width:100%;min-height:330px;resize:vertical;padding:18px;border:0;outline:0;background:#142838;color:#e4edf4;font:13px/1.7 DM Mono,monospace;tab-size:4;white-space:pre;overflow:auto}.submission-code-editor:focus{box-shadow:inset 0 0 0 2px #70b5de}.submission-editor-status{display:flex;justify-content:space-between;gap:12px;padding:7px 16px;border-top:1px solid #29475d;color:#b5c8d7;font:10px DM Mono,monospace}.submission-code-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid #29475d;color:#b5c8d7;font-size:11px}.submission-tool-row{display:flex;align-items:center;gap:14px;margin-top:14px}.submission-tool-row p{margin:0;color:var(--muted);font-size:12px}.compact-tests{margin-top:10px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.compact-tests-heading{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 12px;font-size:12px}.compact-tests-heading span{color:var(--muted)}.compact-tests-heading a{margin-left:auto}.compact-test-scroll{max-height:240px;overflow:auto}.compact-test-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}.compact-test-table th,.compact-test-table td{padding:7px 10px;border-top:1px solid var(--line);text-align:left;vertical-align:top}.compact-test-table thead th{position:sticky;top:0;background:var(--surface,#fff);z-index:1}.compact-test-table th:first-child{width:50px}.compact-test-table th:last-child{width:145px}.compact-test-table pre{margin:0;max-height:64px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.4 DM Mono,monospace}.compact-test-table small{display:block;margin-top:3px;color:var(--muted)}.compact-test-table details{margin-top:4px}.compact-test-table summary,.compact-public-tests summary,.submission-extra-tests summary{cursor:pointer}.test-verdict{font-weight:600}.test-pass{color:#187543}.test-fail{color:#b73232}html[data-theme=dark] .test-pass{color:#7de0a4}html[data-theme=dark] .test-fail{color:#ffa0a0}.compact-public-tests{border-top:1px solid var(--line)}.compact-public-tests>summary{padding:9px 12px;font-size:12px;color:var(--muted)}.submission-extra-tests{margin-top:12px;font-size:12px}@media(max-width:600px){.compact-test-table{min-width:580px}}.submission-rerun{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft,#f8fafb)}.submission-rerun>p{color:var(--muted);font-size:12px}.submission-rerun ol{display:grid;gap:10px;padding-left:24px}.submission-rerun ol li{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface,#fff)}.submission-rerun ol pre{overflow:auto;padding:8px;background:var(--surface-soft,#f4f8fa);white-space:pre-wrap;overflow-wrap:anywhere}.submission-grade-panel .grade-form{align-items:end;margin-top:14px}.submission-grade-panel .grade-form label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:12px}.submission-grade-panel .grade-form input,.submission-grade-panel .grade-form select{width:100%;min-width:0}.submission-detail-card>.ai-review,.submission-detail-card>.test-result-summary{margin-top:14px}@media(max-width:800px){.submission-detail-hero{align-items:flex-start;flex-direction:column;padding:22px}.detail-total{width:100%}.submission-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.submission-test-grid{grid-template-columns:1fr}.submission-detail-card{padding:16px}.submission-code-actions{align-items:flex-start;flex-direction:column}.submission-grade-panel .grade-form{grid-template-columns:1fr}}@media(max-width:480px){.submission-detail-card-head{flex-direction:column}.submission-detail-score{justify-items:start}.submission-code-toolbar,.submission-tool-row{align-items:flex-start;flex-direction:column}}html[data-theme=dark] body .submission-detail-hero{background:linear-gradient(135deg,#1e3040,#192330 58%,#1b322e)}html[data-theme=dark] body .detail-total{background:var(--surface);border-color:var(--line)}html[data-theme=dark] body .detail-total strong{color:#a8d2ec}html[data-theme=dark] body .submission-case{background:var(--surface);border-color:var(--line)}html[data-theme=dark] body .submission-case.staff-hidden-case{background:#362e21;border-color:#6f5b35}html[data-theme=dark] body .submission-case pre{background:#111923;color:#e0e8f2}html[data-theme=dark] body .submission-rerun ol li{background:var(--surface);border-color:var(--line)}html[data-theme=dark] body .submission-rerun ol pre{background:var(--surface-soft);color:var(--ink)}.help-tour-dialog{position:fixed;inset:auto;margin:0;width:min(390px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow:visible;padding:0;border:2px solid #c4b5fd;border-radius:16px;background:#4c1d95;color:#fff;box-shadow:0 18px 60px #1e103b66,0 0 0 5px #a78bfa33;text-align:left}.help-tour-dialog[open]{animation:help-tour-bob 2.4s ease-in-out infinite}.help-tour-dialog::backdrop{background:#0f172a52}.help-tour-content{padding:24px;max-height:calc(100dvh - 40px);overflow:auto;border-radius:14px}.help-tour-dialog:before{content:"";position:absolute;width:14px;height:14px;background:#4c1d95;border:solid #c4b5fd;transform:rotate(45deg)}.help-tour-dialog[data-placement=right]:before{left:-9px;top:calc(var(--tour-arrow-y) - 7px);border-width:0 0 2px 2px}.help-tour-dialog[data-placement=left]:before{right:-9px;top:calc(var(--tour-arrow-y) - 7px);border-width:2px 2px 0 0}.help-tour-dialog[data-placement=bottom]:before{top:-9px;left:calc(var(--tour-arrow-x) - 7px);border-width:2px 0 0 2px}.help-tour-dialog[data-placement=top]:before{bottom:-9px;left:calc(var(--tour-arrow-x) - 7px);border-width:0 2px 2px 0}.help-tour-dialog h2{margin:8px 0 12px;color:#fff;font-size:21px}.help-tour-dialog .eyebrow{color:#ddd6fe;font-weight:700}.help-tour-dialog p:not(.eyebrow){color:#f3e8ff;font-size:14px;line-height:1.6}.help-tour-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:20px}.help-tour-dialog .help-tour-actions [data-tour-skip]{margin-right:auto;color:#ede9fe;text-decoration:underline;text-underline-offset:3px}.help-tour-dialog .help-tour-actions .button.light{background:#602eaa;color:#fff;border:1px solid #c4b5fd}.help-tour-dialog .help-tour-actions .button.primary{background:#fde68a;color:#30204d;border:1px solid #fde68a}.help-tour-dialog .help-tour-actions .button:hover:not(:disabled){background:#fff;color:#4c1d95}.help-tour-dialog .help-tour-actions .button:disabled{opacity:.45;cursor:default}.help-tour-dialog :focus-visible{outline:3px solid #fde68a;outline-offset:3px}.help-tour-highlight{outline:4px solid #a78bfa!important;outline-offset:5px;box-shadow:0 0 0 9px #a78bfa33!important}.help-tour-launch{white-space:nowrap}@keyframes help-tour-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.help-tour-dialog[open]{animation:none}}@media(max-width:700px){.solve-user{flex-wrap:wrap}.help-tour-content{padding:18px}}
