/* Card-led information hierarchy, based on the observed Jinsamgukdaejeon detail screen. */
.archive-scene .scene-heading{top:54px;align-items:center;gap:12px}
.archive-scene .scene-heading h1{font-size:26px;white-space:nowrap}
.archive-scene .book-tabs{max-width:66%;gap:5px;justify-content:flex-end;flex-wrap:wrap}
.archive-scene .book-tabs .text-link{font-size:12px;min-height:33px;padding:7px 11px}
.archive-scene .book-tabs select{font-size:11px;min-width:80px;padding:7px 10px}
.archive-scene .archive-stage{top:125px;bottom:142px}
.archive-scene .displayed-card{left:12%;height:100%}
.archive-scene .archive-notes{left:48%;right:2%;padding-right:16px}
.hero-heading>p{font-size:11px;color:#acb9ba;margin:0 0 5px;letter-spacing:.05em}
.hero-heading h2{font:800 28px/1.15 'Noto Serif KR',serif;color:#f3dfae;margin:0 0 4px}
.hero-heading h2 small{font:700 12px 'Noto Sans KR',sans-serif;margin-left:14px;color:#c6bdab}
.hero-heading>span{font-size:12px;color:#c7b88e}
.card-info-tabs{display:flex;gap:8px;margin:13px 0 9px}
.card-info-tabs .text-link{font-size:12px;min-height:32px;padding:6px 15px}
.card-description .hero-line{font-size:12px;margin:7px 0;color:#b8c6cd}
.hero-attributes{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:13px 0 18px;padding:8px 0 12px;border-bottom:1px solid #baa16c44}
.hero-attributes>div{display:flex;align-items:baseline;gap:8px}.hero-attributes dt{font-size:11px;color:#aebdc5}.hero-attributes dd{font:700 21px/1.2 'Noto Serif KR',serif;color:#efe1bf;margin:0}.hero-attributes dd small{font:500 11px 'Noto Sans KR',sans-serif;margin-left:3px}
.hero-ability{margin:13px 0;padding:0}.hero-ability h3,.card-info-section h3{font-size:12px;color:#94cad8;margin:0 0 5px;font-weight:500;line-height:1.5}
.hero-ability h3 b{font:700 15px 'Noto Serif KR',serif;color:#eed69e;display:block;margin-top:3px}.hero-ability h3 small{font-size:12px;color:#eadcbc;display:block}
.hero-ability p,.card-info-section p{font-size:12px;line-height:1.75;margin:4px 0;color:#d4d0bf;word-break:keep-all;overflow-wrap:anywhere}.hero-ability>small{font-size:10px;color:#9caeb8}
.card-info-section .lore-origin{color:#e1c993}.card-info-section .lore-origin small{display:block;font-size:11px;color:#97b3bd;margin-top:4px}
.card-context-actions{gap:5px;margin:12px 0}.card-context-actions .text-link{font-size:11px;padding:6px 10px;min-height:32px}.archive-footnotes{gap:6px;margin:9px 0}.archive-footnotes .text-link{font-size:11px;padding:6px 10px;min-height:32px}
.copy-ribbon{gap:5px;margin:10px 0}.copy-ribbon .text-link{font-size:10px;padding:6px 10px;min-height:30px}
.card-showcase{width:min(43dvh,260px);flex:0 0 auto;position:relative;padding-bottom:40px}
.card-turntable{width:100%;aspect-ratio:2/3;position:relative;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.75,.2,1)}
.card-front,.card-reverse{position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-front>.soul-card{width:100%;height:100%}.card-reverse{transform:rotateY(180deg);border-radius:5px;object-fit:fill}.show-back .card-turntable{transform:rotateY(180deg)}
.flip-control{position:absolute!important;bottom:0;left:10%;width:80%;font-size:11px;padding:7px 10px!important;min-height:32px!important}
.framed-card-preview{perspective:1000px}.framed-card-preview>.card-lore{max-height:65dvh}.card-lore .hero-heading h2{font-size:24px}.card-lore .hero-attributes dd{font-size:18px}.card-lore .hero-attributes{flex-wrap:wrap}
/* A single altar scene keeps growth materials and their result together. */
.growth-workspace{position:absolute;left:5%;right:5%;top:125px;bottom:143px;display:flex;gap:5%;align-items:center}
.growth-card-area{position:relative;width:52%;height:100%;display:flex;justify-content:center;align-items:center;gap:30px;isolation:isolate}
.growth-altar{position:absolute;inset:auto 8% -8%;height:70%;z-index:-1;opacity:.55;pointer-events:none}.growth-altar .world-prop{width:100%;height:100%;filter:drop-shadow(0 0 15px #61dcff55)}
.growth-base-card,.growth-material-card{position:relative;height:min(100%,44dvh);aspect-ratio:2/3;flex-shrink:0}.growth-base-card>.soul-card,.growth-material-card>.soul-card{height:100%;width:100%}.growth-base-card>small,.growth-material-card>small{position:absolute;top:-23px;left:-10%;width:120%;text-align:center;font-size:11px;color:#c9be9c;white-space:nowrap}
.enhance-workspace .growth-card-area{padding-right:12%}.enhancement-stones{position:absolute;right:0;bottom:7%;width:31%;height:48%;display:flex;flex-direction:column;align-items:center}.enhancement-stones .world-prop{height:85%;width:100%;filter:drop-shadow(0 0 12px #b2edff77)}.enhancement-stones>span:last-child{font-size:11px;color:#b9d4dd;white-space:nowrap}
.fusion-workspace .growth-base-card,.fusion-workspace .growth-material-card{height:min(84%,32dvh)}.fusion-workspace .growth-card-area{gap:9%}.fusion-link{position:absolute;left:47%;top:43%;font-size:26px;color:#e9c97c;text-shadow:0 0 12px #8fdfff}.missing-card-back{height:100%;width:100%;object-fit:fill;opacity:.35;filter:grayscale(.5)}
.growth-ledger{width:43%;height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b8a27a66 transparent;padding-right:8px;color:#d4d0bf}.growth-ledger>small{font-size:11px;color:#94b5bf}.growth-ledger h2{font:800 27px/1.2 'Noto Serif KR',serif;color:#f0d69b;margin:5px 0 8px}.growth-hero-name{font-size:15px;margin:8px 0;color:#e6ddc6}.growth-rank-line{display:flex;align-items:center;gap:18px;font:700 21px 'Noto Serif KR',serif;margin:10px 0}.growth-ledger i{font-style:normal;color:#9fb5bc}.growth-attack-line{font-size:12px;display:flex;gap:12px;align-items:baseline;margin:9px 0}.growth-attack-line b,.growth-attack-line strong{font-size:20px;color:#e7e1ce}.growth-attack-line strong{color:#a6e5d8}.growth-clones{font-size:12px;color:#a6e5d8}.growth-requirement{font-size:12px;color:#d5c08f;line-height:1.6;margin:14px 0 5px}.growth-reason{font-size:11px;color:#aabac2;line-height:1.7;word-break:keep-all;margin:5px 0 12px}.growth-submit{font-size:15px;min-height:43px;padding:10px 24px;display:block;width:min(100%,245px)}.growth-ledger>.text-link{font-size:11px;min-height:32px;padding:6px 10px;margin:5px 5px 0 0}
/* Both sides of a newly acquired card are shown during its reveal. */
/* The mutation is already saved; this is the short reveal ceremony. */
.growth-ceremony{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at 50% 45%,#102a3ed9,#050e18fa 80%),url('./assets/seoul-approved-bg.webp?v=20261028-panteon153-v17') center/cover;isolation:isolate;overflow:hidden;color:#ede1c2}
.growth-fx-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}.ceremony-title{position:absolute;top:5%;text-align:center}.ceremony-title small{font-size:13px;letter-spacing:.12em;color:#a4c4d0}.ceremony-title h2{font:700 21px/1.3 'Noto Serif KR',serif;color:#ecd6a8;margin:7px 0}
.ceremony-stage{position:absolute;left:10%;right:10%;top:19%;height:48%;perspective:1000px}.ceremony-result{position:absolute;left:50%;top:50%;width:min(30dvh,200px);aspect-ratio:2/3;transform:translate(-50%,-50%) rotateY(180deg) scale(.88);transform-style:preserve-3d;transition:transform .7s cubic-bezier(.15,.75,.2,1),filter .5s;filter:drop-shadow(0 0 15px var(--growth-color));z-index:3}
.ceremony-result-front,.ceremony-result-back{position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.ceremony-result-front>.soul-card{width:100%;height:100%}.ceremony-result-back{transform:rotateY(180deg);object-fit:fill;border-radius:4px}
.ceremony-ingredient{position:absolute;top:50%;width:min(23dvh,155px);aspect-ratio:2/3;z-index:2;transform:translate(-50%,-50%)}.ingredient-left{left:25%}.ingredient-right{left:75%}.ceremony-ingredient>.soul-card{width:100%;height:100%}.ceremony-started .ingredient-left{animation:fuse-left 1.6s cubic-bezier(.3,.1,.2,1) both}.ceremony-started .ingredient-right{animation:fuse-right 1.6s cubic-bezier(.3,.1,.2,1) both}
.ceremony-stones{position:absolute;inset:0;z-index:2;pointer-events:none}.ceremony-stones .world-prop{position:absolute;left:16%;top:80%;width:60px;height:60px;opacity:0}.ceremony-started .ceremony-stones .world-prop{animation:stone-absorb 1.2s ease-in both}.ceremony-stones .world-prop:nth-child(2){left:75%;top:70%;animation-delay:.13s}.ceremony-stones .world-prop:nth-child(3){left:44%;top:95%;animation-delay:.27s}
.ceremony-revealed .ceremony-result{transform:translate(-50%,-50%) rotateY(0) scale(1);filter:drop-shadow(0 0 22px var(--growth-color))}.ceremony-revealed .ceremony-ingredient,.ceremony-revealed .ceremony-stones{visibility:hidden}
.ceremony-summary{position:absolute;top:68%;text-align:center;opacity:0;transform:translateY(8px);transition:opacity .35s .4s,transform .35s .4s}.ceremony-revealed .ceremony-summary{opacity:1;transform:none}.ceremony-summary h3{font:800 21px 'Noto Serif KR',serif;color:var(--growth-color);margin:0 0 7px}.ceremony-summary p{font-size:13px;margin:4px 0}.ceremony-summary i{font-style:normal;color:#9bbbc7;margin:0 12px}.ceremony-summary strong,.ceremony-summary b{color:#eff0d9}.ceremony-summary small{font-size:10px;color:#9fb6bf;display:block;margin-top:5px}.ceremony-done{display:block;min-width:135px;min-height:34px;font-size:13px;margin:9px auto 0;padding:7px 20px}.ceremony-skip{position:absolute!important;right:3%;bottom:4%;font-size:11px}
@keyframes fuse-left{0%,20%{left:25%;opacity:1;transform:translate(-50%,-50%) rotate(-7deg)}70%{opacity:1}100%{left:50%;opacity:0;transform:translate(-50%,-50%) rotate(12deg) scale(.2)}}
@keyframes fuse-right{0%,20%{left:75%;opacity:1;transform:translate(-50%,-50%) rotate(7deg)}70%{opacity:1}100%{left:50%;opacity:0;transform:translate(-50%,-50%) rotate(-12deg) scale(.2)}}
@keyframes stone-absorb{0%{opacity:0;transform:scale(.4)}20%{opacity:1;transform:scale(1)}100%{left:47%;top:40%;opacity:0;transform:scale(.1) rotate(130deg)}}
@media(max-height:450px) and (orientation:landscape){.archive-scene .scene-heading{top:43px}.archive-scene .scene-heading h1{font-size:22px}.archive-scene .scene-heading small{font-size:9px}.archive-scene .book-tabs{max-width:65%}.archive-scene .book-tabs .text-link{font-size:10px;padding:6px 10px;min-height:29px}.archive-scene .book-tabs select{font-size:10px;min-width:74px;padding:6px 8px}.archive-scene .archive-stage,.growth-workspace{top:111px;bottom:124px}.archive-scene .displayed-card{left:12%}.archive-scene .archive-notes{left:43%;right:1%}.hero-heading h2{font-size:23px}.hero-heading>span{font-size:11px}.card-info-tabs{margin:8px 0}.card-info-tabs .text-link{font-size:11px;min-height:29px;padding:6px 12px}.hero-attributes{margin:8px 0 12px;gap:8px}.hero-attributes dd{font-size:17px}.hero-attributes dt{font-size:10px}.hero-ability{margin:10px 0}.hero-ability h3 b{font-size:13px}.hero-ability p,.card-info-section p{font-size:11px}.framed-card-preview>.card-lore{max-height:67dvh}.framed-card-preview>.card-showcase{width:min(39dvh,250px)}.growth-ledger h2{font-size:23px}.growth-ledger>small{font-size:10px}.growth-rank-line{font-size:18px;margin:7px 0}.growth-hero-name{font-size:13px}.growth-attack-line b,.growth-attack-line strong{font-size:17px}.growth-requirement{font-size:11px}.growth-reason{font-size:10px}.growth-submit{font-size:13px;min-height:38px}.growth-workspace .growth-card-area{height:90%}.growth-card-area .growth-base-card,.growth-card-area .growth-material-card{height:100%}.fusion-workspace .growth-card-area{gap:10%}.fusion-workspace .growth-base-card,.fusion-workspace .growth-material-card{height:90%}.ceremony-summary{top:66%}.ceremony-summary h3{font-size:18px}.ceremony-summary p{font-size:12px}.ceremony-title h2{font-size:18px}.ceremony-title{top:4%}.ceremony-done{min-height:32px;margin-top:6px}.ceremony-stage{top:19%;height:45%}}
@media(max-width:700px) and (orientation:landscape){.archive-scene .scene-heading h1{font-size:19px}.archive-scene .book-tabs .text-link{padding:5px 8px;font-size:10px}.archive-scene .book-tabs select{font-size:9px;min-width:64px}.hero-attributes{flex-wrap:wrap;justify-content:flex-start;gap:9px 16px}.growth-workspace{gap:3%;left:3%;right:3%}.growth-ledger{width:45%}.growth-card-area{width:52%}.growth-base-card>small,.growth-material-card>small{font-size:10px}.ceremony-summary small{font-size:10px}}
@media(orientation:portrait){.archive-scene .scene-heading{top:57px;align-items:flex-start}.archive-scene .scene-heading h1{font-size:21px}.archive-scene .book-tabs{max-width:55%;gap:3px}.archive-scene .book-tabs .text-link{font-size:10px;min-height:29px;padding:5px 9px}.archive-scene .archive-stage{top:160px;bottom:133px}.archive-scene .displayed-card{left:0;height:68%}.archive-scene .archive-notes{left:44%;right:0}.hero-attributes{flex-wrap:wrap}.framed-card-preview>.card-showcase{width:min(37vw,210px)}.growth-workspace{top:165px;bottom:143px;flex-direction:column;gap:30px;overflow-y:auto}.growth-card-area{width:100%;height:250px;min-height:250px}.growth-ledger{width:100%;height:auto;overflow:visible}.growth-base-card,.growth-material-card{height:220px!important}.growth-altar{inset:auto 15% 0}.ceremony-stage{left:0;right:0;top:24%;height:40%}.ceremony-result{width:min(35vw,200px)}.ceremony-ingredient{width:25vw}.ceremony-title{top:12%}.ceremony-summary{top:66%}.ceremony-title h2{font-size:18px}}
@media(max-height:450px) and (orientation:landscape){
 .archive-scene .archive-stage,.growth-workspace{top:99px;bottom:103px}
 .archive-scene .archive-shelf{height:97px}
 .archive-scene .hero-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 9px}
 .archive-scene .hero-heading>p{flex-basis:100%;font-size:9px;margin:0}
 .archive-scene .hero-heading h2{font-size:22px;margin:0}
 .archive-scene .hero-heading>span{font-size:10px}
 .archive-scene .card-info-tabs{margin:6px 0 3px}
 .archive-scene .card-info-tabs .text-link{min-height:27px;padding:5px 11px}
 .archive-scene .hero-line{font-size:10px;margin:4px 0}
 .archive-scene .hero-attributes{margin:5px 0 8px;padding:4px 0 7px}
 .archive-scene .hero-attributes dd{font-size:17px}
 .growth-ledger>small{display:none}.growth-ledger h2{font-size:21px;margin:0 0 4px}.growth-hero-name{font-size:12px;margin:3px 0}.growth-rank-line{font-size:18px;margin:4px 0}.growth-attack-line{margin:4px 0}.growth-requirement{margin:7px 0 3px;font-size:11px}.growth-reason{font-size:10px;margin:3px 0 7px;line-height:1.45}.growth-submit{font-size:13px;min-height:36px;padding:7px 18px}
}
.growth-ledger{height:calc(100% - 47px);align-self:flex-start}
.growth-workspace>.growth-submit{position:absolute;right:0;bottom:0;width:43%;max-width:none;min-height:40px;margin:0}
@media(orientation:portrait){.growth-ledger{height:auto;align-self:auto}.growth-workspace>.growth-submit{position:static;width:100%;margin:0 0 12px}}
.ceremony-result,.ceremony-revealed .ceremony-result{filter:none}
.ceremony-result-front{transform:rotateY(0deg)}
.ceremony-result-front,.ceremony-result-back{filter:drop-shadow(0 0 15px var(--growth-color))}
@media(max-height:450px) and (orientation:landscape){.ceremony-summary{top:64%}}
.growth-workspace>.growth-submit{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-left:22px;padding-right:22px}
.growth-submit small{font:500 10px 'Noto Sans KR',sans-serif;white-space:nowrap}
/* Positioned controls keep their painted pseudo-element attached on narrow screens. */
@media(orientation:portrait){.growth-workspace>.growth-submit{position:relative;flex-shrink:0}.growth-ledger{flex-shrink:0}.growth-workspace{padding-bottom:12px}}
.hero-heading .base-combat-score{display:block;font:500 10px 'Noto Sans KR',sans-serif;color:#a1cbd5;margin-top:3px}

/* Ritual timings match the generated charge, convergence and rank burst. */
.ceremony-started .ingredient-left,.ceremony-started .ingredient-right{animation-duration:2.35s}.ceremony-started .ceremony-stones .world-prop{animation-duration:1.75s}.ceremony-result-front>.soul-card{box-shadow:0 0 26px color-mix(in srgb,var(--growth-color) 50%,transparent)}
@media(prefers-reduced-motion:reduce){.card-turntable,.ceremony-result,.ceremony-summary{transition:none}.ceremony-ingredient,.ceremony-stones{display:none}}
