:root{--paper:#fff7f4;--ink:#61465c;--muted:#987d91;--rose:#ca85a4;--lilac:#98799f;--line:#e9d5df;--font:'Microsoft YaHei','PingFang SC',sans-serif;--num:'Bahnschrift',var(--font)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 var(--font)}h1,h2,h3,p{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{opacity:.48;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #b38bb2;outline-offset:3px}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}[hidden]{display:none!important}
.page-header{max-width:1100px;margin:auto;padding:26px 0 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.page-header>a{font:700 26px var(--num)}.page-header>a span{font:700 18px var(--font);margin-left:4px}.page-header>span{font-size:11px;color:var(--muted)}.page-layout{max-width:1010px;margin:38px auto 55px;display:grid;grid-template-columns:410px 1fr;gap:90px}.device-caption{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;margin-bottom:10px}.game{height:844px;max-height:calc(100svh - 45px);min-height:440px;width:390px;max-width:100%;position:relative;overflow:hidden;border:1px solid #e0cad9;border-radius:24px;box-shadow:0 0 0 5px #fff9,0 12px 45px #6b42630a;background:radial-gradient(ellipse at 90% 0,#f9e5ed88,transparent 45%),var(--paper);container-type:size}.main-screen{height:100%;display:flex;flex-direction:column;gap:10px;padding:max(14px,env(safe-area-inset-top)) 14px max(10px,env(safe-area-inset-bottom))}.game-header{display:flex;justify-content:space-between;align-items:center;flex:none;min-height:42px}.brand{display:flex;align-items:center;gap:8px}.brand img{width:37px;height:37px;object-fit:contain}.brand small{display:block;font:7px var(--num);letter-spacing:1.5px;color:var(--muted)}.brand h1{font-size:21px;line-height:1.4}.quiet{background:transparent;border:1px solid var(--line);padding:6px 10px;border-radius:9px;font-size:10px;min-height:36px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:none}.stats>div{height:83px;border:1px solid #e2c9d9;border-radius:13px;padding:7px 11px;background:linear-gradient(135deg,#fff,#fcf1f4);box-shadow:0 3px 0 #dec7d333}.stats small{display:block;font-size:10px;color:#8f7288}.stats strong{display:block;font:30px/1.2 var(--num);margin-top:2px}.stats span{display:block;font-size:9px;color:var(--muted);margin-top:2px}.stats b{font:10px var(--num);margin-left:3px;font-weight:400}.board-space{flex:1;min-height:80px;display:grid;place-items:center;container-type:size}.board{width:min(100cqw,100cqh);height:min(100cqw,100cqh);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:6px;padding:8px 8px 10px;border:1px solid #dbc1d5;border-radius:16px;background:#ebdce8;box-shadow:inset 0 2px 5px #65405c14,0 3px 0 #d8c0d5;touch-action:none;user-select:none}.tile{position:relative;min-width:0;min-height:0;border-radius:10px;isolation:isolate;overflow:hidden;background:var(--face,#fff1e8);box-shadow:inset 0 1px 0 #fffd,0 2px 0 #a37a9433;container-type:inline-size;animation:tile-in .13s ease-out}.tile.empty{background:#ddcade;box-shadow:inset 0 1px 3px #77516d12;animation:none}.tile::before{content:'';position:absolute;inset:3px;border:1px solid #fff9;border-radius:7px}.tile.high::before{border-color:#c2a171;box-shadow:inset 0 0 0 1px #fff9}.tile img{position:absolute;left:4%;top:3%;width:92%;height:73%;object-fit:contain}.tile .number{position:absolute;bottom:0;left:0;right:0;height:23%;display:flex;justify-content:center;align-items:center;background:#fff9f1ed;border-top:1px solid #fff8;font:700 clamp(7px,17cqw,16px)/1 var(--num);font-variant-numeric:tabular-nums;letter-spacing:0}.tile.long .number{font-size:clamp(7px,14.5cqw,14px)}@keyframes tile-in{from{transform:scale(.94);opacity:.7}to{transform:scale(1);opacity:1}}.board-hint{font-size:10px;color:var(--muted);text-align:center;flex:none;min-height:17px}.meeting-entry{width:100%;flex:none;min-height:64px;background:linear-gradient(110deg,#f6dbe7,#e9dff1);border:1px solid #d7b8ce;border-radius:14px;display:flex;align-items:center;text-align:left;padding:4px 13px;gap:9px;box-shadow:0 3px 0 #d4bacb66}.entry-art{width:52px;align-self:stretch;position:relative;flex:none}.entry-art>img{position:absolute;left:0;bottom:0;width:52px;height:58px;object-fit:contain}.meeting-entry>span:nth-child(2){flex:1}.meeting-entry strong{display:block;font-size:16px;letter-spacing:1px}.meeting-entry small{display:block;font-size:9px;color:#92718a;margin-top:1px}.entry-arrow{font:22px var(--num);color:#98789f}.game-nav{display:flex;justify-content:space-around;border-top:1px solid var(--line);padding-top:3px;flex:none}.game-nav button{min-height:38px;min-width:80px;border:0;background:transparent;font-size:11px;color:var(--muted);position:relative}.game-nav .active{font-weight:700;color:#a46b94}.game-nav .active::after{content:'';position:absolute;bottom:1px;left:40%;right:40%;height:2px;background:#c78aa9;border-radius:2px}.new-dot{display:inline-block;width:4px;height:4px;background:#c58aa6;border-radius:50%;position:absolute;right:9px;top:8px}
.notes{padding-top:32px}.eyebrow{font:9px/1.5 var(--num);letter-spacing:2px;color:#a08398}.notes h2{font-size:36px;line-height:1.5;letter-spacing:-1px;margin:12px 0 17px}.notes em{font-style:normal;color:#bd7e9c}.lead{font-size:13px;color:var(--muted);line-height:2}.note{display:flex;gap:16px;border-top:1px solid var(--line);padding:20px 0}.note:first-of-type{margin-top:28px}.note>span{font:11px var(--num);color:#b58caa;padding-top:4px}.note h3{font-size:14px;margin-bottom:6px}.note p{font-size:11px;line-height:1.9;color:var(--muted);max-width:340px}.try-card{background:#f5eaf0;border:1px solid #e8d5e0;border-radius:15px;padding:18px 20px;margin-top:6px}.try-card>span{font-size:9px;color:#a28199}.try-card h3{font-size:16px;margin:5px 0 7px}.try-card p{font-size:11px;color:var(--muted);line-height:1.9}.try-card button{border:1px solid #a280a6;background:#a280a6;color:#fff;min-height:40px;border-radius:8px;font-size:11px;padding:7px 15px;margin-top:12px}.prototype-note{font-size:10px;color:#a48a9e;line-height:1.9;margin:20px 0 10px}.readme-link{font-size:10px;border-bottom:1px solid #c9a9be;padding-bottom:2px}
.meeting-screen{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;padding:max(14px,env(safe-area-inset-top)) 12px max(10px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 45%,#fff4e9,transparent 65%),var(--paper)}.meeting-header{display:flex;justify-content:space-between;align-items:center;flex:none}.meeting-header small{font:6px var(--num);letter-spacing:1.4px;color:var(--muted)}.meeting-header h2{font-size:20px;margin-top:2px;line-height:1.4}.meeting-top-actions{display:flex;gap:3px}.meeting-top-actions button{min-width:38px;min-height:38px;background:#fff8;border:1px solid var(--line);border-radius:50%;font-size:16px}.meeting-hud{flex:none;display:grid;grid-template-columns:1.2fr 1fr 1fr;border:1px solid #e2ccd9;border-radius:12px;background:#fff9;padding:8px 12px;gap:8px}.meeting-hud small{display:block;font-size:9px;color:var(--muted)}.meeting-hud strong{display:block;font:25px/1.2 var(--num);margin-top:2px}.meeting-hud em{font:11px var(--num);font-style:normal;color:var(--muted)}.timer strong{color:#b27594}.timer.urgent strong{color:#c16b70}.queue{display:flex;justify-content:center;align-items:center;gap:5px;flex:none;height:38px;font-size:9px;color:var(--muted)}.queue img{width:33px;height:33px;object-fit:contain}.queue b{font:11px var(--num);color:var(--ink)}.queue .queue-divider{font-size:17px;color:#c5a8bc;margin:0 6px}.stage-wrap{position:relative;flex:1;min-height:100px;overflow:hidden;border-radius:18px;background:radial-gradient(ellipse at center,#fffcf6,#fcf0ef);border:1px solid #f1e0e6}.stage-wrap canvas{width:100%;height:100%;display:block;touch-action:none;user-select:none}.meeting-status{flex:none;font-size:10px;line-height:1.6;min-height:16px;text-align:center;color:#9b7892}.meeting-controls{display:flex;align-items:end;gap:12px;flex:none;padding:0 3px}.meeting-controls label{display:flex;flex:1;flex-direction:column;font-size:9px;color:var(--muted);gap:3px}.meeting-controls input{width:100%;accent-color:#a27ca4;height:28px;margin:0}.meeting-controls button,.result-controls button,.stage-pause button{border:1px solid #a17ca5;background:#a17ca5;color:white;min-height:43px;border-radius:10px;padding:7px 15px;font-size:12px;white-space:nowrap}.meeting-footnote{font-size:8px;color:#ae94a3;text-align:center;flex:none;line-height:1.5}.result-controls{text-align:center;flex:none}.result-controls p{font-size:10px;color:var(--muted);margin-bottom:6px}.result-controls button{width:100%;font-size:13px}.stage-pause{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:#fff6eff0;backdrop-filter:blur(4px)}.stage-pause strong{font-size:20px}.stage-pause p{font-size:11px;color:var(--muted)}.stage-pause button{margin-top:10px}
.finale{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,#fff1cbe8,#fff4f0eb 72%);z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;text-align:center}.finale>small{font:8px var(--num);letter-spacing:2px;color:#ad8865}.finale h3{font-size:24px;margin-top:7px}.performer{width:180px;height:180px;position:relative;margin:14px auto 5px;isolation:isolate}.performer>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2;transform-origin:50% 85%;animation:final-bow 2s ease-in-out both}.spotlight{position:absolute;inset:-60px -30px -10px;background:conic-gradient(from -23deg at 50% 0,transparent 0deg,#ffdf8d88 4deg,#fff3baaa 42deg,transparent 47deg);z-index:0}.performer-shadow{position:absolute;bottom:0;left:23%;right:23%;height:12px;border-radius:50%;background:#97705425;filter:blur(4px);z-index:1}.finale p{font-size:11px;color:#a17f8a;max-width:265px;line-height:1.8}.wave-paw{display:none;position:absolute;z-index:3;right:0;top:35%;width:43px;height:43px;border:2px solid #e6a9be;border-radius:48% 48% 43% 43%;background:#ffe3ed;transform-origin:10% 90%;box-shadow:inset 0 -4px 0 #f7cadb}.wave-paw::before,.wave-paw::after{content:'';position:absolute;top:-7px;width:13px;height:17px;border:2px solid #e6a9be;border-bottom:0;border-radius:9px 9px 0 0;background:#ffe3ed}.wave-paw::before{left:2px;transform:rotate(-15deg)}.wave-paw::after{right:2px;transform:rotate(15deg)}.wave-paw i{position:absolute;left:12px;top:13px;width:15px;height:14px;border-radius:50%;background:#f3b0ca}.performer.wave>img{animation:peek 2.2s ease-in-out both}.performer.wave .wave-paw{display:block;animation:wave 1.1s ease-in-out .35s 2 both}@keyframes final-bow{0%{transform:translateY(50px) scale(.65);opacity:0}35%{transform:translateY(-10px) scale(1.04);opacity:1}60%{transform:rotate(7deg) scale(.94)}100%{transform:rotate(0deg);opacity:1}}@keyframes peek{0%{transform:translateY(65px) scale(.7);opacity:0}30%{transform:translateY(-12px) scale(1.06);opacity:1}45%,75%{transform:rotate(-4deg)}60%,90%{transform:rotate(4deg)}100%{transform:none;opacity:1}}@keyframes wave{0%,100%{transform:rotate(-15deg)}25%,75%{transform:rotate(22deg)}50%{transform:rotate(-22deg)}}
.toast{position:absolute;bottom:62px;left:14px;right:14px;background:#7f607feF;color:white;padding:10px 12px;border-radius:10px;font-size:11px;z-index:10;text-align:center;pointer-events:none}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 10px}.collection-cell .tile{width:100%;aspect-ratio:1}.collection-cell>small{display:block;font-size:9px;color:var(--muted);line-height:1.6;margin-top:5px}.collection-cell>span{display:block;font-size:8px;color:#b297a6;line-height:1.5}.collection-cell>span.planned{color:#b49b76}.dialog-intro{font-size:11px;color:var(--muted);margin:10px 0 20px;line-height:1.9}dialog{max-width:430px;width:calc(100% - 28px);max-height:calc(100svh - 40px);overflow:auto;border:1px solid #ecd7e0;border-radius:21px;background:#fffaf7;color:var(--ink);padding:28px 22px;box-shadow:0 15px 70px #61445c35}dialog::backdrop{background:#593c5350;backdrop-filter:blur(4px)}dialog h2{font-size:21px;margin-top:7px}.dialog-close{position:absolute;top:8px;right:8px;min-width:36px;min-height:36px;background:transparent;border:0;color:var(--muted);font-size:24px}.action-card{display:flex;gap:12px;align-items:center;border:1px solid #dec8d7;background:#f7edf2;border-radius:13px;padding:12px;margin-bottom:20px}.action-card>img{width:61px;height:61px;object-fit:contain}.action-card>div{flex:1}.action-card h3{font-size:13px}.action-card p{font-size:10px;color:var(--muted);margin:3px 0 6px}.action-card button{min-height:34px;border:1px solid #b99ab5;border-radius:7px;background:#fffafc;font-size:10px;padding:4px 10px}.action-replay{position:relative;width:150px;height:150px;margin:12px auto}.action-replay .performer{width:150px;height:150px;margin:0}.achievement-list{margin-top:22px;display:flex;flex-direction:column;gap:10px}.achievement-item{padding:13px;background:#fff;border:1px solid var(--line);border-radius:12px}.achievement-item.locked{opacity:.55}.achievement-item h3{font-size:13px}.achievement-item p{font-size:10px;color:var(--muted);margin:4px 0}.achievement-item span{font-size:9px;color:#b38a9f}
@container(max-height:680px){.main-screen,.meeting-screen{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(6px,env(safe-area-inset-bottom));gap:6px}.brand h1{font-size:18px}.game-header{min-height:35px}.brand img{width:32px;height:32px}.stats>div{height:66px;padding:5px 9px}.stats strong{font-size:24px}.stats small{font-size:9px}.stats span{font-size:8px}.meeting-entry{min-height:51px}.meeting-entry strong{font-size:14px}.entry-art{width:43px}.entry-art img{width:43px;height:48px}.game-nav button{min-height:34px}.board-hint{font-size:9px;min-height:14px}.meeting-header h2{font-size:17px}.meeting-header small{font-size:5.5px}.meeting-top-actions button{min-height:33px;min-width:33px}.meeting-hud{padding:5px 10px}.meeting-hud strong{font-size:22px}.meeting-hud small{font-size:8px}.queue{height:29px;font-size:8px}.queue img{height:27px;width:27px}.meeting-controls button{min-height:37px;font-size:11px}.meeting-controls label{font-size:8px}.meeting-footnote{font-size:7px}.meeting-status{font-size:9px;min-height:14px}.finale h3{font-size:19px}.performer{width:120px;height:120px;margin:8px auto 0}.wave-paw{width:32px;height:32px}.wave-paw i{left:7px;top:9px}.finale p{font-size:9px}.finale>small{font-size:6px}.result-controls button{min-height:37px}.result-controls p{font-size:9px}}
.phone-only{overflow:hidden}.phone-only .page-header,.phone-only .notes,.phone-only .device-caption{display:none}.phone-only .page-layout{display:block;margin:0;max-width:none}.phone-only .game{width:100%;max-width:430px;height:100svh;max-height:none;min-height:0;border:0;border-radius:0;box-shadow:none;margin:auto}.phone-only .device-wrap{width:100%}
@media(max-width:1150px){.page-header{margin:0 30px}.page-layout{margin-left:45px;margin-right:45px;gap:50px;grid-template-columns:390px 1fr}}@media(max-width:860px){.page-layout{margin:24px 20px;gap:30px;grid-template-columns:minmax(300px,390px) 1fr}.notes h2{font-size:28px}.notes{padding-top:22px}}@media(max-width:700px){.page-header{margin:0 18px}.page-header>span{font-size:9px}.page-layout{display:flex;flex-direction:column;margin:24px 16px 35px;gap:30px}.device-wrap{width:100%;max-width:390px;margin:auto}.game{height:844px;max-height:calc(100svh - 30px);min-height:0;width:100%}.notes{padding:0 5px}.notes h2 br{display:none}.notes h2{font-size:29px}.lead br{display:none}.note p{max-width:none}.phone-only .game{height:100svh}.phone-only .page-layout{margin:0}.phone-only .device-wrap{max-width:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.performer>img{opacity:1!important;transform:none!important}}
.main-actions{display:flex;align-items:center;gap:4px}.main-actions .quiet{padding:3px 6px;min-width:30px;min-height:35px;font-size:9px}.main-actions #undo{display:flex;align-items:center;gap:2px}.main-actions #undo img{width:19px;height:19px}.main-actions #open-rules{font:15px var(--num);color:#a17d9a}.main-screen{gap:8px}.tools-area{flex:none}.tools-heading{display:flex;justify-content:space-between;align-items:center;line-height:15px;margin-bottom:5px;font-size:9px}.tools-heading small{font-size:7px;color:var(--muted)}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.power{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;height:51px;min-width:44px;border:1px solid #e0cad9;border-radius:10px;background:linear-gradient(135deg,#fff,#fcf2f6);box-shadow:0 2px 0 #dfc9d664;font-size:9px;padding:3px}.power img{width:26px;height:26px}.power b{position:absolute;right:5px;top:2px;font:8px var(--num);color:#aa849f}.power small{position:absolute;left:4px;top:3px;font-size:6px;color:#b29bae}.power.pending-rule{border-style:dashed;background:#f7eff4}.power.selected{border-color:#af82a5;background:#efdeec;box-shadow:inset 0 1px 2px #b99eb422}.shield-bar{flex:none;display:flex;align-items:center;gap:6px;border:1px solid #dfc9dd;border-radius:8px;background:#f0e5f0;min-height:26px;padding:2px 8px;font-size:9px}.shield-bar img{width:19px;height:19px}.shield-bar>span{flex:1}.shield-bar>b{font:9px var(--num);font-weight:400}.shield-bar>small{font-size:7px;color:#a488a1}.game-nav button{min-width:0;flex:1}.board-hint{font-size:9px}.stats>div:first-child{position:relative}.stats .has-record::after{content:'新纪录';position:absolute;right:7px;top:6px;color:#a67a31;background:#fae8ba;padding:0 4px;border-radius:3px;font-size:7px}.stats .record-gold{animation:record-gold .85s ease-out 1}@keyframes record-gold{0%,100%{transform:none}35%{transform:translateY(-4px);background:#f9de99;box-shadow:0 3px 0 #c9a96a,0 0 17px #e7c67866}}
.range-label{flex:none;text-align:center;color:#a18396;font-size:8px;line-height:12px;margin-top:-5px}.basket-actions{display:flex;gap:7px;flex:none}.basket-actions button{flex:1;min-height:35px;border:1px solid #d6b9ce;border-radius:9px;background:#f6e7ef;color:#906c8b;font-size:10px;padding:4px 8px}.basket-actions #shake{background:#f0e4f2;border-color:#cbb1cf}.meeting-screen:has(.finale:not([hidden])) .basket-actions,.meeting-screen:has(.finale:not([hidden])) .range-label{display:none}.shaking{animation:basket-shake .46s ease-in-out 1}@keyframes basket-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-4px) rotate(-.4deg)}40%,80%{transform:translateX(4px) rotate(.4deg)}}#rules-content{font-size:11px;color:#94788d;line-height:1.9;margin-top:15px}#rules-content p{margin:12px 0}#rules-content ul{padding-left:18px}#rules-content li{margin:9px 0}
@container(max-height:720px){.main-screen{gap:5px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(6px,env(safe-area-inset-bottom))}.tools-heading{display:none}.tool-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.power{height:44px;min-width:0;border-radius:7px;font-size:7px}.power img{width:22px;height:22px}.power b{font-size:6px;right:2px;top:1px}.power small{font-size:5px;left:2px;top:1px}.shield-bar{min-height:22px;font-size:8px}.shield-bar img{width:17px;height:17px}.board-hint{display:none}.meeting-entry{min-height:44px}.meeting-entry strong{font-size:13px}.entry-art{width:39px}.entry-art img{width:39px;height:44px}.game-nav button{min-height:31px;font-size:10px}.stats>div{height:62px;padding:4px 9px}.stats strong{font-size:23px}.brand h1{font-size:17px}.brand img{width:30px;height:30px}.brand small{font-size:6px}.main-actions .quiet{min-height:31px;font-size:8px}.basket-actions button{min-height:31px;font-size:9px}.range-label{font-size:7px;line-height:10px;margin-top:-3px}.meeting-screen{gap:5px}}
/* Five active tools: three above, two centered below. */
.tools-area .tool-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.tools-area .power{grid-column:span 2}.tools-area .power:nth-child(4){grid-column:2/span 2}.tools-area .power:nth-child(5){grid-column:4/span 2}
@container(max-height:720px){.tools-area .tool-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.tools-area .power:nth-child(n){grid-column:auto}}
.tile.apex::after{content:'MAX';position:absolute;right:3px;top:3px;border-radius:3px;background:#fff1cbde;color:#795528;font:7px/1.2 Consolas,monospace;padding:1px 2px;z-index:2}.tile.apex{outline:1px solid #c7a45e}

.score-sync{grid-column:1;max-width:540px;padding:16px;border:1px solid #dfc6d8;border-radius:18px;background:#fff9f5;color:#704e69;font-size:13px}.score-sync>div{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.score-sync button,.score-sync select,.score-sync input{font:inherit}.score-sync button{padding:8px 10px;border:1px solid #dfc6d8;border-radius:10px;background:#fff}.score-sync label{display:block;margin-top:8px}.sync-note{line-height:1.6;opacity:.8}

.sync-summary{font-size:9px;line-height:12px;color:#94788d;text-align:center;margin:0;flex:none}.game-nav{gap:4px}.score-sync[hidden]{display:none}
@container(max-height:430px){.sync-summary{position:absolute;left:14px;right:14px;bottom:1px;font-size:7px;line-height:9px;pointer-events:none}}
