:root{--navy:#0e2550;--blue:#1667d5;--cyan:#3fc9d5;--ink:#122647;--muted:#60718b;--bg:#f4f7fb;--card:#fff;--line:#dbe4ef;--tile:#eaf1fb;--shadow:0 18px 50px rgba(14,37,80,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:1180px;margin:auto;padding:24px 20px 30px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.brand{display:flex;align-items:center;gap:11px;font-size:14px;font-weight:800;letter-spacing:.06em;line-height:1.12;color:var(--navy)}.brand strong{font-weight:900}.brand small{display:block;letter-spacing:0;font-size:12px;color:var(--muted);font-weight:500;margin-top:4px}.brandmark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--blue);color:#fff;font-size:25px;letter-spacing:-.1em;padding-right:3px}.top-actions{display:flex;align-items:center;gap:8px}.edition-badge{font-size:11px;letter-spacing:.12em;font-weight:900;color:#0f559b;background:#ddedff;padding:8px 12px;border-radius:30px}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--ink);font-size:20px}.intro{display:grid;grid-template-columns:1.35fr .8fr;gap:24px;align-items:center;background:linear-gradient(115deg,#102853,#163d78);color:#fff;border-radius:24px;padding:38px 45px;overflow:hidden}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:900;color:#237cce}.intro .eyebrow{color:#78deea}.intro h1{font-size:clamp(32px,5vw,58px);line-height:1.08;letter-spacing:-.04em;margin:12px 0}.intro h1 em{color:#66dcdf;font-style:normal}.intro p{max-width:520px;color:#d9e9fb;margin:0}.intro-art{display:grid;grid-template-columns:repeat(3,66px);grid-template-rows:repeat(2,66px);gap:12px;justify-content:center;transform:rotate(-6deg)}.intro-art span{display:grid;place-items:center;border-radius:18px;background:#fff;color:#1b65bd;font-size:34px;font-weight:900;box-shadow:0 10px 15px #09224f5c}.intro-art span:nth-child(2),.intro-art span:nth-child(5){background:#6ed9df;color:#0b376d}.intro-art span:nth-child(4){background:#ffcf72;color:#153a75}.game-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:22px 0}.game-tab{display:flex;align-items:center;gap:9px;min-height:62px;padding:10px;border:1px solid var(--line);background:var(--card);border-radius:14px;color:var(--ink);font-size:13px;font-weight:750;text-align:left}.game-tab .tab-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;background:#e8f1ff;color:var(--blue);border-radius:10px;font-size:19px}.game-tab[aria-selected=true]{color:#fff;background:var(--blue);border-color:var(--blue);box-shadow:0 8px 20px #1667d54d}.game-tab[aria-selected=true] .tab-icon{background:#ffffff2e;color:#fff}.game-shell{background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.game-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:29px 32px 20px}.game-heading h2{font-size:30px;line-height:1.13;letter-spacing:-.03em;margin:6px 0}.game-heading p{margin:0;color:var(--muted);max-width:660px}.game-meta{display:flex;gap:14px}.meta-item{min-width:80px;background:var(--bg);border-radius:11px;padding:9px 13px;text-align:center}.meta-item small{display:block;color:var(--muted);font-size:10px;letter-spacing:.1em;font-weight:800}.meta-item strong{font-size:18px}.toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:10px;padding:0 32px 22px}.toolbar label{font-size:11px;font-weight:800;letter-spacing:.05em;color:var(--muted)}.toolbar select,.toolbar input{display:block;background:var(--card);color:var(--ink);height:42px;border:1px solid var(--line);border-radius:9px;padding:0 12px;min-width:125px;margin-top:4px}.toolbar input{width:118px}.btn{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;border-radius:10px;font-weight:800;font-size:14px;min-height:42px;padding:10px 18px;border:1px solid transparent;white-space:nowrap}.btn-primary{background:var(--blue);color:#fff}.btn-ghost{border-color:var(--line);background:var(--card);color:var(--ink)}.btn-light{background:#fff;color:#11457d}.play-area{display:grid;grid-template-columns:minmax(0,1fr) 265px;border-top:1px solid var(--line)}.stage{background:radial-gradient(circle at 10% 5%,#e2f5fb,transparent 45%),#f2f7fe;min-height:420px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center}.side-panel{border-left:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:16px}.side-panel h3{font-size:20px;line-height:1.25;letter-spacing:-.03em;margin:6px 0}.side-panel p{font-size:13px;color:var(--muted);margin:0}.game-info{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;font-size:13px;color:var(--muted)}.game-info strong{color:var(--ink)}.game-controls{display:grid;gap:8px}.game-controls button{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;min-height:39px;font-size:13px;font-weight:700}.status{font-size:13px;min-height:30px;color:#125493;font-weight:700}.puzzle-grid{display:grid;gap:5px;width:min(100%,480px);aspect-ratio:1;margin:auto;touch-action:manipulation}.puzzle-grid button{min-width:0;min-height:0;border:1px solid #d6e4f4;background:#fff;border-radius:10px;color:#183b70;font-weight:850;font-size:clamp(15px,3vw,25px);box-shadow:0 3px 0 #cbdcf0}.puzzle-grid button:hover{background:#ebf5ff}.puzzle-grid button:focus-visible,.game-tab:focus-visible,.btn:focus-visible{outline:3px solid #ffba5b;outline-offset:2px}.arrow-grid button{font-size:clamp(19px,4vw,30px)}.puzzle-grid button.empty{background:#ffffff55;color:transparent;box-shadow:none;border:1px dashed #dbe8f4;pointer-events:none}.puzzle-grid button.hint{background:#ffedba;border-color:#ffbb47}.puzzle-grid button.selected{background:#b9e9eb;border-color:#42bfc5}.puzzle-grid button.found{background:#c7f0d8;border-color:#71cd93;color:#195b40}.puzzle-grid button.given{background:#dceafe;color:#174a93}.puzzle-grid button.invalid{background:#ffe3e0;border-color:#ef927e}.puzzle-grid.word-grid{gap:3px}.word-grid button{font-size:clamp(11px,2vw,18px);border-radius:6px}.word-list{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:15px;max-width:500px}.word-list span{font-weight:750;font-size:11px;letter-spacing:.05em;padding:5px 9px;background:#fff;border:1px solid var(--line);border-radius:20px;color:#56708e}.word-list span.found{text-decoration:line-through;color:#199265;background:#e0f8e8}.word-wrap{width:min(100%,510px)}.memory-grid{max-width:520px}.memory-grid button{font-size:clamp(23px,5vw,41px);background:#2667b8;color:#fff}.memory-grid button.revealed{background:#fff}.memory-grid button.matched{background:#d2f1df}.number-grid button{font-size:clamp(17px,4vw,29px);background:#dce9f8}.number-grid button.empty{pointer-events:none}.number-grid button.tile-4{background:#b7dcee}.number-grid button.tile-8,.number-grid button.tile-16{background:#78cfe2}.number-grid button.tile-32,.number-grid button.tile-64{background:#4ea5db;color:#fff}.number-grid button.tile-128,.number-grid button.tile-256,.number-grid button.tile-512,.number-grid button.tile-1024,.number-grid button.tile-2048{background:#24579b;color:#fff}.block-grid{max-width:450px}.block-grid button.filled{background:#407fd1;color:transparent;border-color:#2a68b5}.block-pieces{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:17px}.block-piece{min-width:72px;min-height:55px;border-radius:10px;border:2px solid #cbd9e9;background:#fff;display:grid;place-items:center;padding:6px}.block-piece.active{border-color:#1667d5;box-shadow:0 0 0 3px #b3d3f6}.block-piece.used{opacity:.3}.piece-mini{display:grid;gap:2px}.piece-mini i{width:14px;height:14px;border-radius:3px;background:#4b91de}.piece-mini i.blank{background:transparent}.number-controls{display:flex;gap:7px;justify-content:center;margin-top:18px}.number-controls button{width:45px;height:42px;background:#fff;border:1px solid #b5cce8;border-radius:8px;color:#1a4c84;font-weight:800;font-size:20px}.sudoku-pad{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin-top:15px}.sudoku-pad button{min-width:39px;height:39px;border:1px solid #c8d9eb;border-radius:9px;background:#fff;color:#214f88;font-weight:800}.sudoku-pad button.active{background:var(--blue);color:#fff}.finish{border-radius:16px;padding:24px;background:#e0f8eb;color:#125b3c;text-align:center;margin:0 auto 15px;max-width:500px}.finish strong{display:block;font-size:22px}.bottom-row{display:flex;align-items:center;gap:24px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:23px 30px;margin-top:22px}.bottom-row>div:first-child{flex:1}.bottom-row h3{font-size:22px;letter-spacing:-.03em;margin:3px 0}.bottom-row p{font-size:13px;color:var(--muted);margin:0}.stat{min-width:95px;text-align:center;border-left:1px solid var(--line);padding-left:18px}.stat strong{display:block;font-size:22px;color:var(--blue)}.stat span{font-size:11px;color:var(--muted);font-weight:700}.upgrade{display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(110deg,#0d2550,#16599e);color:#fff;border-radius:20px;padding:28px 34px;margin-top:20px}.upgrade .eyebrow{color:#84e5e9}.upgrade h3{font-size:25px;margin:5px 0}.upgrade p{color:#d5e4f7;margin:0;max-width:690px;font-size:14px}footer{text-align:center;color:var(--muted);font-size:11px;padding:23px 0 0}body.dark{--bg:#0b1930;--card:#142540;--ink:#eaf3ff;--muted:#9db0cc;--line:#2a3d5c;--tile:#19365b;--shadow:none}body.dark .brand{color:#eaf3ff}body.dark .stage{background:#0e203b}body.dark .puzzle-grid button,body.dark .block-piece,body.dark .number-controls button,body.dark .sudoku-pad button{background:#203a5e;color:#eaf3ff;border-color:#345476;box-shadow:none}body.dark .puzzle-grid button.empty{background:#162c49}body.dark .puzzle-grid button.selected{background:#27677a}body.dark .puzzle-grid button.found{background:#25634b}body.dark .puzzle-grid button.given{background:#214b82}body.dark .memory-grid button:not(.revealed):not(.matched){background:#2460ad}body.dark .block-grid button.filled{background:#326cbe}body.dark .number-grid button:not(.empty){background:#376695}body.dark .edition-badge{background:#244870;color:#d5ebff}@media(max-width:900px){.game-tabs{grid-template-columns:repeat(3,1fr)}.play-area{grid-template-columns:1fr}.side-panel{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.stage{min-height:390px}}@media(max-width:620px){.app{padding:12px}.brand small{display:none}.brand{font-size:11px}.brandmark{width:32px;height:32px;font-size:21px}.edition-badge{font-size:9px;padding:7px}.intro{grid-template-columns:1fr;padding:28px}.intro-art{display:none}.game-tabs{gap:6px}.game-tab{font-size:10px;padding:6px;min-height:55px;gap:4px}.game-tab .tab-icon{width:26px;height:26px;font-size:15px}.game-heading{padding:23px 18px 16px;align-items:start}.game-heading h2{font-size:24px}.game-meta{gap:4px}.meta-item{min-width:53px;padding:7px}.meta-item strong{font-size:14px}.toolbar{padding:0 18px 18px}.toolbar label{flex:1}.toolbar select,.toolbar input{width:100%;min-width:0}.toolbar .btn{flex:1;font-size:12px;padding:7px}.stage{padding:14px;min-height:310px}.puzzle-grid{gap:3px}.puzzle-grid button{border-radius:6px}.side-panel{grid-template-columns:1fr;padding:18px}.bottom-row{flex-wrap:wrap;padding:18px;gap:12px}.bottom-row>div:first-child{flex-basis:100%}.stat{flex:1;min-width:60px;padding-left:8px}.upgrade{padding:22px;display:block}.upgrade .btn{margin-top:16px}.word-grid button{font-size:12px}}
