/* RUMTA Jelly: airy, colourful, tactile. */
:root{--ink:#3e2c61;--green:#7950c4;--muted:#84739d;--cream:#f7f2ff;--line:#e9dcf5;--jelly-shadow:inset 0 2px 1px #fff9,0 4px 0 #7150a52b,0 8px 18px #845aba16}
body{background:radial-gradient(ellipse at 5% 15%,#e3f8f1 0,transparent 35%),radial-gradient(ellipse at 95% 38%,#e0f3ff 0,transparent 42%),#faf5ff;font-family:ui-rounded,'Trebuchet MS',system-ui,sans-serif}button,a,input{font-family:inherit}button{transition:transform .18s,box-shadow .18s,filter .18s}button:hover:not(:disabled){filter:brightness(1.035)}button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px 4px #48256c19}button:focus-visible,a:focus-visible{outline:3px solid #5b9de2}header{height:100px;border-color:#e3d7ef;gap:24px}.brand-animal{width:58px;height:58px;border-radius:21px;box-shadow:0 5px 0 #7747af24,0 9px 16px #8c5cb625;border:2px solid #fff9}.brand b{letter-spacing:1px;font-size:22px;color:#6842a4}.brand small{letter-spacing:5px;color:#a18bb9}.nav{border:0!important;height:40px;padding:0 15px;border-radius:18px;color:#8c75a7;font-size:12px}.nav.active{background:linear-gradient(#d9c1f7,#c3a1ee);box-shadow:var(--jelly-shadow);color:#573384}.nav span{background:#ffffff8c;color:#70449f}.install-header,.our-apps-button{border:1px solid #ffffffc9;background:linear-gradient(#e9faff,#bce4f7);color:#34729a;border-radius:17px;box-shadow:inset 0 2px #fff9,0 3px 0 #75b4d442;font-size:11px}.install-header{background:linear-gradient(#e2fae9,#afe5c3);color:#337b57;box-shadow:inset 0 2px #fff9,0 3px 0 #71b48c3b}.icon{border:1px solid #dfc9f4;color:#976dbb;background:#fff9}.hero{padding:48px 0 56px;gap:64px}.eyebrow{color:#a17ac2;font-size:10px;letter-spacing:1.5px}.hero h1{font-family:inherit;font-size:clamp(35px,3.7vw,57px);font-weight:850;line-height:1.13;letter-spacing:-1.8px;margin:21px 0}.hero em{font-style:normal;color:#9862d8;font-weight:850}.hero p{font-size:14px;color:#8c7a9d;line-height:1.8}.primary{background:linear-gradient(170deg,#bd90f2,#9763d9 65%,#8d55cd);border:1px solid #d6b5ff;border-radius:19px;box-shadow:inset 0 2px 1px #ffffff73,0 5px 0 #7547ad,0 10px 22px #9763d92b;color:white;padding:15px 22px;font-weight:800;font-size:13px}.primary:hover{transform:translateY(-2px)}.hero-meta{color:#a390b6;gap:20px;margin-top:29px}.jelly-hero{height:380px;border:0;box-shadow:none;transform:none;display:flex;align-items:center;justify-content:center;isolation:isolate;background:radial-gradient(ellipse,#d1b5f3a8,transparent 68%);border-radius:46% 54% 56% 44%}.jelly-hero>img{width:330px;height:330px;object-fit:cover;border-radius:40% 45% 38% 43%;box-shadow:0 15px 35px #8544b633;transform:rotate(5deg);z-index:1}.jelly-orb{position:absolute;border-radius:50%;box-shadow:inset -6px -9px 15px #7b9c4020,inset 6px 8px 8px #fffd,0 10px 18px #8594791c}.orb-mint{width:87px;height:87px;background:radial-gradient(circle at 35% 25%,#f7fff5,#adeebc 65%,#8bd0a9);left:0;top:22px}.orb-blue{width:62px;height:62px;background:radial-gradient(circle at 35% 25%,#fff,#a4dffc 65%,#7bc2eb);right:0;bottom:20px}.jelly-tag{position:absolute;z-index:2;padding:12px 18px;border:1px solid #ffffffa6;border-radius:18px;font-weight:800;font-size:12px;box-shadow:inset 0 2px #fff8,0 5px 0 #97638322,0 10px 20px #6b41871a}.tag-mint{left:-12px;bottom:42px;transform:rotate(-6deg);color:#3f8463;background:linear-gradient(#dcfbe8,#b8ebce)}.tag-coral{right:-15px;top:35px;transform:rotate(6deg);color:#a75370;background:linear-gradient(#ffe4e9,#ffc2d1)}.jelly-spark{position:absolute;right:21px;top:-4px;font-size:38px;color:#d4a0ed;text-shadow:0 2px white}.install-banner{border:2px solid #fff;border-radius:24px;background:linear-gradient(110deg,#e4f7ef,#eff0ff 65%,#fce5f0);box-shadow:0 7px 20px #9676b00f;padding:20px 24px}.install-banner>img{border-radius:19px;border:2px solid #fff}.install-banner b{font-size:15px;color:#705099}.install-banner p{color:#9584a8}.install-banner .primary{background:linear-gradient(#bcebd0,#86cda5);border-color:#c6f0d7;box-shadow:inset 0 2px #ffffff91,0 4px 0 #63a784;color:#2d6850}.section-title h2{font:800 29px/1.2 ui-rounded,'Trebuchet MS',system-ui,sans-serif;color:#694988;letter-spacing:-.7px}.filters{padding-bottom:16px;gap:9px}.filters button{border:1px solid #fff;background:linear-gradient(#fff,#e9ddf6);box-shadow:inset 0 2px #fff,0 3px 0 #ba9dd329;color:#8e6ba8;font-size:11px;font-weight:700;padding:11px 16px;border-radius:16px}.filters button:nth-child(4n+2){background:linear-gradient(#edfff2,#c9edda);color:#4e8b6c}.filters button:nth-child(4n+3){background:linear-gradient(#edfaff,#c6e6f8);color:#5081a4}.filters button:nth-child(4n+4){background:linear-gradient(#fff0f2,#f5cbd7);color:#ad6a84}.filters button.active{background:linear-gradient(#bc92eb,#9768cc);color:white;border-color:#caabef;box-shadow:inset 0 2px #ffffff73,0 3px 0 #744a9a}.search{border:2px solid white;border-radius:18px;background:#f3ebfa;box-shadow:inset 0 2px 4px #8c65aa0a}.catalog-tools{color:#a08ab3}.grid{gap:26px 22px}.card{border:3px solid white;border-radius:24px;box-shadow:0 6px 0 #b58fc31a,0 12px 28px #8b67b312;background:linear-gradient(#fff,#f2e8fc)}.card:nth-child(4n+2){background:linear-gradient(#fff,#e4f5ed)}.card:nth-child(4n+3){background:linear-gradient(#fff,#e1f2ff)}.card:nth-child(4n){background:linear-gradient(#fff,#ffe9ee)}.card:hover{transform:translateY(-5px);box-shadow:0 9px 0 #b58fc314,0 18px 28px #8b67b31f}.card-image{border-radius:20px 20px 15px 15px;height:185px}.card-info{padding:17px 15px}.card-info small{color:#9c82b5;font-weight:700}.card-info h3{font-size:14px;color:#684886}.card-bottom{color:#ab96bd}.card-bottom b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#9975bc;background:#fffb;box-shadow:0 3px 0 #ae88ce16}.badge{background:linear-gradient(#fff,#eadbf8);border:1px solid white;border-radius:12px;color:#8053aa}.rumta-promo{border:2px solid white;border-radius:23px;background:linear-gradient(110deg,#e8dcfa,#e5f4ff);color:#81639f}.promo-icon{border-radius:15px;background:linear-gradient(#bc9ce4,#a274d3);box-shadow:var(--jelly-shadow)}footer{border-color:#e8dcf1;color:#a390b4}dialog{border:3px solid #fff;border-radius:28px;background:linear-gradient(150deg,#fff9ff,#f2e9ff);box-shadow:0 15px 0 #8460a21a,0 30px 80px #54317338}dialog::backdrop{background:#57407060;backdrop-filter:blur(9px)}.setup-body h2,#messageBody h2,.install-dialog-body h2,.apps-dialog-body h2{font-family:inherit;font-weight:800;color:#794ca1;letter-spacing:-.5px}.choices button,.install-platforms button{background:linear-gradient(#fff,#eaddf6);border:1px solid white;box-shadow:0 3px 0 #9272ac22;border-radius:13px;color:#8c6ba8}.choices button.active,.install-platforms button.active{background:linear-gradient(#b88ae8,#9867d0);color:white;border-color:#d1b3ef}.soft{background:linear-gradient(#f9f1ff,#e5d4f5);color:#8462a2;border:1px solid #fff;border-radius:15px;box-shadow:inset 0 2px #fff9,0 3px 0 #a180bd24}.toggle>span{background:#ded1ed;box-shadow:inset 0 2px 4px #724b9620}.toggle input:checked+span{background:linear-gradient(#b68ae6,#9260c9)}.toggle>span:after{box-shadow:0 2px 4px #724b9620}.install-app-icon{border-radius:27px;border:3px solid white;box-shadow:0 6px 0 #9160b622}.install-note{background:#eaddf5;color:#8c6ca6}.install-platforms{margin-bottom:8px}.our-app-card{border-color:#e6d7f1}.our-app-mark{box-shadow:inset 0 2px 2px #fff8,0 4px 0 #9261b525;border:2px solid white;border-radius:15px}.fine{color:#a08ab3}.close{background:linear-gradient(#fff,#efdefb);color:#a07abd;box-shadow:0 3px 0 #a481bd1a}
#game{background:#f3ecff}.gamebar{background:linear-gradient(100deg,#f5eaff,#edfbff);border-color:white}.game-title b{color:#8059a5}.progress b{color:#9b64d2;background:linear-gradient(#fff,#eee0fb);padding:7px 11px;border-radius:14px;border:1px solid white;box-shadow:0 3px 0 #ad84c122}.progress span{color:#a38ab6}.piece-tray{background:linear-gradient(100deg,#efe2fb,#e2f4fc 52%,#e1f6e9);border:1px solid white;padding-top:7px;padding-bottom:7px}.tray-label{color:#a08bb4}.tray-piece,.tray-piece.selected{border:1px solid #ffffffdb;background:linear-gradient(145deg,#ffffffb0,#d5c0eb70);border-radius:19px;box-shadow:inset 0 2px #fffc,0 3px 0 #9570b71a}.piece-tray>button{border:1px solid white;border-radius:14px;background:linear-gradient(#fff,#e2d2f3);color:#9870b6;box-shadow:0 3px 0 #a98ac028}.table-tools button,.zoom-tools button{border:1px solid #ffffffef;border-radius:14px;background:linear-gradient(#fff,#e9d9f7);color:#8d69a9;box-shadow:inset 0 2px #fff,0 3px 0 #a585bd30,0 5px 12px #8660a015}.table-tools button:nth-child(5){background:linear-gradient(#ffeaf0,#f7c7d6);color:#b66c88}.table-tools button.active{background:linear-gradient(#bb95e7,#986acb);color:white}.gamefoot{background:#f9f2ff;color:#ad94bd;border-top:1px solid #fff}#toast{background:linear-gradient(#ac7cdc,#9460ca);box-shadow:0 5px 0 #6d44952a;color:white;border:1px solid #cdb0ed}#preview{background:#efe1f8ed;border:3px solid #fff;border-radius:24px}#preview img{border-radius:15px}#preview button{color:#8859af;background:white;border-radius:12px;padding:10px 18px}
@media(max-width:1000px){.hero{gap:25px}.jelly-hero{height:320px}.jelly-hero>img{width:275px;height:275px}.tag-coral{right:-5px;font-size:10px}.tag-mint{left:-5px;font-size:10px}.card-image{height:155px}header{gap:14px}}
@media(max-width:650px){header{height:auto;gap:8px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:12px}.brand-animal{width:45px;height:45px;border-radius:15px}.brand b{font-size:18px}.brand small{letter-spacing:4px}.install-header{font-size:10px;padding:9px 10px}header .our-apps-button{font-size:9px;padding:9px}.nav{font-size:11px;padding:0 17px}nav{height:38px}.hero{padding:31px 0 29px;gap:20px}.hero h1{font-size:39px;letter-spacing:-1.4px}.hero p{font-size:12px}.hero-meta{font-size:9px}.jelly-hero{height:300px;margin:0 12px 12px}.jelly-hero>img{width:268px;height:268px;border-radius:42%}.orb-mint{width:63px;height:63px;left:0;top:4px}.orb-blue{width:45px;height:45px;right:-9px;bottom:5px}.tag-mint{bottom:15px;left:-7px;padding:10px 13px}.tag-coral{right:-9px;top:25px;padding:10px 12px;font-size:10px}.jelly-spark{right:0;top:-5px}.eyebrow{font-size:8px}.install-banner{border-radius:22px}.install-banner b{font-size:12px}.section-title h2{font-size:23px}.filters button{padding:10px 13px}.grid{gap:18px 12px}.card{border-radius:20px}.card-image{height:137px;border-radius:16px 16px 12px 12px}.card-info{padding:12px 9px}.card-info h3{font-size:11px}.card-info small{font-size:7px}.card-bottom{font-size:8px}.card-bottom b{width:24px;height:24px}.game-title b{font-size:10px}.gamebar{gap:5px}.gamebar .progress{gap:5px}.progress b{padding:6px 7px}.gamebar .soft{border-radius:12px}.our-apps-game{padding:8px 6px;font-size:9px}.table-tools button{border-radius:12px}.tray-piece{border-radius:16px}.gamefoot{font-size:8px}}
@media(max-height:500px) and (orientation:landscape){.gamebar .progress b{padding:4px 7px}.gamebar .soft{padding-top:5px;padding-bottom:5px}.table-tools button{border-radius:10px}.piece-tray{padding-top:3px;padding-bottom:3px}}
@media(prefers-reduced-motion:reduce){button,.card,.card img{transition:none!important}}
/* V7: unmistakably inflated jelly controls, with flat puzzle pictures. */
:root{--muted:#72528e;--green:#8550d1}body{background:radial-gradient(ellipse at 0 10%,#d2ffeb,transparent 43%),radial-gradient(ellipse at 100% 30%,#d9efff,transparent 40%),radial-gradient(ellipse at 30% 80%,#ffe4ed,transparent 50%),#f5e7ff}header{background:#ffffff3b;border-bottom:2px solid #fff8;border-radius:0 0 30px 30px}.hero{gap:50px;padding:38px 0 44px}.hero h1{font-size:clamp(35px,3.3vw,49px);margin:13px 0 15px}.hero p{margin:0 0 20px;color:#805d98}.hero-meta{margin-top:20px;color:#846398}.welcome-menu{display:flex;flex-direction:column;gap:14px;max-width:440px}.welcome-choice{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:15px;text-align:left;min-height:76px;padding:13px 20px;border:2px solid #ffffffbd;border-radius:25px;box-shadow:inset 0 5px 7px #fffb,inset 0 -5px 8px #5d319b2b,0 6px 0 #8360a334,0 12px 20px #9364ac20;transition:transform .16s}.welcome-choice:before{content:'';position:absolute;z-index:-1;top:5px;left:13px;right:13px;height:42%;border-radius:50%;background:linear-gradient(#ffffffa6,#fff0);pointer-events:none}.welcome-choice b{display:block;font-size:16px;font-weight:850}.welcome-choice small{display:block;font-size:11px;margin-top:4px;opacity:.85}.welcome-choice i{font-style:normal;font-size:24px;margin-left:auto}.menu-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:15px;background:#fff5;box-shadow:inset 0 2px 4px #fff9,0 3px 4px #716f7220;font-size:28px}.choice-green{background:linear-gradient(155deg,#b4f4c4,#68d4a1);color:#225d49}.choice-blue{background:linear-gradient(155deg,#b8eaff,#6ebeea);color:#265e8d}.choice-coral{background:linear-gradient(155deg,#ffd0dd,#f58da9);color:#873858}.jelly-hero{height:480px;background:radial-gradient(ellipse,#c89ef275,transparent 67%)}.jelly-hero>img{width:385px;height:385px;border:5px solid #f2deff;box-shadow:inset 0 5px #fff,0 12px 0 #a36dc539,0 25px 40px #9f6bb83a}.orb-mint{width:102px;height:102px;top:0}.orb-blue{width:85px;height:85px;bottom:0}.tag-mint{bottom:33px;left:-10px}.tag-coral{top:37px;right:-14px}.jelly-tag{box-shadow:inset 0 4px 6px #fff9,inset 0 -4px 5px #834d9b24,0 5px 0 #97638336,0 10px 20px #6b41871a}.nav.active,.primary,.soft,.install-header,.our-apps-button,.table-tools button,.zoom-tools button,.piece-tray>button,.filters button,.choices button,.install-platforms button{box-shadow:inset 0 4px 5px #fffc,inset 0 -4px 6px #70508a20,0 5px 0 #815a9d30,0 8px 14px #71489917;border:2px solid #ffffffb5;border-radius:20px}.primary{background:linear-gradient(155deg,#d59bff,#a45de8 65%,#974bcf)}.nav.active{background:linear-gradient(#d6a7ff,#ad6ae1);color:#513073}.our-apps-button{background:linear-gradient(#c9efff,#87cfef);color:#336687}.install-header{background:linear-gradient(#c9f9db,#8bddb0);color:#326a4c}.filters button{background:linear-gradient(#e5c5ff,#c59ae8);color:#694381;font-weight:800;min-height:43px}.filters button:nth-child(4n+2){background:linear-gradient(#d0ffe0,#8eddb5);color:#356a50}.filters button:nth-child(4n+3){background:linear-gradient(#d0f2ff,#92d4f6);color:#346b8b}.filters button:nth-child(4n+4){background:linear-gradient(#ffe1e9,#f2a9c0);color:#914c66}.filters button.active{background:linear-gradient(#bf89ef,#9657d4);color:#fff}.card{border:4px solid #fff;border-radius:29px;background:linear-gradient(#fff,#dfc2f6);box-shadow:inset 0 -5px 7px #9367aa1a,0 7px 0 #a780bc2a,0 14px 22px #8c5eb423}.card:nth-child(4n+2){background:linear-gradient(#fff,#b9edd3)}.card:nth-child(4n+3){background:linear-gradient(#fff,#bce4fa)}.card:nth-child(4n){background:linear-gradient(#fff,#f9c6d7)}.card-info{padding:18px 15px}.card-info h3{font-size:15px;font-weight:850}.card-info small,.card-bottom{color:#805f9a}.card-image:after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 4px 8px #ffffff8f;pointer-events:none}.card-bottom b{background:linear-gradient(#fff,#d5b8eb);box-shadow:inset 0 2px #fff,0 3px 0 #9975b632}.install-banner{background:linear-gradient(110deg,#c6f3db,#ded4ff 65%,#ffcbdc);box-shadow:inset 0 5px 7px #fffb,inset 0 -5px 8px #8e67b01a,0 7px 0 #a58bb526,0 12px 25px #8e67b012;border:3px solid white;border-radius:30px}.install-banner b{color:#69438b}.install-banner p{color:#816493}.install-banner .primary{color:#275d43}.rumta-promo{background:linear-gradient(110deg,#dfc3f6,#bfe5f8);box-shadow:inset 0 4px 6px #fffa,0 5px 0 #9d7eb123}.section-title h2{font-weight:900;color:#72489a}.search{background:linear-gradient(#eadbf4,#fff);border:3px solid white;box-shadow:inset 0 3px 6px #966caf20}dialog{background:linear-gradient(145deg,#fbf2ff,#e6cbfb);border:4px solid #fff;box-shadow:inset 0 6px 9px #fff,0 12px 0 #9565b12d,0 30px 80px #5431734a}#setup>img{border-radius:23px 23px 17px 17px}.choices button{background:linear-gradient(#d5f4ff,#a8d8f7);color:#3d7095}.choices button.active{background:linear-gradient(#ce9bf5,#a66ad9);color:white}.toggle>span{width:46px;height:28px;box-shadow:inset 0 3px 5px #69498d33}.toggle>span:after{width:22px;height:22px;background:linear-gradient(#fff,#ead7f8)}.toggle input:checked+span:after{transform:translateX(18px)}.table-tools button,.zoom-tools button{background:linear-gradient(#eacfff,#c9a3ea);color:#68448c}.table-tools button:nth-child(2){background:linear-gradient(#c4f6d9,#8cddb2);color:#397c59}.table-tools button:nth-child(3){background:linear-gradient(#c6eeff,#94d2f5);color:#407899}.table-tools button:nth-child(4){background:linear-gradient(#ffe2bd,#ffc38b);color:#966030}.table-tools button:nth-child(5){background:linear-gradient(#ffd5e3,#f3aac3);color:#a35375}.table-tools button:disabled{opacity:.5}.piece-tray{background:linear-gradient(100deg,#e0bff5,#c4e8fc 52%,#bcebd1);border:2px solid white}.tray-piece,.tray-piece.selected{background:linear-gradient(145deg,#fff9,#c5b0df66);box-shadow:inset 0 3px 5px #fffc,0 4px 0 #9164ad22;border:2px solid #fffc}.gamebar{background:linear-gradient(100deg,#e6cbfb,#cdf0ff);border-bottom:2px solid #fff}.gamefoot{color:#806093;background:#f1ddff}.progress b{background:linear-gradient(#f5e7ff,#d9b9ef);color:#74499a}.close{box-shadow:inset 0 3px #fffd,0 3px 0 #a481bd40;background:linear-gradient(#ffe5ee,#f4bdd0);color:#a56582}
@media(max-width:1000px){.jelly-hero{height:430px}.jelly-hero>img{width:310px;height:310px}.tag-coral{right:-5px}.tag-mint{left:-5px}.hero{gap:25px}.welcome-choice b{font-size:14px}}
@media(max-width:650px){.hero{display:flex;flex-direction:column-reverse;padding:24px 0 30px;gap:18px}.hero-copy{width:100%}.hero h1{font-size:34px;line-height:1.06;margin:12px 0}.hero h1 br:last-of-type{display:none}.hero p{font-size:12px;margin-bottom:18px}.jelly-hero{height:228px;width:100%;margin:0}.jelly-hero>img{width:208px;height:208px;border-width:3px}.orb-mint{width:64px;height:64px;left:7px;top:9px}.orb-blue{width:51px;height:51px;right:3px;bottom:10px}.tag-mint{font-size:9px;left:0;bottom:15px;padding:9px 10px}.tag-coral{font-size:9px;top:17px;right:0;padding:9px 10px}.jelly-spark{right:27px;top:-2px;font-size:29px}.welcome-menu{max-width:none;gap:12px}.welcome-choice{min-height:70px;padding:12px 17px;border-radius:23px}.welcome-choice b{font-size:15px}.welcome-choice small{font-size:10px}.menu-symbol{width:36px;height:36px;font-size:24px}.hero-meta{font-size:9px;margin-top:20px}.card{border-width:3px;border-radius:23px}.card-info{padding:12px 10px}.card-info h3{font-size:12px}.table-tools button,.zoom-tools button{border-radius:14px}.piece-tray{border-left:0;border-right:0}.section-title h2{font-size:23px}.filters button{font-size:11px}.install-banner{border-radius:26px}.gamebar .soft{border-radius:14px}.hero-copy .eyebrow{font-size:8px}.brand-animal{border-width:2px}}
/* Central install spotlight. Animation respects the system motion preference. */
.install-spotlight{display:block;max-width:440px;padding:0;margin:23px 0 24px;background:none;border:0;box-shadow:none}.install-spotlight .primary{position:relative;isolation:isolate;overflow:hidden;width:100%;min-height:88px;display:flex;align-items:center;justify-content:center;gap:15px;margin:0;padding:17px 20px;border:3px solid #fffbd7;border-radius:28px;color:#6b3059;background:linear-gradient(155deg,#fff2a6 0%,#ffc17f 32%,#ff9db7 75%,#ee89c7);box-shadow:inset 0 6px 8px #ffffffe6,inset 0 -6px 8px #d35e8b40,0 7px 0 #c271a1,0 13px 25px #e58cab45;animation:install-breathe 2.4s ease-in-out infinite}.install-spotlight .primary:before{content:'';position:absolute;inset:5px 12px auto;height:39%;border-radius:50%;background:linear-gradient(#ffffffa1,#fff0);z-index:-1}.install-spotlight .primary:after{content:'';position:absolute;top:-50%;bottom:-50%;left:-65%;width:36%;background:linear-gradient(90deg,transparent,#ffffffb0,transparent);transform:rotate(24deg);animation:install-shine 3.6s ease-in-out infinite;pointer-events:none}.install-spotlight .install-device{margin:0;display:grid;place-items:center;width:42px;height:49px;border:3px solid #fff9;border-radius:13px;background:#fff5;box-shadow:inset 0 3px #fffb,0 3px 0 #be65952a;font-size:33px;font-weight:900}.install-spotlight .install-button-copy{margin:0;text-align:left}.install-spotlight b{font-size:21px;color:#76295e;font-weight:900;display:block;letter-spacing:-.5px}.install-spotlight small{display:block;font-size:11px;margin-top:4px;font-weight:700;color:#99547c}.install-spotlight .install-spark{margin:0;font-size:28px;color:#fff4bd;text-shadow:0 2px #b56788}.install-spotlight>p{text-align:center;font-size:10px;color:#9877a7;margin:14px 0 0;line-height:1.4}.install-header{animation:header-install-glow 2.4s ease-in-out infinite}.install-spotlight .primary:active{transform:translateY(3px)}
@keyframes install-breathe{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.025);filter:brightness(1.06)}}@keyframes install-shine{0%,30%{left:-65%}65%,100%{left:140%}}@keyframes header-install-glow{0%,100%{box-shadow:inset 0 4px 5px #fffc,0 5px 0 #815a9d30,0 0 0 0 #82d8a744}50%{box-shadow:inset 0 4px 5px #fffc,0 5px 0 #815a9d30,0 0 0 6px #82d8a711}}
@media(max-width:650px){.install-spotlight{max-width:none;margin:20px 4px 25px;width:calc(100% - 8px)}.install-spotlight .primary{min-height:85px;padding:16px 15px;gap:12px}.install-spotlight b{font-size:20px}.install-spotlight .install-device{width:37px;height:45px;font-size:30px}.install-spotlight .install-spark{font-size:24px}.hero .jelly-hero{height:195px}.hero .jelly-hero>img{width:180px;height:180px}}
@media(prefers-reduced-motion:reduce){.install-spotlight .primary,.install-spotlight .primary:after,.install-header{animation:none!important}}
/* A fixed board has a dedicated toolbar, outside its drawing area. */
.table-wrap>canvas#table{height:calc(100% - 65px);margin-top:65px}.zoom-tools{display:none}.table-tools{top:8px;left:10px;right:10px;gap:9px;align-items:center}.table-tools button{min-height:44px;padding:8px 13px}.table-tools #reference{min-height:48px;background:linear-gradient(#e5d0ff,#b68ce7);color:#68418e;font-size:25px}.table-tools #reference span{display:inline;font-size:12px;font-weight:850}.table-tools #hint span{display:inline;font-size:11px}.table-tools #rotate,.table-tools #shuffleRotations{font-size:20px}.table-tools #hint{background:linear-gradient(#ffe1eb,#f4b1ca);color:#a25375}.table-tools button:disabled{display:none}
@media(max-width:650px){.table-tools{left:7px;right:7px;gap:6px;max-width:none}.table-tools #reference{padding:7px 10px;font-size:23px}.table-tools #reference span{font-size:11px}.table-tools #hint{padding:7px 9px}.table-tools #hint span{font-size:10px}.table-tools #rotate,.table-tools #shuffleRotations{min-width:38px;min-height:44px;padding:6px;font-size:20px}.table-tools #rotate span,.table-tools #shuffleRotations span{display:none}}
@media(max-height:500px) and (orientation:landscape){.table-wrap>canvas#table{height:calc(100% - 52px);margin-top:52px}.table-tools{top:4px}.table-tools #reference,.table-tools button{min-height:39px}.table-tools #rotate,.table-tools #shuffleRotations{min-height:39px}}
.table-tools #ghost{background:linear-gradient(#d7f1ff,#a0cee9);color:#3b7295}.table-tools #ghost span{display:inline;font-size:11px;font-weight:800}.table-tools #ghost.active{background:linear-gradient(#8ac2ed,#669fd9);color:white}.table-tools{gap:6px}.table-tools #reference{min-width:116px}.table-tools #hint span{display:none}.table-tools #hint{min-width:44px;font-size:23px}.table-tools #ghost{min-width:106px}.choices button{min-width:45px}
@media(max-width:650px){.table-tools{gap:4px;justify-content:center}.table-tools #reference{min-width:90px;padding:6px 8px;font-size:21px}.table-tools #reference span{font-size:11px}.table-tools #ghost{min-width:87px;padding:6px 8px;font-size:18px}.table-tools #ghost span{font-size:10px}.table-tools #hint{min-width:38px;padding:6px;font-size:21px}.table-tools #rotate,.table-tools #shuffleRotations{min-width:34px;padding:4px;font-size:19px}}
/* One-screen welcome; collection and saved games are independent views. */
header{height:86px;min-height:86px}#welcome{height:calc(100dvh - 86px);min-height:550px;max-width:1440px}#welcome .hero{height:100%;padding:18px 0 24px;gap:35px}#welcome .hero h1{font-size:clamp(30px,3.3vw,46px);margin:10px 0 14px}#welcome .hero p{font-size:12px;line-height:1.6;margin:0 0 12px}#welcome .hero-meta{display:none}#welcome .welcome-menu{gap:12px}#welcome .welcome-choice{min-height:66px;padding:11px 17px}#welcome .install-spotlight{margin:15px 0 23px}#welcome .install-spotlight>p{display:none}#welcome .install-spotlight .primary{min-height:78px}#welcome .jelly-hero{height:min(420px,65dvh)}#welcome .jelly-hero>img{width:min(350px,31vw);height:min(350px,31vw)}.jelly-tag.tag-mint{background:linear-gradient(#b0ffd2,#4fc68f);color:#226b4b;border:2px solid #e0ffef;box-shadow:inset 0 4px 6px #fffa,inset 0 -4px 5px #258b6026,0 6px 0 #4aa985,0 10px 22px #3a9c7930;font-size:14px;padding:15px 22px}.jelly-tag.tag-coral{background:linear-gradient(#ffc8e1,#ef77af);color:#8b2b60;border:2px solid #ffe5f3;box-shadow:inset 0 4px 6px #fffa,inset 0 -4px 5px #a3477926,0 6px 0 #c26397,0 10px 22px #b34b7d30;font-size:14px;padding:15px 22px}#catalog{padding-top:25px}body.playing #welcome{display:none}
@media(max-width:650px){header{height:103px;min-height:103px;gap:6px;padding:9px 13px 7px}header .brand-animal{width:37px;height:37px}header .brand b{font-size:15px}header .brand small{font-size:7px}header nav{height:30px;gap:15px}header .nav{height:30px;font-size:10px;padding:0 13px}header .our-apps-button{font-size:8px;padding:8px 6px}header .install-header{font-size:9px;padding:8px}#welcome{height:calc(100dvh - 103px);min-height:520px;padding:0 17px}#welcome .hero{padding:9px 0 16px;gap:7px;justify-content:space-evenly}#welcome .hero-copy{flex:none}#welcome .eyebrow,#welcome .hero-copy>p{display:none}#welcome .hero h1{font-size:26px;line-height:1.06;margin:5px 0 10px;text-align:center}#welcome .hero h1 br{display:none}#welcome .hero em{display:block}#welcome .jelly-hero{height:140px;flex-shrink:1;width:100%;max-height:24dvh}#welcome .jelly-hero>img{width:136px;height:136px;max-height:23dvh;max-width:23dvh;border-radius:38%}.jelly-tag.tag-mint{left:0;bottom:22px;padding:11px 12px;font-size:10px}.jelly-tag.tag-coral{right:0;top:27px;padding:11px 12px;font-size:10px}#welcome .jelly-orb{width:32px;height:32px}.orb-mint{left:17px;top:0}.orb-blue{right:23px;bottom:2px}#welcome .install-spotlight{margin:12px 4px 20px}#welcome .install-spotlight .primary{min-height:67px;padding:10px 14px;border-radius:24px}#welcome .install-spotlight b{font-size:19px}#welcome .install-spotlight small{font-size:10px}#welcome .install-device{width:33px;height:39px;font-size:27px}#welcome .welcome-menu{gap:11px}#welcome .welcome-choice{min-height:58px;padding:8px 16px;border-radius:20px}#welcome .welcome-choice b{font-size:14px}#welcome .welcome-choice small{font-size:10px;margin-top:2px}#welcome .menu-symbol{width:31px;height:31px;font-size:23px}#welcome .welcome-choice i{font-size:21px}#catalog{padding-top:20px}}
@media(max-height:720px) and (min-width:651px){#welcome{min-height:440px}#welcome .hero h1{font-size:30px}#welcome .hero-copy>p,#welcome .eyebrow{display:none}#welcome .welcome-choice{min-height:56px;padding:8px 16px}#welcome .welcome-menu{gap:11px}#welcome .install-spotlight .primary{min-height:67px}#welcome .install-spotlight{margin:13px 0 20px}#welcome .jelly-hero>img{width:260px;height:260px}.jelly-tag.tag-mint,.jelly-tag.tag-coral{font-size:11px;padding:12px}}
@media(max-height:650px) and (max-width:650px){#welcome{min-height:440px}#welcome .jelly-hero{height:100px}#welcome .jelly-hero>img{width:98px;height:98px}#welcome .hero h1{font-size:23px}#welcome .welcome-choice{min-height:52px}.jelly-tag.tag-mint,.jelly-tag.tag-coral{font-size:9px;padding:9px}}
.mode-choices{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:18px}.mode-choices button{text-align:left;padding:12px 16px;background:linear-gradient(#fff,#e5d3f5);border:2px solid #fff;border-radius:18px;box-shadow:inset 0 3px #fff9,0 4px 0 #a583be33;color:#8a65a5}.mode-choices button:nth-child(2){background:linear-gradient(#d3f1ff,#afdcf7);color:#4e7f9c}.mode-choices button:nth-child(3){background:linear-gradient(#ffdce8,#f4bbd1);color:#a05d7d}.mode-choices button.active{border-color:#9c63d4;box-shadow:inset 0 3px #fff9,0 4px 0 #9565bc66}.mode-choices b{display:block;font-size:13px}.mode-choices small{display:block;font-size:10px;margin-top:3px}.pile-wrap{position:relative;height:150px;flex-shrink:0;background:radial-gradient(ellipse,#dfc6ee,#f2e4fc);border:2px solid white;border-radius:22px 22px 0 0;overflow:hidden}.pile-heading{position:absolute;top:8px;left:16px;right:16px;z-index:1;display:flex;justify-content:space-between;align-items:center;pointer-events:none;color:#9870ae;font-size:10px}.pile-heading b{font-size:12px}.pile-heading b span{background:#fff9;border-radius:9px;padding:2px 6px;margin-left:4px}.pile-wrap #pileCanvas{height:calc(100% - 22px);margin-top:22px;touch-action:none;cursor:grab}.pile-take{position:absolute;right:12px;bottom:7px;padding:6px 10px;border:1px solid white;border-radius:12px;background:linear-gradient(#ffedc9,#ffc69e);color:#98623d;font-size:10px;font-weight:800;box-shadow:0 3px 0 #b1867140}#pileDrag{position:fixed;width:96px;height:84px;z-index:100;pointer-events:none;touch-action:none}.piece-tray .tray-rotate{background:linear-gradient(#ffedc9,#ffc69e);color:#98623d;font-size:26px}
@media(max-width:650px){.pile-wrap{height:120px}.pile-heading{left:11px;right:11px;font-size:8px}.pile-heading b{font-size:10px}.pile-take{font-size:9px;padding:5px 8px}.mode-choices button{padding:10px 13px}.mode-choices b{font-size:12px}}
@media(max-height:500px) and (orientation:landscape){.pile-wrap{height:84px}.pile-heading{top:4px}.pile-wrap #pileCanvas{height:calc(100% - 18px);margin-top:18px}.pile-take{font-size:8px;padding:4px 7px}}
/* A free-standing, slowly dancing mascot, with restrained jelly motion. */
#welcome .jelly-hero{background:none;border:0;border-radius:0;isolation:isolate}#welcome .jelly-hero>img{object-fit:contain;border:0;border-radius:0;background:none;box-shadow:none;filter:drop-shadow(0 16px 12px #9d5bd52b);transform-origin:50% 90%;animation:mascot-dance 7s ease-in-out infinite;will-change:transform}.welcome-choice{transform-origin:50% 75%;animation:jelly-idle 7s ease-in-out infinite}.welcome-choice:nth-child(2){animation-delay:-2.3s}.welcome-choice:nth-child(3){animation-delay:-4.6s}.welcome-choice:active{animation:none;transform:scale(.965,.94)}.jelly-orb{animation:orb-float 8s ease-in-out infinite}.orb-blue{animation-delay:-4s}.jelly-spark{animation:spark-breathe 5s ease-in-out infinite}.jelly-tag{animation:tag-bob 6s ease-in-out infinite}.tag-coral{animation-delay:-3s}.card:hover{animation:card-jelly .5s ease-in-out}.game-mascot{width:30px;height:32px;object-fit:contain;flex-shrink:0;animation:mascot-dance 8s ease-in-out infinite;transform-origin:50% 100%}.shortcut-download{display:block;text-align:center;text-decoration:none;margin:18px 0}.phone-qr{font-size:12px;color:#8d67aa;margin-top:20px}.phone-qr summary{cursor:pointer;font-weight:800}.phone-qr .install-qr{margin-top:15px}
@keyframes mascot-dance{0%,100%{transform:translateY(0) rotate(-3deg) scale(1.02,.98)}20%{transform:translateY(-9px) rotate(3deg) scale(.98,1.025)}45%{transform:translateY(-4px) rotate(-2deg) scale(1.025,.98)}70%{transform:translateY(-11px) rotate(4deg) scale(.99,1.02)}}@keyframes jelly-idle{0%,65%,100%{transform:scale(1) rotate(0)}72%{transform:scale(1.012,.985) rotate(-.5deg)}79%{transform:scale(.994,1.012) rotate(.45deg)}86%{transform:scale(1.004,.995) rotate(-.2deg)}}@keyframes orb-float{0%,100%{translate:0 0}50%{translate:0 -9px}}@keyframes tag-bob{0%,100%{translate:0 0}50%{translate:0 -5px}}@keyframes spark-breathe{0%,100%{opacity:.65;scale:.95}50%{opacity:1;scale:1.12}}@keyframes card-jelly{0%,100%{scale:1}35%{scale:1.015 .985}70%{scale:.995 1.01}}
@media(max-width:650px){.game-mascot{width:22px;height:25px}.gamebar{gap:4px}.game-mascot{animation-duration:10s}}
@media(prefers-reduced-motion:reduce){#welcome .jelly-hero>img,.welcome-choice,.jelly-orb,.jelly-spark,.jelly-tag,.card:hover,.game-mascot{animation:none!important;will-change:auto}}
#welcome .jelly-hero .mascot-stage{position:relative;width:min(350px,31vw);height:min(350px,31vw);flex-shrink:0;filter:drop-shadow(0 16px 12px #9d5bd52b);transform-origin:50% 90%;animation:mascot-dance 7s ease-in-out infinite;will-change:transform;z-index:1}.mascot-stage>img,.mascot-stage>canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:none;border:0;border-radius:0;box-shadow:none}.mascot-stage>canvas{display:none}.mascot-stage.mesh-ready>canvas{display:block}.mascot-stage.mesh-ready>img{visibility:hidden}.jelly-tag{z-index:2}
@media(max-width:650px){#welcome .jelly-hero .mascot-stage{width:150px;height:150px;max-width:25dvh;max-height:25dvh}}
@media(max-height:720px) and (min-width:651px){#welcome .jelly-hero .mascot-stage{width:260px;height:260px}}
@media(max-height:650px) and (max-width:650px){#welcome .jelly-hero .mascot-stage{width:110px;height:110px}}
@media(prefers-reduced-motion:reduce){#welcome .jelly-hero .mascot-stage{animation:none!important;will-change:auto}}

/* V9: the border and puzzle scale together; a loose heap lies below the table. */
#installHeader{display:none!important}.our-apps-button{font-size:14px;padding:13px 19px;font-weight:900;animation:apps-jelly 3.8s ease-in-out infinite;background:linear-gradient(#bcefff,#65c5f0);color:#205a83}.jelly-tag.tag-coral{background:linear-gradient(#bcefff,#65c5f0);color:#205a83;box-shadow:inset 0 4px 6px #fffa,0 6px 0 #5e9ec5}.card-info{padding:10px 14px}.card-info small{font-size:11px;letter-spacing:0;font-weight:800}.card-bottom{margin-top:7px}#setup{width:min(580px,calc(100% - 20px));max-height:96dvh}#setup>img{height:min(25dvh,180px);object-fit:contain;background:#e9d7f7}.setup-body{padding:12px 18px}#setupCat{display:none}.setup-body h2{font:800 21px system-ui;margin:0 0 10px}.setup-body h3{margin:10px 0 8px}.choices{gap:6px}.choices button{padding:8px 9px;min-width:40px}.mode-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:10px}.mode-choices button{padding:10px 8px;text-align:center}.mode-choices b{font-size:12px}.mode-choices small{font-size:9px}.setup-body .wide{padding:12px;margin-top:7px}.setup-body .fine{margin:10px 0 0}.pile-wrap{background:none;border:0;border-radius:0;height:145px;box-shadow:none}.pile-heading>span{display:none}.pile-heading{top:0}.pile-wrap #pileCanvas{height:calc(100% - 15px);margin-top:15px}.pile-mode .table-wrap{flex:0 1 auto;height:min(calc((100vw - 28px)*.674 + 93px),calc(100dvh - 335px));min-height:170px}.pile-mode{background:linear-gradient(120deg,#ecf8ff,#f3edff,#e7fbef)!important}.pile-wrap .pile-take{background:#f7ecffcc}.tray-rotate{display:none!important}#preview{position:fixed;inset:8px;z-index:80;padding:12px;border-radius:18px;background:#241537f5}#preview img{width:100%;height:calc(100% - 52px);max-height:calc(100% - 52px);max-width:100%;object-fit:contain}#preview button{padding:12px 25px;font-weight:800;background:#8e62c3;border-radius:18px;margin-top:8px}footer{flex-wrap:wrap}
@keyframes apps-jelly{0%,65%,100%{transform:scale(1);filter:brightness(1)}75%{transform:scale(1.055,.96);filter:brightness(1.09)}85%{transform:scale(.98,1.04)}93%{transform:scale(1.015,.99)}}
@media(max-width:650px){header .our-apps-button{font-size:11px;padding:10px 13px}#setup>img{height:21dvh}.mode-choices small{display:none}.mode-choices b{font-size:11px}.mode-choices button{min-height:46px;padding:8px 5px}.setup-body{padding:12px}.setup-body h2{font-size:19px}.setup-body .wide{padding:11px}.pile-wrap{height:133px}.pile-mode .table-wrap{height:min(calc((100vw - 28px)*.674 + 93px),calc(100dvh - 340px))}}
@media(max-height:500px) and (orientation:landscape){#setup[open]{display:grid;grid-template-columns:34% 1fr}#setup>img{height:100%;min-height:240px}.setup-body{padding:10px 14px}.setup-body h2{font-size:16px;margin-bottom:4px}.setup-body h3{margin:5px 0}.mode-choices button{padding:7px}.mode-choices small{display:none}.setup-body .fine{display:none}.choices button{padding:5px 8px}.setup-body .wide{padding:8px}.pile-wrap{height:80px}.pile-mode .table-wrap{height:auto;flex:1;min-height:100px}}
@media(prefers-reduced-motion:reduce){.our-apps-button{animation:none!important}}

/* Arms dance in opposite directions; the body sways without tipping over. */
@keyframes mascot-dance{0%,100%{transform:translate(-5px,0) scale(1.01,.99)}25%{transform:translate(0,-5px) scale(.99,1.02)}50%{transform:translate(5px,0) scale(1.01,.99)}75%{transform:translate(0,-5px) scale(.99,1.02)}}
#welcome .jelly-hero .mascot-stage{animation-duration:4.3s}

@media(max-width:650px){.gamebar .our-apps-game{font-size:9px;padding:9px 10px;animation:none}.gamebar .game-title{min-width:55px}.gamebar .game-title b{font-size:10px}}

/* V10 — polished translucent jelly, without border rings or external drop shadows. */
:root{--gel-hi:#dc68ff;--gel-mid:#a81df5;--gel-low:#7104c5;--gel-ink:#fff}
button:not(.card),a.primary{--gel-hi:#dc68ff;--gel-mid:#a81df5;--gel-low:#7104c5;--gel-ink:#fff;border:0!important;box-shadow:none!important;text-shadow:none!important;color:var(--gel-ink)!important;background:radial-gradient(ellipse at 34% 9%,#ffffffc9 0%,#ffffff4f 14%,#ffffff00 46%),radial-gradient(ellipse at 86% 86%,#ffffff46 0%,#ffffff00 36%),linear-gradient(165deg,var(--gel-hi) 2%,var(--gel-mid) 48%,var(--gel-low) 100%)!important;isolation:isolate;transition:transform .16s,filter .16s}
button:not(.card)::before,button:not(.card)::after{box-shadow:none!important;border:0!important;text-shadow:none!important}
button:not(.card):hover{filter:brightness(1.06)}button:not(.card):active{transform:scale(.96,.94)}button:disabled{opacity:.45}
.choice-green,.filters button:nth-child(4n+2),.jelly-tag.tag-mint,.table-tools #ghost,button.offline-status.ready{--gel-hi:#74ffb1!important;--gel-mid:#12d48f!important;--gel-low:#009963!important;--gel-ink:#034f3c!important}
.choice-blue,.our-apps-button,.jelly-tag.tag-coral,.choices button,.filters button:nth-child(4n+3),.install-platforms button,.piece-tray>button{--gel-hi:#83f4ff!important;--gel-mid:#18bff6!important;--gel-low:#0579d6!important;--gel-ink:#063858!important}
.choice-coral,.filters button:nth-child(4n),.close,.table-tools #hint{--gel-hi:#ff8cc9!important;--gel-mid:#f32b8f!important;--gel-low:#c70b65!important;--gel-ink:#fff!important}
.install-spotlight .primary,.pile-take,.table-tools #rotate{--gel-hi:#ffe778!important;--gel-mid:#ffa238!important;--gel-low:#f45b45!important;--gel-ink:#6c2735!important}
.filters button.active,.choices button.active,.mode-choices button.active,.install-platforms button.active,.nav.active,.table-tools button.active{--gel-hi:#d05cff!important;--gel-mid:#9c13ed!important;--gel-low:#6500b5!important;--gel-ink:#fff!important;font-weight:900}
.welcome-choice,.jelly-tag,.primary,.our-apps-button,.nav,.mode-choices button,.filters button,.choices button{border-radius:22px!important}
.welcome-choice small,.welcome-choice b,.welcome-choice i,.welcome-choice .menu-symbol,.install-spotlight b,.install-spotlight small,.mode-choices small,.mode-choices b{color:inherit!important;text-shadow:none!important}.menu-symbol,.install-device,.install-spark{box-shadow:none!important;text-shadow:none!important}.install-spotlight .primary:before,.install-spotlight .primary:after{display:none!important}
.brand,.brand-animal,.install-app-icon{border:0!important;outline:0!important;box-shadow:none!important;background:none!important}.brand:focus-visible{outline:none!important}.brand:focus-visible b{text-decoration:underline;text-underline-offset:5px}.brand-animal{border-radius:12px!important}.card{border:0!important;box-shadow:none!important}.card:after,.card-image:after{box-shadow:none!important}.card-info small,.card-bottom{color:#6d3b91}.card-bottom b{box-shadow:none!important}
button.offline-status{display:block;max-width:100%;margin:9px auto 0!important;padding:5px 13px!important;min-height:24px!important;border-radius:14px!important;font-size:10px!important;font-weight:800!important;animation:none!important;line-height:1.3;--gel-hi:#a2ecff;--gel-mid:#73d3f5;--gel-low:#4ba3dc;--gel-ink:#16466d}.offline-status::before{content:'↓ ';display:inline}.offline-status.ready::before{content:'● ';font-size:8px}.offline-status.failed::before{content:'↻ '}
#welcome .install-spotlight{margin-bottom:13px}.mascot-stage{filter:none!important}.game-mascot{filter:none!important}.tray-piece,.tray-piece.selected{box-shadow:none!important;border:0!important}.tray-piece.selected{background:#d8b2f4!important}#preview button{box-shadow:none!important}
@media(max-width:650px){#welcome .install-spotlight{margin-bottom:12px}#welcome .jelly-hero{height:130px}.welcome-choice{border-radius:20px!important}button.offline-status{font-size:9px!important;margin-top:7px!important;padding:4px 11px!important;min-height:21px!important}}

#welcome .hero-copy>button.offline-status{margin:0 auto 12px!important}button.offline-status.failed{--gel-hi:#ffd08c;--gel-mid:#ffa25e;--gel-low:#ee6e62;--gel-ink:#642a33}

#heroImg:not([src]){visibility:hidden}

/* V10.2: focused game layout and clear selected modes. */
#cards>.card{border:3px solid #b452ed!important;box-shadow:none!important}
#cards>.card:hover,#cards>.card:focus-visible{border-color:#008edb!important}
#cards.collection-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;max-width:1100px;margin:auto}
#cards .collection-card{position:relative;aspect-ratio:1;isolation:isolate;border-radius:24px;overflow:hidden;background:#754299}
#cards .collection-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.collection-caption{position:absolute;inset:45% 0 0;display:flex;flex-direction:column;justify-content:end;align-items:start;padding:17px;background:linear-gradient(transparent,#25113ce8);color:white}
.collection-caption b{font-size:20px;font-weight:900}.collection-caption small{font-size:11px;margin-top:4px;color:#eee0ff}
@media(max-width:650px){#cards.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.collection-caption{padding:12px}.collection-caption b{font-size:17px}}

#preview{inset:0!important;background:#20132f!important;z-index:500!important;opacity:1!important;border:0!important;border-radius:0!important;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important}
#preview[hidden]{display:none!important}
#preview img{flex:1;min-height:0;object-fit:contain;width:100%;height:calc(100% - 60px);max-height:calc(100% - 60px)}
#preview button{flex-shrink:0;position:relative;z-index:1;min-height:44px;margin:8px 0 0}
#appsHeader{display:none!important}
@media(min-width:651px){#welcome .hero{grid-template-columns:1.15fr 1fr;gap:48px}#welcome .hero-copy{grid-column:2;grid-row:1}#welcome .jelly-hero{grid-column:1;grid-row:1;height:min(550px,75dvh)}#welcome .jelly-hero .mascot-stage{width:min(460px,37vw,64dvh);height:min(460px,37vw,64dvh)}#welcome .jelly-orb.orb-mint{width:118px;height:118px}#welcome .jelly-orb.orb-blue{width:96px;height:96px}#welcome .jelly-tag{font-size:16px;padding:18px 24px}}
@media(max-width:650px){#welcome .hero .jelly-hero{height:180px;max-height:28dvh}#welcome .jelly-hero .mascot-stage{width:190px;height:190px;max-width:29dvh;max-height:29dvh}#welcome .hero{gap:5px}#welcome .jelly-tag{font-size:11px;padding:12px 13px}}
@media(max-width:650px) and (max-height:700px){#welcome .hero .jelly-hero{height:145px}#welcome .jelly-hero .mascot-stage{width:155px;height:155px}#welcome .hero h1{font-size:23px}#welcome .welcome-choice{min-height:52px}#welcome .welcome-menu{gap:8px}#welcome .install-spotlight .primary{min-height:58px}#welcome .install-spotlight{margin:8px 4px 12px}}

.install-device{display:none!important}
@media(hover:hover) and (pointer:fine){button:not(:disabled):hover,a.primary:hover{filter:brightness(1.2) saturate(1.12)!important}.card:hover{filter:brightness(1.1)!important}.install-spotlight .primary:hover{animation-play-state:paused!important;filter:brightness(1.2) saturate(1.12)!important;transform:scale(1.035)}}
button:not(:disabled):focus-visible{filter:brightness(1.15)!important}

#welcome{position:relative}#welcome .hero{height:calc(100% - 28px)}
#welcome>button.offline-status{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);margin:0!important;white-space:nowrap;font-size:9px!important;min-height:20px!important;padding:3px 10px!important;animation:none!important}

.brand,.brand *,.brand:hover,.brand:focus,.brand:active,.brand:focus-visible b{text-decoration:none!important;border-bottom:0!important;box-shadow:none!important}
.brand:focus-visible{outline:0!important;filter:brightness(1.12)}
#setup #modes button{--gel-hi:#dc68ff!important;--gel-mid:#a81df5!important;--gel-low:#7104c5!important;--gel-ink:#fff!important}
#setup #modes button.active{--gel-hi:#83f4ff!important;--gel-mid:#18bff6!important;--gel-low:#0579d6!important;--gel-ink:#063858!important}
body.playing{height:100dvh;overflow:hidden}
#game{height:100dvh;min-height:0;overflow:hidden}
#game .gamebar{order:0;flex-shrink:0}#trayTop{order:1}
#game .table-wrap{order:2;flex:1 1 0;min-height:90px;height:auto}
#game .pile-wrap{order:3;flex:0 0 clamp(105px,22dvh,170px);height:clamp(105px,22dvh,170px);margin:0;border:0;background:none;box-shadow:none}
#game .gamefoot{order:4;display:none}
#game #trayBottom{order:5;margin-top:auto;flex:0 0 auto;height:calc(88px + env(safe-area-inset-bottom));padding-bottom:calc(5px + env(safe-area-inset-bottom))}
#game #trayBottom .tray-list{height:76px}#game #trayBottom .tray-piece{width:80px;height:70px}
#game .pile-wrap #pileCanvas{height:calc(100% - 19px);margin-top:19px}
@media(max-height:500px){#game .pile-wrap{flex-basis:85px;height:85px}#game #trayBottom{height:calc(66px + env(safe-area-inset-bottom))}#game #trayBottom .tray-list{height:55px}#game #trayBottom .tray-piece{width:62px;height:54px}#game #trayBottom>button{min-height:42px}}


/* V10.3: one toolbar, square table and a free piece workspace. */
#game{position:fixed;inset:0;display:flex;flex-direction:column;height:100dvh;overflow:hidden}
#game[hidden]{display:none!important}
#game .gamebar{position:relative;z-index:110;flex:0 0 auto;display:flex;flex-wrap:nowrap;align-items:center;gap:6px;padding:calc(6px + env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left));min-height:0;height:auto;justify-content:flex-start}
#game .gamebar>button{width:44px;height:42px;min-width:0;padding:0;flex:0 1 44px;font-size:25px;border:0;border-radius:13px;line-height:1;box-shadow:none}
#game .gamebar #rotate{margin-left:auto;flex:0 0 54px;width:54px;height:46px;background:#ffcf22;color:#55340b;font-size:34px}
#game .gamebar [hidden]{display:none!important}
#game .table-wrap{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}
#game #table{width:100%;height:100%;display:block}
#game .gamefoot{display:none}
#game.pile-mode .piece-tray{display:none!important}
#game.pile-mode .pile-wrap{position:absolute;z-index:20;left:0;right:0;bottom:env(safe-area-inset-bottom,0px);height:clamp(160px,30dvh,240px);min-height:0;border:0;background:none;box-shadow:none;padding:0;transition:opacity .18s;pointer-events:none}
#game.pile-mode .pile-wrap canvas{width:100%;height:100%;display:block;touch-action:none;pointer-events:auto}
#game.pile-mode .pile-heading,#game.pile-mode .pile-take{display:none}
#game.workspace-zoomed .pile-wrap{opacity:0;visibility:hidden;pointer-events:none}
#game.workspace-zoomed .pile-wrap canvas{pointer-events:none}
#pieceInspector{position:absolute;inset:0;z-index:100;background:#f2e8ff;display:grid;place-items:center}
#pieceInspector[hidden]{display:none}
#inspectCanvas{width:min(84vw,650px);height:min(65dvh,650px)}
#closePieceInspector{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:#8140dc;color:white;padding:12px 24px;border:0;border-radius:18px;font-weight:800}
#game #preview{position:fixed;inset:0;z-index:200;background:#20112f;opacity:1}
#game #preview img{width:min(92vw,88dvh);height:min(92vw,88dvh);object-fit:cover;aspect-ratio:1}
#themeDialog{padding:26px;max-width:420px;width:90vw}
#themeChoices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#themeChoices button{display:flex;align-items:center;gap:10px;padding:10px;border:2px solid transparent;border-radius:12px;background:#f6f0fc;color:#332247;font-weight:700}
#themeChoices button[aria-pressed=true]{border-color:#8b2be1}
#themeChoices i{display:block;width:26px;height:26px;border:2px solid var(--swatch-border);background:repeating-linear-gradient(45deg,transparent 0 5px,#7771 5px 6px),var(--swatch-bg)}
@media(max-width:450px){#game .gamebar{gap:4px}#game .gamebar>button{width:36px;height:39px;flex-basis:36px;font-size:22px}#game .gamebar #rotate{width:48px;flex-basis:48px;height:43px}}

#game.pile-mode .pile-wrap #pileCanvas{height:100%;margin:0}#game .gamebar>button{background:linear-gradient(145deg,#c65cff,#8e24e5);color:white}#game #back{background:linear-gradient(145deg,#65dfff,#168ada)}
#game #preview img{flex:0 1 auto;max-height:min(82dvh,92vw);max-width:92vw;aspect-ratio:1;object-fit:cover}
#setupImg{aspect-ratio:1;object-fit:cover}
#game #table{margin:0;position:absolute;inset:0}
#game .gamebar #rotate{--gel-hi:#ffed76!important;--gel-mid:#ffd128!important;--gel-low:#f6a800!important;--gel-ink:#653300!important}
#game #back:before{content:none}
#game #toast{z-index:130}

.collection-symbol{display:grid;place-items:center;position:absolute;inset:0;font-size:80px;color:#f4dcff;background:linear-gradient(140deg,#ba73ed,#5e39a0)}
/* V10.4: large unframed details, gesture scrolling and a full-screen setup. */
#game .piece-tray{border:0;background:linear-gradient(120deg,#e9dcf8,#dff4fa);padding:5px 8px;gap:0}
#game .piece-tray>button,#game .tray-label{display:none!important}
#game #trayBottom{height:calc(166px + env(safe-area-inset-bottom));padding-bottom:calc(5px + env(safe-area-inset-bottom))}
#game .piece-tray .tray-list,#game #trayBottom .tray-list{height:154px;gap:10px;overscroll-behavior-x:contain;scrollbar-width:thin}
#game .piece-tray .tray-piece,#game #trayBottom .tray-piece,#game .tray-piece.selected{width:176px;height:150px;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;flex:0 0 auto}
#game .gamebar #hint{display:none!important}
#setup{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;box-shadow:none;padding:0;background:#241337;color:#fff;overflow:hidden}
#setup[open]{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:stretch}
#setup .setup-picture{margin:0;display:grid;place-items:center;min-width:0;min-height:0;padding:18px}
#setup #setupImg{width:min(100%,calc(100dvh - 36px));height:auto;max-height:calc(100dvh - 36px);aspect-ratio:1;object-fit:cover;display:block;border:0;border-radius:10px}
#setup .setup-body{padding:60px 20px 22px;display:flex;flex-direction:column;justify-content:center;overflow:auto;background:#efe4fc;color:#352045}
#setup .setup-body h2,#setup .setup-body #setupCat,#setup .fine{display:none}
#setup .setup-body h3{margin:12px 0 7px;font-size:13px}
#setup .choices{gap:6px}#setup .choices button{padding:10px 12px;min-height:40px;flex:1 0 20%}
#setup .mode-choices{display:grid;grid-template-columns:1fr;gap:6px}#setup .mode-choices button{min-height:44px;padding:10px}
#setup .mode-choices small{display:none}#setup .mode-choices b{font-size:12px}
#setup .close{right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));width:40px;height:40px;z-index:3}
#setup .wide{min-height:48px;font-size:14px;margin-top:14px}
.saved-card .card-info{display:grid;gap:8px;padding:14px;font-size:12px}
.saved-card .card-info strong{font-size:19px;color:#5a288d}
.saved-card .resume-label{display:block;padding:12px 8px;text-align:center;border-radius:15px;background:#922de0;color:#fff;font-size:13px}
@media(max-width:700px){
 #setup[open]{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}
 #setup .setup-picture{padding:max(8px,env(safe-area-inset-top)) 8px 8px}
 #setup #setupImg{width:auto;height:100%;max-height:100%;max-width:100%;aspect-ratio:1;object-fit:cover}
 #setup .setup-body{padding:6px 12px max(10px,env(safe-area-inset-bottom));overflow:visible}
 #setup .setup-body h3{margin:5px 0;font-size:11px}
 #setup .choices{gap:4px}#setup .choices button{flex:1 0 8%;padding:7px 4px;font-size:12px;min-height:34px}
 #setup .mode-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 #setup .mode-choices button{padding:8px 3px;min-height:43px}#setup .mode-choices b{font-size:11px}
 #setup .wide{margin-top:7px;min-height:44px;padding:10px}
 #game #trayBottom{height:calc(143px + env(safe-area-inset-bottom))}
 #game .piece-tray .tray-list,#game #trayBottom .tray-list{height:130px}
 #game .piece-tray .tray-piece,#game #trayBottom .tray-piece{width:148px;height:126px}
}
@media(max-height:500px) and (orientation:landscape){
 #setup[open]{grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:1fr}
 #setup .setup-body{padding:10px 12px;overflow:auto}#setup .choices button{padding:5px;min-height:30px}
 #game #trayBottom{height:106px}#game .piece-tray .tray-list,#game #trayBottom .tray-list{height:96px}
 #game .piece-tray .tray-piece,#game #trayBottom .tray-piece{width:112px;height:96px}
}
@media(max-width:700px) and (orientation:portrait){#setup #setupImg{width:min(calc(100vw - 16px),calc(100dvh - 264px));height:min(calc(100vw - 16px),calc(100dvh - 264px));max-width:100%;max-height:100%;aspect-ratio:1;object-fit:cover}}

/* V10.5: the entire gap below the board is usable workspace. */
#game.pile-mode .pile-wrap{height:auto;min-height:0;max-height:none}
.home-update{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin:10px 0 0}
.home-update-button{border:0;border-radius:16px;padding:10px 16px;background:linear-gradient(140deg,#59d7ff,#277be8);color:white;font:800 13px system-ui;cursor:pointer}
.home-update-button:disabled{opacity:.65;cursor:wait}.home-update>span{font:600 10px system-ui;color:#674980}
@media(max-width:650px){.home-update{gap:6px;margin-top:7px}.home-update-button{padding:8px 12px;font-size:11px}.home-update>span{font-size:9px}#welcome .welcome-choice{min-height:49px}#welcome .welcome-menu{gap:8px}}

/* Free pieces share the table canvas: no separate hit surface or clipping seam. */
#game.pile-mode .pile-wrap{display:none!important}

/* Gallery cards show the complete picture without repeated captions. */
#cards:not(.collection-grid) .picture-card .card-image{aspect-ratio:1;height:auto;display:flex;align-items:center;justify-content:center;background:#e7dcf5}
#cards:not(.collection-grid) .picture-card img{width:100%;height:100%;object-fit:contain;display:block}
#setupImg,#setup>img,#game #preview img{object-fit:contain!important;background:#dcd2ed}

/* Fill the whole square without cutting off any part of the original picture. */
#cards .card-image img,#cards .collection-card>img,#cards:not(.collection-grid) .picture-card img,#setup #setupImg,#setup>img,#game #preview img{object-fit:fill!important}

/* Uniform enlargement fills the square and preserves circles and faces. */
#cards .card-image img,#cards .collection-card>img,#cards:not(.collection-grid) .picture-card img,#setup #setupImg,#setup>img,#game #preview img{object-fit:cover!important}
#cards [data-category="people"] img,#cards [data-collection="people"] img{object-position:50% 0%}

/* Pack tray canvases tightly; no selected rims or small pieces. */
#game .piece-tray .tray-list,#game #trayBottom .tray-list{gap:2px}
#game .piece-tray .tray-piece,#game #trayBottom .tray-piece{margin-inline:-10px}
#game .gamebar #recoverPieces{background:#ff941c;color:#fff;font-size:23px}

/* The tray owns touch scrolling until a deliberate vertical pickup. */
#game .piece-tray .tray-piece{touch-action:none}
#game .piece-tray .tray-list{padding-inline:10px}

#game .gamebar #recoverPieces{--gel-hi:#ffc46d!important;--gel-mid:#ff941c!important;--gel-low:#e56500!important;--gel-ink:#fff!important}
