:root{--black:#07060a;--panel:rgba(13,10,17,.91);--line:rgba(221,176,88,.25);--gold:#d9aa4f;--bright:#f4cf78;--sand:#f2eadc;--muted:#a8a198;--cyan:#43d8d3;--green:#74d3a4;--red:#ff6174}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--black);overscroll-behavior:none}body{color:var(--sand);font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif}button,input{font:inherit}button{color:inherit}.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}
.session-stage{position:relative;width:100%;height:100dvh;overflow:hidden;isolation:isolate;background:var(--black)}.scene-video{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}.stage-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,4,8,.92),rgba(5,4,8,.38) 48%,rgba(5,4,8,.84)),linear-gradient(180deg,rgba(5,4,8,.65),transparent 30%,rgba(5,4,8,.9))}.session-active-state .stage-shade{background:linear-gradient(90deg,rgba(5,4,8,.92),rgba(5,4,8,.6) 50%,rgba(5,4,8,.92)),linear-gradient(180deg,rgba(5,4,8,.66),rgba(5,4,8,.18) 30%,rgba(5,4,8,.9))}
.session-topbar{position:absolute;inset:0 0 auto;z-index:10;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3vw,48px);border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(5,4,8,.96),rgba(5,4,8,.55))}.session-brand{display:flex;align-items:center;gap:10px;color:var(--sand);text-decoration:none}.brand-glyph{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(67,216,211,.55);color:var(--cyan);font-weight:900;box-shadow:inset 0 0 18px rgba(67,216,211,.1)}.brand-copy{display:grid;gap:2px}.brand-copy b{font-size:.76rem;letter-spacing:.13em}.brand-copy small{color:var(--bright);font-size:.55rem;letter-spacing:.16em}.truth-mark,.live-status{display:flex;align-items:center;gap:8px;color:#c7c0b7;font-size:.7rem;letter-spacing:.06em}.truth-mark i,.live-status i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 13px var(--green)}.live-status strong{min-width:64px;color:white;font-variant-numeric:tabular-nums}.live-status button{min-height:34px;margin-left:8px;padding:0 13px;border:1px solid rgba(255,97,116,.45);background:rgba(255,97,116,.08);color:#ffb0bb;cursor:pointer}.live-status button:hover{border-color:var(--red)}
.topbar-actions{display:flex;align-items:center;gap:14px}.guide-trigger{min-height:34px;display:flex;align-items:center;gap:7px;padding:0 12px;border:1px solid rgba(67,216,211,.3);background:rgba(67,216,211,.06);color:#bfe8e6;font-size:.66rem;cursor:pointer}.guide-trigger span{width:16px;height:16px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:.58rem;font-weight:900}.guide-trigger:hover{border-color:var(--cyan);color:var(--cyan)}
.session-footer{position:absolute;inset:auto 0 0;z-index:10;height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3vw,48px);border-top:1px solid rgba(255,255,255,.07);background:rgba(5,4,8,.86);color:#77726e;font-size:.6rem}.session-footer strong{color:#9c958e;font-weight:500}
.session-setup{position:absolute;inset:68px 0 36px;overflow-y:auto;-webkit-overflow-scrolling:touch;display:grid;grid-template-columns:minmax(360px,.95fr) minmax(440px,1.05fr);align-items:safe center;gap:clamp(28px,6vw,92px);padding:clamp(28px,5vw,78px)}.setup-copy{max-width:700px;text-shadow:0 2px 24px #000}.section-kicker{margin:0 0 12px;color:var(--cyan);font-size:.68rem;font-weight:800;letter-spacing:.2em}.setup-copy h1,.session-summary h1{margin:0;font-family:Georgia,"Noto Serif TC",serif;font-size:clamp(3.1rem,6.2vw,6.8rem);font-weight:500;line-height:.98;letter-spacing:.02em}.setup-copy h1 em{color:var(--bright);font-style:normal;text-shadow:0 0 32px rgba(244,207,120,.35)}.setup-copy>p:not(.section-kicker){max-width:620px;margin:20px 0;color:#d0c9c0;line-height:1.8}.tool-promise{max-width:550px;display:grid;gap:5px;padding:14px 16px;border-left:2px solid var(--cyan);background:rgba(67,216,211,.07)}.tool-promise b{font-size:.82rem}.tool-promise span{color:var(--muted);font-size:.72rem}.review-link{display:inline-flex;align-items:center;gap:8px;margin-top:15px;color:#b9d9d7;font-size:.7rem;text-decoration:none}.review-link:hover{color:var(--cyan)}
.setup-panel,.tool-panel{min-width:0;min-height:0;border:1px solid var(--line);background:linear-gradient(145deg,rgba(16,12,20,.96),rgba(7,6,10,.89));box-shadow:0 28px 90px rgba(0,0,0,.48);backdrop-filter:blur(14px)}.setup-panel{width:min(650px,100%);justify-self:end;padding:clamp(20px,3vw,34px)}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.panel-title>span{font-weight:800}.panel-title small{color:var(--muted);font-size:.63rem}.setup-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.setup-fields label,.quick-form label{display:grid;gap:6px}.setup-fields label>span,.quick-form label>span,.feature-form>span{color:#bcb5ac;font-size:.68rem}.setup-fields label>div,.quick-form label>div{height:50px;display:flex;align-items:center;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.025)}.setup-fields b,.quick-form b{width:34px;color:var(--gold);text-align:center}.setup-fields input,.quick-form input{min-width:0;width:100%;height:100%;padding:0 10px 0 0;border:0;outline:none;background:transparent;color:white}.setup-fields label:focus-within>div,.quick-form label:focus-within>div{border-color:var(--gold);box-shadow:0 0 0 1px rgba(217,170,79,.18)}.setup-preview{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 16px;margin:15px 0;padding:13px 15px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025)}.setup-preview span{color:var(--muted);font-size:.66rem}.setup-preview strong{grid-row:1/3;grid-column:2;color:var(--bright);font:500 2rem/1 Georgia,serif;text-align:right}.setup-preview small{color:#9f978e;font-size:.63rem}.start-session{width:100%;min-height:52px;display:flex;align-items:center;justify-content:center;gap:18px;border:1px solid var(--bright);background:linear-gradient(135deg,#f4cf78,#a97b2c);color:#15100a;font-weight:900;cursor:pointer}.start-session:hover{filter:brightness(1.08)}
.session-cockpit{position:absolute;inset:68px 0 36px;overflow-y:auto;-webkit-overflow-scrolling:touch;display:grid;grid-template-columns:minmax(270px,320px) minmax(420px,1fr) minmax(300px,360px);gap:10px;padding:10px}.control-panel,.live-dashboard,.compare-panel{height:100%;padding:clamp(12px,1.4vw,20px);overflow:hidden}.control-panel{display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}.quick-form{display:grid;gap:9px}.quick-form label>div{height:43px}.quick-form button{height:100%;padding:0 11px;border:0;border-left:1px solid rgba(255,255,255,.12);background:rgba(217,170,79,.1);color:var(--bright);cursor:pointer}.feature-form{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:13px;padding:12px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025)}.feature-form>span{grid-column:1/-1}.feature-type{display:flex;gap:5px;grid-column:1/-1;margin-bottom:2px}.type-chip{flex:1;min-height:30px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.025);color:var(--muted);font-size:.58rem;cursor:pointer}.type-chip.active{border-color:var(--cyan);color:var(--cyan);background:rgba(67,216,211,.08)}.spin-quick{display:flex;gap:5px;margin:8px 0 0}.control-panel .spin-quick{grid-column:1/-1}.spin-hint{grid-column:1/-1;margin:6px 0 0;color:var(--muted);font-size:.6rem;line-height:1.6}.spin-chip{flex:1;min-height:32px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.025);color:var(--muted);font-size:.66rem;cursor:pointer}.spin-chip:hover,.spin-chip:active{border-color:var(--gold);color:var(--bright)}.feature-form label{display:grid;gap:4px}.feature-form small{color:var(--muted);font-size:.58rem}.feature-form input{min-width:0;width:100%;height:35px;padding:0 8px;border:1px solid rgba(255,255,255,.13);outline:none;background:#0b0910;color:white}.feature-form button{grid-column:1/-1;min-height:35px;border:1px solid rgba(67,216,211,.36);background:rgba(67,216,211,.07);color:var(--cyan);cursor:pointer}.timeline{min-height:0;margin-top:13px;overflow:hidden}.timeline-title{margin-bottom:7px;color:var(--muted);font-size:.64rem;letter-spacing:.1em}.timeline-row{display:grid;grid-template-columns:42px 1fr auto auto;align-items:center;gap:7px;min-height:38px;border-top:1px solid rgba(255,255,255,.07);font-size:.64rem}.timeline-row time{color:#77716c}.timeline-row span{overflow:hidden;color:#c6bfb6;text-overflow:ellipsis;white-space:nowrap}.timeline-row b{color:var(--bright);font-size:.63rem}.timeline-del{width:20px;height:20px;padding:0;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.02);color:var(--muted);font-size:.6rem;line-height:1;cursor:pointer;border-radius:2px}.timeline-del:hover{border-color:var(--red);color:var(--red)}.timeline-edit{width:20px;height:20px;padding:0;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.02);color:var(--muted);font-size:.58rem;line-height:1;cursor:pointer;border-radius:2px}.timeline-edit:hover{border-color:var(--cyan);color:var(--cyan)}.timeline-row.timeline-editing{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0;border-top:1px solid rgba(255,255,255,.07);min-height:38px}.tl-edit-label{color:var(--muted);font-size:.62rem;white-space:nowrap}.tl-edit-input{width:76px;height:26px;padding:0 6px;border:1px solid var(--gold);outline:none;background:#0b0910;color:white;font-size:.66rem}.timeline-save{min-width:24px;height:24px;padding:0;border:1px solid var(--green);background:rgba(116,211,164,.12);color:var(--green);font-size:.62rem;cursor:pointer;border-radius:2px}.timeline-cancel{min-width:24px;height:24px;padding:0;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.02);color:var(--muted);font-size:.58rem;cursor:pointer;border-radius:2px}
.live-dashboard{display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 50% 18%,rgba(217,170,79,.13),transparent 36%),linear-gradient(145deg,rgba(16,12,20,.96),rgba(7,6,10,.9))}.net-hero{text-align:center}.net-hero>span{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.14em}.net-hero>strong{display:block;margin:6px 0;font:500 clamp(3.2rem,6vw,6rem)/1 Georgia,serif}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.net-hero small{color:#c9c1b8}.dashboard-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:clamp(16px,3vh,28px) 0 14px}/* 🔴 2026-08-13 加了「現在的達標率」變成 6 格。原本第 5 格佔滿整行
   是「剛好 5 格」時的設計，6 格時會把第 6 格擠到第三行，
   而這個儀表板在手機是固定高度，多一行就被裁掉。 */
.dashboard-metrics article:nth-child(5){grid-column:auto}.dashboard-metrics article{min-height:86px;display:grid;align-content:center;gap:5px;padding:12px 14px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025)}.dashboard-metrics span,.compare-options span{color:var(--muted);font-size:.63rem}.dashboard-metrics strong{font-size:1.12rem}.dashboard-metrics small,.compare-options small{color:#827c76;font-size:.58rem}.limit-track{position:relative;height:8px;margin:7px 2px 22px;background:rgba(255,255,255,.08)}.limit-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--cyan),var(--gold),var(--red));box-shadow:0 0 13px rgba(255,97,116,.35)}.limit-track span,.limit-track b{position:absolute;top:11px;color:#7f7974;font-size:.55rem}.limit-track span{left:0}.limit-track b{right:0}.live-message{margin:0;padding:10px 12px;border-left:2px solid var(--cyan);background:rgba(67,216,211,.06);color:#bcd5d3;font-size:.67rem}.live-message.danger{border-color:var(--red);background:rgba(255,97,116,.08);color:#ffc0c9}
.compare-panel{display:flex;flex-direction:column}.compare-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.compare-inputs label{display:grid;gap:5px}.compare-inputs span{color:var(--muted);font-size:.55rem}.compare-inputs input{min-width:0;width:100%;height:37px;padding:0 7px;border:1px solid rgba(255,255,255,.12);outline:none;background:#0b0910;color:white}.compare-inputs label:focus-within input{border-color:var(--gold)}.compare-options{min-height:0;flex:1;display:grid;grid-template-rows:repeat(4,1fr);gap:7px;margin-top:13px}.compare-options article{min-height:0;display:grid;align-content:center;gap:4px;padding:11px 13px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025)}.compare-options strong{color:var(--bright);font-size:1rem}.compare-options .cost-up{border-color:rgba(255,97,116,.28);background:rgba(255,97,116,.05)}.compare-options .cost-up strong{color:#ff9fac}.compare-options .stop-option{border-color:rgba(116,211,164,.3);background:rgba(116,211,164,.05)}.compare-options .stop-option strong{color:var(--green)}
/* 🔴 這三個容器是絕對定位的全螢幕面板，而 html,body 全站 overflow:hidden——
   所以捲動一定要發生在容器自己身上。少了 overflow-y 的話，內容一超過
   畫面高度就被裁掉而且哪裡都捲不動：2026-08-14 手機版按下解鎖閘門之後
   整頁鎖死，就是這個原因。
   justify-content 用 safe center：內容比容器高時不要把上緣推出可視範圍，
   否則就算能捲也捲不到最上面。 */
.session-summary{position:absolute;inset:68px 0 36px;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;justify-content:safe center;padding:24px;text-align:center}.session-summary h1{font-size:clamp(2.4rem,5vw,4.6rem)}.summary-result{margin:15px 0 22px;font:500 clamp(3.8rem,8vw,7rem)/1 Georgia,serif}.summary-grid{width:min(780px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.summary-grid div{display:grid;gap:7px;padding:17px 12px;border:1px solid var(--line);background:rgba(10,8,13,.8)}.summary-grid span{color:var(--muted);font-size:.63rem}.summary-grid strong{font-size:.9rem}.session-summary .start-session{width:min(360px,100%)}.session-summary .review-link{margin-top:14px}.stage-enter{animation:stage-enter .42s cubic-bezier(.2,.76,.2,1) both}@keyframes stage-enter{from{opacity:0;transform:translateY(8px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}[hidden]{display:none!important}
.guide-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:rgba(3,3,6,.76);backdrop-filter:blur(8px)}.guide-dialog{width:min(720px,100%);padding:22px;border:1px solid rgba(217,170,79,.42);background:linear-gradient(145deg,#131019,#08070b);box-shadow:0 32px 100px rgba(0,0,0,.72)}.guide-head{display:flex;align-items:flex-start;justify-content:space-between}.guide-head>div{display:grid;gap:4px}.guide-kicker{color:var(--cyan);font-size:.61rem;font-weight:900;letter-spacing:.18em}.guide-head b{color:#847e78;font-size:.61rem}.guide-close{width:34px;height:34px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#aaa29a;font-size:1.25rem;cursor:pointer}.guide-visual{position:relative;height:260px;margin:18px 0 20px;border:1px solid rgba(255,255,255,.08);overflow:hidden;background:radial-gradient(circle at 50% 0,rgba(67,216,211,.15),transparent 55%),#0a090e}.real-guide-shot{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:#07070b}.real-guide-shot img{width:100%;height:100%;object-fit:contain}.real-guide-shot::after{content:"";position:absolute;top:6%;bottom:6%;width:47%;border:2px solid var(--cyan);box-shadow:0 0 18px rgba(67,216,211,.28);pointer-events:none}.real-guide-shot.main-shot::after{left:1.5%}.real-guide-shot.purchase-shot::after{right:1.5%;border-color:var(--bright);box-shadow:0 0 18px rgba(244,207,120,.25)}.real-guide-shot>span{position:absolute;left:50%;bottom:7px;transform:translateX(-50%);padding:5px 10px;background:rgba(5,5,8,.88);color:#eee7dc;font-size:.56rem;white-space:nowrap}.game-reference,.purchase-reference,.result-reference{position:absolute;inset:0;padding:12px}.game-reference>small,.purchase-reference>small,.result-reference>small{position:absolute;left:12px;top:9px;color:#8d8780;font-size:.52rem;letter-spacing:.08em}.game-reels{position:absolute;inset:28px 22% 38px;display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:7px;border:1px solid rgba(217,170,79,.35);background:rgba(18,30,50,.72)}.game-reels i{background:radial-gradient(circle,#7853a7 0 28%,#284d67 30% 50%,transparent 52%),linear-gradient(180deg,rgba(67,216,211,.18),rgba(217,170,79,.1))}.game-buy{position:absolute;left:10px;bottom:12px;padding:7px 12px;border:1px solid rgba(244,207,120,.6);border-radius:14px;background:#14535e;color:#ffe0a0;font-size:.61rem;font-weight:900}.game-balance,.game-bet{position:absolute;bottom:10px;display:grid;align-items:center}.game-balance{left:42%;text-align:center}.game-bet{right:17px;min-width:92px;grid-template-columns:auto 1fr;gap:0 7px;padding:5px 10px;border:1px solid rgba(244,207,120,.55);border-radius:18px;background:#16120f}.game-reference b{grid-row:1/3;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--cyan);color:#06100f;font-style:normal;font-size:.62rem}.game-reference strong{font-size:.85rem}.game-reference em{color:#8e8781;font-size:.5rem;font-style:normal}.balance-flow{position:absolute;inset:31px 12% 52px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:13px}.balance-flow span{display:grid;gap:4px;padding:10px;border:1px solid rgba(255,255,255,.1);text-align:center}.balance-flow span.changed{border-color:rgba(255,97,116,.35)}.balance-flow em{color:#8e8781;font-size:.53rem;font-style:normal}.balance-flow strong{font:500 1.3rem/1 Georgia,serif}.balance-flow i{color:var(--bright);font-style:normal}.tool-map{position:absolute;left:18%;right:18%;bottom:10px;display:flex;justify-content:space-between;gap:10px;padding:7px 10px;border-left:2px solid var(--cyan);background:rgba(67,216,211,.06);font-size:.53rem}.tool-map b{color:#c8e8e6}.tool-map span{color:#96908a}.purchase-reference>div{position:absolute;inset:30px 8% 42px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.purchase-reference>div span{display:grid;align-content:center;gap:7px;padding:8px;border:1px solid rgba(217,170,79,.3);background:linear-gradient(180deg,rgba(103,58,30,.55),rgba(35,21,18,.65));text-align:center}.purchase-reference>div span.selected{border-color:var(--bright);box-shadow:0 0 16px rgba(244,207,120,.12)}.purchase-reference em{color:#f3c6a1;font-size:.55rem;font-style:normal}.purchase-reference strong{color:#ffd67e;font:500 1.2rem/1 Georgia,serif}.purchase-reference p{position:absolute;left:0;right:0;bottom:10px;margin:0;color:#a7a09a;font-size:.53rem;text-align:center}.result-reference>div{position:absolute;inset:33px 12% 18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px}.result-reference span{display:grid;gap:5px;text-align:center}.result-reference em{color:#8e8781;font-size:.54rem;font-style:normal}.result-reference strong{font:500 1.55rem/1 Georgia,serif}.result-reference b{color:#8b8580;font-size:.5rem;font-weight:500}.result-reference i{color:var(--bright);font:500 1.5rem/1 Georgia,serif}.result-reference .truth strong{color:var(--red)}.guide-body{display:grid;grid-template-columns:auto 1fr;gap:16px}.guide-step-number{color:rgba(244,207,120,.36);font:500 2.6rem/1 Georgia,serif}.guide-body h2{margin:0 0 7px;font:500 1.65rem/1.2 Georgia,"Noto Serif TC",serif}.guide-body p{margin:0;color:#b9b2aa;font-size:.78rem;line-height:1.75}.guide-example{display:flex;align-items:center;gap:10px;margin:16px 0 12px;padding:10px 12px;border-left:2px solid var(--gold);background:rgba(217,170,79,.06);font-size:.69rem}.guide-example small{color:var(--bright);font-weight:900}.guide-example span{color:#b9b1a8}.guide-dots{display:flex;gap:5px;margin-bottom:18px}.guide-dots i{width:22px;height:3px;background:rgba(255,255,255,.13)}.guide-dots i.active{background:var(--cyan)}.guide-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.guide-actions>div{display:flex;gap:7px}.guide-actions button{min-height:40px;padding:0 15px;cursor:pointer}.guide-skip,.guide-back{border:1px solid rgba(255,255,255,.12);background:transparent;color:#928b84}.guide-back:disabled{opacity:.35;cursor:default}.guide-next{border:1px solid var(--bright);background:linear-gradient(135deg,#f4cf78,#a97b2c);color:#15100a;font-weight:900}
@media(max-width:1100px){.session-cockpit{grid-template-columns:minmax(235px,270px) minmax(360px,1fr) minmax(260px,300px)}.control-panel,.live-dashboard,.compare-panel{padding:12px}.dashboard-metrics article{min-height:75px}.timeline-row:nth-child(n+5){display:none}}
@media(max-width:760px){.session-topbar{height:54px;padding:0 12px}.brand-glyph{width:30px;height:30px}.brand-copy b{font-size:.64rem}.brand-copy small{font-size:.48rem}.topbar-actions{gap:6px}.guide-trigger{width:30px;min-height:30px;padding:0;justify-content:center;font-size:0}.guide-trigger span{font-size:.58rem}.truth-mark{display:none}.live-status{gap:5px;font-size:.58rem}.live-status span{display:none}.live-status strong{min-width:58px}.live-status button{min-height:30px;margin-left:2px;padding:0 8px;font-size:.6rem}.session-footer{height:32px;justify-content:center;padding:0 10px;text-align:center}.session-footer span{display:none}.session-setup{inset:54px 0 32px;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);align-content:safe center;gap:12px;padding:14px 12px}.setup-copy{text-align:center}.setup-copy h1{font-size:clamp(2.35rem,11vw,3.3rem);line-height:.98}.setup-copy>p:not(.section-kicker){margin:9px auto;font-size:.72rem;line-height:1.5}.tool-promise,.setup-copy .review-link{display:none}.setup-panel{align-self:stretch;padding:12px}.panel-title{margin-bottom:8px}.setup-fields{gap:7px}.setup-fields label>div{height:42px}.setup-preview{margin:8px 0;padding:9px 11px}.setup-preview strong{font-size:1.45rem}.start-session{min-height:45px}.session-cockpit{inset:54px 0 32px;grid-template-columns:1fr;grid-template-rows:152px 196px minmax(0,1fr);gap:6px;padding:6px}.control-panel,.live-dashboard,.compare-panel{padding:8px}.control-panel{display:flex;flex-direction:column;gap:6px;overflow-y:auto;-webkit-overflow-scrolling:touch}.control-panel>.panel-title,.timeline{display:none}.quick-form{gap:5px}.quick-form label{gap:3px}.quick-form label>span,.feature-form>span{font-size:.56rem}.quick-form label>div{height:42px}.quick-form b{width:26px;font-size:.65rem}.quick-form input{font-size:.72rem}.quick-form button{padding:0 7px;font-size:.58rem}.feature-form{margin:0;padding:7px;gap:4px}.feature-form input{height:34px;font-size:.7rem}.feature-form button{min-height:30px;font-size:.58rem}.live-dashboard{padding:10px}.net-hero{display:grid;grid-template-columns:1fr auto;align-items:end;text-align:left}.net-hero>span{grid-column:1;font-size:.56rem}.net-hero>strong{grid-column:1;margin:3px 0;font-size:2.45rem}.net-hero>small{grid-column:2;grid-row:1/3;align-self:center;max-width:110px;font-size:.58rem;line-height:1.4;text-align:right}.dashboard-metrics{grid-template-columns:repeat(3,1fr);gap:4px;margin:8px 0 6px}.dashboard-metrics article{min-height:55px;padding:6px}.dashboard-metrics span{font-size:.48rem}.dashboard-metrics strong{font-size:.7rem}.dashboard-metrics small{display:none}.limit-track{margin:4px 1px 15px}.live-message{padding:6px 8px;font-size:.55rem}.compare-panel>.panel-title{margin-bottom:6px}.compare-panel>.panel-title small{display:none}.compare-inputs{gap:4px}.compare-inputs span{font-size:.48rem}.compare-inputs input{height:32px;font-size:.65rem}.compare-options{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:5px;margin-top:6px}.compare-options article{padding:7px 8px}.compare-options span{font-size:.52rem}.compare-options strong{font-size:.78rem}.compare-options small{font-size:.48rem;line-height:1.35}.session-summary{inset:54px 0 32px;padding:14px}.session-summary h1{font-size:2rem}.summary-result{margin:10px 0 16px;font-size:4rem}.summary-grid{grid-template-columns:repeat(2,1fr);gap:5px}.summary-grid div{padding:10px 8px}.guide-overlay{place-items:end center;padding:0}.guide-dialog{width:100%;padding:17px 16px 16px;border-width:1px 0 0}.guide-visual{height:170px;margin:12px 0 14px}.real-guide-shot>span{font-size:.45rem;bottom:3px}.game-reels{inset:25px 24% 35px}.game-buy{font-size:.5rem;padding:5px 8px}.game-balance{left:38%}.game-bet{min-width:78px}.tool-map{left:7%;right:7%;font-size:.45rem}.purchase-reference>div{inset:25px 3% 34px;gap:4px}.purchase-reference>div span{padding:5px}.purchase-reference em{font-size:.46rem}.purchase-reference strong{font-size:.9rem}.purchase-reference p{font-size:.45rem}.result-reference>div{inset:28px 5% 10px}.guide-body{gap:10px}.guide-step-number{font-size:2rem}.guide-body h2{font-size:1.3rem}.guide-body p{font-size:.7rem;line-height:1.65}.guide-example{margin:12px 0 9px;padding:8px 10px}.guide-dots{margin-bottom:12px}.guide-actions button{min-height:38px;padding:0 11px;font-size:.68rem}}
@media(max-width:410px){.section-kicker{font-size:.55rem}.setup-copy>p:not(.section-kicker){display:none}.session-cockpit{grid-template-rows:146px 188px minmax(0,1fr)}.feature-form small{font-size:.5rem}}
@media(max-height:700px) and (min-width:761px){.dashboard-metrics article{min-height:66px}.timeline-row:nth-child(n+4){display:none}.setup-copy h1{font-size:4rem}}
@media(prefers-reduced-motion:reduce),(update:slow){.stage-enter{animation:none}.scene-video{display:none}*{transition:none!important}}

/* ---- 工具台分頁（三合一） ---- */
.tool-tabs{position:absolute;left:0;right:0;top:68px;z-index:9;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 10px 0}
.tool-tabs button{padding:9px 6px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(16,12,20,.96),rgba(7,6,10,.89));color:#9b948c;font-family:inherit;font-size:.72rem;line-height:1.35;cursor:pointer}
.tool-tabs button b{display:block;font-size:.58rem;font-weight:700;opacity:.7;margin-bottom:2px}
.tool-tabs button.on{border-color:var(--bright);background:linear-gradient(135deg,#f4cf78,#a97b2c);color:#15100a;font-weight:900}
.tool-tabs button.on b{opacity:.75}
/* 🔴 上緣改吃 --pane-top（由 seth-hub.js 依實際分頁列高度算出）。
   原本寫死 118px，是「分頁只有一列」的假設；2026-08-13 加到 5 個分頁
   變成兩列之後，分頁列就蓋住內容了。寫死的數字每次加分頁都會再壞一次。 */
#pane-live>.session-setup,#pane-live>.session-cockpit,#pane-live>.session-summary{inset:var(--pane-top,118px) 0 36px}
.tool-pane{position:absolute;inset:var(--pane-top,118px) 0 36px;overflow-y:auto;padding:10px}
.pane-inner{display:grid;grid-template-columns:minmax(340px,1fr) minmax(320px,420px);gap:10px;align-items:start}
.pane-inner.narrow{grid-template-columns:minmax(0,760px);justify-content:center}
.pane-hint{margin:8px 0 0;color:var(--muted);font-size:.66rem;line-height:1.7}















@media(max-width:900px){.pane-inner{grid-template-columns:1fr}}
@media(max-width:760px){.tool-tabs{top:54px;padding:6px 6px 0;gap:4px}.tool-tabs button{padding:7px 4px;font-size:.62rem}.tool-tabs button b{font-size:.5rem}
#pane-live>.session-setup,#pane-live>.session-cockpit,#pane-live>.session-summary{inset:var(--pane-top,104px) 0 32px}
.tool-pane{inset:var(--pane-top,104px) 0 32px;padding:6px}}




.tool-pane .tool-panel{padding:14px 16px}

/* ---- ③ AI 選房：把 style.css 的版面規則搬進工具台，讓它跟這頁同一套視覺 ---- */
#pane-pick .ai-bankroll,#pane-pick .ai-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}
#pane-pick label{display:inline-flex;align-items:center;gap:7px;color:#bcb5ac;font-size:.68rem}
#pane-pick input[type=text],#pane-pick input[type=number]{min-width:0;width:150px;height:40px;padding:0 10px;border:1px solid rgba(255,255,255,.14);outline:none;background:rgba(255,255,255,.025);color:#fff;font-family:inherit;font-size:.75rem}
#pane-pick input:focus{border-color:var(--gold)}
#pane-pick .room-list{display:grid;gap:10px;margin:12px 0}
#pane-pick .room-card{display:grid;gap:8px;padding:13px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025)}
#pane-pick .room-card input{width:100%}
#pane-pick .mode-switch{display:inline-flex;gap:4px;margin-left:auto}
#pane-pick .mode-switch button{padding:7px 12px;border:1px solid rgba(255,255,255,.14);background:transparent;color:#9b948c;font-family:inherit;font-size:.66rem;cursor:pointer}
#pane-pick .mode-switch button.active{border-color:var(--bright);background:rgba(217,170,79,.12);color:var(--bright)}
#pane-pick .output-card{display:grid;gap:7px;margin-top:9px;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-left:3px solid rgba(255,255,255,.2);background:rgba(255,255,255,.025)}
#pane-pick .output-card.status-danger{border-left-color:var(--red)}
#pane-pick .output-card.status-warn{border-left-color:var(--bright)}
#pane-pick .output-card.status-good{border-left-color:var(--green)}
#pane-pick .output-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800}
#pane-pick .output-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
#pane-pick .output-grid.dense{grid-template-columns:repeat(4,1fr)}
#pane-pick .output-grid>div{padding:8px 10px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.25)}
#pane-pick .output-foot,#pane-pick .empty-state{color:var(--muted);font-size:.64rem;line-height:1.7}
#pane-pick .compare-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:9px;padding:9px 11px;border-top:1px solid rgba(255,255,255,.07);font-size:.7rem}
#pane-pick .compare-medal{font-size:1rem}
#pane-pick .compare-score{color:var(--bright);font-weight:800}
#pane-pick .prose{color:#b9b2aa;font-size:.7rem;line-height:1.8}
#pane-pick #claim-code{width:220px}
#pane-pick .room-card-head{display:flex;align-items:center;gap:9px}
#pane-pick .room-no{color:var(--bright);font-weight:800;font-size:.72rem}
#pane-pick .room-remove{margin-left:auto;width:30px;height:30px;border:1px solid rgba(255,255,255,.14);background:transparent;color:#9b948c;cursor:pointer}
#pane-pick .room-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
#pane-pick .room-fields label{display:grid;gap:4px;font-size:.6rem}
#pane-pick .room-recent{font-size:.63rem;color:var(--muted)}
#pane-pick .output-name{font-weight:800}
#pane-pick .output-status{font-size:.63rem}
#pane-pick .output-judgment{color:#c6bfb6;font-size:.66rem;line-height:1.7}
#pane-pick .compare-name{font-weight:700}
#pane-pick .compare-note{grid-column:1/-1;color:var(--muted);font-size:.62rem}
@media(max-width:760px){#pane-pick .room-fields,#pane-pick .output-grid,#pane-pick .output-grid.dense{grid-template-columns:repeat(2,1fr)}}


/* ---- ① 機制模擬器：原版樣式（取自 /tools/seth-simulator/ 頁內 style，scope 在 #pane-pre）---- */
#pane-pre .sim-warn{border:2px solid #f59e0b;background:#fffbeb;color:#78350f;border-radius:12px;padding:14px 18px;margin:18px 0;font-size:14.5px;line-height:1.8}
#pane-pre .sim-warn b{color:#92400e}
#pane-pre .sim-shell{border:1px solid var(--line,#e2e8f0);border-radius:16px;padding:16px;background:linear-gradient(160deg,#101828,#1d2939);color:#e8eaf0}
#pane-pre .sim-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:12px 0}
#pane-pre .cell{aspect-ratio:1;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800;
#pane-pre font-size:clamp(11px,2.6vw,15px);background:#233043;border:1px solid #2f3d52;transition:transform .12s,opacity .12s}
#pane-pre .cell.win{outline:2px solid #fbbf24;transform:scale(1.04)}
#pane-pre .cell.gone{opacity:.18}
#pane-pre .cell.sc{background:#134e4a;border-color:#0d9488;color:#5eead4}
#pane-pre .cell.mx{background:#4c1d95;border-color:#7c3aed;color:#ddd6fe}
#pane-pre .cell.h{background:#3f2d12;border-color:#a16207;color:#fcd34d}
#pane-pre .sim-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}
#pane-pre .sim-bar button{border:0;border-radius:9px;padding:10px 16px;font-weight:800;cursor:pointer;font-size:14.5px}
#pane-pre .b-spin{background:#fbbf24;color:#231a05}
#pane-pre .b-auto{background:#334155;color:#e8eaf0}
#pane-pre .b-buy{background:#7c3aed;color:#fff}
#pane-pre .sim-bar button:disabled{opacity:.45;cursor:not-allowed}
#pane-pre .sim-stat{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px;margin-top:12px}
#pane-pre .sim-stat div{background:#1b2735;border:1px solid #2f3d52;border-radius:9px;padding:8px 10px}
#pane-pre .sim-stat span{display:block;font-size:11.5px;opacity:.65}
#pane-pre .sim-stat b{font-size:16px;font-variant-numeric:tabular-nums}
#pane-pre .sim-msg{margin-top:10px;font-size:14px;min-height:22px;color:#fcd34d;font-weight:700}
#pane-pre .batch-box{border:1px solid var(--line,#e2e8f0);border-radius:14px;padding:16px;margin-top:18px}
#pane-pre .batch-box label{font-size:14px;font-weight:700;margin-right:8px}
#pane-pre .batch-box select,.batch-box button{padding:9px 14px;border-radius:9px;font-size:14.5px}
#pane-pre .batch-box button{border:0;background:#2563eb;color:#fff;font-weight:800;cursor:pointer}
#pane-pre #batch-out{margin-top:14px;font-size:14.5px;line-height:1.9}
#pane-pre </style>
#pane-pre .sim-config{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:12px}
#pane-pre .sim-config label{display:grid;gap:4px;font-size:.62rem;color:#9aa3b2}
#pane-pre .sim-config input{width:120px;height:38px;padding:0 10px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#fff;font-family:inherit;font-size:.8rem}
#pane-pre .sim-config input:focus{outline:none;border-color:#f4cf78}
#pane-pre .sim-config button{height:38px;padding:0 14px;border:1px solid #f4cf78;background:rgba(244,207,120,.12);color:#f4cf78;font-family:inherit;font-size:.7rem;cursor:pointer}
/* 原頁面是淺色底，這些按鈕帶著 inline style 過來會變白底白字，必須用 !important 蓋掉 */
#pane-pick #add-room{background:transparent!important;border:1px solid rgba(244,207,120,.55)!important;color:#f4cf78!important;font-weight:700!important}
#pane-pick #add-room:hover{background:rgba(244,207,120,.1)!important}
#pane-pick #calc-all{background:linear-gradient(135deg,#f4cf78,#a97b2c)!important;border:1px solid #f4cf78!important;color:#15100a!important;font-weight:900!important}
#pane-pick .room-remove{color:#d9a0a0!important}
/* 閘門那塊帶著原站的 var(--blue) / var(--ink-mute) 過來，這頁沒有這些變數 → 按鈕變隱形 */
#pane-pick #claim-submit{background:linear-gradient(135deg,#f4cf78,#a97b2c)!important;border:1px solid #f4cf78!important;color:#15100a!important;font-weight:900!important}
#pane-pick #claim-code{background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important}
#pane-pick #claim-code::placeholder{color:#8a8279}
#pane-pick #claim-gate p{color:#b9b2aa!important}
#pane-pick #claim-gate h3{color:#f0e7d8}
#pane-pick #claim-msg{color:#ffc0c9!important}
@media(max-width:760px){.tool-tabs{grid-template-columns:repeat(4,1fr)}}
#pane-faq .hub-faq{color:#c6bfb6;font-size:.78rem;line-height:1.9}
#pane-faq .hub-faq h2{font-size:1.3rem;margin-bottom:14px;color:#f0e7d8}
#pane-faq .hub-faq h3{margin:20px 0 6px;font-size:.95rem;color:var(--bright)}
#pane-faq .hub-faq p{margin:0}

/* ══════════════════════════════════════════════════════════
   桌機版：分頁列改成左側 sidebar
   ──────────────────────────────────────────────────────────
   🔴 只在 ≥761px 生效。手機版維持上方分頁不動——手機沒有橫向空間
      放側欄，硬做只會把內容擠成一條。
   🔴 面板的上緣仍然吃 --pane-top（由 seth-hub.js 量分頁列高度算出）。
      側欄模式下分頁列高度＝整個可視高度，所以 syncPaneTop() 會算出
      一個過大的值——因此這裡把 --pane-top 覆寫回固定值，
      並改用 --pane-left 推開左邊。加新分頁不影響這兩個數字。
   ────────────────────────────────────────────────────────── */
@media(min-width:761px){
  :root{--rail-w:186px}

  .tool-tabs{
    top:68px;bottom:36px;right:auto;width:var(--rail-w);
    grid-template-columns:1fr;
    grid-auto-rows:max-content;
    align-content:start;
    gap:4px;padding:10px;
    overflow-y:auto;
    border-right:1px solid rgba(255,255,255,.07);
    background:linear-gradient(180deg,rgba(9,8,12,.94),rgba(5,4,8,.9));
  }
  .tool-tabs button{
    padding:10px 12px;text-align:left;
    font-size:.74rem;line-height:1.35;
  }
  .tool-tabs button b{font-size:.55rem;margin-bottom:3px}

  /* 面板整體右移，讓出側欄寬度；上緣回到「只有頂欄」的高度 */
  .tool-pane,
  #pane-live>.session-setup,
  #pane-live>.session-cockpit,
  #pane-live>.session-summary{
    inset:68px 0 36px var(--rail-w);
  }
}

/* 側欄夠寬時給多一點呼吸 */
@media(min-width:1200px){
  :root{--rail-w:210px}
  .tool-tabs button{padding:11px 14px;font-size:.78rem}
}
