.fs{--fs-gold:#dec28a;--fs-muted:#b9c6bf;--fs-border:#66837455;color:#f4f0e6;font:16px/1.65 Arial,sans-serif;margin:2rem auto 3rem;max-width:1120px;text-align:left}.fs *{box-sizing:border-box}.fs [hidden]{display:none!important}.fs h2,.fs h3,.fs h4{font-family:Georgia,serif;font-weight:400;line-height:1.15;color:#fff4df;margin:.5rem 0 1rem}.fs h2{font-size:clamp(2rem,4.5vw,3.8rem)}.fs h3{font-size:clamp(1.6rem,3vw,2.4rem)}.fs h4{font-size:1.45rem}.fs p{margin:.6rem 0 1.2rem}.fs .fs-kicker{font:bold .72rem/1.5 Arial,sans-serif;letter-spacing:.17em;color:var(--fs-gold);margin:0 0 .7rem}.fs-hero{display:grid;grid-template-columns:1fr 1.08fr;gap:2rem;align-items:center;margin-bottom:2.8rem}.fs-hero>div{padding:1rem}.fs-hero img{width:100%;height:auto;border-radius:26px;border:1px solid var(--fs-border)}.fs-hero small{display:block;margin-top:1rem;color:var(--fs-muted)}.fs button,.fs input,.fs select{font:inherit}.fs button,.fs-primary{cursor:pointer}.fs button:disabled{cursor:wait;opacity:.55}.fs .fs-primary{display:inline-flex;justify-content:center;align-items:center;gap:2rem;border:1px solid #d2b071;border-radius:9px;background:#d9bb7d;color:#14271f;padding:.9rem 1.4rem;text-decoration:none;font-weight:bold;min-height:48px}.fs .fs-quiet{background:#13251f;border:1px solid var(--fs-border);border-radius:9px;padding:.65rem 1rem;color:#e9ddc6;min-height:44px}.fs button:focus-visible,.fs a:focus-visible,.fs input:focus-visible,.fs select:focus-visible,.fs summary:focus-visible{outline:3px solid #f5d599;outline-offset:4px}.fs-editor,.fs-result{background:linear-gradient(135deg,#15271ff5,#101b19);border:1px solid var(--fs-border);border-radius:24px;padding:clamp(1rem,3vw,2.3rem)}.fs-editor>header{max-width:740px}.fs-settings{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.2rem;margin:1.8rem 0}.fs label{display:block;font-size:.9rem;color:#dfe7de}.fs input:not([type=checkbox]):not([type=range]),.fs select{display:block;width:100%;min-width:0;background:#0b1713;color:#f3f0e7;border:1px solid #6c87726b;border-radius:7px;padding:.7rem;margin:.4rem 0}.fs select option{background:#102219;color:#fff}.fs input[type=file]{font-size:.8rem}.fs input[type=range]{width:100%;accent-color:var(--fs-gold);min-height:30px}.fs small,.fs-small{font-size:.8rem;line-height:1.6;color:var(--fs-muted)}.fs label small{font-size:.74rem}.fs-plan-tools,.fs-method{border-top:1px solid var(--fs-border);border-bottom:1px solid var(--fs-border);padding:1rem 0}.fs summary{cursor:pointer;color:var(--fs-gold);min-height:36px}.fs summary span{float:right}.fs-plan-options{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem;margin-top:1rem}.fs-plan-options small{display:block}.fs-crop{margin-top:1rem}.fs-crop-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.fs-crop output{color:var(--fs-gold);white-space:nowrap}.fs-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(245px,1fr);gap:1.8rem;margin-top:1.6rem;align-items:start}.fs-map-column{min-width:0}.fs-map-hint{font-size:.87rem;color:var(--fs-muted)}.fs-map-frame{padding:14px;border:1px solid var(--fs-border);border-radius:15px;background:#0a1410}.fs-map{position:relative;aspect-ratio:1.25}.fs-map canvas{width:100%;height:100%;position:absolute;inset:0;background:#fff}.fs-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:4px}.fs-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-width:0;min-height:0;padding:.5rem .25rem;border:1px solid #f4e9d92b;border-radius:5px;background:var(--zone);color:#fff;text-align:center;overflow-wrap:anywhere;position:relative}.fs-cell strong{font-size:clamp(.65rem,1.2vw,.88rem);line-height:1.15;text-shadow:0 1px 3px #0009}.fs-cell small{font-size:clamp(.6rem,1vw,.75rem);line-height:1.15;color:#fff}.fs-cell .fs-symbol{font-size:1.5rem;line-height:1}.fs-cell[aria-pressed=true]{outline:2px solid #ffe3a5;outline-offset:-3px;box-shadow:inset 0 0 0 4px #13241f}.fs-cell.is-outside{background:repeating-linear-gradient(45deg,#19251e,#19251e 7px,#394039 7px,#394039 8px)!important;color:#c2c6bd}.fs-map.has-plan .fs-cell{background:color-mix(in srgb,var(--zone) var(--veil,25%),transparent);justify-content:end}.fs-map.has-plan .fs-cell strong,.fs-map.has-plan .fs-cell small{background:#12251de8;border-radius:3px;padding:2px 4px;text-shadow:none}.fs-map.has-plan .fs-symbol{display:none}.fs-door{position:absolute;background:#f0d698;color:#14291e;box-shadow:0 0 0 3px #0a1410;border-radius:5px;font:bold 25px/26px Arial;width:30px;height:28px;display:grid;place-items:center;pointer-events:none;z-index:2}.fs-door-note{color:var(--fs-gold);font-size:.85rem;text-align:center}.fs-inspector{padding:1.3rem;border:1px solid var(--fs-border);border-radius:14px;background:#0c1915}.fs-inspector h3{font-size:1.8rem}.fs-theme{font:italic 1.05rem Georgia,serif;color:#d5c6a8}.fs-inspector label{margin-top:.8rem}.fs .fs-check{display:flex;gap:.6rem;align-items:center;font-size:.85rem}.fs input[type=checkbox]{width:18px;height:18px;accent-color:var(--fs-gold);flex:0 0 auto}.fs-preview{border-top:1px solid var(--fs-border);margin-top:1rem;padding-top:.6rem;font-size:.87rem}.fs-element{color:var(--fs-gold)}.fs-build{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-top:1px solid var(--fs-border);padding-top:1.4rem;margin-top:1rem}.fs-build p{margin:0;font-size:.9rem;color:var(--fs-muted)}.fs-error{color:#ffbdb0}.fs-result{margin-top:2rem}.fs-result-head{text-align:center;padding:1rem 0 1.5rem}.fs-result-head h2{font-size:clamp(2rem,4vw,3rem);overflow-wrap:anywhere}.fs-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:1rem 0 1.8rem}.fs-tabs button{border:1px solid #64857270;background:#12271f;color:#e5e5d7;border-radius:7px;padding:.8rem .5rem;min-height:48px;overflow-wrap:anywhere;font-size:.9rem}.fs-tabs button[aria-pressed=true]{background:#dcc28c;color:#1c2b21}.fs-reading{display:grid;grid-template-columns:1.4fr 1fr;gap:1.6rem;padding:clamp(1rem,3vw,2rem);background:#0b1914;border-radius:15px;border:1px solid var(--fs-border)}.fs-chips{display:flex;gap:.5rem;flex-wrap:wrap}.fs-chips span{border:1px solid var(--fs-border);border-radius:5px;padding:.25rem .6rem;color:#d8bf8c;font-size:.83rem}.fs-tip{border-left:2px solid #ba9e6e;padding-left:1.2rem}.fs-steps{grid-column:1/-1;border-top:1px solid var(--fs-border);padding-top:1.5rem}.fs-steps ol{margin:0;padding-left:1.4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.fs-steps li{padding-left:.2rem;font-size:.93rem}.fs-steps li::marker{color:var(--fs-gold);font-weight:bold}.fs-actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-top:1.4rem}.fs-actions [data-save]{flex-basis:100%}.fs-method{margin-top:2rem;color:var(--fs-muted)}.fs-method a{color:var(--fs-gold)}.fs-disclaimer{text-align:center;margin-top:1.5rem!important}.fs [data-title]:focus{outline:none}
@media(max-width:760px){.fs-hero{grid-template-columns:1fr;gap:1rem}.fs-hero>div{padding:0}.fs-hero img{max-height:280px;object-fit:cover}.fs-settings{grid-template-columns:1fr 1fr}.fs-settings>label:last-child{grid-column:1/-1}.fs-workspace{grid-template-columns:1fr}.fs-inspector{margin-top:.2rem}.fs-cell strong{font-size:.88rem}.fs-cell small{font-size:.72rem}.fs-map{min-height:260px}.fs-reading{grid-template-columns:1fr}.fs-steps ol{grid-template-columns:1fr;gap:.8rem}.fs-build{align-items:stretch;flex-direction:column}.fs-crop-controls{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.fs-settings,.fs-plan-options{grid-template-columns:1fr}.fs-settings>label:last-child{grid-column:auto}.fs-cell strong{font-size:.72rem}.fs-cell small{font-size:.63rem}.fs-cell .fs-symbol{font-size:1.2rem}.fs-map-frame{padding:11px}.fs-tabs button{font-size:.76rem;padding:.6rem .25rem}.fs-tip{padding-left:.8rem}.fs-hero h2{font-size:2.65rem}.fs-workspace{gap:.8rem}}
@media(prefers-reduced-motion:no-preference){.fs-cell,.fs-tabs button{transition:background .18s,border-color .18s}.fs-primary:hover{filter:brightness(1.08)}}
/* Preserve the floor-plan proportions at every viewport width. */
.fs-map{min-height:0}.fs-map.has-plan .fs-cell{gap:1px}.fs-map.has-plan .fs-cell strong,.fs-map.has-plan .fs-cell small{font-size:clamp(.56rem,1.1vw,.8rem)}
.fs-short{display:none}.fs-cell small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:420px){.fs-cell .fs-full{display:none}.fs-cell .fs-short{display:inline}.fs-cell strong{white-space:nowrap;font-size:.68rem}.fs-map.has-plan .fs-cell strong{font-size:.62rem}.fs-cell{padding:.25rem .1rem}}
@media(max-width:420px){.fs-cell .fs-symbol{display:none}.fs-cell{gap:2px}.fs-cell>strong,.fs-cell>small{flex-shrink:0}.fs-map.is-wide .fs-cell>small{display:none}}

/* Translated labels must remain inside their layout columns. */
.fs h2,.fs h3,.fs h4,.fs summary,.fs label,.fs-quiet,.fs-primary{overflow-wrap:anywhere}.fs-hero>div,.fs-settings>label,.fs-reading>div{min-width:0}
