:root{--paper:#f7f6f1;--surface:#fffefa;--ink:#262722;--muted:#797b71;--line:#dedfd5;--blue:#3049dd;--soft-blue:#edf0ff;--green:#61806a;--serif:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:13px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.43}button{border:0;background:none}a{color:inherit;text-decoration:none}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #3049dd40;outline-offset:1px;border-color:var(--blue)}input,textarea,select{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:10px 11px;outline:none}textarea{resize:vertical;line-height:1.55}input::placeholder,textarea::placeholder{color:#999b91}input:disabled,textarea:disabled,select:disabled{opacity:.6}label{display:block;font-size:11px;font-weight:550;margin:15px 0 7px}h1,h2,h3,p{margin:0}h2{font-size:13px;font-weight:600}h3{font-size:24px;font-family:var(--serif);font-weight:400;line-height:1.2}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.mono,.eyebrow,.beta-label,.availability-label,.step-number{font-family:var(--mono)}.eyebrow{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.app-header{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:var(--surface)}.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:620;letter-spacing:-.6px}.brand-mark{width:43px;height:44px;background:var(--ink);color:var(--paper);font-family:var(--serif);font-size:36px;line-height:46px;padding-left:10px;letter-spacing:-5px}.brand-mark span{color:#929fe8}.brand small{display:block;font-family:var(--mono);font-size:7px;font-weight:400;letter-spacing:1.5px;margin-top:5px;color:var(--muted)}.header-center{display:flex;gap:18px;align-items:center;font-size:11px;color:var(--muted)}.beta-label{border:1px solid #d5d9f2;padding:5px 7px;font-size:8px;letter-spacing:.8px;color:var(--blue);border-radius:3px;background:#f6f7ff}.header-divider{width:1px;height:15px;background:var(--line)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:5px;padding:12px 16px;font-size:11px;font-weight:550;transition:background .15s,transform .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.button-dark{background:var(--ink);color:#fffefa}.button-dark:hover{background:#414339}.button-blue{background:var(--blue);color:white}.button-blue:hover{background:#2439ba}.button-small{padding:10px 13px}.button svg{width:15px;height:15px}.text-button{display:inline-flex;align-items:center;gap:9px;font-size:10px;font-weight:550;padding:0;color:var(--muted)}.text-button:hover{color:var(--blue)}.text-button svg{width:13px;height:13px}.icon-button{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:4px;color:var(--muted)}.icon-button:hover:not(:disabled){background:#e9e9e2;color:var(--ink)}.workspace{display:grid;grid-template-columns:250px minmax(350px,1fr) 269px;min-height:calc(100vh - 88px);max-width:2000px;margin:auto}.left-sidebar{border-right:1px solid var(--line);display:flex;flex-direction:column}.project-section{padding:26px 22px 22px;border-bottom:1px solid var(--line)}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.tiny-dot{width:5px;height:5px;background:var(--blue);border-radius:50%}.project-section select{font-size:12px;font-weight:550;max-width:100%;padding-right:22px}.project-meta{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:11px}.project-meta span:last-child{font-family:var(--mono);font-size:8px}.sidebar-section{padding:22px;border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.step-number{font-size:9px;color:#96998c}.brief-section .text-button{margin-top:12px}.section-intro{font-size:10px;color:var(--muted);margin-top:9px;line-height:1.5}.dna-control{margin-top:19px}.dna-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.dna-label label{font-size:11px;margin:0;font-weight:400}.dna-label output{font-family:var(--mono);font-size:9px;color:var(--muted)}input[type=range]{--progress:50%;padding:0;border:0;outline:none;display:block;height:14px;background:transparent;appearance:none;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--ink) var(--progress),var(--line) var(--progress))}input[type=range]::-moz-range-track{height:2px;background:var(--line)}input[type=range]::-moz-range-progress{height:2px;background:var(--ink)}input[type=range]::-webkit-slider-thumb{appearance:none;width:11px;height:11px;border:2px solid var(--paper);box-shadow:0 0 0 1px var(--ink);border-radius:50%;background:var(--ink);margin-top:-4.5px}input[type=range]::-moz-range-thumb{width:8px;height:8px;border:2px solid var(--paper);box-shadow:0 0 0 1px var(--ink);border-radius:50%;background:var(--ink)}input[type=range]:focus-visible{outline:2px solid #3049dd70;outline-offset:3px}.range-extremes{display:flex;justify-content:space-between;font-size:8px;color:#989b8e;margin-top:5px}.control-footnote{display:flex;align-items:center;gap:7px;font-size:8px;color:var(--muted);line-height:1.6;margin-top:23px}.control-footnote svg{width:12px;height:12px}.upload-zone{border:1px dashed #c9cdc0;border-radius:5px;padding:19px 6px;text-align:center;position:relative;cursor:pointer;margin:15px 0 8px;font-weight:400;overflow:hidden}.upload-zone:hover{border-color:var(--blue);background:var(--soft-blue)}.upload-zone svg{display:block;margin:0 auto 8px;width:17px;height:17px;color:var(--muted)}.upload-zone span{display:block;font-size:10px}.upload-zone small{display:block;font-size:8px;font-weight:400;margin-top:5px;color:var(--muted)}.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer;padding:0}.small-note{font-size:9px;line-height:1.55;color:var(--muted)}.sidebar-footer{margin-top:auto;padding:21px 22px;font-size:9px;color:var(--muted);display:flex;align-items:center;gap:7px}.status-dot{width:5px;height:5px;border-radius:50%;background:#adaf9e}.status-dot.is-ready{background:var(--green)}.main-panel{min-width:0;padding:29px 28px 0}.project-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:27px}.project-heading .eyebrow{font-size:8px;margin-bottom:10px}.project-heading h1{font-family:var(--serif);font-size:33px;font-weight:400;letter-spacing:-1.15px;line-height:1.1;overflow-wrap:anywhere}.project-heading p{color:var(--muted);font-size:10px;line-height:1.6;margin-top:8px}.project-actions{align-self:flex-end;display:flex;align-items:center;gap:12px;margin-bottom:2px;flex-shrink:0}.save-state{font-size:9px;color:var(--muted)}.save-state.is-saved:before{content:'';display:inline-block;width:4px;height:4px;background:var(--green);border-radius:50%;margin-right:5px}.save-state.is-saving{color:var(--blue)}.save-state.is-error{color:#a5512d}.history-controls{display:flex;gap:2px;padding-left:10px;border-left:1px solid var(--line)}.history-controls .icon-button{width:25px}.history-controls svg{width:15px;height:15px}.workbench{border:1px solid #d7dbcf;border-radius:7px;background:var(--surface);overflow:hidden}.workbench-toolbar{height:52px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 18px}.tabs{display:flex;align-items:stretch;height:100%;gap:26px}.tab{display:flex;align-items:center;gap:8px;color:var(--muted);border-bottom:2px solid transparent;font-size:10px;padding:0;position:relative;bottom:-1px}.tab svg{width:14px;height:14px}.tab.is-active{color:var(--ink);border-bottom-color:var(--ink)}.toolbar-caption{font-family:var(--mono);font-size:7px;letter-spacing:.8px;color:#92968a}.canvas-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;min-height:53px;gap:10px}.glyph-identity{display:flex;gap:9px;align-items:center}.glyph-identity>span:first-child{font-family:var(--mono);font-size:11px}.glyph-identity .mono{font-size:8px;color:#989b91}.canvas-options{display:flex;align-items:center;gap:15px}.canvas-options label{display:flex;gap:5px;align-items:center;margin:0;font-size:9px;font-weight:400;color:var(--muted)}.canvas-options input{width:10px;height:10px;accent-color:var(--ink);margin:0}.canvas-options .text-button{font-size:9px}.glyph-canvas{height:372px;position:relative;overflow:hidden;background-image:radial-gradient(#d0d5c650 .65px,transparent .65px);background-size:13px 13px;user-select:none}.glyph-canvas>svg{width:100%;height:100%;stroke:none;overflow:visible}.glyph-canvas #glyph-path{fill:#292c24;stroke:none}.glyph-guide{stroke:#b9c1b2;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:4 5;opacity:.7}.glyph-guide.baseline{stroke:#8297e6;stroke-dasharray:none;opacity:.65}.glyph-guide-label{font-family:var(--mono);font-size:14px;fill:#9aa18f;stroke:none}.glyph-point{fill:var(--surface);stroke:var(--blue);stroke-width:1.25;vector-effect:non-scaling-stroke;cursor:grab;touch-action:none}.glyph-point.off-curve{fill:#d9e0ff}.glyph-point:hover,.glyph-point.is-dragging{fill:var(--blue);stroke:white;stroke-width:2}.glyph-point.is-dragging{cursor:grabbing}.point-connection{stroke:#758aed;stroke-width:.8;stroke-dasharray:2 2;vector-effect:non-scaling-stroke;opacity:.6}.canvas-bottom{position:absolute;left:18px;bottom:16px;right:18px;display:flex;justify-content:space-between;color:#9a9e91;font-size:8px;pointer-events:none}.canvas-bottom .mono{font-size:7px}.canvas-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--surface);z-index:1}.empty-specimen{font-family:var(--serif);font-size:95px;letter-spacing:-6px;line-height:1;margin:0 0 17px}.empty-specimen span{color:var(--blue)}.canvas-empty h2{font-family:var(--serif);font-size:24px;font-weight:400;letter-spacing:-.3px}.canvas-empty p{text-align:center;font-size:11px;color:var(--muted);line-height:1.7;margin:10px 0 18px}.canvas-empty .button{font-size:10px;padding:11px 13px}.spacing-bar{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 15px;border-top:1px solid var(--line);background:#fbfbf6;flex-wrap:wrap}.spacing-bar label{font-size:9px;font-weight:400;margin:0;white-space:nowrap}.unit{font-size:8px;color:#9a9e91;display:block;margin-top:2px}.number-field{display:flex;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:4px;overflow:hidden}.number-field input{border:0;background:none;border-radius:0;padding:6px 3px 6px 8px;width:56px;font-family:var(--mono);font-size:10px;appearance:textfield;-moz-appearance:textfield}.number-field input::-webkit-inner-spin-button{appearance:none}.number-field .icon-button{height:28px;width:23px;border-left:1px solid #f0f1e9;border-radius:0}.number-field svg{width:12px;height:12px}.spacing-divider{height:20px;border-left:1px solid var(--line);margin:0 5px}.spacing-bar .pair-character{width:25px;text-align:center;padding:6px 2px;background:var(--surface);font-size:12px}.proof-toolbar{padding:20px;display:flex;align-items:center;gap:12px}.proof-toolbar label{font-size:9px;margin:0}.proof-toolbar input{width:110px}.proof-toolbar output{font-family:var(--mono);font-size:9px;color:var(--muted);min-width:45px}.proof-toolbar .text-button{margin-left:auto}.proof-toolbar+textarea{font-family:var(--serif);font-size:76px;font-weight:400;line-height:1.18;letter-spacing:0;width:100%;min-height:280px;padding:20px 28px;border:0;border-radius:0;background:transparent;resize:vertical;font-kerning:normal;white-space:pre-wrap}.proof-toolbar+textarea:focus{outline:none;background:#fafaf5}.proof-alphabet{font-family:var(--serif);font-size:22px;line-height:1.75;letter-spacing:2px;margin:12px 28px 16px;overflow-wrap:anywhere}.proof-note{color:var(--muted);font-size:9px;margin:0 28px 23px;line-height:1.5}.glyph-library{margin-top:26px}.glyph-library-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px}.glyph-library-heading h2{font-size:11px;display:flex;align-items:center;gap:8px}.glyph-library-heading h2 span{font-family:var(--mono);font-size:8px;font-weight:400;color:var(--muted);background:#e9ebe2;border-radius:3px;padding:3px 5px}.glyph-filter{display:flex;align-items:center;gap:4px}.glyph-filter button{font-size:8px;padding:5px 7px;color:var(--muted);border-radius:3px;min-width:24px}.glyph-filter button.is-active{background:var(--ink);color:var(--paper)}.glyph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:5px;max-height:248px;overflow-y:auto;padding:1px 2px 3px 1px;scrollbar-width:thin}.glyph-cell{height:53px;display:flex;align-items:center;justify-content:center;position:relative;background:#fafaf5;border:1px solid var(--line);border-radius:4px;transition:border-color .15s,background .15s;font-family:var(--serif);font-size:26px;line-height:1}.glyph-cell:hover{border-color:#9ea8e0;background:#f4f5ff}.glyph-cell.is-selected{border-color:var(--blue);background:#edf0ff;color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.glyph-cell svg{width:30px;height:36px;fill:currentColor;stroke:none}.glyph-cell .glyph-char-label{position:absolute;bottom:3px;right:4px;font-family:var(--mono);font-size:6px;color:#8c9280}.grid-placeholder{font-size:11px;color:var(--muted);text-align:center;border:1px dashed var(--line);padding:25px;grid-column:1/-1;border-radius:4px}.workbench-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:28px;padding:17px 0 20px;color:#979c8d;font-size:9px}.workbench-footer span:last-child{font-family:var(--mono);font-size:7px;letter-spacing:1px}.right-sidebar{padding:27px 21px 20px;border-left:1px solid var(--line);background:#f2f3ec}.assistant-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:17px}.assistant-heading{display:flex;gap:10px;align-items:center}.spark-icon{display:flex;align-items:center;justify-content:center;background:#edf0fc;color:var(--blue);width:29px;height:30px;border-radius:5px}.spark-icon svg{width:15px;height:15px}.assistant-heading h2{font-size:11px}.assistant-heading div>span{font-size:8px;color:var(--muted);display:block;margin-top:4px}.availability-label{display:inline-block;color:#929886;font-size:7px;letter-spacing:.6px;border:1px solid #e0e3d8;padding:4px 5px;margin-top:20px;border-radius:3px}.assistant-card h3{margin:17px 0 12px;font-size:23px;letter-spacing:-.5px}.assistant-card>p{font-size:10px;line-height:1.75;color:var(--muted)}.suggestion-list{display:flex;flex-direction:column;gap:7px;margin-top:20px}.suggestion-list button{text-align:left;border:1px solid var(--line);border-radius:4px;padding:10px 9px;font-size:8px;display:flex;align-items:center;justify-content:space-between;gap:5px;opacity:.68}.suggestion-list svg{width:11px;height:11px}.assistant-input{margin-top:20px;padding:10px;border:1px solid var(--line);border-radius:4px;background:#f9f9f4;display:flex;align-items:flex-end;gap:4px}.assistant-input textarea{border:0;padding:0;background:transparent;resize:none;font-size:9px}.assistant-input .icon-button{height:22px;width:22px;background:#e7e9df;flex-shrink:0}.assistant-input svg{width:12px;height:12px}.assistant-card .provider-note{font-size:8px;line-height:1.6;margin-top:10px;color:#979b8d}.export-card{border:1px solid #cdd1c3;background:#e9ecdf;border-radius:6px;padding:18px 17px;margin-top:17px}.export-card .section-heading h2{font-size:13px;font-family:var(--serif);font-weight:400}.export-card .section-heading svg{width:15px;height:15px;color:#687359}.export-card p{font-size:9px;color:#818877;line-height:1.7;margin-top:8px}.export-card label{font-size:8px;color:#77806a;margin-top:17px}.export-card select{font-size:10px;background:#f6f7f0;border-color:#d4dac8;padding:9px}.export-button{width:100%;margin-top:11px;padding:10px 11px;justify-content:space-between;font-size:10px}.is-disabled{opacity:.45;cursor:not-allowed!important;pointer-events:none}.export-meta{display:flex;justify-content:space-between;margin-top:11px;font-family:var(--mono);font-size:7px;color:#889078}.studio-note{margin:26px 4px 0}.studio-note .eyebrow{font-size:7px;letter-spacing:1.1px}.studio-note p{font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.5;color:#686f5f;margin-top:12px}.studio-note>span{display:block;font-family:var(--mono);font-size:7px;letter-spacing:.7px;color:#a0a695;margin-top:11px}.notification{background:#f9eede;border-bottom:1px solid #e2cbab;padding:12px 24px;color:#705530;display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1.5;font-size:11px}.notification-actions{display:flex;gap:13px;align-items:center;flex-shrink:0}.notification-actions>button:not(.icon-button){font-size:10px;text-decoration:underline;padding:4px 0}.notification .icon-button{height:23px;width:23px}.notification.is-info{background:var(--soft-blue);color:#394889;border-bottom-color:#d7ddfb}.notification.is-success{background:#edf2e6;color:#52723a;border-bottom-color:#d9e4cd}dialog{width:480px;max-width:calc(100% - 32px);padding:30px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);box-shadow:0 20px 100px #24282230}dialog::backdrop{background:#22291f66;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading .icon-button{margin-top:-10px;margin-right:-10px}dialog h2{font-family:var(--serif);font-size:31px;letter-spacing:-.8px;font-weight:400;margin-top:17px}dialog p{font-size:11px;line-height:1.7;color:var(--muted);margin:12px 0 22px}dialog label{margin-top:20px}dialog input,dialog textarea{font-size:12px}.optional{font-size:9px;color:#929887;margin-left:5px;font-weight:400}.dialog-footer{display:flex;justify-content:space-between;align-items:center;margin-top:25px;gap:10px}.dialog-footer>span{font-family:var(--mono);font-size:7px;letter-spacing:.8px;color:#929887}.new-project-error{margin-top:14px;padding:10px;background:#fbefdf;color:#8a5226;border-radius:4px;font-size:11px;line-height:1.5}.is-busy{cursor:progress}.is-busy .glyph-point{pointer-events:none}.is-busy .save-state:before{content:'';display:inline-block;width:8px;height:8px;border:1px solid #c5ccf5;border-top-color:var(--blue);border-radius:50%;margin-right:5px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1600px){.workspace{grid-template-columns:275px minmax(350px,1fr) 300px}.main-panel{padding:35px 38px 0}.left-sidebar .sidebar-section,.project-section{padding-left:27px;padding-right:27px}.right-sidebar{padding:34px 26px}.glyph-canvas{height:440px}.glyph-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}.glyph-cell{height:60px}.project-heading h1{font-size:40px}}@media(max-width:1180px){.workspace{grid-template-columns:225px minmax(330px,1fr) 230px}.app-header{padding:0 23px;height:76px}.main-panel{padding:25px 20px 0}.right-sidebar{padding:25px 14px}.sidebar-section,.project-section{padding-left:17px;padding-right:17px}.assistant-card{padding:13px}.project-actions{flex-direction:column;align-items:flex-end;gap:6px}.history-controls{border:0;padding:0}.project-heading h1{font-size:30px}.glyph-canvas{height:350px}.spacing-bar{gap:7px;padding:12px 7px}.spacing-divider{margin:0 2px}.spacing-bar label{font-size:8px}.glyph-library-heading{flex-wrap:wrap}.canvas-options{gap:8px}.canvas-toolbar{padding:14px}.workbench-toolbar{padding:0 14px}.tabs{gap:18px}.toolbar-caption{display:none}.header-center{font-size:10px}.export-card{padding:15px 12px}.studio-note p{font-size:15px}}@media(max-width:1000px){.workspace{grid-template-columns:215px minmax(320px,1fr)}.right-sidebar{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr;gap:20px;border-left:0;border-top:1px solid var(--line);padding:22px}.assistant-card{padding:18px;display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.assistant-heading{grid-column:1}.assistant-card .availability-label{grid-column:1;width:max-content;margin-top:12px}.assistant-card h3{grid-column:1;margin:10px 0}.assistant-card>p{grid-column:1}.suggestion-list{grid-column:2;grid-row:1/4;margin-top:0;justify-content:center}.assistant-input{grid-column:2;grid-row:4/6;margin-top:0;align-self:center}.assistant-card .provider-note{grid-column:1/-1;margin-top:15px}.export-card{margin-top:0;padding:20px}.studio-note{display:none}.header-center{display:none}.project-actions{flex-direction:row;align-items:center}.glyph-canvas{height:375px}.workspace{min-height:calc(100vh - 76px)}}@media(max-width:720px){.app-header{height:70px;padding:0 16px}.brand{font-size:16px;gap:9px}.brand-mark{width:34px;height:36px;line-height:38px;font-size:30px;padding-left:8px;letter-spacing:-4px}.brand small{font-size:6px;letter-spacing:1px}.app-header .button-small{font-size:9px;padding:9px}.workspace{display:flex;flex-direction:column}.main-panel{order:1;padding:21px 14px 0}.left-sidebar{order:2;border-right:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.project-section{grid-column:1/-1;padding:18px}.project-section select{width:100%}.project-meta{margin-top:8px}.section-label{margin-bottom:10px}.sidebar-section{padding:20px 18px}.brief-section{border-right:1px solid var(--line)}.reference-section{grid-column:1/-1}.sidebar-footer{grid-column:1/-1;padding:15px 18px}.right-sidebar{order:3;display:flex;flex-direction:column;padding:18px;gap:16px}.assistant-card{display:block;padding:20px}.assistant-card .availability-label{margin-top:16px}.assistant-card h3{margin-top:15px}.suggestion-list{margin-top:16px}.assistant-input{margin-top:16px}.export-card{order:-1}.project-heading{margin-bottom:20px;align-items:flex-start;gap:8px}.project-heading h1{font-size:29px}.project-heading .eyebrow{margin-bottom:8px}.project-heading p{font-size:9px;max-width:210px}.project-actions{flex-direction:column;gap:4px;align-items:flex-end;align-self:center}.save-state{font-size:8px}.glyph-canvas{height:330px}.canvas-toolbar{gap:6px;padding:12px}.canvas-options{gap:9px}.canvas-options .text-button{font-size:8px}.glyph-identity{gap:6px}.glyph-identity>span:first-child{font-size:10px}.glyph-identity .mono{font-size:7px}.canvas-options label{font-size:8px}.spacing-bar{gap:7px;padding:12px 8px}.spacing-bar .number-field input{width:42px;font-size:9px}.spacing-bar label{font-size:8px}.spacing-divider{margin:0 2px}.spacing-bar .pair-character{width:22px}.number-field .icon-button{width:20px}.glyph-library{margin-top:22px}.glyph-grid{max-height:208px;grid-template-columns:repeat(auto-fill,minmax(41px,1fr))}.glyph-cell{height:49px}.workbench-footer{margin-top:22px;font-size:8px}.workbench-footer span:last-child{font-size:6px}.notification{font-size:10px;padding:10px 14px;align-items:flex-start}.notification-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}.notification-actions>button:not(.icon-button){font-size:9px}.proof-toolbar+textarea{font-size:60px;padding:15px 20px;min-height:240px}.proof-alphabet{font-size:20px;margin-left:20px;margin-right:20px}.proof-toolbar{padding:18px 15px;gap:9px}.proof-toolbar input{width:90px}.proof-toolbar label{font-size:8px}.proof-toolbar output{font-size:8px}.proof-toolbar .text-button{font-size:8px}.proof-note{margin-left:20px;margin-right:20px}dialog{padding:23px}dialog h2{font-size:28px}.dialog-footer>span{font-size:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.export-card .export-warning{font-size:8px;color:#6f795e;line-height:1.5;margin-top:11px}.proposal-dialog{width:650px}.proposal-previews{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.proposal-previews>div{border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#fafaf5}.proposal-previews span{display:block;font-family:var(--mono);font-size:8px;letter-spacing:.8px;padding:14px 14px 0;color:var(--muted)}.proposal-previews svg{width:100%;height:235px;fill:var(--ink);stroke:none}.proposal-dialog .proposal-warning{font-size:10px;color:#8c693e;background:#f7efdf;padding:12px;border-radius:4px}.point-hit{fill:transparent;stroke:none;cursor:grab;touch-action:none;pointer-events:all}@media(max-width:500px){.proposal-previews svg{height:170px}}

.assistant-history{margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.assistant-history .eyebrow{font-size:7px;letter-spacing:.8px}.assistant-history>div:last-child{max-height:270px;overflow-y:auto;scrollbar-width:thin}.chat-message{margin-top:12px;padding:10px;background:#f5f6ef;border-radius:4px}.chat-message.is-user{background:#f0f2ff}.chat-message>span{font-family:var(--mono);font-size:6px;letter-spacing:.6px;color:var(--muted)}.chat-message>p{font-size:9px;line-height:1.65;color:var(--ink);margin-top:5px;white-space:pre-wrap;overflow-wrap:anywhere}@media(min-width:721px) and (max-width:1000px){.assistant-history{grid-column:1/-1}}
/* Functional copy stays readable at compact workstation widths. */
.project-meta,.project-heading p,.save-state,.small-note,.sidebar-footer,.section-intro,.control-footnote{font-size:10px}.text-button,.canvas-options label,.canvas-options .text-button,.spacing-bar label,.glyph-filter button,.proof-toolbar label,.proof-toolbar output,.proof-toolbar .text-button,.proof-note{font-size:10px}.range-extremes{font-size:9px}.dna-label output{font-size:10px}.upload-zone span,.export-card select,.export-button{font-size:11px}.upload-zone small,.assistant-heading div>span,.assistant-card .provider-note,.assistant-card .suggestion-list button,.assistant-input textarea,.export-card p,.export-card label,.export-card .export-warning,.chat-message>p{font-size:10px}.assistant-heading h2,.glyph-library-heading h2{font-size:12px}.assistant-card>p{font-size:11px}.canvas-bottom{font-size:9px}.canvas-bottom .mono{font-size:8px}.glyph-cell .glyph-char-label{font-size:8px}.availability-label{font-size:8px}.export-meta{font-size:9px}.project-meta span:last-child{font-size:9px}.point-hit:focus{outline:none}.point-hit:focus+.point-focus-ring{opacity:1}.point-focus-ring{fill:none;stroke:var(--blue);stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:0;pointer-events:none}
@media(max-width:1180px){.project-actions{gap:5px}.spacing-bar{row-gap:9px}.spacing-bar label{font-size:9px}.sidebar-footer{line-height:1.4}.control-footnote{font-size:9px}.canvas-options label,.canvas-options .text-button{font-size:9px}}@media(max-width:720px){.project-heading p{font-size:10px}.save-state{font-size:9px}.project-actions{max-width:95px;text-align:right}.glyph-identity .mono{font-size:8px}.canvas-toolbar{flex-wrap:wrap}.spacing-bar label{font-size:9px}.canvas-options{gap:11px}.canvas-bottom{font-size:8px}.canvas-bottom .mono{font-size:7px}.notification{flex-wrap:wrap}.notification-actions{margin-left:auto}.assistant-card .suggestion-list button,.assistant-input textarea{font-size:11px}}

/* Opt-in design conversations and explicit proposal review. */
.assistant-card{display:block;min-width:0}
.availability-label.is-enabled{color:#4f6c51;background:#f0f5eb;border-color:#d2dfca}
.assistant-card .suggestion-list button:not(:disabled){opacity:1;background:#fbfbf6;transition:background .15s,border-color .15s}
.assistant-card .suggestion-list button:not(:disabled):hover{background:var(--soft-blue);border-color:#bdc7ef}
.assistant-composer{margin-top:18px;min-width:0}
.assistant-composer .assistant-input{margin-top:0;gap:8px;transition:border-color .15s}
.assistant-input:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px #3049dd10}
.assistant-input textarea{min-height:53px;max-height:180px;resize:vertical;line-height:1.6}
.assistant-input textarea:focus{outline:none}
.assistant-input .icon-button{width:28px;height:28px;border-radius:4px}
.assistant-input .icon-button:not(:disabled){background:var(--blue);color:white}
.assistant-input .icon-button:not(:disabled):hover{background:#243bbf}
.assistant-composer .ai-context{font-size:9px;color:var(--muted);line-height:1.6;margin-top:8px}
.assistant-composer .ai-request-status{font-size:10px;line-height:1.6;color:#4b5c8f;margin-top:10px}
.assistant-composer[aria-busy="true"] .ai-request-status:before{content:'';display:inline-block;width:8px;height:8px;border:1px solid #c5ccf5;border-top-color:var(--blue);border-radius:50%;margin-right:7px;animation:spin 1s linear infinite}
.assistant-composer .ai-error,.chat-history-error{font-size:10px;line-height:1.6;color:#80512f;background:#f9efdf;border:1px solid #ead9bc;border-radius:4px;padding:10px;margin-top:10px;overflow-wrap:anywhere}
.chat-history-error .text-button{margin-top:7px;text-decoration:underline;font-size:10px;color:inherit}
#chat-messages{max-height:310px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
#chat-messages:focus-visible{outline:2px solid #3049dd60;outline-offset:3px;border-radius:4px}
.chat-message>span{font-size:8px}
.chat-message>p{font-size:11px;line-height:1.7}
.assistant-card .provider-note{margin-top:12px;font-size:10px;line-height:1.65}
.proposal-dialog{width:710px;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain}
.proposal-dialog #proposal-title:focus{outline:none}
.proposal-dialog #proposal-message{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.75}
.proposal-changes-section{margin:22px 0;border-top:1px solid var(--line);padding-top:20px}
.proposal-changes-section h3{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:0}
.proposal-changes{list-style:none;padding:0;margin:13px 0 0;display:grid;gap:10px}
.proposal-changes>li{padding:13px 15px;border:1px solid var(--line);border-radius:5px;background:#fafbf5;overflow-wrap:anywhere}
.proposal-changes h4{font-size:11px;font-weight:600;margin:0 0 10px}
.proposal-changes dl{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,1.4fr);column-gap:15px;row-gap:7px;margin:0;font-size:10px;line-height:1.6}
.proposal-changes dt{color:var(--muted)}
.proposal-changes dd{margin:0;font-family:var(--mono);font-size:10px}
.proposal-old-value{color:#797f72}
.proposal-change-arrow{color:#8296cd;padding:0 4px}
.proposal-changes dd strong{color:#34477f;font-weight:500}
.proposal-dialog .proposal-changes p{font-size:10px;line-height:1.7;margin:10px 0 0;color:#6b735e}
.proposal-glyph-field{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 12px}
.proposal-glyph-field label{font-size:11px;white-space:nowrap;margin:0;font-weight:500}
.proposal-glyph-field select{width:min(260px,60%);font-size:11px;padding:8px 10px}
.proposal-comparison .proposal-previews{margin-top:0}
.proposal-previews span{font-size:9px}
.proposal-previews svg{height:230px}
.proposal-advance-line{stroke:#8b9bd2;stroke-width:1;stroke-dasharray:4 5;vector-effect:non-scaling-stroke;opacity:.6}
.proposal-preview-metric{padding:0 14px 13px;font-family:var(--mono);font-size:9px;color:#818978}
.proposal-dialog .proposal-preview-note{font-size:9px;margin:9px 0 0;line-height:1.6}
.proposal-dialog .proposal-warning{font-size:11px;line-height:1.7;margin:18px 0}
.proposal-dialog .dialog-footer{padding-top:18px;border-top:1px solid var(--line);margin-top:20px}
.proposal-dialog .dialog-footer .text-button{font-size:11px;padding:8px 0}
@media(min-width:721px) and (max-width:1000px){.right-sidebar{align-items:start}.assistant-composer{margin-top:18px}.assistant-card .assistant-input{margin-top:0}}
@media(max-width:500px){.proposal-dialog{max-height:calc(100dvh - 24px);max-width:calc(100% - 24px);padding:20px}.proposal-previews{gap:9px}.proposal-previews svg{height:165px}.proposal-previews span{padding:11px 10px 0;font-size:8px}.proposal-preview-metric{padding:0 10px 11px;font-size:8px}.proposal-glyph-field{gap:10px}.proposal-glyph-field label{font-size:10px}.proposal-glyph-field select{width:58%;font-size:10px}.proposal-changes dl{grid-template-columns:1fr;row-gap:2px}.proposal-changes dd:not(:last-child){margin-bottom:6px}.proposal-dialog h2{font-size:26px}.proposal-dialog .dialog-footer{gap:12px}}
@media(prefers-reduced-motion:reduce){.assistant-composer[aria-busy="true"] .ai-request-status:before{animation:none}}

.assistant-composer .ai-check-history{font-size:10px;color:#51649b;text-decoration:underline;margin-top:8px;padding:3px 0}

.brand-symbol{display:block;width:43px;height:44px;object-fit:contain;flex-shrink:0}@media(max-width:720px){.brand-symbol{width:34px;height:36px}}

/* Shared DNA, font metadata and the saved revision's preflight report. */
.dna-group{border-top:1px solid var(--line);margin-top:14px}
.dna-group>summary,.metadata-card>summary,.preflight-panel>summary{cursor:pointer;line-height:1.5;font-size:11px;font-weight:550;padding:12px 0;list-style:disclosure-closed}
.dna-group[open]>summary,.metadata-card[open]>summary,.preflight-panel[open]>summary{list-style:disclosure-open}
.dna-group>summary>span{float:right;font-family:var(--mono);font-size:9px;font-weight:400;color:var(--muted)}
.dna-group>summary:focus-visible,.metadata-card>summary:focus-visible,.preflight-panel>summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}
.dna-group .dna-control{margin-top:12px;margin-bottom:19px}
.dna-group .dna-label{gap:8px;align-items:baseline}
.dna-group .dna-label label{line-height:1.5}
.dna-group .dna-label output{white-space:nowrap}
.dna-group .range-extremes{color:#777c6d}
.metadata-card{min-width:0;margin-top:17px;padding:0 17px;background:var(--surface);border:1px solid var(--line);border-radius:6px}
.metadata-card>summary{padding:15px 0;font-size:12px}
.metadata-card>summary>span{display:block;font-size:9px;color:var(--muted);font-weight:400;margin-top:3px;margin-left:13px}
.metadata-card[open]{padding-bottom:17px}
.metadata-card .small-note{line-height:1.65;margin:0 0 17px}
.metadata-card input,.metadata-card textarea{font-size:11px;min-width:0;padding:9px 10px}
.metadata-card label{font-size:10px;line-height:1.5}
.metadata-card .field-help{font-size:9px;line-height:1.65;color:#727a69;margin-top:7px;overflow-wrap:anywhere}
.metadata-card .text-button{margin-top:17px;font-size:11px}
.metadata-card .metadata-error{background:#faeee5;color:#854327;padding:9px;border:1px solid #ead7c4;border-radius:4px;font-size:10px;line-height:1.6;margin-top:12px;overflow-wrap:anywhere}
.preflight-panel{border-top:1px solid #cdd3c2;margin-top:16px;padding-top:2px}
.preflight-panel>summary{font-size:11px;padding-bottom:9px}
.preflight-panel>summary>span{display:block;font-size:9px;color:#68735b;font-weight:400;margin-top:4px;overflow-wrap:anywhere}
.export-card .preflight-panel>p{font-size:10px;color:#5f6955;line-height:1.65;margin:0 0 12px}
#preflight-checks{list-style:none;margin:0;padding:0;max-height:410px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
#preflight-checks:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:3px}
.preflight-check{padding:11px 0;border-top:1px solid #d5dacb;overflow-wrap:anywhere}
.preflight-check-heading{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}
.preflight-check-heading strong{font-size:10px;line-height:1.6;font-weight:550}
.preflight-severity{font-size:8px;line-height:1.5;padding:2px 5px;border-radius:3px;border:1px solid #cbd4c0;color:#42633e;background:#eff3e9}
.preflight-check.is-error .preflight-severity{background:#faece6;border-color:#e6c9bc;color:#883d29}
.preflight-check.is-warning .preflight-severity{background:#f9f1da;border-color:#e7d7ae;color:#785b24}
.preflight-check.is-unknown .preflight-severity{background:#f0f0eb;border-color:#d5d5cc;color:#676b61}
.export-card .preflight-check p{font-size:10px;line-height:1.65;margin-top:6px;color:#646e59;white-space:pre-wrap}
.export-card .embedding-notice{border-top:1px solid #cdd3c2;padding-top:12px;margin-top:12px;color:#67715c;font-size:9px;line-height:1.7;overflow-wrap:anywhere}
@media(min-width:721px) and (max-width:1000px){.right-sidebar>.assistant-card{grid-column:1;grid-row:1 / span 2}.right-sidebar>.metadata-card{grid-column:2;grid-row:1;margin-top:0}.right-sidebar>.export-card{grid-column:2;grid-row:2}}
@media(max-width:720px){.metadata-card{margin-top:0;order:-2;padding-left:20px;padding-right:20px}.dna-group>summary{font-size:10px}.dna-group .dna-label{flex-wrap:wrap;row-gap:3px}.dna-group .dna-label label{font-size:10px}.dna-group .dna-label output{font-size:9px}.metadata-card input,.metadata-card textarea{font-size:12px}}
@media(max-width:420px){.left-sidebar{grid-template-columns:1fr}.brief-section{border-right:0}.dna-group .dna-label{flex-wrap:nowrap}}

/* Glyph editor: a compact tool shelf and a grouped selection inspector. */
.editor-tool-shelf{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:9px 15px;border-top:1px solid var(--line);background:#f5f6ee}
.editor-tool-shelf button,.editor-button{border:1px solid var(--line);border-radius:4px;background:var(--surface);padding:7px 9px;font-size:11px;line-height:1.3;color:var(--ink);cursor:pointer;white-space:nowrap}
.editor-tool-shelf button[aria-pressed="true"],.editor-button[aria-pressed="true"]{background:var(--soft-blue);color:var(--blue);border-color:#aab7e7}
.editor-tool-shelf button:focus-visible,.editor-button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.editor-tool-shelf button:disabled,.editor-button:disabled{opacity:.4;cursor:default}
.editor-tool-shelf kbd,.glyph-draft-bar kbd{font:9px var(--mono);color:var(--muted);margin-left:4px;opacity:.8}
.tool-separator{width:1px;height:20px;background:var(--line);margin:0 3px}
.editor-tool-help{font-size:10px;color:#657059;line-height:1.55;padding:9px 15px;border-top:1px solid #eceee3;min-height:44px;background:#fafbf5}
#glyph-svg{touch-action:none;user-select:none;outline:none}
#glyph-svg:focus-visible{box-shadow:inset 0 0 0 2px #3049dd55}
#glyph-svg[data-tool="pen"],#glyph-svg[data-tool="rectangle"],#glyph-svg[data-tool="ellipse"]{cursor:crosshair}
#glyph-svg[data-tool="rounded-rectangle"],#glyph-svg[data-tool="polygon"],#glyph-svg[data-tool="knife"],#glyph-svg[data-tool="scissors"],#glyph-svg[data-tool="line"]{cursor:crosshair}
#glyph-svg.is-pan-ready,#glyph-svg.is-pan-ready .point-hit,#glyph-svg.is-pan-ready .contour-hit,#glyph-svg.is-pan-ready .object-resize-hit{cursor:grab}
#glyph-svg.is-panning,#glyph-svg.is-panning .point-hit,#glyph-svg.is-panning .contour-hit,#glyph-svg.is-panning .object-resize-hit{cursor:grabbing}
#glyph-svg.is-outline-only #glyph-path{fill:none;stroke:var(--ink);stroke-width:1.2;vector-effect:non-scaling-stroke}
.editor-tool-shelf .shape-option{display:flex;align-items:center;gap:6px;margin:0 0 0 4px;font-size:10px;font-weight:400;white-space:nowrap}
.shape-option input{width:58px;min-width:0;padding:6px;font-size:11px}
.editor-view-shelf{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 15px;background:#fafbf5;border-top:1px solid var(--line)}
.editor-view-shelf .editor-button{font-size:10px;padding:5px 8px}
.editor-view-shelf output{font:9px var(--mono);min-width:61px;text-align:center;color:var(--muted)}
.editor-view-shelf label{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:400;margin:0 0 0 5px}
.editor-view-shelf input[type="checkbox"]{width:auto;margin:0;accent-color:var(--blue)}
.editor-view-shelf .grid-step-field{gap:5px}
.grid-step-field input{width:57px;min-width:0;padding:5px 6px;font-size:10px}
.grid-step-field input[aria-invalid="true"]{border-color:#a75e34;background:#fff6eb}
#glyph-grid-layer,#glyph-snap-feedback{pointer-events:none}
.glyph-grid-line{fill:none;stroke:#dfe1d7;stroke-width:.65;vector-effect:non-scaling-stroke}
.glyph-snap-line{stroke:#3e7ddb;stroke-width:1;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}
.view-help{margin-left:auto;color:var(--muted);font-size:9px;line-height:1.5}
@media(max-width:1180px){.editor-view-shelf{padding:8px 12px}.view-help{flex-basis:100%;margin-left:0}}
.contour-hit{fill:transparent;stroke:transparent;stroke-width:12;vector-effect:non-scaling-stroke;pointer-events:none}
#glyph-svg[data-tool="object"] .contour-hit{pointer-events:all;cursor:grab}
.contour-hit.is-selected{stroke:#e18249;stroke-width:1.4;stroke-dasharray:5 4;fill:#e1824915}
.contour-hit:focus-visible{stroke:var(--blue);stroke-width:2}
#glyph-svg:not([data-tool="nodes"]) .point-hit,#glyph-svg:not([data-tool="nodes"]) .glyph-point{pointer-events:none}
#glyph-svg:not([data-tool="nodes"]) .glyph-point{opacity:.4}
.glyph-point.is-selected{fill:var(--blue);stroke:white;stroke-width:1.4}
.glyph-point.off-curve.is-selected{fill:#e18249;stroke:white}
#glyph-overlay{pointer-events:none}
.selection-bounds{fill:none;stroke:#7186c0;stroke-width:1;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}
#glyph-resize-handles{pointer-events:none}
.object-resize-hit{fill:transparent;stroke:none;pointer-events:all;touch-action:none}
.object-resize-handle{fill:white;stroke:var(--blue);stroke-width:1.3;vector-effect:non-scaling-stroke;pointer-events:none}
.object-resize-hit:hover+.object-resize-handle{fill:#dce3ff}
.object-resize-hit[data-resize-handle="nw"],.object-resize-hit[data-resize-handle="se"]{cursor:nwse-resize}
.object-resize-hit[data-resize-handle="ne"],.object-resize-hit[data-resize-handle="sw"]{cursor:nesw-resize}
.object-resize-hit[data-resize-handle="n"],.object-resize-hit[data-resize-handle="s"]{cursor:ns-resize}
.object-resize-hit[data-resize-handle="w"],.object-resize-hit[data-resize-handle="e"]{cursor:ew-resize}
.selection-marquee{fill:#476edc12;stroke:var(--blue);stroke-width:1;vector-effect:non-scaling-stroke}
.draft-outline{fill:#365be516;stroke:var(--blue);stroke-width:1.8;vector-effect:non-scaling-stroke}
.open-outline{fill:none;stroke:var(--ink);stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}
.glyph-cell .open-outline{stroke:currentColor;stroke-width:1.1}
.contour-hit.is-open,.contour-hit.is-open.is-selected,.draft-outline.is-open{fill:none}
#glyph-svg[data-tool="object"] .contour-hit.is-open{pointer-events:stroke}
#glyph-svg.is-outline-only .draft-outline{fill:none}
.glyph-cell.has-open-contours:after{content:"";position:absolute;top:5px;right:5px;width:4px;height:4px;border-radius:50%;background:#b36c36}
.compilation-status{font-size:10px;line-height:1.6;padding:10px;margin-top:12px;border:1px solid #decba6;border-radius:4px;background:#fff4de;color:#705027}
.draft-node{fill:white;stroke:var(--blue);stroke-width:1.5;vector-effect:non-scaling-stroke}
.draft-node.off-curve{fill:#dce3ff}
.draft-handle-line{stroke:#8091c6;stroke-width:1;vector-effect:non-scaling-stroke}
.knife-preview-line{stroke:#b6502c;stroke-width:2;stroke-dasharray:7 4;vector-effect:non-scaling-stroke}
.knife-preview-end{fill:#fff8ed;stroke:#b6502c;stroke-width:1.5;vector-effect:non-scaling-stroke}
.editor-clipboard-shelf{padding:8px 15px 10px;border-top:1px solid var(--line);background:#fafbf5}
.editor-clipboard-shelf .editor-action-row{margin-top:0}
.editor-clipboard-shelf .editor-note{margin-top:5px}
#clipboard-help{font-size:9px;color:var(--muted)}
.glyph-draft-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 15px;border-top:1px solid #c3ceed;background:#f0f3ff}
.glyph-draft-bar>span{font-size:11px;color:#344d91;line-height:1.5}
.glyph-draft-bar>div{display:flex;gap:6px;flex-shrink:0}
.editor-button.is-primary{color:white;background:var(--blue);border-color:var(--blue)}
.selection-inspector{border-top:1px solid var(--line);padding:12px 15px;background:#fafbf5}
.selection-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#526244}
.selection-heading>div{display:flex;gap:12px}.selection-heading .text-button{font-size:10px}
.selection-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin-top:8px}
.selection-sections>details{border-top:1px solid var(--line);min-width:0}
.selection-sections>details>summary{font-size:11px;font-weight:550;cursor:pointer;padding:9px 0}
.selection-sections>details>summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.selection-sections>details>label{font-size:10px;margin:4px 0 7px;line-height:1.5}
.selection-sections>details[open]{padding-bottom:12px}
#transform-panel{grid-column:1/-1}
.transform-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.transform-fields label{font-size:10px;margin:0;line-height:1.6;min-width:0}
.transform-fields input:not([type="checkbox"]){font-size:11px;width:100%;min-width:0;padding:7px 8px;margin-top:3px}
.transform-fields .transform-lock{display:flex;align-items:center;gap:7px;grid-column:span 2}
.transform-lock input{width:auto;margin:0;accent-color:var(--blue)}
.editor-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:8px}
.editor-action-row select{font-size:10px;flex:1;width:auto;min-width:100px;max-width:100%;padding:7px}
.editor-note{font-size:10px;line-height:1.6;color:#737d69;margin-top:8px}
.editor-error{font-size:11px;line-height:1.5;color:#914d2a;background:#fbefdf;border:1px solid #ecd6bb;border-radius:4px;padding:9px;margin-top:10px}
@media(max-width:1180px){.editor-tool-shelf{padding:9px 12px}.editor-tool-shelf button{padding:7px}.editor-tool-shelf kbd{display:none}.selection-inspector{padding:12px}.transform-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.transform-fields .transform-lock{grid-row:2}.selection-sections{gap:0 12px}.glyph-draft-bar{padding:10px 12px;flex-wrap:wrap}.glyph-draft-bar>div{margin-left:auto}}
@media(max-width:420px){.selection-sections{grid-template-columns:1fr}.editor-tool-help{font-size:10px}.editor-tool-shelf{gap:4px}.editor-tool-shelf button{font-size:10px;padding:7px}.selection-heading{flex-wrap:wrap}.selection-heading>div{margin-left:auto}}

/* Markers are intent previews; path topology is computed by Apply. */
.path-structure-marker{fill:none;stroke:#b6502c;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}
.join-preview-line{fill:none;stroke:#b6502c;stroke-width:2;stroke-dasharray:7 4;vector-effect:non-scaling-stroke;pointer-events:none}
.project-source-download{display:flex;align-items:center;justify-content:space-between;margin-top:12px;text-decoration:none}
.project-source-download svg{width:14px;height:14px}
.project-source-download.is-disabled{opacity:.4;pointer-events:none}
.export-card .source-download-note{font-size:10px;line-height:1.5;margin:7px 0 12px;color:var(--muted)}

/* Glyph-local references are source objects, independent of outline points. */
#glyph-anchors,#glyph-local-guides{pointer-events:none}
.glyph-anchor-hit{fill:transparent;stroke:none;pointer-events:none}
.editable-guide-hit{stroke:transparent;stroke-width:14;vector-effect:non-scaling-stroke;pointer-events:none}
#glyph-svg[data-tool="nodes"] .glyph-anchor-hit{pointer-events:all;cursor:move}
#glyph-svg[data-tool="nodes"] .editable-guide-hit{pointer-events:stroke;cursor:move}
.glyph-anchor-marker{fill:#fff9e9;stroke:#996829;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}
.glyph-anchor-marker.is-selected{fill:var(--blue);stroke:white}
.glyph-anchor-label,.editable-guide-label{fill:#8b673b;font-family:monospace;pointer-events:none}
.editable-guide-line{stroke:#aa884b;stroke-width:1;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;pointer-events:none}
.editable-guide-line.is-selected{stroke:var(--blue);stroke-width:2}
.glyph-anchor-hit:focus-visible+.glyph-anchor-marker{stroke:var(--blue);stroke-width:3}
.editable-guide-hit:focus-visible+.editable-guide-line{stroke:var(--blue);stroke-width:3}
.annotation-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;max-height:180px;overflow:auto}
.annotation-list button{font-size:10px;padding:6px 8px;max-width:100%;overflow-wrap:anywhere;text-align:left;border:1px solid var(--line);border-radius:4px;background:white}
.annotation-list button[aria-pressed="true"]{background:#eaf0ff;border-color:var(--blue);color:var(--blue)}
.annotation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.annotation-fields label{font-size:10px;line-height:1.6;min-width:0}
.annotation-fields input,.annotation-fields select{width:100%;min-width:0;font-size:11px;padding:7px;margin-top:3px}
.annotation-name-field{grid-column:1/-1}
#annotation-selection{overflow-wrap:anywhere}
.canvas-options,.canvas-toolbar{flex-wrap:wrap}

/* Live source components are selectable objects; inherited nodes never become local handles. */
.component-navigation{display:flex;align-items:center;gap:10px;padding:0 15px;background:#fafbf5}
.component-navigation:has([hidden]+[hidden]){display:none}
.component-navigation p{font-size:10px;line-height:1.6;color:#657059;padding:8px 0}
.component-hit{fill:transparent;stroke:none;pointer-events:none;cursor:grab}
#glyph-svg[data-tool="object"] .component-hit,#glyph-svg[data-tool="component"] .component-hit,#glyph-svg[data-tool="nodes"] .component-hit{pointer-events:all}
.component-outline{fill:none;stroke:none;pointer-events:none;vector-effect:non-scaling-stroke}
.component-outline.is-selected{stroke:#e18249;stroke-width:1.4;stroke-dasharray:5 4}
.component-hit:focus-visible{stroke:var(--blue);stroke-width:2;vector-effect:non-scaling-stroke}
#component-picker{padding:10px;margin-top:8px;background:#f5f6ee;border:1px solid var(--line);border-radius:4px}
#component-picker label,#component-form>label{font-size:10px;line-height:1.6}
#component-base,#component-name{width:100%;min-width:0;font-size:11px;padding:7px;margin-top:3px}
#component-panel .editor-action-row{flex-wrap:wrap}
.component-fields{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Live smart parts keep source nodes separate from derived paint and hits. */
.part-hit{fill:transparent;stroke:none;pointer-events:none;cursor:grab;vector-effect:non-scaling-stroke}
#glyph-svg[data-tool="object"] .part-hit{pointer-events:all;stroke:#728584;stroke-width:.8;stroke-dasharray:4 4}
.part-hit.is-selected{stroke:#e18249;stroke-width:1.4;stroke-dasharray:5 4}
.part-hit:focus-visible{stroke:var(--blue);stroke-width:2}
.part-outline{fill:none;stroke:none;pointer-events:none;vector-effect:non-scaling-stroke}
.part-outline.is-selected{stroke:#e18249;stroke-width:1.4;stroke-dasharray:5 4}
#part-catalog,.part-identity input{width:100%;min-width:0;font-size:11px;padding:7px;margin-top:3px}
#smart-part-panel label{font-size:10px;line-height:1.6}
#smart-part-panel .editor-action-row{flex-wrap:wrap}
.part-identity{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
.part-parameter{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;margin-top:10px;align-items:center}
.part-parameter>input{width:100%;min-width:0;grid-column:1/-1;padding:7px;font-size:11px}
.part-dna{display:flex;align-items:center;gap:4px;white-space:nowrap}
.part-dna input{width:auto;margin:0}
.part-resolved{grid-column:1/-1;color:#647165;line-height:1.5;font-size:10px;overflow-wrap:anywhere}
@media(max-width:520px){.part-identity{grid-template-columns:1fr}}

/* Explicit independent Regular sources and a detached Italic preview. */
/* One shared viewBox and equal-sized cells preserve scale across both sources. */
.source-result-dialog{width:780px}
.source-result-dialog h2:focus{outline:none}
.source-result-inputs{display:flex;gap:12px;align-items:flex-end}.source-result-inputs>div{flex:1;min-width:0}.source-result-inputs label{margin-top:0}.source-result-inputs select{font-size:11px}.source-result-inputs>.editor-button{flex-shrink:0;margin-bottom:1px}
.source-result-dialog .small-note{margin:12px 0;font-size:11px;line-height:1.6}
.source-result-sources{display:grid;gap:20px;margin-top:17px}.source-result-source{min-width:0}.source-result-source h3{font-family:var(--sans);font-size:13px;font-weight:600}.source-result-source .proposal-previews{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:9px}.source-result-source .proposal-previews>div{min-width:0}.source-result-source .proposal-preview-metric{line-height:1.7;overflow-wrap:anywhere}
.source-result-matrix{padding:0 14px 13px;font-family:var(--mono);font-size:10px;line-height:1.7;overflow-wrap:anywhere}.source-result-matrix strong{display:block;font-family:var(--sans);font-weight:500;font-size:10px}
.source-result-warnings{padding:12px 14px 12px 29px;margin:18px 0 0;border-radius:4px;background:#f7efdf;color:#805a30;font-size:11px;line-height:1.7}.source-result-warnings:empty{display:none}.source-result-warnings li+li{margin-top:8px}
.source-result-dialog .dialog-footer{position:sticky;bottom:-30px;background:var(--surface);padding-bottom:16px;z-index:1}.source-result-actions{display:flex;align-items:center;gap:15px}.source-result-actions>span{font-size:9px;color:var(--muted)}
@media(max-width:500px){.source-result-dialog .dialog-footer{bottom:-20px;flex-wrap:wrap}.source-result-actions{margin-left:auto;gap:8px}.source-result-actions>span{display:none}.source-result-actions .button{padding:11px 13px}.source-result-matrix{padding:0 10px 11px;font-size:9px}.source-result-inputs{flex-wrap:wrap;gap:9px}.source-result-inputs>div{flex-basis:100%}.source-result-inputs>.editor-button{margin-left:auto}.source-result-source .proposal-previews{gap:9px}}
.source-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 14px;padding:12px 15px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.source-field{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0;flex:1}
.source-field label{margin:0;font-size:11px}.source-field select{width:auto;min-width:116px;font-size:11px;padding:7px 10px}.source-field>span{font:9px var(--mono);color:var(--muted)}
.source-toolbar>button{margin-left:auto}.source-topology-note{flex-basis:100%;font-size:10px;line-height:1.7;color:#79562e;overflow-wrap:anywhere;border-top:1px solid var(--line);padding-top:9px}
.source-action-note{font-size:10px;line-height:1.65;padding:10px 15px;background:#fff5e4;color:#75552d;border-bottom:1px solid #e8d9bc}
.export-card .export-style{font-size:10px;line-height:1.6;margin:10px 0 13px;color:#526345;font-weight:550}
.italic-preview-actions{display:flex;align-items:center;gap:10px}.italic-preview-dialog .small-note{margin-top:16px;line-height:1.6}.italic-preview-dialog .proposal-glyph-field{margin-top:18px}
#italic-dna-panel .small-note{margin:0 0 12px;line-height:1.6}
@media(max-width:500px){.source-toolbar{padding:10px;gap:9px}.source-field{gap:7px}.source-field>span{flex-basis:100%}.italic-preview-dialog .dialog-footer{align-items:center;flex-wrap:wrap}.italic-preview-actions{gap:7px;margin-left:auto}.italic-preview-actions .button{padding:11px 13px}}

/* Named-pair workspace. Geometry preview and saved-font proof are distinct. */
.foundation-section{margin-top:20px;min-width:0}.foundation-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:0 20px;min-width:0}.foundation-summary{cursor:pointer;padding:17px 0;font-size:13px;font-weight:600}.foundation-overview{float:right;color:var(--muted);font-size:10px;font-weight:400}.foundation-body{padding:0 0 18px;min-width:0}.foundation-label{display:block;font-size:11px;font-weight:550;margin:0 0 7px}.foundation-select{width:100%;max-width:360px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:5px;background:var(--surface);font-size:11px}.foundation-flag{font-size:12px;font-weight:550;margin:15px 0 9px}.foundation-counts{display:flex;gap:8px 20px;flex-wrap:wrap;padding:0;list-style:none;font-size:11px;color:var(--muted);margin:0 0 12px}.foundation-counts strong{font-weight:550;color:var(--ink)}.foundation-body .editor-note{font-size:11px;line-height:1.65;overflow-wrap:anywhere}.foundation-warning{padding:9px 12px;border:1px solid #e8c790;border-radius:4px;background:#fff3df}.foundation-glyphs{display:grid;grid-template-columns:repeat(auto-fit,minmax(106px,1fr));gap:9px;min-width:0;margin:12px 0}.foundation-glyph{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink);text-align:center}.foundation-glyph svg{max-width:100%;height:100px}.foundation-glyph-name{font:10px var(--mono);overflow-wrap:anywhere}.foundation-glyph-review,.foundation-glyph-warning,.foundation-glyph-blank{font-size:9px;line-height:1.5;overflow-wrap:anywhere}.foundation-glyph-review,.foundation-glyph-blank{color:var(--muted)}.foundation-glyph-warning{color:#805a30}.foundation-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.foundation-actions button{font-size:11px;padding:8px 12px;border:1px solid var(--line);border-radius:4px}.foundation-actions [data-foundation="approve"]{background:var(--ink);border-color:var(--ink);color:var(--surface)}.foundation-panel button:disabled,.foundation-panel select:disabled{opacity:.5;cursor:default}.foundation-panel :focus-visible{outline:2px solid var(--blue);outline-offset:3px}.foundation-result:empty{display:none}
@media(max-width:600px){.foundation-panel{padding:0 12px}.foundation-overview{float:none;display:block;margin-top:4px}.foundation-counts{display:grid;gap:5px}.foundation-glyphs{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}}
.spacing-workspace{margin-top:20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:0 20px;min-width:0}
.spacing-workspace>summary{cursor:pointer;padding:17px 0;font-size:13px;font-weight:600}
.spacing-workspace>summary>span{float:right;color:var(--muted);font-size:10px;font-weight:400}
.parameter-input-row{display:flex;align-items:center;gap:7px;margin-top:8px}.parameter-number{min-width:0;width:86px;padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface);font:11px var(--mono);color:var(--ink)}.parameter-number[aria-invalid="true"]{border-color:#a6523b;background:#fff8f2}.parameter-suffix{font-size:10px;color:var(--muted)}.parameter-reset{margin-left:auto;padding:5px 8px;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--muted);font-size:10px}.parameter-error{margin:7px 0 0;color:#91442f;line-height:1.5}.parameter-error[hidden]{display:none}.parameter-control [disabled]{opacity:.5}.construction-preset{border-bottom:1px solid var(--line);padding:4px 0 14px;margin-bottom:15px}.construction-preset label{display:block;font-size:11px;margin-bottom:7px}.construction-preset select{display:block;max-width:100%;width:100%;padding:7px;border:1px solid var(--line);border-radius:4px;background:var(--surface);font-size:11px}.construction-preset button{font-size:11px;margin-top:8px}.construction-preset-values{font-size:10px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere;margin:8px 0 0}
.font-spacing-panel{padding:0 0 18px;min-width:0}.spacing-panel-title{font-size:15px;margin:4px 0 8px}.spacing-panel-scope,.spacing-panel-count,.spacing-panel-note,.spacing-panel-proof-note,.spacing-panel-result{font-size:11px;line-height:1.6;color:var(--muted)}
.font-spacing-panel label{display:block;font-size:11px;font-weight:500;margin:12px 0 6px}.font-spacing-panel input,.font-spacing-panel select{display:block;width:100%;max-width:100%;min-width:0;margin-top:6px;padding:9px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:inherit;font:inherit}
.spacing-panel-inventory{font-size:11px!important}.spacing-panel-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(90px,.8fr);gap:12px}.spacing-panel-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.spacing-panel-actions button{font-size:11px;padding:8px 10px;border:1px solid var(--line);border-radius:4px}.spacing-panel-actions button:disabled{opacity:.45;cursor:default}.spacing-panel-result{color:#8c3d32}.spacing-panel-proof{border-top:1px solid var(--line);margin-top:16px;padding-top:3px;min-width:0}.spacing-panel-proof-text{font-size:46px;line-height:1.5;overflow-wrap:anywhere;min-height:1.5em;margin:14px 0}
.spacing-comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;padding:0 0 18px}.spacing-comparison[hidden]{display:none}.spacing-comparison figure{margin:0;min-width:0;border:1px solid var(--line);border-radius:5px;padding:10px}.spacing-comparison figcaption{font-family:var(--mono);font-size:10px;color:var(--muted)}.spacing-comparison svg{display:block;width:100%;height:175px;fill:var(--ink)}.spacing-comparison>p{grid-column:1/-1;font-size:10px;line-height:1.6;color:var(--muted);margin:0}
@media(max-width:600px){.spacing-workspace{padding:0 12px}.spacing-workspace>summary>span{display:block;float:none;margin-top:4px}.spacing-panel-controls{grid-template-columns:1fr 1fr}.spacing-panel-field:last-child{grid-column:1/-1}.spacing-panel-proof-text{font-size:36px}.spacing-comparison{gap:8px}.spacing-comparison svg{height:135px}}

/* Explicit whole-project construction review. */
.font-concept-panel{min-width:0}.concept-panel-title{cursor:pointer;padding:8px 0}.concept-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 8px;margin:14px 0}.concept-fields>.concept-field:first-child,.concept-fields>.concept-field:nth-child(5),.concept-fields>[data-concept="generate"]{grid-column:1/-1}.concept-fields>[data-concept="new-seed"]{grid-column:1/-1;justify-self:end;font-size:10px}.concept-field{min-width:0}.font-concept-panel input[type="text"],.font-concept-panel input[type="number"],.font-concept-panel select{display:block;max-width:100%;width:100%;min-width:0;padding:7px 8px;margin-top:6px;border:1px solid var(--line);border-radius:4px;background:var(--surface);font-size:11px;color:var(--ink)}.concept-fields>[data-concept="generate"],.concept-candidate-actions button{font-size:11px;padding:8px 10px;border:1px solid var(--line);border-radius:4px}.concept-locks{margin:14px 0;border-top:1px solid var(--line);padding-top:12px}.concept-locks>summary,.concept-recorded-comparisons>summary{cursor:pointer;font-size:11px;font-weight:550}.concept-lock-list{display:grid;gap:8px;margin-top:10px}.concept-lock-list label{display:flex;align-items:flex-start;gap:7px;min-width:0;font-size:10px;line-height:1.5}.concept-lock-list span{min-width:0;overflow-wrap:anywhere}.concept-lock-list input{flex:0 0 auto;margin-top:3px}.concept-dna{margin-top:13px;min-width:0}.concept-dna h3{font-size:12px;margin:0 0 9px}.concept-dna .construction-default-list{grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:6px 8px;font-size:10px}.concept-dna dd{overflow-wrap:anywhere}.concept-candidate-actions{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}.concept-recorded-comparisons{margin-top:13px}.concept-recorded-comparisons ol{padding-left:18px;font:10px/1.65 var(--mono);overflow-wrap:anywhere}.font-concept-panel button:disabled,.font-concept-panel select:disabled,.font-concept-panel input:disabled{opacity:.5;cursor:default}.font-concept-panel :focus-visible{outline:2px solid var(--blue);outline-offset:3px}.concept-dialog [data-concept="apply"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.concept-dialog .construction-default-list{max-width:100%;overflow-wrap:anywhere}
@media(max-width:400px){.concept-fields{grid-template-columns:minmax(0,1fr)}}
.font-construction-panel{min-width:0}.construction-panel-title{font-size:13px;margin:0 0 10px;font-weight:600}.construction-panel-current{font-size:11px;line-height:1.6;color:var(--muted);margin:0 0 12px}.font-construction-panel>[data-construction="open"]{font-size:11px;padding:8px 0;text-align:left}.fixed-advance-note{font-size:10px;line-height:1.5;margin:0;padding:10px 18px;background:var(--soft-blue);color:#3c4c91}
.construction-dialog{width:min(1000px,calc(100vw - 40px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);padding:28px;box-shadow:0 24px 90px #24272233}.construction-dialog::backdrop{background:#25292370}.construction-dialog-title{font-family:var(--serif);font-size:31px;font-weight:400;line-height:1.15;margin:0 0 18px}.construction-warning{font-size:12px;line-height:1.7;background:#fff3df;border:1px solid #e8c790;border-radius:6px;padding:13px 15px}.construction-scope,.construction-status,.construction-preview-note{font-size:11px;line-height:1.7;color:var(--muted)}.construction-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.construction-field{display:block;font-size:11px;font-weight:550}.construction-field select{display:block;width:100%;min-width:0;margin-top:7px;padding:10px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}.construction-defaults,.construction-summary{border-top:1px solid var(--line);padding-top:14px;margin-top:17px}.construction-dialog h3{font-size:13px;margin:0 0 10px}.construction-defaults p,.construction-summary p{font-size:11px;line-height:1.7;color:var(--muted)}.construction-default-list{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;max-width:440px;font-size:11px}.construction-default-list dt{color:var(--muted)}.construction-default-list dd{margin:0;font-family:var(--mono)}.construction-counts{width:100%;border-collapse:collapse;font-size:11px;margin:12px 0}.construction-counts caption{text-align:left;color:var(--muted);font-size:10px;line-height:1.6;margin-bottom:8px}.construction-counts th,.construction-counts td{padding:7px 9px;border-bottom:1px solid var(--line);text-align:right}.construction-counts th:first-child{text-align:left;font-weight:400}.construction-counts thead th{font-weight:550}.construction-source{margin:20px 0}.construction-comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.construction-drawing{min-width:0;margin:0;border:1px solid var(--line);border-radius:6px;padding:12px;background:var(--paper)}.construction-drawing figcaption{font-family:var(--mono);font-size:10px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.construction-drawing svg{display:block;width:100%;height:220px;color:var(--ink)}.construction-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;position:sticky;bottom:-28px;background:var(--surface);padding:16px 0;border-top:1px solid var(--line);margin-top:18px}.construction-actions button{font-size:12px;padding:10px 13px;border:1px solid var(--line);border-radius:5px}.construction-actions [data-construction="apply"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.construction-dialog button:disabled{opacity:.45;cursor:default}
@media(max-width:600px){.construction-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:18px}.construction-dialog-title{font-size:26px}.construction-fields{grid-template-columns:1fr;gap:12px}.construction-comparison{gap:8px}.construction-drawing{padding:8px}.construction-drawing svg{height:165px}.construction-drawing figcaption{font-size:9px}.construction-actions{bottom:-18px;gap:8px}.construction-actions button{font-size:11px}.construction-counts th,.construction-counts td{padding:6px 4px;font-size:10px}}
/* Repertoire uses the shared, same-scale review layout. */
.font-repertoire-panel{min-width:0}.font-repertoire-panel>[data-repertoire="open"]{font-size:11px;padding:8px 0;text-align:left}.repertoire-inventory{overflow-wrap:anywhere}.construction-actions [data-repertoire="apply"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
/* Production inventory is a read-only table, separate from source reviews. */
.glyph-inventory-workspace{min-width:0;margin:20px 0}.glyph-inventory-panel{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:14px 16px}.glyph-inventory-heading{font-size:13px;font-weight:600;cursor:pointer}.glyph-inventory-panel p{font-size:11px;line-height:1.6;color:var(--muted)}.glyph-inventory-panel label{display:block;font-size:11px;margin:12px 0}.glyph-inventory-panel input{display:block;width:100%;min-width:0;margin-top:7px;padding:9px 11px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink)}.glyph-inventory-scroll{max-width:100%;max-height:310px;overflow:auto;border:1px solid var(--line);border-radius:5px}.glyph-inventory-table{width:100%;min-width:570px;border-collapse:collapse;font-size:11px}.glyph-inventory-table th,.glyph-inventory-table td{text-align:left;vertical-align:top;padding:8px 10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.glyph-inventory-table th{position:sticky;top:0;background:var(--surface);font-weight:600}.glyph-inventory-table td:nth-child(1),.glyph-inventory-table td:nth-child(3){font-family:var(--mono)}.glyph-inventory-table td:nth-child(2){font-size:16px}.glyph-inventory-status:empty{display:none}
.glyph-review-panel{border-top:1px solid var(--line);padding:13px 18px;background:var(--surface);min-width:0}.glyph-review-selected{font-size:12px;font-weight:600;margin:0 0 7px}.glyph-review-panel .editor-note{font-size:10px;line-height:1.5;margin:5px 0;overflow-wrap:anywhere}.glyph-review-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.glyph-review-actions button{font-size:11px;padding:8px 10px;border:1px solid var(--line);border-radius:5px}.glyph-review-actions button:disabled{opacity:.45;cursor:default}.glyph-review-result:empty{display:none}
/* Static proof samples and shared historical annotations. */
.proof-review-panel{min-width:0;padding:16px 20px;border-bottom:1px solid var(--line);background:var(--surface)}.proof-review-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.proof-review-label{display:block;font-size:11px;min-width:170px;flex:1}.proof-review-select{display:block;width:100%;margin-top:7px;padding:9px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink)}.proof-review-panel p{font-size:11px;line-height:1.6;margin:8px 0;overflow-wrap:anywhere}.proof-review-status,.proof-review-match,.proof-review-scope{color:var(--muted)}.proof-review-saved{padding:10px 12px;margin-top:12px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.proof-review-saved-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;overflow:auto;font-family:var(--mono);font-size:11px}.proof-review-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.proof-review-actions button{font-size:11px;padding:9px 11px;border:1px solid var(--line);border-radius:5px}.proof-review-actions button:disabled{opacity:.45;cursor:default}.proof-review-result:empty{display:none}

/* The proof uses its loaded static font, without browser-synthesized faces. */
#proof-text,#proof-alphabet{font-synthesis:none;font-style:normal;font-weight:400}

.export-review-button{width:100%;border:1px solid var(--line);margin:0 0 9px}.export-review-button:hover:not(:disabled){background:var(--soft-blue)}
[data-export-review="sample"]{font-synthesis:none;font-style:normal;font-weight:400}

/* Saved-font library: explicit reviews, bounded lists, and source-only snapshots. */
.font-project-library-panel { margin-top: 12px; }
.font-project-library-panel > .text-button { width: 100%; justify-content: center; }
.font-project-library-panel > .construction-scope { margin: 9px 0 0; overflow-wrap: anywhere; }
.font-project-library-panel > .construction-status:empty { display: none; }
.project-library-dialog { width: min(820px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; }
.project-library-filters { flex-wrap: wrap; gap: 8px; }
.project-library-filters [aria-pressed="true"] { color: var(--ink, #252821); background: #e5e9df; border-radius: 6px; }
.project-library-rows, .project-library-milestones { list-style: none; margin: 12px 0 20px; padding: 0; display: grid; gap: 8px; }
.project-library-row { padding: 10px 12px; border: 1px solid var(--border, #e2e2da); border-radius: 8px; min-width: 0; }
.project-library-row .text-button { text-align: left; white-space: normal; overflow-wrap: anywhere; max-width: 100%; }
.project-library-row .construction-scope { margin: 3px 0 0; overflow-wrap: anywhere; }
.project-library-details, .project-library-review, .project-library-inspection { min-width: 0; overflow-wrap: anywhere; }
.project-library-details > h3 { margin-top: 18px; }
.project-library-details .foundation-actions { flex-wrap: wrap; gap: 8px; }
.project-library-details [data-library="name"] { width: 100%; box-sizing: border-box; margin: 6px 0; }
.project-library-review .foundation-actions { flex-wrap: wrap; gap: 8px; }
.project-library-dialog button:focus-visible, .project-library-dialog input:focus-visible { outline: 2px solid var(--accent, #477153); outline-offset: 3px; }
@media (max-width: 560px) {
  .project-library-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); padding: 18px; box-sizing: border-box; }
  .project-library-filters, .project-library-details .foundation-actions, .project-library-review .foundation-actions { align-items: stretch; }
  .project-library-dialog .text-button { white-space: normal; overflow-wrap: anywhere; }
}

/* Read-only MAIN comparison: one common type scale, individually checked rows. */
#weight-comparison-root > .text-button { margin: 12px 20px; text-align: left; white-space: normal; }
.weight-comparison-dialog { width: min(960px, calc(100vw - 32px)); box-sizing: border-box; }
.weight-comparison-dialog p { overflow-wrap: anywhere; }
.weight-comparison-rows { display: grid; gap: 14px; margin: 18px 0; }
.weight-comparison-row { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
.weight-comparison-row > h3 { margin: 0 0 8px; }
.weight-comparison-row p { margin: 7px 0; }
.weight-comparison-row .weight-comparison-sample { margin: 15px 0 8px; padding: 10px 0; min-width: 0; color: var(--ink); }
.weight-comparison-missing { font-size: 12px; line-height: 1.6; padding-left: 22px; }
.weight-comparison-requested { font-family: var(--mono); font-size: 12px; line-height: 1.6; max-height: 140px; overflow: auto; padding: 10px; border: 1px solid var(--line); border-radius: 5px; }
.weight-comparison-dialog :focus-visible, #open-weight-comparison:focus-visible { outline: 2px solid var(--accent, #477153); outline-offset: 3px; }
.weight-comparison-dialog button { white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 560px) {
  .weight-comparison-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); padding: 16px; }
  .weight-comparison-row { padding: 12px; }
  .weight-comparison-dialog .construction-actions { bottom: -16px; }
}

.creation-recovery{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:#f9eede;border-bottom:1px solid #e2cbab;font-size:12px;line-height:1.6;color:#705530}.creation-recovery[hidden]{display:none}.creation-recovery p{margin:0;overflow-wrap:anywhere}.creation-recovery button{flex-shrink:0}.project-duplicate-fields input[aria-invalid="true"]{border-color:#a74d32}.project-library-review .project-duplicate-fields p{margin-bottom:12px}@media(max-width:720px){.creation-recovery{flex-wrap:wrap;padding:12px 14px}}

/* Saved Core catalog: scoped controls preserve the existing export form. */
.style-catalog-row-actions input[type="checkbox"] { width: 14px; flex: 0 0 14px; margin: 0; padding: 0; }
.style-catalog-row-actions .foundation-label { display: flex; align-items: center; gap: 6px; }
.font-style-catalog-panel [data-style-catalog="open"] { font-size: 11px; padding: 8px; text-align: left; }
.style-catalog-row h3 { overflow-wrap: anywhere; }
.style-catalog-dialog select:focus-visible { outline: 2px solid var(--blue, #2563eb); outline-offset: 3px; }

.project-backup-opener{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:12px;text-align:left;white-space:normal}.project-backup-opener svg{width:16px;height:16px;flex-shrink:0}.project-backup-dialog{width:min(760px,calc(100vw - 32px))}.project-backup-dialog button:focus-visible{outline:2px solid var(--blue,#2563eb);outline-offset:3px}

.project-restore-opener{display:block;width:100%;text-align:left;margin-top:12px;white-space:normal}.project-restore-dialog{width:min(760px,calc(100vw - 32px))}.project-restore-dialog [data-restore="compatibility"],.project-restore-dialog [data-restore="copy-warning"]{padding:12px;border:1px solid #e8c790;border-radius:6px;background:#fff3df;color:var(--ink)}.restore-copy-acknowledgement{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6}.restore-copy-acknowledgement input{width:auto;margin-top:4px;flex-shrink:0}.project-restore-dialog button:focus-visible,.project-restore-dialog input:focus-visible{outline:2px solid var(--blue,#2563eb);outline-offset:3px}

/* Shared source editor: bounded viewport, exact source displayed in a text editor. */
.feature-source-panel { width: min(760px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); overflow: auto; padding: 28px; }
.feature-source-panel::backdrop { background: rgb(20 30 45 / .42); }
.feature-source-panel h2 { margin: 0 0 14px; }
.feature-source-panel p { line-height: 1.5; }
.feature-source-panel label { display: block; font-weight: 600; margin: 18px 0 8px; }
.feature-source-draft { display: block; box-sizing: border-box; width: 100%; min-height: 230px; resize: vertical; white-space: pre; font: 13px/1.55 ui-monospace, SFMono-Regular, Consolas, monospace; tab-size: 2; }
.feature-source-draft:read-only { background: #f1f2f4; }
.feature-source-context, .feature-source-declarations { font-size: 13px; }
.feature-source-state, .feature-source-result { overflow-wrap: anywhere; }
.feature-source-actions { display: flex; flex-wrap: wrap; gap: 12px 20px; margin: 20px 0; }
.feature-source-actions button:focus-visible, .feature-source-draft:focus-visible { outline: 2px solid #396bed; outline-offset: 3px; }
#feature-recovery-note { flex-basis: 100%; }
@media (max-width: 600px) { .feature-source-panel { padding: 18px; } .feature-source-actions { gap: 14px; } }

/* Exact master sources stay visibly separate from named output weights. */
.weight-master-workspace { margin: 0 0 18px; padding: 16px; border: 1px solid var(--line, #d8d6cf); border-radius: 12px; background: var(--paper, #faf9f5); }
.weight-master-workspace .font-construction-panel { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(160px, 1fr); gap: 9px 16px; }
.weight-master-workspace h3, .weight-master-workspace p { grid-column: 1 / -1; margin: 0; }
.weight-master-workspace select { width: 100%; min-height: 36px; }
.weight-master-workspace button { justify-self: start; }
.weight-master-export-dialog { max-width: min(640px, calc(100vw - 32px)); padding: 26px; border: 1px solid #d8d6cf; border-radius: 16px; }
.weight-master-export-dialog p { line-height: 1.6; }
.weight-master-export-dialog .dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; margin-top: 24px; }
#master-export-error { color: #963a30; }
@media (max-width: 760px) { .weight-master-workspace .font-construction-panel { grid-template-columns: 1fr; } }

.weight-master-review-dialog > label { display: block; margin-top: 14px; font-size: 12px; }
.weight-master-review-dialog > select { width: 100%; padding: 10px; margin: 7px 0 18px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); }
.weight-master-review-comparison { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; margin: 18px 0; }
.weight-master-review-pane { min-width: 0; border: 1px solid var(--line); border-radius: 8px; padding: 14px; background: var(--paper); }
.weight-master-review-pane svg { width: 100%; height: 240px; color: var(--ink); }
@media (max-width: 600px) { .weight-master-review-comparison { grid-template-columns: 1fr; } .weight-master-review-pane svg { height: 180px; } }

/* Read-only fixed-profile variable output review. */
.variable-font-dialog { width: min(820px, calc(100vw - 32px)); box-sizing: border-box; }
.variable-font-dialog p, .variable-font-dialog dd { overflow-wrap: anywhere; }
.variable-font-requested { font-family: var(--mono); font-size: 12px; line-height: 1.6; padding: 10px; border: 1px solid var(--line); border-radius: 5px; }
.variable-font-sample { min-width: 0; padding: 12px 0; color: var(--ink); }
.variable-font-slider:not([hidden]) { display: grid; grid-template-columns: auto minmax(0, 1fr) 3ch; align-items: center; gap: 10px; }
.variable-font-slider input { width: 100%; min-width: 0; }
.variable-font-slider > p { grid-column: 1 / -1; }
.variable-font-missing { font-size: 12px; line-height: 1.6; padding-left: 22px; }
.variable-font-dialog button { white-space: normal; overflow-wrap: anywhere; }
.variable-font-dialog :focus-visible, #review-variable-font:focus-visible { outline: 2px solid var(--accent, #477153); outline-offset: 3px; }
@media (max-width: 700px) {
  .variable-font-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); padding: 16px; }
  .variable-font-dialog .construction-actions { bottom: -16px; }
}

/* Verified account foundation: compact header control and an explicit Access exit. */
.header-actions{display:flex;align-items:center;gap:14px;min-width:0}.account-opener{max-width:220px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:11px;padding:10px 2px;text-decoration:underline;text-underline-offset:3px}.account-notice{padding:20px 28px;background:var(--soft-blue,#edf0ff);font-size:12px;line-height:1.6}.account-notice p{margin:0 0 8px}.account-notice button{margin-right:18px}.account-dialog{width:500px}.account-dialog #account-email{font-family:var(--mono);overflow-wrap:anywhere;font-size:12px;margin-bottom:8px}.account-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.account-actions .text-button{font-size:12px;padding:8px 0}.account-sign-out-review{margin-top:18px;padding-top:5px;border-top:1px solid var(--line)}.account-sign-out-review p{margin:12px 0}.account-opener:focus-visible,.account-dialog :focus-visible,.account-notice button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.account-dialog h2:focus{outline:none}
.header-actions{flex-wrap:wrap;justify-content:flex-end}.owner-management-nav{margin-top:18px;padding-top:10px;border-top:1px solid var(--line)}.owner-management-nav button[aria-expanded="true"]{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1180px){.header-center{display:none}}@media(max-width:720px){.app-header{height:auto;min-height:70px;flex-wrap:wrap;gap:8px 14px;padding-top:12px;padding-bottom:12px}.header-actions{gap:8px;margin-left:auto;max-width:100%}.account-opener{max-width:110px;font-size:10px}.account-notice{padding:16px}.account-dialog{padding:22px}}

/* Pending asynchronous callbacks cannot reveal a dialog during revalidation. */
.account-not-ready dialog:not(#account-dialog){display:none!important}
.account-not-ready #account-profile,.account-not-ready #owner-operations,.account-not-ready #account-sign-out-review{display:none!important}
.account-not-ready #owner-management-open,.account-not-ready #owner-management-nav{display:none!important}
.customer-admission{margin:18px 0;padding:18px;background:var(--soft-blue,#edf0ff);border:1px solid var(--line);border-radius:8px}.customer-admission h3{margin:0;font-size:18px}.customer-admission p{font-size:12px;line-height:1.6}.customer-admission .small-note{font-size:11px}.customer-admission .account-actions{gap:12px}.customer-admission [role=status]{font-weight:500}.customer-admission .button{white-space:normal;text-align:left}#customer-library-note{line-height:1.6}
.account-sign-in{display:inline-block;font-size:12px;padding:8px 0;text-decoration:underline;text-underline-offset:3px}.account-sign-in[hidden]{display:none}.account-notice .account-sign-in{margin-right:18px}.account-sign-in:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.account-dialog{max-height:calc(100vh - 48px);overflow-y:auto}.account-profile{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.account-profile h3{font-size:17px;margin:0}.account-profile label{display:block;margin:16px 0 7px;font-size:12px}.account-profile input{width:100%;box-sizing:border-box}.account-profile .small-note{line-height:1.6}.getting-started-steps{padding-left:22px;margin:18px 0}.getting-started-steps li{padding:0 0 15px 5px;font-size:12px;line-height:1.5}.getting-started-steps li p{margin:6px 0}.getting-started-steps li .small-note{display:block}.getting-started-steps li button{display:block;padding:7px 0;font-size:12px}
.account-dialog.has-operations{width:850px;max-height:calc(100vh - 48px);overflow-y:auto}
.owner-operations{margin-top:20px;border-top:1px solid var(--line);padding-top:18px;font-size:12px;line-height:1.5}
.operations-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.operations-heading h3{margin:0;font-size:18px}.operations-heading .text-button{font-size:12px;padding:8px 0}
.owner-operations .operations-note,.owner-operations .operations-as-of{font-size:11px;line-height:1.6;margin:8px 0;color:var(--muted)}.owner-operations .operations-status{font-size:12px;line-height:1.6;margin:8px 0;color:var(--ink)}
.operations-section{padding:16px 0;border-top:1px solid var(--line);margin-top:16px}.operations-section h4{font-size:14px;margin:0 0 8px}.operations-section h5{font-size:11px;margin:12px 0 8px}
.operations-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;margin:12px 0}.operations-metrics div{min-width:0}.operations-metrics dt{color:var(--muted);font-size:10px}.operations-metrics dd{font-family:var(--mono);font-size:12px;margin:3px 0 0;overflow-wrap:anywhere}
.operations-recent{list-style:none;padding:0;margin:0}.operations-recent li{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;border-top:1px solid var(--line);padding:8px 0;overflow-wrap:anywhere}.operations-recent strong{font-weight:500}.operations-recent span{font-size:10px;color:var(--muted)}
.operations-budgets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.operations-budget{padding:12px;border:1px solid var(--line);border-radius:5px}.operations-budget h5{margin:0 0 10px}.operations-budget .operations-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-operations .operations-provider{font-size:12px;line-height:1.6;margin:14px 0 8px;overflow-wrap:anywhere}
.operations-table{overflow-x:auto}.operations-table table{border-collapse:collapse;width:100%;font-size:10px;text-align:left}.operations-table caption{text-align:left;padding:10px 0;color:var(--muted)}.operations-table th,.operations-table td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}.operations-table th{font-weight:500}.operations-table td{font-family:var(--mono);font-variant-numeric:tabular-nums}.operations-table thead th{color:var(--muted)}
@media(max-width:540px){.account-dialog.has-operations{padding:20px;max-height:calc(100vh - 24px)}.operations-budgets{grid-template-columns:1fr}.operations-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-table table{min-width:430px}}
/* Typed proposals keep recovery reachable even when production Send is off. */
.typed-check-request, .typed-proposal-link, #chat-load-earlier { margin-top: .65rem; text-align: left; }
.availability-label { overflow-wrap: anywhere; }
.proposal-changes li > p { overflow-wrap: anywhere; }
#typed-uncertain-history { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.typed-uncertain-request { padding: .7rem 0; }
.typed-uncertain-request p { margin: .35rem 0; overflow-wrap: anywhere; }
.typed-uncertain-key { font-family: var(--mono); font-size: 10px; }
.typed-uncertain-request .text-button { margin-top: .35rem; text-align: left; }
.agent-mode { display: flex; align-items: center; gap: .5rem; font-size: 11px; margin-bottom: .7rem; }
.agent-mode input { accent-color: var(--blue); }
.glyph-agent-progress { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.glyph-agent-progress p, .glyph-agent-steps li { overflow-wrap: anywhere; }
.glyph-agent-steps { padding-left: 1.2rem; font-size: 10px; line-height: 1.6; }
.glyph-agent-actions { display: flex; flex-wrap: wrap; gap: .6rem 1rem; }
.glyph-agent-actions button { font-size: 10px; text-align: left; }
.glyph-agent-checkpoint { margin: .8rem 0; padding: .7rem; border: 1px solid var(--line); border-radius: 5px; }
.glyph-agent-checkpoint h4 { font-size: 11px; margin: 0 0 .5rem; }
.glyph-agent-images { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.glyph-agent-images figure { min-width: 0; margin: 0; }
.glyph-agent-images img { display: block; width: 100%; aspect-ratio: 1; background: white; }
.glyph-agent-images figcaption { font-family: var(--mono); font-size: 9px; margin-top: .3rem; }
.glyph-agent-progress :focus-visible, .agent-mode input:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }

/* Local one-letter image preparation: no original is persisted or uploaded. */
.reference-image-dialog { width: min(840px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; }
.reference-image-dialog > p { line-height: 1.55; }
.reference-image-target { font-weight: 600; }
.reference-image-target-field { display: grid; gap: 6px; max-width: 360px; }
.reference-image-target-field select { padding: 9px 12px; width: 100%; }
.reference-image-previews { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-block: 20px; }
.reference-image-previews[hidden] { display: none; }
.reference-image-previews figure { margin: 0; min-width: 0; }
.reference-image-previews figcaption { font-size: 13px; font-weight: 600; margin-bottom: 10px; }
.reference-image-previews canvas, .reference-image-previews img { display: block; width: 100%; height: 240px; object-fit: contain; background: #fff; border: 1px solid var(--border, #ddd); border-radius: 8px; }
.reference-image-previews img[hidden] { display: none; }
.reference-image-bounds { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 16px 0; padding: 12px; border: 1px solid var(--border, #ddd); border-radius: 8px; }
.reference-image-bounds legend { padding-inline: 6px; font-size: 13px; }
.reference-image-bounds label { display: grid; gap: 6px; font-size: 13px; }
.reference-image-bounds input { min-width: 0; width: 100%; padding: 8px; }
.reference-image-confirm { display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; }
.reference-image-confirm input { width: auto; flex: 0 0 auto; margin-top: 5px; }
.reference-refinement { margin-top: 12px; border-top: 1px solid var(--border, #ddd); padding-top: 12px; }
.reference-image-dialog button:focus-visible, .reference-image-dialog input:focus-visible, .reference-image-dialog select:focus-visible { outline: 3px solid #175ce5; outline-offset: 3px; }
@media (max-width: 620px) { .reference-image-previews { grid-template-columns: 1fr; } .reference-image-bounds { grid-template-columns: 1fr 1fr; } }

/* Precise saved/fit values sit next to the existing integer width control. */
.fit-advance-note { padding: 0 15px 12px; background: #fbfbf6; font-size: 10px; line-height: 1.5; color: var(--muted); }
.fit-advance-note p + p { margin-top: 5px; }
#fit-advance-result { color: var(--ink); overflow-wrap: anywhere; }

/* Handwriting collection with separately consented, bounded page analysis. */
.handwriting-dialog { width: min(1000px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; }
.handwriting-dialog > p, .handwriting-dialog section p { line-height: 1.55; }
.handwriting-dialog section { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--line); }
.handwriting-dialog h3 { font-size: 17px; margin: 0 0 14px; }
.handwriting-storage-note { padding: 12px; background: var(--soft-blue, #edf0ff); border-radius: 7px; }
.handwriting-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 12px 0; }
.handwriting-actions .text-button { font-size: 12px; text-align: left; }
.handwriting-source { touch-action: none; cursor: crosshair; }
.handwriting-dialog .reference-image-previews canvas { height: 350px; padding: 0; border: 0; outline: 1px solid var(--line); }
.handwriting-inventory { display: flex; gap: 6px; flex-wrap: wrap; max-height: 190px; overflow-y: auto; margin: 14px 0; padding: 3px; }
.handwriting-character { min-width: 46px; border: 1px solid var(--line); border-radius: 5px; padding: 7px; background: white; font-size: 13px; }
.handwriting-character.has-sample { background: var(--soft-blue, #edf0ff); }
.handwriting-character[aria-pressed="true"] { border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue); }
.handwriting-samples { list-style: none; margin: 14px 0; padding: 0; max-height: 300px; overflow-y: auto; }
.handwriting-samples li { border-top: 1px solid var(--line); padding: 12px 0; display: flex; justify-content: space-between; gap: 14px; }
.handwriting-samples li > div { min-width: 0; } .handwriting-samples li p { margin: 5px 0 0; }
.handwriting-samples strong { font-size: 13px; } .handwriting-samples .handwriting-actions { flex-shrink: 0; margin: 0; }
.handwriting-selected { display: grid; grid-template-columns: minmax(120px, 220px) 1fr; gap: 20px; margin-top: 14px; }
.handwriting-selected[hidden] { display: none; }.handwriting-selected img { width: 100%; height: 180px; object-fit: contain; background: white; border: 1px solid var(--line); }
.handwriting-import-review { padding: 14px; border: 1px solid var(--line); border-radius: 7px; background: var(--soft-blue, #edf0ff); }
.handwriting-import-review[hidden] { display: none; }
.handwriting-import-review h4 { margin: 0 0 10px; font-size: 15px; }
.handwriting-import-review p { overflow-wrap: anywhere; }
.handwriting-analysis-page { display: block; max-width: 100%; max-height: 520px; object-fit: contain; background: white; border: 1px solid var(--line); }
.handwriting-detection-list { padding-left: 24px; }
.handwriting-detection-list > li { padding: 16px; margin: 14px 0; border: 1px solid var(--line); border-radius: 7px; }
.handwriting-detection-list h4 { margin: 0 0 12px; }
.handwriting-detection-crop { display: block; width: 100%; max-width: 320px; height: 160px; object-fit: contain; background: white; border: 1px solid var(--line); }
.handwriting-dialog :focus-visible { outline: 3px solid #175ce5; outline-offset: 3px; }
.advance-width-line { vector-effect: non-scaling-stroke; pointer-events: none; }
.advance-width-line.is-selected { stroke: var(--blue); stroke-width: 2; stroke-dasharray: none; }
#advance-width-label { pointer-events: none; }
.advance-width-guide { fill: none; stroke: transparent; stroke-width: 14; vector-effect: non-scaling-stroke; cursor: ew-resize; outline: none; }
.advance-width-guide:focus-visible { stroke: #3049dd33; }
.advance-width-guide[aria-disabled="true"] { cursor: not-allowed; }
@media (max-width: 620px) { .handwriting-dialog { padding: 20px; } .handwriting-dialog .reference-image-previews canvas { height: 300px; } .handwriting-selected { grid-template-columns: 1fr; } .handwriting-samples li { flex-direction: column; } }

/* Read-only workspace directory; independent from the Operations panel state. */
.account-dialog.has-owner-accounts{width:850px;max-height:calc(100vh - 48px);overflow-y:auto}
.account-not-ready #owner-accounts{display:none!important}
.owner-accounts{margin-top:20px;border-top:1px solid var(--line);padding-top:18px;font-size:12px;line-height:1.5}
.owner-accounts-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.owner-accounts-heading h3{margin:0;font-size:18px}.owner-accounts .text-button{font-size:12px;padding:8px 0}
.owner-accounts .owner-accounts-note,.owner-accounts .owner-accounts-as-of{font-size:11px;line-height:1.6;margin:8px 0;color:var(--muted)}.owner-accounts .owner-accounts-status{font-size:12px;line-height:1.6;margin:8px 0;color:var(--ink)}
.owner-accounts-section{padding:16px 0;border-top:1px solid var(--line);margin-top:16px}.owner-accounts-section h4{font-size:14px;margin:0 0 8px}.owner-accounts-section h5{font-size:12px;margin:12px 0 8px;overflow-wrap:anywhere}
.owner-accounts-list{list-style:none;padding:0;margin:14px 0}.owner-account-card{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding:14px 0}.owner-account-card h5{margin:0 0 7px}.owner-account-summary{min-width:0}.owner-account-card>.text-button{flex-shrink:0}.owner-accounts .owner-account-reference{font-family:var(--mono);font-size:10px;overflow-wrap:anywhere;margin:7px 0}.owner-accounts-empty{padding:12px 0}
.owner-accounts-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;margin:12px 0}.owner-accounts-metrics div{min-width:0}.owner-accounts-metrics dt{color:var(--muted);font-size:10px}.owner-accounts-metrics dd{font-family:var(--mono);font-size:12px;margin:3px 0 0;overflow-wrap:anywhere}
.owner-accounts-costs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.owner-accounts-cost{padding:12px;border:1px solid var(--line);border-radius:5px}.owner-accounts-cost h5{margin:0 0 10px}.owner-accounts-cost .owner-accounts-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.owner-accounts-table{overflow-x:auto}.owner-accounts-table table{border-collapse:collapse;width:100%;font-size:10px;text-align:left}.owner-accounts-table caption{text-align:left;padding:10px 0;color:var(--muted)}.owner-accounts-table th,.owner-accounts-table td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}.owner-accounts-table th{font-weight:500}.owner-accounts-table td{font-family:var(--mono);font-variant-numeric:tabular-nums}.owner-accounts-table thead th{color:var(--muted)}
@media(max-width:540px){.account-dialog.has-owner-accounts{padding:20px;max-height:calc(100vh - 24px)}.owner-accounts-costs{grid-template-columns:1fr}.owner-accounts-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-account-card{align-items:flex-start;flex-direction:column;gap:2px}.owner-accounts-table table{min-width:430px}}
.billing-observations .billing-observations-note{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0}.billing-observations-status{font-size:12px;line-height:1.6;margin:8px 0}.billing-observations-reference{font-family:var(--mono);font-size:10px;overflow-wrap:anywhere;margin:8px 0}.billing-observations-list{list-style:none;margin:14px 0;padding:0}.billing-observations-entry{padding:12px;border:1px solid var(--line);border-radius:5px;margin:12px 0}.billing-observations-entry h5{margin:0 0 10px}.billing-observations [hidden]{display:none!important}
.invoice-observations .invoice-observations-note{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0}.invoice-observations-status{font-size:12px;line-height:1.6;margin:8px 0}.invoice-observations-reference{font-family:var(--mono);font-size:10px;overflow-wrap:anywhere;margin:8px 0}.invoice-observations-list{list-style:none;margin:14px 0;padding:0}.invoice-observations-entry{padding:12px;border:1px solid var(--line);border-radius:5px;margin:12px 0}.invoice-observations-entry h5{margin:0 0 10px}.invoice-observations-amount{font-family:var(--mono);font-size:11px;overflow-wrap:anywhere;margin:8px 0}.invoice-observations-currencies{font-size:11px;line-height:1.6;padding-left:18px}.invoice-observations [hidden]{display:none!important}
.ai-attempt-history{min-width:0}.ai-attempt-history .ai-attempt-history-note{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0;overflow-wrap:anywhere}.ai-attempt-history .ai-attempt-history-status{font-size:12px;line-height:1.6;margin:8px 0}.ai-attempt-history .ai-attempt-history-controls{display:flex;flex-wrap:wrap;gap:8px 24px}.ai-attempt-history .ai-attempt-history-reference{font-family:var(--mono);font-size:10px;overflow-wrap:anywhere;margin:8px 0}.ai-attempt-history .ai-attempt-history-list{list-style:none;margin:14px 0;padding:0}.ai-attempt-history .ai-attempt-history-entry{padding:12px;border:1px solid var(--line);border-radius:5px;margin:12px 0;min-width:0}.ai-attempt-history .ai-attempt-history-entry h5{margin:0 0 10px}.ai-attempt-history .ai-attempt-history-amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}.ai-attempt-history .ai-attempt-history-amounts div{min-width:0}.ai-attempt-history .ai-attempt-history-amounts dt{font-size:10px;color:var(--muted)}.ai-attempt-history .ai-attempt-history-amounts dd,.ai-attempt-history .ai-attempt-history-liability{font-family:var(--mono);font-size:11px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:4px 0}.ai-attempt-history [hidden]{display:none!important}@media(max-width:540px){.ai-attempt-history .ai-attempt-history-amounts{grid-template-columns:1fr}}
.subscription-status-controls{display:flex;flex-wrap:wrap;gap:8px 24px}.subscription-status .subscription-status-note{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0}.subscription-status-message{font-size:12px;line-height:1.6;margin:8px 0}.subscription-status-reference{font-family:var(--mono);font-size:10px;overflow-wrap:anywhere;margin:8px 0}.subscription-status-history{padding:12px;border:1px solid var(--line);border-radius:5px;margin:12px 0}.subscription-status-history h5{margin:0 0 10px}.subscription-status-items{padding-left:18px;margin:10px 0}.subscription-status [hidden]{display:none!important}

/* M129: original owner administration layout, inspired by a light dashboard.
   Personal Account and session recovery retain their compact dialog surface. */
#account-personal-content[hidden],#owner-management-content[hidden],.owner-management-nav[hidden],.owner-management-nav button[hidden]{display:none!important}
.management-brand,.management-nav-label,.management-nav-icon,.management-rail-note{display:none}
.account-dialog.is-management{--management-border:#e1e4eb;--management-muted:#616a7c;width:calc(100vw - 40px);max-width:1480px;height:calc(100vh - 40px);height:calc(100dvh - 40px);max-height:calc(100dvh - 40px);padding:0;overflow:hidden;border:1px solid #cdd2df;border-radius:12px;background:#f2f4f8;box-shadow:0 26px 100px #151b3540}
.account-dialog.is-management[open]{display:grid;grid-template-columns:232px minmax(0,1fr);align-items:stretch}
.is-management .owner-management-nav{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;min-width:0;min-height:0;margin:0;padding:25px 15px 20px;border:0;background:#242839;color:#eef0f8;overflow-y:auto}
.is-management .management-brand{display:flex;align-items:center;gap:11px;padding:2px 9px 29px;font-size:14px;font-weight:600;line-height:1.4;letter-spacing:-.2px}
.is-management .management-monogram{display:flex;align-items:center;justify-content:center;flex:none;width:38px;height:42px;border:1px solid #727995;border-radius:8px;color:#fff;font:27px var(--serif);letter-spacing:-2px;padding-right:3px}
.is-management .management-brand small{display:block;font-size:7px;letter-spacing:1.35px;font-weight:500;color:#bdc3d7;margin-top:4px}
.is-management .management-nav-label{display:block;margin:7px 11px 9px;color:#b0b7cf;font-size:9px;font-weight:600;letter-spacing:1.5px}
.is-management .owner-management-nav .text-button{display:flex;align-items:center;gap:11px;min-height:46px;padding:12px 13px;text-align:left;color:#dbe0ef;font-size:12px;font-weight:500;line-height:1.5;border-radius:7px;text-decoration:none}
.is-management .management-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;flex:none;font-size:21px;color:#aeb7d2;font-weight:400}
.is-management .owner-management-nav .text-button:hover{background:#343a50;color:#fff}
.is-management .owner-management-nav .text-button[aria-current="page"]{background:#535cda;color:#fff;box-shadow:0 3px 8px #13172c28}
.is-management .owner-management-nav .text-button[aria-current="page"] .management-nav-icon{color:#fff}
.is-management .owner-management-nav :focus-visible{outline-color:#c4cdff;outline-offset:2px}
.is-management .management-rail-note{display:block;margin-top:auto;padding:28px 12px 0;color:#e2e6f3;font-size:11px;line-height:1.6}
.is-management .management-rail-note p{margin:7px 0 0;color:#b6bdd1;font-size:10px;line-height:1.8}
.management-readonly-dot{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#93bea9}
#owner-management-content{min-width:0;min-height:0;display:flex;flex-direction:column}
.management-topbar{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:20px;min-height:96px;padding:20px 30px;background:#fff;border-bottom:1px solid var(--management-border)}
.management-topbar>div{min-width:0}.management-topbar .management-breadcrumb{margin:0 0 4px;color:#737c8d;font-size:10px;line-height:1.5}.management-breadcrumb span{padding:0 6px;color:#b0b6c5}
.management-topbar h2{margin:0;font-size:27px;line-height:1.2;letter-spacing:-.5px;color:#252a3a}
.management-topbar-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.management-topbar-actions .text-button{min-height:42px;padding:10px 0;font-size:11px;color:#505c75;text-decoration:underline;text-underline-offset:3px}
.management-return{display:flex;align-items:center;justify-content:center;gap:13px;min-height:42px;padding:11px 14px;border:1px solid #d9dfea;border-radius:6px;background:#f8f9fc;color:#30394e;font-size:11px;font-weight:550}
.management-return:hover{background:#edf0fa;border-color:#bbc5e0}.management-return span{font-size:17px;line-height:1}
.management-canvas{min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:25px 30px 35px;scrollbar-gutter:stable}
.is-management .owner-operations,.is-management .owner-accounts{margin:0;border:0;padding:0;min-width:0;color:#293144;line-height:1.6}
.is-management .operations-heading,.is-management .owner-accounts-heading{gap:16px;margin-bottom:4px}
.is-management .operations-heading h3,.is-management .owner-accounts-heading h3{font:600 15px/1.5 var(--sans);letter-spacing:-.1px}
.is-management .operations-heading>.text-button,.is-management .owner-accounts-heading>.text-button{min-height:38px;padding:8px 13px;border:1px solid #d5dbe7;border-radius:6px;background:#fff;color:#4653b8;font-size:11px;font-weight:550}
.is-management .operations-heading>.text-button:hover,.is-management .owner-accounts-heading>.text-button:hover{background:#f8f9ff;border-color:#aab5de}
.is-management .owner-operations .operations-note,.is-management .owner-accounts .owner-accounts-note{color:var(--management-muted);font-size:11px;line-height:1.7}
.is-management .operations-as-of,.is-management .owner-accounts-as-of{font:10px/1.7 var(--mono);color:#657087;overflow-wrap:anywhere}
.is-management .operations-status,.is-management .owner-accounts-status{margin:10px 0 20px;color:#59677f;font-size:11px}
.operations-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0 24px}
.operations-summary-card{min-width:0;padding:21px 18px 18px;background:#fff;border:1px solid #dfe3ec;border-top:3px solid #6775c7;border-radius:8px;box-shadow:0 2px 4px #26325104}
.operations-summary-card dl{margin:0}.operations-summary-card dt{font-size:11px;line-height:1.5;font-weight:550;color:#505c74}.operations-summary-card dd{margin:13px 0 18px;font:600 clamp(20px,2.05vw,30px)/1.2 var(--sans);letter-spacing:-.8px;font-variant-numeric:tabular-nums;color:#29334d;overflow-wrap:anywhere}
.operations-summary-card:nth-child(1){border-color:#525cce;background:#535dd4;color:#fff}.operations-summary-card:nth-child(1) dt,.operations-summary-card:nth-child(1) dd{color:#fff}.operations-summary-card:nth-child(1) .operations-summary-scope{color:#eef0ff}.operations-summary-card:nth-child(1) .operations-summary-note{color:#e0e4ff}
.operations-summary-card:nth-child(2){border-top-color:#729c8b}.operations-summary-card:nth-child(3){border-top-color:#c3a169}.operations-summary-card:nth-child(4){border-top-color:#7c87ae}
.operations-summary-card .operations-summary-scope{font-size:9px;font-weight:550;line-height:1.6;color:#58647b;margin:0 0 7px}.operations-summary-card .operations-summary-note{font-size:10px;line-height:1.6;color:#68738a;margin:0}.operations-summary-card.is-unavailable dd{font-size:23px;letter-spacing:-.4px}
.is-management .operations-section,.is-management .owner-accounts-section{min-width:0;margin:18px 0 0;padding:22px 24px;border:1px solid var(--management-border);border-radius:8px;background:#fff;box-shadow:0 2px 3px #24304d03}
.is-management .operations-section h4,.is-management .owner-accounts-section h4{font-size:14px;font-weight:600;color:#2b344a;margin:0 0 8px;overflow-wrap:anywhere}.is-management .operations-section h5,.is-management .owner-accounts-section h5{font-size:11px;font-weight:600;line-height:1.5;color:#44526d}
.is-management .operations-budgets,.is-management .owner-accounts-costs{gap:15px;margin-top:18px}.is-management .operations-budget,.is-management .owner-accounts-cost{padding:17px 18px;border-color:#e1e6ef;background:#f8f9fc;border-radius:6px}
.is-management .operations-metrics,.is-management .owner-accounts-metrics{gap:15px 20px}.is-management .operations-metrics dt,.is-management .owner-accounts-metrics dt{font-size:10px;color:#66728a}.is-management .operations-metrics dd,.is-management .owner-accounts-metrics dd{font-size:12px;line-height:1.6;color:#303d58}
.is-management .operations-recent{margin-top:14px}.is-management .operations-recent li{padding:13px 0;border-color:#e9ecf2;gap:6px 16px}.is-management .operations-recent strong{font-size:12px;color:#33405a}.is-management .operations-recent span{font-size:10px;color:#657188}
.is-management .operations-table,.is-management .owner-accounts-table{max-width:100%;margin-top:14px;border:1px solid #e1e6ee;border-radius:6px;background:#fff;overflow-x:auto;overscroll-behavior-x:contain}
.is-management .operations-table table,.is-management .owner-accounts-table table{font-size:11px;line-height:1.6}.is-management .operations-table caption,.is-management .owner-accounts-table caption{padding:12px 14px;font-size:10px;color:#67738a}.is-management .operations-table th,.is-management .operations-table td,.is-management .owner-accounts-table th,.is-management .owner-accounts-table td{padding:12px 14px;border-color:#e7ebf2}.is-management .operations-table thead,.is-management .owner-accounts-table thead{background:#f5f7fa}.is-management .operations-table thead th,.is-management .owner-accounts-table thead th{font-size:10px;font-weight:600;color:#637089}.is-management .operations-table tbody tr:last-child>*,.is-management .owner-accounts-table tbody tr:last-child>*{border-bottom:0}
.owner-accounts-directory{min-width:730px}.owner-accounts-directory .owner-account-card{display:table-row}.owner-accounts-directory .owner-account-card:hover{background:#f8f9fd}.owner-accounts-directory .owner-account-summary{width:32%;min-width:210px;font-weight:400}.owner-account-name{display:block;font-size:12px;font-weight:600;color:#36435e;line-height:1.5}.owner-accounts-directory .owner-account-reference{display:block;max-width:290px;margin:7px 0 0;overflow-wrap:anywhere;color:#748097;font-size:9px;font-weight:400;line-height:1.7}.owner-accounts-directory .owner-account-created{min-width:125px;font-size:10px;color:#637088}.owner-accounts-directory .owner-account-kind{display:block;font:11px/1.6 var(--sans);color:#526078}.owner-account-admission{display:inline-block;padding:5px 8px;border:1px solid #d9e6de;border-radius:5px;background:#edf5f0;color:#456451;font:10px/1.5 var(--sans)}.owner-account-admission.is-suspended{color:#8b662c;background:#fbf3e5;border-color:#eadcc5}.owner-account-admission.is-none{color:#657089;background:#f4f5f8;border-color:#e1e5ed}
.owner-accounts .owner-accounts-directory .text-button{min-width:88px;min-height:40px;padding:9px 10px;border:1px solid #d8dfed;border-radius:5px;background:#fff;color:#4452b7;font:550 11px/1.5 var(--sans);white-space:nowrap}.owner-accounts .owner-accounts-directory .text-button:hover{background:#eff2ff;border-color:#b5c0e9}
.owner-accounts-page-note{display:flex;align-items:center;gap:18px;margin:17px 0}.owner-accounts-page-count{flex:none;display:inline-block;padding:6px 9px;background:#f0f2f8;border-radius:5px;color:#51617c;font:550 10px/1.5 var(--sans)}.owner-accounts-page-note .owner-accounts-note{margin:0}
.owner-accounts .owner-accounts-mode-note{padding:11px 14px;border:1px solid #dce2f5;border-radius:6px;background:#f3f5fe;color:#4b5b91;font-size:11px;line-height:1.6;margin:14px 0}
.is-management [data-owner-accounts="back"],.is-management [data-owner-accounts="next"]{min-height:42px;padding:10px 14px;border:1px solid #d7deeb;border-radius:6px;background:#fff;color:#4654b6;font-size:11px}.is-management [data-owner-accounts="back"]{margin-top:2px}.is-management [data-owner-accounts="next"]{margin-top:16px}.is-management .owner-accounts-section .account-actions{gap:12px}.is-management .owner-accounts-section .text-button{min-height:40px}
.account-not-ready #owner-management-content{display:none!important}
@media(max-width:1180px){.account-dialog.is-management[open]{grid-template-columns:208px minmax(0,1fr)}.is-management .owner-management-nav{padding-inline:12px}.is-management .management-brand{font-size:12px;gap:9px;padding-inline:5px}.is-management .management-brand small{font-size:6px;letter-spacing:1px}.management-topbar{padding:19px 24px}.management-canvas{padding:22px 24px 30px}.operations-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-summary-card dd{font-size:29px}.is-management .operations-section,.is-management .owner-accounts-section{padding:20px}}
@media(max-width:800px){.account-dialog.is-management{width:calc(100vw - 24px);max-width:calc(100vw - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.account-dialog.is-management[open]{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.is-management .owner-management-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:12px;overflow:visible}.is-management .management-brand{grid-column:1/-1;padding:0 4px 8px;font-size:13px}.is-management .management-brand small{display:none}.is-management .management-monogram{width:28px;height:30px;font-size:21px;border-radius:5px}.is-management .management-nav-label,.is-management .management-rail-note{display:none}.is-management .owner-management-nav .text-button{display:flex;justify-content:center;gap:7px;min-height:44px;padding:8px 6px;text-align:center;font-size:10px}.is-management .management-nav-icon{width:16px;font-size:17px}.management-topbar{min-height:84px;padding:16px 20px;gap:14px}.management-topbar h2{font-size:25px}.management-topbar-actions{gap:10px}.management-topbar-actions .text-button{font-size:10px}.management-return{font-size:10px;padding:10px}.management-canvas{padding:19px 20px 26px}.is-management .operations-section,.is-management .owner-accounts-section{padding:18px}.owner-accounts-page-note{align-items:flex-start;gap:12px}}
@media(max-width:540px){.account-dialog.is-management{width:calc(100vw - 12px);max-width:calc(100vw - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);border-radius:8px;padding:0}.is-management .owner-management-nav{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:4px}.is-management .management-brand{padding-bottom:6px}.is-management .owner-management-nav .text-button{justify-content:flex-start;min-height:42px;padding:9px 10px;font-size:11px}.management-topbar{flex-wrap:wrap;align-items:flex-start;gap:10px;padding:15px 16px}.management-topbar h2{font-size:24px}.management-topbar-actions{width:100%;justify-content:space-between;gap:10px}.management-topbar-actions .text-button{min-height:36px;font-size:11px}.management-return{min-height:38px;font-size:11px}.management-canvas{padding:15px 14px 22px;scrollbar-gutter:auto}.operations-summary-grid{grid-template-columns:1fr;gap:12px;margin:16px 0}.operations-summary-card{padding:18px}.operations-summary-card dd{font-size:30px;margin:9px 0 12px}.operations-summary-card .operations-summary-scope{font-size:10px}.is-management .operations-section,.is-management .owner-accounts-section{padding:16px;margin-top:14px}.is-management .operations-budgets,.is-management .owner-accounts-costs{grid-template-columns:1fr;gap:12px}.is-management .operations-metrics,.is-management .owner-accounts-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.is-management .operations-budget,.is-management .owner-accounts-cost{padding:14px}.is-management .owner-accounts-directory{min-width:730px}.owner-accounts-page-note{flex-direction:column;gap:8px}.is-management .operations-table table{min-width:430px}.is-management .operations-status,.is-management .owner-accounts-status{margin-bottom:15px}}

/* Optional guide and customer credit summary share the editor's visual language. */
/* First-visit welcome floats above the existing workspace. */
.first-font-guide{box-sizing:border-box;width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto;padding:36px 44px 28px;border:1px solid var(--line);border-radius:20px;background:#fffef9;color:var(--ink);text-align:center;box-shadow:0 24px 100px #24231d33}
.first-font-guide::backdrop{background:rgba(34,36,31,.38);backdrop-filter:blur(4px)}
.first-font-guide[hidden]{display:none}
.first-font-eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--muted);margin:0 0 20px}
.first-font-specimen{font-family:Georgia,serif;font-size:82px;letter-spacing:-8px;line-height:1.2;width:132px;margin:0 auto 22px;padding-right:8px;color:#526045;background:#eef0e6;border-radius:50%}
.first-font-guide h2{font-family:Georgia,serif;font-weight:400;font-size:40px;line-height:1.12;letter-spacing:-1.2px;margin:0 auto 16px;max-width:350px}
.first-font-intro{font-size:14px;line-height:1.7;color:var(--muted);max-width:355px;margin:0 auto 24px}
.first-font-guide details{text-align:left;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:0 0 24px}
.first-font-guide summary{font-size:12px;font-weight:600;cursor:pointer}
.first-font-guide ol{padding-left:20px;margin:16px 0 0}.first-font-guide li{font-size:12px;line-height:1.5;margin:10px 0}.first-font-guide li strong{font-weight:500}.first-font-guide li span{display:block;font-size:11px;color:var(--muted)}.first-font-guide li .first-font-complete{color:#256547}
.first-font-actions{display:flex;flex-direction:column;align-items:stretch;gap:16px}.first-font-start{justify-content:center;min-height:46px}.first-font-actions .text-button{align-self:center;font-size:12px}
.first-font-note{font-size:11px;color:var(--muted);margin:22px 0 0}.first-font-status{font-size:11px;line-height:1.5;color:var(--muted);margin:10px 0 0}.first-font-status:empty{display:none}
.first-font-guide :focus-visible{outline:2px solid var(--blue);outline-offset:4px}.first-font-guide h2:focus{outline:none}
.customer-credit-status{margin:16px 32px;padding:16px 24px;border:1px solid var(--line);border-radius:12px;background:var(--paper,#fffef9);display:flex;align-items:center;justify-content:space-between;gap:16px}.customer-credit-status p{font-size:13px;line-height:1.6;margin:6px 0}.customer-credit-status[hidden]{display:none}
.subscription-table-scroll:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media(max-width:540px){.first-font-guide{padding:28px 24px 24px;max-height:calc(100dvh - 24px)}.first-font-guide h2{font-size:34px}.first-font-specimen{font-size:64px;width:106px;margin-bottom:18px}.customer-credit-status{margin:12px;padding:16px;align-items:flex-start;flex-direction:column}.header-actions{flex-wrap:wrap}}

/* The welcome becomes a non-modal companion while the editor stays usable. */
.first-font-guide.first-font-docked{position:fixed;inset:auto 20px 20px auto;margin:0;width:330px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);padding:22px;text-align:left;border-radius:14px;z-index:80;box-shadow:0 12px 45px #24231d26}
.first-font-docked .first-font-eyebrow,.first-font-docked .first-font-specimen,.first-font-docked .first-font-intro,.first-font-docked .first-font-note{display:none}
.first-font-docked h2{font-family:inherit;font-size:18px;font-weight:600;letter-spacing:-.3px;line-height:1.4;margin:0 90px 20px 0}
.first-font-minimize{position:absolute;top:23px;right:22px;font-size:11px}
.first-font-current{font-size:13px;line-height:1.6;margin:0 0 18px}.first-font-current strong,.first-font-current span{display:block}.first-font-current span{color:var(--muted);margin-top:5px;font-size:12px}
.first-font-docked details{margin-bottom:18px;padding:12px 0}.first-font-docked .first-font-actions{gap:12px}.first-font-docked .first-font-start{min-height:40px;font-size:12px}.first-font-docked .first-font-status{margin-top:14px}
.first-font-docked.first-font-minimized{width:260px;padding:16px 18px}.first-font-minimized h2{font-size:14px;margin:0 90px 0 0}.first-font-minimized .first-font-minimize{top:18px;right:18px}
.first-font-minimized .first-font-current,.first-font-minimized details,.first-font-minimized .first-font-actions,.first-font-minimized .first-font-status,.first-font-minimized>button:not(.first-font-minimize){display:none}
@media(max-width:540px){.first-font-guide.first-font-docked{right:12px;bottom:12px;width:300px;max-height:55dvh}.first-font-guide.first-font-minimized{width:260px}}

/* Browse instructions freely; only editor confirmations complete the checklist. */
.first-font-current h3{font-size:16px;line-height:1.4;font-weight:600;margin:8px 0 12px;letter-spacing:-.2px}
.first-font-current .first-font-step-count{font-size:10px;letter-spacing:.09em;font-weight:600;color:#526045;margin:0}
.first-font-current .first-font-instructions{padding-left:19px;margin:0}.first-font-instructions li{padding-left:3px;margin:0 0 10px;line-height:1.65;color:#4e514a}
.first-font-current .first-font-check{font-size:11px;line-height:1.6;color:var(--muted);background:#f1f3eb;border-radius:7px;padding:10px 12px;margin:14px 0 0}
.first-font-navigation{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px;gap:12px}.first-font-navigation[hidden]{display:none}.first-font-navigation button{min-height:32px;font-size:12px}.first-font-navigation button:disabled{opacity:.35;cursor:default}
.first-font-step{font:inherit;color:inherit;background:none;border:0;padding:5px 0;text-align:left;cursor:pointer;line-height:1.5}.first-font-step:hover{text-decoration:underline}.first-font-step[aria-current="step"]{font-weight:650;color:#526045}
.first-font-minimized .first-font-navigation{display:none}

/* A steady ring identifies the next real control without intercepting clicks. */
.first-font-target{outline:3px solid #4655d6!important;outline-offset:5px;box-shadow:0 0 0 9px #4655d624!important;scroll-margin:32px}
.first-font-cue{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;margin:0 0 12px;border:1px solid #d4d9f4;border-radius:8px;background:#f1f3ff;color:#3947ae;font-size:11px;line-height:1.5}
.first-font-cue[hidden],.first-font-minimized .first-font-cue{display:none}.first-font-cue .text-button{flex:none;font-size:11px;min-height:30px}.first-font-cue .text-button:disabled{display:none}
@media(min-width:700px){.first-font-guide.first-font-docked.first-font-avoid-target{left:20px;right:auto}}

/* Recovery is a task panel: readable status, distinct actions and visible exit. */
.recovery-dialog{width:620px;max-width:calc(100vw - 24px);max-height:calc(100vh - 32px);padding:24px;overflow-y:auto;font-family:var(--sans)}
.recovery-dialog .recovery-header{display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;top:-24px;background:var(--surface);padding:12px 0;z-index:1}
.recovery-dialog .recovery-header h2{font:600 22px/1.3 var(--sans);letter-spacing:0;margin:0}
.recovery-dialog h3{font:600 16px/1.4 var(--sans);margin:14px 0 8px}
.recovery-dialog p{font-size:13px;line-height:1.5;color:var(--ink);margin:8px 0}
.recovery-dialog .recovery-device,.recovery-dialog .recovery-cloud{padding:10px 12px;background:var(--paper);border:1px solid var(--line);border-radius:5px}
.recovery-dialog .recovery-summary[data-tone=error] .recovery-heading{color:#9b3024}
.recovery-dialog .recovery-summary>h3{padding:0;background:none;position:static}
.recovery-dialog .recovery-notice,.recovery-dialog .recovery-retry{font-size:12px;color:#595c52}
.recovery-dialog details{font-size:12px;margin:12px 0;overflow-wrap:anywhere}
.recovery-dialog details summary{cursor:pointer;padding:6px 0}
.recovery-dialog .account-actions{gap:8px;margin:14px 0;align-items:stretch}
.recovery-dialog .button{min-height:40px;font-size:12px;border-color:var(--line);white-space:normal;text-align:center}
.recovery-dialog .button-dark{border-color:var(--ink)}
.recovery-dialog label{font-size:12px;margin:14px 0 6px}
.recovery-dialog input[type=file]{font-size:12px;padding:8px}
@media(max-width:520px){.recovery-dialog{padding:16px}.recovery-dialog .recovery-header{top:-16px}.recovery-dialog .recovery-header h2{font-size:20px}.recovery-dialog .account-actions .button{flex:1 1 180px}}
