@font-face{font-family:SDPGilroy;src:url('/assets/gilroy-extrabold.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:SDPGilroy;src:url('/assets/gilroy-medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:SDPGilroy;src:url('/assets/gilroy-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
#sdp-splash{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;overflow:auto;background:#f8f7fa;color:#29232e;font:500 16px/1.6 SDPGilroy,Arial,sans-serif;-webkit-font-smoothing:antialiased;box-sizing:border-box;padding:32px 24px;transition:opacity .2s ease}
#sdp-splash *{box-sizing:border-box}
#sdp-splash.sdp-splash-done{opacity:0;pointer-events:none}
.sdp-splash-inner{width:100%;max-width:500px;text-align:center;margin:auto}
.sdp-splash-brand{display:block;width:204px;height:auto;margin:0 auto 44px}
.sdp-splash-plan{width:min(100%,360px);display:block;margin:0 auto 28px;overflow:visible}
.sdp-splash-grid{fill:none;stroke:#e7dfec;stroke-width:1}
.sdp-splash-room-fill{fill:#ede3f3}
.sdp-splash-room{fill:none;stroke:#530a60;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;animation:sdp-draw-room 3.4s ease-in-out infinite}
.sdp-splash-measures{fill:none;stroke:#b18ac3;stroke-width:1.2;stroke-linecap:round;animation:sdp-dimensions 3.4s ease-in-out infinite}
.sdp-splash-point{fill:#530a60;stroke:#fff;stroke-width:3}
.sdp-splash-pencil{fill:#530a60;stroke:#fff;stroke-width:3;filter:drop-shadow(0 2px 5px #530a6030);animation:sdp-pencil 3.4s ease-in-out infinite}
#sdp-splash h1{font:800 clamp(29px,5vw,38px)/1.12 SDPGilroy,Arial,sans-serif;letter-spacing:-1px;margin:0 0 14px}
#sdp-splash p{color:#84718f;max-width:370px;margin:0 auto;font-weight:500;line-height:1.6}
.sdp-splash-status{display:flex;align-items:center;justify-content:center;gap:9px;color:#6f4280;font-size:13px;font-weight:600;margin-top:24px}
.sdp-splash-status i{width:6px;height:6px;display:inline-block;border-radius:50%;background:#8b54a1;animation:sdp-breathe 1.5s ease-in-out infinite}
.sdp-splash-help{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
#sdp-splash [hidden]{display:none!important}
.sdp-splash-help button,.sdp-splash-help a{font:600 14px/1.4 SDPGilroy,Arial,sans-serif;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:12px 18px;text-decoration:none;cursor:pointer}
.sdp-splash-help button{border:1px solid #530a60;background:#530a60;color:#fff}
.sdp-splash-help a{color:#6c3c7c;background:#eee5f3;border:1px solid #dfcee8}
#sdp-splash :focus-visible{outline:3px solid #ac7bc1;outline-offset:4px}
@keyframes sdp-draw-room{0%{stroke-dashoffset:1}58%,83%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
@keyframes sdp-dimensions{0%,18%,100%{opacity:.25}60%,85%{opacity:1}}
@keyframes sdp-pencil{0%{transform:translate(0,0)}20%{transform:translate(188px,0)}32%{transform:translate(188px,74px)}41%{transform:translate(120px,74px)}49%{transform:translate(120px,144px)}58%,83%{transform:translate(0,144px)}100%{transform:translate(0,0)}}
@keyframes sdp-breathe{0%,100%{opacity:.35}50%{opacity:1}}
@media(max-height:650px){.sdp-splash-brand{margin-bottom:20px;width:180px}.sdp-splash-plan{width:260px;margin-bottom:18px}.sdp-splash-status{margin-top:18px}}
@media(prefers-reduced-motion:reduce){#sdp-splash{transition:none}.sdp-splash-room,.sdp-splash-measures,.sdp-splash-pencil,.sdp-splash-status i{animation:none}.sdp-splash-pencil{display:none}}

html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#f8f7fa;color:#29232e;font:500 14px/1.5 SDPGilroy,Arial,sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}[hidden],#sdp-splash[hidden]{display:none!important}
.web-shell-bar{height:48px;padding:0 max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e4dce9;background:#f8f7fa}
.web-shell-bar a{color:#6f4280;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;font-weight:600;font-size:13px}
.web-shell-bar .web-shell-brand{gap:8px;color:#29232e}.web-shell-brand img{display:block;width:137px;height:auto}.web-shell-brand span{font-size:11px;font-weight:600;border-left:1px solid #ded1e5;padding-left:8px;color:#8b7495}
#web-app{display:block;width:100%;height:calc(100vh - 48px);height:calc(100dvh - 48px);border:0;background:#fff}
#skip-intro{display:block;min-height:44px;margin:20px auto 0;padding:10px 20px;border:1px solid #dfd1e7;border-radius:12px;background:#efe7f4;color:#633572;font:600 14px/1.4 SDPGilroy,Arial,sans-serif;cursor:pointer;text-decoration:none;transition:background .15s ease}
.web-shell-bar a:focus-visible{outline:3px solid #ac7bc1;outline-offset:2px;border-radius:6px}
.web-noscript{padding:12px;text-align:center}
@media(hover:hover){#skip-intro:hover{background:#e7d9ee}.web-shell-bar a:hover{color:#530a60}}
@media(max-width:380px){.web-shell-bar{padding-inline:12px;gap:10px}.web-shell-brand img{width:125px}.web-shell-bar a{font-size:12px}}
@media(prefers-reduced-motion:reduce){#skip-intro{transition:none}}
