:root{--ink:#24203c;--purple:#6d5ae6;--paper:#f8f5ed;--yellow:#ffd566}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent}body{margin:0;min-height:100vh;color:var(--ink);background:linear-gradient(165deg,#8a79ed 0 34%,#f6e9ff 34% 100%);font-family:ui-rounded,"SF Pro Rounded","PingFang SC",system-ui,sans-serif;overflow-x:hidden}.sky{position:fixed;inset:0;pointer-events:none;overflow:hidden}.sky i{position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;opacity:.5}.sky i:nth-child(1){left:9%;top:8%}.sky i:nth-child(2){right:11%;top:16%;width:6px;height:6px}.sky i:nth-child(3){left:17%;top:42%;width:7px;height:7px}.sky i:nth-child(4){right:22%;top:48%}.app{position:relative;width:min(540px,calc(100% - 24px));margin:auto;padding:26px 0 45px}header{display:flex;justify-content:space-between;align-items:center;color:#fff}h1{margin:2px 0 0;font:700 35px/1 Georgia,"Songti SC",serif}.eyebrow{font-size:9px;font-weight:900;letter-spacing:.18em;opacity:.75}.header-actions{display:flex;gap:8px}.header-actions button{height:39px;padding:0 13px;border:1px solid rgba(255,255,255,.3);border-radius:12px;color:#fff;background:rgba(255,255,255,.13);font-weight:800;cursor:pointer}.mission{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding:15px 18px;border-radius:18px;color:#fff;background:rgba(36,32,60,.23);backdrop-filter:blur(8px)}.mission small,.mission strong{display:block}.mission small{font-size:9px;opacity:.7}.mission strong{margin-top:2px;font-size:15px}.mission p{margin:0;font-size:11px}.mission b{font-size:18px;color:var(--yellow)}.scorebar{position:relative;z-index:2;display:grid;grid-template-columns:80px 1fr 80px;align-items:center;gap:11px;margin:22px 10px -12px;padding:11px 16px;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(49,35,96,.16);text-align:center}.scorebar small,.scorebar strong{display:block}.scorebar small{color:#9690a5;font-size:8px}.scorebar strong{font-size:17px}.progress{height:8px;overflow:hidden;border-radius:99px;background:#ece9f3}.progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff8c6b,#ffd566);transition:width .25s}.board{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:31px 12px 13px;border:5px solid rgba(255,255,255,.72);border-radius:28px;background:#342c65;box-shadow:0 30px 70px rgba(46,32,92,.25)}.gem{position:relative;aspect-ratio:1;border:0;border-radius:14px;color:#fff;font-size:clamp(14px,6vw,25px);cursor:pointer;box-shadow:inset 0 -6px rgba(0,0,0,.13),0 4px 6px rgba(18,13,44,.14);transition:transform .12s,opacity .15s}.gem:active{transform:scale(.88)}.gem.selected{z-index:2;outline:4px solid #fff;transform:scale(1.09)}.gem.clearing{opacity:.15;transform:scale(.3)}.g0{background:#ff6f76}.g1{background:#43c6ba}.g2{background:#ffc94f}.g3{background:#9a6ff0}.g4{background:#54a8ed}.g5{background:#f585c8}.hint{margin:16px 0 0;color:#6f6584;text-align:center;font-size:12px}.modal{position:fixed;z-index:5;inset:0;display:grid;place-items:center;padding:20px;background:rgba(26,20,54,.58);backdrop-filter:blur(8px)}.hidden{display:none}.result-card{width:min(360px,100%);padding:32px;border-radius:28px;background:#fff;text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.26)}.result-icon{width:72px;height:72px;display:grid;place-items:center;margin:-64px auto 20px;border:6px solid #fff;border-radius:50%;color:#fff;background:#ffb94f;font-size:34px;box-shadow:0 10px 25px rgba(65,40,94,.2)}.result-card small{color:#968ca2;font-size:10px;letter-spacing:.13em}.result-card h2{margin:7px 0;font:700 31px Georgia,serif}.result-card p{color:#756e83;font-size:13px;line-height:1.6}.result-card button{width:100%;padding:14px;border:0;border-radius:14px;color:#fff;background:var(--purple);font-weight:900;cursor:pointer}@media(max-width:430px){body{background:linear-gradient(165deg,#7b67e5 0 31%,#f6e9ff 31%)}.app{padding-top:18px}h1{font-size:30px}.board{gap:4px;padding-inline:8px}.gem{border-radius:10px}.scorebar{margin-inline:6px;grid-template-columns:63px 1fr 63px}.mission{margin-top:15px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
