:root{--ink:#194549;--deep:#17474b;--deep2:#0c3539;--muted:#597475;--cream:#fff8e9;--paper:#fffdf6;--orange:#f48b4f;--orange-dark:#ba572a;--gold:#f2c35d;--green:#d8e8d3;--mint:#eef6e7;--sage:#78998a;--lavender:#e9e7f6;--line:#e6e4d7;--shadow:0 14px 38px rgba(31,69,65,.1);--radius:24px;font-family:ui-rounded,'Trebuchet MS',Verdana,sans-serif;color:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);min-width:310px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:4px solid #e9ab35;outline-offset:3px}a{color:inherit}.skip-link{position:absolute;left:10px;top:-80px;background:#fff;padding:12px;z-index:20}.skip-link:focus{top:10px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{background:var(--deep);color:#fff;box-shadow:0 5px 0 #ecd9ad}.header-inner{max-width:1240px;margin:auto;padding:13px clamp(16px,4vw,40px);display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:10px;border:0;background:none;color:inherit;padding:4px;text-align:left}.brand-mark{background:var(--gold);color:var(--deep);width:46px;height:46px;display:grid;place-items:center;border-radius:15px;transform:rotate(-9deg);font-size:32px;box-shadow:inset 0 -4px rgba(150,94,16,.18)}.brand-overline{display:block;font-size:10px;letter-spacing:2.4px;font-weight:900;color:#d3e6d7}.brand-type strong{display:block;font-size:23px;line-height:1.15;letter-spacing:-.6px}.brand-type em{font-style:normal;color:#ffc77d}.header-actions{display:flex;align-items:center;gap:12px}.header-link,.icon-button,.profile-pill{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.09);color:#fff;border-radius:15px;min-height:42px;padding:9px 12px;font-weight:800}.header-link:hover,.icon-button:hover,.profile-pill:hover{background:rgba(255,255,255,.2)}.header-link span:first-child{font-size:21px}.icon-button{font-size:23px;width:44px;padding:5px}.profile-pill{display:flex;align-items:center;gap:8px;background:#f7f0d6;color:var(--ink);border:0}.profile-pill span:first-child{font-size:23px}.site-footer{margin-top:auto;display:flex;justify-content:space-between;gap:12px;max-width:1240px;width:100%;padding:24px 36px 30px;align-self:center;color:#617877;font-size:12px;font-weight:700}.site-footer a{text-decoration:none;border-bottom:1px solid currentColor}
.page{max-width:1200px;margin:0 auto;padding:35px clamp(16px,4vw,40px) 60px}.home-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.87fr);gap:42px;align-items:center;margin-bottom:34px}.eyebrow,.section-kicker{text-transform:uppercase;font-weight:900;letter-spacing:2px;color:var(--orange-dark);font-size:12px}.hero-heading{font-size:clamp(43px,5.8vw,76px);letter-spacing:-3.8px;line-height:1.04;margin:13px 0 21px;max-width:640px}.hero-heading span{color:#eb8852}.hero-copy{font-size:18px;line-height:1.65;color:#577274;max-width:530px;margin:0 0 26px}.hero-cta{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.btn{border:0;border-radius:16px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 23px;font-weight:900;text-decoration:none;transition:transform .15s,box-shadow .15s}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn-primary{background:var(--orange);color:#442d1c;box-shadow:0 5px 0 #da713e}.btn-primary:hover:not(:disabled){box-shadow:0 7px 0 #da713e}.btn-dark{background:var(--deep);color:#fff;box-shadow:0 4px 0 #0d3235}.btn-ghost{background:#fffdf5;color:var(--ink);border:2px solid #d9e3d7}.btn-light{background:#e7f0e4;color:var(--deep)}.btn-sm{min-height:39px;padding:9px 14px;font-size:13px;border-radius:12px}.inline-star{color:#db9131}.hero-trust{display:flex;gap:20px;flex-wrap:wrap;color:#65817c;font-weight:800;font-size:12px;margin-top:26px}.hero-trust span{display:flex;gap:6px;align-items:center}
.hero-visual{position:relative;border-radius:38px;background:#dfebd7;min-height:372px;box-shadow:var(--shadow);border:8px solid #fffdf6;display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate}.hero-visual:before{content:"";position:absolute;border-radius:50%;width:390px;height:390px;background:#c4dbc0;left:-100px;bottom:-205px}.hero-visual:after{content:"✦";position:absolute;font-size:96px;color:#f0b758;opacity:.55;right:16px;top:-27px}.orbit-text{position:absolute;left:25px;top:24px;background:#fffef7;border-radius:15px;padding:10px 14px;font-size:13px;font-weight:900;box-shadow:0 5px 12px #45634419;transform:rotate(-4deg)}.show-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);width:min(70%,300px);aspect-ratio:1;background:#234e4d;border:5px solid #234e4d;border-radius:20px;overflow:hidden;gap:2px;box-shadow:0 15px 15px rgba(15,56,49,.2);transform:rotate(7deg)}.show-grid div{background:#fffdf2;display:grid;place-items:center;font-weight:900;font-size:clamp(24px,3vw,36px)}.show-grid div:nth-child(2n){background:#f6f4de}.show-grid .blank{background:#ffcf95;color:#a94c28}.pip{--pip-size:94px;display:block;position:relative;width:var(--pip-size);height:calc(var(--pip-size)*1.1);flex:none}.pip-ear{position:absolute;background:var(--deep);width:17%;height:26%;top:30%;border-radius:9px}.pip-ear.left{left:5%}.pip-ear.right{right:5%}.pip-face{position:absolute;left:15%;right:15%;top:23%;height:56%;background:#fffdf3;border:6px solid var(--deep);border-radius:28%;box-shadow:0 5px 0 #8ba89a}.pip-antenna{position:absolute;width:6px;height:24%;background:var(--deep);top:1%;left:calc(50% - 3px);border-radius:8px}.pip-antenna:before{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:var(--orange);top:-6px;left:-4px}.pip-eyes{position:absolute;left:16%;right:16%;top:28%;display:flex;justify-content:space-between}.pip-eyes i{display:block;width:15px;height:18px;border-radius:50%;background:var(--deep)}.pip-mouth{position:absolute;left:34%;right:34%;top:64%;height:8px;border-radius:0 0 10px 10px;border-bottom:4px solid var(--orange)}.hero-pip{position:absolute;--pip-size:95px;right:17px;bottom:9px;transform:rotate(-11deg);z-index:3}.float-badge{position:absolute;z-index:4;background:#fffefa;padding:10px 15px;border-radius:14px;font-weight:900;box-shadow:0 4px 8px #38544227}.float-badge.star{left:10px;bottom:26px;transform:rotate(-6deg)}.float-badge.numbers{right:20px;top:34px;transform:rotate(7deg)}
.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:10px 0 20px}.section-heading h2{font-size:clamp(26px,3.5vw,36px);letter-spacing:-1px;margin:6px 0 0}.section-heading p{margin:0;color:#68807d;font-size:14px}.journey-progress{height:9px;background:#e4e6d9;border-radius:100px;overflow:hidden}.journey-progress>div{height:100%;border-radius:100px;background:linear-gradient(90deg,#90ad82,#e7b454);transition:width .3s}.progress-label{display:flex;justify-content:space-between;gap:12px;color:#607b76;font-size:12px;font-weight:900;margin:8px 0 22px}.chapter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.chapter-card{position:relative;border:2px solid #e7e6d9;border-radius:24px;background:#fffef7;box-shadow:0 5px 0 #ede8d9;padding:21px;min-height:230px;overflow:hidden;display:flex;flex-direction:column;text-align:left;transition:transform .15s,box-shadow .15s}.chapter-card:hover{transform:translateY(-3px);box-shadow:0 8px 0 #e7e0ce}.chapter-card.selected{border-color:#e1a45d}.chapter-card.locked{background:#f5f5ee;color:#7c8d86}.chapter-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.chapter-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;font-size:31px;background:var(--green);box-shadow:inset 0 -5px rgba(23,71,75,.07)}.chapter-card:nth-child(2) .chapter-icon{background:#ffe7cb}.chapter-card:nth-child(3) .chapter-icon{background:#eee5fb}.chapter-card:nth-child(4) .chapter-icon{background:#ddecf8}.chapter-card:nth-child(5) .chapter-icon{background:#f5eac6}.chapter-card:nth-child(6) .chapter-icon{background:#f7dad3}.chip{font-size:11px;letter-spacing:.4px;font-weight:900;border-radius:100px;background:#eaf1e5;color:#3d7a65;padding:6px 10px;white-space:nowrap}.chip.gold{background:#fff0bf;color:#81571d}.chip.locked{background:#ebebe7;color:#8b9591}.chapter-title{margin:17px 0 6px;font-size:21px;letter-spacing:-.6px}.chapter-desc{color:#71817e;font-size:13px;line-height:1.45;max-width:230px;margin:0 0 16px}.chapter-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:900;color:#608678}.chapter-link{color:var(--orange-dark)}.more-strip{margin:28px 0 0;border-radius:21px;background:#e5efdf;padding:19px 23px;display:flex;align-items:center;justify-content:space-between;gap:20px}.more-strip strong{font-size:16px}.more-strip p{margin:5px 0 0;color:#678174;font-size:13px}
.game-page{padding-top:23px}.crumbs{display:flex;gap:10px;align-items:center;color:#67817c;font-size:12px;font-weight:900;margin-bottom:18px}.crumbs button{padding:4px;background:none;border:0;text-decoration:underline;color:inherit;font-weight:900}.game-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:19px}.game-header h1{font-size:clamp(28px,3.5vw,42px);line-height:1.08;letter-spacing:-1.8px;margin:5px 0}.game-header p{margin:0;color:#718680;font-size:14px}.game-stats{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.stat-pill{display:flex;align-items:center;gap:7px;padding:10px 13px;border-radius:14px;background:#fffef7;border:1px solid #e3e4d9;font-weight:900;font-size:13px}.game-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.85fr);align-items:start;gap:23px}.board-panel{border-radius:27px;background:#fffef9;padding:20px;box-shadow:var(--shadow);border:1px solid #ebe9de}.game-board-wrap{display:flex;align-items:center;justify-content:center;min-height:180px}.board{--size:4;--box-rows:2;--box-cols:2;display:grid;grid-template-columns:repeat(var(--size),minmax(0,1fr));aspect-ratio:1;width:min(100%,var(--board-px));border:4px solid var(--deep);background:var(--deep);border-radius:13px;overflow:hidden;box-shadow:0 5px 0 #b8c9b3}.cell{position:relative;min-width:0;min-height:0;border:0;border-right:1px solid #cbd9cf;border-bottom:1px solid #cbd9cf;border-radius:0;background:#fffef9;color:var(--deep);display:grid;place-items:center;font-size:clamp(17px,4.5vw,31px);font-weight:900;padding:0;aspect-ratio:1;user-select:none;-webkit-tap-highlight-color:transparent}.cell[aria-selected="true"]{background:#ffda9b!important;box-shadow:inset 0 0 0 3px #df884b;z-index:3}.cell.fixed{background:#eaf1e9;color:#294e54}.cell.related:not(.selected){background:#e8f2ea}.cell.same-number:not(.selected){background:#d5e8d5}.cell.error{color:#ad3c37;background:#ffe6e1}.cell.box-right{border-right:3px solid var(--deep)}.cell.box-bottom{border-bottom:3px solid var(--deep)}.cell .notes{display:grid;grid-template-columns:repeat(3,1fr);width:100%;height:100%;align-items:center;justify-items:center;color:#8a9b8c;font-size:clamp(7px,1.6vw,12px);font-weight:800}.cell .notes span{line-height:1}.board[data-size="1"]{--board-px:184px}.board[data-size="2"]{--board-px:245px}.board[data-size="4"]{--board-px:355px}.board[data-size="6"]{--board-px:440px}.board[data-size="9"]{--board-px:490px}.board[data-size="9"] .cell{font-size:clamp(15px,3.7vw,27px)}.board[data-size="2"] .cell,.board[data-size="1"] .cell{font-size:54px}.board[data-size="1"] .cell{border:0}.board[data-size="2"] .cell:nth-child(2n){border-right:0}.board[data-size="2"] .cell:nth-last-child(-n+2){border-bottom:0}
.board-instructions{text-align:center;margin:10px 0 18px;font-size:13px;font-weight:800;color:#778b83}.input-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #e9eadf;padding-top:17px;margin-bottom:12px}.input-heading strong{font-size:14px}.input-heading span{font-size:12px;color:#7e928a}.number-pad{display:grid;grid-template-columns:repeat(var(--pad-size),minmax(0,1fr));gap:8px;margin-bottom:14px}.number-button{height:52px;border:2px solid #dbe5d9;background:#f1f7ed;border-radius:13px;color:var(--deep);font-size:24px;font-weight:900;transition:transform .12s,background .12s}.number-button:hover:not(:disabled){background:#ffead1;transform:translateY(-2px)}.number-button.possible{background:#e1f1dc;border-color:#b2d09e}.number-button.note-mode{background:#e9e7f6;border-color:#bbb6e6}.board-tools{display:flex;flex-wrap:wrap;gap:8px}.tool-button{border:1px solid #d9e2d6;background:#fff;padding:10px 14px;border-radius:12px;color:var(--deep);font-weight:900;font-size:12px;min-height:43px}.tool-button[aria-pressed="true"]{background:#e9e4ff;border-color:#a89ed8}.tool-button:hover{background:#f3f1e4}.helper-panel{display:flex;flex-direction:column;gap:14px}.tip-card,.lesson-card,.mini-card{background:#fffdf7;border:1px solid #e8e7dd;border-radius:24px;box-shadow:0 5px 12px #1d50400d;padding:23px}.tip-card{background:#e3eee0;position:relative;overflow:hidden}.tip-heading{display:flex;align-items:center;gap:13px}.tip-heading .pip{--pip-size:67px}.tip-heading h2{margin:0;font-size:20px}.tip-heading small{font-size:10px;font-weight:900;letter-spacing:1.5px;color:#789585}.tip-message{background:#fffef6;border-radius:16px;padding:15px;margin-top:15px;line-height:1.55;font-size:14px;font-weight:800;box-shadow:0 3px 0 #d0dfcf}.tip-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.lesson-card h3,.mini-card h3{font-size:17px;margin:0 0 10px}.lesson-card p,.mini-card p{color:#66827c;line-height:1.65;font-size:13px;margin:0 0 12px}.rule-list{display:grid;gap:9px}.rule{display:flex;gap:9px;align-items:center;font-size:13px;font-weight:800}.rule-icon{background:#eef3e9;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;flex:none}.rule-icon.box{background:#fff0db}.rule-icon.col{background:#eae9fa}.step-dots{display:flex;gap:5px;margin-top:13px}.step-dots i{height:7px;border-radius:9px;background:#d7e2d5;flex:1}.step-dots i.done{background:#84ac85}.step-dots i.current{background:#f0b565}.free-note{font-size:11px;color:#7b8d87;margin-top:10px;text-align:center}.learning-trail{margin-top:20px;padding:14px 18px;border:1px dashed #c4d2c2;border-radius:17px;color:#597b6e;font-size:12px;display:flex;gap:10px;align-items:center;justify-content:space-between}
.overlay{position:fixed;inset:0;background:rgba(8,39,39,.62);z-index:40;display:grid;place-items:center;padding:18px}.dialog{background:#fffdf5;color:var(--deep);border-radius:28px;max-width:520px;width:100%;max-height:min(90vh,810px);overflow:auto;padding:26px;box-shadow:0 24px 90px #0c29296e;border:4px solid #fffcf0}.dialog.wide{max-width:690px}.dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.dialog h2{font-size:clamp(26px,4vw,34px);letter-spacing:-1.5px;margin:9px 0 12px}.dialog p{color:#617d74;line-height:1.65}.close-button{border:0;border-radius:12px;background:#edf0e7;font-size:19px;color:var(--deep);width:40px;height:40px;flex:none}.dialog-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:23px}.dialog-label{font-size:13px;font-weight:900;margin:15px 0 8px;display:block}.dialog input[type="text"],.dialog select{width:100%;border:2px solid #d0dfd3;background:#fff;border-radius:13px;padding:12px;font-size:16px;color:var(--deep)}.toggle-line{display:flex;gap:12px;align-items:center;background:#f1f5eb;padding:14px;border-radius:14px;margin-bottom:9px;font-weight:800}.toggle-line input{width:20px;height:20px;accent-color:#327566}.avatar-pick{display:flex;gap:8px;flex-wrap:wrap}.avatar-option{background:#f0f4ec;font-size:26px;border:2px solid transparent;border-radius:12px;width:50px;height:50px}.avatar-option[aria-pressed="true"]{border-color:#e7a15c;background:#ffedd7}.profile-list{display:grid;gap:10px;margin:17px 0}.profile-item{display:flex;align-items:center;gap:12px;background:#f2f5eb;padding:12px;border-radius:13px}.profile-item .avatar{font-size:30px}.profile-item strong{flex:1}.profile-item small{display:block;font-size:11px;color:#729083;margin-top:3px}.success-scene{text-align:center;padding:5px 6px}.success-scene .large-star{font-size:74px;line-height:1.2}.success-scene h2{font-size:39px;margin:7px 0}.success-scene .stars{font-size:34px;letter-spacing:6px;color:#dba633}.success-scene p{font-size:16px}.toast{pointer-events:none;position:fixed;bottom:24px;left:50%;transform:translate(-50%,30px);opacity:0;background:#183e43;color:#fff;border-radius:15px;box-shadow:var(--shadow);padding:13px 20px;z-index:100;font-size:14px;font-weight:800;max-width:calc(100vw - 30px);text-align:center;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.guide-diagram{display:grid;grid-template-columns:repeat(4,46px);gap:2px;background:#194549;padding:3px;width:max-content;border-radius:10px;overflow:hidden;margin:18px auto}.guide-diagram div{height:46px;display:grid;place-items:center;background:#fff;font-size:21px;font-weight:900}.guide-diagram .hi{background:#ffdc97}.guide-steps{display:grid;gap:10px;margin-top:10px}.guide-step{display:flex;gap:13px;align-items:flex-start;background:#f0f5e9;border-radius:14px;padding:13px}.guide-step .number{border-radius:12px;background:#f3c76d;width:36px;height:36px;display:grid;place-items:center;font-weight:900;flex:none}.guide-step p{margin:2px 0 0;font-size:13px}
body.large-text{font-size:112%}body.large-text .cell{font-size:clamp(20px,4.7vw,35px)}body.large-text .board[data-size="9"] .cell{font-size:clamp(17px,4vw,28px)}.hidden{display:none!important}@media (min-width:900px){.board-panel{padding:26px}}@media (max-width:950px){.home-hero{gap:20px}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-layout{grid-template-columns:minmax(0,1fr)}.helper-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.helper-panel .mini-card{grid-column:1/-1}.game-board-wrap{min-height:auto}}@media (max-width:690px){.header-inner{padding:10px 15px}.brand-mark{width:40px;height:40px}.brand-type strong{font-size:18px}.brand-overline{font-size:8px}.header-actions{gap:6px}.header-link{padding:7px 8px}.header-link span:not(:first-child){display:none}.header-link span:first-child{font-size:22px}.header-link,.icon-button,.profile-pill{min-height:40px}.profile-pill{padding:5px 7px}.profile-pill #profile-name{display:none}.site-footer{justify-content:center;flex-wrap:wrap;text-align:center;padding:16px}.site-footer span:last-child{display:none}.page{padding-top:27px;padding-bottom:35px}.home-hero{grid-template-columns:1fr;gap:30px}.hero-heading{letter-spacing:-2.5px}.hero-copy{font-size:16px}.hero-visual{min-height:280px;order:-1}.show-grid{width:235px}.hero-pip{--pip-size:76px}.section-heading{align-items:start}.section-heading p{display:none}.chapter-grid{grid-template-columns:1fr;gap:12px}.chapter-card{min-height:155px;padding:17px}.chapter-icon{width:52px;height:52px;font-size:25px}.chapter-title{margin:10px 0 4px}.chapter-desc{margin-bottom:10px;max-width:none}.more-strip{flex-direction:column;align-items:flex-start}.game-header{flex-direction:column;gap:12px}.game-stats{justify-content:flex-start}.board-panel{padding:13px;border-radius:20px}.board{border-width:3px;border-radius:9px}.board[data-size="9"]{--board-px:100%}.cell.box-right{border-right-width:2px}.cell.box-bottom{border-bottom-width:2px}.number-pad{gap:4px}.number-button{height:46px;font-size:22px;border-radius:10px}.helper-panel{grid-template-columns:1fr}.helper-panel .mini-card{grid-column:auto}.tip-card,.lesson-card,.mini-card{padding:17px}.dialog{padding:18px}.board-instructions{font-size:11px}.learning-trail{flex-direction:column;align-items:flex-start}.crumbs{margin-bottom:10px}}
@media (max-width:375px){.brand-type strong{font-size:16px}.header-actions{gap:3px}.header-link,.icon-button{padding:5px 7px}.profile-pill span:last-child{display:none}.number-button{height:41px}.game-stats{gap:5px}.stat-pill{padding:7px 8px;font-size:11px}.hero-heading{font-size:41px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
