:root{--app-bg: #f5f1e8;--app-bg-deep: #eae5db;--surface: rgba(255, 253, 248, .82);--surface-solid: #fffdf8;--surface-elevated: #ffffff;--text: #27363a;--text-soft: #526469;--text-muted: #879497;--grid-line: rgba(73, 89, 91, .15);--grid-line-strong: rgba(60, 77, 79, .38);--unknown-cell: #fbfaf6;--excluded-cell: #e8e8e3;--accent: #d86e5b;--sage: #708e7a;--focus-ring: #277e91;--shadow-soft: 0 16px 50px rgba(55, 67, 64, .1);--shadow-lift: 0 25px 70px rgba(55, 67, 64, .16);--radius-sm: 12px;--radius-md: 20px;--radius-lg: 32px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.22, 1.35, .48, 1);--duration-fast: .15s;--duration-normal: .24s;font-family:Inter,ui-rounded,SF Pro Rounded,Segoe UI,system-ui,-apple-system,sans-serif;color:var(--text);background:var(--app-bg);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;min-height:100dvh;overflow-x:hidden;background:radial-gradient(circle at 16% 5%,rgba(255,255,255,.95),transparent 31rem),linear-gradient(145deg,var(--app-bg) 0%,#f2eee5 52%,var(--app-bg-deep) 100%)}button{font:inherit}button:focus-visible{outline:3px solid color-mix(in srgb,var(--focus-ring) 58%,transparent);outline-offset:3px}.screen-enter{animation:screen-in .48s var(--ease-out) both}.eyebrow{margin:0 0 8px;color:var(--text-muted);font-size:11px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}.ambient{position:fixed;z-index:-1;width:420px;height:420px;border-radius:50%;filter:blur(4px);opacity:.35;pointer-events:none}.ambient-one{top:-220px;right:-90px;background:radial-gradient(circle,#f1c9a7,transparent 68%)}.ambient-two{bottom:-290px;left:-120px;background:radial-gradient(circle,#aecbbb,transparent 68%)}.level-select{position:relative;width:min(1180px,100%);min-height:100dvh;margin:0 auto;padding:max(52px,env(safe-area-inset-top)) clamp(22px,5vw,72px) max(34px,env(safe-area-inset-bottom))}.select-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;margin-bottom:48px}.brand-mark{display:grid;grid-template-columns:repeat(2,18px);gap:4px;padding:12px;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:#ffffff9e;box-shadow:0 8px 24px #434d4914;transform:rotate(-3deg)}.brand-mark span{width:18px;aspect-ratio:1;border-radius:5px;background:#dc715d}.brand-mark span:nth-child(2){background:#efba51}.brand-mark span:nth-child(3){background:#75927b}.brand-mark span:nth-child(4){background:#5d91aa}.select-header h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,6vw,68px);font-weight:500;letter-spacing:-.055em;line-height:.95}.select-header h1 em{color:var(--accent);font-weight:inherit}.select-intro{max-width:540px;margin:15px 0 0;color:var(--text-soft);font-family:Georgia,Times New Roman,serif;font-size:17px;line-height:1.5}.collection-progress{display:grid;min-width:125px;padding:17px 18px;border:1px solid rgba(255,255,255,.82);border-radius:var(--radius-md);background:#ffffff80;box-shadow:0 10px 32px #454f4b0f;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.progress-count{color:var(--text);font-family:Georgia,serif;font-size:28px;font-weight:500;letter-spacing:-.03em;line-height:1}.progress-count small{color:var(--text-muted);font-size:15px}.collection-progress>span:nth-child(2){margin-top:4px}.progress-track{height:3px;margin-top:12px;overflow:hidden;border-radius:4px;background:#dddcd6}.progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--sage),#9ab19a);transition:width .5s var(--ease-out)}.level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:clamp(16px,2.2vw,26px)}.level-card{position:relative;display:flex;flex-direction:column;gap:15px;min-width:0;padding:12px 12px 16px;overflow:hidden;border:1px solid rgba(255,255,255,.94);border-radius:27px;background:#fffdf9c2;box-shadow:0 11px 35px #37423f13,inset 0 0 0 1px #3a464406;color:var(--text);text-align:left;cursor:pointer;opacity:0;transform:translateY(14px);animation:card-in .5s var(--ease-out) var(--card-delay) forwards;transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal),border-color var(--duration-normal)}.level-card:after{content:"";position:absolute;right:-40px;bottom:-60px;width:110px;height:110px;border-radius:50%;background:color-mix(in srgb,var(--level-accent) 14%,transparent);filter:blur(12px);transition:transform .4s var(--ease-out)}.level-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--level-accent) 30%,white);box-shadow:0 20px 48px #37423f21}.level-card:hover:after{transform:scale(1.3)}.card-art{position:relative;display:grid;place-items:center;aspect-ratio:1.25;overflow:hidden;border-radius:19px;background:radial-gradient(circle at 50% 32%,rgba(255,255,255,.92),transparent 45%),color-mix(in srgb,var(--level-accent) 8%,#f2eee6)}.card-art:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(75,85,81,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(75,85,81,.025) 1px,transparent 1px);background-size:13px 13px}.card-status{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:4px;padding:6px 9px;border-radius:999px;background:#fffc;box-shadow:0 3px 12px #323c3912;color:var(--text-soft);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px)}.level-card--completed .card-status{color:#5e856a}.mystery-art{position:relative;display:grid;grid-template-columns:repeat(3,13px);gap:4px;transform:rotate(-4deg)}.mystery-art i{width:13px;aspect-ratio:1;border-radius:3px;background:color-mix(in srgb,var(--level-accent) 15%,#dcded8)}.mystery-art i:nth-child(2),.mystery-art i:nth-child(4),.mystery-art i:nth-child(6),.mystery-art i:nth-child(8){background:color-mix(in srgb,var(--level-accent) 23%,#e0ddd7)}.mystery-art strong{position:absolute;inset:0;display:grid;place-items:center;color:color-mix(in srgb,var(--level-accent) 65%,var(--text));font-family:Georgia,serif;font-size:25px;font-weight:500;transform:rotate(4deg)}.card-art .pixel-preview{position:relative;width:52%;height:62%;filter:drop-shadow(0 8px 10px rgba(63,66,59,.11));animation:preview-settle .6s var(--ease-spring) both}.card-copy{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:0 4px}.card-copy>span:first-child{display:grid;gap:4px}.card-copy strong{font-family:Georgia,serif;font-size:20px;font-weight:500;letter-spacing:-.02em}.card-copy small{color:var(--text-muted);font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.card-action{display:grid;place-items:center;width:35px;aspect-ratio:1;border:1px solid rgba(70,82,80,.08);border-radius:50%;background:#ffffffb3;color:color-mix(in srgb,var(--level-accent) 72%,var(--text));transition:transform var(--duration-fast)}.level-card:hover .card-action{transform:translate(2px) rotate(4deg)}.best-time{position:relative;z-index:1;margin:-6px 4px 0;color:var(--text-muted);font-size:10px;font-variant-numeric:tabular-nums}.select-footer{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:42px;color:var(--text-muted);font-family:Georgia,serif;font-size:13px;font-style:italic;text-align:center}.select-footer span{width:30px;height:1px;background:#505b582e}.game-page{position:relative;display:grid;grid-template-rows:auto 1fr auto;min-height:100dvh;overflow:hidden;padding:max(20px,env(safe-area-inset-top)) clamp(18px,3vw,44px) max(18px,env(safe-area-inset-bottom))}.game-ambient{position:fixed;z-index:-1;inset:0;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--level-accent) 7%,white),transparent 35rem);pointer-events:none}.game-header{z-index:3;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:min(1120px,100%);margin:0 auto}.round-button,.icon-button{display:grid;place-items:center;width:44px;aspect-ratio:1;padding:0;border:1px solid rgba(255,255,255,.92);border-radius:15px;background:#fff9;box-shadow:0 6px 20px #3b464312;color:var(--text-soft);cursor:pointer;transition:transform var(--duration-fast),background var(--duration-fast),color var(--duration-fast),opacity var(--duration-fast)}.round-button:hover,.icon-button:hover:not(:disabled){color:var(--text);background:#fffffff0;transform:translateY(-2px)}.game-title{text-align:center}.game-title .eyebrow{margin-bottom:3px}.game-title h1{margin:0;font-family:Georgia,serif;font-size:clamp(24px,3vw,33px);font-weight:500;letter-spacing:-.035em}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.timer{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(255,255,255,.72);border-radius:14px;background:#ffffff5c;color:var(--text-soft);font-size:14px;font-variant-numeric:tabular-nums;font-weight:700}.timer i{width:6px;aspect-ratio:1;border-radius:50%;background:#aeb5b2}.timer--running i{background:color-mix(in srgb,var(--level-accent) 78%,#b26a62);box-shadow:0 0 0 4px color-mix(in srgb,var(--level-accent) 12%,transparent)}.game-stage{display:grid;place-items:center;min-height:0}.board-viewport{display:grid;place-items:center;width:100%;min-height:0;padding:10px 0}.puzzle-layout{display:grid;grid-template-columns:var(--clue-width) var(--board-width);grid-template-rows:var(--clue-height) var(--board-height);filter:drop-shadow(0 18px 25px rgba(55,65,62,.09));transition:filter .5s var(--ease-out),transform .5s var(--ease-out)}.clue-corner{display:flex;align-items:flex-end;justify-content:flex-end;gap:3px;padding:0 9px 9px 0;opacity:.45}.clue-corner span{width:4px;aspect-ratio:1;border-radius:1px;background:var(--text-muted)}.clue-corner span:nth-child(2){opacity:.55}.clue-corner span:nth-child(3){opacity:.25}.column-clues{display:grid;grid-template-columns:repeat(var(--level-width, 1),var(--cell-size));width:var(--board-width)}.column-clue{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:clamp(1px,calc(var(--cell-size) * .08),3px);min-width:0;padding:0 0 calc(var(--cell-size) * .23);border-right:1px solid transparent;color:var(--text-soft);font-size:clamp(7px,calc(var(--cell-size) * .35),13px);font-weight:720;line-height:1;font-variant-numeric:tabular-nums}.row-clues{display:grid;grid-template-rows:repeat(var(--level-height, 1),var(--cell-size));height:var(--board-height)}.row-clue{display:flex;justify-content:flex-end;align-items:center;gap:clamp(3px,calc(var(--cell-size) * .22),8px);min-height:0;padding-right:calc(var(--cell-size) * .3);border-bottom:1px solid transparent;color:var(--text-soft);font-size:clamp(7px,calc(var(--cell-size) * .35),13px);font-weight:720;line-height:1;font-variant-numeric:tabular-nums}.board-grid{position:relative;display:grid;width:var(--board-width);height:var(--board-height);overflow:hidden;border:2px solid rgba(59,73,73,.46);border-radius:clamp(6px,calc(var(--cell-size) * .3),13px);background:var(--grid-line);box-shadow:0 2px #fffc,0 12px 34px #36403d21,inset 0 0 0 1px #ffffff8c;touch-action:none;user-select:none;-webkit-user-select:none}.board-grid:after{content:"";position:absolute;z-index:6;inset:-35%;border-radius:50%;background:radial-gradient(circle,transparent 28%,rgba(255,255,255,.62) 42%,transparent 57%);opacity:0;pointer-events:none;transform:scale(.25)}.board-grid.is-completing:after{animation:board-pulse .76s .11s var(--ease-out) both}.board-cell{position:relative;display:grid;place-items:center;width:var(--cell-size);height:var(--cell-size);min-width:0;padding:0;overflow:hidden;border:0;border-right:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);border-radius:0;background:var(--unknown-cell);cursor:crosshair;-webkit-tap-highlight-color:transparent;transition:background-color .18s var(--ease-out),box-shadow .18s var(--ease-out)}.board-cell.strong-right{border-right:2px solid var(--grid-line-strong)}.board-cell.strong-bottom{border-bottom:2px solid var(--grid-line-strong)}.board-cell:hover{z-index:2;box-shadow:inset 0 0 0 2px #2d46482e}.board-cell:focus-visible{z-index:4;outline:2px solid var(--focus-ring);outline-offset:-2px}.cell-fill{position:absolute;inset:clamp(1px,calc(var(--cell-size) * .045),2px);border-radius:clamp(1px,calc(var(--cell-size) * .13),5px);background-color:var(--cell-color);opacity:0;transform:scale(.52);transition:opacity .14s var(--ease-out),transform .16s var(--ease-out),background-color .62s var(--ease-out),box-shadow .62s var(--ease-out)}.is-filled{background:color-mix(in srgb,var(--cell-color) 8%,var(--unknown-cell))}.is-filled .cell-fill{opacity:1;transform:scale(1);box-shadow:inset 0 1px #ffffff38,0 0 calc(var(--cell-size) * .28) color-mix(in srgb,var(--cell-color) 26%,transparent);animation:cell-pop .19s var(--ease-spring) both}.is-excluded{background:var(--excluded-cell);box-shadow:inset 0 1px 3px #48525013,inset 0 0 0 1px #4e585506;animation:excluded-in .17s var(--ease-out) both}.is-revealed .cell-fill{transition-delay:var(--reveal-delay)}.is-last-solved .cell-fill{animation:last-pixel .42s var(--ease-spring) both}.board-viewport--complete .puzzle-layout{filter:drop-shadow(0 25px 34px color-mix(in srgb,var(--level-accent) 17%,rgba(55,65,62,.12)));transform:translateY(-2px) scale(1.012)}.board-viewport--complete .row-clues,.board-viewport--complete .column-clues,.board-viewport--complete .clue-corner{opacity:.2;transition:opacity .5s .16s}.board-cell.is-complete{border-color:color-mix(in srgb,var(--grid-line) 40%,transparent)}.board-cell.is-complete.is-excluded{opacity:.18}.game-footer{position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;gap:10px}.desktop-tip{display:flex;align-items:center;gap:8px;margin:0;color:var(--text-muted);font-size:10px}.desktop-tip span{color:var(--text-soft);font-weight:700}.desktop-tip i{width:2px;aspect-ratio:1;border-radius:50%;background:#a8aeab}.game-controls{display:flex;align-items:center;gap:14px}.mark-empty-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 14px;border:1px solid rgba(255,255,255,.9);border-radius:13px;background:#ffffff8f;box-shadow:0 8px 24px #38433f14;color:var(--text-muted);font-size:12px;font-weight:750;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast),transform var(--duration-fast),box-shadow var(--duration-fast)}.mark-empty-button.active{background:var(--surface-elevated);box-shadow:0 4px 15px #3a454117,inset 0 0 0 1px color-mix(in srgb,var(--level-accent) 18%,transparent);color:color-mix(in srgb,var(--level-accent) 72%,var(--text))}.mark-empty-button:active{transform:scale(.96)}.history-controls{display:flex;gap:6px}.icon-button{width:42px;border-radius:13px}.icon-button:disabled{cursor:default;opacity:.34}.restart-toast{position:absolute;bottom:calc(100% + 7px);padding:8px 12px;border-radius:10px;background:#334346;box-shadow:var(--shadow-soft);color:#fff;font-size:11px;animation:toast-in .18s var(--ease-out) both}.completion-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:22px;background:#efece4b8;backdrop-filter:blur(10px);animation:backdrop-in .36s 40ms var(--ease-out) both}.completion-card{position:relative;width:min(390px,100%);padding:30px clamp(24px,6vw,42px) 28px;overflow:hidden;border:1px solid rgba(255,255,255,.9);border-radius:34px;background:#fffdf9f0;box-shadow:var(--shadow-lift);text-align:center;animation:completion-in .52s 90ms var(--ease-spring) both}.completion-card:before{content:"";position:absolute;inset:-60% -20% auto;height:320px;background:radial-gradient(circle,color-mix(in srgb,var(--level-accent) 15%,transparent),transparent 65%);pointer-events:none}.completion-art{position:relative;display:grid;place-items:center;width:130px;height:130px;margin:0 auto 20px;border-radius:29px;background:color-mix(in srgb,var(--level-accent) 8%,#f5f0e7);box-shadow:inset 0 0 0 1px #fffc,0 12px 28px #3e484314}.completion-art .pixel-preview{width:75%;height:75%;filter:drop-shadow(0 8px 9px rgba(55,60,55,.13))}.completion-card .eyebrow{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;color:color-mix(in srgb,var(--level-accent) 75%,var(--text))}.completion-card h2{position:relative;margin:5px 0 7px;font-family:Georgia,serif;font-size:35px;font-weight:500;letter-spacing:-.04em}.completion-copy{position:relative;margin:0 auto 22px;color:var(--text-muted);font-family:Georgia,serif;font-size:14px;font-style:italic}.completion-stats{position:relative;display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:23px}.completion-stats span{display:grid;gap:3px;min-width:76px}.completion-stats small{color:var(--text-muted);font-size:9px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.completion-stats strong{font-size:18px;font-variant-numeric:tabular-nums}.completion-stats i{width:1px;height:30px;background:#46524e21}.primary-button{position:relative;width:100%;min-height:51px;border:0;border-radius:15px;background:color-mix(in srgb,var(--level-accent) 80%,#425b5e);box-shadow:0 10px 22px color-mix(in srgb,var(--level-accent) 20%,transparent);color:#fff;font-size:13px;font-weight:780;cursor:pointer;transition:transform var(--duration-fast),box-shadow var(--duration-fast)}.primary-button span{margin-left:8px}.primary-button:hover{transform:translateY(-2px);box-shadow:0 14px 26px color-mix(in srgb,var(--level-accent) 28%,transparent)}.completion-links{position:relative;display:flex;justify-content:center;gap:24px;margin-top:16px}.completion-links button{padding:3px;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--text-muted);font-size:11px;font-weight:700;cursor:pointer}.completion-links button:hover{border-color:currentColor;color:var(--text)}.completion-spark{position:absolute;width:5px;aspect-ratio:1;border-radius:1px;background:var(--level-accent);transform:rotate(45deg);opacity:.45}.spark-one{top:43px;left:50px;animation:spark 2.6s 1s ease-in-out infinite}.spark-two{top:84px;right:48px;background:#e8b648;animation:spark 2.2s 1.4s ease-in-out infinite}.spark-three{top:134px;left:65px;width:3px;background:#6c9680;animation:spark 3s 1.7s ease-in-out infinite}@keyframes screen-in{0%{opacity:0}to{opacity:1}}@keyframes card-in{to{opacity:1;transform:translateY(0)}}@keyframes preview-settle{0%{opacity:0;transform:scale(.84) rotate(-2deg)}to{opacity:1;transform:scale(1)}}@keyframes cell-pop{0%{opacity:.15;transform:scale(.45)}70%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes excluded-in{0%{filter:brightness(1.05);box-shadow:inset 0 0 #48525000}to{filter:brightness(.985);box-shadow:inset 0 1px 3px #48525013,inset 0 0 0 1px #4e585506}}@keyframes last-pixel{0%{opacity:.3;transform:scale(.4)}55%{opacity:1;transform:scale(1.18)}78%{transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes board-pulse{0%{opacity:0;transform:scale(.2)}35%{opacity:.48}to{opacity:0;transform:scale(1.35)}}@keyframes toast-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes completion-in{0%{opacity:0;transform:translateY(20px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spark{0%,to{opacity:.15;transform:rotate(45deg) scale(.7)}50%{opacity:.7;transform:rotate(45deg) scale(1.2)}}.admin-shell{position:relative;min-height:100dvh;background:radial-gradient(circle at 10% 0%,rgba(255,255,255,.95),transparent 38rem),radial-gradient(circle at 100% 15%,rgba(224,186,157,.16),transparent 35rem),linear-gradient(145deg,#f6f2ea,#ece8df)}.admin-loading{display:grid;place-items:center}.admin-loader{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-loader i{width:18px;aspect-ratio:1;border:2px solid rgba(62,78,78,.15);border-top-color:var(--accent);border-radius:50%;animation:admin-spin .8s linear infinite}.admin-login-screen{display:grid;place-items:center;padding:72px 20px;overflow:hidden}.admin-orb{position:fixed;width:580px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(222,113,91,.11),transparent 65%);pointer-events:none}.admin-back{position:absolute;top:28px;left:34px;display:flex;align-items:center;gap:8px;color:var(--text-soft);font-size:12px;font-weight:700;text-decoration:none}.admin-login-card{position:relative;display:flex;flex-direction:column;width:min(410px,100%);padding:42px;border:1px solid rgba(255,255,255,.94);border-radius:32px;background:#fffdf9db;box-shadow:var(--shadow-lift);backdrop-filter:blur(14px)}.admin-emblem{display:grid;grid-template-columns:repeat(2,16px);gap:4px;width:max-content;margin-bottom:23px;padding:10px;border-radius:15px;background:#fff;box-shadow:0 7px 22px #3b464214;transform:rotate(-3deg)}.admin-emblem span{width:16px;aspect-ratio:1;border-radius:4px;background:#dd735f}.admin-emblem span:nth-child(2){background:#efba52}.admin-emblem span:nth-child(3){background:#71907a}.admin-emblem span:nth-child(4){background:#5c91aa}.admin-login-card h1,.admin-header h1,.admin-section h2{margin:0;font-family:Georgia,serif;font-weight:500;letter-spacing:-.035em}.admin-login-card h1{font-size:38px}.admin-login-card>p:not(.eyebrow){margin:10px 0 27px;color:var(--text-muted);font-family:Georgia,serif;font-size:15px;line-height:1.5}.admin-login-card label,.admin-editor label{margin-bottom:7px;color:var(--text-soft);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.admin-login-card input,.admin-editor input,.admin-editor textarea{width:100%;border:1px solid rgba(72,88,89,.15);background:#ffffffc7;color:var(--text);transition:border var(--duration-fast),box-shadow var(--duration-fast),background var(--duration-fast)}.admin-login-card input,.admin-editor input{height:48px;padding:0 14px;border-radius:13px}.admin-login-card input:focus,.admin-editor input:focus,.admin-editor textarea:focus{border-color:color-mix(in srgb,var(--focus-ring) 55%,transparent);outline:0;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-ring) 10%,transparent);background:#fff}.admin-primary{min-height:49px;border:0;border-radius:14px;background:linear-gradient(135deg,#ca6756,#bd5a50);box-shadow:0 10px 22px #be594c33;color:#fff;font-size:12px;font-weight:800;cursor:pointer;transition:transform var(--duration-fast),box-shadow var(--duration-fast),opacity var(--duration-fast)}.admin-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 27px #be594c45}.admin-primary:disabled{cursor:wait;opacity:.58}.admin-login-card .admin-primary{margin-top:16px}.admin-login-card>small,.admin-editor-side>small{margin-top:13px;color:var(--text-muted);font-size:10px;text-align:center}.admin-alert{margin-top:11px;padding:10px 12px;border-radius:10px;background:#bb433d17;color:#a34e48;font-size:11px}.admin-dashboard{padding:max(26px,env(safe-area-inset-top)) clamp(20px,5vw,70px) max(50px,env(safe-area-inset-bottom))}.admin-header{display:flex;align-items:center;justify-content:space-between;width:min(1220px,100%);margin:0 auto 44px}.admin-brand{display:flex;align-items:center;gap:16px}.admin-brand .admin-emblem{margin:0}.admin-header .eyebrow{margin-bottom:2px}.admin-header h1{font-size:29px}.admin-header-actions{display:flex;align-items:center;gap:9px}.admin-header-actions a,.admin-header-actions button{padding:10px 14px;border:1px solid rgba(70,84,83,.1);border-radius:11px;background:#ffffff8c;color:var(--text-soft);font-size:11px;font-weight:750;text-decoration:none;cursor:pointer}.admin-banner{position:sticky;z-index:5;top:14px;display:flex;align-items:center;justify-content:space-between;width:min(1220px,100%);margin:-18px auto 25px;padding:13px 16px;border:1px solid rgba(75,139,94,.14);border-radius:13px;background:#e5f4e7f0;box-shadow:0 8px 25px #384a4014;color:#557a60;font-size:12px;backdrop-filter:blur(10px)}.admin-banner--error{border-color:#b0494124;background:#fae8e5f2;color:#a15049}.admin-banner button{border:0;background:transparent;color:inherit;font-size:20px;cursor:pointer}.admin-section{width:min(1220px,100%);margin:0 auto 54px}.admin-section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:19px}.admin-section-heading .eyebrow{margin-bottom:4px}.admin-section h2{font-size:29px}.admin-section-heading>span{padding:7px 11px;border-radius:999px;background:#ffffff8c;color:var(--text-muted);font-size:10px;font-weight:750}.admin-level-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:17px}.admin-level-card{min-width:0;padding:11px 11px 15px;border:1px solid rgba(255,255,255,.9);border-radius:23px;background:#fffdf9b3;box-shadow:0 10px 30px #35433f12}.admin-level-preview{display:grid;place-items:center;aspect-ratio:1.45;overflow:hidden;border-radius:16px;background-color:#f2eee6;background-image:linear-gradient(45deg,rgba(91,104,99,.04) 25%,transparent 25%),linear-gradient(-45deg,rgba(91,104,99,.04) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(91,104,99,.04) 75%),linear-gradient(-45deg,transparent 75%,rgba(91,104,99,.04) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.admin-level-preview img{width:60%;height:70%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 7px 9px rgba(53,63,59,.13))}.admin-level-info{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:14px 4px 0}.admin-level-info h3{margin:0 0 4px;font-family:Georgia,serif;font-size:18px;font-weight:500}.admin-level-info code{color:var(--text-muted);font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.admin-level-info>span{flex:0 0 auto;padding:5px 7px;border-radius:8px;background:#eeece6;color:var(--text-soft);font-size:9px;font-weight:750}.admin-level-meta{display:flex;justify-content:space-between;padding:11px 4px 12px;color:var(--text-muted);font-size:9px}.admin-level-actions{display:grid;grid-template-columns:1fr auto;gap:6px}.admin-level-actions button,.admin-level-actions a{display:flex;align-items:center;justify-content:center;min-height:34px;padding:8px 10px;border:0;border-radius:10px;background:#ffffffa8;color:var(--text-soft);font-size:10px;font-weight:750;text-decoration:none;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.admin-level-actions button:hover,.admin-level-actions a:hover{background:#fff;color:var(--text)}.admin-create-section{padding-top:4px}.admin-editor{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.65fr);gap:20px;padding:clamp(18px,3vw,30px);border:1px solid rgba(255,255,255,.94);border-radius:28px;background:#fffdf9b8;box-shadow:var(--shadow-soft)}.admin-editor-main{display:flex;flex-direction:column;min-width:0}.admin-editor input{margin-bottom:19px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.admin-editor input:disabled{background:#ebe8e1b3;color:var(--text-muted)}.admin-cancel-edit{padding:8px 11px;border:1px solid rgba(72,88,89,.13);border-radius:10px;background:#ffffff94;color:var(--text-soft);font-size:10px;font-weight:750;cursor:pointer}.editor-mode-switch{display:flex;gap:4px;width:max-content;margin:0 0 16px;padding:4px;border-radius:13px;background:#e5e3dcb8}.editor-mode-switch button{min-height:35px;padding:7px 13px;border:0;border-radius:10px;background:transparent;color:var(--text-muted);font-size:11px;font-weight:800;cursor:pointer}.editor-mode-switch button.active{background:#fff;box-shadow:0 4px 12px #38433f14;color:var(--text)}.code-label{display:flex;align-items:center;justify-content:space-between}.code-label span{color:var(--text-muted);font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.admin-editor textarea{min-height:440px;padding:17px;resize:vertical;border-radius:15px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.55;tab-size:2}.admin-editor-side{display:flex;flex-direction:column;gap:15px}.code-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:245px;padding:22px;border-radius:19px;background:#eeebe4;color:var(--text-muted);font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.code-preview-grid{display:grid;width:min(190px,100%);max-height:190px;margin-bottom:13px;filter:drop-shadow(0 8px 10px rgba(56,65,61,.12));image-rendering:pixelated}.code-preview-grid i{position:relative;min-width:0;aspect-ratio:1;box-shadow:inset 0 0 0 .5px #3c484509}.code-preview-grid i.is-ambiguous{z-index:1;box-shadow:inset 0 0 0 2px #d24f48,0 0 5px #d24f48a6}.code-preview-grid i.is-suggested{z-index:2;box-shadow:inset 0 0 0 2px #efb83f,0 0 8px #efb83fe6;animation:suggested-pixel 1.15s ease-in-out infinite}.code-preview--empty{border:1px dashed rgba(78,91,87,.18);background:transparent}.code-preview--empty small{margin-top:7px;font-size:9px;font-weight:500;letter-spacing:0;text-transform:none}.syntax-help{padding:16px 18px;border-radius:15px;background:#ffffff8c;color:var(--text-soft);font-size:11px;line-height:1.55}.syntax-help strong{font-size:12px}.syntax-help ol{margin:8px 0 0;padding-left:18px}.syntax-help code{padding:1px 4px;border-radius:4px;background:#ece9e2;font-family:SFMono-Regular,Consolas,monospace}.admin-editor-side .admin-primary{margin-top:auto}.admin-secondary{min-height:44px;border:1px solid rgba(72,88,89,.14);border-radius:13px;background:#ffffffad;color:var(--text-soft);font-size:11px;font-weight:800;cursor:pointer;transition:transform var(--duration-fast),background var(--duration-fast),opacity var(--duration-fast)}.admin-secondary:hover:not(:disabled){transform:translateY(-1px);background:#fff}.admin-secondary:disabled{cursor:wait;opacity:.55}.solvability-result{display:grid;gap:5px;padding:13px 14px;border:1px solid rgba(175,76,67,.12);border-radius:13px;background:#f8e7e4b8;color:#9a554f;font-size:10px;line-height:1.45}.solvability-result strong{font-size:11px}.solvability-result small{opacity:.7;font-variant-numeric:tabular-nums}.solvability-result--unique{border-color:#4b8b5e26;background:#e5f4e7c7;color:#557a60}.apply-suggestion{min-height:34px;margin-top:3px;border:1px solid currentColor;border-radius:9px;background:#ffffff8c;color:inherit;font-size:10px;font-weight:800;cursor:pointer}.pixel-editor{display:grid;gap:14px;min-height:440px;padding:16px;border:1px solid rgba(72,88,89,.15);border-radius:15px;background:#ffffff9e}.pixel-editor-invalid{display:grid;place-items:center;min-height:440px;padding:28px;border:1px dashed rgba(176,73,65,.24);border-radius:15px;background:#f8e7e473;color:#9a554f;font-size:12px;line-height:1.5;text-align:center}.pixel-editor-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.pixel-dimensions{display:flex;align-items:center;gap:6px}.pixel-dimensions label{display:grid;gap:4px;margin:0;color:var(--text-muted);font-size:8px}.pixel-dimensions span{margin-top:13px;color:var(--text-muted)}.admin-editor .pixel-dimensions input{width:58px;height:34px;margin:0;padding:0 7px;border-radius:9px}.pixel-palette{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.pixel-swatch{position:relative;width:34px;height:34px;padding:0;border:2px solid transparent;border-radius:9px;background:var(--swatch-color, white);box-shadow:inset 0 0 0 1px #37413d17;color:#fff;cursor:pointer}.pixel-swatch span{display:grid;place-items:center;width:100%;height:100%;border-radius:6px;background:#1c232229;font-size:9px;font-weight:850;text-shadow:0 1px 2px rgba(0,0,0,.35)}.pixel-swatch.active{border-color:#334346;box-shadow:0 0 0 2px #fff,0 0 0 4px #334346}.pixel-swatch--eraser{background:repeating-linear-gradient(135deg,#fff 0 5px,#e9e6df 5px 10px);color:var(--text-soft);font-size:15px}.pixel-new-color{display:flex;align-items:center;margin:0;overflow:hidden;border:1px solid rgba(72,88,89,.13);border-radius:9px;background:#fff}.admin-editor .pixel-new-color input{width:28px;height:32px;margin:0;padding:3px;border:0;border-radius:0}.pixel-new-color button{width:27px;height:32px;border:0;background:transparent;color:var(--text-soft);font-weight:850;cursor:pointer}.pixel-canvas{display:grid;grid-template-columns:repeat(var(--pixel-columns),1fr);align-self:start;width:min(100%,620px);max-height:620px;margin:0 auto;overflow:hidden;border:2px solid rgba(55,69,69,.42);border-radius:10px;background:#d9ddda;box-shadow:0 12px 30px #37413e1c;touch-action:none;user-select:none}.pixel-canvas-cell{position:relative;min-width:0;aspect-ratio:1;padding:0;border:0;border-right:1px solid rgba(60,72,69,.12);border-bottom:1px solid rgba(60,72,69,.12);border-radius:0;background:var(--pixel-color);cursor:crosshair}.pixel-canvas-cell.is-empty{background-color:#faf9f5;background-image:linear-gradient(45deg,rgba(82,94,90,.035) 25%,transparent 25%),linear-gradient(-45deg,rgba(82,94,90,.035) 25%,transparent 25%)}.pixel-canvas-cell.is-ambiguous{z-index:1;box-shadow:inset 0 0 0 clamp(2px,.16em,4px) #d24f48;background-image:repeating-linear-gradient(135deg,rgba(210,79,72,.22) 0 4px,transparent 4px 8px)}.pixel-canvas-cell.is-suggested{z-index:2;box-shadow:inset 0 0 0 clamp(2px,.18em,4px) #efb83f,0 0 9px #efb83fbf;animation:suggested-pixel 1.15s ease-in-out infinite}.pixel-editor-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;color:var(--text-muted);font-size:9px}.pixel-editor-legend span{display:flex;align-items:center;gap:5px}.pixel-editor-legend i{width:10px;height:10px;border-radius:2px}.legend-ambiguous{border:2px solid #d24f48;background:#d24f4829}.legend-suggested{border:2px solid #efb83f;background:#efb83f33}@keyframes suggested-pixel{50%{filter:brightness(1.18);transform:scale(.88)}}@keyframes admin-spin{to{transform:rotate(360deg)}}@media(max-width:700px){.level-select{padding:max(30px,env(safe-area-inset-top)) 18px max(26px,env(safe-area-inset-bottom))}.select-header{grid-template-columns:auto 1fr;align-items:start;gap:14px;margin-bottom:28px}.brand-mark{grid-template-columns:repeat(2,12px);gap:3px;padding:9px;border-radius:14px}.brand-mark span{width:12px;border-radius:3px}.select-header h1{font-size:43px}.select-intro{margin-top:10px;font-size:14px}.collection-progress{grid-column:1 / -1;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;min-width:0;padding:11px 14px}.progress-count{grid-row:1 / span 2;font-size:23px}.collection-progress>span:nth-child(2){margin:0}.progress-track{margin:0}.level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.level-card{gap:11px;padding:9px 9px 13px;border-radius:21px}.card-art{border-radius:15px}.card-copy strong{font-size:16px}.card-copy small{font-size:9px}.card-action{width:30px}.best-time{font-size:9px}.select-footer{margin-top:28px;font-size:11px}.game-page{grid-template-rows:auto 1fr auto;padding:max(12px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));overflow:hidden}.game-header{grid-template-columns:44px 1fr auto}.game-title h1{font-size:22px}.game-title .eyebrow{font-size:8px}.timer{padding:8px 10px;font-size:12px}.header-actions{gap:6px}.header-actions .round-button{display:none}.round-button{width:40px;border-radius:13px}.board-viewport{padding:4px 0}.puzzle-layout{filter:drop-shadow(0 10px 15px rgba(55,65,62,.08))}.desktop-tip{display:none}.game-controls{width:100%;justify-content:center;gap:8px}.mark-empty-button{min-height:45px}.history-controls{gap:4px}.icon-button{width:40px}.completion-backdrop{align-items:end;padding:12px 12px max(12px,env(safe-area-inset-bottom))}.completion-card{padding-top:24px;border-radius:29px}.completion-art{width:105px;height:105px;margin-bottom:16px}.completion-card h2{font-size:30px}.admin-login-screen{padding:80px 16px 30px}.admin-back{top:22px;left:20px}.admin-login-card{padding:30px 23px;border-radius:26px}.admin-dashboard{padding:max(18px,env(safe-area-inset-top)) 14px max(38px,env(safe-area-inset-bottom))}.admin-header{align-items:flex-start;margin-bottom:31px}.admin-brand{gap:10px}.admin-brand .admin-emblem{display:none}.admin-header h1{font-size:24px}.admin-header-actions{align-items:stretch;flex-direction:column;gap:5px}.admin-header-actions a,.admin-header-actions button{padding:8px 10px;text-align:center}.admin-section{margin-bottom:38px}.admin-section h2{font-size:25px}.admin-level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.admin-level-card{padding:8px 8px 12px;border-radius:18px}.admin-level-preview{border-radius:13px}.admin-level-info{display:grid;padding-top:10px}.admin-level-info h3{font-size:15px}.admin-level-info>span{justify-self:start}.admin-level-meta{display:grid;gap:3px}.admin-editor{grid-template-columns:1fr;padding:15px;border-radius:22px}.admin-editor textarea{min-height:390px;font-size:12px}.admin-editor-side{display:grid}}@media(max-width:400px){.level-grid{grid-template-columns:1fr 1fr}.card-status{padding:5px 7px;font-size:8px}.history-controls .icon-button:nth-child(2){display:none}.mark-empty-button{min-width:0}}@media(max-height:620px)and (orientation:landscape){.game-page{grid-template-columns:auto 1fr auto;grid-template-rows:1fr;align-items:center;gap:12px}.game-header{display:flex;flex-direction:column;width:auto;height:100%;justify-content:space-between}.game-title{writing-mode:vertical-rl;transform:rotate(180deg)}.game-title .eyebrow{display:none}.header-actions{flex-direction:column}.game-stage{height:100%}.game-footer{align-self:center}.game-controls{flex-direction:column}.desktop-tip{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
