.font-license-details{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);background:var(--color-surface-raised);flex-direction:column;display:flex}.font-license-details__header{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.font-license-details__title,.font-license-details__family{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.font-license-details__format{padding:0 var(--space-1);border-radius:var(--radius-control-compact);background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--font-size-2xs);text-transform:uppercase}.font-license-details__close-btn{border-radius:var(--radius-control-compact);width:24px;height:24px;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-xs);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.font-license-details__close-btn:hover{background:var(--color-surface-sunken);color:var(--color-text-primary)}.font-license-details__close-btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.font-license-details__row{gap:var(--space-2);margin:var(--space-1) 0 0;line-height:1.4;display:flex}.font-license-details__label{width:5rem;color:var(--color-text-muted);font-size:var(--font-size-2xs);text-transform:uppercase;flex-shrink:0}.font-license-details__value{font-size:var(--font-size-sm);color:var(--color-text-primary);word-break:break-word}.font-license-details__value--positive,.font-license-details__value--installable,.font-license-details__value--editable,.font-license-details__value--preview{color:var(--color-feedback-success-strong)}.font-license-details__value--warning,.font-license-details__value--restricted,.font-license-details__value--license{color:var(--color-feedback-warning-strong)}.font-license-details__value--negative{color:var(--color-feedback-danger)}.font-license-details__value--neutral,.font-license-details__value--unknown{color:var(--color-text-secondary)}.font-license-details__link{color:var(--color-accent-primary);text-decoration:none}.font-license-details__link:hover{text-decoration:underline}.font-license-details__link:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:var(--radius-control-compact)}.font-license-details__permissions{gap:var(--space-1);flex-direction:column;display:flex}.font-license-details__permissions-grid{gap:var(--space-1) var(--space-2);grid-template-columns:1fr 1fr;margin:0;display:grid}.font-license-details__permission-item{justify-content:space-between;align-items:center;gap:var(--space-1);display:flex}.font-license-details__permission-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0}.font-license-details__permission-value{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin:0}.font-license-details__permission-value--allowed{color:var(--color-feedback-success-strong)}.font-license-details__permission-value--denied{color:var(--color-text-muted)}.font-license-details__text{margin-top:var(--space-1)}.font-license-details__text-summary{font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.font-license-details__text-summary:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:var(--radius-control-compact)}.font-license-details__text-content{margin-top:var(--space-1);padding:var(--space-2);background:var(--color-surface-sunken);border-radius:var(--radius-control-compact);font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.font-browser{width:100%;max-height:var(--font-browser-max-height);height:var(--font-browser-max-height);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);background:var(--color-surface-raised);color:var(--color-text-primary);flex-direction:column;display:flex;overflow:hidden}.font-browser--modal{height:min(var(--font-browser-max-height), calc(100dvh - 6rem))}.font-browser__toolbar{padding:var(--space-2);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.font-browser .varve-search{width:100%}.font-browser__interpretation{align-items:center;gap:var(--space-1);margin-top:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-2xs);flex-wrap:wrap;display:flex}.font-browser__interpretation-label,.font-browser__eyebrow{color:var(--color-text-muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase}.font-browser__chip,.font-browser__detail-tag{max-width:100%;padding:2px var(--space-1);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control-compact);background:var(--color-surface-sunken);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;align-items:center;display:inline-flex;overflow:hidden}.font-browser__chip--required{border-color:var(--color-interactive-default);color:var(--color-text-primary)}.font-browser__chip--excluded{color:var(--color-text-muted);text-decoration:line-through}.font-browser__chip--ambiguous,.font-browser__ambiguity,.font-browser__badge--unknown{color:var(--color-feedback-warning-strong)}.font-browser__controls{align-items:end;gap:var(--space-2);margin-top:var(--space-2);display:flex}.font-browser__filters{scrollbar-width:thin;flex:auto;min-width:0;display:flex;overflow-x:auto}.font-browser__filter-btn{min-height:var(--component-compact-height);padding:var(--space-1) var(--space-2);color:var(--color-text-muted);font:inherit;font-size:var(--font-size-2xs);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex:none}.font-browser__filter-btn:hover{color:var(--color-text-secondary)}.font-browser__filter-btn--active{border-bottom-color:var(--color-interactive-default);color:var(--color-text-primary)}.font-browser__filter-btn:focus-visible{outline:2px solid var(--color-interactive-focus-ring);outline-offset:2px}.font-browser__semantic-filter select:focus-visible{outline:2px solid var(--color-interactive-focus-ring);outline-offset:2px}.font-browser__specimen-label input:focus-visible{outline:2px solid var(--color-interactive-focus-ring);outline-offset:2px}.font-browser__tag-editor input:focus-visible{outline:2px solid var(--color-interactive-focus-ring);outline-offset:2px}.font-browser__semantic-filter{align-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-2xs);white-space:nowrap;flex-direction:row;flex:none;display:flex}.font-browser__semantic-filter select{min-height:var(--component-compact-height);max-width:10rem;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control-compact);background:var(--color-surface-sunken);color:var(--color-text-primary);font:inherit}.font-browser__local-fonts{align-items:center;gap:var(--space-1);flex:0 auto;min-width:0;display:flex}.font-browser__local-fonts-button{min-height:var(--component-compact-height);padding:var(--space-1) var(--space-2);border:1px solid var(--color-interactive-default);border-radius:var(--radius-control-compact);background:var(--color-surface-raised);color:var(--color-interactive-default);font:inherit;font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap}.font-browser__local-fonts-button:hover:not(:disabled){background:var(--color-interactive-default);color:var(--color-text-on-accent)}.font-browser__local-fonts-button:focus-visible{outline:2px solid var(--color-interactive-focus-ring);outline-offset:2px}.font-browser__local-fonts-button:disabled{cursor:progress;opacity:.7}.font-browser__reset-button{min-height:var(--component-compact-height);padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control-compact);color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap;background:0 0;flex:none}.font-browser__reset-button:hover{border-color:var(--color-interactive-default);background:var(--color-interactive-hover-surface);color:var(--color-interactive-default)}.font-browser__reset-button:focus-visible{outline:2px solid var(--color-interactive-focus-ring);outline-offset:2px}.font-browser__local-fonts-status{max-width:10rem;color:var(--color-text-muted);font-size:var(--font-size-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.font-browser__workspace{flex:auto;grid-template-columns:minmax(0,1.25fr) minmax(19rem,.85fr);min-height:0;display:grid}.font-browser__results,.font-browser__details{min-width:0;min-height:0}.font-browser__results{border-right:1px solid var(--color-border-subtle);flex-direction:column;display:flex;overflow:hidden}.font-browser__list-heading{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;display:flex}.font-browser__list-heading>div{flex-direction:column;gap:2px;min-width:0;display:flex}.font-browser__list-heading strong{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.font-browser__list-heading span,.font-browser__hint{color:var(--color-text-muted);font-size:var(--font-size-2xs)}.font-browser__hint{text-align:right}.font-browser__list{scrollbar-color:var(--color-border-strong) transparent;scrollbar-width:thin;flex:auto;min-height:0;overflow-y:auto}.font-browser__virtual-content{width:100%;position:relative}.font-browser__virtual-row{box-sizing:border-box}.font-browser__entry{border-bottom:1px solid var(--color-border-subtle);flex-direction:column;display:flex}.font-browser__row{align-items:center;gap:var(--space-2);min-height:3.25rem;padding:var(--space-1) var(--space-2);border-left:3px solid #0000;display:flex}.font-browser__row:hover{background:var(--color-interactive-hover)}.font-browser__entry--selected .font-browser__row{border-left-color:var(--color-interactive-default);background:var(--color-accent-subtle)}.font-browser__expand-btn{min-height:var(--touch-target-min);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex:0 0 1.5rem;justify-content:center;align-items:center;padding:0;display:inline-flex}.font-browser__expand-btn:hover{color:var(--color-text-primary)}.font-browser__expand-placeholder{flex:0 0 1.5rem}.font-browser__select-btn{min-width:0;min-height:var(--touch-target-min);padding:var(--space-1) 0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;display:flex}.font-browser__select-btn:focus-visible{outline:2px solid var(--color-interactive-focus-ring);outline-offset:2px}.font-browser__expand-btn:focus-visible{outline:2px solid var(--color-interactive-focus-ring);outline-offset:2px}.font-browser__face-row:focus-visible{outline:2px solid var(--color-interactive-focus-ring);outline-offset:2px}.font-browser__recommendation-lane button:focus-visible{outline:2px solid var(--color-interactive-focus-ring);outline-offset:2px}.font-browser__install-btn:focus-visible{outline:2px solid var(--color-interactive-focus-ring);outline-offset:2px}.font-browser__use-btn:focus-visible{outline:2px solid var(--color-interactive-focus-ring);outline-offset:2px}.font-browser__tag-editor button:focus-visible{outline:2px solid var(--color-interactive-focus-ring);outline-offset:2px}.font-browser__row-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.font-browser__preview{color:var(--color-text-primary);font-size:var(--font-size-md);text-overflow:ellipsis;white-space:nowrap;line-height:1.15;overflow:hidden}.font-browser__descriptors{color:var(--color-text-muted);font-size:var(--font-size-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.font-browser__meta{align-items:center;gap:var(--space-1);flex:none;display:flex}.font-browser__favorite{flex:none}.font-browser__badge{min-height:1.25rem;padding:0 var(--space-1);border-radius:var(--radius-control-compact);background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);white-space:nowrap;align-items:center;line-height:1.4;display:inline-flex}.font-browser__badge--var{color:var(--color-interactive-default);font-style:italic;font-weight:var(--font-weight-bold)}.font-browser__install-btn,.font-browser__use-btn,.font-browser__tag-editor button{min-height:2rem;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control-compact);background:var(--color-surface-raised);color:var(--color-interactive-default);font:inherit;font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap}.font-browser__install-btn{flex:none}.font-browser__install-btn:hover:not(:disabled),.font-browser__use-btn:hover:not(:disabled),.font-browser__tag-editor button:hover:not(:disabled){background:var(--color-interactive-hover)}.font-browser__install-btn--primary,.font-browser__use-btn{background:var(--color-interactive-default);color:var(--color-text-on-accent);border-color:#0000}.font-browser__install-btn--primary:hover:not(:disabled),.font-browser__use-btn:hover:not(:disabled){background:var(--color-interactive-hover);color:var(--color-text-primary)}.font-browser__install-btn:disabled,.font-browser__use-btn:disabled,.font-browser__tag-editor button:disabled{cursor:wait;opacity:.6}.font-browser__faces{gap:var(--space-1);padding:0 var(--space-2) var(--space-2) 3.75rem;flex-direction:column;display:flex}.font-browser__face-row{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:2rem;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control-compact);background:var(--color-surface-sunken);color:var(--color-text-primary);font:inherit;font-size:var(--font-size-2xs);text-align:left;cursor:pointer;display:flex}.font-browser__face-row:hover{background:var(--color-surface-hover)}.font-browser__face-name{font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.font-browser__face-meta{color:var(--color-text-secondary);flex-shrink:0}.font-browser__empty{align-items:center;gap:var(--space-1);padding:var(--space-6) var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:center;flex-direction:column;display:flex}.font-browser__empty strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.font-browser__count{padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border-subtle);color:var(--color-text-muted);font-size:var(--font-size-2xs);flex-shrink:0}.font-browser__details{gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-sunken);scrollbar-color:var(--color-border-strong) transparent;scrollbar-width:thin;flex-direction:column;display:flex;overflow-y:auto}.font-browser__details-header{justify-content:space-between;align-items:start;gap:var(--space-2);display:flex}.font-browser__details-header>div{flex-direction:column;gap:2px;min-width:0;display:flex}.font-browser__details-header h3{overflow-wrap:anywhere;font-family:var(--type-interface-title-family);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;line-height:1.15}.font-browser__details-header>div>span:last-child{color:var(--color-text-muted);font-size:var(--font-size-2xs)}.font-browser__availability{padding:2px var(--space-1);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control-compact);color:var(--color-feedback-warning-strong);font-size:var(--font-size-2xs);white-space:nowrap;flex-shrink:0}.font-browser__availability--installed{color:var(--color-feedback-success-strong)}.font-browser__specimen-label{gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);flex-direction:column;display:flex}.font-browser__specimen-label input,.font-browser__tag-editor input{min-width:0;min-height:2.25rem;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control-compact);background:var(--color-surface-raised);color:var(--color-text-primary);font:inherit;font-size:var(--font-size-xs)}.font-browser__specimen{min-height:6rem;max-height:12rem;padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);background:var(--color-surface-raised);color:var(--color-text-primary);overflow-wrap:anywhere;word-break:break-word;flex:none;font-size:clamp(1.25rem,3vw,2.25rem);line-height:1.15;overflow:auto}.font-browser__specimen--fallback{color:var(--color-text-secondary)}.font-browser__axes{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border-subtle);flex-direction:column;display:flex}.font-browser__axes-header{justify-content:space-between;align-items:start;gap:var(--space-2);display:flex}.font-browser__axes-header>div{flex-direction:column;gap:2px;min-width:0;display:flex}.font-browser__axes-header strong{color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.font-browser__axes-header span{color:var(--color-text-muted);font-size:var(--font-size-2xs);line-height:1.35}.font-browser__axes-header button{min-height:var(--component-compact-height);padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control-compact);background:var(--color-surface-raised);color:var(--color-interactive-default);font:inherit;font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);cursor:pointer;flex:none}.font-browser__axes-header button:hover{background:var(--color-interactive-hover)}.font-browser__axes-header button:disabled{color:var(--color-text-muted);cursor:default;opacity:.6}.font-browser__axes-header button:focus-visible{outline:2px solid var(--color-interactive-focus-ring);outline-offset:2px}.font-browser__axis{gap:var(--space-1);flex-direction:column;display:flex}.font-browser__axis-label,.font-browser__axis-range{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.font-browser__axis-label label{min-width:0;color:var(--color-text-secondary);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.font-browser__axis-label output{color:var(--color-text-primary);font-size:var(--font-size-2xs);font-variant-numeric:tabular-nums;flex:none}.font-browser__axis input[type=range]{width:100%;margin:0;display:block}.font-browser__axis-range{color:var(--color-text-muted);font-size:var(--font-size-2xs,var(--font-size-2xs));font-variant-numeric:tabular-nums}.font-browser__axis-range span:nth-child(2){color:var(--color-text-secondary)}.font-browser__preview-note,.font-browser__error{color:var(--color-text-muted);font-size:var(--font-size-2xs);margin:0;line-height:1.45}.font-browser__error{color:var(--color-feedback-danger);margin:0}.font-browser__detail-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.font-browser__detail-grid>div{min-width:0}.font-browser__detail-grid dt{color:var(--color-text-muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;margin-bottom:2px}.font-browser__detail-grid dd{overflow-wrap:anywhere;color:var(--color-text-primary);font-size:var(--font-size-xs);margin:0}.font-browser__detail-grid a{color:var(--color-accent-primary);text-underline-offset:2px;text-decoration:underline}.font-browser__detail-tags{gap:var(--space-1);flex-wrap:wrap;display:flex}.font-browser__detail-tag--user{color:var(--color-interactive-default)}.font-browser__detail-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.font-browser__why,.font-browser__file-details,.font-browser__recommendations{border-top:1px solid var(--color-border-subtle)}.font-browser__why summary,.font-browser__file-details summary{padding-top:var(--space-2);color:var(--color-text-primary);font-size:var(--font-size-xs);cursor:pointer}.font-browser__why ul{gap:var(--space-1);margin:var(--space-2) 0 0;padding:0 0 0 var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-2xs);flex-direction:column;display:flex}.font-browser__why li{justify-content:space-between;gap:var(--space-2);display:flex}.font-browser__why small{color:var(--color-text-muted);flex-shrink:0}.font-browser__recommendations{gap:var(--space-2);padding-top:var(--space-2);flex-direction:column;display:flex}.font-browser__recommendations h4{color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin:0}.font-browser__recommendation-lane{align-items:start;gap:var(--space-2);font-size:var(--font-size-2xs);grid-template-columns:5.5rem minmax(0,1fr);display:grid}.font-browser__recommendation-lane>strong{color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.font-browser__recommendation-lane>div{gap:var(--space-1);flex-wrap:wrap;display:flex}.font-browser__recommendation-lane button{max-width:100%;padding:2px var(--space-1);border:1px solid var(--color-border-subtle);border-radius:var(--radius-control-compact);background:var(--color-surface-raised);color:var(--color-interactive-default);font:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden}.font-browser__recommendation-lane button:hover{background:var(--color-interactive-hover)}.font-browser__file-details .font-license-details{margin-top:var(--space-2)}.font-browser__tag-editor{gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-2xs);flex-direction:column;display:flex}.font-browser__tag-editor>div{gap:var(--space-1);display:flex}.font-browser__tag-editor input{flex:auto}.font-browser__details-empty{justify-content:center;align-items:center;gap:var(--space-2);height:100%;padding:var(--space-6);color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:center;flex-direction:column;display:flex}.font-browser__details-empty strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.font-browser__details-empty-mark{color:var(--color-interactive-default);font-family:var(--type-interface-title-family);font-size:2.5rem;font-weight:var(--font-weight-semibold)}@media (max-width:52rem){.font-browser__workspace{flex-direction:column;display:flex}.font-browser__results{border-right:0;flex:50%;min-height:0}.font-browser__details{border-top:1px solid var(--color-border-subtle);flex:50%;max-height:none}}@media (max-width:34rem){.font-browser__controls,.font-browser__local-fonts{flex-direction:column;align-items:stretch}.font-browser__local-fonts-button,.font-browser__reset-button{width:100%}.font-browser__local-fonts-status{max-width:none}.font-browser__semantic-filter{justify-content:space-between}.font-browser__semantic-filter select{max-width:none}.font-browser__meta{display:none}.font-browser__list-heading{flex-direction:column;align-items:start}.font-browser__hint{text-align:left}.font-browser__detail-grid{grid-template-columns:1fr}}[data-theme=high-contrast] .font-browser,[data-theme=high-contrast] .font-browser__specimen-label input,[data-theme=high-contrast] .font-browser__tag-editor input,[data-theme=high-contrast] .font-browser__semantic-filter select,[data-theme=high-contrast] .font-browser__local-fonts-button,[data-theme=high-contrast] .font-browser__reset-button{border-color:var(--color-border-strong)}@media (forced-colors:active){.font-browser__entry--selected .font-browser__row{color:highlighttext;background:highlight;border-left-color:highlight}.font-browser__entry--selected .font-browser__preview,.font-browser__entry--selected .font-browser__descriptors{color:highlighttext}.font-browser__filter-btn--active{color:highlighttext;border-bottom-color:highlight}.font-browser__badge,.font-browser__chip,.font-browser__detail-tag,.font-browser__local-fonts-button,.font-browser__reset-button{border:1px solid buttontext}}
