.builder-shell{border:1px solid #cbd0c7;background:#fff;color:#202823;border-radius:8px;overflow:hidden}.builder-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 22px;background:#e9eee3;border-bottom:1px solid #cbd0c7;font-size:10px;letter-spacing:.12em}.builder-toolbar>div{display:flex;align-items:center;gap:10px}.status-dot{width:6px;height:6px;background:#486547;border-radius:50%}.builder-toolbar button{font-size:12px;padding:7px 12px;background:transparent;border:1px solid #bfc8b7;border-radius:3px;letter-spacing:0;min-height:34px}.builder-toolbar button:disabled{opacity:.35;cursor:default}.builder-workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px;min-height:660px;height:min(760px,calc(100svh - 240px))}.builder-stage{position:relative;min-width:0;background:#1b2022;isolation:isolate}.lithos-renderer,.lithos-canvas{height:100%;width:100%;position:relative;overflow:hidden}.lithos-canvas canvas{display:block;width:100%;height:100%;touch-action:none}.builder-stage-title{position:absolute;top:25px;left:25px;color:#263c2e;z-index:2;pointer-events:none}.builder-stage-title>span{font-size:9px;letter-spacing:.15em;opacity:.65}.builder-stage-title strong{display:block;font:500 24px/1.3 var(--sans);margin-top:12px;letter-spacing:-.04em}.builder-stage-title small{display:block;font-size:12px;letter-spacing:0;font-weight:400;opacity:.8;margin-top:4px}.builder-camera{position:absolute;bottom:44px;left:20px;right:20px;display:flex;gap:6px;justify-content:center;align-items:center;z-index:2}.builder-camera button{border:1px solid #ffffff30;background:#202b29e6;color:#eaf1e3;border-radius:4px;min-height:42px;padding:8px 17px;font-size:12px}.builder-camera span{font-size:10px;margin-left:15px;color:#1e2e23}.builder-disclaimer{position:absolute;bottom:14px;left:15px;right:15px;text-align:center;font-size:10px;max-width:none;color:#15231a;z-index:2;pointer-events:none}.builder-loading{position:absolute;top:48%;left:0;right:0;text-align:center;color:#263c2e;font-size:14px;max-width:none;padding:20px;z-index:3;pointer-events:none}.builder-controls{background:#fcfcf8;padding:0 24px 22px;overflow-y:auto;display:flex;flex-direction:column;min-width:0}.builder-tabs{display:flex;border-bottom:1px solid #d6dacd;margin:0 -24px 24px;padding-inline:16px;position:sticky;top:0;background:#fcfcf8;z-index:4}.builder-tabs button{flex:1;padding:19px 4px 16px;border:0;border-bottom:2px solid transparent;background:transparent;font-size:12px;font-weight:600;color:#606b60}.builder-tabs button[aria-selected=true]{border-color:#496448;color:#233b29}.builder-controls h2{font-size:25px;letter-spacing:-.05em;line-height:1.2;margin-bottom:10px}.builder-controls section>p{font-size:13px;color:#697464;line-height:1.65;margin-bottom:20px}.builder-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.builder-type-grid button{display:flex;flex-direction:column;align-items:center;gap:8px;border:1px solid #d4d9ce;background:#f1f3ec;padding:12px 3px;min-height:83px;border-radius:4px;font-size:10px}.builder-type-grid svg{width:51px;height:34px;fill:none;stroke:#6a7a60;stroke-width:1.5;stroke-linejoin:round}.builder-type-grid button[aria-pressed=true],.builder-granites button[aria-pressed=true]{border-color:#52694b;box-shadow:0 0 0 1px #52694b;background:#e6ecdf}.builder-dimensions{margin-top:25px}.builder-dimensions label{display:flex;flex-wrap:wrap;justify-content:space-between;font-size:12px;margin-top:18px;gap:12px}.builder-dimensions input{width:100%;accent-color:#52694b;min-height:24px;cursor:pointer}.builder-dimensions p{font-size:11px;color:#727b6c;line-height:1.7;margin-top:16px}.builder-granites{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.builder-granites button{min-width:0;border:1px solid #d4d9ce;padding:4px;background:#fff;border-radius:4px;text-align:left;font-size:10px;line-height:1.3}.builder-granites img{width:100%;height:48px;object-fit:cover;border-radius:2px}.builder-granites span{display:block;min-height:30px;margin-top:6px;font-size:10px}.builder-select{display:block;font-size:12px;margin-top:24px}.builder-select select{display:block;width:100%;margin-top:9px;min-height:43px;border:1px solid #c5ccbf;background:#fff;font-size:12px;padding:8px}.builder-controls .builder-help{font-size:11px;margin-top:20px;color:#727b6c}.builder-field{display:block;margin-top:15px;font-size:12px}.builder-field input{width:100%;display:block;min-height:40px;margin-top:6px;border:1px solid #c5ccbf;background:#fff;font-size:14px;padding:8px 10px;border-radius:3px}.builder-next{margin-top:auto;padding-top:26px}.builder-next .button{width:100%;background:#354b35;color:#fff;border-color:#354b35;font-size:12px;gap:20px;padding:13px 16px;min-height:48px}.builder-next>p{font-size:10px;color:#717a69;text-align:center;margin-top:10px;line-height:1.6}.builder-fallback{padding:140px 35px;color:#e9eedf}.builder-fallback h2{font-size:32px}.builder-fallback p{margin-top:20px;font-size:15px}.builder-fallback a{display:inline-block;margin-top:20px;text-decoration:underline}.muted{opacity:.6}
@media(max-width:1050px){.builder-workspace{grid-template-columns:minmax(0,1fr) 310px}.builder-controls{padding-inline:18px}.builder-tabs{margin-inline:-18px}.builder-camera span{display:none}}
@media(max-width:700px){.builder-shell{border-radius:0;border-inline:0}.builder-toolbar{padding:10px 15px;font-size:8px;letter-spacing:.07em;gap:10px}.builder-toolbar>div{gap:6px}.builder-toolbar button{font-size:10px;padding:6px 8px}.builder-workspace{display:flex;flex-direction:column;height:auto;min-height:0}.builder-stage{height:420px;min-height:420px;width:100%}.builder-stage-title{top:19px;left:19px}.builder-stage-title strong{font-size:22px}.builder-controls{padding:0 20px 24px;overflow:visible}.builder-tabs{margin:0 -20px 22px;position:static}.builder-tabs button{padding:20px 4px;font-size:13px}.builder-type-grid{grid-template-columns:repeat(3,1fr)}.builder-type-grid button{font-size:12px;min-height:91px}.builder-controls h2{font-size:28px}.builder-controls section>p{font-size:14px}.builder-granites button,.builder-granites span{font-size:11px}.builder-granites img{height:65px}.builder-field{font-size:13px}.builder-field input,.builder-select select{font-size:16px;min-height:46px}.builder-next .button{font-size:14px;min-height:52px}.builder-camera{bottom:43px}.builder-camera button{min-height:44px}.builder-disclaimer{font-size:9px}.builder-next>p{font-size:12px}.builder-controls .builder-help,.builder-dimensions p{font-size:12px}}
@media(max-width:360px){.builder-toolbar>div:first-child{font-size:0}.builder-toolbar .status-dot{display:block}.builder-stage{height:370px;min-height:370px}}
.builder-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.builder-type-grid button{padding:9px 5px 12px;gap:8px;font-size:10px;line-height:1.45;justify-content:flex-start}
.builder-type-grid img{width:100%;height:64px;object-fit:contain;mix-blend-mode:multiply}
.builder-type-grid span{max-width:18ch;margin:auto 0;min-height:32px;display:flex;align-items:center}
.builder-controls .companion-guidance{font-size:11px;line-height:1.7;margin:14px 0 20px;color:#66735e}
.builder-person{border:1px solid #d5dccd;border-radius:6px;padding:9px 12px 15px;margin:18px 0 0;min-width:0}
.builder-person legend{font-size:11px;font-weight:600;color:#405937;padding:0 6px}
.builder-person .builder-field{margin-top:6px}
.builder-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.builder-dates .builder-field{min-width:0;font-size:11px;line-height:1.5}
.builder-swap{margin-top:14px;padding:7px 0;background:none;border:0;font-size:11px;color:#425a38;min-height:36px;cursor:pointer}
.builder-stage-title strong{max-width:27ch}
.builder-controls .builder-lettering-spec{font-size:11px;line-height:1.7;margin:18px 0 0;color:#52634a}
.builder-lettering-warning{margin-top:15px;padding:13px;border:1px solid #cbbd93;border-radius:5px;background:#f7f2e3;font-size:12px;line-height:1.65;color:#5b4b29}
.builder-lettering-warning p{margin-top:8px;font-size:11px}
@media(max-width:700px){.builder-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.builder-type-grid button{font-size:10px;padding:8px 5px 12px}.builder-type-grid img{height:61px}.builder-stage-title strong{font-size:18px;max-width:24ch}.builder-controls .companion-guidance{font-size:12px}.builder-dates .builder-field{font-size:12px}.builder-swap{min-height:44px;font-size:12px}}

/* Keep the lettering unobstructed during a field-level close-up. */
.builder-stage-title{transition:opacity .3s ease}
.builder-shell:has(#panel-words input:focus) .builder-stage-title{opacity:0}
#panel-words input[type="checkbox"]{width:auto;accent-color:var(--green,#354e40);margin-right:.4rem}
@media(prefers-reduced-motion:reduce){.builder-stage-title{transition:none}}
.builder-controls ::selection{background:#2f4b36;color:#fffdf7}

.builder-arrangement{margin:1rem 0;border-top:1px solid #c9d0c4;padding-top:.8rem}
.builder-arrangement summary{cursor:pointer;font-size:.85rem;padding:.4rem 0}
.lettering-order{border:0;padding:0;margin:1rem 0;min-width:0}
.lettering-order legend{font-size:.85rem;font-weight:600}.lettering-order p{font-size:.75rem!important;margin:.35rem 0!important;opacity:.75}
.lettering-order ol{list-style:none;margin:.5rem 0;padding:0;display:grid;gap:.25rem}
.lettering-order button{width:100%;display:flex;align-items:center;gap:.6rem;text-align:left;border:1px solid #bac2b5;border-radius:4px;background:transparent;color:inherit;padding:.5rem .65rem;cursor:grab;font:inherit;font-size:.8rem}
.lettering-order button:active{cursor:grabbing}.lettering-order small{margin-left:auto;opacity:.6}
.art-add{background:#354b35;color:#fff;border:0;border-radius:4px;padding:11px 15px;cursor:pointer;font:inherit;font-size:13px}.art-add:disabled{opacity:.5;cursor:default}.art-placed{display:grid;gap:8px;margin:18px 0}.art-placed>button{display:flex;align-items:center;gap:10px;padding:7px;border:1px solid #bbc5b6;border-radius:4px;background:transparent;text-align:left;color:inherit;cursor:pointer}.art-placed>button[aria-pressed=true]{outline:2px solid #8a6530}.art-placed img{width:48px;height:48px;object-fit:contain;background:#e9eee3}.art-placed small{display:block;font-size:11px;margin-top:4px}.art-selected{border-top:1px solid #c9d0c4;padding-top:15px;font-size:13px}.art-actions{display:flex;gap:10px;margin:14px 0}.art-actions button{padding:9px 14px;min-height:40px;cursor:pointer;border:1px solid #9ba891;border-radius:4px;font:inherit}.art-actions button:not(.art-add){background:transparent;color:inherit}.art-dialog{width:min(780px,calc(100vw - 24px));max-height:85svh;overflow:auto;background:#fcfcf8;color:#263b30;border:1px solid #bcc6b5;border-radius:8px;padding:22px}.art-dialog::backdrop{background:#10271bbd}.art-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.art-dialog-heading h2{font:normal 27px Georgia,serif;margin:0}.art-dialog-heading>button{background:transparent;border:0;color:inherit;font-size:27px;cursor:pointer;min-width:40px;min-height:40px}.art-dialog label{display:grid;gap:6px;font-size:13px}.art-dialog input,.art-dialog select{min-height:42px;min-width:0;padding:8px;border:1px solid #bdc7b8;border-radius:4px;background:white;color:inherit;font:inherit}.art-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.art-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:15px}.art-grid>button{display:grid;gap:8px;padding:10px;border:1px solid #c5cebd;background:#edf0e8;border-radius:4px;cursor:pointer;color:inherit;font:inherit;font-size:12px}.art-grid img{width:100%;height:96px;object-fit:contain}.art-more{display:block;margin:20px auto;padding:10px 20px;background:transparent;border:1px solid #9ba891;cursor:pointer}.art-placement{max-width:400px;margin:auto}.art-placement>img{display:block;max-width:100%;height:130px;object-fit:contain;margin:auto}.art-placement>h3{text-align:center;font-size:16px}.art-placement>label{margin:15px 0}.art-placement>p{font-size:12px;line-height:1.6}.art-placement fieldset{border:1px solid #bdc7b8;padding:12px;display:flex;gap:25px}.art-placement fieldset label{display:flex;align-items:center;gap:6px}.art-placement input[type=radio]{min-height:0;accent-color:#354b35}.art-placement .art-actions{justify-content:space-between}.art-dialog [role=status]{font-size:12px;margin-top:12px}.art-dialog [role=alert]{color:#963524}.builder-tabs button{white-space:nowrap}@media(max-width:700px){.builder-tabs button{font-size:11px}.art-dialog{padding:16px}.art-filters{grid-template-columns:1fr}.art-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.art-grid img{height:80px}.art-grid>button{padding:6px;font-size:11px}}

.builder-tip{font-size:10px;letter-spacing:.02em;color:#52614d;white-space:nowrap}.builder-tip .status-dot{flex-shrink:0}

/* A quiet, continuous path through the choices; keep the next action in reach. */
.builder-toolbar>div:last-child{flex-wrap:wrap;justify-content:flex-end}
.builder-controls{overflow:hidden;padding-bottom:0}
.builder-tabs{flex-shrink:0;margin-bottom:0;padding-inline:10px}
.builder-tabs button{display:grid;justify-items:center;gap:5px;padding:12px 2px;font-size:11px;transition:color .2s,border-color .2s}
.builder-step-number{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#e8ece2;color:#65755e;font-size:10px}
.builder-tabs [aria-selected=true] .builder-step-number{background:#354b35;color:white}
.builder-options{overflow-y:auto;min-height:0;flex:1;padding:22px 3px 20px;scrollbar-gutter:stable}
.builder-options section:not([hidden]){animation:builder-enter .24s ease-out}
.builder-next{flex-shrink:0;padding:14px 0 12px;margin-top:0;border-top:1px solid #d6dacd;background:#fcfcf8}
.builder-next .builder-step-hint{text-align:left;font-size:11px;margin:0 0 9px;color:#53664c}
.builder-next>p[role=status]{min-height:2.8em;margin-top:8px}
.builder-next .button{justify-content:space-between;transition:background .2s,box-shadow .2s}
.builder-next .button:not(:disabled):hover{background:#263f2e;box-shadow:0 3px 10px #203c2518}
.builder-next .button span{transition:transform .2s}.builder-next .button:hover span{transform:translateX(3px)}
.builder-next .button:disabled{opacity:.55;cursor:wait}
.builder-shell button:focus-visible,.builder-shell input:focus-visible,.builder-shell select:focus-visible,.builder-shell summary:focus-visible{outline:2px solid #8a6530;outline-offset:3px}
.builder-type-grid button,.builder-granites button{transition:background .18s,border-color .18s,box-shadow .18s}
.builder-type-grid button:active,.builder-granites button:active{transform:scale(.98)}
.builder-frost{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;border-top:1px solid #d6dacd;padding-top:18px;margin-top:22px}
.builder-frost input{width:100%;min-height:28px;accent-color:#52694b;cursor:pointer}.builder-frost small{font-size:11px;line-height:1.6;color:#65745d}
.builder-review{font-size:12px}.builder-review>div{padding:12px 0;border-bottom:1px solid #dde2d7}.builder-review dt{font-weight:600;color:#354b35;margin-bottom:5px}.builder-review dd{margin:0;line-height:1.6;overflow-wrap:anywhere}
.builder-field input[type=checkbox]{display:inline-block;width:auto;min-height:0;margin:0 7px 0 0;accent-color:#354b35}
.drawing-dialog{max-width:540px}.drawing-dialog>p{font-size:13px;line-height:1.7}.drawing-list{display:grid;gap:8px;margin:20px 0}.drawing-list>button{display:grid;grid-template-columns:1fr auto;text-align:left;gap:7px;border:1px solid #c9d0c4;background:#f2f5ed;padding:13px;border-radius:5px;color:inherit;cursor:pointer}.drawing-list strong{font-size:14px;overflow-wrap:anywhere}.drawing-list small{grid-column:1;font-size:11px}.drawing-list span{grid-column:2;grid-row:1 / 3;align-self:center;font-size:12px}.drawing-dialog input[type=file]{font-size:12px;max-width:100%}
@keyframes builder-enter{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.builder-toolbar{align-items:flex-start;flex-wrap:wrap}.builder-toolbar>div:last-child{gap:5px}.builder-toolbar button{min-height:40px}.builder-tip{font-size:10px}.builder-controls{overflow:visible;padding-bottom:0;scroll-margin-top:90px}.builder-options{overflow:visible;flex:auto;padding-top:20px;scrollbar-gutter:auto}.builder-tabs{margin-bottom:0}.builder-tabs button{font-size:11px;padding:12px 2px}.builder-next{position:sticky;bottom:0;z-index:4;margin-inline:-20px;padding:12px 20px;box-shadow:0 -8px 12px #fcfcf8c9}.builder-next .builder-step-hint{font-size:12px}.builder-next>p[role=status]{min-height:0;font-size:11px}.builder-frost{font-size:13px}.builder-frost input{min-height:36px}.builder-review{font-size:14px}}
@media(prefers-reduced-motion:reduce){.builder-shell *, .builder-shell *::before,.builder-shell *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
