:root{--panel:#12121485;--panel-border:#ffffff1f;--text:#f5f3ef;--muted:#f5f3efa8;--accent:#ffb35c;--radius:14px;--gap:12px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);color:var(--text);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:#111;height:100%;margin:0;overflow:hidden}#app{position:fixed;inset:0}button{font:inherit;color:inherit}.stage{touch-action:none;cursor:grab;display:block;position:absolute;inset:0}.stage:active{cursor:grabbing}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px)saturate(1.2)}.hud{pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.hud>*{pointer-events:auto}.hud.hidden-ui>*{opacity:0;pointer-events:none}.hud-top,.hud-bottom{justify-content:space-between;align-items:flex-start;gap:var(--gap);padding:calc(var(--gap) + var(--safe-t)) 16px var(--gap);pointer-events:none;display:flex;position:absolute;left:0;right:0}.hud-top>*,.hud-bottom>*{pointer-events:auto}.hud-top{top:0}.hud-bottom{padding:var(--gap) 16px calc(var(--gap) + var(--safe-b));flex-wrap:wrap;align-items:flex-end;bottom:0}.hud-left{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.hud-title{max-width:min(60vw,360px);padding:10px 14px}.controls{max-width:100%;overflow:hidden}.controls-head{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.controls-head:hover{background:#ffffff0f}.controls-icon{opacity:.85;font-size:15px}.controls-caret{opacity:.7;border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;transition:transform .2s;transform:rotate(45deg)translate(-2px,-2px)}.controls-timer{flex:none;place-items:center;width:20px;height:20px;margin-left:auto;display:grid;position:relative}.controls-timer svg{opacity:0;width:100%;height:100%;transition:opacity .35s;position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.controls-timer circle{fill:none;stroke-width:1.4px}.controls-timer .track{stroke:#ffffff1f}.controls-timer .bar{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:50.27;stroke-dashoffset:0;opacity:.85}.controls.counting .controls-timer svg{opacity:1}.controls.counting .controls-timer .bar{animation:controls-countdown var(--countdown,3s) linear forwards}.controls.counting:hover .controls-timer .bar,.controls.counting:focus-within .controls-timer .bar{animation-play-state:paused}@keyframes controls-countdown{to{stroke-dashoffset:50.27px}}.controls.closing .controls-body{opacity:0;transition:opacity .25s,transform .25s;transform:translateY(-6px)}.controls.closing .controls-timer svg{opacity:0}@media (prefers-reduced-motion:reduce){.controls.closing .controls-body{transform:none}}.controls.collapsed{width:auto}.controls.collapsed .controls-caret{transform:rotate(-45deg)}.controls.collapsed .controls-body{display:none}.controls-body{grid-template-columns:auto auto;align-items:center;gap:7px 14px;max-height:calc(100vh - 230px);padding:2px 14px 14px;display:grid;overflow-y:auto}.ctl-row{display:contents}.ctl-keys{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.ctl-label{color:var(--muted);font-size:13px}.ctl-or{color:var(--muted);margin:0 2px;font-size:11px}.cluster{grid-template-columns:repeat(3,auto);gap:3px;display:grid}.cap{min-width:26px;height:26px;color:var(--text);background:#ffffff1a;border:1px solid #ffffff38;border-bottom-width:3px;border-radius:6px;place-items:center;padding:0 6px;font:600 12px/1 system-ui,sans-serif;transition:background 80ms,color 80ms,transform 80ms;display:inline-grid}.cap.wide{padding:0 9px;font-weight:500}.cap.down{background:var(--accent);color:#1a1208;border-color:var(--accent);transform:translateY(1px)}.cap.joy{background:radial-gradient(circle,#ffffffe6 0 5px,#ffffff1f 6px);border-radius:50%;width:26px;min-width:26px;padding:0}.hud-name{color:var(--muted);letter-spacing:.02em;font-size:12px}.hud-room{margin-top:2px;font-size:18px;font-weight:600}.minimap{cursor:pointer;width:200px;display:block}.hud-rooms,.seg{gap:4px;padding:4px;display:flex}.hud-rooms{scrollbar-width:none;max-width:100%;overflow-x:auto}.hud-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{white-space:nowrap;cursor:pointer;color:var(--text);background:0 0;border:0;border-radius:10px;padding:9px 14px;font-size:14px;transition:background .15s}.chip:hover{background:#ffffff1a}.chip.active{color:#161616;background:#ffffffeb}.chip.icon{text-align:center;width:38px;padding:9px 0}.hud-ico{flex:none;width:18px;height:18px;display:block}.chip.time{align-items:center;gap:7px;display:inline-flex}.chip.time .hud-ico{opacity:.8}.chip.time.active .hud-ico{opacity:1}.chip.icon{place-items:center;width:40px;height:38px;padding:0;display:inline-grid}.chip.icon .hud-ico{width:20px;height:20px}.hud-features{display:flex}.feature-btn{letter-spacing:.01em;cursor:pointer;height:48px;color:var(--text);background:linear-gradient(135deg, #ffffff29, #ffffff0d), var(--panel);align-items:center;gap:10px;padding:6px 16px 6px 6px;font-size:14px;font-weight:650;transition:transform .15s,background .2s,box-shadow .2s;display:inline-flex}.feature-btn .hud-ico{width:36px;height:36px;color:var(--accent);background:#ffb35c2e;border-radius:10px;padding:8px;transition:background .2s,color .2s}.feature-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px #00000040}.feature-btn.active{color:#161616;background:#fffffff0}.feature-btn.active .hud-ico{background:var(--accent);color:#1a1208}.cta{cursor:pointer;color:#1a1208;border-radius:var(--radius);white-space:nowrap;letter-spacing:.01em;background:linear-gradient(135deg,#ffc47e,#ff9f45);border:0;align-items:center;gap:9px;height:48px;padding:0 20px 0 16px;font-size:14px;font-weight:650;text-decoration:none;transition:transform .15s,box-shadow .2s;display:inline-flex;box-shadow:0 6px 22px #ff963c59,inset 0 1px #ffffff73}.cta:hover{transform:translateY(-1px);box-shadow:0 10px 28px #ff963c73,inset 0 1px #ffffff73}.cta:focus-visible,.feature-btn:focus-visible,.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cta-short{display:none}@media (prefers-reduced-motion:reduce){.cta:hover,.feature-btn:hover{transform:none}}.dim-switch .chip{justify-content:center;align-items:center;gap:7px;font-weight:600;display:inline-flex}.dim-switch .hud-ico{width:17px;height:17px}.hint{background:var(--panel);pointer-events:none;text-align:center;border-radius:999px;max-width:calc(100% - 32px);padding:10px 18px;font-size:14px;transition:opacity .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hint.gone{opacity:0}.fade{opacity:0;pointer-events:none;background:#000;transition:opacity .22s;position:absolute;inset:0}.fade.on{opacity:1}.joystick{left:24px;bottom:calc(120px + var(--safe-b));border:1px solid var(--panel-border);touch-action:none;background:#12121459;border-radius:50%;place-items:center;width:110px;height:110px;display:grid;position:absolute}.joystick-knob{background:#ffffffd9;border-radius:50%;width:46px;height:46px}.start{z-index:5;background:radial-gradient(at 30% 20%,#4a3b2c,#121212 70%) 50%/cover no-repeat;place-items:center;padding:16px;transition:opacity .6s;display:grid;position:absolute;inset:0}.start.gone{opacity:0;pointer-events:none}.start-card{text-align:center;border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(16px);background:#1212148c;border-radius:20px;width:100%;max-width:420px;padding:32px 28px}.start-kicker{letter-spacing:.12em;color:var(--accent);border:1px solid;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.start h1{margin:14px 0 4px;font-size:clamp(22px,5vw,30px)}.start-address{color:var(--muted);margin:0 0 22px}.start-btn{background:var(--accent);color:#1a1208;cursor:pointer;border:0;border-radius:999px;padding:14px 26px;font-size:16px;font-weight:700}.start-btn:disabled{opacity:.6;cursor:progress}.start-status{min-height:1.4em;color:var(--muted);margin:14px 0 0;font-size:14px}.error{color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.align{z-index:4;gap:6px;width:220px;padding:12px;font-size:12px;display:grid;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.align label{justify-content:space-between;align-items:center;gap:8px;display:flex}.align input{width:90px;color:var(--text);border:1px solid var(--panel-border);background:#0006;border-radius:6px;padding:4px 6px}.align pre{white-space:pre-wrap;color:var(--muted);margin:0;font-size:10px}@media (max-width:640px){.minimap{width:120px}.hud-room{font-size:15px}.hud-bottom{gap:8px}.hud-rooms{width:100%}.chip{padding:8px 11px;font-size:13px}.chip.time{justify-content:center;gap:6px;padding:8px 6px}.chip.time .hud-ico{width:16px;height:16px}.hud-tools>.seg:first-child{flex:100%}.hud-actions .chip.icon:not(.tool){display:none}.hud-tools>.seg:first-child .chip{flex:1}.chip.icon{width:36px;height:36px}.feature-btn{gap:7px;height:42px;padding:4px 12px 4px 4px;font-size:13px}.feature-btn .hud-ico{width:32px;height:32px;padding:7px}.cta{gap:7px;height:42px;margin-left:auto;padding:0 14px 0 12px;font-size:13px}.cta-long{display:none}.cta-short{display:inline}.joystick{bottom:calc(205px + var(--safe-b))}}.layers-body{overscroll-behavior:contain;scrollbar-width:thin;gap:8px;min-width:220px;max-height:calc(100vh - 330px);padding:2px 14px 14px;display:grid;overflow-y:auto}.controls.collapsed .layers-body{display:none}.layers-label{color:var(--muted);font-size:12px}.layers-seg{background:#ffffff0f;border-radius:12px;padding:3px}.layers-seg .chip{flex:1;padding:7px 10px}.switch-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14px;display:flex}.switch-row input{opacity:0;pointer-events:none;position:absolute}.switch{background:#ffffff2e;border-radius:999px;flex:none;width:34px;height:20px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px}.switch-row input:checked+.switch{background:var(--accent)}.switch-row input:checked+.switch:after{transform:translate(14px)}.switch-row input:focus-visible+.switch{outline:2px solid var(--accent);outline-offset:2px}.layers.toggles-off .switch-row{opacity:.45;cursor:default}.layers-note{color:var(--muted);font-size:12px}.layers-note:empty{display:none}.party-flash{pointer-events:none;opacity:0;mix-blend-mode:overlay;z-index:1;transition:background 80ms;position:absolute;inset:0}.interact-prompt{left:50%;bottom:calc(150px + var(--safe-b));opacity:0;pointer-events:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:calc(100% - 32px);transition:opacity .2s,transform .25s cubic-bezier(.2,.9,.3,1.3);display:flex;position:absolute;transform:translate(-50%,12px)scale(.96)}.interact-prompt.show{opacity:1;transform:translate(-50%)scale(1)}.interact-prompt.show .interact-action{pointer-events:auto}.interact-action{color:var(--text);cursor:pointer;pointer-events:none;-webkit-backdrop-filter:blur(12px);background:#121214b8;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:10px;padding:10px 18px 10px 10px;font:600 15px/1 system-ui,sans-serif;display:flex}.interact-action .cap{background:var(--accent);color:#1a1208;border-color:#c47f2c;min-width:30px;height:30px;font-size:14px}.interact-action+.interact-action .cap{background:#ffffffd9;border-color:#9a9a9a}.interact-prompt.show .interact-action:first-child .cap{animation:1.6s ease-in-out infinite cap-pulse}.interact-action.pop{animation:.25s ease-out prompt-pop}.interact-prompt.touch{bottom:calc(335px + var(--safe-b))}.interact-prompt.touch .interact-action{padding:14px 22px 14px 14px;font-size:16px}.interact-icon{background:var(--accent);color:#1a1208;border-radius:50%;place-items:center;width:34px;height:34px;font-size:18px;display:grid}@keyframes cap-pulse{0%,to{box-shadow:0 0 #ffb35c8c}50%{box-shadow:0 0 0 7px #ffb35c00}}@keyframes prompt-pop{0%{transform:scale(1)}40%{transform:scale(.93)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.interact-prompt,.interact-action,.interact-prompt.show .interact-action .cap{transition:opacity .2s;animation:none!important}}.fun-badge{left:50%;top:calc(14px + var(--safe-t));opacity:0;pointer-events:none;white-space:nowrap;background:#12121499;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;transition:opacity .3s;position:absolute;transform:translate(-50%)}.fun-badge.show{opacity:1}.info-layer{pointer-events:none;position:absolute;inset:0}.info-dot{cursor:pointer;pointer-events:auto;background:#ffb35c40;border:0;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;display:grid;position:absolute}.info-dot span{background:var(--accent);border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 3px #ffffffe6}.info-dot:after{content:"";border:2px solid var(--accent);border-radius:50%;animation:2.2s ease-out infinite info-ping;position:absolute;inset:0}@keyframes info-ping{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){.info-dot:after{animation:none}}.info-card{left:50%;bottom:calc(150px + var(--safe-b));opacity:0;pointer-events:none;width:min(380px,100% - 32px);padding:16px 18px;transition:opacity .2s,transform .2s;position:absolute;transform:translate(-50%,10px)}.info-card.show{opacity:1;pointer-events:auto;transform:translate(-50%)}.info-card h3{margin:0 28px 6px 0;font-size:16px}.info-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.info-close{color:var(--text);cursor:pointer;background:0 0;border:0;font-size:22px;position:absolute;top:8px;right:10px}body.measuring .stage{cursor:crosshair}.measure-label{background:var(--accent);color:#1a1208;pointer-events:none;border-radius:8px;padding:6px 10px;font-size:14px;font-weight:700;display:none;position:absolute;transform:translate(-50%,-150%)}.measure-hint{left:50%;top:calc(64px + var(--safe-t));opacity:0;pointer-events:none;padding:8px 14px;font-size:13px;transition:opacity .2s;position:absolute;transform:translate(-50%)}.measure-hint.show{opacity:1}.chip.tool.active{background:var(--accent);color:#1a1208}.tour-caption{left:50%;bottom:calc(150px + var(--safe-b));opacity:0;pointer-events:none;width:min(460px,100% - 32px);padding:14px 18px;transition:opacity .3s,transform .3s;position:absolute;transform:translate(-50%,10px)}.tour-caption.show{opacity:1;pointer-events:auto;transform:translate(-50%)}.tour-step{color:var(--accent);letter-spacing:.05em;font-size:12px;font-weight:700}.tour-caption h3{margin:4px 0 6px;font-size:18px}body.touring .interact-prompt,body.info-open .interact-prompt{opacity:0!important;pointer-events:none!important}@media (pointer:coarse){.info-card,.tour-caption{bottom:calc(335px + var(--safe-b))}:is(body:has(.hud .controls:not(.collapsed)) .joystick,body:has(.hud .controls:not(.collapsed)) .interact-prompt,body:has(.hud .controls:not(.collapsed)) .hint){visibility:hidden;opacity:0!important;pointer-events:none!important}}.tour-caption p{color:var(--muted);margin:0 0 10px;font-size:14px;line-height:1.5}.swatch-row{justify-content:space-between;align-items:center;gap:10px;font-size:14px;display:flex}.swatches{gap:6px;display:flex}.swatch{cursor:pointer;border:2px solid #ffffff40;border-radius:50%;width:22px;height:22px;padding:0}.swatch.active{box-shadow:0 0 0 2px var(--accent);border-color:#fff}.swatch.choice{width:auto;height:24px;color:inherit;white-space:nowrap;background:#ffffff14;border-radius:999px;padding:0 10px;font-size:12px}.swatch:disabled{opacity:.4;cursor:default}.chip.planner-btn{font-weight:600}body.planning .minimap,body.plan-top .minimap{display:none}.planner{--line:#ffffff17;--soft:#ffffff0d;right:16px;top:calc(var(--gap) + var(--safe-t));width:340px;max-height:calc(100% - 96px - var(--safe-t) - var(--safe-b));overscroll-behavior:contain;z-index:3;scrollbar-width:thin;background:#1414179e;border-radius:18px;flex-direction:column;gap:12px;padding:14px;display:none;position:absolute;overflow-y:auto;box-shadow:0 18px 50px #00000059}body.planning .planner{display:flex}.planner button{font:inherit;color:inherit;cursor:pointer}.planner-ico{flex:none;width:18px;height:18px}.planner-grab{display:none}.planner-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.planner-title{flex-direction:column;gap:1px;min-width:0;display:flex}.planner-kicker{letter-spacing:.01em;font-size:15px;font-weight:650}.planner-count{color:var(--muted);font-size:12px}.planner-count:empty{display:none}.planner-done{border:1px solid var(--line);background:var(--soft);border-radius:999px;align-items:center;gap:6px;padding:6px 12px 6px 9px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.planner-done:hover{background:#ffffff1f}.planner-switch{border:1px solid var(--line);background:#00000047;border-radius:13px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.planner-seg{color:var(--muted);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:9px 10px;font-size:14px;font-weight:550;transition:background .2s,color .2s;display:inline-flex}.planner-seg:hover{color:var(--text)}.planner-seg.active{color:#161616;background:#fffffff0;box-shadow:0 2px 8px #00000040}.planner-level{border:1px solid var(--line);background:var(--soft);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;margin-top:-4px;padding:5px 11px 5px 8px;font-size:12.5px;display:inline-flex}.planner-level[hidden]{display:none}.planner-coach{background:linear-gradient(135deg,#ffb35c29,#ffb35c0a);border:1px solid #ffb35c59;border-radius:14px;grid-template-columns:92px 1fr;align-items:center;gap:6px 12px;padding:12px;animation:.35s ease-out planner-in;display:grid}.planner-coach[hidden]{display:none}.planner-coach-plan{background:#00000059;border-radius:9px;width:92px;height:76px}.planner-coach-text strong{margin-bottom:3px;font-size:14px;display:block}.planner-coach-text p{color:var(--muted);margin:0;font-size:12.5px;line-height:1.45}.planner-coach-actions{grid-column:1/-1;gap:8px;margin-top:4px;display:flex}@keyframes planner-in{0%{opacity:0;transform:translateY(-4px)}}.planner-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.planner-primary{background:var(--accent);border:0;border-radius:12px;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;padding:12px 14px;font-size:15px;font-weight:650;transition:transform .12s,filter .15s;display:inline-flex;box-shadow:0 6px 18px #ff9f2e47;color:#1a1208!important}.planner-primary:hover{filter:brightness(1.06)}.planner-primary:active{transform:scale(.985)}.planner-primary.active{box-shadow:none;background:#ffffffeb}.planner-primary.small{box-shadow:none;border-radius:10px;grid-column:auto;padding:8px 12px;font-size:13px}.planner-icon-btn,.planner-ghost{border:1px solid var(--line);background:var(--soft);border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:9px 10px;font-size:13px;transition:background .15s;display:inline-flex}.planner-icon-btn:hover,.planner-ghost:hover{background:#ffffff1c}.planner-ghost.small{border-radius:10px;padding:7px 11px}.planner-ghost.danger{color:#ffb4ab}.planner-ghost.danger:hover{background:#e5332a2e}.planner-body{flex-direction:column;gap:12px;display:flex}.planner-catalog,.planner-card{flex-direction:column;gap:12px;animation:.22s ease-out planner-in;display:none}.planner-catalog.open,.planner-card.open{display:flex}.planner-card{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:12px}.planner-section-head,.planner-card-head,.planner-section-row{align-items:center;gap:10px;display:flex}.planner-section-head h3{flex:1;margin:0;font-size:14px}.planner-x{background:0 0;border:0;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;margin-left:auto;display:grid}.planner-x:hover{background:#ffffff1a}.planner-x .planner-btn-label,.planner-round .planner-btn-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.planner-search{border:1px solid var(--line);color:var(--muted);background:#0000004d;border-radius:11px;align-items:center;gap:8px;padding:0 11px;display:flex}.planner-search:focus-within{border-color:var(--accent)}.planner-search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:10px 0;font-size:14px}.planner-tabs{scrollbar-width:none;gap:6px;margin:0 -2px;padding:0 2px;display:flex;overflow-x:auto}.planner-tabs[hidden]{display:none}.planner-tab{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;flex:none;padding:6px 12px;font-size:12.5px}.planner-tab.active{color:#161616;background:#ffffffeb;border-color:#0000;font-weight:600}.planner-list{gap:2px;margin:0 -6px;display:grid}.planner-pick{text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:16px 1fr auto;align-items:center;gap:11px;padding:9px 8px;font-size:14px;display:grid}.planner-pick:hover,.planner-pick:focus-visible{background:#ffffff14;outline:none}.planner-dot{border:1px solid #ffffff59;border-radius:5px;flex:none;width:16px;height:16px}.planner-pick-size{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.planner-muted{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.planner-card-head .planner-dot{border-radius:7px;width:22px;height:22px}.planner-card-title{min-width:0}.planner-name{font-size:15px;font-weight:650}.planner-dims{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.planner-warn{color:#ffc1b9;background:#e5332a33;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.planner-warn[hidden]{display:none}.planner-section{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:12px;display:flex}.planner-section h4{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11.5px;font-weight:600}.planner-section-row h4{flex:1}.planner-link{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;padding:2px 0;font-size:12.5px;text-decoration:underline}.planner-link:hover{color:var(--text)}.planner-sizes{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.planner-field{color:var(--muted);gap:4px;font-size:12px;display:grid}.planner-input{border:1px solid var(--line);background:#00000052;border-radius:9px;align-items:center;padding:0 8px 0 0;transition:border-color .15s;display:flex}.planner-input:focus-within{border-color:var(--accent)}.planner-input input{width:100%;min-width:0;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;-moz-appearance:textfield;background:0 0;border:0;outline:none;padding:8px 0 8px 9px;font-size:15px}.planner-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.planner-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.planner-unit{color:var(--muted);font-size:12px}.planner-rot{align-items:center;gap:8px;display:flex}.planner-round{border:1px solid var(--line);background:var(--soft);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.planner-round:hover{background:#ffffff1f}.planner-rot input[type=range]{min-width:0;accent-color:var(--accent);flex:1}.planner-deg{flex:none;width:66px}.planner-swatches{flex-wrap:wrap;gap:8px;display:flex}.planner-swatch,.planner-custom{border:2px solid #ffffff2e;border-radius:50%;width:26px;height:26px;padding:0;transition:transform .12s}.planner-swatch:hover{transform:scale(1.1)}.planner-swatch.active{box-shadow:0 0 0 2px var(--accent);border-color:#fff}.planner-custom{cursor:pointer;background:conic-gradient(#e66,#ec6,#6c6,#6cc,#66e,#c6c,#e66);overflow:hidden}.planner-custom::-webkit-color-swatch-wrapper{padding:0}.planner-custom::-webkit-color-swatch{opacity:0;border:0;border-radius:50%}.planner-card-foot{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8px;padding-top:12px;display:grid}.planner-guide{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 4px;display:flex}.planner-guide[hidden]{display:none}.planner-guide strong{font-size:15px}.planner-guide-art{width:56px;height:56px;color:var(--accent);background:#ffb35c24;border-radius:18px;place-items:center;margin-bottom:4px;display:grid}.planner-guide-art .planner-ico{width:28px;height:28px}.planner-tips{text-align:left;gap:9px;width:100%;margin:4px 0 2px;padding:0;list-style:none;display:grid}.planner-tips li{color:var(--muted);align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;display:flex}.planner-tips .planner-ico{color:var(--accent);margin-top:1px}.planner-toast{left:50%;top:calc(64px + var(--safe-t));z-index:6;width:max-content;max-width:calc(100% - 32px);color:var(--text);-webkit-backdrop-filter:blur(14px);opacity:0;pointer-events:none;background:#18181be6;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:10px;padding:9px 9px 9px 14px;font-size:14px;transition:opacity .2s,transform .2s;display:flex;position:absolute;transform:translate(-50%,-8px);box-shadow:0 12px 30px #00000059}.planner-toast>.planner-ico{color:var(--accent)}.planner-toast>span{padding-right:5px}.planner-toast.show{opacity:1;pointer-events:auto;transform:translate(-50%)}.planner-toast-action{color:var(--accent);font:inherit;cursor:pointer;white-space:nowrap;background:#ffb35c29;border:0;border-radius:10px;align-items:center;gap:6px;padding:7px 11px;font-size:13px;font-weight:650;display:inline-flex}.planner-dist{padding:4px 8px;font-size:12px;transform:translate(-50%,-50%)}body.plan-hover .stage{cursor:move}body.planning .hint{display:none}.planner-top{touch-action:none;width:100%;height:100%;display:none;position:absolute;inset:0}body.plan-top .planner-top,body.plan-flying .planner-top{display:block}body.plan-flying .planner-top{pointer-events:none}body.plan-flying .planner-dist,body.plan-flying .interact-prompt,body.plan-flying .info-layer{display:none!important}.hud.hidden-ui>.planner-top{opacity:1;pointer-events:auto}body.plan-top .joystick,body.plan-top .interact-prompt,body.plan-top .info-layer,body.plan-top .measure-label,body.plan-top .hud-rooms,body.plan-top .info-card{display:none!important}@media (max-width:640px){.planner{width:auto;max-height:64vh;padding:6px 14px calc(14px + var(--safe-b));background:#141417db;border-bottom:0;border-radius:22px 22px 0 0;gap:10px;inset:auto 0 0;box-shadow:0 -10px 40px #00000059}.planner-grab{background:0 0;border:0;flex:none;align-self:center;width:64px;height:18px;display:block;position:relative}.planner-grab:after{content:"";background:#ffffff4d;border-radius:2px;height:4px;position:absolute;top:7px;left:16px;right:16px}.planner.folded .planner-body,.planner.folded .planner-coach,body.plan-top .planner-guide{display:none}body.plan-top .planner{max-height:50vh}.planner.editing .planner-actions,body.planning .hud-bottom,body.planning.planner-open .joystick{display:none}.planner-primary{padding:13px 14px}.planner-pick{padding:11px 8px}.planner-swatch,.planner-custom{width:30px;height:30px}.planner-round{width:38px;height:38px}.planner-toast{top:calc(12px + var(--safe-t))}}@media (prefers-reduced-motion:reduce){.planner-coach,.planner-catalog,.planner-card{animation:none}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}dialog.book{color:var(--text);background:0 0;border:0;width:min(520px,100% - 32px);max-height:calc(100dvh - 32px);padding:0;overflow:visible}dialog.book::backdrop{-webkit-backdrop-filter:blur(6px);background:#08080a8c}.book-body{overscroll-behavior:contain;scrollbar-width:thin;border:1px solid var(--panel-border);opacity:0;background:#161619f0;border-radius:22px;max-height:calc(100dvh - 32px);padding:30px 28px 24px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;transition:opacity .2s,transform .25s cubic-bezier(.2,.9,.3,1);position:relative;overflow-y:auto;transform:translateY(14px)scale(.98);box-shadow:0 30px 80px #00000080}dialog.book.in .book-body{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.book-body{transition:opacity .15s;transform:none!important}}.book-close{z-index:1;cursor:pointer;width:36px;height:36px;color:var(--text);background:#ffffff14;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:14px;right:14px}.book-close:hover{background:#ffffff29}.book-ico{flex:none;width:18px;height:18px}.book-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:650}.book-title{letter-spacing:-.01em;margin:6px 0;font-size:24px;font-weight:700;line-height:1.2}.book-lead{color:var(--muted);max-width:42ch;margin:0 0 20px;font-size:14px;line-height:1.5}.book-form{gap:16px;display:grid}.book-form[hidden],.book-done[hidden],.book-head[hidden]{display:none}.book-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.book-grid>:first-child{grid-column:1/-1}.book-field{gap:7px;min-width:0;display:grid}.book-label{align-items:baseline;gap:6px;font-size:13px;font-weight:600;display:flex}.book-hint{color:var(--muted);font-size:12px;font-weight:400}.book-input{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;align-items:flex-start;gap:10px;padding:0 12px;transition:border-color .15s,background .15s;display:flex}.book-input .book-ico{color:var(--muted);margin-top:13px}.book-input:focus-within{border-color:var(--accent);background:#ffffff17}.book-input input,.book-input textarea{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:12px 0;font-size:15px}.book-input textarea{resize:vertical;min-height:64px;line-height:1.45}.book-input input::placeholder{color:#f5f3ef59}.book-chips{flex-wrap:wrap;gap:8px;display:flex}.book-chip{color:var(--text);cursor:pointer;background:0 0;border:1px solid #ffffff24;border-radius:999px;padding:8px 14px;font-size:13px;transition:background .15s,border-color .15s,color .15s}.book-chip:hover{background:#ffffff12}.book-chip.on{border-color:var(--accent);color:#ffd9ab;background:#ffb35c29}.book-consent{color:var(--muted);cursor:pointer;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;display:flex}.book-consent input{width:17px;height:17px;accent-color:var(--accent);flex:none;margin-top:2px}.book-error{color:#ffb4a8;min-height:0;font-size:13px}.book-error:empty{display:none}.book-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.book-send{cursor:pointer;height:50px;font:inherit;color:#1a1208;background:linear-gradient(135deg,#ffc47e,#ff9f45);border:0;border-radius:14px;justify-content:center;align-items:center;gap:9px;padding:0 24px;font-size:15px;font-weight:650;display:inline-flex;box-shadow:0 8px 24px #ff963c4d,inset 0 1px #ffffff73}.book-send:disabled{opacity:.6;cursor:progress}.book-site{color:var(--muted);align-items:center;gap:6px;font-size:13px;text-decoration:none;display:inline-flex}.book-site:hover{color:var(--text)}.book-site .book-ico{width:15px;height:15px}.book-demo{color:var(--muted);text-align:center;opacity:.8;margin:0;font-size:12px}.book-done{text-align:center;justify-items:center;padding:14px 0 4px;display:grid}.book-done .book-lead{margin-bottom:22px}.book-badge{color:#8fe3a8;background:#78dc9624;border-radius:50%;place-items:center;width:64px;height:64px;margin-bottom:8px;display:grid}.book-badge .book-ico{width:30px;height:30px}@media (max-width:640px){dialog.book{width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0}.book-body{padding:26px 18px calc(18px + var(--safe-b));border-radius:22px 22px 0 0;max-height:92dvh}.book-grid{grid-template-columns:1fr}.book-send{width:100%}.book-foot{justify-content:center}.book-title{padding-right:36px;font-size:21px}}.licence-mark{z-index:2147483647;color:#c8f43c;pointer-events:none;background:#0b1530d9;border-radius:10px;padding:8px 12px;font:600 13px/1.2 system-ui,sans-serif;position:fixed;bottom:12px;right:12px}
