:root{font-family:Inter,"Segoe UI","Noto Sans JP","Yu Gothic","Meiryo",sans-serif;color:#292c28;background:#f3f2ed;font-synthesis:none;--paper:#faf9f5;--ink:#292c28;--line:#d8d9d0;--muted:#74796d;--dark:#292e28;--soft:#e7e9df}*{box-sizing:border-box}body{margin:0;padding-bottom:120px}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:10px 14px;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#e3e6da}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #7c8e71;outline-offset:3px}a{color:inherit}input[type=number],select{border:1px solid #cbd0c2;background:#fffefb;border-radius:7px;padding:9px 11px;color:var(--ink);min-width:0}input[type=number]{width:100%}.topbar{max-width:1552px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px 32px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:21px;letter-spacing:3px;font-weight:700}.brand-mark{font-size:43px;font-weight:400}.brand-divider{padding:0 6px;font-weight:400;color:#92998c}.brand small{display:block;font-size:10px;letter-spacing:2.4px;font-weight:500;margin-top:4px}.topbar nav{display:flex;gap:8px;align-items:center}.prototype{color:var(--muted);font-size:12px;margin-right:12px}.quiet{border-color:transparent;background:transparent}.outline{background:transparent;border-color:#939d88}.text-button{padding:3px 0;font-size:12px;background:none;border:0;color:var(--muted)}main{max-width:1488px;margin:auto;padding:0 28px}.journey-head{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:30px 0 25px}.eyebrow{font-size:10px;letter-spacing:2.7px;color:var(--muted);margin:0 0 10px}.journey-head h1{font-size:clamp(25px,3vw,38px);line-height:1.2;letter-spacing:-1.5px;margin:0}.lead{font-size:13px;color:var(--muted);margin:12px 0 0}.scene-picker{display:grid;gap:6px;font-size:12px;font-weight:600;min-width:245px}.scene-picker select{font-weight:400}.scene-picker small{font-weight:400;color:var(--muted);font-size:10px}.room-track{display:flex;gap:9px;margin-bottom:22px;overflow-x:auto;padding-bottom:3px}.room-stop{display:flex;gap:12px;align-items:center;flex:1;min-width:145px;border-bottom:2px solid var(--line);padding:11px 8px;text-align:left;border-radius:0;background:none;border-width:0 0 2px}.room-stop.active{border-color:var(--ink)}.room-stop.done{color:#6a7860}.room-no{width:27px;height:27px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:12px}.room-stop strong{font-size:12px;display:block}.room-stop small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.game-layout{display:grid;grid-template-columns:minmax(265px,1fr) minmax(310px,1.12fr) minmax(265px,.94fr);gap:20px;align-items:start}.section-heading{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:14px}.section-heading h2{font-size:15px;margin:0;letter-spacing:.4px;white-space:nowrap}.section-heading h2 small{color:var(--muted);font-size:11px;margin-left:7px;font-weight:400}.muted{color:var(--muted);font-size:10px}.wheel-panel,.board-panel,.planning-panel,.result-panel{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:19px}.wheel-panel{background:#292e29;color:#f2f3e9;border-color:#292e29}.wheel-panel .muted{color:#afb5a6}.canvas-wrap{position:relative;max-width:420px;aspect-ratio:1;margin:auto}#wheel{width:100%;height:100%;display:block}.wheel-center{position:absolute;left:30%;top:32%;width:40%;height:38%;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.wheel-center small{font-size:10px;color:#bcc4b2}.wheel-center strong{font-size:clamp(43px,4.5vw,66px);font-weight:500;line-height:1.25;font-variant-numeric:tabular-nums}.wheel-center span{font-size:10px;color:#aab59e}.wheel-tools{display:flex;gap:6px;justify-content:space-between;align-items:center;border-top:1px solid #50564b;margin-top:7px;padding-top:8px}.wheel-tools button{font-size:10px;color:#d4dccb;padding:6px 0}.wheel-tools button:hover:not(:disabled){background:transparent;color:#fff}.foresee{margin-top:14px;border:1px solid #78846c;padding:12px;border-radius:8px;font-size:12px;line-height:1.7}.foresee strong{display:block;color:#f1f4e7;font-size:16px;letter-spacing:2px}.result-panel{margin-top:16px;font-size:12px;line-height:1.7}.result-panel:empty{display:none}.result-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.result-header h3{margin:0;font-size:15px}.result-summary{font-size:23px;margin:10px 0;font-variant-numeric:tabular-nums}.result-summary small{font-size:12px;color:var(--muted)}.result-money{display:flex;flex-wrap:wrap;gap:5px 13px;color:var(--muted);font-size:11px;border-top:1px solid var(--line);padding-top:9px}.result-panel details{margin-top:10px}.result-panel summary{cursor:pointer;font-size:11px;color:var(--muted)}.ball-result{border-bottom:1px solid var(--line);padding:7px 0}.ball-result:last-child{border:0}.ball-result ul{margin:3px 0;padding-left:17px;color:var(--muted);font-size:11px}.bust-tag{padding:3px 7px;border:1px solid #a08f78;border-radius:4px;color:#75604d;font-size:11px}.success-tag{padding:3px 7px;background:#e1e9d7;border-radius:4px;color:#4e603e;font-size:11px}.modes{display:flex;gap:5px}.modes button{flex:1;font-size:11px;padding:8px 3px;border-radius:6px}.modes button.selected{background:var(--dark);color:#f5f7ef;border-color:var(--dark)}.mode-help{font-size:10px;color:var(--muted);min-height:29px;line-height:1.5;margin:9px 0}.board-zero{margin-bottom:5px}.number{position:relative;border-radius:5px;min-height:33px;padding:5px;font-size:15px;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums;overflow:visible}.number.sun{background:#eeeee5;color:#333a2b;border-color:#d2d7c7}.number.moon{background:#596052;color:#f6f7f0;border-color:#596052}.number.zero{width:100%;font-size:16px;background:#dedfd3;border-color:#cdd1c1}.number.zero>span{font-weight:400;font-size:9px;margin-left:8px;color:#737a69}.number.target{box-shadow:inset 0 0 0 2px #a6b39a}.number.covered{outline:2px solid #b7c09e;outline-offset:-3px}.number-board{position:relative}.number-cells{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.number-cells>.number{height:34px;min-height:34px}.number::before{content:attr(data-glyph);position:absolute;left:6px;top:7px;font-size:9px;font-weight:400;opacity:.55}.marker{position:absolute;display:grid;place-items:center;right:3px;top:2px;width:22px;height:22px;background:#fdfcf5;color:#292e24;border:2px solid #33392e;border-radius:50%;font-size:10px;font-style:normal;font-weight:700;box-shadow:0 1px 2px #0003;z-index:2}.junctions{position:absolute;inset:0;pointer-events:none}.junction{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);width:23px;height:23px;display:grid;place-items:center;border-radius:50%;padding:0;border:1px solid #e9ecdf;background:#293127;color:#fff;font-size:13px;box-shadow:0 0 0 2px #f6f5ee;z-index:3}.junction.placed{background:#fafbef;color:#2d3327;border:2px solid #47553b;font-size:10px}.junction:hover:not(:disabled){background:#829373;color:#fff}.row-marker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto;min-width:23px;height:23px;font-size:10px;padding:1px 5px;pointer-events:none}.triple-options{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:5px}.triple-options button,.outside-options button{position:relative;font-size:10px;padding:8px 3px;border-radius:5px;min-height:32px}.outside-options{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:5px}.outside-options button.placed,.triple-options button.placed{background:#d9dfcc;border-color:#69785e}.mini-count{font-size:9px;margin-left:4px;font-weight:700}.board-presets{display:flex;flex-wrap:wrap;align-items:center;gap:5px;border-top:1px solid var(--line);margin-top:13px;padding-top:10px}.board-presets>span{font-size:10px;color:var(--muted);margin-right:3px}.board-presets button{font-size:10px;padding:6px 7px}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:4px 0 16px;border-bottom:1px solid var(--line)}.resource-grid span{display:block;font-size:10px;color:var(--muted)}.resource-grid strong{display:block;font-size:25px;font-weight:500;margin-top:6px;font-variant-numeric:tabular-nums}.orb-control{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:17px 0}.orb-control strong{font-size:12px}.orb-control small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.stepper{display:flex;border:1px solid var(--line);border-radius:8px;align-items:center;overflow:hidden}.stepper button{border:0;padding:7px 11px;border-radius:0;background:transparent;font-size:17px}.stepper output{min-width:27px;text-align:center;font-size:18px}.bets-list{max-height:185px;overflow:auto;padding-right:2px}.bets-empty{border:1px dashed #cbd1c0;border-radius:8px;padding:20px 12px;text-align:center;font-size:12px;line-height:1.8;color:var(--muted)}.bet-row{display:flex;align-items:center;gap:6px;justify-content:space-between;border-bottom:1px solid var(--line);padding:7px 0;font-size:11px}.bet-row>span{max-width:66%;overflow-wrap:anywhere}.bet-row small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.bet-adjust{display:flex;gap:5px;align-items:center}.bet-adjust button{padding:2px 7px;border-radius:4px;font-size:13px}.cost-line{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-top:13px}.small-note{font-size:10px;line-height:1.7;color:var(--muted)}.prediction{display:grid;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin-top:12px}.prediction>div{display:flex;gap:8px;justify-content:space-between;font-size:11px}.prediction strong{font-size:13px;font-variant-numeric:tabular-nums}.context-tip{font-size:11px;line-height:1.8;color:#626b56;margin:15px 0 0}.growth-summary{color:var(--muted);font-size:10px;line-height:1.8;margin-top:10px}.full{width:100%;margin-top:14px}.hand-section{margin:22px 0}.hand{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:12px}.spell{padding:15px;background:#eeeee6;border:1px solid var(--line);border-radius:10px;display:flex;gap:12px;align-items:flex-start;min-height:116px}.spell.selected{border-color:#687c55;background:#e3e9da}.spell-icon{font-family:Georgia,serif;font-size:29px;line-height:1.3;flex-shrink:0}.spell-content{flex:1;min-width:0}.spell h3{font-size:12px;margin:0 0 4px;display:flex;gap:8px;justify-content:space-between}.spell h3 small{font-size:10px;font-weight:400;color:var(--muted)}.spell p{font-size:10px;line-height:1.65;color:var(--muted);margin:0 0 8px}.spell-actions{display:flex;gap:5px;flex-wrap:wrap}.spell-actions button{font-size:10px;padding:6px 9px}.spell-actions button.active{background:var(--dark);color:#fff}.activation-dock{position:fixed;z-index:10;bottom:0;left:0;right:0;background:#f7f7efed;backdrop-filter:blur(16px);border-top:1px solid #c6cdbb;display:flex;gap:24px;align-items:center;justify-content:flex-end;padding:15px max(28px,calc((100vw - 1432px)/2));padding-bottom:max(15px,env(safe-area-inset-bottom))}.activation-dock>div:first-child{margin-right:auto;min-width:0}.activation-dock>div>span{display:block;font-size:13px;font-weight:600}.activation-dock small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.primary{background:var(--dark);color:#f7f8f0;border-color:var(--dark);font-weight:600;padding:15px 24px;min-width:180px;display:flex;justify-content:space-between;gap:24px;align-items:center;border-radius:8px}.primary:hover:not(:disabled){background:#44503c}.primary span{font-size:20px;font-weight:400}.fast-label{font-size:11px;white-space:nowrap;color:var(--muted)}.fast-label input{vertical-align:middle;accent-color:#59694b}.tutorial-banner,.end-banner{margin:0 0 20px;padding:16px 19px;border:1px solid #a7b295;border-radius:10px;background:#e8ecdf;line-height:1.8;font-size:12px}.tutorial-banner strong{margin-right:12px}.tutorial-banner small{display:block;color:#6b755e}.end-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#e1e8d6}.end-banner h2{font-size:21px;margin:0}.end-banner p{font-size:12px;margin:5px 0 0;color:#626e55}.end-banner button{white-space:nowrap}.shop-view{padding-top:40px}.shop-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.shop-heading h1{font-size:37px;letter-spacing:-1px;margin:5px 0 10px}.shop-heading p{font-size:13px;color:var(--muted);line-height:1.8}.shop-wallet{font-size:12px;text-align:right;padding-top:18px;white-space:nowrap}.shop-wallet strong{display:block;font-size:38px;font-weight:500;margin-bottom:5px}.shop-goods{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.good{padding:26px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.good-icon{font-size:37px;margin-bottom:18px;display:block;color:#57684b}.good small{font-size:10px;color:var(--muted)}.good h2{font-size:18px;margin:8px 0 10px}.good p{font-size:12px;line-height:1.8;color:var(--muted);min-height:44px}.good button{width:100%;margin-top:15px;display:flex;justify-content:space-between;font-size:12px}.shop-next{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:25px;margin-top:30px}.shop-next p{font-size:12px;color:var(--muted);line-height:1.8}.shop-next strong{color:var(--ink)}.shop-owned{font-size:12px;padding:15px 0;color:var(--muted)}dialog{border:1px solid #c8cfbc;border-radius:15px;background:var(--paper);color:var(--ink);width:min(690px,calc(100vw - 28px));padding:24px;max-height:88vh;overflow:auto;box-shadow:0 20px 90px #18201533}dialog::backdrop{background:#1c251f8c;backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.modal-head h2{margin:0;font-size:20px}.icon-button{border:0;background:transparent;font-size:25px;padding:2px 8px}.modal-copy{font-size:13px;line-height:1.9}.modal-copy h3{font-size:14px;margin:21px 0 5px}.modal-copy p{margin:7px 0}.modal-copy ol{padding-left:22px}.rule-table{border-collapse:collapse;width:100%;font-size:12px;margin:15px 0}.rule-table th,.rule-table td{text-align:left;border-bottom:1px solid var(--line);padding:9px 5px}.rule-table th{font-size:11px;color:var(--muted)}.settings-intro{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:20px}.room-settings{display:grid;grid-template-columns:50px 1fr 1fr 1fr 34px;gap:9px;align-items:center;margin-bottom:10px;font-size:12px}.room-settings label{display:block;min-width:0}.room-settings label span{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.room-settings button{padding:7px 0;align-self:end}.settings-extra{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;border-top:1px solid var(--line);padding-top:20px;font-size:12px}.settings-extra label span{display:block;margin-bottom:7px;color:var(--muted);font-size:11px}.settings-extra .wide{grid-column:1/-1}.settings-extra select{width:100%}.modal-actions{display:flex;gap:9px;justify-content:flex-end;align-items:center;margin-top:25px;flex-wrap:wrap}.modal-actions .primary{font-size:12px;padding:12px 18px;min-width:0}.setting-error{white-space:pre-line;font-size:12px;color:#916045;line-height:1.8}.pocket-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:16px 0}.pocket-choice{position:relative;padding:10px 0;border-radius:7px}.pocket-choice small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.pocket-choice.selected{outline:2px solid #758565;background:#e4eadb}.rewrite-value{display:flex;gap:15px;align-items:center;font-size:12px}.rewrite-value input{max-width:100px}.outcomes-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.outcome-cell{border:1px solid var(--line);border-radius:6px;padding:8px;text-align:center}.outcome-cell strong{display:block;font-size:19px}.outcome-cell small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.outcome-cell.perfect{background:#e2ead5;border-color:#778b61}.toast{position:fixed;left:50%;bottom:105px;transform:translate(-50%,15px);background:#2d3429;color:#f6f8ee;padding:12px 19px;border-radius:8px;font-size:12px;z-index:99;opacity:0;pointer-events:none;max-width:90vw;transition:.2s;line-height:1.6}.toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}.spinning .wheel-center strong{opacity:.35}.spinning #wheel{filter:brightness(1.12)}
.brand small{letter-spacing:.4px}.journey-head h1{font-size:clamp(24px,2.5vw,36px);line-height:1.45;letter-spacing:-.5px}
.reduction-panel{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:18px;margin-top:16px}.reduction-panel .section-heading{margin-bottom:9px;gap:8px;flex-wrap:wrap}.reduction-panel h2{font-size:15px}.table-rule{font-size:10px;color:#5c6b50;padding:4px 6px;background:#e9eddf;border-radius:4px}.table-intro{font-size:11px;color:var(--muted);margin:0 0 10px;line-height:1.7}.table-intro strong{color:var(--ink);font-weight:500}.reduction-table{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}.reduction-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.reduction-table th,.reduction-table td{text-align:left;padding:7px 5px;border-bottom:1px solid var(--line)}.reduction-table thead th{color:var(--muted);font-size:10px;font-weight:400}.reduction-table tbody th{font-weight:400;white-space:nowrap}.reduction-table td:nth-child(2){white-space:nowrap}.reduction-table td:last-child,.reduction-table thead th:last-child{text-align:right}.reduction-table td b{font-size:17px;font-weight:600}.reduction-table td small{font-size:9px;margin-left:3px;color:var(--muted)}.reduction-table tr.in-use{background:#e7edde}.table-placed{font-size:7px;vertical-align:middle;margin-left:4px;color:#61724f}.stack-example{margin-top:13px;padding:11px 12px;border-left:3px solid #7d8d6b;background:#eeeee6}.stack-example>span{font-size:10px;color:var(--muted);display:block;line-height:1.6}.stack-example>strong{display:block;font-size:16px;font-weight:600;margin-top:4px}.stack-example strong small{font-size:10px;margin-left:4px;font-weight:400}.table-notes{font-size:9px;line-height:1.8;color:var(--muted);margin:10px 0 0}
.mobile-orb-dock{display:none}
.junction:active:not(:disabled){transform:translate(-50%,-50%)}
.number.mixed{background:#c6ceba;color:#263123;border:1px dashed #657457}.number.absent{background:#e4e4dd;color:#999d92;border-style:dashed}.number.absent::after{content:'刻印なし';font-size:8px;position:absolute;right:4px;bottom:2px;font-weight:400}
@media(min-width:1500px){.number-cells>.number{height:38px}.number{min-height:38px}}
@media(max-width:1100px){.game-layout{grid-template-columns:minmax(250px,1fr) minmax(320px,1.2fr)}.planning-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px}.planning-panel>.section-heading,.planning-panel>.resource-grid{grid-column:1/-1}.bets-list{grid-column:1;grid-row:4/8}.orb-control{grid-column:1/-1;margin:7px 0}.cost-line,.planning-panel>.small-note,.prediction,.context-tip,.growth-summary{grid-column:2}.prediction{grid-row:4;margin-top:0}.planning-panel>.small-note{grid-row:6}.planning-panel>.cost-line{grid-row:5}.context-tip{margin-top:0}.hand{grid-template-columns:1fr 1fr}.section-heading .muted{font-size:9px}.shop-goods{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){body{padding-bottom:110px}.topbar{padding:15px 16px;gap:7px}.brand{font-size:16px;letter-spacing:2px;gap:6px}.brand-mark{font-size:33px}.brand small{font-size:8px;letter-spacing:1px}.topbar nav{gap:3px}.topbar nav button{font-size:11px;padding:8px}.topbar nav .prototype,.topbar nav [data-action=restart]{display:none}main{padding:0 15px}.journey-head{margin:23px 0 18px;align-items:flex-start;gap:18px;flex-direction:column}.journey-head h1{font-size:29px}.lead{font-size:11px}.scene-picker{width:100%;min-width:0;font-size:11px;grid-template-columns:1fr 1.75fr;align-items:center}.scene-picker small{grid-column:1/-1}.scene-picker select{width:100%;font-size:12px}.room-track{gap:4px;margin-bottom:15px}.room-stop{min-width:112px;padding:9px 4px;gap:7px}.room-stop strong{font-size:10px}.room-stop small{font-size:9px}.room-no{width:22px;height:22px;font-size:10px}.game-layout{display:flex;flex-direction:column;gap:14px}.wheel-column{width:100%;display:contents}.wheel-panel{width:100%;padding:16px}.canvas-wrap{width:245px;max-width:100%;margin:-7px auto -5px}.wheel-center strong{font-size:52px}.wheel-panel .section-heading{margin-bottom:0}.wheel-panel .wheel-tools{margin-top:0}.result-panel{width:100%;order:4;margin-top:0}.board-panel{width:100%;padding:15px;order:2}.planning-panel{width:100%;display:block;order:3;padding:16px}.modes button{padding:10px 3px;font-size:12px}.number-cells>.number{height:36px}.number{font-size:17px}.number::before{font-size:11px;left:12px;top:8px}.junction{width:27px;height:27px}.mode-help{min-height:0;margin-bottom:12px}.board-presets button{font-size:11px;padding:8px}.outside-options button,.triple-options button{font-size:11px;padding:10px 3px}.orb-control{margin:16px 0}.resource-grid{padding-bottom:13px}.resource-grid strong{font-size:28px}.bets-list{max-height:170px}.bet-row{font-size:12px;padding:8px 0}.bet-adjust button{padding:5px 10px}.prediction{margin-top:12px}.hand-section{margin-top:18px}.hand{grid-template-columns:1fr 1fr;gap:8px}.spell{display:block;padding:13px;min-height:0}.spell-icon{font-size:23px;margin-bottom:6px}.spell:first-child{grid-column:1/-1;display:flex}.spell p{font-size:11px}.spell h3{font-size:12px}.spell-actions button{font-size:11px;padding:9px 10px}.spell:last-child{grid-column:1/-1;display:flex}.activation-dock{gap:11px;padding:12px 15px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.activation-dock>div>span{font-size:11px}.activation-dock small{font-size:9px;max-width:185px;line-height:1.5}.activation-dock .primary{min-width:135px;font-size:13px;padding:13px 15px;gap:10px}.fast-label{font-size:10px}.fast-label input{margin:0 3px 0 0}.tutorial-banner{font-size:11px;padding:13px}.end-banner{padding:14px;align-items:flex-start;flex-direction:column;gap:13px}.end-banner h2{font-size:21px}.shop-view{padding-top:25px}.shop-heading{gap:10px}.shop-heading h1{font-size:29px}.shop-heading p{font-size:11px}.shop-wallet strong{font-size:29px}.shop-goods{gap:10px}.good{padding:17px 14px}.good-icon{font-size:29px;margin-bottom:12px}.good h2{font-size:15px}.good p{font-size:11px;min-height:55px}.good button{font-size:11px;padding:10px 8px}.shop-next{flex-direction:column;align-items:stretch}.shop-next .primary{justify-content:center}.shop-owned{font-size:11px;line-height:1.8}dialog{padding:18px 15px}.modal-head h2{font-size:18px}.room-settings{grid-template-columns:36px 1fr 1fr 1fr 24px;gap:5px;font-size:11px}.room-settings input{padding:8px 5px;font-size:13px}.room-settings label span{font-size:9px}.settings-extra{gap:14px 10px}.modal-actions{gap:7px}.modal-actions button{font-size:11px;padding:10px}.outcomes-grid{grid-template-columns:repeat(4,1fr)}.pocket-picker{gap:5px}.pocket-choice{padding:9px 0}.toast{bottom:98px;width:max-content}}
@media(max-width:700px){body{padding-bottom:155px}.activation-dock{flex-wrap:wrap;gap:7px 12px}.activation-dock>div:first-child{flex-basis:100%;display:flex;justify-content:space-between;gap:10px;align-items:center}.activation-dock>div:first-child>span{font-size:10px;flex:1}.activation-dock>div:first-child>small{margin:0;font-size:9px;max-width:53%;flex:1}.mobile-orb-dock{display:flex;align-items:center;gap:6px;font-size:11px;margin-right:auto}.mobile-orb-dock>span{font-size:10px!important}.mobile-orb-dock button{padding:5px 9px;min-width:29px}.mobile-orb-dock output{min-width:13px;text-align:center}.activation-dock .fast-label{margin-right:0}.activation-dock .primary{padding:10px 14px;min-width:135px}}
@media(max-width:700px){.reduction-panel{width:100%;order:1;margin-top:0;padding:15px}.journey-head h1{font-size:25px}.brand small{letter-spacing:0;font-size:8px}.section-heading>.muted{line-height:1.5;text-align:right}.reduction-table{font-size:12px}.reduction-table th,.reduction-table td{padding:8px 6px}}
.damage-legend{font-size:10px;line-height:1.7;color:var(--muted);margin:0 0 12px}.damage-legend>span{display:block;color:#627353}.number-cells>.number{height:44px;min-height:44px;padding-bottom:14px}.number.zero{min-height:40px}.damage-badge{position:absolute;right:6px;bottom:3px;font-size:10px;line-height:1.2;font-weight:500;color:#536447;pointer-events:none;white-space:nowrap}.moon .damage-badge{color:#e1ebd3}.damage-badge.is-exact{background:#daeac7;color:#284715;border-radius:3px;padding:1px 3px}.damage-badge.is-bust{color:#8b6441;background:#f4e7d5;border-radius:3px;padding:1px 3px}.number.hover-covered{outline:2px solid #5c7947;outline-offset:1px;box-shadow:inset 0 0 0 1px #eff5dd;z-index:1}.number.hover-dim{opacity:.48}.bet-preview{position:fixed;z-index:50;pointer-events:none;width:min(380px,calc(100vw - 24px));background:#fdfdf6;color:#283323;border:1px solid #8d9f7c;border-radius:10px;box-shadow:0 12px 40px #18241433;padding:14px;max-height:calc(100vh - 130px);overflow:hidden}.preview-heading{display:flex;justify-content:space-between;gap:12px;align-items:start}.preview-heading>strong{font-size:13px}.preview-heading>span{font-size:11px;font-weight:600;color:#566c43;white-space:nowrap}.preview-intro{font-size:10px;color:#737c69;line-height:1.6;margin:7px 0}.bet-preview table{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}.bet-preview th,.bet-preview td{text-align:right;padding:4px 5px;border-bottom:1px solid #dfe4d6;line-height:1.35}.bet-preview th:first-child{text-align:left}.bet-preview thead th{font-size:9px;font-weight:400;color:#77806c}.bet-preview tbody th{font-size:13px}.bet-preview td b{font-size:14px}.bet-preview th small{font-size:9px;margin-left:4px;font-weight:400}.bet-preview td small{display:block;font-size:9px;color:#8b6441}.preview-bust{background:#f4ebde}.preview-exact{background:#e0ecd2}.preview-formula{padding:8px;background:#edf1e6;font-size:10px;line-height:1.8;margin:9px 0}.preview-foot{font-size:9px;line-height:1.7;color:#6c795e;margin:8px 0 0}.shop-goods{grid-template-columns:repeat(2,1fr)}
@media(max-width:700px){.damage-badge{font-size:10px}.number-cells>.number{height:46px;min-height:46px}.bet-preview{padding:12px}.preview-heading>strong{font-size:12px}.preview-heading>span{font-size:10px}.damage-legend{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.board-panel{user-select:none;-webkit-user-select:none}
.game-layout{gap:12px}.board-panel>.section-heading{margin-bottom:10px}.board-panel>.modes{margin-bottom:10px}.board-presets{display:block;margin-top:13px;padding-top:11px}.preset-tag-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.preset-tag-head>span{font-size:10px;color:var(--muted)}.board-presets .preset-switch button{min-width:0;min-height:28px;padding:4px 9px;font-size:10px}.preset-tag-list{display:flex;flex-wrap:wrap;gap:6px}.preset-tag-list>button{min-height:30px;padding:5px 9px;font-size:10px;line-height:1.5;border-radius:6px}.planning-panel>.trial-display{margin-top:15px}.operation-help{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.operation-help>summary{font-size:11px;color:#6b7b5d;cursor:pointer}.operation-help .mode-help{font-size:11px;min-height:0}.operation-help .damage-legend{font-size:10px;margin:9px 0 0}
@media(max-width:1100px) and (min-width:701px){.planning-panel>.betting-toolbar{grid-column:1/-1}.planning-panel>.trial-display{grid-column:2}.planning-panel>.operation-help{grid-column:1/-1}}
@media(max-width:700px){.game-layout{gap:12px}.board-panel{order:1}.planning-panel{order:2}.reduction-panel{order:3}.result-panel{order:4}.preset-tag-list>button{font-size:10px;min-height:32px;padding:6px 9px}.board-presets .preset-switch button{min-height:31px}.board-panel>.section-heading{margin-bottom:9px}.board-panel>.modes{margin-bottom:10px}}
.journey-head{margin:22px 0 18px}.room-track{margin-bottom:15px}.play-nav{position:sticky;top:0;z-index:8;display:flex;gap:6px;padding:9px 0;margin:0 0 14px;background:#f3f2edf5;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.play-nav button{min-height:38px;padding:8px 22px;font-size:12px;background:var(--paper)}#star-chart,#betting-board,#bets-list,#spell-hand{scroll-margin-top:65px}.betting-toolbar{display:flex;align-items:center;gap:9px;margin:5px 0 14px;font-size:11px;color:#647359}.betting-toolbar>small{font-size:10px}.chip-choices{display:flex;gap:5px}.chip-choices button{width:37px;height:37px;border-radius:50%;padding:0;font-size:13px;font-weight:600}.chip-choices button.selected,.preset-switch button.selected{background:#303c29;border-color:#303c29;color:#f6faee}.template-bar{padding:11px 12px;border:1px solid #d6dfcb;border-radius:9px;background:#edf1e5;margin-bottom:14px}.template-bar>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center}.template-bar strong{font-size:11px}.template-bar .text-button{font-size:10px;color:#526a3d;min-height:30px}.quick-presets{display:flex;gap:5px;margin-top:6px}.quick-presets button{flex:1;min-height:34px;padding:7px 4px;font-size:10px;white-space:nowrap}.template-bar>small{display:block;color:#738366;font-size:9px;margin-top:7px;line-height:1.6}.bets-tools{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:15px 0 7px}.bets-tools>strong{font-size:12px}.bets-tools>div{display:flex;gap:6px}.bets-tools button{font-size:10px;min-height:32px;padding:6px 8px}.bets-tools #clear-bets{color:#81715c}.bets-list{max-height:290px;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain;padding-right:3px}.bet-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center;padding:12px 0}.bet-label{min-width:0}.bet-label strong{display:block;font-size:12px;line-height:1.6;overflow-wrap:anywhere;font-weight:500}.bet-label small{font-size:9px;line-height:1.6}.bet-adjust{gap:4px;white-space:nowrap}.bet-adjust button{width:29px;min-height:32px;padding:5px 0;font-size:14px}.bet-adjust>strong{min-width:20px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}.bet-adjust .remove-bet{width:38px;min-height:32px;margin-left:3px;font-size:10px;border-color:#b7b3a5;color:#76644e;background:#f8f5ed}.bet-adjust .remove-bet:hover{background:#ece4d5}.bet-help{font-size:9px;color:#758469;line-height:1.8;margin:8px 0 11px}.bets-empty{padding:18px 5px;text-align:center;display:grid;gap:10px;line-height:1.7}.bets-empty strong{font-size:12px;font-weight:500}.bets-empty>span{font-size:10px}.bets-empty button{font-size:11px}.modal-head h2{margin-right:auto}#modal-continue{font-size:11px;min-height:36px;padding:8px 12px;white-space:nowrap}
dialog[data-kind=templates]{width:min(900px,calc(100vw - 28px))}.template-intro{font-size:12px;color:#6b7d5b;line-height:1.8;margin:0 0 12px}.template-intro strong{font-size:16px;color:#304326}.preset-switch{display:inline-flex;border:1px solid #c6d0ba;border-radius:8px;overflow:hidden}.preset-switch button{border:0;border-radius:0;font-size:12px;min-width:100px;min-height:38px}.template-hint{font-size:11px;line-height:1.8;color:#6d7f5c;margin:10px 0 17px}.preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.preset-card{text-align:left;padding:15px;display:flex;flex-direction:column;gap:9px;border-radius:10px;border:1px solid #d1dbc5;background:#fafbf4;min-width:0}.preset-card:hover:not(:disabled){background:#eaf1df;border-color:#8fa575;transform:translateY(-2px)}.preset-card:disabled{opacity:.6;cursor:not-allowed}.preset-tag{align-self:flex-start;font-size:9px;color:#61784e;background:#e7eddd;border-radius:4px;padding:3px 6px}.preset-card>strong{font-size:15px;line-height:1.5}.preset-desc{font-size:11px;color:#6a7a5c;line-height:1.8;flex:1}.preset-stats{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;color:#677d56;border-top:1px solid #dce5d2;padding-top:9px}.preset-stats>b{font-size:12px;color:#384e2a}.preset-chance{font-size:10px;color:#637a51;line-height:1.6}.preset-apply{font-size:11px;color:#38572a;font-weight:600}.preset-error{font-size:10px;color:#8a7050;line-height:1.7}
@media(max-width:1100px) and (min-width:701px){.bets-tools,.planning-panel>.bet-help{grid-column:1}.bets-tools{grid-row:4}.planning-panel>.bets-list{grid-row:5/9}.planning-panel>.prediction{grid-row:5}.planning-panel>.cost-line{grid-row:6}.planning-panel>.small-note{grid-row:7}}
@media(max-width:700px){.play-nav{gap:5px;padding:8px 0;margin-bottom:12px}.play-nav button{flex:1;min-width:0;min-height:40px;padding:8px 4px;font-size:11px}.journey-head{margin:20px 0 15px}.bets-list{max-height:320px}.bet-adjust button{width:32px;min-height:36px}.bet-adjust .remove-bet{width:42px;min-height:36px;font-size:11px}.bet-label strong{font-size:12px}.bets-tools button{min-height:35px;font-size:10px;padding:6px 9px}.bet-help{font-size:10px}.quick-presets button{min-height:37px;font-size:10px}.betting-toolbar{font-size:11px}.template-bar>small{font-size:10px}.preset-grid{grid-template-columns:1fr 1fr;gap:9px}.preset-card{padding:12px 10px;gap:7px}.preset-card>strong{font-size:13px}.preset-desc{font-size:10px}.preset-stats{flex-wrap:wrap;font-size:9px;gap:4px}.preset-stats>b{font-size:11px}.preset-chance{font-size:9px}.preset-tag{font-size:9px}.preset-apply{font-size:10px}.modal-head{gap:8px}#modal-continue{font-size:10px;padding:8px}.modal-head .icon-button{font-size:22px;padding:3px 6px}}
.orb-readout{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 2px;font-size:11px;color:#e5ecd9}.orb-tray{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.orb-token{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:29px;height:29px;border-radius:50%;border:2px solid #768666;background:radial-gradient(circle at 32% 26%,#fff,#f8f7dd 55%,#c7d1b0);color:#26351f;font-size:13px;font-weight:700;box-shadow:0 0 0 3px #f5ffe514}.orb-token.small{width:27px;height:27px;font-size:12px}.orb-landings{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:12px 0 3px;font-size:11px;color:#c4d0b9}.orb-landings strong{padding:6px 9px;border:1px solid #869873;background:#39472f;border-radius:6px;color:#f4f9e8;font-size:17px}.orb-landings small{font-size:9px;color:#c5d6b3;vertical-align:super;margin-right:5px}.spinning #wheel{filter:none}.spinning .wheel-center strong{opacity:.8}
.trial-display{height:150px;margin:0 0 15px}.trial-card{height:100%;padding:13px 15px;border-radius:9px;background:#303c29;color:#f7faed;border:1px solid #738a5d;overflow:hidden}.trial-caption{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#dae4cf}.trial-caption>b,.trial-caption b{font-size:14px;color:#fff}.trial-caption small{font-size:10px;white-space:nowrap}.trial-equation{display:flex;gap:16px;align-items:center;margin:8px 0}.trial-equation>div{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.trial-equation>div>small:first-child{flex-basis:100%;font-size:9px;color:#ccd9bd;line-height:1}.trial-equation b{font-size:27px;font-weight:500;line-height:1.05}.trial-equation strong{font-size:36px;font-weight:600;line-height:1.05}.trial-equation i{font-size:23px;font-style:normal;color:#b4c6a2}.trial-equation>div>small:last-child{font-size:10px}.trial-add{margin-left:auto;text-align:right;font-size:9px;color:#d6e3c9;line-height:1.5}.trial-add b{font-size:17px}.trial-seal{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:11px;color:#d5e0c9}.trial-seal>b{font-size:15px;color:#fff}.trial-seal em{font-style:normal;font-size:10px;background:#e6eed8;color:#334329;border-radius:3px;padding:2px 5px}.trial-card.warning{background:#534736;border-color:#998569}.trial-card.perfect{background:#405a30;border-color:#a5be85}.trial-empty{height:100%;display:flex;justify-content:center;flex-direction:column;gap:8px;padding:14px;border:1px dashed #9eac90;background:#edf0e6;border-radius:9px}.trial-empty>span{font-size:10px;color:#6b7d5c}.trial-empty>strong{font-size:24px;font-weight:500}.trial-empty i{font-style:normal;color:#8da17b;padding:0 8px}.trial-empty>small{font-size:10px;color:#708161}
.bet-preview{width:min(480px,calc(100vw - 24px));padding:16px;box-shadow:0 16px 50px #17201344;border:2px solid #7b9266}.preview-heading>strong{font-size:15px}.preview-heading>span{font-size:12px}.preview-intro{font-size:11px}.bet-preview .trial-card{height:auto;min-height:128px;margin:9px 0 12px;padding:12px}.bet-preview table{font-size:13px}.bet-preview th,.bet-preview td{padding:6px}.bet-preview tbody th{font-size:16px}.bet-preview td b{font-size:19px}.bet-preview thead th{font-size:10px}.preview-formula{font-size:11px;padding:10px}.preview-foot{font-size:10px}.number-cells>.number{height:52px;min-height:52px;font-size:18px;padding-bottom:17px}.damage-badge{font-size:13px;bottom:3px;right:5px;font-weight:700}.damage-badge.is-bust{font-size:10px}.number.hover-covered{outline-width:3px}.number.hover-dim{opacity:.6}.number.last-landed{box-shadow:inset 0 0 0 2px #91a775}.prediction{background:#eff2e8;border-radius:8px;padding:16px 12px;gap:14px}.prediction strong{font-size:22px}.prediction>div{align-items:center}
dialog[data-kind=settlement]{width:min(860px,calc(100vw - 28px))}dialog[data-kind=settlement] .modal-head{position:sticky;top:-24px;z-index:3;background:var(--paper);padding:10px 0;border-bottom:1px solid var(--line);margin-top:-10px}.settlement-status{background:#303c29;border:1px solid #687d54;border-radius:10px;padding:17px 20px;color:#f5f9eb}.settlement-status>span{display:block;font-size:13px;color:#d2e1c1}.settlement-status>strong{font-size:38px;line-height:1.35;font-weight:600;display:block;font-variant-numeric:tabular-nums}.settlement-status>small{font-size:10px;color:#c6d5b6}.settlement-status.is-bust{background:#574a37;border-color:#a18e70}.settlement-status.is-clear{background:#3c5a2c}.settlement-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.settlement-metrics>div{padding:13px 15px;background:#edf0e5;border:1px solid #d8e0cc;border-radius:8px}.settlement-metrics span{font-size:11px;color:#68795a;display:block}.settlement-metrics strong{font-size:30px;font-weight:600;display:block;line-height:1.35}.settlement-metrics strong small{font-size:12px;margin-left:5px;font-weight:400}.settlement-warning{font-size:12px;line-height:1.8;padding:10px 13px;background:#f1e6d5;border-left:3px solid #a18b65}.settlement-ledger{padding:14px 17px;background:#f0f1e9;border:1px solid var(--line);border-radius:8px;margin:14px 0 18px}.settlement-ledger h3{font-size:13px;margin:0 0 9px}.settlement-ledger p{margin:5px 0;display:flex;gap:14px;justify-content:space-between;align-items:center;flex-wrap:wrap}.settlement-ledger p span{font-size:11px;color:#68795b}.settlement-ledger p strong{font-size:20px;font-variant-numeric:tabular-nums}.settlement-ledger>small{font-size:10px;color:#748167;line-height:1.7;display:block;margin-top:7px}.settlement-ball{border:1px solid #d4ddc9;border-radius:9px;margin-bottom:13px;padding:13px 15px}.settlement-ball h3{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;margin:0 0 11px}.settlement-ball h3>b{font-size:24px}.settlement-ball h3>i{font-style:normal;font-size:20px;color:#8ba276}.settlement-ball h3>small{font-size:10px;font-weight:400;margin-left:auto;color:#71855d}.settlement-ball table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.settlement-ball th,.settlement-ball td{text-align:left;padding:8px 6px;border-bottom:1px solid #e1e6d8;overflow-wrap:anywhere}.settlement-ball thead th{font-size:10px;font-weight:400;color:#6b7c5c}.settlement-ball tbody th{font-size:11px;font-weight:500}.settlement-ball td:last-child{font-variant-numeric:tabular-nums}.settlement-ball-total{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;margin:11px 0 0;color:#687c56}.settlement-ball-total b{font-size:14px;color:#2b3a21;margin-left:6px}
@media(max-width:700px){.canvas-wrap{width:300px;margin:0 auto}.orb-readout{font-size:11px}.orb-token{width:27px;height:27px;font-size:12px}.orb-landings strong{font-size:16px}.number-cells>.number{height:54px;min-height:54px}.damage-badge{font-size:13px}.trial-display{height:148px}.trial-card{padding:13px 12px}.trial-equation{gap:13px}.trial-equation strong{font-size:34px}.trial-seal{gap:5px;font-size:10px}.trial-seal>b{font-size:14px}.bet-preview{padding:12px}.preview-heading{gap:8px}.preview-heading>strong{font-size:13px}.preview-heading>span{font-size:11px}.bet-preview table{font-size:12px}.bet-preview td b{font-size:17px}.bet-preview .trial-card{min-height:124px}.prediction strong{font-size:23px}dialog[data-kind=settlement] .modal-head{top:-18px}.settlement-status{padding:14px}.settlement-status>strong{font-size:31px}.settlement-metrics{gap:6px}.settlement-metrics>div{padding:11px 9px}.settlement-metrics span{font-size:10px}.settlement-metrics strong{font-size:25px}.settlement-ledger{padding:12px}.settlement-ledger p{gap:4px}.settlement-ledger p strong{font-size:19px}.settlement-ball{padding:12px 9px}.settlement-ball th,.settlement-ball td{padding:8px 4px;font-size:10px}.settlement-ball-total{font-size:10px}.settlement-ball-total b{font-size:12px}}
@media(max-width:1100px) and (min-width:701px){.planning-panel{display:block}}

/* Feedback after reducing a placed bet. */
.bet-reduced{animation:bet-reduced-flash .4s ease-out} @keyframes bet-reduced-flash{from{box-shadow:inset 0 0 0 3px #a28461;background:#eee0ca}to{box-shadow:inset 0 0 0 0 transparent}}
@media(prefers-reduced-motion:reduce){.bet-reduced{animation:none;outline:2px solid #a28461}}
