/* Phaeris · Halouine. Opt-in visual layer; no shop, account or game logic. */
body.halouine {
  color-scheme:dark;
  --paper:#17151f; --ink:#f1e4d2; --muted:#bdadba; --leaf:#efad68;
  --deep:#100f17; --gold:#f2b86c; --ph-bg:#17151f; --ph-bg-2:#1e1b28;
  --ph-panel:#252130; --ph-panel-2:#2e2736; --ph-text:#f1e4d2;
  --ph-line:#584252; --ph-muted:#bdadba; --ph-cyan:#f2b86c;
  --ph-cyan-hi:#ffd695; --ph-cyan-deep:#ba763c;
  --pw-paper:#252130; --pr-paper:#252130; --pr-ink:#f1e4d2;
  --pr-line:#584252; --pr-mint:#efad68; --pr-night:#17151f;
  --bs-body-color:#f1e4d2; --bs-body-bg:#17151f;
  --bs-border-color:#584252; --bs-link-color:#f2b86c;
  --bs-link-hover-color:#ffe0ad; --bs-secondary-color:#bdadba;
  --bs-emphasis-color:#fff0dc; --bs-tertiary-bg:#252130;
  background:radial-gradient(ellipse at 0 650px,#56313f26,transparent 700px),#17151f;
  color:#f1e4d2;
}
body.halouine::before {background:radial-gradient(ellipse at 100% 0,#73513612,transparent 65%);opacity:1}
.halouine a {color:#f2b86c}
.halouine a:hover {color:#ffe0ad}
.halouine :is(a,button,input,summary):focus-visible {outline:3px solid #f2b86c;outline-offset:4px}
.halouine ::selection {background:#75412e;color:#fff2d9}
.halouine .ph-nav {
  background:linear-gradient(100deg,#322c30,#241f29 65%,#352b30);
  border:1px solid #b58951; border-bottom:3px solid #86603c;
  box-shadow:inset 0 1px #e3bc7950,0 5px 0 #150f1e77,0 15px 35px #0e0a2440;
  border-radius:12px;
}
.halouine .ph-brand {filter:drop-shadow(0 2px 8px #efb46315)}
.halouine .ph-links a {color:#edddbd}
.halouine .ph-links a:hover {background:#f8c5680d;color:#ffd48b}
.halouine .ph-links a.active {color:#ffce82}
.halouine .ph-links a.active::after {background:#e7a452}
.halouine .ph-links {border-color:#c6995938}
.halouine .ph-nav .ph-btn-ghost {
  border-color:#967149;background:#ffffff06;color:#f7e1b4!important;
  box-shadow:inset 0 1px #f5d7a214,0 2px #130f18;
}
.halouine .ph-nav .ph-btn-ghost:hover {background:#b8783420;color:#fff1d7!important}
.halouine :is(.ph-btn-primary,.btn-primary),.halouine .cv-home .button {
  background:linear-gradient(#ffda86,#edaa45 75%,#d68a2d);
  border-color:#a66a2d;border-top-color:#f7d58e;color:#51331c!important;
  box-shadow:inset 0 2px #ffedbd,0 4px #80512a;text-shadow:0 1px #ffeab8;
}
.halouine .pw-menu-toggle {background:#4b3834;color:#f8d59c;border-color:#bb8e55}
.halouine .pw-menu-toggle i {display:none}
.halouine .pw-menu-toggle::before {content:'☰';font:24px/1 Arial,sans-serif}
.halouine .pw-menu-toggle[aria-expanded="true"]::before {content:'×';font-size:31px}
.halouine .ph-nav .dropdown-menu {background:#282232;border-color:#876145;box-shadow:0 12px 30px #09081088}
.halouine .ph-nav .dropdown-item {color:#eadac8}
.halouine .ph-nav .dropdown-item:hover {background:#43303b;color:#ffd695}

/* The village keeps its geography, now lit by pumpkins and lanterns. */
.halouine .cv-home .cover {height:830px;background:#29283f}
.halouine .cv-home .cover-art {
  background-image:url('../img/halloween/astrub-halouine.webp');
  background-position:center 56%;
}
.halouine .cv-home .cover-art::after {
  background:linear-gradient(180deg,#13132840 0%,transparent 42%,#17151f90 100%);
}
.halouine .cv-home .cover-center {padding-top:175px}
.halouine .cv-home .cover-logo {width:395px;filter:drop-shadow(0 8px 5px #160c2ba0);margin-bottom:4px}
.halouine .cv-home .cover-dragon {display:none}
.halouine .cv-home .cover-cra {
  width:290px;height:440px;left:calc(50% - 590px);bottom:32px;
  filter:drop-shadow(0 10px 6px #191327a0) brightness(.93);
}
.halouine .cv-home .hl-cover-xelor {width:305px;height:458px;left:calc(50% - 620px);bottom:54px;object-fit:contain}
.halouine .cv-home .hl-cover-creatures {
  position:absolute;width:315px;height:238px;object-fit:contain;
  right:calc(50% - 630px);bottom:94px;z-index:5;pointer-events:none;
  filter:drop-shadow(0 9px 4px #1a0e2855);
}
.halouine .hl-season {
  display:flex;align-items:center;gap:17px;position:relative;z-index:2;
  color:#f9d393;background:linear-gradient(#5b3640,#3e2634);
  border:1px solid #c39455;box-shadow:0 3px #261b27,0 4px 18px #0d0c2d66;
  border-radius:3px;font:800 11px 'Trebuchet MS',sans-serif;letter-spacing:.28em;
  padding:9px 28px;margin:0 0 -12px;transform:rotate(-2deg);
}
.halouine .hl-season span {font-size:14px;letter-spacing:0;color:#dca85b}
.halouine .cv-home .welcome-paper {width:600px;padding:38px 40px 32px;filter:drop-shadow(0 15px 18px #0c081bb3)}
.halouine .cv-home .welcome-paper::before {
  background:radial-gradient(ellipse at 50% 0,#5837438c,transparent 75%),linear-gradient(145deg,#2a2335f5,#17151ff5);
  clip-path:none;border:1px solid #a4784a;border-radius:18px 18px 38px 38px;
  box-shadow:inset 0 0 0 5px #19151f,inset 0 0 0 6px #8e674543;
}
.halouine .cv-home .welcome-paper .eyebrow {color:#d9b18b;font-size:10px;letter-spacing:.15em;margin-bottom:12px}
.halouine .cv-home .welcome-paper h1 {color:#fff0db;font-size:45px;line-height:1.08;text-shadow:0 3px #100b17}
.halouine .cv-home .welcome-paper h1 em {color:#f4b76f}
.halouine .cv-home .welcome-text {color:#d4c2cd;max-width:450px;line-height:1.8;font-size:14px;margin:17px auto 22px}
.halouine .cv-home .platforms {color:#baacba;font-size:10px}
.halouine .cv-home .scroll-cue {background:#2e2736ed;color:#f8ddb0;border:1px solid #aa7845;bottom:44px}
.halouine .cv-home .scroll-cue::after {display:none}
.halouine .cv-home .motion {background:#292330eb;color:#f2d29d;border-color:#9d7548;bottom:44px}
.halouine .cv-home .leaves i {background:#dd8e38;animation-duration:23s}
.halouine .cv-home .leaves i:nth-child(2) {background:#bb5f29}
.halouine .cv-home .leaves i:nth-child(3) {background:#e6b15a}

/* Nocturnal chapters: warm type, copper rules, plum and charcoal surfaces. */
.halouine .cv-home {background:radial-gradient(ellipse at 80% 40%,#683c3525,transparent 40%),var(--paper)}
.halouine .cv-home :is(h2,h3) {color:#f1e4d2}
.halouine .cv-home em {color:#efad68}
.halouine .cv-home .chapter-copy>p:not(.eyebrow) {color:#bdadba}
.halouine .cv-home .chapter strong {color:#eed1a3}
.halouine .cv-home .chapter-number {border-color:#79533e;color:#edba7b}
.halouine .cv-home .eyebrow {color:#ce9d77}
.halouine .cv-home .text-link {color:#f2bd7d;border-color:#785441}
.halouine .cv-home .hero-sun {background:radial-gradient(circle,#a86d3f55,#493246 68%);box-shadow:0 0 0 16px #c7894b09,0 0 80px #c4783320}
.halouine .cv-home .hero-orbit {border-color:#97654080}
.halouine .cv-home .little-ribbon {background:#623d38;color:#fff0cb}
.halouine .cv-home .path {box-shadow:inset 0 1px #ffffff08,0 8px 30px #0806103d}
.halouine .cv-home .path-ice {background:linear-gradient(145deg,#2c2d41,#212333);border-color:#56516a}
.halouine .cv-home .path-craft {background:linear-gradient(145deg,#3a2c32,#29212b);border-color:#705040}
.halouine .cv-home .path-shop {background:linear-gradient(145deg,#39303f,#28212e);border-color:#735548}
.halouine .cv-home .path h3 {color:#f5dfc3}
.halouine .cv-home .path p {color:#c8b7c4}
.halouine .cv-home .path .path-label {color:#d8af83}
.halouine .cv-home .path .path-link {color:#f2bb7a;border-color:#c18d5438}
.halouine .cv-home .village {background:#241e2e}
.halouine .cv-home .village::after {
  background:radial-gradient(ellipse at 12% 60%,#9b502638,transparent 70%),repeating-linear-gradient(115deg,transparent 0 80px,#ffecc102 80px 100px);
}
.halouine .cv-home .village-title>.eyebrow {color:#d5a96d}
.halouine .cv-home .village-title h2 {color:#f6e2b8;font-size:46px}
.halouine .cv-home .village-title>p:not(.eyebrow) {color:#c7b7ad}
.halouine .cv-home .village-title>.hl-village-creatures {width:220px;height:165px;margin:25px 0 -25px 28px;transform:rotate(-3deg)}
.halouine .cv-home .noticeboard {background:#302632;border-color:#624235;box-shadow:0 0 0 2px #9a7047,0 8px #100b1770,inset 0 0 0 2px #a47a4533}
.halouine .cv-home .board-label {color:#edc18e}
.halouine .cv-home .main-notice {background:#211d2b;border:1px solid #715344;box-shadow:0 5px 10px #08061133}
.halouine .cv-home .notice-image {border-color:#856245}
.halouine .cv-home .main-notice h3 {color:#f2dec4}
.halouine .cv-home .main-notice:hover h3 {color:#ffc888}
.halouine .cv-home .main-notice p {color:#c8b7c4}
.halouine .cv-home .main-notice .eyebrow {color:#d8ac7d}
.halouine .cv-home .pinned-links>a {background:#251f2d;border-color:#62483e;box-shadow:0 2px #17121e}
.halouine .cv-home .pinned-links>a:hover {background:#3c2b36}
.halouine .cv-home .pinned-links strong {color:#f1dcc2}
.halouine .cv-home .pinned-links small {color:#bca9bb}
.halouine .cv-home .pin-symbol {color:#efb775}
.halouine .cv-home .cv-all-news {color:#f1ba7a}
.halouine .cv-home .departure-route span {border-color:#93613e;background:#34252f;color:#f3bf7e;box-shadow:inset 0 0 0 3px #19151f}
.halouine .cv-home .departure-route a:hover span {background:#57322d}
.halouine .cv-home .departure-route strong {color:#ead6c0}
.halouine .cv-home .departure-route small {color:#bdadba}
.halouine .cv-home .departure-route i {color:#80664c}

/* Shared public pages: wiki, journal, rankings, download and account forms. */
.halouine :is(.pr-masthead,.rn-gate-brand) {color:#fff1ce}
.halouine .pr-masthead {
  background:linear-gradient(90deg,#312434ed 25%,#36263b99),url('../img/halloween/astrub-halouine.webp') center 40%/cover;
  border-color:#9d7049;box-shadow:0 4px 0 #aa80532b;
}
.halouine .pr-masthead :is(h1,.pr-masthead-title) {color:#ffeac5}
.halouine .pr-masthead :is(.pr-lead,.pr-eyebrow,.pr-breadcrumb,.pr-breadcrumb a) {color:#e2c29c}
.halouine .pr-masthead .hl-masthead-creatures {width:265px;height:200px;object-fit:contain;bottom:0;right:35px;opacity:1;transform:none;filter:drop-shadow(0 5px 6px #150c1c55)}
.halouine :is(.pr-side,.wk-nav,.wk-toc,.pr-account-nav) {background:linear-gradient(150deg,#2b2432,#201c29);border-color:#59424b;border-top-color:#b47c48;box-shadow:0 6px 20px #08061025}
.halouine :is(.pr-side h2,.pr-account-nav h2,.wk-nav-home,.wk-nav-cat,.wk-toc-title) {color:#edc08d}
.halouine :is(.pr-side p,.pr-side ol,.pr-side a,.pr-account-nav a,.wk-nav-item,.wk-toc-link) {color:#c9b9c7}
.halouine :is(.pr-side a,.pr-account-nav a) {border-color:#6d4c463f}
.halouine .pr-eyebrow {color:#e1ac7b}
.halouine .pr-guide-category h2 {color:#f0d5b4}
.halouine .pr-guide-card {background:#282230;border-color:#654a4f;color:#e6cfb7}
.halouine .pr-guide-card:hover {background:#382a36;border-color:#bd844f}
.halouine .pr-library-search button {background:#97572f;color:#fff1cc}
.halouine .pr-gate-story {background:linear-gradient(130deg,#3b2938,#4c3634);border-color:#a67948;color:#f7e5be}
.halouine .pr-gate-story :is(h2,em,.pr-eyebrow) {color:#f3cb8a}
.halouine .pr-gate-story>div>p:not(.pr-eyebrow) {color:#d1bc9e}
.halouine .ph-footer {background:#100e17;border-top:3px solid #8d613e;color:#c4b39d}
.halouine .ph-footer :is(h4,.ph-footer-links a) {color:#efc994}
.halouine .ph-footer :is(p,.pw-footer-note,.ph-footer-bottom) {color:#baaa98}
.halouine .ph-footer-bottom {border-top-color:#b5854b33}

/* All reading and form surfaces share the same dark palette. The shop is
   excluded at activation/routing level; none of its templates are changed. */
.halouine :is(.pr-paper,.pr-gate-form,.pr-platform,.pr-news-entry,.pr-news-feature,.pr-champion,.pr-record,.pr-account-content,.wk-main) {
  background:linear-gradient(135deg,#292331,#201d29);color:#e6d8ca;
  border-color:#59424b;box-shadow:0 6px 24px #0907102b;
}
.halouine :is(.pr-paper,.pr-gate-form,.pr-platform,.pr-news-entry,.pr-news-feature,.pr-record,.pr-account-content,.wk-main) :is(h1,h2,h3,h4) {color:#f1dfc7}
.halouine :is(.pr-paper,.pr-platform,.pr-news-entry,.pr-news-feature,.pr-gate-form,.pr-record,.wk-main) :is(p,li) {color:#cbbdcb}
.halouine :is(.pr-paper,.pr-platform,.pr-news-entry,.pr-news-feature,.pr-gate-form,.wk-main) strong {color:#f2d5ae}
.halouine :is(.pr-paper,.pr-gate-form,.wk-main) a:not(.btn):not(.ph-btn) {color:#f2b86c}
.halouine :is(.pr-subnav,.pr-account-nav) a:hover,.halouine .pr-subnav a:is(.active,[aria-current="page"]) {background:#48303a;color:#ffd191;border-color:#8b613f}
.halouine .pr-library-search {background:#201b28;border-color:#765642}
.halouine :is(input:not([type=checkbox]):not([type=radio]),textarea,select,.form-control,.form-select) {
  color:#f2e1d1;background-color:#17151f;border-color:#69505e;box-shadow:inset 0 2px 6px #09071033;
}
.halouine :is(input,textarea)::placeholder {color:#a999ac;opacity:1}
.halouine :is(.form-control,.form-select):focus {background-color:#211b2b;border-color:#d69b61;color:#fff1dc;box-shadow:0 0 0 3px #d69b6126}
.halouine :is(.form-label,.form-check-label,label) {color:#dfcbb7}
.halouine .form-check-input {background-color:#17151f;border-color:#a38265}
.halouine .form-check-input:checked {background-color:#af693c;border-color:#efb67a}
.halouine :is(.text-muted,.text-secondary,.form-text) {color:#bbaabd!important}
.halouine :is(.card,.list-group-item,.dropdown-menu) {background-color:#26202f;border-color:#624856;color:#e6d7ca}
.halouine :is(.card-header,.card-footer) {background-color:#302535;border-color:#624856;color:#e8c798}
.halouine :is(.bg-light,.bg-white) {background-color:#282230!important;color:#e6d7ca!important}
.halouine .hl-form-note {background:#342733;color:#dec3ab;border:1px solid #77533f;border-radius:8px}
.halouine .pr-guide-list a {border-color:#604654;color:#f1ddc4}
.halouine .pr-guide-list a:hover {background:#352734;border-color:#aa764c}
.halouine .pr-guide-list :is(strong,span) {color:#eed0a4}
.halouine .pr-guide-list small {color:#c0b0bf}
.halouine :is(.wk-nav-item,.wk-toc-link):hover,.halouine :is(.wk-nav-item,.wk-toc-link).is-active {background:#48303a;color:#ffcf91;border-color:#976841}
.halouine :is(.wk-title,.wk-foot,.wk-nav-home,.wk-nav-cat,.wk-toc-title) {border-color:#604654}
.halouine .wk-toc-toggle {background:#302533;border-color:#785640;color:#edc08d}
.halouine .ph-article {color:#d4c5d1}
.halouine .ph-article :is(h1,h2,h3,h4) {color:#f2d9b7;border-color:#604654}
.halouine .ph-article :is(p,li) {color:#d4c5d1}
.halouine .ph-article strong {color:#f2d9b7}
.halouine .ph-article :is(blockquote,pre) {background:#1b1723;color:#deccb8;border-color:#c3844b}
.halouine :is(code,kbd) {color:#ffd399;background:#41303b}
.halouine .ph-article :is(th,td) {border-color:#624856;color:#d8c9d4}
.halouine .ph-article th {background:#3a2934;color:#f2cf9f}
.halouine .ph-article figcaption {color:#c6b4c4}
.halouine .cv-home .pinned-links b {color:#e1ac75}
.halouine :is(.table,.pr-record .table) {
  --bs-table-bg:transparent;--bs-table-color:#e1d1c1;--bs-table-border-color:#56404e;
  --bs-table-striped-bg:#342936;--bs-table-striped-color:#e5d3c2;
  --bs-table-hover-bg:#42303d;--bs-table-hover-color:#ffe1b6;
  --bs-table-active-bg:#42303d;--bs-table-active-color:#ffe1b6;
  color:#e1d1c1;border-color:#56404e;
}
.halouine :is(.pr-record thead,.ph-article thead) {background:#3b2934;color:#f6cb94}
.halouine .pr-record :is(th,td) {border-color:#59424b}
.halouine .pr-record th {color:#efcda4}
.halouine .pr-champion:first-child {background:linear-gradient(135deg,#46302e,#28212e);border-color:#ad7b48}
.halouine .pr-champion :is(h2,strong) {color:#ffe1af}
.halouine .pr-champion :is(p,small,span) {color:#cebbca}
.halouine .pr-medal {background:#5a3730;color:#ffd38b;border-color:#c38d54}
.halouine :is(.pr-ladder-note,.pr-record-head p,.pr-news-entry time,.ph-post-meta,.pr-gate-return) {color:#c5b2c2}
.halouine .page-link {background:#282130;border-color:#664956;color:#efbd81}
.halouine .page-link:hover {background:#42303d;color:#ffe1b6}
.halouine .page-item.active .page-link {background:#87522f;border-color:#c38b50;color:#fff0d7}
.halouine .page-item.disabled .page-link {background:#211d29;border-color:#493743;color:#9e8b9b}
.halouine .pr-install-steps>li {background:#25202d;border-color:#5e4550;color:#cbbdcb}
.halouine .pr-install-steps>li::before {background:#54332e;border-color:#bb8251;color:#ffda9c}
.halouine .pr-install-steps :is(h3,summary) {color:#ecd4b4}
.halouine .pr-platform :is(.pr-platform-icon,i) {color:#edb576}
.halouine .pr-vote-action {background:#332534;border-color:#815b43;color:#e9d5be}
.halouine .vt-bloc {background:#282130;border-color:#654a51;color:#decfca}
.halouine :is(.vt-intro,.vt-aide,.vt-note) {color:#ccbac8}
.halouine :is(.alert-info,.alert-warning,.alert-success) {background:#342932;border-color:#9c7049;color:#f0d5b5}

/* Older public templates and the self-contained Frigost guides have their
   own hard-coded parchment colours: override them without changing content. */
.halouine .pr-guide-list {background:#25212e;border-left-color:#ac774b;box-shadow:0 4px #100d19}
.halouine .pr-guide-list a:hover strong {color:#ffd695}
.halouine .pr-guide-category h2 i {color:#e6ab70}
.halouine .pr-subnav a {background:#29222f;border-color:#614750;box-shadow:0 3px #100d19}
.halouine .pr-record thead th {background:#3a2934;color:#f2cf9f}
.halouine .pr-record :is(.pr-player small,.pr-team small,.pr-team-more) {color:#c5b2c2}
.halouine .pr-team>summary>span::before {color:#efb576}
.halouine .pr-record-head {border-color:#5e4551}
.halouine .pr-install-steps :is(p,details) {color:#cdbbca}
.halouine .pr-install-steps details {background:#302633;border-color:#6d4d47}
.halouine .pr-install-steps details img {border-color:#7a5848}
.halouine :is(.pr-vote-action h2,.vt-bloc h2,.ph-h2) {color:#f3ddbf}
.halouine .vt-palier-etat {color:#c6b3c4}
.halouine .vt-palier-obtenu {border-color:#967451;box-shadow:0 0 12px #d89c3f16}
.halouine .vt-palier-actif {border-color:#edb96c;box-shadow:0 0 18px #f2b04d24}
.halouine .vt-palier-actif .vt-palier-etat {color:#f7ca8c}
.halouine .rn-gate-brand small {color:#c8adba}
.halouine .pr-wiki-tree>summary {color:#f0bd83}
.halouine :is(.wk-crumb,.wk-foot) span {color:#bbadbf}
.halouine .pr-news-feature :is(time,b) {color:#d4ad87}
.halouine .pr-news-feature:hover {color:#f4dfc2;border-color:#ac7950}
.halouine .pr-news-entry {padding:20px;border:1px solid #59424b;border-radius:12px}
.halouine .pr-article-layout .ph-article {background:#25212e;border-color:#614854;box-shadow:0 4px #110d19}
.halouine :is(.pr-article-layout,.wk-main) .ph-article :is(p,li) {color:#d4c5d1}
.halouine :is(.pr-article-layout,.wk-main) .ph-article :is(h2,h3,strong) {color:#f1d8b8}
.halouine :is(.pr-article-layout,.wk-main) .ph-article a {color:#efb97c}
.halouine .ph-post-hero {background:linear-gradient(120deg,#3d2b39,#211a2d);border-color:#8b6445}
.halouine .ph-post-signature {color:#bdaaBe}
.halouine .cv-home .notice-image {background-image:url('../img/halloween/astrub-halouine.webp')}
.halouine .frigost-guide {--fg-ink:#e4d2c1;--fg-paper:#292230}
.halouine .frigost-guide :is(.fg-panel,.fg-guide-card,.fg-boss,.fg-room,.fg-schematic) {background:#302735;border-color:#755344;color:#eddbc4}
.halouine .frigost-guide .fg-guide-card:hover {background:#44303b;border-color:#b18153}
.halouine .frigost-guide .fg-intro {background:linear-gradient(120deg,#44303c,#282031);border-color:#9b7049}
.halouine .frigost-guide .fg-nav a {background:#302532;border-color:#825c43;color:#f1d3ad}
.halouine .frigost-guide .fg-nav a:is(:hover,[aria-current="page"]) {background:#57372f;color:#ffdda7}
.halouine .frigost-guide :is(.fg-kicker,figcaption,.fg-note) {color:#c9b5c4;border-color:#795445}
.halouine .frigost-guide .fg-route b {color:#dca775}
.halouine .frigost-guide .fg-route span {background:#4c3036;color:#ffe3b3}
.halouine .frigost-guide .fg-danger {background:#483035;border-color:#df995c}
.halouine .frigost-guide code {background:#48333b;color:#ffd399}
.halouine .frigost-guide figure img {border-color:#795c50}

/* Seasonal scenery stays behind the content, with a clear central reading lane. */
body.halouine::before {
  position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:linear-gradient(90deg,#17151f90,#17151ff0 23%,#17151ff5 76%,#17151f90),url('../img/halloween/astrub-halouine.webp') center/cover;
}
.halouine .cv-home {
  background:linear-gradient(90deg,#17151fdc,#17151ff5 28%,#17151ff5 74%,#17151fdc),url('../img/halloween/astrub-halouine.webp') center 830px/auto 1150px repeat-y;
}
.halouine .cv-home .chapter {padding-top:48px;padding-bottom:36px}
.halouine .cv-home .paths {padding-top:16px;padding-bottom:52px}
.halouine .cv-home .section-heading {margin-bottom:34px}
.halouine .cv-home .village {
  padding-top:52px;padding-bottom:55px;
  background:linear-gradient(90deg,#231b2ad9,#281e30e8 50%,#211b2af0),url('../img/halloween/astrub-halouine.webp') center 60%/cover;
}
.halouine .cv-home .departure {
  display:grid;grid-template-columns:.9fr 1.8fr;align-items:center;gap:24px;
  margin-top:24px;margin-bottom:24px;padding:30px;text-align:left;
  background:linear-gradient(90deg,#211a2dd9,#17151fba),url('../img/halloween/astrub-halouine.webp') center 46%/cover;
  border:1px solid #79533c;border-radius:18px;box-shadow:inset 0 0 0 5px #ad754411;
}
.halouine .hl-departure-heading .eyebrow {margin-bottom:13px}
.halouine .cv-home .departure h2 {font-size:39px;line-height:1.12;margin-bottom:23px}
.halouine .cv-home .departure .button {min-width:0;padding:13px 19px;font-size:14px}
.halouine .cv-home .departure-route {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;margin:0}
.halouine .cv-home .departure-route a {
  position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:14px 10px 18px;min-width:0;min-height:195px;
  background:#201b29ed;border:1px solid #896242;border-radius:12px;
  box-shadow:0 3px 12px #08071050;transition:border-color .2s,background .2s;
}
.halouine .cv-home .departure-route a:hover {background:#372433;border-color:#dba266}
.halouine .cv-home .departure-route span {position:absolute;top:9px;left:9px;width:27px;height:27px;font-size:15px;border-width:1px;box-shadow:none;margin:0}
.halouine .cv-home .departure-route img {width:100px;height:95px;object-fit:contain;margin:0 0 10px;filter:drop-shadow(0 4px 4px #100b1955)}
.halouine .cv-home .departure-route .hl-step-logo {width:140px}
.halouine .cv-home .departure-route strong {font-size:18px;line-height:1.2;letter-spacing:-.03em}
.halouine .cv-home .departure-route small {font-size:10px;line-height:1.5;margin-top:6px}
.halouine .pr-gate-story {
  background:linear-gradient(120deg,#382335ed,#2a2032d9),url('../img/halloween/astrub-halouine.webp') 15% center/cover;
}
.halouine :is(.table-responsive,.ph-table-scroll) {
  background:
    linear-gradient(90deg,#25212e 35%,#25212e00) 0 0/32px 100% no-repeat local,
    linear-gradient(270deg,#25212e 35%,#25212e00) 100% 0/32px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%,#0008,transparent) 0 0/14px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%,#0008,transparent) 100% 0/14px 100% no-repeat scroll;
}

/* Four small vector bats. Only transforms animate; no loop, canvas or network. */
.halouine .hl-flight {position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.halouine .hl-bat {
  position:absolute;left:-110px;top:19%;width:70px;height:38px;fill:#120f21;
  opacity:.88;animation:hl-flight 23s linear infinite;
}
.halouine .hl-bat:nth-child(2) {top:34%;width:42px;height:24px;animation-duration:31s;animation-delay:-12s;opacity:.7}
.halouine .hl-bat:nth-child(3) {top:12%;width:52px;height:29px;animation-duration:27s;animation-delay:-19s}
.halouine .hl-bat:nth-child(4) {top:27%;width:34px;height:19px;animation-duration:36s;animation-delay:-28s;opacity:.6}
.halouine .hl-wing {transform-origin:60px 30px;animation:hl-flap .42s ease-in-out infinite alternate}
.halouine .hl-bat:nth-child(2n) .hl-wing {animation-duration:.31s}
.halouine .pr-masthead {isolation:isolate;overflow:hidden}
.halouine .pr-masthead-inner {position:relative;z-index:2}
.halouine .pr-masthead .hl-flight {z-index:0}
.halouine .pr-masthead .hl-bat {fill:#0d0b18;top:12%}
.halouine .pr-masthead .hl-bat:nth-child(2n) {top:42%}
.halouine .hl-banner-motion {
  position:absolute;right:20px;bottom:12px;z-index:4;border:1px solid #977045;
  border-radius:18px;padding:6px 10px;background:#1b1527d9;color:#e7caa4;
  font-size:10px;display:flex;gap:5px;align-items:center;cursor:pointer;
}
.halouine .hl-banner-motion[hidden] {display:none}
.halouine .pw-motion i {display:none}
.halouine .pw-motion::before {content:'Ⅱ';font:bold 11px/1 Arial,sans-serif}
.halouine .pw-motion[aria-pressed="true"]::before {content:'▶';font-size:9px}
.pw-paused .halouine :is(.hl-bat,.hl-wing) {animation-play-state:paused}
@keyframes hl-flap {from {transform:scaleY(.32)} to {transform:scaleY(1)}}
@keyframes hl-flight {
  0% {transform:translate(0,18px) rotate(8deg)}
  24% {transform:translate(27vw,-14px) rotate(-5deg)}
  52% {transform:translate(58vw,24px) rotate(7deg)}
  78% {transform:translate(86vw,-12px) rotate(-4deg)}
  100% {transform:translate(calc(100vw + 220px),8px) rotate(5deg)}
}

@media(min-width:1101px) and (max-width:1280px) {
  .halouine .cv-home .cover-center {padding-top:147px}
  .halouine .ph-nav-inner {grid-template-columns:140px minmax(0,1fr) auto;gap:12px;padding:10px 18px;min-height:82px}
  .halouine .ph-brand,.halouine .ph-brand img {width:140px}
  .halouine .ph-links {grid-column:2;grid-row:1;border:0;padding:0;flex-wrap:nowrap;gap:4px}
  .halouine .ph-links a {font-size:13px;padding:12px 6px;gap:5px}
  .halouine .ph-nav-actions {gap:8px}
  .halouine .ph-nav-actions .ph-btn {font-size:12px;padding:10px 12px}
  .halouine .cv-home .cover-cra {left:calc(50% - 570px);width:265px}
  .halouine .cv-home .hl-cover-xelor {left:calc(50% - 615px);width:285px}
  .halouine .cv-home .hl-cover-creatures {right:calc(50% - 625px);width:290px;height:220px}
}
@media(max-width:1100px) {
  .halouine .cv-home .departure {grid-template-columns:1fr;gap:22px;padding:24px}
  .halouine .hl-departure-heading {text-align:center}
  .halouine .cv-home .departure h2 {margin-bottom:18px}
  .halouine .cv-home .departure h2 br {display:none}
  .halouine .cv-home .cover-center {padding-top:175px}
  .halouine .cv-home .cover-cra {left:calc(50% - 500px);width:230px;bottom:35px}
  .halouine .cv-home .hl-cover-creatures {right:-20px;width:220px;height:170px;bottom:70px}
  .halouine .cv-home .hl-cover-xelor {left:-30px;width:240px;bottom:40px}
  .halouine .cv-home .welcome-paper {width:560px}
  .halouine .ph-links {border-color:#ba8e5340}
}
@media(min-width:701px) and (max-width:1000px) {
  .halouine .cv-home .hl-cover-xelor {left:7px;width:175px;height:310px;bottom:74px}
  .halouine .cv-home .hl-cover-creatures {right:7px;width:165px;height:125px;bottom:76px}
}
@media(max-width:700px) {
  .halouine .cv-home .chapter {padding-top:28px;padding-bottom:20px}
  .halouine .cv-home .paths {padding-top:8px;padding-bottom:30px}
  .halouine .cv-home .village {padding-top:35px;padding-bottom:35px}
  .halouine .cv-home .departure {margin-block:20px;padding:24px 15px}
  .halouine .cv-home .departure h2 {font-size:34px}
  .halouine .cv-home .departure-route {grid-template-columns:1fr;max-width:450px;margin-inline:auto;gap:9px}
  .halouine .cv-home .departure-route a {display:grid;grid-template-columns:72px 1fr;text-align:left;min-height:96px;gap:0 10px;padding:10px 14px}
  .halouine .cv-home .departure-route img {grid-column:1;grid-row:1/3;width:68px;height:70px;margin:0}
  .halouine .cv-home .departure-route .hl-step-logo {width:72px}
  .halouine .cv-home .departure-route strong {grid-column:2;align-self:end;font-size:20px}
  .halouine .cv-home .departure-route small {grid-column:2;align-self:start;font-size:11px}
  .halouine .cv-home .departure-route span {width:21px;height:21px;top:4px;left:4px;font-size:12px}
  .halouine .hl-bat {width:48px;height:28px}
  .halouine .hl-bat:nth-child(4) {display:none}
  .halouine .hl-banner-motion {right:10px;bottom:7px;font-size:9px}
  .halouine .pr-masthead .hl-masthead-creatures {bottom:28px}
  .halouine .cv-home .cover {height:840px}
  .halouine .cv-home .cover-art {background-position:66% center}
  .halouine .cv-home .cover-center {padding-top:180px}
  .halouine .cv-home .cover-logo {width:300px;max-width:82vw}
  .halouine .cv-home .cover-cra {display:none}
  .halouine .cv-home .hl-cover-creatures {width:145px;height:110px;right:10px;bottom:15px;z-index:7}
  .halouine .cv-home .village-title>.hl-village-creatures {width:115px;height:90px;right:-13px;bottom:5px;margin:0}
  .halouine .pr-masthead .hl-masthead-creatures {width:130px;height:98px;right:10px;bottom:8px;opacity:.9}
  .halouine .pr-masthead-inner>div {position:relative;z-index:2}
  .halouine .pr-masthead .pr-lead {max-width:calc(100% - 125px);min-width:140px;font-size:14px}
  .halouine .cv-home .welcome-paper {width:calc(100% - 28px);max-width:500px;padding:32px 22px 27px}
  .halouine .cv-home .welcome-paper h1 {font-size:clamp(28px,7.9vw,39px)}
  .halouine .cv-home .welcome-paper .eyebrow {font-size:8px;letter-spacing:.13em;line-height:1.6}
  .halouine .cv-home .welcome-text {font-size:13px;max-width:365px}
  .halouine .cv-home .platforms {font-size:9px}
  .halouine .cv-home .motion {bottom:59px;right:50%;transform:translateX(50%);white-space:nowrap}
  .halouine .cv-home .scroll-cue {bottom:110px;white-space:nowrap}
  .halouine .cv-home .village-title h2 {font-size:37px}
  .halouine .hl-season {font-size:10px;padding:7px 20px}
}
@media(max-width:360px) {
  .halouine .cv-home .cover-center {padding-top:167px}
  .halouine .cv-home .play {min-width:230px;padding-inline:16px}
}
@media(prefers-reduced-motion:reduce) {
  .halouine *, .halouine *::before,.halouine *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
