@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,600&display=swap";.mahjong{--mg-muted:#aeb7c6;color:var(--mg-paper);max-width:800px;margin:0 auto;padding:0 clamp(.2rem,2vw,1.25rem) 1rem;font-family:Arial,Helvetica,sans-serif}.mahjong,.mahjong *{box-sizing:border-box}.mahjong button,.mahjong input{font:inherit}.mahjong button{cursor:pointer}.mahjong button:focus-visible,.mahjong input:focus-visible{outline-offset:3px;outline:2px solid #f1d382}.mahjong__masthead{color:#faf7f0ad;letter-spacing:.15em;text-transform:uppercase;justify-content:space-between;align-items:center;max-width:1360px;margin:0 auto 1rem;font-family:Cinzel,Georgia,serif;font-size:.62rem;display:flex}.mahjong__masthead i{color:var(--mg-gold);font-style:normal}.mahjong__masthead button{color:inherit;font:inherit;background:0 0;border:0;font-size:.56rem}.mahjong__masthead button:hover{color:var(--mg-paper)}.mahjong__hud{background:linear-gradient(120deg,#04332ff5,#0a1f2cf0);border:1px solid #d9a33080;border-radius:14px;grid-template-columns:auto minmax(120px,1fr) auto auto minmax(140px,.8fr) auto auto;align-items:center;gap:clamp(.6rem,1.7vw,1.5rem);min-height:72px;padding:.6rem .85rem;display:grid;box-shadow:inset 0 1px #fff0c429,0 15px 40px #0000004d}.mahjong__level{color:#f6cf68;background:#021f1ddb;border:1px solid #e2b543b3;border-radius:8px;min-width:95px;padding:.42rem .65rem .36rem;font-family:Cinzel,Georgia,serif;font-size:.95rem;line-height:1.1}.mahjong__level small{color:#cddfcf;letter-spacing:.18em;margin-bottom:.18rem;font-family:Arial,sans-serif;font-size:.48rem;display:block}.mahjong__help{color:#f6cf68;background:#021f1ddb;border:1px solid #e2b543b3;border-radius:50%;justify-content:center;align-self:stretch;align-items:center;width:38px;min-height:38px;padding:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.35rem;line-height:1;transition:background .2s,border-color .2s;display:flex}.mahjong__help:hover{background:#e3b84e29;border-color:#f4d887}.mahjong__score,.mahjong__status,.mahjong__multiplier{gap:2px;min-width:0;display:grid}.mahjong__score span,.mahjong__status span,.mahjong__multiplier span{color:#aeb7c6;letter-spacing:.14em;font-family:Cinzel,Georgia,serif;font-size:.48rem}.mahjong__score strong{color:var(--mg-paper);letter-spacing:.02em;font-family:Cormorant Garamond,Georgia,serif;font-size:1.7rem;font-weight:600;line-height:.8}.mahjong__score small,.mahjong__status small{color:var(--mg-muted);font-family:Cormorant Garamond,Georgia,serif;font-size:.84rem}.mahjong__status,.mahjong__multiplier{border-left:1px solid #faf7f026;padding-left:.8rem}.mahjong__multiplier{grid-template-rows:auto 1fr;align-self:stretch;min-width:78px}.mahjong__multiplier strong{color:#f0d792;align-self:end;font-family:Cormorant Garamond,Georgia,serif;font-size:1.42rem;font-weight:700;line-height:.8}.mahjong__controls{gap:.3rem;display:flex}.mahjong__controls button{color:#ecedf0;letter-spacing:.03em;text-transform:uppercase;background:#faf7f00e;border:1px solid #faf7f02e;border-radius:3px;align-items:center;gap:.24rem;padding:.43rem .5rem;font-family:Cinzel,Georgia,serif;font-size:.55rem;transition:background .2s,border-color .2s;display:inline-flex}.mahjong__controls button:hover{background:#faf7f01c;border-color:#efcf81bf}.mahjong__controls button:first-child,.mahjong__controls button:nth-child(2){color:#e6c46d}.mahjong__controls button span{color:#ecedf0}.mahjong__controls b{color:var(--mg-navy);background:#e7c674;border-radius:20px;min-width:14px;padding:0 3px;font-family:Arial,sans-serif;font-size:.56rem;line-height:14px}.mahjong__theme{color:#8898af;letter-spacing:.04em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:.28rem;padding:0;font-family:Cinzel,Georgia,serif;font-size:.5rem;display:flex}.mahjong__theme span.is-active{color:var(--mg-paper)}.mahjong__theme i{border:1px solid #f0dcad91;border-radius:12px;width:22px;height:12px;position:relative}.mahjong__theme i:after{content:"";background:#e2bd66;border-radius:50%;width:6px;height:6px;transition:transform .2s;position:absolute;top:2px;left:2px}.mahjong:has(.mahjong__theme span:last-child.is-active) .mahjong__theme i:after{transform:translate(10px)}.mahjong__caption{color:#faf7f07a;letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;max-width:760px;margin:clamp(1.1rem,3vw,2.3rem) auto .5rem;font-family:Cinzel,Georgia,serif;font-size:.48rem;display:flex}.mahjong__board{--mg-depth:7px;--mg-unit:clamp(22px,calc((100vw - 22px)*.0625),36px);height:calc(var(--mg-rows)*var(--mg-unit)*.8 + var(--mg-unit)*2.66 + var(--mg-depth));touch-action:manipulation;width:min(100%,calc(var(--mg-columns)*var(--mg-unit) + var(--mg-depth)));background:radial-gradient(circle at 50% 38%,#1e766b 0,#084941fa 47%,#033a37 100%);border:1px solid #deaa3585;border-radius:13px;margin:0 auto;position:relative;overflow:visible;box-shadow:inset 0 0 0 2px #022221ad,inset 0 0 70px #00000061,0 22px 40px #00000052}.mahjong__board:before{content:"";pointer-events:none;border:1px solid #f5cc5e47;border-radius:8px;position:absolute;inset:8px}.mahjong__tile{--mg-base-x:calc((var(--mg-x) - var(--mg-columns)/2)*var(--mg-unit) - var(--mg-depth)/2 - var(--mg-z)*var(--mg-unit)*.16);--mg-base-y:calc(var(--mg-y)*var(--mg-unit)*.8 - var(--mg-z)*var(--mg-unit)*.16);border-radius:calc(var(--mg-unit)*.18);height:calc(var(--mg-unit)*2.66 + var(--mg-depth));transform:translate3d(var(--mg-base-x),var(--mg-base-y),0);transform-origin:50% 70%;width:calc(var(--mg-unit)*2 + var(--mg-depth));z-index:calc(var(--mg-z)*1000 + var(--mg-y));background:0 0;border:0;padding:0;transition:transform .16s,filter .16s,opacity .2s;position:absolute;top:10px;left:50%}.mahjong__tile:after{border-radius:0 calc(var(--mg-unit)*.14) calc(var(--mg-unit)*.14) 0;bottom:var(--mg-depth);content:"";right:0;top:calc(var(--mg-depth)*.55);width:var(--mg-depth);z-index:0;background:linear-gradient(90deg,#d6c49f,#987c48);border:1px solid #937a4c;border-left:0;position:absolute;box-shadow:4px 4px 7px #00000061}.mahjong__tile-edge{border-radius:0 0 calc(var(--mg-unit)*.17) calc(var(--mg-unit)*.17);height:var(--mg-depth);bottom:0;left:0;right:var(--mg-depth);z-index:0;background:linear-gradient(#eadfc8,#a48751);border:1px solid #aa8d58;border-top:0;position:absolute;box-shadow:0 5px 8px #00000061}.mahjong__tile-face{border-radius:calc(var(--mg-unit)*.12);bottom:var(--mg-depth);left:0;right:var(--mg-depth);z-index:1;background:linear-gradient(108deg,#e8dcc5,#f7f3ea 16% 78%,#e5d7bd);border:1px solid #583e1380;place-items:center;transition:box-shadow .16s,filter .16s;display:grid;position:absolute;top:0;overflow:hidden;box-shadow:inset 0 0 0 2px #14213d38,inset 0 0 0 4px #ffffff7a,inset 0 12px 14px #fff3,0 6px 11px #0000004f}.mahjong__tile.is-free:hover{filter:brightness(1.08);transform:translate3d(var(--mg-base-x),calc(var(--mg-base-y) - 5px),0);z-index:4000}.mahjong__tile.is-covered .mahjong__tile-face:after{content:"";background:linear-gradient(135deg,#bd8a188a,#06312d73);position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffda6552}.mahjong__tile.is-selected{transform:translate3d(var(--mg-base-x),calc(var(--mg-base-y) - 9px),0);z-index:5000}.mahjong__tile.is-selected .mahjong__tile-face{box-shadow:0 0 0 3px #f3ca55,0 0 23px 5px #e8c25bcc,inset 0 0 0 2px #b9954a}.mahjong__tile.is-invalid{z-index:5500;animation:.18s linear both mg-shake}.mahjong__tile.is-matching{pointer-events:none;z-index:5600;animation:.25s ease-out both mg-match}.mahjong__tile.is-hint{z-index:4990;animation:1s ease-in-out 3 mg-hint}.mahjong__tile.is-hint .mahjong__tile-face{box-shadow:0 0 0 3px #f2c94c,0 0 25px 8px #ebc456b8,inset 0 0 0 2px #b9954a}.mahjong__tile.is-scrambling{animation:.6s cubic-bezier(.4,0,.2,1) both mg-riffle;animation-delay:calc((var(--mg-x) + var(--mg-y))* -9ms)}.mahjong__tile svg{color:var(--mg-ink);width:100%;height:100%}.mahjong__tile .tile-glyph{fill:none;stroke:var(--tile-accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:3.5px}.mahjong__tile .tile-glyph--filled{fill:var(--tile-accent);stroke:var(--tile-accent)}.mahjong__tile .tile-glyph--disco circle{fill:var(--tile-accent);stroke:var(--mg-ink);stroke-width:1.1px}.mahjong__tile .tile-glyph--disco path{fill:none;stroke:#f8eecf;stroke-width:1.15px}.mahjong__tile .tile-glyph--anthem{fill:none;stroke-width:2.4px}.mahjong__tile .tile-glyph--destination rect{fill:var(--mg-navy);stroke:var(--tile-accent);stroke-width:1.5px}.mahjong__tile .tile-glyph--destination text{fill:var(--tile-accent);letter-spacing:-.6px;stroke:none;font-family:Arial,sans-serif;font-size:12px;font-weight:800}.mahjong__rule{color:#faf7f078;text-align:center;margin:1rem auto 0;font-family:Cormorant Garamond,Georgia,serif;font-size:.9rem}.mahjong__toast{bottom:calc(76px + env(safe-area-inset-bottom));color:var(--mg-paper);letter-spacing:.08em;text-transform:uppercase;z-index:8000;background:#0c1c33f0;border:1px solid #efcf818c;border-radius:3px;padding:.62rem 1rem;font-family:Cinzel,Georgia,serif;font-size:.6rem;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000004d}.mahjong__overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10000;background:#040c19ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.mahjong__modal{background:var(--mg-paper);color:var(--mg-ink);text-align:center;border:1px solid #be9c4ea6;border-radius:4px;width:100%;max-width:450px;padding:clamp(1.75rem,5vw,3rem);position:relative;box-shadow:0 28px 80px #00000061}.mahjong__modal>p,.mahjong__drawer>p{color:var(--mg-gold);letter-spacing:.18em;text-transform:uppercase;margin:0 0 .65rem;font-family:Cinzel,Georgia,serif;font-size:.55rem}.mahjong__modal h2,.mahjong__drawer h2{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,5vw,2.7rem);font-weight:600;line-height:.95}.mahjong__modal>span{color:#42516b;margin:1rem auto 0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.13rem;line-height:1.25;display:block}.mahjong__modal footer{justify-content:center;gap:.55rem;margin-top:1.75rem;display:flex}.mahjong__modal footer button,.mahjong__drawer form button{background:var(--mg-navy);border:1px solid var(--mg-navy);color:var(--mg-paper);letter-spacing:.07em;text-transform:uppercase;border-radius:2px;padding:.64rem .85rem;font-family:Cinzel,Georgia,serif;font-size:.6rem}.mahjong__modal footer button.is-quiet{color:var(--mg-navy);background:0 0}.mahjong__modal-close{color:var(--mg-navy);background:0 0;border:0;padding:.2rem;font-size:1.8rem;line-height:1;position:absolute;top:.55rem;right:.6rem}.mahjong__instructions{text-align:left;border-top:1px solid #d6c49b;gap:.75rem;margin:1.25rem 0 0;padding:1rem 0 0;list-style:none;display:grid}.mahjong__instructions li{color:#42516b;align-items:flex-start;gap:.7rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.05rem;line-height:1.2;display:flex}.mahjong__instructions li>b{background:var(--mg-navy);color:var(--mg-paper);border-radius:50%;flex:none;justify-content:center;align-items:center;width:23px;height:23px;font-family:Cinzel,Georgia,serif;font-size:.55rem;display:flex}.mahjong__instructions strong,.mahjong__instructions-score strong{color:var(--mg-navy)}.mahjong__instructions-score{color:#58637a;text-align:left;margin:1rem 0 0;font-family:Cormorant Garamond,Georgia,serif;font-size:1rem;line-height:1.2}.mahjong__banked{color:var(--mg-navy);margin:1.2rem 0 .3rem;font-family:Cormorant Garamond,Georgia,serif;font-size:3.25rem;line-height:.8;display:block}.mahjong__banked small{color:#7c6b51;letter-spacing:.1em;text-transform:uppercase;font-family:Cinzel,Georgia,serif;font-size:.55rem}.mahjong__modal dl{text-align:left;border-top:1px solid #d6c49b;gap:.3rem;margin:1.7rem auto 0;padding-top:.85rem;display:grid}.mahjong__modal dl div{color:#42516b;justify-content:space-between;font-family:Cormorant Garamond,Georgia,serif;font-size:1rem;display:flex}.mahjong__modal dd{color:var(--mg-navy);margin:0;font-weight:700}.mahjong__drawer-backdrop{z-index:9000;background:#030a1480;border:0;position:fixed;inset:0}.mahjong__drawer{background:var(--mg-paper);color:var(--mg-ink);z-index:9001;width:min(400px,92vw);padding:1.9rem;position:fixed;top:0;bottom:0;left:0;overflow:auto;box-shadow:12px 0 50px #0000005c}.mahjong__drawer header{justify-content:space-between;align-items:flex-start;display:flex}.mahjong__drawer header button{color:var(--mg-navy);background:0 0;border:0;font-size:1.6rem;line-height:1}.mahjong__drawer form{margin:2rem 0 1.7rem}.mahjong__drawer form label{color:#53617a;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.45rem;font-family:Cinzel,Georgia,serif;font-size:.55rem;display:block}.mahjong__drawer form div{gap:.45rem;display:flex}.mahjong__drawer input{color:var(--mg-navy);background:0 0;border:1px solid #b9aa8d;flex:1;min-width:0;padding:.52rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.3rem}.mahjong__completed{border-top:1px solid #d9c8a1;padding-top:.5rem}.mahjong__completed button{color:var(--mg-navy);text-align:left;background:0 0;border:0;border-bottom:1px solid #14213d1c;justify-content:space-between;width:100%;padding:.65rem 0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.15rem;display:flex}.mahjong__completed button b{color:#817150;font-family:Cinzel,Georgia,serif;font-size:.6rem}.mahjong__completed em{color:#68758a;padding:.8rem 0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.08rem;display:block}@keyframes mg-hint{50%{filter:brightness(1.12);transform:translate3d(var(--mg-base-x),calc(var(--mg-base-y) - 6px),0) scale(1.035)}}@keyframes mg-riffle{0%{opacity:1}45%{opacity:.15;transform:translate3d(calc(var(--mg-base-x) + 20px),calc(var(--mg-base-y) - 20px),0) rotate(4deg)}to{opacity:1}}@keyframes mg-shake{20%,60%{transform:translate3d(calc(var(--mg-base-x) - 4px),var(--mg-base-y),0)}40%,80%{transform:translate3d(calc(var(--mg-base-x) + 4px),var(--mg-base-y),0)}}@keyframes mg-match{0%{opacity:1;transform:translate3d(var(--mg-base-x),var(--mg-base-y),0)}45%{filter:brightness(1.28);transform:translate3d(var(--mg-base-x),calc(var(--mg-base-y) - 11px),0) scale(1.04)}to{opacity:0;transform:translate3d(var(--mg-base-x),calc(var(--mg-base-y) - 18px),0) scale(1.06)}}@media (width<=1020px){.mahjong__hud{grid-template-columns:auto 1fr auto auto auto}.mahjong__status,.mahjong__theme{display:none}}@media (width<=680px){.site-surface:has(.mahjong){background:#063a37;min-height:100svh}:is(.site-surface:has(.mahjong) .atmosphere,.site-surface:has(.mahjong) .top-bar,.site-surface:has(.mahjong) .bottom-nav,.page-content:has(.mahjong)>.return-link){display:none}.site-surface:has(.mahjong) .page-content{max-width:none;padding:calc(.5rem + env(safe-area-inset-top)) .5rem calc(1rem + env(safe-area-inset-bottom))}.mahjong{max-width:420px;padding:0 0 6rem}.mahjong__masthead{background:#022f2cdb;border:1px solid #edbe4061;border-radius:999px;align-items:center;margin:0 auto .45rem;padding:.48rem .75rem;font-size:.46rem;display:flex}.mahjong__masthead button{font-size:.46rem}.mahjong__hud{grid-template-columns:auto minmax(0,1fr) auto auto;gap:.35rem;min-height:63px;padding:.42rem .55rem}.mahjong__level{min-width:61px;padding:.35rem .45rem;font-size:.78rem}.mahjong__score strong{font-size:1.65rem}.mahjong__score small{font-size:.71rem}.mahjong__help{width:32px;min-height:32px}.mahjong__multiplier{min-width:58px;padding-left:.4rem}.mahjong__multiplier span{letter-spacing:.06em;font-size:.38rem}.mahjong__multiplier strong{font-size:1.2rem}.mahjong__controls{bottom:calc(.75rem + env(safe-area-inset-bottom));z-index:8010;background:linear-gradient(#053530f7,#031f1ffa);border:1px solid #dca93280;border-radius:999px;justify-content:center;gap:.55rem;padding:.42rem .7rem;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #0000006b}.mahjong__controls button{background:radial-gradient(circle at 35% 28%,#826a32,#3a2118 72%);border:2px solid #b47a28;border-radius:50%;justify-content:center;width:47px;height:47px;padding:0;font-size:0;box-shadow:inset 0 1px #ffe8a06b,0 4px 8px #0006}.mahjong__controls button span{display:none}.mahjong__controls button b{color:#fff6df;background:#d7452d;border:2px solid #f6be55;min-width:17px;padding:0 3px;font-size:.56rem;line-height:15px;position:absolute;top:-5px;right:-2px}.mahjong__controls button:before{color:#fff1c7;font-family:Arial,sans-serif;font-size:1.35rem;font-weight:700}.mahjong__controls button:first-child:before{content:"✦"}.mahjong__controls button:nth-child(2):before{content:"↺"}.mahjong__controls button:nth-child(3):before{content:"↻"}.mahjong__caption,.mahjong__rule{display:none}.mahjong__toast{bottom:calc(5.2rem + env(safe-area-inset-bottom));text-align:center;max-width:90vw;font-size:.48rem}.mahjong__board{margin-top:.25rem}.mahjong__tile{top:9px}}.mahjong__controls--deck{display:none}.mahjong__board{background:radial-gradient(at 50% 42%,#0c727770,#0224301f 70%);border-color:#69efe53d;box-shadow:inset 0 0 0 2px #011c2347,inset 0 0 70px #0000003d,0 22px 40px #00000052}.mahjong__board:before{border-color:#89f7ed26}.mahjong__tile-face{background:linear-gradient(135deg,#fffef9,#f3f7ee);border-color:#114866b3;box-shadow:inset 0 0 0 2px #ffffffd1,inset 0 -6px 11px #10485c1a,0 7px 14px #0000006b}.mahjong__tile.is-free .mahjong__tile-face{border-color:#1b6682e0;box-shadow:inset 0 0 0 2px #ffffffd1,inset 0 -6px 11px #10485c1a,0 8px 15px #00000073}.mahjong__tile svg{z-index:2;position:relative}.mahjong__tile .tile-wash{fill:var(--tile-wash);opacity:.94;stroke:#14213d24;stroke-width:1px}.mahjong__tile .tile-glyph{stroke-width:4.1px}.mahjong__tile .tile-glyph--anthem{fill:var(--tile-accent);stroke:var(--mg-ink);stroke-width:1.15px}.mahjong__tile .tile-glyph--disco circle{stroke-width:1.45px}.mahjong__tile.is-covered{filter:none;opacity:1}.mahjong__tile.is-covered .mahjong__tile-face svg{opacity:0}.mahjong__tile.is-covered .mahjong__tile-face:before{content:"";z-index:1;background:radial-gradient(circle at 20% 23%,#ffffff94 0 1px,#0000 2px),radial-gradient(circle at 76% 72%,#ffffff5c 0 1px,#0000 2px),linear-gradient(135deg,#0000 0 43%,#ffffff2e 44% 47%,#0000 48%);position:absolute;inset:5px}.mahjong__tile.is-covered .mahjong__tile-face:after{box-shadow:none;content:"";z-index:1;background:linear-gradient(160deg,#ffffff38,#0000 38%,#00217c2b);position:absolute;inset:0}@media (width<=680px){.mahjong{padding-bottom:1.25rem}.mahjong__controls--hud{display:none}.mahjong__controls--deck{z-index:4;background:linear-gradient(#053530f7,#031f1ffa);border:1px solid #dca93280;border-radius:999px;justify-content:center;gap:.55rem;width:max-content;margin:2.35rem auto 0;padding:.42rem .7rem;display:flex;position:relative;box-shadow:0 12px 28px #0000006b}.mahjong__controls--deck button{background:radial-gradient(circle at 35% 28%,#826a32,#3a2118 72%);border:2px solid #b47a28;border-radius:50%;justify-content:center;width:47px;height:47px;padding:0;font-size:0;box-shadow:inset 0 1px #ffe8a06b,0 4px 8px #0006}.mahjong__controls--deck button span{display:none}.mahjong__controls--deck button b{color:#fff6df;background:#d7452d;border:2px solid #f6be55;min-width:17px;padding:0 3px;font-size:.56rem;line-height:15px;position:absolute;top:-5px;right:-2px}.mahjong__controls--deck button:before{color:#fff1c7;font-family:Arial,sans-serif;font-size:1.35rem;font-weight:700}.mahjong__controls--deck button:first-child:before{content:"✦"}.mahjong__controls--deck button:nth-child(2):before{content:"↺"}.mahjong__controls--deck button:nth-child(3):before{content:"↻"}.mahjong__toast{bottom:calc(1rem + env(safe-area-inset-bottom))}}.mahjong__board{--mg-unit:clamp(20px,calc((100vw - 22px)*.0714286),40px)}.mahjong__return{display:none}.mahjong__tile.is-free .mahjong__tile-face:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(135deg,#ffffff61,#0000 37%,#ffffff29);position:absolute;inset:5px}.mahjong__tile.is-free svg{filter:drop-shadow(0 1.5px #ffffffb3)drop-shadow(0 2px 2px #14213d29);transform:scale(1.075)}.mahjong__tile .tile-wash{stroke:#14213d33;stroke-width:1.25px}@media (width<=680px){.mahjong__masthead{grid-template-columns:auto 1fr auto;display:grid}.mahjong__masthead>span{justify-self:center}.mahjong__return{color:#f2cc72;letter-spacing:.1em;text-transform:uppercase;font-family:Cinzel,Georgia,serif;font-size:.48rem;text-decoration:none;display:block}.mahjong__return:hover{color:#fff4cd}}.mahjong__board{--mg-row-step:.8;height:calc(var(--mg-rows)*var(--mg-unit)*var(--mg-row-step) + var(--mg-unit)*2.66 + var(--mg-depth))}.mahjong__tile{--mg-base-y:calc(var(--mg-y)*var(--mg-unit)*var(--mg-row-step) - var(--mg-z)*var(--mg-unit)*.16)}.mahjong__tile .tile-fill{fill:var(--tile-accent);stroke:var(--tile-accent)}.mahjong__tile .flag-red{fill:#ed394f;stroke:none}.mahjong__tile .flag-orange{fill:#f58228;stroke:none}.mahjong__tile .flag-yellow{fill:#f3c944;stroke:none}.mahjong__tile .flag-green{fill:#2caa64;stroke:none}.mahjong__tile .flag-blue{fill:#3472c9;stroke:none}.mahjong__tile .flag-purple{fill:#8651af;stroke:none}.mahjong__tile .flag-france-blue{fill:#2450a4;stroke:none}.mahjong__tile .flag-france-white{fill:#fffdf8;stroke:none}.mahjong__tile .flag-france-red{fill:#e84252;stroke:none}.mahjong__tile .flag-us{fill:#f8f5ed;stroke:#c43f4d;stroke-width:2.4px}.mahjong__tile .flag-us-canton{fill:#29468c;stroke:none}.mahjong__tile .grindr-mask{fill:#f2a61c;stroke:#8f4c11;stroke-width:1.5px}.mahjong__tile .grindr-eye{fill:none;stroke:#fff9e9;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}@media (width<=680px){.mahjong__board{--mg-row-step:.62}.mahjong__tile.is-top .mahjong__tile-face{box-shadow:inset 0 0 0 2px #ffffffd1,inset 0 -6px 11px #10485c1a,0 10px 18px #0000007a}}.mahjong__board{--mg-unit:clamp(18px,min(calc((100vw - 22px)*.0625),calc((100svh - 13.5rem)*.0463)),32px);--mg-row-step:1.08;height:calc(var(--mg-rows)*var(--mg-unit)*var(--mg-row-step) + var(--mg-unit)*2.14 + var(--mg-depth))}.mahjong__tile{--mg-base-y:calc(var(--mg-y)*var(--mg-unit)*var(--mg-row-step) - var(--mg-z)*var(--mg-unit)*.36);height:calc(var(--mg-unit)*2.14 + var(--mg-depth))}.mahjong__tile-emoji{filter:drop-shadow(0 2px 1px #ffffffd9)drop-shadow(0 3px 3px #14213d2e);font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:calc(var(--mg-unit)*1.52);z-index:2;line-height:1;position:relative;transform:translateY(-1px)}.mahjong__tile-art{object-fit:contain;z-index:2;width:72%;height:72%;position:relative}.mahjong__tile-label{color:#ffd766;font-family:Arial,sans-serif;font-size:calc(var(--mg-unit)*.32);letter-spacing:-.03em;text-align:center;z-index:3;background:#14213d;border:1px solid #d4a72a;border-radius:4px;padding:.22em .28em;font-weight:900;line-height:1;position:absolute;bottom:8%;left:8%;right:8%}.mahjong__tile.is-covered .mahjong__tile-face{background:linear-gradient(145deg,#d7f8fb,#a7d8f5);border-color:#66b9d7;box-shadow:inset 0 0 0 2px #ffffffc7,inset 0 -8px 15px #1b5d9c29,0 7px 13px #0000005c}.mahjong__tile.is-covered .mahjong__tile-emoji,.mahjong__tile.is-covered .mahjong__tile-art{filter:saturate(.7)brightness(.92);opacity:.58;transform:scale(.92)}.mahjong__tile.is-covered .mahjong__tile-face:before,.mahjong__tile.is-covered .mahjong__tile-face:after{opacity:.18}@media (width<=680px){.mahjong__board{--mg-row-step:1.08;max-height:none;overflow:visible}.mahjong__controls--deck{margin-top:.8rem}}.mahjong__tile:disabled{cursor:default}.mahjong__tile.is-covered{cursor:not-allowed}.mahjong__tile-lock{font-size:calc(var(--mg-unit)*.34);z-index:4;background:#05304cd1;border:1px solid #ffffffdb;border-radius:50%;padding:.14em;line-height:1;position:absolute;top:7%;right:7%;box-shadow:0 2px 5px #00000052}@media (width<=680px){.site-surface:has(.mahjong) .page-content{padding-bottom:0;padding-left:0;padding-right:0}.mahjong{max-width:none;padding:0 0 calc(5.4rem + env(safe-area-inset-bottom));width:100%}.mahjong__board{--mg-unit:clamp(18px,min(calc((100vw - 16px)*.0714286),calc((100svh - 13rem)*.043)),34px);--mg-row-step:1.25;height:calc(var(--mg-y-span)*var(--mg-unit)*var(--mg-row-step) + var(--mg-unit)*2.22 + var(--mg-depth) + 10px);margin-top:.15rem}.mahjong__tile{height:calc(var(--mg-unit)*2.22 + var(--mg-depth))}.mahjong__controls--deck{bottom:calc(.7rem + env(safe-area-inset-bottom));z-index:8010;margin:0;position:fixed;left:50%;transform:translate(-50%)}.mahjong__toast{bottom:calc(4.75rem + env(safe-area-inset-bottom))}}.mahjong__modal--complete{max-width:490px;padding:clamp(1rem,3vw,1.6rem)}.mahjong__modal--complete>p:first-child{margin-bottom:.38rem}.mahjong__modal--complete h2{font-size:clamp(1.7rem,4.4vw,2.25rem)}.mahjong__skill-level{text-align:left;background:linear-gradient(135deg,#f4e7c5,#fbf8ef 55%,#dfe6ef);border:1px solid #b991419e;align-items:center;gap:.85rem;max-width:365px;margin:.85rem auto .68rem;padding:.48rem;display:flex;box-shadow:inset 0 0 0 3px #ffffff94,0 10px 25px #0c1f3524}.mahjong__skill-level img{object-fit:cover;flex:none;width:123px;height:154px;display:block;box-shadow:0 5px 14px #09182a4d}.mahjong__skill-level div{gap:.22rem;min-width:0;display:grid}.mahjong__skill-level span{color:#9f7931;letter-spacing:.14em;text-transform:uppercase;font-family:Cinzel,Georgia,serif;font-size:.5rem}.mahjong__skill-level strong{color:var(--mg-navy);font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.48rem,4vw,1.85rem);font-weight:700;line-height:.9}.mahjong__skill-level small{color:#4c5d73;font-family:Cormorant Garamond,Georgia,serif;font-size:1rem;line-height:1.05}.mahjong__modal--complete .mahjong__banked{margin:.5rem 0 .18rem;font-size:2.6rem}.mahjong__modal--complete dl{margin-top:.85rem;padding-top:.55rem}.mahjong__share-status{color:#5d705d;min-height:1.05rem;margin:.5rem 0 0;font-family:Cormorant Garamond,Georgia,serif;font-size:.94rem}.mahjong__modal--complete footer{margin-top:.65rem}@media (width<=480px){.mahjong__overlay{padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));align-items:start;overflow:auto}.mahjong__modal--complete{margin:auto 0}.mahjong__skill-level{gap:.62rem;margin-top:.62rem}.mahjong__skill-level img{width:104px;height:130px}.mahjong__skill-level strong{font-size:1.45rem}.mahjong__modal--complete .mahjong__banked{font-size:2.25rem}}.mahjong__multiplier{grid-template-columns:1fr auto;align-content:center;gap:.16rem;display:grid}.mahjong__multiplier>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mahjong__sparkle-meter{background:#ffffff3d;border-radius:999px;grid-column:1/-1;height:3px;overflow:hidden}.mahjong__sparkle-meter b{background:#f3cc76;height:100%;transition:width .2s;display:block}.mahjong__tile.is-upper .mahjong__tile-face{box-shadow:inset 0 0 0 2px #ffffffd1,0 9px 12px #00000073}.mahjong__tile.is-top .mahjong__tile-face{box-shadow:inset 0 0 0 2px #ffffffe0,0 13px 18px #00000080}.mahjong__tile.is-fabulous .mahjong__tile-face{outline-offset:-2px;outline:2px solid #dfbe68}.mahjong__fabulous-mark{color:#ffe3a0;z-index:4;background:#14213d;border-radius:50%;padding:1px 3px;font-size:.8rem;position:absolute;top:6%;left:9%}.mahjong__tile.is-matching[class*=effect-] .mahjong__tile-face:before{content:"";z-index:5;background:linear-gradient(110deg,#0000,#fff6cba6,#0000);animation:.3s ease-out both mahjong-micro-sweep;position:absolute;inset:0}.mahjong__tile.is-matching.effect-pride .mahjong__tile-face:before{background:linear-gradient(110deg,#ee4d6444,#eecc6744,#64bcbd55,#ac89dc55)}.mahjong__tile.is-matching.effect-fire .mahjong__tile-face:before{background:radial-gradient(#efb75eaa,#0000)}@keyframes mahjong-micro-sweep{0%{opacity:0;transform:translate(-30%)}45%{opacity:1}to{opacity:0;transform:translate(30%)}}.mahjong__journey{color:#304b53;text-align:left;border-top:1px solid #d6c49b;gap:.28rem;margin-top:.9rem;padding-top:.7rem;font-family:Georgia,serif;display:grid}.mahjong__journey strong{font-size:1.25rem}.mahjong__journey small{color:#61716d}@media (prefers-reduced-motion:reduce){.mahjong__sparkle-meter b,.mahjong__tile.is-matching[class*=effect-] .mahjong__tile-face:before{transition:none;animation:none}}
