/* ============ Симулятор ============ */

.sim-card{padding:0;overflow:hidden}
.sim{display:block}
.sim-head{padding:22px 24px 14px;border-bottom:1px solid var(--line)}
.sim-eyebrow{font-family:var(--f-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dim);display:block;margin-bottom:6px}
.sim-head h3{font-size:17px;color:var(--gold-hi);margin:0}

.sim-stage{
  position:relative;background:
    radial-gradient(120% 90% at 50% 0%,rgba(214,178,94,.07),transparent 62%),#0b0c11;
  border-bottom:1px solid var(--line);
  height:min(58vh,460px);
  touch-action:none;overscroll-behavior:contain;
}
.sim-stage:fullscreen{height:100vh;border:0}
.sim-tall .sim-stage{height:78vh}
.sim-cv{width:100%;height:100%;display:block;cursor:grab}
.sim-cv.grabbing{cursor:grabbing}

.sim-hud{position:absolute;top:10px;right:10px;display:flex;gap:6px;z-index:2}
.sim-ic{
  width:36px;height:36px;border-radius:8px;border:1px solid var(--line2);
  background:rgba(16,17,23,.82);color:var(--gold);font-size:16px;cursor:pointer;
  display:grid;place-items:center;backdrop-filter:blur(6px);
}
.sim-ic:hover{border-color:var(--gold-dim);color:var(--gold-hi)}

.sim-pad{
  position:absolute;left:10px;bottom:10px;z-index:2;
  display:grid;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(2,38px);gap:5px;
  opacity:.9;
}
.sim-pad button{
  border:1px solid var(--line2);background:rgba(16,17,23,.82);color:#cfccc4;
  border-radius:8px;font-family:var(--f-mono);font-size:12px;cursor:pointer;
  -webkit-user-select:none;user-select:none;touch-action:manipulation;
}
.sim-pad button:active{background:rgba(214,178,94,.2);color:var(--gold-hi)}
.sim-pad [data-nudge="w"]{grid-column:2;grid-row:1}
.sim-pad [data-nudge="a"]{grid-column:1;grid-row:2}
.sim-pad [data-nudge="s"]{grid-column:2;grid-row:2}
.sim-pad [data-nudge="d"]{grid-column:3;grid-row:2}
.sim-pad [data-nudge="e"]{grid-column:3;grid-row:1}
.sim-pad [data-nudge="q"]{grid-column:1;grid-row:1}

.sim-toast{
  position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:3;
  background:rgba(16,17,23,.94);border:1px solid var(--gold-dim);border-radius:8px;
  padding:9px 16px;font-size:13px;color:var(--gold-hi);max-width:86%;text-align:center;
}

.sim-hint{margin:0;padding:14px 24px;font-size:13.5px;color:var(--dim);border-bottom:1px solid var(--line);background:var(--panel2)}
.sim-hint kbd{font-size:11px;padding:1px 5px}

.sim-ctl{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:12px 22px;padding:20px 24px;align-items:center;
}
.sim-row{display:grid;grid-template-columns:minmax(96px,auto) 1fr 44px;gap:10px;align-items:center;font-size:13px}
.sim-lb{color:var(--dim);font-family:var(--f-mono);font-size:11px;letter-spacing:.05em}
.sim-val{font-family:var(--f-mono);font-size:12px;color:var(--gold);text-align:right}
.sim-row select{
  grid-column:2/4;background:#0d0e13;border:1px solid var(--line);border-radius:7px;
  color:var(--txt);padding:8px 10px;font-family:var(--f-body);font-size:13px;width:100%;
}
.sim-row select:focus{border-color:var(--gold-dim);outline:none}

.sim-ctl input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:24px;background:none;cursor:pointer;
}
.sim-ctl input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--panel3);border:1px solid var(--line)}
.sim-ctl input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--panel3);border:1px solid var(--line)}
.sim-ctl input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:20px;height:20px;margin-top:-9px;border-radius:50%;
  background:linear-gradient(180deg,var(--gold-hi),var(--gold-dim));border:1px solid #0b0c11;
}
.sim-ctl input[type=range]::-moz-range-thumb{
  width:20px;height:20px;border-radius:50%;border:1px solid #0b0c11;
  background:linear-gradient(180deg,var(--gold-hi),var(--gold-dim));
}

.sim-toggle{display:flex;align-items:center;gap:10px;font-size:13px;color:#cfccc4;cursor:pointer;min-height:38px}
.sim-toggle input{
  appearance:none;-webkit-appearance:none;width:40px;height:22px;border-radius:12px;
  background:var(--panel3);border:1px solid var(--line2);position:relative;cursor:pointer;flex:none;
}
.sim-toggle input::after{
  content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;
  background:var(--dim);transition:transform .16s,background .16s;
}
.sim-toggle input:checked{background:rgba(214,178,94,.24);border-color:var(--gold-dim)}
.sim-toggle input:checked::after{transform:translateX(18px);background:var(--gold-hi)}

.sim-btn{
  padding:11px 14px;border-radius:8px;border:1px solid var(--line2);background:var(--panel2);
  color:#d5d2ca;font-family:var(--f-body);font-size:13px;cursor:pointer;min-height:42px;
}
.sim-btn:hover{border-color:var(--gold-dim);color:var(--gold-hi)}
.sim-btn:active{background:rgba(214,178,94,.14)}

.sim-pal{grid-template-columns:minmax(96px,auto) 1fr}
.sw-box{display:flex;gap:7px;flex-wrap:wrap}
.sw{width:30px;height:30px;border-radius:7px;border:2px solid transparent;cursor:pointer;padding:0}
.sw.on{border-color:#fff;box-shadow:0 0 0 2px rgba(240,214,138,.5)}

.sim-stats{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;
  background:var(--line);border-top:1px solid var(--line);
}
.sim-st{background:var(--panel2);padding:13px 16px}
.sim-st span{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:4px}
.sim-st b{font-size:14px;color:var(--gold-hi);font-weight:400}

@media (max-width:720px){
  .sim-head{padding:18px 16px 12px}
  .sim-hint{padding:12px 16px;font-size:13px}
  .sim-stage{height:min(52vh,380px)}
  .sim-ctl{grid-template-columns:1fr;padding:16px;gap:10px}
  .sim-row{grid-template-columns:minmax(88px,auto) 1fr 40px}
  .sim-stats{grid-template-columns:1fr 1fr}
  .sim-pad{grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px)}
  .sim-ic{width:40px;height:40px}
}
@media (hover:none){
  .sim-cv{cursor:default}
}
@media (hover:hover) and (pointer:fine){
  .sim-pad{opacity:.45}
  .sim-stage:hover .sim-pad{opacity:.9}
}
