:root{
  --bg1:#0b1b2b;
  --bg2:#0f2f52;
  --accent:#ffb300;
  --accent2:#ff5c8a;
  --card:#0f2031cc;
  --text:#f3f6fb;
  --muted:#b7c3d6;
  --good:#4ad991;
  --bad:#ff6b6b;
  --stroke:#1a3a58;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Trebuchet MS","Verdana",sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 800px at 10% 10%, #1c3f66 0%, var(--bg1) 50%),
    radial-gradient(1200px 800px at 90% 20%, #102c4b 0%, var(--bg2) 60%);
  min-height:100vh;
  overflow-x:hidden;
  font-size:18px;
}

.bg-blob{position:fixed;width:520px;height:520px;background:radial-gradient(circle at 30% 30%, #ffb30055, #ff5c8a11);filter:blur(8px);border-radius:50%;z-index:0;}
.bg-blob.a{top:-140px;left:-120px}
.bg-blob.b{bottom:-160px;right:-120px;background:radial-gradient(circle at 30% 30%, #64d5ff55, #66ffb111)}
.bg-grid{position:fixed;inset:0;background:linear-gradient(transparent 24px, #ffffff06 24px),linear-gradient(90deg, transparent 24px, #ffffff06 24px);background-size:26px 26px;pointer-events:none;z-index:0;}

.hero{position:relative;z-index:1;max-width:1100px;margin:28px auto 18px;padding:20px 16px;display:grid;grid-template-columns: 1.3fr .7fr;gap:16px;align-items:center;}
.hero-left{padding:8px 8px 8px 6px}
.hero-right{display:flex;justify-content:flex-end}

.brand{font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:14px;}
h1{margin:0 0 10px;font-size:clamp(34px, 4vw, 54px);line-height:1.05;}
p{color:var(--muted);margin:0 0 14px;font-size:18px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.note{margin-top:12px;padding:10px 12px;border-radius:14px;background:#0d2740;border:1px solid #1a4468;color:#d4e5ff;font-size:16px;}

.mascot{position:relative;width:min(300px, 40vw);aspect-ratio: 1/1.1;display:flex;justify-content:center;align-items:flex-end;}
.mascot img{width:100%;height:auto;filter: drop-shadow(0 18px 28px rgba(0,0,0,.35));transform: translateY(6px);}
.speech{position:absolute;top:10px;left:-10px;right:-10px;margin:auto;max-width:340px;background:#0d2740;border:1px solid #1a4468;border-radius:16px;padding:12px 14px;font-weight:700;font-size:16px;color:var(--text);box-shadow:0 14px 30px rgba(0,0,0,.35);}
.speech::after{content:"";position:absolute;left:50%;bottom:-10px;width:18px;height:18px;background:#0d2740;border-left:1px solid #1a4468;border-bottom:1px solid #1a4468;transform: translateX(-50%) rotate(45deg);}

.wrap{position:relative;z-index:1;max-width:1100px;margin:0 auto 40px;padding:0 16px 40px;display:grid;gap:18px;}

.panel{background:var(--card);border:1px solid var(--stroke);border-radius:18px;padding:18px;backdrop-filter:blur(8px);box-shadow: 0 16px 40px rgba(0,0,0,.22);}
.panel-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.panel-head h2{margin:0;font-size:22px}
.hint{margin:8px 0 0;font-size:16px}
.panel-body{margin:14px 0}
.panel-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.subgrid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:12px}
.subpanel{background:#0b2033aa;border:1px solid #163b5a;border-radius:16px;padding:14px}
.subhead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.subhead h3{margin:0;font-size:18px}
.subhelp{color:#cfe0ff;opacity:.92;font-size:14px;line-height:1.25}
.subfoot{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}

.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:8px 12px;border-radius:999px;background:#12395b;border:1px solid #1f4d73;font-size:13px;}

.card{padding:16px 20px;border-radius:14px;background:#0d2740;border:1px solid #1a4468;font-weight:800;font-size:clamp(22px, 3vw, 30px);text-align:center;min-width:120px;}
.card.big{font-size:clamp(38px, 6vw, 68px);padding:18px}
.card.wide{width:100%;font-weight:700;font-size:clamp(18px, 2.4vw, 26px)}
.card.xl{font-size:clamp(30px, 4vw, 46px);padding:18px 22px}

.positions{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin:14px 0}
.position{padding:10px 8px;border-radius:12px;border:2px dashed #2c587f;min-height:76px;display:flex;flex-direction:column;gap:6px;justify-content:center;align-items:center;background:#0b2033;}
.position span{font-size:12px;color:var(--muted)}
.position .slotDigit{font-size:30px;font-weight:900;min-height:34px;}

.bank{display:flex;gap:10px;flex-wrap:wrap}

.digit{width:74px;height:74px;border-radius:14px;background:#0f3556;border:2px solid #215e8b;display:grid;place-items:center;font-size:30px;font-weight:900;cursor:grab;user-select:none;box-shadow:0 12px 26px rgba(0,0,0,.25);}
.digit:active{cursor:grabbing}
.digit.selected{outline: 3px solid var(--accent);transform: scale(1.06);}
.digit.ghosted{opacity:.45}

.compare{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center}
.cmp-buttons{display:flex;flex-direction:column;gap:10px}

.sortable{display:flex;gap:10px;flex-wrap:wrap}
.sortable .digit{width:140px;height:90px;font-size:26px}
.ord-drop{margin-top:12px;min-height:120px;border:3px dashed #2a6b9e;border-radius:16px;padding:12px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.toggle{display:flex;gap:8px}
.role-buttons{display:flex;gap:10px;flex-wrap:wrap}

.options{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}
.opt-btn{
  width:100%;
  text-align:left;
  padding:14px 14px;
  border-radius:14px;
  background:#0d2740;
  border:2px solid #1a4468;
  color:var(--text);
  font-size:18px;
  font-weight:800;
  cursor:pointer;
}
.opt-btn:hover{border-color:#2d78b4}
.opt-btn.selected{outline:3px solid var(--accent);transform: scale(1.01);}
.opt-btn.correct{border-color: #34d399; box-shadow:0 0 0 2px #34d39933 inset}
.opt-btn.wrong{border-color: #ff6b6b; box-shadow:0 0 0 2px #ff6b6b33 inset}

.btn{
  background:linear-gradient(135deg, var(--accent), #ffd56a);
  color:#1a1a1a;border:none;padding:12px 18px;border-radius:14px;font-weight:900;cursor:pointer;font-size:18px;box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.btn.ghost{background:transparent;color:var(--text);border:2px solid #2d5f86;box-shadow:none}
.btn.small{padding:12px 18px;font-size:18px}

.result{color:var(--muted);font-size:18px;font-weight:700;}
.result.good{color:var(--good)}
.result.bad{color:var(--bad)}
.result.bump{transform: scale(1.08);text-shadow: 0 10px 18px rgba(0,0,0,.35);}

.footer{position:relative;z-index:1;text-align:center;padding:16px 0 40px;color:#9fb0c9;}
.small-muted{opacity:.85;font-size:14px}

kbd{background:#0d2740;border:1px solid #1a4468;border-bottom-color:#123a5a;padding:2px 6px;border-radius:6px;font-weight:900;font-size:13px;color:var(--text);}

.toast{position:fixed;inset:0;display:none;place-items:center;background: rgba(0,0,0,.42);z-index:50;padding:16px;}
.toast.show{display:grid}
.toast-card{width:min(900px, 96vw);display:grid;grid-template-columns: 220px 1fr;gap:14px;align-items:center;background:#0b2033;border:2px solid #1a4468;border-radius:18px;padding:16px;box-shadow:0 22px 60px rgba(0,0,0,.5);}
.toast-betelin{width:100%;height:auto;border-radius:14px;background:#06121c;border:1px solid #163b5a;}
.toast-title{font-size:34px;font-weight:1000;margin-bottom:6px;}
.toast-msg{font-size:20px;color:#dbe8ff;margin-bottom:12px;}
.toast-actions{display:flex;gap:10px;flex-wrap:wrap}
.toast-hint{margin-top:10px;color:#bcd0ef;font-size:14px}

@media (min-width: 920px){
  .subgrid{grid-template-columns:1.25fr .75fr .75fr; align-items:start;}
}

@media (max-width: 760px){
  .hero{grid-template-columns:1fr;}
  .hero-right{justify-content:center}
  .positions{grid-template-columns:repeat(4,1fr)}
  .compare{grid-template-columns:1fr}
  .cmp-buttons{flex-direction:row;justify-content:center}
  .toast-card{grid-template-columns:1fr;}
  .toast-betelin{max-width:260px;margin:0 auto}
}
@media (max-width: 520px){
  .positions{grid-template-columns:repeat(3,1fr)}
  .digit{width:58px;height:58px;font-size:26px}
  .sortable .digit{width:120px;height:82px}
  .card.big{font-size:46px}
}
