html{background:#f7f5ef;min-width:320px;min-height:100%}body,#root{min-height:100vh}:root{--ink:#141414;--body:#3e3a35;--muted:#766f65;--canvas:#f7ecd7;--paper:#fffaf0;--paper-strong:#fffdf8;--line:#27231f;--line-soft:#14141429;--clay-red:#ff5b45;--clay-blue:#77d4ff;--clay-lime:#c6f25c;--clay-yellow:#ffd85a;--clay-purple:#b99cff;--clay-pink:#ff9ecf;--clay-green:#2fbf8f;--shadow-pop:8px 8px 0 var(--ink);--shadow-soft:0 18px 50px #2c231826;--radius-xl:32px;--radius-lg:24px;--radius-md:18px}*{box-sizing:border-box}body{background:linear-gradient(#1414140b 1px, transparent 1px), linear-gradient(90deg, #1414140b 1px, transparent 1px), var(--canvas);color:var(--ink);background-size:34px 34px;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:4px solid #77d4ffb3}.app{width:min(1720px,100%);margin:0 auto;padding:28px}.shell-header{grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:22px;display:grid}.brand-mark{border:2px solid var(--ink);background:var(--clay-lime);width:58px;height:58px;box-shadow:5px 5px 0 var(--ink);color:var(--ink);border-radius:18px;place-items:center;font-weight:950;display:grid;transform:rotate(-4deg)}.eyebrow,.caption,.category{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0;font-size:12px;font-weight:900}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;margin:0;font-size:clamp(28px,4.5vw,58px);line-height:.98}h2{letter-spacing:0;margin:0;font-size:clamp(36px,5vw,78px);line-height:.96}h3{letter-spacing:0;margin:0 0 8px;font-size:17px;line-height:1.2}.header-actions{align-items:center;gap:10px;display:flex}.button{border:2px solid var(--ink);background:var(--paper);min-height:46px;color:var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:900;display:inline-flex}.button.primary{background:var(--clay-red);color:var(--ink)}.button.full{width:100%}.button:disabled{cursor:wait;opacity:.68;transform:none}.button:hover:not(:disabled){box-shadow:5px 5px 0 var(--ink);transform:translate(-1px,-1px)}.hero-strip{border:2px solid var(--ink);border-radius:var(--radius-xl);background:var(--paper-strong);box-shadow:var(--shadow-pop);grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:end;gap:24px;margin-bottom:22px;padding:34px;display:grid;position:relative;overflow:hidden}.hero-strip:after{content:"";border:2px solid var(--ink);background:var(--clay-blue);z-index:0;border-radius:46% 54% 50% 50%;width:240px;height:240px;position:absolute;top:-66px;right:-58px;transform:rotate(18deg)}.hero-strip>*{z-index:1;position:relative}.hero-strip .caption{margin-bottom:12px}.hero-strip h2{max-width:980px}.trust-row{justify-items:end;gap:10px;display:grid}.trust-row span{border:2px solid var(--ink);background:var(--clay-yellow);min-height:42px;color:var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:16px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:900;display:inline-flex}.trust-row span:nth-child(2){background:var(--clay-pink)}.trust-row span:nth-child(3){background:var(--clay-lime)}.workspace-grid{grid-template-columns:360px minmax(430px,.92fr) minmax(520px,1.2fr);align-items:start;gap:20px;display:grid}.input-rail,.visual-board,.plan-panel{gap:18px;display:grid}.upload-card,.control-card,.room-card,.allocation-card,.plan-panel,.info-card,.product-card,.chip-panel,.lighting-card,.metric-card{border:2px solid var(--ink);border-radius:var(--radius-lg);background:var(--paper-strong)}.upload-card,.control-card,.allocation-card,.plan-panel{box-shadow:5px 5px 0 var(--ink);padding:20px}.upload-card{background:var(--clay-blue)}.control-card{background:var(--paper)}.section-heading{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.section-heading svg{color:var(--ink);flex:none;margin-top:1px}.section-heading p{color:var(--body);margin:0;font-size:13px;line-height:1.45}.dropzone{border:2px dashed var(--ink);width:100%;min-height:144px;color:var(--ink);background:#ffffff8a;border-radius:22px;place-items:center;gap:10px;font-weight:900;display:grid}.dropzone input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.dropzone span{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.dropzone:hover{background:var(--paper-strong)}.error-text{color:#7b130f;align-items:center;gap:6px;margin:12px 0 0;font-size:13px;font-weight:800;display:flex}.field-group{gap:10px;margin-top:20px;display:grid}.field-label{color:var(--ink);justify-content:space-between;font-size:13px;font-weight:950;display:flex}.style-list,.room-grid,.toggle-grid{gap:10px;display:grid}.style-pill,.room-grid button{border:2px solid var(--ink);background:var(--paper-strong);min-height:46px;color:var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:18px;justify-content:space-between;align-items:center;padding:0 14px;font-weight:800;display:flex}.style-pill.selected,.room-grid button.selected{background:var(--clay-red);color:var(--ink)}input[type=range]{width:100%;accent-color:var(--clay-red)}.room-grid{grid-template-columns:repeat(3,1fr)}.room-grid button{justify-content:center;padding:0 8px;font-size:13px}.toggle-grid{grid-template-columns:1fr 1fr;margin-top:20px}.toggle{border:2px solid var(--ink);background:var(--paper-strong);min-height:44px;color:var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:18px;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:850;display:flex}.toggle input{accent-color:var(--clay-red)}.room-card{min-height:560px;box-shadow:var(--shadow-pop);background:var(--clay-purple);position:relative;overflow:hidden}.room-card img,.generated-room{object-fit:cover;width:100%;height:560px;display:block}.generated-room{background:radial-gradient(circle at 18% 20%, #ffffffb8, transparent 20%), radial-gradient(circle at 82% 18%, #ffd85ae6, transparent 18%), var(--clay-purple);position:relative}.generated-room:before{content:"STYLE BOARD";border:2px solid var(--ink);background:var(--paper-strong);z-index:4;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:950;position:absolute;top:24px;left:24px}.generated-room:after{content:"";border:2px solid var(--ink);z-index:0;background:linear-gradient(135deg,#ffffff59,#ffffff0d),#ffffff3d;border-radius:34px;position:absolute;inset:72px 34px 34px}.pin-card,.window-block,.sofa-block,.rug-block,.lamp-block{border:2px solid var(--ink);box-shadow:7px 7px 0 var(--ink);z-index:2;position:absolute}.pin-card{border-radius:28px}.pin-card.one{background:var(--clay-yellow);width:148px;height:188px;top:106px;left:54px;transform:rotate(-7deg)}.pin-card.two{background:var(--clay-red);width:178px;height:138px;top:94px;right:70px;transform:rotate(5deg)}.pin-card.three{background:var(--clay-blue);width:214px;height:146px;bottom:82px;left:130px;transform:rotate(4deg)}.window-block{background:var(--clay-lime);border-radius:999px;width:178px;height:96px;top:225px;left:70px;transform:rotate(-3deg)}.sofa-block{background:var(--clay-green);border-radius:36px;width:210px;height:168px;bottom:112px;right:74px;transform:rotate(-8deg)}.rug-block{background:repeating-linear-gradient(90deg, var(--ink) 0 24px, var(--clay-pink) 24px 48px, var(--clay-yellow) 48px 72px);border-radius:999px;height:78px;bottom:44px;left:68px;right:62px;transform:rotate(-2deg)}.lamp-block{background:var(--paper-strong);width:94px;height:94px;box-shadow:0 0 0 2px var(--ink), 10px 10px 0 var(--ink), 0 0 60px #ffd85ae6;border-radius:50%;top:238px;right:150px}.image-meta{z-index:5;justify-content:space-between;gap:12px;display:flex;position:absolute;bottom:18px;left:18px;right:18px}.image-meta span{border:2px solid var(--ink);background:var(--paper-strong);color:var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:999px;padding:9px 14px;font-size:12px;font-weight:950}.analysis-stack{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.metric-card{min-height:126px;box-shadow:4px 4px 0 var(--ink);padding:16px}.metric-card:first-child{background:var(--clay-lime)}.metric-card:nth-child(2){background:var(--clay-yellow)}.metric-card:nth-child(3){background:var(--clay-pink)}.metric-card div{border:2px solid var(--ink);background:var(--paper-strong);border-radius:14px;place-items:center;width:38px;height:38px;margin-bottom:12px;display:grid}.metric-card span{color:var(--body);margin-bottom:3px;font-size:12px;font-weight:850;display:block}.metric-card strong{font-size:28px;line-height:1}.allocation-card{background:var(--paper-strong)}.render-card{border:2px solid var(--ink);border-radius:var(--radius-lg);background:var(--clay-purple);box-shadow:5px 5px 0 var(--ink);gap:14px;padding:20px;display:grid}.task-strip{grid-template-columns:86px 1fr 48px;align-items:center;gap:10px;font-size:13px;font-weight:900;display:grid}.render-grid{gap:12px;display:grid}.render-grid a{border:2px solid var(--ink);background:var(--paper);box-shadow:4px 4px 0 var(--ink);border-radius:18px;display:block;overflow:hidden}.render-grid img{width:100%;height:auto;display:block}.allocation-card h3{margin-bottom:18px}.allocation-row,.confidence-row{min-height:34px;color:var(--ink);grid-template-columns:70px 1fr 58px;align-items:center;gap:10px;font-size:13px;font-weight:850;display:grid}.bar{border:2px solid var(--ink);background:var(--paper);border-radius:999px;height:12px;overflow:hidden}.bar span{border-right:2px solid var(--ink);border-radius:inherit;background:var(--clay-red);height:100%;display:block}.plan-panel{background:var(--paper-strong);position:sticky;top:18px}.plan-header{grid-template-columns:minmax(0,1fr) 70px;align-items:start;gap:16px;display:grid}.plan-header h2{font-size:clamp(30px,3.4vw,52px)}.score-badge{border:2px solid var(--ink);background:var(--clay-lime);width:70px;height:70px;color:var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:22px;place-items:center;font-size:26px;font-weight:950;display:grid;transform:rotate(4deg)}.plan-summary{color:var(--body);margin:16px 0 12px;font-weight:650;line-height:1.65}.ai-status{border:2px solid var(--ink);background:var(--clay-blue);color:var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:16px;align-items:flex-start;gap:8px;margin-bottom:18px;padding:11px 12px;font-size:13px;font-weight:850;line-height:1.45;display:flex}.ai-status.error{background:var(--clay-pink)}.tab-row{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.tab-row button{border:2px solid var(--ink);background:var(--paper);min-height:42px;color:var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:16px;padding:0 14px;font-weight:900}.tab-row button.active{background:var(--clay-red)}.view-grid,.shopping-grid,.palette-layout,.lighting-grid,.two-column{gap:14px;display:grid}.info-card,.chip-panel,.lighting-card{box-shadow:4px 4px 0 var(--ink);padding:18px}.info-card:first-child{background:var(--clay-blue)}.info-card:nth-child(2){background:var(--clay-yellow)}.info-card:nth-child(3){background:var(--clay-pink)}.info-card ul,.info-card ol{color:var(--ink);margin:0;padding-left:20px;font-weight:650;line-height:1.65}.shopping-grid{grid-template-columns:1fr}.product-card{box-shadow:4px 4px 0 var(--ink);grid-template-columns:130px minmax(0,1fr);display:grid;overflow:hidden}.ai-priority-card{border:2px solid var(--ink);border-radius:var(--radius-lg);background:var(--clay-lime);box-shadow:4px 4px 0 var(--ink);padding:18px}.ai-priority-card ol{gap:10px;margin:0;padding-left:20px;display:grid}.ai-priority-card li{font-weight:700;line-height:1.45}.ai-priority-card strong,.ai-priority-card span,.ai-priority-card code{display:block}.ai-priority-card code{border:2px solid var(--ink);background:var(--paper);border-radius:12px;width:fit-content;margin-top:6px;padding:5px 8px;font-family:inherit;font-size:12px;font-weight:900}.product-art{border-right:2px solid var(--ink);background:radial-gradient(circle at 32% 32%, #ffffffb3, transparent 24%), var(--product-color);min-height:190px;position:relative}.product-art span{border:2px solid var(--ink);background:var(--paper-strong);width:38px;height:38px;box-shadow:3px 3px 0 var(--ink);border-radius:14px;place-items:center;font-weight:950;display:grid;position:absolute;top:14px;left:14px}.product-body{gap:10px;padding:16px;display:grid}.product-title-row{justify-content:space-between;gap:12px;display:flex}.product-title-row h3{margin-bottom:0}.product-title-row strong{font-size:20px}.product-body p{color:var(--body);margin:0;font-weight:650;line-height:1.5}.note-row,.market-row,.chip-list{flex-wrap:wrap;gap:8px;display:flex}.note-row span,.chip-list span{border:2px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:850}.market-row a{border:2px solid var(--ink);background:var(--ink);color:#fff;box-shadow:2px 2px 0 var(--ink);border-radius:14px;align-items:center;gap:5px;padding:8px 11px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.market-row a:first-child{background:var(--clay-red);color:var(--ink)}.swatch-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.swatch{border:2px solid var(--ink);border-radius:var(--radius-lg);background:var(--paper-strong);min-height:170px;box-shadow:4px 4px 0 var(--ink);overflow:hidden}.swatch div{border-bottom:2px solid var(--ink);height:88px}.swatch strong,.swatch span,.swatch code{padding:0 12px;display:block}.swatch strong{padding-top:12px}.swatch span{color:var(--body);margin-top:3px;font-size:12px;font-weight:700}.swatch code{color:var(--muted);margin-top:7px;font-size:11px}.two-column{grid-template-columns:1fr 1fr}.chip-panel:first-child{background:var(--clay-lime)}.chip-panel:nth-child(2){background:var(--clay-yellow)}.lighting-grid{grid-template-columns:repeat(3,1fr)}.lighting-card{background:var(--paper-strong)}.lighting-card:first-child{background:var(--clay-yellow)}.lighting-card:nth-child(2){background:var(--clay-blue)}.lighting-card:nth-child(3){background:var(--clay-pink)}.lighting-card svg{color:var(--ink);margin-bottom:18px}.lighting-card>span{border:2px solid var(--ink);background:var(--paper-strong);color:var(--ink);border-radius:999px;margin-bottom:12px;padding:7px 10px;font-size:12px;font-weight:900;display:inline-block}.lighting-card p{color:var(--ink);margin-bottom:0;font-weight:650;line-height:1.55}@media (width<=1380px){.workspace-grid{grid-template-columns:360px minmax(0,1fr)}.plan-panel{grid-column:1/-1;position:static}.shopping-grid{grid-template-columns:1fr 1fr}}@media (width<=940px){.app{padding:16px}.shell-header,.hero-strip,.workspace-grid{grid-template-columns:1fr}.header-actions{grid-template-columns:1fr 1fr;display:grid}.trust-row{justify-items:start}.hero-strip{padding:24px}.room-card,.room-card img,.generated-room{height:430px;min-height:430px}}@media (width<=720px){.app{padding:12px}.header-actions,.analysis-stack,.shopping-grid,.swatch-grid,.lighting-grid,.two-column,.product-card{grid-template-columns:1fr}.button{width:100%}.room-grid,.toggle-grid{grid-template-columns:1fr 1fr}.product-art{border-right:0;border-bottom:2px solid var(--ink);min-height:104px}.allocation-row,.confidence-row{grid-template-columns:64px 1fr 48px}}
