@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap";:root{--rs-brown-dark:#3e2723;--rs-brown:#5d4037;--rs-brown-light:#6d4c41;--rs-gold:#ffd54f;--rs-gold-bright:#ffeb3b;--rs-red:#c62828;--rs-green:#2e7d32;--rs-blue:#1565c0;--rs-grey:#9e9e9e;--rs-black:#1a1a1a;--rs-border:#8d6e63;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e0e0e0;background-color:var(--rs-brown-dark);font-synthesis:none;text-rendering:optimizeSpeed;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;image-rendering:pixelated;font-family:VT323,"Press Start 2P",monospace;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-overflow-scrolling:touch;min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}#root{min-height:100vh}@media (max-width:768px){body{font-size:14px}button,.btn{min-height:44px;padding:.625rem 1rem}}@media (max-width:480px){body{font-size:13px}}h1,h2,h3,h4,h5,h6{line-height:1.2}button{cursor:pointer;background:0 0;border:none;font-family:inherit}button:focus-visible{outline-offset:2px;outline:2px solid #667eea}input,select,textarea{font-family:inherit}@media (max-width:768px){input,select,textarea{font-size:16px!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:#667eea80;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#667eeab3}.rs-panel{background:linear-gradient(180deg,var(--rs-brown-light)0%,var(--rs-brown)100%);border:4px solid var(--rs-border);border:4px solid #4e342e;border-color:#a1887f #4e342e #4e342e #a1887f;box-shadow:inset 0 2px #ffffff26,inset 0 -2px #0006,4px 4px #0000004d}.rs-button{background:linear-gradient(180deg,#6d4c41 0%,var(--rs-brown)100%);border:3px solid var(--rs-border);color:var(--rs-gold);cursor:pointer;text-shadow:1px 1px #000c;border:3px solid #4e342e;border-color:#a1887f #4e342e #4e342e #a1887f;padding:.75rem 1.5rem;font-family:VT323,monospace;font-size:1.3rem;font-weight:600;transition:all .1s;box-shadow:inset 0 1px #fff3,inset 0 -1px #00000080,2px 2px #0006}.rs-button:hover{background:linear-gradient(#8d6e63 0%,#6d4c41 100%);transform:translate(1px,1px);box-shadow:inset 0 1px #fff3,inset 0 -1px #00000080,1px 1px #0006}.rs-button:active{transform:translate(2px,2px);box-shadow:inset 0 2px 4px #0006}.rs-button:disabled{color:#666;cursor:not-allowed;opacity:.5;background:linear-gradient(#4e342e 0%,#3e2723 100%);transform:none;box-shadow:inset 0 1px #00000080,2px 2px #0003}.rs-button:disabled:hover{background:linear-gradient(#4e342e 0%,#3e2723 100%);transform:none;box-shadow:inset 0 1px #00000080,2px 2px #0003}.rs-button-primary{background:linear-gradient(180deg,var(--rs-green)0%,#1b5e20 100%);color:#e8f5e9;border-top-color:#4caf50;border-left-color:#4caf50}.rs-button-primary:hover{background:linear-gradient(180deg,#388e3c 0%,var(--rs-green)100%)}.rs-button-danger{background:linear-gradient(180deg,#d32f2f 0%,var(--rs-red)100%);color:#ffebee;border-top-color:#ef5350;border-left-color:#ef5350}.rs-button-danger:hover{background:linear-gradient(#ef5350 0%,#d32f2f 100%)}.rs-input{border:3px solid #4e342e;border-color:#3e2723 #4e342e #4e342e #3e2723;border-right:3px solid var(--rs-border);border-bottom:3px solid var(--rs-border);color:var(--rs-gold);background:linear-gradient(#3e2723 0%,#2c1810 100%);padding:.75rem;font-family:VT323,monospace;font-size:1.3rem;box-shadow:inset 2px 2px 4px #00000080,inset -1px -1px #ffffff0d}.rs-input:focus{border-color:var(--rs-gold);outline:none;box-shadow:inset 2px 2px 4px #00000080,0 0 0 2px #ffd54f4d}select.rs-input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;accent-color:#3e2723}select.rs-input option{color:var(--rs-gold)!important;background-color:#2c1810!important}select.rs-input option:checked{background:linear-gradient(#4e342e 0%,#3e2723 100%)!important}.rs-text-gold{color:var(--rs-gold-bright);text-shadow:1px 1px #000c}.rs-text-white{color:#e0e0e0;text-shadow:1px 1px #000c}.rs-divider{background:linear-gradient(90deg,transparent 0%,var(--rs-border)20%,var(--rs-border)80%,transparent 100%);height:3px;margin:1rem 0;box-shadow:0 1px #ffffff1a}.character-creation{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.creation-container{width:100%;max-width:650px;padding:2rem}.creation-container h1{text-align:center;letter-spacing:2px;margin-bottom:.5rem;font-family:"Press Start 2P",monospace;font-size:1.5rem}.subtitle{text-align:center;color:var(--rs-grey);margin-bottom:2rem;font-family:VT323,monospace;font-size:1.2rem}.form-group label{color:var(--rs-gold);text-shadow:1px 1px #000c;margin-bottom:.5rem;font-family:VT323,monospace;font-size:1.2rem;font-weight:600;display:block}.form-group input{width:100%}.stat-hint{color:var(--rs-grey);margin-top:.25rem;font-family:VT323,monospace;font-size:1.1rem;display:block}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem;display:grid}.rs-button{text-transform:uppercase;letter-spacing:1px;width:100%;padding:1rem;font-size:1.4rem}@media (max-width:768px){.character-creation{padding:1rem}.creation-container{padding:1.5rem 1rem}.creation-container h1{letter-spacing:1px;font-size:1.25rem}.subtitle{margin-bottom:1.5rem;font-size:1.1rem}.stats-grid{grid-template-columns:1fr;gap:.75rem;margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{font-size:1.1rem}.form-group input{min-height:44px;padding:.75rem;font-size:1rem}.stat-hint{font-size:1rem}.rs-button{min-height:56px;padding:.875rem;font-size:1.2rem}}@media (max-width:480px){.character-creation{padding:.5rem}.creation-container{padding:1rem .75rem}.creation-container h1{font-size:1.125rem}.subtitle,.form-group label{font-size:1rem}}.item-sprite{width:64px;height:64px;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;background-size:256px 192px;display:inline-block}.item-sprite-small{background-size:128px 96px;width:32px;height:32px}.item-sprite-large{background-size:384px 288px;width:96px;height:96px}.item-sprite-large.sprite-pos-0{background-position:0 0}.item-sprite-large.sprite-pos-1{background-position:-96px 0}.item-sprite-large.sprite-pos-2{background-position:-192px 0}.item-sprite-large.sprite-pos-3{background-position:-288px 0}.item-sprite-large.sprite-pos-4{background-position:0 -96px}.item-sprite-large.sprite-pos-5{background-position:-96px -96px}.item-sprite-large.sprite-pos-6{background-position:-192px -96px}.item-sprite-large.sprite-pos-7{background-position:-288px -96px}.item-sprite-large.sprite-pos-8{background-position:0 -192px}.item-sprite-large.sprite-pos-9{background-position:-96px -192px}.item-sprite-large.sprite-pos-10{background-position:-192px -192px}.item-sprite-large.sprite-pos-11{background-position:-288px -192px}.sprite-common-swords{background-image:url(/sprites/common-swords.png)}.sprite-common-axes{background-image:url(/sprites/common-axes.png)}.sprite-common-bows{background-image:url(/sprites/common-bows.png)}.sprite-common-armor{background-image:url(/sprites/common-armor.png)}.sprite-common-accessories{background-image:url(/sprites/common-accessories.png)}.sprite-rare-swords{background-image:url(/sprites/rare-swords.png)}.sprite-rare-axes{background-image:url(/sprites/rare-axes.png)}.sprite-rare-bows{background-image:url(/sprites/rare-bows.png)}.sprite-rare-armor{background-image:url(/sprites/rare-armor.png)}.sprite-rare-accessories{background-image:url(/sprites/rare-accessories.png)}.sprite-legendary-swords{background-image:url(/sprites/legendary-swords.png)}.sprite-legendary-axes{background-image:url(/sprites/legendary-axes.png)}.sprite-legendary-bows{background-image:url(/sprites/legendary-bows.png)}.sprite-legendary-armor{background-image:url(/sprites/legendary-armor.png)}.sprite-legendary-accessories{background-image:url(/sprites/legendary-accessories.png)}.sprite-enemy-sprites{background-image:url(/sprites/enemy-sprites.png)}.sprite-pos-0{background-position:0 0}.sprite-pos-1{background-position:-64px 0}.sprite-pos-2{background-position:-128px 0}.sprite-pos-3{background-position:-192px 0}.sprite-pos-4{background-position:0 -64px}.sprite-pos-5{background-position:-64px -64px}.sprite-pos-6{background-position:-128px -64px}.sprite-pos-7{background-position:-192px -64px}.sprite-pos-8{background-position:0 -128px}.sprite-pos-9{background-position:-64px -128px}.sprite-pos-10{background-position:-128px -128px}.sprite-pos-11{background-position:-192px -128px}.sprite-common-bows.item-sprite{background-size:192px 256px}.sprite-common-bows.item-sprite-small{background-size:96px 128px}.sprite-common-bows.item-sprite-large{background-size:288px 384px}.sprite-common-bows.sprite-pos-0{background-position:0 0}.sprite-common-bows.sprite-pos-1{background-position:-64px 0}.sprite-common-bows.sprite-pos-2{background-position:-128px 0}.sprite-common-bows.sprite-pos-3{background-position:0 -64px}.sprite-common-bows.sprite-pos-4{background-position:-64px -64px}.sprite-common-bows.sprite-pos-5{background-position:-128px -64px}.sprite-common-bows.sprite-pos-6{background-position:0 -128px}.sprite-common-bows.sprite-pos-7{background-position:-64px -128px}.sprite-common-bows.sprite-pos-8{background-position:-128px -128px}.sprite-common-bows.sprite-pos-9{background-position:0 -192px}.sprite-common-bows.sprite-pos-10{background-position:-64px -192px}.sprite-common-bows.sprite-pos-11{background-position:-128px -192px}.sprite-common-bows.item-sprite-large.sprite-pos-0{background-position:0 0}.sprite-common-bows.item-sprite-large.sprite-pos-1{background-position:-96px 0}.sprite-common-bows.item-sprite-large.sprite-pos-2{background-position:-192px 0}.sprite-common-bows.item-sprite-large.sprite-pos-3{background-position:0 -96px}.sprite-common-bows.item-sprite-large.sprite-pos-4{background-position:-96px -96px}.sprite-common-bows.item-sprite-large.sprite-pos-5{background-position:-192px -96px}.sprite-common-bows.item-sprite-large.sprite-pos-6{background-position:0 -192px}.sprite-common-bows.item-sprite-large.sprite-pos-7{background-position:-96px -192px}.sprite-common-bows.item-sprite-large.sprite-pos-8{background-position:-192px -192px}.sprite-common-bows.item-sprite-large.sprite-pos-9{background-position:0 -288px}.sprite-common-bows.item-sprite-large.sprite-pos-10{background-position:-96px -288px}.sprite-common-bows.item-sprite-large.sprite-pos-11{background-position:-192px -288px}.level-up-modal{text-align:center;background:linear-gradient(135deg,#1a1a2e 0%,#0f3460 100%);border:4px solid gold;border-radius:20px;flex-direction:column;width:90%;max-width:900px;max-height:85vh;padding:2rem;animation:.6s cubic-bezier(.68,-.55,.265,1.55) levelUpPop;display:flex;position:relative;overflow-y:auto;box-shadow:0 30px 80px #ffd70066}@keyframes levelUpPop{0%{opacity:0;transform:scale(.3)rotate(-10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.level-up-burst{pointer-events:none;background:radial-gradient(circle,#ffd70066 0%,#0000 50%);width:200%;height:200%;animation:1.5s ease-out burstExpand;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes burstExpand{0%{opacity:1;transform:translate(-50%,-50%)scale(0)}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}.level-up-header{margin-bottom:1rem}.level-up-title{color:gold;text-shadow:3px 3px 6px #000000b3;margin-bottom:.5rem;font-size:2.5rem;animation:.8s ease-in-out titleBounce}@keyframes titleBounce{0%,to{transform:translateY(0)}25%{transform:translateY(-20px)}50%{transform:translateY(-10px)}75%{transform:translateY(-15px)}}.new-level-badge{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:30px;padding:.75rem 2rem;font-size:1.5rem;font-weight:700;animation:2s ease-in-out infinite badgeGlow;display:inline-block;box-shadow:0 10px 30px #667eea80}@keyframes badgeGlow{0%,to{box-shadow:0 10px 30px #667eea80}50%{box-shadow:0 10px 40px #667eeacc,0 0 30px #667eea99}}.level-up-message{color:#e2e8f0;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.stats-changes{background:#0000004d;border:2px solid #4a5568;border-radius:12px;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem;padding:1rem;display:grid}.stat-change-row{background:#ffffff0d;border:2px solid #4a5568;border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem;animation:.5s ease-out backwards statSlideIn;display:flex}@keyframes statSlideIn{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.stat-icon{margin-right:.25rem;font-size:1.2rem}.stat-name{color:#cbd5e0;text-align:left;flex:1;margin-left:.25rem;font-size:.95rem;font-weight:600}.stat-values{align-items:center;gap:.5rem;display:flex}.old-value{color:#9ca3af;font-size:1rem}.arrow{color:gold;font-size:.9rem;font-weight:700}.new-value{color:#e2e8f0;font-size:1.1rem;font-weight:700}.stat-increase{color:#4caf50;background:#4caf5033;border-radius:6px;padding:.2rem .4rem;font-size:.95rem;font-weight:700;animation:1s ease-in-out infinite increaseGlow}@keyframes increaseGlow{0%,to{box-shadow:0 0 5px #4caf504d}50%{box-shadow:0 0 15px #4caf5099}}.health-restore-notice{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border-radius:8px;margin-bottom:1rem;padding:.75rem;font-size:1rem;font-weight:700;animation:1.5s ease-in-out infinite healthPulse;box-shadow:0 5px 15px #ef444466}@keyframes healthPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.dungeon-unlock-notice{color:#fff;text-align:left;background:linear-gradient(135deg,#8b5cf6 0%,#6d28d9 100%);border:2px solid #a78bfa;border-radius:12px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:1rem;animation:2s ease-in-out infinite dungeonUnlockPulse;display:flex;box-shadow:0 10px 30px #8b5cf680}@keyframes dungeonUnlockPulse{0%,to{transform:scale(1);box-shadow:0 10px 30px #8b5cf680}50%{transform:scale(1.02);box-shadow:0 10px 40px #8b5cf6cc,0 0 30px #a78bfa99}}.dungeon-unlock-icon{font-size:2rem;animation:1s ease-in-out infinite dungeonIconBounce}@keyframes dungeonIconBounce{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-10px)rotate(-5deg)}75%{transform:translateY(-5px)rotate(5deg)}}.dungeon-unlock-text{flex:1}.dungeon-unlock-text strong{color:gold;text-shadow:0 2px 4px #00000080;margin-bottom:.25rem;font-size:1.1rem;display:block}.dungeon-unlock-text p{color:#e9d5ff;margin:0;font-size:.9rem;line-height:1.3}.level-up-continue-btn{width:100%;padding:1rem;font-size:1.2rem;font-weight:700;transition:transform .2s}.level-up-continue-btn:hover{transform:scale(1.05)}@media (max-width:768px){.level-up-modal{width:95%;max-height:90vh;padding:1rem}.level-up-title{font-size:1.75rem}.new-level-badge{padding:.5rem 1.25rem;font-size:1.25rem}.level-up-message{font-size:1rem}.stats-changes{padding:1rem}.stats-grid{gap:.75rem}.stat-change{padding:.75rem}.stat-change-name{font-size:.9rem}.stat-change-value{font-size:1.5rem}.level-up-continue-btn{min-height:56px;padding:.875rem;font-size:1.125rem}}@media (max-width:480px){.level-up-modal{padding:.75rem}.level-up-title{font-size:1.5rem}.new-level-badge{padding:.4rem 1rem;font-size:1.125rem}.stats-grid{grid-template-columns:1fr;gap:.5rem}.dungeon-unlocks{gap:.5rem}}@media (max-height:600px) and (orientation:landscape){.level-up-modal{max-height:95vh;padding:.75rem}.level-up-title{margin-bottom:.5rem;font-size:1.5rem}.new-level-badge{padding:.4rem 1rem;font-size:1rem}.level-up-message{margin-bottom:.75rem;font-size:.9rem}.stats-changes{margin-bottom:.75rem;padding:.75rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.stat-change{padding:.5rem}.level-up-continue-btn{min-height:44px;padding:.625rem;font-size:1rem}}.progress-chart-card{grid-column:span 2;min-height:400px}.chart-container{height:350px;padding:1rem 0}.progress-chart-card .empty-state{text-align:center;color:#aaa;padding:3rem 1rem}.progress-chart-card .empty-state p{margin:.5rem 0}.dashboard{max-width:1200px;margin:0 auto;padding:2rem}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.dashboard-header h1{color:gold;text-shadow:2px 2px 4px #00000080;margin:0;font-size:2.5rem}.level-badge{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;padding:.5rem 1.5rem;font-size:1.125rem;font-weight:700}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:2px solid #4a5568;border-radius:12px;padding:1.5rem}.card h2{color:#e2e8f0;border-bottom:2px solid #4a5568;margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.5rem}.stats-list{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.stat-item{background:#ffffff0d;border-radius:8px;align-items:center;gap:1rem;padding:1rem;display:flex}.stat-icon{font-size:2rem}.stat-details{flex:1;justify-content:space-between;align-items:center;gap:1rem;display:flex}.stat-name{color:#cbd5e0;cursor:help;align-items:center;gap:.25rem;font-weight:600;display:flex}.stat-bonus-text{color:#4caf50;margin-left:.25rem;font-size:1rem;font-weight:600}.xp-section{margin-top:1.5rem}.xp-bar{background:#0000004d;border:1px solid #4a5568;border-radius:10px;height:20px;margin-bottom:.5rem;overflow:hidden}.xp-fill{background:linear-gradient(90deg,#10b981,#059669);border-radius:10px;height:100%;transition:width .5s}.xp-text{color:#a0aec0;text-align:center;font-size:.875rem}.equipment-slots{flex-direction:column;gap:1rem;display:flex}.equipment-slot{background:#ffffff0d;border:1px solid #4a5568;border-radius:8px;padding:1rem}.slot-label{color:#718096;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-size:.875rem;display:block}.equipped-item{align-items:center;gap:.75rem;display:flex}.item-icon{font-size:1.5rem}.item-name{color:#e2e8f0;font-weight:600}.empty-slot{color:#4a5568;font-style:italic}.dungeon-info{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.info-row{color:#cbd5e0;background:#ffffff0d;border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.highlight{color:gold;font-size:1.25rem}.btn-dungeon{color:#fff;cursor:pointer;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border:none;border-radius:8px;width:100%;padding:1rem;font-size:1.125rem;font-weight:700;transition:all .2s}.btn-dungeon:hover{transform:translateY(-2px);box-shadow:0 4px 16px #f59e0b80}.locked-message{text-align:center;color:#718096;background:#ffffff0d;border-radius:8px;padding:1rem;font-style:italic}.activity-list{flex-direction:column;gap:.75rem;display:flex}.activity-item{background:#ffffff0d;border-left:3px solid #667eea;border-radius:6px;justify-content:space-between;padding:.75rem;display:flex}.activity-date{color:#a0aec0;font-size:.875rem}.activity-desc{color:#e2e8f0;font-weight:600}.item-details{flex:1;align-items:center;gap:.75rem;display:flex}.btn-unequip{color:#ffd54f;cursor:pointer;background:#8b4513;border:2px solid #654321;border-radius:4px;margin-left:auto;padding:.25rem .5rem;font-size:1rem;transition:all .1s;box-shadow:inset -2px -2px #0000004d}.btn-unequip:hover{background:#654321;transform:translateY(1px)}.inventory-modal{z-index:1000;background:#000000d9;justify-content:center;align-items:center;width:100%;height:100%;padding:2rem;display:flex;position:fixed;top:0;left:0}.modal-header{border-bottom:2px solid #654321;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.modal-header h3{margin:0;font-size:2rem}.btn-close{color:#ffd54f;cursor:pointer;background:#8b4513;border:2px solid #654321;border-radius:4px;width:40px;height:40px;font-size:2rem;line-height:1;transition:all .1s;box-shadow:inset -2px -2px #0000004d}.btn-close:hover{background:#654321;transform:translateY(1px)}.empty-inventory{text-align:center;color:#a0703b;padding:3rem;font-size:1.2rem}.inventory-sort-controls{background:#0003;border:2px solid #654321;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:1rem;display:flex}.sort-btn{color:#cbd5e0;cursor:pointer;background:#5d4037;border:2px solid #654321;border-radius:6px;padding:.5rem 1rem;font-size:.95rem;font-weight:600;transition:all .2s}.sort-btn:hover{background:#6d4c41;border-color:#8d6e63}.sort-btn.active{color:#2d1f1a;background:#ffd54f;border-color:#ffb300;box-shadow:0 0 10px #ffd54f80}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.inventory-item{background:#5d4037;border:3px solid;border-radius:8px;padding:1rem;box-shadow:inset -3px -3px #0000004d,inset 3px 3px #ffffff1a}.inventory-item.rarity-common{border-color:#9e9e9e}.inventory-item.rarity-uncommon{border-color:#4caf50}.inventory-item.rarity-rare{border-color:#2196f3}.inventory-item.rarity-epic{border-color:#9c27b0}.inventory-item.rarity-legendary{border-color:#ff9800;box-shadow:inset -3px -3px #0000004d,inset 3px 3px #ffffff1a,0 0 20px #ff980080}.item-header{align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.item-icon-large{flex-shrink:0;font-size:3rem}.item-info-block{flex-direction:column;gap:.25rem;display:flex}.item-name-large{color:#ffd54f;min-height:3.6rem;font-family:"Press Start 2P",monospace;font-size:1.3rem;font-weight:700;line-height:1.4}.item-count{color:#10b981;margin-left:.3rem;font-size:1rem;font-weight:800}.item-rarity{text-transform:uppercase;font-size:.9rem;font-weight:600}.item-rarity.rarity-common{color:#9e9e9e}.item-rarity.rarity-uncommon{color:#4caf50}.item-rarity.rarity-rare{color:#2196f3}.item-rarity.rarity-epic{color:#9c27b0}.item-rarity.rarity-legendary{color:#ff9800;text-shadow:0 0 10px #ff9800cc}.item-type{color:#a0703b;text-transform:capitalize;font-size:.85rem}.item-description{color:#d7c9ab;margin:.5rem 0;font-size:.95rem;line-height:1.4}.item-stats{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.stat-bonus{color:#4caf50;background:#3e2723;border:2px solid #654321;border-radius:4px;padding:.25rem .5rem;font-size:.9rem;font-weight:600;box-shadow:inset -1px -1px #0000004d}.health-section{flex-direction:column;gap:1.5rem;display:flex}.health-bar-container{width:100%}.health-bar{background:#0000004d;border:2px solid #4a5568;border-radius:15px;width:100%;height:30px;position:relative;overflow:hidden}.health-fill{background:linear-gradient(90deg,#ef4444 0%,#dc2626 100%);height:100%;transition:width .3s;box-shadow:inset 0 2px 4px #ffffff4d}.health-text{text-align:center;color:#e2e8f0;margin-top:.5rem;font-size:1.1rem;font-weight:600}.potions-section{border-top:2px solid #4a5568;padding-top:1rem}@media (max-width:768px){.dashboard{padding:1rem}.dashboard-header{text-align:center;flex-direction:column;gap:.75rem}.dashboard-header h1{font-size:1.75rem}.level-badge{padding:.5rem 1rem;font-size:1rem}.dashboard-grid{grid-template-columns:1fr;gap:1rem}.card{padding:1rem}.card h2{font-size:1.25rem}.stat-item{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem}.stat-icon{font-size:1.5rem}.stat-details{flex-direction:column;align-items:flex-start;gap:.25rem;width:100%}.stat-value{font-size:1.25rem}.equipped-item{flex-direction:column;align-items:flex-start;gap:.5rem}.item-details{justify-content:space-between;align-items:center;width:100%;display:flex}.info-row,.activity-item{flex-direction:column;align-items:flex-start;gap:.5rem}.inventory-modal{padding:1rem}.modal-content{max-height:80vh;padding:1rem}.inventory-grid{grid-template-columns:1fr;gap:.75rem}.item-slot{min-height:80px}}@media (max-width:480px){.dashboard{padding:.5rem}.dashboard-header h1{font-size:1.5rem}.card{padding:.75rem}.stat-item{text-align:center;flex-direction:column;padding:.5rem}.stat-details{flex-direction:column;gap:.25rem}}.workout-logger{max-width:900px;margin:0 auto;padding:2rem}.workout-logger h2{color:gold;margin-bottom:1.5rem;font-size:2rem}.logger-container{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.add-exercise-section,.exercises-list{background:#ffffff0d;border:2px solid #4a5568;border-radius:12px;padding:1.5rem}.add-exercise-section h3,.exercises-list h3{color:#e2e8f0;margin-bottom:1rem;font-size:1.25rem}.form-row{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.form-group{margin-bottom:1rem}.form-group label{color:#cbd5e0;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.form-group input,.form-group select{color:#fff;background:#ffffff1a;border:1px solid #4a5568;border-radius:6px;width:100%;padding:.625rem;font-size:.9rem}.form-group input:focus,.form-group select:focus{border-color:gold;outline:none}.btn-secondary{color:#a5b4fc;cursor:pointer;background:#667eea33;border:2px solid #667eea;border-radius:8px;width:100%;padding:.75rem;font-weight:600;transition:all .2s}.btn-secondary:hover{background:#667eea4d;transform:translateY(-1px)}.btn-add-exercise-compact{flex-shrink:0;width:auto!important;min-width:32px!important;padding:.25rem .5rem!important;font-size:.875rem!important}.empty-state{color:#718096;text-align:center;padding:2rem;font-style:italic}.exercise-item{background:#ffffff0d;border:1px solid #4a5568;border-radius:6px;margin-bottom:.5rem;padding:.75rem}.exercise-item>:not(.exercise-edit){justify-content:space-between;align-items:center;display:flex}.exercise-info{flex-direction:column;gap:.25rem;display:flex}.exercise-info strong{color:#e2e8f0}.exercise-info span{color:#a0aec0;font-size:.875rem}.exercise-actions{gap:.5rem;display:flex}.btn-edit{color:#93c5fd;cursor:pointer;background:#3b82f633;border:1px solid #3b82f6;border-radius:4px;width:32px;height:32px;font-size:1.25rem;transition:all .2s}.btn-edit:hover{background:#3b82f64d;transform:scale(1.1)}.exercise-edit{flex-direction:column;gap:.75rem;display:flex}.exercise-edit strong{color:#e2e8f0;font-size:1rem}.edit-inputs{flex-wrap:wrap;gap:.75rem;display:flex}.edit-field{flex-direction:column;flex:1;gap:.25rem;min-width:80px;display:flex}.edit-field label{color:#a0aec0;text-transform:uppercase;font-size:.75rem;font-weight:600}.edit-field input{color:#fff;background:#0000004d;border:1px solid #4a5568;border-radius:4px;padding:.5rem;font-size:.9rem}.edit-field input:focus{border-color:#3b82f6;outline:none}.edit-actions{gap:.5rem;display:flex}.btn-edit-done{color:#6ee7b7;cursor:pointer;background:#10b98133;border:1px solid #10b981;border-radius:4px;padding:.5rem 1rem;font-weight:600;transition:all .2s}.btn-edit-done:hover{background:#10b9814d}.btn-remove{color:#fca5a5;cursor:pointer;background:#ef444433;border:1px solid #ef4444;border-radius:50%;width:32px;height:32px;font-size:1.5rem;line-height:1;transition:all .2s}.btn-remove:hover{background:#ef44444d;transform:scale(1.1)}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:8px;width:100%;margin-top:1rem;padding:1rem;font-weight:700;transition:all .2s}.available-dungeons{text-align:center;background:#ffd7001a;border:2px solid gold;border-radius:8px;grid-column:1/-1;padding:1rem}.available-dungeons p{color:gold;margin:0;font-size:1.125rem}.exercise-browser-modal{z-index:1000;background:#000000d9;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.modal-content{width:100%;max-width:600px;max-height:80vh;padding:2rem;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-header h3{margin:0;font-family:"Press Start 2P",monospace;font-size:1.5rem}.btn-close{color:var(--rs-grey);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:2rem;display:flex}.btn-close:hover{color:var(--rs-gold)}.browser-controls{margin-bottom:1.5rem}.browser-controls label{color:var(--rs-gold);margin-bottom:.5rem;font-family:VT323,monospace;font-size:1.2rem;display:block}.custom-select-wrapper{position:relative}.custom-select{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.custom-select .selected-value{flex:1}.custom-select .dropdown-arrow{margin-left:.5rem;font-size:.9rem}.custom-options{z-index:1000;background:#2c1810;border:3px solid #4e342e;border-top:none;max-height:300px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 8px #00000080}.custom-option{color:var(--rs-gold);cursor:pointer;background:#2c1810;padding:.75rem;font-family:VT323,monospace;font-size:1.3rem;transition:background .2s}.custom-option:hover{background:#3e2723}.custom-option.selected{background:#4e342e}.loading-text{text-align:center;color:var(--rs-grey);padding:2rem;font-family:VT323,monospace;font-size:1.3rem}.exercise-results{flex-direction:column;gap:.75rem;max-height:400px;display:flex;overflow-y:auto}.exercise-result-item{border:2px solid var(--rs-border);background:#0000004d;justify-content:space-between;align-items:center;padding:1rem;display:flex}.result-info{flex-direction:column;flex:1;gap:.25rem;display:flex}.result-info strong{color:var(--rs-gold);font-family:VT323,monospace;font-size:1.2rem}.result-meta{color:var(--rs-grey);text-transform:capitalize;font-family:VT323,monospace;font-size:1rem}@media (max-width:768px){.workout-logger{padding:1rem}.workout-logger h2{margin-bottom:1rem;font-size:1.5rem}.logger-container{grid-template-columns:1fr;gap:1rem}.form-row{grid-template-columns:1fr;gap:.5rem}.add-exercise-section,.exercises-list{padding:1rem}.form-group input,.form-group select{min-height:44px;padding:.75rem;font-size:1rem}.btn-secondary,button{min-height:48px;padding:.875rem;font-size:1rem}.exercise-browser-modal{width:95%;padding:1rem}.modal-content{max-height:80vh;padding:1rem}.exercise-item{padding:.75rem}}@media (max-width:480px){.workout-logger{padding:.5rem}.workout-logger h2{font-size:1.25rem}.add-exercise-section,.exercises-list{padding:.75rem}.add-exercise-section h3,.exercises-list h3{font-size:1.125rem}}.workout-limit-modal{text-align:center;color:gold;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:3px solid gold;border-radius:16px;width:90%;max-width:400px;padding:2rem;box-shadow:0 20px 60px #00000080}.workout-limit-modal h2{color:gold;margin-bottom:1rem;font-size:2rem}.workout-limit-modal p{color:#e2e8f0;margin-bottom:2rem;font-size:1.1rem}.workout-limit-close-btn{color:#222;cursor:pointer;background:linear-gradient(135deg,gold 0%,#f59e0b 100%);border:none;border-radius:8px;padding:.75rem 2rem;font-size:1.1rem;font-weight:700;transition:all .2s}.workout-limit-close-btn:hover{background:linear-gradient(135deg,#f59e0b 0%,gold 100%)}.modal-overlay{z-index:1000;background:#000000d9;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.item-loot-modal{text-align:center;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:3px solid gold;border-radius:16px;width:90%;max-width:500px;padding:2rem;animation:.4s cubic-bezier(.68,-.55,.265,1.55) popIn;position:relative;box-shadow:0 20px 60px #00000080}@keyframes popIn{0%{opacity:0;transform:scale(.5)translateY(-100px)}to{opacity:1;transform:scale(1)translateY(0)}}.loot-flash{pointer-events:none;background:radial-gradient(circle,#ffd7004d 0%,#0000 70%);border-radius:16px;animation:2s ease-in-out infinite flashPulse;position:absolute;inset:0}@keyframes flashPulse{0%,to{opacity:.3}50%{opacity:.6}}.loot-title{color:gold;text-shadow:2px 2px 4px #00000080;margin-bottom:1.5rem;font-size:1.8rem;animation:1.5s ease-in-out infinite titleGlow}@keyframes titleGlow{0%,to{text-shadow:2px 2px 4px #00000080,0 0 10px #ffd7004d}50%{text-shadow:2px 2px 4px #00000080,0 0 20px #ffd70099}}.loot-item-display{justify-content:center;margin:2rem auto;animation:3s ease-in-out infinite itemFloat;display:flex}@keyframes itemFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.loot-sprite{filter:drop-shadow(0 0 20px #ffd70080)}.loot-item-name{text-shadow:2px 2px 4px #000000b3;margin-bottom:.75rem;font-size:2rem;font-weight:700}.loot-rarity-badge{color:#fff;text-shadow:1px 1px 2px #000000b3;border-radius:20px;margin-bottom:1.5rem;padding:.5rem 1.5rem;font-size:.9rem;font-weight:700;animation:2s ease-in-out infinite badgePulse;display:inline-block}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.loot-description{color:#cbd5e0;margin-bottom:1.5rem;font-size:1.1rem;font-style:italic}.loot-stats{background:#0000004d;border:2px solid #4a5568;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.loot-stats h4{color:gold;margin-bottom:.75rem;font-size:1.2rem}.stat-bonuses-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;display:grid}.stat-bonus-item{background:#4caf501a;border:2px solid #4caf50;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem;display:flex}.bonus-stat{color:#e2e8f0;font-weight:600}.bonus-value{color:#4caf50;font-size:1.1rem;font-weight:700}.loot-continue-btn{width:100%;margin-top:1rem;padding:1rem;font-size:1.3rem;font-weight:700;transition:transform .2s}.loot-continue-btn:hover{transform:scale(1.05)}@media (max-width:768px){.item-loot-modal{width:95%;padding:1.5rem 1rem}.loot-title{margin-bottom:1rem;font-size:1.5rem}.loot-item-display{margin:1.5rem auto}.loot-item-name{font-size:1.5rem}.loot-rarity-badge{padding:.4rem 1rem;font-size:.85rem}.loot-description{margin-bottom:1rem;font-size:1rem}.loot-stats{margin-bottom:1rem;padding:.75rem}.loot-stats h4{font-size:1.1rem}.stat-bonuses-grid{grid-template-columns:1fr;gap:.5rem}.loot-continue-btn{min-height:56px;padding:.875rem;font-size:1.125rem}}@media (max-width:480px){.item-loot-modal{padding:1rem .75rem}.loot-title,.loot-item-name{font-size:1.25rem}.loot-description{font-size:.9rem}}.death-modal{text-align:center;background:linear-gradient(135deg,#1a0000 0%,#300 100%);border:3px solid red;max-width:400px;box-shadow:0 0 40px #ff000080}.death-icon{margin-bottom:20px;font-size:120px;animation:2s ease-in-out infinite deathPulse}@keyframes deathPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.death-modal h2{color:#f44;text-shadow:0 0 20px #f00c;margin:0 0 20px;font-size:48px}.death-modal p{color:#ccc;margin:10px 0;font-size:18px}.death-message{color:#999;margin-bottom:30px;font-style:italic}.btn-return-home{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:linear-gradient(135deg,#f44 0%,#c00 100%);border:2px solid #f66;border-radius:8px;padding:15px 40px;font-size:20px;font-weight:700;transition:all .3s}.btn-return-home:hover{background:linear-gradient(135deg,#f66 0%,red 100%);transform:translateY(-2px);box-shadow:0 6px 20px #f006}.btn-return-home:active{transform:translateY(0)}.dungeon-crawler{max-width:1000px;margin:0 auto;padding:2rem}.dungeon-header{border-bottom:2px solid #4a5568;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.dungeon-header h2{color:gold;margin:0;font-size:2rem}.progress{color:#a0aec0;font-size:1.125rem}.player-status{background:#ffffff0d;border:2px solid #4a5568;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.player-info{margin-bottom:1rem}.player-info h3{color:#e2e8f0;margin-bottom:.5rem}.health-bar{background:#0000004d;border:1px solid #4a5568;border-radius:12px;height:24px;margin-bottom:.5rem;overflow:hidden}.health-fill{border-radius:12px;height:100%;transition:width .5s}.health-fill.player{background:linear-gradient(90deg,#10b981,#059669)}.health-fill.enemy{background:linear-gradient(90deg,#ef4444,#dc2626)}.player-stats{color:#cbd5e0;gap:1.5rem;font-weight:600;display:flex}.room-container{background:#ffffff0d;border:2px solid #4a5568;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:400px;padding:2rem;display:flex}.battle-screen{flex-direction:column;gap:2rem;width:100%;display:flex}.enemy-display{text-align:center}.enemy-icon{margin-bottom:1rem;font-size:6rem;animation:3s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.enemy-display.defeated{opacity:.6}.defeated-sprite{filter:grayscale(80%)brightness(.7)}.defeated-icon{opacity:.5;filter:grayscale()}.defeated-text{text-shadow:0 0 20px #10b98180;animation:2s ease-in-out infinite victoryPulse;color:#10b981!important;margin:1rem 0 .5rem!important;font-size:2.5rem!important;font-weight:800!important}.defeated-name{color:#9ca3af;opacity:.7;font-size:1.5rem;text-decoration:line-through}@keyframes victoryPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.enemy-display h3{color:#fca5a5;margin-bottom:1rem;font-size:2rem}.battle-actions{justify-content:center;gap:1rem;display:flex}.btn-attack{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:none;border-radius:8px;padding:1rem 2rem;font-size:1.25rem;font-weight:700;transition:all .2s}.btn-attack:hover{transform:scale(1.05);box-shadow:0 4px 16px #ef444480}.btn-attack:active{transform:scale(.98)}.btn-attack:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-auto-attack{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:8px;padding:1rem 2rem;font-size:1.25rem;font-weight:700;transition:all .2s}.btn-auto-attack:hover{transform:scale(1.05);box-shadow:0 4px 16px #3b82f680}.btn-auto-attack.active{background:linear-gradient(135deg,#10b981 0%,#059669 100%);animation:1.5s ease-in-out infinite pulse}.btn-auto-attack.active:hover{box-shadow:0 4px 16px #10b98180}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.btn-auto-attack:disabled{opacity:.5;cursor:not-allowed;animation:none;transform:none}.btn-continue{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);border:none;border-radius:8px;padding:1rem 2rem;font-size:1.25rem;font-weight:700;transition:all .2s}.btn-continue:hover{transform:scale(1.05);box-shadow:0 4px 16px #8b5cf680}.btn-complete-dungeon{background:linear-gradient(135deg,#10b981 0%,#059669 100%);padding:1.25rem 2.5rem;font-size:1.4rem;animation:2s ease-in-out infinite victoryGlow}.btn-complete-dungeon:hover{box-shadow:0 4px 20px #10b98199}@keyframes victoryGlow{0%,to{box-shadow:0 4px 16px #10b98166}50%{box-shadow:0 6px 24px #10b981b3}}.battle-log{background:#0000004d;border:1px solid #4a5568;border-radius:8px;max-height:200px;padding:1rem;overflow-y:auto}.log-entry{color:#e2e8f0;border-bottom:1px solid #ffffff1a;padding:.5rem;animation:.3s fadeIn}.log-entry:last-child{border-bottom:none}.treasure-room,.empty-room{text-align:center}.treasure-icon{margin-bottom:1rem;font-size:6rem;animation:2s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-30px)}}.treasure-room h3{color:gold;margin-bottom:2rem;font-size:2rem}.empty-room p{color:#718096;font-size:1.25rem}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;width:100%;margin-top:2rem;padding:1rem;font-size:1.125rem;font-weight:700;transition:all .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 16px #667eea80}.dungeon-results{margin-top:2rem;padding:2rem}.results-header{text-align:center;border-bottom:3px solid var(--rs-border);margin-bottom:2rem;padding-bottom:1rem}.results-header h2{letter-spacing:2px;margin-bottom:.5rem;font-family:"Press Start 2P",monospace;font-size:1.5rem}.results-subtitle{color:var(--rs-grey);font-family:VT323,monospace;font-size:1.2rem}.results-grid{gap:1.5rem;margin-bottom:2rem;display:grid}.results-section{border:2px solid var(--rs-border);background:#0000004d;padding:1.5rem}.results-section h3{color:var(--rs-gold);text-shadow:1px 1px #000c;margin-bottom:1rem;font-family:VT323,monospace;font-size:1.4rem}.stat-row{border-left:3px solid var(--rs-gold);background:#ffffff0d;justify-content:space-between;margin-bottom:.5rem;padding:.75rem;display:flex}.stat-row span{color:#e0e0e0;font-family:VT323,monospace;font-size:1.2rem}.stat-row strong{color:var(--rs-gold-bright);font-family:VT323,monospace;font-size:1.3rem}.no-loot{color:var(--rs-grey);text-align:center;padding:1rem;font-family:VT323,monospace;font-size:1.2rem;font-style:italic}.loot-grid{gap:.75rem;display:grid}.loot-item{background:#ffffff0d;border-left:4px solid;align-items:center;gap:1rem;padding:.75rem;display:flex}.loot-item.rarity-common{border-left-color:#9e9e9e}.loot-item.rarity-uncommon{border-left-color:#4caf50}.loot-item.rarity-rare{border-left-color:#2196f3}.loot-item.rarity-epic{border-left-color:#9c27b0}.loot-item.rarity-legendary{border-left-color:#ff9800}.loot-icon{font-size:2rem}.loot-info{flex-direction:column;gap:.25rem;display:flex}.loot-name{color:#e0e0e0;font-family:VT323,monospace;font-size:1.2rem;font-weight:600}.loot-rarity{text-transform:uppercase;font-family:VT323,monospace;font-size:1rem}.rarity-common .loot-rarity{color:#9e9e9e}.rarity-uncommon .loot-rarity{color:#4caf50}.rarity-rare .loot-rarity{color:#2196f3}.rarity-epic .loot-rarity{color:#9c27b0}.rarity-legendary .loot-rarity{color:#ff9800}.results-section.rewards{border-color:var(--rs-gold);background:#ffd7001a}.reward-item{color:#e0e0e0;background:#0003;align-items:center;gap:1rem;margin-bottom:.5rem;padding:.75rem;font-family:VT323,monospace;font-size:1.2rem;display:flex}.reward-icon{font-size:1.5rem}.results-btn{width:100%;margin-top:1rem;padding:1.25rem;font-size:1.4rem}@media (max-width:768px){.dungeon-crawler{padding:1rem}.dungeon-header{flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:1rem}.dungeon-header h2{font-size:1.5rem}.progress{font-size:1rem}.player-status{margin-bottom:1rem;padding:1rem}.player-stats{flex-wrap:wrap;gap:.75rem;font-size:.9rem}.room-container{min-height:300px;padding:1rem}.enemy-icon{font-size:4rem}.enemy-display h3{font-size:1.5rem}.battle-actions{flex-direction:column;gap:.75rem;width:100%}.btn-attack,.btn-auto-attack{width:100%;min-height:56px;padding:1rem;font-size:1.125rem}.battle-log{max-height:150px;padding:.75rem;font-size:.875rem}.room-actions{flex-direction:column;gap:.75rem}.room-actions button{width:100%;min-height:56px}.defeated-text{font-size:2rem!important}}@media (max-width:480px){.dungeon-crawler{padding:.5rem}.dungeon-header h2{font-size:1.25rem}.player-status,.room-container{padding:.75rem}.enemy-icon{font-size:3rem}.enemy-display h3{font-size:1.25rem}}@media (min-width:768px){.results-grid{grid-template-columns:repeat(2,1fr)}.results-section.rewards{grid-column:1/-1}}.workout-history{max-width:1400px;margin:0 auto;padding:2rem}.workout-history h2{color:var(--rs-gold);text-align:center;text-shadow:2px 2px #000c;margin-bottom:2rem;font-size:2.5rem}.history-container{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:2rem;display:grid}.calendar-section{border:3px solid var(--rs-border);background:linear-gradient(135deg,#2c1810 0%,#1a0f08 100%);border-radius:8px;height:100%;padding:1.5rem;box-shadow:0 8px 16px #0006}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.calendar-nav{width:auto!important;min-width:auto!important;padding:.25rem .5rem!important;font-size:.85rem!important}.month-title{color:var(--rs-gold);text-shadow:2px 2px #000c;margin:0;font-size:1.8rem}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.calendar-day-name{text-align:center;color:var(--rs-gold);text-shadow:1px 1px #000c;padding:.5rem;font-size:.9rem;font-weight:700}.calendar-day{aspect-ratio:1;cursor:default;background:linear-gradient(135deg,#3e2723 0%,#2c1810 100%);border:2px solid #5d4037;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.calendar-day.empty{background:0 0;border:none}.calendar-day.has-workout{border-color:var(--rs-green);cursor:pointer;background:linear-gradient(135deg,#1b5e20 0%,#0d3d10 100%)}.calendar-day.has-workout:hover{border-color:#4caf50;transform:translateY(-2px);box-shadow:0 4px 8px #4caf504d}.calendar-day.selected{border-color:var(--rs-gold);background:linear-gradient(135deg,#2e7d32 0%,#1b5e20 100%);box-shadow:0 0 12px #ffd70080}.calendar-day.today{border:3px solid var(--rs-gold)}.day-number{color:#fff;text-shadow:1px 1px #000c;font-size:1.1rem;font-weight:700}.workout-indicator{margin-top:2px;font-size:1.2rem}.workout-details-section{border:3px solid var(--rs-border);background:linear-gradient(135deg,#2c1810 0%,#1a0f08 100%);border-radius:8px;min-height:500px;padding:1.5rem;box-shadow:0 8px 16px #0006}.no-selection{color:#999;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:3rem;display:flex}.no-selection p{margin:.5rem 0;font-size:1.2rem}.no-selection .hint{color:#666;margin-top:1rem;font-size:1rem}.workout-details{color:#fff}.details-title{color:var(--rs-gold);border-bottom:2px solid var(--rs-border);flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.5rem;display:flex}.details-date{color:#aaa;font-size:1rem;font-weight:400}.workout-summary{background:#0000004d;border:2px solid #5d4037;border-radius:6px;margin-bottom:1rem;padding:1.5rem}.workout-summary h4{color:var(--rs-gold);margin-top:0;margin-bottom:1rem}.exercises-summary{margin-bottom:1.5rem}.exercise-row{border-left:3px solid var(--rs-green);background:#0003;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem;display:flex}.exercise-name{color:#fff;align-items:center;gap:.5rem;font-weight:700;display:flex}.exercise-icon{font-size:1.2rem}.exercise-stats{flex-wrap:wrap;gap:.5rem;display:flex}.stat-badge{border:1px solid var(--rs-green);color:#e8f5e9;white-space:nowrap;background:linear-gradient(135deg,#1b5e20 0%,#0d3d10 100%);border-radius:12px;padding:.25rem .75rem;font-size:.9rem}.workout-stats{border-top:1px solid #5d4037;grid-template-columns:1fr 1fr;gap:1rem;padding-top:1rem;display:grid}.stat-item{flex-direction:column;gap:.25rem;display:flex}.stat-label{color:#999;font-size:.9rem}.stat-value{color:#fff;font-size:1.1rem;font-weight:700}@media (max-width:1024px){.history-container{grid-template-columns:1fr}.calendar-grid{gap:6px}.day-number,.workout-indicator{font-size:1rem}}@media (max-width:768px){.workout-history{padding:1rem}.workout-history h2{font-size:1.5rem}.month-title{padding:.75rem;font-size:1.2rem}.calendar-grid{gap:3px}.calendar-day{min-height:60px;padding:.25rem}.day-number,.workout-indicator{font-size:.875rem}.exercise-row{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem}.workout-stats{grid-template-columns:1fr;gap:.5rem}.workout-detail-modal{width:95%;max-height:85vh;padding:1rem}button{min-height:44px}}@media (max-width:480px){.workout-history{padding:.5rem}.workout-history h2{font-size:1.25rem}.month-title{padding:.5rem;font-size:1.1rem}.calendar-day{min-height:50px;padding:.125rem}.day-number,.workout-indicator{font-size:.75rem}}.feedback-modal{width:90%;max-width:600px;max-height:90vh;padding:2rem;position:relative;overflow-y:auto}.modal-close-btn{color:#cbd5e0;cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:2rem;line-height:1;transition:color .2s;position:absolute;top:1rem;right:1rem}.modal-close-btn:hover{color:gold}.feedback-modal h2{margin-bottom:.5rem;font-size:2rem}.feedback-subtitle{color:#cbd5e0;margin-bottom:2rem;font-size:1.1rem}.feedback-form{flex-direction:column;gap:1.5rem;display:flex}.feedback-form .form-group{flex-direction:column;gap:.5rem;display:flex}.feedback-form label{color:gold;font-family:VT323,monospace;font-size:1.1rem;font-weight:600}.feedback-form .rs-input{width:100%}.feedback-textarea{resize:vertical;min-height:120px;font-family:inherit}.feedback-form button[type=submit]{width:100%;margin-top:1rem;font-size:1.3rem}.feedback-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.feedback-success{text-align:center;padding:3rem 1rem}.feedback-success h2{margin-bottom:1rem;font-size:2.5rem;animation:1s ease-in-out successPulse}.feedback-success p{color:#e2e8f0;font-size:1.2rem}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.modal-overlay{z-index:9999;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wip-modal{text-align:center;color:gold;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:3px solid gold;border-radius:16px;width:90%;max-width:400px;padding:2rem;box-shadow:0 20px 60px #00000080}.wip-modal h2{color:gold;margin-bottom:1rem;font-size:2rem}.wip-modal p{color:#e2e8f0;margin-bottom:2rem;font-size:1.1rem}.wip-close-btn{color:#222;cursor:pointer;background:linear-gradient(135deg,gold 0%,#f59e0b 100%);border:none;border-radius:8px;padding:.75rem 2rem;font-size:1.1rem;font-weight:700;transition:all .2s}.wip-close-btn:hover{background:linear-gradient(135deg,#f59e0b 0%,gold 100%)}.tutorial-overlay{z-index:10000;background:#000000d9;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.tutorial-modal{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:4px solid gold;border-radius:20px;width:90%;max-width:600px;max-height:80vh;animation:.5s cubic-bezier(.68,-.55,.265,1.55) tutorialPop;overflow:hidden;box-shadow:0 30px 80px #ffd70066}@keyframes tutorialPop{0%{opacity:0;transform:scale(.3)rotate(-5deg)}to{opacity:1;transform:scale(1)rotate(0)}}.tutorial-header{border-bottom:2px solid #4a5568;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.tutorial-header h2{color:gold;text-shadow:2px 2px 4px #00000080;margin:0;font-size:1.5rem}.tutorial-close{color:#cbd5e0;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:2rem;transition:all .2s;display:flex}.tutorial-close:hover{color:gold;background:#ffffff1a}.tutorial-content{flex-direction:column;gap:2rem;padding:2rem;display:flex}.tutorial-slide{text-align:center}.tutorial-image{margin-bottom:1.5rem}.tutorial-image img{border:2px solid #4a5568;border-radius:12px;max-width:100%;height:auto;box-shadow:0 4px 16px #0000004d}.tutorial-slide h3{color:gold;text-shadow:1px 1px 2px #00000080;margin-bottom:1rem;font-size:1.25rem}.tutorial-slide p{color:#e2e8f0;margin:0;font-size:1.1rem;line-height:1.6}.tutorial-navigation{justify-content:space-between;align-items:center;gap:1rem;display:flex}.tutorial-nav-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:2px solid #667eea;border-radius:8px;min-width:100px;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.tutorial-nav-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #667eea80}.tutorial-nav-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.tutorial-dots{gap:.5rem;display:flex}.tutorial-dot{cursor:pointer;background:#4a5568;border-radius:50%;width:12px;height:12px;transition:all .2s}.tutorial-dot.active{background:gold;transform:scale(1.2)}.tutorial-acknowledge-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:2px solid #10b981;border-radius:8px;min-width:140px;padding:.875rem 2rem;font-size:1.1rem;font-weight:700;transition:all .2s}.tutorial-acknowledge-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #10b98180}@media (max-width:768px){.tutorial-modal{width:95%;max-height:90vh}.tutorial-header{padding:1rem 1.5rem}.tutorial-header h2{font-size:1.25rem}.tutorial-content{gap:1.5rem;padding:1.5rem}.tutorial-slide h3{font-size:1.1rem}.tutorial-slide p{font-size:1rem}.tutorial-navigation{flex-direction:column;gap:1rem}.tutorial-nav-btn{width:100%;min-width:auto}.tutorial-acknowledge-btn{width:100%}}@media (max-width:480px){.tutorial-modal{width:98%}.tutorial-header{padding:.75rem 1rem}.tutorial-content{padding:1rem}.tutorial-slide h3{font-size:1rem}.tutorial-slide p{font-size:.95rem}}.app-container{background:repeating-linear-gradient(0deg,var(--rs-brown-dark)0px,var(--rs-brown-dark)2px,transparent 2px,transparent 4px),repeating-linear-gradient(90deg,var(--rs-brown-dark)0px,var(--rs-brown-dark)2px,transparent 2px,transparent 4px),linear-gradient(180deg,#2c1810 0%,#1a0f0a 100%);background-size:100% 100%,100% 100%,100% 100%;flex-direction:column;min-height:100vh;display:flex}.main-nav{background:linear-gradient(180deg,var(--rs-brown)0%,var(--rs-brown-dark)100%);border:3px solid var(--rs-border);z-index:100;border-top:3px solid #a1887f;border-left:none;border-right:none;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0;box-shadow:inset 0 2px #fff3,inset 0 -2px #00000080,0 4px 8px #0009}.nav-brand h1{color:var(--rs-gold-bright);text-shadow:2px 2px 0 var(--rs-black),3px 3px 0 #00000080;letter-spacing:2px;margin:0;font-family:"Press Start 2P",monospace;font-size:1.25rem}.nav-links{align-items:center;gap:1rem;display:flex}.nav-auth{align-items:center;gap:.5rem;display:flex}.nav-links button{background:linear-gradient(180deg,#6d4c41 0%,var(--rs-brown)100%);border:3px solid var(--rs-border);color:var(--rs-gold);cursor:pointer;text-shadow:1px 1px #000c;border-top:3px solid #a1887f;border-radius:0;padding:.625rem 1.25rem;font-family:VT323,monospace;font-size:1.1rem;font-weight:600;transition:all .1s;box-shadow:inset 0 1px #fff3,inset 0 -1px #00000080,2px 2px #0006}.nav-links button:hover{background:linear-gradient(#8d6e63 0%,#6d4c41 100%);transform:translate(1px,1px);box-shadow:inset 0 1px #fff3,inset 0 -1px #00000080,1px 1px #0006}.nav-links button.active{background:linear-gradient(180deg,var(--rs-gold)0%,#f9a825 100%);color:var(--rs-brown-dark);text-shadow:0 1px #ffffff80;border-color:#ffb74d}.nav-links button.feedback-btn{color:#fff;background:linear-gradient(#667eea 0%,#5568d3 100%);border-color:#7c8cf0}.nav-links button.feedback-btn:hover{background:linear-gradient(#7c8cf0 0%,#667eea 100%)}.btn-reset{background:linear-gradient(180deg,#d32f2f 0%,var(--rs-red)100%)!important;color:#ffebee!important;border-color:#ef5350 #b71c1c #b71c1c!important}.btn-reset:hover{background:linear-gradient(#ef5350 0%,#d32f2f 100%)!important}.main-content{flex:1;overflow-y:auto}@media (max-width:768px){.main-nav{flex-direction:column;gap:.75rem;padding:.75rem 1rem}.nav-brand h1{letter-spacing:1px;font-size:.875rem}.nav-links{flex-wrap:wrap;justify-content:center;gap:.5rem;width:100%}.nav-links button{flex:0 auto;min-height:44px;padding:.625rem .875rem;font-size:.9rem}.nav-auth{justify-content:center;width:100%}}@media (max-width:480px){.main-nav{padding:.5rem .75rem}.nav-brand h1{font-size:.75rem}.nav-links button{padding:.5rem .75rem;font-size:.85rem}}
