*{box-sizing:border-box;}html,body{margin:0;min-height:100%;background:#03121e;}body{color:var(--rosa-text);font-family:var(--rosa-font-interface);background:linear-gradient(#03121e77,#03121ecc),url('../../assets/footer-panorama.webp') center/cover fixed;}button,select,input{font:inherit;}button{cursor:pointer;}[hidden]{display:none!important;}.sol-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
#solitaire-app{padding:max(10px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));max-width:2200px;margin:auto;}#solitaire-app .rosa-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 13px;background:var(--rosa-menu-item-fill);}#solitaire-app .rosa-button--primary{background:var(--rosa-primary-fill);color:#151f25;box-shadow:inset 0 2px #fff3cc,0 3px 0 #765120,0 6px 10px #0006;}#solitaire-app .rosa-art-icon{width:29px;height:29px;object-fit:contain;pointer-events:none;}
#solitaire-app .sol-header{position:relative;display:flex;align-items:center;gap:24px;padding:8px 20px;border:1px solid var(--rosa-gold);border-radius:17px;background:var(--rosa-menu-fill);box-shadow:inset 0 0 0 3px #d7a64b22,0 6px 20px #0008;}.sol-header::after{content:'';position:absolute;inset:-1px;border:0 solid transparent;border-image:url('../../assets/mahjong-reference/filigree-frame.webp') 115 / 32px / 0 stretch;pointer-events:none;}.sol-brand{padding-right:25px;border-right:1px solid #d7a64b44;}.sol-brand img{width:165px;height:auto;display:block;}#solitaire-app .sol-header nav{display:flex;align-self:stretch;max-width:560px;}#solitaire-app .sol-header nav button{flex-direction:column;flex:1;max-width:none;min-width:88px;padding:3px 15px;font-size:12px;gap:3px;background:none;}#solitaire-app .sol-header nav .rosa-art-icon{width:31px;height:31px;}#solitaire-app .sol-header .rosa-current{background:radial-gradient(ellipse at bottom,#d7a64b66,transparent 80%);}.sol-header-actions{display:flex;align-items:center;gap:10px;margin-left:auto;}#solitaire-app .sol-header-actions button{min-width:44px;width:44px;height:44px;padding:8px;border-radius:50%;font-size:26px;}#solitaire-app .sol-header-actions [data-sol]{display:none;}.sol-header-actions #language{background:#041b2c;color:var(--rosa-ivory);border:1px solid #d7a64b77;border-radius:10px;padding:9px;font-size:12px;min-height:44px;max-width:120px;}#language-host{display:flex;align-items:center;}
#solitaire-app main{max-width:1760px;margin:13px auto 0;}.sol-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;padding:0 5px;}.sol-eyebrow{font-size:9px;color:var(--rosa-gold-light);letter-spacing:2.7px;margin:0 0 5px;}.sol-heading h1{font-family:var(--rosa-font-display);font-size:clamp(30px,3vw,48px);line-height:1.1;letter-spacing:1px;margin:0;text-transform:uppercase;filter:drop-shadow(0 2px #593c20) drop-shadow(0 3px 3px #0009);}.sol-tabs{display:flex;gap:8px;}#solitaire-app .sol-tabs button{padding:12px 20px;font-size:14px;}.sol-tabs button[aria-pressed=true]{background:var(--rosa-primary-fill)!important;color:#15252a!important;box-shadow:inset 0 2px #fff2c1,0 2px 0 #845a22;}
#solitaire-app .sol-hud{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:13px 25px;margin-bottom:15px;}.sol-hud>div:not(.sol-daily){display:flex;flex-direction:column;gap:5px;}.sol-hud small{font-size:10px;color:var(--rosa-text-muted);letter-spacing:.4px;}.sol-hud output{font:650 21px/1.1 var(--rosa-font-numbers);font-variant-numeric:tabular-nums;color:var(--rosa-gold-light);}.sol-variant strong{font-size:16px;}.sol-variant small{font-size:11px;}.sol-daily .rosa-button{font-size:12px!important;}.sol-daily .rosa-art-icon{width:27px!important;height:27px!important;}
.sol-table-frame{position:relative;border:5px solid #b98d40;border-radius:23px;padding:9px;background:linear-gradient(135deg,#f1d587,#5e3e1a 30%,#c49a46 60%,#533719);box-shadow:inset 0 0 0 2px #ffe4a1,0 4px 0 #4d3317,0 7px 0 #c29a49,0 18px 30px #000b;isolation:isolate;}.sol-table-frame::after{content:'';position:absolute;inset:-5px;border:0 solid transparent;border-image:url('../../assets/mahjong-reference/filigree-frame.webp') 115 / 47px / 0 stretch;z-index:3;pointer-events:none;}.sol-scroll{overflow:auto;overscroll-behavior:contain;max-height:calc(100dvh - 355px);min-height:300px;border-radius:12px;background:radial-gradient(ellipse at 45% 10%,#276c5577,transparent 65%),repeating-linear-gradient(45deg,#183f3219 0px,#183f3219 1px,#081b1708 1px,#081b1708 3px),radial-gradient(ellipse,#0b4939,#04251f);box-shadow:inset 0 9px 30px #000b,inset 0 0 0 2px #dcbe6d55;scrollbar-color:#af8742 #082c29;scrollbar-width:thin;}.sol-table{padding:22px 16px 25px;margin:auto;min-width:100%;position:relative;}.sol-top,.sol-tableau{display:grid;grid-template-columns:repeat(var(--cols),var(--card-w));gap:12px;align-items:start;}.sol-top{margin-bottom:24px;}.sol-pile{position:relative;width:var(--card-w);min-height:var(--card-h);border-radius:9px;}.sol-slot{position:absolute;inset:0 auto auto 0;width:var(--card-w);height:var(--card-h);border:1px solid #d9c68a4a;border-radius:8px;background:linear-gradient(150deg,#061c1788,#163f3155);box-shadow:inset 0 2px 9px #0006;color:#cbb57555;display:flex;align-items:center;justify-content:center;padding:0;}.sol-slot svg{width:38%;height:38%;}.sol-slot .rosa-art-icon{width:40px!important;height:40px!important;opacity:.65;}.sol-slot:disabled{opacity:.55;cursor:default;}.sol-slot:focus-visible{outline:3px solid var(--rosa-crystal);outline-offset:2px;}.sol-completed{flex-direction:column;gap:8px;}.sol-completed.done{color:#edcc7f;background:linear-gradient(#3f6245,#173b2e);box-shadow:inset 0 0 15px #f2cd6a44;}.sol-completed b{font-size:19px;color:var(--rosa-gold-light);}.sol-badge{position:absolute;bottom:4px;right:5px;background:#042235;color:#ffe2a0;border:1px solid #d7a64b;border-radius:12px;min-width:25px;padding:4px 6px;font-size:12px;z-index:5;box-shadow:0 2px 5px #0009;}
.sol-card{position:absolute;top:var(--y,0px);left:0;z-index:var(--z,1);width:var(--card-w);height:var(--card-h);margin:0;padding:0;border-radius:8px;border:1px solid #e8d5a9;color:#113a4c;background:linear-gradient(130deg,#fff9e9,#f4e5c6);box-shadow:inset 1px 1px #fffdf2,inset -1px -2px #c3a675,0 2px 0 #bca77e,0 4px 6px #0007;text-align:left;overflow:hidden;touch-action:none;user-select:none;will-change:transform;}.sol-card.red{color:#b1323d;}.sol-card.black{color:#13364a;}.sol-card:focus-visible{outline:3px solid #44d5ed!important;outline-offset:-3px;}.sol-card.sol-selected{box-shadow:inset 0 0 0 2px #ffd478,0 0 0 2px #edc46e,0 5px 12px #0008;filter:brightness(1.07);}.sol-card.sol-hint,.sol-slot.sol-hint{outline:3px solid #70d2e0;outline-offset:-3px;box-shadow:0 0 16px #42c8da88;}.sol-destination,.sol-drop-valid{outline:3px solid #f2cd78;outline-offset:4px;background:#e1c36b33;}.sol-index{position:absolute;left:5%;top:3%;display:flex;flex-direction:column;align-items:center;gap:0;z-index:2;width:22%;font:700 clamp(13px,1.5vw,22px)/1 var(--rosa-font-display);}.sol-index b{font-weight:700;font-size:clamp(15px,calc(var(--card-w)*.22),25px);letter-spacing:-1px;}.sol-index svg{width:calc(var(--card-w)*.13);height:calc(var(--card-w)*.14);}.sol-index-bottom{inset:auto 5% 3% auto;transform:rotate(180deg);}.sol-pips{position:absolute;inset:17% 25%;display:grid;grid-template-columns:repeat(2,1fr);align-content:space-evenly;justify-items:center;gap:2px;}.sol-pips i{display:block;width:calc(var(--card-w)*.17);height:calc(var(--card-w)*.17);}.sol-pips i svg{width:100%;height:100%;}.sol-pips i:last-child:nth-child(odd){grid-column:1/-1;}.sol-pips:has(i:only-child){inset:30% 24%;display:flex;align-items:center;justify-content:center;}.sol-pips:has(i:only-child) i{width:90%;height:90%;}.sol-court{position:absolute;inset:5% 20%;width:60%;height:90%;object-fit:contain;pointer-events:none;mix-blend-mode:multiply;}.sol-card img{user-select:none;-webkit-user-drag:none;}.sol-back{position:absolute;display:block;inset:0;width:100%;height:100%;background:#06334e;border-radius:7px;overflow:hidden;border:2px solid #e7ca80;}.sol-card.sol-back{width:var(--card-w);height:var(--card-h);top:var(--y,0);inset:auto auto auto 0;}.sol-back-art{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;pointer-events:none;}.sol-back-logo{position:absolute;width:74%;height:auto;left:13%;top:44%;padding:4px 2px;border-radius:5px;background:#031827d9;box-shadow:0 2px 6px #0007;pointer-events:none;}
.sol-notices{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:13px 5px 10px;}.sol-notices p{font-size:12px;line-height:1.5;min-height:18px;margin:0;color:var(--rosa-gold-light);}.sol-notices .sol-view{font-size:11px!important;flex:none;min-height:35px!important;}.sol-toolbar{display:flex;align-items:stretch;justify-content:center;gap:8px;padding:10px!important;}.sol-toolbar button{flex:1;min-width:0;flex-direction:column;font-size:11px!important;gap:5px!important;padding:8px 6px!important;}.sol-toolbar .rosa-art-icon{width:26px!important;height:26px!important;}.sol-toolbar [data-action=redo] .rosa-art-icon{transform:scaleX(-1);}.sol-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:16px 6px;color:var(--rosa-text-muted);font-size:10px;line-height:1.6;}.sol-footer p{display:none;margin:0;font-size:11px;}
#sol-modal{position:fixed;inset:0;max-width:min(560px,calc(100% - 24px));width:540px;max-height:calc(100dvh - 30px);border:0;padding:0;margin:auto;overflow:auto;color:var(--rosa-text);background:var(--rosa-menu-fill);border-radius:19px;box-shadow:0 25px 70px #000d;}#sol-modal::backdrop{background:#010e19c9;backdrop-filter:blur(7px);}.sol-modal-inner{padding:28px!important;}#sol-modal .sol-modal-close{position:absolute;top:10px;right:10px;width:44px;height:44px;font-size:27px;padding:4px;z-index:5;}#sol-modal h2{font:700 27px/1.2 var(--rosa-font-display);color:var(--rosa-gold-light);margin:0 35px 22px 0;}#sol-modal h3{font-size:16px;color:var(--rosa-gold-light);margin:25px 0 12px;}#sol-modal p,#sol-modal li{font-size:14px;line-height:1.8;color:var(--rosa-text-muted);}#sol-modal label{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 0;font-size:14px;}#sol-modal :is(input,select){font:inherit;max-width:55%;min-height:44px;background:#061c2e;color:var(--rosa-text);border:1px solid #c09752;border-radius:9px;padding:8px;}#sol-modal input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--rosa-gold);}#sol-modal input[type=range]{padding:0;width:52%;accent-color:var(--rosa-gold);}#sol-modal .rosa-button{min-height:46px;font-size:13px;}.sol-confirm{display:flex;gap:12px;flex-wrap:wrap;}.sol-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;}.sol-stats>div{padding:13px;border:1px solid #cba15d44;border-radius:11px;background:#031421;}.sol-stats dt{font-size:11px;color:var(--rosa-text-muted);}.sol-stats dd{margin:7px 0 0;font-size:23px;font-weight:600;color:var(--rosa-gold-light);}.sol-achievement{display:flex;align-items:center;gap:9px;opacity:.5;}.sol-achievement.earned{opacity:1;}.sol-achievement .rosa-art-icon{width:27px!important;height:27px!important;}.sol-theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}.sol-theme-grid button{display:flex;flex-direction:column;padding:9px!important;font-size:11px!important;}.sol-theme-grid img{display:block;width:100%;max-height:170px;object-fit:cover;aspect-ratio:2/3;border-radius:9px;}.sol-theme-grid button[aria-pressed=true]{outline:2px solid var(--rosa-gold-light);}.sol-win-stats{display:flex;flex-wrap:wrap;gap:20px;margin:20px 0;color:var(--rosa-gold-light);}#sol-win-return{margin-top:10px;}.sol-celebrate{height:100px;display:grid;place-items:center;position:relative;}.sol-celebrate>.rosa-art-icon{width:88px!important;height:88px!important;filter:drop-shadow(0 0 14px #f3c35b99);}.sol-celebrate i{position:absolute;width:7px;height:7px;background:var(--rosa-gold-light);box-shadow:0 0 8px #4fe0ff;border-radius:2px;animation:sol-spark 1.4s ease-out both;animation-delay:calc(var(--i)*25ms);transform:rotate(calc(var(--i)*25deg));}.sol-drag{position:fixed;z-index:10000;pointer-events:none;transform:rotate(3deg) translateY(-6px);filter:drop-shadow(0 14px 14px #0009);}.sol-drag .sol-card{border-color:#ffdb81;}@keyframes sol-spark{0%{opacity:0;translate:0 0;}15%{opacity:1;}100%{opacity:0;translate:calc((var(--i) - 7)*20px) -95px;rotate:210deg;}}
@media(min-width:1700px){.sol-scroll{max-height:calc(100dvh - 390px);min-height:500px;}.sol-table{padding-top:28px;}.sol-top{margin-bottom:32px;}}
@media(max-width:1100px){.sol-heading{gap:12px;}.sol-heading h1{font-size:33px;}.sol-tabs .rosa-button{font-size:12px!important;padding:11px 13px!important;}.sol-header{gap:12px!important;padding:8px 14px!important;}.sol-brand{padding-right:10px;}.sol-brand img{width:135px;}.sol-header-actions{gap:7px;}.sol-hud{gap:15px!important;}.sol-hud output{font-size:19px;}.sol-toolbar{flex-wrap:wrap;}.sol-toolbar button{flex:1 0 8%;font-size:10px!important;}.sol-toolbar .rosa-art-icon{width:23px!important;height:23px!important;}.sol-scroll{max-height:calc(100dvh - 355px);}}
@media(max-width:800px){#solitaire-app{padding:8px 9px 20px;}.sol-header{flex-wrap:wrap;gap:7px!important;}.sol-header nav{order:3;flex-basis:100%;max-width:none!important;height:45px;}.sol-brand img{width:125px;}.sol-brand{border:0;}.sol-header-actions{margin-left:auto;}.sol-header nav button{flex-direction:row!important;gap:8px!important;font-size:11px!important;}.sol-header nav .rosa-art-icon{width:25px!important;height:25px!important;}.sol-heading{flex-direction:column;align-items:stretch;text-align:center;margin-bottom:10px;}.sol-heading h1{font-size:32px;}.sol-eyebrow{font-size:8px;}.sol-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;}.sol-tabs .rosa-button{font-size:12px!important;min-width:0;}.sol-hud{padding:12px 14px!important;gap:12px!important;flex-wrap:wrap;}.sol-variant{flex-basis:100%;flex-direction:row!important;justify-content:space-between;align-items:center;}.sol-variant strong{font-size:14px;}.sol-variant small{font-size:10px;}.sol-hud>div:not(.sol-variant){flex:1;}.sol-hud .sol-daily{flex:0 0 auto!important;}.sol-daily .rosa-button{font-size:0!important;width:44px;height:44px;padding:7px!important;}.sol-daily .rosa-button span{display:none;}.sol-hud output{font-size:18px;}.sol-scroll{max-height:calc(100dvh - 315px);min-height:330px;}.sol-table-frame{padding:5px;border-width:4px;border-radius:17px;}.sol-table-frame::after{inset:-4px;border-image-width:37px;}.sol-table{padding-top:18px;}.sol-top{margin-bottom:18px;}.sol-toolbar{gap:6px!important;}.sol-toolbar button{flex:1 0 16%;min-height:63px;}.sol-footer p{display:block;}.sol-notices{gap:8px;}.sol-notices p{font-size:11px;}.sol-notices .sol-view{min-height:44px!important;font-size:10px!important;max-width:95px;}}
@media(max-width:420px){#solitaire-app{padding:5px max(6px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));}.sol-brand img{width:110px;}.sol-header-actions{gap:5px;}#solitaire-app .sol-header-actions button{width:40px;min-width:40px;}.sol-header-actions #language{max-width:92px;padding:6px;font-size:10px;}.sol-header{padding:6px 11px!important;}.sol-heading h1{font-size:29px;}.sol-heading{gap:9px;margin-top:8px;}.sol-hud{padding:12px!important;gap:10px!important;}.sol-hud small{font-size:9px;}.sol-variant small{font-size:9px;}.sol-hud output{font-size:17px;}.sol-tabs .rosa-button{padding:8px 5px!important;font-size:11px!important;}.sol-table-frame{padding:3px;}.sol-scroll{min-height:300px;max-height:calc(100dvh - 300px);border-radius:10px;}.sol-toolbar button{font-size:9px!important;flex:1 0 16%;padding:7px 3px!important;}.sol-toolbar .rosa-art-icon{width:22px!important;height:22px!important;}.sol-modal-inner{padding:25px 18px!important;}#sol-modal label{font-size:12px;}.sol-stats{gap:8px;}.sol-stats>div{padding:10px;}.sol-stats dd{font-size:21px;}.sol-theme-grid{gap:8px;}.sol-theme-grid button{font-size:9px!important;padding:6px!important;}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}.sol-no-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
/* Fit the initial deal to the available table height; scroll longer live columns. */
.sol-scroll{height:calc(100dvh - 430px);max-height:760px;min-height:330px;}.sol-top,.sol-tableau{justify-content:center;}.sol-card.sol-back{top:var(--y,0px);bottom:auto;right:auto;}.sol-card.sol-back[role=img]{touch-action:pan-x pan-y;}
@media(max-width:800px){.sol-scroll{height:calc(100dvh - 345px);min-height:300px;max-height:650px;}}

.sol-table-frame{max-width:100%;margin-inline:auto;}.sol-scroll{height:calc(100dvh - 360px);}.sol-notices,.sol-toolbar,.sol-footer{max-width:1500px;margin-inline:auto;}.sol-notices{margin-block:14px 10px;}.sol-footer{margin-block:16px;}
@media(max-width:800px){.sol-scroll{height:calc(100dvh - 345px);}}
@media(max-width:420px){#solitaire-app .sol-header-actions button{width:44px;min-width:44px;height:44px;}.sol-variant small{max-width:68%;text-align:right;}}
@media(max-width:360px){#solitaire-app .sol-header-actions [data-action=close]{display:none;}}
@media(max-width:800px){#solitaire-app{padding-bottom:100px;}.sol-toolbar{position:fixed!important;left:max(6px,env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right));bottom:max(6px,env(safe-area-inset-bottom));z-index:15;max-width:none;flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto;overscroll-behavior-x:contain;padding:8px!important;box-shadow:0 -5px 20px #0009;scrollbar-width:thin;scrollbar-color:#b99048 #061b29;}.sol-toolbar button{flex:0 0 67px!important;min-height:57px;font-size:9px!important;}.sol-footer{padding-bottom:15px;}.sol-table-frame{scroll-margin-top:15px;}}
/* Exposed fan headers show rank AND suit even at the minimum overlap. */
.sol-tableau .sol-card:not(:last-child) .sol-index:not(.sol-index-bottom){flex-direction:row;gap:2px;top:3px;left:5%;width:auto;}.sol-tableau .sol-card:not(:last-child) .sol-index:not(.sol-index-bottom) b{font-size:var(--fan-index,17px);line-height:1;}.sol-tableau .sol-card:not(:last-child) .sol-index:not(.sol-index-bottom) svg{width:calc(var(--fan-index,17px)*.7);height:var(--fan-index,17px);}
/* Phone chrome keeps the original logo, settings and catalog action in one row. */
@media(max-width:420px){#solitaire-app .sol-header nav{display:none!important;}.sol-heading .sol-eyebrow{display:none;}.sol-heading h1{font-size:24px;}.sol-heading{gap:7px;margin-top:7px;}.sol-hud{padding:9px 12px!important;gap:6px!important;}.sol-table-frame::before{content:'↔';position:absolute;right:10px;top:8px;z-index:4;color:var(--rosa-gold-light);font-size:19px;background:#041c2bce;border:1px solid #bd974b77;border-radius:7px;line-height:1;padding:3px 7px;pointer-events:none;}#solitaire-app:not(.sol-can-pan) .sol-table-frame::before{display:none;}}
@media(max-width:360px){#solitaire-app .sol-header-actions [data-action=close]{display:flex;}#solitaire-app #language-host{display:none;}}
.sol-toolbar-shell{max-width:1500px;margin-inline:auto;}
@media(max-width:800px){.sol-toolbar-shell{position:fixed!important;left:max(6px,env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right));bottom:max(6px,env(safe-area-inset-bottom));z-index:15;max-width:none;padding:0!important;overflow:hidden;box-shadow:0 -5px 20px #0009;}.sol-toolbar{position:static!important;left:auto;right:auto;bottom:auto;width:100%;border:0;box-shadow:none!important;background:none!important;overflow-x:auto;}.sol-toolbar-shell::after{z-index:3;}}
/* Desktop actions remain in reach while preserving a large, fitted card field. */
@media(min-width:801px){#solitaire-app{padding-bottom:120px;}.sol-toolbar-shell{position:fixed;left:16px;right:16px;bottom:10px;z-index:15;box-shadow:0 -4px 20px #0008;}.sol-notices{margin-block:6px 4px;}}
@media(min-width:801px) and (max-height:950px){#solitaire-app .sol-header{padding-block:6px;}.sol-brand img{width:145px;}#solitaire-app main{margin-top:7px;}.sol-heading{margin-bottom:6px;}.sol-heading .sol-eyebrow{display:none;}.sol-heading h1{font-size:33px;}.sol-hud{padding-block:6px!important;margin-bottom:8px!important;}.sol-scroll{height:calc(100dvh - 375px);}}
@media(min-width:801px) and (min-height:951px){.sol-scroll{height:calc(100dvh - 460px);}}
@media(min-width:801px){#solitaire-app .sol-toolbar-shell{position:fixed;}}
@media(min-width:801px){#solitaire-app .sol-toolbar-shell{position:fixed!important;}}
