@charset "UTF-8";
:root{font-family:Inter,"Segoe UI","Malgun Gothic",sans-serif;color:#243b35;background:#f4f5f0;font-synthesis:none;--green:#254c40;--ink:#243b35;--muted:#7a857d;--line:#dce2d8;--lime:#dbedbb}*{box-sizing:border-box}body{margin:0}button,a,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 14px}button:hover:not(:disabled){border-color:#7a9982;background:#f3f7ed}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #7fa38b;outline-offset:3px}button:disabled{cursor:default;opacity:.5}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}h2{font-size:18px;letter-spacing:-.5px}h3{font-size:17px}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1472px)/2));gap:20px}.brand{display:flex;gap:12px;align-items:center;letter-spacing:.07em;font-size:20px;font-weight:750}.brand:hover{text-decoration:none}.brand small{display:block;font-size:9px;letter-spacing:.2em;margin-top:2px;font-weight:500;color:var(--muted)}.brand-mark{height:39px;width:39px;background:var(--green);color:var(--lime);font-size:40px;line-height:32px;text-align:center;letter-spacing:0;border-radius:10px 10px 4px 4px}.topbar nav{display:flex;align-items:center;gap:26px;font-size:12px}.verified{display:flex;align-items:center;gap:7px;color:#59715d}.verified i{background:#699258;width:6px;height:6px;border-radius:100%}main{max-width:1528px;margin:auto;padding:32px 28px 0}.intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:.15em;color:var(--muted);font-weight:650}h1{font-size:32px;font-weight:650;letter-spacing:-1.5px;margin:9px 0 10px}.intro p{color:#788379;font-size:13px}.total{text-align:right;border-left:1px solid var(--line);padding-left:32px}.total strong{display:block;font-size:29px;font-weight:500;letter-spacing:-1px}.total span{font-size:11px;color:var(--muted)}.section-heading{display:flex;align-items:center;gap:10px;margin-bottom:16px}.section-heading>span{margin-left:auto;font-size:11px;color:var(--muted)}.step-number{border:1px solid #b4c4b1;width:27px;height:27px;display:grid;place-items:center;font-size:10px;border-radius:50%;color:#6a7d66}.type-section{padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:26px}.type-grid{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:9px}.type-card{padding:12px 7px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative}.type-card svg{width:60px;height:46px}.type-card b{font-size:13px;letter-spacing:.04em}.type-card small{font-size:10px;color:var(--muted)}button.selected{border-color:var(--green);background:#edf2e5;box-shadow:inset 0 0 0 1px var(--green)}button.selected::after{content:'✓';position:absolute;right:8px;top:6px;font-size:12px;color:var(--green)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,1.06fr);gap:30px;align-items:start}.builder{min-width:0}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.module-card{position:relative;text-align:left;padding:14px;display:flex;align-items:center;gap:14px}.module-card svg{width:76px;height:65px;flex-shrink:0}.module-card b{display:block;font-size:14px;margin-bottom:5px}.module-card small{font-size:11px;color:var(--muted)}.block-section{margin-top:30px}.room-progress{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 17px}.room-progress span{font-size:10px;padding:6px 9px;border-radius:4px;background:#e9ece4;color:#82907e}.room-progress span.done{color:#54754b;background:#e4ecd9}.room-progress span.current{color:#fff;background:var(--green)}.room-step{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:12px;overflow:hidden;scroll-margin-top:18px}.room-step.active{border-color:#98ad95}.room-head{display:flex;gap:12px;align-items:center;padding:16px 18px}.room-no{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-size:11px;background:#f0f2eb;color:#899180;flex-shrink:0}.active .room-no{background:var(--green);color:#fff}.room-head small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.room-head .edit{margin-left:auto;white-space:nowrap;border:0;padding:6px 0;font-size:11px;text-decoration:underline;color:#83917c}.chosen-icon{width:48px;height:42px;margin-left:auto}.room-head .chosen-title{font-size:12px;font-weight:500}.choice-area{padding:0 18px 18px}.choice-subhead{display:flex;justify-content:space-between;align-items:center;margin:2px 0 12px;font-size:11px;color:var(--muted)}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.block-card{position:relative;padding:9px;text-align:left;min-width:0;display:flex;flex-direction:column}.block-card .drawing{background:#f5f6f1;border-radius:5px;height:82px;padding:4px;margin-bottom:8px;display:grid;place-items:center}.block-card svg{width:100%;height:100%}.block-card strong{font-size:12px;font-weight:600;overflow-wrap:anywhere}.block-card small{font-size:10px;color:var(--muted);line-height:1.6;margin-top:3px;display:block}.block-card .choice-count{margin-top:auto;padding-top:8px;color:#5e7756;font-size:10px}.block-card:hover{transform:translateY(-1px)}.window-heading{padding-top:17px;border-top:1px solid var(--line);margin-top:18px}.chosen-block{border:1px solid #d7e3c9;background:#f3f7ec;border-radius:8px;display:flex;align-items:center;padding:10px 12px;gap:13px;font-size:12px}.chosen-block svg{width:58px;height:49px}.chosen-block span{flex:1}.chosen-block small{display:block;font-size:10px;color:#7b8674;margin-top:4px}.chosen-block button{padding:6px;border:0;background:none;font-size:11px;text-decoration:underline}.empty-help{padding:14px 0 7px;color:var(--muted);font-size:12px}.preview{position:sticky;top:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:21px;box-shadow:0 10px 26px #253d3305}.preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.preview-head h2{font-size:22px;margin-top:6px;font-weight:550}.progress-tag{font-size:10px;background:#f1f4ea;border-radius:20px;padding:7px 10px;white-space:nowrap;color:#748568}.scene-tools{display:flex;align-items:center;gap:6px;margin-top:18px}.scene-tools button{font-size:10px;padding:7px 9px;border-radius:5px}.scene-tools #view-focus{margin-left:auto}.segmented{display:flex;background:#f2f4ef;padding:3px;border-radius:7px;gap:2px}.segmented button{border:0;background:none;min-width:43px}.segmented button.active{background:#fff;box-shadow:0 1px 4px #00000012;color:var(--green)}#viewport{height:clamp(285px,34vw,470px);width:100%;overflow:hidden;position:relative;margin-top:9px;border-radius:8px;background:#f6f7f3}canvas{display:block;max-width:100%;width:100%;height:100%;touch-action:none}.model-loading{position:absolute;inset:0;z-index:2;background:#f6f7f3ed;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px;font-size:12px;color:#7d8b73}.model-loading[hidden]{display:none}.view-help{display:flex;justify-content:space-between;font-size:9px;color:#9aA38f;margin-top:9px;gap:12px}.preview-info{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:22px 0 18px}.preview-info strong{display:block;font-size:18px;margin:7px 0;letter-spacing:.02em;font-weight:550}.preview-info p{font-size:10px;color:var(--muted);line-height:1.7;max-width:300px}.location-map{width:106px;flex-shrink:0}.location-map svg{width:100%;height:82px}.location-map small{font-size:9px;display:block;text-align:center;color:var(--muted);margin-top:4px}.remaining{display:flex;align-items:center;justify-content:space-between;margin:16px 0;gap:10px}.remaining span{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.remaining strong{font-size:22px;font-weight:500}.remaining .check-label{font-size:10px;color:#608352;white-space:nowrap}.primary{width:100%;background:var(--green);color:#fff;border-color:var(--green);font-size:12px;text-align:left;padding:13px 15px;display:flex;justify-content:space-between}.primary:hover:not(:disabled){background:#356450;color:#fff}.result-actions{display:flex;gap:8px;margin-top:9px}.result-actions button{font-size:11px;flex:1}.load-details{margin-top:17px;font-size:10px;color:var(--muted)}summary{cursor:pointer}#load-form{display:flex;gap:6px;margin-top:9px}input{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;padding:10px;font-size:12px;background:#fff}#load-form button{white-space:nowrap;font-size:11px}footer{border-top:1px solid var(--line);padding:25px 0 35px;font-size:10px;line-height:1.9;color:#899280;margin-top:35px}footer b{font-weight:500;color:#5c7157;margin-right:8px}footer a{margin-left:8px}.completion-card{background:var(--green);color:#fff;border-radius:12px;padding:22px}.completion-card h3{margin-bottom:10px}.completion-card p{font-size:12px;line-height:1.7;color:#d8e4d2}.completion-card .complete-code{display:block;margin:16px 0 0;font-size:20px}.message{background:#fff7e9;border:1px solid #e1cfac;padding:13px 16px;margin-bottom:20px;border-radius:8px;color:#7d632d;font-size:12px;line-height:1.65}.message[hidden]{display:none}.loading-copy{font-size:12px;color:var(--muted);padding:25px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.mobile-only{display:none}.builder.busy{opacity:.6;pointer-events:none}.flow-arrow{text-align:center;font-size:17px;color:#a8b699;margin:4px 0 10px}
@media(min-width:1600px){.choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1150px){.workspace{grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);gap:20px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.type-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.type-card{padding:8px}.type-card svg{height:32px}.module-card{padding:10px;gap:8px}.module-card svg{width:52px}.section-heading>span{font-size:10px}.preview{padding:16px}.location-map{width:85px}}
@media(max-width:780px){.topbar{height:66px;padding:0 18px}.brand{font-size:16px}.brand-mark{width:33px;height:33px;font-size:34px;line-height:27px}.topbar nav{gap:12px;font-size:10px}.verified{display:none}main{padding:25px 16px 0}h1{font-size:27px;line-height:1.3}.mobile-only{display:block}.intro{gap:12px;margin-bottom:26px;align-items:flex-end}.intro p{font-size:11px;line-height:1.7;max-width:260px}.total{padding-left:12px}.total strong{font-size:20px}.total span{font-size:9px;display:block;max-width:78px;line-height:1.6}.type-grid{display:flex;overflow-x:auto;padding:3px 2px 10px}.type-card{min-width:83px;flex-shrink:0}.type-card svg{height:37px}.workspace{display:flex;flex-direction:column;gap:24px}.builder{width:100%}.preview{position:relative;top:0;width:100%;order:-1}.preview-info{padding:13px 0}.preview-head h2{font-size:18px}.preview .eyebrow{font-size:9px}#viewport{height:290px}.remaining{margin:12px 0}.preview-note{font-size:10px}.section-heading>span{font-size:10px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.room-head{padding:14px}.choice-area{padding:0 12px 14px}.block-card{padding:8px}.block-card strong{font-size:11px}.block-card .drawing{height:77px}.block-card small{font-size:9px}.block-card .choice-count{font-size:9px}footer{font-size:9px}.chosen-title{font-size:11px}.result-actions button{padding:10px}.block-section{margin-top:24px}}
.program-note{padding:11px 13px;background:#eaf0e1;border-radius:7px;font-size:12px;color:#526c46;margin-top:12px}.program-note[hidden]{display:none}.entrance-review{margin-top:18px;border-top:1px solid var(--line);padding-top:13px;font-size:11px;color:#788373}.entrance-review summary{color:#516f46;line-height:1.7}.entrance-review p{font-size:11px;line-height:1.8;margin:12px 0}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.review-block{border:1px solid #e5e8e0;border-radius:7px;padding:8px;background:#fafbf7}.review-block .drawing{height:65px}.review-block svg{width:100%;height:100%}.review-block strong{display:block;font-size:10px;color:#5d6b56;margin:5px 0}.review-block small{display:block;font-size:9px;line-height:1.6}.review-block .precheck{margin-top:5px;color:#718142}.review-block .drawing:empty{display:none}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
