body.base-fullscreen{overflow:hidden}body.base-fullscreen>.masthead,body.base-fullscreen>.wiki-footer,body.base-fullscreen #wiki-kicker,body.base-fullscreen #wiki-title,body.base-fullscreen #wiki-intro,body.base-fullscreen #wiki-source,body.base-fullscreen #wiki-feedback{display:none}body.base-fullscreen #wiki-main{position:fixed;inset:0;max-width:none;padding:0;margin:0}body.base-fullscreen #wiki-content{height:100%}
.base-builder{position:relative;width:100%;height:100%;height:100dvh;color:#e6f3f3;background:#081e2b;font:14px system-ui;overflow:hidden}.base-builder *{box-sizing:border-box}.base-stage{position:absolute;inset:0}.base-canvas{width:100%;height:100%;display:block;touch-action:none;outline-offset:-3px}.base-canvas:focus-visible{outline:2px solid #64ddc4}.base-builder button,.base-builder select,.base-builder input,.base-builder textarea{font:inherit;border:1px solid #426575;border-radius:6px;background:#142f3d;color:#e6f3f3;min-width:0}.base-builder button{cursor:pointer;padding:8px 10px;min-height:40px}.base-builder button:hover{background:#214554}.base-builder button[aria-pressed=true]{background:#65e4cc;color:#06262b;border-color:#65e4cc}.base-builder button:disabled{opacity:.4;cursor:default}.base-builder input:not([type=checkbox]),.base-builder select,.base-builder textarea{padding:8px;width:100%;background:#0b202b}.base-builder label{font-size:12px;color:#b0cbd3;display:grid;gap:4px}.base-builder a{color:#67e0c6}.base-builder button:focus-visible,.base-builder input:focus-visible,.base-builder select:focus-visible{outline:2px solid #67e0c6;outline-offset:2px}.base-top{position:absolute;top:max(12px,env(safe-area-inset-top));left:12px;right:12px;display:flex;gap:8px;align-items:center;pointer-events:none;z-index:3}.base-top>*{pointer-events:auto}.base-top>button{background:#102936f2}.base-top #base-details-toggle{margin-left:auto}.base-view-picker{display:flex!important;align-items:center;background:#102936ed;padding:0 8px;border-radius:6px;gap:7px!important}.base-view-picker select{width:130px;min-height:40px;border:0;background:transparent!important}
.base-drawer{position:absolute;top:64px;bottom:158px;width:280px;background:#102936f5;border:1px solid #345463;border-radius:10px;z-index:4;display:none;box-shadow:0 8px 25px #0005;overflow:hidden}.base-library{left:12px}.base-details{right:12px;width:410px}.catalog-open .base-library,.details-open .base-details{display:flex;flex-direction:column}.base-drawer-title{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #345463;flex-shrink:0}.base-drawer-title button{min-width:40px;font-size:24px;line-height:1;padding:4px}.base-brand{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:700;text-decoration:none;color:#e6f3f3!important}.base-brand svg{width:28px;height:28px;stroke:#67e0c6;fill:none;stroke-width:1.6}.base-catalog-tools{padding:10px 12px 0;display:grid;gap:8px}.base-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.base-library #base-catalog-count{font-size:12px;color:#9fc4ce;padding:0 12px;margin:8px 0}.base-part-list{flex:1;min-height:0;overflow:auto;padding:0 8px 10px;display:grid;align-content:start;gap:4px}.base-part-list button{display:flex;text-align:left;gap:9px;align-items:center;background:#102936;padding:5px;min-height:64px}.base-part-list button[aria-pressed=true]{background:#21464d;color:#67e0c6}.base-part-list img{object-fit:contain;width:52px;height:52px;flex-shrink:0}.base-part-list strong{font-size:13px;display:block}.base-part-list small{font-size:11px;color:#aac3cb;display:block;margin-top:4px}.base-return{padding:10px 12px;border-top:1px solid #345463;font-size:12px}.base-detail-tabs{display:flex;gap:5px;padding:8px;flex-shrink:0}.base-detail-tabs button{flex:1;font-size:12px;padding:7px}.base-detail-scroll{padding:0 12px 14px;overflow:auto;flex:1;min-height:0}.base-manager{display:grid;gap:9px}.base-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.base-actions button{font-size:12px;flex:1;min-width:75px}.base-notes{margin:12px 0}.base-toggle{display:flex!important;align-items:center;gap:6px!important}.base-toggle input{accent-color:#65e4cc;width:17px;height:17px;flex-shrink:0}.base-import{display:grid;gap:5px;margin-top:12px}.base-import input{font-size:11px;width:100%}.base-help{font-size:12px;line-height:1.5;color:#a9c6cf}.base-help summary{cursor:pointer;padding:7px 0}.base-help p{margin:8px 0}.base-selection h3{margin:10px 0}.base-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.base-piece-list{display:grid;gap:5px}.base-piece-list button{display:flex;justify-content:space-between;gap:7px;font-size:12px;text-align:left}.base-piece-list small{color:#a6c1c8;white-space:nowrap}.base-bill h2{font-size:18px}.base-bill h3{font-size:15px}.base-bill .base-panel{padding:0;margin:0 0 18px}.base-table-scroll{overflow:auto}.base-table-scroll table{width:100%;font-size:12px;border-collapse:collapse}.base-table-scroll td,.base-table-scroll th{padding:9px 5px;border-bottom:1px solid #304e5b;text-align:left}.base-table-scroll td:last-child{text-align:right}.base-table-scroll a{overflow-wrap:anywhere}.base-alert{color:#efd18b;font-size:12px}.base-danger{border-color:#a27171!important;color:#ffd2cb!important}.base-history,.base-zoom{position:absolute;z-index:2;background:#102936ed;border:1px solid #426575;border-radius:8px;padding:4px;display:flex;gap:4px}.base-history{left:12px;bottom:170px}.base-zoom{right:12px;bottom:170px;flex-direction:column}.base-zoom button{width:44px;height:44px;padding:0;font-size:22px}.base-zoom #base-fit{font-size:12px}.base-bottom{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 24px));padding:10px 12px;background:#102936ed;border:1px solid #426575;border-radius:10px;z-index:3}.base-mode-row{display:flex;gap:6px}.base-mode-row button{flex:1;font-size:12px}.base-place-controls{display:flex;gap:12px;align-items:center;margin-top:7px}.base-place-controls label{flex:1}.base-place-controls .base-toggle{flex:1.65;white-space:nowrap}.base-place-controls select,.base-place-controls input:not([type=checkbox]){padding:5px;min-height:30px}.base-editor-status{font-size:12px;color:#aac9cf;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:6px 0 0}.base-readout{position:absolute;left:150px;bottom:170px;max-width:calc(100% - 225px);pointer-events:none;font-size:11px;color:#b1d7dd;background:#081e2bd9;border-radius:6px;padding:6px 9px}.base-readout span{margin-right:10px}.base-readout #base-status{margin:4px 0 0;color:#65e4cc}.base-builder [hidden]{display:none!important}
@media(max-width:650px){.base-top{gap:5px;left:8px;right:8px;top:max(8px,env(safe-area-inset-top))}.base-top>button{font-size:11px;padding:7px}.base-top .base-view-picker{font-size:0;padding:0}.base-view-picker select{width:100px;font-size:12px}.base-drawer{top:56px;left:8px;right:8px;width:auto;bottom:190px}.base-library{width:min(310px,calc(100% - 16px));right:auto}.base-builder .base-drawer-title{padding:7px 10px}.base-bottom{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 16px);padding:8px}.base-mode-row{gap:4px}.base-mode-row button{font-size:11px;padding:6px 4px;min-height:40px}.base-place-controls{gap:5px;display:grid;grid-template-columns:1.25fr .85fr .65fr .85fr}.base-place-controls label{font-size:10px}.base-place-controls .base-toggle{white-space:normal;font-size:11px}.base-place-controls input[type=checkbox]{width:16px;height:16px}.base-place-controls select,.base-place-controls input:not([type=checkbox]){padding:4px;font-size:11px;width:100%;min-height:34px}.base-history{left:8px;bottom:190px}.base-history button{font-size:11px;min-height:40px;padding:6px 8px}.base-zoom{right:8px;bottom:190px}.base-readout{left:8px;bottom:150px;max-width:calc(100% - 16px);font-size:10px;padding:4px 7px}.base-readout span{display:none}.base-readout #base-status{margin:0}.base-editor-status{font-size:11px}.base-part-list button{min-height:58px}.base-part-list img{width:46px;height:46px}.base-part-list strong{font-size:12px}}
@media(max-height:500px){.base-drawer{bottom:158px;top:58px}.base-history,.base-zoom{bottom:160px}.base-zoom{flex-direction:row}.base-readout{display:none}.base-catalog-tools{grid-template-columns:1fr 1fr}.base-filter-row{grid-template-columns:1fr}.base-filter-row label:last-child{display:none}.base-library .base-drawer-title{padding:4px 8px}}
@media print{body.base-fullscreen{overflow:visible}body.base-fullscreen #wiki-main{position:static}.base-builder{height:auto;overflow:visible;color:black;background:white}.base-stage{position:static;height:500px}.base-top,.base-library,.base-history,.base-zoom,.base-bottom,.base-readout,.base-detail-tabs,.base-drawer-title{display:none!important}.base-details{display:block!important;position:static;width:100%;background:white;border:0}.base-detail-scroll{overflow:visible}.base-details [data-panel-content]{display:none!important}.base-details [data-panel-content=materials]{display:block!important}.base-help{color:#555}.base-builder a{color:#164c57}.base-table-scroll{overflow:visible}}

.base-part-list button{width:100%;min-width:0}.base-part-list button>span{min-width:0;overflow-wrap:anywhere}.base-part-list{overflow-x:hidden}



.base-mobile-text{display:none}.base-mode-row button{white-space:nowrap}.base-top button{white-space:nowrap}@media(max-width:650px){.base-desktop-text{display:none}.base-mobile-text{display:inline}.base-top #base-details-toggle{min-width:48px}}

/* Keep text controls at Safari's non-zooming size without disabling page zoom. */
.base-builder input:not([type=checkbox]),.base-builder select,.base-builder textarea{font-size:16px}
.base-map-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border:1px solid #426575;border-radius:6px;background:#102936f2;text-decoration:none;color:#e6f3f3!important}
.base-floor-controls{position:absolute;right:12px;top:64px;z-index:3;display:flex;align-items:center;gap:4px;padding:5px;border:1px solid #426575;border-radius:8px;background:#102936ed}
.base-floor-controls label{text-align:center;min-width:52px}.base-floor-controls select{text-align:center;padding:4px;min-height:34px}.base-floor-controls button{width:36px;padding:5px;font-size:20px}.base-history{bottom:170px}
@media(max-width:650px){.base-builder input:not([type=checkbox]),.base-builder select,.base-builder textarea{font-size:16px}.base-view-picker select{width:109px}.base-map-button{font-size:12px;padding:7px 9px}.base-floor-controls{right:8px;top:58px}.base-floor-controls label{font-size:10px}.base-place-controls{grid-template-columns:1.1fr .8fr .8fr .9fr}.base-history,.catalog-open .base-history{left:8px;bottom:190px}}
@media(max-height:500px){.base-history{bottom:160px}.base-floor-controls{top:58px}.base-drawer{top:58px;bottom:8px}}
@media print{.base-floor-controls{display:none!important}}
/* Long presses belong to placement gestures; editable fields retain selection. */
@media(max-width:650px),(any-pointer:coarse){
 body.base-fullscreen .base-builder,body.base-fullscreen .base-builder :not(canvas){touch-action:manipulation}
 body.base-fullscreen .base-builder,body.base-fullscreen .base-builder *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
 body.base-fullscreen .base-builder input,body.base-fullscreen .base-builder textarea,body.base-fullscreen .base-builder [contenteditable=true],body.base-fullscreen .base-builder [contenteditable=true] *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
}

/* Keep history and feedback in one flow, clear of the full-height parts drawer. */
.base-library-footer{flex-shrink:0;border-top:1px solid #345463;background:#102936}
.base-design-count{padding:8px 12px;font-size:11px;line-height:1.5;color:#b1d7dd;display:flex;flex-wrap:wrap;gap:2px 8px}
.base-return{display:block;flex-shrink:0}
.base-history-area{position:absolute;left:310px;bottom:170px;max-width:calc(100% - 390px);display:flex;align-items:center;gap:8px;z-index:2}
.base-history-area .base-history{position:static;flex-shrink:0}
.base-history-area .base-readout{position:static;max-width:none;margin:0;min-width:0;color:#65e4cc;overflow-wrap:anywhere}
.base-history-area .base-readout:empty{display:none}
@media screen and (min-width:651px){
 .base-library{bottom:max(12px,env(safe-area-inset-bottom))}
 .catalog-open .base-bottom{left:calc(50% + 146px);width:min(760px,calc(100% - 328px))}
 .base-history-area{flex-wrap:wrap}
}
@media screen and (max-width:650px){
 .base-history-area{left:8px;bottom:170px;max-width:calc(100% - 88px);flex-direction:column;align-items:flex-start;gap:4px}
 .base-history-area .base-readout{font-size:10px;padding:4px 7px}
}
@media screen and (max-height:500px){.base-history-area{bottom:160px}}
@media print{.base-history-area{display:none!important}}
