*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;padding:0}body{overscroll-behavior:none;touch-action:none;width:100vw;height:100vh;margin:0;position:fixed;overflow:hidden}#root{width:100%;height:100%;position:fixed;top:0;left:0}html[data-force-landscape="1"] body{width:var(--vh,100vh);height:var(--vw,100vw)}html[data-force-landscape="1"] #root{width:var(--vh,100vh);height:var(--vw,100vw);transform-origin:0 0;transform:translateY(var(--vh,100vh)) rotate(90deg)}:root{--bg0:#050807;--bg1:#0b1211;--ink:#ffffffeb;--muted:#ffffffb8;--faint:#ffffff8c;--gold:#f7d06b;--jade:#6be2c1;--scarlet:#ff5b5b;--panel:#0a0e0ead;--stroke:#ffffff1f;--shadow:0 18px 60px #0000008c}.appRoot{background:radial-gradient(1200px 800px at 70% 10%, #6be2c124, transparent 55%), radial-gradient(900px 700px at 20% 90%, #f7d06b1f, transparent 58%), radial-gradient(600px 500px at 10% 20%, #ff5b5b14, transparent 55%), linear-gradient(180deg, var(--bg0), var(--bg1));width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}.scene{will-change:opacity, transform, filter;display:grid;position:absolute;inset:0}.sceneEnter{animation:.56s cubic-bezier(.2,.95,.15,1) both sceneIn}.sceneLeave{pointer-events:none;animation:.56s cubic-bezier(.2,.95,.15,1) both sceneOut}@keyframes sceneIn{0%{opacity:0;filter:saturate(.95)blur(2px);transform:translateY(10px)scale(.985)}to{opacity:1;filter:saturate()blur();transform:translateY(0)scale(1)}}@keyframes sceneOut{0%{opacity:1;filter:saturate()blur();transform:translateY(0)scale(1)}to{opacity:0;filter:saturate(.95)blur(2px);transform:translateY(-10px)scale(.992)}}.splash{place-items:center;width:100%;height:100%;padding:24px;display:grid}.splashCore{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(900px 600px at 30% 20%,#f7d06b21,#0000 60%),radial-gradient(760px 560px at 70% 70%,#6be2c124,#0000 58%),radial-gradient(1200px 780px,#0000006b,#000000bd),#0000003d;border:1px solid #ffffff1f;border-radius:26px;gap:14px;width:min(880px,100%);padding:22px 22px 18px;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 80px #0000009e}.splashCore:before{content:"";filter:saturate(1.05)contrast(1.02);opacity:.62;z-index:0;background-color:#0000;background-image:radial-gradient(900px 600px at 55% 40%,#0000 45%,#0009),url(https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=Cinematic%20mahjong%20table%20felt%20background%2C%20close%20up%20green%20felt%2C%20subtle%20embossed%20pattern%2C%20ivory%20mahjong%20tiles%20slightly%20out%20of%20focus%20in%20corners%2C%20warm%20lantern%20light%2C%20soft%20bokeh%2C%20film%20grain%2C%20high%20detail%2C%20no%20text%2C%20no%20logos%2C%20no%20watermark&image_size=landscape_16_9);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.splashCore:after{content:"";opacity:.55;filter:blur(34px);z-index:1;background:conic-gradient(from 180deg,#f7d06b00,#f7d06b24,#6be2c11f,#f7d06b00);animation:4.6s linear infinite spinGlow;position:absolute;inset:-80px}@keyframes spinGlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.splashStamp{z-index:2;place-items:center;width:100%;display:grid;position:relative}.stampGrid{background:#00000038;border:1px solid #ffffff29;border-radius:22px;grid-template-columns:repeat(3,1fr);gap:10px;width:112px;height:112px;padding:12px;display:grid;box-shadow:0 16px 50px #0000008c}.stampGrid span{background:#ffffff14;border-radius:12px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1f,0 10px 28px #0006}.stampGrid span:after{content:"";opacity:.55;background:linear-gradient(135deg,#f7d06b61,#6be2c142);animation:.9s cubic-bezier(.2,.95,.15,1) both tileSheen;position:absolute;inset:0;transform:translateY(140%)}.stampGrid span:nth-child(2):after{animation-delay:70ms}.stampGrid span:nth-child(3):after{animation-delay:.12s}.stampGrid span:nth-child(4):after{animation-delay:.16s}.stampGrid span:nth-child(5):after{animation-delay:.2s}.stampGrid span:nth-child(6):after{animation-delay:.26s}.stampGrid span:nth-child(7):after{animation-delay:.32s}.stampGrid span:nth-child(8):after{animation-delay:.36s}.stampGrid span:nth-child(9):after{animation-delay:.42s}@keyframes tileSheen{0%{opacity:0;transform:translateY(140%)}to{opacity:.6;transform:translateY(0%)}}.splashText{z-index:2;place-items:center;gap:8px;display:grid;position:relative}.splashKicker{color:#ffffff9e;letter-spacing:.22em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px}.splashTitle{color:#ffffffeb;letter-spacing:.04em;font-family:ui-serif,STKaiti,KaiTi,Songti SC,SimSun,serif;font-size:clamp(54px,8vw,84px);font-weight:780;line-height:1}.splashSub{color:#ffffffbd;letter-spacing:.04em;font-family:ui-sans-serif,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:13px}.splashBar{z-index:2;background:#0003;border:1px solid #ffffff24;border-radius:999px;height:8px;position:relative;overflow:hidden}.splashBarInner{background:linear-gradient(90deg,#f7d06bf2,#6be2c1eb);border-radius:999px;width:38%;height:100%;animation:1.35s cubic-bezier(.2,.95,.15,1) both barGrow}@keyframes barGrow{0%{opacity:.85;width:0%}to{opacity:1;width:100%}}.splashMeta{z-index:2;text-align:center;color:#ffffff8a;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;position:relative}.grain{pointer-events:none;opacity:.22;filter:contrast(110%)brightness(110%);mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");position:absolute;inset:-20%;transform:rotate(-7deg)}.screen{place-items:center;width:100%;height:100%;padding:24px;display:grid}.homeStage{background-color:#0000;background-image:radial-gradient(1200px 780px at 50% 72%,#000000b8,#0000 65%),radial-gradient(900px 640px at 50% 28%,#0000008f,#0000 62%),linear-gradient(#0508078c,#050807e0),url(https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt=Cinematic%20overhead%20view%20of%20a%20green%20mahjong%20table%20felt%2C%20ivory%20mahjong%20tiles%20scattered%20neatly%2C%20warm%20lantern%20light%2C%20soft%20bokeh%2C%20subtle%20film%20grain%2C%20high%20detail%2C%20no%20text%2C%20no%20logos%2C%20no%20watermark&image_size=landscape_16_9);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.homeVignette{pointer-events:none;background:radial-gradient(900px 700px,#0000 45%,#00000073 82%,#000000b8 100%),linear-gradient(#0a0e0e33,#0a0e0e99);position:absolute;inset:0}.homeCenter{z-index:2;text-align:center;place-items:center;gap:14px;padding:24px 20px 18px;display:grid;position:relative}.homeTitle{letter-spacing:.06em;color:#0000;text-shadow:0 2px #0000006b,0 16px 48px #0000009e;background-image:linear-gradient(#fffffffa,#f7d06bf2 35%,#6be2c1e6 100%);-webkit-background-clip:text;background-clip:text;font-family:ui-serif,STKaiti,KaiTi,Songti SC,SimSun,serif;font-size:clamp(56px,9.5vw,108px);font-weight:860;line-height:.95}.homeSubtitle{color:#ffffffc7;letter-spacing:.22em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000038;border:1px solid #ffffff24;border-radius:999px;padding:10px 14px;font-family:ui-sans-serif,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:13px}.homeStartBtn{appearance:none;letter-spacing:.06em;color:#080c0cf2;cursor:pointer;background:linear-gradient(135deg,#f7d06bfa,#6be2c1eb);border:1px solid #ffffff2e;border-radius:18px;min-width:min(320px,78vw);padding:14px 18px;font-family:ui-sans-serif,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:16px;font-weight:760;transition:transform .12s,filter .12s,box-shadow .18s;box-shadow:0 18px 60px #0009,0 0 0 6px #6be2c114}.homeStartBtn:hover{filter:brightness(1.06)saturate(1.06);box-shadow:0 22px 70px #0000009e,0 0 0 7px #f7d06b17}.homeStartBtn:active{transform:translateY(1px)scale(.995)}.homeCorner{z-index:3;appearance:none;color:#ffffffc2;letter-spacing:.02em;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000047;border:1px solid #ffffff1f;border-radius:999px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;transition:background .16s,border-color .16s,color .16s;position:absolute;bottom:14px}.homeCorner:hover{color:#ffffffe6;background:#0000005c;border-color:#fff3}.homeCornerLeft{left:14px}.homeCornerRight{right:14px}.panel{border:1px solid var(--stroke);background:var(--panel);width:min(980px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:22px;padding:26px 26px 22px}.brandRow{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.titleBlock{gap:8px;display:grid}.title{color:var(--ink);letter-spacing:.02em;margin:0;font-family:ui-serif,STKaiti,KaiTi,Songti SC,SimSun,serif;font-size:clamp(32px,5.2vw,56px);font-weight:700;line-height:1.05}.subtitle{color:var(--muted);letter-spacing:.02em;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}.metaChip{border:1px solid var(--stroke);color:var(--muted);background:#0003;border-radius:999px;align-items:center;gap:10px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;display:inline-flex}.metaDot{background:var(--jade);border-radius:999px;width:7px;height:7px;box-shadow:0 0 0 3px #6be2c11f}.actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.btn{appearance:none;letter-spacing:.01em;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:14px;padding:12px 14px;font-family:ui-sans-serif,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-weight:650;transition:transform .12s,filter .12s,background .16s,border-color .16s}.btn:active{transform:translateY(1px)}.btnPrimary{color:#080c0cf2;background:linear-gradient(135deg,#f7d06b,#6be2c1eb)}.btnPrimary:hover{filter:brightness(1.05)}.btnGhost{border-color:var(--stroke);color:var(--ink);background:#0000002e}.btnGhost:hover{background:#0000003d;border-color:#fff3}.btnDanger{color:var(--ink);background:#ff5b5b1f;border-color:#ff5b5b59}.btnDanger:hover{background:#ff5b5b2e}.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}.grid2{grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px;display:grid}@media (width<=860px){.grid2{grid-template-columns:1fr}}.card{border:1px solid var(--stroke);background:#00000029;border-radius:18px;padding:16px}.cardTitle{color:var(--ink);letter-spacing:.02em;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}.cardBody{color:var(--muted);margin-top:10px;font-family:ui-sans-serif,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:13px;line-height:1.7}.list{margin:10px 0 0;padding-left:18px}.list li{margin:6px 0}.footerRow{color:var(--faint);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font-family:ui-sans-serif,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:12px;display:flex}.linkBtn{color:var(--gold);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:none;padding:0;text-decoration:underline}.modalOverlay{z-index:50;background:#00000094;place-items:center;padding:18px;animation:.22s ease-out both modalFadeIn;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--stroke);width:min(740px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a0e0ec2;border-radius:22px;padding:18px 18px 14px;animation:.24s cubic-bezier(.2,.95,.15,1) both modalPop}.modalHeader{justify-content:space-between;align-items:center;gap:12px;padding:6px 6px 14px;display:flex}.modalTitle{color:var(--ink);letter-spacing:.02em;margin:0;font-family:ui-serif,STKaiti,KaiTi,Songti SC,SimSun,serif;font-size:22px;font-weight:750}.closeX{appearance:none;border:1px solid var(--stroke);color:var(--ink);cursor:pointer;background:#0003;border-radius:12px;padding:8px 10px}.modalBody{color:var(--muted);border-top:1px solid #ffffff14;padding:14px 8px 10px;font-family:ui-sans-serif,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:13px;line-height:1.7}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalPop{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.modalKV{color:var(--muted);grid-template-columns:130px 1fr;gap:10px 12px;margin-top:10px;display:grid}.kvK{color:#fff9}.kvV{color:#ffffffeb;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px}.gameStage{display:grid;position:absolute;inset:0}.hud{z-index:20;pointer-events:none;justify-content:space-between;align-items:center;gap:10px;display:flex;position:absolute;top:12px;left:12px;right:12px}.hudLeft,.hudRight{pointer-events:auto;gap:10px;display:inline-flex}.hudBtn{appearance:none;border:1px solid var(--stroke);color:var(--ink);cursor:pointer;letter-spacing:.01em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000047;border-radius:14px;padding:10px 12px;font-family:ui-sans-serif,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-weight:650;transition:background .16s,border-color .16s}.hudBtn:hover{background:#00000057;border-color:#fff3}.checkRow{color:var(--muted);-webkit-user-select:text;user-select:text;align-items:flex-start;gap:10px;margin-top:14px;font-family:ui-sans-serif,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:13px;line-height:1.55;display:flex}.checkRow input{width:18px;height:18px;margin-top:2px}
