:root{--bg:#f5f5f0;--paper:#fff;--ink:#28352d;--muted:#7e857e;--line:#e3e6de;--lime:#d9ee88;--lime-hover:#cde471;--blue:#a9c9ed;--orange:#f3c493;--purple:#c6b8e6;--green:#b7d6b1;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #799748;outline-offset:4px}svg{width:20px;height:20px;flex-shrink:0}h1,h2,h3,p{margin:0}button{border:0}small{font-size:11px}::selection{background:var(--lime)}
.site-header{height:100px;max-width:1280px;margin:auto;padding:0 56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:750;letter-spacing:1px}.brand-icon{display:grid;place-items:center;background:var(--lime);width:45px;height:45px;border-radius:14px;transform:rotate(-7deg);font-size:23px}.brand small{display:block;margin-top:5px;font-size:8px;font-weight:500;letter-spacing:1.7px;color:var(--muted)}nav{display:flex;align-items:center;gap:38px}.nav-current{font-size:13px;font-weight:600}.icon-button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:transparent;display:inline-grid;place-items:center;font-weight:650;font-size:17px;flex-shrink:0}.icon-button:hover{background:#e9eddf}.text-button{background:transparent;padding:5px 0;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:550}.text-button:hover{color:#667e35}.button{min-height:46px;padding:0 22px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:15px;font-size:13px;font-weight:650;transition:background .16s,transform .16s}.button:active{transform:translateY(1px)}.primary{background:var(--lime);color:#26362b}.primary:hover:not(:disabled){background:var(--lime-hover)}.primary:disabled{background:#e8ebdf;color:#a0a791}.ghost{background:transparent;border:1px solid var(--line)}.ghost:hover{background:#f1f3eb}.small{min-height:33px;padding:0 12px;font-size:11px;border-radius:7px}.full{width:100%}.full+.full{margin-top:10px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;color:#6f7b68}.tiny-sun{color:#7d944d;font-size:21px;vertical-align:middle;letter-spacing:0;margin-right:8px}.status-dot{display:inline-block;width:6px;height:6px;background:#6e9254;border-radius:50%;margin-right:6px}.muted{color:var(--muted);font-size:13px;line-height:1.8}
.hall{max-width:1168px;margin:auto;padding:0 0 24px}.hall-intro{padding:60px 0 45px;display:flex;align-items:flex-end;justify-content:space-between}.hall-intro h1{font-size:58px;letter-spacing:-2.5px;line-height:1.26;margin:22px 0 20px;font-weight:750}.hall-intro h1 br{display:none}.underline{position:relative;z-index:0}.underline:after{content:"";position:absolute;height:12px;background:var(--lime);left:0;right:0;bottom:6px;z-index:-1;transform:rotate(-2deg)}.hall-intro p{font-size:14px;color:#7b8278;line-height:1.8}.intro-note{font-size:11px;color:#7a8273;padding-bottom:7px}.hall-games{max-width:960px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-heading h2{font-size:15px;display:flex;align-items:center;gap:10px}.section-heading h2>span{font-size:10px;color:#909689;font-weight:400}.game-card{display:grid;grid-template-columns:1.25fr 1fr;border:1px solid #dfe4d6;border-radius:18px;overflow:hidden;background:#fff;min-height:326px}.game-art{position:relative;background:#e8eddf;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:326px}.art-label{position:absolute;top:25px;left:28px;font-size:11px;letter-spacing:1px;color:#6d7d62}.art-edition{position:absolute;bottom:20px;left:28px;font-size:8px;letter-spacing:2px;color:#819077}.mini-scene{width:240px;height:220px;position:relative;margin:24px 0 0;perspective:700px}.mini-board{position:absolute;inset:0 22px 12px 0;display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:9px;background:#fffdf7;border-radius:11px;transform:rotate(-12deg) rotateX(23deg);box-shadow:0 12px 0 #d3d9c7,0 25px 24px #34452d17}.mini-cell{display:grid;place-items:center;background:#e8ece1;border-radius:3px;color:#526556;font-size:19px}.blue{--player:#a9c9ed;--deep:#315c8a}.orange{--player:#f3c493;--deep:#945826}.purple{--player:#c6b8e6;--deep:#675191}.green{--player:#b7d6b1;--deep:#4a7044}.mini-cell.blue{background:var(--blue)}.mini-cell.orange{background:var(--orange)}.mini-cell.purple{background:var(--purple)}.mini-cell.green{background:var(--green)}.scene-dice{position:absolute;right:-13px;bottom:1px;transform:rotate(15deg);box-shadow:0 7px 0 #e0dfd3,0 12px 15px #26362b22;border-radius:13px}.dice-face{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;width:55px;height:55px;padding:11px;border-radius:11px;background:#fffefa;border:1px solid #e2e4d9;flex-shrink:0}.dice-face i{border-radius:50%}.dice-face .dot{background:#42533a}.scene-dice .dice-face{width:62px;height:62px;gap:6px;padding:12px}.scene-note{position:absolute;right:-38px;top:33px;background:#fffef5;font-size:10px;transform:rotate(7deg);padding:11px 13px;border-radius:8px;box-shadow:0 4px 8px #28352d08}.game-info{padding:42px 38px;display:flex;flex-direction:column}.game-title{display:flex;align-items:center;gap:14px}.game-title h3{font-size:30px;font-weight:750;letter-spacing:-1px}.tag{font-size:9px;color:#6c7d4e;padding:5px 7px;border-radius:4px;background:#eff4e3;white-space:nowrap}.game-info>p{font-size:13px;color:#7e857b;line-height:1.9;margin-top:17px}.game-meta{display:flex;align-items:center;gap:18px;color:#7b8374;font-size:10px;margin:25px 0}.game-meta>span{display:flex;align-items:center;gap:5px;white-space:nowrap}.game-meta svg{width:14px;height:14px}.create-game{justify-content:space-between;margin-top:auto}.below-card{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8c9387;margin-top:15px}.below-card .text-button{font-size:10px;color:#6b775e}.hall-footer{display:flex;justify-content:space-between;color:#a1a69b;font-size:10px;border-top:1px solid var(--line);margin-top:64px;padding-top:20px}.resume-card{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:24px;background:#edf1e4;border-radius:10px;padding:16px;font-size:11px}.resume-card b{margin-left:8px;letter-spacing:1px}.mobile-only{display:none}
dialog{width:min(460px,calc(100% - 32px));border:1px solid var(--line);border-radius:20px;padding:36px;background:#fffefb;color:var(--ink);box-shadow:0 25px 100px #28352d25;max-height:90dvh;overflow-y:auto}dialog::backdrop{background:#1c2e244f;backdrop-filter:blur(5px)}.modal-close{position:absolute;right:17px;top:12px;background:transparent;font-size:26px;color:#99a18e;width:30px;height:30px}dialog h2{font-size:25px;letter-spacing:-.7px;margin:16px 0 12px}dialog>.muted{margin-bottom:25px}label{font-size:12px;font-weight:550;display:block}input{width:100%;height:46px;background:#f7f8f3;border:1px solid #e0e5d7;border-radius:9px;padding:0 13px;outline:none;margin:8px 0 20px;color:var(--ink);min-width:0}input:focus{border-color:#8ca45d;background:#fff}input::placeholder{color:#a1a897;font-size:12px}.code-input{letter-spacing:5px;font-size:20px;font-weight:650}.code-input::placeholder{letter-spacing:0}.form-error{font-size:12px;color:#b14c40;min-height:20px;margin-bottom:10px}.dialog-footnote{text-align:center;font-size:10px;color:#9ca58f;margin-top:18px}.rule-list{margin:20px 0}.rule-list>div{display:flex;gap:15px;margin-bottom:21px}.rule-list b{font-size:12px;color:#8b9d67;padding-top:3px}.rule-list strong{font-size:13px;display:block;margin-bottom:5px}.rule-list p span{font-size:12px;line-height:1.9;color:var(--muted);display:block}.rule-note{font-size:11px;color:#929a88;line-height:1.8;margin-bottom:20px}.emote-picker{display:grid;gap:10px}#toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:#283c30;color:white;border-radius:10px;box-shadow:0 6px 20px #0002;padding:13px 21px;max-width:calc(100% - 28px);width:max-content;font-size:12px;z-index:10;opacity:0;pointer-events:none;transition:all .2s}#toast.show{opacity:1;transform:translate(-50%,0)}
.room-page{max-width:1100px;margin:auto;padding:0 30px}.room-heading{height:75px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.room-game-name{font-size:16px;font-weight:650;display:flex;align-items:center;gap:12px}.room-game-name small{color:#8d9784;font-weight:450;font-size:11px;letter-spacing:1px}.room-tools{display:flex;align-items:center;gap:10px}.room-tools .icon-button{width:29px;height:29px;font-size:14px}.waiting-room{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:65px 35px 30px}.waiting-intro h1{font-size:36px;letter-spacing:-1.5px;margin:20px 0 14px}.waiting-intro>p{font-size:13px;color:var(--muted)}.invite-ticket{border:1px solid #d8dfcb;background:#eff3e4;padding:20px 24px;border-radius:13px;margin-top:35px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:300px}.invite-ticket>span{font-size:10px;color:#879377}.invite-ticket>strong{font-size:35px;letter-spacing:6px;font-variant-numeric:tabular-nums;font-weight:650}.invite-ticket>.text-button{font-size:10px}.waiting-panel{background:#fffefb;border:1px solid var(--line);border-radius:18px;padding:26px}.connection{font-size:9px;color:#8b987b}.waiting-players{display:grid;gap:10px}.player-chip{position:relative;display:flex;gap:10px;align-items:center;border:1px solid #e6e8df;border-radius:10px;padding:13px 12px;min-width:0;background:#fffefb;transition:background .2s}.avatar{height:37px;width:37px;background:var(--player);color:var(--deep);border-radius:10px;display:grid;place-items:center;flex-shrink:0;font-size:19px}.player-text{min-width:0;flex:1}.player-text strong{font-size:12px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:165px}.player-text strong small{font-size:8px;background:#eef1e8;padding:2px 4px;margin-left:5px;border-radius:3px;color:#8a947b}.player-text>span{font-size:9px;color:#98a08e;display:block;margin-top:5px}.ready-indicator{font-size:16px;color:#b7bfa9}.ready-indicator.is-ready{color:#709150}.online-dot{position:absolute;left:39px;top:40px;width:7px;height:7px;border-radius:50%;border:1px solid #fff;background:#b7bbaf}.online-dot.online{background:#699353}.empty-seat{background:#fafbf7;border:1px dashed #dde2d2;border-radius:10px;display:flex;align-items:center;padding:10px 12px;gap:10px;min-height:61px;font-size:10px;color:#a2aa96}.empty-seat>span:last-child{margin-left:auto;font-size:9px}.empty-avatar{height:37px;width:37px;background:#edf0e7;display:grid;place-items:center;border-radius:10px;font-size:20px;font-weight:300}.room-settings{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:22px 0}.room-settings label{font-size:10px;color:#8a947c}.room-settings select{width:100%;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fffefb;margin-top:7px;font-size:12px;color:var(--ink)}.room-settings select:disabled{opacity:.7}.waiting-hint{font-size:9px;color:#929c85;text-align:center;line-height:1.7;margin-top:12px}.room-bottom-note{text-align:center;color:#9ba38f;font-size:10px;letter-spacing:.8px;padding:20px 0 30px}
.in-game .site-header{height:75px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;column-gap:35px;padding-top:23px;max-width:920px;margin:auto}.board-panel{min-width:0}.board-topline{display:flex;justify-content:space-between;align-items:center;padding:0 2px 15px;font-size:11px;color:#8d9782}.board-topline b{color:var(--ink);font-size:14px}.board-wrap{background:#e3e9da;border:1px solid #dce3cf;border-radius:16px;padding:13px;box-shadow:0 5px 0 #dbe1d1}.board{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px;aspect-ratio:1}.cell{border-radius:6px;padding:0;display:grid;place-items:center;background:var(--player);color:var(--deep);position:relative;border:1px solid #ffffff55;transition:background .14s,box-shadow .14s;min-width:0;aspect-ratio:1}.cell.neutral{background:#f8faf3;--deep:#6a8151}.cell.legal{box-shadow:inset 0 0 0 1.5px #6b884e66;cursor:pointer}.cell.legal:hover{box-shadow:inset 0 0 0 2px #4f753b;filter:brightness(.96)}.cell.legal:active{transform:scale(.94)}.cell:disabled{opacity:1}.base-mark{font-size:25px;font-weight:600}.cell-mark{font-size:10px;opacity:.45}.cell-price{font-size:12px;font-weight:650;background:#ffffff80;width:23px;height:23px;display:grid;place-items:center;border-radius:50%}.base{border:2px solid #ffffffaa}.board-legend{display:flex;align-items:center;justify-content:center;gap:22px;padding:19px 0 14px;font-size:10px;color:#8b9580}.board-legend>span{display:flex;align-items:center;gap:6px}.legend-cell{height:10px;width:10px;border:1px solid #c9d2bb;display:inline-block;border-radius:2px}.legend-cell.colored{background:var(--orange);border-color:#e2b98e}.legend-square{font-size:15px;font-style:normal;color:#839b58}.score-heading{display:flex;justify-content:space-between;align-items:center;height:29px;margin-bottom:12px}.score-heading h2{font-size:14px}.score-heading>span{font-size:9px;color:#99a18f}.score-players{display:grid;gap:9px}.score-players .player-chip{padding:12px}.player-chip.current{background:#f4f7eb;border-color:#9cb57b;box-shadow:0 0 0 1px #9cb57b22}.player-score{font-size:23px;font-weight:550;font-variant-numeric:tabular-nums}.player-score small{font-size:8px;color:#929b85;margin-left:4px;font-weight:400}.has-left{opacity:.45}.activity-panel{margin-top:27px;padding-top:22px;border-top:1px solid var(--line)}.activity-panel>.eyebrow{font-size:9px;letter-spacing:1px}.activity-list{margin-top:13px;display:grid;gap:11px}.activity-list>p{font-size:10px;line-height:1.5;color:#87927a;position:relative;padding-left:11px}.activity-list>p:before{content:"";position:absolute;width:3px;height:3px;background:#a9b599;border-radius:50%;top:6px;left:0}.sidebar-tip{font-size:10px;line-height:1.9;color:#a0a98f;margin-top:24px}.turn-bar{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border:1px solid var(--line);border-radius:13px;background:#fffefb;margin:5px 0 12px;gap:15px}.turn-bar.my-turn{border-color:#bccb9c;background:#f4f8e9}.turn-info{display:flex;align-items:center;gap:11px;min-width:0}.turn-dot{width:34px;height:34px;border-radius:10px;background:var(--player);color:var(--deep);display:grid;place-items:center;flex-shrink:0;font-size:17px}.turn-info strong{display:block;font-size:12px}.turn-info small{display:block;color:#909b80;font-size:10px;margin-top:6px}.turn-actions{display:flex;align-items:center;gap:15px;flex-shrink:0}.turn-actions .dice-face{width:41px;height:41px;gap:3px;padding:8px;border-radius:8px}.timer{font-size:24px;color:#6f7d5a;font-weight:550;font-variant-numeric:tabular-nums;min-width:42px}.timer small{font-size:9px;color:#9aa58b;margin-left:3px;font-weight:400}.timer.urgent{color:#bc6049}.roll-button{min-width:112px;min-height:41px}.emote-button{border:0;font-size:23px}.network-status{height:20px;font-size:10px;text-align:center;color:#af704c}.emote-bubble{position:absolute;z-index:2;bottom:calc(100% - 5px);left:20px;border:1px solid #d7dfc7;border-radius:8px 8px 8px 0;background:#fffff8;box-shadow:0 4px 10px #28352d15;padding:8px 11px;font-size:10px;width:max-content;max-width:210px;animation:pop .18s ease-out}.result-trophy{font-size:40px;color:#819b45;margin-top:22px}.result-table{margin:23px 0}.result-row,.result-table-head{display:grid;grid-template-columns:minmax(0,1fr) 45px 45px 45px;align-items:center;gap:5px;text-align:right}.result-table-head{color:#9aa18e;font-size:10px;padding:8px 0}.result-table-head>span:first-child{text-align:left}.result-row{padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.result-row>span:first-child{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-row>span:first-child b{margin-right:9px;color:#8a9876;font-size:11px}.result-row>span:nth-child(2),.result-row>span:nth-child(3){color:#879378}.result-row>strong{font-size:19px}.result-row+.muted{padding-top:12px}.is-busy [data-cell],.is-busy [data-setting],.is-busy [data-action="roll"],.is-busy [data-action="end"],.is-busy [data-action="ready"],.is-busy [data-action="start"]{pointer-events:none;opacity:.75}@keyframes pop{from{transform:translateY(5px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(min-width:1400px){.hall-intro{padding-top:80px}.hall-footer{margin-top:80px}.game-layout{max-width:940px}.board-wrap{padding:15px}}
@media(max-width:1250px){.hall{padding-left:56px;padding-right:56px}.hall-games{max-width:960px}}
@media(max-width:900px){.hall-intro h1{font-size:46px}.intro-note{display:none}.game-info{padding:34px 26px}.game-title{gap:9px}.game-title h3{font-size:26px}.game-meta{gap:10px}.waiting-room{gap:32px;padding-left:0;padding-right:0}.waiting-intro h1{font-size:30px}.game-layout{column-gap:20px;grid-template-columns:minmax(0,1fr) 205px}.score-players .player-chip{padding:9px}.player-text strong{font-size:11px}.player-score{font-size:20px}.sidebar-tip{display:none}.turn-actions{gap:10px}}
@media(max-width:640px){
 .site-header{height:73px;padding:0 22px;margin:0 5px}.brand{font-size:19px;gap:10px}.brand-icon{width:36px;height:36px;font-size:20px;border-radius:10px}.brand small{font-size:6px;letter-spacing:1px;margin-top:3px}nav{gap:17px}.nav-current{font-size:11px}nav .icon-button{width:28px;height:28px;font-size:13px}.hall{padding:0 22px 20px;max-width:500px}.hall-intro{padding:31px 0 27px}.hall-intro>.eyebrow,.hall-intro .eyebrow{font-size:8px;letter-spacing:1.6px}.tiny-sun{font-size:17px}.hall-intro h1{font-size:37px;letter-spacing:-1.5px;margin:12px 0 13px}.hall-intro h1 br{display:none}.hall-intro p{font-size:11px;line-height:1.8}.mobile-only{display:none}.underline:after{height:9px;bottom:4px}.section-heading{margin-bottom:13px}.section-heading h2{font-size:13px}.section-heading>.text-button{font-size:10px;gap:4px}.section-heading>.text-button svg{width:16px;height:16px}.game-card{grid-template-columns:1fr;min-height:0;border-radius:14px}.game-art{min-height:195px;height:195px}.art-label{top:17px;left:19px;font-size:9px}.art-edition{bottom:13px;left:19px;font-size:6px;letter-spacing:1px}.mini-scene{width:176px;height:158px;margin:18px 0 0}.mini-board{inset:2px 16px 8px 0;gap:3px;padding:7px;border-radius:8px;box-shadow:0 8px 0 #d3d9c7,0 15px 20px #34452d17}.mini-cell{border-radius:2px;font-size:14px}.scene-dice{right:-6px;bottom:1px;border-radius:10px;box-shadow:0 5px 0 #e0dfd3,0 8px 10px #26362b22}.scene-dice .dice-face{width:44px;height:44px;padding:9px;gap:4px;border-radius:8px}.scene-note{right:-38px;top:28px;font-size:8px;padding:8px 10px}.game-info{padding:20px 20px 19px;position:relative;display:block}.game-title h3{font-size:25px}.tag{font-size:8px;padding:4px 6px}.game-info>p{font-size:11px;margin-top:10px;line-height:1.8}.game-info>p br{display:none}.game-meta{margin:14px 0 18px;gap:18px;font-size:9px}.game-meta svg{width:12px;height:12px}.create-game{width:100%;min-height:43px;font-size:12px;padding:0 16px}.below-card{font-size:8px;margin-top:12px;gap:10px}.below-card .text-button{font-size:9px}.hall-footer{margin-top:29px;padding-top:15px;font-size:8px}.resume-card{margin-top:16px;padding:14px;font-size:10px}.room-page{padding:0 14px}.room-heading{height:57px;gap:7px}.room-heading>.text-button{font-size:10px}.room-heading>.text-button span{display:none}.room-game-name{font-size:13px;gap:7px;flex:1}.room-game-name small{font-size:9px;letter-spacing:0}.room-tools{gap:7px}.room-tools .icon-button{width:25px;height:25px;font-size:12px}.room-tools .small{font-size:9px;min-height:28px;padding:0 8px}.in-room .site-header{height:61px;padding:0 16px;margin:0}.in-room .brand{font-size:17px;gap:8px}.in-room .brand-icon{width:29px;height:29px;font-size:16px;border-radius:9px}.in-room .brand small{display:none}.in-room nav .nav-current{display:none}.in-room nav .icon-button{width:25px;height:25px}.waiting-room{display:flex;flex-direction:column;gap:19px;padding:25px 5px 0}.waiting-intro{width:100%;text-align:center}.waiting-intro .eyebrow{font-size:8px}.waiting-intro h1{font-size:26px;margin:12px 0 8px}.waiting-intro>p{font-size:11px}.invite-ticket{margin:17px auto 0;max-width:100%;width:100%;flex-direction:row;align-items:center;justify-content:center;padding:12px 16px;gap:13px;border-radius:10px}.invite-ticket>span{font-size:9px}.invite-ticket>strong{font-size:23px;letter-spacing:3px}.invite-ticket .text-button{font-size:9px}.waiting-panel{width:100%;padding:18px;border-radius:14px}.waiting-players{grid-template-columns:1fr 1fr;gap:8px}.waiting-panel .player-chip{padding:10px 8px;gap:7px}.waiting-panel .avatar{width:29px;height:29px;border-radius:8px;font-size:15px}.waiting-panel .player-text strong{font-size:10px;max-width:83px}.waiting-panel .player-text>span{font-size:8px}.waiting-panel .online-dot{left:29px;top:33px}.waiting-panel .ready-indicator{font-size:12px}.empty-seat{padding:10px 8px;gap:7px;min-height:58px;font-size:9px}.empty-seat>span:last-child{display:none}.empty-avatar{width:29px;height:29px;font-size:16px;border-radius:8px}.room-settings{padding:17px 0}.waiting-hint{font-size:9px}.room-bottom-note{font-size:9px;padding:20px 0}.waiting-start{min-height:43px}.in-game{height:100dvh;overflow:hidden}.in-game .site-header{height:52px}.in-game #app{height:calc(100dvh - 52px);overflow:hidden}.game-page{height:100%;display:flex;flex-direction:column;padding:0 12px}.game-page .room-heading{height:44px;flex-shrink:0}.game-layout{padding-top:10px;display:flex;flex-direction:column;gap:0;flex:1;min-height:0;width:100%;max-width:480px}.match-sidebar{order:0;flex-shrink:0}.score-heading,.activity-panel,.sidebar-tip{display:none}.score-players{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.score-players .player-chip{display:flex;flex-direction:column;text-align:center;padding:7px 3px;gap:4px;border-radius:9px;min-height:72px}.score-players .avatar{width:20px;height:20px;border-radius:6px;font-size:12px}.score-players .player-text{flex:none;max-width:100%;width:100%}.score-players .player-text strong{font-size:9px;max-width:100%;padding:0 3px}.score-players .player-text strong small{font-size:6px;padding:1px 2px;margin-left:2px}.score-players .player-text>span{display:none}.score-players .player-score{font-size:15px;line-height:1.1}.score-players .player-score small{font-size:7px;margin-left:2px}.score-players .online-dot{left:calc(50% + 5px);top:20px;width:5px;height:5px}.score-players .emote-bubble{bottom:auto;top:calc(100% - 3px);left:0;font-size:9px;max-width:150px;white-space:normal;border-radius:0 7px 7px 7px}.score-players .player-chip:nth-child(n+3) .emote-bubble{left:auto;right:0}.board-panel{order:1;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7px 0}.board-topline{padding:0 2px 8px;width:100%;font-size:9px;flex-shrink:0}.board-topline .eyebrow{font-size:7px;letter-spacing:1.4px}.board-topline b{font-size:12px}.board-wrap{width:min(100%,calc(100dvh - 326px));aspect-ratio:1;padding:8px;border-radius:12px;flex-shrink:1;min-height:0;box-shadow:0 3px 0 #dbe1d1}.board{gap:4px}.cell{border-radius:4px}.base-mark{font-size:20px}.cell-mark{font-size:8px}.cell-price{width:20px;height:20px;font-size:10px}.board-legend{padding:10px 0 3px;font-size:8px;gap:17px;flex-shrink:0}.legend-cell{width:8px;height:8px}.legend-square{font-size:12px}.turn-bar{order:2;flex-shrink:0;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:12px 13px;border-radius:12px}.turn-info{gap:8px;flex:1;min-width:calc(100% - 50px)}.turn-dot{height:26px;width:26px;border-radius:8px;font-size:13px}.turn-info strong{font-size:11px}.turn-info small{font-size:9px;margin-top:4px}.turn-actions{width:100%;gap:12px}.turn-actions .dice-face{width:35px;height:35px;padding:7px;gap:3px;border-radius:7px}.timer{font-size:22px;min-width:42px}.timer small{font-size:8px}.roll-button{min-height:38px;flex:1;min-width:80px;font-size:12px}.emote-button{width:28px;height:28px;font-size:22px}.network-status{height:max(17px,env(safe-area-inset-bottom));min-height:17px;flex-shrink:0;font-size:9px;line-height:17px}.game-page>.network-status{height:0}.game-page .network-status{position:relative}.game-page{padding-bottom:max(13px,env(safe-area-inset-bottom))}dialog{padding:29px 24px;border-radius:16px}dialog h2{font-size:23px}.rule-list>div{margin-bottom:16px}.rule-list p span{font-size:11px}.result-row{font-size:11px}.result-row>strong{font-size:17px}
}
@media(max-width:640px) and (max-height:700px){.hall-intro{padding:22px 0}.hall-intro h1{font-size:32px;margin:9px 0}.game-art{height:165px;min-height:165px}.mini-scene{transform:scale(.86);margin:4px 0 0}.game-info{padding:16px 18px}.game-meta{margin:10px 0 13px}.hall-footer{margin-top:20px}.in-game .site-header{height:42px}.in-game #app{height:calc(100dvh - 42px)}.game-page .room-heading{height:38px}.game-layout{padding-top:7px}.score-players .player-chip{min-height:58px;padding:5px 2px;gap:3px}.score-players .avatar{width:16px;height:16px;font-size:10px}.score-players .online-dot{top:15px}.score-players .player-score{font-size:13px}.board-wrap{width:min(100%,calc(100dvh - 285px));padding:6px}.board{gap:3px}.board-topline{padding-bottom:5px}.board-legend{padding:7px 0 2px}.turn-bar{padding:8px 10px;gap:7px}.turn-info small{font-size:8px}.turn-actions .dice-face{height:30px;width:30px;padding:6px}.roll-button{min-height:33px}.base-mark{font-size:17px}.cell-price{width:16px;height:16px;font-size:9px}.waiting-room{padding-top:17px;gap:14px}.waiting-intro h1{font-size:23px}.waiting-panel{padding:15px}.room-bottom-note{padding:13px 0}}
@media(max-height:520px) and (min-width:641px){.site-header,.in-game .site-header{height:50px}.game-page .room-heading{height:45px}.game-layout{grid-template-columns:minmax(0,330px) 230px;justify-content:center;padding-top:10px;gap:15px}.board-wrap{max-width:300px;margin:auto}.board-topline{padding-bottom:7px}.turn-bar{margin:0;padding:10px}.activity-panel{display:none}.board-legend{padding:10px 0}.score-players .player-chip{padding:7px}.avatar{height:28px;width:28px}.game-page{padding-bottom:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
