@import "https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;800;900&family=JetBrains+Mono:wght@400;500;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap";:root{--bg-base:#eef1fb;--surface-1:#fff;--surface-2:#f4f5fc;--surface-3:#e8eaf8;--accent-primary:#1a6fff;--accent-secondary:#7c4dff;--accent-gold:#f5a623;--accent-glow:#1a6fff2e;--text-primary:#0d0d2b;--text-secondary:#3a3a68;--text-muted:#7878a8;--border-subtle:#1414641a;--border-medium:#1414642e;--cell-bg:#fff;--cell-border:#1414642e;--cell-highlight:#1a6fff17;--cell-selected:#1a6fff29;--cell-correct:#00a8511f;--cell-wrong:#e5003d1a;--black-cell:#1e1e3c;--color-success:#00a851;--color-error:#e5003d;--success-glow:#00a85133;--error-glow:#e5003d33;--shadow-sm:0 1px 4px #14145014, 0 1px 2px #1414500f;--shadow-md:0 4px 16px #1414501a, 0 2px 6px #14145012;--shadow-lg:0 12px 40px #14145024, 0 4px 12px #14145014;--font-display:"Orbitron", monospace;--font-mono:"JetBrains Mono", monospace;--font-body:"DM Sans", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{cursor:pointer;border:none;outline:none;font-family:inherit}button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}#root{z-index:1;flex-direction:column;align-items:stretch;display:flex;position:relative}.grid-wrapper{justify-content:center;align-items:center;width:100%;height:100%;padding:4px;display:flex}.grid{filter:drop-shadow(0 2px 12px #1414501a);gap:clamp(2px,.5cqmin,5px);width:min(96cqmin,100%);max-width:100%;max-height:96cqb;display:grid}.cell{background:var(--cell-bg);border:1.5px solid var(--cell-border);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;transition:background .12s,border-color .12s,box-shadow .12s;display:flex;position:relative;overflow:hidden}.cell--black{background:var(--black-cell);border-color:var(--black-cell);cursor:default;border-radius:5px}.cell--highlight{background:var(--cell-highlight);border-color:#1a6fff59}.cell--selected{background:var(--cell-selected);border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary), 0 2px 12px var(--accent-glow);z-index:2}.cell--correct{background:var(--cell-correct);border-color:var(--color-success)}.cell--wrong{background:var(--cell-wrong);border-color:var(--color-error);animation:.32s shake}.cell__num{font-family:var(--font-mono);color:var(--text-muted);pointer-events:none;z-index:1;font-size:clamp(5px,2cqmin,10px);font-weight:700;line-height:1;position:absolute;top:2px;left:3px}.cell__digit{font-family:var(--font-mono);color:var(--text-secondary);z-index:1;font-size:clamp(11px,5.5cqmin,28px);font-weight:800;line-height:1}.cell--selected .cell__digit{color:var(--accent-primary)}.cell--correct .cell__digit{color:var(--color-success);font-weight:800}.cell--wrong .cell__digit{color:var(--color-error)}@supports not (width:1cqmin){.grid{gap:clamp(2px,.4vmin,4px);width:min(94vmin,100%);max-height:94vh}.cell__num{font-size:clamp(5px,1.1vmin,9px)}.cell__digit{font-size:clamp(11px,5vmin,26px)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.clue-panel--desktop{scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent;flex-direction:column;gap:20px;height:100%;padding:4px 8px 8px 2px;display:flex;overflow-y:auto}.clue-panel--desktop::-webkit-scrollbar{width:4px}.clue-panel--desktop::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:2px}.clue-section__title{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-primary);align-items:center;gap:5px;margin:0 0 8px;font-size:10px;font-weight:800;display:flex}.clue-section__arrow{font-size:13px;line-height:1}.clue-list{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.clue-item{cursor:pointer;border:1.5px solid #0000;border-radius:8px;align-items:flex-start;gap:8px;padding:7px 9px;transition:background .1s,border-color .1s;display:flex}.clue-item:hover{background:var(--surface-2);border-color:var(--border-subtle)}.clue-item--active{background:var(--cell-selected);border-color:var(--accent-primary);box-shadow:0 1px 8px var(--accent-glow)}.clue-item__num{font-family:var(--font-mono);color:var(--accent-primary);flex-shrink:0;min-width:20px;font-size:11px;font-weight:800;line-height:1.6}.clue-item__text{font-family:var(--font-body);color:var(--text-secondary);font-size:12px;font-weight:500;line-height:1.5;transition:color .1s}.clue-item--active .clue-item__text{color:var(--text-primary)}.clue-panel--mobile{width:100%}.clue-active-banner{background:var(--cell-selected);border:1.5px solid var(--accent-primary);box-shadow:0 1px 8px var(--accent-glow);border-radius:10px;align-items:center;gap:10px;min-height:40px;padding:8px 12px;display:flex}.clue-active-banner__label{font-family:var(--font-mono);color:var(--accent-primary);white-space:nowrap;flex-shrink:0;min-width:26px;font-size:12px;font-weight:800}.clue-active-banner__text{font-family:var(--font-body);color:var(--text-primary);font-size:clamp(12px,3.5cqw,15px);font-weight:500;line-height:1.35}@container app (height<=700px){.clue-active-banner{gap:8px;min-height:36px;padding:7px 10px}.clue-active-banner__label{min-width:24px;font-size:11px}.clue-active-banner__text{font-size:12px;line-height:1.25}}.clue-active-banner--empty{opacity:.5}@supports not (width:1cqw){.clue-active-banner__text{font-size:clamp(12px,3.5vw,15px)}}.numpad{grid-template-columns:repeat(3,1fr);gap:clamp(6px,1.2cqw,12px);width:100%;max-width:340px;padding:4px 0;display:grid}.numpad__btn{aspect-ratio:1.5;background:var(--surface-1);border:1.5px solid var(--border-medium);font-family:var(--font-mono);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:12px;justify-content:center;align-items:center;font-size:clamp(16px,3.5cqw,26px);font-weight:700;transition:border-color .1s,background .1s,box-shadow .1s;display:flex}.numpad__btn:hover{border-color:var(--accent-primary);background:var(--cell-highlight);box-shadow:0 2px 10px var(--accent-glow)}.numpad__btn:active{background:var(--cell-selected)}.numpad__btn--del{color:var(--color-error);border-color:#e5003d33}.numpad__btn--del:hover{border-color:var(--color-error);box-shadow:0 2px 10px var(--error-glow);background:#e5003d0f}.numpad__btn svg{width:clamp(16px,3cqw,22px);height:clamp(16px,3cqw,22px)}.numpad__spacer{aspect-ratio:1.5}.numpad--compact{gap:5px;max-width:100%;padding:2px 0}.numpad--compact .numpad__btn{aspect-ratio:unset;height:42px;box-shadow:none;border-width:1px;border-radius:9px;font-size:18px}.numpad--compact .numpad__btn svg{width:17px;height:17px}.numpad--compact .numpad__spacer{aspect-ratio:unset;height:42px}@container app (height<=700px){.numpad--compact{gap:6px}.numpad--compact .numpad__btn{height:38px;font-size:17px}.numpad--compact .numpad__spacer{height:38px}}@supports not (width:1cqw){.numpad{gap:clamp(6px,1.2vw,12px)}.numpad__btn{font-size:clamp(16px,3.5vw,26px)}.numpad__btn svg{width:clamp(16px,3vw,22px);height:clamp(16px,3vw,22px)}}.level-select{grid-template-rows:auto 1fr;place-items:start center;gap:clamp(14px,2.8cqmin,26px);width:100%;height:100%;min-height:0;padding:clamp(12px,2.6cqmin,28px) clamp(10px,2.4cqmin,22px);display:grid}.level-select__hero{text-align:center;flex-direction:column;align-items:center;gap:8px;min-height:0;display:flex}.level-select__title{font-family:var(--font-display);letter-spacing:.06em;color:var(--text-primary);margin:0;font-size:clamp(26px,6cqw,56px);font-weight:900;line-height:1}.title-accent{color:var(--accent-primary)}.level-select__subtitle{font-family:var(--font-body);color:var(--text-muted);letter-spacing:.05em;margin:0;font-size:clamp(12px,2.2vw,15px);font-weight:500}.level-select__stats{flex-wrap:wrap;justify-content:center;gap:clamp(8px,2vw,14px);margin-top:6px;display:flex}.stat-pill{background:var(--surface-1);border:1.5px solid var(--border-medium);box-shadow:var(--shadow-sm);border-radius:100px;align-items:center;gap:5px;padding:6px 14px;display:flex}.stat-pill__icon{font-size:14px}.stat-pill__val{font-family:var(--font-mono);color:var(--accent-primary);font-size:14px;font-weight:700}.stat-pill__label{font-family:var(--font-body);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:600}.worlds-container{overscroll-behavior:contain;scrollbar-gutter:stable both-edges;scrollbar-width:thin;flex-direction:column;flex:1;gap:clamp(16px,3vw,28px);width:100%;max-width:900px;min-height:0;padding:2px 6px 12px 2px;display:flex;overflow:auto}@supports not (width:1cqmin){.level-select{gap:clamp(14px,2.8vmin,26px);padding:clamp(12px,2.6vmin,28px) clamp(10px,2.4vmin,22px)}}.world-section{background:var(--surface-1);border:1.5px solid color-mix(in srgb, var(--world-color) 30%, var(--border-subtle));box-shadow:var(--shadow-sm);border-radius:18px;padding:clamp(16px,3vw,26px);transition:box-shadow .2s;position:relative;overflow:hidden}.world-section:hover{box-shadow:var(--shadow-md)}.world-section:before{content:"";background:linear-gradient(90deg, var(--world-color), color-mix(in srgb, var(--world-color) 40%, transparent));border-radius:18px 18px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.world-section--locked{opacity:.55;pointer-events:none}.world-section--locked:hover{box-shadow:var(--shadow-sm)}.world-header{align-items:center;gap:12px;margin-bottom:clamp(12px,2.5vw,20px);display:flex}.world-header--button{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;margin-bottom:clamp(10px,2.2vw,16px);padding:0}.world-caret{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto;font-size:14px}.world-body{display:none}.world-body--open{display:block}.world-icon{background:color-mix(in srgb, var(--world-color) 12%, transparent);border:1.5px solid color-mix(in srgb, var(--world-color) 35%, transparent);width:clamp(38px,6vw,50px);height:clamp(38px,6vw,50px);color:var(--world-color);font-size:clamp(18px,3.5vw,26px);font-family:var(--font-display);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-weight:900;display:flex}.world-name{font-family:var(--font-display);color:var(--text-primary);letter-spacing:.04em;margin:0;font-size:clamp(13px,2.2vw,17px);font-weight:800}.world-lock-msg{font-family:var(--font-body);color:var(--text-muted);margin:3px 0 0;font-size:12px}.level-cards{grid-template-columns:repeat(auto-fill,minmax(clamp(84px,14vw,140px),1fr));gap:clamp(8px,1.5vw,14px);display:grid}@container app (height<=620px){.level-select{gap:12px;padding:12px}.level-select__hero{gap:6px}.level-select__title{letter-spacing:.05em;font-size:clamp(22px,5.5cqw,44px)}.level-select__subtitle{font-size:12px}.stat-pill{padding:5px 10px}.worlds-container{gap:12px;padding-bottom:10px}.world-section{border-radius:16px;padding:14px}.level-cards{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:10px}.level-card{border-radius:12px;padding:10px}}@supports not (container-type:size){@media (height<=620px){.level-select__title{font-size:clamp(22px,6vw,44px)}}}.level-card{background:var(--surface-2);border:1.5px solid var(--border-subtle);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:clamp(12px,2vw,18px) clamp(8px,1.5vw,14px);transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative}.level-card:hover:not(.level-card--locked){border-color:var(--world-color);box-shadow:0 4px 20px color-mix(in srgb, var(--world-color) 20%, transparent)}.level-card--complete{border-color:color-mix(in srgb, var(--world-color) 50%, transparent);background:color-mix(in srgb, var(--world-color) 5%, var(--surface-2))}.level-card--next{background:color-mix(in srgb, var(--world-color) 9%, var(--surface-2));border-style:dashed}.level-card--locked{cursor:not-allowed;opacity:.45}.level-card__lock{opacity:.7;font-size:11px;position:absolute;top:6px;right:8px}.level-card__number{font-family:var(--font-mono);color:var(--world-color);font-size:clamp(20px,3.5vw,30px);font-weight:900;line-height:1}.level-card__name{font-family:var(--font-body);color:var(--text-muted);text-align:center;letter-spacing:.03em;font-size:clamp(9px,1.5vw,11px);font-weight:600}.level-card__diff{color:var(--world-color);letter-spacing:-1px;opacity:.8;font-size:clamp(7px,1.2vw,9px)}.level-card__stars{gap:2px;display:flex}.star{color:var(--border-medium);font-size:clamp(10px,1.8vw,13px);transition:color .15s}.star--lit{color:var(--accent-gold)}.completion{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#eef1fbd9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.completion__particles{pointer-events:none;position:absolute;inset:0}.particle{border-radius:50%;width:8px;height:8px;position:absolute}.completion__card{background:var(--surface-1);border:1.5px solid var(--border-medium);box-shadow:var(--shadow-lg);border-radius:24px;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:min(92vw,420px);padding:clamp(28px,5vw,52px) clamp(24px,4vw,44px);display:flex;position:relative}.completion__trophy{filter:drop-shadow(0 4px 12px #00000026);font-size:clamp(52px,11vw,76px);line-height:1}.completion__title{font-family:var(--font-display);letter-spacing:.08em;color:var(--accent-primary);margin:0;font-size:clamp(26px,6vw,42px);font-weight:900}.completion__stars{gap:10px;display:flex}.completion__star{color:var(--border-medium);font-size:clamp(30px,6.5vw,44px);transition:color .2s}.completion__star--lit{color:var(--accent-gold);filter:drop-shadow(0 2px 8px #f5a62380)}.completion__stats{background:var(--surface-2);border:1.5px solid var(--border-subtle);border-radius:14px;flex-direction:column;gap:10px;width:100%;padding:16px 18px;display:flex}.stat-row{justify-content:space-between;align-items:center;display:flex}.stat-row__label{font-family:var(--font-body);color:var(--text-muted);text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:600}.stat-row__val{font-family:var(--font-mono);color:var(--text-primary);font-size:15px;font-weight:700}.stat-row__val--perfect{color:var(--color-success)}.stat-row__val--err{color:var(--color-error)}.stat-row__val--xp{color:var(--accent-primary);font-size:20px}.stat-row--xp{border-top:1.5px solid var(--border-subtle);margin-top:2px;padding-top:10px}.completion__actions{gap:10px;width:100%;display:flex}.btn{font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;border-radius:12px;flex:1;padding:11px 14px;font-size:clamp(10px,2vw,13px);font-weight:700;transition:all .15s}.btn--ghost{background:var(--surface-2);border:1.5px solid var(--border-medium);color:var(--text-secondary)}.btn--ghost:hover{border-color:var(--accent-primary);background:var(--cell-highlight);color:var(--accent-primary)}.btn--primary{background:var(--accent-primary);border:1.5px solid var(--accent-primary);color:#fff;box-shadow:0 4px 16px var(--accent-glow)}.btn--primary:hover{filter:brightness(1.1);box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-1px)}.game-header{background:var(--surface-1);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:clamp(8px,1.5cqh,14px) clamp(12px,2.5cqw,24px);display:flex}.header-back{background:var(--surface-2);border:1.5px solid var(--border-medium);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .12s,background .12s,color .12s;display:flex}.header-back:hover{border-color:var(--accent-primary);background:var(--cell-selected);color:var(--accent-primary)}.header-back svg{width:16px;height:16px}.header-center{flex-direction:column;flex:1;align-items:center;gap:1px;min-width:0;display:flex}.header-level{font-family:var(--font-mono);color:var(--accent-primary);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700}.header-name{font-family:var(--font-display);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;letter-spacing:.04em;max-width:100%;font-size:clamp(11px,2cqw,15px);font-weight:700;overflow:hidden}.header-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.header-stat{background:var(--surface-2);border:1.5px solid var(--border-subtle);border-radius:100px;align-items:center;gap:4px;padding:5px 10px;display:flex}@container app (height<=700px){.game-header{gap:6px;padding:8px 10px}.header-back{width:34px;height:34px}.header-stat{padding:4px 8px}.header-stat__icon,.header-stat__val{font-size:11px}}.header-stat__icon{font-size:12px;line-height:1}.header-stat__val{font-family:var(--font-mono);color:var(--text-primary);font-size:12px;font-weight:700;line-height:1}.header-stat--error{background:#e5003d0f;border-color:#e5003d40}.header-stat--error .header-stat__val{color:var(--color-error)}.header-stat--streak .header-stat__val{color:var(--accent-gold)}.header-stat--xp .header-stat__val{color:var(--accent-primary)}@supports not (width:1cqw){.game-header{padding:clamp(8px,1.5vh,14px) clamp(12px,2.5vw,24px)}.header-name{font-size:clamp(11px,2vw,15px)}}.app-viewport{background:radial-gradient(ellipse 80% 50% at 50% -10%, #1a6fff14, transparent 70%), var(--bg-base);flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden;container:app/size}.app-viewport:before{content:"";pointer-events:none;opacity:.55;background-image:radial-gradient(circle,#1a6fff0f 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.app{z-index:1;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.screen{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.screen--scroll,.screen--game{overflow:hidden}.completion-wrap{flex:1;min-height:0;position:relative}.game-layout--mobile{flex:1;grid-template-rows:auto auto minmax(140px,1fr) auto;gap:0;min-width:0;min-height:0;display:grid;overflow:hidden}.game-mobile__clue{background:var(--surface-1);border-bottom:1px solid var(--border-subtle);padding:6px 10px}.game-mobile__grid{justify-content:center;align-items:center;min-height:0;padding:2px 6px;display:flex;overflow:hidden;container:grid-area/size}.game-mobile__pad{background:var(--surface-1);border-top:1px solid var(--border-subtle);padding:6px 12px calc(10px + env(safe-area-inset-bottom,0px));justify-content:center;display:flex}@container app (height<=700px){.game-mobile__clue{padding:6px 10px 5px}.game-mobile__grid{padding:2px 4px}.game-mobile__pad{padding:6px 10px calc(8px + env(safe-area-inset-bottom,0px))}}.game-layout--desktop{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.game-desktop__body{flex:1;grid-template-columns:clamp(160px,22cqw,280px) 1fr clamp(180px,22cqw,280px);align-items:stretch;gap:clamp(12px,1.5cqw,24px);min-height:0;padding:clamp(12px,1.5cqw,24px);display:grid}.game-desktop__clues{min-width:0;height:100%;overflow:hidden}.game-desktop__grid{justify-content:center;align-items:center;min-width:0;height:100%;min-height:0;display:flex;container:grid-area/size}.game-desktop__pad{flex-direction:column;align-items:center;gap:12px;min-width:0;padding-top:clamp(12px,2cqw,24px);display:flex}@supports not (width:1cqw){.game-desktop__body{grid-template-columns:clamp(160px,22vw,280px) 1fr clamp(180px,22vw,280px);gap:clamp(12px,1.5vw,24px);padding:clamp(12px,1.5vw,24px)}}
