


:root {--gold:#f2d998;--cream:#fff4da;--slate:#192b35;--glass:rgba(13,24,31,.8)}
*{box-sizing:border-box} html,body{padding:0;margin:0;height:100%;overflow:hidden;background:#111e25;font-family:'Nunito Sans',Trebuchet MS,system-ui,sans-serif;color:#faf5e9} button{font:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
#game-shell{width:100%;height:100%;height:100dvh;position:relative;overflow:hidden;background:linear-gradient(#91b7bb,#e5caa1)}
#world,#labels{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}#labels{pointer-events:none}#vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,transparent 48%,rgba(9,21,27,.33) 100%)}
#topbar{position:absolute;top:0;left:0;right:0;height:76px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 30px;background:linear-gradient(rgba(11,22,29,.82),transparent);pointer-events:none}.brand{display:flex;align-items:center;gap:10px;color:#f6e4bd;white-space:nowrap}.brand-star{font-size:36px;color:#f3cf86;text-shadow:0 0 24px #f7d47c}.brand b{font-size:19px;font-family:Georgia,serif;letter-spacing:4px;font-weight:600}.brand small{display:block;font-size:9px;letter-spacing:2.2px;opacity:.7;margin-top:2px}.location{letter-spacing:2.2px;font-size:11px;color:#fff6dc;background:rgba(13,30,35,.38);border:1px solid rgba(255,240,208,.13);padding:10px 17px;border-radius:25px}.location-mark{color:#eecf91}.sep{opacity:.55;margin:0 7px}.top-actions{display:flex;gap:8px;pointer-events:auto}.top-actions button{background:rgba(13,25,34,.62);border:1px solid rgba(240,216,158,.3);color:var(--cream);border-radius:11px;padding:9px 13px;font-size:13px}.top-actions button:hover{background:rgba(103,76,38,.5)}
#questbox{position:absolute;top:18px;left:24px;width:min(300px,40vw);padding:16px 18px;background:linear-gradient(135deg,rgba(14,30,35,.89),rgba(25,37,39,.72));border:1px solid rgba(252,225,166,.25);border-left:3px solid #d7b16c;border-radius:4px 14px 14px 4px;box-shadow:0 8px 30px #0002;backdrop-filter:blur(8px)}.kicker{font-size:10px;font-weight:800;letter-spacing:2.1px;color:#d8b77c}#quest-title{margin-top:8px;font-weight:800;font-size:15px;color:#fff2d1}#quest-description{font-size:13px;line-height:1.45;color:#e8ece5;margin:6px 0 10px} .quest-distance{font-size:11px;color:#cbd8c8;letter-spacing:.5px}
.chapter-indicator{position:absolute;bottom:61px;left:30px;font-size:10px;letter-spacing:2px;color:#f6e6bf;text-shadow:0 2px 8px #0b1416}.chapter-indicator span{color:#e7b862}.chapter-indicator:before{content:'';display:block;width:38px;height:2px;background:#ebc57e;margin-bottom:10px}
#interact{position:absolute;bottom:112px;left:50%;transform:translateX(-50%);display:flex;gap:11px;align-items:center;padding:12px 19px;background:rgba(16,31,36,.9);border:1px solid #edca81a6;border-radius:10px;font-size:14px;box-shadow:0 8px 25px #0005}#interact-key{border:1px solid #e4bc77;border-radius:5px;padding:4px 9px;font-weight:bold;color:#f8db9d}#interact-label{white-space:nowrap}
#toast{position:absolute;top:100px;left:50%;transform:translate(-50%,-20px);text-align:center;border-radius:10px;padding:12px 23px;max-width:min(90vw,520px);background:rgba(19,39,38,.94);border:1px solid #d2a969;color:#fff1cf;font-weight:700;font-size:14px;opacity:0;pointer-events:none;transition:.3s}#toast.show{opacity:1;transform:translate(-50%,0)}#crosshair{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);opacity:.35;font-size:18px;color:#f6dca1;pointer-events:none}
#hint{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;color:#f4e6ca;font-size:10px;font-weight:800;letter-spacing:.6px;text-shadow:0 2px 8px #0b1011;white-space:nowrap}#hint i{opacity:.5;font-style:normal}
#dialogue{position:absolute;bottom:62px;left:50%;transform:translateX(-50%);width:min(820px,calc(100% - 36px));min-height:150px;display:flex;gap:22px;align-items:flex-start;background:linear-gradient(110deg,rgba(14,30,37,.97),rgba(24,40,45,.96));border:1px solid #dfba779c;border-top:3px solid #dfb570;border-radius:15px;padding:21px 22px;box-shadow:0 15px 55px #0008;z-index:7}.portrait{border:1px solid #c9a06366;background:linear-gradient(135deg,#6a887f,#35444d);border-radius:13px;height:76px;min-width:76px;display:grid;place-items:center;font:normal 46px Georgia,serif;color:#fce6b1}.dialogue-content{flex:1}.speaker{font-size:15px;color:var(--gold);font-weight:800;letter-spacing:.5px}#dialogue-text{font-size:15px;color:#f5f3e8;line-height:1.6;margin:8px 0 12px}.dialogue-hint{font-size:10px;color:#b3bbbd;letter-spacing:1.1px}#dialogue-next{align-self:flex-end;border:1px solid #dec48688;background:#3b4741;color:#ffe3ac;border-radius:50%;font-size:25px;width:40px;height:40px}
#modal{position:absolute;inset:0;background:rgba(2,12,19,.67);z-index:8;display:grid;place-items:center;padding:20px;backdrop-filter:blur(4px)}.modal-panel{width:min(740px,100%);max-height:90vh;overflow:auto;background:linear-gradient(#24363b,#19272d);border:1px solid #dfb87599;border-radius:18px;padding:31px 35px;box-shadow:0 18px 70px #0009;position:relative}.modal-close{position:absolute;top:10px;right:15px;background:none;border:none;color:#f4dab1;font-size:31px}.modal-panel h2{font:normal 30px Georgia,serif;color:#f7d899;margin:0 0 10px}.modal-panel p{line-height:1.6;font-size:14px;color:#d5e2dc}.modal-panel .muted{color:#9db0af;font-size:12px}.modal-panel ul{list-style:none;padding:0}.modal-panel li{padding:10px 0;border-bottom:1px solid #fff2;font-size:14px}.gold-button{border:1px solid #c6a267;border-radius:8px;padding:11px 16px;margin:4px 6px 4px 0;background:#c69b56;color:#17252a;font-weight:800}.secondary-button{border:1px solid #b4a58d;border-radius:8px;padding:11px 16px;background:transparent;color:#f8e4be;font-weight:800}.map-canvas{width:100%;max-height:400px;border:1px solid #c4a87577;border-radius:9px;background:#b8c6a3}
#fade{position:absolute;inset:0;background:#071c26;opacity:0;pointer-events:none;transition:opacity .6s;z-index:9}
.screen{position:absolute;inset:0;display:grid;place-items:center;z-index:12;overflow:auto;background:radial-gradient(ellipse at 51% 35%,#38585a88 0,transparent 42%),linear-gradient(158deg,#142630,#1e3238 55%,#101c25);text-align:center;padding:24px}.screen:before{content:'';position:absolute;inset:16px;border:1px solid rgba(227,193,131,.28);pointer-events:none}.screen:after{content:'❧';position:absolute;left:50%;bottom:18px;transform:translateX(-50%);color:#e1c99388;font-size:19px}.start-art{position:relative;width:min(100%,750px)}.stars{font:32px Georgia,serif;color:#f2db9e77;letter-spacing:32px}.start-crest{font:normal 90px Georgia,serif;color:#f7d18b;text-shadow:0 0 55px #e9bb7a77;line-height:1.1;margin:14px 0}.chapterline{font-size:11px;letter-spacing:4px;color:#d5b985;margin-top:14px}.start-art h1{font:normal clamp(48px,10vw,96px) Georgia,serif;color:#fff0c4;letter-spacing:11px;margin:13px 0 0;text-shadow:0 6px 22px #0009}.start-art h1 em{font-size:.47em;font-style:normal;vertical-align:15px;letter-spacing:0;color:#cfab6e}.start-art h2{font:normal clamp(15px,2.9vw,23px) Georgia,serif;letter-spacing:4px;color:#e5ce96;margin:0}.rule{display:flex;align-items:center;justify-content:center;gap:15px;color:#efd19c;margin:26px auto}.rule:before,.rule:after{content:'';height:1px;width:95px;background:#bc985777}.start-art>p{font-size:12px;letter-spacing:2.9px;color:#f6e4b8}.start-quote{font:italic 18px/1.6 Georgia,serif;color:#d7d9ce;margin:23px 0 30px}#start-button{background:linear-gradient(115deg,#ffebbd,#d6ad69);padding:17px 25px;border-radius:7px;border:1px solid #ffe4a6;color:#263332;font-size:13px;font-weight:900;letter-spacing:1.7px;box-shadow:0 6px 25px #0005}#start-button:hover{transform:translateY(-2px);filter:brightness(1.07)}#start-button b{font-size:19px;margin-left:19px}.start-footer{display:block;margin-top:30px;color:#90a7a2;font-size:10px;letter-spacing:1.5px}.error-panel{max-width:450px}
.hidden,#dialogue.hidden,#modal.hidden,#interact.hidden,.screen.hidden{display:none!important}
#touch-controls{display:none;position:absolute;inset:0;pointer-events:none}#joystick-base{pointer-events:auto;position:absolute;width:116px;height:116px;left:27px;bottom:42px;border:2px solid #f8e2ba77;border-radius:50%;background:#1931377f;touch-action:none}#joystick-knob{position:absolute;width:48px;height:48px;left:32px;top:32px;border-radius:50%;background:#efd3a6bb;border:2px solid #fff6de}#touch-right{position:absolute;bottom:44px;right:22px;display:flex;align-items:flex-end;gap:12px;pointer-events:auto}#touch-right button{width:65px;height:65px;border-radius:50%;border:1px solid #e4d19baa;color:#fff0cd;background:#17313ab8;font-size:27px;touch-action:none}#touch-right button small{display:block;font-size:10px}#touch-interact{width:76px!important;height:76px!important;color:#ffd787!important;border:2px solid #d6b771!important}
@media(pointer:coarse){#touch-controls{display:block}#hint{display:none}#interact{bottom:147px}#dialogue{bottom:155px}}
@media(max-width:700px){#topbar{height:65px;padding:12px 14px}.brand b{font-size:14px;letter-spacing:2px}.brand small{font-size:7px;letter-spacing:1px}.brand-star{font-size:26px}.location{display:none}.top-actions button{padding:9px 10px}.top-actions button span{display:none}#questbox{left:13px;top:72px;width:min(270px,72vw);padding:12px 14px}#quest-title{font-size:13px}#quest-description{font-size:12px} .chapter-indicator{bottom:19px;left:15px;font-size:9px}.chapter-indicator:before{display:none}.start-art h1{letter-spacing:4px}.start-art h2{letter-spacing:2px}.start-crest{font-size:70px;margin:2px}.stars{font-size:20px}.start-quote{font-size:15px}#dialogue{padding:13px;gap:12px;bottom:132px}.portrait{min-width:53px;height:53px;font-size:30px}.speaker{font-size:14px}#dialogue-text{font-size:13px}.dialogue-hint{font-size:8px}.modal-panel{padding:24px 20px}}

@media(max-width:700px){#toast{top:217px;font-size:12px;max-width:82vw;padding:10px 13px}}

/* Aeloran 0.6 · ajustes de audio accesibles desde Pausa */
.audio-intro{font-size:11px!important;color:#d8d0b4!important;letter-spacing:.3px!important;margin:16px 0 0!important}
.audio-controls{margin:20px 0;border:1px solid rgba(241,210,152,.25);background:rgba(12,24,29,.35);border-radius:12px;padding:16px 18px}
.audio-controls h3{font:normal 20px Georgia,serif;color:#f1d59b;margin:2px 0 10px}
.audio-controls .audio-row{display:flex;align-items:center;gap:13px;margin:13px 0}
.audio-controls label{flex:0 0 148px;font-size:12px;color:#f8e8ca}
.audio-controls input[type=range]{flex:1;min-width:40px;accent-color:#eccb87;cursor:pointer}
.audio-controls output{min-width:38px;text-align:right;font-size:12px;color:#dec590;font-variant-numeric:tabular-nums}
.audio-controls .audio-toggle{display:flex;align-items:center;gap:9px;margin-bottom:8px;font-size:14px;color:#fff0ce}
.audio-controls input[type=checkbox]{accent-color:#e5be79;width:17px;height:17px}
.audio-controls .audio-help{font-size:12px;color:#c2cdca;line-height:1.5}
@media(max-width:550px){.audio-controls .audio-row{flex-wrap:wrap;gap:6px}.audio-controls label{flex-basis:100%}}



/* Aeloran 0.13 · HUD más limpio */
#topbar{justify-content:flex-end;background:none;height:auto;padding:18px 22px}
.brand,.location,.chapter-indicator{display:none!important}
.top-actions button{background:rgba(13,25,34,.70);backdrop-filter:blur(6px)}




/* Aeloran · Portada editorial negra y tipografía épica — v0.18.3.
   La portada usa fuentes serif del sistema, sin archivos externos. */
#start-screen.screen {
  background:#000;
  color:#ecdcb5;
  padding:clamp(20px, 4vw, 58px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
#start-screen.screen::before,
#start-screen.screen::after{content:none;display:none}
#start-screen .start-art{
  width:min(100%,830px);
  max-width:830px;
  margin:auto;
  padding:clamp(12px,3vh,34px) 10px;
  text-align:center;
}
#start-screen .start-sigil{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(25px,4vw,37px);
  font-weight:normal;
  line-height:1;
  color:#b28a4b;
  margin:0 auto 25px;
  text-shadow:0 0 17px rgba(171,99,29,.24);
}
#start-screen .start-art h1{
  margin:0;
  font-family:'Palatino Linotype','Book Antiqua',Palatino,Georgia,'Times New Roman',serif;
  font-size:clamp(49px, min(12vw,13vh),112px);
  font-weight:800;
  line-height:1.04;
  letter-spacing:clamp(2px,1.3vw,13px);
  color:#e9d2a0;
  -webkit-text-stroke:.45px #a87a37;
  text-shadow:0 2px 0 #542d19,0 5px 0 #25140c,0 10px 27px rgba(144,67,28,.36);
}
#start-screen .start-art h1 em{
  display:inline-block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:.42em;
  font-weight:normal;
  font-style:normal;
  vertical-align:.19em;
  color:#e6bf74;
  letter-spacing:0;
  margin-left:.02em;
  -webkit-text-stroke:0;
}
#start-screen .start-art h2{
  margin:13px 0 0;
  font-family:'Palatino Linotype','Book Antiqua',Palatino,Georgia,serif;
  font-size:clamp(13px,2.35vw,24px);
  font-weight:700;
  line-height:1.3;
  letter-spacing:clamp(1px,.65vw,6px);
  color:#d6b376;
  text-shadow:0 2px 10px rgba(120,64,25,.3);
}
#start-screen .rule{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:17px;
  margin:clamp(23px,4.7vh,43px) auto clamp(17px,3.6vh,31px);
  color:#aa803c;
}
#start-screen .rule::before,#start-screen .rule::after{
  content:'';
  display:block;
  height:1px;
  width:clamp(56px,13vw,132px);
  background:linear-gradient(to right,transparent,#7e5d35);
}
#start-screen .rule::after{transform:rotate(180deg)}
#start-screen .chapter-name{
  font-family:'Palatino Linotype',Georgia,serif;
  font-size:clamp(11px,1.7vw,15px);
  font-weight:600;
  line-height:1.55;
  color:#e1d1b6;
  letter-spacing:clamp(.8px,.35vw,3px);
  margin:0 0 clamp(24px,5vh,45px);
}
#start-screen #start-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  background:#090807;
  border:1px solid #bc9555;
  border-radius:3px;
  color:#eed29b;
  padding:16px clamp(18px,3.7vw,32px);
  font-family:'Palatino Linotype',Georgia,serif;
  font-size:clamp(12px,1.6vw,15px);
  font-weight:700;
  letter-spacing:1.7px;
  box-shadow:inset 0 0 0 1px rgba(180,134,63,.15),0 10px 30px rgba(0,0,0,.85);
  transition:background .2s,border-color .2s,transform .2s;
}
#start-screen #start-button b{margin:0;font-size:19px;line-height:1}
#start-screen #start-button:hover{background:#191107;border-color:#e1bd77;filter:none;transform:translateY(-2px)}
#start-screen #start-button:focus-visible{outline:2px solid #e9c78d;outline-offset:5px}
#start-screen .audio-intro{
  font-family:system-ui,sans-serif;
  margin:18px auto 0!important;
  font-size:11px!important;
  color:#948777!important;
  line-height:1.6;
  letter-spacing:.1px!important;
}
#start-screen .author-credit{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  margin:clamp(30px,6vh,60px) auto 0;
  color:#c8ad79;
  font-family:'Palatino Linotype',Georgia,serif;
  font-size:clamp(12px,1.6vw,15px);
  line-height:1.5;
  letter-spacing:.6px;
}
#start-screen .author-credit small{
  color:#8e8067;
  font-family:system-ui,sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:2px;
}
@media (max-width:550px){
  #start-screen .start-sigil{margin-bottom:22px}
  #start-screen .start-art h1{letter-spacing:2px;font-size:clamp(44px,11.5vw,64px)}
  #start-screen .start-art h2{letter-spacing:1.5px}
  #start-screen .author-credit{margin-top:30px}
}
@media (max-height:540px){
  #start-screen .start-art{padding:10px 0}
  #start-screen .start-sigil{margin-bottom:12px}
  #start-screen .rule{margin:15px auto}
  #start-screen .chapter-name{margin-bottom:19px}
  #start-screen .author-credit{margin-top:19px}
}
