.custom-select{position:relative;width:100%}.custom-select-label{display:block;margin-bottom:8px;color:var(--text-secondary);font-weight:500;font-size:1rem}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:40px;padding:0 14px;background:var(--bg-darker);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:16px;cursor:pointer;transition:all .3s;-webkit-user-select:none;user-select:none}.custom-select-trigger:hover:not(.custom-select.disabled .custom-select-trigger){border-color:var(--primary-color)}.custom-select-trigger:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8b5cf61a;background:#8b5cf605}.custom-select.open .custom-select-trigger{border-color:var(--primary-color);border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:0 0 0 3px #8b5cf61a}.custom-select.disabled .custom-select-trigger{opacity:.5;cursor:not-allowed}.custom-select-value{flex:1;text-align:left}.custom-select-arrow{display:inline-block;margin-left:8px;font-size:10px;color:var(--text-secondary);transition:transform .3s ease}.custom-select-arrow.open{transform:rotate(180deg)}.custom-select-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;max-height:250px;overflow-y:auto;background:var(--bg-darker);border:2px solid var(--primary-color);border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;box-shadow:0 4px 12px #0000004d;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.custom-select-dropdown::-webkit-scrollbar{width:8px}.custom-select-dropdown::-webkit-scrollbar-track{background:var(--bg-dark);border-bottom-right-radius:8px}.custom-select-dropdown::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.custom-select-dropdown::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.custom-select-option{padding:12px 14px;color:var(--text-primary);cursor:pointer;transition:all .15s ease}.custom-select-option:hover,.custom-select-option.highlighted{background:#8b5cf626;color:var(--text-primary)}.custom-select-option.selected{background:#8b5cf633;color:var(--primary-color);font-weight:600}.custom-select-option.selected:after{content:" ✓";float:right;color:var(--primary-color)}.custom-select-option:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.custom-select-trigger:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (max-width: 768px){.custom-select-dropdown{max-height:200px}.custom-select-option{padding:14px;font-size:16px}}.dice-roll{background:#0000004d;border-radius:1rem;padding:1rem;margin:1rem 0;border:2px solid rgba(255,255,255,.1);animation:slideIn .3s ease-out}.dice-roll.success{border-color:#4caf5080;background:#4caf501a}.dice-roll.failure{border-color:#ef444480;background:#ef44441a}.dice-roll.pending{border-color:#ffc10780;background:#ffc1071a}.dice-roll.pending .dice-face{background:linear-gradient(145deg,#fff3cd,#ffc107);animation:pendingPulse 2s ease-in-out infinite}.dice-roll.pending.is-rolling{border-color:#ffc107d9;background:#ffc1072e}.dice-roll.pending .dice-number{font-size:2.5rem;font-weight:900;color:#856404}.dice-roll-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.dice-icon{font-size:2rem;animation:bounce .5s ease-in-out}.dice-roll-info{flex:1}.skill-check-label{font-weight:700;font-size:1rem;color:#ffffffe6;text-transform:uppercase;letter-spacing:.05em}.skill-check-purpose{font-size:.875rem;color:#ffffffb3;font-style:italic}.dice-roll-result{display:flex;flex-direction:column;align-items:center;gap:1rem}.dice{width:80px;height:80px;perspective:600px;transition:transform .2s ease}.dice.rolling{animation:diceWobble .35s ease-in-out infinite}.dice.rolling .dice-face{background:linear-gradient(145deg,#fff8e1,#ffd54f)!important;animation:diceGlow .25s ease-in-out infinite alternate;border:2px solid rgba(255,193,7,.7)}.dice.rolling .dice-number{animation:numberFlicker .09s linear infinite;color:#6d4c00!important}.dice.landing .dice-face{animation:diceLand .45s cubic-bezier(.36,.07,.19,.97) both}.dice-face{width:100%;height:100%;background:linear-gradient(145deg,#fff,#e0e0e0);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 8px #0000004d;transform-style:preserve-3d}.dice-number{font-size:2.5rem;font-weight:900;color:#333;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.dice-calculation{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:#ffffffe6;animation:fadeIn .3s ease-in}.roll-value{color:#2196f3;font-size:1.5rem}.modifier{color:#ff9800}.equals{color:#ffffff80}.total{color:#4caf50;font-size:1.5rem}.vs{color:#ffffff80;font-size:.875rem}.difficulty{color:#f44336;font-size:1.25rem}.result-badge{margin-top:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-weight:700;font-size:1rem;text-align:center;animation:fadeIn .3s ease-in .2s both}.result-badge.success{background:#4caf5033;color:#4caf50;border:2px solid rgba(76,175,80,.5)}.result-badge.failure{background:#ef444433;color:#ef4444;border:2px solid rgba(239,68,68,.5)}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes diceWobble{0%{transform:rotate(0) scale(1) translate(0)}10%{transform:rotate(-12deg) scale(1.06) translate(-2px,-4px)}20%{transform:rotate(9deg) scale(.93) translate(3px,1px)}30%{transform:rotate(-11deg) scale(1.06) translate(-3px,3px)}40%{transform:rotate(14deg) scale(.92) translate(2px,-4px)}50%{transform:rotate(-9deg) scale(1.07) translate(-4px,1px)}60%{transform:rotate(12deg) scale(.93) translate(3px,3px)}70%{transform:rotate(-13deg) scale(1.05) translate(-1px,-3px)}80%{transform:rotate(8deg) scale(.95) translate(4px,1px)}90%{transform:rotate(-10deg) scale(1.05) translate(-2px,3px)}to{transform:rotate(0) scale(1) translate(0)}}@keyframes diceGlow{0%{box-shadow:0 4px 8px #0000004d,0 0 10px #ffc10759}to{box-shadow:0 8px 22px #00000080,0 0 32px #ffc107e6}}@keyframes numberFlicker{0%,to{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.82);filter:blur(1px)}}@keyframes diceLand{0%{transform:scale(1.2) rotate(-4deg)}25%{transform:scale(.88) rotate(2deg)}50%{transform:scale(1.1) rotate(-1.5deg)}75%{transform:scale(.96) rotate(.5deg)}to{transform:scale(1) rotate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pendingPulse{0%,to{box-shadow:0 4px 8px #0000004d;transform:scale(1)}50%{box-shadow:0 4px 16px #ffc10766;transform:scale(1.05)}}.trade-card{background:#0000004d;border-radius:1rem;padding:1rem;margin:1rem 0;border:2px solid rgba(200,160,80,.45);background:#64461426;animation:slideIn .3s ease-out}.trade-card__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.trade-card__shop-icon{font-size:1.6rem;line-height:1}.trade-card__title{font-weight:700;font-size:1rem;color:#ffdc8cf2;text-transform:uppercase;letter-spacing:.05em}.trade-card__body{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-areas:"name desc stats" "price price price";gap:.75rem 1rem;align-items:center}.trade-card__col--name{grid-area:name}.trade-card__col--desc{grid-area:desc}.trade-card__col--stats{grid-area:stats}.trade-card__col-empty{color:#ffdc8c40;font-size:.85rem}.trade-card__item-row{display:flex;align-items:center;gap:.75rem}.trade-card__item-icon{font-size:2.2rem;line-height:1;flex-shrink:0}.trade-card__item-info{flex:1;min-width:0}.trade-card__item-name{font-size:1.05rem;font-weight:700;color:#ffe8b0;word-break:break-word}.trade-card__item-type{font-size:.72rem;color:#ffdc8c80;margin-top:2px;text-transform:uppercase;letter-spacing:.06em}.trade-card__price-badge{grid-area:price;display:flex;align-items:center;gap:4px;width:100%;justify-content:center;background:#b4821433;border:1.5px solid rgba(220,170,40,.45);border-radius:.6rem;padding:.4rem .75rem}.trade-card__price-badge--btn{cursor:pointer;border:1.5px solid rgba(220,170,40,.45);transition:background .15s,transform .1s,border-color .15s}.trade-card__buy-label{font-size:.72rem;font-weight:700;color:#ffd250d9;text-transform:uppercase;letter-spacing:.08em;margin-right:4px;border-right:1px solid rgba(255,210,80,.2);padding-right:6px}.trade-card__price-badge--btn:hover{background:#c8961459;border-color:#ffd23cbf;transform:translateY(-1px)}.trade-card__price-badge--btn:active{transform:translateY(0)}.trade-card__price-coin{font-size:1rem;line-height:1}.trade-card__price-value{font-size:1rem;font-weight:800;color:gold;letter-spacing:.01em}.trade-card__price-unit{font-size:.85rem;font-weight:600;color:#ffd250bf;margin-left:1px}.trade-card__price-orig{font-size:.75rem;color:#c8a03c80;text-decoration:line-through;margin-left:4px}.trade-card__purpose{font-size:.82rem;color:#ffe6aab3;font-style:italic}.trade-card__bonus-tag{background:#503c148c;border:1px solid rgba(200,160,60,.4);border-radius:6px;padding:2px 8px;font-size:.75rem;color:#ffe090;font-weight:600}.trade-action-panel{display:flex;flex-direction:column;gap:8px;width:100%}.trade-action-panel__buttons{display:flex;gap:8px}.btn-trade-accept{flex:1;padding:10px 0;background:linear-gradient(135deg,#3c8c3cbf,#286428bf);border:1px solid rgba(100,200,100,.5);border-radius:10px;color:#b0ffb0;font-size:.95rem;font-weight:700;cursor:pointer;letter-spacing:.03em;transition:background .15s,transform .1s}.btn-trade-accept:hover:not(:disabled){background:linear-gradient(135deg,#46aa46e6,#327832e6);transform:translateY(-1px)}.btn-trade-accept:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-trade-cant-afford{font-size:.75rem;font-weight:400;opacity:.8}.btn-trade-decline{flex:1;padding:10px 0;background:#32141499;border:1px solid rgba(200,80,80,.35);border-radius:10px;color:#ff9696d9;font-size:.95rem;font-weight:700;cursor:pointer;letter-spacing:.03em;transition:background .15s,transform .1s}.btn-trade-decline:hover:not(:disabled){background:#5a1e1ebf;transform:translateY(-1px)}.btn-trade-decline:disabled{opacity:.4;cursor:not-allowed;transform:none}@media (max-width: 600px){.trade-card{padding:.75rem}.trade-card__body{grid-template-columns:1fr;grid-template-areas:"name" "desc" "stats" "price"}.trade-card__item-icon{font-size:1.6rem}.trade-card__item-name{font-size:.9rem}.trade-action-panel__buttons{flex-direction:column}.btn-trade-accept,.btn-trade-decline{padding:12px 0}}.trade-card{background:#1e1432d9;border:1px solid rgba(150,100,255,.35);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.trade-card__header{display:flex;align-items:center;gap:10px}.trade-card__icon{font-size:2rem;line-height:1;flex-shrink:0}.trade-card__info{flex:1;min-width:0}.trade-card__name{font-size:1rem;font-weight:600;color:#e8d8ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trade-card__type{font-size:.75rem;color:#c8b4ff99;margin-top:2px}.trade-card__purpose{font-size:.82rem;color:#dcd2ffbf;font-style:italic}.trade-card__price{display:flex;align-items:baseline;gap:6px}.trade-card__price-amount{font-size:1.1rem;font-weight:700;color:gold}.trade-card__price-original{font-size:.8rem;color:#c8b4648c;text-decoration:line-through}.trade-card__price-discount{font-size:.78rem;color:#7dff7d;font-weight:600}.trade-card__bonuses{display:flex;flex-wrap:wrap;gap:6px}.trade-card__bonus-tag{background:#6450a066;border:1px solid rgba(140,110,220,.4);border-radius:6px;padding:2px 8px;font-size:.75rem;color:#c8b0ff}.trade-card__effect-tag{background:#143c508c;border-color:#3ca0c866;color:#90d8ff}.trade-card__actions{display:flex;gap:8px}.trade-card__btn-accept{flex:1;padding:8px 0;background:linear-gradient(135deg,#50a050b3,#327832b3);border:1px solid rgba(100,200,100,.5);border-radius:8px;color:#afffaf;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.trade-card__btn-accept:hover:not(:disabled){background:linear-gradient(135deg,#5ab45ad9,#3c8c3cd9);transform:translateY(-1px)}.trade-card__btn-accept:disabled{opacity:.45;cursor:not-allowed}.trade-card__btn-decline{flex:1;padding:8px 0;background:#3c1e1e99;border:1px solid rgba(200,80,80,.35);border-radius:8px;color:#ffa0a0d9;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.trade-card__btn-decline:hover:not(:disabled){background:#5a2828bf;transform:translateY(-1px)}.trade-card__btn-decline:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 600px){.trade-card{padding:12px}.trade-card__icon{font-size:1.7rem}.trade-card__name{font-size:.92rem}}.inventory{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:12px;padding:1rem;display:flex;flex-direction:column;flex:1;min-height:0}.inventory-header{display:flex;justify-content:space-between;align-items:center;height:65px;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.inventory-title{display:flex;align-items:center;gap:.5rem}.inventory-title-icon{font-size:1.4rem}.inventory-title-text{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.inventory-header--no-title{justify-content:flex-start}.gold-display{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem}.gold-icon{font-size:1.25rem}.gold-amount{font-weight:700;font-size:1.125rem;color:#ffc107}.inventory-list{overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;flex:1;min-height:0;padding-top:16px;margin-right:-1rem;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.25) transparent}.empty-inventory{text-align:center;padding:2rem;color:#ffffff80;font-style:italic}.inventory-item{display:flex;gap:1rem;padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;transition:all .2s ease}.inventory-item:hover{background:#ffffff14;border-color:#fff3}.inventory-item.equipped{background:#4caf501a;border-color:#4caf504d}.item-icon{font-size:2rem;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:#ffffff0d;border-radius:.5rem}.item-details{flex:1;display:flex;flex-direction:column;gap:.25rem}.item-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.item-name{font-weight:600;font-size:1rem;color:#ffffffe6}.item-quantity{color:#fff9;font-weight:400;font-size:.875rem}.equipped-badge{background:#4caf5033;color:#4caf50;padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.item-type{font-size:.875rem;color:#fff9;text-transform:capitalize}.item-description{font-size:.875rem;color:#ffffffb3;font-style:italic}.item-value{font-size:.8rem;color:gold;margin-top:.125rem}.item-bonuses{display:flex;gap:.5rem;margin-top:.25rem;flex-wrap:wrap}.bonus{background:#2196f333;color:#2196f3;padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.item-header-badges{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.equip-btn{background:#8b5cf633;color:#a78bfa;border:1px solid rgba(139,92,246,.4);padding:.125rem .5rem;border-radius:.25rem;font-size:.7rem;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.02em;transition:all .15s ease,opacity .15s ease;white-space:nowrap;opacity:0;pointer-events:none}.inventory-item:hover .equip-btn{opacity:1;pointer-events:auto}.equip-btn:hover{background:#8b5cf659;border-color:#8b5cf6b3;color:#c4b5fd}.equip-btn--unequip{background:#ef444426;color:#f87171;border-color:#ef444459}.equip-btn--unequip:hover{background:#ef444440;border-color:#ef444499;color:#fca5a5}.equipped-badge--interactive{position:relative;cursor:pointer;border:1px solid rgba(76,175,80,.4);background:#4caf5033;padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;overflow:hidden;transition:background .2s ease,border-color .2s ease;min-width:fit-content}.equipped-badge__label,.equipped-badge__unequip{display:block;white-space:nowrap;transition:opacity .2s ease,transform .2s ease;line-height:1.4}.equipped-badge__label{color:#4caf50}.equipped-badge__unequip{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:0;color:#f87171;transform:translateY(6px)}.inventory-item:hover .equipped-badge--interactive .equipped-badge__label{opacity:0;transform:translateY(-6px)}.inventory-item:hover .equipped-badge--interactive .equipped-badge__unequip{opacity:1;transform:translateY(0)}.inventory-item:hover .equipped-badge--interactive{background:#ef444426;border-color:#ef444459}.inventory-list::-webkit-scrollbar{width:8px}.inventory-list::-webkit-scrollbar-track{background:transparent;margin:4px 0}.inventory-list::-webkit-scrollbar-thumb{background:#8b5cf640;border-radius:4px;border:2px solid transparent;background-clip:padding-box;transition:all .3s ease}.inventory-list::-webkit-scrollbar-thumb:hover{background:#8b5cf666;background-clip:padding-box}.inventory-list::-webkit-scrollbar-thumb:active{background:#8b5cf680;background-clip:padding-box}.inventory-list{scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.25) transparent}.enemy-list{padding:1rem;background-color:#1e1e1e;border-radius:.5rem;border:2px solid #dc2626;flex:1;min-height:0;overflow-y:auto}.enemy-list h3{margin:0 0 1rem;color:#dc2626;font-size:1.2rem;text-transform:uppercase;letter-spacing:1px}.enemy-card{background-color:#2a2a2a;border:1px solid #dc2626;border-radius:.5rem;padding:.75rem;margin-bottom:.75rem}.enemy-card:last-child{margin-bottom:0}.enemy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.enemy-name{font-weight:700;color:#f5f5f5;font-size:1rem}.enemy-hp{color:#dc2626;font-weight:700;font-size:.9rem}.enemy-hp-bar{width:100%;height:.5rem;background-color:#404040;border-radius:.25rem;overflow:hidden;margin-bottom:.5rem}.enemy-hp-fill{height:100%;background:linear-gradient(90deg,#dc2626,#f87171);transition:width .3s ease}.enemy-description{margin:.5rem 0 0;color:#a0a0a0;font-size:.85rem;font-style:italic}.enemy-list-compact{padding:0;background:linear-gradient(180deg,#64000038,#0a0202e6);border-top:2px solid #dc2626;border-bottom:2px solid #dc2626;border-left:none;border-right:none;border-radius:0;min-height:auto}.enemy-compact-wrapper{position:relative;display:flex;align-items:stretch}.enemy-compact-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1}.enemy-compact-grid::-webkit-scrollbar{display:none}.enemy-compact-card{flex-shrink:0;width:100%;min-width:100%;scroll-snap-align:start;background:linear-gradient(135deg,#5005058c,#0f0303bf);border-left:3px solid #dc2626;border-top:none;border-right:none;border-bottom:none;border-radius:0;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.enemy-compact-card:active{background:linear-gradient(135deg,#780a0ab3,#190505e6)}.enemy-compact-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.enemy-compact-name{font-size:13px;font-weight:700;color:#f5f5f5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-shadow:0 0 8px rgba(220,38,38,.45)}.enemy-compact-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:8px}.enemy-compact-battle-icon{font-size:14px;opacity:.85;filter:drop-shadow(0 0 4px rgba(220,38,38,.6))}.enemy-compact-chevron{font-size:9px;color:#ef4444;transition:transform .25s ease;display:inline-block;line-height:1;opacity:.8}.enemy-compact-chevron.rotated{transform:rotate(180deg)}.enemy-compact-hp{display:flex;align-items:center;gap:8px}.enemy-compact-hp-bar{flex:1;height:5px;background:#320505e6;border-radius:3px;overflow:hidden}.enemy-compact-hp-fill{height:100%;background:linear-gradient(90deg,#dc2626,#f87171);transition:width .3s ease;box-shadow:0 0 5px #dc262699}.enemy-compact-hp-text{font-size:11px;color:#f87171;font-weight:700;white-space:nowrap}.enemy-compact-stats{margin-top:8px;padding-top:7px;border-top:1px solid rgba(220,38,38,.2);display:flex;flex-wrap:wrap;gap:5px}.enemy-stat{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.enemy-stat--atk{background:#dc26262e;color:#f87171;border:1px solid rgba(220,38,38,.4)}.enemy-stat--ac{background:#2563eb2e;color:#93c5fd;border:1px solid rgba(37,99,235,.35)}.enemy-stat--dice{background:#f59e0b2e;color:#fcd34d;border:1px solid rgba(245,158,11,.35)}.enemy-compact-desc{margin:5px 0 0;width:100%;font-size:11px;color:#9ca3af;font-style:italic;line-height:1.4}.enemy-compact-arrow{flex-shrink:0;width:28px;background:#0f0202bf;border:none;color:#dc2626;font-size:1.5rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s;z-index:1}.enemy-compact-arrow:hover{background:#dc26264d}.mobile-navigation{display:none;position:fixed;bottom:0;left:0;right:0;z-index:1000;background:var(--bg-dark);border-top:2px solid var(--border-color);padding:4px;justify-content:space-around;box-shadow:0 -4px 12px #0000004d;transition:border-top-color .3s ease}.mobile-navigation.in-combat{border-top-color:#dc262666}@media (max-width: 1024px){.mobile-navigation{display:flex}}.mobile-nav-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 16px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;position:relative;min-width:80px}.mobile-nav-tab:active{transform:scale(.95)}.mobile-nav-tab.active{background:#8b5cf626;color:var(--primary-color)}.mobile-nav-tab.active .mobile-nav-icon{transform:scale(1.2)}.mobile-nav-tab.combat-tab.active{background:#dc262626;color:#f87171}.mobile-nav-icon{font-size:18px;transition:transform .2s ease}.mobile-nav-label{font-size:10px;font-weight:600;text-transform:uppercase}.mobile-nav-badge{position:absolute;top:4px;right:12px;width:18px;height:18px;background:var(--danger);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.compact-hp-bar{display:none;position:fixed;top:0;left:0;right:0;background:#111827fa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 12px;border-bottom:1px solid var(--border-color);box-shadow:0 2px 10px #0000004d;z-index:999}@media (max-width: 1024px){.compact-hp-bar{display:flex;align-items:center;gap:8px;padding-right:38px}}.compact-hp-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:40%}.compact-hp-level{font-size:11px;font-weight:600;color:var(--primary-color);background:#8b5cf633;padding:2px 6px;border-radius:8px;white-space:nowrap;flex-shrink:0}.compact-hp-bar-container{position:relative;flex:1;height:20px;background:var(--bg-darker);border:1px solid var(--border-color);border-radius:10px;overflow:hidden;min-width:80px}.compact-hp-bar-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#10b981,#059669);transition:width .5s ease,background .3s ease}.compact-hp-bar-fill.low{background:linear-gradient(90deg,#f59e0b,#d97706)}.compact-hp-bar-fill.critical{background:linear-gradient(90deg,#ef4444,#dc2626);animation:criticalPulse 1s infinite}@keyframes criticalPulse{0%,to{opacity:1}50%{opacity:.7}}.compact-hp-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:11px;font-weight:700;color:var(--text-primary);text-shadow:0 1px 3px rgba(0,0,0,.8);z-index:1}.sessions-page{min-height:100vh;min-height:100dvh;width:100%;display:flex;flex-direction:column;align-items:center;padding:3.5rem 2rem 5rem;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(88,28,180,.35),transparent),radial-gradient(ellipse 60% 40% at 80% 60%,rgba(30,64,120,.15),transparent),#0d1117}.sessions-header{text-align:center;margin-bottom:2.5rem;display:flex;flex-direction:column;align-items:center}.sessions-logo{width:80px;height:80px;margin-bottom:1.25rem;filter:drop-shadow(0 0 24px rgba(139,92,246,.5));animation:logo-float 4s ease-in-out infinite}@keyframes logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.sessions-title{font-size:3.2rem;font-family:serif;color:#d4a853;letter-spacing:.04em;margin-bottom:.35rem;text-shadow:0 2px 20px rgba(212,168,83,.25)}.sessions-subtitle{color:#8b7a5e;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500}.sessions-header__divider{margin-top:1.5rem;width:80px;height:2px;background:linear-gradient(90deg,transparent,#8b5cf6,transparent);border-radius:1px}.sessions-content{width:100%;max-width:960px;display:flex;flex-direction:column;gap:2rem}.new-game-btn{display:flex;align-items:center;justify-content:center;gap:.7rem;padding:.9rem 2.5rem;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;border:none;border-radius:10px;font-size:1.05rem;font-weight:700;cursor:pointer;letter-spacing:.04em;box-shadow:0 4px 24px #6d28d959;transition:transform .15s,box-shadow .15s;align-self:center;min-width:220px}.new-game-btn:hover{box-shadow:0 6px 32px #6d28d98c;transform:translateY(-2px)}.new-game-btn:active{transform:translateY(0)}.new-game-icon{font-size:1.2rem}.sessions-loading,.sessions-empty{text-align:center;color:#6b7280;padding:3rem;font-size:.95rem}.sessions-list-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.sessions-list-title{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.14em;font-weight:600}.sessions-dead-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.sessions-dead-toggle__label{font-size:.72rem;color:#6b7280;letter-spacing:.05em}.toggle-switch{position:relative;width:36px;height:20px;background:#1e2a3f;border:1px solid #2d3a54;border-radius:10px;cursor:pointer;transition:background .2s,border-color .2s;padding:0}.toggle-switch--on{background:#64748b4d;border-color:#64748b}.toggle-switch__thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;background:#475569;border-radius:50%;transition:transform .2s,background .2s}.toggle-switch--on .toggle-switch__thumb{transform:translate(16px);background:#94a3b8}.sessions-list{display:grid;grid-template-columns:1fr;gap:.85rem}.session-card{position:relative;display:flex;align-items:stretch;overflow:hidden;background:#151d2e;border:1px solid #1e2a3f;border-radius:14px;cursor:pointer;text-align:left;font:inherit;color:inherit;padding:0;transition:border-color .2s,box-shadow .25s,transform .15s}.session-card:hover{border-color:#3b3f7a;box-shadow:0 8px 32px #8b5cf61f;transform:translateY(-3px)}.session-card:active{transform:translateY(-1px)}.session-card:disabled{cursor:wait;opacity:.7}.session-card__accent{width:5px;flex-shrink:0;border-radius:14px 0 0 14px}.session-card--active .session-card__accent{background:linear-gradient(180deg,#34d399,#059669)}.session-card--combat .session-card__accent{background:linear-gradient(180deg,#f87171,#dc2626)}.session-card--dead .session-card__accent{background:#374151}.session-card--dead{opacity:.5}.session-card--dead:hover{border-color:#2a3548;box-shadow:none;transform:none}.session-card__body{flex:1;padding:1.15rem 1.4rem;display:flex;flex-direction:column;gap:.85rem;min-width:0}.session-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.session-card__character{display:flex;flex-direction:column;gap:.15rem;min-width:0}.session-card__name{font-size:1.15rem;font-weight:700;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-card__class{font-size:.8rem;color:#64748b;letter-spacing:.02em}.session-card__badges{flex-shrink:0}.badge{font-size:.62rem;font-weight:700;padding:3px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.badge--active{background:#10b9811f;color:#6ee7b7}.badge--combat{background:#f871711f;color:#fca5a5}.badge--dead{background:#94a3b814;color:#64748b}.session-card__info{display:flex;flex-direction:column}.session-card__stat{display:flex;align-items:center;gap:.6rem;font-size:.8rem}.session-card__stat-label{color:#64748b;font-weight:600;font-size:.7rem;width:22px;flex-shrink:0}.session-card__hp-bar{flex:1;height:6px;background:#1e293b;border-radius:3px;overflow:hidden}.session-card__hp-fill{height:100%;background:linear-gradient(90deg,#059669,#34d399);border-radius:3px;transition:width .4s ease}.session-card__stat-value{color:#94a3b8;min-width:48px;text-align:right;font-variant-numeric:tabular-nums;font-size:.78rem}.session-card__footer{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}.session-card__meta{display:flex;gap:1rem;font-size:.72rem;color:#475569;flex-wrap:wrap}.session-card__action-hint{font-size:.78rem;font-weight:600;color:#8b5cf6;white-space:nowrap;flex-shrink:0;opacity:0;transform:translate(-6px);transition:opacity .2s,transform .2s}.session-card:hover .session-card__action-hint{opacity:1;transform:translate(0)}@media (min-width: 640px){.sessions-list{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1100px){.sessions-page{padding:4rem 3rem 5rem}.sessions-content{max-width:1040px}.sessions-title{font-size:3.6rem}}@media (max-width: 480px){.sessions-page{padding:2rem 1rem 3rem}.sessions-title{font-size:2rem}.sessions-header__divider{margin-top:1rem}.session-card__meta{gap:.5rem}.session-card__action-hint{opacity:1;transform:translate(0)}.new-game-btn{min-width:unset;width:100%}}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--primary-color: #8b5cf6;--primary-hover: #7c3aed;--secondary-color: #6b7280;--bg-dark: #1f2937;--bg-darker: #111827;--bg-light: #374151;--text-primary: #f9fafb;--text-secondary: #d1d5db;--border-color: #4b5563;--success: #10b981;--warning: #f59e0b;--danger: #ef4444}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:linear-gradient(135deg,#1f2937,#111827);color:var(--text-primary);min-height:100vh;line-height:1.6;transition:background .8s ease}.app{height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.app:has(.game-view){align-items:stretch}@media (min-width: 1025px){.app:has(.game-view){padding:8px 16px 12px}.app:has(.game-view) .settings-menu{left:auto;right:16px;top:8px;height:52px;align-items:center}.app:has(.game-view) .settings-gear-btn{margin-right:8px}}.app:has(.sessions-page){padding:0;height:auto;min-height:100vh;align-items:stretch;justify-content:stretch;background:#0d1117}.character-creation{background:var(--bg-dark);border-radius:16px;padding:20px 28px;max-width:540px;width:100%;box-shadow:0 20px 60px #00000080;border:1px solid var(--border-color)}.character-creation h1{text-align:center;margin-bottom:4px;font-size:1.5rem;line-height:1.3;background:linear-gradient(135deg,var(--primary-color),#ec4899);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.creation-header{display:flex;flex-direction:column;align-items:center;margin-bottom:12px;gap:2px}.subtitle{text-align:center;color:var(--text-secondary);margin-bottom:0;font-size:.85rem}.form-group{margin-bottom:10px}.form-group label{display:block;margin-bottom:5px;color:var(--text-secondary);font-weight:500;font-size:.95rem}.form-group input:not([type=radio]):not([type=checkbox]),.form-group select{width:100%;height:40px;padding:0 12px;background:var(--bg-darker);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:15px;transition:all .3s}.form-group input:not([type=radio]):not([type=checkbox]):focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #8b5cf61a;background:#8b5cf605}.form-group select option{background:var(--bg-darker);color:var(--text-primary);padding:10px}.form-group select option:checked,.form-group select option:hover{background:var(--primary-color);color:#fff}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row--name-gender{grid-template-columns:2fr 1fr}.btn-primary,.btn-secondary{width:100%;padding:12px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 10px 20px #8b5cf64d}.btn-secondary{background:var(--secondary-color);color:#fff}.btn-secondary:hover:not(:disabled){background:#4b5563}button:disabled{opacity:.5;cursor:not-allowed}.game-view{width:100%;display:flex;flex-direction:column;height:100%;position:relative}.game-view:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;transition:background .8s ease;background:linear-gradient(135deg,#1f2937,#111827)}.game-view.location-tavern:before{background:linear-gradient(135deg,#3d2b1f,#1a0f00)}.game-view.location-forest:before{background:linear-gradient(135deg,#1a3d1a,#0a1f0a)}.game-view.location-city:before{background:linear-gradient(135deg,#2c3e50,#1a252f)}.game-view.location-cave:before{background:linear-gradient(135deg,#2d2d2d,#0a0a0a)}.game-view.location-dungeon:before{background:linear-gradient(135deg,#2d1b3d,#0f0a14)}.game-view.location-mountain:before{background:linear-gradient(135deg,#3a4a5c,#1c2833)}.game-view.location-swamp:before{background:linear-gradient(135deg,#2d3a1f,#141a0f)}.game-view.location-desert:before{background:linear-gradient(135deg,#5c4a2d,#2d2414)}.game-view.location-castle:before{background:linear-gradient(135deg,#3a3d4a,#1a1c24)}.game-view.location-village:before{background:linear-gradient(135deg,#2d4a2d,#142014)}.game-view.location-beach:before{background:linear-gradient(135deg,#2d4a5c,#1a2d3a)}.game-view.location-ruins:before{background:linear-gradient(135deg,#3d3a2d,#1a1914)}.mobile-combat-strip{display:none}.initiative-tracker{margin-bottom:.75rem;padding:.5rem .75rem;background:#00000059;border-radius:6px;font-size:.78rem}.initiative-title{color:#ffd54f;font-weight:600;margin-bottom:.35rem}.initiative-item{display:flex;justify-content:space-between;align-items:center;padding:.15rem .25rem;border-radius:3px;color:#ccc}.initiative-item.active{background:#ffd54f2e;color:#ffd54f;font-weight:700}.initiative-item-name{flex:1}.initiative-item-value{opacity:.7}.settings-menu{position:fixed;top:8px;right:12px;z-index:1100;display:flex;align-items:center;gap:8px}.settings-gear-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#a88a5a;cursor:pointer;transition:background .15s,color .15s,transform .2s}.settings-gear-btn:hover{background:#ffffff1f;color:#c8a96e}.settings-gear-btn:active{transform:rotate(30deg)}.settings-popup{position:absolute;top:calc(100% + 6px);right:0;min-width:160px;background:#1f2937;border:1px solid #374151;border-radius:10px;box-shadow:0 8px 24px #00000073;overflow:hidden;animation:settings-popup-in .15s ease}@keyframes settings-popup-in{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-popup__item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;text-align:left;transition:background .12s,color .12s}.settings-popup__item:hover{background:#ffffff0f;color:var(--text-primary)}.settings-popup__item--danger{color:#f87171}.settings-popup__item--danger:hover{background:#ef44441a;color:#f87171}@media (max-width: 1024px){.settings-menu{top:0;right:0;bottom:auto;padding:8px 12px;height:auto;background:transparent}.settings-gear-btn{width:20px;height:20px;background:transparent;border-color:transparent}.settings-gear-btn svg{width:16px;height:16px}.settings-gear-btn:hover{background:#ffffff14;border-color:transparent}.settings-popup{top:calc(100% + 2px)}}.header-logo{width:44px;height:44px;margin-right:12px;flex-shrink:0;filter:drop-shadow(0 0 10px rgba(139,92,246,.5));animation:header-logo-float 4s ease-in-out infinite}@keyframes header-logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.creation-logo{width:64px;height:64px;margin-bottom:4px}.game-header{display:flex;justify-content:flex-start;align-items:center;height:52px;margin:0 -16px 10px;padding:0 16px;flex-shrink:0;background:#00000059;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(212,168,83,.15);box-shadow:0 2px 16px #0000004d}.game-header h1{font-size:1.6rem;font-family:serif;font-weight:400;color:#d4a853;letter-spacing:.04em;text-shadow:0 2px 12px rgba(212,168,83,.25)}.game-header .btn-secondary{width:auto;padding:10px 24px}.game-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2.5fr) minmax(240px,1fr);gap:20px;flex:1;min-height:0}.game-layout.in-combat{grid-template-columns:minmax(220px,1fr) minmax(0,2.5fr) minmax(220px,1fr)}.sidebar{display:flex;flex-direction:column;gap:0;min-height:0}.sidebar-flip-card{position:relative;perspective:1400px;flex:1;min-height:0}.sidebar-flip-inner{position:relative;height:100%;transform-style:preserve-3d;transition:transform .45s ease}.sidebar-flip-card.is-flipped .sidebar-flip-inner{transform:rotateY(180deg)}.sidebar-face{position:relative;display:flex;flex-direction:column;gap:10px;width:100%;height:100%;backface-visibility:hidden}.sidebar-face-back{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotateY(180deg)}.face-content{position:relative;min-height:0;height:100%;display:flex;flex-direction:column}.face-toggle-button{position:absolute;top:.6rem;right:.6rem;z-index:10;width:34px;height:34px;border-radius:999px;border:2px solid var(--primary-color);background:var(--bg-light);color:var(--text-primary);font-size:1.05rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px #8b5cf633;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.face-toggle-button:hover{background:var(--primary-color);border-color:var(--primary-hover);box-shadow:0 0 0 2px #8b5cf64d;transform:translateY(-1px)}.face-toggle-button:active{transform:translateY(0)}.face-toggle-button:focus-visible{outline:2px solid var(--text-secondary);outline-offset:2px}.face-toggle-icon{line-height:1;font-weight:700}.face-toggle-button:after{content:attr(aria-label);position:absolute;top:calc(100% + 6px);right:-4px;white-space:nowrap;padding:6px 8px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-darker);color:var(--text-secondary);font-size:.78rem;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.face-toggle-button:hover:after,.face-toggle-button:focus-visible:after{opacity:1;transform:translateY(0)}.sidebar-right{display:flex;flex-direction:column;min-height:0;overflow-y:auto}.player-stats{background:var(--bg-dark);border-radius:12px;padding:1rem;border:1px solid var(--border-color);flex:1;min-height:0;position:relative;display:flex;flex-direction:column;box-sizing:border-box}.player-stats-body{flex:1;min-height:0;overflow-y:auto;padding-top:16px;padding-right:calc(1rem - 8px);margin-right:-1rem;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.25) transparent}.player-stats-body::-webkit-scrollbar{width:8px}.player-stats-body::-webkit-scrollbar-track{background:transparent;margin:4px 0}.player-stats-body::-webkit-scrollbar-thumb{background:#8b5cf640;border-radius:4px;border:2px solid transparent;background-clip:padding-box;transition:all .3s ease}.player-stats-body::-webkit-scrollbar-thumb:hover{background:#8b5cf666;background-clip:padding-box}.player-stats-body::-webkit-scrollbar-thumb:active{background:#8b5cf680;background-clip:padding-box}.player-stats-header{display:flex;justify-content:space-between;align-items:center;height:65px;padding-bottom:.75rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.player-stats-title{display:flex;align-items:center;gap:.5rem}.player-stats-title__icon{font-size:1.4rem}.player-stats-title__text{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.defense-badge{position:absolute;top:.55rem;right:.6rem;display:inline-flex;align-items:center;gap:4px;padding:0 8px;height:28px;border-radius:999px;background:#1e283cd9;border:1px solid rgba(100,181,246,.35);color:#90caf9;cursor:default;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:border-color .2s,box-shadow .2s;z-index:5}.defense-badge:hover{border-color:#64b5f6b3;box-shadow:0 0 8px #64b5f64d}.defense-badge svg{width:14px;height:14px;flex-shrink:0;opacity:.85}.defense-badge__value{font-size:.78rem;font-weight:700;color:#e3f2fd;line-height:1;letter-spacing:.01em}.defense-badge__tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#14141ef2;color:#cce4ff;font-size:.72rem;white-space:nowrap;padding:3px 8px;border-radius:5px;border:1px solid rgba(100,181,246,.3);pointer-events:none;opacity:0;transition:opacity .15s}.defense-badge:hover .defense-badge__tooltip{opacity:1}.face-content .defense-badge{right:calc(.6rem + 42px)}.stats-header h2{font-size:1.5rem;margin-bottom:4px;padding-right:16px}.character-info{color:var(--text-secondary);font-size:.9rem;margin-bottom:12px}.hp-bar{margin-bottom:20px}.hp-label{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.9rem;color:var(--text-secondary)}.hp-progress{height:20px;background:var(--bg-darker);border-radius:10px;overflow:hidden}.hp-fill{height:100%;transition:width .5s ease,background-color .3s;border-radius:10px}.stat-bar{position:relative;height:26px;flex-shrink:0;background:#ffffff0f;border-radius:8px;overflow:hidden;margin-bottom:10px;border:1px solid rgba(255,255,255,.07)}.stat-bar__fill{position:absolute;top:0;right:0;bottom:0;left:0;width:0;border-radius:8px;transition:width .5s ease,background-color .3s;opacity:.85}.stat-bar__label,.stat-bar__value{position:absolute;z-index:1;top:0;font-size:.72rem;font-weight:600;line-height:26px;color:#ffffffeb;text-shadow:0 1px 3px rgba(0,0,0,.75);pointer-events:none;white-space:nowrap}.stat-bar__label{left:10px;letter-spacing:.06em;text-transform:uppercase;opacity:.75}.stat-bar__value{right:10px}.stats-expander{margin-bottom:12px}.stats-expander__header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-darker);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;transition:background .15s,border-color .15s}.stats-expander__header:hover{background:#ffffff0f;border-color:#ffffff26;color:var(--text-primary)}.stats-expander__header--open{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent;color:var(--text-primary)}.stats-expander__chevron{width:16px;height:16px;flex-shrink:0;transition:transform .2s ease}.stats-expander__header--open .stats-expander__chevron{transform:rotate(180deg)}.stats-expander__content{padding:12px;background:var(--bg-darker);border:1px solid var(--border-color);border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;animation:expandIn .15s ease}@keyframes expandIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.combat-stats-row{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.combat-stat-item{display:grid;grid-template-areas:"icon label value" "icon desc  value";grid-template-columns:24px 1fr auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;background:#ffffff0a;border:1px solid var(--border-color);border-radius:8px;padding:8px 12px}.combat-stat-item__icon{grid-area:icon;width:20px;height:20px;align-self:center;opacity:.75;flex-shrink:0}.combat-stat-item__icon--defense{color:#90caf9}.combat-stat-item__icon--attack{color:#ef9a9a}.combat-stat-item__label{grid-area:label;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);line-height:1}.combat-stat-item__value{grid-area:value;font-size:1.2rem;font-weight:700;color:var(--primary-color);line-height:1.2;text-align:right;align-self:center;grid-row:1 / 3}.combat-stat-item__desc{grid-area:desc;font-size:.65rem;color:var(--text-muted);line-height:1.3;word-break:break-word}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:4px}.stat-item{background:var(--bg-darker);padding:12px;border-radius:8px;text-align:center;border:1px solid var(--border-color)}.stat-label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:4px}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--primary-color)}.location{background:var(--bg-darker);padding:12px;border-radius:8px;display:flex;align-items:center;gap:8px;border:1px solid var(--border-color)}.location-icon{font-size:1.2rem}.active-quest{background:var(--bg-darker);border:1px solid #7c4dff55;border-radius:8px;padding:10px 12px;margin-top:8px}.active-quest__header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.active-quest__icon{font-size:1rem;flex-shrink:0}.active-quest__title{font-size:.85rem;font-weight:600;color:#ce93d8;line-height:1.3}.active-quest__objective{font-size:.78rem;color:var(--text-muted);margin:0;padding-left:22px;line-height:1.4}.active-quest__turn-in{font-size:.75rem;color:var(--text-muted);margin:4px 0 0;padding-left:22px;opacity:.8}.main-content{display:flex;flex-direction:column;min-height:0}.history-container{flex:1;background:var(--bg-dark);border-radius:12px;padding:24px 16px 24px 24px;overflow-y:auto;margin-bottom:20px;border:1px solid var(--border-color)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state p:first-child{font-size:1.2rem;margin-bottom:10px}.hint{font-size:.9rem;color:var(--border-color)}.turn-entry{margin-bottom:30px;animation:fadeIn .5s ease}.turn-entry.loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;opacity:.7}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.player-action{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-light);border-radius:8px;margin-bottom:12px;border-left:3px solid var(--primary-color)}.action-icon{font-size:1.2rem}.action-text{font-weight:500}.narrative{padding:16px;background:var(--bg-darker);border-radius:8px;line-height:1.7;margin-bottom:12px;border:1px solid var(--border-color)}.narrative p{margin:0 0 .75em}.narrative p:last-child{margin-bottom:0}.skill-check-outcomes{animation:revealSlideIn .5s ease-out both}@keyframes revealSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.events{display:flex;flex-direction:column;gap:8px}.event-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#8b5cf61a;border-radius:6px;font-size:.9rem;border:1px solid rgba(139,92,246,.3)}.event-item--animate{opacity:0;animation:eventSlideIn .35s ease both}@keyframes eventSlideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.event-icon{font-size:1rem}.action-form{display:flex;flex-direction:column;gap:12px;background:var(--bg-dark);padding:20px;border-radius:12px;border:1px solid var(--border-color)}.action-panel{display:flex;gap:12px}.action-input{flex:1;padding:14px;background:var(--bg-darker);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:16px}.action-input:focus{outline:none;border-color:var(--primary-color)}.action-panel .btn-primary{width:auto;padding:14px 32px}.btn-act-icon{display:none}.btn-act-text{display:inline}.btn-roll-dice{width:100%;padding:18px;border:2px solid rgba(255,193,7,.5);border-radius:12px;font-size:1.25rem;font-weight:700;cursor:pointer;color:#fff;background:linear-gradient(135deg,#b45309,#d97706,#f59e0b);box-shadow:0 0 20px #f59e0b40;transition:all .3s;animation:rollDicePulse 2s ease-in-out infinite}.btn-roll-dice:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 30px #f59e0b73;border-color:#ffc107cc}.btn-roll-dice:disabled{opacity:.6;cursor:not-allowed;animation:none}@keyframes rollDicePulse{0%,to{box-shadow:0 0 20px #f59e0b40}50%{box-shadow:0 0 30px #f59e0b73}}.btn-rest--inline{padding:14px 12px;border:1px solid rgba(134,239,172,.4);border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;color:#d1fae5;background:linear-gradient(135deg,#064e3b99,#10b98140);transition:all .2s;display:flex;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap}.btn-rest--inline:hover:not(:disabled){border-color:#86efacb3;background:linear-gradient(135deg,#064e3bcc,#10b98166)}.btn-rest--inline:disabled{opacity:.45;cursor:not-allowed}.btn-rest-icon,.btn-rest-text{display:inline}.btn-rest{width:100%;padding:8px 12px;border:1px solid rgba(134,239,172,.4);border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;color:#d1fae5;background:linear-gradient(135deg,#064e3b99,#10b98140);transition:all .2s}.btn-rest:hover:not(:disabled){border-color:#86efacb3;background:linear-gradient(135deg,#064e3bcc,#10b98166)}.btn-rest:disabled,.btn-rest--disabled{opacity:.45;cursor:not-allowed}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-story{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease-in}.loading-story p{margin:0;color:#ffffffe6;font-size:1.1rem;font-style:italic;text-align:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.suggested-actions{background:var(--bg-dark);border-radius:12px;padding:16px;margin-bottom:20px;border:1px solid var(--border-color)}.suggested-actions-label{color:var(--text-secondary);font-size:.9rem;margin-bottom:12px;font-weight:500}.suggested-actions-buttons{display:flex;flex-wrap:wrap;gap:10px}.btn-suggested{flex:1 1 calc(33.333% - 10px);min-width:150px;padding:12px 16px;background:var(--bg-darker);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:all .3s}.btn-suggested:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}.btn-suggested:disabled{opacity:.5;cursor:not-allowed}.ability-panel{margin-top:8px;border:1px solid rgba(33,150,243,.3);border-radius:8px;overflow:visible}.ability-panel__toggle{width:100%;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#2196f314;border:none;color:var(--text-primary);cursor:pointer;font-size:.85rem;transition:background .2s;border-radius:8px}.ability-panel__toggle:hover{background:#2196f326}.ability-panel__toggle.is-expanded{background:#2196f31f;border-radius:8px 8px 0 0;border-bottom:1px solid rgba(33,150,243,.2)}.ability-panel__toggle-label{font-weight:600;flex:1;text-align:left}.ability-panel__toggle-ap{font-size:.8rem;color:#64b5f6;background:#2196f326;padding:2px 8px;border-radius:12px;white-space:nowrap}.ability-panel__toggle-arrow{font-size:.7rem;opacity:.7}.ability-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;background:#00000026;border-radius:0 0 8px 8px}.btn-ability-wrapper{position:relative}.btn-ability{width:100%;padding:8px 10px;background:#2196f31a;border:1px solid rgba(33,150,243,.35);border-radius:8px;color:var(--text-primary);font-size:.82rem;cursor:pointer;transition:all .25s;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left}.btn-ability__header{display:flex;align-items:center;gap:5px;width:100%}.btn-ability__icon{font-size:1rem;line-height:1;flex-shrink:0}.btn-ability__name{font-weight:600;flex:1}.btn-ability__cost{font-size:.72rem;color:#64b5f6;font-weight:700;white-space:nowrap;background:#2196f326;padding:1px 5px;border-radius:8px}.btn-ability__desc{font-size:.72rem;opacity:.7;line-height:1.35;text-align:left}.btn-ability:hover:not(:disabled){background:#2196f338;border-color:#2196f3;transform:translateY(-1px);box-shadow:0 4px 12px #2196f340}.btn-ability--disabled,.btn-ability:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}.btn-ability-info{display:none;position:absolute;top:4px;right:4px;width:18px;height:18px;font-size:.65rem;line-height:18px;text-align:center;border-radius:50%;background:#2196f340;border:1px solid rgba(33,150,243,.5);color:#90caf9;cursor:pointer;padding:0;z-index:1;transition:background .2s}.btn-ability-info.is-active{background:#2196f380;color:#fff}.ability-tooltip{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:#1a1f2e;border:1px solid rgba(33,150,243,.5);border-radius:8px;padding:10px 12px;z-index:200;box-shadow:0 4px 20px #0009;pointer-events:none}.ability-tooltip__name{font-weight:700;font-size:.85rem;margin-bottom:4px;color:#90caf9}.ability-tooltip__desc{font-size:.8rem;opacity:.85;line-height:1.4;margin-bottom:6px}.ability-tooltip__meta{display:flex;justify-content:space-between;font-size:.72rem;color:#64b5f6;border-top:1px solid rgba(33,150,243,.2);padding-top:5px}.ability-carousel{display:none;align-items:center;gap:6px;padding:8px;background:#00000026;border-radius:0 0 8px 8px}.ability-carousel__arrow{flex-shrink:0;width:36px;height:36px;background:#2196f31f;border:1px solid rgba(33,150,243,.35);border-radius:50%;color:#90caf9;font-size:1.4rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s,transform .15s;touch-action:manipulation}.ability-carousel__arrow:active{background:#2196f34d;transform:scale(.92)}.ability-carousel__arrow-gap{flex-shrink:0;width:36px}.ability-carousel__card{flex:1;min-width:0;padding:10px 12px;background:#2196f31a;border:1px solid rgba(33,150,243,.35);border-radius:10px;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;gap:6px;text-align:left;transition:background .2s,border-color .2s;touch-action:manipulation}.ability-carousel__card:active:not(:disabled){background:#2196f338;border-color:#2196f3}.ability-carousel__card--disabled,.ability-carousel__card:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}.ability-carousel__header{display:flex;align-items:center;gap:6px;width:100%}.ability-carousel__icon{font-size:1.1rem;line-height:1;flex-shrink:0}.ability-carousel__name{font-weight:700;font-size:.95rem;flex:1}.ability-carousel__cost{font-size:.78rem;color:#64b5f6;font-weight:700;background:#2196f326;padding:2px 7px;border-radius:10px;white-space:nowrap}.ability-carousel__desc{font-size:.82rem;opacity:.8;line-height:1.4;margin:0}.error-message{background:#ef44441a;border:1px solid var(--danger);color:var(--danger);padding:12px;border-radius:8px;margin-top:12px;text-align:center}.readonly-bar{align-items:center;text-align:center}.readonly-bar__text{margin:0;font-size:.9rem;color:#94a3b8;font-style:italic;letter-spacing:.01em}.readonly-bar__back{width:100%}.game-over-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .5s ease}.game-over-content{text-align:center;padding:48px 40px 40px;background:var(--bg-dark);border-radius:20px;border:1px solid var(--danger);box-shadow:0 0 80px #ef444440,0 24px 64px #0009;max-width:400px;width:90%;display:flex;flex-direction:column;align-items:stretch}.game-over-icon{font-size:4rem;margin-bottom:20px;filter:grayscale(.3)}.game-over-title{font-size:2rem;font-weight:700;color:var(--danger);margin-bottom:12px;text-transform:uppercase;letter-spacing:4px}.game-over-message{color:var(--text-secondary);font-size:1rem;margin-bottom:32px;line-height:1.6}.game-over-button{width:100%;padding:14px;font-size:1.05rem}.game-over-button-view{margin-top:10px;width:100%;padding:14px;font-size:1.05rem;background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--text-secondary);border-radius:8px;cursor:pointer;transition:border-color .2s,color .2s,background .2s}.game-over-button-view:hover{border-color:#ffffff59;background:#ffffff0d;color:var(--text-primary)}.history-container::-webkit-scrollbar{width:10px}.history-container::-webkit-scrollbar-track{background:transparent;margin:12px 0}.history-container::-webkit-scrollbar-thumb{background:#8b5cf64d;border-radius:5px;border:2px solid transparent;background-clip:padding-box;transition:all .3s ease}.history-container::-webkit-scrollbar-thumb:hover{background:#8b5cf680;background-clip:padding-box}.history-container::-webkit-scrollbar-thumb:active{background:#8b5cf699;background-clip:padding-box}.history-container{scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.3) transparent}.character-creation::-webkit-scrollbar{width:10px}.character-creation::-webkit-scrollbar-track{background:transparent;margin:16px 0}.character-creation::-webkit-scrollbar-thumb{background:#8b5cf64d;border-radius:5px;border:2px solid transparent;background-clip:padding-box;transition:all .3s ease}.character-creation::-webkit-scrollbar-thumb:hover{background:#8b5cf680;background-clip:padding-box}.character-creation::-webkit-scrollbar-thumb:active{background:#8b5cf699;background-clip:padding-box}.character-creation{scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.3) transparent}.campaign-type-options{display:flex;flex-direction:row;gap:.5rem;margin-top:.5rem}.campaign-type-option{display:flex!important;align-items:center;cursor:pointer;gap:.5rem;padding:.625rem .75rem;border:2px solid var(--border-color);border-radius:10px;background:var(--bg-darker);transition:all .3s ease;flex:1}.campaign-type-option:hover{border-color:var(--primary-color);background:#8b5cf60d}.campaign-type-option input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid var(--border-color);border-radius:50%;flex-shrink:0;cursor:pointer;position:relative;transition:all .3s ease}.campaign-type-option input[type=radio]:hover{border-color:var(--primary-color)}.campaign-type-option input[type=radio]:checked{border-color:var(--primary-color);background:var(--primary-color)}.campaign-type-option input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#fff}.campaign-type-option:has(input[type=radio]:checked){border-color:var(--primary-color);background:#8b5cf61a}.campaign-type-option .campaign-details{display:flex;flex-direction:column;flex:1}.campaign-type-option .campaign-details strong{display:block;margin-bottom:.25rem;color:var(--text-primary);font-size:1rem}.campaign-type-option .campaign-details small{display:block;opacity:.8;line-height:1.3;color:var(--text-secondary);font-size:.8rem}@media (max-width: 768px){.game-layout{grid-template-columns:1fr}.sidebar-flip-inner{min-height:auto}.sidebar-right{position:static;max-height:none}.player-stats{position:static}.game-header{margin-bottom:12px}.form-row{grid-template-columns:1fr}.btn-suggested{flex:1 1 100%;min-width:100%}}@media (max-width: 480px){.app{height:auto;min-height:100vh;align-items:flex-start;padding:10px 10px 16px}.character-creation{padding:14px 12px;max-height:none;overflow-y:visible;align-self:center}.character-creation h1{font-size:1.25rem;margin-bottom:2px}.subtitle{font-size:.8rem;margin-bottom:10px}.form-group{margin-bottom:7px}.form-group label{margin-bottom:3px;font-size:.88rem}.form-row{grid-template-columns:1fr 1fr;gap:8px}.campaign-type-options{flex-direction:column;gap:.35rem;margin-top:.35rem}.campaign-type-option{padding:.45rem .6rem;gap:.4rem}.campaign-type-option input[type=radio]{width:16px;height:16px}.campaign-type-option .campaign-details strong{font-size:.88rem;margin-bottom:.1rem}.campaign-type-option .campaign-details small{font-size:.72rem}.btn-primary{padding:10px;font-size:15px}}@media (max-width: 1024px){.app:has(.game-view){padding:0;height:100vh;overflow:hidden}body:has(.game-view){overflow:hidden}.game-view{padding-top:37px;padding-bottom:52px}.mobile-combat-strip{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--bg-darker);border-top:2px solid rgba(220,38,38,.55);border-bottom:1px solid rgba(220,38,38,.15);flex-shrink:0}.mobile-combat-strip.player-turn{border-top-color:#8b5cf699;border-bottom-color:#8b5cf640}.mobile-combat-strip.enemy-turn{border-top-color:#dc2626b3;border-bottom-color:#dc262659}.combat-strip-arrow{flex-shrink:0;width:28px;height:28px;background:#0a0202b3;border:1px solid rgba(220,38,38,.35);border-radius:6px;color:#ef4444;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;padding:0}.combat-strip-arrow:active{background:#dc262640;transform:scale(.92)}.combat-strip-arrow-gap{flex-shrink:0;width:28px;display:inline-block}.combat-strip-card{flex:1;min-width:0;background:var(--bg-light);border-left:3px solid #dc2626;border-top:1px solid rgba(220,38,38,.18);border-right:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);border-radius:8px;padding:6px 10px;text-align:left;cursor:pointer;transition:border-color .2s,background .2s}.combat-strip-card:active{background:#dc262614}.combat-strip-card.is-expanded{border-left-color:#f87171}.combat-strip-card-name-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.combat-strip-card-name{font-size:12px;font-weight:700;color:#f5f5f5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 8px rgba(220,38,38,.4);flex:1}.combat-strip-card-icons{display:flex;align-items:center;gap:5px;flex-shrink:0;margin-left:6px}.combat-strip-battle-icon{font-size:13px;filter:drop-shadow(0 0 4px rgba(220,38,38,.55))}.combat-strip-chevron{font-size:8px;color:#ef4444;opacity:.8;display:inline-block;transition:transform .25s ease;line-height:1}.combat-strip-chevron.is-open{transform:rotate(180deg)}.combat-strip-card-hp-row{display:flex;align-items:center}.combat-strip-card-hp-bar{flex:1;position:relative;height:14px;background:#280303e6;border-radius:4px;overflow:hidden}.combat-strip-card-hp-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#dc2626,#f87171);transition:width .3s ease;border-radius:4px;box-shadow:0 0 5px #dc262680}.combat-strip-card-hp-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;text-shadow:0 0 4px rgba(0,0,0,.9);z-index:1}.combat-strip-card-stats{margin-top:7px;padding-top:6px;border-top:1px solid rgba(220,38,38,.18);display:flex;flex-wrap:wrap;gap:4px}.combat-strip-stat{display:inline-flex;align-items:center;gap:2px;padding:1px 7px;border-radius:10px;font-size:10px;font-weight:600;white-space:nowrap}.combat-strip-stat--atk{background:#dc26262e;color:#f87171;border:1px solid rgba(220,38,38,.35)}.combat-strip-stat--ac{background:#2563eb2e;color:#93c5fd;border:1px solid rgba(37,99,235,.3)}.combat-strip-stat--dice{background:#f59e0b2e;color:#fcd34d;border:1px solid rgba(245,158,11,.3)}.combat-strip-card-desc{margin-top:5px;font-size:10px;color:#9ca3af;line-height:1.4;font-style:italic}.combat-strip-dots{display:flex;justify-content:center;gap:4px;margin-top:5px}.combat-strip-dot{width:5px;height:5px;background:var(--border-color);border-radius:50%;transition:background .2s}.combat-strip-dot.is-active{background:var(--primary-color)}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.6}}.game-header{display:none}.game-layout{display:block!important;padding:0;gap:0}.game-layout .sidebar,.game-layout .main-content,.game-layout .sidebar-right{display:none;width:100%;max-width:100%}.game-layout.mobile-tab-character .sidebar{display:flex;flex-direction:column;padding:8px;height:calc(100vh - 89px);box-sizing:border-box}.game-layout.mobile-tab-character .sidebar-right{display:none!important}.game-layout.mobile-tab-story .main-content{display:flex;flex-direction:column;padding:0;height:calc(100vh - 89px)}.game-layout.mobile-tab-inventory .sidebar-right{display:block;padding:8px}.main-content .history-container{flex:1;overflow-y:auto;margin-bottom:0;padding:8px;background:var(--bg-dark);border-radius:0}.action-form{position:static;background:var(--bg-dark);padding:12px 8px 8px;border-top:1px solid rgba(255,255,255,.1);margin:0;flex-shrink:0;gap:8px;border-radius:0 0 12px 12px;border-left:none;border-right:none;border-bottom:none}.action-panel{flex-direction:row;gap:6px;width:100%;align-items:stretch}.action-input{font-size:16px;padding:10px;border-radius:8px;flex:1;min-width:0;box-sizing:border-box}.action-panel .btn-primary{padding:10px 14px;border-radius:8px;width:auto;flex-shrink:0;font-size:1.2rem;line-height:1}.btn-act-text{display:none}.btn-act-icon{display:inline}.btn-rest--inline{padding:10px 12px;font-size:1.2rem;line-height:1;gap:0}.btn-rest-text{display:none}.btn-rest-icon{display:inline}.suggested-actions{padding:6px 8px;margin-bottom:6px;border-radius:8px;border:none}.suggested-actions-label{margin-bottom:4px;font-size:.8rem}.suggested-actions-buttons{display:grid;grid-template-columns:1fr 1fr;gap:4px}.btn-suggested{min-width:0;font-size:12px;padding:8px 6px}.btn-suggested:last-child:nth-child(odd){grid-column:1 / -1}.player-action{padding:6px 8px;margin-bottom:6px}.narrative{padding:8px;margin-bottom:6px}.events{gap:4px}.event-item{padding:4px 8px;font-size:.85rem}.sidebar-flip-card,.face-toggle-button{display:none}.player-stats{padding:8px;display:none}.game-layout.mobile-tab-character .player-stats{display:flex;flex:1;min-height:0}.game-layout.mobile-tab-character .player-stats-body{overflow-y:auto;scrollbar-gutter:auto;padding-right:1rem;margin-right:-1rem;scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.25) transparent}.game-layout.mobile-tab-character .player-stats-body::-webkit-scrollbar{width:8px}.game-layout.mobile-tab-character .player-stats-body::-webkit-scrollbar-track{background:transparent;margin:4px 0}.game-layout.mobile-tab-character .player-stats-body::-webkit-scrollbar-thumb{background:#8b5cf640;border-radius:4px;border:2px solid transparent;background-clip:padding-box;transition:all .3s ease}.game-layout.mobile-tab-character .player-stats-body::-webkit-scrollbar-thumb:hover{background:#8b5cf666;background-clip:padding-box}.game-layout.mobile-tab-character .player-stats-body::-webkit-scrollbar-thumb:active{background:#8b5cf680;background-clip:padding-box}.game-layout.mobile-tab-character .sidebar-flip-card .sidebar-face-back,.game-layout.mobile-tab-character .sidebar-flip-card .face-toggle-button{display:none!important}.game-layout.mobile-tab-character .sidebar-flip-card{display:block;pointer-events:none}.game-layout.mobile-tab-character .sidebar-flip-card .sidebar-face-front{pointer-events:auto}.sidebar-right{overflow-y:auto;max-height:calc(100vh - 120px)}.sidebar-right .enemy-list{max-height:calc(100vh - 120px);overflow-y:auto}.combat-inventory-panel,.game-layout.in-combat.mobile-tab-inventory .combat-enemies-panel{display:none}.game-layout.in-combat.mobile-tab-inventory .combat-inventory-panel{display:block}.ability-buttons{display:none}.ability-carousel{display:flex}.btn-ability__desc,.btn-ability-info{display:none}}@media (min-width: 1025px){.mobile-combat-strip{display:none}.combat-inventory-panel{display:none!important}}@media (min-width: 769px) and (max-width: 1024px){.character-creation{max-width:560px;padding:32px 36px}}@media (min-width: 1025px){.character-creation{max-width:600px;padding:36px 40px}}
