:root{--ink:#203238;--muted:#637675;--paper:#f4f5ef;--accent:#216b5c}body{font-family:system-ui,sans-serif;background:var(--paper);color:var(--ink)}h1{font-weight:750;letter-spacing:-.04em;margin-bottom:1rem}h2{font-size:1.3rem;font-weight:700}h3{font-size:1.1rem}small{display:block;color:var(--muted)}label{font-size:.9rem;margin-bottom:.4rem}.site-header{background:#163c35;color:white;padding:1.2rem max(4vw,20px);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.brand{color:#fff;text-decoration:none;font-weight:800;letter-spacing:.12em}.brand span{display:block;font-weight:400;font-size:.7rem;letter-spacing:.08em;color:#b8d3ca}nav{display:flex;gap:1.4rem;align-items:center}nav a{color:#d5e8e2;text-decoration:none}nav a.active{color:white;text-decoration:underline}.hero{background:linear-gradient(115deg,#163c35,#346858);border-radius:20px;padding:clamp(25px,5vw,70px);color:white}.hero h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1.05;margin:1rem 0 1.5rem}.hero p{color:#d5e8e2;line-height:1.8}.eyebrow{font-size:.75rem;letter-spacing:.12em;font-weight:700;color:#678d7c}.hero .eyebrow{color:#b8d3ca}.panel{background:white;border:1px solid #dce3d9;border-radius:15px;padding:24px}.narrow{max-width:500px;margin:5vh auto}.btn-primary{background:#246c5d;border-color:#246c5d}.btn-primary:hover{background:#184f44;border-color:#184f44}.btn-outline-primary{color:#246c5d;border-color:#246c5d}.btn{min-height:44px}.step{color:#789b8a;font-weight:800;font-size:1.4rem;display:block;margin-bottom:1rem}.list-item{border-bottom:1px solid #e3e8df;padding:14px 0;display:flex;justify-content:space-between;gap:10px;color:var(--ink)}.list-item:last-child{border-bottom:0}.sticky-actions{position:sticky;bottom:0;padding:15px;background:#f4f5eff2;border-top:1px solid #dce3d9}.game-heading{display:flex;justify-content:space-between;gap:1rem}.timer{font-size:1.4rem;font-variant-numeric:tabular-nums;font-weight:750;position:sticky;top:0;align-self:flex-start;background:var(--paper);padding:8px;border-radius:8px}.host-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.code{font-family:monospace;font-size:1.5rem;letter-spacing:.12em}.team-card{padding:18px;background:#f6f8f2;border-radius:12px;border:1px solid #e0e7da}.player-row{display:flex;justify-content:space-between;gap:8px;margin:8px 0;flex-wrap:wrap}.board{display:flex;gap:8px;overflow-x:auto;padding:16px 0;scroll-snap-type:x proximity}.cell{min-width:90px;min-height:115px;background:#e9eee1;border:1px solid #ced8c4;border-radius:10px;display:flex;flex-direction:column;align-items:center;padding:8px;scroll-snap-align:center}.cell strong{font-size:2rem}.cell span{font-size:.7rem}.cell.current{background:#f4df9d;border:2px solid #bf9431}.cell.fog{opacity:.35;justify-content:center}.option{width:100%;min-height:64px;text-align:left;padding:14px;border:2px solid #dce3d9;border-radius:9px;background:white;color:var(--ink)}.option span{font-weight:700;margin-right:10px}.option.selected{border-color:#246c5d;background:#e3f1e8}.option.correct{border-color:#7d9b31;background:#e7f1cb}.option:disabled{opacity:.8}.question h2{margin:1rem 0 1.5rem;line-height:1.5}.chat-log{max-height:300px;overflow:auto;font-size:.9rem}.chat-log small{display:inline}.history{max-height:360px;overflow:auto;font-size:.85rem}.result-row{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid #e3e8df}footer{color:var(--muted);padding:30px 0;font-size:.8rem}#blazor-error-ui{display:none;background:#fee;padding:15px;position:fixed;bottom:0;width:100%}button:focus-visible,a:focus-visible{outline:3px solid #c49630;outline-offset:2px}@media(max-width:600px){.panel{padding:16px}.hero .btn{display:block;margin:12px 0!important}.game-heading h1{font-size:1.7rem}.result-row{flex-direction:column}.site-header nav{font-size:.85rem}.input-group{flex-wrap:wrap}}
.game-heading{position:sticky;top:0;z-index:5;background:var(--paper);padding:10px 0}.timer{white-space:nowrap}.btn-primary:disabled{background:#608c80;border-color:#608c80}

/* Player presentation only: host/admin pages retain their existing layout. */
body:has(.player-ui){background:#101923;color:#e8dcc4}body:has(.player-ui) main.container-xl{max-width:1580px}body:has(.player-ui) .site-header{background:#101923;border-bottom:1px solid #635538}body:has(.player-ui) footer{color:#a49882}.player-ui{--ink:#e9dfcb;--muted:#b6b4aa;--paper:#18222d;--accent:#c6a362}.player-ui h1,.player-ui h2{font-family:Georgia,serif;letter-spacing:.015em}.player-ui .eyebrow{color:#d5b777}.player-ui .game-heading{background:#101923ef;border-bottom:1px solid #625337;margin-bottom:14px}.player-ui .game-heading h1{font-size:1.65rem;margin:4px 0}.player-ui .timer{color:#e9c480;background:#1c2935;border:1px solid #645839}.player-ui .panel{background:linear-gradient(140deg,#202b34,#151e28);border:1px solid #5f5847;border-radius:6px;box-shadow:0 5px 20px #0004}.player-ui .question{background:linear-gradient(115deg,#eee1c4,#d4c4a4);color:#292b29;border:3px double #9c7b49;padding:24px}.player-ui .question .eyebrow{color:#74552a}.player-ui .question small{color:#615e52}.player-ui .question .option{color:#292b29;background:#f6edd9;border:1px solid #948260;border-radius:3px}.player-ui .question .option.selected{background:#cadac6;border:2px solid #3e7259}.player-ui .question .option.correct{background:#bed391;border-color:#607a32}.player-ui .btn-primary{background:#703b31;border-color:#703b31;color:#fff4df}.player-ui .btn-outline-primary{color:#345e50;border-color:#57795e}.player-ui .btn-outline-secondary{color:inherit;border-color:#9b8b6f}.player-ui .question .btn-outline-secondary{color:#514432}.player-ui .list-item{border-color:#4b4c46}.player-ui .question .alert-info{background:#dae3cf;border-color:#a4b48d;color:#30472d}.player-ui .team-card{background:#283742;border-color:#6a6555}.player-ui .form-control,.player-ui .form-select{background:#eee5d2;color:#292b29;border-color:#a99875}.player-ui .question [data-testid=answer-economy]{font-size:.85rem;line-height:1.55}.player-ui .question [data-testid=answer-economy] p{margin-bottom:8px}.player-ui .question [data-testid=extra-economy]{font-size:.9rem}.player-ui .question .option:disabled{opacity:1}.player-ui .question .option:disabled:not(.selected):not(.correct){opacity:.72}
@media(max-width:700px){body:has(.player-ui) main.container-xl{padding:10px}.player-ui .question{padding:16px}.player-ui .game-heading{top:0}.player-ui .game-heading h1{font-size:1.25rem}.player-ui .timer{font-size:1rem}}
@media(max-height:450px) and (orientation:landscape){}

.team-emblem{display:inline-grid;place-items:center;vertical-align:middle;width:36px;height:36px;flex-shrink:0;border-radius:50%;color:var(--team-color);background:#151d25;border:2px solid var(--team-color)}
.team-emblem svg{width:76%;height:76%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.appearance-picker{margin:12px 0}.appearance-picker summary{cursor:pointer}.appearance-picker fieldset{border:0;padding:12px 0}.appearance-picker input[type=color]{vertical-align:middle;width:48px;height:36px;margin-left:8px}
.emblem-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:7px;max-width:450px;margin:12px 0}
.emblem-option{border:2px solid transparent;background:transparent;border-radius:8px;padding:4px;cursor:pointer}.emblem-option.selected{border-color:#9c7535;background:#b99d4133}.emblem-option:focus-visible{outline:3px solid #428ac2}.emblem-option:disabled{cursor:default}


/* Shared page shell and controls: links and buttons use the same content alignment. */
#app{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
#app>main.container-xl{flex:1 0 auto;width:100%}
#app>footer{margin-top:auto;flex-shrink:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;vertical-align:middle;text-align:center}
.action-row,.sticky-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}
.action-row{min-width:0}
.home-steps .panel{height:100%}
.home-steps .panel p{min-height:4.5em;line-height:1.5}
@media(max-width:600px){.hero .action-row{align-items:stretch;flex-direction:column}.hero .action-row .btn{display:inline-flex;margin:0!important}}

.host-game .option.correct:disabled{opacity:1;background:#e3f1d6;border-color:#5b832b;color:#203b1b}
.correct-label{display:block;margin-top:6px;font-size:.85rem;color:#365c20}
.host-game .question .option{height:100%}
.host-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:.5rem}.host-answer-cell{display:flex;min-width:0}.host-answer-cell .option{height:100%;overflow-wrap:anywhere}@media(max-width:767px){.host-answer-grid{grid-template-columns:1fr}}
.question-edit-actions{flex-wrap:nowrap}.question-edit-actions .btn{height:36px;min-height:36px;padding:0 12px;line-height:1}.question-edit-actions .move-question{width:36px;min-width:36px;padding:0;font-size:18px;flex-shrink:0}

.participant-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.participant-actions:empty{display:none}.participant-actions .btn{width:36px;height:36px;min-width:36px;min-height:36px;padding:7px}.participant-actions svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.player-row{align-items:center}.player-row>span:first-child{min-width:0;overflow-wrap:anywhere}.captain-badge{font-size:.75rem;white-space:nowrap;color:var(--muted)}

.lobby-readiness{display:inline-block;margin-left:.4rem;font-size:.8rem;white-space:nowrap}.lobby-readiness.is-ready{color:#246b59;font-weight:600}.player-ui .lobby-readiness.is-ready{color:#a2d5b2}.lobby-identity{margin-bottom:1rem}

.host-game .alert{overflow-wrap:anywhere}.host-game .row>*{min-width:0}


/* Shared game identity in navigation and account entry screens. */
.site-header .brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-icon{display:block;flex:none;width:44px;height:44px;border-radius:10px}
.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:24px;color:var(--ink);font-size:1.5rem;font-weight:750;letter-spacing:-.03em}
.login-brand img{display:block;flex:none;width:64px;height:64px;border-radius:14px}
@media(max-width:380px){.site-header .brand{gap:10px;font-size:.9rem}.login-brand{gap:12px;font-size:1.35rem}.login-brand img{width:56px;height:56px}}

h1[tabindex='-1']:focus{outline:none}
.alert a{overflow-wrap:anywhere}
@media(max-width:767px){.host-game .game-heading{position:relative;top:auto}main.container-xl:has(.host-game){padding-top:12px!important}}


.return-to-game{min-width:0;overflow-wrap:anywhere}.return-to-game .btn{max-width:100%;white-space:normal}

