:root{color-scheme:light;--ba-sky: #02d3fb;--ba-cyan: #06bbfa;--ba-blue: #2185f6;--ba-focus: #4f86f7;--ba-paper: #f7fbff;--ba-panel: #ffffff;--ba-panel-raised: #ffffff;--ba-panel-soft: #eef7fc;--ba-line: #d6e8f3;--ba-line-strong: #bad9eb;--ba-text: #152b3c;--ba-muted: #647989;--ba-coral: #ff6133;--ba-amber: #f7b955;--ba-pink: #e05289;--ba-hover: #edf8ff;--focus-ring: 0 0 0 3px rgb(2 211 251 / 20%);--shadow-card: 0 1px 2px rgb(21 43 60 / 6%), 0 10px 24px rgb(33 133 246 / 7%);--shadow-lifted: 0 8px 22px rgb(33 133 246 / 13%);--shadow-panel: 0 8px 24px rgb(33 133 246 / 10%)}:root[data-color-scheme=dark]{color-scheme:dark;--ba-sky: #35d8ff;--ba-cyan: #2bc6ff;--ba-blue: #75adff;--ba-focus: #8fb7ff;--ba-paper: #0c1620;--ba-panel: #132231;--ba-panel-raised: #172a3c;--ba-panel-soft: #10202d;--ba-line: #284457;--ba-line-strong: #3c6179;--ba-text: #edf7ff;--ba-muted: #9eb6c6;--ba-coral: #ff825f;--ba-amber: #ffd071;--ba-pink: #ff79ad;--ba-hover: #182d3f;--focus-ring: 0 0 0 3px rgb(53 216 255 / 20%);--shadow-card: 0 1px 2px rgb(0 0 0 / 20%), 0 10px 24px rgb(0 0 0 / 20%);--shadow-lifted: 0 10px 26px rgb(0 0 0 / 30%);--shadow-panel: 0 8px 24px rgb(0 0 0 / 28%)}:root[data-color-scheme=light]{color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-color-scheme]){color-scheme:dark;--ba-sky: #35d8ff;--ba-cyan: #2bc6ff;--ba-blue: #75adff;--ba-focus: #8fb7ff;--ba-paper: #0c1620;--ba-panel: #132231;--ba-panel-raised: #172a3c;--ba-panel-soft: #10202d;--ba-line: #284457;--ba-line-strong: #3c6179;--ba-text: #edf7ff;--ba-muted: #9eb6c6;--ba-coral: #ff825f;--ba-amber: #ffd071;--ba-pink: #ff79ad;--ba-hover: #182d3f;--focus-ring: 0 0 0 3px rgb(53 216 255 / 20%);--shadow-card: 0 1px 2px rgb(0 0 0 / 20%), 0 10px 24px rgb(0 0 0 / 20%);--shadow-lifted: 0 10px 26px rgb(0 0 0 / 30%);--shadow-panel: 0 8px 24px rgb(0 0 0 / 28%)}}*{box-sizing:border-box}html{color:var(--ba-text);background:linear-gradient(180deg,color-mix(in srgb,var(--ba-sky) 11%,transparent),transparent 320px),linear-gradient(90deg,color-mix(in srgb,var(--ba-line) 34%,transparent) 1px,transparent 1px) 0 0/36px 36px,linear-gradient(0deg,color-mix(in srgb,var(--ba-line) 24%,transparent) 1px,transparent 1px) 0 0/36px 36px,var(--ba-paper);font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif}body{min-width:320px;min-height:100vh;margin:0}::selection{color:var(--ba-text);background:color-mix(in srgb,var(--ba-sky) 38%,transparent)}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{width:min(1480px,100% - 32px);margin:0 auto;padding:28px 0 44px}.corner-controls{position:fixed;top:16px;right:16px;z-index:10;display:flex;align-items:center;gap:8px}.corner-control-button{display:flex;align-items:center;height:38px;width:38px;border:1px solid color-mix(in srgb,var(--ba-line) 82%,transparent);border-radius:999px;padding:0;color:var(--ba-text);background:color-mix(in srgb,var(--ba-panel) 88%,transparent);box-shadow:var(--shadow-panel);backdrop-filter:blur(14px);font-size:13px;font-weight:800;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.corner-control-button:hover{border-color:var(--ba-cyan);background:var(--ba-panel-raised);transform:translateY(-1px)}.corner-control-button:focus-visible{outline:0;box-shadow:var(--shadow-panel),var(--focus-ring);outline-offset:2px}.corner-control-button.is-active{border-color:var(--ba-cyan);color:var(--ba-blue);background:color-mix(in srgb,var(--ba-sky) 15%,var(--ba-panel-raised))}.corner-control-button[hidden]{display:none}.color-scheme-mark,.debug-mode-mark,.hash-debug-mark{display:grid;place-items:center;width:100%;height:100%}.corner-control-icon{width:15px;height:15px}.mobile-panel-controls{display:none}.color-scheme-icon{width:16px;height:16px}.color-scheme-button[data-preference=dark] .color-scheme-mark{color:var(--ba-sky)}.color-scheme-button[data-preference=light] .color-scheme-mark{color:var(--ba-amber)}.page-header{display:flex;align-items:end;justify-content:flex-start;gap:16px;padding:20px 92px 18px 0;border-bottom:1px solid var(--ba-line)}.page-title{min-width:0}.eyebrow{margin:0 0 4px;color:var(--ba-blue);font-size:12px;font-weight:800}h1{margin:0;font-size:32px;line-height:1.15}.page-description{max-width:560px;margin:8px 0 0;color:var(--ba-muted);font-size:14px;line-height:1.55}.toolbar{position:sticky;top:10px;z-index:2;grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 2px;border:1px solid color-mix(in srgb,var(--ba-line) 82%,transparent);border-radius:8px;padding:10px;background:color-mix(in srgb,var(--ba-panel) 88%,transparent);box-shadow:0 1px #152b3c0a;backdrop-filter:blur(12px)}.toolbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.content-layout{display:grid;grid-template-columns:256px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);column-gap:16px;row-gap:16px;align-items:start}.student-list{position:relative;grid-column:2;display:grid;gap:12px;min-width:0}.student-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;min-width:0}.result-summary{min-width:0;margin-right:auto;overflow:hidden;color:var(--ba-muted);font-size:12px;font-weight:900;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.search-field{display:grid;grid-template-columns:auto minmax(160px,320px);align-items:center;gap:10px;color:var(--ba-muted);font-size:13px;font-weight:800}.select-field{display:grid;grid-template-columns:auto minmax(120px,170px);align-items:center;gap:8px;color:var(--ba-muted);font-size:13px;font-weight:800}.search-field input,.select-field select{height:38px;border:1px solid color-mix(in srgb,var(--ba-line) 88%,transparent);border-radius:8px;padding:0 12px;color:var(--ba-text);background:var(--ba-panel-raised);outline:none;box-shadow:inset 0 1px color-mix(in srgb,white 40%,transparent);transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.select-field select{appearance:none;padding-right:28px;background:linear-gradient(45deg,transparent 50%,var(--ba-blue) 50%) calc(100% - 15px) 16px/6px 6px no-repeat,linear-gradient(135deg,var(--ba-blue) 50%,transparent 50%) calc(100% - 10px) 16px/6px 6px no-repeat,var(--ba-panel)}.search-field input::placeholder{color:var(--ba-muted)}.search-field input:focus{border-color:var(--ba-sky);box-shadow:var(--focus-ring)}.select-field select:focus{border-color:var(--ba-sky);box-shadow:var(--focus-ring);outline:none}.search-field input:hover,.select-field select:hover{border-color:var(--ba-line-strong);background:color-mix(in srgb,var(--ba-panel-raised) 82%,var(--ba-hover))}.tool-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;border:1px solid color-mix(in srgb,var(--ba-line) 88%,transparent);border-radius:8px;padding:0 14px;color:var(--ba-blue);background:var(--ba-panel-raised);font-weight:800;cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease,transform .14s ease}.tool-button-icon{width:14px;height:14px;flex:0 0 auto}.icon-tool-button{width:38px;padding:0}.tool-button[data-feedback]:after{content:attr(data-feedback);position:absolute;top:calc(100% + 6px);right:0;z-index:4;border:1px solid color-mix(in srgb,var(--ba-line) 72%,transparent);border-radius:7px;padding:5px 7px;color:var(--ba-text);background:color-mix(in srgb,var(--ba-panel-raised) 94%,transparent);box-shadow:var(--shadow-card);font-size:11px;white-space:nowrap}.tool-button:hover{border-color:var(--ba-cyan);color:var(--ba-text);transform:translateY(-1px)}.tool-button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.tool-button:disabled{color:color-mix(in srgb,var(--ba-muted) 62%,transparent);cursor:not-allowed;opacity:.68}.tool-button.is-active{border-color:var(--ba-cyan);color:var(--ba-text);background:color-mix(in srgb,var(--ba-sky) 13%,var(--ba-panel))}.permalink-menu{position:absolute;z-index:30;display:grid;min-width:160px;border:1px solid color-mix(in srgb,var(--ba-line) 78%,transparent);border-radius:8px;padding:6px;background:color-mix(in srgb,var(--ba-panel-raised) 96%,transparent);box-shadow:var(--shadow-panel)}.permalink-menu-item{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:8px;border:0;border-radius:6px;padding:9px 10px;color:var(--ba-text);background:transparent;font:inherit;font-size:13px;font-weight:800;text-align:left;cursor:pointer}.permalink-menu-item:hover,.permalink-menu-item:focus-visible{outline:0;background:color-mix(in srgb,var(--ba-sky) 13%,var(--ba-panel))}.permalink-menu-item-icon{width:14px;height:14px;color:var(--ba-blue)}@media(max-width:640px){.app-shell{width:min(100% - 20px,1440px);padding-top:58px;padding-bottom:92px}.corner-controls{top:10px;right:10px}.page-header{align-items:stretch;flex-direction:column;padding:12px 0 16px}h1{font-size:26px}.page-description{font-size:13px}.content-layout{grid-template-columns:1fr;grid-template-rows:auto;gap:12px}.mobile-panel-controls{position:fixed;left:10px;bottom:14px;z-index:28;display:flex;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--ba-line) 74%,transparent);border-radius:999px;padding:6px;background:color-mix(in srgb,var(--ba-panel-raised) 94%,transparent);box-shadow:var(--shadow-panel);backdrop-filter:blur(14px)}.mobile-panel-control-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--ba-line) 82%,transparent);border-radius:999px;padding:0;color:var(--ba-muted);background:color-mix(in srgb,var(--ba-panel) 82%,transparent);cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease,transform .14s ease}.mobile-panel-control-button.is-active{border-color:color-mix(in srgb,var(--ba-cyan) 78%,var(--ba-line));color:var(--ba-blue);background:color-mix(in srgb,var(--ba-sky) 18%,var(--ba-panel-raised))}.mobile-panel-control-button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.mobile-panel-control-icon{width:16px;height:16px}.mobile-panel-control-button .tool-button-icon{width:15px;height:15px}.toolbar{display:none;position:fixed;inset:auto 10px 76px;z-index:24;max-height:min(58dvh,360px);overflow:auto;padding:10px;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .16s ease,transform .16s ease}.toolbar[data-mobile-expanded=true]{display:flex;opacity:1;pointer-events:auto;transform:translateY(0)}.toolbar-actions{width:100%;justify-content:flex-end;margin-left:0}.student-list-header{align-items:stretch}.toolbar,.metadata-panel,.student-list{grid-column:1}.metadata-panel{display:none;position:fixed;inset:auto 10px 76px;z-index:24;grid-template-columns:repeat(2,minmax(0,1fr));max-height:min(70dvh,560px);overflow:auto;padding:10px;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .16s ease,transform .16s ease}.metadata-panel[data-mobile-expanded=true]{display:grid;opacity:1;pointer-events:auto;transform:translateY(0)}.metadata-panel-header{grid-column:1/-1}.search-field,.select-field{grid-template-columns:1fr;width:100%}.search-field input,.select-field select{width:100%}.result-summary{align-self:center}}.metadata-panel{position:sticky;top:78px;display:grid;gap:11px;border:1px solid color-mix(in srgb,var(--ba-line) 88%,transparent);border-radius:8px;padding:11px;background:color-mix(in srgb,var(--ba-panel) 92%,transparent);box-shadow:var(--shadow-card);backdrop-filter:blur(12px)}.metadata-panel h2{margin:0;color:var(--ba-text);font-size:16px;line-height:1.2}.metadata-panel-header,.filter-field-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.filter-field{display:grid;gap:8px;min-width:0;border-top:1px solid color-mix(in srgb,var(--ba-line) 62%,transparent);padding-top:10px}.filter-field h3{margin:0;color:var(--ba-muted);font-size:12px;font-weight:800;line-height:1.2}.state-filter-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.state-filter-button{min-width:0;height:36px;border:1px solid color-mix(in srgb,var(--ba-line) 82%,transparent);border-radius:8px;padding:0 10px;color:var(--ba-blue);background:color-mix(in srgb,var(--ba-panel-raised) 88%,var(--ba-paper));font-size:12px;font-weight:900;cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease,transform .14s ease}.state-filter-button:hover{border-color:var(--ba-cyan);color:var(--ba-text);transform:translateY(-1px)}.state-filter-button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.state-filter-button.is-active{color:var(--ba-text);background:color-mix(in srgb,var(--ba-sky) 14%,var(--ba-panel))}.favorite-filter-button.is-active{border-color:color-mix(in srgb,var(--ba-amber) 72%,var(--ba-line));background:color-mix(in srgb,var(--ba-amber) 18%,var(--ba-panel))}.owned-filter-button.is-active{border-color:color-mix(in srgb,var(--ba-cyan) 72%,var(--ba-line))}.filter-reset-button{min-width:0;height:28px;border:1px solid color-mix(in srgb,var(--ba-line) 80%,transparent);border-radius:8px;padding:0 8px;color:var(--ba-blue);background:color-mix(in srgb,var(--ba-panel-raised) 84%,var(--ba-paper));font-size:11px;font-weight:900;cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease,opacity .14s ease}.filter-reset-button:hover{border-color:var(--ba-cyan);color:var(--ba-text)}.filter-reset-button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.filter-reset-button:disabled{color:color-mix(in srgb,var(--ba-muted) 56%,transparent);cursor:not-allowed;opacity:.64}.filter-reset-button.is-active{border-color:color-mix(in srgb,var(--ba-cyan) 70%,var(--ba-line));background:color-mix(in srgb,var(--ba-sky) 12%,var(--ba-panel))}.icon-filter-group{display:grid;grid-template-columns:repeat(auto-fill,42px);gap:8px}.type-filter-group{grid-template-columns:repeat(2,minmax(0,1fr))}.affinity-filter-group{grid-template-columns:repeat(4,42px)}.filter-icon-button{--filter-accent: var(--ba-cyan);--filter-accent-soft: color-mix(in srgb, var(--ba-sky) 15%, var(--ba-panel));position:relative;display:grid;place-items:center;width:42px;height:42px;min-width:0;border:1px solid color-mix(in srgb,var(--ba-line) 86%,transparent);border-radius:8px;padding:7px;color:var(--ba-muted);background:color-mix(in srgb,var(--ba-panel-raised) 88%,var(--ba-paper));box-shadow:0 1px #152b3c08;cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease,transform .14s ease}.type-filter-group .filter-icon-button{width:100%;height:40px;padding:0 8px}.filter-icon-button:hover{border-color:color-mix(in srgb,var(--filter-accent) 74%,var(--ba-line));color:var(--ba-text);background:color-mix(in srgb,var(--filter-accent-soft) 32%,var(--ba-panel-raised));transform:translateY(-1px)}.filter-icon-button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.filter-icon-button:active{transform:translateY(0)}.filter-icon-button.is-active{border-color:var(--filter-accent);color:var(--filter-accent);background:linear-gradient(135deg,color-mix(in srgb,var(--filter-accent-soft) 72%,var(--ba-panel)),var(--ba-panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--filter-accent) 32%,transparent),0 4px 12px color-mix(in srgb,var(--filter-accent) 11%,transparent)}.icon-filter-group.is-all-selected .filter-icon-button.is-active{border-color:color-mix(in srgb,var(--filter-accent) 48%,var(--ba-line));background:linear-gradient(135deg,color-mix(in srgb,var(--filter-accent-soft) 42%,var(--ba-panel)),var(--ba-panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--filter-accent) 18%,transparent)}.filter-icon-button.is-dimmed{color:color-mix(in srgb,var(--ba-muted) 58%,transparent);opacity:.38}.attack-type-filter-image,.defense-type-filter-image{filter:grayscale(1) saturate(0) opacity(.58) drop-shadow(0 1px 1px rgba(21,43,60,.08));transition:filter .14s ease}.filter-icon-button.is-active .attack-type-filter-image,.filter-icon-button.is-active .defense-type-filter-image{filter:grayscale(0) saturate(1) opacity(1) drop-shadow(0 1px 1px rgba(21,43,60,.12))}.icon-filter-group.is-all-selected .filter-icon-button.is-active .attack-type-filter-image,.icon-filter-group.is-all-selected .filter-icon-button.is-active .defense-type-filter-image{filter:grayscale(0) saturate(.86) opacity(.82) drop-shadow(0 1px 1px rgba(21,43,60,.1))}.filter-icon-button.is-dimmed .attack-type-filter-image,.filter-icon-button.is-dimmed .defense-type-filter-image{filter:grayscale(1) saturate(0) opacity(.5) drop-shadow(0 1px 1px rgba(21,43,60,.06))}.filter-icon-button.is-dimmed:hover{opacity:.82}.filter-icon-button:after{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:20;max-width:140px;border:1px solid color-mix(in srgb,var(--ba-line) 72%,transparent);border-radius:8px;padding:6px 8px;color:var(--ba-text);background:color-mix(in srgb,var(--ba-panel) 96%,transparent);box-shadow:var(--shadow-panel);font-size:12px;font-weight:800;line-height:1.2;text-align:center;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,4px);transition:opacity .12s ease,transform .12s ease;content:attr(data-tooltip)}.filter-icon-button:hover:after,.filter-icon-button:focus-visible:after{opacity:1;transform:translate(-50%)}.school-filter-mask{width:100%;height:100%;background:color-mix(in srgb,var(--ba-muted) 88%,var(--ba-panel-raised));mask-position:center;mask-repeat:no-repeat;mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;transition:background .14s ease,opacity .14s ease}.filter-icon-button.is-active .school-filter-mask{background:var(--filter-accent)}.icon-filter-group.is-all-selected .filter-icon-button.is-active .school-filter-mask{background:color-mix(in srgb,var(--filter-accent) 78%,var(--ba-muted));opacity:.86}.filter-icon-button.is-dimmed .school-filter-mask{background:color-mix(in srgb,var(--ba-muted) 64%,var(--ba-panel));opacity:.56}.attack-type-filter-image,.defense-type-filter-image{width:100%;height:100%;object-fit:contain}.character-type-badge{display:grid;place-items:center;width:100%;height:100%;color:currentColor;font-size:12px;font-weight:900;line-height:1;white-space:nowrap}.characterType-filter-button[data-value=Striker]{color:var(--ba-coral)}.characterType-filter-button[data-value=Special]{color:var(--ba-blue)}.attackType-filter-button[data-value=Explosion]{color:#d84e32}.attackType-filter-button[data-value=Pierce]{color:#c49725}.attackType-filter-button[data-value=Mystic]{color:#586ee8}.attackType-filter-button[data-value=Sonic]{color:#9a5ce6}.defenseType-filter-button[data-value=LightArmor]{color:#d06443}.defenseType-filter-button[data-value=HeavyArmor]{color:#c69a2d}.defenseType-filter-button[data-value=Unarmed]{color:#536fe3}.defenseType-filter-button[data-value=ElasticArmor]{color:#8b60dc}@media(max-width:640px){.metadata-panel{position:fixed;inset:auto 10px 72px;z-index:24;display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:min(70dvh,560px);overflow:auto;padding:10px;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .16s ease,transform .16s ease}.metadata-panel[data-mobile-expanded=true]{display:grid;opacity:1;pointer-events:auto;transform:translateY(0)}.metadata-panel h2{font-size:15px}.metadata-panel-header{grid-column:1/-1}.filter-field{gap:7px;padding-top:8px}.state-filter-button{height:32px;padding:0 8px;font-size:11px}.filter-reset-button{height:26px;padding:0 7px}.icon-filter-group{grid-template-columns:repeat(auto-fill,36px);gap:7px}.affinity-filter-group{grid-template-columns:repeat(4,36px)}.filter-icon-button{width:36px;height:36px;padding:6px}.type-filter-group .filter-icon-button{height:34px}}@media(max-width:420px){.metadata-panel{grid-template-columns:1fr}}.student-list-action-controls{display:flex;align-items:center;gap:10px;min-width:0}.multi-select-mode-button{display:grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--ba-line) 88%,transparent);border-radius:8px;padding:0;color:var(--ba-muted);background:var(--ba-panel-raised);box-shadow:0 1px #152b3c0a;cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease,transform .14s ease}.multi-select-mode-button:hover{border-color:color-mix(in srgb,var(--ba-cyan) 58%,var(--ba-line));color:var(--ba-text);background:color-mix(in srgb,var(--ba-sky) 10%,var(--ba-panel-raised))}.multi-select-mode-button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.multi-select-mode-button.is-active{border-color:color-mix(in srgb,var(--ba-cyan) 76%,var(--ba-line));color:var(--ba-blue);background:color-mix(in srgb,var(--ba-sky) 18%,var(--ba-panel))}.multi-select-mode-icon{width:16px;height:16px}.viewer-type-buttons{display:grid;grid-template-columns:repeat(2,36px);overflow:hidden;width:72px;height:36px;border:1px solid color-mix(in srgb,var(--ba-line) 88%,transparent);border-radius:8px;background:var(--ba-panel-raised);box-shadow:0 1px #152b3c0a}.viewer-type-button{min-width:0;border:0;border-right:1px solid var(--ba-line);padding:0;color:var(--ba-muted);background:transparent;font-weight:900;cursor:pointer;transition:color .14s ease,background .14s ease}.viewer-type-button:last-child{border-right:0}.viewer-type-button:hover{color:var(--ba-text);background:color-mix(in srgb,var(--ba-sky) 10%,transparent)}.viewer-type-button:focus-visible{outline:3px solid color-mix(in srgb,var(--ba-sky) 26%,transparent);outline-offset:-3px}.viewer-type-button.is-active{color:var(--ba-blue);background:color-mix(in srgb,var(--ba-sky) 18%,var(--ba-panel))}.viewer-type-icon{display:block;width:16px;height:16px;margin:0 auto;color:currentColor}.viewer-type-icon-grid{background:linear-gradient(currentColor 0 0) 0 0/6px 6px no-repeat,linear-gradient(currentColor 0 0) 10px 0/6px 6px no-repeat,linear-gradient(currentColor 0 0) 0 10px/6px 6px no-repeat,linear-gradient(currentColor 0 0) 10px 10px/6px 6px no-repeat}.viewer-type-icon-row{background:linear-gradient(currentColor 0 0) 0 1px/16px 3px no-repeat,linear-gradient(currentColor 0 0) 0 7px/16px 3px no-repeat,linear-gradient(currentColor 0 0) 0 13px/16px 3px no-repeat}.selected-student-actions{display:flex;align-items:center;gap:6px;min-height:36px;border:1px solid color-mix(in srgb,var(--ba-line) 82%,transparent);border-radius:999px;padding:3px 4px 3px 10px;color:var(--ba-text);background:var(--ba-panel-raised);box-shadow:0 1px #152b3c0a}.selected-student-actions[hidden]{display:none}.selected-student-count{color:var(--ba-muted);font-size:12px;font-weight:900;line-height:1;white-space:nowrap}.selected-student-action-button{display:grid;place-items:center;width:28px;height:28px;border:1px solid color-mix(in srgb,var(--ba-line) 80%,transparent);border-radius:999px;padding:0;color:var(--ba-muted);background:color-mix(in srgb,var(--ba-panel) 74%,transparent);cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease,transform .14s ease}.selected-student-action-button:hover:not(:disabled){border-color:var(--ba-cyan);color:var(--ba-text);background:color-mix(in srgb,var(--ba-sky) 12%,var(--ba-panel-raised));transform:translateY(-1px)}.selected-student-action-button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.selected-student-action-button:disabled{cursor:not-allowed;opacity:.44}.selected-student-action-button.is-active:first-of-type{border-color:color-mix(in srgb,var(--ba-amber) 74%,var(--ba-line));color:var(--ba-amber);background:color-mix(in srgb,var(--ba-amber) 18%,var(--ba-panel-raised))}.selected-student-action-button.is-active:last-of-type{border-color:color-mix(in srgb,var(--ba-cyan) 74%,var(--ba-line));color:var(--ba-blue);background:color-mix(in srgb,var(--ba-sky) 16%,var(--ba-panel-raised))}.selected-student-action-icon{width:15px;height:15px}.student-detail-action-button{position:absolute;right:7px;bottom:7px;z-index:3;display:grid;place-items:center;width:32px;height:32px;border:1px solid color-mix(in srgb,var(--ba-cyan) 48%,var(--ba-line));border-radius:999px;color:var(--ba-text);background:linear-gradient(135deg,color-mix(in srgb,var(--ba-sky) 18%,transparent),transparent 66%),color-mix(in srgb,var(--ba-panel-raised) 94%,transparent);box-shadow:0 7px 18px #152b3c2e;backdrop-filter:blur(12px);cursor:pointer;transition:border-color .14s ease,color .14s ease,opacity .14s ease,transform .14s ease}.student-detail-action-button:hover:not(:disabled){border-color:var(--ba-cyan);color:var(--ba-blue);transform:translateY(-1px)}.student-detail-action-button:focus-visible{outline:0;box-shadow:var(--shadow-panel),var(--focus-ring)}.student-detail-action-button:disabled{color:color-mix(in srgb,var(--ba-muted) 54%,transparent);cursor:not-allowed;opacity:.42;transform:none}.student-detail-action-icon{width:15px;height:15px}@media(max-width:640px){.student-list-action-controls{position:fixed;right:10px;bottom:14px;z-index:29;gap:6px;border:1px solid color-mix(in srgb,var(--ba-line) 74%,transparent);border-radius:999px;padding:6px;background:color-mix(in srgb,var(--ba-panel-raised) 94%,transparent);box-shadow:var(--shadow-panel);backdrop-filter:blur(14px)}.student-list-action-controls .viewer-type-buttons{display:none}.student-list-action-controls .multi-select-mode-button{width:38px;height:38px;border-radius:999px}.student-list-action-controls .selected-student-actions{min-height:38px;padding:4px}.student-list-action-controls .selected-student-count{display:none}.student-list-action-controls .selected-student-action-button{width:30px;height:30px}}.portrait-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:13px;align-items:start;min-height:240px;color:var(--ba-muted)}.portrait-grid[data-viewer-type=row]{grid-template-columns:1fr;gap:9px}.empty-state{grid-column:1/-1;display:grid;place-items:center;min-height:220px;border:1px dashed var(--ba-line);border-radius:8px;color:var(--ba-muted);background:color-mix(in srgb,var(--ba-panel) 78%,transparent);font-size:14px;font-weight:800}.portrait-card{position:relative;display:grid;grid-template-rows:114px 34px;overflow:hidden;min-width:0;border:1px solid color-mix(in srgb,var(--ba-line) 88%,transparent);border-radius:8px;background:var(--ba-panel-raised);box-shadow:var(--shadow-card);transition:border-color .14s ease,transform .14s ease,box-shadow .14s ease;cursor:pointer}.portrait-favorite-indicator{position:absolute;top:6px;left:6px;z-index:2;display:grid;place-items:center;width:26px;height:26px;border:1px solid color-mix(in srgb,var(--ba-line) 74%,white);border-radius:999px;color:color-mix(in srgb,var(--ba-muted) 72%,transparent);background:color-mix(in srgb,var(--ba-panel-raised) 78%,transparent);box-shadow:0 5px 14px #152b3c24;backdrop-filter:blur(8px);pointer-events:none;transform:translate(-10%,-10%)}.portrait-favorite-indicator.is-active{border-color:color-mix(in srgb,var(--ba-amber) 68%,white);color:var(--ba-amber);background:color-mix(in srgb,var(--ba-amber) 18%,var(--ba-panel-raised))}.portrait-favorite-indicator[hidden]{display:none}.portrait-favorite-icon{width:13px;height:13px}.portrait-grid[data-viewer-type=row] .portrait-card{grid-template-columns:64px minmax(140px,1fr) minmax(220px,auto);grid-template-rows:64px;align-items:center}.portrait-card:hover{border-color:color-mix(in srgb,var(--ba-cyan) 70%,var(--ba-line));box-shadow:var(--shadow-lifted);transform:translateY(-1px)}.portrait-card.is-selected{border-color:color-mix(in srgb,var(--ba-cyan) 84%,var(--ba-line));box-shadow:0 0 0 2px color-mix(in srgb,var(--ba-sky) 28%,transparent),var(--shadow-lifted)}.portrait-card:focus-within{border-color:var(--ba-sky);box-shadow:var(--focus-ring)}.portrait-card:focus-visible{border-color:var(--ba-sky);box-shadow:var(--focus-ring);outline:0}.portrait-card img{width:100%;height:114px;object-fit:contain;padding:10px 8px 5px;background:linear-gradient(180deg,color-mix(in srgb,var(--ba-sky) 12%,transparent),transparent 72%),var(--ba-panel-soft);transition:filter .16s ease,transform .16s ease}.portrait-card.is-unowned img{filter:grayscale(1) saturate(.18) opacity(.58)}.portrait-card.is-unowned:hover img{filter:grayscale(0) saturate(1) opacity(1)}.portrait-card:hover img{transform:scale(1.018)}.portrait-grid[data-viewer-type=row] .portrait-card img{width:64px;height:64px;padding:4px}.portrait-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portrait-name{display:grid;align-items:center;border-top:1px solid color-mix(in srgb,var(--ba-line) 64%,transparent);padding:0 8px;color:var(--ba-text);font-size:12px;font-weight:800;line-height:1.2;text-align:center}.portrait-grid[data-viewer-type=row] .portrait-name{border-top:0;padding:0 12px;font-size:14px;text-align:left}.portrait-meta{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;min-width:0;padding:0 10px 0 0}.portrait-meta span{min-width:0;border:1px solid color-mix(in srgb,var(--ba-line) 80%,transparent);border-radius:8px;padding:4px 7px;color:var(--ba-muted);background:color-mix(in srgb,var(--ba-panel-raised) 82%,var(--ba-paper));font-size:11px;font-weight:800;line-height:1;white-space:nowrap}@media(max-width:640px){.portrait-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.portrait-card{grid-template-rows:96px 32px}.portrait-card img{height:96px;padding:8px 6px 3px}.portrait-grid[data-viewer-type=row] .portrait-card{grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto auto}.portrait-grid[data-viewer-type=row] .portrait-card img{grid-row:1/3;width:58px;height:58px}.portrait-grid[data-viewer-type=row] .portrait-name{padding:8px 8px 2px;font-size:13px}.portrait-meta{justify-content:flex-start;padding:0 8px 8px}}.student-details-dialog{--student-details-theme-primary: var(--ba-blue);--student-details-theme-secondary: var(--ba-cyan);--student-details-theme-tertiary: var(--ba-amber);--student-details-theme-character: var(--ba-cyan);--student-details-theme-base: #103050;--student-details-theme-elevated: #203050;--student-details-theme-soft: var(--ba-panel-soft);--student-details-theme-glow: rgb(64 192 240 / 24%);--student-details-theme-line: var(--ba-line);--student-details-name-background: rgb(255 255 255 / 78%);--student-details-name-border: rgb(255 255 255 / 88%);--student-details-name-color: color-mix(in srgb, var(--ba-text) 92%, #071827);--student-details-portrait-height-desktop: 340px;--student-details-portrait-height-tablet: 210px;--student-details-portrait-height-mobile: 150px;width:min(840px,100% - 28px);max-height:min(920px,100dvh - 28px);overflow:hidden;border:1px solid color-mix(in srgb,var(--student-details-theme-primary) 42%,var(--ba-line));border-radius:10px;padding:0;color:var(--ba-text);background:linear-gradient(135deg,color-mix(in srgb,var(--student-details-theme-primary) 10%,transparent),transparent 54%),linear-gradient(180deg,color-mix(in srgb,var(--student-details-theme-elevated) 12%,transparent),transparent),var(--ba-panel-raised);box-shadow:0 28px 80px color-mix(in srgb,var(--student-details-theme-primary) 22%,rgba(21,43,60,.24)),0 0 0 1px color-mix(in srgb,var(--student-details-theme-secondary) 12%,transparent)}.student-details-dialog::backdrop{background:radial-gradient(circle at 50% 0%,var(--student-details-theme-glow) 0,transparent 42%),radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--student-details-theme-character) 18%,transparent) 0,transparent 32%),linear-gradient(180deg,color-mix(in srgb,var(--student-details-theme-primary) 16%,transparent),transparent 46%),color-mix(in srgb,var(--student-details-theme-base) 44%,rgba(8,18,28,.58));backdrop-filter:blur(8px)}:root[data-color-scheme=dark] .student-details-dialog{--student-details-name-background: rgb(11 22 32 / 82%);--student-details-name-border: color-mix(in srgb, var(--student-details-theme-secondary) 24%, rgb(255 255 255 / 24%));--student-details-name-color: color-mix(in srgb, var(--ba-text) 90%, white)}@media(prefers-color-scheme:dark){:root:not([data-color-scheme]) .student-details-dialog{--student-details-name-background: rgb(11 22 32 / 82%);--student-details-name-border: color-mix(in srgb, var(--student-details-theme-secondary) 24%, rgb(255 255 255 / 24%));--student-details-name-color: color-mix(in srgb, var(--ba-text) 90%, white)}}.student-details-panel{position:relative;display:grid;min-width:0;max-height:inherit;overflow-x:hidden;overflow-y:auto}.student-details-header{position:relative;z-index:2;isolation:isolate;display:grid;grid-template-columns:220px minmax(0,1fr) auto 40px 40px;align-items:center;gap:14px;min-width:0;overflow:visible;border-bottom:1px solid color-mix(in srgb,var(--student-details-theme-line) 42%,var(--ba-line));padding:28px 22px 24px;background:radial-gradient(circle at 24% 10%,var(--student-details-theme-glow) 0,transparent 42%),radial-gradient(circle at 84% 12%,color-mix(in srgb,var(--student-details-theme-character) 18%,transparent) 0,transparent 36%),linear-gradient(135deg,color-mix(in srgb,var(--student-details-theme-secondary) 20%,transparent),transparent 62%),linear-gradient(180deg,color-mix(in srgb,var(--student-details-theme-base) 18%,transparent),transparent),var(--ba-panel-soft)}.student-details-header-emblem{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;filter:blur(3px) saturate(1.1);transform:scale(1.04);pointer-events:none}.student-details-portrait{position:relative;z-index:2;align-self:start;grid-column:1;grid-row:1;box-sizing:border-box;width:220px;height:var(--student-details-portrait-height-desktop);margin-bottom:calc(var(--student-details-portrait-height-desktop) / -2);object-fit:contain;object-position:bottom center;border:4px solid color-mix(in srgb,var(--student-details-theme-primary) 46%,var(--ba-line));border-radius:0;padding:0;background:radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--student-details-theme-secondary) 32%,transparent),transparent 46%),linear-gradient(180deg,color-mix(in srgb,var(--student-details-theme-base) 42%,transparent),color-mix(in srgb,var(--student-details-theme-primary) 24%,transparent));filter:drop-shadow(0 18px 28px rgba(12,30,45,.22)) drop-shadow(0 0 18px color-mix(in srgb,var(--student-details-theme-secondary) 26%,transparent))}.student-details-header-text{position:relative;z-index:3;grid-column:2/-1;grid-row:1;display:grid;align-self:end;justify-items:end;gap:8px;min-width:0;padding-right:0;text-align:right;margin-bottom:-46px;padding-bottom:0;pointer-events:none}.student-details-header h2{box-sizing:border-box;width:fit-content;max-width:100%;margin:0;border:1px solid var(--student-details-name-border);padding:6px 12px 8px;overflow-wrap:anywhere;color:var(--student-details-name-color);background:linear-gradient(135deg,color-mix(in srgb,var(--student-details-theme-primary) 10%,transparent),transparent 64%),var(--student-details-name-background);box-shadow:0 12px 34px color-mix(in srgb,var(--student-details-theme-base) 34%,transparent),inset 0 1px #ffffff5c;font-size:58px;line-height:1;-webkit-text-stroke:0;text-shadow:0 1px 0 rgba(255,255,255,.42),0 0 16px color-mix(in srgb,var(--student-details-theme-secondary) 18%,transparent);backdrop-filter:blur(8px);pointer-events:auto}.student-details-owned-button,.student-details-favorite-button,.student-details-close-button{position:relative;z-index:4;align-self:start;display:grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--ba-line) 82%,transparent);border-radius:999px;color:color-mix(in srgb,var(--student-details-theme-character) 58%,var(--ba-muted));background:color-mix(in srgb,var(--ba-panel-raised) 88%,transparent);font-size:24px;line-height:1;cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease,transform .14s ease}.student-details-owned-button{grid-column:3;grid-row:1}.student-details-favorite-button{grid-column:4;grid-row:1}.student-details-favorite-button.is-active{border-color:color-mix(in srgb,var(--ba-amber) 72%,var(--ba-line));color:var(--ba-amber);background:color-mix(in srgb,var(--ba-amber) 18%,var(--ba-panel-raised))}.student-details-close-button{grid-column:5;grid-row:1}.student-details-owned-button:hover,.student-details-favorite-button:hover,.student-details-close-button:hover{border-color:var(--ba-cyan);color:var(--ba-text);background:var(--ba-panel-raised);transform:translateY(-1px)}.student-details-owned-button:focus-visible,.student-details-close-button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.student-details-favorite-button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.student-details-favorite-icon,.student-details-close-icon{width:16px;height:16px}.student-details-owned-button{display:flex;align-items:center;justify-content:center;gap:7px;width:auto;min-width:86px;padding:0 11px;color:var(--ba-muted);font-size:12px;font-weight:900}.student-details-owned-button.is-active{border-color:color-mix(in srgb,var(--student-details-theme-secondary) 62%,var(--ba-line));color:var(--ba-text);background:color-mix(in srgb,var(--student-details-theme-secondary) 18%,var(--ba-panel-raised))}.student-details-owned-icon{width:14px;height:14px}.student-details-body{position:relative;z-index:1;display:grid;gap:14px;min-width:0;overflow:visible;padding:calc(var(--student-details-portrait-height-desktop) * .34) 18px 18px;background:radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--student-details-theme-primary) 8%,transparent),transparent 32%),radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--student-details-theme-character) 7%,transparent),transparent 28%),linear-gradient(180deg,color-mix(in srgb,var(--student-details-theme-soft) 18%,transparent),transparent 46%)}.student-details-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.student-details-tag{--student-details-accent: var(--ba-blue);--student-details-accent-soft: color-mix(in srgb, var(--ba-sky) 12%, var(--ba-panel));display:inline-flex;align-items:center;gap:6px;min-width:0;border:1px solid color-mix(in srgb,var(--ba-line) 76%,transparent);border-radius:999px;padding:5px 9px;color:var(--student-details-accent);background:linear-gradient(135deg,color-mix(in srgb,var(--student-details-theme-secondary) 8%,transparent),transparent 62%),color-mix(in srgb,var(--student-details-accent-soft) 56%,var(--ba-panel));font-size:12px;font-weight:900;line-height:1}.student-details-tag span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-details-school-icon,.student-details-attack-icon,.student-details-defense-icon,.student-details-character-type-icon,.student-details-unknown-icon{flex:0 0 auto}.student-details-school-icon{width:20px;height:20px;background:var(--student-details-accent);mask-position:center;mask-repeat:no-repeat;mask-size:contain}.student-details-attack-icon,.student-details-defense-icon{width:22px;height:22px;object-fit:contain}.student-details-character-type-icon,.student-details-unknown-icon{display:grid;place-items:center;width:24px;height:20px;border-radius:6px;color:var(--student-details-theme-secondary);background:color-mix(in srgb,var(--student-details-theme-secondary) 18%,var(--ba-panel));font-size:9px;font-weight:900}.student-details-icon-value{--student-details-accent: var(--ba-blue);display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;overflow-wrap:anywhere}.student-details-icon-value .student-details-school-icon{width:18px;height:18px}.student-details-icon-value .student-details-attack-icon,.student-details-icon-value .student-details-defense-icon{width:20px;height:20px}.student-details-stars{color:var(--ba-amber);font-size:14px;letter-spacing:0}.student-details-section{display:grid;gap:10px}.student-details-section h3{margin:0;color:var(--ba-muted);font-size:12px;font-weight:900}.student-details-profile-groups{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(0,.86fr) minmax(0,.7fr);gap:9px;align-items:stretch}.student-details-profile-group{display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px;min-width:0;border:1px solid color-mix(in srgb,var(--ba-line) 74%,transparent);border-radius:8px;padding:9px;background:linear-gradient(135deg,color-mix(in srgb,var(--student-details-theme-primary) 5%,transparent),transparent 64%),color-mix(in srgb,var(--ba-panel) 72%,var(--ba-paper))}.student-details-profile-group h4{margin:0;color:var(--ba-text);font-size:12px;font-weight:900;line-height:1.1}.student-details-profile-group-affiliation{grid-column:1;grid-row:1}.student-details-profile-group-combat{grid-column:2;grid-row:1}.student-details-profile-group-additional{grid-column:3;grid-row:1}.student-details-profile-group-affiliation .student-details-list,.student-details-profile-group-combat .student-details-list,.student-details-profile-group-additional .student-details-list{grid-template-columns:1fr;align-content:stretch;height:100%}.student-details-profile-group-affiliation .student-details-list-item{min-height:72px;padding:12px}.student-details-profile-group-affiliation .student-details-list dt{font-size:13px}.student-details-profile-group-affiliation .student-details-list dd{font-size:24px;line-height:1.12}.student-details-profile-group-affiliation .student-details-icon-value{gap:9px}.student-details-profile-group-affiliation .student-details-icon-value .student-details-school-icon{width:26px;height:26px}.student-details-profile-group-combat .student-details-list dd,.student-details-profile-group-additional .student-details-list dd{font-size:13px}.student-details-profile-group-combat .student-details-list{gap:6px}.student-details-profile-group-combat .student-details-list-item,.student-details-profile-group-additional .student-details-list-item{display:grid;align-content:center}.student-details-profile-group-combat .student-details-list-item{padding:7px 9px}.student-details-profile-group-additional .student-details-list-item{padding:9px}.student-details-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;margin:0}.student-details-list-item{min-width:0;border:1px solid color-mix(in srgb,var(--ba-line) 76%,transparent);border-radius:8px;padding:9px;background:linear-gradient(135deg,color-mix(in srgb,var(--student-details-theme-primary) 6%,transparent),transparent 64%),color-mix(in srgb,var(--ba-panel) 70%,var(--ba-paper))}.student-details-list dt,.student-details-level-item span{color:var(--ba-muted);font-size:11px;font-weight:900;line-height:1.1}.student-details-list dd{min-width:0;margin:4px 0 0;overflow-wrap:anywhere;color:var(--ba-text);font-size:13px;font-weight:900;line-height:1.25}.student-details-list dt{min-width:0}.student-details-level-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.student-details-level-group{display:grid;align-content:start;gap:8px;min-width:0;border:1px solid color-mix(in srgb,var(--ba-line) 74%,transparent);border-radius:8px;padding:9px;background:linear-gradient(135deg,color-mix(in srgb,var(--student-details-theme-tertiary) 7%,transparent),transparent 62%),color-mix(in srgb,var(--ba-panel) 72%,var(--ba-paper))}.student-details-level-group h4{margin:0;color:var(--ba-text);font-size:12px;font-weight:900;line-height:1.1}.student-details-level-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.student-details-level-item{display:grid;gap:6px;min-width:0;border:1px solid color-mix(in srgb,var(--ba-line) 78%,transparent);border-radius:8px;padding:9px;background:linear-gradient(135deg,color-mix(in srgb,var(--student-details-theme-secondary) 6%,transparent),transparent 64%),var(--ba-panel-soft)}.student-details-number-stepper{display:grid;grid-template-columns:30px minmax(44px,1fr) 30px;gap:6px;align-items:center}.student-details-number-input{width:100%;min-width:0;border:1px solid color-mix(in srgb,var(--ba-line) 80%,transparent);border-radius:7px;padding:7px 4px;color:var(--ba-text);background:color-mix(in srgb,var(--ba-panel-raised) 82%,transparent);font:inherit;font-size:13px;font-weight:900;line-height:1;text-align:center}.student-details-number-input:focus{outline:0;box-shadow:var(--focus-ring)}.student-details-stepper-button{display:grid;place-items:center;width:30px;height:30px;border:1px solid color-mix(in srgb,var(--student-details-theme-secondary) 26%,var(--ba-line));border-radius:7px;color:var(--ba-text);background:color-mix(in srgb,var(--student-details-theme-secondary) 10%,var(--ba-panel-raised));font-size:16px;font-weight:900;line-height:1;cursor:pointer;user-select:none;transition:border-color .14s ease,background .14s ease,transform .14s ease}.student-details-stepper-button:hover:not(:disabled){border-color:var(--student-details-theme-secondary);background:color-mix(in srgb,var(--student-details-theme-secondary) 18%,var(--ba-panel-raised));transform:translateY(-1px)}.student-details-stepper-button:disabled{cursor:not-allowed;opacity:.42}@media(max-width:640px){.student-details-dialog{width:min(100% - 20px,820px);max-height:calc(100dvh - 20px)}.student-details-header{grid-template-columns:116px minmax(0,1fr) auto 36px 36px;grid-template-rows:46px minmax(132px,auto);gap:12px;min-height:214px;padding:16px 14px 18px}.student-details-portrait{width:116px;height:var(--student-details-portrait-height-tablet);margin-bottom:calc(var(--student-details-portrait-height-tablet) / -2);grid-row:1/3}.student-details-header h2{font-size:clamp(32px,10vw,46px);line-height:1}.student-details-header-text{grid-column:1/-1;grid-row:2;align-self:end;margin-bottom:-34px;padding-right:2px;padding-bottom:0}.student-details-body{padding:calc(var(--student-details-portrait-height-tablet) * .34) 14px 14px}.student-details-profile-groups{grid-template-columns:1fr}.student-details-profile-group-affiliation,.student-details-profile-group-combat,.student-details-profile-group-additional{grid-column:1;grid-row:auto}.student-details-list,.student-details-level-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.student-details-dialog::backdrop{background:radial-gradient(circle at 50% 0%,var(--student-details-theme-glow) 0,transparent 42%),radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--student-details-theme-character) 18%,transparent) 0,transparent 32%),linear-gradient(180deg,color-mix(in srgb,var(--student-details-theme-primary) 16%,transparent),transparent 46%),color-mix(in srgb,var(--student-details-theme-base) 44%,rgba(8,18,28,.58))}.student-details-header{grid-template-columns:84px minmax(0,1fr) auto 34px 34px;grid-template-rows:42px minmax(118px,auto);min-height:186px;padding:14px 12px 16px}.student-details-portrait{width:84px;height:var(--student-details-portrait-height-mobile);margin-bottom:calc(var(--student-details-portrait-height-mobile) / -2);padding:0;grid-row:1/3}.student-details-header-text{grid-column:1/-1;grid-row:2;align-self:end;margin-bottom:-24px;padding-right:0;padding-bottom:0}.student-details-header h2{font-size:clamp(28px,12vw,38px)}.student-details-body{padding-left:14px;padding-top:calc(var(--student-details-portrait-height-mobile) * .34)}.student-details-list,.student-details-level-groups,.student-details-level-grid{grid-template-columns:1fr}}.debug-json-popover{position:fixed;z-index:30;width:min(520px,100vw - 20px);max-height:min(560px,100dvh - 20px);overflow:auto;border:1px solid color-mix(in srgb,var(--ba-line) 80%,transparent);border-radius:8px;color:var(--ba-text);background:color-mix(in srgb,var(--ba-panel-raised) 94%,transparent);box-shadow:0 18px 52px #152b3c3d;backdrop-filter:blur(14px)}.student-debug-popover{pointer-events:auto;overscroll-behavior:contain}.hash-debug-popover{display:grid;grid-template-rows:auto minmax(0,1fr)}.debug-json-header{position:sticky;top:0;z-index:1;display:flex;justify-content:flex-end;border-bottom:1px solid color-mix(in srgb,var(--ba-line) 72%,transparent);padding:8px;background:color-mix(in srgb,var(--ba-panel-raised) 96%,transparent)}.debug-json-close-button{display:grid;place-items:center;width:28px;height:28px;border:1px solid color-mix(in srgb,var(--ba-line) 78%,transparent);border-radius:999px;color:var(--ba-muted);background:var(--ba-panel);font-size:13px;font-weight:900;cursor:pointer}.debug-json-close-button:hover{border-color:var(--ba-cyan);color:var(--ba-text)}.debug-json-close-button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.debug-json-content{min-width:0}.debug-json-popover.is-loading,.debug-json-content.is-loading{display:grid;place-items:center;min-height:84px;padding:14px;color:var(--ba-muted);font-size:12px;font-weight:900}.debug-json-popover pre{margin:0;min-width:0;padding:14px;background:transparent!important;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.debug-json-popover code{font-family:inherit}@media(max-width:640px){.debug-json-popover{width:min(420px,100vw - 20px);max-height:min(480px,100dvh - 20px)}}.permalink-import-dialog{width:min(520px,100vw - 32px);border:1px solid color-mix(in srgb,var(--ba-cyan) 34%,var(--ba-line));border-radius:12px;padding:20px;color:var(--ba-text);background:var(--ba-panel-raised);box-shadow:var(--shadow-panel)}.permalink-import-dialog::backdrop{background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--ba-sky) 22%,transparent),transparent 38%),#0b17228a;backdrop-filter:blur(8px)}.permalink-import-dialog h2{margin:0 0 8px;font-size:20px;letter-spacing:0}.permalink-import-dialog p{margin:0 0 16px;color:var(--ba-muted);font-size:13px;line-height:1.6}.permalink-import-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}.permalink-import-summary>div{border:1px solid var(--ba-line);border-radius:8px;padding:10px;background:var(--ba-panel-soft)}.permalink-import-summary dt{margin-bottom:4px;color:var(--ba-muted);font-size:11px;font-weight:900}.permalink-import-summary dd{margin:0;font-size:18px;font-weight:900}.permalink-import-preview-list{max-height:130px;overflow:auto;border:1px solid var(--ba-line);border-radius:8px;padding:10px;color:var(--ba-muted);background:var(--ba-panel-soft);font-size:12px;line-height:1.6;white-space:pre-line}.permalink-import-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.permalink-import-button{min-width:76px;height:36px;border:1px solid var(--ba-line);border-radius:8px;padding:0 14px;color:var(--ba-text);background:var(--ba-panel);font-weight:900;cursor:pointer}.permalink-import-button-primary{border-color:color-mix(in srgb,var(--ba-cyan) 64%,var(--ba-line));color:var(--ba-blue);background:color-mix(in srgb,var(--ba-sky) 18%,var(--ba-panel-raised))}.permalink-import-button:focus-visible{outline:0;box-shadow:var(--focus-ring)}
