/* Self-hosted Google Fonts, SIL Open Font License 1.1 (latin + latin-ext subsets):
   Lilita One (c) 2011 Juan Montoreano, see /fonts/OFL-LilitaOne.txt
   Nunito (c) 2014 The Nunito Project Authors, see /fonts/OFL-Nunito.txt */
@font-face {
  font-family: 'Lilita One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/lilita-one-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lilita One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/lilita-one-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/nunito-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/nunito-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/nunito-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/nunito-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/nunito-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/nunito-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(../fonts/nunito-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(../fonts/nunito-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Layout: studio pages are clean "paper + ink + sheep red"; the game page switches into the game's own desert-sunset world. */
:root{
  --paper:#F6F4F3;      /* page ground, faint red bias */
  --card:#FFFFFF;
  --ink:#1C1718;        /* the sheep's head */
  --ink-soft:#5E5557;
  --line:#E4DEDD;
  --band:#ECE6E4;       /* alternate light section */
  --sheep:#E3001B;      /* logo red */
  --sheep-deep:#B30016;
  --dune:#F39A4A;       /* game: sunset sand */
  --sun:#FFD27A;
  --tomb:#2B1E16;       /* game: tomb dark */
  --tomb-2:#3A281C;     /* game: alternate dark section, cards on --tomb */
  --tomb-3:#4A3424;     /* game: cards on --tomb-2 */
  --parchment:#FFF3DC;  /* game caption fill */
  --caption:#3B2214;    /* game caption outline */
  --display:"Lilita One","Arial Black",system-ui,sans-serif;
  --body:"Nunito",ui-rounded,"Segoe UI",system-ui,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--paper)}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{text-wrap:balance;line-height:1.1;margin:0}
p{margin:0}
:focus-visible{outline:3px solid var(--sheep);outline-offset:3px;border-radius:6px}

/* ---------- preloader ---------- */
#loader{position:fixed;inset:0;z-index:100;background:var(--paper);display:grid;place-items:center;transition:transform .6s cubic-bezier(.7,0,.2,1)}
#loader.out{transform:translateY(-100%)}
#loader .hop{width:110px;animation:hop .55s cubic-bezier(.3,0,.4,1) infinite alternate}
#loader .shadow{width:70px;height:10px;margin:6px auto 0;border-radius:50%;background:var(--ink);opacity:.15;animation:shadow .55s cubic-bezier(.3,0,.4,1) infinite alternate}
#loader small{display:block;text-align:center;margin-top:14px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;font-size:11px;color:var(--ink-soft)}
@keyframes hop{from{transform:translateY(0) scale(1.06,.94)}to{transform:translateY(-34px) scale(.97,1.03)}}
@keyframes shadow{from{transform:scale(1);opacity:.18}to{transform:scale(.6);opacity:.08}}

/* ---------- header ---------- */
.top{color:var(--ink);position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;padding-block:10px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;font-size:18px;letter-spacing:-.01em}
.brand img{width:44px;transition:transform .3s}
.brand:hover img{transform:rotate(-8deg) translateY(-3px)}
.nav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}
.nav a{text-decoration:none;font-weight:800;font-size:15px;padding:8px 12px;border-radius:999px}
.nav a:hover{background:var(--line)}
.nav a.on{background:var(--ink);color:var(--paper)}
@media (max-width:620px){.brand span{display:none}.nav a{padding:7px 10px;font-size:14px}}

/* ---------- studio home ---------- */
.hello{padding-block:72px 56px}
.hello .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.eyebrow{font-weight:800;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--sheep)}
.hello h1{font-family:var(--body);font-weight:900;font-size:clamp(44px,7vw,84px);letter-spacing:-.03em;margin-top:10px}
.hello h1 em{font-style:normal;color:var(--sheep)}
.hello p{margin-top:18px;font-size:19px;color:var(--ink-soft);max-width:34ch}
.field{position:relative;aspect-ratio:1/1;max-width:100%}
.field .sheep{position:absolute;width:62%;left:19%;top:16%;animation:graze 6s ease-in-out infinite}
.field .grass{position:absolute;left:0;right:0;bottom:12%;height:3px;background:var(--ink);border-radius:3px;opacity:.85}
.field .sun{position:absolute;width:26%;aspect-ratio:1;border-radius:50%;background:var(--sheep);right:4%;top:2%;opacity:.12}
@keyframes graze{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14%) rotate(-4deg)}55%{transform:translateY(0) rotate(0)}60%{transform:translateY(-7%) rotate(2deg)}65%{transform:translateY(0)}}
@media (max-width:760px){.hello .wrap{grid-template-columns:1fr}.field{max-width:300px;margin:0 auto}.hello{padding-block:40px 24px}}

.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.section-head h2{font-family:var(--body);font-weight:900;font-size:clamp(28px,4vw,40px);letter-spacing:-.02em}

/* featured game band */
.feature{padding-block:64px 72px;background:var(--band)}
.ic-card{position:relative;display:grid;grid-template-columns:1.25fr 1fr;border-radius:22px;overflow:hidden;background:var(--tomb);color:var(--parchment);text-decoration:none;box-shadow:0 30px 60px -30px rgba(43,30,22,.6)}
.ic-card .art{position:relative;min-height:320px;overflow:hidden}
.ic-card .art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.ic-card:hover .art img{transform:scale(1.04)}
.ic-card .copy{padding:36px 34px;display:flex;flex-direction:column;gap:14px;justify-content:center;background:linear-gradient(160deg,var(--tomb-2),var(--tomb))}
.ic-card .copy .eyebrow{color:var(--sun)}
.ic-card h3{font-family:var(--display);font-weight:400;font-size:clamp(34px,4.4vw,48px);letter-spacing:.01em;line-height:1}
.ic-card p{color:color-mix(in srgb,var(--parchment) 82%,transparent)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-weight:800;font-size:13px;padding:5px 11px;border-radius:999px;background:color-mix(in srgb,var(--parchment) 12%,transparent);border:1px solid color-mix(in srgb,var(--parchment) 22%,transparent)}
.cta{display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:16px;padding:12px 20px;border-radius:12px;text-decoration:none;border:0;cursor:pointer;font-family:var(--body);transition:transform .15s, box-shadow .15s}
.cta:hover{transform:translateY(-2px)}
.cta.sand{background:var(--sun);color:var(--caption);box-shadow:0 4px 0 #C98A2E}
.cta.sand:active{transform:translateY(2px);box-shadow:0 1px 0 #C98A2E}
.cta.ghost{background:transparent;color:inherit;border:2px solid currentColor}
.cta.soon{opacity:.85;cursor:default}
.cta.soon:hover{transform:none}
@media (max-width:760px){.ic-card{grid-template-columns:1fr}.ic-card .art{min-height:0;aspect-ratio:16/9}.ic-card .copy{padding:24px 20px}}

/* about + past */
.about{padding-block:64px}
.about .wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:48px}
.about .lead{font-size:22px;font-weight:600;line-height:1.5}
.about .facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.fact b{display:block;font-weight:900;font-size:22px}
.fact span{font-size:14px;color:var(--ink-soft)}
@media (max-width:760px){.about .wrap{grid-template-columns:1fr;gap:20px}.about .facts{grid-template-columns:1fr 1fr}}

.past{padding-block:64px;background:var(--band)}
.past-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.past-item{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:start;padding:18px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.past-item img{width:96px;height:96px;border-radius:14px;object-fit:cover;background:var(--paper)}
.past-item h3{font-family:var(--body);font-weight:900;font-size:21px}
.past-item .meta{font-size:13px;font-weight:800;color:var(--ink-soft);margin-top:2px;letter-spacing:.02em}
.past-item p{margin-top:8px;font-size:15px;color:var(--ink-soft)}
.status{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:var(--paper);border:1px solid var(--line);margin-top:10px}
@media (max-width:760px){.past-grid{grid-template-columns:1fr}.past-item{grid-template-columns:72px 1fr}.past-item img{width:72px;height:72px}}

.contact{padding-block:72px;background:var(--ink);color:var(--paper)}
.contact .wrap{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.contact h2{font-family:var(--body);font-weight:900;font-size:clamp(28px,4vw,42px);letter-spacing:-.02em}
.contact p{margin-top:8px;color:color-mix(in srgb,var(--paper) 70%,transparent);max-width:46ch}
.mail{display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--paper) 10%,transparent);border:1px solid color-mix(in srgb,var(--paper) 22%,transparent);border-radius:14px;padding:8px 8px 8px 18px;min-width:0}
.mail a{font-weight:900;font-size:clamp(17px,2.4vw,22px);text-decoration:none;overflow-wrap:anywhere}
.mail button{font:800 14px var(--body);background:var(--sheep);color:#fff;border:0;border-radius:10px;padding:10px 14px;cursor:pointer}

footer{padding-block:28px;font-size:14px;color:var(--ink-soft)}
footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
footer a{font-weight:800}

/* ---------- game page ---------- */
.ic{background:var(--tomb);color:var(--parchment)}
.ic-hero{position:relative;overflow:hidden;isolation:isolate}
.ic-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%;z-index:-2;transform:scale(1.06);animation:settle 1.6s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes settle{to{transform:scale(1)}}
.ic-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(43,30,22,0) 30%,rgba(43,30,22,.55) 62%,var(--tomb) 100%)}
.ic-hero .wrap{padding-block:clamp(180px,30vw,340px) 48px}
.ic-title{font-family:var(--display);font-weight:400;font-size:clamp(48px,9vw,104px);line-height:.92;letter-spacing:.01em;color:var(--parchment);
  -webkit-text-stroke:2px var(--caption);paint-order:stroke fill;text-shadow:0 5px 0 var(--caption),0 12px 30px rgba(0,0,0,.35)}
.ic-tag{font-family:var(--display);font-size:clamp(24px,3.4vw,36px);color:var(--sun);-webkit-text-stroke:1px var(--caption);paint-order:stroke fill;text-shadow:0 3px 0 var(--caption);margin-top:10px}
.ic-sub{margin-top:16px;font-size:clamp(17px,2vw,20px);font-weight:600;max-width:52ch;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.ic-date{display:inline-block;margin-top:18px;padding:8px 14px;border-radius:12px;background:rgba(43,30,22,.78);border:1px solid color-mix(in srgb,var(--sun) 50%,transparent);font-weight:700;color:var(--parchment)}
.ic-date b{color:var(--sun);font-weight:900}
.ic-date .when{white-space:nowrap}
.ic-hero .row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.ic .chips{margin-top:20px}

.ic-sec{padding-block:64px}
/* Sections alternate tomb / tomb-2 automatically (hero is the 1st <section>, so the trailer stays on tomb). */
.ic-sec:nth-of-type(odd){background:var(--tomb-2)}
.ic-sec:nth-of-type(odd) :is(.pillar,.boss,.hero-row,.likes span,.faq details,.help .log){background:var(--tomb-3)}
.ic h2{font-family:var(--display);font-weight:400;font-size:clamp(30px,4.4vw,46px);letter-spacing:.01em;color:var(--sun)}
.ic .prose{max-width:66ch;margin-top:16px;display:grid;gap:14px;color:color-mix(in srgb,var(--parchment) 86%,transparent);font-size:18px}
.ic .prose strong{color:var(--parchment)}

.trailer{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16/9;max-width:100%;background:#000;cursor:pointer;margin-top:28px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.trailer img{width:100%;height:100%;object-fit:cover;transition:filter .3s}
.trailer:hover img{filter:brightness(.85)}
.trailer .play{position:absolute;inset:0;margin:auto;width:92px;height:92px;border-radius:50%;background:var(--sun);border:0;box-shadow:0 6px 0 #C98A2E;display:grid;place-items:center;cursor:pointer;transition:transform .2s}
.trailer:hover .play{transform:scale(1.08)}
.trailer .play::before{content:"";margin-left:8px;border-left:30px solid var(--caption);border-top:19px solid transparent;border-bottom:19px solid transparent}
.trailer .note{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(0,0,0,.72);border-radius:10px;padding:10px 14px;font-size:14px}

.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.pillar{padding:22px;border-radius:16px;background:var(--tomb-2);border:1px solid color-mix(in srgb,var(--parchment) 10%,transparent)}
.pillar h3{font-family:var(--body);font-weight:900;font-size:19px;color:var(--parchment)}
.pillar p{margin-top:8px;font-size:15px;color:color-mix(in srgb,var(--parchment) 75%,transparent)}
@media (max-width:900px){.pillars{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pillars{grid-template-columns:1fr}}

.classes{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center;margin-top:28px}
.classes img{border-radius:18px}
.roster{display:grid;gap:10px}
.hero-row{display:grid;grid-template-columns:14px 1fr;gap:14px;align-items:start;padding:14px 16px;border-radius:14px;background:var(--tomb-2)}
.hero-row i{width:14px;height:14px;border-radius:4px;margin-top:5px}
.hero-row b{font-weight:900;font-size:18px}
.hero-row span{display:block;font-size:15px;color:color-mix(in srgb,var(--parchment) 75%,transparent)}
@media (max-width:820px){.classes{grid-template-columns:1fr}}

.bosses{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.boss{border-radius:16px;overflow:hidden;background:var(--tomb-2);display:flex;flex-direction:column}
.boss .shot{aspect-ratio:4/3;overflow:hidden}
.boss .shot img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.boss:hover .shot img{transform:scale(1.05)}
.boss .txt{padding:16px 18px 20px}
.boss .n{font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--dune)}
.boss h3{font-family:var(--display);font-weight:400;font-size:26px;color:var(--parchment);margin-top:4px}
.boss p{margin-top:6px;font-size:15px;color:color-mix(in srgb,var(--parchment) 75%,transparent)}
@media (max-width:820px){.bosses{grid-template-columns:1fr}.boss{display:grid;grid-template-columns:40% 1fr}.boss .shot{aspect-ratio:auto;height:100%}}
@media (max-width:480px){.boss{display:flex}.boss .shot{aspect-ratio:16/9}}

.likes{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.likes span{font-weight:800;padding:9px 14px;border-radius:12px;background:var(--tomb-2);border:1px solid color-mix(in srgb,var(--parchment) 12%,transparent)}

.faq{margin-top:24px;display:grid;gap:10px;max-width:820px}
.faq details{background:var(--tomb-2);border-radius:14px;padding:4px 18px}
.faq summary{cursor:pointer;font-weight:900;font-size:18px;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"+";font-family:var(--display);color:var(--sun);font-size:24px;line-height:1;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 16px;color:color-mix(in srgb,var(--parchment) 82%,transparent)}

/* Slim Discord strip (its own short section, so it takes part in the tomb / tomb-2 rotation) */
.ic-sec.ic-strip{padding-block:28px}
.discord-strip{display:flex;align-items:center;gap:16px;max-width:820px;padding:12px 14px 12px 12px;border-radius:16px;text-decoration:none;background:var(--tomb-2);border:1px solid color-mix(in srgb,var(--parchment) 12%,transparent);transition:border-color .2s}
.ic-sec:nth-of-type(odd) .discord-strip{background:var(--tomb-3)}
.discord-strip:hover{border-color:#5865F2}
.discord-strip img{width:48px;height:48px;border-radius:14px;flex:none}
.discord-strip .t{flex:1;min-width:0;display:grid}
.discord-strip b{font-weight:900;font-size:17px;color:var(--parchment)}
.discord-strip .t span{font-size:15px;color:color-mix(in srgb,var(--parchment) 72%,transparent)}
.discord-strip .cta{padding:9px 16px;font-size:15px;flex:none}
.discord-strip:hover .cta{transform:translateY(-2px)}
@media (max-width:520px){.discord-strip{flex-wrap:wrap}.discord-strip .t{flex-basis:calc(100% - 64px)}.discord-strip .cta{width:100%;justify-content:center}}

/* "Found a bug?" support block */
.help{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;margin-top:24px;align-items:stretch}
.help > div{min-width:0}
.help .lead{font-size:18px;color:color-mix(in srgb,var(--parchment) 86%,transparent);max-width:46ch}
.help .row{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;align-items:center}
.cta.discord{background:#5865F2;color:#fff;box-shadow:0 4px 0 #3B45B8}
.cta.discord:active{transform:translateY(2px);box-shadow:0 1px 0 #3B45B8}
.mail-inline{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:800;overflow-wrap:anywhere}
.mini{font:800 13px var(--body);background:color-mix(in srgb,var(--parchment) 12%,transparent);color:var(--parchment);border:1px solid color-mix(in srgb,var(--parchment) 25%,transparent);border-radius:8px;padding:5px 10px;cursor:pointer}
.help .small{margin-top:14px;font-size:14px;color:color-mix(in srgb,var(--parchment) 62%,transparent)}
.help .small a{font-weight:800}
.help .log{padding:20px 22px;border-radius:16px;background:var(--tomb-2);border:1px solid color-mix(in srgb,var(--parchment) 10%,transparent)}
.help .log h3{font-family:var(--body);font-weight:900;font-size:18px;color:var(--parchment)}
.help .log p{margin-top:6px;font-size:15px;color:color-mix(in srgb,var(--parchment) 78%,transparent)}
.help kbd{font:800 13px var(--body);background:var(--tomb);border:1px solid color-mix(in srgb,var(--parchment) 25%,transparent);border-bottom-width:3px;border-radius:6px;padding:1px 7px}
.help .path{margin-top:10px;display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
.help .path code{flex:1 1 240px;min-width:0;font:600 13.5px/1.5 ui-monospace,Consolas,monospace;background:var(--tomb);border-radius:10px;padding:9px 12px;overflow-wrap:anywhere;color:var(--sun)}
@media (max-width:820px){.help{grid-template-columns:1fr}}

.ic footer{color:color-mix(in srgb,var(--parchment) 60%,transparent)}

/* ---------- privacy ---------- */
.legal{padding-block:56px 72px}
.legal .wrap{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px}
.toc{position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px);align-self:start;display:grid;gap:4px;font-size:14px}
.toc a{text-decoration:none;font-weight:700;color:var(--ink-soft);padding:5px 10px;border-radius:8px}
.toc a:hover{background:var(--line);color:var(--ink)}
.doc{max-width:68ch}
.doc h1{font-family:var(--body);font-weight:900;font-size:clamp(36px,5vw,52px);letter-spacing:-.02em}
.doc .updated{margin-top:8px;color:var(--ink-soft);font-weight:700;font-size:14px}
.doc h2{font-family:var(--body);font-weight:900;font-size:24px;margin-top:44px;scroll-margin-top:90px}
.doc h3{font-family:var(--body);font-weight:900;font-size:18px;margin-top:22px}
.doc p,.doc ul{margin-top:12px}
.doc ul{padding-left:22px;display:grid;gap:6px}
.doc .tldr{margin-top:28px;padding:20px 22px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.doc .tldr ul{margin-top:8px}
.doc .tldr b{color:var(--sheep)}
.doc table{border-collapse:collapse;width:100%;margin-top:14px;font-size:15px}
.doc td,.doc th{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
.doc th{font-weight:900;width:34%}
.tablewrap{overflow-x:auto}
@media (max-width:820px){.legal .wrap{grid-template-columns:1fr;gap:16px}.toc{position:static;display:flex;flex-wrap:wrap}}

/* ---------- reveal (visible at rest; only enhances) ---------- */
.js .rv{opacity:.001;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .rv{opacity:1;transform:none}
  #loader{display:none}
}

/* ---------- site additions (not in the mockup) ---------- */
.trailer video{width:100%;height:100%;object-fit:cover;display:block;background:#000}
.trailer.playing{cursor:default}
.trailer.playing .play,.trailer.playing img{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-60px;z-index:200;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:10px;font-weight:800;text-decoration:none}
.skip:focus{top:calc(env(safe-area-inset-top,0px) + 10px)}
.notfound{padding-block:96px;text-align:center}
.notfound img{width:160px;margin:0 auto 24px}
.notfound h1{font-family:var(--body);font-weight:900;font-size:clamp(36px,6vw,56px);letter-spacing:-.02em}
.notfound p{margin-top:12px;color:var(--ink-soft)}
.notfound .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.cta.ink{background:var(--ink);color:var(--paper)}
/* The preloader only exists for JS visitors on their first page view of the session */
html:not(.js-on) #loader{display:none}
