:root{--font-display:"Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, sans-serif;--font-body:"Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, sans-serif;--font-mono:"Cascadia Mono", Consolas, "SFMono-Regular", monospace;font-family:var(--font-body);color:#171614;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f7f4;font-size:16px;font-weight:400;line-height:1.5}body{margin:0}#root{min-height:100svh}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f7f7f4;--page-soft:#fff;--surface:#ffffffe6;--surface-solid:#fff;--surface-muted:#f0f1ed;--surface-inset:#f6f2ec;--ink:#171614;--muted:#696861;--soft:#4f514c;--line:#201e1a21;--line-strong:#201e1a38;--accent:#8b5f3f;--accent-strong:#624025;--accent-soft:#8b5f3f1f;--sage:#66745f;--sage-soft:#66745f21;--blue:#596d82;--blue-soft:#596d821f;--danger:#a14d3d;--radius:8px;--shadow-soft:0 18px 48px #27221c14;--shadow-panel:0 22px 64px #241f181f}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#151514;--page-soft:#1c1c1a;--surface:#1c1c1ae6;--surface-solid:#20201e;--surface-muted:#272722;--surface-inset:#181816;--ink:#f7f3ec;--muted:#b8b1a6;--soft:#d4cec2;--line:#f7f3ec21;--line-strong:#f7f3ec3d;--accent:#d9a56f;--accent-strong:#f0c28f;--accent-soft:#d9a56f24;--sage:#a7b58f;--sage-soft:#a7b58f24;--blue:#9fb2c1;--blue-soft:#9fb2c121;--danger:#e09a83;--shadow-soft:0 18px 48px #00000047;--shadow-panel:0 22px 64px #00000057}html,body{background:var(--page);color:var(--ink);transition:background-color .3s,color .3s}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:0}::view-transition-new(root){z-index:1}.theme-transitioning *,.theme-transitioning :before,.theme-transitioning :after{transition-duration:0s!important}.theme-toggle-icon{--theme-toggle-duration:.4s;display:block;overflow:visible}.theme-toggle-core{transform-box:fill-box;transform-origin:50%;transition:transform var(--theme-toggle-duration) ease}.theme-toggle-cutout{transition:d var(--theme-toggle-duration) ease, transform var(--theme-toggle-duration) ease}.theme-toggle-ray{transform-box:view-box;transform-origin:50%;transition:transform var(--theme-toggle-duration) ease, opacity var(--theme-toggle-duration) ease;transition-delay:calc(var(--theme-toggle-duration) * .15)}html[data-theme=dark] .theme-toggle-core{transform:scale(1.7)}html[data-theme=dark] .theme-toggle-cutout{d:path("M0 2h13a1 1 0 0 1 10 10v14H0Z");transition-delay:calc(var(--theme-toggle-duration) * .15);transform:translate(-3.25px,.5px)}html[data-theme=dark] .theme-toggle-ray{opacity:0;transition-delay:0s;transform:scale(0)}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}.theme-toggle-core,.theme-toggle-cutout,.theme-toggle-ray{transition:none!important}}*{box-sizing:border-box}body{background:linear-gradient(180deg, #ffffffbd, #fff0 440px), linear-gradient(120deg, var(--page) 0%, var(--surface-inset) 52%, var(--page-soft) 100%);min-width:320px}button,a,textarea,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:3px}img{max-width:100%}.app-shell{--content-max:1480px;width:100%;margin:0 auto;overflow:hidden}.hero-panel{min-height:92svh;padding:22px max(clamp(18px, 4vw, 64px), calc((100vw - var(--content-max)) / 2)) 56px;isolation:isolate;position:relative}.hero-panel:before{content:"";z-index:-2;background-color:#0000;background-image:linear-gradient(#201e1a09 1px,#0000 1px),linear-gradient(90deg,#201e1a08 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:88px 88px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 58%,#0000 100%);mask-image:linear-gradient(#000 0% 58%,#0000 100%)}.hero-panel:after{content:"";z-index:-1;background:linear-gradient(to bottom, #f7f7f400, var(--page));height:42%;position:absolute;bottom:0;left:0;right:0}.topbar{z-index:20;max-width:var(--content-max);background:color-mix(in srgb, var(--surface-solid) 82%, transparent);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;padding:10px 10px 10px 14px;display:flex;position:sticky;top:14px}.brand,.topbar-actions a,.topbar-actions button,.primary-action,.ghost-action{text-decoration:none}.brand{color:var(--ink);letter-spacing:.01em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:12px;font-weight:700;display:inline-flex}.brand-mark{place-items:center;width:38px;height:34px;display:inline-grid;overflow:hidden}.brand-mark img{object-fit:contain;filter:invert();width:100%;height:100%}html[data-theme=dark] .brand-mark img{filter:none}.topbar-actions{scrollbar-width:none;justify-content:flex-end;align-items:center;gap:6px;display:flex}.topbar-actions::-webkit-scrollbar{display:none}.topbar-actions a,.topbar-actions button{min-height:36px;color:var(--muted);border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:.88rem;font-weight:500;transition:color .2s,background-color .2s,border-color .2s,transform .2s;display:inline-flex}.topbar-actions a:hover,.topbar-actions button:hover{color:var(--ink);background:var(--surface-muted);border-color:var(--line)}.theme-toggle-button{width:38px;color:var(--ink);padding:0;background:var(--surface-muted)!important;border-color:var(--line)!important}.back-to-top{z-index:60;width:46px;height:46px;color:var(--surface-solid);background:var(--ink);border:1px solid color-mix(in srgb, var(--ink) 88%, var(--surface-solid));cursor:pointer;border-radius:50%;place-items:center;transition:transform .2s,box-shadow .2s,background-color .2s;display:grid;position:fixed;bottom:clamp(18px,3vw,34px);right:clamp(18px,3vw,34px);box-shadow:0 16px 34px #1716142e}.back-to-top:hover{transform:translateY(-2px);box-shadow:0 20px 42px #17161438}.hero-grid{min-height:calc(92svh - 76px);max-width:var(--content-max);grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);align-items:center;gap:clamp(28px,5vw,82px);margin:0 auto;padding-top:34px;display:grid}.hero-copy{max-width:580px}.signal-pill{width:fit-content;min-height:34px;color:var(--accent-strong);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:var(--radius);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:9px;margin-bottom:24px;padding:0 12px;font-size:.78rem;font-weight:650;display:inline-flex}.hero-copy h1{max-width:720px;color:var(--ink);font-family:var(--font-display);letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(2.65rem,4.6vw,5.2rem);font-weight:600;line-height:.98}.hero-copy h1 span{display:block}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.primary-action,.ghost-action{border-radius:var(--radius);justify-content:center;align-items:center;gap:10px;min-height:50px;padding:0 20px;font-weight:600;transition:transform .2s,box-shadow .2s,background-color .2s;display:inline-flex}.primary-action{color:#fff;background:var(--ink);box-shadow:0 18px 38px #17161429}html[data-theme=dark] .primary-action{color:var(--page);background:var(--accent-strong);box-shadow:0 18px 38px #00000047}.ghost-action{color:var(--ink);background:var(--surface-solid);border:1px solid var(--line)}.primary-action:hover,.ghost-action:hover{transform:translateY(-1px)}.scan-stage{perspective:1400px;place-items:center;min-height:clamp(480px,66svh,760px);display:grid;position:relative}.scan-frame{aspect-ratio:1/.74;background:var(--surface-solid);border-radius:var(--radius);border:1px solid #ffffffb3;width:min(100%,820px);position:relative;overflow:hidden;transform:rotateX(2deg)rotateY(-6deg);box-shadow:0 34px 90px #30281f2e}.scan-frame img{object-fit:cover;filter:saturate(.98)contrast(1.02);width:100%;height:100%}.scan-grid,.scan-line{pointer-events:none;position:absolute;inset:0}.scan-grid{opacity:.34;background-color:#0000;background-image:linear-gradient(#fff3 1px,#0000 1px),linear-gradient(90deg,#fff3 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:58px 58px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.scan-line{opacity:.72;background:linear-gradient(#0000,#ffffff9e,#0000);height:118px;animation:5.8s ease-in-out infinite scan}.corner{opacity:.9;border-color:#ffffffe0;width:70px;height:70px;position:absolute}.corner-a{border-top:2px solid;border-left:2px solid;top:18px;left:18px}.corner-b{border-bottom:2px solid;border-right:2px solid;bottom:18px;right:18px}.depth-badge,.camera-badge{min-height:38px;color:var(--ink);border-radius:var(--radius);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;border:1px solid #ffffffd1;align-items:center;gap:8px;padding:0 12px;font-size:.82rem;font-weight:600;display:inline-flex;position:absolute}.depth-badge{bottom:22px;left:20px}.camera-badge{top:22px;right:20px}.angle-orbit{border:1px dashed color-mix(in srgb, var(--ink) 22%, transparent);pointer-events:none;border-radius:52% 48% 46% 54%;position:absolute;inset:5% 1% 2% 0;transform:rotateX(65deg)rotate(-8deg)}.angle-orbit span{--angle:calc(var(--index) * 72deg);left:calc(50% + cos(var(--angle)) * 46%);top:calc(50% + sin(var(--angle)) * 43%);color:#fff;background:var(--sage);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid;position:absolute;transform:translate(-50%,-50%)rotate(8deg)rotateX(-65deg);box-shadow:0 12px 24px #66745f38}.studio-section,.project-section,.result-section,.package-section,.gallery-section{border-top:1px solid var(--line);padding:clamp(56px,8vw,104px) clamp(18px,4vw,64px)}.studio-section,.result-section,.gallery-section{background:color-mix(in srgb, var(--page-soft) 72%, var(--page))}.project-section,.package-section{background:var(--page)}.section-heading{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:920px;margin:0 auto 28px;display:flex}.section-heading span,.eyebrow{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.74rem;font-weight:600}.section-heading h2{max-width:760px;color:var(--ink);font-family:var(--font-display);text-wrap:balance;margin:0;font-size:clamp(1.75rem,2.8vw,3.15rem);font-weight:650;line-height:1.08}.studio-layout,.project-grid,.result-layout,.project-style-panel,.project-requirement-panel,.project-generation-panel,.package-panel,.gallery-panel{max-width:var(--content-max);margin-left:auto;margin-right:auto}.studio-layout,.project-grid,.result-layout{grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:18px;display:grid}.studio-layout>*,.project-grid>*,.result-layout>*,.project-style-layout>*,.requirement-layout>*,.revision-workbench>*,.package-layout>*{min-width:0}.result-layout{grid-template-columns:minmax(0,1fr)}.upload-console,.prompt-console,.project-panel,.project-style-panel,.project-requirement-panel,.assistant-panel,.package-panel,.gallery-panel{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.upload-console,.prompt-console,.project-panel,.project-requirement-panel,.assistant-panel,.package-panel,.gallery-panel{padding:clamp(18px,3vw,28px)}.console-header,.monitor-main,.compare-toolbar,.reference-head,.package-head,.gallery-head,.room-bucket-head,.package-room>div:first-child{justify-content:space-between;align-items:center;gap:16px;display:flex}.console-header h3,.monitor-main h3,.gallery-head h3{color:var(--ink);font-family:var(--font-display);margin:6px 0 0;font-size:clamp(1.18rem,1.55vw,1.72rem);font-weight:650}.status{min-height:32px;color:var(--accent-strong);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);border-radius:var(--radius);align-items:center;padding:0 10px;font-weight:600;display:inline-flex}.status.good{color:var(--sage);background:var(--sage-soft);border-color:color-mix(in srgb, var(--sage) 32%, transparent)}.field-line{gap:8px;margin-top:18px;display:grid}.field-line span,.chip-block>span,.room-requirement-head span,.room-requirement-list label>span,.prompt-box span{color:var(--muted);text-transform:uppercase;font-size:.8rem;font-weight:600}.field-line input,.field-line select,.room-requirement-list textarea,.prompt-box textarea{width:100%;color:var(--ink);background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius);box-shadow:inset 0 1px #ffffff80}.field-line input,.field-line select{min-height:42px;padding:0 12px}.field-line input:hover,.field-line select:hover,.room-requirement-list textarea:hover,.prompt-box textarea:hover{border-color:var(--line-strong)}.option-row,.chip-block div,.quick-prompts,.package-meta,.brief-chip-list,.room-area-picker{flex-wrap:wrap;gap:8px;display:flex}.option-row{margin-top:18px}.option-row button,.chip-block button,.quick-prompts button,.style-library button,.room-area-picker button{min-height:36px;color:var(--ink);background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;padding:0 12px;font-weight:500;transition:transform .18s,border-color .18s,background-color .18s}.option-row button:hover,.chip-block button:hover,.quick-prompts button:hover,.style-library button:hover,.room-area-picker button:hover{border-color:var(--line-strong);transform:translateY(-1px)}.option-row button.active,.chip-block button.active,.style-library button.active,.room-area-picker button.active,.result-switcher button.active{color:#fff;background:var(--ink);border-color:var(--ink)}html[data-theme=dark] .option-row button.active,html[data-theme=dark] .chip-block button.active,html[data-theme=dark] .style-library button.active,html[data-theme=dark] .room-area-picker button.active,html[data-theme=dark] .result-switcher button.active{color:var(--page);background:var(--accent-strong);border-color:var(--accent-strong)}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.mode-grid button{min-height:74px;color:var(--ink);background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;place-items:center;gap:6px;font-weight:600;display:grid}.mode-grid button.active{color:#fff;background:linear-gradient(135deg, var(--ink), color-mix(in srgb, var(--sage) 70%, var(--ink)));border-color:#0000}html[data-theme=dark] .mode-grid button.active{color:var(--page);background:linear-gradient(135deg, var(--accent-strong), color-mix(in srgb, var(--sage) 76%, var(--accent-strong)));border-color:#0000}.floor-plan-button{width:100%;min-height:194px;color:var(--muted);background:linear-gradient(135deg, #ffffffb3, #ffffff57), var(--surface-inset);border:1px dashed color-mix(in srgb, var(--blue) 36%, var(--line));border-radius:var(--radius);cursor:pointer;place-items:center;gap:8px;margin-top:18px;display:grid;overflow:hidden}.floor-plan-button img{object-fit:contain;width:100%;height:100%;max-height:240px}.file-pill{max-width:100%;color:var(--accent-strong);text-overflow:ellipsis;white-space:nowrap;padding:10px 12px;overflow:hidden}.room-area-picker{margin-top:14px}.room-area-picker button{align-items:center;gap:7px;display:inline-flex}.room-area-picker span{min-width:20px;height:20px;color:inherit;background:color-mix(in srgb, currentColor 10%, transparent);border-radius:999px;place-items:center;font-size:.72rem;display:inline-grid}.add-room-photo,.generate-button,.recommendation-card button,.reference-head button,.package-head button{color:#fff;background:var(--ink);border:1px solid var(--ink);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:600;display:inline-flex;box-shadow:0 16px 32px #1716141f}html[data-theme=dark] .add-room-photo,html[data-theme=dark] .generate-button,html[data-theme=dark] .recommendation-card button,html[data-theme=dark] .reference-head button,html[data-theme=dark] .package-head button{color:var(--page);background:var(--accent-strong);border-color:var(--accent-strong);box-shadow:0 16px 32px #00000047}.add-room-photo{width:100%;margin-top:14px}.room-stack{gap:10px;margin-top:14px;display:grid}.room-bucket,.reference-uploader,.revision-editor,.version-panel,.package-block,.package-room,.gallery-empty{background:color-mix(in srgb, var(--surface-solid) 82%, var(--surface-muted));border:1px solid var(--line);border-radius:var(--radius)}.room-bucket{padding:10px}.room-bucket.active{border-color:color-mix(in srgb, var(--sage) 48%, var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sage) 20%, transparent)}.room-bucket-head button{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:600}.room-bucket-head span,.room-photo-grid figcaption span,.recommendation-card p,.recommendation-card small,.room-overview-list span,.reference-card span,.reference-card small,.version-item strong,.package-block p,.package-room p,.package-images figcaption,.saved-card span,.saved-card small,.empty-state,.gallery-empty,.result-empty{color:var(--muted)}.room-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.room-photo-grid figure{--image-ratio:1.333;background:var(--surface-inset);border:1px solid var(--line);border-radius:6px;min-width:0;margin:0;overflow:hidden}.room-photo-grid img,.reference-card img,.result-switcher img,.version-item img,.package-block.floor img,.package-images img,.saved-card>img{background:var(--surface-inset)}.room-photo-grid img{width:100%;aspect-ratio:var(--image-ratio);object-fit:contain;min-height:88px;max-height:180px;display:block}.room-photo-grid figcaption{grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:6px;min-height:32px;padding:4px 5px 4px 8px;display:grid}.room-photo-grid figcaption button,.reference-card button,.compare-toolbar button,.compare-toolbar a,.saved-actions a,.saved-actions button{color:var(--ink);background:color-mix(in srgb, var(--surface-solid) 88%, transparent);border:1px solid var(--line);cursor:pointer;border-radius:50%;place-items:center;display:grid}.room-photo-grid figcaption button{width:24px;height:24px}.chip-block{gap:10px;margin-top:18px;display:grid}.recommendation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.recommendation-card{background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius);min-height:220px;padding:16px;box-shadow:0 10px 28px #221e190d}.recommendation-card.active{border-color:color-mix(in srgb, var(--accent) 52%, var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent)}.recommendation-card span{color:var(--blue);font-family:var(--font-mono);text-transform:uppercase;font-size:.72rem;font-weight:600}.recommendation-card h3{color:var(--ink);font-family:var(--font-display);margin:12px 0 10px;font-size:1.18rem}.recommendation-card p,.recommendation-card small{line-height:1.58;display:block}.recommendation-card button{margin-top:14px;padding:0 13px}.project-style-panel{margin-top:18px;padding:clamp(18px,3vw,24px)}.project-requirement-panel{margin-top:18px}.requirement-layout{grid-template-columns:minmax(260px,.85fr) minmax(260px,.85fr) minmax(320px,1.1fr);align-items:stretch;gap:16px;margin-top:16px;display:grid}.requirement-controls{min-width:0}.requirement-brief,.room-requirement-editor{align-content:start;gap:12px;display:grid}.room-requirement-list{gap:10px;max-height:310px;padding-right:6px;display:grid;overflow:auto}.room-requirement-list label{grid-template-columns:58px minmax(0,1fr);align-items:start;gap:10px;display:grid}.room-requirement-list label>span{min-height:38px;color:var(--blue);font-family:var(--font-mono);letter-spacing:.04em;align-items:center;display:inline-flex}.room-requirement-list textarea,.prompt-box textarea{resize:vertical;padding:11px 12px;line-height:1.55}.room-requirement-list textarea{min-height:60px}.room-requirement-list textarea:focus,.prompt-box textarea:focus{border-color:var(--blue)}.brief-preview{background:var(--blue-soft);border:1px solid color-mix(in srgb, var(--blue) 22%, transparent);border-radius:var(--radius);padding:14px}.brief-preview span{color:var(--blue);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:600;display:block}.brief-preview p,.package-brief-text{color:var(--ink);margin:0;line-height:1.62}.project-style-layout{grid-template-columns:minmax(420px,1.15fr) minmax(320px,.85fr);align-items:stretch;gap:14px;margin-top:16px;display:grid}.style-choice-area{align-content:stretch;gap:14px;display:grid}.flat-panel{box-shadow:none;background:0 0;border:0;flex-direction:column;padding:0;display:flex}.compact-recommendations .recommendation-card p{max-height:4.7em;overflow:hidden}.compact-recommendations .recommendation-card{min-height:168px}.style-choice-area .recommendation-grid{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:1fr;height:100%}.style-library{background:var(--surface-inset);border:1px solid var(--line);border-radius:var(--radius);flex:1;gap:12px;min-height:0;margin-top:18px;padding:14px;display:grid;overflow:auto}.project-generation-panel{margin-top:18px}.style-library section{gap:8px;display:grid}.style-library h4{color:var(--blue);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.73rem;font-weight:650}.project-status-strip{border-top:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:8px;margin-top:16px;padding-top:14px;display:grid}.project-status-strip span,.project-status-strip strong{min-height:34px;color:var(--muted);background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius);justify-content:center;align-items:center;padding:0 10px;font-size:.76rem;font-weight:600;display:inline-flex}.project-status-strip span.active,.project-status-strip strong{color:#fff;background:var(--sage);border-color:var(--sage)}html[data-theme=dark] .project-status-strip span.active,html[data-theme=dark] .project-status-strip strong{color:var(--page);background:var(--sage);border-color:var(--sage)}.upload-console input[type=file],.prompt-console input[type=file],.project-panel input[type=file]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.empty-state,.error-box{border-radius:var(--radius);margin-top:14px;padding:14px;line-height:1.55}.empty-state{background:var(--surface-inset);border:1px solid var(--line)}.error-box{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent);border:1px solid color-mix(in srgb, var(--danger) 34%, transparent)}.reference-uploader{margin-top:20px;padding:14px}.reference-head h4{font-family:var(--font-display);margin:3px 0 0;font-size:1rem}.reference-head button{padding:0 12px}.reference-head button:disabled,.generate-button:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.52}html[data-theme=dark] .reference-head button:disabled,html[data-theme=dark] .generate-button:disabled{color:color-mix(in srgb, var(--ink) 72%, transparent);background:color-mix(in srgb, var(--surface-muted) 76%, var(--surface-solid));border-color:var(--line-strong);box-shadow:none;filter:none;opacity:1}.reference-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.reference-card{--image-ratio:1.333;background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius);min-height:142px;position:relative;overflow:hidden}.reference-card img{width:100%;aspect-ratio:var(--image-ratio);object-fit:contain;max-height:132px;display:block}.reference-card div{padding:8px}.reference-card strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:1px 0 2px;font-size:.8rem;display:block;overflow:hidden}.reference-card button{width:27px;height:27px;position:absolute;top:7px;right:7px}.selected-direction{background:var(--sage-soft);border:1px solid color-mix(in srgb, var(--sage) 28%, transparent);border-radius:var(--radius);grid-template-columns:1fr auto;gap:4px 10px;margin-top:18px;padding:12px;display:grid}.selected-direction span{color:var(--sage);font-family:var(--font-mono);text-transform:uppercase;font-size:.72rem;font-weight:600}.selected-direction strong{color:var(--ink);font-family:var(--font-display);grid-column:1/-1}.selected-direction small{color:var(--accent-strong);align-self:start;font-weight:600}.room-overview-list{gap:10px;margin-top:18px;display:grid}.room-overview-list button{min-height:58px;color:var(--ink);text-align:left;background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;gap:4px;padding:11px 12px;display:grid}.room-overview-list strong{font-family:var(--font-display)}.prompt-box{gap:9px;margin-top:18px;display:grid}.prompt-box textarea{min-height:128px}.prompt-box.compact textarea{min-height:72px}.rule-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.rule-list div{min-height:38px;color:var(--soft);background:var(--surface-solid);border:1px solid var(--line);border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:.84rem;display:flex}.generate-button{width:100%;min-height:56px;margin-top:18px}.spin{animation:1s linear infinite spin}.compare-panel{background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-panel);overflow:hidden}.compare-toolbar{border-bottom:1px solid var(--line);min-height:58px;padding:0 14px 0 18px}.compare-toolbar span{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;font-size:.8rem;font-weight:600}.compare-toolbar div{gap:8px;display:flex}.compare-toolbar button,.compare-toolbar a{width:36px;height:36px;text-decoration:none}.compare-toolbar button[disabled],.compare-toolbar button:disabled,.disabled-download{pointer-events:none;opacity:.42}html[data-theme=dark] .compare-toolbar button[disabled],html[data-theme=dark] .compare-toolbar button:disabled,html[data-theme=dark] .disabled-download{opacity:.68}.result-switcher{border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:70px;padding:10px 14px;display:flex;overflow-x:auto}.result-switcher button{min-width:104px;height:48px;color:var(--soft);text-align:left;background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;flex:none;grid-template-columns:44px 1fr;align-items:center;gap:8px;padding:4px 10px 4px 4px;display:grid}.result-switcher img{object-fit:contain;border-radius:5px;width:44px;height:40px}.result-switcher span{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.result-note{color:var(--danger);flex:none;font-size:.82rem}.gallery-status{min-height:28px;color:var(--accent-strong);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);border-radius:var(--radius);align-items:center;margin-top:14px;padding:0 9px;font-size:.78rem;display:inline-flex}.image-compare{--compare:50%;--image-ratio:1.7778;min-height:min(70vh,520px);max-height:78vh;aspect-ratio:var(--image-ratio);background:var(--surface-inset);position:relative;overflow:hidden}.result-empty{text-align:center;background:linear-gradient(#201e1a0d 1px, transparent 1px), linear-gradient(90deg, #201e1a0d 1px, transparent 1px), var(--surface-inset);background-size:42px 42px;align-content:center;place-items:center;gap:10px;min-height:420px;padding:28px;display:grid}.result-empty strong{color:var(--ink);font-family:var(--font-display);font-size:1.28rem}.result-empty span{max-width:360px;line-height:1.6}.image-compare img{object-fit:contain;width:100%;height:100%;display:block}.after-layer{clip-path:inset(0 calc(100% - var(--compare)) 0 0);position:absolute;inset:0;overflow:hidden}.compare-divider{top:0;bottom:0;left:clamp(0%, var(--compare), 100%);background:var(--accent);pointer-events:none;width:2px;position:absolute;transform:translate(-1px);box-shadow:0 0 28px #8b5f3f5c}.before-label,.after-label{min-height:30px;color:var(--ink);background:color-mix(in srgb, var(--surface-solid) 78%, transparent);border:1px solid var(--line);border-radius:var(--radius);text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;padding:0 10px;font-size:.76rem;font-weight:650;display:inline-flex;position:absolute;top:16px}.before-label{right:16px}.after-label{left:16px}.image-compare input{width:100%;accent-color:var(--accent);position:absolute;inset:auto 0 22px}.revision-workbench{border-top:1px solid var(--line);grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);gap:14px;padding:14px;display:grid}.revision-editor,.version-panel{padding:16px}.quick-prompts{margin-top:14px}.version-list{gap:10px;max-height:420px;margin-top:14px;display:grid;overflow:auto}.version-item{background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr auto;gap:10px;padding:8px;display:grid}.version-item.active{border-color:color-mix(in srgb, var(--sage) 44%, var(--line))}.version-item>button{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:64px 1fr;align-items:center;gap:10px;padding:0;display:grid}.version-item img{object-fit:contain;border-radius:6px;width:64px;height:48px}.version-item span,.version-item strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.version-item span{color:var(--blue);font-size:.76rem;font-weight:600}.version-item strong{font-size:.8rem;font-weight:500}.version-item div{align-items:center;gap:6px;display:flex}.version-item div button{min-height:32px;color:var(--soft);background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.package-head h3{font-family:var(--font-display);margin:6px 0 0;font-size:clamp(1.35rem,2.1vw,2.25rem)}.package-head button{padding:0 14px}.package-meta{margin-top:16px}.package-meta span,.brief-chip-list span{min-height:28px;color:var(--soft);background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);align-items:center;padding:0 9px;font-size:.78rem;font-weight:500;display:inline-flex}.brief-chip-list.muted span{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 30%, var(--line))}.package-layout{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:14px;margin-top:18px;display:grid}.package-block,.package-room{padding:14px}.package-block h4,.package-room h4{color:var(--ink);font-family:var(--font-display);margin:0 0 10px}.package-block p{margin:0 0 14px;line-height:1.55}.package-block.floor img{object-fit:contain;border-radius:6px;width:100%;max-height:320px}.package-empty{min-height:160px;color:var(--muted);background:var(--surface-inset);border:1px dashed var(--line);border-radius:6px;place-items:center;display:grid}.package-room-grid{gap:14px;margin-top:18px;display:grid}.package-room>div:first-child span{color:var(--blue);font-family:var(--font-mono);font-weight:600}.package-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px;display:grid}.package-images figure{margin:0}.package-images img,.package-images .package-empty{aspect-ratio:16/10;object-fit:contain;border-radius:6px;width:100%;min-height:auto}.package-images figcaption{margin-top:6px;font-size:.8rem}.package-room p{margin:10px 0 0;font-size:.88rem;line-height:1.5}.gallery-head>span{color:var(--accent-strong);font-family:var(--font-mono);font-weight:600}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.saved-card{background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius);min-height:260px;position:relative;overflow:hidden}.saved-card>img{aspect-ratio:16/11;object-fit:contain;width:100%;display:block}.saved-card>div:not(.saved-actions){padding:12px}.saved-card strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:4px 0;display:block;overflow:hidden}.saved-actions{gap:6px;display:flex;position:absolute;top:8px;right:8px}.saved-actions a,.saved-actions button{width:30px;height:30px}.gallery-empty{text-align:center;align-content:center;place-items:center;gap:10px;min-height:230px;margin-top:18px;padding:28px;display:grid}.gallery-empty strong{color:var(--ink);font-family:var(--font-display);font-size:1.2rem}@keyframes scan{0%{transform:translateY(-130px)}50%{transform:translateY(calc(100% + 40px))}to{transform:translateY(-130px)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1120px){.hero-grid,.studio-layout,.project-grid,.result-layout,.recommendation-grid,.project-style-layout,.requirement-layout,.revision-workbench,.package-layout{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{justify-content:flex-start;width:100%;padding-bottom:2px;overflow-x:auto}.hero-copy{max-width:680px}.scan-stage{min-height:520px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{body{color:#111;background:#fff}.hero-panel,.project-section,.studio-section,.result-section,.gallery-section,.topbar,.package-head button{display:none!important}.app-shell{width:100%}.package-section{border:0;padding:0}.package-panel,.package-block,.package-room{color:#111;box-shadow:none;background:#fff;border-color:#ddd}}@media (width<=760px){.hero-panel{min-height:auto;padding-top:14px}.hero-grid{min-height:auto;padding-top:30px}.topbar-actions a,.topbar-actions button{flex:none;min-width:76px}.hero-copy h1{font-size:clamp(2rem,10vw,3.05rem);line-height:1.03}.section-heading h2{font-size:clamp(1.55rem,7vw,2.15rem);line-height:1.12}.hero-actions a{width:100%}.scan-stage{min-height:360px}.scan-frame{transform:none}.angle-orbit{display:none}.reference-strip,.room-photo-grid,.mode-grid,.project-status-strip,.rule-list,.package-images{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}body{background:linear-gradient(180deg, #ffffffc7, #fff0 360px), var(--page)}.hero-panel{padding:12px 18px 38px}.topbar{gap:8px;padding:9px;top:8px;box-shadow:0 14px 32px #27221c1a}.brand{gap:9px;font-size:.86rem}.brand-mark{width:31px;height:28px}.topbar-actions{scroll-snap-type:none;grid-template-columns:repeat(4,minmax(0,1fr));justify-content:stretch;gap:6px;width:100%;padding-bottom:0;display:grid;overflow:visible}.topbar-actions a,.topbar-actions button{scroll-snap-align:none;flex:auto;width:100%;min-width:0;min-height:32px;padding:0 6px;font-size:.76rem;line-height:1}.theme-toggle-button{width:100%;padding:0}.hero-grid{gap:24px;padding-top:26px}.signal-pill{min-height:32px;margin-bottom:18px;font-size:.72rem}.hero-copy h1{max-width:330px;font-size:clamp(2.1rem,10.4vw,2.85rem);line-height:1.04}.hero-actions{gap:10px;margin-top:24px}.primary-action,.ghost-action{min-height:50px;padding:0 16px}.scan-stage{min-height:auto;display:block}.scan-frame{aspect-ratio:4/3;width:100%;box-shadow:0 22px 52px #30281f29}.corner{width:46px;height:46px}.depth-badge,.camera-badge{min-height:34px;padding:0 10px;font-size:.76rem}.depth-badge{bottom:12px;left:12px}.camera-badge{top:12px;right:12px}.studio-section,.project-section,.result-section,.package-section,.gallery-section{padding:44px 18px}.section-heading{text-align:left;align-items:flex-start;gap:8px;margin-bottom:18px}.section-heading span,.eyebrow{letter-spacing:.11em;font-size:.68rem}.studio-layout,.project-grid,.project-style-layout,.requirement-layout,.result-layout,.package-layout,.revision-workbench{gap:12px;width:100%;min-width:0}.upload-console,.prompt-console,.project-panel,.project-style-panel,.project-requirement-panel,.assistant-panel,.package-panel,.gallery-panel{padding:16px;box-shadow:0 14px 34px #27221c14}.console-header,.monitor-main,.reference-head,.package-head,.gallery-head{align-items:flex-start}.console-header h3,.monitor-main h3,.gallery-head h3,.package-head h3{font-size:1.25rem;line-height:1.2}.field-line{margin-top:16px}.field-line input,.field-line select{min-height:46px;font-size:1rem}.option-row,.chip-block div,.quick-prompts,.brief-chip-list{gap:7px}.option-row button,.chip-block button,.quick-prompts button,.style-library button,.room-area-picker button{min-height:38px;padding:0 10px;font-size:.92rem}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.mode-grid button{min-height:62px;padding:8px 4px;font-size:.92rem;line-height:1.2}.floor-plan-button{min-height:150px}.room-area-picker{scrollbar-width:none;scroll-snap-type:x proximity;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.room-area-picker::-webkit-scrollbar{display:none}.room-area-picker button{scroll-snap-align:start;flex:none}.add-room-photo,.generate-button{min-height:52px}.room-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-strip,.selected-direction,.rule-list{grid-template-columns:1fr}.project-status-strip{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.project-status-strip::-webkit-scrollbar{display:none}.project-status-strip span,.project-status-strip strong{flex:none;min-width:92px}.room-requirement-list{max-height:360px;padding-right:4px}.room-requirement-list label{grid-template-columns:44px minmax(0,1fr);gap:8px}.room-requirement-list textarea,.prompt-box textarea{font-size:.95rem}.style-choice-area .recommendation-grid{scroll-snap-type:x mandatory;scrollbar-width:none;height:auto;padding-bottom:2px;display:flex;overflow-x:auto}.style-choice-area .recommendation-grid::-webkit-scrollbar{display:none}.style-choice-area .recommendation-card{scroll-snap-align:start;flex:0 0 82%;min-height:166px}.recommendation-card{padding:14px}.recommendation-card h3{font-size:1.08rem}.style-library{overscroll-behavior:contain;max-height:460px;padding:12px}.style-library section{gap:7px}.compare-toolbar{flex-direction:column;align-items:flex-start;min-height:auto;padding:12px}.compare-toolbar div{justify-content:flex-end;width:100%}.result-switcher{min-height:62px;padding:8px 12px}.image-compare{min-height:250px}.revision-workbench{padding:12px}.revision-editor,.version-panel{padding:14px}.version-item{grid-template-columns:1fr}.version-item div{flex-wrap:wrap;justify-content:flex-start}.package-head{flex-direction:column}.package-meta{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.package-meta::-webkit-scrollbar{display:none}.package-meta span{flex:none}.back-to-top{width:42px;height:42px;bottom:16px;right:16px;box-shadow:0 12px 28px #1716142e}}@media (width<=430px){.hero-copy h1{max-width:310px}.project-panel,.project-style-panel,.project-requirement-panel,.upload-console,.prompt-console,.package-panel,.gallery-panel{border-radius:7px}.style-choice-area .recommendation-card{flex-basis:88%}.gallery-empty,.result-empty{min-height:210px}}
