:root{--ink:#20262d;--muted:#697580;--line:#d9dee4;--line-strong:#bdc6cf;--surface:#fff;--surface-soft:#f4f6f7;--accent:#b92720;--accent-strong:#961c17;--accent-soft:#fae9e7;--yellow:#f4d20b;--yellow-soft:#fff9cf;--blue:#0057b8;--danger:#b42318;--shadow:0 16px 42px #1c232b26;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--ink);background:var(--surface-soft);font-size:14px}button,input{font:inherit;letter-spacing:0}button{color:inherit;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px}button:hover:not(:disabled){border-color:var(--line-strong);background:#f9fafb}:is(button:focus-visible,input:focus-visible){outline-offset:1px;outline:3px solid #0057b833}button:disabled{color:#9aa3ab;cursor:not-allowed;background:#eef1f3}img{max-width:100%}.visuallyHidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.loadingScreen{width:100vw;height:100dvh;color:var(--muted);place-items:center;display:grid}.appShell{grid-template-rows:58px minmax(0,1fr);grid-template-columns:clamp(270px,19vw,330px) minmax(0,1fr) clamp(270px,19vw,320px);width:100vw;height:100dvh;display:grid;overflow:hidden}.appShell.catalogCollapsed{grid-template-columns:50px minmax(0,1fr) clamp(270px,19vw,320px)}.topbar{z-index:20;border-bottom:1px solid var(--line);background:#fffffffa;grid-area:1/1/auto/-1;grid-template-columns:minmax(260px,1fr) minmax(220px,1.2fr) minmax(260px,1fr);align-items:center;gap:14px;min-width:0;padding:7px 12px;display:grid}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brandLogo{object-fit:contain;object-position:left center;width:128px;height:42px;display:block}.brandDivider{background:var(--line);width:1px;height:28px}.brandProduct{min-width:0;display:grid}.brandProduct strong,.brandProduct span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brandProduct strong{font-size:14px}.brandProduct span{color:var(--muted);margin-top:2px;font-size:12px}.versionBadge{color:#5f5200;background:var(--yellow-soft);border:1px solid #e1ce53;border-radius:4px;flex:none;padding:3px 6px;font-size:11px;font-weight:850}.centerProjectTitle{text-align:center;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:800;overflow:hidden}.centerProjectTitle span{color:var(--muted);font-weight:600}.mobileContextTitle{display:none}.topActions{justify-content:flex-end;gap:7px;min-width:0;display:flex}.topActions button{justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.topActions .helpButton{color:#434b53;background:#fff}.topActions .addPlanButton{color:#fff;background:var(--accent);border-color:var(--accent)}.topActions .addPlanButton:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.catalog{border-right:1px solid var(--line);background:#fff;grid-area:2/1;grid-template-rows:auto auto minmax(0,1fr);min-width:0;min-height:0;padding:12px 10px;display:grid;overflow:hidden}.catalogHead,.lowerPaneHead,.panelTitle{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.catalogHead>div,.lowerPaneHead>div,.panelTitle{min-width:0}.catalogHead strong,.catalogHead span,.lowerPaneHead strong,.lowerPaneHead span,.panelTitle strong,.panelTitle span{display:block}.catalogHead strong,.lowerPaneHead strong,.panelTitle strong{font-size:15px}.catalogHead span,.lowerPaneHead span,.panelTitle span{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.35}.iconOnly{flex:none;place-items:center;width:34px;min-height:34px;padding:0;display:inline-grid}.catalog:not(.open){padding:10px 7px}.catalog:not(.open) .catalogHead{justify-content:center}.catalog:not(.open) .catalogHead>div,.catalog:not(.open) .groupTabs,.catalog:not(.open) .signGrid{display:none}.groupTabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:11px 0 9px;display:grid}.groupTabs button{min-width:0;min-height:38px;color:var(--muted);padding:0 8px;font-size:13px;font-weight:800}.groupTabs button.active{color:var(--ink);background:var(--yellow-soft);border-color:#d7bc19;box-shadow:inset 0 -2px #c9aa00}.signGrid,.mobileSignGrid{scrollbar-gutter:stable;align-content:start;gap:7px;min-height:0;padding:1px 2px 12px;display:grid;overflow:hidden auto}.signCard{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:minmax(0,1fr) 34px;align-items:stretch;min-width:0;min-height:52px;transition:background .12s,border-color .12s;display:grid}.signCard:hover{background:#f7f8f9;border-color:#aeb8c2}.signChoice{grid-template-columns:calc(34px * var(--sign-ratio,1)) minmax(0,1fr);text-align:left;background:0 0;border:0;border-radius:5px 0 0 5px;align-items:center;gap:8px;min-width:0;padding:7px;display:grid}.signIcon{width:calc(34px * var(--sign-ratio,1));background:#fff;place-items:center;height:34px;display:grid;overflow:hidden}.selectedSignIcon,.helpSign{background:#fff;place-items:center;width:42px;height:42px;display:grid;overflow:hidden}.signIcon img,.selectedSignIcon img,.helpSign img,.mark img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.youAreHereGraphic{background:#0057b8;border-radius:50%;width:78%;height:78%;display:block;box-shadow:inset 0 0 0 1px #00000014}.signCardText{min-width:0}.signCardText strong,.signCardText small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.signCardText strong{font-size:14px;line-height:1.25}.signCardText small{color:var(--muted);margin-bottom:3px;font-size:12px;font-weight:800}.signCardActions{border-left:1px solid #e7eaed;grid-template-rows:1fr;place-items:center;padding:4px;display:grid}.signCardActions.hasCount{grid-template-rows:1fr auto}.quickAdd{width:27px;min-height:27px;color:var(--accent);background:0 0;border:0;place-items:center;padding:0;display:grid}.quickAdd:hover:not(:disabled){color:#fff;background:var(--accent)}.usageCount{color:#5b5000;background:var(--yellow-soft);border:1px solid #e1d36f;border-radius:10px;place-items:center;min-width:22px;height:20px;padding:0 5px;font-size:11px;font-weight:900;display:grid}.workspace{grid-area:2/2;grid-template-rows:auto minmax(0,1fr) 94px;min-width:0;min-height:0;display:grid;overflow:hidden}.metadataBar{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:.72fr 1.3fr 1.2fr 1.35fr .48fr;gap:7px;min-width:0;padding:8px 10px;display:grid}.metadataBar label{min-width:0;color:var(--muted);gap:4px;font-size:12px;font-weight:750;display:grid}.metadataBar input{width:100%;min-width:0;min-height:40px;color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:6px 8px;font-size:14px}.mobileDataToggle{display:none}.metadataBar input:focus{border-color:var(--blue)}.canvasArea{min-width:0;min-height:0;position:relative;overflow:hidden}.canvasToolbar{z-index:5;background:#fffffff5;border:1px solid #c8d0d8f5;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:39px;padding:4px 5px 4px 10px;display:grid;position:absolute;top:9px;left:9px;right:9px;box-shadow:0 8px 22px #1e252e1a}.statusText{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.toolModes,.zoomGroup,.historyRow,.imageTools,.presetRow,.rotationRow,.selectionActions{align-items:center;gap:5px;display:flex}.toolModes button,.zoomGroup button{place-items:center;width:31px;min-height:30px;padding:0;display:grid}.toolModes button.active,.presetRow button.active{color:var(--blue);background:#eaf2fc;border-color:#94b8e4}.zoomGroup{gap:0}.zoomGroup button{border-radius:0}.zoomGroup button:first-child{border-radius:5px 0 0 5px}.zoomGroup button:last-child{border-radius:0 5px 5px 0}.zoomGroup button+button,.zoomGroup span+button{margin-left:-1px}.zoomGroup span{color:#4f5963;border:1px solid var(--line);background:#fff;place-items:center;width:44px;min-height:30px;font-size:11px;font-weight:850;display:grid}.viewport{touch-action:none;cursor:grab;background-color:#dde3e8;background-image:radial-gradient(#323f4a33 1px,#0000 1px);background-size:18px 18px;width:100%;height:100%;overflow:hidden}.viewport.panMode,.viewport:active{cursor:grabbing}.viewport.placeMode{cursor:crosshair}.board{box-shadow:var(--shadow);transform-origin:0 0;will-change:transform;background:#fff;border:1px solid #aeb8c2;position:relative;overflow:hidden}.planImage{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.imageEditLayer{z-index:2;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:hidden}.emptyPlanBackdrop{background:#f8fafb;position:absolute;inset:0;overflow:hidden}.emptyPlanBackdrop:after{content:"";background:#ffffff61;position:absolute;inset:0}.emptyPlanBackdrop img{object-fit:cover;opacity:.58;filter:grayscale()contrast(.82);-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.emptyPlanCta{z-index:4;text-align:left;border:2px solid var(--accent);background:#fffffff5;border-radius:7px;grid-template-rows:auto auto;grid-template-columns:42px minmax(0,1fr);align-items:center;column-gap:12px;width:min(490px,100% - 80px);min-height:98px;padding:16px 20px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 42px #23282e33}.emptyPlanCta svg{color:var(--accent);grid-row:1/3}.emptyPlanCta strong{font-size:20px}.emptyPlanCta span{color:var(--muted);font-size:13px}.mark{touch-action:none;cursor:grab;transform-origin:50%;background:0 0;border:0;border-radius:3px;place-items:center;padding:0;display:grid;position:absolute;overflow:visible}.mark .youAreHereGraphic{width:100%;height:100%}.mark.selected:after{content:"";pointer-events:none;border:2px solid var(--blue);border-radius:5px;position:absolute;inset:-6px;box-shadow:0 0 0 3px #0057b829}.mobilePlanRail{display:none}.planNavigator{border-top:1px solid var(--line);background:#fff;grid-template-columns:34px minmax(0,1fr) 34px auto;align-items:stretch;gap:6px;min-width:0;min-height:0;padding:7px 9px;display:grid;overflow:hidden}.planTabs{overscroll-behavior-inline:contain;scrollbar-width:thin;align-items:stretch;gap:6px;min-width:0;min-height:0;display:flex;overflow:auto hidden}.planTabs button{text-align:left;flex:0 0 clamp(168px,18vw,210px);grid-template-columns:52px minmax(82px,1fr) 22px;align-items:center;gap:7px;min-width:0;height:66px;padding:5px 7px;display:grid;overflow:hidden}.planTabs button.active{background:var(--yellow-soft);border-color:#d3b90b;box-shadow:inset 0 -2px #c6a900}.planThumb{color:#fff;background:#626c75;border:1px solid #aeb6be;border-radius:3px;place-items:center;width:52px;height:48px;font-size:10px;font-weight:900;display:grid;overflow:hidden}.planThumb img{object-fit:cover;width:100%;height:100%}.planTabs button.active .planThumb{border-color:var(--accent);box-shadow:0 0 0 2px #b9272029}.planTabCopy{gap:3px;min-width:0;display:grid}.planTabs strong,.planTabs small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.planTabs strong{font-size:13px}.planTabs small{color:var(--muted);font-size:11px}.planTabs em{color:#5b5000;background:var(--yellow-soft);border:1px solid #e1d36f;border-radius:50%;place-items:center;width:22px;height:22px;font-size:10px;font-style:normal;font-weight:900;display:grid}.planScroll{width:34px;min-height:0;color:var(--muted);place-items:center;padding:0;display:grid}.navigatorAdd{min-height:0;color:var(--accent);align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:850;display:flex}.desktopInspector{background:var(--surface-soft);border-left:1px solid var(--line);grid-area:2/3;align-content:start;gap:9px;min-width:0;min-height:0;padding:10px;display:grid;overflow-y:auto}.inspectorPanel{border:1px solid var(--line);background:#fff;border-radius:7px;gap:11px;padding:12px;display:grid}.imageTools{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.imageTools button{flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:56px;padding:5px 2px;font-size:11px;font-weight:800;display:flex}.rangeField{color:var(--muted);gap:7px;font-size:12px;font-weight:750;display:grid}.rangeField>span{justify-content:space-between;gap:8px;display:flex}.rangeField output{color:var(--ink);font-weight:900}.rangeField input{width:100%;accent-color:var(--accent);margin:0}.historyRow button{flex:1 1 0;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:38px;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.selectionControls{gap:10px;min-width:0;display:grid}.selectedPreview{align-items:center;gap:9px;min-width:0;display:flex}.selectedPreview>div{min-width:0}.selectedPreview strong,.selectedPreview small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.selectedPreview strong{font-size:13px}.selectedPreview small{color:var(--muted);margin-top:3px;font-size:11px}.presetRow button,.rotationRow button{flex:1 1 0;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:36px;padding:0 5px;font-size:11px;font-weight:800;display:inline-flex}.selectionActions button{flex:1 1 0;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:40px;padding:0 7px;font-size:11px;font-weight:800;display:inline-flex}.selectionActions .danger{color:var(--danger);border-color:#e4aaa5}.panelEmpty{color:var(--muted);font-size:12px;line-height:1.45}.formatSelector{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.formatSelector button{align-content:center;min-width:0;min-height:48px;padding:4px 2px;display:grid}.formatSelector strong,.formatSelector span{display:block}.formatSelector strong{font-size:12px}.formatSelector span{color:var(--muted);margin-top:2px;font-size:10px}.formatSelector button.active{color:#fff;background:#343a40;border-color:#343a40}.formatSelector button.active span{color:#dce2e7}.primaryAction,.companyAction{justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 10px;font-size:12px;font-weight:850;display:inline-flex}.primaryAction{color:#fff;background:var(--accent);border-color:var(--accent)}.primaryAction:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.companyAction{color:#332e00;background:var(--yellow);border-color:#d6b900}.shareBox{color:var(--muted);background:var(--yellow-soft);border:1px solid #e5d66d;border-radius:6px;gap:7px;padding:9px;font-size:11px;line-height:1.4;display:grid}.shareBox strong{color:var(--ink);font-size:12px}.shareLinks{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.shareLinks button{min-height:38px;color:var(--ink);text-align:center;background:#fff;border:1px solid #d4c658;border-radius:5px;place-items:center;padding:5px 3px;font-size:11px;font-weight:850;display:grid}.removePlan{min-height:38px;color:var(--danger);background:0 0;border-color:#0000;justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.lowerPane,.splitHandle,.mobileDock{display:none}[data-tooltip]{position:relative}@media (hover:hover){[data-tooltip]:after{z-index:100;content:attr(data-tooltip);color:#fff;pointer-events:none;visibility:hidden;opacity:0;background:#252a30;border-radius:4px;width:max-content;max-width:240px;padding:7px 9px;font-size:11px;font-weight:650;line-height:1.35;transition:opacity .12s;position:absolute;bottom:calc(100% + 7px);right:0}[data-tooltip]:hover:after{visibility:visible;opacity:1}}.overlayScrim{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1c2127a3;place-items:center;padding:18px;display:grid;position:fixed;inset:0;overflow:hidden}.overlayDismiss{cursor:default;background:0 0;border:0;border-radius:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.dialog{z-index:1;background:#fff;border:1px solid #bfc7cf;border-radius:8px;gap:16px;width:min(720px,100%);max-height:calc(100dvh - 36px);padding:20px;display:grid;position:relative;overflow-y:auto;box-shadow:0 28px 90px #11161b5c}.helpDialog{width:min(900px,100%)}.dialogHead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:14px;display:flex}.dialogHead>div{min-width:0}.dialogEyebrow{color:var(--accent);text-transform:uppercase;font-size:11px;font-weight:900}.dialogHead h2{margin:4px 0 0;font-size:22px;line-height:1.2}.dialogHead p{max-width:690px;color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.45}.helpIntro{background:var(--surface-soft);border:1px solid var(--line);grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);align-items:center;gap:18px;padding:13px;display:grid}.helpIntro strong{font-size:16px}.helpIntro p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.5}.helpWorkflowGraphic{border:1px solid var(--line);background:#fff;grid-template-columns:1fr 26px 1fr 26px 1fr;align-items:center;gap:6px;min-height:148px;padding:18px;display:grid}.helpWorkflowGraphic>span{min-width:0;color:var(--accent);text-align:center;grid-template-rows:38px auto auto;justify-items:center;gap:4px;display:grid}.helpWorkflowGraphic svg{width:32px;height:32px}.helpWorkflowGraphic b{color:var(--ink);font-size:13px}.helpWorkflowGraphic small{color:var(--muted);font-size:11px}.helpWorkflowGraphic>i{background:var(--yellow);height:2px}.helpSteps{gap:0;margin:0;padding:0;list-style:none;display:grid}.helpSteps>li{grid-template-columns:34px minmax(0,1fr);gap:12px;padding:13px 2px;display:grid}.helpSteps>li+li{border-top:1px solid #e8ebee}.helpSteps>li>span{color:#4e4500;background:var(--yellow);border-radius:50%;place-items:center;width:30px;height:30px;font-size:11px;font-weight:900;display:grid}.helpSteps strong{font-size:14px}.helpSteps p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.5}.helpWithSign{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;display:grid}.helpSign{width:46px;height:46px}.helpSign.youAreHereGraphic{width:42px;height:42px}.helpTips{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.helpTips>div{border:1px solid var(--line);grid-template-columns:28px minmax(0,1fr);gap:2px 9px;padding:11px;display:grid}.helpTips svg{color:var(--accent);grid-row:1/3}.helpTips strong{font-size:13px}.helpTips span{color:var(--muted);font-size:11px;line-height:1.4}.helpNotice{background:var(--yellow-soft);border-left:3px solid #c7aa00;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:11px 13px;display:grid}.helpNotice strong{font-size:12px}.helpNotice span{color:#5d550f;font-size:11px;line-height:1.45}.helpStandards{border-left:3px solid var(--blue);background:#f1f5f8;padding:13px 15px}.helpStandards strong{font-size:13px}.helpStandards p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.5}.dialogActions{justify-content:flex-end;gap:8px;padding-top:2px;display:flex}.dialogActions button{min-width:150px;min-height:42px;padding:0 14px;font-size:12px;font-weight:800}.imageEditorDialog{width:min(1080px,100%)}.editorTabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.editorTabs button{justify-content:center;align-items:center;gap:7px;min-height:44px;font-size:12px;font-weight:850;display:inline-flex}.editorTabs button.active{color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 -3px 0 var(--accent);border-color:#e6aaa5}.imageEditorWorkspace{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px;min-height:0;display:grid}.editorPreview{min-width:0;color:var(--muted);text-align:center;gap:8px;font-size:12px;display:grid}.previewStatus{text-align:left;background:var(--surface-soft);border:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:32px;padding:5px 9px;display:flex}.previewStatus strong{color:var(--ink);font-size:13px}.previewStatus span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.editorCanvas{touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid var(--line-strong);background:#cfd6dc;width:100%;height:auto;max-height:53dvh;display:block;box-shadow:inset 0 0 0 1px #ffffff8c}.cropCanvas,.correctionCanvas{cursor:crosshair}.cropShade{fill:#161c2294;pointer-events:none}.cropSelection{fill:#0000;stroke:#d71920;stroke-width:3px;vector-effect:non-scaling-stroke;pointer-events:none;filter:drop-shadow(0 0 1px #fff)}.correctionDraft{opacity:.72;stroke:var(--accent);stroke-width:3px;stroke-dasharray:7 5;vector-effect:non-scaling-stroke}.previewHint{min-height:17px;color:var(--muted);font-size:12px;line-height:1.45}.editorSide{background:var(--surface-soft);border:1px solid var(--line);align-content:start;gap:12px;padding:15px;display:grid}.editorSide>strong{font-size:16px}.editorSide p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.editorSide button{min-height:42px;padding:0 10px;font-size:12px;font-weight:800}.editorInstruction{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:9px;display:grid}.editorInstruction>span{color:#4e4500;background:var(--yellow);border-radius:50%;place-items:center;width:30px;height:30px;font-size:11px;font-weight:900;display:grid}.editorInstruction strong{font-size:13px;display:block}.editorInstruction p{margin-top:4px}.selectionReadout{border:1px solid var(--line);background:#fff;gap:3px;padding:11px;display:grid}.selectionReadout span,.selectionReadout small{color:var(--muted);font-size:12px}.selectionReadout strong{font-size:17px}.editorWarning{color:#7b201a;border-left:3px solid var(--danger);background:#fff1ef;padding:9px 10px;font-size:12px;font-weight:750;line-height:1.45}.quarterTurnButtons{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.quarterTurnButtons button{grid-template-rows:18px auto;place-items:center;gap:3px;min-height:56px;padding:5px 3px;font-size:11px;line-height:1.15;display:grid}.angleField,.straightenField,.brushField{color:var(--muted);gap:7px;font-size:11px;font-weight:800;display:grid}.angleInput{grid-template-columns:minmax(0,1fr) 35px;display:grid}.angleInput input{border:1px solid var(--line);border-radius:5px 0 0 5px;min-width:0;min-height:42px;padding:0 10px;font-size:17px}.angleInput b{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:0 5px 5px 0;place-items:center;margin-left:-1px;font-size:14px;display:grid}.straightenField input,.brushField input{width:100%;accent-color:var(--accent);margin:0}.angleNudges,.correctionTools{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.correctionTools button{justify-content:center;align-items:center;gap:7px;display:flex}.correctionTools button.active{color:#fff;background:var(--accent);border-color:var(--accent)}.brushField>span{justify-content:space-between;gap:8px;display:flex}.brushField output{color:var(--ink)}.rectangleColors{color:var(--muted);gap:7px;font-size:11px;font-weight:800;display:grid}.rectangleColors>div{align-items:center;gap:7px;display:flex}.rectangleColors button,.customColor{border:1px solid var(--line-strong);background:#fff;border-radius:5px;width:38px;height:38px;min-height:38px;padding:3px;display:block;position:relative}.rectangleColors button:after{content:"";background:var(--swatch);border:1px solid #0000002e;border-radius:2px;width:100%;height:100%;display:block}.rectangleColors button.active{border-color:var(--accent);box-shadow:0 0 0 2px #b9272029}.customColor input{border:0;width:100%;height:100%;padding:0}.correctionHistory{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.correctionHistory button{justify-content:center;align-items:center;gap:6px;padding-inline:6px;font-size:11px;display:flex}.correctionCount{color:var(--muted);font-size:11px;line-height:1.4}.editorActions button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.validationDialog{width:min(760px,100%)}.issueList{gap:7px;max-height:50dvh;display:grid;overflow-y:auto}.issueList button{text-align:left;grid-template-columns:30px minmax(0,1fr) 22px;align-items:center;gap:10px;min-width:0;padding:9px;display:grid}.issueList button>span{color:#fff;background:var(--accent);border-radius:4px;place-items:center;width:28px;height:28px;font-size:10px;font-weight:900;display:grid}.issueList button div{min-width:0}.issueList strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.issueList p{color:var(--danger);margin:3px 0 0;font-size:11px;line-height:1.4}@media (max-width:1180px) and (min-width:901px){.appShell{grid-template-columns:245px minmax(0,1fr) 255px}.appShell.catalogCollapsed{grid-template-columns:50px minmax(0,1fr) 255px}.topbar{grid-template-columns:minmax(230px,1fr) minmax(180px,1fr) minmax(210px,1fr)}.brandLogo{width:110px}.brandProduct span,.versionBadge{display:none}.centerProjectTitle{font-size:12px}.topActions button{width:37px;padding:0}.topActions button span{display:none}.metadataBar{grid-template-columns:.7fr 1.15fr 1fr 1.15fr .42fr;padding-inline:7px}.metadataBar input{font-size:13px}}@media (max-width:900px){html,body{min-width:0}.appShell,.appShell.catalogCollapsed{grid-template-columns:minmax(0,1fr);grid-template-rows:56px var(--mobile-split) 8px minmax(0,1fr) 58px}.topbar{grid-area:1/1;grid-template-columns:84px minmax(0,1fr) 78px;gap:5px;padding:5px;display:grid}.brand{min-width:0;overflow:hidden}.brandLogo{width:82px;height:42px}.brandDivider,.brandProduct,.centerProjectTitle,.versionBadge{display:none}.mobileContextTitle{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;max-height:34px;font-size:12px;font-weight:850;line-height:1.35;display:-webkit-box;overflow:hidden}.topActions{flex:none;gap:3px}.topActions button{width:37px;min-height:37px;padding:0}.topActions button span,.catalog,.desktopInspector{display:none}.workspace{border-bottom:1px solid var(--line);grid-area:2/1;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.metadataBar{grid-template-columns:.72fr 1.35fr .55fr;gap:5px;padding:6px}.mobileDataToggle{text-align:left;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 6px;width:100%;min-height:40px;padding:5px 8px;display:grid}.mobileDataToggle span{font-size:13px;font-weight:850}.mobileDataToggle small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.mobileDataToggle svg{grid-area:1/2/3}.metadataBar:not(.mobileOpen){padding:4px 6px;display:block}.metadataBar:not(.mobileOpen)>label{display:none}.metadataBar.mobileOpen{display:grid}.metadataBar.mobileOpen .mobileDataToggle{grid-column:1/-1}.metadataBar label{gap:3px;font-size:11px}.metadataBar .dealField{grid-area:1/1}.metadataBar label:nth-of-type(2){grid-area:1/2/auto/4}.metadataBar label:nth-of-type(3){grid-area:2/1}.metadataBar label:nth-of-type(4){grid-area:2/2}.metadataBar .floorField{grid-area:2/3}.metadataBar input{min-height:36px;padding:5px 7px;font-size:13px}.canvasArea{min-height:0}.canvasToolbar{grid-template-columns:minmax(0,1fr) auto;min-height:32px;padding:2px 3px 2px 7px;top:5px;left:5px;right:5px}.statusText{font-size:11px}.toolModes{display:none}.zoomGroup button{width:30px;min-height:29px}.zoomGroup span{width:40px;min-height:29px;font-size:11px}.zoomGroup button:nth-of-type(2){display:none}.zoomGroup button:last-child{border-radius:0 5px 5px 0}.emptyPlanCta{grid-template-columns:34px minmax(0,1fr);column-gap:8px;width:min(330px,100% - 45px);min-height:70px;padding:9px 12px}.emptyPlanCta strong{font-size:15px}.emptyPlanCta span{font-size:11px}.mobilePlanRail{z-index:6;border:1px solid var(--line-strong);background:#fffffff7;border-radius:6px;grid-template-columns:30px minmax(0,1fr) 30px;gap:3px;height:50px;padding:3px;display:grid;position:absolute;bottom:6px;left:6px;right:6px;overflow:hidden;box-shadow:0 6px 16px #1e252e1f}.mobilePlanRail>button{place-items:center;width:30px;min-height:42px;padding:0;display:grid}.mobilePlanTabs{overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:x proximity;gap:4px;min-width:0;display:flex;overflow:auto hidden}.mobilePlanTabs::-webkit-scrollbar{display:none}.mobilePlanTabs>button{text-align:left;scroll-snap-align:start;flex:0 0 88px;grid-template-columns:40px minmax(36px,1fr);align-items:center;gap:4px;min-width:0;height:42px;padding:3px 4px;display:grid;overflow:hidden}.mobilePlanTabs>button.active{background:var(--yellow-soft);border-color:#d3b90b;box-shadow:inset 0 -2px #c6a900}.mobilePlanTabs>button>span:last-child{min-width:0;display:grid}.mobilePlanTabs strong,.mobilePlanTabs small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobilePlanTabs strong{font-size:12px}.mobilePlanTabs small{color:var(--muted);font-size:10px}.mobilePlanThumb{border:1px solid var(--line);background:#e8ecef;border-radius:2px;place-items:center;width:40px;height:32px;display:grid;overflow:hidden}.mobilePlanThumb img{object-fit:cover;width:100%;height:100%}.planNavigator{display:none}.splitHandle{z-index:15;touch-action:none;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);cursor:row-resize;background:#fff;border-radius:0;grid-area:3/1;place-items:center;width:100%;min-height:8px;padding:0;display:grid}.splitHandle span{background:#9ba5ae;border-radius:2px;width:44px;height:3px}.lowerPane{background:var(--surface-soft);grid-area:4/1;min-width:0;min-height:0;display:block;overflow:hidden}.mobileCatalogPane,.exportPane{height:100%;min-height:0;padding:8px;display:none}.mobileCatalogPane{overflow:hidden}.exportPane{overflow-y:auto}.pane-catalog .mobileCatalogPane,.pane-export .exportPane{grid-template-rows:auto auto auto minmax(0,1fr);align-content:start;gap:6px;display:grid}.exportPane{grid-template-rows:auto auto!important;align-content:start!important}.lowerPaneHead{min-height:38px}.lowerPaneHead strong{font-size:16px}.lowerPaneHead span{font-size:11px}.mobileSelectionBar{border:1px solid var(--line);background:#fff;border-radius:6px;align-items:center;gap:4px;min-width:0;min-height:42px;padding:4px;display:flex}.mobileSelectionBar>button,.mobileSizeStepper button{flex:0 0 34px;place-items:center;width:34px;min-height:34px;padding:0;display:grid}.mobileSelectionBar .danger{color:var(--danger);border-color:#e4aaa5}.mobileSelectedName{flex:auto;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:5px;min-width:68px;display:grid}.mobileSelectedName .selectedSignIcon{width:32px;height:32px}.mobileSelectedName strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.mobileSizeStepper{flex:none;grid-template-columns:30px 30px 30px;display:grid}.mobileSizeStepper button{border-radius:0;width:30px;min-height:34px}.mobileSizeStepper button:first-child{border-radius:5px 0 0 5px}.mobileSizeStepper button:last-child{border-radius:0 5px 5px 0}.mobileSizeStepper output{border:1px solid var(--line);background:#fff;place-items:center;min-height:34px;margin-left:-1px;font-size:11px;font-weight:900;display:grid}.mobileCatalogPane>.groupTabs{padding:0}.mobileSignGrid{grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:5px;overflow-y:auto}.mobileSignGrid .signCard{grid-template-rows:minmax(0,1fr) 28px;grid-template-columns:minmax(0,1fr);min-height:90px;overflow:hidden}.mobileSignGrid .signChoice{text-align:center;grid-template-rows:28px minmax(0,1fr);grid-template-columns:minmax(0,1fr);align-content:start;gap:2px;padding:4px 3px 2px}.mobileSignGrid .signIcon{width:min(calc(26px * var(--sign-ratio,1)),100%);justify-self:center;height:26px}.mobileSignGrid .signCardText{align-self:start}.mobileSignGrid .signCardText small{margin-bottom:1px;font-size:10px}.mobileSignGrid .signCardText strong{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.15;display:-webkit-box;overflow:hidden}.mobileSignGrid .signCardActions{border-top:1px solid #e7eaed;border-left:0;grid-template-rows:1fr;grid-template-columns:minmax(0,1fr);padding:1px 3px}.mobileSignGrid .signCardActions.hasCount{grid-template-rows:1fr;grid-template-columns:minmax(0,1fr) auto}.mobileSignGrid .quickAdd{width:100%;min-height:24px}.mobileSignGrid .usageCount{min-width:21px;height:20px;padding:0 3px}.mobileUploadPrompt{text-align:left;border:1px dashed var(--accent);grid-template-rows:auto auto;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:2px 8px;min-height:80px;margin-top:5px;padding:12px;display:grid}.mobileUploadPrompt svg{color:var(--accent);grid-row:1/3}.mobileUploadPrompt strong{font-size:14px}.mobileUploadPrompt span{color:var(--muted);font-size:11px}.exportPane .formatSelector{margin-top:2px}.exportPane .primaryAction,.exportPane .companyAction{min-height:43px}.shareBox{margin-top:1px}.mobileDock{z-index:20;border-top:1px solid var(--line);background:#fffffffc;grid-area:5/1;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;padding:4px 3px;display:grid}.mobileDock button{color:#4d5660;border:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;min-height:50px;padding:2px 1px;font-size:11px;font-weight:800;line-height:1.1;display:flex}.mobileDock button svg{width:18px;height:18px}.mobileDock button.active{color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px #e6aaa5}.overlayScrim{place-items:end center;padding:6px}.dialog{border-radius:7px;gap:12px;width:100%;max-height:calc(100dvh - 12px);padding:14px}.dialogHead{gap:8px;padding-bottom:10px}.dialogHead h2{font-size:19px}.dialogHead p{font-size:11px}.helpIntro{grid-template-columns:1fr;gap:9px;padding:9px}.helpWorkflowGraphic{min-height:120px;padding:10px}.helpTips{grid-template-columns:1fr}.helpSteps>li{grid-template-columns:28px minmax(0,1fr);gap:8px;padding:10px 0}.helpSteps>li>span{width:26px;height:26px}.helpWithSign{grid-template-columns:42px minmax(0,1fr);gap:9px}.helpSign{width:40px;height:40px}.dialogActions{border-top:1px solid var(--line);background:#fff;margin:0 -14px -14px;padding:9px 14px 14px;position:sticky;bottom:-14px}.dialogActions button{flex:1 1 0;min-width:0;min-height:44px}.imageEditorWorkspace{grid-template-columns:1fr;gap:10px}.editorCanvas{max-height:31dvh}.editorSide{gap:9px;padding:10px}.editorTabs button{flex-direction:column;gap:1px;min-height:50px;padding:3px;font-size:11px;line-height:1.05}.editorTabs button span{white-space:normal}.previewStatus{min-height:30px;padding:4px 7px}.previewHint{font-size:11px}.editorInstruction{grid-template-columns:27px minmax(0,1fr)}.editorInstruction>span{width:27px;height:27px}.selectionReadout{padding:8px}.selectionReadout strong{font-size:15px}.quarterTurnButtons button{min-height:50px}.correctionHistory button{min-height:40px}.issueList{max-height:48dvh}}@media (max-width:359px){.topbar{grid-template-columns:79px minmax(0,1fr) 75px}.brandLogo{width:77px}.topActions{gap:1px}.topActions button{width:36px}.mobileContextTitle{font-size:11px}.metadataBar{grid-template-columns:.72fr 1.25fr .52fr}.metadataBar label span{font-size:9px}.metadataBar input{padding-inline:5px;font-size:12px}.mobileDock button{font-size:10px}.mobileDock button svg{width:18px;height:18px}.canvasToolbar{right:5px}.zoomGroup button{width:26px}.zoomGroup span{width:34px}.mobileSignGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.mobileSignGrid .signChoice{padding-inline:3px}.mobileSelectedName strong{display:none}.mobileSelectedName{flex:0 0 32px;grid-template-columns:32px;min-width:32px}}@media (max-width:900px) and (max-height:650px){.appShell,.appShell.catalogCollapsed{grid-template-rows:56px clamp(200px,var(--mobile-split),42dvh) 8px minmax(0,1fr) 58px}.mobileCatalogPane{gap:4px;padding-top:5px;padding-bottom:5px}.lowerPaneHead{min-height:30px}.lowerPaneHead strong{font-size:14px}.lowerPaneHead span{display:none}.mobileCatalogPane>.groupTabs{gap:4px}.mobileCatalogPane>.groupTabs button{min-height:30px}.mobileSelectionBar{min-height:36px;padding:2px}.mobileSelectionBar>button,.mobileSizeStepper button{min-height:30px}.mobileSelectedName .selectedSignIcon{width:28px;height:28px}.mobileSizeStepper output{min-height:30px}.mobileSignGrid .signCard{grid-template-rows:minmax(0,1fr) 24px;min-height:76px}.mobileSignGrid .quickAdd{min-height:20px}}@media (min-width:1800px){.appShell{grid-template-columns:350px minmax(0,1fr) 340px}.appShell.catalogCollapsed{grid-template-columns:50px minmax(0,1fr) 340px}.signCard{min-height:56px}.signChoice{grid-template-columns:calc(36px * var(--sign-ratio,1)) minmax(0,1fr)}.signIcon{width:calc(36px * var(--sign-ratio,1));height:36px}.metadataBar input{min-height:40px;font-size:14px}}
