/* DATCORE Games — shared light visual system */
:root{color-scheme:light;--ink:#262332;--navy:#f5f2fb;--blue:#7655b5;--gold:#7655b5;--green:#18764c;--red:#b43c52;--white:#262332;--muted:#777182;--line:#e3deeb;--accent:#7655b5;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html,body{color:#262332;background:#faf9f6;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:400}body{background-image:none}button,input,select,textarea{font:inherit}a{color:inherit}h1,h2,h3{letter-spacing:-.035em;font-weight:650}p{line-height:1.6}.brand,.quiz-brand{font-style:normal;letter-spacing:-.045em;text-shadow:none;color:#262332;font-weight:650}.brand span,.quiz-brand span{color:#262332}.brand.compact{font-size:25px}.app-header{min-height:76px;background:#fff;border-bottom:1px solid var(--line);padding:16px 3vw;backdrop-filter:none;gap:20px}.app-header>strong{color:#7655b5;font-weight:600;font-size:13px;letter-spacing:.03em}.owner-nav{gap:10px}.button,button{font-weight:600;letter-spacing:0}.button{border-width:1px;border-radius:10px;min-height:46px;padding:11px 18px;box-shadow:none;transition:background .15s,border-color .15s}.button.primary,.join-card button{background:#7655b5;color:#fff;box-shadow:none}.button.primary:hover,.join-card button:hover{background:#64459e}.button.secondary,.button.ghost{background:#f0eaf8;color:#634699;border-color:transparent}.button.ghost{background:transparent;border-color:#ded7e8;color:#5f576e}.button.secondary:hover,.button.ghost:hover{background:#e9e0f5}.button.danger{background:#fff1f3;color:#a43249;border-color:#ecc7cf}.button.small{font-size:13px;min-height:38px;padding:8px 12px}button:disabled,.button:disabled{opacity:.45;cursor:not-allowed}label{color:#514959;font-size:14px;font-weight:550;line-height:1.45}input,select,textarea{background:#fff;color:#262332;border:1px solid #d9d2e2;border-radius:9px;min-height:46px;padding:11px 13px;outline:none}input::placeholder,textarea::placeholder{color:#8c8497;font-weight:400}input:focus,textarea:focus,select:focus{border-color:#987ac5;box-shadow:0 0 0 3px #7655b516}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ab8dd2;outline-offset:3px}input[type=checkbox],input[type=radio]{accent-color:#7655b5}.eyebrow{color:#82699f;font-size:11px;font-weight:650;letter-spacing:.14em}.setup-card,.control-card,.players-panel,.session-bar,.phone-card,.join-card,.phone-game{background:#fff;border:1px solid var(--line);box-shadow:none;border-radius:16px}.setup-card h1{font-size:clamp(28px,3.5vw,44px);line-height:1.15}.host-shell{width:calc(100% - 6vw);max-width:1600px}.auth-card{margin-top:7vh}.form-error,.join-card small{color:#b43c52}.hero-card{background:#f0eaf8;border-color:#e5dcef;box-shadow:none}.hero-card h1{font-size:clamp(48px,7vw,100px);line-height:1.02;font-weight:650}.hero-card h1 em{color:#7655b5}.lead{color:#696173}.game-card{background:#fff;border-color:var(--line)}.game-number,.game-card p{color:#7655b5}.game-card h2{font-size:27px}.mode-option span,.team-option span{background:#faf8fd;border:1px solid #ded7e8}.mode-option b{color:#33293f;font-weight:650}.mode-option input:checked+span,.team-option input:checked+span{background:#eee6fa;border-color:#987ac5;box-shadow:none;color:#61468e}.directory-row,.invitation-row,.roster-row,.team-control,.roster-section,.channel-picker label,.consent-card{background:#faf9fc;border:1px solid #e3deeb}.status-note{background:#f2edf9;color:#625473}.consent-card p{color:#696173}.status-badge{color:#6b548e;background:#f0eaf8;border-color:#d9cce9;font-weight:600}.status-badge.delivered{background:#eaf6ee;color:#226440;border-color:#a7d0b7}.status-badge.failed,.status-badge.unknown{background:#fff0f2;color:#a43349;border-color:#e8b8c2}.icon-button{color:#6b548e;background:#f0eaf8}.player-chip{background:#f5f1fb;border-color:#ded5ea}.host-status{font-weight:550}.session-bar strong{font-weight:600}.section-title span{background:#eee6fa;color:#6b548e}.answer-control,.host-choice,.phone-choice,.choice-grid button{background:#f7f3fc;color:#33293f;border:1px solid #d9cfe7;box-shadow:none;font-weight:600}.answer-control b{background:#e9def6;color:#6b548e}.answer-control.revealed,.host-choice.correct,.phone-choice.correct,.choice-grid button.is-correct{background:#e7f4ec;color:#205a39;border-color:#86bc9e}.phone-result{background:#eee6fa;color:#61468e}.phone-status,.phone-game-head>span{color:#7655b5}.buzzer{background:#b84b61;border:8px solid #9b3c50;box-shadow:0 10px 0 #763447;color:white}.buzzer:active{box-shadow:0 3px 0 #763447}.phone-timer span,.phone-status{color:#777182}.quiz-brand b{color:#777182;font-weight:600}dialog{color:#262332;background:#fff;border:1px solid #e3deeb;border-radius:16px;box-shadow:0 24px 90px #29213225;max-height:90dvh;overflow:auto}dialog::backdrop{background:#27203266;backdrop-filter:blur(4px)}
/* Display screens keep their large type and existing game layout. */
.scoreboard article,.question-board,.quiz-top,.tv-question{background:#f2edf9;border-color:#d6c9e6;box-shadow:none}.round-pot,.big-timer,.tv-timer{background:#fff;border-color:#a58ac8}.answer-tile,.tv-choice,.tv-player-card,.tv-choices span,.player-card{background:#fff;color:#30283b;border-color:#d9cfe7;box-shadow:none}.answer-tile .number{background:#eee6fa;color:#674c91}.tv-choice.correct,.tv-player-card.correct,.tv-choices span.is-correct,.player-card.is-correct{background:#e5f3eb;color:#1c5937;border-color:#76b692;box-shadow:none}.tv-player-card.wrong,.player-card.is-wrong{background:#fcebee;color:#9e3549;border-color:#da9dac}.tv-player-card span,.player-card span,.tv-players-head p,.tv-timer span{color:#71657e}.tv-players-head strong{color:#33293f}.buzz-winner{background:#7655b5;color:#fff;border-color:#bca7da;box-shadow:0 20px 60px #7655b533}.tv-shell .brand{font-size:clamp(24px,2.4vw,42px)}
/* Photo game and projector. */
.card{border-color:#e3deeb;box-shadow:none;border-radius:16px}.choice{border-width:1px}.choice:hover{background:#f3edf9}.pill{background:#eee6fa;color:#6c5096}.people-display header,.people-display footer{color:#777182;letter-spacing:.05em}.people-display header{background:#fff;border-color:#e3deeb}.people-display header span:first-child,.people-display .kicker,.people-display .rank-num{color:#7655b5}.people-display .waiting p:not(.kicker),.people-display .show-title p,.people-display .stats span{color:#777182}.people-display button{color:#6b548e;border-color:#d9cfe7;background:#f5f0fb}.people-display .ranking-card{background:#fff;border-color:#e3deeb;box-shadow:none}.people-display .ranking-card:first-child,.people-display .ranking-card.winner{background:#f3edf9;border-color:#bba4d5;box-shadow:none}.people-display .face{background:#ece5f3}.people-display .delta,.people-display .mood{color:#756584}.people-display .delta.up{color:#18764c}.people-display .delta.down{color:#b43c52}
@media(max-width:800px){.app-header{padding:14px 20px;min-height:64px}.brand.compact{font-size:21px}.owner-nav .button{font-size:12px}.host-shell{width:calc(100% - 24px)}.setup-card{padding:24px}.landing-shell{padding-top:24px}.hero-card{padding:28px}.game-card{gap:16px}.game-card h2{font-size:25px}}
