:root{color:#f7f4f4;font-synthesis:none;text-rendering:optimizelegibility;background:#050505;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:where(html,body,#root,main,header,section,article,div,nav,button,input,select,textarea,span,p,h1,h2,h3,label,ul,li,details,summary){box-sizing:border-box}html{background:#050505;min-width:320px}body{background:radial-gradient(circle at top,#1b090b,#050505 34rem);min-width:320px;min-height:100dvh;margin:0}#root{min-height:100dvh}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;appearance:none;background:0 0;border:0}button:disabled{cursor:default;opacity:.45}button:focus-visible,summary:focus-visible{outline-offset:3px;outline:2px solid #ff8b87}input,select,textarea{color:#fff;background:#120708;border:1px solid #4b2729;border-radius:11px;padding:8px 10px;font-size:16px}input:focus,textarea:focus,select:focus{outline-offset:1px;outline:2px solid #f2615f}.app-page{width:100%;max-width:680px;min-height:100dvh;padding:calc(10px + env(safe-area-inset-top)) 10px calc(82px + env(safe-area-inset-bottom));margin:0 auto}.page-eyebrow,.section-eyebrow{color:#f36a68;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.65rem;font-weight:800}.primary-button,.secondary-button,.character-edit-button,.compact-section-button{border-radius:13px;min-height:34px;padding:0 12px;font-size:.8rem;font-weight:800}.primary-button{color:#1b0506;background:#f2615f}.secondary-button,.character-edit-button,.compact-section-button{color:#f58784;background:#1c1515;border:1px solid #4d292a}.primary-button:active,.secondary-button:active,.stepper-button:active,.round-add-button:active{transform:scale(.96)}.fight-header,.character-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.fight-header>div,.character-header-text{min-width:0}.fight-header h1,.character-header h1{letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;margin:2px 0;font-size:clamp(1.65rem,7vw,2.15rem);line-height:1.1;overflow:hidden}.character-subtitle{color:#bfb7b7;margin:4px 0 0;font-size:.82rem;line-height:1.3}.fight-header .secondary-button{white-space:nowrap;flex-shrink:0}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:7px;display:grid}.stat-card{text-align:center;background:linear-gradient(145deg,#2b1011,#1c0a0b);border:1px solid #351718;border-radius:15px;min-width:0;min-height:68px;padding:10px 4px}.stat-card span{color:#cfc5c5;margin-bottom:4px;font-size:.7rem;display:block}.stat-card strong{white-space:nowrap;font-size:1.3rem;line-height:1.1;display:block}.combat-card,.character-section,.character-summary-card{background:linear-gradient(145deg,#250d0e,#180809);border:1px solid #321718;border-radius:16px;margin-top:8px;padding:11px}.combat-card h2,.character-section-heading h2{margin:2px 0 0;font-size:1.12rem;line-height:.8}.section-heading,.character-section-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px;display:flex}.empty-card,.character-empty-state{background:#1a0a0b;border:1px dashed #5a292b;border-radius:13px;padding:12px;font-size:.85rem}.empty-card p{color:#b7aaaa;margin:4px 0 0;font-size:.8rem;line-height:1.4}.value-row{border-top:1px solid #452022;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;min-height:44px;display:flex}.value-label{flex:auto;min-width:0;font-size:.8rem;font-weight:700}.round-add-button,.stepper-button{color:#190506;background:#f2615f;border-radius:50%;flex:0 0 26px;place-items:center;width:26px;min-width:26px;height:26px;min-height:26px;padding:0;font-size:1rem;font-weight:900;line-height:1;display:grid}.stepper{flex:none;grid-template-columns:26px 38px 26px;justify-content:end;align-items:center;gap:3px;display:grid}.stepper-value,.value-button{text-align:center;white-space:nowrap;border-radius:8px;place-items:center;width:38px;min-width:38px;height:30px;min-height:30px;padding:0 3px;font-size:.95rem;font-weight:800;line-height:1;display:grid}.stepper-value:active,.value-button:active{background:#3c1719}.inline-number-editor{background:0 0;flex:none;grid-template-columns:minmax(52px,64px) 34px 34px;align-items:center;gap:4px;padding:0;display:grid;position:static}.inline-number-input{text-align:center;appearance:textfield;width:100%;min-width:0;height:34px;min-height:34px;padding:0 4px;font-weight:800}.inline-cancel-button,.inline-save-button{border-radius:50%;flex:0 0 34px;place-items:center;width:34px;min-width:34px;height:34px;min-height:34px;font-weight:900;display:grid}.inline-number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.inline-number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.inline-cancel-button,.inline-save-button{border-radius:50%;flex:0 0 44px;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.inline-cancel-button{background:#453f40}.inline-save-button{color:#1b0506;background:#f2615f}.full-width-button{text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:46px;padding:0;display:flex}.button-eyebrow{color:#b7aaaa;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px;font-size:.65rem;display:block}.full-width-button strong{font-size:1rem;display:block}.page-chevron{color:#f2615f;font-size:1.6rem}.bottom-navigation{z-index:20;left:8px;right:8px;bottom:calc(6px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(20px);background:#1b1a1af5;border:1px solid #373333;border-radius:19px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;max-width:650px;margin:0 auto;padding:4px;display:grid;position:fixed}.bottom-navigation button{border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:50px;padding:0;font-size:.65rem;display:flex}.bottom-navigation button.active{color:#ff7a77;background:#444142}.navigation-icon{background:#312e2e;border-radius:7px;place-items:center;width:22px;height:22px;font-weight:900;display:grid}.bottom-navigation button.active .navigation-icon{color:#1d0809;background:#f2615f}.sheet-backdrop{z-index:100;padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:#000000b8;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.bottom-sheet{background:#211011;border:1px solid #4d2728;border-radius:24px;width:100%;max-width:650px;max-height:85dvh;padding:14px 18px 20px;overflow-y:auto}.bottom-sheet h2{margin:14px 0}.bottom-sheet p{color:#c1b7b7;line-height:1.5}.sheet-handle{background:#725e5f;border-radius:20px;width:48px;height:5px;margin:0 auto}.sheet-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.large-number-input{text-align:center;width:100%;min-height:64px;font-size:1.8rem}.character-summary-card{padding:4px 12px}.character-summary-row{border-bottom:1px solid #452022;justify-content:space-between;align-items:center;gap:12px;min-height:33px;display:flex}.character-summary-row:last-child{border-bottom:0}.character-summary-row span{color:#b7aaaa;font-size:.8rem}.character-summary-row strong{text-align:right;overflow-wrap:anywhere;font-size:.86rem}.accent-value{color:#f2615f}.compact-section-button{align-items:center;gap:5px;font-size:.75rem;display:inline-flex}.ability-score-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.ability-score-card{background:linear-gradient(145deg,#301113,#210b0c);border:1px solid #412023;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:72px;padding:6px 4px;display:flex}.ability-score-card:disabled{opacity:1}.ability-score-card:active{background:#431719}.ability-score-name{color:#c9bfbf;text-align:center;overflow-wrap:anywhere;width:100%;font-size:.72rem}.ability-score-modifier{color:#f2615f;font-size:1.35rem;line-height:1}.ability-score-value{color:#b7aaaa;font-size:.7rem}.language-list{flex-wrap:wrap;gap:6px;display:flex}.language-chip{background:#1c0b0c;border:1px solid #482426;border-radius:999px;align-items:center;min-height:32px;padding:0 10px;font-size:.78rem;display:inline-flex}.character-ability-list{gap:6px;display:grid}.character-ability-card{background:#1b090a;border:1px solid #432123;border-radius:13px;overflow:hidden}.character-ability-card summary{cursor:pointer;touch-action:manipulation;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:8px 12px;font-size:.85rem;font-weight:750;list-style:none;display:flex}.character-ability-card summary::-webkit-details-marker{display:none}.ability-chevron{color:#f2615f;font-size:1.5rem}.character-ability-card[open] .ability-chevron{transform:rotate(90deg)}.ability-description{color:#c1b7b7;white-space:pre-wrap;overflow-wrap:anywhere;border-top:1px solid #3d1d1f;padding:0 12px 12px;font-size:.85rem;line-height:1.45}.ability-description p{margin:10px 0 0}.character-edit-page,.skills-page,.saving-throws-page{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.character-edit-header{z-index:15;background:#080505f7;border-bottom:1px solid #35191b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding:10px 0;display:flex;position:sticky;top:0}.character-edit-header h1{margin:2px 0;font-size:1.35rem;line-height:1.2}.character-edit-header-actions{gap:6px;display:flex}.character-edit-page>hr,.character-edit-page section br,.character-edit-page article>hr{display:none}.character-edit-page>section{background:linear-gradient(145deg,#250d0e,#180809);border:1px solid #321718;border-radius:16px;margin-top:8px;padding:11px}.character-edit-page section h2{margin:0 0 10px;font-size:1.05rem}.character-edit-page section>div{margin-top:8px}.character-edit-page label{color:#c1b7b7;margin-bottom:4px;font-size:.8rem;font-weight:700;display:block}.character-edit-page input,.character-edit-page textarea{width:100%;min-height:44px}.character-edit-page textarea{resize:vertical;min-height:76px;line-height:1.4}.character-edit-page section>p{color:#c1b7b7;margin:9px 0 0;font-size:.85rem}.character-edit-page section>p strong{color:#f2615f}.ability-score-edit-card{background:#210b0c;border:1px solid #412023;border-radius:13px;justify-content:space-between;align-items:center;gap:10px;min-height:60px;margin-top:6px;padding:8px 10px;display:flex}.character-edit-page .ability-score-edit-card label{align-items:center;gap:8px;margin:0;display:flex}.character-edit-page .ability-score-edit-card input{text-align:center;width:60px;padding:4px}.ability-score-edit-card>strong{color:#f2615f;font-size:1.05rem}.character-edit-page ul{flex-wrap:wrap;gap:6px;margin:0 0 9px;padding:0;list-style:none;display:flex}.character-edit-page li{background:#1c0b0c;border:1px solid #482426;border-radius:18px;align-items:center;gap:6px;padding:0 4px 0 10px;font-size:.8rem;display:inline-flex}.character-edit-page li button{color:#ff8b87;min-height:44px;padding:0 8px;font-size:.75rem}.character-edit-page article:not(.ability-score-edit-card){background:#1a090a;border:1px solid #422123;border-radius:13px;margin-top:7px;padding:9px}.character-edit-page article button{color:#ff8b87;background:#271011;border:1px solid #55292c;border-radius:11px;width:100%;min-height:44px;margin-top:8px;font-size:.8rem}.character-edit-page section h3{margin:13px 0 7px;font-size:.95rem}.character-edit-page section>button,.character-edit-page section>div>button,.character-edit-page>button{color:#1b0506;background:#f2615f;border-radius:11px;min-height:44px;margin-top:8px;padding:0 13px;font-size:.8rem;font-weight:800}.character-edit-page>button{margin-right:6px}.character-edit-page>button:first-of-type{color:#f58784;background:#1c1515;border:1px solid #4d292a}.skills-header,.saving-throws-header{margin-bottom:10px}.skills-back-button,.saving-throws-back-button,.back-button{background:#201718;border:1px solid #4c3031;border-radius:13px;align-items:center;gap:6px;min-height:44px;padding:0 12px;font-size:.8rem;font-weight:800;display:inline-flex}.skills-back-button span,.saving-throws-back-button span,.back-button span{color:#ff6c68;font-size:1.4rem}.skills-title,.saving-throws-title{margin-top:12px}.skills-title h1,.saving-throws-title h1{letter-spacing:-.035em;margin:2px 0 0;font-size:1.8rem;line-height:1.1}.saving-throws-title>span{color:#f36a67;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:800}.skills-proficiency-card,.proficiency-bonus-card{background:linear-gradient(145deg,#321416,#210c0d);border:1px solid #432224;border-radius:15px;justify-content:space-between;align-items:center;gap:12px;min-height:62px;margin-bottom:8px;padding:10px 13px;display:flex}.skills-proficiency-card>div,.proficiency-bonus-card>div{flex-direction:column;gap:2px;display:flex}.skills-proficiency-card span,.proficiency-bonus-card span{font-size:.85rem;font-weight:700}.skills-proficiency-card small,.proficiency-bonus-card small{color:#b7aaaa;font-size:.75rem}.skills-proficiency-card>strong,.proficiency-bonus-card>strong{color:#ff726e;font-size:1.3rem}.skills-list-panel,.saving-throws-panel{background:linear-gradient(155deg,#2a1012,#1b090a);border:1px solid #402123;border-radius:16px;overflow:hidden}.skills-legend,.saving-throws-legend{border-bottom:1px solid #442326;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:10px 8px;display:grid}.skills-legend>div,.saving-throws-legend>div{color:#c5baba;justify-content:center;align-items:center;gap:5px;font-size:.7rem;font-weight:700;display:flex}.skill-state-marker,.proficiency-indicator{background:0 0;border:2px solid #814345;border-radius:50%;flex:0 0 18px;width:18px;height:18px;display:inline-block}.skill-state-marker.none,.proficiency-indicator.none{border-color:#a39798}.skill-state-marker.proficient,.proficiency-indicator.proficient{background:linear-gradient(90deg,#ff625f 50%,#0000 50%);border-color:#ff625f}.skill-state-marker.expertise,.proficiency-indicator.expertise{background:#ff625f;border-color:#ff625f;box-shadow:0 0 0 3px #ff625f1a}.skills-help,.saving-throws-help{color:#b7aaaa;margin:0;padding:8px 10px 3px;font-size:.75rem}.skills-list,.saving-throws-list{padding:0 10px 5px}.skills-list .skill-row,.saving-throws-list .saving-throw-row{color:#fff;text-align:left;background:0 0;border:0;border-bottom:1px solid #462326;border-radius:0;justify-content:space-between;align-items:center;gap:9px;width:100%;min-height:58px;margin:0;padding:7px 1px;display:flex}.skills-list .skill-row:last-child,.saving-throws-list .saving-throw-row:last-child{border-bottom:0}.skills-list .skill-row:active,.saving-throws-list .saving-throw-row:active{background:#ff625f1a}.skill-row-information,.saving-throw-information{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.skill-row-information>strong,.saving-throw-information>strong{overflow-wrap:anywhere;font-size:.9rem;font-weight:750}.skill-row-information>span,.saving-throw-information>span{color:#b7aaaa;font-size:.72rem}.skill-row-result,.saving-throw-value{flex:none;align-items:center;gap:7px;display:flex}.skill-row-result>div,.saving-throw-value>div{flex-direction:column;align-items:flex-end;min-width:63px;display:flex}.skill-row-result small,.saving-throw-value small{color:#b7aaaa;text-transform:uppercase;font-size:.65rem}.skill-row-result strong,.saving-throw-value strong{color:#ff827e;white-space:nowrap;font-size:.9rem}.skills-list .skill-row-proficient,.saving-throws-list .saving-throw-proficient{background:linear-gradient(90deg,#ff625f0f,#0000 44%)}.skills-list .skill-row-expertise,.saving-throws-list .saving-throw-expertise{background:linear-gradient(90deg,#ff625f1f,#0000 48%)}@media (width<=390px){.app-page{padding-left:8px;padding-right:8px}.stat-grid,.ability-score-grid{gap:5px}.character-edit-header h1{font-size:1.22rem}.skills-legend>div,.saving-throws-legend>div{flex-direction:column;gap:3px}.ability-score-name{font-size:.68rem}}@media (prefers-reduced-motion:reduce){button:active{transform:none}}.characters-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.characters-header h1{margin:0;font-size:1.7rem}.characters-status{color:#b7aaaa;font-size:.75rem;line-height:1.4}.characters-error{color:#ffaaa6;font-size:.8rem}.characters-create{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.characters-create input{flex:1;min-width:130px;font-size:16px}.characters-page button,.characters-import{color:#f58784;border:1px solid #69403f;border-radius:8px;min-height:32px;padding:0 9px;font-size:.75rem}.characters-list{gap:5px;margin-top:8px;display:grid}.characters-card{background:#1a090a;border:1px solid #422123;border-radius:12px;padding:0 9px}.characters-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;min-height:48px;font-weight:750;display:flex}.characters-card summary small{color:#b7aaaa;font-size:.7rem;font-weight:400;display:block}.characters-active{color:#ff827e;font-size:.7rem}.characters-tools{flex-wrap:wrap;gap:5px;padding:6px 0;display:flex}.characters-import{cursor:pointer;align-items:center;display:inline-flex}.characters-import input{opacity:0;width:1px;height:1px}.characters-trash summary{cursor:pointer;min-height:32px;font-size:.85rem}.characters-trash-row{flex-wrap:wrap;align-items:center;gap:5px;padding:5px 0;display:flex}.characters-trash-row span{flex:1;font-size:.8rem}.characters-dialog-layer{z-index:120;background:#000c;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.characters-dialog{background:#211011;border:1px solid #69403f;border-radius:16px;width:100%;max-width:450px;padding:16px}.character-library-toolbar{justify-content:space-between;align-items:center;gap:7px;margin-bottom:8px;display:flex}.character-library-toolbar button{color:#f58784;border:1px solid #69403f;border-radius:8px;min-height:30px;padding:0 9px;font-size:.75rem}.character-library-toolbar span{color:#b7aaaa;font-size:.7rem}.character-library-toolbar .local-save-error{color:#ffaaa6}.action-list{gap:7px;display:grid}.action-item{background:#1a090a;border:1px solid #422123;border-radius:13px;padding:3px 8px}.action-top{align-items:center;gap:8px;display:flex}.action-name{text-align:left;overflow-wrap:anywhere;flex:1;justify-content:space-between;align-items:center;min-width:0;min-height:34px;padding:0;font-size:.88rem;font-weight:800;display:flex}.action-name span{color:#f58784;margin-left:8px}.action-use{color:#f58784;background:#321416;border-radius:11px;min-height:44px;padding:0 10px;font-size:.75rem;font-weight:800}.action-content{border-top:1px solid #422123;padding:4px 0 7px}.action-type,.action-note{color:#b7aaaa;margin:6px 0;font-size:.75rem;line-height:1.4}.action-roll{justify-content:space-between;gap:10px;padding:7px 0;font-size:.85rem;display:flex}.action-roll span{color:#b7aaaa}.action-roll strong{color:#ff827e;text-align:right;overflow-wrap:anywhere}.action-description{color:#c1b7b7;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem;line-height:1.4}.action-edit-button,.action-remove{color:#f58784;border:1px solid #69403f;border-radius:11px;width:100%;min-height:24px;margin-top:6px;font-size:.8rem}.action-resource{align-items:center;gap:4px;display:flex}.action-resource span{color:#b7aaaa;margin-right:auto;font-size:.8rem}.action-resource button{background:#321416;border-radius:11px;min-width:44px;min-height:44px}.action-editor-layer{z-index:110;overscroll-behavior:contain;background:#080505;position:fixed;inset:0;overflow-y:auto}.action-editor{max-width:680px;padding:calc(10px + env(safe-area-inset-top)) 10px calc(24px + env(safe-area-inset-bottom));margin:auto}.action-editor-header{z-index:1;background:#080505;align-items:center;gap:5px;padding:6px 0;display:flex;position:sticky;top:0}.action-editor-header h2{flex:1;margin:0;font-size:1.05rem}.action-editor-header button{padding:0 10px;font-size:.75rem}.action-editor label{color:#c1b7b7;flex-direction:column;gap:4px;margin-top:7px;font-size:.8rem;display:flex}.action-editor input:not([type=checkbox]),.action-editor select,.action-editor textarea{width:100%;min-height:44px;font-size:16px}.action-editor textarea{resize:vertical;min-height:64px}.action-editor-group{background:#1a090a;border:1px solid #422123;border-radius:12px;margin-top:7px;padding:0 10px}.action-editor-group>summary{cursor:pointer;touch-action:manipulation;justify-content:space-between;align-items:center;min-height:48px;font-size:.85rem;font-weight:750;list-style:none;display:flex}.action-editor-group>summary::-webkit-details-marker{display:none}.action-editor-group>summary:after{content:"+";color:#f58784;font-size:1.1rem}.action-editor-group[open]>summary:after{content:"-"}.action-editor-group[open]{padding-bottom:9px}.action-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.action-bonus-list{gap:7px;margin-top:8px;display:grid}.action-bonus{background:#100708;border:1px solid #4b2729;border-radius:10px;padding:7px}.action-editor .action-checkbox{flex-direction:row;align-items:center;gap:10px;min-height:44px}.action-checkbox input{accent-color:#f2615f;width:22px;height:22px}.action-error{color:#ff8b87}.action-delete-confirm{border:1px solid #69403f;border-radius:12px;margin-top:10px;padding:10px}.action-delete-confirm button{margin-right:6px}.effects-panel .effect-list{gap:7px;display:grid}.effect-item{background:#1a090a;border:1px solid #422123;border-radius:13px;padding:9px}.effect-item.effect-active{background:#301214;border-color:#c45b58}.effect-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.effect-name{text-align:left;overflow-wrap:anywhere;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;min-width:0;min-height:34px;padding:0;font-weight:800;display:flex}.effect-name span{color:#b7aaaa;font-size:.7rem;font-weight:400}.effect-toggle{color:#f58784;background:#201718;border:1px solid #69403f;border-radius:12px;min-height:44px;padding:0 12px;font-size:.8rem;font-weight:800}.effect-toggle[aria-pressed=true]{color:#1b0506;background:#f2615f}.effect-uses{justify-content:flex-end;align-items:center;gap:4px;display:flex}.effect-uses>span{color:#b7aaaa;margin-right:auto;font-size:.8rem}.effect-uses button{background:#321416;border-radius:11px;min-width:44px;min-height:44px;font-weight:750}.effect-tags{flex-wrap:wrap;gap:5px;margin-top:5px;display:flex}.effect-tags span{color:#d6caca;background:#100708;border-radius:7px;padding:4px 7px;font-size:.72rem}.effect-description summary{color:#f58784;cursor:pointer;align-items:center;min-height:44px;font-size:.8rem;display:flex}.effect-description p{white-space:pre-wrap;overflow-wrap:anywhere;color:#c1b7b7;margin:0 0 5px;font-size:.85rem;line-height:1.45}.effect-editor-layer{z-index:110;overscroll-behavior:contain;background:#080505;position:fixed;inset:0;overflow-y:auto}.effect-editor{max-width:680px;padding:calc(10px + env(safe-area-inset-top)) 12px calc(24px + env(safe-area-inset-bottom));margin:auto}.effect-editor-header{z-index:1;background:#080505;align-items:center;gap:6px;padding:10px 0;display:flex;position:sticky;top:0}.effect-editor-header h2{flex:1;margin:0;font-size:1.2rem}.effect-editor>label,.effect-field-grid label{color:#c1b7b7;flex-direction:column;gap:5px;margin-top:12px;font-size:.85rem;display:flex}.effect-editor input:not([type=checkbox]),.effect-editor select,.effect-editor textarea{width:100%;min-height:44px;font-size:16px}.effect-editor textarea{resize:vertical;min-height:80px}.effect-editor .effect-checkbox{flex-direction:row;align-items:center;gap:10px;min-height:44px}.effect-checkbox input{accent-color:#f2615f;width:22px;height:22px}.effect-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.effect-note{color:#b7aaaa;font-size:.8rem;line-height:1.4}.effect-delete{color:#ff8b87;border:1px solid #69403f;border-radius:12px;width:100%;min-height:44px;margin-top:20px}.effect-error{color:#ff8b87}.effect-delete-confirm{border:1px solid #69403f;border-radius:12px;margin-top:12px;padding:12px}.effect-delete-confirm button{margin-right:6px}.effect-item{padding:3px 8px}.effect-name{flex-direction:row;justify-content:flex-start;align-items:center;gap:8px}.effect-name .effect-title-text{color:#f7f4f4;font-size:.88rem;font-weight:800}.effect-name .effect-expand-icon{color:#f58784;margin-left:auto;font-size:1rem}.effect-toggle{min-height:24px;padding:0 10px;font-size:.75rem}.effect-expanded-content{border-top:1px solid #422123;padding:4px 0 7px}.effect-edit-button{color:#f58784;border:1px solid #69403f;border-radius:10px;width:100%;min-height:24px;margin-top:5px;font-size:.8rem}.effect-editor{padding-left:10px;padding-right:10px}.effect-editor-header{gap:5px;padding:6px 0}.effect-editor-header h2{font-size:1.05rem}.effect-editor-header button{padding:0 10px;font-size:.75rem}.effect-editor>label{margin-top:7px}.effect-editor-group{background:#1a090a;border:1px solid #422123;border-radius:12px;margin-top:7px;padding:0 10px}.effect-editor-group>summary{cursor:pointer;touch-action:manipulation;justify-content:space-between;align-items:center;min-height:48px;font-size:.85rem;font-weight:750;list-style:none;display:flex}.effect-editor-group>summary::-webkit-details-marker{display:none}.effect-editor-group>summary:after{content:"+";color:#f58784;font-size:1.1rem}.effect-editor-group[open]>summary:after{content:"-"}.effect-editor-group[open]{padding-bottom:9px}.effect-editor-group label{color:#c1b7b7;flex-direction:column;gap:4px;margin-top:5px;font-size:.8rem;display:flex}.effect-editor-group .effect-checkbox{flex-direction:row}.effect-field-grid{gap:7px}.effect-field-grid label{margin-top:5px}.effect-note{margin:2px 0 7px;font-size:.75rem}.effect-editor textarea{min-height:64px}.effect-delete{margin-top:10px}.inventory-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.inventory-header h1{margin:2px 0;font-size:1.8rem;line-height:1.1}.inventory-header button{padding:0 10px;font-size:.8rem}.inventory-wallet,.inventory-list-panel{padding:9px}.inventory-wallet-total{justify-content:space-between;align-items:center;gap:10px;padding-bottom:6px;display:flex}.inventory-wallet-total strong{color:#ff827e;overflow-wrap:anywhere;text-align:right;font-size:1.05rem}.inventory-wallet-total small{color:#b7aaaa;font-size:.7rem;font-weight:400}.inventory-coins{display:grid}.inventory-coin-row{border-top:1px solid #422123;justify-content:space-between;align-items:center;gap:8px;min-height:46px;display:flex}.inventory-coin-row>span{font-size:.85rem;font-weight:700}.inventory-coin-row small{color:#b7aaaa;margin-left:7px;font-size:.65rem}.inventory-stepper{align-items:center;gap:3px;display:flex}.inventory-stepper button{border-radius:10px;min-width:24px;min-height:24px;padding:0 5px;font-size:.85rem;font-weight:750}.inventory-stepper button:first-child,.inventory-stepper button:last-child{color:#f58784;background:#321416}.inventory-coin-value{overflow-wrap:anywhere;max-width:130px}.inventory-wallet-actions{gap:7px;margin-top:7px;display:flex}.inventory-wallet-actions button{flex:1;min-height:44px;padding:0 8px;font-size:.8rem}.inventory-list-panel h2 small{color:#b7aaaa;font-size:.75rem}.inventory-group-heading{color:#b7aaaa;letter-spacing:.08em;text-transform:uppercase;margin:8px 0 5px;font-size:.7rem}.inventory-list{gap:4px;display:grid}.inventory-item{background:#1a090a;border:1px solid #422123;border-radius:10px;padding:0 7px}.inventory-equipped{border-color:#92504e}.inventory-item-top{align-items:center;gap:3px;display:flex}.inventory-item-name{text-align:left;flex:1;justify-content:space-between;align-items:center;gap:6px;min-width:0;min-height:44px;padding:0;font-size:.88rem;font-weight:750;display:flex}.inventory-item-name>span:first-child{overflow-wrap:anywhere}.inventory-chevron{color:#f58784}.inventory-quantity-value{color:#d8cece;min-width:44px;min-height:44px;padding:0 4px;font-size:.8rem}.inventory-quick-remove{color:#f58784;min-width:44px;min-height:44px;padding:0;font-size:1.1rem}.inventory-item-content{border-top:1px solid #422123;padding:4px 0}.inventory-meta{color:#b7aaaa;flex-wrap:wrap;gap:5px 10px;font-size:.75rem;display:flex}.inventory-item-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px;display:flex}.inventory-equip-control{color:#c1b7b7;flex-direction:row;align-items:center;gap:7px;min-height:44px;font-size:.8rem;display:flex}.inventory-equip-control input{accent-color:#f2615f;width:10px;height:10px}.inventory-description,.inventory-notes p{color:#c1b7b7;white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0;font-size:.85rem;line-height:1.4}.inventory-notes summary{color:#f58784;cursor:pointer;align-items:center;min-height:44px;font-size:.8rem;display:flex}.inventory-item-footer{justify-content:flex-end;gap:5px;display:flex}.inventory-item-footer button{color:#f58784;min-height:44px;padding:0 9px;font-size:.75rem}.inventory-undo{z-index:90;left:10px;right:10px;bottom:calc(74px + env(safe-area-inset-bottom));background:#321416;border:1px solid #92504e;border-radius:12px;align-items:center;gap:6px;max-width:650px;margin:auto;padding:4px 10px;display:flex;position:fixed}.inventory-undo span{overflow-wrap:anywhere;flex:1;font-size:.8rem}.inventory-undo button{color:#ff827e;min-height:44px;padding:0 6px;font-size:.75rem;font-weight:750}.inventory-editor-layer,.inventory-modal-layer{z-index:110;overscroll-behavior:contain;background:#080505;position:fixed;inset:0;overflow-y:auto}.inventory-editor,.inventory-modal{width:100%;max-width:680px;padding:calc(10px + env(safe-area-inset-top)) 10px calc(24px + env(safe-area-inset-bottom));margin:auto}.inventory-modal{max-width:500px}.inventory-editor-header{z-index:1;background:#080505;align-items:center;gap:5px;padding:6px 0;display:flex;position:sticky;top:0}.inventory-editor-header h2{flex:1;margin:0;font-size:1.1rem}.inventory-editor-header button{min-height:44px;padding:0 10px;font-size:.75rem}.inventory-editor label:not(.inventory-equip-control),.inventory-modal label{color:#c1b7b7;flex-direction:column;gap:4px;margin-top:7px;font-size:.8rem;display:flex}.inventory-editor input:not([type=checkbox]),.inventory-editor select,.inventory-editor textarea,.inventory-modal input,.inventory-modal select{width:100%;min-height:44px;font-size:16px}.inventory-editor textarea{resize:vertical;min-height:64px}.inventory-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.inventory-editor-group{background:#1a090a;border:1px solid #422123;border-radius:10px;margin-top:7px;padding:0 8px}.inventory-editor-group>summary{cursor:pointer;touch-action:manipulation;justify-content:space-between;align-items:center;min-height:44px;font-size:.8rem;font-weight:750;list-style:none;display:flex}.inventory-editor-group>summary::-webkit-details-marker{display:none}.inventory-editor-group>summary:after{content:"+";color:#f58784}.inventory-editor-group[open]>summary:after{content:"-"}.inventory-editor-group[open]{padding-bottom:7px}.inventory-note{color:#b7aaaa;font-size:.8rem;line-height:1.4}.inventory-exchange-preview{color:#ff827e;font-size:.9rem;line-height:1.5}.inventory-save{margin-top:10px}.inventory-error{color:#ff8b87;font-size:.85rem}.inventory-delete{color:#ff8b87;border:1px solid #69403f;border-radius:11px;width:100%;min-height:44px;margin-top:10px;font-size:.8rem}.inventory-delete-confirm{border:1px solid #69403f;border-radius:12px;margin-top:10px;padding:10px}.inventory-delete-confirm button{margin-right:6px}.inventory-wallet{padding:7px 9px}.inventory-wallet-total{padding-bottom:3px}.inventory-wallet-total h2{font-size:1rem}.inventory-coin-row{min-height:36px}.inventory-coin-row>span{font-size:.8rem}.inventory-coins .inventory-stepper button{border-radius:8px;min-width:34px;min-height:34px;padding:0 5px;font-size:.8rem}.inventory-wallet>.inventory-wallet-actions{justify-content:flex-end;gap:6px;margin-top:5px}.inventory-wallet>.inventory-wallet-actions button{border-radius:8px;flex:0 auto;min-height:30px;padding:0 9px;font-size:.72rem}.inventory-item-top{gap:3px;min-height:36px}.inventory-name-and-count{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.inventory-name-text{overflow-wrap:anywhere;min-width:0;font-size:.85rem;font-weight:750}.inventory-quantity-value{color:#ffaaa6;white-space:nowrap;flex-shrink:0;min-width:0;min-height:34px;padding:0 3px;font-size:.78rem}.inventory-row-edit{color:#f58784;border:1px solid #69403f;border-radius:7px;min-height:30px;padding:0 6px;font-size:.72rem}.inventory-row-expand{color:#f58784;min-width:28px;min-height:34px;padding:0 4px;font-size:1rem}.inventory-quick-remove{color:#ffaaa6;border:1px solid #69403f;border-radius:7px;min-width:0;min-height:30px;padding:0 6px;font-size:.7rem}.inventory-item-top button:active{background:#321416}@media (width<=360px){.inventory-item{padding:0 5px}.inventory-name-text{font-size:.8rem}.inventory-row-edit,.inventory-quick-remove{padding:0 4px}}.inventory-list-panel>.section-heading{margin-bottom:3px}.inventory-add-button{color:#190506;background:#f2615f;border-radius:8px;flex:0 0 28px;place-items:center;width:28px;height:28px;padding:0;font-size:1.15rem;font-weight:800;display:grid}.inventory-add-button:active{background:#ff827e}.inventory-item-name{min-height:34px;font-size:.85rem}.inventory-inline-count{color:#ffaaa6;white-space:nowrap;font-size:.78rem;font-weight:400}.inventory-item-footer{margin-top:3px}.inventory-item-footer .inventory-row-edit{min-height:26px;padding:0 8px;font-size:.72rem}.inventory-notifications{z-index:90;left:10px;right:10px;bottom:calc(74px + env(safe-area-inset-bottom));gap:5px;max-width:650px;margin:auto;display:grid;position:fixed}.inventory-notifications .inventory-undo{width:100%;margin:0;position:static}.spells-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.spells-header h1{margin:2px 0;font-size:1.8rem;line-height:1.1}.spells-small-button{color:#f58784;border:1px solid #69403f;border-radius:8px;min-height:30px;padding:0 9px;font-size:.75rem}.spells-summary,.spells-list-panel{padding:9px}.spells-stats{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.spells-stats>div{flex-direction:column;gap:3px;display:flex}.spells-stats span{color:#b7aaaa;text-transform:capitalize;font-size:.7rem}.spells-stats strong{color:#ff827e;font-size:1.2rem}.spells-slot-details{border-top:1px solid #422123;margin-top:7px}.spells-slot-details>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:34px;font-size:.8rem;display:flex}.spells-slot-details>summary span{color:#b7aaaa;font-size:.72rem}.spells-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.spells-slot-row{border:1px solid #422123;border-radius:8px;justify-content:space-between;align-items:center;gap:3px;padding:0 5px;display:flex}.spells-slot-row span{font-size:.7rem}.spells-slot-row strong{font-size:.75rem}.spells-slot-row button{color:#f58784;min-width:28px;min-height:34px}.spells-concentration{border-top:1px solid #92504e;justify-content:space-between;align-items:center;gap:7px;margin-top:6px;font-size:.8rem;display:flex}.spells-concentration button{color:#f58784;min-height:34px;padding:0 8px}.spells-add-button{color:#190506;background:#f2615f;border-radius:8px;flex:0 0 28px;place-items:center;width:28px;height:28px;padding:0;font-size:1.15rem;font-weight:800;display:grid}.spells-list-panel .section-heading{margin-bottom:5px}.spells-list-panel h2 small{color:#b7aaaa;font-size:.75rem}.spells-filter{align-items:center;gap:7px;display:flex}.spells-filter>input{width:100%;min-width:0;min-height:34px;padding:4px 8px;font-size:16px}.spells-filter label,.spell-footer label{align-items:center;gap:5px;font-size:.75rem;display:flex}.spells-filter input[type=checkbox],.spell-footer input{accent-color:#f2615f;width:18px;height:18px}.spells-level-heading{color:#b7aaaa;text-transform:uppercase;letter-spacing:.08em;margin:9px 0 4px;font-size:.7rem}.spells-list{gap:4px;display:grid}.spell-item{background:#1a090a;border:1px solid #422123;border-radius:10px;padding:0 7px}.spell-top{align-items:center;gap:5px;display:flex}.spell-name{text-align:left;overflow-wrap:anywhere;flex:1;justify-content:space-between;align-items:center;gap:6px;min-width:0;min-height:34px;padding:0;font-size:.85rem;font-weight:750;display:flex}.spell-name small{color:#ffaaa6;font-size:.65rem}.spell-name>span:last-child{color:#f58784}.spell-cast{color:#f58784;border:1px solid #69403f;border-radius:7px;min-height:28px;padding:0 8px;font-size:.75rem}.spell-content{border-top:1px solid #422123;padding:4px 0}.spell-meta{color:#b7aaaa;flex-wrap:wrap;gap:4px 9px;font-size:.75rem;display:flex}.spell-roll{color:#ff827e;margin:5px 0;font-size:.85rem}.spell-description,.spell-notes p{color:#c1b7b7;white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0;font-size:.85rem;line-height:1.4}.spell-notes summary{color:#f58784;cursor:pointer;align-items:center;min-height:30px;font-size:.75rem;display:flex}.spell-footer{justify-content:space-between;align-items:center;gap:7px;display:flex}.spell-footer button{color:#f58784;min-height:28px;padding:0 8px;font-size:.75rem}.spells-editor-layer{z-index:110;overscroll-behavior:contain;background:#080505;position:fixed;inset:0;overflow-y:auto}.spells-editor{max-width:680px;padding:calc(10px + env(safe-area-inset-top)) 10px calc(24px + env(safe-area-inset-bottom));margin:auto}.spells-editor-header{z-index:1;background:#080505;align-items:center;gap:5px;padding:6px 0;display:flex;position:sticky;top:0}.spells-editor-header h2{flex:1;margin:0;font-size:1.1rem}.spells-editor-header button{min-height:34px;padding:0 10px;font-size:.75rem}.spells-editor label{color:#c1b7b7;flex-direction:column;gap:4px;margin-top:7px;font-size:.8rem;display:flex}.spells-editor input:not([type=checkbox]),.spells-editor select,.spells-editor textarea{width:100%;min-height:40px;font-size:16px}.spells-editor textarea{resize:vertical;min-height:64px}.spells-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.spells-editor .spells-checkbox{flex-direction:row;align-items:center;gap:7px;min-height:34px}.spells-checkbox input{accent-color:#f2615f;width:20px;height:20px}.spells-editor-group{background:#1a090a;border:1px solid #422123;border-radius:10px;margin-top:7px;padding:0 8px}.spells-editor-group>summary{cursor:pointer;touch-action:manipulation;justify-content:space-between;align-items:center;min-height:34px;font-size:.8rem;font-weight:750;list-style:none;display:flex}.spells-editor-group>summary::-webkit-details-marker{display:none}.spells-editor-group>summary:after{content:"+";color:#f58784}.spells-editor-group[open]>summary:after{content:"-"}.spells-editor-group[open]{padding-bottom:7px}.spells-note{color:#b7aaaa;font-size:.8rem;line-height:1.4}.spells-error{color:#ff8b87;font-size:.85rem}.spells-slot-settings>div{grid-template-columns:40px 1fr 1fr;align-items:center;gap:7px;margin-top:4px;display:grid}.spells-slot-settings-heading{color:#b7aaaa;font-size:.7rem}.spells-slot-settings input{text-align:center}.spells-slot-settings+button{margin-top:7px}.spells-delete{color:#ff8b87;border:1px solid #69403f;border-radius:10px;width:100%;min-height:34px;margin-top:10px;font-size:.8rem}.spells-delete-confirm{border:1px solid #69403f;border-radius:12px;margin-top:10px;padding:10px}.spells-delete-confirm button{margin-right:6px}.spells-cast-confirm{min-height:40px;margin-top:10px}.spells-notice{z-index:90;left:10px;right:10px;bottom:calc(74px + env(safe-area-inset-bottom));background:#321416;border:1px solid #92504e;border-radius:12px;align-items:center;gap:6px;max-width:650px;margin:auto;padding:4px 10px;display:flex;position:fixed}.spells-notice span{overflow-wrap:anywhere;flex:1;font-size:.8rem}.spells-notice button{color:#ff827e;min-height:34px;padding:0 6px;font-size:.75rem}.pwa-install-access{z-index:45;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));color:#f58784;background:#211011;border:1px solid #69403f;border-radius:8px;min-height:28px;padding:0 8px;font-size:.7rem;position:fixed}.pwa-notice{z-index:130;top:calc(8px + env(safe-area-inset-top));background:#211011;border:1px solid #92504e;border-radius:12px;align-items:center;gap:7px;max-width:650px;margin:auto;padding:6px 10px;display:flex;position:fixed;left:10px;right:10px}.pwa-notice span{flex:1;font-size:.8rem}.pwa-notice button,.pwa-help button{color:#ffaaa6;border:1px solid #69403f;border-radius:8px;min-height:32px;padding:0 9px;font-size:.75rem}.pwa-help-layer{z-index:140;background:#000000d9;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.pwa-help{background:#211011;border:1px solid #69403f;border-radius:16px;width:100%;max-width:500px;max-height:85dvh;padding:16px;overflow-y:auto}.pwa-help h2{margin:0 0 10px;font-size:1.2rem}.pwa-help p{color:#c1b7b7;font-size:.85rem;line-height:1.45}
