:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#edf4ff;background:#101b31;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-height:100%;overscroll-behavior:none}body{background:radial-gradient(circle at 50% -25%,#28526d 0,#182c46 35%,#101b31 75%);overflow-x:hidden}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #a5f2e7;outline-offset:3px}.app{max-width:1220px;margin:auto;padding:20px clamp(16px,4vw,44px) 24px;min-height:100dvh;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.brand{display:flex;align-items:center;gap:10px;letter-spacing:.25em;font-size:13px}.brand-mark{font-size:34px;color:#b9f4d5;text-shadow:0 0 20px #52d7a3}.brand div{display:flex;flex-direction:column;line-height:1.1}.brand strong{font-size:18px}.brand div span{font-size:10px;letter-spacing:.52em;color:#91a7bd;margin-top:5px}.top-actions{display:flex;gap:8px}.icon-button{width:44px;height:44px;border-radius:14px;border:1px solid #ffffff24;color:#d5e8f6;background:#ffffff0e;font-size:22px}.icon-button:hover,.text-button:hover,.tool-button:hover{background:#ffffff1e}.layout{display:grid;grid-template-columns:minmax(0,660px) minmax(260px,310px);justify-content:center;gap:30px;align-items:start;flex:1}.game-column{min-width:0}.heading-row{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:17px}.eyebrow,.panel-kicker{text-transform:uppercase;font-size:11px;letter-spacing:.19em;font-weight:800;color:#9de8ce}.heading-row h1{font-size:clamp(27px,4vw,40px);margin:4px 0 0;letter-spacing:-.05em}.text-button{border:1px solid #ffffff26;color:#cce0ec;background:#ffffff0c;border-radius:12px;min-height:44px;padding:0 16px;font-weight:700}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}.stat{background:#ffffff0d;border:1px solid #ffffff13;border-radius:16px;padding:11px 16px;min-width:0}.stat span{display:block;color:#a4b8cb;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:800}.stat strong{display:block;font-size:25px;margin-top:2px;font-variant-numeric:tabular-nums}.goal-card{background:#ffffff0d;border:1px solid #ffffff16;border-radius:15px;padding:11px 15px 13px;margin-bottom:14px}.goal-head{display:flex;justify-content:space-between;gap:8px;color:#c8dae8;font-size:13px;font-weight:700}.goal-head strong{font-variant-numeric:tabular-nums}.progress-track{height:8px;background:#0d1c30;border-radius:9px;overflow:hidden;margin-top:9px}.progress-track>div{height:100%;width:0;background:linear-gradient(90deg,#73dfbc,#e7cf81);border-radius:9px;transition:width .35s}.board-wrap{position:relative;max-width:624px;margin:auto;aspect-ratio:1}.board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);gap:clamp(3px,.7vw,7px);width:100%;height:100%;padding:clamp(7px,1.3vw,12px);border:1px solid #85bcb660;border-radius:24px;background:linear-gradient(145deg,#29465e,#1a314c 65%,#223953);box-shadow:0 22px 65px #06101c88,inset 0 1px #ffffff33;touch-action:none}.cell{position:relative;display:grid;place-items:center;min-width:0;min-height:0;overflow:hidden;border:1px solid #ffffff0c;border-radius:clamp(8px,1.5vw,15px);background:#07192b55;padding:0;transition:background .18s,transform .18s,border-color .18s}.cell:hover{background:#ffffff18}.cell.selected{border-color:#e8f6ff;box-shadow:inset 0 0 0 2px #e8f6ff,0 0 18px #a2e1ea75;transform:scale(1.045);z-index:2}.cell.hinted{animation:hintPulse .7s ease-in-out 2}.cell.pop .gem{animation:pop .26s ease-in forwards}.gem{width:75%;height:75%;display:grid;place-items:center;filter:drop-shadow(0 5px 4px #0005);font-size:clamp(15px,3.8vw,36px);font-weight:900;line-height:1}.gem:after{content:"";position:absolute;inset:11% 18% auto 18%;height:19%;border-radius:50%;background:#fff9;filter:blur(3px);transform:rotate(-20deg)}.gem-0{background:linear-gradient(135deg,#ffc1b7,#ef707f 45%,#ba4264);clip-path:polygon(50% 0,94% 25%,94% 75%,50% 100%,6% 75%,6% 25%)}.gem-1{background:linear-gradient(135deg,#9de9ff,#4ca7de 48%,#3570bc);border-radius:50%}.gem-2{background:linear-gradient(135deg,#ffedaf,#eec164 50%,#bc8346);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.gem-3{background:linear-gradient(135deg,#d8baff,#a178df 48%,#6b52bd);border-radius:24%;transform:rotate(15deg)}.gem-4{background:linear-gradient(135deg,#b6f4b6,#69c9a0 48%,#359b83);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.gem-5{background:linear-gradient(135deg,#ffd4ad,#f49d6b 48%,#cc5d51);border-radius:36% 36% 48% 48%}.gem.special{box-shadow:0 0 0 3px #fff8,0 0 18px #fff9}.gem.special:before{content:"✦";color:#fff;filter:drop-shadow(0 1px 2px #0008);z-index:1}.board-overlay{position:absolute;inset:0;background:#081a2bdc;border-radius:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px;z-index:5}.board-overlay h2{font-size:32px;margin:0 0 10px}.board-overlay p{color:#c4d5e5;max-width:290px}.board-overlay button{margin-top:10px}.hidden{display:none!important}.tool-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.tool-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:50px;background:#ffffff0c;border:1px solid #ffffff1d;border-radius:14px;color:#e8f4fa}.tool-button>span{font-size:25px;color:#a9f1d5}.tool-button b{font-size:13px}.tool-button small{border-radius:12px;background:#ffffff16;min-width:22px;padding:2px 5px;font-size:11px}.tip{color:#9ab0c4;text-align:center;font-size:12px;margin:12px 0 0}.side-column{display:grid;gap:14px;padding-top:4px}.panel{background:linear-gradient(150deg,#ffffff13,#ffffff08);border:1px solid #ffffff20;border-radius:22px;padding:22px;box-shadow:0 12px 30px #06101c28}.panel h2,.modal h2{font-size:24px;letter-spacing:-.04em;margin:8px 0}.panel p,.modal p{color:#b8cbda;line-height:1.5;font-size:14px;margin:7px 0 17px}.primary-button,.secondary-button,.quiet-button{width:100%;min-height:46px;border-radius:12px;font-weight:800}.primary-button{border:0;color:#122d33;background:linear-gradient(135deg,#c7f5cf,#7fe4c7);box-shadow:0 9px 23px #3bcdab3b}.primary-button:hover{filter:brightness(1.08)}.secondary-button{border:1px solid #8de3c15e;background:#72d7b318;color:#b4f1d9}.secondary-button:hover{background:#72d7b32c}.quiet-button{border:0;background:transparent;color:#b7cad9}.daily-panel{background:linear-gradient(145deg,#40527555,#273c5b33);border-color:#b6a8f440}.daily-meta{display:flex;justify-content:space-between;gap:8px;color:#d3e4ed;font-size:12px;margin:8px 0 17px}.record-grid{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;margin-top:15px}.record-grid>div+div{border-left:1px solid #ffffff1f}.record-grid strong{display:block;font-size:24px}.record-grid span{display:block;color:#9fb3c5;font-size:11px;margin-top:4px}footer{display:flex;justify-content:space-between;gap:12px;color:#7690a6;font-size:11px;margin-top:30px}.modal{border:0;background:transparent;color:inherit;padding:18px;max-width:min(460px,100vw);width:100%;max-height:100dvh}.modal::backdrop{background:#06111edb;backdrop-filter:blur(8px)}.modal-card{position:relative;background:linear-gradient(145deg,#274059,#15283f);border:1px solid #a0c4c344;border-radius:24px;padding:28px;box-shadow:0 20px 70px #0009}.close-button{position:absolute;right:17px;top:14px;border:0;background:#ffffff12;color:#dcebf5;border-radius:10px;width:34px;height:34px;font-size:23px}.mode-list{display:grid;gap:10px;margin-top:20px}.mode-option{display:flex;align-items:center;gap:13px;text-align:left;width:100%;min-height:68px;border:1px solid #ffffff25;background:#ffffff0d;border-radius:14px;color:#e9f5fa;padding:11px}.mode-option:hover{background:#ffffff20;border-color:#9ae4cb}.mode-option>span:nth-child(2){flex:1}.mode-option b,.mode-option small{display:block}.mode-option small{font-size:12px;color:#a9bece;margin-top:3px}.mode-icon{font-size:24px;color:#aef1d4;width:30px;text-align:center}.setting-row{display:flex;justify-content:space-between;align-items:center;min-height:60px;border-bottom:1px solid #ffffff1c;gap:16px}.setting-row select{color:#e8f4fa;border:1px solid #ffffff36;background:#243a53;border-radius:9px;padding:8px}.setting-row input{accent-color:#80e6c2;width:21px;height:21px}.settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.dialog-note{font-size:12px!important}.detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:19px 0}.detail-stats>div{background:#ffffff0c;border-radius:12px;padding:13px}.detail-stats strong{display:block;font-size:22px}.detail-stats span{color:#adbfce;font-size:12px}.result-card{text-align:center}.result-icon{font-size:46px;color:#b5f0cf;text-shadow:0 0 22px #83e4c5}.result-score{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25;padding:14px 0;margin:18px 0 20px}.result-score strong{font-size:25px}.result-card .quiet-button{margin-top:5px}@keyframes pop{to{transform:scale(.2);opacity:0}}@keyframes hintPulse{50%{box-shadow:inset 0 0 0 3px #f9f4b1,0 0 22px #f9f4b1}}@media(max-width:900px){.layout{grid-template-columns:minmax(0,640px)}.side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.record-panel{grid-column:1/-1}.topbar{margin-bottom:18px}}@media(max-width:580px){.app{padding:12px 10px 20px}.brand{font-size:11px}.brand strong{font-size:15px}.brand-mark{font-size:27px}.topbar{margin-bottom:15px}.icon-button{width:42px;height:42px}.heading-row h1{font-size:27px}.stats-row{gap:5px}.stat{padding:8px 9px;border-radius:11px}.stat strong{font-size:20px}.stat span{font-size:9px}.board{border-radius:16px;padding:6px;gap:3px}.cell{border-radius:7px}.gem{font-size:18px}.goal-card{padding:9px 11px}.tool-row{gap:5px}.tool-button{min-height:48px;gap:4px}.tool-button b{font-size:11px}.tool-button>span{font-size:20px}.side-column{grid-template-columns:1fr;gap:10px}.record-panel{grid-column:auto}.panel{padding:17px}.panel h2{font-size:21px}.tip{font-size:11px}footer{margin-top:20px}}@media(max-width:370px){.tool-button small{display:none}.brand div span{letter-spacing:.35em}.top-actions{gap:4px}}
