*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#0a0a0a;color:#e8e8e8;line-height:1.5}a{color:#5eead4;text-decoration:none}a:hover{text-decoration:underline}.app-shell{min-height:100%;display:flex;flex-direction:column}.top-nav{display:flex;gap:1.5rem;padding:1rem 1.5rem;border-bottom:1px solid #222;background:#050505}.top-nav a{color:#a3a3a3;font-weight:600}.top-nav a.active{color:#5eead4}main.page{flex:1;padding:2rem 1.5rem;max-width:52rem}main.page.page-db{max-width:min(100%,96rem);width:100%;align-self:center}.db-intro{max-width:100%}.db-h2{font-size:1.1rem;font-weight:600;margin:0 0 .75rem;color:#d4d4d4}.db-panel{overflow:hidden}.db-table-wrap{margin:0 -.25rem;overflow-x:auto;max-height:min(50vh,28rem);overflow-y:auto;border:1px solid #262626;border-radius:8px}.db-table-wrap-tall{max-height:min(60vh,36rem)}.db-truncate-note{margin:0 0 .75rem}.data-table{width:100%;border-collapse:collapse;font-size:.8125rem}.data-table th,.data-table td{padding:.45rem .65rem;text-align:left;border-bottom:1px solid #262626;vertical-align:top}.data-table th{position:sticky;top:0;background:#141414;color:#a3a3a3;font-weight:600;z-index:1;box-shadow:0 1px #262626}.data-table tbody tr:hover{background:#141414}.data-table .cell-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;white-space:nowrap}.data-table .cell-num{font-variant-numeric:tabular-nums;white-space:nowrap}.data-table .cell-tight{white-space:nowrap}.data-table .cell-url{word-break:break-all;max-width:22rem}.data-table .cell-err{color:#fca5a5;max-width:18rem;word-break:break-word}h1{font-size:1.5rem;font-weight:600;margin:0 0 1.25rem;letter-spacing:-.02em}.panel{background:#111;border:1px solid #262626;border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:1.5rem}.row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}button{cursor:pointer;border:1px solid #404040;background:#171717;color:#fafafa;padding:.5rem 1rem;border-radius:8px;font-weight:600}button:hover:not(:disabled){background:#262626;border-color:#525252}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:#134e4a;border-color:#2dd4bf;color:#ccfbf1}button.primary:hover:not(:disabled){background:#115e59}button.danger{background:#450a0a;border-color:#991b1b;color:#fecaca}button.danger:hover:not(:disabled){background:#7f1d1d}input,select{background:#0a0a0a;border:1px solid #404040;color:#fafafa;padding:.5rem .75rem;border-radius:8px;min-width:12rem}select{min-width:18rem}.progress-wrap{margin-top:1rem}.progress-track{height:10px;background:#262626;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#0d9488,#5eead4);border-radius:999px;transition:width .35s ease}.meta{margin-top:.5rem;font-size:.875rem;color:#a3a3a3}.result-list{margin:.75rem 0 0;padding-left:1.25rem}.result-list li{margin:.35rem 0}.error-text{color:#fca5a5;font-size:.875rem}.chip-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 .75rem}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .45rem .2rem .65rem;background:#1a1a1a;border:1px solid #404040;border-radius:999px;font-size:.8125rem}.chip-label{max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-remove{padding:0 .35rem;min-width:auto;line-height:1.2;border:none;background:transparent;color:#a3a3a3;font-size:1.1rem;cursor:pointer;border-radius:4px}.chip-remove:hover{color:#fecaca;background:#292524}.skin-check-list{max-height:22rem;overflow-y:auto;margin-top:.75rem;border:1px solid #262626;border-radius:8px;padding:.35rem 0}.skin-check-row{display:flex;align-items:center;gap:.65rem;padding:.45rem .75rem;cursor:pointer}.skin-check-row:hover{background:#141414}.skin-check-row input{min-width:auto;margin:0}.skin-check-name{flex:1;font-weight:500}.skin-check-meta{font-size:.8rem;color:#737373}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#000000bf;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto}.modal-panel{width:100%;max-width:40rem;background:#0f0f0f;border:1px solid #333;border-radius:12px;padding:1rem 1.25rem 1.25rem;max-height:min(85vh,40rem);display:flex;flex-direction:column}.modal-panel--wide{max-width:min(96vw,58rem);max-height:min(88vh,48rem)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.modal-title{margin:0;font-size:1.1rem;font-weight:600}.modal-close{padding:.15rem .5rem;min-width:auto;font-size:1.35rem;line-height:1;border:none;background:transparent;color:#a3a3a3;cursor:pointer}.modal-close:hover{color:#fafafa}.modal-results{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.modal-result-row{padding:.65rem 0;border-bottom:1px solid #262626}.modal-result-row:last-child{border-bottom:none}.modal-result-skins{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.skin-tag{font-size:.75rem;padding:.15rem .45rem;background:#171717;border:1px solid #404040;border-radius:6px;color:#d4d4d4}.modal-table-wrap{overflow:auto;flex:1;margin:0 -.25rem;border:1px solid #262626;border-radius:8px}.modal-hit-table{width:100%;border-collapse:collapse;font-size:.78rem}.modal-hit-table th,.modal-hit-table td{padding:.4rem .5rem;text-align:left;border-bottom:1px solid #262626;vertical-align:top}.modal-hit-table th{background:#141414;color:#a3a3a3;font-weight:600;white-space:nowrap}.modal-hit-table tbody tr:hover{background:#141414}.modal-hit-table .cell-num{font-variant-numeric:tabular-nums;text-align:right}.modal-hit-table th.cell-num{text-align:right}.modal-hit-table th.cell-num .sort-th{justify-content:flex-end;width:100%}.modal-hit-table .cell-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace}.sort-th{cursor:pointer;border:none;background:transparent;color:inherit;font:inherit;font-weight:600;padding:.35rem .5rem;margin:-.35rem -.5rem;border-radius:6px;display:inline-flex;align-items:center;gap:.25rem}.sort-th:hover{color:#e5e5e5}.sort-th--active{color:#5eead4}.modal-hit-skins{display:flex;flex-wrap:wrap;gap:.25rem;max-width:14rem}
