.home[data-panel=members][data-layout=all]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;width:100%;height:100dvh;min-height:0;overflow:hidden}.home[data-panel=members][data-layout=all]:before,.home[data-panel=members][data-layout=all]:after{content:"";position:absolute;pointer-events:none;z-index:0}.home[data-panel=members][data-layout=all]:before{top:-12%;right:-12%;bottom:-12%;left:-12%;opacity:.56;background-image:radial-gradient(circle,#fffde8 0 1px,transparent 2px),radial-gradient(circle,#dcefcf 0 1.5px,transparent 2.6px),radial-gradient(circle,#f1ddb0 0 1px,transparent 2.2px);background-size:89px 89px,137px 137px,211px 211px;background-position:17px 29px,61px 13px,103px 79px;filter:drop-shadow(0 0 5px #fffde8);animation:member-stars-drift 24s linear infinite}.home[data-panel=members][data-layout=all]:after{top:-28%;right:-28%;bottom:-28%;left:-28%;opacity:.34;background:radial-gradient(ellipse 48% 12% at 50% 50%,rgba(255,253,225,.7),rgba(203,229,191,.34) 35%,transparent 72%),radial-gradient(ellipse 34% 7% at 53% 48%,rgba(220,238,255,.5),transparent 75%);filter:blur(16px);transform:rotate(-16deg) scale(1.06);animation:member-galaxy-drift 18s ease-in-out infinite alternate}.home[data-panel=members][data-layout=all] .home-scene{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;opacity:1;overflow:hidden}.home[data-panel=members] .home-scene-image{filter:blur(18px);transform:scale(1.07);object-position:35% 45%}.home[data-panel=members] .home-scene-shade{background:linear-gradient(135deg,#f7f8edb3,#edf2e2c2)}.home[data-panel=members] .home-header{position:absolute;inset:0 0 auto;z-index:3;padding-top:calc(20px + env(safe-area-inset-top));pointer-events:none}.home[data-panel=members] .home-brand-mark{width:44px;height:44px}.home[data-panel=members] .home-brand-mark img{width:34px;height:34px}.home[data-panel=members] .home-brand-name{font-size:clamp(18px,1.4vw,25px)}.home[data-panel=members][data-layout=all] .home-main,.home[data-panel=members][data-layout=all] .home-panel,.home[data-panel=members][data-layout=all] .home-panel-content{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-width:none;max-height:none;min-height:0;margin:0;padding:0}.home[data-panel=members] .home-main{z-index:2}.home[data-panel=members] .home-panel-heading--hidden{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.home[data-panel=members] .home-panel-actions{position:absolute;bottom:calc(48px + env(safe-area-inset-bottom));left:clamp(20px,4.4vw,84px);z-index:4;margin:0}.home-members{--member-spread-x: .92;--member-spread-y: .96;--member-unit: min(1px, calc((100vw - 64px) / 1500), calc((100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) / 1008));--member-avatar-size: calc(144 * var(--member-unit));--member-profile-width: calc(180 * var(--member-unit));--member-profile-height: calc(288 * var(--member-unit));position:absolute;inset:calc(12px + env(safe-area-inset-top)) clamp(16px,4.4vw,84px) calc(12px + env(safe-area-inset-bottom));min-height:0;overflow:hidden;scrollbar-width:none;padding:0}.home-members::-webkit-scrollbar{display:none}.home-members:focus-visible{outline:2px solid #927139;outline-offset:-2px;border-radius:16px}.members-constellation{position:relative;width:100%;height:100%}.member-profile{--member-x: var(--member-base-x);--member-y: var(--member-base-y);position:absolute;left:calc(var(--member-profile-width) / 2 + 6px + (.5 + (var(--member-x) - .5) * var(--member-spread-x)) * (100% - var(--member-profile-width) - 12px));top:calc(6px + (.5 + (var(--member-y) - .5) * var(--member-spread-y)) * (100% - var(--member-profile-height) - 12px));transform:translate(-50%);width:var(--member-profile-width);height:var(--member-profile-height);display:flex;flex-direction:column;align-items:center;gap:calc(6 * var(--member-unit));text-align:center}.home[data-panel=members][data-motion=on] .member-profile{animation:member-star-appear .64s cubic-bezier(.2,.75,.2,1) var(--member-delay, 80ms) both}.member-profile:before{content:"";position:absolute;z-index:-1;top:calc(var(--member-avatar-size) * -.28);left:50%;width:calc(var(--member-avatar-size) * 1.56);height:calc(var(--member-avatar-size) * 1.56);pointer-events:none;opacity:0;background:radial-gradient(circle,rgba(255,254,224,.96),rgba(220,237,181,.48) 26%,transparent 68%);clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%)}.home[data-panel=members][data-motion=on] .member-profile:before{animation:member-star-flare .76s ease-out var(--member-delay, 80ms) both}.member-profile:nth-child(1){--member-delay: 80ms}.member-profile:nth-child(2){--member-delay: .15s}.member-profile:nth-child(3){--member-delay: .25s}.member-profile:nth-child(4){--member-delay: .36s}.member-profile:nth-child(5){--member-delay: .47s}.member-profile:nth-child(6){--member-delay: .58s}.member-profile:nth-child(7){--member-delay: .69s}.member-profile[data-links="0"]{--member-profile-height: calc(244 * var(--member-unit))}.member-avatar{width:var(--member-avatar-size);height:var(--member-avatar-size);flex:none;padding:calc(6 * var(--member-unit));overflow:hidden;border:1px solid #fffef3e6;border-radius:50%;background:linear-gradient(145deg,#fffff9,#e3ebd5);box-shadow:0 0 0 1px #7d956055,0 7px 18px #33472b1f;transition:transform .22s ease,box-shadow .22s ease}@media(hover:hover)and (pointer:fine){.home[data-motion=on] .member-avatar:hover{transform:scale(1.05) rotate(-3deg);box-shadow:0 0 0 2px #fffdecb3,0 0 24px #dbe7a4b3,0 0 42px #c8dc9a66,0 8px 18px #33472b24}}.member-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.member-avatar-fallback{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:#e0e8d5;color:#527149;font-size:calc(34 * var(--member-unit))}.home .member-name{margin:calc(3 * var(--member-unit)) 0 0;max-width:100%;flex:none;font-size:calc(22 * var(--member-unit));font-weight:700;line-height:1.3;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 6px #fffff8b3}.home [data-member-id=a] .member-name{width:max-content;max-width:calc(320 * var(--member-unit));white-space:normal;overflow:visible;text-overflow:clip}.home .member-intro{margin:0;width:100%;max-height:calc(44 * var(--member-unit));flex:none;font-size:calc(16 * var(--member-unit));line-height:calc(22 * var(--member-unit));color:#57674e;text-shadow:0 1px 5px #fffff8cc;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.member-links{display:flex;flex:none;align-items:center;justify-content:center;gap:calc(10 * var(--member-unit))}.member-link{display:grid;place-items:center;width:calc(44 * var(--member-unit));height:calc(44 * var(--member-unit));color:#38583d;border:1px solid #71876530;border-radius:50%;background:#fffff28c;transition:color .16s ease,background-color .16s ease,border-color .16s ease}.member-link svg{display:block;width:calc(28 * var(--member-unit));height:calc(28 * var(--member-unit))}.member-link-logo{display:block;width:calc(32 * var(--member-unit));height:calc(32 * var(--member-unit));object-fit:contain;border-radius:50%}.home a.member-link:hover{color:#203d28;background:#fffff5;border-color:#71876577}.home a.member-link:focus-visible{outline:3px solid #927139;outline-offset:3px}.member-link--empty{opacity:.55;cursor:default}@keyframes member-star-appear{0%{opacity:0;filter:brightness(2) blur(4px);transform:translate(-50%) scale(.42)}58%{opacity:1;filter:brightness(1.55) blur(0);transform:translate(-50%) scale(1.07)}to{opacity:1;filter:brightness(1) blur(0);transform:translate(-50%) scale(1)}}@keyframes member-star-flare{0%,18%{opacity:0;transform:translate(-50%) scale(.18) rotate(0)}48%{opacity:.9;transform:translate(-50%) scale(1.2) rotate(16deg)}to{opacity:0;transform:translate(-50%) scale(1.85) rotate(28deg)}}@keyframes member-stars-drift{0%{background-position:17px 29px,61px 13px,103px 79px}to{background-position:106px -60px,-76px 150px,314px -132px}}@keyframes member-galaxy-drift{0%{opacity:.25;transform:translate3d(-1.5%,1%,0) rotate(-16deg) scale(1.04)}to{opacity:.42;transform:translate3d(1.5%,-1%,0) rotate(-13deg) scale(1.1)}}.home[data-panel=members][data-motion=off]:before,.home[data-panel=members][data-motion=off]:after{animation:none}@media(prefers-reduced-motion:reduce){.home[data-panel=members]:before,.home[data-panel=members]:after{animation:none}}@media(max-width:1023px)and (max-aspect-ratio:1/1){.home-members{--member-unit: min(1px, calc((100vw - 64px) / 950), calc((100dvh - 92px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) / 860));--member-profile-width: calc(148 * var(--member-unit));top:calc(80px + env(safe-area-inset-top))}.member-profile[data-member-id=guo]{--member-x: .57}.member-profile[data-member-id=chili]{--member-x: .79}.member-profile[data-member-id=daimeng-hf]{--member-x: 1}}@media(max-width:600px)and (max-aspect-ratio:1/1){.home-members{--member-spread-y: .99;--member-unit: min(1px, calc((100vw - 32px) / 328), calc((100dvh - 92px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) / 840));--member-avatar-size: calc(56 * var(--member-unit));--member-profile-width: calc(88 * var(--member-unit));--member-profile-height: calc(152 * var(--member-unit));right:16px;left:16px}.member-profile[data-links="0"]{--member-profile-height: calc(120 * var(--member-unit))}.member-profile[data-member-id=a]{--member-profile-height: calc(168 * var(--member-unit))}.home [data-member-id=a] .member-name{width:100%;max-width:100%}.member-profile{gap:calc(3 * var(--member-unit))}.home .member-name{margin-top:0;font-size:calc(16 * var(--member-unit))}.home .member-intro{font-size:calc(12 * var(--member-unit));line-height:calc(16 * var(--member-unit));max-height:calc(32 * var(--member-unit))}.member-link{width:calc(34 * var(--member-unit));height:calc(34 * var(--member-unit))}.member-link svg{width:calc(22 * var(--member-unit));height:calc(22 * var(--member-unit))}.member-profile[data-member-id=chui]{--member-x: .02;--member-y: .23}.member-profile[data-member-id=hu]{--member-x: .45;--member-y: 0}.member-profile[data-member-id=a]{--member-x: .98;--member-y: .23}.member-profile[data-member-id=mx]{--member-x: .32;--member-y: .46}.member-profile[data-member-id=guo]{--member-x: .52;--member-y: .69}.member-profile[data-member-id=chili]{--member-x: .58;--member-y: .92}.member-profile[data-member-id=daimeng-hf]{--member-x: .99;--member-y: 1}}@media(max-height:600px)and (min-aspect-ratio:1/1){.home-members{--member-unit: min(1.4px, calc((100vw - 48px) / 700), calc((100dvh - 76px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) / 300));--member-avatar-size: calc(56 * var(--member-unit));--member-profile-width: calc(82 * var(--member-unit));--member-profile-height: calc(152 * var(--member-unit));top:calc(64px + env(safe-area-inset-top));right:24px;left:24px}.member-profile[data-links="0"]{--member-profile-height: calc(120 * var(--member-unit))}.member-profile[data-member-id=a]{--member-profile-height: calc(168 * var(--member-unit))}.home [data-member-id=a] .member-name{width:100%;max-width:100%}.member-profile{gap:calc(3 * var(--member-unit))}.home .member-name{margin-top:0;font-size:calc(16 * var(--member-unit))}.home .member-intro{font-size:calc(12 * var(--member-unit));line-height:calc(16 * var(--member-unit));max-height:calc(32 * var(--member-unit))}.member-link{width:calc(34 * var(--member-unit));height:calc(34 * var(--member-unit))}.member-link svg{width:calc(22 * var(--member-unit));height:calc(22 * var(--member-unit))}.member-profile[data-member-id=chui]{--member-x: 0}.member-profile[data-member-id=hu]{--member-x: .21}.member-profile[data-member-id=a]{--member-x: .53}.member-profile[data-member-id=mx]{--member-x: .37}.member-profile[data-member-id=guo]{--member-x: .69}.member-profile[data-member-id=chili]{--member-x: .85}.member-profile[data-member-id=daimeng-hf]{--member-x: 1}.home[data-panel=members] .home-header{padding-top:calc(12px + env(safe-area-inset-top))}.home[data-panel=members] .home-brand-mark{width:36px;height:36px}.home[data-panel=members] .home-brand-mark img{width:28px;height:28px}.home[data-panel=members] .home-brand-name{font-size:18px}}.home{--home-ink: #213f32;--home-muted: #526254;--home-cream: #f7f5e9;--home-gold: #b89753;position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100vh;min-height:100svh;overflow:clip;color:var(--home-ink);background:#edf0dd}.home button,.home input{font:inherit}.home button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.home button:disabled{cursor:wait;opacity:1}.home button:focus-visible,.home input:focus-visible{outline:3px solid #927139;outline-offset:5px}.home-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(140deg,#b2cba4,#e6edd5 50%,#aacba9)}.home-scene-image{display:block;width:100%;height:100%;object-fit:cover;object-position:35% 45%}.home-scene-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#eff3dfd1 0,#eff3df00 150px),linear-gradient(90deg,transparent 48%,rgba(239,243,223,.35) 66%,rgba(239,243,223,.91) 100%),linear-gradient(0deg,rgba(20,47,26,.65),transparent 27%)}.home-scene--fallback .home-scene-shade{background:radial-gradient(ellipse at 20% 50%,rgba(76,136,99,.2),transparent 50%)}.home-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:calc(28px + env(safe-area-inset-top)) clamp(24px,4.4vw,84px) 20px}.home-brand{display:flex;align-items:center;gap:13px}.home-brand-mark{display:grid;place-items:center;width:52px;height:52px;font-size:32px;border-radius:17px;background:#faf9ecc2;border:1px solid rgba(64,92,63,.22);box-shadow:0 3px #3a54301f}.home-brand-mark img{width:40px;height:40px;border-radius:12px}.home-scene--fallback~.home-footer{color:var(--home-muted)}.home-brand-name{display:block;font-weight:800;font-size:25px;letter-spacing:.08em}.home-tools{display:flex;align-items:center;gap:6px;padding:5px 9px 5px 17px;border-radius:40px;background:#fafaefe6;border:1px solid rgba(52,83,57,.22);box-shadow:0 3px 16px #2d401f0f}.home-name{display:flex;align-items:center;gap:10px}.home-name-label{font-size:11px;color:var(--home-muted)}.home-name input{width:115px;padding:6px 0;border:0;border-radius:4px;color:var(--home-ink);background:transparent;font-size:13px;font-weight:600}.home-tools-divider{height:20px;width:1px;margin:0 5px;background:#d2d9c6}.home-tool{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;color:#47634e;background:transparent;cursor:pointer;transition:background .16s ease}.home-tool svg{width:19px;height:19px}.home-tool:hover{background:#e5ecd9}.home-tool[aria-pressed=false]{color:#73776d;background:#eceee4}.home-main{display:flex;align-items:center;justify-content:flex-end;flex:1;position:relative;padding:30px clamp(30px,5.6vw,108px) 40px}.home-panel{width:36vw;max-width:520px;position:relative}.home-panel-content{animation:home-panel-enter .22s ease-out both}.home-panel-heading{margin:0 0 27px 15px}.home-panel-heading h1{margin:11px 0 10px;font-size:clamp(23px,2vw,31px);font-weight:800;letter-spacing:.035em;line-height:1.3;outline:none}.home-menu{display:flex;flex-direction:column;gap:20px;padding-bottom:7px}.home-entry{position:relative;display:flex;align-items:center;gap:clamp(16px,1.7vw,27px);width:100%;min-height:clamp(112px,13.5vh,148px);padding:23px clamp(20px,2vw,31px);border-radius:8px 25px;border:2px solid #456246;text-align:left;color:var(--home-ink);background:linear-gradient(120deg,#fffff1,#f1f0dd);box-shadow:0 6px #56704e,0 9px #f3eabca6,0 14px 28px #25401f29;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.home-entry:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1px solid rgba(177,154,87,.5);border-radius:3px 17px;pointer-events:none}.home-entry-icon{position:relative;display:grid;place-items:center;flex-shrink:0;width:clamp(50px,4.3vw,67px);height:clamp(50px,4.3vw,67px);border:1px solid #c2c9a6;background:#e6e9cf;border-radius:50%;color:#4c6444}.home-entry-icon:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:1px solid rgba(153,167,125,.38);border-radius:50%}.home-entry-icon svg{width:31px;height:31px}.home-entry-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:9px}.home-entry-title{font-family:Songti SC,STSong,SimSun,serif;font-size:clamp(27px,2.6vw,38px);font-weight:700;letter-spacing:.12em;white-space:nowrap;line-height:1.15}.home-entry-end{display:flex;align-items:center;color:#8f965f}.home-entry-end svg{width:22px;height:22px}.home-entry-ornament{position:absolute;right:13px;top:12px;width:4px;height:4px;background:#c3aa64;transform:rotate(45deg)}.home-entry:hover,.home-entry:focus-visible{transform:translateY(-4px);filter:brightness(1.035)}.home-entry:active{transform:scale(.98);transition-duration:80ms}.home-games{display:flex;flex-direction:column;gap:18px;max-height:clamp(260px,52svh,600px);min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:transparent transparent;scrollbar-gutter:stable;padding:4px 10px 12px 4px}.home-games[data-scrolling=true]{scrollbar-color:#8b9b75 #e9eddd}.home-games::-webkit-scrollbar{width:8px}.home-games::-webkit-scrollbar-track,.home-games::-webkit-scrollbar-thumb{background:transparent;border-radius:8px;transition:background-color .16s ease}.home-games[data-scrolling=true]::-webkit-scrollbar-track{background:#e9eddd}.home-games[data-scrolling=true]::-webkit-scrollbar-thumb{background:#8b9b75}.home-games:focus-visible{outline:2px solid #927139;outline-offset:3px}.home-game{flex-shrink:0;display:grid;grid-template-columns:43% 1fr;grid-template-rows:minmax(0,1fr);height:var(--home-game-height, 190px);min-height:var(--home-game-height, 190px);overflow:hidden;position:relative;padding:0;border:1px solid #79916d;border-radius:16px;background:#fcfbef;color:var(--home-ink);text-align:left;cursor:pointer;box-shadow:0 4px #5c704780,0 12px 25px #263d221f;transition:transform .16s ease,box-shadow .16s ease}.home-game-cover{position:relative;display:block;min-width:0;overflow:hidden;background:#e6e8d1}.home-game-cover img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.home-game-players{position:absolute;left:12px;bottom:12px;border:1px solid rgba(255,255,255,.4);background:#294d3be6;color:#fffde9;border-radius:20px;padding:5px 10px;font-size:10px;letter-spacing:.08em}.home-game-body{display:flex;flex-direction:column;padding:21px 20px 17px;min-width:0;min-height:0}.home-game-tag{flex-shrink:0;color:#7a714e;font-size:9px;letter-spacing:.06em}.home-game-title{flex-shrink:0;font-size:clamp(20px,1.75vw,26px);font-weight:800;margin:9px 0 10px;letter-spacing:.015em}.home-game-description{font-size:11px;line-height:1.7;color:#5e6b58;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.home-game-cta{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:15px;color:#345839;font-size:11px;font-weight:700}.home-game-cta svg{width:18px;height:18px}.home-game-fallback{display:grid;place-items:center;height:100%;min-height:160px;font-size:48px}.home-game:hover,.home-game:focus-visible{transform:translateY(-3px);box-shadow:0 5px #5c704780,0 15px 30px #263d2233}.home-game:active{transform:scale(.98);transition-duration:80ms}.home-back,.home-expand{display:inline-flex;align-items:center;gap:9px;padding:9px 14px;margin:22px 0 0;font-size:12px;border:1px solid rgba(72,98,66,.3);border-radius:30px;color:#36523c;background:#f8f9ead4;cursor:pointer;transition:transform .16s ease,background .16s ease}.home-back svg,.home-expand svg{width:17px;height:17px}.home-back:hover{background:#ffffed;transform:translate(-3px)}.home-placeholder{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:335px;padding:40px 20px;border:1px solid #98aa84;border-radius:19px;background:linear-gradient(145deg,#fcfbee,#e9eddb);box-shadow:0 4px #bfcaab,0 15px 30px #263d221a;text-align:center}.home-placeholder:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid #d6d8bc;border-radius:12px;pointer-events:none}.home-placeholder-icon{display:grid;place-items:center;width:74px;height:74px;margin-bottom:30px;border:1px solid #acbb95;border-radius:50%;background:#e2e8d0;color:#607a53}.home-placeholder-icon svg{width:33px;height:33px}.home-placeholder-kicker{font-size:10px;letter-spacing:.2em;color:#7b845f}.home-placeholder h2{font-size:23px;margin:12px 0 15px;letter-spacing:.03em}.home-placeholder p{margin:0;font-size:11px;line-height:1.7;color:#63735b}.home-placeholder-decoration{color:#bba967;font-size:19px;margin-top:27px}.home-footer{position:relative;display:flex;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:20px clamp(24px,4.4vw,84px) calc(24px + env(safe-area-inset-bottom));color:#f0f0d9;font-size:10px;letter-spacing:.09em}.home-footer-motto{display:inline-flex;align-items:center;gap:8px}.home-filing{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;font-size:12px;line-height:1.6;letter-spacing:0;text-align:center}.home-filing a{color:inherit;text-decoration:none}.home-filing a:hover{text-decoration:underline}.home-filing a:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}.home-footer svg{width:14px;height:14px;color:#d8d49d}.home-click-ring{position:absolute;z-index:10;width:34px;height:34px;margin:-17px 0 0 -17px;pointer-events:none;border:2px solid #ecda91;border-radius:50%;box-shadow:0 0 14px #f9e3a1,inset 0 0 9px #f9e3a1;animation:home-ring .3s ease-out both}@keyframes home-panel-enter{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes home-ring{0%{opacity:.95;transform:scale(.45)}to{opacity:0;transform:scale(4)}}.home[data-motion=off] *,.home[data-motion=off] *:before,.home[data-motion=off] *:after{animation:none!important;transition:none!important}.home[data-motion=off] button:hover,.home[data-motion=off] button:active,.home[data-motion=off] button:focus-visible{transform:none}@media(min-width:1024px)and (max-height:800px){.home-header{padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:10px}.home-main{padding-top:18px;padding-bottom:22px}.home-panel-heading{margin-bottom:20px}.home-menu{gap:17px}.home-game{--home-game-height: 175px}.home-game-body{padding:16px}.home-game-description{-webkit-line-clamp:2}.home-footer{padding-top:12px;padding-bottom:calc(18px + env(safe-area-inset-bottom))}}@media(min-width:1024px){.home{height:100svh}.home-main{min-height:0}.home[data-panel=hall] .home-main{align-items:flex-start;padding-top:12px}.home[data-panel=hall] .home-panel-content{display:flex;flex-direction:column;max-height:calc(100svh - 180px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.home[data-panel=hall] .home-panel-heading,.home[data-panel=hall] .home-back{flex-shrink:0}.home[data-panel=hall] .home-games{flex:1;max-height:none}.home[data-panel=hall] .home-back{align-self:flex-start}}@media(max-width:1023px){.home{background:var(--home-cream)}.home-scene{height:440px;bottom:auto}.home-scene-image{object-position:35% 43%}.home-scene-shade{background:linear-gradient(180deg,rgba(242,247,224,.84),transparent 115px),linear-gradient(0deg,var(--home-cream),rgba(247,245,233,.04) 50%,transparent 65%)}.home-header{padding:calc(24px + env(safe-area-inset-top)) 28px 16px}.home-main{display:block;padding:312px 28px 28px}.home[data-panel=hall] .home-main{padding-top:260px}.home-panel{width:100%;max-width:520px;margin:0 auto}.home-panel-heading{margin-left:0}.home-panel-heading h1{font-size:26px}.home-entry{min-height:119px;padding:22px 26px;gap:23px}.home-entry-title{font-size:32px}.home-entry-icon{width:57px;height:57px}.home-game{--home-game-height: 190px}.home-game-title{font-size:24px}.home-footer{color:#66795e;padding:20px 28px calc(25px + env(safe-area-inset-bottom));max-width:576px;margin:auto auto 0;width:100%}.home-footer svg{color:#899765}}@media(max-width:600px){.home-header{padding:calc(18px + env(safe-area-inset-top)) 20px 0;flex-wrap:wrap;gap:14px}.home-brand{gap:10px}.home-brand-mark{width:44px;height:44px;font-size:28px;border-radius:14px}.home-brand-mark img{width:34px;height:34px;border-radius:10px}.home-brand-name{font-size:22px}.home-tools{padding:3px 6px 3px 13px;gap:4px;margin-left:auto}.home-name input{width:106px;font-size:16px}.home-tool{width:36px;height:36px}.home-scene{height:395px}.home-scene-image{object-position:33% center}.home-main{padding:275px 23px 18px}.home[data-panel=hall] .home-main{padding-top:230px}.home-panel-heading{margin-bottom:23px}.home-panel-heading h1{font-size:24px}.home-menu{gap:19px}.home-entry{min-height:112px;padding:22px;gap:20px}.home-entry-icon{width:47px;height:47px}.home-entry-icon svg{width:27px;height:27px}.home-entry-title{font-size:29px;letter-spacing:.09em}.home-entry-end{margin-left:-5px}.home-game{grid-template-columns:38% 1fr;--home-game-height: 200px}.home-game-body{padding:18px 15px}.home-game-title{font-size:22px}.home-game-tag{font-size:8px}.home-game-description{-webkit-line-clamp:3}.home-footer{padding-left:23px;padding-right:23px;font-size:9px}}@media(prefers-reduced-motion:reduce){.home *,.home *:before,.home *:after{animation:none!important;transition:none!important}.home button:hover,.home button:active,.home button:focus-visible{transform:none}}.home-panel-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;margin-top:22px}.home-panel-actions .home-back,.home-panel-actions .home-expand{margin:0}.home[data-panel=hall] .home-panel-actions{margin-left:-8px;padding-left:8px;padding-right:10px;overflow:hidden;scrollbar-gutter:stable;scrollbar-width:thin}.home[data-panel=hall] .home-panel-actions::-webkit-scrollbar{width:8px}.home[data-panel=hall] .home-panel-actions button:focus-visible{outline-offset:-4px}.home .home-expand{background:#fbfbeeeb;border-color:#7e95766b}.home .home-expand:hover{transform:translate(3px)}.home .home-scene{transition:opacity .2s ease}.home .home-scene-image{transition:filter .24s ease,transform .24s ease}.home .home-games,.home .home-placeholder{transition:opacity .18s ease,transform .18s ease}.home[data-transition=out] .home-games,.home[data-transition=out] .home-placeholder{opacity:0;transform:translate(16px) scale(.96);pointer-events:none}.home[data-layout=all]:not([data-panel=members]){background:#edf0dd}.home[data-layout=all]:not([data-panel=members]) .home-scene{opacity:1}.home[data-layout=all]:not([data-panel=members]) .home-scene-image{filter:blur(16px);transform:scale(1.05)}.home[data-layout=all]:not([data-panel=members]) .home-scene-shade{background:linear-gradient(135deg,#f6f8ea94,#ebf1e0b3)}.home[data-layout=all] .home-main{justify-content:center;align-items:flex-start;padding:16px clamp(24px,4.4vw,84px) 24px}.home[data-layout=all] .home-panel{width:100%;max-width:1240px}.home[data-layout=all] .home-panel-content{animation:none}.home[data-layout=all] .home-panel-heading{margin-left:4px}.home[data-layout=all] .home-games{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:22px;max-height:none;padding:4px 10px 12px 4px}.home[data-layout=all] .home-game{grid-template-columns:minmax(0,1fr);grid-template-rows:190px minmax(0,1fr);height:390px;min-height:390px;border-color:#a2b393;box-shadow:0 3px #c4cfb8,0 8px 20px #33402a0a}.home[data-layout=all] .home-game-body{padding:20px}.home[data-layout=all] .home-game-title{font-size:24px}.home[data-layout=all] .home-game-description{-webkit-line-clamp:3}.home[data-layout=all] .home-placeholder{width:100%;max-width:520px;margin:0 auto}.home[data-layout=all] .home-footer{color:#66795e}.home[data-layout=all] .home-footer svg{color:#899765}.home[data-layout=all][data-transition=in] .home-games,.home[data-layout=all][data-transition=in] .home-placeholder{animation:home-gallery-enter .36s cubic-bezier(.2,.7,.2,1) .2s both}.home[data-layout=list][data-transition=in] .home-games,.home[data-layout=list][data-transition=in] .home-placeholder{animation:home-panel-enter .22s ease-out both}@keyframes home-gallery-enter{0%{opacity:0;transform:translate(100vw)}to{opacity:1;transform:translate(0)}}@media(min-width:1024px){.home[data-layout=all] .home-panel-content{display:flex;flex-direction:column;height:calc(100svh - 180px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(100svh - 180px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.home[data-layout=all] .home-panel-heading{flex-shrink:0}.home[data-layout=all] .home-games{flex:1}.home[data-layout=all][data-panel=projects] .home-placeholder{flex:1;min-height:0}}@media(min-width:1024px)and (max-width:1279px){.home[data-layout=all] .home-games{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1023px){.home[data-layout=all][data-panel=hall] .home-panel-actions{overflow:visible;scrollbar-gutter:auto}.home[data-layout=all] .home-main{padding-top:24px}.home[data-layout=all] .home-games{grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;scrollbar-gutter:auto}}@media(max-width:700px){.home[data-layout=all] .home-games{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media(max-width:600px){.home[data-layout=all][data-panel=hall] .home-panel-actions{padding-right:0}.home[data-layout=all] .home-main{padding:24px 20px 20px}.home[data-layout=all] .home-games{gap:16px 12px;padding:4px 0 12px}.home[data-layout=all] .home-game{height:320px;min-height:320px;grid-template-rows:155px minmax(0,1fr);border-radius:12px}.home[data-layout=all] .home-game-body{padding:12px}.home[data-layout=all] .home-game-tag{font-size:8px}.home[data-layout=all] .home-game-title{font-size:18px;margin:8px 0}.home[data-layout=all] .home-game-description{font-size:10px;-webkit-line-clamp:2}.home[data-layout=all] .home-game-cta{padding-top:12px}.home[data-layout=all] .home-game-players{left:9px;bottom:9px;font-size:9px;padding:4px 8px}}@media(max-width:359px){.home[data-layout=all] .home-games{grid-template-columns:minmax(0,1fr)}}:root{--bg: #120b26;--bg2: #1c1338;--panel: #241a48;--panel2: #2e2158;--text: #ffffff;--muted: #cfc4f0;--muted2: #a99bd1;--accent: #ffb84d;--accent2: #8a6bff;--danger: #ff5d73;--ok: #43d17a;--warn: #ffd23f;--border: #4a3a7d;--input-bg: #1e1b4b}*{box-sizing:border-box}body{margin:0;background:#edf0dd;color:var(--text);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif;min-height:100vh}body[data-app-theme=game]{background:radial-gradient(900px 500px at 80% -10%,rgba(124,92,255,.32),transparent 60%),radial-gradient(700px 500px at 10% 110%,rgba(255,93,115,.18),transparent 60%),radial-gradient(1200px 700px at 50% -10%,#3d2b70,var(--bg) 60%);background-attachment:fixed}body[data-app-theme=game]:before,body[data-app-theme=game]:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}body[data-app-theme=game]:before{background-image:radial-gradient(1.5px 1.5px at 12% 22%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1px 1px at 34% 68%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1.5px 1.5px at 55% 14%,rgba(255,224,160,.6),transparent 60%),radial-gradient(1px 1px at 72% 42%,rgba(255,255,255,.45),transparent 60%),radial-gradient(1.5px 1.5px at 88% 76%,rgba(180,160,255,.55),transparent 60%),radial-gradient(1px 1px at 24% 88%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1px 1px at 62% 92%,rgba(255,224,160,.45),transparent 60%),radial-gradient(1.5px 1.5px at 92% 12%,rgba(255,255,255,.55),transparent 60%),radial-gradient(1px 1px at 8% 52%,rgba(180,160,255,.5),transparent 60%),radial-gradient(1px 1px at 44% 42%,rgba(255,255,255,.4),transparent 60%);animation:starDrift 160s linear infinite}body[data-app-theme=game]:after{background-image:radial-gradient(1px 1px at 18% 34%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1px 1px at 48% 78%,rgba(255,224,160,.5),transparent 60%),radial-gradient(1px 1px at 78% 22%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1.5px 1.5px at 32% 8%,rgba(180,160,255,.6),transparent 60%),radial-gradient(1px 1px at 66% 58%,rgba(255,255,255,.45),transparent 60%),radial-gradient(1px 1px at 4% 74%,rgba(255,224,160,.5),transparent 60%),radial-gradient(1.5px 1.5px at 84% 90%,rgba(255,255,255,.55),transparent 60%);animation:starDrift 220s linear infinite reverse}@keyframes starDrift{0%{transform:translateY(0)}to{transform:translateY(-60px)}}.page{min-height:100vh;padding:16px}button{font-family:inherit}.panel{background:linear-gradient(180deg,#342468,#241a48 55%,#20173f);border:1px solid rgba(138,107,255,.35);border-radius:16px;padding:24px;box-shadow:0 20px 48px #00000080,0 2px 8px #0000004d}.primary-btn{background:linear-gradient(135deg,var(--accent),#ff8a4d);border:none;border-radius:10px;color:#33200a;font-weight:700;font-size:16px;padding:13px 26px;cursor:pointer;transition:transform .12s ease,filter .12s ease}.primary-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.primary-btn.big{font-size:18px;padding:14px}.ghost-btn{background:var(--input-bg);border:1px solid rgba(138,107,255,.4);border-radius:10px;color:var(--muted);font-weight:600;padding:10px 14px;cursor:pointer;transition:all .15s ease}.ghost-btn:hover{color:#fff;border-color:var(--accent2)}.card{position:relative;width:66px;height:94px;border-radius:10px;border:1px solid rgba(255,255,255,.3);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;box-shadow:0 4px 14px #00000073,inset 0 1px #ffffff38,inset 0 -6px 14px #0000004d;flex:none;transition:transform .15s ease,box-shadow .15s ease;-webkit-user-select:none;user-select:none}.card.small{width:40px;height:56px;border-radius:7px}.card:hover{transform:translateY(-6px) scale(1.05);box-shadow:0 10px 22px #00000080;z-index:3}.card-emoji{font-size:27px;line-height:1;filter:saturate(1.15) drop-shadow(0 2px 3px rgba(0,0,0,.45))}.card.small .card-emoji{font-size:18px}.card-name{font-size:11px;font-weight:700;color:#ffffffeb;text-shadow:0 1px 2px rgba(0,0,0,.5);white-space:nowrap}.card.small .card-name{display:none}.card-dragon{background:linear-gradient(165deg,#6d1a2e,#3a0d1a 70%);border-color:#c26a7a}.card-ghost{background:linear-gradient(165deg,#4a2b7a,#22103f 70%);border-color:#9a7ad0}.card-dream{background:linear-gradient(165deg,#d95b96,#7a2350 70%);border-color:#ff9ec9}.card-owl{background:linear-gradient(165deg,#8a6a3a,#4a3517 70%);border-color:#d8b56a}.card-storm{background:linear-gradient(165deg,#2b6d8a,#12364a 70%);border-color:#6ac2d8}.card-blizzard{background:linear-gradient(165deg,#7aa8d8,#2e4a7a 70%);border-color:#bfe0ff}.card-fire{background:linear-gradient(165deg,#d86a2b,#7a2b12 70%);border-color:#ffb26a}.card-potion{background:linear-gradient(165deg,#2b8a4a,#123a1f 70%);border-color:#6ad88a}.card-back{background:repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 6px,transparent 6px 12px),linear-gradient(165deg,#6a55c9,#3a2a7a 75%);border-color:#9a8ae0}.card-back-glyph{font-size:24px;color:#ffffff80;animation:glyphSpin 8s linear infinite}@keyframes glyphSpin{to{transform:rotate(360deg)}}.setup-page{display:flex;align-items:center;justify-content:center}.setup-panel{width:min(580px,100%);display:flex;flex-direction:column;gap:22px;animation:fadeUp .4s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}}.setup-panel h1{margin:0 0 2px;text-align:center;font-size:40px;background:linear-gradient(120deg,#ffe9b0,#ffb84d 45%,#ff8a4d);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 4px 24px rgba(255,184,77,.25)}.subtitle{display:block;font-size:14px;margin-top:4px;color:var(--muted2);letter-spacing:3px}.tagline{text-align:center;color:var(--muted);margin:0;font-size:15px}.field{display:flex;flex-direction:column;gap:12px;font-size:15px;color:var(--muted)}.field input,.field select,.bot-select,.code-input,.server-input{background:var(--input-bg);border:1px solid rgba(138,107,255,.4);border-radius:8px;color:#fff;padding:12px 14px;font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.bot-select:focus,.code-input:focus,.server-input:focus{outline:none;border-color:var(--accent2);box-shadow:0 0 0 3px #8a6bff40}.bot-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23cfc4f0' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;cursor:pointer}.bot-select option{background:#241a48;color:#fff}.count-picker,.pref-row{display:flex;gap:10px}.count-btn{flex:1;padding:12px 10px;background:var(--input-bg);border:1px solid rgba(138,107,255,.4);border-radius:8px;color:var(--muted);cursor:pointer;font-size:15px;font-weight:600;transition:all .15s ease}.count-btn:hover{border-color:var(--accent2);color:#fff}.count-btn.active{background:var(--accent2);border-color:#c9b8ff;color:#fff;font-weight:700;transform:scale(1.03);box-shadow:0 0 18px #8a6bff8c}.pref-btn{flex:1;padding:11px 10px;background:var(--input-bg);border:1px solid rgba(138,107,255,.4);border-radius:8px;color:var(--muted);cursor:pointer;font-weight:600;transition:all .15s ease}.pref-btn.active{color:#fff;border-color:var(--accent2);background:#8a6bff33}.rules{font-size:14.5px;color:var(--muted);line-height:1.7}.rules summary{cursor:pointer;color:var(--text)}.rules ul{margin:8px 0;padding-left:20px;line-height:1.7}.magic-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.magic-line{display:flex;align-items:center;gap:10px}.magic-emoji{font-size:20px;width:28px;text-align:center}.magic-name{color:var(--text);min-width:110px}.game-page{display:grid;grid-template-columns:1fr 320px;grid-template-rows:auto 1fr;gap:12px;max-width:1280px;margin:0 auto}.game-page.no-log{grid-template-columns:1fr}.topbar{grid-column:1 / -1;display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#33246455,#241a4888),linear-gradient(to right,#2a1b5df2,#3a1f6df2);border:1px solid rgba(138,107,255,.4);border-radius:12px;padding:10px 16px;box-shadow:0 8px 24px #00000059}.topbar-title{font-weight:700;font-size:18px;text-shadow:0 2px 8px rgba(138,107,255,.5)}.topbar-info{display:flex;gap:10px;flex:1;flex-wrap:wrap}.chip-info{background:#1e1b4bcc;border:1px solid rgba(138,107,255,.4);border-radius:999px;padding:4px 12px;font-size:14px;color:#fff;display:inline-flex;align-items:center;gap:6px}.board{display:flex;flex-direction:column;gap:12px;min-width:0}.opponents{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:10px}.opponents .seat{padding:10px 12px;gap:8px}.opponents .avatar{width:36px;height:36px;font-size:17px}.opponents .hand-fan .card+.card{margin-left:-6px}.seat{position:relative;background:linear-gradient(180deg,#302258,#241a48 60%,#1f1640);border:1px solid rgba(138,107,255,.35);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 10px 28px #00000059;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}.seat.you{border:2px solid var(--accent2);box-shadow:0 0 18px #8a6bff2e}.seat.current{border-color:var(--accent);box-shadow:0 0 22px #ffb84d4d;animation:seatGlow 1.6s ease-in-out infinite}@keyframes seatGlow{50%{box-shadow:0 0 34px #ffb84d80}}.seat.dead{filter:grayscale(.8);opacity:.62}.seat.shaking{animation:seatShake .4s ease}@keyframes seatShake{20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.seat-top{display:flex;align-items:center;gap:10px}.avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex:none;box-shadow:inset 0 -4px 8px #0000004d}.av-you{background:linear-gradient(160deg,#8a6bff,#4a2b9a)}.av-bot{background:linear-gradient(160deg,#ffb84d,#b06a1a);color:#33200a}.av-human{background:linear-gradient(160deg,#43d17a,#1a7a3a)}.seat-info{flex:1;min-width:0}.seat-name{font-weight:700;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bot-tag{font-size:12px}.rel-tag{font-size:11px;background:var(--bg2);border-radius:999px;padding:1px 7px;color:var(--muted)}.turn-tag{font-size:11px;background:#ffb84d2e;border-radius:999px;padding:1px 7px;color:var(--accent);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}.seat-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.seat-score{color:var(--accent);font-weight:700}.secret-badge{background:var(--bg2);border:1px dashed var(--border);border-radius:8px;padding:2px 8px;font-size:13px;color:var(--muted);display:inline-flex;align-items:center;gap:4px}.hpbar{position:relative;height:20px;border-radius:999px;background:#0006;overflow:hidden;margin-top:4px}.hpfill{height:100%;border-radius:999px;transition:width .5s cubic-bezier(.22,1,.36,1)}.hpfill.ok{background:linear-gradient(90deg,#2b8a4a,#6ad88a)}.hpfill.warn{background:linear-gradient(90deg,#b06a1a,#ffd23f)}.hpfill.danger{background:linear-gradient(90deg,#a11f35,#ff5d73)}.hptext{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;text-shadow:0 1px 4px rgba(0,0,0,.95),0 0 3px rgba(0,0,0,.8)}.hand-fan{display:flex;flex-wrap:wrap;gap:5px;position:relative}.hand-fan .card+.card{margin-left:-12px}.empty-hand{color:var(--muted);font-size:13px;padding:8px 0}.dead-mark{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff;background:#14051e80;border-radius:14px;text-shadow:0 0 14px rgba(255,93,115,.9)}.your-zone{display:flex;flex-direction:column;gap:10px}.turn-status{text-align:center}.your-turn{font-size:17px;font-weight:700;color:var(--accent);animation:pulse 1.4s ease-in-out infinite;text-shadow:0 0 16px rgba(255,184,77,.6)}.wait-turn{color:var(--muted);font-size:14px}.action-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.magic-btn{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 7px;border-radius:10px;border:1px solid var(--border);background:linear-gradient(165deg,var(--panel2),var(--bg2));color:var(--text);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .2s ease}.magic-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 18px #0006;border-color:var(--accent2)}.magic-btn:active:not(:disabled){transform:translateY(0) scale(.97)}.magic-btn:disabled{opacity:.42;cursor:not-allowed}.magic-btn.last{border-color:var(--accent);box-shadow:0 0 14px #ffb84d59}.mb-emoji{font-size:30px;line-height:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}.mb-name{font-size:12px;font-weight:700}.mb-count{position:absolute;top:3px;right:5px;font-size:10px;background:#00000073;border-radius:6px;padding:0 5px}.mb-count.zero{color:var(--danger);font-weight:900;box-shadow:0 0 6px #ff5d7380}.mb-lock{position:absolute;bottom:3px;font-size:11px}.end-btn{background:var(--bg2);border:1px dashed var(--border);border-radius:10px;color:var(--text);cursor:pointer;font-size:13px;padding:8px 4px;transition:all .15s ease}.end-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.end-btn:disabled{opacity:.38;cursor:not-allowed}.restrict-hint{color:#ffd9a0;font-size:13px;background:#ffb84d14;border:1px solid rgba(255,184,77,.25);border-radius:10px;padding:8px 12px}.log-panel{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - 90px);position:sticky;top:74px}.log-panel h3{margin:0 0 8px;font-size:15px}.log{overflow-y:auto;display:flex;flex-direction:column;gap:9px;font-size:13.5px;line-height:1.75;flex:1;scrollbar-width:thin}.log-line{display:flex;gap:7px;color:#e6defa;background:#0000002e;border-radius:8px;padding:4px 8px;animation:logIn .25s ease}@keyframes logIn{0%{opacity:0;transform:translate(-8px)}}.ev-cast{color:var(--ok)}.ev-fail,.ev-damage{color:#ff9aa8}.ev-heal{color:var(--ok)}.ev-roundStart,.ev-roundEnd,.ev-gameOver{color:var(--accent);font-weight:700}.float-fx{position:absolute;top:8px;right:18px;font-size:22px;font-weight:900;pointer-events:none;z-index:5;animation:floatUp 1.3s ease-out forwards;text-shadow:0 2px 6px rgba(0,0,0,.6)}.float-fx.damage{color:var(--danger)}.float-fx.heal{color:var(--ok)}@keyframes floatUp{0%{opacity:0;transform:translateY(6px) scale(.7)}20%{opacity:1;transform:translateY(-4px) scale(1.15)}to{opacity:0;transform:translateY(-34px) scale(1)}}.dice-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:25;pointer-events:none}.dice-box{display:flex;flex-direction:column;align-items:center;gap:6px;background:#140c2dd9;border:1px solid rgba(138,107,255,.5);border-radius:16px;padding:16px 30px 20px;box-shadow:0 12px 40px #00000080;animation:dicePop .35s cubic-bezier(.34,1.56,.64,1)}.dice-label{font-size:14px;color:var(--muted);letter-spacing:2px}.dice-row{display:flex;align-items:center;gap:16px}.dice-cube{font-size:56px;animation:diceRoll .7s ease-out}.dice-num{font-size:72px;font-weight:900;color:var(--accent);text-shadow:0 4px 18px rgba(255,184,77,.7);animation:dicePop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes diceRoll{0%{transform:rotate(0) scale(.4)}60%{transform:rotate(540deg) scale(1.2)}to{transform:rotate(720deg) scale(1)}}@keyframes dicePop{0%{transform:scale(0)}to{transform:scale(1)}}.confetti{position:fixed;top:-20px;z-index:40;border-radius:2px;pointer-events:none;animation-name:confettiFall;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes confettiFall{to{transform:translateY(110vh) rotate(720deg);opacity:.9}}.mode-tabs{display:flex;gap:10px}.mode-tab{flex:1;padding:13px 12px;border-radius:10px;border:1px solid rgba(138,107,255,.4);background:var(--input-bg);color:#e6defa;font-size:15px;font-weight:600;cursor:pointer;transition:all .15s ease}.mode-tab:hover{color:#fff;border-color:var(--accent2)}.mode-tab.active{background:linear-gradient(135deg,#8a6bff73,#8a6bff33);border-color:var(--accent2);color:#fff;box-shadow:0 0 18px #8a6bff59}.lobby-page{display:flex;align-items:center;justify-content:center}.lobby-panel{width:min(520px,100%);display:flex;flex-direction:column;gap:16px;animation:fadeUp .4s ease}.lobby-panel h1{margin:0;text-align:center;background:linear-gradient(120deg,#ffe9b0,#ffb84d 45%,#ff8a4d);-webkit-background-clip:text;background-clip:text;color:transparent}.room-code{display:flex;flex-direction:column;align-items:center;gap:8px;background:#1e1b4ba6;border:1px dashed rgba(138,107,255,.5);border-radius:12px;padding:16px}.rc-label{font-size:14px;color:var(--muted)}.rc-code{font-size:40px;font-weight:900;letter-spacing:10px;background:none;border:none;color:var(--accent);cursor:pointer;text-shadow:0 0 18px rgba(255,184,77,.5)}.rc-copy{font-size:18px;letter-spacing:0}.rc-tip{font-size:14px;color:var(--muted)}.room-players{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.room-players li{display:flex;align-items:center;gap:10px;background:#1e1b4ba6;border:1px solid rgba(138,107,255,.35);border-radius:10px;padding:10px 14px}.room-players li.is-me{border-color:var(--accent2)}.rp-avatar{font-size:18px}.rp-name{flex:1;font-weight:700}.rp-host{font-size:12px;background:#ffb84d26;border-radius:999px;padding:1px 8px;color:var(--accent)}.rp-off{font-size:12px;color:var(--danger)}.host-controls{display:flex;flex-direction:column;gap:12px}.stepper{display:flex;gap:8px}.stepper button{width:44px;height:38px;font-size:18px;background:var(--bg2);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer}.stepper button:hover{border-color:var(--accent2)}.join-block{display:flex;flex-direction:column;gap:16px}.create-row{display:flex;gap:8px}.create-row .primary-btn{flex:1}.bot-select,.code-input::placeholder{color:var(--muted2)}input{background:var(--bg2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:10px 12px;font-size:15px}.code-input{flex:1;text-transform:uppercase;letter-spacing:6px;font-size:18px;text-align:center}.rejoin-btn{align-self:flex-start}.error-box{background:#ff5d731f;border:1px solid rgba(255,93,115,.4);border-radius:10px;color:#ff9aa8;padding:10px 14px;font-size:14px}.chip-info.online{color:#4dd8ff;border-color:#4dd8ff66}.full-fx{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;pointer-events:none;animation:ffxFade 1.6s ease forwards}.full-fx.success{background:radial-gradient(circle at 50% 45%,#ffd6668c,#43d17a4d 30%,#0a0519b8 68%)}.full-fx.fail{background:radial-gradient(circle at 50% 45%,#ff5d7399,#780a1e80 36%,#0a0519cc 70%)}.fx-rays{position:absolute;width:900px;height:900px;border-radius:50%;animation:fxRaysSpin 2.4s linear infinite}.full-fx.success .fx-rays{background:repeating-conic-gradient(from 0deg,rgba(255,220,120,.16) 0deg 9deg,transparent 9deg 24deg);mask-image:radial-gradient(circle,#000,#0000 68%);-webkit-mask-image:radial-gradient(circle,rgba(0,0,0,1) 0%,rgba(0,0,0,0) 68%)}.full-fx.fail .fx-rays{background:repeating-conic-gradient(from 0deg,rgba(255,93,115,.2) 0deg 9deg,transparent 9deg 24deg);mask-image:radial-gradient(circle,#000,#0000 68%);-webkit-mask-image:radial-gradient(circle,rgba(0,0,0,1) 0%,rgba(0,0,0,0) 68%)}@keyframes fxRaysSpin{to{transform:rotate(360deg)}}.fx-plate{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px 56px 34px;border-radius:24px;border:2px solid rgba(255,255,255,.4);animation:ffxPop .45s cubic-bezier(.34,1.56,.64,1)}.full-fx.success .fx-plate{background:linear-gradient(160deg,#ffeca0f7,#ffb84deb 55%,#e08428f2);box-shadow:0 0 90px 24px #ffb84d8c,inset 0 2px #ffffffb3,inset 0 -8px 20px #0003}.full-fx.fail .fx-plate{background:linear-gradient(160deg,#ff96a5f7,#d62d4ef0 55%,#82142df5);box-shadow:0 0 90px 24px #ff5d7380,inset 0 2px #ffffff80,inset 0 -8px 20px #00000040}.fx-badge{font-size:18px;font-weight:900;letter-spacing:2px;border-radius:999px;padding:3px 16px;color:#fff;background:#00000059}.fx-emoji{font-size:96px;line-height:1.1;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45))}.fx-name{font-size:40px;font-weight:900;color:#fff;text-shadow:0 3px 10px rgba(0,0,0,.55)}.fx-text{font-size:24px;font-weight:800;color:#fffffff2;text-shadow:0 2px 8px rgba(0,0,0,.5)}.full-fx.fail .fx-plate{animation:ffxPop .45s cubic-bezier(.34,1.56,.64,1),fxPlateShake .5s ease .4s}@keyframes fxPlateShake{0%,to{transform:translate(0)}20%{transform:translate(-10px) rotate(-1deg)}40%{transform:translate(10px) rotate(1deg)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}@keyframes ffxFade{0%{opacity:0}10%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes ffxPop{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}.conn-tag{font-size:11px;border-radius:999px;padding:1px 7px}.conn-tag.waiting{background:#ffd23f26;color:var(--warn);animation:pulse 1.2s ease-in-out infinite}.conn-tag.pilot{background:#4dd8ff1f;color:#4dd8ff}.server-input{width:100%;background:var(--bg2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:10px 12px;font-size:14px;margin-top:8px}.round-panel{position:fixed;right:16px;bottom:16px;width:min(360px,92vw);max-height:70vh;overflow-y:auto;z-index:25;text-align:center;animation:popIn .3s cubic-bezier(.34,1.56,.64,1)}.round-panel h2{margin:0 0 6px}.round-result-text{font-size:14px;color:var(--muted);margin:0 0 8px}.round-panel .score-list{line-height:1.8;margin:4px 0 10px}.round-panel .primary-btn{width:100%}.reveal-hands{margin-top:10px;text-align:left;border-top:1px dashed var(--border);padding-top:10px;display:flex;flex-direction:column;gap:8px}.reveal-title{font-size:13px;font-weight:700;color:var(--accent)}.reveal-row{display:flex;align-items:center;gap:8px}.reveal-name{font-size:13px;font-weight:700;min-width:88px;flex:none}.reveal-cards{display:flex;align-items:center;gap:3px;flex-wrap:wrap}.reveal-secret{font-size:12px;color:var(--muted);margin-left:4px}.overlay-panel .reveal-hands{text-align:left}.hall-page{display:flex;justify-content:center;padding-top:5vh}.hall-wrap{width:min(880px,100%);display:flex;flex-direction:column;gap:20px}.hall-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.hall-header h1{margin:0;font-size:34px;background:linear-gradient(120deg,#ffe9b0,#ffb84d 45%,#ff8a4d);-webkit-background-clip:text;background-clip:text;color:transparent}.hall-actions{display:flex;gap:10px}.hall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.hall-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 18px;border-radius:16px;border:1px solid rgba(138,107,255,.4);background:linear-gradient(180deg,#342468,#241a48 60%,#20173f);box-shadow:0 20px 48px #00000073,0 2px 8px #0000004d;color:var(--text);font-family:inherit;text-align:center;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.hall-card.playable:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 26px 60px #0000008c,0 0 24px #ffb84d40}.hall-card.planned{cursor:default;opacity:.6;border-style:dashed}.hall-emoji{font-size:56px;line-height:1;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}.hall-name{font-size:20px;font-weight:800}.hall-meta{font-size:13px;color:#4dd8ff}.hall-desc{font-size:13.5px;color:var(--muted);line-height:1.6}.hall-cta{margin-top:6px;font-weight:700;color:var(--accent)}.room-list-block{display:flex;flex-direction:column;gap:10px;background:#1e1b4b8c;border:1px solid rgba(138,107,255,.35);border-radius:12px;padding:14px}.rl-head{display:flex;align-items:center;justify-content:space-between}.rl-title{font-weight:700}.room-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.rl-row{display:flex;align-items:center;gap:10px;background:var(--input-bg);border:1px solid rgba(138,107,255,.3);border-radius:10px;padding:9px 12px;cursor:pointer;transition:all .12s ease}.rl-row:hover,.rl-row.selected{border-color:var(--accent2);background:#8a6bff2e}.rl-lock{font-size:15px}.rl-code{font-weight:900;letter-spacing:3px;font-size:15px;min-width:64px}.rl-count{font-size:13px;color:var(--muted);flex:1}.rl-status{font-size:12px;color:var(--ok);background:#43d17a1f;border-radius:999px;padding:1px 8px}.rl-status.playing{color:var(--warn);background:#ffd23f1f}.rl-join{font-size:13px;color:var(--accent);font-weight:700}.join-selected{display:flex;align-items:center;gap:8px;border-top:1px dashed rgba(138,107,255,.4);padding-top:10px;flex-wrap:wrap}.join-selected .code-input{flex:1;min-width:90px}.code-input.pw{flex:1.4;letter-spacing:1px;font-size:14px;text-align:left}.detail-page{display:flex;justify-content:center;padding-top:4vh}.detail-panel{width:min(620px,100%);display:flex;flex-direction:column;gap:18px;animation:fadeUp .4s ease}.detail-head{display:flex;align-items:center;gap:16px}.detail-emoji{font-size:64px;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45))}.detail-title h1{margin:0;font-size:30px}.detail-meta{color:#4dd8ff;font-size:13px}.detail-desc{color:var(--muted);line-height:1.8;margin:0}.detail-modes{display:flex;flex-direction:column;gap:14px}.detail-mode{display:flex;flex-direction:column;gap:12px;background:#1e1b4b8c;border:1px solid rgba(138,107,255,.35);border-radius:12px;padding:16px}.detail-mode h2{margin:0;font-size:18px}.detail-mode .primary-btn{align-self:flex-start}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0519bf;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:20;animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0}}.overlay-panel{width:min(540px,92vw);text-align:center;animation:popIn .35s cubic-bezier(.34,1.56,.64,1)}@keyframes popIn{0%{opacity:0;transform:scale(.85)}}.overlay-panel h2{margin:0 0 10px}.winner{font-size:22px;font-weight:700;color:var(--accent)}.score-list{list-style:none;padding:0;margin:12px 0;line-height:2}.gain{color:var(--ok)}.muted{color:var(--muted);font-size:14px}.overlay-btns{display:flex;gap:10px;justify-content:center}@media(max-width:960px){.game-page{grid-template-columns:1fr}.log-panel{max-height:260px;position:static}.round-panel{right:8px;bottom:8px;width:calc(100vw - 16px);max-height:55vh}}@media(prefers-reduced-motion:reduce){.card-back-glyph,.fx-rays,.turn-tag,.your-turn,.seat.current,.conn-tag.waiting,body:before,body:after{animation:none!important}.full-fx,.full-fx *{animation:none!important}.full-fx{opacity:1!important}}.app-loading{display:grid;place-items:center;min-height:100vh;min-height:100svh;background:#edf0dd;color:#526254;font-size:15px}.game-foyer{--text: #353a30;--muted: #687064;--muted2: #797e71;--accent: #a74a2c;--accent2: #a74a2c;--border: #ded8c8;--bg2: #fffdf6;--input-bg: #fffdf6;--danger: #ac3c35;--ok: #446947;--warn: #805c23;--foyer-soft: #f8e9d8;--foyer-paper: #fffcf5;position:relative;z-index:1;isolation:isolate;min-height:100svh;display:flex;align-items:flex-start;justify-content:center;padding:calc(30px + env(safe-area-inset-top)) 32px calc(48px + env(safe-area-inset-bottom));color:var(--text);background:#f2efe4;background-image:radial-gradient(#d6d0bf .7px,transparent .7px);background-size:16px 16px;color-scheme:light}.game-foyer--fight{--accent: #3c654b;--accent2: #3c654b;--foyer-soft: #e4ebd8;--border: #d3dac7;background-color:#eff1e7}.game-foyer .panel{width:min(1120px,100%);max-width:1120px;min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;animation:none}.game-foyer .detail-panel{gap:24px}.game-foyer h1,.game-foyer h2,.game-foyer h3{color:var(--text);background:none;-webkit-text-fill-color:currentColor;text-shadow:none;text-align:left}.game-foyer h2{font-size:22px;letter-spacing:.02em}.game-foyer .foyer-back{align-self:flex-start}.game-foyer .foyer-hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:310px;overflow:hidden;border:1px solid var(--border);border-radius:24px;background:var(--foyer-paper);box-shadow:0 6px #dfddcd}.game-foyer .foyer-intro{padding:clamp(24px,3.2vw,44px)}.game-foyer .detail-head{margin:16px 0 20px}.game-foyer .detail-title h1{font-size:clamp(32px,3.7vw,48px);letter-spacing:.025em;line-height:1.15;margin:0 0 15px}.game-foyer .detail-meta{color:var(--muted);font-size:12px;line-height:1.8}.game-foyer .detail-desc{font-size:14px;line-height:1.9}.game-foyer .foyer-facts{display:flex;gap:24px;margin-top:26px}.game-foyer .foyer-facts span{color:var(--muted);font-size:12px}.game-foyer .foyer-facts b{font-size:26px;color:var(--accent);margin-right:4px}.game-foyer .foyer-art{position:relative;min-height:290px;background:var(--foyer-soft)}.game-foyer .foyer-art img{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;object-fit:cover}.game-foyer .detail-modes{display:grid;grid-template-columns:1fr 1fr;gap:20px}.game-foyer .detail-mode{min-width:0;gap:18px;padding:28px;border:1px solid var(--border);border-radius:18px;background:var(--foyer-paper);box-shadow:0 3px #dfddcd}.game-foyer .detail-mode h2{margin:0}.game-foyer .detail-mode .muted{margin:0;line-height:1.9;font-size:14px}.game-foyer .foyer-online{background:var(--foyer-soft)}.game-foyer .detail-mode .primary-btn{align-self:stretch;margin-top:auto}.game-foyer .foyer-preferences{grid-column:1 / -1;box-shadow:none}.game-foyer .foyer-preferences h2{font-size:16px}.game-foyer .foyer-preferences .muted{font-size:12px}.game-foyer .foyer-config{grid-row:span 2}.game-foyer .field{gap:10px;margin:0;min-width:0}.game-foyer .field>span{font-size:13px;color:var(--muted);font-weight:500}.game-foyer button,.game-foyer input,.game-foyer select{font-family:inherit}.game-foyer .primary-btn{padding:13px 22px;min-height:46px;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:#fffdf6;font-size:14px;font-weight:700;text-shadow:none;box-shadow:0 3px color-mix(in srgb,var(--accent),#36281b 28%);transition:background .16s ease,transform .16s ease}.game-foyer .primary-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.game-foyer .primary-btn:active:not(:disabled){transform:translateY(1px)}.game-foyer button:disabled{opacity:.45;cursor:not-allowed;filter:none}.game-foyer .ghost-btn,.game-foyer .pref-btn,.game-foyer .count-btn,.game-foyer .ccf-mode-btn,.game-foyer .stepper button{color:var(--text);border:1px solid var(--border);background:#fffdf6;border-radius:9px;box-shadow:none;min-height:40px;padding:9px 15px;font-size:13px;text-shadow:none}.game-foyer .ghost-btn:hover,.game-foyer .pref-btn:hover,.game-foyer .count-btn:hover,.game-foyer .ccf-mode-btn:hover{background:var(--foyer-soft);border-color:var(--accent)}.game-foyer .count-btn.active,.game-foyer .pref-btn.active,.game-foyer .ccf-mode-btn.active{color:var(--accent);background:var(--foyer-soft);border-color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.game-foyer .count-picker,.game-foyer .pref-row,.game-foyer .ccf-mode-row{display:flex;gap:8px;flex-wrap:wrap;margin:0}.game-foyer .count-btn{flex:1;min-width:52px}.game-foyer .ccf-mode-btn{flex:1;min-width:110px;white-space:normal;line-height:1.6}.game-foyer input,.game-foyer .bot-select,.game-foyer .server-input{min-width:0;max-width:100%;min-height:44px;padding:10px 12px;border-radius:8px;border:1px solid #c9c8b8;background:#fffef9;color:var(--text);font-size:14px;box-shadow:none}.game-foyer input::placeholder{color:#7a8074;font-size:12px}.game-foyer .bot-select{width:100%;-moz-appearance:auto;appearance:auto;-webkit-appearance:auto}.game-foyer .bot-select option{color:var(--text);background:#fffef9}.game-foyer input:focus,.game-foyer select:focus{border-color:var(--accent);box-shadow:none}.game-foyer button:focus-visible,.game-foyer input:focus-visible,.game-foyer select:focus-visible,.game-foyer summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.game-foyer .rl-row:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.game-foyer .rules{grid-column:1 / -1;padding:18px 24px;border:1px solid var(--border);border-radius:12px;background:#fffcf4;color:var(--muted);font-size:13px;line-height:1.9}.game-foyer .rules summary{color:var(--text);font-weight:700;cursor:pointer}.game-foyer .magic-line,.game-foyer .ccf-hero-line{border-color:var(--border);color:var(--muted);padding:10px 0}.game-foyer .magic-name{color:var(--accent)}.game-foyer .magic-desc{color:var(--muted)}.game-foyer .ccf-hero-line{align-items:flex-start}.game-foyer .ccf-hero-line b{min-width:85px;color:var(--text)}.game-foyer .lobby-panel{display:grid;grid-template-columns:1.15fr 1fr;gap:24px}.game-foyer .foyer-lobby-header{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:24px;min-width:0;padding:26px 32px;border-radius:18px;background:var(--foyer-paper);border:1px solid var(--border)}.game-foyer .foyer-lobby-header h1{font-size:clamp(24px,3vw,34px);margin:10px 0}.game-foyer .foyer-lobby-header h1 span{font-size:.5em;color:var(--muted);font-weight:500;white-space:nowrap}.game-foyer .foyer-lobby-header p{color:var(--muted);font-size:13px;line-height:1.7;margin:0}.game-foyer .foyer-lobby-header img{width:180px;height:115px;object-fit:cover;border-radius:12px}.game-foyer .foyer-match-summary{grid-column:1 / -1;color:var(--muted);font-size:12px;margin:-8px 0 0;line-height:1.8}.game-foyer .room-list-block,.game-foyer .join-block,.game-foyer .host-controls{padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--foyer-paper);min-width:0}.game-foyer .room-list-block{justify-content:flex-start;gap:20px}.game-foyer .room-list-block>.muted{padding:50px 16px;text-align:center;border:1px dashed var(--border);border-radius:10px;line-height:1.8}.game-foyer .join-block{gap:26px}.game-foyer .create-row{flex-wrap:wrap;min-width:0}.game-foyer .create-row input{flex:1 1 120px;width:0}.game-foyer .create-row button{flex:1 0 auto}.game-foyer .rl-row{flex-wrap:wrap;color:var(--text);background:#f5f3e9;border-color:var(--border);min-height:58px}.game-foyer .rl-row:hover,.game-foyer .rl-row.selected{border-color:var(--accent);background:var(--foyer-soft)}.game-foyer .rl-status{background:#e7eddf;color:#446947}.game-foyer .rl-status.playing{background:#f5e8c7;color:#805c23}.game-foyer .join-selected{border-color:var(--border)}.game-foyer .room-code{grid-column:1 / -1;background:var(--foyer-soft);border:1px dashed var(--accent);padding:24px}.game-foyer .rc-code{color:var(--accent);text-shadow:none;font-family:ui-monospace,monospace}.game-foyer .rc-tip{max-width:650px;text-align:center;line-height:1.9;font-size:12px}.game-foyer .room-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px}.game-foyer .room-players li{flex-wrap:wrap;min-width:0;min-height:100px;background:var(--foyer-paper);border-color:var(--border);padding:18px}.game-foyer .room-players li.is-me{border-color:var(--accent);background:var(--foyer-soft)}.game-foyer .rp-avatar{font-size:30px}.game-foyer .rp-name{overflow-wrap:anywhere}.game-foyer .rp-host{color:var(--accent);background:#f0e5cb}.game-foyer .host-controls{align-self:start}.game-foyer .host-controls .primary-btn{width:100%}.game-foyer .error-box{grid-column:1 / -1;background:#fbe7df;border-color:#d6a494;color:#913d29}.game-foyer .lobby-panel>.ghost-btn{grid-column:1 / -1;justify-self:start}@media(max-width:760px){.game-foyer{padding:calc(18px + env(safe-area-inset-top)) 16px calc(30px + env(safe-area-inset-bottom))}.game-foyer .foyer-hero{grid-template-columns:1fr}.game-foyer .foyer-art{min-height:240px;grid-row:1}.game-foyer .foyer-intro{padding:26px}.game-foyer .detail-modes,.game-foyer .lobby-panel{grid-template-columns:1fr}.game-foyer .foyer-config{grid-row:auto}.game-foyer .detail-mode,.game-foyer .room-list-block,.game-foyer .join-block,.game-foyer .host-controls{padding:22px}.game-foyer .foyer-lobby-header{padding:24px}.game-foyer .foyer-lobby-header img{width:82px;height:105px}.game-foyer .foyer-lobby-header h1 span{display:block;margin-top:12px}.game-foyer .ccf-hero-line{flex-direction:column}.game-foyer .room-players{grid-template-columns:repeat(2,minmax(0,1fr))}.game-foyer input,.game-foyer select{font-size:16px}}@media(prefers-reduced-motion:reduce){.game-foyer *,.game-foyer *:before,.game-foyer *:after{animation:none!important;transition:none!important}}.mahjong-host{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#faf8ed}.mahjong-host-back{position:absolute;z-index:2;top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #dde4d2;border-radius:50%;background:#fffdf3eb;color:#37553e;box-shadow:0 3px 12px #1c35251c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:background-color .16s,box-shadow .16s}.mahjong-host-back svg{width:20px;height:20px}.mahjong-host-back:hover{background:#fffef8;box-shadow:0 4px 16px #1c352529}.mahjong-host-back:focus-visible,.mahjong-menu-back:focus-visible,.mahjong-mode-button:focus-visible{outline:3px solid #8aa574;outline-offset:3px}.mahjong-host-frame{display:block;border:0;width:100%;height:100%}.mahjong-foyer{background:radial-gradient(ellipse at 15% 0%,#f8f5e9,transparent 65%),#edf1e7}.mahjong-foyer .mahjong-menu-back{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;margin-left:-12px;border:0;border-radius:999px;background:transparent;color:#50634a;font:inherit;font-size:14px;font-weight:500;line-height:1.4;cursor:pointer;transition:background-color .16s,color .16s}.mahjong-menu-back svg{width:18px;height:18px}.mahjong-foyer .mahjong-menu-back:hover{background:#dce5d570;color:#294c32}.mahjong-foyer .foyer-hero{border-color:#dce2d0;box-shadow:0 8px 30px #354c2810}.mahjong-foyer .foyer-art img{object-position:50% 68%}.mahjong-foyer .detail-mode{border-color:#dce2d0;border-radius:22px;box-shadow:0 5px 20px #354c280a}.mahjong-foyer .foyer-online{background:#f4f7ee}.mahjong-foyer .foyer-online:after{content:none}.mahjong-mode-button{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;margin-top:auto;padding:12px 18px;border:1px solid #537447;border-radius:999px;background:#537447;color:#fffdf4;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .16s,border-color .16s}.mahjong-mode-button:hover{background:#446438;border-color:#446438}.mahjong-mode-button--soft{background:#e5eddc;border-color:#d4dfc8;color:#3c5930}.mahjong-mode-button--soft:hover{background:#d9e5cd;border-color:#c6d6b8}@media(prefers-reduced-motion:reduce){.mahjong-host-back,.mahjong-menu-back,.mahjong-mode-button{transition:none}}body[data-app-theme=magician]{background:#f1eee4}.magician-table{--text: #303f35;--muted: #697268;--muted2: #7c8378;--accent: #92652f;--accent2: #426a50;--border: #d9dccd;--bg2: #f7f6ee;--panel: #fffdf6;--panel2: #f3f3e8;--ok: #487653;--danger: #b15346;color:var(--text);color-scheme:light;isolation:isolate;position:relative;max-width:1500px;min-height:100svh;padding:calc(24px + env(safe-area-inset-top)) clamp(16px,3vw,48px) calc(28px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:auto 1fr;align-items:start;gap:22px}.magician-table.no-log{grid-template-columns:minmax(0,1fr)}.magician-table .topbar{flex-wrap:wrap;gap:16px;padding:4px 0 20px;background:transparent;border:0;border-bottom:1px solid #d7d9cb;border-radius:0;box-shadow:none}.magician-table .topbar-title{margin:0;font-family:Songti SC,STSong,SimSun,serif;font-size:clamp(22px,2vw,28px);letter-spacing:.04em;text-shadow:none}.magician-table .topbar-info{gap:6px 16px}.magician-table .chip-info{padding:0;background:transparent;border:0;color:var(--muted);font-size:13px}.magician-table .chip-info b{color:var(--text);font-variant-numeric:tabular-nums}.magician-table .chip-info.online{color:var(--accent2)}.magician-table .table-tools{display:flex;gap:6px;flex-wrap:wrap}.magician-table .ghost-btn{background:#f8f7ef;color:var(--muted);border:1px solid #d9dccf;border-radius:8px;padding:8px 12px;font-size:12px;transition:background-color .16s,border-color .16s}.magician-table .ghost-btn[aria-pressed=true]{background:#e3eadb;color:#42634a;border-color:#c9d5bf}.magician-table .ghost-btn:hover{background:#e8ecdf;border-color:#b7c4af;color:#365540}.magician-table button:focus-visible{outline:3px solid #a0783f;outline-offset:3px}.magician-table .board{padding:clamp(14px,2vw,24px);border:1px solid #ccd5bf;border-radius:22px;background:#e6ecdc;gap:24px}.magician-table .opponents{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.magician-table .opponents>.seat:only-child{grid-column:1 / -1}.magician-table .seat{min-width:0;padding:16px;gap:14px;background:#fffdf5;border:1px solid #d5daca;border-radius:14px;box-shadow:0 3px #d6ddcd}.magician-table .seat.you{border:1px solid #98af8b;background:#fffef8;box-shadow:0 3px #bdccaf}.magician-table .seat.current{border-color:#b39754;box-shadow:0 3px #c9bb85;animation:none}.magician-table .seat.shaking{animation:seatShake .4s ease}.magician-table .seat.dead{filter:none;opacity:.7}.magician-table .seat-top{gap:10px;align-items:flex-start}.magician-table .avatar{width:36px;height:36px;border-radius:11px;font-size:16px;box-shadow:none;background:#e0e8d5;color:#486447}.magician-table .av-bot{background:#f1e7cf;color:#8c7043}.magician-table .seat-name{font-size:14px;gap:5px;overflow-wrap:anywhere}.magician-table .bot-tag,.magician-table .rel-tag,.magician-table .turn-tag{font-size:10px;padding:2px 6px;border-radius:5px;background:#eff1e7;color:#718168;font-weight:500;animation:none}.magician-table .turn-tag{color:#8b6b2f;background:#f4eacd}.magician-table .conn-tag{font-size:10px;color:#916332;background:#f6ead6;border-color:#e4d2b1}.magician-table .seat-score{white-space:nowrap;font-size:11px;color:#8d774d}.magician-table .seat-score b{font-size:20px;font-weight:600}.magician-table .hpbar{height:14px;margin-top:7px;background:#edece1}.magician-table .hpfill.ok{background:#91b485}.magician-table .hpfill.warn{background:#d2b565}.magician-table .hpfill.danger{background:#ce9180}.magician-table .hptext{color:#394433;font-size:10px;font-weight:600;text-shadow:none}.magician-table .secret-badge{font-size:10px;background:#f6f3e6;border:0;padding:4px 6px;max-width:130px;flex-wrap:wrap}.magician-table .hand-fan{gap:7px}.magician-table .hand-fan .card+.card{margin-left:0}.magician-table .card{--card-tone: #70896b;--card-tint: #edf1e5;width:70px;height:98px;background:var(--card-tint);border:1px solid #d3d9c6;border-bottom:3px solid var(--card-tone);border-radius:9px;box-shadow:inset 0 0 0 4px #fffdf5,0 2px 3px #33402a0a;gap:9px}.magician-table .card.small{width:54px;height:76px;border-radius:8px;gap:7px}.magician-table .card-emoji{font-size:30px;filter:none}.magician-table .card.small .card-emoji{font-size:24px}.magician-table .card-name,.magician-table .card.small .card-name{display:block;font-size:10px;color:#4d5749;text-shadow:none}.magician-table .card.small .card-name{font-size:9px}.magician-table .card:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 4px #fffdf5,0 5px 10px #33402a14}.magician-table .card-back{background:repeating-linear-gradient(45deg,#ffffff05 0 6px,transparent 6px 12px),#55765b;border-color:#46644b;box-shadow:inset 0 0 0 4px #55765b,inset 0 0 0 5px #cfcca180}.magician-table .card-back-glyph{color:#e6d6a1;font-size:26px;animation:none}.magician-table .secret-badge .card.small{width:28px;height:38px;border-width:1px;box-shadow:none}.magician-table .secret-badge .card.small .card-name{display:none}.magician-table .secret-badge .card.small .card-emoji{font-size:16px}.magician-table .dead-mark{color:#746b5b;background:#eeeee5c9;text-shadow:none;font-size:18px}.magician-table .your-zone{gap:14px}.magician-table .turn-status{text-align:left;padding:12px 16px;background:#dbe5cf;border-radius:10px}.magician-table .your-turn{color:#365b3c;font-size:14px;text-shadow:none;animation:none}.magician-table .wait-turn{color:#63715b;font-size:13px}.magician-table .action-heading{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:4px}.magician-table .action-heading h2{margin:0;font-size:14px;font-weight:600}.magician-table .action-heading span{color:#75806c;font-size:11px;line-height:1.6}.magician-table .action-bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.magician-table .magic-btn{--card-tone: #70896b;--card-tint: #edf1e5;min-height:98px;padding:14px 5px 10px;gap:8px;background:#fffdf5;border:1px solid #d2d9c5;border-bottom:3px solid var(--card-tone);border-radius:10px;box-shadow:none}.magician-table .magic-btn:hover:not(:disabled){background:var(--card-tint);border-color:var(--card-tone);box-shadow:0 4px 8px #46543b10;transform:translateY(-2px)}.magician-table .magic-btn:disabled{opacity:.58;cursor:not-allowed}.magician-table .magic-btn.last{background:var(--card-tint);border-color:var(--card-tone);box-shadow:none}.magician-table .mb-emoji{font-size:27px;filter:none}.magician-table .mb-name{font-size:12px}.magician-table .mb-count{top:5px;right:6px;padding:0;background:transparent;color:#7a8373;font-size:9px}.magician-table .mb-count.zero{color:var(--danger);box-shadow:none}.magician-table .mb-lock{bottom:auto;top:5px;left:6px;right:auto;font-size:9px}.magician-table .end-btn{grid-column:1 / -1;padding:12px;background:#f5f4e9;border:1px solid #c7d0bd;color:#586e4f;font-size:13px}.magician-table .restrict-hint{color:#806336;background:#f6edd6;border-color:#e0d2ac;font-size:12px;line-height:1.7}.magician-table :is(.card-dragon,.card-btn-dragon){--card-tone: #bb776b;--card-tint: #f6e5df}.magician-table :is(.card-ghost,.card-btn-ghost){--card-tone: #9282aa;--card-tint: #eee9f3}.magician-table :is(.card-dream,.card-btn-dream){--card-tone: #c08c9e;--card-tint: #f5e7ed}.magician-table :is(.card-owl,.card-btn-owl){--card-tone: #b59a61;--card-tint: #f3eddc}.magician-table :is(.card-storm,.card-btn-storm){--card-tone: #739d99;--card-tint: #e4efea}.magician-table :is(.card-blizzard,.card-btn-blizzard){--card-tone: #8fa6b8;--card-tint: #e9eff4}.magician-table :is(.card-fire,.card-btn-fire){--card-tone: #c09161;--card-tint: #f7eadc}.magician-table :is(.card-potion,.card-btn-potion){--card-tone: #8fa276;--card-tint: #ecf0df}.magician-table .log-panel{background:#fffdf5;border-color:#d8ddcf;padding:18px;border-radius:14px;top:20px;max-height:calc(100svh - 40px)}.magician-table .log-panel h3{font-size:14px;margin-bottom:16px}.magician-table .log-line{background:transparent;padding:6px 0;border-radius:0;border-bottom:1px solid #eeeee4;color:#6f786a;font-size:12px}.magician-table .ev-cast,.magician-table .ev-heal{color:#527853}.magician-table .ev-fail,.magician-table .ev-damage{color:#ac6350}.magician-table :is(.ev-roundStart,.ev-roundEnd,.ev-gameOver){color:#937540}.magician-table .panel{background:#fffdf5;border:1px solid #d7dccb;box-shadow:0 10px 30px #33402a14;border-radius:16px}.magician-table .round-panel{position:static;grid-column:1 / -1;width:auto;max-height:none;text-align:left;padding:24px;animation:none}.magician-table .round-panel h2{font-size:20px}.magician-table .round-panel .primary-btn{width:auto;margin-top:16px}.magician-table .primary-btn{background:#526f48;color:#fffdf5;border-radius:9px;padding:12px 20px;font-size:13px}.magician-table .reveal-row{align-items:flex-start}.magician-table .reveal-name{min-width:70px;max-width:110px;overflow-wrap:anywhere}.magician-table .reveal-cards{min-width:0}.magician-table .overlay{background:#35402b66;padding:16px}.magician-table .overlay-panel{max-height:calc(100svh - 32px);overflow-y:auto}.magician-table .winner{color:#8c733d;font-size:19px}.magician-table .overlay-btns{flex-wrap:wrap}.magician-table .dice-box{background:none;border:0;color:#695a38;box-shadow:none}.magician-table .full-fx{animation:none;padding:16px;gap:22px}.magician-table .full-fx .dice-box{position:relative;z-index:1;padding:0;border-radius:0}.magician-table .dice-label{font-size:16px;letter-spacing:0}.magician-table .dice-cube{font-size:clamp(52px,8svh,72px)}.magician-table .dice-num{font-size:clamp(56px,9svh,80px);color:#927036;text-shadow:none}.magician-table .float-fx{text-shadow:0 1px 3px #fffdf5}.magician-table .full-fx.success{background:#edf2df99}.magician-table .full-fx.fail{background:#f7e7dd99}.magician-table .fx-rays{opacity:.35;width:min(900px,100vw);height:min(900px,100vw)}.magician-table .full-fx .fx-plate{background:none;border:0;border-radius:0;box-shadow:none;padding:0;max-width:calc(100vw - 32px)}.magician-table .fx-badge{background:none;color:#87703b;font-size:clamp(16px,2.5svh,20px);letter-spacing:0;padding:0;border-radius:0}.magician-table .full-fx.fail .fx-badge{background:none;color:#a5654c}.magician-table .fx-emoji{font-size:clamp(80px,14svh,128px);filter:none}.magician-table .fx-name{font-size:clamp(30px,4.5svh,40px);color:#4d5940;text-shadow:none}.magician-table .fx-text{font-size:clamp(20px,3svh,24px);color:#7e856c;text-shadow:none}@media(max-width:1100px){.magician-table{grid-template-columns:minmax(0,1fr);gap:18px}.magician-table .log-panel{position:static;max-height:260px}}@media(max-width:600px){.magician-table{padding:calc(16px + env(safe-area-inset-top)) 12px calc(20px + env(safe-area-inset-bottom));gap:16px}.magician-table .topbar{gap:12px;padding-bottom:16px}.magician-table .topbar-info{flex-basis:100%;order:2;gap:6px 12px}.magician-table .table-tools{margin-left:auto}.magician-table .ghost-btn{font-size:11px;padding:7px 9px}.magician-table .board{padding:12px;border-radius:16px;gap:20px}.magician-table .opponents{grid-template-columns:minmax(0,1fr);gap:12px}.magician-table .seat{padding:12px}.magician-table .hand-fan{gap:6px}.magician-table .card.small{width:50px;height:70px}.magician-table .action-bar{gap:7px}.magician-table .magic-btn{min-height:92px;gap:8px}.magician-table .mb-name{font-size:10px}.magician-table .action-heading{gap:6px}.magician-table .round-panel{padding:18px}}@media(prefers-reduced-motion:reduce){.magician-table *,.magician-table *:before,.magician-table *:after{animation:none!important;transition:none!important}.magician-table .card:hover,.magician-table .magic-btn:hover:not(:disabled),.magician-table .magic-btn:active:not(:disabled){transform:none}}.magician-table[data-motion=off] *,.magician-table[data-motion=off] *:before,.magician-table[data-motion=off] *:after{animation:none;transition:none}.magician-table[data-motion=off] .card:hover,.magician-table[data-motion=off] .magic-btn:hover:not(:disabled),.magician-table[data-motion=off] .magic-btn:active:not(:disabled){transform:none}
