/* VALDORIA NEXT — Pixel Art V2 | tibiacom-compatible fantasy visual language */
:root {
  --night:#091422;--forest:#123d2c;--forest-deep:#071f18;
  --gold:#edc36d;--gold-light:#fff2ba;--gold-dark:#8c5422;
  --parchment:#efdfb7;--parchment-light:#fff0cc;--ink:#573415;
}
* {box-sizing:border-box}
html{min-height:100%;background:var(--night)}
body{margin:0;min-height:100vh;color:var(--parchment);background:var(--night);font-family:Georgia,"Palatino Linotype",Palatino,serif}
a{color:inherit}
.vn-world{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(ellipse at 50% 30%,#18304b,#07111e 73%)}
.vn-stage{
 position:relative; isolation:isolate; width:min(100%,1600px);min-height:min(900px,calc(100vh - 48px));
 display:flex;flex-direction:column;align-items:center;justify-content:space-between;
 background:linear-gradient(90deg,rgba(4,9,19,.04),rgba(4,9,19,.48) 35%,rgba(4,9,19,.48) 65%,rgba(4,9,19,.04)),url('images/valdoria-next-monk-v231.webp') center/cover no-repeat;
 border:4px ridge #bc813f;outline:2px solid #130d0c;
 box-shadow:0 0 0 5px #090c11,0 0 0 7px #825122,0 18px 55px #000d;overflow:hidden;
}
.vn-stage::before,.vn-stage::after{content:'❖';position:absolute;z-index:1;top:7px;color:#ffc873;text-shadow:2px 2px 0 #281506;font-size:19px}
.vn-stage::before{left:10px}.vn-stage::after{right:10px}
.vn-topline{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;color:#ffdda1;text-shadow:2px 2px 1px #07080b;font-size:13px;font-weight:700;letter-spacing:.1em}
.vn-topline-rule{height:2px;width:70px;background:linear-gradient(90deg,transparent,#f1cb70,transparent)}.vn-dot{color:#e9a74d;margin:0 5px}
.vn-central{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;width:min(calc(100% - 32px),570px);margin:18px auto}
.vn-brand{text-align:center;width:100%;margin-bottom:14px;filter:drop-shadow(0 4px 3px #000c)}
.vn-brand-ornament{display:block;margin:0 auto -2px;color:#ffce72;font-size:23px;text-shadow:2px 2px 0 #3c160b}
.vn-brand h1{margin:0;font-family:Georgia,serif;font-weight:900;font-size:clamp(43px,5.7vw,75px);line-height:.95;letter-spacing:.04em;color:#f4ce78;text-shadow:-2px -2px 0 #3c160b,2px 2px 0 #3c160b,4px 5px 0 #060507,0 0 17px #000c}
.vn-brand-next{display:flex;align-items:center;justify-content:center;gap:12px;max-width:300px;margin:6px auto 0;padding:3px 8px;color:#fff0c2;font-family:Georgia,serif;font-size:20px;font-weight:900;letter-spacing:.3em;text-shadow:2px 3px 0 #1c0b0b;background:linear-gradient(90deg,transparent,#61201b 24%,#8d2c21 50%,#61201b 76%,transparent)}
.vn-brand-next span{width:48px;height:2px;background:linear-gradient(90deg,transparent,#f4bd62,transparent)}
.vn-brand-tag{margin:9px 0 0;color:#ffdb99;font-weight:700;letter-spacing:.09em;font-size:13px;text-shadow:1px 2px 1px #000}
.vn-card{width:100%;padding:5px;background:linear-gradient(#a0763b,#342019 20%,#67441f 85%,#bb8b42);border:2px solid #ffcc70;outline:2px solid #0a130e;box-shadow:0 0 0 5px #2a211a,0 0 0 7px #a87331,inset 0 0 0 2px #3c250e,0 16px 40px #000b}
.vn-card-heading{padding:10px 10px 11px;min-height:39px;text-align:center;color:#ffe7a5;background:linear-gradient(#2e6240,#17402c 52%,#0e3024);border:2px ridge #88622d;box-shadow:inset 0 1px 0 #88a5714a;text-shadow:1px 2px #061b14;font-size:17px;font-weight:900;letter-spacing:.06em}
.vn-card-content{padding:16px 20px 19px;border:1px solid #a27643;background:linear-gradient(#fff0ccf7,#e3d0a2f5);color:var(--ink);box-shadow:inset 0 0 0 3px #c7aa73}
.vn-intro{max-width:455px;margin:0 auto 14px;text-align:center;color:#533315;font-size:16px;font-weight:600;line-height:1.5}
.vn-facts{margin:0 0 19px;border-top:2px solid #b69157;border-bottom:2px solid #b69157}
.vn-facts>div{display:flex;gap:14px;justify-content:space-between;align-items:center;padding:10px 7px;border-bottom:1px solid #ba9a66}
.vn-facts>div:last-child{border-bottom:none}
.vn-facts dt{color:#634021;font-size:13px;letter-spacing:.04em;font-weight:800}
.vn-facts dd{margin:0;color:#71350c;font-size:16px;font-weight:800;text-align:right;overflow-wrap:anywhere}
.vn-status{display:inline-flex;align-items:center;gap:7px;font-weight:900}
.vn-status i{display:inline-block;height:9px;width:9px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}
.vn-online{color:#26722a}.vn-offline{color:#9f302d}
.vn-play,.vn-download{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;text-decoration:none;font-weight:900;transition:filter .18s,transform .18s}
.vn-play{padding:10px 16px;min-height:55px;background:linear-gradient(#47833a,#276333 50%,#154125);border:3px ridge #b78b3d;box-shadow:inset 0 0 0 2px #75a65b,0 4px 0 #1c250b,0 7px 14px #14220f70;color:#fff1b3;font-size:19px;text-shadow:2px 2px 0 #0a2b1a;letter-spacing:.035em}
.vn-play span{font-size:28px;line-height:1}
.vn-download{min-height:32px;margin-top:13px;color:#74420e;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.vn-play:hover,.vn-download:hover,.vn-language:hover{filter:brightness(1.16);transform:translateY(-2px)}
.vn-play:focus-visible,.vn-download:focus-visible,.vn-language:focus-visible,.vn-switch-language:focus-visible{outline:3px solid white;outline-offset:4px}
.vn-terms{margin:18px 0 3px;text-align:center;color:#f9e4bb;text-shadow:1px 2px 1px #000;line-height:1.45;font-size:13px}
.vn-terms a{color:#ffe09b;text-decoration:underline;text-underline-offset:3px}
.vn-switch-language{display:inline-flex;align-items:center;gap:8px;margin-top:9px;padding:5px 13px;color:#ffe2a1;background:#163e2bda;border:1px solid #9a773b;text-decoration:none;font-size:12px;font-weight:700}
.vn-switch-language:hover{background:#2a5a37}
.vn-footer{position:relative;z-index:2;margin:12px 0 17px;text-align:center;color:#f1cf97;font-size:13px;font-weight:700;letter-spacing:.06em;text-shadow:2px 2px 0 #000}
.vn-footer span{color:#f3b95d;margin:0 5px}
/* A dedicated bilingual gateway appears before either localized landing. */
.vn-stage--choose{background-image:linear-gradient(90deg,rgba(3,8,15,.1),rgba(3,8,15,.58) 35%,rgba(3,8,15,.58) 65%,rgba(3,8,15,.1)),url('images/valdoria-next-monk-v231.webp')}
.vn-central--choose{width:min(calc(100% - 32px),610px)}
.vn-gateway-card .vn-card-heading{font-size:16px}
.vn-gateway-card{padding-bottom:6px}
.vn-gateway-subtitle{margin:0;padding:20px 20px 14px;background:linear-gradient(#fff0ccf7,#e2cea0f6);color:#573618;text-align:center;font-size:15px;line-height:1.7;font-weight:700}
.vn-languages{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:0 16px 14px;background:#e2cea0f6}
.vn-language{position:relative;min-height:158px;padding:15px 10px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:linear-gradient(150deg,#2a6444,#103b2c 72%,#09281d);border:3px ridge #bf8e42;box-shadow:inset 0 0 0 2px #568354,0 4px 0 #1c2a12;color:#ffe9aa;text-decoration:none;text-shadow:1px 2px 0 #05190d;transition:filter .18s,transform .18s}
.vn-language strong{font-size:21px;letter-spacing:.03em}
.vn-language small{font-size:12px;color:#e4dcbd}
.vn-language-arrow{position:absolute;right:12px;bottom:6px;font-size:25px;color:#eabe66}
.vn-gateway-note{margin:0;padding:8px 10px 13px;background:#e2cea0f6;color:#603c1b;text-align:center;font-size:12px;line-height:1.5}
@media (max-width:700px){
 .vn-world{padding:9px}
 .vn-stage{min-height:calc(100svh - 18px);background-position:50% 50%}
 .vn-topline{margin-top:13px;font-size:11px;letter-spacing:.02em}.vn-topline-rule{width:20px}
 .vn-central{width:calc(100% - 26px);margin:21px auto}
 .vn-brand h1{font-size:clamp(35px,9vw,61px)}
 .vn-brand-next{font-size:17px}.vn-brand-next span{width:34px}
 .vn-brand-tag{font-size:11px}
 .vn-card-heading{font-size:14px;min-height:36px;padding:9px 5px}
 .vn-card-content{padding:14px 10px 16px}
 .vn-intro{font-size:14px}
 .vn-facts dt{font-size:11px}.vn-facts dd{font-size:13px}
 .vn-play{font-size:16px}.vn-footer{font-size:11px;letter-spacing:0}
 .vn-terms{font-size:12px}
 .vn-gateway-card .vn-card-heading{font-size:13px}
 .vn-gateway-subtitle{font-size:12px;padding:14px 10px 12px}
 .vn-languages{gap:8px;padding:0 9px 10px}
 .vn-language{padding:10px 4px;min-height:138px}
 .vn-language strong{font-size:15px}.vn-language small{font-size:10px}
 .vn-gateway-note{font-size:11px;padding:8px}
}
@media (max-width:350px){.vn-languages{grid-template-columns:1fr}.vn-language{min-height:100px}}
@media (prefers-reduced-motion:reduce){.vn-play,.vn-download,.vn-language{transition:none}}

/* V2.1: Polish and British flags. Original Scriptorium Martel is rendered as graphics in V2.2. */
.vn-brand h1{font-family:Georgia,serif;font-weight:900;letter-spacing:.025em}
.vn-topline,.vn-card-heading,.vn-brand-next,.vn-brand-tag,.vn-play,.vn-language strong,.vn-footer{font-family:Georgia,serif;font-weight:900}
.vn-card-heading{line-height:1.5}
.vn-brand h1{line-height:1.18}
.vn-language{gap:8px;min-height:182px;padding:16px 10px 12px}
.vn-flag{display:block;flex:0 0 auto;width:70px;height:48px;padding:4px;
  border:2px solid #ffd990;background:linear-gradient(#a7793b,#604021);
  box-shadow:0 0 0 2px #261605,inset 0 0 0 1px #f5dcab,0 3px 8px #0009;
  transition:box-shadow .18s,transform .18s}
.vn-flag svg{width:100%;height:100%;display:block;box-shadow:0 1px 3px #130907}
.vn-language:hover .vn-flag{box-shadow:0 0 0 2px #261605,0 0 15px #f1b9697d;transform:translateY(-1px)}
.vn-language strong{font-size:20px;line-height:1.35;letter-spacing:.06em}
.vn-language small{font-family:Georgia,serif;line-height:1.45}
.vn-gateway-subtitle,.vn-gateway-note,.vn-intro{line-height:1.7}
.vn-switch-language{font-family:Georgia,serif}
@media(max-width:700px){
  .vn-brand h1{line-height:1.12}
  .vn-language{min-height:154px;gap:6px;padding:11px 5px 10px}
  .vn-flag{width:58px;height:41px;padding:3px}
  .vn-language strong{font-size:15px}
  .vn-language small{font-size:10px}
  .vn-gateway-subtitle{line-height:1.55}
}
@media(max-width:350px){.vn-language{min-height:123px}}
@media(prefers-reduced-motion:reduce){.vn-flag{transition:none}}

/* V2.2: rendered from the user-provided Scriptorium Martel (1998), never from Google Fonts.
   Images are ordinary raster artwork, NOT an embedded or downloadable font file.
   Remaining editable/dynamic copy deliberately uses a readable serif with Polish glyphs. */
.vn-brand h1{display:flex;justify-content:center;align-items:center;line-height:1;margin:0;min-height:80px}
.vn-scriptorium-logo{display:block;width:min(100%,393px);height:auto;object-fit:contain;filter:drop-shadow(0 3px 4px #100909bd)}
.vn-brand-next{gap:9px;line-height:1;min-height:44px;padding:0 8px;background:linear-gradient(90deg,transparent,#3d1d18 24%,#6d2420 50%,#3d1d18 76%,transparent)}
.vn-scriptorium-next{display:block;width:90px;height:auto;max-height:49px;object-fit:contain}
.vn-card-heading--art{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:2px 8px 5px;min-height:61px}
.vn-scriptorium-heading{display:block;width:auto;max-width:100%;height:auto;max-height:54px;object-fit:contain}
.vn-art-subtitle{display:block;position:relative;margin-top:-7px;color:#fff2c3;font-family:Georgia,serif;font-weight:bold;font-size:11px;letter-spacing:.17em;text-shadow:1px 2px #0b1e15}
.vn-card-heading--gate{display:flex;flex-direction:column;align-items:center;padding:4px 5px 6px;gap:0}
.vn-gate-label{font-family:Georgia,serif;font-size:12px;letter-spacing:.12em;color:#f9e5bd}
.vn-scriptorium-gate{width:min(100%,275px);height:auto;max-height:50px;object-fit:contain;display:block;margin:-4px auto -6px}
.vn-language strong{display:flex;justify-content:center;align-items:center;line-height:1;max-width:100%;min-height:40px}
.vn-scriptorium-language{display:block;width:auto;height:45px;max-width:100%;object-fit:contain}
.vn-play--art{gap:6px;padding:3px 12px;min-height:62px;line-height:1.1}
.vn-play--art img{display:block;width:auto;max-width:62%;height:auto;max-height:48px;object-fit:contain}
.vn-play--art .vn-play-prefix{font-family:Georgia,serif;font-size:14px;font-weight:900;letter-spacing:.08em;color:#ffecb7}
.vn-play--art .vn-art-arrow{font-family:Georgia,serif;font-size:27px;line-height:1;transform:translateY(-1px)}
.vn-download--art{gap:3px;min-height:40px;margin-top:8px}
.vn-download--art img{display:block;width:auto;max-width:70%;height:auto;max-height:35px;object-fit:contain;filter:drop-shadow(0 1px 0 #fff1b7)}
.vn-download--art span{font-family:Georgia,serif;font-size:18px}
.vn-footer{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;min-height:37px;margin-bottom:12px}
.vn-scriptorium-signature{height:29px;width:auto;max-width:185px;object-fit:contain}
@media(max-width:700px){
  .vn-scriptorium-logo{width:min(100%,310px)}
  .vn-brand h1{min-height:64px}
  .vn-scriptorium-next{width:75px}
  .vn-card-heading--art{min-height:51px}
  .vn-scriptorium-heading{max-height:40px}
  .vn-art-subtitle{font-size:10px;margin-top:-5px}
  .vn-scriptorium-language{height:38px}
  .vn-scriptorium-gate{max-height:43px}
  .vn-play--art .vn-play-prefix{font-size:12px}
  .vn-play--art img{max-height:37px}
  .vn-scriptorium-signature{height:24px}
}
@media(max-width:380px){
  .vn-scriptorium-logo{width:min(100%,255px)}
  .vn-scriptorium-language{height:29px}
  .vn-scriptorium-gate{max-height:33px}
  .vn-play--art img{max-width:61%;max-height:33px}
}

/* VALDORIA NEXT LANDING V2.3 — local typographic refinements, no new webfont dependency */
body{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif}
.vn-intro,.vn-gateway-subtitle,.vn-gateway-note{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;letter-spacing:.005em;font-weight:600}
.vn-facts dt,.vn-facts dd,.vn-terms,.vn-topline,.vn-brand-tag,.vn-footer,
.vn-gate-label,.vn-art-subtitle,.vn-play-prefix,.vn-switch-language,.vn-language small{
  font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;
  font-variant:small-caps;letter-spacing:.035em;
}
.vn-facts dt{font-size:13px;font-weight:700;color:#744725}
.vn-facts dd{font-variant:normal;font-weight:700}
.vn-terms{font-variant:normal;font-size:13px}
.vn-gate-label{font-variant:normal;font-weight:800}
.vn-language small{font-variant:normal;font-size:12px}
.vn-switch-language{font-variant:normal;font-size:13px}
/* GIFs are the original 16-frame waving flags from the supplied archive. */
.vn-flag{display:grid;place-items:center;width:86px;height:61px;padding:2px 4px;overflow:visible;
 background:linear-gradient(135deg,#845722,#2e251b);border:2px ridge #c99e5c;
 box-shadow:0 0 0 2px #261605,0 3px 9px #0009}
.vn-flag-gif{display:block;width:76px;height:54px;max-width:none;object-fit:contain;
 image-rendering:auto;filter:drop-shadow(1px 2px 2px #000a)}
.vn-language{min-height:188px}
.vn-language:hover .vn-flag{filter:brightness(1.1)}
@media(max-width:700px){
 .vn-flag{width:72px;height:52px;padding:2px}
 .vn-flag-gif{width:64px;height:45px}
 .vn-language{min-height:165px}
 .vn-facts dt{font-size:11px}
 .vn-language small{font-size:10px}
}
@media(max-width:380px){.vn-flag{width:66px;height:49px}.vn-flag-gif{width:59px;height:42px}}

/* V2.3.1: language gateway without introductory/closing text. */
.vn-gateway-card .vn-languages{padding:16px 16px 18px;}
@media(max-width:700px){.vn-gateway-card .vn-languages{padding:11px 9px 13px;}}
