.confirm-dialog{max-width:400px}.confirm-dialog .modal-header{border-bottom:none;padding-bottom:0}.confirm-icon{font-size:2rem;display:flex;align-items:center;justify-content:center;padding:.25rem 1.5rem 0;line-height:1}.confirm-body{padding:.75rem 1.5rem 1.25rem;color:var(--dnd-text);font-size:.95rem;line-height:1.6;opacity:.88}.confirm-actions{display:flex;justify-content:flex-end;gap:.6rem;padding:0 1.5rem 1.5rem}.confirm-btn{padding:.4rem 1rem;border-radius:var(--radius-md);font-size:.825rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .18s ease;letter-spacing:.02em}.confirm-btn:active{transform:scale(.97)}.confirm-btn--cancel{background:var(--dnd-surface-3);border-color:var(--dnd-gold-20);color:var(--dnd-muted)}.confirm-btn--cancel:hover{background:var(--dnd-surface-2);border-color:var(--dnd-gold-30);color:var(--dnd-text)}.confirm-btn--confirm{background:var(--dnd-gold);color:var(--dnd-on-gold);box-shadow:0 2px 8px var(--dnd-gold-25)}.confirm-btn--confirm:hover{filter:brightness(1.1);box-shadow:0 4px 14px var(--dnd-gold-35, rgba(212,175,55,.35))}.confirm-btn--danger{background:linear-gradient(135deg,#c0392b,#922b21);color:#fff;box-shadow:0 2px 8px #c0392b4d}.confirm-btn--danger:hover{background:linear-gradient(135deg,#d44332,#a83228);box-shadow:0 4px 14px #c0392b73}:root[data-theme=light] .confirm-btn--cancel{background:#f5f2ec;border-color:var(--dnd-border);color:#6a6355}:root[data-theme=light] .confirm-btn--cancel:hover{background:#ede8df;border-color:var(--dnd-gold);color:#4a463b}:root[data-theme=light] .confirm-btn--confirm{color:#fff}.modal-form-body{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.empty-state-block{text-align:center;padding:3rem 1.5rem;color:var(--dnd-text)}.empty-state-icon{font-size:3rem;margin-bottom:.75rem;opacity:.45;filter:grayscale(.25)}.empty-state-block h3{color:var(--dnd-gold);font-family:var(--font-display);font-size:1.2rem;margin:0 0 .5rem}.empty-state-block p{opacity:.55;font-style:italic;margin:0 0 1.25rem;line-height:1.55}.empty-state-cta{display:inline-block;padding:.55rem 1.4rem;border-radius:var(--radius-md);background:var(--dnd-gold);color:var(--dnd-on-gold);font-weight:600;font-size:.9rem;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px var(--dnd-gold-25)}.empty-state-cta:hover{filter:brightness(1.1);box-shadow:0 4px 14px var(--dnd-gold-35, rgba(212,175,55,.35))}.error-banner{text-align:center;padding:.85rem 1rem;margin:.5rem 0;border-radius:var(--radius-md);background:#c0392b1a;border:1px solid rgba(192,57,43,.25);border-left:3px solid rgba(192,57,43,.7);color:#f99;font-size:.9rem;line-height:1.5}:root[data-theme=light] .error-banner{background:#fff0f0;border-color:#ffc0c0;border-left-color:#c0392b;color:#c0392b}body.modal-open{scrollbar-width:none}body.modal-open::-webkit-scrollbar{display:none}body{background-color:var(--dnd-darker);color:var(--dnd-text);transition:var(--theme-transition)}.character-sheet,.wizard-container,.section,.sheet-header,.sheet-tabs,.sheet-tab,.tab-content,.hp-bar-container,.hp-btn,.hp-input,.dice-roll-modal,.dice-roll-header,.dice-roll-btn,.burger-dropdown,.burger-item,.combat-weapon-card,.spell-circle-row,.slot-btn,.quick-dice-panel,.theme-toggle{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}:root[data-theme=light] body{background-color:var(--dnd-darker)}:root[data-theme=light] h1,:root[data-theme=light] h2,:root[data-theme=light] h3,:root[data-theme=light] h4,:root[data-theme=light] h5,:root[data-theme=light] h6{color:#2d2a24}:root[data-theme=light] input,:root[data-theme=light] select,:root[data-theme=light] textarea{background:#fff;color:var(--dnd-text);border-color:var(--dnd-border)}:root[data-theme=light] input:focus,:root[data-theme=light] select:focus,:root[data-theme=light] textarea:focus{border-color:var(--dnd-gold);box-shadow:0 0 0 3px #7a5c1e1a}:root[data-theme=paper] body{background-color:var(--dnd-darker);font-family:var(--font-primary);font-size:17px;line-height:1.55}:root[data-theme=paper] h1,:root[data-theme=paper] h2,:root[data-theme=paper] h3,:root[data-theme=paper] h4,:root[data-theme=paper] h5,:root[data-theme=paper] h6{color:#1a1a1a}:root[data-theme=paper] input,:root[data-theme=paper] select,:root[data-theme=paper] textarea{background:#fff;color:var(--dnd-text);border-color:var(--dnd-border)}:root[data-theme=paper] input:focus,:root[data-theme=paper] select:focus,:root[data-theme=paper] textarea:focus{border-color:#333;box-shadow:0 0 0 2px #33333326}:root[data-theme=fantasy-rpg] body{background-color:var(--dnd-darker);font-family:var(--font-primary)}:root[data-theme=fantasy-rpg] h1,:root[data-theme=fantasy-rpg] h2,:root[data-theme=fantasy-rpg] h3,:root[data-theme=fantasy-rpg] h4,:root[data-theme=fantasy-rpg] h5,:root[data-theme=fantasy-rpg] h6{color:var(--dnd-gold-dark);font-family:var(--font-display)}:root[data-theme=fantasy-rpg] input,:root[data-theme=fantasy-rpg] select,:root[data-theme=fantasy-rpg] textarea{background:var(--surface-input);color:var(--dnd-text);border-color:var(--dnd-border)}:root[data-theme=fantasy-rpg] input:focus,:root[data-theme=fantasy-rpg] select:focus,:root[data-theme=fantasy-rpg] textarea:focus{border-color:var(--dnd-gold);box-shadow:0 0 0 3px var(--dnd-gold-12)}:root[data-theme^=modern-] body{background-color:var(--dnd-darker);font-family:var(--font-primary);-webkit-font-smoothing:antialiased}:root[data-theme^=modern-] h1,:root[data-theme^=modern-] h2,:root[data-theme^=modern-] h3,:root[data-theme^=modern-] h4,:root[data-theme^=modern-] h5,:root[data-theme^=modern-] h6{color:var(--dnd-text-light);letter-spacing:-.01em}:root[data-theme^=modern-] input,:root[data-theme^=modern-] select,:root[data-theme^=modern-] textarea{background:var(--surface-input);color:var(--dnd-text);border-color:var(--dnd-border);border-radius:var(--radius-md)}:root[data-theme^=modern-] input:focus,:root[data-theme^=modern-] select:focus,:root[data-theme^=modern-] textarea:focus{border-color:var(--dnd-gold);box-shadow:0 0 0 3px var(--dnd-gold-25)}.app-layout{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app-layout__main{flex:1 1 auto}.page-container{width:100%;max-width:960px;margin:0 auto;padding:0 var(--sp-4)}@media(min-width:1400px){.page-container{max-width:1100px}}.section-card{background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-lg);padding:var(--sp-4);box-shadow:var(--shadow-sm)}.section-card+.section-card{margin-top:var(--sp-4)}.tabs-scroll{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0;position:relative}.tabs-scroll::-webkit-scrollbar{display:none}.tabs-scroll-wrapper{position:relative}.tabs-scroll-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:0;width:40px;background:linear-gradient(to right,transparent,var(--dnd-surface-1));pointer-events:none;opacity:0;transition:opacity .2s;z-index:1}.tabs-scroll-wrapper--fade:after{opacity:1}.hide-mobile{display:none}@media(min-width:768px){.hide-mobile{display:initial}.hide-desktop{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);background:var(--dnd-surface-1);border:1px solid var(--dnd-border);color:var(--dnd-text-light);padding:.625rem 1.25rem;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--fw-medium);cursor:pointer;transition:all var(--duration-fast) ease;position:relative;overflow:hidden;white-space:nowrap;min-height:44px}.btn:hover{border-color:var(--dnd-gold);background:var(--surface-hover);color:var(--dnd-gold);box-shadow:var(--glow-gold-sm)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--dnd-gold);border-color:var(--dnd-gold);color:var(--dnd-on-gold);font-weight:var(--fw-semibold)}.btn-primary:hover{background:var(--dnd-gold-light);border-color:var(--dnd-gold-light);color:var(--dnd-on-gold);box-shadow:var(--glow-gold-md)}.btn-secondary{border-color:transparent;color:var(--dnd-text);background:transparent}.btn-secondary:hover{border-color:transparent;color:var(--dnd-gold);background:var(--dnd-gold-06)}.btn-ghost{border-color:transparent;background:transparent;color:var(--dnd-text-secondary)}.btn-ghost:hover{background:var(--dnd-gold-10);color:var(--dnd-gold);border-color:transparent;box-shadow:none}.btn-danger{border-color:var(--dnd-danger);color:var(--dnd-danger);background:transparent}.btn-danger:hover{background:var(--dnd-danger);color:var(--dnd-text-light);box-shadow:0 0 20px #ef53504d}.btn-success{border-color:var(--dnd-success);color:var(--dnd-success);background:transparent}.btn-success:hover{background:var(--dnd-success);color:#fff;box-shadow:0 0 20px #4caf504d}.btn-sm{padding:.4rem .75rem;font-size:.8rem;min-height:36px;border-radius:var(--radius-sm)}.btn-lg{padding:.8rem 1.75rem;font-size:1.1rem;min-height:48px}.btn-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .8s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-icon-left,.btn-icon-right{display:inline-flex;align-items:center;flex-shrink:0}:root[data-theme=light] .btn{border-color:var(--dnd-border);background:#fff;color:var(--dnd-text);box-shadow:var(--shadow-xs)}:root[data-theme=light] .btn:hover{background:var(--surface-hover);border-color:var(--dnd-gold);color:var(--dnd-gold)}:root[data-theme=light] .btn-primary,:root[data-theme=light] .btn-next,:root[data-theme=light] .btn-complete{background:var(--dnd-gold);color:var(--dnd-on-gold);border-color:var(--dnd-gold)}:root[data-theme=light] .btn-primary:hover,:root[data-theme=light] .btn-next:hover,:root[data-theme=light] .btn-complete:hover{background:var(--dnd-gold-dark);box-shadow:var(--glow-gold-md)}:root[data-theme=light] .btn-load{background:#fff;border-color:var(--dnd-border)}@media(max-width:480px){.btn-full-mobile{width:100%}}.wizard-container{min-height:100vh;background:linear-gradient(180deg,var(--dnd-darker) 0%,var(--dnd-dark) 50%,var(--dnd-dark) 100%);background-attachment:fixed;padding:1.25rem 1rem;padding-top:calc(1.25rem + env(safe-area-inset-top,0px));font-family:var(--font-primary);position:relative}.wizard-container: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}:root[data-theme=light] .wizard-container:before{background-image:radial-gradient(circle at 20% 50%,rgba(139,112,20,.05) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(217,83,79,.03) 0%,transparent 50%)}.wizard-header{text-align:center;margin-bottom:1.25rem;animation:fadeIn .8s ease-out;position:relative;z-index:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.wizard-header h1{color:var(--dnd-gold);font-size:1.9rem;margin:0 0 .25rem;text-shadow:0 2px 6px rgba(0,0,0,.45);letter-spacing:1.5px;font-family:var(--font-display);font-weight:700}.wizard-header:after{content:"";display:block;width:180px;height:1px;background:linear-gradient(90deg,transparent,var(--dnd-gold-50),transparent);margin:.85rem auto 0}.wizard-header p{color:var(--dnd-text);font-style:italic;letter-spacing:1px;margin:0}.progress-indicator{display:flex;justify-content:center;align-items:flex-start;gap:0;flex-wrap:nowrap;margin-top:1.25rem;margin-bottom:1rem;padding:.5rem 1.5rem 2.5rem;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.progress-indicator .step{display:flex;flex-direction:column;align-items:center;position:relative;flex:0 0 auto;min-width:60px;cursor:default}.progress-indicator .step[role=button]{cursor:pointer;touch-action:manipulation}.progress-indicator .step+.step:before{content:"";position:absolute;top:19px;right:calc(50% + 19px);left:calc(-50% + 19px);height:2px;background:var(--dnd-border);transition:background .3s ease;z-index:0}.progress-indicator .step.completed+.step:before{background:var(--dnd-gold-50)}.step-number{width:38px;height:38px;border-radius:50%;background:#0d1b2acc;border:2px solid var(--dnd-border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:var(--dnd-text);transition:all .3s ease;position:relative;z-index:1;box-shadow:0 2px 10px #0006;flex-shrink:0;line-height:1}.step-label{margin-top:6px;font-size:.57rem;font-weight:500;text-align:center;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;color:var(--dnd-text);opacity:.55;letter-spacing:.1px;max-width:72px;line-height:1.25;pointer-events:none}.step.active .step-label{opacity:1;color:var(--dnd-gold);font-weight:700}.step.completed .step-label{opacity:.75;color:var(--dnd-text)}.step.active .step-number{background:linear-gradient(135deg,var(--dnd-gold) 0%,var(--dnd-gold-dark) 100%);border-color:var(--dnd-gold);color:#1a1a1a;box-shadow:0 0 0 4px var(--dnd-gold-20),0 0 20px var(--dnd-gold-50),inset 0 1px #ffffff4d;transform:scale(1.15)}.step.completed .step-number{background:var(--dnd-gold-15);border-color:var(--dnd-gold-50);color:var(--dnd-gold);font-size:0}.step.completed .step-number:after{content:"✓";font-size:1rem;font-weight:700;color:var(--dnd-gold)}.wizard-content{max-width:900px;margin:0 auto;animation:slideIn .6s ease-out;position:relative;z-index:1;scroll-margin-top:1rem}@media(max-width:768px){.wizard-container{padding:1rem}.wizard-header h1{font-size:2rem}.progress-indicator{gap:0;justify-content:space-between;padding-left:.5rem;padding-right:.5rem}.step-number{width:30px;height:30px;font-size:.85rem}.step-label{font-size:.56rem;max-width:48px}.progress-indicator .step{min-width:44px}.progress-indicator .step+.step:before{top:15px}}@media(max-width:480px){.wizard-header h1{font-size:1.5rem}.step-number{width:28px;height:28px;font-size:.8rem}.step-label{display:none}.step.active .step-label{display:block;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);max-width:84px;font-size:.6rem}.progress-indicator .step+.step:before{top:14px}}:root[data-theme=light] .wizard-container{background:linear-gradient(180deg,#f8f5f0,#ede8df,#e5dfd4)}:root[data-theme=light] .wizard-header h1{color:#2d2a24;text-shadow:none}:root[data-theme=light] .wizard-header p{color:#5c5647}:root[data-theme=light] .progress-indicator .step .step-number{background:#f0ebe0;border-color:#c5baa0;color:#4a3f2f;box-shadow:0 2px 6px #0000001a}:root[data-theme=light] .progress-indicator .step.active .step-number{background:linear-gradient(135deg,#c9a230,#a0811a);border-color:#a0811a;color:#1a1a1a;box-shadow:0 0 0 4px #c9a23033,0 0 20px #c9a23073,inset 0 1px #ffffff4d}:root[data-theme=light] .progress-indicator .step.completed .step-number{background:#c9a23026;border-color:#c9a230;color:#8a6b1a}.wizard-step-error{margin:.5rem 0 0;font-size:.85rem;color:var(--dnd-accent-red);text-align:center;flex-basis:100%}:root[data-theme^=modern-] .wizard-container:before{display:none}:root[data-theme^=modern-] .wizard-header h1{text-shadow:none;letter-spacing:-.02em}:root[data-theme^=modern-] .progress-indicator .step .step-number{background:var(--dnd-surface-2);border:1.5px solid var(--dnd-border);color:var(--dnd-text-secondary);box-shadow:var(--shadow-xs)}:root[data-theme^=modern-] .progress-indicator .step.active .step-number{background:var(--dnd-gold);border-color:var(--dnd-gold);color:var(--dnd-on-gold);box-shadow:0 0 0 4px var(--dnd-gold-20);transform:none}:root[data-theme^=modern-] .progress-indicator .step.completed .step-number{background:var(--dnd-gold);border-color:var(--dnd-gold);color:var(--dnd-on-gold)}:root[data-theme^=modern-] .progress-indicator .step.completed .step-number:after{color:var(--dnd-on-gold)}.character-review{background:var(--dnd-surface-1);padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--dnd-gold-15);box-shadow:0 4px 24px #0006,inset 0 1px 1px var(--dnd-gold-08);position:relative}.character-review:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--dnd-gold),transparent);opacity:.6}.character-review:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--dnd-gold),transparent);opacity:.6}.name-input-group{margin-bottom:1.5rem;display:flex;flex-direction:column}.name-input-group label{font-weight:600;color:var(--dnd-gold);margin-bottom:.75rem;font-size:1.1rem;letter-spacing:1px;text-transform:uppercase;font-family:var(--font-primary)}.name-input-group input{padding:.75rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;color:var(--dnd-text-light);transition:border-color .2s ease,box-shadow .2s ease}.name-input-group input::placeholder{color:var(--dnd-muted);opacity:.45}.name-input-group input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-15)}.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-bottom:1.5rem}.review-section{background:var(--dnd-surface-0);padding:1.25rem;border-radius:var(--radius-md);border:1px solid var(--dnd-border);border-left:3px solid var(--dnd-gold);position:relative;transition:all .2s ease}.review-section:hover{border-left-color:var(--dnd-accent-red);box-shadow:0 4px 20px var(--dnd-gold-10),inset 0 0 0 1px var(--dnd-gold-06)}.review-section h3{color:var(--dnd-gold);margin-top:0;margin-bottom:.75rem;font-size:1.1rem;font-family:var(--font-display);letter-spacing:1.5px;text-transform:uppercase;font-weight:700}.info-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--dnd-gold-08)}.info-row:last-child{border-bottom:none}.label{font-weight:600;color:var(--dnd-text);font-size:.95rem}.value{color:var(--dnd-gold);font-weight:700;letter-spacing:.5px}.ability-scores{grid-column:span 1}.ability-scores-compact{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.ability-compact{background:var(--dnd-surface-0);padding:.625rem;border-radius:var(--radius-sm);text-align:center;border:1px solid var(--dnd-border);transition:all .2s ease;position:relative}.ability-compact:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--dnd-gold),transparent);opacity:0;transition:opacity .3s ease}.ability-compact:hover{border-color:var(--dnd-gold);background:#09191a;box-shadow:0 4px 15px var(--dnd-gold-15)}.ability-compact:hover:before{opacity:1}.ability-short{display:block;font-size:.75rem;font-weight:700;color:var(--dnd-text);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:1px}.ability-score{display:block;font-size:1.4rem;font-weight:700;color:var(--dnd-gold);text-shadow:0 2px 4px rgba(0,0,0,.5)}.ability-mod{display:block;font-size:.85rem;color:var(--dnd-accent-red);font-weight:700;margin-top:.25rem}.skills{grid-column:span 1}.skills-list{list-style:none;padding:0;margin:0}.skills-list li{padding:.6rem 0 .6rem 1.5rem;position:relative;color:var(--dnd-text);font-size:.95rem;transition:color .3s ease}.skills-list li:hover{color:var(--dnd-gold)}.skills-list li:before{content:"◆";position:absolute;left:0;color:var(--dnd-gold);font-size:.8rem}.features{grid-column:span 1}.review-summary{margin-bottom:1.5rem}.summary-card{background:linear-gradient(135deg,var(--dnd-gold-15) 0%,var(--dnd-red-10) 100%);border:1px solid var(--dnd-gold);color:var(--dnd-text-light);padding:1.25rem;border-radius:var(--radius-md);text-align:center;box-shadow:0 0 20px var(--dnd-gold-20),inset 0 1px 0 var(--dnd-gold-10);position:relative}.summary-card:before,.summary-card:after{content:"◆ ◆ ◆";position:absolute;left:1rem;color:var(--dnd-gold);opacity:.5;font-size:.8rem;letter-spacing:4px}.summary-card:before{top:1rem}.summary-card:after{bottom:1rem;right:1rem;left:auto}.summary-card h4{margin-top:0;margin-bottom:.5rem;font-size:1.25rem;font-family:var(--font-display);font-weight:700;letter-spacing:1.5px;color:var(--dnd-gold)}.summary-card p{margin:.75rem 0;font-size:1rem;text-shadow:1px 1px 2px rgba(0,0,0,.5)}@media(max-width:768px){.character-review{padding:1.5rem}.review-grid{grid-template-columns:1fr}.ability-scores-compact{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.character-review{padding:1rem}.ability-scores-compact{grid-template-columns:repeat(3,1fr)}}:root[data-theme=light] .character-review{background:#fff;box-shadow:0 2px 12px #0000000f}:root[data-theme=light] .review-section{background:#f8f5f0;border-color:var(--dnd-border);box-shadow:none}:root[data-theme=light] .name-input-group input{background:#fff;border-color:var(--dnd-border);color:var(--dnd-text)}:root[data-theme=light] .name-input-group input:focus{background:#fff;border-color:var(--dnd-gold);box-shadow:0 0 0 3px #7a5c1e1a}:root[data-theme=light] .name-input-group input::placeholder{color:#b0a898}:root[data-theme=light] .ability-compact{background:#fff;border-color:var(--dnd-border);box-shadow:0 1px 4px #0000000d}:root[data-theme=light] .ability-compact:hover{background:#f8f5f0;border-color:var(--dnd-gold)}.wizard-header-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-right:5rem;padding-top:max(.5rem,env(safe-area-inset-top,0px))}.user-bar{display:flex;align-items:center;gap:.5rem}.user-name{color:var(--dnd-text);font-size:.8rem;opacity:.7;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-signout{background:var(--dnd-red-20);border:1px solid var(--dnd-accent-red);color:var(--dnd-text-light);padding:.3rem .6rem;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-signout:hover{background:var(--dnd-red-30)}.btn-signout--wizard{background:transparent;border-color:#ffffff1f;color:var(--dnd-text);opacity:.45;font-size:.7rem;padding:.2rem .5rem}.btn-signout--wizard:hover{background:var(--dnd-red-15);border-color:var(--dnd-accent-red);opacity:.8}.btn-content-pack{background:#5050a033;border:1px solid rgba(140,100,220,.5);color:var(--dnd-text-light);padding:.3rem .6rem;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-content-pack:hover{background:#5050a066}.badge-srd{display:inline-block;background:var(--dnd-gold-15);border:1px solid var(--dnd-gold-50);color:var(--dnd-gold);font-size:.65rem;font-weight:700;padding:.1rem .35rem;border-radius:var(--radius-sm);letter-spacing:.05em;margin-right:4px;vertical-align:middle}.btn-back-to-list{font-size:.8rem;padding:.3rem .7rem;white-space:nowrap;flex-shrink:0}.btn-back-to-list-link{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;color:var(--dnd-text);opacity:.55;font-size:.78rem;cursor:pointer;padding:.2rem 0;white-space:nowrap;flex-shrink:0;transition:opacity .2s}.btn-back-to-list-link:hover{opacity:.9}.btn-wizard-reset{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;color:var(--dnd-text);opacity:.55;font-size:.78rem;cursor:pointer;padding:.2rem 0;white-space:nowrap;flex-shrink:0;transition:opacity .2s,color .2s;touch-action:manipulation}.btn-wizard-reset:hover{opacity:.9;color:var(--dnd-accent-red)}.wizard-header-spacer{flex:0 0 auto;min-width:0;visibility:hidden;font-size:.78rem}@media(max-width:480px){.wizard-header-top{padding-right:0;justify-content:center}}.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:flex-start;justify-content:center;z-index:var(--z-modal);padding:1rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.modal-overlay::-webkit-scrollbar{display:none}@keyframes slideInModal{0%{opacity:0;transform:translateY(-20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content{margin-top:auto;margin-bottom:auto;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);box-shadow:0 32px 80px #000000a6,0 12px 32px #0006,inset 0 1px 0 var(--dnd-gold-10);animation:slideInModal .26s cubic-bezier(.22,1,.36,1);max-height:88vh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--dnd-gold-30) transparent;-webkit-overflow-scrolling:touch;width:95vw;max-width:600px;position:relative}.modal-content::-webkit-scrollbar{width:4px}.modal-content::-webkit-scrollbar-track{background:transparent}.modal-content::-webkit-scrollbar-thumb{background:var(--dnd-gold-30);border-radius:2px}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--dnd-gold-50)}.modal-header{display:flex;align-items:center;gap:.6rem;border-bottom:1px solid var(--dnd-gold-15);padding:1rem 1.25rem;margin-bottom:0;position:sticky;top:0;background:linear-gradient(180deg,var(--dnd-surface-2) 0%,var(--dnd-surface-1) 100%);z-index:1}.modal-title{margin:0;flex:1;min-width:0;color:var(--dnd-gold);font-size:1rem;font-weight:700;font-family:var(--font-display);letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-body{padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.875rem}.modal-close{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;min-width:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .18s ease;line-height:1;flex-shrink:0}.modal-close:hover{background:var(--dnd-gold-15);border-color:var(--dnd-gold-30);color:var(--dnd-gold);transform:scale(1.06)}.modal-close:active{transform:scale(.95)}:root[data-theme=light] .modal-overlay{background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}:root[data-theme=light] .modal-content{background:#fff;border-color:var(--dnd-border);border-top-color:var(--dnd-gold);box-shadow:0 20px 56px #0000001f,0 8px 20px #00000012,inset 0 1px #7a5c1e14}:root[data-theme=light] .modal-header{background:linear-gradient(180deg,#f8f5f0,#fff);border-bottom-color:#7a5c1e26}:root[data-theme=light] .modal-title{color:var(--dnd-gold)}:root[data-theme=light] .modal-close{background:#f0ebe3;border-color:var(--dnd-border);color:#7a6a52}:root[data-theme=light] .modal-close:hover{background:#7a5c1e1a;border-color:#7a5c1e4d;color:#5a4210}:root[data-theme^=modern-] .modal-overlay{background:var(--dnd-overlay);-webkit-backdrop-filter:saturate(140%) blur(6px);backdrop-filter:saturate(140%) blur(6px)}@keyframes modernModalSheetUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}:root[data-theme^=modern-] .modal-content{background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);animation:modernModalSheetUp .4s cubic-bezier(.32,.72,0,1)}@media(prefers-reduced-motion:reduce){:root[data-theme^=modern-] .modal-content,:root[data-theme^=modern-] .modal-content.hp-edit-modal{animation:none}}:root[data-theme^=modern-] .modal-header{background:var(--dnd-surface-1);border-bottom:1px solid var(--border-subtle);padding:18px 20px 14px}:root[data-theme^=modern-] .modal-title{font-family:var(--font-primary);font-size:1.05rem;font-weight:700;letter-spacing:-.01em;text-transform:none;color:var(--dnd-text)}:root[data-theme^=modern-] .modal-close{width:30px;height:30px;min-width:30px;border:none;border-radius:var(--radius-full);background:var(--surface-hover);color:var(--dnd-text-secondary);font-size:1rem;transition:background .16s ease,color .16s ease}:root[data-theme^=modern-] .modal-close:hover{background:var(--p-segment-track);color:var(--dnd-text);transform:none}:root[data-theme^=modern-] .modal-body{padding:16px 20px 20px}:root[data-theme^=modern-] .modal-content input:not([type=checkbox]):not([type=radio]):not([type=range]),:root[data-theme^=modern-] .modal-content select,:root[data-theme^=modern-] .modal-content textarea{border:1px solid var(--dnd-border);border-radius:12px;background:var(--surface-input);color:var(--dnd-text);padding:11px 13px}:root[data-theme^=modern-] .modal-content input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,:root[data-theme^=modern-] .modal-content select:focus,:root[data-theme^=modern-] .modal-content textarea:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 3px var(--dnd-gold-10)}:root[data-theme^=modern-] .modal-content.confirm-dialog{max-width:340px;display:flex;flex-direction:column;gap:14px;padding:22px;text-align:center}:root[data-theme^=modern-] .confirm-dialog:has(.confirm-btn--danger):before{content:"⚠";width:52px;height:52px;flex-shrink:0;align-self:center;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:color-mix(in srgb,var(--dnd-danger) 14%,transparent);color:var(--v-hp-damage);font-size:1.5rem}:root[data-theme^=modern-] .confirm-dialog .modal-header{background:none;border-bottom:none;padding:0;position:static;justify-content:center}:root[data-theme^=modern-] .confirm-dialog .modal-title{flex:0 1 auto;font-size:1.1rem;white-space:normal;text-align:center}:root[data-theme^=modern-] .confirm-dialog .modal-close{display:none}:root[data-theme^=modern-] .confirm-dialog .confirm-body{padding:0;font-size:.88rem;line-height:1.5;color:var(--dnd-text-secondary);opacity:1;text-wrap:pretty}:root[data-theme^=modern-] .confirm-dialog .confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0;margin-top:4px}:root[data-theme^=modern-] .confirm-btn{border:none;border-radius:14px;padding:13px;font-size:.9rem;font-weight:600;letter-spacing:normal;transition:filter .16s ease,transform .16s ease}:root[data-theme^=modern-] .confirm-btn--cancel{background:var(--dnd-surface-3);color:var(--dnd-text)}:root[data-theme^=modern-] .confirm-btn--cancel:hover{background:var(--dnd-surface-3);border-color:transparent;color:var(--dnd-text);filter:brightness(1.12)}:root[data-theme=modern-light] .confirm-btn--cancel:hover{filter:brightness(.96)}:root[data-theme^=modern-] .confirm-btn--confirm{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-] .confirm-btn--confirm:hover{filter:brightness(1.06);box-shadow:none}:root[data-theme^=modern-] .confirm-btn--danger,:root[data-theme^=modern-] .confirm-btn--danger:hover{background:var(--dnd-danger);background-image:linear-gradient(180deg,#ffffff2e,#fff0 55%);color:#fff;font-weight:700;box-shadow:none}:root[data-theme^=modern-] .confirm-btn--danger:hover{filter:brightness(1.06)}:root[data-theme^=modern-] .rest-segments{display:flex;gap:4px;background:var(--p-segment-track);border-radius:11px;padding:4px}:root[data-theme^=modern-] .rest-segment{flex:1;min-width:0;border:none;border-radius:8px;padding:9px 4px;font-size:.82rem;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-] .rest-segment.active{background:var(--p-segment-thumb);color:var(--dnd-text);box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .rest-modal-content--short .rest-section--long,:root[data-theme^=modern-] .rest-modal-content--long .rest-section--short{display:none}:root[data-theme^=modern-] .rest-modal-content{padding:16px 20px 20px;gap:14px}:root[data-theme^=modern-] .rest-section{background:none;border:none;padding:0;gap:14px}:root[data-theme^=modern-] .rest-section h4,:root[data-theme^=modern-] .rest-description{display:none}:root[data-theme^=modern-] .rest-hp-info{gap:10px}:root[data-theme^=modern-] .rest-hp-display,:root[data-theme^=modern-] .rest-hit-dice-info{display:flex;flex-direction:column;gap:3px;text-align:left;background:var(--dnd-surface-2);border:none;border-radius:14px;padding:12px 14px}:root[data-theme^=modern-] .rest-stat-label{font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-muted)}:root[data-theme^=modern-] .rest-stat-value{font-size:1.05rem;font-weight:700;color:var(--dnd-text);font-variant-numeric:tabular-nums;line-height:1.3}:root[data-theme^=modern-] .rest-hp-display strong{display:inline;color:var(--dnd-text);font-size:inherit;font-weight:700}:root[data-theme^=modern-] .rest-subsection-label{font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--dnd-muted)}:root[data-theme^=modern-] .rest-hit-dice-controls{gap:8px}:root[data-theme^=modern-] .rest-hit-dice-btn{flex:1;min-width:0;border:none;border-radius:12px;padding:11px 4px;background:var(--dnd-gold-10);color:var(--dnd-gold);font-weight:600;letter-spacing:normal;transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .rest-hit-dice-btn:hover{background:var(--dnd-gold-18);border-color:transparent;box-shadow:none;transform:none}:root[data-theme^=modern-] .rest-roll-result{background:var(--dnd-gold-10);border-left:none;border-radius:12px;padding:10px 13px;color:var(--dnd-gold)}:root[data-theme^=modern-] .rest-recovery-item{color:var(--dnd-text);font-size:.85rem;gap:9px}:root[data-theme^=modern-] .rest-recovery-item:before,:root[data-theme^=modern-] .long-rest-list .rest-recovery-item:before{content:"✓";color:var(--v-hp-heal);opacity:1;font-size:.85rem}:root[data-theme^=modern-] .long-rest-list .rest-recovery-item{color:var(--dnd-text)}:root[data-theme^=modern-] .rest-arcane-slot-btn{border:none;border-radius:12px;padding:9px 13px;background:color-mix(in srgb,var(--dnd-info) 14%,transparent);color:var(--v-hp-temp);font-weight:600;transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .rest-arcane-slot-btn:hover{background:color-mix(in srgb,var(--dnd-info) 22%,transparent);border-color:transparent;transform:none}:root[data-theme^=modern-] .rest-arcane-slot-btn:disabled{opacity:.4;color:var(--v-hp-temp)}:root[data-theme^=modern-] .rest-arcane-used{color:var(--dnd-muted)}:root[data-theme^=modern-] .rest-action-btn{border:none;border-radius:14px;padding:14px;font-size:.92rem;font-weight:700;letter-spacing:normal;transition:filter var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .short-rest-btn,:root[data-theme^=modern-] .short-rest-btn:hover,:root[data-theme^=modern-] .long-rest-btn,:root[data-theme^=modern-] .long-rest-btn:hover{background:var(--dnd-gold);background-image:linear-gradient(180deg,#ffffff38,#fff0 55%);color:var(--dnd-on-gold);border-color:transparent;box-shadow:inset 0 1px #ffffff4d,var(--shadow-sm)}:root[data-theme^=modern-] .short-rest-btn:hover,:root[data-theme^=modern-] .long-rest-btn:hover{filter:brightness(1.06)}:root[data-theme^=modern-] .rest-reset-btn{background:transparent;color:var(--dnd-text-secondary);font-size:.82rem;font-weight:600}:root[data-theme^=modern-] .rest-reset-btn:hover{background:var(--surface-hover);border-color:transparent;color:var(--dnd-text);box-shadow:none;filter:none}:root[data-theme^=modern-] .share-modal-charname{display:flex;align-items:center;gap:11px;margin:16px 20px 0;padding:11px 13px;background:var(--dnd-surface-2);border-radius:14px;font-size:.95rem;font-weight:600;color:var(--dnd-text)}:root[data-theme^=modern-] .share-charname-emoji{display:none}:root[data-theme^=modern-] .share-char-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-full);background:var(--dnd-gold-10);color:var(--dnd-gold);font-size:.85rem;font-weight:700}:root[data-theme^=modern-] .share-form{gap:8px;margin:16px 20px}:root[data-theme^=modern-] .share-email-input{min-width:0}:root[data-theme^=modern-] .share-btn-add,:root[data-theme^=modern-] .share-btn-add:not(:disabled):hover{border:none;border-radius:12px;padding:0 16px;background:var(--dnd-gold);background-image:linear-gradient(180deg,#ffffff38,#fff0 55%);color:var(--dnd-on-gold);font-weight:700;font-size:.85rem;box-shadow:none}:root[data-theme^=modern-] .share-btn-add:not(:disabled):hover{filter:brightness(1.06)}:root[data-theme^=modern-] .share-msg{margin:0 20px 12px;border-left:none;border-radius:12px;font-size:.85rem}:root[data-theme^=modern-] .share-msg-error{background:color-mix(in srgb,var(--dnd-danger) 14%,transparent);color:var(--v-hp-damage)}:root[data-theme^=modern-] .share-msg-success{background:color-mix(in srgb,var(--dnd-success) 14%,transparent);color:var(--v-hp-heal)}:root[data-theme^=modern-] .share-list{padding:0 20px 16px}:root[data-theme^=modern-] .share-list h4,:root[data-theme^=modern-] .share-download-header h4{font-size:.66rem;font-weight:700;letter-spacing:.05em;color:var(--dnd-muted)}:root[data-theme^=modern-] .share-list-item{background:transparent;border:none;border-radius:12px;padding:9px 4px;gap:11px;margin-bottom:0}:root[data-theme^=modern-] .share-list-item:hover{background:var(--surface-hover);border-color:transparent}:root[data-theme^=modern-] .share-list-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-full);font-size:.78rem;font-weight:700}:root[data-theme^=modern-] .share-list-avatar--gold{background:var(--dnd-gold-10);color:var(--dnd-gold)}:root[data-theme^=modern-] .share-list-avatar--info{background:color-mix(in srgb,var(--dnd-info) 14%,transparent);color:var(--v-hp-temp)}:root[data-theme^=modern-] .share-list-avatar--success{background:color-mix(in srgb,var(--dnd-success) 14%,transparent);color:var(--v-hp-heal)}:root[data-theme^=modern-] .share-list-name{color:var(--dnd-text);font-weight:600;font-size:.85rem}:root[data-theme^=modern-] .share-list-email{color:var(--dnd-muted);font-size:.74rem}:root[data-theme^=modern-] .share-btn-remove{width:26px;height:26px;padding:0;border:none;border-radius:var(--radius-full);background:transparent;color:var(--dnd-muted);display:flex;align-items:center;justify-content:center;transition:background .16s ease,color .16s ease}:root[data-theme^=modern-] .share-btn-remove:not(:disabled):hover{background:color-mix(in srgb,var(--dnd-danger) 14%,transparent);border-color:transparent;color:var(--v-hp-damage)}:root[data-theme^=modern-] .share-download-section{border-top:1px solid var(--border-subtle);padding:14px 20px 20px;margin-top:0}:root[data-theme^=modern-] .share-download-lock{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:6px;background:var(--dnd-gold-10);color:var(--dnd-gold);opacity:1}:root[data-theme^=modern-] .share-download-hint{color:var(--dnd-muted)}:root[data-theme^=modern-] .share-download-btn{width:100%;justify-content:center;border:1px solid var(--dnd-border);border-radius:12px;padding:12px;background:var(--dnd-surface-2);color:var(--dnd-text);font-size:.85rem;font-weight:600}:root[data-theme^=modern-] .share-download-btn:not(:disabled):hover{background:var(--dnd-surface-3);border-color:var(--dnd-border);box-shadow:none}:root[data-theme^=modern-] .spell-detail-content{display:flex;flex-direction:column;gap:16px;padding:16px 20px 20px}.spell-level-pill{display:none}:root[data-theme^=modern-] .spell-level-pill{display:inline-flex;align-items:center;align-self:flex-start;padding:5px 12px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--dnd-info) 14%,transparent);color:var(--v-hp-temp);font-size:.72rem;font-weight:600}:root[data-theme^=modern-] .spell-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}:root[data-theme^=modern-] .spell-meta-block{display:flex;align-items:center;gap:10px;min-width:0;background:var(--dnd-surface-2);border:none;border-radius:12px;padding:10px 12px}:root[data-theme^=modern-] .spell-meta-info{display:flex;flex-direction:column;gap:1px;min-width:0}:root[data-theme^=modern-] .spell-meta-block--identity{display:none}:root[data-theme^=modern-] .spell-meta-block--wide{grid-column:1 / -1;margin-top:0;align-items:center}:root[data-theme^=modern-] .spell-meta-icon{display:flex;align-items:center;justify-content:center;width:auto;height:auto;flex-shrink:0;background:none;border-radius:0;color:var(--dnd-gold)}:root[data-theme^=modern-] .spell-meta-icon svg{width:18px;height:18px}:root[data-theme^=modern-] .spell-meta-block--wide .spell-meta-icon{color:var(--dnd-muted)}:root[data-theme^=modern-] .spell-meta-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-muted);opacity:1}:root[data-theme^=modern-] .spell-meta-value{font-size:.85rem;font-weight:600;color:var(--dnd-text)}:root[data-theme^=modern-] .spell-meta-block--wide .spell-meta-value{font-size:.82rem;font-weight:500;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .spell-detail-actions{margin-top:0}:root[data-theme^=modern-] .spell-roll-panel{margin-top:0;border:1px solid var(--dnd-border);border-radius:16px;padding:14px;background:var(--dnd-surface-0);display:flex;flex-direction:column;gap:12px}:root[data-theme=modern-light] .spell-roll-panel{background:var(--dnd-surface-2)}:root[data-theme^=modern-] .spell-roll-cast-bar{gap:8px}:root[data-theme^=modern-] .spell-roll-slot{display:inline-flex;align-items:center;gap:7px;background:var(--surface-input);border:1px solid var(--dnd-border);border-radius:10px;padding:6px 10px;font-size:.72rem;font-weight:600;color:var(--dnd-muted)}:root[data-theme^=modern-] .spell-roll-slot:focus-within{border-color:var(--dnd-gold)}:root[data-theme^=modern-] .spell-roll-slot select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;background:transparent;padding:0;font-size:.82rem;font-weight:700;color:var(--dnd-text);cursor:pointer}:root[data-theme^=modern-] .spell-roll-slot select:focus{outline:none;border:none;box-shadow:none}:root[data-theme^=modern-] .spell-roll-slot:after{content:"⌄";font-size:.7rem;color:var(--dnd-muted);pointer-events:none}:root[data-theme^=modern-] .spell-roll-ctx{font-size:.74rem;font-weight:600;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .spell-roll-ctx--warn{color:var(--v-hp-damage)}:root[data-theme^=modern-] .spell-roll-conc{display:inline-flex;align-items:center;gap:5px;border-radius:var(--radius-full);padding:4px 9px;background:color-mix(in srgb,var(--dnd-info) 14%,transparent);color:var(--v-hp-temp);font-size:.72rem}:root[data-theme^=modern-] .spell-roll-group{gap:7px}:root[data-theme^=modern-] .spell-roll-head{gap:8px}:root[data-theme^=modern-] .spell-roll-title{font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--dnd-muted)}:root[data-theme^=modern-] .spell-roll-buttons{gap:8px}:root[data-theme^=modern-] .spell-roll-buttons .btn{border:none;border-radius:12px;padding:10px 14px;gap:7px;background:var(--dnd-gold-10);background-image:none;color:var(--dnd-gold);font-size:.85rem;font-weight:700;box-shadow:none;transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .spell-roll-buttons .btn svg{width:16px;height:16px}:root[data-theme^=modern-] .spell-roll-buttons .btn:hover{background:var(--dnd-gold-18);box-shadow:none}:root[data-theme^=modern-] .spell-roll-group--damage .spell-roll-buttons .btn{background:color-mix(in srgb,var(--dnd-danger) 14%,transparent);color:var(--v-hp-damage)}:root[data-theme^=modern-] .spell-roll-group--damage .spell-roll-buttons .btn:hover{background:color-mix(in srgb,var(--dnd-danger) 22%,transparent)}:root[data-theme^=modern-] .spell-roll-group--heal .spell-roll-buttons .btn{background:color-mix(in srgb,var(--dnd-success) 14%,transparent);color:var(--v-hp-heal)}:root[data-theme^=modern-] .spell-roll-group--heal .spell-roll-buttons .btn:hover{background:color-mix(in srgb,var(--dnd-success) 22%,transparent)}:root[data-theme^=modern-] .spell-roll-note,:root[data-theme^=modern-] .spell-roll-hint{font-size:.74rem;line-height:1.45;color:var(--dnd-muted);font-style:normal}:root[data-theme^=modern-] .spell-roll-hint{border-top:1px solid var(--border-subtle);padding-top:10px}:root[data-theme^=modern-] .spell-detail-content strong{color:var(--dnd-text)}:root[data-theme^=modern-] .spell-description{margin-top:0;padding-top:15px;border-top:1px solid var(--border-subtle)}:root[data-theme^=modern-] .spell-detail-content .spell-description>strong{display:block;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--dnd-muted)}:root[data-theme^=modern-] .spell-text{margin-top:6px;font-size:.86rem;line-height:1.6;color:var(--dnd-text-secondary);text-wrap:pretty}:root[data-theme^=modern-] .spell-not-found{padding:2rem 1.5rem;text-align:center;color:var(--dnd-muted)}:root[data-theme^=modern-] .modal-content.weapon-edit-modal--modern{max-width:400px}:root[data-theme^=modern-] .wf-modal-title{display:inline-flex;align-items:center;gap:8px}:root[data-theme^=modern-] .wf-title-icon{color:var(--dnd-gold);flex-shrink:0}:root[data-theme^=modern-] .wf-form{display:flex;flex-direction:column;gap:16px;padding:16px 20px 20px}:root[data-theme^=modern-] .wf-preview{display:flex;gap:10px}:root[data-theme^=modern-] .wf-preview-tile{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;border-radius:var(--radius-lg);padding:11px 13px}:root[data-theme^=modern-] .wf-preview-tile--atk{background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-18)}:root[data-theme^=modern-] .wf-preview-tile--dmg{background:var(--dnd-surface-2);border:1px solid var(--border-subtle)}:root[data-theme^=modern-] .wf-preview-label{font-size:.6rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--dnd-muted)}:root[data-theme^=modern-] .wf-preview-tile--atk .wf-preview-label{color:var(--dnd-gold);opacity:.8}:root[data-theme^=modern-] .wf-preview-atk{font-size:1.35rem;font-weight:800;line-height:1;color:var(--dnd-gold);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .wf-preview-dmg{font-size:1.05rem;font-weight:700;line-height:1.15;color:var(--dnd-text)}:root[data-theme^=modern-] .wf-preview-dmgtype{font-weight:500;font-size:.82rem;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .wf-group{display:flex;flex-direction:column;gap:8px}:root[data-theme^=modern-] .wf-group-label{font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dnd-muted)}:root[data-theme^=modern-] .wf-input{font-size:.9rem;font-family:inherit}:root[data-theme^=modern-] textarea.wf-notes{resize:none;line-height:1.5;font-size:.88rem}:root[data-theme^=modern-] .wf-dmgtype,:root[data-theme^=modern-] .wf-range,:root[data-theme^=modern-] .wf-props{font-size:.88rem}:root[data-theme^=modern-] .wf-seg{display:flex;gap:3px;border-radius:11px;background:var(--p-segment-track);padding:4px}:root[data-theme^=modern-] .wf-seg-btn{flex:1;min-width:0;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),box-shadow var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .wf-seg-btn:hover{color:var(--dnd-text)}:root[data-theme^=modern-] .wf-seg-btn.active{background:var(--p-segment-thumb);color:var(--dnd-text);box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .wf-prof{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--dnd-surface-2);padding:10px 13px;cursor:pointer;font-family:inherit;touch-action:manipulation}:root[data-theme^=modern-] .wf-prof-text{display:flex;flex-direction:column;align-items:flex-start;gap:1px}:root[data-theme^=modern-] .wf-prof-title{font-size:.85rem;font-weight:600;color:var(--dnd-text)}:root[data-theme^=modern-] .wf-prof-hint{font-size:.7rem;color:var(--dnd-muted)}:root[data-theme^=modern-] .wf-switch{position:relative;width:44px;height:26px;flex-shrink:0;border-radius:var(--radius-full);background:var(--p-segment-track);transition:background .2s var(--ease-out)}:root[data-theme^=modern-] .wf-switch-knob{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-] .wf-switch.on{background:var(--dnd-success)}:root[data-theme^=modern-] .wf-switch.on .wf-switch-knob{transform:translate(18px)}:root[data-theme^=modern-] .wf-dice-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}:root[data-theme^=modern-] .wf-dice-btn{border:1px solid var(--border-subtle);border-radius:10px;background:var(--dnd-surface-2);color:var(--dnd-text-secondary);font-size:.78rem;font-weight:700;font-family:inherit;padding:9px 0;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-] .wf-dice-btn:hover{border-color:var(--dnd-gold-18);color:var(--dnd-gold);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .wf-dice-row{display:flex;align-items:center;gap:8px}:root[data-theme^=modern-] .wf-dice-formula{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--dnd-border);border-radius:12px;background:var(--surface-input);padding:10px 13px}:root[data-theme^=modern-] .wf-dice-formula-val{font-size:1rem;font-weight:800;color:var(--dnd-text);font-variant-numeric:tabular-nums;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme^=modern-] .wf-dice-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border:none;border-radius:7px;background:transparent;color:var(--dnd-muted);font-size:.72rem;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .wf-dice-clear:hover{color:var(--v-hp-damage);background:color-mix(in srgb,var(--dnd-danger) 14%,transparent)}:root[data-theme^=modern-] .wf-bonus-row{display:flex;gap:8px}:root[data-theme^=modern-] .wf-bonus-btn{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid var(--dnd-border);border-radius:12px;background:var(--surface-input);padding:9px 13px;cursor:pointer;font-family:inherit;touch-action:manipulation;transition:border-color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .wf-bonus-btn:hover{border-color:var(--dnd-gold)}:root[data-theme^=modern-] .wf-bonus-label{font-size:.6rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--dnd-muted)}:root[data-theme^=modern-] .wf-bonus-val{font-size:1rem;font-weight:700;color:var(--dnd-text);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .wf-rp-row{display:flex;gap:8px}:root[data-theme^=modern-] .wf-rp-row .wf-range{flex:0 0 38%;min-width:0}:root[data-theme^=modern-] .wf-rp-row .wf-props{flex:1;min-width:0}:root[data-theme^=modern-] .wf-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:2px}:root[data-theme^=modern-] .wf-btn-cancel,:root[data-theme^=modern-] .wf-btn-save{border:none;border-radius:14px;padding:13px;font-size:.9rem;font-family:inherit;cursor:pointer;touch-action:manipulation;transition:filter var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .wf-btn-cancel{background:var(--dnd-surface-3);color:var(--dnd-text);font-weight:600}:root[data-theme^=modern-] .wf-btn-cancel:hover{filter:brightness(1.08)}:root[data-theme=modern-light] .wf-btn-cancel:hover{filter:brightness(.96)}:root[data-theme^=modern-] .wf-btn-save{background:var(--dnd-gold);background-image:linear-gradient(180deg,#ffffff38,#fff0 55%);color:var(--dnd-on-gold);font-weight:700;box-shadow:inset 0 1px #ffffff4d}:root[data-theme^=modern-] .wf-btn-save:not(:disabled):hover{filter:brightness(1.06)}:root[data-theme^=modern-] .wf-btn-save:not(:disabled):active{transform:scale(.98)}:root[data-theme^=modern-] .wf-btn-save:disabled{opacity:.5;cursor:default}:root[data-theme^=modern-] .modal-content.item-modal--modern{max-width:400px}:root[data-theme^=modern-] .item-modal--modern .modal-title{flex:1;min-width:0}:root[data-theme^=modern-] .im-head{display:flex;align-items:center;gap:10px;min-width:0}:root[data-theme^=modern-] .im-head-icon{width:34px;height:34px;flex-shrink:0;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--dnd-gold-10);color:var(--dnd-gold)}:root[data-theme^=modern-] .im-head-icon svg{width:18px;height:18px}:root[data-theme^=modern-] .im-head-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}:root[data-theme^=modern-] .im-head-title{font-size:1.02rem;font-weight:700;letter-spacing:-.01em;color:var(--dnd-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme^=modern-] .im-head-sub{font-size:.68rem;font-weight:600;color:var(--dnd-muted)}:root[data-theme^=modern-] .im-form{flex-direction:column;gap:15px;padding:16px 20px 20px}:root[data-theme^=modern-] .im-row{display:flex;gap:9px}:root[data-theme^=modern-] .im-row--end{align-items:flex-end}:root[data-theme^=modern-] .im-field{display:flex;flex-direction:column;gap:7px;min-width:0}:root[data-theme^=modern-] .im-field--grow{flex:1}:root[data-theme^=modern-] .im-field--qty{flex:0 0 84px}:root[data-theme^=modern-] .im-field--weight{flex:0 0 84px}:root[data-theme^=modern-] .im-label{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dnd-muted)}:root[data-theme^=modern-] .im-input{width:100%;box-sizing:border-box;font-size:.9rem;font-family:inherit}:root[data-theme^=modern-] .im-tap{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;border:1px solid var(--dnd-border);border-radius:12px;background:var(--surface-input);color:var(--dnd-text);padding:11px 13px;font-size:.95rem;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-] .im-tap:hover{border-color:var(--dnd-gold)}:root[data-theme^=modern-] .im-cost-amount{flex:1;min-width:0;justify-content:flex-start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme^=modern-] .im-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}:root[data-theme^=modern-] .im-cat-btn{display:flex;flex-direction:column;align-items:center;gap:5px;border-radius:12px;padding:10px 4px;cursor:pointer;font-family:inherit;background:var(--dnd-surface-2);color:var(--dnd-text-secondary);border:1px solid var(--border-subtle);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-] .im-cat-btn:hover{color:var(--dnd-text);border-color:var(--dnd-gold-18)}:root[data-theme^=modern-] .im-cat-btn.is-selected{background:var(--dnd-gold-10);color:var(--dnd-gold);border-color:var(--dnd-gold-18)}:root[data-theme^=modern-] .im-cat-icon{display:inline-flex}:root[data-theme^=modern-] .im-cat-icon svg{width:17px;height:17px}:root[data-theme^=modern-] .im-cat-label{font-size:.6rem;font-weight:600;line-height:1}:root[data-theme^=modern-] .im-cost{display:flex;gap:6px;min-width:0}:root[data-theme^=modern-] .im-coin-seg{flex-shrink:0;display:flex;gap:2px;background:var(--p-segment-track);border-radius:11px;padding:3px}:root[data-theme^=modern-] .im-coin-seg-btn{border:none;border-radius:8px;padding:8px 7px;font-size:.68rem;font-weight:600;cursor:pointer;font-family:inherit;background:transparent;color:var(--dnd-muted);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-] .im-coin-seg-btn.active{background:var(--p-segment-thumb);color:var(--dnd-text);font-weight:700;box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .im-cat-fields{display:flex;flex-direction:column;gap:15px;animation:modernFieldIn .2s var(--ease-out)}:root[data-theme^=modern-] .im-divider{height:1px;background:var(--border-subtle)}@keyframes modernFieldIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}:root[data-theme^=modern-] .wf-switch.im-switch.on{background:var(--dnd-gold)}:root[data-theme^=modern-] .im-textarea{width:100%;box-sizing:border-box;resize:none;line-height:1.5;font-size:.88rem;font-family:inherit}:root[data-theme^=modern-] .im-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;margin-top:2px}:root[data-theme^=modern-] .im-btn-cancel,:root[data-theme^=modern-] .im-btn-save{border:none;border-radius:14px;padding:13px;font-size:.9rem;font-family:inherit;cursor:pointer;touch-action:manipulation;transition:filter var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .im-btn-cancel{background:var(--dnd-surface-3);color:var(--dnd-text);font-weight:600}:root[data-theme^=modern-] .im-btn-cancel:hover{filter:brightness(1.08)}:root[data-theme=modern-light] .im-btn-cancel:hover{filter:brightness(.96)}:root[data-theme^=modern-] .im-btn-save{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--dnd-gold);background-image:linear-gradient(180deg,#ffffff38,#fff0 55%);color:var(--dnd-on-gold);font-weight:700;box-shadow:inset 0 1px #ffffff4d}:root[data-theme^=modern-] .im-btn-save:not(:disabled):hover{filter:brightness(1.06)}:root[data-theme^=modern-] .im-btn-save:not(:disabled):active{transform:scale(.98)}:root[data-theme^=modern-] .im-btn-save:disabled{background:var(--dnd-surface-3);background-image:none;color:var(--dnd-muted);box-shadow:none;opacity:.7;cursor:default}:root[data-theme^=modern-] .im-read{display:flex;flex-direction:column;gap:16px;padding:16px 20px 20px}:root[data-theme^=modern-] .im-read-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}:root[data-theme^=modern-] .im-stat{display:flex;flex-direction:column;gap:3px;background:var(--dnd-surface-2);border:1px solid var(--border-subtle);border-radius:14px;padding:11px 13px}:root[data-theme^=modern-] .im-stat.is-hi{background:var(--dnd-gold-10);border-color:var(--dnd-gold-18)}:root[data-theme^=modern-] .im-stat-label{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dnd-muted)}:root[data-theme^=modern-] .im-stat-value{font-size:1.05rem;font-weight:700;color:var(--dnd-text);line-height:1.15}:root[data-theme^=modern-] .im-stat.is-hi .im-stat-value{font-weight:800;color:var(--dnd-gold)}:root[data-theme^=modern-] .im-read-block{display:flex;flex-direction:column;gap:6px}:root[data-theme^=modern-] .im-prop-chips{display:flex;flex-wrap:wrap;gap:6px}:root[data-theme^=modern-] .im-prop-chip{font-size:.72rem;font-weight:600;color:var(--dnd-text-secondary);background:var(--dnd-surface-2);border:1px solid var(--border-subtle);border-radius:8px;padding:5px 10px}:root[data-theme^=modern-] .im-read-desc{font-size:.88rem;line-height:1.6;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .im-read-desc p{margin:0}:root[data-theme^=modern-] .im-edit-btn,:root[data-theme^=modern-] .im-sell-btn{width:100%}:root[data-theme^=modern-] .item-modal--modern .item-modal-mode-toggle{width:30px;height:30px;border:none;border-radius:var(--radius-full);background:var(--surface-hover);color:var(--dnd-text-secondary);font-size:.95rem;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .item-modal--modern .item-modal-mode-toggle:hover{background:var(--p-segment-track);color:var(--dnd-text);transform:none}:root[data-theme^=modern-] .item-modal--modern .item-modal-mode-transfer{background:var(--dnd-gold-10);color:var(--dnd-gold)}:root[data-theme^=modern-] .item-modal--modern .item-modal-mode-transfer:hover{background:var(--dnd-gold-18)}:root[data-theme^=modern-] .im-abil-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}:root[data-theme^=modern-] .im-abil-btn{border:1px solid var(--border-subtle);border-radius:10px;background:var(--dnd-surface-2);color:var(--dnd-text-secondary);font-size:.74rem;font-weight:700;font-family:inherit;padding:9px 2px;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-] .im-abil-btn:hover{color:var(--dnd-text);border-color:var(--dnd-gold-18)}:root[data-theme^=modern-] .im-abil-btn.is-selected{background:var(--dnd-gold-10);color:var(--dnd-gold);border-color:var(--dnd-gold-18)}:root[data-theme^=modern-] .modal-content.currency-edit-modal{max-width:360px}:root[data-theme^=modern-] .cme-title{display:inline-flex;align-items:center;gap:8px}:root[data-theme^=modern-] .cme-title-icon{color:var(--dnd-gold);flex-shrink:0}:root[data-theme^=modern-] .cme-body{display:flex;flex-direction:column;gap:13px;padding:16px 20px 20px}:root[data-theme^=modern-] .cme-purse{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}:root[data-theme^=modern-] .cme-purse-coin{display:flex;flex-direction:column;align-items:center;gap:2px;border-radius:var(--radius-xl);padding:9px 2px;background:var(--dnd-surface-2);border:1px solid var(--border-subtle);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .cme-purse-coin.is-target{background:var(--dnd-gold-10);border-color:var(--dnd-gold-18)}:root[data-theme^=modern-] .cme-purse-val{font-size:1.1rem;font-weight:800;color:var(--dnd-text);font-variant-numeric:tabular-nums;line-height:1}:root[data-theme^=modern-] .cme-purse-coin.is-target .cme-purse-val{color:var(--dnd-gold)}:root[data-theme^=modern-] .cme-purse-lbl{font-size:.54rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}:root[data-theme^=modern-] .cme-purse-coin--platinum .cme-purse-lbl{color:#9ba1ad}:root[data-theme^=modern-] .cme-purse-coin--gold .cme-purse-lbl{color:var(--dnd-gold)}:root[data-theme^=modern-] .cme-purse-coin--silver .cme-purse-lbl{color:#8f95a1}:root[data-theme^=modern-] .cme-purse-coin--copper .cme-purse-lbl{color:#b87a4b}:root[data-theme^=modern-] .cme-seg{display:flex;gap:3px;border-radius:11px;background:var(--p-segment-track);padding:4px}:root[data-theme^=modern-] .cme-seg-btn{flex:1;min-width:0;border:none;border-radius:8px;padding:9px 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-] .cme-seg-btn.active{background:var(--p-segment-thumb);color:var(--dnd-text);font-weight:700;box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .cme-amount{display:flex;align-items:baseline;justify-content:center;gap:8px;padding:2px 0}:root[data-theme^=modern-] .cme-amount-val{font-size:2.6rem;font-weight:700;color:var(--dnd-gold);font-variant-numeric:tabular-nums;line-height:1}:root[data-theme^=modern-] .cme-amount-unit{font-size:1rem;font-weight:600;color:var(--dnd-muted);text-transform:uppercase}:root[data-theme^=modern-] .cme-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}:root[data-theme^=modern-] .cme-key{border:none;border-radius:14px;padding:14px 0;font-size:1.3rem;font-weight:600;font-family:inherit;background:var(--dnd-surface-2);color:var(--dnd-text);cursor:pointer;touch-action:manipulation;transition:filter var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .cme-key:hover{filter:brightness(1.1)}:root[data-theme=modern-light] .cme-key:hover{filter:brightness(.97)}:root[data-theme^=modern-] .cme-key:active{filter:brightness(.9)}:root[data-theme^=modern-] .cme-key--fn{background:var(--dnd-surface-3);color:var(--dnd-text-secondary);font-size:1.05rem;font-weight:700}:root[data-theme^=modern-] .cme-hint{margin:0;font-size:.72rem;line-height:1.4;color:var(--dnd-muted);text-align:center}:root[data-theme^=modern-] .cme-set{border:1px solid var(--dnd-border);border-radius:12px;padding:11px;font-size:.85rem;font-weight:600;font-family:inherit;background:var(--dnd-surface-2);color:var(--dnd-text);cursor:pointer;touch-action:manipulation;transition:filter var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .cme-set:hover{border-color:var(--dnd-gold)}:root[data-theme^=modern-] .cme-ops{display:grid;grid-template-columns:1fr 1fr;gap:10px}:root[data-theme^=modern-] .cme-op{border:none;border-radius:14px;padding:13px;font-size:.92rem;font-weight:700;font-family:inherit;cursor:pointer;touch-action:manipulation;transition:filter var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .cme-op:not(:disabled):active{transform:scale(.98)}:root[data-theme^=modern-] .cme-op:disabled{opacity:.45;cursor:default}:root[data-theme^=modern-] .cme-op--sub{background:color-mix(in srgb,var(--dnd-danger) 16%,transparent);color:var(--v-hp-damage)}:root[data-theme^=modern-] .cme-op--sub:not(:disabled):hover{background:color-mix(in srgb,var(--dnd-danger) 24%,transparent)}:root[data-theme^=modern-] .cme-op--add{background:var(--dnd-gold);background-image:linear-gradient(180deg,#ffffff38,#fff0 55%);color:var(--dnd-on-gold);box-shadow:inset 0 1px #ffffff4d}:root[data-theme^=modern-] .cme-op--add:not(:disabled):hover{filter:brightness(1.06)}:root[data-theme^=modern-] .cme-done{border:none;border-radius:12px;padding:12px;font-size:.88rem;font-weight:600;font-family:inherit;background:var(--dnd-surface-3);color:var(--dnd-text);cursor:pointer;touch-action:manipulation;transition:filter var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .cme-done:hover{filter:brightness(1.08)}:root[data-theme=modern-light] .cme-done:hover{filter:brightness(.96)}:root[data-theme^=modern-] .armor-modal--modern{max-width:400px}:root[data-theme^=modern-] .armor-modal--modern .modal-title{flex:1;min-width:0}:root[data-theme^=modern-] .acm-body{display:flex;flex-direction:column;gap:16px;padding:16px 20px 20px}:root[data-theme^=modern-] .acm-hero{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;border:1px solid var(--dnd-gold-18);border-radius:18px;padding:18px 18px 15px;overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--dnd-gold) 9%,var(--dnd-surface-2)) 0%,var(--dnd-surface-1) 100%)}:root[data-theme^=modern-] .acm-hero-label{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dnd-muted)}:root[data-theme^=modern-] .acm-hero-row{display:flex;align-items:center;gap:12px}:root[data-theme^=modern-] .acm-hero-shield{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--dnd-gold)}:root[data-theme^=modern-] .acm-hero-shield svg{width:56px;height:64px}:root[data-theme^=modern-] .acm-hero-value{font-size:3.4rem;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--dnd-gold);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .acm-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}:root[data-theme^=modern-] .acm-chip{font-size:.7rem;font-weight:600;color:var(--dnd-text-secondary);background:var(--dnd-surface-1);border:1px solid var(--border-subtle);border-radius:8px;padding:4px 9px;font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .acm-group{display:flex;flex-direction:column;gap:8px}:root[data-theme^=modern-] .acm-group-label{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dnd-muted)}:root[data-theme^=modern-] .acm-seg{display:flex;gap:3px;background:var(--p-segment-track);border-radius:11px;padding:4px}:root[data-theme^=modern-] .acm-seg-btn{flex:1;border:none;border-radius:8px;padding:8px 0;font-size:.76rem;font-weight:600;font-family:inherit;cursor:pointer;background:transparent;color:var(--dnd-text-secondary);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-] .acm-seg-btn.active{background:var(--p-segment-thumb);color:var(--dnd-text);font-weight:700;box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .acm-card{display:flex;align-items:center;gap:11px;border:1px solid var(--border-subtle);border-radius:14px;background:var(--dnd-surface-2);padding:11px 13px}:root[data-theme^=modern-] .acm-card--btn{width:100%;cursor:pointer;font-family:inherit;text-align:left;touch-action:manipulation}:root[data-theme^=modern-] .acm-card-icon{width:30px;height:30px;flex-shrink:0;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--dnd-gold-10);color:var(--dnd-gold)}:root[data-theme^=modern-] .acm-card-icon.is-muted{background:var(--surface-hover);color:var(--dnd-muted)}:root[data-theme^=modern-] .acm-card-icon.is-info{background:color-mix(in srgb,var(--dnd-info) 14%,transparent);color:var(--dnd-info)}:root[data-theme^=modern-] .acm-card-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}:root[data-theme^=modern-] .acm-card-title{font-size:.9rem;font-weight:700;color:var(--dnd-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme^=modern-] .acm-card-sub{font-size:.7rem;font-weight:600;color:var(--dnd-muted)}:root[data-theme^=modern-] .acm-card-actions{display:flex;gap:6px;flex-shrink:0}:root[data-theme^=modern-] .acm-icon-btn{width:30px;height:30px;border:none;border-radius:9px;background:var(--surface-hover);color:var(--dnd-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .acm-icon-btn--gold:hover{background:var(--dnd-gold-10);color:var(--dnd-gold)}:root[data-theme^=modern-] .acm-icon-btn--danger:hover{background:color-mix(in srgb,var(--dnd-danger) 14%,transparent);color:var(--dnd-danger)}:root[data-theme^=modern-] .acm-stepper{display:flex;align-items:center;gap:4px;flex-shrink:0;background:var(--surface-input);border:1px solid var(--dnd-border);border-radius:11px;padding:3px}:root[data-theme^=modern-] .acm-step-btn{width:32px;height:30px;border:none;border-radius:8px;background:transparent;color:var(--dnd-text-secondary);font-size:1.1rem;font-weight:700;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .acm-step-btn:hover{background:var(--surface-hover);color:var(--dnd-text)}:root[data-theme^=modern-] .acm-step-val{min-width:38px;border:none;background:transparent;color:var(--dnd-text);font-size:1rem;font-weight:800;font-family:inherit;font-variant-numeric:tabular-nums;text-align:center;cursor:pointer;touch-action:manipulation}:root[data-theme^=modern-] .acm-manual{display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:14px;background:var(--dnd-surface-2);overflow:hidden}:root[data-theme^=modern-] .acm-manual-head{border:none;background:transparent;border-radius:0}:root[data-theme^=modern-] .acm-manual-body{padding:0 13px 12px;animation:modernFieldIn .2s var(--ease-out)}:root[data-theme^=modern-] .acm-manual-field{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--dnd-border);border-radius:12px;background:var(--surface-input);padding:12px 14px;cursor:pointer;font-family:inherit;touch-action:manipulation;transition:border-color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .acm-manual-field:hover{border-color:var(--dnd-gold)}:root[data-theme^=modern-] .acm-manual-field-label{font-size:.78rem;font-weight:600;color:var(--dnd-muted)}:root[data-theme^=modern-] .acm-manual-field-value{font-size:1.15rem;font-weight:800;color:var(--dnd-gold);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .acm-banner{display:flex;flex-direction:column;gap:3px;border-radius:12px;padding:10px 12px;border:1px solid var(--border-subtle);background:var(--dnd-surface-2)}:root[data-theme^=modern-] .acm-banner.is-on{border-color:var(--dnd-gold-18);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .acm-banner-title{font-size:.72rem;font-weight:700;color:var(--dnd-text)}:root[data-theme^=modern-] .acm-banner.is-on .acm-banner-title{color:var(--dnd-gold)}:root[data-theme^=modern-] .acm-banner-text{font-size:.7rem;font-weight:600;line-height:1.45;color:var(--dnd-muted)}:root[data-theme^=modern-] .acm-features{display:flex;flex-direction:column;gap:8px}:root[data-theme^=modern-] .acm-feature{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--dnd-surface-2);padding:9px 12px}:root[data-theme^=modern-] .acm-feature.is-off{opacity:.6}:root[data-theme^=modern-] .acm-feature-name{font-size:.82rem;font-weight:600;color:var(--dnd-text)}:root[data-theme^=modern-] .acm-feature-value{font-size:.82rem;font-weight:700;color:var(--dnd-gold);font-variant-numeric:tabular-nums;flex-shrink:0}:root[data-theme^=modern-] .acm-feature-note{font-weight:600;color:var(--dnd-muted)}:root[data-theme^=modern-] .acm-inv-list{display:flex;flex-direction:column;gap:6px;animation:modernFieldIn .2s var(--ease-out)}:root[data-theme^=modern-] .acm-inv-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--dnd-surface-2);padding:10px 13px;cursor:pointer;font-family:inherit;text-align:left;touch-action:manipulation;transition:border-color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .acm-inv-item:hover{border-color:var(--dnd-gold)}:root[data-theme^=modern-] .acm-inv-item.equipped{border-color:var(--dnd-gold-18);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .acm-inv-item-name{font-size:.85rem;font-weight:600;color:var(--dnd-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme^=modern-] .acm-inv-item-ac{font-size:.72rem;font-weight:700;color:var(--dnd-gold);flex-shrink:0;font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .acm-inv-empty{margin:0;font-size:.78rem;color:var(--dnd-muted);padding:4px 2px}:root[data-theme^=modern-] .acm-warn{display:flex;flex-direction:column;gap:8px;border-radius:12px;padding:10px 12px;font-size:.74rem;line-height:1.45;border:1px solid color-mix(in srgb,var(--dnd-warning, #c0392b) 30%,transparent);background:color-mix(in srgb,var(--dnd-warning, #c0392b) 12%,transparent);color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .acm-warn.is-danger{border-color:color-mix(in srgb,var(--dnd-danger) 30%,transparent);background:color-mix(in srgb,var(--dnd-danger) 12%,transparent);color:var(--dnd-danger);font-weight:600}:root[data-theme^=modern-] .acm-warn-btn{align-self:flex-start;border:none;border-radius:9px;padding:7px 12px;font-size:.78rem;font-weight:700;font-family:inherit;cursor:pointer;background:var(--dnd-gold);color:var(--dnd-on-gold);touch-action:manipulation}:root[data-theme^=modern-] .acm-note{margin:0;padding:0 2px;font-size:.74rem;line-height:1.5;color:var(--dnd-muted);text-wrap:pretty}:root[data-theme^=modern-] .acm-save{width:100%}:root[data-theme^=modern-] .sg-monster-detail-view{--bst-hp: #ff6961}:root[data-theme=modern-light] .sg-monster-detail-view{--bst-hp: #d70015}:root[data-theme^=modern-] .sg-monster-detail-view{gap:14px;padding-bottom:0;font-family:var(--font-primary)}:root[data-theme^=modern-] .sg-monster-detail-header{border-bottom:0;padding-bottom:0}:root[data-theme^=modern-] .sg-monster-detail-type{font-size:.82rem;color:var(--dnd-muted)}:root[data-theme^=modern-] .sg-monster-detail-view .sg-combatant-vitals{grid-template-columns:1fr 1fr;gap:8px}:root[data-theme^=modern-] .sg-monster-detail-view .sg-combatant-vital{align-items:flex-start;gap:2px;padding:12px 14px;border-radius:14px}:root[data-theme^=modern-] .sg-monster-detail-view .sg-combatant-vital--ac{background:var(--dnd-gold-10);border-color:var(--dnd-gold-18)}:root[data-theme^=modern-] .sg-monster-detail-view .sg-combatant-vital--hp{background:var(--dnd-red-12);border-color:var(--dnd-red-30)}:root[data-theme^=modern-] .sg-monster-detail-view .sg-combatant-vital-label{font-size:.58rem;letter-spacing:.06em}:root[data-theme^=modern-] .sg-monster-detail-view .sg-combatant-vital-value{font-size:1.5rem;font-weight:800}:root[data-theme^=modern-] .sg-monster-detail-view .sg-combatant-vital--ac .sg-combatant-vital-value{color:var(--dnd-gold)}:root[data-theme^=modern-] .sg-monster-detail-view .sg-combatant-vital--hp .sg-combatant-vital-value{color:var(--bst-hp)}:root[data-theme^=modern-] .sg-monster-detail-view .sg-combatant-vital-temp{color:var(--v-hp-temp)}:root[data-theme^=modern-] .sg-monster-detail-view .sg-combatant-vital-note{text-align:left;font-size:.66rem}:root[data-theme^=modern-] .sg-monster-detail-view .sg-combatant-secondary{gap:6px 16px;font-size:.8rem;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .sg-monster-detail-view .sg-npc-ability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}:root[data-theme^=modern-] .sg-monster-detail-view .sg-npc-ability{display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 4px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--dnd-surface-2);text-align:center;transition-property:transform,background-color,border-color;transition-duration:.12s}:root[data-theme^=modern-] .sg-monster-detail-view .sg-npc-ability.dice-rollable-tile{cursor:pointer}:root[data-theme^=modern-] .sg-monster-detail-view .sg-npc-ability.dice-rollable-tile:hover{border-color:var(--dnd-gold);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .sg-monster-detail-view .sg-npc-ability.dice-rollable-tile:active{transform:scale(.96)}:root[data-theme^=modern-] .sg-monster-detail-view .sg-npc-ability-label{font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--dnd-muted)}:root[data-theme^=modern-] .sg-monster-detail-view .sg-npc-ability-score{font-size:1.02rem;font-weight:800;color:var(--dnd-text);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .sg-monster-detail-view .sg-npc-ability-mod{font-size:.74rem;font-weight:700;color:var(--dnd-gold);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .sg-monster-detail-view .sg-monster-detail-props{gap:6px;border-top:1px solid var(--border-subtle);padding-top:13px;font-size:.8rem;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .sg-monster-detail-view .sg-monster-detail-prop-label{color:var(--dnd-text);font-weight:700}:root[data-theme^=modern-] .sg-monster-detail-view .sg-monster-detail-section{border-top:1px solid var(--border-subtle);padding-top:13px}:root[data-theme^=modern-] .sg-monster-detail-view .sg-monster-detail-section-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--dnd-gold-light);margin-bottom:9px}:root[data-theme^=modern-] .sg-monster-detail-view .sg-monster-detail-action{font-size:.83rem;line-height:1.6;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .sg-monster-detail-view .sg-monster-detail-action-name{font-style:italic;color:var(--dnd-text)}:root[data-theme^=modern-] .sg-monster-detail-view .sg-monster-detail-footer{border-top:1px solid var(--border-subtle);background:var(--dnd-surface-1)}:root[data-theme^=modern-] .sg-monster-add-combat-btn,:root[data-theme^=modern-] .cr-preview-footer .cr-add-btn{width:100%;border:none;border-radius:14px;padding:14px;font-size:.92rem;font-weight:700;font-family:inherit;color:var(--dnd-on-gold);background:var(--dnd-gold);background-image:linear-gradient(180deg,#fff3,#fff0 55%);box-shadow:inset 0 1px #ffffff4d;cursor:pointer;touch-action:manipulation;transition:transform .12s,filter .16s}:root[data-theme^=modern-] .sg-monster-add-combat-btn:hover,:root[data-theme^=modern-] .cr-preview-footer .cr-add-btn:hover{filter:brightness(1.05)}:root[data-theme^=modern-] .sg-monster-add-combat-btn:active,:root[data-theme^=modern-] .cr-preview-footer .cr-add-btn:active{transform:scale(.99)}:root[data-theme^=modern-] .cr-preview-footer .cr-add-btn .cr-add-count{background:var(--dnd-on-gold);color:var(--dnd-gold)}:root[data-theme^=modern-] .sg-combatant-hp-controls.is-keypad{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;margin-bottom:12px}:root[data-theme^=modern-] .sg-hp-action{border:none;border-radius:14px;padding:12px 4px;font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),filter var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .sg-hp-action--damage{background:color-mix(in srgb,var(--dnd-danger) 14%,transparent);color:var(--v-hp-damage)}:root[data-theme^=modern-] .sg-hp-action--damage:hover{background:color-mix(in srgb,var(--dnd-danger) 22%,transparent)}:root[data-theme^=modern-] .sg-hp-action--heal{background:color-mix(in srgb,var(--dnd-success) 14%,transparent);color:var(--v-hp-heal)}:root[data-theme^=modern-] .sg-hp-action--heal:hover{background:color-mix(in srgb,var(--dnd-success) 22%,transparent)}:root[data-theme^=modern-] .sg-hp-action--temp{background:color-mix(in srgb,var(--dnd-info) 14%,transparent);color:var(--v-hp-temp)}:root[data-theme^=modern-] .sg-hp-action--temp:hover{background:color-mix(in srgb,var(--dnd-info) 22%,transparent)}:root[data-theme^=modern-] .sg-hp-action--rest{background:color-mix(in srgb,var(--dnd-gold) 14%,transparent);color:var(--dnd-gold)}:root[data-theme^=modern-] .sg-hp-action--rest:hover{background:color-mix(in srgb,var(--dnd-gold) 22%,transparent)}:root[data-theme^=modern-] .bst-list{display:flex;flex-direction:column;gap:11px;padding:4px 14px 14px;font-family:var(--font-primary)}:root[data-theme^=modern-] .bst-search{display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--dnd-border);border-radius:12px;background:var(--dnd-surface-0);transition:border-color .16s,box-shadow .16s}:root[data-theme^=modern-] .bst-search:focus-within{border-color:var(--dnd-gold);box-shadow:0 0 0 3px var(--dnd-gold-10)}:root[data-theme^=modern-] .bst-search-icon{color:var(--dnd-muted);flex-shrink:0}:root[data-theme^=modern-] .bst-search .bst-search-input{flex:1;min-width:0;border:none!important;background:transparent!important;box-shadow:none!important;color:var(--dnd-text);padding:11px 0!important;font-size:16px;font-family:inherit;outline:none}:root[data-theme^=modern-] .bst-search-clear{flex-shrink:0;width:20px;height:20px;border:none;border-radius:50%;background:var(--p-segment-track, var(--surface-hover));color:var(--dnd-text-secondary);font-size:.62rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit}:root[data-theme^=modern-] .bst-pills-wrap{position:relative}:root[data-theme^=modern-] .bst-pills{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}:root[data-theme^=modern-] .bst-pills::-webkit-scrollbar{height:0;display:none}:root[data-theme^=modern-] .bst-pills-nav{position:absolute;top:0;bottom:2px;width:40px;display:none;align-items:center;border:none;padding:0;z-index:1;cursor:pointer;color:var(--dnd-text);font-size:1.2rem;line-height:1;font-family:inherit;touch-action:manipulation;transition:color .14s}:root[data-theme^=modern-] .bst-pills-nav:hover{color:var(--dnd-gold)}:root[data-theme^=modern-] .bst-pills-nav--left{left:0;justify-content:flex-start;padding-left:5px;background:linear-gradient(90deg,var(--dnd-surface-1) 45%,transparent)}:root[data-theme^=modern-] .bst-pills-nav--right{right:0;justify-content:flex-end;padding-right:5px;background:linear-gradient(270deg,var(--dnd-surface-1) 45%,transparent)}@media(hover:hover)and (pointer:fine){:root[data-theme^=modern-] .bst-pills-wrap.can-left .bst-pills-nav--left{display:flex}:root[data-theme^=modern-] .bst-pills-wrap.can-right .bst-pills-nav--right{display:flex}}:root[data-theme^=modern-] .bst-pill{flex-shrink:0;border:1px solid var(--dnd-border);border-radius:9999px;background:var(--dnd-surface-2);color:var(--dnd-text-secondary);padding:7px 13px;font-size:.74rem;font-weight:600;font-family:inherit;white-space:nowrap;cursor:pointer;touch-action:manipulation;transition:background-color .14s,border-color .14s,color .14s}:root[data-theme^=modern-] .bst-pill.is-on{border-color:var(--dnd-gold);background:var(--dnd-gold-10);color:var(--dnd-gold);font-weight:700}:root[data-theme^=modern-] .bst-filters{display:flex;flex-wrap:wrap;gap:7px}:root[data-theme^=modern-] .bst-filters .bst-chip-select{flex:0 0 auto;max-width:100%;padding:7px 12px!important;border:1px solid var(--dnd-border)!important;border-radius:9999px!important;background:var(--dnd-surface-2)!important;color:var(--dnd-text-secondary);font-size:.76rem;font-family:inherit;cursor:pointer}:root[data-theme^=modern-] .bst-count{font-size:.72rem;font-weight:600;color:var(--dnd-muted);font-variant-numeric:tabular-nums;padding:0 2px}:root[data-theme^=modern-] .bst-rows{display:flex;flex-direction:column}:root[data-theme^=modern-] .bst-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border-subtle)}:root[data-theme^=modern-] .bst-row:last-child{border-bottom:none}:root[data-theme^=modern-] .bst-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding:11px 6px;border:none;background:transparent;text-align:left;cursor:pointer;font-family:inherit;border-radius:10px;transition:background-color .14s}:root[data-theme^=modern-] .bst-row-main:hover{background:var(--surface-hover)}:root[data-theme^=modern-] .bst-row-name{font-size:.9rem;font-weight:600;color:var(--dnd-text);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme^=modern-] .bst-row-meta{font-size:.72rem;color:var(--dnd-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root[data-theme^=modern-] .bst-row-aside{display:flex;align-items:center;gap:9px;flex-shrink:0;padding-right:2px}:root[data-theme^=modern-] .bst-row-cr{font-size:.68rem;font-weight:700;color:var(--dnd-gold);background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-18);border-radius:8px;padding:4px 8px;white-space:nowrap;font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .bst-row-added{font-size:.68rem;font-weight:700;color:var(--dnd-gold);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .bst-row-add{flex-shrink:0;width:34px;height:34px;border:1px solid var(--dnd-border);border-radius:11px;background:var(--dnd-surface-2);color:var(--dnd-text);font-size:1.15rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;touch-action:manipulation;transition:background-color .14s,border-color .14s,color .14s,transform .12s}:root[data-theme^=modern-] .bst-row-add:hover{border-color:var(--dnd-gold);color:var(--dnd-gold);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .bst-row-add:active{transform:scale(.94)}:root[data-theme^=modern-] .bst-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:52px 20px;text-align:center;color:var(--dnd-muted)}:root[data-theme^=modern-] .bst-empty .bst-search-icon{width:22px;height:22px;opacity:.6}:root[data-theme^=modern-] .bst-empty-title{font-size:.85rem;font-weight:600;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .bst-preview-footer{flex-direction:column;gap:10px}:root[data-theme^=modern-] .bst-kind-pills{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}:root[data-theme^=modern-] .bst-kind-pills::-webkit-scrollbar{height:0;display:none}:root[data-theme^=modern-] .modal-content.dr-modal{--dr-num-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, "Segoe UI", sans-serif;--dr-scrim: rgba(0, 0, 0, .28);--dr-hairline: rgba(255, 255, 255, .06);--dr-face-bg: rgba(255, 255, 255, .03);--dr-face-border: rgba(255, 255, 255, .14);--dr-discard-border: rgba(255, 255, 255, .16);--dr-damage: #ff8a5c;width:min(392px,calc(100vw - 32px));max-width:392px}:root[data-theme^=modern-] .dr-modal .modal-header{gap:13px;padding:18px 18px 15px}:root[data-theme^=modern-] .dr-modal .modal-title{display:flex;flex-direction:column;gap:2px;font-family:var(--font-primary)}:root[data-theme^=modern-] .dr-modal .modal-close{border-radius:9px}.dr-type-chip{width:44px;height:44px;flex-shrink:0;border-radius:13px;background:var(--dnd-gold-12);border:1px solid var(--dnd-gold-25);color:var(--dnd-gold);display:flex;align-items:center;justify-content:center}:root[data-theme^=modern-] .dr-modal .dr-eyebrow{font-size:.63rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dnd-muted)}:root[data-theme^=modern-] .dr-modal .dr-title-text{font-size:1.14rem;font-weight:700;letter-spacing:-.01em;line-height:1.15;color:var(--dnd-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root[data-theme^=modern-] .dr-formula-wrap{display:flex;justify-content:center;padding:15px 20px 4px}:root[data-theme^=modern-] .dr-formula{display:inline-flex;align-items:center;gap:8px;padding:7px 15px;border-radius:11px;background:var(--dr-scrim);border:1px solid var(--dr-hairline);font-family:var(--dr-num-font);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:600;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .dr-formula-d20{color:var(--dnd-gold)}:root[data-theme^=modern-] .dr-formula-sign{color:var(--dnd-muted)}:root[data-theme^=modern-] .dr-choose{padding:16px 16px 22px;display:flex;flex-direction:column;gap:14px;animation:drIn .28s ease-out}:root[data-theme^=modern-] .dr-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}:root[data-theme^=modern-] .dr-tile{display:flex;flex-direction:column;align-items:center;gap:9px;padding:16px 5px 13px;min-width:0;border-radius:16px;border:1px solid transparent;background:none;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .1s ease}:root[data-theme^=modern-] .dr-tile:active{transform:scale(.97)}:root[data-theme^=modern-] .dr-tile--free{width:100%}:root[data-theme^=modern-] .dr-tile--dis{background:color-mix(in srgb,var(--dnd-danger) 6%,transparent);border-color:color-mix(in srgb,var(--dnd-danger) 28%,transparent)}:root[data-theme^=modern-] .dr-tile--dis:hover{background:color-mix(in srgb,var(--dnd-danger) 14%,transparent);border-color:color-mix(in srgb,var(--dnd-danger) 55%,transparent)}:root[data-theme^=modern-] .dr-tile--normal,:root[data-theme^=modern-] .dr-tile--free{background:var(--dnd-gold-08);border-color:var(--dnd-gold-30);box-shadow:0 4px 16px var(--dnd-gold-10)}:root[data-theme^=modern-] .dr-tile--normal:hover,:root[data-theme^=modern-] .dr-tile--free:hover{background:var(--dnd-gold-15);border-color:var(--dnd-gold-50)}:root[data-theme^=modern-] .dr-tile--adv{background:color-mix(in srgb,var(--dnd-success) 6%,transparent);border-color:color-mix(in srgb,var(--dnd-success) 26%,transparent)}:root[data-theme^=modern-] .dr-tile--adv:hover{background:color-mix(in srgb,var(--dnd-success) 14%,transparent);border-color:color-mix(in srgb,var(--dnd-success) 55%,transparent)}:root[data-theme^=modern-] .dr-tile-label{font-size:.78rem;font-weight:700;letter-spacing:-.01em}:root[data-theme^=modern-] .dr-tile--dis .dr-tile-label{color:var(--dnd-danger)}:root[data-theme^=modern-] .dr-tile--normal .dr-tile-label,:root[data-theme^=modern-] .dr-tile--free .dr-tile-label{color:var(--dnd-gold)}:root[data-theme^=modern-] .dr-tile--adv .dr-tile-label{color:var(--dnd-success)}:root[data-theme^=modern-] .dr-tile-sub{display:inline-flex;align-items:center;gap:3px;font-family:var(--dr-num-font);font-variant-numeric:tabular-nums;font-size:.66rem;color:var(--dnd-muted)}:root[data-theme^=modern-] .dr-tile-die{position:relative;width:52px;height:40px;display:flex;align-items:center;justify-content:center}:root[data-theme^=modern-] .dr-tile-die .die-icon{width:42px;height:42px}:root[data-theme^=modern-] .dr-tile--normal .dr-tile-die,:root[data-theme^=modern-] .dr-tile--free .dr-tile-die{color:var(--dnd-gold)}:root[data-theme^=modern-] .dr-tile--dis .dr-tile-die{color:var(--dnd-danger)}:root[data-theme^=modern-] .dr-tile--adv .dr-tile-die{color:var(--dnd-success)}:root[data-theme^=modern-] .dr-tile-die--pair .dr-die-main{position:relative;z-index:1;width:40px;height:40px}:root[data-theme^=modern-] .dr-tile-die--pair .dr-die-ghost{position:absolute;bottom:-3px;width:22px;height:22px;opacity:.28}:root[data-theme^=modern-] .dr-tile--dis .dr-die-ghost{right:-2px}:root[data-theme^=modern-] .dr-tile--adv .dr-die-ghost{left:-2px}:root[data-theme^=modern-] .dr-vis{display:flex;gap:6px}:root[data-theme^=modern-] .dr-vis-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 6px;border-radius:12px;border:1px solid var(--dnd-border);background:var(--dr-scrim);color:var(--dnd-muted);font-family:inherit;cursor:pointer;transition:color .16s ease,border-color .16s ease,background .16s ease}:root[data-theme^=modern-] .dr-vis-btn:hover{color:var(--dnd-text);border-color:var(--dnd-gold-30)}:root[data-theme^=modern-] .dr-vis-btn.active{color:var(--dnd-gold);border-color:var(--dnd-gold-50);background:var(--dnd-gold-08)}:root[data-theme^=modern-] .dr-vis-icon{display:flex}:root[data-theme^=modern-] .dr-vis-label{font-size:.68rem;text-align:center;line-height:1.1}:root[data-theme^=modern-] .dr-reveal{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--dnd-text-secondary);cursor:pointer}:root[data-theme^=modern-] .dr-reveal input{accent-color:var(--dnd-gold);cursor:pointer}:root[data-theme^=modern-] .dr-rolling{padding:30px 20px 34px;display:flex;flex-direction:column;align-items:center;gap:18px}:root[data-theme^=modern-] .dr-rolling-stage{position:relative;width:130px;height:130px;display:flex;align-items:center;justify-content:center}:root[data-theme^=modern-] .dr-rolling-die{width:118px;height:118px;color:var(--dnd-gold);filter:drop-shadow(0 0 16px var(--dnd-gold-40));animation:drShake .42s ease-in-out infinite}:root[data-theme^=modern-] .dr-rolling-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--dr-num-font);font-variant-numeric:tabular-nums;font-size:2.3rem;font-weight:700;color:var(--dnd-text);text-shadow:0 2px 10px rgba(0,0,0,.85);animation:drNum .42s ease-in-out infinite}:root[data-theme^=modern-] .dr-rolling-caption{font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--dnd-muted);animation:drPulse .9s ease-in-out infinite}:root[data-theme^=modern-] .dr-result{padding:20px 20px 22px;display:flex;flex-direction:column;align-items:center;gap:15px;animation:drIn .22s ease-out}:root[data-theme^=modern-] .dr-badge{padding:5px 16px;border-radius:100px;font-size:.72rem;font-weight:700;letter-spacing:.05em;border:1px solid transparent}:root[data-theme^=modern-] .dr-badge--crit{color:var(--dnd-gold);background:var(--dnd-gold-12);border-color:var(--dnd-gold-30);letter-spacing:.1em}:root[data-theme^=modern-] .dr-badge--fumble{color:var(--dnd-danger);background:color-mix(in srgb,var(--dnd-danger) 12%,transparent);border-color:color-mix(in srgb,var(--dnd-danger) 32%,transparent);letter-spacing:.1em}:root[data-theme^=modern-] .dr-badge--adv{color:var(--dnd-success);background:color-mix(in srgb,var(--dnd-success) 12%,transparent);border-color:color-mix(in srgb,var(--dnd-success) 30%,transparent)}:root[data-theme^=modern-] .dr-badge--dis{color:var(--dnd-danger);background:color-mix(in srgb,var(--dnd-danger) 12%,transparent);border-color:color-mix(in srgb,var(--dnd-danger) 30%,transparent)}:root[data-theme^=modern-] .dr-total{font-family:var(--dr-num-font);font-variant-numeric:tabular-nums;font-size:4rem;font-weight:700;line-height:.9;letter-spacing:-.03em}:root[data-theme^=modern-] .dr-total--normal{color:var(--dnd-gold);text-shadow:0 0 24px var(--dnd-gold-30)}:root[data-theme^=modern-] .dr-total--crit{color:var(--dnd-gold);animation:drCritGlow 1.1s ease-in-out infinite}:root[data-theme^=modern-] .dr-total--fumble{color:var(--dnd-danger);animation:drFumbleGlow 1.1s ease-in-out infinite}:root[data-theme^=modern-] .dr-faces{display:flex;gap:12px}:root[data-theme^=modern-] .dr-face{width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-family:var(--dr-num-font);font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:700;border-radius:14px;border:2px solid;animation:drFace .32s ease-out}:root[data-theme^=modern-] .dr-face--nat20{border-color:var(--dnd-gold);color:var(--dnd-gold);background:var(--dnd-gold-10);box-shadow:0 0 20px var(--dnd-gold-30)}:root[data-theme^=modern-] .dr-face--nat1{border-color:var(--dnd-danger);color:var(--dnd-danger);background:color-mix(in srgb,var(--dnd-danger) 10%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--dnd-danger) 28%,transparent)}:root[data-theme^=modern-] .dr-face--chosen{border-color:var(--dnd-gold);color:var(--dnd-gold);background:var(--dnd-gold-08);box-shadow:0 0 14px var(--dnd-gold-15)}:root[data-theme^=modern-] .dr-face--discarded{border-style:dashed;border-color:var(--dr-discard-border);color:var(--dnd-muted);background:transparent;opacity:.5}:root[data-theme^=modern-] .dr-face--plain{border-color:var(--dr-face-border);color:var(--dnd-text-secondary);background:var(--dr-face-bg)}:root[data-theme^=modern-] .dr-calc{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:11px;background:var(--dr-scrim);border:1px solid var(--dr-hairline);font-family:var(--dr-num-font);font-variant-numeric:tabular-nums;font-size:1.02rem}:root[data-theme^=modern-] .dr-calc-die{color:var(--dnd-gold);font-weight:700}:root[data-theme^=modern-] .dr-calc-sign{color:var(--dnd-muted)}:root[data-theme^=modern-] .dr-calc-mod{color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .dr-calc-eq{color:var(--dnd-muted);margin:0 2px}:root[data-theme^=modern-] .dr-calc-total{color:var(--dnd-text);font-weight:700}:root[data-theme^=modern-] .dr-free-formula{font-family:var(--dr-num-font);font-size:.8rem;color:var(--dnd-muted)}:root[data-theme^=modern-] .dr-damage{width:100%;margin-top:2px;padding-top:14px;border-top:1px solid var(--dr-hairline);display:flex;flex-direction:column;align-items:center;gap:9px}:root[data-theme^=modern-] .dr-damage-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dnd-muted)}:root[data-theme^=modern-] .dr-damage-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;font-family:var(--dr-num-font);font-variant-numeric:tabular-nums;font-size:.92rem;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .dr-damage-dice{color:var(--dnd-muted)}:root[data-theme^=modern-] .dr-damage-arrow{color:var(--dnd-muted);flex-shrink:0}:root[data-theme^=modern-] .dr-damage-total{font-size:1.35rem;font-weight:700;color:var(--dr-damage)}:root[data-theme^=modern-] .dr-damage-type{font-size:.74rem;font-style:italic;color:var(--dnd-muted)}:root[data-theme^=modern-] .dr-actions{display:flex;gap:9px;width:100%;margin-top:4px}:root[data-theme^=modern-] .dr-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:12px;border-radius:12px;border:1px solid transparent;font-family:inherit;font-size:.86rem;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease}:root[data-theme^=modern-] .dr-btn--secondary{border-color:var(--dnd-gold-25);background:var(--dnd-gold-08);color:var(--dnd-gold);font-weight:600}:root[data-theme^=modern-] .dr-btn--secondary:hover{background:var(--dnd-gold-15);border-color:var(--dnd-gold-40)}:root[data-theme^=modern-] .dr-btn--primary{border:none;background:linear-gradient(135deg,var(--dnd-gold-light),var(--dnd-gold));color:var(--dnd-on-gold);font-weight:700;box-shadow:0 6px 18px var(--dnd-gold-25)}:root[data-theme^=modern-] .dr-btn--primary:hover{box-shadow:0 8px 22px var(--dnd-gold-40);filter:brightness(1.03)}:root[data-theme^=modern-] .dr-secret{padding:26px 20px 30px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}:root[data-theme^=modern-] .dr-secret-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-25);color:var(--dnd-gold);margin-bottom:4px}:root[data-theme^=modern-] .dr-secret-title{font-size:1.02rem;font-weight:700;color:var(--dnd-text)}:root[data-theme^=modern-] .dr-secret-hint{font-size:.85rem;color:var(--dnd-muted)}:root[data-theme=modern-light] .modal-content.dr-modal{--dr-scrim: rgba(0, 0, 0, .05);--dr-hairline: rgba(0, 0, 0, .08);--dr-face-bg: rgba(0, 0, 0, .03);--dr-face-border: rgba(0, 0, 0, .12);--dr-discard-border: rgba(0, 0, 0, .2);--dr-damage: #c2571f}@keyframes drIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes drFace{0%{opacity:0;transform:scale(.5) rotate(-22deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes drShake{0%{transform:rotate(-11deg)}25%{transform:rotate(10deg)}50%{transform:rotate(-15deg)}75%{transform:rotate(14deg)}to{transform:rotate(-11deg)}}@keyframes drNum{0%{transform:translate(-50%,-50%) rotate(-8deg)}50%{transform:translate(-50%,-50%) rotate(9deg)}to{transform:translate(-50%,-50%) rotate(-8deg)}}@keyframes drPulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes drCritGlow{0%,to{text-shadow:0 0 26px var(--dnd-gold-40),0 0 52px var(--dnd-gold-20)}50%{text-shadow:0 0 44px var(--dnd-gold-light),0 0 78px var(--dnd-gold-40)}}@keyframes drFumbleGlow{0%,to{text-shadow:0 0 26px color-mix(in srgb,var(--dnd-danger) 70%,transparent)}50%{text-shadow:0 0 42px var(--dnd-danger)}}@media(prefers-reduced-motion:reduce){:root[data-theme^=modern-] .dr-rolling-die,:root[data-theme^=modern-] .dr-rolling-num,:root[data-theme^=modern-] .dr-rolling-caption,:root[data-theme^=modern-] .dr-total--crit,:root[data-theme^=modern-] .dr-total--fumble,:root[data-theme^=modern-] .dr-face,:root[data-theme^=modern-] .dr-choose,:root[data-theme^=modern-] .dr-result{animation:none}}:root[data-theme^=modern-] .modal-overlay:has(>.hp-edit-modal){background:#0000008c;-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px)}:root[data-theme^=modern-] .hp-edit-modal--damage{--hp-accent: var(--v-hp-damage);--hp-accent-base: var(--dnd-danger)}:root[data-theme^=modern-] .hp-edit-modal--heal{--hp-accent: var(--v-hp-heal);--hp-accent-base: var(--dnd-success)}:root[data-theme^=modern-] .hp-edit-modal--temp{--hp-accent: var(--v-hp-temp);--hp-accent-base: var(--dnd-info)}:root[data-theme^=modern-] .modal-content.hp-edit-modal{margin:auto auto 0;width:100%;max-width:360px;background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:24px;box-shadow:var(--shadow-xl);animation:hpSheetUp .28s cubic-bezier(.32,.72,0,1)}@media(min-width:768px){:root[data-theme^=modern-] .modal-content.hp-edit-modal{margin:auto}}@keyframes hpSheetUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}:root[data-theme^=modern-] .hp-edit-modal .modal-header{border-bottom:none;background:none;padding:20px 20px 0;position:static}:root[data-theme^=modern-] .hp-edit-modal .modal-title{color:var(--dnd-text);font-family:var(--font-primary);font-size:1.05rem;font-weight:700;letter-spacing:-.01em;text-transform:none}:root[data-theme^=modern-] .hp-edit-modal .modal-close{width:30px;height:30px;min-width:30px;border:none;border-radius:var(--radius-full);background:var(--surface-hover);color:var(--dnd-text-secondary);font-size:1rem}:root[data-theme^=modern-] .hp-edit-modal .modal-close:hover{background:var(--p-segment-track);color:var(--dnd-text);transform:none}:root[data-theme^=modern-] .hp-edit-modal .hp-edit-body{padding:16px 20px 20px;gap:16px}:root[data-theme^=modern-] .hp-edit-segments{display:flex;gap:4px;background:var(--p-segment-track);border-radius:12px;padding:4px}:root[data-theme^=modern-] .hp-edit-segment{flex:1;min-width:0;border:none;border-radius:8px;padding:9px 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),box-shadow var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .hp-edit-segment.active{background:var(--p-segment-thumb);color:var(--hp-accent);box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .hp-edit-amount{display:flex;align-items:baseline;justify-content:center;gap:8px;padding:14px 0 6px}:root[data-theme^=modern-] .hp-edit-amount-value{font-size:3.2rem;font-weight:700;line-height:1;color:var(--hp-accent);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .hp-edit-amount-unit{font-size:.95rem;font-weight:600;color:var(--dnd-muted)}:root[data-theme^=modern-] .hp-edit-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}:root[data-theme^=modern-] .hp-edit-key{height:56px;border:none;border-radius:16px;background:var(--surface-hover);color:var(--dnd-text);font-size:1.5rem;font-weight:600;font-family:inherit;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;transition:filter var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}:root[data-theme=modern-dark] .hp-edit-key:hover{filter:brightness(1.2)}:root[data-theme=modern-darkest] .hp-edit-key:hover{background:#ffffff24}:root[data-theme=modern-light] .hp-edit-key:hover{background:#00000014}:root[data-theme^=modern-] .hp-edit-key:active{filter:brightness(1.35)}:root[data-theme^=modern-] .hp-edit-key--fn{background:transparent;color:var(--dnd-text-secondary);font-size:1.15rem}:root[data-theme^=modern-] .hp-edit-modal--max{--hp-accent: var(--dnd-gold)}:root[data-theme^=modern-] .maxhp-section{display:flex;flex-direction:column;gap:8px}:root[data-theme^=modern-] .maxhp-field-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-muted)}:root[data-theme^=modern-] .maxhp-auto-hint{margin-top:-12px;text-align:center;font-size:.78rem;font-weight:500;color:var(--dnd-muted)}:root[data-theme^=modern-] .maxhp-reset{margin-bottom:-8px;align-self:center;border:none;background:transparent;border-radius:8px;padding:6px 12px;font-size:.82rem;font-weight:600;font-family:inherit;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-] .maxhp-reset:hover{background:var(--surface-hover);color:var(--dnd-text)}:root[data-theme^=modern-] .hp-edit-confirm{border:none;border-radius:16px;padding:15px;font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;touch-action:manipulation;background-color:var(--hp-accent);color:var(--v-hp-on-accent);background-image:linear-gradient(180deg,#ffffff38,#fff0 55%);box-shadow:inset 0 1px #ffffff4d,var(--shadow-sm);transition:filter var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .hp-edit-confirm:hover{filter:brightness(1.06)}:root[data-theme^=modern-] .hp-edit-confirm:active{transform:scale(.98)}:root[data-theme^=modern-] .modal-content.idm-modal{display:flex;flex-direction:column;max-width:400px;max-height:88vh;padding:0;overflow:hidden}:root[data-theme^=modern-] .idm-header{display:flex;align-items:center;gap:10px;padding:16px 18px 14px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}:root[data-theme^=modern-] .idm-close{width:30px;height:30px;flex-shrink:0;border:none;border-radius:var(--radius-full);background:var(--surface-hover);color:var(--dnd-text-secondary);font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .idm-close:hover{background:var(--p-segment-track);color:var(--dnd-text)}:root[data-theme^=modern-] .idm-seg{display:flex;gap:3px;margin:14px 18px 0;background:var(--p-segment-track);border-radius:12px;padding:4px;flex-shrink:0}:root[data-theme^=modern-] .idm-seg-btn{flex:1;border:none;border-radius:9px;padding:8px 0;font-size:.82rem;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-] .idm-seg-btn.is-on{background:var(--p-segment-thumb);color:var(--dnd-text);font-weight:700;box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .idm-search{margin:12px 18px 0;display:flex;align-items:center;gap:9px;border:1px solid var(--dnd-border);border-radius:12px;background:var(--dnd-surface-0);padding:0 12px;flex-shrink:0;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .idm-search:focus-within{border-color:var(--dnd-gold);box-shadow:0 0 0 3px var(--dnd-gold-10)}:root[data-theme^=modern-] .idm-search-icon{display:flex;flex-shrink:0;color:var(--dnd-muted)}:root[data-theme^=modern-] .idm-search-icon svg{width:17px;height:17px}:root[data-theme^=modern-] .idm-search-input{flex:1;min-width:0;border:none;background:transparent;color:var(--dnd-text);padding:11px 0;font-size:16px;font-family:inherit;outline:none}:root[data-theme^=modern-] .idm-search-input::placeholder{color:var(--dnd-muted)}:root[data-theme^=modern-] .idm-search-clear{width:20px;height:20px;flex-shrink:0;border:none;border-radius:50%;background:var(--p-segment-track);color:var(--dnd-text-secondary);cursor:pointer;font-size:.65rem;display:flex;align-items:center;justify-content:center;touch-action:manipulation}:root[data-theme^=modern-] .idm-pills-wrap{position:relative;margin-top:12px;flex-shrink:0}:root[data-theme^=modern-] .idm-pills{padding:0 18px 2px;display:flex;gap:7px;overflow-x:auto;flex-shrink:0;scrollbar-width:none}:root[data-theme^=modern-] .idm-pills-nav{position:absolute;top:0;bottom:2px;width:42px;display:none;align-items:center;border:none;padding:0;z-index:1;cursor:pointer;color:var(--dnd-text);font-size:1.2rem;line-height:1;touch-action:manipulation;transition:color var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .idm-pills-nav:hover{color:var(--dnd-gold)}:root[data-theme^=modern-] .idm-pills-nav--left{left:0;justify-content:flex-start;padding-left:16px;background:linear-gradient(90deg,var(--dnd-surface-1) 45%,transparent)}:root[data-theme^=modern-] .idm-pills-nav--right{right:0;justify-content:flex-end;padding-right:16px;background:linear-gradient(270deg,var(--dnd-surface-1) 45%,transparent)}@media(hover:hover)and (pointer:fine){:root[data-theme^=modern-] .idm-pills-wrap.can-left .idm-pills-nav--left{display:flex}:root[data-theme^=modern-] .idm-pills-wrap.can-right .idm-pills-nav--right{display:flex}}:root[data-theme^=modern-] .idm-pills::-webkit-scrollbar{height:0;display:none}:root[data-theme^=modern-] .idm-pill{flex-shrink:0;border:1px solid var(--dnd-border);border-radius:9999px;background:var(--dnd-surface-2);color:var(--dnd-text-secondary);padding:7px 13px;font-size:.74rem;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;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-] .idm-pill.is-on{border-color:var(--dnd-gold);background:var(--dnd-gold-10);color:var(--dnd-gold);font-weight:700}:root[data-theme^=modern-] .idm-list{margin-top:10px;padding:0 12px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}:root[data-theme^=modern-] .idm-list::-webkit-scrollbar{width:8px}:root[data-theme^=modern-] .idm-list::-webkit-scrollbar-thumb{background:var(--p-segment-track);border-radius:9999px}:root[data-theme^=modern-] .idm-row{display:flex;align-items:center;gap:8px;border-radius:12px;border-bottom:1px solid var(--border-subtle);transition:background var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .idm-row:last-child{border-bottom:none}:root[data-theme^=modern-] .idm-row:hover{background:var(--surface-hover)}:root[data-theme^=modern-] .idm-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:11px 6px}:root[data-theme^=modern-] .idm-row-name{font-size:.9rem;font-weight:600;color:var(--dnd-text);line-height:1.2;overflow-wrap:anywhere}:root[data-theme^=modern-] .idm-row-meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center}:root[data-theme^=modern-] .idm-row-cost{font-size:.68rem;font-weight:600;color:var(--dnd-muted);font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .idm-row-actions{display:flex;align-items:center;gap:7px;flex-shrink:0;padding-right:4px}:root[data-theme^=modern-] .idm-buy{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--dnd-gold-18);border-radius:10px;background:var(--dnd-gold-10);color:var(--dnd-gold);padding:7px 10px;cursor:pointer;font-size:.72rem;font-weight:700;font-family:inherit;font-variant-numeric:tabular-nums;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .idm-buy svg{width:14px;height:14px}:root[data-theme^=modern-] .idm-buy:hover:not(:disabled){background:var(--dnd-gold-18)}:root[data-theme^=modern-] .idm-buy:active:not(:disabled){transform:scale(.96)}:root[data-theme^=modern-] .idm-buy:disabled{opacity:.45;cursor:default}:root[data-theme^=modern-] .idm-add{width:34px;height:34px;flex-shrink:0;border:1px solid var(--dnd-border);border-radius:11px;background:var(--dnd-surface-2);color:var(--dnd-text);cursor:pointer;font-size:1.15rem;line-height:1;display:flex;align-items:center;justify-content:center;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),transform var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .idm-add:hover{border-color:var(--dnd-gold);color:var(--dnd-gold);background:var(--dnd-gold-10)}:root[data-theme^=modern-] .idm-add:active{transform:scale(.94)}:root[data-theme^=modern-] .idm-badges{display:flex;flex-wrap:wrap;gap:5px;align-items:center}:root[data-theme^=modern-] .idm-badge{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-radius:6px;padding:3px 7px;white-space:nowrap}:root[data-theme^=modern-] .idm-badge--type{color:var(--dnd-text-secondary);background:var(--dnd-surface-2);border:1px solid var(--border-subtle)}:root[data-theme^=modern-] .idm-badge--warn{color:var(--dnd-danger);background:color-mix(in srgb,var(--dnd-danger) 14%,transparent);border:1px solid color-mix(in srgb,var(--dnd-danger) 30%,transparent)}:root[data-theme^=modern-] .idm-badge--rarity[data-tier="1"]{color:#30d158;background:#30d15824;border:1px solid rgba(48,209,88,.3)}:root[data-theme^=modern-] .idm-badge--rarity[data-tier="2"]{color:#0a84ff;background:#0a84ff24;border:1px solid rgba(10,132,255,.3)}:root[data-theme^=modern-] .idm-badge--rarity[data-tier="3"]{color:#bf5af2;background:#bf5af224;border:1px solid rgba(191,90,242,.3)}:root[data-theme^=modern-] .idm-badge--rarity[data-tier="4"]{color:#ff9f0a;background:#ff9f0a24;border:1px solid rgba(255,159,10,.3)}:root[data-theme^=modern-] .idm-badge--rarity[data-tier="5"]{color:#ff453a;background:#ff453a24;border:1px solid rgba(255,69,58,.3)}:root[data-theme^=modern-] .idm-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:56px 20px;text-align:center}:root[data-theme^=modern-] .idm-empty-icon{color:var(--dnd-muted);opacity:.6}:root[data-theme^=modern-] .idm-empty-icon svg{width:26px;height:26px}:root[data-theme^=modern-] .idm-empty-title{font-size:.85rem;font-weight:600;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .idm-empty-hint{font-size:.75rem;color:var(--dnd-muted)}:root[data-theme^=modern-] .idm-footer{padding:11px 18px;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}:root[data-theme^=modern-] .idm-count{font-size:.72rem;font-weight:600;color:var(--dnd-muted)}:root[data-theme^=modern-] .idm-createown{border:none;background:transparent;color:var(--dnd-gold);font-size:.78rem;font-weight:700;font-family:inherit;cursor:pointer;padding:0;touch-action:manipulation;transition:opacity var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .idm-createown:hover{opacity:.8}@keyframes idmFieldIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}:root[data-theme^=modern-] .idm-preview{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 18px 20px;display:flex;flex-direction:column;gap:16px;animation:idmFieldIn .22s ease-out}@media(prefers-reduced-motion:reduce){:root[data-theme^=modern-] .idm-preview{animation:none}}:root[data-theme^=modern-] .idm-back{align-self:flex-start;border:none;background:transparent;color:var(--dnd-gold);font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;padding:0;touch-action:manipulation;transition:opacity var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .idm-back:hover{opacity:.8}:root[data-theme^=modern-] .idm-preview-head{display:flex;align-items:flex-start;gap:11px}:root[data-theme^=modern-] .idm-cat-icon{width:40px;height:40px;flex-shrink:0;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--dnd-gold-10);color:var(--dnd-gold)}:root[data-theme^=modern-] .idm-cat-icon svg{width:20px;height:20px}:root[data-theme^=modern-] .idm-preview-titles{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}:root[data-theme^=modern-] .idm-preview-name{font-size:1.12rem;font-weight:700;letter-spacing:-.01em;color:var(--dnd-text);line-height:1.15;overflow-wrap:anywhere}:root[data-theme^=modern-] .idm-preview-actions{display:flex;gap:9px;margin-top:auto;padding-top:4px}:root[data-theme^=modern-] .idm-preview-buy{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--dnd-gold-18);border-radius:14px;padding:13px;font-size:.9rem;font-weight:700;font-family:inherit;cursor:pointer;color:var(--dnd-gold);background:var(--dnd-gold-10);font-variant-numeric:tabular-nums;touch-action:manipulation;transition:background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}:root[data-theme^=modern-] .idm-preview-buy svg{width:15px;height:15px}:root[data-theme^=modern-] .idm-preview-buy:hover:not(:disabled){background:var(--dnd-gold-18)}:root[data-theme^=modern-] .idm-preview-buy:active:not(:disabled){transform:scale(.99)}:root[data-theme^=modern-] .idm-preview-buy:disabled{opacity:.5;cursor:default}:root[data-theme^=modern-] .idm-preview-add{flex:1}:root[data-theme^=modern-] .idm-preview-add svg{width:15px;height:15px}:root[data-theme^=modern-] .idm-flash{text-align:center;font-size:.75rem;font-weight:600;color:var(--dnd-gold)}.license-footer{border-top:1px solid var(--dnd-border);background:var(--dnd-surface-0);padding:.6rem 1rem;margin-top:2rem;font-size:.72rem;color:var(--text-muted);text-align:center;line-height:1.5;position:relative;z-index:0}.license-footer-content{display:flex;flex-wrap:wrap;justify-content:center;gap:0 .4rem}.license-footer-separator{color:var(--text-muted);opacity:.5}.license-footer a{color:var(--dnd-accent-gold);text-decoration:none;border-bottom:1px solid var(--dnd-accent-gold);transition:opacity .2s ease}.license-footer a:hover{opacity:.8}@media(max-width:600px){.license-footer{padding:.5rem 4.5rem .5rem .75rem;font-size:.65rem}}.license-footer-lang.language-switcher{font-size:.72rem;padding:.15rem .4rem;border:none;background:transparent;color:var(--dnd-accent-gold);font-weight:400;border-bottom:1px solid var(--dnd-accent-gold);border-radius:0}.license-footer-lang.language-switcher:hover{background:transparent;opacity:.8;border-color:var(--dnd-accent-gold)}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:var(--z-toast);display:flex;flex-direction:column;gap:.5rem;max-width:min(400px,calc(100vw - 2rem));pointer-events:none}.toast{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;border-radius:var(--radius-lg);font-size:.875rem;line-height:1.4;box-shadow:var(--shadow-lg);pointer-events:all;animation:toast-in var(--duration-normal) var(--ease-out);border:1px solid transparent}@keyframes toast-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.toast--success{background:#1a3324;border-color:var(--dnd-success);color:#a8f0b0}.toast--error{background:#2d1515;border-color:var(--dnd-danger);color:#f4a0a0}.toast--warning{background:#2d2000;border-color:var(--dnd-warning);color:#f5d280}.toast--info{background:var(--dnd-surface-3);border-color:var(--dnd-border);color:var(--dnd-text)}.toast__icon{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.7rem;font-weight:700}.toast--success .toast__icon{background:var(--dnd-success);color:#000}.toast--error .toast__icon{background:var(--dnd-danger);color:#fff}.toast--warning .toast__icon{background:var(--dnd-warning);color:#000}.toast--info .toast__icon{background:var(--dnd-info);color:#000}.toast__message{flex:1}.toast__action{background:transparent;border:1px solid currentColor;color:inherit;border-radius:var(--radius-sm);padding:.2rem .5rem;font-size:.8rem;cursor:pointer;white-space:nowrap;flex-shrink:0}.toast__action:hover{opacity:.8}.toast__close{background:transparent;border:none;color:inherit;opacity:.6;cursor:pointer;font-size:1.1rem;line-height:1;padding:0 .15rem;flex-shrink:0}.toast__close:hover{opacity:1}.card{background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:var(--radius-lg);padding:1.5rem;transition:all var(--duration-normal) var(--ease-out)}.card--interactive{cursor:pointer}.card--interactive:hover{border-color:var(--dnd-gold);transform:translateY(-2px);box-shadow:var(--shadow-md)}:root[data-theme=light] .card{background:var(--dnd-card-bg);box-shadow:var(--shadow-sm)}.badge{display:inline-block;padding:.15rem .5rem;border-radius:var(--radius-xs);font-weight:700;letter-spacing:.05em;border:1px solid transparent;line-height:1.2}.badge--xs{font-size:.65rem}.badge--sm{font-size:.75rem}.badge--gold{background:var(--dnd-gold-15);color:var(--dnd-gold);border-color:var(--dnd-gold-30)}.badge--red{background:var(--dnd-red-15);color:var(--dnd-accent-red);border-color:var(--dnd-red-30)}.badge--purple{background:#7b68ee26;color:var(--dnd-accent-purple);border-color:#7b68ee4d}.badge--success{background:#4caf5026;color:var(--dnd-success);border-color:#4caf504d}.badge--info{background:#42a5f526;color:var(--dnd-info);border-color:#42a5f54d}.btn-icon-left{margin-right:.5rem}.btn-icon-right{margin-left:.5rem}.input{display:block;width:100%;padding:.6rem .85rem;background:var(--surface-input);border:1px solid var(--dnd-border);border-radius:var(--radius-md);color:var(--dnd-text);font-size:var(--text-base);font-family:inherit;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease;min-height:44px}.input::placeholder{color:var(--text-muted);opacity:.7}.input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 3px var(--dnd-gold-10)}.input:disabled{opacity:.5;cursor:not-allowed}.select{display:block;width:100%;padding:.6rem 2rem .6rem .85rem;background:var(--surface-input);border:1px solid var(--dnd-border);border-radius:var(--radius-md);color:var(--dnd-text);font-size:var(--text-base);font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10z' fill='%237a7568'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:border-color var(--duration-fast) ease;min-height:44px}.select:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 3px var(--dnd-gold-10)}.divider{height:1px;background:var(--border-divider);margin:var(--sp-4) 0}.divider--gold{background:linear-gradient(90deg,transparent,var(--dnd-gold-30),transparent)}.md-text>:first-child{margin-top:0}.md-text>:last-child{margin-bottom:0}.md-text table,.feature-tooltip-text table,.spell-text table{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.88rem}.md-text th,.md-text td,.feature-tooltip-text th,.feature-tooltip-text td,.spell-text th,.spell-text td{border:1px solid var(--dnd-border);padding:.4rem .55rem;text-align:left;vertical-align:top;line-height:1.45}.md-text th,.feature-tooltip-text th,.spell-text th{background:var(--dnd-surface-1);color:var(--dnd-gold);font-family:var(--font-primary);font-weight:700}.md-text tbody tr:nth-child(2n) td,.feature-tooltip-text tbody tr:nth-child(2n) td,.spell-text tbody tr:nth-child(2n) td{background:var(--dnd-gold-06)}.md-text table:not(:has(th)) tr:first-child td,.feature-tooltip-text table:not(:has(th)) tr:first-child td,.spell-text table:not(:has(th)) tr:first-child td{background:var(--dnd-surface-1);color:var(--dnd-gold);font-family:var(--font-primary);font-weight:700}.md-text h1,.md-text h2,.md-text h3,.md-text h4,.md-text h5,.md-text h6,.feature-tooltip-text h1,.feature-tooltip-text h2,.feature-tooltip-text h3,.feature-tooltip-text h4,.feature-tooltip-text h5,.feature-tooltip-text h6{font-family:var(--font-primary);font-weight:700;font-size:1rem;color:var(--dnd-text-light);margin:.9rem 0 .4rem}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.modal-content.simple-wizard-modal{max-width:560px}.simple-wizard-subtitle{display:block;margin:0;padding:.65rem 1.5rem .7rem;color:var(--dnd-text-secondary);font-size:.875rem;line-height:1.5;border-bottom:1px solid var(--dnd-gold-10)}.simple-wizard-step{padding:1.25rem 1.5rem .5rem;display:flex;flex-direction:column;gap:.75rem}.simple-wizard-progress{padding:.6rem 1.5rem 0;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dnd-muted)}.simple-wizard-question{margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:var(--dnd-gold);line-height:1.35}.simple-wizard-hint{margin:-.35rem 0 0;font-size:.82rem;color:var(--dnd-text-secondary);line-height:1.5}.simple-wizard-options{display:flex;flex-direction:column;gap:.45rem;padding-bottom:.5rem}.simple-wizard-option{display:block;width:100%;padding:.7rem 1rem;text-align:left;background:var(--dnd-surface-2);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);color:var(--dnd-text);font-size:.9rem;line-height:1.4;cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease,transform .1s ease;font-family:inherit}.simple-wizard-option:hover{background:var(--dnd-gold-10);border-color:var(--dnd-gold-30);color:var(--dnd-text-primary, #ffe8b0)}.simple-wizard-option:active{transform:scale(.99)}.simple-wizard-option--selected{background:var(--dnd-gold-15);border-color:var(--dnd-gold);color:var(--dnd-gold);font-weight:600;box-shadow:0 0 0 1px var(--dnd-gold-30)}.simple-wizard-option--selected:before{content:"✓ ";opacity:.8}.simple-wizard-option--recommended{border-color:var(--dnd-gold-30);background:var(--dnd-gold-10);color:var(--dnd-text-primary, #ffe8b0)}.simple-wizard-option--recommended:hover{border-color:var(--dnd-gold);background:var(--dnd-gold-15)}.simple-wizard-rec-hint{margin:0 0 .6rem;font-size:.78rem;color:var(--dnd-text-muted, rgba(232,213,183,.55));font-style:italic}.simple-wizard-error{margin:0;padding:.5rem .75rem;border-radius:var(--radius-md);background:#c83c3c26;border:1px solid rgba(200,60,60,.35);color:#ff8a8a;font-size:.85rem}.simple-wizard-review{padding:1.25rem 1.5rem .5rem;display:flex;flex-direction:column;gap:1rem}.simple-wizard-result-title{margin:0;font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--dnd-gold);letter-spacing:.5px}.simple-wizard-result-summary{margin:-.5rem 0 0;font-size:.9rem;color:var(--dnd-text);line-height:1.55;opacity:.88}.simple-wizard-alts{border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);background:var(--dnd-surface-2);overflow:hidden}.simple-wizard-alts summary{padding:.55rem .9rem;cursor:pointer;font-size:.83rem;color:var(--dnd-muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase;list-style:none;-webkit-user-select:none;user-select:none;transition:color var(--duration-fast)}.simple-wizard-alts summary:hover{color:var(--dnd-text-secondary)}.simple-wizard-alts[open] summary{border-bottom:1px solid var(--dnd-gold-10);color:var(--dnd-text-secondary)}.simple-wizard-alts ul{margin:0;padding:.4rem .4rem .5rem;list-style:none;display:flex;flex-direction:column;gap:.25rem}.simple-wizard-alts li{list-style:none;padding:0}.simple-wizard-alt-option{display:flex;flex-direction:column;gap:.2rem;width:100%;padding:.55rem .75rem;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease;font-family:inherit}.simple-wizard-alt-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.simple-wizard-match-pct{font-size:.72rem;font-weight:700;padding:1px 5px;border-radius:4px;white-space:nowrap;flex-shrink:0;letter-spacing:.2px}.simple-wizard-match-pct.match-pct--high{background:#48bb7826;border:1px solid rgba(72,187,120,.35);color:#6ee09a}.simple-wizard-match-pct.match-pct--mid{background:var(--dnd-gold-12);border:1px solid var(--dnd-gold-30);color:var(--dnd-gold)}.simple-wizard-match-pct.match-pct--low{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:var(--dnd-text-secondary)}.simple-wizard-alt-option strong{font-size:.875rem;color:var(--dnd-text);font-weight:600;line-height:1.3}.simple-wizard-alt-option span{font-size:.8rem;color:var(--dnd-text-secondary);line-height:1.4}.simple-wizard-alt-option:hover{background:var(--dnd-gold-06);border-color:var(--dnd-gold-15)}.simple-wizard-alt-option:hover strong{color:var(--dnd-text-primary, #ffe8b0)}.simple-wizard-alt-option--selected{background:var(--dnd-gold-10);border-color:var(--dnd-gold-30);cursor:default}.simple-wizard-alt-option--selected strong{color:var(--dnd-gold)}.simple-wizard-alt-option--selected:before{content:"✓ ";font-size:.75rem;color:var(--dnd-gold);opacity:.8;align-self:flex-start}.simple-wizard-name-label{display:flex;flex-direction:column;gap:.45rem}.simple-wizard-name-label span{font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--dnd-muted)}.simple-wizard-name-label input{padding:.65rem .9rem;border:1px solid var(--dnd-gold-20);border-radius:var(--radius-md);background:var(--dnd-surface-0);color:var(--dnd-text);font-size:.95rem;font-family:inherit;transition:border-color var(--duration-fast),box-shadow var(--duration-fast);width:100%;box-sizing:border-box}.simple-wizard-name-label input:focus{outline:none;border-color:var(--dnd-gold-50);box-shadow:0 0 0 2px var(--dnd-gold-15)}.simple-wizard-name-label input::placeholder{color:var(--dnd-muted);opacity:.7}.simple-wizard-footer{position:sticky;bottom:0;background:var(--dnd-surface-1);display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1.5rem 1.25rem;border-top:1px solid var(--dnd-gold-10);box-shadow:0 -8px 16px var(--dnd-surface-1)}:root[data-theme=light] .simple-wizard-subtitle{color:#666;border-bottom-color:#7a5c1e1f}:root[data-theme=light] .simple-wizard-option{background:#00000008;border-color:#7a5c1e26;color:#3a2a10}:root[data-theme=light] .simple-wizard-option:hover{background:var(--dnd-gold-10);border-color:#7a5c1e59;color:#3a2a10}:root[data-theme=light] .simple-wizard-option--selected{background:var(--dnd-gold-15);border-color:#a07820;color:#7a5c1e}:root[data-theme=light] .simple-wizard-option--recommended{background:var(--dnd-gold-08);border-color:#7a5c1e59;color:#3a2a10}:root[data-theme=light] .simple-wizard-rec-hint{color:#3a2a1080}:root[data-theme=light] .simple-wizard-name-label input{background:#fff;border-color:#7a5c1e40;color:#3a2a10}:root[data-theme=light] .simple-wizard-name-label input:focus{border-color:#7a5c1e8c;box-shadow:0 0 0 2px #7a5c1e1a}:root[data-theme=light] .simple-wizard-alts{background:#00000008;border-color:#7a5c1e26}:root[data-theme=light] .simple-wizard-alt-option strong{color:#3a2a10}:root[data-theme=light] .simple-wizard-alt-option span{color:#777}:root[data-theme=light] .simple-wizard-alt-option:hover{background:var(--dnd-gold-08);border-color:#7a5c1e40}:root[data-theme=light] .simple-wizard-alt-option--selected{background:var(--dnd-gold-12);border-color:#7a5c1e66}:root[data-theme=light] .simple-wizard-alt-option--selected strong{color:#7a5c1e}:root[data-theme=light] .simple-wizard-result-title{color:#7a5c1e}:root[data-theme=light] .simple-wizard-question{color:#7a5c1e}:root[data-theme=light] .simple-wizard-footer{background:#f8f5f0;border-top-color:#7a5c1e1f;box-shadow:0 -8px 16px #f8f5f0}.btn.btn-secondary.char-list-simple-btn{flex:1;min-width:0;padding:var(--sp-3) var(--sp-2);background:linear-gradient(135deg,#64b4781f,#50a0640f);border-color:#64b4784d;color:#9de0b0}.btn.btn-secondary.char-list-simple-btn:hover{background:linear-gradient(135deg,#64b47838,#50a0641f);border-color:#64b4788c;color:#baf0c8}:root[data-theme=light] .btn.btn-secondary.char-list-simple-btn{background:linear-gradient(135deg,#3c8c5014,#28783c0a);border-color:#3c8c5040;color:#2d7a45}:root[data-theme=light] .btn.btn-secondary.char-list-simple-btn:hover{background:linear-gradient(135deg,#3c8c5024,#28783c14);border-color:#3c8c5073;color:#1d5c32}.sw-breadcrumb{display:flex;flex-wrap:wrap;gap:.35rem .6rem;margin:0;padding:.5rem 1.5rem 0;list-style:none;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.sw-crumb{position:relative;color:var(--dnd-muted);opacity:.6}.sw-crumb:not(:last-child):after{content:"›";margin-left:.6rem;opacity:.5}.sw-crumb--active{color:var(--dnd-gold);opacity:1;font-weight:700}.sw-crumb--done{color:var(--dnd-text-secondary);opacity:.85}.sw-preview-identity{display:flex;flex-wrap:wrap;gap:.3rem .75rem;font-size:.85rem;color:var(--dnd-text-secondary)}.sw-preview-identity span:not(:last-child):after{content:"•";margin-left:.75rem;opacity:.4}.sw-preview-vitals{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.sw-stat{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.5rem .25rem;border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);background:var(--dnd-surface-2)}.sw-stat-val{font-size:1.25rem;font-weight:700;color:var(--dnd-gold);font-family:var(--font-display)}.sw-stat-lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dnd-muted)}.sw-preview-abilities{display:grid;grid-template-columns:repeat(6,1fr);gap:.4rem}.sw-ability{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.4rem .15rem;border:1px solid var(--dnd-gold-10);border-radius:var(--radius-md);background:var(--dnd-surface-2)}.sw-ability-lbl{font-size:.66rem;font-weight:700;letter-spacing:.04em;color:var(--dnd-muted)}.sw-ability-score{font-size:1rem;font-weight:700;color:var(--dnd-text)}.sw-ability-mod{font-size:.8rem;color:var(--dnd-gold)}.sw-ability-input{width:100%;max-width:3.2rem;text-align:center;font-size:.95rem;font-weight:700;color:var(--dnd-text);background:var(--dnd-surface, rgba(0, 0, 0, .25));border:1px solid var(--dnd-gold-15);border-radius:6px;padding:.1rem .2rem;-moz-appearance:textfield}.sw-ability-input::-webkit-outer-spin-button,.sw-ability-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sw-method-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.82rem}.sw-method-label{color:var(--dnd-muted)}.sw-link-btn{background:none;border:none;color:var(--dnd-gold);cursor:pointer;font:inherit;font-size:.82rem;padding:.1rem .2rem;border-radius:4px}.sw-link-btn:hover{text-decoration:underline}.sw-preview-section h4{margin:0 0 .3rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dnd-muted)}.sw-chip-list{margin:0 0 .25rem;font-size:.85rem;color:var(--dnd-text);line-height:1.5}.sw-chip-list strong{color:var(--dnd-text-secondary);font-weight:600}.sw-customize{border-top:1px solid var(--dnd-gold-10);padding-top:.75rem}.sw-customize h4:not(:first-of-type){margin-top:.9rem}.sw-select-row{display:flex;flex-wrap:wrap;gap:.5rem}.sw-select{flex:1 1 8rem;padding:.45rem .6rem;font:inherit;font-size:.85rem;color:var(--dnd-text);background:var(--dnd-surface, rgba(0, 0, 0, .25));border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md)}.sw-notes{margin:0;padding:.5rem .75rem .5rem 1.5rem;border-radius:var(--radius-md);background:var(--dnd-gold-08);border:1px solid var(--dnd-gold-15);color:var(--dnd-text-secondary);font-size:.78rem;line-height:1.5}.sw-notes li{margin:.1rem 0}.sw-level-row{display:flex;gap:.4rem}.sw-level-btn{flex:1 1 0;padding:.4rem 0;font:inherit;font-weight:700;color:var(--dnd-text-secondary);background:var(--dnd-surface, rgba(0, 0, 0, .25));border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.sw-level-btn:hover{border-color:var(--dnd-gold)}.sw-level-btn--active{background:var(--dnd-gold-18);border-color:var(--dnd-gold);color:var(--dnd-gold)}.sw-level-hint{margin:.4rem 0 0;font-size:.76rem;line-height:1.45;color:var(--dnd-muted)}.premium-modal{max-width:440px}.premium-body{padding:0 1.5rem 1.5rem}.premium-price-block{text-align:center;margin-bottom:.5rem}.premium-price{font-size:2.4rem;font-weight:800;color:var(--dnd-gold);font-family:var(--font-display);letter-spacing:1px}.premium-period{font-size:1rem;color:var(--dnd-text-muted);margin-left:.25rem}.premium-tagline{text-align:center;color:var(--dnd-text);opacity:.8;font-size:.95rem;margin:0 0 1.25rem}.premium-features{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:1rem}.premium-features li{display:flex;gap:.75rem;align-items:flex-start}.premium-feature-icon{font-size:1.5rem;flex-shrink:0;width:2rem;text-align:center}.premium-features li div{display:flex;flex-direction:column;gap:.15rem}.premium-features li strong{color:var(--dnd-text);font-size:.95rem}.premium-features li span:last-child{color:var(--dnd-text-muted);font-size:.82rem;line-height:1.35}.premium-buy-btn{display:block;width:100%;padding:.85rem 1.5rem;background:linear-gradient(135deg,var(--dnd-gold) 0%,var(--dnd-gold-dark) 100%);color:#1a1a2e;border:none;border-radius:var(--radius-md);font-size:1.05rem;font-weight:700;cursor:pointer;transition:filter .2s ease,transform var(--duration-fast) ease;letter-spacing:.3px}.premium-buy-btn:hover{filter:brightness(1.12)}.premium-buy-btn:active{transform:scale(.98)}.premium-buy-btn:disabled{opacity:.6;cursor:wait;filter:none;transform:none}.premium-error{text-align:center;color:#e74c3c;font-size:.85rem;margin:0 0 .75rem;padding:.5rem;background:#e74c3c1a;border-radius:var(--radius-sm)}.premium-legal{text-align:center;font-size:.72rem;color:var(--dnd-text-muted);opacity:.7;margin:.75rem 0 0;line-height:1.4}.premium-crypto-note{text-align:center;font-size:.78rem;color:var(--dnd-text-light);margin:.5rem 0 0;line-height:1.5;padding:.5rem .75rem;background:var(--dnd-gold-08);border-radius:var(--radius-sm);border:1px solid var(--dnd-gold-12)}.premium-legal a{color:var(--dnd-gold);text-decoration:underline}.premium-status-block{text-align:center;margin-bottom:1.25rem}.premium-status-badge{display:inline-block;padding:.35rem 1rem;background:linear-gradient(135deg,var(--dnd-gold) 0%,var(--dnd-gold-dark) 100%);color:#1a1a2e;border-radius:var(--radius-md);font-weight:700;font-size:.95rem}.premium-expires{color:var(--dnd-text-muted);font-size:.85rem;margin:.5rem 0 0}.premium-renew-info{text-align:center}.premium-renew-info p{color:var(--dnd-text-muted);font-size:.85rem;margin:0 0 .75rem;line-height:1.4}.premium-cancel-btn{display:block;width:100%;padding:.7rem 1rem;background:transparent;color:#e74c3c;border:1px solid #e74c3c;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s ease;margin-bottom:.5rem}.premium-cancel-btn:hover{background:#e74c3c1a}.premium-cancel-btn:disabled{opacity:.6;cursor:wait}.premium-secondary-btn{display:block;width:100%;padding:.7rem 1rem;background:transparent;color:var(--dnd-text-light);border:1px solid var(--dnd-gold-25);border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease;margin-bottom:.5rem}.premium-secondary-btn:hover{background:var(--dnd-gold-08);border-color:var(--dnd-gold-40)}.premium-secondary-btn:disabled{opacity:.6;cursor:wait}.premium-cancel-note{font-size:.75rem!important;opacity:.7;margin-top:.25rem!important}.btn-premium{background:linear-gradient(135deg,var(--dnd-gold-20) 0%,rgba(184,151,31,.15) 100%);border:1px solid var(--dnd-gold);color:var(--dnd-gold);padding:.3rem .65rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;letter-spacing:.3px}.btn-premium:hover{background:var(--dnd-gold-30);filter:brightness(1.1)}:root[data-theme=light] .premium-price{color:#8b6914}:root[data-theme=light] .premium-buy-btn{color:#fff;background:linear-gradient(135deg,#8b6914,#6d5310)}:root[data-theme=light] .btn-premium{background:#8b69141a;border-color:#8b6914;color:#8b6914}:root[data-theme=light] .btn-premium:hover{background:#8b691433}.premium-modal--plans{max-width:640px}.premium-plans{display:flex;gap:1rem;margin-bottom:1rem}.premium-plan-card{flex:1;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;position:relative}.premium-plan-card--featured{border-color:var(--dnd-gold);box-shadow:0 0 16px var(--dnd-gold-15)}.premium-plan-badge{position:absolute;top:-.6rem;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--dnd-gold) 0%,var(--dnd-gold-dark) 100%);color:#1a1a2e;font-size:.7rem;font-weight:700;padding:.2rem .75rem;border-radius:999px;white-space:nowrap;letter-spacing:.3px}.premium-plan-header{text-align:center;margin-bottom:1rem}.premium-plan-name{font-size:1.15rem;font-weight:700;color:var(--dnd-text);margin:0 0 .25rem}.premium-plan-price{display:flex;align-items:baseline;justify-content:center;gap:.25rem}.premium-plan-price .premium-price{font-size:1.8rem}.premium-plan-features{list-style:none;padding:0;margin:0 0 1rem;flex:1;display:flex;flex-direction:column;gap:.45rem;font-size:.82rem;line-height:1.35;color:var(--dnd-text)}.premium-plan-features li{padding-left:0}.premium-plan-feature--disabled{color:var(--dnd-text-muted);opacity:.6}.premium-buy-btn--featured{background:linear-gradient(135deg,var(--dnd-gold) 0%,#d4a017 50%,var(--dnd-gold-dark) 100%);box-shadow:0 2px 8px var(--dnd-gold-25)}.premium-upgrade-block{margin-bottom:1rem;text-align:center}.premium-upgrade-text{color:var(--dnd-text-muted);font-size:.88rem;margin:0 0 .75rem;line-height:1.4}.premium-section-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--dnd-gold);margin:0 0 .5rem}.premium-trial-badge{font-size:.78rem;font-style:italic;font-weight:400;opacity:.85;margin-left:.25rem}.premium-pending-block{border-color:var(--dnd-gold-25);background:var(--dnd-surface-2)}@media(max-width:520px){.premium-plans{flex-direction:column}.premium-modal--plans{max-width:100%}}.welcome-trial-modal{max-width:520px}.welcome-modal-body{display:flex;flex-direction:column;gap:1rem;padding:0 1.25rem 1.25rem}.welcome-modal-subtitle{margin:0;color:var(--dnd-gold);font-size:.95rem;line-height:1.45}.welcome-modal-section{display:flex;flex-direction:column;gap:.5rem}.welcome-modal-bullets{margin:0;padding:0 0 0 1.15rem;list-style:disc;display:flex;flex-direction:column;gap:.35rem}.welcome-modal-bullets li{font-size:.9rem;color:var(--dnd-text);line-height:1.5}.welcome-modal-hint{margin:0;font-size:.825rem;color:var(--dnd-text-dim);line-height:1.45}.welcome-modal-actions{display:flex;flex-direction:column;gap:.5rem;padding-top:.25rem}.welcome-modal-actions .auth-btn{padding:.55rem 1rem;font-size:.9rem}.share-char-avatar,.share-list-avatar{display:none}.share-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:3000;padding:1rem;animation:fadeInOverlay .2s ease-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.share-modal{background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-lg);width:95vw;max-width:480px;max-height:85vh;overflow-y:auto;box-shadow:0 16px 48px #0000008c,inset 0 1px 0 var(--dnd-gold-06);animation:slideUp .3s ease-out;display:flex;flex-direction:column}.share-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--dnd-gold-20);flex-shrink:0}.share-modal-header h3{margin:0;font-size:1.2rem;font-weight:700;color:var(--dnd-gold);font-family:var(--font-display);letter-spacing:.5px}.share-modal-close{background:none;border:none;font-size:1.4rem;cursor:pointer;padding:.25rem;color:var(--dnd-text-secondary);line-height:1;transition:color .2s;border-radius:4px}.share-modal-close:hover{color:var(--dnd-gold);background:var(--dnd-gold-10)}.share-modal-charname{padding:0 1.5rem;margin:1rem 0 .75rem;font-weight:600;color:var(--dnd-text-primary, #e8d5b7);font-size:.95rem}.share-form{display:flex;gap:.5rem;margin:0 1.5rem 1rem}.share-email-input{flex:1;padding:.6rem .75rem;border:1px solid var(--dnd-border);border-radius:6px;font-size:.95rem;background:var(--dnd-surface-0);color:var(--dnd-text-light);font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.share-email-input::placeholder{color:var(--dnd-muted);opacity:.5}.share-email-input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-15)}.share-btn-add{padding:.6rem 1rem;border:1px solid var(--dnd-gold);border-radius:6px;background:linear-gradient(135deg,var(--dnd-gold-15),var(--dnd-gold-06));color:var(--dnd-gold);font-weight:600;cursor:pointer;white-space:nowrap;font-size:.9rem;font-family:inherit;transition:all .2s}.share-btn-add:disabled{opacity:.4;cursor:not-allowed}.share-btn-add:not(:disabled):hover{background:linear-gradient(135deg,var(--dnd-gold-25),var(--dnd-gold-15));box-shadow:0 0 8px var(--dnd-gold-30)}.share-btn-add:not(:disabled):active{transform:scale(.98)}.share-msg{margin:0 1.5rem .75rem;padding:.75rem;border-radius:6px;font-size:.9rem;border-left:3px solid;animation:slideInMsg .3s ease-out}@keyframes slideInMsg{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.share-msg-error{background:#c8323226;color:#f99;border-color:#c83232}.share-msg-success{background:#64b46426;color:#9f9;border-color:#64b464}.share-list{padding:0 1.5rem 1.5rem;flex:1;overflow-y:auto}.share-list h4{margin:0 0 .75rem;font-size:.9rem;color:var(--dnd-gold);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.share-list ul{list-style:none;margin:0;padding:0}.share-list-empty{font-size:.9rem;color:var(--dnd-text-secondary);font-style:italic;text-align:center;padding:1rem 0}.share-list-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-radius:6px;margin-bottom:.5rem;background:var(--dnd-gold-06);border:1px solid var(--dnd-gold-10);transition:all .2s}.share-list-item:last-child{margin-bottom:0}.share-list-item:hover{background:var(--dnd-gold-08);border-color:var(--dnd-gold-20)}.share-list-info{display:flex;flex-direction:column;gap:.2rem;flex:1}.share-list-name{font-weight:500;color:var(--dnd-text-primary, #e8d5b7)}.share-list-email{font-size:.8rem;color:var(--dnd-text-secondary)}.share-btn-remove{background:none;border:1px solid rgba(200,80,80,.4);border-radius:4px;padding:.35rem .6rem;cursor:pointer;color:#f99;font-size:.85rem;transition:all .2s;flex-shrink:0}.share-btn-remove:not(:disabled):hover{background:#c8505026;border-color:#c8505099;color:#fcc}.share-btn-remove:disabled{opacity:.4;cursor:not-allowed}:root[data-theme=light] .share-modal{background:#fff;border-color:var(--dnd-border);box-shadow:0 8px 32px #0000001a}:root[data-theme=light] .share-modal-header{border-bottom-color:#b48c3233}:root[data-theme=light] .share-modal-header h3{color:#8b4513}:root[data-theme=light] .share-email-input{background:#fff;color:var(--dnd-text);border-color:var(--dnd-border)}:root[data-theme=light] .share-email-input::placeholder{color:#b0a898}:root[data-theme=light] .share-email-input:focus{border-color:var(--dnd-gold);box-shadow:0 0 0 2px #7a5c1e1a}:root[data-theme=light] .share-btn-add{color:#8b4513;border-color:#b48c32;background:linear-gradient(135deg,#b48c321a,#b48c3205)}:root[data-theme=light] .share-btn-add:not(:disabled):hover{background:linear-gradient(135deg,#b48c3226,#b48c320d);box-shadow:0 0 8px #b48c3233}:root[data-theme=light] .share-modal-charname{color:#333}:root[data-theme=light] .share-list h4{color:#8b4513}:root[data-theme=light] .share-list-name{color:#333}:root[data-theme=light] .share-list-email{color:#999}:root[data-theme=light] .share-list-item{background:#b48c320d;border-color:#b48c3226}:root[data-theme=light] .share-msg-error{background:#c864641a;color:#c83232;border-color:#e88888}:root[data-theme=light] .share-msg-success{background:#64b4641a;color:#2d7a2d;border-color:#8d8}.share-download-section{padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--dnd-gold-15);margin-top:.5rem}.share-download-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.share-download-header h4{margin:0;font-size:.9rem;color:var(--dnd-gold);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.share-download-lock{font-size:.85rem;opacity:.85}.share-download-hint{margin:0 0 .75rem;font-size:.85rem;color:var(--dnd-text-secondary);line-height:1.4}.share-download-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border:1px solid var(--dnd-gold-30);border-radius:6px;background:linear-gradient(135deg,var(--dnd-gold-08),var(--dnd-gold-04));color:var(--dnd-gold);font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s,transform .1s}.share-download-btn:not(:disabled):hover{background:linear-gradient(135deg,var(--dnd-gold-15),var(--dnd-gold-08));border-color:var(--dnd-gold);box-shadow:0 0 10px var(--dnd-gold-20)}.share-download-btn:not(:disabled):active{transform:translateY(1px)}.share-download-btn:disabled{opacity:.6;cursor:not-allowed}.share-download-btn svg{flex-shrink:0}.share-download-locked-note{margin:.6rem 0 0;font-size:.8rem;color:var(--dnd-text-secondary);font-style:italic}:root[data-theme=light] .share-download-section{border-top-color:#b48c3233}:root[data-theme=light] .share-download-header h4{color:#8b4513}:root[data-theme=light] .share-download-btn{color:#8b4513;border-color:#b48c32;background:linear-gradient(135deg,#b48c321a,#b48c3205)}:root[data-theme=light] .share-download-btn:not(:disabled):hover{background:linear-gradient(135deg,#b48c322e,#b48c320f);box-shadow:0 0 8px #b48c3240}.sg-section{margin-top:var(--sp-8);padding-top:var(--sp-6);border-top:2px solid var(--dnd-border)}.sg-section-title{color:var(--dnd-gold);font-size:var(--text-lg);font-family:var(--font-display);letter-spacing:1px;margin:0 0 var(--sp-1)}.sg-section-subtitle{color:var(--text-muted);font-size:var(--text-sm);margin:0 0 var(--sp-4)}.sg-create-btn{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-3) var(--sp-4);border:2px dashed var(--dnd-gold-30);border-radius:var(--radius-xl);background:transparent;color:var(--dnd-gold);font-size:var(--text-base);cursor:pointer;transition:border-color var(--duration-normal) var(--ease-out),background-color var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out);margin-bottom:var(--sp-3)}.sg-create-btn:hover{border-color:var(--dnd-gold);background:var(--dnd-gold-08);box-shadow:var(--shadow-glow-gold)}.sg-group-card{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4);background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);margin-bottom:var(--sp-2)}:root[data-theme=light] .sg-group-card{background:var(--dnd-card-bg);box-shadow:var(--shadow-xs)}.sg-group-card:hover{border-color:var(--dnd-gold-40)}.sg-group-icon{font-size:1.5rem;flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dnd-gold-10),var(--dnd-gold-03));border-radius:var(--radius-lg)}.sg-group-info{flex:1;min-width:0}.sg-group-name{color:var(--dnd-text-light);font-weight:600;font-size:var(--text-md);font-family:var(--font-display)}.sg-group-meta{color:var(--text-muted);font-size:var(--text-sm);margin-top:var(--sp-1)}.sg-group-actions{display:flex;gap:var(--sp-1);flex-shrink:0}.sg-group-actions button{background:transparent;border:none;cursor:pointer;font-size:1rem;padding:var(--sp-1);border-radius:var(--radius-sm);color:var(--text-muted);transition:background var(--duration-fast),color var(--duration-fast)}.sg-group-actions button:hover{background:#ffffff1a}.sg-builder{max-width:800px;margin:0 auto;padding:var(--sp-4)}.sg-builder-header{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-6)}.sg-back-btn{background:transparent;border:1px solid var(--dnd-border);color:var(--dnd-text-light);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-out)}.sg-back-btn:hover{border-color:var(--dnd-gold);color:var(--dnd-gold)}.sg-builder-title{color:var(--dnd-gold);font-size:var(--text-xl);font-family:var(--font-display);letter-spacing:1px;flex:1}.sg-form-group{margin-bottom:var(--sp-4)}.sg-form-label{display:block;color:var(--text-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.8px;margin-bottom:var(--sp-1);font-weight:500}.sg-form-hint{display:block;color:var(--text-muted);font-size:var(--text-xs);margin-top:var(--sp-1);opacity:.85}.sg-discord-on{color:#3ba55d;margin-left:.4rem;font-size:.7rem;line-height:1}.sg-form-input{width:100%;padding:var(--sp-2) var(--sp-3);background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:var(--radius-md);color:var(--dnd-text-light);font-size:16px;box-sizing:border-box;transition:border-color var(--duration-fast) var(--ease-out)}.sg-form-input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 3px var(--dnd-gold-10)}.sg-form-textarea{resize:vertical;min-height:60px}.sg-save-btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-5);background:var(--dnd-gold);color:#1a1a2e;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.sg-save-btn:hover{opacity:.9;box-shadow:var(--shadow-glow-gold)}.sg-save-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.sg-members-section{margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--dnd-border)}.sg-members-title{color:var(--dnd-gold);font-size:var(--text-md);font-family:var(--font-display);margin:0 0 var(--sp-3)}.sg-member-item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:var(--radius-md);margin-bottom:var(--sp-1);transition:all var(--duration-fast) var(--ease-out)}.sg-member-item:hover{border-color:var(--dnd-gold-40)}.sg-member-item--inactive{opacity:.5}.sg-member-item--access-lost{border-color:#c0392b;opacity:.6}.sg-member-drag{cursor:grab;color:var(--dnd-muted);font-size:1.1rem;flex-shrink:0;-webkit-user-select:none;user-select:none}.sg-member-drag:active{cursor:grabbing}.sg-member-info{flex:1;min-width:0}.sg-member-name{color:var(--dnd-text-light);font-weight:600;font-size:var(--text-sm)}.sg-member-details{color:var(--text-muted);font-size:var(--text-xs)}.sg-member-alias{color:var(--dnd-gold);font-size:var(--text-xs);font-style:italic}.sg-member-controls{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.sg-member-controls button{background:transparent;border:none;cursor:pointer;font-size:.9rem;padding:.2rem;border-radius:4px;transition:background var(--duration-fast)}.sg-member-controls button:hover{background:#ffffff1a}.sg-member-toggle{width:36px;height:20px;border-radius:10px;background:var(--dnd-border);border:none;cursor:pointer;position:relative;transition:background .2s;flex-shrink:0}.sg-member-toggle--active{background:var(--dnd-gold)}.sg-member-toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}.sg-member-toggle--active:after{transform:translate(16px)}.sg-add-member-btn{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);border:2px dashed var(--dnd-gold-25);border-radius:var(--radius-md);background:transparent;color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);margin-top:var(--sp-2)}.sg-add-member-btn:hover{border-color:var(--dnd-gold);border-style:solid;color:var(--dnd-gold)}.sg-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--dnd-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--sp-4)}.sg-picker{background:var(--dnd-dark);border:1px solid var(--dnd-border);border-radius:var(--radius-xl);width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-xl)}.sg-picker-header{padding:var(--sp-4);border-bottom:1px solid var(--dnd-border);display:flex;align-items:center;justify-content:space-between}.sg-picker-title{color:var(--dnd-gold);font-size:var(--text-md);font-family:var(--font-display);letter-spacing:.5px}.sg-picker-close{background:transparent;border:none;color:var(--dnd-muted);font-size:1.3rem;cursor:pointer;padding:.25rem}.sg-picker-back{background:transparent;border:none;color:var(--dnd-gold);font-size:.85rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background var(--duration-fast)}.sg-picker-back:hover{background:var(--dnd-gold-10)}.sg-link-btn{background:none;border:none;color:var(--dnd-gold);text-decoration:underline;cursor:pointer;font-size:.9rem;padding:0}.sg-picker-search{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--dnd-border)}.sg-picker-search input{width:100%;padding:var(--sp-2) var(--sp-3);background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:var(--radius-md);color:var(--dnd-text-light);font-size:var(--text-sm);box-sizing:border-box;transition:border-color var(--duration-fast) var(--ease-out)}.sg-picker-search input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 3px var(--dnd-gold-10)}.sg-picker-list{flex:1;overflow-y:auto;padding:var(--sp-2)}.sg-picker-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.sg-picker-item:hover{background:var(--dnd-gold-10)}.sg-picker-item--added{opacity:.5;cursor:not-allowed}.sg-picker-char-icon{font-size:1.2rem;flex-shrink:0}.sg-picker-char-info{flex:1;min-width:0}.sg-picker-char-name{color:var(--dnd-text-light);font-weight:600;font-size:var(--text-sm)}.sg-picker-char-details,.sg-picker-char-owner{color:var(--text-muted);font-size:var(--text-xs)}.sg-picker-empty{text-align:center;color:var(--text-muted);padding:var(--sp-8);font-size:var(--text-sm)}.sg-party-view{max-width:960px;margin:0 auto;padding:var(--sp-4)}@supports (padding-top: env(safe-area-inset-top)){@media(display-mode:standalone){.sg-party-view{padding-top:calc(var(--sp-4) + env(safe-area-inset-top,0px))}}}.sg-party-header{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap}.sg-party-title{color:var(--dnd-gold);font-size:var(--text-2xl);font-family:var(--font-display);letter-spacing:1px;flex:1}.sg-party-mode-toggle{display:flex;border:1px solid var(--dnd-border);border-radius:var(--radius-md);overflow:hidden}.sg-party-mode-btn{padding:var(--sp-1) var(--sp-3);background:transparent;border:none;color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.sg-party-mode-btn--active{background:var(--dnd-gold);color:#1a1a2e;font-weight:600}.sg-party-grid{display:flex;flex-direction:column;gap:3px;margin-top:1rem}.sg-pc-card{background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:var(--radius-xl);padding:.35rem .65rem;transition:all var(--duration-normal) var(--ease-out);position:relative;display:flex;flex-direction:column;overflow:hidden;width:100%;box-sizing:border-box}.sg-pc-card--player{border-left:4px solid #3498db}.sg-pc-card:hover{border-color:var(--dnd-gold-40);box-shadow:var(--shadow-md);transform:translateY(-1px)}.sg-pc-card--player:hover{border-color:#3498db;border-left-color:#3498db}.sg-pc-card--access-lost{opacity:.5;border-color:#c0392b}.sg-pc-card--inactive{opacity:.4}.sg-pc-header{display:flex;align-items:flex-start;gap:var(--sp-2);margin-bottom:var(--sp-2);position:relative}.sg-pc-icon{font-size:1.5rem;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dnd-gold-10),var(--dnd-gold-03));border-radius:var(--radius-md)}.sg-pc-name-block{flex:1;min-width:0}.sg-pc-name{color:var(--dnd-text-light);font-weight:700;font-size:var(--text-md);font-family:var(--font-display);cursor:pointer;transition:color var(--duration-fast) ease}.sg-pc-name:hover{color:var(--dnd-gold)}.sg-pc-alias{color:var(--dnd-gold);font-size:var(--text-xs);font-style:italic}.sg-pc-class{color:var(--text-muted);font-size:var(--text-xs)}.sg-pc-owner{color:var(--text-muted);font-size:.7rem}.sg-pc-initiative-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.4rem .6rem;background:var(--dnd-gold-15);border:1px solid var(--dnd-gold-40);border-radius:6px;flex-shrink:0;min-width:50px}.sg-pc-initiative-badge--header{order:-1;margin-right:.5rem}.sg-pc-initiative-footer{display:none}.sg-pc-initiative-label{color:var(--dnd-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.5px}.sg-pc-initiative-value{color:var(--dnd-gold);font-size:1.1rem;font-weight:700;cursor:pointer;transition:color var(--duration-fast)}.sg-pc-initiative-value:hover{color:#f4d03f}.sg-pc-initiative-input{width:45px;padding:.25rem .4rem;background:#ffffff1a;border:1px solid var(--dnd-gold);border-radius:4px;color:var(--dnd-gold);font-size:1.1rem;font-weight:700;text-align:center;outline:none}.sg-pc-initiative-input:focus{background:var(--dnd-gold-20);border-color:#f4d03f}.sg-npc-name-input{width:120px;flex:1;text-align:left;font-weight:500;font-size:.95rem;color:var(--dnd-text)}.sg-npc-ac-input{width:50px;font-size:.9rem}.sg-npc-maxhp-label{font-size:.75rem;color:var(--dnd-muted);white-space:nowrap}.sg-pc-hp-editor .sg-npc-maxhp-input{width:50px;font-size:.85rem;margin-right:4px}.sg-pc-stats{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.5rem}.sg-pc-stat{display:flex;flex-direction:column;align-items:center;padding:.3rem .5rem;background:#ffffff0a;border:1px solid var(--dnd-border);border-radius:6px;min-width:50px}.sg-pc-stat-label{color:var(--dnd-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.5px}.sg-pc-stat-value{color:var(--dnd-text);font-size:1rem;font-weight:700}.sg-pc-stat-value--hp{color:#27ae60}.sg-pc-stat-value--low-hp{color:#c0392b}.sg-pc-actions{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.4rem}.sg-pc-action-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-30);border-radius:4px;color:var(--dnd-gold);font-size:.75rem;cursor:pointer;transition:all var(--duration-fast)}.sg-pc-action-btn:hover{background:var(--dnd-gold-20)}.sg-pc-action-btn:disabled{opacity:.4;cursor:not-allowed}.sg-pc-spell-slots{display:flex;flex-wrap:wrap;gap:.3rem .6rem;margin-bottom:.5rem;padding:.4rem .5rem;background:#ffffff08;border:1px solid var(--dnd-border);border-radius:6px}.sg-pc-spell-row{display:flex;align-items:center;gap:.25rem}.sg-pc-spell-circle{color:var(--dnd-gold);font-size:.65rem;font-weight:700;width:.9rem;text-align:center;flex-shrink:0}.sg-pc-spell-pips{display:flex;gap:2px;align-items:center}.sg-pc-spell-pip{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--dnd-gold);background:transparent;opacity:.35;transition:all .2s}.sg-pc-spell-pip--avail{background:var(--dnd-gold);opacity:1;box-shadow:0 0 4px var(--dnd-gold-30)}.sg-pc-access-lost{text-align:center;padding:1rem;color:#c0392b;font-size:.85rem}.sg-readonly-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;background:#ffffff0d;border:1px solid var(--dnd-border);border-radius:12px;color:var(--dnd-muted);font-size:.75rem}.sg-sync-indicator{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;background:#27ae601a;border:1px solid rgba(39,174,96,.35);border-radius:12px;color:#27ae60;font-size:.7rem;font-weight:600;letter-spacing:.5px;animation:sg-sync-pulse 2s ease-in-out infinite;flex-shrink:0}@keyframes sg-sync-pulse{0%,to{opacity:1}50%{opacity:.6}}.sg-sync-indicator--lost{background:#e74c3c1f;border-color:#e74c3c66;color:#e74c3c;animation:sg-sync-lost-blink 1.2s ease-in-out infinite}@keyframes sg-sync-lost-blink{0%,to{opacity:1}50%{opacity:.35}}.sg-inline-input{width:3rem;padding:.15rem .25rem;background:var(--dnd-card);border:1px solid var(--dnd-border);border-radius:4px;color:var(--dnd-text);font-size:16px;text-align:center}.sg-inline-input:focus{outline:none;border-color:var(--dnd-gold)}.sg-loading{text-align:center;padding:2rem;color:var(--dnd-muted)}.sg-error{text-align:center;padding:1rem;color:#c0392b;background:#c0392b1a;border-radius:8px;margin:1rem 0}.sg-empty{text-align:center;padding:2rem;color:var(--dnd-muted);font-size:.9rem}.sg-pc-compact-row{display:flex;align-items:center;gap:.45rem;min-height:2rem}.sg-pc-cinit{display:flex;align-items:center;justify-content:center;min-width:2.1rem;height:1.9rem;background:var(--dnd-gold-15);border:1px solid var(--dnd-gold-40);border-radius:5px;flex-shrink:0}.sg-pc-cinit .sg-pc-initiative-input{width:2.2rem;padding:.15rem .2rem}.sg-pc-cinit-val{color:var(--dnd-gold);font-size:.95rem;font-weight:700;cursor:pointer;padding:0 .15rem;line-height:1;transition:color var(--duration-fast)}.sg-pc-cinit-val:hover{color:#f4d03f}.sg-pc-cinit-val--extreme{background:#f4d03f2e;border-radius:4px;outline:1px solid rgba(244,208,63,.5)}.sg-pc-cicon{font-size:1.1rem;width:1.4rem;text-align:center;flex-shrink:0;line-height:1}.sg-pc-cname{flex:1;min-width:0;font-weight:600;font-size:.88rem;color:var(--dnd-text-light);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--duration-fast)}.sg-pc-cname:hover{color:var(--dnd-gold)}.sg-pc-edition-badge{flex:0 0 auto;font-size:.62rem;font-weight:700;line-height:1;padding:.12rem .3rem;border-radius:.3rem;color:#8fc7ff;background:#5a96e629;border:1px solid rgba(90,150,230,.35);letter-spacing:.02em}.sg-pc-edition-badge--2024{color:#c4a5ff;background:#966ee629;border-color:#966ee659}.sg-pc-cstat{color:var(--dnd-muted);font-size:.8rem;white-space:nowrap;flex-shrink:0}.sg-pc-cstat strong{color:var(--dnd-text);font-weight:700}.sg-pc-cstat--danger{color:#c0392b;font-size:.75rem}.sg-pc-chp{display:inline-flex;align-items:center;font-size:.88rem;font-weight:700;flex-shrink:0;padding:.15rem .3rem;border-radius:4px;white-space:nowrap}.sg-pc-chp--clickable{cursor:pointer;transition:background var(--duration-fast)}.sg-pc-chp--clickable:hover{background:#ffffff14}.sg-pc-hp-caret{font-size:.6rem;color:var(--dnd-muted);line-height:1;margin-left:.1rem}.sg-pc-hp-editor{display:flex;gap:.4rem;align-items:center;padding:.3rem 0 .05rem;border-top:1px solid var(--dnd-border);margin-top:.25rem;flex-wrap:wrap}@media(max-width:600px){.sg-party-header{flex-direction:column;align-items:stretch}.sg-header-actions{margin-left:0;justify-content:flex-start}.sg-party-mode-toggle{align-self:center}}.sg-create-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--dnd-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--sp-4)}.sg-create-modal{background:var(--dnd-dark);border:1px solid var(--dnd-border);border-radius:var(--radius-xl);width:100%;max-width:450px;padding:var(--sp-5);box-shadow:var(--shadow-xl)}.sg-create-modal h3{color:var(--dnd-gold);font-family:var(--font-display);letter-spacing:.5px;margin:0 0 var(--sp-4)}.sg-create-actions{display:flex;gap:var(--sp-2);justify-content:flex-end;margin-top:var(--sp-4)}.sg-cancel-btn{padding:var(--sp-2) var(--sp-4);background:transparent;border:1px solid var(--dnd-border);color:var(--dnd-text-light);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-out)}.sg-cancel-btn:hover{border-color:var(--dnd-gold)}.sg-delete-btn{padding:.5rem 1rem;background:#c0392b;border:none;color:#fff;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600}.sg-delete-btn:hover{opacity:.9}.sg-npc-card{border-color:#c0392b73;border-left:4px solid #c0392b}.sg-npc-card:hover{border-color:#c0392b;border-left-color:#c0392b}.sg-npc-badge{color:#e67e22;font-style:italic}.sg-npc-remove-btn{background:transparent;border:none;color:var(--dnd-muted);font-size:.85rem;cursor:pointer;padding:.15rem .3rem;border-radius:4px;transition:color var(--duration-fast),background var(--duration-fast);flex-shrink:0;align-self:flex-start}.sg-npc-remove-btn:hover{color:#c0392b;background:#c0392b1a}.sg-npc-hp-input{width:3.5rem}.sg-header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-left:auto;justify-content:flex-end}.sg-header-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .8rem;border:1px solid transparent;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}.sg-header-btn svg{flex-shrink:0}.sg-header-btn--edit{background:#3498db1f;border-color:#3498db73;color:#3498db}.sg-header-btn--edit:hover{background:#3498db38;border-color:#3498db}.sg-header-btn--npc{background:var(--dnd-gold-10);border-color:var(--dnd-gold-30);color:var(--dnd-gold)}.sg-header-btn--npc:hover{background:var(--dnd-gold-15);border-color:var(--dnd-gold)}.sg-header-btn--discord{background:#5865f224;border-color:#5865f273;color:#8b95f7}.sg-header-btn--discord:hover{background:#5865f23d;border-color:#5865f2}.sg-header-btn--discord.is-paused{background:#e0a02024;border-color:#e0a02080;color:#e0a020}.sg-header-btn--discord.is-paused:hover{background:#e0a0203d;border-color:#e0a020}.discord-broadcast-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px;border-radius:8px;border:1px solid transparent;background:transparent;line-height:0;position:relative;cursor:default;transition:color var(--duration-fast),background var(--duration-fast),border-color var(--duration-fast),opacity var(--duration-fast);-webkit-tap-highlight-color:transparent}.discord-broadcast-badge.is-toggle{cursor:pointer}.discord-broadcast-badge.is-active{color:#fff;background:#5865f2;border-color:#5865f2}.discord-broadcast-badge.is-active.is-toggle:hover{background:#4752c4;border-color:#4752c4}.discord-broadcast-badge.is-muted{color:var(--dnd-text-muted, #8a8f98);background:transparent;border-color:var(--dnd-border);opacity:.85}.discord-broadcast-badge.is-muted.is-toggle:hover{opacity:1;background:#ffffff0f}.discord-broadcast-badge.is-muted:after{content:"";position:absolute;left:50%;top:50%;width:132%;height:2px;background:currentColor;transform:translate(-50%,-50%) rotate(-45deg);border-radius:2px}.sg-header-btn--log{background:#2dd4bf1f;border-color:#2dd4bf73;color:#2dd4bf}.sg-header-btn--log:hover{background:#2dd4bf38;border-color:#2dd4bf}.sg-discord-group{display:inline-flex;align-items:stretch;border:1px solid rgba(88,101,242,.45);border-radius:8px;overflow:hidden}.sg-discord-group .sg-header-btn{border:none;border-radius:0;background:#5865f224;color:#8b95f7}.sg-discord-group .sg-header-btn:not(:last-child){border-right:1px solid rgba(88,101,242,.35)}.sg-discord-group .sg-header-btn:hover{background:#5865f242}.sg-discord-group .sg-header-btn.is-paused{background:#e0a02029;color:#e0a020}.sg-discord-group .sg-header-btn.is-paused:hover{background:#e0a02042}.sg-discord-guide-toggle{display:inline-flex;align-items:center;gap:.35rem;margin-top:.75rem;padding:0;background:none;border:none;color:#8b95f7;font-size:.82rem;font-weight:600;cursor:pointer}.sg-discord-guide-toggle:hover{text-decoration:underline}.sg-discord-guide{margin-top:.6rem;padding:.75rem .9rem;border:1px solid rgba(88,101,242,.35);border-radius:8px;background:#5865f20f}.sg-discord-guide-title{display:block;margin-bottom:.5rem;font-size:.9rem}.sg-discord-guide-step{margin-bottom:.55rem}.sg-discord-guide-step:last-child{margin-bottom:0}.sg-discord-guide-step strong{display:block;font-size:.82rem;margin-bottom:.15rem}.sg-discord-guide-step p{margin:0;font-size:.8rem;line-height:1.4;opacity:.85}.sg-npc-generator{max-width:420px}.sg-npc-form{padding:1rem;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;max-height:calc(80vh - 60px)}.sg-npc-row{display:flex;flex-direction:column;gap:.3rem}.sg-npc-row-inline{display:grid;grid-template-columns:auto auto;gap:.75rem}.sg-npc-level-range{display:flex;align-items:center;gap:.5rem}.sg-npc-level-sep{color:var(--dnd-muted);font-size:.9rem}.sg-npc-actions{display:flex;gap:.5rem;flex-wrap:wrap}.sg-npc-gen-btn{flex:1;padding:.55rem 1rem;background:var(--dnd-gold);border:none;border-radius:6px;color:#1a1a2e;font-weight:700;font-size:.9rem;cursor:pointer;transition:opacity .2s;white-space:nowrap}.sg-npc-gen-btn:hover{opacity:.88}.sg-npc-add-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem 1rem;background:var(--dnd-gold-20);border:2px solid var(--dnd-gold);border-radius:6px;color:var(--dnd-text);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s;white-space:nowrap}.sg-npc-add-btn:hover{background:var(--dnd-gold-30);border-color:var(--dnd-gold);color:var(--dnd-text)}.sg-npc-add-btn:disabled{background:#00000026;border-color:#0003;color:var(--dnd-muted);cursor:not-allowed;opacity:.6}.sg-npc-add-btn:disabled:hover{background:#00000026}.sg-npc-add-btn--full{width:100%;flex:none;margin-top:.5rem}.sg-npc-preview{padding:.75rem;background:#c0392b0f;border:1px solid rgba(192,57,43,.3);border-radius:8px;display:flex;flex-direction:column;gap:.3rem}.sg-npc-preview-header{color:var(--dnd-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.5px}.sg-npc-preview-name{color:var(--dnd-text);font-weight:700;font-size:1rem}.sg-npc-preview-sub{color:#e67e22;font-size:.8rem;font-style:italic}.sg-npc-preview-stats{display:flex;gap:1rem;color:var(--dnd-muted);font-size:.85rem}.sg-combat-order-hint{display:flex;align-items:center;gap:.4rem;color:var(--dnd-muted);font-size:.75rem;margin-bottom:.5rem;padding:.3rem .5rem;background:#ffffff08;border-radius:6px;border:1px solid var(--dnd-border);width:fit-content}.sg-npc-header-clickable{cursor:pointer;border-radius:6px;transition:background var(--duration-fast)}.sg-npc-header-clickable:hover{background:#c0392b14}.sg-npc-delta-row{display:flex;gap:.4rem;align-items:center;padding-top:.35rem;flex-wrap:wrap}.sg-npc-delta-input{width:4.5rem;flex-shrink:0}.sg-npc-dmg-btn,.sg-npc-heal-btn,.sg-npc-temp-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .65rem;border:none;border-radius:5px;font-size:.78rem;font-weight:600;cursor:pointer;transition:opacity var(--duration-fast),filter var(--duration-fast);white-space:nowrap}.sg-npc-dmg-btn{background:#c0392b2e;color:#e74c3c;border:1px solid rgba(192,57,43,.4)}.sg-npc-dmg-btn:hover{background:#c0392b4d;border-color:#c0392b}.sg-npc-heal-btn{background:#27ae6026;color:#27ae60;border:1px solid rgba(39,174,96,.4)}.sg-npc-heal-btn:hover{background:#27ae6047;border-color:#27ae60}.sg-npc-temp-btn{background:#3498db26;color:#5da9e9;border:1px solid rgba(52,152,219,.4)}.sg-npc-temp-btn:hover{background:#3498db47;border-color:#3498db}.sg-stepper{display:inline-flex;align-items:center;gap:0;border:1px solid var(--dnd-border);border-radius:6px;overflow:hidden;background:var(--dnd-card);width:fit-content}.sg-stepper-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;color:var(--dnd-gold);font-size:1.2rem;font-weight:700;cursor:pointer;transition:background var(--duration-fast);user-select:none;-webkit-user-select:none}.sg-stepper-btn:hover:not(:disabled){background:var(--dnd-gold-15)}.sg-stepper-btn:active:not(:disabled){background:var(--dnd-gold-25)}.sg-stepper-btn:disabled{opacity:.3;cursor:not-allowed}.sg-stepper-value{min-width:40px;text-align:center;color:var(--dnd-text);font-size:1rem;font-weight:700;padding:0 .25rem;border-left:1px solid var(--dnd-border);border-right:1px solid var(--dnd-border);line-height:36px}.sg-npc-detail-modal{background:var(--dnd-card-bg);border:1px solid var(--dnd-border);border-radius:12px;width:min(480px,96vw);max-height:88vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000059}.sg-npc-detail-body{padding:1rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:.75rem}.sg-npc-detail-sub{color:#e67e22;font-size:.85rem;font-style:italic}.sg-npc-detail-stats{display:flex;gap:.75rem;flex-wrap:wrap;padding:.5rem;background:#ffffff08;border-radius:8px;border:1px solid var(--dnd-border)}.sg-npc-detail-stat{display:flex;flex-direction:column;align-items:center;min-width:3.5rem}.sg-npc-detail-stat-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;color:var(--dnd-muted)}.sg-npc-detail-stat-value{font-size:1.1rem;font-weight:700;color:var(--dnd-text)}.sg-npc-detail-section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.8px;color:var(--dnd-muted);font-weight:600;border-bottom:1px solid var(--dnd-border);padding-bottom:.2rem}.sg-npc-detail-abilities{font-size:.82rem;line-height:1.45;color:var(--dnd-text);white-space:pre-wrap;word-break:break-word;padding:.4rem .5rem;background:var(--dnd-bg-alt, rgba(255,255,255,.03));border-radius:6px;border:1px solid var(--dnd-border)}.sg-npc-ability-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem}.sg-npc-ability{display:flex;flex-direction:column;align-items:center;min-width:0;padding:.4rem .2rem;border:1px solid var(--dnd-border);border-radius:6px;background:#ffffff05}.sg-npc-ability--primary{border-color:#f39c1280;background:#f39c120f}.sg-npc-ability-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.4px;color:var(--dnd-muted);font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sg-npc-ability-score{font-size:1rem;font-weight:700;color:var(--dnd-text);line-height:1.2}.sg-npc-ability-mod{font-size:.75rem;color:var(--dnd-muted)}.sg-npc-attacks{display:flex;flex-direction:column;gap:.35rem}.sg-npc-attack-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.82rem;padding:.3rem .5rem;border-radius:6px;background:#ffffff05;border:1px solid var(--dnd-border)}.sg-npc-attack-name{font-weight:600;color:var(--dnd-text);flex:1;min-width:8rem}.sg-npc-attack-bonus{color:#3498db;white-space:nowrap}.sg-npc-attack-damage{color:#e67e22;white-space:nowrap}.sg-npc-spell-info{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.8rem;color:var(--dnd-muted);padding:.4rem .5rem;background:#ffffff05;border:1px solid var(--dnd-border);border-radius:6px}.sg-npc-spell-group{display:flex;flex-direction:column;gap:.3rem}.sg-npc-spell-subtitle{font-size:.72rem;color:var(--dnd-muted);font-style:italic}.sg-npc-spell-list{display:flex;flex-wrap:wrap;gap:.3rem}.sg-npc-spell-tag{padding:.15rem .5rem;background:#9b59b61f;border:1px solid rgba(155,89,182,.3);border-radius:12px;color:#9b59b6;font-size:.78rem}.sg-npc-spell-tag--clickable{cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.sg-npc-spell-tag--clickable:hover{background:#9b59b640;border-color:#9b59b699;color:#c39bd3}.sg-npc-spell-tag--active{background:#9b59b659;border-color:#9b59b6;color:#d7bde2;font-weight:600}.sg-npc-spell-slot-count{font-weight:400;color:var(--dnd-muted);font-style:normal}.sg-npc-spell-detail{margin-top:.4rem;padding:.6rem .75rem;background:#9b59b612;border:1px solid rgba(155,89,182,.3);border-radius:8px;font-size:.82rem}.sg-npc-spell-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.sg-npc-spell-detail-name{font-weight:700;color:var(--dnd-accent)}.sg-npc-spell-detail-close{background:none;border:none;cursor:pointer;color:var(--dnd-muted);font-size:.85rem;padding:0 .25rem;line-height:1}.sg-npc-spell-detail-close:hover{color:var(--dnd-text)}.sg-npc-spell-detail-meta{display:flex;flex-wrap:wrap;gap:.4rem .8rem;margin-bottom:.4rem;font-size:.77rem;color:var(--dnd-muted)}.sg-npc-spell-detail-text{font-size:.8rem;line-height:1.5;color:var(--dnd-text)}.sg-inventory-tab{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.sg-party-tabs{display:flex;border:1px solid var(--dnd-border);border-radius:8px;overflow:hidden}.sg-party-tab-btn{flex:1;padding:.5rem 1rem;background:transparent;border:none;color:var(--dnd-muted);font-size:.85rem;cursor:pointer;transition:all .2s}.sg-party-tab-btn--active{background:var(--dnd-gold);color:#1a1a2e;font-weight:600}.sg-party-tab-btn:hover:not(.sg-party-tab-btn--active){background:var(--dnd-surface-2)}.sg-party-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#e74c3c;color:#fff;font-size:.7rem;font-weight:700;margin-left:.35rem;vertical-align:middle}.sg-inv-section{background:var(--dnd-card);border:1px solid var(--dnd-border);border-radius:10px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.sg-inv-drop-target{border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-30)}.sg-inv-draggable{cursor:grab}.sg-inv-draggable:active{cursor:grabbing}.sg-inv-dragging{opacity:.4}.sg-inv-section-header{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;background:var(--dnd-surface-2);border-bottom:1px solid var(--dnd-border)}.sg-inv-section-title{font-size:var(--text-md);color:var(--dnd-gold);font-family:var(--font-display);margin:0;flex:1}.sg-inv-count{font-size:.75rem;color:var(--dnd-muted)}.sg-inv-add-btn{padding:.3rem .65rem;background:var(--dnd-gold);color:#1a1a2e;border:none;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;transition:opacity .2s}.sg-inv-add-btn:hover{opacity:.85}.sg-inv-empty{padding:.75rem .85rem;color:var(--dnd-muted);font-size:.85rem;font-style:italic}.sg-inv-items{display:flex;flex-direction:column}.sg-inv-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;border-bottom:1px solid var(--dnd-border);transition:background var(--duration-fast)}.sg-inv-item:last-child{border-bottom:none}.sg-inv-item:hover{background:var(--dnd-surface-1)}.sg-inv-item-icon{font-size:1.1rem;flex-shrink:0}.sg-inv-item-info{flex:1;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;min-width:0}.sg-inv-item-name{font-size:.9rem;color:var(--dnd-text);font-weight:500}.sg-inv-item-qty{font-size:.78rem;color:var(--dnd-muted)}.sg-inv-item-weight{font-size:.75rem;color:var(--dnd-muted)}.sg-inv-transferred-badge{font-size:.72rem;color:var(--dnd-gold);background:var(--dnd-gold-12);padding:.1rem .45rem;border-radius:4px;white-space:nowrap}.sg-inv-sent-badge{color:#e0a030;background:#e0a03026;animation:sent-pulse 2s ease-in-out infinite}@keyframes sent-pulse{0%,to{opacity:1}50%{opacity:.6}}.sg-inv-item-actions{display:flex;gap:.25rem;flex-shrink:0}.sg-inv-action-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;color:var(--dnd-text-secondary);font-size:.85rem;transition:all var(--duration-fast)}.sg-inv-action-btn:hover{background:var(--dnd-surface-2);border-color:var(--dnd-border);color:var(--dnd-gold)}.sg-inv-action-btn:disabled{opacity:.4;cursor:not-allowed}.sg-inv-action-btn--danger:hover{background:#e74c3c26;border-color:#e74c3c;color:#e74c3c}.sg-inv-section .inventory-list.sg-inv-list{border:none;border-radius:0;margin-bottom:0}.sg-inv-section .inventory-item.sg-inv-row{padding:.5rem .85rem}.sg-inv-row .sg-inv-item-actions{margin-left:auto}.sg-qty-tag{background:var(--dnd-gold-12);color:var(--dnd-gold);border:1px solid var(--dnd-gold-30)}.sg-from-tag{background:#ffffff0a;color:var(--dnd-text);border:1px solid var(--dnd-border);opacity:.85}.sg-inv-add-group{display:flex;align-items:center;gap:.4rem}.sg-inv-add-btn--directory{background:var(--dnd-surface-2);color:var(--dnd-gold);border:1px solid var(--dnd-gold-30)}.sg-inv-add-btn--directory:hover{background:var(--dnd-surface-1);opacity:1}.sg-transfer-modal{max-width:440px;padding:0}.sg-transfer-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--dnd-surface-3);border-bottom:2px solid var(--dnd-accent-gold)}.sg-transfer-modal-header h2{font-size:1.15rem;color:var(--dnd-text);margin:0}.sg-transfer-item-preview{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.25rem;background:var(--dnd-surface-1);border-bottom:1px solid var(--dnd-border)}.sg-transfer-item-name{font-weight:600;color:var(--dnd-text)}.sg-transfer-item-from{font-size:.8rem;color:var(--dnd-muted)}.sg-transfer-qty-row{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--dnd-border);font-size:.9rem}.sg-transfer-qty-input{width:70px;text-align:center}.sg-transfer-qty-max{color:var(--dnd-muted);font-size:.8rem}.sg-transfer-targets{padding:.85rem 1.25rem}.sg-transfer-label{display:block;font-size:.85rem;color:var(--dnd-muted);margin-bottom:.5rem}.sg-transfer-target-list{display:flex;flex-direction:column;gap:.3rem}.sg-transfer-target-btn{display:flex;align-items:center;gap:.4rem;padding:.55rem .75rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:8px;color:var(--dnd-text);font-size:.9rem;cursor:pointer;transition:all var(--duration-fast);text-align:left;width:100%}.sg-transfer-target-btn:hover{border-color:var(--dnd-gold);background:var(--dnd-surface-2)}.sg-transfer-target-btn--selected{border-color:var(--dnd-gold);background:var(--dnd-gold-15);font-weight:600}.sg-transfer-actions{display:flex;justify-content:flex-end;gap:.65rem;padding:.85rem 1.25rem;border-top:1px solid var(--dnd-border)}.sg-transfers-panel{background:var(--dnd-card);border:1px solid var(--dnd-accent-gold);border-radius:10px;overflow:hidden}.sg-transfers-panel-title{display:flex;align-items:center;gap:.4rem;padding:.65rem .85rem;background:var(--dnd-surface-2);border-bottom:1px solid var(--dnd-border);font-size:var(--text-md);font-family:var(--font-display);color:var(--dnd-gold);margin:0}.sg-transfers-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#e74c3c;color:#fff;font-size:.72rem;font-weight:700;font-family:sans-serif}.sg-transfers-group{padding:.5rem .85rem}.sg-transfers-group+.sg-transfers-group{border-top:1px solid var(--dnd-border)}.sg-transfers-group-title{font-size:.8rem;color:var(--dnd-muted);margin:0 0 .4rem;text-transform:uppercase;letter-spacing:.5px}.sg-transfer-card{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border-radius:8px;margin-bottom:.35rem;border:1px solid var(--dnd-border);background:var(--dnd-surface-1)}.sg-transfer-card--incoming{border-left:3px solid #2ecc71}.sg-transfer-card--outgoing{border-left:3px solid #3498db}.sg-transfer-card--declined{border-left:3px solid #e74c3c}.sg-transfer-card-info{flex:1;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;min-width:0}.sg-transfer-card-item{font-weight:600;font-size:.88rem;color:var(--dnd-text)}.sg-transfer-card-qty,.sg-transfer-card-from,.sg-transfer-card-to{font-size:.78rem;color:var(--dnd-muted)}.sg-transfer-card-status{font-size:.72rem;color:#e74c3c;font-style:italic}.sg-transfer-card-actions{display:flex;gap:.35rem;flex-shrink:0}.sg-transfer-card-actions .btn-sm{padding:.3rem .6rem;font-size:.78rem;border-radius:5px}@media(max-width:600px){.sg-inv-row .sg-inv-item-actions{width:auto;margin-top:0;margin-left:auto}.sg-inv-section-header{flex-wrap:wrap;row-gap:.5rem}.sg-inv-add-group{flex:1 1 100%}.sg-inv-add-group .sg-inv-add-btn{flex:1 1 0;text-align:center;white-space:nowrap}.sg-transfer-card{flex-direction:column;align-items:flex-start}.sg-transfer-card-actions{width:100%;justify-content:flex-end}}.sg-combat-controls{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;flex-wrap:wrap}.sg-combat-btn{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s}.sg-combat-btn:active{transform:scale(.97)}.sg-combat-btn--start{background:var(--heal-bg, #22c55e);color:#fff}.sg-combat-btn--start:hover{background:var(--heal-hover, #16a34a)}.sg-combat-btn--end{background:var(--dmg-bg, #ef4444);color:#fff}.sg-combat-btn--end:hover{background:var(--dmg-hover, #dc2626)}.sg-combat-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:999px;font-size:.85rem;font-weight:600;background:#ef444426;color:var(--dmg-text, #ef4444);animation:sg-combat-pulse 2s ease-in-out infinite}@keyframes sg-combat-pulse{0%,to{opacity:1}50%{opacity:.6}}.sg-combat-btn--next{background:var(--dnd-gold);color:#1a1a2e}.sg-combat-btn--next:hover{background:#f4d03f;box-shadow:0 0 8px #c9a84c66}.sg-combat-btn--placeholder{background:var(--dnd-surface-3);color:var(--dnd-text);border:1px dashed var(--dnd-border)}.sg-combat-btn--placeholder:hover{background:var(--dnd-surface-4, #353560);border-color:var(--dnd-gold-40)}.sg-pc-card[draggable=true]{cursor:grab}.sg-pc-card[draggable=true]:active{cursor:grabbing}.sg-combat-dragging{opacity:.4}.sg-combat-drag-over{margin-top:6px;padding-top:6px;border-top:3px solid var(--dnd-gold);transition:margin-top var(--duration-fast) ease,padding-top var(--duration-fast) ease}.sg-pc-card--active-turn{border:2px solid var(--dnd-gold)!important;border-left:4px solid var(--dnd-gold)!important;box-shadow:0 0 0 1px var(--dnd-gold),0 0 12px #c9a84c40;background:#c9a84c14}.sg-pc-cinit--active-turn{transform:scale(1.3);transform-origin:center;background:var(--dnd-gold);border-color:var(--dnd-gold);box-shadow:0 0 8px #c9a84c80;transition:transform .2s ease,box-shadow .2s ease}.sg-pc-cinit--active-turn .sg-pc-cinit-val{color:#1a1a2e}.sg-npc-card--player-view{opacity:.85}.sg-npc-card--player-view .sg-pc-header{cursor:default}.sg-npc-editor{max-width:440px}.sg-npc-override-check{margin-left:.4rem;vertical-align:middle;cursor:pointer}.sg-npc-beast-toggle{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;cursor:pointer;font-size:.9rem;color:var(--dnd-text);-webkit-user-select:none;user-select:none}.sg-npc-beast-toggle input[type=checkbox]{width:1.1rem;height:1.1rem;cursor:pointer}.sg-npc-abilities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.75rem}.sg-npc-ability-item{display:flex;align-items:center;gap:.3rem}.sg-npc-ability-label{font-weight:600;font-size:.8rem;min-width:2rem;color:var(--dnd-muted)}.sg-npc-ability-input{width:3rem;padding:.2rem .3rem;border:1px solid var(--dnd-border);border-radius:4px;text-align:center;font-size:.9rem;background:var(--dnd-card-bg);color:var(--dnd-text)}.sg-npc-ability-mod{font-size:.8rem;color:var(--dnd-muted);min-width:1.5rem}.sg-npc-library{max-width:480px;max-height:80vh;overflow-y:auto}.sg-npc-library-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem}@media(max-width:480px){.sg-npc-library-actions{flex-direction:column}}.sg-npc-library-list{display:flex;flex-direction:column;gap:.5rem;padding:.5rem .75rem}.sg-npc-library-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:8px;background:var(--dnd-card-bg);border:1px solid var(--dnd-border)}.sg-npc-library-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.sg-npc-library-icon{font-size:1.3rem}.sg-npc-library-name{font-weight:600;font-size:.95rem;color:var(--dnd-text)}.sg-npc-library-meta{font-size:.8rem;color:var(--dnd-muted)}.sg-npc-library-abilities{font-size:.78rem;color:var(--dnd-muted);font-style:italic;margin-top:.15rem;white-space:pre-line;max-height:3em;overflow:hidden;text-overflow:ellipsis}.sg-npc-library-btns{display:flex;gap:.25rem}.sg-npc-lib-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--dnd-border);border-radius:6px;padding:.3rem .5rem;cursor:pointer;color:var(--text-muted);transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)}.sg-npc-lib-btn:hover{background:#ffffff14;color:var(--dnd-text-light)}.sg-npc-lib-btn--danger:hover{background:#ef444426;color:var(--dnd-danger);border-color:var(--dnd-danger)}.sg-monster-ref-add-btn{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;background:var(--dnd-gold-20);border:2px solid var(--dnd-gold);color:var(--dnd-text);font-size:1.1rem;font-weight:700;line-height:1}.sg-monster-ref-add-btn:hover{background:var(--dnd-gold-30)}.sg-initiative-modal{max-width:400px}.sg-initiative-list{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem}.sg-initiative-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--dnd-border);background:var(--dnd-card-bg)}.sg-initiative-row--self{border-color:var(--primary, #6366f1);background:#6366f114}.sg-initiative-row--npc{opacity:.8}.sg-initiative-order{font-weight:700;font-size:1.1rem;min-width:1.5rem;text-align:center;color:var(--dnd-muted)}.sg-initiative-icon{font-size:1.1rem}.sg-initiative-name{flex:1;font-weight:500;font-size:.95rem}.sg-initiative-you{font-size:.8rem;font-weight:600;color:var(--primary, #6366f1)}.sg-initiative-npc-badge{font-size:.75rem;font-weight:600;color:var(--dnd-muted);margin-left:.25rem}.sg-initiative-value{font-weight:600;font-size:.95rem;min-width:2rem;text-align:right;color:var(--dnd-muted)}.sg-monster-ref-container{display:flex;flex-direction:column;gap:.5rem;height:100%}.sg-monster-ref-filters{display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem 1rem}.sg-monster-ref-search{flex:1 1 160px;min-width:120px;padding:.35rem .6rem;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:var(--radius-sm);color:var(--dnd-text);font-size:.85rem}.sg-monster-ref-search:focus{outline:none;border-color:var(--primary, #6366f1)}.sg-monster-ref-select{flex:1 1 100px;min-width:90px;padding:.35rem .4rem;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:var(--radius-sm);color:var(--dnd-text);font-size:.8rem}.sg-monster-ref-list{flex:1;overflow-y:auto;padding:0 .5rem .5rem}.sg-monster-ref-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius-sm);cursor:pointer;border-bottom:1px solid var(--dnd-border);transition:background var(--duration-fast)}.sg-monster-ref-row:hover{background:var(--dnd-surface-2)}.sg-monster-ref-row-main{flex:1;min-width:0}.sg-monster-ref-name{display:block;font-weight:600;font-size:.9rem;color:var(--dnd-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sg-monster-ref-meta{font-size:.75rem;color:var(--dnd-muted);display:block;margin-top:.1rem}.sg-monster-ref-row-aside{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.sg-monster-ref-cr{font-size:.75rem;font-weight:700;color:var(--dnd-gold);white-space:nowrap}.sg-monster-ref-source{font-size:.7rem;color:var(--dnd-muted);white-space:nowrap}.sg-monster-detail-view{display:flex;flex-direction:column;gap:.75rem;padding-bottom:1rem}.sg-monster-detail-header{border-bottom:1px solid var(--dnd-border);padding-bottom:.5rem}.sg-monster-detail-type{font-size:.85rem;color:var(--dnd-muted);font-style:italic}.sg-monster-detail-stats-row{display:flex;flex-wrap:wrap;gap:.5rem}.sg-monster-detail-stat{display:flex;flex-direction:column;background:var(--dnd-surface-2);border-radius:var(--radius-sm);padding:.4rem .7rem;min-width:6rem}.sg-monster-detail-stat-label{font-size:.7rem;color:var(--dnd-muted);text-transform:uppercase;letter-spacing:.04em}.sg-monster-detail-stat-value{font-size:.9rem;font-weight:600;color:var(--dnd-text);margin-top:.15rem}.sg-monster-detail-stat-pb{font-size:.75rem;font-weight:400;color:var(--dnd-muted);margin-left:.3rem}.sg-monster-ability-grid{gap:.4rem}.sg-monster-detail-props{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;border-top:1px solid var(--dnd-border);padding-top:.5rem}.sg-monster-detail-prop{display:flex;gap:.4rem}.sg-monster-detail-prop-label{color:var(--dnd-muted);white-space:nowrap;flex-shrink:0}.sg-monster-detail-section{border-top:1px solid var(--dnd-border);padding-top:.5rem}.sg-monster-detail-section-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--dnd-gold);margin-bottom:.4rem}.sg-monster-detail-action{font-size:.85rem;color:var(--dnd-text);margin-bottom:.4rem;line-height:1.5}.sg-monster-detail-action a{color:var(--primary, #6366f1);text-decoration:underline}.sg-monster-detail-action-name{color:var(--dnd-text)}.sg-monster-detail-fiction-toggle{background:none;border:1px solid var(--dnd-border);color:var(--dnd-muted);font-size:.8rem;padding:.3rem .6rem;border-radius:var(--radius-sm);cursor:pointer;width:100%;text-align:left}.sg-monster-detail-fiction-toggle:hover{border-color:var(--primary, #6366f1);color:var(--dnd-text)}.sg-monster-detail-fiction{font-size:.82rem;color:var(--dnd-muted);line-height:1.6;margin-top:.4rem}.sg-monster-detail-fiction p{margin:0 0 .5rem}.sg-monster-detail-footer{position:sticky;bottom:0;background:var(--dnd-surface-1);padding:.5rem 0 .25rem;border-top:1px solid var(--dnd-border)}.sg-monster-add-combat-btn{width:100%}.sg-monster-detail-modal .sg-npc-detail-body{padding:0 1rem 1rem}.sg-combatant-vitals{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.sg-combatant-vital{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.5rem .6rem;border-radius:8px;border:1px solid var(--dnd-border);background:#ffffff08}.sg-combatant-vital--ac{border-color:#7890b473;background:#7890b414}.sg-combatant-vital--hp{border-color:#27ae6066;background:#27ae6014}.sg-combatant-vital-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.6px;color:var(--dnd-muted);font-weight:600}.sg-combatant-vital-value{font-size:1.5rem;font-weight:800;line-height:1.1;color:var(--dnd-text);display:flex;align-items:baseline;gap:.3rem}.sg-combatant-vital--ac .sg-combatant-vital-value{color:#aebfe0}.sg-combatant-vital--hp .sg-combatant-vital-value{color:#57c98a}.sg-combatant-vital-temp{font-size:.85rem;font-weight:700;color:#5da9e9}.sg-combatant-vital-note{font-size:.62rem;font-weight:500;color:var(--dnd-muted);text-align:center;line-height:1.2}.sg-combatant-secondary{display:flex;flex-wrap:wrap;gap:.25rem .9rem;font-size:.78rem;color:var(--dnd-muted)}.sg-combatant-secondary b{color:var(--dnd-text);font-weight:600}.sg-combatant-hp-controls{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.sg-modal-title-text{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.sg-modal-title-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sg-modal-title-edit{flex-shrink:0;background:none;border:none;color:var(--dnd-muted);font-size:.85rem;cursor:pointer;padding:0 .15rem;line-height:1;transition:color var(--duration-fast)}.sg-modal-title-edit:hover{color:var(--dnd-gold)}.sg-modal-title-input{flex:1;min-width:0;font-size:1rem;font-weight:700;font-family:var(--font-display);color:var(--dnd-text);background:var(--dnd-surface-3);border:1px solid var(--dnd-gold-30);border-radius:5px;padding:.2rem .5rem}.modal-content.player-sheet-modal{width:96vw;max-width:880px}.player-sheet-refresh-btn{width:32px;height:32px;min-width:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);background:var(--dnd-surface-3);color:var(--dnd-gold);cursor:pointer;transition:all .18s ease}.player-sheet-refresh-btn:hover:not(:disabled){background:var(--dnd-gold-10);border-color:var(--dnd-gold)}.player-sheet-refresh-btn:disabled{cursor:default;opacity:.7}.player-sheet-refresh-btn .is-spinning{animation:player-sheet-refresh-spin .7s linear infinite}@keyframes player-sheet-refresh-spin{to{transform:rotate(360deg)}}.player-sheet-modal-body{padding:0;overflow-x:hidden}.player-sheet-modal-loading{display:flex;align-items:center;justify-content:center;min-height:40vh}.player-sheet-modal .character-sheet{min-height:0;background:none;animation:none;padding:.75rem}.player-sheet-modal .character-sheet:before{display:none}.player-sheet-modal .sticky-fab-group,.player-sheet-modal .sheet-footer{display:none}.sg-combat-select-slot{display:flex;align-items:center;gap:.5rem}.sg-combat-select-slot>.sg-pc-card,.sg-combat-select-slot>.sg-npc-card{flex:1;min-width:0}.sg-combat-select-slot--unchecked{opacity:.4}.sg-combat-select-check{flex-shrink:0;width:18px;height:18px;cursor:pointer;accent-color:var(--dnd-gold)}.sg-combat-btn--start:disabled{opacity:.45;cursor:not-allowed}.sg-combat-benched{margin-top:1rem;padding-top:.75rem;border-top:1px dashed var(--dnd-border)}.sg-combat-benched-title{font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--dnd-text-muted, #888);margin-bottom:.5rem}.sg-combat-hint{margin-top:2rem;padding:1.25rem 1.5rem;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:var(--radius-xl);border-left:3px solid var(--dnd-gold-30)}.sg-combat-hint-header{display:flex;align-items:center;gap:.5rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dnd-gold);margin-bottom:1rem;opacity:.7}.sg-combat-hint-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.sg-combat-hint-item{display:flex;gap:.625rem;align-items:flex-start}.sg-combat-hint-icon{flex-shrink:0;margin-top:.15rem;color:var(--dnd-gold);opacity:.65}.sg-combat-hint-item strong{display:block;font-size:.8rem;font-weight:600;color:var(--text-primary);margin-bottom:.2rem}.sg-combat-hint-item p{margin:0;font-size:.75rem;line-height:1.5;color:var(--text-muted)}.sg-combat-hint-item em{font-style:normal;color:var(--text-primary);font-weight:500}:root[data-theme^=modern-] .sg-section{border-top:none;margin-top:var(--sp-6);padding-top:0}:root[data-theme^=modern-] .sg-section-title,:root[data-theme^=modern-] .shared-section-title{display:flex;align-items:center;gap:.45rem;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em;color:var(--dnd-text-light)}:root[data-theme^=modern-] .sg-section-title svg,:root[data-theme^=modern-] .shared-section-title svg{color:var(--dnd-gold);flex-shrink:0}:root[data-theme^=modern-] .sg-section-subtitle,:root[data-theme^=modern-] .shared-section-subtitle{color:var(--dnd-text-secondary);font-style:normal}:root[data-theme^=modern-] .shared-section{border-top:1px solid var(--dnd-border)}:root[data-theme^=modern-] .sg-create-btn{justify-content:center;border:1px dashed var(--border-accent);border-radius:var(--radius-lg);background:var(--dnd-gold-06);font-weight:600;letter-spacing:-.01em;box-shadow:var(--shadow-xs)}:root[data-theme^=modern-] .sg-create-btn:hover{border-color:var(--dnd-gold);background:var(--dnd-gold-10);box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .sg-group-card{background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .sg-group-card:hover{border-color:var(--dnd-border);box-shadow:var(--shadow-md);transform:translateY(-1px)}:root[data-theme^=modern-] .sg-group-icon{background:linear-gradient(135deg,var(--dnd-gold-15),var(--dnd-gold-05));border-radius:var(--radius-md);color:var(--dnd-gold)}:root[data-theme^=modern-] .sg-group-name{font-family:var(--font-display);letter-spacing:-.01em}:root[data-theme^=modern-] .sg-group-actions button{border-radius:var(--radius-sm);color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .sg-group-actions button:hover{background:var(--surface-hover);color:var(--dnd-gold)}:root[data-theme^=modern-] .sg-party-title{font-family:var(--font-display);letter-spacing:-.02em}:root[data-theme^=modern-] .sg-back-btn{background:var(--dnd-surface-1);border-color:var(--dnd-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}:root[data-theme^=modern-] .sg-back-btn:hover{background:var(--surface-hover);border-color:var(--dnd-border);color:var(--dnd-gold)}:root[data-theme^=modern-] .sg-header-btn{border-radius:var(--radius-md);letter-spacing:-.01em}:root[data-theme^=modern-] .sg-header-btn--edit{background:color-mix(in srgb,var(--dnd-info) 14%,transparent);border-color:color-mix(in srgb,var(--dnd-info) 45%,transparent);color:var(--dnd-info)}:root[data-theme^=modern-] .sg-header-btn--edit:hover{background:color-mix(in srgb,var(--dnd-info) 22%,transparent);border-color:var(--dnd-info)}:root[data-theme^=modern-] .sg-header-btn--npc{background:color-mix(in srgb,var(--dnd-gold) 12%,transparent);border-color:color-mix(in srgb,var(--dnd-gold) 40%,transparent);color:var(--dnd-gold)}:root[data-theme^=modern-] .sg-header-btn--npc:hover{background:color-mix(in srgb,var(--dnd-gold) 20%,transparent);border-color:var(--dnd-gold)}:root[data-theme^=modern-] .sg-readonly-badge,:root[data-theme^=modern-] .sg-sync-indicator,:root[data-theme^=modern-] .sg-combat-badge{border-radius:var(--radius-full)}:root[data-theme^=modern-] .sg-readonly-badge{background:var(--surface-hover);color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .sg-party-tabs{background:var(--p-segment-track);border:none;border-radius:var(--radius-lg);padding:4px;gap:4px;overflow:visible;box-shadow:var(--shadow-inset)}:root[data-theme^=modern-] .sg-party-tab-btn{border-radius:var(--radius-md);color:var(--dnd-text-secondary);font-weight:600;letter-spacing:-.01em;transition:background .2s var(--ease-out),color .2s var(--ease-out),box-shadow .2s var(--ease-out)}:root[data-theme^=modern-] .sg-party-tab-btn:hover:not(.sg-party-tab-btn--active){background:var(--surface-hover);color:var(--dnd-text)}:root[data-theme^=modern-] .sg-party-tab-btn--active{background:var(--p-segment-thumb);color:var(--dnd-gold);box-shadow:var(--shadow-sm),inset 0 .5px #ffffff1a}:root[data-theme^=modern-] .sg-combat-btn{border-radius:var(--radius-md);font-weight:600;letter-spacing:-.01em;box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .sg-combat-btn--start,:root[data-theme^=modern-] .sg-combat-btn--end,:root[data-theme^=modern-] .sg-combat-btn--next{background-image:linear-gradient(180deg,#ffffff38,#fff0 55%);box-shadow:inset 0 1px #ffffff40,var(--shadow-sm)}:root[data-theme^=modern-] .sg-combat-btn--start{background-color:var(--dnd-success)}:root[data-theme^=modern-] .sg-combat-btn--start:hover{background-color:color-mix(in srgb,var(--dnd-success) 88%,#000)}:root[data-theme^=modern-] .sg-combat-btn--end{background-color:var(--dnd-danger)}:root[data-theme^=modern-] .sg-combat-btn--end:hover{background-color:color-mix(in srgb,var(--dnd-danger) 88%,#000)}:root[data-theme^=modern-] .sg-combat-btn--next{background-color:var(--dnd-gold);color:var(--dnd-on-gold)}:root[data-theme^=modern-] .sg-combat-btn--next:hover{background-color:var(--dnd-gold-light);box-shadow:var(--glow-gold-sm)}:root[data-theme^=modern-] .sg-combat-btn--placeholder{background:var(--dnd-surface-1);border:1px dashed var(--dnd-border);color:var(--dnd-text)}:root[data-theme^=modern-] .sg-combat-btn--placeholder:hover{background:var(--surface-hover);border-color:var(--border-accent)}:root[data-theme^=modern-] .sg-combat-badge{background:color-mix(in srgb,var(--dnd-danger) 15%,transparent);color:var(--dnd-danger)}:root[data-theme^=modern-] .sg-pc-card,:root[data-theme^=modern-] .sg-npc-card{background:var(--dnd-surface-1);border-color:var(--dnd-border);box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .sg-pc-card:hover{box-shadow:var(--shadow-md)}:root[data-theme^=modern-] .sg-pc-card--player,:root[data-theme^=modern-] .sg-pc-card--player:hover{border-left-color:var(--dnd-info)}:root[data-theme^=modern-] .sg-pc-card--player:hover{border-color:var(--dnd-info)}:root[data-theme^=modern-] .sg-npc-card{border-color:color-mix(in srgb,var(--dnd-accent-red) 40%,transparent);border-left-color:var(--dnd-accent-red)}:root[data-theme^=modern-] .sg-npc-card:hover{border-color:var(--dnd-accent-red);border-left-color:var(--dnd-accent-red)}:root[data-theme^=modern-] .sg-combat-benched{border-top-color:var(--dnd-border)}:root[data-theme^=modern-] .sg-combat-benched-title{color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .sg-empty,:root[data-theme^=modern-] .sg-loading{background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .sg-combat-hint{background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-left:1px solid var(--dnd-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .sg-combat-hint-header{opacity:1;letter-spacing:.04em;color:var(--dnd-text-secondary)}:root[data-theme^=modern-] .sg-combat-hint-header svg{color:var(--dnd-gold)}.sg-pc-creatures{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;padding-top:6px;border-top:1px dashed var(--dnd-border)}.sg-pc-creature{display:inline-flex;align-items:baseline;gap:6px;min-width:0;padding:2px 8px;border:1px solid var(--dnd-gold-30);border-radius:999px;background:var(--dnd-gold-08);font-size:.76rem}.sg-pc-creature-name{color:var(--dnd-gold-light);overflow-wrap:anywhere}.sg-pc-creature-hp{color:var(--dnd-text-secondary);white-space:nowrap}.sync-conflict-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:var(--z-toast);padding:1rem}.sync-conflict-modal{background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-15);border-radius:12px;padding:1.5rem;max-width:520px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #00000080,inset 0 1px 0 var(--dnd-gold-06)}.sync-conflict-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.sync-conflict-icon{font-size:1.5rem}.sync-conflict-header h2{margin:0;font-size:1.25rem;color:var(--dnd-gold)}.sync-conflict-description{margin:0 0 1.25rem;font-size:.9rem;color:var(--dnd-text-secondary);line-height:1.5}.sync-conflict-list{display:flex;flex-direction:column;gap:1rem}.sync-conflict-item{background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-12);border-radius:8px;padding:1rem}.sync-conflict-name{margin:0 0 .75rem;font-size:1.1rem;color:var(--dnd-text-light)}.sync-conflict-versions{display:flex;align-items:stretch;gap:.5rem}.sync-conflict-version{flex:1;display:flex;flex-direction:column;gap:.4rem;padding:.75rem;border-radius:8px;border:1px solid var(--dnd-border);background:var(--dnd-surface-1)}.sync-conflict-version-label{font-size:.85rem;font-weight:600;color:var(--dnd-text-light)}.sync-conflict-version-details{font-size:.85rem;color:var(--dnd-text-secondary)}.sync-conflict-sep{margin:0 .25rem;opacity:.4}.sync-conflict-version-date{font-size:.8rem;color:var(--dnd-text-secondary);opacity:.7}.sync-conflict-vs{display:flex;align-items:center;font-size:.8rem;font-weight:700;color:var(--dnd-gold);opacity:.6;flex-shrink:0}.sync-conflict-btn{margin-top:auto;padding:.5rem .75rem;border:1px solid var(--dnd-border);border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease;text-align:center}.sync-conflict-btn:disabled{opacity:.5;cursor:wait}.sync-conflict-btn-local{background:#58a6ff26;color:#58a6ff;border-color:#58a6ff4d}.sync-conflict-btn-local:hover:not(:disabled){background:#58a6ff40;border-color:#58a6ff}.sync-conflict-btn-remote{background:var(--dnd-gold-15);color:var(--dnd-gold);border-color:var(--dnd-gold-30)}.sync-conflict-btn-remote:hover:not(:disabled){background:var(--dnd-gold-25);border-color:var(--dnd-gold)}:root[data-theme=light] .sync-conflict-modal{background:#fff;border-color:var(--dnd-border);box-shadow:0 12px 40px #0000001a}:root[data-theme=light] .sync-conflict-description{color:#666}:root[data-theme=light] .sync-conflict-item{background:#f8f5f0;border-color:#d0c8b8}:root[data-theme=light] .sync-conflict-name{color:#1a1a2e}:root[data-theme=light] .sync-conflict-version{background:#fff;border-color:#d0c8b8}:root[data-theme=light] .sync-conflict-version-label{color:#1a1a2e}:root[data-theme=light] .sync-conflict-version-details{color:#666}:root[data-theme=light] .sync-conflict-version-date{color:#888}@media(max-width:480px){.sync-conflict-versions{flex-direction:column}.sync-conflict-vs{justify-content:center;padding:.25rem 0}}.pull-to-refresh-container{position:relative;width:100%;height:100%}.pull-to-refresh-indicator{position:fixed;top:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:10001;pointer-events:none;padding-top:env(safe-area-inset-top,0px);color:#fff}.pull-to-refresh-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;z-index:var(--z-critical);pointer-events:none}.pull-to-refresh-indicator.ready{color:var(--dnd-gold)}.pull-to-refresh-indicator.refreshing{color:#7ddf7d}.refresh-spinner{width:40px;height:40px;position:relative;display:flex;align-items:center;justify-content:center;transition:transform .1s linear}.spinner-arc{width:32px;height:32px;border:3px solid transparent;border-top:3px solid currentColor;border-right:3px solid currentColor;border-radius:50%;animation:none}.pull-to-refresh-indicator.refreshing .spinner-arc{animation:spinnerRotate .8s linear infinite}@keyframes spinnerRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.refresh-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:currentColor;white-space:nowrap}:root[data-theme=light] .pull-to-refresh-indicator{color:var(--dnd-text)}:root[data-theme=light] .pull-to-refresh-indicator.ready{color:#d4a844}:root[data-theme=light] .pull-to-refresh-indicator.refreshing{color:var(--dnd-success)}:root[data-theme=light] .refresh-label{color:currentColor}.slide-panel{touch-action:auto}@media(max-width:768px){.refresh-spinner{width:36px;height:36px}.spinner-arc{width:28px;height:28px;border-width:2px}.refresh-label{font-size:.7rem}}@media(max-width:480px){.refresh-spinner{width:32px;height:32px}.spinner-arc{width:24px;height:24px;border-width:2px}.refresh-label{font-size:.65rem}}.wizard-step{padding:1.5rem;background:var(--dnd-surface-1);border-radius:var(--radius-lg);box-shadow:0 4px 24px #0006,inset 0 1px 1px var(--dnd-gold-08);animation:slideIn var(--duration-slow) ease-out;border:1px solid var(--dnd-gold-15);position:relative}.wizard-step:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--dnd-gold-30),transparent)}@keyframes slideIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.wizard-step h2{color:var(--dnd-gold);margin-bottom:1rem;margin-top:0;font-size:1.5rem;border-bottom:1px solid var(--dnd-gold-25);padding-bottom:.65rem;font-family:var(--font-display);letter-spacing:1.5px;text-transform:uppercase;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.4)}.description{color:var(--dnd-text);margin-bottom:1.25rem;font-size:.95rem;line-height:1.7;letter-spacing:.3px;font-style:italic;opacity:.85}.description h1,.description h2,.description h3,.description h4,.description h5,.description h6{font-family:var(--font-primary);font-style:normal;font-weight:700;color:var(--dnd-text-light);opacity:1;letter-spacing:.3px;line-height:1.3;margin:1.1rem 0 .5rem}.description h1{font-size:1.15rem}.description h2{font-size:1.08rem}.description h3{font-size:1.02rem}.description h4,.description h5,.description h6{font-size:.98rem}.description table{width:100%;border-collapse:collapse;margin:.75rem 0 1.1rem;font-style:normal;font-size:.9rem;opacity:1}.description th,.description td{border:1px solid var(--dnd-border);padding:.45rem .6rem;text-align:left;vertical-align:top;line-height:1.5}.description th{background:var(--dnd-surface-1);color:var(--dnd-gold);font-family:var(--font-primary);font-weight:700;letter-spacing:.3px}.description tbody tr:nth-child(2n) td{background:var(--dnd-gold-06)}.levelup-user-bar{margin-bottom:1rem;display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--dnd-gold);font-size:.85rem;letter-spacing:.5px;text-transform:uppercase;font-family:var(--font-primary)}.form-select,.form-input{width:100%;padding:.625rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;color:var(--dnd-text-light);transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.form-select::placeholder,.form-input::placeholder{color:var(--dnd-muted);opacity:.5}.form-select:focus,.form-input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-15)}.form-select:hover{border-color:var(--dnd-gold-40)}.class-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem}.class-row{background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-left:2px solid transparent;border-radius:var(--radius-md);overflow:hidden;transition:border-color .18s ease,border-left-color .18s ease,background .18s ease}.class-row:hover{border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold-40)}.class-row.selected{border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold);background:var(--dnd-gold-06)}.class-row-header{display:flex;align-items:center;gap:.65rem;width:100%;padding:.65rem .9rem;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;color:var(--dnd-text-light)}.class-row-icon{display:flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;flex-shrink:0;font-size:1.3rem;line-height:1;color:var(--dnd-gold);font-variant-emoji:text}.class-row-icon .class-icon{width:1.35em;height:1.35em}.class-row-name{flex:1;min-width:0;font-size:.95rem;font-weight:600;word-break:break-word}.class-row.selected .class-row-name{color:var(--dnd-gold)}.class-row-chevron{color:var(--dnd-muted);flex-shrink:0;transition:transform .18s ease}.class-row-chevron.rotated{transform:rotate(180deg)}.class-row-details{padding:.25rem .9rem .9rem;border-top:1px solid var(--dnd-border);animation:slideIn var(--duration-normal) ease-out}.class-row-details .description{margin-top:.85rem}.race-group-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--dnd-text-secondary);opacity:.7;margin:.5rem 0 .45rem;padding-left:2px}.race-group-label--exotic{margin-top:.75rem}.race-bonus-chip{font-size:.62rem;font-weight:600;color:var(--dnd-gold);background:var(--dnd-gold-08);border-radius:var(--radius-xs);padding:1px 5px;line-height:1.45;letter-spacing:.2px;white-space:nowrap}.race-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.race-row{background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-left:2px solid transparent;border-radius:var(--radius-md);overflow:hidden;transition:border-color .18s ease,border-left-color .18s ease,background .18s ease}.race-row:hover{border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold-40)}.race-row.selected{border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold);background:var(--dnd-gold-06)}.race-row-header{display:flex;align-items:center;gap:.6rem;width:100%;padding:.7rem .9rem;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;color:var(--dnd-text-light)}.race-row-name{flex:1;min-width:0;font-size:.95rem;font-weight:600;word-break:break-word}.race-row.selected .race-row-name{color:var(--dnd-gold)}.race-row-bonuses{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;flex-shrink:0}.race-row-chevron{color:var(--dnd-muted);flex-shrink:0;transition:transform .18s ease}.race-row-chevron.rotated{transform:rotate(180deg)}.race-row:hover .race-bonus-chip{background:var(--dnd-gold-12)}.race-row.selected .race-bonus-chip{background:var(--dnd-gold-15)}.race-row-details{padding:.25rem .9rem .9rem;border-top:1px solid var(--dnd-border);animation:slideIn var(--duration-normal) ease-out}.race-row-details .description{margin-top:.85rem}.race-subrace-options{display:flex;flex-wrap:wrap;gap:.4rem}.race-subrace-btn{padding:.4rem .8rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-sm);color:var(--dnd-text-light);font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}.race-subrace-btn:hover{border-color:var(--dnd-gold-40);background:var(--dnd-gold-06)}.race-subrace-btn.selected{border-color:var(--dnd-gold);background:var(--dnd-gold-12);color:var(--dnd-gold)}.race-info,.class-info{background:var(--dnd-surface-0);padding:1.25rem;border-radius:var(--radius-md);margin-bottom:1.25rem;border:1px solid var(--dnd-border);border-left:3px solid var(--dnd-gold);position:relative;transition:border-left-color .2s ease,box-shadow .2s ease}.race-info:hover,.class-info:hover{border-left-color:var(--dnd-accent-red)}.race-info .description,.class-info .description{margin-bottom:1rem;color:var(--dnd-text);font-style:italic}.features{margin-bottom:1.25rem}.features h4,.bonuses h4,.subrace-info h4{color:var(--dnd-gold);margin-bottom:.625rem;margin-top:.75rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.8px;font-family:var(--font-display);font-weight:700}.features h4:first-child,.bonuses h4:first-child,.subrace-info h4:first-child{margin-top:0}.features ul,.subrace-info ul{list-style:none;padding:0;margin:0 0 1rem}.features li,.subrace-info li{padding:.35rem 0 .35rem 1.5rem;position:relative;color:var(--dnd-text);font-size:.9rem;line-height:1.55;word-break:break-word;overflow-wrap:break-word}.features li:before,.subrace-info li:before{content:"◆";position:absolute;left:0;color:var(--dnd-gold);font-size:.65rem;top:.45rem}.features li strong,.subrace-info li strong{display:block;color:var(--dnd-text-light);font-weight:700}.race-feature-desc{margin-top:.15rem;font-size:.85rem;line-height:1.5;color:var(--dnd-text);opacity:.85}.bonuses{background:var(--dnd-red-08);border:1px solid var(--dnd-border);border-left:3px solid var(--dnd-accent-red);padding:1rem;border-radius:var(--radius-sm);margin-top:1rem}.bonuses p{margin:.6rem 0;color:var(--dnd-text);font-size:.95rem}.bonuses strong{color:var(--dnd-accent-red-light)}.subrace-info{background:var(--dnd-gold-06);padding:1rem;border-radius:var(--radius-sm);margin-top:1rem;border:1px solid var(--dnd-gold-15);border-left:3px solid var(--dnd-gold)}.variant-human-choices{background:var(--dnd-red-06);padding:1rem;border-radius:var(--radius-sm);margin-top:1rem;border:1px solid var(--dnd-border);border-left:3px solid var(--dnd-accent-red)}.variant-human-choices h4{color:var(--dnd-gold);margin:0 0 .75rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-display)}.variant-human-choices .form-group{margin-bottom:.75rem}.variant-human-choices .feat-description{font-size:.82rem;color:var(--dnd-muted);margin-top:.4rem;padding:.5rem .75rem;background:#00000026;border-radius:var(--radius-xs);line-height:1.5;border-left:2px solid var(--dnd-gold-30)}.vh-choice-label{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;color:var(--dnd-text-light);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.4px}.choice-progress{margin-left:auto;font-size:.8rem;color:var(--dnd-gold);font-weight:700;background:var(--dnd-gold-12);padding:.1rem .45rem;border-radius:var(--radius-xs);font-variant-numeric:tabular-nums}.variant-human-choices .ability-increase-grid{margin-bottom:0}.variant-human-choices .skill-choice-picker__grid{margin-top:0}.variant-human-choices .feats-grid{margin:0}.vh-feat-notice{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.55rem .8rem;background:var(--dnd-gold-08);border:1px solid var(--dnd-gold-25);border-radius:var(--radius-sm);font-size:.82rem;color:var(--dnd-gold);font-style:italic;line-height:1.4}.vh-feat-notice-icon{font-style:normal;flex-shrink:0;font-size:.7rem;opacity:.7}.subclass-info{background:var(--dnd-gold-06);padding:1rem;border-radius:var(--radius-sm);margin-top:1rem;border:1px solid var(--dnd-gold-15);border-left:3px solid var(--dnd-gold)}.ability-scores-assignment{margin:1.25rem 0}.ability-method-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.bg-asi-modes{display:flex;gap:.5rem;margin-bottom:.6rem}.method-tab{flex:1;min-width:120px;padding:.55rem 1rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-radius:var(--radius-sm);color:var(--dnd-muted);font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;font-size:.8rem;letter-spacing:.5px}.method-tab:hover{border-color:var(--dnd-gold-40);color:var(--dnd-text-light);background:var(--dnd-gold-06)}.method-tab.active{background:linear-gradient(135deg,var(--dnd-gold) 0%,var(--dnd-gold-dark) 100%);border-color:var(--dnd-gold);color:var(--dnd-on-gold)}.scores-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem;margin-bottom:1.25rem}.score-box{display:flex;flex-direction:column;align-items:center;gap:.5rem}.score-input,.score-display{width:100%;padding:.75rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-radius:var(--radius-sm);font-size:1.1rem;font-weight:700;color:var(--dnd-gold);text-align:center;transition:all .2s ease}.score-input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-20)}.score-label{font-size:.82rem;font-weight:700;color:var(--dnd-muted);text-transform:uppercase;letter-spacing:.5px}.dnd-score-pool{background:var(--dnd-surface-0);border:1px dashed var(--dnd-border);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.25rem;text-align:center;transition:all .2s ease;min-height:70px}.dnd-score-pool.drag-over{border-color:var(--dnd-gold);background:var(--dnd-gold-08)}.pool-label{display:block;color:var(--dnd-muted);font-size:.78rem;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.pool-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;min-height:48px;align-items:center}.pool-empty{color:var(--dnd-gold);font-size:.88rem;font-style:italic;opacity:.75}.dnd-score-chip{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dnd-gold-20),var(--dnd-gold-08));border:1px solid var(--dnd-gold);border-radius:var(--radius-sm);color:var(--dnd-gold);font-size:1.2rem;font-weight:700;cursor:grab;transition:all .18s ease;user-select:none;-webkit-user-select:none;touch-action:none}.dnd-score-chip:hover{background:linear-gradient(135deg,var(--dnd-gold-30),var(--dnd-gold-12))}.dnd-score-chip:active{cursor:grabbing}.dnd-score-chip.dragging{opacity:.5;transform:scale(.95)}.dnd-score-chip.assigned{background:linear-gradient(135deg,var(--dnd-gold-30),var(--dnd-gold-10));border-color:var(--dnd-gold);cursor:grab;position:relative}.dnd-score-chip.assigned:hover{border-color:var(--dnd-accent-red)}.dnd-score-chip.assigned:hover:after{content:"✕";position:absolute;top:-6px;right:-6px;width:16px;height:16px;background:var(--dnd-accent-red);border-radius:50%;font-size:.55rem;display:flex;align-items:center;justify-content:center;color:#fff}.dnd-empty-slot{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--dnd-gold-30);border-radius:var(--radius-sm);color:var(--dnd-gold-30);font-size:1.2rem;font-weight:700;margin:0 auto}.dnd-drop-hint{font-size:.68rem;color:var(--dnd-muted);opacity:.5;margin-top:.5rem;font-style:italic}.ability-card.dnd-drop-target{transition:all .18s ease}.ability-card.dnd-drop-target.drag-over{border-color:var(--dnd-gold);background:var(--dnd-gold-08)}.ability-card.dnd-drop-target.empty-slot{border-style:dashed;opacity:.8}.ability-card.dnd-drop-target.empty-slot.drag-over{opacity:1;border-style:solid}.ability-scores-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin:1.25rem 0}.ability-card{background:linear-gradient(160deg,var(--dnd-gold-06) 0%,var(--dnd-red-06) 100%);padding:1rem;border-radius:var(--radius-md);color:var(--dnd-text-light);text-align:center;border:1px solid var(--dnd-border);transition:border-color .2s ease,background .2s ease;position:relative;box-sizing:border-box}.ability-card:hover{border-color:var(--dnd-gold-30);background:linear-gradient(160deg,var(--dnd-gold-08) 0%,var(--dnd-red-06) 100%)}.ability-card label{display:block;font-size:.75rem;font-weight:700;margin-bottom:.5rem;color:var(--dnd-gold);text-transform:uppercase;letter-spacing:.5px}.ability-input-group{position:relative;display:flex;align-items:center;justify-content:center;gap:.25rem;margin-bottom:.5rem;flex-wrap:nowrap;overflow:visible}.point-buy-btn{width:30px;height:30px;min-width:30px;max-width:30px;min-height:30px;padding:0;font-size:1.1rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--dnd-border);background:var(--dnd-surface-0);color:var(--dnd-gold);cursor:pointer;transition:border-color .18s ease,background .18s ease;letter-spacing:0;text-transform:none;box-sizing:border-box;overflow:visible;flex-shrink:0;line-height:1}.point-buy-btn:hover:not(:disabled){border-color:var(--dnd-gold);background:var(--dnd-gold-08)}.point-buy-btn:disabled{opacity:.3;cursor:not-allowed}.ability-input{width:56px;padding:.5rem;font-size:1.1rem;text-align:center;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);background:var(--dnd-surface-0);color:var(--dnd-gold);font-weight:700;transition:border-color .2s ease,box-shadow .2s ease}.ability-input::placeholder{color:var(--dnd-gold-30)}.ability-input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-15)}.manual-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.manual-input::-webkit-outer-spin-button,.manual-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.manual-input.invalid{border-color:var(--dnd-accent-red);color:var(--dnd-accent-red)}.manual-input.invalid:focus{border-color:var(--dnd-accent-red);box-shadow:0 0 0 2px #c83c3c33}.manual-range-error{font-size:.7rem;font-weight:600;color:var(--dnd-accent-red);margin-top:.35rem;line-height:1.2}.manual-info h4 svg{flex-shrink:0}.bonus-badge{position:absolute;top:-.4rem;right:-.3rem;background:var(--dnd-accent-red);color:#fff;padding:.1rem .35rem;border-radius:var(--radius-xs);font-size:.68rem;font-weight:800;z-index:2;line-height:1.2;box-shadow:0 1px 4px #0000004d}.final-score{font-size:1.25rem;font-weight:700;color:var(--dnd-gold);margin:.5rem 0;text-shadow:0 1px 4px rgba(0,0,0,.4)}.modifier{font-size:.88rem;color:var(--dnd-text);font-weight:600}.scores-summary{background:var(--dnd-gold-06);padding:1rem;border-radius:var(--radius-sm);margin-top:1.25rem;border:1px solid var(--dnd-gold-15);border-left:3px solid var(--dnd-gold)}.scores-summary h4{color:var(--dnd-gold);margin:0 0 .625rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-display)}.scores-summary p{color:var(--dnd-text);margin:.4rem 0;font-size:.9rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.5rem;margin:1rem 0}.skill-checkbox{display:flex;align-items:center;gap:.625rem;padding:.55rem .75rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-left:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all .18s ease}.skill-checkbox:hover{border-color:var(--dnd-gold-40);border-left-color:var(--dnd-gold-40);background:var(--dnd-gold-06)}.skill-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--dnd-gold);flex-shrink:0}.skill-label{color:var(--dnd-text-light);font-weight:500;cursor:pointer;flex:1;font-size:.88rem;word-break:break-word}.skill-checkbox.selected{border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold);background:var(--dnd-gold-08)}.skill-checkbox.expertise.selected{border-color:#b8920a;border-left-color:#e8c040;background:#e8c0401f}.expertise-selection{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--dnd-gold-20)}.expertise-selection h3{color:#e8c040;font-size:1rem;margin-bottom:.5rem;font-family:var(--font-display)}.button-group{display:flex;gap:.75rem;justify-content:space-between;flex-wrap:nowrap;position:sticky;bottom:0;z-index:var(--z-raised);margin-top:1.25rem;padding:.85rem 0 .6rem;background:linear-gradient(to top,var(--dnd-surface-1) 62%,transparent);pointer-events:none}.button-group>*{pointer-events:auto}.wizard-step-error{font-size:.75rem;color:var(--dnd-danger);text-align:center;margin:0 0 .4rem;padding:0;line-height:1.3}@keyframes fieldPulse{0%{box-shadow:0 0 0 0 var(--dnd-gold-50)}50%{box-shadow:0 0 0 6px var(--dnd-gold-30)}to{box-shadow:0 0 0 0 transparent}}.field-highlight{animation:fieldPulse .8s ease-out 2}.levelup-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;margin-bottom:1.5rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-15);border-left:3px solid var(--dnd-gold);border-radius:var(--radius-md);overflow:hidden}.info-item{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.25rem;border-right:1px solid var(--dnd-gold-10)}.info-item:last-child{border-right:none}.info-item span:first-child{color:var(--dnd-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;font-weight:600}.info-item strong{color:var(--dnd-gold);font-size:1.25rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}.levelup-section{margin-bottom:1.25rem;padding:1.1rem 1.25rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);position:relative}.levelup-section h3{color:var(--dnd-gold);margin-top:0;margin-bottom:.75rem;font-size:.85rem;text-transform:uppercase;letter-spacing:1px;font-family:var(--font-display);font-weight:700}.features-list{list-style:none;padding:0;margin:0 0 1rem}.features-list li{background:var(--dnd-gold-06);border:1px solid var(--dnd-gold-15);border-left:3px solid var(--dnd-gold);padding:.7rem .85rem;margin-bottom:.45rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0;word-break:break-word;overflow-wrap:break-word}.features-list li strong{color:var(--dnd-gold);font-size:.95rem;display:block;margin-bottom:.35rem}.features-list li p{color:var(--dnd-text);margin:0;font-size:.88rem;line-height:1.55}.levelup-section p{color:var(--dnd-text);margin-bottom:.75rem;font-size:.9rem;line-height:1.55}.levelup-collapsible.expanded{padding-bottom:1.1rem}.levelup-collapsible-header{display:flex;align-items:center;gap:.6rem;width:100%;padding:0;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit}.levelup-collapsible-title{flex:1;min-width:0;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;color:var(--dnd-gold);font-size:.85rem;text-transform:uppercase;letter-spacing:1px;font-family:var(--font-display);font-weight:700}.levelup-collapsible-tag{text-transform:none;letter-spacing:0;font-family:var(--font-body, inherit);font-weight:400;font-size:.72rem;color:var(--dnd-muted);font-style:italic}.levelup-collapsible-chevron{color:var(--dnd-muted);flex-shrink:0;transition:transform .18s ease}.levelup-collapsible-chevron.rotated{transform:rotate(180deg)}.levelup-collapsible-body{margin-top:.85rem}.subclass-selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;margin:1rem 0}.subclass-option{background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-radius:var(--radius-md);padding:.9rem 1rem;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;text-align:left;display:flex;flex-direction:column;gap:.4rem;position:relative}.subclass-option:hover{border-color:var(--dnd-gold-30);background:var(--dnd-gold-06)}.subclass-option.selected{background:linear-gradient(160deg,var(--dnd-gold-12) 0%,var(--dnd-red-06) 100%);border-color:var(--dnd-gold)}.subclass-option strong{color:var(--dnd-gold);font-size:1rem;font-family:var(--font-primary);line-height:1.3;word-break:break-word}.subclass-option p{color:var(--dnd-text);font-size:.85rem;margin:0;line-height:1.5;opacity:.85}.subclass-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.subclass-row{background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .18s ease,background .18s ease}.subclass-row:hover{border-color:var(--dnd-gold-30)}.subclass-row.selected{border-color:var(--dnd-gold);background:linear-gradient(160deg,var(--dnd-gold-10) 0%,var(--dnd-red-06) 100%)}.subclass-row-header{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem .85rem;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;color:var(--dnd-text-light)}.subclass-row-name{flex:1;min-width:0;font-size:.92rem;font-weight:600;word-break:break-word}.subclass-row.selected .subclass-row-name{color:var(--dnd-gold)}.subclass-row-chevron{color:var(--dnd-muted);flex-shrink:0;transition:transform .18s ease}.subclass-row-chevron.rotated{transform:rotate(180deg)}.subclass-row-details{padding:0 .85rem .8rem}.subclass-row-details .description{margin-top:.35rem;margin-bottom:.75rem}.subclass-preview{margin-top:1rem}.subclass-preview h4{color:var(--dnd-gold);margin-bottom:.25rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.8px;font-family:var(--font-display);font-weight:700}.subclass-preview>.description{margin:0;color:var(--dnd-muted);font-size:.84rem}.ability-increase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.6rem;margin-bottom:1rem}.ability-increase-btn{position:relative;padding:.85rem .5rem;border:1px solid var(--dnd-border);border-radius:var(--radius-md);background:var(--dnd-surface-0);cursor:pointer;transition:all .18s ease;display:flex;flex-direction:column;align-items:center;gap:.5rem;font-weight:600;color:var(--dnd-text-light)}.ability-increase-btn:hover{border-color:var(--dnd-gold-30);background:var(--dnd-gold-06)}.ability-increase-btn.selected{background:linear-gradient(135deg,var(--dnd-gold) 0%,var(--dnd-gold-dark) 100%);border-color:var(--dnd-gold);color:var(--dnd-on-gold)}.ability-increase-btn.locked{background:var(--dnd-red-12);border-color:var(--dnd-accent-red);cursor:not-allowed;opacity:.7}.ability-increase-btn.locked:hover{border-color:var(--dnd-accent-red);background:var(--dnd-red-12);box-shadow:none;transform:none}.ability-increase-btn:disabled{cursor:not-allowed;opacity:.4}.ability-name{font-size:.78rem;text-transform:uppercase;color:var(--dnd-muted);letter-spacing:.5px;font-weight:700}.current-score{font-size:1.4rem;color:var(--dnd-gold);font-weight:800;font-variant-numeric:tabular-nums}:root[data-theme^=modern-] .ability-name{color:var(--dnd-text-secondary)}.increase-badge{position:absolute;top:-8px;right:-8px;background:var(--dnd-accent-red);color:#fff;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:800;box-shadow:0 2px 6px #00000059}.asi-total{text-align:center;padding:.7rem 1rem;background:var(--dnd-gold-06);border:1px solid var(--dnd-gold-20);margin:.75rem 0;border-radius:var(--radius-sm)}.asi-total p{margin:0;color:var(--dnd-text);font-weight:600;font-size:.9rem}.asi-total strong{color:var(--dnd-gold);font-size:1.1rem}.feats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.6rem;margin:1rem 0}.feat-card{display:block;background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-radius:var(--radius-md);padding:0;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;overflow:hidden;position:relative}.feat-card:hover{border-color:var(--dnd-gold-30);background:var(--dnd-gold-06)}.feat-card.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.feat-card input[type=checkbox]{margin-right:.75rem;width:18px;height:18px;cursor:pointer;accent-color:var(--dnd-gold);flex-shrink:0}.feat-card.selected{border-color:var(--dnd-gold);background:linear-gradient(160deg,var(--dnd-gold-10) 0%,var(--dnd-red-06) 100%)}.feat-card label{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;cursor:pointer;width:100%;box-sizing:border-box}.feat-info{flex:1;display:flex;flex-direction:column;gap:.35rem;min-width:0}.feat-info strong{color:var(--dnd-gold);font-size:1rem;font-family:var(--font-primary);word-break:break-word;line-height:1.3}.feat-description{color:var(--dnd-text);font-size:.88rem;margin:.25rem 0;line-height:1.55;opacity:.85}.feat-prerequisite{color:var(--dnd-accent-red-light);font-size:.82rem;margin:.2rem 0;font-style:italic}.feat-bonus-indicator{color:var(--dnd-gold);font-size:.8rem;margin:.35rem 0 0;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.feat-picker-list{display:flex;flex-direction:column;gap:.3rem;margin:.25rem 0 .5rem}.feat-picker-item{border:1px solid var(--dnd-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--duration-fast) ease;background:var(--dnd-surface-0)}.feat-picker-item:hover{border-color:var(--dnd-gold-30)}.feat-picker-item.selected{border-color:var(--dnd-gold);background:linear-gradient(160deg,var(--dnd-gold-06) 0%,transparent 100%)}.feat-picker-item.expanded{border-color:var(--dnd-gold-40)}.feat-picker-item.selected.expanded{border-color:var(--dnd-gold)}.feat-picker-item.feat-picker-disabled{opacity:.42}.feat-picker-header{display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem}.feat-picker-checkbox{width:15px;height:15px;flex-shrink:0;cursor:pointer;accent-color:var(--dnd-gold);margin:0}.feat-picker-checkbox:disabled{cursor:not-allowed}.feat-picker-name-btn{flex:1;display:flex;align-items:center;gap:.45rem;background:none;border:none;padding:0;cursor:pointer;text-align:left;color:var(--dnd-text-light);font-size:.88rem;font-weight:600;font-family:inherit;min-width:0}.feat-picker-name-btn:hover .feat-picker-name,.feat-picker-item.selected .feat-picker-name{color:var(--dnd-gold)}.feat-picker-name{flex:1;transition:color var(--duration-fast);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feat-picker-prereq-badge{flex-shrink:0;font-size:.68rem;padding:.1rem .35rem;border-radius:var(--radius-xs);background:var(--dnd-gold-12);color:var(--dnd-gold);font-weight:600;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.feat-picker-prereq-badge.unmet{background:var(--dnd-red-12);color:var(--dnd-accent-red-light)}.feat-picker-chevron{color:var(--dnd-muted);flex-shrink:0;transition:transform .18s ease}.feat-picker-chevron.rotated{transform:rotate(180deg)}.feat-picker-body{padding:.6rem .85rem .75rem;border-top:1px solid var(--dnd-border);background:var(--dnd-surface-1);display:flex;flex-direction:column;gap:.35rem}.feat-picker-description{color:var(--dnd-text);font-size:.84rem;line-height:1.55;margin:0}.feat-picker-prereq-text{color:var(--dnd-gold);font-size:.78rem;margin:0;font-style:italic;opacity:.8}.feat-picker-prereq-text.unmet{color:var(--dnd-accent-red-light);opacity:1}.feat-picker-meta{color:var(--dnd-gold);font-size:.78rem;font-weight:600;margin:0;letter-spacing:.2px}:root[data-theme=light] .feat-picker-item{background:#fff;border-color:#0000001f}:root[data-theme=light] .feat-picker-item.selected{border-color:var(--dnd-gold);background:var(--dnd-gold-06)}:root[data-theme=light] .feat-picker-body{background:#00000005}.feat-option-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);animation:fadeIn .2s ease-out}.feat-option-dialog{background:linear-gradient(160deg,var(--dnd-surface-2) 0%,var(--dnd-surface-1) 100%);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:0 12px 48px #0000008c;max-width:550px;width:90%;animation:slideIn var(--duration-normal) ease-out;border:1px solid var(--dnd-gold-15);position:relative}.feat-option-dialog h4{color:var(--dnd-gold);margin:0 0 1rem;font-size:1.2rem;border-bottom:1px solid var(--dnd-gold-25);padding-bottom:.65rem;font-family:var(--font-primary);letter-spacing:1px}.feat-option-dialog p{color:var(--dnd-text);margin-bottom:1.25rem;line-height:1.6;font-style:italic;font-size:.9rem;opacity:.85}.feat-option-buttons{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.feat-option-buttons .btn{flex:1;min-width:120px;padding:.625rem .875rem}.background-grid{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.5rem}.background-card{background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-left:2px solid transparent;border-radius:var(--radius-md);overflow:hidden;transition:border-color .18s ease,background .18s ease,border-left-color .18s ease}.background-card:hover{border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold-40)}.background-card.selected{border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold);background:var(--dnd-gold-06)}.background-card.custom{border-style:dashed}.background-card-header{display:flex;align-items:center;gap:.6rem;width:100%;padding:.7rem .9rem;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;color:var(--dnd-text-light)}.background-card-head-text{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.background-card-header strong{color:var(--dnd-text-light);font-size:.95rem;word-break:break-word}.background-card.selected .background-card-header strong{color:var(--dnd-gold)}.background-skills-badge{color:var(--dnd-gold);font-size:.82rem;opacity:.9;white-space:nowrap;flex-shrink:0}.background-card-head-main{display:flex;align-items:center;gap:.5rem;min-width:0;flex-wrap:wrap}.background-ability-chips{display:inline-flex;gap:4px;flex-wrap:wrap}.background-ability-chip{font-size:.62rem;font-weight:600;color:var(--dnd-gold);background:var(--dnd-gold-08);border-radius:var(--radius-xs);padding:1px 5px;line-height:1.45;letter-spacing:.2px;white-space:nowrap}.background-card.selected .background-ability-chip{background:var(--dnd-gold-15)}.background-card-chevron{color:var(--dnd-muted);flex-shrink:0;transition:transform .18s ease}.background-card-chevron.rotated{transform:rotate(180deg)}.background-card-details{padding:.4rem .9rem .85rem;border-top:1px solid var(--dnd-border)}.background-description{color:var(--dnd-text);opacity:.8;font-size:.88rem;margin-bottom:.5rem;line-height:1.5}.background-detail-row{display:flex;gap:.5rem;padding:.2rem 0;font-size:.88rem;flex-wrap:wrap}.background-detail-row .detail-label{color:var(--dnd-gold);font-weight:600;min-width:90px;flex-shrink:0}.background-detail-row .detail-value{color:var(--dnd-text);word-break:break-word}.background-feature-desc{color:var(--dnd-text);opacity:.65;font-size:.82rem;font-style:italic;margin-top:.4rem;line-height:1.5}.background-skill-tag{background:var(--dnd-gold-20);border-color:var(--dnd-gold);color:var(--dnd-gold);font-weight:600}.skill-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0}.skill-tag{background:var(--dnd-gold-12);color:var(--dnd-gold);border:1px solid var(--dnd-gold-25);padding:.3rem .7rem;border-radius:var(--radius-full);font-size:.82rem;font-weight:600;display:inline-flex;align-items:center;gap:.4rem;transition:all .18s ease}.skill-tag:hover{background:var(--dnd-gold-20);border-color:var(--dnd-gold)}.remove-skill{background:none;border:none;color:inherit;cursor:pointer;font-size:1rem;padding:0;display:flex;align-items:center;justify-content:center;width:16px;height:16px;transition:transform var(--duration-fast) ease,color var(--duration-fast) ease;opacity:.6}.remove-skill:hover{color:var(--dnd-accent-red-light);opacity:1}.selected-skills{background:var(--dnd-surface-0);padding:.85rem 1rem;border-radius:var(--radius-md);margin:1rem 0;border:1px solid var(--dnd-gold-15)}.selected-skills h4{color:var(--dnd-gold);margin-bottom:.65rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.5px;font-weight:700}.skills-grid.compact{grid-template-columns:repeat(3,1fr)}.feature-choice-block{margin-top:1rem;padding:.9rem 1rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md)}.feature-choice-block h4{color:var(--dnd-gold);margin-bottom:.45rem;font-family:var(--font-primary);font-size:.9rem}.feature-options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.45rem;margin-top:.65rem}.feature-option-btn{background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-left:2px solid transparent;border-radius:var(--radius-md);padding:.7rem .85rem;text-align:left;cursor:pointer;transition:all .18s ease;color:var(--dnd-text)}.feature-option-btn strong{display:block;color:var(--dnd-text-light);margin-bottom:.2rem;font-size:.9rem;word-break:break-word}.feature-option-btn p{font-size:.8rem;opacity:.7;margin:0;line-height:1.45;word-break:break-word}.feature-option-desc__body{position:relative}.feature-option-desc:not(.expanded) .feature-option-desc__body{max-height:3.5rem;overflow:hidden}.feature-option-desc.overflowing:not(.expanded) .feature-option-desc__body{-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent);mask-image:linear-gradient(to bottom,#000 55%,transparent)}.feature-option-desc__toggle{display:inline-block;margin-top:.3rem;font-size:.74rem;font-weight:600;color:var(--dnd-gold);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}.feature-option-desc__toggle:hover{text-decoration:underline}.feature-option-btn:hover:not(.disabled){border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold);background:var(--dnd-gold-06)}.feature-option-btn.selected{border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold);background:var(--dnd-gold-10)}.feature-option-btn.selected strong{color:var(--dnd-gold)}.feature-option-btn.disabled{opacity:.35;cursor:not-allowed}.already-picked-badge{display:inline-block;margin-top:.3rem;font-size:.72rem;color:var(--dnd-gold);font-style:italic;font-weight:600}.granted-skills-badge{display:block;margin-top:.3rem;font-size:.72rem;color:var(--dnd-accent, #5ba5e6);font-weight:600;font-style:italic}.skill-choice-picker{width:100%;background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);padding:.6rem .8rem;margin-top:.3rem}.skill-choice-picker__header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.78rem;color:var(--dnd-text-muted);margin-bottom:.4rem}.skill-choice-picker__type-badge{background:var(--dnd-gold-15);color:var(--dnd-gold);padding:.1rem .4rem;border-radius:var(--radius-sm);font-size:.68rem;font-weight:600}.skill-choice-picker__progress{margin-left:auto;font-weight:600;color:var(--dnd-gold)}.skill-choice-picker__grid{display:flex;flex-wrap:wrap;gap:.3rem}.spell-choice-picker{grid-column:1 / -1}.spell-choice-bucket+.spell-choice-bucket{margin-top:.6rem}.spell-choice-picker .spell-pick-list{max-height:15rem;overflow-y:auto}.skill-choice-picker__btn{padding:.25rem .6rem;border:1px solid var(--dnd-gold-30);border-radius:var(--radius-sm);background:var(--dnd-surface-1);color:var(--dnd-text);font-size:.75rem;cursor:pointer;transition:all var(--duration-fast) ease}.skill-choice-picker__btn:hover:not(:disabled){border-color:var(--dnd-gold);background:var(--dnd-gold-15)}.skill-choice-picker__btn.selected{background:var(--dnd-gold);color:var(--dnd-surface-0);border-color:var(--dnd-gold);font-weight:600}.skill-choice-picker__btn.disabled{opacity:.45;cursor:not-allowed}.level1-feature-choices{margin-top:1rem}.nested-choice-picker{width:100%;background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-15);border-left:2px solid var(--dnd-gold);border-radius:var(--radius-md);padding:.6rem .8rem;margin-top:.3rem}.nested-choice-picker__title{font-size:.82rem;color:var(--dnd-gold);margin:0 0 .45rem;font-family:var(--font-primary)}.feature-options-grid--nested{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.35rem}.feature-option-btn--nested{padding:.55rem .7rem;font-size:.85rem}.feature-option-btn--nested strong{font-size:.82rem}.feature-option-btn--nested p{font-size:.75rem}.spell-selection-step{max-width:900px;margin:0 auto}.spell-selection-info{background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);padding:.9rem 1.1rem;margin-bottom:1.1rem}.spell-selection-info p{margin:.25rem 0;color:var(--dnd-text);font-size:.88rem;opacity:.85}.spell-prepared-note{color:var(--dnd-gold)!important;font-style:italic;opacity:1!important}.spell-search-bar{position:relative;margin-bottom:1rem}.spell-search-input{width:100%;padding:.55rem 2.2rem .55rem .85rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-radius:var(--radius-md);color:var(--dnd-text-light);font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.spell-search-input:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-12)}.spell-search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--dnd-muted);cursor:pointer;font-size:.9rem;padding:.2rem .4rem;opacity:.6;transition:opacity var(--duration-fast) ease}.spell-search-clear:hover{opacity:1}.spell-circle-section{margin-bottom:1.1rem}.spell-circle-header{display:flex;align-items:center;gap:.7rem;margin-bottom:.65rem;font-size:.95rem;color:var(--dnd-gold);border-bottom:1px solid var(--dnd-gold-20);padding-bottom:.3rem}.spell-circle-subheader{font-size:.88rem;color:var(--dnd-muted);margin:.5rem 0;font-weight:600;letter-spacing:.2px}.spell-count-badge{background:var(--dnd-gold-15);color:var(--dnd-gold);border:1px solid var(--dnd-gold-30);border-radius:10px;padding:.1rem .55rem;font-size:.75rem;font-weight:700;white-space:nowrap}.spell-level-counter{margin-bottom:.5rem}.spell-level-counter h3{display:flex;align-items:center;gap:.7rem;color:var(--dnd-gold)}.spell-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.45rem}.spell-card{position:relative;background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-left:2px solid transparent;border-radius:var(--radius-md);padding:.6rem .85rem;cursor:pointer;transition:border-color .18s ease,background .18s ease,border-left-color .18s ease}.spell-card:hover{border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold);background:var(--dnd-gold-06)}.spell-card.selected{border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold);background:var(--dnd-gold-10)}.spell-card.disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.spell-card-header{display:flex;justify-content:space-between;align-items:center;gap:.3rem}.spell-card-name{font-weight:600;font-size:.85rem;color:var(--dnd-text-light);word-break:break-word}.spell-check{color:var(--dnd-gold);font-weight:800;font-size:.95rem;flex-shrink:0}.spell-card-meta{display:flex;gap:.4rem;margin-top:.2rem;font-size:.72rem;color:var(--dnd-muted);opacity:.7}.spell-card-school{text-transform:capitalize}.spell-card-desc{margin-top:.45rem;font-size:.78rem;line-height:1.5;color:var(--dnd-text);max-height:200px;overflow-y:auto;border-top:1px solid var(--dnd-gold-12);padding-top:.35rem;opacity:.85}.spell-card-info-btn{position:absolute;bottom:.3rem;right:.4rem;background:none;border:none;color:var(--dnd-muted);cursor:pointer;font-size:.72rem;padding:.1rem .3rem;opacity:.45;transition:opacity .18s ease}.spell-card-info-btn:hover{opacity:1;color:var(--dnd-gold)}.spell-card-subclass-tag{font-size:.58rem;padding:1px 5px;border-radius:4px;background:var(--dnd-gold);color:var(--dnd-on-gold);font-weight:700;white-space:nowrap;flex-shrink:0;line-height:1.3}.spell-subclass-info-panel{margin-top:.75rem;padding:.65rem .85rem;background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-30);border-radius:var(--radius-md)}.spell-subclass-info-panel h4{margin:0 0 .35rem;font-size:.82rem;color:var(--dnd-gold)}.spell-subclass-info-panel>p{margin:0 0 .35rem;font-size:.78rem;color:var(--dnd-muted)}.spell-subclass-grant-list{display:flex;flex-direction:column;gap:.2rem}.spell-subclass-grant{font-size:.8rem;color:var(--dnd-text)}.spell-subclass-grant strong{color:var(--dnd-gold)}.spell-pick-list{display:flex;flex-direction:column;gap:0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--dnd-gold-12)}.spell-pick-item{display:flex;align-items:center;gap:.5rem;padding:.42rem .6rem;border-bottom:1px solid var(--dnd-gold-08);transition:background var(--duration-fast) ease;cursor:default;-webkit-user-select:none;user-select:none}.spell-pick-item:last-child{border-bottom:none}.spell-pick-item:hover{background:var(--dnd-gold-06)}.spell-pick-item.selected{background:var(--dnd-gold-08)}.spell-pick-item.disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.spell-pick-action{flex-shrink:0;order:2;min-width:6.2rem;text-align:center;padding:.3rem .7rem;border:1px solid var(--dnd-gold-30);border-radius:var(--radius-sm);background:var(--dnd-surface-1);color:var(--dnd-text);font-family:inherit;font-size:.76rem;font-weight:600;line-height:1;cursor:pointer;transition:all var(--duration-fast) ease}.spell-pick-action:hover:not(:disabled){border-color:var(--dnd-gold);background:var(--dnd-gold-15)}.spell-pick-action:disabled{opacity:.4;cursor:not-allowed}.spell-pick-action.selected{background:var(--dnd-gold);color:var(--dnd-surface-0);border-color:var(--dnd-gold)}.spell-pick-action.selected:before{content:"✓ "}.spell-pick-action.replace{border-color:var(--dnd-info);color:var(--dnd-info);background:transparent}.spell-pick-action.replace:hover:not(:disabled){border-color:var(--dnd-info);background:color-mix(in srgb,var(--dnd-info) 14%,transparent)}.spell-pick-action.replace.replace-active{background:var(--dnd-accent-red);border-color:var(--dnd-accent-red);color:var(--dnd-surface-0)}.spell-pick-action.replace.replace-active:before{content:"↺ "}.spell-pick-item.replacing{background:var(--dnd-red-08)}.spell-pick-item.replacing .spell-pick-name{text-decoration:line-through;opacity:.72}.spell-pick-meta.replacing-tag{color:var(--dnd-accent-red);opacity:.95;text-transform:uppercase;font-weight:700;letter-spacing:.03em}.spell-replace-hint{font-size:.82rem;color:var(--dnd-muted);opacity:.85;margin:.25rem 0 .5rem;padding-left:.6rem;border-left:2px solid var(--dnd-info)}.spell-pick-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;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border:none;padding:0;margin:0;font-family:inherit;text-align:left;touch-action:manipulation;transition:color var(--duration-fast) ease}.spell-pick-name:hover{color:var(--dnd-gold);text-decoration:underline}.spell-pick-meta{font-size:.71rem;color:var(--dnd-muted);opacity:.7;flex-shrink:0;white-space:nowrap}.spell-pick-circle-header{display:flex;align-items:center;gap:.4rem;padding:.25rem .5rem;background:var(--dnd-gold-08);border-left:2px solid var(--dnd-gold-30);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:.2rem;margin-top:.6rem}.spell-pick-circle-header:first-child{margin-top:0}.spell-pick-circle-label{font-size:.72rem;font-weight:700;color:var(--dnd-gold);text-transform:uppercase;letter-spacing:.04em;flex:1}.spell-pick-all-view{display:flex;flex-direction:column;gap:0}.spell-selection-tabs{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:0}.spell-pick-sticky{position:sticky;top:0;z-index:var(--z-raised);background:var(--dnd-surface-1);padding:.5rem 0 .6rem;margin-bottom:.75rem;border-bottom:1px solid var(--dnd-gold-12)}.spell-pick-limits{display:flex;gap:.5rem;margin-bottom:.45rem}.spell-pick-limit-chip{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem;font-weight:500;color:var(--dnd-muted);background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-full);padding:.18rem .6rem;white-space:nowrap}.spell-pick-limit-chip .limit-count{font-size:.76rem;font-weight:700;color:var(--dnd-gold)}.spell-sel-tab{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;border-radius:var(--radius-full);border:1px solid var(--dnd-border);background:var(--dnd-surface-0);color:var(--dnd-muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.spell-sel-tab:hover{border-color:var(--dnd-gold-30);color:var(--dnd-gold);background:var(--dnd-gold-06)}.spell-sel-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-sel-tab .count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 4px;font-size:.6rem;font-weight:700;background:var(--dnd-gold-20);color:var(--dnd-gold);border-radius:var(--radius-full)}.spell-sel-tab.active .count-badge{background:#0003;color:inherit}.spell-selection-summary{background:var(--dnd-gold-06);border:1px solid var(--dnd-gold-20);border-radius:var(--radius-md);padding:.8rem 1rem;margin-top:1rem}.spell-selection-summary h3{color:var(--dnd-gold);font-size:.88rem;margin-bottom:.35rem;font-family:var(--font-display);letter-spacing:.8px}.spell-selection-summary .summary-group,.spell-selection-summary p{margin:.2rem 0;font-size:.83rem;color:var(--dnd-text);opacity:.85}.spell-prepared-panel{background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);padding:.9rem 1.1rem;margin-top:1rem}.spell-prepared-panel h3{color:var(--dnd-gold);margin-bottom:.4rem;font-size:.9rem;font-family:var(--font-display)}.spell-prepared-panel p{font-size:.85rem;line-height:1.55;color:var(--dnd-text);margin:.25rem 0;opacity:.85}.spell-selection-section .spell-search-bar{margin-top:.5rem}.multiclass-mode-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem;margin-top:.65rem}.multiclass-mode-btn{background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-left:2px solid transparent;border-radius:var(--radius-md);padding:.75rem;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:.25rem;transition:border-color .18s ease,background .18s ease,border-left-color .18s ease;color:var(--dnd-text);word-break:break-word;overflow-wrap:break-word}.multiclass-mode-btn strong{color:var(--dnd-gold);font-size:.88rem;line-height:1.2;display:block}.multiclass-mode-btn span{font-size:.78rem;color:var(--dnd-muted)}.multiclass-mode-btn:hover{border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold);background:var(--dnd-gold-06)}.multiclass-mode-btn.selected{border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold);background:var(--dnd-gold-10)}.prereq-warning{background:var(--dnd-red-12);border:1px solid rgba(180,60,60,.35);border-radius:var(--radius-sm);padding:.6rem 1rem;margin-bottom:.75rem;color:var(--dnd-accent-red-light);font-size:.88rem;line-height:1.5}.prereq-fail-badge{display:block;font-size:.78rem;color:var(--dnd-accent-red-light);margin-top:.2rem;font-weight:600}.subclass-option.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.multiclass-proficiencies{margin-top:1rem;padding:.75rem 1rem;background:var(--dnd-gold-06);border:1px solid var(--dnd-gold-20);border-radius:var(--radius-md);font-size:.88rem}.multiclass-proficiencies h4{color:var(--dnd-gold);margin:0 0 .45rem;font-size:.88rem;font-family:var(--font-display)}.multiclass-proficiencies p{margin:.2rem 0;color:var(--dnd-text);opacity:.85}.primal-champion-notice{background:var(--dnd-gold-06);border:1px solid var(--dnd-gold-25);border-radius:var(--radius-md);padding:.9rem 1rem;margin-bottom:.75rem}.biography-step>p{color:var(--dnd-muted);font-style:italic;margin-bottom:1rem;font-size:.9rem;opacity:.7}.biography-step .bio-optional-note{margin-top:-.5rem;margin-bottom:1.25rem}.biography-step .bio-field{margin-bottom:1.25rem}.biography-step .bio-field-label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--dnd-gold);font-size:.85rem;letter-spacing:.5px;text-transform:uppercase;font-family:var(--font-primary)}.biography-step .bio-textarea{width:100%;padding:.625rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;line-height:1.5;color:var(--dnd-text-light);transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box;resize:vertical;min-height:2.75rem}.biography-step .bio-textarea::placeholder{color:var(--dnd-muted);opacity:.5}.biography-step .bio-textarea:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-15)}.biography-step .alignment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.biography-step .alignment-cell{padding:.6rem .4rem;min-height:3rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-border);border-radius:var(--radius-sm);color:var(--dnd-text);font-family:inherit;font-size:.85rem;line-height:1.25;text-align:center;cursor:pointer;touch-action:manipulation;overflow-wrap:anywhere;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.biography-step .alignment-cell:hover{border-color:var(--dnd-gold-40)}.biography-step .alignment-cell.selected{background:var(--dnd-gold-12);border-color:var(--dnd-gold);color:var(--dnd-gold);font-weight:600}@media(max-width:768px){.wizard-step{padding:1rem}.wizard-step h2{font-size:1.3rem}.scores-grid,.ability-scores-grid,.ability-increase-grid{grid-template-columns:repeat(3,1fr)}.feats-grid{grid-template-columns:1fr}.button-group{padding:.75rem 0}.button-group .btn:not(.point-buy-btn){flex:1;justify-content:center}.character-review .button-group .btn.btn-secondary{flex:0 1 auto}.character-review .button-group .btn-primary{white-space:normal}.background-card-head-text{flex-direction:column;align-items:flex-start;gap:.2rem}.background-skills-badge{white-space:normal}.skills-grid.compact,.feature-options-grid{grid-template-columns:1fr}.levelup-info{grid-template-columns:repeat(3,1fr)}.info-item{border-right:none;border-bottom:1px solid var(--dnd-gold-10)}.info-item:last-child{border-bottom:none}}@media(max-width:480px){.wizard-step{padding:.75rem}.wizard-step h2{font-size:1.1rem}.scores-grid{grid-template-columns:repeat(3,1fr)}.ability-scores-grid{grid-template-columns:repeat(2,1fr)}.ability-card{padding:.75rem .5rem}.ability-card label{font-size:.7rem}.ability-input-group{gap:.15rem}.point-buy-btn{width:26px;height:26px;min-width:26px;max-width:26px;font-size:.95rem}.ability-input{width:44px;padding:.35rem;font-size:1rem}.ability-increase-grid{grid-template-columns:repeat(2,1fr)}.feat-card label{flex-direction:column}.feat-card input[type=checkbox]{margin-right:0}.spell-grid,.levelup-info{grid-template-columns:1fr}}:root[data-theme=light] .wizard-step{background:#fff;border-color:var(--dnd-border);box-shadow:0 2px 12px #0000000d}:root[data-theme=light] .button-group{background:linear-gradient(to top,#f8f5f0 60%,transparent)}:root[data-theme=light] .wizard-step h2{color:var(--dnd-gold);border-bottom-color:#7a5c1e33;text-shadow:none}:root[data-theme=light] .description{color:#5c5647}:root[data-theme=light] .form-select,:root[data-theme=light] .form-input{background:#fff;color:var(--dnd-text);border-color:var(--dnd-border)}:root[data-theme=light] .form-select:focus,:root[data-theme=light] .form-input:focus{background:#fff;border-color:var(--dnd-gold);box-shadow:0 0 0 2px #7a5c1e1a}:root[data-theme=light] .form-select::placeholder,:root[data-theme=light] .form-input::placeholder{color:#b0a898}:root[data-theme=light] .form-select option{background:#fff;color:var(--dnd-text)}:root[data-theme=light] .race-info,:root[data-theme=light] .class-info{background:#f8f5f0;border-color:var(--dnd-border)}:root[data-theme=light] .method-tab{background:#f5f2ec;color:var(--dnd-text);border-color:var(--dnd-border)}:root[data-theme=light] .method-tab:hover{background:#ede8df}:root[data-theme=light] .method-tab.active{background:linear-gradient(135deg,#a0811a,#7a5c1e);color:#fff;border-color:#7a5c1e}:root[data-theme=light] .score-input,:root[data-theme=light] .score-display{background:#fff;color:var(--dnd-text);border-color:var(--dnd-border)}:root[data-theme=light] .dnd-score-pool{background:#f0ebe3;border-color:var(--dnd-border)}:root[data-theme=light] .ability-card{background:linear-gradient(160deg,#7a5c1e0d,#8b2e2e08);border-color:var(--dnd-border)}:root[data-theme=light] .ability-card:hover{border-color:var(--dnd-gold)}:root[data-theme=light] .ability-input{background:#fff;color:var(--dnd-gold);border-color:var(--dnd-border)}:root[data-theme=light] .ability-input:focus{border-color:var(--dnd-gold);box-shadow:0 0 0 2px #7a5c1e1a}:root[data-theme=light] .bonus-badge{background:#fce4e4;color:#8b2e2e;border:1px solid #d9a5a5;box-shadow:none}:root[data-theme=light] .skill-checkbox{background:#f5f2ec;border-color:var(--dnd-border)}:root[data-theme=light] .skill-checkbox:hover{background:#ede8df;border-color:var(--dnd-gold)}:root[data-theme=light] .skill-checkbox.selected{background:#7a5c1e12;border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold)}:root[data-theme=light] .levelup-info{background:#fff;border-color:#7a5c1e33;border-left-color:var(--dnd-gold)}:root[data-theme=light] .info-item{border-right-color:#7a5c1e1a}:root[data-theme=light] .info-item strong{color:#7a5c1e}:root[data-theme=light] .levelup-section{background:#f8f5f0;border-color:var(--dnd-border)}:root[data-theme=light] .subclass-option{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .subclass-option:hover{background:#f8f5f0;border-color:var(--dnd-gold-30)}:root[data-theme=light] .subclass-option.selected{background:#7a5c1e0d;border-color:var(--dnd-gold)}:root[data-theme=light] .ability-increase-btn{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .ability-increase-btn:hover{background:#f5f2ec;border-color:var(--dnd-gold)}:root[data-theme=light] .ability-increase-btn.selected{background:linear-gradient(135deg,#a0811a,#7a5c1e);border-color:#7a5c1e;color:#fff}:root[data-theme=light] .feat-card{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .feat-card:hover{background:#f8f5f0;border-color:var(--dnd-gold-30)}:root[data-theme=light] .feat-card.selected{background:#7a5c1e0d;border-color:var(--dnd-gold)}:root[data-theme=light] .feat-option-dialog-overlay{background:#0000004d}:root[data-theme=light] .feat-option-dialog{background:linear-gradient(135deg,#fff,#f8f5f0);border-color:var(--dnd-border);box-shadow:0 8px 40px #0000001f}:root[data-theme=light] .feature-choice-block{background:#f8f5f0;border-color:var(--dnd-border)}:root[data-theme=light] .spell-selection-info{background:#f8f5f0;border-color:var(--dnd-border)}:root[data-theme=light] .spell-search-input{background:#fff;border-color:var(--dnd-border);color:var(--dnd-text)}:root[data-theme=light] .spell-card{background:#f8f5f0;border-color:var(--dnd-border)}:root[data-theme=light] .spell-card:hover{background:#f0ebe3;border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold)}:root[data-theme=light] .spell-card.selected{background:#7a5c1e0d;border-color:var(--dnd-gold);border-left-color:var(--dnd-gold)}:root[data-theme=light] .spell-prepared-panel{background:#f8f5f0;border-color:var(--dnd-border)}:root[data-theme=light] .skill-tag{background:#7a5c1e12;color:var(--dnd-gold);border-color:#7a5c1e40}:root[data-theme=light] .skill-tag:hover{background:#7a5c1e1f}:root[data-theme=light] .background-skill-tag{background:#7a5c1e1a;border-color:var(--dnd-gold);color:var(--dnd-gold)}:root[data-theme=light] .selected-skills{background:#f8f5f0;border-color:#7a5c1e26}:root[data-theme=light] .background-card{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .background-card:hover{background:#f5f2ec;border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold)}:root[data-theme=light] .background-card.selected{background:#7a5c1e0d;border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold)}:root[data-theme=light] .multiclass-mode-btn{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .multiclass-mode-btn:hover{background:#f5f0e8;border-left-color:var(--dnd-gold-40)}:root[data-theme=light] .multiclass-mode-btn.selected{background:#7a5c1e12;border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold)}:root[data-theme=light] .prereq-warning{background:#b43c3c0f;border-color:#b43c3c33;color:#8b2e2e}:root[data-theme=light] .prereq-fail-badge{color:#8b2e2e}:root[data-theme=light] .multiclass-proficiencies{background:#7a5c1e0a;border-color:#7a5c1e33}:root[data-theme=light] .feature-option-btn{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .feature-option-btn:hover:not(.disabled){background:#f5f2ec;border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold)}:root[data-theme=light] .feature-option-btn.selected{background:#7a5c1e0f;border-color:var(--dnd-gold-30);border-left-color:var(--dnd-gold)}:root[data-theme=light] .btn{color:#7a6a52;border-color:var(--dnd-border)}:root[data-theme=light] .btn:hover{background:#7a5c1e0d;border-color:var(--dnd-gold-30);color:#5a4210}:root[data-theme=light] .btn-primary{color:var(--dnd-gold);border-color:var(--dnd-gold-40);background:#7a5c1e0a}:root[data-theme=light] .btn-primary:hover{background:linear-gradient(135deg,#a0811a,#7a5c1e);color:#fff;border-color:#7a5c1e}:root[data-theme=light] .btn-success{color:var(--dnd-gold);border-color:var(--dnd-gold-40);background:#7a5c1e0f}:root[data-theme=light] .btn-success:hover{background:linear-gradient(135deg,#a0811a,#7a5c1e);color:#fff;border-color:#7a5c1e}.equipment-gold-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.25rem;cursor:pointer;font-size:.95rem}.equipment-gold-toggle input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--dnd-gold);cursor:pointer}.equipment-gold-desc{width:100%;font-size:.85rem;color:var(--text-muted);margin-left:1.5rem}.equipment-choice-group{margin-bottom:1.25rem}.equipment-choice-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.4rem}.equipment-option{display:flex;align-items:flex-start;gap:.5rem;padding:.45rem .6rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background var(--duration-fast)}.equipment-option:hover{background:var(--surface-hover)}.equipment-option input[type=radio]{margin-top:.15rem;accent-color:var(--dnd-gold);cursor:pointer;flex-shrink:0}.equipment-fixed{margin-bottom:1.25rem}.equipment-fixed-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.3rem}.equipment-fixed-list{margin:0;padding-left:1.2rem;font-size:.9rem}.equipment-fixed-list li{margin-bottom:.2rem}.equipment-pack-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem;padding:.4rem 0;border-top:1px solid var(--border-subtle);margin-top:.5rem}.equipment-pack-label{color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.equipment-pack-name{font-weight:500}.equipment-background{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.equipment-section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem}.equipment-no-data{color:var(--text-muted);font-style:italic;font-size:.9rem;margin-bottom:1rem}.feat-choices{display:flex;flex-direction:column;gap:1rem}.feat-choice-card{border:1px solid var(--dnd-border);border-radius:var(--radius-md);background:var(--dnd-surface-3);padding:.9rem}.feat-choice-card-title{font-weight:600;margin-bottom:.6rem}.feat-choice-block{margin-bottom:.75rem}.feat-choice-block:last-child{margin-bottom:0}.feat-choice-label{font-size:.82rem;opacity:.8;margin-bottom:.4rem}.feat-choice-options{display:flex;flex-wrap:wrap;gap:.5rem}.feat-choice-options-wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem}.feat-choice-options-wrap .method-tab{min-width:0;text-align:center;overflow-wrap:anywhere}.feat-choice-options-wrap .method-tab.disabled{opacity:.4;cursor:not-allowed}.feat-choice-locked{cursor:default;pointer-events:none}.feat-choice-empty{font-size:.85rem;opacity:.6;padding:.3rem 0}.feat-choices-sheet-section{margin-bottom:1.25rem}.feat-choices-sheet-section>h3{margin:0 0 .6rem;font-size:1rem}.wizard-step .prof-section{margin-top:1.25rem}.wizard-step .prof-section-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.wizard-step .prof-rare-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--dnd-text-secondary);cursor:pointer}.wizard-step .prof-slot{margin-top:.75rem}.wizard-step .prof-slot>h4{margin:0 0 .5rem;font-size:.9rem;color:var(--dnd-text-light);overflow-wrap:anywhere}.wizard-step .prof-src{font-style:normal;color:var(--dnd-text-secondary);font-size:.82em}.wizard-step .prof-rare-badge{font-style:normal;color:var(--dnd-gold);font-size:.82em}.char-list-page{min-height:100vh;background:linear-gradient(180deg,var(--dnd-darker) 0%,var(--dnd-dark) 50%,var(--dnd-dark) 100%);background-attachment:fixed;padding:1.5rem 1rem;padding-top:calc(1.5rem + env(safe-area-inset-top,0px));font-family:var(--font-primary);position:relative}.char-list-container{max-width:800px;margin:0 auto;position:relative;z-index:1}.char-list-header{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--dnd-gold-10);gap:.75rem;position:relative}.char-list-boosty-btn,.char-list-telegram-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .75rem;border-radius:6px;color:var(--dnd-text);background:transparent;border:1px solid var(--dnd-gold-20);cursor:pointer;transition:all var(--duration-fast) ease;text-decoration:none;font-size:.875rem;font-weight:500;white-space:nowrap}.char-list-telegram-btn{gap:.4rem}.char-list-boosty-btn:hover,.char-list-telegram-btn:hover{border-color:var(--dnd-gold-30);background:var(--dnd-gold-05);color:var(--dnd-gold)}.char-list-boosty-btn:active,.char-list-telegram-btn:active{background:var(--dnd-gold-10)}.char-list-header .burger-menu-wrapper{position:relative;top:unset;right:unset;justify-self:end;display:flex;align-items:center;align-self:center}.char-list-user{display:flex;align-items:center;gap:.5rem}.char-list-user .burger-theme-select{width:auto;margin:0;padding:.4rem .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;font-family:inherit}.char-list-user .burger-theme-select:hover{border-color:var(--dnd-gold-30)}.char-list-user .burger-theme-select:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 2px var(--dnd-gold-08)}.char-list-title{display:flex;align-items:center;gap:.75rem}.char-list-logo{display:flex;align-items:center;flex-shrink:0;line-height:1}.char-list-title h1{color:var(--dnd-gold);font-size:1.4rem;margin:0;line-height:1;font-family:var(--font-display);letter-spacing:1.5px}:root[data-theme=light] .char-list-title h1{text-shadow:none}.char-list-subtitle{color:var(--dnd-text);font-size:.85rem;margin:.15rem 0 0;opacity:.7;font-style:italic}.char-list-sync{color:var(--dnd-gold);font-weight:500}.char-list-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:1px solid var(--dnd-gold-10)}.char-list-tab{flex:1;padding:.75rem 1rem;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--dnd-muted);font-size:.95rem;font-weight:600;font-family:var(--font-primary);cursor:pointer;transition:all .2s ease;letter-spacing:.3px}.char-list-tab:not(.char-list-tab--active):hover{color:var(--dnd-text);background:var(--dnd-gold-06)}.char-list-tab--active{color:var(--dnd-gold);border-bottom-color:var(--dnd-gold)}:root[data-theme=light] .char-list-tab--active{color:var(--dnd-gold);border-bottom-color:var(--dnd-gold)}.char-list-edition-toggle{display:flex;justify-content:center;align-items:center;gap:.25rem;flex-wrap:wrap;margin:0 auto 1.25rem;padding:.2rem;width:fit-content;max-width:100%;background:var(--dnd-gold-06);border:1px solid var(--dnd-gold-10);border-radius:999px}.char-list-edition-btn{min-width:5.5rem;padding:.3rem .9rem;background:transparent;border:none;border-radius:999px;color:var(--dnd-muted);font-family:var(--font-primary);font-size:.85rem;font-weight:700;letter-spacing:.3px;cursor:pointer;transition:all .2s ease}.char-list-edition-btn:not(.char-list-edition-btn--active):hover{color:var(--dnd-text);background:var(--dnd-gold-06)}.char-list-edition-btn--active{color:var(--dnd-on-gold);background:var(--dnd-gold);box-shadow:0 1px 6px #0003}.char-list-edition-btn:disabled{cursor:progress;opacity:.7}.char-list-edition-status{flex-basis:100%;text-align:center;color:var(--dnd-muted);font-size:.8rem}.char-list-2024-beta-note{max-width:640px;margin:0 auto 1.5rem;padding:.75rem 1rem;background:var(--dnd-gold-06);border:1px solid var(--dnd-gold-20);border-radius:var(--radius-md);color:var(--dnd-muted);font-size:.82rem;line-height:1.5;text-align:center}.char-list-2024-beta-note p{margin:0}.char-list-2024-beta-note p+p{margin-top:.4rem}.char-list-2024-beta-note a,.char-list-2024-beta-note .link-btn{color:var(--dnd-gold);font-weight:600}.char-list-toolbar{display:flex;gap:.5rem;margin-bottom:var(--sp-4)}.char-list-search{flex:1;min-width:0;padding:.6rem .85rem;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:var(--radius-lg);color:var(--dnd-text);font-size:var(--text-base);font-family:var(--font-primary);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.char-list-search::placeholder{color:var(--text-muted);opacity:.7}.char-list-search:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 3px var(--dnd-gold-10)}.char-list-sort{padding:.6rem .75rem;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:var(--radius-lg);color:var(--dnd-text);font-size:var(--text-sm);font-family:var(--font-primary);cursor:pointer;transition:border-color var(--duration-fast) ease;flex-shrink:0}.char-list-search-btn{padding:.6rem 1rem;background:var(--dnd-gold);border:1px solid var(--dnd-gold);border-radius:var(--radius-lg);color:var(--dnd-bg, #1a1410);font-size:var(--text-sm);font-family:var(--font-primary);font-weight:600;cursor:pointer;flex-shrink:0;transition:opacity var(--duration-fast) ease}.char-list-search-btn:hover{opacity:.9}.char-list-search-btn:disabled{opacity:.55;cursor:default}.char-list-search-clear{padding:.6rem .85rem;background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:var(--radius-lg);color:var(--dnd-muted);font-size:var(--text-sm);font-family:var(--font-primary);cursor:pointer;flex-shrink:0;transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease}.char-list-search-clear:hover{color:var(--dnd-text);border-color:var(--dnd-gold)}.char-list-sort:focus{outline:none;border-color:var(--dnd-gold);box-shadow:0 0 0 3px var(--dnd-gold-10)}:root[data-theme=light] .char-list-search,:root[data-theme=light] .char-list-sort{background:#fff;border-color:var(--dnd-border)}:root[data-theme=light] .char-list-search:focus,:root[data-theme=light] .char-list-sort:focus{border-color:var(--dnd-gold);box-shadow:0 0 0 3px #7a5c1e1a}@media(max-width:480px){.char-list-toolbar{flex-direction:column}}.char-list-buttons-container{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--sp-2);margin-bottom:var(--sp-4)}.btn.btn-secondary.char-list-new-btn{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);flex:1;min-width:0;padding:var(--sp-3) var(--sp-2);margin-bottom:0;background:var(--dnd-gold-10)!important;border:none!important;border-radius:var(--radius-xl);color:var(--dnd-gold)!important;font-size:.8rem;font-weight:600;font-family:var(--font-primary);letter-spacing:.3px;text-transform:none;cursor:pointer;transition:all var(--duration-normal) var(--ease-out)}.btn.btn-secondary.char-list-new-btn:hover{background:var(--dnd-gold-18)!important;border-color:transparent!important;color:var(--dnd-gold)!important}.btn.btn-secondary.char-list-new-btn:active{transform:translateY(0);transition-duration:80ms}.btn.btn-secondary.char-list-simple-btn{background:#ffb74d1f!important;border:none!important;color:#ffb74d!important}.btn.btn-secondary.char-list-simple-btn:hover{background:#ffb74d33!important;color:#ffb74d!important}.char-list-guest-actions{display:flex;flex-direction:row;gap:var(--sp-2);margin-bottom:var(--sp-4)}.char-list-guest-actions .btn.btn-secondary.char-list-new-btn{flex:1;min-width:0}@media(max-width:480px){.char-list-guest-actions{flex-direction:column;gap:var(--sp-2)}.char-list-guest-actions .btn.btn-secondary.char-list-new-btn{width:100%;flex:unset}}.btn.btn-secondary.char-list-signin-btn{background:#4dc6b41f!important;border:none!important;color:#4dc6b4!important}.btn.btn-secondary.char-list-signin-btn:hover{background:#4dc6b433!important;color:#4dc6b4!important}.btn.btn-secondary.char-list-pregen-btn{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);flex:1;min-width:0;padding:var(--sp-3) var(--sp-2);margin-bottom:0;background:#42a5f51a!important;border:none!important;border-radius:var(--radius-xl);color:#42a5f5!important;font-size:.8rem;font-weight:600;font-family:var(--font-primary);letter-spacing:.3px;text-transform:none;cursor:pointer;transition:all var(--duration-normal) var(--ease-out)}.btn.btn-secondary.char-list-pregen-btn:hover{background:#42a5f52e!important;color:#42a5f5!important}:root[data-theme=light] .btn.btn-secondary.char-list-new-btn{background:var(--dnd-gold-10)!important;border:1px solid var(--dnd-gold-25)!important}:root[data-theme=light] .btn.btn-secondary.char-list-new-btn:hover{background:var(--dnd-gold-18)!important;border-color:var(--dnd-gold-50)!important}:root[data-theme=light] .btn.btn-secondary.char-list-pregen-btn{background:#1565c017!important;border:1px solid rgba(21,101,192,.28)!important;color:#1565c0!important}:root[data-theme=light] .btn.btn-secondary.char-list-pregen-btn:hover{background:#1565c029!important;border-color:#1565c080!important;color:#0d47a1!important}.btn.btn-secondary.char-list-ai-btn{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);flex:1;min-width:100px;padding:var(--sp-3) var(--sp-2);height:auto;overflow:visible!important;white-space:normal;text-align:center;background:#9c27b01a!important;border:none!important;border-radius:var(--radius-xl);color:#9c27b0!important;font-size:.8rem;font-weight:600;font-family:var(--font-primary);letter-spacing:.3px;text-transform:none;cursor:pointer;transition:all var(--duration-normal) var(--ease-out)}.btn.btn-secondary.char-list-ai-btn:hover{background:#9c27b02e!important;color:#9c27b0!important}.btn.btn-secondary.char-list-upload-btn{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);flex:1;min-width:0;padding:var(--sp-3) var(--sp-2);margin-bottom:0;background:#26a69a1a!important;border:none!important;border-radius:var(--radius-xl);color:#26a69a!important;font-size:.8rem;font-weight:600;font-family:var(--font-primary);letter-spacing:.3px;text-transform:none;cursor:pointer;transition:all var(--duration-normal) var(--ease-out)}.btn.btn-secondary.char-list-upload-btn:hover{background:#26a69a2e!important;color:#26a69a!important}.char-list-new-icon{font-size:1.3rem;line-height:1}.char-list-ai-icon{flex-shrink:0;display:block}.btn.btn-secondary.char-list-new-btn .btn-content,.btn.btn-secondary.char-list-pregen-btn .btn-content,.btn.btn-secondary.char-list-ai-btn .btn-content{white-space:normal;word-break:break-word;line-height:1.3}.create-choice-options{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) calc(var(--sp-4) + var(--sp-1))}.create-choice-option{display:flex;align-items:flex-start;gap:var(--sp-3);width:100%;text-align:left;padding:var(--sp-3) var(--sp-4);background:var(--dnd-gold-10);border:1px solid var(--dnd-gold-25);border-radius:var(--radius-xl);color:var(--dnd-text);cursor:pointer;transition:all var(--duration-normal) var(--ease-out)}.create-choice-option:hover{background:var(--dnd-gold-18);border-color:var(--dnd-gold-50);transform:translateY(-1px)}.create-choice-option:active{transform:translateY(0);transition-duration:80ms}.create-choice-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border-radius:var(--radius-lg);background:var(--dnd-gold-10);color:var(--dnd-gold)}.create-choice-text{display:flex;flex-direction:column;gap:2px;min-width:0}.create-choice-text strong{color:var(--dnd-gold);font-family:var(--font-primary);font-size:.95rem;font-weight:600}.create-choice-text span{color:var(--dnd-text-dim);font-size:.82rem;line-height:1.4}.create-choice-option--quick .create-choice-icon{color:#ffb74d}.create-choice-option--quick:hover{border-color:#ffb74d80}.create-choice-option--blank .create-choice-icon{color:#26a69a}.create-choice-option--blank:hover{border-color:#26a69a80}@media(max-width:480px){.char-list-buttons-container{gap:var(--sp-1)}.btn.btn-secondary.char-list-new-btn,.btn.btn-secondary.char-list-pregen-btn,.btn.btn-secondary.char-list-ai-btn,.btn.btn-secondary.char-list-upload-btn{padding:var(--sp-2) var(--sp-2);font-size:.78rem}}.char-list-limit-notice{text-align:center;color:var(--dnd-text-dim);font-size:.85rem;margin:.5rem 0 .75rem}.char-list-limit-notice .link-btn{background:none;border:none;color:var(--dnd-gold);cursor:pointer;text-decoration:underline;font:inherit;padding:0}.char-list-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 0;color:var(--dnd-text)}.char-list-empty{text-align:center;padding:3rem 1rem;color:var(--dnd-text)}.char-list-empty-icon{font-size:3rem;margin-bottom:.75rem;opacity:.5}.char-list-empty h3{color:var(--dnd-gold);font-family:var(--font-display);font-size:1.2rem;margin:0 0 .5rem}.char-list-empty p{opacity:.6;font-style:italic;margin:0}.char-list-grid{display:flex;flex-direction:column;gap:.75rem}.char-card{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--dnd-surface-2);border:1px solid var(--dnd-border);border-radius:var(--radius-xl);cursor:pointer;transition:background var(--duration-normal) var(--ease-out);position:relative;overflow:hidden}.char-card:before{display:none}.char-card[data-variant=shared],.char-card--shared{border-color:#42a5f540}.char-card[data-variant=shared] .char-card-icon,.char-card--shared .char-card-icon{background:linear-gradient(135deg,#42a5f51f,#42a5f508);border-color:#42a5f52e;color:var(--dnd-info)}.char-card[data-variant=admin]{border-color:#7b68ee40}.char-card[data-variant=admin] .char-card-icon{background:linear-gradient(135deg,#7b68ee1f,#7b68ee08);border-color:#7b68ee2e;color:var(--dnd-accent-purple)}.char-card[data-variant=pregen]{border-color:#e0e0e038}:root[data-theme=light] .char-card{background:var(--dnd-card-bg);box-shadow:var(--shadow-xs)}.char-card:hover{background:var(--dnd-surface-1);border-color:var(--dnd-surface-1);transform:none;box-shadow:none;transition-duration:80ms}:root[data-theme=light] .char-card:hover{background:#f5f3f0;border-color:#f5f3f0}.char-card:active{transition-duration:80ms}.char-card-icon{font-size:1.5rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dnd-gold-10),var(--dnd-gold-03));border:1px solid var(--dnd-gold-12);border-radius:var(--radius-lg);flex-shrink:0;transition:background var(--duration-normal) ease}.char-card:hover .char-card-icon{background:linear-gradient(135deg,var(--dnd-gold-15),var(--dnd-gold-06))}.char-card-icon--portrait{padding:0;overflow:hidden;position:relative;background:none;border-color:var(--dnd-gold-12)}.char-card:hover .char-card-icon--portrait{background:none}:root[data-theme=light] .char-card-icon{background:linear-gradient(135deg,#7a5c1e14,#7a5c1e08);border-color:#7a5c1e14}.char-card-info{flex:1;min-width:0}.char-card-name{color:var(--dnd-text-light);font-size:1.1rem;font-weight:600;font-family:var(--font-display);margin-bottom:.15rem;display:flex;align-items:center;gap:.4rem;min-width:0}.char-card-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.char-card-edition-badge{flex:0 0 auto}.char-card-details{display:flex;align-items:center;gap:.3rem;color:var(--dnd-text);font-size:.85rem;flex-wrap:wrap}.char-card-level{color:var(--dnd-gold);font-weight:600}.char-card-sep{opacity:.4}.char-card-subclass{font-style:italic;opacity:.65}.char-card-date{color:var(--dnd-text);font-size:.72rem;opacity:.4;margin-top:.15rem}.char-card-menu-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;flex-shrink:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--dnd-text);opacity:.4;cursor:pointer;touch-action:manipulation;transition:opacity var(--duration-fast) ease,background var(--duration-fast) ease}.char-card-menu-btn:hover,.char-card-menu-btn[aria-expanded=true]{opacity:1;background:var(--dnd-gold-10)}.char-card-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200}.char-card-menu{display:flex;flex-direction:column;min-width:200px;padding:var(--sp-2);background:var(--dnd-surface-1);border:1px solid var(--dnd-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.char-card-menu-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .7rem;background:none;border:none;border-radius:var(--radius-sm);color:var(--dnd-text-light);font-size:.9rem;text-align:left;cursor:pointer;touch-action:manipulation;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.char-card-menu-item:hover{background:var(--dnd-gold-10)}.char-card-menu-item:disabled{opacity:.5;cursor:wait}.char-card-menu-item--danger{color:var(--dnd-danger)}.char-card-menu-item--danger:hover{background:var(--dnd-red-10)}.char-card-menu-item-icon{display:flex;align-items:center;justify-content:center;width:18px;flex-shrink:0;opacity:.85}@media(max-width:640px){.char-list-header{flex-direction:row;align-items:center}.char-list-title h1{font-size:1.1rem}.char-list-telegram-label{display:none}.char-list-telegram-btn{padding:.5rem}.char-card{padding:.8rem 1rem}.char-card-icon{width:40px;height:40px;font-size:1.5rem}.char-card-details{flex-wrap:nowrap;min-width:0}.char-card-details>*{flex-shrink:0}.char-card-details>.char-card-subclass{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.pregen-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem;animation:fadeIn var(--duration-normal) ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pregen-modal{background:var(--dnd-card-bg);border:1px solid var(--dnd-border);border-radius:var(--radius-lg);width:95vw;max-width:680px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 12px 48px #0000008c;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pregen-header{position:relative;padding:1.25rem 1.5rem;border-bottom:1px solid var(--dnd-gold-15)}.pregen-header h2{margin:0;color:var(--dnd-gold);font-family:var(--font-display);font-size:1.25rem;letter-spacing:1px}.pregen-subtitle{margin:0 0 .5rem;padding:.5rem 1.25rem 0;color:var(--dnd-text-secondary);font-size:.85rem}.pregen-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--dnd-text-secondary);font-size:1.4rem;cursor:pointer;line-height:1;padding:.25rem;transition:color .2s}.pregen-close:hover{color:var(--dnd-gold)}.pregen-list{overflow-y:auto;padding:.75rem 1rem 1rem;display:flex;flex-direction:column;gap:.5rem;flex:1;min-height:0}.pregen-card{border:1px solid var(--dnd-border);border-radius:var(--radius-md);flex-shrink:0;transition:border-color .2s}.pregen-card:hover{border-color:var(--dnd-gold-30)}.pregen-card--expanded{border-color:var(--dnd-gold-40)}.pregen-card-header{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.pregen-card-header:hover{background:var(--dnd-gold-06)}.pregen-card-icon{font-size:1.6rem;min-width:2.2rem;text-align:center}.pregen-card-info{flex:1;min-width:0}.pregen-card-name{font-weight:700;color:var(--dnd-text);font-size:1rem;line-height:1.2;margin:0}.pregen-card-class{color:var(--dnd-gold);font-size:.85rem;margin-top:.15rem;line-height:1.3;margin-bottom:0}.pregen-card-summary{color:var(--dnd-text-secondary);font-size:.8rem;margin-top:.2rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pregen-card-expand{color:var(--dnd-text-secondary);font-size:.75rem;flex-shrink:0;line-height:1;padding:.1rem}.pregen-card-details{padding:.75rem 1rem 1rem;border-top:1px solid var(--dnd-border);display:flex;flex-direction:column;gap:.6rem}.pregen-abilities{display:grid;grid-template-columns:repeat(6,1fr);gap:.35rem;text-align:center}.pregen-ability{display:flex;flex-direction:column;gap:.1rem;background:#ffffff08;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);padding:.35rem .2rem}.pregen-ability-label{font-size:.65rem;color:var(--dnd-gold);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.pregen-ability-value{font-size:1.1rem;font-weight:700;color:var(--dnd-text)}.pregen-ability-mod{font-size:.75rem;color:var(--dnd-text-secondary)}.pregen-section{font-size:.85rem;color:var(--dnd-text);line-height:1.4}.pregen-section-label{font-weight:600;color:var(--dnd-gold)}.pregen-spell-row{margin-top:.15rem;padding-left:.5rem;font-size:.83rem}.pregen-spell-level{font-weight:600;color:var(--dnd-text-secondary)}.pregen-select-btn{margin-top:.5rem;padding:.65rem 1.25rem;background:linear-gradient(135deg,var(--dnd-gold),#b8961e);border:none;border-radius:var(--radius-md);color:#1a1a2e;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .2s;width:100%}.pregen-select-btn:hover{background:linear-gradient(135deg,var(--dnd-gold-light),var(--dnd-gold))}.pregen-select-btn:active{transform:scale(.97)}:root[data-theme=light] .pregen-modal{background:var(--dnd-card-bg);box-shadow:0 12px 48px #0000001f}:root[data-theme=light] .pregen-backdrop{background:#00000080}:root[data-theme=light] .pregen-ability{background:#00000005;border-color:var(--dnd-border)}:root[data-theme=light] .pregen-select-btn{color:#fff;background:linear-gradient(135deg,#8b6914,#a07c1c)}@media(max-width:640px){.pregen-backdrop{padding:0}.pregen-modal{width:100vw;max-width:100%;max-height:100dvh;border-radius:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.pregen-abilities{grid-template-columns:repeat(3,1fr)}.pregen-card-summary{white-space:normal}}.class-icon{width:1.3em;height:1.3em;vertical-align:middle;color:var(--dnd-gold)}.shared-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--dnd-gold-10)}.shared-section-title{font-size:1.25rem;font-weight:700;margin:0 0 .25rem;color:var(--dnd-text)}:root[data-theme=light] .shared-section-title{color:#1a1a2e}.shared-section-subtitle{font-size:.85rem;color:var(--dnd-text-secondary);margin:0 0 1rem;font-style:italic}:root[data-theme=light] .shared-section-subtitle{color:#666}.shared-section-loading{font-size:.9rem;color:var(--dnd-text-secondary);font-style:italic}:root[data-theme=light] .shared-section-loading{color:#666}.char-card-owner{font-size:.8rem;color:var(--accent-color);margin-top:.15rem}.char-card-readonly-badge{font-size:1.2rem;opacity:.5;flex-shrink:0;padding:.5rem}.char-card-dismiss-btn{position:absolute;top:.35rem;right:.35rem;background:var(--dnd-surface);border:1px solid var(--dnd-border);color:var(--dnd-text-dim);border-radius:50%;width:1.5rem;height:1.5rem;font-size:.8rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)}.char-card--shared:hover .char-card-dismiss-btn{opacity:1}.char-card-dismiss-btn:hover{color:#e74c3c;border-color:#e74c3c}.guest-mode-badge{display:inline-block;padding:.15rem .55rem;border-radius:4px;font-size:.75rem;font-weight:600;background:var(--dnd-gold-15);color:var(--dnd-gold);border:1px solid var(--dnd-gold-30)}.guest-info-banner{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem 1rem;margin-bottom:1rem;border-radius:8px;background:var(--dnd-gold-08);border:1px solid var(--dnd-gold-20)}.guest-info-banner strong{display:block;margin-bottom:.25rem;color:var(--dnd-gold);font-size:.9rem}.guest-info-banner p{margin:0;font-size:.82rem;color:var(--dnd-text-light);line-height:1.4}.guest-banner-register-link{background:none;border:none;padding:0;margin:0;color:var(--dnd-gold);font-size:inherit;font-family:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.guest-banner-register-link:hover{opacity:.8}.guest-info-icon{font-size:1.2rem;flex-shrink:0;margin-top:.1rem}:root[data-theme=paper] .char-list-page{background:#fafaf7}:root[data-theme=paper] .char-list-container{background:#fafaf7}:root[data-theme=paper] .char-list-header{background:#fff;border-bottom-color:#c8c8c8}:root[data-theme=paper] .char-list-title h1{color:#1a1a1a}:root[data-theme=paper] .char-list-subtitle{color:#555}:root[data-theme=paper] .char-list-tabs{background:#f5f5f3;border-color:#c8c8c8}:root[data-theme=paper] .char-list-tab{color:#666}:root[data-theme=paper] .char-list-tab:not(.char-list-tab--active):hover{color:#1a1a1a;background:#3333330d}:root[data-theme=paper] .char-list-tab--active{color:#1a1a1a;border-bottom-color:#333}:root[data-theme=paper] .char-list-search,:root[data-theme=paper] .char-list-sort{background:#fff;border-color:#c8c8c8;color:#1a1a1a}:root[data-theme=paper] .char-list-search:focus,:root[data-theme=paper] .char-list-sort:focus{border-color:#333;box-shadow:0 0 0 2px #3333331f}:root[data-theme=paper] .btn.btn-secondary.char-list-new-btn{background:#3333330f!important;border:1px solid rgba(51,51,51,.2)!important;color:#1a1a1a!important}:root[data-theme=paper] .btn.btn-secondary.char-list-new-btn:hover{background:#3333331f!important;border-color:#33333359!important;color:#000!important}:root[data-theme=paper] .btn.btn-secondary.char-list-simple-btn{background:#3333330f!important;border:1px solid rgba(51,51,51,.2)!important;color:#1a1a1a!important}:root[data-theme=paper] .btn.btn-secondary.char-list-simple-btn:hover{background:#3333331f!important;color:#000!important}:root[data-theme=paper] .btn.btn-secondary.char-list-pregen-btn{background:#3333330f!important;border:1px solid rgba(51,51,51,.2)!important;color:#1a1a1a!important}:root[data-theme=paper] .btn.btn-secondary.char-list-pregen-btn:hover{background:#3333331f!important;border-color:#33333359!important;color:#000!important}:root[data-theme=paper] .btn.btn-secondary.char-list-signin-btn{background:#3333330f!important;border:1px solid rgba(51,51,51,.2)!important;color:#1a1a1a!important}:root[data-theme=paper] .btn.btn-secondary.char-list-signin-btn:hover{background:#3333331f!important;color:#000!important}:root[data-theme=paper] .btn.btn-secondary.char-list-ai-btn{background:#3333330f!important;border:1px solid rgba(51,51,51,.2)!important;color:#1a1a1a!important}:root[data-theme=paper] .btn.btn-secondary.char-list-ai-btn:hover{background:#3333331f!important;color:#000!important}:root[data-theme=paper] .btn.btn-secondary.char-list-upload-btn{background:#3333330f!important;border:1px solid rgba(51,51,51,.2)!important;color:#1a1a1a!important}:root[data-theme=paper] .btn.btn-secondary.char-list-upload-btn:hover{background:#3333331f!important;color:#000!important}:root[data-theme=paper] .char-card{background:#fff;border-color:#c8c8c8}:root[data-theme=paper] .char-card:hover{border-color:#333;box-shadow:0 2px 8px #00000014}:root[data-theme=paper] .char-card-icon{background:#f5f5f3!important;border-color:#c8c8c8!important;color:#333!important}:root[data-theme=paper] .char-card[data-variant=shared],:root[data-theme=paper] .char-card[data-variant=admin]{border-color:#c8c8c8}:root[data-theme=paper] .char-card[data-variant=shared] .char-card-icon,:root[data-theme=paper] .char-card[data-variant=admin] .char-card-icon{background:#f5f5f3!important;border-color:#c8c8c8!important;color:#555!important}.char-list-load-more{display:flex;justify-content:center;padding:1.5rem 0 .5rem}.char-list-load-more-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.75rem;background:transparent;border:1px solid var(--dnd-gold);color:var(--dnd-gold);border-radius:6px;font-size:.9rem;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.char-list-load-more-btn:hover:not(:disabled){background:var(--dnd-gold);color:var(--dnd-darker)}.char-list-load-more-btn:disabled{opacity:.55;cursor:default}.char-list-load-more-spinner{width:14px;height:14px;flex-shrink:0}.import-subclass-prompt{margin:0;padding:1rem 1.25rem .75rem;color:var(--dnd-text-muted, #b8b8c8);font-size:.92rem;line-height:1.45}.import-subclass-options{display:flex;flex-direction:column;gap:.5rem;padding:0 1.25rem;margin-bottom:1rem}.import-subclass-option{padding:.7rem 1rem;text-align:left;background:var(--dnd-card-hover, rgba(255, 255, 255, .04));border:1px solid var(--dnd-border);border-radius:var(--radius-md);color:var(--dnd-text);font-size:.95rem;cursor:pointer;transition:all var(--duration-fast)}.import-subclass-option:hover{border-color:var(--dnd-gold)}.import-subclass-option--selected{border-color:var(--dnd-gold);background:var(--dnd-gold-15);font-weight:600}.import-subclass-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:0 1.25rem 1.25rem}.import-level-stepper{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.25rem 1.25rem 1rem}.import-level-input{width:4.5rem;padding:.6rem .5rem;text-align:center;font-size:1.15rem;font-weight:600;background:var(--dnd-card-hover, rgba(255, 255, 255, .04));border:1px solid var(--dnd-border);border-radius:var(--radius-md);color:var(--dnd-text)}.import-level-input:focus{outline:none;border-color:var(--dnd-gold)}.admin-notif-panel{margin-bottom:1.25rem;padding:1rem;background:var(--dnd-surface-1);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md)}.admin-notif-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.admin-notif-title{margin:0;font-size:var(--text-base);color:var(--dnd-text)}.admin-notif-empty{margin:0;color:var(--dnd-text-secondary);font-size:var(--text-sm)}.admin-notif-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.admin-notif-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;background:var(--dnd-surface-2);border-radius:var(--radius-sm)}.admin-notif-row-main{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.admin-notif-row-title{font-weight:600;color:var(--dnd-text);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-notif-row-meta{color:var(--dnd-text-secondary);font-size:var(--text-xs)}.admin-notif-del{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:.35rem;background:none;border:none;color:var(--dnd-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--duration-fast),background var(--duration-fast)}.admin-notif-del:hover{color:#d9352c;background:var(--dnd-surface-3)}.admin-notif-form{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem 1rem}.admin-notif-label{font-size:var(--text-sm);color:var(--dnd-text-secondary);margin-top:.25rem}.admin-notif-input,.admin-notif-textarea{width:100%;padding:.5rem .625rem;background:var(--dnd-surface-0);border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md);color:var(--dnd-text);font-family:var(--font-primary);font-size:var(--text-base);box-sizing:border-box}.admin-notif-textarea{resize:vertical;min-height:80px}.admin-notif-input:focus,.admin-notif-textarea:focus{outline:none;border-color:var(--dnd-gold-40)}.admin-notif-all{display:flex;align-items:center;gap:.5rem;color:var(--dnd-text);font-size:var(--text-sm);cursor:pointer}.admin-notif-hint{margin:.25rem 0 0;color:var(--dnd-text-secondary);font-size:var(--text-xs)}.admin-notif-future{align-items:flex-start}.admin-notif-future input{margin-top:.15rem}.admin-notif-future span{display:flex;flex-direction:column;gap:.1rem}.admin-notif-future .admin-notif-hint{margin-top:0}.admin-notif-userlist{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md)}.admin-notif-user{display:flex;align-items:center;gap:.5rem;padding:.4rem .625rem;font-size:var(--text-sm);color:var(--dnd-text);cursor:pointer;border-bottom:1px solid var(--dnd-gold-10)}.admin-notif-user:last-child{border-bottom:none}.admin-notif-user:hover{background:var(--dnd-surface-2)}.admin-notif-user-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-notif-user-name{color:var(--dnd-text-secondary);font-size:var(--text-xs)}.admin-notif-selected{margin:0;color:var(--dnd-text-secondary);font-size:var(--text-xs)}.admin-notif-send{margin-top:.5rem;align-self:flex-end}.admin-notif-row-open{background:none;border:none;text-align:left;font:inherit;cursor:pointer;border-radius:var(--radius-sm);transition:opacity var(--duration-fast)}.admin-notif-row-open:hover .admin-notif-row-title{text-decoration:underline;text-decoration-color:var(--dnd-gold-40);text-underline-offset:2px}.admin-notif-detail{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem 1rem}.admin-notif-detail-meta{color:var(--dnd-text-secondary);font-size:var(--text-xs)}.admin-notif-detail-body{white-space:pre-wrap;word-break:break-word;color:var(--dnd-text);font-size:var(--text-sm);line-height:1.5;padding:.5rem .625rem;background:var(--dnd-surface-2);border-radius:var(--radius-md)}.admin-notif-detail-empty{color:var(--dnd-text-secondary);font-style:italic}.admin-notif-detail-heading{margin:.5rem 0 0;font-size:var(--text-sm);color:var(--dnd-text-secondary)}.admin-notif-reclist{list-style:none;margin:0;padding:0;max-height:300px;overflow-y:auto;border:1px solid var(--dnd-gold-15);border-radius:var(--radius-md)}.admin-notif-rec{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .625rem;border-bottom:1px solid var(--dnd-gold-10)}.admin-notif-rec:last-child{border-bottom:none}.admin-notif-rec-user{display:flex;flex-direction:column;gap:.1rem;min-width:0}.admin-notif-rec-email{font-size:var(--text-sm);color:var(--dnd-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-notif-rec-name{font-size:var(--text-xs);color:var(--dnd-text-secondary)}.admin-notif-rec-status{flex-shrink:0;font-size:var(--text-xs);text-align:right}.admin-notif-rec-status--read{color:var(--dnd-success)}.admin-notif-rec-status--unread{color:var(--dnd-text-secondary)}.admin-user-notify-btn{margin-left:auto}.admin-subsection-heading{margin:.75rem 0 .35rem;font-size:var(--text-sm);font-weight:600;color:var(--dnd-text-secondary)}.admin-feedback-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.admin-feedback-card{padding:.5rem .75rem;background:var(--dnd-surface-2);border-radius:var(--radius-md)}.admin-feedback-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.admin-feedback-card-title,.admin-feedback-card-cat{font-weight:600;font-size:var(--text-sm);color:var(--dnd-text)}.admin-feedback-card-date{flex-shrink:0;font-size:var(--text-xs);color:var(--dnd-text-secondary)}.admin-feedback-answers{margin:0;display:flex;flex-direction:column;gap:.25rem}.admin-feedback-qa{display:flex;gap:.5rem;font-size:var(--text-sm)}.admin-feedback-qa dt{color:var(--dnd-text-secondary);flex:1;min-width:0}.admin-feedback-qa dd{margin:0;color:var(--dnd-text);font-weight:500;text-align:right;max-width:55%;word-break:break-word}.admin-feedback-message{margin:0;white-space:pre-wrap;word-break:break-word;color:var(--dnd-text);font-size:var(--text-sm);line-height:1.5}.admin-feedback-url{display:block;margin-top:.35rem;font-size:var(--text-xs);color:var(--dnd-text-secondary);word-break:break-all}:root[data-theme^=modern-] .char-list-title h1{letter-spacing:-.02em;text-shadow:none}:root[data-theme^=modern-] .char-list-tabs{background:var(--p-segment-track);border:none;border-radius:var(--radius-lg);padding:4px;gap:4px;box-shadow:var(--shadow-inset)}:root[data-theme^=modern-] .char-list-tab{border:none;border-radius:var(--radius-md);margin-bottom:0;color:var(--dnd-text-secondary);letter-spacing:-.01em;transition:background .2s var(--ease-out),color .2s var(--ease-out),box-shadow .2s var(--ease-out)}:root[data-theme^=modern-] .char-list-tab:not(.char-list-tab--active):hover{background:var(--surface-hover);color:var(--dnd-text)}:root[data-theme^=modern-] .char-list-tab--active{background:var(--p-segment-thumb);color:var(--dnd-gold);border-bottom-color:transparent;box-shadow:var(--shadow-sm),inset 0 .5px #ffffff1a}:root[data-theme^=modern-] .char-card{border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm)}:root[data-theme^=modern-] .char-card-icon{border-radius:var(--radius-lg)}:root[data-theme=modern-dark] .char-card:hover,:root[data-theme=modern-darkest] .char-card:hover{background:var(--dnd-surface-3);border-color:var(--dnd-border);box-shadow:var(--shadow-md)}:root[data-theme=modern-light] .char-card{background:var(--dnd-card-bg)}:root[data-theme=modern-light] .char-card:hover{background:#fff;border-color:var(--dnd-border);box-shadow:var(--shadow-md)}:root[data-theme^=modern-] .create-choice-option{border-radius:var(--radius-2xl)}:root[data-theme^=modern-] .char-list-search,:root[data-theme^=modern-] .char-list-sort{border-radius:var(--radius-lg)}:root[data-theme^=modern-] .char-list-load-more-btn{border-radius:var(--radius-md)}:root[data-theme^=modern-] .pregen-ability{background:var(--dnd-surface-2);border-color:var(--dnd-border)}.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}}
