:root{--app-accent: #111827;--app-accent-strong: #0f172a;--app-border: #e5e7eb;--app-surface: #ffffffee;--app-shadow: 0 24px 60px #0f172a14}body{font-family:BIZ UDPGothic,Noto Sans JP,Hiragino Sans,Yu Gothic UI,Meiryo,sans-serif;background:#f8fafc;color:#0f172a}.app-shell{min-height:100vh;background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.app-navbar{background:#fff;border-bottom:1px solid var(--app-border)}.app-title{letter-spacing:.02em;font-weight:600}.app-tabs{--bs-nav-pills-link-active-bg: #111827;--bs-nav-pills-link-active-color: #ffffff}.app-tabs .nav-link{border-radius:999px;font-weight:500;color:#475569}.card{background:var(--app-surface);box-shadow:var(--app-shadow)}.btn-primary{background-color:var(--app-accent);border-color:var(--app-accent)}.btn-primary:hover,.btn-primary:focus{background-color:var(--app-accent-strong);border-color:var(--app-accent-strong)}.form-control,.form-select,.btn{border-radius:12px}.table thead th{white-space:nowrap;font-size:.72rem;letter-spacing:.04em}.sortable{-webkit-user-select:none;user-select:none}.equip-tile .btn{border-radius:14px;padding:.65rem .85rem;font-weight:500;line-height:1.3;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease}.equip-tile .btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0f172a1a}.equip-tile .btn-check:checked+.btn{background:#2563eb;border-color:#2563eb;color:#fff}
