/* After Dark Studios Ltd - Mahjong Fantasy: Daily Puzzle v102 */
.daily-mahjong-page-v102{background:#030812;color:#eef8ff}.daily-mahjong-main-v102{overflow:hidden}.daily-mahjong-hero-v102{position:relative;padding-top:clamp(2rem,5vw,4.4rem);padding-bottom:clamp(.8rem,2vw,1.4rem);background:radial-gradient(circle at 18% 15%,rgba(0,143,255,.26),transparent 34%),radial-gradient(circle at 82% 22%,rgba(61,86,255,.21),transparent 36%)}.daily-mahjong-hero-v102:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,8,19,.44),#030812 94%),url('../images/mahjongfantasy/mahjongfantasy_banner.jpg') center 44%/cover no-repeat;opacity:.18;filter:saturate(.85) hue-rotate(175deg);pointer-events:none}.daily-mahjong-hero-copy-v102{position:relative;z-index:1;max-width:980px;margin:auto;text-align:center}.daily-mahjong-logo-link-v102{display:flex;width:max-content;max-width:100%;justify-content:center;align-items:center;margin:0 auto;border-radius:1rem}.daily-mahjong-logo-link-v102:focus-visible{outline:2px solid #6ee9ff;outline-offset:5px}.daily-mahjong-logo-v102{display:block;width:min(430px,78vw);max-height:150px;object-fit:contain;filter:drop-shadow(0 0 24px rgba(32,157,255,.26))}.daily-mahjong-kicker-v102{display:block;width:max-content;max-width:100%;margin:.4rem auto 0;color:var(--blue2,#6ee9ff);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.daily-mahjong-hero-v102 h1{font-size:clamp(2.25rem,6vw,5.55rem);line-height:.92;letter-spacing:-.055em;margin:.5rem auto .75rem;max-width:1100px}.daily-mahjong-hero-v102 h1 span{display:block}.daily-mahjong-hero-v102 h1 span+span{margin-top:.08em;font-size:.72em;letter-spacing:-.035em;color:#dff8ff}.daily-mahjong-hero-v102 .lead{max-width:780px;margin:.35rem auto .85rem;color:#c9d9ea}.daily-mahjong-stat-row-v102{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;max-width:760px;margin:.85rem auto 0}.daily-mahjong-stat-row-v102 span,.daily-mahjong-live-stats-v102 span,.daily-mahjong-win-stats-v102 span{display:grid;gap:.1rem;padding:.72rem .8rem;border:1px solid rgba(110,233,255,.15);border-radius:.9rem;background:rgba(8,20,40,.72);box-shadow:inset 0 0 20px rgba(29,140,255,.05)}.daily-mahjong-stat-row-v102 strong,.daily-mahjong-live-stats-v102 strong,.daily-mahjong-win-stats-v102 strong{color:#fff;font-size:1.1rem}.daily-mahjong-stat-row-v102 small,.daily-mahjong-live-stats-v102 small,.daily-mahjong-win-stats-v102 small{color:#7f9ab6;text-transform:uppercase;letter-spacing:.08em;font-size:.64rem}.daily-mahjong-game-section-v102{max-width:1500px;padding-top:.4rem;padding-left:clamp(.4rem,1vw,1rem);padding-right:clamp(.4rem,1vw,1rem);padding-bottom:.4rem}.daily-mahjong-game-shell-v102{padding:clamp(.55rem,1.35vw,1rem);border-color:rgba(110,233,255,.2);background:linear-gradient(180deg,rgba(9,25,48,.95),rgba(3,12,27,.985));box-shadow:0 25px 90px rgba(0,0,0,.36),0 0 70px rgba(29,140,255,.08)}.daily-mahjong-toolbar-v102{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:.6rem;align-items:center}.daily-mahjong-toolbar-v102 .daily-mahjong-kicker-v102{margin:0}.daily-mahjong-toolbar-v102 h2{margin:.2rem 0 0;font-size:clamp(1.5rem,3vw,2.6rem)}.daily-mahjong-live-stats-v102{display:grid;grid-template-columns:repeat(3,88px);gap:.45rem;text-align:center}.daily-mahjong-live-stats-v102 span{padding:.5rem .6rem}.daily-mahjong-controls-v102{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.daily-mahjong-message-v102{margin:.48rem 0 .38rem;color:#9fb7cf;font-size:.92rem;min-height:1.2em}.daily-mahjong-message-v102.is-warning{color:#ffd47c}.daily-mahjong-message-v102.is-success{color:#7fffd4}.daily-mahjong-board-wrap-v102{border:1px solid rgba(110,233,255,.13);border-radius:1rem;padding:clamp(.35rem,.9vw,.62rem);background:radial-gradient(circle at 50% 18%,rgba(35,140,255,.2),transparent 40%),radial-gradient(circle at 22% 70%,rgba(12,87,170,.17),transparent 34%),linear-gradient(160deg,#061d35,#04111f 55%,#071a32);box-shadow:inset 0 0 80px rgba(0,0,0,.42);overflow:hidden}.daily-mahjong-board-v102{position:relative;width:min(980px,100%);aspect-ratio:1.18/1;margin:0 auto;user-select:none;-webkit-user-select:none;touch-action:manipulation}.daily-mahjong-board-v102:before,.daily-mahjong-board-v102:after{content:"";position:absolute;pointer-events:none;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);border:1px solid rgba(110,233,255,.09);border-radius:18%}.daily-mahjong-board-v102:before{width:58%;aspect-ratio:1}.daily-mahjong-board-v102:after{width:40%;aspect-ratio:1;border-color:rgba(53,119,255,.10)}.mahjong-tile-v102{position:absolute;width:10.8%;height:15.9%;border:1px solid rgba(151,220,255,.72);border-radius:clamp(5px,.75vw,10px);padding:0;background:linear-gradient(145deg,#f9fdff 0%,#e1f3ff 48%,#b8d8ef 100%);color:#06111f;box-shadow:-2px 4px 0 #7ea4ba,-4px 7px 0 #41667d,0 11px 18px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.5);cursor:pointer;transition:transform .12s ease,filter .15s ease,opacity .16s ease,box-shadow .12s ease,border-color .12s ease}.mahjong-tile-v102:after{content:"";position:absolute;inset:5%;border:1px solid rgba(18,75,112,.20);border-radius:calc(clamp(5px,.75vw,10px) - 2px);pointer-events:none}.mahjong-tile-corner-v102{position:absolute;left:9%;top:7%;z-index:2;font-size:clamp(.9rem,2.5vw,1.75rem);font-weight:900;line-height:.82;letter-spacing:-.04em;color:#06203b;text-shadow:0 1px rgba(255,255,255,.7)}.mahjong-tile-symbol-v102{position:absolute;inset:0;display:grid;place-items:center;padding-top:5%;font-family:"Noto Serif CJK SC","Noto Serif CJK JP","Yu Mincho","Hiragino Mincho ProN","Times New Roman",serif;font-size:clamp(2rem,6.1vw,5.2rem);font-weight:800;line-height:.9;filter:drop-shadow(0 1px 0 rgba(255,255,255,.65))}.mahjong-tile-v102.suit-character .mahjong-tile-symbol-v102{color:#d13d45}.mahjong-tile-v102.suit-bamboo .mahjong-tile-symbol-v102{color:#15915e}.mahjong-tile-v102.suit-dot .mahjong-tile-symbol-v102{color:#087fc2;font-family:Georgia,serif;font-size:clamp(2.8rem,7vw,5.8rem)}.mahjong-tile-v102.dragon-red .mahjong-tile-symbol-v102{color:#d13d45}.mahjong-tile-v102.dragon-green .mahjong-tile-symbol-v102{color:#15915e}.mahjong-tile-v102.dragon-white .mahjong-tile-symbol-v102{color:#234f86;text-shadow:0 1px #fff,0 0 8px rgba(35,111,188,.12)}.mahjong-tile-v102.free:hover{transform:translateY(-3px);border-color:#6ee9ff;box-shadow:-2px 4px 0 #7ea4ba,-4px 7px 0 #41667d,0 17px 25px rgba(0,0,0,.4),0 0 20px rgba(29,140,255,.24)}.mahjong-tile-v102.blocked{cursor:default;filter:saturate(.56) brightness(.68);opacity:.78}.mahjong-tile-v102.selected{outline:3px solid #6ee9ff;outline-offset:1px;transform:translateY(-4px);filter:brightness(1.08);box-shadow:-2px 4px 0 #7ea4ba,-4px 7px 0 #41667d,0 0 25px rgba(29,140,255,.54),0 17px 25px rgba(0,0,0,.4)}.mahjong-tile-v102.removed{opacity:0;transform:scale(.72) translateY(-6px);pointer-events:none}.daily-mahjong-info-grid-v102{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:stretch;gap:.45rem}.daily-mahjong-info-card-v102,.daily-mahjong-promo-v102{padding:clamp(.9rem,1.7vw,1.2rem)}.daily-mahjong-info-card-v102 .daily-mahjong-kicker-v102{margin:0}.daily-mahjong-info-card-v102 h2,.daily-mahjong-promo-v102 h2{margin:.3rem 0 .7rem}.daily-mahjong-rules-v102{margin:.35rem 0 0;padding-left:1.25rem;display:grid;gap:.34rem;color:#aebfd1}.daily-mahjong-promo-v102{display:flex!important;flex-direction:column;justify-content:center;align-items:center!important;text-align:center;gap:.2rem;background:#02060d!important;color:#eef8ff!important;border-color:rgba(110,233,255,.2)!important}.daily-mahjong-promo-v102 p{margin:.1rem 0 .55rem!important;color:#b9cbdb!important}.daily-mahjong-promo-logo-v102{display:block!important;width:min(340px,88%)!important;max-height:130px!important;margin:0 auto .35rem!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;object-fit:contain!important;filter:drop-shadow(0 0 16px rgba(29,140,255,.24))}.daily-mahjong-promo-v102 .button{margin-top:.05rem!important;align-self:center;background:#02060d!important;color:#fff!important;border:1px solid rgba(110,233,255,.42)!important;box-shadow:inset 0 0 0 1px rgba(29,140,255,.08),0 0 20px rgba(29,140,255,.12)!important}.daily-mahjong-promo-v102 .button:hover,.daily-mahjong-promo-v102 .button:focus-visible{background:#07182a!important;border-color:#6ee9ff!important}.daily-mahjong-win-v102{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:rgba(1,5,13,.86);backdrop-filter:blur(10px)}.daily-mahjong-win-v102[hidden]{display:none}.daily-mahjong-win-card-v102{width:min(560px,94vw);padding:clamp(1.25rem,4vw,2rem);text-align:center;border:1px solid rgba(110,233,255,.35);border-radius:1.25rem;background:radial-gradient(circle at 50% 0,rgba(29,140,255,.2),transparent 38%),linear-gradient(160deg,#081b32,#030a16);box-shadow:0 30px 100px rgba(0,0,0,.62),0 0 60px rgba(29,140,255,.16)}.daily-mahjong-win-card-v102>img{display:block;width:min(320px,68vw);max-height:110px;object-fit:contain;margin:0 auto}.daily-mahjong-win-card-v102 .daily-mahjong-kicker-v102{margin:.45rem auto 0}.daily-mahjong-win-card-v102 h2{font-size:clamp(2rem,6vw,4rem);margin:.5rem 0 1rem}.daily-mahjong-win-stats-v102{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1rem 0}.daily-mahjong-win-card-v102 .button{display:block;width:100%;margin:.55rem 0}.daily-mahjong-win-card-v102 p{color:#a8bfd7}.daily-mahjong-page-v102 .site-footer{margin-top:.8rem}@media(max-width:900px){.daily-mahjong-toolbar-v102{grid-template-columns:1fr auto}.daily-mahjong-live-stats-v102{grid-column:1/2;grid-row:2}.daily-mahjong-controls-v102{grid-column:2;grid-row:1/3}.daily-mahjong-info-grid-v102{grid-template-columns:1fr}.daily-mahjong-promo-v102 .button{width:100%}.mahjong-tile-symbol-v102{font-size:clamp(2rem,6.8vw,4rem)}.mahjong-tile-v102.suit-dot .mahjong-tile-symbol-v102{font-size:clamp(2.5rem,7.5vw,4.5rem)}}@media(max-width:640px){.daily-mahjong-stat-row-v102{grid-template-columns:repeat(2,1fr);gap:.35rem}.daily-mahjong-hero-v102 h1{font-size:clamp(2.15rem,11vw,3.5rem)}.daily-mahjong-toolbar-v102{grid-template-columns:1fr}.daily-mahjong-live-stats-v102{grid-column:auto;grid-row:auto;grid-template-columns:repeat(3,1fr)}.daily-mahjong-controls-v102{grid-column:auto;grid-row:auto;justify-content:flex-start}.daily-mahjong-controls-v102 .button{flex:1}.daily-mahjong-board-wrap-v102{padding:.25rem}.daily-mahjong-board-v102{width:100%;aspect-ratio:1.02/1}.mahjong-tile-v102{width:11.2%;height:15.7%;border-radius:5px;box-shadow:-1px 3px 0 #7ea4ba,-3px 5px 0 #41667d,0 8px 12px rgba(0,0,0,.32)}.mahjong-tile-corner-v102{font-size:clamp(.78rem,4vw,1.05rem);left:8%;top:7%}.mahjong-tile-symbol-v102{font-size:clamp(1.65rem,8vw,2.55rem);padding-top:7%}.mahjong-tile-v102.suit-dot .mahjong-tile-symbol-v102{font-size:clamp(2rem,9vw,2.9rem)}.daily-mahjong-win-stats-v102{grid-template-columns:repeat(3,1fr)}}@media(prefers-reduced-motion:reduce){.mahjong-tile-v102{transition:none}}


/* v108: tile faces now visually match the numeric corner rank. */
.mahjong-tile-symbol-v102{padding-top:6%;}
.mahjong-character-face-v108{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:.72;transform:translateY(4%);}
.mahjong-character-number-v108{font-size:.62em;font-weight:900;color:#102d58;letter-spacing:-.08em;}
.mahjong-character-suit-v108{font-size:.72em;font-weight:900;color:#c93643;margin-top:.08em;}
.mahjong-bamboo-face-v108{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(3px,.55vw,8px);width:76%;height:72%;margin:auto;}
.mahjong-bamboo-stick-v108{position:relative;display:block;width:clamp(8px,1.45vw,17px);height:72%;border-radius:999px;background:linear-gradient(90deg,#0d6d45 0 16%,#2dbf77 18% 52%,#11794c 54% 76%,#0b5639 78% 100%);box-shadow:inset 0 0 0 1px rgba(0,69,39,.18),0 1px 1px rgba(255,255,255,.55);}
.mahjong-bamboo-stick-v108:before,.mahjong-bamboo-stick-v108:after{content:"";position:absolute;left:-10%;right:-10%;height:8%;border-radius:999px;background:#0c6a44;box-shadow:0 1px 0 rgba(255,255,255,.25);}
.mahjong-bamboo-stick-v108:before{top:31%;}.mahjong-bamboo-stick-v108:after{top:63%;}
.mahjong-bamboo-face-v108.mahjong-count-1-v108 .mahjong-bamboo-stick-v108{width:clamp(11px,1.8vw,21px);height:78%;}
.mahjong-bamboo-face-v108.mahjong-count-2-v108{gap:clamp(7px,1.25vw,14px);}
.mahjong-bamboo-face-v108.mahjong-count-3-v108{gap:clamp(3px,.75vw,8px);}
.mahjong-dot-face-v108{position:relative;display:block;width:72%;height:72%;margin:auto;}
.mahjong-dot-pip-v108{position:absolute;display:block;width:clamp(17px,3.1vw,34px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d9fbff 0 10%,#28a8df 12% 31%,#0875b7 33% 58%,#054e85 60% 78%,#082f58 80% 100%);box-shadow:inset 0 0 0 clamp(2px,.28vw,4px) rgba(0,49,89,.2),0 1px 2px rgba(0,0,0,.18);transform:translate(-50%,-50%);}
.mahjong-dot-face-v108.mahjong-count-1-v108 .mahjong-dot-pip-1-v108{left:50%;top:50%;width:clamp(23px,4.1vw,44px);}
.mahjong-dot-face-v108.mahjong-count-2-v108 .mahjong-dot-pip-1-v108{left:50%;top:28%;}
.mahjong-dot-face-v108.mahjong-count-2-v108 .mahjong-dot-pip-2-v108{left:50%;top:72%;}
.mahjong-dot-face-v108.mahjong-count-3-v108 .mahjong-dot-pip-1-v108{left:30%;top:27%;}
.mahjong-dot-face-v108.mahjong-count-3-v108 .mahjong-dot-pip-2-v108{left:70%;top:27%;}
.mahjong-dot-face-v108.mahjong-count-3-v108 .mahjong-dot-pip-3-v108{left:50%;top:72%;}
.mahjong-dragon-face-v108{display:grid;place-items:center;width:100%;height:100%;font-size:1em;}
.mahjong-tile-v102.suit-bamboo .mahjong-tile-symbol-v102,.mahjong-tile-v102.suit-dot .mahjong-tile-symbol-v102{font-family:Barlow,Arial,sans-serif;font-size:clamp(2rem,6vw,5rem);}

/* v108: larger, easier Undo / Restart controls. */
.daily-mahjong-controls-v102 .button{min-width:116px;min-height:50px;padding:.78rem 1.15rem;font-size:1rem;font-weight:800;}

/* v108: larger Mahjong Fantasy logo in Keep Playing panel. */
.daily-mahjong-promo-logo-v102{width:min(440px,96%)!important;max-height:175px!important;margin-bottom:.45rem!important;}

@media(max-width:640px){
  .mahjong-bamboo-stick-v108{width:clamp(6px,2vw,9px);}
  .mahjong-dot-pip-v108{width:clamp(13px,5vw,21px);}
  .mahjong-dot-face-v108.mahjong-count-1-v108 .mahjong-dot-pip-1-v108{width:clamp(18px,6vw,27px);}
  .daily-mahjong-controls-v102 .button{min-width:0;min-height:48px;padding:.72rem .8rem;font-size:.96rem;}
}


/* v110: stable shell, board watermark, and sharper/larger branding support. */
.daily-mahjong-game-shell-v102.card{transition:border-color .2s ease,box-shadow .2s ease!important}
.daily-mahjong-game-shell-v102.card:hover,.daily-mahjong-game-shell-v102.card:focus-within{transform:none!important}
.daily-mahjong-board-wrap-v102{position:relative;isolation:isolate}
.daily-mahjong-board-wrap-v102::after{content:"";position:absolute;left:7%;right:7%;top:7%;bottom:8%;pointer-events:none;z-index:0;background:url('../images/mahjongfantasy/mahjongfantasy_logo.png') center 54%/38% auto no-repeat;opacity:.06;filter:grayscale(1) brightness(1.75)}
.daily-mahjong-board-v102{position:relative;z-index:1}
@media(max-width:900px){.daily-mahjong-board-wrap-v102::after{background-size:46% auto;opacity:.064}}
@media(max-width:640px){.daily-mahjong-board-wrap-v102::after{left:4%;right:4%;top:5%;bottom:5%;background-size:56% auto;opacity:.06}}
