:root{--bg-main:#1a120d;--bg-secondary:#24160f;--bg-accent:#2f1d14;--bg-panel:#1e1410;--bg-wood-dark:#15100b;--bg-wood-light:#2a1c13;--bg-stone:#1c1614;--surface-wood:#8b5a2b14;--surface-parchment:#f2e6d80a;--surface-iron:#3b3b3b26;--surface-hover:#d4a85a0f;--border-wood:#8b5a2b40;--border-wood-light:#a67c5233;--border-iron:#5a5a5a59;--border-gold:#d4a85a66;--border-soft:#8b5a2b26;--border-carved:#6446284d;--text-primary:#f2e6d8;--text-secondary:#cbb8a6;--text-muted:#9a8776;--text-faint:#6d5d4e;--text-ink:#2a1f15;--gold-primary:#d4a85a;--gold-muted:#a8823e;--gold-bright:#e8c06a;--ember:#c75b2a;--ember-glow:#c75b2a59;--ember-soft:#c75b2a26;--iron:#3b3b3b;--iron-light:#5a5a5a;--iron-dark:#2a2a2a;--copper:#b87333;--bronze:#cd7f32;--arcane-purple:#8a5ab8;--arcane-glow:#8a5ab859;--arcane-soft:#8a5ab826;--accent-spell:var(--ember);--accent-item:var(--gold-primary);--accent-feature:var(--arcane-purple);--rarity-common:#9a8776;--rarity-uncommon:#4a8c4a;--rarity-rare:#4a6a9c;--rarity-very-rare:#7a4a9c;--rarity-legendary:var(--gold-primary);--shadow-carved:inset 2px 2px 4px #0006, inset -1px -1px 2px #8b5a2b1a;--shadow-raised:0 4px 12px #00000080, 0 2px 4px #0000004d;--shadow-panel:0 8px 32px #0006, inset 0 1px 0 #8b5a2b1a;--shadow-deep:0 12px 40px #0009;--glow-ember:0 0 20px #c75b2a4d;--glow-gold:0 0 15px #d4a85a40;--glow-fire:0 0 30px #c75b2a33;--highlight-top:inset 0 1px 0 #a67c5226;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--font-serif:"Cinzel", "Playfair Display", Georgia, "Times New Roman", serif;--font-body:"Inter", "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;height:100%}body{min-height:100%;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;font-weight:400;line-height:1.6}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--text-primary);letter-spacing:.02em;text-transform:uppercase;font-weight:600;line-height:1.2}h1{letter-spacing:.05em;font-size:clamp(2rem,4vw,3rem);font-weight:700}h2{letter-spacing:.04em;font-size:clamp(1.5rem,2.5vw,2rem)}h3{letter-spacing:.03em;font-size:clamp(1rem,1.5vw,1.25rem)}p{color:var(--text-secondary)}a{color:var(--gold-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--gold-bright)}input,select,textarea,button{font-family:inherit;font-size:inherit}button{cursor:pointer;background:0 0;border:none}input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.navigation{padding:var(--space-md) var(--space-xl);z-index:100;background:linear-gradient(180deg, var(--bg-wood-light) 0%, var(--bg-secondary) 40%, var(--bg-wood-dark) 100%);border-bottom:3px solid var(--border-wood);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0;box-shadow:inset 0 1px #a67c5233,inset 0 -2px 4px #0000004d,0 4px 12px #0006}.navigation:before{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 3px,#00000008 3px 6px);position:absolute;inset:0}.nav-brand{align-items:center;gap:var(--space-sm);text-decoration:none;display:flex;position:relative}.nav-brand h2{font-family:var(--font-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-primary);text-shadow:0 1px #00000080,0 2px 4px #0000004d,0 0 20px #d4a85a33;transition:all var(--transition-base);margin:0;font-size:1.35rem;font-weight:700}.nav-brand:hover h2{color:var(--gold-bright);text-shadow:0 1px #00000080,0 2px 4px #0000004d,0 0 30px #d4a85a66}.nav-links{align-items:center;gap:var(--space-xs);display:flex}.nav-link{font-family:var(--font-serif);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:var(--space-sm) var(--space-md);background:linear-gradient(180deg, var(--iron-light) 0%, var(--iron) 50%, var(--iron-dark) 100%);border-radius:var(--radius-sm);transition:all var(--transition-fast);border:1px solid #5a5a5a80;font-size:.85rem;font-weight:600;text-decoration:none;position:relative;box-shadow:inset 0 1px #ffffff1a,inset 0 -1px 2px #0003,0 2px 4px #0000004d}.nav-link:hover{color:var(--text-primary);background:linear-gradient(#5a5a5a 0%,#464646 50%,#323232 100%);border-color:#78787899;transform:translateY(-1px)}.nav-link.active{color:var(--gold-primary);background:linear-gradient(180deg, var(--bg-accent) 0%, var(--bg-secondary) 100%);border-color:var(--border-gold);box-shadow:inset 0 1px #d4a85a26,inset 0 -1px 2px #0000004d,0 2px 4px #0000004d,0 0 12px #d4a85a26}.nav-link.active:after{content:"";background:linear-gradient(90deg, transparent, var(--ember), transparent);height:2px;box-shadow:0 0 8px var(--ember);border-radius:1px;position:absolute;bottom:0;left:20%;right:20%}@media (width<=600px){.navigation{padding:var(--space-md);gap:var(--space-sm);flex-wrap:wrap}.nav-brand h2{font-size:1.1rem}.nav-links{gap:var(--space-xs)}.nav-link{padding:var(--space-xs) var(--space-sm);font-size:.75rem}}.spell-card-mini{border:1px solid var(--border-wood);border-left:3px solid var(--border-wood);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;justify-content:space-between;align-items:center;gap:var(--space-sm);transition:all var(--transition-fast);background:linear-gradient(90deg,#d4c4a814 0%,#e0d4c01f 50%,#d4c4a814 100%);display:flex;box-shadow:inset 0 1px #a67c5214,0 1px 2px #00000026}.spell-card-mini:hover{border-color:var(--border-gold);border-left-color:var(--gold-primary);background:linear-gradient(90deg,#d4c4a826 0%,#e0d4c033 50%,#d4c4a826 100%);transform:translate(3px);box-shadow:inset 0 1px #a67c521f,0 2px 4px #0003,0 0 8px #d4a85a26}.spell-card-mini.selected{border-color:var(--gold-primary);border-left-color:var(--gold-primary);background:linear-gradient(90deg,#d4a85a1f 0%,#d4a85a2e 50%,#d4a85a1f 100%);border-left-width:4px;box-shadow:inset 0 1px #d4a85a1a,0 2px 4px #0003,0 0 12px #d4a85a33}.spell-card-mini.selected:hover{border-color:var(--gold-primary)}.spell-card-mini-header{align-items:center;gap:var(--space-sm);flex:1;min-width:0;display:flex}.spell-card-mini h3{font-family:var(--font-body);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;transition:color var(--transition-fast);margin:0;font-size:.85rem;font-weight:500;overflow:hidden}.spell-card-mini:hover h3{color:var(--gold-primary)}.spell-card-mini.selected h3{color:var(--gold-primary);font-weight:600}.spell-level-badge{background:linear-gradient(145deg, var(--bronze) 0%, #a66522 50%, #8a5518 100%);color:var(--text-primary);font-family:var(--font-serif);border-radius:var(--radius-sm);letter-spacing:.02em;text-align:center;text-shadow:0 1px 1px #0006;border:1px solid #ffffff26;flex-shrink:0;min-width:22px;padding:.2rem .5rem;font-size:.6rem;font-weight:700;box-shadow:inset 0 1px #ffffff40,inset 0 -1px 2px #0000004d,0 2px 3px #0000004d}.spell-checkbox{appearance:none;cursor:pointer;background:linear-gradient(145deg, var(--iron-light) 0%, var(--iron) 100%);border:2px solid var(--border-iron);border-radius:var(--radius-sm);width:18px;height:18px;transition:all var(--transition-fast);flex-shrink:0;position:relative;box-shadow:inset 0 1px #ffffff1a,0 1px 2px #0003}.spell-checkbox:hover{border-color:var(--gold-primary);box-shadow:inset 0 1px #ffffff1a,0 0 6px #d4a85a33}.spell-checkbox:checked{background:linear-gradient(145deg, var(--gold-primary) 0%, var(--gold-muted) 100%);border-color:var(--gold-primary);box-shadow:inset 0 1px 0 #ffffff4d, 0 0 8px var(--glow-gold)}.spell-checkbox:checked:after{content:"✦";color:var(--text-primary);text-shadow:0 0 4px #ffffff80;font-size:.6rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.spell-checkbox:focus-visible{border-color:var(--gold-primary);box-shadow:inset 0 1px 0 #ffffff1a, 0 0 0 2px #d4a85a33, 0 0 8px var(--glow-gold);outline:none}.spell-card-expanded{box-sizing:border-box;color:#000;background:#fff;border:1px solid #333;border-radius:6px;flex-direction:column;width:240px;min-width:240px;max-width:240px;height:336px;min-height:336px;max-height:336px;padding:.5rem;display:flex;overflow:hidden}.spell-card-expanded.print-mode{color:#000;page-break-inside:avoid;break-inside:avoid;background:#fff;border:1px solid #333;border-radius:6px;width:2.5in;min-width:2.5in;max-width:2.5in;height:3.5in;min-height:3.5in;max-height:3.5in;margin:0;padding:.0833in}.spell-card-expanded .card-header{border-bottom:1px solid #ccc;flex-shrink:0;justify-content:space-between;align-items:center;gap:.25rem;margin-bottom:.35rem;padding-bottom:.35rem;display:flex}.spell-card-expanded .card-header h2{color:#000;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8rem;line-height:1.2;overflow:hidden}.level-badge{color:#fff;background:#333;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;font-weight:700;display:flex}.spell-card-expanded .card-stats{flex-wrap:nowrap;flex-shrink:0;gap:0;margin-bottom:.35rem;margin-left:-.5rem;margin-right:-.5rem;display:flex}.stat-box{text-align:center;box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;padding:.15rem 0;display:flex;position:relative;overflow:hidden}.stat-box:before{content:"";background:#ccc;width:1px;position:absolute;top:0;bottom:0;left:0}.stat-box:first-child:before{display:none}.stat-box h3{color:#666;text-transform:uppercase;white-space:nowrap;text-align:center;margin:0 0 .08rem;font-size:.4rem}.stat-box p{color:#000;white-space:nowrap;text-overflow:ellipsis;text-align:center;margin:0;font-size:.45rem;line-height:1.2;overflow:hidden}.duration-value{justify-content:center;align-items:center;gap:.1rem;display:inline-flex}.concentration-badge{color:#fff;background:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:.55rem;height:.55rem;font-size:.35rem;font-weight:700;display:inline-flex}.card-description{--scale-factor:1;flex:1;min-height:0;overflow:hidden}.card-description p{font-size:calc(.55rem * var(--scale-factor));color:#333;margin:0 0 .25rem;line-height:1.35}.spell-card-expanded .card-description h1,.spell-card-expanded .card-description h2,.spell-card-expanded .card-description h3,.spell-card-expanded .card-description h4,.spell-card-expanded .card-description h5,.spell-card-expanded .card-description h6{font-size:calc(.55rem * var(--scale-factor));color:#000;margin:.4em 0 .2em;font-weight:700;line-height:1.35}.spell-card-expanded .card-description h1:first-child,.spell-card-expanded .card-description h2:first-child,.spell-card-expanded .card-description h3:first-child,.spell-card-expanded .card-description h4:first-child,.spell-card-expanded .card-description h5:first-child,.spell-card-expanded .card-description h6:first-child{margin-top:0}.card-description table{width:100%;font-size:calc(.45rem * var(--scale-factor));border-collapse:collapse;margin:.2rem 0;line-height:1.3}.card-description th,.card-description td{text-align:left;vertical-align:top;border:1px solid #999;padding:.08rem .15rem}.card-description th{background:#eee;font-weight:600}.material-component{font-size:calc(.5rem * var(--scale-factor));color:#555;margin-top:.25rem}.card-footer{color:#666;border-top:1px solid #ccc;flex-shrink:0;justify-content:space-between;margin-top:auto;padding-top:.3rem;font-size:.5rem;display:flex}.school{font-style:italic}.classes{text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media print{.spell-card-expanded{-webkit-print-color-adjust:exact;print-color-adjust:exact;page-break-inside:avoid;break-inside:avoid;color:#000!important;background:#fff!important;width:2.5in!important;min-width:2.5in!important;max-width:2.5in!important;height:3.5in!important;min-height:3.5in!important;max-height:3.5in!important;margin:0!important;padding:.0833in!important}.spell-card-expanded .card-header h2,.stat-box p,.card-description p{color:#000!important}.stat-box{border-color:#ccc!important}.concentration-badge{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#fff!important;background:#000!important}.material-component{color:#555!important}.card-description th{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#eee!important}.card-description th,.card-description td{border-color:#999!important}}.color-picker{gap:var(--space-xs);flex-direction:column;display:flex}.color-picker-label{font-family:var(--font-serif);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:600}.color-picker-controls{align-items:center;gap:var(--space-sm);display:flex;position:relative}.color-swatch{border:2px solid var(--border-iron);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);flex-shrink:0;box-shadow:inset 0 1px #fff3,inset 0 -1px 2px #0000004d,0 2px 4px #0000004d}.color-swatch:hover{border-color:var(--ember);box-shadow:inset 0 1px 0 #fff3, inset 0 -1px 2px #0000004d, 0 4px 8px #0006, 0 0 8px var(--ember-soft);transform:scale(1.05)}.color-swatch:focus{border-color:var(--ember);box-shadow:inset 0 1px 0 #fff3, inset 0 -1px 2px #0000004d, 0 0 0 2px var(--ember-soft), 0 4px 8px #0006;outline:none}.hex-input{padding:var(--space-sm) var(--space-md);border:2px solid var(--border-wood);border-radius:var(--radius-sm);width:95px;color:var(--text-ink);text-transform:uppercase;letter-spacing:.05em;transition:all var(--transition-fast);background:linear-gradient(#d4c4a8 0%,#ddd0bc 100%);font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:.8rem;font-weight:600;box-shadow:inset 0 1px 2px #0000001a}.hex-input:hover{border-color:var(--border-gold)}.hex-input:focus{border-color:var(--ember);box-shadow:inset 0 1px 2px #0000001a, 0 0 0 2px var(--ember-soft);outline:none}.hex-input::placeholder{color:#2a1f1566}.native-color-picker{opacity:0;pointer-events:none;border:none;width:32px;height:32px;padding:0;position:absolute;top:0;left:0}.color-picker.inline{flex-direction:row;align-items:center}.color-picker.inline .color-picker-label{margin-right:var(--space-sm);font-size:.6rem}.color-picker.inline .color-swatch{width:26px;height:26px}.color-picker.inline .hex-input{padding:var(--space-xs) var(--space-sm);width:75px;font-size:.7rem}.preview-import{position:relative}.preview-import-btn{padding:var(--space-sm) var(--space-md);background:linear-gradient(180deg, var(--bg-accent) 0%, var(--bg-secondary) 100%);border:1px solid var(--border-wood);border-radius:var(--radius-sm);font-family:var(--font-serif);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);font-size:.7rem;font-weight:600;box-shadow:0 2px 4px #0003}.preview-import-btn:hover{background:linear-gradient(180deg, var(--bg-wood-light) 0%, var(--bg-accent) 100%);color:var(--ember);border-color:#c75b2a66}.preview-import--items .preview-import-btn:hover{color:var(--gold-primary);border-color:#d4a85a66}.preview-import-btn[aria-expanded=true]{color:var(--ember);border-color:var(--ember)}.preview-import--items .preview-import-btn[aria-expanded=true]{color:var(--gold-primary);border-color:var(--gold-primary)}.preview-import-dropdown{top:calc(100% + var(--space-sm));z-index:1000;background:linear-gradient(180deg, var(--bg-wood-light) 0%, var(--bg-secondary) 100%);border:2px solid var(--border-wood);border-radius:var(--radius-md);width:320px;position:absolute;right:0;overflow:hidden;box-shadow:0 8px 24px #00000080,0 0 0 1px #0003,inset 0 1px #a67c5226}.preview-import-header{padding:var(--space-sm) var(--space-md);background:linear-gradient(180deg, var(--bg-wood-dark) 0%, var(--bg-secondary) 100%);border-bottom:1px solid var(--border-soft);font-family:var(--font-serif);letter-spacing:.04em;color:var(--gold-primary);text-align:center;font-size:.85rem;font-weight:600}.preview-import-form{gap:var(--space-sm);padding:var(--space-md);display:flex}.preview-import-input{padding:var(--space-sm);border:1px solid var(--border-wood);border-radius:var(--radius-sm);color:var(--text-ink);font-size:.8rem;font-family:var(--font-body);transition:all var(--transition-fast);background:linear-gradient(#d4c4a8 0%,#ddd0bc 100%);flex:1;box-shadow:inset 0 1px 2px #0000001a}.preview-import-input::placeholder{color:#2a1f1573;font-style:italic}.preview-import-input:focus{border-color:var(--ember);box-shadow:inset 0 1px 2px #0000001a, 0 0 0 2px var(--ember-soft);outline:none}.preview-import--items .preview-import-input:focus{border-color:var(--gold-primary);box-shadow:inset 0 1px 2px #0000001a,0 0 0 2px #d4a85a26}.preview-import-input:disabled{opacity:.5;cursor:not-allowed}.preview-import-submit{padding:var(--space-sm) var(--space-md);background:linear-gradient(180deg, var(--iron-light) 0%, var(--iron) 100%);border:1px solid var(--border-iron);border-radius:var(--radius-sm);font-family:var(--font-serif);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);font-size:.7rem;font-weight:600;box-shadow:inset 0 1px #ffffff1a,0 2px 3px #0003}.preview-import-submit:hover:not(:disabled){color:var(--ember);background:linear-gradient(#5a5a5a 0%,#464646 100%);border-color:#c75b2a66}.preview-import--items .preview-import-submit:hover:not(:disabled){color:var(--gold-primary);border-color:#d4a85a66}.preview-import-submit:disabled{opacity:.5;cursor:not-allowed}.preview-import-error{margin:0 var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:#c44;background:linear-gradient(#b43c3c26 0%,#b43c3c14 100%);border:1px solid #b43c3c66;font-size:.8rem}.preview-import-success{margin:0 var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:#4a8c4a;background:linear-gradient(#4a8c4a26 0%,#4a8c4a14 100%);border:1px solid #4a8c4a66;font-size:.8rem}.preview-import-help{padding:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--border-soft);margin-top:var(--space-sm);gap:var(--space-xs);flex-direction:column;display:flex}.preview-import-template{align-items:center;gap:var(--space-xs);color:var(--ember);transition:color var(--transition-fast);font-size:.8rem;text-decoration:none;display:inline-flex}.preview-import-template:hover{color:var(--gold-primary);text-decoration:underline}.preview-import--items .preview-import-template{color:var(--gold-primary)}.preview-import--items .preview-import-template:hover{color:var(--gold-bright)}.preview-import-instructions{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.5}@media (width<=600px){.preview-import-dropdown{width:280px;right:0}}@media (width<=400px){.preview-import-dropdown{top:auto;bottom:var(--space-md);left:var(--space-md);right:var(--space-md);width:auto;position:fixed}}.print-instructions{box-sizing:border-box;color:#000;page-break-after:always;break-after:page;background:#fff;width:8in;height:10.5in;margin:0 auto;padding:.5in;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.print-instructions h1{border-bottom:2px solid #333;margin:0 0 .5rem;padding-bottom:.5rem;font-size:2rem}.print-instructions .intro{color:#444;margin:0 0 1.5rem;font-size:1.1rem}.print-instructions .settings-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.print-instructions .setting{background:#fafafa;border:1px solid #ccc;border-radius:8px;padding:1rem}.print-instructions .setting h2{text-transform:uppercase;letter-spacing:.05em;color:#666;margin:0 0 .5rem;font-size:.85rem}.print-instructions .setting .value{color:#000;margin:0;font-size:1.25rem;font-weight:600}.print-instructions .setting .note{color:#666;margin:.25rem 0 0;font-size:.85rem;font-style:italic}.print-instructions .tips{background:#fafafa;border:1px solid #ccc;border-radius:8px;padding:1rem}.print-instructions .tips h2{text-transform:uppercase;letter-spacing:.05em;color:#666;margin:0 0 .75rem;font-size:.85rem}.print-instructions .tips ul{margin:0;padding-left:1.25rem}.print-instructions .tips li{margin-bottom:.5rem;line-height:1.4}.print-instructions .tips li:last-child{margin-bottom:0}@media screen{.print-instructions{display:none}}@media print{.print-instructions{-webkit-print-color-adjust:exact;print-color-adjust:exact;display:block}}.spells-page{grid-template-columns:320px 1fr;min-height:calc(100vh - 70px);display:grid;position:relative}.left-pane{background:linear-gradient(180deg, var(--bg-accent) 0%, var(--bg-secondary) 30%, var(--bg-wood-dark) 100%);border-right:3px solid var(--border-wood);flex-direction:column;height:calc(100vh - 70px);display:flex;position:sticky;top:70px;overflow:hidden;box-shadow:inset -2px 0 4px #0000004d,inset 0 2px 4px #0003,4px 0 16px #0000004d}.left-pane:before{content:"";pointer-events:none;z-index:0;background:repeating-linear-gradient(#0000 0 4px,#00000005 4px 8px);position:absolute;inset:0}.filters-section{z-index:1;padding:var(--space-lg);border-bottom:2px solid var(--border-wood);gap:var(--space-md);background:linear-gradient(#0000001a 0%,#0000 30%,#00000026 100%);flex-direction:column;display:flex;position:relative;box-shadow:inset 0 2px 4px #0003,inset 0 -1px #a67c521a}.filter-group{gap:var(--space-xs);flex-direction:column;display:flex}.filter-group label{font-family:var(--font-serif);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:600}.filter-row{gap:var(--space-sm);display:flex}.filter-row .filter-group{flex:1}.search-input{width:100%;padding:var(--space-sm) var(--space-md);border:2px solid var(--border-wood);border-radius:var(--radius-sm);color:var(--text-ink);font-size:.9rem;font-family:var(--font-body);transition:all var(--transition-fast);background:linear-gradient(#d4c4a8 0%,#e0d4c0 50%,#d8cbb4 100%);box-shadow:inset 0 1px 3px #00000026,0 1px #a67c521a}.search-input::placeholder{color:#2a1f1580;font-style:italic}.search-input:hover{border-color:var(--border-gold)}.search-input:focus{border-color:var(--gold-primary);outline:none;box-shadow:inset 0 1px 3px #00000026,0 0 0 2px #d4a85a26,0 0 12px #d4a85a26}.filter-select{width:100%;padding:var(--space-sm);background:linear-gradient(180deg, var(--bg-accent) 0%, var(--bg-secondary) 100%);border:2px solid var(--border-wood);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.8rem;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);box-shadow:inset 0 1px #a67c521a,0 2px 4px #0003}.filter-select:hover{border-color:var(--border-gold);background:linear-gradient(180deg, var(--bg-wood-light) 0%, var(--bg-accent) 100%)}.filter-select:focus{border-color:var(--gold-primary);outline:none;box-shadow:inset 0 1px #a67c521a,0 0 0 2px #d4a85a26}.filter-select option{background:var(--bg-secondary);color:var(--text-primary);padding:var(--space-sm)}.level-range{align-items:center;gap:var(--space-xs);display:flex}.level-range span{color:var(--text-muted);font-size:.75rem;font-weight:600}.level-input{width:44px;padding:var(--space-sm);border:2px solid var(--border-wood);border-radius:var(--radius-sm);color:var(--text-ink);text-align:center;transition:all var(--transition-fast);background:linear-gradient(#d4c4a8 0%,#ddd0bc 100%);font-size:.85rem;font-weight:600;box-shadow:inset 0 1px 2px #0000001a}.level-input:focus{border-color:var(--gold-primary);outline:none;box-shadow:inset 0 1px 2px #0000001a,0 0 0 2px #d4a85a26}.filter-actions{gap:var(--space-sm);display:flex}.action-btn{padding:var(--space-sm) var(--space-md);background:linear-gradient(180deg, var(--iron-light) 0%, var(--iron) 50%, var(--iron-dark) 100%);border:1px solid var(--border-iron);border-radius:var(--radius-sm);font-family:var(--font-serif);letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex:1;font-size:.7rem;font-weight:600;box-shadow:inset 0 1px #ffffff1a,0 2px 4px #0000004d}.action-btn:hover{color:var(--gold-primary);background:linear-gradient(#5a5a5a 0%,#464646 50%,#323232 100%);border-color:#d4a85a66;transform:translateY(-1px)}.action-btn:active{transform:translateY(0);box-shadow:inset 0 2px 4px #0000004d,0 1px 2px #0003}.clear-btn{color:var(--text-muted)}.clear-btn:hover{color:#c44;border-color:#b43c3c66}.spells-list{z-index:1;padding:var(--space-sm);flex-direction:column;flex:1;gap:2px;display:flex;position:relative;overflow-y:auto}.main-pane{background:radial-gradient(ellipse 70% 50% at 60% 30%, #d4a85a0d 0%, transparent 50%), linear-gradient(180deg, var(--bg-main) 0%, var(--bg-stone) 100%);flex-direction:column;height:calc(100vh - 70px);display:flex;position:relative;overflow:hidden}.empty-state{text-align:center;padding:var(--space-2xl);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.empty-icon{margin-bottom:var(--space-lg);opacity:.5;filter:grayscale(.3);font-size:3.5rem}.empty-state h2{font-family:var(--font-serif);color:var(--text-primary);margin-bottom:var(--space-sm);letter-spacing:.04em;text-transform:uppercase;font-size:1.5rem}.empty-state>p{color:var(--text-muted);margin-bottom:var(--space-2xl);font-size:.95rem}.empty-state .instructions{border:2px solid var(--border-wood);border-radius:var(--radius-md);padding:var(--space-xl) var(--space-2xl);text-align:left;background:linear-gradient(145deg,#e0d4c0 0%,#d8cbb4 50%,#d0c0a8 100%);max-width:420px;box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff4d}.empty-state .instructions p{color:var(--text-ink);margin:0;font-size:.9rem;line-height:1.8}.cards-header{padding:var(--space-md) var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-md);background:linear-gradient(180deg, var(--iron-light) 0%, var(--iron) 100%);border-bottom:2px solid var(--border-iron);flex-wrap:wrap;flex-shrink:0;display:flex;box-shadow:inset 0 1px #ffffff14,0 4px 12px #0000004d}.cards-header h2{font-family:var(--font-serif);color:var(--text-primary);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:1rem;font-weight:600}.cards-header-controls{align-items:center;gap:var(--space-md);width:100%;display:flex}.border-color-control{align-items:flex-end;gap:var(--space-sm);display:flex}.apply-all-btn{padding:var(--space-sm) var(--space-md);background:linear-gradient(180deg, var(--bg-accent) 0%, var(--bg-secondary) 100%);border:1px solid var(--border-wood);border-radius:var(--radius-sm);font-family:var(--font-serif);letter-spacing:.04em;text-transform:uppercase;color:var(--gold-primary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);font-size:.7rem;font-weight:600;box-shadow:0 2px 4px #0003}.apply-all-btn:hover{background:linear-gradient(180deg, var(--bg-wood-light) 0%, var(--bg-accent) 100%);border-color:var(--gold-primary);box-shadow:0 2px 4px #0003,0 0 8px #d4a85a26}.apply-all-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.download-btn{padding:var(--space-sm) var(--space-lg);background:linear-gradient(180deg, var(--gold-bright) 0%, var(--gold-primary) 50%, var(--gold-muted) 100%);border-radius:var(--radius-sm);font-family:var(--font-serif);letter-spacing:.05em;text-transform:uppercase;color:var(--text-ink);cursor:pointer;transition:all var(--transition-fast);border:2px solid #e8c06a99;margin-left:auto;font-size:.8rem;font-weight:600;box-shadow:inset 0 1px #ffffff4d,0 4px 12px #0006,0 0 15px #d4a85a40}.download-btn:hover{background:linear-gradient(180deg, #f0d080 0%, var(--gold-bright) 50%, var(--gold-primary) 100%);transform:translateY(-2px);box-shadow:inset 0 1px #fff6,0 6px 20px #00000080,0 0 25px #d4a85a59}.download-btn:active{transform:translateY(0)}.download-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.selected-cards{padding:var(--space-lg);gap:var(--space-md);flex-wrap:wrap;flex:1;place-content:start flex-start;display:flex;overflow-y:auto}.card-wrapper{position:relative}.card-border-picker{z-index:10;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.card-color-btn{cursor:pointer;width:24px;height:24px;transition:all var(--transition-fast);border:2px solid #ffffffb3;border-radius:50%;box-shadow:0 2px 6px #0006,inset 0 1px #fff3}.card-color-btn:hover{transform:scale(1.15);box-shadow:0 4px 12px #00000080,inset 0 1px #fff3}.card-color-dropdown{margin-top:var(--space-sm);background:var(--bg-secondary);border:2px solid var(--border-wood);border-radius:var(--radius-md);padding:var(--space-md);z-index:100;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080}.print-area{grid-template-columns:repeat(3,2.5in);justify-content:center;gap:.125in .25in;width:8in;margin:0 auto;padding:.25in;display:grid}@media print{@page{size:letter;margin:.125in .25in}.print-area{grid-template-columns:repeat(3,2.5in);justify-content:center;gap:.125in .25in;width:8in;margin:0 auto;padding:0;display:grid}}.mobile-overlay,.mobile-filter-toggle{display:none}@media (width<=900px){.spells-page{grid-template-columns:1fr;position:relative}.mobile-overlay{z-index:40;background:#0009;animation:.2s fadeIn;display:block;position:fixed;inset:70px 0 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-filter-toggle{align-items:center;gap:var(--space-sm);bottom:var(--space-lg);z-index:60;padding:var(--space-sm) var(--space-lg);background:linear-gradient(180deg, var(--gold-bright) 0%, var(--gold-primary) 50%, var(--gold-muted) 100%);border-radius:var(--radius-lg);font-family:var(--font-serif);letter-spacing:.05em;text-transform:uppercase;color:var(--text-ink);cursor:pointer;transition:all var(--transition-fast);border:2px solid #e8c06a99;font-size:.85rem;font-weight:600;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff4d,0 4px 16px #00000080,0 0 20px #d4a85a4d}.mobile-filter-toggle:hover{background:linear-gradient(180deg, #f0d080 0%, var(--gold-bright) 50%, var(--gold-primary) 100%);transform:translate(-50%)translateY(-2px);box-shadow:inset 0 1px #fff6,0 6px 24px #0009,0 0 30px #d4a85a66}.mobile-filter-toggle:active{transform:translate(-50%)translateY(0)}.toggle-icon{font-size:1rem}.selection-badge{min-width:22px;height:22px;padding:0 var(--space-xs);background:var(--gold-muted);color:var(--text-ink);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex;box-shadow:0 0 8px #d4a85a66,inset 0 1px #ffffff4d}.left-pane{z-index:50;border-right:3px solid var(--border-wood);border-bottom:none;width:85%;max-width:360px;height:calc(100vh - 70px);transition:transform .3s;position:fixed;top:70px;left:0;transform:translate(-100%)}.left-pane.open{transform:translate(0);box-shadow:4px 0 24px #00000080,inset -2px 0 4px #0000004d}.main-pane{height:auto;min-height:calc(100vh - 70px);padding-bottom:80px}.selected-cards{justify-content:center}}@media (width<=600px){.filter-row{flex-direction:column}.filters-section,.cards-header,.selected-cards{padding:var(--space-md)}.cards-header-controls{gap:var(--space-sm);flex-wrap:wrap}.border-color-control{flex-wrap:wrap}.download-btn{justify-content:center;width:100%;margin-left:0}}.item-card-mini{border:1px solid var(--border-wood);border-left:3px solid var(--border-wood);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:all var(--transition-fast);background:linear-gradient(90deg,#d4c4a814 0%,#e0d4c01f 50%,#d4c4a814 100%);flex-direction:column;gap:2px;display:flex;position:relative;box-shadow:inset 0 1px #a67c5214,0 1px 2px #00000026}.item-card-mini:hover{border-color:var(--border-gold);border-left-color:var(--gold-primary);background:linear-gradient(90deg,#d4c4a826 0%,#e0d4c033 50%,#d4c4a826 100%);transform:translate(3px);box-shadow:inset 0 1px #a67c521f,0 2px 4px #0003,0 0 8px #d4a85a26}.item-card-mini.selected{border-color:var(--gold-primary);border-left-color:var(--gold-primary);background:linear-gradient(90deg,#d4a85a1f 0%,#d4a85a2e 50%,#d4a85a1f 100%);border-left-width:4px;box-shadow:inset 0 1px #d4a85a1a,0 2px 4px #0003,0 0 12px #d4a85a33}.item-card-mini.selected:hover{border-color:var(--gold-primary)}.item-card-mini-header{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.item-card-mini h3{font-family:var(--font-body);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;transition:color var(--transition-fast);flex:1;margin:0;font-size:.85rem;font-weight:500;overflow:hidden}.item-card-mini:hover h3{color:var(--gold-primary)}.item-card-mini.selected h3{color:var(--gold-primary);font-weight:600}.item-card-mini-meta{gap:var(--space-sm);align-items:baseline;display:flex}.item-type{font-family:var(--font-body);color:var(--text-muted);font-size:.7rem;font-weight:500}.item-rarity{font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.04em;color:var(--rarity-common);background:#9a877626;border:1px solid #9a87764d;border-radius:3px;padding:.1rem .4rem;font-size:.65rem;font-style:normal;font-weight:600}.item-rarity[data-rarity=Uncommon],.item-rarity.uncommon{color:var(--rarity-uncommon);background:#4a8c4a26;border-color:#4a8c4a4d}.item-rarity[data-rarity=Rare],.item-rarity.rare{color:var(--rarity-rare);background:#4a6a9c26;border-color:#4a6a9c4d}.item-rarity[data-rarity=Very\ Rare],.item-rarity.very-rare{color:var(--rarity-very-rare);background:#7a4a9c26;border-color:#7a4a9c4d}.item-rarity[data-rarity=Legendary],.item-rarity.legendary{color:var(--rarity-legendary);text-shadow:0 0 8px #d4a85a4d;background:#d4a85a26;border-color:#d4a85a4d}.item-checkbox{appearance:none;top:var(--space-sm);right:var(--space-sm);cursor:pointer;background:linear-gradient(145deg, var(--iron-light) 0%, var(--iron) 100%);border:2px solid var(--border-iron);border-radius:var(--radius-sm);width:18px;height:18px;transition:all var(--transition-fast);position:absolute;box-shadow:inset 0 1px #ffffff1a,0 1px 2px #0003}.item-checkbox:hover{border-color:var(--gold-primary);box-shadow:inset 0 1px #ffffff1a,0 0 6px #d4a85a33}.item-checkbox:checked{background:linear-gradient(145deg, var(--gold-primary) 0%, var(--gold-muted) 100%);border-color:var(--gold-primary);box-shadow:inset 0 1px 0 #ffffff4d, 0 0 8px var(--glow-gold)}.item-checkbox:checked:after{content:"✦";color:var(--text-ink);text-shadow:0 0 2px #ffffff80;font-size:.6rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.item-checkbox:focus-visible{border-color:var(--gold-primary);box-shadow:inset 0 1px 0 #ffffff1a, 0 0 0 2px #d4a85a33, 0 0 8px var(--glow-gold);outline:none}.item-card-expanded{box-sizing:border-box;color:#000;background:#fff;border:1px solid #333;border-radius:6px;flex-direction:column;width:240px;min-width:240px;max-width:240px;height:336px;min-height:336px;max-height:336px;padding:.5rem;display:flex;overflow:hidden}.item-card-expanded.print-mode{color:#000;page-break-inside:avoid;break-inside:avoid;background:#fff;border:1px solid #333;border-radius:6px;width:2.5in;min-width:2.5in;max-width:2.5in;height:3.5in;min-height:3.5in;max-height:3.5in;margin:0;padding:.0833in}.item-card-expanded .card-header{border-bottom:1px solid #ccc;flex-shrink:0;justify-content:center;align-items:center;gap:.25rem;padding-bottom:.35rem;display:flex}.item-card-expanded .card-header h2{color:#000;text-overflow:ellipsis;white-space:nowrap;text-align:center;flex:1;margin:0;font-size:.8rem;line-height:1.2;overflow:hidden}.attunement-icon{vertical-align:middle;align-items:center;margin-left:.25rem;font-size:.75rem;display:inline-flex}.attunement-icon svg{vertical-align:middle;display:inline-block}.item-card-expanded .card-content{flex-direction:column;flex:1;justify-content:center;min-height:0;display:flex;overflow:hidden}.card-stats{border-bottom:1px solid #ccc;flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:.25rem .5rem;margin-bottom:.25rem;padding:.25rem 0;display:flex}.stat{color:#444;align-items:center;gap:.15rem;font-size:.55rem;display:inline-flex}.stat-icon{font-size:.6rem}.stat.damage,.stat.ac,.stat.mastery{color:#333}.item-card-expanded .card-description{--scale-factor:1;min-height:0;overflow:hidden}.item-card-expanded .card-description p{font-size:calc(.55rem * var(--scale-factor));color:#333;margin:0 0 .25em;line-height:1.35}.item-card-expanded .card-description p:last-child{margin-bottom:0}.item-card-expanded .card-description strong{color:#000;font-weight:600}.item-card-expanded .card-description em{font-style:italic}.item-card-expanded .card-description h1,.item-card-expanded .card-description h2,.item-card-expanded .card-description h3,.item-card-expanded .card-description h4,.item-card-expanded .card-description h5,.item-card-expanded .card-description h6{font-size:calc(.55rem * var(--scale-factor));color:#000;margin:.4em 0 .2em;font-weight:700;line-height:1.35}.item-card-expanded .card-description h1:first-child,.item-card-expanded .card-description h2:first-child,.item-card-expanded .card-description h3:first-child,.item-card-expanded .card-description h4:first-child,.item-card-expanded .card-description h5:first-child,.item-card-expanded .card-description h6:first-child{margin-top:0}.item-card-expanded .card-description ul,.item-card-expanded .card-description ol{font-size:calc(.55rem * var(--scale-factor));color:#333;margin:.25em 0;padding-left:1em;line-height:1.35}.item-card-expanded .card-description li{margin-bottom:.1em}.item-card-expanded .card-description table{width:100%;font-size:calc(.5rem * var(--scale-factor));border-collapse:collapse;margin:.25em 0}.item-card-expanded .card-description th,.item-card-expanded .card-description td{text-align:left;border:1px solid #999;padding:.1em .2em}.item-card-expanded .card-description th{background:#eee;font-weight:600}.card-charges{color:#555;border-top:1px solid #ccc;flex-shrink:0;align-items:center;gap:.35rem;padding:.25rem 0;display:flex}.charges-label{color:#000;font-size:.55rem;font-weight:600}.charges-boxes{flex-wrap:wrap;gap:3px;display:flex}.card-charges svg{display:block}.card-footer{flex-shrink:0;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:.25rem;display:flex}.card-footer .footer-left{flex-wrap:wrap;align-items:baseline;max-width:75%;display:flex}.card-footer .rarity{color:#666;font-size:.55rem;font-style:italic}.card-footer .footer-separator{color:#666;font-size:.55rem}.card-footer .item-type{color:#666;font-size:.5rem;font-style:italic}.card-footer .weight{color:#666;font-size:.55rem}@media print{.item-card-expanded{-webkit-print-color-adjust:exact;print-color-adjust:exact;page-break-inside:avoid;break-inside:avoid;color:#000!important;background:#fff!important;width:2.5in!important;min-width:2.5in!important;max-width:2.5in!important;height:3.5in!important;min-height:3.5in!important;max-height:3.5in!important;margin:0!important;padding:.0833in!important}.item-card-expanded .card-header h2,.item-card-expanded .card-description p{color:#000!important}}.items-page{grid-template-columns:320px 1fr;min-height:calc(100vh - 70px);display:grid;position:relative}.items-page .left-pane{background:linear-gradient(180deg, var(--bg-accent) 0%, var(--bg-secondary) 30%, var(--bg-wood-dark) 100%);border-right:3px solid var(--border-wood);flex-direction:column;height:calc(100vh - 70px);display:flex;position:sticky;top:70px;overflow:hidden;box-shadow:inset -2px 0 4px #0000004d,inset 0 2px 4px #0003,4px 0 16px #0000004d}.items-page .left-pane:before{content:"";pointer-events:none;z-index:0;background:repeating-linear-gradient(#0000 0 4px,#00000005 4px 8px);position:absolute;inset:0}.items-page .filters-section{z-index:1;padding:var(--space-lg);border-bottom:2px solid var(--border-wood);gap:var(--space-md);background:linear-gradient(#0000001a 0%,#0000 30%,#00000026 100%);flex-direction:column;display:flex;position:relative;box-shadow:inset 0 2px 4px #0003,inset 0 -1px #a67c521a}.items-page .filter-group{gap:var(--space-xs);flex-direction:column;display:flex}.items-page .filter-group label{font-family:var(--font-serif);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:600}.items-page .filter-row{gap:var(--space-sm);display:flex}.items-page .filter-row .filter-group{flex:1}.items-page .search-input{width:100%;padding:var(--space-sm) var(--space-md);border:2px solid var(--border-wood);border-radius:var(--radius-sm);color:var(--text-ink);font-size:.9rem;font-family:var(--font-body);transition:all var(--transition-fast);background:linear-gradient(#d4c4a8 0%,#e0d4c0 50%,#d8cbb4 100%);box-shadow:inset 0 1px 3px #00000026,0 1px #a67c521a}.items-page .search-input::placeholder{color:#2a1f1580;font-style:italic}.items-page .search-input:hover{border-color:var(--border-gold)}.items-page .search-input:focus{border-color:var(--gold-primary);outline:none;box-shadow:inset 0 1px 3px #00000026,0 0 0 2px #d4a85a26,0 0 12px #d4a85a26}.items-page .filter-select{width:100%;padding:var(--space-sm);background:linear-gradient(180deg, var(--bg-accent) 0%, var(--bg-secondary) 100%);border:2px solid var(--border-wood);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.8rem;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);box-shadow:inset 0 1px #a67c521a,0 2px 4px #0003}.items-page .filter-select:hover{border-color:var(--border-gold);background:linear-gradient(180deg, var(--bg-wood-light) 0%, var(--bg-accent) 100%)}.items-page .filter-select:focus{border-color:var(--gold-primary);outline:none;box-shadow:inset 0 1px #a67c521a,0 0 0 2px #d4a85a26}.items-page .filter-select option{background:var(--bg-secondary);color:var(--text-primary)}.items-page .filter-actions{gap:var(--space-sm);display:flex}.items-page .action-btn{padding:var(--space-sm) var(--space-md);background:linear-gradient(180deg, var(--iron-light) 0%, var(--iron) 50%, var(--iron-dark) 100%);border:1px solid var(--border-iron);border-radius:var(--radius-sm);font-family:var(--font-serif);letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex:1;font-size:.7rem;font-weight:600;box-shadow:inset 0 1px #ffffff1a,0 2px 4px #0000004d}.items-page .action-btn:hover{color:var(--gold-primary);background:linear-gradient(#5a5a5a 0%,#464646 50%,#323232 100%);border-color:#d4a85a66;transform:translateY(-1px)}.items-page .action-btn:active{transform:translateY(0)}.items-page .clear-btn{color:var(--text-muted)}.items-page .clear-btn:hover{color:#c44;border-color:#b43c3c66}.items-list{z-index:1;padding:var(--space-sm);flex-direction:column;flex:1;gap:2px;display:flex;position:relative;overflow-y:auto}.items-page .main-pane{background:radial-gradient(ellipse 70% 50% at 60% 30%, #d4a85a0d 0%, transparent 50%), linear-gradient(180deg, var(--bg-main) 0%, var(--bg-stone) 100%);flex-direction:column;height:calc(100vh - 70px);display:flex;position:relative;overflow:hidden}.items-page .empty-state{text-align:center;padding:var(--space-2xl);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.items-page .empty-icon{margin-bottom:var(--space-lg);opacity:.5;filter:grayscale(.3);font-size:3.5rem}.items-page .empty-state h2{font-family:var(--font-serif);color:var(--text-primary);margin-bottom:var(--space-sm);letter-spacing:.04em;text-transform:uppercase;font-size:1.5rem}.items-page .empty-state>p{color:var(--text-muted);margin-bottom:var(--space-2xl);font-size:.95rem}.items-page .empty-state .instructions{border:2px solid var(--border-wood);border-radius:var(--radius-md);padding:var(--space-xl) var(--space-2xl);text-align:left;background:linear-gradient(145deg,#e0d4c0 0%,#d8cbb4 50%,#d0c0a8 100%);max-width:420px;box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff4d}.items-page .empty-state .instructions p{color:var(--text-ink);margin:0;font-size:.9rem;line-height:1.8}.items-page .cards-header{padding:var(--space-md) var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-md);background:linear-gradient(180deg, var(--iron-light) 0%, var(--iron) 100%);border-bottom:2px solid var(--border-iron);flex-wrap:wrap;flex-shrink:0;display:flex;box-shadow:inset 0 1px #ffffff14,0 4px 12px #0000004d}.items-page .cards-header h2{font-family:var(--font-serif);color:var(--text-primary);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:1rem;font-weight:600}.items-page .cards-header-controls{align-items:center;gap:var(--space-md);width:100%;display:flex}.items-page .border-color-control{align-items:flex-end;gap:var(--space-sm);display:flex}.items-page .apply-all-btn{padding:var(--space-sm) var(--space-md);background:linear-gradient(180deg, var(--bg-accent) 0%, var(--bg-secondary) 100%);border:1px solid var(--border-wood);border-radius:var(--radius-sm);font-family:var(--font-serif);letter-spacing:.04em;text-transform:uppercase;color:var(--gold-primary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);font-size:.7rem;font-weight:600;box-shadow:0 2px 4px #0003}.items-page .apply-all-btn:hover{background:linear-gradient(180deg, var(--bg-wood-light) 0%, var(--bg-accent) 100%);border-color:var(--gold-primary);box-shadow:0 2px 4px #0003,0 0 8px #d4a85a26}.items-page .apply-all-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.items-page .download-btn{padding:var(--space-sm) var(--space-lg);background:linear-gradient(180deg, var(--gold-bright) 0%, var(--gold-primary) 50%, var(--gold-muted) 100%);border-radius:var(--radius-sm);font-family:var(--font-serif);letter-spacing:.05em;text-transform:uppercase;color:var(--text-ink);cursor:pointer;transition:all var(--transition-fast);border:2px solid #e8c06a99;margin-left:auto;font-size:.8rem;font-weight:600;box-shadow:inset 0 1px #ffffff4d,0 4px 12px #0006,0 0 15px #d4a85a40}.items-page .download-btn:hover{background:linear-gradient(180deg, #f0d080 0%, var(--gold-bright) 50%, var(--gold-primary) 100%);transform:translateY(-2px);box-shadow:inset 0 1px #fff6,0 6px 20px #00000080,0 0 25px #d4a85a59}.items-page .download-btn:active{transform:translateY(0)}.items-page .download-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.items-page .selected-cards{padding:var(--space-lg);gap:var(--space-md);flex-wrap:wrap;flex:1;place-content:start flex-start;display:flex;overflow-y:auto}.items-page .card-wrapper{position:relative}.items-page .card-border-picker{z-index:10;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.items-page .card-color-btn{cursor:pointer;width:24px;height:24px;transition:all var(--transition-fast);border:2px solid #ffffffb3;border-radius:50%;box-shadow:0 2px 6px #0006,inset 0 1px #fff3}.items-page .card-color-btn:hover{transform:scale(1.15);box-shadow:0 4px 12px #00000080,inset 0 1px #fff3}.items-page .card-color-dropdown{margin-top:var(--space-sm);background:var(--bg-secondary);border:2px solid var(--border-wood);border-radius:var(--radius-md);padding:var(--space-md);z-index:100;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080}.items-page .print-area{grid-template-columns:repeat(3,2.5in);justify-content:center;gap:.125in .25in;width:8in;margin:0 auto;padding:.25in;display:grid}@media print{@page{size:letter;margin:.125in .25in}.items-page .print-area{grid-template-columns:repeat(3,2.5in);justify-content:center;gap:.125in .25in;width:8in;margin:0 auto;padding:0;display:grid}}.items-page .mobile-overlay,.items-page .mobile-filter-toggle{display:none}@media (width<=900px){.items-page{grid-template-columns:1fr;position:relative}.items-page .mobile-overlay{z-index:40;background:#0009;animation:.2s itemsFadeIn;display:block;position:fixed;inset:70px 0 0}@keyframes itemsFadeIn{0%{opacity:0}to{opacity:1}}.items-page .mobile-filter-toggle{align-items:center;gap:var(--space-sm);bottom:var(--space-lg);z-index:60;padding:var(--space-sm) var(--space-lg);background:linear-gradient(180deg, var(--gold-bright) 0%, var(--gold-primary) 50%, var(--gold-muted) 100%);border-radius:var(--radius-lg);font-family:var(--font-serif);letter-spacing:.05em;text-transform:uppercase;color:var(--text-ink);cursor:pointer;transition:all var(--transition-fast);border:2px solid #e8c06a99;font-size:.85rem;font-weight:600;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff4d,0 4px 16px #00000080,0 0 20px #d4a85a4d}.items-page .mobile-filter-toggle:hover{background:linear-gradient(180deg, #f0d080 0%, var(--gold-bright) 50%, var(--gold-primary) 100%);transform:translate(-50%)translateY(-2px);box-shadow:inset 0 1px #fff6,0 6px 24px #0009,0 0 30px #d4a85a66}.items-page .mobile-filter-toggle:active{transform:translate(-50%)translateY(0)}.items-page .toggle-icon{font-size:1rem}.items-page .selection-badge{min-width:22px;height:22px;padding:0 var(--space-xs);background:var(--gold-muted);color:var(--text-ink);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex;box-shadow:0 0 8px #d4a85a66,inset 0 1px #ffffff4d}.items-page .left-pane{z-index:50;border-right:3px solid var(--border-wood);border-bottom:none;width:85%;max-width:360px;height:calc(100vh - 70px);transition:transform .3s;position:fixed;top:70px;left:0;transform:translate(-100%)}.items-page .left-pane.open{transform:translate(0);box-shadow:4px 0 24px #00000080,inset -2px 0 4px #0000004d}.items-page .main-pane{height:auto;min-height:calc(100vh - 70px);padding-bottom:80px}.items-page .selected-cards{justify-content:center}}@media (width<=600px){.items-page .filter-row{flex-direction:column}.items-page .filters-section,.items-page .cards-header,.items-page .selected-cards{padding:var(--space-md)}.items-page .cards-header-controls{gap:var(--space-sm);flex-wrap:wrap}.items-page .border-color-control{flex-wrap:wrap}.items-page .download-btn{justify-content:center;width:100%;margin-left:0}}.feature-card-mini{border:1px solid var(--border-wood);border-left:3px solid var(--border-wood);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:all var(--transition-fast);background:linear-gradient(90deg,#d4c4a814 0%,#e0d4c01f 50%,#d4c4a814 100%);flex-direction:column;gap:2px;display:flex;position:relative;box-shadow:inset 0 1px #a67c5214,0 1px 2px #00000026}.feature-card-mini:hover{border-color:var(--border-gold);border-left-color:var(--gold-primary);background:linear-gradient(90deg,#d4c4a826 0%,#e0d4c033 50%,#d4c4a826 100%);transform:translate(3px);box-shadow:inset 0 1px #a67c521f,0 2px 4px #0003,0 0 8px #d4a85a26}.feature-card-mini.selected{border-color:var(--gold-primary);border-left-color:var(--gold-primary);background:linear-gradient(90deg,#d4a85a1f 0%,#d4a85a2e 50%,#d4a85a1f 100%);border-left-width:4px;box-shadow:inset 0 1px #d4a85a1a,0 2px 4px #0003,0 0 12px #d4a85a33}.feature-card-mini.selected:hover{border-color:var(--gold-primary)}.feature-card-mini-header{align-items:center;gap:var(--space-sm);display:flex}.feature-card-mini h3{font-family:var(--font-body);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;transition:color var(--transition-fast);flex:1;margin:0;font-size:.85rem;font-weight:500;overflow:hidden}.feature-card-mini:hover h3{color:var(--gold-primary)}.feature-card-mini.selected h3{color:var(--gold-primary);font-weight:600}.feature-class-icon{width:22px;height:22px;color:var(--text-muted);transition:color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;display:flex}.feature-card-mini:hover .feature-class-icon,.feature-card-mini.selected .feature-class-icon{color:var(--gold-primary)}.feature-card-mini-meta{gap:var(--space-sm);padding-left:calc(22px + var(--space-sm));align-items:baseline;display:flex}.feature-class-level{font-family:var(--font-body);color:var(--text-muted);font-size:.7rem;font-weight:500}.feature-subclass{font-family:var(--font-serif);color:var(--gold-primary);opacity:.8;font-size:.65rem;font-style:italic;font-weight:600}.feature-checkbox{appearance:none;top:var(--space-sm);right:var(--space-sm);cursor:pointer;background:linear-gradient(145deg, var(--iron-light) 0%, var(--iron) 100%);border:2px solid var(--border-iron);border-radius:var(--radius-sm);width:18px;height:18px;transition:all var(--transition-fast);position:absolute;box-shadow:inset 0 1px #ffffff1a,0 1px 2px #0003}.feature-checkbox:hover{border-color:var(--gold-primary);box-shadow:inset 0 1px #ffffff1a,0 0 6px #d4a85a33}.feature-checkbox:checked{background:linear-gradient(145deg, var(--gold-primary) 0%, var(--gold-muted) 100%);border-color:var(--gold-primary);box-shadow:inset 0 1px 0 #ffffff4d, 0 0 8px var(--glow-gold)}.feature-checkbox:checked:after{content:"✦";color:var(--text-primary);text-shadow:0 0 4px #ffffff80;font-size:.6rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.feature-checkbox:focus-visible{border-color:var(--gold-primary);box-shadow:inset 0 1px 0 #ffffff1a, 0 0 0 2px #d4a85a33, 0 0 8px var(--glow-gold);outline:none}.feature-card-expanded{box-sizing:border-box;color:#000;background:#fff;border:1px solid #880c0c;border-radius:6px;flex-direction:column;width:240px;min-width:240px;max-width:240px;height:336px;min-height:336px;max-height:336px;padding:.5rem;display:flex;overflow:hidden}.feature-card-expanded.print-mode{color:#000;page-break-inside:avoid;break-inside:avoid;background:#fff;border:1px solid #880c0c;border-radius:6px;width:2.5in;min-width:2.5in;max-width:2.5in;height:3.5in;min-height:3.5in;max-height:3.5in;margin:0;padding:.0833in}.feature-card-expanded .card-header{border-bottom:1px solid #ccc;flex-shrink:0;align-items:center;gap:.35rem;padding-bottom:.25rem;display:flex}.feature-card-expanded .card-header h2{color:#000;text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:.75rem;line-height:1.2;overflow:hidden}.feature-card-expanded .level-badge{color:#fff;letter-spacing:.02em;text-align:center;text-shadow:0 1px 1px #0006;background:linear-gradient(145deg,#880c0c 0%,#6a0909 100%);border:1px solid #ffffff26;border-radius:3px;flex-shrink:0;min-width:22px;padding:.2rem .5rem;font-size:.6rem;font-weight:700;box-shadow:inset 0 1px #ffffff40,inset 0 -1px 2px #0000004d,0 2px 3px #0000004d}.feature-card-expanded .card-meta{border-bottom:1px solid #eee;flex-shrink:0;align-items:center;gap:.3rem;padding:.15rem 0 .2rem;display:flex}.feature-card-expanded .feature-subclass-name{color:#880c0c;font-size:.55rem;font-style:italic}.feature-card-expanded .card-description{--scale-factor:1;flex:1;min-height:0;padding-top:.25rem;overflow:hidden}.feature-card-expanded .card-description p{font-size:calc(.55rem * var(--scale-factor));color:#333;margin:0 0 .35em;line-height:1.35}.feature-card-expanded .card-description p:last-child{margin-bottom:0}.feature-card-expanded .card-description strong{color:#000;font-weight:600}.feature-card-expanded .card-description em{font-style:italic}.feature-card-expanded .card-description h1,.feature-card-expanded .card-description h2,.feature-card-expanded .card-description h3,.feature-card-expanded .card-description h4,.feature-card-expanded .card-description h5,.feature-card-expanded .card-description h6{font-size:calc(.55rem * var(--scale-factor));color:#000;margin:.4em 0 .2em;font-weight:700;line-height:1.35}.feature-card-expanded .card-description h1:first-child,.feature-card-expanded .card-description h2:first-child,.feature-card-expanded .card-description h3:first-child,.feature-card-expanded .card-description h4:first-child,.feature-card-expanded .card-description h5:first-child,.feature-card-expanded .card-description h6:first-child{margin-top:0}.feature-card-expanded .card-description ul,.feature-card-expanded .card-description ol{font-size:calc(.55rem * var(--scale-factor));color:#333;margin:.25em 0;padding-left:1em;line-height:1.35}.feature-card-expanded .card-description li{margin-bottom:.1em}.feature-card-expanded .card-description table{width:100%;font-size:calc(.5rem * var(--scale-factor));border-collapse:collapse;margin:.25em 0}.feature-card-expanded .card-description th,.feature-card-expanded .card-description td{text-align:left;border:1px solid #999;padding:.1em .2em}.feature-card-expanded .card-description th{background:#eee;font-weight:600}.feature-card-expanded .card-footer{border-top:1px solid #eee;flex-shrink:0;justify-content:flex-start;margin-top:auto;padding-top:.2rem;display:flex}.feature-card-expanded .card-footer .feature-class-name{color:#555;font-size:.55rem;font-style:italic;font-weight:600}@media print{.feature-card-expanded{-webkit-print-color-adjust:exact;print-color-adjust:exact;page-break-inside:avoid;break-inside:avoid;color:#000!important;background:#fff!important;width:2.5in!important;min-width:2.5in!important;max-width:2.5in!important;height:3.5in!important;min-height:3.5in!important;max-height:3.5in!important;margin:0!important;padding:.0833in!important}.feature-card-expanded .card-header h2,.feature-card-expanded .card-description p{color:#000!important}}.features-page{grid-template-columns:320px 1fr;min-height:calc(100vh - 70px);display:grid;position:relative}.features-page .left-pane{background:linear-gradient(180deg, var(--bg-accent) 0%, var(--bg-secondary) 30%, var(--bg-wood-dark) 100%);border-right:3px solid var(--border-wood);flex-direction:column;height:calc(100vh - 70px);display:flex;position:sticky;top:70px;overflow:hidden;box-shadow:inset -2px 0 4px #0000004d,inset 0 2px 4px #0003,4px 0 16px #0000004d}.features-page .left-pane:before{content:"";pointer-events:none;z-index:0;background:repeating-linear-gradient(#0000 0 4px,#00000005 4px 8px);position:absolute;inset:0}.features-page .filters-section{z-index:1;padding:var(--space-lg);border-bottom:2px solid var(--border-wood);gap:var(--space-md);background:linear-gradient(#0000001a 0%,#0000 30%,#00000026 100%);flex-direction:column;display:flex;position:relative;box-shadow:inset 0 2px 4px #0003,inset 0 -1px #a67c521a}.features-page .filter-group{gap:var(--space-xs);flex-direction:column;display:flex}.features-page .filter-group label{font-family:var(--font-serif);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:600}.features-page .filter-row{gap:var(--space-sm);display:flex}.features-page .filter-row .filter-group{flex:1}.features-page .search-input{width:100%;padding:var(--space-sm) var(--space-md);border:2px solid var(--border-wood);border-radius:var(--radius-sm);color:var(--text-ink);font-size:.9rem;font-family:var(--font-body);transition:all var(--transition-fast);background:linear-gradient(#d4c4a8 0%,#e0d4c0 50%,#d8cbb4 100%);box-shadow:inset 0 1px 3px #00000026,0 1px #a67c521a}.features-page .search-input::placeholder{color:#2a1f1580;font-style:italic}.features-page .search-input:hover{border-color:var(--border-gold)}.features-page .search-input:focus{border-color:var(--gold-primary);outline:none;box-shadow:inset 0 1px 3px #00000026,0 0 0 2px #d4a85a26,0 0 12px #d4a85a26}.features-page .filter-select{width:100%;padding:var(--space-sm);background:linear-gradient(180deg, var(--bg-accent) 0%, var(--bg-secondary) 100%);border:2px solid var(--border-wood);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.8rem;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);box-shadow:inset 0 1px #a67c521a,0 2px 4px #0003}.features-page .filter-select:hover{border-color:var(--border-gold);background:linear-gradient(180deg, var(--bg-wood-light) 0%, var(--bg-accent) 100%)}.features-page .filter-select:focus{border-color:var(--gold-primary);outline:none;box-shadow:inset 0 1px #a67c521a,0 0 0 2px #d4a85a26}.features-page .filter-select option{background:var(--bg-secondary);color:var(--text-primary);padding:var(--space-sm)}.features-page .level-range{align-items:center;gap:var(--space-xs);display:flex}.features-page .level-range span{color:var(--text-muted);font-size:.75rem;font-weight:600}.features-page .level-input{width:44px;padding:var(--space-sm);border:2px solid var(--border-wood);border-radius:var(--radius-sm);color:var(--text-ink);text-align:center;transition:all var(--transition-fast);background:linear-gradient(#d4c4a8 0%,#ddd0bc 100%);font-size:.85rem;font-weight:600;box-shadow:inset 0 1px 2px #0000001a}.features-page .level-input:focus{border-color:var(--gold-primary);outline:none;box-shadow:inset 0 1px 2px #0000001a,0 0 0 2px #d4a85a26}.features-page .filter-actions{gap:var(--space-sm);display:flex}.features-page .action-btn{padding:var(--space-sm) var(--space-md);background:linear-gradient(180deg, var(--iron-light) 0%, var(--iron) 50%, var(--iron-dark) 100%);border:1px solid var(--border-iron);border-radius:var(--radius-sm);font-family:var(--font-serif);letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex:1;font-size:.7rem;font-weight:600;box-shadow:inset 0 1px #ffffff1a,0 2px 4px #0000004d}.features-page .action-btn:hover{color:var(--gold-primary);background:linear-gradient(#5a5a5a 0%,#464646 50%,#323232 100%);border-color:#d4a85a66;transform:translateY(-1px)}.features-page .action-btn:active{transform:translateY(0);box-shadow:inset 0 2px 4px #0000004d,0 1px 2px #0003}.features-page .clear-btn{color:var(--text-muted)}.features-page .clear-btn:hover{color:#c44;border-color:#b43c3c66}.features-list{z-index:1;padding:var(--space-sm);flex-direction:column;flex:1;gap:2px;display:flex;position:relative;overflow-y:auto}.features-page .main-pane{background:radial-gradient(ellipse 70% 50% at 60% 30%, #d4a85a0d 0%, transparent 50%), linear-gradient(180deg, var(--bg-main) 0%, var(--bg-stone) 100%);flex-direction:column;height:calc(100vh - 70px);display:flex;position:relative;overflow:hidden}.features-page .empty-state{text-align:center;padding:var(--space-2xl);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.features-page .empty-icon{margin-bottom:var(--space-lg);opacity:.5;filter:grayscale(.3);font-size:3.5rem}.features-page .empty-state h2{font-family:var(--font-serif);color:var(--text-primary);margin-bottom:var(--space-sm);letter-spacing:.04em;text-transform:uppercase;font-size:1.5rem}.features-page .empty-state>p{color:var(--text-muted);margin-bottom:var(--space-2xl);font-size:.95rem}.features-page .empty-state .instructions{border:2px solid var(--border-wood);border-radius:var(--radius-md);padding:var(--space-xl) var(--space-2xl);text-align:left;background:linear-gradient(145deg,#e0d4c0 0%,#d8cbb4 50%,#d0c0a8 100%);max-width:420px;box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff4d}.features-page .empty-state .instructions p{color:var(--text-ink);margin:0;font-size:.9rem;line-height:1.8}.features-page .cards-header{padding:var(--space-md) var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-md);background:linear-gradient(180deg, var(--iron-light) 0%, var(--iron) 100%);border-bottom:2px solid var(--border-iron);flex-wrap:wrap;flex-shrink:0;display:flex;box-shadow:inset 0 1px #ffffff14,0 4px 12px #0000004d}.features-page .cards-header-controls{align-items:center;gap:var(--space-md);width:100%;display:flex}.features-page .border-color-control{align-items:flex-end;gap:var(--space-sm);display:flex}.features-page .apply-all-btn{padding:var(--space-sm) var(--space-md);background:linear-gradient(180deg, var(--bg-accent) 0%, var(--bg-secondary) 100%);border:1px solid var(--border-wood);border-radius:var(--radius-sm);font-family:var(--font-serif);letter-spacing:.04em;text-transform:uppercase;color:var(--gold-primary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);font-size:.7rem;font-weight:600;box-shadow:0 2px 4px #0003}.features-page .apply-all-btn:hover{background:linear-gradient(180deg, var(--bg-wood-light) 0%, var(--bg-accent) 100%);border-color:var(--gold-primary);box-shadow:0 2px 4px #0003,0 0 8px #d4a85a26}.features-page .apply-all-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.features-page .download-btn{padding:var(--space-sm) var(--space-lg);background:linear-gradient(180deg, var(--gold-bright) 0%, var(--gold-primary) 50%, var(--gold-muted) 100%);border-radius:var(--radius-sm);font-family:var(--font-serif);letter-spacing:.05em;text-transform:uppercase;color:var(--text-ink);cursor:pointer;transition:all var(--transition-fast);border:2px solid #e8c06a99;margin-left:auto;font-size:.8rem;font-weight:600;box-shadow:inset 0 1px #ffffff4d,0 4px 12px #0006,0 0 15px #d4a85a40}.features-page .download-btn:hover{background:linear-gradient(180deg, #f0d080 0%, var(--gold-bright) 50%, var(--gold-primary) 100%);transform:translateY(-2px);box-shadow:inset 0 1px #fff6,0 6px 20px #00000080,0 0 25px #d4a85a59}.features-page .download-btn:active{transform:translateY(0)}.features-page .download-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.features-page .selected-cards{padding:var(--space-lg);gap:var(--space-md);flex-wrap:wrap;flex:1;place-content:start flex-start;display:flex;overflow-y:auto}.features-page .card-wrapper{position:relative}.features-page .card-border-picker{z-index:10;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.features-page .card-color-btn{cursor:pointer;width:24px;height:24px;transition:all var(--transition-fast);border:2px solid #ffffffb3;border-radius:50%;box-shadow:0 2px 6px #0006,inset 0 1px #fff3}.features-page .card-color-btn:hover{transform:scale(1.15);box-shadow:0 4px 12px #00000080,inset 0 1px #fff3}.features-page .card-color-dropdown{margin-top:var(--space-sm);background:var(--bg-secondary);border:2px solid var(--border-wood);border-radius:var(--radius-md);padding:var(--space-md);z-index:100;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080}.features-page .print-area{grid-template-columns:repeat(3,2.5in);justify-content:center;gap:.125in .25in;width:8in;margin:0 auto;padding:.25in;display:grid}@media print{@page{size:letter;margin:.125in .25in}.features-page .print-area{grid-template-columns:repeat(3,2.5in);justify-content:center;gap:.125in .25in;width:8in;margin:0 auto;padding:0;display:grid}}.features-page .mobile-overlay,.features-page .mobile-filter-toggle{display:none}@media (width<=900px){.features-page{grid-template-columns:1fr;position:relative}.features-page .mobile-overlay{z-index:40;background:#0009;animation:.2s featureFadeIn;display:block;position:fixed;inset:70px 0 0}@keyframes featureFadeIn{0%{opacity:0}to{opacity:1}}.features-page .mobile-filter-toggle{align-items:center;gap:var(--space-sm);bottom:var(--space-lg);z-index:60;padding:var(--space-sm) var(--space-lg);background:linear-gradient(180deg, var(--gold-bright) 0%, var(--gold-primary) 50%, var(--gold-muted) 100%);border-radius:var(--radius-lg);font-family:var(--font-serif);letter-spacing:.05em;text-transform:uppercase;color:var(--text-ink);cursor:pointer;transition:all var(--transition-fast);border:2px solid #e8c06a99;font-size:.85rem;font-weight:600;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff4d,0 4px 16px #00000080,0 0 20px #d4a85a4d}.features-page .mobile-filter-toggle:hover{background:linear-gradient(180deg, #f0d080 0%, var(--gold-bright) 50%, var(--gold-primary) 100%);transform:translate(-50%)translateY(-2px);box-shadow:inset 0 1px #fff6,0 6px 24px #0009,0 0 30px #d4a85a66}.features-page .mobile-filter-toggle:active{transform:translate(-50%)translateY(0)}.features-page .toggle-icon{font-size:1rem}.features-page .selection-badge{min-width:22px;height:22px;padding:0 var(--space-xs);background:var(--gold-muted);color:var(--text-ink);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex;box-shadow:0 0 8px #d4a85a66,inset 0 1px #ffffff4d}.features-page .left-pane{z-index:50;border-right:3px solid var(--border-wood);border-bottom:none;width:85%;max-width:360px;height:calc(100vh - 70px);transition:transform .3s;position:fixed;top:70px;left:0;transform:translate(-100%)}.features-page .left-pane.open{transform:translate(0);box-shadow:4px 0 24px #00000080,inset -2px 0 4px #0000004d}.features-page .main-pane{height:auto;min-height:calc(100vh - 70px);padding-bottom:80px}.features-page .selected-cards{justify-content:center}}@media (width<=600px){.features-page .filter-row{flex-direction:column}.features-page .filters-section,.features-page .cards-header,.features-page .selected-cards{padding:var(--space-md)}.features-page .cards-header-controls{gap:var(--space-sm);flex-wrap:wrap}.features-page .border-color-control{flex-wrap:wrap}.features-page .download-btn{justify-content:center;width:100%;margin-left:0}}.app{background: radial-gradient(ellipse 60% 40% at 80% 10%, #c75b2a14 0%, transparent 50%),  radial-gradient(ellipse 80% 60% at 20% 80%, #8b5a2b0f 0%, transparent 50%),  linear-gradient(180deg, var(--bg-main) 0%, var(--bg-stone) 100%);flex-direction:column;min-height:100vh;display:flex;position:relative}main{z-index:1;flex:1;position:relative}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:linear-gradient(90deg, var(--bg-wood-dark) 0%, var(--bg-secondary) 50%, var(--bg-wood-dark) 100%);border-left:1px solid var(--border-wood);box-shadow:inset 2px 0 4px #0000004d}::-webkit-scrollbar-thumb{background:linear-gradient(90deg, var(--iron-dark) 0%, var(--iron-light) 30%, var(--iron-light) 70%, var(--iron-dark) 100%);border-radius:var(--radius-sm);border:2px solid var(--bg-secondary);box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #0003}::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg, var(--iron) 0%, #646464 30%, #646464 70%, var(--iron) 100%)}::-webkit-scrollbar-thumb:active{background:linear-gradient(90deg, var(--iron-dark) 0%, var(--iron) 30%, var(--iron) 70%, var(--iron-dark) 100%)}*{scrollbar-width:thin;scrollbar-color:var(--iron-light) var(--bg-secondary)}::selection{color:var(--text-primary);background:#c75b2a59}::selection{color:var(--text-primary);background:#c75b2a59}:focus{outline:none}:focus-visible{outline:2px solid var(--ember);outline-offset:2px;box-shadow:0 0 0 4px var(--ember-soft)}.wood-panel{background:linear-gradient(145deg, var(--bg-accent) 0%, var(--bg-secondary) 50%, var(--bg-wood-dark) 100%);border:2px solid var(--border-wood);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}.iron-plate{background:linear-gradient(180deg, var(--iron-light) 0%, var(--iron) 50%, var(--iron-dark) 100%);border:1px solid var(--border-iron);border-radius:var(--radius-md);box-shadow:inset 0 1px 0 #ffffff1a, var(--shadow-raised)}.parchment{border:2px solid var(--border-wood);border-radius:var(--radius-md);color:var(--text-ink);box-shadow:inset 0 1px 0 #fff6, var(--shadow-raised);background:linear-gradient(145deg,#e0d4c0 0%,#d8cbb4 50%,#d0c0a8 100%)}.ember-glow{position:relative}.ember-glow:before{content:"";background:linear-gradient(135deg, var(--ember) 0%, var(--gold-primary) 100%);border-radius:inherit;opacity:0;z-index:-1;filter:blur(8px);transition:opacity var(--transition-base);position:absolute;inset:-2px}.ember-glow:hover:before{opacity:.3}.gold-glow{position:relative}.gold-glow:before{content:"";background:linear-gradient(135deg, var(--gold-primary) 0%, var(--copper) 100%);border-radius:inherit;opacity:0;z-index:-1;filter:blur(8px);transition:opacity var(--transition-base);position:absolute;inset:-2px}.gold-glow:hover:before{opacity:.25}@media print{body{color:#000;background:#fff}.app{background:#fff}.navigation,.filters-sidebar,.info-sidebar,.download-btn,.cards-header,.left-pane{display:none!important}.print-area{grid-template-columns:repeat(3,2.5in)!important;justify-content:center!important;gap:.125in .25in!important;width:8in!important;margin:0 auto!important;padding:0!important;display:grid!important}main{padding:0}}
