@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=IM+Fell+English:ital@0;1&family=UnifrakturMaguntia&display=swap');
:root{--base:#100b0a;--base2:#211310;--cream:#e9d8b8;--cream2:#af9877;--red:#a73d30;--bright:#cf6244;--line:rgba(230,197,157,.18);--paper:#e6d5ae;--ink:#2b1d19;--mono:'DM Mono',monospace;--serif:'IM Fell English',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}
html{background:var(--base);height:100%;scroll-behavior:smooth}
body{margin:0;color:var(--cream);font-family:var(--sans);background:var(--base);min-height:100%;overflow-x:hidden}
button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #e5c47e;outline-offset:5px}
button,a{-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
::selection{background:var(--red);color:#fff}
.shrine{height:100vh;height:100dvh;min-height:670px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse 51% 62% at 66% 53%,#3e2218 0,#25150f 32%,#150d0b 65%,#0d0909 100%)}
.grain{position:absolute;inset:-50%;opacity:.22;z-index:13;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E");animation:grain 1s steps(3) infinite}
@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-.5%,.5%)}40%{transform:translate(.7%,-.4%)}60%{transform:translate(-.3%,-.8%)}80%{transform:translate(.4%,.6%)}100%{transform:translate(0)}}
.shade{position:absolute;z-index:5;pointer-events:none;inset:0;background:linear-gradient(90deg,rgba(9,6,5,.35) 0,transparent 42%,rgba(0,0,0,.12) 100%),radial-gradient(ellipse at 50% 50%,transparent 39%,rgba(9,5,5,.34) 93%)}
.shrine-grid{position:absolute;inset:20px 21px 19px;border:1px solid rgba(231,181,127,.18);pointer-events:none;z-index:14}
.shrine-grid:before,.shrine-grid:after{content:'';position:absolute;border:1px solid rgba(231,181,127,.19);width:12px;height:12px}.shrine-grid:before{left:-3px;top:-3px;border-right:0;border-bottom:0}.shrine-grid:after{right:-3px;bottom:-3px;border-left:0;border-top:0}
.red-wash{position:absolute;z-index:0;inset:0;background:radial-gradient(ellipse 27% 34% at 67% 55%,rgba(153,47,29,.24),transparent 90%);animation:wash 8s ease-in-out infinite alternate;pointer-events:none}
@keyframes wash{to{opacity:.4;transform:scale(1.13)}}
.horizon{position:absolute;z-index:0;bottom:12%;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#743e29 32%,#743e29 68%,transparent);opacity:.38}
.temple-light{position:absolute;pointer-events:none;z-index:1;top:-20%;width:24%;height:120%;filter:blur(40px);opacity:.1;transform:rotate(19deg);background:linear-gradient(90deg,transparent,#ffad5d,transparent)}.temple-light-left{left:24%}.temple-light-right{right:5%;transform:rotate(-24deg);opacity:.065}
.top-scratch{position:absolute;top:0;left:48%;width:1px;height:100%;background:linear-gradient(transparent,#e6ae72 30%,transparent 63%);transform:rotate(18deg);opacity:.11}
.roof{z-index:21;position:absolute;top:29px;left:35px;right:36px;height:67px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px}
.seal{flex-shrink:0;position:relative;width:48px;height:48px;border:0;background:#a63a2c;color:#edd5b0;transform:rotate(-7deg);box-shadow:2px 4px 0 rgba(0,0,0,.7);transition:transform .2s;display:grid;place-items:center}.seal:hover{transform:rotate(5deg) scale(1.06)}.seal-hanzi{font-family:serif;font-size:32px;line-height:1}.seal-counter{position:absolute;bottom:-6px;right:-6px;font:9px var(--mono);background:#e0c9a4;color:#3a2a22;padding:1px 4px;transform:rotate(7deg)}
.roof-id{display:flex;flex-direction:column;gap:5px}.roof-id strong{font:500 10px var(--mono);letter-spacing:.16em;color:#e6cead}.roof-id span{font:9px var(--mono);letter-spacing:.03em;color:#a8947e}
.roof-middle{margin:auto;font:10px var(--mono);letter-spacing:.19em;color:#ccb397;display:flex;gap:10px;align-items:center;white-space:nowrap}.alive-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#dba776;box-shadow:0 0 10px #fb7c49;animation:alive 2.8s infinite}@keyframes alive{50%{opacity:.2}}
.roof-links{display:flex;align-items:center;gap:8px}.roof-links a,.roof-links button{height:36px;min-width:57px;background:rgba(25,15,12,.55);border:1px solid #77543e;color:#d8c0a1;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:0 11px;font:10px var(--mono);letter-spacing:.07em;transition:background .2s,color .2s}.roof-links a:hover,.roof-links button:hover{background:#b24632;color:#fff}.roof-links button{gap:8px}.arrow{font-size:13px}.audio-mark{font-size:16px}
.room{position:absolute;inset:96px 35px 50px;z-index:2}
.wordmark{position:absolute;left:4%;top:15%;z-index:9;pointer-events:none}.eyebrow-caption{color:#c6a37f;font:10px var(--mono);letter-spacing:.13em;margin-bottom:26px;white-space:nowrap}.little-cross{color:var(--bright);font-size:17px;margin-right:6px;vertical-align:-2px}
.wordmark h1{margin:0;line-height:.82;letter-spacing:-.055em;font-family:var(--serif);font-weight:400;text-shadow:0 6px 4px rgba(0,0,0,.15)}.title-line-one,.title-line-two{display:block}.title-line-one{font-size:clamp(78px,9.2vw,154px);color:#efe0c5}.title-line-two{font-size:clamp(70px,8.3vw,137px);color:#b94834;margin-left:1px;margin-top:15px}.title-dot{color:#e7d5b8}
.wordmark-hand{font:italic clamp(19px,2.1vw,32px)/1.35 var(--serif);color:#d4b99d;transform:rotate(-4deg);margin:34px 0 0 12px}.wordmark-hand em{color:#ba674f}
.intro-note{display:none;font:10px/1.8 var(--mono);letter-spacing:.1em;color:#92806f;position:absolute;left:13px;top:calc(100% + 15px)}.small-arrow{font-size:18px;color:#b04b38}
.portrait-environment{position:absolute;left:42%;top:1.5%;width:51%;height:100%;pointer-events:none;z-index:1;filter:drop-shadow(1px 1px 1px #120909)}
.halo{position:absolute;border-radius:50%;left:5%;top:5%;aspect-ratio:1}.halo-outside{width:min(59vw,760px);max-width:110%;border:1px solid rgba(191,119,65,.25);background:radial-gradient(circle at 50% 51%,#8c3423 0%,#75291c 53%,#4c1e17 72%,transparent 73%);box-shadow:inset 0 0 55px #26120f,0 0 70px rgba(133,38,22,.08);opacity:.91;animation:floatHalo 10s ease-in-out infinite alternate}.halo-inside{top:8%;left:9%;width:min(55vw,700px);max-width:99%;border:1px dashed rgba(233,152,83,.22);background:radial-gradient(circle at center,transparent 67%,rgba(12,7,7,.11) 70%,transparent 71%);animation:haloRotate 130s linear infinite}@keyframes floatHalo{to{transform:translateY(1.5%) scale(1.015);opacity:.75}}@keyframes haloRotate{to{transform:rotate(360deg)}}
.halo-brush{position:absolute;width:min(62vw,800px);aspect-ratio:1;left:2%;top:2.8%;border-radius:50%;border:15px solid rgba(48,19,14,.22);mask-image:conic-gradient(black 3deg,transparent 8deg,black 14deg,black 60deg,transparent 72deg,black 75deg,black 150deg,transparent 169deg,black 182deg,black 276deg,transparent 287deg,black 301deg);transform:rotate(-9deg)}
.halo-mark{position:absolute;color:rgba(239,167,113,.46);font-size:24px;font-family:serif}.halo-mark-top{left:49%;top:2%}.halo-mark-bottom{left:48%;bottom:4%}.rune{position:absolute;font:17px/1.45 serif;color:rgba(225,152,99,.32);writing-mode:vertical-rl}.rune-left{left:0;top:43%}.rune-right{right:1%;top:20%}
.ash{position:absolute;border-radius:50%;background:#c68b51;opacity:.3;filter:blur(.5px);width:4px;height:4px;animation:ash 11s linear infinite}.ash-1{left:30%;top:72%}.ash-2{left:77%;top:35%;animation-delay:-4s}.ash-3{left:93%;top:76%;animation-delay:-7s}@keyframes ash{to{transform:translate(-24px,-90px);opacity:0}}
.portrait{appearance:none;border:0;background:transparent;padding:0;z-index:4;position:absolute;width:min(63vw,880px);left:43%;bottom:-16.5%;aspect-ratio:1;cursor:crosshair;transform:translate3d(var(--moveX,0px),var(--moveY,0px),0) rotate(var(--rotate,0deg));transform-origin:50% 68%;transition:filter .2s;filter:drop-shadow(0 30px 35px rgba(0,0,0,.39))}.portrait img{width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none}.portrait:hover{filter:drop-shadow(0 20px 30px rgba(0,0,0,.48)) drop-shadow(0 0 14px rgba(195,83,57,.12))}
.animated-brows{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .3s,transform .3s;transform:translateY(0)}.shrine.is-browed .animated-brows{opacity:.95;animation:eyebrowAscend 1.8s ease-in-out infinite alternate}.shrine.is-angry .animated-brows{opacity:.4;transform:translateY(-3px)}@keyframes eyebrowAscend{from{transform:translateY(-3px) scale(1.015)}to{transform:translateY(-17px) scale(1.035)}}.eyes{position:absolute;inset:0;pointer-events:none}.eyes i{width:1.5%;height:.78%;border-radius:45%;background:radial-gradient(ellipse at 32% 30%,rgba(253,238,216,.55) 0 12%,rgba(17,13,11,.64) 39%,rgba(30,14,14,.0) 71%);position:absolute;top:44.2%;transform:translate(var(--eyeX,0px),var(--eyeY,0px));transition:transform .11s ease-out;opacity:.4}.eyes .eye-left{left:38%}.eyes .eye-right{left:62%}
.blink-layer{position:absolute;inset:0;pointer-events:none}.blink-layer i{position:absolute;top:43.7%;width:10%;height:3%;border-radius:50%;background:linear-gradient(180deg,rgba(181,112,85,.1),rgba(199,124,92,.83) 42%,rgba(203,125,92,.88) 64%,transparent);filter:blur(2px);opacity:0;transform:scaleY(.1);transition:transform .08s,opacity .08s}.blink-layer .blink-left{left:33.3%}.blink-layer .blink-right{left:57.4%}.is-blinking .blink-layer i{opacity:.83;transform:scaleY(1)}
.beard-sheen{position:absolute;left:39%;top:61%;width:23%;height:26%;border-radius:50%;pointer-events:none;background:linear-gradient(110deg,transparent,rgba(255,244,206,.15),transparent);mix-blend-mode:screen;opacity:.04;transform:rotate(5deg);transition:opacity .3s}.portrait:hover .beard-sheen{opacity:.6}
.portrait-label{z-index:6;position:absolute;right:14%;bottom:25%;font:9px/1.4 var(--mono);letter-spacing:.15em;text-align:center;color:#e4bea0;transform:rotate(-12deg);opacity:.65}.tiny-plus{color:#d87e5c}
.side-measure{position:absolute;right:0;top:26%;height:36%;display:flex;align-items:center;flex-direction:column;gap:9px;z-index:4;color:#98755f;writing-mode:vertical-rl;font:9px var(--mono);letter-spacing:.12em}.side-measure i{flex:1;border-left:1px solid #76513b}
.primary-ritual{position:absolute;bottom:5.5%;left:4%;right:2%;z-index:11;display:flex;gap:12px;align-items:flex-end;pointer-events:none}.paper-button{pointer-events:auto;min-width:0;border:0;color:var(--ink);background:#e6d5b6;padding:12px 33px 13px 18px;min-height:82px;width:224px;position:relative;text-align:left;transform:rotate(-1.5deg);box-shadow:3px 5px 0 rgba(0,0,0,.67);clip-path:polygon(0 0,100% 0,100% 91%,91% 95%,87% 92%,76% 100%,69% 95%,55% 99%,38% 94%,24% 100%,16% 95%,0 98%);transition:transform .2s,filter .2s;display:flex;flex-direction:column;justify-content:center;gap:9px}.paper-button:hover{transform:translateY(-8px) rotate(1deg);filter:brightness(1.09)}.paper-button:active{transform:translateY(-3px)}.paper-number{font:9px var(--mono);letter-spacing:.12em;color:#7e6852}.paper-button strong{font:700 17px/1.15 var(--sans);letter-spacing:-.04em;white-space:nowrap}.paper-arrow{position:absolute;right:15px;bottom:20px;font-size:20px}.main-disturb{background:#ac4533;color:#f5d9bc;transform:rotate(2deg);margin-bottom:10px}.main-disturb .paper-number{color:#e9b5a6}.main-guard{background:#d5b78a;transform:rotate(-2deg);margin-bottom:-2px}
.thought-block{position:absolute;left:5%;bottom:21%;font:10px/1.6 var(--mono);letter-spacing:.07em;color:#bda38b;max-width:275px;z-index:10;display:flex;align-items:baseline;gap:7px;min-height:18px;transition:opacity .2s}.asterisk{color:#be5e44;font-size:16px}
.the-archive{z-index:10;position:absolute;right:4%;top:32%;color:#d0b390;background:transparent;border:0;text-align:left;font:10px/1.7 var(--mono);letter-spacing:.11em;display:flex;align-items:flex-end;gap:16px;transform:rotate(4deg);border-bottom:1px solid rgba(201,156,119,.5);padding:0 4px 9px;transition:transform .2s,color .2s}.the-archive:hover{transform:rotate(0deg) translateY(-4px);color:#ffdfb4}.the-archive b{font-size:22px;font-weight:400;color:#d47452}
.beard-tally{position:absolute;right:4%;bottom:6%;font:9px var(--mono);letter-spacing:.14em;color:#b79c83;z-index:10;display:flex;align-items:center;gap:12px}.beard-tally strong{font:28px var(--mono);letter-spacing:-.09em;color:#e7c99d}.beard-tally i{height:1px;width:50px;background:#895c44}
.floor{height:44px;position:absolute;bottom:6px;left:35px;right:35px;z-index:21;border-top:1px solid var(--line);display:flex;align-items:center;gap:20px;font:9px var(--mono);letter-spacing:.13em;color:#a28a6e;overflow:hidden}.floor-code,.floor-state{white-space:nowrap;flex-shrink:0}.floor-scroller{overflow:hidden;white-space:nowrap;flex:1;color:#a67757;mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}.floor-scroller span{display:inline-block;animation:ticker 28s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}
.embers,.scribbles,.touch-spawn{position:fixed;inset:0;pointer-events:none;z-index:35;overflow:hidden}.float-phrase{position:absolute;font:italic 25px var(--serif);color:#f9d5a6;white-space:nowrap;animation:phrase 1.7s cubic-bezier(.18,.8,.2,1) forwards;text-shadow:0 2px 13px #0b0504}@keyframes phrase{0%{opacity:0;transform:translate(-50%,0) rotate(-9deg) scale(.8)}10%{opacity:1}100%{opacity:0;transform:translate(-50%,-95px) rotate(3deg) scale(1.13)}}
.rice{position:absolute;top:-25px;width:3px;height:11px;border-radius:50%;transform:rotate(40deg);background:#f6e4b7;box-shadow:0 0 3px rgba(255,255,255,.3);animation:ricefall var(--time) linear forwards;left:var(--left);opacity:var(--opacity)}@keyframes ricefall{to{transform:translate(var(--drift),105vh) rotate(950deg)}}
.fixed-whisper{position:fixed;z-index:60;top:17%;left:50%;transform:translateX(-50%) translateY(14px);max-width:min(88vw,500px);opacity:0;pointer-events:none;color:#fff1d4;background:rgba(22,10,9,.94);border:1px solid #74402e;font:11px/1.7 var(--mono);letter-spacing:.13em;padding:17px 25px;box-shadow:0 10px 60px #0008;text-align:center;transition:opacity .28s,transform .28s}.fixed-whisper.show{opacity:1;transform:translateX(-50%) translateY(0)}
.curtain{position:fixed;inset:0;z-index:80;display:flex;justify-content:flex-end}.curtain-scrim{position:absolute;inset:0;background:rgba(10,6,5,.69);backdrop-filter:blur(5px);animation:showScrim .35s both}@keyframes showScrim{from{opacity:0}to{opacity:1}}
.curtain-paper{position:relative;width:min(560px,100%);height:100%;background:linear-gradient(110deg,transparent,rgba(90,48,22,.07),transparent 80%),radial-gradient(circle at 40% 40%,#f0dfb8,#d9c5a0 120%);color:var(--ink);box-shadow:-23px 0 100px #000a;display:flex;flex-direction:column;animation:drawerIn .47s cubic-bezier(.19,1,.22,1) both;outline:none}@keyframes drawerIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
.curtain-paper:before{content:'';position:absolute;top:0;left:0;bottom:0;width:14px;background:repeating-linear-gradient(180deg,#b89a73 0,#dbbd92 13px,#e9d5b2 23px);clip-path:polygon(70% 0,33% 5%,76% 11%,21% 17%,85% 25%,24% 34%,69% 44%,22% 56%,86% 65%,20% 76%,80% 89%,50% 100%,100% 100%,100% 0)}
.curtain-head,.curtain-foot{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;margin:0 38px 0 47px;border-bottom:1px solid rgba(46,28,22,.28);height:78px;gap:12px;font:9px var(--mono);letter-spacing:.13em;color:#735c49}.curtain-head button{border:1px solid #7b634b;background:none;color:#3b2923;padding:11px 14px;font:10px var(--mono);letter-spacing:.06em}.curtain-head button:hover{background:#3b2923;color:#e8d9b7}.curtain-foot{margin-top:auto;border-top:1px solid rgba(46,28,22,.28);border-bottom:0;height:57px;gap:20px}.curtain-foot i{font-family:var(--serif);font-size:18px;color:#ad5638;white-space:nowrap}
.curtain-body{flex:1;overflow:auto;padding:30px 44px 50px 54px;scrollbar-color:#a58867 transparent}.section-small{font:10px var(--mono);letter-spacing:.12em;color:#a14a33}.curtain-body h2{font:normal clamp(56px,5vw,86px)/.9 var(--serif);letter-spacing:-.05em;color:#2e201b;margin:20px 0 24px}.curtain-body h2 em{font-weight:normal;color:#ad442d}.drawer-lede{font:italic 20px/1.45 var(--serif);color:#74604b;max-width:390px;margin-bottom:38px}
.field-caption{display:block;font:10px var(--mono);letter-spacing:.11em;color:#765441;margin-bottom:12px}.ask-form{display:flex;border-bottom:2px solid #533c2f;gap:7px}.ask-form input{width:100%;min-width:0;outline:0;background:transparent;border:0;color:#2a1c19;padding:13px 2px;font:14px var(--sans)}.ask-form input::placeholder{color:#a4927a}.ask-form button{border:0;background:#a64230;color:#f2dbc5;padding:13px 17px;font:11px var(--mono)}.ask-form button:hover{background:#6e2c22}
.prophecy{min-height:245px;margin-top:32px;padding:30px 24px 20px;position:relative;border:1px solid #a58b6e;background:rgba(254,239,210,.33);box-shadow:inset 0 0 0 4px rgba(219,195,158,.25)}.prophecy-stamp{position:absolute;right:18px;top:19px;color:#a94430;border:2px solid #a94430;transform:rotate(13deg);width:58px;height:58px;display:grid;place-content:center;font:bold 28px var(--serif);opacity:.83}.prophecy-stamp span{font:9px var(--mono);text-align:center}.prophecy-label{font:9px var(--mono);letter-spacing:.15em;color:#9c6d59}.prophecy p{font:italic 29px/1.22 var(--serif);color:#30231e;max-width:320px;margin:39px 0 31px}.prophecy-code{font:9px var(--mono);color:#876a55;letter-spacing:.07em}.prophecy-actions{display:flex;justify-content:space-between;gap:20px;margin-top:19px}.prophecy-actions button{background:none;border:0;border-bottom:1px solid #8b6f50;padding:5px 0;font:9px var(--mono);letter-spacing:.04em;color:#5a4031;white-space:nowrap}.prophecy-actions button:hover{color:#b3472e}
.ritual-choice{width:100%;border:0;border-top:1px solid #92765a;background:transparent;color:#3f2d25;padding:22px 2px;display:flex;align-items:center;gap:19px;text-align:left;transition:padding .2s,background .2s}.ritual-choice:last-of-type{border-bottom:1px solid #92765a}.ritual-choice:hover{background:#ebd3ad;padding-left:12px}.ritual-choice span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:6px}.ritual-choice strong{font:700 16px var(--sans);letter-spacing:-.03em}.ritual-choice small{font:italic 15px var(--serif);color:#97775e}.ritual-choice i{font-size:21px}.choice-symbol{font:35px var(--serif);width:40px;color:#aa4a31}.brows-glyph{font-size:46px;line-height:1}.ritual-smallprint{font:9px/1.6 var(--mono);color:#a18a70;margin-top:38px}
.archive-switch{border-bottom:1px solid #886b53;display:flex;gap:20px}.archive-switch button{font:10px var(--mono);letter-spacing:.09em;background:none;border:0;padding:10px 4px;color:#9d7f68}.archive-switch button.is-selected{border-bottom:3px solid #a13d2e;color:#3a261f}.archive-frame{margin-top:22px;height:240px;background:#251e1b;position:relative;display:grid;place-items:center;overflow:hidden;box-shadow:4px 5px 0 rgba(72,43,31,.25);padding:9px}.archive-frame img{display:block;width:100%;height:100%;object-fit:contain;filter:saturate(.86)}.archive-sticker{position:absolute;bottom:12px;right:8px;color:#e8d6b5;font:9px/1.4 var(--mono);text-align:right;background:#251c1ad6;padding:7px}.archive-caption{font:italic 19px/1.4 var(--serif);color:#775c48;margin:22px 0 28px}.archive-finish{background:#9d412f;color:#f0dcbd;border:0;padding:17px 22px;font:11px var(--mono);letter-spacing:.05em;transition:transform .2s,background .2s}.archive-finish:hover{background:#7a3225;transform:translateY(-2px)}
.game-hud{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:72;display:flex;gap:23px;align-items:center;background:#e8d5b1;color:#291a18;box-shadow:0 7px 35px #000c;border:2px solid #a94332;padding:9px 18px;font:10px var(--mono);letter-spacing:.06em;white-space:nowrap}.game-hud strong{font:36px var(--serif);color:#a54230}.game-hud b{color:#a54230}.game-hud button{border:1px solid #b38b6a;background:none;padding:8px 9px;font:10px var(--mono)}.enemy-layer{position:fixed;inset:0;z-index:70;pointer-events:none}.enemy{position:absolute;font-size:48px;line-height:1;border:0;background:transparent;filter:drop-shadow(2px 4px 5px #000a);pointer-events:auto;cursor:crosshair;color:#e8dcc9;transform:translate(-50%,-50%) rotate(var(--tilt,0deg));touch-action:manipulation}.enemy:hover{filter:drop-shadow(0 0 10px #edaa6f)}.enemy:focus-visible{outline:2px solid #f6e7bb}.finish-score{font:110px/.9 var(--serif);color:#ab4932;letter-spacing:-.08em;margin:40px 0 25px}.finish-view .drawer-lede{margin-bottom:38px}
.shrine.is-angry{animation:quake .42s ease-out}.shrine.is-browed .portrait{filter:drop-shadow(0 0 30px rgba(255,198,133,.49)) brightness(1.11)}.shrine.is-browed .halo-outside{box-shadow:0 0 125px rgba(210,75,45,.35)}.shrine.is-dreaming{filter:saturate(.4)}.shrine.is-dreaming .portrait{transform:translate3d(0,15px,0) rotate(-3deg)}.shrine.is-dreaming .red-wash{opacity:0}.shrine.is-awakened{animation:quake .6s ease-in-out}.shrine.is-awakened .portrait{filter:drop-shadow(0 0 45px #a53627) brightness(1.17)}.shrine.is-awakened .red-wash{opacity:1;background:radial-gradient(ellipse 50% 70% at 65% 58%,rgba(185,49,23,.68),transparent)}
@keyframes quake{0%,100%{transform:translate(0,0)}12%{transform:translate(-7px,2px)}24%{transform:translate(5px,-3px)}36%{transform:translate(-3px,2px)}50%{transform:translate(3px,-1px)}75%{transform:translate(-1px,1px)}}
.shaken-phrase{position:fixed;inset:0;z-index:61;display:grid;place-items:center;pointer-events:none;background:rgba(59,16,9,.16);font:clamp(60px,12vw,190px)/.87 var(--serif);color:#f6e5b8;text-shadow:0 13px 45px #000c;transform:rotate(-4deg);animation:awakeText 1.7s ease-out forwards;text-align:center;letter-spacing:-.07em}@keyframes awakeText{0%{opacity:0;transform:scale(1.6) rotate(-11deg)}15%{opacity:1;transform:scale(1) rotate(-4deg)}72%{opacity:1}100%{opacity:0;transform:scale(.97) rotate(-3deg)}}
@media (min-width:1560px){.wordmark{top:17%}.portrait{width:min(62vw,1000px);bottom:-19%}.primary-ritual{bottom:6%}.thought-block{bottom:22%}}
@media (max-width:1100px){.shrine{min-height:640px}.wordmark{left:1.8%;top:18%}.wordmark h1 .title-line-one{font-size:9vw}.wordmark h1 .title-line-two{font-size:8vw}.wordmark-hand{font-size:23px}.portrait{left:40%;width:78vw;bottom:-17%}.portrait-environment{left:43%;width:60%}.halo-outside,.halo-inside,.halo-brush{width:68vw}.primary-ritual{left:2%;bottom:7%}.paper-button{width:196px;padding-right:22px}.paper-button strong{font-size:14px}.beard-tally{bottom:22%;right:2%}.the-archive{right:3%;top:27%}.thought-block{bottom:25%;left:3%}}
@media (max-width:760px){.shrine{height:100dvh;min-height:740px}.shrine-grid{inset:8px}.roof{left:16px;right:16px;top:13px;height:57px;gap:9px}.seal{width:36px;height:36px}.seal-hanzi{font-size:24px}.roof-id strong{font-size:8px}.roof-id span{font-size:8px}.roof-middle{display:none}.roof-links{margin-left:auto;gap:5px}.roof-links a,.roof-links button{height:32px;min-width:36px;padding:0 8px;font-size:9px;gap:5px}.roof-links .arrow{display:none}.roof-links button #audioLabel{display:none}.room{inset:71px 14px 50px}.wordmark{left:6px;top:5%;right:0}.eyebrow-caption{font-size:8px;letter-spacing:.05em;margin-bottom:15px}.wordmark h1 .title-line-one{font-size:clamp(64px,17vw,112px)}.wordmark h1 .title-line-two{font-size:clamp(56px,14.2vw,100px);margin-top:7px}.wordmark-hand{font-size:clamp(19px,5vw,26px);margin:16px 0 0 5px}.intro-note{display:none}.portrait-environment{left:0%;top:21%;width:100%;height:73%}.halo-outside{width:96vw;max-width:none;left:-3%;top:2%}.halo-inside{width:90vw;max-width:none;left:1%;top:4%}.halo-brush{width:99vw;max-width:none;left:-5%;top:1%}.halo-mark,.rune{display:none}.portrait{width:109vw;left:50%;bottom:4%;transform:translateX(-50%) translate3d(var(--moveX,0px),var(--moveY,0px),0) rotate(var(--rotate,0deg));transform-origin:50% 70%}.portrait-label{display:none}.side-measure{display:none}.primary-ritual{left:2%;right:2%;bottom:2%;gap:7px;justify-content:space-between}.paper-button{min-height:71px;flex:1;width:33%;padding:10px 10px 17px;gap:7px}.paper-button strong{font-size:clamp(10px,2.8vw,14px);white-space:normal}.paper-number{font-size:7px;letter-spacing:0}.paper-arrow{right:5px;bottom:8px;font-size:14px}.thought-block{left:2%;bottom:15%;font-size:8px;width:42%;color:#f5d5a6}.the-archive{top:45%;right:0;font-size:8px;color:#f3d4b4;gap:5px}.beard-tally{bottom:15%;right:0;gap:4px;display:block;text-align:right}.beard-tally span{font-size:8px;display:block}.beard-tally strong{font-size:24px}.beard-tally i{display:none}.floor{left:17px;right:17px;bottom:6px;height:36px}.floor-code{display:none}.floor-state{font-size:8px}.floor-scroller{font-size:8px}.curtain-body{padding:27px 32px 40px 39px}.curtain-head,.curtain-foot{margin-left:30px;margin-right:23px}.game-hud{top:10px;left:10px;transform:none;right:10px;justify-content:space-between;gap:8px;padding:9px 7px;font-size:8px}.game-hud strong{font-size:24px}.game-hud button{font-size:8px;padding:5px}.game-hud span:first-child{display:none}}
@media(max-width:450px){.shrine{min-height:690px}.wordmark{top:5%}.wordmark h1 .title-line-one{font-size:17vw}.wordmark h1 .title-line-two{font-size:14vw}.portrait{width:128vw;left:50%;bottom:6%}.portrait-environment{top:26%}.halo-outside{width:119vw;left:-18%}.halo-inside{width:111vw;left:-13%}.halo-brush{width:119vw;left:-18%}.wordmark-hand{font-size:18px}.paper-button{min-height:73px}.paper-button strong{font-size:11px}.thought-block{bottom:16%;max-width:170px}.beard-tally{bottom:15%}.the-archive{top:46%;right:1%}.roof-id span{display:none}}
@media (max-height:760px) and (min-width:761px){.wordmark{top:12%}.eyebrow-caption{margin-bottom:13px}.wordmark-hand{margin-top:20px}.portrait{bottom:-23%}.primary-ritual{bottom:2%}.thought-block{bottom:21%}.beard-tally{bottom:5%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.grain{animation:none}.portrait{transform:none}}
@media (max-width:760px){.shrine.is-dreaming .portrait{transform:translateX(-50%) translate3d(0,15px,0) rotate(-3deg)}}
@media (max-width:760px) and (prefers-reduced-motion:reduce){.portrait{transform:translateX(-50%)!important}}
