:root{--night-blue-100:#e0e3eb;--night-blue-200:#d1d5e0;--night-blue-300:#a3abc2;--night-blue-400:#727fa1;--night-blue-500:#5c688a;--night-blue-600:#3d455c;--night-blue-700:#292e3d;--night-blue-800:#181b25;--night-blue-900:#0f1117;--night-blue-1000:#080a0e;--blood-red-100:#fff5f6;--blood-red-200:#fed7d9;--blood-red-300:#ffbabe;--blood-red-400:#f99096;--blood-red-500:#f54f59;--blood-red-600:#f33440;--blood-red-700:#a92323;--blood-red-800:#6d080d;--blood-red-900:#470508;--blood-red-1000:#2a0305;--fire-orange-100:#fff8f5;--fire-orange-200:#ffdfce;--fire-orange-300:#ffc7a8;--fire-orange-400:#ffb68f;--fire-orange-500:#ee9363;--fire-orange-600:#e9773a;--fire-orange-700:#cf5717;--fire-orange-800:#933e10;--fire-orange-900:#60280a;--fire-orange-1000:#381705;--sand-beige-100:#fdf9f5;--sand-beige-200:#f0ebe4;--sand-beige-300:#cfbeaa;--sand-beige-400:#b18a5d;--sand-beige-500:#7c5f3e;--sand-beige-600:#554634;--sand-beige-700:#2f2923;--sand-beige-800:#211e1e;--sand-beige-900:#151312;--sand-beige-1000:#0c0b0b;--jade-green-100:#edfcfd;--jade-green-200:#c8f7f9;--jade-green-300:#8ceef2;--jade-green-400:#5ee7ed;--jade-green-500:#19dde6;--jade-green-600:#14acb3;--jade-green-700:#0e7b80;--jade-green-800:#095053;--jade-green-900:#063336;--jade-green-1000:#031f20;--slime-green-100:#d6efda;--slime-green-200:#addfb5;--slime-green-300:#70c77e;--slime-green-400:#34ae47;--slime-green-500:#298b38;--slime-green-600:#1f682a;--slime-green-700:#14451c;--slime-green-800:#0a220e;--slime-green-900:#061609;--slime-green-1000:#030c05;--acid-yellow-100:#f9f4ec;--acid-yellow-200:#f4ecdc;--acid-yellow-300:#eee1c9;--acid-yellow-400:#f0d6a3;--acid-yellow-500:#e4c381;--acid-yellow-600:#eebf62;--acid-yellow-700:#f2a40d;--acid-yellow-800:#c2830a;--acid-yellow-900:#805606;--acid-yellow-1000:#4d3304;--magic-blue-100:#ebf3fe;--magic-blue-200:#d7e7fe;--magic-blue-300:#9cc2fc;--magic-blue-400:#5194fb;--magic-blue-500:#1a74ff;--magic-blue-600:#0962e7;--magic-blue-700:#00398f;--magic-blue-800:#00255c;--magic-blue-900:#00173c;--magic-blue-1000:#000e23;--mindflayer-purple-100:#f8f0ff;--mindflayer-purple-200:#efdcfe;--mindflayer-purple-300:#e8cdfe;--mindflayer-purple-400:#d8aafd;--mindflayer-purple-500:#ba66ff;--mindflayer-purple-600:#930aff;--mindflayer-purple-700:#6701b7;--mindflayer-purple-800:#4a0085;--mindflayer-purple-900:#300057;--mindflayer-purple-1000:#1c0033;--opacity-smoke:#18182599;--opacity-cloud:#cec5ac1a;--font-serif:"Metamorphous", serif;--font-sans-serif:"Commissioner", sans-serif;--font-size-100:8px;--font-size-200:10px;--font-size-300:12px;--font-size-400:14px;--font-size-500:16px;--font-size-600:20px;--font-size-700:24px;--font-size-800:32px;--font-size-900:40px;--font-weight-100:300;--font-weight-200:400;--font-weight-300:500;--font-weight-400:600;--font-weight-500:700;--font-weight-600:800;--spacing-100:2px;--spacing-200:4px;--spacing-300:8px;--spacing-400:12px;--spacing-500:16px;--spacing-600:20px;--spacing-700:24px;--spacing-800:28px;--spacing-900:32px;--spacing-1000:40px;--spacing-1100:48px;--spacing-1200:56px;--spacing-1300:64px;--spacing-1400:72px;--spacing-1500:80px;--spacing-1600:96px;--spacing-1700:128px;--spacing-1800:160px;--radius-100:2px;--radius-200:4px;--radius-300:8px;--radius-400:16px;--radius-500:100px;--color-bg-primary:var(--sand-beige-600);--color-bg-secondary:var(--sand-beige-700);--color-bg-secondary-inverse:var(--sand-beige-200);--color-bg-tertiary:var(--sand-beige-800);--color-surface-primary:var(--blood-red-700);--color-surface-primary-hover:var(--blood-red-600);--color-surface-secondary:var(--sand-beige-700);--color-surface-secondary-hover:var(--sand-beige-500);--color-surface-secondary-active:var(--sand-beige-500);--color-surface-secondary-inverse:var(--sand-beige-600);--color-surface-tertiary:var(--sand-beige-800);--color-surface-tertiaty-active:var(--sand-beige-500);--color-surface-success:var(--slime-green-600);--color-surface-warning:var(--acid-yellow-600);--color-surface-danger:var(--blood-red-600);--color-surface-danger-hover:var(--blood-red-500);--color-text-primary:var(--sand-beige-200);--color-text-primary-hover:var(--blood-red-400);--color-text-secondary:var(--sand-beige-300);--color-text-secondary-hover:var(--sand-beige-100);--color-text-secondary-active:var(--sand-beige-100);--color-text-secondary-inverse:var(--sand-beige-100);--color-text-tertiary:var(--sand-beige-500);--color-text-tertiary-active:var(--sand-beige-300);--color-text-accent:var(--blood-red-500);--color-text-success:var(--slime-green-300);--color-text-warning:var(--acid-yellow-400);--color-text-danger:var(--blood-red-500);--color-text-danger-hover:var(--blood-red-400);--color-border-primary:var(--blood-red-500);--color-border-primary-hover:var(--blood-red-500);--color-border-secondary:var(--sand-beige-600);--color-border-secondary-hover:var(--sand-beige-500);--color-border-secondary-active:var(--sand-beige-400);--color-border-secondary-inverse:var(--sand-beige-600);--color-border-tertiary:var(--sand-beige-700);--color-border-accent:var(--blood-red-700);--color-border-success:var(--slime-green-500);--color-border-warning:var(--acid-yellow-500);--color-border-danger:var(--blood-red-600);--color-border-danger-hover:var(--blood-red-500);--color-icon-primary:var(--blood-red-500);--color-icon-secondary:var(--sand-beige-300);--color-icon-secondary-inverse:var(--sand-beige-500);--color-icon-tertiary:var(--sand-beige-600);--color-icon-danger:var(--blood-red-600);--text-style-display:var(--font-serif);--text-style-base:var(--font-sans-serif);--text-weight-normal:var(--font-weight-200);--text-weight-semibold:var(--font-weight-300);--text-weight-bold:var(--font-weight-400);--text-size-xxs:var(--font-size-100);--text-size-xs:var(--font-size-200);--text-size-sm:var(--font-size-300);--text-size-md:var(--font-size-400);--text-size-lg:var(--font-size-500);--text-size-xl:var(--font-size-600);--text-size-2xl:var(--font-size-700);--text-size-3xl:var(--font-size-800);--text-size-4xl:var(--font-size-900);--spacing-xs:var(--spacing-100);--spacing-sm:var(--spacing-200);--spacing-md:var(--spacing-300);--spacing-lg:var(--spacing-400);--spacing-xl:var(--spacing-500);--spacing-2xl:var(--spacing-600);--spacing-3xl:var(--spacing-700);--spacing-4xl:var(--spacing-800);--spacing-5xl:var(--spacing-900);--spacing-6xl:var(--spacing-1000);--spacing-7xl:var(--spacing-1100);--spacing-8xl:var(--spacing-1200);--spacing-9xl:var(--spacing-1300);--spacing-10xl:var(--spacing-1400);--spacing-11xl:var(--spacing-1500);--spacing-12xl:var(--spacing-1600);--spacing-13xl:var(--spacing-1700);--spacing-14xl:var(--spacing-1800);--radius-sm:var(--radius-100);--radius-md:var(--radius-200);--radius-lg:var(--radius-300);--radius-xl:var(--radius-400);--radius-full:var(--radius-500);--shadow-soft:0 4px 6px -1px #0000004d;--shadow-heavy:0 10px 15px -3px #00000080;--opacity:#0a090cd9;--color-school-abjuration:var(--sand-beige-100);--color-school-conjuration:var(--magic-blue-500);--color-school-divination:var(--acid-yellow-600);--color-school-enchantment:var(--slime-green-500);--color-school-evocation:var(--blood-red-500);--color-school-illusion:var(--mindflayer-purple-500);--color-school-necromancy:var(--night-blue-400);--color-school-transmutation:var(--fire-orange-600);--color-school-universal:var(--sand-beige-400)}[data-theme=light]{--color-bg-secondary:var(--sand-beige-200)}h1,h2,h3,h4,h5,h6{font-family:var(--text-style-display);margin-bottom:var(--spacing-lg);line-height:1.2}h2{color:var(--color-text-secondary);font-size:var(--text-size-xl)}h3{font-size:var(--text-size-md);color:var(--color-text-primary);margin-bottom:var(--spacing-2xl);border-bottom:1px solid var(--color-border-secondary);padding-bottom:var(--spacing-md)}h4{font-size:var(--text-size-md);color:var(--color-text-secondary);margin:var(--spacing-2xl) 0 var(--spacing-lg)}h5{font-size:var(--text-size-md);color:var(--color-text-secondary);margin:0}p{margin-bottom:var(--spacing-md);line-height:1.5}small{font-weight:var(--text-weight-normal);color:var(--color-text-tertiary);font-size:var(--text-size-xs)}.text-accent{color:var(--color-text-primary)!important}.text-muted{color:var(--color-text-secondary)!important}.text-uppercase{text-transform:uppercase;letter-spacing:.05em}.text-bold{font-weight:var(--text-weight-bold)}.text-italic{font-style:italic}.text-center{text-align:center}.text-small{font-size:var(--text-size-sm)}.text-xs{font-size:var(--text-size-xs)}.heading-gold{color:var(--color-text-primary);text-shadow:0 2px 4px #00000080}.flavor-text{font-size:var(--text-size-xs);color:var(--color-text-tertiary);margin:var(--spacing-sm) 0;font-style:italic;display:block}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--text-style-base);background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);background-position:50%;background-size:cover;background-attachment:fixed;height:100vh;overflow:hidden}.app-container{grid-template-rows:minmax(0,1fr);grid-template-columns:64px 400px 1fr;width:100vw;height:100vh;display:grid}.main-menu{background-color:var(--color-bg-secondary);flex-direction:column;display:flex}.main-menu .app-logo{text-align:center;padding:var(--spacing-lg)}.main-menu .app-logo img{width:var(--spacing-5xl);height:auto}.main-menu .app-version{padding:var(--spacing-lg);text-align:center;margin-top:auto}.editor-panel{z-index:10;border-right:1px solid var(--color-border-tertiary);flex-direction:column;display:flex;overflow-y:hidden}.editor-panel__top-bar{padding:var(--spacing-xl);align-items:center;gap:var(--spacing-xl);border-bottom:1px solid var(--color-border-tertiary);flex-direction:row;justify-content:space-between;display:flex}.editor-panel__content{padding:var(--spacing-3xl);font-size:var(--text-size-md);flex:1;overflow-y:auto}.editor-panel .tab-pane{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.editor-panel section{margin-bottom:var(--spacing-3xl)}.editor-panel section h3{margin-bottom:var(--spacing-2xl);border-bottom:1px solid var(--color-border-secondary);padding-bottom:var(--spacing-md)}.sheet-preview{padding:var(--spacing-5xl);align-items:center;gap:var(--spacing-5xl);background-blend-mode:color;background:linear-gradient(#402020 0%,#9990 20%);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sheet-page{color:var(--color-text-primary);width:210mm;min-height:297mm;font-family:var(--text-style-base);zoom:1.15;border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);padding:10mm}.identity-race{font-size:var(--text-size-md);color:var(--color-text-secondary);line-height:1.3}.identity-class{font-size:var(--text-size-md);color:var(--color-text-secondary);font-weight:var(--text-weight-bold);text-transform:uppercase;margin:0;display:block}.level-display-box{align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border-secondary);border-radius:8px;flex-direction:row;display:flex}.level-main,.nep-display-container{flex-direction:column;align-items:center;display:flex}.level-display-label,.nep-label{font-size:var(--text-size-xs);text-transform:uppercase;color:var(--color-text-tertiary);font-weight:var(--text-weight-bold);letter-spacing:.05em}.level-display-value{font-size:var(--text-size-lg);color:var(--color-text-primary);font-weight:var(--text-weight-bold);line-height:1.2}.nep-display-container{padding-left:var(--spacing-lg);border-left:1px solid var(--color-border-secondary)}.nep-value{font-size:var(--text-size-lg);color:var(--color-text-primary);font-weight:var(--text-weight-bold);line-height:1.2}.race-mod{font-size:var(--text-size-md);font-weight:var(--text-weight-bold);height:var(--spacing-2xl);width:var(--spacing-2xl);justify-content:center;align-items:center;display:flex}.race-mod.positive{color:var(--color-text-success)}.race-mod.negative{color:var(--color-text-danger)}.class-features-container{margin-bottom:var(--spacing-3xl);padding:var(--spacing-lg);border:1px solid var(--color-border-tertiary);border-radius:var(--radius-md)}.class-features-title{margin-top:0;margin-bottom:var(--spacing-lg);color:var(--color-text-tertiary);font-size:var(--text-size-md);text-transform:uppercase}.class-features-content{font-size:var(--text-size-md);color:var(--color-text-secondary)}.class-feature-item{margin-bottom:var(--spacing-lg)}.class-feature-title{color:var(--color-text-tertiary);font-weight:var(--text-weight-bold);font-size:inherit}.class-feature-desc{font-size:var(--text-size-sm);color:var(--color-text-secondary);padding-left:var(--spacing-lg);margin-top:2px}.feats-header-bar{border-bottom:1px solid var(--color-border-secondary);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.feats-header-label{font-size:var(--text-size-md);color:var(--color-text-secondary);text-transform:uppercase}.feats-header-count{font-size:var(--text-size-md);color:var(--color-text-secondary);font-weight:var(--text-weight-bold)}.feats-header-count.over-limit,.tab-section.over-limit{color:var(--color-text-danger)}.feat-search-wrapper{gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.feat-selector-group{gap:var(--spacing-sm);margin-bottom:0;display:flex}.feat-selector-group select{flex:1}.feat-error-msg{color:var(--color-text-danger);font-size:var(--text-size-sm);font-weight:var(--text-weight-bold);margin-top:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px;display:block}.editor-selected-list{margin-top:var(--spacing-2xl);gap:var(--spacing-md);flex-direction:column;display:flex}.skill-points-bar{margin-bottom:var(--spacing-2xl);justify-content:flex-end;align-items:center;display:flex}.skill-points-label{font-size:var(--text-size-md);color:var(--color-text-secondary);font-weight:var(--text-weight-bold)}.skill-points-value{color:var(--color-text-secondary)}.spell-counters{gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);font-size:var(--text-size-md);color:var(--color-text-secondary);text-transform:uppercase;display:flex}.spell-count-value{color:var(--color-text-secondary)}.editor-skill-header{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);color:var(--color-text-secondary);font-size:var(--text-size-md);text-transform:uppercase;font-weight:var(--text-weight-bold);border-bottom:1px solid var(--color-border-secondary);padding-bottom:var(--spacing-sm);grid-template-columns:2fr 1fr 1fr;display:grid}.editor-skill-item{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-tertiary);padding-bottom:var(--spacing-sm);grid-template-columns:2fr 1fr 1fr;align-items:center;display:grid}.editor-skill-item label{color:var(--color-text-secondary);font-weight:var(--text-weight-normal);font-size:var(--text-size-md);flex-direction:row;margin:0;display:flex}.editor-skill-item .small-lbl{font-size:var(--text-size-md);color:var(--color-text-tertiary);text-transform:uppercase;display:block}.static-value-box{margin-top:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-secondary);font-size:var(--text-size-5xl);font-weight:var(--text-weight-bold);text-align:center;color:var(--color-text-secondary);border-radius:4px}.center-text{text-align:center}.equip-toolbar{gap:var(--spacing-lg);grid-template-columns:3fr 1fr;display:grid}.equip-toolbar button{grid-column:2}.equip-summary{gap:var(--spacing-sm);color:var(--color-text-secondary);padding:var(--spacing-2xl) 0;z-index:10;flex-direction:column;display:flex;position:sticky;bottom:-24px}.equip-summary .total-weight{font-family:var(--text-style-display);font-size:var(--text-size-5xl);color:var(--color-text-secondary);font-weight:var(--text-weight-bold)}.equip-summary .highlight{margin-right:var(--spacing-xs)}.equip-summary .highlight-light{color:var(--color-text-secondary);font-weight:var(--text-weight-bold)}.equip-summary .highlight-medium{color:var(--color-text-warning);font-weight:var(--text-weight-bold)}.equip-summary .highlight-heavy,.equip-summary .highlight-overloaded{color:var(--color-text-danger);font-weight:var(--text-weight-bold)}.equip-summary .wealth-container{gap:var(--spacing-md);border:1px solid var(--color-border-tertiary);padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);flex-direction:row;justify-content:center;align-items:center;display:flex;position:relative}.equip-summary .wealth-container h5{background-color:var(--color-surface-secondary);margin:0;padding:0 4px;position:absolute;top:-7px;left:6px}.equip-summary .wealth-container>div{border-right:1px solid var(--color-border-tertiary);padding-right:var(--spacing-md)}.equip-summary .penalization{gap:var(--spacing-sm);font-size:var(--text-size-md);flex-direction:column;display:flex}.equip-summary .penalization .penalty-icon{font-size:var(--text-size-xl);color:var(--color-text-danger)}.equip-summary .penalization li{margin-left:var(--spacing-xl)}.equip-summary .penalization .penalization-note{align-items:center;gap:var(--spacing-sm);font-size:var(--text-size-md);color:var(--color-text-danger);flex-direction:row;display:flex}.equip-summary .penalization .penalization-note i{font-size:var(--text-size-md);height:var(--spacing-xl)}.empty-state{text-align:center;padding:var(--spacing-3xl) var(--spacing-lg);margin-top:var(--spacing-lg);font-size:var(--text-size-sm);border:1px solid var(--color-border-tertiary);border-radius:var(--radius-sm)}.empty-state h4{margin-top:var(--spacing-sm);color:var(--color-text-secondary)}.empty-state i{font-size:var(--text-size-3xl);margin-bottom:var(--spacing-xs);color:var(--color-icon-tertiary);display:block}.flex-column{flex-direction:column;display:flex}.flex-row{flex-direction:row;align-items:center;display:flex}.gap-1{gap:var(--spacing-xs)}.gap-2{gap:var(--spacing-sm)}.gap-3{gap:var(--spacing-md)}.gap-4{gap:var(--spacing-lg)}.gap-5{gap:var(--spacing-xl)}.gap-6{gap:var(--spacing-2xl)}.align-center{align-items:center}.justify-between{justify-content:space-between}.grid-2{gap:var(--spacing-lg);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--spacing-lg);grid-template-columns:1fr 1fr 1fr;display:grid}.grid-4{gap:var(--spacing-lg);grid-template-columns:1fr 1fr 1fr 1fr;display:grid}.flex-1{flex:1}html{scrollbar-width:thin;scrollbar-color:var(--color-border-secondary) var(--color-bg-tertiary)}::-webkit-scrollbar{width:var(--spacing-md)}::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--radius-md);border:var(--spacing-xs) solid var(--color-bg-tertiary)}::-webkit-scrollbar-thumb:hover{background:var(--color-surface-secondary-hover)}.btn{font-family:var(--text-style-base);padding:0 var(--spacing-md);height:var(--spacing-5xl);border-radius:var(--radius-md);width:fit-content;font-weight:var(--text-weight-normal);cursor:pointer;font-size:var(--text-size-md);gap:var(--spacing-md);border:none;align-items:center;transition:all .2s;display:flex}.btn .fi{font-size:var(--text-size-lg);height:var(--spacing-xl)}.btn.btn-small{background-color:var(--color-surface-secondary);color:var(--color-text-secondary);height:var(--spacing-3xl);width:var(--spacing-3xl);justify-content:center;padding:0}.btn.btn-small i{margin-left:0}.btn.btn-small:hover{background-color:var(--color-surface-secondary-hover)}.btn.btn-toggle{color:var(--color-text-secondary);border:1px solid var(--color-border-secondary);vertical-align:middle;background-color:#0000;flex-direction:row;justify-content:center;align-items:center;margin:0;display:flex}.btn.btn-toggle input{height:var(--spacing-2xl);width:var(--spacing-2xl)}.btn.btn-toggle span{text-align:center}.btn.btn-toggle:hover{color:var(--color-text-secondary);border:1px solid var(--color-border-secondary)}.btn.btn-toggle.active{color:var(--color-text-secondary-active);background-color:var(--color-surface-secondary-active)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.btn-primary{background:linear-gradient(180deg, var(--color-surface-primary) 0%, var(--color-surface-primary) 100%);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.btn.btn-primary:hover{background:linear-gradient(180deg, var(--color-surface-primary) 0%, var(--color-surface-primary-hover) 100%)}.btn.btn-secondary{background:linear-gradient(180deg, var(--color-surface-secondary) 0%, var(--color-surface-secondary) 100%);color:var(--color-text-secondary);border:1px solid var(--color-border-secondary);transition:background-color .5s}.btn.btn-secondary i{color:var(--color-text-secondary)}.btn.btn-secondary:hover{background:linear-gradient(180deg, var(--color-surface-secondary) 0%, var(--color-surface-secondary-hover) 100%)}.btn.btn-tertiary{color:var(--color-text-secondary);background-color:#0000}.btn.btn-tertiary:hover{background-color:var(--color-surface-secondary-hover)}.btn.btn-danger{color:var(--color-text-danger);border:1px solid var(--color-border-danger);margin-left:var(--spacing-md);background-color:#0000}.btn.btn-danger:hover{background-color:var(--color-surface-danger-hover);color:var(--color-text-danger-hover)}.tab-btn{color:var(--color-text-secondary);padding:var(--spacing-lg) var(--spacing-xs);font-size:var(--text-size-xs);font-weight:var(--text-weight-normal);cursor:pointer;font-family:var(--text-style-base);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:all .2s;display:flex}.tab-btn:hover{color:var(--color-text-secondary-hover)}.tab-btn.active{background-color:var(--color-surface-secondary-active);color:var(--color-text-secondary-active);border-bottom-color:var(--color-border-secondary-active)}.tab-btn .fi{font-size:20px}.dice-btn{border:1px solid var(--color-border-secondary);border-radius:var(--radius-full);color:var(--color-text-primary);cursor:pointer;padding:var(--spacing-md);background-color:#0000;justify-content:center;align-items:center;transition:transform .2s,color .2s,border-color .2s;display:flex}.dice-btn .fi{font-size:var(--text-size-xl);height:20px}.dice-btn:hover{color:var(--color-text-primary);border-color:var(--color-border-secondary-hover);transform:rotate(15deg)scale(1.2)}.coin{align-items:center;gap:var(--spacing-xs);font-size:var(--text-size-md);flex-direction:row;display:flex}.coin i{font-size:var(--text-size-sm);height:var(--spacing-xl);margin-top:6px;display:block;transform:rotate(25deg)}.coin.cp i{color:#b3743a}.coin.sp i{color:#999}.coin.gp i{color:#cea10c}.coin.pp i{color:#badbe5}.badge{font-size:var(--text-size-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);text-transform:uppercase;font-weight:var(--text-weight-semibold);border:1px solid var(--color-border-secondary);background:var(--color-surface-secondary);color:var(--color-text-secondary)}.badge.badge-spell{border-color:var(--color-border-secondary)}.badge.badge-bonus,.badge.badge-action{color:var(--color-text-secondary);border-color:var(--color-border-secondary)}.rpg-tooltip{z-index:10000;background:linear-gradient(to left bottom, var(--color-bg-secondary) 0%, var(--color-bg-tertiary) 100%);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);width:400px;box-shadow:var(--shadow-heavy);pointer-events:none;opacity:0;visibility:hidden;padding:var(--spacing-lg);color:var(--color-text-secondary);font-family:var(--text-style-base);gap:var(--spacing-md);flex-direction:column;transition:opacity .15s;display:flex;position:fixed;overflow:hidden}.rpg-tooltip[data-school=abjuration]{--tooltip-school-color:var(--color-school-abjuration)}.rpg-tooltip[data-school=conjuration]{--tooltip-school-color:var(--color-school-conjuration)}.rpg-tooltip[data-school=divination]{--tooltip-school-color:var(--color-school-divination)}.rpg-tooltip[data-school=enchantment]{--tooltip-school-color:var(--color-school-enchantment)}.rpg-tooltip[data-school=evocation]{--tooltip-school-color:var(--color-school-evocation)}.rpg-tooltip[data-school=illusion]{--tooltip-school-color:var(--color-school-illusion)}.rpg-tooltip[data-school=necromancy]{--tooltip-school-color:var(--color-school-necromancy)}.rpg-tooltip[data-school=transmutation]{--tooltip-school-color:var(--color-school-transmutation)}.rpg-tooltip[data-school=universal]{--tooltip-school-color:var(--color-school-universal)}.rpg-tooltip.visible{opacity:1;visibility:visible}.rpg-tooltip .tooltip-school-glow{pointer-events:none;z-index:1;background:radial-gradient(ellipse 130% 130% at 100% 0%, color-mix(in srgb, var(--tooltip-school-color,transparent) 38%, transparent) 0%, transparent 72%);width:80%;height:80%;position:absolute;top:0;right:0}.rpg-tooltip .tooltip-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);padding-bottom:var(--spacing-sm);z-index:2;margin-bottom:2px;display:flex;position:relative}.rpg-tooltip img,.rpg-tooltip .tooltip-image{width:var(--spacing-12xl);height:var(--spacing-12xl);z-index:3;border-radius:var(--radius-md);border:1px solid var(--color-border-secondary);background-color:var(--color-bg-secondary);position:absolute;top:12px;right:12px}.rpg-tooltip .tooltip-meta-grid,.rpg-tooltip .tooltip-description,.rpg-tooltip .tooltip-footer{z-index:2;position:relative}.rpg-tooltip .tooltip-title-area{flex:1}.rpg-tooltip .tooltip-name{font-family:var(--text-style-display);font-size:var(--text-size-md);color:var(--color-text-secondary);margin:0}.rpg-tooltip .tooltip-subtitle{font-size:var(--text-size-sm);color:var(--color-text-tertiary);text-transform:uppercase;margin-top:var(--spacing-sm)}.rpg-tooltip .tooltip-meta-grid{gap:var(--spacing-sm);font-size:var(--text-size-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-tertiary);grid-template-columns:1fr;display:grid}.rpg-tooltip .tooltip-meta-grid .meta-item{align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);display:flex}.rpg-tooltip .tooltip-meta-grid .meta-item .meta-label{font-size:var(--text-size-xs);text-transform:uppercase;color:var(--color-text-tertiary);min-width:var(--spacing-11xl)}.rpg-tooltip .tooltip-meta-grid .meta-item .meta-value{color:var(--color-text-secondary)}.rpg-tooltip .tooltip-description{font-size:var(--text-size-md);color:var(--color-text-secondary);margin:0}.rpg-tooltip .tooltip-footer{gap:var(--spacing-sm);padding-top:var(--spacing-sm);flex-wrap:wrap;display:flex}.help-text{margin-top:var(--spacing-sm);color:var(--color-text-primary);font-size:var(--text-size-sm);font-weight:var(--text-weight-normal);display:none}.alert-text{margin-top:var(--spacing-sm);color:var(--color-text-danger);font-size:var(--text-size-md);font-weight:var(--text-weight-normal)}.help-icon{width:var(--spacing-2xl);height:var(--spacing-2xl);background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-secondary);font-size:var(--text-size-md);font-family:var(--text-style-base);cursor:help;margin-left:var(--spacing-sm);vertical-align:middle;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.help-icon:hover{background-color:var(--color-bg-secondary-on);color:var(--color-text-secondary);transform:scale(1.1)}label{font-size:var(--text-size-md);color:var(--color-text-secondary);gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);flex-direction:row;align-items:center;display:flex}input,textarea,select{height:var(--spacing-5xl);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--color-border-secondary);background-color:var(--color-surface-tertiary);color:var(--color-text-primary);font-family:var(--text-style-base);width:100%;margin:0;transition:all .2s}input:hover,textarea:hover,select:hover{border-color:var(--color-border-secondary-hover)}input:focus,textarea:focus,select:focus{border-color:var(--color-border-secondary-active);color:var(--color-text-secondary-active);outline:none}input:disabled,textarea:disabled,select:disabled{background-color:var(--color-surface-tertiary);color:var(--color-text-secondary);border-color:var(--color-border-tertiary)}select{appearance:none;padding-right:var(--spacing-2xl);background-image:url(/assets/svg-icons/icon-chevron.svg);background-position:right 10px center;background-repeat:no-repeat;background-size:1em}select.class-select{color:var(--color-text-secondary);border:1px solid var(--color-border-secondary);text-align:left;font-family:var(--text-style-base);border-radius:var(--radius-sm);font-size:var(--text-size-md);padding:8px}textarea{resize:vertical}.form-group{margin-bottom:var(--spacing-lg)}input[type=number]::-webkit-inner-spin-button{opacity:0;cursor:pointer;width:1.5em;transition:opacity .2s}input[type=number]::-webkit-outer-spin-button{opacity:0;cursor:pointer;width:1.5em;transition:opacity .2s}input[type=number]:hover::-webkit-inner-spin-button{opacity:1}input[type=number]:hover::-webkit-outer-spin-button{opacity:1}.search-input-group{align-items:center;width:100%;display:flex;position:relative}.search-icon{left:var(--spacing-md);color:var(--color-text-secondary);pointer-events:none;font-size:14px;transition:color .2s;position:absolute}.search-input{width:100%;padding:var(--spacing-md) var(--spacing-lg) var(--spacing-md) calc(var(--spacing-md) + 22px);border-radius:var(--radius-md);border:1px solid var(--color-border-secondary);background-color:var(--color-surface-tertiary);color:var(--color-text-primary);font-family:var(--text-style-base);font-size:var(--text-size-md);transition:all .2s}.search-input::placeholder{color:var(--color-text-tertiary)}.search-input:focus{color:var(--color-text-primary);background-color:var(--color-surface-tertiary);box-shadow:var(--shadow-light);outline:none}.search-input:focus~.search-icon,.search-input:focus+.search-icon,.search-input-group:focus-within .search-icon{color:var(--color-text-secondary)}.check-box{margin:var(--spacing-2xl) 0;align-items:center;gap:var(--spacing-lg);transition:all .2s;display:flex}.check-box:hover{color:var(--color-text-secondary)}.check-box label{cursor:pointer;align-items:center;gap:8px;width:100%;color:var(--color-text-primary)!important;font-size:var(--text-size-md)!important;flex-direction:row!important;margin-bottom:0!important}.check-box input[type=checkbox]{background-color:var(--color-surface-secondary);accent-color:var(--color-surface-secondary);border-radius:var(--radius-sm);border:1px solid var(--color-border-secondary);cursor:pointer;width:16px!important;height:16px!important;margin-top:0!important}.number-pill-control{border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);height:var(--spacing-5xl);width:100%;max-width:var(--spacing-13xl);justify-content:space-between;align-items:center;display:inline-flex}.number-pill-control .pill-btn{background-color:var(--color-surface-secondary);color:var(--color-text-secondary);border-radius:var(--radius-md);width:var(--spacing-3xl);height:var(--spacing-3xl);cursor:pointer;border:none;justify-content:center;align-items:center;padding:0;font-weight:700;transition:background-color .2s,transform .1s;display:flex}.number-pill-control .pill-btn:hover{background-color:var(--color-surface-secondary-hover)}.number-pill-control .pill-btn:active{transform:scale(.95)}.number-pill-control .pill-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.number-pill-control .pill-btn i{font-size:var(--text-size-lg);height:var(--spacing-xl)}.number-pill-control .pill-input{color:var(--color-text-primary);font-family:var(--text-style-base);font-weight:var(--text-weight-bold);font-size:var(--text-size-md);text-align:center;background:0 0;border:none;flex:1;width:100%;height:auto;padding:0}.number-pill-control .pill-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;display:none}.number-pill-control .pill-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;display:none}.number-pill-control .pill-input{appearance:textfield}.number-pill-control .pill-input:focus{color:var(--color-text-secondary);border:none;outline:none}.app-dropdown{display:inline-block;position:relative}.app-dropdown .dropdown-content{margin-top:var(--spacing-sm);background-color:var(--color-surface-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-heavy);z-index:100;padding:var(--spacing-sm) 0;display:none;position:absolute;top:100%;right:0}.app-dropdown .dropdown-content.show{flex-direction:column;animation:.2s fadeIn;display:flex}.app-dropdown .dropdown-content .dropdown-item{color:var(--color-text-secondary);padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-family:var(--text-style-base);font-size:var(--text-size-md);cursor:pointer;align-items:center;gap:var(--spacing-md);background:0 0;border:none;width:100%;transition:background-color .2s,color .2s;display:flex}.app-dropdown .dropdown-content .dropdown-item:hover{color:var(--color-text-primary);background-color:#ffffff0d}.app-dropdown .dropdown-content .dropdown-item.text-danger{color:var(--color-text-danger)}.app-dropdown .dropdown-content .dropdown-item.text-danger:hover{background-color:var(--color-bg-danger);color:var(--color-text-danger-on)}.app-dropdown .dropdown-content .dropdown-divider{background-color:var(--color-border-secondary);height:1px;margin:var(--spacing-sm) 0;opacity:.5}.spell-level-group .spell-level-header{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--color-border-secondary);background-color:var(--color-bg-secondary);cursor:pointer;font-weight:var(--text-weight-semibold);font-size:var(--text-size-md);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;transition:all .2s;display:flex}.spell-level-group .spell-level-header:hover{background-color:var(--color-bg-secondary-hover);color:var(--color-text-primary);border:1px solid var(--color-border-secondary-hover)}.spell-level-group .spell-level-header .spell-level-header-title{flex:1;min-width:0}.spell-level-group .spell-level-header .spell-level-header-stats{align-items:center;gap:var(--spacing-sm);margin-right:var(--spacing-lg);flex-shrink:0;display:flex}.list-item{background:var(--color-surface-secondary);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);font-size:var(--text-size-md);display:flex}.list-item.is-error{color:var(--color-text-danger);background:var(--color-bg-danger)}.editor-card{background:var(--color-surface-tertiary);padding:var(--spacing-lg);border-radius:var(--radius-md);align-items:flex-start;gap:var(--spacing-xl);border:1px solid var(--color-border-tertiary);transition:background-color .2s;display:flex;position:relative}.editor-card:hover{background:linear-gradient(to bottom left, var(--color-surface-tertiary), var(--color-surface-secondary));border:1px solid var(--color-border-secondary);box-shadow:var(--shadow-md)}.editor-card.is-error{color:var(--color-text-danger)}.editor-card img{border:1px solid var(--color-border-secondary);object-fit:cover;border-radius:4px;width:40px;height:40px}.editor-card .remove-btn{top:var(--spacing-lg);right:var(--spacing-lg);position:absolute}.editor-card .editor-card-body{gap:var(--spacing-md);flex-direction:column;align-items:flex-start;width:100%;display:flex}.editor-card .editor-card-body .editor-card-name{font-family:var(--text-style-display);color:var(--color-text-primary);font-weight:var(--text-weight-semibold);font-size:var(--text-size-md)}.editor-card .editor-card-body .editor-card-name p{font-size:var(--text-size-md);font-family:var(--text-style-base);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.editor-card .editor-card-body .editor-card-data{color:var(--color-text-tertiary);font-weight:var(--text-weight-normal);font-size:var(--text-size-sm)}.editor-card .editor-card-actions{gap:var(--spacing-4xl);grid-template-columns:2fr 2fr;align-items:center;display:grid}.editor-card.selection{cursor:pointer;border:1px solid var(--color-border-secondary);align-items:center}.editor-card.selection .editor-card-body{flex-direction:row;align-items:center}.editor-card.selection:hover{border:1px solid var(--color-border-secondary-hover)}.editor-card.selection.selected{border:1px solid var(--color-border-secondary-active);background-color:var(--color-bg-secondary)}.editor-card-type{font-size:var(--text-size-sm);color:var(--color-text-tertiary);text-transform:uppercase}.editor-card-text{font-size:var(--text-size-md);color:var(--color-text-secondary);margin-top:2px;display:block}.editor-card-flavor{font-size:var(--text-size-md);color:var(--color-text-secondary);margin-top:2px;font-style:italic;display:block}.editor-card-meta{gap:var(--spacing-md);margin:var(--spacing-md) 0;font-size:var(--text-size-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.editor-card-meta strong{color:var(--color-text-secondary);font-weight:var(--text-weight-semibold);text-transform:uppercase;margin-right:2px}.spell-slots-table{border-collapse:collapse;width:100%;margin:var(--spacing-lg) 0;text-align:center;font-family:var(--text-style-base)}.spell-slots-table th{font-size:var(--text-size-xs);text-transform:uppercase;color:var(--color-text-primary);padding:var(--spacing-sm);vertical-align:bottom;border-bottom:2px solid var(--color-border-secondary);line-height:1.2}.spell-slots-table td{padding:var(--spacing-sm);vertical-align:middle}.spell-slots-table .level-cell{font-weight:700;font-size:var(--text-size-sm);color:var(--color-text-secondary)}.spell-slots-table .slot-box{font-size:var(--text-size-md);padding:var(--spacing-sm) var(--spacing-md);line-height:var(--spacing-xl);border:1px solid var(--color-border-secondary);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-weight:var(--text-weight-semibold);display:inline-block}.modal-overlay{background:var(--opacity);z-index:1000;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal{background:linear-gradient(180deg, var(--color-bg-tertiary) 0%, var(--color-bg-secondary) 50%, var(--color-bg-tertiary) 100%);border:1px solid var(--color-border-secondary);border-radius:var(--radius-xl);width:1024px;max-height:80vh;color:var(--color-text-secondary);box-shadow:var(--shadow-heavy);box-shadow:0 0 12px 8px black, 0 0px 0px 10px var(--color-border-tertiary);flex-direction:column;display:flex;position:relative;overflow:clip}.modal.onboarding{width:680px}.modal.onboarding>[id^=welcome-step-]{flex-direction:column;flex:1;min-height:0;overflow:hidden}.modal .modal-header{text-align:left;border-bottom:1px solid var(--color-border-tertiary);margin-bottom:var(--spacing-md);padding:var(--spacing-2xl) var(--spacing-2xl) var(--spacing-md) var(--spacing-2xl);flex-shrink:0}.modal .modal-header h2{font-family:var(--text-style-display);color:var(--color-text-secondary);margin-bottom:var(--spacing-md);text-align:center}.modal .modal-header .subtitle{color:var(--color-text-tertiary);font-size:var(--text-size-md);text-align:center;font-style:italic}.modal .filter-group{gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-2xl);border-bottom:1px solid var(--color-border-tertiary);flex-direction:row;flex-shrink:0;display:flex}.modal .modal-body{gap:var(--spacing-lg);text-align:left;min-height:0;padding:var(--spacing-lg);font-size:var(--text-size-md);color:var(--color-text-secondary);border-radius:var(--radius-md);padding:var(--spacing-2xl);flex-direction:row;flex:1;display:flex;overflow-y:auto}.modal .modal-body pre{text-wrap:auto}.modal .modal-body .equip-modal-list-container{gap:var(--spacing-lg);flex-direction:column;flex:1;max-width:55%;display:flex}.modal .modal-body .equip-modal-list{gap:var(--spacing-sm);padding-right:var(--spacing-sm);flex-direction:column;flex:1;display:flex;overflow-y:auto}.modal .modal-body .equip-modal-detail{padding:var(--spacing-3xl) var(--spacing-2xl);border-radius:var(--radius-lg);margin:var(--spacing-xl);font-size:var(--text-size-lg);flex-direction:column;width:440px;display:flex;overflow-y:auto}.modal .modal-body .equip-modal-detail.active{box-shadow:0 0 0 6px var(--color-surface-tertiary), 0 0 0 8px var(--color-border-secondary), 0 0 0 16px var(--color-border-tertiary);background:radial-gradient(64.11% 24.97% at 23.34% 19.75%,#3f2121 0%,#270f0f00 100%)}.modal .modal-body .equip-modal-detail h3{margin-top:var(--spacing-md)}.modal .modal-body .equip-modal-detail .editor-label{color:var(--color-text-primary);font-size:var(--text-size-md);display:block}.modal .modal-body .equip-modal-detail .equip-detail-image{margin-bottom:var(--spacing-xl);justify-content:center;display:flex}.modal .modal-body .equip-modal-detail .equip-detail-image img{object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--color-border-secondary);width:200px;height:200px}.modal-nav{gap:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-tertiary);margin-top:var(--spacing-md);padding:var(--spacing-2xl);flex-shrink:0;justify-content:end;display:flex}.modal-close{top:var(--spacing-lg);right:var(--spacing-lg);border-radius:var(--radius-md);color:var(--color-text-secondary);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-size-xl);cursor:pointer;background:0 0;border:none;transition:color .2s;position:absolute}.modal-close:hover{color:var(--color-text-secondary-inverse);background-color:var(--color-surface-secondary)}.modal-class-hit-die{color:var(--color-text-secondary);font-weight:var(--text-weight-bold);margin-left:var(--spacing-xs)}.coins-container{gap:var(--spacing-md);flex-direction:column;width:30%;display:flex}.coins-container .form-group{gap:var(--spacing-md);flex-direction:row;justify-content:space-between;align-items:center;width:100%;display:flex}.coins-container .coin{width:140px}.coins-container .coin i{margin-right:var(--spacing-md)}.welcome-body{align-items:center;gap:var(--spacing-lg);padding:var(--spacing-2xl) 0;flex-direction:column;display:flex}.welcome-body .welcome-cta-btn{justify-content:center;width:280px}.tile-grid{gap:var(--spacing-md);max-height:340px;padding-right:var(--spacing-sm);grid-template-columns:repeat(3,1fr);display:grid;overflow-y:auto}.tile-grid .tile-card{border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);padding:var(--spacing-md);cursor:pointer;text-align:left;color:var(--color-text-secondary);gap:var(--spacing-xs);background:#ffffff0a;flex-direction:column;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.tile-grid .tile-card:hover{border-color:var(--color-border-secondary-hover);background:var(--color-bg-secondary-hover)}.tile-grid .tile-card.selected{border-color:var(--color-border-secondary-active);background:var(--color-bg-secondary);box-shadow:0 0 10px #b38b4d40}.tile-grid .tile-card .tile-name{font-family:var(--text-style-display);color:#f7e6c1;font-size:.9rem}.tile-grid .tile-card .tile-detail{color:var(--color-text-tertiary);font-size:.72rem;line-height:1.3}.welcome-summary-bar{border-top:1px solid var(--color-border-tertiary);padding:var(--spacing-2xl);min-height:56px;margin-top:var(--spacing-md);flex-shrink:0}.welcome-summary-bar .summary-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--spacing-xs);font-size:.65rem;display:block}.welcome-summary-bar .summary-title{font-family:var(--text-style-display);color:#f7e6c1;font-size:1rem;display:block}.welcome-summary-bar .summary-traits{color:var(--color-text-secondary);margin-top:var(--spacing-xs);font-size:.75rem;display:block}.welcome-summary-bar .summary-placeholder{color:var(--color-text-secondary);font-size:.8rem;font-style:italic}.dice-container-margin{margin:var(--spacing-md) 0}.dice-container-margin .dice-result-small-text{font-size:var(--text-size-sm)}.dice-container{gap:var(--spacing-md);padding:var(--spacing-md) 0;flex-direction:row;justify-content:left;align-items:center;display:flex}.dice-container .number-pill-control{width:auto;min-width:var(--spacing-12xl)}.asi-selection-area{margin-top:var(--spacing-md);padding:var(--spacing-xl);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.asi-selection-area .asi-selection-label{color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-weight:700;display:block}.asi-selection-area .asi-select-field{text-align:center;width:100%!important}.level-edit-view,.level-up-view{gap:var(--spacing-md);flex-direction:column;width:100%;display:flex}.level-up-btn-group{gap:var(--spacing-md);margin-top:var(--spacing-md);flex-direction:row;justify-content:right;display:flex}.hp-history-list{margin-bottom:var(--spacing-md);border:1px solid var(--color-border-tertiary);width:100%;padding:var(--spacing-md);border-radius:var(--radius-md)}.hp-history-list .hp-history-row{gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-md);border-bottom:1px solid var(--color-border-tertiary);font-size:var(--text-size-sm);color:var(--color-text-primary);grid-template-columns:1fr 1fr auto;align-items:center;display:grid}.hp-history-list .hp-history-row.header{font-size:var(--text-size-xs);text-transform:uppercase;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border-secondary);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-xs);grid-template-columns:250px 1fr auto}.hp-history-list .hp-history-row h4{margin:0}.hp-history-list .hp-history-row .asi-edit-select{width:100%}.hp-history-list .hp-history-row .number-pill-control{width:auto;min-width:var(--spacing-12xl)}.generated-by{font-size:var(--text-size-xs);color:var(--color-text-secondary);text-align:center;display:none}.sheet-header{width:100%;margin-bottom:var(--spacing-xl);gap:var(--spacing-lg);grid-template-columns:1fr 6fr;display:grid}.sheet-header .character-portrait{height:var(--spacing-10xl);width:var(--spacing-10xl);object-fit:cover;border-radius:var(--radius-md);background:var(--color-bg-secondary);margin-left:var(--spacing-lg);box-shadow:0 0 0 6px var(--sand-beige-800), 0 0 0 7px var(--sand-beige-600), 0 0 0 12px var(--sand-beige-700);place-self:center left}.sheet-header .character-portrait.empty-portrait{border-radius:var(--radius-md);align-content:center}.sheet-header .character-portrait.empty-portrait i{font-size:var(--text-size-xl);color:var(--color-text-tertiary);text-align:center;margin:auto;display:block}.sheet-header .sheet-brand-logo{object-fit:contain;place-self:center;max-height:40px}.sheet-header .basic-info{gap:var(--spacing-md);padding:var(--spacing-sm);grid-template-columns:repeat(6,1fr);display:grid}.sheet-header .basic-info .info-field{flex-direction:column;display:flex}.sheet-header .basic-info .info-field .value{font-size:var(--text-size-sm);height:18px;padding-bottom:var(--spacing-xs);margin-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border-secondary);color:var(--color-text-primary)}.sheet-header .basic-info .info-field .value i{font-size:var(--text-size-xs);color:var(--color-icon-danger);margin-left:var(--spacing-xs)}.sheet-header .basic-info .info-field .label{font-family:var(--font-main);font-size:var(--text-size-xs);color:var(--color-text-secondary);text-transform:uppercase}.sheet-header .basic-info>.info-field:first-child,.sheet-header .basic-info>.info-field:nth-child(2),.sheet-header .basic-info>.info-field:nth-child(3){grid-column:span 2}.sheet-header .basic-info>.info-field:nth-child(4),.sheet-header .basic-info>.info-field:nth-child(5){grid-column:span 1}.sheet-header .basic-info>.info-field:nth-child(6){grid-column:span 2}.sheet-body{gap:var(--spacing-xl);grid-template-columns:2fr 3fr;display:grid}.sheet-body .col-left,.sheet-body .col-right{gap:var(--spacing-md);flex-direction:column;display:flex}.box-header{font-family:var(--text-style-display);color:var(--color-text-secondary);font-weight:var(--text-weight-normal);text-transform:uppercase;font-size:var(--text-size-sm);border-bottom:1px solid var(--color-border-secondary);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.box-container{border:1px solid var(--color-border-tertiary);padding:var(--spacing-lg);border-radius:var(--radius-md)}.ability-row{border-bottom:1px solid var(--color-border-tertiary);padding:var(--spacing-sm) 0;align-items:center;gap:var(--spacing-sm);grid-template-columns:3fr 1fr 1fr;display:grid}.ability-row.header{font-size:var(--text-size-xs);color:var(--color-text-secondary);text-transform:uppercase;border-bottom:1px solid var(--color-border-tertiary);text-align:center;padding-top:0}.ability-row.header>span:first-child{text-align:left}.ability-row .name{font-weight:var(--text-weight-semibold);font-size:var(--text-size-sm);text-transform:uppercase;line-height:1.1}.ability-row .score-val,.ability-row .mod-val{font-size:var(--text-size-md);text-align:center;border:1px solid var(--color-border-tertiary);padding:var(--spacing-xs);background:var(--color-bg-secondary);border-radius:4px;min-height:16px}.ability-row .mod-val{font-weight:var(--text-weight-bold);border:1px solid var(--color-border-secondary)}.ability-row:last-child{border-bottom:none;padding-bottom:0}.saves-box{margin-bottom:var(--spacing-3xl);border:1px solid var(--color-border-tertiary);border-radius:var(--radius-md);background:var(--color-surface-secondary);padding:6px}.save-row{border-bottom:1px solid var(--color-border-tertiary);padding:var(--spacing-sm) 0;text-align:center;color:var(--color-text-primary);align-items:center;gap:var(--spacing-sm);grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;display:grid}.save-row.header{font-size:var(--text-size-xs);color:var(--color-text-secondary);text-transform:uppercase;border-bottom:1px solid var(--color-border-tertiary);text-align:center;grid-template-columns:3fr 1fr 1fr 1fr 1fr;padding-top:0}.save-row.header>span:first-child{text-align:left}.save-row .name{text-align:left;font-weight:var(--text-weight-semibold);font-size:var(--text-size-sm);flex-direction:column;display:flex}.save-row .total-val{font-size:var(--text-size-md);font-weight:var(--text-weight-semibold);border:1px solid var(--color-border-secondary);padding:var(--spacing-xs);border-radius:var(--radius-md);background:var(--color-bg-secondary)}.save-row .base-val{padding:var(--spacing-sm);font-size:var(--text-size-sm)}.save-row:last-child{border-bottom:none;padding-bottom:0}.stats-group{gap:var(--spacing-md);flex-direction:row;display:flex}.stat-block{border:1px solid var(--color-border-tertiary);text-align:center;height:var(--spacing-10xl);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.stat-block .stat-val-group{padding:var(--spacing-sm);flex-direction:row;justify-content:center;align-items:center;height:100%;display:flex}.stat-block .stat-val-group .val-wrap{flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.stat-block .label{background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--text-size-xs);font-weight:var(--text-weight-semibold);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border-tertiary);text-transform:uppercase}.stat-block .val{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--text-size-sm);font-weight:var(--text-weight-semibold);color:var(--color-text-primary);align-content:center;height:100%}.stat-block .operator{font-weight:var(--text-weight-normal);font-size:var(--text-size-sm);color:var(--color-text-tertiary)}.stat-block.horizontal{height:var(--spacing-5xl);flex-direction:row}.stat-block.horizontal .label{padding:var(--spacing-sm) var(--spacing-lg);border-bottom:none;border-right:1px solid var(--color-border-tertiary);align-content:center}.ac-box{align-items:center;gap:var(--spacing-sm);border:1px solid var(--color-border-tertiary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:var(--color-surface-secondary);justify-content:space-between;display:flex}.ac-box .ac-total{text-align:center;flex-direction:row;place-content:center;min-width:48px;display:flex}.ac-box .ac-total i{font-size:var(--text-size-xl);color:var(--color-icon-secondary);margin:var(--spacing-sm) var(--spacing-sm) 0 0;align-content:center}.ac-box .ac-total .label{background:var(--color-bg-secondary,var(--color-surface-secondary));color:var(--color-text-secondary-inverse);font-size:var(--text-size-xs);font-weight:var(--text-weight-bold);text-transform:uppercase;padding:2px}.ac-box .ac-total .val{font-size:var(--text-size-lg);font-weight:var(--text-weight-bold);padding:var(--spacing-sm);color:var(--color-text-primary)}.ac-box .ac-breakdown{align-items:center;gap:var(--spacing-sm);font-size:var(--text-size-sm);flex-grow:1;display:flex}.ac-box .ac-breakdown .ac-val-wrap{align-items:center;gap:var(--spacing-sm);flex-direction:column;min-width:24px;display:flex}.ac-box .ac-breakdown .ac-val-wrap .val{font-size:var(--text-size-sm);font-weight:var(--text-weight-semibold);border-bottom:1px solid var(--color-border-tertiary);text-align:center;width:100%;height:100%;color:var(--color-text-primary);padding:var(--spacing-sm) var(--spacing-md);justify-content:center;align-items:center;display:flex}.ac-box .ac-breakdown small{color:var(--color-text-secondary)}.ac-box .ac-breakdown .operator{font-weight:var(--text-weight-semibold);font-size:var(--text-size-md);margin-top:var(--spacing-sm);color:var(--color-text-tertiary)}.out-weapons{gap:var(--spacing-sm);flex-direction:column;display:flex}.out-weapons .weapon-item{gap:var(--spacing-lg);flex-direction:row;display:flex}.out-weapons .weapon-item img{width:var(--spacing-5xl);height:var(--spacing-5xl);object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--color-border-secondary)}.out-weapons .weapon-item .weapon-body{flex-grow:1}.out-weapons .weapon-item .weapon-body .weapon-name{font-family:var(--text-style-display);font-weight:var(--text-weight-semibold);font-size:var(--text-size-md);color:var(--color-text-secondary);padding:0}.out-weapons .weapon-item .weapon-row{border-bottom:1px solid var(--color-border-tertiary);padding:var(--spacing-sm) 0;align-items:center;gap:var(--spacing-sm);font-weight:var(--text-weight-semibold);font-size:var(--text-size-sm);color:var(--color-text-primary);grid-template-columns:1fr 1fr 1fr;display:grid}.out-weapons .weapon-item .weapon-row.main{font-weight:var(--text-weight-bold);font-size:var(--text-size-sm);color:var(--color-text-primary)}.out-weapons .weapon-item .weapon-row.main .value{color:var(--color-text-primary)}.out-weapons .weapon-item .weapon-row.main .label{color:var(--color-text-tertiary);font-weight:var(--text-weight-normal);font-size:var(--text-size-xs)}.out-weapons .weapon-item .weapon-row.details{font-size:var(--text-size-xs);color:var(--color-text-secondary);grid-template-columns:1fr 1fr 1fr}.out-weapons .weapon-item .weapon-row.details .value{color:var(--color-text-primary)}.out-weapons .weapon-item .weapon-row.details .label{color:var(--color-text-tertiary)}.out-weapons .print-empty-msg{font-size:var(--text-size-xs);color:var(--color-text-secondary);text-align:center;padding:var(--spacing-sm);font-style:italic}.weapon-row{flex-direction:row;display:flex}.weapon-row .weapon-col,.skills-box{flex-direction:column;display:flex}.skills-box .skills-header{margin-bottom:var(--spacing-md);font-size:var(--text-size-xs);color:var(--color-text-secondary);text-transform:uppercase;flex-direction:row;justify-content:space-between;align-items:center;display:flex}.skills-box .skills-header span{margin-left:var(--spacing-sm);font-weight:var(--text-weight-semibold);color:var(--color-text-primary)}.skills-table{border-collapse:collapse;width:100%;font-size:var(--text-size-xs)}.skills-table th{padding:var(--spacing-sm);text-align:center;font-weight:var(--text-weight-normal);text-transform:uppercase;font-size:var(--text-size-xs);color:var(--color-text-secondary)}.skills-table td{border:1px solid var(--color-border-tertiary);padding:var(--spacing-xs);text-align:center;color:var(--color-text-primary);line-height:1}.skills-table .skill-class-col{width:5%;font-weight:var(--text-weight-normal)}.skills-table .skill-name-col{text-align:left;font-weight:var(--text-weight-normal);width:61%}.skills-table .skill-abil-col{text-transform:uppercase;width:10%}.skills-table .skill-mod-col{background:var(--color-surface-secondary);width:8%;font-size:var(--text-size-xs)}.skills-table .skill-mod-col i{font-size:var(--text-size-xxs);font-weight:var(--text-weight-semibold);color:var(--color-icon-danger)}.skills-table .skill-rank-col,.skills-table .skill-misc-col{width:8%}.sheet-body-equip{gap:var(--spacing-2xl);flex-direction:column;display:flex}.sheet-body-equip .out-equipment{column-gap:var(--spacing-4xl);row-gap:var(--spacing-sm);grid-template-columns:1fr 1fr;display:grid}.sheet-body-equip .out-equipment .print-item{border-bottom:1px solid var(--color-border-tertiary);padding:var(--spacing-md) 0;gap:var(--spacing-lg);font-weight:var(--text-weight-normal);font-size:var(--text-size-sm);color:var(--color-text-primary);flex-direction:row;display:flex}.sheet-body-equip .out-equipment .print-item img{width:var(--spacing-6xl);height:var(--spacing-6xl);object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--color-border-secondary)}.sheet-body-equip .out-equipment .print-item .item-body{flex-direction:column;flex-grow:1;display:flex}.sheet-body-equip .out-equipment .print-item .item-main{justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-direction:row;display:flex}.sheet-body-equip .out-equipment .print-item .item-name{font-weight:var(--text-weight-semibold);font-size:var(--text-size-md);color:var(--color-text-primary);height:var(--spacing-5xl);align-content:center;display:block}.sheet-body-equip .out-equipment .print-item .item-name .item-qty{border:1px solid var(--color-border-secondary);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-size-xs);color:var(--color-text-secondary);margin-left:var(--spacing-md);display:inline-block}.sheet-body-equip .out-equipment .print-item .item-weight{font-size:var(--text-size-sm);color:var(--color-text-tertiary)}.sheet-body-equip .out-equipment .print-item .item-sub-details{font-size:var(--text-size-sm);color:var(--color-text-secondary);align-items:center;gap:var(--spacing-md);flex-direction:row;display:flex}.sheet-body-equip .out-equipment .print-item .item-sub-details strong{color:var(--color-text-primary)}.sheet-body-equip .out-equipment .print-item .item-sub-details.armor{justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-direction:row;display:flex}.sheet-body-equip .out-equipment .print-item .item-sub-details.desc{font-size:var(--text-size-xs);color:var(--color-text-secondary)}.sheet-body-equip .print-equipment-wealth{justify-content:right;align-items:center;gap:var(--spacing-sm);font-size:var(--text-size-sm);color:var(--color-text-secondary);padding:var(--spacing-lg) 0 var(--spacing-sm) 0;flex-direction:row;display:flex}.sheet-body-equip .print-equipment-wealth .print-equipment-wealth-label{font-size:var(--text-size-sm);font-weight:var(--text-weight-semibold);color:var(--color-text-secondary);font-family:var(--text-style-display);margin-right:var(--spacing-md);margin-top:var(--spacing-sm)}.sheet-body-equip .print-total-weight{gap:var(--spacing-md);font-size:var(--text-size-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-secondary);flex-direction:column;display:flex;position:relative}.sheet-body-equip .print-total-weight .value{font-size:var(--text-size-md);color:var(--color-text-primary);gap:var(--spacing-sm);flex-direction:row;display:flex}.sheet-body-equip .print-total-weight .count{font-size:var(--text-size-sm);color:var(--color-text-primary);gap:var(--spacing-sm);flex-direction:row;display:flex}.sheet-body-equip .print-total-weight .count .print-empty-msg{font-size:var(--text-size-sm);color:var(--color-text-secondary);text-align:center;font-style:italic}.sheet-body-equip .print-total-weight .capacity{font-size:var(--text-size-xs);color:var(--color-text-secondary);gap:var(--spacing-sm);align-items:center;display:flex}.sheet-body-equip .print-total-weight .capacity span{color:var(--color-text-primary);border:1px solid var(--color-border-secondary);padding:var(--spacing-xs);border-radius:var(--radius-sm)}.sheet-body-equip .print-total-weight .load{top:var(--spacing-lg);font-size:var(--text-size-md);color:var(--color-text-secondary);background:var(--color-bg-secondary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--color-border-secondary);position:absolute;right:0}.sheet-body-feats{column-count:2;column-gap:var(--spacing-2xl);display:block}.print-feat-group{break-inside:avoid;font-size:var(--text-size-sm);margin-bottom:var(--spacing-3xl);gap:var(--spacing-md);flex-direction:column;display:flex}.print-feat-group:last-child{border-bottom:none}.print-feat-group .print-feat-card{gap:var(--spacing-sm);border-bottom:1px solid var(--color-border-tertiary);padding:var(--spacing-xs) 0 var(--spacing-lg) var(--spacing-xl);flex-direction:column;display:flex}.print-feat-group .print-feat-card .print-feat-title{color:var(--color-text-secondary);font-weight:var(--text-weight-semibold);font-size:var(--text-size-md);justify-content:space-between;display:flex}.print-feat-group .print-feat-card .print-feat-title .feat-type{color:var(--color-text-tertiary);font-weight:var(--text-weight-normal);font-size:var(--text-size-xs)}.print-feat-group .print-feat-card .print-feat-detail{gap:var(--spacing-sm);font-size:var(--text-size-xs);flex-direction:column;margin:0;display:flex}.print-feat-group .print-feat-card .print-feat-detail-dl{column-gap:var(--spacing-lg);row-gap:var(--spacing-sm);font-size:var(--text-size-xs);grid-template-columns:1fr 2fr;margin:0;display:grid}.print-feat-group .print-feat-card .print-feat-detail-dl-label{color:var(--color-text-secondary);font-weight:var(--text-weight-semibold)}.print-feat-group .print-feat-card .print-feat-detail-dl-value{color:var(--color-text-primary);font-weight:var(--text-weight-normal);font-size:var(--text-size-xs)}.spells-box{gap:var(--spacing-sm);flex-direction:column;display:flex}.spells-box .spells-header{width:100%;margin-bottom:var(--spacing-xl);flex-direction:row;justify-content:space-between;align-items:center;display:flex}.spells-box .spells-header .spells-dc-formula{align-items:center;gap:var(--spacing-sm);flex-direction:row;width:100%;display:flex}.spells-box .spells-header .spells-dc-formula .hint{font-size:var(--text-size-md);color:var(--color-text-primary);font-weight:var(--text-weight-normal)}.spells-box .spells-header .spells-dc-formula .operator{font-size:var(--text-size-sm);color:var(--color-text-secondary);font-weight:var(--text-weight-normal)}.spells-box .sheet-body-spells .box-header{margin-bottom:var(--spacing-xl)}.print-spell-group{font-size:var(--text-size-sm);margin-bottom:var(--spacing-3xl);gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.print-spell-group:last-child{border-bottom:none}.print-spell-group .print-spell{break-inside:avoid;gap:var(--spacing-sm);border:1px solid var(--color-border-tertiary);padding:var(--spacing-md);border-radius:var(--radius-md);flex-direction:column;display:flex}.print-spell-group .print-spell .spell-header{justify-content:flex-start;align-items:center;gap:var(--spacing-md);flex-direction:row;display:flex}.print-spell-group .print-spell .spell-header img{border-radius:var(--radius-md);border:1px solid var(--color-border-secondary)}.print-spell-group .print-spell .spell-header .spell-name{width:100%;color:var(--color-text-secondary);font-weight:var(--text-weight-semibold);font-size:var(--text-size-md);flex-direction:column;display:flex}.print-spell-group .print-spell .spell-header .spell-school{color:var(--color-text-tertiary);font-weight:var(--text-weight-normal);font-size:var(--text-size-xs)}.print-spell-group .print-spell .spell-desc{padding:var(--spacing-md) 0}.print-spell-group .print-spell .spell-meta{gap:var(--spacing-md);border-top:1px solid var(--color-border-tertiary);padding:var(--spacing-md) 0;grid-template-columns:1fr 1fr 1fr 1fr;display:grid}.print-spell-group .print-spell .spell-meta.spell-meta-primary,.print-spell-group .print-spell .spell-meta.spell-meta-extra{grid-template-columns:1fr 1fr 1fr 1fr}.print-spell-group .print-spell .spell-meta .spell-meta-item{justify-content:flex-start;align-items:flex-start;gap:var(--spacing-sm);flex-direction:column;display:flex}.print-spell-group .print-spell .spell-meta .spell-meta-item .label{font-weight:var(--text-weight-normal);font-size:var(--text-size-xs);color:var(--color-text-tertiary)}.print-spell-group .print-spell .spell-meta .spell-meta-item .value{font-weight:var(--text-weight-normal);font-size:var(--text-size-xs);color:var(--color-text-primary)}.spells-summary-box{margin:var(--spacing-xl) 0}@media print{@page{size:A4;margin:0}:root{--color-text-primary:var(--sand-beige-800);--color-text-secondary:var(--sand-beige-700);--color-text-tertiary:var(--sand-beige-600);--color-border-secondary:var(--sand-beige-300);--color-border-tertiary:var(--sand-beige-200);--color-icon-primary:var(--sand-beige-600);--color-icon-secondary:var(--sand-beige-500);--color-icon-tertiary:var(--sand-beige-400)}html,body{background-color:#fff!important;background-image:none!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}.no-print,aside.editor-panel{pointer-events:none!important;width:0!important;height:0!important;margin:0!important;padding:0!important;display:none!important;position:absolute!important}.app-container{width:100%!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;position:static!important}.sheet-preview{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background-color:#0000!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.sheet-page{width:210mm!important;height:auto!important;min-height:auto!important;box-shadow:none!important;page-break-after:always!important;break-after:page!important;zoom:1!important;border:none!important;margin:0 auto!important;padding:10mm!important;display:block!important;position:relative!important;transform:scale(1)!important}.sheet-body{break-inside:auto!important;grid-template-columns:2fr 3fr!important;display:grid!important}.sheet-body-equip{flex-direction:column!important;display:flex!important}.sheet-body-feats{column-count:2!important;display:block!important}.col-left,.col-right{break-inside:auto!important}.box-container,.sheet-header{break-inside:avoid!important}.sheet-page:last-child{page-break-after:auto!important;break-after:auto!important}.character-portrait{background:#fff;box-shadow:0 0 0 6px var(--sand-beige-100), 0 0 0 7px var(--sand-beige-300), 0 0 0 12px var(--sand-beige-200)!important}.character-portrait.empty-portrait i{color:var(--color-text-tertiary)}.generated-by{display:block!important}}
