@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/roboto-latin-500-normal-7RbcRiD8.woff2)format("woff2"),url(/assets/roboto-latin-500-normal-DQZyH_nt.woff)format("woff")}:root{--site-bg:#f5f3ec;--site-surface:#fffef9;--site-surface-muted:#ecebe3;--site-ink:#17352f;--site-text:#334841;--site-muted:#687a74;--site-green:#0f4a3d;--site-green-strong:#0a382f;--site-gold:#c8a85e;--site-line:#17352f24;--site-shadow:0 18px 48px #19342d1a;--site-radius-sm:12px;--site-radius:20px;--site-radius-lg:30px;--site-max:1200px;--site-gutter:clamp(18px, 4vw, 42px);--site-section:clamp(64px, 9vw, 112px)}.site-shell{background:radial-gradient(circle at 95% 4%, #c8a85e21, transparent 26rem), var(--site-bg);color:var(--site-text);scroll-behavior:smooth;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.65;position:absolute;inset:0;overflow:hidden auto}.site-shell *,.site-shell :before,.site-shell :after{box-sizing:border-box}.site-shell a{color:inherit;text-decoration:none}.site-shell a:focus-visible,.site-shell button:focus-visible,.site-shell summary:focus-visible{outline-offset:3px;outline:3px solid #c8a85ee6}.site-container{width:min(100%, var(--site-max));padding-inline:var(--site-gutter);margin-inline:auto}.skip-link{z-index:200000;color:var(--site-ink);background:#fff;border-radius:9px;padding:10px 14px;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:1000;color:#f7f0de;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a382ff5;border-bottom:1px solid #ffffff17;position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;min-height:64px;display:flex;position:relative}.site-header-compact .site-header-inner{gap:16px;min-height:54px}.site-header-compact{color:var(--site-ink);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#faf8f0fa;border-bottom-color:#17352f24}.site-header-compact .site-brand img{width:27px;height:27px}.site-header-compact .site-brand{color:var(--site-ink);flex:none;gap:8px;font-size:1.08rem}.site-game-title{min-width:0;color:var(--site-ink);letter-spacing:-.025em;white-space:nowrap;border-left:1px solid #17352f2e;margin:0 auto 0 0;padding-left:16px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.7rem,2.4vw,2.25rem);font-weight:650;line-height:1}.site-header-compact .site-navigation a{color:#17352fbd;border-radius:7px;padding:5px 10px;font-size:.88rem}.site-header-compact .site-navigation a:hover,.site-header-compact .site-navigation a[aria-current=page]{color:var(--site-green-strong);background:#0f4a3d1a}.site-brand{color:#f7e8bd;letter-spacing:.035em;align-items:center;gap:10px;font-family:Georgia,Times New Roman,serif;font-size:1.27rem;font-weight:700;display:inline-flex}.site-brand img{display:block}.site-navigation{align-items:center;gap:4px;display:flex}.site-navigation a{color:#fffc;border-radius:9px;padding:8px 12px;font-size:.93rem;font-weight:650}.site-navigation a:hover,.site-navigation a[aria-current=page]{color:#fff8e7;background:#ffffff17}.mobile-menu-button{background:#ffffff14;border:0;border-radius:10px;width:42px;height:42px;padding:10px;display:none}.mobile-menu-button span{background:#fff4d6;width:100%;height:2px;margin-block:4px;display:block}.home-hero{grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);align-items:center;gap:clamp(36px,7vw,94px);min-height:min(500px,100svh - 64px);padding-block:clamp(38px,6vw,68px);display:grid}.hero-copy{max-width:650px}.eyebrow{color:#8a6b27;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;font-size:.75rem;font-weight:800;display:block}.home-hero h1,.page-intro h1,.game-page-intro h1,.not-found-page h1{color:var(--site-ink);letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.55rem,6vw,5.35rem);font-weight:650;line-height:.99}.home-hero p{max-width:590px;color:var(--site-text);margin:24px 0 0;font-size:clamp(1.02rem,2vw,1.23rem);line-height:1.72}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.button-primary,.button-secondary{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;min-height:48px;padding:11px 20px;font-weight:750;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.button-primary{background:var(--site-green);box-shadow:0 10px 22px #0f4a3d2e;color:#fffbea!important}.button-secondary{border-color:var(--site-line);background:#ffffff9e;color:var(--site-green)!important}.button-primary:hover,.button-secondary:hover{transform:translateY(-2px)}.hero-art{border-radius:var(--site-radius-lg);min-height:330px;box-shadow:var(--site-shadow);background:radial-gradient(circle,#ffffff1a,#0000 58%),#0d4438;border:1px solid #ffffff14;position:relative;overflow:hidden}.hero-art:before,.hero-art:after{content:"";border:1px solid #e0c57e33;border-radius:50%;position:absolute;inset:13%}.hero-art:after{border-style:dashed;inset:25%}.hero-art span{left:calc(14% + var(--tile-index) * 18%);top:calc(17% + (var(--tile-index) % 2) * 31%);aspect-ratio:.74;color:#163f36;width:clamp(76px,9vw,112px);transform:rotate(calc((var(--tile-index) - 1.5) * 3deg));background:linear-gradient(145deg,#fffdf2 0%,#e8dfc4 72%,#c7b077 100%);border:1px solid #d4c394;border-radius:13px;place-items:center;font-family:serif;font-size:clamp(2rem,5vw,3.5rem);display:grid;position:absolute;box-shadow:8px 11px #aa9363,14px 20px 30px #0000005e}.content-section{padding-block:var(--site-section);border-top:1px solid var(--site-line)}.section-heading{max-width:720px;margin-bottom:clamp(28px,5vw,46px)}.section-heading h2,.content-section h2,.related-games h2,.internal-links h2,.legal-content h2{color:var(--site-ink);letter-spacing:-.025em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,3.5vw,2.65rem);font-weight:650;line-height:1.13}.section-heading p{color:var(--site-muted);margin:15px 0 0;font-size:1.03rem}.game-card{border:1px solid var(--site-line);border-radius:var(--site-radius-lg);background:var(--site-surface);box-shadow:var(--site-shadow);grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);display:grid;overflow:hidden}.game-card-image-link{background:var(--site-green-strong);min-height:360px;display:block;overflow:hidden}.game-card-image-link img{object-fit:cover;width:100%;height:100%;transition:transform .28s;display:block}.game-card-image-link:hover img{transform:scale(1.02)}.game-card-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,5vw,58px);display:flex}.game-card .status-label{color:var(--site-green);letter-spacing:.09em;text-transform:uppercase;background:#e4eee8;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:800}.game-card h2{margin:18px 0 0;font-size:clamp(1.8rem,3.5vw,2.65rem)}.game-card p{color:var(--site-muted);margin:16px 0 22px}.text-link{font-weight:800;color:var(--site-green)!important}.text-link:hover{text-underline-offset:4px;text-decoration:underline}.category-grid,.benefit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.category-card,.benefit-grid article{border:1px solid var(--site-line);border-radius:var(--site-radius);background:#fffef9b8;min-height:220px;padding:24px}a.category-card{transition:transform .15s,box-shadow .15s}a.category-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #19342d1a}.category-card-muted{opacity:.72}.category-symbol{width:42px;height:42px;color:var(--site-green);background:#e1e9e4;border-radius:11px;place-items:center;font-size:1.45rem;display:grid}.category-card h3,.benefit-grid h3,.guide-grid h3{color:var(--site-ink);margin:22px 0 8px;font-size:1.08rem}.category-card p,.benefit-grid p,.guide-grid p{color:var(--site-muted);margin:0;font-size:.92rem}.category-card small{color:#826724;margin-top:20px;font-weight:800;display:block}.benefit-grid article span{background:var(--site-green);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.about-preview{grid-template-columns:.82fr 1.18fr;gap:clamp(32px,8vw,110px);display:grid}.about-preview p{margin:0 0 20px;font-size:1.08rem}.faq-list{border-top:1px solid var(--site-line)}.faq-list details{border-bottom:1px solid var(--site-line)}.faq-list summary{color:var(--site-ink);cursor:pointer;padding:22px 48px 22px 0;font-weight:750;list-style:none;position:relative}.faq-list summary:after{content:"+";color:#876b28;font-size:1.45rem;position:absolute;top:19px;right:8px}.faq-list details[open] summary:after{content:"−"}.faq-list details p{max-width:780px;color:var(--site-muted);margin:-4px 0 22px}.page-flow{padding-block:20px var(--site-section)}.breadcrumbs{margin-bottom:clamp(30px,5vw,54px);font-size:.84rem}.breadcrumbs ol{flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li:not(:last-child):after{color:#98a49f;content:"/";margin-left:8px}.breadcrumbs a{color:var(--site-green);font-weight:700}.breadcrumbs span{color:var(--site-muted)}.page-intro{max-width:820px;padding-bottom:clamp(46px,8vw,82px)}.page-intro h1,.game-page-intro h1{font-size:clamp(2.35rem,5vw,4.7rem)}.page-intro p{max-width:750px;color:var(--site-muted);margin:22px 0 0;font-size:clamp(1rem,2vw,1.18rem)}.page-intro small{color:var(--site-muted);margin-top:20px;display:block}.site-shell[data-route=home] #games{padding-top:clamp(38px,5vw,56px)}.site-shell[data-route=mahjong] .page-flow>.breadcrumbs{margin-bottom:16px}.site-shell[data-route=mahjong] .page-intro{padding-bottom:clamp(24px,4vw,36px)}.site-shell[data-route=mahjong] .page-intro h1{font-size:clamp(2.3rem,4.4vw,3.8rem)}.site-shell[data-route=mahjong] .page-intro p{margin-top:14px}.site-shell[data-route=mahjong] .page-intro+.content-section{padding-top:clamp(32px,4vw,48px)}.prose-grid,.feature-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(34px,8vw,100px);display:grid}.prose-grid p,.prose-grid li,.feature-layout li{color:var(--site-muted)}.prose-grid ol,.feature-layout ul{padding-left:1.25rem}.internal-links{border:1px solid var(--site-line);border-radius:var(--site-radius);background:var(--site-surface);flex-wrap:wrap;align-items:center;gap:12px 22px;padding:28px;display:flex}.internal-links h2{width:100%;font-size:1.3rem}.internal-links a{color:var(--site-green);font-weight:750}.game-page-main{background:#ecebe3}.game-page-container{width:min(100%,1440px);max-width:1440px;padding-top:4px;padding-bottom:var(--site-section)}.game-container{isolation:isolate;background:#0d3029;border:1px solid #0a382f40;border-radius:18px;width:min(100%,1180px);height:clamp(610px,100svh - 62px,880px);min-height:610px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 22px 55px #0d302938}.article-content-container{width:min(100%,900px);margin-inline:auto}.game-page-summary{color:var(--site-muted);text-align:center;margin:18px 0 0;font-size:.92rem}.game-loading,.game-empty-state{color:#f6ebcf;text-align:center;background:radial-gradient(circle,#ffffff0f,#0000 44%),#0d3029;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:28px;display:flex;position:absolute;inset:0}.game-loading-mark{background:#f6f0da;border:2px solid #d9c17f;border-radius:7px;width:38px;height:50px;margin-bottom:10px;animation:1.1s ease-in-out infinite alternate site-loading-pulse;box-shadow:5px 7px #9d8657}.game-loading small{color:#ffffff9e}@keyframes site-loading-pulse{to{transform:translateY(-5px)}}.game-guide,.feature-layout,.layouts-section,.game-page-container>.faq-section{width:100%;margin-inline:auto}.guide-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.guide-grid article{border:1px solid var(--site-line);border-radius:var(--site-radius);background:var(--site-surface);padding:22px}.guide-grid article>span{width:34px;height:34px;color:var(--site-green);background:#e4e8dd;border-radius:50%;place-items:center;font-weight:850;display:grid}.check-list{list-style:"✓  "}.layout-name-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.layout-name-grid span{border:1px solid var(--site-line);background:var(--site-surface);min-height:86px;color:var(--site-ink);border-radius:15px;flex-direction:column;justify-content:center;padding:16px 20px;font-family:Georgia,Times New Roman,serif;font-size:1.18rem;font-weight:700;display:flex}.layout-name-grid small{color:#8a6b27;letter-spacing:.08em;text-transform:uppercase;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.7rem}.related-games{border-radius:var(--site-radius);background:var(--site-green);color:#fffc;width:100%;margin:0 auto;padding:34px}.related-games h2{color:#fff4d5}.related-games .text-link{color:#f5d98f!important}.legal-page{max-width:850px;margin-inline:auto}.legal-content{border:1px solid var(--site-line);border-radius:var(--site-radius);background:var(--site-surface);padding:clamp(28px,5vw,56px)}.legal-content h2{margin-top:38px;font-size:1.55rem}.legal-content h2:first-child{margin-top:0}.legal-content p{color:var(--site-muted)}.notice-box{background:#fbf4dd;border:1px solid #a0771e47;border-radius:14px;padding:20px}.notice-box p{margin-bottom:0}.not-found-page{flex-direction:column;justify-content:center;align-items:flex-start;min-height:68svh;display:flex}.not-found-page p{max-width:620px;color:var(--site-muted);font-size:1.06rem}.site-footer{color:#ffffffad;background:#092f28}.site-footer-inner{grid-template-columns:1fr 1.7fr;gap:38px 70px;padding-block:52px 32px;display:grid}.site-brand-footer{color:#f6e9c5!important}.site-footer p{margin:10px 0 0}.site-footer nav{flex-wrap:wrap;align-content:flex-start;gap:8px 20px;display:flex}.site-footer nav a:hover{color:#fff4d8}.site-footer small{border-top:1px solid #ffffff1a;grid-column:1/-1;padding-top:25px}@media (width<=800px){.site-header-inner{min-height:58px}.site-header-compact .site-header-inner{flex-wrap:nowrap;gap:10px;min-height:46px}.site-header-compact .site-brand,.site-header-compact .mobile-menu-button{margin-block:2px}.site-header-compact .mobile-menu-button{background:#0f4a3d12;border:1px solid #17352f1f;flex:0 0 36px;order:3;width:36px;height:36px}.site-header-compact .mobile-menu-button span{background:var(--site-green)}.site-game-title{border-top:0;border-left:1px solid #17352f29;flex:auto;order:2;width:auto;height:auto;margin:0 auto 0 0;padding-left:12px;font-size:clamp(1.15rem,3.4vw,1.45rem);line-height:1}.site-header-compact .site-navigation{background:#faf8f0;border-color:#17352f24;top:100%;box-shadow:0 18px 30px #12302929}.site-header-compact .site-navigation a{color:var(--site-ink)}.mobile-menu-button{display:block}.site-navigation{top:calc(100% + 1px);right:var(--site-gutter);left:var(--site-gutter);background:#0b3a31;border:1px solid #ffffff1f;border-radius:0 0 14px 14px;flex-direction:column;align-items:stretch;padding:8px;display:none;position:absolute;box-shadow:0 18px 30px #0000002e}.site-navigation[data-open=true]{display:flex}.site-navigation a{padding:11px 13px}.home-hero{grid-template-columns:1fr;gap:34px;min-height:auto;padding-block:42px 52px}.hero-art{min-height:290px}.game-card{grid-template-columns:1fr}.game-card-image-link{aspect-ratio:16/10;min-height:0}.category-grid,.benefit-grid,.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-preview,.prose-grid,.feature-layout{grid-template-columns:1fr}}@media (width<=520px){.home-hero h1,.page-intro h1,.not-found-page h1{font-size:clamp(2.25rem,12vw,3.45rem)}.hero-actions{flex-direction:column;align-items:stretch}.button-primary,.button-secondary{width:100%}.hero-art{min-height:280px}.category-grid,.benefit-grid,.guide-grid,.layout-name-grid{grid-template-columns:1fr}.category-card,.benefit-grid article{min-height:0}.game-page-container{padding-top:4px;max-width:none;padding-inline:0}.game-page-container>:not(.game-container){margin-right:var(--site-gutter);margin-left:var(--site-gutter)}.game-container{border-left:0;border-right:0;border-radius:0;width:100%;height:max(760px,100dvh - 54px);min-height:760px}.article-content-container{width:auto}.game-page-summary{margin-top:14px;font-size:.84rem}.site-header-compact .site-brand span{display:none}.site-header-compact .site-brand img{width:24px;height:24px}.site-header-compact .site-game-title{text-align:center;border-left:0;padding-left:0;font-size:clamp(1.06rem,5vw,1.3rem)}.legal-content{padding:24px 20px}.site-footer-inner{grid-template-columns:1fr}.site-footer small{grid-column:auto}}@media (prefers-reduced-motion:reduce){.site-shell{scroll-behavior:auto}.site-shell *,.site-shell :before,.site-shell :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{color:#151515;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}.mobile-carousel{overscroll-behavior:contain;scrollbar-width:none;-webkit-user-select:none;user-select:none;width:100%;min-width:0;max-width:100%;display:block;position:relative;overflow:auto}.mobile-carousel::-webkit-scrollbar{display:none}.mobile-carousel{touch-action:pan-y;overflow:auto hidden}.mobile-carousel[data-dragging=true]{cursor:none}.mobile-carousel-content{width:max-content;min-width:100%;transform:translateX(var(--mobile-carousel-overdrag));will-change:transform;display:flex}.mobile-carousel-scrollbar{z-index:4;opacity:0;pointer-events:none;transition:opacity .15s;position:absolute;inset:0}.mobile-carousel-scrollbar[data-visible=true]{opacity:1}.mobile-carousel-scrollbar-thumb{background:#00000059;border-radius:999px;height:3px;position:absolute;bottom:4px;right:4px}body{min-width:320px;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}.phone-stage{place-items:center;width:100%;height:100%;padding:24px;display:grid;position:relative}.device-menu-bar{z-index:100;border-radius:12px;padding:3px;position:absolute;top:18px;right:18px}.device-picker-trigger{color:#151515;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;height:34px;padding:0 10px 0 12px;font:600 14px/1 ui-sans-serif,system-ui,sans-serif;display:flex}.device-picker-trigger:hover,.device-picker-trigger[data-state=open]{background:#0000000e}.device-picker-trigger:focus-visible{outline-offset:2px;outline:2px solid #000000b8}.device-picker-menu{z-index:200;min-width:168px;transform-origin:var(--radix-dropdown-menu-content-transform-origin);background:#fffffffa;border-radius:12px;padding:3px;animation:.12s ease-out device-menu-in;box-shadow:0 0 1px #0000000f,0 0 0 1px #00000014,0 4px 4px #0000000d}.device-picker-item{color:#181818;-webkit-user-select:none;user-select:none;border-radius:8px;outline:none;justify-content:space-between;align-items:center;height:34px;padding:0 9px 0 10px;font:500 14px/1 ui-sans-serif,system-ui,sans-serif;display:flex}.device-picker-item[data-highlighted]{background:#f0f0f0}.device-picker-item[data-state=checked]{font-weight:600}.device-picker-check{color:#181818;place-items:center;display:grid}@keyframes device-menu-in{0%{opacity:0;transform:scale(.98)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}.phone-scale-box{position:relative}.phone-device{transform-origin:0 0;-webkit-user-select:none;user-select:none;position:absolute;top:0;left:0}.phone-bezel{object-fit:contain;z-index:2;-webkit-user-drag:none;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.device-screen{cursor:none;z-index:1;-webkit-user-select:none;user-select:none;background:#fff;border-radius:42px;position:absolute;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.device-camera{z-index:75;pointer-events:none;background:#050505;border-radius:50%;display:block;position:absolute;box-shadow:inset 0 0 0 1px #ffffff14}.device-screen,.device-screen *{cursor:none!important}.device-screen img,.keyboard-asset{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.device-screen input,.device-screen textarea,.device-screen select,.device-screen option,.device-screen [contenteditable=true]{-webkit-user-select:auto;user-select:auto}.device-screen:active,.device-screen:active *,.device-screen input,.device-screen textarea,.device-screen button,.device-screen a,.device-screen [role=button]{cursor:none!important}.device-screen[data-cursor-debug=true],.device-screen[data-cursor-debug=true] *{cursor:default!important}.device-screen :focus,.device-screen :focus-visible{box-shadow:none!important;outline:0!important}.flow-stack,.flow-scenes,.flow-screen,.mobile-app-viewport{position:absolute;inset:0}.mobile-app-viewport[data-platform=android][data-keyboard-visible=false]{bottom:var(--device-safe-area-bottom,48px)}.flow-stack{--flow-header-height:0px;--flow-header-content-height:0px;--flow-header-safe-area:0px;--flow-footer-height:0px;--keyboard-height:0px;touch-action:pan-y;background:0 0;overflow:hidden}.flow-fixed-header{z-index:12;height:var(--flow-header-height);padding-top:var(--flow-header-safe-area);box-sizing:border-box;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;position:absolute;top:0;left:0;right:0}.flow-fixed-footer{z-index:12;right:0;bottom:var(--keyboard-height);height:var(--flow-footer-height);background:0 0;transition:bottom .26s cubic-bezier(.2,.8,.2,1);position:absolute;left:0}.flow-scenes{top:var(--flow-header-height);bottom:0;overflow:hidden}.flow-screen{will-change:transform;background:0 0;overflow:hidden}.mobile-page{--mobile-safe-area-height:var(--device-safe-area-bottom,34px);--keyboard-height:0px;position:absolute;inset:0}.mobile-page[data-keyboard-visible=true],.mobile-app-viewport[data-platform=android] .mobile-page{--mobile-safe-area-height:0px}.mobile-scroll{top:0;right:0;bottom:var(--keyboard-height);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;touch-action:none;-webkit-user-select:none;user-select:none;transition:bottom .26s cubic-bezier(.2,.8,.2,1);position:absolute;left:0;overflow:hidden auto}.mobile-scroll::-webkit-scrollbar{display:none}.mobile-scroll[data-dragging=true]{cursor:none}.mobile-cursor{z-index:80;opacity:0;pointer-events:none;will-change:transform;background:radial-gradient(circle at 50% 44%,#ffffffb3 0 34%,#ffffff8a 58%,#eeeeee7a 100%);border:.5px solid #0000001f;border-radius:999px;width:48px;height:48px;transition:opacity 90ms,background 80ms,box-shadow 80ms;position:absolute;top:0;left:0;box-shadow:inset 0 1px 2px #fff9,inset 0 -5px 10px #0000000d,inset 0 0 0 1px #00000006}.mobile-cursor:before{content:"";pointer-events:none;background:linear-gradient(#ffffff61,#fff0);border-radius:999px;width:32px;height:17px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.mobile-cursor:after{border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 1px 0 3px #ffffff47,inset -1px 0 3px #00000005}.mobile-cursor-hotspot{pointer-events:none;background:#ffffffd1;border:1px solid #007afff2;border-radius:999px;width:9px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffffbf,0 0 0 3px #007aff29}.mobile-cursor-hotspot:before,.mobile-cursor-hotspot:after{content:"";background:#007afff2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mobile-cursor-hotspot:before{width:17px;height:1px}.mobile-cursor-hotspot:after{width:1px;height:17px}.mobile-cursor[data-visible=true]{opacity:1}.mobile-cursor[data-active=true]{background:radial-gradient(circle at 50% 55%,#e8e8e894 0 30%,#f8f8f880 62%,#ffffffad 100%);box-shadow:inset 0 3px 7px #00000014,inset 0 -4px 8px #ffffff57,inset 0 0 0 1px #00000008}.mobile-cursor[data-active=true]:before{background:linear-gradient(#0000000e,#0000)}.mobile-cursor[data-active=true]:after{box-shadow:inset 0 5px 9px #0000000b,inset 0 -3px 7px #ffffff47}.mobile-scroll-content{will-change:transform;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;padding:0;display:grid}.app-screen{background:#fff}.mobile-scrollbar{z-index:9;top:4px;right:5px;bottom:calc(var(--mobile-safe-area-height) + var(--keyboard-height) + 4px);opacity:0;pointer-events:none;width:4px;transition:bottom .26s cubic-bezier(.2,.8,.2,1),opacity .18s;position:absolute}.mobile-page[data-keyboard-dragging=true] .mobile-scroll,.mobile-page[data-keyboard-dragging=true] .mobile-scrollbar,.flow-stack[data-keyboard-dragging=true] .flow-fixed-footer{transition:none}.mobile-scrollbar[data-visible=true]{opacity:1}.mobile-scrollbar-thumb{background:#00000047;border-radius:999px;width:4px;min-height:36px;transition:background .12s;box-shadow:0 0 0 1px #ffffff2e}.status-bar{z-index:72;color:#050505;pointer-events:none;background:0 0;grid-template-columns:1fr auto;align-items:center;height:54px;padding:10px 34px 0 36px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;display:grid;position:absolute;top:0;left:0;right:0}.device-screen[data-device=pixel-10] .status-bar{align-items:start;height:auto;padding:32px 32px 0;font-family:Roboto,Arial,sans-serif}.status-time{text-align:center;letter-spacing:0;justify-self:start;min-width:58px;font-size:15px;font-weight:600;line-height:1}.status-indicators{justify-self:end;align-items:center;display:flex}.status-indicator-svg{display:block}.status-indicator-svg[data-platform=ios]{width:79px;height:13px}.status-indicator-svg[data-platform=android]{width:50px;height:14px}.device-screen[data-device=pixel-10] .status-time{font-weight:500;transform:translateY(2px)}.home-indicator-svg{z-index:70;width:100%;height:var(--device-safe-area-bottom,34px);pointer-events:none;display:block;position:absolute;bottom:0;left:0;right:0}.android-navigation-bar{z-index:70;width:428px;height:var(--device-safe-area-bottom,48px);pointer-events:none;-webkit-user-drag:none;display:block;position:absolute;bottom:-1px;left:-1px}h1,h2,p{margin:0}h1{letter-spacing:0;font-size:26px;line-height:1.08}h2{font-size:15px}p{color:#555;font-size:14px;line-height:1.45}.field-label{color:#555;font-size:13px;font-weight:800}.mobile-field{gap:8px;display:grid}.mobile-field input{color:#151515;background:#fff;border:1px solid #0000001a;border-radius:8px;outline:0;width:100%;min-height:44px;padding:0 12px}.mobile-field input:focus{box-shadow:none;border-color:#00000029}.device-screen .mobile-field input:focus,.device-screen .mobile-field input:focus-visible{border-color:#0000001f;box-shadow:none!important;outline:0!important}.sheet-overlay{z-index:20;background:#00000057;position:absolute;inset:0}.bottom-sheet{z-index:21;touch-action:none;background:#fff;border-radius:22px 22px 0 0;flex-direction:column;min-height:260px;display:flex;position:absolute;left:0;right:0;overflow:hidden;box-shadow:0 -16px 48px #0003}.sheet-handle-zone{touch-action:none;place-items:center;height:30px;display:grid}.sheet-handle{background:#c9c9c4;border-radius:999px;width:42px;height:5px}.sheet-header{gap:4px;padding:0 18px 14px;display:grid}.sheet-title{margin:0;font-size:18px;font-weight:900}.sheet-description{color:#737373;margin:0;font-size:13px;line-height:1.35}.sheet-content{padding:0 18px 24px;overflow:auto}.keyboard-dock{z-index:30;height:339px;box-shadow:none;pointer-events:none;will-change:transform;background:#d8d9de;border-radius:32px 32px 0 0;padding:0;position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.keyboard-dock[data-platform=android]{background:#f3f2f6;border-radius:0;box-shadow:0 -1px 2px #00000014}.keyboard-dock[data-visible=true]{pointer-events:auto}.keyboard-asset{z-index:1;border-radius:inherit;object-fit:cover;object-position:center bottom;-webkit-user-drag:none;pointer-events:none;width:100%;height:100%;display:block;position:relative}.keyboard-dock[data-platform=android] .keyboard-asset{object-fit:fill;border-radius:0}.mahjong-screen{--game-header-height:54px;--game-footer-height:104px;grid-template-rows:var(--game-header-height) minmax(0, 1fr) var(--game-footer-height);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--game-background);color:#f7edd9;isolation:isolate;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;position:absolute;inset:0;overflow:hidden}.game-header{z-index:20;background:linear-gradient(180deg, #ffffff06, transparent), var(--game-chrome-background);border-bottom:1px solid #c2a15ab8;grid-template-columns:40px minmax(0,1fr) auto 40px;align-items:center;gap:10px;padding:6px 10px;display:grid;box-shadow:0 5px 16px #01110e4d}.header-icon-button{color:#efd18e;background:#0f3a31bd;border:1px solid #c2a15a80;border-radius:11px;place-items:center;width:38px;height:38px;padding:0;transition:border-color .14s,background-color .14s,box-shadow .14s;display:grid;box-shadow:inset 0 0 0 1px #fff4d30a}.header-icon-button:active{background:#194e41e6;border-color:#efd18ed9;box-shadow:inset 0 2px 6px #0003}.level-label,.game-time{white-space:nowrap;line-height:1}.level-label{color:#efd18e;cursor:pointer;letter-spacing:.12em;text-align:left;text-overflow:ellipsis;text-transform:uppercase;-webkit-tap-highlight-color:transparent;background:#0f3a31b8;border:1px solid #c2a15a85;border-radius:10px;justify-self:start;align-items:center;gap:7px;width:fit-content;min-width:0;padding:7px 10px;font-family:Georgia,Times New Roman,serif;font-size:16px;font-weight:600;display:inline-flex;overflow:hidden;box-shadow:inset 0 0 0 1px #fff4d30a}.level-label:after{content:"▾";letter-spacing:0;font-family:Inter,ui-sans-serif,sans-serif;font-size:11px}.level-label:active{background:#194e41eb;border-color:#efd18ee0}.level-label:focus-visible{outline-offset:3px;outline:2px solid #efd18ec7}.game-time{color:#fff8e9;font-variant-numeric:tabular-nums;letter-spacing:.025em;text-shadow:0 2px 9px #0006;font-size:21px;font-weight:500}.board-region{background-color:var(--game-background);background-image:linear-gradient(180deg, #041f1914, #031d1738), var(--game-board-background-image);background-position:50%;background-size:cover;place-items:center;min-width:0;min-height:0;padding:4px;display:grid;position:relative;overflow:hidden}.board-region:after{content:"";pointer-events:none;border:1px solid #c2a15a1f;position:absolute;inset:0;box-shadow:inset 0 18px 30px #00000024,inset 0 -20px 40px #0000001f}.tile-layout-frame{flex:none;position:relative}.tile-layout{transform-origin:0 0;position:absolute;top:0;left:0}.mahjong-tile{--tile-side-color:#61583a;--tile-cast-x:6px;--tile-cast-y:15px;--tile-cast-blur:24px;--tile-cast-alpha:.36;width:var(--tile-width);height:var(--tile-height);border-radius:var(--tile-radius);box-shadow:1px 4px 5px 1px #0004038f, 3px 9px 13px #0007066b, var(--tile-cast-x) var(--tile-cast-y) var(--tile-cast-blur) rgba(0, 11, 9, var(--tile-cast-alpha));color:var(--tile-text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(#f1e8ca 0%,#d8c893 56%,#a9955e 100%);border:0;padding:0 4px 11px 0;transition:filter .15s,box-shadow .15s,opacity .18s;display:grid;position:absolute;transform:translateZ(0)}.mahjong-tile[data-layer="1"]{--tile-cast-x:7px;--tile-cast-y:19px;--tile-cast-blur:28px;--tile-cast-alpha:.4}.mahjong-tile[data-layer="2"]{--tile-cast-x:8px;--tile-cast-y:23px;--tile-cast-blur:33px;--tile-cast-alpha:.44}.mahjong-tile[data-layer="3"]{--tile-cast-x:10px;--tile-cast-y:28px;--tile-cast-blur:38px;--tile-cast-alpha:.48}.mahjong-tile:after{border-radius:calc(var(--tile-radius) - 2px);content:"";pointer-events:none;border:1px solid #a6915b94;position:absolute;inset:1px 5px 12px 1px;box-shadow:inset 0 0 0 1px #ffffffa6,inset 0 -5px 10px #b6965c1f}.tile-face{border-radius:calc(var(--tile-radius) - 2px);background:var(--tile-face);place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px 1px #ffffffe0,inset 0 -5px 9px #9e834924}.mahjong-tile img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.mahjong-tile[data-face-type=flower] img,.mahjong-tile[data-face-type=season] img{mix-blend-mode:multiply;width:118%;max-width:none;height:118%;max-height:none}.tile-fallback{font-family:Georgia,serif;font-size:15px;font-weight:700}.mahjong-tile[data-status=Default]:active{box-shadow:1px 3px 4px 1px #0004038a, 2px 7px 11px #00070666, var(--tile-cast-x) var(--tile-cast-y) var(--tile-cast-blur) rgba(0, 11, 9, var(--tile-cast-alpha))}.mahjong-tile[data-status=Selected]{box-shadow:1px 4px 5px 1px #0004038f, 3px 9px 13px #0007066b, var(--tile-cast-x) var(--tile-cast-y) var(--tile-cast-blur) rgba(0, 11, 9, var(--tile-cast-alpha)), 0 0 0 2px #f3d58f, 0 0 16px #efcc7ecc;background:#d0b36f}.mahjong-tile[data-status=Selected] .tile-face{background:var(--tile-face-selected)}.mahjong-tile[data-status=Blocked]{cursor:not-allowed;filter:saturate(.72)brightness(.82)}.mahjong-tile[data-status=Blocked] .tile-face{background:var(--tile-face-blocked)}.mahjong-tile[data-shaking=true]{animation:.32s ease-in-out blocked-shake}.mahjong-tile[data-hinted=true]{box-shadow:1px 4px 5px 1px #0004038f, 3px 9px 13px #0007066b, var(--tile-cast-x) var(--tile-cast-y) var(--tile-cast-blur) rgba(0, 11, 9, var(--tile-cast-alpha)), 0 0 0 2px var(--game-hint-accent), 0 0 18px #e1bf70e0;animation:.62s ease-in-out 2 hint-pulse}.mahjong-tile[data-status=Selected]:not([data-removing=true]){transform-origin:50%;animation:.38s cubic-bezier(.22,.78,.28,1) tile-select-jelly}.mahjong-tile[data-removing=true]{pointer-events:none;animation:.22s ease-in forwards tile-remove}.mahjong-tile[data-flight-hidden=true]{visibility:hidden;opacity:0;pointer-events:none;animation:none}.match-animation-layer{z-index:50;top:var(--game-header-height);right:0;bottom:var(--game-footer-height);pointer-events:none;contain:layout paint;isolation:isolate;position:absolute;left:0;overflow:hidden}.match-flight-tile{transform-origin:50%;will-change:transform, opacity;pointer-events:none!important;margin:0!important;position:absolute!important}.match-impact{aspect-ratio:1;pointer-events:none;will-change:transform, opacity;border:2px solid #ffefbcb8;border-radius:50%;width:clamp(28px,9vw,54px);position:absolute;box-shadow:0 0 13px #ffe59f73}.game-footer{z-index:20;background:var(--game-chrome-background);border-top:1px solid #c2a15ab8;grid-template-rows:28px 76px;display:grid;box-shadow:0 -5px 18px #01110e4d}.game-status{color:#fff8e9;border-bottom:1px solid #c2a15a3d;justify-content:center;align-items:center;gap:15px;font-size:13px;line-height:1;display:flex}.game-status>span{align-items:baseline;gap:6px;display:inline-flex}.game-status strong{font-variant-numeric:tabular-nums;font-size:15px}.status-label{color:#d6b66e;letter-spacing:.13em;text-transform:uppercase;font-family:Georgia,Times New Roman,serif;font-size:10px;font-weight:600}.game-status i{background:#c2a15a75;width:1px;height:16px}.game-toolbar{background:linear-gradient(180deg, #ffffff09, transparent), var(--game-control-background);border:1px solid #c2a15a66;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:calc(100% - 16px);max-width:900px;margin:6px auto 8px;display:grid;overflow:hidden;box-shadow:0 8px 20px #000f0c4d,inset 0 0 0 1px #fff6dd0a}.game-toolbar button{min-width:0;color:var(--game-control-foreground);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;border-right:1px solid #c2a15a42;place-items:center;padding:4px 4px 3px;font-size:10px;font-weight:650;transition:background-color .14s,color .14s,opacity .14s;display:grid}.game-toolbar button:last-child{border-right:0}.game-toolbar button:active:not(:disabled){color:#fff0c7;background:#f3d58f1a}.game-toolbar button:disabled{opacity:.36}.game-modal-layer{z-index:100000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#01120ead;place-items:center;padding:28px;display:grid;position:absolute;inset:0}.game-dialog{background:var(--game-dialog-background);width:min(100%,318px);color:var(--game-dialog-foreground);text-align:center;border:1px solid #c2a15aad;border-radius:20px;gap:10px;padding:27px 24px 22px;animation:.18s ease-out dialog-enter;display:grid;position:relative;box-shadow:0 24px 54px #0008068f,inset 0 0 0 1px #fff7e00d}.dialog-kicker{color:#d3b26a;letter-spacing:.14em;text-transform:uppercase;font-family:Georgia,Times New Roman,serif;font-size:11px;font-weight:700}.game-dialog>strong{font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:600}.game-dialog p{color:var(--game-muted-foreground);margin:0;font-size:13px;line-height:1.5}.dialog-close{color:#d6c9af;background:#ffffff0d;border:0;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid;position:absolute;top:10px;right:10px}.dialog-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px;display:grid}.dialog-actions:has(>button:only-child){grid-template-columns:1fr}.dialog-actions button{color:#102f28;background:#c49b49;border:1px solid #d0aa58;border-radius:11px;min-height:44px;padding:0 14px;font-size:13px;font-weight:750}.dialog-actions .secondary-action{color:#f4e5c7;background:#ffffff0a;border-color:#c2a15a6b}.dialog-actions button:disabled{opacity:.4}.audio-settings{gap:8px;margin-top:6px;display:grid}.audio-setting{min-height:54px;color:var(--game-dialog-foreground);text-align:left;-webkit-tap-highlight-color:transparent;background:#ffffff09;border:1px solid #c2a15a3d;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:9px 11px 9px 13px;display:grid}.audio-setting:focus-visible{outline:2px solid var(--game-hint-accent);outline-offset:2px}.audio-setting-copy{gap:2px;display:grid}.audio-setting-copy strong{font-size:13px}.audio-setting-copy small{color:var(--game-muted-foreground);font-size:11px}.audio-switch{background:#00000052;border:1px solid #ffffff29;border-radius:999px;width:38px;height:22px;transition:background .15s,border-color .15s;position:relative}.audio-switch span{background:#d8d1c1;border-radius:50%;width:16px;height:16px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px;box-shadow:0 2px 5px #0000004d}.audio-setting[aria-checked=true] .audio-switch{background:#c2a15ab8;border-color:#f0d394b8}.audio-setting[aria-checked=true] .audio-switch span{background:#fff4d8;transform:translate(16px)}.settings-summary{text-align:left;background:#0000001a;border:1px solid #c2a15a33;border-radius:12px;grid-template-columns:auto 1fr;gap:9px 14px;margin-top:8px;padding:14px;display:grid}.settings-summary span{color:var(--game-muted-foreground);font-size:12px}.settings-summary strong{color:#f3e4c5;justify-self:end;font-size:12px}.level-list{gap:9px;margin-top:9px;display:grid}.level-option{min-height:62px;color:var(--game-dialog-foreground);text-align:left;-webkit-tap-highlight-color:transparent;background:#ffffff09;border:1px solid #c2a15a42;border-radius:13px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 12px 8px 8px;display:grid}.level-option[data-active=true]{background:#c2a15a1f;border-color:#e1bf70c7;box-shadow:inset 0 0 0 1px #fff0c70d}.level-option-number{color:#10342c;background:#c49b49;border-radius:10px;place-items:center;width:44px;height:44px;font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:700;display:grid}.level-option-copy{gap:4px;min-width:0;display:grid}.level-option-copy strong{color:#f5e7ca;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.level-option-copy small{color:var(--game-muted-foreground);font-size:11px}.level-option-state{color:#e4c77e;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:750}@keyframes hint-pulse{50%{filter:brightness(1.12);box-shadow:1px 4px 5px 1px #00040394, 3px 10px 15px #00070670, var(--tile-cast-x) var(--tile-cast-y) var(--tile-cast-blur) rgba(0, 11, 9, var(--tile-cast-alpha)), 0 0 0 3px #f1d38c, 0 0 24px #e1bf70}}@keyframes blocked-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}@keyframes tile-select-jelly{0%,to{transform:scale(1)}34%{transform:scale(1.09,1.07)}52%{transform:scale(.98,1.035)}70%{transform:scale(1.025,.99)}86%{transform:scale(.995,1.01)}}@keyframes tile-remove{to{opacity:0;transform:scale(.86)}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(8px)scale(.98)}}@media (height<=780px){.mahjong-screen{--game-header-height:50px;--game-footer-height:94px}.game-header{padding-top:4px;padding-bottom:4px}.game-footer{grid-template-rows:26px 68px}.game-toolbar{margin-top:4px;margin-bottom:6px}}@media (prefers-reduced-motion:reduce){.mahjong-tile,.header-icon-button,.game-toolbar button{transition:none}.mahjong-tile[data-hinted=true],.mahjong-tile[data-status=Selected]{animation:none}.mahjong-tile[data-removing=true]{opacity:0;animation:none}.match-flight-tile{animation:none}.match-impact{display:none}.game-dialog{animation:none}}
