/* Главная v4 (apps/site/index.html): блоки v4 лежат в .v4 рядом с блоками прежней главной, у которых свой стиль в index.html;
   правила v4 ограничены .v4, страница целиком тёмная. */
.v4{color-scheme:dark;--bg:#060a13;--card:rgba(255,255,255,.055);--line:rgba(155,188,226,.18);--muted:#b0bfd3;--blue:#8cb0ff;--warm:#ffc857}.v4 *{box-sizing:border-box}body{background:radial-gradient(ellipse at 70% 12%,#122a4b66,transparent 45%),#060a13}.v4{color:#f1f5ff;font:16px/1.6 system-ui,-apple-system,sans-serif}.v4 .hero:before{content:none}.v4 .kicker{margin:1em 0;font-weight:400;line-height:1.6}.v4 h1.kicker{font-size:11px}.v4 h2{font-weight:700}.v4 h3{margin:1em 0 .5em;line-height:1.3}.v4 .lead{margin:1em 0;line-height:1.6}.v4 .button{font-weight:500;font-size:16px;text-decoration:none}body:before{content:"";position:fixed;inset:0;z-index:-1;background-image:linear-gradient(#83a9da06 1px,transparent 1px),linear-gradient(90deg,#83a9da06 1px,transparent 1px);background-size:48px 48px}.v4 a{color:var(--blue);text-underline-offset:4px}.v4 button{font:inherit;color:inherit}.v4 .kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue)}.v4 .wrap{max-width:1200px;margin:auto;padding:70px 40px}.v4 .hero{min-height:650px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px;padding-top:32px}.v4 .hero .title{font-size:clamp(48px,5.4vw,78px);letter-spacing:-.065em;line-height:1.05;font-weight:580;margin:28px 0}.v4 .hero em{font-style:normal;color:var(--warm)}.v4 .lead{font-size:18px;max-width:470px;color:var(--muted)}.v4 .actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.v4 .button{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:52px;padding:12px 20px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:#f1f5ff;background:#ffffff07;font-size:14px}.v4 .primary{background:#2f6fed;border-color:#5b8eff;color:#fff;box-shadow:0 10px 35px #2f6fed33}.v4 .fine{font-size:12px;color:var(--muted)}.v4 .home-stage{position:relative;min-width:0;height:455px;overflow:hidden;border:1px solid #739fd740;border-radius:30px;background:linear-gradient(145deg,#15283eaa,#090f1ccc);box-shadow:0 25px 100px #2f6fed18,inset 0 1px #ffffff12}.v4 .stage-top,.v4 .stage-bottom{position:absolute;display:flex;gap:10px;align-items:center;left:22px;right:22px;font-size:10px;letter-spacing:.06em;color:var(--muted)}.v4 .stage-top{top:22px}.v4 .stage-top span:last-child{margin-left:auto}.v4 .stage-bottom{bottom:12px;border-top:1px solid var(--line);padding-top:8px;font-size:12px}.v4 .stage-bottom p{margin:4px 0}.v4 .dot,.v4 .status-dot{height:6px;width:6px;background:#73d4b3;border-radius:50%}.v4 .signal{margin-left:auto;color:var(--warm);font-size:30px}.v4 .plan{position:absolute;inset:45px 0 25px}.v4 .plan svg{width:100%;height:100%}.v4 #hummingbird{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.v4 .static-spark{display:none;position:absolute;left:48%;top:37%;color:var(--warm);font-size:40px}.v4 #bird-action{position:absolute;right:20px;bottom:67px;border:1px solid #ffc85755;background:#0c1528dd;border-radius:20px;padding:10px 16px;min-height:48px;color:var(--warm);cursor:pointer}.v4 .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.v4 .scenario{border:1px solid var(--line);background:var(--card);border-radius:22px;padding:28px;text-align:left}.v4 .scenario{cursor:pointer;min-width:0}.v4 .scenario span{font-size:10px;letter-spacing:.15em;color:var(--blue)}.v4 .scenario p{color:var(--muted);font-size:14px}.v4 .scenario b{color:var(--warm);font-size:12px}.v4 .selected{border-color:#87a9e877;box-shadow:inset 0 1px #ffffff16,0 10px 40px #2f6fed15}.v4 h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.045em;line-height:1.2;margin:12px 0 30px}.v4 h3{font-size:23px;letter-spacing:-.025em}.v4 .process ol{padding:0;display:flex;list-style:none;counter-reset:steps;gap:12px}.v4 .process li{flex:1;counter-increment:steps;border-top:1px solid var(--line);padding-top:18px}.v4 .process li:before{content:"0" counter(steps);display:block;color:var(--blue);font-size:12px;margin-bottom:10px}.v4 .offline p{color:var(--muted)}.v4 .offline{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.v4 [hidden]{display:none!important}.v4 a:focus-visible,.v4 button:focus-visible{outline:3px solid var(--warm);outline-offset:5px}body[data-scene=night] .v4 .plan{filter:brightness(.5)}body[data-scene=away] .v4 .plan{filter:saturate(.3) brightness(.75)}@media(max-width:760px){.v4 .wrap{padding:45px 20px}.v4 .hero{grid-template-columns:1fr;gap:25px;padding-top:15px}.v4 .hero .title{font-size:55px;margin:20px 0}.v4 .lead{font-size:16px}.v4 .home-stage{height:355px}.v4 .cards{grid-template-columns:1fr}.v4 .process ol{flex-wrap:wrap}.v4 .process li{flex:1 0 28%}.v4 .hero .actions .button{flex:1;min-width:140px;font-size:12px;padding:12px}.v4 .stage-top{font-size:8px}.v4 .scenario{padding:22px}}@media(prefers-reduced-motion:reduce){.v4 *,.v4 *:before,.v4 *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.v4 #hummingbird{display:none}.v4 .static-spark{display:block}}
.v4 .button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:760px){.v4 .hero{min-height:0;gap:20px}.v4 .hero .title{font-size:49px}.v4 .hero-copy .lead{font-size:15px}.v4 .hero .actions{margin:20px 0}.v4 .hero .fine{margin-bottom:0}.v4 .home-stage{height:330px}}

body[data-scene=leak] .v4 .home-stage{border-color:#ff786e}

.v4 #bird-sound{position:absolute;z-index:2;right:20px;top:50px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#0c1528;color:#b0bfd3;cursor:pointer;font-size:12px}
/* 3D plan: the shared live-plan floor (plan-render.js) with walls raised in CSS 3D; plan-view.js fits walls and floor
   into the centre of the card at any width and on resize. */
.v4 .plan{inset:104px 10px 114px;touch-action:none;cursor:grab;--lp-plate:#13253b;--lp-wall:#8ba8c5;--lp-furn:#6784a3;--lp-furn-f:#29415a;--lp-label:#dce9fa;--lp-leaf:#ffc857;--lp-room-a:.25;--lp-outside:#182c42;--lp-muted:#b0bfd3}
.v4 .plan:active{cursor:grabbing}.v4 .plan:focus-visible{outline:2px solid var(--warm);outline-offset:2px;border-radius:12px}
.v4 .plan-scene{position:absolute;left:50%;top:50%;width:1000px;height:640px;transform-origin:50% 50%;transform-style:preserve-3d;pointer-events:none}
.v4 .plan-scene svg{position:absolute;inset:0;width:100%;height:100%}
.v4 .plan-wall,.v4 .plan-cap,.v4 .plan-leak{position:absolute;left:0;top:0;transform-origin:0 0}
.v4 .plan-wall{background:linear-gradient(to bottom,#8ba8c588,#8ba8c522)}
.v4 .plan-wall.window{background:linear-gradient(to bottom,#8ba8c588 0,#8ba8c566 30%,#7fa6ee30 30%,#7fa6ee18)}
.v4 .plan-wall.rail{background:#8ba8c540}
.v4 .plan-cap{background:#a9c2dc}.v4 .plan-cap.rail{background:#8ba8c5aa}
.v4 .plan-leak{display:none;width:44px;height:44px;margin:-22px 0 0 -22px;border:3px solid #ff786e;border-radius:50%;box-shadow:0 0 25px #ff5a4e99}
body[data-scene=leak] .v4 .plan-leak{display:block}
.v4 .stage-top,.v4 .stage-bottom{z-index:2}
.v4 #plan-help{position:absolute;z-index:2;top:58px;left:22px;right:150px;margin:0;text-align:left;font-size:11px;line-height:1.4;color:var(--muted);pointer-events:none}
.v4 #bird-action{z-index:3;right:20px;bottom:64px;min-height:42px;padding:6px 12px}
.v4 .home-stage{height:470px}
@media(max-width:760px){.v4 .home-stage{height:424px}.v4 .plan{inset:100px 6px 112px}.v4 #plan-help{right:132px;font-size:10px}}
.v4 .apt3d-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:36px;align-items:center}.v4 .apt3d-poster{display:block;border:1px solid #739fd740;border-radius:26px;overflow:hidden;background:#0b111d;box-shadow:0 25px 80px #2f6fed18}.v4 .apt3d-poster img{display:block;width:100%;height:auto;aspect-ratio:960/524}.v4 .apt3d-copy p{color:var(--muted)}.v4 .apt3d-copy .actions{margin:22px 0 12px}@media(max-width:760px){.v4 .apt3d-grid{grid-template-columns:1fr;gap:20px}.v4 .apt3d-copy .button{width:100%}}
.v4 .plan-3d-link{position:absolute;z-index:3;left:20px;bottom:64px;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:6px 12px;border:1px solid var(--line);border-radius:20px;background:#0c1528dd;color:#f1f5ff;font-size:14px;text-decoration:none}
.v4 .home-stage{container:stage/inline-size}@container stage (max-width:420px){.v4 .plan-3d-link{left:10px;gap:4px;padding:6px 9px;font-size:12px}}@container stage (max-width:345px){.v4 .plan-3d-long{display:none}}

/* Plan gets its own viewport; controls never cover the drawing. The expanded plan lives in #plan-dialog inside .v4. */
.v4 .home-stage{height:560px;display:grid;grid-template-rows:auto minmax(220px,1fr) auto auto auto;gap:12px;padding:20px;isolation:isolate}
.v4 .stage-top,.v4 .stage-bottom{position:relative;inset:auto;z-index:2}.v4 .stage-top{grid-row:1}.v4 .stage-bottom{grid-row:5;padding-top:8px;min-height:38px}.v4 .stage-top span:last-child{white-space:nowrap}
.v4 .home-stage .plan{position:relative;inset:auto;grid-row:2;min-height:0;width:100%;height:100%;touch-action:pan-y;z-index:1}
.v4 .home-stage #plan-help{position:static;grid-row:3;font-size:11px;margin:0;text-align:center;z-index:2}
.v4 .plan-tools{grid-row:4;display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;z-index:3}
.v4 .plan-tools button,.v4 .plan-tools #bird-action,.v4 .plan-tools #bird-sound{position:static;min-height:44px;margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#0c1528;color:var(--muted);font-size:12px;cursor:pointer}
.v4 .plan-tools #plan-expand{color:#f1f5ff;border-color:#5b8eff;background:#23498b}.v4 .plan-tools #bird-action{color:var(--warm);border-color:#ffc85755;inline-size:176px;max-inline-size:100%}.v4 .plan-tools button:active{background:#29415a}
.v4 .home-stage #hummingbird{z-index:2}
.v4 #plan-dialog{padding:0;border:1px solid var(--line);border-radius:20px;background:var(--bg);color:inherit;width:calc(100vw - 40px);height:calc(100dvh - 40px);max-width:1600px;max-height:none;overflow:hidden}
.v4 #plan-dialog::backdrop{background:#02050de8;backdrop-filter:blur(8px)}
.v4 #plan-dialog .home-stage{height:100%;width:100%;border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto auto auto}
.v4 #plan-dialog .plan{touch-action:none}body[data-plan-expanded]{overflow:hidden}
@media(max-width:760px){.v4 .home-stage{height:auto;min-height:500px;padding:14px;gap:10px;grid-template-rows:auto minmax(240px,1fr) auto auto auto}.v4 .plan-tools{gap:6px}.v4 .plan-tools button,.v4 .plan-tools #bird-action,.v4 .plan-tools #bird-sound{padding:8px 10px;font-size:12px}.v4 .stage-top{font-size:8px}.v4 .stage-bottom{font-size:11px}.v4 #plan-dialog{margin:0;width:100vw;height:100dvh;max-width:none;border:0;border-radius:0}.v4 #plan-dialog .home-stage{min-height:0;padding-top:max(14px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom))}}
.v4 .plan-tools .plan-3d-link{position:static;inline-size:auto;min-height:44px;margin:0;padding:8px 12px;font-size:12px}
