:root{
  --ink:#08090b; --coal:#0f1115; --iron:#171a20; --line:#2a2e36;
  --steel:#9aa1ad; --silver:#d6dae1; --arc:#6fb7c4;
  --display:"Forum","Cormorant Garamond",Georgia,serif;
  --body:"Hanken Grotesk","Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{background:var(--ink);color:var(--silver);font:400 1.0625rem/1.65 var(--body)}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--arc);outline-offset:3px}
.wrap{width:min(1180px,92%);margin-inline:auto}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:.02em;line-height:1.1;color:#f1f3f6}

/* nav */
header{position:fixed;inset:0 0 auto 0;z-index:20;background:linear-gradient(#08090bf2,#08090bcc);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
nav{display:flex;align-items:center;gap:2rem;height:68px}
.brand{display:flex;align-items:center;gap:.7rem}
.brand svg{width:34px;height:34px}
.brand span{font-family:var(--display);font-size:1.45rem;letter-spacing:.32em;color:#f1f3f6}
.links{display:flex;gap:1.6rem;margin-left:auto;font-size:.95rem;color:var(--steel)}
.links a{padding:.3rem 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.links a:hover{color:#fff;border-color:var(--steel)}
.auth{display:flex;gap:.6rem}
.btn{display:inline-block;padding:.7rem 1.5rem;font:600 .95rem var(--body);letter-spacing:.04em;border:1px solid var(--steel);color:var(--silver);background:transparent;cursor:pointer;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);transition:background .2s,color .2s}
.btn:hover{background:var(--silver);color:var(--ink)}
.btn.main{background:linear-gradient(#e4e7ec,#9ea5b1);color:var(--ink);border-color:transparent}
.btn.main:hover{background:#fff}
.btn.sm{padding:.5rem 1.1rem;font-size:.88rem}
.menu{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--silver);padding:.4rem .8rem;font:inherit}

/* hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#0a0d12}
.hero .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;pointer-events:none;background:#0a0d12}
.hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,#08090bf0 0%,#08090b99 38%,transparent 70%),linear-gradient(0deg,var(--ink) 0%,transparent 35%)}
.hero .wrap{position:relative;width:min(1120px,92%);padding:clamp(120px,19vh,190px) 0 clamp(64px,12vh,130px);text-align:center;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse 50% 50% at 50% 52%,#08090bb8 0,#08090b66 45%,transparent 100%)}
.hero h1{font-size:clamp(2.1rem,1.1rem + 4.4vw,4.7rem);line-height:1.12;letter-spacing:.025em;max-width:16em;text-wrap:balance;overflow-wrap:break-word;text-shadow:0 2px 28px #000c,0 0 2px #0008;animation:rise 1.2s .1s both}
.hero h1::after{content:"";display:block;width:clamp(56px,8vw,96px);height:2px;margin:clamp(1.1rem,2.4vh,1.7rem) auto 0;background:linear-gradient(90deg,transparent,var(--arc),transparent)}
.hero p{max-width:min(100%,72ch);margin:clamp(1.1rem,2.4vh,1.7rem) auto clamp(1.6rem,3.6vh,2.4rem);color:var(--steel);font-size:clamp(1rem,.9rem + .35vw,1.2rem);line-height:1.8;text-wrap:pretty;overflow-wrap:break-word;text-shadow:0 1px 14px #000c;animation:rise 1.2s .35s both}
.cta{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;animation:rise 1.2s .55s both}
.cta .btn{padding:.95rem 2.2rem;font-size:1rem}
.status{position:absolute;right:4%;bottom:11vh;text-align:right;font-size:.9rem;color:var(--steel);border-right:2px solid var(--arc);padding-right:1rem}
.status b{display:block;font:400 2.2rem var(--display);color:#fff}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.mote{animation:drift 9s ease-in-out infinite alternate}
@keyframes drift{to{transform:translateY(-26px)}}

/* sections */
section{padding:7rem 0}
.head{max-width:60ch;margin-bottom:3.5rem}
.head h2{font-size:clamp(2rem,4vw,3rem)}
.head p{margin-top:1rem;color:var(--steel)}
.feat{border-top:1px solid var(--line)}
.feat div{display:grid;grid-template-columns:minmax(200px,1fr) 2fr;gap:2rem;padding:1.8rem 0;border-bottom:1px solid var(--line)}
.feat h3{font-size:1.5rem}
.feat p{color:var(--steel);max-width:62ch}
#info{background:var(--coal);border-block:1px solid var(--line)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:.8rem .5rem;border-bottom:1px solid var(--line)}
th{font-weight:500;color:var(--steel);font-size:.9rem}
td:last-child{text-align:right;color:#fff}
.rank td:first-child{width:3rem;color:var(--steel)}
.rank td:last-child{font-variant-numeric:tabular-nums}
.note{margin-top:1rem;font-size:.85rem;color:#6d7480}
.dl{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.dl div{background:var(--ink);padding:2rem}
.dl h3{font-size:1.4rem;margin-bottom:.4rem}
.dl p{color:var(--steel);margin-bottom:1.4rem;font-size:.97rem}
.comm{display:flex;flex-wrap:wrap;gap:1rem}
footer{border-top:1px solid var(--line);padding:2.5rem 0;color:#6d7480;font-size:.9rem}
footer .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

@media(max-width:900px){
  .split,.dl,.feat div{grid-template-columns:1fr}
  .status{display:none}
}
@media(max-width:1180px){.hero .status{display:none}}
@media(max-width:520px){.hero .wrap{padding-top:112px}.hero .cta{width:100%}.hero .cta .btn{flex:1 1 100%;text-align:center}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* Lineage 2 theme layer */
body::after{content:"";position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E")}
#info{position:relative;background:linear-gradient(180deg,var(--coal),#0b0d11)}
#info::before,#download::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;background:repeating-linear-gradient(90deg,var(--coal) 0 20px,transparent 20px 36px)}
#download{position:relative;background:radial-gradient(ellipse at 50% 0,#141b22 0,var(--ink) 65%)}
#download::before{background:repeating-linear-gradient(90deg,#141b22 0 20px,transparent 20px 36px);opacity:.0}
.castles{display:flex;flex-wrap:wrap;margin-top:3rem;border:1px solid var(--line);background:repeating-linear-gradient(90deg,transparent 0 1px,transparent 1px)}
.castles span{flex:1 1 140px;padding:1.1rem 1rem;text-align:center;font:400 1.35rem var(--display);letter-spacing:.12em;color:var(--steel);border-right:1px solid var(--line);position:relative;transition:color .2s,background .2s}
.castles span:last-child{border-right:0}
.castles span::before{content:"";display:block;width:26px;height:12px;margin:0 auto .5rem;background:repeating-linear-gradient(90deg,currentColor 0 4px,transparent 4px 7px);opacity:.6}
.castles span:hover{color:#fff;background:#12161c}
.dl div{position:relative;background:linear-gradient(180deg,#0e1218,var(--ink))}
.dl div::after{content:"";position:absolute;top:10px;right:10px;width:14px;height:14px;border-top:1px solid var(--steel);border-right:1px solid var(--steel);opacity:.5}
.feat div{transition:background .3s}
.feat div:hover{background:linear-gradient(90deg,#12171d,transparent)}
.hero .shade{background:linear-gradient(90deg,#08090bf0 0%,#08090b8c 36%,transparent 66%),linear-gradient(0deg,var(--ink) 0%,transparent 35%),radial-gradient(ellipse at 50% 110%,#000 0,transparent 60%)}
.fog{animation:fogdrift 70s ease-in-out infinite alternate}.fog.slow{animation-duration:110s;animation-direction:alternate-reverse}
@keyframes fogdrift{to{transform:translateX(-200px)}}
.hero .shade{background:linear-gradient(90deg,#08090bf2 0%,#08090b99 30%,#08090b33 52%,transparent 68%),linear-gradient(0deg,var(--ink) 0%,#08090b55 22%,transparent 40%),radial-gradient(ellipse at 50% 120%,#000 0,transparent 55%),linear-gradient(180deg,#08090b99 0,transparent 18%)}
@media(max-width:900px){.castles span{flex-basis:50%}}

/* language switcher and Georgian typography */
.lang{display:flex;border:1px solid var(--line)}
.lang button{padding:.38rem .75rem;font:600 .8rem var(--body);letter-spacing:.08em;color:var(--steel);background:transparent;border:0;cursor:pointer;transition:color .2s,background .2s}
.lang button+button{border-left:1px solid var(--line)}
.lang button:hover{color:#fff}
.lang button[aria-pressed="true"]{background:linear-gradient(#e4e7ec,#9ea5b1);color:var(--ink)}
html[lang="ka"]{--body:"Noto Sans Georgian","Hanken Grotesk",system-ui,sans-serif;--display:"Noto Serif Georgian","Forum",Georgia,serif}
html[lang="ka"] body{line-height:1.75}
html[lang="ka"] h1,html[lang="ka"] h2,html[lang="ka"] h3{letter-spacing:0;line-height:1.25}
html[lang="ka"] .hero h1{max-width:19em;font-size:clamp(1.75rem,.95rem + 3.5vw,3.7rem);line-height:1.3;letter-spacing:0}
html[lang="ka"] .hero p{max-width:min(100%,66ch);line-height:1.95;letter-spacing:0}
html[lang="ka"] .castles span,html[lang="ka"] .status b{letter-spacing:.02em}
html[lang="ka"] .btn{letter-spacing:0}
.links{gap:clamp(.9rem,1.6vw,1.6rem)}
.links a,.btn{white-space:nowrap}
.btn.main,.btn{overflow-wrap:anywhere}
@media(max-width:1240px){
  .links,.auth{display:none}.menu{display:block;margin-left:0}.lang{margin-left:auto}
  nav.open .links{display:flex;flex-direction:column;position:absolute;top:68px;left:0;right:0;background:var(--ink);padding:1.2rem 4%;border-bottom:1px solid var(--line)}
}
@media(max-width:900px){.feat div{gap:.6rem}.dl div{padding:1.5rem}}

/* ---------- multi-page additions ---------- */
.links a[aria-current="page"]{color:#fff;border-color:var(--silver)}
.page-hero{position:relative;padding:150px 0 64px;background:#0a0d12 url("../assets/backgrounds/hero.svg") 62% 40%/cover no-repeat;border-bottom:1px solid var(--line);overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#08090bf5 0%,#08090bb3 42%,#08090b4d 75%),linear-gradient(0deg,var(--ink) 0%,transparent 70%)}
.page-hero .wrap{position:relative}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.8rem)}
.page-hero p{max-width:56ch;margin-top:1rem;color:var(--steel)}
main.sub section{padding:4.5rem 0}
.sub h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:.6rem}
.sub .lead{color:var(--steel);max-width:60ch;margin-bottom:2rem}
.meta{display:flex;gap:2.2rem;flex-wrap:wrap;margin:1.1rem 0 1.6rem;font-size:.85rem;color:var(--steel)}
.meta b{display:block;margin-top:.1rem;font-weight:500;font-size:.98rem;color:#fff;overflow-wrap:anywhere}
.dl-main{position:relative;padding:2.2rem;border:1px solid var(--line);background:linear-gradient(180deg,#0e1218,var(--ink))}
.dl-main::after{content:"";position:absolute;top:10px;right:10px;width:14px;height:14px;border-top:1px solid var(--steel);border-right:1px solid var(--steel);opacity:.5}
.dl-main h3{font-size:1.8rem}.dl-main p{color:var(--steel);max-width:62ch;margin-top:.5rem}
.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;border-style:dashed}
.files{border-top:1px solid var(--line)}
.file{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(70px,.7fr) minmax(70px,.7fr) auto;gap:1.5rem;align-items:center;padding:1.4rem .4rem;border-bottom:1px solid var(--line);transition:background .3s}
.file:hover{background:linear-gradient(90deg,#12171d,transparent)}
.file h3{font-size:1.25rem}.file p{color:var(--steel);font-size:.95rem;margin-top:.2rem}
.file code{display:inline-block;margin-top:.3rem;font:500 .8rem ui-monospace,Consolas,monospace;color:#7c8492}
.file .k{display:block;font-size:.78rem;color:#7c8492}
.steps{list-style:none;counter-reset:s;max-width:780px;margin-left:14px;border-left:1px solid var(--line)}
.steps li{counter-increment:s;position:relative;padding:.2rem 0 1.5rem 2.4rem}
.steps li::before{content:counter(s);position:absolute;left:-14px;top:.1rem;width:27px;height:27px;display:grid;place-items:center;font:400 1rem var(--display);color:var(--ink);background:linear-gradient(#e4e7ec,#9ea5b1)}
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:4rem;align-items:start}
.ci{border-top:1px solid var(--line)}
.ci div{padding:1.1rem 0;border-bottom:1px solid var(--line)}
.ci h3{font-size:1.15rem}.ci p{font-size:.88rem;color:#7c8492}
.ci a{color:#fff;border-bottom:1px solid var(--steel)}.ci a:hover{border-color:var(--arc)}
.ph{color:#6d7480;font-style:italic}
form.cf{display:grid;gap:1.2rem;padding:2rem;border:1px solid var(--line);background:linear-gradient(180deg,#0e1218,var(--ink))}
.cf label{display:block;font-size:.9rem;color:var(--steel);margin-bottom:.35rem}
.cf input,.cf textarea{width:100%;padding:.8rem .9rem;font:inherit;color:var(--silver);background:var(--coal);border:1px solid var(--line);border-radius:0}
.cf textarea{min-height:150px;resize:vertical}
.cf input:focus,.cf textarea:focus{outline:none;border-color:var(--arc)}
.cf [aria-invalid="true"]{border-color:#c4837c}
.err{min-height:1.2em;margin-top:.3rem;font-size:.85rem;color:#d49a94}
.cf-note{padding:.9rem 1rem;border-left:2px solid var(--arc);background:#0e1218;color:var(--silver);font-size:.95rem}
.cf-note[hidden]{display:none}
.cf-note.bad{border-color:#c4837c}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:2.5rem}.file{grid-template-columns:1fr 1fr;gap:.8rem 1.5rem}.file>div:first-child,.file>div:last-child{grid-column:1/-1}.dl-main,form.cf{padding:1.4rem}.page-hero{padding-top:120px}}

/* nav fit: seven links plus switcher and auth must fit in both languages */
nav{gap:1.1rem}
.links{gap:clamp(.7rem,1.1vw,1.2rem);font-size:.9rem}
@media(max-width:480px){nav{gap:.6rem}.brand{gap:.5rem}.brand span{font-size:1.2rem;letter-spacing:.2em}.lang button{padding:.38rem .55rem}.menu{padding:.4rem .6rem}}
html[lang="ka"] .links{font-size:.82rem;gap:clamp(.5rem,.8vw,.9rem)}
html[lang="ka"] .auth .btn{padding:.5rem .85rem}
.steps{margin-top:1.6rem}

/* ---------- homepage media ---------- */
#media{padding-bottom:6rem}
.video{position:relative;aspect-ratio:1613/656;border:1px solid var(--line);background:linear-gradient(0deg,#08090b40,#08090b00 35%,#08090b1a),url("../assets/images/player-en.jpg") center/cover no-repeat #0a0d12;overflow:hidden}
html[lang="ka"] .video{background:linear-gradient(0deg,#08090b40,#08090b00 35%,#08090b1a),url("../assets/images/player-ka.jpg") center/cover no-repeat #0a0d12}
.video.playing{aspect-ratio:16/9}
.video[hidden],.video-note[hidden]{display:none}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play{position:absolute;inset:0;width:100%;display:grid;place-content:center;justify-items:center;gap:.9rem;background:transparent;border:0;color:var(--silver);font:500 .95rem var(--body);letter-spacing:.08em;cursor:pointer;transition:background .4s}
.play:hover{background:#08090b40}
.play .tri{width:84px;height:84px;display:block;border:1px solid var(--steel);background:#08090b99;clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%);position:relative;transition:background .3s,border-color .3s}
.play .tri::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-35%,-50%);border-left:22px solid var(--silver);border-block:14px solid transparent}
.play:hover .tri{background:linear-gradient(#e4e7ec,#9ea5b1);border-color:transparent}
.play:hover .tri::after{border-left-color:var(--ink)}
.video-note{margin:.9rem 0 0}.video-note a{color:var(--steel);border-bottom:1px solid var(--line)}.video-note a:hover{color:#fff}
.gallery{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:230px 230px;gap:1px;margin-top:3.5rem;background:var(--line);border:1px solid var(--line)}
.shot{position:relative;overflow:hidden;background:var(--ink)}
.shot.s-aden{grid-row:1/3}.shot.s-rune{grid-column:2/4}
.shot .art{position:absolute;inset:0;background:#0a0d12 url("../assets/backgrounds/hero.svg") no-repeat;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .6s;filter:saturate(.85) brightness(.85)}
.s-aden .art{background-size:300% auto;background-position:73% 38%}
.s-tower .art{background-size:420% auto;background-position:37% 14%}
.s-goddard .art{background-size:380% auto;background-position:93% 46%}
.s-rune .art{background-size:260% auto;background-position:14% 72%}
.shot .art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shot::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#08090bf0 0,#08090b00 55%);pointer-events:none}
.shot:hover .art{transform:scale(1.06);filter:saturate(1) brightness(1)}
.shot figcaption{position:absolute;left:1.2rem;right:1.2rem;bottom:1rem;z-index:1;display:grid;transition:transform .5s}
.shot figcaption b{font:400 1.4rem var(--display);color:#fff}
.shot figcaption span{font-size:.85rem;color:var(--steel)}
.shot:hover figcaption{transform:translateY(-4px)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s}
.hero-video.on{opacity:.55}
@media(max-width:900px){.gallery{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px 200px}.shot.s-aden{grid-row:auto;grid-column:1/3}.shot.s-rune{grid-column:auto}.play .tri{width:68px;height:68px}}
@media(max-width:520px){.gallery{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:200px}.shot.s-aden,.shot.s-rune{grid-column:auto}}
/* gallery crop and brightness tuning */
.shot .art{filter:saturate(.9) brightness(1.2)}
.shot:hover .art{filter:saturate(1) brightness(1.4)}
.s-tower .art{background-size:500% auto;background-position:35% 17%}
.s-goddard .art{background-size:640% auto;background-position:100% 50%}
.s-rune .art{background-size:260% auto;background-position:3% 82%}
/* player artwork already contains its own play button and label: keep the whole area clickable, hide the duplicate icon/text visually (still read by screen readers) */
.video .play .tri{display:none}
.video .play span[data-i18n]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.play:focus-visible{outline:2px solid var(--silver);outline-offset:-6px}
/* gallery: one collage image, shown whole (no crop, no stretch), same box, hover zoom and caption-free overlay as before */
.gallery.collage{display:block}
.shot.s-collage{aspect-ratio:1024/416}
.shot.s-collage::after{background:linear-gradient(0deg,#08090b59 0,#08090b00 30%)}
.shot.s-collage .art img{display:block}
.shot.s-collage .art{background:#0a0d12}

/* ---------- ARCANE theme system (dark remains the untouched base) ---------- */
:root{--theme-heading:#f1f3f6;--theme-strong:#fff;--theme-header:linear-gradient(#08090bf2,#08090bcc)}
.theme-toggle{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:7px;background:transparent;border:1px solid var(--line);color:var(--silver);cursor:pointer;transition:color .25s,border-color .25s,background .25s}
.theme-toggle:hover{color:var(--theme-strong);border-color:var(--arc);background:color-mix(in srgb,var(--arc) 10%,transparent)}
.theme-toggle svg{width:19px;height:19px;grid-area:1/1;transition:opacity .25s,transform .3s}
.theme-toggle .theme-moon{opacity:0;transform:rotate(-35deg) scale(.6)}
html[data-theme="light"] .theme-toggle .theme-sun{opacity:0;transform:rotate(35deg) scale(.6)}
html[data-theme="light"] .theme-toggle .theme-moon{opacity:1;transform:rotate(0) scale(1)}
/* Match the English menu's spacing to the established Georgian menu. */
html[lang="en"] .links{gap:clamp(.5rem,.8vw,.9rem)}
/* Keep all header controls from colliding at intermediate desktop widths. */
@media (min-width:1241px) and (max-width:1370px){.links,.auth{display:none}.menu{display:block;margin-left:0}.lang{margin-left:auto}}
@media (max-width:1370px){.theme-toggle{margin-left:auto}.lang{margin-left:0}}
@media (max-width:480px){.theme-toggle{width:32px;height:32px;flex-basis:32px;padding:6px}}
/* The light palette is deliberately warm stone, silver and muted teal rather than inverted black. */
html[data-theme="light"]{
  --ink:#f5f2eb;--coal:#eae5dc;--iron:#e1dbd0;--line:#c9c2b5;
  --steel:#585f66;--silver:#29323b;--arc:#327b89;
  --theme-heading:#222c35;--theme-strong:#1d2932;
  --theme-header:linear-gradient(#f5f2ebf5,#f5f2ebeb);
}
html[data-theme="light"] body{background:var(--ink);color:var(--silver)}
html[data-theme="light"] h1,html[data-theme="light"] h2,html[data-theme="light"] h3{color:var(--theme-heading)}
html[data-theme="light"] header{background:var(--theme-header);box-shadow:0 4px 24px #302a2010}
html[data-theme="light"] .brand span{color:var(--theme-heading)}
html[data-theme="light"] .links a:hover,html[data-theme="light"] .links a[aria-current="page"],html[data-theme="light"] .lang button:hover{color:var(--theme-strong)}
html[data-theme="light"] .btn.main,html[data-theme="light"] .lang button[aria-pressed="true"]{background:linear-gradient(#3b6572,#263f4c);color:#fff}
html[data-theme="light"] .btn.main:hover{background:#315b68;color:#fff}
html[data-theme="light"] .btn:hover:not(.main){background:var(--silver);color:#fff}
html[data-theme="light"] .hero{background:#d5d0c6}
html[data-theme="light"] .hero .shade{background:linear-gradient(90deg,#f5f2ebdd 0%,#f5f2ebaa 30%,#f5f2eb38 58%,transparent 75%),linear-gradient(0deg,var(--ink) 0%,#f5f2eb55 24%,transparent 46%),linear-gradient(180deg,#f5f2eb55,transparent 20%)}
html[data-theme="light"] .hero .wrap{background:radial-gradient(ellipse 50% 50% at 50% 52%,#f5f2ebbd 0,#f5f2eb72 45%,transparent 100%)}
html[data-theme="light"] .hero h1,html[data-theme="light"] .hero p{text-shadow:0 2px 16px #f5f2ebdd,0 0 2px #f5f2eb}
html[data-theme="light"] .status b{color:var(--theme-heading)}
html[data-theme="light"] #info{background:linear-gradient(180deg,var(--coal),#f1ede5)}
html[data-theme="light"] #download{background:radial-gradient(ellipse at 50% 0,#e1e8e6 0,var(--ink) 65%)}
html[data-theme="light"] #download::before{background:repeating-linear-gradient(90deg,#e1e8e6 0 20px,transparent 20px 36px)}
html[data-theme="light"] .dl div,html[data-theme="light"] .dl-main,html[data-theme="light"] form.cf{background:linear-gradient(180deg,#fffdf9,var(--ink))}
html[data-theme="light"] .feat div:hover,html[data-theme="light"] .file:hover{background:linear-gradient(90deg,#e7e3da,transparent)}
html[data-theme="light"] .castles span:hover{color:var(--theme-strong);background:#e9e3d9}
html[data-theme="light"] td:last-child,html[data-theme="light"] .meta b,html[data-theme="light"] .ci a{color:var(--theme-strong)}
html[data-theme="light"] .note,html[data-theme="light"] footer,html[data-theme="light"] .file code,html[data-theme="light"] .file .k,html[data-theme="light"] .ci p,html[data-theme="light"] .ph{color:#626a70}
html[data-theme="light"] .page-hero{background-color:#dedbd3}
html[data-theme="light"] .page-hero::before{background:linear-gradient(90deg,#f5f2ebf2 0%,#f5f2ebcc 45%,#f5f2eb66 80%),linear-gradient(0deg,var(--ink),transparent 70%)}
html[data-theme="light"] .cf input,html[data-theme="light"] .cf textarea{background:#fffdfa;color:var(--silver)}
html[data-theme="light"] .cf-note{background:#e4e9e5}
html[data-theme="light"] .err{color:#a43f35}
html[data-theme="light"] .video-note a:hover{color:var(--theme-strong)}
html[data-theme="light"] .video .play{color:#fff}
html[data-theme="light"] .video .play:hover{background:#08090b20}
html[data-theme="light"] .shot figcaption b{color:#fff}
html[data-theme="light"] .shot figcaption span{color:#d6dae1}
html[data-theme="light"] .play:focus-visible{outline-color:var(--arc)}
html[data-theme="light"] nav.open .links{background:var(--ink)}
/* Preserve legibility on the artwork, including the image-based player. */
html[data-theme="light"] .video,html[data-theme="light"] .shot .art{background-color:#17212b}
html[data-theme="light"] body::after{opacity:.045}
@media(prefers-reduced-motion:no-preference){
  body,header,.dl div,.dl-main,form.cf,.cf input,.cf textarea,.page-hero,.feat div,.file,.castles span,.lang button,.links a,.theme-toggle{transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s}
}

/* ---------- Light Mode refinement: gentle daylight, reduced glare ---------- */
/* Dark Mode remains untouched; overrides apply only to the light theme. */
html[data-theme="light"]{
  --ink:#dedbd5;--coal:#d3cfc8;--iron:#c9c5bd;--line:#b6b0a6;
  --steel:#535b61;--silver:#303940;--arc:#467986;
  --theme-heading:#28323a;--theme-strong:#222d35;
  --theme-header:linear-gradient(#dedbd5f5,#dedbd5ed);
}
html[data-theme="light"] header{box-shadow:0 4px 18px #252b3020}
html[data-theme="light"] .hero{background:#c4c2bd}
html[data-theme="light"] .hero .shade{background:linear-gradient(90deg,#dedbd5e8 0%,#dedbd5b8 30%,#dedbd54a 58%,transparent 78%),linear-gradient(0deg,var(--ink) 0%,#dedbd56b 25%,transparent 48%),linear-gradient(180deg,#dedbd55c,transparent 24%)}
html[data-theme="light"] .hero .wrap{background:radial-gradient(ellipse 50% 50% at 50% 52%,#dedbd5c2 0,#dedbd575 45%,transparent 100%)}
html[data-theme="light"] .hero h1,html[data-theme="light"] .hero p{text-shadow:0 2px 12px #dedbd5b8}
html[data-theme="light"] #info{background:linear-gradient(180deg,var(--coal),#d9d5ce)}
html[data-theme="light"] #download{background:radial-gradient(ellipse at 50% 0,#cbd6d3 0,var(--ink) 65%)}
html[data-theme="light"] #download::before{background:repeating-linear-gradient(90deg,#cbd6d3 0 20px,transparent 20px 36px)}
html[data-theme="light"] .dl div,html[data-theme="light"] .dl-main,html[data-theme="light"] form.cf{background:linear-gradient(180deg,#e5e2dc,#d7d3cc)}
html[data-theme="light"] .feat div:hover,html[data-theme="light"] .file:hover{background:linear-gradient(90deg,#cbc7c0,transparent)}
html[data-theme="light"] .castles span:hover{background:#cbc6be}
html[data-theme="light"] .page-hero{background-color:#c9c6c0}
html[data-theme="light"] .page-hero::before{background:linear-gradient(90deg,#dedbd5f0 0%,#dedbd5d0 45%,#dedbd575 80%),linear-gradient(0deg,var(--ink),transparent 70%)}
html[data-theme="light"] .cf input,html[data-theme="light"] .cf textarea{background:#e8e5df;color:var(--silver)}
html[data-theme="light"] .cf-note{background:#cbd5d1}
html[data-theme="light"] .btn.main,html[data-theme="light"] .lang button[aria-pressed="true"]{background:linear-gradient(#466c76,#34515d);color:#f6f4ef}
html[data-theme="light"] .btn.main:hover{background:#3d606c}

/* Legal pages: inherit theme tokens, without changing the original Dark Mode. */
.legal-section{padding:4.5rem 0 7rem}
.legal-content{max-width:850px;margin-inline:auto}
.legal-content h2{font-size:clamp(1.6rem,2.7vw,2.15rem);margin:2.25rem 0 .65rem}
.legal-content p{color:var(--steel);line-height:1.85}
.legal-content .legal-contact{margin-top:2.5rem}
.legal-content .legal-contact a{color:var(--silver)}
html[data-theme="light"] .legal-content p{color:#414950}
html[data-theme="light"] .legal-content .legal-contact a{color:#f6f4ef}
/* Let the cinematic remain visible in Soft Light, with a restrained localized
   text scrim instead of a bright wash across the entire video. */
html[data-theme="light"] .hero .shade{
 background:linear-gradient(90deg,#30343b75 0%,#30343b38 37%,transparent 78%),linear-gradient(0deg,var(--ink) 0%,#bdb9b330 18%,transparent 42%);
}
html[data-theme="light"] .hero .wrap{background:radial-gradient(ellipse 57% 65% at 50% 48%,#242831a3 0%,#24283170 40%,transparent 78%)}
html[data-theme="light"] .hero h1{color:#f5f3ee;text-shadow:0 2px 20px #0c1014e0,0 1px 3px #0c1014}
html[data-theme="light"] .hero p{color:#f0eee9;text-shadow:0 2px 14px #0c1014ef,0 1px 3px #0c1014}
html[data-theme="light"] .hero .status b{color:#f7f5f1;text-shadow:0 2px 12px #111b20}
@media(max-width:600px){html[data-theme="light"] .hero .shade{background:linear-gradient(90deg,#22283155,#22283125),linear-gradient(0deg,var(--ink),transparent 38%)}html[data-theme="light"] .hero .wrap{background:radial-gradient(ellipse 80% 65% at center,#20252bb8,transparent 82%)}}

/* Legal pages: inherit ARCANE's existing dark and soft-light theme variables. */
.legal-section{padding:clamp(3rem,7vw,6rem) 0}.legal-card{max-width:880px;margin:auto;background:var(--coal);border:1px solid var(--line);padding:clamp(1.35rem,4vw,3.5rem);box-shadow:0 18px 48px #00000012}.legal-note{font-size:.9rem;color:var(--steel);border-left:2px solid var(--arc);padding:.65rem 1rem;margin-bottom:2rem}.legal-entry{padding:1.45rem 0;border-top:1px solid var(--line)}.legal-entry h2{font-size:clamp(1.35rem,2.7vw,1.8rem);color:var(--theme-heading);margin-bottom:.65rem}.legal-entry p{color:var(--silver);line-height:1.85;overflow-wrap:anywhere}html[data-theme="light"] .legal-card{background:#e8e5df;box-shadow:0 18px 45px #31343b16}html[data-theme="light"] .legal-note{color:#535b61}
/* Soft Light hero: retain a light page while allowing the cinematic to show through. */
html[data-theme="light"] .hero .shade{background:linear-gradient(90deg,#dedbd5a8 0%,#dedbd572 28%,#dedbd512 58%,transparent 82%),linear-gradient(0deg,var(--ink) 0%,#dedbd524 16%,transparent 38%),linear-gradient(180deg,#dedbd52a,transparent 22%)}
html[data-theme="light"] .hero .wrap{background:radial-gradient(ellipse 48% 50% at 50% 52%,#dedbd5a8 0%,#dedbd54d 48%,transparent 100%)}
html[data-theme="light"] .hero .hero-bg{filter:contrast(1.08) saturate(1.12) brightness(.88)}
html[data-theme="light"] .hero h1,html[data-theme="light"] .hero p{text-shadow:0 1px 6px #dedbd5,0 0 18px #dedbd5aa}

/* ARCANE comfort-light: low-glare daylight, never white or dark-mode. */
html[data-theme="light"]{
 --ink:#bfc1bf;--coal:#b3b7b5;--iron:#a8aeac;--line:#8e9896;
 --steel:#38464a;--silver:#26353a;--arc:#356c76;
 --theme-heading:#1c2b30;--theme-strong:#17282d;
 --theme-header:linear-gradient(#bfc1bff5,#bfc1bfeb);
}
html[data-theme="light"] body{background:var(--ink)}
html[data-theme="light"] header{box-shadow:0 3px 16px #2330381c}
html[data-theme="light"] .hero{background:#9ca5a7}
html[data-theme="light"] .hero .shade{background:linear-gradient(90deg,#18252d94 0%,#18252d48 34%,transparent 78%),linear-gradient(0deg,var(--ink),transparent 32%)}
html[data-theme="light"] .hero .wrap{background:radial-gradient(ellipse 55% 60% at 50% 50%,#18242c9c 0%,#18242c4a 50%,transparent 90%)}
html[data-theme="light"] .hero h1,html[data-theme="light"] .hero p{color:#e9e9e4;text-shadow:0 2px 12px #111b20d9}
html[data-theme="light"] .hero .status b{color:#f0f0eb;text-shadow:0 2px 10px #111b20}
html[data-theme="light"] .hero .hero-bg{filter:contrast(1.12) saturate(1.06) brightness(.9)}
html[data-theme="light"] #info{background:linear-gradient(180deg,var(--coal),#bec1be)}
html[data-theme="light"] #download{background:radial-gradient(ellipse at 50% 0,#aebcbb,var(--ink) 65%)}
html[data-theme="light"] #download::before{background:repeating-linear-gradient(90deg,#b2bdbb 0 20px,transparent 20px 36px)}
html[data-theme="light"] .dl div,html[data-theme="light"] .dl-main,html[data-theme="light"] form.cf{background:linear-gradient(180deg,#c7cac6,#b6bcb9)}
html[data-theme="light"] .feat div:hover,html[data-theme="light"] .file:hover{background:linear-gradient(90deg,#a7b2af,transparent)}
html[data-theme="light"] .castles span:hover{background:#adb5b1}
html[data-theme="light"] .page-hero{background-color:#aeb5b3}
html[data-theme="light"] .page-hero::before{background:linear-gradient(90deg,#bfc1bfdd 0%,#bfc1bfa8 45%,#bfc1bf50 80%),linear-gradient(0deg,var(--ink),transparent 70%)}
html[data-theme="light"] .cf input,html[data-theme="light"] .cf textarea{background:#cbd0cc;color:var(--silver)}
html[data-theme="light"] .cf-note{background:#b0bfbb}
html[data-theme="light"] .legal-card{background:#c6cac6;box-shadow:0 12px 34px #24333b16}
html[data-theme="light"] .legal-content p,html[data-theme="light"] .legal-note{color:#344247}
html[data-theme="light"] .note,html[data-theme="light"] footer,html[data-theme="light"] .file code,html[data-theme="light"] .file .k,html[data-theme="light"] .ci p,html[data-theme="light"] .ph{color:#3b4a4e}
@media(max-width:600px){html[data-theme="light"] .hero .shade{background:linear-gradient(90deg,#18252d80,#18252d30),linear-gradient(0deg,var(--ink),transparent 38%)}html[data-theme="light"] .hero .wrap{background:radial-gradient(ellipse 85% 70% at center,#18242ca8,transparent 85%)}}

/* Minimal event timeline replacing castle strip. Inherits both ARCANE themes. */
.event-calendar{margin-top:3rem;color:var(--text,inherit);min-width:0}
.ec-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.1rem}
.ec-kicker{font:700 .7rem/1.5 system-ui;color:#c7a14c;letter-spacing:.09em}
.ec-heading h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:.15rem 0}
.ec-heading p{font-size:.85rem;color:var(--steel)}
.ec-period{display:flex;gap:.2rem;padding:.25rem;border:1px solid var(--line);border-radius:12px;background:var(--bg2,#14151b)}
.ec-period button,.ec-filters button{font:600 .78rem system-ui;cursor:pointer;border:1px solid transparent;color:var(--steel);background:transparent;border-radius:9px;padding:.65rem .85rem}
.ec-period button.active{color:var(--text,#f2f2f2);background:var(--bg3,#242631);border-color:var(--line)}
.ec-panel{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--bg2,#12131a)}
.ec-filters{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;padding:1rem;border-bottom:1px solid var(--line)}
.ec-filters button{border-color:var(--line);display:flex;gap:.4rem;align-items:center;padding:.55rem .7rem}
.ec-filters button[aria-pressed=false]{opacity:.42}
.ec-filters i{display:inline-block;width:8px;height:8px;border-radius:2px;background:#ed6972}
.ec-filters [data-category=siege] i{background:#e4b541}.ec-filters [data-category=territory] i{background:#8da9ef}.ec-filters [data-category=signs] i{background:#b19be7}.ec-filters [data-category=event] i{background:#56bc94}
.ec-zone{margin-left:auto;font:400 .72rem system-ui;color:var(--steel)}
.ec-scroll{overflow-x:auto;scrollbar-width:thin}.ec-timeline{min-width:max(650px,100%);padding-bottom:.3rem}
.ec-days,.ec-lane{display:grid;grid-template-columns:repeat(var(--ec-count),minmax(0,1fr))}
.ec-day{padding:.8rem .45rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font:500 .72rem system-ui;color:var(--steel);white-space:nowrap}
.ec-lanes{position:relative;background:repeating-linear-gradient(90deg,transparent,transparent calc(100% / var(--ec-count) - 1px),var(--line) calc(100% / var(--ec-count) - 1px),var(--line) calc(100% / var(--ec-count)))}
.ec-lane{height:42px;position:relative;border-bottom:1px solid var(--line)}
.ec-event{position:absolute;top:7px;height:28px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;border-radius:6px;padding:0 .6rem;cursor:pointer;font:600 .75rem system-ui;color:inherit;border:1px solid #ed6972;background:rgba(237,105,114,.18)}
.ec-siege{border-color:#e4b541;background:rgba(228,181,65,.18)}.ec-territory{border-color:#8da9ef;background:rgba(141,169,239,.18)}.ec-signs{border-color:#b19be7;background:rgba(177,155,231,.18)}.ec-event.ec-event{transition:filter .2s}.ec-event:hover,.ec-event.selected{filter:brightness(1.2)}.ec-event.ec-event.ec-event:not(.ec-raid):not(.ec-siege):not(.ec-territory):not(.ec-signs){border-color:#56bc94;background:rgba(86,188,148,.18)}
.ec-empty{padding:2.1rem 1rem;text-align:center;color:var(--steel);font:.85rem system-ui}
.ec-details{padding:1rem;background:rgba(128,128,128,.06);border-top:1px solid var(--line)}
.ec-muted{font:.8rem system-ui;color:var(--steel)}
.ec-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.ec-detail-grid div{min-width:0}.ec-detail-grid small{display:block;font:.7rem system-ui;color:var(--steel);margin-bottom:.35rem}.ec-detail-grid strong{display:block;font:600 .85rem/1.5 system-ui;overflow-wrap:anywhere}
html[data-theme=light] .ec-panel,html[data-theme=light] .ec-period{background:#c6cbc7}html[data-theme=light] .ec-period button.active{background:#b2b9b4;color:#242b29}html[data-theme=light] .ec-filters button{color:#343c3a}html[data-theme=light] .ec-event{color:#28302c}
@media(max-width:600px){.ec-heading{align-items:start}.ec-period{width:100%;justify-content:space-between}.ec-period button{flex:1}.ec-zone{width:100%;margin-left:0}}
