@font-face{font-family:Raven;src:url('/cat-game/fonts/RavenHell-RegularGothic.woff2') format('woff2');font-display:swap;font-weight:400}@font-face{font-family:Raven;src:url('/cat-game/fonts/RavenHell-BoldGothic.woff2') format('woff2');font-display:swap;font-weight:700}
:root{color-scheme:dark;--ink:#e9dfcc;--muted:#a3a195;--gold:#d4ad6d}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:#11151b;color:var(--ink);font-family:Raven,serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}header,main,footer{width:min(1390px,calc(100% - 112px));margin:auto;position:relative}header{height:132px;display:flex;justify-content:space-between;align-items:center;z-index:2}.logo img{display:block;width:168px;height:auto;max-height:76px}.edition{color:#a9aa9c;font-size:16px;letter-spacing:1.4px;display:flex;align-items:center;gap:12px}.edition i{width:5px;height:5px;border-radius:50%;background:#d2b875;box-shadow:0 0 16px #ddb260}.atmosphere{position:fixed;inset:0;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 77% 47%,#6a48242e 0,transparent 42%),radial-gradient(ellipse at 13% 20%,#26374657,transparent 55%),linear-gradient(120deg,transparent,#090c1380)}.moon-halo{position:absolute;width:65vw;height:65vw;right:-18vw;top:-27vw;border:1px solid #d5b7790c;border-radius:50%;box-shadow:0 0 0 5vw #d5b77902,0 0 0 11vw #d5b77902}.dust i{position:absolute;border-radius:50%;background:#ffe0a9;box-shadow:0 0 7px #efbc77;animation:drift var(--duration) ease-in-out infinite alternate;opacity:0}main{display:grid;grid-template-columns:1fr 1.12fr;min-height:720px;align-items:center}.invitation{padding:18px 0 66px;position:relative;z-index:1}.eyebrow{color:var(--gold);letter-spacing:2px;font-size:15px;display:flex;align-items:center;gap:12px;margin:0 0 20px}.eyebrow span{width:30px;height:1px;background:var(--gold)}h1{font-size:clamp(56px,6.4vw,94px);font-weight:400;line-height:.99;letter-spacing:-1.5px;margin:0 0 25px;text-shadow:0 3px 32px #0004}h1 em{font-style:normal;color:var(--gold)}.lead{font-size:21px;line-height:1.5;color:#bdbbb0;margin:0;max-width:460px}.rule{margin:23px 0 24px;display:flex;align-items:center;gap:16px;width:370px;max-width:100%;color:#b2945e;font-size:13px}.rule:after,.rule:before{content:'';height:1px;background:linear-gradient(90deg,#c0a47855,transparent);flex:1}.rule:before{transform:rotate(180deg)}form{max-width:405px}label{display:block;font-size:20px;color:#ded1b8;margin-bottom:12px}.password-field{height:62px;display:flex;align-items:center;border:1px solid #c1a47650;border-radius:6px;background:#0c1119b0;box-shadow:inset 0 1px 12px #0004;transition:border-color .2s,box-shadow .2s}.password-field:focus-within{border-color:#d1ad72;box-shadow:0 0 25px #bd98511c}.password-field svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.3}.key{margin:0 16px 0 18px;color:#bda271;flex-shrink:0}input{min-width:0;width:100%;height:100%;border:0;outline:0;background:none;color:var(--ink);font-size:20px;letter-spacing:.8px}input::placeholder{color:#81847f;letter-spacing:0}.password-field button{border:0;background:transparent;color:#a4a18d;padding:15px;display:grid;place-items:center}.enter{width:100%;height:60px;border:1px solid #ddbd7e;border-radius:5px;margin-top:10px;padding:0 20px;background:linear-gradient(110deg,#d6b77a,#bd9355);color:#26251f;font-size:23px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 5px 24px #0005,inset 0 1px 0 #f2dcae;transition:transform .2s,filter .2s,box-shadow .2s}.enter:hover{transform:translateY(-2px);filter:brightness(1.1);box-shadow:0 8px 32px #c8985225}.enter:disabled{opacity:.6;cursor:wait}.enter svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.5}#entry-help{color:#878d87;font-size:16px;line-height:1.4;margin:17px 0 0}#entry-error{margin:0;color:#edb4a5;font-size:17px;line-height:1.3}#entry-error:not(:empty){margin-top:10px}.hero{margin:0;position:relative;height:100%;min-height:770px;align-self:stretch;pointer-events:none}#hero-cat{width:120%;max-width:none;height:108%;object-fit:contain;position:absolute;bottom:0;left:-7%;filter:drop-shadow(0 22px 48px #0007);transform:translate3d(var(--cat-x,0px),var(--cat-y,0px),0);transition:transform .6s ease-out}.lantern-glow{position:absolute;width:85%;height:70%;left:5%;top:17%;background:radial-gradient(ellipse,#b5814322,transparent 65%);filter:blur(15px);animation:glow 7s ease-in-out infinite alternate}figcaption{position:absolute;bottom:55px;right:6px;font-size:23px;color:#ceb788;text-align:center;transform:rotate(-6deg);text-shadow:0 3px 10px #000}figcaption span{display:block;font-size:30px;margin-bottom:8px}figcaption small{font-size:16px;color:#90988f}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #cbbd9818;padding:25px 0 28px;font-size:14px;color:#8c928e}footer a{text-decoration:none;color:#cdb990}footer nav{display:flex;align-items:center;gap:25px}footer button{border:0;padding:0;background:none;color:#b0b1a3;font-size:14px}dialog{width:min(520px,calc(100% - 40px));border:1px solid #a58f6555;border-radius:10px;background:#1a2027;color:var(--ink);padding:38px;box-shadow:0 20px 120px #0009;font-size:19px;line-height:1.55}dialog::backdrop{background:#080b12d9;backdrop-filter:blur(8px)}dialog h2{font-size:35px;line-height:1.1;font-weight:400}dialog>button{position:absolute;right:14px;top:10px;background:none;border:0;color:#c5b997;font-size:30px}dialog a{color:#d3b278}@keyframes glow{to{opacity:.55;transform:scale(1.05)}}@keyframes drift{0%{opacity:0;transform:translateY(0)}25%{opacity:.25}75%{opacity:.4}100%{opacity:0;transform:translate(15px,-80px)}}
@media(min-width:1600px){main{min-height:calc(100svh - 215px)}.hero{max-height:1000px}}
@media(max-width:1000px){header,main,footer{width:calc(100% - 60px)}header{height:110px}main{grid-template-columns:1fr .95fr;min-height:690px}h1{font-size:65px}.lead{font-size:19px}.hero{min-height:690px}#hero-cat{width:145%;left:-21%}figcaption{right:-10px;bottom:20px}footer{font-size:12px}footer nav{gap:16px}footer button{font-size:13px}}
@media(max-width:650px){header,main,footer{width:calc(100% - 40px)}header{height:86px}.logo img{width:128px}.edition{font-size:13px;letter-spacing:.3px;gap:8px}main{display:flex;flex-direction:column;align-items:stretch;min-height:0}.invitation{padding:24px 0 0}.eyebrow{font-size:12px;letter-spacing:1.2px;margin-bottom:20px}h1{font-size:clamp(42px,14vw,58px);letter-spacing:-.8px;position:relative;z-index:1}.lead{font-size:18px;line-height:1.45;position:relative;z-index:1}.rule{width:100%;margin:22px 0}form{max-width:none;position:relative;z-index:2}label{font-size:19px}.password-field{height:59px}.enter{font-size:23px;height:58px}#entry-help{font-size:15px}.hero{height:425px;min-height:0;margin-top:-15px;overflow:hidden}#hero-cat{height:115%;width:110%;left:-6%;bottom:-14%;object-position:center bottom}.lantern-glow{top:0}figcaption{right:0;bottom:24px;font-size:18px;max-width:130px}figcaption small{font-size:13px}footer{display:flex;flex-direction:column;align-items:flex-start;gap:14px;font-size:13px;padding-top:19px}footer nav{align-items:flex-start;gap:12px;flex-wrap:wrap;font-size:12px}dialog{padding:25px;font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}#hero-cat{transform:none}.dust{display:none}}
