*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h1{margin-bottom:.25rem;font-size:1.4rem}h2{margin-top:1.5rem;font-size:1.1rem}.app-shell{color:#1e293b;background:#f8fafc;flex-direction:column;min-height:100vh;display:flex}.app-header{color:#fff;background:#0f172a;align-items:center;gap:2rem;padding:.75rem 1.5rem;display:flex}.app-title{font-size:1.1rem;font-weight:700}.app-nav{flex:1;gap:1.25rem;display:flex}.app-header-compact{justify-content:space-between}.app-nav a{color:#cbd5e1;border-bottom:2px solid #0000;padding:.25rem 0;font-size:.95rem;text-decoration:none}.app-nav a.active,.app-nav a:hover{color:#fff;border-bottom-color:#38bdf8}.app-user{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.app-user button{color:#e2e8f0;cursor:pointer;background:0 0;border:1px solid #475569;border-radius:4px;padding:.3rem .7rem}.app-content{box-sizing:border-box;flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1.5rem}.app-content-mobile{max-width:480px;padding:1rem}@media (width<=480px){.app-content-mobile{padding:.75rem}}table{border-collapse:collapse;background:#fff;width:100%}table th,table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:.5rem .6rem;font-size:.9rem}table th{background:#f1f5f9;font-weight:600}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:1.25rem;padding:1rem 1.25rem}.form-row{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:.75rem;display:flex}.form-field{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.form-field input,.form-field select{border:1px solid #cbd5e1;border-radius:4px;padding:.35rem .5rem;font-size:.9rem}.note{color:#64748b;font-size:.85rem}.error-text{color:#b91c1c;font-size:.85rem}button.primary{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:4px;padding:.4rem .9rem;font-size:.9rem}button.primary:disabled{opacity:.5;cursor:not-allowed}button.secondary{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:.35rem .8rem;font-size:.85rem}.badge{white-space:nowrap;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600;line-height:1.4;display:inline-block}.badge-status-tentative{color:#7a5c00;background:#fff3cd}.badge-status-verified{color:#155724;background:#d4edda}.badge-status-flagged{color:#721c24;background:#f8d7da}.badge-status-unknown{color:#383d41;background:#e2e3e5}.badge-source{color:#334155;background:#e2e8f0}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.avatar-image{object-fit:cover;border:1px solid #e2e8f0}.avatar-placeholder{color:#fff;background:#0f172a;font-weight:700}.birthday-modal-backdrop{z-index:1000;background:#0f172aa6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.birthday-modal{text-align:center;background:#fff;border-radius:14px;width:100%;max-width:360px;padding:1.25rem;position:relative;box-shadow:0 12px 40px #0000004d}.birthday-modal-close{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:50%;width:2rem;height:2rem;font-size:1.2rem;line-height:1;position:absolute;top:.5rem;right:.5rem}.birthday-modal-image{object-fit:contain;border-radius:10px;max-width:100%;max-height:60vh;margin:.5rem auto 0;display:block}.birthday-modal-message{color:#0f172a;margin:1rem 0 .25rem;font-size:1.1rem;font-weight:700}.player-dashboard h1{margin-top:0}.identity-card-top{align-items:center;gap:1rem;display:flex}.identity-card-info{min-width:0}.identity-name{font-size:1.1rem;font-weight:700}.upload-label{cursor:pointer;margin:.75rem 0;display:inline-block}.nickname-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.nickname-row input{border:1px solid #cbd5e1;border-radius:4px;flex:1;min-width:8rem;padding:.35rem .5rem}.rank-badges{flex-direction:column;gap:.5rem;display:flex}.rank-badge{flex-direction:column;gap:.15rem;margin-bottom:0;display:flex}.rank-badge-category{font-size:.95rem;font-weight:700}.rank-badge-rank{font-size:1rem}.tab-bar{-webkit-overflow-scrolling:touch;gap:.4rem;margin-bottom:.75rem;display:flex;overflow-x:auto}.tab-button{cursor:pointer;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;flex-shrink:0;padding:.35rem .85rem;font-size:.85rem}.tab-button.active{color:#fff;background:#0f172a;border-color:#0f172a}
