/* Local review candidate: one task first, settings second. No new permissions. */
:root{--ui-bg:#f7f6fa;--ui-surface:#fff;--ui-ink:#282435;--ui-muted:#6b6579;--ui-line:#e5e1ec;--ui-accent:#6b4db3;--ui-soft:#f1edf8;--ui-radius:16px;--ink:var(--ui-ink);--muted:var(--ui-muted);--line:var(--ui-line);--accent:var(--ui-accent);--paper:var(--ui-bg)}
html body{background:var(--ui-bg);color:var(--ui-ink);font-family:system-ui,-apple-system,"Malgun Gothic","Noto Sans KR",sans-serif;font-size:16px;line-height:1.5}
button,input,select,textarea{font-family:inherit}button,select,summary{min-height:48px}button{border:1px solid var(--ui-line);border-radius:12px;box-shadow:none;padding:12px 16px;color:var(--ui-ink);font-size:14px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color 160ms,border-color 160ms,color 160ms}
button:hover:not(:disabled){background:var(--ui-soft);border-color:#b8a9d6}button.primary,.role-home button.primary{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff;box-shadow:0 3px 8px #4b317619}button.primary:hover:not(:disabled){background:#563b99;border-color:#563b99}
button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #9273cd;outline-offset:3px}button:disabled{box-shadow:none}
.ui-icon{width:20px;height:20px;flex:0 0 20px;display:inline-block;vertical-align:middle}.action-label{min-width:0}
.portal-header.homework-header{padding:16px max(24px,calc((100vw - 1120px)/2));background:#fff;border-bottom:1px solid var(--ui-line);box-shadow:none}.portal-header .portal-masthead{gap:16px}.portal-header .portal-utilities{gap:8px}.portal-header .portal-identity{min-width:0}.portal-subtitle{color:var(--ui-muted)}
.portal-access-bar{padding-top:8px;gap:8px;border:0}.portal-access-bar #portal-current-role,.portal-access-bar #portal-current-location{display:none}.portal-access-bar:not(:has(#portal-home-open:not([hidden]))):not(:has(#portal-institutions>:not([hidden]))){display:none}
#portal-home-open{background:none;border:0;color:var(--ui-accent);padding:8px 0;justify-content:flex-start}#portal-home-open::before{content:'←';margin-right:8px}
.portal-header #portal-language{min-width:64px;width:auto;background:#fff;border-color:var(--ui-line);border-radius:12px;font-size:14px;padding:8px}
.portal-account-menu,.portal-account-menu[open]{position:relative;right:auto;top:auto;padding:0;border-radius:0;box-shadow:none;background:none}.portal-account-menu>summary,.portal-account-menu[open]>summary{border:1px solid var(--ui-line);border-radius:12px;white-space:nowrap;font-size:14px;font-weight:600;min-height:48px;padding:8px 12px;color:var(--ui-ink);background:white}
.portal-account-menu:not([open])>.portal-account-items{display:none}.portal-account-items{position:absolute;z-index:30;right:0;top:calc(100% + 8px);display:grid;gap:8px;width:320px;max-width:calc(100vw - 32px);max-height:min(75vh,640px);overflow:auto;padding:16px;border:1px solid var(--ui-line);border-radius:16px;box-shadow:0 12px 32px #3020441c;background:#fff}
.portal-account-items>button{width:100%;justify-content:flex-start;border:0;background:transparent;margin:0;padding:12px}.portal-account-items>button:hover{background:var(--ui-soft)}.experience-switcher{display:grid;gap:8px;padding:8px 0;margin:0!important;font-size:14px}.experience-switcher select{width:100%;max-width:100%;min-width:0;border-color:var(--ui-line)}
.guardian-account-management{border-top:1px solid var(--ui-line);padding-top:8px}.guardian-account-management>details>summary{display:flex;align-items:center;cursor:pointer;font-size:14px;font-weight:600}.guardian-account-management .card{padding:8px;margin:0;border:0;box-shadow:none}.guardian-account-management button{width:100%;margin:8px 0}.guardian-account-management input{max-width:100%}
.local-banner{font-size:14px;line-height:1.5;padding:8px 16px;background:#f0eef4;color:#6b6579;border-bottom:1px solid var(--ui-line)}
.unified-signin{max-width:480px;padding:0 24px;margin:48px auto}.signin-intro{padding:0;margin:0 0 24px}.signin-intro h1{font-size:28px;line-height:1.3;letter-spacing:-.03em;color:var(--ui-ink);margin:0 0 8px}.signin-intro p{font-size:16px;color:var(--ui-muted);margin:0 0 24px}.signin-methods{background:transparent;border:0;border-bottom:1px solid var(--ui-line);border-radius:0;padding:0;gap:8px}.signin-methods button{border-radius:0;border:0;border-bottom:2px solid transparent;font-size:14px;background:transparent;padding:12px 8px;color:var(--ui-muted)}.signin-methods button[aria-pressed=true]{background:transparent;color:var(--ui-accent);border-bottom-color:var(--ui-accent);box-shadow:none}
.unified-signin>.card{background:#fff;border-color:var(--ui-line);border-radius:16px;padding:24px;box-shadow:0 8px 32px #30204405}.unified-signin h2{font-size:20px;margin-bottom:16px}.unified-signin input:not([type=checkbox]):not([type=radio]),.unified-signin select{min-height:48px;border-color:#cbc5d6;border-radius:8px}.unified-signin label{font-size:14px;font-weight:550}.unified-signin p{font-size:14px;color:var(--ui-muted);line-height:1.6}.unified-signin .primary{width:100%}.signin-help{border-top:1px solid var(--ui-line);padding-top:8px}.signin-help summary{display:flex;align-items:center;font-size:14px;color:var(--ui-muted);cursor:pointer}.signin-help p{margin:8px 0}
.role-home.refined-home{max-width:1120px;width:calc(100% - 48px);margin:32px auto 48px;color:var(--ui-ink)}.refined-home .role-home-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;padding:0 0 24px}.refined-home .role-home-heading h1{grid-column:1;font-size:28px;line-height:1.3;letter-spacing:-.03em;margin:0;color:var(--ui-ink)}.refined-home .role-home-person{grid-column:1;margin:0;color:var(--ui-muted);font-size:14px}.refined-home .role-home-person:empty{display:none}.refined-home .role-home-heading>.quiet-action{grid-column:2;grid-row:1/3;border:0;background:transparent;color:var(--ui-muted);padding:8px;min-width:48px;margin:0;font-size:14px}.refined-home .quiet-action .action-label{display:none}
.refined-home .role-home-content{display:grid;gap:24px}.refined-home .role-home-content>section{background:transparent;border:0;border-radius:0;padding:0}.refined-home .role-home-work{min-width:0}.refined-home .role-home-filters{display:flex;gap:24px;border-bottom:1px solid var(--ui-line);margin:0 0 24px;padding:0}.refined-home .role-home-filters button{padding:8px 0;border:0;border-radius:0;border-bottom:2px solid transparent;background:transparent;color:var(--ui-muted);min-height:48px;box-shadow:none}.refined-home .role-home-filters button[aria-pressed=true]{border-bottom-color:var(--ui-accent);color:var(--ui-accent);background:none}.refined-home .role-home-filters .ui-icon{display:none}
.refined-home .role-home-assignment-list{display:grid;grid-template-columns:1fr;gap:16px}.refined-home .role-home-assignment{display:grid;gap:16px;border:1px solid var(--ui-line);background:#fff;border-radius:16px;padding:24px;box-shadow:none;min-width:0}.refined-home .role-home-assignment.task-focus{box-shadow:0 6px 24px #4a326d08;border-color:#d7cde9}.refined-home .role-home-assignment h2{font-size:20px;line-height:1.4;letter-spacing:-.02em;margin:0;color:var(--ui-ink);overflow-wrap:anywhere}.refined-home .role-home-assignment p{margin:0;font-size:14px}.task-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.task-meta:empty{display:none}.task-status{display:inline-flex;align-items:center;border-radius:8px;padding:4px 8px;background:var(--ui-soft);color:#5f429e;font-size:14px;font-weight:650}.task-status[data-state=retry]{background:#fff2dc;color:#80500c}.task-status[data-state=submitted],.task-status[data-state=checked]{background:#edf5f0;color:#286047}.task-due,.task-note{font-size:14px;color:var(--ui-muted);line-height:1.5}.task-progress{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none}.task-progress li{display:inline-flex;align-items:center;gap:4px;color:var(--ui-muted);font-size:14px}.task-progress li[data-complete=true]{color:#4f4972}.task-progress .ui-icon{width:16px;height:16px;flex-basis:16px}.refined-home .role-home-assignment button{justify-self:start;min-width:160px;max-width:100%;margin:0}.refined-home .role-home-assignment[data-status=retry]{border-left:3px solid #c5913b}.role-home-feedback{background:#fff7e9;padding:16px!important;border-radius:8px;color:#714b20;line-height:1.5}
.task-complete{background:#fff;border:1px solid var(--ui-line);border-radius:16px;padding:24px;display:grid;gap:8px;margin-bottom:16px}.task-complete>.ui-icon{color:#3e8060}.task-complete h2{font-size:20px;margin:0}.task-complete p{margin:0;font-size:14px;color:var(--ui-muted)}
.refined-home .role-home-more{margin-top:16px}.refined-home summary{min-height:48px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ui-ink);padding:8px 0}.refined-home summary::after{content:'⌄';margin-left:auto;color:var(--ui-muted)}.refined-home details[open]>summary::after{transform:rotate(180deg)}.refined-home .role-home-more>article{margin-top:16px}.refined-home .role-home-empty{background:#fff;border:1px dashed var(--ui-line);color:var(--ui-muted);padding:24px;border-radius:16px;margin:0;font-size:16px;line-height:1.5}.refined-home .home-secondary{padding-top:8px;border-top:1px solid var(--ui-line)}.practice-unavailable{font-size:14px;color:var(--ui-muted);margin:0;padding:8px 0}
.refined-home .role-home-practice,.refined-home .role-parent-report,.refined-home .staff-overview{background:none!important;position:static;border:0;border-radius:0;padding:8px 0;margin:0;box-shadow:none}.refined-home .role-home-practice button{margin:8px 8px 8px 0}.section-label{font-size:14px;color:var(--ui-muted);font-weight:600;margin:0 0 16px}.staff-next>h2{font-size:20px;margin:0 0 16px}.staff-next>button{justify-self:start}.staff-shortcuts{display:flex;flex-wrap:wrap;gap:8px}.staff-shortcuts button{background:transparent;border:1px solid var(--ui-line);min-width:144px}.staff-assignments{display:grid;gap:16px}.staff-assignments>h2,.refined-home .role-home-classes>h2{font-size:20px;margin:0 0 8px}.refined-home .role-home-class{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;padding:16px 0;border-top:1px solid var(--ui-line);background:transparent}.refined-home .role-home-class h3{font-size:16px;grid-column:1;margin:0;font-weight:650}.refined-home .role-home-class>.task-note{grid-column:1;margin:0}.refined-home .role-home-class>button{grid-column:2;grid-row:1/3;margin:0;min-width:112px}.refined-home .role-home-class>details{grid-column:1/-1;font-size:14px}.refined-home .role-home-class details button{margin:8px 8px 0 0}
#guardian-entry:has(.guardian-child[aria-pressed=true]){width:calc(100% - 48px);max-width:1120px;margin:24px auto 0;padding:0;background:transparent;border:0;box-shadow:none}#guardian-entry:has(.guardian-child[aria-pressed=true]) .guardian-linked{display:block}#guardian-entry:has(.guardian-child[aria-pressed=true]) .guardian-children{align-items:center;gap:8px}#guardian-entry:has(.guardian-child[aria-pressed=true]) .guardian-children h3{display:none}#guardian-entry .guardian-child{min-height:48px;border-radius:12px;background:transparent;border:1px solid var(--ui-line);color:var(--ui-muted);padding:8px 16px}#guardian-entry .guardian-child[aria-pressed=true]{background:var(--ui-soft);border-color:#c7b8df;color:#5a3b98}
.portal-game-secondary{border-top:1px solid var(--ui-line);margin-top:48px;padding-top:24px;font-size:14px}.portal-game-secondary a{color:var(--ui-muted)}.portal-game-secondary #teacher-game-open{background:none;border:0;color:var(--ui-muted);margin-top:8px}
.portal-game-secondary>a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:8px 16px}.task-note:empty{display:none}
#sign-in.unified-signin summary{min-height:48px}
.refined-home .quiet-action .action-label{display:initial;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#classroom-tools .teacher-workspace{color:var(--ui-ink)}#classroom-tools .teacher-top h1{font-size:24px;color:var(--ui-ink)}#classroom-tools .teacher-nav{background:transparent;border-bottom:1px solid var(--ui-line);border-radius:0;padding:0;gap:16px}#classroom-tools .teacher-nav button{border-radius:0;color:var(--ui-muted);background:none;border-bottom:2px solid transparent;box-shadow:none}#classroom-tools .teacher-nav button[aria-current=true]{color:var(--ui-accent);border-bottom-color:var(--ui-accent);background:none;box-shadow:none}#classroom-tools .teacher-scope,#classroom-tools .teacher-target{background:var(--ui-soft);border-color:var(--ui-line);color:var(--ui-ink);border-radius:12px}#classroom-tools .card{background:#fff;border-color:var(--ui-line);box-shadow:none}#classroom-tools .teacher-content>.teacher-class-grid{gap:16px}#classroom-tools .teacher-counts button{background:#fff;border-color:var(--ui-line)}#classroom-tools .teacher-counts button[aria-pressed=true]{background:var(--ui-soft);color:var(--ui-accent);border-color:#cbbbe4}
#role-review{max-width:1120px;width:calc(100% - 48px);margin:24px auto}#hw-review-root{background:transparent;color:var(--ui-ink)}#hw-review-root #review-nav{background:transparent;padding:0;display:flex;justify-content:flex-end;gap:8px}#hw-review-root #review-nav button{background:transparent;border:0;color:var(--ui-muted)}#hw-review-root #review-language{max-width:160px;min-height:48px}#hw-review-root #review-app{padding:16px 0;max-width:none;margin:0}#hw-review-root .card{background:#fff;border-color:var(--ui-line);border-radius:16px;box-shadow:none}#hw-review-root h1{font-size:28px;color:var(--ui-ink)}#hw-review-root h2{font-size:20px;color:var(--ui-ink)}#hw-review-root .note{background:var(--ui-soft);border-left-color:var(--ui-accent);font-size:14px}#hw-review-root .progress-summary{background:#fff;border-color:var(--ui-line)}#hw-review-root button{min-height:48px}
@keyframes quiet-arrive{from{opacity:.35}to{opacity:1}}.refined-home .task-focus{animation:quiet-arrive 160ms ease-out}
@media(min-width:1000px){.refined-home .role-home-content{grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);align-items:start}.refined-home .role-home-work{grid-column:1}.refined-home .home-secondary{grid-column:2;grid-row:1;border-top:0;padding:8px 0 0 24px;border-left:1px solid var(--ui-line)}.refined-home .staff-shortcuts{grid-column:2;grid-row:1;justify-content:flex-start;padding-top:32px}.refined-home .staff-assignments,.refined-home .role-home-classes,.refined-home .staff-overview{grid-column:1/-1}.refined-home .role-home-classes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 32px}.refined-home .role-home-classes>h2{grid-column:1/-1}}
@media(max-width:600px){.portal-header.homework-header{padding:12px 16px}.portal-header .portal-masthead{gap:8px}.portal-header .portal-utilities{gap:8px}.portal-header .portal-account-menu>summary{font-size:14px;padding:8px}.portal-account-items{right:0;max-width:calc(100vw - 32px)}.unified-signin{padding:0 16px;margin:32px auto}.unified-signin>.card{padding:24px 16px}.signin-intro h1{font-size:24px}.refined-home.role-home{width:calc(100% - 32px);margin:24px auto 32px}.refined-home .role-home-heading{padding-bottom:24px;gap:8px}.refined-home .role-home-heading h1{font-size:24px}.refined-home .role-home-content{gap:24px}.refined-home .role-home-content>section{padding:0}.refined-home .role-home-filters{gap:24px;margin-bottom:16px}.refined-home .role-home-filters button{flex:none;font-size:14px;padding:8px 0}.refined-home .role-home-assignment{padding:24px 16px;gap:16px}.refined-home .role-home-assignment h2{font-size:20px}.refined-home .role-home-assignment button{width:100%;min-height:48px}.task-progress{gap:8px 12px}.task-progress li{font-size:14px}.staff-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.staff-shortcuts button{min-width:0}.refined-home .role-home-class{gap:8px}.refined-home .role-home-class>button{min-width:104px}.refined-home .role-home-class>details{padding-top:0}#guardian-entry:has(.guardian-child[aria-pressed=true]){width:calc(100% - 32px);margin:16px auto 0}#guardian-entry:has(.guardian-child[aria-pressed=true]) .guardian-children{flex-wrap:nowrap;overflow:auto;padding-bottom:4px}#guardian-entry .guardian-child{flex-shrink:0;max-width:75vw;overflow-wrap:anywhere}#role-review{width:calc(100% - 32px);margin:16px auto}#hw-review-root h1{font-size:24px}#hw-review-root .steps{grid-template-columns:1fr}#hw-review-root audio{width:100%;max-width:100%}#hw-review-root #review-nav{margin:0}#hw-review-root #review-nav button{font-size:14px}.portal-game-secondary{margin-top:32px;padding-top:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* One sign-in column, including the separately mounted parent panel. */
#sign-in.unified-signin{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;width:calc(100% - 32px);max-width:480px;box-sizing:border-box;margin:32px auto 24px;padding:0}
#sign-in.unified-signin .signin-intro{margin:0;padding:0;min-width:0}
#sign-in.unified-signin>.card{width:100%;max-width:none;box-sizing:border-box;margin:0;padding:24px}
#guardian-entry:not(:has(.guardian-child[aria-pressed=true])),#guardian-unavailable{width:calc(100% - 32px);max-width:480px;box-sizing:border-box;margin:0 auto 32px;padding:24px;border:1px solid var(--ui-line);border-radius:16px;background:#fff;box-shadow:0 8px 32px #30204405;gap:16px}
#guardian-entry:not(:has(.guardian-child[aria-pressed=true]))>h2{margin:0;font-size:20px}
#guardian-entry:not(:has(.guardian-child[aria-pressed=true]))>p{margin:0;color:var(--ui-muted);font-size:14px;line-height:1.6}
#guardian-entry>section:not(.guardian-linked):not(.guardian-verification){display:grid;gap:24px;min-width:0}
#guardian-entry form.card,#teacher-account-signin form{border:0;border-radius:0;background:transparent;box-shadow:none;margin:0;padding:0;display:grid;gap:16px;min-width:0}
#guardian-entry>section>button,#guardian-entry form>button{width:100%;margin:0}
#guardian-entry label,#sign-in label:not(#existing-password-choice){display:grid;gap:8px;min-width:0}
#guardian-entry input:not([type=checkbox]):not([type=radio]){min-height:48px;box-sizing:border-box;width:100%;max-width:100%}
#guardian-entry details>summary{display:flex;align-items:center;min-height:48px;cursor:pointer;font-size:14px}
#guardian-entry details>summary::after{content:'⌄';margin-left:auto;color:var(--ui-muted)}
#guardian-entry details[open]>summary::after{transform:rotate(180deg)}
#guardian-entry details>form,#teacher-account-signin details>form{padding-top:16px}
#sign-in #existing-password-choice{display:flex;align-items:center;gap:12px;min-height:48px;margin:0;padding:0;cursor:pointer}
#sign-in input[type=checkbox],#sign-in input[type=radio],#guardian-entry input[type=checkbox],#guardian-entry input[type=radio]{box-sizing:border-box;display:inline-block;flex:0 0 20px;width:20px;max-width:20px;height:20px;min-height:20px;margin:0;padding:0;accent-color:var(--ui-accent)}
#sign-in #existing-password-choice>span{line-height:1.5;font-size:14px;font-weight:500}
@media(max-width:600px){#sign-in.unified-signin{margin-top:24px}#sign-in.unified-signin>.card,#guardian-entry:not(:has(.guardian-child[aria-pressed=true])),#guardian-unavailable{padding:24px 16px}}

/* Administrative actions and each class form distinct, readable groups. */
.admin-home .role-home-content{grid-template-columns:minmax(0,1fr);gap:32px}
.admin-home .role-home-content>.admin-overview{display:grid;gap:16px;padding:24px;border:1px solid #b9accb;border-radius:16px;background:#fff}
.admin-overview>.task-note{margin:0;color:#51465f;font-size:16px}
.admin-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.admin-actions>button{margin:0;min-width:160px}
.admin-class-section>h2,.admin-learning>h2{font-size:20px;line-height:1.4;margin:0 0 16px}
.admin-class-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.admin-home .admin-class-card{background:#fff;border:1px solid #a99ab9;border-radius:16px;padding:24px;gap:12px 16px;box-shadow:0 3px 10px #3e285d0a}
.admin-home .admin-class-card h3{font-size:18px;line-height:1.4;color:#342a40}
.admin-home .admin-class-card>.task-note{color:#62546f}
.admin-home .admin-class-card>details{margin-top:4px;padding-top:12px;border-top:1px solid #d6cde1}
.admin-class-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:8px}
.admin-home .admin-class-actions>button{width:100%;margin:0;min-width:0}
.admin-home .admin-learning{padding-top:24px;border-top:2px solid #cbbfd8}
.admin-home .admin-learning .role-home-assignment{border-color:#d6cde1;box-shadow:none}
@media(max-width:700px){.admin-class-list{grid-template-columns:1fr;gap:16px}.admin-home .admin-class-card{padding:20px 16px}.admin-home .role-home-content>.admin-overview{padding:20px 16px}.admin-actions{display:grid;grid-template-columns:1fr;gap:12px}.admin-actions>button{width:100%;min-width:0}}
