*,:before,:after{box-sizing:border-box;margin:0;padding:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.examples-link{text-align:center;color:var(--muted);margin-top:.9rem;font-size:.7rem;font-weight:500;text-decoration:none;transition:color .2s;display:block}.examples-link:hover{color:var(--accent)}.modal-overlay{z-index:50;backdrop-filter:blur(8px);background:#080a1299;justify-content:center;align-items:center;padding:1.5rem;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:480px;max-height:85vh;box-shadow:var(--shadow);border-radius:22px;padding:1.8rem clamp(1.2rem,4.5vw,2rem) 2rem;animation:.35s cubic-bezier(.22,1,.36,1) both stepIn;position:relative;overflow-y:auto}.modal-card h2{letter-spacing:-.02em;margin-bottom:.9rem;font-size:1.3rem;font-weight:700}.modal-card h2 em{color:var(--accent);font-style:normal}.modal-card h3{color:var(--accent);margin:1.3rem 0 .6rem;font-family:Space Grotesk,sans-serif;font-size:.85rem;font-weight:700}.modal-card p{color:var(--muted);margin-bottom:.8rem;font-size:.82rem;line-height:1.65}.modal-card strong{color:var(--text)}.modal-card ol{color:var(--muted);margin:0 0 .8rem 1.2rem;font-size:.82rem;line-height:1.65}.modal-card li{margin-bottom:.35rem}.modal-card a{color:var(--accent)}.modal-close{border:1px solid var(--border);width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;font-size:.85rem;transition:all .2s;position:absolute;top:.9rem;right:.9rem}.modal-close:hover{color:var(--text);border-color:var(--muted)}.modal-link-btn{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0}.example-list{flex-direction:column;gap:.4rem;margin-bottom:1rem;list-style:none;display:flex}.example-item{text-align:left;border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);cursor:pointer;border-radius:12px;padding:.6rem .8rem;font-family:Inter,sans-serif;font-size:.78rem;transition:border-color .2s;display:block}.example-item:hover{border-color:var(--accent);color:var(--accent)}:root{--bg:#101322;--surface:#181d33;--surface-2:#1f2542;--border:#ffffff17;--text:#e8eaf2;--muted:#8a90a8;--accent:#7c93ff;--accent-2:#5b79ff;--tape:#ffc24b;--danger:#ff7a6b;--shadow:0 24px 60px -18px #0000008c;--panel:#181d33c7;--ring:#7c93ff47}body.light{--bg:#f2f4f8;--surface:#fff;--surface-2:#f6f7fb;--border:#e3e7ef;--text:#1a1d2b;--muted:#6e7488;--accent:#4f6bff;--accent-2:#3d57e0;--tape:#de9414;--danger:#d9503f;--shadow:0 24px 60px -24px #26347838;--panel:#ffffffd1;--ring:#4f6bff38}::selection{background:var(--accent);color:#fff}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;transition:background .45s,color .45s;overflow:hidden}h1,h2,.num,.wordmark,.btn,.ichip b{font-family:Space Grotesk,Inter,sans-serif}#theme-btn{z-index:40;border:1px solid var(--border);background:var(--panel);backdrop-filter:blur(12px);width:2.6rem;height:2.6rem;color:var(--text);cursor:pointer;box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:transform .25s,border-color .2s;display:flex;position:fixed;top:1.1rem;right:1.1rem}#theme-btn:hover{border-color:var(--accent);transform:rotate(24deg)scale(1.06)}#wizard{z-index:10;background:radial-gradient(ellipse 70% 55% at 18% 0%, var(--ring), transparent 55%), radial-gradient(ellipse 60% 50% at 90% 100%, #ffc24b1a, transparent 60%), var(--bg);justify-content:center;align-items:center;padding:1.5rem;transition:opacity .5s,visibility .5s,background .45s;display:flex;position:fixed;inset:0}#wizard.hidden{opacity:0;visibility:hidden;pointer-events:none}.steps-shell{width:100%;max-width:500px}.brand{justify-content:center;align-items:baseline;gap:.55rem;margin-bottom:.5rem;display:flex}.wordmark{letter-spacing:-.03em;color:var(--text);font-size:clamp(1.7rem,5vw,2.1rem);font-weight:700}.wordmark em{color:var(--accent);font-style:normal}.brand .badge{letter-spacing:.1em;text-transform:uppercase;color:var(--tape);opacity:.9;border:1px solid;border-radius:999px;padding:.15rem .55rem;font-size:.6rem;font-weight:600}.tagline{text-align:center;color:var(--muted);margin-bottom:1.8rem;font-size:.78rem}.step-meta{justify-content:space-between;align-items:center;margin-bottom:.7rem;padding:0 .3rem;display:flex}.step-meta .num{letter-spacing:.14em;color:var(--accent);font-size:.72rem;font-weight:700}.step-meta .num span{color:var(--muted);font-weight:500}.bar{background:var(--border);border-radius:4px;flex:1;height:4px;margin-left:1rem;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:4px;width:33%;height:100%;transition:width .45s cubic-bezier(.22,1,.36,1);display:block}.step{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:22px;transition:background .45s;animation:.45s cubic-bezier(.22,1,.36,1) both stepIn;display:none;overflow:hidden}.step.active{display:block}@keyframes stepIn{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.ruler{background:repeating-linear-gradient(90deg, var(--border) 0 1px, transparent 1px 9px), repeating-linear-gradient(90deg, var(--muted) 0 1px, transparent 1px 45px);opacity:.6;border-bottom:1px solid var(--border);background-position:0 100%,0 100%;background-repeat:repeat-x;background-size:auto 55%,auto 100%;height:16px}.step-body{padding:1.7rem clamp(1.2rem,4.5vw,2rem) 1.9rem}.step h2{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.step .sub{color:var(--muted);margin-top:.4rem;margin-bottom:1.5rem;font-size:.78rem;line-height:1.6}.toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;margin-bottom:1.2rem;padding:3px;display:inline-flex}.toggle button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.45rem 1.1rem;font-family:Inter,sans-serif;font-size:.72rem;font-weight:600;transition:all .25s}.toggle button.on{background:var(--accent);color:#fff;box-shadow:0 4px 14px -4px var(--accent)}.field-row{flex-wrap:wrap;gap:.8rem;display:flex}.field{flex:1;min-width:104px}.field label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.45rem;font-size:.64rem;font-weight:600;display:block}.field input,.field select{background:var(--surface-2);border:1.5px solid var(--border);width:100%;color:var(--text);border-radius:14px;outline:none;padding:.75rem .9rem;font-family:Space Grotesk,sans-serif;font-size:1.05rem;font-weight:500;transition:border-color .2s,box-shadow .2s,background .45s}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}.field input::-webkit-outer-spin-button{-webkit-appearance:none}.field input::-webkit-inner-spin-button{-webkit-appearance:none}.field input[type=number]{-moz-appearance:textfield}.err{color:var(--danger);min-height:1rem;margin-top:.9rem;font-size:.72rem;font-weight:500}.nav-row{justify-content:space-between;align-items:center;gap:.8rem;margin-top:1.2rem;display:flex}.btn{letter-spacing:.01em;border:1.5px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.8rem 1.6rem;font-size:.8rem;font-weight:700;transition:all .22s}.btn:hover{color:var(--text);border-color:var(--muted)}.btn.primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:0 10px 26px -8px var(--accent);border-color:#0000}.btn.primary:hover{box-shadow:0 14px 32px -8px var(--accent);color:#fff;transform:translateY(-2px)}.btn.primary:active{transform:translateY(0)}.type-cards{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.type-card{border:1.5px solid var(--border);background:var(--surface-2);cursor:pointer;text-align:center;border-radius:18px;padding:1.4rem 1rem 1.2rem;transition:all .25s}.type-card:hover{border-color:var(--muted);transform:translateY(-3px)}.type-card.on{border-color:var(--accent);box-shadow:0 0 0 4px var(--ring), 0 12px 30px -12px var(--accent)}.type-card svg{width:46px;height:46px;stroke:var(--muted);margin-bottom:.7rem;transition:stroke .25s,transform .25s}.type-card.on svg{stroke:var(--accent);transform:scale(1.1)}.type-card .t{font-family:Space Grotesk,sans-serif;font-size:.9rem;font-weight:700;display:block}.type-card .d{color:var(--muted);margin-top:.35rem;font-size:.66rem;line-height:1.55;display:block}.presets{flex-wrap:wrap;gap:.45rem;margin-bottom:1.2rem;display:flex}.chip{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);cursor:pointer;border-radius:999px;padding:.4rem .85rem;font-family:Inter,sans-serif;font-size:.66rem;font-weight:600;transition:all .2s}.chip:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}#viz{opacity:0;visibility:hidden;transition:opacity .6s,visibility .6s;position:fixed;inset:0}#viz.show{opacity:1;visibility:visible}#scene-bg{background:radial-gradient(90% 70% at 50% 115%,#7c93ff1f,#0000 55%),radial-gradient(60% 45% at 85% -10%,#ffc24b12,#0000 60%),linear-gradient(#131729 0%,#101322 55%,#0b0d19 100%);transition:background .45s;position:absolute;inset:0}body.light #scene-bg{background:radial-gradient(90% 70% at 50% 115%,#4f6bff1a,#0000 55%),radial-gradient(60% 45% at 85% -10%,#de941412,#0000 60%),linear-gradient(#fdfdff 0%,#f0f2f8 55%,#e4e8f1 100%)}#canvas-wrap{position:absolute;inset:0}#canvas-wrap canvas{touch-action:none;cursor:grab;display:block}#canvas-wrap canvas:active{cursor:grabbing}.hud{z-index:5;animation:.7s cubic-bezier(.22,1,.36,1) .3s both hudIn;position:absolute}@keyframes hudIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.hud-top{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:.8rem;padding:1.1rem 4.6rem 0 1.2rem;display:flex;top:0;left:0;right:0}.hud-top>*{pointer-events:auto}.hud-word{letter-spacing:-.02em;padding-top:.5rem;font-family:Space Grotesk,sans-serif;font-size:.95rem;font-weight:700}.hud-word em{color:var(--accent);font-style:normal}.hud-actions{gap:.5rem;display:flex}.hud-btn{border:1px solid var(--border);background:var(--panel);backdrop-filter:blur(12px);color:var(--text);cursor:pointer;box-shadow:var(--shadow);border-radius:999px;padding:.6rem 1rem;font-family:Inter,sans-serif;font-size:.7rem;font-weight:600;transition:all .2s}.hud-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.share-wrap{position:relative}.share-menu{border:1px solid var(--border);background:var(--panel);backdrop-filter:blur(14px);min-width:12rem;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:.4rem;padding:.5rem;animation:.25s both hudIn;display:none;position:absolute;top:calc(100% + .5rem);right:0}.share-menu.open{display:flex}.share-menu .hud-btn{box-shadow:none;text-align:left;white-space:nowrap;border-color:#0000}.share-menu .hud-btn:hover{border-color:var(--border);transform:none}body.embed #theme-btn,body.embed .hud-actions{display:none}body.embed .hud-word{cursor:pointer}.env-bar{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.env-pill{border:1px solid var(--border);background:var(--panel);backdrop-filter:blur(12px);color:var(--muted);cursor:pointer;box-shadow:var(--shadow);border-radius:999px;padding:.45rem .85rem;font-family:Inter,sans-serif;font-size:.64rem;font-weight:600;transition:all .2s}.env-pill:hover{color:var(--text);transform:translateY(-1px)}.env-pill.on{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3px var(--ring)}body[data-env=living] #scene-bg,body[data-env=bedroom] #scene-bg,body[data-env=kitchen] #scene-bg,body[data-env=dining] #scene-bg{background:radial-gradient(90% 70% at 50% 115%,#ffb45a1a,#0000 55%),linear-gradient(#241e33 0%,#1a1626 55%,#120f1c 100%)}body.light[data-env=living] #scene-bg,body.light[data-env=bedroom] #scene-bg,body.light[data-env=kitchen] #scene-bg,body.light[data-env=dining] #scene-bg{background:radial-gradient(90% 70% at 50% 115%,#ffaa501f,#0000 55%),linear-gradient(#fff9f0 0%,#f6ede2 55%,#ebdfd2 100%)}body[data-env=field] #scene-bg{background:linear-gradient(#0a1430 0%,#10203e 45%,#12291e 100%)}body.light[data-env=field] #scene-bg{background:linear-gradient(#8fcbf2 0%,#c3e4f7 45%,#dff0dc 100%)}body[data-env=forest] #scene-bg{background:linear-gradient(#081226 0%,#0c1b2a 45%,#0d2418 100%)}body.light[data-env=forest] #scene-bg{background:linear-gradient(#a3d3e8 0%,#c9e6da 45%,#d9ebd3 100%)}body[data-env=mountain] #scene-bg{background:linear-gradient(#0a1228 0%,#14203a 45%,#1d2a40 100%)}body.light[data-env=mountain] #scene-bg{background:linear-gradient(#9fc2e8 0%,#cbdcf0 45%,#e3eaf2 100%)}.hud-bottom{pointer-events:none;flex-direction:column;align-items:center;gap:.75rem;padding:1.1rem 1.2rem 1.3rem;animation-delay:.45s;display:flex;bottom:0;left:0;right:0}.hud-bottom>*{pointer-events:auto}.info-chips{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.ichip{background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(12px);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:.55rem;padding:.55rem 1rem;font-size:.72rem;display:flex}.ichip b{font-size:.78rem;font-weight:700}.ichip .k{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.58rem;font-weight:600}.ichip.accent{border-color:var(--ring)}.ichip.accent b{color:var(--accent)}.ichip.tape b{color:var(--tape)}.drag-hint{color:var(--muted);letter-spacing:.06em;opacity:.95;align-items:center;gap:.6rem;font-size:.64rem;font-weight:500;transition:opacity .6s;display:flex}.drag-hint.fade{opacity:0}.drag-hint .ico{animation:2.6s ease-in-out infinite swivel;display:inline-block}@keyframes swivel{0%,to{transform:translate(-6px)}50%{transform:translate(6px)}}@media (width<=560px){.hud-word{display:none}.type-cards{grid-template-columns:1fr}}
