:root{--bg: #070b16;--bg2: #0c1226;--panel: rgba(20, 28, 54, .72);--panel-border: rgba(120, 160, 255, .18);--text: #eaf0ff;--text-dim: #93a0c4;--accent: #37e0ff;--accent2: #ff4fa0;--gold: #ffd34d;--danger: #ff5566;--ok: #52ff9b;--radius: 18px;--font: "Heebo Variable", "Heebo", "Assistant", -apple-system, "Segoe UI", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}body{font-family:var(--font);background:var(--bg);color:var(--text);direction:rtl;user-select:none;-webkit-user-select:none}#app{height:100%}#boot{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.boot-logo{font-size:72px;animation:float 2.2s ease-in-out infinite}.boot-title{font-size:42px;font-weight:900;letter-spacing:1px;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}.boot-sub{color:var(--text-dim);font-size:18px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.screen{position:fixed;inset:0;display:flex;flex-direction:column;overflow:hidden}.bg-canvas{position:absolute;inset:0;width:100%;height:100%}.menu-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;padding:28px 20px 16px;overflow-y:auto}.menu-header{text-align:center;margin-bottom:18px;flex-shrink:0}.menu-title{font-size:clamp(40px,6.5vw,74px);font-weight:900;letter-spacing:2px;line-height:1.1;background:linear-gradient(100deg,#37e0ff 10%,#7a6bff 45%,#ff4fa0 90%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(80,140,255,.35))}.menu-tagline{color:var(--text-dim);font-size:clamp(15px,1.8vw,20px);margin-top:6px;font-weight:500}.tip-bar{font-family:var(--font);margin-top:12px;font-size:14.5px;font-weight:500;color:var(--text-dim);background:var(--panel);border:1px solid var(--panel-border);border-radius:999px;padding:7px 18px;max-width:min(92vw,680px);cursor:default;transition:opacity .35s ease,border-color .15s ease,color .15s ease}.tip-bar.fade{opacity:0}.tip-bar.clickable{cursor:pointer}.tip-bar.clickable:hover{border-color:var(--accent);color:var(--text)}.overlay .load-tip{margin-top:10px;font-size:14.5px}.multi-gate{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:15px;color:var(--text-dim);line-height:1.5;background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;padding:10px 16px;max-width:680px}.menu-toolbar{position:absolute;top:18px;left:18px;z-index:5;display:flex;gap:10px}.menu-footer{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:22px;flex-shrink:0}.menu-footer .btn{font-size:15.5px;padding:10px 22px;text-decoration:none}.legal-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center;margin-top:14px;padding-bottom:10px;flex-shrink:0;font-size:13.5px;color:var(--text-dim)}.legal-row a{color:var(--text-dim);text-decoration:underline;text-underline-offset:3px}.legal-row a:hover{color:var(--text)}.icon-btn{width:46px;height:46px;border-radius:14px;border:1px solid var(--panel-border);background:var(--panel);color:var(--text);font-size:21px;cursor:pointer;display:grid;place-items:center;transition:all .15s ease;backdrop-filter:blur(8px)}.icon-btn:hover{border-color:var(--accent);box-shadow:0 0 18px #37e0ff59;transform:translateY(-2px)}.icon-btn.off{opacity:.45}.filter-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:20px}.filter-chip{font-family:var(--font);font-size:16px;font-weight:700;padding:8px 20px;border-radius:999px;border:1px solid var(--panel-border);background:var(--panel);color:var(--text-dim);cursor:pointer;transition:all .15s ease;backdrop-filter:blur(8px)}.filter-chip:hover{border-color:var(--accent);color:var(--text)}.filter-chip.active{color:#061018;background:linear-gradient(95deg,var(--accent),#6ea8ff);border-color:transparent;box-shadow:0 4px 18px #37e0ff59}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;width:100%;max-width:1240px;padding-bottom:20px}.game-card{position:relative;border-radius:var(--radius);border:1px solid var(--panel-border);background:var(--panel);backdrop-filter:blur(10px);padding:20px 20px 16px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;overflow:hidden;text-align:right}.game-card:before{content:"";position:absolute;inset:0;background:radial-gradient(420px 140px at 85% -10%,var(--card-glow, rgba(55,224,255,.22)),transparent 70%);pointer-events:none}.game-card:hover{transform:translateY(-5px) scale(1.015);border-color:var(--card-color, var(--accent));box-shadow:0 12px 40px #00000073,0 0 26px var(--card-glow, rgba(55, 224, 255, .25))}.game-card .card-icon{font-size:46px;line-height:1;margin-bottom:10px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}.game-card .card-name{font-size:24px;font-weight:800;margin-bottom:4px;color:var(--text)}.game-card .card-desc{font-size:14.5px;color:var(--text-dim);line-height:1.45;min-height:42px}.card-meta{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;align-items:center}.badge{font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:999px;background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:var(--text-dim);white-space:nowrap}.badge.mode{color:var(--card-color, var(--accent));border-color:currentColor}.badge.age{color:#7ee3a0;border-color:#7ee3a073}.badge.hiscore{color:var(--gold);border-color:#ffd34d66;margin-inline-start:auto}.btn{font-family:var(--font);font-size:20px;font-weight:800;padding:13px 34px;border-radius:14px;border:none;cursor:pointer;color:#061018;background:linear-gradient(95deg,var(--accent),#6ea8ff);box-shadow:0 6px 24px #37e0ff59;transition:transform .14s ease,box-shadow .14s ease,filter .14s;letter-spacing:.5px}.btn:hover{transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 10px 32px #37e0ff80}.btn:active{transform:translateY(0)}.btn.secondary{background:var(--panel);color:var(--text);border:1px solid var(--panel-border);box-shadow:none}.btn.secondary:hover{border-color:var(--accent);box-shadow:0 0 16px #37e0ff40}.btn.danger{background:linear-gradient(95deg,#f56,#f86);box-shadow:0 6px 24px #ff556659;color:#1a0508}.btn.big{font-size:24px;padding:16px 52px;border-radius:16px}.pregame{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;gap:20px;padding:24px;text-align:center;overflow-y:auto}.pregame>:first-child{margin-top:auto}.pregame>:last-child{margin-bottom:auto}.pregame .pg-icon{font-size:clamp(52px,12vw,76px);filter:drop-shadow(0 6px 20px rgba(0,0,0,.5))}.pregame .pg-name{font-size:clamp(28px,9.5vw,46px);line-height:1.15;max-width:100%;font-weight:900;color:var(--pg-color, var(--accent));text-shadow:0 0 30px var(--pg-glow, rgba(55,224,255,.4))}.pregame .pg-tagline{font-size:clamp(16px,4.5vw,19px);color:var(--text-dim);max-width:640px}.howto{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:18px 26px;max-width:620px;width:100%;backdrop-filter:blur(10px)}.howto h3{font-size:17px;color:var(--text-dim);font-weight:700;margin-bottom:10px}.howto ul{list-style:none;display:flex;flex-direction:column;gap:8px}.howto li{font-size:16.5px;line-height:1.45}.howto li:before{content:"◂ ";color:var(--pg-color, var(--accent));font-weight:900}.diff-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.diff-label{color:var(--text-dim);font-weight:700;font-size:17px}.diff-btn{font-family:var(--font);font-size:17px;font-weight:800;padding:9px 24px;border-radius:12px;border:1px solid var(--panel-border);background:var(--panel);color:var(--text-dim);cursor:pointer;transition:all .14s ease}.diff-btn.active{color:#061018;background:linear-gradient(95deg,var(--pg-color, var(--accent)),#6ea8ff);border-color:transparent;box-shadow:0 4px 18px var(--pg-glow, rgba(55, 224, 255, .4))}.pg-best{color:var(--gold);font-weight:700;font-size:17px}.pg-actions{display:flex;gap:14px;margin-top:6px;flex-wrap:wrap;justify-content:center}#game-screen{background:#000}#game-canvas{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#05070f;border-radius:6px}#hud{position:absolute;inset:0;pointer-events:none;z-index:5;font-variant-numeric:tabular-nums}.hud-box{position:absolute;background:#080c1a9e;border:1px solid var(--panel-border);border-radius:14px;padding:8px 18px;backdrop-filter:blur(6px)}#hud-score{top:16px;right:16px;text-align:center;min-width:130px}#hud-score .val{font-size:34px;font-weight:900;color:var(--gold);text-shadow:0 0 18px rgba(255,211,77,.45);line-height:1.1}#hud-score .lbl{font-size:12.5px;color:var(--text-dim);font-weight:700}#hud-left{top:16px;left:68px;text-align:center;min-width:110px}#hud-left .val{font-size:30px;font-weight:900;color:var(--accent);line-height:1.15}#hud-left .lbl{font-size:12.5px;color:var(--text-dim);font-weight:700}#hud-combo{top:16px;right:50%;transform:translate(50%);font-size:24px;font-weight:900;color:var(--accent2);text-shadow:0 0 16px rgba(255,79,160,.5);display:none}#hud-msg{bottom:8%;right:50%;transform:translate(50%);font-size:26px;font-weight:800;color:var(--text);text-shadow:0 2px 14px rgba(0,0,0,.8);background:none;border:none;white-space:nowrap;display:none}#pause-btn{position:absolute;top:16px;left:12px;pointer-events:auto;z-index:6}#exit-btn{position:absolute;top:64px;left:12px;pointer-events:auto;z-index:6}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;gap:18px;background:#050812d1;backdrop-filter:blur(6px);z-index:10;text-align:center;padding:24px;overflow-y:auto}.overlay>:first-child{margin-top:auto}.overlay>:last-child{margin-bottom:auto}.overlay h1{font-size:clamp(36px,5vw,58px);font-weight:900}.overlay h2{font-size:clamp(22px,3vw,32px);font-weight:800;color:var(--text)}.overlay p{font-size:18px;color:var(--text-dim);max-width:560px;line-height:1.5}.overlay.live{background:transparent;backdrop-filter:none;justify-content:center;gap:16px;pointer-events:none}.overlay.live>:first-child{margin-top:0}.overlay.live>:last-child{margin-bottom:0}.overlay.live h2,.overlay.live p{background:#050812b3;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:12px 22px;backdrop-filter:blur(6px);box-shadow:0 6px 24px #00000059}.overlay.live .overlay-actions{pointer-events:auto}.overlay.live .countdown-num{pointer-events:none}.countdown-num{font-size:190px;font-weight:900;color:var(--accent);text-shadow:0 0 60px rgba(55,224,255,.6);animation:pop-in .9s ease both;line-height:1}@keyframes pop-in{0%{transform:scale(2.2);opacity:0}25%{transform:scale(1);opacity:1}85%{opacity:1}to{transform:scale(.85);opacity:0}}.result-score{font-size:92px;font-weight:900;color:var(--gold);text-shadow:0 0 40px rgba(255,211,77,.5);line-height:1.05}.result-stats{display:flex;gap:26px;flex-wrap:wrap;justify-content:center}.result-stat{text-align:center}.result-stat .v{font-size:30px;font-weight:900;color:var(--accent)}.result-stat .l{font-size:14px;color:var(--text-dim);font-weight:700}.profiles-list{display:flex;flex-direction:column;gap:8px;margin:12px 0}.profile-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;border:1px solid var(--panel-border);background:#ffffff0a;cursor:pointer;transition:all .15s ease}.profile-row:hover{border-color:var(--accent)}.profile-row.active{border-color:var(--ok);background:#52ff9b14}.profile-row .p-emoji{font-size:26px}.profile-row .p-name{font-weight:800;font-size:18px;flex:1}.profile-row .p-badge{color:var(--ok);font-weight:800;font-size:14px}.icon-btn.p-mini{width:34px;height:34px;font-size:15px;border-radius:10px}.profile-new{display:flex;flex-direction:column;gap:10px;margin:10px 0 4px}.emoji-row{display:flex;gap:6px;flex-wrap:wrap}.emoji-btn{width:40px;height:40px;font-size:21px;border-radius:10px;border:1px solid var(--panel-border);background:#ffffff0a;cursor:pointer}.emoji-btn.active{border-color:var(--accent);box-shadow:0 0 12px #37e0ff66}.new-row{display:flex;gap:10px}.new-row input{flex:1;font-family:var(--font);font-size:17px;font-weight:700;padding:10px 14px;border-radius:12px;border:1px solid var(--panel-border);background:#ffffff0d;color:var(--text);outline:none}.new-row input:focus{border-color:var(--accent)}.menu-hero-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:stretch;margin-bottom:18px}.prog-panel{width:100%;max-width:980px;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:16px 18px;margin-bottom:16px;backdrop-filter:blur(8px)}.prog-head{display:flex;gap:12px;align-items:center;font-weight:800;margin-bottom:10px;color:var(--text)}.prog-head select{font-family:var(--font);font-size:16px;font-weight:700;background:var(--bg2);color:var(--text);border:1px solid var(--panel-border);border-radius:10px;padding:7px 12px}.prog-chart{width:100%;height:150px;display:block}.prog-table{width:100%;border-collapse:collapse;font-size:14.5px}.prog-table th{color:var(--text-dim);font-weight:700;text-align:right;padding:6px 8px;border-bottom:1px solid var(--panel-border)}.prog-table td{padding:7px 8px;border-bottom:1px solid rgba(255,255,255,.06)}.prog-actions{display:flex;gap:12px;justify-content:center;margin-bottom:10px}.effort-report{border-top:1px solid rgba(255,255,255,.12);padding-top:14px;margin-top:4px;display:flex;flex-direction:column;gap:10px;align-items:center}.effort-report .er-title{font-size:19px;font-weight:900;color:var(--ok)}.effort-report .result-stat .v{font-size:24px;color:var(--ok)}.effort-report .er-note{font-size:12px;color:var(--text-dim)}.new-record{font-size:26px;font-weight:900;color:var(--gold);animation:blink-gold .8s ease infinite alternate}@keyframes blink-gold{0%{opacity:.75;transform:scale(1)}to{opacity:1;transform:scale(1.06);text-shadow:0 0 30px rgba(255,211,77,.8)}}.overlay-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;width:100%;max-width:500px}.overlay-actions .btn[data-act=diffup],.overlay-actions .btn[data-act=next]{flex-basis:100%;padding-left:24px;padding-right:24px}#track-hint{position:absolute;bottom:20px;right:50%;transform:translate(50%);background:#ff556626;border:1px solid rgba(255,85,102,.5);color:#ffb3bb;font-size:17px;font-weight:700;padding:10px 22px;border-radius:999px;z-index:8;display:none;backdrop-filter:blur(6px)}.modal-back{position:fixed;inset:0;background:#03050cb3;backdrop-filter:blur(6px);z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--bg2);border:1px solid var(--panel-border);border-radius:22px;padding:28px 30px;max-width:560px;width:100%;max-height:84vh;overflow-y:auto;box-shadow:0 24px 80px #0009}.modal h2{font-size:28px;font-weight:900;margin-bottom:18px}.shabbat-modal{text-align:center;border-color:#ffd97a59}.shabbat-modal h2{color:#ffd97a}.shabbat-modal p{font-size:18px}.modal .setting-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.06);gap:16px}.setting-row .s-name{font-size:17px;font-weight:700}.setting-row .s-desc{font-size:13.5px;color:var(--text-dim);margin-top:2px}.modal .modal-actions{margin-top:20px;display:flex;justify-content:flex-start;gap:12px}.modal p,.modal li{font-size:16px;line-height:1.6;color:var(--text)}.modal ul{padding-inline-start:20px;display:flex;flex-direction:column;gap:6px}.modal .dim{color:var(--text-dim);font-size:14.5px}.modal .diff-btn{font-size:14px;padding:7px 14px}.modal .diff-row{gap:6px}.fb-modal .fb-ratings{display:flex;gap:14px;justify-content:center;margin:20px 0 16px}.fb-face{font-size:40px;line-height:1;width:74px;height:74px;border-radius:16px;border:2px solid var(--panel-border);background:#ffffff0a;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.fb-face:hover{transform:translateY(-2px)}.fb-face.active{border-color:var(--accent);box-shadow:0 0 16px #37e0ff73;transform:translateY(-2px) scale(1.05)}.fb-text{width:100%;min-height:96px;resize:vertical;font-family:var(--font);font-size:16px;line-height:1.5;padding:12px 14px;border-radius:12px;border:1px solid var(--panel-border);background:#ffffff0d;color:var(--text);outline:none}.fb-text:focus{border-color:var(--accent)}.fb-modal .fb-hint{margin-top:8px;font-size:13px}.toggle{position:relative;width:56px;height:30px;border-radius:999px;background:#ffffff1f;border:1px solid var(--panel-border);cursor:pointer;transition:background .18s ease;flex-shrink:0}.toggle:after{content:"";position:absolute;top:3px;right:4px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .18s ease}.toggle.on{background:var(--accent)}.toggle.on:after{transform:translate(-25px)}.cam-error-icon{font-size:64px}@media (max-width: 640px){.games-grid{grid-template-columns:1fr}#hud-score .val{font-size:26px}.countdown-num{font-size:120px}.result-score{font-size:64px}.pregame{gap:13px;padding:16px 14px}.pregame .howto{padding:13px 16px}.howto li{font-size:15px}.btn.big{font-size:20px;padding:13px 30px}.pg-actions{gap:10px}.overlay{gap:13px}.menu-toolbar{top:12px;left:12px}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background:#78a0ff40;border-radius:999px}::-webkit-scrollbar-track{background:transparent}.quest-btn{margin-bottom:18px;font-size:21px;padding:14px 38px;background:linear-gradient(95deg,#ffd34d,#ff9d4d);box-shadow:0 6px 26px #ffd34d59;display:flex;align-items:center;gap:14px}.quest-btn .q-total{font-size:16px;background:#00000038;padding:4px 12px;border-radius:999px}.world{width:100%;max-width:1240px;margin-bottom:26px}.world-head{display:flex;align-items:center;gap:14px;margin-bottom:12px;padding-inline-start:6px}.world-icon{font-size:40px;filter:drop-shadow(0 0 14px var(--world-color, #fff))}.world-name{font-size:26px;font-weight:900;color:var(--world-color, var(--text))}.world-desc{font-size:14.5px;color:var(--text-dim)}.levels-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.level-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;padding:16px 12px 12px;text-align:center;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;backdrop-filter:blur(8px)}.level-card:hover:not(.locked){transform:translateY(-4px);border-color:var(--card-color, var(--accent));box-shadow:0 8px 28px #0006,0 0 20px var(--world-color, rgba(55, 224, 255, .25))}.level-card.locked{opacity:.45;cursor:not-allowed;filter:grayscale(.7)}.level-card .lv-icon{font-size:40px;margin-bottom:6px}.level-card .lv-name{font-size:16.5px;font-weight:800}.level-card .lv-diff{font-size:12.5px;color:var(--text-dim);margin:2px 0 6px}.level-card .lv-stars{font-size:19px;letter-spacing:2px}.level-card .lv-target{font-size:12px;color:var(--text-dim);margin-top:5px}.quest-result{text-align:center}.q-stars-row{font-size:46px;letter-spacing:8px}.q-star{opacity:.4}.q-star.earned{opacity:1;filter:drop-shadow(0 0 14px rgba(255,211,77,.8));animation:blink-gold .9s ease infinite alternate}.trv-preview{margin-top:14px;padding:14px 16px;background:#0a102080;border:1px solid var(--panel-border);border-radius:var(--radius)}.trv-head{font-size:16px;margin-bottom:10px}.trv-errs{max-height:150px;overflow-y:auto;font-size:14px;line-height:1.7;color:#ffb3bb;background:#ff556614;border-radius:12px;padding:8px 12px;margin-bottom:10px}.trv-errs .dim{color:var(--text-dim)}.trv-sample{font-size:14.5px}.trv-sample .dim{color:var(--text-dim)}.trv-q{margin:8px 0;padding-inline-start:4px;border-inline-start:3px solid var(--panel-border)}.trv-q b{color:var(--text)}.trv-ans{color:var(--text-dim);font-size:13.5px;margin-top:2px}.trv-correct{color:var(--ok);font-weight:800}.trv-preview-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}#kiosk-screen{align-items:center;justify-content:center;background:var(--bg)}#kiosk-canvas{display:block;max-width:100%;max-height:100%}.kiosk-status{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;display:none;max-width:min(80vw,560px);padding:18px 26px;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);color:var(--text);font-size:18px;font-weight:600;text-align:center;line-height:1.6}.kiosk-status.error{border-color:var(--danger);color:#ffb3bb}.trv-preview-actions .btn{font-size:15px;padding:9px 20px}
