@import url('https://fonts.googleapis.com/css2?family=Almendra+Display&family=Pixelify+Sans:wght@400;500;600;700&family=Silkscreen:wght@400;700&display=swap');
:root{--ink:#0b1011;--ink-deep:#070a0b;--paper:#eee9d9;--gold:#e8c673;--muted:#abb1a6;--rule:#343b35;--heading:'Silkscreen',monospace;--sans:'Pixelify Sans',Arial,sans-serif;--label:var(--sans);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:6px}::selection{background:var(--gold);color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;left:1rem;top:-5rem;z-index:20;padding:12px 20px;background:var(--gold);color:var(--ink)}.skip:focus{top:1rem}.header{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff19;position:absolute;top:0;left:0;right:0;z-index:5}.wordmark{display:flex;align-items:center;gap:13px;font-family:var(--label);font-size:19px;letter-spacing:.13em;font-weight:600}.wordmark svg{width:29px;height:25px}.header nav{display:flex;align-items:center;gap:38px;font-size:14px}.header nav a{transition:color .2s}.header nav a:hover{color:var(--gold)}.nav-itch{border-left:1px solid #ffffff35;padding-left:35px}.nav-itch span{color:var(--gold);margin-left:12px}.hero{min-height:900px;min-height:100svh;position:relative;overflow:hidden;padding:120px 5vw 35px;display:flex;flex-direction:column;background:#0c1213}.hero-art{position:absolute;right:-3%;top:0;width:61%;height:100%;overflow:hidden;opacity:.77;pointer-events:none}.hero-art>img{height:100%;width:100%;max-width:none;object-fit:cover;object-position:100% 50%;filter:saturate(.7) brightness(.66);transform:scale(1.015)}.art-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c1213 0%,#0c1213c9 8%,transparent 43%),linear-gradient(0deg,#0c1213 0%,transparent 35%,#0c12132b 75%,#0c121380)}.hero-topline{position:relative;display:flex;justify-content:space-between;font:14px var(--label);text-transform:uppercase;letter-spacing:.16em;color:#c1c5b7}.hero-topline span:last-child{font-size:13px}.hero-content{position:relative;width:min(590px,52%);margin:auto 0;padding:30px 0 48px}h1{margin:0}.logo{width:520px;width:min(100%,520px);height:auto;margin:0 0 25px}.hero-line{font:500 clamp(27px,2.8vw,43px)/1.17 var(--sans);margin:0 0 34px}.hero-line em{color:var(--gold);font-weight:400}.button{min-height:56px;padding:15px 24px;background:var(--gold);color:var(--ink);display:inline-flex;align-items:center;gap:44px;font-weight:600;font-size:14px;transition:background .2s,transform .2s;position:relative}.button:hover{background:#f5daa0;transform:translateY(-3px)}.button span:last-child{font-size:21px;line-height:1}.hero-note{font-size:13px;color:var(--muted);margin:17px 0 0}.hero-bottom{position:relative;display:flex;justify-content:space-between;align-items:center}.descend{display:flex;align-items:center;gap:15px;font:14px var(--label);letter-spacing:.1em;text-transform:uppercase}.line{height:42px;width:1px;background:var(--gold)}.small-caps{font:14px var(--label);letter-spacing:.16em;text-transform:uppercase}.hero-bottom>.small-caps{color:#d8cdaf}.section{padding:100px 8vw}.chapter{display:flex;align-items:center;gap:26px;color:var(--muted);font:14px var(--label);letter-spacing:.13em;text-transform:uppercase}.chapter>span:first-child{color:var(--gold)}.chapter-rule{height:1px;background:var(--rule);flex:1}.story{position:relative;background:var(--ink-deep);padding-bottom:0}.story-intro{display:grid;grid-template-columns:1fr 3fr;gap:30px;margin-top:88px}.margin-note{font:italic 23px/1.35 var(--sans);color:var(--muted);margin-top:15px}h2{font:400 clamp(45px,5.6vw,84px)/1.03 var(--sans);letter-spacing:-.025em;margin:0}h2 em{font-weight:400;color:var(--gold)}.lead{font:400 24px/1.5 var(--sans);margin-top:35px;max-width:630px}.story-body{margin:38px 0 88px 26%;display:grid;grid-template-columns:1fr 1fr;column-gap:65px;max-width:870px;color:var(--muted)}.story-body p{margin:0 0 26px}.story-body .story-last{grid-column:1/-1;color:var(--paper);margin-top:15px;font:italic 27px/1.35 var(--sans)}.memory-strip{border-top:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;padding:27px 0;font:13px var(--label);letter-spacing:.27em;color:#b5ad92}.memory-strip i{height:4px;width:4px;background:var(--gold);transform:rotate(45deg)}.gameplay{background:#111a1a}.gameplay-heading{display:flex;gap:45px;align-items:end;justify-content:space-between;margin:75px 0 55px}.gameplay-heading>p{color:var(--muted);font-size:15px;max-width:290px}.battle-frame{margin:0}.image-button{position:relative;display:block;border:0;padding:0;background:var(--ink);cursor:zoom-in;width:100%;text-align:left;color:var(--paper)}.image-button>img{width:100%;height:auto}.battle-frame .image-button{border:1px solid #575743;padding:8px}.enlarge{position:absolute;bottom:24px;right:24px;background:#090e10e8;padding:8px 13px;font-size:13px;border:1px solid #eeeecc44;opacity:0;transition:opacity .2s}.image-button:hover .enlarge,.image-button:focus-visible .enlarge{opacity:1}figcaption{display:flex;justify-content:space-between;gap:12px;font:13px/1.6 var(--label);letter-spacing:.11em;color:var(--muted);padding:14px 0;text-transform:uppercase}.mechanics{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin:62px 0 95px}.mechanics article{position:relative;border-top:1px solid #4e5444;padding-top:26px}.mechanic-number{font:italic 23px var(--sans);color:var(--gold)}h3{font:500 31px/1.1 var(--sans);margin:20px 0 18px}.mechanics p{font-size:15px;line-height:1.85;color:var(--muted);margin:0}.loadout{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:70px}.loadout figure{margin:0;transform:rotate(-2deg)}.loadout .image-button{border:1px solid #4b5749;padding:6px;box-shadow:15px 15px 0 #070a0b55}.loadout-copy>.small-caps{color:var(--muted)}.loadout-copy p{font:400 clamp(33px,4.2vw,60px)/1.08 var(--sans);margin:24px 0}.loadout-copy em{color:var(--gold)}.bond{background:#090d0e;position:relative}.bond-content{text-align:center;padding:90px 0 45px;max-width:950px;margin:auto}.bond-content>.small-caps{color:var(--muted)}.bond h2{font-size:clamp(41px,4.8vw,70px);margin:34px 0}.bond-content>p{max-width:510px;margin:0 auto;color:var(--muted);font-size:17px}.bond-content .bond-question{font:italic 30px/1.3 var(--sans);color:var(--paper);margin-top:58px}.follow{text-align:center;border-top:1px solid var(--rule);background:radial-gradient(ellipse at 50% 105%,#38402b55,transparent 65%),#101516;position:relative;padding-top:100px;padding-bottom:105px}.follow>.small-caps{color:var(--gold)}.follow h2{margin:28px 0}.follow>p{color:var(--muted);margin-bottom:35px}.release-note{display:block;font-size:13px;color:var(--muted);margin-top:20px}footer{padding:42px 5vw;display:flex;align-items:center;justify-content:space-between;gap:32px;background:#070a0b;border-top:1px solid var(--rule)}.footer-name{font:600 23px/1.2 var(--label);letter-spacing:.15em}.footer-name span{display:block;font-size:12px;letter-spacing:.12em;color:var(--gold);margin-top:6px}.socials{display:flex;gap:28px;font-size:14px}.socials a:hover{text-decoration:underline;text-underline-offset:5px}.copyright{font-size:12px;color:var(--muted)}dialog{padding:50px 18px 15px;border:1px solid var(--rule);background:var(--ink);color:var(--paper);max-width:min(1100px,94vw);max-height:94svh}dialog::backdrop{background:#030709ed;backdrop-filter:blur(8px)}dialog img{max-height:75svh;width:auto;margin:auto;object-fit:contain}dialog p{text-align:center;font-size:14px;margin:15px 0 0}.close-viewer{position:absolute;right:18px;top:10px;color:var(--paper);background:transparent;border:0;cursor:pointer;padding:4px 8px}.close-viewer:hover{color:var(--gold)}
@media(min-width:1700px){.hero{min-height:1000px}.hero-content{margin-left:4vw}.section{padding-left:max(8vw,calc((100vw - 1400px)/2));padding-right:max(8vw,calc((100vw - 1400px)/2))}}
@media(max-width:900px){.header{padding:0 5vw}.header nav{gap:23px}.nav-itch{padding-left:22px}.hero{min-height:800px}.hero-content{width:57%}.hero-art{width:66%;right:-13%}.hero-topline{gap:20px}.section{padding:75px 6vw}.story{padding-bottom:0}.story-intro{grid-template-columns:1fr 3fr;gap:24px;margin-top:60px}.story-body{column-gap:35px;margin-left:26%}.gameplay-heading{align-items:start;flex-direction:column;gap:20px}.gameplay-heading>p{max-width:none}.mechanics{gap:25px}.loadout{gap:36px}.loadout-copy p{font-size:40px}.bond-content{padding-top:65px}footer{flex-wrap:wrap}.copyright{width:100%}}
@media(max-width:600px){html{scroll-padding-top:24px}.header{height:74px}.wordmark{font-size:16px;gap:8px}.wordmark svg{width:24px}.header nav{gap:0}.header nav a:not(.nav-itch){display:none}.nav-itch{padding-left:16px;font-size:13px}.nav-itch span{margin-left:5px}.hero{padding:96px 6vw 26px;min-height:870px;min-height:max(820px,100svh)}.hero-topline{flex-direction:column;gap:9px;font-size:13px}.hero-topline span:last-child{font-size:12px}.hero-art{width:100%;height:64%;top:0;right:-30%;opacity:.55}.hero-art>img{object-position:98% 50%;filter:brightness(.65) saturate(.6)}.art-shade{background:linear-gradient(90deg,#0c1213 0%,transparent 60%),linear-gradient(0deg,#0c1213 0%,#0c121340 60%,#0c1213a0 100%)}.hero-content{width:100%;padding:60px 0 48px;margin:auto 0 0}.logo{width:90%;max-width:360px;margin:0 0 34px}.hero-line{font-size:33px}.hero-note{font-size:12px;max-width:270px}.hero-bottom>.small-caps{display:none}.hero-bottom{margin-top:20px}.line{height:25px}.section{padding:65px 6vw}.chapter{font-size:12px;gap:14px;letter-spacing:.08em}.chapter>span:last-child{max-width:115px;text-align:right}.story{padding-bottom:0}.story-intro{display:block;margin-top:50px}.margin-note{font-size:19px;margin:0 0 30px}.margin-note br{display:none}h2{font-size:46px}.lead{font-size:22px;margin-top:27px}.story-body{display:block;margin:32px 0 55px}.story-body p{margin-bottom:24px}.story-body .story-last{font-size:26px;margin-top:36px}.memory-strip{font-size:11px;letter-spacing:.12em;gap:12px}.memory-strip i{width:3px;height:3px;flex-shrink:0}.gameplay-heading{margin:50px 0 30px}.gameplay-heading>p{margin:0;font-size:15px}.battle-frame .image-button{padding:4px}figcaption{font-size:11px;letter-spacing:.06em;flex-wrap:wrap;gap:2px}.mechanics{display:block;margin:40px 0 55px}.mechanics article{margin-top:32px;display:grid;grid-template-columns:25px 1fr;gap:10px 18px;padding-top:22px}.mechanic-number{grid-row:1/3;margin-top:3px}h3{margin:0;font-size:29px}.mechanics p{grid-column:2}.loadout{display:flex;flex-direction:column;gap:28px;align-items:stretch}.loadout figure{margin:0 4px}.loadout-copy{padding-top:15px}.loadout-copy p{font-size:40px}.bond-content{padding:50px 0 10px}.bond h2{font-size:40px;line-height:1.1}.bond-content>p{font-size:16px}.bond-content .bond-question{font-size:27px;margin-top:40px}.follow h2{font-size:58px}.follow>p{font-size:15px}.enlarge{opacity:1;bottom:12px;right:12px;font-size:11px;padding:5px 8px}footer{padding:35px 6vw;gap:28px}.socials{gap:24px;font-size:13px}.footer-name{width:100%}.copyright{margin-top:0}.button{gap:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* A quiet companion in the page margin, animated from the game's own pixel sprites. */
.companion{position:fixed;z-index:8;right:12px;top:18vh;width:64px;height:64px;pointer-events:none;opacity:.86;transition:top .18s linear,opacity .2s ease;filter:drop-shadow(0 5px 3px #030709b8)}
.companion[data-state="down"],.companion[data-state="up"]{opacity:1}
.cat-sprite{width:32px;height:32px;background:url('/assets/cat-idle.png') 0 0 no-repeat;image-rendering:pixelated;transform:scale(2);transform-origin:top left;animation:cat-idle .9s steps(7) infinite}
.companion[data-state="down"] .cat-sprite{background-image:url('/assets/cat-run-south.png');animation:cat-run .4s steps(4) infinite}
.companion[data-state="up"] .cat-sprite{background-image:url('/assets/cat-run-north.png');animation:cat-run .4s steps(4) infinite}
@keyframes cat-idle{to{background-position:-224px 0}}
@keyframes cat-run{to{background-position:-128px 0}}
body:has(dialog[open]) .companion{opacity:0}
@media(max-width:600px){.companion{width:48px;height:48px;right:3px;opacity:.74}.cat-sprite{transform:scale(1.5)}}
@media(prefers-reduced-motion:reduce){.companion{transition:none}.cat-sprite,.companion[data-state="down"] .cat-sprite,.companion[data-state="up"] .cat-sprite{animation:none;background-image:url('/assets/cat-idle.png')}}

/* Keep the game navigation in view while the reader moves between chapters. */
.header{position:fixed;z-index:10;background:rgba(11,16,17,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.brand-eye{width:48px;height:48px;object-fit:contain;flex:none}
.header nav{gap:clamp(15px,2.3vw,38px)}
.nav-itch{padding-left:clamp(16px,2vw,35px)}
@media(max-width:600px){
  html{scroll-padding-top:116px}
  .header{height:112px;display:flex;flex-direction:column;align-items:stretch;padding:7px 6vw 0}
  .wordmark{height:48px;gap:4px}
  .brand-eye{width:42px;height:42px}
  .header nav{height:49px;display:flex;justify-content:space-between;align-items:center;gap:8px;white-space:nowrap}
  .header nav a:not(.nav-itch){display:inline;font-size:13px}
  .header .nav-itch{border-left:1px solid #ffffff35;padding-left:9px;font-size:13px}
  .header .nav-itch .desktop-label{display:none}
  .hero{padding-top:138px}
}

/* A soft fade keeps the fixed navigation legible without a visible bar. */
.header{background:linear-gradient(to bottom,rgba(7,10,11,.68),rgba(7,10,11,.32) 57%,transparent);border-bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.header nav a,.wordmark{text-shadow:0 1px 8px #060909e6}
/* Ornate ink with restrained dark-red flecks in the chapter markers. */
.mechanic-number{position:relative;display:inline-block;font:400 43px/1 'Almendra Display',Georgia,serif;color:#cbb9a2;text-shadow:1px 2px 0 #491b1a,-1px 0 0 #823c36}
.mechanic-number::after{content:"";position:absolute;left:62%;top:54%;width:29px;height:31px;pointer-events:none;background:radial-gradient(ellipse at 19% 22%,#a43d35 0 3px,transparent 3.8px),radial-gradient(circle at 73% 52%,#92332e 0 1.8px,transparent 2.6px),radial-gradient(circle at 43% 83%,#7c2b29 0 1px,transparent 1.8px);transform:rotate(-15deg)}
footer{flex-wrap:wrap}
.footer-credit{width:100%;border-top:1px solid var(--rule);padding-top:16px;text-align:center;font-size:13px;color:var(--muted)}
.footer-credit a{color:var(--paper);text-decoration:underline;text-decoration-color:#e8c67388;text-underline-offset:4px}
.footer-credit a:hover{color:var(--gold)}
@media(max-width:600px){.mechanics article{grid-template-columns:45px 1fr}.mechanic-number{font-size:37px}}
.footer-legal{width:100%;display:flex;justify-content:center;gap:26px;font-size:14px}
.footer-legal a[aria-disabled="true"]{color:var(--muted);opacity:.75;pointer-events:none;cursor:default}
@media(max-width:600px){
  .footer-legal{justify-content:flex-start;gap:22px}
  .header{background:rgba(11,16,17,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
}

/* Pixel typography: preserve the independent Almendra numeral styling. */
h1,h2,h3,.hero-line,.loadout-copy p,.wordmark,.footer-name{font-family:var(--heading);font-weight:400;letter-spacing:0;line-height:1.35}
h2,.bond h2,.follow h2{font-size:clamp(28px,3.1vw,48px)}
h3{font-size:clamp(18px,1.65vw,24px);line-height:1.45}
.hero-line{font-size:clamp(20px,1.7vw,27px);line-height:1.5}
.loadout-copy p{font-size:clamp(22px,2vw,32px);line-height:1.5}
h2 em,.hero-line em,.loadout-copy em{font-style:normal}
.margin-note,.story-body .story-last,.bond-content .bond-question{font-style:normal}
.wordmark{font-size:17px;white-space:nowrap}
.footer-name{font-size:20px}
.footer-name span{font-family:var(--sans)}
.story-intro>div,.gameplay-heading>*,.loadout>*{min-width:0}
h2,h3,.hero-line,.loadout-copy p{overflow-wrap:break-word}
.gameplay-heading h2{flex:1}
.gameplay-heading>p{flex:0 1 240px}
.socials{flex-wrap:wrap;gap:14px 24px}
@media(max-width:900px){.gameplay-heading>p{flex:auto}.header nav{gap:14px}.header .nav-itch{padding-left:14px}.header .nav-itch .desktop-label{display:none}}
@media(max-width:600px){
  h2,.bond h2,.follow h2{font-size:clamp(24px,6.4vw,34px);line-height:1.4}
  h3{font-size:20px;line-height:1.45}
  .hero-line{font-size:20px}
  .loadout-copy p{font-size:26px}
  .wordmark{font-size:16px}
  .header nav{gap:8px}
  .header .nav-itch{padding-left:9px}
  .header nav a:not(.nav-itch),.header .nav-itch{font-size:14px}
  .chapter{letter-spacing:0;gap:12px}
  .memory-strip{letter-spacing:0;font-size:12px}
}

/* Larger type for the pixel fonts, with enough room for their wide glyphs. */
body{font-size:18px;line-height:1.7}
h2,.bond h2,.follow h2{font-size:clamp(36px,3.9vw,58px);line-height:1.3}
h3{font-size:clamp(23px,2vw,28px);line-height:1.4}
.hero-line{font-size:clamp(25px,2.3vw,34px);line-height:1.45}
.loadout-copy p{font-size:clamp(30px,2.8vw,40px);line-height:1.45}
.lead{font-size:27px;line-height:1.5}
.margin-note{font-size:25px}
.story-body .story-last{font-size:30px;line-height:1.45}
.gameplay-heading>p,.mechanics p,.bond-content>p,.follow>p{font-size:18px;line-height:1.7}
.gameplay-heading>p{flex-basis:300px;max-width:300px}
.chapter,.small-caps,.descend,.hero-topline,.button,.socials,.footer-legal{font-size:15px}
.hero-note,.release-note,.footer-credit,.copyright{font-size:14px}
.bond-content .bond-question{font-size:32px;line-height:1.45}
@media(max-width:900px){
  .gameplay-heading>p{flex-basis:auto;max-width:600px}
}
@media(max-width:600px){
  body{font-size:18px}
  h2,.bond h2,.follow h2{font-size:clamp(32px,8.2vw,40px);line-height:1.35}
  h3{font-size:23px;line-height:1.4}
  .hero-line{font-size:clamp(24px,6vw,29px);line-height:1.45}
  .loadout-copy p{font-size:clamp(29px,7.2vw,35px);line-height:1.45}
  .lead{font-size:23px}
  .margin-note{font-size:22px}
  .story-body .story-last{font-size:28px}
  .gameplay-heading>p,.mechanics p,.bond-content>p,.follow>p{font-size:18px}
  .bond-content .bond-question{font-size:28px}
  .chapter,.small-caps,.descend{font-size:14px}
  .memory-strip{font-size:13px}
  .hero-note,.release-note,.footer-credit,.copyright,.socials,.footer-legal{font-size:14px}
  .button{font-size:15px}
}

/* Legal pages share the game's typography, palette and navigation. */
.legal-main{width:min(880px,90%);margin:0 auto;padding:150px 0 80px}.legal-back{display:block;margin-bottom:38px;color:var(--gold);font-size:20px}.legal-main>.small-caps{display:block;margin-bottom:16px}.legal-main h1{font-size:clamp(30px,5vw,52px);overflow-wrap:anywhere}.legal-switch{display:flex;flex-wrap:wrap;gap:12px 26px;margin:30px 0}.legal-switch a{font-size:20px;border-bottom:1px solid var(--rule);padding-bottom:6px}.legal-switch a[aria-current]{color:var(--gold);border-color:var(--gold)}.legal-toc{border-block:1px solid var(--rule);padding:16px 0;margin-bottom:38px;font-size:20px}.legal-toc summary{cursor:pointer;color:var(--gold)}.legal-toc ol{list-style:none;padding:0;display:grid;gap:8px}.legal-copy{font-size:22px;line-height:1.65}.legal-copy p{margin:0 0 24px}.legal-copy h2{font-size:clamp(20px,2.6vw,27px);line-height:1.5;margin:52px 0 20px;scroll-margin-top:150px}.legal-copy a{color:var(--gold);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.legal-copy ul{padding-left:24px}.legal-copy li{margin-bottom:16px}.legal-copy strong{font-weight:700}.legal-page .header{background:linear-gradient(#0b1011 40%,#0b1011e8 75%,#0b101100)}
@media(max-width:700px){.legal-main{padding-top:180px;width:88%}.legal-copy{font-size:20px}.legal-copy h2{scroll-margin-top:170px}.legal-switch a,.legal-back,.legal-toc{font-size:18px}.legal-page .header{background:#0b1011}.legal-copy h2{margin-top:40px}}
/* The companion carries a non-modal cookie information notice. */
.cookie-notice[hidden]{display:none}.cookie-notice{position:fixed;left:24px;bottom:24px;z-index:15;width:min(470px,calc(100% - 48px));padding:25px 24px 20px;background:#0b1011f7;border:1px solid #b59758;box-shadow:0 14px 50px #0009;color:var(--paper);animation:notice-arrive .35s ease-out}.cookie-notice:before{content:'';position:absolute;inset:5px;pointer-events:none;border:1px solid #e8c67320}.notice-eyebrow{color:var(--gold);font:14px var(--sans);letter-spacing:.06em}.cookie-notice h2{font:17px/1.55 var(--heading);margin:12px 0}.cookie-notice p{font:19px/1.45 var(--sans);margin:0 0 20px;max-width:100%}.notice-actions{display:flex;align-items:center;justify-content:space-between;gap:18px}.notice-links{display:flex;flex-wrap:wrap;gap:5px 16px;font:16px/1.4 var(--sans)}.notice-links a{text-decoration:underline;text-underline-offset:4px}.notice-links a:hover{color:var(--gold)}.notice-dismiss{flex:none;cursor:pointer;border:1px solid var(--gold);background:var(--gold);color:var(--ink);padding:10px 15px;font:18px var(--sans);transition:background .2s}.notice-dismiss:hover{background:#f3db9f}.notice-dismiss span{padding-left:8px}.notice-cat{position:absolute;right:30px;top:-57px;width:64px;height:64px;filter:drop-shadow(0 4px 3px #0008);animation:notice-cat-arrive 1s steps(12)}.notice-cat .cat-sprite{display:block;transform:scale(2)}.cookie-notice-open .companion{visibility:hidden}.footer-legal button{border:0;padding:0;color:inherit;background:none;font:inherit;cursor:pointer}.footer-legal button:hover{color:var(--gold)}
@keyframes notice-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes notice-cat-arrive{from{transform:translateX(-110px)}to{transform:translateX(0)}}
@media(max-width:600px){.cookie-notice{left:12px;bottom:12px;width:calc(100% - 24px);padding:20px 19px 17px}.cookie-notice h2{font-size:15px}.cookie-notice p{font-size:18px;margin-bottom:16px}.notice-eyebrow{font-size:13px}.notice-cat{right:20px}.notice-links{font-size:15px}.notice-dismiss{font-size:17px;padding:10px 12px}.notice-actions{gap:12px}}
@media(max-height:450px){.cookie-notice{max-height:calc(100dvh - 24px);overflow:auto}.notice-cat{display:none}}
@media(prefers-reduced-motion:reduce){.cookie-notice,.notice-cat{animation:none}.notice-dismiss{transition:none}}
/* Standard preference controls; the cat patrols with a pause between crossings. */
.cookie-notice{width:min(570px,calc(100% - 48px))}.notice-cat{left:24px;right:auto;animation:none;transition:left 2.4s linear}.notice-cat[data-walking="true"] .cat-sprite{background-image:url('/assets/cat-run-east.png');animation:cat-run .4s steps(4) infinite}.notice-cat[data-direction="west"] .cat-sprite{transform:scale(-2,2);transform-origin:center top}.notice-cat[data-direction="east"] .cat-sprite{transform:scale(2);transform-origin:center top}.notice-actions{flex-wrap:wrap;gap:10px;margin-top:18px;justify-content:flex-end}.notice-actions button,.notice-save{cursor:pointer;border:1px solid var(--gold);padding:10px 13px;font:17px/1.3 var(--sans);background:none;color:var(--paper)}.notice-actions .notice-accept{background:var(--gold);color:var(--ink)}.notice-actions .notice-settings-toggle{margin-right:auto;border-color:var(--rule)}.notice-actions button:hover,.notice-save:hover{box-shadow:inset 0 0 0 1px var(--gold)}.notice-settings[hidden]{display:none}.notice-settings{margin-top:18px;padding-top:18px;border-top:1px solid var(--rule)}.notice-settings label{font:18px var(--sans);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notice-settings label span{margin-left:auto;font-size:15px;color:var(--gold)}.notice-settings input{accent-color:var(--gold)}.notice-settings p{font-size:17px;margin:12px 0}.notice-save{font-size:16px}.cookie-notice{max-height:calc(100dvh - 90px);overflow:visible}.notice-settings{max-height:30dvh;overflow-y:auto}
@media(max-width:600px){.cookie-notice{width:calc(100% - 24px)}.notice-actions{display:grid;grid-template-columns:1fr 1fr}.notice-actions .notice-settings-toggle{grid-column:1/-1;width:100%;margin:0}.notice-actions button{font-size:17px}.cookie-notice p{font-size:17px}.notice-settings label span{margin-left:0}.notice-settings{max-height:22dvh}}
@media(max-height:500px){.cookie-notice{max-height:calc(100dvh - 24px);overflow-y:auto}.notice-cat{display:none}}
@media(prefers-reduced-motion:reduce){.notice-cat{transition:none}.notice-cat[data-walking="true"] .cat-sprite{animation:none;background-image:url('/assets/cat-idle.png')}}
