:root{--brand-yellow:#fff200;--background:#f8f9f1;--foreground:#231f20;--card:#fff;--muted:#525252;--border:#dcdcdc}*{box-sizing:border-box}html{background:var(--background)}body{color:var(--foreground);background:var(--background);margin:0;font-family:Ploni,Heebo,Arial,sans-serif;font-size:16px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--brand-yellow);outline-offset:3px}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.brand-header{background:var(--background);border-bottom:1px solid #231f2014;justify-content:center;align-items:center;height:83px;padding:12px 20px;display:flex}.brand-header img{width:min(260px,80vw);height:auto;display:block}.app-content{flex:1;width:min(100%,1050px);margin:0 auto;padding:0 22px 52px}.app-footer{text-align:center;border-top:1px solid var(--border);color:var(--muted);padding:20px;font-size:12px}.step-bar{color:#767676;justify-content:center;align-items:center;gap:12px;padding:21px 0 18px;display:flex}.step-bar span{white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.step-bar b{border:1px solid #bbb;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:500;display:grid}.step-bar .active{color:var(--foreground);font-weight:700}.step-bar .active b{background:var(--brand-yellow);border-color:var(--foreground)}.intro{max-width:820px;margin:26px auto 0;position:relative}.eyebrow{color:var(--muted);align-items:center;gap:8px;margin:0 0 15px;font-size:14px;display:flex}.yellow-mark{background:var(--brand-yellow);width:22px;height:9px;display:inline-block;transform:rotate(-28deg)}.intro h1{letter-spacing:-.035em;margin:0 0 15px;font-size:clamp(32px,7vw,54px);font-weight:750;line-height:1.08}.intro h1 em{z-index:0;font-style:normal;position:relative}.intro h1 em:after{content:"";background:var(--brand-yellow);z-index:-1;height:11px;position:absolute;bottom:3px;left:0;right:0}.intro p{max-width:510px;color:var(--muted);margin:0 0 22px;font-size:17px;line-height:1.55}.intro-art{background:#e6e4e0;height:290px;margin:20px 0 23px;position:relative;overflow:hidden}.intro-art img{object-fit:cover;object-position:center 48%;width:100%;height:100%;display:block}.scene-badge{background:#f8f9f1e8;padding:8px 13px;font-size:13px;font-weight:700;position:absolute;bottom:14px;right:14px}.primary-button,.secondary-button{border:1px solid var(--foreground);text-align:center;justify-content:center;align-items:center;gap:9px;min-height:54px;padding:13px 20px;font-size:16px;font-weight:700;transition:transform .15s,background .15s;display:inline-flex}.primary-button{background:var(--foreground);color:#fff}.primary-button:hover:not(:disabled){background:#3b3536;transform:translateY(-1px)}.secondary-button{color:var(--foreground);background:0 0}.secondary-button:hover:not(:disabled){background:#edece3}.intro>.primary-button{width:100%}.intro .fine-print,.fine-print{color:#686868;font-size:12px}.intro .fine-print{text-align:center;max-width:none;margin:13px 0 0}.stage{max-width:720px;margin:5px auto 0}.stage-top{color:var(--muted);justify-content:space-between;align-items:center;min-height:34px;font-size:14px;display:flex}.stage h1{letter-spacing:-.02em;margin:13px 0 8px;font-size:clamp(28px,5vw,37px);line-height:1.17}.stage>p{color:var(--muted);margin:0 0 18px;line-height:1.5}.text-button{min-height:32px;color:var(--foreground);text-underline-offset:3px;background:0 0;border:none;align-items:center;gap:6px;padding:6px 0;font-size:14px;text-decoration:underline;display:inline-flex}.photo-stage{color:#787878;background:#fff;border:1px dashed #aaa;flex-direction:column;justify-content:center;align-items:center;gap:9px;width:100%;height:min(47vh,470px);min-height:300px;display:flex;overflow:hidden}.photo-stage strong{color:var(--foreground);font-size:17px}.photo-stage span{font-size:13px}.photo-stage img{object-fit:contain;width:100%;height:100%}.upload-actions,.result-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.upload-progress{background:#efeee7;height:27px;margin-top:8px;position:relative;overflow:hidden}.upload-progress div{background:var(--brand-yellow);height:100%;transition:width .2s;position:absolute}.upload-progress span{z-index:1;padding-inline:8px;font-size:12px;position:relative}.busy-note{align-items:center;gap:8px;display:flex}.continue{margin-top:13px}.mode-options{grid-template-columns:1fr 1fr;gap:10px;margin:17px 0 16px;display:grid}.mode-options button,.before-after button{border:1px solid var(--foreground);min-height:48px;color:var(--foreground);background:0 0;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-weight:700;display:flex}.mode-options button.selected,.before-after button.selected{background:var(--brand-yellow)}.placement-editor{background:var(--card);border:1px solid var(--border);padding:10px}.placement-photo{-webkit-user-select:none;user-select:none;touch-action:none;cursor:crosshair;margin-inline:auto;line-height:0;position:relative}.placement-photo img{width:100%;height:auto;display:block}.placement-region{border:3px solid var(--brand-yellow);box-shadow:0 0 0 1px var(--foreground),inset 0 0 0 1px var(--foreground);pointer-events:none;background:#fff2001a;line-height:1;position:absolute}.placement-region span{background:var(--brand-yellow);color:var(--foreground);white-space:nowrap;padding:5px 8px;font-size:12px;font-weight:700;position:absolute;top:-2px;right:-2px}.placement-controls{grid-template-columns:1fr 1fr;gap:12px;padding:15px 3px 5px;display:grid}.placement-controls label{gap:5px;font-size:13px;font-weight:700;display:grid}.placement-controls input[type=range]{accent-color:#231f20;width:100%}.move-buttons{grid-column:1/-1;justify-content:center;gap:7px;display:flex}.move-buttons button{border:1px solid var(--border);background:var(--background);width:44px;height:44px;font-size:21px}.reset-position{margin-top:7px}.sticky-action{background:linear-gradient(transparent,var(--background) 20%);padding:22px 0 max(14px,env(safe-area-inset-bottom));position:sticky;bottom:0}.sticky-action button{width:100%}.processing{text-align:center;max-width:550px;margin:clamp(70px,16vh,180px) auto}.processing-icon{background:var(--brand-yellow);border-radius:50%;place-items:center;width:70px;height:70px;margin:0 auto 22px;display:grid}.processing h1{margin:0 0 11px;font-size:31px}.processing p{color:var(--muted);line-height:1.55}.processing-line{background:#e1e1db;max-width:260px;height:5px;margin:34px auto 14px;overflow:hidden}.processing-line:after{content:"";background:var(--brand-yellow);width:35%;height:100%;animation:2.2s ease-in-out infinite progress;display:block}.processing span{color:var(--muted);font-size:13px}.spin{animation:1.1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress{0%{transform:translate(-100%)}to{transform:translate(300%)}}.result-photo{background:#e7e7e2;height:min(54vh,520px);position:relative}.result-photo img{object-fit:contain;width:100%;height:100%;display:block}.result-photo span{background:var(--brand-yellow);color:var(--foreground);padding:7px 12px;font-size:13px;font-weight:700;position:absolute;bottom:12px;right:12px}.before-after{grid-template-columns:1fr 1fr;gap:8px;margin-top:11px;display:grid}.result-note{font-size:13px;margin-top:12px!important}.retry{margin-top:16px}.cost-panel{border:1px solid var(--border);color:var(--muted);background:#fff;margin-top:16px;padding:15px 18px;font-size:14px}.cost-panel summary{cursor:pointer;color:var(--foreground);justify-content:space-between;display:flex}.cost-panel p{margin:11px 0 0}.delete{color:#705d5d;margin-top:18px}.message{max-width:720px;margin:15px auto 0;padding:12px 14px;line-height:1.45}.error{color:#632b22;background:#fff2ee;border:1px solid #b66050}.loading-screen{justify-content:center;align-items:center;gap:9px;margin:100px auto;display:flex}@media (min-width:750px){.intro{grid-template-columns:1fr 1fr;align-items:start;column-gap:38px;margin-top:80px;display:grid}.intro .eyebrow,.intro h1,.intro>p,.intro>.primary-button{grid-column:1}.intro-art{grid-area:1/2/6;height:500px;margin:0}.intro>.primary-button{max-width:410px}.intro .fine-print{text-align:right}}@media (max-width:520px){.brand-header{height:69px}.brand-header img{width:min(225px,72vw)}.app-content{padding:0 16px 45px}.step-bar{justify-content:space-between;gap:6px}.step-bar span{gap:3px;font-size:11px}.step-bar b{width:21px;height:21px;font-size:10px}.intro{margin-top:24px}.intro-art{height:270px;margin:17px 0}.intro p{font-size:16px}.upload-actions,.result-actions{grid-template-columns:1fr}.photo-stage{height:min(44vh,390px);min-height:260px}.placement-photo{max-width:100%}}@media (prefers-reduced-motion:reduce){.spin,.processing-line:after{animation:none}.primary-button{transition:none}}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.simple-content{flex:1;width:min(100%,1100px);margin:auto;padding:0 24px 64px}.simple-hero{grid-template-columns:1fr .9fr;align-items:center;gap:54px;min-height:385px;padding:48px 0 42px;display:grid}.simple-kicker,.flow-overline{color:#5e5a55;letter-spacing:.01em;align-items:center;gap:10px;font-size:13px;font-weight:700;display:inline-flex}.simple-hero h1{letter-spacing:-.045em;margin:17px 0 20px;font-size:clamp(36px,5vw,64px);line-height:1.08}.simple-hero h1 em{background:linear-gradient(transparent 76%,var(--brand-yellow) 76%);font-style:normal}.simple-hero p{max-width:450px;color:var(--muted);margin:0;font-size:18px;line-height:1.55}.hero-badges{flex-wrap:wrap;gap:9px;margin-top:29px;display:flex}.hero-badges span{background:#fff;border:1px solid #e5e3dc;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:700;display:inline-flex}.simple-hero-art{height:310px;box-shadow:16px 16px 0 var(--brand-yellow);background:#e6e4e0;position:relative;overflow:hidden}.simple-hero-art img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.simple-hero-art span{background:var(--background);padding:9px 13px;font-size:12px;font-weight:700;position:absolute;bottom:14px;right:14px}.simple-flow{background:#fff;border:1px solid #e4e2dc;padding:28px;box-shadow:0 8px 28px #231f2008}.flow-heading h2,.result-heading h2{letter-spacing:-.025em;margin:6px 0 22px;font-size:clamp(25px,3vw,35px);line-height:1.2}.photo-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.photo-card{background:#fcfcfa;border:1px solid #deddd6;min-width:0;padding:15px}.photo-card-ready{border-color:#989582}.photo-card-head{justify-content:space-between;align-items:start;gap:10px;min-height:78px;display:flex}.photo-card h2{letter-spacing:-.015em;margin:0 0 5px;font-size:18px}.photo-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.photo-state{color:#777;white-space:nowrap;align-items:center;gap:3px;margin-top:3px;font-size:11px;display:inline-flex}.photo-card-ready .photo-state{color:#385d33}.photo-preview{background:#f8f9f1;border:1px dashed #bab8b0;place-items:center;width:100%;height:220px;padding:0;display:grid;overflow:hidden}.photo-preview img{object-fit:contain;width:100%;height:100%;display:block}.photo-placeholder{color:#6f6d67;flex-direction:column;align-items:center;gap:8px;display:flex}.photo-placeholder b{color:var(--foreground);font-size:15px}.photo-placeholder small{font-size:12px}.picker-button{border:1px solid var(--foreground);width:100%;min-height:46px;color:var(--foreground);background:0 0;justify-content:center;align-items:center;gap:9px;margin-top:12px;font-weight:700;display:flex}.picker-button:hover{background:#f5f5ee}.generate-button{background:var(--brand-yellow);width:100%;color:var(--foreground);border:0;justify-content:center;align-items:center;gap:10px;min-height:62px;margin-top:22px;font-size:19px;font-weight:800;display:flex}.generate-button:hover:not(:disabled){background:#eee100}.generate-button:disabled{opacity:.5}.privacy-note{color:#64635f;text-align:center;margin:14px 0 0;font-size:12px;line-height:1.5}.wait-card{text-align:center;background:#fff;border:1px solid #e4e2dc;margin:22px auto 0;padding:28px}.wait-card h2{margin:14px 0 7px;font-size:24px}.wait-card p{color:var(--muted);margin:0;line-height:1.5}.wait-icon{background:var(--brand-yellow);border-radius:50%;place-items:center;width:54px;height:54px;display:inline-grid}.simple-result{background:#fff;border:1px solid #e4e2dc;max-width:820px;margin:34px auto 0;padding:28px;scroll-margin-top:22px}.result-heading h2{margin-bottom:7px}.result-heading p{color:var(--muted);margin:0 0 17px}.result-frame{background:#f0f0ec;height:min(58vh,560px);min-height:280px;position:relative}.result-frame img{object-fit:contain;width:100%;height:100%;display:block}.result-label{background:var(--brand-yellow);padding:7px 11px;font-size:13px;font-weight:700;position:absolute;bottom:12px;right:12px}.simple-result .before-after{max-width:450px;margin-inline:auto}.simple-result .result-actions,.simple-result .retry{margin-top:18px}.simple-result .cost-panel{grid-template-columns:1fr auto;gap:4px;margin-top:23px;display:grid}.simple-result .cost-panel strong,.simple-result .cost-panel span{color:var(--foreground)}.simple-result .cost-panel small{grid-column:1/-1}.room-marker{margin-top:18px}.marker-modes{grid-template-columns:1fr 1fr;gap:10px;display:grid}.marker-modes button{border:1px solid var(--foreground);min-height:46px;color:var(--foreground);background:0 0;justify-content:center;align-items:center;gap:7px;padding:10px;font-weight:700;display:flex}.marker-modes button[aria-pressed=true]{background:var(--brand-yellow);border-color:var(--foreground)}.room-marker .marker-instruction{margin:12px 0}.marker-image-wrap{background:#f8f9f1;border:1px dashed #bab8b0}.marker-surface{touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;margin:auto;position:relative}.marker-surface:focus-visible{outline-offset:3px;outline:3px solid #177d3d}.marker-surface img{pointer-events:none;width:100%;height:auto;display:block}.marker-surface svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.marker-area{fill:none;stroke:#25d366;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.marker-cursor{fill:#fff;stroke:#157a3b;stroke-width:2px}.marker-disabled{cursor:wait}.marker-toolbar{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.marker-toolbar .picker-button{margin-top:0;font-size:14px}.room-marker .marker-notice,.marker-generate-hint{color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.5}.marker-generate-hint{text-align:center}@media (max-width:700px){.simple-content{padding:0 16px 40px}.simple-hero{flex-direction:column;align-items:stretch;gap:0;min-height:0;padding:25px 0 19px;display:flex}.simple-hero h1{margin:14px 0 13px;font-size:clamp(34px,9vw,48px)}.simple-hero p{font-size:16px}.hero-badges,.simple-hero-art{display:none}.simple-flow,.simple-result{padding:17px}.photo-grid{grid-template-columns:1fr;gap:12px}.photo-card{padding:12px}.photo-card-head{min-height:58px}.photo-preview{height:190px}.flow-heading h2{margin-bottom:17px}.generate-button{margin-top:16px}.result-frame{height:min(45vh,420px);min-height:250px}.room-marker{margin-top:12px}.marker-modes{gap:7px}.marker-modes button{gap:5px;font-size:13px}}
