.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background-color:var(--color-bg-primary);background-image:radial-gradient(ellipse at top,rgba(61,90,128,.1) 0%,transparent 50%),radial-gradient(ellipse at bottom,rgba(201,162,39,.05) 0%,transparent 50%)}.auth-container{width:100%;max-width:420px;background-color:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:var(--radius-base);padding:var(--space-8);position:relative;box-shadow:var(--shadow-lg)}.auth-container:before,.auth-container:after{content:"";position:absolute;width:20px;height:20px;border:2px solid var(--color-secondary);pointer-events:none}.auth-container:before{top:-1px;left:-1px;border-right:none;border-bottom:none}.auth-container:after{bottom:-1px;right:-1px;border-left:none;border-top:none}.auth-header{text-align:center;margin-bottom:var(--space-6)}.auth-logo{display:inline-block;width:64px;height:64px;font-size:2.5rem;line-height:64px;text-align:center;margin-bottom:var(--space-4);text-decoration:none;border:2px solid var(--color-secondary);border-radius:var(--radius-base);background-color:var(--color-bg-tertiary);transition:transform var(--transition-base),box-shadow var(--transition-base)}.auth-logo:hover{transform:scale(1.05);box-shadow:0 0 20px #c9a2274d}.auth-header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2);letter-spacing:.5px}.auth-header p{color:var(--color-text-muted);font-size:var(--font-size-base);margin:0}.auth-form{margin-bottom:var(--space-6)}.form-group{margin-bottom:var(--space-5)}.form-group label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.form-group input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);font-family:var(--font-family-base);color:var(--color-text-primary);background-color:var(--color-bg-tertiary);border:2px solid var(--color-border-light);border-radius:var(--radius-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.form-group input::placeholder{color:var(--color-text-muted)}.form-group input:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-bg-secondary);box-shadow:0 0 0 3px #3d5a8033}.form-group input:hover:not(:focus):not(:disabled){border-color:var(--color-border-hover)}.form-group input:disabled{opacity:.5;cursor:not-allowed}.message{padding:var(--space-3) var(--space-4);border-radius:var(--radius-base);margin-bottom:var(--space-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.message-success{background-color:#2d7d4626;border:1px solid var(--color-success);color:#81c784}.auth-submit{width:100%;padding:var(--space-3) var(--space-5);font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-on-primary);background-color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-base);cursor:pointer;margin-top:var(--space-4);transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.auth-submit:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-base)}.auth-submit:active:not(:disabled){transform:translateY(0);box-shadow:none}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-submit.loading{position:relative;color:transparent}.auth-submit.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--color-text-on-primary);border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.auth-footer{text-align:center;padding-top:var(--space-5);border-top:1px solid var(--color-border)}.auth-footer p{color:var(--color-text-muted);margin:0;font-size:var(--font-size-sm)}.auth-footer a{color:var(--color-secondary);font-weight:var(--font-weight-medium);text-decoration:none;transition:color var(--transition-fast)}.auth-footer a:hover{color:var(--color-secondary-hover);text-decoration:underline}@media (max-width: 480px){.auth-page{padding:var(--space-4)}.auth-container{padding:var(--space-5)}.auth-header h1{font-size:var(--font-size-xl)}.auth-logo{width:56px;height:56px;font-size:2rem;line-height:56px}}.top-bar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background:linear-gradient(180deg,#1a1a2e,#0f0f1a);border-bottom:2px solid #ffd700;box-shadow:0 2px 10px #00000080;position:sticky;top:0;z-index:1000}.top-bar__left{display:flex;align-items:center;gap:.75rem}.top-bar__logo{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(255,215,0,.3))}.top-bar__title{margin:0;font-size:1.5rem;font-weight:700;color:gold;text-shadow:2px 2px 4px rgba(0,0,0,.5);letter-spacing:1px}.top-bar__right{display:flex;align-items:center;gap:1rem;position:relative}.top-bar__username{font-size:.9rem;color:#87ceeb;padding:.25rem .75rem;background:#87ceeb1a;border-radius:4px;border:1px solid rgba(135,206,235,.2)}.top-bar__burger{display:flex;flex-direction:column;justify-content:space-around;width:32px;height:32px;padding:4px;background:transparent;border:2px solid #4a5568;border-radius:4px;cursor:pointer;transition:all .3s ease}.top-bar__burger:hover,.top-bar__burger--open{border-color:gold}.top-bar__burger-line{width:100%;height:2px;background:#e0e0e0;border-radius:2px;transition:all .3s ease}.top-bar__burger--open .top-bar__burger-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.top-bar__burger--open .top-bar__burger-line:nth-child(2){opacity:0}.top-bar__burger--open .top-bar__burger-line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.top-bar__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999}.top-bar__menu{position:absolute;top:calc(100% + .5rem);right:0;min-width:200px;background:linear-gradient(180deg,#2d2d44,#1a1a2e);border:2px solid #ffd700;border-radius:8px;box-shadow:0 4px 20px #00000080;z-index:1001;overflow:hidden;animation:menu-slide-in .2s ease-out}@keyframes menu-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.top-bar__menu-list{list-style:none;margin:0;padding:.5rem 0}.top-bar__menu-item{margin:0;padding:0}.top-bar__menu-button{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:#e0e0e0;font-family:inherit;font-size:1rem;text-align:left;cursor:pointer;transition:all .2s ease}.top-bar__menu-button:hover{background:#ffffff1a}.top-bar__menu-button--danger{color:#ff6b6b}.top-bar__menu-button--danger:hover{background:#ff6b6b1a}.top-bar__menu-icon{font-size:1.25rem}.top-bar__menu-text{font-weight:500}@media (max-width: 768px){.top-bar{padding:.5rem 1rem}.top-bar__title{font-size:1.25rem}.top-bar__logo{font-size:1.5rem}.top-bar__username{display:none}}.top-bar-v2{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:linear-gradient(180deg,#1a1a2e,#16162a);border-bottom:1px solid #2a2a4a;height:56px;position:relative;z-index:1000}.top-bar-v2__left{display:flex;align-items:center;gap:.75rem;min-width:200px}.top-bar-v2__logo{font-size:1.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.top-bar-v2__empire-info{display:flex;flex-direction:column;gap:0}.top-bar-v2__empire-name{font-size:1rem;font-weight:600;color:#e0e0e0;line-height:1.2}.top-bar-v2__username{font-size:.75rem;color:#6b6bff;line-height:1.2}.top-bar-v2__center{display:flex;justify-content:center;flex:1}.top-bar-v2__game-time{display:flex;align-items:center;gap:.5rem;padding:.4rem 1rem;background-color:#6b6bff26;border:1px solid rgba(107,107,255,.3);border-radius:20px}.top-bar-v2__time-icon{font-size:1rem}.top-bar-v2__time-value{font-family:Courier New,monospace;font-size:.9rem;color:gold;font-weight:500;letter-spacing:.5px}.top-bar-v2__right{display:flex;align-items:center;gap:1rem;min-width:200px;justify-content:flex-end}.top-bar-v2__stats{display:flex;gap:.75rem}.top-bar-v2__stat{display:flex;align-items:center;gap:.3rem;padding:.3rem .6rem;background-color:#ffffff0d;border-radius:4px;cursor:default}.top-bar-v2__stat-icon{font-size:.85rem}.top-bar-v2__stat-value{font-size:.85rem;font-weight:600;color:#e0e0e0}.top-bar-v2__structures-btn{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.85rem;font-weight:500;background-color:#6b6bff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.top-bar-v2__structures-btn:hover:not(:disabled){background-color:#8b8bff;transform:translateY(-1px)}.top-bar-v2__structures-btn.disabled,.top-bar-v2__structures-btn:disabled{background-color:#3a3a5a;color:#6a6a8a;cursor:not-allowed;opacity:.6}.top-bar-v2__burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:4px;background:transparent;border:none;cursor:pointer;transition:all .2s ease}.top-bar-v2__burger:hover{background-color:#ffffff1a;border-radius:4px}.top-bar-v2__burger-line{width:100%;height:2px;background-color:#e0e0e0;border-radius:1px;transition:all .3s ease}.top-bar-v2__burger--open .top-bar-v2__burger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.top-bar-v2__burger--open .top-bar-v2__burger-line:nth-child(2){opacity:0}.top-bar-v2__burger--open .top-bar-v2__burger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.top-bar-v2__menu{position:absolute;top:100%;right:1rem;min-width:160px;background-color:#1a1a2e;border:1px solid #3a3a5a;border-radius:8px;box-shadow:0 8px 24px #0006;padding:.5rem 0;z-index:1001;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.top-bar-v2__menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.6rem 1rem;font-size:.9rem;color:#e0e0e0;background:transparent;border:none;cursor:pointer;text-align:left;transition:background-color .15s ease}.top-bar-v2__menu-item:hover{background-color:#6b6bff26}.top-bar-v2__menu-item--danger{color:#ff6b6b}.top-bar-v2__menu-item--danger:hover{background-color:#ff6b6b26}.top-bar-v2__menu-divider{height:1px;background-color:#3a3a5a;margin:.5rem 0}.top-bar-v2__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999}@media (max-width: 900px){.top-bar-v2__center{display:none}.top-bar-v2__structures-btn span:not(:first-child){display:none}}@media (max-width: 600px){.top-bar-v2{padding:.5rem}.top-bar-v2__left{min-width:auto}.top-bar-v2__empire-info,.top-bar-v2__stats{display:none}.top-bar-v2__right{min-width:auto;gap:.5rem}}.game-main-card{display:flex;flex-direction:column;background:linear-gradient(180deg,#1e1e32,#141428);border:2px solid rgba(255,215,0,.3);border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0006;min-height:500px}.game-main-card__header{background:#0000004d;border-bottom:2px solid rgba(255,215,0,.3)}.game-main-card__tabs{display:flex;padding:0;margin:0}.game-main-card__tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;color:#a0a0a0;font-family:inherit;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.game-main-card__tab:hover{color:#e0e0e0;background:#ffffff0d}.game-main-card__tab--active{color:gold;border-bottom-color:gold;background:#ffd7000d}.game-main-card__tab-icon{font-size:1.25rem}.game-main-card__tab-label{letter-spacing:.5px}.game-main-card__title-container{padding:1rem 1.5rem}.game-main-card__title{margin:0;font-size:1.25rem;color:gold;text-align:center}.game-main-card__content{flex:1;padding:1.5rem;overflow-y:auto}@media (max-width: 768px){.game-main-card{min-height:400px;border-radius:8px}.game-main-card__tab{padding:.75rem 1rem;font-size:.9rem}.game-main-card__tab-label{display:none}.game-main-card__tab-icon{font-size:1.5rem}.game-main-card__content{padding:1rem}}.side-info-card{background:linear-gradient(180deg,#1e1e32,#141428);border:2px solid rgba(255,215,0,.2);border-radius:8px;overflow:hidden;box-shadow:0 2px 10px #0000004d}.side-info-card--compact{font-size:.9rem}.side-info-card__header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#0000004d;border-bottom:1px solid rgba(255,215,0,.2)}.side-info-card__icon{font-size:1.25rem}.side-info-card__title{margin:0;font-size:1rem;font-weight:600;color:gold}.side-info-card__content{padding:1rem}@media (max-width: 1024px){.side-info-card{margin-bottom:1rem}}.stat-row{margin-bottom:.5rem;border-radius:6px;overflow:hidden;background:#0003}.stat-row:last-child{margin-bottom:0}.stat-row__main{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;transition:background .2s ease}.stat-row__main--clickable{cursor:pointer}.stat-row__main--clickable:hover{background:#ffffff0d}.stat-row__info{display:flex;align-items:center;gap:.75rem}.stat-row__icon{font-size:1.25rem}.stat-row__name{font-weight:500;color:#e0e0e0}.stat-row__values{display:flex;align-items:center;gap:.5rem}.stat-row__total{font-size:1.25rem;font-weight:700;min-width:2rem;text-align:right}.stat-row__modifier{font-size:.85rem;font-weight:500}.stat-row__modifier--positive{color:#28a745}.stat-row__modifier--negative{color:#dc3545}.stat-row__expand{font-size:.75rem;color:#666;margin-left:.5rem;transition:transform .2s ease}.stat-row__expand--open{transform:rotate(180deg)}.stat-row__description{padding:1rem;background:#0000004d;border-left:3px solid;margin:0;animation:slide-down .2s ease-out}@keyframes slide-down{0%{opacity:0;max-height:0}to{opacity:1;max-height:300px}}.stat-row__description-text{margin:0 0 .75rem;color:#b0b0b0;font-size:.9rem;line-height:1.5}.stat-row__effects{margin-top:.75rem}.stat-row__effects-title{margin:0 0 .5rem;font-size:.85rem;color:gold;font-weight:600}.stat-row__effects-list{list-style:none;margin:0;padding:0}.stat-row__effect{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;color:#a0a0a0;font-size:.85rem}.stat-row__effect-bullet{color:gold}.stat-row--compact .stat-row__main{padding:.5rem .75rem}.stat-row--compact .stat-row__icon{font-size:1rem}.stat-row--compact .stat-row__name{font-size:.9rem}.stat-row--compact .stat-row__total{font-size:1rem}.stat-row--compact .stat-row__expand{display:none}.experience-bar{width:100%}.experience-bar__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.experience-bar__level{display:flex;align-items:center;gap:.5rem}.experience-bar__level-icon{font-size:1.25rem}.experience-bar__level-label{font-size:.9rem;color:#a0a0a0}.experience-bar__level-value{font-size:1.5rem;font-weight:700;color:gold;text-shadow:0 0 10px rgba(255,215,0,.3)}.experience-bar__xp-text{font-size:.85rem;color:#87ceeb}.experience-bar__track{position:relative;width:100%;height:20px;background:#0006;border-radius:10px;border:2px solid rgba(255,215,0,.3);overflow:hidden}.experience-bar__fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#4a90d9,#87ceeb,#4a90d9);border-radius:8px;transition:width .5s ease-out;box-shadow:0 0 10px #87ceeb80}.experience-bar__shine{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shine 3s infinite}@keyframes shine{0%{left:-100%}50%,to{left:200%}}.experience-bar--compact .experience-bar__track{height:12px}.experience-bar__compact-label{display:flex;justify-content:space-between;margin-top:.25rem;font-size:.75rem;color:#a0a0a0}.experience-bar--full{padding:1rem;background:#0003;border-radius:8px}.equipment-slot{display:flex;flex-direction:column;padding:.75rem;background:linear-gradient(180deg,#2a2a40,#1a1a2e);border:2px solid rgba(255,215,0,.2);border-radius:8px;cursor:pointer;transition:all .2s ease}.equipment-slot:hover:not(.equipment-slot--disabled){border-color:gold;transform:translateY(-2px);box-shadow:0 4px 12px #ffd70033}.equipment-slot--empty{border-style:dashed;background:#0003}.equipment-slot--disabled{opacity:.5;cursor:not-allowed}.equipment-slot__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.equipment-slot__type-icon{font-size:1rem}.equipment-slot__type-name{font-size:.75rem;color:#a0a0a0;text-transform:uppercase;letter-spacing:1px}.equipment-slot__content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60px;gap:.25rem}.equipment-slot__placeholder{color:#666;font-size:.85rem;font-style:italic;text-align:center}.equipment-slot__item-icon{font-size:2rem}.equipment-slot__item-name{font-size:.9rem;color:#e0e0e0;font-weight:500;text-align:center}.equipment-slot__item-level{font-size:.75rem;color:gold;background:#ffd7001a;padding:.125rem .5rem;border-radius:4px}.equipment-slot__action{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.1);font-size:.7rem;color:#666;text-align:center;opacity:0;transition:opacity .2s ease}.equipment-slot:hover:not(.equipment-slot--disabled) .equipment-slot__action{opacity:1}.inventory-grid{display:grid;gap:.5rem;padding:.5rem;background:#0003;border-radius:8px}.inventory-grid__slot{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#2a2a40,#1a1a2e);border:2px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;transition:all .2s ease;min-width:50px;min-height:50px}.inventory-grid__slot:hover{border-color:#ffd70080;background:#ffd7000d}.inventory-grid__slot--filled{border-color:#ffd7004d}.inventory-grid__slot--filled:hover{border-color:gold;transform:scale(1.05)}.inventory-grid__slot--selected{border-color:gold;box-shadow:0 0 10px #ffd7004d}.inventory-grid__slot-number{font-size:.7rem;color:#fff3}.inventory-grid__item-icon{font-size:1.5rem}.inventory-grid__item-quantity{position:absolute;bottom:2px;right:2px;font-size:.65rem;font-weight:700;color:#fff;background:#000000b3;padding:.1rem .3rem;border-radius:3px;min-width:16px;text-align:center}.inventory-grid__tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:linear-gradient(180deg,#2d2d44,#1a1a2e);border:2px solid #ffd700;border-radius:6px;padding:.5rem .75rem;min-width:120px;opacity:0;visibility:hidden;transition:all .2s ease;z-index:100;pointer-events:none}.inventory-grid__slot:hover .inventory-grid__tooltip{opacity:1;visibility:visible}.inventory-grid__tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:gold}.inventory-grid__tooltip-name{display:block;font-size:.85rem;font-weight:600;color:gold;margin-bottom:.25rem}.inventory-grid__tooltip-desc{display:block;font-size:.75rem;color:#a0a0a0;line-height:1.3}@media (max-width: 768px){.inventory-grid{gap:.25rem}.inventory-grid__slot{min-width:40px;min-height:40px}.inventory-grid__item-icon{font-size:1.25rem}}.character-view{display:flex;flex-direction:column;gap:1.5rem}.character-view--loading{align-items:center;justify-content:center;min-height:300px;color:#a0a0a0}.character-view__header{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:#0003;border-radius:8px}.character-view__symbol{font-size:2.5rem;filter:drop-shadow(0 2px 4px rgba(255,215,0,.3))}.character-view__name{margin:0;font-size:1.5rem;color:gold;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.character-view__section-title{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,215,0,.3);font-size:1.1rem;color:gold}.character-view__stats-list{display:flex;flex-direction:column;gap:.5rem}.character-view__actions{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.character-view__action-button{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1rem;background:linear-gradient(180deg,#2a2a40,#1a1a2e);border:2px solid rgba(255,215,0,.3);border-radius:8px;color:#e0e0e0;cursor:pointer;transition:all .2s ease;font-family:inherit}.character-view__action-button:hover{border-color:gold;transform:translateY(-2px);box-shadow:0 4px 12px #ffd70033}.character-view__action-button--skill:hover{background:linear-gradient(180deg,#3a2a50,#2a1a3e)}.character-view__action-button--equip:hover{background:linear-gradient(180deg,#2a3a50,#1a2a3e)}.character-view__action-icon{font-size:2rem}.character-view__action-label{font-size:1rem;font-weight:500}@media (max-width: 768px){.character-view__header{flex-direction:column;text-align:center}.character-view__actions{grid-template-columns:1fr}}.equip-view{display:flex;flex-direction:column;gap:1.5rem}.equip-view__header{display:flex;align-items:center;gap:1rem}.equip-view__back-button{padding:.5rem 1rem;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#e0e0e0;cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:.9rem}.equip-view__back-button:hover{background:#ffffff1a;border-color:gold}.equip-view__title{margin:0;font-size:1.25rem;color:gold}.equip-view__equipment-area{display:flex;gap:2rem;padding:1.5rem;background:#0003;border-radius:8px}.equip-view__character-model{flex-shrink:0;width:150px}.equip-view__character-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;background:linear-gradient(180deg,#1a1a2e,#0f0f1a);border:2px dashed rgba(255,215,0,.3);border-radius:8px}.equip-view__character-icon{font-size:4rem;margin-bottom:.5rem}.equip-view__character-label{font-size:.85rem;color:#666}.equip-view__slots-grid{flex:1;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,auto);gap:.75rem}.equip-view__slot-wrapper--top{grid-column:2;grid-row:1}.equip-view__slot-wrapper--left{grid-column:1;grid-row:2}.equip-view__slot-wrapper--center{grid-column:2;grid-row:2}.equip-view__slot-wrapper--right{grid-column:3;grid-row:2}.equip-view__slot-wrapper--bottom-left{grid-column:1;grid-row:3}.equip-view__slot-wrapper--bottom-right{grid-column:3;grid-row:3}.equip-view__divider{display:flex;align-items:center;gap:1rem;color:#666;font-size:.85rem;text-transform:uppercase;letter-spacing:1px}.equip-view__divider:before,.equip-view__divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,215,0,.3),transparent)}.equip-view__empty-inventory{text-align:center;color:#666;font-style:italic;padding:2rem}@media (max-width: 768px){.equip-view__equipment-area{flex-direction:column;align-items:center}.equip-view__character-model{width:100px}.equip-view__character-placeholder{height:120px}.equip-view__character-icon{font-size:2.5rem}.equip-view__slots-grid{width:100%}}.inventory-view{display:flex;flex-direction:column;gap:1rem}.inventory-view__header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.75rem;border-bottom:1px solid rgba(255,215,0,.3)}.inventory-view__title{margin:0;font-size:1.25rem;color:gold}.inventory-view__slot-count{font-size:.9rem;color:#87ceeb;background:#87ceeb1a;padding:.25rem .75rem;border-radius:4px}.inventory-view__layout{display:grid;grid-template-columns:1fr 250px;gap:1.5rem}.inventory-view__details-panel{background:#0000004d;border-radius:8px;padding:1rem;border:1px solid rgba(255,215,0,.2)}.inventory-view__item-details{display:flex;flex-direction:column;gap:.75rem}.inventory-view__item-header{display:flex;align-items:flex-start;gap:.75rem}.inventory-view__item-icon{font-size:2.5rem}.inventory-view__item-info{flex:1}.inventory-view__item-name{margin:0;font-size:1.1rem;color:#e0e0e0}.inventory-view__item-rarity{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:1px;padding:.125rem .5rem;border-radius:3px;margin-top:.25rem}.inventory-view__item-rarity--comune{background:#9696964d;color:#b0b0b0}.inventory-view__item-rarity--raro{background:#4682b44d;color:#87ceeb}.inventory-view__item-rarity--epico{background:#8a2be24d;color:orchid}.inventory-view__item-rarity--leggendario{background:#ffd7004d;color:gold}.inventory-view__item-description{margin:0;font-size:.85rem;color:#a0a0a0;line-height:1.4}.inventory-view__item-stats{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background:#0003;border-radius:4px}.inventory-view__item-stat{display:flex;justify-content:space-between;font-size:.85rem}.inventory-view__stat-name{color:#a0a0a0;text-transform:capitalize}.inventory-view__stat-value{color:#28a745;font-weight:500}.inventory-view__item-quantity{margin:0;font-size:.85rem;color:#87ceeb}.inventory-view__item-actions{display:flex;gap:.5rem;margin-top:.5rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1)}.inventory-view__action-button{flex:1;padding:.5rem .75rem;border-radius:4px;font-family:inherit;font-size:.85rem;cursor:pointer;transition:all .2s ease}.inventory-view__action-button--use{background:linear-gradient(180deg,#28a745,#1e7b34);border:1px solid #28a745;color:#fff}.inventory-view__action-button--use:hover{background:linear-gradient(180deg,#34c759,#28a745)}.inventory-view__action-button--drop{background:transparent;border:1px solid #dc3545;color:#dc3545}.inventory-view__action-button--drop:hover{background:#dc35451a}.inventory-view__no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;text-align:center;color:#666}.inventory-view__no-selection-icon{font-size:2rem;margin-bottom:.5rem}.inventory-view__no-selection p{margin:0;font-size:.9rem}.inventory-view__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.inventory-view__empty-icon{font-size:3rem;margin-bottom:1rem}.inventory-view__empty p{margin:0;font-size:1.1rem;color:#a0a0a0}.inventory-view__empty-hint{font-size:.85rem;color:#666;margin-top:.5rem}@media (max-width: 768px){.inventory-view__layout{grid-template-columns:1fr}.inventory-view__details-panel{order:-1}}.skill-view{display:flex;flex-direction:column;gap:1.5rem}.skill-view__header{display:flex;align-items:center;gap:1rem}.skill-view__back-button{padding:.5rem 1rem;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#e0e0e0;cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:.9rem}.skill-view__back-button:hover{background:#ffffff1a;border-color:gold}.skill-view__title{flex:1;margin:0;font-size:1.25rem;color:gold}.skill-view__mockup-badge{padding:.25rem .75rem;background:#ff6b6b33;border:1px solid #ff6b6b;border-radius:4px;font-size:.7rem;font-weight:700;color:#ff6b6b;letter-spacing:1px}.skill-view__section{padding:1rem;background:#0003;border-radius:8px}.skill-view__section-title{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,215,0,.2);font-size:1rem;color:#e0e0e0}.skill-view__skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.skill-view__skill-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:linear-gradient(180deg,#2a2a40,#1a1a2e);border:1px solid rgba(255,215,0,.2);border-radius:6px;transition:all .2s ease;cursor:pointer}.skill-view__skill-card:hover{border-color:gold;transform:translateY(-2px)}.skill-view__skill-card--locked{opacity:.5;border-style:dashed}.skill-view__skill-icon{font-size:1.5rem}.skill-view__skill-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.skill-view__skill-name{font-size:.9rem;color:#e0e0e0}.skill-view__skill-level{display:flex;gap:3px}.skill-view__level-pip{width:8px;height:8px;background:#fff3;border-radius:2px}.skill-view__level-pip--filled{background:gold;box-shadow:0 0 4px #ffd70080}.skill-view__professions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.skill-view__profession-card{position:relative;display:flex;align-items:center;gap:.75rem;padding:1rem;background:linear-gradient(180deg,#2a2a40,#1a1a2e);border:2px solid rgba(255,215,0,.2);border-radius:8px;transition:all .2s ease;cursor:pointer}.skill-view__profession-card:hover{border-color:gold}.skill-view__profession-card--locked{opacity:.6;border-style:dashed}.skill-view__profession-icon{font-size:2rem}.skill-view__profession-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.skill-view__profession-name{font-size:1rem;font-weight:600;color:#e0e0e0}.skill-view__profession-desc{font-size:.8rem;color:#a0a0a0}.skill-view__profession-lock{position:absolute;top:.5rem;right:.5rem;font-size:.9rem}.skill-view__note{padding:1rem;background:#ffd7000d;border:1px solid rgba(255,215,0,.2);border-radius:6px}.skill-view__note p{margin:0;font-size:.85rem;color:#a0a0a0;line-height:1.5}.skill-view__note strong{color:gold}@media (max-width: 768px){.skill-view__skills-grid,.skill-view__professions-grid{grid-template-columns:1fr}}.map-view{display:flex;flex-direction:column;height:100%;width:100%;background-color:var(--bg-primary, #0d0d1a);border-radius:8px;overflow:hidden;position:relative}.map-view--loading,.map-view--error{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary, #a0a0b0);gap:1rem}.map-view__header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1rem;background-color:var(--bg-secondary, #1a1a2e);border-bottom:1px solid var(--border-color, #2a2a4a);flex-shrink:0}.map-view__back-btn{padding:.4rem .8rem;font-size:.9rem;background-color:transparent;color:var(--text-primary, #e0e0e0);border:1px solid var(--border-color, #4a4a6a);border-radius:4px;cursor:pointer;transition:all .2s ease}.map-view__back-btn:hover{background-color:var(--bg-tertiary, #2a2a4a);border-color:var(--accent-primary, #6b6bff)}.map-view__title{font-size:1.1rem;font-weight:600;color:var(--text-primary, #e0e0e0);margin:0}.map-view__stats{display:flex;gap:1rem;font-size:.85rem;color:var(--text-secondary, #a0a0b0);margin-left:auto}.map-view__stats span{padding:.25rem .5rem;background-color:var(--bg-tertiary, #2a2a4a);border-radius:4px}.map-view__legend{display:flex;flex-wrap:wrap;gap:.75rem;width:100%;padding-top:.5rem;border-top:1px solid var(--border-color, #2a2a4a);margin-top:.25rem}.map-view__legend-item{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--text-secondary, #a0a0b0)}.map-view__legend-color{width:14px;height:14px;border-radius:2px;border:1px solid var(--border-color, #4a4a6a)}.map-view__canvas-container{flex:1;position:relative;overflow:hidden;cursor:grab;min-height:0;background-color:#0d0d1a}.map-view__canvas-container:active{cursor:grabbing}.map-view__canvas{display:block;width:100%;height:100%}.map-view__position-indicator{position:absolute;bottom:10px;left:10px;padding:.4rem .75rem;background-color:#000000b3;color:gold;font-size:.8rem;font-family:monospace;border-radius:4px;pointer-events:none}.map-view__conquest-bar{padding:.75rem 1rem;background-color:var(--bg-secondary, #1a1a2e);border-top:1px solid var(--border-color, #2a2a4a);flex-shrink:0}.conquest-bar__header{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-secondary, #a0a0b0);margin-bottom:.5rem}.conquest-bar__track{width:100%;height:8px;background-color:var(--bg-tertiary, #2a2a4a);border-radius:4px;overflow:hidden}.conquest-bar__fill{height:100%;background:linear-gradient(90deg,#6b6bff,#ff6b6b);transition:width .3s ease}.map-view__details-panel{position:absolute;top:60px;right:10px;width:220px;max-height:calc(100% - 80px);overflow-y:auto;padding:1rem;background-color:#1a1a2ef2;border:1px solid var(--border-color, #4a4a6a);border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:100}.map-view__details-panel h3{font-size:1rem;color:var(--text-primary, #e0e0e0);margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color, #4a4a6a)}.map-view__details-panel p{margin:.4rem 0;font-size:.85rem;color:var(--text-secondary, #a0a0b0)}.map-view__details-panel p strong{color:var(--text-primary, #e0e0e0)}.tile-details__section{margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border-color, #2a2a4a)}.tile-details__section h4{font-size:.85rem;color:var(--accent-primary, #6b6bff);margin:0 0 .4rem}.tile-details__section ul{margin:0;padding-left:1.2rem;font-size:.8rem;color:var(--text-secondary, #a0a0b0)}.tile-details__section li{margin-bottom:.2rem}.tile-details__fog-message{font-style:italic;color:var(--text-muted, #6a6a8a)!important}.tile-details__actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-color, #2a2a4a)}.tile-action-btn{padding:.5rem .75rem;font-size:.85rem;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.tile-action-btn:disabled{opacity:.5;cursor:not-allowed}.tile-action-btn--move{background-color:#4a7c4e;color:#fff}.tile-action-btn--move:hover:not(:disabled){background-color:#5a9c5e}.tile-action-btn--conquer{background-color:#6b6bff;color:#fff}.tile-action-btn--conquer:hover:not(:disabled){background-color:#8b8bff}.tile-status{display:inline-block;padding:.4rem .6rem;font-size:.8rem;border-radius:4px;text-align:center}.tile-status--owned{background-color:#4a90d933;color:#4a90d9;border:1px solid #4a90d9}.map-view__retry-btn{padding:.5rem 1.5rem;font-size:.9rem;background-color:var(--accent-primary, #6b6bff);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.map-view__retry-btn:hover{background-color:#8b8bff}@media (max-width: 768px){.map-view__header{padding:.5rem .75rem;gap:.5rem}.map-view__stats,.map-view__legend{display:none}.map-view__details-panel{width:180px;padding:.75rem}}.tile-details__players{background-color:#6a5acd26;border:1px solid rgba(106,90,205,.3);border-radius:6px;padding:.6rem;margin-top:.5rem}.tile-details__players h4{margin:0 0 .5rem;font-size:.85rem;color:#b8a8e8}.tile-details__players ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.tile-details__players li{display:flex;align-items:center;gap:.5rem;padding:.3rem .4rem;background-color:#0003;border-radius:4px;font-size:.8rem}.tile-details__players .player-symbol{font-size:1rem}.tile-details__players .player-name{flex:1;color:#e0e0e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-details__players .player-level{color:#a0a0b0;font-size:.75rem}.tile-action-btn--blocked{background-color:#d94a4a33!important;color:#d94a4a!important;border:1px solid #d94a4a!important;cursor:not-allowed}.tile-action-btn--blocked:hover{background-color:#d94a4a4d!important}.structures-modal__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.structures-modal{width:90%;max-width:800px;max-height:85vh;background-color:var(--bg-primary, #0d0d1a);border:1px solid var(--border-color, #4a4a6a);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.structures-modal__header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background-color:var(--bg-secondary, #1a1a2e);border-bottom:1px solid var(--border-color, #2a2a4a)}.structures-modal__header h2{margin:0;font-size:1.25rem;color:var(--text-primary, #e0e0e0)}.structures-modal__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-color, #4a4a6a);border-radius:6px;color:var(--text-secondary, #a0a0b0);font-size:1rem;cursor:pointer;transition:all .2s ease}.structures-modal__close:hover{background-color:#f44;border-color:#f44;color:#fff}.structures-modal__content{display:grid;grid-template-columns:280px 1fr;flex:1;overflow:hidden}.structures-modal__list{padding:1rem;border-right:1px solid var(--border-color, #2a2a4a);overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.structure-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background-color:var(--bg-secondary, #1a1a2e);border:1px solid var(--border-color, #2a2a4a);border-radius:8px;cursor:pointer;transition:all .2s ease}.structure-card:hover{border-color:var(--accent-primary, #6b6bff);background-color:#6b6bff1a}.structure-card--selected{border-color:var(--accent-primary, #6b6bff);background-color:#6b6bff26}.structure-card--built{border-left:3px solid #4a7c4e}.structure-card__icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-tertiary, #2a2a4a);border-radius:8px}.structure-card__info{display:flex;flex-direction:column;gap:.15rem}.structure-card__name{font-size:.9rem;font-weight:500;color:var(--text-primary, #e0e0e0)}.structure-card__level{font-size:.75rem;color:var(--text-secondary, #a0a0b0)}.structure-card--built .structure-card__level{color:#4a7c4e}.structures-modal__details{padding:1.25rem;overflow-y:auto}.structure-details__header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.structure-details__icon{font-size:2.5rem;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-secondary, #1a1a2e);border:1px solid var(--border-color, #4a4a6a);border-radius:12px}.structure-details__header h3{margin:0;font-size:1.25rem;color:var(--text-primary, #e0e0e0)}.structure-details__level{font-size:.85rem;color:var(--accent-primary, #6b6bff)}.structure-details__description{color:var(--text-secondary, #a0a0b0);font-size:.9rem;line-height:1.5;margin-bottom:1.25rem}.structure-details__section{margin-bottom:1rem;padding:.75rem;background-color:var(--bg-secondary, #1a1a2e);border-radius:8px}.structure-details__section h4{margin:0 0 .5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6a6a8a)}.structure-details__costs,.structure-details__production{display:flex;flex-wrap:wrap;gap:.75rem}.cost-item,.production-item{display:flex;align-items:center;gap:.35rem;padding:.35rem .6rem;background-color:var(--bg-tertiary, #2a2a4a);border-radius:4px;font-size:.85rem;color:var(--text-primary, #e0e0e0)}.production-item{color:#4a7c4e}.structure-details__time{font-size:.9rem;color:var(--text-primary, #e0e0e0)}.structure-details__action{width:100%;margin-top:1.5rem;padding:.75rem 1rem;font-size:1rem;font-weight:500;background:linear-gradient(135deg,#6b6bff,#8b5cf6);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative}.structure-details__action:disabled{opacity:.6;cursor:not-allowed;background:linear-gradient(135deg,#4a4a6a,#3a3a5a)}.coming-soon-badge{position:absolute;right:10px;padding:.2rem .5rem;background-color:#ffc10733;color:#ffc107;font-size:.7rem;font-weight:600;border-radius:4px}.structure-details__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted, #6a6a8a);text-align:center}.structure-details__empty span{font-size:2rem;margin-bottom:.5rem}.structure-details__empty p{font-size:.9rem}.structures-modal__footer{padding:.75rem 1.25rem;background-color:var(--bg-secondary, #1a1a2e);border-top:1px solid var(--border-color, #2a2a4a)}.structures-modal__hint{margin:0;font-size:.8rem;color:var(--text-muted, #6a6a8a);text-align:center}@media (max-width: 768px){.structures-modal{width:95%;max-height:90vh}.structures-modal__content{grid-template-columns:1fr;grid-template-rows:auto 1fr}.structures-modal__list{border-right:none;border-bottom:1px solid var(--border-color, #2a2a4a);flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding:.75rem}.structure-card{flex-shrink:0;flex-direction:column;width:100px;text-align:center;padding:.5rem}.structure-card__info{align-items:center}.structure-card__name{font-size:.8rem}}.game-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#1a1a2e,#16213e,#0f3460);color:#e0e0e0}.game-page--loading,.game-page--error{justify-content:center;align-items:center}.game-page__body{flex:1;display:grid;grid-template-columns:20% 60% 20%;gap:1rem;padding:1rem;max-width:1800px;margin:0 auto;width:100%;box-sizing:border-box}.game-page__sidebar{display:flex;flex-direction:column;gap:1rem}.game-page__main{display:flex;flex-direction:column;min-height:0}.game-page__message{position:fixed;top:80px;left:50%;transform:translate(-50%);padding:1rem 2rem;border-radius:8px;font-weight:500;z-index:1000;animation:slideInMessage .3s ease}.game-page__message--success{background:#48bb78f2;border:1px solid #48bb78;color:#fff;box-shadow:0 4px 20px #48bb7866}.game-page__message--error{background:#f56565f2;border:1px solid #f56565;color:#fff;box-shadow:0 4px 20px #f5656566}@keyframes slideInMessage{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.side-stats{display:flex;flex-direction:column;gap:.5rem}.side-stat{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.side-stat:last-child{border-bottom:none}.side-stat__name{font-size:.875rem;color:#a0aec0;text-transform:uppercase;letter-spacing:.5px}.side-stat__value{font-size:1rem;font-weight:600;color:gold}.side-stat__modifier{font-size:.75rem;color:#48bb78;margin-left:.25rem}.side-resources{display:flex;flex-direction:column;gap:.5rem}.side-resource{display:flex;align-items:center;gap:.5rem;padding:.375rem;background:#ffffff08;border-radius:4px}.side-resource__icon{font-size:1.25rem;width:24px;text-align:center}.side-resource__name{flex:1;font-size:.875rem;color:#a0aec0}.side-resource__value{font-size:.875rem;font-weight:600;color:gold}.side-world{font-size:.875rem;color:#a0aec0}.side-world p{margin:.25rem 0}.side-world strong{color:gold}.side-world__message{font-style:italic;margin-top:.5rem;padding:.5rem;background:#ffd7001a;border-radius:4px;border-left:2px solid #ffd700}.side-world__map-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:.75rem;padding:.625rem 1rem;background:linear-gradient(135deg,#2d5a2d,#1a3a1a);border:1px solid #48bb78;border-radius:6px;color:#e0e0e0;cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:.875rem;font-weight:600}.side-world__map-btn:hover{background:linear-gradient(135deg,#3d6a3d,#2a4a2a);border-color:#68d391;transform:translateY(-1px);box-shadow:0 2px 8px #48bb784d}.side-world__map-btn:active{transform:translateY(0)}.side-actions{display:flex;flex-direction:column;gap:.5rem}.side-action-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;background:linear-gradient(135deg,#2d3a4a,#1a252f);border:1px solid #4a5568;border-radius:6px;color:#e0e0e0;cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:.875rem}.side-action-btn:hover:not(:disabled){background:linear-gradient(135deg,#3d4a5a,#2a353f);border-color:gold}.side-action-btn:disabled{opacity:.5;cursor:not-allowed}.side-action-btn__cost{margin-left:auto;font-size:.75rem;color:#87ceeb;background:#87ceeb1a;padding:.125rem .375rem;border-radius:3px}.side-ap{display:flex;flex-direction:column;gap:.5rem}.side-ap__bar{height:8px;background:#0000004d;border-radius:4px;overflow:hidden}.side-ap__fill{height:100%;background:linear-gradient(90deg,gold,#ffb347);border-radius:4px;transition:width .3s ease}.side-ap__text{font-size:.875rem;color:gold;text-align:center;font-weight:600}.spinner{width:50px;height:50px;border:4px solid rgba(255,215,0,.2);border-top-color:gold;border-radius:50%;animation:spin 1s linear infinite}.error-container{text-align:center;padding:2rem}.error-container h2{font-size:1.5rem;margin-bottom:1rem;color:#f56565}.error-container p{margin-bottom:1.5rem;color:#b0b0b0}.button{padding:.75rem 1.5rem;border:2px solid transparent;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.button-primary{background:linear-gradient(135deg,gold,#ffb347);color:#1a1a2e}.button-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffd70066}.button-secondary{background:transparent;border-color:#4a5568;color:#e0e0e0}.button-secondary:hover{border-color:gold;color:gold}@media (max-width: 1200px){.game-page__body{grid-template-columns:25% 50% 25%}}@media (max-width: 768px){.game-page__body{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;padding:.5rem}.game-page__sidebar--left{order:2;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.game-page__main{order:1}.game-page__sidebar--right{order:3;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.game-page__message{left:1rem;right:1rem;transform:none;top:70px}@keyframes slideInMessage{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}}@media (max-width: 480px){.game-page__sidebar--left,.game-page__sidebar--right{grid-template-columns:1fr}}.welcome-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center;background-color:var(--color-bg-primary);background-image:radial-gradient(ellipse at top,rgba(61,90,128,.15) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(201,162,39,.08) 0%,transparent 40%),radial-gradient(ellipse at bottom left,rgba(139,58,58,.05) 0%,transparent 40%)}.welcome-page.loading{gap:var(--space-4)}.welcome-hero{margin-bottom:var(--space-10)}.welcome-logo{font-size:5rem;margin-bottom:var(--space-4);display:inline-flex;align-items:center;justify-content:center;width:120px;height:120px;border:3px solid var(--color-secondary);border-radius:var(--radius-base);background-color:var(--color-bg-secondary);box-shadow:0 0 30px #c9a22733,inset 0 0 20px #c9a2270d;animation:logo-glow 4s ease-in-out infinite}@keyframes logo-glow{0%,to{box-shadow:0 0 30px #c9a22733,inset 0 0 20px #c9a2270d}50%{box-shadow:0 0 40px #c9a22759,inset 0 0 30px #c9a2271a}}.welcome-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-secondary);margin-bottom:var(--space-3);letter-spacing:2px;text-transform:uppercase;text-shadow:0 2px 4px rgba(0,0,0,.5),0 0 30px rgba(201,162,39,.3)}.welcome-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:500px;line-height:var(--line-height-relaxed);margin:0 auto}.welcome-features{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5);max-width:900px;margin-bottom:var(--space-10)}.feature{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-base);padding:var(--space-5);transition:transform var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);position:relative}.feature:before{content:"";position:absolute;top:-1px;left:-1px;width:12px;height:12px;border-top:2px solid var(--color-secondary);border-left:2px solid var(--color-secondary);opacity:0;transition:opacity var(--transition-base)}.feature:hover{transform:translateY(-4px);border-color:var(--color-border-light);box-shadow:var(--shadow-base)}.feature:hover:before{opacity:1}.feature-icon{font-size:2rem;display:block;margin-bottom:var(--space-3);width:50px;height:50px;line-height:50px;margin-left:auto;margin-right:auto;background-color:var(--color-bg-tertiary);border-radius:50%}.feature h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.5px}.feature p{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0;line-height:var(--line-height-base)}.welcome-cta{margin-bottom:var(--space-10)}.cta-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding:var(--space-4) var(--space-8);margin-bottom:var(--space-4);color:var(--color-bg-primary);background-color:var(--color-secondary);border:2px solid var(--color-secondary);border-radius:var(--radius-base);text-decoration:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.cta-button:hover{background-color:var(--color-secondary-hover);border-color:var(--color-secondary-hover);transform:translateY(-2px);box-shadow:0 8px 25px #c9a2274d;text-decoration:none}.cta-button:active{transform:translateY(0);box-shadow:0 4px 15px #c9a22733}.welcome-login-text{color:var(--color-text-muted);margin:0;font-size:var(--font-size-sm)}.welcome-login-text a{color:var(--color-primary-light);font-weight:var(--font-weight-medium);text-decoration:none;transition:color var(--transition-fast)}.welcome-login-text a:hover{color:var(--color-primary);text-decoration:underline}.welcome-footer{color:var(--color-text-muted);font-size:var(--font-size-sm)}.welcome-footer p{margin:var(--space-1) 0}.version{font-size:var(--font-size-xs);opacity:.5;font-family:var(--font-family-mono)}@media (max-width: 900px){.welcome-features{grid-template-columns:repeat(2,1fr);max-width:500px}}@media (max-width: 768px){.welcome-page{padding:var(--space-6)}.welcome-title{font-size:var(--font-size-3xl)}.welcome-logo{font-size:4rem;width:100px;height:100px}.welcome-subtitle{font-size:var(--font-size-base)}}@media (max-width: 480px){.welcome-features{grid-template-columns:1fr;max-width:280px}.welcome-title{font-size:var(--font-size-2xl);letter-spacing:1px}.cta-button{width:100%;padding:var(--space-3) var(--space-6);font-size:var(--font-size-base)}}.create-character-page{min-height:100vh;padding:var(--space-6);display:flex;justify-content:center;align-items:flex-start;background-color:var(--color-bg-primary);background-image:radial-gradient(ellipse at top,rgba(61,90,128,.12) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(201,162,39,.06) 0%,transparent 40%)}.create-character-page.loading{align-items:center;flex-direction:column;gap:var(--space-4)}.create-character-page.loading p{color:var(--color-text-secondary);font-size:var(--font-size-lg)}.create-character-container{width:100%;max-width:850px;display:flex;flex-direction:column;gap:var(--space-6)}.create-header{text-align:center;padding-bottom:var(--space-5);border-bottom:2px solid var(--color-border);position:relative}.create-header:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:60px;height:2px;background-color:var(--color-secondary)}.create-header h1{font-size:var(--font-size-3xl);color:var(--color-secondary);margin:0 0 var(--space-2) 0;text-transform:uppercase;letter-spacing:2px;text-shadow:0 2px 4px rgba(0,0,0,.4)}.create-header p{font-size:var(--font-size-base);color:var(--color-text-muted);margin:0}.section{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-base);padding:var(--space-6);position:relative}.section:before,.section:after{content:"";position:absolute;width:14px;height:14px;border:2px solid var(--color-secondary);opacity:.6}.section:before{top:-1px;left:-1px;border-right:none;border-bottom:none}.section:after{bottom:-1px;right:-1px;border-left:none;border-top:none}.section h2{font-size:var(--font-size-xl);color:var(--color-secondary);margin:0 0 var(--space-4) 0;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);text-transform:uppercase;letter-spacing:1px}.message{padding:var(--space-3) var(--space-4);border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.message-error{background-color:#a3373726;border:1px solid var(--color-error);color:#e57373}.dice-intro{text-align:center}.dice-intro p{color:var(--color-text-secondary);margin:0 0 var(--space-3) 0;line-height:var(--line-height-relaxed)}.dice-explanation{font-size:var(--font-size-sm);color:var(--color-text-muted)!important;font-style:italic}.roll-button{font-size:var(--font-size-lg);padding:var(--space-3) var(--space-6);margin-top:var(--space-4)}.dice-results{display:flex;flex-direction:column;gap:var(--space-5)}.rolls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-4)}.roll-card{background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-base);padding:var(--space-4);text-align:center;transition:border-color var(--transition-fast)}.roll-card:hover{border-color:var(--color-border-light)}.roll-number{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.5px}.roll-dice{display:flex;justify-content:center;gap:var(--space-1);margin-bottom:var(--space-2)}.die{display:inline-flex;justify-content:center;align-items:center;width:30px;height:30px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);font-family:var(--font-family-mono);color:var(--color-text-primary)}.die.discarded{background-color:#a3373733;border-color:var(--color-error);color:var(--color-text-muted);text-decoration:line-through;opacity:.6}.roll-total{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);font-family:var(--font-family-mono);color:var(--color-secondary)}.points-summary{text-align:center;padding:var(--space-4);background-color:#c9a22714;border:2px solid var(--color-secondary);border-radius:var(--radius-base)}.points-label{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-right:var(--space-2)}.points-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-family:var(--font-family-mono);color:var(--color-secondary)}.reroll-button{align-self:center}.points-remaining{text-align:center;font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background-color:var(--color-bg-tertiary);border-radius:var(--radius-base);border:1px solid var(--color-border)}.points-remaining span{font-weight:var(--font-weight-bold);font-family:var(--font-family-mono);color:var(--color-warning);margin-left:var(--space-2)}.points-remaining span.complete{color:var(--color-success)}.stats-grid{display:flex;flex-direction:column;gap:var(--space-3)}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-base);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.stat-row:hover{border-color:var(--color-border-light);background-color:var(--color-bg-secondary)}.stat-info{display:flex;align-items:center;gap:var(--space-3)}.stat-icon{font-size:1.5rem;width:40px;text-align:center}.stat-details{display:flex;flex-direction:column}.stat-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.stat-desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.stat-controls{display:flex;align-items:center;gap:var(--space-2)}.stat-button{width:36px;height:36px;border:2px solid var(--color-border-light);border-radius:var(--radius-base);background-color:var(--color-bg-secondary);color:var(--color-secondary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);display:flex;justify-content:center;align-items:center}.stat-button:hover:not(:disabled){background-color:var(--color-bg-tertiary);border-color:var(--color-secondary);transform:scale(1.05)}.stat-button:disabled{opacity:.3;cursor:not-allowed}.stat-value{width:44px;text-align:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);font-family:var(--font-family-mono);color:var(--color-secondary)}.empire-section .form-group{margin-bottom:var(--space-5)}.empire-section label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.5px}.empire-section input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);font-family:var(--font-family-base);background-color:var(--color-bg-tertiary);border:2px solid var(--color-border-light);border-radius:var(--radius-base);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);box-sizing:border-box}.empire-section input::placeholder{color:var(--color-text-muted)}.empire-section input:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-bg-secondary);box-shadow:0 0 0 3px #3d5a8033}.form-hint{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.empire-preview{display:flex;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-6);background-color:var(--color-bg-tertiary);border:2px solid var(--color-secondary);border-radius:var(--radius-base)}.preview-symbol{font-size:3rem}.preview-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-secondary);letter-spacing:1px}.create-actions{text-align:center}.create-button{font-size:var(--font-size-lg);padding:var(--space-4) var(--space-8)}.create-hint{margin-top:var(--space-3);font-size:var(--font-size-sm);color:var(--color-warning)}.button{padding:var(--space-3) var(--space-5);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:var(--font-family-base);border:2px solid transparent;border-radius:var(--radius-base);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.button-primary{background-color:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-bg-primary)}.button-primary:hover:not(:disabled){background-color:var(--color-secondary-hover);border-color:var(--color-secondary-hover);transform:translateY(-2px);box-shadow:0 4px 15px #c9a2274d}.button-primary:active:not(:disabled){transform:translateY(0);box-shadow:none}.button-secondary{background-color:transparent;border-color:var(--color-secondary);color:var(--color-secondary)}.button-secondary:hover:not(:disabled){background-color:#c9a2271a}@media (max-width: 640px){.create-character-page,.section{padding:var(--space-4)}.create-header h1{font-size:var(--font-size-2xl)}.stat-row{flex-direction:column;gap:var(--space-3);text-align:center}.stat-info{flex-direction:column}.stat-desc{display:none}.rolls-grid{grid-template-columns:repeat(2,1fr)}.empire-preview{flex-direction:column;gap:var(--space-2);padding:var(--space-4)}}.card{position:relative;display:block;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-base);transition:box-shadow var(--transition-base),border-color var(--transition-base)}.card--default{background-color:var(--color-bg-secondary)}.card--elevated{background-color:var(--color-bg-secondary);box-shadow:var(--shadow-base)}.card--elevated:hover{box-shadow:var(--shadow-lg)}.card--bordered{background-color:var(--color-bg-secondary);border:2px solid var(--color-border-light)}.card--padded{padding:var(--space-6)}@media (max-width: 640px){.card--padded{padding:var(--space-4)}}.card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.card__title{margin:0;color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.card__content{color:var(--color-text-secondary)}.card__content>*:last-child{margin-bottom:0}.card__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.card--decorated{position:relative}.card--decorated:before,.card--decorated:after{content:"";position:absolute;width:16px;height:16px;border:2px solid var(--color-secondary)}.card--decorated:before{top:-1px;left:-1px;border-right:none;border-bottom:none}.card--decorated:after{bottom:-1px;right:-1px;border-left:none;border-top:none}.stat-bar{width:100%}.stat-bar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-1)}.stat-bar__label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px}.stat-bar__values{display:flex;align-items:center;gap:var(--space-2)}.stat-bar__value{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);font-family:var(--font-family-mono)}.stat-bar__modifier{font-size:var(--font-size-sm);font-family:var(--font-family-mono)}.stat-bar__modifier--positive{color:var(--color-success)}.stat-bar__modifier--negative{color:var(--color-error)}.stat-bar__track{position:relative;width:100%;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:2px;overflow:hidden}.stat-bar__fill{height:100%;transition:width var(--transition-base);background-image:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 50%,rgba(0,0,0,.1) 100%)}.stat-bar--small .stat-bar__track{height:8px}.stat-bar--small .stat-bar__label{font-size:var(--font-size-xs)}.stat-bar--small .stat-bar__value{font-size:var(--font-size-sm)}.stat-bar--medium .stat-bar__track{height:12px}.stat-bar--large .stat-bar__track{height:20px}.stat-bar--large .stat-bar__label{font-size:var(--font-size-base)}.stat-bar--large .stat-bar__value{font-size:var(--font-size-lg)}.stat-bar--health .stat-bar__track--health{border-color:var(--color-border-light);background-color:#a3373733}.stat-bar__temp{color:var(--color-info);font-size:.85em}.stat-bar__fill--temp{position:absolute;background-color:var(--color-info)!important;opacity:.7}.stat-group{display:flex;flex-direction:column;gap:var(--space-4)}.stat-group__title{margin:0 0 var(--space-2) 0;color:var(--color-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:1px;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.stat-group__bars{display:flex;flex-direction:column;gap:var(--space-3)}@keyframes pulse-critical{0%,to{opacity:1}50%{opacity:.6}}.stat-bar--critical .stat-bar__fill{animation:pulse-critical 1.5s ease-in-out infinite}@media (max-width: 640px){.stat-bar--large .stat-bar__track{height:16px}.stat-bar__label{font-size:var(--font-size-xs)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family-base);font-weight:var(--font-weight-medium);text-decoration:none;white-space:nowrap;border:2px solid transparent;border-radius:var(--radius-base);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);position:relative}.btn:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn--small{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);min-height:32px}.btn--medium{padding:var(--space-2) var(--space-5);font-size:var(--font-size-base);min-height:40px}.btn--large{padding:var(--space-3) var(--space-6);font-size:var(--font-size-lg);min-height:48px}.btn--primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-base)}.btn--primary:active:not(:disabled){background-color:var(--color-primary-active);border-color:var(--color-primary-active);transform:translateY(0);box-shadow:none}.btn--secondary{background-color:transparent;border-color:var(--color-secondary);color:var(--color-secondary)}.btn--secondary:hover:not(:disabled){background-color:#c9a2271a;border-color:var(--color-secondary-hover);color:var(--color-secondary-hover)}.btn--secondary:active:not(:disabled){background-color:#c9a22726}.btn--danger{background-color:var(--color-error);border-color:var(--color-error);color:var(--color-text-on-primary)}.btn--danger:hover:not(:disabled){background-color:#b84545;border-color:#b84545;transform:translateY(-1px);box-shadow:var(--shadow-base)}.btn--danger:active:not(:disabled){background-color:#952e30;border-color:#952e30;transform:translateY(0)}.btn--ghost{background-color:transparent;border-color:transparent;color:var(--color-text-secondary)}.btn--ghost:hover:not(:disabled){background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.btn--ghost:active:not(:disabled){background-color:var(--color-border)}.btn--full-width{width:100%}.btn--loading{cursor:wait}.btn__spinner{position:absolute;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.btn__content--hidden{visibility:hidden;opacity:0}.btn__content{display:inline-flex;align-items:center;gap:var(--space-2)}.inventory-page{min-height:100vh;display:flex;flex-direction:column;background:var(--color-background)}.inventory-page--loading,.inventory-page--error{justify-content:center;align-items:center;gap:var(--spacing-md);text-align:center}.inventory-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:var(--z-sticky)}.inventory-header h1{margin:0;font-size:var(--font-size-xl);color:var(--color-text-primary)}.inventory-header .back-button{min-width:auto}.inventory-header .user-info{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.inventory-main{flex:1;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:1200px;width:100%;margin:0 auto}.inventory-section h3{margin-top:0;margin-bottom:var(--spacing-md);color:var(--color-text-primary);font-size:var(--font-size-lg);display:flex;align-items:center;gap:var(--spacing-xs)}.inventory-limits{display:flex;flex-direction:column;gap:var(--spacing-md)}.limit-row{display:grid;grid-template-columns:100px 1fr 150px;align-items:center;gap:var(--spacing-md)}.limit-label{display:flex;align-items:center;gap:var(--spacing-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.limit-icon{font-size:var(--font-size-lg)}.limit-bar{flex:1}.limit-values{display:flex;align-items:baseline;gap:var(--spacing-xxs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.limit-current{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.limit-separator{color:var(--color-text-muted)}.limit-bonus{font-size:var(--font-size-xs);color:var(--color-success);margin-left:var(--spacing-xs)}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--spacing-sm);padding:var(--spacing-sm)}.inventory-slot{aspect-ratio:1;border:2px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);position:relative;background:var(--color-surface)}.inventory-slot:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.inventory-slot--empty{background:var(--color-background);border-style:dashed}.inventory-slot--empty:hover{border-color:var(--color-border-hover)}.inventory-slot--empty .slot-position{font-size:var(--font-size-xs);color:var(--color-text-muted)}.inventory-slot--filled{background:linear-gradient(135deg,var(--color-surface),var(--color-surface-hover))}.slot-icon{font-size:2rem;line-height:1}.slot-quantity{position:absolute;bottom:var(--spacing-xxs);right:var(--spacing-xxs);background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:1px 4px;border-radius:var(--radius-sm);min-width:18px;text-align:center}.slot-name{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding:0 var(--spacing-xxs)}.item-detail{display:flex;flex-direction:column;gap:var(--spacing-md)}.item-detail-header{display:flex;align-items:center;gap:var(--spacing-md)}.item-detail-icon{font-size:3rem;line-height:1;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--color-background);border-radius:var(--radius-md)}.item-detail-title{flex:1}.item-detail-title h4{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.item-category{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase}.item-detail-close{background:none;border:none;font-size:var(--font-size-xl);color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-xs);line-height:1;transition:color var(--transition-fast)}.item-detail-close:hover{color:var(--color-text-primary)}.item-detail-body{display:flex;flex-direction:column;gap:var(--spacing-md)}.item-description{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.item-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--spacing-sm)}.item-stat{background:var(--color-background);padding:var(--spacing-sm);border-radius:var(--radius-sm);text-align:center}.item-stat .stat-label{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--spacing-xxs)}.item-stat .stat-value{display:block;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.item-properties{border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}.item-properties h5{margin:0 0 var(--spacing-sm) 0;color:var(--color-text-primary);font-size:var(--font-size-sm)}.item-properties ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.item-properties li{display:flex;justify-content:space-between;font-size:var(--font-size-sm)}.property-name{color:var(--color-text-secondary)}.property-value{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.empty-inventory{text-align:center;padding:var(--spacing-xl)}.empty-inventory .empty-icon{font-size:4rem;display:block;margin-bottom:var(--spacing-md);opacity:.5}.empty-inventory p{margin:0;color:var(--color-text-secondary)}.empty-inventory .empty-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.inventory-footer{text-align:center;padding:var(--spacing-md);color:var(--color-text-muted);font-size:var(--font-size-sm);border-top:1px solid var(--color-border)}@media (max-width: 768px){.inventory-header{padding:var(--spacing-sm) var(--spacing-md)}.inventory-header h1{font-size:var(--font-size-lg)}.inventory-main{padding:var(--spacing-md);gap:var(--spacing-md)}.limit-row{grid-template-columns:1fr;gap:var(--spacing-xs)}.limit-values{justify-content:flex-end}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.item-detail-header{flex-wrap:wrap}.item-stats{grid-template-columns:repeat(2,1fr)}}.inventory-page .spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.app{min-height:100vh;display:flex;flex-direction:column}.page{flex:1;display:flex;flex-direction:column}.app-header{background-color:var(--color-background-card);padding:var(--spacing-md);border-bottom:1px solid var(--color-background-light)}.app-header h1{margin:0;font-size:var(--font-size-lg)}.app-footer{background-color:var(--color-background-card);padding:var(--spacing-md);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);border-top:1px solid var(--color-background-light)}:root{--color-primary: #3d5a80;--color-primary-hover: #4a6d99;--color-primary-active: #2c4a6e;--color-secondary: #c9a227;--color-secondary-hover: #d4b23a;--color-secondary-muted: #a68b1f;--color-accent: #8b3a3a;--color-accent-hover: #a04545;--color-bg-primary: #1a1d23;--color-bg-secondary: #252a33;--color-bg-tertiary: #2f3640;--color-bg-input: #1e2229;--color-text-primary: #e8e6e3;--color-text-secondary: #9a9a9a;--color-text-disabled: #5a5a5a;--color-text-on-primary: #ffffff;--color-success: #4a7c59;--color-success-bg: rgba(74, 124, 89, .15);--color-error: #a63d40;--color-error-bg: rgba(166, 61, 64, .15);--color-warning: #c17817;--color-warning-bg: rgba(193, 120, 23, .15);--color-info: #4a7c9b;--color-info-bg: rgba(74, 124, 155, .15);--color-border: #3a3f4a;--color-border-light: #4a505c;--color-border-focus: var(--color-primary);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--font-family-base: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-heading: Georgia, "Times New Roman", serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: 2px;--radius-base: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-base: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 8px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .4);--transition-fast: .1s ease;--transition-base: .15s ease;--transition-slow: .3s ease;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 300;--z-modal: 400;--z-tooltip: 500;--z-toast: 600}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{list-style:none}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl);letter-spacing:-.02em}h2{font-size:var(--font-size-3xl);letter-spacing:-.01em}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}.text-muted{color:var(--color-text-secondary)}.text-small{font-size:var(--font-size-sm)}a{color:var(--color-secondary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-secondary-hover);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}img,picture,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}textarea{resize:vertical}::placeholder{color:var(--color-text-disabled);opacity:1}:focus{outline:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary);color:var(--color-text-on-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-base)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}*{scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-bg-primary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.disabled{opacity:.5;pointer-events:none;cursor:not-allowed}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-secondary);border-radius:50%;animation:spin .8s linear infinite}.spinner--small{width:16px;height:16px;border-width:2px}.spinner--large{width:48px;height:48px;border-width:4px}:root{--color-primary: #4a90d9;--color-primary-dark: #3a7bc8;--color-primary-light: #6ba3e0;--color-secondary: #d4af37;--color-secondary-dark: #b8962e;--color-background: #1a1a2e;--color-background-light: #25253d;--color-background-card: #2d2d4a;--color-text: #e0e0e0;--color-text-muted: #888;--color-text-bright: #ffffff;--color-success: #4caf50;--color-warning: #ff9800;--color-error: #f44336;--color-info: #2196f3;--color-gold: #ffd700;--color-wood: #8b4513;--color-stone: #808080;--color-food: #228b22;--color-iron: #4a4a4a;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--transition-fast: .15s ease;--transition-normal: .3s ease;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text);background-color:var(--color-background);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{color:var(--color-text-bright);font-weight:600;line-height:1.3;margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}p{margin-bottom:var(--spacing-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light);text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.button-primary{background-color:var(--color-primary);color:#fff}.button-primary:hover{background-color:var(--color-primary-dark)}.button-secondary{background-color:var(--color-background-card);color:var(--color-text);border:1px solid var(--color-text-muted)}.button-secondary:hover{background-color:var(--color-background-light)}.button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-family:inherit;color:var(--color-text);background-color:var(--color-background-light);border:1px solid var(--color-text-muted);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary)}input::placeholder{color:var(--color-text-muted)}label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--color-text)}.card{background-color:var(--color-background-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-md)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.mt-md{margin-top:var(--spacing-md)}.mb-md{margin-bottom:var(--spacing-md)}.p-md{padding:var(--spacing-md)}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.message{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.message-error{background-color:#f443361a;border:1px solid var(--color-error);color:var(--color-error)}.message-success{background-color:#4caf501a;border:1px solid var(--color-success);color:var(--color-success)}.message-info{background-color:#2196f31a;border:1px solid var(--color-info);color:var(--color-info)}.spinner{width:40px;height:40px;border:3px solid var(--color-background-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}@media (max-width: 768px){:root{--spacing-lg: 16px;--spacing-xl: 24px}h1{font-size:var(--font-size-xl)}h2{font-size:var(--font-size-lg)}}
