.awakening-panel{padding:18px;margin:18px 0;background:var(--color-surface,#fff9ed);border:1px solid var(--color-border,#d3c5a6);border-radius:16px;color:var(--color-text,#283a39)}
.awakening-panel h2{margin:0 0 12px;font-size:1.15rem;line-height:1.5}.awakening-panel ol{padding-inline-start:24px;line-height:1.8}.awakening-panel li+li{margin-top:12px}#guide-pet-awakening:focus-visible{outline:2px solid var(--color-primary,#98702e);outline-offset:4px}
#view-gacha .gacha-info-actions{display:flex;align-items:stretch;gap:10px;margin:12px 0;flex-wrap:wrap}
#view-gacha .gacha-info-actions>button{margin:0;min-height:44px;flex:1;justify-content:center;font-size:.85rem;white-space:nowrap}
.gacha-pet-awakening-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;color:#f8e5b5;background:linear-gradient(125deg,#25483c,#142e2b);border:1px solid #a18a50;border-radius:10px;box-shadow:inset 0 1px 0 #e4c77524;cursor:pointer;font-family:inherit;transition:border-color .18s,background .18s}
.gacha-pet-awakening-btn__icon{color:#eac97a;font-size:1.2rem}.gacha-pet-awakening-btn__chevron{margin-inline-start:auto;transition:transform .18s}.gacha-pet-awakening-btn[aria-expanded='true']{border-color:#e8c77c;background:linear-gradient(125deg,#385749,#1d3e35)}.gacha-pet-awakening-btn[aria-expanded='true'] .gacha-pet-awakening-btn__chevron{transform:rotate(180deg)}.gacha-pet-awakening-btn:hover{border-color:#f1d894}.gacha-pet-awakening-btn:focus-visible{outline:2px solid #eac97a;outline-offset:3px}
#view-gacha .gacha-pet-awakening-guide{margin:0 0 14px;background:linear-gradient(145deg,#15372f,#102923);color:#f3ebd5;border-color:#9b875060;position:relative;overflow:hidden;border-radius:14px;font-size:.85rem}#view-gacha .gacha-pet-awakening-guide h2{color:#eac97a;font-size:1rem}#view-gacha .gacha-pet-awakening-guide li::marker{color:#eac97a;font-weight:700}#view-gacha .gacha-pet-awakening-guide strong{color:#f3dca2}#view-gacha .gacha-pet-awakening-guide .btn{color:#f3ebd5;border-color:#9b8750;background:#294b3d}
#gacha-pet-awakening-toggle[hidden],#gacha-pet-awakening-guide[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.gacha-pet-awakening-btn,.gacha-pet-awakening-btn__chevron{transition:none}}
.modal:has(.awakening-wizard){max-width:780px}
.awakening-wizard{max-width:100%;color:var(--color-text-main)}
.awakening-wizard__eyebrow{font-size:.85em;color:var(--color-text-secondary);letter-spacing:.08em}
.awakening-wizard__layout{display:grid;grid-template-columns:minmax(100px,160px) minmax(0,1fr);gap:22px;align-items:start;margin:20px 0}
.awakening-wizard__portrait img{width:100%;height:auto;max-height:220px;object-fit:contain;border-radius:16px}
.awakening-wizard__stage{min-width:0;padding:18px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px}
.awakening-wizard__stage h2{font-size:1.25em;margin-top:0}
.awakening-wizard__message{border-inline-start:2px solid var(--color-primary);padding-inline-start:12px}
.awakening-wizard__stage .btn--primary{width:100%;white-space:normal}
.awakening-wizard__conditions{margin:20px 0;line-height:1.8}
.awakening-wizard__conditions summary{cursor:pointer;min-height:44px;display:list-item}
.awakening-wizard__conditions ul{padding-inline-start:22px}
.awakening-wizard__note{font-size:.85em;color:var(--color-text-secondary)}
.awakening-return{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.awakening-return p{flex:1;margin:0;min-width:180px}
@media(max-width:600px){.awakening-wizard__layout{grid-template-columns:1fr;gap:14px}.awakening-wizard__portrait img{display:block;width:130px;margin:auto}.awakening-wizard__stage{padding:16px}}
.awakening-panel h3{margin:0 0 10px}.awakening-panel p{line-height:1.7}.awakening-panel__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.awakening-panel__actions .btn{min-height:44px}.awakening-panel progress{width:100%;height:10px;accent-color:#98702e}.awakening-mark{font-size:.8em;color:#a37a34}.awakening-reader{max-width:620px;margin:auto}.awakening-reader h2{line-height:1.5}.awakening-reader p{line-height:1.85}.awakening-home{margin-top:12px}.awakening-error{color:var(--color-danger,#a33b37)}
.awakening-scene{--awakening-duration:5000ms;position:fixed;inset:0;z-index:12500;isolation:isolate;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#102725;color:#fff1d0;overflow:hidden;padding:20px;font-family:serif}
.awakening-scene__sky{position:absolute;inset:0;z-index:-4;background:radial-gradient(ellipse at 50% 24%,#879a7c 0,#315452 45%,#102725 85%)}
.awakening-scene__clouds{position:absolute;inset:-30%;z-index:-2;opacity:.22;background:radial-gradient(ellipse at 25% 40%,#e3e5d0 0,transparent 33%),radial-gradient(ellipse at 80% 75%,#bdccc4 0,transparent 28%);animation:awakening-clouds var(--awakening-duration) ease-out both}
.awakening-scene__world{position:absolute;width:100%;height:100%;inset:0;z-index:-1;fill:none;stroke:#efd398;stroke-width:5;stroke-linecap:round;opacity:.6;pointer-events:none}.awakening-ridges{fill:#183a3b;stroke:none;opacity:.65}.awakening-scene--boundary .awakening-scene__world{stroke:#eda174}.awakening-scene--blade .awakening-scene__world{stroke:#e6f3cc}
.awakening-trace,.awakening-blade,.awakening-bridge{stroke-dasharray:2300;stroke-dashoffset:2300;animation:awakening-line var(--awakening-duration) ease-out both}.awakening-wing{transform-origin:480px 350px;animation:awakening-wing var(--awakening-duration) ease-out both}.awakening-boundary{transform-origin:center;animation:awakening-ring var(--awakening-duration) ease-out both}.awakening-mist{animation:awakening-mist var(--awakening-duration) ease-out both}.awakening-leaf,.awakening-spark{animation:awakening-leaves var(--awakening-duration) ease-out both}
.awakening-scene__portraits{position:relative;width:min(72vw,460px);aspect-ratio:1;max-height:58vh;flex-shrink:0;border:1px solid #e1c38c99;border-radius:26px;overflow:hidden;box-shadow:0 0 55px #e0bd7555;margin-bottom:14px;background:#203a39}.awakening-scene__portraits img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.awakening-before{animation:awakening-before var(--awakening-duration) linear both}.awakening-after{animation:awakening-after var(--awakening-duration) ease-out both}
.awakening-scene__words{text-align:center;max-width:680px;text-shadow:0 2px 10px #000}.awakening-scene__words h2{font-size:clamp(24px,4vw,36px);margin:6px 0}.awakening-scene__words p{margin:4px 0;line-height:1.6}.awakening-scene__eyebrow{font-size:13px;letter-spacing:.16em;color:#e6cf9f}.awakening-scene__title{color:#f2d891;font-size:15px}.awakening-scene__skip{position:absolute;right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));background:#102725cc!important;color:#fff1d0!important;border:1px solid #c8ae76!important;min-height:44px}
@keyframes awakening-before{0%,24%{opacity:1}47%,100%{opacity:0}}@keyframes awakening-after{0%,27%{opacity:0;transform:scale(.93)}55%,100%{opacity:1;transform:scale(1)}}@keyframes awakening-clouds{from{transform:translateX(-4%)}to{transform:translateX(5%)}}@keyframes awakening-line{0%,22%{stroke-dashoffset:2300}70%,100%{stroke-dashoffset:0}}@keyframes awakening-wing{0%,20%{transform:scaleX(.3);opacity:0}58%,100%{transform:scaleX(1);opacity:1}}@keyframes awakening-ring{0%,20%{transform:scale(.1);opacity:0}60%,100%{transform:scale(1);opacity:1}}@keyframes awakening-mist{from{transform:translateY(0);opacity:1}to{transform:translateY(-90px);opacity:0}}@keyframes awakening-leaves{0%,22%{opacity:0;transform:translateY(30px)}65%,100%{opacity:1;transform:translateY(-8px)}}
.awakening-scene--reduced *{animation:none!important}.awakening-scene--reduced .awakening-before{display:none}.awakening-scene--reduced .awakening-after{opacity:1}.awakening-scene--reduced .awakening-trace,.awakening-scene--reduced .awakening-blade,.awakening-scene--reduced .awakening-bridge{stroke-dashoffset:0}.awakening-scene--reduced{animation:awakening-fade .6s ease-out both}@keyframes awakening-fade{from{opacity:0}to{opacity:1}}
@media(max-width:360px){.awakening-scene{padding:12px}.awakening-scene__words p{font-size:13px}.awakening-scene__portraits{width:82vw}.awakening-scene__words h2{font-size:23px}}@media(prefers-reduced-motion:reduce){.awakening-panel *{scroll-behavior:auto}}

.awakening-reader .awakening-wizard__portrait .pet-image-frame{width:100%;height:auto;aspect-ratio:1}.awakening-reader .awakening-wizard__portrait .pet-img{width:100%;height:100%;max-height:none;object-fit:contain}@media(max-width:600px){.awakening-reader .awakening-wizard__portrait .pet-image-frame{width:130px;margin:auto}}

/* Keep the promise identifiable in every theme, including completed cards. */
body[data-theme] #view-tasks .task-card.twilight-task-card.task-card--demon-final {
  border: 2px solid #ab68cf;
  padding: 16px 10px;
  border-radius: 12px;
  border-inline-start: 5px solid #ab68cf;
  box-shadow: 0 0 0 1px #ab68cf33, 0 3px 14px #73379022;
}
.task-card--demon-final .task-card__meta, .demon-task-note { color: var(--color-text-main); }
.demon-task-note { font-size: .8rem; margin: .5rem; }
#demon-final-answer { display: block; width: 100%; box-sizing: border-box; margin: .7rem 0; padding: .7rem; color: var(--color-text-main); background: var(--color-surface); border: 2px solid #ab68cf; border-radius: 10px; font: inherit; }
