:root{--font-specimen: "Montserrat", sans-serif;--wght-val: 400;--base-size: 48px}.specimen-layout{display:grid;grid-template-columns:320px 1fr;gap:32px;margin-top:32px;min-height:80vh}.specimen-sidebar{display:flex;flex-direction:column;gap:24px}.url-loader{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:12px}.url-input-group{display:flex;gap:8px}.url-input-group input{background:var(--clr-bg);border:1px solid var(--clr-border);padding:8px 12px;border-radius:var(--radius-sm);color:var(--clr-text);font-size:.8rem;flex-grow:1;outline:none}.url-input-group button{background:var(--clr-accent);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;font-weight:700}.upload-zone{border:2px dashed var(--clr-border);padding:40px 24px;border-radius:var(--radius-md);text-align:center;background:var(--clr-surface);transition:var(--trans-smooth);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:16px}.upload-zone:hover,.upload-zone.dragover{border-color:var(--clr-accent);background:#f20c3c0d}.upload-zone .iconify{font-size:3rem;color:var(--clr-accent)}.workspace-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);display:flex;flex-direction:column;overflow:hidden;height:fit-content}.workspace-tabs{display:flex;border-bottom:1px solid var(--clr-border);background:#ffffff05;overflow-x:auto}.tab-btn{padding:16px 24px;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:none;background:none;color:var(--clr-text-muted);border-bottom:2px solid transparent;transition:var(--trans-fast);white-space:nowrap}.tab-btn.active{color:var(--clr-accent);border-bottom-color:var(--clr-accent);background:#f20c3c0d}.workspace-content{padding:32px;flex-grow:1}.specimen-lines{display:flex;flex-direction:column;gap:2.5rem;color:var(--clr-text);font-family:var(--font-specimen);font-variation-settings:"wght" var(--wght-val);transition:none}.specimen-line{word-break:break-word;line-height:1.2;font-size:var(--base-size)}.specimen-line.small{opacity:.6}.specimen-line.custom{min-height:1.1em;border-top:1px dashed var(--clr-border);padding-top:2.5rem;color:var(--clr-accent)}.specimen-custom-zone{margin-top:1rem;display:flex;flex-direction:column;gap:1.5rem}#customInput{background:var(--clr-bg);border:1px solid var(--clr-border);padding:14px 20px;border-radius:var(--radius-sm);color:var(--clr-text);font-family:var(--font-body);font-size:.95rem;width:100%;outline:none;transition:var(--trans-fast)}#customInput:focus{border-color:var(--clr-accent);background:#f20c3c05}.specimen-controls{padding:24px;background:#0003;border-top:1px solid var(--clr-border);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}.control-item{display:flex;flex-direction:column;gap:8px}.control-label{display:flex;justify-content:space-between;align-items:center}input[type=range]{width:100%;accent-color:var(--clr-accent)}.glyph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px}.glyph-item{aspect-ratio:1;display:grid;place-items:center;background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:var(--radius-sm);font-size:1.5rem;font-family:var(--font-specimen);font-variation-settings:"wght" var(--wght-val);cursor:default}.support-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.support-card{background:var(--clr-bg);border:1px solid var(--clr-border);padding:24px;border-radius:var(--radius-md);display:flex;align-items:center;gap:20px;transition:var(--trans-smooth)}.support-card.supported{border-color:#10b98122;background:#10b98108}.support-card.missing{border-color:#f40c3c22;background:#f40c3c08;opacity:.7}.support-card__preview{width:60px;height:60px;background:var(--clr-surface);border-radius:var(--radius-sm);display:grid;place-items:center;font-size:1.5rem;font-weight:900;font-family:var(--font-specimen);font-variation-settings:"wght" var(--wght-val)}.support-card__info{display:flex;flex-direction:column;gap:4px}.support-card__title{font-weight:800;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.support-card__status{display:flex;flex-direction:column;gap:4px;font-size:.7rem;font-weight:700}.status-line{display:flex;align-items:center;gap:6px}.missing-chars{font-size:.65rem;color:var(--clr-accent);opacity:.8;font-family:var(--font-specimen)}.dot{width:6px;height:6px;border-radius:50%}.supported .dot{background:#10b981}.missing .dot{background:#f40c3c}.tech-table{width:100%;border-collapse:collapse;font-size:.85rem}.tech-table th,.tech-table td{text-align:left;padding:12px;border:1px solid var(--clr-border)}.tech-table th{background:#ffffff0d;color:var(--clr-text-muted);font-weight:800}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:100px;font-size:.7rem;font-weight:900;text-transform:uppercase}.status-ready{background:#10b981;color:#fff}.status-waiting{background:var(--clr-border);color:var(--clr-text-muted)}.font-selector{display:flex;flex-direction:column;gap:12px;transition:var(--trans-smooth)}.font-option{padding:16px;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);cursor:pointer;transition:var(--trans-smooth);text-align:left;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:16px}.font-option:hover{border-color:var(--clr-accent)}.font-option.active{border-color:var(--clr-accent);background:#f20c3c0d;box-shadow:0 4px 20px #0003}.font-option .icon-box{width:40px;height:40px;background:#f20c3c0d;border-radius:var(--radius-sm);display:grid;place-items:center;font-size:1.2rem;color:var(--clr-accent);transition:var(--trans-smooth)}.font-option.active .icon-box{background:var(--clr-accent);color:var(--clr-white)}.font-option__info{display:flex;flex-direction:column;gap:2px}.font-option__name{font-weight:800;font-size:.85rem;color:var(--clr-text)}.font-selector.disabled{opacity:.4;pointer-events:none;filter:grayscale(1)}@media(max-width:900px){.specimen-layout{grid-template-columns:1fr}}
