html{height:auto;min-height:0;background:transparent}body{height:auto;min-height:0;overflow-x:hidden;background:#0b132b}
.compact-header.app-header{height:68px;min-height:68px;display:flex;padding:12px 22px;flex-wrap:nowrap;gap:16px}
.editor-title{font:700 18px/1.3 "Space Grotesk","Inter",sans-serif;color:#f8fafc;letter-spacing:-.3px}
.compact-header .header-actions{display:flex;flex:initial;margin-left:auto;gap:8px;align-items:center;flex-wrap:nowrap}
.compact-header .header-actions .ghost{display:inline-flex;grid-column:auto;grid-row:auto}
.app-layout{height:auto;min-height:0}.panel{overflow-y:visible}.workspace{min-height:610px}
.app-footer{padding:13px 22px;min-height:44px;font-size:12px}.app-footer .maker-credit{font-size:12px!important;letter-spacing:0!important;color:#abc7ff}.maker-credit:hover{color:#ff916b;text-decoration:underline}.app-footer #busy-label{display:block;margin-left:auto;font-size:12px}
.language-control{position:relative}.language-button{gap:7px;border:1px solid #334563;color:#c4d4ee;min-height:40px;padding:8px}.language-menu{position:absolute;top:47px;right:0;z-index:50;min-width:175px;padding:6px;background:#15213b;border:1px solid #425579;border-radius:8px;box-shadow:0 8px 30px #0005}.language-menu button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:5px;background:transparent;color:#eef3ff;padding:11px 12px;text-align:left;font-size:14px}.language-menu button:hover,.language-menu button[aria-checked=true]{background:#293c5c;color:#ffae8d}
.format-toolbar{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.format-button{border:1px solid #344460;border-radius:5px;min-height:38px;background:#0b142a;color:#c2d0e2;font-size:17px;padding:6px}.format-button:hover{background:#223553}.format-button.active,.bridge-editor .button.active{background:#442b26;color:#ffc4ab;border-color:#ff6b35}.align-toolbar{grid-template-columns:repeat(3,1fr)}.align-glyph{display:flex;flex-direction:column;gap:3px;width:20px;margin:auto}.align-glyph i{display:block;background:currentColor;height:2px;width:20px}.align-glyph i:nth-child(2){width:13px}.align-glyph.center i:nth-child(2){align-self:center}.align-glyph.right i:nth-child(2){align-self:flex-end}
.font-picker-button{display:flex;justify-content:space-between;align-items:center;gap:7px;width:100%;background:#0b142a;border:1px solid #344460;border-radius:6px;color:#edf0f5;min-height:42px;padding:10px 11px;text-align:left;font-size:14px}.font-picker-button>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-popup{position:fixed;z-index:100;display:flex;flex-direction:column;overflow:hidden;padding:10px;background:#142039;border:1px solid #4a5f84;border-radius:9px;box-shadow:0 15px 45px #0007}.font-popup>input{flex-shrink:0;margin-bottom:7px;font-size:14px}.font-options{overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#415c86 transparent}.font-group{padding:10px 8px 5px;font-size:12px;font-weight:600;color:#a7bad7;letter-spacing:.3px}.font-option{display:flex;flex-direction:column;gap:5px;width:100%;border:1px solid transparent;border-radius:5px;background:transparent;color:#edf1fa;padding:9px 10px;text-align:left}.font-option:hover,.font-option:focus-visible{background:#243b61}.font-option[aria-selected=true]{border-color:#ff6b35;background:#3c2b2b}.font-option-name{font-size:12px;color:#b5c6e0}.font-option-preview{font-size:23px;line-height:1.5;min-height:35px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.font-empty{padding:12px;font-size:14px;color:#adbcd1}
.edit-bridges-button{margin-bottom:18px;width:100%;font-size:13px}.bridge-editor{padding:12px;border:1px solid #465371;border-radius:7px;background:#0e1930;margin-bottom:20px}.bridge-editor>.button{width:100%;font-size:13px}.bridge-editor .field{margin:15px 0}.bridge-editor>.field-help{margin:12px 0;font-size:12px}.bridge-editor label{font-size:13px}
#viewer-loading{position:absolute;inset:0;display:grid;place-items:center;z-index:3;font-size:15px;color:#2d4d7a;background:#e8eef6d9;pointer-events:none}
@media(min-width:901px){.app-layout{height:710px;min-height:710px}.panel{min-height:0;overflow-y:auto}.workspace{height:710px;min-height:0}}
@media(max-width:900px){.app-layout{height:auto;min-height:0}.left-panel{overflow:visible}.right-panel .edit-bridges-button,.right-panel .bridge-editor{grid-column:1/-1}.workspace{height:710px;align-self:start}.right-panel .bridge-editor{max-width:100%}.bridge-editor{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.bridge-editor .field-help{grid-column:1/-1}.bridge-editor .field{margin:0}}
@media(max-width:620px){.compact-header.app-header{padding:12px 14px;gap:10px;height:auto;min-height:64px;display:flex}.editor-title{font-size:15px;max-width:130px}.compact-header .header-actions{gap:5px}.compact-header .header-actions .ghost{padding:6px;min-width:32px}.compact-header .header-actions .accent{font-size:12px;padding:9px;gap:5px}.language-button{min-width:34px;min-height:36px;padding:7px;gap:4px}.language-button [data-icon]{display:none}.workspace{height:445px;min-height:445px;max-height:none;width:100%;align-self:auto}.app-footer{padding:12px 14px;gap:10px}.app-footer #busy-label{font-size:11px}.app-layout .panel{overflow-y:visible}.bridge-editor{grid-template-columns:1fr}.bridge-editor .field-help{grid-column:auto}.compact-header .button-label{display:none}.app-footer a{white-space:nowrap}}
@media(max-width:390px){.compact-header.app-header{flex-wrap:wrap}.editor-title{max-width:none;flex:1}.compact-header .header-actions{margin-left:0}.compact-header .header-actions .accent{font-size:11px;padding:8px}.editor-title{font-size:14px}.compact-header .header-actions .ghost{min-width:29px}.language-button{min-width:30px;padding:5px}}

/* V2: viewport, 2D navigation and optional print ordering. */
.app-footer{flex-wrap:wrap}
.workspace-toolbar{height:auto;min-height:67px;flex-wrap:wrap;gap:8px}.zoom-tools{display:flex;align-items:center;gap:1px;margin-left:auto}.zoom-tools .icon-button{padding:6px;min-width:30px}.zoom-tools .active{background:#dbeafe;color:#1d4ed8}#zoom-value{background:transparent;color:#334155;border:0;font-size:12px;min-width:45px;padding:8px 2px;font-variant-numeric:tabular-nums}.stage{overflow:hidden}.plate-wrap{transform-origin:50% 50%;will-change:transform}.pan-view,.pan-view #preview{cursor:grab!important}.is-panning,.is-panning #preview{cursor:grabbing!important}.exit-expanded{font-size:12px;min-height:32px;padding:6px 9px;white-space:nowrap}
.print-order{border:1px solid #af583e;background:#201e2e;border-radius:9px;padding:14px;margin-top:22px;grid-column:1/-1}.print-order h3{margin:0 0 9px;font-size:16px;line-height:1.4;color:#ffc4aa}.print-order .field{margin:12px 0}.print-order>p:first-of-type{font-size:13px;color:#bbcee8}.estimate-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.estimate-grid dt{font-size:11px;color:#afbdd0}.estimate-grid dd{margin:4px 0 0;font-size:15px;font-weight:600}.print-price{font-size:25px;font-weight:750;color:#ffaf8e;margin:14px 0}.print-order>.button{width:100%;font-size:13px;margin-top:8px}.print-order .field-help{margin:10px 0;font-size:12px}.print-order .order-error{color:#ffb4a8}
html.viewport-mode,html.viewport-mode body{height:100%;min-height:100%;overflow-y:auto}html.viewport-mode .app-header{min-height:68px}html.viewport-mode .app-footer{min-height:44px}
@media(min-width:901px){html.viewport-mode .app-layout{height:calc(100dvh - 113px);min-height:390px}html.viewport-mode .workspace{height:100%;min-height:0}html.viewport-mode .stage{min-height:250px}}
@media(max-width:760px){.compact-header.app-header{flex-wrap:wrap}.compact-header .editor-title{max-width:none}.compact-header .header-actions{margin-left:auto}.exit-expanded{margin-left:auto}.compact-header .header-actions .accent{font-size:11px}.workspace-toolbar{padding:8px 10px}.view-tabs button{padding:7px;font-size:12px}.zoom-tools{gap:0}.zoom-tools .icon-button{min-width:27px;padding:5px}#zoom-value{min-width:40px}.workspace-toolbar>#fullscreen-button{padding:6px;min-width:29px}}

/* V2.1: brand, visible ordering and a dismissible service reminder. */
.compact-header.app-header{height:auto;min-height:124px;align-items:center}
.header-brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex-shrink:0}.header-brand>a{display:block;line-height:0}.brand-logo{display:block;width:176px;height:78px;object-fit:cover;object-position:center}.header-brand .editor-title{max-width:none}
.header-export{display:flex;flex-direction:column;gap:6px}.header-export .button{min-height:35px;padding:8px 12px;font-size:13px}.header-export .header-order{background:#203d6c;border-color:#41699e;color:#fff}.header-export .header-order:hover{background:#2c5089}
.print-order{scroll-margin:18px}.order-highlight{outline:2px solid #ff9a71;outline-offset:4px}.print-order #order-availability:empty{display:none}
.order-prompt{position:fixed;z-index:90;right:20px;bottom:20px;width:330px;max-width:calc(100vw - 32px);padding:25px 22px 20px;background:#132440;border:1px solid #f77b48;border-radius:13px;box-shadow:0 12px 45px #0007;color:#f3f6fd}.order-prompt .eyebrow{color:#ffb48d;font-size:10px}.order-prompt h2{font-size:21px;line-height:1.25;letter-spacing:-.3px;margin:12px 0}.order-prompt p{font-size:13px;line-height:1.5;color:#bed0e8}.order-prompt .prompt-price{font-size:32px;font-weight:750;color:#ffaf8e;margin:12px 0 6px;font-variant-numeric:tabular-nums}.order-prompt .prompt-details{font-size:11px;margin:7px 0 16px}.order-prompt>.button{width:100%}.order-prompt .prompt-close{position:absolute;right:7px;top:7px;color:#d5e0ee;min-width:32px;min-height:32px}
@media(min-width:901px){html.viewport-mode body{display:flex;flex-direction:column;height:100dvh;min-height:100dvh}html.viewport-mode .app-header,html.viewport-mode .app-footer{flex:none}html.viewport-mode .app-layout{flex:1;height:auto;min-height:390px}html.viewport-mode .workspace{height:100%;min-height:0}}
@media(max-width:620px){.compact-header.app-header{gap:10px;min-height:110px}.header-brand .brand-logo{width:154px;height:69px}.header-brand .editor-title{font-size:15px}.header-export .button{font-size:12px}.order-prompt{right:16px;bottom:16px;padding:24px 20px 18px}.compact-header .header-actions{align-items:center}}
