@charset "UTF-8";
:root{font-family:"Trebuchet MS",Arial,sans-serif;color:#153f47;font-synthesis:none;--aqua:#5dcde3;--deep:#075768;--cream:#fff8e7;--accent:#3caebf;--tile:#d9d1b8;--ink:#195b63}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;min-height:100%;overflow:hidden}body{background:#196a74}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible{outline:3px solid #fff;outline-offset:5px;box-shadow:0 0 0 7px #147786}button svg{pointer-events:none}svg.icon{width:24px;height:24px;fill:currentColor;display:block;flex:none}button,[role=group]{user-select:none}[hidden]{display:none!important}
#app{height:100%;height:100dvh;position:relative;isolation:isolate;overflow:hidden}main{height:100%;min-height:0}.scenery,.scene-shade{position:absolute;inset:0;z-index:-2}.scenery img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;transition:opacity .3s ease}.scene-shade{z-index:0;background:linear-gradient(180deg,rgba(5,53,66,.04),transparent 45%,rgba(4,61,65,.24))}.light-motes{position:absolute;inset:0;background-image:radial-gradient(circle,#fff7c9 0 1px,transparent 3px),radial-gradient(circle,#fff9d4 0 1px,transparent 3px);background-size:237px 307px,397px 223px;opacity:.23;animation:motes 22s linear infinite;pointer-events:none}
.topbar{position:absolute;top:0;left:0;right:0;padding:max(22px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) 0 max(28px,env(safe-area-inset-left));z-index:12;display:flex;justify-content:space-between;align-items:start;pointer-events:none}.topbar>*{pointer-events:auto}.top-right{display:flex;gap:12px;align-items:center}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:48px;height:48px;color:#176479;background:linear-gradient(#fffef4,#dcf2ee);border:2px solid #fffbdc;border-radius:16px;box-shadow:0 4px 0 #3a8995,0 6px 16px #123f4930;transition:transform .16s,filter .16s}.icon-button:hover{filter:brightness(1.08);transform:translateY(-2px)}.icon-button:active{transform:translateY(2px)}.top-button{width:auto;min-width:48px;padding:0 15px}.top-label{font-weight:800;font-size:14px}.player-card{display:flex;align-items:center;gap:9px;background:#fff9e7ed;border:2px solid #fff;border-radius:17px;padding:6px 12px 6px 6px;box-shadow:0 4px 0 #3a8995;max-width:220px}.player-avatar{width:34px;height:34px;border-radius:11px;background:linear-gradient(#65d7da,#16949f);display:grid;place-items:center;color:white;font-weight:900}.player-card small{display:block;font-size:8px;font-weight:900;letter-spacing:1.3px;color:#478087}.player-card strong{display:block;font-size:14px;max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.screen{height:100%;position:relative}.home-screen{overflow:auto;scrollbar-width:thin}.home-content{min-height:100%;padding:clamp(72px,8.5vh,106px) 24px 76px;display:flex;align-items:center;flex-direction:column;text-align:center;animation:arrive .6s ease both}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:900;margin:0 0 8px;color:#186375}.home-content>.eyebrow{color:#ecfcfd;text-shadow:0 2px 5px #07495f}.home-content h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(52px,6vw,86px);line-height:1;margin:0;color:#fffbe5;font-weight:900;letter-spacing:-3px;text-shadow:0 4px 0 #0e7987,0 7px 0 #075261,0 10px 20px #12495155;-webkit-text-stroke:1px #fff6ca}.home-content h1>span{display:block;font:700 clamp(19px,2vw,26px)/1.4 "Trebuchet MS",sans-serif;letter-spacing:1px;margin-bottom:2px;text-shadow:0 2px 3px #175363;-webkit-text-stroke:0;color:#efffff}.island-emblem{width:112px;height:112px;margin:25px 0 12px;border:4px solid #fff5c9;border-radius:25px;position:relative;background:linear-gradient(#64d6ed 60%,#28b1ce 60%);box-shadow:0 6px 0 #0c7180,0 12px 25px #06596340,inset 0 0 0 3px #ffffff60;transform:rotate(-5deg)}.emblem-palm{position:absolute;font-size:70px;left:9px;top:6px;filter:drop-shadow(0 3px 0 #2d756633);transform:rotate(5deg)}.emblem-sun{position:absolute;right:12px;top:15px;background:#fff2af;border-radius:50%;width:28px;height:28px;box-shadow:0 0 20px #ffefa577}.emblem-waves{position:absolute;bottom:11px;left:15px;right:15px;height:13px;border-block:3px solid #c8f8ee;border-radius:50%;transform:rotate(5deg)}.emblem-star{position:absolute;color:#fffad0;font-size:27px;text-shadow:0 2px #1f9fac;animation:sparkle 3s ease-in-out infinite}.star-one{left:-17px;top:18px}.star-two{right:-20px;bottom:9px;animation-delay:1s}.home-tagline{font-size:16px;line-height:1.5;margin:4px 0 21px;font-weight:700;color:#f5ffff;text-shadow:0 2px 7px #0b4d5c,0 0 16px #176874}.home-actions{display:flex;flex-direction:column;gap:13px;width:286px;max-width:100%}.candy-button{display:flex;justify-content:center;align-items:center;gap:13px;min-height:58px;padding:13px 22px;border-radius:20px;border:2px solid #c8f8ff;background:linear-gradient(#89e6ee 0%,#47cbdf 42%,#1da6c0 100%);color:white;text-shadow:0 2px #168197;font-weight:900;font-size:21px;letter-spacing:.1px;box-shadow:inset 0 3px #ffffff77,inset 0 -3px #1c8fa855,0 6px 0 #08748a,0 12px 19px #07496340;position:relative;transition:transform .15s,filter .15s}.candy-button:hover{transform:translateY(-2px);filter:brightness(1.06)}.candy-button:active{transform:translateY(4px)}.candy-button:disabled{filter:grayscale(.7);opacity:.7;transform:none}.candy-button.secondary{min-height:46px;font-size:15px;border-color:#fff8db;background:linear-gradient(#fffff2,#d4f0eb);color:#246977;text-shadow:0 1px white;box-shadow:inset 0 2px white,0 4px 0 #62a4a2,0 7px 14px #12475133;border-radius:15px}.secondary .icon{width:19px;height:19px}.button-spark{position:absolute;right:17px;top:8px;font-size:16px;color:#d4fbff}.home-note{color:#e6ffff;font-size:11px;font-weight:700;text-shadow:0 1px 4px #105661;margin:18px 0 0;max-width:290px;line-height:1.5}.journey-preview{display:flex;align-items:center;margin-top:22px}.journey-node{width:28px;height:28px;border:2px solid #fff9d0b3;background:#134c5d7d;color:#d9f8f2;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:900;box-shadow:0 2px 0 #236576}.journey-node.unlocked{background:#fff3b9;color:#226679;border-color:white}.journey-line{width:24px;border-top:2px dashed #e2f3d799}.journey-caption{font-size:11px;color:#f1fff9;text-shadow:0 1px 5px #114b59;margin:9px 0 0}
.bottom-bar{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:28px;right:28px;display:flex;justify-content:space-between;align-items:end;pointer-events:none;z-index:11}.bottom-bar>span{font-size:9px;letter-spacing:2px;font-weight:900;color:#eeffff;text-shadow:0 1px 4px #125366}.bottom-bar>button{pointer-events:auto}.bottom-bar .icon-button{width:42px;height:42px;border-radius:14px}.game-heading{position:absolute;top:25px;left:50%;transform:translateX(-50%);text-align:center;width:300px;color:#174e56}.game-heading h1{font-family:Georgia,serif;font-size:30px;margin:2px 0 9px;color:#fcf8e2;text-shadow:0 2px 0 #125563,0 4px 9px #103e41}.game-heading .eyebrow{display:block;color:#fff6d6;text-shadow:0 1px 5px #234b48;font-size:10px;letter-spacing:2px}.round-progress{display:flex;gap:6px;justify-content:center}.round-dot{width:7px;height:7px;background:#ebefdc70;border:1px solid #fff4c5;border-radius:50%}.round-dot.done{background:#fff0a9;box-shadow:0 0 7px #fff1be}.round-dot.current{background:#fff;transform:scale(1.3)}
.game-hud{position:absolute;top:120px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:stretch;z-index:3}.hud-card{display:flex;align-items:center;gap:10px;background:#fff9e9ef;border:2px solid #fffcdf;border-radius:17px;padding:9px 17px;box-shadow:0 4px 0 #286d6d72,0 5px 18px #234d5030;min-width:128px}.hud-card small{display:block;font-size:8px;letter-spacing:1.5px;font-weight:900;color:#688383}.hud-card strong{font-size:22px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.1;display:block;margin-top:1px}.score-card>.icon{color:#dba547;width:26px;height:26px}.timer-card{position:relative;min-width:140px}.timer-card>.icon{color:#3593a3}.timer-track{position:absolute;bottom:3px;left:13px;right:13px;height:3px;border-radius:3px;background:#1d6a7a19;overflow:hidden}.timer-track i{height:100%;width:100%;display:block;background:#56b8bb;transform-origin:left}.timer-card.urgent{color:#b44139}.timer-card.urgent .timer-track i{background:#dd6259}.timer-card.frozen{opacity:.8}.lives-card{flex-direction:column;justify-content:center;gap:4px;min-width:125px}.lives-card>div{display:flex;gap:4px;color:#e37177}.lives-card .icon{width:23px;height:23px;filter:drop-shadow(0 2px 0 #b35f6238)}.life-empty{opacity:.22}
.phase-caption{position:absolute;top:202px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:9px;width:max-content;max-width:90%;padding:8px 17px;border:1px solid #fffcdecc;background:#fff9e4e8;border-radius:30px;color:#315d5f;box-shadow:0 3px 12px #234c3926;font-size:14px;z-index:3}.phase-caption>.icon{width:19px;height:19px;color:#33828d}.phase-caption p{margin:0;font-weight:800}.phase-caption>span:last-child{font-size:10px;letter-spacing:1px;color:#70847b;white-space:nowrap}
.playfield{position:absolute;width:var(--field-width,430px);left:50%;top:51%;transform:translate(-50%,-30%);z-index:2;--stone-size:102px;--stone-gap:18px}.pad-grid{display:grid;grid-template-columns:repeat(var(--columns,2),var(--stone-size));gap:var(--stone-gap);justify-content:center;perspective:800px}.memory-pad{width:var(--stone-size);height:calc(var(--stone-size)*.83);border:1px solid #9d9b839c;border-top-color:#fff9e5;border-radius:5px;padding:0;position:relative;display:grid;place-items:center;color:var(--ink);background:radial-gradient(ellipse at 20% 10%,#fff7e480,transparent 55%),repeating-linear-gradient(125deg,transparent 0 6px,#7b796a08 7px 8px),linear-gradient(150deg,#ede5cc,var(--tile) 58%,#b5b59e);box-shadow:inset 1px 1px 0 #ffffedb0,inset -2px -2px 3px #7c897035,0 3px 0 #898f77,2px 5px 5px #41493744;transition:background .12s,box-shadow .12s,filter .12s,transform .12s;outline-offset:6px}.memory-pad::before{content:"";position:absolute;inset:8%;border:2px solid #789d9955;box-shadow:inset 1px 1px 1px #ffffff66;border-radius:2px;pointer-events:none}.memory-pad::after{content:"";position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at center,#fffedc,transparent 75%);pointer-events:none;transition:opacity .08s}.memory-pad>.icon{width:31%;height:37%;opacity:.62;filter:drop-shadow(0 1px #fffbed);z-index:1}.pad-number{position:absolute;right:10px;bottom:7px;font-size:9px;font-weight:900;opacity:.5}.memory-pad:not(:disabled):hover{filter:brightness(1.12)}.memory-pad:not(:disabled):active{transform:translateY(2px)}.memory-pad:disabled{opacity:1}.memory-pad.is-lit,.memory-pad.is-tapped{background:linear-gradient(145deg,#fffbd1,#d7f6e7 45%,#8cdfcf);color:#257b7c;border-color:#faffdf;box-shadow:inset 0 0 15px #ffffec,0 2px 0 #6aa296,0 0 24px #fff4aede,0 0 48px #fffce333;transform:translateY(-1px)}.memory-pad.is-lit::after,.memory-pad.is-tapped::after{opacity:.6}.memory-pad.is-lit>.icon,.memory-pad.is-tapped>.icon{opacity:1}.memory-pad.is-wrong{filter:sepia(.4);box-shadow:0 0 0 3px #d9826a,0 3px 0 #a17f67}.scout{position:absolute;left:50%;top:100%;width:140px;height:210px;transform:translate(-50%,-89%);pointer-events:none;z-index:5;will-change:left,top}.scout img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform-origin:50% 88%;filter:drop-shadow(-1px 2px 1px #38614044)}.scout-shadow{position:absolute;width:45%;height:11%;left:24%;top:85%;border-radius:50%;background:radial-gradient(ellipse,#253e295c,transparent 70%);transform:rotate(-20deg)}.scout.moving img{animation:scout-step .24s ease-in-out infinite}.scout:not(.moving) img{animation:scout-breathe 3s ease-in-out infinite}.tap-burst{position:absolute;color:#fffcba;font-size:24px;pointer-events:none;opacity:0;z-index:6}.tap-burst.pop{animation:pop .55s ease-out}.game-instructions{position:absolute;bottom:53px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center;color:#fcffef;text-shadow:0 1px 5px #124a3a;font-size:12px;font-weight:700;text-align:center;width:max-content;max-width:75%}.game-instructions>.icon{width:18px;height:18px}.level-intro{position:absolute;inset:0;display:grid;place-items:center;z-index:7;pointer-events:none;opacity:0;transition:opacity .25s;background:#0c4f5e13}.level-intro.visible{opacity:1}.level-intro>div{background:linear-gradient(150deg,#ffffe7f5,#e0f1def5);padding:24px 44px;border:3px solid #fffbd8;border-radius:23px;box-shadow:0 7px 0 #338b8b80,0 18px 45px #1d4d4555;text-align:center;transform:scale(.94);transition:transform .3s}.level-intro.visible>div{transform:scale(1)}.level-intro span{display:block;color:#3c9a9e;font-weight:900;font-size:13px;letter-spacing:3px}.level-intro strong{display:block;font:800 34px/1.2 Georgia,serif;color:#1d6570;margin:6px 0}.level-intro p{margin:0;font-size:13px;color:#578182}
body[data-level="2"]{--tile:#e7d8c4;--ink:#8b7364;--accent:#b0907c}body[data-level="3"]{--tile:#d1d4b2;--ink:#597956;--accent:#69896a}body[data-level="4"]{--tile:#d6d0c7;--ink:#6f737f;--accent:#8e829a}body[data-screen="game"] .scene-shade{background:linear-gradient(180deg,#103f4866,transparent 33%,transparent 80%,#15484350)}
.game-dialog{width:min(430px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:0;color:#265c64;border:3px solid #fffbdf;border-radius:28px;background:linear-gradient(150deg,#fffdec,#e8f3e8);box-shadow:0 8px 0 #216b7788,0 30px 80px #063e5770;animation:dialog-in .28s ease both}.game-dialog::backdrop{background:#123e50a3;backdrop-filter:blur(6px)}#dialog-content{padding:30px 28px;text-align:center}.dialog-close{position:absolute;right:13px;top:13px;width:34px;height:34px;border-radius:11px;box-shadow:0 3px 0 #79aaa7}.dialog-close .icon{width:18px;height:18px}.modal-hero-icon{width:76px;height:76px;display:grid;place-items:center;margin:0 auto 14px;border-radius:24px;background:linear-gradient(#ffeab4,#edbc63);color:#ac6f1c;box-shadow:inset 0 3px #fff8d2,0 5px 0 #d59747;transform:rotate(-5deg)}.modal-hero-icon .icon{width:41px;height:41px}.game-dialog h2{font:900 30px/1.15 Georgia,serif;margin:5px 0 10px;color:#175e6c}.modal-description{font-size:14px;line-height:1.5;color:#638084;margin:0 auto 19px;max-width:310px}.modal-score{font-size:46px;font-weight:900;color:#1b8595;line-height:1.2}.modal-score small{display:block;font-size:9px;letter-spacing:2px;color:#729397}.modal-stars{display:flex;justify-content:center;gap:8px;color:#e5b754;margin:15px 0}.modal-stars .icon{width:30px;height:30px;filter:drop-shadow(0 2px #bd893f)}.modal-stars .empty{opacity:.2}.modal-save{font-size:12px;color:#688889;line-height:1.5;min-height:34px;margin:15px 0}.modal-actions{display:flex;justify-content:center;gap:16px;margin-top:22px}.modal-actions .icon-button{width:60px;height:55px;border-radius:17px}.modal-actions .icon-button.emphasis{color:white;background:linear-gradient(#71dae5,#1fa8c0);box-shadow:0 5px 0 #0d758c;border-color:#b9f4f1}.modal-actions .icon{width:27px;height:27px}.modal-action-caption{font-size:11px;color:#6b8b8b;margin:13px 0 0}.leaderboard-list{list-style:none;padding:0;margin:20px 0 6px;text-align:left}.leaderboard-row{display:flex;align-items:center;gap:12px;background:#ffffff83;border:1px solid #bed9cf;border-radius:13px;margin-bottom:7px;padding:11px 12px;font-size:14px}.leaderboard-row:first-child{background:#fff3c8;border-color:#e5ca84}.leaderboard-row.mine{outline:2px solid #49b7c1}.rank-medal{width:25px;text-align:center;font-weight:900;color:#518c91}.rank-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-row strong{color:#287885;font-variant-numeric:tabular-nums}.board-empty{padding:22px 10px;color:#668485;font-size:14px;line-height:1.5}.retry-button{margin:auto;display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#287e8a;text-decoration:underline}.retry-button .icon{width:16px;height:16px}.loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e6f7eeeF;z-index:30;backdrop-filter:blur(8px);animation:arrive .2s}.loading-island{font-size:74px;animation:float 2s ease-in-out infinite}.loading-overlay h2{font-family:Georgia,serif;font-size:28px;margin:20px 0 8px}.loading-overlay p{color:#668b8b;font-size:14px}.loading-dots{display:flex;gap:7px;margin-top:15px}.loading-dots i{width:7px;height:7px;border-radius:50%;background:#56b3bc;animation:sparkle 1s ease-in-out infinite}.loading-dots i:nth-child(2){animation-delay:.15s}.loading-dots i:nth-child(3){animation-delay:.3s}.toast{position:absolute;z-index:40;bottom:85px;left:50%;transform:translateX(-50%);max-width:85%;width:max-content;padding:12px 19px;border-radius:15px;background:#fffbeeeF;color:#235763;font-size:13px;box-shadow:0 5px 25px #173e4755;text-align:center}.noscript{position:fixed;inset:30%;background:#fff7dc;padding:30px;color:#234e55;z-index:50}
@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{from{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes sparkle{0%,100%{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}@keyframes float{50%{transform:translateY(-8px)}}@keyframes motes{to{background-position:75px -150px,-55px -100px}}@keyframes scout-breathe{50%{transform:scaleY(1.012)}}@keyframes scout-step{50%{transform:translateY(-4px) rotate(1.5deg)}}@keyframes pop{0%{opacity:1;transform:scale(.5)}100%{opacity:0;transform:scale(2) translateY(-25px)}}
@media(min-width:1500px){.playfield{--stone-size:118px;--stone-gap:22px}.home-content{padding-top:9vh}.home-content h1{font-size:94px}.island-emblem{width:126px;height:126px;margin-top:28px}.emblem-palm{font-size:80px}.home-tagline{font-size:18px}.home-actions{width:310px}}
@media(max-width:650px) and (orientation:portrait){.topbar{padding:max(15px,env(safe-area-inset-top)) 16px 0}.top-label{display:none}.top-button{width:43px;min-width:43px;height:43px;padding:0;border-radius:14px}.top-right{gap:8px}.player-card{max-width:165px;padding:4px 8px 4px 4px;border-radius:14px}.player-card strong{max-width:100px;font-size:12px}.player-avatar{width:30px;height:30px}.player-card small{font-size:7px}.home-content{padding:86px 20px 76px}.home-content>.eyebrow{font-size:8px;letter-spacing:2.4px}.home-content h1{font-size:clamp(45px,12vw,67px);letter-spacing:-2px}.home-content h1>span{font-size:21px;margin-bottom:5px}.island-emblem{width:112px;height:112px;margin:25px 0 13px}.home-tagline{font-size:14px;margin-bottom:24px}.home-actions{width:267px}.candy-button{min-height:60px;font-size:22px}.candy-button.secondary{min-height:47px;font-size:14px}.home-note{max-width:235px;font-size:10px}.journey-preview{margin-top:24px}.journey-caption{font-size:10px;max-width:230px}.bottom-bar{left:16px;right:16px;bottom:max(18px,env(safe-area-inset-bottom))}.bottom-bar>span{font-size:7px;letter-spacing:1.4px}.bottom-bar .icon-button{width:38px;height:38px}.game-heading{top:77px;width:90%}.game-heading h1{font-size:29px}.game-heading .eyebrow{font-size:9px}.game-hud{top:161px;width:calc(100% - 30px);gap:8px;justify-content:center}.hud-card{min-width:0;padding:9px 10px;border-radius:14px;gap:6px;flex:1}.hud-card strong{font-size:20px}.hud-card small{font-size:7px;letter-spacing:1px}.hud-card>.icon{width:20px;height:20px}.timer-card{min-width:110px}.lives-card{gap:4px;min-width:90px}.lives-card .icon{width:18px;height:18px}.phase-caption{top:239px;max-width:94%;padding:8px 12px;font-size:12px;gap:6px}.phase-caption>.icon{width:16px;height:16px}.phase-caption>span:last-child{font-size:9px}.playfield{top:47%;--stone-size:clamp(54px,17vw,76px);--stone-gap:clamp(8px,3vw,13px);transform:translate(-50%,0)}.playfield[data-columns="2"]{--stone-size:88px;--stone-gap:19px}.playfield[data-columns="3"]{--stone-size:76px;--stone-gap:14px}.scout{width:121px;height:181px}.memory-pad>.icon{width:33%;height:40%}.memory-pad::before{border-width:1px}.pad-number{font-size:8px;right:6px;bottom:5px}.game-instructions{bottom:75px;font-size:11px;max-width:70%;line-height:1.5}.game-instructions>.icon{display:none}.game-dialog{border-radius:25px}#dialog-content{padding:27px 22px}.level-intro strong{font-size:29px}.level-intro>div{padding:25px}.scene-shade{background:linear-gradient(180deg,#14657c18,transparent 55%,#144a5c4d)}}
@media(max-height:720px) and (min-width:651px){.home-content{padding-top:38px;padding-bottom:50px}.home-content>.eyebrow{font-size:9px;margin-bottom:4px}.home-content h1{font-size:60px}.home-content h1>span{font-size:19px}.island-emblem{margin:14px 0 6px;width:88px;height:88px;border-radius:20px}.emblem-palm{font-size:55px;left:4px;top:4px}.emblem-sun{width:20px;height:20px}.emblem-waves{bottom:8px;height:9px}.home-tagline{font-size:13px;margin:4px 0 15px}.home-actions{width:260px;gap:10px}.candy-button{min-height:49px;font-size:19px}.candy-button.secondary{min-height:41px;font-size:13px}.home-note{margin-top:13px;font-size:10px}.journey-preview{margin-top:12px}.journey-caption{font-size:10px}.game-heading{top:15px}.game-heading h1{font-size:25px}.game-hud{top:90px}.phase-caption{top:169px}.playfield{top:49%;--stone-size:86px;--stone-gap:15px}.scout{width:115px;height:172px}.game-instructions{bottom:29px}}
@media(orientation:landscape) and (max-height:500px){.topbar{padding:10px 14px 0}.top-button{height:39px;min-width:39px;padding:0 10px;border-radius:12px}.top-label{display:none}.player-card{padding:3px 8px 3px 3px}.player-avatar{width:27px;height:27px}.player-card strong{font-size:11px}.player-card small{font-size:7px}.home-content{display:grid;grid-template-columns:150px 290px;grid-template-rows:auto auto auto auto;justify-content:center;align-content:center;column-gap:30px;padding:25px 70px;min-height:100%}.home-content>.eyebrow{grid-column:1/3;font-size:8px;margin-bottom:5px}.home-content h1{grid-column:1/3;font-size:44px}.home-content h1>span{font-size:15px;display:inline;margin-right:7px;letter-spacing:0}.island-emblem{grid-column:1;grid-row:3/5;width:105px;height:105px;margin:auto}.emblem-palm{font-size:65px}.home-tagline{grid-column:2;margin:12px 0 10px;font-size:12px}.home-actions{grid-column:2;grid-row:4;width:270px;gap:10px}.home-note{grid-column:1/3;margin:17px auto 0;font-size:9px}.journey-preview,.journey-caption{display:none}.candy-button{min-height:42px;font-size:18px;padding:8px 14px;border-radius:14px}.candy-button.secondary{min-height:35px;font-size:12px}.bottom-bar{left:14px;right:14px;bottom:12px}.bottom-bar .icon-button{width:35px;height:35px;border-radius:12px}.bottom-bar>span{font-size:7px}.game-heading{top:9px}.game-heading h1{font-size:22px;margin-bottom:4px}.game-heading .eyebrow{font-size:8px;margin:0}.round-dot{width:5px;height:5px}.game-hud{top:72px;gap:8px}.hud-card{padding:5px 10px;min-width:90px;border-radius:12px;gap:6px}.hud-card strong{font-size:17px}.hud-card small{font-size:6px}.hud-card>.icon{width:18px;height:18px}.lives-card{min-width:93px;gap:2px}.lives-card .icon{width:17px;height:17px}.phase-caption{top:127px;font-size:11px;padding:5px 12px}.phase-caption>.icon{width:14px;height:14px}.phase-caption>span:last-child{font-size:8px}.playfield{top:46%;--stone-size:56px;--stone-gap:10px;transform:translate(-50%,0)}.scout{width:80px;height:120px}.memory-pad::before{border-width:1px}.pad-number{font-size:7px;right:5px;bottom:4px}.game-instructions{bottom:10px;font-size:9px;max-width:70%}.game-instructions>.icon{width:13px;height:13px}.game-dialog{max-height:calc(100dvh - 20px);width:380px}#dialog-content{padding:20px}.game-dialog h2{font-size:25px}.modal-hero-icon{width:47px;height:47px;margin-bottom:10px;border-radius:15px}.modal-hero-icon .icon{width:29px;height:29px}.modal-description{font-size:12px;margin-bottom:10px}.modal-score{font-size:31px}.modal-stars{margin:10px}.modal-save{min-height:18px;margin:9px}.modal-actions{margin-top:15px}.modal-actions .icon-button{width:49px;height:43px}.leaderboard-row{padding:8px 10px;font-size:12px}.leaderboard-list{margin-top:10px}}
@media(orientation:portrait) and (max-height:720px){.home-content{padding-top:73px}.home-content h1{font-size:47px}.island-emblem{margin:17px 0 8px;width:92px;height:92px}.emblem-palm{font-size:57px;left:5px;top:5px}.home-tagline{font-size:13px;margin-bottom:17px}.candy-button{min-height:51px;font-size:20px}.home-note{margin-top:14px}.journey-preview{margin-top:17px}.game-heading{top:65px}.game-hud{top:140px}.phase-caption{top:212px;font-size:11px}.playfield{top:45%;--stone-size:57px;--stone-gap:9px}.playfield[data-columns="2"]{--stone-size:72px;--stone-gap:16px}.playfield[data-columns="3"]{--stone-size:64px;--stone-gap:11px}.scout{width:103px;height:155px}.game-instructions{bottom:68px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Shared progress and account components. No countdown or home achievement footer. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0!important}
.bottom-bar{justify-content:flex-end}
.goal-card{min-width:150px;display:flex;flex-direction:column;justify-content:center;gap:7px}
.goal-heading{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px}
.goal-heading strong{font-size:18px;white-space:nowrap}
.goal-track{height:10px;width:100%;overflow:hidden;border-radius:4px;background:#0d697a26;box-shadow:inset 0 1px 3px #26657230}
.goal-track i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(#7ee0dc,#29a7b9);transition:transform .4s ease;border-radius:4px}
.phase-caption{padding:6px 13px;min-height:32px}
.phase-caption>span:last-child{font:800 11px "Trebuchet MS",Arial,sans-serif;letter-spacing:1px}
.memory-pad.is-lit{background:linear-gradient(145deg,#fffef0,#92eff5 55%,#35bed3);color:#075b77;border:2px solid #fffde9;box-shadow:inset 0 0 20px #fffef4,0 3px 0 #4b9a9b,0 0 0 4px #c1f9f7b0,0 0 30px #77f2f4;filter:brightness(1.13)}
.memory-pad.is-lit::before{border-color:#217f93a0}.memory-pad.is-lit>.icon{filter:drop-shadow(0 1px #ffffff);opacity:1}
.login-screen{display:grid;place-items:center;padding:85px 20px 80px;overflow-y:auto}
.login-panel{position:relative;width:min(430px,100%);padding:35px 28px;text-align:center;border:3px solid #fffadf;border-radius:26px;background:linear-gradient(145deg,#fffbedf5,#dcefe9f5);box-shadow:0 7px 0 #287c8780,0 25px 60px #164b5655;animation:dialog-in .3s ease}
.login-panel h1{font:900 36px/1.12 Georgia,serif;color:#176373;margin:12px 0}
.login-panel p:not(.eyebrow){color:#537d81;font-size:16px;line-height:1.5;margin:0 0 25px}
.login-panel .eyebrow{font-size:10px;color:#388c93;letter-spacing:2px;margin-top:25px}
.login-panel .candy-button{width:100%;font-size:18px;min-height:57px}
.login-panel small{display:block;font-size:12px;color:#60898c;margin-top:22px;line-height:1.5}
@media(max-width:650px){.goal-card{min-width:112px;padding:9px 10px}.goal-heading{gap:5px}.goal-heading strong{font-size:15px}.goal-heading small{font-size:7px;letter-spacing:.6px}.goal-track{height:9px}.login-panel{position:relative;padding:29px 21px}.login-panel h1{font-size:32px}.login-panel .candy-button{font-size:16px}}
@media(orientation:landscape) and (max-height:500px){.goal-card{min-width:123px;gap:3px}.goal-heading strong{font-size:14px}.goal-track{height:7px}.login-screen{padding:15px 75px 25px}.login-panel{position:relative;padding:15px 25px;max-width:450px}.login-panel .modal-hero-icon{display:none}.login-panel .eyebrow{margin:5px}.login-panel h1{font-size:28px;margin:9px 0}.login-panel p:not(.eyebrow){font-size:13px;margin-bottom:14px}.login-panel .candy-button{min-height:42px;font-size:16px}.login-panel small{margin-top:13px;font-size:11px}}
