:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f3f5ef;background:#10201d;font:16px/1.45 system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}.shell{max-width:640px;margin:auto;padding:20px 16px 48px}h1{margin:0;font-size:clamp(2rem,10vw,3.5rem);line-height:1}h2{margin:28px 0 10px;font-size:1.15rem}.eyebrow,.hint{color:#b7c9c1;letter-spacing:.08em;font-size:.8rem}.warning{color:#ffe5b6;background:#302816;border-left:4px solid #ffbe55;margin-top:18px;padding:12px}.viewer{background:#17342e;border:1px solid #52756a;border-radius:14px;height:270px;margin-top:14px;position:relative;overflow:hidden}.model-grid{transform-origin:bottom;background-color:#0000;background-image:linear-gradient(90deg,#0000 49%,#315b50 50%,#0000 51%),linear-gradient(#315b50 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;transform:perspective(380px)rotateX(55deg)scale(1.5)}.model-object{border-radius:7px;padding:10px;font-weight:700;position:absolute}.wall{color:#0b211b;background:#84d6bb;width:58%;top:90px;left:18%}.opening{color:#352300;background:#ffbe55;top:146px;right:13%}.viewer p{background:#0a1815d9;width:100%;margin:0;padding:9px;font-size:.8rem;position:absolute;bottom:0}.chips,.checklist{gap:8px;display:grid}.chip,button{min-height:44px;color:inherit;text-align:left;font:inherit;background:#1c3b33;border:1px solid #689385;border-radius:8px;padding:9px 12px}.attention{border-color:#ffbe55}.checklist label{background:#18332d;border-radius:8px;padding:10px}input{width:100%;min-height:38px;font:inherit;margin:5px 0 10px}.checklist input{width:auto;min-height:auto}label{display:block}.primary{color:#0b211b;background:#84d6bb;margin-top:9px;font-weight:700}footer{background:#0b1714;border:1px solid #52756a;border-radius:10px;margin-top:28px;padding:12px;position:sticky;bottom:0}.measurement{background:#18332d;border-left:4px solid #84d6bb;gap:3px;padding:12px;display:grid}.measurement span{color:#b7c9c1;font-size:.85rem}.measurement.captured{border-color:#ffbe55;margin-top:8px}
