:root{--ink:#203f3a;--muted:#66746a;--paper:#f7f4eb;--card:#fffcf4;--line:#dedfd2;--green:#245a4c;--mint:#dce9d7;--orange:#df8254;--gold:#c9a847;--shadow:0 12px 40px #2543350d;font-family:Arial,"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;min-height:44px;min-width:44px}button:disabled{cursor:not-allowed}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #d27b35;outline-offset:4px}button{border:1px solid var(--line);border-radius:10px;background:var(--card)}a{color:inherit}h1,h2,h3,p{margin-top:0}p{line-height:1.65}strong,b{font-weight:750}[hidden]{display:none!important}.masthead{max-width:1500px;margin:auto;padding:22px 40px 19px;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:23px;font-weight:800;letter-spacing:1px;line-height:1.15}.wordmark-block{background:var(--ink);color:#f8edcf;display:grid;place-items:center;width:43px;height:43px;border-radius:3px;font-size:28px;transform:rotate(-4deg)}.wordmark small{display:block;font-size:9px;letter-spacing:2.1px;font-weight:600;margin-top:6px;color:var(--muted)}.edition{margin-left:auto;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:9px}.edition i{width:6px;height:6px;background:var(--green);border-radius:50%}.edition>span{border-left:1px solid var(--line);padding-left:10px}.masthead nav{display:flex;gap:8px}.masthead nav button{background:transparent;border:0;padding:0 12px;font-size:13px}.count{margin-left:5px;font-size:10px;border-radius:50%;background:#e5e7da;padding:3px 6px}.quiet-button{color:var(--muted)}main{max-width:1500px;margin:auto;padding:22px 40px 0}.hud{display:grid;grid-template-columns:1fr 1.04fr 1.06fr 1.3fr;border:1px solid var(--line);border-radius:14px;background:#fffdf7;box-shadow:var(--shadow);margin-bottom:25px;overflow:hidden}.hud>div,.hud>button{position:relative;padding:16px 22px;text-align:left;border:0;border-radius:0;background:transparent;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.hud>:not(:last-child){border-right:1px solid var(--line)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--muted);line-height:1.5;display:block}.hud .eyebrow{letter-spacing:.6px}.hud .eyebrow span{margin-left:12px}.hud strong{font-size:28px;line-height:1.25;letter-spacing:-.6px;margin-top:4px;white-space:nowrap}.hud strong span{font-size:15px;color:var(--muted);margin-left:5px;font-weight:500}.hud small{font-size:10px;color:var(--muted);margin-top:6px}.hud button:hover{background:#f0f4e9}.day-dots{display:flex;gap:6px;margin-top:8px}.day-dots i{width:16px;height:4px;background:#e6e8dd;border-radius:2px}.day-dots i.current{background:var(--orange)}.day-dots i.done{background:var(--green)}.game-layout{display:grid;grid-template-columns:minmax(0,1.95fr) minmax(350px,1fr);gap:27px;align-items:start}.world-column{min-width:0}.world-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:2px 0 15px}.world-heading h1{font-size:24px;letter-spacing:-.7px;line-height:1.35;margin:5px 0 0}.location-chip{white-space:nowrap;background:#e6e9db;border:1px solid #d8dece;border-radius:30px;padding:7px 10px;font-size:11px;max-width:40%;overflow:hidden;text-overflow:ellipsis}.world{position:relative;width:100%;aspect-ratio:1200/650;overflow:hidden;isolation:isolate;background:#e6ebd8;border:1px solid #cad5bf;border-radius:15px;box-shadow:0 16px 30px #2c54310d}.scene,.map-labels,.route-line{position:absolute;inset:0}.scene{z-index:0}.scene>svg{display:block;width:100%;height:100%}.map-labels{z-index:650;pointer-events:none}.map-label{position:absolute;transform:translate(-50%,-100%);background:#fffcf0eb;padding:5px 8px;border:1px solid #8ca18c45;border-radius:5px;box-shadow:0 2px 0 #364d2c14;font-size:clamp(8px,.76vw,11px);white-space:nowrap;font-weight:700}.map-label.is-active{background:var(--green);color:white;border-color:var(--green)}.route-line{z-index:5;pointer-events:none}.route-line svg{width:100%;height:100%;display:block}.route-line polyline{fill:none;stroke:#fffcdd;stroke-width:5;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:4 11;opacity:.9}.actor{position:absolute;width:6.8%;transform:translate(-50%,-92.857%);pointer-events:none;transform-origin:center bottom;will-change:left,top}.actor>svg{display:block;width:100%;height:auto;overflow:visible}.actor-name{position:absolute;top:-20px;left:50%;transform:translateX(-50%);font-size:10px;background:#fffcf0eb;color:var(--ink);border-radius:4px;padding:3px 7px;white-space:nowrap;box-shadow:0 2px 6px #203f3a22}.player .actor-name{background:#245a4c;color:white}.rival{width:5.8%;opacity:.92}.rival .actor-name{font-size:9px}.destination-marker{position:absolute;width:8%;height:4.5%;border:2px solid #f9fff1;background:#7b9b5d55;border-radius:50%;transform:translate(-50%,-50%);z-index:10}.map-caption{position:absolute;bottom:13px;left:16px;z-index:670;background:#fffcf2df;border-radius:5px;padding:5px 9px;color:#586848;font-size:10px;letter-spacing:.4px}.travel-strip{min-height:51px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#526459;border-bottom:1px solid var(--line)}.travel-strip>span{line-height:1.5}.travel-strip button{border:0;background:transparent;color:var(--green);font-size:12px;white-space:nowrap;padding:4px 8px}.town-notice{display:flex;gap:13px;padding:19px 4px 17px;min-height:95px;border-bottom:1px solid var(--line)}.notice-symbol{width:30px;height:30px;flex:0 0 30px;background:#e9e4cb;display:grid;place-items:center;border-radius:50%;font-size:20px}.town-notice p{font-size:13px;line-height:1.65;margin:4px 0 0}.preparation-strip{display:flex;flex-wrap:wrap;gap:9px;align-items:center;padding:14px 2px;font-size:11px;color:var(--muted)}.preparation-strip>.eyebrow{flex:0 0 auto}.preparation-strip #knowledge{display:flex;gap:6px;flex-wrap:wrap}.preparation-strip button{min-height:32px;padding:5px 8px;border:0;background:#e4e9db;font-size:11px}.preparation-strip #team-summary{margin-left:auto}.interaction{border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow);overflow:hidden;scroll-margin-top:14px}.panel-kicker{background:#ebeee1;color:#5b6b53;font-size:10px;font-weight:700;letter-spacing:1px;padding:12px 18px;display:flex;justify-content:space-between;gap:10px}.panel-content{padding:20px}.panel-content h2{font-size:25px;line-height:1.3;letter-spacing:-.7px;margin-bottom:12px}.panel-content h3{font-size:13px;margin:17px 0 9px}.panel-content p{font-size:13px;margin-bottom:13px;color:#536252}.panel-content .lead{font-size:15px;line-height:1.7}.panel-content .microcopy,.microcopy{font-size:11px;line-height:1.6;color:var(--muted);margin:10px 0 0}.intro-tag{display:inline-block;background:#ecd6b6;color:#8b623f;padding:6px 9px;border-radius:4px;font-size:11px;margin-bottom:19px}.intro-title{font-size:35px!important;line-height:1.25!important;letter-spacing:-1.5px!important}.intro-path{display:flex;gap:7px;align-items:center;margin:24px 0 25px;font-size:11px;color:var(--muted)}.intro-path b{background:#e8ecdd;padding:7px 9px;border-radius:5px;color:var(--ink);font-size:12px}.primary-button,.secondary-button{width:100%;padding:13px 17px;font-size:14px;font-weight:700;min-height:48px;text-align:center;border-radius:8px}.primary-button{background:var(--green);border-color:var(--green);color:#fffdf2}.primary-button:hover{background:#174338}.secondary-button{margin-top:9px;background:transparent}.text-button{background:transparent;border:0;color:var(--green);font-size:12px;padding:8px 3px;min-height:44px}.planning-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-bottom:13px}.planning-head h2{font-size:23px;margin:0}.planning-head span{font-size:11px;white-space:nowrap;color:var(--muted)}.topic-caption{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);margin-bottom:6px}.topic-picks{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px}.topic-pick{min-height:44px;padding:7px 5px;background:#f1f1e7;font-size:11px;border-color:transparent}.topic-pick b{display:block;font-weight:600}.topic-pick small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.topic-pick.selected{border-color:#6b896b;background:#e4ecdc;box-shadow:inset 0 0 0 1px #6b896b}.action-list{display:grid;gap:8px}.day-action{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:11px 12px;text-align:left;width:100%;background:#fffdf7;border-color:#daddcd;transition:background .15s,border-color .15s,transform .15s}.day-action:hover:not(:disabled){background:#edf2e6;border-color:#8da286;transform:translateX(2px)}.action-icon{align-self:start;display:grid;place-items:center;width:33px;height:34px;border-radius:7px;color:#436b56;background:#e7ecd9}.action-icon svg{width:21px;height:21px}.action-heading{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.action-heading b{font-size:14px;letter-spacing:.2px}.action-heading em{font-style:normal;font-size:11px;color:#846e44;white-space:nowrap;font-weight:600}.action-description{display:block;font-size:11px;color:#5f6e5d;line-height:1.55;margin-top:4px}.action-risk{display:block;font-size:10px;color:#817b66;line-height:1.5;margin-top:2px}.day-action:disabled{opacity:.54;background:#f2f1e8}.team-switch{display:flex;align-items:center;gap:9px;font-size:11px;padding:10px;margin:12px 0 0;background:#f1f0e5;border-radius:7px}.team-switch button{min-height:32px;min-width:56px;padding:4px 8px;font-size:11px;margin-left:auto}.team-switch button[aria-pressed=true]{color:white;background:var(--green)}.team-switch p{font-size:11px;line-height:1.5;margin:0}.team-switch small{display:block;color:var(--muted);font-size:10px}.travel-title{display:flex;align-items:center;gap:12px;padding:12px 0 18px}.travel-title .action-icon{width:47px;height:47px}.travel-title .action-icon svg{width:27px;height:27px}.travel-title h2{font-size:24px;margin:0}.stage-track{display:flex;gap:5px;margin:17px 0}.stage-track span{height:5px;flex:1;background:#e3e6d8;border-radius:3px}.stage-track span.active{background:var(--orange)}.action-total{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.action-total strong{color:var(--ink)}.speaker{display:flex;align-items:center;gap:10px;margin:0 0 14px}.speaker-portrait{width:44px;height:52px;background:#e5eadc;border-radius:9px;overflow:hidden;padding:4px 6px 0}.speaker-portrait svg{width:100%;height:100%;object-fit:contain}.speaker strong{display:block;font-size:13px}.speaker small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.question-text{font-size:19px;font-weight:700;line-height:1.55;margin:0 0 17px;letter-spacing:-.5px}.quoted-line{padding:11px 12px;background:#ede9d9;border-left:3px solid #bda371;font-size:12px;line-height:1.6;margin:0 0 14px}.quoted-line small{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}.answer-list{display:grid;gap:9px}.answer-option{padding:13px;text-align:left;font-size:13px;line-height:1.55;background:#fffdf6}.answer-option:hover:not(:disabled){background:#eaf0e2;border-color:#71906d}.answer-option small{display:block;font-size:11px;color:var(--muted);margin-top:5px;line-height:1.6}.answer-option .answer-tag{font-size:9px;font-weight:700;letter-spacing:.6px;color:var(--green);margin:0 0 5px}.answer-option:disabled{background:#efefe6;color:#7e8577;border-style:dashed}.answer-option:disabled .answer-tag{color:#818778}.recap-card{border-bottom:1px solid var(--line);padding:0 0 14px;margin:0 0 16px}.recap-person{display:flex;align-items:center;gap:8px;margin-bottom:9px;font-size:11px;font-weight:700;color:var(--muted)}.recap-person i{width:7px;height:7px;border-radius:50%;background:var(--green)}.recap-card.rival-recap .recap-person i{background:var(--orange)}.recap-card h3{font-size:16px;margin:0 0 7px}.recap-card p{font-size:12px;line-height:1.65;margin:0 0 7px}.recap-card .cause{font-size:11px;color:#78816d}.recap-cost{font-size:10px;color:#7a765e;display:flex;gap:12px;margin-top:9px;flex-wrap:wrap}.brief-poll{background:#e9eee0;border-radius:8px;padding:12px;margin:14px 0;font-size:11px}.brief-poll .poll-pair{display:flex;gap:18px;margin-top:6px;flex-wrap:wrap}.brief-poll b{font-size:17px;margin-left:4px}.brief-poll small{display:block;font-size:10px;color:var(--muted);line-height:1.5;margin-top:7px}.weather-note{font-size:11px!important;padding:10px 11px;background:#f0ecda;border-radius:6px}.fact{padding:12px 0;border-bottom:1px solid var(--line)}.fact strong{font-size:13px}.fact p{font-size:12px;margin:6px 0 0;line-height:1.7}.fact:last-child{border:0}.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0}.result-stats div{background:#e9eee0;border-radius:7px;font-size:11px;padding:12px}.result-stats strong{font-size:21px;display:block;margin-top:7px}.no-pending{padding:10px;background:#eef1e5;border-radius:6px}.budget-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.6}.budget-row strong{white-space:nowrap}.budget-row.total{font-weight:700;font-size:17px;border:0}.journal-entry{margin-bottom:28px}.journal-entry>h3{padding-bottom:10px;border-bottom:2px solid var(--green);font-size:15px}.poll-bars{display:grid;gap:13px;margin:20px 0}.poll-line{display:grid;grid-template-columns:95px 1fr 50px;gap:10px;align-items:center;font-size:12px}.poll-track{height:11px;background:#e7e8dc;border-radius:6px;overflow:hidden}.poll-track i{height:100%;display:block;background:var(--green);border-radius:6px}.poll-line:nth-child(2) i{background:var(--orange)}.poll-line:nth-child(3) i{background:#a7b59c}.poll-line:nth-child(4) i{background:#c6bea0}.poll-line strong{text-align:right}.dialog-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#112d25a8;padding:22px;backdrop-filter:blur(5px)}.dialog{width:min(100%,600px);max-height:88dvh;overflow:auto;background:var(--paper);border:1px solid #e8e9dc;border-radius:16px;box-shadow:0 25px 100px #09231766;padding:25px}.dialog-top{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:15px}.dialog-top h2{font-size:22px;line-height:1.4;margin:0}.dialog-top button{font-size:25px;background:transparent;border:0;flex:0 0 44px}.dialog-body p,#dialog-body>p{font-size:13px;line-height:1.75}.dialog .microcopy{font-size:11px}.dialog .primary-button{margin-top:13px}.notice{font-size:12px;background:#f5dfbb;border:1px solid #dbb977;padding:12px 16px;margin-bottom:16px;border-radius:8px;line-height:1.5}.error-message{background:#f6dfc7;padding:11px;border-radius:6px;font-size:12px;margin-bottom:12px}footer{max-width:1500px;margin:24px auto 0;padding:18px 40px 24px;display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);color:#77806f;font-size:10px;line-height:1.8}footer p{margin:0;max-width:50%}footer a{display:inline-block;min-height:28px;margin-left:7px;text-underline-offset:3px}.skip-link{position:absolute;left:20px;top:-70px;background:var(--green);color:white;padding:12px;z-index:3000}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.blank-scene{padding:50px;font-size:15px;color:#536252}.action-effect{position:absolute;pointer-events:none;z-index:680;width:15%;transform:translate(-50%,-100%);display:none}.action-effect svg{display:block;width:100%;height:auto;overflow:visible}.world.performing .action-effect{display:block}.world .new-teammate{width:6.2%;z-index:650}.world.performing[data-action=prepare] .player>svg{animation:reading-nod .55s ease-in-out infinite alternate}.world.performing[data-action=prepare] .book-page{animation:page-turn .6s ease-in-out infinite}.world.performing[data-action=canvass] .player .person-arm-right,.world.performing[data-action=canvass] .player .arm-right{transform-box:fill-box;transform-origin:50% 15%;animation:wave-arm .45s ease-in-out infinite alternate}.world.performing[data-action=canvass] .greeting{animation:greeting .8s ease-out infinite}.world.performing[data-action=tv] .camera-light{animation:record-light .5s steps(2) infinite}.world.performing[data-action=tv] .tv-beam{animation:light-sweep 1s ease-in-out infinite alternate;transform-origin:80% 10%}.world.performing[data-action=tv] .player>svg{animation:speaking .5s ease-in-out infinite alternate}.world.performing[data-action=fundraise] .donation-envelope{animation:envelope-drop 1s ease-in infinite}.world.performing[data-action=fundraise] .player>svg{animation:receive-note .5s ease-in-out infinite alternate}.world.performing[data-action=recruit] .new-teammate{animation:teammate-arrive 1s ease-out both}.world.performing[data-action=recruit] .join-mark{animation:join-bounce .65s ease-in-out infinite alternate}.walking>svg{animation:walk-bob .23s ease-in-out infinite alternate}.walking .person-leg-left,.walking .leg-left{transform-box:fill-box;transform-origin:center top;animation:walk-leg .23s ease-in-out infinite alternate}.walking .person-leg-right,.walking .leg-right{transform-box:fill-box;transform-origin:center top;animation:walk-leg .23s ease-in-out infinite alternate-reverse}.world.motion-paused *{animation-play-state:paused!important}@keyframes walk-bob{to{transform:translateY(-3px)}}@keyframes walk-leg{from{transform:rotate(-9deg)}to{transform:rotate(9deg)}}@keyframes reading-nod{to{transform:rotate(3deg) translateY(2px)}}@keyframes page-turn{from{transform:translateX(0) rotate(0)}to{transform:translateX(-7px) rotate(-12deg)}}@keyframes wave-arm{from{transform:rotate(-65deg)}to{transform:rotate(-115deg)}}@keyframes greeting{from{opacity:0;transform:translateY(7px) scale(.9)}to{opacity:1;transform:translateY(-5px) scale(1.05)}}@keyframes record-light{to{opacity:.2}}@keyframes light-sweep{to{transform:rotate(5deg);opacity:.4}}@keyframes speaking{to{transform:rotate(-2deg)}}@keyframes envelope-drop{from{transform:translateY(-35px) rotate(-12deg);opacity:0}20%{opacity:1}to{transform:translateY(15px) rotate(0);opacity:0}}@keyframes receive-note{to{transform:rotate(4deg)}}@keyframes teammate-arrive{from{translate:55px 8px;opacity:0}to{translate:0 0;opacity:1}}@keyframes join-bounce{to{transform:translateY(-8px)}}
@media(min-width:1500px){.world-heading h1{font-size:29px}.panel-content{padding:23px}.day-action{padding:13px}.action-description{font-size:12px}.action-risk{font-size:11px}.map-label{font-size:11px}}
@media(max-width:1120px){.masthead{padding:20px 24px}main{padding:20px 24px 0}.game-layout{grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:20px}.world-heading h1{font-size:21px}.location-chip{display:none}.panel-content{padding:16px}.hud>div,.hud>button{padding:14px 17px}.hud strong{font-size:25px}.hud small{font-size:9px}footer{padding:18px 24px 22px}.actor-name{font-size:8px;top:-17px}}
@media(max-width:850px){.game-layout{grid-template-columns:1fr}.world{max-height:none}.world-heading h1{font-size:25px}.location-chip{display:block}.world-column .town-notice{min-height:0;padding:14px 2px}.world-column .preparation-strip{padding-bottom:1px}.interaction{margin-top:3px}.action-list{grid-template-columns:1fr 1fr}.day-action:last-child{grid-column:1/-1}.action-description{font-size:12px}.action-risk{font-size:11px}.panel-content{padding:22px}.planning-head h2{font-size:25px}.topic-picks{max-width:450px}.topic-pick{font-size:12px}.topic-pick small{font-size:10px}.team-switch{max-width:450px}.team-switch button{min-height:44px}.intro-path{margin:20px 0}.intro-title br{display:none}.map-label{font-size:10px}.actor-name{font-size:9px}.edition{font-size:11px}.hud small{line-height:1.5}footer{display:block}footer p{max-width:none}.panel-content .primary-button{margin-top:5px}}
@media(max-width:560px){.masthead{padding:15px 16px;gap:12px}.wordmark{font-size:19px;gap:9px}.wordmark-block{width:36px;height:36px;font-size:24px}.wordmark small{font-size:7px;letter-spacing:1.6px}.edition{display:none}.masthead nav{margin-left:auto;gap:0}.masthead nav button{font-size:12px;padding:0 9px}.count{font-size:9px;padding:2px 5px}.hud{grid-template-columns:1fr 1fr;margin-bottom:20px}.hud>:nth-child(2){border-right:0}.hud>:nth-child(-n+2){border-bottom:1px solid var(--line)}.hud>div,.hud>button{padding:12px 15px;min-height:100px}.hud strong{font-size:25px}.hud small{font-size:10px}.hud .eyebrow{font-size:10px}main{padding:16px 14px 0}.world-heading{margin-bottom:12px;align-items:flex-end}.world-heading h1{font-size:21px;letter-spacing:-.8px}.world-heading .eyebrow{font-size:9px}.location-chip{font-size:10px;padding:5px 8px}.world{border-radius:10px}.map-label{font-size:8px;padding:3px 5px}.map-caption{font-size:8px;left:8px;bottom:7px;padding:3px 6px}.actor-name{font-size:8px;padding:2px 4px;top:-16px}.rival .actor-name{font-size:7px}.actor{width:7.6%}.rival{width:6.8%}.travel-strip{min-height:51px;font-size:11px;gap:4px}.travel-strip button{font-size:11px}.town-notice p{font-size:12px}.town-notice .eyebrow{font-size:10px}.preparation-strip #team-summary{margin-left:0}.preparation-strip button{min-height:44px}.interaction{border-radius:11px}.panel-content{padding:18px}.action-list{grid-template-columns:1fr;gap:8px}.day-action:last-child{grid-column:auto}.day-action{padding:12px;min-height:88px}.action-heading b{font-size:15px}.action-heading em{font-size:12px}.action-description{font-size:12px}.action-risk{font-size:11px}.topic-pick{font-size:12px}.topic-pick small{font-size:10px}.planning-head h2{font-size:24px}.panel-content .microcopy{font-size:11px}.panel-kicker{padding:11px 18px}.question-text{font-size:20px}.answer-option{font-size:14px;padding:14px}.answer-option small{font-size:12px}.answer-option .answer-tag{font-size:10px}.recap-card p{font-size:13px}.recap-card .cause{font-size:12px}.recap-cost{font-size:11px}.dialog-overlay{padding:12px}.dialog{padding:20px;max-height:90dvh}.dialog-top h2{font-size:21px}.budget-row{font-size:12px;gap:10px}.poll-line{grid-template-columns:80px 1fr 44px;font-size:11px}.dialog .fact p{font-size:13px}footer{margin-top:20px;padding:16px 16px 24px;font-size:10px}footer a{margin-left:0;display:block;min-height:44px;padding-top:7px}.intro-title{font-size:31px!important}.intro-title br{display:block}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.reaction-note{background:#eef0e4;padding:8px 10px;border-radius:6px;font-size:11px!important}.reaction-note small{display:block;font-size:10px;margin-top:4px;color:var(--muted)}.ending-tag{display:inline-block;padding:6px 9px;border-radius:5px;background:#e7dfc5;color:#706238;font-size:11px;margin-bottom:17px}.ending-tag.elected{background:#dce9d4;color:#325e42}.ending-tag.forfeited{background:#eedcc9;color:#89583c}.reflection{font-size:12px!important;margin-top:18px}.tally-list{list-style:none;padding:0;margin:18px 0 25px}.tally-list li{display:grid;grid-template-columns:25px 1fr 55px 50px;gap:8px;align-items:center;padding:10px 8px;border-bottom:1px solid var(--line);font-size:12px}.tally-list li>span,.tally-list li>small{font-size:10px;color:var(--muted)}.tally-list li>strong{text-align:right}.tally-list li>small{text-align:right}.tally-list .tally-you{background:#dfead6;border-radius:5px}.dialog h3{font-size:15px}

.background-sources{margin-top:23px;padding-top:13px;border-top:1px solid var(--line)}.background-sources a{display:inline-block;min-height:44px;line-height:1.7;padding:7px 0;text-underline-offset:3px}footer .text-button{font-size:10px;margin-left:5px}footer .text-button+a{margin-left:8px}

/* v8.1: explain the decision before departure, and its measured result afterward. */
.response-choice{display:flex;align-items:center;gap:10px;margin:12px 0;padding:9px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.response-choice p{flex:1;margin:0;font-size:11px;line-height:1.6;color:var(--muted)}.response-choice button{flex:0 0 112px;padding:7px 9px;font-size:11px}.response-choice button[aria-pressed=true]{background:var(--mint);border-color:#9aaf92}.team-plan{margin:12px 0 14px;padding:12px;background:#efeee3;border-radius:8px}.team-plan>p{font-size:12px;margin:0 0 8px}.team-plan>p span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.team-plan .microcopy{font-size:10px;margin:8px 0 0}.team-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.team-picks button{padding:7px 4px;min-height:50px;font-size:11px}.team-picks button small{display:block;font-size:9px;margin-top:5px;color:var(--muted)}.team-picks button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.team-picks button[aria-pressed=true] small{color:#e4eddb}.action-reach,.action-response,.action-helper{display:block;font-size:10px;line-height:1.65;margin-top:5px}.action-reach{font-weight:750;color:var(--green)}.action-response{color:#4e6554}.action-helper{padding-top:5px;border-top:1px dashed #d9dfcf;color:#70633e}.followup-note,.question-reason{background:#f1e6cf;border-left:3px solid #c3a15a;padding:10px 12px;font-size:12px!important;line-height:1.7}.followup-note small{display:block;color:#75654c;margin-top:4px}.direct-effects{margin:14px 0;background:#f0f3e8;border:1px solid #dce3d3;border-radius:8px;padding:12px}.direct-effects h4,.team-report h4{font-size:12px;line-height:1.5;margin:0 0 8px}.recap-card .contact-total{font-size:12px;margin:0 0 10px}.contact-total small{display:block;font-size:10px;color:var(--muted);line-height:1.5;margin-top:4px}.direct-effects dl{margin:0}.direct-effects dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid #dce3d3;font-size:10px}.direct-effects dt{color:var(--muted);flex-shrink:0}.direct-effects dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.direct-effects dd span{padding:0 3px;color:var(--muted)}.recap-card .effect-caveat{font-size:10px;line-height:1.6;color:var(--muted);margin:8px 0 0}.recap-card .knowledge-change{font-size:11px;margin:8px 0 0;color:var(--green)}.reaction-details{border-top:1px solid #dce3d3;margin-top:9px}.reaction-details summary{cursor:pointer;min-height:44px;display:list-item;padding:14px 0 10px;font-size:11px;color:var(--green)}.reaction-details summary:focus-visible{outline:3px solid #d27b35;outline-offset:4px}.reaction-details p{font-size:10px!important;line-height:1.6;margin:0 0 7px}.team-report{margin:12px 0;padding:11px;background:#f2eddf;border-left:3px solid #b5a370;border-radius:0 7px 7px 0}.team-report p{font-size:11px;margin:6px 0}.team-report small{display:block;color:var(--muted);font-size:10px;line-height:1.55}.brief-poll .poll-title{font-size:12px;margin:0}.poll-comparison{margin-top:10px}.poll-comparison>div{display:grid;grid-template-columns:36px 1fr auto;gap:6px;align-items:baseline;padding:6px 0}.poll-comparison strong{font-size:13px;font-variant-numeric:tabular-nums}.poll-comparison small{margin:0;text-align:right;font-size:10px}.brief-poll .poll-trend{font-size:10px;line-height:1.7;margin:8px 0 0;padding-top:8px;border-top:1px solid #d5ddca}.promise-history{border-left:2px solid #c3cfb7;padding-left:11px;margin-top:10px}.promise-history p{font-size:11px!important;margin-bottom:6px}.day-action>span:last-child{min-width:0}.action-heading{flex-wrap:wrap}.action-heading em{margin-left:auto}
@media(max-width:560px){.action-reach,.action-response,.action-helper{font-size:11px}.response-choice p{font-size:11px}.direct-effects dl>div{font-size:11px}.direct-effects dd{max-width:72%;overflow-wrap:anywhere}.poll-comparison strong{font-size:13px}.team-plan{padding:11px}.team-picks button{font-size:12px}.team-picks button small{font-size:10px}.team-plan .microcopy{font-size:11px}.poll-comparison>div{grid-template-columns:32px 1fr auto;gap:5px}}
/* v9: larger horizontal town and explicit recurring-pay team roster. */
.masthead,main,footer{max-width:1800px}.team-member{border-top:1px solid #dcdccf;padding-top:9px;margin-top:9px}.team-member>p{font-size:11px;display:flex;justify-content:space-between;margin:0 0 7px}.team-member>p span{color:var(--muted);font-size:10px}.team-picks{grid-template-columns:repeat(4,minmax(0,1fr))}.team-picks button{min-width:0;font-size:10px;padding:7px 3px}.team-picks button small{font-size:9px}.team-picks button[data-task=release][aria-pressed=true]{background:#89583c;border-color:#89583c}.team-plan .team-release-warning{font-size:11px;line-height:1.6;color:#814b31;margin:10px 0 0;padding-top:8px;border-top:1px solid #d9c4a2}.legacy-version-link{display:inline-block;padding:9px 0;min-height:44px;font-size:11px;color:var(--muted)}
@media(min-width:1121px){.game-layout{grid-template-columns:minmax(0,2.6fr) minmax(370px,1fr)}.world-column{position:sticky;top:20px}.world-heading h1{font-size:25px}.world{width:100%;max-height:none}.actor{width:7.3%}.map-label{font-size:clamp(9px,.77vw,13px)}}
@media(min-width:1600px){.game-layout{grid-template-columns:minmax(0,2.9fr) minmax(390px,1fr)}.world-heading h1{font-size:29px}}
@media(max-width:560px){.team-picks{gap:4px}.team-picks button{font-size:10px;min-height:56px}.team-picks button small{font-size:9px}.team-member>p{font-size:12px}}
.team-actors{position:absolute;inset:0;pointer-events:none;z-index:365}

/* Event choices remain optional; a clear scene takes priority over a compressed sidebar. */
.event-cards{display:grid;gap:10px;margin:16px 0 20px}.event-card{background:#f1eddf;border:1px solid #d9d6c4;border-radius:10px;padding:14px}.event-card.tip-card{background:#eaf0e6;border-color:#cbdac7}.event-card-label{font-size:11px;font-weight:700;line-height:1.5;color:#5c6c5e}.panel-content .event-card h3{font-size:15px;line-height:1.5;margin:5px 0 7px}.panel-content .event-card p{font-size:12px;line-height:1.65;margin:7px 0}.event-card button{min-height:44px;padding:9px 12px;font-size:12px}.event-card button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fffdf6}.event-card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.event-card-actions .text-button{padding:8px;flex:1}.event-evidence{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:5px 12px;padding:9px 0;border-top:1px solid #cad7c5;border-bottom:1px solid #cad7c5;font-size:12px;line-height:1.6}.event-evidence span{white-space:nowrap;color:var(--muted)}.event-howto summary,.report-facts summary{min-height:44px;padding:12px 0;cursor:pointer;font-size:12px;line-height:1.6;color:var(--green)}.event-howto summary:focus-visible,.report-facts summary:focus-visible{outline:3px solid #d27b35;outline-offset:3px}.event-howto .event-path{font-weight:700}.event-howto .microcopy{margin-bottom:10px!important}.action-event{display:block;font-size:12px;line-height:1.65;margin-top:7px;color:#79532e;font-weight:700}.action-cost-breakdown,.cost-breakdown{display:block;font-size:11px;line-height:1.7;color:#596650;margin-top:8px;padding-top:7px;border-top:1px dashed #d9dfcf;font-variant-numeric:tabular-nums}.cost-breakdown{font-size:12px}.event-followups{border:1px solid #d8ceb8;background:#f5efdf;border-radius:10px;margin:20px 0;padding:14px}.panel-content .event-followups>h3{font-size:16px;margin:0 0 12px}.event-report+.event-report{border-top:1px solid #ddd2ba;margin-top:13px;padding-top:13px}.event-report h4{font-size:14px;line-height:1.6;margin:0 0 7px}.event-report p{font-size:13px;line-height:1.7;margin-bottom:8px}.event-report .cause{font-size:12px;color:#6c654e}.event-report .quoted-line{margin-bottom:5px}.event-retrospective{padding:14px;background:#ecf0e4;border:1px solid #d9e1cc;border-radius:9px;margin:16px 0}.event-retrospective h3{font-size:15px;margin:0 0 10px}.event-retrospective ul{padding-left:19px;margin:0}.event-retrospective li{font-size:13px;line-height:1.75;margin:7px 0}.event-record+.event-record{margin-top:22px}.event-record h4{font-size:13px;line-height:1.6;margin:15px 0 6px}.verified-outcome{padding:12px;background:#e4eddc;border-left:3px solid #66815f}.report-facts{border-top:1px solid var(--line);margin-top:13px}.report-facts .fact{padding:8px 0}.answer-option .answer-extra-cost{color:#4d644d;font-weight:700}.topic-picks{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.topic-pick{min-width:0;min-height:76px;font-size:13px;line-height:1.6}.topic-pick small{font-size:11px;line-height:1.6}.day-action{min-height:100px;padding:15px}.action-description,.action-risk,.action-reach,.action-response,.action-helper{font-size:12px;line-height:1.65}.action-heading b{font-size:16px}.action-heading em{font-size:13px}.team-plan>p,.team-member>p{font-size:13px;line-height:1.5}.team-plan>p span,.team-member>p span,.team-plan .microcopy{font-size:11px;line-height:1.65}.team-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.team-picks button{min-height:58px;padding:9px 6px;font-size:12px}.team-picks button small{font-size:11px}.response-choice p,.response-choice button{font-size:12px}.response-choice button{min-height:48px}.preparation-strip button{min-height:44px}.map-caption{font-size:11px}.world-column{order:0}.interaction{order:1;min-width:0}
@media(min-width:1281px){.masthead,main,footer{max-width:1960px;padding-left:32px;padding-right:32px}.game-layout{grid-template-columns:minmax(0,2.6fr) minmax(430px,1fr);gap:28px}.world-column{position:sticky;top:18px}.world-heading h1{font-size:clamp(25px,1.7vw,32px)}.world{max-height:none}.panel-content{padding:22px}.map-label{font-size:clamp(11px,.82vw,15px)}.map-caption{font-size:12px}}
@media(max-width:1280px){.game-layout{grid-template-columns:1fr;gap:20px}.world-column{position:static}.world-heading h1{font-size:27px}.world{max-height:none}.map-label{font-size:clamp(11px,1.2vw,14px)}.map-caption{font-size:11px}.interaction{margin-top:0}.panel-content{padding:22px}.action-list{grid-template-columns:repeat(2,minmax(0,1fr))}.day-action:last-child{grid-column:1/-1}.event-cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.topic-picks{grid-template-columns:repeat(2,minmax(0,1fr))}.team-picks{grid-template-columns:repeat(4,minmax(0,1fr))}.team-plan{padding:15px}.response-choice button{flex-basis:155px}}
@media(max-width:650px){.event-cards{grid-template-columns:1fr}.action-list{grid-template-columns:1fr}.day-action:last-child{grid-column:auto}.team-picks{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-content{padding:18px}.world-heading h1{font-size:22px}.map-label{font-size:9px}.map-caption{font-size:9px;bottom:7px;left:8px}.location-chip{max-width:35%;font-size:10px}.day-action{padding:14px}.topic-picks{gap:7px}.topic-pick{padding:10px 8px;font-size:12px;min-height:80px}.topic-pick small{font-size:11px}.event-card{padding:13px}.action-cost-breakdown{font-size:11px}.response-choice{align-items:flex-start}.response-choice button{flex-basis:128px}.dialog{width:min(100%,680px)}}
.event-effects{padding:10px 12px;margin:12px 0 5px;border:1px solid #dcd3ba;border-radius:7px;background:#fffaf0}.event-effects p{font-size:12px;margin:0 0 5px}.event-effects .microcopy{font-size:11px;margin:0}
.event-card .investigation-status{font-size:12px;font-weight:700;color:#3e614a}.event-history{margin:18px 0;padding:0 0 0 12px;border-left:3px solid #becdb4}.event-history h4{margin-top:0}.event-history .fact{padding:12px 0}.event-history .fact strong{font-size:13px}.event-history .fact .microcopy{font-size:12px}

/* Compact round workspace: action selection is reversible; the primary bar never scrolls away. */
.panel-primary{padding:12px 16px;background:#f4f5e9;border-top:1px solid #ccd8c6;flex:0 0 auto;position:sticky;bottom:0;z-index:5}
.panel-primary.primary-top{top:0;bottom:auto;border-top:0;border-bottom:1px solid #ccd8c6}
.panel-primary .primary-button{width:100%;margin:0;min-height:46px;font-size:15px;padding:11px 14px}
.panel-primary .primary-button:disabled{background:#dce1d3;border-color:#dce1d3;color:#61705c;box-shadow:none;opacity:1}
.panel-primary .commit-reason{font-size:11px;line-height:1.4;margin:0 0 7px;color:#56614f}
.panel-primary.primary-top .commit-reason{margin:7px 0 0}
.panel-primary .commit-reason.blocked{font-size:12px;color:#8e3f2b;font-weight:700}
.compact-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:10px}
.compact-actions .day-action{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;min-height:74px;padding:8px 4px;text-align:center;border-radius:9px}
.compact-actions .day-action:last-child{grid-column:auto}
.compact-actions .day-action .action-icon{width:25px;height:25px;margin:0}
.compact-actions .day-action .action-icon svg{width:25px;height:25px}
.compact-actions .day-action b{font-size:12px;line-height:1.3;overflow-wrap:anywhere}
.compact-actions .day-action.selected,.answer-option.selected{border-color:#245a4c;background:#e1ecda;box-shadow:inset 0 0 0 1px #245a4c}
.compact-actions .day-action:hover{transform:none}
.compact-topic{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.compact-topic>span{font-size:11px;color:#66746a;flex:0 0 auto}
.compact-topic .topic-picks{display:flex;flex-wrap:wrap;gap:5px;margin:0;flex:1}
.compact-topic .topic-pick{flex:1;min-width:60px;min-height:36px;padding:6px 8px;font-size:11px;white-space:nowrap;text-align:center}
.selected-detail,.selected-placeholder{border:1px solid #d8dfcc;border-radius:10px;background:#f6f7ec;padding:12px;margin-bottom:10px}
.selected-placeholder{min-height:124px;display:flex;flex-direction:column;justify-content:center}
.panel-content .selected-placeholder b{font-size:13px}
.panel-content .selected-placeholder p{font-size:12px;margin:8px 0 0}
.selected-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.panel-content .selected-title h3{font-size:16px;margin:0;line-height:1.4}
.selected-title>strong{font-size:17px;color:#245a4c;white-space:nowrap;line-height:1.3}
.panel-content .selected-detail p{font-size:11px;line-height:1.5;margin:5px 0 0}
.panel-content .selected-detail .selection-benefit{font-size:12px;margin:6px 0 8px}
.selected-detail .action-cost-breakdown{font-size:11px;line-height:1.5;display:block;color:#3e5946;border:0;padding:0;margin:0}
.panel-content .selected-detail .salary-note{color:#596450}

.selected-event{border-top:1px solid #d8dfcc;padding-top:7px;margin-top:7px;font-size:11px}
.selected-event .text-button{font-size:11px;min-height:32px;padding:4px 0;margin:0}
.plan-options{border:1px solid #dce0d0;border-radius:9px;background:#fffdf7}
.plan-options>summary{cursor:pointer;font-size:11px;line-height:1.5;padding:12px;min-height:44px;list-style:none;display:flex;justify-content:space-between;gap:7px}
.plan-options>summary span{white-space:nowrap;color:#3f6954;text-decoration:underline;text-underline-offset:3px}
.plan-options>summary::before{content:'＋';color:#56784f;font-weight:700}
.plan-options[open]>summary::before{content:'−'}
.options-content{padding:0 12px 12px}
.options-content .team-picks{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.options-content .team-picks button{font-size:11px;padding:8px;min-height:44px}
.options-content .response-choice{padding:10px 0;margin:0;gap:7px}
.options-content .response-choice p{font-size:11px;margin:0}
.options-content .response-choice button{font-size:11px;min-height:44px}
.optional-events>summary{font-size:12px;padding:10px 0;cursor:pointer}
.optional-events .event-cards{margin:4px 0 0;grid-template-columns:1fr}
.fundraise-alternative{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;min-height:44px;border:1px solid #bc8157;background:#fff0d7;color:#784526;font-size:13px;font-weight:700;margin-bottom:8px}
.fundraise-alternative span{font-size:11px;font-weight:400}
.recap-overview{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.recap-overview article{padding:11px;border:1px solid #dce0d0;border-radius:10px;background:#f7f8ee;min-width:0}
.recap-overview article>span{font-size:10px;color:#66746a;display:block;margin-bottom:5px}
.recap-overview article>b{font-size:13px;line-height:1.45;display:block}
.panel-content .recap-overview p{font-size:11px;line-height:1.5;margin:6px 0 0}
.recap-quick-metrics{display:flex;flex-wrap:wrap;gap:8px 16px;padding:12px 0;margin:4px 0;font-size:11px;border-bottom:1px solid #dce0d0}
.recap-quick-metrics span{display:flex;gap:5px}
.recap-details>summary{cursor:pointer;padding:12px 0;font-size:12px;font-weight:700;min-height:44px;color:#3c6250}
.recap-details[open]>summary{border-bottom:1px solid #dce0d0;margin-bottom:10px}
.interaction[data-phase="question"] .speaker{margin-bottom:9px}
.interaction[data-phase="question"] .speaker-portrait{width:42px;height:47px}
.interaction[data-phase="question"] .question-reason{font-size:11px;margin-bottom:8px}
.interaction[data-phase="question"] .question-text{font-size:15px;line-height:1.55;margin:10px 0 12px}
.interaction[data-phase="question"] .quoted-line{font-size:12px;margin:8px 0;padding:9px}
.interaction[data-phase="question"] .answer-list{gap:7px}
.interaction[data-phase="question"] .answer-option{font-size:12px;line-height:1.5;padding:10px 12px}
.interaction[data-phase="question"] .answer-option small{font-size:10px;line-height:1.5;margin-top:4px}
.interaction[data-phase="question"] .answer-option:disabled{opacity:.85}
@media(min-width:1024px){
  .masthead{height:60px;max-width:none;padding:9px 24px;gap:20px}
  .wordmark{font-size:19px}.wordmark-block{width:34px;height:34px;font-size:24px}.wordmark small{font-size:8px;margin-top:4px}
  main{max-width:none;padding:12px 24px 0}
  .hud{height:78px;margin-bottom:12px;border-radius:10px}
  .hud>div,.hud>button{padding:10px 18px}.hud strong{font-size:23px;margin-top:2px}.hud small{font-size:9px;margin-top:2px}.hud .eyebrow{font-size:10px}.day-dots{margin-top:6px}
  .game-layout{grid-template-columns:minmax(0,1.2fr) minmax(520px,1fr);gap:16px;height:calc(100dvh - 212px);min-height:470px;align-items:stretch}
  .world-column{position:static;min-height:0;display:flex;flex-direction:column;order:0}
  .world-heading{margin:0 0 9px;min-height:43px;align-items:center}.world-heading h1{font-size:20px;margin-top:4px}.world-heading .eyebrow{font-size:9px}.location-chip{font-size:10px;padding:6px 8px}
  .world{flex:0 1 auto;width:100%;min-height:0;max-height:calc(100% - 155px);aspect-ratio:1200/650}
  .travel-strip{min-height:36px;padding:7px 0;gap:10px}.travel-strip span{font-size:11px}.travel-strip button{font-size:11px;min-height:32px;white-space:nowrap}
  .town-notice{padding:9px 2px;min-height:0;gap:8px;flex:0 0 auto}.town-notice .notice-symbol{font-size:20px}.town-notice .eyebrow{font-size:9px}.town-notice p{font-size:11px;line-height:1.4;margin:4px 0 0}.town-notice>div{min-width:0}
  .preparation-strip{padding:8px 0;gap:5px;flex:0 0 auto;font-size:10px}.preparation-strip>.eyebrow{font-size:9px}.preparation-strip button{font-size:10px;min-height:30px;padding:4px 7px}.preparation-strip #team-summary{margin-left:0}
  .interaction{height:100%;min-height:0;order:1;margin:0;border-radius:12px;overflow:hidden}
  #panel{height:100%;display:flex;flex-direction:column;min-height:0}
  .panel-kicker{padding:9px 14px;min-height:32px;flex:0 0 auto;font-size:10px;letter-spacing:.3px}
  .panel-content{padding:12px 14px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;flex:1 1 auto}
  .panel-content .planning-head{margin:0 0 9px;align-items:center}.panel-content .planning-head h2{font-size:18px;margin:0}.planning-head>span{font-size:10px}
  .panel-primary{padding:9px 14px}.panel-primary .primary-button{min-height:44px;font-size:14px;padding:10px 12px}
  .panel-content .intro-title{font-size:31px;line-height:1.35;margin:18px 0}.panel-content .lead{font-size:14px}.intro-path{margin:20px 0}
  footer{max-width:none;padding:9px 24px;margin:0;display:flex;justify-content:space-between;gap:20px}footer p{font-size:9px;line-height:1.4;margin:0}footer .text-button,footer a{font-size:9px;min-height:24px;padding:0 6px}footer p:first-child{flex:0 1 auto}
}
@media(min-width:1024px) and (max-height:710px){.game-layout{min-height:420px}.town-notice{display:none}.world{max-height:calc(100% - 105px)}}
@media(max-width:1023px){
  .game-layout{grid-template-columns:1fr;gap:12px}.world-column{position:static;order:0}.interaction{order:1}
  .world-heading{margin-bottom:8px}.world-heading h1{font-size:21px}.town-notice{min-height:0;padding:9px 2px}.town-notice p{font-size:12px}
  .preparation-strip{padding:7px 0}.panel-content{padding:15px}.panel-primary{position:sticky;bottom:0;padding:11px 15px}
  .panel-content .planning-head h2{font-size:21px;margin-bottom:0}.planning-head{margin-bottom:10px}.planning-head>span{font-size:10px}
  .compact-actions{grid-template-columns:repeat(5,minmax(0,1fr))}.compact-actions .day-action:last-child{grid-column:auto}.compact-actions .day-action{min-height:74px;padding:8px 4px}
  .compact-topic .topic-pick{min-height:44px}.interaction[data-phase="recap"] .panel-primary{top:0;bottom:auto}
}
@media(max-width:560px){
  main{padding-top:12px}.hud{margin-bottom:14px}.masthead{padding-top:10px;padding-bottom:10px}.compact-actions{gap:4px}.compact-actions .day-action b{font-size:11px}.compact-actions .day-action{min-height:75px;padding:7px 3px}.compact-actions .action-icon{width:24px;height:24px}
  .compact-topic{align-items:flex-start}.compact-topic>span{padding-top:14px}.compact-topic .topic-picks{display:grid;grid-template-columns:1fr 1fr}.compact-topic .topic-pick{min-width:0;white-space:normal;font-size:12px}
  .panel-primary .primary-button{font-size:15px;min-height:48px}.selected-title>strong{font-size:16px}.selected-title h3{max-width:65%}.plan-options>summary{font-size:11px;padding:10px}
  .recap-overview{gap:6px}.recap-overview article{padding:9px}.panel-content .recap-overview p{font-size:11px}.recap-quick-metrics{font-size:11px}
  .interaction[data-phase="question"] .answer-option{font-size:14px}.interaction[data-phase="question"] .answer-option small{font-size:12px}
}
.compact-topic .topic-pick{min-height:44px}
.selected-followup{font-size:11px;line-height:1.5;margin-top:7px;padding-top:6px;border-top:1px solid #d8dfcc}
.selected-followup>summary{cursor:pointer;color:#80573c}
summary:focus-visible{outline:3px solid #d27b35;outline-offset:3px}
@media(max-width:1023px){
  .interaction:has(.panel-primary){margin-bottom:calc(180px + env(safe-area-inset-bottom,0px))}
  .panel-primary,.panel-primary.primary-top,.interaction[data-phase="recap"] .panel-primary{position:fixed;top:auto;bottom:0;left:0;right:0;width:auto;max-width:960px;margin:0 auto;z-index:40;border:1px solid #bdcbb5;border-bottom:0;border-radius:12px 12px 0 0;padding:11px 15px calc(11px + env(safe-area-inset-bottom,0px));background:#f4f5e9;box-shadow:0 -7px 24px #203f3a1c}
  .panel-primary.primary-top .commit-reason{margin:7px 0 0}
}
.fundraise-alternative.ordinary-fundraise{background:#edf3e8;border-color:#91a787;color:#345a41}

/* v10: an actual resident in the scene, with persistent conversation context. */
.monthly-intro{padding:12px;background:#eaf0df;border:1px solid #ceddc0;border-radius:9px;margin:14px 0;font-size:12px}
.panel-content .monthly-intro p{font-size:12px;line-height:1.6;margin:7px 0 0}
.legacy-version-link{display:block;padding:12px;border:1px solid #c4b494;background:#f6eedc;border-radius:8px;color:#715531;text-decoration:none;line-height:1.5;font-size:12px}
.legacy-version-link span{display:block;font-size:11px;margin-top:4px}
.legacy-version-link:hover{background:#f0e4c9}
.conversation-npc{width:7.2%}.conversation-npc .actor-name{top:auto;bottom:-16px;background:#faf1d3;border:1px solid #cfb784;font-size:10px}
.conversation-bubble{position:absolute;z-index:760;width:44%;max-width:310px;min-width:170px;padding:11px 13px;background:#fffcf0;border:2px solid #b99b6a;border-radius:12px;box-shadow:0 5px 0 #443a2017;transform:translateX(-17%);pointer-events:none;line-height:1.45}
.conversation-bubble::after{content:'';position:absolute;left:17%;top:100%;width:13px;height:13px;background:#fffcf0;border-right:2px solid #b99b6a;border-bottom:2px solid #b99b6a;transform:translateY(-6px) rotate(45deg)}
.bubble-speaker{font-size:10px;font-weight:700;color:#8b6539;display:block;margin-bottom:4px}
.conversation-bubble p{font-size:clamp(11px,1.05vw,15px);font-weight:700;line-height:1.5;margin:0;overflow-wrap:anywhere}
.conversation-bubble small{font-size:10px;line-height:1.4;display:block;color:#69735a;margin-top:6px}
.conversation-bubble[data-stage="approach"]{width:31%;max-width:230px}
.conversation-bubble[data-stage="reaction"]{border-color:#658762;background:#f5fae9}
.conversation-bubble[data-stage="reaction"]::after{border-color:#658762;background:#f5fae9}
.has-conversation .map-label[data-label="canvass"],.world[data-action="tv"].has-conversation .map-label[data-label="tv"]{opacity:0}
.world[data-phase="question"] .conversation-npc .arm-right{transform-box:fill-box;transform-origin:50% 15%;transform:rotate(-16deg)}
.interaction[data-phase="question"] .panel-primary{background:#edf2e4}
.interaction[data-phase="question"] .answer-option{display:flex;gap:10px;align-items:flex-start;min-height:52px;padding:10px 12px;border-color:#c3d1b7;background:#fffcf1}
.answer-number{flex:0 0 22px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#dfe9d3;color:#436440;font-size:11px;font-weight:700;margin-top:1px}
.answer-copy{min-width:0}.answer-line{font-weight:700}.answer-option:disabled .answer-number{background:#e4e4d8;color:#808674}
.interaction[data-phase="question"] .answer-copy small{font-size:10px;margin-top:3px;color:#566b50}
.conversation-context{font-size:12px;line-height:1.6;color:#6a765f;margin:9px 0}.conversation-context summary{cursor:pointer;padding:6px 0}.conversation-context p{margin:7px 0}
.panel-content .preparation-hint{font-size:11px;color:#738165;margin:5px 0 10px}
.resident-reaction{padding:12px 13px;background:#f0f5e5;border:1px solid #c8d7bc;border-radius:10px}
.panel-content .resident-reaction .speaker{margin-bottom:8px}.resident-reaction .speaker-portrait{flex:0 0 42px;background:#e3eccc}
.panel-content .resident-reaction .reaction-quote{font-size:18px;line-height:1.6;color:#294f3a;font-weight:700;margin:0 0 8px}
.panel-content .your-short-quote{font-size:11px;line-height:1.6;margin:0;color:#627058}.your-short-quote span{margin-right:5px;color:#889279}
.concrete-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:12px 0}
.concrete-outcomes span{font-size:10px;line-height:1.6;color:#6d775f;background:#f0f0e4;padding:8px;border-radius:7px}
.concrete-outcomes b{display:block;font-size:15px;color:#36543b}.panel-content .round-crew,.panel-content .round-event{font-size:11px;margin:0 0 7px}
.round-result h2{margin:6px 0 10px;font-size:23px}.contract-history{padding-left:19px;font-size:12px;line-height:1.7}.contract-history li{margin:8px 0}
.fundraise-alternative{background:#edf3e8;border-color:#91a787;color:#345a41}
@media(min-width:1024px){.interaction[data-phase="question"] .panel-primary{max-height:65%;overflow-y:auto}.interaction[data-phase="question"] .question-text{font-size:16px}.conversation-bubble{padding:9px 11px}.conversation-bubble small{font-size:9px}}
@media(max-width:1023px){.interaction[data-phase="question"]{margin-bottom:calc(320px + env(safe-area-inset-bottom,0px))}.interaction[data-phase="question"] .panel-primary{max-height:46dvh;overflow-y:auto}.interaction[data-phase="question"] .answer-list{gap:6px}.interaction[data-phase="question"] .answer-option{padding:8px 11px;font-size:13px}.interaction[data-phase="question"] .answer-copy small{font-size:10px}.conversation-bubble{width:47%;min-width:0;max-width:310px;padding:8px 10px}.conversation-bubble p{font-size:12px}.conversation-bubble small{font-size:9px}.conversation-npc .actor-name{font-size:9px;padding:2px 4px}}
@media(max-width:560px){.conversation-bubble{width:58%;border-width:1px;padding:6px 8px;border-radius:8px;transform:translateX(-13%)}.conversation-bubble p{font-size:11px;line-height:1.4}.conversation-bubble::after{left:13%;width:9px;height:9px;border-width:1px;transform:translateY(-4px) rotate(45deg)}.conversation-bubble small{display:none}.bubble-speaker{font-size:9px;margin-bottom:2px}.conversation-npc{width:8%}.conversation-npc .actor-name{bottom:-12px;font-size:8px}.panel-content .resident-reaction .reaction-quote{font-size:17px}.concrete-outcomes b{font-size:14px}.budget-row{gap:10px;font-size:11px}.budget-row.total{font-size:12px}.budget-row strong{white-space:normal;text-align:right}.monthly-intro{margin:10px 0}}

.conversation-bubble{width:51%;transform:none}
.conversation-bubble::after{left:-7px;top:22px;width:12px;height:12px;border:0;border-left:2px solid #b99b6a;border-bottom:2px solid #b99b6a;transform:rotate(45deg)}
.conversation-bubble[data-side="left"]{transform:translateX(-100%)}
.conversation-bubble[data-side="left"]::after{left:auto;right:-7px;border:0;border-right:2px solid #b99b6a;border-top:2px solid #b99b6a}
.conversation-bubble[data-stage="reaction"]::after{border-color:#658762}
@media(max-width:560px){.conversation-bubble{width:58%;transform:none}.conversation-bubble::after{width:9px;height:9px;left:-5px;top:17px;border-width:1px}.conversation-bubble[data-side="left"]::after{left:auto;right:-5px;border-width:1px}}

@media(max-width:560px){.conversation-bubble[data-side="left"]{width:50%}}

/* The bubble already names the resident; keep the player marker uncluttered. */
.has-conversation .conversation-npc .actor-name{display:none}

/* Venue-first planning: optional issue controls stay behind one disclosure. */
.venue-picker{margin:0 0 10px}.venue-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 6px;font-size:12px}.venue-heading>span{font-size:10px;color:var(--muted)}
.venue-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.venue-pick{padding:8px 5px;min-width:0;min-height:60px;line-height:1.4;border-radius:8px}.venue-pick b{display:block;font-size:12px}.venue-pick small{display:block;font-size:10px;color:#62715a;margin-top:4px}.venue-pick.selected{border-color:#245a4c;background:#e1ecda;box-shadow:inset 0 0 0 1px #245a4c}.venue-pick.selected small{color:#345c44}
.chosen-place{display:block;font-size:11px;font-weight:600;color:#526e52;margin-top:3px}.topic-context{padding-top:8px;margin-top:8px;border-top:1px solid #d8dfcc;font-size:12px}.topic-scope{font-size:10px;margin-left:6px;color:#62715a}.panel-content .topic-context .stored-position{color:#6d654d}.panel-content .topic-context .action-response{color:#345a43;font-weight:600}
.topic-options{border:1px solid #dce0d0;border-radius:9px;margin-bottom:9px;background:#fffdf7}.topic-options>summary{padding:10px 12px;font-size:12px;min-height:44px;cursor:pointer}.topic-options-content{padding:0 12px 12px}.topic-options-content .microcopy{font-size:11px;margin:0 0 8px}.topic-options .topic-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}.topic-options .topic-pick{min-height:62px;padding:8px;text-align:left}.topic-options .topic-pick b{display:block;font-size:11px}.topic-options .topic-pick small{display:block;font-size:10px;color:#62715a}.topic-auto{width:100%;font-size:11px;min-height:44px;padding:8px}.topic-auto[aria-pressed=true]{background:#e1ecda;border-color:#6b8868}.topic-options .response-choice{margin-bottom:0}.topic-options .response-choice p,.topic-options .response-choice button{font-size:11px}
.preparation-takeaway{padding:11px 12px;margin:10px 0 4px;background:#edf3e5;border:1px solid #cedbc3;border-radius:9px;font-size:12px;line-height:1.55}.panel-content .preparation-takeaway p{font-size:12px;line-height:1.6;margin:6px 0 9px}.preparation-takeaway ul{padding-left:19px;margin:5px 0 9px;font-size:12px;line-height:1.6}.preparation-takeaway .next-step{margin-bottom:0;padding-top:8px;border-top:1px solid #cedbc3}
.world[data-venue="market"] .venue-label[data-label="market"],.world[data-venue="street"] .venue-label[data-label="street"],.world[data-venue="plaza"] .venue-label[data-label="plaza"],.world[data-venue="river"] .venue-label[data-label="river"]{color:#244f40;border-color:#708d63;background:#edf4dd;font-weight:800}.world.has-conversation .venue-label{opacity:.35}.legacy-version-link+.legacy-version-link{margin-top:8px}
@media(max-width:560px){.venue-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.venue-pick{min-height:56px}.venue-pick b{font-size:12px}.venue-heading{font-size:12px}.venue-heading>span{font-size:10px}.topic-options .topic-pick{min-height:68px}.topic-options .topic-pick b{font-size:12px}.topic-options .topic-pick small{font-size:10px}.venue-label{font-size:8px;padding:2px 4px}}

/* Keep venue-adaptive bubbles inside even the narrowest desktop scene column. */
.conversation-bubble{min-width:0}

/* v10.2: restart stays available inside optional records without another confirmation. */
.dialog-top .dialog-new-game{flex:0 0 auto;min-height:44px;padding:8px 10px;font-size:13px;font-weight:700;border:1px solid var(--line);border-radius:8px;white-space:nowrap}

/* v10.3: new campaign is the ending's primary action, never buried under history. */
.ending-summary .ending-inline-restart{display:block;width:100%;min-height:48px;margin:12px 0 15px;font-size:16px}
.ending-details{margin:16px 0;padding-top:12px;border-top:1px solid var(--line)}
.ending-details>summary{cursor:pointer;font-size:13px;font-weight:700}
.interaction[data-phase="result"] .panel-primary{flex-shrink:0}
@media(min-width:1024px){.interaction[data-phase="result"] .panel-primary{position:sticky;top:0;bottom:auto}.interaction[data-phase="result"] .panel-content{min-height:0;overflow-y:auto}}
@media(max-width:1023px){.interaction[data-phase="result"]{margin-bottom:calc(130px + env(safe-area-inset-bottom,0px))}.interaction[data-phase="result"] .panel-primary{position:fixed;top:auto;bottom:0}.interaction[data-phase="result"] .panel-primary .primary-button{min-height:48px}.interaction[data-phase="result"] .panel-primary .commit-reason{margin:6px 0 0}}

/* v11: room for the town, readable decisions, and one persistent new-game control. */
.masthead{position:sticky;top:0;z-index:1000;background:#f7f4ebf7;backdrop-filter:blur(9px)}
.masthead nav{align-items:center}.masthead nav .new-game-button,.dialog-top .new-game-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border:1px solid #88a48b;background:#e6eede;color:#254d3b;font-size:14px;font-weight:750;white-space:nowrap}
body[data-phase="result"] .new-game-button{background:var(--green);color:#fffdf2;border-color:var(--green);box-shadow:0 3px 0 #163d3022}
#global-controls,#dialog-tools{display:inline-flex;flex-shrink:0}.dialog-top{gap:12px}.dialog-top h2{flex:1;min-width:0}.dialog-top #close-dialog{flex-shrink:0}
.panel-content{padding:24px}.panel-content p{font-size:14px;line-height:1.75}.panel-content h3{font-size:16px}.panel-content .microcopy{font-size:12px}
.panel-kicker{padding:12px 22px;font-size:11px}.panel-primary{padding:16px 22px}.panel-primary .primary-button{min-height:50px;font-size:16px}.commit-reason{font-size:12px;line-height:1.6}
.intro-tag{font-size:12px;margin-bottom:14px}.panel-content .intro-title{font-size:36px!important;line-height:1.28!important;margin:0 0 18px}.panel-content .intro-goal{font-weight:750;font-size:17px;color:#274d3b;margin-bottom:9px}.panel-content .intro-outcomes,.panel-content .intro-rhythm{font-size:13px;line-height:1.7;margin-bottom:12px}.intro-rhythm{padding-bottom:17px;border-bottom:1px solid var(--line)}
.opening-group{padding:0;border:0;margin:19px 0 0;min-width:0}.opening-group legend{font-size:14px;font-weight:750;margin-bottom:9px}.opening-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.opening-picks button{min-height:48px;padding:9px 6px;line-height:1.45;font-size:13px}.opening-picks [aria-pressed="true"]{background:#e2ecda;border-color:#597e5e;box-shadow:inset 0 0 0 1px #597e5e}.panel-content .setting-description{font-size:12px;line-height:1.7;margin:9px 0 0}.panel-content .party-themes{font-size:12px;margin-top:9px}.contract-expectations{padding-left:19px;font-size:12px;line-height:1.7;margin:10px 0}.panel-content .fiction-note{font-size:11px;color:#68715e;line-height:1.7;padding:10px 12px;border-radius:7px;background:#eeeee3;margin:13px 0 0}.party-sources{font-size:12px;line-height:1.7;margin:12px 0}.party-sources summary{cursor:pointer;min-height:34px}.party-sources a{display:block;padding:5px 0}.panel-content .opening-cost{font-size:13px;padding-top:17px;margin:17px 0;border-top:1px solid var(--line)}
.compact-actions{gap:8px;margin:15px 0 18px}.compact-actions .day-action{min-height:80px;gap:7px;padding:10px 7px}.compact-actions .day-action b{font-size:13px}.selected-detail{padding:17px}.selected-title h3{font-size:17px}.selected-detail p,.topic-context p{font-size:12px;line-height:1.65}.action-cost-breakdown{font-size:12px;line-height:1.65}.venue-picker{margin:0 0 17px}.venue-picks{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.venue-pick{min-height:65px;padding:9px 6px}.venue-pick b{font-size:13px}.venue-heading{font-size:13px;margin-bottom:9px}.venue-pick small{font-size:11px}.planning-head>span{font-size:11px}.topic-options,.plan-options{margin-top:14px}.topic-options>summary,.plan-options>summary{font-size:13px;line-height:1.6;padding:13px}
.interaction[data-phase="question"] .speaker{margin-bottom:18px}.speaker strong{font-size:15px}.speaker small{font-size:11px;line-height:1.6}.interaction[data-phase="question"] .question-text{font-size:21px;line-height:1.6;margin:0 0 20px}
.issue-card{padding:17px;background:#f0f2e6;border:1px solid #d3ddc8;border-radius:10px;margin-bottom:20px}.issue-card-title{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:14px;padding-bottom:12px;border-bottom:1px solid #d2dbc8;margin-bottom:13px}.issue-card-title span{font-size:11px;color:#6e7964}.panel-content .issue-card p{font-size:13px;line-height:1.7;margin:12px 0}.issue-card p>b{display:block;font-size:11px;color:#6a745e;margin-bottom:3px}.issue-tradeoffs{display:grid;gap:12px;margin:15px 0}.issue-tradeoffs>div{padding:11px 12px;background:#fffdf3;border-left:3px solid #a6b78e;border-radius:4px}.issue-tradeoffs b,.issue-tradeoffs span{display:block;font-size:12px;line-height:1.7}.issue-tradeoffs span{color:#5d6e58;margin-top:5px}.issue-commitment{padding-top:11px;border-top:1px solid #d2dbc8}.panel-content .unlock-status{padding:11px;background:#ece5d2;border-radius:6px;font-size:12px;margin-bottom:0}.issue-card .unlock-status>b{font-size:12px;color:#725c38}.panel-content .unlock-status.is-prepared{background:#dfead5}.issue-card .is-prepared>b{color:#3d623e}
.interaction[data-phase="question"] .answer-list{gap:12px;margin-top:12px}.interaction[data-phase="question"] .answer-option{min-height:70px;padding:15px;font-size:15px;line-height:1.6}.interaction[data-phase="question"] .answer-copy small{font-size:12px;line-height:1.65;margin-top:7px}.answer-number{margin-top:3px;flex-basis:25px;width:25px;height:25px;font-size:12px}.answer-option:disabled{opacity:1;color:#7a7d6d;background:#eeeee4}.answer-option .cooperation-warning{color:#8c5c32!important;background:#f4ebd9;padding:6px 8px;border-radius:4px}.cooperation-note,.cooperation-receipt{color:#765b3b!important;background:#f5eddc;border:1px solid #e0d1b3;padding:11px 13px;border-radius:8px;font-size:12px;line-height:1.7}
.attitude-receipt{background:#e7efde;border:1px solid #bfd0b5;border-radius:10px;padding:16px;margin:15px 0}.attitude-receipt>div{display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:13px}.attitude-receipt strong{font-size:20px;white-space:nowrap}.attitude-receipt strong span{font-size:13px}.panel-content .attitude-receipt p{font-size:13px;margin:11px 0 8px}.attitude-receipt small,.model-receipt small{font-size:11px;line-height:1.65;display:block;color:#64725a}.model-receipt{border-left:3px solid #acbaa0;padding:12px 15px;margin:18px 0;background:#f3f4ea;font-size:13px}.panel-content .model-receipt p{font-size:12px;line-height:1.7;margin:9px 0}.cooperation-receipt{margin:15px 0}.panel-content .cooperation-receipt p{font-size:12px;margin:8px 0}.panel-content .resident-reaction .reaction-quote{font-size:20px;line-height:1.65}.resident-reaction{padding:18px}.concrete-outcomes{gap:10px;padding:16px 0}.concrete-outcomes span{padding:11px;font-size:11px}.concrete-outcomes b{font-size:16px}.recap-quick-metrics{font-size:12px;padding:15px 0}.recap-details>summary{font-size:13px;line-height:1.6;padding:15px 0}
.count-presentation{position:absolute;inset:0;z-index:900;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#f4f3e9ed;padding:28px}.count-presentation h2{font-size:28px;margin:12px 0}.count-presentation>strong{font-size:36px;color:var(--green)}.count-presentation p{font-size:12px;margin:14px 0 0;color:#617057}.count-track{width:52%;height:6px;background:#d9e0d0;border-radius:9px;overflow:hidden;margin-top:19px}.count-track i{display:block;height:100%;background:#557b52;border-radius:9px;transition:width .08s linear}.ballot-box{position:relative;width:94px;height:71px;background:#cba16f;border:2px solid #aa8252;border-radius:5px;margin:35px 0 23px;box-shadow:9px 9px 0 #b78b5b4a}.ballot-slot{position:absolute;left:25px;top:12px;width:44px;height:5px;background:#755c3d;border-radius:3px}.ballot-paper{position:absolute;bottom:57px;left:27px;width:39px;height:48px;background:#fffdf0;border:1px solid #b6bca7;display:grid;place-items:center;font-size:19px;font-weight:700;transform:rotate(-8deg);animation:ballot-drop 1s ease both}@keyframes ballot-drop{from{transform:translateY(-30px) rotate(-12deg);opacity:0}to{transform:translateY(0) rotate(-8deg);opacity:1}}.result-stats{gap:13px;margin:22px 0}.result-stats>div{padding:17px 13px;font-size:12px}.result-stats strong{font-size:20px;line-height:1.4;overflow-wrap:anywhere}.panel-content .restart-hint{font-size:12px;line-height:1.6;padding:11px;background:#e7efdc;border-radius:7px}.ending-summary h2{font-size:28px;margin:15px 0}.count-copy{padding:12px 0 25px}
.world[data-venue="temple"] .venue-label[data-label="temple"]{color:#244f40;border-color:#708d63;background:#edf4dd;font-weight:800}
@media(min-width:1200px){
 .masthead{height:72px;padding:12px 28px;max-width:1880px}.masthead nav button{font-size:14px}.edition{font-size:12px}.wordmark{font-size:22px}.wordmark-block{width:40px;height:40px;font-size:27px}
 main{padding:20px 28px 0;max-width:1880px}.hud{height:88px;margin-bottom:24px}.hud>div,.hud>button{padding:13px 20px}.hud .eyebrow{font-size:11px}.hud strong{font-size:25px}.hud small{font-size:11px}
 .game-layout{grid-template-columns:minmax(0,1.65fr) minmax(410px,1fr);gap:28px;height:auto;min-height:0;align-items:start}.world-column{position:sticky;top:96px;display:block}.world-heading{min-height:58px;margin-bottom:15px}.world-heading h1{font-size:24px}.world-heading .eyebrow{font-size:10px}.world{flex:none;max-height:none;aspect-ratio:1200/650}.location-chip{font-size:11px}.map-label{font-size:clamp(9px,.78vw,13px)}
 .interaction{height:auto;max-height:calc(100dvh - 104px);min-height:520px;display:flex;flex-direction:column}.interaction #panel{height:auto;max-height:inherit;min-height:0;flex:1}.panel-content{padding:24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.panel-kicker{padding:13px 22px;font-size:11px;min-height:40px}.panel-primary{padding:16px 22px;flex-shrink:0}.panel-primary .primary-button{font-size:16px;min-height:50px}.panel-content .planning-head h2{font-size:23px}.planning-head>span{font-size:11px}
 .travel-strip{min-height:48px;padding:10px 0}.travel-strip span,.travel-strip button{font-size:12px}.town-notice{display:flex;padding:17px 2px;gap:12px}.town-notice .eyebrow{font-size:10px}.town-notice p{font-size:13px;line-height:1.65}.preparation-strip{padding:14px 0;gap:8px;font-size:12px}.preparation-strip>.eyebrow{font-size:10px}.preparation-strip button{font-size:11px;min-height:34px}.preparation-strip #team-summary{font-size:11px}
 footer{max-width:1880px;margin:0 auto;padding:20px 28px;gap:30px}footer p{font-size:10px;line-height:1.7}footer a,footer .text-button{font-size:10px;min-height:30px}
 body[data-phase="intro"] .interaction{max-height:none}body[data-phase="intro"] .panel-content{overflow:visible}body[data-phase="intro"] .panel-primary{position:sticky;bottom:0;z-index:3;background:#f4f5e9}
}
@media(max-width:1199px){
 .masthead{height:auto;min-height:64px;padding:11px 20px;gap:15px}.wordmark{font-size:19px}.wordmark small{font-size:8px}.edition{font-size:11px}.masthead nav{margin-left:auto}.masthead nav button{font-size:13px}
 main{padding:18px 20px 0}.game-layout{display:grid;grid-template-columns:1fr;gap:20px;height:auto;min-height:0}.world-column{position:static;display:block}.world{max-height:none;aspect-ratio:1200/650}.world-heading{min-height:0;margin:4px 0 13px}.world-heading h1{font-size:25px}.world-heading .eyebrow{font-size:11px}.town-notice{display:flex}.interaction{height:auto;min-height:0;max-height:none;margin:0 0 155px!important}.interaction #panel{height:auto;display:block;max-height:none}.panel-content{overflow:visible;padding:24px}.panel-kicker{font-size:12px;padding:14px 22px}.panel-primary,.panel-primary.primary-top,.interaction[data-phase="recap"] .panel-primary{position:fixed;top:auto;bottom:0;left:0;right:0;width:auto;max-width:none;z-index:900;border:1px solid #bdcbb5;border-bottom:0;border-radius:12px 12px 0 0;padding:13px 22px calc(13px + env(safe-area-inset-bottom,0px));background:#f4f5e9;box-shadow:0 -7px 24px #203f3a1c}.interaction[data-phase="question"],.interaction[data-phase="result"]{margin-bottom:25px!important}.interaction[data-phase="result"]:has([data-action="skip-count"]){margin-bottom:130px!important}.world-heading .location-chip{font-size:11px}.preparation-strip{font-size:11px;padding:13px 0}.town-notice p{font-size:13px;line-height:1.65}.travel-strip span{font-size:12px}
}
@media(max-width:560px){
 .masthead{padding:10px 13px;gap:7px;min-height:65px}.wordmark{font-size:17px;gap:7px}.wordmark-block{width:31px;height:33px;font-size:22px}.wordmark small{font-size:6px;letter-spacing:1px}.edition{display:none}.masthead nav{gap:0}.masthead nav>button{padding:0 7px;font-size:12px}.masthead nav .new-game-button{font-size:12px;padding:8px 10px}.count{margin-left:3px}
 main{padding:16px 13px 0}.hud{margin-bottom:19px}.hud>div,.hud>button{padding:12px}.hud strong{font-size:22px}.hud small{font-size:10px}.hud .eyebrow{font-size:10px}.world-heading h1{font-size:22px}.world-heading{gap:8px}.world-heading .eyebrow{font-size:9px}.location-chip{max-width:35%;font-size:10px!important}.map-caption{font-size:8px;padding:4px 6px;left:8px;bottom:8px}.conversation-bubble p{font-size:11px;line-height:1.5}.panel-content{padding:20px 17px}.panel-kicker{padding:12px 17px;font-size:11px}.panel-primary{padding-left:17px;padding-right:17px}.panel-content .intro-title{font-size:32px!important}.panel-content .intro-goal{font-size:16px}.opening-picks{gap:6px}.opening-picks button{font-size:12px;padding:9px 4px}.opening-group legend{font-size:14px}
 .compact-actions{gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.compact-actions .day-action{min-height:75px;padding:10px 5px}.compact-actions .day-action b{font-size:13px}.venue-picks{grid-template-columns:repeat(2,minmax(0,1fr))}.selected-detail{padding:14px}.selected-title h3{font-size:16px}.selected-title>strong{font-size:15px;max-width:45%;white-space:normal;text-align:right}.planning-head{align-items:flex-start;gap:8px}.panel-content .planning-head h2{font-size:23px}.planning-head>span{font-size:10px;line-height:1.5}
 .interaction[data-phase="question"] .question-text{font-size:19px;line-height:1.65}.issue-card{padding:14px}.issue-card p,.issue-tradeoffs b,.issue-tradeoffs span{font-size:12px!important}.interaction[data-phase="question"] .answer-option{padding:14px 12px;font-size:14px}.interaction[data-phase="question"] .answer-copy small{font-size:12px}.attitude-receipt{padding:14px}.attitude-receipt>div{flex-wrap:wrap}.attitude-receipt strong{font-size:21px}.panel-content .resident-reaction .reaction-quote{font-size:18px}.resident-reaction{padding:15px}.concrete-outcomes{gap:6px}.concrete-outcomes span{padding:9px 7px;font-size:10px}.concrete-outcomes b{font-size:14px}.result-stats{gap:9px}.result-stats>div{font-size:11px;padding:13px 10px}.result-stats strong{font-size:19px}.dialog-top{gap:7px}.dialog-top h2{font-size:18px}.dialog-top .new-game-button{font-size:12px;padding:8px}.count-presentation{padding:15px}.count-presentation h2{font-size:20px;margin:8px 0}.count-presentation>strong{font-size:26px}.count-presentation .eyebrow{font-size:9px}.ballot-box{width:61px;height:43px;margin:18px 0 12px}.ballot-slot{left:15px;top:7px;width:30px;height:4px}.ballot-paper{left:17px;bottom:34px;width:26px;height:32px;font-size:14px}.count-track{margin-top:10px}.count-presentation p{font-size:10px;margin-top:8px}
}
@media(prefers-reduced-motion:reduce){.ballot-paper{animation:none}.count-track i{transition:none}}
.opening-options{border:1px solid #d3ddc8;background:#f4f6ea;border-radius:9px;margin:16px 0}.opening-options>summary{min-height:48px;padding:12px 14px;font-size:13px;font-weight:750;cursor:pointer}.opening-options>summary>span{display:block;font-weight:400;font-size:11px;line-height:1.6;margin:5px 0 0;color:#63735a}.opening-options-content{padding:0 15px 16px}.opening-options-content>.microcopy{font-size:12px;line-height:1.7;margin-top:4px}.opening-options .opening-group{margin-top:15px}
body[data-phase="intro"] .hud,body[data-phase="intro"] .preparation-strip{display:none}
.rival-challenge{padding:13px 15px;margin:15px 0;border-left:3px solid #c69b6a;background:#f1ebdd;border-radius:0 7px 7px 0;font-size:13px}.panel-content .rival-challenge p{font-size:13px;line-height:1.7;margin:8px 0}.rival-challenge small{font-size:11px;line-height:1.65;color:#75654c;display:block}
/* v12: situation panel, team block, answer evidence, causal recap and key factors. */
.situation{border:1px solid var(--line);border-radius:10px;background:#fffdf7;padding:10px 12px;margin:0 0 12px;display:grid;gap:6px}.situation-row{display:grid;grid-template-columns:4.6em 1fr;gap:8px;margin:0;font-size:13px;line-height:1.55}.situation-row b{color:var(--green);font-size:12px;padding-top:1px}.situation-row.warn{background:#fdf0e6;border-radius:7px;padding:6px 8px;margin:0 -4px}.situation-row.warn b{color:#b5562a}.situation small{font-size:11px;color:var(--muted);line-height:1.5}
.team-block{border:1px solid #dce0d0;border-radius:9px;background:#fffdf7;padding:10px 12px;margin:10px 0}.team-block-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:8px}.team-block-head b{font-size:13px}.team-block-head span{font-size:11px;color:var(--muted)}.team-effect{font-size:12px;line-height:1.55;color:#4c5a51;margin:8px 0 0}
.venue-pick small{white-space:normal;line-height:1.35}
.answer-evidence{display:block;color:var(--green);font-weight:650;margin-top:4px}.answer-cred{display:inline-block;margin-top:4px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;background:#e8efe2;color:#2d5a45}.answer-cred.down{background:#fbe6db;color:#a64c25}
.cause-lines{border:1px solid var(--line);border-left:4px solid var(--green);border-radius:10px;background:#fffdf7;padding:12px 14px;margin-bottom:14px}.cause-lines h2{font-size:15px;margin:0 0 8px}.cause-line{display:grid;grid-template-columns:3.6em 1fr;gap:8px;margin:0 0 6px;font-size:13px;line-height:1.55}.cause-line b{font-size:12px;color:var(--green)}.cause-line.warn b{color:#b5562a}.cause-line.warn span{color:#7a3b1d}.outlook-line{margin:10px 0 4px;padding-top:8px;border-top:1px dashed var(--line);font-size:13px}.cause-lines small{font-size:11px;color:var(--muted)}
.key-factors{border:1px solid var(--line);border-radius:10px;background:#fffdf7;padding:12px 14px;margin:14px 0}.key-factors h3{font-size:14px;margin:0 0 8px}.key-factors ol{margin:0 0 8px;padding-left:20px}.key-factors li{font-size:13px;line-height:1.6;margin-bottom:4px}.key-factors li span{margin-left:8px;color:var(--green);font-weight:700}.key-factors p{font-size:12px;margin:4px 0 0;color:#4c5a51}
.intro-reading{margin:10px 0 0;padding-left:18px;font-size:13px;line-height:1.6}.intro-reading li{margin-bottom:3px}.rules-list{padding-left:18px;font-size:13px;line-height:1.65}.insight-line{background:#eef4e8;border-radius:8px;padding:8px 10px;font-size:13px}.insight-line b{margin-right:8px}
@media (max-width:560px){.situation-row,.cause-line{grid-template-columns:1fr;gap:2px}.team-block-head{flex-direction:column;gap:2px}}
.topic-picker{margin:10px 0}.topic-picker .topic-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:6px}.topic-picker button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:8px 10px;background:#fffdf7;gap:2px}.topic-picker button b{font-size:13px}.topic-picker button small{font-size:11px;color:var(--muted);line-height:1.35}.topic-picker button[aria-pressed="true"]{border-color:var(--green);background:var(--mint);box-shadow:inset 0 0 0 1px var(--green)}
/* v12.1: identity cards, cooperation offer and research count. */
.identity-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.identity-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:10px 12px;background:#fffdf7;min-height:120px}.identity-card b{font-size:15px}.identity-card span{font-size:12px;line-height:1.5}.identity-good{color:var(--green)}.identity-bad{color:#a64c25}.identity-card[aria-pressed="true"]{border-color:var(--green);background:var(--mint);box-shadow:inset 0 0 0 1px var(--green)}
.situation-row.offer{background:#eef4e8;border-radius:7px;padding:6px 8px;margin:0 -4px}.offer-actions{display:flex;gap:8px;margin-top:8px}.offer-actions button{min-height:38px;padding:0 14px;font-weight:700}.offer-actions button:first-child{background:var(--green);color:#fff;border-color:var(--green)}
.research-picks{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))!important}.research-picks button[aria-pressed="true"]{border-color:var(--green);background:var(--mint);box-shadow:inset 0 0 0 1px var(--green)}
@media (max-width:560px){.identity-cards{grid-template-columns:1fr}.identity-card{min-height:0}}
.research-picks button[aria-pressed="true"]{color:var(--ink)!important}

/* v13: the map and the venue scene are the interaction surface; the dock under the scene holds the round's one decision; the side panel holds the race and the situation. Layout rules are scoped to body.v13 so they win over the layered v8–v12 overrides above. */
:root{--g-elder:#8d6f8f;--g-elder-soft:#efe4ee;--g-middle:#4f7aa0;--g-middle-soft:#e1ebf3;--g-young:#c98e22;--g-young-soft:#f7ecd3;--rival:#b5664f;--rival-soft:#f6e3db;--chrome:122px;--dock-min:172px}
.v13 .g-elder{--g:var(--g-elder);--g-soft:var(--g-elder-soft)}.v13 .g-middle{--g:var(--g-middle);--g-soft:var(--g-middle-soft)}.v13 .g-young{--g:var(--g-young);--g-soft:var(--g-young-soft)}
.v13 .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--g,#999);margin-right:5px;vertical-align:middle}
.v13 .masthead{padding:10px 24px;gap:18px;max-width:1600px}
.v13 main{max-width:1600px;padding:10px 24px 0}
.v13 .hud{grid-template-columns:auto auto minmax(0,1fr);height:auto;margin-bottom:10px;border-radius:12px}
.v13 .hud>*{padding:7px 16px;min-height:0;border:0;border-right:1px solid var(--line);border-bottom:0;background:transparent;text-align:left}
.v13 .hud>*:last-child{border-right:0}
.v13 .hud .eyebrow{font-size:10px}
.v13 .hud-day strong,.v13 .hud-money strong{font-size:20px;line-height:1.2}
.v13 .day-dots{margin-top:4px}.v13 .day-dots i.debate{outline:2px solid var(--rival);outline-offset:1px}
.v13 .hud-race{cursor:pointer;display:flex;flex-direction:column;justify-content:center}
.v13 .race-summary{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px;color:var(--muted)}
.v13 .race-summary b{font-size:19px;color:var(--ink);font-variant-numeric:tabular-nums}
.v13 .race-summary span:nth-child(2) b{color:var(--rival)}
.v13 .game-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr);gap:16px;align-items:stretch;height:auto;min-height:0}
.v13 .world-column{position:static;min-width:0;display:flex;flex-direction:column;gap:10px}
.v13 .world-heading{margin:0;align-items:center}
.v13 .world-heading h1{font-size:21px;margin:2px 0 0}
.v13 .world{width:100%;max-height:none;aspect-ratio:1200/650;margin-inline:auto;flex:0 0 auto}
.v13 .interaction{margin:0;display:flex;flex-direction:column;min-height:0}
.v13 #panel{display:flex;flex-direction:column;min-height:0;flex:1}
.v13 .panel-content{padding:14px 16px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:12px}
.v13 .panel-content>*{margin:0}
.v13 footer{max-width:1600px;margin:14px auto 0;padding:0 24px 18px;font-size:11px}
/* Wide screens: the whole game fits the window; only the side panel and the dock scroll inside. */
@media (min-width:1024px) and (min-height:620px){
 body.v13{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
 .v13 main{flex:1 1 auto;min-height:0;width:100%;box-sizing:border-box;display:flex;flex-direction:column}
 .v13 .game-layout{flex:1 1 auto;min-height:0;height:auto}
 .v13 .world-column{min-height:0;container-type:size}
 .v13 .world{width:min(100%,calc((100cqh - var(--dock-min) - 12px) * 1.846))}
 .v13 .dock{flex:1 1 auto;min-height:0;overflow:auto}
 .v13 .interaction{overflow:hidden}
 .v13 footer{flex:0 0 auto;margin:4px auto 0;padding:0 24px 6px;display:flex;gap:16px;justify-content:space-between;align-items:center;width:100%;max-width:1600px;box-sizing:border-box;font-size:10.5px}
 .v13 footer p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .v13 footer p:first-child{flex:1;min-width:0}
 .v13 footer .text-button{min-height:0;padding:0 4px;font-size:11px}
 .v13 .world-heading{display:none}
 .v13 .masthead{width:100%;box-sizing:border-box;margin:0 auto;padding:6px 24px}
}
@media (max-width:1023px){
 .v13 .game-layout{grid-template-columns:1fr;gap:12px}
 .v13 .interaction{order:2}
 .v13 main{padding:8px 12px 0}
 .v13 .masthead{padding:8px 12px}
 .v13 .world-heading h1{font-size:18px}
}
@media (max-width:620px){
 .v13 .hud{grid-template-columns:auto 1fr}
 .v13 .hud-race{grid-column:1/-1;border-top:1px solid var(--line);border-right:0}
 .v13 .hud>*{padding:7px 12px}
 .v13 .race-summary{font-size:12px;gap:2px 12px}.v13 .race-summary b{font-size:16px}
 .v13 .world-heading .eyebrow{font-size:9px}
 .v13 .edition{display:none}
}
/* Map hotspots: every destination is a real button on the map. */
.v13 .map-hotspots{position:absolute;inset:0;z-index:700;pointer-events:none}
.v13 .hotspot{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;display:flex;align-items:center;gap:5px;padding:3px 9px 3px 3px;min-height:0;border:1.5px solid #c9d1bd;border-radius:999px;background:#fffdf5f2;box-shadow:0 4px 12px #2c54311f;color:var(--ink);font-size:12px;line-height:1.15;text-align:left;cursor:pointer;transition:transform .15s,box-shadow .15s}
.v13 .hotspot .pin{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e9eee1;color:var(--green);flex:0 0 auto}
.v13 .hotspot .action-icon,.v13 .hotspot .action-icon svg{width:17px;height:17px;margin:0}
.v13 .hotspot.venue .pin{background:var(--g-soft);color:var(--g);box-shadow:inset 0 0 0 2px var(--g)}
.v13 .hotspot-label{display:flex;flex-direction:column}
.v13 .hotspot-label b{font-size:12px;white-space:nowrap}
.v13 .hotspot-label small{font-size:10px;color:var(--muted);white-space:nowrap}
.v13 .hotspot.venue .hotspot-label small{color:var(--g);font-weight:700}
.v13 .hotspot:hover,.v13 .hotspot:focus-visible{transform:translate(-50%,-100%) scale(1.06);box-shadow:0 6px 16px #2c543133;z-index:2}
.v13 .hotspot.selected{border-color:var(--green);background:var(--green);color:#fffdf2;z-index:3}
.v13 .hotspot.selected small{color:#e8f0e0!important}
.v13 .hotspot[disabled]{opacity:.55;cursor:not-allowed}
.v13 .hotspot .badge{position:absolute;top:-9px;right:-6px;font-size:9px;font-weight:700;padding:1px 5px;border-radius:6px;color:#fff;white-space:nowrap}
.v13 .hotspot .badge.warn{background:#c4573e}.v13 .hotspot .badge.rival{background:var(--rival);right:auto;left:-4px}
.v13 .hotspot .badge.warn+.badge.rival{top:-9px}
@media (max-width:700px){
 .v13 .hotspot{padding:2px;border-width:1px}.v13 .hotspot-label{display:none}.v13 .hotspot .pin{width:20px;height:20px}.v13 .hotspot .action-icon,.v13 .hotspot .action-icon svg{width:13px;height:13px}
 .v13 .hotspot .badge{font-size:8px;top:-8px}
}
/* Venue scene: the map gives way to the place itself, with the crowd and the speaker. */
.v13 .venue-scene{position:absolute;inset:0;z-index:800;background:#f4eedc;animation:v13-enter .45s ease-out}
.v13 .venue-scene svg{display:block;width:100%;height:100%}
.v13 .world.in-venue .scene,.v13 .world.in-venue .actor,.v13 .world.in-venue .team-actors,.v13 .world.in-venue .route-line,.v13 .world.in-venue .map-caption,.v13 .world.in-venue .action-effect,.v13 .world.in-venue .destination-marker{visibility:hidden}
@keyframes v13-enter{from{transform:scale(1.05);filter:brightness(1.08)}to{transform:none;filter:none}}
.v13 .venue-art .face{animation:v13-pop .35s ease-out both}
@keyframes v13-pop{from{transform:translateY(10px)}to{transform:none}}
.v13 .conversation-bubble{position:absolute;z-index:900;left:29%;top:4%;width:46%;max-width:none;bottom:auto;padding:10px 14px;border-radius:14px;background:#fffdf5;border:2px solid #b9c7ad;box-shadow:0 8px 20px #2c543124;animation:v13-bubble .4s .25s ease-out both;transform:none}
.v13 .conversation-bubble::after{content:"";position:absolute;left:14%;bottom:-12px;border:10px solid transparent;border-top-color:#b9c7ad;border-bottom:0}
.v13 .conversation-bubble[data-kind="tv"]{left:46%;top:24%;width:42%}.v13 .conversation-bubble[data-kind="tv"]::after{left:30%}
.v13 .conversation-bubble[data-kind="debate"]{left:24%;top:3%;width:52%}.v13 .conversation-bubble[data-kind="debate"]::after{left:auto;right:8%}
.v13 .conversation-bubble[data-stage="reaction"]{border-color:var(--green)}
.v13 .bubble-speaker{display:block;font-size:11px;font-weight:700;color:var(--green);margin-bottom:2px}
.v13 .conversation-bubble p{margin:0;font-size:clamp(12px,1.25vw,16px);line-height:1.45;color:var(--ink)}
@keyframes v13-bubble{from{transform:translateY(-8px) scale(.97)}to{transform:none}}
@media (max-width:700px){.v13 .conversation-bubble{left:3%;width:72%;top:3%;padding:6px 9px;border-radius:10px}.v13 .conversation-bubble p{font-size:11px;line-height:1.35}.v13 .bubble-speaker{font-size:9px}.v13 .conversation-bubble[data-kind="tv"]{left:26%;top:3%;width:70%}.v13 .conversation-bubble[data-kind="debate"]{left:14%;width:72%}}
/* Dock: the round's single decision sits right under the scene. */
.v13 .dock{border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--shadow);padding:12px 14px;outline:none}
.v13 .dock:focus-visible{box-shadow:0 0 0 3px #9fc29a}
.v13 .dock .primary-button,.v13 .dock .secondary-button{margin-top:8px;width:auto;min-width:200px;padding:11px 20px}
.v13 .dock-hint{margin:2px 0;font-size:14px;color:var(--muted)}.v13 .dock-hint b{color:var(--ink)}
.v13 .dock-title{display:flex;align-items:center;gap:10px}
.v13 .dock-title h2{margin:0;font-size:18px;flex:1;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.v13 .dock-title h2 small{font-size:12px;color:var(--muted);font-weight:600}
.v13 .dock-title strong{font-size:14px;white-space:nowrap}
.v13 .dock-title .action-icon{width:30px;height:30px;color:var(--green)}
.v13 .mix-bar{display:flex;height:22px;border-radius:6px;overflow:hidden;margin-top:8px;font-size:11px;font-weight:700;color:#fff}
.v13 .mix-bar span{display:flex;align-items:center;justify-content:center;background:var(--g);white-space:nowrap;overflow:hidden;min-width:0;padding:0 4px}
.v13 .mix-note{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.v13 .topic-picks,.v13 .research-picks{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}
.v13 .pick-label{font-size:12px;font-weight:700;color:var(--muted);min-width:3em}
.v13 .topic-picks button,.v13 .research-picks button{display:flex;flex-direction:column;align-items:flex-start;padding:4px 10px;min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fffdf7;font-size:12px;line-height:1.2;text-align:left}
.v13 .research-picks button{min-height:34px;justify-content:center}
.v13 .topic-picks small{font-size:10px;color:var(--muted)}
.v13 .topic-picks [aria-pressed="true"],.v13 .research-picks [aria-pressed="true"]{border-color:var(--green);background:#e5efe2;box-shadow:inset 0 0 0 1px var(--green)}
.v13 .research-picks small{font-size:11px;color:var(--muted);flex-basis:100%}
.v13 .research-line{font-size:12px;color:var(--muted);margin:8px 0 0}
.v13 .response-toggle{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:var(--muted)}
.v13 .response-toggle button{padding:4px 10px;min-height:32px;border-radius:8px;font-size:12px}
.v13 .commit-reason{margin:8px 0 0;font-size:12px;color:var(--muted)}.v13 .commit-reason.blocked{color:#a5432e;font-weight:700}
.v13 .dock-speaker{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 8px;font-size:14px}
.v13 .dock-speaker .memory{font-size:11px;color:var(--muted);flex-basis:100%}
.v13 .answer-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.v13 .answer-option{display:flex;gap:9px;align-items:flex-start;padding:10px 11px;min-height:0;border:1.5px solid var(--line);border-radius:10px;background:#fffdf7;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s}
.v13 .answer-option:hover:not([disabled]),.v13 .answer-option:focus-visible{border-color:var(--green);transform:translateY(-1px)}
.v13 .answer-option[disabled]{opacity:.62;cursor:not-allowed}
.v13 .answer-number{flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-size:12px;font-weight:700}
.v13 .answer-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.v13 .answer-line{font-size:14px;font-weight:700;line-height:1.35}
.v13 .face-row{display:flex;flex-wrap:wrap;gap:4px}
.v13 .face-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px 2px 7px;border-radius:999px;background:var(--g-soft);border:1px solid color-mix(in srgb,var(--g) 40%,transparent);font-size:11px;line-height:1}
.v13 .face-chip b{color:var(--g);font-size:11px}
.v13 .face-icon{width:20px;height:20px;display:block}
.v13 .tag{display:block;font-size:11px;line-height:1.35;padding:3px 7px;border-radius:6px;background:#f1efe4;color:#5f6a5b}
.v13 .tag.flip,.v13 .tag.breach{background:#f8e3dc;color:#9a3f2b}.v13 .tag.promise{background:#f6eccf;color:#7a5b16}.v13 .tag.deal{background:#e3efdf;color:#2f6a46}.v13 .tag.locked{background:transparent;padding:0;color:var(--muted)}
.v13 .dock-legend{margin:8px 0 0;font-size:11px;color:var(--muted)}
.v13 .dock-recap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px}
.v13 .recap-total{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;font-size:15px}
.v13 .recap-total>b{font-size:18px}
.v13 .rival-total{color:var(--rival);font-weight:700;font-size:13px}
.v13 .delta-row{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:4px}
.v13 .delta-chip{display:inline-flex;gap:4px;align-items:center;padding:2px 7px;border-radius:999px;background:var(--g-soft);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.v13 .delta-chip b{color:var(--g)}.v13 .delta-chip.down{color:#a5432e}
.v13 .dock-travel,.v13 .dock-intro,.v13 .dock-result{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.v13 .dock-travel p,.v13 .dock-intro p,.v13 .dock-result p{margin:0;font-size:14px;flex:1;min-width:200px}
.v13 .dock-travel .action-icon{width:28px;height:28px;color:var(--green)}
.v13 .result-line b{font-size:18px}
.v13 .dock-result .secondary-button,.v13 .dock-result .primary-button{margin-top:0}
/* Side panel cards. */
.v13 .card-head,.v13 .race-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}
.v13 .card-head b,.v13 .race-head>b{font-size:14px}
.v13 .card-head span,.v13 .race-head span{font-size:11px;color:var(--muted)}
.v13 .race-board,.v13 .group-card,.v13 .profile-card,.v13 .offer-card,.v13 .situation,.v13 .carry,.v13 .issue-card,.v13 .cause-lines{border:1px solid var(--line);border-radius:10px;background:#fffdf7;padding:10px 12px}
.v13 .race-row{display:grid;grid-template-columns:3em 1fr auto;align-items:center;gap:8px;margin:5px 0;font-size:13px}
.v13 .race-row strong{font-variant-numeric:tabular-nums;font-size:15px;min-width:5.5em;text-align:right}
.v13 .race-row strong small{display:block;font-size:10px;font-weight:600}.v13 .race-row small.up{color:#2f7a4a}.v13 .race-row small.down{color:#a5432e}
.v13 .race-track{position:relative;height:12px;border-radius:6px;background:#ece9dc;overflow:visible}
.v13 .race-track i{position:absolute;left:0;top:0;bottom:0;border-radius:6px}
.v13 .race-track i.r-you{background:var(--green)}.v13 .race-track i.r-rival{background:var(--rival)}
.v13 .race-line{position:absolute;top:-4px;bottom:-4px;width:2px;background:#203f3a;border-radius:1px}
.v13 .race-gap{margin:4px 0 6px;font-size:12px;font-weight:700}.v13 .race-gap.ahead{color:#2f7a4a}.v13 .race-gap.behind{color:#a5432e}
.v13 .race-groups{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.v13 .race-groups th,.v13 .race-groups td{padding:3px 4px;text-align:right;border-top:1px solid #ecebdf}
.v13 .race-groups th:first-child{text-align:left;font-weight:600}
.v13 .race-groups thead th{color:var(--muted);font-weight:600;border-top:0}
.v13 .race-groups small{display:block;font-size:10px}.v13 .race-groups small.up{color:#2f7a4a}.v13 .race-groups small.down{color:#a5432e}
.v13 .race-bloc{margin:6px 0 0;font-size:11px;color:var(--muted)}
.v13 .group-row{display:grid;grid-template-columns:5.5em 1fr;gap:2px 8px;padding:6px 0;border-top:1px solid #ecebdf;font-size:12px}
.v13 .group-row:first-of-type{border-top:0}
.v13 .group-name{font-weight:700;color:var(--g);grid-row:span 2}.v13 .group-name small{color:var(--muted);font-weight:600}
.v13 .group-name .dot{background:var(--g)}
.v13 .group-trait{font-weight:700}.v13 .group-top{color:var(--muted)}
.v13 .group-rule{grid-column:2;font-size:11px;color:#7a5b16}
.v13 .group-card>small{display:block;margin-top:6px;font-size:11px;color:var(--muted)}
.v13 .offer-card{border-color:#d9c48d;background:#fffaeb}
.v13 .offer-card h3{margin:0;font-size:16px}.v13 .offer-card h3 small{margin-left:6px;font-size:10px;color:var(--muted);font-weight:600}
.v13 .offer-ask{margin:4px 0;font-size:13px}
.v13 .offer-terms{display:flex;flex-wrap:wrap;gap:4px 12px;margin:4px 0;font-size:12px;font-weight:700}
.v13 .offer-faces{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;color:var(--muted);margin:6px 0}
.v13 .offer-actions{display:flex;gap:8px;margin-top:6px}
.v13 .offer-actions button{flex:1;min-height:40px;border-radius:8px;font-weight:700}
.v13 .offer-actions button[data-choice="accept"]{background:var(--green);color:#fffdf2;border-color:var(--green)}
.v13 .situation{display:flex;flex-direction:column;gap:6px}
.v13 .situation-row{display:grid;grid-template-columns:4.6em 1fr;gap:8px;margin:0;font-size:12px;line-height:1.45}
.v13 .situation-row b{font-size:11px;color:var(--muted)}
.v13 .situation-row.warn b,.v13 .situation-row.warn{color:#9a3f2b}.v13 .situation-row.is-rival b{color:var(--rival)}
.v13 .carry{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:12px}
.v13 .carry .text-button{min-height:30px;padding:2px 4px;font-size:12px}
.v13 .carry .team-line{margin-left:auto;color:var(--muted)}
.v13 .issue-card-title{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.v13 .issue-card-title span{font-size:11px;color:var(--muted)}
.v13 .issue-row{margin:6px 0;font-size:12px}.v13 .issue-row>b{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}
.v13 .insight-table{border-collapse:collapse;font-size:12px;width:100%}.v13 .insight-table th,.v13 .insight-table td{padding:2px 4px;text-align:center}.v13 .insight-table th:first-child{text-align:left}
.v13 .issue-tradeoffs{display:grid;gap:6px;margin:6px 0}.v13 .issue-tradeoffs div{font-size:12px}.v13 .issue-tradeoffs b{display:block}.v13 .issue-tradeoffs span{color:var(--muted)}
.v13 .issue-commitment{font-size:12px;margin:4px 0}.v13 .issue-commitment b{margin-right:6px;color:var(--muted)}
.v13 .cause-lines h2{font-size:15px;margin:0 0 6px}
.v13 .cause-line{display:grid;grid-template-columns:3.4em 1fr;gap:8px;margin:5px 0;font-size:12.5px;line-height:1.45}
.v13 .cause-line b{font-size:11px;color:var(--muted)}
.v13 .cause-line.warn,.v13 .cause-line.warn b{color:#9a3f2b}.v13 .cause-line.is-rival b{color:var(--rival)}
.v13 .cause-line .delta-row{display:flex;margin:4px 0 0}
.v13 .cause-lines>small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.v13 .result-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v13 .result-gap{font-size:13px;font-weight:700;margin:0}
.v13 .tally-list li.tally-rival{background:var(--rival-soft)}
.v13 .tally-list li{grid-template-columns:2em minmax(0,1fr) 6.5em 2.5em}.v13 .tally-list li>strong{white-space:nowrap}
.v13 .intro-reading{padding-left:18px;font-size:13px}.v13 .intro-reading li{margin:4px 0}
.v13 .opening-options{border:1px solid var(--line);border-radius:10px;padding:6px 10px}

.v13 .wordmark-block{width:32px;height:32px;font-size:19px}
.v13 .wordmark{font-size:17px;gap:8px}
.v13 .wordmark small{font-size:8px}
.v13 .topic-picks button,.v13 .research-picks button{width:auto;min-width:0;flex:0 0 auto}
.v13 .dock-title .primary-button{margin:0 0 0 auto;min-width:150px;padding:10px 18px}
.v13 .dock-options{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:flex-start}
.v13 .dock-options .research-picks small{flex-basis:auto}
@media (max-width:620px){.v13 .dock-title{flex-wrap:wrap}.v13 .dock-title .primary-button{flex-basis:100%;margin-top:6px}}
.v13 .answer-line{font-size:13.5px;line-height:1.3}
.v13 .answer-option{padding:8px 10px}
.v13 .answer-copy{gap:5px}
.v13 .tag{font-size:10.5px;padding:2px 6px}
@media (min-width:1024px) and (min-height:620px){body.v13[data-phase="question"] .world{width:min(100%,calc((100cqh - 214px) * 1.846))}}
.v13 .hotspot{min-width:0;min-height:0}
.v13 .dock-alerts{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}
.v13 .dock-alerts a,.v13 .dock-alerts span{font-size:12px;font-weight:700;padding:4px 9px;border-radius:7px;background:#fff1d6;color:#7a5216;text-decoration:none}
.v13 .dock-alerts span{background:#f8e3dc;color:#9a3f2b}
.v13 .conversation-bubble::before{display:none}
.v13 .conversation-bubble::after{top:auto;right:auto;width:0;height:0;transform:none;background:transparent;box-shadow:none}
.v13 .conversation-bubble[data-kind="debate"]::after{left:auto;right:8%}
.v13 .dock-tools{display:flex;justify-content:flex-end}
.v13 .dock-tools:empty{display:none}
.v13 .dock-tools .new-game-button{margin-top:8px;min-width:200px;padding:11px 20px;font-weight:700}
.v13 main>.hud,.v13 main>.notice{flex:0 0 auto}
.v13 .answer-list{grid-template-columns:repeat(auto-fit,minmax(168px,1fr))}
.v13 .answer-option{display:block;padding:8px 9px}
.v13 .answer-line .answer-number{display:inline-grid;width:19px;height:19px;font-size:11px;margin-right:6px;vertical-align:1px}
.v13 .face-chip{gap:2px;padding:1px 4px 1px 5px}
.v13 .face-chip b{font-size:10.5px}
.v13 .face-icon{width:18px;height:18px}
/* Narrow screens: one column; at the intro the start button follows the identity and party choices. */
@media (max-width:1023px){
 .v13 .world-column{display:contents}
 .v13 .world-heading{order:0}.v13 .world{order:1}.v13 .dock{order:2}.v13 .interaction{order:3}
 body.v13[data-phase="intro"] .dock{order:4}
}
/* v13.1: the HUD sits in the header row; identity and party cards; paid add-ons and crowd figures in the dock; the shareable report after the count. */
.v13 .masthead{flex-wrap:nowrap;gap:14px}
.v13 .masthead .hud{flex:1 1 auto;min-width:0;margin:0;box-shadow:none}
.v13 .masthead nav{flex:0 0 auto}
.v13 .race-summary span:nth-child(2) b{color:var(--muted)}.v13 .race-summary span:nth-child(3) b{color:var(--rival)}
.v13 .race-idle{font-size:13px;color:var(--muted)}
@media (max-width:900px){.v13 .masthead{flex-wrap:wrap;gap:6px 10px}.v13 .masthead .hud{order:3;flex-basis:100%}}
.v13 .identity-card .identity-good{color:#2f6a46}.v13 .identity-card .identity-bad{color:#9a3f2b}
.v13 .party-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.v13 .party-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:10px 12px;border-top:4px solid var(--party);background:#fffdf7;text-align:left}
.v13 .party-card b{font-size:15px;color:var(--party)}
.v13 .party-card span{font-size:12px;line-height:1.5}
.v13 .party-card small{font-size:11px;line-height:1.45;color:var(--muted)}
.v13 .party-card[aria-pressed="true"]{border-color:var(--party);background:color-mix(in srgb,var(--party) 9%,#fffdf7);box-shadow:inset 0 0 0 1px var(--party)}
@media (max-width:560px){.v13 .party-cards{grid-template-columns:1fr}}
.v13 .opening-cost{font-size:13px;color:var(--muted)}
.v13 .party-badge{display:inline-block;margin-right:4px;padding:1px 6px;border-radius:5px;background:var(--party);color:#fff;font-size:11px;font-weight:700;line-height:1.4;vertical-align:1px}
.v13 .party-card-side{border:1px solid var(--line);border-left:4px solid var(--party);border-radius:10px;background:#fffdf7;padding:10px 12px}
.v13 .party-note{margin:4px 0;font-size:12px;line-height:1.5;color:var(--muted)}.v13 .party-note.rival-side{color:var(--rival)}
.v13 .party-line{margin:4px 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px;font-size:12px}
.v13 .party-line b{display:inline-block;min-width:3.4em;margin-right:6px;color:var(--party)}
.v13 .race-note{margin:0 0 6px;font-size:12px;font-weight:700;color:var(--rival)}
/* Dock: how to do it, what to add, who is there. */
.v13 .dock-plan{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 18px}
.v13 .dock-plan>.dock-title,.v13 .dock-plan>.crowd-line,.v13 .dock-plan>.dock-info,.v13 .dock-plan>.commit-reason,.v13 .dock-plan>.topic-picks{flex-basis:100%}
.v13 .mode-picks,.v13 .addon-picks{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;margin-top:8px}
.v13 .mode-picks button,.v13 .addon-picks button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;padding:5px 11px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#fffdf7;font-size:13px;line-height:1.25;text-align:left}
.v13 .mode-picks small,.v13 .addon-picks small{font-size:11px;font-weight:600;color:var(--muted)}
.v13 .mode-picks [aria-pressed="true"]{border-color:var(--green);background:var(--green);color:#fffdf2}.v13 .mode-picks [aria-pressed="true"] small{color:#e8f0e0}
.v13 .addon-picks [aria-pressed="true"]{border-color:#b98a1e;background:#fff3d2;box-shadow:inset 0 0 0 1px #b98a1e}
.v13 .addon-picks [aria-pressed="true"] b::before{content:"✓ ";color:#7a5216}
.v13 .mode-picks button[disabled],.v13 .addon-picks button[disabled]{opacity:.5}
.v13 .crowd-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:8px;font-size:12px}
.v13 .crowd-label{font-weight:700;color:var(--muted)}
.v13 .crowd-dots{display:inline-flex;gap:3px}
.v13 .crowd-dots i{position:relative;display:block;width:11px;height:17px}
.v13 .crowd-dots i::before{content:"";position:absolute;left:2.5px;top:0;width:6px;height:6px;border-radius:50%;background:var(--g)}
.v13 .crowd-dots i::after{content:"";position:absolute;left:0;bottom:0;width:11px;height:9px;border-radius:6px 6px 2px 2px;background:var(--g)}
.v13 .crowd-text{display:inline-flex;flex-wrap:wrap;gap:2px 6px}.v13 .crowd-text b{color:var(--g)}
.v13 .dock-info{margin:6px 0 0;font-size:13px;line-height:1.5}
.v13 .topic-pick{position:relative;overflow:hidden;padding-bottom:7px!important}
.v13 .topic-pick .heat{position:absolute;left:0;bottom:0;height:3px;border-radius:0 2px 2px 0;background:var(--orange)}
.v13 .hotspot .badge.board{top:auto;bottom:-9px;right:-6px;background:#b98a1e}
.v13 .answer-option.counter{border-color:#d9a08c;background:#fff6f1}
.v13 .answer-option.counter .answer-number{background:var(--rival)}
.v13 .tag.party{background:#e1ebf3;color:#2c4f7c}.v13 .tag.previous{background:#e3efdf;color:#2f6a46}.v13 .tag.counter{background:#f8e3dc;color:#9a3f2b}
.v13 .offer-card .tag{margin:4px 0}
/* Report: the shareable page after the count. */
body.v13[data-phase="report"] .game-layout{display:none}
.v13 .report{flex:1 1 auto;min-height:0;overflow:auto;padding:4px 0 10px}
.v13 .report-card{max-width:1080px;margin:0 auto;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow);padding:18px 22px}
.v13 .report-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.v13 .report-who{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;font-weight:700;color:var(--muted)}
.v13 .report-verdict{margin:2px 0 0;font-size:30px;letter-spacing:1px}.v13 .report-verdict.win{color:var(--green)}.v13 .report-verdict.lose{color:#a5432e}
.v13 .report-id{font-size:11px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.v13 .report-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px}
.v13 .report-main{display:flex;flex-direction:column;gap:12px;min-width:0}
.v13 .report-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.v13 .report-numbers>div{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:10px;background:#f4f1e5}
.v13 .report-numbers span{font-size:11px;font-weight:700;color:var(--muted)}
.v13 .report-numbers strong{font-size:24px;line-height:1.15;font-variant-numeric:tabular-nums}
.v13 .report-numbers small{font-size:11px;color:var(--muted)}
.v13 .report-numbers>div:last-child strong{color:var(--rival)}
.v13 .trend{display:block;width:100%;height:auto;border:1px solid #ecebdf;border-radius:10px;background:#fbf9f1}
.v13 .trend-line{stroke:#203f3a;stroke-width:1;stroke-dasharray:4 3}
.v13 .trend-label{font-size:9px;fill:var(--muted)}
.v13 .trend-you,.v13 .trend-rival{fill:none;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.v13 .trend-you{stroke:var(--green)}.v13 .trend-rival{stroke:var(--rival);stroke-dasharray:5 3}.v13 .trend-dot{fill:var(--green)}
.v13 .trend-key{display:flex;flex-wrap:wrap;gap:4px 14px;margin:-6px 0 0;font-size:11px;color:var(--muted)}
.v13 .trend-key .k-you::before,.v13 .trend-key .k-rival::before{content:"";display:inline-block;width:14px;height:3px;margin-right:4px;border-radius:2px;vertical-align:middle;background:var(--green)}
.v13 .trend-key .k-rival::before{background:var(--rival)}
.v13 .report-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.v13 .report-groups>div{display:flex;flex-direction:column;gap:1px;padding:6px 9px;border-radius:8px;background:var(--g-soft);font-size:12px;font-variant-numeric:tabular-nums}
.v13 .report-groups b{color:var(--g)}
.v13 .key-factors{border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:#fffdf7}
.v13 .key-factors h3,.v13 .report-rounds h3{margin:0 0 6px;font-size:14px}
.v13 .key-factors ol{margin:0;padding-left:18px;font-size:13px}.v13 .key-factors li{margin:3px 0}
.v13 .key-factors li span{margin-left:8px;font-weight:700;font-variant-numeric:tabular-nums}
.v13 .report-rounds{min-width:0}
.v13 .report-rounds ol{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}
.v13 .report-rounds li{display:grid;grid-template-columns:1.7em minmax(0,1fr) auto;grid-template-areas:"n what votes" "n rival rival";gap:0 8px;align-items:center;padding:5px 8px;border-radius:8px;background:#f8f6ee;font-size:13px}
.v13 .report-rounds li b{grid-area:n;display:grid;place-items:center;width:1.6em;height:1.6em;border-radius:50%;background:var(--green);color:#fff;font-size:11px}
.v13 .report-rounds li span{grid-area:what;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v13 .report-rounds li strong{grid-area:votes;font-variant-numeric:tabular-nums}
.v13 .report-rounds li strong.up{color:#2f7a4a}.v13 .report-rounds li strong.down{color:#a5432e}
.v13 .report-rounds li small{grid-area:rival;font-size:11px;color:var(--rival)}
.v13 .report-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:1080px;margin:12px auto 0}
.v13 .report-tools button{min-width:180px;padding:11px 20px;font-weight:700}
@media (max-width:760px){.v13 .report-card{padding:14px}.v13 .report-grid{grid-template-columns:1fr}.v13 .report-verdict{font-size:24px}.v13 .report-numbers strong{font-size:19px}.v13 .report-numbers>div{padding:7px 8px}}
@media (max-width:620px){.v13 .masthead{position:static}}
/* Smaller maps keep labels apart: building notes drop out and type tightens. */
.v13 .world{container:world/inline-size}
@container world (max-width:680px){.v13 .hotspot.building .hotspot-label small{display:none}.v13 .hotspot-label b{font-size:11px}.v13 .hotspot-label small{font-size:9.5px}.v13 .hotspot .pin{width:22px;height:22px}}
.v13 .wordmark{white-space:nowrap}
.v13 .game-layout{grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr)}
@media (max-width:1023px){.v13 .game-layout{grid-template-columns:1fr}}
/* v13.2: the opening is a pick screen with portraits, emblems and numbered steps; the side panel shows the match-up with 小馬. */
@media (min-width:1024px) and (min-height:620px){body.v13[data-phase="intro"] .world{display:none}}
@media (max-width:1023px){body.v13[data-phase="intro"] .dock{order:2}body.v13[data-phase="intro"] .interaction{order:3}}
.v13 .dock-intro{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.v13 .pick-group{border:0;margin:0;padding:0;min-width:0}
.v13 .pick-group legend{display:flex;align-items:center;gap:8px;margin:0 0 8px;padding:0;font-size:15px;font-weight:800}
.v13 .step{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--green);color:#fffdf2;font-size:13px;font-weight:800;flex:0 0 auto}
.v13 .dock-intro .identity-cards,.v13 .dock-intro .party-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v13 .pick-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px 12px;min-height:0;border:2px solid var(--line);border-radius:12px;background:#fffdf7;text-align:left;cursor:pointer;box-shadow:0 2px 0 #2c54310f;transition:transform .15s,box-shadow .15s,border-color .15s}
.v13 .pick-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px #2c54311f;border-color:#9fb59a}
.v13 .pick-card[aria-pressed="true"]{border-color:var(--green);background:#eef5ea;box-shadow:0 6px 16px #2c543124}
.v13 .party-card.pick-card[aria-pressed="true"]{border-color:var(--party);background:color-mix(in srgb,var(--party) 10%,#fffdf7)}
.v13 .pick-mark{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:2px solid #b9c2b0;background:#fff;color:#fff;font-size:13px;font-weight:900;line-height:1}
.v13 .pick-card[aria-pressed="true"] .pick-mark{background:var(--green);border-color:var(--green)}
.v13 .party-card.pick-card[aria-pressed="true"] .pick-mark{background:var(--party);border-color:var(--party)}
.v13 .pick-card .portrait{display:block;width:100%;height:84px;border-radius:8px;background:linear-gradient(#eef3e6,#e1e9d4)}
.v13 .portrait svg{display:block;height:100%;width:auto;margin:0 auto}
.v13 .emblem{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--party);color:#fff;font-size:20px;font-weight:900;box-shadow:inset 0 0 0 3px #ffffff66}
.v13 .pick-card>b{font-size:16px}
.v13 .pick-card>span:not(.portrait):not(.emblem):not(.pick-mark){font-size:12px;line-height:1.5}
.v13 .party-card.pick-card>b{color:var(--party)}
.v13 .start-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:10px;border-top:1px dashed var(--line)}
.v13 .start-row p{margin:0;flex:1;min-width:200px;font-size:14px}
.v13 .dock .start-row .primary-button{margin:0;min-width:200px}
@media (max-width:620px){
 .v13 .dock-intro .identity-cards,.v13 .dock-intro .party-cards{grid-template-columns:1fr}
 .v13 .pick-card{display:grid;grid-template-columns:64px 1fr;column-gap:12px;align-items:start}
 .v13 .pick-card .portrait,.v13 .pick-card .emblem{grid-column:1;grid-row:1/span 3}
 .v13 .pick-card .portrait{width:64px;height:78px}
 .v13 .pick-card>b,.v13 .pick-card>span:not(.portrait):not(.emblem):not(.pick-mark){grid-column:2}
}
.v13 .matchup-card{border:1px solid var(--line);border-radius:10px;background:#fffdf7;padding:10px 12px}
.v13 .matchup{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;text-align:center}
.v13 .matchup .mu-side{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0}
.v13 .matchup .portrait{display:block;height:80px}
.v13 .matchup .mu-side b{font-size:14px}.v13 .matchup .mu-side small{font-size:11px;color:var(--muted)}
.v13 .matchup .mu-side strong{font-size:20px;font-variant-numeric:tabular-nums}.v13 .matchup .mu-rival strong{color:var(--rival)}
.v13 .vs{font-size:14px;font-weight:900;color:var(--muted)}
.v13 .matchup-note{margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.v13 .party-dot{display:inline-grid;place-items:center;min-width:16px;height:16px;margin-left:3px;padding:0 3px;border-radius:4px;background:var(--party);color:#fff;font-size:10px;font-style:normal;font-weight:800;vertical-align:2px}
/* The ladder around the last seat. */
.v13 .ladder{list-style:none;margin:8px 0 4px;padding:0;font-size:12px;font-variant-numeric:tabular-nums}
.v13 .ladder li{display:grid;grid-template-columns:2.2em 1fr auto;gap:6px;align-items:center;padding:3px 6px;border-radius:6px}
.v13 .ladder li span{color:var(--muted);text-align:right}
.v13 .ladder li b{font-weight:600}
.v13 .ladder li.lad-in{background:#f1f5ec}
.v13 .ladder li.lad-last{border-bottom:2px dashed #203f3a;border-radius:6px 6px 0 0;margin-bottom:3px}
.v13 .ladder li.lad-me{background:#e2efe0}.v13 .ladder li.lad-me b{color:var(--green);font-weight:800}
.v13 .ladder li.lad-rival{background:var(--rival-soft)}.v13 .ladder li.lad-rival b{color:var(--rival);font-weight:800}
.v13 .ladder li.lad-gap{display:block;padding:0;text-align:center;color:var(--muted);line-height:1}
.v13 .ladder-note{margin:2px 0 6px;font-size:11px;line-height:1.45;color:var(--muted)}
.v13 .sup-est{margin-top:10px}
.v13 .sup-head{display:flex;align-items:center;gap:6px;font-size:12px}.v13 .sup-head>b{font-size:13px}.v13 .sup-head>span:last-child{margin-left:auto;font-size:11px;color:var(--muted)}
.v13 .sup-tag{padding:1px 7px;border-radius:999px;background:var(--green);color:#fffdf2;font-size:10px;font-weight:700}
.v13 .sup-row{display:grid;grid-template-columns:4.4em minmax(0,1fr) 5.6em;gap:8px;align-items:center;margin-top:7px;font-size:12px}
.v13 .sup-name{display:flex;align-items:center;gap:4px;font-weight:700;color:var(--g);white-space:nowrap}.v13 .sup-name .dot{background:var(--g)}
.v13 .sup-bar{position:relative;display:block;height:12px;border-radius:6px;background:#e6e9e1}.v13 .sup-range{position:absolute;top:0;bottom:0;border-radius:6px;background:var(--g)}
.v13 .sup-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.v13 .sup-row.ahead .sup-num{color:#2f7a4a}.v13 .sup-row.behind .sup-num{color:#a5432e}
.v13 .sup-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 10px;margin:8px 0 0;font-size:11px;color:var(--muted)}
.v13 .poll-news{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:8px 12px;border:1px solid #88a48b;border-radius:10px;background:#e6eede;font-size:12px}.v13 .poll-news b{font-size:13px;color:var(--green)}
.v13 .group-votes{grid-column:2;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
/* Billboards stand on the map next to their place. */
.v13 .map-boards{position:absolute;inset:0;pointer-events:none}
.v13 .map-board{position:absolute;width:clamp(26px,3.6%,46px);transform:translate(-50%,-100%);filter:drop-shadow(0 3px 3px #2c543133);animation:v13-pop .4s ease-out}
.v13 .map-board svg{display:block;width:100%;height:auto}
.v13 .world.in-venue .map-boards{visibility:hidden}
.v13 .voices{display:flex;flex-direction:column;gap:3px;margin-top:6px}
.v13 .voice{margin:0;font-size:11.5px;line-height:1.45;color:#4a5a50}.v13 .voice b{margin-right:4px;color:var(--g)}
.v13 .issue-card .voice{margin:0}.v13 .issue-card .voice>b{display:inline;margin:0 4px 0 0;font-size:11.5px;color:var(--g)}
.v13 .tag.walkback{background:#f8e3dc;color:#9a3f2b}
/* v13.3: the research row, TV brief cards, the crisis card, plan-phase buttons, tug-of-war bars, party chips, acts, rain and 小馬's spot. */
.v13 .research-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;margin-top:8px;flex-basis:100%}
.v13 .research-chip,.v13 .research-row button[data-action="toggle"]{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;padding:5px 10px;min-height:44px;min-width:0;border:1.5px solid var(--line);border-radius:8px;background:#fffdf7;font-size:13px;line-height:1.2;text-align:left}
.v13 .research-chip small,.v13 .research-row button[data-action="toggle"] small{font-size:10.5px;font-weight:700;color:var(--muted)}
.v13 .research-chip.ready small{color:#2f7a4a}.v13 .research-chip.risky small{color:#a5432e}
.v13 .research-chip.other{border-style:dashed}
.v13 .research-chip[aria-pressed="true"],.v13 .research-row button[data-action="toggle"][aria-pressed="true"]{border-color:var(--green);background:#e5efe2;box-shadow:inset 0 0 0 1px var(--green)}
.v13 .research-chip[aria-pressed="true"]:not(.none) b::before{content:"研究 ";font-size:10px;color:var(--green)}
.v13 .research-row button[disabled]{opacity:.5}
.v13 .pick-sep{align-self:center;margin-left:4px;font-size:11px;color:var(--muted)}
.v13 .research-note{flex-basis:100%;margin:4px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.v13 .tv-cards{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;margin-top:8px;flex-basis:100%}
.v13 .tv-card{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:5px 10px;min-height:44px;border:1.5px solid var(--line);border-radius:8px;background:#fffdf7;font-size:12.5px;text-align:left}
.v13 .tv-card em{font-style:normal;font-size:10.5px;color:var(--muted)}
.v13 .tv-card.ready{border-left:4px solid #2f7a4a}.v13 .tv-card.risky{border-left:4px solid #c4573e}
.v13 .tv-card[aria-pressed="true"]{border-color:#b98a1e;background:#fff3d2}
.v13 .crisis-card{border:2px solid #c4573e;border-radius:10px;background:#fff4ef;padding:10px 12px}
.v13 .crisis-text{margin:4px 0 8px;font-size:13px;font-weight:700;color:#7a2e1f}
.v13 .crisis-actions{display:grid;gap:6px}
.v13 .crisis-actions button{display:flex;flex-direction:column;align-items:flex-start;padding:7px 10px;min-height:44px;border:1px solid #e0b8aa;border-radius:8px;background:#fffdf7;text-align:left}
.v13 .crisis-actions small{font-size:11px;color:var(--muted)}
.v13 .crisis-actions button[disabled]{opacity:.55}
.v13 .mini-button{margin-top:6px;min-height:32px;padding:3px 10px;border:1px solid #c9a08f;border-radius:7px;background:#fffdf7;color:#7a2e1f;font-size:12px;font-weight:700}
.v13 .dock-alerts span.drawn-ok{background:#e3efdf;color:#2f6a46}
.v13 .tag.blind,.v13 .tag.unprepared{background:#f8e3dc;color:#9a3f2b}
.v13 .tug{display:flex;flex-direction:column;gap:5px;margin-top:8px}
.v13 .tug-row{display:grid;grid-template-columns:3.6em 1fr auto;gap:8px;align-items:center;font-size:12px}
.v13 .tug-name{font-weight:700;color:var(--g);white-space:nowrap}.v13 .tug-name .dot{background:var(--g)}
.v13 .tug-bar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:#ece9dc}
.v13 .tug-you{background:var(--green)}.v13 .tug-rival{background:var(--rival)}
.v13 .tug-num{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;min-width:8.5em;font-variant-numeric:tabular-nums}
.v13 .tug-num b{color:var(--green)}.v13 .tug-num em{font-style:normal;font-weight:700;color:var(--rival)}
.v13 .tug-num small{font-size:10px}.v13 .tug-num small.up{color:#2f7a4a}.v13 .tug-num small.down{color:#a5432e}
.v13 .party-chips{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0;font-size:11.5px}
.v13 .party-chips>span{margin-right:2px;font-weight:700;color:var(--muted)}
.v13 .party-chips b{padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--party) 12%,#fffdf7);color:var(--party);font-weight:700}
.v13 .act-chip{margin-left:6px;padding:1px 7px;border-radius:999px;background:#e6eede;color:var(--green);font-size:11px;font-style:normal;font-weight:800;vertical-align:3px}
body.v13[data-act="2"] .act-chip{background:#fff1d6;color:#7a5216}body.v13[data-act="3"] .act-chip{background:#f8e3dc;color:#9a3f2b}
/* The light changes by act; rain falls on the map; 小馬 stands where the rumour says. */
body.v13[data-act="2"] .world .scene{filter:contrast(1.05) saturate(1.06)}
body.v13[data-act="3"] .world .scene{filter:sepia(.2) saturate(1.1) hue-rotate(-8deg)}
.v13 .world.is-rainy .scene{filter:saturate(.72) brightness(.94)}
.v13 .world.is-rainy::after{content:"";position:absolute;inset:0;z-index:650;pointer-events:none;background:repeating-linear-gradient(105deg,transparent 0 14px,#7f97a866 14px 15px)}
.v13 .rival.rumoured .actor-name::after{content:"？"}
/* v13.4: quiet rounds, each group's standing and estimates beside answers, the offer's three terms, the count night and its last frame. */
.v13 .quiet-note{padding:4px 8px;border-radius:7px;background:#fff6df;color:#7a5216}
.v13 .recap-why{flex-basis:100%;font-size:12px;color:var(--muted)}
.v13 .report-rounds li small{color:var(--muted);white-space:normal;line-height:1.35}
.v13 .speaker-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px}.v13 .speaker-row .dock-speaker{margin:0}
.v13 .standing{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:2px 0}
.v13 .stand-chip{display:inline-flex;align-items:baseline;gap:4px;padding:2px 8px;border-radius:999px;background:var(--g-soft);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.v13 .stand-chip b{color:var(--g)}.v13 .stand-chip.behind{color:#a5432e}.v13 .stand-chip.ahead{color:#2f7a4a}
.v13 .est-row{align-items:center}
.v13 .est-label{margin-right:1px;font-size:10.5px;font-weight:800;color:var(--muted)}
.v13 .face-chip .est{font-size:11px;font-style:normal;font-weight:800;font-variant-numeric:tabular-nums;color:#5f6a5b}
.v13 .face-chip .est.up{color:#2f7a4a}.v13 .face-chip .est.down{color:#a5432e}
.v13 .est-total{margin-left:2px;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
.v13 .estimate-note{margin:8px 0;font-size:11.5px;line-height:1.45;color:var(--muted)}
.v13 .offer-deal{display:grid;gap:5px;margin:6px 0}
.v13 .offer-deal>div{display:grid;grid-template-columns:4.4em minmax(0,1fr);gap:6px;align-items:baseline}
.v13 .offer-deal dt{font-size:12px;font-weight:800;color:#7a5216}
.v13 .offer-deal dd{margin:0;font-size:12.5px;line-height:1.45}
.v13 .offer-deal .offer-faces{margin:4px 0 0}
.v13 .count-presentation{display:block;padding:0;overflow:hidden;background:#22312d;text-align:left}
.v13 .count-scene,.v13 .count-scene svg{position:absolute;inset:0;display:block;width:100%;height:100%}
.v13 .count-screen{position:absolute;left:21.83%;top:5.54%;width:56.33%;height:40.3%;display:flex;flex-direction:column;justify-content:center;gap:.6em;padding:0 3.2%;color:#e8f1df;font-size:clamp(10px,2.3cqw,22px)}
.v13 .count-stage{margin:0;font-size:1em;font-weight:800;letter-spacing:.06em;text-align:center;color:#fff1b8}
.v13 .count-board{--name-col:3.4em;--num-col:5em;position:relative;display:grid;grid-template-columns:var(--name-col) minmax(0,1fr) var(--num-col);row-gap:.55em;align-items:center;margin-bottom:.9em}
.v13 .count-board b{font-weight:800}
.v13 .count-board strong{text-align:right;font-size:1.15em;font-variant-numeric:tabular-nums;color:#fffaf0}
.v13 .count-track{display:block;width:auto;height:1.05em;margin:0;border-radius:.3em;background:#1d2d29;overflow:hidden}
.v13 .count-track i{display:block;width:0;height:100%;border-radius:.3em;background:#7fc98f;transition:width .12s linear}
.v13 .count-track.rival i{background:#e39a7f}
.v13 .count-line{position:absolute;top:-.35em;bottom:-.35em;width:0;border-left:2px dashed #fff1b8;font-style:normal}
.v13 .count-line span{position:absolute;top:100%;left:0;transform:translateX(-50%);margin-top:.15em;white-space:nowrap;font-size:.68em;color:#fff1b8}
.v13 .count-verdict{position:absolute;left:50%;top:80%;padding:.12em .8em;border-radius:.35em;background:#2f7a4a;box-shadow:0 .18em 0 #1d4f30;color:#fffaf0;font-size:clamp(16px,4cqw,40px);font-weight:900;letter-spacing:.08em;white-space:nowrap;transform:translateX(-50%);animation:v13-verdict .5s cubic-bezier(.2,1.6,.4,1) both}
.v13 .count-verdict[data-outcome="refunded"]{background:#a8741c;box-shadow:0 .18em 0 #6f4c12}
.v13 .count-verdict[data-outcome="forfeited"]{background:#4a524c;box-shadow:0 .18em 0 #2c322e}
@keyframes v13-verdict{from{opacity:0;transform:translate(-50%,30%) scale(.6)}to{opacity:1;transform:translateX(-50%)}}
.v13 .count-art .tally{opacity:0;transform-box:fill-box;transform-origin:center;animation:v13-tally 1.15s ease-out both}
@keyframes v13-tally{0%{opacity:0;transform:scale(.6)}18%{opacity:1;transform:scale(1.06)}30%{transform:none}75%{opacity:1}100%{opacity:0;transform:translateY(-14px)}}
.v13 .count-art .fan{animation:v13-wait 1.6s ease-in-out infinite}
.v13 .count-art[data-stage="elected"] .fan{animation:v13-cheer .55s ease-in-out infinite alternate}
.v13 .count-art[data-stage="refunded"] .fan{animation:v13-clap .45s ease-in-out infinite alternate}
.v13 .count-art[data-stage="forfeited"] .fan{animation:none}
@keyframes v13-wait{0%,100%{transform:none}50%{transform:translateY(-3px)}}
@keyframes v13-cheer{from{transform:none}to{transform:translateY(-14px)}}
@keyframes v13-clap{from{transform:none}to{transform:translateY(-4px)}}
.v13 .count-art .confetto{transform-box:fill-box;transform-origin:center;animation:v13-confetti 2.6s linear infinite}
@keyframes v13-confetti{from{transform:translateY(0) rotate(0)}to{transform:translateY(720px) rotate(540deg)}}
.v13 .count-art .burst{transform-box:fill-box;transform-origin:center;animation:v13-burst 1.4s ease-out infinite}
@keyframes v13-burst{0%{opacity:0;transform:scale(.2)}20%{opacity:1}100%{opacity:0;transform:scale(1.25)}}
.v13 .count-art .dim{animation:v13-dim .8s ease-out both}
@keyframes v13-dim{from{opacity:0}}
.v13 .count-art .speech{transform-box:fill-box;transform-origin:center bottom;animation:v13-say .4s .35s ease-out both}
@keyframes v13-say{from{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}
.v13 .count-art .bulb{animation:v13-bulb 1.2s ease-in-out infinite alternate}
.v13 .count-art[data-stage="refunded"] .bulb{animation:v13-off-soft .8s calc(.8s + var(--i) * .2s) ease-in forwards}
.v13 .count-art[data-stage="forfeited"] .bulb{animation:v13-off-deep .7s calc(.5s + var(--i) * .24s) ease-in forwards}
@keyframes v13-off-soft{from{opacity:1}to{opacity:.45}}@keyframes v13-off-deep{from{opacity:1}to{opacity:.12}}
.v13 .count-art .flyer{transform-box:fill-box;transform-origin:center;animation:v13-flyer 7.5s linear infinite}
@keyframes v13-flyer{0%{opacity:0;transform:translate(0,0) rotate(0)}10%{opacity:.85}50%{transform:translate(34px,300px) rotate(150deg)}90%{opacity:.85}100%{opacity:0;transform:translate(-8px,620px) rotate(300deg)}}
.v13 .count-art .banner-sag{transform-box:view-box;transform-origin:1068px 138px;animation:v13-sag 1.6s 2.2s ease-in both}
@keyframes v13-sag{from{transform:none}to{transform:rotate(4deg)}}
@keyframes v13-bulb{from{opacity:.6}to{opacity:1}}
.v13 .count-art.still *{animation:none!important}
.v13 .report-scene{aspect-ratio:1200/650;height:auto;margin:0;border-radius:12px;overflow:hidden;background:#22312d}
.v13 .report-scene svg{display:block;width:100%;height:100%}

/* v13.5: nothing is cut off. Choices wrap instead of ending in an ellipsis, the report shows the whole count-night picture and
   every round in full, and on phones the map itself carries each place's name. */
.v13 .insight-table{table-layout:fixed}
.v13 .insight-table th{white-space:normal;word-break:break-word;line-height:1.3;vertical-align:bottom;font-weight:700}
.v13 .insight-table th:first-child,.v13 .insight-table tbody th{width:4.6em}
.v13 .party-chips b{white-space:normal}
.v13 .race-rule{margin:0 0 8px;font-size:12px;line-height:1.5;color:var(--ink);background:#f3f0e4;border-radius:8px;padding:6px 8px}
.v13 .report-rounds li span{overflow:visible;text-overflow:clip;white-space:normal}
.v13 .report-rounds li small{white-space:normal}
.v13 .trend-label{paint-order:stroke;stroke:#fffcf4;stroke-width:4px;stroke-linejoin:round;font-weight:700}
.v13 .report-numbers small{white-space:normal}
@media (max-width:700px){
 .v13 .hotspot{padding:1px 6px 1px 1px}
 .v13 .hotspot-label{display:flex}
 .v13 .hotspot-label b{font-size:9.5px;line-height:1.1}
 .v13 .hotspot-label small{display:none}
 .v13 .hotspot.selected .hotspot-label small{display:block;font-size:9px}
 .v13 footer p{white-space:normal}
}

/* v13.5: difficulty on identity cards, chief progress on the map, and choosing whom to ask for money. */
.v13 .difficulty{display:inline-block;margin-left:4px;padding:1px 6px;border-radius:6px;font-size:11px;font-weight:700;vertical-align:middle;color:#fff}
.v13 .difficulty.d-heir{background:#4f8a5b}.v13 .difficulty.d-incumbent{background:#c9a847}.v13 .difficulty.d-newcomer{background:#b0563d}
.v13 .hotspot .badge.chief{top:auto;bottom:-9px;right:-6px;background:#8a7a5a}.v13 .hotspot .badge.chief.won{background:#2f7a4a}
.v13 .chief-line{border-left:3px solid #8a7a5a;padding-left:8px}.v13 .chief-line.won{border-color:#2f7a4a}
.v13 .donor-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px;margin:6px 0 8px;align-items:stretch}
.v13 .donor-cards .pick-label{grid-column:1/-1}
.v13 .donor-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:7px 9px;text-align:left;line-height:1.35;font-size:13px;background:#fffdf7}
.v13 .donor-card small{font-size:11.5px;color:var(--muted);white-space:normal}
.v13 .donor-card[aria-pressed="true"]{border-color:var(--green);box-shadow:inset 0 0 0 2px var(--green)}
.v13 .donor-card[disabled]{opacity:.5}
.v13 .offer-card h3 small{font-size:12px;font-weight:400;color:var(--muted)}
.crowd-dots i.g-unknown{--g:#b9b2a4}
.crowd-line.unknown .crowd-text{color:var(--muted,#776f63);font-weight:500}
.research-row.ask-only .research-chip{cursor:default}
.trend-note{font-size:.82rem;color:#8a3b2a;margin:.3rem 0 0}
.trend-dot.final{fill:#8a3b2a}
.rounds li.unkept, li.unkept{background:#fbe9e4}
.dig-odds{display:flex;gap:.5rem;flex-wrap:wrap;list-style:none;padding:0;margin:.4rem 0}.dig-odds li{padding:.35rem .6rem;border-radius:8px;background:#f1ece0;font-size:.85rem}.dig-odds li.good{background:#e1f0dc}.dig-odds li.bad{background:#fbe1da}
.status-bar{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:baseline;padding:.5rem .75rem;margin:0 0 .6rem;border-radius:10px;background:#21463f;color:#f6efd9;font-size:.9rem}.status-bar b{font-size:1.05rem}.status-bar.behind .status-gap b{color:#ffb39c}.status-bar.ahead .status-gap b{color:#b6efb0}.status-round{margin-left:auto;opacity:.75}
.cost-line{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin:.2rem 0 .5rem;font-size:.85rem}.cost-pay{font-weight:700}.cost-risk{color:#8a3b2a}
.dock-why{font-size:.85rem;margin:.2rem 0 .4rem;color:#4b5a52}
.stand-bar{display:block;height:4px;border-radius:2px;background:#d8b4a6;margin-top:3px;overflow:hidden}.stand-bar i{display:block;height:100%;background:#2f7a5a}
.poll-head{margin:.6rem 0 .2rem;font-size:.82rem;font-weight:700;color:var(--muted,#776f63)}.poll-plan,.poll-tip,.poll-wait{margin:.3rem 0 0;font-size:.82rem;line-height:1.5}.poll-tip{color:#8a3b2a}.race-gap small{margin-left:.4rem;font-size:.78rem}

/* Report: the count-night picture spans the card; the three rounds that moved most are marked in the list. */
.v13 .report-card>.report-scene{width:100%;margin:12px 0 16px}
.v13 .report-rounds li.key-round{background:#fff3d6;box-shadow:inset 3px 0 0 #c98a1b}
.v13 .report-rounds .key-tag{font-style:normal;font-weight:700;color:#8a5a10;margin-right:6px}

/* Matte-toy visual system: presentation tokens shared by every screen. */
:root{--ink:#263c48;--muted:#5d6b70;--paper:#f6f4ec;--card:#fffdf7;--line:#dedfd4;--green:#285d61;--mint:#e4eeea;--shadow:0 8px 24px #263c4809;font-family:system-ui,-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif}
body.v13{height:auto;min-height:100dvh;overflow:auto;display:block}
.v13 .masthead{position:static;height:auto;flex:none;display:grid;grid-template-columns:minmax(0,1fr) auto;max-width:1500px;padding:20px 28px;gap:18px;align-items:center}
.v13 .wordmark{font-size:23px;letter-spacing:-.5px;white-space:normal}
.v13 .wordmark-block{font-size:17px;width:auto;min-width:60px;padding:10px;transform:none;border-radius:10px;background:var(--green);color:#fff}
.v13 .masthead nav{flex-wrap:wrap;justify-content:flex-end;gap:4px}.v13 .masthead nav button{font-size:12px}
.v13 .hud{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr 1fr 2fr;margin:0;box-shadow:none;min-width:0}
.v13 .hud>*{padding:12px 18px;min-height:70px}.v13 .hud strong{font-size:23px;font-variant-numeric:tabular-nums}.v13 .hud .eyebrow{font-size:12px}
.v13 main{display:block;max-width:1500px;padding:24px 28px 0;width:100%}
.v13 .game-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(330px,1fr);gap:24px;align-items:start;height:auto;min-height:0}
.v13 .world-column{position:static;display:flex;container-type:normal;min-height:0;gap:16px}
.v13 .world-heading h1{font-size:23px}.v13 .world-heading .eyebrow{font-size:12px;letter-spacing:.2px}
.v13 .world{width:100%;max-height:none;aspect-ratio:3/2;flex:none;container-type:inline-size;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:none}
.v13 .world.in-venue,.v13[data-phase=result] .world{aspect-ratio:1200/650}
.v13 .toy-world{display:block;width:100%;height:100%;object-fit:contain;filter:saturate(.88)}
.v13[data-art=matte-toy-v1] .scene{filter:none}.v13[data-art=matte-toy-v1] .world.is-rainy .scene{filter:saturate(.78) brightness(.97)}
.v13[data-art=matte-toy-v1] .actor{width:5.3%}.v13[data-art=matte-toy-v1] .actor-name{display:none}
.v13[data-art=matte-toy-v1] .actor>svg{animation:none!important}.v13 .toy-figure[data-column="1"]{filter:drop-shadow(0 1px 1px #53647777)}
.v13 .hotspot{box-shadow:0 2px 6px #263c4812;background:#fffdf7ed;border:1px solid var(--line);min-height:36px;border-radius:9px;padding:4px 7px;max-width:145px}
.v13 .hotspot .pin{width:25px;height:25px;min-width:25px}.v13 .hotspot .action-icon{width:25px;height:25px;background:transparent}.v13 .hotspot .action-icon svg{width:17px;height:17px}
.v13 .hotspot-label b{font-size:12px;font-weight:600;line-height:1.4}.v13 .hotspot-label small{display:none}.v13 .hotspot:not(.selected) .badge{display:none}.v13 .hotspot.selected{background:var(--mint);border-color:var(--green);box-shadow:0 0 0 1px var(--green)}
.v13 .interaction{border:1px solid var(--line);border-radius:20px;box-shadow:none;overflow:visible;min-width:0;position:static}
.v13 #panel{display:block}.v13 .panel-kicker{background:var(--mint);color:var(--muted);font-size:12px;padding:13px 20px;border-radius:19px 19px 0 0;letter-spacing:0}
.v13 .panel-content{padding:20px;overflow:visible;gap:18px;display:flex}.v13 .panel-content h2{font-size:25px}.v13 .panel-content h3{font-size:15px}.v13 .panel-content p{font-size:14px;line-height:1.7;color:var(--muted)}
.v13 .dock{overflow:visible;min-height:0;flex:none;border:1px solid var(--line);border-radius:20px;background:var(--card);padding:20px;box-shadow:none}
.v13 .dock-body{overflow:visible}.v13 .pick-group{min-width:0}.v13 .identity-cards{gap:12px}.v13 .identity-card{padding:16px;gap:10px;border-radius:14px;min-width:0}.v13 .identity-card .portrait{width:80px;height:110px;background:transparent;margin:0 auto}.v13 .identity-good,.v13 .identity-bad{font-size:12px;line-height:1.7}.v13 .identity-bad{color:var(--muted)}
.v13 .identity-card[aria-pressed=true],.v13 .party-card[aria-pressed=true]{background:var(--mint);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.v13 .intro-title{font-size:25px!important;line-height:1.4!important;letter-spacing:-.5px!important}.v13 .matchup{gap:14px}.v13 .mu-side .portrait{height:105px;width:80px}.v13 .intro-reading{line-height:1.8;font-size:14px}
.v13 .primary-button{background:var(--green);color:white;font-size:16px;border-radius:10px;min-height:48px}.v13 .primary-button:hover{background:#214e52}
.v13 button:focus-visible,.v13 a:focus-visible{outline:2px solid var(--green);outline-offset:3px}.v13 button:disabled{opacity:1;color:var(--muted);background:#efeee6;border-color:var(--line)}
.v13 .microcopy{font-size:12px;line-height:1.65}.v13 .tag{border-radius:5px;font-size:12px;font-weight:500}.v13 .tag.warn,.v13 .notice{background:#f4dfac;color:#684b1f}
.v13 .dialog{border-radius:20px;background:var(--card);max-height:85dvh}.v13 .dialog p{font-size:14px;line-height:1.75}.v13 .dialog-top{border-color:var(--line)}
.v13 .dialog #dialog-tools{display:flex;margin-top:18px}.v13 .dialog #dialog-tools:empty{display:none}
.v13 .dialog #dialog-tools .new-game-button{flex:1;min-height:48px;padding:11px 20px;border:1px solid #88a48b;border-radius:10px;background:#e6eede;color:#254d3b;font-size:16px;font-weight:700}
.v13 .dialog #dialog-tools .new-game-button.primary-button{border-color:var(--green);background:var(--green);color:#fffdf2}
.v13 .event-timeline:empty{display:none}.v13 footer{display:flex;position:static;max-width:1500px;margin:20px auto;padding:0 28px 20px;font-size:12px;gap:12px;white-space:normal}
@media(max-width:1000px){.v13 .game-layout{grid-template-columns:minmax(0,1fr)}.v13 .masthead{grid-template-columns:1fr}.v13 .masthead nav{grid-row:3;justify-content:flex-start}.v13 .hud{grid-row:2}.v13 .interaction{order:2}.v13 .world-column{order:1}.v13 .world{width:100%}.v13 .panel-content{overflow:visible}.v13 .dock{overflow:visible}}
@media(max-width:500px){.v13 .masthead{padding:16px;gap:12px}.v13 main{padding:16px}.v13 .wordmark{font-size:20px;gap:8px}.v13 .wordmark-block{font-size:15px;min-width:52px}.v13 .hud{grid-template-columns:1fr 1fr}.v13 .hud-race{grid-column:1/-1;border-top:1px solid var(--line)}.v13 .hud>*{padding:10px;min-height:60px}.v13 .hud strong{font-size:21px}.v13 .world-heading{align-items:flex-start}.v13 .world-heading h1{font-size:20px}.v13 .world-heading .eyebrow{font-size:12px}.v13 .location-chip{display:none}.v13 .world{border-radius:14px}.v13 .hotspot{min-height:32px;min-width:32px;padding:3px;max-width:80px}.v13 .hotspot .pin{display:none}.v13 .hotspot-label{display:block}.v13 .hotspot-label b{font-size:10px}.v13 .hotspot-label small,.v13 .hotspot.selected .hotspot-label small{display:none}.v13 .identity-cards{grid-template-columns:1fr}.v13 .identity-card{display:grid;grid-template-columns:76px 1fr}.v13 .identity-card .portrait{grid-row:1/4;width:70px;height:100px}.v13 .identity-card .pick-mark{position:absolute}.v13 .party-cards{grid-template-columns:1fr}.v13 .dock,.v13 .panel-content{padding:16px}.v13 .panel-content h2{font-size:22px}.v13 .masthead nav button{padding:0 8px}.v13 footer{padding:0 16px 16px;flex-wrap:wrap}.v13 footer p{white-space:normal}}
@media(prefers-reduced-motion:reduce){.v13 *,.v13 *::before,.v13 *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.v13 .interaction,.v13 #panel,.v13 .panel-content{height:auto;max-height:none;flex:none}
.v13 .panel-content{display:block}.v13 .panel-content>*+*{margin-top:16px}
.v13 .identity-card .identity-bad{color:var(--muted)}

/* Engine-backed event history and a dismissible result card. */
.v13 .event-timeline{margin-top:16px;padding:20px;background:var(--paper,#fffdf7);border:1px solid #dedfd4;border-radius:18px;color:#263c48}
.timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.timeline-heading h2{font-size:16px;margin:0}.timeline-heading>span,.event-round{font-size:12px;color:#5d6b70}
.event-timeline ol{list-style:none;padding:0;margin:12px 0 0}.event-timeline li{display:grid;grid-template-columns:32px 1fr auto;gap:12px;padding:12px 0;border-top:1px solid #e7e8df;align-items:start}.event-timeline strong{font-size:14px}.event-timeline p{font-size:13px;line-height:1.6;margin:4px 0 0;color:#5d6b70}.event-timeline [data-tone="pending"] strong{color:#9a4e21}.event-votes{font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.event-timeline summary{cursor:pointer;min-height:44px;padding-top:14px;font-size:13px;color:#285d61}
.v13 .event-feedback{position:fixed;right:24px;bottom:24px;width:min(440px,calc(100vw - 32px));max-height:80dvh;overflow:auto;z-index:40;background:#fffdf7;border:1px solid #c7cec3;border-radius:22px;padding:22px;box-shadow:0 20px 65px #263c4833;animation:event-enter .28s ease-out}
.event-feedback[hidden],.event-timeline[hidden]{display:none!important}.event-card-top{display:flex;align-items:center;justify-content:space-between;color:#9a4e21;font-size:12px;font-weight:700;letter-spacing:.06em}.event-card-top button{min-width:44px;min-height:44px;font-size:26px;background:none;border:0;cursor:pointer;color:#263c48}.event-feedback h2{font-size:24px;margin:6px 0 12px}.event-feedback p{font-size:14px;line-height:1.65}.event-impact{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px 0;border-block:1px solid #dedfd4;font-size:16px}.event-impact strong{color:#285d61;font-size:23px}.event-impact small{display:block;font-size:12px;font-weight:400;color:#5d6b70;margin-top:4px}.event-groups{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;padding-top:14px}.event-feedback .microcopy{font-size:12px;color:#5d6b70}
@keyframes event-enter{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:500px){.v13 .event-feedback{right:16px;bottom:16px;padding:18px}.v13 .event-timeline{padding:16px}.event-timeline li{grid-template-columns:24px 1fr;gap:8px}.event-votes{grid-column:2}.event-impact{font-size:14px}.event-impact strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.v13 .event-feedback{animation:none}}

/* Preparation and decisions share a readable card rhythm. */
.v13 .research-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;padding:16px;background:#f0f2e9;border-radius:14px;margin-top:18px}.v13 .research-row .pick-label{grid-column:1/-1;padding:0;margin-bottom:6px}.research-heading{display:flex;justify-content:space-between;gap:12px}.research-heading b{color:#285d61;font-weight:600;font-size:12px}.v13 .research-chip{min-height:58px;border:1px solid #cfd7cc;padding:10px 12px;border-radius:10px;gap:5px}.v13 .research-chip small{font-size:12px;font-weight:400}.v13 .research-chip[aria-pressed="true"]{background:#285d61;color:#fffdf7}.v13 .research-chip[aria-pressed="true"] small{color:#edf4eb}.v13 .research-row.ask-only{background:#f6f0e2}.v13 .research-note{font-size:13px;line-height:1.7;margin:10px 0 18px}
.v13 .answer-list{display:grid;gap:12px}.v13 .answer-option{padding:20px;text-align:left;border-radius:16px;background:#fffdf7;min-height:90px}.v13 .answer-copy{display:grid;gap:12px;width:100%}.v13 .answer-line{font-size:17px;line-height:1.6;color:#263c48}.v13 .answer-line .answer-number{width:28px;height:28px;font-size:14px;border-radius:50%;background:#e4eee6;color:#285d61;vertical-align:0;margin-right:10px}.v13 .answer-option:hover:not(:disabled){border-color:#285d61;background:#f2f6ed}.v13 .answer-option .tag{font-size:13px;line-height:1.6}.v13 .face-chip{min-height:26px}.v13 .est-row{flex-wrap:wrap;gap:10px}.v13 .issue-tradeoffs>div{padding:16px;line-height:1.7}.v13 .issue-tradeoffs b{font-size:15px}.v13 .issue-tradeoffs span{font-size:13px}
.v13 .donor-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.v13 .donor-card{padding:18px;gap:10px;border-radius:16px;border:1px solid #d6dccf}.v13 .donor-card>b{font-size:17px}.v13 .donor-card small{font-size:13px;line-height:1.65}.v13 .donor-card .donor-benefit{font-size:16px;font-weight:700;color:#285d61;padding:10px 0;border-block:1px solid #e0e4d8;width:100%}.v13 .donor-card .tag{padding:8px 0;background:transparent;border:0;color:#6b6553}.v13 .donor-card.on{background:#edf3e7}.v13 .tv-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v13 .tv-cards>.pick-label{grid-column:1/-1}.v13 .tv-card{min-height:100px;padding:16px;border-radius:14px;text-align:left}.v13 .tv-card b{font-size:15px;line-height:1.6}.v13 .tv-card em{font-size:12px;line-height:1.7;margin-top:10px}
.tug-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;margin:12px 0;color:#285d61}.tug-legend span:nth-child(2){color:#ad6048}.tug-legend small{color:#5d6b70}.v13 .tug-row{display:grid;grid-template-columns:44px 1fr;gap:8px;margin:14px 0}.v13 .tug-bar{height:12px;align-self:center;border-radius:8px;overflow:hidden;position:relative}.tug-bar:after{content:"";position:absolute;left:50%;top:0;height:100%;border-left:1px solid #fffdf7}.v13 .tug-you{background:#285d61}.v13 .tug-rival{background:#c88b72}.v13 .tug-num{grid-column:2;display:flex;justify-content:space-between;font-size:13px}.tug-gap{grid-column:2;font-size:12px;color:#5d6b70}.v13 .standing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:1}.v13 .standing>.pick-label{grid-column:1/-1}.v13 .stand-chip{display:flex;flex-direction:column;align-items:stretch;padding:12px;border-radius:12px;gap:6px;font-size:12px}.v13 .stand-bar{height:7px;width:100%;margin-top:4px}.v13 .speaker-row{display:block}
@media(max-width:600px){.v13 .donor-cards,.v13 .tv-cards{grid-template-columns:1fr}.v13 .answer-option{padding:16px}.v13 .answer-line{font-size:16px}.v13 .standing{grid-template-columns:1fr}.v13 .research-row{padding:12px;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Text cut (v13.8): fewer words, one place per fact.
   Answers: a spoken line plus chips; votes, party-aid cost, flips and the trade-off sit in one preview line above the answers
   (hover or keyboard focus; on touch screens a short version shows under each answer). The question panel is a cheat-sheet.
   Deals read as one line from the person, 拿到 and 代價 side by side. The recap is one row of capsules that add up to the total,
   each opening to say why. The speaker in a bubble has a face. Toggles share the research chips' selected look. */
.v13 .q-head{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.v13 .q-ask{margin:0 0 12px;padding:10px 14px;border-radius:12px;background:#fff3d2;font-size:15px;font-weight:700;line-height:1.5;color:var(--ink)}.v13 .q-ask b{display:block;font-size:12px;color:#8a5a10;margin-bottom:2px}
.v13 .q-status{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#f1efe4;color:#5d6b70}
.v13 .q-status.deep{background:#285d61;color:#fffdf7}.v13 .q-status.deep .info{color:#fffdf7}.v13 .q-status.ready{background:#e3efdf;color:#2f6a46}
.v13 .q-status.risky{background:#f8e3dc;color:#9a3f2b}.v13 .q-status.warn{background:var(--rival-soft);color:#9a3f2b}
.v13 .answer-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;position:relative}
.v13 .answer-option,.v13 .answer-option:hover:not([disabled]),.v13 .answer-option:focus-visible{transform:none}
.v13 .answer-option{position:static;padding:12px 14px;min-height:0;border-radius:14px}
.v13 .answer-copy{display:flex;flex-direction:column;gap:8px}
.v13 .answer-line{font-size:16px;line-height:1.45;font-weight:700}
.v13 .answer-line .answer-number{width:24px;height:24px;font-size:12px;margin-right:8px}
.v13 .answer-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.v13 .answer-chips .face-row{display:contents}
.v13 .a-chip{display:inline-flex;align-items:center;min-height:24px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#f1efe4;color:#5d6b70}
.v13 .a-chip.k-breach,.v13 .a-chip.k-flip,.v13 .a-chip.k-walkback,.v13 .a-chip.k-fatigue,.v13 .a-chip.k-unprepared{background:#f8e3dc;color:#9a3f2b}
.v13 .a-chip.k-party{background:#e1ebf3;color:#2c4f7c}.v13 .a-chip.k-deal,.v13 .a-chip.k-previous{background:#e3efdf;color:#2f6a46}
.v13 .a-chip.k-counter{background:var(--rival);color:#fffdf7}
.v13 .a-chip.k-locked,.v13 .a-chip.k-unknown{background:transparent;border:1px dashed #c9cdbf}
.v13 .answer-more{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;font-size:12.5px;line-height:1.4;font-weight:600}
.v13 .am-est{color:#285d61;font-weight:800}.v13 .am-warn{color:#9a3f2b}.v13 .am-detail{color:var(--muted);font-weight:500}
@media (hover:hover) and (pointer:fine){
 .v13 .answer-list{padding-top:54px}
 .v13 .answer-list::before{content:attr(data-hint);position:absolute;top:0;left:0;right:0;height:44px;display:flex;align-items:center;padding:0 14px;border:1px dashed #cfd4c6;border-radius:10px;font-size:12.5px;color:var(--muted)}
 .v13 .answer-more{position:absolute;top:0;left:0;right:0;height:44px;overflow:hidden;align-content:flex-start;align-content:safe center;padding:4px 14px;border-radius:10px;background:#263c48;color:#fffdf7;opacity:0;pointer-events:none;transition:opacity .12s;z-index:2}
 .v13 .answer-option:hover .answer-more,.v13 .answer-option:focus-visible .answer-more{opacity:1}
 .v13 .am-est{color:#ffe7a3}.v13 .am-warn{color:#ffc9b8}.v13 .am-detail{color:#dbe5e0}
}
@media (hover:none),(pointer:coarse){.v13 .answer-more .am-detail{display:none}.v13 .answer-more:not(:has(.am-est,.am-warn)){display:none}}
/* The question panel's cheat-sheet: party line, deal and research, with answer numbers. */
.v13 .cheat-sheet .issue-card-title span{font-size:11px;color:var(--muted)}
.v13 .cheat-rows{display:grid;gap:10px;margin:12px 0 0}
.v13 .cheat-row{display:grid;grid-template-columns:2.6em minmax(0,1fr);gap:8px;align-items:baseline;font-size:13px;line-height:1.5}
.v13 .cheat-row dt{font-size:12px;font-weight:700;color:var(--muted)}.v13 .cheat-row dd{margin:0;color:var(--ink)}
.v13 .cheat-none{color:var(--muted)}
.v13 .ref-no{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:5px;border-radius:50%;background:#e4eee6;color:#285d61;font-size:11px;font-style:normal;font-weight:800;vertical-align:1px}
.v13 .cheat-row .insight-table{width:auto;min-width:70%}.v13 .cheat-row .insight-table th,.v13 .cheat-row .insight-table td{padding:2px 8px 2px 0;text-align:left;font-weight:500}
.v13 .cheat-row .insight-table td.top{font-weight:800;color:#285d61}
/* Deals: offer card and broker cards. */
.v13 .deal-head{display:flex;align-items:center;gap:10px;width:100%}
.v13 .deal-face{position:relative;flex:0 0 46px;width:46px;height:46px;border-radius:50%;overflow:hidden;background:#efe9d9;border:2px solid #d9c48d}
.v13 .deal-face svg{position:absolute;width:69px;height:auto;left:-10px;top:-2px}
.v13 .deal-face.deal-icon{display:grid;place-items:center;color:var(--green);background:#e4eee6;border-color:#c4d9bf}.v13 .deal-face.deal-icon .action-icon{width:24px;height:24px}.v13 .deal-face.deal-icon svg{position:static;width:22px;height:22px}
.v13 .deal-who{display:flex;flex-direction:column;min-width:0;line-height:1.3}.v13 .deal-who b{font-size:16px;color:var(--ink)}.v13 .deal-who small,.v13 .donor-card .deal-who small{font-size:12px;line-height:1.3;color:var(--muted)}
.v13 .deal-when{margin-left:auto;align-self:flex-start;padding:2px 8px;border-radius:999px;background:#f1efe4;font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap}
.v13 .deal-line{position:relative;display:block;margin:10px 0;padding:8px 12px;border-radius:12px;background:#fff3d2;font-size:15px;font-weight:700;line-height:1.5;color:var(--ink)}
.v13 .deal-line::before{content:"";position:absolute;left:16px;top:-7px;border:7px solid transparent;border-top:0;border-bottom-color:#fff3d2}
.v13 .panel-content .deal-line{font-size:15px;color:var(--ink)}
.v13 .deal-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
.v13 .deal-col{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border-radius:10px;font-size:13px;line-height:1.45;color:var(--ink);text-align:left}
.v13 .deal-col>b{font-size:12px;font-weight:800}
.v13 .deal-get{background:#e7f1e4}.v13 .deal-get>b{color:#2f6a46}.v13 .deal-cost{background:#f8e7e0}.v13 .deal-cost>b{color:#9a3f2b}
.v13 .offer-card.deal-card{padding:14px}
.v13 .offer-card .offer-actions{margin-top:10px}.v13 .offer-actions button small{display:block;font-size:11px;font-weight:600;color:var(--muted)}
.v13 .donor-card.deal-card{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:14px}
.v13 .donor-card.deal-card .deal-cols{margin-top:auto}.v13 .donor-card.deal-card .deal-head+.deal-cols{margin-top:10px}
.v13 .donor-card[aria-pressed="true"]{border-color:var(--green);background:#edf3e7;box-shadow:inset 0 0 0 2px var(--green)}
/* Recap: one row of capsules that add up to the round total; a capsule opens below the row to say why. */
.v13 .dock-recap{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;align-items:center}
.v13 .dock-recap>*{grid-column:1/-1}.v13 .dock-recap>.recap-total{grid-column:1;grid-row:1}.v13 .dock-recap>.recap-next{grid-column:2;grid-row:1;margin:0}
@media (max-width:600px){.v13 .dock-recap>.recap-total,.v13 .dock-recap>.recap-next{grid-column:1/-1;grid-row:auto}.v13 .dock-recap>.recap-next{margin-top:14px;width:100%}}
.v13 .cap-row{position:relative;display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.v13 .cap{position:static}
.v13 .cap>summary{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:4px 12px;border:1px solid;border-radius:999px;font-size:13px;cursor:pointer;list-style:none;user-select:none}
.v13 .cap>summary::-webkit-details-marker{display:none}
.v13 .cap>summary b{font-weight:700}.v13 .cap-v{font-weight:800;font-variant-numeric:tabular-nums}
.v13 .cap.up>summary{background:#e4f0e1;border-color:#b9d3b2;color:#2f6a46}
.v13 .cap.down>summary{background:#f8e3dc;border-color:#e6bfb2;color:#9a3f2b}
.v13 .cap.zero>summary{background:#f1efe4;border-color:var(--line);color:var(--muted)}
.v13 .cap.note>summary{background:transparent;border-style:dashed;border-color:#c9cdbf;color:var(--muted)}.v13 .cap.note.warn>summary{border-color:#e6bfb2;color:#9a3f2b}
.v13 .cap.main>summary{border-width:2px}
.v13 .cap[open]>summary{box-shadow:0 0 0 2px #263c48}
.v13 .cap-pop{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fffdf7;box-shadow:0 10px 26px #263c4826;font-size:13px;line-height:1.6;color:var(--ink)}
.v13 .cap-pop .delta-row{display:flex;margin:6px 0 0}
.v13 .recap-hindsight{margin:10px 0 0;padding:8px 12px;border-radius:10px;background:#e7f1e4;font-size:13px;line-height:1.5;color:#2f6a46}
.v13 .recap-hindsight.warn{background:#fbecd9;color:#8a4a1a}.v13 .recap-hindsight b{margin-right:8px}
.v13 .journal-entry h3 small{margin-left:8px;font-size:12px;color:var(--muted)}.v13 .journal-entry{padding-bottom:12px}
/* The round just played: one line on top of the next round's dock, its capsules on top of 選戰動態. */
.v13 .last-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 0 8px;font-size:14px;color:var(--muted)}
.v13 .last-line b{padding:2px 10px;border-radius:999px;background:#f1efe4;color:var(--ink)}.v13 .last-line b.up{background:#e4f0e1;color:#2f6a46}.v13 .last-line b.down{background:#f8e3dc;color:#9a3f2b}
.v13 .last-round{margin-top:10px;padding-bottom:4px}.v13 .last-round h3{margin:0;font-size:15px}.v13 .last-round h3 small{margin-left:8px;font-size:12px;font-weight:400;color:var(--muted)}
.v13 .last-round .cap-row{margin-top:8px}.v13 .last-round .recap-details{margin-top:6px}
/* The dirt file: how each dig went, and how a released lead went. */
.v13 .dig-log{flex-basis:100%;margin:2px 0 0;padding:0;list-style:none;font-size:12px;line-height:1.6;color:var(--muted)}
.v13 .dig-log .found{color:#2f6a46}.v13 .dig-log .backfire{color:#9a3f2b}
.v13 .lead-outcome{font-size:12px;font-weight:700;color:var(--ink)}.v13 .lead-outcome.backfire,.v13 .lead-outcome.caught{color:#9a3f2b}
/* The speaker in the scene bubble: face in their group's colour, name, then their words. */
.v13 .conversation-bubble .bubble-speaker{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:12px;color:var(--ink)}
.v13 .bubble-face{position:relative;flex:0 0 30px;width:30px;height:30px;border-radius:50%;overflow:hidden;background:var(--g-soft,#e4eee6);border:2px solid var(--g,#285d61)}
.v13 .bubble-face svg{position:absolute;width:45px;height:auto;left:-6px;top:-1px}
.v13 .conversation-bubble .bubble-speaker small{display:inline;margin:0;font-size:11px;font-weight:600;color:var(--muted)}
.v13 .conversation-bubble p{font-weight:700}
@media (max-width:700px){.v13 .bubble-face{flex-basis:22px;width:22px;height:22px;border-width:1.5px}.v13 .bubble-face svg{width:33px;left:-4px}.v13 .conversation-bubble .bubble-speaker{font-size:10px;gap:4px;margin-bottom:2px}.v13 .conversation-bubble .bubble-speaker small{display:none}}
/* Recruiting: the team as slots up to its cap, with the line after the last helper who still adds to your pull. */
.v13 .team-meter{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:6px 10px;margin-top:10px;flex-basis:100%}
.v13 .tm-slots{display:flex;gap:4px}
.v13 .tm-slots i{position:relative;width:16px;height:22px;border-radius:7px 7px 3px 3px;border:1.5px dashed #c9cdbf}
.v13 .tm-slots i.on{background:var(--green);border:1.5px solid var(--green)}.v13 .tm-slots i.new{background:#f4d98b;border:1.5px solid #b98a1e}
.v13 .tm-slots i.limit{margin-right:9px}.v13 .tm-slots i.limit::after{content:"";position:absolute;right:-8px;top:-4px;bottom:-4px;width:2px;border-radius:1px;background:#263c48}
.v13 .tm-text{font-size:13px;color:var(--muted);white-space:nowrap}.v13 .tm-text b{font-size:16px;color:var(--ink)}
.v13 .tm-note{grid-column:1/-1;font-size:12px;color:var(--muted)}
.v13 .crew-dots{display:inline-flex;align-items:center;gap:3px;margin-left:8px;vertical-align:1px}
.v13 .crew-dots i{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--green)}.v13 .crew-dots i.on{background:var(--green)}
.v13 .crew-dots em{font-style:normal;font-size:11px;font-weight:700;color:#9a3f2b;margin-left:2px}
/* Selected toggles (加碼, 後勤) look like a selected research chip. */
.v13 .addon-picks button[aria-pressed="true"],.v13 .team-picks button[aria-pressed="true"]{border-color:var(--green);background:var(--green);color:#fffdf7;box-shadow:none}
.v13 .addon-picks button[aria-pressed="true"] small{color:#e4eee6}.v13 .addon-picks button[aria-pressed="true"] b::before{content:"✓ ";color:#fffdf7}
.v13 .addon-picks button[aria-pressed="true"] .info{color:#fffdf7}
.v13 .research-chip[aria-pressed="true"]:not(.none) b::before{color:#cfe3d6}
/* Rules: one screen of cards in the game's style. */
.v13 .rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v13 .rule-card{min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fffdf7}
.v13 .rule-card h3{margin:0 0 6px;font-size:14px;color:var(--green)}
.v13 .dialog .rule-card p{margin:0;font-size:13px;line-height:1.55;color:var(--ink)}
.v13 .rule-card.rule-win{background:var(--mint);border-color:#c4d9bf}.v13 .rule-win b{font-size:17px}
.v13 .rule-card.rule-rival{background:var(--rival-soft);border-color:#e6c4b8}.v13 .rule-rival h3{color:#9a3f2b}
.v13 .rule-card.rule-wide{grid-column:1/-1}
.v13 .rule-steps{display:grid;gap:4px;margin:0;padding:0;list-style:none;counter-reset:step;font-size:13px}
.v13 .rule-steps li::before{counter-increment:step;content:counter(step);display:inline-grid;place-items:center;width:18px;height:18px;margin-right:6px;border-radius:50%;background:#e4eee6;color:#285d61;font-size:11px;font-weight:800}
.v13 .dialog .rule-faces{display:flex;gap:12px;margin:0 0 6px}
.v13 .rule-face{display:inline-flex;flex-direction:column;align-items:center;gap:2px}.v13 .rule-face .face-icon{width:26px;height:26px}.v13 .rule-face small{font-size:11px;color:var(--muted)}
.v13 .rule-acts{display:flex;gap:8px;margin:0;padding:0;list-style:none}
.v13 .rule-acts>li{flex:var(--n) 1 0;min-width:0;display:flex;flex-direction:column;gap:4px}
.v13 .rule-days{display:flex;gap:3px}
.v13 .rule-days i{flex:1;display:grid;place-items:center;height:26px;border-radius:7px;background:#eef0e6;font-size:12px;font-style:normal;font-weight:700;color:var(--muted)}
.v13 .rule-days i.mark{background:#f4dfac;color:#684b1f}
.v13 .rule-acts small{font-size:12px;color:var(--ink);text-align:center;border-top:2px solid var(--green);padding-top:3px}
.v13 .dialog .rule-legend{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:12px;color:var(--muted)}.v13 .rule-legend i{width:14px;height:14px;border-radius:4px;background:#f4dfac}
@media (max-width:700px){.v13 .rules-grid{grid-template-columns:1fr 1fr;gap:8px}.v13 .rule-card{padding:10px 12px}.v13 .rule-acts{gap:4px}.v13 .rule-days i{height:22px;font-size:11px}.v13 .rule-acts small{font-size:11px}.v13 .dialog .rule-card p{font-size:12.5px;line-height:1.5}}
@media (max-width:600px){.v13 .answer-line{font-size:15px}.v13 .answer-option{padding:12px}.v13 .tm-slots{gap:3px}.v13 .tm-slots i{width:13px;height:19px}}

/* Grounded atlas figures: soles stay fixed while the walking frames change. */
.toy-resident,.toy-helper{position:absolute;display:block;width:4.1%;aspect-ratio:100/140;transform:translate(-50%,-92.857%);pointer-events:none}.toy-helper{width:4.5%}.toy-resident svg,.toy-helper svg{display:block;width:100%;height:auto}.v13[data-art="matte-toy-v1"] .actor.rival{width:5.1%}.v13[data-art="matte-toy-v1"] .actor>svg{filter:none}.v13 .world-column{position:static}.v13[data-art="matte-toy-v1"] .world.performing .player>svg{animation:none}

/* Small screens keep the complete map and give every destination a separate touch target. */
.mobile-destinations{display:none}
@media(max-width:600px){.v13 #map-hotspots{display:none}.mobile-destinations:not(:empty){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.v13 .mobile-destinations .hotspot{position:static;transform:none;inset:auto!important;min-height:56px;max-width:none;width:100%;padding:10px;border-radius:12px;display:flex;align-items:center;justify-content:flex-start;box-shadow:none;text-align:left}.v13 .mobile-destinations .hotspot-label b{font-size:14px;line-height:1.4}.v13 .mobile-destinations .hotspot-label small{display:none}.v13 .mobile-destinations .pin{display:inline-flex;width:22px;height:22px;flex:0 0 22px}.v13 .mobile-destinations .badge{display:none}.v13 .identity-card li{font-size:13px;line-height:1.65}.v13 .masthead nav{margin-left:0;justify-content:flex-start;grid-row:auto}.v13 .masthead .wordmark{grid-row:1}.v13 .event-feedback{max-height:calc(100dvh - 32px);overscroll-behavior:contain}.v13 .insight-table{font-size:12px;table-layout:fixed;width:100%}.v13 .insight-table th,.v13 .insight-table td{overflow-wrap:anywhere;padding:8px 4px}.v13 .scene,.v13 .world{min-width:0}.v13 .conversation-bubble{max-width:92%;left:4%;right:auto;top:12px;transform:none}.v13 .conversation-bubble p{font-size:13px;line-height:1.5}.v13 .wordmark{letter-spacing:0}.v13 .day-dots{gap:4px}.v13 .day-dots i{width:12px}}
.v13 .world-column>.world-heading{order:0}.v13 .world-column>#world{order:1}.v13 .world-column>#mobile-destinations{order:2}.v13 .world-column>#dock{order:3}.v13 .world-column>#event-timeline{order:4}
.v13 .hotspot.selected,.v13 .hotspot.selected .hotspot-label b{color:#263c48}
@media(max-width:600px){.v13 .hud-day .act-chip{display:none}.v13 .hud-day strong{font-size:20px}}
@media(min-width:601px){.v13 #map-hotspots .hotspot[data-kind="prepare"]{margin-left:-32px;margin-top:-28px}.v13 #map-hotspots .hotspot[data-kind="recruit"]{margin-left:20px;margin-top:6px}.v13 #map-hotspots .hotspot[data-kind="debate"]{margin-left:45px;margin-top:-35px}.v13 #map-hotspots .hotspot[data-venue="street"]{margin-left:0;margin-top:-4px}.v13 #map-hotspots .hotspot[data-kind="online"]{margin-left:20px;margin-top:12px}}
/* Phones list destinations under the map, so the plan hint points there. */
.hint-list{display:none}
@media(max-width:600px){.v13 .hint-map{display:none}.v13 .hint-list{display:inline}}
/* Narrow phones: the debate question fits above the candidates' heads; the dock already names the moderator. */
@media(max-width:440px){.v13 .conversation-bubble[data-kind="debate"]{left:7%;width:86%;top:2.5%;min-height:27.5%;padding:6px 10px;display:flex;flex-direction:column;justify-content:center}.v13 .conversation-bubble[data-kind="debate"] .bubble-speaker{display:none}.v13 .conversation-bubble[data-kind="debate"] p{font-size:12px;line-height:1.4}}
@media(max-width:360px){.v13 .conversation-bubble[data-kind="debate"] p{font-size:11px}}

/* District profile at the top of the side panel: the district, its three groups, you and your party's issues. */
.v13 .profile-card{border-left:4px solid var(--party)}
.v13 .profile-me{display:flex;align-items:center;gap:6px;margin:2px 0 4px;font-size:12.5px}.v13 .profile-me span:last-child{color:var(--muted)}
.v13 .profile-card .group-row{padding:4px 0}

/* (i) explanations: shown on hover or focus instead of sitting in the dock. */
.v13 .info{display:inline-grid;place-items:center;width:15px;height:15px;margin-left:4px;border:1px solid currentColor;border-radius:50%;font:700 10px/1 Georgia,serif;font-style:normal;color:var(--muted);cursor:help;position:relative;vertical-align:1px;opacity:.85}
.v13 .info:hover::after,.v13 .info:focus::after{content:attr(data-tip);position:absolute;z-index:70;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);width:max-content;max-width:min(260px,70vw);padding:8px 10px;border-radius:8px;background:#26343a;color:#fff;font:500 12px/1.55 system-ui,sans-serif;text-align:left;white-space:normal;box-shadow:0 8px 24px #0003}
.v13 .info:focus{outline:2px solid #2d6a6a;outline-offset:1px}
/* Add-on rows: the label in its own column, buttons wrap under each other. */
.v13 .addon-picks{display:grid;grid-template-columns:3.2em 1fr;align-items:start;gap:6px}
.v13 .addon-picks>.pick-label{padding-top:12px}
.v13 .addon-list{display:flex;flex-wrap:wrap;gap:6px}
/* Research depth: researched once vs researched in depth. */
.v13 .research-chip.deep{border-color:#2d6a4f;background:#e3f1e8}.v13 .research-chip.deep small{color:#2d6a4f;font-weight:700}
.v13 .dock-alerts span.drawn-deep{background:#cfe8d6;color:#1f5a37;font-weight:700}

/* 選戰快報 sits on the map's top-right corner and folds into a chip; on phones it is a sheet at the bottom. */
.v13 .event-feedback{position:absolute;top:12px;right:12px;bottom:auto;width:min(340px,46%);max-height:calc(100% - 24px);padding:14px 16px;border-radius:16px;z-index:1000}
.v13 .event-feedback h2{font-size:18px;margin:4px 0}.v13 .event-feedback .event-card-top button{min-width:0;min-height:32px;padding:0 8px;font-size:12px;font-weight:700;border-radius:999px}
.v13 .event-feedback.folded{width:auto;max-width:calc(100% - 24px);padding:0;border-radius:999px;background:#fffdf7f2}
.v13 .event-chip{min-height:36px;padding:6px 14px;border:0;background:none;font-size:12.5px;font-weight:700;color:#9a4e21;cursor:pointer;text-align:left}
@media(max-width:600px){.v13 .event-feedback{position:fixed;top:auto;left:16px;right:16px;bottom:16px;width:auto}.v13 .event-feedback.folded{left:auto}}

/* Poll: your support per group against what a seat needs. */
.v13 .tug-bar.support{position:relative;display:block;background:#e6e9e1;overflow:visible}.v13 .tug-bar.support .tug-you{display:block;height:100%}
.v13 .need-mark{position:absolute;top:-3px;bottom:-3px;width:2px;background:#26343a;border-radius:1px}
.v13 .stand-bar{position:relative}.v13 .stand-bar .need-mark{top:-2px;bottom:-2px}
.v13 .tug-num em{font-style:normal;font-size:11px;color:var(--muted);margin-left:4px}
.v13 .poll-sum{margin:.2rem 0 .3rem;font-size:.85rem}

/* Hindsight: what a better answer was worth, in the recap and on the report. */
.v13 .miss-tag{display:block;margin-top:2px;font-style:normal;font-weight:700;color:#a5432e}

.toy-helper-count{position:absolute;right:-30%;top:4%;min-width:1.7em;padding:1px 4px;border-radius:999px;background:#f2c14e;color:#2b2a1f;border:1.5px solid #fffaf0;font-size:clamp(9px,.9vw,12px);font-weight:800;line-height:1.3;text-align:center;box-shadow:0 1px 2px #0003}
.wordmark-sub{display:block;font-size:.6em;font-weight:700;letter-spacing:.14em;opacity:.75;margin-top:1px}
.pick-line{display:block;font-size:13px;line-height:1.45;margin:4px 0 8px;color:inherit;font-weight:600}
.pick-meters{display:grid;gap:5px;color:inherit;width:100%;align-self:stretch;box-sizing:border-box}
.pick-meter{display:grid;width:100%;grid-template-columns:4.2em minmax(30px,1fr) 3.4em;align-items:center;gap:6px;font-size:12px}
.pick-meter i{font-style:normal;opacity:.75}.pick-meter em{font-style:normal;font-weight:700;text-align:right;white-space:nowrap}
.pick-bar{height:7px;border-radius:99px;background:#0000001a;overflow:hidden}.pick-bar b{display:block;height:100%;border-radius:inherit;background:var(--party,#4f7a68)}
/* The act also shows in the world heading, so the HUD chip yields first when the masthead is narrow. */
@media(max-width:900px){.v13 .hud-day .act-chip{display:none}}
/* Street-type venues: the speaker stands at x=455/1200 with the head near 40% height, so the bubble sits just above and points at them. */
@media(min-width:701px){.v13 .conversation-bubble:not([data-kind="tv"]):not([data-kind="debate"]):not([data-kind="online"]){left:20%;top:30%;width:34%}.v13 .conversation-bubble:not([data-kind="tv"]):not([data-kind="debate"]):not([data-kind="online"])::after{left:52%}}
/* Dirt file: the map entry at the campaign office, its dialog, and the release row on press, TV and stream plans. */
.v13 .hotspot.file-spot .pin{background:var(--rival-soft);color:var(--rival)}
.v13 .hotspot.file-spot.ready{border-color:var(--rival)}
@media(min-width:601px){.v13 #map-hotspots .hotspot.file-spot{margin-left:-58px;margin-top:-30px}}
.v13 .dirt-file{display:grid;gap:10px}
.v13 .dirt-lead{margin:0;font-weight:700}
.v13 .lead{border:1px solid var(--line);border-left:4px solid #c4573e;border-radius:10px;background:var(--card);padding:9px 11px}
.v13 .lead.status-solid{border-left-color:#2f7a4a}
.v13 .lead.status-debunked,.v13 .lead.status-released{border-left-color:var(--line);opacity:.8}
.v13 .lead p{margin:4px 0 0;font-size:13px;line-height:1.5}
.v13 .lead-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.v13 .lead-status{font-size:12px;font-weight:700;color:var(--muted)}
.v13 .lead.status-solid .lead-status{color:#2f7a4a}
.v13 .lead-actions{display:flex;flex-wrap:wrap;gap:6px}
.v13 .mini-button.go{border-color:var(--green);color:var(--green)}
.v13 .mini-button small{margin-left:4px;font-weight:400}
.v13 .dirt-dig{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:8px}
.v13 .dirt-dig p,.v13 .dirt-risk{margin:0;font-size:13px;line-height:1.5}
.v13 .dirt-dig small{color:var(--muted)}
.v13 .dirt-outlets{margin:0}
.v13 .dirt-risk b,.v13 .dirt-dig b,.v13 .dirt-outlets b{margin-right:6px}
.v13 .dirt-against{font-size:13px}
.v13 .dirt-against ul{margin:4px 0 0;padding-left:18px}
.v13 .expose-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;margin:8px 0}
.v13 .expose-row .pick-label{flex-basis:100%}
.v13 .expose-chip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:5px 10px;min-height:44px;border:1.5px solid var(--line);border-left-width:4px;border-radius:8px;background:#fffdf7;font-size:12.5px;text-align:left}
.v13 .expose-chip small{font-size:10.5px;color:var(--muted)}
.v13 .expose-chip.solid{border-left-color:#2f7a4a}
.v13 .expose-chip.risky{border-left-color:#c4573e}
.v13 .expose-chip[aria-pressed="true"]{border-color:var(--green);background:var(--mint)}
/* Per-game goal: origin presets and the vote bank on the identity cards, its targets on the race board and its cues on the map. */
.v13 .pick-card>.origin-tag{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 6px;width:100%;margin-top:2px;padding:5px 8px;border:1px dashed #b9c2ad;border-radius:8px;background:#fbf8ee;line-height:1.35}
.v13 .origin-tag i{font-style:normal;font-size:10.5px;color:var(--muted)}
.v13 .origin-tag b{font-size:13px;color:#263c48}
.v13 .pick-card>.origin-line{display:flex;flex-wrap:wrap;gap:2px 8px;line-height:1.4}
.v13 .origin-line em,.v13 .profile-origin em{font-style:normal;font-size:11.5px;white-space:nowrap}
.v13 .og{color:#2f6a46}.v13 .ob{color:#9a3f2b}
.v13 .pick-card>.base-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 6px;width:100%;padding-left:8px;border-left:4px solid var(--g);line-height:1.4}
.v13 .base-line i{font-style:normal;font-size:10.5px;color:var(--muted)}
.v13 .base-line b{font-size:13px;color:#263c48}
.v13 .route-plan{margin-top:10px;border:1px solid var(--line);border-radius:10px;background:#fffdf7;padding:10px 12px}
.v13 .route-goals{display:flex;flex-wrap:wrap;gap:4px 12px;margin:6px 0 2px;font-size:13px}
.v13 .route-goals span{color:var(--muted)}.v13 .route-goals span.focus{color:#263c48}
.v13 .route-goals b{font-variant-numeric:tabular-nums}
.v13 .route-sum{margin:0;font-size:11.5px;color:var(--muted)}
.v13 .profile-origin{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;margin:4px 0 6px;font-size:12px}
.v13 .profile-origin>b{padding:0 6px;border-radius:999px;background:#efe9d8;font-size:10.5px;color:#6b5a32}
.v13 .profile-origin>span{font-weight:700}
.v13 .profile-base{padding-left:6px;border-left:4px solid var(--g)}
.v13 .sup-est[data-route] .sup-row{grid-template-columns:5em minmax(0,1fr) 5.4em 4.8em}
.v13 .sup-est[data-route] .sup-name .dot{flex:0 0 auto}
.v13 .sup-goal{font-size:10.5px;color:var(--muted);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.v13 .sup-row.main .sup-goal{color:#263c48;font-weight:700}
.v13 .sup-row.minor{opacity:.72}
.v13 .sup-star{font-style:normal;font-size:10px;color:#b98a1e}
.v13 .sup-row.near .sup-num{color:#9a6a12}
.v13 .hotspot .route-cue{position:absolute;bottom:-10px;left:-4px;display:inline-flex;align-items:center;gap:2px;padding:1px 5px;border-radius:6px;font-size:9.5px;font-weight:700;line-height:1.35;white-space:nowrap;color:#fff;background:#a5432e;box-shadow:0 1px 3px #2c543133;pointer-events:none}
.v13 .hotspot .route-cue i{font-style:normal;font-size:8px}
.v13 .hotspot .route-cue.near{background:#b98a1e}
.v13 .hotspot .route-cue.ahead{background:#2f7a4a}
.v13 .hotspot .route-cue:not(.main){opacity:.92}
@media (max-width:600px){
 .v13 .mobile-destinations .hotspot{position:relative}
 .v13 .mobile-destinations .hotspot .route-cue{position:static;margin-left:auto;font-size:11px;padding:2px 6px}
 .v13 .sup-est[data-route] .sup-row{grid-template-columns:4.9em minmax(0,1fr) 5em 4.6em;gap:5px}

}

/* ===== Matte-toy pack: component map, grounded figures and venue scenes =====
   The map is built from incoming/map-kit in day-art.js. Map parts, people and their markers share one stacking order by the
   y of their feet, so a building or tree in front hides whoever walks behind it. */
.v13[data-art="matte-toy-v1"] .scene,.v13[data-art="matte-toy-v1"] .team-actors{z-index:auto}
body.v13[data-art="matte-toy-v1"] .world .scene,body.v13[data-art="matte-toy-v1"][data-act] .world .scene,.v13[data-art="matte-toy-v1"] .world.is-rainy .scene{filter:none}
.kit-map{position:absolute;inset:0}
.kit-flat{position:absolute;inset:0;display:block;width:100%;height:100%}
.kit-part{position:absolute;display:block;height:auto;max-width:none;pointer-events:none;user-select:none;-webkit-user-drag:none}
.kit-ground-rain{opacity:0;transition:opacity .6s}
.world.is-rainy .kit-ground-rain{opacity:1}
.world.is-rainy .kit-part,.world.is-rainy .toy-resident{filter:saturate(.8) brightness(.93)}
body.v13[data-act="3"] .kit-part,body.v13[data-act="3"] .kit-flat{filter:sepia(.14) saturate(1.04)}
.v13[data-art="matte-toy-v1"][data-map="kit"] #map-hotspots .hotspot{margin:0}
/* People sized against the buildings: about one and a half doors tall, never smaller than a thumbnail on phones. */
.v13[data-art="matte-toy-v1"] .actor{width:max(3.4%,16px)}
.v13[data-art="matte-toy-v1"] .actor.rival{width:max(3.2%,15px)}
.v13[data-art="matte-toy-v1"] .toy-helper,.v13[data-art="matte-toy-v1"] .new-teammate{width:max(3.1%,14px)}
.v13[data-art="matte-toy-v1"] .toy-resident{width:max(2.9%,13px)}
/* Who is who on the map: the candidate has a gold ring and a pin overhead; every staff member wears the orange team cap and
   vest and stands on an orange ring; 小馬 has a muted red ring and his name. */
.v13[data-art="matte-toy-v1"] .actor.player::after,.v13[data-art="matte-toy-v1"] .toy-helper::after,.v13[data-art="matte-toy-v1"] .new-teammate::after,.v13[data-art="matte-toy-v1"] .actor.rival::after{content:"";position:absolute;left:50%;top:92.857%;width:84%;aspect-ratio:3;transform:translate(-50%,-50%);border-radius:50%;z-index:-1;pointer-events:none;box-sizing:border-box}
.v13[data-art="matte-toy-v1"] .actor.player::after{border:2px solid #e2ad2f;background:#f7d77a66}
.v13[data-art="matte-toy-v1"] .toy-helper::after,.v13[data-art="matte-toy-v1"] .new-teammate::after{border:1.5px solid #dc7b45;background:#f0a06c40}
.v13[data-art="matte-toy-v1"] .actor.rival::after{border:1.5px solid #b65a45;background:#c9705a26}
.v13[data-art="matte-toy-v1"] .actor.player::before{content:"";position:absolute;left:50%;top:0;width:52%;aspect-ratio:24/30;transform:translate(-50%,-92%);pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 30'%3E%3Cpath d='M12 28.5S3.5 18.6 3.5 11.8a8.5 8.5 0 0 1 17 0C20.5 18.6 12 28.5 12 28.5Z' fill='%23e2ad2f' stroke='%23fffaf0' stroke-width='2'/%3E%3Cpath d='M12 6.3l1.6 3.3 3.6.5-2.6 2.5.6 3.6-3.2-1.7-3.2 1.7.6-3.6-2.6-2.5 3.6-.5z' fill='%23fffaf0'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 1px 1px #0003)}
.v13[data-art="matte-toy-v1"] .actor.rival .actor-name{display:block;top:-2px;transform:translate(-50%,-100%);font-size:9px;line-height:1.3;padding:1px 5px;background:#fff6ef;color:#8a3f2d;border:1px solid #dba897;box-shadow:none}
.v13[data-art="matte-toy-v1"] .toy-helper-count{background:#dc7b45;color:#fffaf0;right:-22%;top:-10%}
/* Venue scenes: the speech bubble points at whoever speaks (see the staging in day-art.js). Phones keep the bubble on top
   and only aim the tail. */
.v13[data-art="matte-toy-v1"] #conversation-bubble::after{left:var(--tail,40%);transform:translateX(-50%)}
@media(min-width:701px){
 .v13[data-art="matte-toy-v1"] #conversation-bubble[data-kind]{top:auto;left:35%;bottom:36%;width:36%;--tail:39%}
 .v13[data-art="matte-toy-v1"] #conversation-bubble[data-kind="tv"]{left:44%;bottom:46%;width:36%;--tail:38%}
 .v13[data-art="matte-toy-v1"] #conversation-bubble[data-kind="online"]{left:66%;bottom:42.5%;width:32%;--tail:50%}
 .v13[data-art="matte-toy-v1"] #conversation-bubble[data-kind="fundraise"]{left:44%;bottom:39%;--tail:40%}
 .v13[data-art="matte-toy-v1"] #conversation-bubble[data-kind="office"]{left:45%;bottom:38.5%;--tail:40%}
 .v13[data-art="matte-toy-v1"] #conversation-bubble[data-kind="debate"]{left:25%;bottom:64.5%;width:50%;--tail:50%}
 .v13[data-art="matte-toy-v1"] #conversation-bubble[data-kind="debate"][data-stage="reaction"]{left:48%;width:46%;--tail:65%}
 .v13[data-art="matte-toy-v1"] #conversation-bubble[data-mode="rally"]{left:20%;bottom:70%;width:34%;--tail:80%}
}
@media(max-width:700px){
 .v13[data-art="matte-toy-v1"] #conversation-bubble[data-kind]{top:2%;bottom:auto;left:3%;width:94%;--tail:49%}
 .v13[data-art="matte-toy-v1"] #conversation-bubble[data-kind="tv"]{--tail:56%}
 .v13[data-art="matte-toy-v1"] #conversation-bubble[data-kind="online"]{--tail:85%}
 .v13[data-art="matte-toy-v1"] #conversation-bubble[data-kind="fundraise"],.v13[data-art="matte-toy-v1"] #conversation-bubble[data-kind="office"]{--tail:59%}
 .v13[data-art="matte-toy-v1"] #conversation-bubble[data-kind="debate"]{--tail:50%}
 .v13[data-art="matte-toy-v1"] #conversation-bubble[data-kind="debate"][data-stage="reaction"]{--tail:79%}
 .v13[data-art="matte-toy-v1"] #conversation-bubble[data-mode="rally"]{--tail:47%}
}

.v13 .answer-gain{display:flex;align-items:center;gap:8px;margin:8px 0 0;font-size:15px}.v13 .answer-gain b{font-size:18px}

/* Campaign intent and the two mutually exclusive invitations. */
.v13 .campaign-card{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f6f8ef}
.v13 .campaign-plans{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.v13 .campaign-plans button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:42px;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fffdf7;font-size:13px;color:var(--ink)}
.v13 .campaign-plans button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fffdf7}
.v13 .campaign-card .campaign-hint{margin:8px 0;font-size:12px;line-height:1.5}
.v13 .campaign-progress{display:flex;flex-wrap:wrap;gap:5px 12px;padding:0;margin:8px 0;list-style:none;font-size:12px;color:var(--muted)}
.v13 .campaign-progress i{margin-right:4px;font-style:normal}.v13 .campaign-progress .done{color:#2f6a46}
.v13 .campaign-clash{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.v13 .campaign-card .campaign-clash h3{margin:0;font-size:15px}.v13 .campaign-card .campaign-clash>p{margin:5px 0 8px;font-size:12px;line-height:1.5}
.v13 .campaign-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.v13 .campaign-option{min-width:0;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fffdf7}.v13 .campaign-option.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.v13 .campaign-option h4{font-size:14px;margin:0 0 7px}.v13 .campaign-card .campaign-option p{font-size:12px;line-height:1.5;margin:5px 0}.v13 .campaign-option .campaign-gain{color:#2f6a46}.v13 .campaign-option .campaign-cost{color:#9a3f2b}.v13 .campaign-option button{width:100%;margin-top:6px}.v13 .campaign-option button:disabled{opacity:.5;cursor:default}
.v13 .campaign-assets{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.v13 .campaign-card .campaign-assets p{display:flex;align-items:center;gap:5px;padding:3px 7px;margin:0;background:#e4efde;border-radius:7px;font-size:12px;color:#2f6a46}
.v13 .campaign-followup{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:13px}.v13 .campaign-followup button{margin-left:auto}.v13 .campaign-followup small{width:100%;color:var(--muted)}
.v13 .campaign-card .campaign-rival,.v13 .campaign-card .campaign-latest,.v13 .campaign-card .campaign-missed{margin:8px 0 0;font-size:12px;line-height:1.5}.v13 .campaign-rival{padding-top:8px;border-top:1px solid var(--line)}.v13 .campaign-selected{padding:8px 10px;background:#e4efde;border-radius:8px}
@media(max-width:420px){.v13 .campaign-options{grid-template-columns:1fr}.v13 .campaign-option{padding:10px}.v13 .campaign-plans button{font-size:12px}}

.v13 .research-disclosure{margin:10px 0;border:1px solid var(--line);border-radius:9px;background:#fffdf7;padding:8px 10px}
.v13 .research-disclosure>summary{cursor:pointer;font-size:13px;line-height:1.5;color:var(--ink)}.v13 .research-disclosure>summary b{margin-left:5px}.v13 .research-disclosure>summary span{display:inline-block;margin-left:10px;font-size:12px;color:var(--muted)}.v13 .research-disclosure>.research-row{margin-top:10px}.v13 .research-disclosure>.info{margin-top:8px}

.v13 .world-column>.mobile-campaign{order:0;margin:0 0 2px}.v13 .mobile-campaign .campaign-card{margin:0}.v13 .mobile-campaign .card-head{display:flex;align-items:center;gap:6px}.v13 .mobile-campaign .campaign-card p{font-size:13px;line-height:1.5}.v13 .mobile-campaign .campaign-card .campaign-option p{font-size:12px}
