.b15-feedback{--feedback-accent:#23776e;z-index:96;pointer-events:none;color:#283c46;contain:layout style;position:fixed;inset:0}.b15-cue-opponent{--feedback-accent:#b45337}.b15-cue-combo,.b15-cue-response{--feedback-accent:#a26d14}.b15-cue-reward{--feedback-accent:#376994}.b15-feedback-announcement{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.b15-feedback-landing{left:clamp(108px, var(--feedback-x), calc(100vw - 108px));top:clamp(160px, var(--feedback-y), calc(100dvh - 210px));width:min(208px,100vw - 48px);position:absolute;transform:translate(-50%,-50%)}.b15-feedback-card{border:1px solid color-mix(in srgb, var(--feedback-accent) 38%, white);border-top:4px solid var(--feedback-accent);animation:b15-card-land var(--feedback-duration) cubic-bezier(.16, .72, .24, 1) both;background:#fffdf6;border-radius:12px;padding:12px 14px;position:relative;box-shadow:0 10px 28px #203c4e32}.b15-feedback-label{color:var(--feedback-accent);letter-spacing:.08em;align-items:center;gap:5px;font-size:10px;font-weight:800;display:flex}.b15-feedback-card strong{overflow-wrap:anywhere;margin:7px 0 3px;font-size:18px;line-height:1.3;display:block}.b15-feedback-card small{color:#55616b;font-size:12px}.b15-feedback-card p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.b15-feedback-card .b15-feedback-opponent{align-items:center;gap:6px;margin-top:8px;font-size:12px;font-weight:700;display:flex}.b15-feedback-opponent i{color:#fff;background:#a54b36;border-radius:50%;place-items:center;width:24px;height:24px;font-style:normal;animation:.65s ease-out both b15-opponent-glow;display:grid}.b15-feedback-card .b15-feedback-combo{color:#88600a;align-items:center;gap:4px;margin-top:7px;font-size:11px;font-weight:700;display:flex}.b15-cue-combo .b15-feedback-card:after{content:"";transform-origin:0;background:#e3b13e;height:3px;animation:.45s ease-out .15s both b15-combo-line;position:absolute;bottom:-5px;left:14px;right:14px}.b15-cue-opponent .b15-feedback-card{animation-name:b15-opponent-reveal}.b15-feedback-target{border:2px solid var(--feedback-accent);opacity:0;border-radius:50%;width:64px;height:64px;animation:.6s ease-out .22s both b15-target-ring;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.b15-feedback-small .b15-feedback-target{display:none}.b15-feedback-large .b15-feedback-card{border-top-width:6px}.b15-feedback-resources{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.b15-feedback-resources>span{white-space:nowrap;color:#fffef4;animation:b15-cost-rise .5s calc(.15s + var(--resource-order) * .13s) ease-out both;background:#263f48;border-radius:20px;align-items:center;gap:5px;padding:6px 9px;font-size:10px;display:flex;box-shadow:0 3px 10px #16364420}.b15-feedback-resources b{color:#ffda81;font-variant-numeric:tabular-nums;font-size:12px}.b15-feedback-skip{right:max(12px, env(safe-area-inset-right));top:max(68px, calc(env(safe-area-inset-top) + 54px));color:#334f56;pointer-events:auto;background:#fffdf5;border:1px solid #a8b5b0;border-radius:9px;justify-content:center;align-items:center;gap:5px;min-height:44px;padding:8px 11px;font-size:11px;font-weight:700;display:flex;position:absolute;box-shadow:0 2px 8px #18373d20}:is(.b15-feedback-skip:focus-visible,.b15-poll-skip:focus-visible){outline-offset:2px;outline:3px solid #2a7169}.b15-feedback-pair{justify-content:center;align-items:center;margin:9px 0;display:flex}.b15-feedback-pair>span{background:#fff1c4;border:1px solid #d9b763;border-radius:5px;align-items:center;gap:4px;padding:9px 6px;font-size:10px;font-weight:700;display:flex}.b15-feedback-pair>span:first-child{transform:rotate(-5deg)}.b15-feedback-pair>span:last-child{transform:rotate(5deg)}.b15-feedback-pair i{transform-origin:0;background:#c89226;width:18px;height:2px;animation:.3s ease-out .2s both b15-combo-line;display:block}body:has([data-slot=dialog-content]) .b15-feedback-skip{display:none}.b10-dialog>header>div:first-child{min-width:0}.b15-sheet-actions{flex-shrink:0;gap:4px;display:flex}.b10-dialog .b15-sheet-actions>button{background:#eeefe4;border-radius:10px;place-items:center;width:44px;height:44px;display:grid}@keyframes b15-card-land{0%{opacity:0;transform:translate(var(--feedback-from-x), var(--feedback-from-y)) rotate(-5deg) scale(.84)}14%{opacity:1;transform:translate(calc(var(--feedback-from-x) * .55), calc(var(--feedback-from-y) * .55 - 18px)) rotate(-2deg) scale(1.04)}33%,84%{opacity:1;transform:translate(0)rotate(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.97)}}@keyframes b15-opponent-reveal{0%{opacity:0;transform:perspective(500px)rotateY(-48deg)translateY(8px)scale(.9)}27%,84%{opacity:1;transform:perspective(500px)rotateY(0)translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.97)}}@keyframes b15-target-ring{0%{opacity:.55;transform:translate(-50%,-50%)scale(.8)}to{opacity:0;transform:translate(-50%,-50%)scale(2.9)}}@keyframes b15-cost-rise{0%{opacity:0;transform:translateY(12px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes b15-opponent-glow{0%{box-shadow:0 0 0 6px #d88c4640}to{box-shadow:0 0 #d88c4600}}@keyframes b15-combo-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.b15-poll .b10-trend-line{stroke-dasharray:none;stroke-dashoffset:0;animation:none}.b15-poll .b10-trend-line[stroke-dasharray]{stroke-dasharray:5 5}.b15-poll-latest{stroke-dasharray:1;stroke-dashoffset:0;animation:.72s cubic-bezier(.2,.7,.3,1) both b15-poll-line}.b15-poll-point{opacity:1;animation:.25s ease-out .45s both b15-poll-point}.b15-poll-actions{align-items:center;gap:7px;display:flex}.b15-poll-actions>b{color:#677468;font-size:10px}.b15-poll-skip{color:#456248;white-space:nowrap;background:#fffdf6;border:1px solid #b2beb1;border-radius:7px;min-height:44px;padding:5px 7px;font-size:10px;font-weight:700}.b15-poll .b10-poll-numbers .b15-poll-number{font-size:inherit;font-variant-numeric:tabular-nums;display:inline}.b15-poll-rank{color:#6b531c;background:#fff5d8;border:1px solid #d0b875;border-radius:8px;align-items:center;gap:7px;margin:8px 0 0;padding:8px 10px;font-size:11px;line-height:1.4;display:flex}.b15-poll-rank svg{flex:none}.b15-poll-rank b{margin-right:4px}.b15-poll[data-poll-animating=false] .b15-poll-latest,.b15-poll[data-poll-animating=false] .b15-poll-point{stroke-dashoffset:0;animation:none}@keyframes b15-poll-line{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes b15-poll-point{0%{opacity:0}to{opacity:1}}.b15-map .b15-threat-outline{stroke:#ad4c31;stroke-width:2.5px;stroke-dasharray:5 3;stroke-linejoin:round;animation:1.2s ease-out 2 b15-threat-pulse}.b15-map .b10-map-controls{flex-wrap:wrap;gap:5px 10px}.b15-map .b15-threat-legend{color:#944329;font-weight:750}.b15-map .b15-threat-flag path{stroke:#ae5238;stroke-width:1.4px;cursor:default}.b15-map[data-reduced-motion=true] .b15-threat-outline{animation:none}.b15-map[data-reduced-motion=true] .b10-piece{transition:none}@keyframes b15-threat-pulse{0%,to{stroke-opacity:1}50%{stroke-opacity:.38}}.b15-feedback[data-reduced-motion=true] *,.b15-feedback[data-reduced-motion=true] :after{animation:none!important}.b15-feedback[data-reduced-motion=true] .b15-feedback-target{display:none}@media (prefers-reduced-motion:reduce){.b15-feedback *,.b15-feedback :after,.b15-poll *,.b15-map .b15-threat-outline{animation:none!important}.b15-feedback-target{display:none}}@media (max-width:390px){.b15-poll-head{align-items:flex-start}.b15-poll-actions{gap:4px}.b15-poll-actions>b{display:none}.b15-feedback-card strong{font-size:16px}}.p28-shell{--ink:#263e57;--paper:#fffdf4;--accent:#235e70;max-width:940px;height:100dvh;padding:env(safe-area-inset-top) max(12px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(12px, env(safe-area-inset-left));color:var(--ink);background:#f6f1e3;flex-direction:column;margin:auto;font-family:ui-rounded,PingFang TC,Noto Sans TC,sans-serif;display:flex;overflow:hidden}.p28-shell *,.p28-city-grid *,.p28-issue-grid *{box-sizing:border-box}.p28-shell button{color:inherit;font:inherit;cursor:pointer;border:0}.p28-shell button:disabled{opacity:.45;cursor:not-allowed}.p28-shell button:focus-visible{outline-offset:2px;outline:3px solid #ed9641}.p28-header{border-bottom:2px solid var(--ink);flex-shrink:0;align-items:center;gap:10px;min-height:52px;display:flex}.p28-header>button{background:0 0;place-items:center;width:44px;height:44px;display:grid}.p28-header>strong{font-size:17px}.p28-header em{background:#ffd974;border-radius:5px;padding:3px 5px;font-size:12px;font-style:normal}.p28-header>span{margin-left:auto;font-size:11px}@media (max-width:420px){.p28-header{gap:6px}.p28-header>button{flex:0 0 44px}.p28-header>strong{white-space:nowrap;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;font-size:16px;line-height:1.15;display:flex}.p28-header em{padding:1px 4px;font-size:10px}.p28-header>span{white-space:nowrap}}.p28-content{scrollbar-width:thin;overscroll-behavior:contain;flex:1;min-height:0;padding:16px 2px;overflow-y:auto}.p28-content h1{margin:8px 0 16px;font-size:30px;font-weight:900;line-height:1.3}.p28-content h2{margin:8px 0 14px;font-size:21px;line-height:1.4}.p28-content h3{margin:20px 0 8px;font-size:14px}.p28-content p{line-height:1.65}.p28-offer{align-self:center;width:100%;max-width:620px}.p28-offer-badge{color:#977127;align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex}.p28-offer h1>span{color:#d7653b}.p28-poster{background:#dceddc;border:2px solid #bdccb8;border-radius:20px;padding:12px 12px 14px;position:relative;overflow:hidden}.p28-poster-year{text-align:center;letter-spacing:7px;color:#779c81;opacity:.6;font-size:70px;font-weight:1000;line-height:.95;display:block}.p28-poster>div{justify-content:center;gap:8px;margin-top:-27px;display:flex;position:relative}.p28-poster svg{width:78px;height:93px}.p28-poster b{text-align:center;margin-top:8px;font-size:12px;display:block}.p28-route-list{gap:13px;margin:18px 0;display:grid}.p28-route-list article{gap:11px;display:flex}.p28-route-list article>span{background:#ffe4aa;border-radius:10px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:12px;font-weight:900;display:grid}.p28-route-list b{font-size:14px}.p28-route-list p{color:#667263;margin:4px 0 0;font-size:12px}.p28-note{color:#6b776f;font-size:11px;line-height:1.6}.p28-shell .p28-primary{color:#fff;background:#235e70;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:10px 14px;font-size:13px;font-weight:800;display:flex;box-shadow:0 3px #163f51}.p28-primary:active{transform:translateY(1px)}.p28-purchase-footer{border-top:1px solid #d6dbcb;flex-shrink:0;gap:9px;padding:12px 0 8px;display:grid}.p28-purchase-footer>small{text-align:center;color:#748074;font-size:10px}.p28-purchase-footer>div{justify-content:space-between;align-items:center;display:flex}.p28-purchase-footer>div>button{background:0 0;align-items:center;gap:4px;min-height:40px;padding:4px 10px;font-size:12px;display:flex}.p28-message{background:#fff0c1;border-radius:9px;flex-shrink:0;align-items:center;gap:8px;margin-top:6px;padding:8px 10px;font-size:12px;line-height:1.5;display:flex}.p28-message button{background:0 0;min-width:36px;margin-left:auto;font-size:20px}.p28-roster{padding-top:12px}.p28-kicker{color:#7c825c;letter-spacing:1px;font-size:11px;font-weight:800}.p28-candidates{grid-template-columns:1fr 1fr;gap:8px;display:grid}.p28-candidates button{text-align:left;background:#fffdf4;border:2px solid #d7d9ca;border-radius:12px;align-items:center;gap:7px;min-height:84px;padding:8px;display:flex;position:relative}.p28-candidates button[aria-pressed=true]{border-color:var(--party);background:color-mix(in srgb, var(--party), white 90%)}.p28-candidates button>svg:first-child{flex-shrink:0;width:35px;height:46px}.p28-candidates button>svg:last-child:not(:first-child){color:var(--party);position:absolute;top:4px;right:4px}.p28-candidates small{color:var(--party);font-size:10px}.p28-candidates b{margin:2px 0;font-size:16px;display:block}.p28-candidates em{color:#697765;font-size:10px;font-style:normal}.p28-candidate-detail{background:#eaeede;border-radius:12px;margin:12px 0;padding:11px;font-size:12px}.p28-candidate-detail p{margin:4px 0 0}.p28-footer{flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;min-height:62px;display:flex}.p28-footer>button:not(.p28-primary){background:0 0;align-items:center;gap:5px;min-height:44px;padding:8px;font-size:12px;display:flex}.p28-footer>small{color:#77816e;font-size:11px}.p28-hud{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;min-height:40px;font-size:12px;display:flex}.p28-hud>span{align-items:center;gap:4px;display:flex}.p28-stage{flex-shrink:0;justify-content:space-between;align-items:center;gap:5px;padding:5px 0 10px;display:flex;position:relative}.p28-stage>b{font-size:12px}.p28-stage>span{color:#76806a;font-size:10px}.p28-stage>i{background:#efb83e;border-radius:3px;height:3px;position:absolute;bottom:0;left:0}.p28-tabs{flex-shrink:0;gap:5px;padding-top:8px;display:flex}.p28-tabs>button{background:#e7ebde;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:5px;min-height:44px;font-size:12px;display:flex;position:relative}.p28-tabs>button[aria-pressed=true]{color:#fff;background:#235e70}.p28-tabs>button>i{background:#eea953;border-radius:50%;width:6px;height:6px}.p28-play-content{padding-top:8px}.p28-map{background:#e0efe4;border:1px solid #bcccbd;border-radius:16px;height:clamp(230px,35dvh,360px);position:relative;overflow:hidden}.p28-map .p28-location{background:#fffdf4ee;border-radius:9px;align-items:center;gap:5px;min-height:44px;padding:8px 10px;font-size:13px;font-weight:800;display:flex;position:absolute;top:8px;left:8px}.p28-location>span{color:#788370;font-size:10px;font-weight:500}.p28-local-poll{flex-wrap:wrap;gap:6px 9px;margin:8px 0;font-size:10px;display:flex}.p28-local-poll>b{width:100%;font-size:11px}.p28-local-poll>span{align-items:center;gap:3px;display:flex}.p28-local-poll i,.p28-poll-bars i,.p28-city-result i{border-radius:50%;width:6px;height:6px;display:inline-block}.p28-action-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.p28-action-grid>button{text-align:left;background:#fffdf4;border:1px solid #d5d9c8;border-bottom-width:3px;border-radius:11px;min-height:62px;padding:9px}.p28-action-grid b{font-size:13px;display:block}.p28-action-grid small{color:#778169;margin-top:5px;font-size:10px;display:block}.p28-event{padding:8px 0}.p28-event blockquote{background:#fff7dc;border-left:3px solid #eab34b;border-radius:0 9px 9px 0;margin:12px 0 18px;padding:14px;font-size:14px;line-height:1.7}.p28-choices{gap:9px;display:grid}.p28-choices>button{text-align:left;background:#fffdf4;border:1px solid #cdd8ca;border-bottom-width:3px;border-radius:12px;min-height:62px;padding:12px}.p28-choices b{font-size:14px;line-height:1.5;display:block}.p28-choices small{color:#6b786c;margin-top:5px;font-size:12px;line-height:1.6;display:block}.p28-answered{background:#e0eedb;border-radius:12px;gap:9px;padding:16px;font-size:13px;display:grid}.p28-answered>strong{align-items:center;gap:6px;display:flex}.p28-answered blockquote{background:#f8fcf1;border-left-color:#56a47d;margin:0;padding:10px;font-size:13px}.p28-answered p{margin:0;line-height:1.7}.p28-result-changes{flex-wrap:wrap;gap:5px;display:flex}.p28-result-changes span{background:#f8fcf1;border-radius:20px;padding:4px 8px;font-size:11px}.p28-turning-points{background:#fff9e8;border:1px solid #d4c492;border-radius:12px;margin:14px 0;padding:12px}.p28-turning-points summary{cursor:pointer;min-height:28px;font-size:13px;font-weight:800}.p28-turning-points ol{gap:13px;margin:10px 0;padding:0;list-style:none;display:grid}.p28-turning-points li{border-top:1px solid #e5d8b6;padding-top:10px}.p28-turning-points li>small,.p28-turning-points li>b{display:block}.p28-turning-points li>small{color:#857348;margin-bottom:3px;font-size:10px}.p28-turning-points li>b{font-size:13px}.p28-turning-points blockquote{border-left:2px solid #d6af58;margin:8px 0 5px;padding-left:9px;font-size:12px;line-height:1.6}.p28-turning-points li p{margin:5px 0 0;font-size:12px;line-height:1.6}.p28-mate-entry{text-align:left;background:#f5dca8;border-radius:12px;align-items:center;gap:10px;width:100%;padding:12px;display:flex}.p28-mate-entry small{margin-top:5px;font-size:11px;display:block}.p28-mate-entry b{font-size:13px}.p28-poll-bars{background:#fffdf4;border:1px solid #d8ddcf;border-radius:14px;padding:13px}.p28-poll-bars>div{grid-template-columns:84px 1fr 48px;align-items:center;gap:7px;min-height:32px;font-size:11px;display:grid}.p28-poll-bars>div>span{align-items:center;gap:4px;display:flex}.p28-poll-bars>div small{color:#b0781b;font-size:9px}.p28-poll-bars>div>div{background:#edf0e8;border-radius:8px;height:9px;overflow:hidden}.p28-poll-bars>div>div i{border-radius:8px;height:100%;transition:width .5s;display:block}.p28-poll-bars>div>b{text-align:right}.p28-poll-bars>small{color:#7c8577;margin-top:8px;font-size:10px;display:block}.p28-trend{width:100%;height:125px;margin-top:12px}.p28-meters{gap:10px;margin-top:14px;display:grid}.p28-meters>div{grid-template-columns:80px 30px 1fr;align-items:center;gap:8px;font-size:12px;display:grid}.p28-meters meter{width:100%}.p28-primary-race{background:#fff0be;border-radius:12px;margin-top:15px;padding:13px;font-size:12px}.p28-primary-race small{color:#7e7758;font-size:10px}.p28-review>p{font-size:13px}.p28-review-item{background:#e8edde;border-radius:10px;padding:10px 12px}.p28-rival{background:#fffdf4;border-radius:12px;align-items:flex-start;gap:10px;margin:8px 0;padding:12px;font-size:12px;display:flex}.p28-rival svg{flex-shrink:0}.p28-rival p{margin:4px 0 0}.p28-counting h1{font-size:25px}.p28-count-ranking{gap:8px;display:grid}.p28-count-ranking>div{border-left:4px solid var(--party);background:#fffdf4;border-radius:12px;grid-template-columns:18px 1fr auto;align-items:center;gap:5px 8px;padding:11px;display:grid}.p28-count-ranking>div>span{color:var(--party);font-weight:900}.p28-count-ranking b{font-size:13px}.p28-count-ranking strong{font-variant-numeric:tabular-nums;font-size:20px}.p28-count-ranking strong small{margin-left:3px;font-size:10px}.p28-count-ranking em{text-align:right;color:#728170;grid-column:3;font-size:11px;font-style:normal}.p28-vote-gap{text-align:center;background:#ffe3a5;border-radius:10px;padding:9px 12px;font-size:13px;font-weight:800}.p28-result-map{background:#dfeddf;border-radius:16px;height:275px;margin-top:8px}.p28-city-select{background:#e7e9dc;border-radius:9px;justify-content:space-between;align-items:center;width:100%;min-height:44px;margin:9px 0;padding:11px;display:flex;font-size:12px!important}.p28-city-result{justify-content:space-between;padding:6px 10px;font-size:12px;display:flex}.p28-city-result span{align-items:center;gap:6px;display:flex}.p28-wide{width:100%}.p28-primary-ending{text-align:center;background:#fff1c9;border-radius:18px;margin:20px 0;padding:26px 16px;font-size:14px}.p28-primary-ending>svg{margin:auto}.p28-city-grid,.p28-issue-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.p28-city-grid button,.p28-issue-grid button{background:#e8eddf;border-radius:9px;justify-content:center;align-items:center;gap:4px;min-height:44px;padding:10px 6px;font-size:12px;display:flex}.p28-city-grid button[aria-pressed=true],.p28-issue-grid button[aria-pressed=true]{color:#fff;background:#235e70}.b10-shell .p28-entry,.b10-dialog .p28-entry{text-align:left;color:#65512d;background:#fff0bd;border:1px solid #dec786;border-radius:12px;flex-shrink:0;align-items:center;gap:10px;width:100%;min-height:48px;margin:7px 0;padding:10px 12px;display:flex}.p28-entry>span{flex:1}.p28-entry b{font-size:13px;display:block}.p28-entry small{margin-top:3px;font-size:10px;display:block}@media (max-height:740px){.p28-header{min-height:47px}.p28-content{padding-top:10px}.p28-roster h1{margin:6px 0 10px;font-size:24px}.p28-candidates button{min-height:72px;padding:6px}.p28-candidates b{font-size:14px}.p28-candidates button>svg:first-child{width:29px;height:39px}.p28-map{height:210px}.p28-hud{min-height:34px}.p28-footer{min-height:56px}.p28-poster-year{font-size:56px}.p28-poster svg{width:65px;height:76px}}@media (min-width:768px){.p28-shell{padding-left:32px;padding-right:32px}.p28-candidates{grid-template-columns:repeat(4,1fr)}.p28-purchase-footer{align-self:center;width:100%;max-width:620px}.p28-action-grid{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion:reduce){.p28-shell *{transition:none!important;animation:none!important}}
