.premium-paywall-modal{--height: 90%;--border-radius: 16px}.paywall-container{max-width:600px;margin:0 auto;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.feature-card{margin:16px 0;background:linear-gradient(135deg,var(--ion-color-warning-tint) 0%,var(--ion-color-primary-tint) 100%)}.feature-card ion-card-title{display:flex;align-items:center;color:var(--ion-color-dark);font-size:18px}.feature-card ion-card-content{color:var(--ion-color-dark)}.features-list{margin:24px 0;background:transparent}.features-list ion-item{--background: transparent;--padding-start: 0;margin-bottom:12px}.features-list h3{font-size:16px;font-weight:600;margin:0 0 4px}.features-list p{font-size:14px;color:var(--ion-color-medium);margin:0}.pricing-card{margin:24px 0;text-align:center}.pricing-option{padding:8px 0}.pricing-option h2{font-size:20px;margin:0 0 12px;color:var(--ion-color-primary)}.price{display:flex;align-items:baseline;justify-content:center;gap:4px}.price .amount{font-size:48px;font-weight:700;color:var(--ion-color-dark)}.price .period{font-size:20px;color:var(--ion-color-medium)}.pricing-card ion-note{display:block;margin-top:8px;font-size:14px}.cta-buttons{margin:24px 0}.cta-buttons ion-button{margin-bottom:12px}.terms-note{display:block;text-align:center;font-size:14px;color:var(--ion-color-medium);margin-top:16px}.terms-note p{margin:4px 0}.dungeon-content{--background: #1a1a1a;--overflow: hidden;--padding-bottom: 0;--padding-top: 0}.start-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center}.start-screen h1{color:#0f0;font-family:Courier New,monospace;font-size:2.5rem;margin-bottom:1rem;text-shadow:0 0 10px rgba(0,255,0,.5)}.start-screen p{color:#0f0;font-family:Courier New,monospace;font-size:1.1rem;margin-bottom:1rem;max-width:600px}.start-screen ion-button{margin-top:2rem;--background: #004400;--background-activated: #006600;--color: #00ff00;font-family:Courier New,monospace;font-size:1.2rem;font-weight:700}.game-container{display:flex;flex-direction:column;height:100%;width:100%;padding:1rem;padding-bottom:env(safe-area-inset-bottom,0px);max-width:900px;margin:0 auto;box-sizing:border-box;gap:0}.output{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;background:#0a0a0a;border:2px solid #400000;border-radius:8px;padding:1rem;margin-bottom:1rem;font-family:Courier New,monospace;color:#0f0;line-height:1.6;font-size:.95rem;white-space:pre-wrap;word-wrap:break-word;min-height:0;-webkit-overflow-scrolling:touch}.output p{margin:.5rem 0;word-wrap:break-word;white-space:pre-wrap}.output p:first-child{margin-top:0}.input-area{display:flex;gap:.5rem;align-items:stretch;flex-shrink:0;flex-grow:0;margin-top:1rem;margin-bottom:0;padding-bottom:0}.command-input{flex:1;background:#222;color:#0f0;border:2px solid #400000;padding:.6rem;font-family:Courier New,monospace;font-size:16px;border-radius:4px;outline:none;min-width:0}.command-input:focus{border-color:#0f0;box-shadow:0 0 10px rgba(0,255,0,.3)}.command-input::placeholder{color:#666}.input-area ion-button{--padding-start: 12px;--padding-end: 12px;min-width:60px;flex-shrink:0}.output::-webkit-scrollbar{width:8px}.output::-webkit-scrollbar-track{background:#0a0a0a}.output::-webkit-scrollbar-thumb{background:#400000;border-radius:4px}.output::-webkit-scrollbar-thumb:hover{background:#600000}@media (max-width: 768px){.start-screen h1{font-size:2rem}.start-screen p{font-size:1rem}.game-container{padding:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px))}.output{font-size:.9rem;padding:.75rem;margin-bottom:.75rem}.command-input{font-size:16px;padding:.5rem}.input-area{gap:.25rem}.input-area ion-button{--padding-start: 8px;--padding-end: 8px;min-width:50px;font-size:.9rem}}@media (max-width: 400px){.game-container{padding:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px))}.output{padding:.5rem;margin-bottom:.5rem;font-size:.85rem}.command-input{font-size:16px;padding:.4rem}.input-area{gap:.25rem}.input-area ion-button{--padding-start: 6px;--padding-end: 6px;min-width:45px;font-size:.85rem}}.pips-word-puzzle-menu-container{max-width:600px;margin:0 auto;padding:20px;padding-bottom:calc(40px + env(safe-area-inset-bottom,20px));display:flex;flex-direction:column;gap:24px}.pips-word-puzzle-menu-header{text-align:center;padding:40px 20px 20px}.pips-word-puzzle-logo{font-size:80px;line-height:1;margin-bottom:16px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.pips-word-puzzle-menu-header h1{font-size:48px;font-weight:800;margin:0 0 8px;background:linear-gradient(135deg,var(--ion-color-primary) 0%,var(--ion-color-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pips-word-puzzle-subtitle{font-size:16px;color:var(--ion-color-medium);margin:0}.pips-word-puzzle-quick-stats{margin:0;background:linear-gradient(135deg,rgba(66,153,225,.1),rgba(159,122,234,.1));border:2px solid var(--ion-color-primary-tint)}.quick-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.quick-stat{text-align:center}.quick-stat-value{font-size:28px;font-weight:700;color:var(--ion-color-dark);margin-bottom:4px}.quick-stat-label{font-size:12px;color:var(--ion-color-medium);text-transform:uppercase;letter-spacing:.5px}.pips-word-puzzle-menu-options{display:flex;flex-direction:column;gap:16px}.menu-option-card{margin:0;transition:all .2s ease;cursor:pointer;position:relative}.menu-option-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.15)}.menu-option-card:active{transform:translateY(-2px)}.menu-option-card ion-card-content{text-align:center;padding:24px}.menu-option-header{display:flex;justify-content:center;align-items:center;position:relative;margin-bottom:12px}.menu-option-icon{font-size:64px;line-height:1;display:flex;justify-content:center;align-items:center;margin:0 auto}.menu-option-icon ion-icon{display:block;margin:0 auto}.completion-badge{position:absolute;top:0;right:0}.menu-option-card h2{font-size:24px;font-weight:700;margin:0 0 8px;color:var(--ion-color-dark)}.menu-option-card p{font-size:14px;color:var(--ion-color-medium);margin:0 0 16px}.daily-card{border:2px solid var(--ion-color-primary);background:linear-gradient(135deg,rgba(66,153,225,.05),rgba(66,153,225,.15))}.archive-card{border:2px solid var(--ion-color-secondary);background:linear-gradient(135deg,rgba(159,122,234,.05),rgba(159,122,234,.15))}.stats-card{border:2px solid var(--ion-color-tertiary);background:linear-gradient(135deg,rgba(245,158,11,.05),rgba(245,158,11,.15))}body.dark .menu-option-card h2,.dark .menu-option-card h2,body.dark .menu-option-card h3,.dark .menu-option-card h3{color:#f9fafb!important}body.dark .menu-option-card p,.dark .menu-option-card p,body.dark .menu-option-card div,.dark .menu-option-card div{color:#d1d5db!important}.pips-word-puzzle-menu-footer{text-align:center;padding:20px;color:var(--ion-color-medium);font-size:14px}.pips-word-puzzle-menu-footer p{margin:0;font-style:italic}@media (max-width: 480px){.pips-word-puzzle-menu-container{padding:16px;gap:20px}.pips-word-puzzle-menu-header{padding:20px 16px 16px}.pips-word-puzzle-logo{font-size:64px}.pips-word-puzzle-menu-header h1{font-size:40px}.quick-stat-value{font-size:24px}.menu-option-card ion-card-content{padding:20px}.menu-option-icon{font-size:52px}.menu-option-card h2{font-size:20px}}body.dark .daily-card{background:linear-gradient(135deg,rgba(66,153,225,.1),rgba(66,153,225,.2))}body.dark .archive-card{background:linear-gradient(135deg,rgba(159,122,234,.1),rgba(159,122,234,.2))}body.dark .stats-card{background:linear-gradient(135deg,rgba(245,158,11,.1),rgba(245,158,11,.2))}.pips-word-puzzle-container{max-width:500px;margin:0 auto;padding:12px 24px;padding-bottom:calc(24px + env(safe-area-inset-bottom,20px));display:flex;flex-direction:column;gap:12px}.archive-container{max-width:600px;margin:0 auto;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.archive-item-locked{opacity:.6;cursor:not-allowed}.archive-item-completed{opacity:.7}.archive-item-completed h3{text-decoration:line-through;color:var(--ion-color-medium)}.points-display{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,rgba(66,153,225,.1),rgba(159,122,234,.1));border-radius:12px;margin-bottom:8px;animation:none!important;transform:none!important}.points-display *{animation:none!important;transform:none!important}.points-icon{font-size:20px;color:var(--ion-color-primary);animation:none!important;transform:none!important}.points-value{font-size:24px;font-weight:700;color:var(--ion-color-dark);animation:none!important;transform:none!important}.points-label{font-size:14px;color:var(--ion-color-medium);animation:none!important;transform:none!important}.message-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:#fff;padding:12px 20px;border-radius:8px;font-size:16px;font-weight:700;z-index:1000;animation:fadeInOut 2s ease}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.game-board,.guess-grid{display:flex;flex-direction:column;gap:6px;margin:12px 0}.guess-row{display:flex;gap:5px;justify-content:center}.letter-tile{width:50px;height:50px;border:2px solid #ddd;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;text-transform:uppercase;border-radius:4px;transition:all .2s;position:relative}.letter-tile.empty{background:transparent;border-color:#ddd}.letter-tile.correct{background:#6aaa64;border-color:#6aaa64;color:#fff;animation:flip .3s ease}.letter-tile.present{background:#c9b458;border-color:#c9b458;color:#fff;animation:flip .3s ease}.letter-tile.absent{background:#787c7e;border-color:#787c7e;color:#fff;animation:flip .3s ease}.letter-tile.filled{border-color:#888;animation:pop .1s ease}.cat-paw-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;opacity:.2;pointer-events:none;z-index:1}@keyframes flip{0%{transform:rotateX(0)}50%{transform:rotateX(-90deg)}to{transform:rotateX(0)}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.hints-section{margin:8px 0;background:rgba(159,122,234,.1);border-radius:12px;padding:4px}.hints-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;border-radius:8px;transition:all .2s ease;user-select:none}.hints-header:hover{background:rgba(159,122,234,.15)!important}.hints-header:active{transform:scale(.98)}.hints-title{font-size:16px;font-weight:600;color:var(--ion-color-primary)}.hints-list{padding:0 12px 12px}.hint-item{display:flex;justify-content:space-between;align-items:center;padding:12px;margin-bottom:8px;background:rgba(255,255,255,.05);border-radius:8px}.hint-item:last-child{margin-bottom:0}.hint-revealed,.hint-locked{display:flex;align-items:center;width:100%;gap:12px}.hint-icon{font-size:12px;font-weight:700;color:var(--ion-color-primary);min-width:40px}.hint-text{flex:1;font-size:14px;line-height:1.4}.hint-text.locked{color:#888;font-style:italic}.keyboard{padding:0 8px;padding-bottom:calc(24px + env(safe-area-inset-bottom,20px));width:100%;max-width:500px;margin:16px auto 0}.keyboard-row{display:flex;gap:4px;justify-content:center;margin-bottom:8px;width:100%}.keyboard-key{height:56px;padding:0 4px;background:#d3d6da;border:none;border-radius:6px;font-size:16px;font-weight:700;cursor:pointer;transition:all .1s;color:#000;display:flex;align-items:center;justify-content:center;flex:1;min-width:0}.keyboard-key.wide{flex:1.5;font-size:12px;font-weight:700}.keyboard-key:hover:not(:disabled){background:#c3c6ca;transform:translateY(-1px)}.keyboard-key:active:not(:disabled){transform:scale(.95)}.keyboard-key.correct{background:#6aaa64;color:#fff}.keyboard-key.present{background:#c9b458;color:#fff}.keyboard-key.absent{background:#787c7e;color:#fff}.keyboard-key:disabled{opacity:.6;cursor:default}.hidden-input{position:absolute;left:-9999px;opacity:0}.game-over-modal{text-align:center;padding:20px}.game-over-modal h2{font-size:32px;margin-bottom:16px}.game-over-modal.won h2{color:#6aaa64}.game-over-modal.lost h2{color:#f56565}.answer-reveal{font-size:24px;font-weight:700;margin:16px 0;padding:12px;background:rgba(66,153,225,.1);border-radius:8px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.share-button{margin-top:16px;width:100%}.category-badge{display:inline-block;padding:4px 12px;background:rgba(66,153,225,.2);border-radius:12px;font-size:12px;color:var(--ion-color-primary);margin-bottom:8px}.stat-item{text-align:center}.stat-label{font-size:12px;color:#888;margin-bottom:4px}.loading-container,.error-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:300px;gap:16px}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--ion-color-primary);border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 480px){.pips-word-puzzle-container{padding:8px 16px;padding-bottom:calc(24px + env(safe-area-inset-bottom,20px));gap:10px}.letter-tile{width:44px;height:44px;font-size:20px}.keyboard{padding:0 4px;margin-top:12px}.keyboard-key{height:48px;font-size:14px}.keyboard-key.wide{font-size:12px}.game-board{margin:8px 0;gap:5px}.guess-row{gap:4px}.points-display{padding:10px 16px}.points-value{font-size:20px}}@media (min-width: 600px) and (max-width: 900px){.pips-word-puzzle-container{padding:12px 20px;gap:12px}.letter-tile{width:52px;height:52px;font-size:26px}.keyboard-key{min-width:44px;height:58px;font-size:17px;max-width:52px}.keyboard-key.wide{min-width:80px;max-width:92px}.game-board{margin:12px 0}}@media (min-width: 900px){.keyboard-key{min-width:48px;max-width:56px;height:60px;font-size:18px}.keyboard-key.wide{min-width:88px;max-width:100px}}body.dark .letter-tile.empty{border-color:#3a3a3c}body.dark .keyboard-key{background:#818384;color:#fff}body.dark .keyboard-key:hover:not(:disabled){background:#6a6b6d}body.dark .hint-text.locked{color:#666}body.dark .hints-section{background:rgba(159,122,234,.15)}body.dark .hint-item{background:rgba(255,255,255,.02)}body.dark .points-display{background:linear-gradient(135deg,rgba(66,153,225,.15),rgba(159,122,234,.15))}.pips-word-puzzle-stats-container{max-width:800px;margin:0 auto;padding:20px;padding-bottom:calc(40px + env(safe-area-inset-bottom,20px))}.stats-header{text-align:center;padding:20px 0 32px}.stats-header h1{font-size:32px;font-weight:700;margin:0 0 8px;color:var(--ion-color-dark)}.stats-header p{font-size:14px;color:var(--ion-color-medium);margin:0}.stats-main-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.stat-card{margin:0;text-align:center}.stat-card ion-card-content{padding:24px 16px}.stat-icon{font-size:48px;line-height:1;margin-bottom:12px}.stat-number{font-size:40px;font-weight:800;margin-bottom:8px;color:var(--ion-color-dark)}.stat-title{font-size:16px;font-weight:600;margin-bottom:4px;color:var(--ion-color-dark)}.stat-description{font-size:12px;color:var(--ion-color-medium)}.points-card{border-top:4px solid var(--ion-color-primary)}.streak-card{border-top:4px solid #ef4444}.wins-card{border-top:4px solid #f59e0b}.games-card{border-top:4px solid #10b981}.performance-card{margin:0 0 24px}.performance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}.performance-stat{text-align:center;padding:16px;background:rgba(66,153,225,.05);border-radius:12px}.performance-label{font-size:12px;color:var(--ion-color-medium);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.performance-value{font-size:28px;font-weight:700;color:var(--ion-color-primary)}.distribution-card{margin:0 0 24px}.distribution-bars{margin-top:16px}.distribution-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.guess-number{font-size:16px;font-weight:600;width:20px;color:var(--ion-color-dark)}.bar-container{flex:1;height:32px;background:#f0f0f0;border-radius:6px;overflow:hidden}.bar-fill{height:100%;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;transition:width .3s ease;min-width:32px}.bar-count{font-size:14px;font-weight:600;color:#fff}.no-data-message{text-align:center;color:var(--ion-color-medium);font-style:italic;margin-top:20px;font-size:14px}.achievements-card{margin:0}.achievements-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.achievement{text-align:center;padding:16px;border-radius:12px;transition:all .2s}.achievement.unlocked{background:linear-gradient(135deg,rgba(245,158,11,.1),rgba(245,158,11,.2));border:2px solid #f59e0b}.achievement.locked{background:rgba(0,0,0,.02);border:2px solid #e5e5e5;opacity:.5}.achievement-icon{font-size:36px;margin-bottom:8px;filter:grayscale(100%)}.achievement.unlocked .achievement-icon{filter:grayscale(0%)}.achievement-name{font-size:14px;font-weight:600;margin-bottom:4px;color:var(--ion-color-dark)}.achievement-desc{font-size:12px;color:var(--ion-color-medium);line-height:1.3}@media (max-width: 768px){.pips-word-puzzle-stats-container{padding:16px}.stats-main-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card ion-card-content{padding:20px 12px}.stat-icon{font-size:40px}.stat-number{font-size:32px}.performance-grid{grid-template-columns:1fr;gap:12px}.achievements-grid{grid-template-columns:1fr}}@media (max-width: 480px){.stats-header h1{font-size:28px}.stat-icon{font-size:36px}.stat-number{font-size:28px}.performance-value{font-size:24px}}body.dark .bar-container{background:#2a2a2a}body.dark .performance-stat{background:rgba(66,153,225,.1)}body.dark .achievement.locked{background:rgba(255,255,255,.02);border-color:#3a3a3a}.leaderboard-entry{display:flex;align-items:center;gap:16px;padding:12px;background:rgba(var(--ion-color-primary-rgb),.05);border-radius:8px;transition:all .2s ease}.leaderboard-entry:hover{background:rgba(var(--ion-color-primary-rgb),.1);transform:translate(4px)}.rank-badge{font-size:24px;font-weight:700;min-width:40px;text-align:center;color:var(--ion-color-primary)}.player-info{flex:1;display:flex;flex-direction:column;gap:4px}.player-name{font-size:16px;font-weight:600;color:var(--ion-color-dark)}.player-stats{display:flex;gap:12px;font-size:13px;color:var(--ion-color-medium)}.player-stats .guesses{color:var(--ion-color-medium)}.guild-quest-hub{--background: var(--ion-color-light)}.game-description{text-align:center;padding:1.5rem;margin-bottom:1rem;background:var(--ion-color-primary);color:#fff;border-radius:12px}.game-description h2{margin:0 0 .5rem;font-size:1.8rem}.game-description p{margin:0;opacity:.9;font-size:.95rem}.section{margin-bottom:2rem}.section h3{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.3rem;color:var(--ion-color-dark)}.section h3 ion-icon{font-size:1.5rem}.quest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.quest-card{margin:0;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:transform .2s,box-shadow .2s}.quest-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.quest-card.active-quest{border-left:4px solid var(--ion-color-success)}.quest-icon{font-size:3rem;text-align:center;margin-bottom:.5rem}.quest-card ion-card-title{font-size:1.3rem;margin-bottom:.5rem}.quest-card ion-card-subtitle{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.theme-badge{font-size:.85rem;color:var(--ion-color-medium);text-transform:capitalize}.quest-description{font-size:.95rem;line-height:1.5;margin-bottom:1rem;color:var(--ion-color-dark)}.quest-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.detail-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--ion-color-medium)}.detail-item ion-icon{font-size:1.2rem}.quest-info{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.9rem;color:var(--ion-color-medium)}.quest-info ion-icon{font-size:1.1rem}.how-to-play{background:var(--ion-card-background, var(--ion-background-color));padding:1rem;border-radius:8px;margin-bottom:2rem;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1))}.how-to-play h3{margin-top:0}.how-to-play ion-item{--padding-start: 0;--inner-padding-end: 0}.how-to-play h4{margin:0 0 .25rem;font-size:1.1rem;color:var(--ion-color-primary)}.how-to-play p{margin:0;font-size:.9rem;color:var(--ion-color-medium)}@media (max-width: 768px){.quest-grid{grid-template-columns:1fr}.game-description{padding:1rem}.game-description h2{font-size:1.5rem}}.combat-view{width:100%}.combat-header{margin:1rem 1rem .5rem;background:linear-gradient(135deg,#ff6b6b,#c92a2a);color:#fff}.combat-status{display:flex;justify-content:space-between;align-items:center;gap:1rem}.combat-badge,.turn-badge{font-size:1rem;padding:.5rem 1rem;display:flex;align-items:center;gap:.5rem}.enemies-card,.party-card,.actions-card{margin:1rem}.enemies-card ion-card-title,.party-card ion-card-title{display:flex;align-items:center;gap:.5rem}.enemies-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.enemy-card{position:relative;padding:1rem;background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border-radius:12px;border:3px solid transparent;transition:all .3s;cursor:pointer}.enemy-card:hover:not(.dead){transform:translateY(-4px);box-shadow:0 6px 16px rgba(253,203,110,.4)}.enemy-card.selected{border-color:var(--ion-color-danger);box-shadow:0 0 20px rgba(255,59,48,.5)}.enemy-card.dead{opacity:.5;filter:grayscale(1);cursor:not-allowed}.enemy-icon{font-size:3rem;text-align:center;margin-bottom:.5rem}.enemy-card h3{text-align:center;margin:0 0 1rem;font-size:1.2rem;color:#2d3436}.health-bar{margin-bottom:.75rem}.health-text{display:flex;align-items:center;justify-content:center;gap:.25rem;margin-bottom:.25rem;font-size:.9rem;font-weight:600}.health-text ion-icon{font-size:1.1rem}.enemy-stats{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}.enemy-stats ion-chip{margin:0}.enemy-stats ion-icon{font-size:.9rem}.dead-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;border-radius:12px}.party-member{position:relative;padding:1rem;background:linear-gradient(135deg,#74b9ff,#0984e3);border-radius:12px;color:#fff;border:3px solid transparent;transition:all .3s}.party-member.current-turn{border-color:var(--ion-color-success);box-shadow:0 0 20px rgba(45,211,111,.5)}.party-member.dead{opacity:.5;filter:grayscale(1)}.member-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.member-header h4{margin:0;font-size:1.1rem}.member-stats{display:flex;justify-content:space-around;gap:1rem;font-size:.9rem;font-weight:600}.member-stats ion-icon{font-size:1rem}.action-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.action-buttons ion-button{--padding-top: 1rem;--padding-bottom: 1rem;font-weight:600}.action-confirm h3{margin:0 0 .5rem;font-size:1.3rem}.action-confirm>p{margin:0 0 1rem;color:var(--ion-color-medium)}@media (max-width: 768px){.combat-status{flex-direction:column;gap:.5rem}.combat-badge,.turn-badge{font-size:.9rem;padding:.4rem .8rem}.enemies-grid,.party-grid,.action-buttons{grid-template-columns:1fr}}.quest-complete{max-width:800px;margin:0 auto;padding:2rem 1rem}.celebration-header{text-align:center;padding:2rem 1rem;background:linear-gradient(135deg,gold,#ffed4e);border-radius:16px;margin-bottom:2rem;box-shadow:0 8px 24px rgba(255,215,0,.3);animation:celebrate 1s ease-out}@keyframes celebrate{0%{transform:scale(.8) rotate(-5deg);opacity:0}50%{transform:scale(1.05) rotate(2deg)}to{transform:scale(1) rotate(0);opacity:1}}.celebration-icon{font-size:5rem;margin-bottom:1rem;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.celebration-header h1{font-size:2.5rem;margin:0 0 .5rem;color:var(--ion-color-primary);font-weight:800}.celebration-header h2{font-size:1.5rem;margin:0 0 1rem;color:var(--ion-color-dark);font-weight:600}.ending-badge{font-size:.9rem;padding:.5rem 1rem;font-weight:700}.ending-card{margin-bottom:1.5rem;box-shadow:0 4px 12px rgba(0,0,0,.1)}.ending-text{font-size:1.05rem;line-height:1.7;white-space:pre-wrap;color:var(--ion-color-dark)}.rewards-card,.unlocks-card{margin-bottom:1.5rem;box-shadow:0 4px 12px rgba(0,0,0,.1)}.rewards-card ion-card-title,.unlocks-card ion-card-title{display:flex;align-items:center;gap:.5rem}.rewards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1.5rem;margin-top:1rem}.reward-item{text-align:center;padding:1rem;background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:12px;color:#fff}.reward-icon{font-size:2.5rem;margin-bottom:.5rem}.reward-value{font-size:2rem;font-weight:800;margin-bottom:.25rem}.reward-label{font-size:.9rem;font-weight:600;opacity:.9;text-transform:uppercase}.unlock-section{margin-bottom:1.5rem}.unlock-section:last-child{margin-bottom:0}.unlock-section h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.2rem;color:var(--ion-color-primary)}.unlock-item{--padding-start: 0;--inner-padding-end: 0;margin-bottom:.75rem;padding:.75rem;background:var(--ion-color-light);border-radius:8px}.unlock-item h4{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:var(--ion-color-dark)}.unlock-item p{margin:0;font-size:.9rem;color:var(--ion-color-medium)}.action-buttons{margin-top:2rem}.action-buttons ion-button{--padding-top: 1rem;--padding-bottom: 1rem;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.action-buttons ion-text{display:block;margin-top:1rem;padding:1rem;background:rgba(45,211,111,.1);border-radius:8px}.action-buttons ion-text p{margin:0;font-size:1rem}@media (max-width: 768px){.quest-complete{padding:1rem .5rem}.celebration-header{padding:1.5rem 1rem}.celebration-icon{font-size:4rem}.celebration-header h1{font-size:2rem}.celebration-header h2{font-size:1.2rem}.rewards-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.reward-icon{font-size:2rem}.reward-value{font-size:1.5rem}}.quest-view{--background: var(--ion-color-light)}.turn-status{padding:1rem;text-align:center}.turn-badge{font-size:1rem;padding:.5rem 1rem;display:inline-flex;align-items:center;gap:.5rem}.progress-card{margin:1rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.progress-info{display:flex;flex-direction:column}.progress-stats{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.party-card{margin:1rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.party-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.party-member{padding:.75rem;background:var(--ion-color-light);border-radius:8px;border-left:3px solid var(--ion-color-primary)}.member-name{font-weight:600;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.turn-chip{font-size:.7rem;height:20px;margin:0}.member-stats{display:flex;gap:1rem;font-size:.9rem;color:var(--ion-color-medium)}.member-stats span{display:flex;align-items:center;gap:.25rem}.member-stats ion-icon{font-size:1.1rem}.story-card{margin:1rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.story-card ion-card-header{background:linear-gradient(135deg,var(--ion-color-primary),var(--ion-color-secondary));color:#fff}.story-text{font-size:1rem;line-height:1.6;white-space:pre-wrap;color:var(--ion-color-dark)}.choices-card{margin:1rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.choice-item{--padding-start: 1rem;--inner-padding-end: 1rem;margin-bottom:.5rem;border-radius:8px;border:2px solid var(--ion-color-light);transition:all .2s}.choice-item:not([disabled]):hover{border-color:var(--ion-color-primary);background:var(--ion-color-primary-tint)}.choice-item[disabled]{opacity:.5}.choice-item h3{font-size:1.1rem;font-weight:600;margin:.5rem 0;color:var(--ion-color-primary)}.choice-item p{margin:.25rem 0;font-size:.9rem;color:var(--ion-color-medium)}.requirement{margin-top:.5rem}.inventory-items{display:flex;flex-wrap:wrap;gap:.5rem}.ending-card{margin:1rem;background:linear-gradient(135deg,gold,#ffed4e);box-shadow:0 4px 12px rgba(255,215,0,.3)}.ending-card ion-card-header{text-align:center}.ending-card ion-card-title{font-size:1.8rem;color:var(--ion-color-primary)}.quest-log-card{margin:1rem;background:var(--ion-color-light-tint)}.log-entry{font-size:.95rem;color:var(--ion-color-dark);margin:.25rem 0}.log-timestamp{font-size:.8rem;color:var(--ion-color-medium);margin:.25rem 0}.loading-container p{color:var(--ion-color-medium)}@media (max-width: 768px){.party-grid{grid-template-columns:1fr}.story-text{font-size:.95rem}.choice-item h3{font-size:1rem}}.class-selector{width:100%}.class-selector h3{text-align:center;margin-bottom:1.5rem;font-size:1.5rem;color:var(--ion-text-color)}.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:1rem}.class-card{position:relative;margin:0;border:3px solid transparent;transition:all .3s ease;cursor:pointer}.class-card:hover:not(.disabled){transform:translateY(-4px);box-shadow:0 6px 16px rgba(0,0,0,.2)}.class-card.selected{border-color:var(--ion-color-success);background:linear-gradient(135deg,rgba(45,211,111,.1),rgba(45,211,111,.05))}.class-card.disabled{opacity:.6;cursor:not-allowed}.selected-badge{position:absolute;top:.5rem;right:.5rem;z-index:10}.selected-badge ion-icon{font-size:2rem;color:var(--ion-color-success)}.class-icon{font-size:3.5rem;text-align:center;margin:1rem 0 .5rem}.class-card ion-card-title{text-align:center;font-size:1.3rem;margin-bottom:.25rem}.unlock-badge{display:block;margin:.25rem auto 0;width:fit-content}.class-description{font-size:.9rem;line-height:1.4;margin-bottom:1rem;color:var(--ion-color-medium);min-height:3rem}.stats-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem;padding:.75rem;background:var(--ion-color-light);border-radius:8px}body.dark .stats-summary{background:rgba(255,255,255,.1)}.stat-row{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-label{font-size:.75rem;font-weight:600;color:var(--ion-color-medium);text-transform:uppercase}.stat-value{font-size:1.1rem;font-weight:700;color:var(--ion-color-primary)}.abilities-preview{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--ion-color-light)}body.dark .abilities-preview{border-top-color:rgba(255,255,255,.2)}.abilities-preview strong{font-size:.9rem;color:var(--ion-text-color)}.ability-list{padding:0;margin-top:.5rem}.ability-item{--padding-start: 0;--inner-padding-end: 0;--min-height: auto;margin-bottom:.5rem}.ability-name{font-size:.85rem;font-weight:600;color:var(--ion-color-primary);margin:0}.ability-desc{font-size:.8rem;color:var(--ion-color-medium);margin:.15rem 0 0}@media (max-width: 768px){.class-grid{grid-template-columns:1fr}.class-icon{font-size:3rem}}.quest-creation{--background: var(--ion-color-light)}.creation-steps{display:flex;align-items:center;justify-content:center;padding:2rem 1rem 1rem;background:var(--ion-background-color);margin-bottom:1rem}.step{display:flex;flex-direction:column;align-items:center;gap:.5rem}.step-number{width:40px;height:40px;border-radius:50%;background:var(--ion-color-light);color:var(--ion-color-medium);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;border:2px solid var(--ion-color-medium);transition:all .3s}.step.active .step-number{background:var(--ion-color-primary);color:#fff;border-color:var(--ion-color-primary);transform:scale(1.1)}.step.completed .step-number{background:var(--ion-color-success);color:#fff;border-color:var(--ion-color-success)}.step-label{font-size:.85rem;font-weight:600;color:var(--ion-color-medium);text-align:center}.step.active .step-label{color:var(--ion-color-primary)}.step.completed .step-label{color:var(--ion-color-success)}.step-divider{width:60px;height:2px;background:var(--ion-color-light);margin:0 .5rem 1.5rem}.quest-info-card{margin:1rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.quest-info-card ion-card-title{display:flex;align-items:center;gap:.5rem}.quest-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.step-content{padding:0 1rem 2rem}.party-selection,.class-selection{max-width:1200px;margin:0 auto}.party-selection h2,.waiting-screen h2{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1.5rem}.party-selection ion-text,.waiting-screen ion-text{display:block;margin-bottom:1.5rem}.party-count{text-align:center;margin:1rem 0;font-size:1.1rem}.continue-button{margin-top:2rem;--padding-top: 1rem;--padding-bottom: 1rem;font-size:1.1rem;font-weight:600}.waiting-screen{text-align:center;max-width:600px;margin:2rem auto}.waiting-icon{font-size:5rem;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.waiting-screen h2{justify-content:center;margin-bottom:.5rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem}@media (max-width: 768px){.creation-steps{padding:1.5rem .5rem 1rem}.step-number{width:35px;height:35px;font-size:1rem}.step-label{font-size:.75rem}.step-divider{width:40px}.party-selection h2,.waiting-screen h2{font-size:1.3rem}}.tutorial-modal{--width: 90%;--max-width: 600px;--height: auto;--max-height: 80vh}.tutorial-content{--background: var(--ion-color-light)}.tutorial-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100%;padding:20px 16px;overflow-y:auto}.tutorial-card{width:100%;max-width:550px;box-shadow:0 4px 16px rgba(0,0,0,.12);margin:0}.tutorial-step-indicator{text-align:center;color:#666;font-size:.875rem;font-weight:500;margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px}.tutorial-title{font-size:1.75rem;font-weight:700;color:#333;text-align:center;margin:0 0 24px;line-height:1.3}.tutorial-text{color:#333;font-size:1rem;line-height:1.6;margin-bottom:32px;text-align:left;white-space:pre-wrap;word-wrap:break-word}.tutorial-text p{margin:0 0 16px}.tutorial-text p:last-child{margin-bottom:0}.tutorial-navigation{display:flex;justify-content:space-between;gap:12px;margin-bottom:24px}.tutorial-nav-button{flex:1;--padding-start: 20px;--padding-end: 20px;min-height:44px}.tutorial-dots{display:flex;justify-content:center;gap:8px;padding-top:8px;flex-wrap:wrap}.tutorial-dot{width:8px;height:8px;border-radius:50%;background-color:var(--ion-color-light-shade);cursor:pointer;transition:all .2s ease;flex-shrink:0}.tutorial-dot.active{background-color:var(--ion-color-success);transform:scale(1.3)}.tutorial-dot.completed{background-color:var(--ion-color-success-tint)}.tutorial-dot:hover{transform:scale(1.2)}@media (max-width: 576px){.tutorial-modal{--width: 100%;--max-width: 100%;--height: 100%;--max-height: 100vh}.tutorial-container{padding:12px 8px;justify-content:flex-start}.tutorial-card{box-shadow:none}.tutorial-title{font-size:1.3rem;margin-bottom:16px}.tutorial-text{font-size:.9rem;margin-bottom:24px;line-height:1.5}.tutorial-text p{margin-bottom:12px}.tutorial-navigation{gap:8px;margin-bottom:16px}.tutorial-nav-button{--padding-start: 12px;--padding-end: 12px;font-size:.9rem}.tutorial-step-indicator{font-size:.75rem;margin-bottom:12px}.tutorial-dots{gap:6px}.tutorial-dot{width:10px;height:10px}}@media (max-width: 375px){.tutorial-title{font-size:1.1rem}.tutorial-text,.tutorial-nav-button{font-size:.85rem}}@media (max-height: 600px){.tutorial-modal{--max-height: 100vh}.tutorial-container{min-height:auto;justify-content:flex-start}.tutorial-text{margin-bottom:20px}.tutorial-navigation{margin-bottom:16px}}body.dark .tutorial-content{--background: #1a1a1a}body.dark .tutorial-card{--background: #2a2a2a}body.dark .tutorial-title{color:#fff}body.dark .tutorial-text,body.dark .tutorial-text p{color:#ccc}body.dark .tutorial-step-indicator{color:#999}.starter-selector{max-width:1200px;margin:0 auto;padding:20px;overflow-y:auto;max-height:100vh;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.starter-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.starter-header{text-align:center;margin-bottom:32px}.starter-header h2{font-size:2rem;font-weight:700;color:var(--ion-color-dark);margin:0 0 12px}.starter-subtitle{font-size:1.1rem;color:var(--ion-color-medium);line-height:1.5;max-width:600px;margin:0 auto}.starter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:32px}.starter-card{cursor:pointer;transition:all .3s ease;border:3px solid transparent;position:relative;overflow:visible}.starter-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.15)}.starter-card.selected{border-color:var(--ion-color-success);box-shadow:0 8px 24px rgba(var(--ion-color-success-rgb),.3);transform:translateY(-4px)}.starter-card-inner{position:relative}.selected-badge{position:absolute;top:12px;right:12px;width:40px;height:40px;background-color:var(--ion-color-success);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.2)}.selected-badge ion-icon{font-size:24px;color:#fff}.starter-image-container{width:100%;height:200px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ion-color-light) 0%,var(--ion-color-light-shade) 100%);padding:16px;border-radius:12px 12px 0 0}.starter-image{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.starter-ascii-art{font-family:Courier New,monospace;font-size:16px;line-height:1.2;margin:0;color:#333;white-space:pre;text-align:center}.starter-placeholder{font-size:80px;line-height:1}.starter-info{padding:16px}.starter-name{font-size:1.5rem;font-weight:700;color:var(--ion-color-dark);margin:0 0 12px;text-align:center}.starter-types{display:flex;justify-content:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.type-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.type-icon{font-size:16px}.starter-description{font-size:.95rem;color:var(--ion-color-medium);line-height:1.5;text-align:center;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.starter-actions{max-width:600px;margin:0 auto 32px;text-align:center}.starter-confirmation-text{display:block;margin-bottom:16px}.starter-confirmation-text p{font-size:1rem;line-height:1.5}.confirm-starter-button{font-size:1.1rem;font-weight:600;--padding-top: 16px;--padding-bottom: 16px}.starter-hint{display:block;font-style:italic}.starter-hint p{font-size:1rem}@media (max-width: 768px){.starter-selector{padding:16px;max-height:100vh;overflow-y:auto;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.starter-header h2{font-size:1.5rem}.starter-subtitle{font-size:1rem}.starter-grid{grid-template-columns:1fr;gap:16px}.starter-card{max-width:400px;margin:0 auto;width:100%}.starter-image-container{height:180px}.starter-ascii-art{font-size:14px}.starter-actions{margin-bottom:24px}}@media (max-width: 480px){.starter-selector{padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.starter-header h2,.starter-name{font-size:1.3rem}.starter-description{font-size:.875rem;-webkit-line-clamp:2}.starter-ascii-art{font-size:12px}.starter-placeholder{font-size:60px}}body.dark .starter-ascii-art{color:#eee}body.dark .starter-image-container{background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.victory-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:10000;animation:victoryFadeIn .3s ease-in}@keyframes victoryFadeIn{0%{opacity:0}to{opacity:1}}.victory-content{background:#fff;border-radius:16px;padding:24px 20px;text-align:center;max-width:320px;width:90%;box-shadow:0 10px 40px rgba(0,0,0,.3);animation:victoryBounceIn .6s cubic-bezier(.68,-.55,.265,1.55);position:relative;overflow:hidden}@keyframes victoryBounceIn{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.victory-trophy{font-size:60px;margin-bottom:12px;display:block;animation:victoryTrophySpin 1.5s ease-in-out;filter:drop-shadow(0 4px 8px rgba(255,215,0,.4))}@keyframes victoryTrophySpin{0%{transform:rotate(0) scale(0)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}.victory-title{font-size:24px;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 12px}.victory-message{font-size:14px;color:#333;line-height:1.5;margin:0 0 16px}.victory-stats{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;padding:12px;margin:0 0 16px}.victory-stat{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:700;color:#667eea}.victory-stat ion-icon{font-size:20px;color:gold}.victory-button{font-size:14px;font-weight:700;height:44px;--padding-start: 16px;--padding-end: 16px}.victory-confetti{position:absolute;width:8px;height:8px;pointer-events:none;animation:victoryConfettiFall 3s ease-out forwards}@keyframes victoryConfettiFall{0%{transform:translateY(-100px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@media (max-width: 480px){.victory-content{padding:20px 16px;max-width:280px}.victory-trophy{font-size:48px;margin-bottom:8px}.victory-title{font-size:20px;margin-bottom:8px}.victory-message{font-size:13px;margin-bottom:12px}.victory-stats{padding:10px;margin-bottom:12px}.victory-stat{font-size:12px;gap:6px}.victory-stat ion-icon{font-size:18px}.victory-button{font-size:12px;height:40px}}.habitat-grid-container{padding:16px}.habitat-nav-card{margin-bottom:12px}.habitat-nav-header{padding-top:8px;padding-bottom:8px}.habitat-nav-controls{display:flex;align-items:center;justify-content:space-between}.habitat-title{margin:0;text-align:center;flex:1;font-size:16px}.nav-button{--padding-start: 4px;--padding-end: 4px}.habitat-nav-content{padding-top:4px;padding-bottom:8px}.habitat-capacity{text-align:center;font-size:12px}.habitat-hint{text-align:center;font-size:12px;color:#ccc;margin-top:4px;font-weight:600}.habitat-hint.active{color:#4caf50}.habitat-slots-card{margin-bottom:12px}.slots-header{padding-top:8px;padding-bottom:8px}.section-title{font-size:16px}.slots-content{padding-top:4px;padding-bottom:8px}.habitat-creature-card{margin:0;cursor:pointer;border:2px solid transparent;background:#fff;transition:all .2s}.habitat-creature-card.selected{border-color:var(--ion-color-success)}.habitat-creature-card.in-habitat{background:#d4f1d4}.habitat-creature-card.unplaced{background:#fff}.habitat-creature-content{padding:8px;text-align:center}.creature-image-container{font-size:32px;margin-bottom:4px}.ascii-art-small{font-family:monospace;font-size:12px;line-height:1;margin:0;color:#000}.placeholder-icon{font-size:32px}.creature-name{font-size:12px;font-weight:600;margin-bottom:4px;color:#000}.creature-types{display:flex;gap:2px;justify-content:center;margin-bottom:4px;flex-wrap:wrap}.type-badge-small{font-size:8px;padding:1px 4px}.creature-happiness{font-size:12px;color:#666;margin-bottom:4px}.creature-actions{display:flex;gap:2px;justify-content:center}.action-button{margin:0;flex:1;--padding-start: 2px;--padding-end: 2px;height:28px}.companion-icon{color:#999;font-size:16px}.companion-icon.active{color:gold}.empty-slot{margin:0;background:#f5f5f5;border:2px dashed #ccc;cursor:default;min-height:120px;display:flex;align-items:center;justify-content:center}.empty-slot.selectable{background:#e8f5e9;cursor:pointer}.empty-slot-content{padding:20px;text-align:center}.add-icon{font-size:32px;color:#999}.add-icon.active{color:#4caf50}.empty-slot-icon{font-size:32px;opacity:.3}.empty-slot-text{font-size:12px;color:#999;margin-top:4px}.empty-slot-text.active{font-size:12px;color:#4caf50;font-weight:600}.available-creatures-card{margin-bottom:12px}.available-header{padding-top:8px;padding-bottom:8px}.available-content{padding-top:4px;padding-bottom:8px}.available-hint{font-size:12px;margin-bottom:8px}.storage-slot{margin:0;background:#f5f5f5;border:2px dashed #ccc;cursor:default;min-height:120px;display:flex;align-items:center;justify-content:center}.storage-slot.selectable{background:#e8f5e9;cursor:pointer}.storage-slot-content{padding:20px;text-align:center}.storage-slot-icon{font-size:32px;opacity:.3}.storage-slot-text{font-size:12px;color:#999;margin-top:4px}.storage-slot-text.active{font-size:12px;color:#4caf50;font-weight:600}.no-habitat-message{text-align:center;margin:0}body:not(.dark) .habitat-title,body:not(.dark) .section-title,body:not(.dark) .habitat-capacity,body:not(.dark) .available-hint,body:not(.dark) .no-habitat-message{color:#1f2937!important}body:not(.dark) .habitat-creature-card{background:#fff!important}body:not(.dark) .habitat-creature-card.in-habitat{background:#d4f1d4!important}body:not(.dark) .habitat-creature-card.unplaced{background:#fff!important}body:not(.dark) .creature-name{color:#000!important}body:not(.dark) .ascii-art-small{color:#000!important}body.dark .habitat-title,body.dark .section-title,body.dark .habitat-capacity,body.dark .available-hint,body.dark .no-habitat-message,body.dark .creature-name,body.dark .ascii-art-small{color:#fff!important}body.dark .creature-happiness{color:#ccc}body.dark .habitat-creature-card.in-habitat{background:#2a2a2a!important}body.dark .habitat-creature-card.unplaced{background:#1a1a1a!important}body.dark .empty-slot{background:#2a2a2a;border-color:#444}body.dark .empty-slot.selectable{background:#1a3d1a}body.dark .storage-slot{background:#2a2a2a;border-color:#444}body.dark .storage-slot.selectable{background:#1a3d1a}body.dark .empty-slot-text,body.dark .storage-slot-text{color:#ccc}body.dark .empty-slot-text.active,body.dark .storage-slot-text.active{color:#4caf50}body.dark .habitat-hint{color:#ccc}body.dark .habitat-hint.active{color:#4caf50}.capture-success-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-in}.capture-success-content{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:40px;text-align:center;max-width:500px;position:relative;overflow:visible;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.capture-success-emoji{font-size:80px;margin-bottom:20px;display:block;animation:spin 1s ease-in-out}@keyframes spin{0%{transform:rotate(0) scale(0)}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(360deg) scale(1)}}.capture-success-title{font-size:32px;font-weight:700;color:#fff;margin:0 0 16px;text-shadow:0 2px 10px rgba(0,0,0,.3)}.capture-success-creature{font-size:24px;font-weight:600;color:gold;margin:0 0 12px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.capture-success-stats{font-size:16px;color:rgba(255,255,255,.9);margin:0 0 20px}.capture-success-message{font-size:14px;color:rgba(255,255,255,.8);margin:0}.sparkle{position:absolute;width:10px;height:10px;background:#fff;border-radius:50%;pointer-events:none;animation:sparkleFloat 2s ease-out forwards;box-shadow:0 0 10px rgba(255,255,255,.8)}@keyframes sparkleFloat{0%{transform:translateY(0) scale(0);opacity:1}50%{transform:translateY(-100px) scale(1);opacity:1}to{transform:translateY(-200px) scale(0);opacity:0}}.confetti{position:absolute;width:10px;height:10px;pointer-events:none;animation:confettiFall 3s ease-out forwards}@keyframes confettiFall{0%{transform:translateY(-100px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.star-burst{position:absolute;top:50%;left:50%;width:4px;height:4px;background:#fff;border-radius:50%;pointer-events:none;animation:starBurst 1s ease-out forwards;box-shadow:0 0 20px rgba(255,215,0,.8)}@keyframes starBurst{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(0);opacity:0}}.glow-pulse{position:absolute;top:50%;left:50%;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,215,0,.3) 0%,transparent 70%);transform:translate(-50%,-50%);animation:pulse 2s ease-in-out infinite;pointer-events:none}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.5}50%{transform:translate(-50%,-50%) scale(1.5);opacity:.2}}@media (max-width: 768px){.capture-success-content{padding:30px 20px;margin:20px}.capture-success-emoji{font-size:60px}.capture-success-title{font-size:24px}.capture-success-creature{font-size:20px}}.territory-list-container{max-width:1200px;margin:0 auto;padding:16px}.companion-card-display{margin-bottom:16px;background:#d4f1d4;border:2px solid var(--ion-color-success)}.companion-card-content{padding:12px}.companion-display-row{display:flex;align-items:center;gap:12px}.companion-label{font-size:12px;color:#1b5e20;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.companion-info-inline{display:flex;align-items:center;gap:8px;flex:1}.companion-name-text{font-size:16px;font-weight:600;color:#1b5e20}.companion-type-badge{font-size:12px;padding:2px 6px}.capture-limit-card{margin-bottom:16px}.capture-limit-card.good{background:#e3f2fd;border:2px solid var(--ion-color-primary)}.capture-limit-card.warning{background:#fff3cd;border:2px solid #ffc107}.capture-limit-content{padding:12px}.capture-limit-display{display:flex;align-items:center;justify-content:space-between}.capture-limit-info{flex:1}.capture-limit-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.capture-limit-card.good .capture-limit-label{color:#0d47a1}.capture-limit-card.warning .capture-limit-label{color:#856404}.capture-limit-count{font-size:20px;font-weight:700}.capture-limit-card.good .capture-limit-count{color:#0d47a1}.capture-limit-card.warning .capture-limit-count{color:#856404}.capture-limit-reset{font-size:12px;margin-top:2px}.capture-limit-card.good .capture-limit-reset{color:#0d47a1}.capture-limit-card.warning .capture-limit-reset{color:#856404}.get-unlimited-button{margin-left:12px}.warning-content,.danger-content{color:#000;text-align:center}.danger-text{margin:8px 0 0}.go-to-habitats-button{margin-top:12px}.encounter-selection-card{margin-top:16px;background:#d4f1d4;border:3px solid #2e7d32}.encounter-selection-title{color:#1b5e20}.encounter-selection-hint{color:#2e7d32;margin-bottom:16px}.encounter-option-card{margin:0;background:#e8f5e8;border:2px solid #2e7d32}.encounter-option-content{text-align:center;padding:12px}.encounter-option-ascii{background:#f5f5f5;padding:8px;border-radius:8px;margin-bottom:12px;font-family:monospace;font-size:12px;line-height:1.1;color:#333;white-space:pre;height:80px;display:flex;align-items:center;justify-content:center}.encounter-option-name{color:#1b5e20;margin-bottom:8px;font-size:.95rem}.encounter-option-types{display:flex;gap:4px;justify-content:center;margin-bottom:8px}.encounter-option-badge{padding:4px 8px;font-size:.7rem}.cancel-encounter-button{margin-top:16px}.unlock-hint-card{margin-top:16px;background:#cfe2ff;border:2px solid var(--ion-color-primary)}.unlock-hint-content{color:#000;text-align:center}.territory-section-header{margin-top:24px;margin-bottom:16px;font-size:20px;font-weight:700}.territory-section-header.completed,.territory-section-header.locked{color:#999}.territory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.territory-card-item{margin:0;background:#fff}.territory-card-item.completed,.territory-card-item.locked{opacity:.6;background:#f8f9fa}.territory-card-title{color:#000;display:flex;align-items:center;gap:10px;font-size:16px}.territory-card-title.completed-title{color:#666}.territory-card-title.locked-title{color:#000}.completed-icon,.locked-icon{margin-left:auto}.territory-card-content{color:#000}.territory-card-description{font-size:13px;margin-bottom:12px;line-height:1.4;color:#666}.completed-notice{font-size:12px;margin-bottom:12px;font-style:italic;color:#666}.unlock-requirement{font-size:12px;color:#666;margin:0}.explore-button{margin-top:8px}.explore-button.completed-button{opacity:.5}@media (max-width: 768px){.territory-list-container{padding:12px}.territory-grid{grid-template-columns:1fr}.territory-section-header{font-size:18px}}body:not(.dark) .territory-section-header,body:not(.dark) .territory-section-header.completed,body:not(.dark) .territory-section-header.locked{color:#1f2937!important}body:not(.dark) .territory-card-item{background:#fff!important}body:not(.dark) .territory-card-item.completed{background:#f8f9fa!important}body:not(.dark) .territory-card-item.locked{background:#f8f9fa!important}body:not(.dark) .territory-card-title,body:not(.dark) .territory-card-title.completed-title,body:not(.dark) .territory-card-title.locked-title{color:#000!important}body:not(.dark) .territory-card-title.completed-title{color:#666!important}body:not(.dark) .territory-card-description,body:not(.dark) .completed-notice,body:not(.dark) .unlock-requirement{color:#666!important}body:not(.dark) .territory-card-content{color:#000!important}body:not(.dark) .encounter-option-ascii{background:#f5f5f5!important;color:#333!important}body:not(.dark) .encounter-option-name{color:#1b5e20!important}body.dark .companion-label,body.dark .companion-name-text{color:#1b5e20}body.dark .encounter-selection-title,body.dark .encounter-selection-hint,body.dark .encounter-option-name{color:#fff}body.dark .encounter-option-ascii{background:#333;color:#eee}body.dark .territory-section-header,body.dark .territory-section-header.completed,body.dark .territory-section-header.locked{color:#fff}body.dark .territory-card-item{background:#2a2a2a}body.dark .territory-card-item.completed{background:#1a1a1a}body.dark .territory-card-item.locked{background:#2a2a2a}body.dark .territory-card-title,body.dark .territory-card-title.completed-title,body.dark .territory-card-title.locked-title,body.dark .territory-card-description,body.dark .completed-notice,body.dark .unlock-requirement,body.dark .territory-card-content,body.dark .warning-content,body.dark .danger-content,body.dark .unlock-hint-content{color:#fff}.field-journal-container{max-width:1400px;margin:0 auto;padding:16px}.progress-card{margin-bottom:24px}.journal-title{font-size:24px;font-weight:700;margin:0 0 20px;text-align:center;color:var(--ion-color-primary)}.progress-section{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.progress-item{display:flex;flex-direction:column;gap:6px}.progress-label{display:flex;justify-content:space-between;align-items:center}.progress-text{font-size:14px;font-weight:600;color:#666}.progress-count{font-size:16px;font-weight:700;color:var(--ion-color-primary)}.journal-hint{font-size:13px;color:#666;line-height:1.6;margin:0;text-align:center}.journal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.journal-card{background:#fff;border:2px solid #dee2e6;border-radius:12px;padding:12px;text-align:center;transition:all .3s ease;position:relative;cursor:pointer}.journal-card.mystery{background:linear-gradient(135deg,#f8f9fa,#e9ecef);opacity:.6;cursor:default}.journal-card.discovered{border-color:#ffc107;background:linear-gradient(135deg,#fff9e6,#fff3cd)}.journal-card.captured{border-color:var(--ion-color-success);background:linear-gradient(135deg,#e8f5e8,#d1e7dd)}.journal-card.discovered:hover,.journal-card.captured:hover{transform:translateY(-4px);box-shadow:0 6px 16px rgba(0,0,0,.15)}.status-badge{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;z-index:10}.status-badge.badge-captured{background:var(--ion-color-success);color:#fff}.status-badge.badge-discovered{background:#ffc107;color:#000}.journal-image{width:100%;height:100px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;border-radius:8px;background:rgba(255,255,255,.8)}.journal-image.mystery-image{background:#f8f9fa}.journal-image img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}.journal-image .ascii-art-journal{font-family:Courier New,monospace;font-size:12px;line-height:1.1;margin:0;color:#333;white-space:pre}.journal-image .placeholder-journal{font-size:48px;line-height:1}.mystery-icon{font-size:48px;opacity:.5}.journal-name{font-size:13px;font-weight:600;color:#333;margin-bottom:6px;line-height:1.2;min-height:32px;display:flex;align-items:center;justify-content:center}.journal-types{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;margin-bottom:6px;min-height:22px}.type-badge-journal{font-size:12px;padding:2px 6px;font-weight:600;text-transform:uppercase}.journal-status{font-size:12px;font-weight:600;padding:4px 8px;border-radius:12px;display:inline-block}.journal-status.unknown{background:#e9ecef;color:#6c757d}.journal-status.status-discovered{background:#ffc107;color:#000}.journal-status.status-captured{background:var(--ion-color-success-tint);color:#000}.modal-content{--background: #f8f9fa}.creature-detail{padding:20px;max-width:600px;margin:0 auto}.detail-image{width:200px;height:200px;margin:0 auto 20px;background:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.1);padding:16px}.detail-image img{max-width:100%;max-height:100%;object-fit:contain}.detail-image .ascii-art-detail{font-family:Courier New,monospace;font-size:18px;line-height:1.2;margin:0;color:#333;white-space:pre}.detail-image .placeholder-detail{font-size:80px;line-height:1}.detail-name{font-size:28px;font-weight:700;text-align:center;color:#333;margin:0 0 12px}.detail-types{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.detail-status{text-align:center;margin-bottom:20px}.section-title{font-size:16px;font-weight:600;color:var(--ion-color-primary);margin:0 0 12px}.detail-description{font-size:14px;line-height:1.6;color:#555;margin:0}.compatibility-info{display:flex;flex-direction:column;gap:16px}.compatibility-section{padding:12px;border-radius:8px;background:#f8f9fa}.compatibility-section.happy{background:#e8f5e8;border:1px solid var(--ion-color-success)}.compatibility-section.unhappy{background:#fff5f5;border:1px solid var(--ion-color-danger)}.compatibility-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.compatibility-icon{font-size:20px}.compatibility-label{font-size:14px;font-weight:600;color:#333}.compatibility-tags{display:flex;flex-wrap:wrap;gap:6px}.tip-card{background:linear-gradient(135deg,#fff9e6,#fff3cd);border:2px solid #ffc107}.tip-card .section-title{color:#856404}@media (max-width: 768px){.field-journal-container{padding:12px}.journal-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}.journal-card{padding:10px}.journal-image{height:80px}.journal-image .ascii-art-journal{font-size:7px}.journal-name{font-size:12px;min-height:28px}.type-badge-journal{font-size:8px;padding:2px 4px}.detail-image{width:160px;height:160px}.detail-image .ascii-art-detail{font-size:14px}.detail-name{font-size:24px}.creature-detail{padding:16px}}body.dark .journal-card{--background: #2a2a2a;border-color:#444}body.dark .journal-card.mystery{background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}body.dark .journal-card.discovered{background:linear-gradient(135deg,#3d3520,#2a2510);border-color:#ffc107}body.dark .journal-card.captured{background:linear-gradient(135deg,#1a3d1a,#2a4d2a)}body.dark .journal-name{color:#fff}body.dark .journal-image,body.dark .detail-image{background:#333}body.dark .journal-image .ascii-art-journal,body.dark .detail-image .ascii-art-detail{color:#eee}body.dark .modal-content{--background: #1a1a1a}body.dark .detail-name,body.dark .compatibility-label{color:#fff}body.dark .detail-description{color:#ccc}body.dark .compatibility-section{background:#2a2a2a}body.dark .compatibility-section.happy{background:#1a3d1a}body.dark .compatibility-section.unhappy{background:#3d1a1a}body.dark .tip-card{background:linear-gradient(135deg,#3d3520,#2a2510)}body.dark .progress-text,body.dark .journal-hint{color:#ccc}.dice-match-content{--background: var(--ion-background-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dice-match-container{max-width:600px;margin:0 auto;padding:16px}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--ion-background-color);display:flex;align-items:center;justify-content:center;z-index:1000}.loading-content{text-align:center}.loading-spinner{font-size:64px;animation:spin 2s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(90deg)}}.stats-card{margin-bottom:16px}.stats-card .stat{text-align:center}.stats-card .stat-label{font-size:12px;color:var(--ion-color-medium);margin-bottom:4px}.stats-card .stat-value{font-size:20px;font-weight:700;color:var(--ion-color-primary)}.current-roll-card{background:linear-gradient(135deg,var(--ion-color-primary) 0%,var(--ion-color-secondary) 100%);color:#fff;margin-bottom:16px}.current-roll{display:flex;align-items:center;justify-content:space-between;gap:12px}.roll-label{font-size:14px;font-weight:500}.roll-die{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}.roll-emoji{font-size:32px}.roll-type{font-size:18px;font-weight:700}.roll-instruction{font-size:12px;opacity:.9}.game-grid-container{margin-bottom:16px;display:flex;justify-content:center}.game-grid{display:inline-block;background:var(--ion-color-light);padding:8px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.1)}.grid-row{display:flex;gap:8px;margin-bottom:8px}.grid-row:last-child{margin-bottom:0}.dice-cell{width:70px;height:70px;background:#fff;border:2px solid var(--ion-color-medium);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative}.dice-cell:hover{transform:scale(1.05);border-color:var(--ion-color-primary);box-shadow:0 2px 8px rgba(var(--ion-color-primary-rgb),.3)}.dice-cell.has-dice{cursor:default;border-color:transparent;animation:pop-in .5s cubic-bezier(.34,1.56,.64,1)}.dice-cell.has-dice:hover{transform:none;box-shadow:none}@keyframes pop-in{0%{transform:scale(0) rotate(-180deg);opacity:0;filter:brightness(2)}60%{transform:scale(1.15) rotate(10deg);opacity:1}80%{transform:scale(.95) rotate(-5deg)}to{transform:scale(1) rotate(0);opacity:1;filter:brightness(1)}}@keyframes merge-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes merge-combine{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}@keyframes merge-glow{0%,to{box-shadow:0 0 5px rgba(var(--ion-color-warning-rgb),.5)}50%{box-shadow:0 0 20px rgba(var(--ion-color-warning-rgb),.8),0 0 30px rgba(var(--ion-color-warning-rgb),.6)}}.dice-cell.merging{animation:merge-fade-out .3s ease-out forwards}.dice-cell.merge-result{animation:merge-combine .4s ease-out,merge-glow .6s ease-out}.dice-cell.locked{background:linear-gradient(135deg,gold,#ffed4e);animation:sparkle-pulse 2s infinite,sparkle-create .8s cubic-bezier(.34,1.56,.64,1)}@keyframes sparkle-pulse{0%,to{box-shadow:0 0 15px rgba(255,215,0,.6),0 0 30px rgba(255,215,0,.3)}50%{box-shadow:0 0 25px rgba(255,215,0,.9),0 0 50px rgba(255,215,0,.5),0 0 75px rgba(255,215,0,.3)}}@keyframes sparkle-create{0%{transform:scale(0) rotate(0);opacity:0;filter:brightness(3) saturate(2)}30%{transform:scale(1.5) rotate(180deg);opacity:1}60%{transform:scale(.9) rotate(300deg)}to{transform:scale(1) rotate(360deg);opacity:1;filter:brightness(1) saturate(1)}}.dice-content{text-align:center}.dice-emoji{font-size:32px;margin-bottom:4px}.dice-label{font-size:12px;font-weight:700;color:var(--ion-color-medium)}.dice-cell.dice-d4{background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.dice-cell.dice-d6{background:linear-gradient(135deg,#f3e5f5,#e1bee7)}.dice-cell.dice-d8{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.dice-cell.dice-d10{background:linear-gradient(135deg,#fff3e0,#ffe0b2)}.dice-cell.dice-d12{background:linear-gradient(135deg,#fce4ec,#f8bbd0)}.dice-cell.dice-d20{background:linear-gradient(135deg,#e0f2f1,#b2dfdb)}.dice-cell.dice-d100{background:linear-gradient(135deg,#f1f8e9,#dcedc8)}.game-grid.grid-size-4 .dice-cell{width:70px;height:70px}.game-grid.grid-size-5 .dice-cell{width:60px;height:60px}.game-grid.grid-size-6 .dice-cell{width:50px;height:50px}.upgrades-card{margin-bottom:16px}.upgrades-card h3{margin-top:0;margin-bottom:12px;font-size:16px;color:var(--ion-color-dark)}.upgrade-buttons{display:flex;flex-direction:column;gap:8px}.info-card h4{margin-top:0;margin-bottom:8px;font-size:14px;color:var(--ion-color-dark)}.info-card p{font-size:12px;line-height:1.6;margin-bottom:8px}.info-card p:last-child{margin-bottom:0}.leaderboard-list{margin-top:12px}.leaderboard-entry{display:flex;align-items:center;gap:12px;padding:8px;border-bottom:1px solid var(--ion-color-light);transition:background .2s ease}.leaderboard-entry:last-child{border-bottom:none}.leaderboard-entry:hover{background:var(--ion-color-light)}.leaderboard-rank{font-weight:700;color:var(--ion-color-primary);min-width:35px}.leaderboard-name{flex:1;font-size:14px;color:var(--ion-color-dark)}.leaderboard-score{font-weight:700;color:var(--ion-color-success);font-size:16px}.leaderboard-entry:nth-child(1) .leaderboard-rank{color:gold}.leaderboard-entry:nth-child(2) .leaderboard-rank{color:silver}.leaderboard-entry:nth-child(3) .leaderboard-rank{color:#cd7f32}@media (max-width: 576px){.game-grid.grid-size-4 .dice-cell{width:65px;height:65px}.dice-emoji,.roll-emoji{font-size:28px}}@media (max-width: 375px){.game-grid.grid-size-4 .dice-cell{width:60px;height:60px}.dice-emoji{font-size:24px}}.trinkets-card{margin-bottom:16px}.trinkets-list{display:flex;flex-direction:column;gap:8px}.trinket-item{display:flex;align-items:center;gap:12px;padding:10px;background:var(--ion-color-light);border-radius:8px;transition:all .2s ease}.trinket-item.active{background:rgba(var(--ion-color-warning-rgb),.1);border:1px solid var(--ion-color-warning)}.trinket-item .trinket-icon{font-size:28px;min-width:32px;text-align:center}.trinket-item .trinket-info{flex:1;display:flex;flex-direction:column;gap:4px}.trinket-item .trinket-name{font-size:14px;font-weight:600;color:var(--ion-color-dark)}.trinket-item ion-button{--padding-start: 12px;--padding-end: 12px;min-width:60px;font-size:12px}.trinkets-compact{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;padding:0 4px}.trinket-compact{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--ion-color-light);border:1px solid var(--ion-color-medium);border-radius:8px;transition:all .2s ease;min-height:36px}.trinket-compact.active{background:rgba(var(--ion-color-success-rgb),.1);border-color:var(--ion-color-success)}.trinket-compact.disabled{opacity:.5}.trinket-compact-icon{font-size:18px;line-height:1}.trinket-compact-name{font-size:12px;font-weight:600;color:var(--ion-color-dark);white-space:nowrap}.trinket-compact ion-button{--padding-start: 8px;--padding-end: 8px;--padding-top: 4px;--padding-bottom: 4px;font-size:12px;height:24px;margin:0}.trinket-compact ion-badge{font-size:12px;padding:2px 6px;height:auto}.dice-match-menu-content{--background: var(--ion-background-color)}.dice-match-menu-container{max-width:600px;margin:0 auto;padding:16px}.hero-card{background:linear-gradient(135deg,var(--ion-color-primary) 0%,var(--ion-color-secondary) 100%);color:#fff;text-align:center;margin-bottom:16px}.hero-content{padding:20px 0}.hero-icon{font-size:64px;margin-bottom:12px}.hero-content h1{margin:8px 0;font-size:32px;font-weight:700}.hero-content p{margin:8px 0 16px;opacity:.9;font-size:16px}.stat-box{text-align:center;padding:12px;background:var(--ion-color-light);border-radius:8px;margin-bottom:8px}.stat-label{font-size:12px;color:var(--ion-color-medium);margin-bottom:4px}.stat-value{font-size:24px;font-weight:700;color:var(--ion-color-primary)}.currency-display{display:flex;align-items:center;gap:16px;padding:8px 0}.currency-icon{font-size:48px}.currency-info{flex:1}.currency-label{font-size:14px;color:rgba(0,0,0,.7);font-weight:500}.currency-amount{font-size:32px;font-weight:700;color:#000;margin:4px 0}.currency-subtitle{font-size:12px;color:rgba(0,0,0,.6)}.upgrades-preview{margin-bottom:12px}.upgrade-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--ion-color-light)}.upgrade-item:last-child{border-bottom:none}.upgrade-name{font-size:14px;color:var(--ion-color-dark)}.leaderboard-list{display:flex;flex-direction:column;gap:12px}.leaderboard-entry{display:flex;align-items:center;gap:12px;padding:12px;background:var(--ion-color-light);border-radius:8px;transition:background .2s}.leaderboard-entry:hover{background:var(--ion-color-light-shade)}.rank-badge{font-size:24px;min-width:40px;text-align:center;font-weight:700}.player-info{flex:1;min-width:0}.player-name{font-size:16px;font-weight:600;color:var(--ion-color-dark);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-stats{display:flex;gap:12px;font-size:12px;color:var(--ion-color-medium)}.player-stats .score{font-weight:600;color:var(--ion-color-primary)}.player-stats .highest-die{font-weight:500;background:var(--ion-color-primary-tint);padding:2px 6px;border-radius:4px}.player-stats .sparkles{font-weight:500}.upgrades-content{--background: var(--ion-background-color)}.upgrades-container{max-width:600px;margin:0 auto;padding:16px}.currency-header{background:linear-gradient(135deg,gold,#ffed4e);margin-bottom:16px}.currency-display{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 0}.currency-icon{font-size:32px}.currency-amount{font-size:32px;font-weight:700;color:#000}.currency-label{font-size:14px;color:rgba(0,0,0,.7)}.upgrade-card{margin-bottom:16px;border:2px solid transparent;transition:all .2s ease}.upgrade-card:hover{border-color:var(--ion-color-primary);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--ion-color-primary-rgb),.2)}.upgrade-header{display:flex;align-items:flex-start;gap:12px}.upgrade-icon{font-size:40px;min-width:50px;text-align:center}.upgrade-title-section{flex:1}.upgrade-title-section ion-card-title{font-size:18px;margin-bottom:4px}.upgrade-description{font-size:13px;color:var(--ion-color-medium);margin:0}.upgrade-benefit{padding:12px;background:var(--ion-color-light);border-radius:8px;margin-bottom:8px;font-size:14px}.upgrade-next{padding:12px;background:linear-gradient(135deg,rgba(var(--ion-color-primary-rgb),.1),rgba(var(--ion-color-secondary-rgb),.1));border-radius:8px;margin-bottom:8px;font-size:14px;border:1px dashed var(--ion-color-primary)}.max-level-badge{text-align:center;padding:12px;background:var(--ion-color-success);color:#fff;border-radius:8px;font-weight:700;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:8px}.info-card ul{margin:0;padding-left:20px;font-size:14px;line-height:1.6}.info-card li{margin-bottom:8px}@media (max-width: 576px){.upgrade-header{flex-direction:column;align-items:center;text-align:center}.upgrade-icon{font-size:48px}.currency-display{flex-direction:column;gap:8px}}.trinkets-content{--background: var(--ion-background-color)}.trinkets-container{max-width:800px;margin:0 auto;padding:16px}.currency-card{background:linear-gradient(135deg,gold,#ffed4e);margin-bottom:16px}.currency-display{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 0}.currency-icon{font-size:40px}.currency-info{text-align:left}.currency-amount{font-size:32px;font-weight:700;color:#000;line-height:1}.currency-label{font-size:14px;color:rgba(0,0,0,.7);margin-top:4px}ion-segment{margin-bottom:16px}.trinkets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:16px}.trinket-card{margin:0;transition:all .2s ease}.trinket-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px rgba(0,0,0,.2)}.trinket-card.rarity-common{border-left:4px solid #9e9e9e}.trinket-card.rarity-uncommon{border-left:4px solid #4caf50}.trinket-card.rarity-rare{border-left:4px solid #2196f3}.trinket-card.rarity-epic{border-left:4px solid #9c27b0}.trinket-card.rarity-legendary{border-left:4px solid #ff9800;box-shadow:0 0 20px rgba(255,152,0,.3)}.trinket-header{display:flex;align-items:flex-start;gap:12px}.trinket-icon{font-size:48px;min-width:60px;text-align:center}.trinket-title-section{flex:1}.trinket-title-section ion-card-title{font-size:18px;margin-bottom:8px}.trinket-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.trinket-badges ion-badge{font-size:12px}.trinket-description{font-size:14px;color:var(--ion-color-medium);margin-bottom:12px;line-height:1.4}.trinket-effect{padding:10px;background:var(--ion-color-light);border-radius:6px;margin-bottom:8px;font-size:13px}.trinket-quantity{padding:8px;background:rgba(var(--ion-color-success-rgb),.1);border-radius:6px;margin-bottom:8px;font-size:13px;color:var(--ion-color-success)}.trinket-cost{display:flex;align-items:center;gap:8px;padding:10px;background:linear-gradient(135deg,rgba(255,215,0,.1),rgba(255,237,78,.1));border-radius:6px;margin-bottom:12px;font-size:14px;font-weight:600}.trinket-cost ion-icon{font-size:20px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.loading-container p{color:var(--ion-color-medium);font-size:14px}.empty-state{text-align:center;padding:40px 20px}.empty-icon{font-size:80px;margin-bottom:16px;opacity:.5}.empty-state h3{margin-top:0;margin-bottom:8px;color:var(--ion-color-dark)}.empty-state p{color:var(--ion-color-medium);margin-bottom:20px}.info-card{background:var(--ion-color-light)}.info-card h4{margin-top:0;margin-bottom:12px;font-size:16px;color:var(--ion-color-dark)}.info-card ul{margin:0;padding-left:20px;font-size:14px;line-height:1.8}.info-card li{margin-bottom:8px;color:var(--ion-color-medium-shade)}.info-card li:last-child{margin-bottom:0}@media (max-width: 576px){.trinkets-grid{grid-template-columns:1fr}.trinket-header{flex-direction:column;align-items:center;text-align:center}.trinket-icon{font-size:64px}.currency-display{flex-direction:column;gap:8px}.currency-info{text-align:center}}@keyframes trinket-glow{0%,to{box-shadow:0 0 10px rgba(255,152,0,.3)}50%{box-shadow:0 0 20px rgba(255,152,0,.6)}}.trinket-card.rarity-legendary{animation:trinket-glow 2s infinite}.crossroads-setup-menu{padding:20px;max-width:600px;margin:0 auto}.crossroads-game{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:10px;gap:10px}.game-status{position:sticky;top:0;z-index:100;background:var(--ion-background-color);margin:-16px -16px 12px}.game-status ion-card{margin:0;box-shadow:0 2px 4px rgba(0,0,0,.1)}.game-status ion-card-content{padding:6px 12px}.status-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:.9rem}.game-over-card{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;min-width:300px;box-shadow:0 10px 30px rgba(0,0,0,.5)}.opponent-area{background:rgba(255,100,100,.1);padding:10px;border-radius:8px}.player-area{background:rgba(100,100,255,.1);padding:10px;border-radius:8px}.commander-card{margin-bottom:10px}.commander-info{display:flex;align-items:center;gap:8px;font-size:1.2rem;margin-bottom:8px}.commander-subtitle{font-size:.9rem;color:var(--ion-color-medium)}.commander-abilities{margin-top:15px}.commander-abilities h4{margin:10px 0;font-size:.9rem;color:var(--ion-color-primary)}.ability-button{margin:8px 0;--padding-start: 10px;--padding-end: 10px}.ability-content{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left;padding:5px 0}.ability-cost{display:flex;gap:5px;flex-wrap:wrap}.ability-description{font-size:.85rem;font-weight:400}.battlefield{margin:10px 0}.creature-zone{display:flex;flex-wrap:wrap;gap:10px;min-height:100px;padding:10px;background:rgba(255,255,255,.05);border-radius:8px;margin-bottom:10px}.battlefield-creature{width:120px;cursor:pointer;transition:transform .2s}.battlefield-creature:hover{transform:scale(1.05)}.battlefield-creature.tapped{transform:rotate(90deg);opacity:.7}.creature-stats{display:flex;align-items:center;gap:5px;font-size:1.1rem;font-weight:700;margin-bottom:8px}.mana-zone{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.mana-pool{display:flex;gap:8px;flex-wrap:wrap}.environment-zone{margin:10px 0}.environment-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center}.hand-zone{margin-top:15px}.hand-cards{display:flex;gap:10px;overflow-x:auto;padding:10px 0;min-height:200px}.game-card{min-width:150px;max-width:150px;cursor:pointer;transition:all .2s;border:2px solid transparent}.game-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,.3)}.game-card.selected{border-color:var(--ion-color-primary);box-shadow:0 0 10px var(--ion-color-primary)}.card-stats{display:flex;align-items:center;gap:5px;font-size:1.3rem;font-weight:700;margin-bottom:10px}.card-cost{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}.flavor-text{font-size:.75rem;font-style:italic;color:var(--ion-color-medium);margin-top:8px}.flavor-text p{margin:0}.hand-count{display:flex;gap:10px;margin-top:10px}.game-controls{margin-top:15px;position:sticky;bottom:0;background:var(--ion-background-color);padding:10px 0}.mt-4{margin-top:16px}.combat-ui{margin:15px 0;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.combat-panel{background:linear-gradient(135deg,#ff6b6b,#c92a2a);color:#fff;border:3px solid #ff8787}.combat-panel ion-card-title{color:#fff;display:flex;align-items:center;gap:8px}.combat-stats{margin:15px 0;text-align:center}.combat-buttons{display:flex;flex-direction:column;gap:10px;margin-top:15px}.target-options{display:flex;flex-direction:column;gap:10px;margin:15px 0}.target-instruction{text-align:center;font-size:.9rem;font-style:italic;margin:10px 0;color:rgba(255,255,255,.9)}.combat-summary{background:rgba(0,0,0,.3);padding:15px;border-radius:8px;margin:15px 0;list-style-type:none}.combat-summary li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.2)}.combat-summary li:last-child{border-bottom:none}.battlefield-creature.can-attack{border:2px solid #51cf66;cursor:pointer;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 5px #51cf66}50%{box-shadow:0 0 15px #51cf66}}.battlefield-creature.attacking{border:3px solid #ff6b6b;background:linear-gradient(135deg,rgba(255,107,107,.2),rgba(201,42,42,.2));animation:attackPulse 1s infinite}@keyframes attackPulse{0%,to{box-shadow:0 0 10px #ff6b6b;transform:scale(1)}50%{box-shadow:0 0 20px #ff6b6b;transform:scale(1.05)}}.battlefield-creature.targeted{border:3px solid #ffd43b;box-shadow:0 0 15px #ffd43b}.battlefield-creature.type-advantage{border:3px solid #51cf66!important;box-shadow:0 0 20px #51cf66!important}.battlefield-creature.type-advantage:before{content:"⚡";position:absolute;top:-10px;right:-10px;font-size:1.5rem;animation:sparkle 1s infinite}@keyframes sparkle{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.2) rotate(15deg)}}.battlefield-creature ion-badge{margin:3px;font-size:.7rem}@keyframes attack{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}@keyframes damage{0%,to{background-color:transparent}50%{background-color:rgba(255,0,0,.5)}}@media (max-width: 768px){.crossroads-game{padding:8px;gap:8px}.game-card{min-width:110px;max-width:110px}.battlefield-creature{width:90px}.creature-zone{gap:8px;padding:8px;min-height:80px}.status-row,.combat-panel{font-size:.85rem}.combat-summary{font-size:.8rem}.hand-cards{gap:8px;min-height:170px}.opponent-area,.player-area{padding:8px}.commander-info{font-size:1rem}.commander-abilities h4{font-size:.85rem}.ability-description{font-size:.8rem}.mana-pool{gap:6px}.game-controls{padding:8px 0}.card-display-small{width:60px;height:84px}.card-display-medium{width:120px;height:168px}}@media (max-width: 480px){.crossroads-game{padding:6px;gap:6px}.game-card{min-width:100px;max-width:100px}.battlefield-creature{width:80px}.creature-zone{gap:6px;padding:6px;min-height:70px}.hand-cards{gap:6px;min-height:150px}.opponent-area,.player-area{padding:6px}.commander-info{font-size:.9rem;gap:6px}.status-row{font-size:.8rem;gap:6px}.mana-pool{gap:4px}.card-display-small{width:50px;height:70px}.card-display-medium{width:100px;height:140px}.commander-card .ion-card-content>div[style*=flex]{flex-direction:column!important;align-items:center!important}.ability-description{font-size:.75rem}.flavor-text{font-size:.7rem}.combat-panel{font-size:.8rem}.combat-summary{font-size:.75rem;padding:10px}}.targeting-banner{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:15px;margin:10px 0;border-radius:8px;text-align:center;font-weight:700;box-shadow:0 4px 6px rgba(0,0,0,.1);animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 4px 6px rgba(102,126,234,.4)}50%{box-shadow:0 4px 20px rgba(102,126,234,.8)}}.targeting-banner-text{font-size:1.1rem;margin-bottom:8px}.targeting-banner-subtext{font-size:.9rem;opacity:.9}.battlefield-creature.targetable,.commander-card.targetable{border:2px solid #667eea;box-shadow:0 0 15px rgba(102,126,234,.5);cursor:pointer;transition:all .2s ease;animation:targetable-pulse 1.5s ease-in-out infinite}@keyframes targetable-pulse{0%,to{border-color:#667eea;box-shadow:0 0 15px rgba(102,126,234,.5)}50%{border-color:#764ba2;box-shadow:0 0 25px rgba(118,75,162,.8)}}.battlefield-creature.targetable:hover,.commander-card.targetable:hover{transform:scale(1.05) translateY(-5px);box-shadow:0 5px 30px rgba(102,126,234,.9);border-color:#764ba2}.battlefield-creature.selected-target,.commander-card.selected-target{border:3px solid #10dc60;box-shadow:0 0 20px rgba(16,220,96,.8);background:linear-gradient(135deg,rgba(16,220,96,.1),rgba(16,220,96,.05))}.battlefield-creature.selected-target:after,.commander-card.selected-target:after{content:"✓";position:absolute;top:5px;right:5px;background:#10dc60;color:#fff;width:25px;height:25px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;box-shadow:0 2px 8px rgba(0,0,0,.3)}.targeting-controls{display:flex;gap:10px;justify-content:center;margin-top:10px}.targeting-controls ion-button{flex:1;max-width:200px}.chat-overlay{position:fixed;bottom:20px;right:20px;z-index:1000;transition:all .3s ease}.chat-toggle{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.chat-toggle .toggle-button{--border-radius: 50%;width:48px;height:48px;--box-shadow: 0 4px 12px rgba(0, 0, 0, .3);transition:transform .2s ease}.chat-toggle .toggle-button:hover{transform:scale(1.1)}.chat-toggle .message-badge{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;border-radius:10px;font-size:12px}.chat-overlay.expanded{width:400px;max-width:calc(100vw - 40px)}.chat-card{margin:0;max-height:500px;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(0,0,0,.3)}.chat-header{display:flex;align-items:center;gap:8px;font-size:1rem;padding:0}.chat-header ion-icon{font-size:20px}.chat-header span{flex:1}.chat-content{padding:0;display:flex;flex-direction:column;height:400px;max-height:400px}.messages-container{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.message{animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.event-message{padding:6px 10px;background:var(--ion-color-light);border-radius:8px;border-left:3px solid var(--ion-color-medium)}.event-text{font-size:.9rem;display:block}.chat-message{padding:8px 12px;border-radius:12px;max-width:85%}.own-message{align-self:flex-end;background:var(--ion-color-primary);color:#fff}.own-message .message-header ion-text{color:rgba(255,255,255,.9)}.own-message .message-body ion-text{color:#fff}.other-message{align-self:flex-start;background:var(--ion-color-light)}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;gap:8px}.message-header strong{font-size:.85rem}.message-header small{font-size:.75rem;opacity:.7}.message-body{font-size:.95rem;word-wrap:break-word}.message-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--ion-color-light);background:var(--ion-background-color)}.chat-input{flex:1;--background: var(--ion-color-light);--padding-start: 12px;--padding-end: 12px;border-radius:20px}.message-input ion-button{--border-radius: 50%;width:40px;height:40px}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:var(--ion-color-light);border-radius:3px}.messages-container::-webkit-scrollbar-thumb{background:var(--ion-color-medium);border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:var(--ion-color-dark)}@media (max-width: 768px){.chat-overlay.expanded{width:calc(100vw - 40px);right:20px;bottom:20px}.chat-content{height:300px;max-height:300px}}.shield-indicator{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-weight:600;animation:shieldPulse .5s ease-out;box-shadow:0 2px 8px rgba(var(--ion-color-success-rgb),.4)}.shield-indicator.compact{padding:2px 6px;font-size:.75rem}.shield-indicator ion-icon{font-size:1rem}.shield-indicator.compact ion-icon{font-size:.85rem}.shield-amount{font-size:.9rem;line-height:1}@keyframes shieldPulse{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.dice-roll-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;animation:diceFloat 2s ease-out forwards;pointer-events:none}.dice-badge{font-size:2rem;padding:16px 24px;box-shadow:0 4px 20px rgba(var(--ion-color-primary-rgb),.6);animation:diceSpin .5s ease-out}.reroll-label{display:block;text-align:center;margin-top:8px;font-weight:600;color:var(--ion-color-warning);font-size:.9rem;animation:labelFade .3s ease-out}.dice-roll-indicator.reroll .dice-badge{animation:diceSpin .5s ease-out,rerollPulse .6s ease-out;box-shadow:0 4px 20px rgba(var(--ion-color-warning-rgb),.6)}@keyframes diceFloat{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}80%{opacity:1;transform:translate(-50%,-60%) scale(1)}to{opacity:0;transform:translate(-50%,-70%) scale(.9)}}@keyframes diceSpin{0%{transform:rotate(0) scale(.5)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}@keyframes rerollPulse{0%,to{box-shadow:0 4px 20px rgba(var(--ion-color-warning-rgb),.6)}50%{box-shadow:0 4px 30px rgba(var(--ion-color-warning-rgb),1)}}@keyframes labelFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tutorial-overlay-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);z-index:9998;animation:fadeIn .3s ease-out}.tutorial-card-container{position:fixed;z-index:9999;max-width:90%;width:400px;animation:slideIn .3s ease-out}.tutorial-card-container.tutorial-center{top:50%;left:50%;transform:translate(-50%,-50%)}.tutorial-card-container.tutorial-top{top:80px;left:50%;transform:translate(-50%)}.tutorial-card-container.tutorial-bottom{bottom:20px;left:50%;transform:translate(-50%)}.tutorial-card-container.tutorial-left{top:50%;left:20px;transform:translateY(-50%)}.tutorial-card-container.tutorial-right{top:50%;right:20px;transform:translateY(-50%)}.tutorial-card{box-shadow:0 8px 32px rgba(0,0,0,.5);border:2px solid var(--ion-color-primary);margin:0}.tutorial-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.tutorial-header ion-card-title{flex:1}.tutorial-description{line-height:1.6;margin:12px 0;font-size:1rem}.tutorial-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:16px;flex-wrap:wrap}.tutorial-actions ion-button{flex:1;min-width:fit-content}.tutorial-highlight{position:relative;z-index:9999;box-shadow:0 0 0 4px var(--ion-color-primary),0 0 0 8px rgba(var(--ion-color-primary-rgb),.3),0 4px 20px rgba(var(--ion-color-primary-rgb),.5)!important;border-radius:8px!important;animation:tutorialPulse 2s ease-in-out infinite}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes tutorialPulse{0%,to{box-shadow:0 0 0 4px var(--ion-color-primary),0 0 0 8px rgba(var(--ion-color-primary-rgb),.3),0 4px 20px rgba(var(--ion-color-primary-rgb),.5)}50%{box-shadow:0 0 0 4px var(--ion-color-primary),0 0 0 12px rgba(var(--ion-color-primary-rgb),.4),0 4px 25px rgba(var(--ion-color-primary-rgb),.7)}}@media (max-width: 768px){.tutorial-card-container{width:95%;max-width:95%}.tutorial-actions{flex-direction:column}.tutorial-actions ion-button{width:100%}}.modal-choice-dialog{--width: 90%;--max-width: 500px;--height: auto;--min-height: 300px;--max-height: 80%}.modal-choice-dialog ion-content{--background: var(--ion-background-color);--padding-top: 16px;--padding-bottom: 16px;min-height:200px}.modal-choice-dialog ion-item{--background: var(--ion-item-background, var(--ion-background-color));--border-color: var(--ion-border-color);margin-bottom:8px;border-radius:8px}.modal-choice-dialog ion-item:hover{--background: var(--ion-color-light)}.modal-choice-dialog ion-item[disabled]{opacity:.5}.modal-choice-dialog ion-list{background:transparent;padding:0}.modal-choice-dialog ion-label h3{font-weight:600;margin-bottom:4px}.modal-choice-dialog ion-label p{font-size:12px;color:var(--ion-color-medium);margin-top:4px}.target-selector-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease-in-out}.target-selector-card{max-width:600px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 8px 32px rgba(0,0,0,.4);animation:slideUp .3s ease-out}.target-selector-title{color:var(--ion-color-primary);display:flex;align-items:center;gap:8px}.target-selector-description{margin-bottom:20px}.target-selector-description p:first-child{font-size:1.05em;margin-bottom:12px}.target-section{margin-bottom:24px}.target-section h3{font-size:1.1em;color:var(--ion-color-primary);margin-bottom:12px;border-bottom:2px solid var(--ion-color-primary);padding-bottom:6px}.target-list{display:flex;flex-direction:column;gap:8px}.target-option{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--ion-background-color);border:2px solid var(--ion-border-color);border-radius:8px;cursor:pointer;transition:all .2s ease}.target-option:hover:not(.disabled){background:var(--ion-color-light);transform:translate(4px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.target-option.selected{border-color:var(--ion-color-success);background:var(--ion-color-success-tint)}.target-option.disabled{opacity:.5;cursor:not-allowed}.target-info{display:flex;flex-direction:column;gap:4px}.target-info strong{font-size:1em}.target-selector-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}@media (max-width: 768px){.target-selector-overlay{padding:12px}.target-selector-card{max-height:90vh}.target-option{padding:10px}.target-info strong{font-size:.95em}}.card-display{position:relative;border-radius:12px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;background:transparent}.card-display.clickable{cursor:pointer}.card-display.clickable:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 20px rgba(0,0,0,.3)}.card-display.selected{box-shadow:0 0 0 3px #3880ff;transform:translateY(-2px)}.card-display.disabled{opacity:.5;cursor:not-allowed}.card-display-small{width:80px;height:112px}.card-display-medium{width:160px;height:224px}.card-display-large{width:240px;height:336px}.card-display.token.card-display-small{width:80px;height:80px}.card-display.token.card-display-medium{width:160px;height:160px}.card-display.token.card-display-large{width:240px;height:240px}.card-image-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.card-image{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease}.card-image.loaded{opacity:1}.card-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-image-fallback{padding:16px;text-align:center;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.card-image-fallback h3{font-size:14px;margin:0 0 8px;color:#fff}.card-image-fallback .creature-stats{font-size:24px;font-weight:700;color:#3880ff;margin:0}.card-details-overlay{position:absolute;bottom:0;left:0;right:0;padding:8px;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.7) 70%,transparent 100%);display:flex;flex-direction:column;align-items:center;gap:4px}.card-name{font-size:12px;font-weight:600;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.8)}.card-stats{display:flex;gap:4px}.card-display-small .card-name{font-size:8px}.card-display-large .card-name{font-size:16px}@media (max-width: 768px){.card-display-small .card-name{font-size:7px}.card-display-medium .card-name{font-size:12px}.card-display-large .card-name{font-size:14px}.card-details-overlay{padding:6px}}@media (max-width: 480px){.card-display-small .card-name{font-size:6px}.card-display-medium .card-name,.card-display-large .card-name{font-size:12px}.card-details-overlay{padding:4px;gap:2px}.card-stats{gap:2px}}.card-detail-modal{--max-width: 600px;--max-height: 90%}.card-detail-content{display:flex;flex-direction:column;gap:20px;padding:10px}.card-detail-image{display:flex;justify-content:center;align-items:center;padding:10px}.card-detail-info{display:flex;flex-direction:column;gap:16px}.card-detail-section{border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:12px}.card-detail-section:last-child{border-bottom:none}.card-detail-section h3{margin:0 0 8px;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.card-detail-section p{margin:4px 0;line-height:1.5}.card-detail-actions{padding:10px 0;position:sticky;bottom:0;background:var(--ion-background-color);border-top:1px solid rgba(255,255,255,.1)}.flavor-text{color:var(--ion-color-medium)}@media (max-width: 768px){.card-detail-modal{--max-height: 95%}.card-detail-content{gap:16px;padding:8px}.card-detail-section h3{font-size:.85rem}.card-detail-section p{font-size:.9rem}}@media (max-width: 480px){.card-detail-content{gap:12px;padding:6px}.card-detail-image{padding:5px}.card-detail-section h3{font-size:.8rem}.card-detail-section p{font-size:.85rem}}.mana-pool-card{margin:8px 0;box-shadow:0 2px 8px rgba(0,0,0,.15)}.mana-pool-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.mana-elements{display:flex;flex-direction:column;gap:8px}.mana-element{width:100%}.mana-element-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;color:#fff;font-weight:600;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .2s ease}.mana-element-bar:hover{transform:translate(4px)}.mana-element-icon{font-size:1.2em;line-height:1}.mana-element-name{flex:1;font-size:.95em;text-transform:capitalize}.mana-element-amount{font-size:1.1em;font-weight:700;padding:4px 10px}.mana-empty{padding:12px;text-align:center;background:var(--ion-color-light);border-radius:8px}.mana-sources-status{margin-top:12px;padding-top:12px;border-top:1px solid var(--ion-border-color);display:flex;flex-direction:column;gap:6px;align-items:center}.mana-source-dots{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.mana-source-dot{width:12px;height:12px;border-radius:50%;transition:all .3s ease;border:2px solid var(--ion-border-color)}.mana-source-dot.untapped{background:linear-gradient(135deg,#4ade80,#22c55e);box-shadow:0 0 8px rgba(34,197,94,.5);animation:pulse 2s ease-in-out infinite}.mana-source-dot.tapped{background:var(--ion-color-medium);opacity:.5}@keyframes pulse{0%,to{box-shadow:0 0 8px rgba(34,197,94,.5)}50%{box-shadow:0 0 12px rgba(34,197,94,.8)}}.mana-pool-compact{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.mana-orb{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;color:#fff;font-weight:700;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:transform .2s ease;min-width:60px}.mana-orb:hover{transform:scale(1.05)}.mana-orb-icon{font-size:1.1em;line-height:1}.mana-orb-amount{font-size:1.2em;text-shadow:0 1px 2px rgba(0,0,0,.3)}@media (max-width: 768px){.mana-pool-card{margin:6px 0}.mana-element-bar{padding:6px 10px}.mana-element-icon{font-size:1em}.mana-element-name{font-size:.85em}.mana-element-amount{font-size:1em;padding:3px 8px}.mana-orb{padding:4px 10px;min-width:50px}.mana-orb-icon{font-size:1em}.mana-orb-amount{font-size:1.1em}}.card-tooltip-overlay{animation:fadeIn .15s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.card-tooltip-card{max-width:320px;box-shadow:0 8px 24px rgba(0,0,0,.3);border:2px solid var(--ion-color-primary);margin:0}.card-tooltip-card ion-card-content{padding:12px}.card-tooltip-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.card-tooltip-stats{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.card-tooltip-stats ion-badge{font-size:.85em;padding:4px 8px}.card-tooltip-keywords{margin-top:8px;padding-top:8px;border-top:1px solid var(--ion-border-color)}.keyword-explanation{display:flex;flex-direction:column;gap:4px;margin-top:6px}.keyword-explanation ion-badge{align-self:flex-start;text-transform:capitalize}.keyword-explanation small{font-size:.8em;line-height:1.3}.card-tooltip-abilities{margin-top:8px;padding-top:8px;border-top:1px solid var(--ion-border-color)}.ability-text{margin-top:6px;padding:6px 8px;background:var(--ion-color-light);border-radius:4px}.ability-text small{font-size:.85em;line-height:1.4}.card-tooltip-flavor{margin-top:8px;padding-top:8px;border-top:1px solid var(--ion-border-color);font-style:italic}@media (max-width: 768px){.card-tooltip-card{max-width:280px;font-size:.95em}.card-tooltip-header h3{font-size:.95em!important}}.combat-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.combat-preview-card{max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px rgba(0,0,0,.4);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.combat-preview-header{display:flex;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--ion-color-primary)}.combat-preview-header h2{display:flex;align-items:center;color:var(--ion-color-primary)}.combat-summary{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;padding:16px;background:var(--ion-color-light);border-radius:12px;border:2px solid var(--ion-border-color)}.combat-summary-item{display:flex;align-items:center;gap:10px;font-size:.95em}.combat-summary-item ion-icon{font-size:1.3em}.combat-outcomes{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.combat-outcome-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--ion-background-color);border:2px solid var(--ion-border-color);border-radius:12px;transition:all .2s ease}.combat-outcome-item:hover{background:var(--ion-color-light);transform:translate(4px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.combatant{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.combatant.attacker{align-items:flex-start}.combatant.target{align-items:flex-end}.combatant strong{font-size:.95em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.combatant ion-badge{font-size:.85em}.combat-arrow{font-size:1.5em;color:var(--ion-color-danger);flex-shrink:0;animation:arrowPulse 1.5s ease-in-out infinite}@keyframes arrowPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.8}}.combat-preview-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.combat-preview-actions ion-button{font-weight:600;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.combat-preview-overlay{padding:12px}.combat-preview-card{max-height:85vh}.combat-preview-header h2{font-size:1.1em}.combat-summary{padding:12px}.combat-summary-item{font-size:.9em}.combat-summary-item ion-icon{font-size:1.2em}.combat-outcome-item{padding:12px;gap:12px}.combatant strong{font-size:.9em}.combatant ion-badge{font-size:.8em}.combat-arrow{font-size:1.3em}}@media (max-width: 480px){.combat-outcome-item{flex-direction:column;gap:8px}.combatant.attacker,.combatant.target{align-items:center;width:100%}.combat-arrow{transform:rotate(90deg);font-size:1.2em}}.crossroads-menu{--background: var(--ion-background-color)}.crossroads-menu-container{max-width:1000px;margin:0 auto;padding:16px}.crossroads-header-card{margin-bottom:24px}.crossroads-header-content{display:flex;align-items:center;gap:16px}.crossroads-header-icon{font-size:4em;line-height:1}.crossroads-header-content h1{margin:0 0 8px;font-size:1.5em;font-weight:700}.crossroads-header-content p{margin:0;color:var(--ion-color-medium);font-size:.95em}.game-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:24px}.mode-card{transition:transform .2s ease,box-shadow .2s ease}.mode-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px rgba(0,0,0,.2)}.mode-card-header{display:flex;align-items:center;gap:12px}.mode-icon{font-size:2em;color:var(--ion-color-primary)}.mode-features{margin:12px 0;display:flex;flex-direction:column;gap:6px}.mode-features .feature{font-size:.9em;color:var(--ion-color-medium)}.info-card{margin-bottom:16px}.how-to-play{display:flex;flex-direction:column;gap:16px}.how-to-play .step{padding-bottom:12px;border-bottom:1px solid var(--ion-border-color)}.how-to-play .step:last-child{border-bottom:none;padding-bottom:0}.how-to-play .step strong{display:block;margin-bottom:4px;color:var(--ion-color-primary);font-size:1.05em}.how-to-play .step p{margin:0;font-size:.9em;color:var(--ion-color-medium)}@media (max-width: 768px){.crossroads-menu-container{padding:12px}.crossroads-header-content{flex-direction:column;text-align:center}.crossroads-header-icon{font-size:3em}.crossroads-header-content h1{font-size:1.3em}.game-modes{grid-template-columns:1fr}.mode-card-header{justify-content:center}}.game-lobby{padding:16px;max-width:800px;margin:0 auto}.game-lobby-item{--padding-start: 12px;--padding-end: 12px;margin-bottom:8px;border-radius:8px;transition:all .2s ease}.game-lobby-item:hover{transform:translate(4px)}.game-lobby ion-card{margin-bottom:16px}.game-lobby h3{margin:0;font-size:1.1em;font-weight:600}.game-lobby h4{margin:0 0 8px;font-weight:600}.game-lobby ul{margin:8px 0 0;padding-left:20px}.game-lobby ul li{margin-bottom:4px}@media (max-width: 768px){.game-lobby{padding:12px}.game-lobby-item h2{font-size:1em}.game-lobby-item p{font-size:.85em}}.crossroads-multiplayer-hub{width:100%;height:100%}.crossroads-multiplayer-hub ion-content{--background: var(--ion-background-color)}.multiplayer-lobby-view{max-width:1200px;margin:0 auto;padding:16px}.multiplayer-tabs ion-tab-bar{border-top:1px solid var(--ion-border-color)}.multiplayer-tabs ion-tab-button{--color: var(--ion-color-medium);--color-selected: var(--ion-color-primary)}@media (max-width: 768px){.multiplayer-lobby-view{padding:12px}}
