html[data-r04-public]:not([data-ui-release]){--primary:#042c46;--ink:#182b3c;--muted:#65717b;--line:#e1e5e8;--bg:#f7f8f8;--nav:192px;scroll-padding-top:150px}
html[data-r04-public] body{padding:68px 0 82px!important;background:#f7f8f8!important;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif!important}
html[data-r04-public][data-r04-steps] body{padding-top:132px!important}
html[data-r04-public] #app>.header,html[data-r04-public] #app>.wechat-bar,html[data-r04-public] .r07-global-bottom,html[data-r04-public] .app-header,html[data-r04-public] .bottom-nav,html[data-r04-public] .workbench-shell>.steps-nav{display:none!important}
.r04-topbar{height:68px;position:fixed;top:0;left:0;right:0;z-index:930;display:flex;align-items:center;gap:30px;padding:0 36px;background:#fff;border-bottom:1px solid #e1e5e8;color:#182b3c}
.r04-brand{display:flex;align-items:center;gap:20px;text-decoration:none}.r04-brand>strong{font-family:Georgia,serif;font-size:27px;letter-spacing:4px;font-weight:500}.r04-brand>span{font-size:13px;font-weight:600;border-left:1px solid #dce1e4;padding-left:20px;line-height:1.5}.r04-brand small{display:block;font-size:9px;font-weight:400;letter-spacing:1.7px;color:#65717b}.r04-context{margin:auto;font-size:12px;color:#65717b}.r04-admin{font-size:12px;color:#435664;min-height:44px;display:flex;align-items:center}
.r04-steps{position:fixed;top:68px;left:0;right:0;height:64px;background:#fff;border-bottom:1px solid #e1e5e8;display:flex;align-items:center;gap:26px;padding:0 36px;z-index:920;overflow-x:auto;scrollbar-width:none}.r04-steps[hidden]{display:none}.r04-steps>a{display:flex;gap:9px;align-items:center;white-space:nowrap;min-height:48px;font-size:13px;color:#65717b;padding:0 8px}.r04-steps>a>span{display:grid;place-items:center;width:26px;height:26px;border:1px solid #d2d9dd;border-radius:50%;font-size:10px}.r04-steps>a.active{color:#042c46;font-weight:650}.r04-steps>a.active>span{background:#042c46;color:#fff;border-color:#042c46}.r04-steps>span{font-size:11px;color:#7a868d;white-space:nowrap;margin-left:auto}
.r04-bottom{height:calc(78px + env(safe-area-inset-bottom,0px));box-sizing:border-box;position:fixed;bottom:0;left:0;right:0;z-index:950;background:rgba(255,255,255,.97);border-top:1px solid #e1e5e8;display:flex;align-items:center;justify-content:center;gap:60px;padding:0 30px max(2px,env(safe-area-inset-bottom))}.r04-bottom>a[data-r04-group]{display:flex;min-height:64px;min-width:70px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;color:#73818b}.r04-bottom svg{width:35px;height:35px;padding:7px;background:#eff2f3;border-radius:10px;stroke:currentColor;stroke-width:1.7;fill:none}.r04-bottom a.active{color:#042c46;font-weight:650}.r04-bottom a.active svg{background:#042c46;color:#fff}.r04-bottom-note{position:absolute;left:36px;font-size:11px;color:#7a868d}.r04-all{position:absolute;right:36px;font-size:12px;color:#65717b;min-height:44px;display:flex;align-items:center}
html[data-r04-public] .workbench-shell{display:block!important;min-height:calc(100dvh - 210px)}
html[data-r04-public] .workbench-body{padding:26px 32px 116px!important;max-width:1600px;margin:0 auto}
html[data-r04-public] .workbench-top{padding:0 0 20px!important;border:0!important;background:transparent!important}
html[data-r04-public] .workbench-top h1{font-size:28px;font-weight:550;letter-spacing:.02em}
html[data-r04-public] .workbench-grid{grid-template-columns:minmax(0,1fr) 360px!important;gap:0!important;border:1px solid #e1e5e8;border-radius:14px;overflow:hidden;background:#f2f4f4}
html[data-r04-public] .stage-area{padding:24px!important;background:#f2f4f4}
html[data-r04-public] .stage-area .scene{border-radius:10px;min-height:330px}
html[data-r04-public] .workbench-panel{padding:24px!important;background:#fff;border-left:1px solid #e1e5e8;min-width:0}
html[data-r04-public] .workbench-price{left:0!important;right:0!important;bottom:calc(78px + env(safe-area-inset-bottom,0px))!important;padding:14px 36px!important;border-top:1px solid #e1e5e8;box-shadow:none!important}
html[data-r04-public] .btn{min-height:44px;border-radius:9px}
html[data-r04-public] .section-card,html[data-r04-public] .card,html[data-r04-public] .item{border-radius:12px}
html[data-r04-public] .appbody{min-height:calc(100dvh - 148px)}
html[data-r04-public] .main{padding-top:30px!important}
html[data-r04-public] .entry-main{padding:32px!important;max-width:1480px;margin:auto}
html[data-r04-public] :is(.r02-home-hero,.hero){border-radius:18px!important;overflow:hidden}
html[data-r04-public] .r02-hero-copy h1{font-size:clamp(32px,4vw,60px)!important;font-weight:500!important;letter-spacing:.03em!important}
html[data-r04-public] .r03-published-catalogue{border-radius:12px}
.r04-topbar a:focus-visible,.r04-steps a:focus-visible,.r04-bottom a:focus-visible{outline:3px solid #4c8caf;outline-offset:3px}
.r04-service-note{font-size:12px;line-height:1.7;padding:12px;border:1px solid #dde4e6;border-radius:9px;background:#f4f6f6;color:#5d707c;margin:12px 0}
html[data-r04-public] a[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
@media(min-width:1700px){html[data-r04-public] .workbench-grid{grid-template-columns:minmax(0,1fr) 390px!important}}
@media(max-width:1000px){.r04-topbar{padding:0 22px}.r04-context{display:none}.r04-admin{margin-left:auto}.r04-steps{gap:12px;padding:0 18px}.r04-steps>span{display:none}html[data-r04-public] .workbench-body{padding:20px 18px 118px!important}html[data-r04-public] .workbench-grid{grid-template-columns:minmax(0,1fr) 320px!important}.r04-bottom-note,.r04-all{display:none}}
@media(max-width:700px){.r04-topbar{height:62px;padding:0 16px;gap:14px}.r04-brand>strong{font-size:22px;letter-spacing:2px}.r04-brand>span{font-size:11px;padding-left:12px}.r04-brand{gap:12px}.r04-brand small{font-size:7px}.r04-admin{font-size:11px}.r04-steps{top:62px;height:60px;gap:10px;padding:0 14px}.r04-steps>a{font-size:12px;padding:0 2px}.r04-steps>a>span{width:22px;height:22px}.r04-bottom{height:calc(72px + env(safe-area-inset-bottom,0px));gap:0;justify-content:space-around;padding-left:4px;padding-right:4px}.r04-bottom a[data-r04-group]{min-width:44px;flex:1}html[data-r04-public] body{padding-top:62px!important;padding-bottom:76px!important}html[data-r04-public][data-r04-steps] body{padding-top:122px!important}html[data-r04-public] .workbench-grid{display:flex!important;flex-direction:column!important;border-radius:12px}html[data-r04-public] .workbench-body{padding:18px 12px 145px!important}html[data-r04-public] .workbench-top h1{font-size:23px}html[data-r04-public] .stage-area{padding:14px!important}html[data-r04-public] .workbench-panel{border-left:0;border-top:1px solid #e1e5e8;padding:20px 16px!important}html[data-r04-public] .workbench-price{bottom:calc(72px + env(safe-area-inset-bottom,0px))!important;padding:10px 16px!important}html[data-r04-public] .entry-main{padding:20px 16px!important}html[data-r04-public] .sheet-open .workbench-panel{position:static!important;box-shadow:none!important;overflow:visible!important}html[data-r04-public] .appbody{display:block}html[data-r04-public] .sidenav{max-height:160px;overflow:auto;border-right:0;border-bottom:1px solid #e1e5e8}}
@media(prefers-reduced-motion:reduce){html[data-r04-public] *{scroll-behavior:auto!important}}

/* Independent shell uses the same approved settings as its backend. */
.r04-custom-logo{display:none;width:148px;max-height:44px;object-fit:contain}
html[data-ui-logo="custom"] .r04-brand>strong{display:none}
html[data-ui-logo="custom"] .r04-custom-logo{display:block}
html[data-r04-public] .r04-bottom>a{touch-action:manipulation}
html[data-r04-public] .r04-bottom a span{max-width:7em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-r04-public] .r04-steps{scroll-padding-inline:16px}
@media(max-width:700px){
 .r04-bottom svg{width:32px;height:32px;padding:6px}
 .r04-bottom>a[data-r04-group]{min-width:44px;min-height:62px;gap:2px;font-size:10px}
 .r04-brand>span{max-width:145px}.r04-brand [data-ui-brand-name]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .r04-custom-logo{width:105px;max-height:34px}
 html[data-r04-public] body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}
}

/* Keep the live result beside long colour / hardware lists. */
@media(min-width:701px) and (min-height:800px){
 html[data-r04-public] .workbench-grid{overflow:visible}
 html[data-r04-public] .stage-area{position:sticky;top:146px;align-self:start;border-radius:14px 0 0 14px;height:calc(100dvh - 340px);display:flex;flex-direction:column}
 html[data-r04-public] .stage-area .scene{height:auto;flex:1 1 0;min-height:120px;max-height:680px}
 html[data-r04-public] .stage-area>:not(.scene){flex-shrink:0}
 html[data-r04-public] .stage-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
 html[data-r04-public] .workbench-panel{border-radius:0 14px 14px 0}
}

/* R03: separate material status from lighting controls at every viewport. */
html[data-r04-public] .stage-area .scene .material-preview-note{top:auto!important;bottom:58px!important;left:12px!important;right:12px!important;width:fit-content;max-width:calc(100% - 24px);box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;line-height:1.5;pointer-events:none}
html[data-r04-public] .r02-home-grid[data-r04-catalog] article>a:first-child img{object-fit:contain;background:#f0f0ed;padding:20px;box-sizing:border-box}
html[data-r04-public] .r04-catalog-state{grid-column:1/-1;padding:24px;background:#f2f4f4;border-radius:12px}
html[data-r04-public] .r04-catalog-state button,html[data-r04-public] .r04-catalog-state a{display:inline-block;margin:8px 12px 0 0;padding:10px 14px;border:1px solid #cad2d5;border-radius:8px;background:#fff;color:#163747;font:inherit;text-decoration:none}
