:root{--ink:#142743;--blue:#203fac;--paper:#f5f5ed;--orange:#ed6e37;--line:#cad0d5}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#b2c3d4;color:var(--ink);font-family:'Microsoft YaHei','Segoe UI',sans-serif}button,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 15px;border-radius:5px;transition:background .15s,transform .15s}button:hover{background:#e4eafd}button:active{transform:translateY(1px)}button:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}button:disabled{opacity:.45;cursor:default}.primary{background:var(--blue);border-color:var(--blue);color:white}.primary:hover{background:#142d86}.accent{background:var(--orange);border-color:var(--orange);color:white}#world,#vignette{position:fixed;inset:0;width:100%;height:100%}#vignette{pointer-events:none;background:linear-gradient(180deg,#101d3630,transparent 22%,transparent 78%,#15294340)}header{position:fixed;top:0;left:0;right:0;height:94px;padding:24px 34px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand{display:flex;align-items:center;gap:12px;font-weight:bold;font-size:21px}.brand-mark{width:42px;height:42px;background:var(--blue);color:white;text-align:center;font-size:34px;line-height:40px}.brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:3px;font-weight:normal}#roundHud{font-size:13px;background:#f5f5eddd;padding:10px 18px;border-radius:30px}.wallet{display:flex;align-items:center;gap:9px;background:var(--paper);border:1px solid #fff8;border-radius:30px;padding:10px 20px;font-size:12px}.wallet b{font-size:25px}.chip-icon{width:22px;height:22px;border:4px dashed #ffe6c4;background:var(--orange);border-radius:50%;outline:1px solid var(--orange)}#stageLabel{position:fixed;left:35px;top:113px;font-size:12px;display:flex;gap:8px;align-items:center}.live-dot{height:7px;width:7px;background:var(--blue);border-radius:50%}#roomSigns{position:fixed;left:50%;top:104px;transform:translateX(-50%);display:flex;gap:5px}#roomSigns button{font-size:12px;background:#f5f5ede8;padding:7px 16px}#crosshair{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.4;font-size:20px;pointer-events:none}#panel{position:fixed;right:34px;top:158px;width:365px;max-height:calc(100vh - 225px);overflow:auto;background:#f5f5edf5;box-shadow:0 12px 55px #172a4520;padding:26px;border-radius:8px;border:1px solid #fff9}#panel:empty{display:none}#panel.lobby{left:35px;right:auto;width:440px;background:#f5f5edf2;padding:32px}small,.eyebrow{font-size:11px;letter-spacing:1px;color:#64738a}h1{font-size:46px;line-height:1.15;font-weight:800;letter-spacing:-2px;margin:18px 0}h2{font-size:25px;line-height:1.3;margin:10px 0 14px}h3{font-size:17px;margin:17px 0 10px}p{font-size:13px;line-height:1.85;color:#57677c;margin:10px 0 17px}.large-theme{font-size:58px;font-family:'SimSun',serif;color:var(--blue);margin:25px 0}.rule-strip{display:flex;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin:22px 0}.rule-strip b{display:block;font-size:24px}.rule-strip span{font-size:11px;color:#64738a}.control-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0;font-size:13px}select{background:white;padding:8px;border:1px solid var(--line);border-radius:4px}.wide{width:100%;margin-top:12px}.muted{font-size:11px;color:#748195}.options{display:grid;gap:8px}.option{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:14px 12px;gap:8px}.option b{color:var(--blue);font-size:22px;white-space:nowrap}.option.selected{background:#e1e8ff;border:2px solid var(--blue);padding:13px 11px}.stake{display:flex;align-items:center;gap:15px}.stake strong{font-size:22px;min-width:20px;text-align:center}.stake button{width:35px;padding:5px}.countdown{float:right;color:var(--orange);font-size:20px}#drawing{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%);width:min(720px,86vw);max-height:calc(100vh - 160px);overflow:auto;padding:20px;background:#f5f5ed;border:1px solid white;box-shadow:0 25px 90px #152c6655;border-radius:6px}.draw-heading{display:flex;justify-content:space-between;align-items:center}.draw-heading h2{margin:6px 0 14px;font-size:22px}.draw-heading b{font-size:34px;color:var(--blue);font-variant-numeric:tabular-nums}#paint{display:block;width:100%;max-height:calc(100vh - 370px);aspect-ratio:4/3;object-fit:contain;background:white;touch-action:none;border:8px solid #d5b18a;cursor:crosshair}.paint-tools{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:10px}#tools{display:flex;gap:5px}#tools button{padding:7px 10px;font-size:12px}.selected{border-color:var(--blue);background:#e1e8ff}#colors{display:flex;gap:6px}#colors button{width:23px;height:23px;border-radius:50%;padding:0;border:2px solid #ffffff;outline:1px solid #aaa}#colors button.selected{outline:3px solid var(--blue)}.draw-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:11px;color:#6c7890}#speech{position:fixed;left:35px;bottom:88px;width:min(570px,calc(100vw - 470px));background:#182d4bef;color:white;padding:19px 24px;border-left:4px solid var(--orange);border-radius:4px}#speech .speaker{font-size:12px;color:#f0b08a;margin-bottom:7px}#speech .quote{font-size:18px;line-height:1.65}#speech .art-ref{font-size:10px;color:#b4c5de;margin-top:9px}.ai-list{display:grid;gap:11px;margin:22px 0}.ai-person{display:flex;align-items:center;gap:10px;font-size:12px}.avatar{width:29px;height:29px;border-radius:50%;background:var(--blue);color:white;display:grid;place-items:center;font-size:11px}.ai-person span:last-child{color:#7c8797;margin-left:auto;font-size:10px}.bet-row,.rank-row{display:flex;gap:8px;justify-content:space-between;font-size:12px;padding:10px 0;border-bottom:1px solid #d6dbe1}.rank-row.you{color:var(--blue);font-weight:bold}.rank-row b{margin-left:auto}.bet-row span:last-child{text-align:right}.result-title{font-size:29px;color:var(--blue);margin:20px 0}.payout{font-size:36px;font-weight:bold;color:var(--orange)}details{font-size:12px;margin:17px 0}summary{cursor:pointer}.transcript{max-height:180px;overflow:auto;margin-top:10px}.transcript p{font-size:11px;margin:8px 0}.vote-row{font-size:12px;padding:6px 0}.tag{display:inline-block;font-size:10px;color:var(--blue);border:1px solid #b7c3e8;padding:3px 6px;margin-bottom:8px}#hand{position:fixed;bottom:-90px;right:15%;transform:rotate(-10deg);pointer-events:none}.ticket{position:relative;z-index:2;background:#f6f4dd;width:215px;padding:22px;border-top:12px solid var(--blue);box-shadow:0 8px 15px #1c2f472a}.ticket strong{display:block;font-size:20px;line-height:1.5;margin:18px 0 22px}.ticket span{font-size:10px}.ticket small{font-size:9px}.sleeve{width:100px;height:130px;margin-left:70px;background:#405fb0;border-radius:30px 30px 0 0}footer{position:fixed;bottom:0;left:0;right:0;display:flex;gap:18px;align-items:center;padding:18px 30px;color:#f5f6fc;font-size:10px;background:linear-gradient(transparent,#152b4666)}footer .demo-badge{margin-left:auto;background:#18324cad;padding:6px 10px;border-radius:4px}footer button{padding:5px 10px;font-size:10px;background:transparent;color:white;border-color:#ffffff55}#toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 20px;border-radius:5px;font-size:13px;display:none}[hidden]{display:none!important}@media(max-width:900px){#panel{width:320px;right:18px;padding:20px}#panel.lobby{width:360px;left:18px}h1{font-size:38px}#speech{width:calc(100vw - 380px);left:18px}.paint-tools{flex-wrap:wrap}header{padding:20px}#stageLabel{left:20px}footer #hint{max-width:220px}#hand{right:7%}}@media(max-width:620px){header{height:75px;padding:12px}.brand{font-size:15px}.brand-mark{width:30px;height:30px;font-size:24px;line-height:30px}.brand small{font-size:8px}.wallet{padding:7px 12px}.wallet b{font-size:19px}#roundHud{font-size:10px;padding:7px}#stageLabel{top:88px;left:14px}#roomSigns{top:114px;width:max-content}#panel,#panel.lobby{top:160px;left:auto;right:12px;width:min(340px,calc(100vw - 24px));max-height:calc(100vh - 240px);padding:20px}#hand{display:none}#speech{bottom:78px;left:12px;width:calc(100vw - 24px);padding:12px 16px;z-index:4}#speech .quote{font-size:14px}#hint{display:none}footer{padding:12px}.demo-badge{margin-left:0!important}#drawing{width:96vw;padding:12px;z-index:5}#paint{max-height:calc(100vh - 360px)}h1{font-size:36px}#colors button{width:20px;height:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Keep the drawing pixels and pointer coordinates at the same aspect ratio. */
#paint{width:min(100%,calc((100vh - 370px)*4/3));height:auto;max-height:none;margin-inline:auto}
.field{display:block;font-size:12px;margin:12px 0}.field input{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid #c1cada;border-radius:4px;font:inherit;background:white;color:#142743}.field input:focus{outline:2px solid #203fac}.check{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.65;margin:10px 0}.check input{margin-top:3px}.button-pair{display:flex;gap:10px;margin-top:20px}.button-pair button{flex:1}#roomInfo{position:fixed;top:109px;right:35px;display:flex;align-items:center;gap:12px;font-size:11px}#roomInfo button{font-size:11px;padding:5px 10px}#tableHint{position:fixed;left:50%;bottom:85px;transform:translateX(-50%);background:#f5f5edf2;padding:12px 22px;border-radius:7px;display:flex;gap:20px;align-items:center;max-width:80vw;font-size:13px;pointer-events:none}#tableHint b{font-size:24px;color:#203fac}#panel.bet-guide{left:24px;right:auto;top:166px;width:230px;padding:18px;background:#f5f5edee;pointer-events:none}#panel.bet-guide h2{font-size:21px}#panel.bet-guide p{font-size:12px}.lobby h1{font-size:36px;margin:12px 0}#panel.lobby{top:145px;max-height:calc(100vh - 215px)}@media(max-width:900px){#panel.bet-guide{width:180px;padding:12px}#panel.bet-guide p{font-size:10px}#roomInfo{right:15px;top:142px}}@media(max-width:620px){#panel.bet-guide{top:170px;left:10px;width:150px;max-height:180px}#panel.bet-guide p:nth-of-type(n+2){display:none}#tableHint{width:90vw;font-size:11px;bottom:60px;padding:8px 12px}#roomInfo{top:145px}#panel.lobby{top:180px;max-height:calc(100vh - 250px)}}

#sealNotice{position:fixed;left:50%;top:170px;transform:translateX(-50%);padding:14px 30px;text-align:center;background:#f5f5edf2;border:1px solid #caa44f;border-radius:8px;pointer-events:none}#sealNotice strong{display:block;font-size:30px;color:#203fac}#sealNotice span{display:block;font-size:12px;margin-top:7px;color:#57677c}

/* Compact tool controls leave the physical painting surface and group in view. */
#drawing{inset:0;transform:none;width:100%;height:100%;max-height:none;padding:0;overflow:visible;background:none;border:0;box-shadow:none;pointer-events:none}
#paint{position:fixed;margin:0;border:0;max-height:none;aspect-ratio:auto;pointer-events:auto}
.draw-heading{position:fixed;left:28px;top:160px;gap:22px;padding:10px 16px;background:#f5f5ede8;border-radius:5px}
.draw-heading h2{display:none}.draw-heading b{font-size:28px}
.paint-tools{position:fixed;bottom:110px;left:50%;transform:translateX(-50%);margin:0;padding:12px;background:#f5f5edf5;border-radius:5px;pointer-events:auto;flex-wrap:nowrap}
.draw-bottom{position:fixed;bottom:57px;left:50%;transform:translateX(-50%);gap:20px;margin:0;padding:5px 12px;background:#f5f5edf5;border-radius:5px;pointer-events:auto;white-space:nowrap}
.painting #crosshair{display:none}
@media(max-width:620px){.draw-heading{left:12px;top:160px;padding:6px 10px}.paint-tools{max-width:96vw;flex-wrap:wrap;justify-content:center;bottom:106px;gap:7px}.draw-bottom{bottom:56px;max-width:96vw;gap:8px}.draw-bottom span{font-size:9px}#tools button{padding:6px}}

/* Painting input is raycast against the scene mesh; the bitmap only backs its texture. */
#paint{display:none!important}.painting #world{cursor:crosshair;touch-action:none}

#startCountdown{position:fixed;left:50%;top:24%;transform:translateX(-50%);text-align:center;pointer-events:none;color:#203fac;text-shadow:0 2px 15px #fff}#startCount{display:block;font-size:110px;line-height:1.1}.seat-instruction{color:#203fac;background:#e7eef8;padding:12px;border-radius:5px}

#gmToggle{position:fixed;left:28px;bottom:65px;padding:7px 12px;font-size:12px;z-index:8}#gmPanel{position:fixed;left:24px;top:155px;width:300px;max-height:calc(100vh - 225px);overflow:auto;padding:20px;background:#f5f5edf7;border:1px solid #cad0d5;border-radius:7px;z-index:12;box-shadow:0 10px 35px #14274330}.gm-heading{display:flex;justify-content:space-between;align-items:center}.gm-heading button{padding:2px 9px;font-size:20px}#gmPanel p{margin:10px 0;font-size:11px}#gmPanel select{width:100%;font-size:12px}#gmFields label{display:grid;grid-template-columns:52px 1fr 35px;gap:8px;align-items:center;font-size:12px;margin:16px 0}#gmFields input{width:100%;accent-color:#203fac}#gmFields output{text-align:right;font-variant-numeric:tabular-nums}#gmPanel>small{display:block;line-height:1.6;margin-top:12px;letter-spacing:0}
#hangControls{position:fixed;bottom:70px;left:50%;transform:translateX(-50%);max-width:90vw;width:560px;background:#f5f5edf5;padding:16px;text-align:center;border-radius:6px;z-index:7}#hangControls>span{display:block;font-size:12px;margin:9px 0}#hangControls button{font-size:11px;padding:7px 12px}#hangStatus{display:block;margin-top:9px;min-height:17px}.visitor-bubble{position:fixed;left:0;top:0;transform:translate(-50%,-100%);width:235px;padding:11px 14px;border-radius:12px;background:#fffdf3f5;color:#142743;box-shadow:0 5px 16px #14274328;pointer-events:none;font-size:14px;line-height:1.55;z-index:3}.visitor-bubble:after{content:'';position:absolute;left:50%;bottom:-9px;border:9px solid transparent;border-top-color:#fffdf3f5;border-bottom:0}.visitor-bubble b{display:block;color:#203fac;font-size:11px;margin-bottom:5px}.visitor-bubble span{overflow-wrap:anywhere}#panel.tour-panel{width:270px;padding:18px;background:#f5f5eddf}#panel.tour-panel h2{font-size:21px}
