*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{width:100%;height:100%;overflow:hidden;background:#0e1430;
  font-family:'Trebuchet MS','Segoe UI',Verdana,sans-serif;color:#fff;user-select:none}
canvas#c{display:block;width:100%;height:100%;position:absolute;inset:0;z-index:1;image-rendering:auto}

.screen{position:absolute;inset:0;z-index:10;display:none;align-items:center;justify-content:center}
.screen.show{display:flex}

/* --- ЗАСТАВКА --- */
.title-bg{position:absolute;inset:0;background:linear-gradient(#8fd3ff,#c9ecff 55%,#bfe6a8);
  animation:none}
body.mode-kids .title-bg{background:url('../assets/img/kids/bg.png') center bottom/cover no-repeat,linear-gradient(#8fd3ff,#cdeaff)}
body.mode-adult .title-bg{background:url('../assets/img/adult/bg.png') center bottom/cover no-repeat,radial-gradient(ellipse at 50% 35%,#241014 0%,#0c0a0c 60%,#050506 100%)}
.title-vignette{position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 45%,rgba(10,14,40,.05) 0%,rgba(10,14,40,.45) 75%,rgba(8,10,30,.7) 100%)}
body.mode-adult .title-vignette{
  background:radial-gradient(ellipse at 50% 42%,rgba(60,10,10,.15) 0%,rgba(6,6,8,.82) 68%,rgba(2,2,3,.96) 100%)}
.title-inner{position:relative;z-index:2;text-align:center;padding:20px}

.game-logo{display:flex;flex-direction:column;align-items:center;line-height:1;margin-bottom:30px}
.logo-teo{font-size:clamp(60px,14vw,140px);font-weight:900;letter-spacing:.06em;
  color:#ffd23f;-webkit-text-stroke:clamp(4px,1vw,9px) #23306b;paint-order:stroke fill;
  text-shadow:0 10px 0 #1a2352,0 16px 26px rgba(0,0,0,.5);transform:rotate(-2deg)}
.logo-sub{margin-top:8px;font-size:clamp(15px,3.4vw,30px);font-weight:800;letter-spacing:.34em;
  text-transform:uppercase;color:#fff;-webkit-text-stroke:4px #23306b;paint-order:stroke fill;
  text-shadow:0 4px 12px rgba(0,0,0,.5)}
body.mode-adult .logo-teo{color:#c0392b;-webkit-text-stroke-color:#1a0a08;text-shadow:0 10px 0 #140606,0 16px 30px rgba(0,0,0,.7)}
body.mode-adult .logo-sub{color:#d8cfc8;-webkit-text-stroke-color:#1a0a08}

.btn-cartoon{cursor:pointer;border:none;font-family:inherit;font-weight:900;color:#3b2500;
  background:linear-gradient(#ffd851,#ffab1a);border-radius:999px;
  box-shadow:0 8px 0 #c96b00,0 14px 24px rgba(0,0,0,.35),inset 0 3px 0 rgba(255,255,255,.6);
  transition:transform .08s ease,box-shadow .08s ease}
.btn-cartoon:active{transform:translateY(6px);box-shadow:0 2px 0 #c96b00,0 6px 12px rgba(0,0,0,.3),inset 0 3px 0 rgba(255,255,255,.5)}
.btn-huge{font-size:clamp(26px,5vw,44px);letter-spacing:.12em;padding:clamp(14px,2.4vw,22px) clamp(44px,9vw,86px);
  animation:pulse 2.2s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
.btn-small{font-size:17px;padding:11px 30px;letter-spacing:.06em}
body.mode-adult .btn-huge{background:linear-gradient(#d24632,#9a1e10);color:#fff;box-shadow:0 8px 0 #5a140c,0 14px 24px rgba(0,0,0,.6),inset 0 3px 0 rgba(255,255,255,.25)}

.diff-row{margin-top:24px;display:flex;flex-direction:column;align-items:center;gap:9px}
.diff-label{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:#5a6a9a;font-weight:700}
body.mode-adult .diff-label{color:#9a8f88}
.mode-btns{display:flex;gap:20px;justify-content:center;align-items:flex-end}
.mode-btn{cursor:pointer;background:none;border:none;padding:0;border-radius:22px;
  transition:transform .12s ease,filter .12s ease;filter:grayscale(.45) brightness(.66);opacity:.72}
.mode-btn img{display:block;width:clamp(104px,25vw,142px);height:auto;pointer-events:none}
.mode-btn:hover{transform:translateY(-3px)}
.mode-btn.active{filter:none;opacity:1;transform:translateY(-3px) scale(1.05)}
.mode-btn[data-mode="kids"].active{filter:drop-shadow(0 6px 16px rgba(70,150,255,.6))}
.mode-btn[data-mode="adult"].active{filter:drop-shadow(0 6px 16px rgba(255,70,40,.75))}
.mode-btn.glow:not(.active){animation:btnGlow 1.7s ease-in-out infinite}
@keyframes btnGlow{0%,100%{filter:grayscale(.3) brightness(.8) drop-shadow(0 0 0 rgba(255,50,30,0));opacity:.85}
  50%{filter:grayscale(0) brightness(1.05) drop-shadow(0 0 20px rgba(255,60,35,.85));opacity:1}}

.title-links{margin-top:22px;display:flex;gap:20px;justify-content:center;flex-wrap:wrap}
.btn-link{cursor:pointer;background:none;border:none;font-family:inherit;font-weight:700;font-size:14px;
  color:#3f4d78;letter-spacing:.05em;border-bottom:2px solid rgba(63,77,120,.35);padding-bottom:2px}
body.mode-adult .btn-link{color:#b9a9a2;border-color:rgba(185,169,162,.35)}
.btn-link:hover{color:#ffab1a;border-color:#ffab1a}
.title-hint{position:absolute;bottom:18px;left:0;right:0;z-index:2;text-align:center;
  font-size:12px;color:#4a5a86;letter-spacing:.04em}
body.mode-adult .title-hint{color:#7a6f68}

/* --- ПАНЕЛЬ УРОВНЕЙ --- */
#screen-levels{background:radial-gradient(ellipse at 50% 30%,#25306a,#0e1430 70%)}
body.mode-adult #screen-levels{background:radial-gradient(ellipse at 50% 30%,#241014,#08090b 70%)}
.panel{width:min(760px,92vw);max-height:88vh;overflow:auto;text-align:center;
  background:rgba(16,22,54,.92);border:3px solid rgba(255,255,255,.14);border-radius:26px;
  padding:28px 24px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
body.mode-adult .panel{background:rgba(14,10,10,.94);border-color:rgba(255,120,90,.14)}
.panel h2{font-size:30px;font-weight:900;letter-spacing:.06em;margin-bottom:20px;color:#ffd23f;
  -webkit-text-stroke:3px #23306b;paint-order:stroke fill}
body.mode-adult .panel h2{color:#c0392b;-webkit-text-stroke-color:#1a0a08}
.level-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:22px}
.level-card{cursor:pointer;text-align:left;padding:16px;border-radius:18px;border:3px solid rgba(255,255,255,.14);
  background:linear-gradient(160deg,#2b376f,#1a2350);transition:transform .1s ease,border-color .1s ease}
body.mode-adult .level-card{background:linear-gradient(160deg,#2a1614,#160c0c);border-color:rgba(255,120,90,.14)}
.level-card:hover{transform:translateY(-3px);border-color:#ffd23f}
.level-card.locked{opacity:.45;cursor:not-allowed}
.level-card .lc-num{font-size:12px;letter-spacing:.22em;color:#93a1d8;font-weight:800}
.level-card .lc-name{font-size:20px;font-weight:900;margin:3px 0 8px}
.level-card .lc-meta{font-size:13px;color:#a9b6e6}
.level-card .lc-stars{margin-top:8px;font-size:19px;color:#ffd23f;letter-spacing:2px}

/* --- ТАЧ-УПРАВЛЕНИЕ --- */
.touch{position:absolute;inset:0;z-index:6;display:none;pointer-events:none}
.touch.show{display:block}
.tbtn{position:absolute;bottom:20px;width:74px;height:74px;border-radius:50%;pointer-events:auto;
  font-size:30px;font-weight:900;color:#fff;background:rgba(16,22,54,.5);
  border:2px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(2px);touch-action:none}
.tbtn:active{background:rgba(255,210,63,.6);color:#2a1c00}
.tleft{left:20px}
.tright{left:110px}
.tjump{right:20px}
.tfire{right:110px;font-size:24px}
.tfire.hidden{display:none}

.btn-pause{position:absolute;z-index:7;top:14px;right:14px;display:none;cursor:pointer;
  width:44px;height:44px;border-radius:14px;font-family:inherit;font-weight:900;font-size:15px;letter-spacing:2px;
  color:#fff;background:rgba(16,22,54,.75);border:2px solid rgba(255,255,255,.25)}
.btn-pause.show{display:block}
.btn-home{right:66px;font-size:22px;line-height:1}
