:root{--blue:#0665ff;--blue-dark:#0349c3;--yellow:#ffdc39;--purple:#7540e9;--ink:#13203b;--muted:#5e6b83;--pale:#f4f7ff;--line:#e1e7f6;--dock-height:74px;--header-height:58px;font-family:Arial,Helvetica,system-ui,sans-serif;color:var(--ink);background:var(--pale);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 14px);scroll-padding-bottom:calc(var(--dock-height) + 20px)}body{margin:0;line-height:1.5;padding-bottom:calc(var(--dock-height) + env(safe-area-inset-bottom));-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}img{max-width:100%;display:block}button{border:0}h1,h2,h3,p{margin:0}[hidden]{display:none!important}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--purple);outline-offset:4px}button:disabled{cursor:wait;opacity:.7}.container{width:100%;max-width:480px;padding-left:20px;padding-right:20px;margin:0 auto}.full-width{width:100%}.skip-link{position:fixed;top:-100px;left:8px;z-index:100;background:white;padding:12px;border-radius:8px}.skip-link:focus{top:8px}
.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{max-width:480px;min-height:var(--header-height);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 20px}.brand{display:flex;align-items:center;gap:8px;text-decoration:none;font-size:17px;font-weight:800;letter-spacing:-.5px;white-space:nowrap}.brand img{border-radius:11px;box-shadow:0 3px 10px #16285c12}.brand-tag{font-size:9px;letter-spacing:.4px;font-weight:800;padding:5px 7px;border-radius:20px;background:var(--ink);color:white;white-space:nowrap}
.hero{padding:16px 0 24px;text-align:center;background:radial-gradient(ellipse at 90% 25%,#ffdc393b,transparent 53%),radial-gradient(ellipse at 0% 20%,#7540e91f,transparent 55%),linear-gradient(#fff,#edf3ff)}.hero h1{font-size:clamp(28px,7.8vw,36px);line-height:1.03;font-weight:900;letter-spacing:-1.2px}.puzzle-mark{color:var(--purple)}.hero-sub{font-size:13px;line-height:1.45;color:var(--muted);max-width:380px;margin:9px auto 0}.hero-phone-wrap{display:flex;flex-direction:column;align-items:center;margin:14px auto 0;padding:0;border:0;background:none;color:inherit;max-width:100%}.phone-frame{display:block;width:230px;border-radius:26px;padding:7px;background:#17243b;box-shadow:0 14px 30px #20396925,0 0 0 1px #fff8 inset}.phone-screen{display:block;border-radius:20px;background:#fff;overflow:hidden}.phone-topbar,.phone-bottom{display:flex;align-items:center;justify-content:space-between;min-height:27px;padding:5px 10px;font-size:10px;font-weight:700}.phone-dot{width:6px;height:6px;background:var(--blue);border-radius:50%}.demo-label{font-size:8px;letter-spacing:1px;color:var(--muted)}.board{display:grid;width:100%;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:8px;background:#eff3fd;aspect-ratio:1}.hero-cell,.demo-cell{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;border-radius:7px;aspect-ratio:1;font-weight:800;font-size:15px;line-height:1;position:relative}.hero-cell{color:white;background:#e3e9f5;box-shadow:inset 0 -3px 0 #10213d14,inset 0 1px 0 #fff8}.hero-cell[data-value="2"],.demo-cell[data-value="2"]{background:linear-gradient(#3c87ff,#0665ff);color:white}.hero-cell[data-value="4"],.demo-cell[data-value="4"]{background:linear-gradient(#ffe76c,#ffcf21);color:#463412}.hero-cell[data-value="8"],.demo-cell[data-value="8"]{background:linear-gradient(#9565ff,#7540e9);color:white}.hero-cell[data-value="16"],.demo-cell[data-value="16"]{background:linear-gradient(#12c6d2,#03a1b1);color:white}.hero-cell[data-value="0"]{color:transparent;background:#e3e9f5}.hero-cell.merging{animation:merge .6s ease-in-out}.hero-cell.clearing{animation:clear .45s forwards}.hero-cell.sparkle:after{content:'✦';position:absolute;right:-5px;top:-8px;color:#7540e9;font-size:19px;text-shadow:0 1px white;animation:merge .6s}.score-box{font-size:8px;color:var(--muted)}.score-box b{font-size:12px;color:var(--ink);margin-left:4px}.combo-badge{font-size:9px;background:#fff0a9;border-radius:12px;padding:2px 7px;color:#604600}.hero-caption{font-size:9px;color:var(--muted);margin-top:7px}.hero-ctas{display:flex;flex-direction:column;gap:10px;margin-top:14px}.btn{display:flex;align-items:center;justify-content:center;gap:6px;min-height:49px;padding:12px 12px;border-radius:13px;font-size:14px;font-weight:800;line-height:1.3;transition:transform .15s,box-shadow .15s;text-decoration:none}.btn:active{transform:translateY(2px)}.btn-primary{background:var(--blue);color:white;box-shadow:0 4px 0 var(--blue-dark),0 8px 18px #0665ff25}.btn-secondary{background:white;color:var(--blue);box-shadow:inset 0 0 0 1.5px var(--blue)}.btn-yellow{background:var(--yellow);color:var(--ink);box-shadow:0 4px 0 #dfb920,0 8px 18px #ffdc392b}
.section{padding:34px 0;scroll-margin-top:14px;scroll-margin-bottom:calc(var(--dock-height) + 20px)}.section-heading{text-align:center;margin-bottom:22px}.eyebrow{display:block;color:var(--purple);font-size:10px;letter-spacing:1.5px;font-weight:800;margin-bottom:8px}h2{font-size:25px;line-height:1.14;letter-spacing:-.7px}.section-heading p{font-size:13px;color:var(--muted);margin:10px auto 0;max-width:360px}.demo{background:white}.demo-board-wrap{position:relative;background:var(--pale);border:1px solid #dce4fa;border-radius:24px;padding:16px;isolation:isolate;scroll-margin-bottom:calc(var(--dock-height) + 20px)}.demo-topline{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);margin:0 2px 12px}.demo-topline b{color:var(--purple);font-size:16px;margin-left:4px}.demo-grid{position:relative;display:grid;width:100%;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:8px;background:white;border-radius:16px;aspect-ratio:1;box-shadow:inset 0 1px 8px #17243b0b}.demo-cell{font-size:16px;border-radius:8px;border:1px solid transparent}.demo-cell.filled{box-shadow:inset 0 -3px #00000016,inset 0 1px #ffffff88}.demo-cell.empty{background:#edf2fc;border:1.5px dashed #c1cbe0;color:transparent}.demo-cell.highlight{background:#fff2ac;border-color:#c89d00;transform:scale(.96)}.demo-cell.clearing{animation:clear .5s forwards}.tray{display:flex;justify-content:center;margin-top:16px}.piece{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:82px;height:82px;padding:7px;background:white;border:2px solid var(--ink);border-radius:14px;box-shadow:3px 3px 0 var(--ink);touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.piece-block{display:flex;align-items:center;justify-content:center;background:linear-gradient(#ffe975,#ffd42c);color:#644500;border-radius:6px;box-shadow:inset 0 -3px #d9a60042;font-size:16px;font-weight:800}.piece:active{cursor:grabbing}.piece.hidden{visibility:hidden;pointer-events:none}.drag-ghost{z-index:1000;opacity:.9;transform:scale(1.04)}.demo-hint{min-height:34px;text-align:center;font-size:11px;color:var(--muted);margin-top:14px;line-height:1.45}.demo-success{position:absolute;inset:0;z-index:5;background:#ffffffed;backdrop-filter:blur(5px);border-radius:23px;padding:22px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}.success-symbol{font-size:50px;line-height:1;color:var(--yellow);text-shadow:2px 2px var(--purple)}.demo-success h3{font-size:37px;font-weight:900;color:var(--purple);letter-spacing:-1px}.demo-success #demoResult{color:var(--muted);font-size:15px}.continue-question{font-size:16px;font-weight:700;margin-top:14px}.demo-success .btn{margin-top:6px;max-width:100%;font-size:12px}.text-button{color:var(--blue);background:transparent;text-decoration:underline;font-size:13px;padding:12px;min-height:44px}.section-note{text-align:center;color:var(--muted);font-size:11px;line-height:1.5;margin:16px auto 0;max-width:400px}.guide{background:linear-gradient(#f4f7ff,#eef3ff)}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 22px}.feat{text-align:center;border:1px solid var(--line);border-radius:16px;background:white;padding:14px 6px}.feat-icon{display:block;font-size:25px;color:var(--purple);line-height:1;margin-bottom:10px}.feat h3{font-size:12px;line-height:1.3}.feat p{font-size:10px;color:var(--muted);line-height:1.4;margin-top:6px}
.install{background:white}.steps{padding:0;margin:0;list-style:none;display:flex;flex-direction:column;gap:20px}.step{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#f7f9ff}.step-img{width:100%;height:auto;aspect-ratio:4/5;max-width:400px;margin:auto;background:#f5f7ff}.step-content{padding:18px 16px;display:flex;gap:12px;border-top:1px solid var(--line)}.step-num{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;color:white;background:var(--purple);font-size:13px;font-weight:700}.step h3{font-size:14px;line-height:1.4}.step p{font-size:12px;line-height:1.55;color:var(--muted);margin-top:5px}.install>.container>.btn{margin-top:22px}.download-status{padding:16px;margin-top:16px;background:#fff4c9;border:1px solid #e8c954;border-radius:12px;font-size:13px;color:#514319;scroll-margin-top:calc(var(--header-height) + 14px);scroll-margin-bottom:calc(var(--dock-height) + 20px)}
.consent-section{padding-top:20px}.consent{background:#ecf1fc;border:1px solid #d4dff5;padding:20px;border-radius:18px;scroll-margin-top:calc(var(--header-height) + 14px);scroll-margin-bottom:calc(var(--dock-height) + 24px)}.consent h2{font-size:18px;letter-spacing:-.3px}.consent p{font-size:12px;line-height:1.55;color:var(--muted);margin-top:8px}.consent a{text-underline-offset:2px}.consent-status:empty{display:none}.consent-actions{display:flex;gap:10px;margin-top:16px}.consent-actions button{flex:1;min-height:44px;padding:10px;border:1px solid var(--blue);border-radius:10px;background:white;color:var(--blue);font-weight:700;font-size:13px}.consent-actions button:hover{background:#dee9ff}.footer{text-align:center;padding-top:34px;padding-bottom:30px;font-size:12px;color:var(--muted)}.footer-brand{font-size:18px;font-weight:800;color:var(--ink);text-decoration:none}.footer>p{margin-top:7px}.footer-links{display:flex;flex-wrap:wrap;gap:2px 12px;justify-content:center;margin-top:16px}.footer-links a,.footer-links button{padding:10px 0;font-size:11px;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.copyright{font-size:10px}.floating-bar{position:fixed;bottom:0;left:0;right:0;background:#fffffffa;border-top:1px solid var(--line);z-index:40;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 22px #20396909}.floating-inner{height:var(--dock-height);display:flex;align-items:center;gap:10px;max-width:480px;padding:9px 16px;margin:auto}.floating-inner>img{border-radius:12px;flex-shrink:0}.floating-meta{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.4}.floating-meta strong{font-size:12px;white-space:nowrap}.floating-meta span{font-size:10px;color:var(--muted)}.floating-bar .btn{min-height:42px;font-size:12px;padding:10px 16px;border-radius:11px}.noscript{background:#fff4c9;padding:18px;margin:12px;font-size:14px}
.legal-main{padding-top:34px;padding-bottom:24px}.legal-main h1{font-size:30px;line-height:1.15;letter-spacing:-1px;margin:10px 0 16px}.legal-main h2{font-size:19px;letter-spacing:-.3px;margin:28px 0 8px}.legal-main p,.legal-main li{font-size:14px;line-height:1.7;color:var(--muted)}.legal-main p+p{margin-top:12px}.legal-main ul{padding-left:20px}.legal-main a{color:var(--blue);overflow-wrap:anywhere}.legal-main .legal-meta{font-size:11px;margin-bottom:22px}.legal-box{padding:18px;border:1px solid var(--line);border-radius:15px;background:white;margin:18px 0}.legal-box p{font-size:13px}.legal-body{padding-bottom:0}.legal-body .footer{padding-bottom:35px}
@keyframes merge{0%,100%{transform:scale(1)}45%{transform:scale(1.16);filter:brightness(1.16)}}@keyframes clear{0%{transform:scale(1);opacity:1}40%{transform:scale(1.12);filter:brightness(1.5)}100%{transform:scale(0);opacity:0}}
@media(max-height:720px) and (max-width:600px){:root{--header-height:52px;--dock-height:66px}.header-inner{padding-top:6px;padding-bottom:6px}.brand img{width:34px;height:34px}.hero{padding-top:12px;padding-bottom:20px}.hero h1{font-size:28px}.hero-sub{font-size:12px;line-height:1.4;margin-top:7px}.hero-phone-wrap{margin-top:10px}.phone-frame{width:176px;border-radius:22px;padding:6px}.phone-screen{border-radius:16px}.phone-topbar,.phone-bottom{min-height:23px;padding:4px 8px}.board{padding:6px;gap:3px}.hero-cell{font-size:11px;border-radius:5px}.hero-caption{font-size:8px;margin-top:5px}.hero-ctas{margin-top:11px;gap:9px}.hero-ctas .btn{min-height:44px;padding:10px;font-size:12px}}
@media(max-width:360px){.container{padding-left:16px;padding-right:16px}.header-inner{padding-left:16px;padding-right:16px}.brand{font-size:16px}.brand-tag{font-size:8px}.demo-board-wrap{padding:12px}.demo-grid{gap:5px}.floating-inner{padding-left:12px;padding-right:12px;gap:8px}.floating-bar .btn{padding-left:12px;padding-right:12px}}
@media(min-width:900px){.hero{padding-top:26px}.hero h1{font-size:38px}.phone-frame{width:230px}.container,.header-inner{max-width:500px}.floating-inner{max-width:500px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
