:root{font-family:"Arial Rounded MT Bold","Microsoft YaHei",system-ui,sans-serif;color:#29365e}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at 10% 10%,#fff 0 5%,transparent 5.5%),linear-gradient(155deg,#e0f8ff,#f0efff 52%,#fff1d9)}button,a{font:inherit;touch-action:manipulation}button{border:0;cursor:pointer}button:focus:not(:focus-visible){outline:none}button:focus-visible,a:focus-visible{outline:4px solid #ffbd37;outline-offset:3px}.app{width:min(760px,100%);min-height:100dvh;margin:auto}.screen{position:relative;min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.select{display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center}.lobby{position:absolute;top:18px;left:16px;padding:11px 16px;border-radius:99px;color:#5a68a0;background:#fffffff0;box-shadow:0 8px 18px #43549124;font-weight:800;text-decoration:none}.hero{display:grid;width:126px;height:126px;margin-top:35px;padding:7px;grid-template-columns:repeat(3,1fr);gap:5px;border-radius:27px;background:#6475bc;box-shadow:0 16px 30px #4d3faf33;transform:rotate(-2deg)}.hero b,.hero i{display:grid;place-items:center;border-radius:8px;color:#fff;background:linear-gradient(145deg,#ff8a7a,#f35473);font-style:normal}.hero b:nth-child(3n+2){background:linear-gradient(145deg,#ffd45c,#f3a92e)}.hero b:nth-child(3n){background:linear-gradient(145deg,#55d9d2,#3d9fe5)}.hero i{background:#ffffff33}.eyebrow{margin:16px 0 0;color:#8074ba;font-size:13px;font-weight:800}h1{margin:2px 0;color:#5148ad;font-size:clamp(32px,8vw,46px);text-shadow:0 3px #fff}.tagline{margin:8px 0 12px;color:#7180a4;font-size:17px}.goal-tip{margin-bottom:14px;padding:8px 16px;border-radius:99px;color:#6573a2;background:#ffffffb8;font-size:14px}.goal-tip strong{color:#5148ad}.difficulty{width:min(640px,100%);padding:16px 18px 18px;border-radius:24px;background:#ffffffe8;box-shadow:0 12px 28px #45549721}.difficulty h2{margin:0 0 10px;font-size:17px}.difficulty-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.difficulty-btn{display:flex;min-height:76px;align-items:center;flex-direction:column;justify-content:center;border:3px solid transparent;border-radius:18px;color:#334477;background:#f2f3fd}.difficulty-btn small{margin-top:5px;color:#7180a4}.difficulty-btn.active{border-color:#8073e7;color:#5148ad;background:#ebe9ff}.start-actions{display:flex;margin-top:18px;align-items:center;gap:12px}.primary{min-width:220px;min-height:54px;padding:10px 28px;border-radius:99px;color:#fff;background:linear-gradient(#8b7cf3,#7668e8);box-shadow:0 7px #5548bd;font-size:20px;font-weight:900}.round{display:grid;width:52px;height:52px;padding:0;place-items:center;border-radius:50%;color:#29365e;background:#fffffff0;box-shadow:0 8px 18px #43549124;font-size:24px}.game{display:flex;flex-direction:column}.game header{display:grid;align-items:center;grid-template-columns:52px 1fr 52px;gap:12px}.stats,.result{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stats div,.result div{padding:8px;border-radius:15px;text-align:center;background:#f3f4ff}.stats span,.result span{display:block;color:#7180a4;font-size:12px}.stats strong,.result strong{font-size:20px}.status{display:flex;min-height:44px;margin:10px 0;align-items:center;justify-content:center;gap:12px}.status b{padding:6px 13px;border-radius:99px;color:#fff;background:#7668e8;font-size:13px}.status span{color:#6877a1;font-weight:700}.panel{display:flex;flex:1;padding:18px;align-items:center;flex-direction:column;justify-content:center;border-radius:30px;background:#ffffffd6;box-shadow:0 18px 42px #3a4c8f29}.board{--size:3;display:grid;width:min(100%,480px);aspect-ratio:1;padding:8px;grid-template-columns:repeat(var(--size),1fr);gap:7px;border:5px solid #596cac;border-radius:22px;background:#6678ba;touch-action:none;user-select:none}.tile{display:grid;min-width:0;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,#ff8c7d,#f05273);box-shadow:inset 0 -5px #75305b2e,0 4px 8px #39468033;font-size:clamp(22px,9vw,58px);font-weight:900}.tile.c1{background:linear-gradient(145deg,#ffd65f,#f0aa32)}.tile.c2{background:linear-gradient(145deg,#58dcd4,#3b9fe3)}.tile.c3{background:linear-gradient(145deg,#9c8cf4,#665fd8)}.tile.empty{background:#ffffff29;box-shadow:inset 0 0 0 2px #ffffff38}.tile.hint{filter:brightness(1.06);box-shadow:0 0 0 5px #ffdb58,0 7px 16px #39468040}.panel nav{display:grid;width:min(100%,480px);margin-top:16px;grid-template-columns:repeat(4,1fr);gap:9px}.panel nav button{min-height:54px;border-radius:16px;color:#3e4f84;background:#eef0fb;font-size:19px}.panel nav small{display:block;font-size:13px;font-weight:800}.panel nav button:disabled{opacity:.45}.modal{position:fixed;inset:0;z-index:10;display:grid;padding:22px;place-items:center;background:#28315b61;backdrop-filter:blur(8px)}.hidden{display:none!important}.modal-card{width:min(420px,100%);padding:28px;border-radius:30px;text-align:center;background:#fff}.modal-card h2{color:#5148ad}.award{font-size:64px}.result{margin:20px 0}.modal-card .primary{width:100%}.text-btn{min-height:44px;margin-top:14px;color:#6573a2;background:transparent;font-weight:800}.goal-board{width:min(270px,72vw);margin:18px auto}.goal-board .tile{font-size:28px}@media(max-width:480px){.screen{padding-top:12px}.game header{grid-template-columns:46px 1fr 46px}.round{width:46px;height:46px}.hero{width:104px;height:104px}.panel{padding:12px}.board{gap:5px;padding:6px}.status{align-items:flex-start;flex-direction:column;gap:5px}.status span{width:100%;text-align:center;font-size:14px}}@media(max-height:680px) and (orientation:landscape){.app{width:min(1000px,100%)}.game{display:grid;padding:8px 20px;grid-template-columns:280px 1fr;grid-template-rows:auto auto 1fr;gap:6px 14px}.game header,.status{grid-column:1}.panel{padding:8px;grid-column:2;grid-row:1/span 3}.board{width:min(67vh,440px)}.panel nav{margin-top:7px}.panel nav button{min-height:42px}.select{padding-top:64px}.hero{width:78px;height:78px;margin:0}.tagline{font-size:14px}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}
