.app-loading .top-actions{visibility:hidden}.app-loading #entry button,.app-loading #entry summary{pointer-events:none;opacity:.65}
#appLoadStatus{max-width:600px;margin:8px auto;padding:10px 16px;color:#d6e9ed}#appLoadStatus:empty{display:none}
.invitation-entry{margin-bottom:12px}.invitation-entry h2{font-size:23px;margin:0 0 8px}.invitation-entry p{margin:6px 0;color:#ced9e8}
body.invited-entry .hero,body.invited-entry #entry>aside,body.invited-entry #entry>.card>.ribbon,body.invited-entry #entry>.card>h2,body.invited-entry #entry>.card>p.muted,body.invited-entry .entry-primary,body.invited-entry #friendsOptions,body.invited-entry #practiceOpen,body.invited-entry #crownsOptions,body.invited-entry #firstGuideEntry,body.invited-entry #entry>.card>.install-entry{display:none!important}
#inviteJoin{width:100%;min-height:52px;margin-top:8px}#inviteOther{width:100%;min-height:44px;margin-top:8px}#inviteError:empty{display:none}#inviteError{color:#ffe0a0;line-height:1.5}
#friendsOptions>#create{margin-top:10px}.friend-advanced{margin:8px 0}.friend-advanced>summary{font-size:14px}.virtual-note{font-size:13px;line-height:1.6;color:#d7e3ef}
#readySeconds{display:block;min-height:22px;text-align:center;font-size:14px;color:#d4e5eb}#readySeconds[hidden]{display:none}
#resultDetails{font-size:14px;line-height:1.7;margin:8px 0;order:2}#resultDetails summary{min-height:44px;display:flex;align-items:center;cursor:pointer}#resultDetails p{margin:6px 0}#rematchStatus{font-size:13px;line-height:1.5;order:4;text-align:center;margin:4px 0}#rematchStatus:empty{display:none}
#roundActions{margin:10px 0}#roundActions button{min-height:48px;width:100%}#roundStatus{font-size:13px;color:#d9e6ee}#resultPractice{min-height:44px}#resultSave{font-size:14px;min-height:44px}
body.in-duel #duelNotice:not(.hidden){position:absolute;top:0;inset-inline:8px;z-index:6;background:#422b14;border:1px solid #ffda85;padding:8px;border-radius:8px}#duel{position:relative}
@media(max-width:700px){body.invited-entry #entry{margin-top:12px}body.duel-result #duel #readySeconds{display:none}#resultDetails{width:100%}#firstGuideEntry{margin-top:12px}}

#answers[hidden]{display:none!important}body.duel-result #duel>.btnrow{display:none!important}body.duel-result #duel #answerFeedback{display:none!important}
body.in-duel .connection-notice{inset:auto 8px auto!important;top:calc(8px + env(safe-area-inset-top))!important;bottom:auto!important;max-height:35dvh;overflow:auto}body.in-duel #duelNotice:not(.hidden){display:none}body.duel-result #duel[data-result] #phase{background:#1a2c40;border-color:#536c82;color:#e4edf5}

#duel[data-result] #clocks,#duel[data-result] #phase{display:none}#winner .result-detail{display:block;font-size:15px;font-weight:400;line-height:1.7;margin-top:12px;color:#cddbe8}#winner>strong{display:block;font-size:28px}#resultDetails>summary::before{content:'+';margin-inline-end:8px}#resultDetails[open]>summary::before{content:'−'}
/* Secondary information stays outside the live battle. */
.site-footer{margin:24px auto 12px;text-align:center;color:#c1ccd7;font-size:13px;line-height:1.7}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px}.site-footer a{color:#c8e8df;min-height:44px;display:inline-flex;align-items:center}.site-footer small{display:block}body.playing .site-footer,body.watching .site-footer,body.in-duel .site-footer{display:none}.utility-menu-panel>a{color:#e7f4f1;text-decoration:none;display:block;padding:12px;line-height:1.5}
.save-progress{padding:10px 12px;border:1px solid #466b69;border-radius:12px;background:#163332;margin:10px 0;order:7}.save-progress p{margin:0 0 6px;font-size:14px}.save-progress button{min-height:44px}.text-button{background:transparent;border:0;color:#d0dfdf;text-decoration:underline;cursor:pointer}.personal-goal,.evening-summary{font-size:14px;line-height:1.6;color:#b4eddb;margin:8px 0}.personal-goal:empty,.evening-summary:empty{display:none}#resultGoal{order:3}#watchFinished button{display:block;width:100%;min-height:48px;margin:8px 0}#watchRematchStatus,#watchEvening{font-size:14px;line-height:1.6}#watcher:has(#watchFinished:not(.hidden)) #watchQuestion{display:none}.share-feedback{font-size:14px;line-height:1.6;color:#b8f0db}.fresh-room{font-size:14px}#roundActions .fresh-room{margin-top:8px}#resultActions>.fresh-room{order:6}
@media(max-width:700px) and (max-height:700px){body:not(.playing) .hero{padding:6px 0}.hero h1{font-size:23px!important;line-height:1.15!important;margin:4px 0!important}.hero p{margin:6px 0!important;font-size:14px;line-height:1.5}#entry>.card{padding:14px!important}#entry .entry-primary{margin-top:10px}#entry .entry-primary .mode-card{min-height:68px!important;padding:10px 12px!important}#entry .practice-button{min-height:48px!important;padding:8px!important;margin-top:8px!important}#entry .quiet-options{margin:8px 0}#entry .quiet-options>summary{min-height:44px}#entry #nameHint{margin:4px 0}.site-footer{margin-top:12px}}

/* Server-confirmed feedback: gold is explanation, green is success only. */
#answers button[data-feedback="correct"],#watchOptions [data-feedback="correct"]{background:#124d3b!important;border:2px solid #65edac!important;color:#effff5!important;opacity:1!important}
#answers button[data-feedback="wrong"],#watchOptions [data-feedback="wrong"]{background:#54232c!important;border:2px solid #ff8997!important;color:#fff2f4!important;opacity:1!important}
#answers button[data-feedback="solution"],#watchOptions [data-feedback="solution"]{background:#514219!important;border:2px solid #f4ce7a!important;color:#fff2c7!important;opacity:1!important}

/* A single first-visit action, with a code-native arena illustration. */
#welcome[hidden]{display:none!important}#welcome{max-width:570px;margin:8px auto 24px;text-align:center;padding:0 20px;box-sizing:border-box}body.welcome-open .hero,body.welcome-open #entry,body.welcome-open .top-actions{display:none!important}body.welcome-open .topbar{justify-content:center}.welcome-art{max-width:330px;margin:auto}.welcome-art svg{display:block;width:100%;height:auto}.welcome-kicker{font-size:14px;color:#b8c9e6}#welcome h1{font-size:clamp(28px,7vw,42px);line-height:1.16;margin:14px 0;color:#f7fbff}#welcome h1 em{font-style:normal;color:#71ebce}#welcome p{font-size:17px;line-height:1.6;color:#dce5f4;margin:12px 0}#welcome .welcome-goal{font-size:14px;color:#f4ce7a}#welcomeStart{width:100%;max-width:340px;min-height:54px;margin:10px auto 12px;font-size:19px}#welcome small{display:block;font-size:13px;color:#b0bfd3}#welcomeHelp{display:block;margin:12px auto;min-height:44px}body.invited-entry #welcomeHelp{display:none}#lastBattleSummary{font-size:14px;line-height:1.6;margin-top:16px}#lastBattleSummary[hidden]{display:none}#lastBattleSummary summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#c4d3e7}#lastBattleSummary p{margin:4px 0 10px}#resultProgress:empty{display:none}
@media(max-width:700px) and (max-height:700px){#welcome{margin:0 auto 12px;padding:0 12px}.welcome-art{max-width:215px}#welcome h1{font-size:29px;margin:8px 0}#welcome p{font-size:15px;margin:8px 0}#welcomeStart{margin:8px auto}body.welcome-open .topbar{margin-bottom:4px}}

body.app-loading .hero,body.app-loading #entry{visibility:hidden}
.launch-notice{margin:14px 0 6px;padding:10px 12px;border-inline-start:3px solid #7be3ca;border-radius:10px;background:linear-gradient(110deg,#153c3c,#152a45)}.launch-notice strong,.launch-notice span{display:block}.launch-notice strong{font-size:15px;color:#b8ffea}.launch-notice span{font-size:12px;line-height:1.6;color:#ccd9e9;margin-top:3px}.launch-notice[hidden],body.invited-entry #launchNotice{display:none!important}#practiceOpen.launch-play{border-color:#71d8bd;background:#163d3b;color:#d9fff3}body.welcome-open #launchNotice{display:none}
/* Identify the person first; keep full names available in the target list. */
#game .tile .owner-label{display:block;max-width:100%;width:100%;font-size:11px;font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}#game .tile .topic{font-size:13px;font-weight:800;line-height:1.25}#game .tile .owner-status{display:block;font-size:9px;line-height:1.2;color:#e0ebf5;white-space:normal}#game .tile.target .owner-status{color:#b9ffe3}#game .tile.in-battle .owner-status{color:#ffe3a0}#game .tile .cell-count{display:none}#game .target-info strong{overflow-wrap:anywhere;white-space:normal}#previewTitle{overflow-wrap:anywhere}#game[data-board-width="4"] .tile{min-height:82px;padding:5px 3px;gap:4px}#game[data-board-width="4"] .tile .owner-label{font-size:11px}#game[data-board-width="4"] .tile .topic{font-size:14px}
