.signed-out>header,.signed-out>footer,.signed-out>#feedback{display:none}.signed-out main{max-width:460px;padding-top:12vh}.auth-card h1{font-size:28px;line-height:1.45}.auth-card form{display:grid;gap:16px;margin-top:30px}.auth-card label{display:grid;gap:6px}.auth-card input{width:100%;box-sizing:border-box;background:#202626;color:inherit;border:1px solid #637273;border-radius:8px;padding:13px;font:inherit}.auth-card .text-button{margin-top:14px;width:100%}.auth-card [role=alert]{color:#ffb6a5;margin:0}body:not(.is-admin) [data-admin-only]{display:none!important}.admin-controls{margin:0 0 20px;border:1px solid #a08955;background:#242720;border-radius:10px;padding:14px}.admin-controls label{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0}.admin-controls input{font:inherit;color:inherit;background:#151a18;border:1px solid #718579;padding:8px;width:180px;max-width:100%}.admin-controls [role=alert]{color:#ffb6a5}.account-list article{border-bottom:1px solid #404b48;padding:12px 0}#account-record pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto;font-size:13px}#materials-frame{width:100%;height:80vh;border:0;border-radius:12px}header{flex-wrap:wrap}#logout{margin-left:auto}.inspection-summary{color:#e8c779}button:disabled{opacity:.5}@media(max-width:600px){.signed-out main{padding-top:7vh}.auth-card h1{font-size:24px}header{gap:8px}#identity{width:100%;order:3;font-size:12px}}

/* Original logo lettering; yellow accent follows the brand. */
.brand-art{display:block;height:auto;max-width:100%;filter:saturate(.38)}
.game-brand{display:flex;align-items:center;gap:14px;flex-basis:100%;padding:2px 0 12px}
.game-brand .brand-art{width:210px;max-width:calc(100% - 90px)}
.brand-subject{font-size:13px;letter-spacing:.07em;color:var(--muted);border-left:1px solid var(--line);padding-left:14px}
.signed-out main{max-width:480px;padding-top:clamp(40px,9vh,90px);padding-bottom:40px}
.auth-shell{animation:entry-in .28s ease-out both}
.auth-brand{display:flex;align-items:center;justify-content:center;margin:0 0 34px}
.auth-brand .brand-art{width:340px;animation:brand-in .45s ease-out both,brand-breathe 4s .45s ease-in-out infinite}
.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:28px 28px 0;box-shadow:0 18px 48px #0002}
.auth-card h2{font-size:23px;margin:0 0 24px;line-height:1.4}
.auth-card form{gap:18px;margin:0}
.auth-card label{font-size:14px;color:var(--muted);gap:8px}
.auth-card input{font-size:17px;min-height:50px;transition:border-color .12s,box-shadow .12s}
.auth-card input:focus-visible{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px #c9ad6820}
.auth-card .primary{min-height:50px;margin:4px 0 26px;font-weight:650}
.auth-card [role=alert]:empty{display:none}
.account-links{display:flex;align-items:center;justify-content:center;gap:0;border-top:1px solid var(--line);padding:20px 0;margin:0}
.account-links button{background:none;border:0;border-radius:3px;padding:2px 10px;font-size:12px;line-height:1.6;color:var(--muted);white-space:nowrap}
.account-links button+button{border-left:1px solid var(--line);border-radius:0}
.account-links button:hover{color:var(--text)}
.account-links #account-switch{color:var(--blue)}
.account-help{max-width:380px;padding:28px;border-radius:18px}
.account-help::backdrop{backdrop-filter:blur(4px)}
.account-help h2{margin:0 0 14px;font-size:21px}.account-help p{font-size:15px;color:var(--muted)}
.account-help form{margin-top:26px}.account-help button{width:100%}
.account-help[open]{animation:entry-in .16s ease-out}
button,.button{transition:background-color .12s,border-color .12s,box-shadow .12s,transform .09s}
button:active,.button:active{transform:scale(.975)}
#app:focus{outline:none}
@keyframes entry-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes brand-in{from{opacity:.4;transform:translateY(5px) scale(.97)}to{opacity:1;transform:none}}
@keyframes brand-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(max-width:600px){.signed-out main{padding:40px 24px}.auth-card{padding:24px 20px 0}.auth-brand{margin-bottom:28px}.auth-brand .brand-art{width:300px}.game-brand .brand-art{width:190px}.account-links{margin:0 -4px}.account-links button{padding:2px 8px}}
@media(prefers-reduced-motion:reduce){.auth-shell,.brand-art,.account-help[open]{animation:none!important}button,.button,.auth-card input{transition:none!important}}

/* Play stays portrait; management and material inspection use the viewport. */
.subject-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.subject-options button{min-height:90px;font-size:24px;font-weight:650}.subject-card .primary{margin:0}.subject-card{padding-bottom:24px}.subject-card .text-button{font-size:14px}.subject-card [role=status]{min-height:1.6em;margin:16px 0;color:var(--muted)}.header-tools{display:flex;flex-direction:column;gap:6px;align-items:stretch}.header-tools .sound-toggle,.header-tools .opinion-button{margin:0;font-size:12px;padding:6px 10px}.header-tools .opinion-button{color:var(--muted)}
body:not(.signed-out):not(.admin-workspace)>header,body:not(.signed-out):not(.admin-workspace)>main,body:not(.signed-out):not(.admin-workspace)>footer{max-width:620px}
body.admin-workspace>header,body.admin-workspace>main,body.admin-workspace>footer{width:100%;max-width:none}
body.admin-workspace #materials-frame{display:block;width:100%;height:calc(100dvh - 230px);min-height:500px}

.opinion-text{white-space:pre-wrap;overflow-wrap:anywhere}
.account-help{width:min(460px,calc(100vw - 32px));max-height:90dvh;overflow:auto;box-sizing:border-box}
.account-help form,.account-help label{display:grid;gap:8px}.account-help form{gap:16px}
.account-help input{min-width:0;width:100%;box-sizing:border-box;font:inherit;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:inherit}
.account-help [role=status],.account-help [role=alert]{overflow-wrap:anywhere}
.header-account{flex-wrap:wrap}#change-password{font-size:13px;padding:8px 10px}
footer [hidden]{display:none!important}
.account-help{background:#1b211f;color:var(--text);border:1px solid var(--line);border-radius:14px;padding:24px}
#report-entries .prompt{min-height:0}

/* 503NA: navigation, account and settings have distinct places at every width. */
header{display:block}
.game-brand{padding:0;margin-bottom:20px;gap:12px}
.header-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center}
.header-navigation,.header-account,.header-admin{display:flex;align-items:center;gap:8px;min-width:0}
.header-navigation{flex-wrap:wrap}
.header-account{display:grid;grid-template-columns:minmax(64px,1fr) auto;align-items:center;gap:6px 10px}
#identity{grid-column:1;grid-row:1/3;word-break:keep-all}
#logout{grid-column:2;grid-row:1}
#change-password{grid-column:2;grid-row:2}
#identity{margin:0;width:auto;order:0;flex:1;min-width:0;text-align:center;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
#logout{margin:0;flex-shrink:0;font-size:14px}
.header-tools{gap:6px;min-width:0}
.header-account #logout,.header-account #change-password,.header-tools .sound-toggle,.header-tools .opinion-button{box-sizing:border-box;width:112px;min-height:44px;font-size:14px;line-height:1.4;padding:8px 10px;white-space:nowrap}
.header-admin{flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.header-admin button{font-size:14px}
.account-links button{font-size:14px;min-height:44px;padding:8px 10px}
.account-links{padding:12px 0;flex-wrap:wrap}
.auth-card label{font-size:15px}
.auth-card{border-radius:14px}
.auth-card [role=alert]{overflow-wrap:break-word;word-break:keep-all}
.subject-card>h2{font-size:23px;word-break:keep-all}
.subject-card .text-button{margin-top:0}
.subject-options{gap:12px;margin-top:20px}
.subject-card [role=status]:empty{min-height:0;margin:16px 0}
.account-list h2{overflow-wrap:anywhere}
.admin-controls{font-size:16px}
@media(max-width:600px){
 .header-row{grid-template-columns:minmax(0,1fr) auto;gap:12px}
 .header-navigation{grid-column:1;grid-row:1}
 .header-tools{grid-column:2;grid-row:1}
 .header-account{grid-column:1/-1;grid-row:2;justify-content:space-between;padding-top:12px;border-top:1px solid var(--line)}
 .header-navigation button{font-size:16px;padding:10px 14px}
 .game-brand{margin-bottom:18px}
 .game-brand .brand-art{width:195px;max-width:calc(100% - 85px)}
 .brand-subject{font-size:13px;padding-left:12px}
 .signed-out main{padding:32px 20px}
 .auth-card{padding:24px 20px 0}
 .subject-card{padding-bottom:20px}
 .account-links button{padding:8px;font-size:14px}
 .account-links{margin:0 -4px}
}
@media(max-width:360px){
 .signed-out main{padding:28px 16px}
 .header-row{gap:10px}
 .header-navigation{gap:6px}
 .header-navigation button{padding:10px 12px}
 .header-tools .sound-toggle,.header-tools .opinion-button{padding:8px;font-size:13px}
 .auth-card{padding:22px 16px 0}
 .subject-card{padding-bottom:20px}
 .account-links button{padding:8px 6px;font-size:13px}
}

.field-help,.field-error{display:block;font-size:12px;line-height:1.5;font-weight:400;overflow-wrap:anywhere}.field-help{color:var(--muted);margin-top:5px}.field-error{color:#ffac99}.field-error:not(:empty){margin-top:4px}.auth-card input::placeholder{color:#819194;opacity:1}.auth-card input[aria-invalid="true"]{border-color:#ffac99}.header-tools #music-toggle{margin:0;width:100%}
