.library-page{background:radial-gradient(ellipse 80% 50% at 10% -10%, #2d6a4f24, transparent), radial-gradient(ellipse 60% 40% at 90% 0%, #d4a3731f, transparent), var(--bg);height:100%;overflow:auto}[data-theme=dark] .library-page{background:radial-gradient(ellipse 80% 50% at 10% -10%, #52b7881f, transparent), radial-gradient(ellipse 60% 40% at 90% 0%, #d4a3730f, transparent), var(--bg)}.library-hero{padding:calc(var(--space-10) + var(--safe-top)) var(--space-6) var(--space-8)}.library-hero-inner{max-width:720px;margin:0 auto}.brand-row{align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.brand-mark{color:var(--brand);flex-shrink:0}.brand-eyebrow{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0;font-weight:700}.brand-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:0;font-size:clamp(2.5rem,6vw,3.5rem);font-weight:550;line-height:1.05}.hero-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.hero-tagline{margin:0 0 var(--space-6);font-size:var(--fs-lg);color:var(--text-secondary);max-width:36ch;line-height:var(--lh-relaxed)}.hero-cta{gap:var(--space-2);flex-wrap:wrap;display:flex}.setup-hint{margin:var(--space-4) 0 0;font-size:var(--fs-sm);color:var(--text-muted)}.setup-hint code{font-family:var(--font-mono);background:var(--bg-sunken);border-radius:4px;padding:1px 5px;font-size:.85em}.library-body{max-width:960px;padding:0 var(--space-6) var(--space-12);margin:0 auto}.library-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.library-toolbar h2{font-family:var(--font-display);font-size:var(--fs-xl);margin:0;font-weight:550}.library-search{min-width:min(280px,100%);color:var(--text-muted);align-items:center;gap:8px;display:flex}.library-grid{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.doc-card{border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--border);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);align-items:center;gap:8px;padding:8px;display:flex}.doc-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.doc-card-main{align-items:center;gap:var(--space-4);text-align:left;border-radius:var(--radius-md);flex:1;min-width:0;padding:8px;display:flex}.doc-thumb{background:var(--brand-muted);width:48px;height:56px;color:var(--brand);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.doc-info{min-width:0}.doc-info h3{font-size:var(--fs-md);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-weight:600;overflow:hidden}.doc-info p{font-size:var(--fs-sm);color:var(--text-muted);margin:0}.danger-hover:hover{color:var(--danger);background:var(--danger-soft)}.library-empty{min-height:240px}.reader-toolbar{align-items:center;gap:var(--space-2);min-height:var(--toolbar-height);padding:6px var(--space-3);padding-top:calc(6px + var(--safe-top));background:var(--bg-elevated);border-bottom:1px solid var(--border);z-index:20;flex-shrink:0;display:flex}.reader-toolbar.minimal{opacity:.85;justify-content:space-between}.tb-left,.tb-center,.tb-right{align-items:center;gap:4px;min-width:0;display:flex}.tb-left{flex:1}.tb-center{background:var(--bg-sunken);border-radius:var(--radius-md);flex:none;padding:2px}.tb-right{flex-wrap:wrap;flex:1;justify-content:flex-end}.doc-title-block{flex-direction:column;gap:2px;min-width:0;display:flex}.doc-title{font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;max-width:220px;margin:0;font-weight:600;overflow:hidden}.color-row{border-left:1px solid var(--border);border-right:1px solid var(--border);gap:3px;margin:0 2px;padding:0 6px;display:flex}.color-dot{border:2px solid #0000;border-radius:50%;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0000001f}.color-dot.light{box-shadow:inset 0 0 0 1px #00000047}.color-dot.active{border-color:var(--text)}.search-box{background:var(--bg-sunken);border-radius:var(--radius-md);align-items:center;gap:6px;min-width:0;padding:0 8px;display:flex}.search-input{background:0 0;border:none;width:140px;min-height:32px;padding:0;box-shadow:none!important}.search-count{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;align-items:center;gap:2px;display:inline-flex}.page-nav{align-items:center;gap:2px;display:flex}.page-indicator{font-size:var(--fs-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:center;min-width:4.5rem}.sync-btn{min-height:32px;padding:0 12px}@media (width<=1100px){.tb-center{display:none}}@media (width<=768px){.reader-toolbar{flex-wrap:wrap}.doc-title{max-width:140px}.search-box,.tb-right .btn-icon.sm:nth-child(n+8){display:none}}.color-palette-bar{align-items:center;gap:var(--space-3);min-height:40px;padding:6px var(--space-4);background:var(--bg-elevated);border-bottom:1px solid var(--border);z-index:19;flex-wrap:wrap;flex-shrink:0;display:flex}.cpb-label{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;font-weight:700}.cpb-swatches{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cpb-dot{touch-action:manipulation;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:24px;height:24px;box-shadow:inset 0 0 0 1px #0000002e}.cpb-dot.light{box-shadow:inset 0 0 0 1px #00000059}.cpb-dot.active{border-color:var(--brand);box-shadow:0 0 0 2px var(--bg-elevated), 0 0 0 4px var(--brand)}.cpb-width{font-size:var(--fs-xs);color:var(--text-secondary);align-items:center;gap:8px;margin-left:auto;font-weight:600;display:inline-flex}.cpb-width input[type=range]{width:96px;accent-color:var(--brand)}.cpb-width-val{font-variant-numeric:tabular-nums;min-width:1.25rem}@media (width<=768px){.color-palette-bar{padding:8px var(--space-3);gap:var(--space-2)}.cpb-dot{width:28px;height:28px}.cpb-width{width:100%;margin-left:0}.cpb-width input[type=range]{flex:1}}.mobile-annotate-bar{z-index:25;background:var(--bg-elevated);border-top:1px solid var(--border);padding:6px 8px calc(6px + var(--safe-bottom));justify-content:space-around;gap:4px;display:none;position:sticky;bottom:0}.mab-btn{border-radius:var(--radius-md);min-height:48px;color:var(--text-secondary);flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;font-size:10px;font-weight:600;display:flex}.mab-btn.active{background:var(--accent-soft);color:var(--brand)}.mab-btn.sync{color:var(--brand)}@media (width<=768px){.mobile-annotate-bar{display:flex}}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-elevated);flex-direction:column;min-height:0;display:flex}.sidebar.right{width:var(--panel-width);min-width:var(--panel-width)}.sidebar-header{padding:var(--space-4);border-bottom:1px solid var(--border);gap:var(--space-3);flex-direction:column;display:flex}.sidebar-header h2{font-family:var(--font-display);font-size:var(--fs-lg);margin:0;font-weight:550}.sidebar-header h3,.sidebar-section h3{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0;font-weight:700}.sidebar-search{color:var(--text-muted);align-items:center;gap:8px;display:flex}.sidebar-search .input{min-height:36px}.sidebar-section{padding:var(--space-4);border-bottom:1px solid var(--border)}.doc-list,.ann-list{margin:var(--space-2) 0 0;flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.doc-item{text-align:left;border-radius:var(--radius-md);width:100%;color:var(--text);align-items:flex-start;gap:10px;padding:10px;display:flex}.doc-item:hover,.doc-item.active{background:var(--accent-soft)}.doc-item-text{flex-direction:column;gap:2px;min-width:0;display:flex}.doc-item-text .name{font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.doc-item-text .meta{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}.empty-inline{color:var(--text-muted);font-size:var(--fs-sm);padding:var(--space-2)}.filter-row{flex-wrap:wrap;gap:4px;display:flex}.filter-chip{font-size:var(--fs-xs);color:var(--text-secondary);background:var(--bg-sunken);text-transform:capitalize;border-radius:999px;padding:4px 8px;font-weight:600}.filter-chip.active{background:var(--accent-soft);color:var(--brand)}.ann-item{border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:8px;display:flex}.ann-item:hover{background:var(--bg-sunken)}.ann-main{text-align:left;gap:10px;width:100%;display:flex}.ann-swatch{border-radius:4px;flex-shrink:0;align-self:stretch;width:8px;min-height:36px}.ann-body{flex-direction:column;gap:4px;min-width:0;display:flex}.ann-kind{font-size:var(--fs-xs);color:var(--text-muted);text-transform:capitalize;align-items:center;gap:4px;display:inline-flex}.ann-text{font-size:var(--fs-sm);color:var(--text);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ann-note{font-size:var(--fs-sm);color:var(--text-secondary);font-style:italic}.ann-actions{justify-content:flex-end;gap:2px;display:flex}.ann-edit{flex-direction:column;gap:8px;display:flex}.conflict-box{margin:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm);gap:10px;display:flex}.conflict-box p{color:var(--text-secondary);margin:4px 0 8px}.conflict-box strong{color:var(--text)}.conflict-actions{flex-wrap:wrap;gap:6px;display:flex}.conflict-actions .btn{min-height:32px;font-size:var(--fs-xs)}@media (width<=900px){.sidebar.left,.sidebar.right{top:var(--toolbar-height);bottom:var(--mobile-bar-height);z-index:30;box-shadow:var(--shadow-lg);position:absolute}.sidebar.left{left:0}.sidebar.right{right:0}}.pdf-page{margin:0 auto var(--space-4);box-shadow:var(--shadow-md);touch-action:pan-y;--total-scale-factor:1;--scale-round-x:1px;--scale-round-y:1px;background:#fff;border-radius:2px;flex-shrink:0;position:relative;overflow:hidden}.pdf-page.drawing{touch-action:none;-webkit-user-select:none;user-select:none}.pdf-page.blank{border:1px dashed var(--border-strong);background:#fafafa}[data-theme=dark] .pdf-page{box-shadow:var(--shadow-lg)}[data-theme=dark] .pdf-page.blank{background:#1c2030}.pdf-canvas{width:100%;height:100%;display:block}.blank-page-surface{background-color:#fafafa;background-image:linear-gradient(#0000 31px,#0000000a 32px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:100% 32px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:100%;height:100%}[data-theme=dark] .blank-page-surface{background-color:#1c2030;background-image:linear-gradient(#0000 31px,#ffffff0a 32px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:100% 32px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.textLayer,.text-layer{letter-spacing:normal;word-spacing:normal;text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;transform-origin:0 0;z-index:2;opacity:1;line-height:1;position:absolute;inset:0;overflow:clip}.textLayer.selectable,.text-layer.selectable{pointer-events:auto;-webkit-user-select:text;user-select:text}.textLayer.no-select,.text-layer.no-select{pointer-events:none;-webkit-user-select:none;user-select:none}.textLayer :is(span,br),.text-layer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}.textLayer{--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))}.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[role=img]{-webkit-user-select:none;user-select:none;cursor:default}.textLayer ::selection{color:#0000;background:#2d6a4f59}.text-layer ::selection{color:#0000;background:#2d6a4f59}.textLayer .endOfContent{z-index:-1;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.annotation-layer{z-index:3;pointer-events:none;position:absolute;inset:0}.page-skeleton{background:linear-gradient(90deg, var(--bg-sunken) 0%, var(--bg-elevated) 50%, var(--bg-sunken) 100%);z-index:1;background-size:200% 100%;animation:1.2s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.page-skeleton{animation:none}}.selection-toolbar{z-index:1000;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:toolbar-in var(--duration) var(--ease);align-items:center;gap:4px;padding:6px;display:flex;position:fixed;transform:translate(-50%,calc(-100% - 12px))}@keyframes toolbar-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 4px))}to{opacity:1;transform:translate(-50%,calc(-100% - 12px))}}.st-primary{border-radius:var(--radius-sm);background:var(--brand);height:32px;color:var(--brand-contrast);font-size:var(--fs-sm);align-items:center;gap:6px;padding:0 10px;font-weight:600;display:inline-flex}.st-primary:hover{background:var(--brand-hover)}.st-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);justify-content:center;align-items:center;display:inline-flex}.st-btn:hover{background:var(--accent-soft);color:var(--text)}.st-colors{border-left:1px solid var(--border);border-right:1px solid var(--border);gap:4px;margin:0 2px;padding:0 4px;display:flex}.st-swatch{border:2px solid #0000;border-radius:50%;width:18px;height:18px;box-shadow:inset 0 0 0 1px #0000001f}.st-swatch.active{border-color:var(--text)}@media (width<=640px){.selection-toolbar{flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 16px)}}.reader-view{background:radial-gradient(ellipse at top, #2d6a4f0f, transparent 50%), var(--bg-sunken);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}[data-theme=dark] .reader-view{background:radial-gradient(ellipse at top, #52b7880d, transparent 50%), var(--bg-sunken)}.reader-scroller{padding:var(--space-4);overscroll-behavior:contain;flex:1;overflow:auto}.reader-pages{flex-direction:column;align-items:center;min-height:100%;display:flex}.note-modal{z-index:1100;background:var(--bg-overlay);padding:var(--space-4);padding-bottom:calc(var(--space-4) + var(--safe-bottom));justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=768px){.note-modal{align-items:center}}.note-modal-card{background:var(--bg-elevated);border-radius:var(--radius-lg);width:min(420px,100%);padding:var(--space-5);box-shadow:var(--shadow-lg);gap:var(--space-3);flex-direction:column;display:flex}.note-modal-card h3{font-family:var(--font-display);margin:0;font-weight:550}.note-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.reader-page{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.reader-body{flex:1;min-height:0;display:flex;position:relative}.reader-main{flex-direction:column;flex:1;min-width:0;display:flex}.reader-page.focus .reader-toolbar{background:0 0;border:none;position:absolute;top:0;left:0;right:0}.toast{bottom:calc(24px + var(--safe-bottom));z-index:2000;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border);max-width:min(420px,100vw - 24px);box-shadow:var(--shadow-lg);font-size:var(--fs-sm);animation:toast-in var(--duration) var(--ease);align-items:center;gap:12px;padding:12px 14px;font-weight:550;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast-success{border-color:#1e844959}.toast-error{color:var(--danger);border-color:#c0392b59}.toast-close{color:var(--text-muted);padding:0 4px;font-size:18px;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (width<=768px){.toast{bottom:calc(72px + var(--safe-bottom))}}:root{--brand:#2d6a4f;--brand-hover:#1b4332;--brand-muted:#d8f3dc;--brand-contrast:#fff;--bg:#f7f5f2;--bg-elevated:#fff;--bg-sunken:#efece6;--bg-overlay:#0f121973;--border:#1a1f2e1a;--border-strong:#1a1f2e2e;--text:#1a1f2e;--text-secondary:#5c6478;--text-muted:#8b93a7;--text-inverse:#f7f5f2;--accent:#2d6a4f;--accent-soft:#2d6a4f1f;--danger:#c0392b;--danger-soft:#c0392b1f;--warning:#d68910;--success:#1e8449;--info:#2471a3;--hl-yellow:#f5d76e;--hl-green:#7dcea0;--hl-blue:#85c1e9;--hl-pink:#f5b7b1;--hl-orange:#f0b27a;--hl-purple:#d2b4de;--shadow-sm:0 1px 2px #1a1f2e0f;--shadow-md:0 4px 16px #1a1f2e14, 0 1px 3px #1a1f2e0a;--shadow-lg:0 12px 40px #1a1f2e24;--font-sans:"Source Sans 3", "Segoe UI", system-ui, sans-serif;--font-display:"Fraunces", "Georgia", serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-md:.9375rem;--fs-lg:1.0625rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:2rem;--lh-tight:1.25;--lh-normal:1.5;--lh-relaxed:1.65;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--sidebar-width:280px;--panel-width:300px;--toolbar-height:52px;--mobile-bar-height:56px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--focus-ring:0 0 0 2px var(--bg-elevated), 0 0 0 4px var(--brand);--ease:cubic-bezier(.22, 1, .36, 1);--duration:.18s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--brand:#52b788;--brand-hover:#74c69d;--brand-muted:#1b4332;--brand-contrast:#0f1219;--bg:#0f1219;--bg-elevated:#1a1f2e;--bg-sunken:#0a0c12;--bg-overlay:#0000008c;--border:#f7f5f214;--border-strong:#f7f5f224;--text:#f0eee9;--text-secondary:#a8b0c0;--text-muted:#6b7388;--text-inverse:#1a1f2e;--accent:#52b788;--accent-soft:#52b78829;--danger:#e74c3c;--danger-soft:#e74c3c29;--warning:#f39c12;--success:#2ecc71;--info:#5dade2;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 12px 40px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){:root{--duration:0s}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-normal);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{box-shadow:var(--focus-ring);outline:none}::selection{background:var(--accent-soft);color:var(--text)}.sr-only{clip:path(inset(50%));clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--bg);height:100dvh;display:grid}.scrollable{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;overflow:auto}.scrollable::-webkit-scrollbar{width:8px;height:8px}.scrollable::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-4);border-radius:var(--radius-md);font-weight:600;font-size:var(--fs-sm);transition:background var(--duration) var(--ease), color var(--duration) var(--ease), box-shadow var(--duration) var(--ease), transform var(--duration) var(--ease);white-space:nowrap;-webkit-user-select:none;user-select:none;touch-action:manipulation;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--brand);color:var(--brand-contrast)}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-secondary{background:var(--bg-sunken);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--accent-soft);color:var(--text)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-icon{border-radius:var(--radius-md);width:40px;height:40px;min-height:40px;color:var(--text-secondary);padding:0}.btn-icon:hover:not(:disabled){background:var(--accent-soft);color:var(--text)}.btn-icon.active{background:var(--accent-soft);color:var(--brand)}.btn-icon.sm{width:32px;height:32px;min-height:32px}.input{width:100%;min-height:40px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text);transition:border-color var(--duration) var(--ease)}.input:focus{border-color:var(--brand);box-shadow:var(--focus-ring);outline:none}.input::placeholder{color:var(--text-muted)}.textarea{width:100%;min-height:88px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text);resize:vertical;line-height:var(--lh-relaxed)}.panel{background:var(--bg-elevated);border-right:1px solid var(--border)}.panel-right{border-right:none;border-left:1px solid var(--border)}.badge{font-size:var(--fs-xs);background:var(--bg-sunken);color:var(--text-secondary);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.badge.pending{background:var(--accent-soft);color:var(--brand)}.badge.conflict{background:var(--danger-soft);color:var(--danger)}.badge.synced{color:var(--success);background:#1e84491f}.empty-state{text-align:center;padding:var(--space-10);color:var(--text-secondary);justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.empty-state h2,.empty-state h3{font-family:var(--font-display);color:var(--text);margin:0;font-weight:550}.empty-state p{max-width:28ch;color:var(--text-muted);margin:0}.status-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.online{background:var(--success)}.status-dot.offline{background:var(--warning)}.status-dot.syncing{background:var(--info);animation:1.2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media (width<=768px){.btn-icon{width:44px;height:44px;min-height:44px}}
