*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:system-ui,"Microsoft YaHei",sans-serif;color:#243b32;background:#e7e9e3}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;font-size:13px;border:1px solid #c7cfc4;background:#f9faf4ed;color:#294337;border-radius:9px;min-height:40px;padding:8px 13px;cursor:pointer;white-space:nowrap}button:hover{background:#e8eee2}button[aria-pressed=true],button.primary{background:#345543;color:#fff;border-color:#345543}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #aa7040;outline-offset:3px}[hidden]{display:none!important}#view{width:100%;height:100%;display:block;touch-action:none;outline:none}header{position:fixed;left:22px;right:22px;top:max(16px,env(safe-area-inset-top));z-index:10;display:flex;justify-content:space-between;gap:16px;pointer-events:none}header>div{pointer-events:auto}header strong{display:block;font-size:20px}header span{font-size:11px}header>div:first-child{padding:9px 14px;background:#fafbf2ed;border-radius:10px}.header-actions{display:flex;align-items:center;gap:7px}.header-actions button{background:#fafbf4}.views{position:fixed;top:92px;left:22px;right:22px;display:flex;gap:6px;z-index:10;overflow:auto}.quick{position:fixed;top:144px;left:22px;right:22px;display:flex;gap:6px;z-index:10;overflow:auto}.quick button{font-size:12px;min-height:35px}.views::-webkit-scrollbar,.quick::-webkit-scrollbar,footer nav::-webkit-scrollbar{display:none}#labels{position:fixed;inset:0;pointer-events:none;z-index:5}#labels button{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;min-height:29px;font-size:11px;padding:4px 8px;background:#fffdf4e8;border-color:#c3cbbd}.caption{position:fixed;left:24px;bottom:125px;max-width:560px;z-index:5;pointer-events:none}.caption h1{font-size:25px;margin:6px 0;text-wrap:balance}.caption p{font-size:12px;line-height:1.5;margin:3px 0;text-wrap:pretty}#area{font-size:10px;color:#586a60;font-variant-numeric:tabular-nums}footer{position:fixed;left:0;right:0;bottom:0;padding:12px 20px max(10px,env(safe-area-inset-bottom));background:#f7f8f1ed;z-index:10;text-align:center;border-top:1px solid #cbd2c4}footer nav{display:flex;gap:6px;justify-content:center;overflow:auto}footer p{margin:8px 0 2px;font-size:11px}footer small{font-size:10px;color:#68766d}.pad{position:fixed;right:24px;bottom:128px;z-index:8;text-align:center}.pad button{width:43px;padding:6px;touch-action:none;font-size:20px}.pad>div{display:flex;gap:4px;margin-top:4px}body:not([data-view=inside]) .pad{display:none}body[data-view=inside] .caption{background:#f9faf1e8;padding:12px 16px;border-radius:10px;max-width:calc(100% - 195px)}#furniture{position:fixed;right:24px;top:194px;z-index:8}body:not([data-view=inside]) #furniture{display:none}aside{position:fixed;right:24px;top:244px;width:340px;max-height:calc(100dvh - 370px);overflow:auto;padding:22px;background:#fafaf4;border:1px solid #c4cebd;border-radius:14px;z-index:20}aside h2{font-size:20px;margin:10px 0}aside p{font-size:13px;line-height:1.8}aside small{font-size:11px;color:#687568}#closePanel,.close{float:right;width:35px;min-height:35px;padding:2px;font-size:22px}#itemList{display:grid;gap:7px;margin-bottom:15px}#itemList button{white-space:normal;text-align:left}dialog{width:min(640px,calc(100vw - 28px));max-height:88dvh;border:1px solid #bcc9b5;border-radius:18px;padding:28px;background:#fafaf3;color:#293e33;overflow:auto}dialog::backdrop{background:#132c2780}dialog h2{font-size:25px;margin:12px 0 22px;text-wrap:balance}dialog p,dialog li{font-size:13px;line-height:1.85;text-wrap:pretty}dialog li{margin-bottom:10px}dialog ol{padding-left:20px}dialog .primary{margin-top:12px;min-width:150px}.eyebrow{color:#6e7b6d;font-size:11px!important}.fine{color:#687468;font-size:11px!important}#styles{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}#styles button{white-space:normal;text-align:left;padding:12px}#styles strong{display:block;font-size:15px;margin:12px 0 6px}#styles small{font-size:11px;line-height:1.6;display:block}.swatches{display:flex;gap:3px;height:44px}.swatches i{flex:1;border-radius:4px}.scenes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.scenes button{font-size:12px;padding:8px 6px}#sceneState{padding:15px;background:#e7eddf;border-radius:8px;min-height:90px}#exportDialog{width:min(780px,calc(100vw - 24px))}#exportImage{width:100%;height:auto;display:block;margin-top:16px}a{color:#39674b}details{margin:16px 0;font-size:13px}summary{cursor:pointer;padding:8px 0}#loading{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;padding:22px;border-radius:12px;z-index:30}
body[data-view=plan] .caption h1,body[data-view=plan] #roomDesc{display:none}body[data-view=plan] .caption{bottom:113px}
@media(max-width:640px){header{left:12px;right:12px;top:max(10px,env(safe-area-inset-top));gap:6px}header strong{font-size:15px}header>div:first-child{padding:8px 10px}header>div:first-child span{font-size:9px}.header-actions{gap:4px}.header-actions button{font-size:10px;padding:6px 8px;min-height:38px}#design span{display:none}.views{left:12px;right:12px;top:78px}.views button{font-size:11px;padding:7px 10px;min-height:38px}.quick{left:12px;right:12px;top:123px}.quick button{font-size:10px;padding:6px 8px;min-height:33px}.caption{left:14px;bottom:124px;max-width:90%}.caption h1{font-size:20px}.caption p{font-size:10px}.caption #area{font-size:9px;max-width:290px}footer{padding:10px 12px max(10px,env(safe-area-inset-bottom))}footer nav{justify-content:flex-start}footer nav button{font-size:11px;padding:7px 10px}footer p{font-size:10px}footer small{font-size:8px}.pad{right:12px;bottom:125px}.pad button{width:34px;min-height:35px;font-size:18px}body[data-view=inside] .caption{max-width:calc(100% - 134px);padding:10px}#furniture{right:12px;top:170px;font-size:11px}aside{left:12px;right:12px;top:218px;width:auto;max-height:calc(100dvh - 342px)}dialog{padding:20px}#styles{grid-template-columns:1fr}#styles button{display:grid;grid-template-columns:90px 1fr;gap:3px 12px}#styles .swatches{grid-row:span 2;height:50px}#styles strong{margin:2px 0}#styles small{font-size:10px}#labels button{font-size:9px;padding:2px 4px;min-height:24px}}
