:root{--bg: #0e111b;--surface: #171c2b;--surface-hover: #1e2437;--border: #262d42;--text: #eef1f7;--muted: #9aa3b8;--accent: #35d0ba;--jade: #3fbf8f;--jade-deep: #1f6f55;--jade-face-1: #e9f7ef;--jade-face-2: #c4e8d4;--gold: #f2c14e;--radius: 14px;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;color:var(--text);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body{background:radial-gradient(120% 60% at 50% 0%,rgba(63,191,143,.13),transparent 60%),radial-gradient(90% 50% at 50% 100%,rgba(63,191,143,.08),transparent 70%),var(--bg);background-repeat:no-repeat}button,input{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}h1,h2,p{margin:0}.app{max-width:480px;margin:0 auto;height:var(--app-height, 100dvh);display:flex;flex-direction:column;position:relative}.screen{flex:1;min-height:0;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.scroll{flex:1;min-height:0;overflow-y:auto;padding:8px 16px 16px;display:flex;flex-direction:column;gap:12px}.scroll.center{align-items:center;justify-content:center;text-align:center}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.small{font-size:13px}.label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:650;margin:8px 0 0}.link{color:var(--jade);font-weight:600}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.topbar{display:flex;align-items:center;gap:10px;padding:10px 12px 6px;min-height:56px}.topbar h1{flex:1;min-width:0;font-size:16px;text-align:center}.topbar h1 small{display:block;font-size:12px;font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-actions{min-width:44px;display:flex;justify-content:flex-end}.icon-button{width:44px;height:44px;flex:none;border-radius:12px;border:1px solid var(--border);background:var(--surface);display:grid;place-items:center;text-decoration:none}.icon-button svg{width:20px;height:20px}.icon-button.on{color:var(--jade);border-color:#3fbf8f99}.button{min-height:52px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);font-weight:650;padding:0 18px;display:flex;align-items:center;justify-content:center;text-decoration:none}.button.primary{background:var(--jade);border-color:transparent;color:#08261b}.button.small{min-height:40px;padding:0 12px;font-size:14px}.brand{display:flex;align-items:center;gap:14px;margin:4px 0 8px}.brand h1{font-size:30px;letter-spacing:-.02em}.brand p{font-size:14px}.brand-stack{position:relative;width:66px;height:64px;flex:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:14px}.continue{display:flex;align-items:center;gap:14px;text-decoration:none;background:linear-gradient(135deg,#3fbf8f2e,#3fbf8f0a),var(--surface)}.continue b{display:block;font-size:18px}.continue small{display:block}.chevron{font-size:22px;color:var(--muted)}.sil{height:70px;display:grid;place-items:center}.sil svg{height:70px;max-width:100%}.sil.small,.sil.small svg{height:56px;width:56px}.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px}.section-head h2{font-size:17px}.shapes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shape{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:6px;min-height:160px;text-align:left}.shape b{font-size:16px}.shape small{font-size:12px;color:var(--muted)}.badge{font-size:11px;font-weight:700;border-radius:99px;padding:3px 8px;align-self:flex-start}.badge.done{background:#3fbf8f2e;color:var(--jade)}.badge.next{background:#f2c14e29;color:var(--gold)}.section-intro{margin:-6px 0 10px}.badge.extreme{background:#e854542e;color:#ff8a80}.shape.extreme{grid-column:1 / -1;border-color:#e8545473;background:linear-gradient(160deg,rgba(232,84,84,.1),transparent 60%),var(--surface)}.dialog-backdrop{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px;background:#05070cb8}.dialog{width:100%;max-width:400px;padding:22px 20px 18px;border-radius:18px;background:var(--surface);border:1px solid rgba(232,84,84,.45);box-shadow:0 20px 50px #0009;display:flex;flex-direction:column;gap:12px}.dialog-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;background:#e854542e;color:#ff8a80}.dialog h2{font-size:20px}.dialog p{color:var(--muted);font-size:15px}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.button.danger{background:#e85454;border-color:transparent;color:#fff}.tile{position:absolute;padding:0;border:0;border-radius:7px;background:linear-gradient(160deg,var(--jade-face-1),var(--jade-face-2));box-shadow:inset 0 0 0 1px #fff9,1px 1px #a6d9bf,3px 4px 0 var(--jade-deep),4px 7px 10px #0000008c;transition:transform .12s ease,opacity .25s ease,filter .2s ease;touch-action:manipulation;user-select:none;-webkit-user-select:none}.tile svg{width:100%;height:100%;display:block;pointer-events:none}.tile.mini{width:30px;height:40px}.tile.layer-0{filter:brightness(.92)}.tile.layer-1{filter:brightness(.97)}.tile.blocked{filter:brightness(.55) saturate(.6)}.tile.selected{transform:translate(-2px,-4px);filter:none;box-shadow:0 0 0 3px var(--gold),0 0 18px 2px #f2c14e8c,3px 4px 0 var(--jade-deep),5px 10px 14px #0009}.tile.hinted{filter:none;animation:hint .9s ease-in-out infinite}@keyframes hint{0%,to{box-shadow:0 0 0 3px var(--accent),3px 4px 0 var(--jade-deep),4px 7px 10px #0000008c}50%{box-shadow:0 0 0 5px var(--accent),0 0 20px 4px #35d0ba99,3px 4px 0 var(--jade-deep)}}.tile.shake{animation:shake .3s}@keyframes shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.tile.gone{opacity:0;transform:translateY(-10px) scale(1.06);pointer-events:none}.reduced-motion .tile,.reduced-motion .tile.hinted{transition:none;animation:none}@media(prefers-reduced-motion:reduce){.tile,.tile.hinted{transition:none;animation:none}}.stats{display:flex;gap:8px;padding:0 12px 6px}.stat{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:6px 10px}.stat b{display:block;font-size:17px;font-variant-numeric:tabular-nums}.stat span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.board-wrap{flex:1;min-height:0;position:relative;overflow:hidden}.board{position:absolute;inset:0}.board-scroll{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.board-scroll .board{inset:0 auto auto 0}.overview{position:absolute;right:10px;bottom:10px;z-index:99998;width:112px}.overview svg{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--border);box-shadow:0 6px 18px #00000080;cursor:pointer}.overview-toggle{position:absolute;top:-14px;left:-14px;width:30px;height:30px;padding:0;border-radius:50%;border:1px solid var(--border);background:var(--surface-hover);color:var(--text);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #00000073}.overview-toggle svg{width:18px;height:18px}.overview-toggle.folded{inset:auto 10px 10px auto;z-index:99998;width:44px;height:44px}.overview-toggle.folded svg{width:22px;height:22px}.overview-dot{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--accent)}.overview-bg{fill:#0e111bd1}.overview-tile{fill:#2f9a74}.overview-tile.layer-1{fill:#46c08f}.overview-tile.layer-2{fill:#8fe0b8}.overview-selected{fill:var(--gold)}.overview-hint{fill:var(--accent)}.overview-view{fill:#ffffff14;stroke:#fff;stroke-width:14}.toast{position:absolute;left:12px;right:12px;bottom:96px;z-index:99999;display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:14px;background:var(--surface-hover);border:1px solid var(--border);box-shadow:0 10px 30px #00000080;font-size:14px}.toast b{flex:1}.bar{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px 12px 12px;border-top:1px solid var(--border);background:#0e111bd9}.bar button{min-height:60px;border:0;border-radius:14px;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:13px;font-weight:600}.bar button svg{width:22px;height:22px}.bar button:disabled{opacity:.4}.count{margin-left:6px;padding:0 6px;border-radius:99px;background:var(--surface-hover);font-size:11px}.emblem{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#0e111b 0 18%,transparent 19%),radial-gradient(circle at 40% 35%,#bff3d9,#3fbf8f 55%,#155a44);box-shadow:0 0 0 8px #3fbf8f1f,0 0 0 2px var(--gold) inset;margin-bottom:8px}.scroll.center h1{font-size:26px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin-top:12px}.foot{display:grid;gap:10px;padding:12px 16px 16px}.setting{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.setting small{display:block;color:var(--muted);font-size:12px}.setting input{width:22px;height:22px;accent-color:var(--jade)}.consent{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:100000;max-width:456px;margin:0 auto;padding:14px;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:0 12px 30px #00000073;font-size:14px}.consent .row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.legal-links{margin:4px 0}.share-note{position:fixed;z-index:20;left:50%;top:calc(64px + env(safe-area-inset-top,0px));translate:-50% 0;max-width:calc(100% - 32px);padding:8px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:14px;pointer-events:none}
