/* Conspiracy v1.1.76: Mobile board-game styling with compact closing-screen model rows. This revision removes Pro gate styling and adds an accessible numbered player roster. */

:root{color-scheme:dark;--bg:#0b191c;--panel:#102628;--panel2:#173135;--line:#294344;--text:#ece9dc;--muted:#94a9a7;--gold:#e6c67f;--goldDark:#bea061;--paper:#ede8d8;--ink:#273a37;--danger:#eea088;--shadow:0 15px 50px #0003;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#1c3537 0,transparent 60%),var(--bg);color:var(--text);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:11px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,transform .15s}@media (hover:hover) and (pointer:fine){button:hover:not(:disabled){background:#365050}}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}svg.ui-icon{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button [data-icon]{display:inline-flex}a{color:var(--gold);text-decoration:none}@media (hover:hover) and (pointer:fine){a:hover{text-decoration:underline}}[hidden]{display:none!important}main{max-width:880px;margin:auto;padding:28px 28px 20px}header{display:flex;justify-content:space-between;align-items:center;gap:12px}h1{font-family:Georgia,serif;font-size:clamp(35px,7vw,57px);font-weight:400;letter-spacing:-2px;margin:5px 0 6px;line-height:1.08}.title-dot{color:var(--gold)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--muted);margin:0}.header-actions{display:flex;gap:8px;margin-top:4px}.small{font-size:12px;padding:9px 13px}.primary{background:var(--gold);color:#182a28;border-color:var(--gold);font-weight:650}@media (hover:hover) and (pointer:fine){.primary:hover:not(:disabled){background:#f6d992}}.icon-button{width:39px;height:39px;padding:9px;flex-shrink:0}.dim{opacity:.35;margin:0 8px}.board-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.board-top{display:flex;align-items:center;justify-content:space-between;padding:11px 16px 5px}.board-top>div{display:flex;gap:6px}.board-top .icon-button{width:31px;height:31px;border:0;background:transparent;padding:6px}.board-top .eyebrow{font-size:9px}.player-strip{display:flex;gap:6px;padding:5px 16px 8px}.player-chip{flex:1;min-width:0;padding:8px 9px;border:1px solid transparent;border-bottom:2px solid var(--agency);border-radius:7px 7px 0 0;background:var(--panel2);opacity:.67}.player-chip.active{border:1px solid var(--agency);border-bottom:2px solid var(--agency);opacity:1}.player-chip strong{font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-chip small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.player-chip .skip{color:var(--danger)}.board-scroll{width:100%;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.board-scroll.zoomed #board{width:145%;max-width:none}#board{width:100%;display:block;user-select:none;-webkit-user-select:none}.route{stroke:#426364;stroke-width:4;fill:none;stroke-linecap:round}.route.inner{stroke:#887e54}.city-node{cursor:pointer}.city-disc{fill:#183437;stroke:#65837b;stroke-width:1.7}.city-node.possible .city-disc{stroke:var(--gold);stroke-width:4;fill:#43503b}.city-node.possible{filter:drop-shadow(0 0 6px #ebcb7144)}.city-label{fill:#b7c7bd;font-size:12px;letter-spacing:.6px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;paint-order:stroke;stroke:#102628;stroke-width:4;stroke-linejoin:round}.city-glyph{color:#a5b4a3;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.hq-label{font-size:12px;font-weight:700;letter-spacing:1px}.hq-flag{font-size:9px;letter-spacing:1.6px}.spy-token{cursor:grab;touch-action:none}.spy-token:active{cursor:grabbing}.spy-token.selected .token-ring{stroke-width:4;stroke:var(--gold)}.spy-token .token-name{font-size:11px;font-weight:650;fill:var(--text);paint-order:stroke;stroke:var(--panel);stroke-width:4px;pointer-events:none}.spy-token:focus{outline:none}.spy-token:focus .token-ring{stroke:var(--gold);stroke-width:4}.case-marker{color:#f3d184;filter:drop-shadow(0 3px 4px #0008);pointer-events:none}.status-bar{padding:13px 16px;min-height:48px;border-top:1px solid var(--line);display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}#statusText{flex:1;line-height:1.5}.status-dot{height:7px;width:7px;min-width:7px;background:var(--gold);border-radius:50%}.status-dot.busy{background:none;border:2px solid #526360;border-top-color:var(--gold);width:15px;height:15px;animation:spin 1s linear infinite}.status-dot.error{background:var(--danger)}@keyframes spin{to{transform:rotate(360deg)}}.action-tray{padding:13px 16px;border-top:1px solid var(--line);background:var(--panel2);display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px}.action-tray .agent-title{flex:1;min-width:140px}.agent-title strong{display:block;font-size:14px;margin-bottom:3px}.action-tray button{padding:8px 11px}.action-tray input{width:120px}.checkbook{background:var(--paper);color:var(--ink);border-radius:13px;margin-top:18px;box-shadow:var(--shadow);overflow:hidden;border:1px solid #fff2}.book-head{padding:20px 22px 15px;display:flex;justify-content:space-between;align-items:center;gap:8px}.checkbook .eyebrow{color:#6e7e70;font-size:9px;letter-spacing:1.5px}h2{font:400 29px/1.15 Georgia,serif;margin:6px 0 0}.balance{text-align:right}.balance span{font-size:8px;letter-spacing:1.5px;color:#697d70;display:block}.balance strong{font:400 29px Georgia,serif;display:block;margin-top:5px}.spy-accounts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#c9cfbf;border-top:1px solid #c9cfbf;border-bottom:1px solid #c9cfbf}.account{border:none;border-radius:0;color:var(--ink);background:var(--paper);padding:12px 8px;justify-content:flex-start;gap:9px;text-align:left}@media (hover:hover) and (pointer:fine){.account:hover:not(:disabled){background:#dddcc9}}.account img{width:37px;height:43px;object-fit:cover;border-radius:5px;background:#153335;box-shadow:0 2px 5px #0003}.account>span{min-width:0}.account strong{font:400 18px Georgia,serif;display:block;margin-top:4px}.account small{display:block;font-size:10px;white-space:nowrap}.account.exposed{opacity:.4}.book-foot{display:flex;justify-content:space-between;align-items:center;padding:8px 20px;gap:10px;font-size:10px;color:#68776b}.text-button{border:0;background:none;color:var(--gold);font-size:12px;padding:8px 0}.checkbook .text-button{color:var(--ink);font-size:10px}@media (hover:hover) and (pointer:fine){.text-button:hover:not(:disabled){background:none;text-decoration:underline}}.command-card{margin-top:16px}.command-input{display:flex;background:var(--panel);border:1px solid var(--line);border-radius:10px;align-items:center;padding-right:5px}.command-input input{background:none;border:0;flex:1;min-width:0;padding:14px}.command-input .icon-button{border:0;background:none;width:32px;height:32px}input,select{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:10px;font-size:14px}input::placeholder{color:var(--muted)}.talk-button{width:100%;border-color:#365958;background:#244648;min-height:55px;margin-top:8px;font-size:15px;font-weight:600;touch-action:none;-webkit-user-select:none;user-select:none}.talk-button.recording{background:#7b4539;border-color:#edb197}.talk-button.cancel{background:#8b2c2c}.talk-detail{font-size:10px;font-weight:400;color:#a6beb4;margin-left:auto}.talk-button>svg{color:var(--gold)}.command-feedback{font-size:10px;color:var(--muted);margin:9px 2px;min-height:14px}.command-feedback.error{color:var(--danger)}.activity{margin-top:21px;border-top:1px solid var(--line);padding-top:13px}.activity summary{font-size:12px;color:var(--muted);cursor:pointer}.activity summary span{float:right;color:var(--gold)}#history{font-size:12px;color:var(--muted);line-height:1.7;max-height:240px;overflow:auto;padding-left:26px}#history li{padding:5px;border-bottom:1px solid var(--line)}#history .challenge{color:var(--gold)}footer{text-align:center;padding:28px 0 12px;font-size:9px;letter-spacing:3px;color:#647c78}dialog{color:var(--text);background:var(--panel);border:1px solid #4c6258;border-radius:18px;width:min(450px,calc(100% - 26px));max-height:90dvh;padding:0;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#061214bb;backdrop-filter:blur(6px)}.dialog-body{padding:24px}.dialog-body p{font-size:13px;line-height:1.7;color:var(--muted)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px 0}.dialog-head h2{font-size:26px}.dialog-head .icon-button{background:none;border:0}.dialog-head+.dialog-body{padding-top:14px}.wide{width:100%;margin-top:10px}.fine,.dialog-body p.fine{font-size:11px;line-height:1.65;color:var(--muted)}.welcome-art{height:157px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:radial-gradient(ellipse at center,#416152,#173134 75%);border-bottom:1px solid var(--line)}.seal{color:var(--gold);border:1px solid #a88e55;padding:19px;transform:rotate(-7deg);border-radius:20px}.seal svg{width:48px;height:40px}.welcome-art .eyebrow{color:#d3d9bb}.welcome-dialog h2{font-size:41px;letter-spacing:-.9px}.welcome-mode{padding:11px 0 15px;font-size:12px;color:var(--gold)}.settings-dialog{width:min(530px,calc(100% - 26px))}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px;border-bottom:1px solid var(--line);padding:11px 0}.setting-row select{font-size:12px;max-width:60%}.setting-row input[type=checkbox]{appearance:none;width:38px;height:22px;border-radius:15px;padding:0;position:relative;cursor:pointer;background:#45605e;border:0}.setting-row input[type=checkbox]:before{content:'';position:absolute;width:16px;height:16px;border-radius:50%;left:3px;top:3px;background:#e8e9d7;transition:transform .15s}.setting-row input[type=checkbox]:checked{background:#bc9b54}.setting-row input[type=checkbox]:checked:before{transform:translateX(16px)}.persona-list{margin-top:15px}.persona-card{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.persona-card strong{display:block;color:var(--gold);font-size:13px}.persona-card p{margin:5px 0 0;font-size:11px}.version-line{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin-top:22px;color:var(--muted)}.instructions{margin-top:24px}.instructions h3{font:400 24px Georgia,serif}.instructions ol{padding-left:20px}.instructions li{padding:0 0 13px 3px;line-height:1.65;font-size:12px;color:var(--muted)}.instructions strong{color:var(--text)}.popup-symbol,.ending-symbol{color:var(--gold);margin:12px 0}.popup-symbol svg{width:36px;height:36px}.popup-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.popup-actions button{flex:1}.ending-body{text-align:center;padding:45px 30px}.ending-symbol svg{width:72px;height:72px;margin:auto}.ending-body h2{font-size:39px}.ending-body.defeat .ending-symbol{color:var(--danger)}.ledger-table{width:100%;border-collapse:collapse;font-size:12px}.ledger-table td,.ledger-table th{padding:10px 5px;text-align:left;border-bottom:1px solid var(--line)}.ledger-table td:last-child{text-align:right}.keyboard-dismiss{position:fixed;right:12px;bottom:12px;background:var(--gold);color:#102628;box-shadow:var(--shadow);z-index:1000}.drag-ghost{position:fixed;width:52px;height:52px;border:3px solid var(--gold);border-radius:50%;object-fit:cover;pointer-events:none;z-index:100;box-shadow:0 8px 30px #0008}.toast-save{color:var(--danger)}
.dialog-body p.ending-comment{margin:18px 0 6px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--gold);font:italic 14px/1.55 Georgia,serif}.ending-comment.loading{display:flex;align-items:center;justify-content:center;gap:9px;font-family:inherit;font-style:normal;color:var(--muted)}
body.light{color-scheme:light;--bg:#dfe5dc;--panel:#f1f3e9;--panel2:#e0e8dd;--line:#c4d2c4;--text:#183531;--muted:#536e62;--gold:#8c6524;--goldDark:#8c6524;--paper:#fcf7e9;--ink:#273a37;background:var(--bg)}body.light .primary{background:#1f5248;color:#fff;border-color:#1f5248}body.light #board{background:#143133}body.light .token-name{fill:#f4ecdc;stroke:#102628}body.light .talk-button{color:#eef0df}body.light .welcome-art{background:#254c48}body.light .welcome-art .seal{color:#e6c67f}body.light .city-label{fill:#cfdfd1}
@media(min-width:1100px){main{max-width:850px}.board-scroll{padding:0 30px}header{padding:0 2px}.checkbook{margin-top:22px}}
@media(max-width:600px){main{padding:18px 12px}.eyebrow{font-size:8px;letter-spacing:1.4px}header{align-items:flex-start}.header-actions{margin-top:28px;gap:5px}.header-actions .small{padding:9px;font-size:11px}.header-actions .small svg{width:15px}.header-actions .icon-button{width:34px;height:34px;padding:7px}header a{font-size:11px!important;margin-bottom:18px!important}.board-card{border-radius:12px}.board-top{padding:8px 10px 2px}.board-top .eyebrow{font-size:8px;letter-spacing:1px}.player-strip{padding:4px 8px 6px;gap:4px}.player-chip{padding:7px 5px}.player-chip strong{font-size:9px}.player-chip small{font-size:8px}.status-bar{padding:10px;font-size:11px}.checkbook{margin-top:13px}.book-head{padding:15px 13px}.book-head h2{font-size:23px}.checkbook .eyebrow{font-size:7px;letter-spacing:1px}.balance span{font-size:7px}.balance strong{font-size:25px}.account{padding:10px 7px;gap:6px}.account img{width:27px;height:34px}.account small{font-size:9px}.account strong{font-size:15px}.book-foot{padding:7px 12px;font-size:9px}.talk-detail{font-size:9px}.action-tray{padding:10px;gap:7px}.command-card{margin-top:13px}}
@media(max-width:390px){.spy-accounts{grid-template-columns:repeat(2,1fr)}.account img{width:32px}.account{padding:8px 12px}.account>span{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:1}.account strong{margin:0}.header-actions .small{font-size:10px}.header-actions .small [data-icon]{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}
/* v1.0.3: viewport-sized map, corner controls and compact portrait checkbook.
   Secondary information lives in Settings; payment controls appear only in a dialog. */
main{max-width:760px;padding:8px 12px max(8px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:7px;min-height:100svh}
header{align-items:center;padding:0;gap:8px}h1{font-size:34px;margin:0;letter-spacing:-1.3px}header a{font-size:11px!important;margin-bottom:2px!important}.header-actions{margin-top:0;gap:6px}.header-actions button,.header-actions .icon-button{height:36px;min-height:36px;padding:7px 10px}.header-actions .icon-button{width:36px}.header-actions .small{font-size:11px}
.board-card{flex:none;border-radius:12px}.player-strip{padding:5px 7px;gap:5px}.player-chip{padding:4px 7px}.player-chip strong{font-size:11px}.player-chip small{display:none}.player-chip:has(.skip){opacity:.35}
.map-frame{position:relative;width:min(100%,calc(100svh - 265px));margin:auto}.board-scroll{width:100%;aspect-ratio:1;padding:0}.board-scroll.zoomed #board{width:200%;max-width:none}#board{width:100%;max-width:none}.board-zoom{position:absolute;top:5px;left:5px;width:32px;height:32px;padding:6px;background:var(--panel2);box-shadow:0 2px 10px #0004;font-size:13px;font-weight:750}.board-zoom[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}
.checkbook{margin:0;border-radius:10px;flex:none}.balance{display:flex;justify-content:space-between;align-items:center;padding:5px 9px;gap:8px}.balance span{font-size:10px;letter-spacing:0;text-transform:none}.balance strong{font:600 16px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;margin:0}.spy-accounts{grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:0}.account{padding:5px 8px;gap:7px;min-height:42px}.account img{width:25px;height:29px}.account>span{display:block;flex:initial;min-width:0}.account small{font-size:10px}.account strong{font:600 12px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;margin:2px 0 0}
.command-card{margin:0}.talk-button{margin:0;min-height:42px;padding:8px 12px;font-size:13px}.talk-detail:empty{display:none}.bottom-status{margin-top:auto}.status-bar{border:0;padding:2px 1px;min-height:24px;font-size:10px;gap:6px}#roundLabel{font-size:8px;letter-spacing:.5px;max-width:60px}#statusText{line-height:1.3}.status-bar .small{font-size:10px;padding:5px 8px}.command-feedback{margin:2px 1px;font-size:10px;min-height:0}.command-feedback:empty{display:none}
.payoff-input{display:flex;gap:6px;margin-top:8px}.payoff-input input{flex:1;min-width:0;font-size:20px}.payoff-input button{height:46px}.payoff-input+ .fine{margin:6px 0}#payoffError{color:var(--danger);margin:4px 0}#payoffError:empty{display:none}#payoffForm label{font-size:12px}
@media(min-width:650px){.spy-accounts{grid-template-columns:repeat(8,minmax(0,1fr))}.account{padding:6px 4px;gap:4px}.account img{width:23px;height:28px}.account small{font-size:9px}.account strong{font-size:11px}.map-frame{width:min(100%,calc(100svh - 225px))}}
@media(max-width:360px){h1{font-size:30px}.account{padding:5px;gap:4px}.account img{width:21px;height:27px}.account small{font-size:9px}.account strong{font-size:11px}}
@media(max-height:500px) and (orientation:landscape){main{min-height:100svh}.map-frame{width:min(100%,320px)}}
/* Reserve space for two checkbook rows and wrapped status text on narrow screens. */
main{padding-top:calc(env(safe-area-inset-top,0px) + 12px);padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
.map-frame{width:min(100%,max(180px,calc(100svh - 329px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))))}
@media(min-width:650px){.map-frame{width:min(100%,max(180px,calc(100svh - 289px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))))}}
.player-chip strong{display:flex;align-items:center;gap:5px}.player-chip strong>span:first-child{overflow:hidden;text-overflow:ellipsis}.player-chip.talking{opacity:1;border-color:var(--gold);box-shadow:0 0 0 1px #e6c67f55,0 0 14px #e6c67f33}.voice-indicator{height:12px;display:inline-flex;align-items:center;gap:2px;color:var(--gold);flex:none}.voice-indicator i{display:block;width:2px;height:4px;border-radius:2px;background:currentColor;animation:voice-wave .65s ease-in-out infinite}.voice-indicator i:nth-child(2){height:10px;animation-delay:-.22s}.voice-indicator i:nth-child(3){height:7px;animation-delay:-.42s}@keyframes voice-wave{0%,100%{transform:scaleY(.45);opacity:.55}50%{transform:scaleY(1);opacity:1}}

/* v1.1.0: movement and challenge feedback stays on the board instead of interrupting play. */
main{position:relative;padding-top:calc(env(safe-area-inset-top,0px) + 30px)}
header a{margin-bottom:25px!important}
.map-frame{width:min(100%,max(180px,calc(100svh - 369px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))))}
@media(min-width:650px){.map-frame{width:min(100%,max(180px,calc(100svh - 329px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))))}}
.route{transition:stroke .2s,stroke-width .2s}.route.last-move{stroke:#a96cff!important;stroke-width:8;filter:drop-shadow(0 0 5px #a96cff99)}
.spy-token .token-name{font-size:15px;font-weight:800;stroke-width:5px}.token-visual.moving{animation:agent-move .7s cubic-bezier(.2,.75,.25,1) both;pointer-events:none}@keyframes agent-move{from{transform:translate(var(--move-x),var(--move-y)) scale(.92);filter:drop-shadow(0 0 10px #a96cff)}to{transform:translate(0,0) scale(1);filter:drop-shadow(0 0 0 transparent)}}
.ai-thinking{position:absolute;inset:0;z-index:15;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#0715179c;backdrop-filter:blur(2px);pointer-events:none;text-align:center}.ai-thinking strong{font-size:12px;letter-spacing:1px;color:#f2e8ce;max-width:70%}.large-spinner{width:70px;height:70px;border:7px solid #ffffff25;border-top-color:var(--gold);border-right-color:#a96cff;border-radius:50%;animation:spin .85s linear infinite;box-shadow:0 0 32px #0008}
.challenge-panel{position:relative;z-index:30;min-height:178px;margin:0 8px -178px;padding:18px;background:linear-gradient(145deg,#203d40,#102628);border:1px solid #a96cff;border-radius:0 0 14px 14px;box-shadow:0 18px 45px #000b}.challenge-panel h2{font-size:23px;margin:5px 0}.challenge-panel p:not(.eyebrow){font-size:12px;line-height:1.55;color:var(--muted);margin:8px 0}.challenge-actions{display:flex;gap:9px}.challenge-actions button{flex:1;padding:9px}.challenge-actions .unqualified{border-color:#8c7654;background:#6d5b38;color:#fff}
.toast{position:fixed;z-index:2000;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translate(-50%,24px);width:min(460px,calc(100% - 28px));padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:#173135;color:var(--text);box-shadow:0 18px 60px #000b;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;text-align:center;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.success{border-color:#70cda0;background:#173b32}.toast.payoff{border-color:var(--gold);background:#3b3424}.toast.warning{border-color:var(--danger);background:#492f2c}
body.light .challenge-panel{background:linear-gradient(145deg,#eef2e6,#dce6dc);color:var(--text)}body.light .toast{background:#f3f2e8;color:#183531}
.spy-token .token-name{font-size:18px;font-weight:800;stroke-width:5px}.account small{font-weight:800}.command-card{margin-top:10px}
@media(max-width:420px){.challenge-panel{min-height:190px;margin-left:3px;margin-right:3px;margin-bottom:-190px;padding:14px}.challenge-panel h2{font-size:20px}.challenge-actions button{font-size:12px;padding:8px}.large-spinner{width:58px;height:58px}}

/* v1.1.1: the map replaces the player strip as the turn indicator. */
.player-strip{display:none!important}
.map-frame{width:min(100%,max(180px,calc(100svh - 341px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))))}
@media(min-width:650px){.map-frame{width:min(100%,max(180px,calc(100svh - 301px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))))}}
.city-node .hq-box{transition:stroke-width .18s,filter .18s,fill .18s}.city-node.turn-active .hq-box{stroke:var(--gold)!important;stroke-width:7;fill:#274647;filter:drop-shadow(0 0 11px #e6c67fcc);animation:hq-turn-pulse 1.35s ease-in-out infinite}.city-node.turn-active .hq-label{fill:#fff4d2!important;font-size:14px}.city-node.turn-active .hq-flag{fill:var(--gold)!important;font-weight:800}.city-node.speaking .hq-box{stroke:#a96cff!important;filter:drop-shadow(0 0 12px #a96cffcc)}@keyframes hq-turn-pulse{0%,100%{stroke-width:5;filter:drop-shadow(0 0 5px #e6c67f66)}50%{stroke-width:8;filter:drop-shadow(0 0 14px #e6c67fee)}}
@media(prefers-reduced-motion:reduce){.city-node.turn-active .hq-box{animation:none}}

/* v1.1.27: password-gated Pro model access. */

/* v1.1.28: explicit challenge-result symbols, with red loss feedback for the human agency. */
.toast{display:flex;align-items:center;justify-content:center;gap:9px}.toast-icon{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.toast.warning .toast-icon,.popup-symbol.danger{color:var(--danger)}.toast.success .toast-icon{color:#70cda0}

/* v1.1.29: concise LLM-generated strategic recap on the operation-complete screen. */
.ending-body .game-recap{margin:14px 0 4px;padding:14px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);font-size:13px;line-height:1.6}.game-recap.loading{display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;color:var(--muted)}

/* v1.1.42: the human can pass from a compact control at the map's lower-right corner. */
.board-skip{position:absolute;right:7px;bottom:7px;z-index:20;min-width:62px;padding:8px 13px;border-color:#d5b86d;background:#173135dd;color:#f1d68f;font-size:12px;font-weight:750;box-shadow:0 3px 14px #0008;backdrop-filter:blur(4px)}@media (hover:hover) and (pointer:fine){.board-skip:hover:not(:disabled){background:#294d4f}}

/* v1.1.44: action feedback remains in the board card until the next action replaces it. */
.action-message{display:flex;align-items:flex-start;gap:9px;padding:9px 12px;border-top:1px solid var(--line);background:#142d30;color:var(--text);font-size:11px;line-height:1.35}.action-message>span{flex:none;color:var(--gold);font-size:8px;letter-spacing:1.1px;padding-top:2px}.action-message>strong{font-weight:550}.action-message.challenge{border-top-color:#a96cff}.action-message.payoff{border-top-color:var(--gold)}.action-message.skip{color:var(--muted)}body.light .action-message{background:#e8eee5}
.board-card:has(.action-message:not([hidden])) .map-frame{width:min(100%,max(180px,calc(100svh - 385px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))))}@media(min-width:650px){.board-card:has(.action-message:not([hidden])) .map-frame{width:min(100%,max(180px,calc(100svh - 345px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))))}}

/* Native clicks remain the sole activation path for ordinary controls. */
button,a,summary,select,input,.city-node{touch-action:manipulation}
.spy-token,.talk-button{touch-action:none}

/* v1.1.68: visible attributed banter and a persistent, dollar-specific influence ledger. */
.action-message.trash{border-top-color:#70cda0;background:#173b32}.action-message.trash>strong{font-family:Georgia,serif;font-style:italic}.challenge-record{margin-top:10px}.challenge-record ol{font-size:11px;line-height:1.55;max-height:260px;overflow:auto;padding-left:26px}.challenge-record li{padding:7px 4px;border-bottom:1px solid var(--line)}.challenge-record .empty-record{color:var(--muted);font-style:italic}body.light .action-message.trash{background:#e3eee5}
.challenge-record li.exposure{color:#9fd8bb}.challenge-record li.challenge{color:var(--gold)}body.light .challenge-record li.exposure{color:#276a4a}

.ending-models{margin:18px 0;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);text-align:left}.ending-models .eyebrow{margin:0 0 6px;font-size:10px}.ending-models ol{margin:0;padding-left:18px;font-size:13px}.ending-models li{padding:6px 0;color:var(--muted)}.ending-models li strong{float:right;color:var(--text)}
