*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0}#root{display:flex;flex-direction:column;min-height:100vh}@font-face{font-family:BlitzBold;src:url(/fonts/BlitzBold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:DFP_GBZY7;src:url(/fonts/DFP_GBZY7.woff2) format("woff2"),url(/fonts/DFP_GBZY7.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:DFP_GBZY7;src:url(/fonts/DFP_GBZY7.woff2) format("woff2"),url(/fonts/DFP_GBZY7.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:BlitzMain;src:url(/fonts/BlitzMain.otf);font-weight:400;font-display:swap}@font-face{font-family:BlitzMain;src:url(/fonts/BlitzMain.otf);font-weight:700;font-display:swap}@font-face{font-family:BlitzDigits;src:url(/fonts/BlitzMain.woff2) format("woff2"),url(/fonts/BlitzMain.otf) format("opentype");unicode-range:U+0020-007E;font-weight:400;font-display:swap}@font-face{font-family:BlitzDigits;src:url(/fonts/BlitzMain.woff2) format("woff2"),url(/fonts/BlitzMain.otf) format("opentype");unicode-range:U+0020-007E;font-weight:700;font-display:swap}@font-face{font-family:BlitzBold;src:url(/fonts/BlitzBold.otf);font-weight:400;font-display:swap}@font-face{font-family:BlitzBold;src:url(/fonts/BlitzBold.otf);font-weight:700;font-display:swap}:root{--ink-black: #1a1a2e;--ink-dark: #16213e;--ink-purple: #7c3aed;--ink-pink: #ec4899;--ink-cyan: #06b6d4;--ink-yellow: #eab308;--ink-green: #22c55e;--ink-orange: #f97316;--ink-bg: #b6b6b6;--ink-surface: #ffffff;--ink-surface2: #f3f4f6;--ink-text: #1f2937;--ink-text-dim: #6b7280;--ink-border: #d1d5db;--ink-selected: #7c3aed;--radius: 8px;--radius-lg: 12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--ink-bg);color:var(--ink-text);min-height:100vh}.app{max-width:1600px;margin:0 auto;padding:16px;min-height:100vh;display:flex;flex-direction:column}.app-header{text-align:center;padding:16px 0;border-bottom:2px solid var(--ink-text-dim);margin-bottom:16px}.app-header h1{font-size:1.6rem;font-weight:800;font-family:BlitzDigits,DFP_GBZY7,Segoe UI,system-ui,sans-serif;color:#222}.subtitle{color:var(--ink-text-dim);font-size:.85rem;margin-top:4px;font-family:BlitzDigits,DFP_GBZY7,Segoe UI,system-ui,sans-serif}.app-layout{display:flex;flex-direction:column;gap:16px;flex:1}.preview-section{display:flex;justify-content:center}.preview-panel{width:580px;max-width:100%}.selector-section{width:100%}.preview-panel{display:flex;flex-direction:column;gap:12px}.preview-controls{display:flex;gap:6px}.nickname-input{flex:1;padding:8px 12px;border:none;border-radius:var(--radius);background:#ddd;color:#222;font-size:.9rem;font-weight:600;outline:none;font-family:BlitzBold,BlitzDigits,DFP_GBZY7,Segoe UI,system-ui,sans-serif}.nickname-input:focus{outline:2px solid #5b28ff;outline-offset:-2px}.fc-input{width:100px;padding:8px 12px;border:none;border-radius:var(--radius);background:#ddd;color:#222;font-size:.9rem;text-align:center;outline:none;font-family:BlitzDigits,DFP_GBZY7,Segoe UI,system-ui,sans-serif}.fc-input:focus{outline:2px solid #5b28ff;outline-offset:-2px}.btn-export{padding:8px 14px;border:none;border-radius:var(--radius);background:#222;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;font-family:BlitzDigits,DFP_GBZY7,Segoe UI,system-ui,sans-serif;transition:opacity .15s;display:flex;align-items:center}.btn-export:hover{opacity:.8}.nameplate-wrapper.capturing .badge-slot.empty{visibility:hidden}.preview-frame.capturing{border-radius:0!important}.preview-frame.capturing .np-fc{bottom:0!important}.preview-frame{border-radius:4px;overflow:hidden}.nameplate-wrapper{position:relative;width:100%;aspect-ratio:700 / 200;background:#222}.nameplate-bg-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.nameplate{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;color:#e0e0e0}.np-title{position:absolute;top:11.5px;left:11.7px;display:flex;flex-direction:row;font-family:BlitzDigits,DFP_GBZY7,Segoe UI,system-ui,sans-serif;font-size:27px;font-weight:400;transform:scaleX(.89) scaleY(1.11) skew(-4deg);transform-origin:left center;line-height:.9}.np-nickname{position:absolute;top:45.5%;left:50%;transform:translate(-50%,-50%);font-family:BlitzBold,Segoe UI,system-ui,sans-serif;font-size:3.35rem;letter-spacing:0em;white-space:nowrap}.np-fc{position:absolute;bottom:0;left:20px;font-family:BlitzMain,Segoe UI,system-ui,sans-serif;font-size:1.25rem;font-weight:400;opacity:1}.nameplate-player{display:flex;align-items:baseline;gap:6px;margin-bottom:2px}.player-nickname{font-family:BlitzBold,Segoe UI,system-ui,sans-serif;font-size:1.1rem;letter-spacing:.02em}.player-fc{font-size:.8rem;font-weight:500;opacity:.7}.nameplate-no-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,#2a2a3e,#2a2a3e 10px,#222236 10px,#222236 20px)}.title-placeholder{color:#ffffff4d;font-size:.85rem}.nameplate-title{display:flex;flex-direction:column;gap:1px;line-height:1.15}.badge-corner{position:absolute;right:0;bottom:1px;display:flex;flex-direction:row;gap:4px;z-index:2}.badge-slot{width:58px;height:60px;display:flex;align-items:center;justify-content:center}.badge-slot.empty{width:58px;height:60px}.badge-slot img{width:58px;height:58px;object-fit:contain}.preview-info{display:flex;flex-direction:column;gap:6px;padding:12px;background:#4f4f4f;border-radius:var(--radius);font-family:BlitzDigits,DFP_GBZY7,Segoe UI,system-ui,sans-serif}.info-row{display:flex;gap:8px;font-size:.8rem}.info-label{color:#aaa;flex-shrink:0;min-width:40px}.info-value{color:#e0e0e0;display:flex;flex-wrap:wrap;gap:4px}.badge-name{background:#5a5a5a;padding:1px 6px;border-radius:4px;font-size:.75rem;cursor:help}.tabs{display:flex;gap:10px;background:transparent;padding:0 12px;overflow-x:auto}.tab{padding:8px 16px;border:none;background:#2b2b2b;color:#f8f7fd;cursor:pointer;font-size:.78rem;font-weight:600;font-family:BlitzDigits,DFP_GBZY7,Segoe UI,system-ui,sans-serif;clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 100%,0 100%);transition:all .15s;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:4px;flex:1;border-radius:0}.tab.active{color:#fff;background:#5b28ff}.tab-badge{background:var(--ink-selected);color:#fff;padding:1px 6px;border-radius:10px;font-size:.7rem;font-weight:700}.tab-badge-sm{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;padding:0}.tab-content{background:#4f4f4f;border-radius:var(--radius);padding:12px;min-height:400px;max-height:600px;overflow-y:auto}.item-selector{display:flex;flex-direction:column;gap:8px}.selector-header{display:flex;justify-content:space-between;align-items:center}.selector-header h3{font-size:.95rem;font-weight:700}.item-count{color:var(--ink-text-dim);font-size:.78rem}.selector-filters{display:flex;gap:6px}.search-input{flex:1;padding:6px 10px;border:1px solid #666;border-radius:var(--radius);background:#3a3a3a;color:#e0e0e0;font-size:.8rem;outline:none;transition:border-color .15s;font-family:BlitzDigits,DFP_GBZY7,Segoe UI,system-ui,sans-serif}.selector-header h3{font-size:.95rem;font-weight:700;color:#e0e0e0;font-family:BlitzDigits,DFP_GBZY7,Segoe UI,system-ui,sans-serif}.search-input:focus{border-color:#5b28ff}.selector-header h3{font-size:.95rem;font-weight:700;color:#e0e0e0}.item-count{color:#999;font-size:.78rem;font-family:BlitzDigits,DFP_GBZY7,Segoe UI,system-ui,sans-serif}.season-select{padding:6px 10px;border:1px solid var(--ink-border);border-radius:var(--radius);background:var(--ink-surface2);color:var(--ink-text);font-size:.8rem;outline:none;cursor:pointer}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}.grid-item{padding:8px;border:none;border-radius:var(--radius);background:transparent;color:#e0e0e0;cursor:pointer;text-align:left;transition:all .12s;font-size:.8rem;font-family:BlitzDigits,DFP_GBZY7,Segoe UI,system-ui,sans-serif}.grid-item:hover{background:#5b28ff33}.grid-item.selected{background:#5b28ff4d}.item-content{display:flex;flex-direction:column;gap:2px}.item-label{font-weight:600;line-height:1.2}.item-sub-label{font-size:.75rem;color:var(--ink-text-dim)}.item-meta{font-size:.65rem;color:var(--ink-cyan);opacity:.7}.banner-item{align-items:center}.banner-thumb{width:100%;height:40px;object-fit:cover;border-radius:4px;margin-bottom:4px}.badge-item{align-items:center}.badge-thumb{width:36px;height:36px;object-fit:contain;margin-bottom:2px}.badge-selector-wrapper{display:flex;flex-direction:column;gap:8px}.badge-slot-info{display:flex;justify-content:space-between;align-items:center}.badge-slot-info h3{font-size:.95rem;font-weight:700}.btn-remove{padding:4px 12px;border:1px solid var(--ink-orange);border-radius:var(--radius);background:transparent;color:var(--ink-orange);cursor:pointer;font-size:.75rem;font-weight:600;transition:all .12s}.btn-remove:hover{background:#f9731633}.no-results{grid-column:1 / -1;text-align:center;padding:24px;color:var(--ink-text-dim)}.loading-screen,.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.loading-screen p{color:var(--ink-text-dim)}.spinner{width:40px;height:40px;border:4px solid var(--ink-surface2);border-top-color:var(--ink-purple);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-screen h2{color:var(--ink-orange)}.error-screen p{color:var(--ink-text-dim)}@media(max-width:600px){.nameplate-wrapper{max-width:none}.item-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}
