@font-face {
    font-family: 'CustomFont';
    src: url('__PLACEHOLDER__') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.font-showcase {
    --glyph-size: 4rem;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1rem;
    padding: 2rem;
    background: #f9f9f9;
    font-family: 'CustomFont', sans-serif;
    max-width: 100vw;
    overflow-x: auto;
}

.glyph {
    background: white;
    border: 1px solid #ddd;
    border-radius: .5rem;
    text-align: center;
    padding: .75rem 0;
    transition: all .2s;
    cursor: help;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: calc(var(--glyph-size) + 2rem);
}

.glyph:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0,0,0,.1);
    border-color: #0073aa;
}

.glyph .char {
    font-size: var(--glyph-size);
    line-height: 1;
    margin-bottom: .25rem;
    display: block;
}

.glyph .code {
    font-family: ui-monospace, monospace;
    font-size: .65rem;
    color: #666;
    text-transform: uppercase;
}

/* Mobile fallback */
@media (max-width: 640px) {
    .font-showcase { grid-template-columns: repeat(6, 1fr); }
}

.font-showcase.dark {
    background: #1a1a1a;
    color: #eee;
}
.font-showcase.dark .glyph { background: #222; border-color: #444; }
.font-showcase.dark .glyph .code { color: #aaa; }