:root{--mono:ui-monospace,"SFMono-Regular",Consolas,monospace;--bg:#fbfaf7;--surface:#fffefa;--surface-2:#f7f6f2;--ink:#20201d;--soft:#494741;--muted:#6e6a61;--line:#e8e5df;--accent:#59167e;--accent-soft:#f1e9f5;--shadow:0 16px 48px #28201a12;color:var(--ink);background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Segoe UI",sans-serif}
:root[data-theme=dark]{--bg:#36313f;--surface:#16141b;--surface-2:#211e29;--ink:#f4f3f8;--soft:#dedbe7;--muted:#c1becb;--line:#373240;--accent:#a970c6;--accent-soft:#30203d;--shadow:0 16px 48px #0003;color-scheme:dark}
body{background:var(--bg);color:var(--ink)}a{color:var(--accent);text-decoration:none}button{min-height:34px;border-radius:8px;border-color:var(--line);background:var(--surface);color:var(--soft);transition:background .12s,box-shadow .12s,transform .12s}button:hover{background:var(--surface-2);border-color:#d4ced7}button:active{transform:translateY(1px)}button:disabled{opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover{background:color-mix(in srgb,var(--accent) 88%,black)}.danger{color:#b13535}.danger.solid{background:#a93232;color:#fff;border-color:#a93232}.subtle{color:var(--muted);font-size:12px;line-height:1.7}input,select{color:var(--ink);background:var(--surface);border-color:var(--line)}input[type=checkbox]{width:auto}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{letter-spacing:-.025em}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grow{flex:1;min-width:4px}[hidden]{display:none!important}summary{cursor:pointer;color:var(--soft);padding:8px;list-style:none}summary::-webkit-details-marker{display:none}.local-workspace-error:empty,.dialog-error:empty{display:none}.local-workspace-error,.dialog-error{color:#a73232;font-size:13px;padding:8px 16px;white-space:pre-wrap}
.product-shell{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100dvh}.product-nav{position:sticky;top:0;height:100dvh;padding:28px 18px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:var(--surface)}.product-brand{display:flex;align-items:center;gap:10px;font-family:Georgia,serif;font-size:23px;letter-spacing:-.6px;color:var(--ink);white-space:nowrap}.brand-mark{display:grid;place-items:center;width:32px;height:34px;border-radius:10px 10px 10px 2px;background:var(--accent);color:#fff;font:600 22px Georgia,serif}.nav-caption{font-size:10px;letter-spacing:.1em;color:var(--muted);margin:42px 14px 12px}.nav-link{display:flex;align-items:center;gap:12px;margin:2px 0;padding:11px 14px;border-radius:8px;color:var(--soft);font-size:13px}.nav-link>span:first-child{font-size:18px;width:18px}.nav-link:hover{background:var(--surface-2)}.nav-link.selected{color:var(--accent);background:var(--accent-soft);font-weight:600}.nav-bottom{margin-top:auto;padding:14px;border-top:1px solid var(--line)}.local-badge{font-size:11px;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:4px 7px;display:inline-block}.nav-bottom p{margin:5px 0 12px}.nav-account{font-size:12px;color:var(--soft)}.product-topbar{display:flex;align-items:center;gap:12px;height:66px;border-bottom:1px solid var(--line);padding:0 38px}.product-breadcrumb{font-size:13px;color:var(--muted)}.library-page{padding:40px 42px 60px;max-width:1400px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.page-heading h1{font-size:29px;font-weight:600;margin:9px 0}.eyebrow{font-size:10px;letter-spacing:.13em;color:var(--accent);font-weight:600;margin:0}.page-heading .subtle{margin:7px 0}.page-heading .row{justify-content:flex-end}.page-heading button{padding:9px 16px}.library-filter{display:flex;align-items:center;gap:20px;margin-bottom:22px}.library-filter input{max-width:330px;background:var(--surface)}.library-filter select{max-width:125px;margin-left:auto}.library-grid,.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:18px}.library-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px;min-height:220px;transition:box-shadow .18s,border-color .18s;position:relative}.library-card:hover{box-shadow:var(--shadow);border-color:#d4c4df}.card-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.file-mark{font-size:10px;letter-spacing:.04em;color:var(--accent);display:grid;place-items:center;width:32px;height:39px;border:1px solid #d9c7e3;border-radius:4px 9px 4px 4px;background:var(--accent-soft)}.icon-button{padding:2px 6px;border:0;background:transparent;font-size:20px;min-width:30px}.project-title{display:block;background:none;border:0;padding:0;text-align:left;font-size:16px;font-weight:600;color:var(--ink);max-width:100%;overflow:hidden;text-overflow:ellipsis}.project-title:hover{background:none;color:var(--accent)}.library-card p{margin:8px 0}.project-menu{position:relative;margin-top:15px}.project-menu summary{font-size:11px;padding:5px 0;color:var(--muted)}.project-menu[open]{z-index:2}.project-menu[open] button{display:block;width:100%;text-align:left;margin:3px 0}.template-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}.template-card h2{font-size:16px;margin:18px 0 4px}.template-card .subtle{min-height:40px}.template-card button{margin-right:7px}.template-preview{display:flex;justify-content:center;align-items:flex-start;background:var(--surface-2);height:235px;border-radius:7px;padding:25px 12px;overflow:hidden}.paper-mini{width:156px;min-height:207px;background:#fff;box-shadow:0 6px 16px #27211e15;padding:23px 17px;display:flex;flex-direction:column;gap:7px;color:#20201d}.paper-mini b{font:600 9px Georgia,serif;text-align:center;line-height:1.7;margin-bottom:13px}.paper-mini span{font:7px Georgia,serif;margin:3px 0}.paper-mini i{display:block;height:2px;background:#d7d3d0;width:100%}.paper-mini i:nth-of-type(3n){width:67%}.template-source{white-space:pre-wrap;font:12px/1.6 monospace;max-height:45vh;overflow:auto;background:var(--surface-2);padding:16px;border-radius:8px}.product-empty{text-align:center;align-self:center;grid-column:1/-1;padding:64px 24px;color:var(--muted)}.product-empty h2{font-size:18px;color:var(--soft);font-weight:500}.product-empty p{font-size:13px;line-height:1.8}.product-empty .row{justify-content:center}.empty-mark{font-size:38px;font-family:Georgia,serif;color:var(--accent);margin:8px}.settings-card{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:22px;margin:16px 0}.settings-card h2{font-size:16px;margin:0 0 12px}.settings-card p{font-size:13px;color:var(--muted);line-height:1.8}.settings-card button{margin-right:8px}
.product-dialog{width:min(560px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:24px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow)}.product-dialog::backdrop{background:#17121b66;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-heading h2{font-size:20px;margin:0}.product-dialog label{font-size:12px;color:var(--soft)}.product-dialog label input,.product-dialog label select{margin-top:8px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.dialog-error{padding:0}.product-dialog .subtle{font-size:13px}.project-search-results{max-height:50vh;overflow:auto}
.local-workspace{height:100dvh;min-height:400px;display:flex;flex-direction:column;color:var(--ink);background:var(--surface)}.local-workspace-header{height:64px;min-height:64px;display:flex;align-items:center;gap:12px;padding:0 18px;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:nowrap}.local-workspace-header h1{font-size:15px;margin:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:80px}.workspace-back{font-size:12px;color:var(--muted);white-space:nowrap;border-left:1px solid var(--line);padding-left:12px}.local-workspace-header>select{width:140px;font-size:12px;padding:7px}.local-workspace-header>button{font-size:11px;white-space:nowrap;padding:6px 9px}.workspace-login{font-size:11px;white-space:nowrap}.workspace-controls{height:46px;min-height:46px;display:flex;align-items:center;gap:9px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--surface)}.workspace-controls p{margin:0;font-size:11px}.workspace-controls>button{font-size:11px;padding:6px 10px}.local-workspace-settings{position:relative;font-size:11px;padding:0;border:0;display:block;background:var(--surface)}.local-workspace-settings summary{white-space:nowrap}.local-workspace-settings[open]{z-index:10;position:absolute;right:16px;top:74px;width:340px;max-width:calc(100vw - 32px);padding:12px;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.local-workspace-settings label{margin:8px 0;font-size:12px}.local-workspace-settings button{margin:4px 0}.local-workspace-settings span{display:block}.local-workspace-grid{display:grid;grid-template-columns:205px minmax(300px,1fr) minmax(320px,43%);min-height:0;flex:1;border:0;gap:0;padding:0}.local-workspace-files{background:var(--surface-2);padding:16px 10px;overflow:auto;border-right:1px solid var(--line);border-radius:0}.files-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px}.files-heading h2{font-size:12px;margin:0 0 16px;font-weight:600}.local-workspace-files>button:not(.file){font-size:11px;margin:2px;min-height:30px;padding:5px 8px}.local-workspace-files .file{text-align:left;width:100%;border:0;background:none;font-size:12px;padding:9px;border-radius:6px;color:var(--soft)}.local-workspace-files .file.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.local-workspace-files>p{font-size:11px;margin:8px}.file-import-menu{font-size:11px;margin:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.file-import-menu input{font-size:10px;padding:7px;max-width:100%}.local-workspace-editor{display:flex;flex-direction:column;padding:0;border:0;border-right:1px solid var(--line);min-width:0;min-height:0;overflow:hidden;border-radius:0}.editor-document-tab,.output-heading{height:46px;min-height:46px;display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--surface)}.editor-document-tab strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-document-tab button{font-size:10px;min-height:28px;padding:4px 6px}.editor-file-menu{position:relative;font-size:10px}.editor-file-menu[open]{position:absolute;right:44%;top:115px;z-index:5;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.editor-file-menu[open] button{display:block;width:100%;text-align:left}.writer-editor{display:flex;flex-direction:column;flex:1;min-height:0;position:relative;background:var(--surface)}.writer-controls{display:flex;align-items:center;gap:4px;border-bottom:1px solid var(--line);height:38px;min-height:38px;padding:0 12px;overflow-x:auto}.writer-controls button{background:none;border:0;font-size:10px;padding:5px 7px;white-space:nowrap;min-height:26px;color:var(--muted)}.writer-viewport{position:relative;flex:1;min-height:0;overflow:hidden;display:block}.writer-gutter,.writer-paint,.writer-viewport textarea{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:13px;line-height:24px;tab-size:2;letter-spacing:0;white-space:pre;box-sizing:border-box;margin:0;position:absolute;top:0;height:100%;border:0;border-radius:0;overflow:auto;resize:none}.writer-gutter{width:44px;left:0;text-align:right;color:#a49ca9;padding:18px 9px;background:var(--surface-2);overflow:hidden;user-select:none}.writer-paint,.writer-viewport textarea{left:44px;width:calc(100% - 44px);padding:18px 17px;overflow-wrap:normal;word-break:normal}.writer-paint{pointer-events:none;color:var(--soft);background:transparent;overflow:hidden}.writer-viewport textarea{background:transparent!important;color:transparent!important;caret-color:var(--ink);outline:0;min-height:0}.writer-viewport textarea::selection{background:#b095cc44}.writer-viewport textarea:disabled{opacity:.7}.tex-command{color:var(--accent)}.tex-comment{color:#8d9484}.tex-punctuation{color:#b8652f}.writer-status{height:28px;min-height:28px;border-top:1px solid var(--line);padding:6px 12px;font-size:10px;color:var(--muted)}.writer-search{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px;background:var(--surface-2);border-bottom:1px solid var(--line)}.writer-search input:not([type=checkbox]){width:135px;flex:1;padding:7px;font-size:12px}.writer-search button{font-size:10px;min-height:28px;padding:4px 7px}.writer-search label{font-size:10px;display:flex;gap:3px;margin:0}.writer-search>span{font-size:10px}.writer-outline{max-height:160px;overflow:auto;padding:8px 14px;border-bottom:1px solid var(--line)}.writer-outline button{display:block;border:0;background:none;font-size:12px;padding:4px;text-align:left}.writer-completion{position:absolute;top:76px;left:64px;z-index:4;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.writer-completion button{display:block;width:100%;text-align:left;border:0;font:12px monospace}.writer-completion button[aria-selected=true]{background:var(--accent-soft);color:var(--accent)}.local-workspace-output{padding:0;overflow:auto;min-width:0;min-height:0;background:var(--surface-2);border:0;border-radius:0}.output-heading{font-size:12px;position:sticky;top:0;z-index:2}.local-compile{border:0!important;border-radius:0!important;padding:16px!important;background:var(--surface)!important;margin:0!important}.local-compile>h3{font-size:13px;margin:0 0 8px}.local-compile>p{font-size:11px;line-height:1.6}.local-compile .primary{font-size:12px}.local-workspace-retained-pdf{padding:16px}.local-workspace-retained-pdf>h3{font-size:12px}.local-pdf-controls{background:var(--surface);border-color:var(--line);padding:8px;gap:5px}.local-pdf-controls button{font-size:10px;padding:4px 7px}.local-pdf-controls input,.local-pdf-controls select{width:auto;padding:5px;font-size:10px}.local-pdf-sheet{background:white;box-shadow:0 3px 16px #20161d15}.local-pdf-page{padding:12px;background:var(--surface-2)}.local-workspace-output .product-empty{padding:70px 20px}.local-workspace-output .product-empty h2{font-size:16px}.narrow-only{display:none}.workspace-history{width:min(740px,calc(100vw - 24px));max-height:85dvh}.history-item{border:1px solid var(--line);border-radius:8px;padding:14px;margin:10px 0}.history-item h3{font-size:14px;margin:0 0 5px}.history-diff{font:12px/1.7 monospace;white-space:pre-wrap;max-height:50vh;overflow:auto;background:var(--surface-2);padding:14px}
header:not(.local-workspace-header){background:var(--surface);border-color:var(--line)}.brand{color:var(--accent)}.login{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow);border-radius:14px;max-width:440px}.login h1{font-family:inherit;color:var(--ink);font-size:25px;font-weight:600}.login p{color:var(--muted)}.projects{max-width:1100px}.project-card,.version{background:var(--surface);border-color:var(--line);border-radius:10px}.workbench{grid-template-columns:205px minmax(300px,1fr) minmax(330px,43%)}.sidebar{background:var(--surface-2);border-color:var(--line)}.source,.editor-pane{background:var(--surface);color:var(--soft)}.toolbar{border-color:var(--line)}.file.active{background:var(--accent-soft);color:var(--accent)}
@media(min-width:1500px){.library-page{padding:48px 60px}.library-grid,.template-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}
@media(max-width:1100px){.local-workspace-header>select,.local-workspace-header>button:first-of-type{display:none}.local-workspace-grid{grid-template-columns:170px minmax(270px,1fr) minmax(290px,42%)}.library-page{padding:32px 28px}.product-shell{grid-template-columns:190px minmax(0,1fr)}.product-topbar{padding:0 28px}.product-nav{padding:24px 14px}.workspace-controls p{max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:820px){.product-shell{grid-template-columns:72px minmax(0,1fr)}.product-nav{padding:20px 9px}.product-nav .product-brand>span:last-child,.nav-caption,.nav-link>span:last-child,.nav-bottom{display:none}.product-nav .product-brand{justify-content:center;margin-bottom:26px}.nav-link{justify-content:center;padding:12px 9px}.nav-link>span:first-child{width:auto}.page-heading{align-items:flex-start}.page-heading h1{font-size:25px}.product-topbar{height:56px}.library-page{padding:28px 24px}.page-heading .row{flex-direction:column;align-items:stretch}.local-workspace-grid{grid-template-columns:0 minmax(0,1fr)}.local-workspace-files{display:none}.local-workspace-output{display:none}.local-workspace.files-open .local-workspace-files{display:block;position:absolute;left:0;top:110px;bottom:0;width:230px;z-index:4;box-shadow:var(--shadow)}.local-workspace.pdf-open .local-workspace-output{display:block;position:fixed;right:0;top:64px;bottom:0;width:min(88vw,680px);z-index:8;box-shadow:-16px 0 60px #15101733;border-left:1px solid var(--line)}.narrow-only{display:inline-block}.local-workspace-header>button,.workspace-login{display:none}.local-workspace-header{padding:0 12px}.local-workspace-header .product-brand{font-size:20px}.workspace-controls{padding:0 8px;gap:5px}.workspace-controls p{max-width:38%;font-size:10px}.workspace-controls>button{font-size:10px;padding:5px 7px}.workspace-controls details{display:none}.editor-file-menu[open]{right:12px}.workspace-controls>[data-local-pdf-save-status]{display:none}.writer-viewport textarea,.writer-paint{font-size:12px}.workbench{grid-template-columns:150px minmax(0,1fr)}.panel{display:none}.workbench.pdf-open .panel{display:block;position:fixed;right:0;top:62px;bottom:0;width:min(88vw,680px);z-index:8;box-shadow:var(--shadow)}}
@media(max-width:480px){.library-page{padding:24px 16px}.page-heading{flex-direction:column;gap:14px;margin-bottom:24px}.page-heading .row{flex-direction:row;flex-wrap:wrap}.page-heading h1{font-size:25px}.product-topbar{padding:0 16px}.product-topbar .local-badge{display:none}.library-filter{gap:8px;flex-wrap:wrap}.library-filter input{width:100%;max-width:none}.library-filter select{max-width:120px}.library-grid,.template-grid{grid-template-columns:minmax(0,1fr)}.product-shell{grid-template-columns:56px minmax(0,1fr)}.product-nav{padding:20px 4px}.brand-mark{width:28px;height:30px;font-size:20px}.local-workspace-header h1{font-size:13px}.local-workspace-header .product-brand>span:last-child{display:none}.local-workspace-header{gap:10px}.writer-controls{padding:0 6px;gap:0}.writer-controls button{font-size:9px;padding:5px 6px}.writer-gutter{width:34px;padding:18px 6px}.writer-paint,.writer-viewport textarea{left:34px;width:calc(100% - 34px);padding:18px 12px}.editor-document-tab{padding:0 10px}.editor-document-tab>button{font-size:9px}.workspace-controls>[data-local-save-status]{max-width:30%;font-size:9px}.login{margin:7vh 16px;padding:24px}header:not(.local-workspace-header){padding:0 12px;gap:10px;flex-wrap:wrap}header:not(.local-workspace-header)>button{font-size:11px}.settings-card{padding:16px}.product-empty{padding:48px 12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root[data-motion=reduced] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.textLayer{position:absolute;inset:0;overflow:clip;line-height:1;letter-spacing:normal;word-spacing:normal;transform-origin:0 0;user-select:text;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));color-scheme:only light}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0 0;user-select:text}.textLayer>:not(.markedContent),.textLayer .markedContent span:not(.markedContent){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.textLayer .markedContent{display:contents}.textLayer span::selection{color:transparent;background:#976ab655}.local-pdf-controls{flex-wrap:wrap}.local-pdf-controls input[type=search]{flex:1;width:130px}.pdf-navigation-results{max-height:200px;overflow:auto;padding:8px;background:var(--surface);border-bottom:1px solid var(--line)}.pdf-navigation-results button{display:block;text-align:left;width:100%;font-size:11px;margin:3px 0}.pdf-navigation-results p{font-size:11px;color:var(--muted)}
.local-workspace-grid{position:relative;grid-template-columns:var(--tree-size,205px) minmax(300px,1fr) minmax(320px,var(--pdf-size,43%))}.workspace-splitter{position:absolute;top:0;bottom:0;width:6px;cursor:col-resize;z-index:3;touch-action:none;background:transparent}.workspace-splitter:hover,.workspace-splitter:focus-visible{background:var(--accent-soft);outline:1px solid var(--accent)}.tree-splitter{left:calc(var(--tree-size,205px) - 3px)}.pdf-splitter{right:calc(var(--pdf-size,43%) - 3px)}@media(max-width:820px){.workspace-splitter{display:none}.local-workspace-grid{grid-template-columns:0 minmax(0,1fr)}}
.local-compile>h3,.local-compile>p:first-of-type{display:none}.local-compile{padding:12px 16px!important}.local-compile>p{margin:0 0 9px}.local-workspace-retained-pdf{padding:12px 16px}.local-workspace-retained-pdf>h3{margin:0 0 7px}.local-workspace-retained-pdf>p{margin:0 0 12px}.local-pdf-viewer>p{font-size:11px;margin:9px 0}.local-workspace-output .notice{font-size:11px;line-height:1.6}

button[aria-busy="true"]{cursor:progress;opacity:.7}.output-heading>button{font-size:11px;padding:5px 9px;min-height:28px}.output-heading>button[aria-pressed="true"]{color:var(--accent);background:var(--accent-soft);border-color:transparent}.local-assistant-panel{padding:16px}.local-assistant-panel[hidden]{display:none}.paper-assistant .auth-field{display:block;margin:12px 0}.paper-assistant .auth-field>input,.paper-assistant .auth-field>select,.paper-assistant .auth-field>textarea{display:block;width:100%;margin-top:6px}.assistant-answer,.assistant-context{white-space:pre-wrap;overflow-wrap:anywhere;max-height:40dvh;overflow:auto;font:12px/1.7 var(--mono);padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.paper-assistant h2{font-size:17px;margin-top:4px}.paper-assistant h3{font-size:14px}

.writer-gutter,.writer-paint,.writer-viewport textarea{font-size:var(--writer-font-size,13px)}.local-cloud-panel>label{display:block;margin:14px 0}.local-cloud-panel>label>input{display:block;width:100%;margin-top:6px}
.account-card{margin:22px 0;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow-wrap:anywhere}.account-card h2{margin:0 0 12px;font-size:18px}.account-card p{line-height:1.65}.account-card button{white-space:normal;max-width:100%;margin:4px 6px 4px 0}.account-card input{max-width:420px}.account-card details{margin:12px 0}
/* Cloud library: one clear reading column, secondary actions on demand. */
.cloud-library{width:100%;max-width:1220px;margin:0 auto;padding:46px 42px 64px}
.cloud-library-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 34px}
.cloud-library-heading h1{font-size:30px;font-weight:600;letter-spacing:-.04em;margin:10px 0}
.cloud-library-heading .eyebrow{font-size:10px;letter-spacing:.14em;margin:0;color:var(--accent)}
.cloud-library-description{font-size:13px;color:var(--muted);margin:0;line-height:1.7}
.cloud-heading-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.cloud-heading-popover{position:relative}
.cloud-heading-popover>summary{display:flex;align-items:center;justify-content:center;min-height:39px;padding:9px 15px;border:1px solid var(--line);border-radius:8px;font-size:12px;background:var(--surface);white-space:nowrap}
.cloud-heading-popover>summary.primary{color:#fff;background:var(--accent);border-color:var(--accent)}
.cloud-heading-popover[open]{z-index:5}
.cloud-popover-content{position:absolute;right:0;top:calc(100% + 10px);width:300px;max-width:calc(100vw - 88px);padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 40px #20142918}
.cloud-popover-title{font-size:13px;font-weight:600;margin:0 0 13px}
.cloud-popover-content input{font-size:12px;margin-bottom:12px}
.cloud-popover-content button{width:100%;font-size:12px}
.cloud-library-tabs{display:flex;gap:22px;align-items:center;border-bottom:1px solid var(--line);margin:0 0 23px;overflow-x:auto;scrollbar-width:none}
.cloud-library-tabs::-webkit-scrollbar{display:none}
.cloud-library-tabs>button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);min-height:44px;padding:8px 1px 13px;font-size:12px;flex-shrink:0}
.cloud-library-tabs>button:hover{color:var(--ink);background:transparent}
.cloud-library-tabs>button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}
.cloud-library-toolbar{display:flex;align-items:center;gap:12px;margin:0 0 23px}
.cloud-search{position:relative;flex:1;max-width:360px}
.cloud-search>span{position:absolute;left:13px;top:6px;font-size:23px;color:var(--muted);pointer-events:none;line-height:24px}
.cloud-search input{font-size:12px;padding:11px 14px 11px 37px;border-radius:8px;background:var(--surface);height:40px}
.cloud-library .cloud-refresh{font-size:12px;padding:8px 13px;height:40px;border-color:transparent;background:transparent;color:var(--muted)}
.cloud-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;font-size:11px;color:var(--muted)}
.cloud-project-count{white-space:nowrap}
.cloud-list-status{font-size:11px;margin:0;line-height:1.7;text-align:right;min-width:0}
.cloud-list-status[role=alert]{color:#ac3737}
.cloud-library .project-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 24px;margin:0 0 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);transition:border-color .15s,box-shadow .15s}
.cloud-library .project-card:hover{border-color:color-mix(in srgb,var(--accent) 22%,var(--line));box-shadow:0 4px 18px #2c163805}
.cloud-library .cloud-project-card{grid-template-columns:42px minmax(0,1fr) auto}
.cloud-library .project-card>.grow{min-width:0}
.cloud-library .project-title{font-size:15px;font-weight:600;line-height:1.5;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.cloud-library .project-card .subtle{font-size:11px;line-height:1.7;margin:7px 0 0;color:var(--muted)}
.cloud-paper-icon{position:relative;display:grid;place-items:center;width:36px;height:43px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:5px 10px 5px 5px;background:var(--accent-soft);color:var(--accent)}
.cloud-paper-icon:after{content:'';position:absolute;top:-1px;right:-1px;width:9px;height:9px;border-left:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-bottom:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:0 8px 0 3px;background:var(--surface)}
.cloud-paper-icon>span{font:600 10px Georgia,serif}
.cloud-library .project-card>.cloud-project-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:12px;margin:0;flex:initial;min-width:0}
.cloud-library .cloud-project-open{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 13%,var(--line));background:var(--surface);padding:8px 15px;font-size:12px;min-height:36px}
.cloud-library .cloud-project-open:after{content:'↗';margin-left:8px;font-size:12px;color:var(--muted)}
.cloud-project-menu{position:relative;flex-shrink:0}
.cloud-project-menu-toggle{display:grid;place-items:center;width:32px;height:36px;font-size:22px;padding:0;border-radius:7px;color:var(--muted);list-style:none}
.cloud-project-menu-toggle:hover,.cloud-project-menu[open]>.cloud-project-menu-toggle{background:var(--surface-2);color:var(--ink)}
.cloud-project-menu[open]{z-index:4}
.cloud-project-menu-actions{position:absolute;top:calc(100% + 7px);right:0;width:228px;max-width:calc(100vw - 100px);padding:7px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 36px #1d13201c}
.cloud-project-menu-actions>button{display:block;width:100%;border:0;background:transparent;text-align:left;min-height:36px;font-size:12px;padding:9px 11px;border-radius:6px}
.cloud-project-menu-actions>button:hover{background:var(--surface-2)}
.cloud-project-menu-actions>button.danger{color:#b13535}
.cloud-project-menu-actions>button:last-child{border-top:1px solid var(--line);border-radius:0 0 6px 6px;margin-top:4px;padding-top:12px;color:var(--muted)}
.project-confirmation{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px 13px;grid-column:1/-1;width:100%;min-width:0;padding:20px;margin:5px 0 0;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}
.project-confirmation-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:var(--accent);background:var(--accent-soft);font-size:13px;font-weight:600}
.project-confirmation-copy h3{font-size:13px;font-weight:600;margin:3px 0 7px;letter-spacing:0}
.project-confirmation-copy p{font-size:12px;line-height:1.8;margin:0;color:var(--muted)}
.project-confirmation-copy .project-confirmation-name{font-size:13px;color:var(--ink);font-weight:500;margin:0 0 5px}
.project-confirmation.is-destructive{border-color:color-mix(in srgb,#b13535 18%,var(--line));background:color-mix(in srgb,#b13535 3%,var(--surface))}
.project-confirmation.is-destructive .project-confirmation-icon{color:#b13535;background:color-mix(in srgb,#b13535 9%,var(--surface))}
.project-confirmation-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;grid-column:2;margin-top:8px;flex-wrap:wrap}
.project-confirmation-actions button{font-size:12px;min-height:35px;padding:8px 12px}
.project-confirmation-actions .confirmation-export{margin-right:auto;font-size:11px;padding:5px 0;background:transparent;border:0;color:var(--muted)}
@media(max-width:1100px){.cloud-library{padding:36px 28px 60px}.cloud-library-heading{gap:16px}.cloud-heading-actions{gap:8px}.cloud-library-tabs{gap:20px}}
@media(max-width:600px){.cloud-library{padding:28px 18px 50px}.cloud-library-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:22px}.cloud-library-heading h1{font-size:26px}.cloud-heading-actions{width:100%;justify-content:flex-end}.cloud-library-tabs{gap:20px;margin-bottom:18px}.cloud-search{max-width:none}.cloud-library-toolbar{gap:5px;margin-bottom:20px}.cloud-library .project-card{padding:18px 16px;gap:13px}.cloud-library .cloud-project-card{grid-template-columns:36px minmax(0,1fr)}.cloud-library .project-title{white-space:normal;overflow-wrap:anywhere}.cloud-library .project-card>.cloud-project-actions{grid-column:2;justify-content:space-between;margin-top:2px}.cloud-list-heading{align-items:flex-start;gap:8px}.cloud-list-status{max-width:72%;font-size:10px}.project-confirmation{padding:15px;gap:9px;grid-template-columns:24px minmax(0,1fr)}.project-confirmation-actions{grid-column:1/-1;justify-content:flex-end;gap:8px}.project-confirmation-actions .confirmation-export{flex-basis:100%;text-align:left}.cloud-paper-icon{width:31px;height:38px}}
.assistant-quick-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.assistant-agent-toggle{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.assistant-agent-toggle input{width:16px;height:16px;accent-color:var(--accent)}.paper-agent-workspace{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:12px 0;padding:4px 0}.paper-agent-workspace details{margin:8px 0}.paper-agent-workspace summary{cursor:pointer;line-height:1.6;font-size:12px;padding:5px 0}.assistant-activity>div{max-height:32dvh;overflow:auto}.assistant-conversation-text{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.7 var(--font, sans-serif);margin:8px 0;user-select:text}.assistant-transcript{max-height:45dvh;overflow:auto}.assistant-message{padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.assistant-materials{padding:0;list-style:none}.assistant-materials li{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0;font-size:12px;overflow-wrap:anywhere}.assistant-materials button{flex:none}.paper-assistant input[type=file]{font:inherit;font-size:12px}.paper-assistant input[type=checkbox]{flex:none}.paper-assistant .assistant-answer{font:13px/1.8 var(--font,sans-serif)}@media(max-width:820px){.assistant-quick-actions button,.assistant-materials button,.paper-agent-workspace summary{min-height:40px}.assistant-materials li{align-items:flex-start;flex-direction:column}}

.paper-assistant .assistant-options,.paper-assistant .assistant-context-details{margin:12px 0;font-size:12px}.paper-assistant summary{cursor:pointer;line-height:1.7}.paper-assistant .auth-field{font-size:12px}.paper-assistant .auth-field>select,.paper-assistant .auth-field>textarea{font:13px/1.6 var(--sans,sans-serif);padding:9px 10px}.paper-assistant>p[role=status]{font-size:12px;line-height:1.7;color:var(--muted)}.paper-assistant .row{flex-wrap:wrap;gap:6px}.assistant-answer{user-select:text}
.project-navigation-dialog{width:min(760px,calc(100vw - 32px))}.project-navigation-fields{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}.project-navigation-fields>input{flex:1 1 240px;min-width:0}.project-navigation-fields>select{flex:1 1 140px;min-width:0}.project-navigation-fields label{display:flex;gap:6px;align-items:center}.project-navigation-fields label input{margin:0}.project-navigation-results{max-height:48dvh;overflow:auto;border-top:1px solid var(--line);margin-top:12px}.project-navigation-result{display:block;width:100%;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;min-height:44px;margin:6px 0;padding:10px 12px}.project-navigation-result small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.project-navigation-result:disabled{opacity:.55}

/* Let library and settings content shrink inside the navigation shell. */
.product-main { min-width: 0; }
.product-topbar > .nav-account { flex: 0 1 auto; min-width: 0; max-width: min(180px, 36vw); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.settings-card .row { flex-wrap: wrap; }
.settings-card button { max-width: 100%; white-space: normal; }
.settings-card p { overflow-wrap: anywhere; }
.cloud-heading-actions { flex-wrap: wrap; }
.cloud-search { min-width: 0; }
.library-filter > input { min-width: 0; }
@media (max-width: 600px) {
  .library-filter { flex-wrap: wrap; }
  .library-filter > input { flex-basis: 100%; width: 100%; max-width: none; }
  .cloud-library-toolbar { flex-wrap: wrap; }
  .cloud-search { flex: 1 1 160px; width: 100%; }
}

/* Shared surfaces and the Cloud editor use the PC theme tokens. */
:root{--editor-paper:#fffefd;--editor-ink:#283044;--danger-ink:#ae343b;--warning-ink:#906221}
:root[data-theme=dark]{--editor-paper:#1e2029;--editor-ink:#e3e2eb;--danger-ink:#f2a8ae;--warning-ink:#e1c18b}
button,a.button{font-size:12px}
button.primary,a.button.primary{color:#fff}
button.danger{color:var(--danger-ink)}
button.danger.solid{color:#fff}
input,select,textarea.comment-input{border-color:var(--line);color:var(--ink);background:var(--surface)}
.notice{background:var(--surface-2);color:var(--soft);border:1px solid var(--line);border-radius:8px;font-size:12px;line-height:1.75}
.error{border-color:color-mix(in srgb,var(--danger-ink) 22%,var(--line));background:color-mix(in srgb,var(--danger-ink) 5%,var(--surface));color:var(--danger-ink);font-size:12px;line-height:1.7}
.quote{background:var(--surface-2);color:var(--soft);border-radius:6px;font:11px/1.7 var(--mono)}
.thread,.version,.member{background:var(--surface);border-color:var(--line);color:var(--soft);font-size:12px;border-radius:10px}
.thread h3,.version h3,.member h3{color:var(--ink);font-size:14px}
.status{color:var(--muted)}
.local-compile progress{accent-color:var(--accent)}
.local-pdf-position{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}
.conflict{background:color-mix(in srgb,var(--warning-ink) 6%,var(--surface));border-color:color-mix(in srgb,var(--warning-ink) 25%,var(--line));color:var(--ink);font-size:12px}
.web-header{height:56px;min-height:56px;flex-shrink:0;display:flex;align-items:center;flex-wrap:nowrap!important;gap:16px;padding:0 22px;background:var(--surface);border-color:var(--line);color:var(--ink)}
.web-header button.brand{display:flex;align-items:center;gap:8px;padding:0;color:var(--ink);font:600 20px Georgia,serif;letter-spacing:-.6px;white-space:nowrap}
.web-header .brand:before{content:'V';display:grid;place-items:center;background:var(--accent);color:#fff;width:26px;height:28px;flex-shrink:0;border-radius:7px 7px 7px 2px;font:600 19px Georgia,serif;letter-spacing:0}
.web-header-title{min-width:0;font-size:13px;line-height:1.6;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--soft)}
.web-header>.status{font-size:11px;max-width:35%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.web-account-menu>summary{font-size:12px;line-height:1.5;width:auto;max-width:180px;height:32px;padding:6px 11px;border:1px solid var(--line);background:var(--surface-2);border-radius:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.web-account-menu .cloud-project-menu-actions{width:190px}
.workspace-library-link{font-size:11px;line-height:20px;color:var(--muted);padding-left:14px;border-left:1px solid var(--line);white-space:nowrap}
.workspace-library-link:before{content:'←';margin-right:6px}
#app:has(.cloud-workspace){height:100dvh;min-height:400px;display:flex;flex-direction:column;overflow:hidden}
#app:has(.cloud-workspace)>.error{margin:0;border-radius:0;border-width:0 0 1px;padding:7px 22px;flex-shrink:0;max-height:72px;overflow:auto}
.cloud-workspace{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--bg)}
.workspace-command-bar{height:40px;min-height:40px;display:flex;align-items:center;gap:9px;padding:4px 16px 7px 242px}
.workspace-command-bar>button{font-size:11px;min-height:28px;padding:5px 11px;border-radius:7px;white-space:nowrap}
.workspace-command-bar>.workspace-compile{padding:5px 14px}
.workspace-compile:before{content:'▷';margin-right:7px;font-size:12px}
.workspace-share{background:transparent;color:var(--soft)}
.workspace-share:before{content:'↗';margin-right:6px;color:var(--muted)}
.cloud-workbench{position:relative;display:grid;grid-template-columns:230px minmax(0,1.32fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:8px;height:auto;flex:1;min-height:0;padding:0 12px 0 0;overflow:hidden}
.cloud-workbench>.sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;height:auto;padding:13px 13px 8px;background:var(--bg);border:0;overflow:auto}
.workspace-project-heading{padding:0 8px 14px}
.workspace-project-heading>.eyebrow{font-size:10px;letter-spacing:.04em;font-weight:400;color:var(--muted)}
.workspace-project-heading h2{font-size:13px;font-weight:600;line-height:1.6;margin:7px 0 0;color:var(--ink);overflow-wrap:anywhere}
.workspace-files-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px;height:32px;font-size:11px;color:var(--muted)}
.workspace-file-menu .cloud-project-menu-toggle{font-size:19px;width:25px;height:25px}
.cloud-workbench .file-row{min-height:30px}
.cloud-workbench .file{font-size:12px;line-height:1.5;min-height:30px;padding:7px 9px;border-radius:7px;color:var(--soft);background:transparent;margin:0}
.cloud-workbench .file.active{color:var(--accent);background:var(--accent-soft);font-weight:500}
.cloud-workbench .file:before{content:'▤';font-size:12px;margin-right:8px;color:var(--muted)}
.cloud-workbench .file.active:before{color:var(--accent)}
.cloud-workbench .folder-toggle{font-size:11px;color:var(--muted);width:18px}
.workspace-presence{margin:24px 5px 0;border-top:1px solid var(--line);font-size:11px}
.workspace-presence>summary{padding:12px 4px;color:var(--muted)}
.workspace-presence .collaboration-presence-host{padding:0 4px;font-size:10px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
.workspace-presence .collaboration-presence-host p{margin:6px 0}
.workspace-presence .collaboration-presence-host ul{padding:0 0 0 14px}
.cloud-workbench>.editor-pane{height:auto;min-height:0;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;background:var(--editor-paper)}
.cloud-workbench .toolbar{height:36px;min-height:36px;display:flex;flex-shrink:0;align-items:center;gap:8px;padding:0 12px;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:nowrap}
.workspace-current-file{font-size:12px;font-weight:500;line-height:35px;min-width:45px;max-width:45%;flex:0 1 auto;padding-right:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:2px solid var(--accent);color:var(--ink);align-self:stretch}
.cloud-workbench .toolbar>.writer-controls{border:0;min-width:0;min-height:0;height:34px;padding:0;flex:0 1 auto;gap:0;overflow-x:auto;scrollbar-width:thin;margin-left:auto;justify-content:flex-start}
.cloud-workbench .toolbar>.workspace-document-menu{flex-shrink:0}
.cloud-workbench .toolbar .writer-controls button{font-size:10px;min-height:26px;padding:4px 6px;border-radius:5px}
.workspace-document-menu>summary{width:auto;height:28px;font-size:10px;padding:5px 6px;white-space:nowrap;color:var(--muted)}
.cloud-workbench .writer-editor{background:var(--editor-paper);flex:1;min-height:0}
.cloud-workbench .writer-viewport textarea,.cloud-workbench .writer-paint{font-size:14px;line-height:24px}
.cloud-workbench .writer-paint{color:var(--editor-ink)}
.cloud-workbench .writer-gutter{font-size:12px;line-height:24px;color:var(--muted);background:var(--editor-paper);opacity:.65}
.cloud-workbench .writer-status{height:24px;min-height:24px;padding:4px 12px;background:var(--surface);font-size:10px;color:var(--muted);border-color:var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cloud-workbench .writer-search{font-size:11px;background:var(--surface-2);border-color:var(--line)}
.cloud-workbench .writer-outline,.cloud-workbench .writer-completion{background:var(--surface);border-color:var(--line)}
.cloud-workbench>.right-pane{min-width:0;min-height:0;max-height:none;grid-column:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden;display:flex;flex-direction:column}
.cloud-workbench .tabs{height:36px;min-height:36px;display:flex;align-items:center;gap:12px;padding:0 13px;flex-wrap:nowrap;border-color:var(--line);background:var(--surface)}
.cloud-workbench .tabs>button{font-size:11px;min-height:36px;padding:6px 1px;border-radius:0;border-bottom:2px solid transparent;white-space:nowrap;color:var(--muted)}
.cloud-workbench .tabs>button.active{color:var(--accent);font-weight:500;background:transparent;border-bottom-color:var(--accent)}
.cloud-workbench .tabs>.cloud-project-menu{margin-left:auto}
.cloud-workbench .tabs .cloud-project-menu-toggle{height:29px;width:24px}
.cloud-workbench .panel{padding:16px;min-height:0;overflow:auto;background:var(--surface);color:var(--soft);font-size:12px;overflow-wrap:anywhere}
.cloud-workbench>.right-pane>.panel{display:block;position:static;inset:auto;flex:1;width:auto;height:auto;border:0;box-shadow:none}
.cloud-workbench .panel h3{font-size:13px;color:var(--ink);font-weight:600}
.cloud-workbench .panel button{font-size:11px;min-height:30px;padding:6px 10px}
.cloud-workbench .panel input,.cloud-workbench .panel select{font-size:12px;min-width:0}
.cloud-workbench .panel .row{flex-wrap:wrap}
.cloud-workbench .local-compile{padding:0!important;background:var(--surface)!important;margin:0 0 18px!important}
.cloud-workbench .local-compile>h3{display:none}
.cloud-workbench .compile-panel-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:26px;margin:0 0 16px;padding:0 0 10px;border-bottom:1px solid var(--line)}
.cloud-workbench .compile-panel-strip>p[role=status]{flex:1;min-width:120px;font-size:10px;line-height:1.7;margin:0;color:var(--muted)}
.cloud-workbench .compile-panel-strip>.row{margin:0;gap:5px;flex-shrink:0}
.cloud-workbench .compile-panel-strip>progress{flex:1 1 100%}
.cloud-workbench .compile-settings{position:relative;font-size:10px}
.cloud-workbench .compile-settings>summary{padding:4px 5px;color:var(--muted);white-space:nowrap}
.cloud-workbench .compile-settings>summary:after{content:'⌄';margin-left:5px}
.cloud-workbench .compile-settings[open]{z-index:6}
.cloud-workbench .compile-settings-body{position:absolute;top:calc(100% + 7px);right:0;width:280px;max-width:calc(100vw - 48px);padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);color:var(--soft)}
.cloud-workbench .compile-settings-body h3{font-size:12px;margin:0 0 7px}
.cloud-workbench .compile-settings-body p{font-size:11px;line-height:1.7;margin:0 0 10px;color:var(--muted)}
.cloud-workbench .compile-settings-body>button{width:100%;margin:5px 0 0;text-align:center;background:var(--surface-2);border:1px solid var(--line)}
.cloud-workbench .compile-settings-body>button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.cloud-workbench .local-pdf-page{background:var(--surface-2);border-radius:8px}
.cloud-workbench .local-pdf-controls{background:var(--surface);border-color:var(--line)}
.workspace-pdf-empty{padding:40px 20px;text-align:center;color:var(--muted)}
.workspace-pdf-empty .workspace-pdf-mark{display:grid;place-items:center;margin:0 auto 18px;width:48px;height:62px;border:1px solid var(--line);border-radius:5px 12px 5px 5px;background:var(--surface-2);color:var(--accent);font:600 11px Georgia,serif}
.cloud-workbench .workspace-pdf-empty h3{font-size:13px;font-weight:500;margin:0 0 9px;color:var(--soft)}
.workspace-pdf-empty p{font-size:11px;line-height:1.8;max-width:240px;margin:0 auto}
.cloud-workbench .conflict{max-height:45%;overflow:auto}
.workspace-status-bar{display:flex;align-items:center;gap:10px;min-height:24px;padding:4px 18px 4px 242px;font-size:10px;color:var(--muted)}
.workspace-status-bar .subtle,.workspace-status-bar .status{font-size:10px;line-height:1.5;margin:0;color:var(--muted);min-width:0}
.workspace-status-bar .grow{min-width:8px}
.workspace-status-bar .workspace-save-status{max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workspace-files-toggle,.cloud-workbench .workspace-close-files{display:none}
@media(max-width:999px){
  .cloud-workbench{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);padding:0 12px}
  .cloud-workbench>.sidebar{display:none}
  .workspace-command-bar,.workspace-status-bar{padding-left:14px}
  .workspace-command-bar>.workspace-files-toggle{display:inline-flex;align-items:center}
  .cloud-workbench.files-open>.sidebar{display:flex;position:absolute;left:12px;top:0;bottom:0;width:min(280px,calc(100% - 24px));z-index:8;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}
  .cloud-workbench .workspace-close-files{display:block;align-self:flex-end;flex-shrink:0;font-size:11px;min-height:30px;padding:5px 9px;margin:0 0 8px;border:0;background:var(--surface-2)}
  .cloud-workbench .toolbar>.writer-controls{max-width:150px}
  .cloud-workbench .toolbar .writer-controls button{padding:4px 5px}
  .cloud-workbench .tabs{gap:9px;padding:0 10px}
  .cloud-workbench .tabs>button{font-size:10px}
}
@media(max-width:820px){.web-header{padding:0 14px;gap:12px}.web-header-title{font-size:12px}.cloud-workbench{grid-template-columns:minmax(0,1fr);padding:0 12px;gap:0}.cloud-workbench>.right-pane{display:none}.cloud-workbench>.editor-pane{height:100%;min-height:0;border-radius:12px}.cloud-workbench.pdf-open>.right-pane{display:flex;position:absolute;right:12px;top:0;bottom:0;width:min(600px,calc(100% - 24px));z-index:9;box-shadow:var(--shadow)}.cloud-workbench .workspace-close-panel{display:block;align-self:flex-end;flex-shrink:0;font-size:10px;min-height:30px;padding:5px 9px;margin:6px 8px;border:0;background:var(--surface-2)}.workspace-command-bar{padding:4px 13px 7px;gap:7px}.workspace-command-bar>.workspace-share{display:none}.workspace-status-bar{padding:4px 14px}.cloud-workbench .toolbar>.writer-controls{max-width:200px}.web-header>.status{display:none}.cloud-workbench .writer-viewport textarea,.cloud-workbench .writer-paint{font-size:13px}}
@media(max-width:480px){.web-header{height:52px;min-height:52px;padding:0 12px;gap:9px}.web-header button.brand{font-size:0;gap:0}.web-header .brand:before{width:27px;height:29px;font-size:20px}.web-header-title{font-size:11px}.workspace-library-link{font-size:10px;padding-left:9px}.web-account-menu>summary{max-width:72px;padding:6px 7px;font-size:10px;overflow:hidden}.cloud-workbench{padding:0 8px}.workspace-command-bar{padding:4px 9px 6px;gap:5px;overflow-x:auto;flex-shrink:0}.workspace-command-bar>button{font-size:10px;min-height:27px;padding:5px 7px;flex-shrink:0}.workspace-command-bar>.workspace-compile{padding:5px 10px}.workspace-command-bar>.grow{display:none}.workspace-compile:before{margin-right:4px}.cloud-workbench .toolbar{padding:0 8px;gap:5px}.cloud-workbench .toolbar>.writer-controls{max-width:145px;scrollbar-width:none}.cloud-workbench .toolbar .writer-controls button{font-size:9px;padding:4px}.workspace-current-file{font-size:11px;min-width:30px}.workspace-document-menu>summary{font-size:9px;padding:5px 3px}.cloud-workbench .writer-viewport textarea,.cloud-workbench .writer-paint{font-size:12px}.workspace-status-bar{padding:4px 10px;gap:6px;flex-wrap:wrap;min-height:30px}.workspace-status-bar .grow{display:none}.workspace-status-bar .workspace-save-status{max-width:100%;white-space:normal;flex:1 1 100%}.workspace-status-bar .status{font-size:9px}.cloud-workbench.files-open>.sidebar{left:8px;width:min(280px,calc(100% - 16px))}.cloud-workbench.pdf-open>.right-pane{right:8px;width:calc(100% - 16px)}}

/* Local editor layout only. Shared colors come from the accepted PC palette. */
.local-workspace {
  background: var(--bg);
  isolation: isolate;
  min-height: 0;
  overflow: hidden;
}
.local-workspace .local-editor-topbar {
  height: 60px;
  min-height: 60px;
  padding: 0 18px;
  gap: 14px;
  flex-wrap: nowrap;
  background: var(--surface);
}
.local-workspace .local-editor-topbar .product-brand {
  flex: none;
  gap: 8px;
  font-size: 17px;
}
.local-workspace .local-editor-topbar .brand-mark {
  width: 28px;
  height: 30px;
  font-size: 20px;
}
.local-workspace .workspace-back {
  flex: none;
  padding-left: 14px;
  color: var(--muted);
  font-size: 12px;
}
.local-workspace .local-editor-project-heading {
  flex: 1;
  min-width: 0;
}
.local-workspace .local-editor-project-heading h1 {
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  min-width: 0;
}
.local-workspace .local-editor-save-status {
  margin: 2px 0 0;
  font-size: 10px;
  line-height: 16px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.local-workspace .workspace-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  max-width: 160px;
  min-height: 30px;
  padding: 4px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--soft);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.local-workspace .workspace-login:hover { color: var(--accent); }
.local-workspace .local-editor-toolbar {
  position: relative;
  min-height: 38px;
  height: auto;
  gap: 10px;
  padding: 4px 18px;
  flex-wrap: wrap;
  background: var(--surface);
}
.local-workspace .local-editor-toolbar-group {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.local-workspace .local-editor-document-actions {
  padding-left: 10px;
  border-left: 1px solid var(--line);
}
.local-workspace .local-editor-toolbar button,
.local-workspace .local-editor-toolbar summary {
  min-height: 28px;
  padding: 4px 9px;
  font-size: 11px;
  white-space: nowrap;
}
.local-workspace .local-editor-toolbar button:not(.primary) {
  border-color: transparent;
  background: transparent;
  color: var(--soft);
}
.local-workspace .local-editor-toolbar button:not(.primary):hover { background: var(--surface-2); }
.local-workspace .local-editor-compile {
  min-width: 58px;
  font-size: 12px;
  font-weight: 500;
}
.local-workspace:has(.local-compile .local-editor-compile-menu .primary:disabled) .local-editor-compile { opacity: .55; }
.local-workspace .local-editor-toolbar > [data-local-pdf-save-status] {
  margin: 0;
  max-width: 290px;
  font-size: 10px;
  line-height: 16px;
}
.local-workspace .local-editor-toolbar > [data-local-pdf-save-status][data-phase=failed] { color: #a73232; }
.local-workspace .local-editor-menu,
.local-workspace .local-workspace-settings[open],
.local-workspace .editor-file-menu[open] {
  position: relative;
  top: auto;
  right: auto;
  width: auto;
  max-width: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 11px;
}
.local-workspace .local-editor-menu > summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 28px;
  border-radius: 6px;
  padding: 5px 9px;
  font-size: 11px;
  white-space: nowrap;
}
.local-workspace .local-editor-menu > summary::after { content: '⌄'; color: var(--muted); font-size: 12px; }
.local-workspace .local-editor-menu > summary:hover,
.local-workspace .local-editor-menu[open] > summary { background: var(--accent-soft); color: var(--accent); }
.local-workspace .local-editor-menu-body {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 20;
  width: 252px;
  max-width: calc(100vw - 24px);
  max-height: min(440px, 65dvh);
  overflow: auto;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.local-workspace .local-editor-menu:not([open]) > .local-editor-menu-body { display: none; }
.local-workspace .local-editor-menu-body > button {
  display: block;
  width: 100%;
  margin: 2px 0;
  border-color: transparent;
  background: transparent;
  text-align: left;
  font-size: 12px;
  min-height: 32px;
  padding: 6px 8px;
}
.local-workspace .local-editor-menu-body > button:hover { background: var(--surface-2); }
.local-workspace .local-editor-menu-body label {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  margin: 4px 0 10px;
  font-size: 11px;
  color: var(--muted);
}
.local-workspace .local-editor-menu-body input,
.local-workspace .local-editor-menu-body select { width: 100%; max-width: 100%; font-size: 12px; }
.local-workspace .local-editor-menu-body > .subtle { margin: 8px; overflow-wrap: anywhere; }
.local-workspace .local-editor-toolbar .local-workspace-settings { display: block; }
.local-workspace .local-workspace-grid {
  grid-template-columns: var(--tree-size, 205px) minmax(360px, 1fr) minmax(320px, var(--pdf-size, 46%));
  grid-template-rows: minmax(0, 1fr);
  background: var(--bg);
}
.local-workspace .workspace-files-toggle,
.local-workspace .workspace-files-close { display: none; }
.local-workspace .workspace-files-close { min-height: 32px; padding: 4px 8px; font-size: 11px; }
.local-workspace .local-workspace-files {
  padding: 8px 10px;
  background: var(--bg);
  border-color: var(--line);
}
.local-workspace .files-heading {
  position: relative;
  display: flex;
  min-height: 36px;
  gap: 6px;
  margin: 0 0 8px;
  padding: 0 4px;
}
.local-workspace .files-heading h2 { flex: 1; margin: 0; font-size: 12px; font-weight: 600; }
.local-workspace .local-editor-file-count { font-size: 10px; }
.local-workspace .local-editor-files-menu { position: static; }
.local-workspace .local-editor-files-menu > summary { padding: 4px 6px; font-size: 10px; }
.local-workspace .local-editor-files-menu > .local-editor-menu-body { left: 0; right: 0; width: auto; }
.local-workspace .file-import-menu { margin: 8px 0 0; padding-top: 6px; border-bottom: 0; }
.local-workspace .file-import-menu > summary { padding: 6px 8px; font-size: 11px; }
.local-workspace .file-import-menu input[type=file] { padding: 6px; font-size: 10px; }
.local-workspace .local-workspace-files > .file { margin: 2px 0; padding: 8px 10px; min-height: 32px; line-height: 18px; }
.local-workspace .local-workspace-files > .file:hover { background: var(--surface-2); }
.local-workspace .local-workspace-files > .file.active { background: var(--accent-soft); color: var(--accent); }
.local-workspace .local-workspace-editor,
.local-workspace .local-workspace-output {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
}
.local-workspace .local-workspace-editor { margin: 8px 0 8px 8px; }
.local-workspace .local-workspace-output {
  /* The old 1000px layout spans two columns; this workbench keeps PDF beside source. */
  grid-column: auto;
  margin: 8px;
}
.local-workspace .editor-document-tab { position: relative; height: 36px; min-height: 36px; padding: 0 12px; gap: 8px; z-index: 5; }
.local-workspace .editor-document-tab > .subtle { color: var(--accent); font-size: 10px; }
.local-workspace .editor-document-tab strong { min-width: 0; font-size: 12px; }
.local-workspace .editor-document-tab > button { flex: none; }
.local-workspace .editor-file-menu { flex: none; }
.local-workspace .editor-file-menu > .local-editor-menu-body { width: 200px; }
.local-workspace .writer-controls { height: 36px; min-height: 36px; }
.local-workspace .writer-status { height: 24px; min-height: 24px; padding: 4px 12px; }
.local-workspace .local-editor-panel-heading {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  min-height: 36px;
  padding: 0 12px;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}
.local-workspace .local-editor-panel-heading h2 { flex: none; margin: 0; font-size: 11px; font-weight: 600; }
.local-workspace .local-editor-panel-heading > button { min-height: 26px; padding: 3px 7px; font-size: 10px; }
.local-workspace .local-editor-panel-navigation { position: static; flex: 1; min-width: 0; height: 28px; min-height: 28px; padding: 0; gap: 4px; border: 0; }
.local-workspace .local-editor-panel-navigation button {
  flex: 1;
  min-height: 28px;
  padding: 4px 7px;
  border-color: transparent;
  border-radius: 6px;
  background: transparent;
  font-size: 11px;
  color: var(--muted);
}
.local-workspace .local-editor-panel-navigation button[aria-pressed=true] { background: var(--accent-soft); color: var(--accent); font-weight: 500; }
.local-workspace .local-editor-pdf-body > .local-compile { padding: 4px 8px !important; }
.local-workspace .local-editor-compile-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-height: 24px; }
.local-workspace .local-editor-compile-strip > p { flex: 1; margin: 0; min-width: 100px; font-size: 10px; line-height: 16px; overflow-wrap: anywhere; }
.local-workspace .local-editor-compile-strip > .row { margin-left: auto; gap: 6px; }
.local-workspace .local-editor-compile-strip > progress { flex-basis: 100%; width: 100%; height: 5px; margin: 1px 0 3px; accent-color: var(--accent); }
.local-workspace .local-editor-compile-strip > .row > button { min-height: 26px; padding: 3px 8px; font-size: 11px; }
.local-workspace .local-editor-compile-menu > summary { min-height: 24px; padding: 3px 5px; font-size: 10px; }
.local-workspace .local-editor-compile-menu > .local-editor-menu-body { width: 210px; }
.local-workspace .compile-settings-body > h3 { margin: 2px 8px 6px; font-size: 12px; }
.local-workspace .compile-settings-body > p { margin: 4px 8px 10px; font-size: 11px; line-height: 16px; color: var(--muted); }
.local-workspace .compile-settings-body > button.primary { background: var(--accent); border-color: var(--accent); color: #fff; }
.local-workspace .local-editor-pdf-body .local-compile > h3,
.local-workspace .local-editor-pdf-body .local-compile > p:first-of-type { display: none; }
.local-workspace .local-editor-pdf-body .local-compile > details > summary { padding: 4px; font-size: 11px; }
.local-workspace .local-editor-pdf-body .notice { margin: 4px 0; padding: 6px 8px; font-size: 11px; line-height: 16px; }
.local-workspace .local-workspace-retained-pdf { margin: 0; padding: 0 8px 8px; }
.local-workspace .local-workspace-retained-pdf > h3 { display: none; }
.local-workspace:has([data-local-pdf-save-status][data-phase=failed]) .local-workspace-retained-pdf > h3 { display: block; margin: 3px 0; color: #a73232; font-size: 11px; }
.local-workspace .local-workspace-retained-pdf > [data-local-retained-pdf-status] { margin: 0 0 4px; font-size: 10px; line-height: 16px; }
.local-workspace .local-pdf-controls { min-height: 28px; padding: 2px 0; gap: 3px; }
.local-workspace .local-pdf-controls button { min-height: 26px; padding: 3px 6px; font-size: 10px; white-space: nowrap; }
.local-workspace .local-pdf-controls input,
.local-workspace .local-pdf-controls select { height: 26px; min-height: 26px; padding: 2px 4px; font-size: 10px; }
.local-workspace .local-pdf-controls input[type=number] { width: 42px; }
.local-workspace .local-pdf-controls input[type=search] { flex: 1; min-width: 68px; width: 100px; }
.local-workspace .local-pdf-controls > span { font-size: 10px; white-space: nowrap; }
.local-workspace .local-pdf-viewer > p[role=status] { margin: 2px 0 4px; font-size: 10px; line-height: 16px; }
.local-workspace .local-pdf-page { padding: 4px; border-radius: 5px; }
.local-workspace .local-workspace-retained-pdf > button { min-height: 28px; margin-top: 6px; padding: 4px 8px; font-size: 11px; }
.local-workspace .local-assistant-panel > section { border: 0; }

@media (max-width: 1100px) {
  .local-workspace .local-editor-topbar { padding: 0 12px; gap: 10px; }
  .local-workspace .local-editor-toolbar { padding: 4px 12px; gap: 6px; }
  .local-workspace .local-editor-toolbar > [data-local-pdf-save-status] { max-width: 200px; }
}
@media (max-width: 999px) {
  .local-workspace .local-workspace-grid { grid-template-columns: minmax(360px, 1fr) minmax(320px, var(--pdf-size, 46%)); }
  .local-workspace .local-workspace-files,
  .local-workspace .tree-splitter { display: none; }
  .local-workspace .workspace-files-toggle,
  .local-workspace .workspace-files-close { display: inline-flex; }
  .local-workspace.files-open .local-workspace-files {
    display: block;
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 8px;
    width: min(280px, calc(100% - 16px));
    padding: 8px 10px;
    z-index: 6;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface);
    box-shadow: var(--shadow);
  }
}
@media (max-width: 820px) {
  .local-workspace .local-workspace-grid { grid-template-columns: minmax(0, 1fr); }
  .local-workspace .local-editor-topbar { gap: 8px; }
  .local-workspace .local-editor-topbar .product-brand { font-size: 15px; }
  .local-workspace .workspace-back { padding-left: 8px; font-size: 11px; }
  .local-workspace .workspace-login { display: inline-flex; max-width: 96px; padding: 4px 8px; font-size: 11px; }
  .local-workspace .local-editor-toolbar { align-items: center; gap: 4px; padding: 5px 8px; }
  .local-workspace .local-editor-toolbar-group { display: contents; }
  .local-workspace .local-editor-toolbar > .grow { display: none; }
  .local-workspace .local-editor-toolbar button,
  .local-workspace .local-editor-toolbar summary { min-height: 36px; padding: 7px 8px; font-size: 11px; }
  .local-workspace .local-editor-toolbar .local-workspace-settings,
  .local-workspace .local-editor-toolbar .local-workspace-settings[open] { display: block; position: static; }
  .local-workspace .local-editor-toolbar .local-workspace-settings > .local-editor-menu-body { left: 8px; right: auto; width: min(320px, calc(100vw - 24px)); }
  .local-workspace .local-editor-toolbar > [data-local-pdf-save-status] { display: block; width: 100%; max-width: none; order: 1; font-size: 10px; }
  .local-workspace .local-workspace-editor { margin: 8px; }
  .local-workspace.files-open .local-workspace-files {
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 8px;
    width: min(264px, calc(100% - 16px));
    padding: 8px 10px;
    z-index: 6;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface);
    box-shadow: var(--shadow);
  }
  .local-workspace.pdf-open .local-workspace-output {
    position: absolute;
    top: 8px;
    bottom: 8px;
    right: 8px;
    width: min(94%, 680px);
    margin: 0;
    grid-column: auto;
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: var(--shadow);
  }
}
@media (max-width: 480px) {
  .local-workspace.pdf-open .local-editor-panel-actions { display: none; }
  .local-workspace .local-editor-panel-heading { min-height: 48px; height: 48px; padding: 0 8px; gap: 6px; }
  .local-workspace .local-editor-panel-heading h2 { display: none; }
  .local-workspace .local-editor-panel-navigation { height: 40px; min-height: 40px; }
  .local-workspace .local-editor-panel-navigation button { white-space: nowrap; min-width: 0; min-height: 40px; padding: 7px 8px; font-size: 12px; }
  .local-workspace .local-editor-panel-heading > button { min-height: 40px; white-space: nowrap; padding: 5px 8px; font-size: 12px; }
  .local-workspace .local-editor-topbar { padding: 0 10px; gap: 6px; }
  .local-workspace .local-editor-topbar .product-brand > span:last-child { display: none; }
  .local-workspace .local-editor-project-heading h1 { font-size: 12px; }
  .local-workspace .local-editor-save-status { font-size: 9px; }
  .local-workspace .workspace-login { max-width: 66px; padding: 4px 6px; }
  .local-workspace .local-editor-project-menu > summary { padding: 5px 6px; font-size: 10px; }
  .local-workspace .local-editor-project-menu > .local-editor-menu-body { right: -66px; }
  .local-workspace .local-editor-toolbar { column-gap: 2px; }
  .local-workspace .local-editor-toolbar button,
  .local-workspace .local-editor-toolbar summary { padding: 5px 6px; }
  .local-workspace .local-editor-compile { min-width: 48px; }
  .local-workspace .editor-document-tab { gap: 5px; padding: 0 8px; }
  .local-workspace .editor-document-tab strong { font-size: 11px; }
}

/* Secondary pages share the product palette; editor and library layouts stay scoped elsewhere. */
:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) {
  --surface-danger: #b13535;
  --surface-warning: #996526;
  color: var(--ink);
  min-width: 0;
}

:root[data-theme="dark"] :is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) {
  --surface-danger: #ed9b9b;
  --surface-warning: #e4bf88;
}

:is(main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 46px 42px 64px;
}

:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) :is(h1, h2, h3, p, label, a) {
  overflow-wrap: anywhere;
}

:is(main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) > h1 {
  margin: 0 0 24px;
  font-size: 29px;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: -.035em;
}

:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) :is(button, a.button) {
  max-width: 100%;
  min-height: 36px;
  padding: 8px 13px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--soft);
  background: var(--surface);
  font-size: 12px;
  line-height: 1.5;
  white-space: normal;
  text-align: center;
}

:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) :is(button, a.button):hover {
  background: var(--surface-2);
  border-color: color-mix(in srgb, var(--accent) 18%, var(--line));
}

:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) :is(button.primary, a.button.primary) {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) :is(button.primary, a.button.primary):hover {
  background: color-mix(in srgb, var(--accent) 90%, black);
  border-color: var(--accent);
}

:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) .danger {
  color: var(--surface-danger);
}

:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) :is(input, select, textarea) {
  min-width: 0;
  max-width: 100%;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  color: var(--ink);
  font-size: 13px;
  line-height: 1.5;
  padding: 10px 12px;
}

:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) :is(input[type="checkbox"], input[type="range"]) {
  accent-color: var(--accent);
}

:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) input[type="checkbox"] {
  width: auto;
  margin: 0 8px 0 0;
  padding: 0;
  vertical-align: middle;
}

:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) :is(label, .auth-field) {
  display: block;
  margin: 16px 0 7px;
  color: var(--soft);
  font-size: 12px;
  line-height: 1.7;
}

:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) label > :is(input:not([type="checkbox"]), select, textarea) {
  display: block;
  width: 100%;
  margin-top: 7px;
}

:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) :is(.notice, .quote) {
  margin: 14px 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--soft);
  background: var(--surface-2);
  font-size: 12px;
  line-height: 1.8;
}

:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) :is(.error, [role="alert"]):not(:empty) {
  margin: 14px 0;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--surface-danger) 25%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface-danger) 4%, var(--surface));
  color: var(--surface-danger);
  font-size: 12px;
  line-height: 1.8;
  white-space: pre-wrap;
}

:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) :is(.error, [role="alert"]):empty {
  display: none;
}

:is(.auth-card, form.login, main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) [role="alert"] > .error {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

/* Login, registration, verification, and password recovery. */
:is(.auth-card, form.login) {
  width: min(440px, calc(100% - 32px));
  max-width: 440px;
  margin: clamp(32px, 8vh, 88px) auto 48px;
  padding: 32px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: none;
}

:is(.auth-card, form.login) h1 {
  margin: 0 0 12px;
  font-family: inherit;
  font-size: 25px;
  line-height: 1.4;
  font-weight: 600;
}

:is(.auth-card, form.login) > p {
  margin: 10px 0 20px;
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted);
}

.auth-card .auth-brand {
  display: inline-block;
  margin: 0 0 24px;
  color: var(--accent);
  font: 24px Georgia, serif;
  letter-spacing: -.7px;
}

:is(.auth-card, form.login) .auth-links {
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 18px 0 0;
}

:is(.auth-card, form.login) .auth-links button {
  min-height: 28px;
  padding: 4px 0;
  border-color: transparent;
  background: transparent;
  color: var(--muted);
  font-size: 11px;
}

:is(.auth-card, form.login) .auth-links button:hover {
  color: var(--accent);
}

:is(.auth-card, form.login) [aria-label="登录方式"] {
  display: flex;
  gap: 4px;
  margin: 20px 0 22px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface-2);
}

:is(.auth-card, form.login) [aria-label="登录方式"] button {
  flex: 1 1 120px;
  min-width: 0;
  border-color: transparent;
  background: transparent;
  color: var(--muted);
}

:is(.auth-card, form.login) [aria-label="登录方式"] button[aria-pressed="true"] {
  border-color: var(--line);
  background: var(--surface);
  color: var(--accent);
  font-weight: 600;
}

:is(.auth-card, form.login) :is(button[type="submit"], a.button.full) {
  min-height: 40px;
  margin-top: 18px;
}

.auth-card .auth-form + button { margin-top: 10px; }

.auth-card .auth-status:not(:empty) {
  margin: 18px 0;
  padding: 11px 13px;
  border-left: 2px solid var(--accent);
  border-radius: 0 7px 7px 0;
  background: var(--accent-soft);
  color: var(--soft);
  font-size: 12px;
  line-height: 1.8;
}

.auth-card .auth-status:empty {
  display: none;
}

.auth-card :is(.auth-verification, .auth-legal) {
  max-width: 100%;
  min-width: 0;
}

.auth-card .auth-verification canvas {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 12px 0;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.auth-card .auth-verification input[type="range"] {
  padding: 0;
  border: 0;
  background: transparent;
}

.auth-card .auth-legal > a {
  display: inline-block;
  max-width: 100%;
  margin: 6px 12px 6px 0;
  font-size: 12px;
  line-height: 1.7;
}

.auth-card .auth-legal :is(.notice h3, .notice p) {
  margin: 0 0 8px;
  font-size: 12px;
}

/* Account tabs use the same underline and spacing as the manuscript library. */
main.projects[aria-label="账号中心"] nav[aria-label="账号栏目"] {
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 24px;
  max-width: 100%;
  margin: 0 0 23px;
  padding: 0;
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
}

main.projects[aria-label="账号中心"] nav[aria-label="账号栏目"] > button {
  flex-shrink: 0;
  min-height: 44px;
  margin: 0;
  padding: 7px 0 13px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--muted);
  background: transparent;
  white-space: nowrap;
}

main.projects[aria-label="账号中心"] nav[aria-label="账号栏目"] > button:disabled {
  border-bottom-color: var(--accent);
  color: var(--accent);
  font-weight: 600;
  opacity: 1;
}

main.projects[aria-label="账号中心"] :is(.version, .account-card, .account-form) {
  min-width: 0;
  max-width: 100%;
  margin: 12px 0;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}

main.projects[aria-label="账号中心"] .version :is(h2, h3) {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.6;
  font-weight: 600;
}

main.projects[aria-label="账号中心"] .version p {
  margin: 0 0 8px;
  color: var(--soft);
  font-size: 12px;
  line-height: 1.8;
  white-space: pre-wrap;
}

main.projects[aria-label="账号中心"] > div:last-of-type > .version {
  display: grid;
  grid-template-columns: minmax(120px, 150px) minmax(0, 1fr);
  gap: 6px 22px;
  align-items: start;
  padding-top: 17px;
  padding-bottom: 17px;
}

main.projects[aria-label="账号中心"] > div:last-of-type > .version > :is(h2, h3, p) {
  margin: 0;
}

main.projects[aria-label="账号中心"] > div:last-of-type > .version > button {
  grid-column: 2;
  justify-self: start;
}

main.projects[aria-label="账号中心"] .account-form {
  max-width: 600px;
  margin: 22px 0;
}

main.projects[aria-label="账号中心"] .account-form > :is(h2, h3) {
  margin: 0 0 9px;
  font-size: 16px;
  font-weight: 600;
}

main.projects[aria-label="账号中心"] .account-form > button {
  margin: 10px 8px 0 0;
}

main.projects[aria-label="账号中心"] :is(.account-commerce, .account-teams, .account-sessions) {
  margin-top: 32px;
  padding-top: 25px;
  border-top: 1px solid var(--line);
}

main.projects[aria-label="账号中心"] :is(.account-commerce, .account-teams, .account-sessions, .account-card) > h2 {
  margin: 0 0 14px;
  font-size: 17px;
  line-height: 1.6;
  font-weight: 600;
}

main.projects[aria-label="账号中心"] [aria-label="计费账户"] {
  flex-wrap: wrap;
  gap: 7px;
  margin: 18px 0;
}

main.projects[aria-label="账号中心"] [aria-label="计费账户"] > button:disabled {
  color: var(--accent);
  border-color: color-mix(in srgb, var(--accent) 18%, var(--line));
  background: var(--accent-soft);
  opacity: 1;
}

/* Inbox cards keep the manuscript name readable and separate actions from metadata. */
main.projects[aria-label="评论通知收件箱"] > :is(.subtle, [role="status"]) {
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted);
}

main.projects[aria-label="评论通知收件箱"] .version {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 6px 12px;
  min-width: 0;
  margin: 12px 0;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}

main.projects[aria-label="评论通知收件箱"] .version h2 {
  grid-column: 1;
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 600;
}

main.projects[aria-label="评论通知收件箱"] .version p {
  grid-column: 1;
  margin: 0;
  font-size: 11px;
  line-height: 1.8;
  color: var(--muted);
}

main.projects[aria-label="评论通知收件箱"] .version > button {
  grid-row: 1 / 3;
  align-self: center;
}

main.projects[aria-label="评论通知收件箱"] [aria-label="待确认的已读请求"]:not(:empty) {
  margin: 18px 0;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--surface-warning) 25%, var(--line));
  border-radius: 8px;
  color: var(--surface-warning);
  background: color-mix(in srgb, var(--surface-warning) 5%, var(--surface));
}

main.projects[aria-label="评论通知收件箱"] [aria-label="待确认的已读请求"] > p {
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.8;
}

/* The invitation's existing permission and acceptance flow remains unchanged. */
main.projects[aria-label="论文账号邀请"] {
  max-width: 860px;
}

main.projects[aria-label="论文账号邀请"] > p {
  max-width: 680px;
  margin: 16px 0;
  font-size: 13px;
  line-height: 1.9;
  color: var(--soft);
}

main.projects[aria-label="论文账号邀请"] > [role="status"] {
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  font-size: 12px;
}

main.projects[aria-label="论文账号邀请"] > button {
  margin: 12px 8px 0 0;
  color: var(--accent);
  border-color: color-mix(in srgb, var(--accent) 18%, var(--line));
}

@media (max-width: 1100px) {
  :is(main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) {
    padding: 36px 28px 56px;
  }
}

@media (max-width: 600px) {
  :is(main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) {
    padding: 28px 18px 48px;
  }

  :is(main.projects[aria-label="账号中心"], main.projects[aria-label="评论通知收件箱"], main.projects[aria-label="论文账号邀请"]) > h1 {
    font-size: 26px;
    margin-bottom: 21px;
  }

  :is(.auth-card, form.login) {
    margin-top: 28px;
    padding: 24px;
  }

  main.projects[aria-label="账号中心"] nav[aria-label="账号栏目"] {
    gap: 20px;
  }

  main.projects[aria-label="账号中心"] :is(.version, .account-card, .account-form) {
    padding: 17px 16px;
  }

  main.projects[aria-label="账号中心"] > div:last-of-type > .version {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }

  main.projects[aria-label="账号中心"] > div:last-of-type > .version > button {
    grid-column: 1;
  }

  main.projects[aria-label="评论通知收件箱"] .version {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 12px;
    padding: 18px 16px;
  }

  main.projects[aria-label="评论通知收件箱"] .version > button {
    grid-row: 3;
    justify-self: start;
    margin-top: 5px;
  }
}

/* Web equivalent of the accepted 20261020.2 Mac paper workspace. */
.mac-workspace-header,
.local-workspace.mac-workspace .local-editor-topbar { height:44px; min-height:44px; padding:0 20px; gap:10px; border:0; background:var(--bg); flex-wrap:nowrap; }
.mac-workspace-header .workspace-breadcrumb { display:flex; align-items:center; gap:10px; min-width:0; color:var(--soft); }
.mac-workspace-header .workspace-breadcrumb h1,
.mac-workspace-header .web-header-title { margin:0; min-width:0; font:600 13px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mac-workspace-header .workspace-back { border:0; padding:0 12px 0 0; font-size:12px; }
.mac-breadcrumb-home,.mac-header-inbox { display:flex; align-items:center; justify-content:center; min-height:28px; border:0; background:transparent; color:var(--muted); }
.paper-icon { display:inline-block; flex:none; vertical-align:middle; }
.mac-workspace { --mac-nav-width:var(--tree-size,248px); font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Segoe UI",sans-serif; }
.local-workspace.mac-workspace .local-editor-toolbar,
.mac-workspace .workspace-command-bar { position:relative; height:44px; min-height:44px; padding:6px 20px 6px calc(var(--mac-nav-width) + 16px); gap:8px; border:0; background:var(--bg); flex-wrap:nowrap; overflow:visible; }
.mac-workspace .workspace-command-bar > button,
.local-workspace.mac-workspace .local-editor-toolbar > button { display:inline-flex; align-items:center; justify-content:center; gap:6px; height:28px; min-height:28px; padding:4px 10px; border-radius:6px; font-size:12px; white-space:nowrap; }
.mac-workspace .workspace-command-bar > .primary,
.local-workspace.mac-workspace .local-editor-toolbar > .primary { background:var(--accent); color:#fff; }
.mac-workspace .workspace-compile::before,.mac-workspace .workspace-share::before,.mac-workspace .file::before { content:none; }
.mac-workspace .workspace-command-bar .workspace-save-status { font-size:11px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:35%; }
.mac-workspace .workspace-command-bar > .grow { display:block; }
.mac-compile-location { font-size:11px; white-space:nowrap; }
.local-workspace.mac-workspace .local-workspace-settings { position:relative; top:auto; right:auto; padding:0; width:auto; background:transparent; border:0; box-shadow:none; }
.local-workspace.mac-workspace .local-workspace-settings > summary { min-width:28px; min-height:28px; padding:4px 8px; background:transparent; }
.local-workspace.mac-workspace .local-workspace-settings > summary::after { content:none; }
.mac-workspace .mac-icon-button { width:28px; min-width:28px; padding:4px!important; border:0; background:transparent; }
.mac-workspace .workspace-share { background:transparent; border:1px solid var(--line); }
.local-workspace.mac-workspace .local-workspace-grid { display:grid; grid-template-columns:var(--tree-size,248px) minmax(360px,1fr) minmax(320px,var(--pdf-size,43%)); grid-template-rows:minmax(0,1fr); gap:0; min-height:0; overflow:visible; }
.mac-workspace .cloud-workbench { display:grid; grid-template-columns:248px minmax(0,1.32fr) minmax(0,1fr); grid-template-rows:minmax(0,1fr); gap:8px; padding:4px 10px 0 0; overflow:visible; }
.local-workspace.mac-workspace .local-workspace-files,
.mac-workspace .cloud-workbench > .sidebar { display:flex; flex-direction:column; position:relative; padding:0 10px 4px; margin-top:-44px; min-width:0; min-height:0; height:auto; border:0; background:var(--bg); overflow:auto; z-index:4; }
.mac-navigation-head { flex:none; min-width:0; }
.mac-navigation-brand-row { display:flex; align-items:center; gap:3px; min-height:40px; padding:0 6px; }
.mac-navigation-brand { display:inline-flex; align-items:center; gap:8px; flex:1; min-width:0; font-size:13px; font-weight:600; color:var(--ink); }
.mac-navigation-brand > svg { color:var(--accent); }
.mac-icon-link,.mac-workspace .mac-navigation-brand-row summary { display:flex; align-items:center; justify-content:center; width:28px; height:28px; min-height:28px; padding:4px; border:0; border-radius:6px; font-size:13px; color:var(--muted); background:transparent; }
.mac-icon-link > span { display:none; }
.mac-workspace .mac-navigation-brand-row summary::after { content:none; }
.mac-icon-link:hover { background:var(--surface-2); }
.mac-workspace .mac-project-search { width:calc(100% - 8px); min-height:32px; margin:0 4px 10px; padding:6px 9px; border:1px solid var(--line); border-radius:7px; background:var(--surface); font-size:12px; }
.mac-project-navigation,.mac-other-projects { flex:none; min-width:0; }
.mac-project-caption { display:flex; align-items:center; justify-content:space-between; min-height:28px; padding:5px 10px; color:var(--muted); font-size:11px; }
.mac-project-row { display:flex; align-items:center; min-height:34px; border-radius:7px; }
.mac-project-row.active { background:var(--surface-2); box-shadow:inset 2px 0 var(--accent); }
.mac-project-link { display:flex; align-items:center; gap:7px; flex:1; min-width:0; padding:7px 4px; color:var(--soft); font-size:12px; }
.mac-project-link > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mac-project-row.active .mac-project-link > svg { color:var(--accent); }
.mac-project-disclosure,.mac-project-indent { display:grid; place-items:center; flex:none; width:22px; min-height:28px; padding:4px!important; border:0; background:transparent; color:var(--muted); }
.mac-project-disclosure > svg { width:12px; height:12px; }
.mac-project-disclosure[aria-expanded=false] > svg { transform:rotate(-90deg); }
.mac-workspace .mac-project-content-search { display:flex; align-items:center; gap:7px; width:100%; min-height:28px; padding:4px 12px; border:0; background:transparent; color:var(--muted); font-size:11px; }
.mac-navigation-files { flex:none; padding:0 0 8px 18px; min-width:0; }
.mac-workspace .files-heading,.mac-workspace .workspace-files-heading { min-height:28px; height:28px; margin:0; padding:0 6px; gap:4px; }
.mac-workspace .files-heading h2 { font-size:11px; font-weight:400; color:var(--muted); }
.mac-workspace .mac-navigation-files .file { display:flex; align-items:center; gap:8px; width:100%; min-width:0; min-height:32px; padding:7px 10px; margin:0; border:0; border-radius:6px; font-size:12px; line-height:18px; text-align:left; overflow-wrap:anywhere; color:var(--soft); background:transparent; }
.mac-workspace .mac-navigation-files .file svg { width:14px; height:14px; color:var(--muted); }
.mac-workspace .mac-navigation-files .file.active { background:var(--surface-2); color:var(--ink); font-weight:500; }
.mac-workspace .mac-navigation-files .file.active svg { color:var(--accent); }
.mac-workspace .mac-navigation-files .file:hover { background:var(--surface-2); }
.mac-navigation-footer { display:flex; align-items:center; gap:4px; flex:none; margin-top:auto; padding:16px 8px 6px; min-height:52px; }
.mac-navigation-account { display:flex; align-items:center; gap:9px; min-width:0; flex:1; color:var(--soft); font-size:12px; }
.mac-navigation-account span { white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.mac-workspace .mac-navigation-account-menu > summary { width:28px; min-height:28px; border:0; background:transparent; padding:4px; }
.mac-navigation-account-menu .cloud-project-menu-actions { top:auto; bottom:calc(100% + 5px); right:0; }
.local-workspace.mac-workspace .local-workspace-editor { margin:4px 0 0 6px; border:1px solid var(--line); border-radius:12px; }
.local-workspace.mac-workspace .local-workspace-output { display:flex; flex-direction:column; grid-column:auto; margin:4px 10px 0 8px; padding:0; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.mac-workspace .cloud-workbench > .editor-pane,.mac-workspace .cloud-workbench > .right-pane { height:auto; min-height:0; border-radius:12px; }
.local-workspace.mac-workspace .editor-document-tab { display:flex; align-items:center; min-height:36px; height:36px; padding:0 12px; gap:8px; }
.local-workspace.mac-workspace .editor-document-tab > strong { align-self:stretch; font-size:13px; line-height:35px; border-bottom:2px solid var(--accent); }
.mac-workspace .editor-document-tab > .writer-controls,.mac-workspace .toolbar > .writer-controls { display:flex; align-items:center; flex:none; gap:2px; min-height:0; height:34px; padding:0; border:0; background:transparent; overflow:visible; }
.mac-workspace .editor-document-tab .writer-controls button,.mac-workspace .toolbar .writer-controls button { display:flex; align-items:center; justify-content:center; width:28px; min-height:28px; padding:4px; border:0; background:transparent; font-size:0; }
.mac-control-label { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.mac-workspace .editor-file-menu > summary,.mac-workspace .workspace-document-menu > summary { display:flex; align-items:center; gap:5px; min-height:28px; padding:4px 3px; font-size:11px; }
.local-workspace.mac-workspace .local-editor-panel-heading { position:relative; height:36px; min-height:36px; padding:0 12px; }
.local-workspace.mac-workspace .local-editor-panel-heading > h2 { display:none; }
.local-workspace.mac-workspace .local-editor-panel-navigation { display:flex; align-items:stretch; gap:18px; height:36px; min-height:36px; }
.local-workspace.mac-workspace .local-editor-panel-navigation > button { flex:0 0 auto; min-height:36px; padding:6px 0; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:var(--muted); font-size:12px; }
.local-workspace.mac-workspace .local-editor-panel-navigation > button[aria-pressed=true] { border-bottom-color:var(--accent); background:transparent; color:var(--ink); font-weight:600; }
.mac-workspace .cloud-workbench .tabs { gap:18px; padding:0 14px; }
.mac-workspace .cloud-workbench .tabs > button { font-size:12px; }
.local-workspace.mac-workspace .local-editor-pdf-body { flex:1; min-height:0; overflow:auto; }
.local-workspace.mac-workspace .local-assistant-panel { flex:1; min-height:0; overflow:auto; }
.mac-workspace .workspace-status-bar { display:flex; align-items:center; gap:12px; flex:none; height:24px; min-height:24px; padding:0 16px 0 calc(var(--mac-nav-width) + 16px); font-size:10px; overflow:hidden; color:var(--muted); background:var(--bg); }
.mac-workspace .workspace-status-bar > p,.mac-workspace .workspace-status-bar .writer-status { margin:0; padding:0; border:0; min-height:0; height:auto; background:transparent; font-size:10px; line-height:16px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mac-workspace .workspace-status-bar > [data-local-save-status] { max-width:45%; }
.mac-workspace .workspace-status-bar > [data-local-pdf-save-status] { max-width:25%; }
.local-workspace.mac-workspace .local-editor-pdf-body .local-compile { border:0; margin-bottom:0; }
.mac-workspace .local-pdf-page { border-radius:0; background:var(--surface-2); padding:16px; max-height:calc(100dvh - 225px); }
.mac-workspace .local-pdf-sheet { box-shadow:0 4px 16px #0001; }
.mac-workspace .workspace-splitter { z-index:5; }
.mac-workspace .tree-splitter { top:-44px; }
@media(min-width:1000px) {
  .mac-workspace .workspace-files-toggle,.mac-workspace .workspace-files-close,.mac-workspace .workspace-close-files { display:none!important; }
  .mac-workspace .tree-splitter { display:block; }
}
@media(max-width:999px) {
  .local-workspace.mac-workspace .local-workspace-grid { grid-template-columns:minmax(360px,1fr) minmax(320px,var(--pdf-size,43%)); }
  .mac-workspace .cloud-workbench { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); padding-left:8px; }
  .local-workspace.mac-workspace .local-editor-toolbar,.mac-workspace .workspace-command-bar { padding-left:14px; }
  .mac-workspace .workspace-status-bar { padding-left:14px; }
  .local-workspace.mac-workspace .local-workspace-files,.mac-workspace .cloud-workbench > .sidebar,.mac-workspace .tree-splitter { display:none; }
  .local-workspace.mac-workspace .workspace-files-toggle,.mac-workspace .workspace-command-bar > .workspace-files-toggle { display:inline-flex; }
  .local-workspace.mac-workspace .workspace-files-close,.mac-workspace .workspace-close-files { display:flex; margin-left:auto; font-size:11px; }
  .local-workspace.mac-workspace.files-open .local-workspace-files,.mac-workspace .cloud-workbench.files-open > .sidebar { display:flex; position:absolute; margin-top:0; top:4px; bottom:0; left:8px; width:min(288px,calc(100% - 16px)); padding:8px; background:var(--surface); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); z-index:10; }
  .mac-workspace .mac-compile-location { display:none; }
  .local-workspace.mac-workspace .local-editor-panel-navigation,.mac-workspace .cloud-workbench .tabs { gap:14px; }
}
@media(max-width:820px) {
  .local-workspace.mac-workspace .local-workspace-grid,.mac-workspace .cloud-workbench { grid-template-columns:minmax(0,1fr); padding:0 8px; gap:0; }
  .local-workspace.mac-workspace .local-workspace-editor { margin:4px 0 0; }
  .local-workspace.mac-workspace .local-workspace-output,.mac-workspace .cloud-workbench > .right-pane { display:none; }
  .local-workspace.mac-workspace.pdf-open .local-workspace-output,.mac-workspace .cloud-workbench.pdf-open > .right-pane { display:flex; position:absolute; margin:0; top:4px; bottom:0; right:8px; width:calc(100% - 16px); z-index:9; box-shadow:var(--shadow); }
  .mac-workspace-header,.local-workspace.mac-workspace .local-editor-topbar { padding:0 14px; }
  .mac-workspace .workspace-status-bar > [data-local-pdf-save-status] { display:none; }
  .mac-workspace .workspace-status-bar .writer-status { max-width:50%; }
  .local-workspace.mac-workspace .local-editor-toolbar { overflow:visible; }
  .mac-workspace .workspace-command-bar > .workspace-share { display:none; }
  .local-workspace.mac-workspace .local-editor-toolbar .local-editor-panel-actions { display:flex; }
  .local-workspace.mac-workspace .local-editor-panel-heading { height:40px; min-height:40px; padding:0 10px; gap:8px; }
  .local-workspace.mac-workspace .local-editor-panel-navigation { gap:12px; height:40px; min-height:40px; }
  .local-workspace.mac-workspace .local-editor-panel-navigation > button { min-height:40px; font-size:12px; }
  .local-workspace.mac-workspace .local-editor-panel-heading > .narrow-only { min-height:36px; padding:4px 6px; font-size:11px; }
}
.mac-workspace .local-pdf-controls { display:flex; align-items:center; flex-wrap:nowrap; gap:6px; min-height:40px; padding:6px 4px; border-bottom:1px solid var(--line); }
.mac-workspace .local-pdf-controls > button { display:grid; place-items:center; width:26px; min-width:26px; min-height:26px; border:0; padding:4px; background:transparent; }
.mac-workspace .local-pdf-controls .pdf-previous svg { transform:rotate(180deg); }
.mac-workspace .local-pdf-controls > input[type=number] { width:34px; min-width:34px; padding:3px 4px; text-align:center; border-radius:5px; font-size:11px; }
.mac-workspace .local-pdf-controls > select { width:96px; margin-left:4px; border-radius:5px; font-size:11px; }
.mac-workspace .local-pdf-controls > span { font-size:11px; color:var(--muted); }
.mac-workspace .mac-pdf-search { position:relative; flex:none; }
.mac-workspace .mac-pdf-search > summary { display:grid; place-items:center; width:28px; height:28px; padding:4px; border-radius:6px; }
.mac-workspace .mac-pdf-search-body { position:absolute; display:flex; align-items:center; gap:6px; right:0; top:calc(100% + 5px); z-index:6; width:260px; max-width:calc(100vw - 50px); padding:8px; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:var(--shadow); }
.mac-workspace .mac-pdf-search-body input { flex:1; min-width:0; width:100%; }
.mac-workspace .mac-pdf-search-body button { flex:none; min-height:28px; padding:4px 8px; }
.mac-workspace .local-pdf-viewer[data-ready=true][data-feedback=ready] > p[role=status] { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
/* The project library and account surfaces share the same Mac brand and icons. */
.product-nav .product-brand { gap:8px; font:600 13px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif; letter-spacing:0; }
.product-nav .product-brand > svg { color:var(--accent); }
.product-nav .nav-link > svg { flex:none; width:16px; height:16px; }
@media(max-width:820px) { .product-nav .product-brand { font-size:13px; } }
.mac-workspace .compile-output-freshness[data-stale=false] { position:absolute; width:1px; height:1px; margin:0; padding:0; border:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.mac-workspace .compile-panel-strip > p[role=status] { min-width:80px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Paper assistant: the Mac conversation layout, using the existing Web tokens. */
.local-assistant-panel:has(> .mac-paper-assistant),
.cloud-workbench .panel:has(> .mac-paper-assistant) {
  display: flex;
  flex: 1;
  min-width: 0;
  min-height: 0;
  padding: 0;
  overflow: hidden;
}
.mac-paper-assistant {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  color: var(--ink);
  background: var(--surface);
  font: 13px/1.6 -apple-system, BlinkMacSystemFont, "PingFang SC", "Segoe UI", sans-serif;
}
.mac-paper-assistant .mac-assistant-heading {
  position: relative;
  z-index: 5;
  display: flex;
  flex: 0 0 40px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 40px;
  padding: 0 12px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  flex-wrap: nowrap;
}
.mac-assistant-title { display: inline-flex; align-items: center; gap: 7px; min-width: 0; white-space: nowrap; font-size: 13px; font-weight: 600; }
.mac-assistant-title::before { content: "✧"; color: var(--accent); font-size: 17px; font-weight: 400; }
.mac-assistant-heading-actions { display: flex; flex: none; align-items: center; gap: 3px; }
.mac-paper-assistant .mac-assistant-heading-actions > button,
.mac-paper-assistant .mac-assistant-more > summary {
  display: grid;
  place-items: center;
  width: 28px;
  min-width: 28px;
  height: 28px;
  min-height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.mac-paper-assistant .mac-assistant-heading-actions > .mac-assistant-review {
  width: auto;
  min-width: 54px;
  gap: 5px;
  padding: 0 8px;
  border: 1px solid var(--line);
  background: var(--surface-2);
  color: var(--soft);
  font: inherit;
  font-size: 12px;
}
.mac-assistant-review::before { content: "◇"; font-size: 14px; }
.mac-paper-assistant .mac-assistant-heading-actions > button:hover:not(:disabled),
.mac-paper-assistant .mac-assistant-more > summary:hover { background: var(--surface-2); color: var(--ink); }
.mac-paper-assistant button:active { transform: none; }
.mac-assistant-more { position: relative; margin: 0; }
.mac-assistant-more-body {
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  width: 190px;
  max-width: calc(100vw - 32px);
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.mac-paper-assistant .mac-assistant-more-body > button { display: block; width: 100%; min-height: 34px; padding: 7px 9px; border: 0; border-radius: 5px; background: transparent; text-align: left; font: inherit; font-size: 12px; }
.mac-paper-assistant .mac-assistant-more-body > button:hover { background: var(--surface-2); }
.mac-assistant-scroll { position: relative; display: flex; flex: 1; flex-direction: column; min-height: 0; min-width: 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.mac-assistant-current-file { flex: none; overflow: hidden; margin: 0; padding: 8px 14px; color: var(--muted); font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
.mac-assistant-empty { display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 160px; padding: 24px 18px 40px; text-align: center; }
.mac-assistant-empty > strong { font-size: 16px; font-weight: 600; color: var(--ink); }
.mac-assistant-empty > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; white-space: pre-line; }
.mac-assistant-scroll:has(.mac-assistant-result:not(:empty)) > .mac-assistant-empty { display: none; }
.mac-assistant-result { min-width: 0; padding: 0 14px 12px; }
.mac-assistant-result:empty { padding: 0; }
.mac-paper-assistant .mac-assistant-result h3 { margin: 10px 0 6px; font-size: 13px; }
.mac-paper-assistant .assistant-answer { max-height: none; margin: 0 0 10px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--soft); font: inherit; font-size: 13px; line-height: 1.8; }
.mac-paper-assistant .paper-agent-workspace { position: static; min-width: 0; margin: 0; padding: 0 14px; border: 0; }
.mac-paper-assistant .assistant-quick-actions { display: none; }
.mac-paper-assistant .paper-agent-workspace > p:empty { display: none; }
.mac-paper-assistant .paper-agent-workspace > p { margin: 4px 0; font-size: 11px; }
.mac-paper-assistant .paper-agent-workspace > :is(.assistant-material-picker, .assistant-rules, .assistant-conversations):not([open]),
.mac-paper-assistant .mac-assistant-billing:not([open]) { display: none; }
.mac-paper-assistant :is(.assistant-material-picker, .assistant-rules, .assistant-conversations)[open],
.mac-paper-assistant .mac-assistant-billing[open] { position: absolute; inset: 0; z-index: 3; overflow: auto; margin: 0; padding: 0 14px 16px; background: var(--surface); overscroll-behavior: contain; scrollbar-width: thin; }
.mac-paper-assistant :is(.assistant-material-picker, .assistant-rules, .assistant-conversations, .mac-assistant-billing) > summary { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; min-height: 42px; padding: 8px 0; border-bottom: 1px solid var(--line); background: var(--surface); font-size: 12px; font-weight: 600; }
.mac-paper-assistant :is(.assistant-material-picker, .assistant-rules, .assistant-conversations, .mac-assistant-billing) > summary::after { content: "×"; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 6px; color: var(--muted); font-size: 18px; font-weight: 400; }
.mac-paper-assistant .assistant-transcript { max-height: none; overflow: visible; }
.mac-paper-assistant .assistant-message { margin: 10px 0; padding: 8px 10px; background: var(--surface-2); }
.mac-paper-assistant .assistant-conversation-text { color: var(--soft); font-size: 12px; }
.mac-paper-assistant .assistant-rules > pre { font: 12px/1.8 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; }
.mac-paper-assistant .assistant-agent-toggle { margin: 12px 0; }
.mac-paper-assistant .assistant-journal { margin: 8px 14px; }
.mac-paper-assistant .assistant-journal pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.mac-paper-assistant .mac-assistant-composer { position: relative; z-index: 4; flex: none; min-width: 0; margin: 10px; padding: 10px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.mac-paper-assistant .mac-assistant-status { max-height: 66px; margin: 0 0 8px; overflow: auto; color: var(--muted); font-size: 11px; line-height: 1.5; }
.mac-paper-assistant .mac-assistant-status:empty { display: none; }
.mac-assistant-context { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-width: 0; margin-bottom: 8px; }
.mac-assistant-range-label { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--muted); font-size: 11px; white-space: nowrap; }
.mac-paper-assistant .mac-assistant-range-label > select { width: auto; max-width: 145px; min-height: 26px; height: 26px; margin: 0; padding: 2px 22px 2px 6px; border: 1px solid var(--line); border-radius: 6px; font: inherit; color: var(--soft); background: var(--surface-2); }
.mac-paper-assistant .assistant-context-details { position: static; flex: none; margin: 0; }
.mac-paper-assistant .assistant-context-details > summary { padding: 3px 0; color: var(--muted); font-size: 10px; }
.mac-paper-assistant .assistant-context-details[open] > :not(summary) { position: absolute; z-index: 2; bottom: calc(100% + 8px); left: 0; right: 0; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); box-shadow: var(--shadow); }
.mac-assistant-range-preview > p { margin: 0 0 6px; font-size: 11px; color: var(--muted); }
.mac-assistant-range-preview > .assistant-context { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.mac-paper-assistant .assistant-context { max-height: min(260px, 40dvh); font-size: 11px; }
.mac-assistant-prompt-label { display: block; }
.mac-paper-assistant .mac-assistant-prompt { display: block; width: 100%; min-height: 68px; max-height: 180px; margin: 0; padding: 0; resize: vertical; border: 0; border-radius: 0; outline-offset: 3px; background: transparent; color: var(--ink); font: inherit; font-size: 13px; line-height: 1.7; }
.mac-assistant-prompt::placeholder { color: var(--muted); }
.mac-assistant-composer-footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; min-width: 0; margin-top: 8px; }
.mac-paper-assistant .mac-assistant-model-options { position: relative; min-width: 0; margin: 0; }
.mac-paper-assistant .mac-assistant-model-options > summary { max-width: 220px; min-height: 28px; padding: 4px 22px 4px 8px; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-2); color: var(--soft); font-size: 11px; line-height: 18px; text-overflow: ellipsis; white-space: nowrap; }
.mac-assistant-model-options > summary::after { content: "⌄"; position: absolute; right: 7px; }
.mac-assistant-option-body { position: absolute; left: 0; bottom: calc(100% + 8px); z-index: 6; width: 240px; max-width: calc(100vw - 64px); max-height: 55dvh; overflow: auto; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); box-shadow: var(--shadow); }
.mac-paper-assistant .mac-assistant-option-body .auth-field { margin: 0 0 12px; }
.mac-paper-assistant .mac-assistant-option-body select { min-width: 0; max-width: 100%; min-height: 32px; margin: 5px 0 0; padding: 5px 7px; font-size: 12px; }
.mac-paper-assistant .mac-assistant-option-body > button { min-height: 30px; padding: 5px 8px; font-size: 11px; }
.mac-assistant-send-actions { display: flex; flex: none; align-items: center; gap: 4px; }
.mac-paper-assistant :is(.mac-assistant-send, .mac-assistant-stop) { display: grid; place-items: center; width: 30px; min-width: 30px; height: 30px; min-height: 30px; margin: 0; padding: 0; border: 0; border-radius: 7px; font-size: 0; }
.mac-assistant-send::after { content: "↑"; font-size: 20px; }
.mac-assistant-stop::after { content: "■"; font-size: 12px; }
.mac-paper-assistant .mac-assistant-stop:disabled { display: none; }
.mac-assistant-access { flex: none; margin: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); background: var(--surface-2); font-size: 12px; }
.mac-assistant-access > p { margin: 0 0 10px; line-height: 1.7; }
.mac-assistant-access > a { display: inline-block; min-height: 30px; padding: 4px 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--accent); }
.mac-assistant-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 820px) {
  .mac-paper-assistant .mac-assistant-heading { min-height: 44px; flex-basis: 44px; padding-inline: 10px; }
  .mac-paper-assistant .mac-assistant-heading-actions > button,
  .mac-paper-assistant .mac-assistant-more > summary { width: 32px; min-width: 32px; height: 32px; min-height: 32px; }
  .mac-paper-assistant .mac-assistant-heading-actions > .mac-assistant-review { width: auto; min-width: 54px; }
  .mac-paper-assistant .mac-assistant-composer { margin: 8px; padding: 9px; }
  .mac-paper-assistant .mac-assistant-model-options > summary { max-width: 175px; }
  .mac-paper-assistant .assistant-context-details > summary { font-size: 10px; }
  .mac-assistant-empty { padding-inline: 14px; }
}
@media (max-height: 650px) {
  .mac-assistant-empty { min-height: 100px; padding-block: 16px; }
  .mac-paper-assistant .mac-assistant-prompt { min-height: 52px; max-height: 100px; }
}

/* The original textarea still owns input, IME, undo and UTF-16 selections. */
.mac-workspace .writer-viewport {
  --writer-line-height: 1.8;
  --writer-paper: #fff;
  --writer-ink: #283044;
  --writer-muted: #7c8496;
  --writer-command: #7549ae;
  --writer-comment: #63846c;
  --writer-bracket: #64718e;
  --writer-selection: #d7c6f2;
  --writer-current-line: #f5f3fa;
  --writer-cursor: #7549ae;
  background: var(--writer-paper);
}
:root[data-theme=dark] .mac-workspace .writer-viewport {
  --writer-paper: #1d2028;
  --writer-ink: #e2e5ed;
  --writer-muted: #949cad;
  --writer-command: #c7a6ef;
  --writer-comment: #9aaf9c;
  --writer-bracket: #adb8cf;
  --writer-selection: #584778;
  --writer-current-line: #292d38;
  --writer-cursor: #ceb0f4;
}
.mac-workspace .writer-gutter,
.mac-workspace .writer-paint,
.mac-workspace .writer-viewport textarea {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: var(--writer-font-size, 14px);
  line-height: var(--writer-line-height);
  font-weight: 400;
  font-style: normal;
  font-variant-ligatures: none;
  letter-spacing: 0;
  tab-size: 2;
}
.mac-workspace .writer-gutter {
  padding: 20px 0;
  color: var(--writer-muted);
  background: var(--writer-paper);
  opacity: 1;
}
.mac-workspace .writer-paint,
.mac-workspace .writer-viewport textarea {
  padding: 20px 12px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: normal;
  text-transform: none;
  text-indent: 0;
  text-align: left;
}
.mac-workspace .writer-viewport textarea {
  overflow-x: hidden;
  overflow-y: auto;
  caret-color: var(--writer-cursor);
}
.mac-workspace .writer-viewport textarea::selection {
  background: var(--writer-selection);
}
.mac-workspace .writer-paint {
  color: var(--writer-ink);
}
.mac-workspace .tex-command {
  color: var(--writer-command);
}
.mac-workspace .tex-comment {
  color: var(--writer-comment);
}
.mac-workspace .tex-punctuation {
  color: var(--writer-bracket);
}
.mac-workspace .writer-line,
.mac-workspace .writer-line-number {
  display: block;
  min-height: 1.8em;
  margin: 0;
  border: 0;
  padding: 0;
}
.mac-workspace .writer-line-number {
  padding-right: 9px;
  white-space: pre;
}
.mac-workspace .writer-line.writer-active-line {
  background: var(--writer-current-line);
  box-shadow: -12px 0 var(--writer-current-line), 12px 0 var(--writer-current-line);
}
.mac-workspace .writer-line-number.writer-active-line {
  background: var(--writer-current-line);
  color: var(--writer-ink);
}

.client-entry-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;line-height:1.5}
.nav-bottom>.client-entry-link{padding:12px 0;border-top:1px solid var(--line)}
.client-recommendation{display:flex;align-items:center;gap:16px;margin:22px 28px 0;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.client-recommendation>.paper-icon{width:28px;height:28px;flex:none;color:var(--accent)}
.client-recommendation-copy{flex:1;min-width:0}.client-recommendation strong{font-size:14px}.client-recommendation p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.7}
.client-dismiss{flex:none;border:0;background:transparent;min-width:34px;font-size:22px;color:var(--muted);cursor:pointer}.client-handoff-button{flex:none;font-size:12px;padding:7px 12px;white-space:nowrap}
.local-workspace-header>button.client-handoff-button,.cloud-workspace-header>button.client-handoff-button{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}
.local-workspace-header>.local-editor-project-heading{flex:1;min-width:0}.local-workspace-header .local-editor-project-heading h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.client-download-page{padding:clamp(24px,5vw,64px);max-width:1180px;width:100%;margin:auto;box-sizing:border-box}
.client-back{display:inline-block;margin-bottom:52px;font-size:13px;color:var(--muted)}.client-eyebrow{font-size:11px;letter-spacing:.16em;color:var(--accent);font-weight:600}
.client-download-page h1{font-size:clamp(28px,3.4vw,44px);letter-spacing:-.035em;line-height:1.3;margin:18px 0}.client-lead{max-width:580px;color:var(--muted);line-height:1.9;font-size:15px}
.client-platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:36px 0 20px}.client-platform-card{position:relative;min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:26px;display:flex;align-items:flex-start;flex-direction:column;gap:8px}
.client-platform-card.recommended{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.client-platform-card>.paper-icon{width:32px;height:32px;margin-bottom:20px}.client-platform-card h2{font-size:22px;margin:4px 0}.client-platform-card p{font-size:13px;color:var(--muted);line-height:1.7;margin:0 0 12px}.client-platform-tag{font-size:11px;color:var(--muted)}.recommended .client-platform-tag{color:var(--accent)}
.client-platform-card .client-release-unavailable{background:var(--surface-2);border-radius:7px;padding:9px 13px;margin:6px 0 0}.client-platform-card small{color:var(--muted);font-size:11px}
.client-download-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 15px;box-sizing:border-box;max-width:100%;background:var(--accent);border:1px solid var(--accent);border-radius:8px;color:#fff;font-size:13px;font-weight:600;line-height:1.5;transition:filter .14s,transform .14s}
.client-download-button:hover{filter:brightness(1.1);color:#fff}.client-download-button:active{transform:translateY(1px)}.client-storage-note{font-size:12px;color:var(--muted);line-height:1.8;padding-top:18px;border-top:1px solid var(--line)}.client-checksum{max-width:100%;font-size:11px;color:var(--muted)}.client-checksum code{display:block;overflow-wrap:anywhere;margin-top:8px}
.client-handoff-dialog{width:min(460px,calc(100vw - 32px));box-sizing:border-box}.client-handoff-dialog .dialog-heading h2{font-size:20px;line-height:1.5;margin:0}.client-handoff-status{color:var(--muted);font-size:14px;line-height:1.9;margin:16px 0 24px}.client-handoff-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px}.client-handoff-dialog>.client-entry-link{display:block;margin:16px 0}.client-stay{display:block;width:100%;margin-top:18px;color:var(--muted)}
@media(max-width:650px){.client-recommendation{margin:16px 16px 0;padding:14px;gap:10px;flex-wrap:wrap}.client-recommendation-copy{flex-basis:calc(100% - 82px)}.client-recommendation>.client-entry-link{margin-left:38px}.client-recommendation>.client-dismiss{margin-left:auto}.client-platform-grid{grid-template-columns:minmax(0,1fr);gap:14px}.client-back{margin-bottom:30px}.client-platform-card{padding:22px}.client-handoff-button{font-size:11px;padding:5px 8px;min-height:34px}.client-download-page{padding:24px 18px}}
@media(prefers-reduced-motion:reduce){.client-download-button{transition:none}.client-download-button:active{transform:none}}

.campaign-center{--campaign-surface:var(--surface,#fff);--campaign-text:var(--ink,#242126);--campaign-muted:var(--muted,#615d65);--campaign-border:var(--line,#d8d3da);color:var(--campaign-text);min-width:0}
.campaign-center :is(h2,h3,h4,h5,p){overflow-wrap:anywhere}.campaign-center h2{margin:0 0 12px}.campaign-center h3{margin:28px 0 14px;font-size:1.1rem}.campaign-center h4{font-size:1rem;margin:0 0 10px}.campaign-center h5{font-size:1rem;margin:0 0 8px}.campaign-note{color:var(--campaign-muted);line-height:1.65;margin:8px 0}.campaign-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.campaign-center button{min-height:44px;max-width:100%;white-space:normal;margin:4px 8px 4px 0}.campaign-center button:focus-visible,.campaign-center summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}.campaign-center :is(button,a,input,select){font:inherit}.campaign-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.campaign-list>h3{grid-column:1/-1}.campaign-card,.campaign-wallet{border:1px solid var(--campaign-border);border-radius:12px;background:var(--campaign-surface);padding:18px;margin:12px 0;min-width:0}.campaign-list .campaign-card{margin:0}.campaign-reward{border-top:1px solid var(--campaign-border);padding-top:16px;margin-top:18px;min-width:0}.campaign-amount{font-size:1.45rem;font-variant-numeric:tabular-nums}.campaign-receipt{margin:12px 0}.campaign-receipt summary{cursor:pointer;min-height:36px;padding:6px 0;overflow-wrap:anywhere}.campaign-receipt pre{max-height:280px;overflow:auto;border:1px solid var(--campaign-border);padding:12px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.82rem}.campaign-resource-current{padding:10px 12px;border-inline-start:3px solid var(--campaign-border);margin:12px 0}.campaign-topup-choice{border-block-start:1px solid var(--campaign-border,var(--line));padding-block-start:12px;min-width:0}.campaign-topup-choice :is(select,label,input){max-width:100%}.campaign-topup-choice select{min-height:44px}.campaign-center a{color:inherit;text-underline-offset:3px}@media(max-width:640px){.campaign-list{grid-template-columns:minmax(0,1fr)}.campaign-card,.campaign-wallet{padding:14px}.campaign-actions{align-items:stretch}.campaign-actions>button{flex:1 1 160px}.campaign-center{font-size:16px}.campaign-center button{min-height:44px}.campaign-topup-choice{font-size:16px}}
