.abbey-room{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#04090b;color:#eee9dd;overflow:hidden;color-scheme:dark}
.abbey-room::backdrop{background:#04090b}.abbey-room [hidden]{display:none!important}
.abbey-scene{position:relative;width:100%;height:100%;min-height:100svh;overflow:hidden;isolation:isolate;background:#04090b}
.abbey-canvas,.abbey-veil{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.abbey-canvas{display:block}.abbey-veil{z-index:1;background:linear-gradient(180deg,#03080d88,transparent 24%,transparent 58%,#020609ab),linear-gradient(90deg,#03080b5c,transparent 65%);box-shadow:inset 0 0 12vw #0005}
.abbey-top{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:26px 40px;gap:20px;background:linear-gradient(#02060875,transparent)}
.abbey-signature{display:flex;align-items:center;gap:22px;font:500 10px/1.5 var(--sans,Plex,sans-serif);letter-spacing:.22em}.abbey-secret{border-left:1px solid #c4b79b44;padding-left:22px;font-size:9px;color:#b9b8ad;letter-spacing:.16em}
.abbey-controls{display:flex;align-items:center;gap:10px}.abbey-control{width:44px;height:44px;display:grid;place-items:center;padding:11px;color:#e8e6da;border:1px solid #e3dcc126;border-radius:50%;background:#05101640;cursor:pointer;transition:background .2s,border-color .2s,transform .2s;backdrop-filter:blur(10px)}
.abbey-control svg{width:22px;height:22px}.abbey-control:hover{background:#c6b68b24;border-color:#d9c6a366;transform:translateY(-1px)}
.abbey-control[aria-pressed=true]{color:#dec59a;border-color:#dec59a77}.abbey-room button:focus-visible{outline:2px solid #dfc495;outline-offset:5px}
.abbey-story{position:absolute;z-index:3;left:7vw;bottom:max(100px,12vh);width:min(520px,42vw);text-shadow:0 2px 24px #0008;transition:opacity .6s,transform .8s}
.abbey-chapter{display:flex;align-items:center;gap:12px;color:#d4bb94;font:400 10px/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;margin:0 0 22px}
.abbey-chapter:before{content:'';display:block;width:32px;height:1px;background:currentColor;opacity:.7}
.abbey-title{font:400 clamp(35px,4.2vw,70px)/1.02 var(--display,Syne,sans-serif);letter-spacing:-.045em;margin:0;color:#f1ebdc;text-wrap:balance}
.abbey-line{font:400 15px/1.7 var(--sans);color:#d1cfc3;max-width:350px;margin:22px 0 28px;text-wrap:pretty}
.abbey-action{display:inline-flex;align-items:center;gap:28px;border:0;padding:0;background:none;font:400 12px/1.5 var(--sans);letter-spacing:.03em;color:#e7ddc9;cursor:pointer}
.abbey-action-arrow{width:46px;height:46px;border:1px solid #c2ac8266;border-radius:50%;display:grid;place-items:center;font-size:21px;transition:background .3s,transform .3s}.abbey-action:hover .abbey-action-arrow{background:#a78b5740;transform:translate(2px,-2px)}
.abbey-bottom{position:absolute;bottom:25px;left:40px;right:40px;z-index:3;display:flex;align-items:end;justify-content:space-between;gap:30px}.abbey-path{display:flex;gap:7px;flex-shrink:0;padding-bottom:4px}.abbey-path span{display:block;width:26px;height:2px;background:#e9dfc838;transition:width 1s,background 1s}.abbey-path span.active{width:48px;background:#d2bb8c}
.abbey-credit{font:400 9px/1.6 var(--sans);color:#bab5a9;margin:0;max-width:420px;text-align:right;letter-spacing:.025em}
.abbey-loading{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:28px;background:#04090b}
.abbey-loading p{font:400 11px/1.5 var(--sans);letter-spacing:.12em;color:#c3baa5;margin:0}.abbey-seal{position:relative;width:90px;height:90px}.abbey-seal i{position:absolute;inset:0;border:1px solid #bfa77c44;border-radius:50%;transform:rotateX(55deg) rotate(-25deg);animation:abbey-orbit 7s linear infinite}.abbey-seal i:nth-child(2){inset:9px;animation-direction:reverse;animation-duration:9s}.abbey-seal i:nth-child(3){inset:21px;animation-duration:5s;border-color:#d8c399aa}
.abbey-retry{color:#ebdfc3;padding:12px 22px;background:none;border:1px solid #d0b68c66;border-radius:40px;font:12px var(--sans)}
.abbey-words{position:absolute;inset:0;z-index:4;pointer-events:none}.abbey-word{pointer-events:auto;position:absolute;display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 16px 8px 9px;border:1px solid #e3d1ae40;border-radius:40px;background:#07120f91;backdrop-filter:blur(8px);color:#f0dfbd;font:400 13px/1.3 var(--sans);cursor:pointer;transition:background .3s,border-color .3s,opacity .9s,transform 1.1s,filter 1.1s;box-shadow:0 8px 30px #0003}
.abbey-word-mark{width:26px;height:26px;display:grid;place-items:center;border:1px solid #d6be8c59;border-radius:50%;color:#d0b47f;font:18px Georgia,serif}.abbey-word:after{content:'';position:absolute;top:100%;left:22px;height:35px;width:1px;background:linear-gradient(#dbca9b88,transparent);pointer-events:none}
.abbey-word[data-word="0"]{left:53%;top:25%}.abbey-word[data-word="1"]{left:76%;top:44%}.abbey-word[data-word="2"]{left:60%;top:66%}
.abbey-word:hover{border-color:#e3d1ae99;background:#132922cc}.abbey-word.is-released{opacity:0;transform:translateY(-22px) scale(1.04);filter:blur(6px);pointer-events:none}
.abbey-restore{position:absolute;z-index:5;right:40px;bottom:90px;min-height:44px;background:none;border:0;border-bottom:1px solid #ccb68e66;color:#d7c9af;padding:8px 0;font:11px var(--sans);cursor:pointer}
.abbey-announcement{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
[data-phase=loading] .abbey-story,[data-phase=loading] .abbey-bottom{opacity:0;pointer-events:none}
[data-phase="0"] .abbey-story,[data-phase="1"] .abbey-story,[data-phase="2"] .abbey-story,[data-phase=final] .abbey-story{animation:abbey-story-in 1.4s ease both}
[data-phase="1"] .abbey-story{width:min(430px,32vw)}[data-phase="1"] .abbey-title{font-size:clamp(35px,3.5vw,58px)}
[data-phase="2"] .abbey-title,[data-phase=final] .abbey-title{font-size:clamp(34px,3.4vw,58px)}
[data-phase=final] .abbey-story{max-width:560px;width:47vw}
@keyframes abbey-story-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes abbey-orbit{to{transform:rotateX(55deg) rotate(335deg)}}
@media(max-width:700px){
 .abbey-top{padding:16px 18px;gap:10px}.abbey-secret{display:none}.abbey-signature{font-size:9px;letter-spacing:.18em}.abbey-controls{gap:6px}.abbey-control{width:42px;height:42px;padding:10px}
 .abbey-veil{background:linear-gradient(180deg,#02060980,transparent 25%,transparent 40%,#020609c4 78%,#020609e6);box-shadow:inset 0 0 18vw #0003}
 .abbey-story,[data-phase="1"] .abbey-story,[data-phase=final] .abbey-story{left:26px;bottom:108px;width:calc(100% - 52px);max-width:480px}
 .abbey-title,[data-phase="1"] .abbey-title,[data-phase="2"] .abbey-title,[data-phase=final] .abbey-title{font-size:clamp(32px,8.5vw,45px);max-width:380px}.abbey-chapter{font-size:9px;margin-bottom:16px}.abbey-line{font-size:13px;line-height:1.6;max-width:320px;margin:18px 0 20px}
 .abbey-action{font-size:11px;gap:20px}.abbey-action-arrow{width:42px;height:42px}
 .abbey-bottom{bottom:20px;left:26px;right:26px;gap:20px}.abbey-credit{font-size:8px;max-width:210px}.abbey-path{gap:5px}.abbey-path span{width:10px}.abbey-path span.active{width:24px}
 .abbey-word{font-size:12px;gap:8px;padding-right:12px}.abbey-word[data-word="0"]{left:9%;top:22%}.abbey-word[data-word="1"]{left:auto;right:8%;top:35%}.abbey-word[data-word="2"]{left:16%;top:47%}
 .abbey-restore{right:26px;bottom:73px;font-size:10px;min-height:30px}
 [data-phase="2"] .abbey-story{bottom:116px}.abbey-word:after{height:24px}
}
@media(max-height:600px){
 .abbey-top{padding:12px 20px}.abbey-story,[data-phase="1"] .abbey-story,[data-phase=final] .abbey-story{bottom:70px;left:28px;width:min(390px,55vw)}
 .abbey-title,[data-phase="1"] .abbey-title,[data-phase="2"] .abbey-title,[data-phase=final] .abbey-title{font-size:clamp(28px,4vw,42px)}.abbey-chapter{margin-bottom:10px}.abbey-line{font-size:12px;margin:12px 0 16px;max-width:320px}.abbey-bottom{bottom:14px;left:28px;right:28px}.abbey-restore{bottom:65px;right:28px}
}
@media(max-width:700px) and (max-height:650px){
 .abbey-story,[data-phase="1"] .abbey-story,[data-phase=final] .abbey-story{width:calc(100% - 48px);left:24px;bottom:86px}.abbey-title,[data-phase="1"] .abbey-title,[data-phase="2"] .abbey-title,[data-phase=final] .abbey-title{font-size:31px}
 .abbey-chapter{font-size:8px;margin-bottom:10px}.abbey-line{font-size:12px;margin:14px 0 16px}.abbey-word[data-word="0"]{top:18%}.abbey-word[data-word="1"]{top:29%}.abbey-word[data-word="2"]{top:40%}.abbey-restore{bottom:58px}.abbey-credit{max-width:180px;font-size:7px}.abbey-bottom{left:24px;right:24px;bottom:15px}
 [data-phase="2"] .abbey-story{bottom:100px}.abbey-action-arrow{width:36px;height:36px}
}
@media(prefers-reduced-motion:reduce){.abbey-room *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.abbey-seal i{transform:rotate(-25deg)}}
@media print{.abbey-room{display:none!important}}
