body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@font-face{font-display:swap;font-family:Arizonia;font-style:normal;font-weight:400;src:url(/static/media/Arizonia-Regular.31d6cfe0d16ae931b73c.ttf) format("truetype")}.main-title-arizonia{font-display:swap;font-family:Arizonia,cursive,sans-serif;font-size:63px;letter-spacing:1px}.main-title-arizonia,.subtitle-tahoma{color:#fff;font-weight:400;line-height:1.2}.subtitle-tahoma{font-family:Tahoma,sans-serif;font-size:16px;letter-spacing:.5px;margin-top:4px}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes orgBalloonBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.modern-ui{background:linear-gradient(120deg,#181c22 60%,#23272f)}.modern-sidebar{background:#181c22;border-radius:0 18px 18px 0;box-shadow:2px 0 12px #0002}.modern-header{background:#23272f;border-radius:10px;box-shadow:0 2px 8px #0001;margin-bottom:1.5rem;padding:1.2rem 2rem}.modern-actions{display:flex;gap:.4rem}.modern-btn{background:#23272f;border:none;border-radius:6px;box-shadow:0 1px 4px #0001;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.5rem 1.2rem;transition:background .2s,color .2s,box-shadow .2s}.modern-btn.orange-action-btn{background:#ff9800;color:#000}.modern-btn.orange-action-btn:hover:not(:disabled){color:#fff}.modern-btn.orange-action-btn:disabled{background:#666;color:#999;cursor:not-allowed}.modern-btn.primary{background:#ffb74d;color:#181c22}.modern-btn.primary:focus:not(:disabled),.modern-btn.primary:hover:not(:disabled){background:#ffb74d;box-shadow:0 2px 8px #ffb74d44;color:#fff}.modern-btn.secondary{background:#1976d2;color:#fff}.modern-btn.tertiary{background:#444;color:#fff}.modern-btn.danger{background:#d32f2f;color:#fff}.modern-btn.danger:hover:not(:disabled){background:#b71c1c;box-shadow:0 2px 8px #d32f2f44}.modern-btn.green-action-btn{background:#4caf50;color:#fff}.modern-btn.green-action-btn:hover:not(:disabled){background:#388e3c;box-shadow:0 2px 8px #4caf5044}.modern-btn.green-action-btn:disabled{background:#2e7d32;cursor:not-allowed;opacity:.6}.modern-btn.toggle-btn.active{background:#1976d2;color:#fff}.modern-btn.toggle-btn:focus,.modern-btn.toggle-btn:hover{background:#2d3748;box-shadow:none;color:#fff}.modern-btn.toggle-btn.active:focus,.modern-btn.toggle-btn.active:hover{background:#1565c0;color:#fff}.modern-btn:not(.toggle-btn):focus,.modern-btn:not(.toggle-btn):hover{background:#ffb74d;box-shadow:0 2px 8px #ffb74d44;color:#181c22}.modern-btn.close-btn{background:#b71c1c;border-radius:6px;color:#fff;font-size:1rem;padding:.3rem 1rem;position:absolute;right:12px;top:12px}.modern-search input[type=text],.modern-search select,.preview-text-container input[type=text]{background:#23272f;border:1px solid #444;border-radius:6px;color:#fff;font-size:1rem;margin-right:.5rem;padding:.5rem 1rem}.modern-search .preview-text-container,.preview-text-container{display:inline-block;margin-right:.5rem;position:relative}.modern-search .preview-text-container input[type=text],.preview-text-container input[type=text]{margin-right:0;padding-right:2.5rem}.preview-text-reset{align-items:center;background:#ff9800;border:none;border-radius:4px;color:#181c22;cursor:pointer;display:flex;font-size:1.3rem;font-weight:700;height:24px;justify-content:center;line-height:1;padding:0;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:24px}.preview-text-reset:hover{background:#ffb74d;color:#000;transform:translateY(-50%) scale(1.1)}.preview-text-reset:active{transform:translateY(-50%) scale(.95)}.search-clear-button{align-items:center;background:#ff9800;border:none;border-radius:4px;color:#181c22;cursor:pointer;display:flex;font-size:1.3rem;font-weight:700;height:24px;justify-content:center;line-height:1;padding:0;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:24px}.search-clear-button:hover{background:#ffb74d;color:#000;transform:translateY(-50%) scale(1.1)}.search-clear-button:active{transform:translateY(-50%) scale(.95)}.modern-search input[type=range],.preview-size-control input[type=range]{accent-color:#ffb74d}.preview-size-control{align-items:center;display:flex;flex-direction:row;gap:8px}.preview-size-label{color:#ffb74d;font-size:.75rem;font-weight:600;margin-left:0}.modern-card{background:#23272f;border-radius:12px;box-shadow:0 2px 12px #0003;color:#fff;margin-bottom:1.5rem;padding:1.5rem 2rem}.modern-card.recommendations{border-left:6px solid #1976d2}.modern-card.similar-fonts{border-left:6px solid #ffb74d}.modern-preview-row{display:flex;gap:1.5rem;margin-bottom:2rem}.modern-preview-row.two-rows{flex-direction:column;gap:1rem}.modern-preview-row.two-rows .preview-row{display:flex;gap:1.5rem}.modern-table-wrapper{background:#181c22;border-radius:12px;box-shadow:0 2px 12px #0002;margin-bottom:1.5rem;padding:1.2rem .5rem}.modern-table{background:#0000;border-collapse:collapse;width:100%}.modern-table td,.modern-table th{border-bottom:1px solid #23272f;font-size:1rem;padding:.8rem .7rem;text-align:left}.modern-table th{color:#ffb74d;font-weight:700}.modern-table th,.modern-table tr:hover{background:#23272f}.modern-loading{color:#ffb74d;font-size:1.2rem}.modern-error,.modern-loading{padding:2rem;text-align:center}.modern-error{color:#ff7043;font-size:1.1rem}.modern-modal-overlay{align-items:center;background:#000a;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;inset:0;width:100%;z-index:1000}.modern-modal{background:#23272f;border-radius:16px;box-shadow:0 4px 24px #0005;max-height:90vh;max-width:600px;min-width:400px;overflow-y:auto;padding:2.5rem 2rem 2rem;position:relative}.highlight-badge{background:#ffb74d;border-radius:12px;color:#fff;font-size:1.05rem;font-weight:700;margin-left:.5rem;padding:.2rem .8rem}.font-catalog-root{background:#181c22;color:#fff;display:flex;font-family:Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;min-height:100vh}.font-catalog-sidebar{align-self:flex-start;border-right:1px solid #23272f;display:flex;flex-direction:column;gap:1.2rem;height:calc(100vh - 30px);min-width:270px;overflow-x:hidden;overflow-y:auto;padding:1.5rem 1rem 1rem 1.5rem;position:-webkit-sticky;position:sticky;scrollbar-gutter:stable;top:0;transition:width .3s ease,padding .3s ease}.font-catalog-sidebar.collapsed{min-width:40px;overflow-x:visible;overflow-x:hidden;padding:1.5rem .5rem;scrollbar-gutter:stable}.virtual-font-table-shell{background:#181c22;display:flex;flex-direction:column;height:100%;min-height:0}.virtual-font-table-header{background:#23272f;border-bottom:1px solid #2f3540;position:-webkit-sticky;position:sticky;top:0;z-index:2}.virtual-font-table-header-cell{align-items:center;border-right:1px solid #1f232b;color:#ffb74d;display:flex;font-size:.98rem;font-weight:700;padding:.7rem .6rem}.virtual-font-table-row{background:#181c22;border-bottom:1px solid #23272f}.virtual-font-table-row:hover{background:#23272f}.virtual-font-table-header-wrap{align-items:stretch;background:#23272f;border-bottom:1px solid #2f3540;display:flex;position:-webkit-sticky;position:sticky;top:0;z-index:2}.virtual-font-table-header{align-items:stretch;display:grid;flex:1 1}.virtual-font-table-header-scrollbar-spacer{flex:0 0 auto}.virtual-font-table-body{flex:1 1;min-height:0}.virtual-font-table-list{height:100%}``
.virtual-font-table-cell{align-items:center;border-right:1px solid #ffffff08;color:#fff;display:flex;font-size:.98rem;min-width:0;overflow:hidden;padding:.7rem .6rem}.virtual-font-table-cell-name{align-items:flex-start;flex-direction:column;justify-content:center}.virtual-font-table-cell-checkbox,.virtual-font-table-cell-icon{justify-content:center;text-align:center}.modern-end{color:#a0aec0;font-size:.95rem;padding:.8rem 1rem;text-align:center}.sidebar-section{margin-bottom:1.2rem}.sidebar-title{color:#ffb74d;font-size:1.05rem;font-weight:700;margin-bottom:.3rem}.sidebar-item{color:#fff;font-size:.98rem;margin-bottom:.2rem;margin-left:.7rem}.sidebar-count{color:#fff;font-weight:600;margin-left:.4rem}.sidebar-note{color:#ff7043;font-size:.92rem;margin-left:.4rem}.font-catalog-main{display:flex;flex:1 1;flex-direction:column;min-width:0;padding:2rem 2.5rem}.font-catalog-header{align-items:center;background:#23272f;box-shadow:0 2px 12px #0002;display:flex;justify-content:space-between;margin:-2rem -2.5rem 0;padding:1.2rem 2rem 1.2rem 4.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:101}.font-catalog-title{color:#fff;font-size:1.4rem;font-weight:700}.font-catalog-actions button{background:#23272f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;margin-left:.4rem;padding:.45rem .9rem;transition:background .2s}.font-catalog-actions button:hover{background:#ffb74d;color:#181c22}.font-catalog-search{align-items:center;background:#181c22;box-shadow:0 2px 8px #00000080;display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center;margin-bottom:0;margin-left:-2.5rem;margin-right:-2.5rem;padding:1rem 2.5rem;position:-webkit-sticky;position:sticky;top:72px;z-index:100}.font-catalog-search .search-input-wrapper{box-sizing:border-box;flex-grow:0;flex-shrink:0;max-width:250px!important;width:250px!important}.font-catalog-search input[type=text]{background:#23272f;border:1px solid #444;border-radius:4px;box-sizing:border-box;color:#fff;font-size:1rem;padding:.5rem 1rem;width:100%}.font-catalog-search select{flex-shrink:0;min-width:150px}.font-catalog-search input[type=range]{accent-color:#ffb74d}.font-catalog-preview-row{background:#181c22;box-shadow:0 2px 8px #00000080;display:flex;gap:1.2rem;margin-bottom:0;margin-left:-2.5rem;margin-right:-2.5rem;padding:1rem 2.5rem;position:-webkit-sticky;position:sticky;top:128px;z-index:99}.font-preview-card{background:#23272f;border-radius:8px;box-shadow:0 2px 8px #0002;color:#fff;flex:1 1;font-size:1.3rem;font-weight:600;min-width:0;padding:1.2rem 1.5rem}.font-catalog-table-wrapper{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.font-catalog-scroll-container{flex:1 1;overflow-x:auto;overflow-y:auto;position:relative}.font-catalog-table{background:#181c22;border-collapse:collapse;width:100%}.font-catalog-table td,.font-catalog-table th{border-bottom:1px solid #23272f;font-size:.98rem;padding:.7rem .6rem;text-align:left}.font-catalog-table th{background:#23272f;color:#ffb74d;font-weight:700}.font-catalog-table tr:hover{background:#23272f}.alternatives-modal-container{background:#23272f;border-radius:16px;box-shadow:0 4px 24px #0005;display:flex;flex-direction:column;gap:1.5rem;max-height:92vh;max-width:1300px;min-height:600px;min-width:700px;overflow-y:auto;padding:2rem 2rem 1.5rem;position:relative;width:80vw}.alternatives-modal-header{align-items:flex-start;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding-bottom:1rem}.alternatives-modal-header h2{color:#fff;font-size:1.8rem;font-weight:600}.alternatives-modal-controls{background:#ffffff08;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:1rem}.alternatives-modal-controls input[type=range]{accent-color:#1976d2;cursor:pointer;flex:1 1}.alternatives-modal-content{display:flex;flex-direction:column;gap:1.5rem}.font-preview-section{background:#ffffff08;border:1px solid #333;border-radius:8px;padding:1rem}.font-preview{align-items:center;color:#fff;display:flex;font-display:swap;line-height:1.6;min-height:60px;word-break:break-word}.font-metadata-section{background:#ffffff08;border-radius:8px;padding:1rem}.font-metadata-section h3{font-size:1rem;font-weight:600;margin:0 0 1rem}.metadata-grid{display:flex;flex-direction:column;gap:.75rem}.metadata-row{align-items:flex-start;display:flex;font-size:.9rem;gap:.75rem}.metadata-label{color:#888;font-weight:500;min-width:70px}.metadata-value{color:#ccc;flex:1 1;word-break:break-word}.license-badge{background:#4caf5033;border-radius:4px;color:#81c784;display:inline-block;font-size:.85rem;font-weight:500;padding:.25rem .5rem}.alternatives-modal-alternatives{display:flex;flex-direction:column;gap:1rem}.alternatives-modal-alternatives h3{font-size:1rem;font-weight:600;margin:0}.alternatives-empty-state{align-items:center;background:#ffffff08;border:1px dashed #444;border-radius:8px;display:flex;justify-content:center;min-height:100px;padding:2rem;text-align:center}.alternatives-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:1rem;gap:1rem}.alternative-card{background:#ffffff0d;border:1px solid #444;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:120px;padding:1rem;transition:all .2s ease}.alternative-card:hover{background:#1976d226;border-color:#1976d2;box-shadow:0 4px 12px #1976d233;transform:translateY(-2px)}.alternative-card:focus{outline:2px solid #1976d2;outline-offset:2px}.alternative-card-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.5rem}.alternative-family{color:#fff;flex:1 1;font-size:1rem;font-weight:600;word-break:break-word}.alt-delete-btn{background:none;border:none;border-radius:3px;color:#555;cursor:pointer;flex-shrink:0;font-size:18px;line-height:1;padding:0 2px;transition:color .15s ease,background .15s ease}.alt-delete-btn:hover{background:#ff6b6b1f;color:#ff6b6b}.add-alternative-section{margin-top:.5rem}.add-alternative-wrapper{position:relative}.add-alternative-input{background:#1a1a1a;border:1px solid #444;border-radius:4px;box-sizing:border-box;color:#fff;font-size:13px;outline:none;padding:8px 12px;transition:border-color .15s ease;width:100%}.add-alternative-input:focus{border-color:#1976d2}.add-alternative-suggestions{background:#1e1e2e;border:1px solid #444;border-radius:4px;box-shadow:0 4px 12px #0006;left:0;max-height:280px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.add-alternative-suggestion-item{border-bottom:1px solid #2a2a3a;color:#ddd;cursor:pointer;font-size:13px;padding:9px 12px}.add-alternative-suggestion-item:last-child{border-bottom:none}.add-alternative-suggestion-item:hover{background:#1976d233;color:#fff}.add-alternative-suggestion-custom{border-top:1px solid #333;color:#a0aec0;cursor:pointer;font-size:13px;font-style:italic;padding:9px 12px}.add-alternative-suggestion-custom:hover{background:#ffffff12;color:#fff}.alternatives-modal-footer{align-items:center;border-top:1px solid #333;display:flex;flex-direction:column;gap:.5rem;margin-top:auto;padding-top:1.25rem}.alternative-license-badge{background:#4caf5033;border-radius:3px;color:#81c784;display:inline-block;flex-shrink:0;font-size:.75rem;font-weight:500;padding:.2rem .4rem;white-space:nowrap}.alternative-foundry{color:#888;font-size:.85rem;margin-bottom:.5rem}.alternative-card-footer{color:#666;display:flex;justify-content:flex-end;margin-top:auto;transition:color .2s ease}.alternative-card:hover .alternative-card-footer{color:#1976d2}.alternatives-modal-error,.alternatives-modal-loading{align-items:center;color:#ccc;display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:2rem;text-align:center}.alternatives-modal-error{color:#ff6b6b}@media (max-width:1024px){.alternatives-modal-container{max-width:90vw;min-width:400px}.alternatives-modal-content{grid-template-columns:1fr}}@media (max-width:768px){.alternatives-modal-container{max-width:95vw;min-width:auto;padding:1.5rem 1rem}.alternatives-modal-controls{flex-direction:column;gap:1rem}.alternatives-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.alternative-card{min-height:100px}.font-preview{font-size:.95rem;min-height:50px}}@media (max-width:480px){.alternatives-modal-container{border-radius:8px;max-height:95vh;min-width:auto}.alternatives-grid{grid-template-columns:1fr}.alternative-card{min-height:80px}.alternative-card-header{flex-direction:column}.alternative-license-badge{align-self:flex-start}}.alternatives-modal-container::-webkit-scrollbar{width:8px}.alternatives-modal-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.alternatives-modal-container::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.alternatives-modal-container::-webkit-scrollbar-thumb:hover{background:#ffffff40}