.cr-tab{display:flex;flex-direction:column;gap:12px}.cr-tab-actions{display:flex;flex-wrap:wrap;gap:8px}.cr-tab-empty-secondary{display:flex;justify-content:center}.cr-list{display:flex;flex-direction:column;gap:8px}.cr-card{display:flex;align-items:stretch;gap:8px;flex:none;padding:10px 12px;border:1px solid var(--dnd-border);border-radius:12px;background:var(--dnd-card-bg);transition-property:border-color,background-color,box-shadow;transition-duration:.16s}.cr-card--active{border-color:var(--dnd-gold-40);background:var(--dnd-gold-06)}.cr-card-main{display:flex;flex-direction:column;gap:6px;flex:1 1 auto;min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation}.cr-card-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;min-width:0}.cr-card-name{font-weight:600;color:var(--dnd-text);overflow-wrap:anywhere}.cr-card-kind,.cr-card-own{padding:1px 7px;border-radius:999px;font-size:.72rem;line-height:1.5;white-space:nowrap}.cr-card-kind{background:var(--dnd-gold-12);color:var(--dnd-gold-light)}.cr-card-own{background:var(--dnd-surface-2);color:var(--dnd-text-secondary)}.cr-card-stats{display:flex;flex-wrap:wrap;gap:14px}.cr-card-stat{display:flex;align-items:baseline;gap:4px;font-size:.86rem;color:var(--dnd-text-secondary)}.cr-card-stat b{font-size:1rem;color:var(--dnd-text)}.cr-card-temp{font-style:normal;color:var(--dnd-info)}.cr-card-stat em{font-style:normal;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-muted)}.cr-card-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:6px}.cr-active-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid var(--dnd-border);border-radius:999px;background:transparent;color:var(--dnd-muted);font-size:.74rem;cursor:pointer;touch-action:manipulation;transition-property:border-color,color,background-color;transition-duration:.16s}.cr-active-toggle.is-on{border-color:var(--dnd-gold-40);background:var(--dnd-gold-12);color:var(--dnd-gold-light)}.cr-active-dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.45}.cr-active-toggle.is-on .cr-active-dot{opacity:1}.cr-card-tools{display:flex;gap:4px}.cr-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--dnd-border);border-radius:8px;background:transparent;color:var(--dnd-text-secondary);cursor:pointer;touch-action:manipulation;transition-property:border-color,color,background-color;transition-duration:.16s}.cr-icon-btn--danger:hover{border-color:var(--dnd-danger);color:var(--dnd-danger)}.cr-kind-picker{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.cr-kind-chips{display:flex;flex-wrap:wrap;gap:6px}.cr-kind-chip{padding:5px 11px;border:1px solid var(--dnd-border);border-radius:999px;background:transparent;color:var(--dnd-text-secondary);font-size:.82rem;cursor:pointer;touch-action:manipulation;transition-property:border-color,color,background-color;transition-duration:.16s}.cr-kind-chip.is-on{border-color:var(--dnd-gold);background:var(--dnd-gold-15);color:var(--dnd-gold-light)}.cr-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;min-width:0;flex:1 1 0}.cr-field-row{display:flex;flex-wrap:wrap;gap:10px}.cr-field-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-muted)}.cr-field-hint{font-size:.76rem;color:var(--dnd-muted)}.cr-input,.cr-textarea{width:100%;padding:8px 10px;border:1px solid var(--dnd-border);border-radius:8px;background:var(--dnd-surface-1);color:var(--dnd-text);font-size:16px;font-family:inherit}.cr-textarea{resize:vertical;line-height:1.5}.cr-abilities{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-bottom:12px}.cr-ability{display:flex;flex-direction:column;gap:3px;align-items:center;min-width:0}.cr-input--score{text-align:center;padding:8px 4px}.cr-editor-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.sg-monster-detail-notes{padding-top:4px;border-top:1px solid var(--dnd-border)}.cr-picker-modal .sg-monster-ref-list{overscroll-behavior:contain}.cr-picker-hint{margin:-4px 0 10px;font-size:.82rem;color:var(--dnd-muted)}.cr-picker-back{flex-shrink:0;background:none;border:none;padding:4px 6px;border-radius:8px;color:var(--dnd-text-secondary);font-size:.9rem;font-family:inherit;cursor:pointer;touch-action:manipulation;transition:color .16s}.cr-picker-back:hover{color:var(--dnd-text)}.cr-preview-footer{position:sticky;bottom:0;z-index:1;display:flex;padding:12px 1.25rem calc(12px + env(safe-area-inset-bottom,0px));background:var(--dnd-surface-1);border-top:1px solid var(--dnd-border)}.cr-add-btn{display:inline-flex;flex:1;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:1px solid var(--dnd-gold);border-radius:12px;background:var(--dnd-gold-15);color:var(--dnd-gold-light);font-size:.92rem;font-weight:600;font-family:inherit;cursor:pointer;touch-action:manipulation;transition-property:filter,background-color;transition-duration:.16s}.cr-add-btn:hover{filter:brightness(1.08)}.cr-add-btn:active{filter:brightness(1.14)}.cr-picker-modal .sg-monster-ref-add-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:30px;height:30px;padding:0;border:1px solid var(--dnd-gold);border-radius:999px;background:var(--dnd-gold-15);color:var(--dnd-gold-light);font-size:1.2rem;font-weight:700;line-height:1;cursor:pointer;touch-action:manipulation;transition:filter .16s,background-color .16s}.cr-picker-modal .sg-monster-ref-add-btn:hover{filter:brightness(1.08)}.cr-picker-modal .sg-monster-ref-add-btn:active{filter:brightness(1.14)}.cr-picker-modal .sg-monster-ref-added{flex-shrink:0;font-size:.78rem;font-weight:700;color:var(--dnd-gold-light);font-variant-numeric:tabular-nums}.cr-add-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--dnd-gold);color:var(--dnd-surface-1);font-size:.74rem;font-weight:700;line-height:1}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper.sheet-tab-swiper{overflow-x:clip;overflow-y:visible;width:100%}.swiper.sheet-tab-swiper .swiper-wrapper{transition-property:-webkit-transform,transform}.swipe-tabs-hint{position:fixed;left:0;right:0;bottom:calc(var(--sheet-tabbar-h, 70px) + 1rem);display:flex;justify-content:center;padding:0 1rem;z-index:60;pointer-events:none;animation:swipe-hint-in .3s ease both}.swipe-tabs-hint__card{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem 1.25rem;max-width:100%;border-radius:var(--radius-lg, 14px);background:var(--dnd-card-bg, rgba(26, 35, 50, .98));border:1px solid var(--dnd-gold-20);box-shadow:0 8px 28px #00000073;animation:swipe-hint-out .4s ease 4.8s both}.swipe-tabs-hint__gesture{display:flex;align-items:center;gap:.35rem;font-size:1.5rem;line-height:1}.swipe-tabs-hint__hand{animation:swipe-hint-hand 1.6s ease-in-out infinite}.swipe-tabs-hint__arrow{color:var(--dnd-gold);font-weight:700;animation:swipe-hint-arrow 1.6s ease-in-out infinite}.swipe-tabs-hint__arrow--left{animation-delay:.8s}.swipe-tabs-hint__arrow--right{animation-delay:0s}.swipe-tabs-hint__text{font-size:.85rem;font-weight:600;color:var(--dnd-text, #e8e6e1);text-align:center}@keyframes swipe-hint-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes swipe-hint-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@keyframes swipe-hint-hand{0%,to{transform:translate(-14px)}50%{transform:translate(14px)}}@keyframes swipe-hint-arrow{0%,to{opacity:.25}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.swipe-tabs-hint,.swipe-tabs-hint__card,.swipe-tabs-hint__hand,.swipe-tabs-hint__arrow{animation-duration:.01ms;animation-iteration-count:1}.swipe-tabs-hint__card{animation:none}}.info-hint{position:relative;display:inline-flex;align-items:center;margin-left:.35rem;vertical-align:middle}.info-hint-btn{width:1.05rem;height:1.05rem;padding:0;border-radius:50%;border:1px solid var(--dnd-gold-40);background:transparent;color:var(--dnd-gold);font-size:.7rem;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.info-hint-btn:hover,.info-hint-btn.is-open{background:var(--dnd-gold);color:var(--dnd-surface-0)}.info-hint-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:var(--z-header);width:max-content;max-width:min(260px,70vw);padding:.5rem .625rem;background:var(--dnd-surface-3);border:1px solid var(--dnd-gold-25);border-radius:var(--radius-md);box-shadow:0 4px 16px #0006;color:var(--dnd-text);font-size:.75rem;font-weight:400;line-height:1.4;text-align:left;white-space:normal}.weapon-mastery-summary{margin-bottom:1rem;padding:.75rem;border:1px solid var(--dnd-border);border-radius:var(--radius-md);background:var(--dnd-surface-3)}.wms-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.wms-title{font-weight:600}.wms-count{font-size:.8rem;opacity:.75}.wms-chips{display:flex;flex-wrap:wrap;gap:.4rem}.wms-chip{padding:3px 9px;border-radius:999px;font-size:.78rem;border:1px solid var(--dnd-accent-gold);background:var(--dnd-gold-18);color:var(--dnd-accent-gold)}.wms-empty{margin:0;font-size:.82rem;opacity:.7}.wms-edit-btn{margin-top:.6rem;padding:.4rem .9rem;border-radius:6px;border:1px solid var(--dnd-gold-30);background:var(--dnd-gold-08);color:var(--dnd-accent-gold);font-size:.82rem;font-weight:600;cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast)}.wms-edit-btn:hover{background:var(--dnd-gold-15);border-color:var(--dnd-accent-gold)}.wm-body{padding:0 1rem 1rem}.wm-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.wm-intro{margin:0;font-size:.85rem;opacity:.8;line-height:1.45}.wm-counter{flex-shrink:0;font-size:.85rem;font-weight:700;color:var(--dnd-accent-gold)}.wm-counter--full{color:var(--dnd-text-light);opacity:.7}.wm-section-label{margin:1rem 0 .5rem;font-size:.78rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--dnd-muted)}.wm-none{margin:0;font-size:.82rem;opacity:.65}.wm-chosen-list{display:flex;flex-direction:column;gap:.5rem}.wm-chosen-card{padding:.55rem .7rem;border:1px solid var(--dnd-accent-gold);border-radius:var(--radius-md);background:var(--dnd-gold-08)}.wm-chosen-head{display:flex;align-items:center;gap:.5rem}.wm-chosen-name{font-weight:600;color:var(--dnd-text-light)}.wm-mastery-badge{font-size:.68rem;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--dnd-gold-20);color:var(--dnd-accent-gold);white-space:nowrap}.wm-mastery-badge--muted{background:var(--dnd-gold-08);opacity:.85}.wm-remove{margin-left:auto;width:22px;height:22px;border:none;border-radius:50%;background:transparent;color:var(--dnd-muted);font-size:1.1rem;line-height:1;cursor:pointer}.wm-remove:hover{color:#ff6b6b;background:#ff6b6b1f}.wm-chosen-desc{margin-top:.35rem;font-size:.8rem;line-height:1.45;opacity:.85}.wm-search{width:100%;padding:.5rem .7rem;margin-bottom:.6rem;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);background:var(--dnd-surface-0);color:var(--dnd-text);font-size:.85rem}.wm-add-list{display:flex;flex-direction:column;gap:.6rem}.wm-group-label{font-size:.74rem;font-weight:600;color:var(--dnd-muted);margin-bottom:.3rem}.wm-group-weapons{display:flex;flex-wrap:wrap;gap:.4rem}.wm-add-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border:1px solid var(--dnd-border);border-radius:999px;background:transparent;color:var(--dnd-text-light);font-size:.78rem;cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast)}.wm-add-chip:hover{border-color:var(--dnd-gold-30);background:var(--dnd-gold-06)}.wm-add-name{font-weight:500}.wm-legend{margin-top:1.1rem}.wm-legend>summary{cursor:pointer;font-size:.82rem;font-weight:600;color:var(--dnd-accent-gold)}.wm-legend-list{margin:.6rem 0 0;display:flex;flex-direction:column;gap:.5rem}.wm-legend-item dt{font-weight:700;font-size:.8rem;color:var(--dnd-text-light)}.wm-legend-item dd{margin:.1rem 0 0;font-size:.8rem;line-height:1.45;opacity:.82}.weapon-mastery-detail{font-size:.8rem;line-height:1.45;color:var(--dnd-text);opacity:.85;background:#ffffff08;border-left:2px solid var(--dnd-gold-25);border-radius:var(--radius-sm);padding:.4rem .65rem;margin:.15rem .65rem .5rem}.weapon-stat-value--muted{opacity:.45;font-weight:400}.weapon-mastery-detail--absent{opacity:.6;font-style:italic;border-left-color:var(--dnd-border);background:#ffffff05}@keyframes sheetFadeIn{0%{opacity:0}to{opacity:1}}@keyframes sectionSlideUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes headerDrop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes goldPulse{0%,to{box-shadow:0 0 8px var(--dnd-gold-15)}50%{box-shadow:0 0 18px var(--dnd-gold-30)}}@keyframes itemAppear{0%{opacity:0;transform:translate(-10px) scale(.97)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes hpFlash{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes criticalPulse{0%,to{opacity:1;box-shadow:0 0 4px #ef53504d}50%{opacity:.7;box-shadow:0 0 12px #ef535099}}@keyframes bloodiedPulse{0%,to{box-shadow:0 0 4px #f39c1233}50%{box-shadow:0 0 10px #f39c1266}}@keyframes slotDeplete{0%{transform:scale(1.3);opacity:1}to{transform:scale(1);opacity:.4}}@keyframes diceShake{0%,to{transform:translate(0)}10%{transform:translate(-3px) rotate(-1deg)}30%{transform:translate(3px) rotate(1deg)}50%{transform:translate(-2px)}70%{transform:translate(2px)}90%{transform:translate(-1px)}}@keyframes nat20Glow{0%{box-shadow:0 0 10px #ffd7004d}50%{box-shadow:0 0 30px #ffd700cc,0 0 60px #ffd7004d}to{box-shadow:0 0 10px #ffd7004d}}@keyframes nat1Flash{0%,to{background:transparent}50%{background:#e74c3c26}}@keyframes tabIndicatorSlide{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.character-sheet{background:linear-gradient(180deg,var(--dnd-darker) 0%,var(--dnd-dark) 50%,var(--dnd-surface-0) 100%);background-attachment:fixed;min-height:100vh;min-height:100dvh;padding:1rem;padding-top:calc(1rem + env(safe-area-inset-top,0px));color:var(--dnd-text);font-family:var(--font-primary);position:relative;animation:sheetFadeIn var(--duration-slow) ease-out}.character-sheet:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,var(--dnd-gold-03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,var(--dnd-red-08) 0%,transparent 50%);pointer-events:none;z-index:0}.sheet-header{display:flex;align-items:center;flex-wrap:nowrap;margin-bottom:.75rem;background:var(--dnd-surface-1);padding:1.25rem 3.25rem 1.25rem 1.25rem;border-radius:var(--radius-xl);border:1px solid var(--dnd-gold-15);box-shadow:var(--shadow-md);position:relative;z-index:var(--z-header);animation:headerDrop var(--duration-slow) ease-out;gap:1rem}.sheet-header:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 10%,var(--dnd-gold) 50%,transparent 90%);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.sheet-header:after{content:"";position:absolute;bottom:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--dnd-gold-20),transparent)}.character-title{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.character-title h1{font-size:2rem;margin:0;color:var(--dnd-gold);text-shadow:0 2px 8px rgba(0,0,0,.5);font-family:var(--font-display);letter-spacing:1.5px;font-weight:700;line-height:1.1;white-space:nowrap}.character-name-editable{cursor:pointer;transition:all .2s ease;padding:.25rem .5rem;border-radius:var(--radius-sm);position:relative}.character-name-editable:hover{background:var(--dnd-gold-10)}.character-name-editable:after{content:" ✎";font-size:.7em;opacity:.5;transition:opacity .2s}.character-name-editable:hover:after{opacity:1}.name-edit-container{display:flex;flex-direction:column;gap:.5rem;margin:0;max-width:100%}.name-edit-actions{display:flex;gap:.5rem}.name-edit-save{padding:.3rem .75rem;font-size:.8rem;background:var(--dnd-success);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:all .2s ease}.name-edit-save:hover{filter:brightness(1.1)}.name-edit-save:active{transform:scale(.97)}.name-edit-cancel{padding:.3rem .75rem;font-size:.8rem;background:var(--dnd-surface-3);color:var(--dnd-text-light);border:1px solid var(--dnd-gold-20);border-radius:var(--radius-sm);cursor:pointer;font-weight:500;transition:all .2s ease}.name-edit-cancel:hover{background:var(--dnd-gold-10)}.name-edit-cancel:active{transform:scale(.97)}.name-edit-input{font-size:1.5rem;font-family:var(--font-primary);letter-spacing:.5px;color:var(--dnd-text);background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-30);border-radius:var(--radius-md);padding:.25rem .5rem;margin:0;width:100%;min-width:0;box-sizing:border-box}.name-edit-input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-15)}.character-sheet .btn-sm{padding:.2rem .4rem;font-size:.75rem;min-width:auto;height:auto}.edit-name-btn{padding:0!important;font-size:1rem!important;background:none!important;border:none!important;cursor:pointer;opacity:.5;transition:opacity .2s;display:none}.edit-name-btn:hover{opacity:1}.name-popover-wrapper{position:relative}.character-name-clickable{cursor:pointer;transition:color var(--duration-fast) ease}.character-name-clickable:hover{color:#e8c86a}.name-popover{position:absolute;top:calc(100% + 4px);left:0;background:var(--dnd-surface-2);border:1px solid var(--dnd-gold-30);border-radius:var(--radius-md);box-shadow:0 4px 16px #0006;padding:.3rem;z-index:var(--z-dropdown);white-space:nowrap}.name-popover-edit-btn{display:block;width:100%;padding:.35rem .75rem;background:none;border:none;color:var(--dnd-text-light);font-size:.82rem;font-weight:500;text-align:left;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--duration-fast) ease}.name-popover-edit-btn:hover{background:var(--dnd-gold-12);color:var(--dnd-gold)}.btn-confirm{background:var(--dnd-success);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:700;transition:all .2s ease;padding:.2rem .4rem;font-size:.75rem}.btn-confirm:hover{filter:brightness(1.1)}.btn-cancel{background:var(--dnd-danger);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:700;transition:all .2s ease;padding:.2rem .4rem;font-size:.75rem}.btn-cancel:hover{filter:brightness(1.1)}.header-info-lines{display:flex;flex-direction:column;gap:.3rem;margin-top:.4rem}.header-info-line{margin:0;font-size:.9rem;color:var(--dnd-text-light);letter-spacing:.3px;display:flex;align-items:center;gap:.4rem}.class-name-with-tooltip{position:relative;cursor:default;text-decoration:underline dotted var(--dnd-gold-50);text-underline-offset:2px}.class-tooltip{visibility:hidden;opacity:0;pointer-events:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--dnd-surface-3);border:1px solid var(--dnd-gold-30);border-radius:var(--radius-md);padding:.25rem .55rem;font-size:.78rem;color:var(--dnd-gold-light);white-space:nowrap;box-shadow:0 4px 12px #0006;transition:opacity var(--duration-fast) ease,visibility var(--duration-fast) ease;z-index:var(--z-dropdown)}.class-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--dnd-gold-30)}.class-name-with-tooltip:hover .class-tooltip,.class-name-with-tooltip:focus .class-tooltip,.class-name-with-tooltip.active .class-tooltip{visibility:visible;opacity:1}.level-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .35rem;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--dnd-gold),var(--dnd-gold-dark));color:var(--dnd-on-gold);font-weight:700;font-size:.8rem;line-height:1;box-shadow:0 1px 4px #0000004d;flex-shrink:0}.header-info-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem;align-items:center}.info-tag{display:inline-block;padding:.05rem .3rem;background:var(--dnd-gold-18);border:1px solid var(--dnd-gold-40);border-radius:var(--radius-full);font-size:.65rem;color:var(--dnd-text-light);letter-spacing:.3px;white-space:nowrap;transition:all .2s ease}.info-tag:hover{background:var(--dnd-gold-30);border-color:var(--dnd-gold-50)}.identity-editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.4rem .6rem;margin-top:.5rem;max-width:32rem}.sheet-header--editable-identity .character-title{padding-top:3.25rem}.identity-field{display:flex;flex-direction:column;gap:.15rem;min-width:0}.identity-field-level{max-width:6rem}.identity-field-name{grid-column:1 / -1}.identity-field-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.5px;color:var(--dnd-muted)}.identity-select,.identity-level-input,.identity-custom-input,.identity-name-input{width:100%;padding:.3rem .4rem;background:var(--dnd-surface-2);border:1px solid var(--dnd-gold-30);border-radius:var(--radius-sm);color:var(--dnd-text-light);font-size:.8rem;font-family:inherit}.identity-custom-input{margin-top:.2rem}.identity-select:focus,.identity-level-input:focus,.identity-custom-input:focus,.identity-name-input:focus{outline:none;border-color:var(--dnd-gold)}.sheet-header-actions{position:absolute;top:.75rem;right:.75rem;z-index:101;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.sheet-header-actions-top{display:flex;align-items:center;gap:.4rem}.sheet-back-btn{display:flex;align-items:center;justify-content:center;gap:.35rem;height:38px;padding:0 .75rem;background:var(--dnd-surface-2);border:1px solid var(--dnd-gold-20);border-radius:var(--radius-md);color:var(--dnd-text-dim);cursor:pointer;font-size:.8rem;white-space:nowrap;transition:all .2s ease}.sheet-back-btn:hover{background:var(--dnd-gold-15);border-color:var(--dnd-gold);color:var(--dnd-gold)}.sheet-back-label{display:inline}@media(max-width:600px){.sheet-back-btn{width:38px;padding:0}.sheet-back-label{display:none}}.burger-menu-wrapper{display:block;position:relative;z-index:101}.burger-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:38px;height:38px;background:var(--dnd-surface-2);border:1px solid var(--dnd-gold-20);border-radius:var(--radius-md);cursor:pointer;padding:8px;transition:all .2s ease}.burger-toggle:hover{background:var(--dnd-gold-15);border-color:var(--dnd-gold)}.burger-toggle span{display:block;width:18px;height:2px;background:var(--dnd-gold);border-radius:2px;transition:all .3s ease}.burger-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger-toggle.open span:nth-child(2){opacity:0}.burger-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.sheet-levelup-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:36px;padding:0 .85rem;background:var(--dnd-gold-15);border:1px solid var(--dnd-gold);border-radius:var(--radius-md);color:var(--dnd-gold);font-size:.8rem;font-weight:600;white-space:nowrap;cursor:pointer;box-shadow:var(--glow-gold-sm);transition:all .2s ease}.sheet-levelup-btn:hover:not(:disabled){background:var(--dnd-gold-25);box-shadow:var(--glow-gold-md);transform:translateY(-1px)}.sheet-levelup-btn:active:not(:disabled){transform:translateY(0)}.sheet-levelup-btn:disabled{opacity:.5;cursor:not-allowed}.sheet-levelup-btn svg{flex-shrink:0}@media(max-width:600px){.sheet-levelup-btn{height:34px;width:34px;padding:0}.sheet-levelup-label{display:none}}.burger-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:280px;background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-20);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:var(--z-burger);padding:.4rem 0;animation:burgerSlideIn .2s ease-out;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@keyframes burgerSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.burger-item{display:block;width:100%;padding:.6rem 1rem;background:none;border:none;color:var(--dnd-text);font-size:.85rem;text-align:left;cursor:pointer;transition:background var(--duration-fast) ease,color var(--duration-fast) ease;white-space:normal;word-break:break-word}.burger-item:hover{background:var(--dnd-gold-10);color:var(--dnd-gold)}.burger-item:disabled{opacity:.4;cursor:not-allowed}.burger-divider{height:1px;background:var(--dnd-gold-15);margin:.3rem .75rem}.burger-theme-label{display:block;padding:.3rem 1rem .15rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--dnd-muted)}.burger-theme-select{display:block;width:calc(100% - 2rem);margin:.4rem 1rem;padding:.5rem .6rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-20);border-radius:var(--radius-sm);color:var(--dnd-text);font-size:.85rem;cursor:pointer;transition:border-color var(--duration-fast) ease,background var(--duration-fast) ease}.burger-theme-select:hover{border-color:var(--dnd-gold-30);background:var(--dnd-surface-0-hover, var(--dnd-surface-0))}.burger-theme-select:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-08)}.burger-user{display:block;padding:.4rem 1rem;font-size:.78rem;color:var(--dnd-gold);opacity:.7}.burger-trial-badge{font-size:.72rem;color:var(--dnd-gold);opacity:.8;font-style:italic;font-weight:400;margin-left:.15rem}.sheet-top-block{margin-bottom:.75rem;position:relative;z-index:var(--z-raised);animation:sectionSlideUp var(--duration-slow) ease-out both;animation-delay:.05s}.sheet-top-block .vitals-combat{flex:none;min-width:0;max-width:100%;width:100%}.section-header-static{color:var(--dnd-gold);margin-top:0;margin-bottom:.75rem;font-size:.85rem;border-bottom:1px solid var(--dnd-gold-20);padding-bottom:.5rem;font-family:var(--font-display);letter-spacing:1.5px;text-transform:uppercase;font-weight:700}.vitals-section-body{display:block}.vitals-combat-divider{height:1px;background:linear-gradient(90deg,transparent,var(--dnd-gold-30),transparent);margin:1.25rem 0}.sheet-bottom-block{margin-bottom:.75rem;position:relative;z-index:1;animation:sectionSlideUp var(--duration-slow) ease-out both;animation-delay:.12s}.sheet-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.15rem;margin-bottom:0;background:var(--dnd-surface-1);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:.35rem .35rem 0;border:1px solid var(--dnd-gold-15);border-bottom:none;position:sticky;top:env(safe-area-inset-top,0px);z-index:40;scroll-snap-type:x proximity;scroll-padding-inline:1.5rem}.sheet-tabs::-webkit-scrollbar{display:none}.sheet-tab{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem .65rem .5rem;border:none;background:transparent;color:var(--dnd-muted);font-family:var(--font-primary);font-size:.65rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase;cursor:pointer;border-radius:var(--radius-md) var(--radius-md) 0 0;transition:color .2s ease,background .2s ease;position:relative;white-space:nowrap;flex-shrink:0;min-height:48px;min-width:0;scroll-snap-align:center}.sheet-tab__icon{line-height:1;width:1.5rem;height:1.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease}.sheet-tab__icon svg{width:16px;height:16px;flex-shrink:0}.sheet-tab__label{line-height:1}.sheet-tab--config{display:none}.sheet-tab:hover{color:var(--dnd-text);background:var(--surface-hover)}.sheet-tab:hover .sheet-tab__icon{transform:scale(1.15)}.sheet-tab.active{color:var(--dnd-gold);background:linear-gradient(to bottom,var(--dnd-surface-2) 0%,var(--dnd-surface-2) 85%,var(--dnd-surface-1) 100%);border-radius:var(--radius-md) var(--radius-md) 0 0!important}.sheet-tab.active:before{display:none}.sheet-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--dnd-surface-2)}.tab-content{border-radius:0 0 var(--radius-xl) var(--radius-xl)!important;border-top:none!important;border-left:1px solid var(--dnd-gold-15);border-right:1px solid var(--dnd-gold-15);border-bottom:1px solid var(--dnd-gold-15);margin-top:-2px;padding-top:1.25rem;min-width:0;max-width:100%;width:100%;flex:none}.tab-content>.section-body{animation:sectionExpand .2s ease-out}@media(min-width:769px){.sheet-bottom-block{display:flex;align-items:flex-start;gap:.75rem}.sheet-tabs{flex-direction:column;flex-wrap:nowrap;overflow-x:visible;overflow-y:auto;width:13rem;flex-shrink:0;gap:.25rem;padding:.5rem;border:1px solid var(--dnd-gold-15);border-radius:var(--radius-xl);position:sticky;top:1rem;align-self:flex-start;max-height:calc(100vh - 2rem);scrollbar-width:thin;scroll-snap-type:none}.sheet-tab{flex-direction:row;align-items:center;justify-content:flex-start;gap:.65rem;width:100%;padding:.6rem .75rem;min-height:0;border-radius:var(--radius-md);text-transform:none;font-size:.82rem;letter-spacing:.2px;text-align:left;scroll-snap-align:none}.sheet-tab__icon{width:1.25rem;height:1.25rem}.sheet-tab__label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-tab:hover .sheet-tab__icon{transform:none}.sheet-tab.active{color:var(--dnd-gold);background:var(--dnd-gold-12);box-shadow:inset 3px 0 0 var(--dnd-gold);border-radius:var(--radius-md)!important}.sheet-tab.active:after{display:none}.sheet-bottom-block .tab-content{flex:1;width:auto;min-width:0;margin-top:0;padding-top:1.25rem;border:1px solid var(--dnd-gold-15)!important;border-radius:var(--radius-xl)!important}}.section{background:var(--dnd-surface-1);color:var(--dnd-text);padding:1.25rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--dnd-gold-15);flex:1 1 calc(33.333% - 1rem);min-width:300px;max-width:100%;box-sizing:border-box;transition:border-color var(--duration-normal) ease,box-shadow var(--duration-normal) ease;position:relative;animation:sectionSlideUp var(--duration-slow) ease-out both}.section:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--dnd-gold-30),transparent)}.section:hover{border-color:var(--dnd-gold-25);box-shadow:var(--shadow-md),0 0 0 1px var(--dnd-gold-10)}.section:nth-child(1){animation-delay:.05s}.section:nth-child(2){animation-delay:.1s}.section:nth-child(3){animation-delay:var(--duration-fast)}.section h3{color:var(--dnd-gold);margin-top:0;margin-bottom:.75rem;font-size:.85rem;border-bottom:1px solid var(--dnd-gold-20);padding-bottom:.5rem;font-family:var(--font-display);letter-spacing:1.5px;text-transform:uppercase;font-weight:700}.section h3.section-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:.5rem;transition:color .2s ease}.section h3.section-toggle:hover{color:var(--dnd-gold-light)}.section.collapsed h3.section-toggle{margin-bottom:0;border-bottom-color:transparent;padding-bottom:0}.toggle-icon{font-size:.85em;line-height:1;transition:transform .2s ease}.section-body{animation:sectionExpand .2s ease-out}@keyframes sectionExpand{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.sheet-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;position:relative;z-index:1;align-items:flex-start}.header-buttons{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;align-items:center;flex:1 1 100%}.header-buttons .btn{flex:0 1 auto;min-width:max-content;font-size:.9rem;padding:.7rem 1rem;text-align:center;white-space:nowrap;border-radius:var(--radius-sm);transition:all .2s ease}.header-buttons .btn:hover{transform:translateY(-1px)}.sheet-header .button-group{display:flex;gap:.75rem;margin-left:1.5rem;align-self:flex-start}.subtitle{font-size:1.1rem;color:var(--dnd-text-light);margin:.4rem 0 0;font-family:var(--font-display);letter-spacing:1px}.subclass{color:var(--dnd-text);font-style:italic;margin:.3rem 0 0;font-size:.9rem;letter-spacing:.5px;opacity:.85}@media(max-width:768px){.character-sheet{padding:.5rem;padding-top:calc(.5rem + env(safe-area-inset-top,0px))}.sheet-header{flex-wrap:wrap;padding:.75rem 2.5rem .75rem .75rem;gap:.6rem;border-radius:var(--radius-lg)}.character-title h1{font-size:1.5rem;letter-spacing:1px}.name-edit-input{font-size:1.3rem}.header-info-lines{font-size:.8rem}.sheet-tab{padding:.5rem .5rem .4rem;font-size:.6rem;min-height:42px}.sheet-tab__icon{font-size:.95rem}}@media(max-width:480px){.character-sheet{padding:.35rem;padding-top:calc(.35rem + env(safe-area-inset-top,0px));padding-bottom:calc(var(--sheet-tabbar-h, 70px) + .5rem);background-attachment:scroll!important}.sheet-header{padding:.6rem 2.25rem .6rem .6rem;gap:.4rem;border-radius:var(--radius-md)}.character-title h1{font-size:1.25rem;letter-spacing:.5px}.name-edit-input{font-size:1.1rem}body.has-sheet-tabbar{--sheet-tabbar-h: 70px}.sheet-bottom-block{animation:none;z-index:2}.sheet-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;gap:.15rem;position:fixed;left:0;right:0;bottom:0;top:auto;z-index:var(--z-dropdown);margin:0;padding:.4rem .5rem calc(.15rem + env(safe-area-inset-bottom,0px));border:none;border-top:1px solid var(--dnd-gold-15);border-radius:0;background:var(--dnd-surface-1);box-shadow:0 -6px 18px #0006;scroll-snap-type:x proximity}.sheet-tab.active{background:linear-gradient(to bottom,var(--dnd-gold-15),var(--dnd-gold-08))!important;box-shadow:inset 0 -2px 0 var(--dnd-gold)}.sheet-tab{flex:0 0 auto;flex-shrink:0;min-width:4rem;padding:.35rem .5rem;font-size:.55rem;white-space:nowrap;text-align:center;border-radius:var(--radius-sm);justify-content:center;min-height:48px;scroll-snap-align:start}.sheet-tab__icon{font-size:.9rem}.sheet-tab.active:after{display:none}.sheet-tab--config{display:flex;color:var(--dnd-gold)}.sheet-tab--config .sheet-tab__icon{transition:transform .3s ease}.sheet-tab--config:hover .sheet-tab__icon,.sheet-tab--config:active .sheet-tab__icon{transform:rotate(45deg)}.tab-content{border-top:1px solid var(--dnd-gold-15)!important;border-radius:var(--radius-lg)!important;margin-top:0}.section{padding:.75rem;border-radius:var(--radius-lg)}.section-body{padding:0}}.vitals{grid-column:span 1}.hp-tracker{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--dnd-gold-10)}.hp-display{margin-bottom:.6rem}.hp-bar-container{position:relative;height:26px;background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-full);margin-bottom:.5rem;display:flex;overflow:hidden}.hp-bar-background{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#2d8a3e40,#4caf5040,#66bb6a40);border-radius:var(--radius-full);z-index:1}.hp-overlay{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:.8rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 5px rgba(0,0,0,.6);pointer-events:none;z-index:var(--z-raised);white-space:nowrap}.hp-temp-indicator{font-size:.7rem;font-weight:400;opacity:.9;margin-left:.3rem}.hp-temp-overlay{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none;z-index:var(--z-raised)}.hp-temp-note{font-size:.8rem;color:var(--dnd-info);font-style:italic;margin-left:.5rem}.hp-bar{height:100%;background:linear-gradient(90deg,#2d8a3e,var(--dnd-success),#66bb6a);transition:width .5s cubic-bezier(.4,0,.2,1),background .5s ease;flex-shrink:0;position:relative;z-index:2}.hp-bar-container.hp-bloodied .hp-bar:not(.temp){background:linear-gradient(90deg,#d35400,#e67e22,var(--dnd-warning))}.hp-bar-container.hp-critical .hp-bar:not(.temp){background:linear-gradient(90deg,#c0392b,#e74c3c);animation:criticalPulse 1.5s ease-in-out infinite}.hp-bar-container.hp-bloodied{animation:bloodiedPulse 2s ease-in-out infinite}.hp-bar-container.hp-overflow .hp-bar-background{display:none}.hp-bar.temp{position:absolute;top:0;height:100%;background:linear-gradient(90deg,#1565c0,#42a5f5,#64b5f6);z-index:3}.hp-numbers{display:flex;align-items:baseline;gap:.25rem;font-weight:700}.hp-current{font-size:1.5rem;color:var(--dnd-gold)}.hp-separator{color:var(--dnd-text);font-size:1rem;opacity:.5}.hp-max{font-size:1rem;color:var(--dnd-text)}.hp-max-manual{color:var(--dnd-gold);font-weight:700}.hp-max-edit{display:flex;align-items:center;gap:.2rem}.hp-max-input{width:50px;padding:.2rem .25rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-gold);border-radius:var(--radius-sm);color:var(--dnd-gold);font-size:1rem;font-weight:700;text-align:center}.hp-max-input:focus{outline:none;box-shadow:0 0 0 2px var(--dnd-gold-20)}.hp-max-save,.hp-max-reset{padding:.15rem .35rem;min-height:44px;min-width:44px;font-size:.75rem;border:1px solid var(--dnd-gold-15);border-radius:var(--radius-sm);background:var(--dnd-surface-2);color:var(--dnd-text-light);cursor:pointer;transition:all .2s ease}.hp-max-save:hover{background:#4caf5033;border-color:var(--dnd-success)}.hp-max-reset:hover{background:var(--dnd-red-15);border-color:var(--dnd-accent-red)}.hp-temp{font-size:.8rem;color:var(--dnd-info);margin-left:.5rem;font-style:italic}.hp-controls{display:flex;gap:.3rem;align-items:stretch;flex-wrap:nowrap}.hp-controls>*{flex:1 1 0;min-width:0}.hp-input{padding:.35rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);color:var(--dnd-text-light);font-size:1rem;text-align:center;font-weight:700}.hp-input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-15)}.hp-input::placeholder{color:var(--dnd-muted);opacity:.5;font-weight:400}.hp-buttons{display:contents}.hp-btn{flex:1;padding:.35rem .2rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.2px;border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;background:var(--dnd-surface-0);color:var(--dnd-text);text-align:center;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:center}.hp-btn.damage{border-color:var(--dnd-red-20);color:var(--dnd-accent-red)}.hp-btn.damage:hover{background:var(--dnd-red-15);border-color:var(--dnd-accent-red);box-shadow:0 0 8px var(--dnd-red-20)}.hp-btn.heal{border-color:#4caf5033;color:var(--dnd-success)}.hp-btn.heal:hover{background:#4caf5026;border-color:var(--dnd-success);box-shadow:0 0 8px #4caf5033}.hp-btn.temp-hp{border-color:#42a5f533;color:var(--dnd-info)}.hp-btn.temp-hp:hover{background:#42a5f526;border-color:var(--dnd-info);box-shadow:0 0 8px #42a5f533}.hp-btn.reset{margin-left:.5rem;border-color:var(--dnd-gold-20);color:var(--dnd-gold)}.hp-btn.reset:hover{background:var(--dnd-gold-10);border-color:var(--dnd-gold)}.vitals-compact-row{display:flex;justify-content:space-around;align-items:center;gap:.5rem;padding:.6rem .25rem;margin-bottom:.5rem;border-bottom:1px solid var(--dnd-gold-10);font-size:.9rem}.compact-stat-item{display:flex;flex-direction:column;align-items:center;gap:.15rem;flex:1;min-width:0;position:relative;padding:.3rem 0}.compact-stat-icon{font-size:1.2rem;display:inline-block;opacity:.85;cursor:pointer;position:relative}.compact-stat-label{display:none}.ac-shield-icon,.init-lightning-icon,.speed-run-icon,.prof-crown-icon,.hp-heart-icon{width:1.2em;height:1.2em;vertical-align:middle;color:var(--dnd-gold)}.stat-tooltip{position:absolute;bottom:120%;left:50%;transform:translate(-50%);background:var(--dnd-surface-0);color:var(--dnd-gold);padding:.45rem .7rem;border-radius:var(--radius-md);border:1px solid var(--dnd-gold-30);white-space:nowrap;font-size:.8rem;font-weight:600;z-index:var(--z-critical);box-shadow:var(--shadow-lg);animation:tooltipFadeIn var(--duration-fast) ease-out}.stat-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--dnd-surface-0)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.action-menu{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:.15rem;background:var(--dnd-surface-2);border:1px solid var(--dnd-gold-30);border-radius:var(--radius-md);padding:.2rem;box-shadow:0 4px 16px #0006;z-index:var(--z-critical);animation:tooltipFadeIn var(--duration-fast) ease-out;min-width:8.5rem}.vitals-compact-row .compact-stat-item:last-child .action-menu{left:auto;right:0;transform:none;animation-name:actionMenuFadeInRight}@keyframes actionMenuFadeInRight{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.action-menu-btn{background:none;border:none;color:var(--dnd-gold);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;cursor:pointer;white-space:nowrap;text-align:center;transition:background var(--duration-fast) ease;font-family:inherit}.action-menu-btn:hover{background:var(--dnd-gold-12)}.compact-stat-value{font-weight:700;color:var(--dnd-gold);font-size:1.05rem;cursor:pointer;transition:color .2s ease}.compact-stat-value.ac-manual{color:#ffb74d}.compact-stat-value.hp-manual{color:var(--dnd-gold)}.compact-stat-value .ac-edit.inline{display:flex;gap:.25rem}.vitals-saves-row{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem .25rem .2rem}.vitals-saves-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-text-secondary);opacity:.75;text-align:center;white-space:nowrap}.vitals-saves-items{display:flex;justify-content:space-around;align-items:stretch;gap:.3rem;width:100%}.vitals-save-item{display:flex;flex-direction:column;align-items:center;gap:.1rem;flex:1;padding:.3rem .15rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease,transform var(--duration-fast) ease}.vitals-save-item:hover{background:#ffffff14;border-color:#ffffff2e;transform:translateY(-1px)}.vitals-save-ability{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--dnd-text-secondary);opacity:.7;white-space:nowrap}.vitals-save-item.proficient .vitals-save-ability{opacity:1}.vitals-save-value{font-size:.95rem;font-weight:700;color:var(--dnd-text-light)}:root[data-theme=light] .vitals-saves-label,:root[data-theme=paper] .vitals-saves-label{color:var(--dnd-gold-70, var(--dnd-gold))}:root[data-theme=light] .vitals-save-item,:root[data-theme=paper] .vitals-save-item{background:var(--dnd-gold-06);border-color:var(--dnd-gold-15)}:root[data-theme=light] .vitals-save-item:hover,:root[data-theme=paper] .vitals-save-item:hover{background:var(--dnd-gold-12);border-color:var(--dnd-gold-30)}:root[data-theme=light] .vitals-save-ability,:root[data-theme=paper] .vitals-save-ability{color:var(--dnd-gold)}:root[data-theme=light] .vitals-save-value,:root[data-theme=paper] .vitals-save-value{color:var(--dnd-gold)}.stat-box{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--dnd-gold-08);transition:all .2s ease}.stat-box:last-child{border-bottom:none}.stat-box:hover{background:var(--dnd-gold-06);padding-left:.5rem;margin-left:-.5rem}.stat-label{font-weight:600;color:var(--dnd-text);font-size:.9rem;letter-spacing:.5px}.stat-value{color:var(--dnd-gold);font-size:1.25rem;font-weight:700}.speed-bonus-hint{font-size:.7rem;color:var(--dnd-muted);font-weight:400}.ac-box{position:relative;flex-wrap:wrap}.ac-clickable{cursor:pointer;transition:all .2s ease;border-bottom:1px dashed var(--dnd-gold-25);padding:0 .25rem}.ac-clickable:hover{color:var(--dnd-gold-light);border-bottom-color:var(--dnd-gold)}.ac-clickable.ac-manual{color:#6ecfff}.ac-edit{display:flex;align-items:center;gap:.375rem}.ac-input{width:3.5rem;padding:.25rem .375rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-gold);border-radius:var(--radius-sm);color:var(--dnd-gold);font-size:1.05rem;font-weight:700;text-align:center}.ac-input:focus{outline:none;box-shadow:0 0 0 2px var(--dnd-gold-25)}.ac-btn{background:none;border:1px solid var(--dnd-gold-15);color:var(--dnd-text-light);cursor:pointer;padding:.2rem .4rem;border-radius:var(--radius-sm);font-size:.9rem;transition:all .2s ease}.ac-btn.save{color:var(--dnd-success);border-color:#66bb6a40}.ac-btn.save:hover{background:#66bb6a1f}.ac-btn.reset{color:#ef9a9a;border-color:#ef9a9a40}.ac-btn.reset:hover{background:#ef9a9a1f}.armor-modal{max-width:420px}.armor-modal-body{display:flex;flex-direction:column;gap:.75rem;padding:0 1.5rem .5rem}.armor-modal-footer{display:flex;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;margin-top:.5rem;border-top:1px solid var(--dnd-gold-15)}.armor-modal-footer .ac-btn{font-size:.85rem;padding:.375rem 1rem}.armor-select-group{display:flex;flex-direction:column;gap:.25rem}.armor-label-row{display:flex;align-items:center}.armor-current{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.9rem;color:var(--dnd-text)}.armor-current-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.armor-current-actions{display:flex;gap:.3rem;flex-shrink:0}.armor-current-edit,.armor-current-remove{flex-shrink:0;background:transparent;border:1px solid var(--dnd-gold-25);color:var(--dnd-gold);border-radius:var(--radius-sm);padding:.1rem .5rem;font-size:.75rem;cursor:pointer}.armor-incomplete{display:flex;flex-direction:column;gap:.4rem;padding:.5rem .6rem;background:#c0392b1f;border:1px solid rgba(192,57,43,.5);border-radius:var(--radius-sm)}.armor-incomplete-text{font-size:.78rem;line-height:1.35;color:var(--dnd-text)}.armor-incomplete-edit{align-self:flex-start;font-size:.8rem;padding:.3rem .75rem}.armor-unarmored-banner{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .6rem;border-radius:var(--radius-sm);border:1px solid}.armor-unarmored-banner.active{background:#27ae601f;border-color:#27ae6080}.armor-unarmored-banner.disabled{background:#c0392b1f;border-color:#c0392b80}.armor-unarmored-title{font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--dnd-gold)}.armor-unarmored-text{font-size:.78rem;line-height:1.35;color:var(--dnd-text)}.armor-source-buttons{display:flex;gap:.4rem}.armor-source-btn{flex:1;padding:.45rem .4rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-sm);color:var(--dnd-text-light);font-size:.8rem;cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease}.armor-source-btn:hover{border-color:var(--dnd-gold)}.armor-source-btn.active{background:var(--dnd-gold-15);border-color:var(--dnd-gold);color:var(--dnd-gold)}.armor-inv-list{display:flex;flex-direction:column;gap:.25rem;max-height:180px;overflow-y:auto;padding:.25rem;border:1px solid var(--dnd-gold-15);border-radius:var(--radius-sm)}.armor-inv-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .55rem;background:var(--dnd-surface-0);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--dnd-text);font-size:.85rem;cursor:pointer;text-align:left}.armor-inv-item:hover{border-color:var(--dnd-gold-25)}.armor-inv-item.equipped{border-color:var(--dnd-gold);background:var(--dnd-gold-15)}.armor-inv-item-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.armor-inv-item-ac{flex-shrink:0;font-size:.75rem;color:var(--dnd-gold)}.armor-inv-empty{margin:0;padding:.5rem;text-align:center;font-size:.8rem;color:var(--dnd-text-light);opacity:.7}.armor-select-label{font-size:.7rem;color:var(--dnd-gold);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.armor-select{width:100%;padding:.375rem .5rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-sm);color:var(--dnd-text);font-size:.85rem;cursor:pointer}.armor-select:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-15)}.armor-select optgroup{font-weight:700;color:var(--dnd-gold)}.armor-shield-toggle{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--dnd-text);cursor:pointer}.armor-shield-toggle input[type=checkbox]{accent-color:var(--dnd-gold);width:1rem;height:1rem;cursor:pointer}.armor-details{display:flex;gap:.375rem;flex-wrap:wrap}.armor-detail-tag{font-size:.7rem;padding:.125rem .375rem;border-radius:var(--radius-sm);background:var(--dnd-gold-10);color:var(--dnd-text-light);border:1px solid var(--dnd-gold-15)}.armor-detail-tag.warning{background:var(--dnd-red-10);color:#ef9a9a;border-color:var(--dnd-red-20)}.armor-feature-bonuses{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}.armor-feature-bonus{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .55rem;border-radius:var(--radius-sm);background:#27ae601a;border:1px solid rgba(39,174,96,.4);font-size:.82rem}.armor-feature-bonus.inactive{background:#7878781a;border-color:#78787859;opacity:.7}.armor-feature-bonus-name{color:var(--dnd-text)}.armor-feature-bonus-value{font-weight:600;color:var(--dnd-gold);white-space:nowrap}.armor-feature-bonus.inactive .armor-feature-bonus-value{color:var(--dnd-text-light)}.armor-feature-bonus-note{font-weight:400;font-size:.72rem;color:var(--dnd-text-light)}.armor-ac-summary{font-size:.85rem;color:var(--dnd-text-light);text-align:center;padding:.5rem 0 0}.armor-ac-summary strong{color:var(--dnd-gold);font-size:1.1rem}.ac-manual-note{font-size:.75rem;color:#ffb74d}.armor-field-hint{margin:.25rem 0 0;font-size:.72rem;line-height:1.35;color:var(--dnd-text-light);opacity:.85}.armor-ac-formula{text-align:center;font-style:italic}.armor-actions{display:flex;gap:.375rem;justify-content:center}.armor-actions .ac-btn{font-size:.8rem;padding:.25rem .75rem}.armor-manual-override{display:flex;gap:.25rem;align-items:center;padding-top:.25rem}.armor-manual-override .ac-input{flex:1;font-size:.9rem}@media(max-width:768px){.vitals-compact-row{gap:.3rem;padding:.5rem 0}.compact-stat-icon{font-size:1rem}.compact-stat-value{font-size:.9rem}.stat-tooltip{font-size:.75rem;padding:.4rem .6rem}}@media(max-width:480px){.hp-controls{flex-wrap:wrap}.hp-btn{font-size:.6rem;min-height:38px;padding:.25rem .15rem}.vitals-compact-row{gap:.2rem;padding:.4rem 0}.compact-stat-icon{font-size:.9rem}.compact-stat-value{font-size:.8rem}.stat-tooltip{bottom:auto;top:120%;font-size:.7rem;white-space:normal;max-width:130px}.stat-tooltip:after{top:auto;bottom:100%;border-top:none;border-bottom-color:var(--dnd-surface-0)}}.death-saves{display:flex;align-items:center;justify-content:center;padding:var(--sp-2) var(--sp-3);min-height:40px}.death-saves-pips{display:flex;gap:var(--sp-6);align-items:center}.death-saves-group{display:flex;align-items:center;gap:var(--sp-2)}.death-saves-label{font-size:.75rem;color:var(--dnd-text-secondary);text-transform:uppercase;letter-spacing:.05em}.death-saves-dots{display:flex;gap:var(--sp-1)}.death-pip{width:14px;height:14px;border-radius:50%;border:2px solid var(--dnd-text-secondary);background:transparent;transition:background-color .2s,border-color .2s}.death-pip.success.filled{background-color:var(--dnd-success);border-color:var(--dnd-success)}.death-pip.failure.filled{background-color:var(--dnd-danger);border-color:var(--dnd-danger)}.death-save-buttons{justify-content:center}.hp-btn.death-success{background:var(--dnd-success);color:#fff}.hp-btn.death-success:hover:not(:disabled){background:color-mix(in srgb,var(--dnd-success) 85%,#000)}.hp-btn.death-failure{background:var(--dnd-danger);color:#fff}.hp-btn.death-failure:hover:not(:disabled){background:color-mix(in srgb,var(--dnd-danger) 85%,#000)}.hp-btn.death-stabilize{background:var(--dnd-warning);color:#1a1a1a}.hp-btn.death-stabilize:hover:not(:disabled){background:color-mix(in srgb,var(--dnd-warning) 85%,#000)}.death-message{display:flex;align-items:center;justify-content:center;padding:var(--sp-3) var(--sp-4);min-height:40px;text-align:center}.death-message p{margin:0;font-size:.85rem;font-style:italic;color:var(--dnd-danger);line-height:1.4}.vitals-conditions-row{position:relative;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.5rem .25rem .2rem}.vitals-conditions-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-text-secondary);opacity:.75;white-space:nowrap}.vitals-conditions-badges{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.vitals-conditions-empty{font-size:.78rem;color:var(--dnd-text-secondary);opacity:.6}.condition-badge{display:inline-flex;align-items:center;gap:.3rem;min-height:1.7rem;font-size:.78rem;font-weight:600;line-height:1.2;padding:.2rem .4rem .2rem .6rem;border-radius:var(--radius-full);background:var(--dnd-gold-15);border:1px solid var(--border-accent);color:var(--dnd-text-light);white-space:nowrap}.condition-badge--concentration{background:color-mix(in srgb,var(--dnd-info) 14%,transparent);border-color:color-mix(in srgb,var(--dnd-info) 45%,transparent)}.condition-conc-icon{color:var(--dnd-info);flex-shrink:0}.condition-badge-x{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;margin-right:-.15rem;border:none;border-radius:var(--radius-full);background:none;cursor:pointer;color:inherit;opacity:.65;font-size:.72rem;line-height:1;transition:background var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.condition-badge-x:hover{opacity:1;background:var(--dnd-gold-20)}.condition-badge--concentration .condition-badge-x:hover{background:color-mix(in srgb,var(--dnd-info) 22%,transparent)}.condition-add-btn{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border-radius:var(--radius-full);background:var(--surface-hover);border:1px dashed var(--border-accent);color:var(--dnd-gold);cursor:pointer;font-size:1rem;line-height:1;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.condition-add-btn:hover{background:var(--dnd-gold-15);border-style:solid;color:var(--dnd-gold-light)}.condition-modal .modal-body{gap:1.1rem}.condition-modal-section{display:flex;flex-direction:column}.condition-menu-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-text-secondary);opacity:.75;margin-bottom:.5rem}.condition-modal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row dense;gap:.35rem}.condition-row.is-expanded{grid-column:1 / -1}.condition-row{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-hover);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.condition-row.is-active{background:var(--dnd-gold-15);border-color:var(--border-accent)}.condition-row-head{display:flex;align-items:stretch}.condition-row-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:.55rem;min-height:2.4rem;padding:.35rem .6rem;background:none;border:none;color:var(--dnd-text);font-family:inherit;font-size:.85rem;text-align:left;cursor:pointer;touch-action:manipulation}.condition-row-check{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.2rem;height:1.2rem;border-radius:var(--radius-xs);border:1.5px solid var(--border-divider);font-size:.75rem;line-height:1;color:var(--dnd-gold-light)}.condition-row.is-active .condition-row-check{border-color:var(--dnd-gold);background:var(--dnd-gold-25)}.condition-row-name{font-weight:500;min-width:0;overflow-wrap:anywhere}.condition-row.is-active .condition-row-name{color:var(--dnd-text-light)}.condition-row-info{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.4rem;min-height:2.4rem;background:none;border:none;border-left:1px solid var(--border-subtle);color:var(--dnd-text-secondary);font-size:.95rem;cursor:pointer;touch-action:manipulation;transition:color var(--duration-fast) var(--ease-out)}.condition-row-info:hover,.condition-row-info.is-open{color:var(--dnd-gold)}.condition-row-desc{margin:0;padding:.1rem .7rem .6rem;font-size:.78rem;line-height:1.45;color:var(--dnd-text-secondary)}.condition-exhaustion-pips{display:flex;gap:.3rem}.condition-exh-pip{flex:1;min-width:1.9rem;min-height:2rem;font-size:.78rem;font-weight:600;border-radius:var(--radius-sm);background:var(--surface-hover);border:1px solid var(--border-subtle);color:var(--dnd-text);cursor:pointer;font-family:inherit;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.condition-exh-pip:hover{background:var(--dnd-gold-12)}.condition-exh-pip.is-active{background:var(--dnd-gold-25);border-color:var(--border-accent);color:var(--dnd-text-light)}.condition-exh-summary{margin:.6rem 0 0;font-size:.78rem;line-height:1.45;color:var(--dnd-text-secondary)}.condition-exh-legend{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-direction:column;gap:.2rem}.condition-exh-legend-item{display:flex;align-items:baseline;gap:.5rem;font-size:.76rem;color:var(--dnd-text-secondary);opacity:.7}.condition-exh-legend-item.is-reached{opacity:1;color:var(--dnd-text)}.condition-exh-legend-lvl{flex-shrink:0;width:1.1rem;text-align:center;font-weight:700;color:var(--dnd-gold)}.condition-conc-input,.condition-custom-input{width:100%;min-height:2rem;font-size:.8rem;padding:.35rem .5rem;border-radius:var(--radius-sm);background:var(--surface-input);border:1px solid var(--dnd-border);color:var(--dnd-text);font-family:inherit;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.condition-conc-input:focus,.condition-custom-input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-15)}.condition-conc-picker{position:relative}.condition-conc-options{position:absolute;z-index:1;top:calc(100% + 4px);left:0;right:0;max-height:11rem;overflow-y:auto;display:flex;flex-direction:column;gap:1px;padding:.2rem;background:var(--dnd-surface-1);border:1px solid var(--border-accent);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.condition-conc-option{display:flex;align-items:center;justify-content:space-between;gap:.4rem;min-height:2rem;padding:.35rem .5rem;font-size:.78rem;text-align:left;border:none;border-radius:var(--radius-xs);background:none;color:var(--dnd-text);cursor:pointer;font-family:inherit}.condition-conc-option:hover{background:var(--dnd-gold-12)}.condition-conc-option-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.condition-conc-option-tag{flex-shrink:0;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.08rem .32rem;border-radius:var(--radius-full);color:var(--dnd-info);background:color-mix(in srgb,var(--dnd-info) 14%,transparent)}.condition-conc-option--clear{color:var(--dnd-text-secondary);font-style:italic}.condition-conc-none{padding:.4rem .5rem;font-size:.76rem;color:var(--dnd-text-secondary);opacity:.7}.condition-custom-row{display:flex;gap:.4rem}.condition-custom-input{flex:1}.condition-custom-add{min-height:2rem;font-size:.76rem;font-weight:600;padding:.35rem .7rem;border-radius:var(--radius-sm);background:var(--dnd-gold-20);border:1px solid var(--border-accent);color:var(--dnd-gold);cursor:pointer;white-space:nowrap;font-family:inherit;transition:background var(--duration-fast) var(--ease-out)}.condition-custom-add:hover{background:var(--dnd-gold-30);color:var(--dnd-gold-light)}@media(max-width:480px){.condition-badge{min-height:1.9rem;font-size:.8rem}.condition-badge-x{width:1.35rem;height:1.35rem}.condition-add-btn{width:1.9rem;height:1.9rem}.condition-exh-pip,.condition-conc-input,.condition-conc-option,.condition-custom-input,.condition-custom-add{min-height:2.4rem}.condition-conc-options{max-height:50vh}}.section-drag-handle{cursor:grab;color:var(--dnd-gold-30);font-size:1rem;line-height:1;transition:all .2s ease;padding:.125rem .25rem;border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;flex-shrink:0}.section-drag-handle:hover{color:var(--dnd-gold);background:var(--dnd-gold-10)}.section-drag-handle:active{cursor:grabbing;color:var(--dnd-accent-red)}.section-toggle-text{display:flex;align-items:center;gap:.5rem;flex:1;cursor:pointer}.section.section-dragging{opacity:.4;transform:scale(.98);border-color:var(--dnd-gold)}.section.section-drag-over{border-top:3px solid var(--dnd-accent-red);box-shadow:0 -4px 12px var(--dnd-red-30),0 2px 12px #0006}.skills-header-bar{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;margin-bottom:.5rem}.skills-header-bar.with-joat{justify-content:space-between}.joat-toggle{display:inline-flex;align-items:center;gap:.5rem;background:#0003;border:1px solid var(--dnd-border);color:var(--dnd-muted);padding:.28rem .6rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.02em}.joat-toggle:hover{border-color:var(--dnd-gold-30);color:var(--dnd-text-light)}.joat-toggle__track{position:relative;flex:0 0 auto;width:28px;height:16px;border-radius:999px;background:#0006;border:1px solid var(--dnd-border);transition:background .2s ease,border-color .2s ease}.joat-toggle__thumb{position:absolute;top:1px;left:1px;width:12px;height:12px;border-radius:50%;background:var(--dnd-muted);transition:transform .2s ease,background .2s ease}.joat-toggle.active{border-color:var(--dnd-gold);color:var(--dnd-gold)}.joat-toggle.active .joat-toggle__track{background:var(--dnd-gold-30);border-color:var(--dnd-gold)}.joat-toggle.active .joat-toggle__thumb{transform:translate(12px);background:var(--dnd-gold)}.joat-toggle__label{display:inline-flex;align-items:center;gap:.35rem}.joat-toggle__bonus{font-weight:700;color:var(--dnd-gold);opacity:.85}.skills-edit-btn{background:#0003;border:1px solid var(--dnd-border);color:var(--dnd-muted);padding:.28rem .7rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.02em}.skills-edit-btn:hover{background:var(--dnd-gold-08);border-color:var(--dnd-gold-30);color:var(--dnd-text-light)}.skills-edit-btn.active{background:var(--dnd-gold-15);border-color:var(--dnd-gold);color:var(--dnd-gold)}.abilities{grid-column:span 1}.ability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.ability-box{background:linear-gradient(160deg,var(--dnd-gold-08) 0%,var(--dnd-red-08) 100%);border:1px solid var(--dnd-border);color:var(--dnd-text-light);padding:.65rem .5rem;border-radius:var(--radius-md);text-align:center;box-shadow:inset 0 1px 1px var(--dnd-gold-03),0 2px 6px #0003;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.ability-box:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--dnd-gold),transparent);opacity:0;transition:opacity var(--duration-normal) ease}.ability-grid.edit-mode .ability-box{border-color:var(--dnd-gold-30)}.ability-short{font-size:1.1rem;font-weight:700;text-transform:uppercase;display:block;margin-bottom:.1rem;opacity:.9;letter-spacing:.08em;color:var(--dnd-text-light);grid-column:1 / -1}.ability-score{font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;color:var(--dnd-text-light);opacity:.65;line-height:1.1;font-variant-numeric:tabular-nums}.ability-mod{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0rem;padding:.5rem .35rem .4rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);position:relative;line-height:1.1}.ability-mod.clickable{cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.ability-mod.clickable:hover{border-color:var(--dnd-gold-30);box-shadow:0 0 8px var(--dnd-gold-12)}.mod-value{font-weight:800;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:0rem;color:var(--dnd-muted);text-shadow:0 1px 3px rgba(0,0,0,.4);position:relative;line-height:1}.ability-score-input{width:100%;padding:.2rem .3rem;text-align:center;font-size:1.35rem;font-weight:800;color:var(--dnd-gold);background:#00000059;border:1px solid var(--dnd-gold);border-radius:var(--radius-sm);outline:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;transition:box-shadow var(--duration-fast) ease}.ability-score-input::-webkit-outer-spin-button,.ability-score-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ability-score-input:focus{box-shadow:0 0 0 2px var(--dnd-gold-30)}.ability-mod-input{width:100%;padding:.2rem .3rem;text-align:center;font-size:1rem;font-weight:800;color:var(--dnd-muted);background:var(--dnd-surface-1);border:1px dashed var(--dnd-gold-30);border-radius:var(--radius-sm);outline:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;transition:box-shadow var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease}.ability-mod-input::-webkit-outer-spin-button,.ability-mod-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ability-mod-input::placeholder{color:var(--dnd-muted);opacity:.55;font-weight:700}.ability-mod-input:focus{border-style:solid;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-30)}.ability-mod-input.overridden{color:var(--dnd-gold);border-style:solid;border-color:var(--dnd-gold);background:var(--dnd-gold-08)}.saving-throw.editing{cursor:default;border-style:dashed;border-color:var(--dnd-red-15);gap:.3rem;padding:.3rem .4rem}.save-prof-toggle{font-weight:600;letter-spacing:.04em;font-size:.6rem;text-transform:uppercase;color:var(--dnd-muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-xs);padding:.12rem .3rem;cursor:pointer;white-space:nowrap;transition:color var(--duration-fast) ease,background var(--duration-fast) ease}.save-prof-toggle:hover{color:var(--dnd-gold);background:var(--dnd-gold-08)}.saving-throw.proficient .save-prof-toggle{color:var(--dnd-gold)}.save-bonus-input{width:2.6rem;flex-shrink:0;padding:.15rem .2rem;text-align:center;font-size:.8rem;font-weight:700;color:var(--dnd-text-light);background:var(--dnd-surface-2);border:1px dashed var(--dnd-gold-20);border-radius:var(--radius-xs);outline:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;transition:box-shadow var(--duration-fast) ease,border-color var(--duration-fast) ease}.save-bonus-input::-webkit-outer-spin-button,.save-bonus-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.save-bonus-input::placeholder{color:var(--dnd-muted);opacity:.5}.save-bonus-input:focus{border-style:solid;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-30)}.save-bonus-input.has-bonus{border-style:solid;border-color:var(--dnd-gold);color:var(--dnd-gold)}.ability-score.clickable{cursor:pointer;transition:color var(--duration-fast) ease}.ability-roll-icon{position:absolute;right:.3rem;top:50%;transform:translateY(-50%);font-size:.65rem;opacity:0;transition:opacity var(--duration-fast) ease;margin-left:.2rem}.mod-value:hover .ability-roll-icon,.ability-mod.clickable:hover .ability-roll-icon{opacity:.8}.saving-throw{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.4rem;padding:.35rem .5rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-red-15);border-radius:var(--radius-md);transition:all var(--duration-fast) ease;position:relative;grid-column:1 / -1}.saving-throw.proficient{background:var(--dnd-surface-1);border-color:var(--dnd-gold-20)}.saving-throw.clickable{cursor:pointer}.saving-throw.clickable:hover{border-color:var(--dnd-gold-30);box-shadow:0 0 8px var(--dnd-gold-12)}.saving-throw.clickable:hover .save-roll-icon{opacity:.8}.ability-mod .ability-roll-icon,.saving-throw .save-roll-icon{margin:0;flex-shrink:0}.saving-throw.editable{cursor:pointer;border-style:dashed;border-color:var(--dnd-red-15)}.saving-throw.editable:hover{border-color:var(--dnd-gold-30);background:var(--dnd-surface-1)}.save-label{font-weight:600;letter-spacing:.05em;font-size:.6rem;opacity:.65;text-transform:uppercase;display:block;margin-bottom:.1rem;color:var(--dnd-muted)}.save-value{font-weight:800;font-size:1.15rem;display:flex;align-items:center;justify-content:center;gap:0rem;color:var(--dnd-gold);text-shadow:0 1px 3px rgba(0,0,0,.4);position:relative;line-height:1}.save-roll-icon{font-size:.65rem;opacity:0;transition:opacity var(--duration-fast) ease;position:absolute;right:.3rem;top:50%;transform:translateY(-50%);margin-left:.2rem}.skills{grid-column:span 1}.skills-list{display:flex;flex-direction:column;gap:.5rem}.skill-group{display:flex;flex-direction:column;gap:.15rem;padding:.5rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--dnd-gold-10)}.ability-name{display:block;font-size:.75rem;font-weight:600;color:var(--dnd-gold-40);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.15rem;opacity:.7}.skill-group-items{display:flex;flex-direction:column;gap:.2rem}.skill-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem .75rem;margin:0 -.75rem;border-radius:var(--radius-sm);transition:all .18s ease;background:transparent;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;border-bottom:1px solid var(--dnd-gold-08)}.skill-row:before{display:none}.skill-row:hover{background:#ffffff14}.skill-row:hover:before{display:none}.skill-row:active{background:#ffffff26}.skill-row.proficient{background:transparent}.skill-row.proficient:hover{background:#ffffff14}.skill-row.proficient:active{background:#ffffff26}.skill-row.expertise{background:transparent}.skill-row.expertise:hover{background:#ffffff14}.skill-row.expertise:active{background:#ffffff26}.skills-list.edit-mode .roll-icon{display:none}.skill-name{display:flex;align-items:center;gap:.45rem;font-weight:500;color:var(--dnd-text-light);flex:1;letter-spacing:.02em;font-size:.87rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proficiency-mark{color:var(--dnd-gold);font-weight:700;font-size:.85rem;flex-shrink:0;width:1em;display:inline-flex;align-items:center;justify-content:center}.expertise-mark{display:inline-flex;align-items:center;justify-content:center;position:relative;color:#e8c040;width:1em;height:1em;flex-shrink:0}.empty-mark{color:var(--dnd-muted);font-size:.85rem;opacity:.5}.background-skill-tag{font-size:.6rem;font-weight:700;color:#fff;background:#8a5ce6b3;border-radius:var(--radius-xs);padding:.05rem .3rem;margin-left:.25rem;letter-spacing:.05em;flex-shrink:0;white-space:nowrap}.skill-modifier{background:var(--dnd-surface-2);padding:.2rem .55rem;border-radius:var(--radius-sm);font-weight:700;color:var(--dnd-text-light);min-width:38px;text-align:center;border:1px solid var(--dnd-border);font-size:.82rem;display:flex;align-items:center;justify-content:center;gap:.2rem;flex-shrink:0;transition:all var(--duration-fast) ease}.skill-row.proficient .skill-modifier{background:linear-gradient(135deg,var(--dnd-gold),var(--dnd-gold-dark));color:var(--dnd-on-gold);border-color:var(--dnd-gold);box-shadow:0 0 8px var(--dnd-gold-20)}.skill-row.expertise .skill-modifier{background:linear-gradient(135deg,#e8c040,#b8960a);color:#1a1a2e;border-color:#e8c040;box-shadow:0 0 10px #e8c0404d;font-weight:900}.roll-icon{font-size:.7rem;opacity:0;transition:opacity var(--duration-fast) ease}.skill-row:hover .roll-icon{opacity:.85}.skill-roll-result{display:flex;align-items:center;justify-content:space-between;background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-30);border-radius:var(--radius-md);padding:.55rem .85rem;margin-bottom:.6rem;animation:rollSlideIn var(--duration-normal) ease-out;font-size:.9rem;gap:.5rem}.skill-roll-result.crit-success{border-color:#22c55e;background:#22c55e14}.skill-roll-result.crit-fail{border-color:#ef4444;background:#ef444414}.roll-skill-name{font-weight:600;color:var(--dnd-gold);letter-spacing:.02em}.roll-formula{color:var(--dnd-text-light);display:flex;align-items:center;gap:.3rem}.roll-die{font-weight:700;color:var(--dnd-text-light);background:#ffffff0f;padding:0 .35rem;border-radius:var(--radius-xs);min-width:1.5em;text-align:center}.roll-die.nat20{color:#22c55e;background:#22c55e1f}.roll-die.nat1{color:#ef4444;background:#ef44441f}.roll-total{font-weight:700;font-size:1.05em;color:var(--dnd-gold-light);background:var(--dnd-gold-12);padding:0 .4rem;border-radius:var(--radius-xs)}@keyframes rollSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.ability-grid{grid-template-columns:repeat(3,1fr);gap:.35rem}.ability-box{padding:.55rem .35rem}}@media(max-width:480px){.ability-grid{grid-template-columns:repeat(2,1fr);gap:.3rem}.ability-box{padding:.5rem .25rem}.ability-short{font-size:.85rem}.ability-mod{font-size:.75rem}.skill-row{padding:.25rem .75rem;margin:0 -.75rem}.skill-name{font-size:.82rem}.skill-modifier{font-size:.75rem;min-width:32px;padding:.18rem .35rem}}.prof-block{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--dnd-gold-15)}.prof-block-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.prof-block-head h3{margin:0;font-size:.95rem;font-family:var(--font-display);color:var(--dnd-gold)}.prof-block-group{margin-bottom:.6rem}.prof-block-label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-text-secondary);margin-bottom:.35rem}.prof-chips{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.prof-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .5rem;border-radius:var(--radius-md, 8px);background:var(--dnd-gold-08);border:1px solid var(--dnd-gold-15);color:var(--dnd-text);font-size:.85rem;overflow-wrap:anywhere}.prof-chip-src{font-style:normal;font-size:.72em;color:var(--dnd-text-secondary)}.prof-chip-remove{border:none;background:none;color:var(--dnd-text-secondary);cursor:pointer;font-size:1rem;line-height:1;padding:0 .1rem;touch-action:manipulation}.prof-chip-remove:hover{color:var(--dnd-gold)}.prof-chip-empty{color:var(--dnd-text-secondary)}.prof-add-select{font-size:.85rem;padding:.2rem .4rem;border-radius:var(--radius-md, 8px);background:var(--dnd-surface-1);border:1px dashed var(--dnd-gold-25);color:var(--dnd-text);max-width:100%}.features{grid-column:span 1}.features-content{display:flex;flex-direction:column;gap:.5rem}.class-resources{margin-bottom:.75rem;padding:.65rem .75rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-lg);position:relative}.class-resources:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--dnd-gold-30),transparent)}.class-resources-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.55rem;gap:.4rem}.class-resources-header h4{color:var(--dnd-gold);font-size:.8rem;margin:0;font-family:var(--font-display);letter-spacing:1.2px;text-transform:uppercase;font-weight:700}.resources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.4rem;align-items:stretch}.resource-card{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem .55rem .5rem;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:var(--radius-lg);cursor:pointer;touch-action:manipulation;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease;position:relative;overflow:hidden;box-shadow:var(--shadow-xs)}.resource-card:hover,.resource-card:focus-within{border-color:var(--dnd-gold-30);box-shadow:var(--shadow-sm)}.resource-card.trackable{gap:.4rem}.resource-card.pool{width:fit-content;min-width:130px}.resource-card.expanded{grid-column:1 / -1;order:-1;overflow:visible;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.35rem 1rem;text-align:left;border-color:var(--dnd-gold-30)}.resource-card.expanded .resource-name{width:auto;min-height:0;justify-content:flex-start;font-size:.85rem}.resource-card.expanded .resource-card-body{width:auto;flex:0 0 auto;margin:0}.resource-detail{flex-basis:100%;width:100%;margin-top:.3rem;padding-top:.4rem;border-top:1px solid rgba(150,150,150,.2);font-size:.78rem;line-height:1.5;color:var(--dnd-muted);text-align:left;cursor:default}.resource-detail .feature-tooltip-text p{margin:0 0 .3rem}.resource-cost-note{margin:.25rem 0 0;font-size:.7rem;color:var(--dnd-gold);font-weight:600}.resource-card-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;width:100%;margin-top:auto}.resource-name{font-size:.76rem;color:var(--dnd-text);font-weight:600;letter-spacing:-.01em;text-align:center;line-height:1.25;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;width:100%;display:flex;align-items:center;justify-content:center;min-height:1.4rem}.resource-value{font-weight:800;font-size:.8rem;color:var(--dnd-gold);text-align:center;font-family:var(--font-primary)}.resource-die-badge{display:inline-flex;align-items:center;justify-content:center;padding:.05rem .45rem;border-radius:var(--radius-full);background:var(--dnd-gold-12);border:1px solid var(--dnd-gold-25);color:var(--dnd-gold);font-family:var(--font-primary);font-weight:700;font-size:.68rem;line-height:1.5;letter-spacing:.01em;white-space:nowrap}.feature-resource-row{display:flex;align-items:center;gap:.5rem}.resource-counter{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;flex-shrink:0;gap:.1rem}.resource-btn{width:24px;height:24px;border-radius:var(--radius-md);border:1px solid var(--dnd-border);background:var(--surface-input);color:var(--dnd-text-secondary);font-size:.95rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast) ease;padding:0;line-height:1;touch-action:manipulation}.resource-btn.bulk{width:auto;min-width:22px;padding:0 3px;font-size:.65rem}.resource-btn:disabled{opacity:.25;cursor:not-allowed}.resource-btn.use:not(:disabled){color:#e08080;border-color:#dc646438}.resource-btn.use:not(:disabled):hover{border-color:var(--dnd-accent-red-light);color:#ef9090;background:var(--dnd-red-15);transform:scale(1.06)}.resource-btn.restore:not(:disabled){color:#8c8;border-color:#64b46438}.resource-btn.restore:not(:disabled):hover{border-color:#8c8;color:#ada;background:#64b46424;transform:scale(1.06)}.resource-btn.cost-regain{width:auto;min-width:22px;padding:0 5px;font-size:.62rem;font-weight:700;gap:1px}.resource-btn.cost-regain:not(:disabled){color:var(--dnd-gold);border-color:var(--dnd-gold-30)}.resource-btn.cost-regain:not(:disabled):hover{border-color:var(--dnd-gold);background:var(--dnd-gold-15);transform:scale(1.04)}.resource-current{font-weight:800;font-size:.8rem;color:var(--dnd-gold);min-width:1.5em;text-align:center;font-family:var(--font-primary);transition:color .2s ease}.resource-current.depleted{color:var(--dnd-accent-red-light)}.resource-separator{color:var(--dnd-muted);font-size:.72rem;margin:0 1px;opacity:.45}.resource-max{color:var(--dnd-muted);font-size:.72rem;min-width:1.2em;text-align:center;opacity:.65}.resource-rest-label{font-size:.58rem;color:var(--dnd-muted);margin-top:1px;opacity:.65}.resource-pool{display:flex;flex-direction:column;align-items:center;gap:.35rem;width:100%}.resource-pool-controls{display:flex;align-items:center;gap:.3rem}.resource-pool-input{width:3.5em;text-align:center;font-weight:800;font-size:1.1rem;color:var(--dnd-gold);background:#00000040;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);padding:.15rem .25rem;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.resource-pool-input::-webkit-inner-spin-button,.resource-pool-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.resource-pool-input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 5px var(--dnd-gold-25)}.resource-rest-buttons{display:flex;gap:.4rem}.btn-rest{padding:.2rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--dnd-border);background:#0003;color:var(--dnd-muted);font-size:.68rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.02em}.btn-rest:hover{border-color:var(--dnd-gold);color:var(--dnd-gold);background:var(--dnd-gold-08)}.btn-rest.long{border-color:#64b46447;color:#8c8}.btn-rest.long:hover{border-color:#8c8;color:#ada;background:#64b4641a}.custom-counters-section{margin-top:0}.custom-counter-add-btn{border-radius:var(--radius-sm);border:1px solid var(--dnd-border);background:transparent;color:var(--dnd-text-light);font-size:.75rem;cursor:pointer;display:flex;align-items:center;gap:.25rem;transition:all .2s ease;padding:.25rem .6rem;line-height:1;white-space:nowrap}.custom-counter-add-btn:hover{background:var(--dnd-gold-06);border-color:var(--dnd-gold-25);color:var(--dnd-gold-light)}.custom-counter-form{display:flex;flex-direction:column;gap:.45rem;padding:.65rem .75rem;margin-bottom:.55rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md)}.custom-counter-input{background:#00000040;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);padding:.35rem .5rem;color:var(--dnd-text-light);font-size:.85rem;font-family:var(--font-primary);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.custom-counter-input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 5px var(--dnd-gold-20)}.custom-counter-input.name-input{width:100%;box-sizing:border-box}.custom-counter-input.number-input{width:4.5em;text-align:center;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.custom-counter-input.number-input::-webkit-inner-spin-button,.custom-counter-input.number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.custom-counter-form-row{display:flex;align-items:center;gap:.5rem}.custom-counter-label{color:var(--dnd-muted);font-size:.75rem;flex-shrink:0;min-width:5.5em;letter-spacing:.02em}.custom-counter-select{background:#00000040;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);padding:.3rem .45rem;color:var(--dnd-text-light);font-size:.82rem;font-family:var(--font-primary);flex:1;transition:border-color var(--duration-fast) ease}.custom-counter-select:focus{outline:none;border-color:var(--dnd-gold)}.custom-counter-cost-group{display:flex;align-items:center;gap:.4rem;flex:1}.custom-counter-cost-group .number-input{width:4em;flex:0 0 auto}.resource-cost-badge{color:var(--dnd-gold);font-weight:600}.custom-counter-form-actions{display:flex;gap:.4rem;margin-top:.1rem}.custom-counter-save-btn{padding:.3rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--dnd-gold-40);font-size:.78rem;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);background:var(--dnd-gold-15);color:var(--dnd-gold);font-weight:600}.custom-counter-save-btn:not(:disabled):hover{background:var(--dnd-gold-25);border-color:var(--dnd-gold);box-shadow:0 0 6px var(--dnd-gold-20)}.custom-counter-save-btn:disabled{opacity:.35;cursor:not-allowed}.custom-counter-cancel-btn{padding:.3rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--dnd-border);font-size:.78rem;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);background:#0003;color:var(--dnd-muted)}.custom-counter-cancel-btn:hover{border-color:var(--dnd-muted);color:var(--dnd-text-light)}.feature-choice-modal-body{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.25rem}.feature-choice-modal-desc{margin:0}.feature-choice-modal-actions{display:flex;justify-content:flex-end;gap:.6rem;padding:.9rem 1.25rem 1.1rem;border-top:1px solid var(--dnd-border)}.feature-choice-modal-actions .confirm-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.custom-counter-card{position:relative}.custom-counter-actions{position:absolute;top:3px;right:3px;display:flex;gap:2px;opacity:0;pointer-events:none;transition:opacity .2s ease}.custom-counter-card:hover .custom-counter-actions,.custom-counter-card:focus-within .custom-counter-actions{opacity:1;pointer-events:auto}.custom-counter-edit-btn,.custom-counter-delete-btn{width:24px;height:24px;border:1px solid rgba(255,255,255,.15);background:#1e1812bf;color:#ffffffbf;font-size:.7rem;border-radius:var(--radius-xs);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all var(--duration-fast) ease;touch-action:manipulation}.custom-counter-edit-btn:hover{color:var(--dnd-gold);background:#1e1812e6;border-color:var(--dnd-gold-40)}.custom-counter-delete-btn:hover{color:#ff8080;background:#1e1812e6;border-color:#dc505080}.custom-counter-type-toggle{display:inline-flex;flex:1;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);overflow:hidden;background:#0003}.custom-counter-type-btn{flex:1;padding:.3rem .6rem;border:none;background:transparent;color:var(--dnd-muted);font-size:.78rem;font-family:var(--font-primary);white-space:nowrap;cursor:pointer;transition:all var(--duration-fast) ease}.custom-counter-type-btn+.custom-counter-type-btn{border-left:1px solid var(--dnd-border)}.custom-counter-type-btn:hover{color:var(--dnd-text-light)}.custom-counter-type-btn.active{background:var(--dnd-gold-15);color:var(--dnd-gold);font-weight:600}.custom-counter-card .custom-badge{position:absolute;top:.3rem;left:.3rem;color:var(--dnd-text-muted);display:flex;align-items:center;opacity:.45;z-index:1}.resource-card.text-counter .resource-current{font-size:.8rem;font-weight:800;white-space:normal;word-break:break-word;text-align:center;min-width:0}.resource-card.text-counter .resource-card-body{display:flex;align-items:center;justify-content:center;min-height:2rem}.features-by-level{display:flex;flex-direction:column;gap:.55rem}.features-section-title{color:var(--dnd-gold);margin:.75rem 0 .4rem;font-family:var(--font-display);font-size:.82rem;letter-spacing:1.2px;text-transform:uppercase;font-weight:700}.feature-level-group{position:relative;padding-left:2.35rem;animation:featureGroupIn .3s ease-out both}@keyframes featureGroupIn{0%{opacity:0;transform:translate(-5px)}to{opacity:1;transform:translate(0)}}.feature-level-group:nth-child(1){animation-delay:0s}.feature-level-group:nth-child(2){animation-delay:.04s}.feature-level-group:nth-child(3){animation-delay:.08s}.feature-level-group:nth-child(4){animation-delay:.12s}.feature-level-group:nth-child(n+5){animation-delay:var(--duration-fast)}.feature-level-label{position:absolute;left:0;top:.2rem;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dnd-gold-20),var(--dnd-gold-10));color:var(--dnd-gold);font-family:var(--font-display);font-size:.78rem;font-weight:700;border-radius:var(--radius-sm);border:1px solid var(--dnd-gold-30);line-height:1;box-shadow:0 1px 3px #00000040}.feature-source-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.03em}.feature-level-items{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.25rem;align-items:flex-start}.feature-accordion-item{display:inline-flex;flex-direction:column;align-items:flex-start;position:relative}.feature-accordion-item:has(.feature-chip.active){width:100%;border:1px solid var(--dnd-gold);border-radius:var(--radius-md);box-shadow:0 0 10px var(--dnd-gold-15),inset 0 0 0 1px var(--dnd-gold-08);overflow:hidden}.feature-accordion-item:has(.feature-chip.active)>button.feature-chip.active{width:100%;flex-direction:column;align-items:flex-start;justify-content:center;gap:.35rem;min-height:2.6rem;border:none;border-radius:0;background:#42a5f517;box-shadow:none;border-bottom:1px solid rgba(66,165,245,.25);padding-right:5rem;position:relative}.feature-accordion-item:has(.feature-chip.active)>button.feature-chip.active .feature-chip-source{margin-left:-.15rem}.feature-accordion-item:has(.feature-chip.active)>button.feature-chip.active:after{position:absolute;top:50%;right:.65rem;transform:translateY(-50%);margin-left:0}.feature-accordion-item .feature-tooltip{margin:0;border:none;border-radius:0;background:var(--dnd-surface-1);padding:.5rem .8rem .6rem;width:100%;box-sizing:border-box}.feature-resource-counter{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .6rem;padding:.4rem .8rem 0}.feature-card-actions{position:absolute;top:.4rem;right:.5rem;display:flex;gap:.2rem;z-index:1}.feature-card-action-btn{display:flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;background:transparent;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);color:var(--dnd-text-muted);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast);touch-action:manipulation}.feature-card-action-btn:hover{background:var(--dnd-gold-08);border-color:var(--dnd-gold-30);color:var(--dnd-gold)}.feature-card-action-btn--pin.is-pinned{color:var(--dnd-gold);border-color:var(--dnd-gold-30)}.feature-card-action-btn--delete{color:#dc4646a6;border-color:#dc464633}.feature-card-action-btn--delete:hover{background:#dc46461a;border-color:#dc464673;color:#dc4646}.feature-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .55rem;background:#42a5f517;border:1px solid rgba(66,165,245,.22);border-radius:var(--radius-md);color:var(--dnd-text-light);font-size:.82rem;cursor:pointer;transition:all .18s ease;line-height:1.3;text-align:left}span.feature-chip{cursor:default}button.feature-chip{background:#42a5f517;border-color:#42a5f538}button.feature-chip:after{content:"▸";font-size:.55rem;opacity:.35;flex-shrink:0;margin-left:.1rem;transition:opacity var(--duration-fast) ease}button.feature-chip.active:after{content:"▾";opacity:.75;color:var(--dnd-gold)}.feature-chip:not(span):hover{border-color:var(--dnd-gold-30);background:var(--dnd-gold-08);transform:translateY(-1px);box-shadow:var(--shadow-xs)}.feature-chip.active{border-color:var(--dnd-gold);background:var(--dnd-gold-12);box-shadow:0 0 8px var(--dnd-gold-15),inset 0 0 0 1px var(--dnd-gold-10);color:var(--dnd-gold-light)}button.feature-chip--resource:not(.active){background:var(--dnd-gold-08);border-color:var(--dnd-gold-30);color:var(--dnd-gold-light)}button.feature-chip--resource:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background:var(--dnd-gold);box-shadow:0 0 4px var(--dnd-gold-40);flex-shrink:0}button.feature-chip--resource:not(span):hover{border-color:var(--dnd-gold);background:var(--dnd-gold-12)}.feature-chip-name{font-weight:500}.feature-chip-name-row{display:inline-flex;align-items:center;gap:.3rem}.feature-chip-source--custom{color:var(--dnd-gold);background:var(--dnd-gold-10);border-color:var(--dnd-gold-20)}.feature-chip-source{font-size:.65rem;color:var(--dnd-info);background:#42a5f51a;padding:.1rem .35rem;border-radius:var(--radius-sm);border:1px solid rgba(66,165,245,.2);white-space:nowrap;flex-shrink:0;font-weight:600;display:inline-flex;align-items:center}.feature-chip-source.feat-source{color:#b080e8;background:#b080e81a;border-color:#b080e833}.feature-chip.feature-chip-add{border-style:dashed;border-color:var(--dnd-border);opacity:.45;background:transparent;color:var(--dnd-text-muted);transition:opacity .18s ease,border-color .18s ease}.feature-chip.feature-chip-add:after{display:none}.feature-chip.feature-chip-add:hover{opacity:.8;border-color:var(--dnd-gold-30);background:var(--dnd-gold-08);color:var(--dnd-gold-light)}.feature-add-form{gap:.9rem;margin:0 1.5rem 1.25rem;padding:1.1rem 1.15rem 1.2rem}.feature-add-form .custom-counter-form-row{flex-direction:column;align-items:stretch;gap:.35rem}.feature-add-form .custom-counter-label{min-width:0;white-space:normal;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-muted)}.feature-add-form .custom-counter-input,.feature-add-form .custom-counter-select{font-size:.92rem;padding:.5rem .65rem}.feature-add-form .custom-counter-input.number-input{width:5.5em;text-align:left}.feature-add-form .custom-counter-select{flex:none;width:100%}.feature-add-form .custom-counter-type-toggle{width:100%;flex:none}.feature-add-form .custom-counter-type-btn{padding:.5rem .6rem;font-size:.85rem}.feature-add-form .custom-counter-cost-group{width:100%;flex:none;gap:.5rem}.feature-add-form .custom-counter-cost-group .custom-counter-select{flex:1;min-width:0}.feature-add-form .custom-counter-cost-group .number-input{width:4.5em;flex:0 0 auto;text-align:center}.feature-add-form .custom-counter-form-actions{margin-top:.4rem;gap:.6rem}.feature-add-form .custom-counter-save-btn,.feature-add-form .custom-counter-cancel-btn{padding:.55rem 1.25rem;font-size:.88rem}.feature-resource-toggle{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);background:#0003;color:var(--dnd-text-light);font-size:.9rem;cursor:pointer;transition:border-color var(--duration-fast) ease,background var(--duration-fast) ease}.feature-resource-toggle:hover{border-color:var(--dnd-gold-30)}.feature-resource-toggle:has(input:checked){border-color:var(--dnd-gold-40);background:var(--dnd-gold-08)}.feature-resource-toggle input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--dnd-gold);cursor:pointer;flex-shrink:0}.feature-resource-toggle input:disabled{cursor:default}.feature-resource-fields{display:flex;flex-direction:column;gap:.85rem;padding:.9rem;border:1px solid var(--dnd-gold-15);border-radius:var(--radius-sm);background:var(--dnd-gold-04)}.feature-resource-typemax{display:flex;flex-direction:column;gap:.85rem}.feature-level-stepper{display:flex;align-items:center;gap:8px}.feature-tooltip{margin-top:.25rem;margin-bottom:.3rem;padding:.6rem .8rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-20);border-left:3px solid var(--dnd-gold);border-radius:0 var(--radius-md) var(--radius-md) 0;animation:featureTooltipIn var(--duration-fast) ease-out}@keyframes featureTooltipIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.feature-tooltip-header{display:flex;align-items:center;gap:.45rem;margin-bottom:.4rem;padding-bottom:.35rem;border-bottom:1px solid var(--dnd-gold-12)}.feature-tooltip-header strong{color:var(--dnd-gold);font-size:.88rem;flex:1;line-height:1.3}.feature-tooltip-source{font-size:.65rem;color:var(--dnd-info);background:#42a5f51a;border:1px solid rgba(66,165,245,.2);padding:.1rem .35rem;border-radius:var(--radius-sm);font-weight:600;flex-shrink:0}.feature-tooltip-close{background:none;border:none;color:var(--dnd-muted);font-size:.85rem;cursor:pointer;padding:.25rem .4rem;min-width:30px;min-height:30px;border-radius:var(--radius-xs);line-height:1;transition:all var(--duration-fast) ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.feature-tooltip-close:hover{background:var(--dnd-red-15);color:var(--dnd-accent-red-light)}.feature-tooltip-text{color:var(--dnd-text);font-size:.83rem;line-height:1.6;margin:0;opacity:.9}.feature-tooltip-text p{margin:0 0 .5rem}.feature-tooltip-text p:last-child{margin-bottom:0}.chosen-options-list{display:flex;flex-direction:column;gap:.6rem;margin-top:.5rem}.chosen-option-group{background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-12);border-radius:var(--radius-md);padding:.55rem .7rem}.chosen-option-title{color:var(--dnd-gold);font-size:.82rem;display:block;margin-bottom:.3rem;font-weight:600}.chosen-option-item{padding:.25rem 0}.chosen-option-name{font-weight:600;color:var(--dnd-text-light);font-size:.85rem}.chosen-option-desc{color:var(--dnd-text);opacity:.7;font-size:.78rem;margin:.12rem 0 0;line-height:1.45}.empty-state{color:var(--dnd-text);opacity:.35;font-style:italic;font-size:.85rem;text-align:center;padding:1rem .5rem;margin:0}.sheet-footer{text-align:center;padding:.85rem 1rem;background:#09191a80;border-radius:var(--radius-md);border:1px solid var(--dnd-border);color:var(--dnd-text);font-size:.82rem;opacity:.6;position:relative;z-index:1}@media(max-width:480px){.resources-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.feature-chip{font-size:.78rem;padding:.25rem .45rem}.feature-level-label{width:1.5rem;height:1.5rem;font-size:.7rem}.feature-level-group{padding-left:2rem}.feature-tooltip{padding:.5rem .6rem}}.inventory-top-row{display:flex;align-items:stretch;gap:.5rem;margin-bottom:.75rem}.magic-counter-card{flex-shrink:0;min-width:78px;cursor:default!important}.magic-max-clickable:hover{color:var(--dnd-gold)!important;opacity:1!important;text-decoration:underline dotted}.magic-max-input{width:2.2em;background:#00000059;border:1px solid var(--dnd-gold);border-radius:var(--radius-sm);color:var(--dnd-muted);font-size:.72rem;font-weight:700;text-align:center;outline:none;padding:0 2px}.resource-pips{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;margin-top:2px}.resource-pip{width:8px;height:8px;border-radius:50%;border:1px solid var(--dnd-gold-30);transition:all .2s ease}.resource-pip.available{background:var(--dnd-gold);border-color:var(--dnd-gold);box-shadow:0 0 3px var(--dnd-gold-40)}.resource-pip.used{background:transparent;border-color:var(--dnd-gold-30)}.currency-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;flex:1}.currency-row--compact{gap:.35rem}.currency-card{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.45rem .4rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-lg);transition:border-color .2s ease,box-shadow .2s ease}.currency-card:hover{border-color:var(--dnd-gold-30)}.currency-input{width:100%;padding:.25rem .15rem;background:#00000040;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--dnd-text-light);font-size:.9rem;font-weight:700;text-align:center;box-sizing:border-box;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.currency-input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-15)}.currency-label{font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;opacity:.55}.currency-platinum .currency-input,.currency-platinum .currency-label{color:#c8c8e8}.currency-gold .currency-input,.currency-gold .currency-label{color:var(--dnd-gold)}.currency-silver .currency-input,.currency-silver .currency-label{color:#b0b0b0}.currency-copper .currency-input,.currency-copper .currency-label{color:#c8885a}.currency-card.is-active{border-color:var(--dnd-gold);box-shadow:0 0 0 1px var(--dnd-gold-30)}.currency-stepper{display:flex;align-items:center;justify-content:center;gap:.3rem;margin:.4rem 0 .1rem;padding:.3rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-30);border-radius:var(--radius-md);flex-wrap:wrap}.currency-step-btn{flex:1 1 auto;min-width:44px;min-height:36px;padding:.25rem .5rem;background:#00000040;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);color:var(--dnd-text-light);font-size:.95rem;font-weight:700;cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.currency-step-btn:hover{border-color:var(--dnd-gold-30);background:#00000059}.currency-step-btn:active{background:var(--dnd-gold-15)}.currency-step-btn.minus{color:#d4836a}.currency-step-btn.plus{color:#7fbf7f}.currency-step-value{flex:0 1 auto;min-width:56px;text-align:center;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.category-tabs-wrapper{display:flex;align-items:flex-start;gap:.3rem;margin-bottom:.75rem}.category-tabs{flex:1;min-width:0;display:flex;flex-wrap:nowrap;gap:.3rem;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--dnd-gold-20) transparent;-webkit-overflow-scrolling:touch;padding-bottom:2px}.category-tabs::-webkit-scrollbar{height:3px}.category-tabs::-webkit-scrollbar-track{background:transparent}.category-tabs::-webkit-scrollbar-thumb{background:var(--dnd-gold-20);border-radius:var(--radius-full)}.category-tabs.expanded{flex-wrap:wrap;overflow-x:visible;padding-bottom:0}.cat-expand-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-full);color:var(--dnd-text-muted);cursor:pointer;transition:all .2s ease}.cat-expand-btn:hover{border-color:var(--dnd-gold-30);color:var(--dnd-gold);background:var(--dnd-gold-08)}.cat-tab{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .65rem;font-size:.75rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-full);color:var(--dnd-text);cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.cat-tab:hover{border-color:var(--dnd-gold-30);color:var(--dnd-gold);background:var(--dnd-gold-08)}.cat-tab.active{background:var(--dnd-gold-15);border-color:var(--dnd-gold);color:var(--dnd-gold);box-shadow:0 0 8px var(--dnd-gold-12)}.cat-tab-icon{font-size:.85rem;line-height:1}.cat-tab-label{font-weight:500}.cat-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--dnd-gold-25);border-radius:var(--radius-full);font-size:.6rem;font-weight:700;color:var(--dnd-gold)}.cat-tab.active .cat-count{background:var(--dnd-gold-40)}.inventory-list{display:flex;flex-direction:column;gap:0;margin-bottom:.75rem;border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);overflow:hidden}.inventory-item{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.45rem;padding:.6rem .65rem;background:transparent;border:none;border-bottom:1px solid var(--dnd-gold-10);border-radius:0;position:relative;transition:all .2s ease;animation:itemAppear .3s ease-out both}.inventory-item:last-child{border-bottom:none}.inventory-item:nth-child(1){animation-delay:0s}.inventory-item:nth-child(2){animation-delay:.03s}.inventory-item:nth-child(3){animation-delay:.06s}.inventory-item:nth-child(4){animation-delay:.09s}.inventory-item:nth-child(5){animation-delay:.12s}.inventory-item:nth-child(n+6){animation-delay:var(--duration-fast)}.inventory-item:hover{border-bottom-color:var(--dnd-gold-20);background:var(--dnd-gold-03);box-shadow:none}.equipped-accent{display:none}.inventory-item.equipped{border-bottom-color:var(--dnd-gold-20);background:var(--dnd-gold-04)}.inventory-item.dragging{opacity:.5;transform:scale(.99);border-bottom-color:var(--dnd-gold);background:var(--dnd-gold-08);box-shadow:none}.inventory-item.drag-over{border-bottom-color:var(--dnd-gold);background:var(--dnd-gold-08);box-shadow:none}.inventory-item .drag-handle{display:flex;align-items:center;cursor:grab;color:var(--dnd-text);opacity:.15;font-size:.85rem;padding:0 .1rem;flex-shrink:0;-webkit-user-select:none;user-select:none;transition:opacity .2s ease,color .2s ease}.inventory-item:hover .drag-handle{opacity:.35}.inventory-item .drag-handle:active{cursor:grabbing;opacity:.7;color:var(--dnd-gold)}.equip-btn{width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--dnd-border);border-radius:var(--radius-md);background:#0003;color:var(--dnd-muted);cursor:pointer;font-size:.9rem;transition:all .2s ease;padding:0;opacity:.45}.equip-btn:hover{opacity:1;color:var(--dnd-text);border-color:var(--dnd-gold-30);background:var(--dnd-gold-10);transform:scale(1.08)}.equip-btn.is-equipped{opacity:1;color:var(--dnd-gold);border-color:var(--dnd-gold);background:var(--dnd-gold-20);box-shadow:0 0 8px var(--dnd-gold-25)}.equip-btn--warn:hover{color:#c97b4b;border-color:#c97b4b80;background:#c97b4b1a}.magic-bonus-hint{display:flex;align-items:center;gap:10px;padding:7px 10px;margin-bottom:6px;background:var(--dnd-gold-08);border:1px solid var(--dnd-gold-30);border-radius:var(--radius-md);font-size:.8rem;color:var(--dnd-text);line-height:1.4}.magic-bonus-hint-text{flex:1;opacity:.9}.magic-bonus-hint-apply{flex-shrink:0;padding:4px 10px;border:1px solid var(--dnd-gold-40);border-radius:var(--radius-sm);background:var(--dnd-gold-10);color:var(--dnd-gold);cursor:pointer;font-size:.75rem;font-weight:600;transition:all var(--duration-fast) ease;white-space:nowrap}.magic-bonus-hint-apply:hover{background:var(--dnd-gold-20);border-color:var(--dnd-gold)}.no-damage-warning{display:flex;align-items:center;gap:10px;padding:8px 12px;margin:-2px 0 4px;background:#c97b4b14;border:1px solid rgba(201,123,75,.3);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);font-size:.78rem;color:var(--dnd-text);line-height:1.4;animation:fadeIn var(--duration-fast) ease}.no-damage-warning-text{flex:1;opacity:.85}.no-damage-warning-edit{flex-shrink:0;padding:4px 10px;border:1px solid rgba(201,123,75,.45);border-radius:var(--radius-sm);background:#c97b4b14;color:#c97b4b;cursor:pointer;font-size:.75rem;transition:all var(--duration-fast) ease;white-space:nowrap}.no-damage-warning-edit:hover{background:#c97b4b2e;border-color:#c97b4bb3}.item-category-icon{width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--dnd-muted);opacity:.4}.item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.item-name{color:var(--dnd-text-light);font-size:.88rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-item.equipped .item-name{color:var(--dnd-gold-light)}.item-meta{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.item-tag{display:inline-flex;align-items:center;padding:.1rem .4rem;border-radius:var(--radius-sm);font-size:.68rem;font-weight:600;letter-spacing:.02em}.weapon-tag{background:var(--dnd-red-15);color:#d4836a;border:1px solid var(--dnd-red-30)}.armor-tag{background:#3c648c2e;color:#7aabcf;border:1px solid rgba(60,100,140,.35)}.weight-tag{background:#ffffff0a;color:var(--dnd-text);opacity:.6;border:1px solid var(--dnd-border)}.cost-tag{background:var(--dnd-gold-15);color:var(--dnd-gold);border:1px solid var(--dnd-gold-30)}.sent-tag{background:var(--dnd-gold-15);color:var(--dnd-gold);border:1px solid var(--dnd-gold-30);animation:sent-pulse 2s ease-in-out infinite}@keyframes sent-pulse{0%,to{opacity:1}50%{opacity:.55}}.item-desc{font-size:.7rem;color:var(--dnd-text);opacity:.5;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.item-controls{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.2rem;flex-shrink:0}.item-qty{color:var(--dnd-gold);font-weight:700;min-width:22px;text-align:center;font-size:.88rem;font-variant-numeric:tabular-nums}.item-controls-spacer{width:.35rem}.qty-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#0003;border:1px solid var(--dnd-border);border-radius:var(--radius-md);color:var(--dnd-text);cursor:pointer;font-size:.8rem;transition:all var(--duration-fast) ease;padding:0}.qty-btn:hover{border-color:var(--dnd-gold);color:var(--dnd-gold);background:var(--dnd-gold-10);transform:scale(1.06)}.qty-btn:active{transform:scale(.95)}.qty-btn.edit-btn{color:var(--dnd-text-muted);border-color:transparent;font-size:.85rem}.qty-btn.edit-btn:hover{background:var(--dnd-gold-10);border-color:var(--dnd-border);color:var(--dnd-text)}.qty-btn.remove{color:var(--dnd-accent-red);border-color:var(--dnd-red-30)}.qty-btn.remove:hover{border-color:var(--dnd-accent-red);background:var(--dnd-red-20);color:var(--dnd-danger)}.qty-btn.info{color:var(--dnd-info);border-color:#42a5f54d}.qty-btn.info:hover{border-color:var(--dnd-info);background:#42a5f51f}.qty-btn.concentrate{color:var(--dnd-info);border-color:color-mix(in srgb,var(--dnd-info) 35%,transparent)}.qty-btn.concentrate:hover{border-color:var(--dnd-info);color:var(--dnd-info);background:color-mix(in srgb,var(--dnd-info) 14%,transparent)}.qty-btn.concentrate svg{display:block}.qty-btn.cancel-send{background:var(--dnd-gold-10);color:var(--dnd-gold);border:1px solid var(--dnd-gold-30);font-size:.85rem;padding:.15rem .5rem;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) ease;width:auto}.qty-btn.cancel-send:hover{background:var(--dnd-gold-25);border-color:var(--dnd-gold)}.inv-empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;margin:.5rem 0}.inv-empty-icon{font-size:2.5rem;opacity:.3;filter:grayscale(.5)}.inv-empty-text{color:var(--dnd-text);opacity:.35;font-style:italic;font-size:.85rem;text-align:center;margin:0}.empty-state{color:var(--dnd-text);opacity:.4;font-style:italic;font-size:.85rem;text-align:center;padding:1rem 0;margin:0}.incoming-transfers-section{margin-bottom:.75rem;padding:.65rem .8rem;background:#2e7d320f;border:1px solid rgba(46,125,50,.2);border-radius:var(--radius-lg);border-left:3px solid rgba(46,125,50,.5)}.incoming-transfers-title{display:flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:600;margin:0 0 .5rem;color:#81c784}.incoming-transfers-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem;height:1.2rem;padding:0 .35rem;border-radius:var(--radius-full);background:#2e7d324d;color:#a5d6a7;font-size:.68rem;font-weight:700}.incoming-transfer-card{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .6rem;margin-bottom:.35rem;background:var(--dnd-surface-1);border:1px solid rgba(46,125,50,.15);border-radius:var(--radius-md)}.incoming-transfer-card:last-child{margin-bottom:0}.incoming-transfer-info{display:flex;align-items:center;gap:.4rem;flex:1;min-width:0;flex-wrap:wrap}.incoming-transfer-name{font-weight:600;font-size:.85rem;color:var(--dnd-text-light)}.incoming-transfer-qty{font-size:.75rem;color:var(--dnd-gold);font-weight:600}.incoming-transfer-from{font-size:.72rem;color:var(--dnd-muted);font-style:italic}.incoming-transfer-actions{display:flex;gap:.35rem;flex-shrink:0}.inventory-item.editing{background:var(--dnd-gold-08);border:1px solid var(--dnd-gold-30);padding:.75rem}.edit-item-form{width:100%;display:flex;flex-direction:column;gap:.5rem}.edit-item-actions{display:flex;gap:.5rem;margin-top:.25rem}.edit-item-actions .btn-add-submit{flex:1}.edit-item-actions .btn-toggle-add{flex:0 0 auto;width:auto;padding:.5rem 1rem}.item-modal .modal-title{text-transform:none;letter-spacing:0;font-size:1.05rem;white-space:normal;overflow:visible;text-overflow:unset;word-break:break-word}.item-modal-title-block{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start}.item-modal-title-name{line-height:1.3;font-size:1.1rem}.item-modal-mode-toggle{background:var(--dnd-gold-12);border:1px solid var(--dnd-gold-25);border-radius:var(--radius-md);color:var(--dnd-gold);cursor:pointer;font-size:1rem;width:34px;height:34px;display:flex;align-items:center;justify-content:center;transition:all .18s ease;font-variant-emoji:text}.item-modal-mode-toggle:hover{background:var(--dnd-gold-25);border-color:var(--dnd-gold);transform:scale(1.08)}.item-modal-mode-transfer{background:var(--dnd-gold-20);border-color:var(--dnd-gold)}.item-modal-read{padding:1.25rem 1.5rem 1.5rem}.item-modal-meta-row{display:none}.item-modal-category-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .4rem .1rem .3rem;background:transparent;border:1px solid var(--dnd-gold-20);border-radius:999px;font-size:.65rem;font-weight:500;color:var(--dnd-muted);letter-spacing:.02em;font-family:var(--font-primary);text-transform:none;opacity:.8}.item-modal-badge-icon{display:flex;align-items:center}.item-modal-badge-icon svg{width:11px;height:11px}.item-modal-qty-inline{font-size:.9rem;font-weight:600;opacity:.55;margin-left:.15rem}.item-category-picker{display:flex;flex-wrap:wrap;gap:.4rem}.item-category-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem .3rem .5rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-radius:999px;color:var(--dnd-muted);font-size:.78rem;font-weight:500;cursor:pointer;transition:all var(--duration-fast) ease;font-family:inherit;white-space:nowrap}.item-category-btn:hover{border-color:var(--dnd-gold-40);color:var(--dnd-text);background:var(--dnd-gold-08)}.item-category-btn.is-selected{background:var(--dnd-gold-15);border-color:var(--dnd-gold);color:var(--dnd-gold);font-weight:600}.item-category-btn-icon{display:flex;align-items:center}.item-category-btn-icon svg{width:13px;height:13px}.item-modal-qty{margin-left:auto;font-size:1.4rem;font-weight:700;color:var(--dnd-accent-gold);background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-25);border-radius:var(--radius-md);padding:.2rem .7rem;flex-shrink:0}.item-modal-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem;margin-bottom:1rem}.item-modal-stat{padding:.65rem .8rem;border-radius:var(--radius-md);border:1px solid transparent}.item-modal-stat.weapon{background:var(--dnd-red-10);border-color:var(--dnd-red-30)}.item-modal-stat.armor{background:#3c648c1f;border-color:#3c648c4d}.item-modal-stat.weight{background:#ffffff0a;border-color:var(--dnd-border)}.item-modal-stat .stat-label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;opacity:.55;margin-bottom:.2rem}.item-modal-stat .stat-value{display:block;font-size:1.05rem;font-weight:600;color:var(--dnd-text-light)}.item-modal-stat.weapon .stat-value{color:#d4836a}.item-modal-stat.armor .stat-value{color:#7aabcf}.item-modal-description{margin-top:.25rem}.item-modal-description .desc-divider{height:1px;background:linear-gradient(90deg,transparent,var(--dnd-accent-gold),transparent);margin-bottom:.85rem;opacity:.35}.item-modal-description p{margin:0;font-size:.95rem;line-height:1.65;color:var(--dnd-text);opacity:.85;white-space:pre-wrap;font-style:italic}.item-modal-read-footer{display:flex;gap:.75rem;margin-top:1.25rem}.item-modal-transfer-row{padding:.75rem 1rem .25rem}.item-modal-props-row{display:flex;gap:.4rem;flex-wrap:wrap;font-size:.85rem;padding:.5rem 0;border-top:1px solid var(--dnd-border);margin-top:.25rem}.item-modal-props-label{color:var(--dnd-muted);flex-shrink:0}.item-modal-props-value{color:var(--dnd-text)}.item-modal-directory-add{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;padding:.75rem 0 0;margin-top:.5rem;border-top:1px solid var(--dnd-border)}.item-modal-directory-add .btn{flex:1 1 auto;min-width:0;white-space:nowrap}.item-modal-sell-btn{color:var(--dnd-gold);border-color:var(--dnd-gold-30)}.add-form-field--inline.cost-field{max-width:300px}.add-form-field .cost-input-group{display:flex;gap:.4rem;width:100%;min-width:0}.add-form-field .cost-input-group .cost-amount-input{flex:1 1 auto;width:auto;min-width:90px}.add-form-field .cost-input-group .cost-coin-select{flex:0 0 auto;width:88px;min-width:88px}.spell-detail-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--dnd-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:1rem}.spell-detail-modal{background:var(--dnd-card-bg);border:1px solid var(--dnd-border);border-radius:var(--radius-lg);max-width:600px;max-height:85vh;overflow-y:auto;box-shadow:0 8px 32px #00000080;animation:slideInModal .3s ease-out}@keyframes slideInModal{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.spell-detail-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--dnd-gold-20);position:sticky;top:0;background:var(--dnd-card-bg)}.spell-detail-header h3{margin:0;color:var(--dnd-gold);font-size:1.3rem;font-family:var(--font-primary)}.spell-detail-header .close-btn{background:none;border:none;color:var(--dnd-text);font-size:1.5rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s ease}.spell-detail-header .close-btn:hover{background:var(--dnd-gold-10);color:var(--dnd-gold)}.spell-detail-content{padding:1.25rem 1.5rem 1.5rem;color:var(--dnd-text);line-height:1.6}.spell-detail-content p{margin:.75rem 0;font-size:.95rem}.spell-detail-content strong{color:var(--dnd-gold)}.spell-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem}.spell-meta-block{display:flex;align-items:center;gap:.65rem;padding:.55rem .7rem;background:var(--dnd-gold-05);border:1px solid var(--dnd-gold-10);border-radius:var(--radius-md);min-width:0}.spell-meta-block--wide{grid-column:1 / -1;align-items:flex-start;margin-top:.55rem}.spell-meta-icon{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--dnd-gold-10);color:var(--dnd-gold)}.spell-meta-icon svg{width:19px;height:19px}.spell-meta-info{display:flex;flex-direction:column;gap:1px;min-width:0}.spell-meta-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-gold);opacity:.85}.spell-meta-value{font-size:.9rem;line-height:1.3;color:var(--dnd-text);overflow-wrap:anywhere}.spell-detail-actions{display:flex;margin-top:1.25rem}.spell-roll-panel{margin-top:1.25rem;padding:.9rem 1rem;border:1px solid var(--dnd-gold-20);border-radius:10px;background:var(--dnd-gold-05);display:flex;flex-direction:column;gap:.85rem}.spell-roll-cast-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.spell-roll-conc{display:inline-flex;align-items:center;gap:.3rem}.spell-roll-ctx--warn{color:var(--dnd-danger)}.spell-roll-hint{font-size:.78rem;line-height:1.4;color:var(--text-muted);font-style:italic}.spell-roll-slot{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--dnd-text-light)}.spell-roll-slot select{padding:.2rem .5rem;border-radius:6px;border:1px solid var(--dnd-gold-20);background:var(--dnd-bg, #fff);color:var(--dnd-text);font-size:.85rem}.spell-roll-group{display:flex;flex-direction:column;gap:.5rem}.spell-roll-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem}.spell-roll-title{font-weight:600;color:var(--dnd-text)}.spell-roll-ctx{font-size:.8rem;color:var(--text-muted)}.spell-roll-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.spell-roll-note{font-size:.8rem;line-height:1.4;color:var(--text-muted)}.spell-description{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--dnd-gold-10)}.spell-text{margin-top:.75rem;font-size:.95rem;line-height:1.7;color:var(--dnd-text-light)}.spell-not-found{padding:2rem;text-align:center;color:var(--text-muted);font-style:italic}.add-item-section{margin-top:.5rem}.btn-toggle-add{width:100%;padding:.55rem;display:flex;align-items:center;justify-content:center;gap:.4rem;background:var(--dnd-gold-06);border:1px dashed var(--dnd-gold-25);border-radius:var(--radius-md);color:var(--dnd-gold);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;letter-spacing:.03em}.btn-toggle-add:hover,.btn-toggle-add.open{background:var(--dnd-gold-15);border-color:var(--dnd-gold);box-shadow:var(--glow-gold-sm)}.btn-add-icon{font-size:1.1rem;font-weight:300;line-height:1}.add-item-form{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem;padding:.75rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-md)}.add-form-row{display:flex;gap:.4rem}.form-input{padding:.45rem .6rem;background:#00000040;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);color:var(--dnd-text-light);font-size:1rem;min-width:0}.form-input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 6px var(--dnd-gold-20)}.form-input::placeholder{color:#d8c9b84d}.form-input.flex-1{flex:1}.form-input.qty-small{width:58px;text-align:center;flex-shrink:0}.form-input.weight-input{width:72px;flex-shrink:0}.form-input.full-width{width:100%;box-sizing:border-box}.form-select{flex:1;padding:.45rem .5rem;background:#00000040;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);color:var(--dnd-text-light);font-size:1rem;cursor:pointer}.form-select:focus{outline:none;border-color:var(--dnd-gold)}.armor-edit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .6rem;align-items:end}.armor-edit-fields .armor-stealth-toggle{grid-column:1 / -1}.add-form-field{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0}.add-form-field--inline{max-width:160px}.add-form-field-label{font-size:.7rem;color:var(--dnd-gold);text-transform:uppercase;letter-spacing:.4px;font-weight:600;opacity:.85}.add-form-field .form-input,.add-form-field .form-select{width:100%;box-sizing:border-box}.armor-stealth-toggle{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--dnd-text-light);cursor:pointer}.armor-stealth-toggle input[type=checkbox]{accent-color:var(--dnd-gold);width:1rem;height:1rem;flex-shrink:0}.btn-add-submit{padding:.5rem;background:var(--dnd-gold-15);border:1px solid var(--dnd-gold);border-radius:var(--radius-md);color:var(--dnd-gold);font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s ease;letter-spacing:.03em}.btn-add-submit:hover{background:var(--dnd-gold-30);box-shadow:0 0 8px var(--dnd-gold-25)}@media(max-width:480px){.inventory-top-row{gap:.35rem}.spell-detail-content{padding:1rem 1rem 1.25rem}.spell-meta-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.45rem}.spell-meta-block{padding:.5rem .55rem;gap:.5rem}.spell-meta-icon{width:30px;height:30px}.spell-meta-icon svg{width:17px;height:17px}.magic-counter-card{min-width:68px}.currency-row{gap:.3rem}.currency-card{padding:.35rem .2rem .3rem;border-radius:var(--radius-md)}.currency-coin-icon{font-size:1.1rem}.currency-input{font-size:.95rem;padding:.25rem .15rem}.currency-label{font-size:.6rem}.category-tabs{gap:.2rem}.cat-tab{padding:.3rem .5rem;font-size:.7rem}.cat-tab-icon{font-size:.75rem}.inventory-item{padding:.45rem .5rem;gap:.35rem}.item-name{font-size:.82rem}.qty-btn{min-width:32px;min-height:32px}.inv-empty-state{padding:1.5rem 1rem}.inv-empty-icon{font-size:2rem}}.notes-section{display:flex;flex-direction:column;gap:0}.notes-header{display:flex;justify-content:flex-end;margin-bottom:.6rem}.notes-action-btn{padding:.28rem .7rem;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);background:#0003;color:var(--dnd-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.02em;display:flex;align-items:center;gap:.35rem}.notes-action-btn:hover{background:var(--dnd-gold-08);border-color:var(--dnd-gold-30);color:var(--dnd-text-light)}.notes-action-btn--done{border-color:var(--dnd-gold);background:var(--dnd-gold-15);color:var(--dnd-gold)}.notes-action-btn--done:hover{background:var(--dnd-gold-25);box-shadow:0 0 6px var(--dnd-gold-20)}.notes-textarea{width:100%;min-height:200px;padding:.75rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-md);color:var(--dnd-text-light);font-family:var(--font-primary);font-size:.92rem;line-height:1.65;resize:vertical;box-sizing:border-box;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.notes-textarea:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 8px var(--dnd-gold-15)}.notes-textarea::placeholder{color:var(--dnd-muted);opacity:.5;font-style:italic}.notes-read-view{padding:.75rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-md);min-height:120px;text-align:left;position:relative}.notes-read-view:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--dnd-gold-20),transparent)}.notes-read-line{margin:0;padding:.08rem 0;color:var(--dnd-text-light);font-size:.92rem;line-height:1.65;word-wrap:break-word}.notes-read-empty{margin:0;color:var(--dnd-muted);font-style:italic;opacity:.45;text-align:left}.rich-editor{display:flex;flex-direction:column;border:1px solid var(--dnd-border);border-radius:var(--radius-md);overflow:hidden;background:var(--dnd-surface-1);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.rich-editor:focus-within{border-color:var(--dnd-gold);box-shadow:0 0 8px var(--dnd-gold-15)}.rich-editor-toolbar{display:flex;align-items:center;gap:.15rem;padding:.3rem .5rem;border-bottom:1px solid var(--dnd-border);background:#0000002e;flex-shrink:0}.rich-editor-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--dnd-muted);cursor:pointer;transition:all var(--duration-fast) ease;padding:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.rich-editor-btn:hover{border-color:var(--dnd-gold-30);background:var(--dnd-gold-08);color:var(--dnd-text-light)}.rich-editor-btn:active{background:var(--dnd-gold-15);color:var(--dnd-gold)}.rich-editor-btn.is-active{border-color:var(--dnd-gold);background:var(--dnd-gold-15);color:var(--dnd-gold)}.rich-editor-btn.is-active:hover{background:var(--dnd-gold-25)}.rich-editor-sep{width:1px;height:16px;background:var(--dnd-border);margin:0 .2rem;flex-shrink:0}.rich-editor-content{min-height:200px;padding:.75rem;color:var(--dnd-text-light);font-family:var(--font-primary);font-size:.92rem;line-height:1.65;outline:none;overflow-y:auto;word-wrap:break-word}.rich-editor-content:empty:before{content:attr(data-placeholder);color:var(--dnd-muted);opacity:.5;font-style:italic;pointer-events:none}.rich-editor-content strong,.rich-editor-content b{color:var(--dnd-gold);font-weight:700}.rich-editor-content em,.rich-editor-content i{font-style:italic;font-synthesis:style}.rich-editor-content s,.rich-editor-content del,.rich-editor-content strike{opacity:.55}.rich-editor-content blockquote{border-left:3px solid var(--dnd-gold-30);background:#c39a6c0f;padding:.35rem .65rem;margin:.4rem 0;font-style:italic;color:var(--dnd-muted)}.rich-editor-content ul,.rich-editor-content ol{padding-left:1.5rem;margin:.3rem 0}.rich-editor-content ul{list-style-type:disc}.rich-editor-content ol{list-style-type:decimal}.rich-editor-content li{margin-bottom:.15rem}.notes-read-markdown>div>*{margin:0 0 .55rem}.notes-read-markdown>div>*:last-child{margin-bottom:0}.notes-read-markdown strong,.notes-read-markdown b{color:var(--dnd-gold);font-weight:700}.notes-read-markdown em,.notes-read-markdown i{font-style:italic;font-synthesis:style}.notes-read-markdown s,.notes-read-markdown del{opacity:.55}.notes-read-markdown h1,.notes-read-markdown h2,.notes-read-markdown h3{color:var(--dnd-gold);font-family:var(--font-display);margin:.8rem 0 .4rem;line-height:1.3}.notes-read-markdown h1{font-size:1.35rem}.notes-read-markdown h2{font-size:1.12rem}.notes-read-markdown h3{font-size:.98rem;letter-spacing:.02em}.notes-read-markdown ul,.notes-read-markdown ol{padding-left:1.5rem;margin:.35rem 0}.notes-read-markdown ul{list-style-type:disc}.notes-read-markdown ol{list-style-type:decimal}.notes-read-markdown li{color:var(--dnd-text-light);font-size:.92rem;line-height:1.65;margin-bottom:.2rem}.notes-read-markdown blockquote{border-left:3px solid var(--dnd-gold-30);background:#c39a6c0f;padding:.5rem .75rem;margin:.4rem 0;font-style:italic;color:var(--dnd-muted)}.notes-read-markdown blockquote p{margin:0}.notes-read-markdown p{color:var(--dnd-text-light);font-size:.92rem;line-height:1.65;word-wrap:break-word}:root[data-theme=light] .rich-editor{background:#fff}:root[data-theme=light] .rich-editor-toolbar{background:#0000000a}:root[data-theme=light] .rich-editor-content{color:#1a1a2e}:root[data-theme=light] .rich-editor-content strong,:root[data-theme=light] .rich-editor-content b,:root[data-theme=light] .notes-read-markdown strong,:root[data-theme=light] .notes-read-markdown b{color:#8b6914}:root[data-theme=light] .rich-editor-content blockquote,:root[data-theme=light] .notes-read-markdown blockquote{background:#8b69140f;color:#555}@media(max-width:480px){.rich-editor-content{min-height:120px;font-size:.9rem}.rich-editor-btn{width:32px;height:32px}}.btn-save,.btn-load{font-size:.85rem!important}.load-screen{max-width:600px;margin:2rem auto;padding:2rem;background:linear-gradient(135deg,var(--dnd-surface-2),var(--dnd-surface-1));border:1px solid var(--dnd-border);border-radius:var(--radius-lg);border-top:3px solid var(--dnd-gold);color:var(--dnd-text)}.load-screen h2{color:var(--dnd-gold);font-family:var(--font-display);margin-top:0;margin-bottom:1.25rem;text-align:center;letter-spacing:1px}.saved-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.saved-entry{display:flex;justify-content:space-between;align-items:center;padding:.65rem .85rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.saved-entry:hover{border-color:var(--dnd-gold-30);background:var(--dnd-gold-06)}.saved-entry-info{flex:1}.saved-entry-name{color:var(--dnd-gold);font-weight:700;font-size:.95rem}.saved-entry-detail{color:var(--dnd-text);font-size:.78rem;opacity:.65;margin-top:.2rem}.saved-entry-actions{display:flex;gap:.35rem}.saved-entry-actions button{padding:.3rem .55rem;font-size:.72rem;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);cursor:pointer;background:#0003;color:var(--dnd-text);transition:all .2s ease}.saved-entry-actions .load-btn{border-color:var(--dnd-gold-30);color:var(--dnd-gold)}.saved-entry-actions .load-btn:hover{background:var(--dnd-gold-15);border-color:var(--dnd-gold)}.saved-entry-actions .delete-btn{border-color:var(--dnd-red-20);color:var(--dnd-accent-red-light)}.saved-entry-actions .delete-btn:hover{background:var(--dnd-red-15);border-color:var(--dnd-accent-red)}.load-screen .btn-back{display:block;margin:0 auto}.sheet-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--dnd-gold-20),transparent)}@media(max-width:768px){.portrait-display,.portrait-add-btn{width:52px;height:52px}.portrait-add-icon{font-size:1.1rem}.portrait-add-text{display:none}.section{flex:1 1 calc(50% - 1rem);min-width:280px}.category-tabs{gap:.2rem}.cat-tab{padding:.2rem .4rem;font-size:.7rem}.currency-row{gap:.25rem}.currency-input{font-size:1rem;padding:.3rem .15rem}.inventory-item{padding:.4rem .5rem}.item-name{font-size:.85rem}.add-item-form{padding:.6rem}.add-form-row{flex-direction:column}.form-input.qty-small,.form-input.weight-input{width:100%}.skill-row{padding:.35rem .55rem}}@media(max-width:480px){.sheet-grid{gap:.75rem}.section{flex:1 1 100%;min-width:0}.portrait-display,.portrait-add-btn{width:48px;height:48px}.resource-rest-buttons{gap:.3rem;flex-wrap:wrap}.btn-rest{padding:2px 6px;font-size:.6rem}.item-controls{gap:.15rem}.qty-btn{width:24px;height:24px;font-size:.72rem}.notes-textarea{min-height:80px;font-size:.9rem}}.spellcasting-info{background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-lg);margin-bottom:.75rem;overflow:hidden;position:relative}.spellcasting-info-header{display:flex;justify-content:flex-end;padding:.4rem .6rem 0}.spell-stats-row{display:flex;flex-wrap:nowrap;gap:.4rem;margin-top:0;margin-bottom:.75rem;padding:0}.spell-stats-row .spell-info-item{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center;padding:.4rem .25rem!important;gap:.15rem!important;min-width:0;flex:1;min-height:3rem;background:linear-gradient(135deg,#9696961f,#9696960f)!important;border:1px solid rgba(150,150,150,.25)!important;border-radius:var(--radius-sm);width:auto!important;box-sizing:border-box!important}.spell-stats-row .spell-info-label{width:100%;text-align:center;font-size:clamp(.32rem,2.8vw,.45rem);line-height:1.1;letter-spacing:-.02em;word-break:break-word;color:var(--dnd-muted)}.spell-stats-row .spell-info-value{font-size:clamp(.75rem,5vw,1.1rem);justify-content:center;min-width:unset;line-height:1.1;font-weight:600;color:var(--dnd-gold);margin-top:auto;align-self:center}.spell-stats-row .spell-info-item-rollable{cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease,transform .1s ease}.spell-stats-row .spell-info-item-rollable:hover{border-color:var(--dnd-gold)!important;background:linear-gradient(135deg,var(--dnd-gold-10) 0%,var(--dnd-gold-06) 100%)!important}.spell-stats-row .spell-info-item-rollable:active{transform:scale(.97)}.spell-info-edit-wrap{display:flex;flex-direction:column;align-items:center;gap:.2rem;width:100%;margin-top:auto}.spell-info-edit-input,.spell-info-edit-select{width:100%;min-width:0;text-align:center;font-size:clamp(.7rem,4vw,.9rem);font-weight:600;color:var(--dnd-gold);background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-30);border-radius:var(--radius-sm);padding:.2rem .15rem;box-sizing:border-box;line-height:1.2}.spell-info-edit-input:focus,.spell-info-edit-select:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-15)}@media(max-width:480px){.spell-stats-row .spell-info-item{padding:.1rem .05rem;gap:0}.spell-stats-row .spell-info-label{letter-spacing:-.04em;line-height:.9}.spell-stats-row .spell-info-value{line-height:1}}.spell-list .spell-info-item,.spell-circle-group .spell-info-mc{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.4rem .85rem;background:none;border-bottom:1px solid var(--dnd-gold-10);box-sizing:border-box;gap:1rem;transition:background var(--duration-fast) ease}.spell-info-item:last-child{border-bottom:none}.spell-info-item:hover{background:var(--dnd-gold-06)}.spell-info-label{font-size:.75rem;color:var(--dnd-muted);font-weight:600;flex-shrink:0;width:140px;text-align:left;letter-spacing:.08em}.spell-info-value{font-weight:800;font-size:1rem;color:var(--dnd-gold);flex-shrink:0;display:flex;align-items:center;gap:.3rem;text-align:right;justify-content:flex-end;min-width:60px}.spell-info-value.at-limit{color:var(--dnd-accent-red)}.spell-info-value.overridden{color:var(--dnd-gold-light)}.spell-info-value .override-hint{display:inline-block;font-size:.55rem;font-weight:500;color:var(--dnd-gold);opacity:.6;margin-left:.2rem;vertical-align:super;text-transform:uppercase;letter-spacing:.03em}.spell-info-mc{padding:0}.spell-feat-stats{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.spell-info-feat{border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--dnd-gold-08) 0%,var(--dnd-gold-05) 100%);overflow:hidden;transition:border-color var(--duration-fast) ease}.spell-info-feat:hover{border-color:var(--dnd-gold-30)}.spell-info-feat-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.5rem .7rem;background:none;border:none;cursor:pointer;text-align:left;color:var(--dnd-gold);font-family:var(--font-display);-webkit-tap-highlight-color:transparent;transition:background var(--duration-fast) ease}.spell-info-feat-label:hover{background:var(--dnd-gold-08)}.spell-info-feat-title{display:flex;align-items:center;gap:.45rem;min-width:0}.spell-info-feat-icon{flex-shrink:0;width:16px;height:16px;opacity:.9}.spell-info-feat-name{font-size:.82rem;font-weight:700;letter-spacing:.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spell-info-feat-caret{flex-shrink:0;width:16px;height:16px;opacity:.75;transition:transform .2s ease}.spell-info-feat-caret.collapsed{transform:rotate(-90deg)}.spell-info-feat .spell-info-feat-rows{border-top:1px solid var(--dnd-gold-10)}.spell-info-feat .spell-info-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.4rem .75rem;border-bottom:1px solid var(--dnd-gold-08)}.spell-info-feat .spell-info-item:last-child{border-bottom:none}.spell-info-feat .spell-info-label{width:auto;font-size:.75rem;font-weight:500;letter-spacing:.01em;color:var(--dnd-muted)}.spell-info-feat .spell-info-value{font-size:.95rem;font-weight:700;min-width:0}.spell-info-feat .spell-info-item-rollable{cursor:pointer;transition:background var(--duration-fast) ease}.spell-info-feat .spell-info-item-rollable:hover{background:var(--dnd-gold-08)}.spell-info-feat .spell-info-item-rollable:active{transform:scale(.99)}.spell-info-feat-note{margin:.1rem 0 0;padding:.5rem .75rem .1rem;font-size:.78rem;line-height:1.45;color:var(--dnd-text-light);border-top:1px solid var(--dnd-gold-08);white-space:pre-line}.metamagic-section{border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--dnd-gold-08) 0%,var(--dnd-gold-05) 100%);overflow:hidden;margin-bottom:.75rem}.metamagic-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.55rem .7rem;background:none;border:none;cursor:pointer;text-align:left;color:var(--dnd-gold);font-family:var(--font-display);-webkit-tap-highlight-color:transparent;transition:background var(--duration-fast) ease}.metamagic-header:hover{background:var(--dnd-gold-08)}.metamagic-header:focus-visible{outline:2px solid var(--dnd-gold-30);outline-offset:-2px}.metamagic-title{display:flex;align-items:center;gap:.45rem;min-width:0;flex:1}.metamagic-header-counter{display:flex;align-items:center;flex-shrink:0}.metamagic-header-summary{display:inline-flex;align-items:baseline;gap:.1rem;flex-shrink:0;font-family:var(--font-primary)}.metamagic-header-summary-current{font-size:.85rem;font-weight:800;color:var(--dnd-gold)}.metamagic-header-summary-current.depleted{color:var(--dnd-accent-red-light)}.metamagic-header-summary-sep{color:var(--dnd-muted);font-size:.72rem;margin:0 1px}.metamagic-header-summary-max{font-size:.78rem;font-weight:600;color:var(--dnd-text-light)}.metamagic-icon{flex-shrink:0;width:17px;height:17px;opacity:.9}.metamagic-title-text{font-size:.85rem;font-weight:700;letter-spacing:.01em}.metamagic-caret{flex-shrink:0;width:16px;height:16px;opacity:.75;transition:transform .2s ease}.metamagic-caret.collapsed{transform:rotate(-90deg)}.metamagic-body{border-top:1px solid var(--dnd-gold-10);padding:.6rem .7rem;display:flex;flex-direction:column;gap:.6rem}.metamagic-points{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .65rem}.metamagic-points-label{font-size:.8rem;font-weight:600;color:var(--dnd-text)}.metamagic-points--feat .metamagic-points-label{font-weight:500;color:var(--dnd-text-light)}.metamagic-options-head{display:flex;align-items:baseline;gap:.5rem}.metamagic-options-head .metamagic-points-label{flex:1}.metamagic-options-count{font-size:.85rem;font-weight:700;color:var(--dnd-gold)}.metamagic-options{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.metamagic-option{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--dnd-gold);background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-sm);padding:.25rem .5rem;cursor:default}.metamagic-option-name{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.metamagic-option-name:disabled{cursor:default}.metamagic-option-name:not(:disabled):hover{text-decoration:underline;text-underline-offset:2px}.metamagic-detail-body{margin:0;padding:1.25rem 1.5rem 1.5rem;color:var(--dnd-text);font-size:.95rem;line-height:1.6}.metamagic-option-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:none;background:none;color:var(--dnd-muted);font-size:.7rem;line-height:1;cursor:pointer;border-radius:2px}.metamagic-option-remove:hover{color:var(--dnd-accent-red);background:var(--dnd-gold-10)}.metamagic-max-edit{display:flex;align-items:center;gap:.3rem}.metamagic-max-edit .spell-info-edit-input{width:4rem}.metamagic-add{display:flex;flex-direction:column;gap:.5rem}.metamagic-add-btn{align-self:flex-start;background:none;border:1px dashed var(--dnd-gold-30);color:var(--dnd-gold);border-radius:var(--radius-sm);padding:.3rem .6rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease}.metamagic-add-btn:hover{background:var(--dnd-gold-08);border-color:var(--dnd-gold)}.metamagic-add-panel{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;border:1px solid var(--dnd-gold-15);border-radius:var(--radius-sm);background:var(--dnd-gold-05)}.metamagic-add-pool{display:flex;flex-wrap:wrap;gap:.35rem}.metamagic-add-option{font-size:.78rem;color:var(--dnd-text);background:var(--dnd-gold-08);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-sm);padding:.25rem .5rem;cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease}.metamagic-add-option:hover{background:var(--dnd-gold-15);border-color:var(--dnd-gold-30);color:var(--dnd-gold)}.metamagic-add-manual{display:flex;align-items:center;gap:.35rem}.metamagic-add-manual .spell-info-edit-input{flex:1;min-width:0}.metamagic-add-confirm{flex-shrink:0;width:28px;height:28px;border:1px solid var(--dnd-gold-30);background:var(--dnd-gold-10);color:var(--dnd-gold);border-radius:var(--radius-sm);font-size:1rem;line-height:1;cursor:pointer}.metamagic-add-confirm:disabled{opacity:.4;cursor:default}.metamagic-add-confirm:not(:disabled):hover{background:var(--dnd-gold-15)}.spell-edit-form{display:flex;flex-direction:column;gap:.65rem;width:100%;padding:.65rem 0;margin-bottom:.75rem}.spell-edit-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.spell-edit-label{font-size:.68rem;font-weight:600;color:var(--dnd-muted);min-width:120px;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center}.spell-edit-input{flex:0 0 auto;width:80px;padding:.35rem .45rem;border:1px solid var(--dnd-gold);border-radius:var(--radius-sm);background:#0000004d;color:var(--dnd-gold);font-weight:700;font-size:1rem;text-align:center;height:2.2rem;box-sizing:border-box;transition:box-shadow var(--duration-fast) ease}.spell-edit-input:focus{outline:none;box-shadow:0 0 0 2px var(--dnd-gold-15)}.spell-edit-select{flex:0 0 auto;padding:.35rem .5rem;border:1px solid var(--dnd-gold);border-radius:var(--radius-sm);background:#0000004d;color:var(--dnd-gold);font-weight:700;font-size:1rem;cursor:pointer;height:2.2rem;box-sizing:border-box}.spell-edit-select:focus{outline:none;box-shadow:0 0 0 2px var(--dnd-gold-30)}.spell-edit-select option{background:#1a1a2e;color:var(--dnd-gold)}.spell-edit-reset{flex:0 0 auto;background:none;border:1px solid var(--dnd-gold-30);color:var(--dnd-gold);cursor:pointer;font-size:.75rem;padding:.1rem .3rem;border-radius:var(--radius-sm);opacity:.7;transition:all .2s ease;line-height:1;display:flex;align-items:center;justify-content:center}.spell-edit-reset:hover{opacity:1;background:var(--dnd-gold-10)}.btn-restore-slots{margin-left:auto;background:#64b4641f;color:var(--dnd-success);border:1px solid var(--dnd-success);border-radius:var(--radius-md);padding:.3rem .65rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-restore-slots:hover{background:#64b46438}.spell-class-filter{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem;padding:.3rem 0}.spell-class-filter-btn{padding:.28rem .7rem;border-radius:var(--radius-full);border:1px solid var(--dnd-border);background:var(--dnd-surface-1);color:var(--dnd-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.spell-class-filter-btn:hover{border-color:var(--dnd-gold-30);color:var(--dnd-gold);background:var(--dnd-gold-06)}.spell-class-filter-btn.active{background:var(--dnd-gold-15);border-color:var(--dnd-gold);color:var(--dnd-gold);box-shadow:0 0 8px var(--dnd-gold-12)}.spells-container-vertical{display:flex;gap:.5rem;align-items:flex-start}.spell-content-area{flex:1;min-width:0}.spell-circle-tabs{display:flex;flex-direction:column;gap:.3rem;width:auto;max-height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--dnd-gold-20) transparent;-webkit-overflow-scrolling:touch;border-right:1px solid var(--dnd-gold-15);padding:.3rem .5rem .3rem .1rem;flex-shrink:0;position:sticky;top:calc(var(--sheet-tabs-h, 60px) + env(safe-area-inset-top,0px));z-index:var(--z-raised);background:var(--dnd-surface-1)}.spell-circle-tabs::-webkit-scrollbar{width:3px}.spell-circle-tabs::-webkit-scrollbar-thumb{background:var(--dnd-gold-20);border-radius:var(--radius-full)}.spell-circle-tab{display:flex;align-items:center;gap:.25rem;padding:.35rem .7rem;border-radius:var(--radius-full);border:1px solid var(--dnd-border);background:var(--dnd-surface-1);color:var(--dnd-muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0}.spell-circle-tab:hover{border-color:var(--dnd-gold-30);background:var(--dnd-gold-08);color:var(--dnd-gold)}.spell-circle-tab.active{background:var(--dnd-gold-15);border-color:var(--dnd-gold);color:var(--dnd-gold);box-shadow:0 0 8px var(--dnd-gold-12)}.spell-tab-label{font-weight:700}.spell-tab-slots{font-size:.7rem;font-weight:500;opacity:.85;margin-left:.1rem;display:flex;align-items:center;gap:.05rem}.spell-tab-slots-avail{color:var(--dnd-gold);font-weight:700}.spell-circle-tab.active .spell-tab-slots-avail{color:inherit}.spell-tab-slots-sep{opacity:.4;margin:0 .05rem}.spell-tab-slots-total{opacity:.6}.spell-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;font-size:.62rem;font-weight:700;background:var(--dnd-gold-20);color:var(--dnd-gold);border-radius:var(--radius-full)}.spell-tab-content{animation:spellTabFadeIn .2s ease}@keyframes spellTabFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.spell-all-view{display:flex;flex-direction:column;gap:1rem;animation:spellTabFadeIn .2s ease}.spell-all-circle-group{display:flex;flex-direction:column;gap:.25rem}.spell-all-circle-header{display:flex;align-items:center;gap:.4rem;padding:.2rem .4rem;background:var(--dnd-gold-08);border-left:2px solid var(--dnd-gold-30);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.spell-all-circle-label{font-size:.72rem;font-weight:600;color:var(--dnd-gold);text-transform:uppercase;letter-spacing:.04em;flex:1}.spell-all-circle-slots{font-size:.68rem;color:var(--dnd-text-muted)}.spell-all-circle-slot-controls{display:flex;align-items:center}.spell-all-circle-slot-controls .spell-slots-display{display:flex;align-items:center;gap:.2rem;flex-wrap:wrap}.spell-all-circle-nav{background:none;border:none;color:var(--dnd-text-muted);cursor:pointer;font-size:.8rem;padding:0 .1rem;line-height:1;transition:color var(--duration-fast)}.spell-all-circle-nav:hover{color:var(--dnd-gold)}@keyframes itemAppear{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.spell-circle-group{margin-bottom:.5rem}.spell-tab-slot-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.65rem;padding:.45rem .65rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);position:relative}.spell-tab-slot-bar:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;background:linear-gradient(180deg,var(--dnd-gold-dark),var(--dnd-gold));border-radius:var(--radius-full)}.spell-tab-slot-label{font-size:.75rem;font-weight:600;color:var(--dnd-gold);white-space:nowrap;padding-left:.35rem}.pact-magic-section{margin-bottom:.75rem;padding:.65rem .8rem;background:#8a5ce60f;border:1px solid rgba(138,92,230,.2);border-radius:var(--radius-lg);border-left:3px solid rgba(138,92,230,.4)}.pact-magic-header{color:#a080e0;font-family:var(--font-display);font-size:.9rem;margin:0 0 .2rem;letter-spacing:.5px}.pact-magic-note{color:var(--dnd-muted);font-size:.72rem;font-style:italic;margin:0 0 .5rem;opacity:.8}.pact-slot-bar{border-color:#8a5ce633!important;background:#8a5ce60a!important}.pact-slot-bar:before{background:linear-gradient(180deg,#7b50cc,#a080e0)!important}.pact-slot-bar .spell-tab-slot-label{color:#a080e0}.spell-slots-display{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem}.slot-pip{width:14px;height:14px;border-radius:50%;border:2px solid var(--dnd-gold);transition:all var(--duration-normal) cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;flex-shrink:0}.slot-pip.available{background:var(--dnd-gold);box-shadow:0 0 5px var(--dnd-gold-30)}.slot-pip.available:hover{box-shadow:0 0 10px var(--dnd-gold-50);filter:brightness(1.25)}.slot-pip.used{background:transparent;opacity:.3}.pact-slot-bar .slot-pip{border-color:#a080e0}.pact-slot-bar .slot-pip.available{background:#a080e0;box-shadow:0 0 5px #8a5ce666}.pact-slot-bar .slot-pip.available:hover{box-shadow:0 0 10px #8a5ce699}.slot-controls{display:flex;gap:.2rem;margin-left:.3rem}.slot-btn{width:22px;height:22px;border-radius:var(--radius-sm);border:1px solid var(--dnd-border);background:#00000040;color:var(--dnd-text);font-size:.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast) ease;line-height:1;padding:0}.slot-btn:disabled{opacity:.25;cursor:not-allowed}.slot-btn.use:not(:disabled):hover{background:var(--dnd-red-15);border-color:var(--dnd-accent-red);color:var(--dnd-accent-red-light)}.slot-btn.restore:not(:disabled):hover{background:#4caf502e;border-color:var(--dnd-success);color:var(--dnd-success)}.slot-max-input{width:38px;height:24px;border-radius:var(--radius-sm);border:1px solid var(--dnd-gold);background:#00000040;color:var(--dnd-gold);font-size:.85rem;font-weight:600;text-align:center;margin-left:.3rem;padding:0;outline:none;transition:box-shadow .2s ease}.slot-max-input:focus{box-shadow:0 0 0 2px var(--dnd-gold-30)}.slot-max-input-active{display:block}.slot-max-btn{width:38px;height:24px;border-radius:var(--radius-sm);border:1px solid var(--dnd-border);background:#0003;color:var(--dnd-gold);font-size:.8rem;font-weight:600;text-align:center;margin-left:.3rem;padding:0;cursor:pointer;transition:all var(--duration-fast) ease}.slot-max-btn:hover{border-color:var(--dnd-gold);background:var(--dnd-gold-12)}.slot-reset-btn{width:24px;height:24px;border-radius:var(--radius-sm);border:1px solid var(--dnd-border);background:#0003;color:var(--dnd-gold);font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;margin-left:.15rem;transition:all var(--duration-fast) ease;opacity:.7}.slot-reset-btn:hover{background:var(--dnd-gold-15);border-color:var(--dnd-gold);opacity:1}.subclass-spell-variant-selector{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.subclass-spell-variant-label{font-size:.85rem;color:var(--dnd-muted);white-space:nowrap}.subclass-spell-variant-selector .form-input{flex:1;min-width:10rem;padding:.4rem .65rem;background:#0003;border:1px solid var(--dnd-border);border-radius:var(--radius-md);color:var(--dnd-text-light);font-size:.85rem}.subclass-spell-variant-selector .form-input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 6px var(--dnd-gold-15)}.prepared-spell-search{display:flex;align-items:center;gap:.35rem;margin-bottom:.5rem;position:relative}.prepared-spell-search .form-input{flex:1;padding:.4rem .65rem;background:#0003;border:1px solid var(--dnd-border);border-radius:var(--radius-md);color:var(--dnd-text-light);font-size:.85rem;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.prepared-spell-search .form-input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 6px var(--dnd-gold-15)}.prepared-spell-search .form-input::placeholder{color:var(--dnd-muted);opacity:.6;font-style:italic}.spell-search-clear-btn{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--dnd-border);border-radius:var(--radius-md);color:var(--dnd-muted);font-size:.7rem;cursor:pointer;transition:all var(--duration-fast) ease;padding:0}.spell-search-clear-btn:hover{border-color:var(--dnd-accent-red);color:var(--dnd-accent-red-light);background:var(--dnd-red-10)}.spell-list{display:flex;flex-direction:column;gap:0}.spell-item{display:flex;align-items:center;gap:.4rem;padding:.42rem .5rem;border-radius:0;border-bottom:1px solid var(--dnd-gold-08);transition:background var(--duration-fast) ease;animation:itemAppear var(--duration-normal) ease-out both;position:relative}.spell-item:first-child{border-radius:var(--radius-sm) var(--radius-sm) 0 0}.spell-item:last-of-type{border-bottom:none}.spell-item:hover{background:var(--dnd-gold-06)}.spell-item.spell-not-prepared{opacity:.45}.spell-item.spell-not-prepared:hover{opacity:.75}.spell-item.spell-always-prepared{background:var(--dnd-gold-04)}.spell-item.spell-always-prepared:hover{background:var(--dnd-gold-08)}.spell-item.spell-bonus-known{background:#8a5ce60a}.spell-item.spell-bonus-known:hover{background:#8a5ce614}.spell-item.spell-item-mc{background:#42a5f508}.spell-item.spell-item-mc:hover{background:#42a5f50f}.spell-name{flex:1;font-size:.87rem;color:var(--dnd-text-light);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spell-item.spell-not-prepared .spell-name{font-style:italic}.spell-item-buttons{display:flex;gap:.2rem;flex-shrink:0;align-items:center}.spell-prepare-lock{display:inline-flex;align-items:center;flex-shrink:0;cursor:help;color:var(--dnd-muted);opacity:.7}.spell-prepare-lock svg{width:.85rem;height:.85rem}.spell-class-badge{display:inline-flex;align-items:center;padding:.1rem .4rem;border-radius:var(--radius-full);font-size:.65rem;font-weight:700;letter-spacing:.02em;background:#42a5f51f;color:var(--dnd-info);border:1px solid rgba(66,165,245,.25);flex-shrink:0;white-space:nowrap}.spell-subclass-badge{background:#8a5ce61f;color:#a080e0;border-color:#8a5ce640}.spell-feat-badge{background:var(--dnd-gold-12);color:var(--dnd-gold);border-color:var(--dnd-gold-30)}.spell-race-badge{background:#4caf501f;color:#6abf6e;border-color:#4caf5047}.spell-feat-list-badge{background:#96969624;color:var(--dnd-muted);border-color:#9696964d;text-transform:none}.spell-prepare-toggle{display:flex;align-items:center;cursor:pointer;flex-shrink:0;position:relative}.spell-prepare-checkbox{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.spell-prepare-indicator{width:18px;height:18px;border-radius:var(--radius-xs);border:2px solid var(--dnd-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;transition:all .18s ease;background:transparent}.spell-prepare-checkbox:checked+.spell-prepare-indicator{background:var(--dnd-gold);border-color:var(--dnd-gold);box-shadow:0 0 6px var(--dnd-gold-30)}.spell-prepare-checkbox:checked+.spell-prepare-indicator:after{content:"";display:block;width:5px;height:9px;border:2px solid var(--dnd-on-gold);border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px)}.spell-prepare-checkbox:disabled+.spell-prepare-indicator{opacity:.35;cursor:not-allowed}.spell-prepare-toggle:hover .spell-prepare-indicator{border-color:var(--dnd-gold-50)}.spell-prepare-toggle:hover .spell-prepare-checkbox:checked+.spell-prepare-indicator{background:var(--dnd-gold-light);border-color:var(--dnd-gold-light)}.btn-add-spell{width:100%;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem;background:var(--dnd-gold-04);border:1px dashed var(--dnd-gold-20);border-radius:var(--radius-md);color:var(--dnd-gold);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:.35rem;letter-spacing:.02em;opacity:.7}.btn-add-spell:hover{background:var(--dnd-gold-10);border-color:var(--dnd-gold);border-style:solid;opacity:1;box-shadow:var(--glow-gold-sm)}.prepared-spell-checklist{gap:0}.spell-selection-tabs{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.65rem;padding-bottom:.4rem;border-bottom:1px solid var(--dnd-gold-15)}.spell-sel-tab{padding:.28rem .6rem;border-radius:var(--radius-full);border:1px solid var(--dnd-border);background:var(--dnd-surface-1);color:var(--dnd-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.2rem}.spell-sel-tab:hover{border-color:var(--dnd-gold-30);color:var(--dnd-gold)}.spell-sel-tab.active{background:var(--dnd-gold-15);border-color:var(--dnd-gold);color:var(--dnd-gold)}.spell-sel-tab .count-badge{font-size:.62rem;font-weight:700;background:var(--dnd-gold-20);color:var(--dnd-gold);border-radius:var(--radius-full);padding:.05rem .3rem;min-width:1rem;text-align:center}.add-spell-inline{display:flex;align-items:center;gap:.3rem;padding:.2rem 0}.add-spell-inline .form-input{flex:1;background:var(--dnd-surface-1);color:var(--dnd-text-light);border:1px solid var(--dnd-border);border-radius:var(--radius-sm);padding:.3rem .5rem;font-size:.9rem}.add-spell-inline .form-input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 5px var(--dnd-gold-15)}.spell-input-wrapper{position:relative;flex:1}.spell-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);margin:0;padding:.3rem 0;list-style:none;max-height:250px;overflow-y:auto;z-index:var(--z-burger);box-shadow:var(--shadow-md)}.suggestion-item{padding:.45rem .8rem;cursor:pointer;color:var(--dnd-text);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .12s ease}.suggestion-item:hover,.suggestion-item.active{background:var(--dnd-gold);color:var(--dnd-on-gold);font-weight:500}.spell-circle-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.spell-circle-name{font-weight:700;font-size:.88rem;color:var(--dnd-gold);text-transform:uppercase;letter-spacing:.04em}.empty-state{color:var(--dnd-text);opacity:.35;font-style:italic;font-size:.85rem;text-align:center;padding:1.25rem .5rem;margin:0}@media(max-width:480px){.spell-stats-row{grid-template-columns:repeat(3,1fr)}.spell-stats-row .spell-info-value{font-size:1.1rem}.spell-stats-row .spell-info-label{font-size:.58rem}.spell-circle-tab{padding:.3rem .55rem;font-size:.75rem}.spell-tab-label{font-size:.75rem}.spell-tab-slots{font-size:.65rem}.spell-tab-count{font-size:.6rem}.spell-tab-slot-bar{padding:.35rem .5rem;gap:.35rem}.spell-item{padding:.4rem;gap:.3rem}.spell-name{font-size:.83rem}}.spell-manual-caster-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .9rem;margin-bottom:.6rem}.spell-manual-toggle{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.spell-manual-toggle-input{position:absolute;opacity:0;width:0;height:0}.spell-manual-toggle-track{position:relative;display:inline-block;width:2.2rem;height:1.2rem;border-radius:var(--radius-full);background:var(--dnd-surface-2);border:1px solid var(--dnd-gold-30);transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease;flex-shrink:0}.spell-manual-toggle-thumb{position:absolute;top:50%;left:.15rem;transform:translateY(-50%);width:.85rem;height:.85rem;border-radius:50%;background:var(--dnd-muted);transition:left var(--duration-fast) ease,background var(--duration-fast) ease}.spell-manual-toggle-input:checked+.spell-manual-toggle-track{background:var(--dnd-gold);border-color:var(--dnd-gold)}.spell-manual-toggle-input:checked+.spell-manual-toggle-track .spell-manual-toggle-thumb{left:calc(100% - 1rem);background:var(--dnd-on-gold)}.spell-manual-toggle-input:focus-visible+.spell-manual-toggle-track{outline:2px solid var(--dnd-gold);outline-offset:2px}.spell-manual-toggle-label{font-size:.85rem;color:var(--dnd-text-light);letter-spacing:.3px}.combat-weapons-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}.combat-weapon-card{background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,max-height .3s ease;animation:itemAppear var(--duration-normal) ease-out;max-height:80px}.combat-weapon-card.expanded{max-height:600px}.combat-weapon-card:hover{border-color:var(--dnd-gold-30);box-shadow:0 2px 10px #0003}.combat-weapon-card.editing{border-color:var(--dnd-gold-40);background:var(--dnd-gold-03);padding:.65rem;max-height:800px;overflow:visible}.weapon-row-compact{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border-radius:var(--radius-md)}.weapon-row-compact:hover{background:var(--dnd-gold-06);border-left:2px solid var(--dnd-gold-20)}.weapon-expand-btn{background:none;border:none;color:var(--dnd-muted);cursor:pointer;font-size:.65rem;padding:.1rem .2rem;width:1.4rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:color .2s ease,transform .2s ease;border-radius:var(--radius-xs)}.weapon-expand-btn:hover{color:var(--dnd-gold)}.weapon-expand-btn.expanded{transform:rotate(90deg);color:var(--dnd-gold)}.weapon-name-compact{flex:1;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--dnd-text-light);font-size:.88rem;min-width:0}button.weapon-atk-compact{flex-shrink:0;min-width:2.8rem;text-align:center;color:var(--dnd-gold);font-weight:700;font-size:.95rem;background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-25);border-radius:var(--radius-sm);cursor:pointer;padding:.15rem .4rem;transition:all var(--duration-fast) ease;line-height:1.3}button.weapon-atk-compact:hover{background:var(--dnd-gold-20);border-color:var(--dnd-gold);box-shadow:0 0 6px var(--dnd-gold-20)}button.weapon-atk-compact:active{transform:scale(.93)}.weapon-dmg-compact{flex-shrink:0;min-width:3.5rem;text-align:right;color:var(--dnd-text-light);font-weight:600;font-size:.88rem;font-variant-numeric:tabular-nums}.weapon-expanded-view{display:flex;flex-direction:column;gap:0}.weapon-expanded-header{display:flex;align-items:center;gap:.5rem;padding:.55rem .65rem;border-bottom:1px solid var(--dnd-gold-12);background:var(--dnd-gold-04)}.weapon-expanded-header .weapon-name{flex:1}.weapon-name{font-weight:700;font-size:1rem;color:var(--dnd-gold-light);letter-spacing:.02em}.weapon-expanded-actions{display:flex;gap:.25rem;align-items:center;flex-shrink:0}.weapon-stats{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem .65rem;border-bottom:1px solid var(--dnd-gold-08)}.weapon-stat{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.45rem .5rem;background:var(--dnd-surface-2);border:1px solid var(--dnd-gold-10);border-radius:var(--radius-sm);text-align:left;flex:0 1 auto}.weapon-stat:last-child{border-color:var(--dnd-gold-10)}.weapon-stat-label{font-size:.6rem;text-transform:uppercase;color:var(--dnd-muted);letter-spacing:.07em;font-weight:700;margin-bottom:.05rem}.weapon-stat-value{font-weight:800;font-size:1rem;color:var(--dnd-gold);line-height:1.1}.weapon-stat-type{font-size:.82rem;font-weight:600;text-transform:capitalize;color:var(--dnd-text);opacity:.85}.weapon-notes{font-size:.8rem;color:var(--dnd-text);font-style:italic;background:#ffffff08;border-left:2px solid var(--dnd-gold-25);padding:.4rem .65rem;margin:0 .65rem 0 0;line-height:1.5;white-space:pre-wrap;opacity:.8}.weapon-notes-input{width:100%;box-sizing:border-box;resize:vertical;min-height:3.5rem;font-size:.9rem;padding:.4rem .6rem}.weapon-stat-value.clickable{cursor:pointer;transition:color .2s ease,text-shadow .2s ease}.weapon-stat-value.clickable:hover{color:var(--dnd-gold);text-shadow:0 0 8px var(--dnd-gold-20)}.dice-builder-row-outer{align-items:center!important}.dice-builder{display:flex;flex-direction:column;gap:.4rem;flex:1;min-width:0}.dice-builder-btns{display:flex;gap:.3rem;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--dnd-gold-20) transparent;min-height:1.75rem;padding-bottom:2px}.dice-builder-btns::-webkit-scrollbar{height:3px}.dice-builder-btns::-webkit-scrollbar-thumb{background:var(--dnd-gold-20);border-radius:var(--radius-full)}.dice-btn{padding:.3rem .65rem;border:1px solid var(--dnd-gold-20);border-radius:var(--radius-sm);background:var(--dnd-gold-10);color:var(--dnd-text-light);cursor:pointer;font-size:.8rem;font-weight:700;letter-spacing:.03em;transition:all var(--duration-fast) ease;line-height:1.2;flex-shrink:0;white-space:nowrap}.dice-btn:hover{background:var(--dnd-gold-15);color:var(--dnd-gold);border-color:var(--dnd-gold-40)}.dice-btn:active{transform:translateY(0) scale(.95)}.dice-formula-row{display:flex;align-items:center;gap:.4rem;min-height:1.5rem;padding:.15rem 0}.dice-formula-display{font-size:.9rem;font-weight:700;color:var(--dnd-gold);letter-spacing:.03em}.dice-clear-btn{background:none;border:none;cursor:pointer;color:var(--dnd-muted);font-size:.7rem;padding:.1rem .3rem;border-radius:var(--radius-xs);line-height:1;transition:all var(--duration-fast) ease}.dice-clear-btn:hover{color:var(--dnd-accent-red-light);background:var(--dnd-red-10)}.add-weapon-section{margin-top:.25rem}.weapon-add-buttons{display:flex;gap:.4rem;margin-bottom:.5rem}.weapon-add-buttons .btn-toggle-add{flex:1;margin-bottom:0}.add-weapon-section .add-item-form{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);animation:itemAppear .2s ease-out}.preset-weapons-modal{max-width:480px;width:95vw}.directory-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--dnd-border);margin-bottom:.25rem}.directory-tab{flex:1;background:transparent;border:none;color:var(--dnd-text-secondary);padding:.55rem .75rem;font-size:.95rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:color var(--duration-fast),border-color var(--duration-fast)}.directory-tab:hover{color:var(--dnd-text)}.directory-tab.active{color:var(--dnd-gold);border-bottom-color:var(--dnd-gold)}.preset-weapons-panel{padding:.75rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.65rem}.preset-weapons-filters{display:flex;gap:.4rem;flex-wrap:wrap}.preset-weapons-filters .form-input,.preset-weapons-filters .form-select{flex:1;min-width:120px}.preset-weapons-list{max-height:55vh;overflow-y:auto;display:flex;flex-direction:column;gap:.3rem;scrollbar-width:thin;scrollbar-color:var(--dnd-gold-20) transparent}.preset-weapons-list::-webkit-scrollbar{width:5px}.preset-weapons-list::-webkit-scrollbar-thumb{background:var(--dnd-gold-20);border-radius:var(--radius-full)}.preset-weapon-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .6rem;background:var(--dnd-gold-06);border:1px solid var(--dnd-gold-12);border-radius:var(--radius-sm);transition:all .18s ease;gap:.6rem;flex-wrap:nowrap}.preset-weapon-item:hover{background:var(--dnd-gold-12);border-color:var(--dnd-gold-30);box-shadow:0 2px 6px var(--dnd-gold-10)}.preset-weapon-info{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.preset-weapon-name{font-weight:600;color:var(--dnd-text-light);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.preset-weapon-stats{font-size:.78rem;color:var(--dnd-gold);font-weight:700;line-height:1.2}.preset-weapon-props{font-size:.72rem;color:var(--dnd-muted);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.directory-item-badges{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.15rem}.dir-badge{display:inline-block;font-size:.68rem;font-weight:600;padding:.1em .45em;border-radius:3px;line-height:1.4;white-space:nowrap;text-transform:uppercase;letter-spacing:.02em}.dir-badge--type{background:#ffffff12;color:var(--dnd-muted);border:1px solid rgba(255,255,255,.1)}.dir-badge--warn{background:#c97b4b1f;color:#c97b4b;border:1px solid rgba(201,123,75,.35);text-transform:none;font-weight:500}.dir-badge--rarity-1{background:#b4b4b426;color:#aaa;border:1px solid rgba(180,180,180,.2)}.dir-badge--rarity-2{background:#1eb4641f;color:#4ec97b;border:1px solid rgba(30,180,100,.25)}.dir-badge--rarity-3{background:#4682dc26;color:#6aabff;border:1px solid rgba(70,130,220,.25)}.dir-badge--rarity-4{background:#a050dc26;color:#c07fef;border:1px solid rgba(160,80,220,.25)}.dir-badge--rarity-5{background:#ff8c2826;color:#fa5;border:1px solid rgba(255,140,40,.25)}.dir-badge--rarity-6{background:#dc323226;color:#f07070;border:1px solid rgba(220,50,50,.25)}.btn-add-preset{flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-full);border:1px solid var(--dnd-gold-30);background:var(--dnd-gold-15);color:var(--dnd-gold);font-size:1.2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s ease;line-height:1;padding:0;box-shadow:0 2px 4px #0000001a}.btn-add-preset:hover{background:var(--dnd-gold-25);border-color:var(--dnd-gold);transform:scale(1.12);box-shadow:0 4px 8px var(--dnd-gold-15)}.preset-weapon-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.btn-buy-preset{display:inline-flex;align-items:center;gap:.25rem;height:32px;padding:0 .55rem;border-radius:var(--radius-full);border:1px solid var(--dnd-gold-30);background:var(--dnd-gold-15);color:var(--dnd-gold);font-size:.78rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:all .18s ease;box-shadow:0 2px 4px #0000001a}.btn-buy-preset:hover:not(:disabled){background:var(--dnd-gold-25);border-color:var(--dnd-gold);box-shadow:0 4px 8px var(--dnd-gold-15)}.btn-buy-preset:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.6)}.btn-buy-coin{font-size:.85rem;line-height:1}.btn-buy-cost{text-transform:uppercase;letter-spacing:.02em}.add-form-row{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.combat-checkbox-label{display:flex;align-items:center;gap:.35rem;color:var(--dnd-text);font-size:.8rem;white-space:nowrap;cursor:pointer;opacity:.75}.combat-checkbox-label input[type=checkbox]{accent-color:var(--dnd-gold);width:15px;height:15px;cursor:pointer}.roll-result{display:flex;gap:1rem;flex-wrap:wrap;background:#0003;border-radius:var(--radius-md);padding:.4rem .7rem;animation:itemAppear var(--duration-normal) ease-out}.roll-result.crit{background:#ffd7001a;border:1px solid rgba(255,215,0,.35);box-shadow:0 0 12px #ffd7001f}.roll-result.fumble{background:#dc32321a;border:1px solid rgba(220,50,50,.3)}.roll-attack,.roll-damage{display:flex;align-items:center;gap:.3rem;font-size:.82rem}.roll-label{color:var(--dnd-muted);font-weight:600}.roll-value{font-weight:800;font-size:1.05rem;color:var(--dnd-text-light)}.roll-d20{font-size:.72rem;color:var(--dnd-muted)}.roll-type{font-size:.72rem;color:var(--dnd-muted);font-style:italic}.roll-crit-label{color:gold;font-weight:800;font-size:.85rem}.rest-hd-class-label{font-size:.8rem;opacity:.75;margin-right:6px;display:inline-block;min-width:90px}@media(max-width:480px){.weapon-stats{grid-template-columns:repeat(2,1fr)}.weapon-add-buttons{flex-direction:column;gap:.35rem}.weapon-add-buttons .btn-toggle-add{flex:unset;width:100%}.preset-weapons-filters{flex-direction:column}.preset-weapons-filters .form-input,.preset-weapons-filters .form-select{min-width:100%}.dice-builder-btns{gap:.25rem}.dice-btn{padding:.25rem .55rem;font-size:.75rem}.add-form-row{flex-direction:column}.add-form-row .form-input,.add-form-row .form-select,.add-form-row .combat-checkbox-label{width:100%}.dice-builder-row-outer{flex-direction:column}.dice-builder{width:100%}}.spell-browser-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.spell-browser-modal{background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-20);border-top:2px solid var(--dnd-gold-40);border-radius:var(--radius-lg);width:95vw;max-width:750px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 32px 80px #0009,0 12px 32px #00000059,inset 0 1px 0 var(--dnd-gold-08);animation:slideInModal .26s cubic-bezier(.22,1,.36,1)}.spell-browser-modal .browser-tab-toggle{flex:none;align-self:flex-start;margin:.85rem 1.5rem .75rem}.spell-browser-modal .browser-tab-toggle .custom-counter-type-btn{padding:.5rem 1.25rem;font-size:.85rem}.spell-browser-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--dnd-gold-15);background:linear-gradient(180deg,var(--dnd-surface-2) 0%,var(--dnd-surface-1) 100%);flex-shrink:0}.spell-browser-header h3{margin:0;color:var(--dnd-gold);font-size:1rem;font-family:var(--font-display);font-weight:700;letter-spacing:1px;text-transform:uppercase}.spell-browser-header .close-btn{background:var(--dnd-surface-3);border:1px solid var(--dnd-gold-15);color:var(--dnd-muted);font-size:1.2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .18s ease;flex-shrink:0}.spell-browser-header .close-btn:hover{background:var(--dnd-gold-15);border-color:var(--dnd-gold-30);color:var(--dnd-gold);transform:scale(1.06)}.spell-browser-filters{padding:1rem 1.5rem;border-bottom:1px solid var(--dnd-gold-10);flex-shrink:0;display:flex;flex-direction:column;gap:.75rem}.spell-browser-search{position:relative}.spell-search-icon,.spell-browser-item-badge{display:none}.spell-browser-search .form-input{width:100%;padding-right:2.5rem}.spell-browser-search .spell-search-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:2px 6px}.spell-browser-filter-row{display:flex;gap:.5rem;flex-wrap:wrap}.spell-filter-section{display:flex;flex-direction:column;gap:.4rem}.spell-filter-summary{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem .28rem .65rem;border-radius:999px;font-size:.78rem;font-weight:500;line-height:1;background:transparent;border:1px solid var(--dnd-border);color:var(--dnd-muted);cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast),color var(--duration-fast);align-self:flex-start}.spell-filter-summary:hover{border-color:var(--dnd-gold-40);color:var(--dnd-text);background:var(--dnd-gold-05)}.spell-filter-summary.has-selection{border-color:var(--dnd-gold);background:var(--dnd-gold-15);color:var(--dnd-text)}.spell-filter-summary.is-open{border-color:var(--dnd-gold-40);background:var(--dnd-gold-05);color:var(--dnd-text)}.spell-filter-summary-icon{display:inline-flex;align-items:center;flex-shrink:0}.spell-filter-summary-icon svg,.spell-filter-summary-icon .class-icon{width:13px;height:13px;display:block}.spell-filter-summary-label{flex:1}.spell-filter-chevron{display:block;flex-shrink:0;opacity:.6;transition:transform .18s ease}.spell-filter-summary.is-open .spell-filter-chevron{transform:rotate(180deg)}.spell-filter-divider{height:1px;background:var(--dnd-gold-10);margin:.1rem 0}.spell-filter-pills-row{display:flex;flex-wrap:wrap;gap:.35rem}.spell-filter-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .65rem;border-radius:999px;font-size:.78rem;font-weight:500;line-height:1;background:transparent;border:1px solid var(--dnd-border);color:var(--dnd-muted);cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast),color var(--duration-fast);white-space:nowrap}.spell-filter-pill:hover{border-color:var(--dnd-gold-40);color:var(--dnd-text);background:var(--dnd-gold-05)}.spell-filter-pill.is-active{border-color:var(--dnd-gold);background:var(--dnd-gold-15);color:var(--dnd-text)}.spell-filter-pill--class{padding:.22rem .55rem .22rem .3rem}.spell-filter-pill-icon{display:inline-flex;align-items:center;flex-shrink:0}.spell-filter-pill-icon svg,.spell-filter-pill-icon .class-icon{width:14px;height:14px;display:block}.spell-browser-list{flex:1;overflow-y:auto;padding:.5rem 0;min-height:200px}.spell-browser-list .empty-state{padding:2rem;text-align:center;color:var(--text-muted);font-style:italic}.spell-browser-item{border-bottom:1px solid var(--dnd-gold-10);transition:background var(--duration-fast) ease}.spell-browser-item:hover{background:var(--dnd-gold-03)}.spell-browser-item.spell-already-known{opacity:.55}.spell-browser-item-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1.5rem;cursor:pointer;gap:.75rem}.spell-browser-item-info{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.spell-browser-item-name{color:var(--dnd-text);font-size:.95rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spell-browser-item.spell-already-known .spell-browser-item-name{text-decoration:line-through;text-decoration-color:var(--dnd-gold-30)}.spell-browser-item-meta{font-size:.78rem;color:var(--text-muted)}.spell-browser-item-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.spell-browser-known-badge{font-size:.75rem;color:var(--dnd-gold);background:var(--dnd-gold-12);padding:.2rem .6rem;border-radius:var(--radius-sm);white-space:nowrap}.spell-browser-add-btn{background:var(--dnd-gold-12);color:var(--dnd-gold);border:1px solid var(--dnd-gold-30);border-radius:var(--radius-sm);padding:.3rem .75rem;font-size:.8rem;cursor:pointer;white-space:nowrap;transition:all .2s ease}.spell-browser-add-btn:hover{background:var(--dnd-gold-20);border-color:var(--dnd-gold)}.spell-browser-expand-icon{font-size:.7rem;color:var(--text-muted);width:20px;text-align:center}.spell-browser-detail{padding:.5rem 1.5rem 1rem;background:var(--dnd-surface-0);border-top:1px solid var(--dnd-gold-08);font-size:.88rem;line-height:1.6;color:var(--dnd-text-light)}.spell-browser-detail p{margin:.4rem 0}.spell-browser-detail strong{color:var(--dnd-gold)}.spell-browser-description{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--dnd-gold-08);font-size:.85rem;line-height:1.65}.spell-browser-more-btn{display:block;width:calc(100% - 3rem);margin:.5rem 1.5rem .75rem;padding:.55rem;border:1px solid var(--dnd-gold-30);border-radius:var(--radius-sm);background:var(--dnd-gold-10);color:var(--dnd-gold);font-size:.85rem;cursor:pointer;transition:background var(--duration-fast) ease;touch-action:manipulation}.spell-browser-more-btn:hover{background:var(--dnd-gold-20)}.spell-browser-footer{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;border-top:1px solid var(--dnd-gold-20);flex-shrink:0}.spell-browser-count{font-size:.85rem;color:var(--text-muted)}.spell-browser-footer .btn-secondary{background:var(--dnd-gold-10);color:var(--dnd-gold);border:none;border-radius:var(--radius-sm);padding:.45rem 1.25rem;font-size:.85rem;cursor:pointer;transition:all .2s ease}.spell-browser-footer .btn-secondary:hover{background:var(--dnd-gold-20);border-color:transparent}@media(max-width:600px){.spell-browser-overlay{padding:0}.spell-browser-modal{width:100vw;max-height:100vh;max-height:100dvh;border-radius:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.spell-browser-filter-row{flex-direction:column}.spell-filter-pills-row{gap:.3rem}.spell-browser-item-header{padding:.65rem 1rem}.spell-browser-detail{padding:.5rem 1rem 1rem}.spell-browser-header,.spell-browser-filters,.spell-browser-footer{padding-left:1rem;padding-right:1rem}}.spell-browser-header-actions{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem 0}.btn-create-spell{background:#64b4641f;color:#7cc87c;border:1px solid rgba(100,180,100,.3);border-radius:var(--radius-sm);padding:.35rem .9rem;font-size:.82rem;cursor:pointer;white-space:nowrap;transition:all .2s ease}.btn-create-spell:hover{background:#64b46438;border-color:#7cc87c}.btn-create-spell.active{background:#dc50501f;color:#e06060;border-color:#dc50504d}.btn-create-spell.active:hover{background:#dc505038;border-color:#e06060}.create-spell-modal{max-width:640px}.custom-spell-form{padding:1rem 1.5rem 1.5rem}.custom-spell-error{color:#e06060;font-size:.85rem;margin:0 0 .5rem;padding:.4rem .75rem;background:#dc50501a;border:1px solid rgba(220,80,80,.2);border-radius:var(--radius-sm)}.custom-spell-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.custom-spell-field{display:flex;flex-direction:column;gap:.25rem}.custom-spell-field label{font-size:.78rem;color:var(--text-muted);font-weight:500}.custom-spell-field .form-input{padding:.4rem .6rem;font-size:1rem}.custom-spell-ritual{grid-column:1 / -1}.custom-spell-checkbox-label{display:inline-flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--dnd-text);cursor:pointer;min-height:44px;padding:0 .25rem;-webkit-user-select:none;user-select:none}.custom-spell-checkbox-label input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:22px;height:22px;min-width:22px;border:2px solid var(--dnd-gold-40);border-radius:5px;background:var(--dnd-surface-2);cursor:pointer;position:relative;transition:background var(--duration-fast),border-color var(--duration-fast)}.custom-spell-checkbox-label input[type=checkbox]:checked{background:var(--dnd-gold);border-color:var(--dnd-gold)}.custom-spell-checkbox-label input[type=checkbox]:checked:after{content:"";position:absolute;left:50%;top:45%;width:11px;height:6px;border-left:2.5px solid var(--dnd-surface-1);border-bottom:2.5px solid var(--dnd-surface-1);transform:translate(-50%,-50%) rotate(-45deg)}.custom-spell-text-field{margin-top:.6rem}.custom-spell-textarea{width:100%;resize:vertical;min-height:80px;font-size:1rem;line-height:1.5}.custom-spell-form-actions{display:flex;gap:.5rem;margin-top:.75rem}.btn-create-submit{background:#64b46426;color:#7cc87c;border:1px solid rgba(100,180,100,.35);border-radius:var(--radius-sm);padding:.45rem 1.2rem;font-size:.85rem;cursor:pointer;transition:all .2s ease}.btn-create-submit:hover{background:#64b46447;border-color:#7cc87c}.custom-spell-form-actions .btn-secondary{background:transparent;color:var(--text-muted);border:none;border-radius:var(--radius-sm);padding:.45rem 1rem;font-size:.85rem;cursor:pointer;transition:all .2s ease}.custom-spell-form-actions .btn-secondary:hover{color:var(--dnd-text);border-color:transparent}.spell-homebrew-badge{display:inline-block;font-size:.65rem;color:#7cc87c;background:#64b4641f;border:1px solid rgba(100,180,100,.25);border-radius:var(--radius-xs);padding:.1rem .35rem;margin-left:.5rem;vertical-align:middle;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.spell-browser-subclass-badge{display:inline-block;font-size:.6rem;color:var(--bg-primary, #1a1a2e);background:var(--dnd-gold);border-radius:var(--radius-xs);padding:.1rem .35rem;margin-left:.4rem;vertical-align:middle;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.spell-source-badge{margin:.2rem 0 .5rem;font-size:.82rem;color:#7cc87c}.spell-browser-delete-btn{background:none;border:none;color:var(--text-muted);font-size:.9rem;cursor:pointer;padding:.15rem .3rem;border-radius:var(--radius-sm);transition:all .2s ease;opacity:.6}.spell-browser-delete-btn:hover{color:#e06060;opacity:1;background:#dc50501a}@media(max-width:600px){.custom-spell-form-grid{grid-template-columns:1fr}.custom-spell-form{padding:.75rem 1rem;max-height:55vh}.spell-browser-header-actions{gap:.25rem}.btn-create-spell{font-size:.75rem;padding:.3rem .65rem}}.history-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.history-modal{background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-20);border-top:2px solid var(--dnd-gold-40);border-radius:var(--radius-lg);width:95vw;max-width:500px;max-height:72vh;display:flex;flex-direction:column;box-shadow:0 32px 80px #0009,0 12px 32px #00000059,inset 0 1px 0 var(--dnd-gold-08);animation:slideInModal .26s cubic-bezier(.22,1,.36,1)}.history-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--dnd-gold-15);background:linear-gradient(180deg,var(--dnd-surface-2) 0%,var(--dnd-surface-1) 100%);flex-shrink:0}.history-modal-header h3{margin:0;color:var(--dnd-gold);font-size:1rem;font-family:var(--font-display);font-weight:700;letter-spacing:1px;text-transform:uppercase}.history-modal-header .close-btn{background:var(--dnd-surface-3);border:1px solid var(--dnd-gold-15);color:var(--dnd-muted);font-size:1.2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .18s ease}.history-modal-header .close-btn:hover{background:var(--dnd-gold-15);border-color:var(--dnd-gold-30);color:var(--dnd-gold);transform:scale(1.06)}.history-modal-content{flex:1;overflow-y:auto;padding:1rem 1.25rem}.history-modal-content .empty-state{padding:2.5rem 1rem;text-align:center;color:var(--text-muted);font-style:italic;opacity:.7}.history-list{display:flex;flex-direction:column;gap:.6rem}.history-item{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-12);border-radius:var(--radius-md);transition:all .18s ease;gap:.75rem}.history-item:hover{background:var(--dnd-gold-06);border-color:var(--dnd-gold-25);box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.history-item-info{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0}.history-level{font-weight:600;color:var(--dnd-text-light);font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-time{font-size:.77rem;color:var(--text-muted);opacity:.8}.history-restore-btn{background:var(--dnd-gold-12);color:var(--dnd-gold);border:1px solid var(--dnd-gold-30);border-radius:var(--radius-md);padding:.4rem .9rem;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .18s ease;flex-shrink:0}.history-restore-btn:hover{background:var(--dnd-gold-22, var(--dnd-gold-20));border-color:var(--dnd-gold);box-shadow:0 0 8px var(--dnd-gold-20)}@media(max-width:600px){.history-modal{width:100vw;max-height:82vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;position:fixed;bottom:0;left:0;margin:0}.history-modal-overlay{align-items:flex-end}.history-item{flex-direction:column;align-items:flex-start;gap:.5rem}.history-restore-btn{width:100%;text-align:center}}.dice-roll-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1200;padding:1rem}.dice-roll-modal{background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-lg);width:95vw;max-width:420px;box-shadow:0 12px 48px #0000008c,inset 0 1px 0 var(--dnd-gold-06);animation:slideInModal var(--duration-normal) ease-out;overflow:hidden;overflow-x:hidden}.dice-roll-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--dnd-gold-20)}.dice-roll-title{display:flex;align-items:center;gap:.5rem}.dice-roll-icon{font-size:2rem;color:var(--dnd-gold)}.dice-roll-title h3{margin:0;color:var(--dnd-gold);font-size:1.15rem;font-family:var(--font-primary)}.dice-roll-header .close-btn{background:none;border:none;color:var(--dnd-text);font-size:1.5rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s ease}.dice-roll-header .close-btn:hover{background:var(--dnd-gold-10);color:var(--dnd-gold)}.dice-roll-info{padding:.75rem 1.5rem;text-align:center;border-bottom:1px solid var(--dnd-gold-10)}.dice-roll-formula{font-size:1.1rem;color:var(--dnd-text-light);font-family:Courier New,monospace;letter-spacing:.05em}.dice-visibility-selector{display:flex;gap:.4rem;padding:.9rem 1.5rem 0}.dice-visibility-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .35rem;border:1px solid var(--dnd-gold-20);border-radius:var(--radius-md);background:var(--dnd-surface-2);color:var(--dnd-text-light);cursor:pointer;transition:all var(--duration-fast) ease}.dice-visibility-btn:hover{border-color:var(--dnd-gold-40);color:var(--dnd-text)}.dice-visibility-btn.active{border-color:var(--dnd-gold);background:var(--dnd-gold-10);color:var(--dnd-gold)}.dice-visibility-icon{font-size:1.1rem;line-height:1}.dice-visibility-label{font-size:.72rem;text-align:center;line-height:1.1}.dice-rollable{color:var(--dnd-gold);font-weight:600;cursor:pointer;border-bottom:1px dashed var(--dnd-gold-40);border-radius:3px;padding:0 2px;transition:background var(--duration-fast) ease;white-space:nowrap}.dice-rollable:hover{background:var(--dnd-gold-15)}.dice-rollable-tile{cursor:pointer;transition:border-color var(--duration-fast) ease,background var(--duration-fast) ease}.dice-rollable-tile:hover{border-color:var(--dnd-gold);background:var(--dnd-gold-10)}.dice-reveal-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem 0;font-size:.82rem;color:var(--dnd-text-light);cursor:pointer}.dice-reveal-toggle input{accent-color:var(--dnd-gold);cursor:pointer}.dice-roll-secret{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1.5rem;text-align:center}.dice-roll-secret-icon{font-size:2.5rem}.dice-roll-secret-title{font-size:1.1rem;color:var(--dnd-gold);font-family:var(--font-primary)}.dice-roll-secret-hint{font-size:.85rem;color:var(--dnd-text-light)}.dice-roll-buttons{display:flex;gap:.5rem;padding:1.25rem 1.5rem}.dice-roll-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1rem .5rem;border:1px solid var(--dnd-gold-20);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;background:var(--dnd-surface-0)}.dice-roll-btn:hover{border-color:var(--dnd-gold);background:var(--dnd-gold-08)}.dice-roll-btn:active{transform:scale(.97)}.dice-roll-btn.full-width{flex:none;width:100%}.dice-btn-icon{font-size:2.2rem;color:var(--dnd-gold)}.dice-btn-label{font-size:.85rem;font-weight:600;color:var(--dnd-text)}.dice-btn-icon-pair{display:flex;gap:.4rem;align-items:center;justify-content:center}.dice-icon-small,.dice-icon-large{font-size:2rem;display:flex;align-items:center;justify-content:center}.dice-icon-small.bright,.dice-icon-large.bright{opacity:1}.dice-icon-small.muted,.dice-icon-large.muted{opacity:.3}@keyframes dice-shrink{0%{font-size:2rem}to{font-size:1.4rem}}@keyframes dice-grow{0%{font-size:2rem}to{font-size:2.24rem}}@keyframes dice-color-in{0%{opacity:.3}to{opacity:1}}.dice-roll-btn.disadvantage .dice-icon-small.bright{opacity:.3;animation:dice-shrink .5s ease-out forwards,dice-color-in .5s ease-out var(--duration-normal) forwards}.dice-roll-btn.disadvantage .dice-icon-large.muted{animation:dice-grow .5s ease-out forwards}.dice-roll-btn.advantage .dice-icon-large.bright{opacity:.3;animation:dice-grow .5s ease-out forwards,dice-color-in .5s ease-out var(--duration-normal) forwards}.dice-roll-btn.advantage .dice-icon-small.muted{animation:dice-shrink .5s ease-out forwards}.dice-roll-btn.normal .dice-btn-icon{font-size:2.2rem}.dice-btn-desc{font-size:.7rem;color:var(--text-muted)}.dice-roll-btn.normal{border-color:var(--dnd-gold-30)}.dice-roll-btn.normal:hover{background:var(--dnd-gold-12);box-shadow:0 0 12px var(--dnd-gold-15)}.dice-roll-btn.normal .dice-btn-label{color:var(--dnd-gold)}.dice-roll-btn.advantage{border-color:#4caf5059}.dice-roll-btn.advantage:hover{border-color:var(--dnd-success);background:#4caf501a}.dice-roll-btn.advantage .dice-btn-icon,.dice-roll-btn.advantage .dice-btn-label{color:var(--dnd-success)}.dice-roll-btn.disadvantage{border-color:#ef535059}.dice-roll-btn.disadvantage:hover{border-color:var(--dnd-danger);background:#ef53501a}.dice-roll-btn.disadvantage .dice-btn-icon,.dice-roll-btn.disadvantage .dice-btn-label{color:var(--dnd-danger)}.dice-roll-rolling-container{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 1.5rem;color:var(--dnd-text-light);font-size:1rem;perspective:1000px}.dice-roll-rolling-scene{width:160px;height:160px;position:relative;display:flex;align-items:center;justify-content:center}.rolling-dice-icon{width:140px;height:140px;animation:diceShake .3s ease-in-out infinite alternate;filter:drop-shadow(0 0 12px var(--dnd-gold-50));transform-origin:center center}.rolling-dice-number{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2.2rem;font-weight:800;color:var(--dnd-gold);text-shadow:0 0 8px rgba(0,0,0,.8);z-index:1;pointer-events:none;animation:diceNumberShake .3s ease-in-out infinite alternate}@keyframes diceShake{0%{transform:rotate(-10deg)}25%{transform:rotate(10deg)}50%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}to{transform:rotate(-10deg)}}@keyframes diceNumberShake{0%{transform:translate(-50%,-50%) rotate(-10deg)}25%{transform:translate(-50%,-50%) rotate(10deg)}50%{transform:translate(-50%,-50%) rotate(-15deg)}75%{transform:translate(-50%,-50%) rotate(15deg)}to{transform:translate(-50%,-50%) rotate(-10deg)}}.dice-rolling-text{font-weight:600;letter-spacing:.1em;animation:pulseTextRolling .6s ease-in-out infinite}@keyframes pulseTextRolling{0%,to{opacity:.7}50%{opacity:1}}.dice-roll-result{padding:1.25rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.dice-roll-result.dice-shaking{animation:diceShake var(--duration-slow) ease-in-out}.dice-roll-total-display{font-size:4.5rem;font-weight:800;color:var(--dnd-gold);text-shadow:0 0 20px var(--dnd-gold-40);line-height:1;margin:.5rem 0;font-family:var(--font-primary);letter-spacing:-.05em}.dice-roll-total-display.total-crit{color:gold;text-shadow:0 0 30px rgba(255,215,0,.8),0 0 60px rgba(255,215,0,.3);animation:critGlow 1s ease-in-out infinite}@keyframes critGlow{0%,to{text-shadow:0 0 30px rgba(255,215,0,.8),0 0 60px rgba(255,215,0,.3)}50%{text-shadow:0 0 50px rgba(255,215,0,1),0 0 80px rgba(255,215,0,.5),0 0 120px rgba(255,215,0,.2)}}.dice-roll-total-display.total-fumble{color:var(--dnd-danger);text-shadow:0 0 30px rgba(239,83,80,.8),0 0 16px rgba(239,83,80,.4);animation:fumbleGlow 1s ease-in-out infinite}.dice-roll-result.total-fumble-container{animation:nat1Flash .8s ease-in-out 2}@keyframes fumbleGlow{0%,to{text-shadow:0 0 30px rgba(239,83,80,.8),0 0 16px rgba(239,83,80,.4)}50%{text-shadow:0 0 40px rgba(239,83,80,1),0 0 24px rgba(239,83,80,.6)}}.dice-roll-breakdown{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:100%}.dice-roll-free-formula{font-family:Courier New,monospace;font-weight:700;color:var(--dnd-gold);font-size:1.1rem}.dice-roll-dice{display:flex;justify-content:center;gap:1rem}.dice-pair{display:flex;gap:1rem}.dice-face{width:64px;height:64px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;background:var(--dnd-surface-0);border:2px solid var(--dnd-border);border-radius:var(--radius-md);color:var(--dnd-text);font-family:var(--font-primary);animation:diceFadeIn .3s ease-out}@keyframes diceFadeIn{0%{opacity:0;transform:scale(.5) rotate(-25deg)}to{opacity:1;transform:scale(1) rotate(0)}}.dice-face.chosen{border-color:var(--dnd-gold);color:var(--dnd-gold);background:var(--dnd-gold-08);box-shadow:0 0 12px var(--dnd-gold-20)}.dice-face.discarded{opacity:.35;border-style:dashed}.dice-face.nat20{border-color:gold;color:gold;background:#ffd7001a;box-shadow:0 0 20px #ffd70066,0 0 40px #ffd70026;animation:diceFadeIn .3s ease-out,nat20Glow 1.5s ease-in-out infinite}.dice-face.nat1{border-color:var(--dnd-danger);color:var(--dnd-danger);background:#ef53501a;box-shadow:0 0 16px #ef53504d}.dice-roll-mode-badge{font-size:.75rem;font-weight:600;padding:.2rem .75rem;border-radius:100px;text-transform:uppercase;letter-spacing:.05em}.dice-roll-mode-badge.advantage{color:var(--dnd-success);background:#4caf501f;border:1px solid rgba(76,175,80,.3)}.dice-roll-mode-badge.disadvantage{color:var(--dnd-danger);background:#ef53501f;border:1px solid rgba(239,83,80,.3)}.dice-roll-crit-badge{font-size:.9rem;font-weight:700;color:gold;text-transform:uppercase;letter-spacing:.1em;animation:critPulse .6s ease-in-out infinite alternate;text-shadow:0 0 8px rgba(255,215,0,.4)}@keyframes critPulse{0%{text-shadow:0 0 4px rgba(255,215,0,.3)}to{text-shadow:0 0 20px rgba(255,215,0,.8),0 0 40px rgba(255,215,0,.3)}}.dice-roll-fumble-badge{font-size:.9rem;font-weight:700;color:var(--dnd-danger);text-transform:uppercase;letter-spacing:.1em;animation:fumblePulse .6s ease-in-out infinite alternate}@keyframes fumblePulse{0%{text-shadow:0 0 4px rgba(239,83,80,.3)}to{text-shadow:0 0 16px rgba(239,83,80,.8)}}.dice-roll-calc{display:flex;align-items:center;gap:.4rem;font-size:1.2rem;font-family:Courier New,monospace;color:var(--dnd-text-light);padding:.5rem 1rem;background:var(--dnd-surface-0);border-radius:var(--radius-sm)}.dice-roll-calc-die{color:var(--dnd-gold);font-weight:700}.dice-roll-calc-op{color:var(--text-muted)}.dice-roll-calc-mod{color:var(--dnd-text)}.dice-roll-calc-eq{color:var(--text-muted);margin:0 .15rem}.dice-roll-calc-total{font-size:1.1rem;font-weight:700;color:var(--dnd-text);min-width:2ch;text-align:center}.dice-roll-damage{width:100%;margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--dnd-gold-15);text-align:center}.dice-roll-damage-header{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.5rem}.dice-roll-damage-calc{display:flex;align-items:center;justify-content:center;gap:.3rem;font-size:1rem;font-family:Courier New,monospace;color:var(--dnd-text-light);flex-wrap:wrap}.dice-roll-damage-total{font-size:1.3rem;font-weight:700;color:#ff8a65}.dice-roll-damage-type{font-size:.8rem;color:var(--text-muted);font-style:italic;margin-left:.3rem}.damage-crit-bonus{color:var(--dnd-success);font-weight:600}.dice-roll-reroll{margin-top:.5rem}.dice-roll-btn-reroll{background:var(--dnd-gold-10);color:var(--dnd-gold);border:1px solid var(--dnd-gold-25);border-radius:var(--radius-sm);padding:.5rem 1.5rem;font-size:.85rem;cursor:pointer;transition:all .2s ease}.dice-roll-btn-reroll:hover{background:var(--dnd-gold-20);border-color:var(--dnd-gold)}@media(max-width:600px){.dice-roll-overlay{padding:.5rem}.dice-roll-modal{width:100%;max-width:100%;border-radius:10px}.dice-roll-header{padding:.75rem 1rem}.dice-roll-title h3{font-size:.95rem}.dice-roll-info{padding:.5rem 1rem}.dice-roll-buttons{flex-direction:row;flex-wrap:wrap;padding:.75rem 1rem;gap:.4rem}.dice-roll-btn{flex:1;flex-direction:column;min-width:calc(33.333% - .3rem);padding:.6rem .4rem;gap:.3rem}.dice-btn-icon{font-size:1.2rem}.dice-btn-desc{display:block;font-size:.7rem}.dice-roll-rolling-container{padding:1.25rem 1rem}.dice-roll-rolling-scene{width:100px;height:100px}.rolling-dice-icon{width:90px;height:90px}.rolling-dice-number{font-size:1.6rem}.dice-roll-result{padding:1rem}.dice-roll-total-display{font-size:3.2rem}.dice-face{width:50px;height:50px;font-size:1.4rem}.dice-roll-calc{font-size:1rem;padding:.4rem .6rem;flex-wrap:wrap;justify-content:center}.dice-roll-damage-calc{font-size:.85rem;flex-wrap:wrap;justify-content:center}.dice-roll-crit-badge,.dice-roll-fumble-badge{font-size:.75rem}}:root[data-theme=light] .spell-browser-modal,:root[data-theme=light] .history-modal,:root[data-theme=light] .dice-roll-modal,:root[data-theme=light] .player-detail-modal{background:#fff;border-color:var(--dnd-border);border-top-color:var(--dnd-gold);box-shadow:0 20px 56px #0000001f,0 8px 20px #00000012}:root[data-theme=light] .spell-browser-header,:root[data-theme=light] .history-modal-header,:root[data-theme=light] .dice-roll-header,:root[data-theme=light] .player-detail-header{background:linear-gradient(180deg,#f8f5f0,#fff);border-bottom-color:#7a5c1e26}:root[data-theme=light] .spell-browser-header .close-btn,:root[data-theme=light] .history-modal-header .close-btn,:root[data-theme=light] .modal-close-btn{background:#f0ebe3;border-color:var(--dnd-border);color:#7a6a52}:root[data-theme=light] .spell-browser-header .close-btn:hover,:root[data-theme=light] .history-modal-header .close-btn:hover,:root[data-theme=light] .modal-close-btn:hover{background:#7a5c1e1a;border-color:#7a5c1e4d;color:#5a4210}:root[data-theme=light] .history-item{background:#f8f5f0;border-color:#7a5c1e1f}:root[data-theme=light] .history-item:hover{background:#f0ebe3;border-color:#7a5c1e47;box-shadow:0 2px 8px #0000000f}:root[data-theme=light] .spell-browser-filters{border-bottom-color:#7a5c1e1a}:root[data-theme=light] .spell-browser-detail,:root[data-theme=light] .custom-spell-form{background:#f8f5f0;border-color:#7a5c1e1a}:root[data-theme=light] .spell-filter-select{background:#fff;color:var(--dnd-text);border-color:var(--dnd-border)}:root[data-theme=light] .history-item{background:#f8f5f0;border-color:#7a5c1e26}:root[data-theme=light] .history-item:hover{background:#f0ebe3;border-color:#7a5c1e4d}:root[data-theme=light] .dice-roll-btn{background:#f8f5f0;border-color:#7a5c1e33}:root[data-theme=light] .dice-roll-btn:hover{background:#f0ebe3;border-color:#7a5c1e59}:root[data-theme=light] .dice-roll-btn.normal{border-color:#7a5c1e4d}:root[data-theme=light] .dice-face{background:#f8f5f0;border-color:var(--dnd-border)}:root[data-theme=light] .dice-roll-calc{background:#f0ebe3}:root[data-theme=light] .spell-slot-row-detail,:root[data-theme=light] .resource-row,:root[data-theme=light] .info-item{background:#f8f5f0;border-color:#7a5c1e1f}.player-detail-modal{background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-20);border-top:2px solid var(--dnd-gold-40);border-radius:var(--radius-lg);width:95vw;max-width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 32px 80px #0009,0 12px 32px #00000059,inset 0 1px 0 var(--dnd-gold-08);animation:slideInModal .26s cubic-bezier(.22,1,.36,1)}.player-detail-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--dnd-gold-15);background:linear-gradient(180deg,var(--dnd-surface-2) 0%,var(--dnd-surface-1) 100%);flex-shrink:0}.player-detail-header h2{margin:0;color:var(--dnd-gold);font-size:1rem;font-family:var(--font-display);font-weight:700;letter-spacing:1px;text-transform:uppercase}.modal-close-btn{background:var(--dnd-surface-3);border:1px solid var(--dnd-gold-15);color:var(--dnd-muted);font-size:1.2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .18s ease}.modal-close-btn:hover{background:var(--dnd-gold-15);border-color:var(--dnd-gold-30);color:var(--dnd-gold);transform:scale(1.06)}.player-detail-content{flex:1;overflow-y:auto;padding:1.25rem 1.5rem}.detail-section{margin-bottom:1.5rem}.detail-section:last-child{margin-bottom:0}.detail-section h3{margin:0 0 .75rem;color:var(--dnd-gold);font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--dnd-gold-20);padding-bottom:.5rem}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.detail-value{font-size:1rem;font-weight:600;color:var(--dnd-text)}.detail-value--low-hp{color:#ff6b6b;text-shadow:0 0 8px rgba(255,107,107,.3)}.spell-slots-detail{display:flex;flex-direction:column;gap:.5rem}.spell-slot-row-detail{display:grid;grid-template-columns:40px 60px 1fr;gap:.75rem;align-items:center;padding:.5rem;background:var(--dnd-surface-0);border-radius:var(--radius-sm);border:1px solid var(--dnd-gold-10)}.slot-circle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--dnd-gold-15);border:1px solid var(--dnd-gold-30);border-radius:50%;font-weight:600;color:var(--dnd-gold);font-size:.9rem}.slot-value{color:var(--dnd-text);font-weight:600;font-size:.9rem}.slot-pips{display:flex;gap:3px;flex-wrap:wrap}.slot-pip{width:10px;height:10px;border-radius:2px;background:var(--dnd-gold-30);border:1px solid var(--dnd-gold-20)}.slot-pip--avail{background:var(--dnd-gold-50)}.slot-pip--used{background:var(--dnd-gold-15);border-color:var(--dnd-gold-10)}.resources-detail{display:flex;flex-direction:column;gap:.5rem}.resource-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--dnd-surface-0);border-radius:var(--radius-sm);border:1px solid var(--dnd-gold-10)}.resource-row .resource-name{color:#d0d0d0;font-size:.85rem;font-weight:500}.resource-value{color:var(--dnd-gold)}.counters-detail{display:flex;flex-direction:column;gap:.65rem}.counter-row{display:flex;flex-direction:column;gap:.3rem}.counter-header{display:flex;justify-content:space-between;align-items:center}.counter-name{color:var(--dnd-gold);font-size:.85rem;font-weight:500}.counter-value{color:var(--dnd-text-light);font-size:.75rem}.counter-bar{height:8px;background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-20);border-radius:4px;overflow:hidden}.counter-bar-fill{height:100%;background:linear-gradient(90deg,var(--dnd-gold-50),var(--dnd-gold-50));transition:width .3s ease}.modal-resource-pips{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.modal-resource-pip{width:10px;height:10px;border-radius:50%;border:1px solid var(--dnd-gold-30);transition:all .2s ease}.modal-resource-pip.available{background:var(--dnd-gold);border-color:var(--dnd-gold);box-shadow:0 0 3px var(--dnd-gold-40)}.modal-resource-pip.used{background:transparent;border-color:var(--dnd-gold-30)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.info-item{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background:var(--dnd-surface-0);border-radius:var(--radius-sm);border:1px solid var(--dnd-gold-10)}.info-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.info-value{font-size:.85rem;color:var(--dnd-text);font-weight:500}.cguide-modal{max-width:780px;width:95vw}.cguide-body{display:flex;flex-direction:column;gap:1.5rem;padding:1.25rem 1.5rem;max-height:75vh;overflow-y:auto}.cguide-section{padding:1rem 1.25rem;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:var(--radius-xl);border-left:3px solid var(--dnd-gold-30)}.cguide-section-title{display:flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dnd-gold);opacity:.8;margin-bottom:.875rem}.cguide-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}:root[data-theme=light] .character-sheet{background:linear-gradient(180deg,#f8f5f0,#ede8df,#e5dfd4);color:var(--dnd-text)}:root[data-theme=light] .character-sheet:before{background-image:radial-gradient(ellipse at 20% 50%,rgba(139,119,79,.05) 0%,transparent 50%),radial-gradient(ellipse at 80% 50%,rgba(139,119,79,.04) 0%,transparent 50%),radial-gradient(circle at 50% 100%,rgba(122,92,30,.03) 0%,transparent 40%)}:root[data-theme=light] .section{background:#fff;border-color:var(--dnd-border);border-top-color:var(--dnd-gold);box-shadow:0 2px 8px #0000000d,inset 0 1px 3px #8b774f0a;border-left:1px solid rgba(139,119,79,.12)}:root[data-theme=light] .sheet-header{background:#fff;box-shadow:0 2px 12px #0000000f;border-color:var(--dnd-gold-15)}:root[data-theme=light] .sheet-header:before,:root[data-theme=light] .sheet-header:after{background:linear-gradient(90deg,transparent,rgba(122,92,30,.25),transparent)}:root[data-theme=light] .burger-toggle{background:#7a5c1e14;border-color:var(--dnd-border)}:root[data-theme=light] .burger-toggle span{background:#5a4a2a}:root[data-theme=light] .burger-dropdown{background:linear-gradient(135deg,#fff,#f8f6f0);border-color:var(--dnd-border);box-shadow:0 8px 32px #00000026}:root[data-theme=light] .burger-item{color:#2d2a24}:root[data-theme=light] .burger-item:hover{background:#7a5c1e14;color:#5a4a2a}:root[data-theme=light] .burger-theme-select{background:#fff;border-color:#7a5c1e33;color:#2d2a24}:root[data-theme=light] .burger-theme-select:hover{border-color:#7a5c1e59}:root[data-theme=light] .burger-theme-select:focus{border-color:#5a4a2a;box-shadow:0 0 0 2px #7a5c1e1a}:root[data-theme=light] .burger-user{color:#5a4a2a}:root[data-theme=light] .character-title h1{color:#2d2a24;text-shadow:none}:root[data-theme=light] .character-name-editable{padding:.25rem .5rem;border-radius:4px}:root[data-theme=light] .character-name-editable:hover{background:#7a5c1e26;color:#1a1a1a}:root[data-theme=light] .name-edit-input{color:#2d2a24;background:#fffc;border-color:#8b6914}:root[data-theme=light] .name-edit-input:focus{box-shadow:0 0 0 2px #7a5c1e40}:root[data-theme=light] .character-subtitle{color:#5c5647}:root[data-theme=light] .section h3{color:var(--dnd-gold);border-bottom-color:#7a5c1e33}:root[data-theme=light] .sheet-tabs{background:#f5f0e8cc;border-color:var(--dnd-border);border-top-color:var(--dnd-gold)}:root[data-theme=light] .sheet-tab{color:#7a6e5e}:root[data-theme=light] .sheet-tab:hover{color:#4a4035;background:#7a5c1e14}:root[data-theme=light] .sheet-tab.active{color:var(--dnd-gold);background:#fff;box-shadow:inset 0 2px 0 var(--dnd-gold)}:root[data-theme=light] .sheet-tab.active:after{background:#fff}:root[data-theme=light] .tab-content{border-top:none}:root[data-theme=light] .section-header-static{color:var(--dnd-gold);border-bottom-color:#7a5c1e33}:root[data-theme=light] .vitals-combat-divider{background:linear-gradient(90deg,transparent,var(--dnd-gold),transparent);opacity:.3}:root[data-theme=light] .hp-bar-container{background:#f0ebe3;border-color:var(--dnd-border)}:root[data-theme=light] .hp-bar-background{background:linear-gradient(90deg,#2d8a3e26,#4caf5026,#66bb6a26)}:root[data-theme=light] .hp-input{background:#fff;color:var(--dnd-text);border-color:var(--dnd-border)}:root[data-theme=light] .hp-input::placeholder{color:#b0a898}:root[data-theme=light] .hp-btn{background:#fff;color:var(--dnd-text);border-color:var(--dnd-border);box-shadow:0 1px 3px #0000000d}:root[data-theme=light] .hp-btn:hover{background:#f5f2ec}:root[data-theme=light] .hp-btn.damage{background:#b4303012;color:#b43030;border-color:#b4303047}:root[data-theme=light] .hp-btn.damage:hover{background:#b4303024;border-color:#b43030;box-shadow:0 0 0 2px #b430301f}:root[data-theme=light] .hp-btn.heal{background:#37763e12;color:#37763e;border-color:#37763e47}:root[data-theme=light] .hp-btn.heal:hover{background:#37763e24;border-color:#37763e;box-shadow:0 0 0 2px #37763e1f}:root[data-theme=light] .hp-btn.temp-hp{background:#3264a012;color:#3264a0;border-color:#3264a047}:root[data-theme=light] .hp-btn.temp-hp:hover{background:#3264a024;border-color:#3264a0;box-shadow:0 0 0 2px #3264a01f}:root[data-theme=light] .hp-btn.reset{background:#c282001f;color:#9a6600;border-color:#c2820066;font-weight:700}:root[data-theme=light] .hp-btn.reset:hover{background:#c2820033;border-color:#9a6600;box-shadow:0 0 0 2px #c2820026}:root[data-theme=light] .qty-btn{background:#fff;color:#1a1a2e;border-color:#d0d0d0}:root[data-theme=light] .qty-btn:hover{background:#f5f2ec;border-color:var(--dnd-gold);color:var(--dnd-gold)}:root[data-theme=light] .qty-btn.edit-btn{color:var(--dnd-gold);border-color:var(--dnd-gold-50)}:root[data-theme=light] .qty-btn.edit-btn:hover{background:var(--dnd-gold-15);color:#8b6914}:root[data-theme=light] .qty-btn.remove{color:#c71c1c;border-color:#c71c1c4d}:root[data-theme=light] .qty-btn.remove:hover{background:#c71c1c1a;border-color:#c71c1c;color:#8b0000}:root[data-theme=light] .qty-btn.info{color:#1976d2;border-color:#1976d24d}:root[data-theme=light] .qty-btn.info:hover{background:#1976d21a;border-color:#1976d2}:root[data-theme=light] .ac-input{background:#fff;color:var(--dnd-gold);border-color:var(--dnd-gold)}:root[data-theme=light] .ac-btn{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .ac-override-hint{color:#3a7ca5}:root[data-theme=light] .armor-modal-footer{border-top-color:var(--dnd-border)}:root[data-theme=light] .armor-select{background:#fff;color:var(--dnd-text);border-color:var(--dnd-border)}:root[data-theme=light] .armor-detail-tag{background:#7a5c1e14;color:var(--dnd-text);border-color:#7a5c1e26}:root[data-theme=light] .armor-detail-tag.warning{background:#c832321a;color:#b71c1c;border-color:#c8323233}:root[data-theme=light] .ability-box{background:linear-gradient(160deg,#7a5c1e0f,#8b2e2e0a);border-color:var(--dnd-border);box-shadow:0 1px 3px #0000000d}:root[data-theme=light] .ability-box:hover{background:linear-gradient(160deg,#7a5c1e1a,#8b2e2e0f);border-color:var(--dnd-gold);box-shadow:0 4px 10px #7a5c1e14}:root[data-theme=light] .ability-score{color:#9a8a72}:root[data-theme=light] .ability-mod{color:#7a5c1e}:root[data-theme=light] .ability-short{color:#7a6a52}:root[data-theme=light] .ability-score-input{background:#fff;color:var(--dnd-gold);border-color:var(--dnd-gold)}:root[data-theme=light] .saving-throw{background:#f5f2ec;border-color:#8b2e2e26;color:#7a6e5e}:root[data-theme=light] .saving-throw.proficient{background:#f5f2ec;border-color:#7a5c1e40;color:#7a5c1e}:root[data-theme=light] .saving-throw.clickable:hover{background:#f5f2ec;border-color:#7a5c1e59;color:#5a4210;box-shadow:0 0 8px #7a5c1e1a}:root[data-theme=light] .save-value{color:#7a5c1e}:root[data-theme=light] .ability-mod{background:#f5f2ec;border-color:#7a5c1e26}:root[data-theme=light] .ability-mod.clickable:hover{border-color:#7a5c1e59;box-shadow:0 0 8px #7a5c1e1a}:root[data-theme=light] .mod-value{color:#7a5c1e}:root[data-theme=light] .skill-group{border-color:#7a5c1e14}:root[data-theme=light] .ability-name{color:#7a5c1e73}:root[data-theme=light] .skill-row{border-bottom-color:#7a5c1e14}:root[data-theme=light] .skill-row:hover{background:#00000014}:root[data-theme=light] .skill-row:active{background:#00000026}:root[data-theme=light] .skill-row.proficient{background:transparent}:root[data-theme=light] .skill-row.proficient:hover{background:#00000014}:root[data-theme=light] .skill-row.proficient:active{background:#00000026}:root[data-theme=light] .skill-row.expertise{background:transparent}:root[data-theme=light] .skill-row.expertise:hover{background:#00000014}:root[data-theme=light] .skill-row.expertise:active{background:#00000026}:root[data-theme=light] .skill-modifier{background:#f0ebe3;color:#3a3530;border-color:var(--dnd-border)}:root[data-theme=light] .skill-row.proficient .skill-modifier{background:linear-gradient(135deg,#a0811a,#7a5c1e);color:#fff;border-color:#a0811a}:root[data-theme=light] .skill-row.expertise .skill-modifier{background:linear-gradient(135deg,#c9a02a,#8b6e10);color:#fff;border-color:#c9a02a}:root[data-theme=light] .skill-name{color:#2d2a24}:root[data-theme=light] .proficiency-mark{color:#7a5c1e}:root[data-theme=light] .expertise-mark{color:#b8920a}:root[data-theme=light] .skills-edit-btn{background:#f5f2ec;color:#7a6e5e;border-color:var(--dnd-border)}:root[data-theme=light] .skills-edit-btn:hover{background:#7a5c1e14;border-color:var(--dnd-gold);color:#5a4210}:root[data-theme=light] .skills-edit-btn.active{background:#7a5c1e1a;color:var(--dnd-gold);border-color:var(--dnd-gold)}:root[data-theme=light] .skill-roll-result{background:#fff;border-color:#7a5c1e40;box-shadow:0 2px 8px #0000000f}:root[data-theme=light] .roll-skill-name{color:#7a5c1e}:root[data-theme=light] .notes-read-view{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .notes-read-line{color:#2d2a24}:root[data-theme=light] .notes-read-empty{color:#64503c66}:root[data-theme=light] .class-resources{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .resource-card{background:#ebebeb;border-color:silver}:root[data-theme=light] .resource-card:hover{background:#ebebeb;border-color:silver}:root[data-theme=light] .resource-pool-input{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .resource-card{background:#f5f2ec;border-color:#d4af92}:root[data-theme=light] .custom-counter-form{background:#f5f2ec;border-color:var(--dnd-border)}:root[data-theme=light] .custom-counter-input{background:#fff;border-color:var(--dnd-border);color:var(--dnd-text)}:root[data-theme=light] .custom-counter-select{background:#fff;border-color:var(--dnd-border);color:var(--dnd-text)}:root[data-theme=light] .feature-chip{background:#f8f5f0;border-color:var(--dnd-border);color:#3a3530}:root[data-theme=light] .feature-chip:not(span):hover{background:#7a5c1e0f;border-color:var(--dnd-gold)}:root[data-theme=light] .feature-chip.active{background:#7a5c1e1a;border-color:var(--dnd-gold);color:var(--dnd-gold)}:root[data-theme=light] .feature-level-label{background:linear-gradient(135deg,#7a5c1e1f,#7a5c1e0f);border-color:#7a5c1e40}:root[data-theme=light] .chosen-option-group{background:#f8f5f0;border-color:#7a5c1e1f}:root[data-theme=light] .feature-chip{background:#f8f5f0;border-color:var(--dnd-border);color:var(--dnd-text)}:root[data-theme=light] .feature-chip:hover{background:#7a5c1e14;border-color:var(--dnd-gold)}:root[data-theme=light] .feature-chip.active{background:#7a5c1e1a;border-color:var(--dnd-gold)}:root[data-theme=light] .feature-accordion-item:has(.feature-chip.active)>button.feature-chip.active{background:#7a5c1e14;border-bottom-color:#7a5c1e33}:root[data-theme=light] .feature-tooltip{background:#fff;border-color:#7a5c1e33;border-left-color:var(--dnd-gold)}:root[data-theme=light] .resource-card{background:#f0ebe3;border-color:var(--dnd-border)}:root[data-theme=light] .resource-name{color:#5a4a2a}:root[data-theme=light] .resource-rest-label{color:#7a6a4a;opacity:.85}:root[data-theme=light] .resource-separator{color:#7a6a4a;opacity:.6}:root[data-theme=light] .resource-max{color:#7a6a4a;opacity:.8}:root[data-theme=light] .resource-btn{background:#7a5c1e14;border-color:#7a5c1e33;color:#5a4a2a}:root[data-theme=light] .resource-btn.use:not(:disabled){color:#c0504a;border-color:#c0504a4d;background:#c0504a0f}:root[data-theme=light] .resource-btn.restore:not(:disabled){color:#4a8a4a;border-color:#4a8a4a4d;background:#4a8a4a0f}:root[data-theme=light] .resource-pool-input{background:#7a5c1e0f;border-color:#7a5c1e33}:root[data-theme=light] .btn-rest{background:#fff;border-color:var(--dnd-border);color:#5a4a2a}:root[data-theme=light] .custom-counter-edit-btn,:root[data-theme=light] .custom-counter-delete-btn{background:#5a4a2a1f;border-color:#5a4a2a40;color:#5a4a2acc}:root[data-theme=light] .custom-counter-edit-btn:hover{color:var(--dnd-gold);background:#5a4a2a33;border-color:var(--dnd-gold)}:root[data-theme=light] .custom-counter-delete-btn:hover{color:#c0392b;background:#c0392b1a;border-color:#c0392b66}:root[data-theme=light] .currency-card{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .currency-input{background:#f5f2ec;border-color:transparent}:root[data-theme=light] .currency-input:focus{background:#fff}:root[data-theme=light] .weight-bar{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .weight-bar-track{background:#e8e2d8}:root[data-theme=light] .cat-tab{background:#f5f2ec;border-color:var(--dnd-border)}:root[data-theme=light] .cat-tab:hover{background:#7a5c1e0f}:root[data-theme=light] .cat-tab.active{background:#7a5c1e1a;border-color:var(--dnd-gold)}:root[data-theme=light] .inventory-item{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .inventory-item:hover{background:#faf8f4;border-color:var(--dnd-gold-30)}:root[data-theme=light] .inventory-item.equipped{background:#7a5c1e0a;border-color:var(--dnd-gold-30)}:root[data-theme=light] .equipped-accent{background:linear-gradient(180deg,#a0811a,#7a5c1e)}:root[data-theme=light] .inv-empty-state{opacity:.6}:root[data-theme=light] .add-item-form{background:#f5f2ec;border-color:var(--dnd-border)}:root[data-theme=light] .form-input,:root[data-theme=light] .form-select,:root[data-theme=light] .notes-textarea{background:#fff;color:var(--dnd-text);border-color:var(--dnd-border)}:root[data-theme=light] .form-input::placeholder,:root[data-theme=light] .notes-textarea::placeholder{color:#b0a898}:root[data-theme=light] .form-input:focus,:root[data-theme=light] .form-select:focus,:root[data-theme=light] .notes-textarea:focus{border-color:var(--dnd-gold);background:#fff;box-shadow:0 0 0 3px #7a5c1e14}:root[data-theme=light] .notes-action-btn{background:#f8f5f0;border-color:var(--dnd-border);color:var(--dnd-text)}:root[data-theme=light] .notes-action-btn:hover{background:#f0ebe3;border-color:var(--dnd-gold)}:root[data-theme=light] .notes-action-btn--done{background:#7a5c1e1a;border-color:var(--dnd-gold);color:#7a5c1e}:root[data-theme=light] .notes-read-view{background:#f8f5f0;border-color:var(--dnd-border)}:root[data-theme=light] .notes-read-line{color:var(--dnd-text)}:root[data-theme=light] .notes-read-empty{color:#64503c59}:root[data-theme=light] .btn-toggle-add{background:#7a5c1e0f;border-color:#7a5c1e40}:root[data-theme=light] .btn-add-submit{background:#7a5c1e1a;border-color:var(--dnd-gold)}:root[data-theme=light] .btn-export{background:#3c648c14;border-color:#3c648c4d}:root[data-theme=light] .load-screen{background:linear-gradient(135deg,#fff,#f5f2ec);box-shadow:0 2px 12px #00000014}:root[data-theme=light] .saved-entry{background:#f8f5f0;border-color:var(--dnd-border)}:root[data-theme=light] .saved-entry:hover{background:#7a5c1e0f;border-color:var(--dnd-gold)}:root[data-theme=light] .saved-entry-actions button{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .spell-detail-modal-overlay,:root[data-theme=light] .spell-browser-overlay,:root[data-theme=light] .history-modal-overlay,:root[data-theme=light] .dice-roll-overlay{background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}:root[data-theme=light] .spell-detail-modal,:root[data-theme=light] .spell-browser-modal,:root[data-theme=light] .history-modal,:root[data-theme=light] .dice-roll-modal{background:#fff;border-color:var(--dnd-border);box-shadow:0 8px 40px #00000026}:root[data-theme=light] .spell-detail-header,:root[data-theme=light] .spell-browser-header,:root[data-theme=light] .history-modal-header,:root[data-theme=light] .dice-roll-header{background:linear-gradient(135deg,#7a5c1e,#5a4210);border-bottom-color:#7a5c1e4d}:root[data-theme=light] .spell-detail-header h3,:root[data-theme=light] .spell-browser-header h3,:root[data-theme=light] .history-modal-header h3,:root[data-theme=light] .dice-roll-header h3{color:#fff}:root[data-theme=light] .spell-detail-header .close-btn,:root[data-theme=light] .history-modal-header .close-btn{color:#fff}:root[data-theme=light] .spell-detail-header .close-btn:hover,:root[data-theme=light] .history-modal-header .close-btn:hover{background:#ffffff26;color:#fff}:root[data-theme=light] .history-item{background:#f5f5f5;border-color:var(--dnd-border)}:root[data-theme=light] .history-item:hover{background:#f0ebe3;border-color:#7a5c1e}:root[data-theme=light] .history-level,:root[data-theme=light] .history-time{color:#333}:root[data-theme=light] .history-restore-btn{background:var(--dnd-gold-10);color:#7a5c1e;border-color:var(--dnd-gold)}:root[data-theme=light] .history-restore-btn:hover{background:var(--dnd-gold-20);border-color:var(--dnd-gold)}:root[data-theme=light] .spellcasting-info{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .spell-stats-row .spell-info-item{background:#ebebeb;border-color:silver;color:#7a6e5e}:root[data-theme=light] .spell-stats-row .spell-info-label{color:#8b7355}:root[data-theme=light] .spell-stats-row .spell-info-value{color:#9d7d2f}:root[data-theme=light] .spell-circle-tab{background:#f5f2ec;border-color:var(--dnd-border);color:#7a6e5e}:root[data-theme=light] .spell-circle-tab:hover{background:#7a5c1e0f;border-color:var(--dnd-gold);color:var(--dnd-gold)}:root[data-theme=light] .spell-circle-tab.active{background:#7a5c1e1a;border-color:var(--dnd-gold);color:var(--dnd-gold)}:root[data-theme=light] .spell-class-filter-btn{background:#f5f2ec;border-color:var(--dnd-border);color:#7a6e5e}:root[data-theme=light] .spell-class-filter-btn.active{background:#7a5c1e1a;border-color:var(--dnd-gold);color:var(--dnd-gold)}:root[data-theme=light] .spell-tab-slot-bar{background:#f5f2ec;border-color:var(--dnd-border)}:root[data-theme=light] .spell-item{border-bottom-color:#7a5c1e1a}:root[data-theme=light] .spell-item:hover{background:#7a5c1e0a}:root[data-theme=light] .spell-item.spell-always-prepared{background:#7a5c1e08}:root[data-theme=light] .spell-item.spell-item-mc{background:#1976d208}:root[data-theme=light] .spell-name{color:#3a3530}:root[data-theme=light] .btn-add-spell{border-color:#7a5c1e33;color:#7a5c1e;background:#7a5c1e08}:root[data-theme=light] .btn-add-spell:hover{background:#7a5c1e14;border-color:var(--dnd-gold)}:root[data-theme=light] .spell-prepare-indicator{border-color:#c9c0b0}:root[data-theme=light] .pact-magic-section{background:#8a5ce60a;border-color:#8a5ce626}:root[data-theme=light] .prepared-spell-search .form-input{background:#fff;border-color:var(--dnd-border);color:var(--dnd-text)}:root[data-theme=light] .spell-edit-input{background:#fff;border-color:#c4a02a;color:#5a4210}:root[data-theme=light] .spell-edit-select{background:#fff;border-color:#c4a02a;color:#5a4210}:root[data-theme=light] .spell-edit-select option{background:#fff;color:#5a4210}:root[data-theme=light] .spell-edit-reset{border-color:#7a5c1e4d;color:#7a5c1e}:root[data-theme=light] .spell-edit-reset:hover{background:#7a5c1e1a}:root[data-theme=light] .spell-info-value .override-hint{color:#7a5c1e}:root[data-theme=light] .spell-info-value.overridden{color:#7a5c1e}:root[data-theme=light] .spell-info-item{border-bottom-color:var(--dnd-gold-25)}:root[data-theme=light] .spell-info-item:hover{background:var(--dnd-gold-08)}:root[data-theme=light] .spell-info-label{color:#5a4210}:root[data-theme=light] .spell-info-value{color:#7a5c1e}:root[data-theme=light] .spell-browser-header .close-btn{color:#fff}:root[data-theme=light] .spell-browser-header .close-btn:hover{background:#ffffff26;color:#fff}:root[data-theme=light] .btn-create-spell{background:#3c8c3c1a;color:#3a8a3a;border-color:#3c8c3c4d}:root[data-theme=light] .btn-create-spell:hover{background:#3c8c3c2e}:root[data-theme=light] .btn-create-spell.active{background:#c83c3c1a;color:#c44040;border-color:#c83c3c4d}:root[data-theme=light] .custom-spell-form{background:#f8f5f0;border-bottom-color:var(--dnd-border)}:root[data-theme=light] .custom-spell-form h4{color:var(--dnd-gold)}:root[data-theme=light] .custom-spell-error{color:#c44040;background:#c83c3c0f;border-color:#c83c3c26}:root[data-theme=light] .btn-create-submit{background:#3c8c3c1a;color:#3a8a3a;border-color:#3c8c3c4d}:root[data-theme=light] .btn-create-submit:hover{background:#3c8c3c33}:root[data-theme=light] .spell-homebrew-badge{color:#3a8a3a;background:#3c8c3c1a;border-color:#3c8c3c40}:root[data-theme=light] .spell-browser-subclass-badge{color:#2a1a00;background:#c49a2a}:root[data-theme=light] .spell-source-badge{color:#3a8a3a}:root[data-theme=light] .spell-browser-delete-btn:hover{color:#c44040;background:#c83c3c14}:root[data-theme=light] .spell-browser-detail{background:#f5f2ec;border-top-color:var(--dnd-border)}:root[data-theme=light] .spell-filter-pill{border-color:var(--dnd-border);color:var(--dnd-muted)}:root[data-theme=light] .spell-filter-pill:hover{border-color:var(--dnd-gold-40);background:var(--dnd-gold-05);color:var(--dnd-text)}:root[data-theme=light] .spell-filter-pill.is-active{border-color:var(--dnd-gold);background:var(--dnd-gold-15);color:var(--dnd-text)}:root[data-theme=light] .spell-card,:root[data-theme=light] .spell-browser-card{background:#f8f5f0;border-color:var(--dnd-border)}:root[data-theme=light] .spell-card:hover,:root[data-theme=light] .spell-browser-card:hover{background:#f0ebe3;border-color:var(--dnd-gold)}:root[data-theme=light] .dice-roll-btn{background:#f5f2ec;border-color:var(--dnd-border)}:root[data-theme=light] .dice-roll-btn:hover{background:#ede8df}:root[data-theme=light] .dice-roll-btn.selected{background:#7a5c1e14}:root[data-theme=light] .dice-result-total{color:var(--dnd-gold);text-shadow:none}:root[data-theme=light] .dice-result-formula{color:var(--dnd-text-light)}:root[data-theme=light] .combat-weapon-card{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .combat-weapon-card:hover{border-color:var(--dnd-gold)}:root[data-theme=light] .weapon-expanded-header{background:#7a5c1e0a;border-bottom-color:#7a5c1e1f}:root[data-theme=light] .weapon-name{color:#2d2a24}:root[data-theme=light] .weapon-stats{border-bottom-color:#7a5c1e14}:root[data-theme=light] .weapon-stat{background:#faf8f5;border-color:#7a5c1e14}:root[data-theme=light] .preset-weapon-item:hover{background:#7a5c1e0f;border-color:var(--dnd-gold)}:root[data-theme=light] .dir-badge--type{background:#0000000d;color:#7a6a50;border-color:#0000001a}:root[data-theme=light] .directory-tabs{border-bottom-color:var(--dnd-border)}:root[data-theme=light] .directory-tab{color:#6b6253}:root[data-theme=light] .directory-tab:hover{color:#2d2a24}:root[data-theme=light] .directory-tab.active{color:var(--dnd-gold);border-bottom-color:var(--dnd-gold)}:root[data-theme=light] .add-weapon-section .add-item-form{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .dice-btn{background:#f5f2ec;border-color:var(--dnd-border);color:#4a463b}:root[data-theme=light] .dice-btn:hover{background:#7a5c1e1a;color:#7a5c1e;border-color:var(--dnd-gold)}:root[data-theme=light] button.weapon-atk-compact{background:#7a5c1e14;border-color:#7a5c1e33;color:#7a5c1e}:root[data-theme=light] button.weapon-atk-compact:hover{background:#7a5c1e26;border-color:var(--dnd-gold)}:root[data-theme=light] .spell-slot,:root[data-theme=light] .spell-slot-pip{background:#f0ebe3;border-color:var(--dnd-border)}:root[data-theme=light] .spell-slot.used,:root[data-theme=light] .spell-slot-pip.used{background:#7a5c1e26}:root[data-theme=light] .slot-max-input{background:#f8f5f0;border-color:var(--dnd-border);color:var(--dnd-gold)}:root[data-theme=light] .slot-max-btn{background:#f8f5f0;border-color:var(--dnd-border);color:var(--dnd-gold)}:root[data-theme=light] .slot-max-btn:hover{border-color:var(--dnd-gold);background:var(--dnd-gold-10)}:root[data-theme=light] .slot-reset-btn{background:#f8f5f0;border-color:var(--dnd-border);color:var(--dnd-gold)}:root[data-theme=light] .spell-prepared-panel{background:#f8f5f0;border-color:var(--dnd-border)}:root[data-theme=light] .dice-btn{background:#f5f2ec;border-color:#7a5c1e26;color:#4a463b}:root[data-theme=light] .dice-btn:hover{background:#7a5c1e1f;color:#7a5c1e;border-color:var(--dnd-gold)}:root[data-theme=light] .preset-weapons-panel{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .preset-weapon-item{background:#f8f5f0;border-color:var(--dnd-border)}:root[data-theme=light] .preset-weapon-item:hover{background:#f0ebe3;border-color:var(--dnd-gold);box-shadow:0 2px 6px #7a5c1e14}:root[data-theme=light] .preset-weapon-name{color:#2d2a24}:root[data-theme=light] .preset-weapon-stats{color:#7a5c1e}:root[data-theme=light] .btn-add-preset{background:#7a5c1e1f;border-color:#7a5c1e40;color:#7a5c1e}:root[data-theme=light] .btn-add-preset:hover{background:#7a5c1e33;border-color:var(--dnd-gold);color:#5a4210}:root[data-theme=light] .currency-step-btn{background:var(--dnd-surface-3);border-color:var(--dnd-border);color:var(--dnd-text)}:root[data-theme=light] .currency-step-btn:hover{background:var(--surface-active);border-color:var(--dnd-gold-30)}:root[data-theme=light] .currency-step-btn.minus{color:#9a2c1f}:root[data-theme=light] .currency-step-btn.plus{color:#2c5e27}:root[data-theme=paper] .character-sheet{background:#fafaf7;color:var(--dnd-text)}:root[data-theme=paper] .character-sheet:before{background-image:none}:root[data-theme=paper] .section{background:#fff;border-color:var(--dnd-border);border-top-color:#333;box-shadow:0 1px 2px #0000000a;border-left:1px solid #d8d8d8}:root[data-theme=paper] .sheet-header{background:#fff;box-shadow:0 1px 3px #0000000f;border-color:#c8c8c8}:root[data-theme=paper] .sheet-header:before,:root[data-theme=paper] .sheet-header:after{background:linear-gradient(90deg,transparent,rgba(51,51,51,.25),transparent)}:root[data-theme=paper] .burger-toggle{background:#3333330d;border-color:var(--dnd-border)}:root[data-theme=paper] .burger-toggle span{background:#1a1a1a}:root[data-theme=paper] .burger-dropdown{background:#fff;border-color:var(--dnd-border);box-shadow:0 6px 20px #0000001f}:root[data-theme=paper] .burger-item{color:#1a1a1a}:root[data-theme=paper] .burger-item:hover{background:#3333330f;color:#000}:root[data-theme=paper] .burger-theme-select{background:#fff;border-color:#3333;color:#1a1a1a}:root[data-theme=paper] .burger-theme-select:hover{border-color:#33333359}:root[data-theme=paper] .burger-theme-select:focus{border-color:#333;box-shadow:0 0 0 2px #3333331f}:root[data-theme=paper] .burger-user{color:#333}:root[data-theme=paper] .character-title h1{color:#1a1a1a;text-shadow:none}:root[data-theme=paper] .character-name-editable{padding:.25rem .5rem;border-radius:4px}:root[data-theme=paper] .character-name-editable:hover{background:#33333314;color:#000}:root[data-theme=paper] .name-edit-input{color:#1a1a1a;background:#fff;border-color:#333}:root[data-theme=paper] .name-edit-input:focus{box-shadow:0 0 0 2px #3333}:root[data-theme=paper] .character-subtitle{color:#555}:root[data-theme=paper] .section h3{color:#1a1a1a;border-bottom-color:#3333}:root[data-theme=paper] .sheet-tabs{background:#f5f5f3;border-color:var(--dnd-border);border-top-color:#333}:root[data-theme=paper] .sheet-tab{color:#666}:root[data-theme=paper] .sheet-tab:hover{color:#1a1a1a;background:#3333330d}:root[data-theme=paper] .sheet-tab.active{color:#1a1a1a;background:#fff;box-shadow:inset 0 2px #333}:root[data-theme=paper] .sheet-tab.active:after{background:#fff}:root[data-theme=paper] .tab-content{border-top:none}:root[data-theme=paper] .section-header-static{color:#1a1a1a;border-bottom-color:#3333}:root[data-theme=paper] .vitals-combat-divider{background:linear-gradient(90deg,transparent,#333333,transparent);opacity:.25}:root[data-theme=paper] .hp-bar-container{background:#f5f5f3;border-color:var(--dnd-border)}:root[data-theme=paper] .hp-bar-background{background:linear-gradient(90deg,#3333331a,#33333326,#3333)}:root[data-theme=paper] .hp-input{background:#fff;color:var(--dnd-text);border-color:var(--dnd-border)}:root[data-theme=paper] .hp-input::placeholder{color:#b0b0b0}:root[data-theme=paper] .hp-btn{background:#fff;color:var(--dnd-text);border-color:var(--dnd-border);box-shadow:0 1px 2px #0000000a}:root[data-theme=paper] .hp-btn:hover{background:#f5f5f3}:root[data-theme=paper] .hp-btn.damage{background:#1a1a1a0d;color:#1a1a1a;border-color:#1a1a1a59}:root[data-theme=paper] .hp-btn.damage:hover{background:#1a1a1a1a;border-color:#1a1a1a;box-shadow:0 0 0 2px #1a1a1a1a}:root[data-theme=paper] .hp-btn.heal{background:#5050500d;color:#3a3a3a;border-color:#5050504d}:root[data-theme=paper] .hp-btn.heal:hover{background:#5050501f;border-color:#3a3a3a;box-shadow:0 0 0 2px #5050501a}:root[data-theme=paper] .hp-btn.temp-hp{background:#7878780f;color:#5a5a5a;border-color:#7878784d}:root[data-theme=paper] .hp-btn.temp-hp:hover{background:#7878781f;border-color:#5a5a5a;box-shadow:0 0 0 2px #7878781a}:root[data-theme=paper] .hp-btn.reset{background:#3333331a;color:#1a1a1a;border-color:#3336;font-weight:700}:root[data-theme=paper] .hp-btn.reset:hover{background:#3333332e;border-color:#1a1a1a;box-shadow:0 0 0 2px #3333331f}:root[data-theme=paper] .qty-btn{background:#fff;color:#1a1a1a;border-color:#c8c8c8}:root[data-theme=paper] .qty-btn:hover{background:#f5f5f3;border-color:#333;color:#1a1a1a}:root[data-theme=paper] .qty-btn.edit-btn{color:#333;border-color:#33333380}:root[data-theme=paper] .qty-btn.edit-btn:hover{background:#3333331a;color:#000}:root[data-theme=paper] .qty-btn.remove{color:#1a1a1a;border-color:#1a1a1a4d}:root[data-theme=paper] .qty-btn.remove:hover{background:#1a1a1a14;border-color:#1a1a1a;color:#000}:root[data-theme=paper] .qty-btn.info{color:#555;border-color:#5555554d}:root[data-theme=paper] .qty-btn.info:hover{background:#55555514;border-color:#555}:root[data-theme=paper] .ac-input{background:#fff;color:#1a1a1a;border-color:#333}:root[data-theme=paper] .ac-btn{background:#fff;border-color:var(--dnd-border)}:root[data-theme=paper] .ac-override-hint{color:#555}:root[data-theme=paper] .armor-modal-footer{border-top-color:var(--dnd-border)}:root[data-theme=paper] .armor-select{background:#fff;color:var(--dnd-text);border-color:var(--dnd-border)}:root[data-theme=paper] .armor-detail-tag{background:#3333330f;color:var(--dnd-text);border-color:#33333326}:root[data-theme=paper] .armor-detail-tag.warning{background:#1a1a1a14;color:#1a1a1a;border-color:#1a1a1a40}:root[data-theme=paper] .ability-box{background:#fff;border-color:var(--dnd-border);box-shadow:0 1px 2px #0000000a}:root[data-theme=paper] .ability-box:hover{background:#f5f5f3;border-color:#333;box-shadow:0 2px 6px #0000000f}:root[data-theme=paper] .ability-score{color:#888}:root[data-theme=paper] .ability-mod{color:#1a1a1a}:root[data-theme=paper] .ability-short{color:#555}:root[data-theme=paper] .ability-score-input{background:#fff;color:#1a1a1a;border-color:#333}:root[data-theme=paper] .saving-throw{background:#f5f5f3;border-color:#3333331f;color:#555}:root[data-theme=paper] .saving-throw.proficient{background:#f5f5f3;border-color:#3333334d;color:#1a1a1a}:root[data-theme=paper] .saving-throw.clickable:hover{background:#ebebe8;border-color:#3336;color:#000;box-shadow:0 0 6px #33333314}:root[data-theme=paper] .save-value{color:#1a1a1a}:root[data-theme=paper] .ability-mod{background:#f5f5f3;border-color:#3333331f}:root[data-theme=paper] .ability-mod.clickable:hover{border-color:#3336;box-shadow:0 0 6px #33333314}:root[data-theme=paper] .mod-value{color:#1a1a1a}:root[data-theme=paper] .skill-group{border-color:#33333314}:root[data-theme=paper] .ability-name{color:#33333380}:root[data-theme=paper] .skill-row{border-bottom-color:#33333314}:root[data-theme=paper] .skill-row:hover{background:#0000000d}:root[data-theme=paper] .skill-row:active{background:#0000001a}:root[data-theme=paper] .skill-row.proficient{background:transparent}:root[data-theme=paper] .skill-row.proficient:hover{background:#0000000d}:root[data-theme=paper] .skill-row.expertise{background:transparent}:root[data-theme=paper] .skill-row.expertise:hover{background:#0000000d}:root[data-theme=paper] .skill-modifier{background:#f5f5f3;color:#1a1a1a;border-color:var(--dnd-border)}:root[data-theme=paper] .skill-row.proficient .skill-modifier{background:#333;color:#fff;border-color:#333}:root[data-theme=paper] .skill-row.expertise .skill-modifier{background:#1a1a1a;color:#fff;border-color:#1a1a1a}:root[data-theme=paper] .skill-name{color:#1a1a1a}:root[data-theme=paper] .skills-edit-btn{background:#f5f5f3;color:#555;border-color:var(--dnd-border)}:root[data-theme=paper] .skills-edit-btn:hover{background:#3333330f;border-color:#333;color:#1a1a1a}:root[data-theme=paper] .skills-edit-btn.active{background:#3333331a;color:#1a1a1a;border-color:#333}:root[data-theme=paper] .skill-roll-result{background:#fff;border-color:#33333340;box-shadow:0 2px 6px #0000000f}:root[data-theme=paper] .roll-skill-name{color:#1a1a1a}:root[data-theme=paper] .notes-read-view{background:#fff;border-color:var(--dnd-border)}:root[data-theme=paper] .notes-read-line{color:#1a1a1a}:root[data-theme=paper] .notes-read-empty{color:#50505066}:root[data-theme=paper] .class-resources{background:#fff;border-color:var(--dnd-border)}:root[data-theme=paper] .resource-card{background:#f5f5f3;border-color:var(--dnd-border)}:root[data-theme=paper] .resource-card:hover{background:#ebebe8;border-color:#c8c8c8}:root[data-theme=paper] .resource-pool-input{background:#fff;border-color:var(--dnd-border)}:root[data-theme=paper] .custom-counter-form{background:#f5f5f3;border-color:var(--dnd-border)}:root[data-theme=paper] .custom-counter-input{background:#fff;border-color:var(--dnd-border);color:var(--dnd-text)}:root[data-theme=paper] .custom-counter-select{background:#fff;border-color:var(--dnd-border);color:var(--dnd-text)}:root[data-theme=paper] .feature-chip{background:#f5f5f3;border-color:var(--dnd-border);color:#1a1a1a}:root[data-theme=paper] .feature-chip:not(span):hover{background:#3333330f;border-color:#333}:root[data-theme=paper] .feature-chip.active{background:#3333331a;border-color:#333;color:#1a1a1a}:root[data-theme=paper] .feature-level-label{background:#33333314;border-color:#33333340}:root[data-theme=paper] .feature-tooltip{background:#fff;border-color:#3333;border-left-color:#333}:root[data-theme=paper] .chosen-option-group{background:#f5f5f3;border-color:#3333331f}:root[data-theme=paper] .feature-accordion-item:has(.feature-chip.active)>button.feature-chip.active{background:#33333314;border-bottom-color:#3333}:root[data-theme=paper] .resource-name{color:#1a1a1a}:root[data-theme=paper] .resource-rest-label{color:#555;opacity:.85}:root[data-theme=paper] .resource-separator{color:#555;opacity:.6}:root[data-theme=paper] .resource-max{color:#555;opacity:.8}:root[data-theme=paper] .resource-btn{background:#3333330f;border-color:#3333;color:#1a1a1a}:root[data-theme=paper] .resource-btn.use:not(:disabled){color:#1a1a1a;border-color:#1a1a1a4d;background:#1a1a1a0d}:root[data-theme=paper] .resource-btn.restore:not(:disabled){color:#3a3a3a;border-color:#3c3c3c4d;background:#3c3c3c0d}:root[data-theme=paper] .btn-rest{background:#fff;border-color:var(--dnd-border);color:#1a1a1a}:root[data-theme=paper] .custom-counter-edit-btn,:root[data-theme=paper] .custom-counter-delete-btn{background:#3333331a;border-color:#33333340;color:#333333d9}:root[data-theme=paper] .custom-counter-edit-btn:hover{color:#1a1a1a;background:#3333332e;border-color:#333}:root[data-theme=paper] .custom-counter-delete-btn:hover{color:#1a1a1a;background:#1a1a1a1a;border-color:#1a1a1a66}:root[data-theme=paper] .currency-card{background:#fff;border-color:var(--dnd-border)}:root[data-theme=paper] .currency-input{background:#f5f5f3;border-color:transparent}:root[data-theme=paper] .currency-input:focus{background:#fff}:root[data-theme=paper] .weight-bar{background:#fff;border-color:var(--dnd-border)}:root[data-theme=paper] .weight-bar-track{background:#ebebe8}:root[data-theme=paper] .cat-tab{background:#f5f5f3;border-color:var(--dnd-border)}:root[data-theme=paper] .cat-tab:hover{background:#3333330f}:root[data-theme=paper] .cat-tab.active{background:#3333331a;border-color:#333}:root[data-theme=paper] .inventory-item{background:#fff;border-color:var(--dnd-border)}:root[data-theme=paper] .inventory-item:hover{background:#fafaf7;border-color:#3333334d}:root[data-theme=paper] .inventory-item.equipped{background:#3333330a;border-color:#3333334d}:root[data-theme=paper] .equipped-accent{background:#333}:root[data-theme=paper] .inv-empty-state{opacity:.6}:root[data-theme=paper] .add-item-form{background:#f5f5f3;border-color:var(--dnd-border)}:root[data-theme=paper] .form-input,:root[data-theme=paper] .form-select,:root[data-theme=paper] .notes-textarea{background:#fff;color:var(--dnd-text);border-color:var(--dnd-border)}:root[data-theme=paper] .form-input::placeholder,:root[data-theme=paper] .notes-textarea::placeholder{color:#b0b0b0}:root[data-theme=paper] .form-input:focus,:root[data-theme=paper] .form-select:focus,:root[data-theme=paper] .notes-textarea:focus{border-color:#333;background:#fff;box-shadow:0 0 0 2px #3333331a}:root[data-theme=paper] .notes-action-btn{background:#f5f5f3;border-color:var(--dnd-border);color:var(--dnd-text)}:root[data-theme=paper] .notes-action-btn:hover{background:#ebebe8;border-color:#333}:root[data-theme=paper] .notes-action-btn--done{background:#33333314;border-color:#333;color:#1a1a1a}:root[data-theme=paper] .btn-toggle-add{background:#3333330d;border-color:#33333340}:root[data-theme=paper] .btn-add-submit{background:#33333314;border-color:#333}:root[data-theme=paper] .btn-export{background:#3333330f;border-color:#3333334d}:root[data-theme=paper] .load-screen{background:#fff;box-shadow:0 2px 8px #0000000f}:root[data-theme=paper] .saved-entry{background:#f5f5f3;border-color:var(--dnd-border)}:root[data-theme=paper] .saved-entry:hover{background:#ebebe8;border-color:#333}:root[data-theme=paper] .saved-entry-actions button{background:#fff;border-color:var(--dnd-border)}:root[data-theme=paper] .spell-detail-modal-overlay,:root[data-theme=paper] .spell-browser-overlay,:root[data-theme=paper] .history-modal-overlay,:root[data-theme=paper] .dice-roll-overlay{background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}:root[data-theme=paper] .spell-detail-modal,:root[data-theme=paper] .spell-browser-modal,:root[data-theme=paper] .history-modal,:root[data-theme=paper] .dice-roll-modal{background:#fff;border-color:var(--dnd-border);box-shadow:0 6px 28px #00000026}:root[data-theme=paper] .spell-detail-header,:root[data-theme=paper] .spell-browser-header,:root[data-theme=paper] .history-modal-header,:root[data-theme=paper] .dice-roll-header{background:#1a1a1a;border-bottom-color:#3336}:root[data-theme=paper] .spell-detail-header h3,:root[data-theme=paper] .spell-browser-header h3,:root[data-theme=paper] .history-modal-header h3,:root[data-theme=paper] .dice-roll-header h3{color:#fff}:root[data-theme=paper] .spell-detail-header .close-btn,:root[data-theme=paper] .history-modal-header .close-btn,:root[data-theme=paper] .spell-browser-header .close-btn{color:#fff}:root[data-theme=paper] .spell-detail-header .close-btn:hover,:root[data-theme=paper] .history-modal-header .close-btn:hover,:root[data-theme=paper] .spell-browser-header .close-btn:hover{background:#ffffff26;color:#fff}:root[data-theme=paper] .history-item{background:#f5f5f3;border-color:var(--dnd-border)}:root[data-theme=paper] .history-item:hover{background:#ebebe8;border-color:#333}:root[data-theme=paper] .history-level,:root[data-theme=paper] .history-time{color:#1a1a1a}:root[data-theme=paper] .history-restore-btn{background:#33333314;color:#1a1a1a;border-color:#333}:root[data-theme=paper] .history-restore-btn:hover{background:#33333326;border-color:#1a1a1a}:root[data-theme=paper] .spellcasting-info{background:#fff;border-color:var(--dnd-border)}:root[data-theme=paper] .spell-stats-row .spell-info-item{background:#f5f5f3;border-color:#c8c8c8;color:#555}:root[data-theme=paper] .spell-stats-row .spell-info-label{color:#555}:root[data-theme=paper] .spell-stats-row .spell-info-value{color:#1a1a1a}:root[data-theme=paper] .spell-circle-tab{background:#f5f5f3;border-color:var(--dnd-border);color:#555}:root[data-theme=paper] .spell-circle-tab:hover{background:#3333330f;border-color:#333;color:#1a1a1a}:root[data-theme=paper] .spell-circle-tab.active{background:#3333331a;border-color:#333;color:#1a1a1a}:root[data-theme=paper] .spell-class-filter-btn{background:#f5f5f3;border-color:var(--dnd-border);color:#555}:root[data-theme=paper] .spell-class-filter-btn.active{background:#3333331a;border-color:#333;color:#1a1a1a}:root[data-theme=paper] .spell-tab-slot-bar{background:#f5f5f3;border-color:var(--dnd-border)}:root[data-theme=paper] .spell-item{border-bottom-color:#3333331a}:root[data-theme=paper] .spell-item:hover{background:#3333330a}:root[data-theme=paper] .spell-item.spell-always-prepared{background:#33333308}:root[data-theme=paper] .spell-item.spell-item-mc{background:#5555550a}:root[data-theme=paper] .spell-name{color:#1a1a1a}:root[data-theme=paper] .btn-add-spell{border-color:#3333;color:#1a1a1a;background:#33333308}:root[data-theme=paper] .btn-add-spell:hover{background:#33333314;border-color:#333}:root[data-theme=paper] .spell-prepare-indicator{border-color:#c8c8c8}:root[data-theme=paper] .pact-magic-section{background:#5050500a;border-color:#50505026}:root[data-theme=paper] .prepared-spell-search .form-input{background:#fff;border-color:var(--dnd-border);color:var(--dnd-text)}:root[data-theme=paper] .spell-edit-input,:root[data-theme=paper] .spell-edit-select{background:#fff;border-color:#333;color:#1a1a1a}:root[data-theme=paper] .spell-edit-select option{background:#fff;color:#1a1a1a}:root[data-theme=paper] .spell-edit-reset{border-color:#3333334d;color:#1a1a1a}:root[data-theme=paper] .spell-edit-reset:hover{background:#33333314}:root[data-theme=paper] .spell-info-value .override-hint{color:#1a1a1a}:root[data-theme=paper] .spell-info-value.overridden{color:#1a1a1a}:root[data-theme=paper] .spell-info-item{border-bottom-color:#33333340}:root[data-theme=paper] .spell-info-item:hover{background:#3333330f}:root[data-theme=paper] .spell-info-label{color:#555}:root[data-theme=paper] .spell-info-value{color:#1a1a1a}:root[data-theme=paper] .btn-create-spell{background:#3c3c3c14;color:#1a1a1a;border-color:#3c3c3c4d}:root[data-theme=paper] .btn-create-spell:hover{background:#3c3c3c26}:root[data-theme=paper] .btn-create-spell.active{background:#1a1a1a14;color:#1a1a1a;border-color:#1a1a1a59}:root[data-theme=paper] .custom-spell-form{background:#f5f5f3;border-bottom-color:var(--dnd-border)}:root[data-theme=paper] .custom-spell-form h4{color:#1a1a1a}:root[data-theme=paper] .custom-spell-error{color:#1a1a1a;background:#1a1a1a0d;border-color:#1a1a1a2e}:root[data-theme=paper] .btn-create-submit{background:#3c3c3c14;color:#1a1a1a;border-color:#3c3c3c4d}:root[data-theme=paper] .btn-create-submit:hover{background:#3c3c3c2e}:root[data-theme=paper] .spell-homebrew-badge{color:#3a3a3a;background:#3c3c3c1a;border-color:#3c3c3c40}:root[data-theme=paper] .spell-browser-subclass-badge{color:#fff;background:#333}:root[data-theme=paper] .spell-source-badge{color:#3a3a3a}:root[data-theme=paper] .spell-browser-delete-btn:hover{color:#1a1a1a;background:#1a1a1a0f}:root[data-theme=paper] .spell-browser-detail{background:#f5f5f3;border-top-color:var(--dnd-border)}:root[data-theme=paper] .spell-filter-pill{border-color:var(--dnd-border);color:var(--dnd-muted)}:root[data-theme=paper] .spell-filter-pill:hover{border-color:#3336;background:#3333330d;color:var(--dnd-text)}:root[data-theme=paper] .spell-filter-pill.is-active{border-color:#333;background:#3333331f;color:var(--dnd-text)}:root[data-theme=paper] .spell-card,:root[data-theme=paper] .spell-browser-card{background:#f5f5f3;border-color:var(--dnd-border)}:root[data-theme=paper] .spell-card:hover,:root[data-theme=paper] .spell-browser-card:hover{background:#ebebe8;border-color:#333}:root[data-theme=paper] .dice-roll-btn{background:#f5f5f3;border-color:var(--dnd-border)}:root[data-theme=paper] .dice-roll-btn:hover{background:#ebebe8}:root[data-theme=paper] .dice-roll-btn.selected{background:#33333314}:root[data-theme=paper] .dice-result-total{color:#1a1a1a;text-shadow:none}:root[data-theme=paper] .dice-result-formula{color:var(--dnd-text-light)}:root[data-theme=paper] .combat-weapon-card{background:#fff;border-color:var(--dnd-border)}:root[data-theme=paper] .combat-weapon-card:hover{border-color:#333}:root[data-theme=paper] .weapon-expanded-header{background:#3333330a;border-bottom-color:#3333331f}:root[data-theme=paper] .weapon-name{color:#1a1a1a}:root[data-theme=paper] .weapon-stats{border-bottom-color:#33333314}:root[data-theme=paper] .weapon-stat{background:#fafaf7;border-color:#33333314}:root[data-theme=paper] .preset-weapons-panel{background:#fff;border-color:var(--dnd-border)}:root[data-theme=paper] .preset-weapon-item{background:#f5f5f3;border-color:var(--dnd-border)}:root[data-theme=paper] .preset-weapon-item:hover{background:#ebebe8;border-color:#333;box-shadow:0 2px 5px #0000000f}:root[data-theme=paper] .preset-weapon-name{color:#1a1a1a}:root[data-theme=paper] .preset-weapon-stats{color:#555}:root[data-theme=paper] .dir-badge--type{background:#0000000d;color:#555;border-color:#0000001a}:root[data-theme=paper] .directory-tabs{border-bottom-color:var(--dnd-border)}:root[data-theme=paper] .directory-tab{color:#555}:root[data-theme=paper] .directory-tab:hover{color:#1a1a1a}:root[data-theme=paper] .directory-tab.active{color:#1a1a1a;border-bottom-color:#1a1a1a}:root[data-theme=paper] .add-weapon-section .add-item-form{background:#fff;border-color:var(--dnd-border)}:root[data-theme=paper] .dice-btn{background:#f5f5f3;border-color:#33333326;color:#1a1a1a}:root[data-theme=paper] .dice-btn:hover{background:#3333331a;color:#000;border-color:#333}:root[data-theme=paper] button.weapon-atk-compact{background:#3333330f;border-color:#3333;color:#1a1a1a}:root[data-theme=paper] button.weapon-atk-compact:hover{background:#3333331f;border-color:#333}:root[data-theme=paper] .btn-add-preset{background:#33333314;border-color:#33333340;color:#1a1a1a}:root[data-theme=paper] .btn-add-preset:hover{background:#33333326;border-color:#1a1a1a;color:#000}:root[data-theme=paper] .spell-slot,:root[data-theme=paper] .spell-slot-pip{background:#f5f5f3;border-color:var(--dnd-border)}:root[data-theme=paper] .spell-slot.used,:root[data-theme=paper] .spell-slot-pip.used{background:#3333332e}:root[data-theme=paper] .slot-max-input{background:#f5f5f3;border-color:var(--dnd-border);color:#1a1a1a}:root[data-theme=paper] .slot-max-btn{background:#f5f5f3;border-color:var(--dnd-border);color:#1a1a1a}:root[data-theme=paper] .slot-max-btn:hover{border-color:#333;background:#33333314}:root[data-theme=paper] .slot-reset-btn{background:#f5f5f3;border-color:var(--dnd-border);color:#1a1a1a}:root[data-theme=paper] .spell-prepared-panel{background:#f5f5f3;border-color:var(--dnd-border)}:root[data-theme=paper] .info-tag{background:#33333314;border-color:#33333340;color:#333}:root[data-theme=paper] .info-tag:hover{background:#33333324;border-color:#33333373}:root[data-theme=paper] .hp-bar{background:#555}:root[data-theme=paper] .hp-bar-container.hp-bloodied .hp-bar:not(.temp){background:#3a3a3a}:root[data-theme=paper] .hp-bar-container.hp-critical .hp-bar:not(.temp){background:#1a1a1a;animation:none}:root[data-theme=paper] .hp-bar-container.hp-bloodied{animation:none}:root[data-theme=paper] .hp-bar.temp{background:#888!important}:root[data-theme=paper] .proficiency-mark{color:#333}:root[data-theme=paper] .expertise-mark{color:#1a1a1a}:root[data-theme=paper] .background-skill-tag{background:#333333a6;color:#fff}:root[data-theme=paper] .roll-die.nat20{color:#1a1a1a;border-color:#1a1a1a}:root[data-theme=paper] .roll-die.nat1{color:#555;border-color:#555}:root[data-theme=paper] .quick-dice-panel{background:#fff;border-color:#c8c8c8}:root[data-theme=paper] .quick-dice-btn{background:#f5f5f3;border-color:#c8c8c8;color:#1a1a1a}:root[data-theme=paper] .quick-dice-btn:hover{background:#ebebe8;border-color:#333}:root[data-theme=paper] .badge,:root[data-theme=paper] [class*=badge-]{background:#3333331a;color:#1a1a1a;border-color:#33333340}:root[data-theme=paper] .spell-level-badge,:root[data-theme=paper] .spell-school-badge{background:#33333314;color:#333;border-color:#3333}:root[data-theme=paper] .prof-pip.filled,:root[data-theme=paper] .pip.filled,:root[data-theme=paper] [class*=pip].filled{background:#333;border-color:#333}:root[data-theme=paper] .prof-pip.half,:root[data-theme=paper] .pip.half{background:#888;border-color:#888}:root[data-theme=paper] .spell-conc,:root[data-theme=paper] .spell-ritual{background:#33333314;color:#333;border-color:#3333}:root[data-theme=paper] .death-save-pip.success{background:#333;border-color:#333}:root[data-theme=paper] .death-save-pip.failure{background:#1a1a1a;border-color:#1a1a1a}:root[data-theme=paper] .currency-step-btn{background:var(--dnd-surface-3);border-color:var(--dnd-border);color:var(--dnd-text)}:root[data-theme=paper] .currency-step-btn:hover{background:var(--surface-active);border-color:#333}:root[data-theme=paper] .currency-step-btn.minus{color:var(--dnd-danger)}:root[data-theme=paper] .currency-step-btn.plus{color:var(--dnd-success)}:root[data-theme=fantasy-rpg] .character-sheet:before{background-image:radial-gradient(ellipse at 22% 28%,rgba(166,129,44,.06) 0%,transparent 55%),radial-gradient(ellipse at 82% 72%,var(--dnd-gold-05) 0%,transparent 55%),radial-gradient(circle at 50% 100%,var(--dnd-gold-03) 0%,transparent 45%)}:root[data-theme=fantasy-rpg] .section{background:var(--dnd-card-bg);border-color:var(--dnd-border);border-top:2px solid var(--dnd-gold);box-shadow:var(--shadow-sm),inset 0 1px 3px var(--dnd-gold-04)}:root[data-theme=fantasy-rpg] .sheet-header,:root[data-theme=fantasy-rpg] .sheet-tabs{background:var(--dnd-card-bg);border-color:var(--dnd-border)}:root[data-theme=fantasy-rpg] .sheet-header:before{background:linear-gradient(90deg,transparent 8%,var(--dnd-accent-gold) 50%,transparent 92%)}:root[data-theme=fantasy-rpg] .sheet-tab.active{color:var(--dnd-gold);background:var(--dnd-gold-08)}:root[data-theme=fantasy-rpg] .currency-step-btn{background:var(--dnd-surface-3);border-color:var(--dnd-border);color:var(--dnd-text)}:root[data-theme=fantasy-rpg] .currency-step-btn:hover{background:var(--surface-active);border-color:var(--dnd-gold-30)}:root[data-theme=fantasy-rpg] .currency-step-btn:active{background:var(--dnd-gold-15)}:root[data-theme=fantasy-rpg] .currency-step-btn.minus{color:#8f2a1e}:root[data-theme=fantasy-rpg] .currency-step-btn.plus{color:#2f6329}.rest-segments{display:none}.rest-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--dnd-overlay);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:1rem}.rest-modal{width:100%;max-width:440px}.rest-modal-content{padding:1rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.rest-hp-info{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.rest-hp-display{text-align:center;padding:.65rem .75rem;background:#4caf5014;border:1px solid rgba(76,175,80,.2);border-radius:var(--radius-md);border-left:3px solid rgba(76,175,80,.5);font-size:.88rem;color:var(--dnd-success);font-weight:500;line-height:1.4}.rest-hp-display strong{color:#66bb6a;font-weight:700;font-size:1rem;display:block}.rest-hit-dice-info{text-align:center;padding:.65rem .75rem;background:var(--dnd-gold-08);border:1px solid var(--dnd-gold-15);border-left:3px solid var(--dnd-gold-40);border-radius:var(--radius-md);font-size:.88rem;color:var(--dnd-gold);font-weight:500;line-height:1.4}.rest-section{padding:.85rem 1rem;background:var(--dnd-gold-03);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.5rem}.rest-section h4{margin:0;font-family:var(--font-primary);color:var(--dnd-gold);font-size:.95rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center;gap:.4rem}.rest-description{margin:0;font-size:.8rem;color:var(--dnd-muted);line-height:1.5;opacity:.85}.rest-subsection-label{display:block;font-size:.8rem;color:var(--dnd-text-light);font-weight:600;letter-spacing:.02em}.rest-hit-dice-section{display:flex;flex-direction:column;gap:.4rem}.rest-hit-dice-controls{display:flex;gap:.4rem;flex-wrap:wrap}.rest-hit-dice-btn{padding:.38rem .8rem;background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-25);border-radius:var(--radius-md);color:var(--dnd-gold);font-size:.82rem;cursor:pointer;transition:all var(--duration-fast) ease;font-weight:600;letter-spacing:.02em}.rest-hit-dice-btn:hover{background:var(--dnd-gold-18);border-color:var(--dnd-gold);box-shadow:0 0 8px var(--dnd-gold-15);transform:translateY(-1px)}.rest-hit-dice-btn:active{transform:scale(.97) translateY(0)}.rest-roll-result{padding:.4rem .65rem;background:var(--dnd-gold-08);border-left:3px solid var(--dnd-gold-40);border-radius:var(--radius-sm);font-size:.82rem;color:var(--dnd-gold);font-weight:600;animation:itemAppear .2s ease-out}.rest-empty{font-size:.8rem;color:var(--dnd-muted);font-style:italic;opacity:.7}.rest-recovery-list{display:flex;flex-direction:column;gap:.2rem}.rest-recovery-item{font-size:.82rem;color:var(--dnd-success);padding:.15rem 0;display:flex;align-items:center;gap:.3rem}.rest-recovery-item:before{content:"✓";font-size:.75rem;opacity:.8}.long-rest-list .rest-recovery-item{color:#5c9eff}.long-rest-list .rest-recovery-item:before{content:"★";font-size:.7rem}.rest-arcane-recovery{display:flex;flex-direction:column;gap:.4rem}.rest-arcane-slots{display:flex;gap:.4rem;flex-wrap:wrap}.rest-arcane-slot-btn{padding:.35rem .7rem;background:#648ce61f;border:1px solid rgba(100,140,230,.28);border-radius:var(--radius-md);color:#7aadff;font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--duration-fast) ease}.rest-arcane-slot-btn:hover{background:#648ce638;border-color:#7aadff;transform:translateY(-1px)}.rest-arcane-slot-btn:disabled{opacity:.4;cursor:not-allowed;border-color:#648ce61f;color:#7aadff73}.rest-arcane-used{font-size:.78rem;color:#7aadffbf;text-align:center}.rest-action-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.6rem 1rem;border:1px solid transparent;border-radius:var(--radius-md);font-size:.88rem;font-weight:700;cursor:pointer;transition:all .2s ease;letter-spacing:.03em}.rest-action-btn:active{transform:scale(.98)}.short-rest-btn{background:var(--dnd-gold-12);color:var(--dnd-gold);border-color:var(--dnd-gold-30)}.short-rest-btn:hover{background:var(--dnd-gold-20);border-color:var(--dnd-gold);box-shadow:0 0 12px var(--dnd-gold-15)}.long-rest-btn{background:#648ce61f;color:#7aadff;border-color:#648ce647}.long-rest-btn:hover{background:#648ce638;border-color:#648ce68c;box-shadow:0 0 12px #648ce626}.rest-reset-btn{background:transparent;color:var(--dnd-muted);border-color:var(--dnd-gold-12);font-size:.82rem;font-weight:500}.rest-reset-btn:hover{background:#b4b4b41a;border-color:var(--dnd-gold-25);color:var(--dnd-text)}:root[data-theme=light] .rest-hp-display{background:#4caf5014;border-color:#4caf5026;color:#3a8a3e}:root[data-theme=light] .rest-hp-display strong{color:#2e7d32}:root[data-theme=light] .rest-hit-dice-info{background:#8b6d3814;border-color:#8b6d381f;color:#8b6d38}:root[data-theme=light] .rest-section{background:#8b6d380a;border-color:#8b6d381f}:root[data-theme=light] .rest-section h4{color:#8b6d38}:root[data-theme=light] .rest-description{color:#666}:root[data-theme=light] .rest-subsection-label{color:#333}:root[data-theme=light] .rest-hit-dice-btn{background:#8b6d381a;border-color:#8b6d3840;color:#8b6d38}:root[data-theme=light] .rest-hit-dice-btn:hover{background:#8b6d3833;border-color:#8b6d38}:root[data-theme=light] .rest-roll-result{background:#8b6d380f;border-left-color:#8b6d38;color:#8b6d38}:root[data-theme=light] .rest-empty{color:#999}:root[data-theme=light] .rest-recovery-item{color:#3a8a3e}:root[data-theme=light] .long-rest-list .rest-recovery-item{color:#4a6faa}:root[data-theme=light] .rest-arcane-slot-btn{background:#4664a01a;border-color:#4664a040;color:#4a6faa}:root[data-theme=light] .rest-arcane-slot-btn:hover{background:#4664a033;border-color:#4a6faa}:root[data-theme=light] .rest-arcane-slot-btn:disabled{opacity:.5;border-color:#4664a01a;color:#4a6faa80}:root[data-theme=light] .rest-arcane-used{color:#4a6faabf}:root[data-theme=light] .short-rest-btn{background:#8b6d381f;color:#8b6d38;border-color:#8b6d3840}:root[data-theme=light] .short-rest-btn:hover{background:#8b6d3838;border-color:#8b6d38}:root[data-theme=light] .long-rest-btn{background:#4664a01f;color:#4a6faa;border-color:#4664a040}:root[data-theme=light] .long-rest-btn:hover{background:#4664a038;border-color:#4a6faa}:root[data-theme=light] .rest-reset-btn{background:#8c8c8c1a;color:#888;border-color:#8c8c8c33}:root[data-theme=light] .rest-reset-btn:hover{background:#8c8c8c2e;border-color:#888}.sticky-fab-group{position:fixed;bottom:calc(var(--sheet-tabbar-h, 0px) + 1.5rem);right:1.5rem;z-index:1001;display:flex;flex-direction:column;gap:10px;align-items:center}.sticky-fab{width:50px;height:50px;border-radius:50%;border:2px solid var(--dnd-border);background:var(--dnd-surface-1);color:var(--dnd-text);font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 3px 12px #00000059;transition:background var(--duration-normal),transform .2s,box-shadow var(--duration-normal),border-color var(--duration-normal)}.sticky-fab:hover{box-shadow:0 4px 18px #00000073;filter:brightness(1.15)}.sticky-fab:active{transform:scale(.95)}.sticky-fab.active{background:var(--dnd-accent, #c9a44a);color:#1a1a2e;border-color:var(--dnd-accent, #c9a44a);box-shadow:0 0 16px #c9a44a66}.sticky-fab.quick-dice-fab{background:linear-gradient(135deg,var(--dnd-gold),var(--dnd-gold-50));border-color:var(--dnd-gold);color:#fff;box-shadow:0 4px 12px var(--dnd-gold-30)}.sticky-fab.quick-dice-fab:hover{box-shadow:0 6px 16px var(--dnd-gold-50)}.sticky-fab.quick-dice-fab.active{background:linear-gradient(135deg,gold,#c9a44a);box-shadow:0 0 20px #ffd70073}.sticky-fab-badge{position:absolute;top:-5px;right:-5px;background:var(--dnd-danger);color:#fff;font-size:.62rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;pointer-events:none;animation:diceBadgePulse .9s ease-out}@keyframes diceBadgePulse{0%{transform:scale(1);box-shadow:0 0 0 0 var(--dnd-gold-50)}25%{transform:scale(1.5);box-shadow:0 0 0 6px var(--dnd-gold-30)}60%{transform:scale(1);box-shadow:0 0 0 12px #d4af3700}to{transform:scale(1);box-shadow:0 0 #d4af3700}}.sticky-fab-ripple{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:2px solid var(--dnd-gold);pointer-events:none;animation:fabRipple .85s ease-out forwards;opacity:0}@keyframes fabRipple{0%{transform:scale(1);opacity:.75}to{transform:scale(1.9);opacity:0}}.slide-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:var(--sheet-tabbar-h, 0px);background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;opacity:1;transition:opacity .3s cubic-bezier(.4,0,.2,1),bottom .3s cubic-bezier(.4,0,.2,1);pointer-events:auto;cursor:pointer}.slide-panel{position:fixed;top:0;right:0;bottom:var(--sheet-tabbar-h, 0px);width:340px;max-width:90vw;z-index:var(--z-modal-backdrop);background:var(--dnd-surface-0);border-left:1px solid var(--dnd-border);box-shadow:-4px 0 24px #00000080;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1),bottom .3s cubic-bezier(.4,0,.2,1);will-change:transform}.slide-panel.open{transform:translate(0)}.slide-panel-header{display:flex;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top,0px)) 16px 14px 16px;border-bottom:1px solid var(--dnd-border);background:var(--dnd-surface-1);flex-shrink:0}.slide-panel-header h3{margin:0;font-size:1rem;color:var(--dnd-accent, #c9a44a);font-weight:600}.slide-panel-header-actions{display:flex;gap:6px}.slide-panel-btn{background:none;border:none;color:var(--dnd-muted);cursor:pointer;font-size:1.05rem;padding:4px 8px;border-radius:6px;transition:color .2s,background .2s}.slide-panel-btn:hover{color:var(--dnd-text);background:#ffffff14}.slide-panel-tabs{display:flex;gap:4px;min-width:0;flex:1}.slide-panel-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:8px;background:none;color:var(--dnd-muted);font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:color .2s,background .2s}.slide-panel-tab svg{width:1em;height:1em}.slide-panel-tab:hover{color:var(--dnd-text);background:#ffffff0f}.slide-panel-tab.active{color:var(--dnd-accent, #c9a44a);background:var(--dnd-gold-15)}.slide-panel-tab-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--dnd-danger);color:#fff;font-size:.62rem;font-weight:700;line-height:18px;text-align:center}.dice-log-tab{display:flex;flex-direction:column;gap:8px}.dice-log-clear-btn{align-self:flex-end;padding:5px 10px;border:1px solid var(--dnd-border);border-radius:6px;background:none;color:var(--dnd-muted);font-family:inherit;font-size:.8rem;cursor:pointer;transition:color .2s,background .2s,border-color .2s}.dice-log-clear-btn:hover{color:var(--dnd-text);border-color:var(--dnd-gold-40);background:#ffffff0d}.slide-panel-body{overflow-y:auto;padding:10px calc(10px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) 10px;flex:1;scrollbar-width:thin;scrollbar-color:var(--dnd-border) transparent}.dice-log-empty{text-align:center;color:var(--dnd-muted);font-style:italic;padding:32px 16px;font-size:.85rem}.dice-log-entry{position:relative;padding:10px 12px;margin-bottom:8px;border-radius:8px;background:var(--dnd-surface-1);border:1px solid var(--dnd-border);transition:background .2s;animation:diceLogEntryIn .45s cubic-bezier(.22,1,.36,1)}.dice-log-entry:first-child{animation:diceLogEntryIn .45s cubic-bezier(.22,1,.36,1),diceLogFreshFlash 1.4s ease-out}@keyframes diceLogEntryIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes diceLogFreshFlash{0%{box-shadow:0 0 0 0 var(--dnd-gold-40);background:var(--dnd-gold-12)}45%{box-shadow:0 0 0 6px #d4af3700}to{box-shadow:none;background:var(--dnd-surface-1)}}.dice-log-entry.log-crit{border-color:gold;background:#ffd70014}.dice-log-entry.log-fumble{border-color:#c44;background:#cc444414}.dice-log-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;gap:8px}.dice-log-header-right{display:flex;align-items:center;gap:6px;white-space:nowrap}.dice-log-label{font-weight:600;font-size:.82rem;color:var(--dnd-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.dice-log-time{font-size:.7rem;color:var(--dnd-muted);font-family:monospace}.dice-log-entry-result{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dice-log-total{font-size:1.3rem;font-weight:700;color:var(--dnd-accent, #c9a44a);min-width:36px}.dice-log-total.crit{color:gold;text-shadow:0 0 8px rgba(255,215,0,.5)}.dice-log-total.fumble{color:#c44;text-shadow:0 0 8px rgba(204,68,68,.4)}.dice-log-formula{font-size:.75rem;color:var(--dnd-muted)}.dice-log-mode{font-weight:700}.dice-log-mode.advantage{color:var(--dnd-success)}.dice-log-mode.disadvantage{color:#c44}.dice-log-damage{font-size:.75rem;color:#e07a5f;font-weight:500}.dice-log-crit-badge,.dice-log-fumble-badge{display:inline-block;font-size:.55rem;font-weight:800;letter-spacing:.3px;padding:2px 5px;border-radius:3px;flex-shrink:0}.dice-log-crit-badge{background:#ffd70033;color:gold;border:1px solid rgba(255,215,0,.4)}.dice-log-fumble-badge{background:#c443;color:#c44;border:1px solid rgba(204,68,68,.4)}:root[data-theme=light] .sticky-fab{background:#fff;border-color:#c4b998;color:#5c4b2e;box-shadow:0 2px 8px #0000001f}:root[data-theme=light] .sticky-fab:hover{background:#f8f0e0}:root[data-theme=light] .sticky-fab.active{background:#8b6914;color:#fff;border-color:#8b6914}:root[data-theme=light] .sticky-fab.quick-dice-fab{background:linear-gradient(135deg,#a0811a,#7a5c1e);border-color:#7a5c1e;color:#faf6ee;box-shadow:0 4px 12px #7a5c1e40}:root[data-theme=light] .sticky-fab.quick-dice-fab:hover{box-shadow:0 6px 20px #7a5c1e59}:root[data-theme=light] .sticky-fab.quick-dice-fab.active{background:linear-gradient(135deg,#c9a44a,#a0811a)}:root[data-theme=light] .slide-panel-overlay{background:#00000040;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}:root[data-theme=light] .slide-panel{background:#faf6ee;border-left-color:#c4b998;box-shadow:-4px 0 24px #0000001f}:root[data-theme=light] .slide-panel-header{background:#f0e8d8;border-bottom-color:#c4b998}:root[data-theme=light] .slide-panel-btn:hover{background:#0000000f}:root[data-theme=light] .dice-log-entry{background:#fff;border-color:#d8cfb8}:root[data-theme=light] .dice-log-entry.log-crit{border-color:#c9a44a;background:#c9a44a14}:root[data-theme=light] .dice-log-entry.log-fumble{border-color:#c44;background:#cc44440f}:root[data-theme=light] .dice-log-label{color:#3c2f1e}:root[data-theme=light] .dice-log-total{color:#8b6914}.sticky-fab-group.panel-open{pointer-events:none;opacity:0;transform:translate(80px);transition:opacity var(--duration-normal),transform var(--duration-normal)}.sticky-fab-group{transition:opacity var(--duration-normal),transform var(--duration-normal),bottom .3s cubic-bezier(.4,0,.2,1)}@media(max-width:600px){.sticky-fab-group{bottom:calc(var(--sheet-tabbar-h, 0px) + .9rem);right:1rem}.sticky-fab{width:44px;height:44px;font-size:1.15rem}.slide-panel{width:100vw;max-width:100vw;padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px)}}.dice-log-panel{background:var(--dnd-card-bg);border:1px solid var(--dnd-gold-20);border-radius:var(--radius-md);display:flex;flex-direction:column;box-shadow:0 8px 32px #0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow:hidden}.dice-log-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--dnd-gold-15);flex-shrink:0}.dice-log-header h3{margin:0;color:var(--dnd-gold);font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.log-clear-btn{background:none;border:none;color:var(--dnd-gold);cursor:pointer;font-size:.85rem;padding:.3rem .6rem;border-radius:var(--radius-sm);transition:all .2s ease}.log-clear-btn:hover{background:var(--dnd-gold-10);color:#fff}.log-entries{flex:1;overflow-y:auto;padding:.5rem 0;min-height:100px;max-height:350px}.log-empty{padding:1rem;text-align:center;color:var(--text-muted);font-size:.8rem;font-style:italic}.log-entry{padding:.5rem 1rem;border-bottom:1px solid var(--dnd-gold-06);font-size:.8rem;display:flex;align-items:center;gap:.5rem;transition:background .1s ease}.log-entry:hover{background:var(--dnd-gold-06)}.log-entry--dice,.log-entry--combat{color:var(--dnd-text-light)}.log-time{color:var(--text-muted);font-size:.7rem;min-width:55px;text-align:right}.log-dice-label{flex:1;color:var(--dnd-gold);font-weight:500}.log-dice-result{background:var(--dnd-gold-15);padding:.15rem .4rem;border-radius:3px;color:var(--dnd-gold);font-weight:600;min-width:35px;text-align:center}.log-combat-icon{min-width:20px;text-align:center}.log-combat-actor{font-weight:600;color:var(--dnd-gold);min-width:80px}.log-combat-action{color:var(--dnd-text-light);min-width:70px}.log-combat-details{flex:1;color:var(--text-muted);font-size:.75rem}.tab-order-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1200;animation:tabOrderFade .2s ease}.tab-order-sheet{position:fixed;left:0;right:0;bottom:0;z-index:1201;max-height:80vh;overflow-y:auto;padding:8px 16px calc(18px + env(safe-area-inset-bottom,0px));background:var(--dnd-surface-1);border-top:1px solid var(--dnd-gold-25);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 -10px 34px #0000008c;animation:tabOrderSlideUp .28s cubic-bezier(.4,0,.2,1)}@keyframes tabOrderFade{0%{opacity:0}to{opacity:1}}@keyframes tabOrderSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.tab-order-grabber{width:40px;height:4px;margin:4px auto 12px;border-radius:2px;background:var(--dnd-gold-25)}.tab-order-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.tab-order-header h3{margin:0;font-size:1.05rem;font-weight:600;color:var(--dnd-accent, #c9a44a)}.tab-order-hint{margin:0 0 14px;font-size:.8rem;color:var(--dnd-muted)}.tab-order-list{display:flex;flex-direction:column;gap:8px}.tab-order-row{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);background:var(--dnd-surface-2);color:var(--dnd-text);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;transition:background var(--duration-fast),border-color var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast)}.tab-order-row.dragging{cursor:grabbing;border-color:var(--dnd-gold);box-shadow:0 10px 26px #00000080;transform:scale(1.02)}.tab-order-grip{display:flex;flex-shrink:0;color:var(--dnd-muted)}.tab-order-icon{display:flex;flex-shrink:0;color:var(--dnd-gold)}.tab-order-icon svg{width:18px;height:18px}.tab-order-label{font-size:.95rem;font-weight:600}.slide-panel-right{--qd-surface: rgba(255, 255, 255, .025);--qd-surface-2: rgba(0, 0, 0, .28);--qd-hairline: rgba(255, 255, 255, .06);--qd-card-border: rgba(255, 255, 255, .07);--qd-scrim: rgba(0, 0, 0, .18);--qd-step-bg: rgba(0, 0, 0, .25);--qd-step-border: rgba(255, 255, 255, .1);--qd-step-glyph: var(--dnd-text-secondary);--qd-on-gold: var(--dnd-on-gold, #15161b);--qd-num-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, "Segoe UI", sans-serif}.qd-panel-header{display:flex;align-items:center;justify-content:space-between;padding:calc(18px + env(safe-area-inset-top,0px)) 20px 0 20px;flex-shrink:0}.qd-panel-title{display:flex;align-items:center;gap:11px;min-width:0}.qd-panel-icon{width:30px;height:30px;flex-shrink:0;border-radius:9px;background:var(--dnd-gold-12);border:1px solid var(--dnd-gold-25);color:var(--dnd-gold);display:flex;align-items:center;justify-content:center}.qd-panel-heading{font-size:1.12rem;font-weight:700;letter-spacing:-.01em;color:var(--dnd-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qd-panel-close{width:32px;height:32px;flex-shrink:0;border-radius:9px;border:1px solid var(--dnd-border);background:var(--qd-surface);color:var(--dnd-muted);font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--duration-fast) ease,background var(--duration-fast) ease}.qd-panel-close:hover{color:var(--dnd-text);background:var(--dnd-gold-10)}.qd-panel-tabs{display:flex;gap:26px;padding:16px 22px 0;border-bottom:1px solid var(--qd-hairline);flex-shrink:0}.qd-panel-tab{position:relative;display:flex;align-items:center;gap:7px;padding:0 0 13px;border:none;background:none;cursor:pointer;font-family:inherit;font-size:.92rem;font-weight:600;color:var(--dnd-muted);transition:color var(--duration-fast) ease}.qd-panel-tab-icon{opacity:.5;transition:opacity var(--duration-fast) ease}.qd-panel-tab.active{color:var(--dnd-gold);font-weight:700}.qd-panel-tab.active .qd-panel-tab-icon{opacity:1;color:var(--dnd-gold)}.qd-panel-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--dnd-gold)}.qd-panel-tab-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--qd-surface-2);color:var(--dnd-muted);font-family:var(--qd-num-font);font-size:.68rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.qd-panel-tab.active .qd-panel-tab-badge{background:var(--dnd-gold);color:var(--qd-on-gold)}.qd-panel-body,.quick-dice-content{flex:1;min-height:0;display:flex;flex-direction:column}.qd-segmented{display:flex;gap:4px;margin:16px 20px 4px;padding:4px;border-radius:12px;background:var(--qd-surface-2);border:1px solid var(--border-subtle);flex-shrink:0}.qd-segment{flex:1;padding:9px;border:none;border-radius:9px;background:none;color:var(--dnd-muted);font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:color var(--duration-fast) ease,background var(--duration-fast) ease}.qd-segment.active{background:var(--dnd-gold-15);color:var(--dnd-gold);font-weight:700;box-shadow:inset 0 0 0 1px var(--dnd-gold-30)}.qd-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--dnd-gold-30) transparent}.qd-scroll::-webkit-scrollbar{width:6px}.qd-scroll::-webkit-scrollbar-track{background:transparent}.qd-scroll::-webkit-scrollbar-thumb{background:var(--dnd-gold-30);border-radius:3px}.qd-scroll::-webkit-scrollbar-thumb:hover{background:var(--dnd-gold-50)}.qd-dice-grid-scroll{padding:14px 20px 8px}.qd-sets-scroll,.qd-history-scroll{padding:14px 20px 8px;display:flex;flex-direction:column;gap:9px}.qd-dice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.qd-die-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;padding:13px 8px 10px;border-radius:16px;background:var(--qd-surface);border:1px solid var(--qd-card-border);transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease}.qd-die-card.selected{background:var(--dnd-gold-08);border-color:transparent;box-shadow:inset 0 0 0 1.5px var(--dnd-gold-50)}.qd-die-badge{position:absolute;top:-7px;right:-7px;z-index:2;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--dnd-gold);color:var(--qd-on-gold);font-family:var(--qd-num-font);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px #0006}.qd-die-quick{position:relative;z-index:1;width:52px;height:52px;border:none;background:none;padding:0;cursor:pointer;color:var(--dnd-gold);display:flex;align-items:center;justify-content:center;transition:transform var(--duration-fast) ease}.qd-die-quick:hover{transform:scale(1.06)}.qd-die-quick:active{transform:scale(.92)}.qd-die-label{position:relative;z-index:1;font-family:var(--qd-num-font);font-size:.9rem;font-weight:700;color:var(--dnd-text)}.qd-die-stepper{position:relative;z-index:1;display:flex;align-items:center;gap:6px}.qd-step{width:26px;height:26px;border-radius:8px;font-size:1rem;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease,opacity var(--duration-fast) ease}.qd-step-minus{border:1px solid var(--qd-step-border);background:var(--qd-step-bg);color:var(--qd-step-glyph)}.qd-step-minus:hover:not(:disabled){border-color:var(--dnd-border);color:var(--dnd-text)}.qd-step-plus{border:1px solid var(--dnd-gold-30);background:var(--dnd-gold-12);color:var(--dnd-gold)}.qd-step-plus:hover:not(:disabled){background:var(--dnd-gold-20);border-color:var(--dnd-gold-50)}.qd-step:disabled{opacity:.35;cursor:not-allowed}.qd-footer{flex-shrink:0;display:flex;flex-direction:column;gap:12px;padding:12px 20px calc(20px + env(safe-area-inset-bottom,0px)) 20px;border-top:1px solid var(--qd-hairline);background:var(--qd-scrim)}.qd-result{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:14px;background:linear-gradient(135deg,var(--dnd-gold-18),var(--dnd-gold-05));border:1px solid var(--dnd-gold-30);animation:qdPop .34s cubic-bezier(.34,1.56,.64,1)}.qd-result-info{display:flex;flex-direction:column;min-width:0;flex:1}.qd-result-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dnd-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qd-result-detail{font-family:var(--qd-num-font);font-variant-numeric:tabular-nums;font-size:.78rem;color:var(--dnd-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qd-result-total{font-family:var(--qd-num-font);font-variant-numeric:tabular-nums;font-size:2.1rem;font-weight:700;line-height:1;color:var(--dnd-gold);flex-shrink:0}.qd-formula-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.qd-formula-col{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.qd-field-label{font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dnd-muted)}.qd-formula-value{font-family:var(--qd-num-font);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700;color:var(--dnd-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qd-formula-placeholder{font-size:.9rem;color:var(--dnd-text-disabled)}.qd-mod-col{display:flex;align-items:center;gap:6px;flex-shrink:0}.qd-mod-col .qd-step{width:30px;height:30px;border-radius:9px;font-size:1.05rem}.qd-mod-value{min-width:34px;text-align:center;font-family:var(--qd-num-font);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700;color:var(--dnd-gold)}.qd-action-row{display:flex;gap:9px}.qd-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 16px;border-radius:12px;font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.qd-btn-reset{border:1px solid var(--dnd-danger);background:color-mix(in srgb,var(--dnd-danger) 8%,transparent);color:var(--dnd-danger)}.qd-btn-reset:hover{background:color-mix(in srgb,var(--dnd-danger) 15%,transparent)}.qd-btn-save-toggle{border:1px solid color-mix(in srgb,var(--dnd-success) 32%,transparent);background:color-mix(in srgb,var(--dnd-success) 10%,transparent);color:var(--dnd-success)}.qd-btn-save-toggle:hover,.qd-btn-save-toggle.active{background:color-mix(in srgb,var(--dnd-success) 18%,transparent);border-color:color-mix(in srgb,var(--dnd-success) 50%,transparent)}.qd-btn-roll{flex:1;padding:12px;border:none;background:linear-gradient(135deg,var(--dnd-gold-light),var(--dnd-gold));color:var(--qd-on-gold);font-size:.9rem;font-weight:700;letter-spacing:.02em;box-shadow:0 6px 18px var(--dnd-gold-25)}.qd-btn-roll:hover:not(:disabled){box-shadow:0 8px 22px var(--dnd-gold-40)}.qd-btn-roll:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.qd-roll-glyph{color:var(--qd-on-gold);flex-shrink:0}.qd-save-row{display:flex;gap:9px;animation:qdIn .2s ease-out}.qd-save-input{flex:1;min-width:0;padding:11px 13px;border-radius:11px;border:1px solid var(--dnd-gold-25);background:var(--qd-surface-2);color:var(--dnd-text);font-family:inherit;font-size:.88rem;outline:none;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.qd-save-input:focus{border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-15)}.qd-save-btn{padding:11px 18px;border:none;border-radius:11px;background:var(--dnd-success);color:#0c2912;font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:opacity var(--duration-fast) ease,filter var(--duration-fast) ease}.qd-save-btn:hover:not(:disabled){filter:brightness(1.06)}.qd-save-btn:disabled{opacity:.5;cursor:not-allowed}.qd-sets-empty{text-align:center;color:var(--dnd-text-disabled);font-size:.9rem;padding:40px 0}.qd-set-item{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:15px;background:var(--qd-surface);border:1px solid var(--qd-card-border);transition:border-color var(--duration-fast) ease}.qd-set-item:hover{border-color:var(--dnd-gold-30)}.qd-set-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.qd-set-name{font-size:.95rem;font-weight:600;color:var(--dnd-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qd-set-formula{align-self:flex-start;padding:2px 9px;border-radius:7px;background:var(--dnd-gold-10);color:var(--dnd-gold);font-family:var(--qd-num-font);font-variant-numeric:tabular-nums;font-size:.76rem;font-weight:600;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qd-set-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--border-subtle);background:var(--qd-surface);color:var(--dnd-muted);font-size:.9rem;cursor:pointer;transition:color var(--duration-fast) ease,background var(--duration-fast) ease,border-color var(--duration-fast) ease}.qd-set-btn-edit:hover{color:var(--dnd-gold);background:var(--dnd-gold-08)}.qd-set-btn-delete:hover{color:var(--dnd-danger);background:color-mix(in srgb,var(--dnd-danger) 8%,transparent)}.qd-set-btn-roll{width:38px;height:38px;border-radius:11px;border:1px solid var(--dnd-gold-30);background:var(--dnd-gold-12);color:var(--dnd-gold)}.qd-set-btn-roll:hover{background:var(--dnd-gold-20);border-color:var(--dnd-gold-50);box-shadow:var(--glow-gold-sm)}.qd-create-set-btn{width:100%;padding:13px;border-radius:12px;border:1px dashed var(--dnd-gold-30);background:var(--dnd-gold-06);color:var(--dnd-gold);font-family:inherit;font-size:.88rem;font-weight:600;cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease}.qd-create-set-btn:hover{background:var(--dnd-gold-12);border-color:var(--dnd-gold-50)}.qd-clear-history-btn{width:100%;padding:12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--dnd-danger) 22%,transparent);background:color-mix(in srgb,var(--dnd-danger) 7%,transparent);color:var(--dnd-danger);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background var(--duration-fast) ease}.qd-clear-history-btn:hover{background:color-mix(in srgb,var(--dnd-danger) 14%,transparent)}.qd-history-scroll .dice-log-entry{margin-bottom:0}.qd-history-scroll .dice-log-empty{margin:auto 0}@keyframes qdPop{0%{opacity:0;transform:scale(.82) translateY(6px)}60%{transform:scale(1.03)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes qdIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:root[data-theme=light] .slide-panel-right,:root[data-theme=modern-light] .slide-panel-right,:root[data-theme=paper] .slide-panel-right,:root[data-theme=fantasy-rpg] .slide-panel-right{--qd-surface: rgba(0, 0, 0, .03);--qd-surface-2: rgba(0, 0, 0, .05);--qd-hairline: rgba(0, 0, 0, .08);--qd-card-border: rgba(0, 0, 0, .08);--qd-scrim: rgba(0, 0, 0, .03);--qd-step-bg: rgba(0, 0, 0, .03);--qd-step-border: rgba(0, 0, 0, .12);--qd-step-glyph: var(--dnd-text-secondary);--qd-on-gold: #ffffff}.readonly-banner{background:linear-gradient(135deg,#4a90d9,#5865f2);color:#fff;text-align:center;padding:.6rem 1rem;font-weight:600;font-size:.95rem;border-radius:8px;margin-bottom:.75rem}[data-theme=dark] .readonly-banner{background:linear-gradient(135deg,#3a5f8a,#4752c4)}.sheet-owner-link{background:none;border:none;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.sheet-owner-link:hover{opacity:.85}.character-sheet--readonly input,.character-sheet--readonly textarea,.character-sheet--readonly select{pointer-events:none!important;opacity:.75;cursor:default}.character-sheet--readonly .hp-controls,.character-sheet--readonly .hp-btn,.character-sheet--readonly .hp-input,.character-sheet--readonly .inv-item-actions,.character-sheet--readonly .combat-weapon-actions,.character-sheet--readonly .ability-edit-btn,.character-sheet--readonly .edit-name-btn,.character-sheet--readonly .resource-controls,.character-sheet--readonly .btn-add-weapon,.character-sheet--readonly .rest-btn,.character-sheet--readonly .section-toggle-edit,.character-sheet--readonly .skill-toggle,.character-sheet--readonly .extra-save-toggle,.character-sheet--readonly .slot-checkbox,.character-sheet--readonly .shield-toggle,.character-sheet--readonly .ac-override,.character-sheet--readonly .armor-selector,.character-sheet--readonly .spell-actions .spell-remove-btn,.character-sheet--readonly .spell-actions .spell-prepare-btn,.character-sheet--readonly .btn-add-spell,.character-sheet--readonly .btn-browse-spells,.character-sheet--readonly .spell-item-buttons .qty-btn.remove,.character-sheet--readonly .spell-prepare-toggle,.character-sheet--readonly .spell-item-buttons,.character-sheet--readonly .add-weapon-section,.character-sheet--readonly .combat-weapon-card .qty-btn,.character-sheet--readonly .btn-add-preset,.character-sheet--readonly .btn-add-submit,.character-sheet--readonly .btn-toggle-add,.character-sheet--readonly .weapon-add-buttons,.character-sheet--readonly .skills-edit-btn,.character-sheet--readonly .ability-score-input,.character-sheet--readonly .saving-throw.editable,.character-sheet--readonly .slot-btn,.character-sheet--readonly .slot-max-btn,.character-sheet--readonly .slot-max-input,.character-sheet--readonly .slot-reset-btn,.character-sheet--readonly .slot-pip,.character-sheet--readonly .resource-btn,.character-sheet--readonly .spell-prepare-checkbox,.character-sheet--readonly .spell-edit-reset,.character-sheet--readonly .currency-input,.character-sheet--readonly .equip-btn,.character-sheet--readonly .drag-handle,.character-sheet--readonly .add-item-section,.character-sheet--readonly .ac-edit,.character-sheet--readonly .armor-modal-overlay,.character-sheet--readonly .armor-modal,.character-sheet--readonly .armor-select,.character-sheet--readonly .armor-shield-toggle,.character-sheet--readonly .notes-textarea,.character-sheet--readonly .rest-hit-dice-btn,.character-sheet--readonly .rest-arcane-slot-btn,.character-sheet--readonly .rest-action-btn{pointer-events:none!important;opacity:.35;cursor:not-allowed;filter:grayscale(60%)}.character-sheet--readonly .add-item-form,.character-sheet--readonly .add-weapon-form,.character-sheet--readonly .add-weapon-section,.character-sheet--readonly .combat-weapon-card.editing{display:none!important}.character-sheet--readonly .spm-pip,.character-sheet--readonly .spm-prep-toggle,.character-sheet--readonly .spm-cast-btn,.character-sheet--readonly .spm-upcast-btn,.character-sheet--readonly .spm-rest-btn,.character-sheet--readonly .spm-edit-btn,.character-sheet--readonly .spm-add-btn,.character-sheet--readonly .spm-remove-btn,.character-sheet--readonly .spm-conc-break{pointer-events:none!important;opacity:.35;cursor:not-allowed;filter:grayscale(60%)}.character-sheet--readonly .sheet-tab,.character-sheet--readonly .feature-chip,.character-sheet--readonly .ability-score.clickable,.character-sheet--readonly .saving-throw.clickable,.character-sheet--readonly .skill-row,.character-sheet--readonly .weapon-atk-rollable,.character-sheet--readonly .spell-item-name,.character-sheet--readonly .qty-btn.info,.character-sheet--readonly .quick-dice-fab,.character-sheet--readonly .dice-log-toggle{pointer-events:auto!important;opacity:1!important;cursor:pointer!important;filter:none!important}.portrait-container{flex-shrink:0;align-self:center}.portrait-display{width:64px;height:64px;border-radius:50%;overflow:hidden;border:2px solid var(--dnd-gold);box-shadow:0 0 12px var(--dnd-gold-20),0 2px 8px #0006;position:relative}.portrait-display.portrait-clickable{cursor:pointer;transition:all .3s ease}.portrait-display.portrait-clickable:hover{border-color:gold;box-shadow:0 0 20px var(--dnd-gold-40),0 2px 12px #00000080;transform:scale(1.05)}.portrait-display.portrait-clickable:after{content:"✎";position:absolute;bottom:2px;right:2px;font-size:.65rem;background:var(--dnd-overlay);border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.portrait-display.portrait-clickable:hover:after{opacity:1}.portrait-cropped-wrapper{width:100%;height:100%;overflow:hidden;position:relative}.portrait-cropped-img{display:block;position:absolute;top:0;left:0}.portrait-cropped-img.portrait-no-crop{width:100%;height:100%;object-fit:cover;position:relative}.portrait-add-btn{width:64px;height:64px;border-radius:50%;border:2px dashed var(--dnd-border);background:var(--dnd-gold-06);color:var(--dnd-text-light);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;transition:all .3s ease}.portrait-add-btn:hover{border-color:var(--dnd-gold);background:var(--dnd-gold-12);transform:scale(1.05)}.portrait-add-icon{font-size:1.4rem}.portrait-add-text{font-size:.55rem;text-align:center;line-height:1.2;opacity:.7}.portrait-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:1.5rem;animation:fadeIn .2s ease}.portrait-viewer{position:relative;display:flex;flex-direction:column;align-items:center;max-width:min(600px,95vw)}.portrait-viewer-close{position:absolute;top:-2.5rem;right:-.5rem;background:none;border:none;color:#ffffffb3;font-size:1.8rem;cursor:pointer;padding:4px 8px;transition:color .2s;z-index:2;line-height:1}.portrait-viewer-close:hover{color:#fff}.portrait-viewer-image-wrap{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:70vh}.portrait-viewer-img{max-width:100%;max-height:70vh;object-fit:contain;border-radius:8px}.portrait-viewer-actions{display:flex;gap:1rem;margin-top:1rem}.portrait-viewer-edit-btn,.portrait-viewer-delete-btn{padding:.5rem 1.25rem;border:none;border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .2s ease}.portrait-viewer-edit-btn{background:linear-gradient(135deg,var(--dnd-gold),#b8860b);color:#fff}.portrait-viewer-edit-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}.portrait-viewer-delete-btn{background:#dc3545d9;color:#fff}.portrait-viewer-delete-btn:hover{background:#dc3545;transform:translateY(-1px)}.portrait-editor-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--dnd-overlay);display:flex;align-items:center;justify-content:center;z-index:1300;padding:1rem}.portrait-editor{background:var(--dnd-card-bg);border:1px solid var(--dnd-border);border-radius:var(--radius-lg);width:95vw;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 12px 48px #0009;animation:slideInModal var(--duration-normal) ease-out}.portrait-editor-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--dnd-gold-20)}.portrait-editor-header h3{margin:0;color:var(--dnd-gold);font-family:var(--font-primary);font-size:1.1rem}.portrait-editor-hint{margin:0;padding:0 1.25rem .25rem;color:var(--dnd-text-secondary);font-size:.8rem;line-height:1.4}.portrait-file-input-row{display:flex;justify-content:center;padding:1rem 1.25rem}.portrait-upload-btn{padding:.7rem 1.5rem;border:1px solid var(--dnd-gold);border-radius:var(--radius-sm);background:var(--dnd-gold-10);color:var(--dnd-gold);cursor:pointer;font-size:.9rem;white-space:nowrap;transition:all .2s ease}.portrait-upload-btn:hover{background:var(--dnd-gold-25)}.portrait-upload-btn:disabled{opacity:.5;cursor:not-allowed}.portrait-crop-area{padding:0 1.25rem 1rem;display:flex;flex-direction:column;align-items:center}.portrait-crop-hint{font-size:.8rem;color:var(--dnd-text-light);opacity:.7;margin:0 0 .5rem}.portrait-crop-area .ReactCrop{max-width:100%;border-radius:var(--radius-sm);overflow:hidden}.portrait-loading{padding:2rem 1.25rem;text-align:center;color:var(--dnd-gold);font-size:.9rem}.portrait-loading p{margin:0}.portrait-error{padding:.75rem 1.25rem;color:var(--dnd-danger);font-size:.85rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.portrait-error p{margin:0}.portrait-retry-proxy-btn{padding:.4rem .75rem;border:1px solid var(--dnd-danger);border-radius:var(--radius-sm);background:#ef53501a;color:var(--dnd-danger);cursor:pointer;font-size:.75rem;transition:all .2s ease}.portrait-retry-proxy-btn:hover{background:#ef535040}.portrait-editor-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid var(--dnd-gold-15)}.portrait-remove-btn{margin-right:auto;padding:.5rem 1rem;border:1px solid var(--dnd-danger);border-radius:var(--radius-sm);background:#ef53501a;color:var(--dnd-danger);cursor:pointer;font-size:.85rem;transition:all .2s ease}.portrait-remove-btn:hover{background:#ef535040}.portrait-cancel-btn{padding:.5rem 1rem;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);background:transparent;color:var(--dnd-text-light);cursor:pointer;font-size:.85rem;transition:all .2s ease}.portrait-cancel-btn:hover{background:#ffffff0d}.portrait-save-btn{padding:.5rem 1.25rem;border:1px solid var(--dnd-gold);border-radius:var(--radius-sm);background:var(--dnd-gold-15);color:var(--dnd-gold);cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease}.portrait-save-btn:hover{background:var(--dnd-gold-30)}.portrait-save-btn:disabled{opacity:.4;cursor:not-allowed}:root[data-theme=light] .portrait-editor{background:#f8f5f0;border-color:var(--dnd-border)}:root[data-theme=light] .portrait-add-btn{background:#7a5c1e0d;color:var(--dnd-text)}:root[data-theme=light] .portrait-cancel-btn{color:var(--dnd-text)}:root[data-theme=light] .portrait-cancel-btn:hover{background:#0000000d}.party-info-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-critical);background:#0009;display:flex;align-items:center;justify-content:center;animation:partyInfoFadeIn .2s ease-out}@keyframes partyInfoFadeIn{0%{opacity:0}to{opacity:1}}.party-info-modal{display:flex;flex-direction:column;min-width:300px;max-width:440px;width:92vw;max-height:85vh}@keyframes partyInfoSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.party-info-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--dnd-gold-20)}.party-info-header h3{margin:0;font-size:1rem;color:var(--dnd-gold);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.5px}.party-info-header .close-btn{background:none;border:none;color:var(--dnd-text-muted);font-size:1.2rem;cursor:pointer;padding:.25rem;line-height:1;border-radius:var(--radius-sm);transition:all var(--duration-fast) ease}.party-info-header .close-btn:hover{color:var(--dnd-gold);background:var(--dnd-gold-10)}.party-info-body{padding:.75rem 1rem;overflow-y:auto;flex:1}.party-info-loading,.party-info-empty{text-align:center;color:var(--dnd-text-muted);padding:2rem 0;font-style:italic}.party-info-group+.party-info-group{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--dnd-gold-15)}.party-info-group-header{display:flex;flex-direction:column;gap:2px;margin-bottom:.75rem}.party-info-group-name{font-size:1.05rem;font-weight:700;color:var(--dnd-gold);font-family:var(--font-primary)}.party-info-group-desc{font-size:.8rem;color:var(--dnd-text-muted)}.party-info-members{display:flex;flex-direction:column;gap:.5rem}.party-info-member{display:flex;align-items:center;gap:.65rem;padding:.5rem .6rem;border-radius:var(--radius-sm);background:var(--dnd-surface-3);border:1px solid var(--dnd-gold-15);transition:background var(--duration-fast) ease}.party-info-member--self{border-color:var(--dnd-gold-30);background:var(--dnd-gold-06)}.party-info-member-avatar{font-size:1.4rem;flex-shrink:0;width:2rem;text-align:center}.party-info-member-details{flex:1;display:flex;flex-direction:column;min-width:0}.party-info-member-name{font-weight:600;color:var(--dnd-text);font-size:.95rem;display:flex;align-items:center;gap:.4rem}.party-info-you-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;background:var(--dnd-gold);color:#1a1a2e;padding:.05rem .35rem;border-radius:3px;letter-spacing:.5px}.party-info-member-meta{font-size:.78rem;color:var(--dnd-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.party-info-member-hp{display:flex;flex-direction:column;align-items:center;flex-shrink:0;min-width:2.2rem}.party-info-hp-label{font-size:.6rem;text-transform:uppercase;color:var(--dnd-text-muted);letter-spacing:.5px}.party-info-hp-value{font-size:1rem;font-weight:700;color:var(--dnd-hp-color, #e74c3c)}.party-info-footer{padding:.5rem 1rem .75rem;display:flex;justify-content:flex-end;border-top:1px solid var(--dnd-gold-15);gap:.5rem}.party-info-footer button{background:linear-gradient(135deg,var(--dnd-gold-10) 0%,var(--dnd-red-10) 100%);border:1px solid var(--dnd-border);color:var(--dnd-text-light);padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.party-info-footer button:hover{border-color:var(--dnd-gold);color:var(--dnd-gold);box-shadow:0 0 15px var(--dnd-gold-20)}.party-info-footer .btn-secondary{border-color:transparent;color:var(--dnd-text)}.party-info-footer .btn-secondary:hover{border-color:transparent;color:var(--dnd-gold)}@media(max-width:600px){.party-info-modal{width:96vw;max-height:80vh}}.cs-combat-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border:none;border-radius:999px;font-size:.8rem;font-weight:600;cursor:pointer;background:#ef444426;color:#ef4444;animation:cs-combat-pulse 2s ease-in-out infinite;transition:background var(--duration-fast);white-space:nowrap}.cs-combat-badge:hover{background:#ef444440}@keyframes cs-combat-pulse{0%,to{opacity:1}50%{opacity:.65}}:root[data-theme=light] .cs-combat-badge{background:#ef44441f;color:#dc2626}:root[data-theme=light] .cs-combat-badge:hover{background:#ef444438}.cs-combat-flags{position:fixed;top:0;left:0;right:0;z-index:1100;transform:translateY(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);pointer-events:none;padding-top:env(safe-area-inset-top,0px)}.cs-combat-flags:before{content:"";position:absolute;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background:var(--dnd-surface-1);pointer-events:none}.cs-combat-flags--visible{transform:translateY(0);pointer-events:auto}.cs-combat-flags-rope{width:100%;height:3px;background:linear-gradient(90deg,transparent,#a08060 8%,#c8a878 50%,#a08060 92%,transparent);box-shadow:0 1px 3px #0006}.cs-combat-flags-row{display:flex;align-items:flex-start;gap:.25rem;padding:0 .5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.cs-combat-flags-row::-webkit-scrollbar{display:none}.cs-flag{display:flex;flex-direction:column;align-items:center;flex-shrink:0;animation:cs-flag-drop var(--duration-slow) cubic-bezier(.34,1.56,.64,1) both}@keyframes cs-flag-drop{0%{transform:translateY(-100%) scaleY(.3);opacity:0}to{transform:translateY(0) scaleY(1);opacity:1}}.cs-flag-body{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.3rem .45rem .25rem;width:4.6rem;box-sizing:border-box;background:linear-gradient(180deg,#3a3a4a,#2a2a38);border-left:1.5px solid rgba(255,255,255,.08);border-right:1.5px solid rgba(255,255,255,.08);box-shadow:0 2px 6px #00000059}.cs-flag--self .cs-flag-body{background:linear-gradient(180deg,#3730a3,#312e81);border-left-color:#a5b4fc33;border-right-color:#a5b4fc33}.cs-flag--npc .cs-flag-body{background:linear-gradient(180deg,#7f1d1d,#5c1515);border-left-color:#fca5a526;border-right-color:#fca5a526}.cs-flag-tail{width:0;height:0;border-left:2.3rem solid #2a2a38;border-right:2.3rem solid #2a2a38;border-bottom:.5rem solid transparent}.cs-flag--self .cs-flag-tail{border-left-color:#312e81;border-right-color:#312e81}.cs-flag--npc .cs-flag-tail{border-left-color:#5c1515;border-right-color:#5c1515}.cs-flag-order{display:flex;align-items:center;justify-content:center;width:1.2rem;height:1.2rem;border-radius:50%;font-size:.65rem;font-weight:700;background:#ffffff26;color:#e5e5e5}.cs-flag--self .cs-flag-order{background:#a5b4fc40;color:#c7d2fe}.cs-flag--npc .cs-flag-order{background:#fca5a533;color:#fca5a5}.cs-flag-name{font-size:.6rem;font-weight:600;color:#d4d4d8;text-align:center;line-height:1.15;max-width:4.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-flag--self .cs-flag-name{color:#c7d2fe}.cs-flag--npc .cs-flag-name{color:#fecaca}.cs-flag-you{font-size:.5rem;opacity:.65;font-style:italic;color:#a5b4fc}.cs-flag--active-turn{transform:scale(1.15);transform-origin:top center;transition:transform .2s ease;z-index:1}.cs-flag--active-turn .cs-flag-body{background:linear-gradient(180deg,#b8860b,#8b6914)!important;border-left-color:#c9a84c80!important;border-right-color:#c9a84c80!important;box-shadow:0 0 8px #c9a84c99}.cs-flag--active-turn .cs-flag-tail{border-left-color:#8b6914!important;border-right-color:#8b6914!important}.cs-flag--active-turn .cs-flag-order{color:#fff!important;font-weight:800}.cs-flag--active-turn .cs-flag-name{color:#ffe580!important}.cs-combat-flags-controls{position:absolute;top:100%;right:.5rem;display:flex;align-items:center;gap:.3rem;margin-top:.25rem}.cs-combat-flags-leave{background:#b43c3cbf;border:1px solid rgba(220,100,100,.35);border-radius:12px;color:#fff;font-size:.75rem;padding:.35rem .7rem;height:1.6rem;display:flex;align-items:center;cursor:pointer;box-shadow:0 2px 6px #00000059;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast);white-space:nowrap}.cs-combat-flags-leave:hover:not(:disabled){background:#c85050e6;border-color:#f0787880}.cs-combat-flags-leave:disabled{opacity:.6;cursor:not-allowed}.cs-combat-flags-hide{background:#1e1e28d9;border:1px solid rgba(255,255,255,.15);border-radius:50%;color:#ccc;font-size:.7rem;width:1.6rem;height:1.6rem;min-width:1.6rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px #00000059;transition:background var(--duration-fast),color var(--duration-fast)}.cs-combat-flags-hide:hover{background:#ffffff26;color:#fff}:root[data-theme=light] .cs-combat-flags-rope{background:linear-gradient(90deg,transparent,#8b7355 8%,#a0896a 50%,#8b7355 92%,transparent)}:root[data-theme=light] .cs-flag-body{background:linear-gradient(180deg,#e8e8ec,#d4d4d8);border-left-color:#00000014;border-right-color:#00000014;box-shadow:0 2px 6px #0000001f}:root[data-theme=light] .cs-flag--self .cs-flag-body{background:linear-gradient(180deg,#c7d2fe,#a5b4fc);border-left-color:#4338ca26;border-right-color:#4338ca26}:root[data-theme=light] .cs-flag--npc .cs-flag-body{background:linear-gradient(180deg,#fecaca,#fca5a5);border-left-color:#dc26261f;border-right-color:#dc26261f}:root[data-theme=light] .cs-flag-tail{border-left-color:#d4d4d8;border-right-color:#d4d4d8}:root[data-theme=light] .cs-flag--self .cs-flag-tail{border-left-color:#a5b4fc;border-right-color:#a5b4fc}:root[data-theme=light] .cs-flag--npc .cs-flag-tail{border-left-color:#fca5a5;border-right-color:#fca5a5}:root[data-theme=light] .cs-flag-order{background:#00000014;color:#374151}:root[data-theme=light] .cs-flag--self .cs-flag-order{background:#4338ca33;color:#3730a3}:root[data-theme=light] .cs-flag--npc .cs-flag-order{background:#dc262626;color:#991b1b}:root[data-theme=light] .cs-flag-name{color:#374151}:root[data-theme=light] .cs-flag--self .cs-flag-name{color:#312e81}:root[data-theme=light] .cs-flag--npc .cs-flag-name{color:#991b1b}:root[data-theme=light] .cs-flag-you{color:#4338ca}:root[data-theme=light] .cs-combat-flags-hide{background:#0000000d;border-color:#0000001a;color:#999}:root[data-theme=light] .cs-combat-flags-hide:hover{background:#0000001a;color:#333}:root[data-theme=light] .cs-combat-flags-leave{background:#c86464a6;border-color:#b4505059;color:#fff}:root[data-theme=light] .cs-combat-flags-leave:hover:not(:disabled){background:#b45050cc;border-color:#a03c3c80}:root[data-theme^=modern-] .character-sheet{background:radial-gradient(135% 90% at 50% 0%,var(--dnd-surface-2) 0%,var(--dnd-dark) 45%,var(--dnd-darker) 100%);background-attachment:fixed}:root[data-theme^=modern-] .character-sheet:before{display:none}:root[data-theme^=modern-] .character-sheet .sheet-header{background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md)}:root[data-theme^=modern-] .character-sheet .sheet-header:before,:root[data-theme^=modern-] .character-sheet .sheet-header:after{display:none}:root[data-theme^=modern-] .character-sheet .character-title h1{letter-spacing:-.02em;text-shadow:none}:root[data-theme^=modern-] .character-sheet .sheet-tabs{background:var(--p-segment-track);border:none;border-radius:var(--radius-lg);padding:4px;gap:4px;margin-bottom:.6rem;box-shadow:var(--shadow-inset);-webkit-backdrop-filter:var(--p-blur);backdrop-filter:var(--p-blur)}:root[data-theme^=modern-] .character-sheet .sheet-tab{border-radius:var(--radius-md);min-height:54px;padding:.5rem .7rem .45rem;color:var(--dnd-text-secondary);text-transform:none;letter-spacing:-.01em;font-size:.66rem;font-weight:600;transition:background .2s var(--ease-out),color .2s var(--ease-out),box-shadow .2s var(--ease-out)}:root[data-theme^=modern-] .character-sheet .sheet-tab:hover{background:var(--surface-hover);color:var(--dnd-text)}:root[data-theme^=modern-] .character-sheet .sheet-tab:hover .sheet-tab__icon{transform:none}:root[data-theme^=modern-] .character-sheet .sheet-tab.active{background:var(--p-segment-thumb);color:var(--dnd-gold);border-radius:var(--radius-md)!important;box-shadow:var(--shadow-sm),inset 0 .5px #ffffff1a}:root[data-theme^=modern-] .character-sheet .sheet-tab.active:after{display:none}:root[data-theme^=modern-] .character-sheet .tab-content{border-radius:var(--radius-2xl)!important;border:1px solid var(--dnd-border)!important;margin-top:0;padding-top:1.25rem;box-shadow:var(--shadow-md)}:root[data-theme^=modern-] .character-sheet .section{border:1px solid var(--dnd-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .character-sheet .section:before{display:none}:root[data-theme^=modern-] .character-sheet .sheet-bottom-block>.section.tab-content{border-radius:var(--radius-2xl)!important}:root[data-theme^=modern-] .character-sheet .compact-stat-item,:root[data-theme^=modern-] .character-sheet .ac-box{background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:16px;box-shadow:var(--shadow-xs)}:root[data-theme^=modern-] .character-sheet .vitals-compact-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0;margin-bottom:0;border-bottom:none}:root[data-theme^=modern-] .character-sheet .compact-stat-item{justify-content:center;align-items:center;gap:3px;padding:8px 4px}:root[data-theme^=modern-] .character-sheet .compact-stat-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.06;pointer-events:none;color:#fff}:root[data-theme=modern-light] .character-sheet .compact-stat-icon{color:#000;opacity:.05}:root[data-theme^=modern-] .character-sheet .compact-stat-icon svg{width:58px;height:58px;color:inherit;stroke-width:1.6}:root[data-theme^=modern-] .character-sheet .compact-stat-label{display:flex;align-items:center;justify-content:center;min-height:2.4em;text-align:center;font-size:.6rem;font-weight:600;line-height:1.2;color:var(--dnd-text-secondary);overflow-wrap:anywhere;position:relative;z-index:1}:root[data-theme^=modern-] .character-sheet .compact-stat-value{font-size:1.3rem;font-variant-numeric:tabular-nums;z-index:1}:root[data-theme^=modern-] .character-sheet .stat-tooltip{display:none}@media(max-width:480px){:root[data-theme^=modern-] .character-sheet .sheet-tabs{margin-bottom:0;border-radius:0;padding:.4rem .5rem calc(.15rem + env(safe-area-inset-bottom,0px))}:root[data-theme^=modern-] .character-sheet .sheet-tab{min-height:48px;padding:.35rem .6rem;justify-content:center}}@media(max-width:360px){:root[data-theme^=modern-] .character-sheet .compact-stat-value{font-size:1.1rem}}:root[data-theme^=modern-] .character-sheet .action-menu{background:var(--dnd-surface-3);border-color:var(--dnd-border);box-shadow:var(--shadow-lg)}:root[data-theme^=modern-] .character-sheet .section.vitals-combat{padding:22px}:root[data-theme^=modern-] .character-sheet .vitals-combat .section-body{display:flex;flex-direction:column;gap:20px}:root[data-theme^=modern-] .character-sheet .hp-tracker{margin-bottom:0;padding-bottom:0;border-bottom:none;display:flex;flex-direction:column;gap:14px}:root[data-theme^=modern-] .character-sheet .hp-display{margin-bottom:0}:root[data-theme^=modern-] .character-sheet .vitals-conditions-row,:root[data-theme^=modern-] .character-sheet .vitals-saves-row{padding:0}:root[data-theme^=modern-] .character-sheet .hp-header-row{display:flex;align-items:center;justify-content:space-between;min-height:26px}:root[data-theme^=modern-] .character-sheet .hp-header-label{font-size:.85rem;font-weight:600;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .character-sheet .hp-max-pill{display:inline-flex;align-items:center;gap:5px;border:none;background:var(--dnd-gold-10);border-radius:var(--radius-full);padding:4px 11px;font-size:.82rem;font-weight:600;font-family:inherit;color:var(--dnd-gold);cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .hp-max-pill:hover:not(:disabled){background:var(--dnd-gold-18)}:root[data-theme^=modern-] .character-sheet .hp-max-pill:disabled{cursor:default}:root[data-theme^=modern-] .character-sheet .hp-max-pill-edit .ac-input{width:4rem}:root[data-theme^=modern-] .character-sheet .hp-bar-container{height:40px;background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-radius:var(--radius-full);box-shadow:var(--shadow-inset);margin-bottom:0}:root[data-theme^=modern-] .character-sheet .hp-bar-background{display:none}:root[data-theme^=modern-] .character-sheet .hp-bar{background:linear-gradient(90deg,#1f9e42,#30d158,#4fdd74);box-shadow:inset 0 1px #ffffff40}:root[data-theme^=modern-] .character-sheet .hp-bar.temp{background:linear-gradient(90deg,#0a84ff,#409cff);box-shadow:inset 0 1px #ffffff4d;border-left:1px solid rgba(0,0,0,.35)}:root[data-theme^=modern-] .character-sheet .hp-bar-container.hp-bloodied .hp-bar:not(.temp){background:linear-gradient(90deg,#cc7a00,#ff9f0a,#ffb340)}:root[data-theme^=modern-] .character-sheet .hp-bar-container.hp-critical .hp-bar:not(.temp){background:linear-gradient(90deg,#c0392b,#ff453a)}:root[data-theme^=modern-] .character-sheet .hp-overlay{font-size:1.15rem;font-weight:700}:root[data-theme^=modern-] .character-sheet .hp-temp-indicator{font-size:.85rem;font-weight:600;opacity:.85;margin-left:5px}:root[data-theme^=modern-] .character-sheet .hp-controls{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}:root[data-theme^=modern-] .character-sheet .hp-btn{border:none;border-radius:14px;padding:12px 4px;font-size:.8rem;font-weight:600;text-transform:none;letter-spacing:normal;margin-left:0;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),filter var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .hp-btn.damage{background:color-mix(in srgb,var(--dnd-danger) 14%,transparent);color:var(--v-hp-damage)}:root[data-theme^=modern-] .character-sheet .hp-btn.damage:hover{background:color-mix(in srgb,var(--dnd-danger) 22%,transparent);box-shadow:none}:root[data-theme^=modern-] .character-sheet .hp-btn.heal{background:color-mix(in srgb,var(--dnd-success) 14%,transparent);color:var(--v-hp-heal)}:root[data-theme^=modern-] .character-sheet .hp-btn.heal:hover{background:color-mix(in srgb,var(--dnd-success) 22%,transparent);box-shadow:none}:root[data-theme^=modern-] .character-sheet .hp-btn.temp-hp{background:color-mix(in srgb,var(--dnd-info) 14%,transparent);color:var(--v-hp-temp)}:root[data-theme^=modern-] .character-sheet .hp-btn.temp-hp:hover{background:color-mix(in srgb,var(--dnd-info) 22%,transparent);box-shadow:none}:root[data-theme^=modern-] .character-sheet .hp-btn.reset{background:color-mix(in srgb,var(--dnd-gold) 14%,transparent);color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .hp-btn.reset:hover{background:color-mix(in srgb,var(--dnd-gold) 22%,transparent)}:root[data-theme^=modern-] .character-sheet .hp-btn.death-success{background:color-mix(in srgb,var(--dnd-success) 14%,transparent);color:var(--v-hp-heal)}:root[data-theme^=modern-] .character-sheet .hp-btn.death-success:hover:not(:disabled){background:color-mix(in srgb,var(--dnd-success) 22%,transparent)}:root[data-theme^=modern-] .character-sheet .hp-btn.death-failure{background:color-mix(in srgb,var(--dnd-danger) 14%,transparent);color:var(--v-hp-damage)}:root[data-theme^=modern-] .character-sheet .hp-btn.death-failure:hover:not(:disabled){background:color-mix(in srgb,var(--dnd-danger) 22%,transparent)}:root[data-theme^=modern-] .character-sheet .hp-btn.death-stabilize{background:color-mix(in srgb,var(--dnd-gold) 14%,transparent);color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .hp-btn.death-stabilize:hover:not(:disabled){background:color-mix(in srgb,var(--dnd-gold) 22%,transparent)}:root[data-theme^=modern-] .character-sheet .death-pip{width:18px;height:18px}:root[data-theme^=modern-] .character-sheet .death-pip.success{border-color:var(--dnd-success)}:root[data-theme^=modern-] .character-sheet .death-pip.failure{border-color:var(--dnd-danger)}:root[data-theme^=modern-] .character-sheet .condition-badge{background:color-mix(in srgb,var(--dnd-danger) 14%,transparent);border-color:transparent;color:var(--v-hp-damage);font-size:.75rem}:root[data-theme^=modern-] .character-sheet .condition-badge-x:hover{background:color-mix(in srgb,var(--dnd-danger) 22%,transparent)}:root[data-theme^=modern-] .character-sheet .condition-badge--concentration{background:color-mix(in srgb,var(--dnd-info) 14%,transparent);color:var(--v-hp-temp)}:root[data-theme^=modern-] .character-sheet .condition-badge--concentration .condition-conc-icon{color:var(--v-hp-temp)}:root[data-theme^=modern-] .character-sheet .condition-badge--concentration .condition-badge-x:hover{background:color-mix(in srgb,var(--dnd-info) 22%,transparent)}:root[data-theme^=modern-] .character-sheet .vitals-saves-row{gap:8px}:root[data-theme^=modern-] .character-sheet .vitals-saves-items{gap:6px}:root[data-theme^=modern-] .character-sheet .vitals-save-item{background:transparent;border-color:transparent;border-radius:12px;padding:10px 2px;gap:4px}:root[data-theme^=modern-] .character-sheet .vitals-save-item:hover,:root[data-theme^=modern-] .character-sheet .vitals-save-item:active{background:var(--surface-hover);border-color:var(--dnd-border)}:root[data-theme^=modern-] .character-sheet .vitals-save-item.proficient{background:var(--dnd-gold-10)}:root[data-theme^=modern-] .character-sheet .vitals-save-item.proficient:hover{background:var(--dnd-gold-18);border-color:transparent}:root[data-theme^=modern-] .character-sheet .vitals-save-ability{font-size:.62rem}:root[data-theme^=modern-] .character-sheet .vitals-save-value{font-size:1.05rem;color:var(--dnd-text);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .character-sheet .ability-box{background:var(--dnd-surface-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}:root[data-theme^=modern-] .party-info-footer button{background:var(--dnd-surface-2);border-radius:var(--radius-md)}:root[data-theme^=modern-] .feature-chip-source,:root[data-theme^=modern-] .feature-chip-source.feat-source,:root[data-theme^=modern-] .feature-chip-source--custom{color:var(--dnd-text-secondary);background:var(--surface-hover);border-color:var(--dnd-border)}:root[data-theme^=modern-] .character-sheet .resource-card{background:var(--dnd-surface-2);border-color:var(--dnd-border)}:root[data-theme^=modern-] .character-sheet .resource-name{color:var(--dnd-text)}@keyframes ftFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:root[data-theme^=modern-] .ft-modern{display:flex;flex-direction:column;gap:16px;animation:ftFadeUp .4s ease-out}:root[data-theme^=modern-] .ft-tab-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px}:root[data-theme^=modern-] .ft-tab-head-left{display:flex;align-items:center;gap:9px;min-width:0}:root[data-theme^=modern-] .ft-tab-spark{color:var(--dnd-gold);flex-shrink:0}:root[data-theme^=modern-] .ft-tab-title{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;color:var(--dnd-text)}:root[data-theme^=modern-] .ft-tab-classline{font-size:.74rem;font-weight:500;color:var(--dnd-muted);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}:root[data-theme^=modern-] .ft-res-panel{display:flex;flex-direction:column;gap:12px;padding:14px 15px 15px;background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:20px;box-shadow:var(--shadow-md)}:root[data-theme^=modern-] .ft-res-head{display:flex;align-items:center;justify-content:space-between;gap:8px}:root[data-theme^=modern-] .ft-res-head-left{display:flex;align-items:baseline;gap:8px}:root[data-theme^=modern-] .ft-res-title{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--dnd-muted)}:root[data-theme^=modern-] .ft-res-count{font-size:.68rem;font-weight:500;color:var(--dnd-muted);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .ft-res-add{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--dnd-border);border-radius:9px;background:transparent;color:var(--dnd-text-secondary);font-family:inherit;font-size:.72rem;font-weight:600;padding:5px 10px;cursor:pointer;white-space:nowrap;touch-action:manipulation;transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease,background var(--duration-fast) ease}:root[data-theme^=modern-] .ft-res-add:hover{border-color:var(--dnd-gold-30);color:var(--dnd-gold);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .ft-res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;align-items:stretch}:root[data-theme^=modern-] .ft-tile{position:relative;display:flex;flex-direction:column;gap:8px;min-height:76px;padding:9px 10px;box-sizing:border-box;overflow:hidden;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:14px;box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast) ease}:root[data-theme^=modern-] .ft-tile.is-open{border-color:var(--dnd-gold-30)}:root[data-theme^=modern-] .ft-tile-badge{position:absolute;top:6px;left:6px;color:var(--dnd-muted);opacity:.55;display:flex;z-index:1}:root[data-theme^=modern-] .ft-tile-name-row{display:flex;align-items:flex-start;gap:6px;width:100%;padding:0;margin:0;border:none;background:none;text-align:left;cursor:pointer;font-family:inherit;touch-action:manipulation}:root[data-theme^=modern-] .ft-tile-name{flex:1;min-width:0;font-size:.7rem;font-weight:600;line-height:1.25;color:var(--dnd-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}:root[data-theme^=modern-] .ft-tile-die{flex-shrink:0;font-size:.6rem;font-weight:800;color:var(--dnd-gold);background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-30);border-radius:6px;padding:1px 5px;font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .ft-tile-value{margin-top:auto;display:flex;flex-direction:column;gap:3px}:root[data-theme^=modern-] .ft-tile-pips-row{display:flex;align-items:center;gap:6px}:root[data-theme^=modern-] .ft-pips{display:flex;flex-wrap:wrap;gap:4px;flex:1}:root[data-theme^=modern-] .ft-pip{width:12px;height:12px;padding:0;border-radius:50%;border:1px solid var(--dnd-gold-30);background:transparent;cursor:pointer;flex-shrink:0;touch-action:manipulation;transition:background var(--duration-fast) ease}:root[data-theme^=modern-] .ft-pip.on{background:var(--dnd-gold)}:root[data-theme^=modern-] .ft-tile-count{font-size:.62rem;font-weight:700;color:var(--dnd-muted);font-variant-numeric:tabular-nums;flex-shrink:0}:root[data-theme^=modern-] .ft-tile-stepper{display:flex;align-items:center;justify-content:space-between;gap:4px}:root[data-theme^=modern-] .ft-step{width:22px;height:22px;flex-shrink:0;border-radius:7px;border:1px solid var(--dnd-border);background:var(--dnd-surface-1);color:var(--dnd-text-secondary);font-family:inherit;font-size:.9rem;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease}:root[data-theme^=modern-] .ft-step:hover:not(:disabled){border-color:var(--dnd-gold-30);color:var(--dnd-gold)}:root[data-theme^=modern-] .ft-step:disabled{opacity:.35;cursor:not-allowed}:root[data-theme^=modern-] .ft-step-val{font-size:.78rem;font-weight:800;color:var(--dnd-text);font-variant-numeric:tabular-nums;letter-spacing:-.01em}:root[data-theme^=modern-] .ft-step-max{color:var(--dnd-muted);font-weight:600}:root[data-theme^=modern-] .ft-tile-text{font-size:.82rem;font-weight:700;color:var(--dnd-gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root[data-theme^=modern-] .ft-tile-static{font-size:1.05rem;font-weight:800;color:var(--dnd-gold);font-variant-numeric:tabular-nums;line-height:1}:root[data-theme^=modern-] .ft-tile-rest{font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-muted)}:root[data-theme^=modern-] .ft-res-detail{display:flex;flex-direction:column;gap:10px;padding:12px 13px;background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-30);border-radius:14px;animation:ftFadeUp .22s ease-out}:root[data-theme^=modern-] .ft-res-detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px}:root[data-theme^=modern-] .ft-res-detail-name{font-size:.82rem;font-weight:700;color:var(--dnd-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme^=modern-] .ft-res-detail-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}:root[data-theme^=modern-] .ft-res-detail-rest{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-gold);background:var(--dnd-gold-10);border-radius:6px;padding:2px 7px}:root[data-theme^=modern-] .ft-icon-btn{width:26px;height:26px;flex-shrink:0;border-radius:7px;border:1px solid var(--dnd-border);background:transparent;color:var(--dnd-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease,background var(--duration-fast) ease}:root[data-theme^=modern-] .ft-icon-btn:hover{color:var(--dnd-text);border-color:var(--dnd-gold-30)}:root[data-theme^=modern-] .ft-icon-btn--danger{color:var(--dnd-danger)}:root[data-theme^=modern-] .ft-icon-btn--danger:hover{color:var(--dnd-danger);background:var(--dnd-red-12);border-color:var(--dnd-red-20)}:root[data-theme^=modern-] .ft-res-detail-bulk{display:flex;align-items:center;gap:7px}:root[data-theme^=modern-] .ft-bulk-btn{width:30px;height:30px;flex-shrink:0;border-radius:9px;border:1px solid var(--dnd-border);background:var(--dnd-surface-2);color:var(--dnd-text-secondary);font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation;transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease}:root[data-theme^=modern-] .ft-bulk-btn--wide{width:auto;min-width:38px;padding:0 6px;font-size:.76rem}:root[data-theme^=modern-] .ft-bulk-btn--cost{width:auto;min-width:34px;padding:0 8px;font-size:.74rem;color:var(--dnd-gold);border-color:var(--dnd-gold-30)}:root[data-theme^=modern-] .ft-bulk-btn:hover:not(:disabled){border-color:var(--dnd-gold-30);color:var(--dnd-gold)}:root[data-theme^=modern-] .ft-bulk-btn--cost:hover:not(:disabled){background:var(--dnd-gold-10)}:root[data-theme^=modern-] .ft-bulk-btn:disabled{opacity:.35;cursor:not-allowed}:root[data-theme^=modern-] .ft-bulk-val{flex:1;text-align:center;font-size:1.05rem;font-weight:800;color:var(--dnd-text);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .ft-bulk-max{color:var(--dnd-muted);font-weight:600;font-size:.85rem}:root[data-theme^=modern-] .ft-res-detail-desc{font-size:.8rem;line-height:1.5;color:var(--dnd-text-secondary);text-wrap:pretty}:root[data-theme^=modern-] .ft-res-detail-desc p{margin:0 0 .4rem}:root[data-theme^=modern-] .ft-res-detail-desc p:last-child{margin-bottom:0}:root[data-theme^=modern-] .ft-res-detail-cost{margin:0;font-size:.72rem;font-weight:600;color:var(--dnd-gold)}:root[data-theme^=modern-] .ft-controls{display:flex;flex-direction:column;gap:10px}:root[data-theme^=modern-] .ft-search{position:relative;display:flex;align-items:center}:root[data-theme^=modern-] .ft-search-icon{position:absolute;left:12px;color:var(--dnd-muted);pointer-events:none}:root[data-theme^=modern-] .ft-search-input{width:100%;box-sizing:border-box;padding:9px 12px 9px 34px;border-radius:12px;border:1px solid var(--dnd-border);background:var(--surface-input);color:var(--dnd-text);font-family:inherit;font-size:.85rem;outline:none;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}:root[data-theme^=modern-] .ft-search-input:focus{border-color:var(--dnd-gold-30);box-shadow:0 0 0 2px var(--dnd-gold-10)}:root[data-theme^=modern-] .ft-search-input::placeholder{color:var(--dnd-muted)}:root[data-theme^=modern-] .ft-segmented{display:flex;gap:4px;padding:3px;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:12px}:root[data-theme^=modern-] .ft-seg{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 4px;border:none;border-radius:9px;background:transparent;color:var(--dnd-text-secondary);font-family:inherit;font-size:.76rem;font-weight:600;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) ease,color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}:root[data-theme^=modern-] .ft-seg.active{background:var(--dnd-surface-0);color:var(--dnd-text);box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .ft-seg-count{font-size:.64rem;font-weight:700;color:var(--dnd-muted);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .ft-empty{margin:0;text-align:center;font-size:.85rem;color:var(--dnd-muted);padding:26px 0}:root[data-theme^=modern-] .ft-add-feature{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;border:1px dashed var(--dnd-border);border-radius:11px;background:transparent;color:var(--dnd-muted);font-family:inherit;font-size:.8rem;font-weight:600;padding:9px 14px;cursor:pointer;touch-action:manipulation;transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease,background var(--duration-fast) ease}:root[data-theme^=modern-] .ft-add-feature:hover{border-color:var(--dnd-gold-30);color:var(--dnd-gold);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .ft-groups{display:flex;flex-direction:column;gap:14px}:root[data-theme^=modern-] .ft-groups .feature-level-group{position:relative;display:flex;gap:11px;align-items:flex-start;padding-left:0;animation:ftFadeUp .3s ease-out both}:root[data-theme^=modern-] .ft-groups .feature-level-label{position:sticky;top:8px;left:auto;width:30px;height:30px;flex-shrink:0;background:linear-gradient(135deg,var(--dnd-gold-18),var(--dnd-gold-10));color:var(--dnd-gold);border:1px solid var(--dnd-gold-30);border-radius:9px;font-family:var(--font-primary);font-size:.72rem;font-weight:800;letter-spacing:0;box-shadow:none}:root[data-theme^=modern-] .ft-groups .feature-level-items{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:7px;align-items:flex-start;margin-bottom:0}:root[data-theme^=modern-] .ft-groups .feature-chip{padding:5px 11px;border-radius:10px;font-size:.79rem;font-weight:500;gap:7px;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);color:var(--dnd-text-secondary);box-shadow:none}:root[data-theme^=modern-] .ft-groups button.feature-chip{background:var(--dnd-surface-2);border-color:var(--dnd-border)}:root[data-theme^=modern-] .ft-groups button.feature-chip:hover{border-color:var(--dnd-gold-30);background:var(--dnd-gold-10);transform:none;box-shadow:none}:root[data-theme^=modern-] .ft-groups button.feature-chip:after{content:"▸";font-size:.55rem;color:var(--dnd-muted);opacity:.7}:root[data-theme^=modern-] .ft-groups button.feature-chip.active:after{display:none}:root[data-theme^=modern-] .ft-groups button.feature-chip--resource:not(.active){background:var(--dnd-gold-15);border-color:var(--dnd-gold-40);box-shadow:inset 0 0 0 1px var(--dnd-gold-10);color:var(--dnd-gold)}:root[data-theme^=modern-] .ft-groups button.feature-chip--resource:not(.active) .feature-chip-name{font-weight:600}:root[data-theme^=modern-] .ft-groups button.feature-chip--resource:not(.active):hover{background:var(--dnd-gold-20);border-color:var(--dnd-gold-50)}:root[data-theme^=modern-] .ft-groups button.feature-chip--resource:before{width:7px;height:7px;background:var(--dnd-gold);box-shadow:0 0 5px var(--dnd-gold-40)}:root[data-theme^=modern-] .ft-groups button.feature-chip--resource.active:before{display:none}:root[data-theme^=modern-] .ft-groups button.feature-chip--resource:after{color:var(--dnd-gold);opacity:.85}:root[data-theme^=modern-] .ft-groups .feature-chip-source{font-size:.62rem;font-weight:600;color:var(--dnd-info);background:color-mix(in srgb,var(--dnd-info) 15%,transparent);border:none;border-radius:5px;padding:1px 6px}:root[data-theme^=modern-] .ft-groups .feature-chip-source.feat-source{color:var(--dnd-accent-purple);background:color-mix(in srgb,var(--dnd-accent-purple) 15%,transparent)}:root[data-theme^=modern-] .ft-groups .feature-chip-source--custom{color:var(--dnd-gold);background:var(--dnd-gold-15)}:root[data-theme^=modern-] .ft-groups .feature-accordion-item:has(.feature-chip.active){width:100%;background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-30);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden}:root[data-theme^=modern-] .ft-groups .feature-accordion-item:has(.feature-chip.active)>button.feature-chip.active{width:100%;flex-flow:row wrap;align-items:center;justify-content:flex-start;column-gap:8px;row-gap:3px;min-height:0;padding:10px 12px;padding-right:6rem;border:none;border-bottom:1px solid var(--dnd-gold-30);border-radius:0;background:var(--dnd-gold-10);color:var(--dnd-text);box-shadow:none}:root[data-theme^=modern-] .ft-groups .feature-accordion-item:has(.feature-chip.active)>button.feature-chip.active .feature-chip-name-row{flex:0 1 auto;min-width:0}:root[data-theme^=modern-] .ft-groups .feature-accordion-item:has(.feature-chip.active) .feature-chip-name{min-width:0;font-size:.9rem;font-weight:700;color:var(--dnd-text);overflow-wrap:anywhere}:root[data-theme^=modern-] .ft-groups .feature-accordion-item:has(.feature-chip.active)>button.feature-chip.active .feature-chip-source{flex-shrink:1;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}:root[data-theme^=modern-] .ft-groups .feature-card-actions{top:8px;right:10px;gap:6px}:root[data-theme^=modern-] .ft-groups .feature-card-action-btn{width:26px;height:26px;border-radius:7px;border:1px solid var(--dnd-border);background:transparent;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .ft-groups .feature-card-action-btn:hover{color:var(--dnd-text);border-color:var(--dnd-gold-30);background:transparent}:root[data-theme^=modern-] .ft-groups .feature-card-action-btn--pin.is-pinned{color:var(--dnd-gold);border-color:var(--dnd-gold-30)}:root[data-theme^=modern-] .ft-groups .feature-card-action-btn--delete{color:var(--dnd-danger);border-color:var(--dnd-border)}:root[data-theme^=modern-] .ft-groups .feature-card-action-btn--delete:hover{color:var(--dnd-danger);background:var(--dnd-red-12);border-color:var(--dnd-red-20)}:root[data-theme^=modern-] .ft-groups .feature-accordion-item .feature-tooltip{margin:0;padding:12px;border:none;border-left:none;border-radius:0;background:var(--dnd-surface-1);animation:none}:root[data-theme^=modern-] .ft-groups .feature-tooltip-text{font-size:.82rem;line-height:1.55;color:var(--dnd-text-secondary);opacity:1;text-wrap:pretty}:root[data-theme^=modern-] .ft-groups .feature-resource-counter{display:flex;flex-direction:column;gap:8px;padding:12px 12px 0;margin:0}:root[data-theme^=modern-] .ft-charges{display:flex;align-items:center;gap:9px;padding:9px 11px;background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-radius:11px}:root[data-theme^=modern-] .ft-charges-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-muted);flex-shrink:0}:root[data-theme^=modern-] .ft-charges-die{font-size:.6rem;font-weight:800;color:var(--dnd-gold);background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-30);border-radius:6px;padding:1px 5px;flex-shrink:0}:root[data-theme^=modern-] .ft-charges-pips{flex:1;display:flex;flex-wrap:wrap;gap:5px;justify-content:center}:root[data-theme^=modern-] .ft-charges-pips .ft-pip{width:13px;height:13px}:root[data-theme^=modern-] .ft-charges-stepper{flex:1;display:flex;align-items:center;justify-content:center;gap:8px}:root[data-theme^=modern-] .ft-charges-count{font-size:.72rem;font-weight:700;color:var(--dnd-text);font-variant-numeric:tabular-nums;flex-shrink:0}:root[data-theme^=modern-] .ft-charges-value{margin-left:auto;text-align:right;font-size:.85rem;font-weight:700;color:var(--dnd-gold);overflow-wrap:anywhere;min-width:0}:root[data-theme^=modern-] .ft-charges-cost{flex-shrink:0;padding:0 7px;height:22px;border-radius:7px;border:1px solid var(--dnd-gold-30);background:transparent;color:var(--dnd-gold);font-family:inherit;font-size:.68rem;font-weight:700;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) ease}:root[data-theme^=modern-] .ft-charges-cost:hover:not(:disabled){background:var(--dnd-gold-10)}:root[data-theme^=modern-] .ft-charges-cost:disabled{opacity:.35;cursor:not-allowed}:root[data-theme^=modern-] .btn,:root[data-theme^=modern-] .character-sheet button.btn-sm{border-radius:var(--radius-md)}:root[data-theme^=modern-] .btn:hover{box-shadow:var(--glow-gold-sm)}:root[data-theme^=modern-] .btn-primary,:root[data-theme^=modern-] .btn-confirm{background-image:linear-gradient(180deg,#ffffff38,#fff0 55%);box-shadow:inset 0 1px #ffffff4d,var(--shadow-sm)}:root[data-theme^=modern-] .btn-primary:active,:root[data-theme^=modern-] .btn-confirm:active{transform:scale(.97)}:root[data-theme^=modern-] .dice-roll-overlay,:root[data-theme^=modern-] .history-modal-overlay,:root[data-theme^=modern-] .spell-browser-overlay{-webkit-backdrop-filter:saturate(140%) blur(6px);backdrop-filter:saturate(140%) blur(6px)}:root[data-theme^=modern-] .dice-roll-modal,:root[data-theme^=modern-] .history-modal-content,:root[data-theme^=modern-] .spell-browser-modal,:root[data-theme^=modern-] .armor-modal,:root[data-theme^=modern-] .cguide-modal,:root[data-theme^=modern-] .create-spell-modal,:root[data-theme^=modern-] .player-detail-modal{border-radius:var(--radius-2xl);border:1px solid var(--dnd-border);box-shadow:var(--shadow-xl)}:root[data-theme^=modern-] .burger-dropdown{border-radius:var(--radius-xl);border:1px solid var(--dnd-border);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:var(--p-blur);backdrop-filter:var(--p-blur)}:root[data-theme^=modern-] .burger-item{border-radius:var(--radius-sm)}:root[data-theme^=modern-] .burger-theme-select{border-radius:var(--radius-md)}:root[data-theme^=modern-] .character-sheet .sheet-footer{opacity:.7}:root[data-theme=modern-light] .currency-step-btn{background:var(--dnd-surface-3);border-color:var(--dnd-border);color:var(--dnd-text)}:root[data-theme=modern-light] .currency-step-btn:hover{background:var(--surface-active);border-color:var(--dnd-gold-30)}:root[data-theme=modern-light] .currency-step-btn.minus{color:#b3261e}:root[data-theme=modern-light] .currency-step-btn.plus{color:#2c7230}:root[data-theme^=modern-] .sk-modern{display:flex;flex-direction:column;gap:14px;animation:ftFadeUp .4s ease-out}:root[data-theme^=modern-] .sk-tab-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px}:root[data-theme^=modern-] .sk-tab-head-left{display:flex;align-items:center;gap:9px;min-width:0}:root[data-theme^=modern-] .sk-tab-icon{color:var(--dnd-gold);flex-shrink:0}:root[data-theme^=modern-] .sk-tab-title{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;color:var(--dnd-text)}:root[data-theme^=modern-] .sk-tab-name{font-size:.74rem;font-weight:500;color:var(--dnd-muted);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}:root[data-theme^=modern-] .sk-passives{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}:root[data-theme^=modern-] .sk-passive{display:flex;flex-direction:column;gap:3px;padding:10px 12px;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:14px;box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .sk-passive--gold{background:var(--dnd-gold-10);border-color:var(--dnd-gold-18)}:root[data-theme^=modern-] .sk-passive-label{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dnd-muted)}:root[data-theme^=modern-] .sk-passive--gold .sk-passive-label{color:var(--dnd-gold);opacity:.85}:root[data-theme^=modern-] .sk-passive-value{font-size:1.15rem;font-weight:800;line-height:1;color:var(--dnd-text);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .sk-passive--gold .sk-passive-value{color:var(--dnd-gold)}:root[data-theme^=modern-] .sk-passive-valrow{display:flex;align-items:baseline;gap:6px}:root[data-theme^=modern-] .sk-passive-badge{font-size:.6rem;font-weight:800;color:var(--dnd-gold);background:var(--dnd-gold-10);border-radius:5px;padding:1px 5px;font-variant-numeric:tabular-nums}:root[data-theme^=modern-] button.sk-passive--editable{position:relative;width:100%;text-align:left;font-family:inherit;cursor:pointer;touch-action:manipulation;transition:border-color var(--duration-fast) ease,background var(--duration-fast) ease}:root[data-theme^=modern-] button.sk-passive--editable:hover{border-color:var(--dnd-gold-30);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .sk-passive-edit{position:absolute;top:8px;right:10px;color:var(--dnd-muted);opacity:.7}:root[data-theme^=modern-] button.sk-passive--editable:hover .sk-passive-edit{color:var(--dnd-gold);opacity:1}:root[data-theme^=modern-] .sk-controls{display:flex;align-items:center;gap:10px;padding:0 4px}:root[data-theme^=modern-] .sk-edit-btn{margin-left:auto;border:1px solid var(--border-subtle);border-radius:10px;background:transparent;color:var(--dnd-text-secondary);font-family:inherit;font-size:.78rem;font-weight:600;padding:7px 15px;cursor:pointer;white-space:nowrap;touch-action:manipulation;transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease,background var(--duration-fast) ease}:root[data-theme^=modern-] .sk-edit-btn:hover{border-color:var(--dnd-gold-30);color:var(--dnd-gold);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .sk-edit-btn.active{border-color:var(--dnd-gold-30);background:var(--dnd-gold-10);color:var(--dnd-gold);font-weight:700}:root[data-theme^=modern-] .sk-modern .joat-toggle{border:none;background:none;border-radius:0;padding:4px 2px;gap:9px;letter-spacing:normal;touch-action:manipulation}:root[data-theme^=modern-] .sk-modern .joat-toggle:hover{color:inherit}:root[data-theme^=modern-] .sk-modern .joat-toggle__track{width:36px;height:21px;border:none;border-radius:9999px;background:var(--p-segment-track)}:root[data-theme^=modern-] .sk-modern .joat-toggle__thumb{top:2px;left:2px;width:17px;height:17px;background:var(--p-segment-thumb);box-shadow:0 1px 3px #0000004d}:root[data-theme^=modern-] .sk-modern .joat-toggle.active{color:inherit}:root[data-theme^=modern-] .sk-modern .joat-toggle.active .joat-toggle__track{background:var(--dnd-gold);border-color:transparent}:root[data-theme^=modern-] .sk-modern .joat-toggle.active .joat-toggle__thumb{transform:translate(15px);background:#fff}:root[data-theme^=modern-] .sk-modern .joat-toggle__label{gap:6px;font-size:.78rem;font-weight:600;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .sk-modern .joat-toggle__bonus{font-size:.72rem;font-weight:700;color:var(--dnd-gold);opacity:1}:root[data-theme^=modern-] .sk-legend{display:flex;flex-direction:column;gap:8px;padding:11px 14px;background:var(--dnd-surface-0);border:1px solid var(--border-subtle);border-radius:14px}:root[data-theme^=modern-] .sk-legend-hint{font-size:.75rem;line-height:1.4;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .sk-legend-hint strong{color:var(--dnd-text);font-weight:700}:root[data-theme^=modern-] .sk-legend-items{display:flex;flex-wrap:wrap;gap:14px}:root[data-theme^=modern-] .sk-legend-item{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;color:var(--dnd-muted)}:root[data-theme^=modern-] .sk-legend .sk-dot--expert{box-shadow:0 0 0 2px var(--dnd-surface-0),0 0 0 3.5px var(--dnd-gold)}:root[data-theme^=modern-] .sk-dot{flex-shrink:0;box-sizing:border-box;border-radius:50%}:root[data-theme^=modern-] .sk-dot--none{width:15px;height:15px;background:transparent;border:1.5px solid var(--dnd-border)}:root[data-theme^=modern-] .sk-dot--prof{width:15px;height:15px;background:var(--dnd-gold)}:root[data-theme^=modern-] .sk-dot--expert{width:11px;height:11px;margin:2px;background:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-surface-2),0 0 0 3.5px var(--dnd-gold)}:root[data-theme^=modern-] .sk-card{overflow:hidden;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:20px;box-shadow:var(--shadow-md)}:root[data-theme^=modern-] .sk-section{padding:12px 14px;border-top:1px solid var(--border-subtle)}:root[data-theme^=modern-] .sk-section:first-child{border-top:none}:root[data-theme^=modern-] .sk-section-head{display:flex;align-items:center;gap:9px;margin-bottom:9px;padding:0 2px}:root[data-theme^=modern-] .sk-section-name{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--dnd-muted)}:root[data-theme^=modern-] .sk-section-chip{font-size:.66rem;font-weight:700;color:var(--dnd-text-secondary);background:var(--dnd-surface-3);border:1px solid var(--border-subtle);border-radius:7px;padding:2px 8px;white-space:nowrap;font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .sk-section-rule{flex:1;height:1px;background:var(--border-subtle)}:root[data-theme^=modern-] .sk-section-rows{display:flex;flex-direction:column;gap:2px}:root[data-theme^=modern-] .sk-row{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:none;background:none;border-radius:11px;padding:9px 10px;cursor:pointer;font-family:inherit;touch-action:manipulation;transition:background var(--duration-fast) ease}:root[data-theme^=modern-] .sk-row:hover{background:var(--dnd-surface-3)}:root[data-theme^=modern-] .sk-row:active{background:var(--dnd-surface-3)}:root[data-theme^=modern-] .sk-row-name{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:8px}:root[data-theme^=modern-] .sk-row-label{font-size:.9rem;font-weight:500;color:var(--dnd-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}:root[data-theme^=modern-] .sk-src-tag{flex-shrink:0;font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--dnd-text-secondary);background:var(--dnd-surface-3);border:1px solid var(--border-subtle);border-radius:6px;padding:2px 6px}:root[data-theme^=modern-] .sk-half{flex-shrink:0;font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--dnd-gold);background:var(--dnd-gold-10);border-radius:6px;padding:2px 6px}:root[data-theme^=modern-] .sk-row-right{flex-shrink:0;display:inline-flex;align-items:center;gap:7px}:root[data-theme^=modern-] .sk-row-die{display:inline-flex;color:var(--dnd-muted);opacity:.65}:root[data-theme^=modern-] .sk-row-die .dice-icon{width:14px;height:14px}:root[data-theme^=modern-] .sk-row-mod{min-width:30px;text-align:right;font-size:.95rem;font-weight:700;color:var(--dnd-text);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .sk-modern .prof-block{display:flex;flex-direction:column;gap:14px;padding:14px 16px;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:20px;box-shadow:var(--shadow-md)}:root[data-theme^=modern-] .sk-modern .prof-block-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0}:root[data-theme^=modern-] .sk-modern .prof-block-head h3{margin:0;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dnd-muted)}:root[data-theme^=modern-] .sk-modern .prof-block .skills-edit-btn{border:1px solid var(--border-subtle);border-radius:9px;background:transparent;color:var(--dnd-text-secondary);font-family:inherit;font-size:.72rem;font-weight:600;padding:5px 12px;letter-spacing:normal;touch-action:manipulation;transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease,background var(--duration-fast) ease}:root[data-theme^=modern-] .sk-modern .prof-block .skills-edit-btn:hover{border-color:var(--dnd-gold-30);color:var(--dnd-gold);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .sk-modern .prof-block .skills-edit-btn.active{border-color:var(--dnd-gold-30);background:var(--dnd-gold-10);color:var(--dnd-gold);font-weight:700}:root[data-theme^=modern-] .sk-modern .prof-block-group{display:flex;flex-direction:column;gap:8px}:root[data-theme^=modern-] .sk-modern .prof-block-label{font-size:.7rem;font-weight:600;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .sk-modern .prof-chips{display:flex;flex-wrap:wrap;gap:7px;align-items:center}:root[data-theme^=modern-] .sk-modern .prof-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:10px;font-size:.8rem;font-weight:600;color:var(--dnd-text);background:var(--dnd-surface-3);border:1px solid var(--border-subtle)}:root[data-theme^=modern-] .sk-modern .prof-chip-src{font-style:normal;font-size:.62rem;font-weight:600;color:var(--dnd-muted)}:root[data-theme^=modern-] .sk-modern .prof-chip-remove{border:none;background:none;padding:0;line-height:1;font-size:.95rem;color:var(--dnd-accent-red-light);cursor:pointer;touch-action:manipulation}:root[data-theme^=modern-] .sk-modern .prof-chip-empty{font-size:.78rem;color:var(--dnd-muted)}:root[data-theme^=modern-] .sk-modern .prof-add-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;padding:6px 12px;border-radius:10px;font-family:inherit;font-size:.78rem;font-weight:700;color:var(--dnd-gold);background:var(--dnd-gold-10);border:1px dashed var(--dnd-gold-18);cursor:pointer;touch-action:manipulation}:root[data-theme^=modern-] .sk-modern .prof-add-select:hover{border-color:var(--dnd-gold-30);background:var(--dnd-gold-18)}:root[data-theme^=modern-] .ab-modern{display:flex;flex-direction:column;gap:14px;animation:ftFadeUp .4s ease-out}:root[data-theme^=modern-] .ab-tab-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px}:root[data-theme^=modern-] .ab-tab-head-left{display:flex;align-items:center;gap:9px;min-width:0}:root[data-theme^=modern-] .ab-tab-icon{color:var(--dnd-gold);flex-shrink:0}:root[data-theme^=modern-] .ab-tab-title{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;color:var(--dnd-text)}:root[data-theme^=modern-] .ab-tab-name{font-size:.74rem;font-weight:500;color:var(--dnd-muted);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}:root[data-theme^=modern-] .ab-controls{display:flex;align-items:center;gap:10px;padding:0 4px}:root[data-theme^=modern-] .ab-prof{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;font-weight:600;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .ab-prof-pill{font-size:.78rem;font-weight:800;color:var(--dnd-gold);background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-18);border-radius:8px;padding:2px 9px;font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .ab-edit-btn{margin-left:auto;border:1px solid var(--border-subtle);border-radius:10px;background:transparent;color:var(--dnd-text-secondary);font-family:inherit;font-size:.78rem;font-weight:600;padding:7px 15px;cursor:pointer;white-space:nowrap;touch-action:manipulation;transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease,background var(--duration-fast) ease}:root[data-theme^=modern-] .ab-edit-btn:hover{border-color:var(--dnd-gold-30);color:var(--dnd-gold);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .ab-edit-btn.active{border-color:var(--dnd-gold-30);background:var(--dnd-gold-10);color:var(--dnd-gold);font-weight:700}:root[data-theme^=modern-] .ab-legend{display:flex;flex-direction:column;gap:8px;padding:11px 14px;background:var(--dnd-surface-0);border:1px solid var(--border-subtle);border-radius:14px}:root[data-theme^=modern-] .ab-legend-hint{font-size:.75rem;line-height:1.4;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .ab-legend-hint strong{color:var(--dnd-text);font-weight:700}:root[data-theme^=modern-] .ab-legend-items{display:flex;flex-wrap:wrap;gap:14px}:root[data-theme^=modern-] .ab-legend-item{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;color:var(--dnd-muted)}:root[data-theme^=modern-] .ab-save-dot{flex-shrink:0;box-sizing:border-box;width:13px;height:13px;border-radius:50%}:root[data-theme^=modern-] .ab-save-dot--off{background:transparent;border:1.5px solid var(--dnd-border)}:root[data-theme^=modern-] .ab-save-dot--on{background:var(--dnd-gold)}:root[data-theme^=modern-] .ab-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}:root[data-theme^=modern-] .ab-card{display:flex;flex-direction:column;gap:11px;min-width:0;padding:14px 15px 12px;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:20px;box-shadow:var(--shadow-md)}:root[data-theme^=modern-] .ab-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}:root[data-theme^=modern-] .ab-card-name{display:flex;flex-direction:column;gap:2px;min-width:0}:root[data-theme^=modern-] .ab-name{display:none}:root[data-theme^=modern-] .ab-short{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:768px){:root[data-theme^=modern-] .ab-name{display:block;font-size:.9rem;font-weight:700;letter-spacing:-.01em;color:var(--dnd-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root[data-theme^=modern-] .ab-short{font-size:.6rem;font-weight:700;letter-spacing:.09em;color:var(--dnd-muted)}}:root[data-theme^=modern-] .ab-score-badge{flex-shrink:0;display:inline-flex;flex-direction:column;align-items:center;gap:1px;padding:5px 11px;background:var(--dnd-surface-3);border:1px solid var(--border-subtle);border-radius:11px}:root[data-theme^=modern-] .ab-score-val{font-size:1.05rem;font-weight:800;line-height:1;color:var(--dnd-text);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .ab-score-cap{font-size:.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--dnd-muted)}:root[data-theme^=modern-] .ab-stepper{flex-shrink:0;display:inline-flex;align-items:center;background:var(--dnd-surface-3);border:1px solid var(--border-subtle);border-radius:11px;overflow:hidden}:root[data-theme^=modern-] .ab-step{border:none;background:none;color:var(--dnd-text-secondary);font-family:inherit;font-size:1.1rem;font-weight:700;line-height:1;width:28px;height:34px;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}:root[data-theme^=modern-] .ab-step:hover{background:var(--surface-hover);color:var(--dnd-text)}:root[data-theme^=modern-] .ab-modern .ab-step-val{min-width:24px;padding:0 2px;border:none;background:none;text-align:center;font-size:1.05rem;font-weight:800;color:var(--dnd-text);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .ab-mod{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:10px 8px;border:1px solid var(--border-subtle);border-radius:14px;background:var(--dnd-surface-3);cursor:pointer;font-family:inherit;touch-action:manipulation;transition:border-color var(--duration-fast) ease,background var(--duration-fast) ease}:root[data-theme^=modern-] .ab-mod:hover{border-color:var(--dnd-gold-30);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .ab-mod-val{font-size:1.7rem;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--dnd-text);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .ab-mod-die{display:inline-flex;color:var(--dnd-muted);opacity:.7}:root[data-theme^=modern-] .ab-mod-die .dice-icon{width:16px;height:16px}:root[data-theme^=modern-] .ab-mod-cap{font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dnd-muted)}:root[data-theme^=modern-] .ab-mod--edit{background:var(--dnd-surface-0);gap:7px}:root[data-theme^=modern-] .ab-mod--edit .ab-mod-val{color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .ab-mod--edit:hover{border-color:var(--dnd-gold-30);background:var(--dnd-surface-0)}:root[data-theme^=modern-] .ab-mod--edit.overridden{background:var(--dnd-gold-10);border-color:var(--dnd-gold-18)}:root[data-theme^=modern-] .ab-mod--edit.overridden .ab-mod-val{color:var(--dnd-gold)}:root[data-theme^=modern-] .ab-mod--edit.overridden .ab-mod-cap{color:var(--dnd-gold);opacity:.85}:root[data-theme^=modern-] .ab-save{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:none;background:none;border-radius:10px;padding:6px;cursor:pointer;font-family:inherit;touch-action:manipulation;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease}:root[data-theme^=modern-] button.ab-save:hover{background:var(--dnd-surface-3)}:root[data-theme^=modern-] .ab-save-lbl{flex:1;min-width:0;font-size:.76rem;font-weight:600;color:var(--dnd-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root[data-theme^=modern-] .ab-lbl-full{display:none}@media(min-width:768px){:root[data-theme^=modern-] .ab-lbl-full{display:inline}:root[data-theme^=modern-] .ab-lbl-short{display:none}}:root[data-theme^=modern-] .ab-save-val{flex-shrink:0;font-size:.92rem;font-weight:700;color:var(--dnd-text);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .ab-save-die{flex-shrink:0;display:inline-flex;color:var(--dnd-muted);opacity:.6}:root[data-theme^=modern-] .ab-save-die .dice-icon{width:13px;height:13px}:root[data-theme^=modern-] .ab-save--edit{border:1px dashed var(--border-subtle);border-radius:10px;padding:4px 8px;cursor:default}:root[data-theme^=modern-] .ab-save--edit:hover{border-color:var(--dnd-gold-30);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .ab-save-toggle{flex:1;min-width:0;display:inline-flex;align-items:center;gap:8px;padding:3px 0;border:none;background:none;cursor:pointer;font-family:inherit;text-align:left;touch-action:manipulation}:root[data-theme^=modern-] .ab-modern .ab-save-bonus{flex-shrink:0;padding:3px 8px;border:1px solid var(--border-subtle);border-radius:7px;background:var(--dnd-surface-3);font-size:.72rem;font-weight:700;color:var(--dnd-text-secondary);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .ab-modern .ab-save-bonus.has-bonus{color:var(--dnd-gold);background:var(--dnd-gold-10);border-color:var(--dnd-gold-18)}@keyframes spmFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:root[data-theme^=modern-] .character-sheet .spm-stack{display:flex;flex-direction:column;gap:14px;max-width:640px;margin-inline:auto;animation:spmFadeUp .4s var(--ease-out, ease-out) both}:root[data-theme^=modern-] .character-sheet .spm-card{background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:20px;box-shadow:var(--shadow-sm);padding:16px;display:flex;flex-direction:column;gap:12px}:root[data-theme^=modern-] .character-sheet .spm-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}:root[data-theme^=modern-] .character-sheet .spm-card-title{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .spm-title-row{display:flex;align-items:center;justify-content:space-between;padding:0 4px}:root[data-theme^=modern-] .character-sheet .spm-title{display:flex;align-items:center;gap:9px;font-size:1.15rem;font-weight:700;letter-spacing:-.01em;color:var(--dnd-text)}:root[data-theme^=modern-] .character-sheet .spm-title svg{color:var(--dnd-gold);flex-shrink:0}:root[data-theme^=modern-] .character-sheet .spm-edit-btn{border:1px solid var(--dnd-border);border-radius:var(--radius-full);background:var(--dnd-surface-2);color:var(--dnd-text-secondary);font-size:.78rem;font-weight:600;font-family:inherit;padding:6px 13px;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .spm-edit-btn:hover{background:var(--surface-hover)}:root[data-theme^=modern-] .character-sheet .spm-edit-btn--active{background:var(--dnd-gold-10);border-color:transparent;color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .spm-caster-head{display:flex;align-items:center;gap:11px}:root[data-theme^=modern-] .character-sheet .spm-caster-id{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}:root[data-theme^=modern-] .character-sheet .spm-caster-sub{font-size:.84rem;font-weight:600;color:var(--dnd-text-secondary);overflow-wrap:anywhere}:root[data-theme^=modern-] .character-sheet .spm-count-pill{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;color:var(--dnd-gold);background:var(--dnd-gold-10);border-radius:var(--radius-full);padding:5px 11px;font-variant-numeric:tabular-nums;white-space:nowrap}:root[data-theme^=modern-] .character-sheet .spm-count-pill--limit{color:var(--v-hp-damage);background:color-mix(in srgb,var(--dnd-danger) 12%,transparent)}:root[data-theme^=modern-] .character-sheet .spm-pill-input{width:3.2rem;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);background:var(--dnd-surface-0);color:var(--dnd-text);font-family:inherit;font-size:.78rem;font-weight:600;padding:2px 6px;text-align:center}:root[data-theme^=modern-] .character-sheet .spm-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}:root[data-theme^=modern-] .character-sheet .spm-stat-tile{background:var(--dnd-surface-3);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}:root[data-theme^=modern-] .character-sheet .spm-stat-tile--rollable{cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .spm-stat-tile--rollable:hover{background:var(--dnd-gold-10)}:root[data-theme^=modern-] .character-sheet .spm-stat-tile--rollable:active{transform:scale(.98)}:root[data-theme^=modern-] .character-sheet .spm-stat-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .spm-stat-value{font-size:1rem;font-weight:700;color:var(--dnd-text);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .character-sheet .spm-stat-value--overridden{color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .spm-stat-edit{display:flex;align-items:center;gap:4px;min-width:0}:root[data-theme^=modern-] .character-sheet .spm-stat-input{width:100%;min-width:0;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);background:var(--dnd-surface-0);color:var(--dnd-text);font-family:inherit;font-size:.9rem;font-weight:600;padding:4px 6px}:root[data-theme^=modern-] .character-sheet .spm-noncaster-note{margin:0;font-size:.85rem;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .spm-manual-toggle{display:inline-flex;align-items:center;gap:9px;cursor:pointer}:root[data-theme^=modern-] .character-sheet .spm-mc-rows{display:flex;flex-direction:column;gap:6px}:root[data-theme^=modern-] .character-sheet .spm-mc-row{display:flex;align-items:center;gap:9px;background:var(--dnd-surface-3);border-radius:12px;padding:8px 12px;font-size:.8rem}:root[data-theme^=modern-] .character-sheet .spm-mc-name{flex:1;min-width:0;font-weight:600;color:var(--dnd-text);overflow-wrap:anywhere}:root[data-theme^=modern-] .character-sheet .spm-mc-stat{color:var(--dnd-muted);font-variant-numeric:tabular-nums;white-space:nowrap}:root[data-theme^=modern-] .character-sheet .spm-mc-attack{border:none;border-radius:var(--radius-full);background:var(--dnd-gold-10);color:var(--dnd-gold);font-family:inherit;font-size:.76rem;font-weight:700;padding:4px 10px;cursor:pointer;touch-action:manipulation;font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .character-sheet .spm-mc-attack:hover{background:var(--dnd-gold-18)}:root[data-theme^=modern-] .character-sheet .spm-conc-banner{display:flex;align-items:center;gap:11px;background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-18);border-radius:16px;padding:11px 14px}:root[data-theme^=modern-] .character-sheet .spm-conc-glyph{font-size:1rem;color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .spm-conc-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}:root[data-theme^=modern-] .character-sheet .spm-conc-label{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .spm-conc-name{font-size:.88rem;font-weight:600;color:var(--dnd-text);overflow-wrap:anywhere}:root[data-theme^=modern-] .character-sheet .spm-conc-break{flex-shrink:0;border:none;border-radius:var(--radius-full);background:var(--dnd-surface-2);color:var(--dnd-text-secondary);font-size:.76rem;font-weight:600;font-family:inherit;padding:6px 12px;cursor:pointer;touch-action:manipulation;transition:color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .spm-conc-break:hover{color:var(--v-hp-damage)}:root[data-theme^=modern-] .character-sheet .spm-rest-btn{display:inline-flex;align-items:center;gap:5px;border:none;border-radius:var(--radius-full);background:var(--dnd-gold-10);color:var(--dnd-gold);font-size:.74rem;font-weight:600;font-family:inherit;padding:5px 11px;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .spm-rest-btn:hover{background:var(--dnd-gold-18)}:root[data-theme^=modern-] .character-sheet .spm-slot-rows{display:flex;flex-direction:column;gap:9px}:root[data-theme^=modern-] .character-sheet .spm-slot-row{display:flex;align-items:center;gap:12px}:root[data-theme^=modern-] .character-sheet .spm-slot-level{width:22px;flex-shrink:0;font-size:.82rem;font-weight:700;color:var(--dnd-text-secondary);text-align:center;font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .character-sheet .spm-pip-strip{flex:1;display:flex;flex-wrap:wrap;gap:6px}:root[data-theme^=modern-] .character-sheet .spm-pip{width:22px;height:22px;border-radius:7px;padding:0;cursor:pointer;touch-action:manipulation}:root[data-theme^=modern-] .character-sheet .spm-pip:active{transform:scale(.94)}:root[data-theme^=modern-] .character-sheet .spm-pip--available{background:var(--dnd-gold);border:1px solid transparent;box-shadow:inset 0 1px #ffffff4d}:root[data-theme^=modern-] .character-sheet .spm-pip--spent{background:var(--dnd-surface-3);border:1px solid var(--dnd-border)}:root[data-theme^=modern-] .character-sheet .spm-slot-count{flex-shrink:0;font-size:.72rem;font-weight:600;color:var(--dnd-muted);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .character-sheet .spm-pact-tag{flex-shrink:0;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dnd-gold);background:var(--dnd-gold-10);border-radius:6px;padding:2px 7px}:root[data-theme^=modern-] .character-sheet .spm-slot-row--pact .spm-pip--available{background:var(--dnd-accent-purple)}:root[data-theme^=modern-] .character-sheet .spm-slot-row--pact .spm-pact-tag{color:var(--dnd-accent-purple);background:color-mix(in srgb,var(--dnd-accent-purple) 12%,transparent)}:root[data-theme^=modern-] .character-sheet .spm-slot-max-edit{display:inline-flex;align-items:center;gap:4px}:root[data-theme^=modern-] .character-sheet .spm-slot-max-input{width:3rem;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);background:var(--dnd-surface-0);color:var(--dnd-text);font-family:inherit;font-size:.8rem;font-weight:600;padding:3px 6px;text-align:center}:root[data-theme^=modern-] .character-sheet .spm-slot-reset{border:none;border-radius:var(--radius-full);background:var(--dnd-surface-3);color:var(--dnd-text-secondary);font-family:inherit;font-size:.8rem;width:24px;height:24px;flex-shrink:0;cursor:pointer;touch-action:manipulation}:root[data-theme^=modern-] .character-sheet .spm-slot-reset:hover{color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .spm-stack .metamagic-section,:root[data-theme^=modern-] .character-sheet .spm-stack .spell-info-feat{background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:20px;box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .character-sheet .spm-stack .spell-feat-stats{display:flex;flex-direction:column;gap:14px;margin:0}:root[data-theme^=modern-] .character-sheet .spm-list-section{display:flex;flex-direction:column;gap:14px}:root[data-theme^=modern-] .character-sheet .spm-filters{display:flex;flex-direction:column;gap:10px}:root[data-theme^=modern-] .character-sheet .spm-search{display:flex;align-items:center;gap:9px;border:1px solid var(--dnd-border);border-radius:13px;background:var(--dnd-surface-0);padding:0 13px}:root[data-theme^=modern-] .character-sheet .spm-search svg{flex-shrink:0;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .spm-search-input{flex:1;min-width:0;border:none;background:transparent;color:var(--dnd-text);padding:11px 0;font-size:.9rem;font-family:inherit;outline:none}:root[data-theme^=modern-] .character-sheet .spm-search-input::placeholder{color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .spm-search-clear{border:none;background:transparent;color:var(--dnd-muted);font-family:inherit;font-size:.85rem;padding:4px;cursor:pointer;touch-action:manipulation}:root[data-theme^=modern-] .character-sheet .spm-segmented{display:flex;gap:4px;background:var(--p-segment-track);border-radius:11px;padding:4px}:root[data-theme^=modern-] .character-sheet .spm-segment{flex:1;border:none;border-radius:8px;padding:8px 4px;font-size:.8rem;font-weight:600;font-family:inherit;background:transparent;color:var(--dnd-text-secondary);cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .spm-segment--active{background:var(--p-segment-thumb);color:var(--dnd-text);box-shadow:0 1px 3px #00000040}:root[data-theme^=modern-] .character-sheet .spm-chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}:root[data-theme^=modern-] .character-sheet .spm-chips::-webkit-scrollbar{display:none}:root[data-theme^=modern-] .character-sheet .spm-chip{flex-shrink:0;border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:6px 13px;font-size:.78rem;font-weight:600;font-family:inherit;background:var(--dnd-surface-2);color:var(--dnd-text-secondary);cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .spm-chip--active{background:var(--dnd-gold-10);border-color:transparent;color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .spm-variant-row{display:flex;align-items:center;gap:9px}:root[data-theme^=modern-] .character-sheet .spm-variant-label{font-size:.74rem;font-weight:600;color:var(--dnd-muted);white-space:nowrap}:root[data-theme^=modern-] .character-sheet .spm-variant-select{flex:1;min-width:0;border:1px solid var(--dnd-border);border-radius:var(--radius-md);background:var(--dnd-surface-0);color:var(--dnd-text);font-family:inherit;font-size:.85rem;padding:7px 10px}:root[data-theme^=modern-] .character-sheet .spm-groups{display:flex;flex-direction:column;gap:16px}:root[data-theme^=modern-] .character-sheet .spm-group{display:flex;flex-direction:column;gap:8px}:root[data-theme^=modern-] .character-sheet .spm-group-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px}:root[data-theme^=modern-] .character-sheet .spm-group-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .spm-group-count{font-size:.7rem;font-weight:600;color:var(--dnd-muted);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .character-sheet .spm-group-rows{display:flex;flex-direction:column;gap:8px}:root[data-theme^=modern-] .character-sheet .spm-row{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:15px;background:var(--dnd-surface-2);border:1px solid var(--border-subtle);cursor:pointer}:root[data-theme^=modern-] .character-sheet .spm-row:hover{background:var(--surface-hover)}:root[data-theme^=modern-] .character-sheet .spm-row--unprepared .spm-row-name{color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .character-sheet .spm-left-badge{width:30px;height:30px;flex-shrink:0;border-radius:9px;background:var(--dnd-gold-10);color:var(--dnd-gold);display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .character-sheet .spm-left-badge--cantrip{font-size:.95rem}:root[data-theme^=modern-] .character-sheet .spm-prep-toggle{width:30px;height:30px;flex-shrink:0;border-radius:9px;background:transparent;color:var(--dnd-muted);border:1px solid var(--dnd-border);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;font-family:inherit;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .spm-prep-toggle:active:not(:disabled){transform:scale(.94)}:root[data-theme^=modern-] .character-sheet .spm-prep-toggle--on{background:var(--dnd-gold);color:var(--dnd-on-gold);border-color:transparent}:root[data-theme^=modern-] .character-sheet .spm-prep-toggle:disabled{opacity:.45;cursor:default}:root[data-theme^=modern-] .character-sheet .spm-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}:root[data-theme^=modern-] .character-sheet .spm-row-name{font-size:.9rem;font-weight:600;color:var(--dnd-text);text-wrap:pretty;overflow-wrap:anywhere}:root[data-theme^=modern-] .character-sheet .spm-row-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}:root[data-theme^=modern-] .character-sheet .spm-row-meta-text{font-size:.74rem;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .spm-tag{font-size:.66rem;font-weight:600;border-radius:var(--radius-full);padding:2px 8px;white-space:nowrap}:root[data-theme^=modern-] .character-sheet .spm-tag--info{color:var(--v-hp-temp);background:color-mix(in srgb,var(--dnd-info) 14%,transparent)}:root[data-theme^=modern-] .character-sheet .spm-tag--gold{color:var(--dnd-gold);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .character-sheet .spm-tag--neutral,:root[data-theme^=modern-] .character-sheet .spm-tag--source{color:var(--dnd-text-secondary);background:var(--dnd-surface-3)}:root[data-theme^=modern-] .character-sheet .spm-cast-btn{flex-shrink:0;border:none;border-radius:11px;padding:9px 12px;font-size:.78rem;font-weight:700;font-family:inherit;white-space:nowrap;cursor:pointer;touch-action:manipulation;font-variant-numeric:tabular-nums;transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .spm-cast-btn:active:not(:disabled){transform:scale(.97)}:root[data-theme^=modern-] .character-sheet .spm-cast-btn--gold{color:var(--dnd-gold);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .character-sheet .spm-cast-btn--gold:hover{background:var(--dnd-gold-18)}:root[data-theme^=modern-] .character-sheet .spm-cast-btn--damage{color:var(--v-hp-damage);background:color-mix(in srgb,var(--dnd-danger) 14%,transparent)}:root[data-theme^=modern-] .character-sheet .spm-cast-btn--damage:hover{background:color-mix(in srgb,var(--dnd-danger) 22%,transparent)}:root[data-theme^=modern-] .character-sheet .spm-cast-btn--heal{color:var(--v-hp-heal);background:color-mix(in srgb,var(--dnd-success) 14%,transparent)}:root[data-theme^=modern-] .character-sheet .spm-cast-btn--heal:hover{background:color-mix(in srgb,var(--dnd-success) 22%,transparent)}:root[data-theme^=modern-] .character-sheet .spm-cast-btn--off{color:var(--dnd-muted);background:var(--dnd-surface-3);cursor:default}:root[data-theme^=modern-] .character-sheet .spm-remove-btn{flex-shrink:0;width:30px;height:30px;border:none;border-radius:9px;background:color-mix(in srgb,var(--dnd-danger) 12%,transparent);color:var(--v-hp-damage);font-size:.85rem;font-weight:700;font-family:inherit;cursor:pointer;touch-action:manipulation}:root[data-theme^=modern-] .character-sheet .spm-remove-btn:hover{background:color-mix(in srgb,var(--dnd-danger) 22%,transparent)}:root[data-theme^=modern-] .character-sheet .spm-add-row{display:flex;flex-direction:column;gap:6px}:root[data-theme^=modern-] .character-sheet .spm-add-btn{border:1px dashed var(--dnd-border);border-radius:12px;background:transparent;color:var(--dnd-text-secondary);font-size:.8rem;font-weight:600;font-family:inherit;padding:10px;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .spm-add-btn:hover{background:var(--dnd-gold-10);color:var(--dnd-gold);border-color:transparent}:root[data-theme^=modern-] .character-sheet .spm-empty{text-align:center;padding:32px 16px;color:var(--dnd-muted);font-size:.86rem}:root[data-theme^=modern-] .character-sheet .spm-sorcery-pips{display:flex;flex-wrap:wrap;gap:7px}:root[data-theme^=modern-] .character-sheet .spm-pip--round{width:24px;height:24px;border-radius:50%}:root[data-theme^=modern-] .character-sheet .spm-sorcery-sub{font-size:.68rem;font-weight:600;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .spm-flex-btn{border:1px solid var(--dnd-border);border-radius:12px;padding:11px;font-size:.82rem;font-weight:600;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--dnd-muted);background:var(--dnd-surface-3);cursor:default;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .spm-flex-btn--ready{color:var(--dnd-gold);background:var(--dnd-gold-10);border-color:transparent;cursor:pointer}:root[data-theme^=modern-] .character-sheet .spm-flex-btn--ready:hover{background:var(--dnd-gold-18)}:root[data-theme^=modern-] .character-sheet .spm-flex-btn--ready:active{transform:scale(.98)}:root[data-theme^=modern-] .character-sheet .spm-meta-hint{font-size:.7rem;font-weight:600;color:var(--dnd-muted);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .character-sheet .spm-meta-rows{display:flex;flex-direction:column;gap:8px}:root[data-theme^=modern-] .character-sheet .spm-meta-row{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:15px;background:var(--dnd-surface-3)}:root[data-theme^=modern-] .character-sheet .spm-meta-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;cursor:pointer}:root[data-theme^=modern-] .character-sheet .spm-meta-name-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}:root[data-theme^=modern-] .character-sheet .spm-meta-name{font-size:.88rem;font-weight:600;color:var(--dnd-text)}:root[data-theme^=modern-] .character-sheet .spm-meta-desc{font-size:.74rem;color:var(--dnd-muted);text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}:root[data-theme^=modern-] .character-sheet .spm-meta-add{display:flex;flex-direction:column;gap:8px}:root[data-theme^=modern-] .character-sheet .spm-meta-add-panel{display:flex;flex-direction:column;gap:8px}:root[data-theme^=modern-] .character-sheet .spm-meta-add-pool{display:flex;flex-wrap:wrap;gap:6px}:root[data-theme^=modern-] .character-sheet .spm-meta-add-manual{display:flex;align-items:center;gap:6px}:root[data-theme^=modern-] .character-sheet .spm-granted-card{gap:15px}:root[data-theme^=modern-] .character-sheet .spm-granted-title{display:inline-flex;align-items:center;gap:8px}:root[data-theme^=modern-] .character-sheet .spm-granted-title svg{color:var(--dnd-gold);flex-shrink:0}:root[data-theme^=modern-] .character-sheet .spm-granted-source{display:flex;flex-direction:column;gap:11px;border-left:2px solid var(--dnd-gold-18);padding-left:13px}:root[data-theme^=modern-] .character-sheet .spm-granted-source-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--border-subtle)}:root[data-theme^=modern-] .character-sheet .spm-granted-chip{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dnd-gold);background:var(--dnd-gold-10);border-radius:6px;padding:3px 8px}:root[data-theme^=modern-] .character-sheet .spm-granted-source-name{font-size:.78rem;font-weight:600;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .character-sheet .spm-granted-origin{font-size:.72rem;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .spm-granted-stats{margin-left:auto;border:none;border-radius:var(--radius-full);background:var(--dnd-surface-3);color:var(--dnd-text-secondary);font-family:inherit;font-size:.68rem;font-weight:600;padding:3px 9px;cursor:pointer;touch-action:manipulation;font-variant-numeric:tabular-nums;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .spm-granted-stats:hover{background:var(--dnd-gold-10);color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .spm-granted-rows{display:flex;flex-direction:column;gap:11px}:root[data-theme^=modern-] .character-sheet .spm-granted-row{display:flex;align-items:center;gap:11px;cursor:pointer}:root[data-theme^=modern-] .character-sheet .spm-granted-badge{width:28px;height:28px;flex-shrink:0;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700}:root[data-theme^=modern-] .character-sheet .spm-granted-badge--atwill{background:var(--dnd-gold-10);color:var(--dnd-gold);font-size:.9rem}:root[data-theme^=modern-] .character-sheet .spm-granted-badge--once{background:color-mix(in srgb,var(--dnd-info) 14%,transparent);color:var(--v-hp-temp)}:root[data-theme^=modern-] .character-sheet .spm-granted-badge--used{background:var(--dnd-surface-3);color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .spm-stat-value,:root[data-theme^=modern-] .character-sheet .spm-stat-edit{margin-top:auto}:root[data-theme^=modern-] .character-sheet .spm-group-slots{display:flex;flex-direction:column;gap:7px;padding:2px 2px 4px}:root[data-theme^=modern-] .character-sheet .spm-title-actions{display:flex;align-items:center;gap:7px}:root[data-theme^=modern-] .character-sheet .spm-collapse-toggle{display:inline-flex;align-items:center;gap:7px;border:none;background:transparent;padding:0;font-family:inherit;cursor:pointer;color:inherit;touch-action:manipulation;min-width:0}:root[data-theme^=modern-] .character-sheet .spm-collapse-toggle:disabled{cursor:default}:root[data-theme^=modern-] .character-sheet .spm-caret{color:var(--dnd-muted);flex-shrink:0;transition:transform var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .spm-caret--collapsed{transform:rotate(-90deg)}:root[data-theme^=modern-] .character-sheet .spm-cast-group{flex-shrink:0;display:flex;align-items:stretch;gap:2px}:root[data-theme^=modern-] .character-sheet .spm-cast-btn--split{border-top-right-radius:4px;border-bottom-right-radius:4px}:root[data-theme^=modern-] .character-sheet .spm-upcast-btn{border:none;border-radius:4px 11px 11px 4px;width:26px;padding:0;display:flex;align-items:center;justify-content:center;font-family:inherit;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .spm-upcast-btn:active{transform:scale(.95)}:root[data-theme^=modern-] .spm-upcast-menu{position:fixed;z-index:1300;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:14px;box-shadow:var(--shadow-lg)}:root[data-theme^=modern-] .spm-upcast-item{display:flex;align-items:center;gap:8px;border:none;border-radius:9px;background:transparent;padding:9px 10px;font-family:inherit;font-size:.82rem;font-weight:600;color:var(--dnd-text);cursor:pointer;touch-action:manipulation;text-align:left;transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .spm-upcast-item:hover:not(:disabled){background:var(--dnd-gold-10)}:root[data-theme^=modern-] .spm-upcast-item:disabled{color:var(--dnd-muted);cursor:default;opacity:.55}:root[data-theme^=modern-] .spm-upcast-lvl{flex:1;white-space:nowrap}:root[data-theme^=modern-] .spm-upcast-dice{font-size:.72rem;font-weight:700;color:var(--v-hp-damage);white-space:nowrap}:root[data-theme^=modern-] .spm-upcast-item:disabled .spm-upcast-dice{color:inherit}:root[data-theme^=modern-] .spm-upcast-avail{font-size:.72rem;font-weight:600;color:var(--dnd-muted);font-variant-numeric:tabular-nums;white-space:nowrap}:root[data-theme^=modern-] .character-sheet .spm-stat-label{overflow-wrap:anywhere}:root[data-theme^=modern-] .character-sheet .spm-title-row{flex-wrap:wrap;row-gap:8px}:root[data-theme^=modern-] .character-sheet .spm-title-actions{margin-left:auto}:root[data-theme^=modern-] .character-sheet .spm-rest-btn,:root[data-theme^=modern-] .character-sheet .spm-edit-btn{white-space:nowrap}@media(max-width:430px){:root[data-theme^=modern-] .character-sheet .spm-rest-btn,:root[data-theme^=modern-] .character-sheet .spm-edit-btn{padding:5px 9px;font-size:.72rem}:root[data-theme^=modern-] .character-sheet .spm-stat-tile{padding:9px 10px}:root[data-theme^=modern-] .character-sheet .spm-groups{gap:12px}:root[data-theme^=modern-] .character-sheet .spm-group,:root[data-theme^=modern-] .character-sheet .spm-group-rows{gap:6px}:root[data-theme^=modern-] .character-sheet .spm-row{gap:9px;padding:8px 10px;border-radius:13px}:root[data-theme^=modern-] .character-sheet .spm-row-body{gap:1px}:root[data-theme^=modern-] .character-sheet .spm-row-name{font-size:.84rem}:root[data-theme^=modern-] .character-sheet .spm-row-meta-text{font-size:.7rem}:root[data-theme^=modern-] .character-sheet .spm-tag{font-size:.62rem;padding:1px 7px}:root[data-theme^=modern-] .character-sheet .spm-left-badge,:root[data-theme^=modern-] .character-sheet .spm-prep-toggle,:root[data-theme^=modern-] .character-sheet .spm-remove-btn{width:26px;height:26px;border-radius:8px}:root[data-theme^=modern-] .character-sheet .spm-left-badge{font-size:.76rem}:root[data-theme^=modern-] .character-sheet .spm-left-badge--cantrip{font-size:.88rem}:root[data-theme^=modern-] .character-sheet .spm-cast-btn{padding:7px 10px;font-size:.74rem;border-radius:10px}:root[data-theme^=modern-] .character-sheet .spm-upcast-btn{width:24px}:root[data-theme^=modern-] .character-sheet .spm-pip{width:18px;height:18px;border-radius:6px}:root[data-theme^=modern-] .character-sheet .spm-pip-strip{gap:5px}}:root[data-theme^=modern-] .modal-content.feature-edit-modal{max-width:420px}:root[data-theme^=modern-] .feature-edit-modal .custom-counter-type-toggle{display:flex;flex:none;gap:4px;border:none;border-radius:11px;background:var(--p-segment-track);padding:4px}:root[data-theme^=modern-] .feature-edit-modal .custom-counter-type-btn{flex:1;min-width:0;border:none;border-radius:8px;padding:8px 4px;font-size:.78rem;font-weight:600;font-family:inherit;background:transparent;color:var(--dnd-text-secondary);cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .feature-edit-modal .custom-counter-type-btn+.custom-counter-type-btn{border-left:none}:root[data-theme^=modern-] .feature-edit-modal .custom-counter-type-btn:hover{color:var(--dnd-text)}:root[data-theme^=modern-] .feature-edit-modal .custom-counter-type-btn.active{background:var(--p-segment-thumb);color:var(--dnd-text);box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .spell-browser-modal.feature-edit-modal .browser-tab-toggle{align-self:stretch;margin:14px 20px 4px}:root[data-theme^=modern-] .feature-edit-modal .browser-tab-toggle .custom-counter-type-btn{padding:9px 4px;font-size:.82rem}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-filters{padding:10px 20px 14px;border-bottom:1px solid var(--border-subtle);gap:10px}:root[data-theme^=modern-] .feature-edit-modal .spell-search-icon{display:block;position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--dnd-muted);pointer-events:none}:root[data-theme^=modern-] .modal-content.spell-browser-modal.feature-edit-modal .spell-browser-search input.form-input{padding-left:38px;border-radius:13px}:root[data-theme^=modern-] .feature-edit-modal .spell-filter-summary,:root[data-theme^=modern-] .feature-edit-modal .spell-filter-pill{border:none;border-radius:var(--radius-full);padding:7px 13px;font-size:.78rem;font-weight:600;background:var(--dnd-surface-2);color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .feature-edit-modal .spell-filter-summary:hover,:root[data-theme^=modern-] .feature-edit-modal .spell-filter-pill:hover{background:var(--dnd-surface-3);color:var(--dnd-text)}:root[data-theme^=modern-] .feature-edit-modal .spell-filter-summary.has-selection,:root[data-theme^=modern-] .feature-edit-modal .spell-filter-summary.is-open{background:var(--dnd-gold-10);color:var(--dnd-gold)}:root[data-theme^=modern-] .feature-edit-modal .spell-filter-pill.is-active{background:var(--dnd-gold);color:var(--dnd-on-gold)}:root[data-theme^=modern-] .feature-edit-modal .spell-filter-divider{background:var(--border-subtle)}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-list{display:flex;flex-direction:column;gap:8px;padding:12px 20px 8px}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-item{flex:none;border:1px solid var(--border-subtle);border-radius:15px;background:var(--dnd-surface-2);overflow:hidden}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-item:hover{background:var(--dnd-surface-2)}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-item-header{padding:11px 13px;gap:11px}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-item-badge{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:9px;font-size:.68rem;font-weight:700;background:color-mix(in srgb,var(--dnd-info) 14%,transparent);color:var(--v-hp-temp)}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-item-badge--feat{background:var(--dnd-gold-10);color:var(--dnd-gold)}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-item-badge--race{background:color-mix(in srgb,var(--dnd-success) 14%,transparent);color:var(--v-hp-heal)}:root[data-theme^=modern-] .feature-edit-modal .spell-already-known .spell-browser-item-badge{background:var(--dnd-surface-3);color:var(--dnd-muted)}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-item-name{font-size:.9rem;font-weight:600}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-item.spell-already-known{opacity:.5}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-item.spell-already-known .spell-browser-item-name{text-decoration:none}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-item-meta{font-size:.74rem;color:var(--dnd-muted)}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-add-btn{border:none;border-radius:10px;padding:8px 12px;background:var(--dnd-gold-10);color:var(--dnd-gold);font-size:.78rem;font-weight:700;transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-add-btn:hover{background:var(--dnd-gold-18);border-color:transparent}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-known-badge{font-size:.66rem;font-weight:700;color:var(--dnd-muted);background:var(--dnd-surface-3);border-radius:var(--radius-full);padding:5px 10px}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-more-btn{flex:none;width:100%;margin:2px 0 4px;padding:11px;border:none;border-radius:12px;background:var(--dnd-gold-10);color:var(--dnd-gold);font-size:.82rem;font-weight:600;transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-more-btn:hover{background:var(--dnd-gold-18);border-color:transparent}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-item .feature-tooltip{margin:0 13px 11px;padding:0 0 0 10px;background:transparent;border:none;border-left:2px solid var(--dnd-gold-30);border-radius:0}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-footer{border-top:1px solid var(--border-subtle);padding:12px 20px}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-count{font-size:.74rem;color:var(--dnd-muted)}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-footer .btn-secondary{border:none;border-radius:12px;padding:10px 18px;background:var(--dnd-surface-3);color:var(--dnd-text);font-size:.82rem;font-weight:600;transition:filter var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .feature-edit-modal .spell-browser-footer .btn-secondary:hover{background:var(--dnd-surface-3);filter:brightness(1.12)}:root[data-theme=modern-light] .feature-edit-modal .spell-browser-footer .btn-secondary:hover{filter:brightness(.96)}:root[data-theme^=modern-] .feature-edit-modal .feature-add-form{margin:0;padding:16px 20px 20px;gap:16px;background:none;border:none}:root[data-theme^=modern-] .feature-edit-modal .feature-add-form .custom-counter-form-row{gap:7px}:root[data-theme^=modern-] .feature-edit-modal .feature-add-form .custom-counter-label{font-size:.66rem;font-weight:700;letter-spacing:.05em;color:var(--dnd-muted)}:root[data-theme^=modern-] .feature-edit-modal .feature-add-form .name-input{font-weight:600}:root[data-theme^=modern-] .feature-edit-modal .feature-level-step{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:1px solid var(--dnd-border);border-radius:10px;background:var(--dnd-surface-1);color:var(--dnd-text);font-size:1.05rem;font-weight:700;font-family:inherit;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .feature-edit-modal .feature-level-step:hover{background:var(--surface-hover);border-color:var(--dnd-gold-30)}:root[data-theme^=modern-] .modal-content.feature-edit-modal .feature-add-form .feature-level-stepper input.custom-counter-input.number-input,:root[data-theme^=modern-] .modal-content.feature-edit-modal .feature-add-form .feature-level-stepper .keypad-value-btn.custom-counter-input.number-input{flex:1;width:auto;min-width:0;border:none;background:transparent;padding:8px 0;text-align:center;font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .feature-edit-modal .feature-resource-toggle{flex-direction:row-reverse;justify-content:space-between;gap:12px;padding:13px 14px;border:none;border-radius:14px;background:var(--dnd-surface-2);font-size:.86rem;font-weight:600;color:var(--dnd-text)}:root[data-theme^=modern-] .feature-edit-modal .feature-resource-toggle:hover,:root[data-theme^=modern-] .feature-edit-modal .feature-resource-toggle:has(input:checked){border-color:transparent;background:var(--dnd-surface-2)}:root[data-theme^=modern-] .feature-edit-modal .feature-resource-toggle:has(+.feature-resource-fields){border-radius:14px 14px 0 0}:root[data-theme^=modern-] .feature-edit-modal .feature-resource-toggle input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:44px;height:26px;margin:0;flex-shrink:0;border-radius:var(--radius-full);background:var(--p-segment-track);position:relative;cursor:pointer;touch-action:manipulation;transition:background .2s var(--ease-out)}:root[data-theme^=modern-] .feature-edit-modal .feature-resource-toggle input[type=checkbox]:before{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:var(--radius-full);background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .2s var(--ease-out)}:root[data-theme^=modern-] .feature-edit-modal .feature-resource-toggle input[type=checkbox]:checked{background:var(--dnd-success)}:root[data-theme^=modern-] .feature-edit-modal .feature-resource-toggle input[type=checkbox]:checked:before{transform:translate(18px)}:root[data-theme^=modern-] .feature-edit-modal .feature-resource-toggle input[type=checkbox]:disabled{opacity:.55;cursor:default}:root[data-theme^=modern-] .feature-edit-modal .feature-resource-fields{margin-top:-16px;padding:0 14px 13px;gap:12px;border:none;border-radius:0 0 14px 14px;background:var(--dnd-surface-2)}:root[data-theme^=modern-] .feature-edit-modal .feature-resource-typemax{flex-direction:row;gap:8px}:root[data-theme^=modern-] .feature-edit-modal .feature-resource-typemax>.custom-counter-form-row:first-child{flex:1;min-width:0}:root[data-theme^=modern-] .feature-edit-modal .feature-resource-typemax>.custom-counter-form-row+.custom-counter-form-row{width:104px;flex:none}:root[data-theme^=modern-] .feature-edit-modal .feature-max-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;border:1px solid var(--dnd-border);border-radius:10px;background:var(--surface-input);color:var(--dnd-text);padding:8px 10px;font-size:.9rem;font-weight:700;font-family:inherit;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;transition:border-color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .feature-edit-modal .feature-max-btn:hover{border-color:var(--dnd-gold)}:root[data-theme^=modern-] .feature-edit-modal .feature-max-btn svg{color:var(--dnd-muted);flex-shrink:0}:root[data-theme^=modern-] .feature-edit-modal .feature-add-form .custom-counter-form-actions{display:flex;align-items:center;gap:8px;margin-top:4px}:root[data-theme^=modern-] .feature-edit-modal .feature-form-delete-btn{order:0}:root[data-theme^=modern-] .feature-edit-modal .custom-counter-cancel-btn{order:1}:root[data-theme^=modern-] .feature-edit-modal .custom-counter-save-btn{order:2}:root[data-theme^=modern-] .feature-edit-modal .custom-counter-save-btn,:root[data-theme^=modern-] .feature-edit-modal .custom-counter-cancel-btn{flex:1;min-width:0;border:none;border-radius:14px;padding:12px 6px;font-size:.82rem;font-family:inherit;letter-spacing:normal;transition:filter var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .feature-edit-modal .custom-counter-save-btn{background:var(--dnd-gold);background-image:linear-gradient(180deg,#ffffff38,#fff0 55%);color:var(--dnd-on-gold);font-weight:700;box-shadow:none}:root[data-theme^=modern-] .feature-edit-modal .custom-counter-save-btn:not(:disabled):hover{background:var(--dnd-gold);border-color:transparent;filter:brightness(1.06);box-shadow:none}:root[data-theme^=modern-] .feature-edit-modal .custom-counter-save-btn:not(:disabled):active{transform:scale(.98)}:root[data-theme^=modern-] .feature-edit-modal .custom-counter-cancel-btn{background:var(--dnd-surface-3);color:var(--dnd-text);font-weight:600}:root[data-theme^=modern-] .feature-edit-modal .custom-counter-cancel-btn:hover{border-color:transparent;color:var(--dnd-text);filter:brightness(1.12)}:root[data-theme=modern-light] .feature-edit-modal .custom-counter-cancel-btn:hover{filter:brightness(.96)}:root[data-theme^=modern-] .feature-edit-modal .feature-form-delete-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:none;border-radius:14px;background:color-mix(in srgb,var(--dnd-danger) 14%,transparent);color:var(--v-hp-damage);cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .feature-edit-modal .feature-form-delete-btn:hover{background:color-mix(in srgb,var(--dnd-danger) 22%,transparent)}:root[data-theme^=modern-] .keypad-panel{--hp-accent: var(--dnd-gold);display:flex;flex-direction:column;gap:14px;padding:16px 20px 20px}:root[data-theme^=modern-] .keypad-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}:root[data-theme^=modern-] .keypad-panel-title{font-size:.95rem;font-weight:700;color:var(--dnd-text)}:root[data-theme^=modern-] .keypad-panel-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:none;border-radius:var(--radius-full);background:var(--surface-hover);color:var(--dnd-text-secondary);font-size:.85rem;cursor:pointer;touch-action:manipulation;transition:background .16s ease,color .16s ease}:root[data-theme^=modern-] .keypad-panel-close:hover{background:var(--p-segment-track);color:var(--dnd-text)}:root[data-theme^=modern-] .number-edit-modal{--hp-accent: var(--dnd-gold);--hp-accent-base: var(--dnd-gold)}:root[data-theme^=modern-] .keypad-value-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-variant-numeric:tabular-nums;color:inherit;cursor:pointer;touch-action:manipulation}:root[data-theme^=modern-] .keypad-value-placeholder{color:var(--dnd-muted);font-weight:400}:root[data-theme^=modern-] .character-sheet .combat-tab{display:flex;flex-direction:column;gap:14px}:root[data-theme^=modern-] .character-sheet .cw-mastery-panel{display:flex;flex-direction:column;gap:11px;background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:14px 16px}:root[data-theme^=modern-] .character-sheet .cw-mastery-head{display:flex;align-items:center;justify-content:space-between}:root[data-theme^=modern-] .character-sheet .cw-mastery-title{font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .cw-mastery-count{font-size:.72rem;font-weight:700;color:var(--dnd-gold);background:var(--dnd-gold-10);border-radius:var(--radius-full);padding:3px 10px;font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .character-sheet .cw-mastery-chips{display:flex;flex-wrap:wrap;gap:7px}:root[data-theme^=modern-] .character-sheet .cw-mastery-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:10px;font-size:.78rem;font-weight:600;background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-18);color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .cw-mastery-chip-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .cw-mastery-empty{margin:0;font-size:.8rem;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .cw-mastery-btn{align-self:flex-start;border:1px solid var(--border-subtle);border-radius:10px;background:transparent;color:var(--dnd-text-secondary);font-size:.78rem;font-weight:600;font-family:inherit;padding:7px 13px;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .cw-mastery-btn:hover{border-color:var(--dnd-gold-18);color:var(--dnd-gold);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .character-sheet .cw-list-header{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 0}:root[data-theme^=modern-] .character-sheet .cw-list-title{font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .cw-list-count{font-size:.72rem;font-weight:500;color:var(--dnd-muted);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .character-sheet .cw-list{display:flex;flex-direction:column;gap:10px}:root[data-theme^=modern-] .character-sheet .cw-card{background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}:root[data-theme^=modern-] .character-sheet .cw-main{display:flex;flex-direction:column;gap:11px;padding:12px 13px}:root[data-theme^=modern-] .character-sheet .cw-head{display:flex;align-items:center;gap:8px}:root[data-theme^=modern-] .character-sheet .cw-caret{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border:none;background:transparent;color:var(--dnd-muted);font-size:.6rem;font-family:inherit;cursor:pointer;touch-action:manipulation}:root[data-theme^=modern-] .character-sheet .cw-name-btn{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:none;border:none;padding:0;margin:0;cursor:pointer;font-family:inherit;text-align:left}:root[data-theme^=modern-] .character-sheet .cw-name{min-width:0;font-size:.92rem;font-weight:700;color:var(--dnd-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme^=modern-] .character-sheet .cw-mastery-tag{flex-shrink:0;font-size:.6rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--dnd-gold);background:var(--dnd-gold-10);border-radius:6px;padding:2px 7px}:root[data-theme^=modern-] .character-sheet .cw-icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:1px solid var(--border-subtle);border-radius:8px;background:transparent;color:var(--dnd-muted);font-size:.76rem;font-family:inherit;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .cw-icon-btn:hover{color:var(--dnd-text);border-color:var(--dnd-border)}:root[data-theme^=modern-] .character-sheet .cw-icon-btn--danger{color:var(--v-hp-damage)}:root[data-theme^=modern-] .character-sheet .cw-icon-btn--danger:hover{color:var(--v-hp-damage);background:color-mix(in srgb,var(--dnd-danger) 14%,transparent);border-color:transparent}:root[data-theme^=modern-] .character-sheet .cw-stats{display:flex;align-items:stretch;gap:8px}:root[data-theme^=modern-] .character-sheet .cw-stat-label{font-size:.55rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .cw-attack{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-18);border-radius:12px;padding:8px 13px;cursor:pointer;font-family:inherit;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .cw-attack:hover{background:var(--dnd-gold-18)}:root[data-theme^=modern-] .character-sheet .cw-attack-label{color:var(--dnd-gold);opacity:.75}:root[data-theme^=modern-] .character-sheet .cw-attack-val{display:inline-flex;align-items:center;gap:5px;font-size:1.05rem;font-weight:800;line-height:1;color:var(--dnd-gold);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .character-sheet .cw-attack-icon{flex-shrink:0}:root[data-theme^=modern-] .character-sheet .cw-damage{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px;background:var(--dnd-surface-2);border:1px solid var(--border-subtle);border-radius:12px;padding:8px 12px}:root[data-theme^=modern-] .character-sheet .cw-damage-val{font-size:.9rem;font-weight:700;line-height:1.15;color:var(--dnd-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme^=modern-] .character-sheet .cw-damage-type{font-weight:500;font-size:.8rem;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .character-sheet .cw-range{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;background:var(--dnd-surface-2);border:1px solid var(--border-subtle);border-radius:12px;padding:8px 11px}:root[data-theme^=modern-] .character-sheet .cw-range-val{font-size:.82rem;font-weight:700;color:var(--dnd-text);white-space:nowrap}:root[data-theme^=modern-] .character-sheet .cw-detail{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--border-subtle);background:var(--dnd-surface-0);padding:13px}:root[data-theme^=modern-] .character-sheet .cw-detail-block{display:flex;flex-direction:column;gap:7px}:root[data-theme^=modern-] .character-sheet .cw-detail-label{font-size:.6rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .cw-prop-chips{display:flex;flex-wrap:wrap;gap:6px}:root[data-theme^=modern-] .character-sheet .cw-prop-chip{font-size:.74rem;font-weight:600;color:var(--dnd-text-secondary);background:var(--dnd-surface-2);border:1px solid var(--border-subtle);border-radius:8px;padding:4px 10px}:root[data-theme^=modern-] .character-sheet .cw-mastery-detail{display:flex;flex-direction:column;gap:6px;background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-18);border-radius:12px;padding:11px 12px}:root[data-theme^=modern-] .character-sheet .cw-mastery-detail-head{display:flex;align-items:center;gap:8px}:root[data-theme^=modern-] .character-sheet .cw-mastery-detail-title{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .cw-mastery-absent-badge{font-size:.58rem;font-weight:700;text-transform:uppercase;color:var(--dnd-muted);border:1px solid var(--border-subtle);border-radius:6px;padding:2px 6px}:root[data-theme^=modern-] .character-sheet .cw-mastery-detail-text{margin:0;font-size:.8rem;line-height:1.5;color:var(--dnd-text-secondary);text-wrap:pretty}:root[data-theme^=modern-] .character-sheet .cw-notes{margin:0;font-size:.8rem;line-height:1.5;color:var(--dnd-text-secondary);text-wrap:pretty}:root[data-theme^=modern-] .character-sheet .cw-detail-empty{margin:0;text-align:center;font-size:.78rem;font-style:italic;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .cw-empty{margin:0;text-align:center;font-size:.85rem;color:var(--dnd-muted);padding:22px 0}:root[data-theme^=modern-] .character-sheet .cw-add{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px}:root[data-theme^=modern-] .character-sheet .cw-add-directory{grid-column:1 / -1;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:none;border-radius:12px;background:var(--dnd-gold-10);color:var(--dnd-gold);font-size:.83rem;font-weight:700;font-family:inherit;padding:11px;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .cw-add-directory:hover{background:var(--dnd-gold-18)}:root[data-theme^=modern-] .character-sheet .cw-add-inventory,:root[data-theme^=modern-] .character-sheet .cw-add-custom{border-radius:12px;background:transparent;font-size:.8rem;font-weight:600;font-family:inherit;padding:10px;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .cw-add-inventory{border:1px solid var(--border-subtle);color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .character-sheet .cw-add-inventory:hover{border-color:var(--dnd-border);color:var(--dnd-text)}:root[data-theme^=modern-] .character-sheet .cw-add-custom{border:1px dashed var(--dnd-border);color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .cw-add-custom:hover{border-color:var(--dnd-gold-18);color:var(--dnd-gold);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .character-sheet .iv-content{display:flex;flex-direction:column;gap:14px}:root[data-theme^=modern-] .character-sheet .iv-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px;margin-bottom:2px}:root[data-theme^=modern-] .character-sheet .iv-header-title{display:flex;align-items:center;gap:9px}:root[data-theme^=modern-] .character-sheet .iv-header-icon{display:inline-flex;color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .iv-header-name{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;color:var(--dnd-text)}:root[data-theme^=modern-] .character-sheet .iv-weight-pill{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:600;color:var(--dnd-text-secondary);background:var(--dnd-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:4px 11px}:root[data-theme^=modern-] .character-sheet .iv-loadout{background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:20px;box-shadow:var(--shadow-md);padding:14px 15px;display:flex;flex-direction:column;gap:11px}:root[data-theme^=modern-] .character-sheet .iv-loadout-head{display:flex;align-items:center;justify-content:space-between;gap:8px}:root[data-theme^=modern-] .character-sheet .iv-loadout-title{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .iv-loadout-hint{font-size:.68rem;font-weight:600;color:var(--dnd-gold);text-align:right}:root[data-theme^=modern-] .character-sheet .iv-loadout-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}:root[data-theme^=modern-] .character-sheet .iv-slot{min-width:0;min-height:80px;display:flex;flex-direction:column;align-items:stretch;gap:3px;border-radius:14px;padding:10px 11px 11px;border:1px dashed var(--dnd-border);background:var(--dnd-surface-0);font-family:inherit;text-align:left;cursor:pointer;touch-action:manipulation;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .iv-slot:disabled{cursor:default}:root[data-theme^=modern-] .character-sheet .iv-slot.is-filled{border:1px solid var(--dnd-gold-18);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .character-sheet .iv-slot-label{display:flex;align-items:center;gap:5px;font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .iv-slot.is-filled .iv-slot-label{color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .iv-slot-label .iv-slot-svg{display:inline-flex}:root[data-theme^=modern-] .character-sheet .iv-slot-label svg{width:12px;height:12px}:root[data-theme^=modern-] .character-sheet .iv-slot-name{margin-top:auto;font-size:.82rem;font-weight:600;line-height:1.2;color:var(--dnd-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme^=modern-] .character-sheet .iv-slot.is-filled .iv-slot-name{font-size:.86rem;font-weight:700;color:var(--dnd-text)}:root[data-theme^=modern-] .character-sheet .iv-slot-sub{font-size:.66rem;font-weight:700;color:var(--dnd-gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-height:.9em}:root[data-theme^=modern-] .character-sheet .iv-slot.is-filled .iv-slot-sub{font-size:.64rem;font-weight:600;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .character-sheet .iv-mid-row{display:flex;gap:10px;align-items:stretch}:root[data-theme^=modern-] .character-sheet .iv-attune{flex:0 0 40%;display:flex;flex-direction:column;justify-content:center;gap:6px;background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);padding:11px 13px}:root[data-theme^=modern-] .character-sheet .iv-attune-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .iv-attune-counter{display:flex;align-items:center;gap:4px}:root[data-theme^=modern-] .character-sheet .iv-attune-btn{width:24px;height:24px;flex-shrink:0;border:1px solid var(--border-subtle);border-radius:8px;background:var(--dnd-surface-2);color:var(--dnd-text-secondary);font-size:1rem;line-height:1;cursor:pointer;font-family:inherit;touch-action:manipulation;display:flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .iv-attune-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--dnd-text)}:root[data-theme^=modern-] .character-sheet .iv-attune-btn:disabled{opacity:.4;cursor:default}:root[data-theme^=modern-] .character-sheet .iv-attune-count{font-size:1.35rem;font-weight:800;color:var(--dnd-gold);font-variant-numeric:tabular-nums;line-height:1;margin-left:2px}:root[data-theme^=modern-] .character-sheet .iv-attune-sep{font-size:.8rem;font-weight:600;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .iv-attune-max{font-size:.85rem;font-weight:700;color:var(--dnd-text-secondary);font-variant-numeric:tabular-nums;cursor:pointer;padding:2px 4px;border-radius:6px;margin-right:auto;transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .iv-attune-max:hover{background:var(--surface-hover)}:root[data-theme^=modern-] .character-sheet .iv-attune-pips{display:flex;gap:4px}:root[data-theme^=modern-] .character-sheet .iv-attune-pip{flex:1;height:4px;border-radius:var(--radius-full);background:var(--dnd-surface-3)}:root[data-theme^=modern-] .character-sheet .iv-attune-pip.on{background:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .iv-coins{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}:root[data-theme^=modern-] .character-sheet .iv-coin{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--dnd-surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:8px 2px;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .iv-coin.is-active{border-color:var(--dnd-gold);box-shadow:0 0 0 3px var(--dnd-gold-10)}:root[data-theme^=modern-] .character-sheet .iv-coin-input{width:100%;min-width:0;text-align:center;border:none;background:transparent;color:var(--dnd-text);font-size:.92rem;font-weight:700;font-family:inherit;outline:none;font-variant-numeric:tabular-nums;padding:0}:root[data-theme^=modern-] .character-sheet .iv-coin-label{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .iv-coin--platinum .iv-coin-label{color:#9ba1ad}:root[data-theme^=modern-] .character-sheet .iv-coin--gold .iv-coin-label{color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .iv-coin--silver .iv-coin-label{color:#8f95a1}:root[data-theme^=modern-] .character-sheet .iv-coin--copper .iv-coin-label{color:#b87a4b}:root[data-theme^=modern-] .character-sheet .iv-chips{display:flex;flex-wrap:nowrap;gap:7px;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;margin-bottom:-2px;scroll-padding-left:4px}:root[data-theme^=modern-] .character-sheet .iv-chips::-webkit-scrollbar{display:none}:root[data-theme^=modern-] .character-sheet .iv-chip{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;white-space:nowrap;border-radius:10px;padding:7px 11px;font-size:.76rem;font-weight:600;font-family:inherit;cursor:pointer;touch-action:manipulation;background:var(--dnd-surface-2);color:var(--dnd-text-secondary);border:1px solid var(--border-subtle);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .iv-chip:hover{color:var(--dnd-text)}:root[data-theme^=modern-] .character-sheet .iv-chip.is-active{background:var(--dnd-gold-10);color:var(--dnd-gold);border-color:var(--dnd-gold-18);font-weight:700}:root[data-theme^=modern-] .character-sheet .iv-chip-icon{display:inline-flex}:root[data-theme^=modern-] .character-sheet .iv-chip-icon svg{width:14px;height:14px}:root[data-theme^=modern-] .character-sheet .iv-chip-count{font-size:.62rem;font-weight:700;font-variant-numeric:tabular-nums;border-radius:6px;padding:1px 6px;background:var(--dnd-surface-3);color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .iv-chip.is-active .iv-chip-count{background:var(--dnd-gold-18);color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .iv-list{display:flex;flex-direction:column;gap:6px}:root[data-theme^=modern-] .character-sheet .iv-item{background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:13px;box-shadow:var(--shadow-sm);padding:8px 10px;display:flex;flex-direction:column;gap:0;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .iv-item.is-equipped{border-color:var(--dnd-gold-18);box-shadow:inset 3px 0 0 var(--dnd-gold),var(--shadow-sm);padding-left:12px}:root[data-theme^=modern-] .character-sheet .iv-item.dragging{opacity:.5}:root[data-theme^=modern-] .character-sheet .iv-item.drag-over{border-color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .iv-item-main{display:flex;align-items:center;gap:10px}:root[data-theme^=modern-] .character-sheet .iv-item-tile{width:30px;height:30px;flex-shrink:0;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--dnd-surface-2);border:1px solid var(--border-subtle);color:var(--dnd-text-secondary);cursor:pointer}:root[data-theme^=modern-] .character-sheet .iv-item-tile.is-equipped{background:var(--dnd-gold-10);border-color:var(--dnd-gold-18);color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .iv-item-tile svg{width:16px;height:16px}:root[data-theme^=modern-] .character-sheet .iv-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;cursor:pointer}:root[data-theme^=modern-] .character-sheet .iv-item-name{font-size:.88rem;font-weight:700;color:var(--dnd-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme^=modern-] .character-sheet .iv-item-tags{display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-width:0}:root[data-theme^=modern-] .character-sheet .iv-tag{font-size:.66rem;font-weight:700;letter-spacing:.02em;border-radius:7px;padding:3px 8px;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}:root[data-theme^=modern-] .character-sheet .iv-tag--dmg,:root[data-theme^=modern-] .character-sheet .iv-tag--warn{color:var(--v-hp-damage);background:color-mix(in srgb,var(--dnd-danger) 14%,transparent)}:root[data-theme^=modern-] .character-sheet .iv-tag--ac{color:var(--dnd-info);background:color-mix(in srgb,var(--dnd-info) 14%,transparent)}:root[data-theme^=modern-] .character-sheet .iv-tag--muted,:root[data-theme^=modern-] .character-sheet .iv-tag--sent{color:var(--dnd-muted);background:var(--dnd-surface-2);border:1px solid var(--border-subtle)}:root[data-theme^=modern-] .character-sheet .iv-pill{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:30px;padding:0;border-radius:var(--radius-full);font-family:inherit;cursor:pointer;touch-action:manipulation;border:1px solid var(--dnd-gold-18);background:transparent;color:var(--dnd-gold);transition:background var(--duration-fast) var(--ease-out),filter var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .iv-pill:hover{background:var(--dnd-gold-10)}:root[data-theme^=modern-] .character-sheet .iv-pill.is-on{border-color:transparent;background:var(--dnd-gold);color:var(--dnd-on-gold);box-shadow:inset 0 1px #ffffff40}:root[data-theme^=modern-] .character-sheet .iv-pill.is-on:hover{filter:brightness(1.06);background:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .iv-pill--warn{border-color:color-mix(in srgb,var(--dnd-danger) 40%,transparent);color:var(--v-hp-damage)}:root[data-theme^=modern-] .character-sheet .iv-pill--warn:hover{background:color-mix(in srgb,var(--dnd-danger) 14%,transparent)}:root[data-theme^=modern-] .character-sheet .iv-stepper{display:inline-flex;align-items:center;gap:1px;flex-shrink:0;background:var(--dnd-surface-2);border:1px solid var(--border-subtle);border-radius:9px;padding:2px}:root[data-theme^=modern-] .character-sheet .iv-stepper-btn{width:24px;height:24px;border:none;border-radius:7px;background:transparent;color:var(--dnd-text-secondary);font-size:1rem;line-height:1;cursor:pointer;font-family:inherit;touch-action:manipulation;display:flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .iv-stepper-btn:hover{background:var(--surface-hover);color:var(--dnd-text)}:root[data-theme^=modern-] .character-sheet .iv-stepper-val{min-width:18px;text-align:center;font-size:.82rem;font-weight:700;color:var(--dnd-text);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .character-sheet .iv-stepper-val--ro{min-width:auto;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .character-sheet .iv-item-del,:root[data-theme^=modern-] .character-sheet .iv-item-cancel{width:28px;height:28px;flex-shrink:0;border-radius:8px;border:1px solid var(--border-subtle);background:transparent;color:var(--dnd-muted);cursor:pointer;font-family:inherit;font-size:.74rem;display:flex;align-items:center;justify-content:center;touch-action:manipulation;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .iv-item-del:hover{color:var(--v-hp-damage);background:color-mix(in srgb,var(--dnd-danger) 14%,transparent);border-color:color-mix(in srgb,var(--dnd-danger) 14%,transparent)}:root[data-theme^=modern-] .character-sheet .iv-item-cancel{color:var(--dnd-gold);border-color:var(--dnd-gold-18);font-size:.95rem}:root[data-theme^=modern-] .character-sheet .iv-item-cancel:hover{background:var(--dnd-gold-10)}:root[data-theme^=modern-] .character-sheet .iv-warn{display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--dnd-danger) 12%,transparent);border:1px solid color-mix(in srgb,var(--dnd-danger) 20%,transparent);border-radius:11px;padding:9px 11px;margin-top:9px;animation:modernModalSheetUp .2s var(--ease-out)}:root[data-theme^=modern-] .character-sheet .iv-warn-text{flex:1;min-width:0;font-size:.74rem;line-height:1.4;color:var(--v-hp-damage)}:root[data-theme^=modern-] .character-sheet .iv-warn-btn{flex-shrink:0;border:none;border-radius:9px;background:var(--dnd-danger);color:#fff;font-size:.72rem;font-weight:700;padding:7px 11px;cursor:pointer;font-family:inherit;touch-action:manipulation}:root[data-theme^=modern-] .character-sheet .iv-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px 0;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .iv-empty-icon{opacity:.5}:root[data-theme^=modern-] .character-sheet .iv-empty-text{margin:0;font-size:.85rem}:root[data-theme^=modern-] .character-sheet .iv-add{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px}:root[data-theme^=modern-] .character-sheet .iv-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:var(--radius-xl);padding:12px;font-size:.82rem;font-weight:700;font-family:inherit;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .iv-add-btn--dir{border:none;background:var(--dnd-gold-10);color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .iv-add-btn--dir:hover{background:var(--dnd-gold-18)}:root[data-theme^=modern-] .character-sheet .iv-add-btn--custom{border:1px dashed var(--dnd-border);background:transparent;color:var(--dnd-text-secondary);font-weight:600}:root[data-theme^=modern-] .character-sheet .iv-add-btn--custom:hover{border-color:var(--dnd-gold-18);color:var(--dnd-gold);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .character-sheet .iv-purse{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:9px;background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);padding:11px 13px}:root[data-theme^=modern-] .character-sheet .iv-purse-head{display:flex;align-items:center;justify-content:space-between;gap:8px}:root[data-theme^=modern-] .character-sheet .iv-purse-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-muted)}:root[data-theme^=modern-] .character-sheet .iv-purse-edit{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--dnd-gold-18);border-radius:var(--radius-full);background:var(--dnd-gold-10);color:var(--dnd-gold);font-size:.66rem;font-weight:700;font-family:inherit;padding:4px 10px;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .character-sheet .iv-purse-edit:hover{background:var(--dnd-gold-18)}:root[data-theme^=modern-] .character-sheet .iv-purse-coins{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}:root[data-theme^=modern-] .character-sheet .iv-purse-coin{display:inline-flex;align-items:baseline;gap:3px}:root[data-theme^=modern-] .character-sheet .iv-purse-val{font-size:.95rem;font-weight:800;color:var(--dnd-text);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .character-sheet .iv-purse-lbl{font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}:root[data-theme^=modern-] .character-sheet .iv-purse-coin--platinum .iv-purse-lbl{color:#9ba1ad}:root[data-theme^=modern-] .character-sheet .iv-purse-coin--gold .iv-purse-lbl{color:var(--dnd-gold)}:root[data-theme^=modern-] .character-sheet .iv-purse-coin--silver .iv-purse-lbl{color:#8f95a1}:root[data-theme^=modern-] .character-sheet .iv-purse-coin--copper .iv-purse-lbl{color:#b87a4b}
