*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--gold: #c9a84c;--gold-light: #f0d880;--dark-bg: #0d0b08;--surface: #15120d;--surface-2: #1c1812;--border: #3d3528;--text: #e8dcc8;--text-muted: #a09070;--red: #c0392b;--green: #27ae60;--font-display: "Cinzel", Georgia, serif;--font-body: "Crimson Pro", Georgia, serif}body{background:var(--dark-bg);color:var(--text);font-family:var(--font-body);font-size:1.1rem;min-height:100vh}.screen{display:none!important}.screen.active{display:flex!important;flex-direction:column}#screen-menu{align-items:center;justify-content:center;gap:2rem;height:100vh;text-align:center}#screen-menu h1{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,5rem);font-weight:900;background:linear-gradient(135deg,var(--gold-light),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.08em}button{font-family:var(--font-display);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;padding:.75rem 2rem;border:1px solid var(--gold);border-radius:4px;background:transparent;color:var(--gold);cursor:pointer;transition:background .18s ease,color .18s ease}button:hover:not(:disabled){background:var(--gold);color:var(--dark-bg)}button:disabled{opacity:.35;cursor:not-allowed}button.primary{background:var(--gold);color:var(--dark-bg)}button.primary:hover{background:var(--gold-light)}#screen-map{align-items:center;padding:2rem;gap:2rem;min-height:100vh}#map-nodes{display:flex;align-items:center;gap:1rem}.encounter-node{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:default;transition:transform .18s ease}.node-icon{width:72px;height:72px;border-radius:50%;border:2px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:2rem;transition:border-color .18s ease,box-shadow .18s ease}.node-name{font-family:var(--font-display);font-size:.7rem;letter-spacing:.06em;color:var(--text-muted);text-align:center}.encounter-node.current .node-icon{border-color:var(--gold);box-shadow:0 0 20px oklch(from #c9a84c l c h / .35);cursor:pointer}.encounter-node.current:hover{transform:translateY(-4px)}.encounter-node.completed .node-icon{border-color:var(--green);opacity:.6}.encounter-node.locked{opacity:.3}#map-equipped-strip{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:100%;max-width:680px}.strip-label{display:flex;align-items:center;gap:.4rem;font-family:var(--font-display);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#c9a84c73}.strip-label-icon{font-size:.65rem}.strip-slots{margin-left:.35rem;font-size:.58rem;color:var(--text-muted);opacity:.6}#strip-moves{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}.strip-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem .85rem;min-width:110px;background:linear-gradient(145deg,#0c0a18e0,#140f28d1);border:1px solid rgba(201,168,76,.18);border-radius:6px;cursor:default;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;clip-path:polygon(0 5px,5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px));animation:stripCardIn .3s ease forwards}@keyframes stripCardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.strip-card:nth-child(1){animation-delay:.04s}.strip-card:nth-child(2){animation-delay:.09s}.strip-card:nth-child(3){animation-delay:.14s}.strip-card:nth-child(4){animation-delay:.19s}.strip-card:hover{border-color:#c9a84c61;transform:translateY(-3px);box-shadow:0 6px 20px #0006}.strip-card-name{font-family:var(--font-display);font-size:.75rem;letter-spacing:.04em;color:var(--text);text-align:center;white-space:nowrap}.strip-card-type{font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;padding:1px 6px;border-radius:3px}.strip-card-type.physical{color:#f0a030;background:#f0a0301a;border:1px solid rgba(240,160,48,.2)}.strip-card-type.magic{color:#9b7eff;background:#9b7eff1a;border:1px solid rgba(155,126,255,.2)}.strip-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:#060410f7;border:1px solid rgba(201,168,76,.28);border-radius:5px;padding:.45rem .65rem;width:max-content;max-width:200px;font-size:.67rem;color:var(--text-muted);line-height:1.5;white-space:normal;pointer-events:none;opacity:0;transition:opacity .15s ease,transform .15s ease;z-index:50;box-shadow:0 4px 16px #0009;text-align:center}.strip-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#c9a84c47}.strip-card:hover .strip-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.strip-slot-empty{display:flex;align-items:center;justify-content:center;min-width:110px;height:70px;border:1px dashed rgba(201,168,76,.12);border-radius:6px;color:#c9a84c2e;font-size:1.1rem;clip-path:polygon(0 5px,5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px))}#map-hero-actions{display:flex;gap:.5rem;flex-direction:column;align-items:stretch}.save-btn{border-color:#64a0ff40!important;color:#8cbeffb3!important}.save-btn:hover{border-color:#64a0ff80!important;color:#8cbeff!important;background:#64a0ff0f!important}.save-btn.saved span:last-child:after{content:" ✓";color:#4cdd7e}#screen-battle{display:flex;flex-direction:column;height:100vh;padding:.75rem;gap:.6rem;background:transparent;overflow:hidden;max-width:800px;margin-inline:auto;width:100%}#battle-top{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:start;flex-shrink:0}.combatant-hud{background:linear-gradient(135deg,#0a0814eb,#191232e0);border:1px solid rgba(201,168,76,.25);border-radius:6px;padding:.65rem .9rem;position:relative;box-shadow:0 2px 12px #00000080,inset 0 1px #c9a84c14;clip-path:polygon(0 8px,8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px))}.combatant-hud:before,.combatant-hud:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold);opacity:.5}.combatant-hud:before{top:4px;left:4px}.combatant-hud:after{bottom:4px;right:4px}.monster-hud .combatant-hud:before{right:4px;left:auto}.monster-hud .combatant-hud:after{left:4px;right:auto}.hud-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.4rem}.monster-hud .hud-header{flex-direction:row-reverse}.combatant-name{font-family:var(--font-display);font-size:.9rem;letter-spacing:.08em;color:var(--gold);text-shadow:0 0 8px rgba(201,168,76,.4)}.combatant-level{font-size:.65rem;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.hp-bar-wrap{position:relative;background:#00000080;border:1px solid rgba(255,255,255,.06);border-radius:3px;height:10px;overflow:hidden;margin-bottom:.25rem}.hp-bar{height:100%;border-radius:2px;background:linear-gradient(90deg,#1fa848,#4cdd7e);transition:width .6s cubic-bezier(.16,1,.3,1),background .4s ease;position:relative;overflow:hidden}.hp-bar:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);animation:hpShimmer 3s ease-in-out infinite}@keyframes hpShimmer{0%{left:-60%}50%{left:120%}to{left:120%}}.hp-bar.mid{background:linear-gradient(90deg,#c8820a,#f0b03a)}.hp-bar.low{background:linear-gradient(90deg,#a01515,#e03333);animation:hpPulse 1.2s ease-in-out infinite}@keyframes hpPulse{0%,to{opacity:1}50%{opacity:.65}}.monster-bar{background:linear-gradient(90deg,#8b1a1a,#c33);float:right;direction:rtl}.hp-text{font-size:.7rem;color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.03em}.hp-text.align-right{text-align:right}#battle-info{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding-top:.25rem}.encounter-pip-row{display:flex;gap:5px}.encounter-pip{width:8px;height:8px;border-radius:50%;background:#c9a84c33;border:1px solid rgba(201,168,76,.4);transition:background .3s ease,box-shadow .3s ease}.encounter-pip.done{background:#c9a84cb3}.encounter-pip.active{background:var(--gold);box-shadow:0 0 6px #c9a84c99}.encounter-label,.turn-label{font-size:.65rem;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.vs-badge{font-family:var(--font-display);font-size:1.1rem;color:var(--gold);letter-spacing:.15em;text-shadow:0 0 12px rgba(201,168,76,.5);opacity:.7}.modifier-row{display:flex;flex-wrap:wrap;gap:3px;margin-top:.3rem;min-height:18px}.modifier-row.align-right{justify-content:flex-end}.mod-tag{font-size:.6rem;padding:1px 5px;border-radius:3px;letter-spacing:.05em;text-transform:uppercase;border:1px solid;font-weight:600}.mod-tag.buff{color:#4cdd7e;border-color:#4cdd7e4d;background:#4cdd7e14}.mod-tag.debuff{color:#e05555;border-color:#e055554d;background:#e0555514}#phaser-container{flex:1 1 0;min-height:0;max-height:400px;border-radius:6px;overflow:hidden;border:1px solid rgba(201,168,76,.15);position:relative}#phaser-container canvas{width:100%!important;height:100%!important}#battle-bottom{display:grid;grid-template-columns:1fr 1.6fr;gap:.75rem;flex-shrink:0;height:160px}#battle-log-wrap{background:#05040cd9;border:1px solid rgba(201,168,76,.15);border-radius:6px;display:flex;flex-direction:column;overflow:hidden}.log-header{display:flex;align-items:center;gap:.4rem;padding:.3rem .65rem;border-bottom:1px solid rgba(201,168,76,.1);font-family:var(--font-display);font-size:.65rem;color:#c9a84c80;letter-spacing:.1em;text-transform:uppercase;flex-shrink:0}.log-icon{font-size:.7rem}#battle-log{flex:1;overflow-y:auto;padding:.4rem .65rem;display:flex;flex-direction:column;gap:2px;scrollbar-width:thin;scrollbar-color:rgba(201,168,76,.2) transparent}.log-entry{font-size:.7rem;line-height:1.5;padding:2px 0;border-bottom:1px solid rgba(255,255,255,.03);animation:logSlideIn .25s ease forwards}@keyframes logSlideIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.log-hero{color:#8ebbff}.log-monster{color:#ff9090}.log-system{color:#c9a84c99;font-style:italic}#move-picker{display:flex;flex-direction:column;gap:.4rem}.move-picker-header{display:flex;align-items:center;justify-content:space-between}#move-picker-label{font-family:var(--font-display);font-size:.65rem;color:#c9a84c80;letter-spacing:.1em;text-transform:uppercase}#move-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;flex:1}.move-btn-wrap{position:relative}.move-btn{width:100%;height:100%;min-height:56px;padding:.5rem .4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:linear-gradient(160deg,#140f28e6,#0c0819f2);border:1px solid rgba(201,168,76,.2);border-radius:5px;cursor:pointer;position:relative;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}.move-btn:before{content:"";position:absolute;bottom:0;left:10%;right:10%;height:1px;background:#c9a84c4d;transition:opacity .2s ease}.move-btn:hover:not(:disabled){border-color:#c9a84c8c;box-shadow:0 0 12px #c9a84c26,inset 0 0 12px #c9a84c0a;transform:translateY(-1px)}.move-btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.move-btn:disabled{opacity:.4;cursor:not-allowed}.move-btn-name{font-family:var(--font-display);font-size:.72rem;font-weight:700;color:var(--text);letter-spacing:.03em;text-align:center;line-height:1.2}.move-btn-type{font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;padding:1px 5px;border-radius:3px}.move-btn-type.physical{color:#f0a030;background:#f0a0301a;border:1px solid rgba(240,160,48,.2)}.move-btn-type.magic{color:#9b7eff;background:#9b7eff1a;border:1px solid rgba(155,126,255,.2)}.move-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#080514f7;border:1px solid rgba(201,168,76,.3);border-radius:5px;padding:.4rem .6rem;font-size:.85rem;color:var(--text-muted);white-space:normal;max-width:300px;text-align:center;pointer-events:none;opacity:0;transition:opacity .15s ease,transform .15s ease;transform:translate(-50%) translateY(4px);z-index:1000;box-shadow:0 4px 16px #0009}.move-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#c9a84c4d}.move-btn-wrap:hover .move-tooltip{opacity:1;transform:translate(-50%) translateY(0)}#moves-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;width:100%;max-width:800px}.move-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.4rem}.move-card.equipped{border-color:var(--gold)}.move-card-name{font-family:var(--font-display);font-size:.85rem}.move-card-type{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.move-card-desc{font-size:.85rem;color:var(--text-muted)}.retreat-btn{font-family:var(--font-display);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#c8505099;border:1px solid rgba(200,80,80,.2);border-radius:4px;padding:3px 8px;background:transparent;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.retreat-btn:hover{color:#e05555;border-color:#c8505080;background:#c8505012}.retreat-confirm{display:flex;align-items:center;gap:.4rem;animation:confirmSlideIn .2s ease forwards}.retreat-confirm.hidden{display:none}@keyframes confirmSlideIn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.retreat-confirm-text{font-family:var(--font-display);font-size:.75rem;letter-spacing:.06em;color:#c85050cc;text-transform:uppercase}.retreat-yes,.retreat-no{font-family:var(--font-display);font-size:.6rem;letter-spacing:.07em;text-transform:uppercase;border-radius:4px;padding:3px 8px;cursor:pointer;transition:all .15s ease}.retreat-yes{color:#e05555;border:1px solid rgba(200,80,80,.35);background:#c850501a}.retreat-yes:hover{background:#c8505038;border-color:#c8505099}.retreat-no{color:#c9a84c99;border:1px solid rgba(201,168,76,.2);background:transparent}.retreat-no:hover{color:var(--gold);border-color:#c9a84c73;background:#c9a84c12}#screen-post-battle,#screen-gameover,#screen-victory{align-items:center;justify-content:center;min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,rgba(25,18,50,.6) 0%,var(--dark-bg) 70%)}#screen-gameover{background:radial-gradient(ellipse at 50% 30%,rgba(40,8,8,.65) 0%,var(--dark-bg) 70%)}#screen-victory{background:radial-gradient(ellipse at 50% 30%,rgba(40,28,8,.7) 0%,var(--dark-bg) 70%)}#post-particles,.post-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.particle{position:absolute;border-radius:50%;pointer-events:none;animation:particleFloat linear infinite}@keyframes particleFloat{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:1}90%{opacity:.6}to{transform:translateY(-10vh) scale(1.2);opacity:0}}#post-card,.post-card{position:relative;z-index:1;width:min(480px,92vw);background:linear-gradient(160deg,#0c0a18f7,#140f28f2);border:1px solid rgba(201,168,76,.25);border-radius:8px;padding:2rem 2.25rem;box-shadow:0 0 60px #c9a84c0f,0 20px 60px #000000b3;clip-path:polygon(0 12px,12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px));animation:cardEntry .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes cardEntry{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}#post-result-header,.post-result-header{text-align:center;margin-bottom:1.25rem}#post-result-icon,.post-result-icon{font-size:2.8rem;margin-bottom:.5rem;animation:iconBounce .6s cubic-bezier(.16,1,.3,1) .2s both}@keyframes iconBounce{0%{opacity:0;transform:scale(.5) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}#post-result{font-family:var(--font-display);font-size:clamp(1.8rem,5vw,2.6rem);letter-spacing:.12em;margin-bottom:.3rem;animation:resultReveal .5s ease .35s both}@keyframes resultReveal{0%{opacity:0;letter-spacing:.3em}to{opacity:1;letter-spacing:.12em}}#post-result.victory{background:linear-gradient(135deg,var(--gold-light),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;filter:drop-shadow(0 0 12px rgba(201,168,76,.4))}#post-result.defeat{color:#e05555;text-shadow:0 0 20px rgba(224,85,85,.4)}#post-result-subtitle,.post-result-subtitle{font-size:.72rem;color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase}.post-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.2),transparent);margin:1.1rem 0}.post-divider.thin{margin:.75rem 0;opacity:.5}#post-rewards{display:flex;flex-direction:column;gap:.6rem}.reward-row{display:flex;align-items:center;justify-content:space-between;animation:rewardSlideIn .4s ease both}@keyframes rewardSlideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.reward-row:nth-child(1){animation-delay:.4s}.reward-row:nth-child(2){animation-delay:.55s}.reward-label{font-size:.75rem;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.reward-value{font-family:var(--font-display);font-size:.9rem;color:var(--text);font-variant-numeric:tabular-nums}.reward-value.gold-glow{color:var(--gold);text-shadow:0 0 8px rgba(201,168,76,.5)}.level-up-row{background:#c9a84c0f;border:1px solid rgba(201,168,76,.2);border-radius:5px;padding:.4rem .75rem;animation:levelUpPulse .6s ease .7s both!important}@keyframes levelUpPulse{0%{opacity:0;transform:scale(.95)}60%{transform:scale(1.03)}to{opacity:1;transform:scale(1)}}.xp-bar-wrap{animation:rewardSlideIn .4s ease .5s both}.xp-bar-track{background:#00000073;border:1px solid rgba(255,255,255,.06);border-radius:3px;height:8px;overflow:hidden;margin-bottom:.3rem}.xp-bar-fill{height:100%;background:linear-gradient(90deg,#6a3fa0,#9b7eff);border-radius:2px;width:0%;transition:width 1s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.xp-bar-fill:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:hpShimmer 2s ease-in-out infinite}.xp-bar-labels{display:flex;justify-content:space-between;font-size:.65rem;color:var(--text-muted);font-variant-numeric:tabular-nums}#post-learned-wrap{animation:rewardSlideIn .4s ease .8s both}.learned-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.learned-icon{color:var(--gold);font-size:.8rem;animation:spin 3s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.learned-title{font-family:var(--font-display);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.learned-card{background:#9b7eff0f;border:1px solid rgba(155,126,255,.2);border-radius:6px;padding:.65rem .9rem}.learned-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem}.learned-move-name{font-family:var(--font-display);font-size:.85rem;color:var(--text);letter-spacing:.05em}.learned-move-type{font-size:.6rem;padding:1px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.08em}.learned-move-type.physical{color:#f0a030;background:#f0a0301a;border:1px solid rgba(240,160,48,.2)}.learned-move-type.magic{color:#9b7eff;background:#9b7eff1a;border:1px solid rgba(155,126,255,.2)}.learned-move-desc{font-size:.78rem;color:var(--text-muted);line-height:1.5}.hidden{display:none!important}#post-actions,.post-actions{display:flex;gap:.75rem;animation:rewardSlideIn .4s ease .9s both}.post-btn{flex:1;padding:.7rem 1rem;font-family:var(--font-display);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;border-radius:5px;cursor:pointer;transition:all .2s ease}.post-btn.secondary{background:transparent;border:1px solid rgba(201,168,76,.25);color:var(--text-muted)}.post-btn.secondary:hover{border-color:#c9a84c80;color:var(--gold)}.post-btn.primary{background:linear-gradient(135deg,#c9a84c26,#c9a84c14);border:1px solid rgba(201,168,76,.4);color:var(--gold)}.post-btn.primary:hover{background:var(--gold);color:var(--dark-bg);box-shadow:0 0 20px #c9a84c4d}#screen-menu{position:relative;align-items:center;justify-content:center;height:100vh;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,rgba(30,18,60,.8) 0%,var(--dark-bg) 65%)}#menu-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.6}#menu-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1.75rem;text-align:center;animation:menuFadeIn 1s cubic-bezier(.16,1,.3,1) forwards}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#menu-emblem{font-size:2.8rem;margin-bottom:-.5rem;filter:drop-shadow(0 0 16px rgba(201,168,76,.5));animation:emblemPulse 3s ease-in-out infinite}@keyframes emblemPulse{0%,to{filter:drop-shadow(0 0 16px rgba(201,168,76,.5));transform:scale(1)}50%{filter:drop-shadow(0 0 28px rgba(201,168,76,.8));transform:scale(1.06)}}#menu-title{font-family:var(--font-display);font-size:clamp(2.8rem,9vw,5.5rem);font-weight:900;line-height:1.05;letter-spacing:.1em;background:linear-gradient(160deg,var(--gold-light) 0%,var(--gold) 50%,rgba(180,130,40,.8) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 20px rgba(201,168,76,.25))}#menu-subtitle{font-family:var(--font-display);font-size:clamp(.7rem,2vw,.85rem);letter-spacing:.35em;color:var(--text-muted);text-transform:uppercase;margin-top:.3rem}.menu-divider{width:160px;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.4),transparent);position:relative}.menu-divider:before,.menu-divider:after{content:"◆";position:absolute;top:50%;transform:translateY(-50%);font-size:.4rem;color:var(--gold);opacity:.5}.menu-divider:before{left:20px}.menu-divider:after{right:20px}#menu-nav{display:flex;flex-direction:column;gap:.65rem;width:260px}.menu-btn{width:100%;padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:.65rem;font-family:var(--font-display);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;border-radius:4px;cursor:pointer;position:relative;overflow:hidden;transition:all .25s ease;background:transparent;border:1px solid rgba(201,168,76,.25);color:var(--text-muted);clip-path:polygon(0 6px,6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px))}.menu-btn:before{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(201,168,76,.08),transparent);transition:left .4s ease}.menu-btn:hover:before{left:140%}.menu-btn:hover:not(:disabled){border-color:#c9a84c80;color:var(--gold);box-shadow:0 0 16px #c9a84c1a,inset 0 0 16px #c9a84c08}.menu-btn.primary{background:linear-gradient(160deg,#c9a84c24,#c9a84c12);border-color:#c9a84c73;color:var(--gold)}.menu-btn.primary:hover:not(:disabled){background:var(--gold);color:var(--dark-bg);box-shadow:0 0 28px #c9a84c4d}.menu-btn.primary:hover .menu-btn-icon{transform:translate(3px) scale(1.1)}.menu-btn-icon{font-size:.7rem;opacity:.7;transition:transform .2s ease}.menu-btn.loading{pointer-events:none;opacity:.6}.menu-btn.loading:after{content:"";width:12px;height:12px;border:1.5px solid rgba(201,168,76,.3);border-top-color:var(--gold);border-radius:50%;animation:menuSpin .7s linear infinite}@keyframes menuSpin{to{transform:rotate(360deg)}}#menu-footer{display:flex;align-items:center;gap:.5rem;font-size:.65rem;color:var(--text-muted);opacity:.45;letter-spacing:.08em}.menu-footer-dot{opacity:.5}#screen-map{align-items:center;justify-content:space-between;padding:1.25rem 2rem 1.5rem;gap:0;min-height:100vh;max-width:860px;margin-inline:auto;width:100%;background:radial-gradient(ellipse at 50% 20%,rgba(20,14,40,.5) 0%,transparent 65%)}#map-hero-bar{width:100%;display:flex;align-items:center;gap:1.25rem;background:linear-gradient(135deg,#0a0814eb,#16102ce0);border:1px solid rgba(201,168,76,.2);border-radius:6px;padding:.8rem 1.25rem;box-shadow:0 2px 16px #0006;clip-path:polygon(0 8px,8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px))}#map-hero-left{display:flex;align-items:center;gap:.75rem;flex-shrink:0}#map-hero-emblem{font-size:1.6rem;filter:drop-shadow(0 0 8px rgba(201,168,76,.4))}#map-hero-name{font-family:var(--font-display);font-size:.9rem;color:var(--gold);letter-spacing:.08em;text-shadow:0 0 8px rgba(201,168,76,.3)}#map-hero-level{font-size:.68rem;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin-top:1px}#map-hero-xp-wrap{flex:1}.map-xp-label-row{display:flex;justify-content:space-between;margin-bottom:.3rem}.map-xp-label{font-size:.62rem;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.map-xp-value{font-size:.62rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.map-xp-track{background:#00000073;border:1px solid rgba(255,255,255,.05);border-radius:3px;height:6px;overflow:hidden}.map-xp-fill{height:100%;background:linear-gradient(90deg,#6a3fa0,#9b7eff);border-radius:2px;transition:width .8s cubic-bezier(.16,1,.3,1);width:0%}.map-action-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-family:var(--font-display);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;background:transparent;border:1px solid rgba(201,168,76,.25);color:var(--text-muted);border-radius:4px;cursor:pointer;transition:all .2s ease;flex-shrink:0;white-space:nowrap}.map-action-btn:hover{border-color:#c9a84c80;color:var(--gold);background:#c9a84c0d}#map-title-row{display:flex;align-items:center;gap:1rem;width:100%;padding:1.5rem 0 1rem}.map-divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.2))}.map-divider-line:last-child{background:linear-gradient(90deg,rgba(201,168,76,.2),transparent)}#map-title-text{font-family:var(--font-display);font-size:.72rem;letter-spacing:.25em;color:#c9a84c73;text-transform:uppercase;white-space:nowrap}#map-path-wrap{flex:1;display:flex;align-items:center;justify-content:center;width:100%}#map-nodes{display:flex;align-items:center;justify-content:center;gap:0;width:100%}.node-connector{flex:1;height:2px;max-width:60px;position:relative;overflow:hidden}.node-connector-fill{height:100%;background:#c9a84c26;width:100%}.node-connector.done .node-connector-fill{background:#4cc86466}.node-connector.active .node-connector-fill{background:linear-gradient(90deg,#c9a84c66,#c9a84c1a)}.encounter-node{display:flex;flex-direction:column;align-items:center;gap:.6rem;cursor:default;flex-shrink:0}.node-icon{width:80px;height:80px;border-radius:50%;border:2px solid var(--border);background:linear-gradient(145deg,var(--surface-2),var(--surface));display:flex;align-items:center;justify-content:center;font-size:2.1rem;position:relative;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.node-badge{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);font-family:var(--font-display);font-size:.55rem;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.node-name{font-family:var(--font-display);font-size:.65rem;letter-spacing:.07em;color:var(--text-muted);text-align:center;max-width:80px;line-height:1.3}.encounter-node.completed .node-icon{border-color:#4cc86480;background:linear-gradient(145deg,#28503299,#1e3c2866);opacity:.7}.encounter-node.completed .node-badge{background:#4cc86433;border-color:#4cc86466;color:#4cdd7e}.encounter-node.completed .node-name{color:#4cc86480}.encounter-node.completed .node-icon:after{content:"✓";position:absolute;bottom:2px;right:2px;font-size:.7rem;color:#4cdd7e;opacity:.8}.encounter-node.current .node-icon{border-color:var(--gold);box-shadow:0 0 20px #c9a84c4d,0 0 40px #c9a84c1a,inset 0 0 12px #c9a84c0d;cursor:pointer;animation:nodeGlow 2.5s ease-in-out infinite}@keyframes nodeGlow{0%,to{box-shadow:0 0 20px #c9a84c4d,0 0 40px #c9a84c1a}50%{box-shadow:0 0 28px #c9a84c80,0 0 55px #c9a84c2e}}.encounter-node.current .node-badge{background:#c9a84c26;border-color:#c9a84c66;color:var(--gold)}.encounter-node.current .node-name{color:var(--gold);text-shadow:0 0 8px rgba(201,168,76,.3)}.encounter-node.current:hover .node-icon{transform:translateY(-5px) scale(1.05)}.encounter-node.current .node-cta{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:#c9a84c80;animation:ctaBlink 1.8s ease-in-out infinite}@keyframes ctaBlink{0%,to{opacity:.5}50%{opacity:1}}.encounter-node.locked{opacity:.3;filter:grayscale(.6)}.encounter-node.locked .node-icon{cursor:not-allowed}#map-hint{font-size:.65rem;color:#c9a84c4d;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding-bottom:.5rem;animation:hintPulse 3s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.6}50%{opacity:1}}.node-cta-replay{color:#4cc86480!important;animation:ctaBlink 2.5s ease-in-out infinite}.encounter-node.completed:hover .node-icon{transform:translateY(-4px) scale(1.03);border-color:#4cc864b3;box-shadow:0 0 16px #4cc86433;cursor:pointer;opacity:1}.encounter-node.completed:hover{opacity:1}#screen-moves{padding:1.25rem 2rem 2rem;gap:0;min-height:100vh;max-width:860px;margin-inline:auto;width:100%}#moves-header{display:flex;align-items:center;gap:1.25rem;width:100%;padding-bottom:.1rem}.moves-back-btn{display:flex;align-items:center;gap:.35rem;padding:.45rem .9rem;font-family:var(--font-display);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;background:transparent;border:1px solid rgba(201,168,76,.2);color:var(--text-muted);border-radius:4px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.moves-back-btn:hover{border-color:#c9a84c73;color:var(--gold)}#moves-title-wrap{flex:1}#moves-title{font-family:var(--font-display);font-size:clamp(1.1rem,3vw,1.5rem);letter-spacing:.1em;background:linear-gradient(135deg,var(--gold-light),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#moves-subtitle{font-size:.68rem;color:var(--text-muted);letter-spacing:.06em;margin-top:2px}#moves-slot-counter{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0}.slot-pips{display:flex;gap:5px}.slot-pip{width:12px;height:12px;border-radius:2px;border:1px solid rgba(201,168,76,.3);background:transparent;transition:background .3s ease,box-shadow .3s ease}.slot-pip.filled{background:var(--gold);box-shadow:0 0 6px #c9a84c80;border-color:var(--gold)}.slot-label{font-family:var(--font-display);font-size:.62rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.moves-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.2),transparent);margin:1rem 0}.moves-layout-divider{width:1px;background:linear-gradient(180deg,transparent,rgba(201,168,76,.15),transparent);align-self:stretch;margin:0 .5rem}#moves-layout{display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;width:100%;flex:1}.moves-section-label{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#c9a84c80;margin-bottom:.85rem}.moves-section-icon{font-size:.75rem}#equipped-grid,#learned-grid{display:flex;flex-direction:column;gap:.55rem}.moves-empty{font-size:.75rem;color:var(--text-muted);opacity:.5;font-style:italic;padding:1rem 0;text-align:center;line-height:1.5}.move-card{background:linear-gradient(135deg,#0c0a18e6,#140f26d9);border:1px solid rgba(201,168,76,.15);border-radius:6px;padding:.7rem .9rem;display:flex;flex-direction:column;gap:.4rem;transition:border-color .2s ease,box-shadow .2s ease;animation:cardSlideIn .25s ease forwards;clip-path:polygon(0 5px,5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px))}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.move-card.equipped{border-color:#c9a84c4d;background:linear-gradient(135deg,#140f26f2,#1e1637e6);box-shadow:inset 0 0 12px #c9a84c0a}.move-card:hover{border-color:#c9a84c4d;box-shadow:0 2px 12px #0000004d}.move-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.move-card-name{font-family:var(--font-display);font-size:.82rem;letter-spacing:.05em;color:var(--text)}.move-card-type{font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:3px;flex-shrink:0}.move-card-type.physical{color:#f0a030;background:#f0a0301a;border:1px solid rgba(240,160,48,.2)}.move-card-type.magic{color:#9b7eff;background:#9b7eff1a;border:1px solid rgba(155,126,255,.2)}.move-card-desc{font-size:.73rem;color:var(--text-muted);line-height:1.5}.move-card-footer{display:flex;justify-content:flex-end;margin-top:.15rem}.btn-equip,.btn-unequip{font-family:var(--font-display);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:3px;cursor:pointer;transition:all .18s ease}.btn-equip{color:#c9a84cb3;border:1px solid rgba(201,168,76,.25);background:transparent}.btn-equip:hover:not(:disabled){color:var(--dark-bg);background:var(--gold);border-color:var(--gold)}.btn-equip:disabled{opacity:.3;cursor:not-allowed}.btn-unequip{color:#c8505099;border:1px solid rgba(200,80,80,.2);background:transparent}.btn-unequip:hover{color:#e05555;border-color:#c8505080;background:#c8505012}.btn-unequip:disabled{opacity:.25;cursor:not-allowed}
