/* Стили сцены: общие для главной и страницы участка. */
/* ---------- первый экран ---------- */
.hero{position:relative;height:100svh;min-height:620px;max-height:940px;overflow:hidden;background:#1A2430}
#scene{position:absolute;inset:0;display:block;width:100%;height:100%}
.scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,11,13,.50) 0%,rgba(7,11,13,.14) 24%,rgba(7,11,13,0) 44%,rgba(7,11,13,.26) 74%,rgba(7,11,13,.58) 100%)}
.hero-ui{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}
.hero-ui > *{pointer-events:auto}

.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 64px}
@media(max-width:820px){.topbar{padding:16px 20px}}
.brand{display:flex;align-items:center;gap:11px;color:var(--hero-ink);font-weight:800;font-size:16.5px;letter-spacing:.01em}
.nav{display:flex;align-items:center;gap:26px}
.nav a{color:var(--hero-dim);font-size:15px}
.nav a:hover{color:var(--hero-ink)}
.nav .login{border:1px solid var(--hero-edge);border-radius:10px;padding:9px 18px;color:var(--hero-ink);font-size:14.5px}
@media(max-width:700px){.nav a:not(.login){display:none}}

.pitch{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;padding:0 20px}
.pitch h1{
  margin:0;max-width:20ch;font-size:clamp(30px,4.4vw,48px);line-height:1.08;font-weight:800;
  letter-spacing:-.022em;color:var(--hero-ink);text-wrap:balance;
  text-shadow:0 2px 26px rgba(8,12,14,.45);
}
.finder{display:flex;gap:10px;width:min(720px,100%)}
.finder .field{
  flex:1;display:flex;align-items:center;gap:12px;height:62px;padding:0 20px;
  background:var(--hero-panel);border:1px solid var(--hero-edge);border-radius:14px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.finder input{
  flex:1;min-width:0;background:none;border:none;outline:none;color:var(--hero-ink);
  font-family:"JetBrains Mono",monospace;font-size:17px;letter-spacing:.01em;
}
.finder input::placeholder{color:var(--hero-dim);opacity:.75}
.finder button{
  border:none;background:var(--sun);color:#121A1C;font-family:Manrope,sans-serif;
  font-size:16.5px;font-weight:700;padding:0 32px;height:62px;border-radius:14px;cursor:pointer;
  transition:transform .12s ease,background .15s ease;
}
.finder button:hover{background:#FFBB5C}
.finder button:active{transform:translateY(1px)}
@media(max-width:640px){
  .finder{flex-direction:column}
  .finder .field,.finder button{height:56px;width:100%}
}
.sub{margin:0;max-width:56ch;font-size:17px;color:var(--hero-dim);text-shadow:0 1px 14px rgba(8,12,14,.5)}
@media(max-width:640px){.sub{font-size:15px}}
.free{font-size:14.5px;color:var(--hero-dim)}
.notice{
  font-size:14.5px;color:var(--hero-ink);background:var(--hero-panel);
  border:1px solid var(--hero-edge);border-radius:12px;padding:10px 16px;max-width:640px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.notice[hidden]{display:none}
.notice b{font-weight:700}
.notice[data-kind="ok"]{border-color:rgba(126,201,142,.55)}
.notice[data-kind="error"]{border-color:rgba(228,124,104,.6)}
.finder button:disabled{opacity:.65;cursor:progress}

/* ---------- док времени ---------- */
.dock{
  margin:0 auto 26px;width:min(880px,calc(100% - 40px));
  background:var(--hero-panel);border:1px solid var(--hero-edge);border-radius:18px;
  padding:14px 22px 16px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:flex;flex-direction:column;gap:7px;
}
.dock-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.readout{display:flex;align-items:baseline;gap:14px;color:var(--hero-ink)}
.readout .time{font-family:"JetBrains Mono",monospace;font-size:26px;font-weight:500;letter-spacing:.01em}
.readout .meta{font-size:13.5px;color:var(--hero-dim)}
.seasons{display:flex;gap:6px}
.seasons button{
  border:1px solid var(--hero-edge);background:transparent;color:var(--hero-dim);
  font-family:Manrope,sans-serif;font-size:13px;font-weight:600;letter-spacing:.02em;
  padding:8px 15px;border-radius:9px;cursor:pointer;transition:all .14s ease;
}
.seasons button:hover{color:var(--hero-ink)}
.seasons button[aria-pressed="true"]{background:var(--sun);border-color:var(--sun);color:#121A1C}

.slider-row{position:relative;padding-top:2px}
input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:34px;background:none;cursor:grab;display:block;
}
input[type=range]:active{cursor:grabbing}
input[type=range]::-webkit-slider-runnable-track{
  height:6px;border-radius:99px;
  background:linear-gradient(90deg,#243038 0%,#3C4E5A 18%,var(--sun) 50%,#3C4E5A 82%,#243038 100%);
}
input[type=range]::-moz-range-track{
  height:6px;border-radius:99px;
  background:linear-gradient(90deg,#243038 0%,#3C4E5A 18%,var(--sun) 50%,#3C4E5A 82%,#243038 100%);
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;
  background:radial-gradient(circle at 38% 34%,#FFF3D6 0%,#FFD07F 46%,#E8952C 100%);
  border:2px solid rgba(255,255,255,.75);margin-top:-10px;
  box-shadow:0 0 0 6px rgba(240,171,67,.22),0 3px 12px rgba(0,0,0,.45);
}
input[type=range]::-moz-range-thumb{
  width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.75);
  background:radial-gradient(circle at 38% 34%,#FFF3D6 0%,#FFD07F 46%,#E8952C 100%);
  box-shadow:0 0 0 6px rgba(240,171,67,.22),0 3px 12px rgba(0,0,0,.45);
}
input[type=range]:focus-visible{outline:2px solid var(--sun);outline-offset:6px;border-radius:99px}
.ticks{display:flex;justify-content:space-between;font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--hero-dim);margin-top:-2px}
.place{text-align:center;font-size:12.5px;color:var(--hero-dim);margin:0}
.env{text-align:center;font-size:12.5px;color:var(--sun);margin:0}
.env[hidden]{display:none}
.hint{text-align:center;font-size:13px;color:var(--hero-dim);margin:0}
.house{margin-top:2px}
.house summary{list-style:none;cursor:pointer;text-align:center;font-size:12.5px;color:var(--hero-dim);
  padding:5px 0;border-top:1px solid var(--hero-edge)}
.house summary::-webkit-details-marker{display:none}
.house summary:hover{color:var(--hero-ink)}
.nb-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 2px 2px}
.ghost-s{border:1px solid var(--hero-edge);background:transparent;color:var(--hero-dim);
  font-family:Manrope,sans-serif;font-size:12.5px;font-weight:600;padding:7px 13px;
  border-radius:9px;cursor:pointer}
.ghost-s:hover:not(:disabled){color:var(--hero-ink)}
.ghost-s:disabled{opacity:.45;cursor:default}
.ghost-s[aria-pressed="true"]{background:var(--sun);border-color:var(--sun);color:#121A1C}
.nb-note{font-size:12.5px;color:var(--hero-dim)}
.nb-note b{color:var(--hero-ink)}
.house-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 18px;padding:6px 2px 2px}
.rng{display:flex;flex-direction:column;gap:1px}
.rng span{font-size:12px;color:var(--hero-dim);display:flex;justify-content:space-between;gap:8px}
.rng b{font-family:"JetBrains Mono",monospace;font-weight:500;color:var(--hero-ink);font-variant-numeric:tabular-nums}
.rng input[type=range]{height:22px}
.rng input[type=range]::-webkit-slider-runnable-track{height:4px;background:rgba(200,214,218,.35)}
.rng input[type=range]::-moz-range-track{height:4px;background:rgba(200,214,218,.35)}
.rng input[type=range]::-webkit-slider-thumb{width:16px;height:16px;margin-top:-6px;box-shadow:none;border-width:1px}
.rng input[type=range]::-moz-range-thumb{width:16px;height:16px;box-shadow:none;border-width:1px}
.hint b{color:var(--hero-ink);font-weight:600}


/* --- узкий экран: убираем всё, что не помещается --- */
@media(max-width:640px){
  .hero{height:auto;min-height:0;max-height:none}
  #scene{position:relative;height:56svh;min-height:320px}
  .hero-ui{position:static;background:var(--bg)}
  .topbar{position:absolute;top:0;left:0;right:0;padding:12px 16px}
  .pitch{padding:18px 16px 0;text-align:left;align-items:flex-start}
  .pitch h1{font-size:26px;text-shadow:none;max-width:100%}
  .sub{font-size:14.5px;text-shadow:none;color:var(--ink-2)}
  .free{font-size:13px;color:var(--ink-3)}
  .scrim{height:56svh;background:linear-gradient(180deg,rgba(7,11,13,.55) 0%,rgba(7,11,13,.10) 34%,rgba(7,11,13,0) 62%,rgba(7,11,13,.35) 100%)}
  .dock{margin:14px 16px 22px;width:auto;background:var(--surface);border-color:var(--line);
        backdrop-filter:none;-webkit-backdrop-filter:none}
  .readout .time{font-size:22px}
  .dock .hint{display:none}
  .dock .env{font-size:12px}
  .dock .place{font-size:12px;color:var(--ink-3)}
  .seasons button{padding:7px 12px;font-size:12.5px}
  .nb-row{gap:6px}
  .ghost-s{font-size:12px;padding:6px 11px}
}
@media(max-width:640px){
  .hero-plot #scene{height:48svh;min-height:280px}
  .hero-plot .scrim{height:48svh}
}

/* на странице участка адрес стоит в подзаголовке, в доке он лишний */
.hero-plot .place{display:none}

/* --- полоса загрузки участка --- */
.ks-progress{position:fixed;top:0;left:0;right:0;z-index:60;pointer-events:none;
  opacity:0;transition:opacity .25s ease}
.ks-progress[data-on]{opacity:1}
.ks-progress-fill{height:3px;width:0;background:linear-gradient(90deg,#D68C22,#F0AB43,#FFD489);
  box-shadow:0 0 12px rgba(240,171,67,.55);transition:width .32s cubic-bezier(.22,.61,.36,1)}
.ks-progress-label{display:flex;justify-content:center;margin-top:92px}
.ks-progress-label span{
  background:rgba(14,20,22,.86);border:1px solid rgba(232,240,242,.22);border-radius:999px;
  padding:7px 16px;font-size:13px;color:#E6EDEE;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 8px 26px -14px rgba(0,0,0,.9)}
.ks-progress[data-fail] .ks-progress-fill{background:#E47C68;box-shadow:none}
.ks-progress[data-fail] .ks-progress-label span{border-color:rgba(228,124,104,.6)}
@media(max-width:640px){.ks-progress-label{margin-top:62px}.ks-progress-label span{font-size:12px;padding:6px 13px}}
