@font-face{font-family:Pretendard;src:url(../ds/fonts/PretendardVariable.woff2)}*{box-sizing:border-box}body{margin:0;background:transparent;color:#1b304f;font:14px Pretendard,sans-serif}main{padding:24px 12px}.top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;letter-spacing:.12em}button{font:inherit;color:inherit;border:1px solid #b9c4d2;background:#ffffff80;padding:10px 12px;min-height:44px;cursor:pointer}button:focus-visible{outline:3px solid #f39800;outline-offset:3px}svg{display:block;width:100%;height:auto;overflow:visible}.plan{fill:#ffffff50;stroke:#1e395e;stroke-width:.9}.roof{fill:#f5f6f8;stroke:#798b9f;stroke-width:.7}.side{fill:#c2cbd7;stroke:#73849b;stroke-width:.8}.front{fill:#e3e8ed;stroke:#73849b;stroke-width:.8}.glazing{fill:#294563;fill-opacity:.82;stroke:#91a5b7;stroke-width:.6}.module,.volume,.glazing,.annotation{transition:opacity 1.1s ease,transform 1.5s cubic-bezier(.22,1,.36,1)}.module{transition-delay:calc(var(--i)*35ms)}[data-phase="0"] .module{opacity:0;transform:translateY(20px)}[data-phase="1"] .volume{opacity:0;transform:translateY(40px)}[data-phase="1"] .module{opacity:.75}[data-phase="2"] .glazing,[data-phase="2"] .annotation,[data-phase="0"] .annotation,[data-phase="1"] .annotation{opacity:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.steps button{border:0;border-top:2px solid #c9d3df;background:transparent;padding:12px 2px;font-size:12px}.steps [aria-pressed=true]{border-color:#ed9600;color:#111;font-weight:700}.note{color:#627187;font-size:11px;text-align:right;margin:8px 0}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}@media(max-width:450px){main{padding:8px 0}.top{font-size:8px}.top button{font-size:11px}.steps button{font-size:10px}}
.top{justify-content:flex-end}.note{font-size:16px!important;line-height:1.5}.steps button{font-size:15px!important}@media(max-width:500px){.note{font-size:14px!important}.steps button{font-size:13px!important}}

html,body{height:100%;overflow:hidden}main{height:100%;display:grid;grid-template-rows:44px minmax(0,1fr) 48px auto;gap:4px}main>svg{width:100%;height:100%;min-height:0}.top button{font-size:14px;letter-spacing:0}.note{text-align:center;margin:4px 0}.steps button{padding:10px 2px}
