:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary-50:#eef2ff;--color-primary-100:#e0e7ff;--color-primary-500:#6366f1;--color-primary-600:#4f46e5;--color-primary-700:#4338ca;--color-slate-50:#f8fafc;--color-slate-100:#f1f5f9;--color-slate-200:#e2e8f0;--color-slate-400:#94a3b8;--color-slate-500:#64748b;--color-slate-600:#475569;--color-slate-800:#1e293b;--color-slate-900:#0f172a;--color-white:#fff;--color-danger-50:#fef2f2;--color-danger-200:#fecaca;--color-danger-600:#dc2626;--color-bg:var(--color-slate-50);--color-surface:var(--color-white);--color-surface-subtle:var(--color-slate-100);--color-text:var(--color-slate-900);--color-text-secondary:var(--color-slate-600);--color-text-muted:var(--color-slate-500);--color-border:var(--color-slate-200);--color-focus:#4f46e538;--font-sans:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-size-micro:.6875rem;--font-size-caption:.75rem;--font-size-body-sm:.8125rem;--font-size-body:.875rem;--font-size-title-sm:1rem;--font-size-title:1.25rem;--font-size-title-lg:1.5rem;--line-height-micro:1rem;--line-height-caption:1.125rem;--line-height-body-sm:1.25rem;--line-height-body:1.375rem;--line-height-title-sm:1.5rem;--line-height-title:1.75rem;--line-height-title-lg:2rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-pill:9999px;--shadow-hover:0 2px 8px #0f172a14;--shadow-dialog:0 12px 32px #0f172a24;--duration-fast:.12s;--duration-normal:.18s;--duration-highlight:.6s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--icon-size-xs:1rem;--icon-size-md:2.25rem;--control-size-xs:1.125rem;--sidebar-width:11.5rem;--sidebar-collapsed-width:3.5rem;--header-height:3.25rem}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--color-bg);min-width:20rem;color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.app-shell{min-height:100vh;padding-left:var(--sidebar-width);transition:padding-left var(--duration-normal) var(--ease-standard)}.app-shell--collapsed{padding-left:var(--sidebar-collapsed-width)}.sidebar{z-index:30;width:var(--sidebar-width);border-right:1px solid var(--color-border);background:var(--color-surface);transition:width var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-standard);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.sidebar__inner{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100%;overflow:hidden}.app-shell--collapsed .sidebar{width:var(--sidebar-collapsed-width)}.brand{min-height:var(--header-height);align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--color-border);display:flex}.brand__mark{border-radius:var(--radius-md);background:var(--color-primary-600);width:2rem;height:2rem;color:var(--color-white);font-size:var(--font-size-caption);letter-spacing:.04em;flex:0 0 2rem;place-items:center;font-weight:700;display:grid}.brand__copy{white-space:nowrap;opacity:1;visibility:visible;min-width:0;transition:opacity var(--duration-fast) var(--ease-standard), visibility 0s linear;flex-direction:column;flex:1;display:flex}.brand__copy strong{font-size:var(--font-size-body);text-overflow:ellipsis;font-weight:650;line-height:1.05;overflow:hidden}.brand__copy span{color:var(--color-text-muted);font-size:var(--font-size-caption);line-height:var(--line-height-caption)}.app-shell--collapsed .brand__copy,.app-shell--collapsed .nav-group h2,.app-shell--collapsed .nav-item span,.app-shell--collapsed .nav-row__external{opacity:0;visibility:hidden;pointer-events:none;transition-delay:0s}.app-shell--collapsed .brand__mark{display:grid}.nav-list{min-width:0;padding:var(--space-2);flex:1;overflow-y:auto}.nav-group+.nav-group{margin-top:var(--space-3)}.nav-group h2{margin:0 0 var(--space-1);padding:0 var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-caption);font-weight:600;line-height:var(--line-height-caption)}.nav-row{align-items:center;display:flex;position:relative}.nav-item{align-items:center;gap:var(--space-2);width:100%;min-width:0;min-height:2.25rem;padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;text-align:left;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:0;display:flex}.nav-item>span:last-child,.nav-group h2,.nav-row__external{white-space:nowrap}.nav-item:hover:not(:disabled){background:var(--color-surface-subtle);color:var(--color-text)}.nav-item--active{background:var(--color-primary-50);color:var(--color-primary-700);font-weight:600}.nav-item:disabled{color:var(--color-slate-400);cursor:not-allowed}.nav-row__external{right:var(--space-1);opacity:0;position:absolute}.nav-row:hover .nav-row__external,.nav-row:focus-within .nav-row__external{opacity:1}.nav-row:has(.nav-row__external) .nav-item{padding-right:var(--space-8)}.app-shell--collapsed .brand{justify-content:center;align-items:center;padding:0}.app-shell--collapsed .nav-item{justify-content:center;padding:0}.workspace{min-width:0;min-height:100vh}.view{min-height:100vh;display:none}.view--active{display:block}.workspace-frame{background:var(--color-surface);border:0;width:100%;height:100vh;display:block}.service-placeholder{justify-content:center;align-items:center;gap:var(--space-2);background:var(--color-surface);min-height:100vh;color:var(--color-text-muted);flex-direction:column;display:flex}.service-placeholder strong{color:var(--color-text-secondary);font-size:var(--font-size-title-sm)}.service-placeholder span{font-size:var(--font-size-caption)}.mobile-header,.sidebar-scrim{display:none}.links-page{min-height:100vh}.page-header{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:4rem;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface);display:flex}.page-header h1,.section-heading h2,.category-card h2,.empty-state h2{margin:0}.page-header h1{font-size:var(--font-size-title);line-height:var(--line-height-title);letter-spacing:-.02em}.eyebrow{margin:0 0 var(--space-1);color:var(--color-primary-600);font-size:var(--font-size-caption);font-weight:700;line-height:var(--line-height-caption);text-transform:uppercase;letter-spacing:.06em}.toolbar{z-index:10;min-height:var(--header-height);align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f8fafcf2;display:flex;position:sticky;top:0}.search-field{align-items:center;gap:var(--space-2);width:min(30rem,100%);height:2.25rem;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);display:flex}.search-field:focus-within{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-focus)}.search-field input{width:100%;min-width:0;color:var(--color-text);background:0 0;border:0;outline:0}.toolbar__count{color:var(--color-text-muted);font-size:var(--font-size-caption);white-space:nowrap;margin-left:auto}.page-content{padding:var(--space-4)}.popular-section{margin-bottom:var(--space-4)}.section-heading{margin-bottom:var(--space-3);justify-content:space-between;align-items:flex-end;display:flex}.section-heading h2,.category-card h2,.empty-state h2{font-size:var(--font-size-title-sm);line-height:var(--line-height-title-sm)}.popular-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));display:grid}.popular-link{align-items:center;gap:var(--space-2);min-width:0;min-height:2.5rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);transition:border-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast);border:1px solid #0000;text-decoration:none;display:flex}.popular-link:hover{border-color:var(--color-border);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.popular-link__title{min-width:0;font-size:var(--font-size-caption);font-weight:600;line-height:var(--line-height-caption);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.popular-link__visits{color:var(--color-text-muted);font-size:var(--font-size-micro);line-height:var(--line-height-micro);white-space:nowrap}.category-stack{gap:var(--space-3);display:grid}.category-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.category-card__header{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:2.75rem;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.category-card__title,.category-card__actions,.link-card__actions{align-items:center;gap:var(--space-1);display:flex}.category-card__actions,.link-card__actions,.link-card__drag-meta{opacity:0;transition:opacity var(--duration-fast)}.category-card:hover .category-card__actions,.category-card:focus-within .category-card__actions,.link-card:hover .link-card__actions,.link-card:focus-within .link-card__actions,.link-card:hover .link-card__drag-meta,.link-card:focus-within .link-card__drag-meta{opacity:1}.badge{min-width:1.375rem;height:1.375rem;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-primary-50);color:var(--color-primary-700);font-size:var(--font-size-caption);justify-content:center;align-items:center;font-weight:650;display:inline-flex}.link-grid{gap:var(--space-2);padding:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));display:grid}.link-card{border-radius:var(--radius-md);background:var(--color-surface);min-width:0;min-height:3.5rem;transition:border-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast);border:1px solid #0000;align-items:center;display:flex;position:relative}.link-card:hover{border-color:var(--color-border);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.sortable-ghost{opacity:.25}.sortable-chosen{box-shadow:var(--shadow-hover)}.sortable-drag{opacity:.9;transform:scale(1.01)}.link-card--recently-moved{animation:sorted-highlight var(--duration-highlight) var(--ease-standard)}.link-card__main{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2);color:inherit;flex:1;align-self:stretch;text-decoration:none;display:flex}.link-card__copy{flex-direction:column;flex:1;min-width:0;display:flex}.link-card__copy strong,.link-card__copy small{-webkit-line-clamp:2;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.link-card__copy strong{font-size:var(--font-size-body-sm);font-weight:650;line-height:var(--line-height-body-sm)}.link-card__copy small{color:var(--color-text-muted);font-size:var(--font-size-caption);line-height:var(--line-height-caption)}.link-card__actions{padding-right:var(--space-1);flex-direction:column;justify-content:center;gap:0}.link-card__drag-meta{top:0;left:var(--space-1);z-index:1;align-items:center;gap:var(--space-1);padding-right:var(--space-1);border-radius:var(--radius-sm);background:var(--color-surface);pointer-events:none;display:flex;position:absolute;transform:translateY(-60%)}.link-card:hover .link-card__drag-meta,.link-card:focus-within .link-card__drag-meta{pointer-events:auto}.link-card__visits{color:var(--color-text-muted);font-size:var(--font-size-micro);line-height:var(--line-height-micro);white-space:nowrap}.link-icon{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);color:var(--color-primary-700);flex:none;place-items:center;font-weight:700;display:inline-grid;overflow:hidden}.link-icon--sm{width:var(--icon-size-xs);height:var(--icon-size-xs);flex:0 0 var(--icon-size-xs);aspect-ratio:1;border-radius:var(--radius-sm);font-size:var(--font-size-micro);line-height:1}.link-icon--md{width:var(--icon-size-md);height:var(--icon-size-md)}.link-icon img{object-fit:cover;width:100%;height:100%}.button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast), transform var(--duration-fast);border:1px solid #0000;font-weight:600;display:inline-flex}.button--sm{min-height:1.75rem;padding:0 var(--space-2);font-size:var(--font-size-caption)}.button--md{min-height:2.25rem;padding:0 var(--space-4)}.button--primary{background:var(--color-primary-600);color:var(--color-white)}.button--primary:hover:not(:disabled){background:var(--color-primary-700)}.button--secondary{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-secondary)}.button--secondary:hover:not(:disabled),.button--ghost:hover:not(:disabled){background:var(--color-surface-subtle);color:var(--color-text)}.button--ghost{color:var(--color-text-secondary);background:0 0}.button--danger{background:var(--color-danger-600);color:var(--color-white)}.button:disabled{cursor:not-allowed;opacity:.55}.button:active:not(:disabled){transform:translateY(1px)}.button__icon,.icon-button{place-items:center;display:inline-grid}.icon-button--compact{border-radius:var(--radius-sm);flex-basis:1.5rem;width:1.5rem;height:1.5rem}.icon-button--micro{width:var(--control-size-xs);height:var(--control-size-xs);flex:0 0 var(--control-size-xs);border-radius:var(--radius-sm)}.drag-handle{cursor:grab;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.drag-handle:disabled{cursor:not-allowed;opacity:.45}.icon-button{border-radius:var(--radius-md);width:2rem;height:2rem;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex:0 0 2rem;padding:0}.icon-button:hover{background:var(--color-surface-subtle);color:var(--color-text)}.icon-button--danger:hover{background:var(--color-danger-50);color:var(--color-danger-600)}.alert{align-items:center;gap:var(--space-3);margin:var(--space-4) var(--space-6) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-danger-200);border-radius:var(--radius-md);background:var(--color-danger-50);color:var(--color-danger-600);display:flex}.alert span{flex:1}.loading-state,.empty-state{min-height:16rem;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.loading-state{gap:var(--space-2)}.empty-state{gap:var(--space-2);text-align:center;flex-direction:column}.empty-state p{margin:0}.dialog-backdrop{z-index:100;padding:var(--space-4);background:#0f172a80;place-items:center;display:grid;position:fixed;inset:0}.dialog{width:min(30rem,100%);max-height:calc(100vh - var(--space-8));border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-dialog);overflow:auto}.dialog__header,.dialog__footer{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);display:flex}.dialog__header{border-bottom:1px solid var(--color-border);justify-content:space-between}.dialog__header h2{font-size:var(--font-size-title-sm);line-height:var(--line-height-title-sm);margin:0}.dialog__body{padding:var(--space-6)}.dialog__footer{border-top:1px solid var(--color-border);justify-content:flex-end}.form,.field{flex-direction:column;display:flex}.form{gap:var(--space-4)}.field{gap:var(--space-2);border:0;margin:0;padding:0}.field>span,.field legend{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:650;line-height:var(--line-height-caption)}.field input,.field textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-text)}.field input{height:2.25rem;padding:0 var(--space-3)}.field textarea{min-height:5rem;padding:var(--space-2) var(--space-3);resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-focus);outline:0}.form-error{color:var(--color-danger-600);font-size:var(--font-size-caption);margin:0}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sorted-highlight{0%,35%{border-color:var(--color-primary-500);background:var(--color-primary-50);box-shadow:var(--shadow-hover)}to{background:var(--color-surface);box-shadow:none;border-color:#0000}}@media (width<=47.99rem){.app-shell,.app-shell--collapsed{padding-left:0;padding-top:var(--header-height)}.sidebar,.app-shell--collapsed .sidebar{width:min(var(--sidebar-width), calc(100vw - var(--space-12)));transform:translate(-100%)}.app-shell--mobile-open .sidebar{transform:translate(0)}.app-shell--mobile-open .brand__copy,.app-shell--mobile-open .nav-group h2,.app-shell--mobile-open .nav-item span,.app-shell--mobile-open .nav-row__external{opacity:1;visibility:visible;pointer-events:auto;display:flex}.app-shell--mobile-open .nav-item{padding:0 var(--space-3);justify-content:flex-start}.sidebar__collapse{display:none}.sidebar-scrim{z-index:20;background:#0f172a5c;border:0;position:fixed;inset:0}.app-shell--mobile-open .sidebar-scrim{display:block}.mobile-header{z-index:15;height:var(--header-height);align-items:center;gap:var(--space-3);padding:0 var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface);display:flex;position:fixed;inset:0 0 auto}.view,.workspace-frame,.links-page,.service-placeholder{min-height:calc(100vh - var(--header-height))}.workspace-frame{height:calc(100vh - var(--header-height))}.page-header,.toolbar,.page-content{padding-left:var(--space-4);padding-right:var(--space-4)}.page-header{min-height:auto;padding-top:var(--space-4);padding-bottom:var(--space-4);align-items:flex-start}.toolbar__count{display:none}.link-grid,.popular-grid{grid-template-columns:1fr}.category-card__actions,.link-card__actions,.link-card__drag-meta{opacity:1}.link-card__drag-meta{pointer-events:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
