#resizer,.dropdown-item.disabled-setting:hover{background-color:transparent}*,.party-prepared-filter,.stepper-btn{box-sizing:border-box}.spell-desc,.toast{word-wrap:break-word}.spell-desc p,.spell-desc>div:first-child,.spell-desc>ol:first-child,.spell-desc>p:first-child,.spell-desc>ul:first-child{margin-top:0!important}.desc-toggle-btn:hover,.spell-link{text-decoration:underline}:root{--bg-color:#1a1a1d;--card-bg:#2d2d33;--accent:#c3073f;--feature-color:#6f42c1;--text-main:#e0e0e0;--text-sub:#aaa;--border:#4e4e50;--dropdown-bg:#3e3e42;--input-bg:#1f1f22;--tab-bg:#222;--link-color:#4cc9f0;--dice-link-color:#fca311;--resource-slot-accent:#4cc9f0;--resource-item-accent:#c4b5fd;--state-include:#10b981;--state-exclude:#ef4444;--state-ignore:#6b7280;--z-modal:2000;--z-app-dialog:2800;--z-toast:3000;--z-loading:9999;--lib-width:60%;--party-width:40%;--split-resizer-width:6px;--split-resizer-collapsed-width:24px;--desktop-pane-min-width:280px;--desktop-pane-collapse-threshold:215px;--bg-deep:#0d0f12;--bg-parchment:rgba(26, 28, 35, 0.85);--bg-elevated:#252832;--border-subtle:#2f3542;--border-glow:#4a3a2a;--text-primary:#f0e6d2;--text-secondary:#9a8c7a;--text-muted:#5a5248;--text-primarywithgrey:#d1cbc0;--font-cjk:SimSun,"宋体","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Noto Sans SC","Microsoft YaHei UI","Microsoft YaHei";--font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,var(--font-cjk),sans-serif;--font-display:"Cinzel",var(--font-cjk),serif;--font-reading:"Crimson Text",var(--font-cjk),serif;--font-mono:Consolas,"Cascadia Mono","Courier New",var(--font-cjk),monospace;--font-yahei:"Microsoft YaHei UI","Microsoft YaHei",sans-serif;--table-font-size:0.89rem;--table-body-color:var(--text-primary);--table-add-color:var(--accent);--table-link-underline-dash:10px;--table-link-underline-gap:3px;--table-link-underline-thickness:1px;--table-link-underline-offset:2px;--mobile-library-tab-flex:4.5;--mobile-party-tab-flex:5.5;--accent-gold:#d4af37;--accent-arcane:#7c3aed;--school-abjuration:#60a5fa;--school-conjuration:#fbbf24;--school-divination:#c084fc;--school-enchantment:#f472b6;--school-evocation:#f87171;--school-illusion:#a78bfa;--school-necromancy:#34d399;--school-transmutation:#fb923c;--card-shadow:0 8px 20px rgba(0, 0, 0, 0.6),0 0 0 1px rgba(255, 255, 255, 0.05) inset}body.theme-5r{--accent:#f7a816}*{touch-action:manipulation}.svg-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.ui-icon{width:1.56em;height:1.56em;display:inline-block;flex:0 0 auto;color:currentColor;vertical-align:-.18em}.icon-label,header{align-items:center}.icon-label{display:inline-flex;justify-content:center;gap:.32em;line-height:1.15}.icon-label-text{display:inline-block;line-height:1.15}.dropdown-item .icon-label{justify-content:flex-start}#loading-overlay,body{flex-direction:column;color:var(--text-main);position:fixed;display:flex;background-color:var(--bg-color)}body{--accent-hover:color-mix(in srgb, var(--accent) 80%, black);--tab-active:var(--accent);--pin-color:var(--accent);font-family:var(--font-ui);margin:0;padding:0;height:100vh;height:100dvh;width:100%;top:0;left:0;overflow:hidden;letter-spacing:.015em;background-image:radial-gradient(circle at 50% 0,rgba(40,40,45,.4) 0,rgba(20,20,23,.9) 50%,#08080a 100%)!important;background-attachment:fixed}code,kbd,pre,samp{font-family:var(--font-mono)}#loading-overlay{inset:0;z-index:var(--z-loading);align-items:center;justify-content:center}.spinner{width:60px;height:60px;border-radius:50%;border:4px solid rgba(255,255,255,.03);border-top-color:var(--accent,#00d2ff);border-bottom-color:var(--accent,#00d2ff);box-shadow:0 0 15px color-mix(in srgb,var(--accent,#00d2ff) 40%,transparent),inset 0 0 15px color-mix(in srgb,var(--accent,#00d2ff) 20%,transparent);animation:1.5s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}#toast-container{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:10px}.toast{background:rgba(45,45,51,.95);color:#fff;padding:12px 20px;border-radius:6px;box-shadow:0 4px 15px rgba(0,0,0,.5);border-left:4px solid var(--accent);font-size:.9rem;animation:.3s forwards slideDown;max-width:90vw}@keyframes slideDown{from{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}header{background-color:#0b0b0d;padding:10px 15px;border-bottom:2px solid var(--accent);display:flex;gap:10px;flex-wrap:wrap;z-index:100;flex-shrink:0}h1{margin:0 10px 0 0;font-size:1.1rem;color:var(--accent);white-space:nowrap;letter-spacing:.5px}.header-main-row{width:100%;display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(360px,42vw);align-items:center;gap:10px}.page-navigation-zone{min-width:0;display:flex;align-items:center;gap:8px}#page-tabs-container,.header-search-tools{align-items:center;min-width:0;display:flex}.header-search-tools{gap:5px}@media (min-width:769px) and (max-width:1100px){.header-main-row{grid-template-columns:auto minmax(210px,1fr) 520px}h1#app-title{max-width:200px;overflow:hidden;text-overflow:ellipsis;letter-spacing:.04em}}#page-tabs-container{gap:6px;flex:0 1 auto;max-width:100%;overflow-x:auto;padding:2px 0 4px;-ms-overflow-style:auto;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 45%,#555) transparent}#page-tabs-container::-webkit-scrollbar{height:6px}#page-tabs-container::-webkit-scrollbar-track{background:0 0}#page-tabs-container::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--accent) 42%,#555)}#page-actions-container{display:flex;align-items:center;gap:4px;flex:0 0 auto;margin-left:auto}.page-select-btn{background:#222;border:1px solid #444;color:#888;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:99px;min-width:99px;max-width:99px;min-height:30px;flex:0 0 99px;transition:.2s}.page-mgmt-btn,.page-overflow-btn{min-height:30px;font-size:.82rem;white-space:nowrap}.btn-reset,.page-mgmt-btn,.select-btn{box-shadow:0 4px 6px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.05);text-shadow:0 1px 2px rgba(0,0,0,.8);transition:.25s cubic-bezier(.25, .46, .45, .94);cursor:pointer;backdrop-filter:blur(4px)}.page-select-btn:hover{background:#333;color:#ccc}.page-select-btn.active{background:var(--accent);color:var(--accent-text,#fff);border-color:var(--accent);font-weight:700}.page-overflow-btn{width:82px;min-width:82px;max-width:82px;flex:0 0 82px;padding:4px 8px;border-radius:4px;cursor:pointer;font-weight:800;background:rgba(0,0,0,.28);border:1px dashed color-mix(in srgb,var(--accent) 42%,#555);border-style:dashed;color:color-mix(in srgb,var(--accent) 48%,#ddd)}.page-mgmt-btn{background:linear-gradient(180deg,rgba(45,45,51,.8) 0,rgba(25,25,30,.95) 100%);border:1px solid rgba(255,255,255,.06);border-top-color:rgba(255,255,255,.15);border-bottom-color:rgba(0,0,0,.8);color:var(--text-primarywithgrey);width:72px;min-width:72px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-weight:600;flex-shrink:0;padding:7px 10px}.page-mgmt-btn .icon-label{gap:4px}.page-mgmt-btn .ui-icon{width:1.18em;height:1.18em}.page-mgmt-btn:not(:disabled):hover{border-color:color-mix(in srgb,var(--page-mgmt-accent,var(--accent)) 60%,transparent);color:#fff;background:linear-gradient(180deg,rgba(55,55,60,.9) 0,rgba(30,30,35,.95) 100%);box-shadow:0 6px 12px rgba(0,0,0,.6),0 0 8px color-mix(in srgb,var(--page-mgmt-accent,var(--accent)) 30%,transparent),inset 0 1px 0 rgba(255,255,255,.1);transform:translateY(-1px)}.btn-reset:active,.page-mgmt-btn:not(:disabled):active,.select-btn:active{transform:translateY(1px);box-shadow:inset 0 2px 6px rgba(0,0,0,.6);border-color:#444}.page-mgmt-add{--page-mgmt-accent:#6ee7b7}.page-mgmt-manage{--page-mgmt-accent:#bfdbfe}.page-mgmt-btn:disabled{opacity:.45;cursor:not-allowed;background:linear-gradient(180deg,rgba(35,35,40,.65) 0,rgba(18,18,22,.9) 100%);border-color:rgba(255,255,255,.04);color:#777}.search-container.visual-search-container{display:flex;align-items:center;background:var(--input-bg);border:1px solid var(--border);border-radius:4px;padding:4px 30px 4px 6px;cursor:text;flex-wrap:wrap;gap:6px;min-height:35px;position:relative;flex-grow:1;min-width:120px;transition:border-color .2s}.search-container.visual-search-container:focus-within{border-color:var(--accent)}.search-box-inner{flex:1;min-width:80px;background:0 0;border:none;color:#fff;outline:0;padding:2px}.search-chips{display:flex;gap:4px;flex-wrap:wrap}.search-chip{background:color-mix(in srgb,var(--accent) 20%,transparent);border:1px solid var(--accent);color:#fff;padding:2px 8px;border-radius:12px;font-size:.75rem;display:flex;align-items:center;gap:4px;white-space:nowrap}.search-chip .chip-icon{width:1.56em;height:1.56em}.chip-close{cursor:pointer;color:#aaa;display:inline-flex;align-items:center}.chip-close-icon{width:1.3em;height:1.3em;pointer-events:none}.chip-close:hover,.note-dice-chip-close:hover,.stepper-btn:hover{color:#fff}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#666;cursor:pointer;display:none;font-weight:700}.condition-popover-close:hover,.party-table th.sort-active,.search-clear:hover{color:var(--accent)}.filter-group{display:flex;gap:6px;width:100%;padding-bottom:2px;position:relative}.multi-select-container{position:relative;display:inline-block;user-select:none;flex:1}.btn-reset,.select-btn{background:linear-gradient(180deg,rgba(45,45,51,.8) 0,rgba(25,25,30,.95) 100%);border:1px solid rgba(255,255,255,.06);border-top-color:rgba(255,255,255,.15);border-bottom-color:rgba(0,0,0,.8);font-family:var(--font-display)!important;color:var(--text-primarywithgrey);font-weight:600;letter-spacing:.05em;border-radius:4px}.select-btn{padding:7px 10px;min-width:60px;font-size:.85rem;display:flex;justify-content:space-between;align-items:center;white-space:nowrap}.btn-reset{padding:7px 12px;font-size:.8rem;display:inline-flex;align-items:center;justify-content:center}.select-btn::after{content:'▼';font-size:.6em;margin-left:6px;color:rgba(255,255,255,.3);transform:scaleY(.7)}.btn-reset:hover,.select-btn:hover{border-color:color-mix(in srgb,var(--accent) 60%,transparent);color:#fff;background:linear-gradient(180deg,rgba(55,55,60,.9) 0,rgba(30,30,35,.95) 100%);box-shadow:0 6px 12px rgba(0,0,0,.6),0 0 8px color-mix(in srgb,var(--accent) 30%,transparent),inset 0 1px 0 rgba(255,255,255,.1);transform:translateY(-1px)}.dropdown-menu{display:none;position:absolute;background-color:var(--dropdown-bg);border:1px solid var(--border);border-radius:4px;margin-top:5px;max-height:50vh;overflow-y:auto;width:240px;box-shadow:0 8px 16px rgba(0,0,0,.6);z-index:1000;padding:5px 0;right:0}.settings-panel,.spell-page-manager-panel{max-height:calc(100dvh - 104px);transform:translateY(-8px)}.settings-panel-overlay,.spell-page-manager-overlay{position:fixed;z-index:var(--z-modal);opacity:0;inset:0}#level-select-container .dropdown-menu,.multi-select-container:first-child .dropdown-menu{right:auto;left:0}@media (min-width:768px){.dropdown-menu{right:auto;left:0}}.custom-source-package-menu.show,.custom-spell-quick-menu.show,.dropdown-menu.show{display:block;animation:.15s ease-out fadeIn}@keyframes fadeIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.dropdown-action-btn{width:100%;background:rgba(0,0,0,.2);border:none;border-bottom:1px solid #555;color:var(--accent);padding:10px 12px;cursor:pointer;font-size:.9rem;font-weight:700;text-align:left;transition:background .2s}.dropdown-action-btn:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.dropdown-item{padding:8px 12px;cursor:pointer;display:flex;align-items:center;border-bottom:1px solid #444;font-size:.9rem;user-select:none}.dropdown-item:last-child{border-bottom:none}.btn-add:hover,.custom-source-package-option:hover,.custom-spell-quick-option:hover,.dropdown-item:hover{background-color:var(--accent-hover)}.dropdown-item input{margin-right:10px;transform:scale(1.2);cursor:pointer}.dropdown-item.disabled-setting{opacity:.48;cursor:not-allowed}.dropdown-item.disabled-setting .icon-label,.dropdown-item.disabled-setting input{pointer-events:none}.tristate-box{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid #666;border-radius:3px;margin-right:10px;font-size:14px;font-weight:700;background:#222}.state-0{color:var(--state-ignore);border-color:#555}.state-1{color:#fff;background-color:var(--state-include);border-color:var(--state-include)}.state-2{color:#fff;background-color:var(--state-exclude);border-color:var(--state-exclude)}#settings-container{flex:0 0 auto;width:auto}#settings-container .select-btn{min-width:auto;padding:8px 12px;font-size:.8rem}.settings-panel-overlay{display:none;justify-content:flex-end;align-items:flex-start;padding:72px 28px 28px;background:rgba(8,8,12,.64);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);transition:opacity .18s}.app-dialog-overlay.show,.modal-overlay.show,.settings-panel-overlay.show,.spell-page-manager-overlay.show{display:flex;opacity:1}.settings-panel{width:min(500px,calc(100vw - 56px));display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 46%,#333);border-radius:8px;background:linear-gradient(180deg,rgba(47,47,54,.98),rgba(25,25,30,.98)),var(--card-bg);box-shadow:0 24px 70px rgba(0,0,0,.92),inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(255,255,255,.04);transition:transform .18s}.settings-panel-overlay.show .settings-panel,.spell-page-manager-overlay.show .spell-page-manager-panel{transform:translateY(0)}.settings-panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18)}.settings-panel-title,.spell-page-manager-title{color:var(--text-primary);font-family:var(--font-display);font-size:1.18rem;font-weight:800;line-height:1.25}.settings-panel-version,.spell-page-manager-subtitle{margin-top:3px;color:var(--text-secondary);font-size:.78rem}.settings-panel-close{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:rgba(0,0,0,.2);color:var(--text-primary);cursor:pointer;transition:border-color .18s,color .18s,background .18s}.settings-panel-close:focus-visible,.settings-panel-close:hover{color:color-mix(in srgb,var(--accent) 60%,#fff);border-color:color-mix(in srgb,var(--accent) 52%,#555);background:rgba(255,255,255,.05);outline:0}.settings-panel-body,.spell-page-manager-body{padding:14px;overflow-y:auto;overscroll-behavior:contain}.spell-page-manager-overlay{display:none;justify-content:flex-end;align-items:flex-start;padding:72px 28px 28px;background:rgba(8,8,12,.66);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);transition:opacity .18s}.spell-page-manager-panel{width:min(680px,calc(100vw - 56px));display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 42%,#3a342d);border-radius:8px;background:linear-gradient(180deg,rgba(42,41,47,.98),rgba(20,20,25,.98)),var(--card-bg);box-shadow:0 24px 72px rgba(0,0,0,.92),inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(255,255,255,.04);transition:transform .18s}.spell-page-manager-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent 72%),rgba(0,0,0,.2)}.spell-page-manager-summary{margin-bottom:12px;color:color-mix(in srgb,var(--text-primary) 82%,#aaa);font-size:.82rem;line-height:1.45}.cast-history-list,.cast-option-group,.settings-group,.settings-spell-preview-list,.spell-page-manager-list{display:flex;flex-direction:column;gap:8px}.spell-page-manager-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(0,0,0,.08)),rgba(0,0,0,.18)}.spell-page-manager-row.is-current{border-color:color-mix(in srgb,var(--accent) 48%,#555);box-shadow:inset 3px 0 0 var(--accent)}.spell-page-manager-main{min-width:0;display:flex;align-items:center;gap:10px}.spell-page-visible-label{width:40px;height:24px;position:relative;flex:0 0 auto;cursor:pointer}.settings-switch input,.spell-page-visible-toggle{position:absolute;inset:0;opacity:0;cursor:pointer}.spell-page-visible-track{position:absolute;inset:0;border:1px solid #565966;border-radius:999px;background:#17181d;pointer-events:none;transition:background .18s,border-color .18s}#mobile-tabs,#party-section,#resizer,.settings-switch{position:relative}.spell-page-visible-track::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#8b8375;box-shadow:0 2px 6px rgba(0,0,0,.45);transition:transform .18s,background .18s}.spell-page-visible-toggle:checked+.spell-page-visible-track{border-color:color-mix(in srgb,var(--accent) 58%,#fff);background:color-mix(in srgb,var(--accent) 45%,#172018)}.spell-page-visible-toggle:checked+.spell-page-visible-track::after{transform:translateX(16px);background:var(--accent-text,#fff)}.spell-page-manager-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.spell-page-manager-name-line{min-width:0;display:flex;align-items:center;gap:7px}.spell-page-manager-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-weight:800}.spell-page-current-badge,.spell-page-hidden-badge{flex:0 0 auto;padding:2px 6px;border-radius:999px;font-size:.68rem;font-weight:800;line-height:1.2}.spell-page-current-badge,.view-btn.active{color:var(--accent-text,#fff);background:var(--accent)}.spell-page-hidden-badge{color:#cbd5e1;border:1px solid rgba(148,163,184,.34);background:rgba(15,23,42,.34)}.spell-page-manager-meta{display:flex;flex-wrap:wrap;gap:5px 10px;color:var(--text-secondary);font-size:.75rem}.spell-page-manager-actions{display:flex;align-items:center;gap:5px;flex:0 0 auto}.spell-page-manager-action{min-width:32px;height:32px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:rgba(0,0,0,.22);color:var(--text-primary);font-family:var(--font-ui);font-size:.82rem;font-weight:800;cursor:pointer}.spell-page-manager-action:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 52%,#777);color:color-mix(in srgb,var(--accent) 48%,#fff);background:rgba(255,255,255,.05)}.spell-page-manager-action:disabled{opacity:.42;cursor:not-allowed}.spell-page-delete-btn{color:#fca5a5}.resource-modal-section+.resource-modal-section,.settings-group+.settings-group{margin-top:18px}.settings-group-title{margin:0 0 2px;color:color-mix(in srgb,var(--accent) 48%,#d7d2c8);font-family:var(--font-display);font-size:.82rem;font-weight:800;line-height:1.25}.settings-help-item,.settings-item{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(0,0,0,.12)),rgba(18,18,22,.68);overflow:hidden}.settings-item-warning{border-color:rgba(245,158,11,.38);background:linear-gradient(180deg,rgba(245,158,11,.08),rgba(0,0,0,.12)),rgba(18,18,22,.7)}.settings-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;padding:10px}.settings-help-main,.settings-item-main{width:100%;min-width:0;border:0;padding:0;display:grid;align-items:center;gap:10px;background:0 0;color:inherit;font:inherit;text-align:left;cursor:pointer}.settings-item-main{grid-template-columns:36px minmax(0,1fr) 18px}.settings-item-static{cursor:default}.settings-help-main{grid-template-columns:minmax(0,1fr) 18px;padding:11px 12px}.settings-help-static{grid-template-columns:minmax(0,1fr);cursor:default}.settings-help-main:focus-visible,.settings-item-main:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 62%,white);outline-offset:2px;border-radius:6px}.settings-item-icon{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:7px;color:color-mix(in srgb,var(--accent) 54%,#e5e7eb);background:rgba(0,0,0,.24)}.settings-help-main>span:first-child,.settings-item-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.settings-help-main strong,.settings-item-title{color:var(--text-primary);font-size:.94rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.settings-help-main span span,.settings-item-desc{color:var(--text-secondary);font-size:.78rem;line-height:1.45;overflow-wrap:anywhere}.settings-expand-indicator{color:color-mix(in srgb,var(--accent) 50%,#aaa);align-self:center;justify-self:end;transition:transform .18s}.party-mobile-filter-arrow.is-open,.settings-help-item.is-expanded .settings-expand-indicator,.settings-item.is-expanded .settings-expand-indicator{transform:rotate(180deg)}.settings-switch{width:50px;height:30px;align-self:center;flex:0 0 auto;cursor:pointer}.settings-switch-track{position:absolute;inset:0;border:1px solid #565966;border-radius:999px;background:#1f2027;box-shadow:inset 0 2px 6px rgba(0,0,0,.38);transition:background .18s,border-color .18s}.settings-switch-track::after{content:'';position:absolute;width:22px;height:22px;top:3px;left:3px;border-radius:50%;background:#d7d2c8;box-shadow:0 2px 7px rgba(0,0,0,.55);transition:transform .18s,background .18s}.settings-switch input:checked+.settings-switch-track{border-color:color-mix(in srgb,var(--accent) 64%,#fff);background:color-mix(in srgb,var(--accent) 58%,#111827)}.settings-switch input:checked+.settings-switch-track::after{transform:translateX(20px);background:var(--accent-text,#fff)}.settings-switch input:focus-visible+.settings-switch-track{outline:2px solid color-mix(in srgb,var(--accent) 62%,white);outline-offset:2px}.settings-item.disabled-setting .settings-switch-track,.settings-switch input:disabled+.settings-switch-track{opacity:.45;cursor:not-allowed}.settings-item-action{min-width:56px;min-height:34px;align-self:center;border:1px solid color-mix(in srgb,var(--accent) 45%,#555);border-radius:6px;padding:6px 10px;background:color-mix(in srgb,var(--accent) 18%,rgba(0,0,0,.3));color:color-mix(in srgb,var(--accent) 62%,#fff);font-family:var(--font-ui);font-size:.82rem;font-weight:800;cursor:pointer;transition:filter .18s,transform .12s}.settings-item-action:hover{filter:brightness(1.1)}.app-dialog-btn:active,.currency-key:active,.settings-item-action:active,.stepper-btn:active{transform:translateY(1px)}.settings-item-action-quiet{min-width:48px;min-height:30px;padding:4px 8px}.settings-color-controls{display:flex;align-items:center;gap:8px;align-self:center}#theme-color-picker{width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:0 0;cursor:pointer}.settings-preview{display:none;padding:0 10px 10px}.cast-confirmation-stacked .cast-confirmation-action,.cast-confirmation-stacked .cast-confirmation-detail,.settings-help-item.is-expanded .settings-preview,.settings-item.is-expanded .settings-preview{display:block}.settings-help-preview,.settings-mini-card{border:1px dashed rgba(255,255,255,.12);border-radius:7px;padding:10px;background:rgba(0,0,0,.22);color:var(--text-primarywithgrey);font-size:.8rem;line-height:1.45}.settings-help-preview{display:flex;flex-direction:column;gap:4px;margin:0 12px 12px}.settings-experience-preview{display:flex;flex-direction:column;gap:7px}.settings-experience-line{min-height:26px;display:block;line-height:1.8}.settings-preview-advanced-dice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-preview-advanced-dice .advanced-dice-row{display:flex;align-items:center;justify-content:space-between;min-height:34px;border-radius:4px;background:rgba(0,0,0,.2);padding:4px 8px}#mobile-tabs,.app-dialog-message:empty,.cast-downcast-options[hidden],.custom-spell-field-error[hidden],.settings-note-comparison .note-dice-chip-close{display:none}.settings-preview-advanced-dice .settings-advanced-dice-label{color:#ccc;font-family:var(--font-mono);font-size:.9rem}.settings-preview-spell{border:1px solid rgba(255,255,255,.08);border-radius:7px;padding:8px;background:rgba(255,255,255,.035)}.settings-preview-spell-name{color:var(--text-primary);font-size:.9rem;font-weight:800;line-height:1.28;overflow-wrap:anywhere}.settings-preview-spell-alias{margin-top:2px;color:var(--text-secondary);font-size:.74rem;font-style:italic;line-height:1.35;overflow-wrap:anywhere}.settings-preview-tags{margin-top:7px}.settings-preview-note{margin-top:7px;color:var(--text-secondary);font-size:.74rem;line-height:1.45}.settings-mini-warning span{border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:3px 8px;background:rgba(255,255,255,.04)}.settings-mini-warning{display:flex;flex-wrap:wrap;gap:8px;color:#fcd34d}.settings-mini-warning strong{flex-basis:100%;color:#fbbf24}#mobile-tabs{background-color:var(--bg-color);border-bottom:1px solid var(--border);flex-shrink:0}.tab-btn{flex:1;text-align:center;padding:12px;background:0 0;color:#888;font-weight:600;cursor:pointer;border:none;border-bottom:3px solid transparent;transition:.2s;font-size:1rem}#tab-library{flex:var(--mobile-library-tab-flex);min-width:0}#tab-party{flex:var(--mobile-party-tab-flex);display:flex;align-items:center;justify-content:center;flex-direction:row;gap:3px;min-width:0;padding:12px 6px}#tab-party.is-filtered .party-mobile-tab-main{color:var(--accent);text-shadow:0 0 8px color-mix(in srgb,var(--accent) 32%,transparent)}.party-mobile-tab-main{flex:0 1 auto;min-width:0;max-width:calc(100% - 20px);display:inline-flex;align-items:center;justify-content:center;gap:3px;line-height:1;white-space:nowrap}#party-mobile-title{min-width:0;overflow:visible;text-overflow:clip;white-space:nowrap}.tab-btn.active{color:#fff;border-bottom-color:var(--accent);background:rgba(255,255,255,.03)}.party-mobile-filter-arrow{display:inline-flex;align-items:center;justify-content:center;flex:0 1 auto;width:18px;height:18px;margin-left:0;border-radius:4px;color:var(--accent);font-size:.8rem;line-height:1;transition:transform .2s,background-color .2s,color .2s,box-shadow .2s}.tab-btn.active .party-mobile-filter-arrow{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.party-mobile-filter-arrow.is-filtered{background:var(--accent);color:var(--accent-text,#fff);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 35%,transparent)}.mobile-party-prepared-filter-menu{display:none;position:absolute;top:calc(100% + 6px);right:54px;z-index:120;width:min(180px,calc(100vw - 24px));padding:6px;border:1px solid color-mix(in srgb,var(--accent) 42%,#333);border-radius:8px;background:color-mix(in srgb,var(--bg-color) 92%,#000);box-shadow:0 12px 26px rgba(0,0,0,.48),0 0 16px color-mix(in srgb,var(--accent) 16%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);gap:4px}.section-title,.spell-slots-hud{border-bottom:1px solid var(--border);display:flex;position:sticky}.mobile-party-prepared-filter-menu.show{display:inline-flex;flex-direction:column}.mobile-party-prepared-filter-menu button{width:100%;border:0;border-radius:5px;padding:9px 10px;background:0 0;color:#d6d6d6;font-size:.88rem;font-weight:600;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px}.mobile-party-prepared-filter-count{font-variant-numeric:tabular-nums}.mobile-party-prepared-filter-note{padding:0 10px 6px 16px;color:#8f8f8f;font-size:.76rem;line-height:1.35;cursor:default;user-select:none}.mobile-party-prepared-filter-divider{height:1px;margin:4px 2px;background:color-mix(in srgb,var(--accent) 28%,#333);opacity:.78}.mobile-party-prepared-filter-footnote{padding:3px 8px 4px;color:#777;font-size:.72rem;line-height:1.35;cursor:default;user-select:none}.mobile-party-prepared-filter-menu button.active{background:var(--accent);color:var(--accent-text,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,#fff 20%,transparent)}#main-container{display:flex;flex:1;overflow:hidden;flex-direction:row}.scroll-section{overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;padding:0 0 150px;transition:none}#main-container.is-resizing #resizer,#main-container.is-resizing .scroll-section{transition:none!important}#library-section{flex:0 0 var(--lib-width);border-right:1px solid var(--border);background-color:var(--bg-color)}#resizer{width:var(--split-resizer-width);cursor:col-resize;z-index:10;transition:width .2s,background-color .2s,box-shadow .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center}#resizer.active,#resizer:hover{background-color:var(--accent);box-shadow:0 0 10px var(--accent)}#resizer::after,#resizer::before{display:none;pointer-events:none}#party-section{flex:0 0 var(--party-width);background-color:#121214;border-left:2px solid var(--accent);display:flex;flex-direction:column;container-type:inline-size}.section-title{font-size:1rem;color:var(--text-sub);margin:0;padding:12px 15px;justify-content:space-between;align-items:center;top:0;background:inherit;z-index:10;min-height:46px;flex-shrink:0}.party-section-title{flex-wrap:wrap;row-gap:8px}.party-title-main-row{display:flex;align-items:center;gap:8px;min-width:0;flex:0 1 auto}.party-prepared-filter-row{flex:0 0 100%;min-width:0;display:flex;align-items:center;padding-top:2px}.spell-slots-hud{top:46px;z-index:9;background:#1a1a1d;padding:8px 15px;font-size:.85rem;color:#ccc;gap:12px;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;cursor:pointer;white-space:nowrap;align-items:center;transition:background .2s;touch-action:pan-x;flex-shrink:0}.spell-slots-hud:hover{background:#222}.spell-slots-hud::-webkit-scrollbar{height:12px}.resource-hud-line>span,.spell-slots-hud>span{flex-shrink:0;white-space:nowrap}.resource-hud-line{display:flex;align-items:center;gap:12px;min-width:0;flex:0 0 auto}.item-hud-title,.slot-hud-title{display:inline-flex;font-weight:700}.slot-hud-title{align-items:center;gap:.32em;margin-right:8px;color:var(--resource-slot-accent);font-family:"Microsoft YaHei","Microsoft YaHei UI",sans-serif}.slot-badge{background:#252529;border:1px solid #444;padding:3px 10px;border-radius:12px;font-family:var(--font-mono);font-weight:700;transition:.2s}.slot-badge.empty{opacity:.5;color:#ef4444;border-color:#522}.resource-hud-divider{color:#666;margin:0 2px}.item-hud-title{align-items:center;gap:.28em;color:var(--resource-item-accent)}.item-resource-empty-hud{color:#666;font-size:.8rem}.item-resource-badge{border-color:color-mix(in srgb,var(--resource-item-accent) 42%,#333)}#slots-modal-body{--resource-row-bg:linear-gradient(180deg, rgba(35, 35, 40, 0.72) 0%, rgba(18, 18, 23, 0.92) 100%);--resource-row-border:rgba(255, 255, 255, 0.09);--resource-row-shadow:inset 0 1px 0 rgba(255,255,255,0.06),0 4px 10px rgba(0,0,0,0.32);--resource-control-bg:rgba(0, 0, 0, 0.22);--resource-control-border:rgba(255, 255, 255, 0.08);--stepper-hit-size:30px;--stepper-visual-size:26px}.resource-modal-section{--resource-accent:var(--resource-slot-accent);display:flex;flex-direction:column;gap:10px}.item-resource-row,.item-resource-section{--resource-accent:var(--resource-item-accent)}.resource-modal-section-title{display:flex;align-items:center;gap:10px;color:color-mix(in srgb,var(--resource-accent) 72%,#e5e7eb);font-size:.88rem;font-weight:700;letter-spacing:.04em}.resource-modal-section-title::after{content:'';height:1px;flex:1 1 auto;background:linear-gradient(90deg,color-mix(in srgb,var(--resource-accent) 38%,transparent),transparent)}.resource-section-icon{width:1.22em;height:1.22em}.item-resource-row,.slot-row{position:relative;display:grid;grid-template-columns:minmax(96px,1fr) auto;align-items:center;gap:12px;min-height:54px;padding:10px 12px 10px 15px;border-radius:8px;border:1px solid var(--resource-row-border);border-left:3px solid color-mix(in srgb,var(--resource-accent) 68%,transparent);background:var(--resource-row-bg);box-shadow:var(--resource-row-shadow);transition:border-color .2s,box-shadow .2s,background .2s}.slot-row{--resource-accent:var(--resource-slot-accent)}.item-resource-row:hover,.slot-row:hover{border-color:color-mix(in srgb,var(--resource-accent) 44%,#555);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 7px 16px rgba(0,0,0,.38)}.slot-label{color:color-mix(in srgb,var(--resource-accent) 82%,#fff);font-weight:800;min-width:0;font-size:1.05rem;letter-spacing:.02em;text-shadow:0 1px 2px rgba(0,0,0,.72)}.resource-row-controls{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;padding:4px;border-radius:9px;border:1px solid var(--resource-control-border);background:var(--resource-control-bg)}.cast-popover-heading,.slot-resource-controls{min-width:0}.spell-slot-row.edit-mode .slot-resource-controls{min-width:176px}.slot-edit-caption{color:#9a8c7a;font-size:.82rem;font-weight:700;min-width:34px;text-align:right}.stepper-btn{appearance:none;-webkit-appearance:none;position:relative;width:var(--stepper-hit-size);height:var(--stepper-hit-size);flex:0 0 var(--stepper-hit-size);border-radius:50%;border:0;background:0 0;color:#d1cbc0;font:inherit;line-height:1;padding:0;display:inline-grid;place-items:center;cursor:pointer;user-select:none;transition:color .16s,transform .1s}.item-resource-current-input,.slot-current-value,.slot-value{min-height:32px;background:rgba(0,0,0,.24);box-shadow:inset 0 2px 4px rgba(0,0,0,.46)}.stepper-btn::before{content:'';position:absolute;left:50%;top:50%;width:var(--stepper-visual-size);height:var(--stepper-visual-size);border-radius:50%;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(60,60,70,.86) 0,rgba(38,38,44,.94) 100%);box-shadow:0 2px 4px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.06);transform:translate(-50%,-50%);transition:border-color .16s,background .16s,box-shadow .16s,transform .1s}.stepper-icon{position:relative;z-index:1;width:calc(var(--stepper-visual-size) * .58);height:calc(var(--stepper-visual-size) * .58);display:block;color:currentColor;pointer-events:none;overflow:visible}.stepper-btn:hover::before{border-color:color-mix(in srgb,var(--resource-accent) 48%,#777);box-shadow:0 4px 8px rgba(0,0,0,.44),0 0 10px color-mix(in srgb,var(--resource-accent) 18%,transparent)}.stepper-btn:active::before{background:color-mix(in srgb,var(--resource-accent) 28%,#24242a);box-shadow:inset 0 2px 4px rgba(0,0,0,.6)}.stepper-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--resource-accent) 72%,#ffffff);outline-offset:2px}.slot-value{font-family:var(--font-mono);font-size:1.08rem;font-weight:700;letter-spacing:.04em;width:82px;white-space:nowrap;border-radius:5px;border:1px solid rgba(255,255,255,.08);color:#f0e6d2;display:inline-flex;align-items:center;justify-content:center}.item-resource-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}.item-resource-name{color:#f0e6d2;font-family:var(--font-display);font-weight:800;font-size:1.05rem;letter-spacing:.03em;text-shadow:0 1px 2px rgba(0,0,0,.8)}.item-resource-note{color:#9a8c7a;font-family:var(--font-reading);font-size:.85rem;line-height:1.4;white-space:normal;word-break:break-word}#source-select-container,.item-resource-controls,.item-resource-value{flex:0 0 auto}.item-resource-current-input,.slot-current-value{width:54px;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:5px;color:#f0e6d2;font-family:var(--font-mono);font-size:1.08rem;font-weight:700;text-align:center;transition:border-color .2s,box-shadow .2s}.slot-current-value{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;user-select:none}.item-resource-current-input:focus{outline:0;border-color:color-mix(in srgb,var(--resource-accent) 72%,#fff);box-shadow:inset 0 2px 4px rgba(0,0,0,.5),0 0 0 2px color-mix(in srgb,var(--resource-accent) 20%,transparent)}.spell-slot-row.is-empty .slot-current-value{color:#ff5a66;border-color:rgba(239,68,68,.28);background:rgba(88,22,28,.18)}.item-resource-max{color:#9a8c7a;font-family:var(--font-mono);font-weight:700;font-size:1rem;white-space:nowrap;min-width:30px;text-align:left}.resource-rest-note{margin-top:7px;color:#a3a3a3;font-size:.82rem;text-align:center}.item-resource-edit-row{--resource-accent:var(--resource-item-accent);display:grid;grid-template-columns:minmax(0,1fr);gap:11px;padding:14px;border:1px solid var(--resource-row-border);border-left:3px solid color-mix(in srgb,var(--resource-accent) 68%,transparent);border-radius:8px;background:var(--resource-row-bg);box-shadow:var(--resource-row-shadow);position:relative;overflow:visible}.item-resource-edit-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}.item-resource-preset-control{position:relative;display:flex;align-items:flex-start;gap:6px;min-width:0;flex:1 1 auto}.item-resource-edit-actions{display:flex;justify-content:flex-end;gap:6px;flex:0 0 auto}.item-resource-edit-actions .btn-reset,.item-resource-preset-control .btn-reset{min-width:32px;min-height:30px;padding:4px 8px;border-radius:4px;font-size:.8rem;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.1);color:#a3a3a3;box-shadow:none;transition:.2s}.item-resource-edit-actions .btn-reset:hover,.item-resource-preset-control .btn-reset:hover,.item-resource-preset-trigger.is-open{background:color-mix(in srgb,var(--resource-accent) 14%,rgba(255,255,255,.05));border-color:color-mix(in srgb,var(--resource-accent) 38%,#555);color:#fff}.item-resource-preset-trigger{color:color-mix(in srgb,var(--resource-accent) 72%,#d1cbc0)!important;border-color:color-mix(in srgb,var(--resource-accent) 28%,rgba(255,255,255,.1))!important}.item-resource-preset-undo-btn{white-space:nowrap;color:#bfdbfe!important;border-color:rgba(96,165,250,.34)!important}.item-resource-preset-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:calc(var(--z-modal) + 1);width:min(360px,calc(100vw - 64px));max-height:240px;overflow-y:auto;padding:6px;border:1px solid var(--resource-row-border);border-radius:7px;background:var(--dropdown-bg);box-shadow:0 10px 24px rgba(0,0,0,.62)}.item-resource-preset-menu.show{display:grid;gap:6px;animation:.15s ease-out fadeIn}.item-resource-preset-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;width:100%;min-height:48px;padding:8px 10px;border:1px solid rgba(240,230,210,.14);border-radius:7px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(0,0,0,.13)),#23202d;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.item-resource-preset-option:focus-visible{outline:0;border-color:color-mix(in srgb,var(--resource-accent) 52%,#f8e9b0);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(0,0,0,.08)),#2a2438}.item-resource-preset-title{min-width:0;font-weight:800;line-height:1.2}.item-resource-preset-summary{color:#cbd5e1;font-family:var(--font-mono);font-weight:700;white-space:nowrap}.item-resource-preset-note{grid-column:1/-1;color:#a3a3a3;font-size:.75rem;line-height:1.3}.item-resource-delete-btn{color:#fca5a5!important;border-color:rgba(252,165,165,.3)!important}.item-resource-delete-btn:hover{background:rgba(252,165,165,.15)!important;color:#fecaca!important}.item-resource-edit-field{display:flex;flex-direction:column;gap:6px;color:color-mix(in srgb,var(--resource-accent) 55%,#b9ad9a);font-size:.85rem;font-weight:700}.item-resource-edit-field input,.item-resource-edit-field textarea{width:100%;min-height:40px;box-sizing:border-box;padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:rgba(0,0,0,.28);color:#f0e6d2;font-family:var(--font-ui);font-size:.95rem;box-shadow:inset 0 2px 5px rgba(0,0,0,.42);transition:border-color .2s,box-shadow .2s}.item-resource-edit-field textarea{min-height:64px;resize:vertical;font-family:var(--font-reading)}.item-resource-edit-field input:focus,.item-resource-edit-field textarea:focus{outline:0;border-color:color-mix(in srgb,var(--resource-accent) 70%,#fff);box-shadow:inset 0 2px 5px rgba(0,0,0,.46),0 0 0 2px color-mix(in srgb,var(--resource-accent) 18%,transparent)}.item-resource-edit-field input:disabled{opacity:.5;cursor:not-allowed;background:rgba(0,0,0,.6)}.item-resource-number-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.item-resource-infinite-field{display:inline-flex;align-items:center;gap:8px;color:#d1cbc0;font-size:.85rem;margin-top:4px;cursor:pointer;user-select:none}.item-resource-infinite-toggle{appearance:none;width:18px;height:18px;border:1px solid rgba(255,255,255,.3);border-radius:4px;background:rgba(0,0,0,.4);cursor:pointer;position:relative;box-shadow:inset 0 1px 3px rgba(0,0,0,.6);transition:.2s}.item-resource-infinite-toggle:checked{background:var(--resource-accent);border-color:var(--resource-accent);box-shadow:0 0 8px color-mix(in srgb,var(--resource-accent) 40%,transparent)}.item-resource-infinite-toggle:checked::after{content:'';position:absolute;left:5px;top:1px;width:4px;height:9px;border:solid #111;border-width:0 2px 2px 0;transform:rotate(45deg)}#slots-modal-overlay .item-resource-add-btn{margin-top:8px;min-height:44px;background:linear-gradient(180deg,rgba(40,40,50,.8),rgba(25,25,30,.95));border:1px dashed rgba(255,255,255,.2);color:#d1cbc0;font-family:var(--font-display);font-weight:600;letter-spacing:.05em;box-shadow:none}#slots-modal-overlay .item-resource-add-btn:hover{background:rgba(255,255,255,.05);border-color:var(--resource-accent);color:var(--resource-accent);box-shadow:0 0 10px color-mix(in srgb,var(--resource-accent) 20%,transparent)}.slots-edit-mode .slot-row{border-color:var(--dice-link-color);background:#242018}.slots-edit-mode .stepper-btn::before{background:#4a3600;border-color:var(--dice-link-color)}.slots-edit-mode .stepper-btn:active::before{background:var(--dice-link-color)}.view-toggles{display:flex;gap:2px;background:#222;padding:3px;border-radius:6px;border:1px solid #444}.party-prepared-filter button,.view-btn{background:0 0;line-height:1;cursor:pointer}.view-btn{border:none;color:#888;padding:4px 8px;font-size:1.1rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:.2s}.party-prepared-filter button:hover,.view-btn:hover{color:#fff;background:#333}#library-count,#party-desktop-count{display:inline-block;width:2.6em;min-width:2.6em}.party-prepared-filter{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid #444;border-radius:6px;background:#222;min-height:33px;max-width:100%;transition:border-color .2s,box-shadow .2s}.party-prepared-filter.is-filtered{border-color:color-mix(in srgb,var(--accent) 78%,#333);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 20%,transparent)}.party-prepared-filter button{border:0;border-radius:4px;color:#9a9a9a;padding:4px 7px;font-size:.76rem;font-weight:600;min-height:25px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;transition:background-color .2s,color .2s,box-shadow .2s}.party-prepared-filter-count{display:inline-block;min-width:1.15em;text-align:right;font-variant-numeric:tabular-nums}.party-prepared-filter-breakdown{color:currentColor;opacity:.82;font-size:.92em;font-weight:500;transform:translateY(1px)}.party-prepared-filter button.active{color:var(--accent-text,#fff);background:var(--accent);box-shadow:0 0 9px color-mix(in srgb,var(--accent) 28%,transparent)}@container (max-width:420px){.party-prepared-filter-breakdown{display:none}}.spell-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;padding:15px}.party-full-grid{grid-template-columns:1fr!important}.party-table-row.hidden,.spell-card.hidden{display:none!important}.party-table-row{transition:background-color .2s}.party-table-row:hover{background-color:rgba(255,255,255,.05)}.no-results-msg{display:none;text-align:center;padding:40px 20px;color:#666;font-size:.9rem;width:100%}.spell-card{background-color:var(--bg-parchment);border:1px solid var(--border-subtle);border-radius:6px;padding:16px 14px;position:relative;transition:transform .25s cubic-bezier(.2, .9, .4, 1),box-shadow .3s,border-color .2s;min-width:0;box-shadow:var(--card-shadow);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);overflow:hidden}.spell-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.8}.spell-card.prepared::after{content:'';position:absolute;top:0;bottom:0;left:0;width:5px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 92%,#fff),var(--accent));box-shadow:0 0 12px color-mix(in srgb,var(--accent) 68%,transparent);opacity:.95;pointer-events:none}.spell-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.8),0 0 0 1px var(--accent) inset;border-color:var(--accent)}.spell-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:6px;padding-right:25px;gap:5px}.spell-name{font-size:1rem;color:var(--text-primary);line-height:1.2}.icon-btn{background:0 0;border:none;cursor:pointer;width:24px;height:24px;padding:0;margin-left:5px;line-height:1;color:var(--accent);display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;transition:color .2s,transform .2s,filter .2s}.spell-action-icon{width:21px;height:21px;display:block;flex:0 0 auto;pointer-events:none}.pin-btn{color:color-mix(in srgb,var(--pin-color) 76%,#000)}.pin-btn .pin-mark{transform:rotate(-42deg);transform-origin:12px 12px;transition:transform .24s cubic-bezier(.2, .8, .2, 1)}.pin-btn.active{color:var(--pin-color);filter:drop-shadow(0 0 5px color-mix(in srgb, var(--pin-color) 45%, transparent))}.cast-downcast-toggle.is-expanded .cast-option-main::after,.pin-btn.active .pin-mark{transform:rotate(0)}.pin-btn:hover{color:color-mix(in srgb,var(--pin-color) 68%,#fff)}.pin-btn.active:hover{color:color-mix(in srgb,var(--pin-color) 70%,#fff)}.edit-btn,.remove-btn{color:color-mix(in srgb,var(--accent) 82%,#aaa)}.edit-btn:hover,.remove-btn:hover{color:color-mix(in srgb,var(--accent) 70%,#fff);filter:drop-shadow(0 0 3px var(--accent))}.prepared-btn{color:#facc15}.prepared-btn.active{color:#93c5fd}.prepared-btn.resident{color:#60a5fa}.prepared-btn:hover{transform:translateY(-1px);filter:drop-shadow(0 0 4px rgba(250, 204, 21, .55))}.prepared-btn.active:hover{filter:drop-shadow(0 0 5px rgba(147, 197, 253, .6))}.prepared-btn.resident:hover{transform:none;filter:drop-shadow(0 0 4px rgba(96, 165, 250, .5))}.prepared-btn.locked,.prepared-btn.resident,.prepared-btn:disabled{cursor:default;opacity:1;transform:none;filter:none}.cast-btn{color:#c4b5fd}.cast-btn:hover{transform:translateY(-1px);color:#ddd6fe;filter:drop-shadow(0 0 5px rgba(196, 181, 253, .55))}.custom-spell-action-modal{margin-left:10px}#custom-modal-title .edit-icon{color:var(--accent);margin-right:6px}.mobile-action-toggle-icons{display:inline-flex;align-items:center;justify-content:center;gap:2px;min-width:42px;line-height:1;color:inherit}.mobile-action-toggle-icons .spell-action-icon{width:20px;height:20px}#party-section .party-table th .mobile-action-toggle-icons{min-width:0;height:1em;gap:1px;vertical-align:middle;transform:translateY(-1px)}#party-section .party-table th .mobile-action-toggle-icons .spell-action-icon{width:1em!important;height:1em!important}#party-section .party-table th .mobile-action-toggle-separator{font-size:1em}.mobile-action-toggle-icons .pin-mark{transform:rotate(-42deg);transform-origin:12px 12px;color:inherit}.mobile-action-toggle-separator{color:inherit;font-size:.8rem;line-height:1}.tags-row{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}.spell-meta{font-size:.85rem;color:#aaa;margin-bottom:8px;line-height:1.5}.meta-row{margin-bottom:2px;display:flex;flex-wrap:wrap}.meta-label{color:#666;margin-right:6px;font-weight:500;min-width:40px}.meta-val{color:var(--text-primary)}.cast-tag,.meta-label,.meta-val,.party-table .td-class,.party-table .td-comp,.party-table .td-dur,.party-table .td-level,.party-table .td-name,.party-table .td-range,.party-table .td-school,.party-table .td-source,.party-table .td-time,.prepared-tag,.spell-aliases,.spell-meta,.tag{font-family:var(--font-yahei)!important}.spell-desc{color:#ccc;margin-bottom:6px;margin-top:8px;border-top:1px solid #444;padding-top:8px;display:block;max-height:6em;overflow:hidden}.btn-add,.desc-toggle-btn{border:none;cursor:pointer}.spell-desc font[color="#800000"i],.spell-desc font[color="#800080"i]{color:var(--accent)!important}.spell-desc.expanded{max-height:none;overflow-x:auto;overflow-y:hidden;padding-bottom:5px}.spell-desc table,.spell-desc td,.spell-desc th{border-color:var(--accent)!important}.spell-desc p{margin-bottom:.8em;text-indent:2em}.spell-desc .desc-paragraph-break{display:block;margin-top:.8em}.spell-desc .desc-line-indent{display:inline-block;width:2em}.spell-desc table p,.spell-desc td p,.spell-desc th p{text-indent:0}.spell-desc p:last-child{margin-bottom:0!important}.desc-toggle-btn{background:0 0;color:var(--accent);padding:0;font-size:.85rem;margin-bottom:10px;display:none}.btn-add{background-color:var(--accent);color:var(--accent-text,#fff);padding:8px;width:100%;border-radius:4px}.btn-add:disabled{background-color:#3a3a3d}.btn-remove-icon{position:absolute;top:10px;right:10px;background:0 0;border-radius:0;width:24px;height:24px;margin-left:0}.action-links span.disabled:hover,.btn-remove-icon:hover{background:0 0}.tag{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border-radius:12px;font-family:var(--font-display);font-size:.72rem;font-weight:600;letter-spacing:.05em;white-space:nowrap;backdrop-filter:blur(4px);text-shadow:0 1px 3px rgba(0,0,0,.9);border:1px solid transparent;transition:.3s}.prepared-tag-icon,.tag-icon{flex:0 0 auto;width:1.56em;height:1.56em}.tag-icon{margin-right:4px;opacity:.82;filter:drop-shadow(0 0 3px color-mix(in srgb, currentColor 35%, transparent))}.prepared-tag{gap:3px;color:color-mix(in srgb,var(--accent) 65%,#8b8b8b);border-color:color-mix(in srgb,var(--accent) 28%,#333);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,rgba(0,0,0,.68)),rgba(12,12,15,.58));box-shadow:inset 0 0 10px rgba(0,0,0,.25)}.prepared-tag.prepared{color:color-mix(in srgb,var(--accent) 70%,#fff);border-color:color-mix(in srgb,var(--accent) 62%,#fff);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 28%,rgba(0,0,0,.55)),color-mix(in srgb,var(--accent) 12%,rgba(255,255,255,.08)));box-shadow:inset 0 0 12px color-mix(in srgb,var(--accent) 16%,transparent),0 0 8px color-mix(in srgb,var(--accent) 24%,transparent)}.prepared-tag.resident{color:#93c5fd;border-color:rgba(147,197,253,.72);background:linear-gradient(135deg,rgba(37,99,235,.24),rgba(12,12,15,.58));box-shadow:inset 0 0 12px rgba(59,130,246,.16),0 0 8px rgba(96,165,250,.18)}.cast-tag:hover,.prepared-tag:not(.resident):hover{transform:translateY(-1px);filter:brightness(1.12)}.prepared-tag.locked,.prepared-tag.resident,.prepared-tag:disabled{cursor:default;opacity:1;filter:none}.prepared-tag-icon{filter:drop-shadow(0 0 3px rgba(255, 255, 255, .25))}.cast-tag{gap:3px;color:#ddd6fe;border-color:rgba(196,181,253,.55);background:linear-gradient(135deg,rgba(76,29,149,.28),rgba(20,20,23,.62));box-shadow:inset 0 0 12px rgba(124,58,237,.16),0 0 8px rgba(167,139,250,.12)}.cast-tag-icon{width:1.56em;height:1.56em;flex:0 0 auto}.tag.level-0{background:linear-gradient(135deg,rgba(156,163,175,.15),rgba(75,85,99,.05));color:#e5e7eb;border-color:rgba(156,163,175,.3);box-shadow:inset 0 0 8px rgba(156,163,175,.05)}.tag.level-low{background:linear-gradient(135deg,rgba(59,130,246,.15),rgba(29,78,216,.05));color:#bfdbfe;border-color:rgba(59,130,246,.3);box-shadow:inset 0 0 8px rgba(59,130,246,.1)}.tag.level-mid{background:linear-gradient(135deg,rgba(139,92,246,.15),rgba(109,40,212,.05));color:#ddd6fe;border-color:rgba(139,92,246,.3);box-shadow:inset 0 0 8px rgba(139,92,246,.1)}.tag.level-high{background:linear-gradient(135deg,rgba(225,29,72,.15),rgba(159,18,57,.05));color:#fecdd3;border-color:rgba(225,29,72,.4);box-shadow:inset 0 0 8px rgba(225,29,72,.15),0 0 6px rgba(225,29,72,.15)}.tag.feature{background:linear-gradient(135deg,rgba(16,185,129,.15),rgba(4,120,87,.05));color:#a7f3d0;border-color:rgba(16,185,129,.3);box-shadow:inset 0 0 8px rgba(16,185,129,.1)}.note-area{margin-top:0;padding-top:0}.note-input{width:100%;background:#18181b;border:1px solid #444;color:var(--accent);padding:6px;border-radius:4px;font-size:.85rem;font-family:inherit}#custom-spell-modal .note-input,#custom-spell-modal .note-input option{font-family:var(--font-yahei)}#custom-spell-modal .note-input::placeholder{font-family:var(--font-ui)}.custom-spell-modal-content{max-width:500px}.custom-spell-form{margin-top:15px;display:flex;flex-direction:column;gap:10px}.custom-spell-field{display:flex;flex-direction:column}.advanced-dice-btn.minus,.custom-spell-required{color:#ef4444}.custom-spell-classes{display:flex;gap:12px;flex-wrap:wrap;margin-top:5px;padding:5px;background:rgba(0,0,0,.2);border:1px solid #444;border-radius:4px;transition:border-color .18s,box-shadow .18s,background .18s}.custom-spell-custom-class-row{margin-top:8px;display:flex;align-items:center;gap:8px}.custom-spell-custom-class-label{color:#ccc;cursor:pointer;white-space:nowrap}.custom-spell-custom-class-row .note-input{flex:1;min-width:0}.custom-spell-field-error{margin-top:5px;color:#fca5a5;font-size:.76rem;line-height:1.45;overflow-wrap:anywhere}#custom-spell-modal .custom-spell-classes.is-invalid,#custom-spell-modal .note-input.is-invalid{border-color:#ef4444;background:rgba(24,24,27,.98);box-shadow:0 0 0 1px rgba(239,68,68,.28),0 0 14px rgba(239,68,68,.14)}.custom-source-input-row{display:flex;align-items:stretch;gap:8px;position:relative}.custom-spell-quick-input-row{display:flex;align-items:stretch;gap:6px;position:relative}.custom-source-prefix,.custom-spell-quick-trigger{display:inline-flex;min-height:32px;background:rgba(0,0,0,.2);color:#ccc;white-space:nowrap;appearance:none;font-family:inherit}.custom-source-prefix{align-items:center;flex:0 0 auto;padding:0 10px;border:1px solid #444;border-radius:4px;font-size:.85rem;cursor:default;opacity:1}.custom-spell-quick-trigger{align-items:center;justify-content:center;flex:0 0 auto;padding:0 8px;border:1px solid #444;border-radius:4px;font-size:.82rem;cursor:pointer}.custom-source-package-menu,.custom-spell-quick-menu{display:none;position:absolute;top:calc(100% + 5px);z-index:calc(var(--z-modal) + 1);padding:5px 0;background:var(--dropdown-bg);box-shadow:0 8px 16px rgba(0,0,0,.6);overflow-y:auto;left:0}.custom-source-prefix:not(:disabled){cursor:pointer}.custom-source-prefix.is-open,.custom-source-prefix:not(:disabled):hover,.custom-spell-quick-trigger.is-open,.custom-spell-quick-trigger:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,rgba(0,0,0,.2))}.custom-source-package-menu{width:min(320px,100%);max-height:220px;border:1px solid var(--border);border-radius:4px}.custom-spell-quick-menu{width:min(220px,100%);max-height:180px;border:1px solid var(--border);border-radius:4px}.custom-source-package-option,.custom-spell-quick-option{display:block;width:100%;padding:8px 12px;border:0;border-bottom:1px solid #444;background:0 0;color:var(--text-primary);font-family:inherit;font-size:.85rem;text-align:left;cursor:pointer;overflow-wrap:anywhere}.custom-source-package-option:last-child,.custom-spell-quick-option:last-child{border-bottom:0}.note-editor:focus,.note-input:focus{border-color:var(--accent);background:#000}.custom-source-input-row .note-input,.custom-spell-quick-input-row .note-input{flex:1 1 auto;min-width:0}.custom-source-help{margin-top:4px;color:#888;font-size:.75rem;line-height:1.45}.note-input:focus{outline:0}#custom-spell-modal .note-input.is-invalid:focus{border-color:#ef4444;box-shadow:0 0 0 1px rgba(239,68,68,.34),0 0 16px rgba(239,68,68,.18)}.note-editor{width:100%;min-height:32px;background:#18181b;border:1px solid #444;color:var(--accent);padding:6px;border-radius:4px;font-size:.85rem;font-family:"Microsoft YaHei","Microsoft YaHei UI",sans-serif;line-height:1.5;outline:0;white-space:pre-wrap;overflow-wrap:anywhere;cursor:text}.note-editor:empty::before{content:attr(data-placeholder);color:#777;pointer-events:none}.note-dice-chip{display:inline-flex;align-items:center;gap:3px;margin:0 2px;line-height:1.35;white-space:nowrap;vertical-align:baseline;user-select:none;-webkit-user-select:none}.note-dice-chip-close{color:#aaa;cursor:pointer;font-size:.8em;line-height:1;padding-left:2px}.empty-state{text-align:center;color:#666;margin-top:30px;font-size:.9rem;padding:0 20px}.action-links span{margin-left:10px;cursor:pointer;font-family:var(--font-reading);color:rgba(240,230,210,.7);color:color-mix(in srgb,var(--text-primary) 70%,transparent);font-style:normal;font-weight:400;font-size:.8rem;user-select:none;padding:2px 6px;border-radius:4px;display:inline-flex;align-items:center;gap:0;vertical-align:middle}.action-link-icon{width:1.56em;height:1.56em;display:inline-block;flex:0 0 auto;stroke:currentColor}.action-links span:hover{background:rgba(255,255,255,.1)}.action-links span.disabled{cursor:default;pointer-events:none}.action-links span.disabled .action-link-icon{opacity:.35;filter:grayscale(1)}.spell-link{color:var(--accent);text-decoration-style:dotted;cursor:pointer;font-weight:500;transition:color .2s}.spell-link:hover{color:var(--text-primary);text-decoration-style:solid}.dice-link{color:var(--dice-link-color);font-weight:700;cursor:pointer;padding:0 2px;border:1px dashed rgba(252,163,17,.4);border-radius:3px;transition:.2s}.dice-link:hover{background-color:rgba(252,163,17,.2);border-style:solid}.damage-badge{font-weight:500;padding:0 2px;border:1px dashed;border-radius:3px;white-space:nowrap}.condition-link{display:inline;padding:0 .18em;border-radius:.35em;border-bottom:1px dotted color-mix(in srgb,var(--accent) 72%,#fff);color:color-mix(in srgb,var(--accent) 78%,#fff);cursor:help;font-weight:600;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s}.condition-link:hover{color:var(--text-primary);background:color-mix(in srgb,var(--accent) 16%,transparent);border-bottom-color:var(--accent)}.condition-popover{position:fixed;z-index:3500;width:min(320px,calc(100vw - 24px));max-height:min(420px,calc(100vh - 24px));overflow-y:auto;background:rgba(24,24,27,.98);color:#e5e7eb;border:1px solid color-mix(in srgb,var(--accent) 55%,#444);border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.55),0 0 18px color-mix(in srgb,var(--accent) 18%,transparent);padding:12px;font-family:var(--font-ui);font-size:.88rem;line-height:1.55}.condition-popover-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}.condition-popover-title{color:var(--accent);font-family:var(--font-display);font-weight:800;font-size:1rem;letter-spacing:.04em}.condition-popover-subtitle{color:#a1a1aa;font-size:.76rem;margin-top:2px}.condition-popover-close{border:none;background:0 0;color:#a1a1aa;font-size:1.1rem;cursor:pointer;line-height:1;padding:2px 4px}.condition-popover-summary{color:#f4f4f5;margin-bottom:8px}.condition-popover-rules{margin:0;padding-left:1.15em}.condition-popover-rules li{margin:4px 0}.condition-popover-source{margin-top:8px;color:#71717a;font-size:.72rem;text-align:right}@keyframes popoverSlideUp{to{transform:translateY(0);opacity:1}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(5,5,8,.85)!important;backdrop-filter:blur(6px)!important;-webkit-backdrop-filter:blur(6px)!important;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .2s}#dice-result-overlay{z-index:2500}.modal-content{background-color:var(--card-bg);border:1px solid var(--accent);border-radius:8px;padding:20px;width:100%;max-width:450px;max-height:85vh;overflow-y:auto;position:relative;box-shadow:0 20px 50px #000,0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 0 30px color-mix(in srgb,var(--accent) 15%,transparent)!important;transform:scale(.95);transition:transform .2s}.modal-overlay.show .modal-content{transform:scale(1)}.currency-settings-icon{overflow:visible}.currency-setting-coin,.currency-title-coin{display:block;width:32px;height:32px}#currency-calculator-overlay{padding:14px}.currency-calculator-content{width:min(410px,100%);max-width:410px;max-height:min(92dvh,760px);display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:16px;border-color:color-mix(in srgb,var(--accent) 72%,#d49a20);background:radial-gradient(circle at 20% -8%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 34%),linear-gradient(180deg,rgba(39,38,34,.98),rgba(18,18,20,.98))}.currency-calculator-header{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center;padding-right:28px}.currency-title-coin{width:46px;height:46px}.currency-calculator-title{color:var(--text-primary);font-family:var(--font-display);font-size:1.2rem;font-weight:800;line-height:1.25}.currency-calculator-desc,.currency-calculator-footnote,.currency-calculator-status{color:var(--text-secondary);font-size:.78rem;line-height:1.45}.currency-calculator-list{display:grid;gap:8px}.currency-calculator-row{width:100%;min-height:58px;display:grid;grid-template-columns:48px minmax(0,1fr) minmax(82px,auto);gap:10px;align-items:center;padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.045);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;transition:border-color .15s,background .15s,transform .12s}.currency-calculator-row:focus-visible,.currency-calculator-row:hover{border-color:color-mix(in srgb,var(--accent) 58%,#fff);background:rgba(255,255,255,.075);outline:0}.currency-calculator-row.is-active{border-color:color-mix(in srgb,var(--accent) 80%,#fff);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 18%,transparent),rgba(255,255,255,.05));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.currency-row-coin{display:block;width:46px;height:46px}.currency-row-copy{min-width:0;display:grid;gap:2px}.currency-row-code{color:var(--text-primary);font-size:1rem;font-weight:850;line-height:1.1}.currency-row-name{min-width:0;color:var(--text-secondary);font-size:.74rem;line-height:1.25;overflow-wrap:anywhere}.currency-row-value{min-width:0;color:color-mix(in srgb,var(--accent) 44%,#f4f4f5);font-family:var(--font-mono);font-size:1.35rem;font-weight:650;line-height:1.1;text-align:right;overflow-wrap:anywhere}.currency-calculator-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:2px}.currency-key{min-height:52px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.065);color:var(--text-primary);font:inherit;font-size:1.35rem;font-weight:720;cursor:pointer;touch-action:manipulation;transition:transform .1s,background .15s,border-color .15s}.currency-key:focus-visible,.currency-key:hover{border-color:color-mix(in srgb,var(--accent) 52%,#fff);background:rgba(255,255,255,.1);outline:0}.currency-key-backspace{color:color-mix(in srgb,var(--accent) 56%,#f4f4f5);font-size:1.15rem}.app-dialog-overlay{position:fixed;inset:0;z-index:var(--z-app-dialog);display:none;align-items:center;justify-content:center;padding:20px;background:rgba(5,5,8,.88);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:0;transition:opacity .18s;overscroll-behavior:contain}.app-dialog{width:min(440px,100%);max-height:min(86vh,620px);display:flex;flex-direction:column;gap:14px;position:relative;padding:20px;border:1px solid var(--accent);border-radius:8px;background:radial-gradient(circle at 18% -10%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 36%),linear-gradient(180deg,rgba(45,45,51,.98),rgba(26,26,29,.98));box-shadow:0 24px 60px rgba(0,0,0,.95),0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent),0 0 34px color-mix(in srgb,var(--accent) 14%,transparent);transform:scale(.96) translateY(6px);transition:transform .18s;touch-action:auto}.app-dialog-overlay.show .app-dialog{transform:scale(1) translateY(0)}.app-dialog-close{position:absolute;top:10px;right:14px;width:32px;height:32px;border:none;background:0 0;color:color-mix(in srgb,var(--accent) 82%,#aaa);font-size:1.45rem;line-height:1;cursor:pointer;transition:color .2s,text-shadow .2s}.app-dialog-close:focus-visible,.app-dialog-close:hover{color:color-mix(in srgb,var(--accent) 70%,#fff);text-shadow:0 0 5px var(--accent);outline:0}.app-dialog-header{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start;padding-right:26px}.app-dialog-icon-wrap{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;background:rgba(0,0,0,.22);border:1px solid color-mix(in srgb,var(--accent) 36%,#444)}.app-dialog-icon{width:1.5rem;height:1.5rem}.app-dialog-title{color:var(--text-primary);font-family:var(--font-display);font-size:1.12rem;font-weight:700;line-height:1.3;word-break:break-word}.app-dialog-subtitle{margin-top:3px;color:var(--text-secondary);font-size:.82rem;line-height:1.35}.app-dialog-message{max-height:min(52vh,360px);overflow-y:auto;overscroll-behavior:contain;color:var(--text-primarywithgrey);font-size:.94rem;line-height:1.65;white-space:pre-wrap;word-break:break-word;padding:10px 12px;border:1px solid rgba(255,255,255,.06);border-radius:6px;background:rgba(0,0,0,.18)}.app-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding-bottom:env(safe-area-inset-bottom,0)}.app-dialog-btn{min-height:40px;min-width:94px;border-radius:6px;border:1px solid #555;padding:8px 14px;font-family:var(--font-ui);font-size:.92rem;font-weight:700;cursor:pointer;transition:transform .12s,filter .18s,box-shadow .18s}.app-dialog-btn:hover{filter:brightness(1.08)}.app-dialog-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 74%,white);outline-offset:2px}.app-dialog-btn-secondary{background:#2b2d34;color:#e5e7eb;border-color:#555866}.app-dialog-btn-primary{background:var(--accent);color:var(--accent-text,#fff);border-color:color-mix(in srgb,var(--accent) 72%,#fff);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 20%,transparent)}.app-dialog.is-danger{border-color:#ef4444}.app-dialog.is-danger .app-dialog-icon-wrap{border-color:rgba(248,113,113,.55)}.app-dialog.is-danger .app-dialog-btn-primary{background:#dc2626;color:#fff;border-color:#fca5a5;box-shadow:0 0 18px rgba(239,68,68,.22)}.app-dialog.is-warning{border-color:#f59e0b}.app-dialog.is-warning .app-dialog-icon-wrap{border-color:rgba(245,158,11,.6)}.app-dialog.is-warning .app-dialog-btn-primary{background:#f59e0b;color:#111827;border-color:#fde68a;box-shadow:0 0 18px rgba(245,158,11,.22)}.app-dialog.is-success{border-color:#10b981}.app-dialog.is-success .app-dialog-icon-wrap{border-color:rgba(16,185,129,.58)}.app-dialog.is-success .app-dialog-btn-primary{background:#10b981;color:#06281d;border-color:#86efac;box-shadow:0 0 18px rgba(16,185,129,.22)}#dice-result-content{border-color:var(--dice-link-color);text-align:center;max-width:350px}.dice-result-title{color:#aaa;font-size:.9rem;margin-bottom:10px;word-break:break-all}.dice-result-details{color:#ddd;font-family:var(--font-mono);font-size:1rem;margin-bottom:10px;line-height:1.5;text-align:left;background:rgba(0,0,0,.2);padding:8px;border-radius:4px}.dice-sub-info{color:#888;font-size:.9rem;margin-bottom:4px}.dice-result-total{font-size:2.5rem;font-weight:700;color:var(--dice-link-color);margin-top:5px}.modal-close{position:absolute;top:10px;right:15px;background:0 0;border:none;color:color-mix(in srgb,var(--accent) 82%,#aaa);font-size:1.5rem;cursor:pointer;z-index:10;text-shadow:none;transition:color .2s,text-shadow .2s}.modal-close:hover{color:color-mix(in srgb,var(--accent) 70%,#fff);text-shadow:0 0 5px var(--accent)}.modal-content .spell-desc{display:block!important;max-height:none!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;overflow-y:visible!important}.cast-popover{position:absolute;z-index:2060;width:min(348px,calc(100vw - 24px));max-height:min(72vh,560px);overflow-y:auto;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 42%,rgba(212,175,55,.52));border-radius:8px;background:radial-gradient(circle at 18% -8%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 34%),linear-gradient(180deg,rgba(37,40,50,.98),rgba(13,15,18,.98));box-shadow:0 18px 42px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.06) inset,0 0 20px color-mix(in srgb,var(--accent) 16%,transparent)}.cast-popover-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:10px;padding:9px 10px;border:1px solid rgba(212,175,55,.22);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(0,0,0,.16)),rgba(13,15,18,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.cast-popover-mark{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--accent) 42%,rgba(212,175,55,.34));border-radius:8px;color:color-mix(in srgb,var(--accent) 72%,#f8e9b0);background:rgba(0,0,0,.24);box-shadow:inset 0 0 12px color-mix(in srgb,var(--accent) 13%,transparent),0 0 12px rgba(0,0,0,.28)}.cast-popover-icon{width:1.35em;height:1.35em;filter:drop-shadow(0 0 5px color-mix(in srgb, currentColor 30%, transparent))}.cast-popover-eyebrow{color:var(--text-secondary);font-size:.68rem;font-family:var(--font-display);font-weight:600;letter-spacing:.08em;line-height:1.1}.cast-popover-title{color:var(--text-primary);font-family:var(--font-display);font-weight:700;font-size:1.02rem;line-height:1.22;overflow-wrap:anywhere;text-shadow:0 1px 2px rgba(0,0,0,.82)}.cast-popover-level{align-self:center;border:1px solid color-mix(in srgb,var(--accent) 45%,rgba(212,175,55,.45));border-radius:999px;padding:3px 8px;color:#fef3c7;background:rgba(0,0,0,.22);font-family:var(--font-mono);font-size:.72rem;font-weight:700;line-height:1;white-space:nowrap}.cast-warning{margin-bottom:10px;padding:8px 10px;border:1px solid rgba(245,158,11,.58);border-radius:6px;background:linear-gradient(90deg,rgba(245,158,11,.18),rgba(245,158,11,.06));color:#fcd34d;font-size:.82rem;line-height:1.35}.cast-option-group+.cast-option-group{margin-top:10px;padding-top:10px;border-top:1px solid rgba(212,175,55,.14)}.cast-option-group-title{color:color-mix(in srgb,var(--text-secondary) 82%,#f8e9b0);font-family:var(--font-display);font-size:.68rem;font-weight:600;letter-spacing:.08em;line-height:1;text-transform:uppercase}.cast-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;width:100%;min-height:44px;padding:8px 11px;border:1px solid rgba(240,230,210,.14);border-radius:7px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(0,0,0,.13)),#23202d;color:var(--text-primary);cursor:pointer;text-align:left;font:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:border-color .18s,background .18s,box-shadow .18s,transform .18s,filter .18s}.cast-option:focus-visible{border-color:color-mix(in srgb,var(--accent) 52%,#f8e9b0);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(0,0,0,.08)),#2a2438;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 0 1px color-mix(in srgb,var(--accent) 14%,transparent),0 0 14px color-mix(in srgb,var(--accent) 12%,transparent);outline:0;transform:translateY(-1px)}.cast-option.empty{border-color:rgba(248,113,113,.46);color:#fecaca}.cast-option.locked{cursor:not-allowed}.cast-option.unconfigured{border-style:dashed}.cast-option.secondary{color:#bfdbfe;border-color:rgba(96,165,250,.45);background:rgba(30,41,59,.72)}.slot-cast-option.empty,.slot-cast-option.unconfigured{color:var(--cast-slot-color);border-color:var(--cast-slot-border)}.cast-option-main{min-width:0;font-weight:700;line-height:1.2}.cast-option-state{font-family:var(--font-mono);color:#cbd5e1;white-space:nowrap}.cast-option-note{grid-column:1/-1;color:#fca5a5;font-size:.75rem;line-height:1.25}.slot-cast-option{grid-template-columns:auto minmax(0,1fr) minmax(4.4em,auto) minmax(3.2em,auto);align-items:center}.secondary-cast-option{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.cast-downcast-options{display:flex;flex-direction:column;gap:8px;max-height:min(240px,34vh);overflow-y:auto;overscroll-behavior:contain}.cast-downcast-toggle .cast-option-main::after{content:'▾';display:inline-block;margin-left:6px;color:currentColor;transform:rotate(-90deg);transition:transform .18s}.slot-cast-option.level-0{--cast-slot-bg:linear-gradient(135deg, rgba(156, 163, 175, 0.15), rgba(75, 85, 99, 0.05));--cast-slot-muted-bg:linear-gradient(135deg, rgba(156, 163, 175, 0.08), rgba(75, 85, 99, 0.03));--cast-slot-color:#e5e7eb;--cast-slot-border:rgba(156, 163, 175, 0.3);--cast-slot-shadow:inset 0 0 8px rgba(156, 163, 175, 0.05)}.slot-cast-option.level-low{--cast-slot-bg:linear-gradient(135deg, rgba(59, 130, 246, 0.15), rgba(29, 78, 216, 0.05));--cast-slot-muted-bg:linear-gradient(135deg, rgba(59, 130, 246, 0.08), rgba(29, 78, 216, 0.025));--cast-slot-color:#bfdbfe;--cast-slot-border:rgba(59, 130, 246, 0.3);--cast-slot-shadow:inset 0 0 8px rgba(59, 130, 246, 0.1)}.slot-cast-option.level-mid{--cast-slot-bg:linear-gradient(135deg, rgba(139, 92, 246, 0.15), rgba(109, 40, 212, 0.05));--cast-slot-muted-bg:linear-gradient(135deg, rgba(139, 92, 246, 0.08), rgba(109, 40, 212, 0.025));--cast-slot-color:#ddd6fe;--cast-slot-border:rgba(139, 92, 246, 0.3);--cast-slot-shadow:inset 0 0 8px rgba(139, 92, 246, 0.1)}.slot-cast-option.level-high{--cast-slot-bg:linear-gradient(135deg, rgba(225, 29, 72, 0.15), rgba(159, 18, 57, 0.05));--cast-slot-muted-bg:linear-gradient(135deg, rgba(225, 29, 72, 0.08), rgba(159, 18, 57, 0.025));--cast-slot-color:#fecdd3;--cast-slot-border:rgba(225, 29, 72, 0.4);--cast-slot-shadow:inset 0 0 8px rgba(225, 29, 72, 0.15),0 0 6px rgba(225, 29, 72, 0.15)}.slot-cast-option.level-0,.slot-cast-option.level-high,.slot-cast-option.level-low,.slot-cast-option.level-mid{background:var(--cast-slot-bg);color:var(--cast-slot-color);border-color:var(--cast-slot-border);box-shadow:var(--cast-slot-shadow)}.slot-cast-option.empty{background:var(--cast-slot-bg);filter:saturate(.62) brightness(.82)}.slot-cast-option.unconfigured{background:var(--cast-slot-muted-bg);border-style:dashed;filter:none}.slot-cast-option.empty .cast-option-main,.slot-cast-option.empty .cast-option-note,.slot-cast-option.unconfigured .cast-option-main,.slot-cast-option.unconfigured .cast-option-note{font-style:italic}.cast-upcast-badge{align-self:center;grid-column:3;justify-self:end;border:1px solid;border-radius:999px;padding:2px 7px;font-size:.72rem;font-style:normal;font-weight:700;line-height:1;white-space:nowrap;color:color-mix(in srgb,currentColor 82%,#fff);background:rgba(15,23,42,.24)}.cast-option-level-icon{width:1.56em;height:1.56em;grid-row:1/span 2;flex:0 0 auto;filter:drop-shadow(0 0 3px color-mix(in srgb, currentColor 35%, transparent))}.slot-cast-option .cast-option-note{grid-column:2/-1}.slot-cast-option .cast-option-state{grid-column:4;justify-self:end;text-align:right}.slot-cast-option.empty,.slot-cast-option.unconfigured{min-height:58px}.slot-cast-option.locked{filter:saturate(.42) brightness(.76)}.cast-option.is-confirming{border-color:rgba(251,191,36,.82);background:rgba(120,83,24,.42);color:#fde68a;filter:none;box-shadow:inset 0 0 0 1px rgba(251,191,36,.32),0 0 0 2px rgba(251,191,36,.12)}@media (hover:hover){.item-resource-preset-option:hover{outline:0;border-color:color-mix(in srgb,var(--resource-accent) 52%,#f8e9b0);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(0,0,0,.08)),#2a2438}.cast-option:hover{border-color:color-mix(in srgb,var(--accent) 52%,#f8e9b0);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(0,0,0,.08)),#2a2438;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 0 0 1px color-mix(in srgb,var(--accent) 14%,transparent),0 0 14px color-mix(in srgb,var(--accent) 12%,transparent);outline:0;transform:translateY(-1px)}.cast-option.is-confirming:hover{border-color:rgba(253,230,138,.9);background:rgba(146,100,28,.5)}}.cast-confirmation-label{grid-column:1/-1;color:inherit;font-weight:400;white-space:normal}.cast-confirmation-action,h1#app-title{font-weight:800}.cast-history-time,.party-table th{white-space:nowrap;font-weight:700}.cast-confirmation-action,.cast-confirmation-detail{display:inline}.cast-confirmation-detail{margin-top:2px;font-family:var(--font-mono);font-weight:600;color:#fef3c7}.cast-history-header,.slots-title-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.cast-history-modal-content{max-width:620px}.cast-history-body{margin-top:15px;max-height:min(62vh,560px);overflow-y:auto;padding-right:2px}.cast-history-divider{margin:14px 0 8px;color:#a3a3a3;font-size:.82rem;text-align:center}.cast-history-item{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px;padding:9px 10px;border:1px solid #333642;border-radius:7px;background:#1f2028;line-height:1.42}#party-list-container .party-table-wrapper,.party-table{background:var(--bg-color)}.cast-history-time{color:#a78bfa;font-family:var(--font-mono)}.cast-history-text{color:#e5e7eb;min-width:0;white-space:pre-line;word-break:break-word}.party-table-wrapper{overflow-x:auto;width:100%;max-width:100%;padding:0;scrollbar-gutter:stable}.party-table{width:100%;border-collapse:collapse;text-align:left;font-size:var(--table-font-size)}.party-table th{background:#1a1a1d;position:sticky;top:0;padding:10px 8px;cursor:pointer;border-bottom:1px solid var(--border);z-index:5;user-select:none;color:#aaa;font-size:1.04em;transition:background .2s,color .2s}.party-table .spell-link,.party-table .td-level,.party-table .td-name,.party-table .td-school,.party-table td{color:var(--table-body-color)}.party-table th:hover{background:#2d2d33;color:#fff}.sort-icon{display:inline-block;width:12px;margin-left:2px;font-size:.941em}.party-table td{padding:8px;border-bottom:1px solid #2a2a2e;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.party-table .td-actions{width:72px;text-align:center}.party-table .td-cast,.party-table .td-prepared{width:48px;text-align:center}.party-table .td-name{font-weight:700;min-width:120px}.party-table .spell-link{text-decoration:none;padding-bottom:var(--table-link-underline-offset);background-image:linear-gradient(to right,var(--accent) 0 var(--table-link-underline-dash),transparent var(--table-link-underline-dash) calc(var(--table-link-underline-dash) + var(--table-link-underline-gap)));background-repeat:repeat-x;background-size:calc(var(--table-link-underline-dash) + var(--table-link-underline-gap)) var(--table-link-underline-thickness);background-position:0 100%;-webkit-box-decoration-break:clone;box-decoration-break:clone}.party-table .note-editor,.party-table .note-input{padding:4px 6px;font-size:.941em;color:var(--table-body-color);transition:.2s}.party-table .spell-link:hover{color:var(--accent);background-image:linear-gradient(var(--accent),var(--accent));background-size:100% var(--table-link-underline-thickness)}.party-table .td-note{width:100%;min-width:150px;max-width:none}.party-table .note-input{background:#18181b;border:1px solid #444;width:100%;border-radius:3px}.party-table .note-input:focus{border-color:var(--accent);background:#000;outline:0}.party-table .note-editor{min-height:29px;border-radius:3px}.party-table .lib-add-btn{font-size:1em!important}.party-table .td-actions .lib-add-btn[data-action=add]{background:0 0!important;border-color:var(--table-add-color)!important;color:var(--table-add-color)!important}.party-table .td-actions .lib-add-btn[data-action=remove]{background:0 0!important;border-color:#555!important;color:#888!important}.btn-remove-icon-table{margin-left:4px}.mobile-table-action-btn,.mobile-table-cast-btn,.mobile-table-prepared-btn,.table-cast-btn,.table-pin-btn,.table-prepared-btn{margin-left:0}.btn-remove-icon-table:hover{color:color-mix(in srgb,var(--accent) 70%,#fff)}::-webkit-scrollbar-thumb:hover{background:#666}@font-face{font-family:Cinzel;font-style:normal;font-weight:600;src:url('fonts/cinzel-600.woff2') format('woff2');font-display:swap}@font-face{font-family:'Crimson Text';font-style:normal;font-weight:400;src:url('fonts/crimson-text-regular.woff2') format('woff2');font-display:swap}::selection{background:color-mix(in srgb,var(--accent) 40%,transparent);color:#fff;text-shadow:0 0 8px var(--accent)}.section-title,.spell-name,h1{font-family:var(--font-display);font-weight:600;letter-spacing:.05em;text-shadow:0 2px 4px rgba(0,0,0,.4)}.spell-desc{font-family:var(--font-reading);font-size:.95rem;line-height:1.47;color:var(--text-primarywithgrey)}@keyframes arcane-pulse{0%,100%{opacity:.7;box-shadow:0 0 2px var(--accent)}50%{opacity:1;box-shadow:0 0 12px var(--accent),0 0 20px color-mix(in srgb,var(--accent) 50%,transparent)}}.spell-card:hover::before{animation:2s ease-in-out infinite arcane-pulse;height:3px}.spell-card{box-shadow:0 10px 25px rgba(0,0,0,.9),inset 0 1px 1px rgba(255,255,255,.12),inset 0 -1px 3px rgba(0,0,0,.8)!important}.btn-add{background:rgba(20,20,30,.9);backdrop-filter:blur(4px);border:1px solid color-mix(in srgb,var(--accent) 70%,transparent);color:var(--accent);text-transform:uppercase;font-weight:700;letter-spacing:1.2px;font-size:.85rem;transition:.2s cubic-bezier(.25, .46, .45, .94);height:38px;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 0 0 color-mix(in srgb,var(--accent) 40%,#000),0 4px 8px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.05);text-shadow:0 1px 2px rgba(0,0,0,.5)}.btn-add:not(:disabled):hover{background:color-mix(in srgb,var(--accent) 20%,#1a1a24);color:#fff;border-color:var(--accent);box-shadow:0 2px 0 0 var(--accent),0 6px 15px color-mix(in srgb,var(--accent) 50%,transparent),inset 0 1px 0 rgba(255,255,255,.1);transform:translateY(-2px);letter-spacing:1.5px}.btn-add:not(:disabled):active{transform:translateY(2px);box-shadow:0 0 0 0 var(--accent),0 2px 6px rgba(0,0,0,.5),inset 0 2px 4px rgba(0,0,0,.3);transition:50ms}.btn-add.is-added,.btn-add:disabled,.btn-add:disabled:hover{background:rgba(15,15,20,.6)!important;box-shadow:inset 0 3px 6px rgba(0,0,0,.8),inset 0 -1px 2px rgba(255,255,255,.05)!important;transform:translateY(2px)!important}.btn-add.is-added,.btn-add:disabled{backdrop-filter:blur(2px);border:1px solid #3a3a45!important;color:#5f5f6e!important;font-weight:500;letter-spacing:.5px;text-shadow:none;transition:.15s}.btn-add:disabled{cursor:default!important}.btn-add.is-added{cursor:pointer!important}.btn-add.is-added:hover{background:color-mix(in srgb,var(--accent) 24%,rgba(15,15,20,.88))!important;border-color:color-mix(in srgb,var(--accent) 80%,#fff)!important;color:color-mix(in srgb,var(--accent) 35%,#fff)!important}.search-container.visual-search-container:focus-within,input:not(.search-box-inner):not(.item-resource-current-input):not([data-item-field]):focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent),0 0 8px var(--accent)!important;outline:0}.search-box-inner:focus{box-shadow:none!important;background:0 0!important}::-webkit-scrollbar-thumb{background:#4a3a2a;border:2px solid var(--bg-color)}::-webkit-scrollbar-thumb:hover{background:var(--accent);background:var(--accent-hover)}#page-tabs-container .page-select-btn,.btn-reset,.dropdown-action-btn,.dropdown-item,.page-mgmt-btn,.search-chip,.section-title,.tab-btn,header .select-btn{font-family:var(--font-display)!important;letter-spacing:.05em}.search-box-inner{font-family:var(--font-reading);font-size:.95rem}::-webkit-scrollbar{width:15px;height:15px}::-webkit-scrollbar-track{background:rgba(0,0,0,.2);border-radius:10px}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:10px;border:3px solid var(--bg-color);opacity:.8}::-webkit-scrollbar-corner{background:var(--bg-color)}#party-section::-webkit-scrollbar{width:15px;height:15px}#party-section::-webkit-scrollbar-corner,#party-section::-webkit-scrollbar-track{background:#121214}#party-section::-webkit-scrollbar-thumb{border-width:2px;border-color:#121214}#party-list-container .party-table-wrapper::-webkit-scrollbar-thumb{border-color:#121214}#slots-long-rest-container .btn-add{background:linear-gradient(145deg,#065f46,#047857)!important;border:1px solid #10b981!important;color:#ecfdf5!important;box-shadow:0 3px 0 #064e3b,0 4px 10px rgba(0,0,0,.3)!important;text-shadow:0 1px 2px rgba(0,0,0,.5)}#slots-long-rest-container .btn-add:hover{background:linear-gradient(145deg,#047857,#059669)!important;box-shadow:0 0 15px rgba(16,185,129,.4),0 3px 0 #064e3b!important;transform:translateY(-2px)!important}#slots-long-rest-container .btn-add:active{transform:translateY(3px)!important;box-shadow:0 0 0 #064e3b!important}.spell-card{background-color:rgba(30,30,35,.9)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--accent) 15%,transparent);filter:brightness(.98)}.spell-desc ol,.spell-desc ul{padding-left:20px;border-left:2px solid var(--accent);margin:.8em 0}.spell-desc li{margin-bottom:.2em}.spell-desc blockquote{border-left:3px solid var(--accent)!important;padding-left:15px;color:var(--text-secondary);font-style:italic;background:rgba(0,0,0,.2);padding-top:4px;padding-bottom:4px}::placeholder{color:var(--text-primary);opacity:.7;font-style:italic}.spell-card:hover{filter:brightness(1.05)}.spell-card.pinned{border-color:var(--pin-color)!important;background-color:color-mix(in srgb,var(--pin-color) 8%,rgba(0,0,0,.8))!important}tr.pinned-row{background-color:color-mix(in srgb,var(--pin-color) 8%,transparent)!important}#settings-container .select-btn,#source-select-container .select-btn,.btn-reset{white-space:nowrap!important}@media (min-width:769px){#main-container.library-collapsed #library-section,#main-container.party-collapsed #party-section{flex:0 0 0!important;width:0!important;min-width:0!important;padding:0!important;border:0!important;overflow:hidden!important;scrollbar-gutter:auto}#main-container.library-collapsed #library-section>*,#main-container.party-collapsed #party-section>*{display:none!important}#main-container.library-collapsed #party-section,#main-container.party-collapsed #library-section{flex:0 0 calc(100% - var(--split-resizer-collapsed-width))!important}#main-container.library-collapsed #resizer,#main-container.party-collapsed #resizer{width:var(--split-resizer-collapsed-width);color:var(--text-primary);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 22%,#17171a),#101014);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 36%,transparent),0 0 14px rgba(0,0,0,.45);overflow:hidden}#main-container.library-collapsed #resizer{border-right:1px solid color-mix(in srgb,var(--accent) 58%,transparent)}#main-container.party-collapsed #resizer{border-left:1px solid color-mix(in srgb,var(--accent) 58%,transparent)}#main-container.library-collapsed #resizer.active,#main-container.library-collapsed #resizer:hover,#main-container.party-collapsed #resizer.active,#main-container.party-collapsed #resizer:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 35%,#202026),#121216);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 70%,transparent),0 0 16px color-mix(in srgb,var(--accent) 28%,transparent)}#main-container.library-collapsed #resizer::before,#main-container.party-collapsed #resizer::before{display:block;position:absolute;top:10px;left:50%;transform:translateX(-50%);color:var(--accent);font-size:1.25rem;font-weight:700;line-height:1}#main-container.library-collapsed #resizer::after,#main-container.party-collapsed #resizer::after{display:block;writing-mode:vertical-rl;text-orientation:mixed;color:var(--text-primary);font-size:.78rem;font-weight:700;line-height:1;letter-spacing:0;opacity:.9}#main-container.library-collapsed #resizer::before{content:"›"}#main-container.library-collapsed #resizer::after{content:"法术库（点按可恢复到原比例）"}#main-container.party-collapsed #resizer::before{content:"‹"}#main-container.party-collapsed #resizer::after{content:"已选法术（点按可恢复到原比例）"}.spell-slots-hud.resource-hud-split{flex-direction:column;align-items:stretch;gap:6px;overflow-x:hidden;white-space:normal}.spell-slots-hud.resource-hud-split .resource-hud-divider{display:none}.spell-slots-hud.resource-hud-split .resource-hud-line{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;touch-action:pan-x}.spell-slots-hud.resource-hud-split .resource-hud-line::-webkit-scrollbar{height:12px}@container (max-width:560px){#party-section .action-links span{margin-left:2px;padding:2px 3px}}@container (max-width:480px){#party-section .action-link-label{display:none}}.scroll-section{overflow-x:auto}.party-table-wrapper{overflow-x:visible}.party-table{min-width:1040px}#party-list-container .party-table{min-width:1180px}#party-list-container .party-table .td-actions{width:56px}.filter-group .multi-select-container{flex:1 1 0;min-width:0}.filter-group .select-btn{width:100%;min-width:0;box-sizing:border-box;overflow:hidden}.filter-group .select-btn-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-group .select-btn::after{flex:0 0 auto}#source-select-container .dropdown-menu{right:0!important;left:auto!important}}@media (max-width:768px){.settings-panel-overlay{align-items:center;justify-content:center;padding:16px}.settings-panel{width:calc(100vw - 32px);max-height:calc(100dvh - 32px)}.settings-panel-header{padding:14px}.item-resource-edit-row,.settings-panel-body{padding:12px}.settings-item-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px}.settings-item-main{grid-template-columns:34px minmax(0,1fr) 16px;gap:8px}.app-dialog-icon-wrap,.settings-item-icon{width:34px;height:34px}.settings-item-title{font-size:.9rem}.settings-item-desc{font-size:.76rem}.settings-color-controls{flex-direction:column;gap:6px}body.mobile-controls-collapsed header{margin-top:calc(-1 * var(--mobile-header-offset,0px));opacity:0;pointer-events:none}.slots-modal-content{position:absolute!important;bottom:0!important;top:auto!important;transform:translateY(100%)!important;border-radius:20px 20px 0 0!important;width:100%!important;max-width:100%!important;border-left:none!important;border-right:none!important;border-bottom:none!important;padding-bottom:30px!important;transition:transform .3s cubic-bezier(.32, .72, 0, 1)!important}.item-resource-row,.slot-row{gap:10px;padding:12px}.slot-row{min-height:56px;padding-top:6px;padding-bottom:6px}.item-resource-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.item-resource-controls{width:100%;justify-content:space-between}#slots-modal-body{--stepper-hit-size:42px;--stepper-visual-size:36px}.item-resource-current-input,.slot-current-value{min-height:44px;width:64px}.slot-value{min-height:44px;width:82px}.spell-slot-row.edit-mode .slot-resource-controls{min-width:176px}.item-resource-edit-toolbar{align-items:stretch}.item-resource-preset-control{flex-wrap:wrap}.item-resource-preset-menu{width:min(320px,calc(100vw - 72px));max-width:calc(100vw - 72px)}.item-resource-edit-actions .btn-reset,.item-resource-preset-control .btn-reset{min-height:36px}.modal-overlay.show .slots-modal-content{transform:translateY(0)!important}.custom-spell-custom-class-row{align-items:stretch;flex-wrap:wrap}.custom-spell-custom-class-label{min-height:36px;display:inline-flex;align-items:center}.custom-spell-custom-class-row .note-input{flex-basis:100%;min-height:40px}.condition-popover.is-mobile{left:12px!important;right:12px!important;bottom:85px!important;top:auto!important;width:auto;max-width:none;max-height:42vh;padding:12px;transform:translateY(10px);animation:.25s cubic-bezier(.2,.9,.4,1) forwards popoverSlideUp}#currency-calculator-overlay{align-items:center;padding:10px}.currency-calculator-content{width:min(420px,100%);max-height:calc(100dvh - 20px);padding:14px;gap:10px}.currency-calculator-header{grid-template-columns:42px minmax(0,1fr);gap:10px}.currency-title-coin{width:42px;height:42px}.currency-calculator-row{min-height:56px;grid-template-columns:44px minmax(0,1fr) minmax(76px,auto);gap:8px;padding:7px 8px}.currency-row-coin{width:44px;height:44px}.currency-row-value{font-size:1.2rem}.currency-key{min-height:50px}.app-dialog-overlay{align-items:center;padding:14px}.app-dialog{width:100%;max-height:calc(100dvh - 28px);padding:18px}.app-dialog-header{grid-template-columns:34px minmax(0,1fr);gap:10px}.app-dialog-message{max-height:min(48dvh,320px);font-size:.9rem}.app-dialog-actions{flex-direction:column-reverse}.app-dialog-btn{width:100%;min-height:44px}header{transition:margin-top .3s cubic-bezier(.4, 0, .2, 1),opacity .3s;gap:8px;padding:10px;flex-direction:column;align-items:stretch;position:relative!important}.header-main-row{display:flex;flex-direction:column;align-items:stretch;gap:8px}.page-navigation-zone{width:100%;gap:8px}#resizer,#settings-container .select-btn::after,.desktop-only{display:none!important}.action-links span{gap:0}#page-tabs-container{margin-right:0;width:auto;flex:1 1 auto;border-bottom:1px solid #333;padding-bottom:5px;gap:10px}#page-tabs-container .page-select-btn{width:min(32vw,108px);min-width:min(32vw,108px);max-width:min(32vw,108px);flex-basis:min(32vw,108px);min-height:36px;padding:7px 10px}#page-actions-container .page-mgmt-btn{width:76px;height:36px;min-width:76px;min-height:36px;padding:8px 10px}.header-search-tools{flex-wrap:nowrap}.spell-page-manager-overlay{align-items:flex-end;padding:18px 10px}#settings-container .select-btn,.btn-reset{padding:8px;font-size:.75rem}.spell-page-manager-panel{width:100%;max-height:calc(100dvh - 36px)}.spell-page-manager-row{grid-template-columns:minmax(0,1fr)}.spell-page-manager-actions{justify-content:flex-end}.btn-reset{width:auto}#mobile-tabs{display:flex}#main-container{flex-direction:column}#library-section,#party-section{flex:none!important;width:100%!important;border:none;display:none;height:100%}.spell-grid{grid-template-columns:1fr}#library-section.active-tab-content,#party-section.active-tab-content{display:block}.party-table-wrapper{padding:0!important;overflow-x:visible!important}.section-title{height:46px!important;min-height:46px!important}.spell-slots-hud{height:44px!important}.cast-history-header,.slots-title-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.cast-history-header .btn-reset,.slots-title-actions .btn-reset{min-height:34px}.cast-popover{position:fixed;left:12px!important;right:12px;bottom:12px;top:auto!important;width:auto;max-height:66vh}.cast-history-modal-content{max-width:100%}.cast-history-item{grid-template-columns:max-content minmax(0,1fr);padding:8px}#library-section .party-table th{top:46px!important}#party-section .party-table th{top:90px!important}.filter-group .select-btn-summary{display:none}h1#app-title{padding-right:40px;line-height:1.4}#settings-container{position:absolute!important;top:10px;right:10px;margin:0!important;z-index:101}#settings-container .select-btn{background:0 0!important;border:none!important;box-shadow:none!important;color:transparent!important;font-size:0!important;padding:0!important;min-width:0!important;width:32px;height:32px;display:flex;align-items:center;justify-content:center}#settings-container .select-btn::before{content:'';display:block;width:22px;height:22px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6 13.6 5.1c.4.1.8.3 1.2.5l2.9-.6 1.7 2.9-2 2.2c.1.4.1.8.1 1.2s0 .8-.1 1.2l2 2.2-1.7 2.9-2.9-.6c-.4.2-.8.4-1.2.5L12 21.4l-1.6-3.9c-.4-.1-.8-.3-1.2-.5l-2.9.6-1.7-2.9 2-2.2c-.1-.4-.1-.8-.1-1.2s0-.8.1-1.2l-2-2.2L6.3 5l2.9.6c.4-.2.8-.4 1.2-.5L12 2.6Z' fill='%232a2a2e' stroke='%23d1cbc0' stroke-width='1.35' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='12' r='4.2' fill='%231a1a1d' stroke='%23d1cbc0' stroke-width='1.45'/%3E%3Ccircle cx='12' cy='12' r='1.45' fill='%23d1cbc0'/%3E%3C/svg%3E");background-size:cover;opacity:.85;transition:transform .3s,opacity .3s}.action-link-icon,.mobile-action-toggle-icons .spell-action-icon,.prepared-tag-icon,.search-chip .chip-icon,.spell-action-icon,.tag-icon,.ui-icon{width:22px!important;height:22px!important}.chip-close-icon{width:18px!important;height:18px!important}.icon-btn{width:32px;height:32px}.prepared-tag,.tag{min-height:28px}.header-search-tools{width:100%;flex-wrap:nowrap!important;gap:6px!important;margin-top:2px}#visual-search-container{flex:1 1 auto!important;min-width:0!important}#source-select-container,.btn-reset{flex:0 0 auto!important}#source-select-container .select-btn,.btn-reset{padding-left:8px!important;padding-right:8px!important;font-size:.8rem!important}#source-select-container .dropdown-menu{left:auto!important;right:0!important}}h1#app-title{transform:scale(1.05);white-space:nowrap;letter-spacing:.1em;background:var(--accent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 2px 4px rgba(0,0,0,.6),0 1px 0 rgba(255,255,255,.1);display:inline-block;position:relative;padding-left:30px;margin:0;line-height:1.2}h1#app-title::before{content:'✦';position:absolute;top:50%;transform:translateY(-50%);font-size:1.3em;color:var(--accent);text-shadow:0 0 5px var(--accent);-webkit-text-fill-color:var(--accent);background:0 0;opacity:.9;left:5px}h1#app-title::after{content:'';position:absolute;bottom:-4px;left:0;width:90%;height:2px;background:linear-gradient(90deg,transparent 0,var(--accent) 20%,var(--accent) 80%,transparent 100%);opacity:.7;box-shadow:0 0 10px var(--accent)}h1#app-title:hover::after{opacity:1;box-shadow:0 0 15px var(--accent);transition:.3s}@media (hover:none){.item-resource-edit-actions .btn-reset:hover,.item-resource-preset-control .btn-reset:not(.is-open):hover{background:rgba(0,0,0,.2);border-color:rgba(255,255,255,.1);color:#a3a3a3;box-shadow:none;transform:none}.item-resource-delete-btn:hover{background:rgba(0,0,0,.2)!important;border-color:rgba(252,165,165,.3)!important;color:#fca5a5!important}.page-select-btn:hover{background:#222;color:#888}.page-select-btn.active:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-text,#fff)}.btn-reset:hover,.page-mgmt-btn:not(:disabled):hover,.select-btn:hover{background:linear-gradient(180deg,rgba(45,45,51,.8) 0,rgba(25,25,30,.95) 100%);border-color:rgba(255,255,255,.06);border-top-color:rgba(255,255,255,.15);border-bottom-color:rgba(0,0,0,.8);box-shadow:0 4px 6px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.05);color:var(--text-primarywithgrey);transform:none}.chip-close:hover,.note-dice-chip-close:hover{color:#aaa}.search-clear:hover{color:#666}.dropdown-action-btn:hover{background:rgba(0,0,0,.2)}.custom-source-package-option:hover,.custom-spell-quick-option:hover,.dropdown-item:hover,.party-table-row:hover{background-color:transparent}.settings-panel-close:hover{background:rgba(0,0,0,.2);border-color:rgba(255,255,255,.08);color:var(--text-primary)}.spell-page-manager-action:hover:not(:disabled){background:rgba(0,0,0,.22);border-color:rgba(255,255,255,.1);color:var(--text-primary)}.app-dialog-btn:hover,.settings-item-action:hover{filter:none}.spell-slots-hud:hover{background:#1a1a1d}.item-resource-row:hover,.slot-row:hover{border-color:var(--resource-row-border);border-left-color:color-mix(in srgb,var(--resource-accent) 68%,transparent);box-shadow:var(--resource-row-shadow)}.slots-edit-mode .slot-row:hover{border-color:var(--dice-link-color)}.stepper-btn:hover{color:#d1cbc0}.stepper-btn:hover::before{border-color:rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(60,60,70,.86) 0,rgba(38,38,44,.94) 100%);box-shadow:0 2px 4px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.06)}.slots-edit-mode .stepper-btn:hover::before{border-color:var(--dice-link-color);background:#4a3600}#slots-modal-overlay .item-resource-add-btn:hover{background:linear-gradient(180deg,rgba(40,40,50,.8),rgba(25,25,30,.95));border-color:rgba(255,255,255,.2);border-style:dashed;box-shadow:none;color:#d1cbc0;transform:none}.party-prepared-filter button:hover,.view-btn:hover{background:0 0;color:#888}.party-prepared-filter button.active:hover,.view-btn.active:hover{background:var(--accent);color:var(--accent-text,#fff)}.spell-card:hover{border-color:color-mix(in srgb,var(--accent) 15%,transparent);filter:brightness(.98);transform:none}.spell-card:hover::before{animation:none;height:2px}.party-table th:hover{background:#1a1a1d;color:#aaa}.party-table th.sort-active:hover{color:var(--accent)}.pin-btn:hover{color:color-mix(in srgb,var(--pin-color) 76%,#000)}.pin-btn.active:hover{color:var(--pin-color)}.btn-remove-icon-table:hover,.edit-btn:hover,.remove-btn:hover{color:color-mix(in srgb,var(--accent) 82%,#aaa);filter:none}.cast-tag:hover,.prepared-btn.active:hover,.prepared-btn.resident:hover,.prepared-btn:hover,.prepared-tag:not(.resident):hover{filter:none;transform:none}.cast-btn:hover{color:#c4b5fd;filter:none;transform:none}.custom-source-prefix:not(:disabled):not(.is-open):hover,.custom-spell-quick-trigger:not(.is-open):hover{background:rgba(0,0,0,.2);border-color:#444;color:#ccc}.action-links span:hover{background:0 0}.desc-toggle-btn:hover{text-decoration:none}.spell-link:hover{color:var(--accent);text-decoration-style:dotted}.party-table .spell-link:hover{color:var(--table-body-color);text-decoration:none;text-decoration-style:solid;background-image:linear-gradient(to right,var(--accent) 0 var(--table-link-underline-dash),transparent var(--table-link-underline-dash) calc(var(--table-link-underline-dash) + var(--table-link-underline-gap)));background-size:calc(var(--table-link-underline-dash) + var(--table-link-underline-gap)) var(--table-link-underline-thickness)}.dice-link:hover{background-color:transparent;border-style:dashed}.condition-link:hover{background:0 0;border-bottom-color:color-mix(in srgb,var(--accent) 72%,#fff);color:color-mix(in srgb,var(--accent) 78%,#fff)}.condition-popover-close:hover{color:#a1a1aa}.app-dialog-close:hover,.modal-close:hover{color:color-mix(in srgb,var(--accent) 82%,#aaa);text-shadow:none}.btn-add:not(:disabled):hover{background:rgba(20,20,30,.9);border-color:color-mix(in srgb,var(--accent) 70%,transparent);box-shadow:0 2px 0 0 color-mix(in srgb,var(--accent) 40%,#000),0 4px 8px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.05);color:var(--accent);letter-spacing:1.2px;transform:none}#slots-long-rest-container .btn-add:hover{background:linear-gradient(145deg,#065f46,#047857)!important;box-shadow:0 3px 0 #064e3b,0 4px 10px rgba(0,0,0,.3)!important;transform:none!important}.btn-add.is-added:hover,.btn-add:disabled:hover{background:rgba(15,15,20,.6)!important;border-color:#3a3a45!important;box-shadow:inset 0 3px 6px rgba(0,0,0,.8),inset 0 -1px 2px rgba(255,255,255,.05)!important;color:#5f5f6e!important;font-weight:500;letter-spacing:.5px;text-shadow:none;transform:translateY(2px)!important}}.advanced-dice-panel{margin-top:15px;border-top:1px dashed #555;padding-top:10px;display:flex;flex-direction:column;gap:6px}.advanced-dice-row{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;background:rgba(0,0,0,.2);border-radius:4px;min-height:34px}.advanced-dice-label{color:#ccc;font-family:var(--font-mono);text-align:center;white-space:nowrap}.advanced-dice-btn{background:0 0;border:none;font-size:1.2rem;cursor:pointer;padding:4px 8px;user-select:none}.advanced-dice-btn.plus{color:#10b981}@media (max-width:768px){.advanced-dice-row{grid-template-columns:38px 1fr 38px}.modal-overlay{padding:16px}#dice-result-content,.cast-history-modal-content,.custom-spell-modal-content,.modal-content{max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px)}.slots-modal-content{position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;width:100%!important;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 32px)!important;border:1px solid var(--accent)!important;border-radius:8px!important;padding-bottom:20px!important;transform:scale(.95)!important}.modal-overlay.show .slots-modal-content{transform:scale(1)!important}}.spell-aliases{font-size:.82rem;line-height:1.3;margin-top:2px;margin-bottom:6px;display:flex;flex-wrap:wrap;font-style:italic;opacity:.85}.spell-aliases .meta-val{color:var(--text-primary);min-width:0;overflow-wrap:anywhere}.spell-aliases .meta-label{min-width:auto;margin-right:4px}