.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-void);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-content{text-align:center;max-width:400px;padding:2rem}.loading-title{color:var(--border-gold);margin-bottom:2rem;font-size:1.5rem;text-shadow:0 0 10px rgba(201,168,76,.5)}.loading-bar-container{width:100%;height:20px;background:var(--bg-panel);border:2px solid var(--border-gold);border-radius:10px;margin-bottom:2rem;overflow:hidden;box-shadow:inset 0 0 10px #00000080}.loading-bar{height:100%;background:linear-gradient(90deg,var(--glow-secondary),var(--glow-primary));border-radius:8px;box-shadow:0 0 10px #e8500480}.loading-text{color:var(--text-muted);font-size:.9rem;margin-bottom:2rem;min-height:1.2rem}.loading-spinner{width:40px;height:40px;border:4px solid var(--bg-panel);border-top:4px solid var(--glow-primary);border-radius:50%;margin:0 auto}.loading-spinner{width:40px;height:40px;border:3px solid var(--bg-panel);border-top:3px solid var(--glow-primary);border-radius:50%;margin:0 auto}.character-sheet{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:clamp(12px,2.5vw,28px);padding:clamp(20px,4vw,60px);text-align:center;overflow:visible;box-sizing:border-box}.character-header{margin-bottom:0}.character-name{font-size:clamp(1.8rem,5vw,4rem);margin-bottom:clamp(.3rem,.5vw,.5rem);color:var(--text-primary);text-shadow:0 0 clamp(5px,.8vw,10px) #c9a84c,0 0 clamp(10px,1.5vw,20px) #c9a84c,0 0 clamp(20px,3vw,40px) #c9a84c;white-space:nowrap}.class-title{font-size:clamp(.9rem,2vw,1.4rem);color:var(--glow-primary);margin-bottom:.25rem;height:auto}.class-title p{margin:0}.university{font-size:clamp(.75rem,1.5vw,1.1rem);color:var(--text-muted);margin:0}.character-avatar{margin-bottom:0}.avatar-frame{width:clamp(100px,15vw,180px);height:clamp(100px,15vw,180px);border:clamp(2px,.3vw,3px) solid var(--border-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,var(--bg-panel) 0%,var(--bg-void) 100%);box-shadow:0 0 clamp(15px,2.5vw,30px) #c9a84c4d}.avatar-placeholder{width:85%;height:85%;border-radius:50%;background:linear-gradient(45deg,var(--glow-primary),var(--border-gold));display:flex;align-items:center;justify-content:center;font-size:clamp(.8rem,2vw,1.3rem);font-weight:700;color:var(--text-primary)}.character-stats{width:100%;max-width:none}.xp-bar{width:clamp(250px,60vw,600px);height:clamp(28px,4vw,48px);background:var(--bg-panel);border:clamp(1px,.2vw,2px) solid var(--border-gold);border-radius:clamp(12px,1.5vw,20px);margin:0 auto clamp(16px,3vw,24px);position:relative;overflow:hidden}.xp-fill{height:100%;background:linear-gradient(90deg,var(--border-gold),var(--glow-primary));border-radius:clamp(10px,1.3vw,18px)}.xp-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;color:var(--text-primary);text-shadow:0 0 5px rgba(0,0,0,.8);font-size:clamp(.6rem,1.2vw,.9rem)}.equipped-items{margin-top:clamp(16px,3vw,28px);width:100%}.equipped-label{font-size:clamp(.7rem,1.3vw,.95rem);letter-spacing:2px;text-transform:uppercase;color:#c9a84cb3;margin-bottom:clamp(8px,1.5vw,16px);font-weight:600}.items-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(8px,1.5vw,16px);max-width:none;margin:0 auto}.item-slot{width:clamp(56px,8vw,80px);height:clamp(70px,10vw,96px);background:#0a0a0fcc;border:clamp(1px,.2vw,2px) solid rgba(201,168,76,.3);border-radius:clamp(4px,.5vw,8px);padding:clamp(8px,1vw,12px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(4px,.5vw,8px);transition:all .3s ease;cursor:pointer}.item-slot:hover{border-color:var(--glow-primary);box-shadow:0 0 clamp(12px,2vw,24px) #f906,0 0 clamp(24px,4vw,48px) #ff990026,inset 0 0 clamp(10px,1.5vw,20px) #ff99000d;background:#0a0a0ff2;transform:translateY(-3px)}.item-icon{display:flex;align-items:center;justify-content:center;width:clamp(32px,5vw,52px);height:clamp(32px,5vw,52px)}.item-icon svg{width:100%;height:100%}.item-label{font-size:clamp(.55rem,.9vw,.75rem);color:var(--text-muted);font-weight:600;letter-spacing:1px}.pixel-character-frame{width:380px;height:380px;border:2px solid var(--border-gold);box-shadow:0 0 20px #d4921e4d;display:flex;align-items:center;justify-content:center;background:var(--bg-panel);border-radius:4px}.pixel-character{display:flex;align-items:center;justify-content:center}.pixel-grid{display:grid;grid-template-columns:repeat(16,23px);grid-template-rows:repeat(16,23px);gap:0;image-rendering:crisp-edges;image-rendering:pixelated}.pixel{border:.5px solid rgba(255,255,255,.05)}.details-section{min-height:80vh;max-width:clamp(600px,80vw,1200px);margin:clamp(1rem,2vw,2rem) auto;display:flex;align-items:center;justify-content:center;padding:clamp(24px,5vw,80px) clamp(16px,4vw,60px);box-sizing:border-box;overflow:visible;width:100%;background:transparent}.details-section:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;pointer-events:none}.details-content{display:grid;grid-template-columns:38% 62%;gap:clamp(24px,4vw,56px);align-items:stretch;width:100%;max-width:clamp(600px,80vw,1200px);min-height:0;padding:clamp(24px,5vw,80px) clamp(32px,5vw,80px);box-sizing:border-box;background:#0a0a0fcc;border:2px solid var(--border-gold);border-radius:clamp(4px,.5vw,8px);box-shadow:0 0 clamp(10px,1.5vw,20px) #c9a84c33}@media (max-width: 768px){.details-content{grid-template-columns:1fr;gap:clamp(16px,3vw,32px);min-height:auto;padding:clamp(20px,4vw,40px)}}.details-left{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;height:100%;min-height:0;text-align:center}@media (max-width: 768px){.details-left{min-height:auto}}.details-name{font-size:clamp(1.2rem,2.5vw,2.6rem);margin-bottom:0;color:var(--text-primary);text-shadow:0 0 clamp(8px,1.2vw,15px) var(--border-gold),0 0 clamp(15px,2.5vw,30px) var(--border-gold);max-width:100%}.details-class{font-size:clamp(1rem,1.8vw,1.3rem);color:var(--glow-primary);margin-bottom:0;font-weight:700}.details-university{font-size:clamp(.85rem,1.4vw,1.1rem);color:var(--text-muted);margin-bottom:0}.details-portrait{flex:0 1 auto;width:100%;max-width:min(clamp(200px,35vw,380px),50vh);height:auto;max-height:min(clamp(200px,35vw,380px),50vh);aspect-ratio:1;margin:0 auto;border:none;overflow:hidden;background:transparent;display:flex;align-items:center;justify-content:center;box-shadow:none;transition:all .25s ease;cursor:default;border:2px solid var(--border-gold);border-radius:8px}.details-portrait:hover,.details-portrait.hovered{border:none;box-shadow:none;transform:translateY(-4px);background:transparent;filter:drop-shadow(0 0 20px rgba(255,153,0,.4)) drop-shadow(0 0 40px rgba(255,153,0,.15));border:2px solid var(--border-gold);border-radius:8px}.details-portrait img{width:100%;height:100%;object-fit:contain}.portrait-placeholder{font-size:clamp(.8rem,1vw,1.2rem);color:var(--text-muted);font-family:"Press Start 2P",monospace}.details-right{display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:0;overflow:hidden;min-width:0}@media (max-width: 768px){.details-right{min-height:auto}}.details-lore-title{font-size:clamp(1rem,2vw,1.8rem);color:var(--border-gold);margin-bottom:clamp(12px,2vw,20px);text-align:center}.details-bio{flex:1;width:100%;box-sizing:border-box;min-height:auto;padding:clamp(16px,3vw,32px);overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;display:flex;flex-direction:column;justify-content:flex-start;background:#0a0a0fcc;border:clamp(1px,.15vw,2px) solid var(--border-gold);border-radius:clamp(4px,.5vw,8px);box-shadow:0 0 clamp(8px,1.2vw,15px) #c9a84c33}.details-bio p{margin:0 0 clamp(8px,1vw,16px) 0;line-height:1.8;color:var(--text-primary);font-size:clamp(.8rem,1.2vw,1rem)}.details-bio p:last-child{margin-bottom:0}.details-stats{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;gap:clamp(8px,1.5vw,12px);flex-wrap:wrap;flex-shrink:0;margin-top:clamp(12px,2vw,24px);padding:0;box-sizing:border-box}.stat-chip{flex:0 1 auto;text-align:center;justify-content:center;display:flex;align-items:center;gap:clamp(4px,.5vw,6px);padding:clamp(6px,1vw,10px) clamp(8px,1.5vw,12px);font-size:clamp(.7rem,1vw,.85rem);white-space:nowrap;background:#0f0c07cc;border:clamp(1px,.1vw,1px) solid var(--border-gold);border-radius:clamp(12px,1.5vw,20px);box-sizing:border-box;color:var(--glow-primary)}.stat-chip svg{color:var(--glow-primary);flex-shrink:0}.typewriter-cursor{animation:blink 1s infinite;color:var(--glow-primary);font-weight:700}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.bio-hidden-text{position:absolute;opacity:0;pointer-events:none;white-space:pre-wrap;word-wrap:break-word}.bio-visible-text{position:relative}@media (max-width: 768px){.details-section{grid-template-columns:1fr;gap:32px;padding:40px 24px;min-height:auto}.details-left,.details-right{min-height:auto}.details-portrait{max-height:280px;max-width:280px}}.stats-panel{max-width:clamp(500px,70vw,1000px);margin:clamp(1rem,2vw,2rem) auto;padding:clamp(20px,4vw,40px);min-height:clamp(400px,60vw,800px);border:clamp(1px,.1vw,1px) solid var(--border-gold);box-shadow:0 0 clamp(6px,1vw,12px) #d4921e26;border-radius:clamp(2px,.3vw,4px);transition:all .25s ease;width:100%;box-sizing:border-box}.stats-panel:hover{border:clamp(1px,.1vw,1px) solid var(--glow-primary);box-shadow:0 0 clamp(12px,2vw,24px) #f906,0 0 clamp(24px,4vw,48px) #ff990026,inset 0 0 clamp(10px,1.5vw,20px) #ff99000d;transform:translateY(-3px)}.panel-title{text-align:center;margin-bottom:clamp(24px,4vw,40px);color:var(--border-gold);font-size:clamp(1.2rem,3vw,2.5rem)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,3vw,28px);width:100%;max-width:none;margin:0 auto}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:clamp(12px,2vw,16px)}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}}.stat-item{background:#0a0a0fcc;padding:clamp(16px,2.5vw,32px);border-radius:clamp(4px,.5vw,8px);border:clamp(1px,.1vw,1px) solid rgba(201,168,76,.3);cursor:pointer;transition:all .3s ease;min-height:auto;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:visible}.stat-item:hover{border-color:var(--glow-primary);box-shadow:0 0 clamp(12px,2vw,24px) #f906,0 0 clamp(24px,4vw,48px) #ff990026,inset 0 0 clamp(10px,1.5vw,20px) #ff99000d;transform:translateY(-3px)}.stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(8px,1vw,16px)}.stat-name{font-weight:600;color:var(--text-primary);font-size:clamp(.85rem,1.5vw,1.2rem)}.stat-value{font-size:clamp(1.4rem,3vw,2rem);font-weight:700;color:var(--glow-primary)}.stat-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{max-width:clamp(280px,30vw,400px);padding:clamp(1.2rem,2vw,2rem);text-align:center}.modal-content h3{margin-bottom:clamp(.5rem,1vw,1rem);color:var(--glow-primary)}.modal-content p{margin-bottom:clamp(1rem,2vw,2rem);color:var(--text-muted)}.modal-content button{background:var(--border-gold);color:var(--bg-void);border:none;padding:clamp(.35rem,.6vw,.5rem) clamp(.7rem,1vw,1rem);border-radius:clamp(2px,.3vw,4px);cursor:pointer;font-weight:700}.modal-content button:hover{background:var(--glow-primary)}.quest-log{max-width:clamp(600px,80vw,1200px);margin:clamp(1rem,2vw,2rem) auto;padding:clamp(20px,4vw,40px);border:clamp(1px,.1vw,1px) solid var(--border-gold);box-shadow:0 0 clamp(6px,1vw,12px) #d4921e26;border-radius:clamp(2px,.3vw,4px);transition:all .25s ease;width:100%;box-sizing:border-box}.quest-log:hover{border:clamp(1px,.1vw,1px) solid var(--glow-primary);box-shadow:0 0 clamp(12px,2vw,24px) #f906,0 0 clamp(24px,4vw,48px) #ff990026,inset 0 0 clamp(10px,1.5vw,20px) #ff99000d;transform:translateY(-3px)}.loading-quests{text-align:center;color:var(--text-muted);font-size:clamp(1rem,2vw,1.2rem);padding:clamp(24px,5vw,48px);display:flex;flex-direction:column;align-items:center;gap:1rem}.loading-spinner{width:clamp(28px,3vw,40px);height:clamp(28px,3vw,40px);border:clamp(2px,.25vw,3px) solid var(--border-gold);border-top:clamp(2px,.25vw,3px) solid transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.quests-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(240px,25vw,360px),1fr));gap:clamp(16px,3vw,28px)}@media (max-width: 1024px){.quests-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.quests-grid{grid-template-columns:1fr}}.quest-card{background:#0a0a0fcc;border-radius:clamp(4px,.5vw,8px);border:clamp(1px,.1vw,1px) solid rgba(201,168,76,.3);transition:all .3s ease;overflow:hidden;display:flex;flex-direction:column}.quest-card:hover{border-color:var(--glow-primary);box-shadow:0 0 clamp(12px,2vw,24px) #f906,0 0 clamp(24px,4vw,48px) #ff990026,inset 0 0 clamp(10px,1.5vw,20px) #ff99000d;transform:translateY(-3px)}.quest-image{width:100%;height:clamp(140px,20vw,300px);background:var(--bg-panel);border-bottom:clamp(1px,.1vw,1px) solid rgba(201,168,76,.3);display:flex;align-items:center;justify-content:center;overflow:hidden}.quest-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{color:var(--text-muted);font-size:clamp(.9rem,2vw,1.2rem);font-family:"Press Start 2P",monospace}.quest-content{padding:clamp(12px,2vw,20px);flex:1;display:flex;flex-direction:column}.quest-title{font-size:clamp(.85rem,1.5vw,1.1rem);color:var(--text-primary);margin:0 0 clamp(8px,1vw,12px) 0;line-height:1.3;font-weight:700}.quest-tech{display:flex;flex-wrap:wrap;gap:clamp(4px,.8vw,8px);margin-bottom:clamp(8px,1vw,12px)}.tech-chip{background:var(--bg-panel);color:var(--glow-primary);padding:clamp(3px,.4vw,6px) clamp(6px,1vw,10px);border-radius:clamp(8px,1vw,12px);font-size:clamp(.6rem,1vw,.75rem);border:clamp(1px,.1vw,1px) solid var(--glow-primary);white-space:nowrap}.quest-description{color:var(--text-muted);margin-bottom:clamp(8px,1vw,12px);line-height:1.5;flex:1;font-size:clamp(.75rem,1.2vw,.9rem)}.quest-actions{display:flex;gap:clamp(4px,.8vw,8px);margin-top:auto}.quest-button{flex:1;background:var(--border-gold);color:var(--bg-void);border:none;padding:clamp(6px,1vw,10px) clamp(8px,1.5vw,12px);border-radius:clamp(2px,.3vw,4px);font-weight:700;cursor:pointer;transition:all .3s ease;text-align:center;font-size:clamp(.7rem,1vw,.85rem)}.quest-button:hover{background:var(--glow-primary);transform:translateY(-2px);box-shadow:0 4px 12px #ff99004d}.quest-button.primary{background:var(--border-gold)}.quest-button.secondary{background:var(--glow-secondary);flex:0 0 auto;padding:clamp(.5rem,.8vw,.75rem) clamp(.7rem,1vw,1rem)}@media (max-width: 768px){.quests-grid{grid-template-columns:1fr}.quest-image{height:clamp(140px,30vw,200px)}}.arcade-section{max-width:clamp(600px,80vw,1200px);margin:clamp(1rem,2vw,2rem) auto;padding:clamp(20px,4vw,40px);min-height:clamp(500px,60vw,850px);display:flex;flex-direction:column;align-items:center;justify-content:center;border:clamp(1px,.1vw,1px) solid var(--border-gold);box-shadow:0 0 clamp(6px,1vw,12px) #d4921e26;border-radius:clamp(2px,.3vw,4px);transition:all .25s ease;width:100%;box-sizing:border-box}.arcade-section:hover{border:clamp(1px,.1vw,1px) solid var(--glow-primary);box-shadow:0 0 clamp(12px,2vw,24px) #f906,0 0 clamp(24px,4vw,48px) #ff990026,inset 0 0 clamp(10px,1.5vw,20px) #ff99000d;transform:translateY(-3px)}.arcade-title{font-size:clamp(1.8rem,4vw,3rem);color:var(--glow-primary);text-shadow:0 0 20px var(--glow-primary),0 0 40px var(--glow-primary);margin-bottom:clamp(8px,1.5vw,16px);text-align:center}.arcade-subtitle{font-size:clamp(.8rem,1.5vw,1rem);color:var(--text-muted);margin-bottom:clamp(16px,3vw,28px);text-align:center}.arcade-container{display:flex;gap:clamp(16px,3vw,28px);width:100%;max-width:none;justify-content:center;align-items:flex-start;flex-wrap:nowrap}@media (max-width: 900px){.arcade-container{flex-direction:column;align-items:center;flex-wrap:wrap}}.game-wrapper{position:relative;flex:1;min-width:0;max-width:900px;width:100%}@media (max-width: 900px){.game-wrapper{min-width:100%;max-width:100%}}.game-canvas{width:100%;height:auto;aspect-ratio:900 / 550;background:#0d0a07;border:clamp(2px,.25vw,3px) solid var(--border-gold);border-radius:clamp(2px,.3vw,4px);box-shadow:0 0 clamp(10px,1.5vw,20px) #d4921e4d,inset 0 0 clamp(10px,1.5vw,20px) #00000080;image-rendering:crisp-edges;image-rendering:pixelated;display:block;transition:all .25s ease;box-sizing:border-box}.game-canvas:hover{border:clamp(2px,.25vw,3px) solid var(--glow-primary);box-shadow:0 0 clamp(12px,2vw,24px) #f906,0 0 clamp(24px,4vw,48px) #ff990026,inset 0 0 clamp(10px,1.5vw,20px) #00000080}.scanline-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent,transparent clamp(2px,.25vw,3px),rgba(0,0,0,.08) clamp(2px,.25vw,3px),rgba(0,0,0,.08) clamp(3px,.3vw,4px));pointer-events:none;border-radius:2px}.wave-notification{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:"Press Start 2P",monospace;font-size:clamp(1rem,2vw,1.5rem);color:var(--glow-primary);text-shadow:0 0 20px var(--glow-primary);animation:wave-pop 1.5s ease-out forwards;pointer-events:none;z-index:100}@keyframes wave-pop{0%{opacity:1;transform:translate(-50%,-50%) scale(.8)}50%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.leaderboard{flex:0 0 clamp(160px,25vw,240px);background:#0a0a0fcc;border:clamp(1px,.15vw,2px) solid var(--border-gold);border-radius:clamp(2px,.3vw,4px);padding:clamp(12px,2vw,20px);box-shadow:0 0 clamp(8px,1.2vw,15px) #c9a84c33;height:fit-content;transition:all .25s ease;width:100%}@media (max-width: 900px){.leaderboard{flex:none;width:100%}}.leaderboard:hover{border:clamp(1px,.1vw,1px) solid var(--glow-primary);box-shadow:0 0 clamp(12px,2vw,24px) #f906,0 0 clamp(24px,4vw,48px) #ff990026,inset 0 0 clamp(10px,1.5vw,20px) #ff99000d;transform:translateY(-3px)}.leaderboard-header{display:flex;flex-direction:column;align-items:center;gap:clamp(2px,.3vw,4px);margin-bottom:clamp(8px,1vw,12px)}.leaderboard-title{display:flex;align-items:center;gap:clamp(4px,.6vw,8px)}.leaderboard-title span{font-family:"Press Start 2P",monospace;font-size:clamp(.5rem,.6vw,.7rem);color:var(--glow-primary);letter-spacing:clamp(.5px,.1vw,1px)}.leaderboard-global-badge{display:flex;align-items:center;gap:clamp(3px,.4vw,6px)}.leaderboard-global-badge span{font-size:clamp(.4rem,.5vw,.55rem);color:var(--text-muted);letter-spacing:clamp(1px,.15vw,2px)}.leaderboard-entries{display:flex;flex-direction:column;gap:0}.leaderboard-entry{display:grid;grid-template-columns:clamp(16px,2vw,24px) clamp(20px,2.5vw,28px) 1fr clamp(24px,3vw,36px);gap:clamp(2px,.3vw,4px);align-items:center;padding:clamp(4px,.5vw,6px) clamp(2px,.3vw,4px);border-bottom:1px solid rgba(212,146,30,.1);font-family:"Press Start 2P",monospace;transition:all .3s ease}.leaderboard-entry:last-child{border-bottom:none}.leaderboard-entry.highlight{background:#f903;border-color:var(--glow-primary);box-shadow:0 0 10px #ff99004d}.rank{color:var(--text-muted);font-size:clamp(.4rem,.5vw,.55rem);text-align:center}.initials{color:var(--glow-primary);font-size:clamp(.45rem,.55vw,.65rem);font-weight:700;text-align:center}.score{color:var(--text-primary);font-size:clamp(.45rem,.55vw,.65rem);text-align:right;padding-right:clamp(2px,.3vw,4px)}.date{color:var(--text-muted);font-size:clamp(.35rem,.4vw,.5rem);text-align:right}.empty-leaderboard{text-align:center;color:var(--text-muted);padding:clamp(.6rem,1vw,1rem) 0;font-size:clamp(.45rem,.55vw,.65rem)}.mobile-controls{display:none;gap:clamp(20px,5vw,40px);margin-top:clamp(12px,2vw,20px);justify-content:center}@media (max-width: 768px){.mobile-controls{display:flex}}.mobile-btn{width:clamp(56px,8vw,80px);height:clamp(42px,6vw,60px);background:#0f0c07e6;color:var(--glow-primary);border:clamp(1px,.1vw,1px) solid var(--border-gold);padding:clamp(8px,1vw,12px);font-size:clamp(1.2rem,2vw,1.5rem);font-weight:700;border-radius:clamp(2px,.3vw,4px);cursor:pointer;transition:all .2s ease;font-family:"Press Start 2P",monospace;touch-action:none}.mobile-btn:active{background:var(--glow-primary);color:var(--bg-void);transform:scale(.95)}.initial-input-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10001}.initial-input-box{background:var(--bg-panel);border:clamp(2px,.25vw,3px) solid var(--border-gold);padding:clamp(1.5rem,3vw,2.5rem) clamp(1.2rem,2.5vw,2rem);border-radius:clamp(2px,.3vw,4px);text-align:center;box-shadow:0 0 clamp(15px,2.5vw,30px) #d4921e66;max-width:clamp(280px,30vw,400px)}.initial-input-box h2{font-size:clamp(.8rem,1vw,1.2rem);color:var(--glow-primary);margin-bottom:clamp(.6rem,1vw,1rem);font-family:"Press Start 2P",monospace}.initial-score{font-size:clamp(.65rem,.8vw,.9rem);color:var(--text-muted);margin-bottom:clamp(1rem,1.5vw,1.5rem)}.initial-input-box label{display:block;font-size:clamp(.55rem,.65vw,.75rem);color:var(--text-muted);margin-bottom:clamp(.5rem,.7vw,.75rem);font-family:"Press Start 2P",monospace;letter-spacing:clamp(.5px,.1vw,1px)}.initial-input{background:#0f0c07e6;border:clamp(1px,.15vw,2px) solid var(--border-gold);color:var(--text-primary);padding:clamp(5px,.7vw,8px);font-size:clamp(.8rem,1vw,1.2rem);text-align:center;text-transform:uppercase;border-radius:2px;font-family:"Press Start 2P",monospace;margin-bottom:clamp(1rem,1.5vw,1.5rem);letter-spacing:clamp(4px,.7vw,8px);width:clamp(60px,6vw,80px);box-sizing:border-box}.initial-input:focus{outline:none;box-shadow:0 0 10px var(--glow-primary);background:#0f0c07f2}.initials-display{text-align:center;font-size:clamp(.7rem,.85vw,1rem);color:var(--text-muted);margin-bottom:clamp(.6rem,1vw,1rem)}.initials-display span{color:var(--glow-primary);font-weight:700;font-family:"Press Start 2P",monospace;font-size:clamp(.9rem,1.1vw,1.3rem);letter-spacing:clamp(1px,.15vw,2px)}.initial-change{background:transparent;color:var(--glow-primary);border:clamp(1px,.1vw,1px) solid var(--glow-primary);padding:clamp(.35rem,.5vw,.5rem) clamp(.7rem,1vw,1rem);font-size:clamp(.5rem,.6vw,.7rem);font-weight:700;border-radius:2px;cursor:pointer;font-family:"Press Start 2P",monospace;transition:all .2s ease;text-decoration:underline}.initial-change:hover{background:var(--glow-primary);color:var(--bg-void)}.initial-submit{background:var(--border-gold);color:var(--bg-void);border:clamp(1px,.15vw,2px) solid var(--glow-primary);padding:clamp(.5rem,.8vw,.75rem) clamp(1.2rem,2vw,2rem);font-size:clamp(.6rem,.7vw,.85rem);font-weight:700;border-radius:2px;cursor:pointer;font-family:"Press Start 2P",monospace;transition:all .2s ease}.initial-submit:hover{background:var(--glow-primary);transform:scale(1.05)}@media (max-width: 1024px){.arcade-container{flex-direction:column;align-items:center}.leaderboard{width:100%;flex:none;max-width:clamp(500px,65vw,900px)}}@media (max-width: 768px){.mobile-controls{display:flex}.arcade-section{padding:clamp(.6rem,1.5vw,1rem)}.leaderboard{margin-top:clamp(.6rem,1.5vw,1rem)}.game-canvas{aspect-ratio:4 / 3}}.contact-party{max-width:clamp(500px,70vw,1000px);margin:clamp(1rem,2vw,2rem) auto;padding:clamp(20px,4vw,40px);border:clamp(1px,.1vw,1px) solid var(--border-gold);box-shadow:0 0 clamp(6px,1vw,12px) #d4921e26;border-radius:clamp(2px,.3vw,4px);transition:all .25s ease;width:100%;box-sizing:border-box}.contact-party:hover{border:clamp(1px,.1vw,1px) solid var(--glow-primary);box-shadow:0 0 clamp(12px,2vw,24px) #f906,0 0 clamp(24px,4vw,48px) #ff990026,inset 0 0 clamp(10px,1.5vw,20px) #ff99000d;transform:translateY(-3px)}.party-members{display:flex;justify-content:center;gap:clamp(16px,3vw,28px);margin-bottom:clamp(24px,4vw,48px);flex-wrap:wrap}.party-member{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;background:#0a0a0fcc;padding:clamp(12px,2vw,20px);border-radius:clamp(4px,.5vw,8px);border:clamp(1px,.1vw,1px) solid rgba(201,168,76,.3);transition:all .3s ease;width:clamp(160px,25vw,260px)}@media (max-width: 600px){.party-member{width:100%}}.party-member:hover{border-color:var(--glow-primary);box-shadow:0 0 clamp(12px,2vw,24px) #f906,0 0 clamp(24px,4vw,48px) #ff990026,inset 0 0 clamp(10px,1.5vw,20px) #ff99000d;transform:translateY(-3px)}.member-icon{display:flex;align-items:center;justify-content:center;margin-bottom:clamp(8px,1vw,12px);color:var(--glow-primary)}.member-icon svg{color:var(--glow-primary)}.party-member h3{margin:clamp(6px,1vw,12px) 0;color:var(--glow-primary);font-size:clamp(.85rem,1.5vw,1.1rem)}.error-message{background:#dc35451a;border:1px solid #dc3545;color:#dc3545;padding:clamp(12px,2vw,16px);border-radius:8px;text-align:center;margin-bottom:clamp(12px,2vw,16px);font-weight:700;font-size:clamp(.75rem,1.2vw,.9rem)}.success-message{background:#28a7451a;border:1px solid #28a745;color:#28a745;padding:clamp(12px,2vw,16px);border-radius:8px;text-align:center;margin-bottom:clamp(12px,2vw,16px);font-size:clamp(.8rem,1.2vw,.95rem)}.success-message h4{margin:0 0 clamp(6px,1vw,12px) 0;font-size:clamp(1rem,1.8vw,1.3rem)}.success-message p{margin:0}.contact-form-section{background:#0a0a0fcc;padding:clamp(16px,3vw,32px);border-radius:clamp(4px,.5vw,8px);border:clamp(1px,.1vw,1px) solid rgba(201,168,76,.3)}.form-title{text-align:center;margin-bottom:clamp(16px,3vw,32px);color:var(--border-gold);font-size:clamp(1.1rem,2vw,1.5rem)}.contact-form{display:flex;flex-direction:column;gap:clamp(12px,2vw,20px)}.form-group input,.form-group textarea{padding:clamp(8px,1.5vw,12px);border:1px solid var(--border-gold);border-radius:4px;background:var(--bg-void);color:var(--text-primary);font-family:inherit;font-size:clamp(.85rem,1.2vw,1rem)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--glow-primary);box-shadow:0 0 10px #ff99004d}.error-text{color:var(--danger);font-size:clamp(.7rem,1vw,.8rem);margin-top:clamp(4px,.5vw,8px)}.submit-button{background:var(--border-gold);color:var(--bg-void);border:none;padding:clamp(.6rem,1.2vw,1rem);border-radius:clamp(2px,.3vw,4px);font-weight:700;font-size:clamp(.85rem,1vw,1rem);cursor:pointer;transition:all .3s ease;align-self:flex-start}.success-message h4{color:var(--success);margin-bottom:clamp(.5rem,1vw,1rem)}.contact-form-section{max-width:clamp(400px,45vw,600px);margin:0 auto}.form-title{text-align:center;margin-bottom:clamp(1.2rem,2vw,2rem);color:var(--border-gold);font-size:clamp(1.1rem,1.5vw,1.5rem)}.contact-form{display:flex;flex-direction:column;gap:clamp(1rem,1.5vw,1.5rem)}.form-group{display:flex;flex-direction:column}.form-group input,.form-group textarea{padding:clamp(.5rem,.8vw,.75rem);background:#0a0a0fcc;border:clamp(1px,.1vw,1px) solid rgba(201,168,76,.3);border-radius:clamp(2px,.3vw,4px);color:var(--text-primary);font-family:inherit;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--glow-primary);box-shadow:0 0 clamp(5px,.8vw,10px) #f903}.form-group input.error,.form-group textarea.error{border-color:var(--danger)}.error-text{color:var(--danger);font-size:clamp(.65rem,.8vw,.8rem);margin-top:clamp(.15rem,.3vw,.25rem)}.submit-button{background:var(--border-gold);color:var(--bg-void);border:none;padding:clamp(10px,2vw,16px) clamp(16px,3vw,24px);border-radius:clamp(2px,.3vw,4px);font-weight:700;cursor:pointer;transition:all .3s ease;font-size:clamp(.85rem,1.2vw,1rem);width:100%}.submit-button:hover{background:var(--glow-primary);transform:translateY(-2px);box-shadow:0 clamp(2px,.3vw,4px) clamp(6px,1vw,12px) #ff99004d}.success-message{text-align:center;padding:clamp(1.2rem,2vw,2rem);background:#2ecc711a;border:clamp(1px,.1vw,1px) solid var(--success);border-radius:clamp(4px,.5vw,8px)}.success-message h4{color:var(--success);margin-bottom:clamp(.3rem,.5vw,.5rem)}.success-message p{color:var(--text-muted)}.cursor-trail{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9998}.trail-particle{position:absolute;width:6px;height:6px;background:#f90;transition:none}:root{--bg-void: #0d0a07;--bg-panel: #1a1208;--bg-panel-hover: #241a0e;--border-gold: #d4921e;--border-dim: #6b4a12;--glow-primary: #ff9900;--glow-secondary: #e85d04;--glow-success: #78c44c;--glow-danger: #e03030;--text-primary: #f0e0c0;--text-muted: #8a6a3a;--text-accent: #ff9900;--xp-bar: #ff9900;--hp-bar: #78c44c;--mp-bar: #4a9eff}html{font-size:16px}@media (max-width: 768px){html{font-size:14px}}@media (max-width: 480px){html{font-size:12px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Rajdhani,sans-serif;background:var(--bg-void);color:var(--text-primary);overflow-x:hidden;max-width:100vw;cursor:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" fill="%23c9a84c"/></svg>'),auto}.app{min-height:100vh;position:relative}.section-container,.character-sheet,.details-section,.stats-panel,.quest-log,.arcade,.contact-party{width:100%;box-sizing:border-box;overflow-x:hidden}.content{width:100%;overflow-x:hidden}.panel{background:#0f0f1ad9;border:clamp(1px,.1vw,1px) solid var(--border-gold);box-shadow:0 0 clamp(10px,1.5vw,20px) #c9a84c26,inset 0 0 clamp(20px,3vw,40px) #00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:clamp(4px,.5vw,8px)}.glow-text{text-shadow:0 0 clamp(5px,.8vw,10px) var(--glow-primary),0 0 clamp(10px,1.5vw,20px) var(--glow-primary),0 0 clamp(15px,2.5vw,30px) var(--glow-primary)}.fantasy-font{font-family:Cinzel Decorative,serif}.pixel-font{font-family:"Press Start 2P",monospace}.navigation{position:fixed;left:clamp(10px,1.5vw,20px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:clamp(4px,.6vw,10px);z-index:100;min-width:0}.nav-button{width:clamp(140px,14vw,220px);min-width:0;background:#0a0a0fe6;border:1px solid rgba(201,168,76,.3);border-left:3px solid transparent;color:var(--text-primary);padding:clamp(10px,1.2vw,18px) clamp(14px,1.8vw,28px);font-family:Rajdhani,sans-serif;font-weight:700;letter-spacing:clamp(1px,.15vw,2px);font-size:clamp(.75rem,.9vw,1.2rem);text-align:left;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:clamp(6px,.6vw,10px);position:relative;overflow:hidden;line-height:1.6}.nav-button:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--border-gold);transition:width .2s ease}.nav-button:hover:before,.nav-button.active:before{width:3px}.nav-button.active{background:#c9a84c26;border-left-color:var(--border-gold);animation:navPulse 2s infinite}.nav-button:hover{border-color:var(--border-gold);box-shadow:0 0 10px #c9a84c4d}.nav-icon{font-size:clamp(1rem,1.2vw,1.5rem);min-width:clamp(14px,1.2vw,20px)}.nav-label{flex:1}@keyframes navPulse{0%,to{box-shadow:0 0 5px #c9a84c4d}50%{box-shadow:0 0 15px #c9a84c99,0 0 25px #c9a84c66}}@media (max-width: 768px){.navigation{left:auto;top:auto;bottom:0;right:0;transform:none;flex-direction:row;width:100%;gap:0;background:#0a0a0ff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(201,168,76,.3);padding:10px;justify-content:space-around}.nav-button{width:auto;min-width:auto;flex:1;max-width:none;background:transparent;border:none;border-left:none;border-top:2px solid transparent;padding:12px 8px;font-size:.7rem;text-align:center;flex-direction:column;gap:4px;border-radius:0}.nav-button:before{content:"";position:absolute;left:0;top:0;right:0;bottom:auto;height:0;width:auto;background:var(--border-gold);transition:height .2s ease}.nav-button:hover:before,.nav-button.active:before{height:2px;width:auto}.nav-button.active{background:#c9a84c1a;border-top-color:var(--border-gold);animation:mobileNavPulse 2s infinite}.nav-button:hover{border-color:transparent;border-top-color:var(--border-gold);box-shadow:none}.nav-icon{font-size:1.2rem;min-width:auto}.nav-label{flex:none;font-size:.6rem;line-height:1.2}@keyframes mobileNavPulse{0%,to{box-shadow:inset 0 0 5px #c9a84c4d}50%{box-shadow:inset 0 0 15px #c9a84c99}}.content{padding-bottom:clamp(50px,8vw,70px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--glow-primary)}50%{box-shadow:0 0 20px var(--glow-primary),0 0 30px var(--glow-primary)}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.float{animation:float 3s ease-in-out infinite}.pulse{animation:pulse 2s infinite}.glow{animation:glow 2s ease-in-out infinite alternate}.typewriter{overflow:hidden;border-right:2px solid var(--glow-primary);white-space:nowrap;animation:typewriter 2s steps(40,end),blink-caret .75s step-end infinite}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--glow-primary)}}.fade-in-up{animation:fadeInUp .6s ease-out}.rotate{animation:rotate 2s linear infinite}
