:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#28384b;background:#f5f7fb;letter-spacing:0;color-scheme:light;--line:#dfe5ed;--muted:#788597;--blue:#3260bf}*{box-sizing:border-box}body{margin:0;min-width:280px}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #eba840;outline-offset:3px}svg{width:21px;height:21px;display:block}.site-header{max-width:1080px;margin:auto;height:88px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:750;color:#28384b;text-decoration:none}.brand>span:first-child{color:var(--blue)}.brand-accent{width:5px;height:17px;background:#da5a71;border-radius:2px;margin-left:2px}.tagline{font-size:12px;color:var(--muted)}main{width:min(100% - 40px,620px);margin:38px auto 0}.heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:26px}.eyebrow{font-size:10px;font-weight:700;color:var(--blue);margin:0 0 9px}h1{font-size:35px;line-height:1.15;margin:0;font-weight:720}.record{display:flex;align-items:center;gap:11px}.record>span{color:#ba862c}.record>div{display:flex;flex-direction:column;gap:4px}.record div>span{font-size:11px;color:var(--muted)}.record strong{font-size:20px;min-width:50px;font-variant-numeric:tabular-nums}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;min-height:40px}.toolbar>span{font-size:12px;color:var(--muted)}.actions{display:flex;gap:8px}.icon-button{width:40px;height:40px;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:5px;background:white;color:#6d7e95}.icon-button:hover:not(:disabled){background:#eaf0fc;color:var(--blue)}.restart{color:var(--blue)}.badge{position:absolute;right:2px;bottom:1px;font-size:9px;font-weight:750;min-width:11px;color:var(--blue);background:#fff}.game{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 6px 28px #273b5c08}.scorebar{height:92px;display:flex;align-items:center;gap:24px;padding:0 26px;border-bottom:1px solid var(--line)}.metric{min-width:86px;display:flex;flex-direction:column;gap:4px}.metric>span{font-size:11px;color:var(--muted)}.metric strong{font-size:28px;line-height:1.15;font-weight:700;font-variant-numeric:tabular-nums}.moves{align-items:flex-end;min-width:50px}.moves.low{color:#cb6d2d}.objective{flex:1;min-width:80px}.objective>div:first-child{display:flex;justify-content:space-between;gap:6px;font-size:11px;color:var(--muted);margin-bottom:10px}.progress-track{height:5px;background:#edf1f7;border-radius:3px;overflow:hidden}.progress-track>div{height:100%;width:0;background:#dca34c;transition:width .2s}.objective.complete .progress-track>div{background:#36a183}.board-area{position:relative;padding:24px}.board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;max-width:438px;aspect-ratio:1;margin:0 auto;background:#e9eef5;padding:7px;border-radius:5px}.tile{aspect-ratio:1;min-width:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:7px;border:1px solid #dce4ee;border-bottom:2px solid #cbd7e5;border-radius:4px;background:#f9fbfd;touch-action:none;position:relative;user-select:none}.tile img{width:100%;height:100%;max-width:42px;max-height:42px;pointer-events:none;filter:drop-shadow(0 2px 1px #30465d15)}.tile:hover{background:#fff;border-color:#abc0df}.tile.selected{background:#e0eafe;outline:2px solid #4975cd;outline-offset:-2px;z-index:2}.tile.hinted{outline:2px dashed #e6a438;outline-offset:-2px;background:#fff6df}.tile.clearing img{animation:vanish .17s ease-in forwards}.tile.arrived img{animation:arrive .2s ease-out}.tile.invalid{animation:shake .2s ease-in-out}.board-footer{height:47px;padding:0 26px 18px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.gem-key{display:flex;gap:5px}.gem-key img{width:15px;height:15px}.closing{margin:22px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.overlay{position:absolute;inset:12px;background:#f5f8fd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border-radius:5px;border:1px solid var(--line);text-align:center;padding:24px}.overlay>span{color:var(--blue)}.overlay>span svg{width:32px;height:32px}.overlay h2{font-size:25px;line-height:1.2;margin:0}.overlay p{color:var(--muted);font-size:14px;margin:0 0 8px}.text-button{display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 17px;border:1px solid #cddbf1;background:white;color:var(--blue);font-size:13px;font-weight:600;border-radius:5px}.text-button svg{width:17px;height:17px}body.obscured .board{visibility:hidden}[hidden]{display:none!important}footer{max-width:1080px;margin:44px auto 0;padding:24px 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:11px}@keyframes vanish{to{transform:scale(.15);opacity:0}}@keyframes arrive{from{transform:translateY(-12px) scale(.8);opacity:.3}to{transform:none;opacity:1}}@keyframes shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@media(max-width:600px){.site-header{height:70px;padding:0 18px}.tagline{display:none}main{width:calc(100% - 28px);margin-top:28px}h1{font-size:29px}.heading{margin-bottom:22px}.record{gap:7px}.record strong{font-size:18px;min-width:38px}.scorebar{height:82px;padding:0 16px;gap:14px}.metric{min-width:62px}.metric strong{font-size:24px}.moves{min-width:38px}.objective>div:first-child{font-size:10px}.board-area{padding:14px 10px}.board{gap:4px;padding:5px}.tile{padding:4px;border-radius:3px}.board-footer{padding:0 16px 14px;height:38px}.closing{margin-top:18px}.overlay{inset:8px}.overlay h2{font-size:23px}footer{margin-top:30px;padding:22px 18px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
