/* A focused creation journey: frame, configure, create, save. */
:root{--paper:#f8f8f3;--bg:#ecede6;--ink:#243d33;--dim:#687268;--top:72px}
.settings-form .mats button,.generate-action #go,.btn{box-sizing:border-box}
.top{background:#f8f8f3f0;backdrop-filter:blur(18px);gap:38px}.top .mark span{display:none}.top nav a{font-weight:400}.qstat{font-size:10px}.help-toggle{margin-left:-18px}
.flow-step{position:absolute;left:50%;transform:translateX(-50%);top:96px;display:flex;gap:18px;align-items:center;color:#7c857a;font:400 11px/1.5 var(--sans);white-space:nowrap;z-index:8;background:#f8f8f3ee;padding:10px 18px;border:1px solid #d2d8ca;border-radius:30px}
.flow-step .active{color:var(--ink);font-weight:600}.flow-step i{font-style:normal;color:#b6bdaf}
.tools{top:151px;left:50%;right:auto;transform:translateX(-50%);width:min(580px,calc(100% - 44px));z-index:11}
.search{position:relative}.search input{height:52px;padding-right:76px;background:#fcfcf8;border-color:#b9c7b4;border-radius:7px;box-shadow:0 6px 22px #23372d13;font-size:13px}.search svg{top:18px}.search-submit{position:absolute;right:6px;top:6px;height:40px;min-width:62px;padding:0 12px;background:var(--ink);color:#f8f8f3;border:0;border-radius:4px;font:400 12px var(--sans);cursor:pointer}
.search ul{margin-top:7px;max-height:min(380px,45dvh);overflow:auto;border-radius:6px;background:#fcfcf8}.search li[data-i]{min-height:65px;cursor:pointer}.search li b{font:500 14px/1.5 var(--sans)}.search li em{font-size:10px;color:#74816f}.search li span{display:block;font:400 11px/1.5 var(--sans);color:var(--dim);margin-top:4px}.search li.on,.search li:hover{background:#e9efdf}.search .msg{font:400 12px/1.7 var(--sans);padding:16px}.search ul:empty{display:none}
.place-shortcuts{display:flex;align-items:center;gap:8px;margin:9px 0 0;font:400 10px/1.5 var(--sans);color:#5b6b57}.place-shortcuts>span{background:var(--paper);padding:4px 7px;border-radius:3px}.place-shortcuts button{background:#f8f8f3ef;border:1px solid #ccd5c4;border-radius:4px;padding:5px 9px;cursor:pointer;font-size:10px}
.chips{position:fixed;top:auto;left:50%;bottom:143px;transform:translateX(-50%);white-space:nowrap;display:flex;justify-content:center;gap:5px;width:max-content;max-width:calc(100vw - 24px);margin:0;padding:5px;background:#f8f8f3f2;border:1px solid var(--hair);border-radius:7px;box-shadow:0 5px 14px #23372d09}
.chips span{background:none;padding:9px 8px}.chips button,.chips .tool{border:0;border-radius:4px;padding:9px 11px;font-size:10px;background:transparent;min-height:32px}.chips .tool{border-left:1px solid var(--hair);border-radius:0}.chips #bWander{display:none}.chips i{display:none}
.pf,.dock,.cut,.cross,#fticks{display:none!important}
.frame{border:0;box-shadow:0 0 0 1px #26433490,0 15px 55px -30px #11271d44}.frame .ftag{display:none}.frame .fsz{top:-26px;background:#f8f8f3f0;border-radius:3px;padding:3px 7px;font-family:var(--sans);font-size:10px}.veil{backdrop-filter:none;-webkit-backdrop-filter:none;background:#f5f7ed68}
.frame-action{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:36px;width:min(680px,calc(100% - 48px));padding:19px 22px;background:#f9faf4f5;border:1px solid #c7d0c0;box-shadow:0 12px 36px #23372d12;border-radius:8px;z-index:10;backdrop-filter:blur(12px)}
.frame-action>div{display:grid;gap:5px}.frame-action b{font:500 14px/1.5 var(--sans);color:var(--ink)}.frame-action>div>span{font:400 10px/1.5 var(--sans);color:var(--dim)}.frame-action .btn{border:0;border-radius:4px;padding:16px 21px;font:500 13px/1.5 var(--sans);white-space:nowrap;cursor:pointer}.frame-action .btn span{margin-left:20px}.frame-action .btn:disabled{opacity:.45}
.attr{right:15px;bottom:6px;font-size:8px}.back3d{left:50%;right:auto;transform:translateX(-50%);top:110px;bottom:auto;background:var(--paper);padding:12px 20px;z-index:12}
body.intro .flow-step,body.intro .frame-action,body.intro .chips{display:none}body.intro .tools{transform:translateX(-50%);visibility:hidden}body.m3d .frame-action,body.m3d .flow-step,body.m3d .chips{display:none}
.intro-ui:before{background:linear-gradient(90deg,#eff0e3dd,#eff0e357 34%,transparent 65%)}.ititle{left:7vw;top:auto;bottom:20%;}.ititle h1{font-size:clamp(42px,4.8vw,74px);letter-spacing:.08em;font-weight:500}.ititle .lead{font-size:13px;margin-top:22px}.cta{margin-top:34px}.cta button{border-radius:4px;padding:18px 28px}.cta a{font-size:11px}.ihint{bottom:26px;font-size:10px;background:#f8f8f378;border-radius:4px;padding:7px 10px;right:28px;left:auto}
/* Settings is a page, not a drawer on top of the map. */
#vSettings{overflow:auto;padding:calc(var(--top) + 36px) 36px 64px;background:#f0f2e9}.settings-shell{max-width:1120px;margin:auto}.settings-shell>.back-link{font-size:12px;margin-bottom:32px}.settings-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px}.settings-heading .eyebrow{font:500 10px/1.5 var(--sans);letter-spacing:.1em;color:#78856e;margin-bottom:12px}.settings-heading h1{font:500 clamp(23px,2.5vw,34px)/1.5 var(--serif);letter-spacing:.01em}.settings-heading>p{font:400 11px/1.6 var(--sans);color:var(--dim);margin-bottom:7px}
.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,1fr);gap:50px;align-items:start}.selection-review{padding:16px;background:#fbfcf7;border:1px solid #d2d9ca;border-radius:6px;box-shadow:0 14px 30px #23372d06}.selection-image{aspect-ratio:1;position:relative;background:#e2e9d9;display:grid;place-items:center;border-radius:3px;overflow:hidden}.selection-image img{width:100%;height:100%;object-fit:cover;display:block}.selection-image>span{font:400 13px/1.5 var(--sans);color:var(--dim)}.selection-review figcaption{display:flex;align-items:center;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:18px 2px 4px}.selection-review figcaption b{font:500 13px/1.5 var(--sans)}.selection-review figcaption>span{font:400 11px/1.5 var(--sans);color:var(--dim)}.selection-review figcaption small{width:100%;font:400 10px/1.5 var(--sans);color:#7c8576;margin-top:2px}
.settings-form{display:flex;flex-direction:column;gap:26px;padding:10px 0}.settings-form section{padding:0;border:0}.settings-form label,.settings-form h2{display:block;font:500 13px/1.5 var(--sans);margin-bottom:12px;letter-spacing:.02em}.settings-form input{width:100%;height:48px;border:1px solid #bfcbb6;border-radius:4px;background:#fcfcf7;padding:0 14px;font:400 16px/1.5 var(--sans);color:var(--ink);outline:none}.settings-form input:focus{border-color:#46694c;box-shadow:0 0 0 3px #4b784a15}.field-hint{font:400 10px/1.6 var(--sans);color:#7c8576;margin-top:7px}
.settings-form .material .mats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.settings-form .mats .style-choice{border:1px solid #cbd5c2;border-radius:5px;padding:16px 12px;display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;text-align:left;column-gap:13px;row-gap:5px;background:#f8faf2;min-height:96px}.settings-form .mats .style-choice s{grid-row:1/3;align-self:center;border:0;width:48px;height:48px;box-shadow:inset 0 -5px 14px #15241d1c;border-radius:50%}.settings-form .mats .style-choice b{font:500 14px/1.5 var(--serif);align-self:end}.settings-form .mats .style-choice em{font:400 10px/1.5 var(--sans);color:var(--dim)}.settings-form .mats .style-choice small{display:none}.settings-form .mats .style-choice.on{border:1px solid #426148;background:#e7eddf;box-shadow:0 0 0 1px #426148}.settings-form .mats .style-choice.on b:after{content:' ✓';font:400 12px/1.5 var(--sans);margin-left:6px;color:#46694c}.settings-form .mats .style-choice:disabled{opacity:.35}
.settings-form .output-note{border-top:1px solid #ced6c6;display:flex;gap:8px;flex-wrap:wrap;padding:19px 0 0;font:400 11px/1.5 var(--sans);color:var(--dim);justify-content:space-between}.settings-form .output-note b{font-weight:400}.settings-form .output-note span{font:400 10px/1.5 var(--sans)}.generate-action{margin-top:0}.generate-action #go{display:block;width:100%;margin:0;padding:17px;min-height:52px;border-radius:4px;border:0;font:500 14px/1.4 var(--sans);letter-spacing:.08em;background:var(--ink);color:#fafbf5;cursor:pointer}.generate-action #go:disabled{background:#d6ddcc;color:#7a8673;cursor:wait}.generate-action #goHint{font:400 11px/1.6 var(--sans);color:#8f6836;margin-top:9px;text-align:center;min-height:18px}
/* One save button shared by desktop and mobile. */
.save-action{display:grid;gap:10px}.save-action>.btn{display:block;text-align:center;border-radius:4px;padding:15px}.save-action>span{font:400 10px/1.5 var(--sans);color:var(--dim);text-align:center}.detail .sub{font-family:var(--sans)}.detail>.save-action{padding-top:0}.detail .btnrow .btn{font-size:11px;background:transparent;border:0;border-bottom:1px solid #c3cdb9;padding:6px 0;border-radius:0}.detail .btnrow{gap:20px}.detail-back{font:400 11px/1.5 var(--sans);border-radius:4px}.detail h2{font-size:27px}.technical summary{font-size:11px}.vhint{font-family:var(--sans)}
@media(max-width:1100px){.settings-grid{gap:28px}.settings-heading>p{display:none}}
@media(max-width:820px){
 :root{--top:62px}.top{gap:16px;padding:0 15px}.top nav{gap:13px}.top nav a{padding:23px 0;font-size:11px}.top nav a:after{bottom:10px}.mark b{font-size:18px}.help-toggle{margin-left:0}.qstat{margin-left:auto}.qstat span{display:none}
 .flow-step{top:77px;gap:14px;font-size:10px;padding:7px 15px}.tools{top:124px;width:calc(100% - 30px);left:50%;right:auto}.search input{height:48px;font-size:12px;padding-left:36px;padding-right:70px}.search svg{top:16px;left:12px}.search-submit{height:36px;font-size:11px;min-width:58px}.place-shortcuts{gap:6px;margin-top:8px}.place-shortcuts button{padding:5px 7px;font-size:10px}.search ul{max-height:38dvh}
 .chips{position:fixed;bottom:134px;display:flex;gap:3px;padding:4px}.chips span{display:none}.chips button,.chips .tool{font-size:10px;min-width:39px;padding:8px 10px;min-height:32px}.chips .tool{min-width:62px}.frame .fsz{top:-23px;font-size:9px}
 .frame-action{width:calc(100% - 24px);bottom:calc(15px + env(safe-area-inset-bottom));border-radius:7px;padding:14px 15px;gap:12px;min-height:91px}.frame-action>div{gap:5px;max-width:145px}.frame-action b{font-size:12px}.frame-action>div>span{font-size:9px;line-height:1.6}.frame-action .btn{font-size:11px;padding:15px 13px}.frame-action .btn span{margin-left:5px}.attr{display:none}
 body.intro .top{background:#f8f8f3db}.intro-ui:before{background:linear-gradient(0deg,#edf0e5ed 0%,#edf0e560 29%,transparent 68%)}.ititle{left:26px;right:18px;bottom:105px;top:auto}.ititle h1{font-size:40px}.ititle .lead{font-size:12px;margin-top:15px}.cta{margin-top:26px;gap:26px}.cta button{font-size:12px;padding:16px 23px}.ihint{bottom:30px;left:26px;right:auto;font-size:9px;padding:5px 7px}.back3d{top:86px}
 #vSettings{padding:calc(var(--top) + 23px) 20px 24px}.settings-shell>.back-link{font-size:11px;margin-bottom:25px}.settings-heading{margin-bottom:22px}.settings-heading h1{font-size:23px;line-height:1.55;max-width:290px}.settings-heading .eyebrow{font-size:9px;margin-bottom:8px}.settings-grid{display:flex;flex-direction:column;gap:25px}.selection-review{display:flex;gap:15px;padding:10px;width:100%;border-radius:5px;box-shadow:none}.selection-image{width:82px;height:82px;flex:none}.selection-review figcaption{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0;gap:5px}.selection-review figcaption b{font-size:12px}.selection-review figcaption>span{font-size:10px}.selection-review figcaption small{font-size:9px;margin:0}.settings-form{width:100%;padding:0;gap:24px}.settings-form .mats .style-choice{padding:13px 10px;column-gap:9px;grid-template-columns:40px 1fr;min-height:86px}.settings-form .mats .style-choice s{width:39px;height:39px}.settings-form .mats .style-choice b{font-size:14px}.settings-form .mats .style-choice em{font-size:9px}.settings-form .output-note{padding-top:17px}.generate-action{position:sticky;bottom:-24px;background:#f0f2e9f5;margin:0 -20px -24px;padding:15px 20px calc(17px + env(safe-area-inset-bottom));border-top:1px solid #d4dccc;backdrop-filter:blur(8px)}.generate-action #goHint:empty{display:none}
 #vWork{padding-bottom:calc(98px + env(safe-area-inset-bottom))}.detail>.save-action{position:fixed;bottom:0;left:0;right:0;z-index:25;padding:13px 20px calc(13px + env(safe-area-inset-bottom));background:#f9faf4f2;backdrop-filter:blur(12px);border-top:1px solid #cdd7c4;display:flex;align-items:center;gap:15px}.save-action>.btn{flex:1;margin:0;font-size:12px;padding:15px}.save-action>span{font-size:9px;max-width:70px;text-align:left;order:-1}.detail>section{padding:23px 23px}.detail-back{top:calc(var(--top) + 12px);left:13px;padding:9px 13px}.viewer{height:56dvh;min-height:310px}.vhint{font-size:8px}.detail h2{font-size:27px}.toast{bottom:120px}
}
@media(max-width:380px){.top{gap:12px}.mark b{display:none}.top nav{gap:14px}.frame-action{padding:12px;gap:9px}.frame-action .btn{padding:15px 10px;font-size:10px}.settings-form .mats .style-choice{padding:12px 8px;column-gap:7px}.chips{bottom:133px}.chips button,.chips .tool{padding:8px 8px;min-width:34px}.ititle h1{font-size:36px}}
@media(max-height:700px) and (min-width:821px){.flow-step{top:87px}.tools{top:136px}.frame-action{bottom:18px}.chips{bottom:124px}.settings-heading{margin-bottom:20px}.settings-grid{gap:30px}}

/* A composed Gongga view with a light text wash, no automatic turntable. */
.intro-ui:before{background:linear-gradient(90deg,#edf0e3e3 0%,#edf0e3a6 23%,#edf0e327 39%,transparent 51%)}
body.intro .ititle{bottom:22%}.hero-location{position:absolute;right:28px;bottom:67px;font:400 12px/1.5 var(--serif);color:#263f34;letter-spacing:.08em;pointer-events:none}
body:not(.intro) .hero-location{display:none}
body.intro .attr{opacity:.7;visibility:visible;pointer-events:auto;right:28px;bottom:7px}.attr a{text-decoration:none}
@media(max-width:820px){.intro-ui:before{background:linear-gradient(0deg,#edf0e5f2 0%,#edf0e5bd 18%,#edf0e54d 32%,transparent 54%)}body.intro .ititle{bottom:98px}.hero-location{bottom:32px;right:25px;font-size:10px}}
@media(max-width:820px){.attr,body.intro .attr{display:block;bottom:3px;right:15px;font-size:7px;opacity:.6}}
