.glass-modal{background:var(--bg-surface);border-radius:20px;border:1px solid var(--border-default);box-shadow:var(--shadow-modal)}#compendium-nav{background:var(--bg-surface);border-bottom:1px solid var(--border-default)}.nav-tab{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;font-size:12.5px;font-weight:600;color:var(--text-muted);cursor:default;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;white-space:nowrap;text-decoration:none;margin-bottom:-1px;letter-spacing:.02em}.nav-tab.active{color:var(--text-primary);border-bottom-color:var(--accent)}.nav-tab .tab-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}.nav-tab.soon{color:var(--text-dim);opacity:.55}.nav-tab.soon:after{content:"soon";font-size:8px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);opacity:.5;margin-left:4px;vertical-align:super}.sci-input{background:var(--bg-inset);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);padding:.42rem .85rem;font-family:var(--font-ui);font-size:.85rem;outline:none;transition:border-color .2s,box-shadow .2s;appearance:none}.sci-input::placeholder{color:var(--text-dim)}.sci-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.08)}.sci-input option{background:var(--bg-surface);color:var(--text-primary)}#filter-drawer{display:grid;grid-template-rows:minmax(0,0fr);opacity:0;overflow:hidden;background:var(--bg-inset);border-bottom:1px solid var(--border-subtle);transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1),opacity .25s ease-out}#filter-drawer.open{grid-template-rows:minmax(0,1fr);opacity:1}#filter-drawer-inner{min-height:0;overflow:hidden;padding:10px var(--page-pad);display:flex;flex-direction:column;gap:6px}.filter-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-row+.filter-row{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-subtle)}.filter-row--actions{justify-content:flex-end}.chip{font-family:var(--font-ui);line-height:1.8}.chip:active{transform:scale(.96)}.chip.active{background:var(--blue-light);border-color:var(--blue);color:var(--blue);box-shadow:none}.chip.src-active{background:var(--accent-light);border-color:var(--accent);color:var(--accent);box-shadow:none}.chip.cls-active{background:var(--green-light);border-color:var(--green);color:var(--green);box-shadow:none}#level-chips .chip.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent);box-shadow:none}#school-chips .chip.active{background:rgba(var(--school-rgb, 71,85,105),.16);border-color:rgba(var(--school-rgb, 71,85,105),.55);color:rgb(var(--school-rgb, 71,85,105));box-shadow:none}.filter-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;flex-shrink:0;width:90px}#btn-clear{font-family:var(--font-ui);font-size:11px;font-weight:600;padding:3px 9px;border-radius:99px;border:1px solid rgba(var(--red-rgb),.15);background:var(--red-light);color:var(--red);cursor:pointer;transition:all .15s;white-space:nowrap;display:none;opacity:.7}#btn-clear:hover{opacity:1}#btn-clear.visible{display:inline-flex;align-items:center;gap:4px}.school-badge{font-size:11px;font-weight:700;padding:2px 10px;border-radius:99px;letter-spacing:.05em;white-space:nowrap;background:rgba(var(--school-rgb, 71,85,105),.16);border:1px solid rgba(var(--school-rgb, 71,85,105),.4);color:rgb(var(--school-rgb, 71,85,105))}.spell-printing-tabs{--pt-rgb: var(--school-rgb, 100,116,139)}.stat-icon{width:32px;height:32px;border-radius:9px;background:var(--accent-light);border:1px solid rgba(var(--accent-rgb),.15);display:flex;align-items:center;justify-content:center;flex-shrink:0}#modal{pointer-events:none}#modal.is-open{pointer-events:auto}#modal-backdrop{background:var(--backdrop-bg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .25s ease-out}#modal.is-open #modal-backdrop{opacity:1}#modal-panel{opacity:0;transform:scale(.95) translateY(16px);transition:opacity .25s ease-out,transform .25s cubic-bezier(.34,1.2,.64,1)}#modal.is-open #modal-panel{opacity:1;transform:scale(1) translateY(0)}#modal-drag-handle{display:none}#modal-nav-bar{position:sticky;top:0;z-index:10;background:var(--bg-surface);border-bottom:1px solid var(--border-default);display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-radius:20px 20px 0 0}.modal-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--border-default);background:var(--bg-inset);color:var(--text-muted);cursor:pointer;font-size:14px;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.modal-nav-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.modal-nav-btn:disabled{opacity:.25;cursor:default}.modal-nav-btn.close-btn{border-color:rgba(var(--red-rgb),.15);color:var(--red);opacity:.6}.modal-nav-btn.close-btn:hover{background:var(--red-light);opacity:1}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}#sticky-shell{flex-shrink:0;position:relative;z-index:20}#loading{flex:1;padding-top:0}main#grid{flex:1;overflow-y:auto}#view-toggle{display:none;gap:4px;align-items:center}#view-toggle.visible{display:flex}.view-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.view-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.view-btn.active{background:var(--accent-light);border-color:rgba(var(--accent-rgb),.2);color:var(--accent)}#spells-list{flex:1;display:flex;overflow:hidden;min-height:0}#spell-sidebar{width:var(--side-w, 270px);flex-shrink:0;overflow-y:auto;border-right:1px solid var(--border-default);background:var(--bg-surface);padding:8px 0}@media(max-width:900px){#spell-resize-handle{display:none}}.spell-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;border-bottom:1px solid var(--border-subtle);transition:background .15s,color .15s;color:var(--text-secondary);font-size:14px;font-weight:500;position:relative}.spell-item:hover{background:var(--bg-hover);color:var(--text-primary)}.spell-item-name{font-weight:700}.spell-item.active{background:rgba(var(--school-rgb),.08);color:var(--text-primary)}.spell-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:rgb(var(--school-rgb, 71,85,105))}.spell-item.active .spell-item-school{box-shadow:0 0 8px rgba(var(--accent-rgb),.35);transform:scale(1.1)}.spell-item.spell-jump .spell-item-school{animation:spellBadgeJump .35s cubic-bezier(.34,1.6,.64,1) both}@keyframes spellBadgeJump{0%{transform:scale(1)}40%{transform:scale(1.3) translateY(-3px)}70%{transform:scale(.95)}to{transform:scale(1.1)}}.spell-item-school{width:28px;height:28px;min-width:28px;padding:0;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;flex-shrink:0;border:1px solid;transition:transform .2s ease,box-shadow .2s ease}.spell-item-level{font-size:11.5px;font-weight:600;color:var(--text-muted);margin-left:auto;flex-shrink:0}#spell-detail{flex:1;overflow-y:auto;padding:24px clamp(20px,3vw,56px);--spell-accent: var(--accent)}#spell-detail-inner{width:min(100%,1320px);margin:0 auto}.spell-layout{display:flex;flex-direction:column;gap:18px}.spell-main-flow{min-width:0;container-type:inline-size}.spell-comment-below{min-width:0}.spell-comment-below .comment-section{margin-top:0}.spell-prose{color:var(--text-secondary);font-size:.94rem;line-height:1.75}#spell-detail-inner,#modal-panel{--rec-c: rgb(var(--school-rgb, 100,116,139))}.spell-stat-trigger-label{color:var(--text-muted);font-weight:600}#modal-content{container-type:inline-size}@media(max-width:720px){#spell-detail{padding:18px 16px}}#spell-detail.is-switching{opacity:0;transform:translateY(6px);transition:opacity .12s ease,transform .12s ease}#spell-detail{transition:opacity .18s ease,transform .18s ease}main#grid::-webkit-scrollbar,#spell-sidebar::-webkit-scrollbar,#spell-detail::-webkit-scrollbar{width:4px}main#grid::-webkit-scrollbar-track,#spell-sidebar::-webkit-scrollbar-track,#spell-detail::-webkit-scrollbar-track{background:transparent}main#grid::-webkit-scrollbar-thumb,#spell-sidebar::-webkit-scrollbar-thumb,#spell-detail::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:99px}main#grid::-webkit-scrollbar-thumb:hover,#spell-sidebar::-webkit-scrollbar-thumb:hover,#spell-detail::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}#cards{grid-template-columns:1fr}@media(min-width:640px){#cards{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){#cards{grid-template-columns:repeat(3,1fr)}}.alpha-header{grid-column:1 / -1;padding:6px 4px 4px;margin-top:8px;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-default);user-select:none}.alpha-header:first-child{margin-top:0}#grid.compact-view{padding:0}#grid.compact-view #cards{display:block!important;gap:0;padding:0}.compact-col-wrap{display:flex;align-items:flex-start;gap:1px}.compact-col{flex:1;min-width:0;display:flex;flex-direction:column}.compact-alpha-sep{display:flex;align-items:center;gap:8px;padding:4px 20px 3px;background:var(--bg-inset);border-bottom:1px solid rgba(var(--accent-rgb),.12);flex-shrink:0}.compact-alpha-badge{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--accent);background:var(--accent-light);border:1px solid rgba(var(--accent-rgb),.18);border-radius:4px;padding:1px 5px;line-height:1.4}.compact-alpha-sep-line{flex:1;height:1px;background:rgba(var(--accent-rgb),.08)}#compact-col-toggle{display:none;align-items:center;gap:2px;margin-right:4px}#compact-col-toggle.visible{display:flex}.col-btn{width:22px;height:22px;border-radius:6px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-muted);font-size:10px;font-weight:700;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.col-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.col-btn.active{background:var(--accent-light);border-color:rgba(var(--accent-rgb),.2);color:var(--accent)}.compact-header-row{position:sticky;top:0;z-index:2;display:flex;align-items:center;padding:6px 20px 6px 48px;background:var(--bg-surface);border-bottom:1px solid var(--border-default);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0}.ch-name{flex:1;min-width:0}.ch-lvl{width:70px;flex-shrink:0}.ch-time{width:110px;flex-shrink:0}.ch-range{width:100px;flex-shrink:0;text-align:right;padding-right:6px}.compact-strip{display:flex;align-items:center;gap:10px;padding:0 20px;height:38px;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background .12s;position:relative}.compact-strip:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--cs-accent, transparent);opacity:0;transition:opacity .15s}.compact-strip:hover{background:var(--bg-hover)}.compact-strip:hover:before{opacity:.6}.compact-strip:active{background:var(--bg-active)}.cs-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.cs-school{font-size:10px;padding:1px 5px;border-radius:99px;flex-shrink:0}.cs-name{flex:1;font-size:13.5px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-lvl{width:70px;flex-shrink:0;font-size:12px;color:var(--text-muted)}.cs-time{width:110px;flex-shrink:0;font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-time[title]{text-decoration:underline dotted;text-underline-offset:2px;cursor:help}.cs-range{width:100px;flex-shrink:0;font-size:12px;color:var(--text-muted);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes compactStripIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}
