@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700;800&family=Zen+Maru+Gothic:wght@500;700;900&display=swap');
:root{font-family:'DM Sans','Noto Sans JP',sans-serif;color:#393c36;background:#f8f6f0;font-synthesis:none;--coral:#da7965;--teal:#568d89;--gold:#d4ac54;--violet:#9b8bb3;--muted:#909086;--line:#e9e6dc;--paper:#fffefa}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #427e7c;outline-offset:4px}button{color:inherit}a{color:inherit;text-decoration:none}button[hidden],[hidden]{display:none!important}.site-header{max-width:1320px;margin:auto;height:105px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 32px}.brand{display:flex;gap:13px;align-items:center;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:23px;letter-spacing:.08em}.brand-light{font-weight:500}.brand small{display:block;font-family:'DM Sans',sans-serif;font-weight:600;font-size:9px;letter-spacing:.28em;margin-top:2px;color:#85877d}.brand-mark{font-family:serif;font-size:52px;line-height:1;color:var(--coral);font-weight:normal}.header-right{display:flex;gap:23px;align-items:center}.local-badge{font-size:11px;letter-spacing:.04em;color:#83867b}.local-badge i,.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#738c65;margin-right:8px}.icon-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);background:transparent;border-radius:50%;font-size:24px}.icon-button svg{width:17px;height:17px}.quiet-button{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:10px 16px;font-size:12px;display:flex;align-items:center;justify-content:center;gap:7px}.circle-help{width:16px;height:16px;border:1.4px solid currentColor;border-radius:50%;font-size:11px;text-align:center;line-height:14px}main{max-width:1256px;margin:auto;padding:0 0 30px}.intro{padding:42px 0 33px;display:flex;align-items:center;justify-content:space-between}.eyebrow,.tiny-label{font-family:'DM Sans',sans-serif;font-size:9px;font-weight:600;letter-spacing:.17em;color:#96968a}.eyebrow{font-size:10px;margin:0 0 12px;color:#888b7c}.intro h1{font-family:'Zen Maru Gothic',sans-serif;font-size:36px;letter-spacing:.04em;margin:0;line-height:1.45;font-weight:700}.intro h1 span{color:var(--coral)}.intro-copy{font-size:12px;color:#84857b;margin:10px 0 0;letter-spacing:.08em}.game-meta{padding-right:3px;text-align:right;display:grid;gap:5px}.game-meta>span{font-size:9px;letter-spacing:.17em;color:#93988a}.game-meta b{font-size:13px;font-weight:500}.game-meta small{font-size:10px;color:#93958c}.game-layout{display:grid;grid-template-columns:248px minmax(0,1fr) 280px;gap:24px;align-items:start}.left-panel,.right-panel{display:grid;gap:22px}.players{display:grid;gap:12px}.player-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#fdfcf8;border-radius:13px;padding:20px 15px;position:relative;overflow:hidden;min-height:101px}.player-card.active{border-color:#df9987;background:#fff9f2;box-shadow:0 3px 12px #b2876310}.player-card.active:before{content:'';width:3px;position:absolute;top:19px;bottom:19px;left:0;background:var(--coral);border-radius:0 3px 3px 0}.player-1.active{border-color:#72a29a;background:#f0f8f5}.player-1.active:before{background:var(--teal)}.player-avatar{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:#f6e5dc;color:#b96c58;font-family:'Zen Maru Gothic',sans-serif;font-size:19px}.player-1 .player-avatar{background:#e5efea;color:#608c82}.player-info{flex:1}.player-info .tiny-label{font-size:8px;letter-spacing:.13em}.player-info h2{font-size:12px;font-weight:600;margin:4px 0 7px;white-space:nowrap}.player-status{font-size:9px;color:#99998e}.active .player-status{color:#bd725d}.player-1.active .player-status{color:#55867b}.score{font-size:36px;font-weight:500;line-height:1;color:#696e62;display:flex;align-items:baseline;gap:3px}.active .score{color:#b96855}.score small{font-size:10px;color:#929587}.guide-card{background:#f0f0e7;border:1px solid #e8e9dc;border-radius:14px;padding:20px 19px 12px;overflow:hidden}.guide-heading{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.guide-heading h2{font-family:'Zen Maru Gothic',sans-serif;font-size:19px;margin:0}.guide-heading h2 small{font-family:'DM Sans',sans-serif;font-size:10px;font-weight:400;color:#989b89;margin-left:6px}.flower{font-size:26px;color:#bfc5a7}.speech{position:relative;background:#fffdf7;border-radius:10px;padding:14px 12px;font-size:11px;line-height:1.9;margin:15px 0 0;min-height:70px;box-shadow:0 2px 2px #65634c04}.speech:after{content:'';position:absolute;bottom:-8px;left:45%;border-left:9px solid transparent;border-right:9px solid transparent;border-top:10px solid #fffdf7}.character-wrap{position:relative;height:225px;display:grid;place-items:center}.character-halo{width:174px;height:174px;background:#e4e6d6;border-radius:50%;position:absolute;top:23px}.character-wrap img{position:relative;width:224px;height:224px;object-fit:contain;mix-blend-mode:multiply;animation:breathe 5s ease-in-out infinite}.deco-star{position:absolute;color:#b6bc9a;font-size:26px}.deco-star.one{top:25px;left:2px}.deco-star.two{right:0;top:138px;font-size:33px}.character-caption{position:absolute;bottom:0;font-family:'Zen Maru Gothic',sans-serif;color:#81876d;font-size:10px;letter-spacing:.06em;background:#f0f0e7db;border-radius:6px;padding:3px 9px}.credit{font-size:7px;text-align:center;color:#9da08e;margin:15px 0 0;letter-spacing:.02em}.board-panel{border:1px solid #e3e3d8;border-radius:17px;background:var(--paper);padding:24px 22px 16px;box-shadow:0 5px 22px #6e705807}.board-heading{display:flex;align-items:center;justify-content:space-between;gap:6px}.board-heading b{font-size:13px;font-weight:600}.board-heading .live-dot{background:var(--coral);width:7px;height:7px}.turn-counter{font-size:8px;letter-spacing:.08em;color:#989a8f;white-space:nowrap}.turn-counter b{font-size:19px;font-weight:500;color:#4b5146;margin:0 4px 0 7px}.turn-counter>span{font-size:10px}.board-subheading{font-size:10px;color:#93958b;display:flex;justify-content:space-between;gap:10px;margin:13px 0 21px}.board-subheading>span:last-child{white-space:nowrap}.board-shell{background:#f2f1e9;border:1px solid #e7e7dc;border-radius:13px;padding:12px 10px 9px}.board-coordinates,.board-grid,.column-sums{display:grid;grid-template-columns:18px repeat(4,minmax(0,1fr)) 30px;gap:9px}.board-coordinates{margin-bottom:8px;align-items:center;text-align:center;font-size:10px;line-height:20px;color:#929789}.board-coordinates>span:last-child{font-size:8px}.board-grid{align-items:center}.row-label{text-align:center;font-size:10px;color:#929789}.cell{padding:0;border:1px solid #e1e1d5;background:#fafaf4;border-radius:10px;aspect-ratio:1;min-width:0;display:grid;place-items:center;position:relative;box-shadow:0 2px 0 #e7e7dc;transition:background .15s,transform .15s,border-color .15s}.cell-plus{color:#d1d5c5;font-size:20px;font-weight:400;line-height:1}.cell-coordinate{position:absolute;bottom:5px;left:7px;font-size:7px;color:#b7bdad;opacity:0}.cell.available{cursor:pointer;background:#fffef8}.cell.available:hover{background:#f7ecd9;border-color:#d4b887;transform:translateY(-2px)}.cell.available:hover .cell-coordinate,.cell.selected .cell-coordinate{opacity:1}.cell.selected{border:2px solid #cb8e70;background:#fcf2e5}.cell.occupied{background:#eaeadd;box-shadow:none;border-color:#e6e6d9}.cell.last-placed:after{content:'';position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:#7a8772}.line-sum{display:grid;place-items:center;font-size:14px;color:#929889;font-weight:500;height:28px}.sum-good{background:#dcead7;color:#528154;border-radius:7px}.sum-bad{background:#f6e0d7;color:#b56b55;border-radius:7px}.column-sums{align-items:center;margin-top:10px}.sum-caption{font-size:7px;color:#949989}.die{width:76%;aspect-ratio:1;border-radius:12px;padding:15%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:13%;position:relative;box-shadow:inset 0 2px 1px #ffffff50,inset 0 -4px 0 #00000015,0 4px 6px #38382b15;background:var(--die-color);transform:rotate(-5deg);border:1px solid #00000006;color:#fffaf0}.coral{--die-color:#db7c68;background-color:var(--die-color)}.teal{--die-color:#629795;background-color:var(--die-color)}.gold{--die-color:#d8b35d;background-color:var(--die-color)}.violet{--die-color:#a595ba;background-color:var(--die-color)}.pip{width:100%;height:100%;border-radius:50%;background:transparent;display:block}.pip.on{background:#fffaf0;box-shadow:inset 0 1px 1px #00000015}.die-color-symbol{position:absolute;right:4px;bottom:3px;font-size:6px;color:#fff8e9b0;line-height:1}.die.ghost{opacity:.65;transform:rotate(0)}.die.mystery{display:grid;place-items:center;background:#e4b36d;transform:rotate(-12deg);border-radius:20px;padding:0;box-shadow:inset 1px 3px 2px #ffffff66,inset -5px -7px 0 #9c76321a,9px 14px 15px #8b704523}.mystery span{font-size:52px;color:#fff9e9;font-family:'Zen Maru Gothic',sans-serif;font-weight:700}.board-legend{display:flex;align-items:center;gap:13px;font-size:9px;color:#8c9283;margin:17px 0 22px}.board-legend>span{display:flex;align-items:center;gap:5px}.legend-dot{width:7px;height:7px;border-radius:2px;display:inline-block}.board-legend .legend-note{margin-left:auto;font-size:8px}.preview-panel{display:flex;gap:12px;align-items:center;padding:15px 12px;border:1px dashed #deded0;background:#fafaf3;border-radius:9px;font-size:11px;line-height:1.6;min-height:76px}.preview-panel small{display:block;font-size:9px;color:#989b8c;line-height:1.8;margin-top:3px}.preview-icon{font-size:25px;color:#a7ae96}.preview-points{font-size:24px;font-weight:600;white-space:nowrap}.preview-points small{display:inline;font-size:10px;margin-left:2px}.preview-panel.reward{background:#f0f6e9;border-color:#b8cba2}.preview-panel.danger{background:#fff0e9;border-color:#e0a28b;color:#ad5e47}.preview-panel.danger small{color:#b77d65}.board-bottom{margin-top:20px;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#a0a28f;gap:8px}.tiny-flower{font-size:13px;color:#a3ac89;margin-right:3px}.text-button{border:0;background:transparent;font-size:10px;color:#8c9380;padding:6px 0;white-space:nowrap}.text-button:hover{text-decoration:underline}.roll-card,.score-guide{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:21px 20px}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h2{font-size:12px;font-weight:600;margin:0}.section-heading .tiny-label{font-size:8px;letter-spacing:.13em}.roll-stage{height:156px;position:relative;display:grid;place-items:center;margin-top:4px}.stage-ring{position:absolute;width:120px;height:120px;border-radius:50%;border:1px dashed #e6dfcb;background:radial-gradient(circle,#faf2df66,transparent 70%)}#held-die{width:90px;height:90px;display:grid;place-items:center;position:relative}#held-die .die{width:88px;height:88px;padding:18px;gap:8px;border-radius:17px}#held-die .mystery{padding:0}.roll-spark{position:absolute;color:#c9ba8f}.spark-a{top:28px;right:35px;font-size:25px}.spark-b{left:28px;bottom:29px;font-size:17px}.die-description{font-size:10px;text-align:center;color:#929486;margin:0 0 17px}.primary-button{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #c96d58;border-radius:9px;background:#d77b65;color:#fffdf8;font-size:12px;font-weight:600;padding:14px 10px;box-shadow:0 3px 0 #b3654b22;transition:background .2s,transform .2s}.primary-button:hover:not(:disabled){background:#c96c57;transform:translateY(-1px)}.primary-button:disabled{background:#ded9cc;border-color:#d4cebf;color:#959282;box-shadow:none}.primary-button>span:first-child{font-size:19px;line-height:1}.primary-button>span:last-child{margin-left:auto;font-size:18px}.primary-button>span:first-child{margin-right:auto}.roll-note{font-size:8px;color:#aaa898;text-align:center;margin:11px -5px 19px}.bag-heading{border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;font-size:10px;color:#858977}.bag-heading b{font-family:'DM Sans';font-size:14px;color:#575f4d;font-weight:500}.bag-colors{display:grid;grid-template-columns:repeat(4,1fr);margin-top:12px;gap:8px}.bag-colors>div{display:grid;grid-template-columns:1fr 1fr;gap:3px;align-items:center;text-align:center;font-size:8px;color:#939780}.bag-colors b{grid-column:1/-1;font-size:11px;font-weight:500;color:#747c66;margin-top:3px}.bag-die{border-radius:4px;width:24px;height:24px;display:grid;place-items:center;color:#fffae9;font-size:11px}.score-guide{padding-top:20px}.score-guide .section-heading{margin-bottom:15px}.rule-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #efeee6}.rule-row>div{font-size:10px;flex:1}.rule-row small{display:block;font-size:8px;color:#a1a18e;margin-top:4px}.rule-row b{font-size:18px;font-weight:500}.rule-symbol{background:#f1f1e8;border-radius:6px;min-width:31px;height:31px;display:grid;place-items:center;font-size:14px;font-weight:600;color:#888e74}.rule-symbol>span{font-size:8px;display:inline}.rule-symbol:has(>span){display:flex;align-items:center;justify-content:center}.same-color{color:var(--coral);font-size:25px;letter-spacing:0}.positive{color:#5e977a}.negative{color:#cd7967}.neutral{color:#949686}.mini-rainbow{display:grid;grid-template-columns:repeat(2,8px);gap:3px;background:#f1f1e8;border-radius:6px;width:31px;height:31px;padding:6px}.mini-rainbow i{background:var(--coral);border-radius:2px}.mini-rainbow i:nth-child(2){background:var(--teal)}.mini-rainbow i:nth-child(3){background:var(--gold)}.mini-rainbow i:nth-child(4){background:var(--violet)}.rule-footnote{font-size:9px;line-height:1.9;color:#939781;margin:13px 0 0}.history-section{margin:30px 0 0;border-top:1px solid var(--line);padding-top:22px}.history-heading{display:flex;justify-content:space-between;align-items:center}.history-heading h2{font-size:12px;font-weight:500;margin:0}.history-heading h2 small{font-family:'DM Sans';font-size:8px;color:#9a9e8e;letter-spacing:.13em;margin-left:13px}.history-heading>span{font-size:10px;color:#969b8a}#history{margin-top:14px;max-height:245px;overflow:auto;scrollbar-width:thin}.empty-history{text-align:center;font-size:11px;color:#a6aa99;padding:18px}.history-item{display:flex;align-items:center;gap:17px;padding:12px 10px;border-bottom:1px solid var(--line);font-size:11px}.history-turn{font-size:10px;color:#aaa}.history-item .die{width:27px;height:27px;min-width:27px;padding:6px;gap:2px;border-radius:5px;box-shadow:inset 0 -2px #00000010}.history-item .die-color-symbol{display:none}.history-player{font-size:11px;white-space:nowrap}.history-player small{font-size:9px;color:#94998b;display:block;margin-top:3px}.history-events{flex:1;color:#888f7c;font-size:10px;line-height:1.7}.history-item>b{font-size:19px;white-space:nowrap}.history-item>b small{font-size:9px;margin-left:3px}footer{max-width:1256px;margin:10px auto 0;border-top:1px solid var(--line);padding:25px 0 30px;display:flex;justify-content:space-between;font-size:9px;color:#a0a48f;letter-spacing:.06em}footer>span:first-child{font-size:10px;font-weight:600;letter-spacing:.12em}.footer-separator{margin:0 10px;color:#c3c6b6}footer a:hover{text-decoration:underline}dialog{max-width:520px;width:calc(100% - 32px);background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:30px;color:#474d40;box-shadow:0 20px 100px #38392426}dialog::backdrop{background:#323a3270;backdrop-filter:blur(5px)}.dialog-top{display:flex;justify-content:space-between;align-items:center}dialog h2{font-family:'Zen Maru Gothic',sans-serif;font-size:24px;margin:15px 0}dialog p,dialog li{font-size:12px;line-height:2;color:#858b79}dialog ol{padding-left:20px}.dialog-rules{font-size:12px;line-height:2.5;background:#f5f2e6;padding:15px;border-radius:10px}.dialog-actions{display:flex;gap:12px;margin-top:25px}.dialog-actions>*{flex:1}.result-flower{font-size:65px;color:var(--coral);margin-bottom:10px}#result-dialog{text-align:center}#result-dialog .text-button{margin-top:15px}#result-scores{display:flex;justify-content:center;gap:35px;margin:25px 0;font-size:12px}#result-scores b{display:block;font-size:42px;color:var(--coral);margin-top:10px}#result-scores small{font-size:13px;margin-left:5px}.is-rolling #held-die{animation:shake .22s linear infinite}.rolling-indicator{animation:spin 1s linear infinite}@keyframes shake{0%{transform:translate(-4px,-6px) rotate(-20deg)}50%{transform:translate(5px,1px) rotate(25deg)}100%{transform:translate(-4px,-6px) rotate(-20deg)}}@keyframes breathe{50%{transform:translateY(-5px) rotate(1deg)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1400px){main,footer{max-width:1256px}.intro{padding-top:46px;padding-bottom:38px}.game-layout{grid-template-columns:250px minmax(0,1fr) 282px;gap:28px}.board-panel{padding:25px 24px 18px}.board-shell{padding-top:15px;padding-bottom:12px}.board-grid,.board-coordinates,.column-sums{gap:11px}.character-wrap{height:235px}.character-wrap img{width:235px;height:235px}}
@media(max-width:1320px){main,footer{margin-left:32px;margin-right:32px}.game-layout{grid-template-columns:220px minmax(0,1fr) 250px;gap:18px}.board-panel{padding:21px 16px 16px}.roll-card,.score-guide{padding:19px 16px}.player-card{gap:8px;padding:18px 12px}.player-avatar{width:32px;height:32px}.player-info h2{font-size:11px}.score{font-size:31px}.guide-card{padding:18px 14px 12px}.character-wrap img{width:210px;height:210px}.character-wrap{height:220px}.board-legend{gap:9px}.board-bottom{font-size:7px}}
@media(max-width:1100px){.game-layout{grid-template-columns:190px minmax(0,1fr) 224px;gap:14px}main,footer{margin-left:24px;margin-right:24px}.site-header{padding:0 24px}.player-card{padding:16px 10px;gap:7px}.player-avatar{width:28px;height:28px;font-size:15px}.score{font-size:27px}.player-status{font-size:8px}.guide-card{padding:16px 12px}.character-wrap img{width:180px;height:180px}.character-wrap{height:190px}.character-halo{width:145px;height:145px}.speech{font-size:10px;padding:12px 10px}.board-panel{padding:20px 12px 15px}.board-shell{padding-left:5px;padding-right:5px}.board-grid,.board-coordinates,.column-sums{gap:6px;grid-template-columns:15px repeat(4,minmax(0,1fr)) 24px}.board-heading b{font-size:11px}.board-subheading{font-size:8px}.board-legend .legend-note{display:none}.board-bottom>span{font-size:7px}.preview-panel{padding:12px 9px;font-size:10px}.board-legend{margin-bottom:16px}.die{border-radius:9px}.roll-card,.score-guide{padding:17px 13px}.roll-stage{height:139px}.primary-button{font-size:11px}.rule-row{gap:7px}.rule-row>div{font-size:9px}.rule-row small{font-size:7px}.roll-note{font-size:7px}.bag-colors{gap:5px}}
@media(max-width:900px){.site-header{height:86px}.intro{padding:29px 0}.intro h1{font-size:30px}.game-meta{display:none}.game-layout{grid-template-columns:minmax(0,1fr) 245px;gap:20px}.left-panel{grid-column:1/-1;display:contents}.players{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:16px}.player-card{padding:16px 20px;min-height:90px;gap:16px}.player-avatar{width:40px;height:40px;font-size:20px}.player-info h2{font-size:13px}.player-status{font-size:9px}.score{font-size:36px}.board-panel{grid-column:1;grid-row:2;padding:24px 18px}.right-panel{grid-column:2;grid-row:2 / 4;gap:20px}.guide-card{grid-column:1;grid-row:3;position:relative;min-height:155px;padding:20px 18px}.guide-card>.tiny-label,.guide-heading,.speech{width:60%}.guide-heading .flower{display:none}.speech{font-size:10px;padding:10px;min-height:58px}.speech:after{bottom:auto;left:auto;right:-6px;top:16px;border:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:8px solid #fffdf7}.character-wrap{position:absolute;right:0;bottom:8px;width:40%;height:145px}.character-wrap img{width:155px;height:155px}.character-halo{width:110px;height:110px}.character-caption,.deco-star,.credit{display:none}.board-grid,.board-coordinates,.column-sums{gap:9px;grid-template-columns:17px repeat(4,minmax(0,1fr)) 27px}.board-heading b{font-size:12px}.board-subheading{font-size:9px}.board-legend{margin-bottom:21px}.board-bottom>span{font-size:8px}.roll-stage{height:165px}.rule-row{padding:13px 0}.rule-row>div{font-size:10px}.rule-row small{font-size:8px}.preview-panel{font-size:11px}.roll-card,.score-guide{padding:20px 16px}.local-badge{display:none}}
@media(max-width:620px){main,footer{margin-left:18px;margin-right:18px}.site-header{height:77px;padding:0 18px}.brand{font-size:20px;gap:8px}.brand-mark{font-size:40px}.brand small{font-size:7px}.header-right{gap:10px}.quiet-button{padding:9px 11px;font-size:11px}.icon-button{height:34px;width:34px}.intro{padding:26px 0 23px}.intro .eyebrow{font-size:8px;letter-spacing:.13em}.intro h1{font-size:29px}.intro-copy{font-size:10px}.game-layout{display:flex;flex-direction:column;gap:17px}.left-panel{display:contents}.players{order:0;width:100%;gap:10px}.player-card{padding:13px 11px;min-height:84px;gap:8px;border-radius:10px}.player-avatar{width:29px;height:29px;font-size:16px;flex-shrink:0}.player-info h2{font-size:10px;margin-top:4px;margin-bottom:6px}.player-info .tiny-label{font-size:7px}.player-status{font-size:7px}.score{font-size:28px;gap:2px}.score small{font-size:8px}.board-panel{order:1;width:100%;padding:20px 13px 14px;border-radius:13px}.board-heading b{font-size:12px}.board-subheading{font-size:9px;margin-bottom:16px}.board-shell{padding:10px 5px 8px}.board-grid,.board-coordinates,.column-sums{grid-template-columns:14px repeat(4,minmax(0,1fr)) 25px;gap:7px}.board-coordinates{margin-bottom:6px}.cell{border-radius:8px}.die{border-radius:10px}.board-legend{font-size:9px;margin:15px 3px;gap:17px}.board-legend .legend-note{display:flex;font-size:7px}.preview-panel{padding:12px 10px;min-height:72px;font-size:10px}.preview-panel small{font-size:8px}.board-bottom{margin-top:14px}.right-panel{display:contents}.roll-card{order:2;width:100%;padding:18px;display:grid;grid-template-columns:106px 1fr;column-gap:18px}.roll-card>.section-heading{grid-column:1/-1}.roll-stage{grid-column:1;grid-row:2/5;height:119px;margin-top:10px}.stage-ring{width:99px;height:99px}#held-die{width:72px;height:72px}#held-die .die{width:69px;height:69px;padding:14px;gap:6px;border-radius:13px}.mystery span{font-size:42px}.spark-a{right:-2px;top:10px;font-size:18px}.spark-b{left:0;bottom:13px;font-size:13px}.die-description{grid-column:2;margin:23px 0 10px;font-size:10px}#roll,#placement-actions{grid-column:2;align-self:start}.primary-button{font-size:11px;padding:12px 9px}.roll-note{grid-column:2;margin:9px 0 14px;font-size:7px;line-height:1.6}.bag-heading{grid-column:1/-1;padding-top:12px}.bag-colors{grid-column:1/-1;margin-top:10px;gap:20px}.bag-colors>div{display:flex;justify-content:center;gap:6px}.bag-colors b{margin:0;font-size:12px}.bag-die{width:23px;height:23px}.guide-card{order:3;width:100%;min-height:156px}.character-wrap{height:147px;right:13px}.character-wrap img{width:162px;height:162px}.guide-card>.tiny-label,.guide-heading,.speech{width:57%}.score-guide{order:4;width:100%;padding:20px;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.score-guide .section-heading{grid-column:1/-1;margin-bottom:9px}.rule-row{gap:8px;padding:13px 0}.rule-row>div{font-size:9px}.rule-row small{font-size:7px}.rule-row b{font-size:16px}.rule-symbol,.mini-rainbow{min-width:27px;width:27px;height:27px;font-size:12px}.same-color{font-size:23px}.mini-rainbow{padding:5px;gap:2px;grid-template-columns:repeat(2,7px)}.rule-footnote{grid-column:1/-1;font-size:9px;margin-top:12px}.history-section{margin-top:23px;padding-top:19px}.empty-history{font-size:10px;line-height:1.9;padding:10px}.history-item{gap:10px;padding:11px 0}.history-events{font-size:9px}.history-player{font-size:10px}.history-item>b{font-size:17px}footer{font-size:8px;line-height:1.9;padding:20px 0}.footer-separator{margin:0 4px}footer>span:first-child{font-size:8px}dialog{padding:24px}dialog h2{font-size:22px}}
@media(max-width:370px){main,footer{margin-left:12px;margin-right:12px}.site-header{padding:0 12px}.brand{font-size:18px}.header-right{gap:6px}.intro h1{font-size:26px}.player-card{gap:6px;padding:12px 8px}.player-avatar{width:25px;height:25px}.score{font-size:25px}.board-legend{gap:10px}.board-legend .legend-note{font-size:6px}.score-guide{padding:16px;column-gap:13px}.roll-card{column-gap:12px;padding:16px}.preview-panel small{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.die.mystery{grid-template-columns:1fr;grid-template-rows:1fr}
.character-wrap img{mix-blend-mode:normal}
.mobile-controls{display:none}
@media(min-width:1321px){main,footer{max-width:1156px}.site-header{max-width:1220px}}
@media(max-width:620px){body{padding-bottom:82px}.mobile-controls{display:flex;align-items:center;gap:10px;position:fixed;z-index:20;bottom:0;left:0;right:0;background:#fffefaf5;backdrop-filter:blur(12px);border-top:1px solid #e6e2d6;padding:12px 18px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #4f513509}.mobile-controls .primary-button{width:auto;flex:1;min-height:44px}.mobile-controls>span{font-size:10px;white-space:nowrap;color:#818773}#mobile-die{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center}#mobile-die .die{width:30px;height:30px;border-radius:6px;padding:6px;gap:2px}#mobile-die .mystery{padding:0}#mobile-die .mystery span{font-size:21px}}
.mobile-rolling{animation:shake .22s linear infinite}
@media(max-width:430px){.score-guide{grid-template-columns:1fr}.rule-row>div{font-size:12px}.rule-row small{font-size:10px}.rule-row{gap:13px}.rule-row b{font-size:20px}.rule-footnote{font-size:11px}.speech{font-size:11px}.preview-panel{font-size:11px}.preview-panel small{font-size:10px}.player-info h2{font-size:11px}.player-status{font-size:8px}}
