:root{--blue-50:#F0F3F7;--blue-100:#DFE5EE;--blue-200:#C0CCDD;--blue-300:#98AAC5;--blue-400:#7089AC;--blue-500:#536E95;--blue-600:#3E587E;--blue-700:#324763;--blue-800:#263549;--blue-900:#1A2433;--info-50:#EAF1FC;--info-200:#ADC9F3;--info-600:#0B5FD9;--gray-0:#FFFFFF;--gray-25:#FAFAF7;--gray-50:#F0F0EA;--gray-100:#E6E6E0;--gray-200:#D9D9D3;--gray-300:#C2C2BC;--gray-400:#9A9A96;--gray-500:#71716E;--gray-600:#545452;--gray-700:#3A3A38;--gray-800:#232322;--gray-900:#0D0D0C;--vermillion-100:#F8E4DC;--vermillion-400:#E07A55;--vermillion-500:#D0603C;--vermillion-600:#B84E2E;--ink-900:#121110;--green-600:#1E7F4F;--green-100:#E3F2E8;--green-200:#BFE3CD;--amber-600:#B97D10;--amber-100:#FBF2DD;--amber-200:#F3DFAE;--red-600:#C03530;--red-100:#F9E5E3;--red-200:#F0C6C2;--color-primary:var(--blue-600);--color-primary-hover:var(--blue-500);--color-primary-active:var(--blue-700);--color-accent:var(--vermillion-500);--surface-page:var(--gray-50);--surface-card:var(--gray-0);--surface-raised:var(--gray-25);--surface-sunken:var(--gray-100);--surface-inverse:var(--gray-900);--text-body:var(--gray-900);--text-secondary:var(--gray-600);--text-muted:var(--gray-400);--text-inverse:#FFFFFF;--text-link:var(--blue-600);--text-link-hover:var(--blue-500);--border-default:var(--gray-200);--border-strong:var(--gray-300);--border-focus:var(--blue-600);--status-success:var(--green-600);--status-success-bg:var(--green-100);--status-info:var(--info-600);--status-info-bg:var(--info-50);--status-warning:var(--amber-600);--status-warning-bg:var(--amber-100);--status-error:var(--red-600);--status-error-bg:var(--red-100);--focus-ring:0 0 0 3px rgba(62,88,126,0.32);--font-sans:"Instrument Sans",-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",monospace;--text-h1-size:32px;--text-h1-weight:700;--text-h1-line:1.15;--text-h1-tracking:-0.02em;--text-h2-size:24px;--text-h2-weight:600;--text-h2-line:1.2;--text-h2-tracking:-0.01em;--text-subtitle-size:18px;--text-subtitle-weight:500;--text-subtitle-line:1.35;--text-body1-size:15px;--text-body1-weight:400;--text-body1-line:1.5;--text-body2-size:13px;--text-body2-weight:400;--text-body2-line:1.5;--text-caption-size:12px;--text-caption-weight:400;--text-caption-line:1.4;--text-button-size:14px;--text-button-weight:600;--text-button-line:1;--text-mono-size:13px}body{font-family:var(--font-sans);color:var(--text-body);font-size:var(--text-body1-size);line-height:var(--text-body1-line);-webkit-font-smoothing:antialiased}a{color:var(--text-link);text-decoration:none}a:hover{color:var(--text-link-hover);text-decoration:underline}:root{--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--radius-none:0px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-full:999px;--control-height-sm:28px;--control-height-md:36px;--control-height-lg:44px;--shadow-0:none;--shadow-1:0 1px 2px rgba(13,13,12,0.06),0 1px 3px rgba(13,13,12,0.08);--shadow-2:0 2px 4px rgba(13,13,12,0.05),0 6px 16px rgba(13,13,12,0.10);--shadow-3:0 4px 12px rgba(13,13,12,0.08),0 18px 44px rgba(13,13,12,0.14);--shadow-glow:0 0 0 1px var(--blue-600),0 0 0 4px rgba(62,88,126,0.22),0 8px 24px rgba(62,88,126,0.25);--shadow-inset:inset 0 1px 2px rgba(13,13,12,0.06);--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--duration-fast:120ms;--duration-base:200ms;--duration-slow:360ms;--duration-hero:700ms}@keyframes zs-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes zs-fade-in{0%{opacity:0}to{opacity:1}}@keyframes zs-scale-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes zs-spin{to{transform:rotate(1turn)}}@keyframes zs-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}:root:root{--font-sans:var(--font-instrument-sans),"Instrument Sans",-apple-system,"Segoe UI",sans-serif;--font-mono:var(--font-jetbrains),"JetBrains Mono",ui-monospace,"SF Mono",monospace}*,:after,:before{box-sizing:border-box}html{color-scheme:light}html body{min-height:100dvh;background:var(--surface-page);color:var(--text-body);font-size:var(--text-body1-size);line-height:var(--text-body1-line);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.entry-overline,html body{margin:0;font-family:var(--font-sans)}.entry-overline{font-size:var(--text-caption-size);font-weight:var(--text-button-weight);line-height:var(--text-caption-line);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.entry-lead{margin:0;font-size:var(--text-subtitle-size);line-height:var(--text-subtitle-line);color:var(--text-body)}.entry-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-height-md);padding:0 16px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);font-family:var(--font-sans);font-size:var(--text-button-size);font-weight:var(--text-button-weight);line-height:1;cursor:pointer;box-shadow:var(--shadow-1);transition:transform var(--duration-fast) var(--ease-spring),background var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.entry-btn,.entry-btn:hover{color:var(--color-primary);text-decoration:none}.entry-btn:hover{background:var(--blue-50);border-color:var(--blue-300);transform:translateY(-1px)}.entry-btn:active{background:var(--blue-100);box-shadow:var(--shadow-0);transform:scale(.97)}.entry-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:var(--shadow-0)}.entry-btn--primary{background:var(--color-primary);color:var(--text-inverse);border-color:transparent}.entry-btn--primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-2);color:var(--text-inverse)}.entry-btn--primary:active{background:var(--color-primary-active);box-shadow:var(--shadow-0)}.entry-btn--ghost{background:transparent}.entry-btn--ghost,.entry-btn--ghost:hover{border-color:transparent;box-shadow:var(--shadow-0)}.entry-btn--ghost:hover{background:var(--blue-50)}.entry-btn--sm{height:var(--control-height-sm);padding:0 12px;font-size:var(--text-body2-size)}.entry-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (prefers-reduced-motion:reduce){.entry-btn{transition:none}}.entry-chip{min-height:24px;max-width:100%;overflow-wrap:anywhere;background:var(--surface-sunken);color:var(--text-body);font-size:var(--text-body2-size);font-weight:var(--text-subtitle-weight);text-decoration:none}.entry-badge,.entry-chip{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-full);border:1px solid var(--border-default);font-family:var(--font-sans)}.entry-badge{background:var(--gray-100);color:var(--gray-700);font-size:var(--text-caption-size);font-weight:var(--text-button-weight);line-height:var(--text-caption-line)}.entry-input{width:100%;font-family:var(--font-sans);font-size:var(--text-body1-size);line-height:var(--text-body1-line);color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.entry-input:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:var(--focus-ring)}.entry-page{display:flex;flex-direction:column;gap:var(--space-5);max-width:56rem;margin:0 auto;padding:var(--space-6) var(--space-4)}.entry-headword{margin:0;font-family:var(--font-sans);font-size:clamp(var(--text-h1-size),5vw,44px);font-weight:var(--text-h1-weight);line-height:var(--text-h1-line);letter-spacing:var(--text-h1-tracking);color:var(--text-body);text-transform:capitalize}.entry-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.entry-match-context{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-card);border:1px solid var(--border-default);box-shadow:var(--shadow-1)}.entry-match-context-overline{margin:0}.entry-match-context-query{margin:0;color:var(--text-secondary)}.entry-match-context-term{color:var(--text-body);font-weight:600}.entry-match-context-reasons{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.entry-feedback-controls{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-4)}.entry-feedback-controls--prominent{flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-md);box-shadow:var(--shadow-inset)}.entry-rate{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.entry-rate-label{margin:0}.entry-flag,.entry-flag-form{display:flex;flex-direction:column;gap:var(--space-2)}.entry-flag-reason{width:100%;resize:vertical}.entry-flag-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.entry-feedback-ack{margin:0}.propose-edit{display:flex;flex-direction:column;gap:var(--space-3)}.propose-edit--open{padding:var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-md);box-shadow:var(--shadow-inset)}.propose-edit-form{display:flex;flex-direction:column;gap:var(--space-3)}.propose-edit-field{display:flex;flex-direction:column;gap:var(--space-2)}.propose-edit-note,.propose-edit-text{width:100%;resize:vertical}.propose-edit-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.propose-edit-ack{margin:0}.entry-senses{gap:var(--space-5)}.entry-card,.entry-senses{display:flex;flex-direction:column}.entry-card{gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-card);border:1px solid var(--border-default);box-shadow:var(--shadow-1)}.entry-sense-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.entry-definition{margin:0}.entry-section{flex-direction:column}.entry-chip-row,.entry-section{display:flex;gap:var(--space-2)}.entry-chip-row{flex-wrap:wrap;margin:0;padding:0;list-style:none}.entry-empty,.entry-usage{margin:0;color:var(--text-secondary)}.entry-usage{font-style:italic}.ai-entry{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-card);border:1px solid var(--border-default);box-shadow:var(--shadow-1)}.ai-entry-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.ai-entry-definition,.ai-entry-note{margin:0}.ai-entry-degraded{margin:0;color:var(--text-secondary)}.ai-entry-actions{margin-top:var(--space-2)}.entry-confusions{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.entry-confusion{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2)}.entry-confusion-note{color:var(--text-secondary)}.entry-visual{margin:0}.entry-visual-img{display:block;max-width:100%;height:auto;border-radius:var(--radius-lg)}.entry-footer-link{margin:0}.term-graph{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-card);border:1px solid var(--border-default);box-shadow:var(--shadow-1);content-visibility:auto;contain-intrinsic-size:auto 320px}.term-graph-heading{margin:0;font-family:var(--font-sans);font-size:var(--text-h2-size);font-weight:var(--text-h2-weight);line-height:var(--text-h2-line);letter-spacing:var(--text-h2-tracking);color:var(--text-body)}.term-graph-caption{margin:0}.term-graph-tiers{display:flex;flex-direction:column;gap:var(--space-4)}.term-graph-tier{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg)}.term-graph-tier--focus{background:var(--surface-sunken);box-shadow:var(--shadow-inset)}.term-graph-tier-label{margin:0}.term-graph-node-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.term-graph-node-item{display:inline-flex;align-items:center;gap:var(--space-1)}.term-graph-node{color:var(--color-primary);transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.term-graph-node:hover{border-color:var(--blue-300);transform:translateY(-1px);text-decoration:none}@media (prefers-reduced-motion:reduce){.term-graph-node{transition:none}}.term-graph-recenter{font-size:var(--text-body2-size)}.term-graph-node--focus{background:var(--color-primary);box-shadow:var(--shadow-glow)}.term-graph-node--focus,.term-graph-node--focus:hover{color:var(--text-inverse);border-color:transparent}.term-graph-node--hop1{box-shadow:var(--shadow-2)}.term-graph-node--hop2{background:var(--surface-sunken);box-shadow:var(--shadow-inset)}.term-graph-node:focus-visible{outline:none;box-shadow:var(--focus-ring)}.term-graph-edges{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.term-graph-edge{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.term-graph-edge-pair{color:var(--text-secondary)}.term-graph-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.library-page{gap:var(--space-5);max-width:56rem;margin:0 auto;padding:var(--space-6) var(--space-4)}.library-page,.library-section{display:flex;flex-direction:column}.library-section{gap:var(--space-4)}.library-eyebrow{margin:0;font-size:var(--text-caption-size);font-weight:var(--text-button-weight);line-height:var(--text-caption-line);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.library-list{list-style:none;margin:0;padding:0}.library-item,.library-list{display:flex;flex-direction:column;gap:var(--space-3)}.library-item{padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.library-item-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.suggestions-list{list-style:none;margin:var(--space-4) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.suggestion-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.suggestion-label{font-weight:600}.library-assign{display:flex;flex-direction:column;gap:var(--space-1)}.library-term-link{font-weight:600;color:var(--text-link);text-decoration:none}.library-term-link:hover{color:var(--text-link-hover);text-decoration:underline}.library-inline-link{font-weight:600;color:var(--text-link);text-decoration:none}.library-inline-link:hover{color:var(--text-link-hover);text-decoration:underline}.library-link-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);align-self:flex-start;height:var(--control-height-sm);padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-card);font-size:var(--text-button-size);font-weight:var(--text-button-weight);line-height:1;box-shadow:var(--shadow-1);transition:transform var(--duration-fast) var(--ease-spring),background var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.library-link-btn,.library-link-btn:hover{color:var(--color-primary);text-decoration:none}.library-link-btn:hover{background:var(--blue-50);border-color:var(--blue-300);transform:translateY(-1px)}.library-link-btn:active{background:var(--blue-100);box-shadow:var(--shadow-0);transform:scale(.97)}.library-link-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (prefers-reduced-motion:reduce){.library-link-btn{transition:none}}.library-new-collection{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.library-new-collection-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.library-collection-name{display:flex;flex-direction:column;gap:var(--space-1)}.library-collection-empty{margin:0;color:var(--text-secondary)}.library-share-url{color:var(--text-secondary);font-family:var(--font-mono);word-break:break-all}.library-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.library-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-full);font-size:13px;color:var(--text-body)}.favorite-toggle{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.favorite-signin-prompt{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary)}.save-to-history{display:flex;flex-direction:column;gap:var(--space-3)}.save-to-history-row{gap:var(--space-3)}.save-history-signin,.save-to-history-row{display:flex;flex-wrap:wrap;align-items:center}.save-history-signin{margin:0;gap:var(--space-2);color:var(--text-secondary)}.diff-error-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.diff-error-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2)}.diff-error-file{font-weight:600}.diff-error-path{font-family:var(--font-mono);font-size:var(--text-body2-size);color:var(--text-secondary);word-break:break-all}.diff-group-summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.diff-group-summary .diff-group-title{font-size:var(--text-subtitle-size);font-weight:600}.diff-group[open]>.diff-group-summary{margin-bottom:var(--space-3)}.diff-filter{align-items:center}.diff-filter-input{flex:1 1 16rem;max-width:28rem}.state-panel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);max-width:32rem;margin:var(--space-6) auto;padding:var(--space-5) var(--space-4);font-family:var(--font-sans);color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.state-icon{display:inline-flex;color:var(--color-primary)}.state-title{margin:0;font-family:var(--font-sans);font-size:var(--text-h2-size);font-weight:var(--text-h2-weight);line-height:var(--text-h2-line);letter-spacing:var(--text-h2-tracking);color:var(--text-body)}.state-body{margin:0;font-size:var(--text-body1-size);line-height:var(--text-body1-line);color:var(--text-secondary)}.state-action{margin-top:var(--space-2);display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}.state-action-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control-height-md);padding:0 16px;border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-button-size);font-weight:var(--text-button-weight);line-height:1;text-decoration:none;cursor:pointer;transition:transform var(--duration-fast) var(--ease-spring),background var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.state-action-link--primary{background:var(--color-primary);color:var(--text-inverse);box-shadow:var(--shadow-1)}.state-action-link--primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-2);transform:translateY(-1px);color:var(--text-inverse);text-decoration:none}.state-action-link--primary:active{background:var(--color-primary-active);box-shadow:var(--shadow-0);transform:scale(.97)}.state-action-link--secondary{background:var(--surface-card);color:var(--color-primary);border-color:var(--border-strong);box-shadow:var(--shadow-1)}.state-action-link--secondary:hover{background:var(--blue-50);border-color:var(--blue-300);transform:translateY(-1px);color:var(--color-primary);text-decoration:none}.state-action-link--secondary:active{background:var(--blue-100);box-shadow:var(--shadow-0);transform:scale(.97)}.state-action-link:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (prefers-reduced-motion:reduce){.state-action-link{transition:none}}.onboarding{position:fixed;inset:auto var(--space-4) var(--space-4) auto;z-index:60;max-width:22rem}.onboarding-card{display:flex;flex-direction:column;gap:var(--space-2);font-family:var(--font-sans);color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-3)}.onboarding-title{margin:0;font-size:var(--text-subtitle-size);font-weight:var(--text-subtitle-weight);line-height:var(--text-subtitle-line);color:var(--text-body)}.onboarding-body{margin:0;font-size:var(--text-body2-size);line-height:var(--text-body1-line);color:var(--text-secondary)}.onboarding-card button{align-self:flex-start;margin-top:var(--space-2)}@media (max-width:640px){.onboarding{inset:auto var(--space-3) var(--space-3) var(--space-3);max-width:none}}