html{box-sizing:border-box;width:100%}*,*:before,*:after{box-sizing:inherit}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-height:100vh;width:100%}#root{width:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.mobile-page-layout{display:flex;flex-direction:column;height:100vh;background:#181a20;color:#fff;font-family:Inter,Arial,sans-serif}.mpl-header{position:fixed;top:0;left:0;right:0;height:56px;background:#23272f;display:flex;align-items:center;justify-content:center;z-index:10;box-shadow:0 2px 6px #0003}.mpl-back{position:absolute;left:16px;background:none;border:none;color:#ffeb3b;font-size:1.5rem;cursor:pointer;height:100%;padding:0 8px;display:flex;align-items:center}.mpl-right-action{position:absolute;right:16px;background:none;border:none;color:#ffeb3b;font-size:1.3rem;cursor:pointer;height:100%;padding:0 8px;display:flex;align-items:center;opacity:.8;transition:opacity .2s}.mpl-right-action:hover{opacity:1}.mpl-title{font-size:1.2rem;font-weight:600;letter-spacing:.02em;text-align:center}.mpl-content{flex:1 1 0;margin-top:56px;overflow:hidden;padding:20px 12px 0;width:100%;display:flex;flex-direction:column;min-height:0}.swipeable-tabs{margin-top:24px;flex:1;display:flex;flex-direction:column;min-height:0}.tabs-indicators{display:flex;justify-content:center;gap:8px;flex-shrink:0;margin-bottom:16px}.tab-dot{width:8px;height:8px;border-radius:50%;background:#444;transition:background .2s,transform .2s}.tab-dot.active{background:#ffeb3b;transform:scale(1.2)}.tabs-viewport{flex:1;overflow:hidden;touch-action:pan-y;min-height:0}.tabs-slider{display:flex;transition:transform .3s ease-out;height:100%}.tabs-slider.swiping{transition:none}.tab-panel{flex-shrink:0;height:100%;overflow-y:auto;padding-bottom:24px;scrollbar-width:none;-ms-overflow-style:none}.tab-panel::-webkit-scrollbar{display:none}.custom-dialog-backdrop{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:999}.custom-dialog{background:#23272f;color:#f1f1f1;border-radius:8px;min-width:300px;max-width:90vw;box-shadow:0 4px 24px #000000a6;padding:24px;position:relative}.custom-dialog-title{margin-bottom:12px;font-size:1.25rem;font-weight:700;color:#ffeb3b;text-align:left}.custom-dialog-content{margin-bottom:16px}.custom-dialog-close{position:absolute;top:12px;right:12px;background:#23272f;color:#f1f1f1;border:1px solid #3c3c43;border-radius:4px;padding:4px 8px;cursor:pointer;transition:background .2s}.custom-dialog-close:hover{background:#343948}.cdp-top{display:flex;background:#23272f;padding:16px;border-radius:12px;gap:16px;flex-shrink:0}.cdp-info-section{flex:1;display:flex;flex-direction:column;justify-content:center}.cdp-name-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.cdp-name{font-size:18px;font-weight:700;color:#fff}.cdp-edit-btn{background:none;border:none;padding:4px;cursor:pointer;font-size:14px;opacity:.6;transition:opacity .2s}.cdp-edit-btn:hover{opacity:1}.cdp-race-class{font-size:14px;color:#aaa;margin-bottom:8px}.cdp-armor-row{display:flex;align-items:center;gap:8px;cursor:pointer;transition:opacity .2s}.cdp-armor-row:hover{opacity:.8}.cdp-armor-class{font-size:16px;font-weight:600;color:#ffeb3b}.cdp-armor-name{font-size:14px;color:#aaa}.armor-dialog-description{font-size:14px;color:#ccc;line-height:1.6;margin:0}.cdp-hp-section-wrapper{flex:1}.rename-dialog-content{display:flex;flex-direction:column;gap:16px;padding:8px 0}.rename-input{width:100%;padding:12px;font-size:16px;border:1px solid #444;border-radius:8px;background:#2a2f38;color:#fff;outline:none;box-sizing:border-box}.rename-input:focus{border-color:#ffeb3b}.rename-save-btn{padding:12px;font-size:16px;font-weight:600;background:#ffeb3b;color:#000;border:none;border-radius:8px;cursor:pointer}.rename-save-btn:hover{background:#ffe100}.skills-title{margin:0 0 12px;font-size:18px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.skill-item{background:#23272f;border-radius:8px;padding:12px;text-align:center;cursor:pointer;transition:background .2s}.skill-item:hover{background:#2a2f38}.skill-name{font-size:14px;color:#aaa;margin-bottom:4px}.skill-modifier{font-size:20px;font-weight:700;color:#fff}.skill-dialog-content{text-align:center;padding:8px 0}.skill-dialog-modifier{font-size:32px;font-weight:700;color:#ffeb3b;margin-bottom:16px}.skill-dialog-description{font-size:14px;color:#ccc;line-height:1.6;margin:0}.abilities-section{margin-top:24px}.abilities-title{margin:0 0 12px;font-size:18px}.ability-item{background:#23272f;border-radius:8px;padding:16px;margin-bottom:12px}.ability-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.ability-name-row{display:flex;flex-direction:column;gap:4px}.ability-name{font-size:16px;font-weight:600;color:#fff}.ability-reset-type{font-size:12px;color:#888}.ability-uses{font-size:14px;color:#ffeb3b;font-weight:600}.ability-description{font-size:14px;color:#aaa;line-height:1.5;margin:0 0 12px}.ability-actions{display:flex;gap:8px}.ability-use-btn{flex:1;padding:10px;font-size:14px;font-weight:600;background:#4caf50;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.ability-use-btn:hover:not(:disabled){background:#43a047}.ability-use-btn:disabled{background:#555;color:#888;cursor:not-allowed}.ability-reset-btn{padding:10px 16px;font-size:14px;font-weight:600;background:#ff9800;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.ability-reset-btn:hover{background:#f57c00}.inventory-section{margin-top:24px}.inventory-title{margin:0 0 12px;font-size:18px}.inventory-list{display:flex;flex-direction:column;gap:8px}.inventory-item{display:flex;align-items:center;justify-content:space-between;background:#23272f;border-radius:8px;padding:12px 16px;cursor:pointer;transition:background .2s,opacity .2s}.inventory-item:hover{background:#2a2f38}.inventory-item.exhausted{opacity:.5}.inventory-item.exhausted .item-name,.inventory-item.exhausted .item-quantity{color:#888}.item-info{display:flex;align-items:center;gap:12px}.item-name{font-size:15px;color:#fff}.item-quantity{font-size:14px;color:#ffeb3b;font-weight:600}.item-actions{display:flex;gap:8px}.item-use-btn,.item-refill-btn{background:#4a5568;border:none;border-radius:6px;color:#fff;padding:6px 12px;font-size:14px;cursor:pointer;transition:background .2s}.item-use-btn:hover:not(:disabled),.item-refill-btn:hover:not(:disabled){background:#5a6578}.item-use-btn:disabled,.item-refill-btn:disabled{background:#3a3f48;color:#666;cursor:not-allowed}.item-refill-btn{background:#2e7d32}.item-refill-btn:hover:not(:disabled){background:#388e3c}.item-dialog-description{font-size:14px;color:#ccc;line-height:1.6;margin:0}.armory-title{margin:0 0 12px;font-size:18px}.armory-list{display:flex;flex-direction:column;gap:8px}.weapon-item{display:flex;align-items:center;justify-content:space-between;background:#23272f;border-radius:8px;padding:12px 16px;cursor:pointer;transition:background .2s}.weapon-item:hover{background:#2a2f38}.weapon-info{display:flex;flex-direction:column;gap:4px}.weapon-name{font-size:15px;color:#fff}.weapon-type{font-size:12px;color:#888}.weapon-stats{display:flex;align-items:flex-start;gap:16px}.weapon-stat{display:flex;flex-direction:column;align-items:center;min-width:40px}.weapon-stat-label{font-size:11px;color:#888;margin-bottom:4px}.weapon-hit{font-size:16px;font-weight:600;color:#4fc3f7}.weapon-dice{font-size:16px;font-weight:600;color:#ba68c8}.weapon-damage{font-size:16px;font-weight:600;color:#ff8a65}.weapon-dialog-content{padding:8px 0}.weapon-dialog-stats{display:flex;justify-content:space-around;margin-bottom:16px}.weapon-dialog-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-label{font-size:12px;color:#888}.stat-value{font-size:18px;font-weight:600;color:#ffeb3b}.weapon-dialog-description{font-size:14px;color:#ccc;line-height:1.6;margin:0;text-align:center}.spells-section{margin-top:24px}.spells-title{margin:0 0 12px;font-size:18px}.spells-list{display:flex;flex-direction:column;gap:8px}.spell-item{display:flex;align-items:center;justify-content:space-between;background:#23272f;border-radius:8px;padding:12px 16px;cursor:pointer;transition:background .2s}.spell-item:hover{background:#2a2f38}.spell-info{display:flex;flex-direction:column;gap:4px}.spell-name{font-size:15px;color:#fff}.spell-type{font-size:12px;color:#888}.spell-stats{display:flex;align-items:flex-start;gap:16px}.spell-stat{display:flex;flex-direction:column;align-items:center;min-width:40px}.spell-stat-label{font-size:11px;color:#888;margin-bottom:4px}.spell-hit{font-size:16px;font-weight:600;color:#4fc3f7}.spell-dice{font-size:16px;font-weight:600;color:#ce93d8}.spell-heal{font-size:16px;font-weight:600;color:#81c784}.spell-dialog-content{padding:8px 0}.spell-dialog-stats{display:flex;justify-content:space-around;margin-bottom:16px}.spell-dialog-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.spell-dialog-stat .stat-label{font-size:12px;color:#888}.spell-dialog-stat .stat-value{font-size:18px;font-weight:600;color:#ffeb3b}.spell-dialog-description{font-size:14px;color:#ccc;line-height:1.6;margin:0;text-align:center}
