/* All effects are paint-only overlays. Card and form geometry never animates. */
html body.onnen-yugen #levelList .level-card{position:relative;isolation:isolate;overflow:hidden;transition:border-color .25s ease,background .25s ease,box-shadow .25s ease}
html body.onnen-yugen #levelList .level-card>.onnen-intent-energy{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;contain:strict;opacity:.75}
html body.onnen-yugen #levelList .level-card>div{position:relative;z-index:1}
html body.onnen-yugen #levelList .level-card>div:nth-child(2){text-shadow:0 1px 9px #160907,0 1px 3px #160907}
html body.onnen-yugen #levelList .level-card.selected>.onnen-intent-energy{opacity:1}
html body.onnen-yugen #levelList .level-card .weight{text-shadow:0 1px 8px #120303,0 0 18px #120303}
html body.onnen-yugen #levelList .level-card[data-level='3'].selected{box-shadow:inset 0 -3px 24px #8f30282e}
html body.onnen-yugen #levelList .level-card[data-level='4'].selected{box-shadow:inset 0 0 0 2px #dc7f6036,0 0 22px #99291f26}
html body.onnen-yugen #levelList .level-card[data-level='5'].selected{box-shadow:inset 0 0 40px #2d0206c9,0 0 30px #b334242e}
html body.onnen-yugen #levelList .level-card[data-level='6'].selected{background:linear-gradient(100deg,#581615,#15070be8 82%);border-color:#e17d65;box-shadow:inset 0 0 46px #13000b,0 0 33px #b334243d}
html body.onnen-yugen #ritualStage{isolation:isolate;--onnen-infusion-strength:.06}
.onnen-infusion-energy{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;contain:strict}
html body.onnen-yugen #ritualStage .ritual-content{z-index:2}
html body.onnen-yugen #ritualStage[data-energy-ready='true'] #ritualCanvas{opacity:0}
html body.onnen-yugen #ritualStage[data-energy-ready='true'] #ritualSymbol{width:230px;height:200px;margin:0 0 24px;border:0;transform:none;color:#ddc8ad;background:none;box-shadow:none;animation:none}
html body.onnen-yugen #ritualStage[data-energy-ready='true'] #ritualSymbol span{transform:none;font-size:45px;opacity:calc(.6 - var(--onnen-infusion-strength)*.6);text-shadow:0 2px 8px #000;transition:opacity .22s ease}
html body.onnen-yugen #ritualStage[data-energy-ready='true'] #holdButton{width:156px;height:156px;isolation:isolate;position:relative;overflow:visible;border:1px solid #a758405e;border-radius:50%;color:#f0dfc6;background:radial-gradient(circle at 50% 48%,rgba(119,28,19,calc(var(--onnen-infusion-strength)*.75)),#100809 54%,#080608 71%);box-shadow:inset 0 0 22px #d8623a30,inset 0 0 4px #f1996540,0 0 calc(14px + var(--onnen-infusion-strength)*42px) rgba(155,43,25,calc(.10 + var(--onnen-infusion-strength)*.36));animation:none;transition:filter .22s ease,box-shadow .22s ease;color-scheme:dark}
html body.onnen-yugen #ritualStage[data-energy-ready='true'] #holdButton span{font-size:14px;letter-spacing:.15em;text-shadow:0 2px 4px #000,0 0 10px #000;line-height:1.6}
html body.onnen-yugen #ritualStage[data-energy-ready='true'] #holdButton::before{content:none}
html body.onnen-yugen #ritualStage[data-energy-ready='true'] #holdButton::after{content:'';position:absolute;inset:6px;border-radius:50%;pointer-events:none;z-index:-1;background:conic-gradient(from -90deg,#edb274 0turn,#a93827 calc(var(--onnen-infusion-progress,0)*1turn),#351918 calc(var(--onnen-infusion-progress,0)*1turn),#351918 1turn);mask-image:radial-gradient(circle,transparent 66%,#000 68%,#000 70%,transparent 72%);opacity:.9;transform:none;animation:none}
@keyframes onnen-portal-ink{to{transform:rotate(360deg)}}
html body.onnen-yugen #ritualStage[data-energy-state='holding'] #holdButton{filter:brightness(1.15)}
html body.onnen-yugen #ritualStage[data-energy-state='armed'] #holdButton{color:#fff0d4;filter:brightness(1.28)}
html body.onnen-yugen #ritualStage[data-energy-state='armed'] #holdButton::before{opacity:1}
html body.onnen-yugen #ritualStage[data-energy-ready='true'] #holdButton:focus-visible{outline:2px solid #dab898;outline-offset:6px}
html body.onnen-yugen .screen[data-screen='seal'] .seal-mark{transform:none;border:0;background:url('/assets/materials/infusion-core.png') center/contain no-repeat;position:relative;isolation:isolate;box-shadow:none}
html body.onnen-yugen .screen[data-screen='seal'] .seal-mark::before{content:'';position:absolute;inset:-15%;background:url('/assets/materials/ink-smoke.png') center/contain no-repeat;opacity:.32;pointer-events:none;z-index:-1;animation:onnen-seal-smoke 6s ease-in-out infinite alternate}
html body.onnen-yugen .screen[data-screen='seal'] #sealGlyph{display:block;width:47%;aspect-ratio:1;transform:rotate(-8deg);color:transparent;background:url('/assets/materials/worn-seal.png') center/contain no-repeat;font-size:0;filter:saturate(.72) brightness(.85);animation:onnen-ink-pressure .45s ease-out both}
@keyframes onnen-ink-pressure{from{opacity:0;filter:saturate(.72) brightness(1.1) blur(2px);transform:rotate(-8deg) scale(1.14)}to{opacity:1;filter:saturate(.72) brightness(.85);transform:rotate(-8deg) scale(1)}}
@keyframes onnen-seal-smoke{from{transform:scale(.92) rotate(-5deg);opacity:.20}to{transform:scale(1.05) rotate(4deg);opacity:.36}}
html body.onnen-yugen #ritualStage #holdHint{min-height:2.7em;max-width:36em;margin:72px 20px 0;color:#baa897;line-height:1.6}
html body.onnen-yugen #ritualStage #ritualInstruction{min-height:1.8em;color:#c3b09e}
html body.onnen-yugen #ritualStage .ritual-meter{height:2px}
html body.onnen-yugen #ritualStage .ritual-meter span{height:2px}
@media(max-width:600px){html body.onnen-yugen #levelList .level-card>.onnen-intent-energy{opacity:.54}html body.onnen-yugen #levelList .level-card.selected>.onnen-intent-energy{opacity:.85}}
@media(prefers-reduced-motion:reduce){html body.onnen-yugen #ritualStage #holdButton::before{animation:none!important}html body.onnen-yugen #levelList .level-card{transition:none}}
@media(prefers-reduced-motion:reduce){html body.onnen-yugen .screen[data-screen='seal'] .seal-mark::before,html body.onnen-yugen .screen[data-screen='seal'] #sealGlyph{animation:none}}
html:not([data-onnen-ink-ready='true']) body.onnen-yugen .screen[data-screen='seal'] #sealGlyph{color:#b86951;font:500 80px/1.8 serif;background:none}
html body.onnen-yugen .screen[data-screen='seal'] .seal-mark{mask-image:radial-gradient(ellipse 51% 45% at 50% 51%,#000 55%,transparent 98%)}
html body.onnen-yugen #ritualStage .ritual-content{padding:20px 0}
html body.onnen-yugen #ritualStage .onnen-hold-return{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:calc(100% - 32px);margin:30px 0 0;padding:10px 18px;border:1px solid #9e77614d;background:#100c0bb8;color:#d7c4ac;font-family:inherit;font-weight:500;font-size:12px;line-height:1.6;letter-spacing:.04em;cursor:pointer;transition:background .25s,border-color .25s,color .25s}
html body.onnen-yugen #ritualStage .onnen-hold-return:hover{border-color:#bc8c72;background:#35201abe;color:#f2dfc5}
html body.onnen-yugen #ritualStage .onnen-hold-return:focus-visible{outline:2px solid #d7b89b;outline-offset:4px}
html body.onnen-yugen #ritualStage .onnen-hold-return:disabled{opacity:.4;cursor:default}
@media(max-height:780px){
html body.onnen-yugen #ritualStage[data-energy-ready='true'] #ritualSymbol{height:130px;width:180px;margin:0 0 14px}
html body.onnen-yugen #ritualStage .ritual-index{margin:4px 0 10px}
html body.onnen-yugen #ritualStage #ritualTitle{font-size:clamp(30px,4vw,46px)}
html body.onnen-yugen #ritualStage #ritualInstruction{margin:10px 0 14px}
html body.onnen-yugen #ritualStage .ritual-meter{margin:8px 0 16px}
html body.onnen-yugen #ritualStage[data-energy-ready='true'] #holdButton{width:132px;height:132px}
html body.onnen-yugen #ritualStage #holdHint{margin-top:60px}
}
