#soul-engraving-modal{padding:0;background:#030712;z-index:80}.soul-engraving-shell{width:100vw;height:100dvh;display:flex;flex-direction:column;overflow:hidden;color:#e8e4dc;background:linear-gradient(#05091455,#05091488),url('image_webp/ui_soul_engraving_20260916/cathedral_background.webp') center/cover no-repeat;box-shadow:inset 0 0 90px #000}
.soul-icon-img{width:24px;height:24px;object-fit:contain;vertical-align:middle;filter:drop-shadow(0 0 4px #65bfff88)}
.engraving-wallet .soul-icon-img{width:30px;height:30px;margin-right:4px}.soul-engraving-shell{width:100vw;height:100dvh;display:flex;flex-direction:column;overflow:hidden;color:#e8e4dc;background:linear-gradient(#05091455,#05091488),url('image_webp/ui_soul_engraving_20260916/cathedral_background.webp') center/cover no-repeat;box-shadow:inset 0 0 90px #000}
.engraving-header{position:relative;height:128px;min-height:128px;display:grid;grid-template-columns:minmax(0,1fr) auto auto 52px;align-items:center;gap:25px;padding:14px 6.3%;border-bottom:2px solid #a9894e;background:linear-gradient(180deg,#0e1a2c 0%,#07101a 55%,#050910 100%);box-shadow:0 2px 0 #4a3a1c99,0 10px 22px #000a,inset 0 1px 0 #ffffff0a;box-sizing:border-box;overflow:hidden}
.engraving-header:before,.engraving-header:after{content:"";position:absolute;top:0;bottom:0;width:140px;pointer-events:none}
.engraving-header:before{left:0;background:linear-gradient(90deg,#a9894e2e,transparent)}
.engraving-header:after{right:0;background:linear-gradient(270deg,#a9894e2e,transparent)}.engraving-kicker{font-family:Georgia,'Times New Roman',serif;font-size:12px;font-weight:700;letter-spacing:6px;color:#c8d2e4}.engraving-header h2{margin:5px 0;font-family:Georgia,'Times New Roman',serif;font-size:40px;font-weight:700;letter-spacing:8px;color:#f4d894;text-shadow:0 0 18px #efc15b55}
.engraving-header>div:first-child{position:relative;padding-left:16px;border-left:2px solid #a9894e99}
.engraving-header h2:after{content:"";display:block;width:130px;height:2px;margin-top:8px;background:linear-gradient(90deg,#e8c76f,#e8c76f00)}.engraving-header p{margin:0;font-family:'Noto Sans KR',sans-serif;color:#99abc7;font-size:14px}.engraving-header-class{text-align:center;min-width:132px;padding:9px 18px 10px;border:1px solid #80663e;background:linear-gradient(180deg,#201a2bce,#0a1220d9);box-shadow:inset 0 0 16px #d2a94b16,0 0 12px #0008}.engraving-header-class span{display:block;color:#9aa9bf;font-size:10px;letter-spacing:2px}.engraving-header-class strong{display:block;margin-top:3px;color:#f5d584;font-family:Georgia,'Times New Roman',serif;font-size:25px;letter-spacing:4px;text-shadow:0 0 10px #d49b3e88}.engraving-wallet strong,.engraving-wallet span,.engraving-wallet small{display:block}.engraving-wallet strong{color:#f1d28e;font-size:26px}.engraving-wallet>span,.engraving-wallet small{color:#adb7ca;font-size:12px}.engraving-close{width:48px;height:48px;border:0;background:transparent url('image_webp/ui_soul_engraving_20260916/engraving_close.webp') center/contain no-repeat;cursor:pointer;filter:drop-shadow(0 3px 5px #000b);transition:filter .15s ease,transform .15s ease}.engraving-close:hover{filter:brightness(1.2) drop-shadow(0 0 8px #d8aa58aa)}.engraving-close:active{transform:translateY(1px) scale(.96);filter:brightness(.9)}
.engraving-class-tabs{display:grid;grid-template-columns:repeat(5,1fr);height:70px;min-height:70px;margin:0 4%;border-bottom:1px solid #77623d;background:#050b14ed}.engraving-class-tabs button{position:relative;display:flex;justify-content:center;align-items:center;gap:14px;border:0;border-right:1px solid #334057;background:#08111ddd;color:#aebbd1;cursor:pointer;font-size:15px}.engraving-class-tabs button:after{content:"";position:absolute;left:14%;right:14%;bottom:0;height:3px}.engraving-class-tabs button.active{color:#f4d98f;background:linear-gradient(0deg,#7d622541,transparent)}.engraving-class-tabs button.active:after{background:#f0ce71;box-shadow:0 0 14px #f5cb64}.engraving-class-tabs img{width:48px;height:48px;object-fit:cover;border-radius:50%;border:1px solid #8c7651}.engraving-class-tabs button.active img{box-shadow:0 0 18px #d8ad4d88}
.engraving-content{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:0;flex:1;margin:0 4% 3.4%;background:#05091466}.engraving-tree-wrap{overflow-y:auto;overflow-x:hidden;padding:16px 28px 24px 28px;position:relative;background:radial-gradient(circle at 58% 54%,#6726a633,transparent 35%)}.engraving-tree-wrap:before{content:"";position:absolute;left:14px;top:16px;bottom:18px;width:128px;background:transparent;border:0;box-shadow:none;pointer-events:none}
.engraving-tier{position:relative;margin-top:8px}.tier-label{position:absolute;left:-155px;width:118px;top:50%;transform:translateY(-50%);text-align:center}.tier-label>span{display:inline-grid;place-items:center;width:33px;height:33px;border:1px solid #b69756;border-radius:50%;color:#f0cf7c}.tier-label b,.tier-label small{display:block}.tier-label b{margin-top:8px;color:#f0d27f;font-size:16px}.tier-label small{margin-top:6px;color:#9ba9c0;font-size:10px}.engraving-foundations{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:18px}.engraving-branch{position:relative;padding:34px 12px 10px;background:transparent url('image_webp/ui_soul_engraving_20260916/branch.webp') center/100% 100% no-repeat;border:0;box-shadow:none;clip-path:none;aspect-ratio:347 / 326}.engraving-branch h3{position:absolute;top:3px;left:25%;right:25%;margin:0;text-align:center;color:#efd17d;font-size:18px}.engraving-node{width:100%;min-height:58px;display:flex;align-items:center;gap:11px;margin:7px 0;padding:6px 12px;border:1px solid #536078;background:#101a2aed;color:#d2d8e3;text-align:left;cursor:pointer;clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px)}.engraving-node:hover,.engraving-node.selected{border-color:#e4bd61;box-shadow:inset 0 0 18px #c2913436,0 0 9px #d9a83a55}.engraving-node-icon{width:42px;height:42px;display:grid;place-items:center;flex:none;border:1px solid #b18d4e;border-radius:50%;background:radial-gradient(circle,#24334d,#111a2a 72%);color:#e8c76f;box-shadow:0 0 0 4px #1a2434;font-size:0}.engraving-node-icon svg{width:25px;height:25px}.engraving-node-icon svg g,.detail-icon svg g{fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.engraving-node span:nth-child(2){min-width:0}.engraving-node b,.engraving-node small{display:block}.engraving-node b{font-size:13px}.engraving-node small{margin-top:3px;color:#91a0b8;font-size:10px}.engraving-connector{height:42px;display:flex;align-items:center;justify-content:center;gap:10px;color:#d0bedf;font-size:11px}.engraving-connector i{width:78px;height:1px;background:#a86ae0}.engraving-connector.special{height:50px;color:#ead9f5;text-shadow:0 0 9px #a14dff}.awakening-tier,.destiny-tier{margin-top:0}.engraving-node.major{max-width:470px;margin:auto;min-height:82px;border-color:#b18d4e;background:#1b1531ed;box-shadow:0 0 25px #853fd477}.engraving-node.major .engraving-node-icon{width:58px;height:58px;font-size:30px;background:radial-gradient(circle,#663694,#1c1831 67%);box-shadow:0 0 17px #8e4fd3,0 0 0 5px #2b213d}.engraving-node.major em{margin-left:auto;color:#ad91c2}.destiny-choices{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:15px}.destiny-node{position:relative;min-height:122px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #806946;background:#0b111ded;color:#c5c7cf;cursor:pointer}.destiny-node:hover,.destiny-node.selected{border-color:#c086e9;box-shadow:0 0 12px #873fbd66}.destiny-node img{width:58px;height:58px;border:1px solid #8d7042;filter:grayscale(.65)}.destiny-node small{font-size:10px;color:#8f8399}.destiny-lock{position:absolute;right:9px;top:7px;color:#b86ae0}.destiny-coming{grid-column:1/-1;min-height:110px;display:grid;place-content:center;text-align:center;border:1px dashed #775594;background:#171427d9}
.engraving-detail{border:1px solid #9a7946;padding:30px 28px;overflow:auto;background:#07101aef;text-align:center;box-shadow:inset 0 0 35px #000,0 0 0 3px #101827}.detail-tag{display:inline-block;padding:5px 26px;border:1px solid #67758d;color:#bac6d8;font-size:10px}.detail-icon{width:104px;height:104px;display:grid;place-items:center;margin:22px auto 12px;border:1px solid #c4a35a;border-radius:50%;font-size:0;color:#f0cd72;background:radial-gradient(circle,#44295c,#121a2a 68%);box-shadow:0 0 0 8px #161d2b,0 0 28px #9a5bd061}.detail-icon svg{width:54px;height:54px}.detail-job-icon{width:88px;height:88px;margin:20px auto 8px;border:1px solid #a27c51}.engraving-detail h3{font-size:25px;color:#f0d590;margin:10px 0}.engraving-detail>p{color:#c2c9d4;font-size:12px;line-height:1.7}.detail-levels{margin:22px 0;text-align:left;border-top:1px solid #526078}.detail-levels div,.engraving-detail dl>div{display:grid;grid-template-columns:42px 1fr auto;gap:7px;padding:9px 3px;border-bottom:1px solid #3b475d;font-size:10px}.detail-levels em{color:#ddbf72;font-style:normal}.engraving-detail dl>div{grid-template-columns:72px 1fr}.engraving-detail dd{margin:0}.engraving-detail .menu-btn{width:100%;margin-top:10px;border-color:#d2a64e;background:#21170e;color:#f1d48b}.detail-note{display:block;margin-top:12px;color:#7f8da3;font-size:9px}
@media(max-width:900px){.engraving-header{height:110px;min-height:110px;grid-template-columns:minmax(0,1fr) auto 42px;gap:10px;padding:10px}.engraving-header h2{font-size:26px;letter-spacing:4px}.engraving-header p,.engraving-wallet>span,.engraving-wallet small{display:none}.engraving-header-class{min-width:86px;padding:6px 8px}.engraving-header-class strong{font-size:18px;letter-spacing:2px}.engraving-class-tabs{margin:0;display:flex;overflow:auto}.engraving-class-tabs button{min-width:105px}.engraving-content{display:block;overflow-y:auto;overflow-x:hidden;margin:0}.engraving-tree-wrap{padding:12px}.engraving-tree-wrap:before{display:none}.tier-label{position:static;transform:none;width:auto;text-align:left;margin:12px}.engraving-foundations{grid-template-columns:1fr}.engraving-detail{min-height:450px}.destiny-choices{gap:5px}}
.e-choice-list{display:grid;gap:7px;margin:16px 0}.e-choice-list button{padding:9px;border:1px solid #526078;background:#101827;color:#cdd4df;text-align:left}.e-choice-list b,.e-choice-list small{display:block}.e-choice-list small{margin-top:3px;color:#8997aa;font-size:9px}
/* 이미지로 제작한 영혼새김 UI 프레임 */
.engraving-class-tabs{background:transparent url('image_webp/ui_soul_engraving_20260916/tabs.webp') center/100% 100% no-repeat;border:0}
.engraving-class-tabs button{background:transparent url('image_webp/ui_soul_engraving_20260916/class_tab_inactive_v2.webp') center/100% 215% no-repeat;border:0}
.engraving-class-tabs button.active{background:transparent url('image_webp/ui_soul_engraving_20260916/class_tab_active_v2.webp') center/100% 285% no-repeat}
.engraving-class-tabs button:after{display:none}
.engraving-class-tabs button{overflow:hidden;isolation:isolate;text-shadow:0 1px 3px #000,0 0 7px #000}
.engraving-class-tabs button:before{content:"";position:absolute;z-index:1;inset:3px;background:linear-gradient(90deg,#02050aa8,transparent 28%,transparent 72%,#02050aa8),linear-gradient(0deg,#030711b8,transparent 65%);pointer-events:none}
.engraving-class-tabs img{position:absolute;z-index:0;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);object-fit:cover;object-position:center;border:0;border-radius:0;filter:grayscale(1) brightness(.38) contrast(1.15);opacity:.9;transition:filter .2s ease,opacity .2s ease,transform .2s ease}
.engraving-class-tabs button span{position:relative;z-index:2;align-self:flex-end;margin-bottom:7px;padding:3px 15px;border:1px solid #586273;background:#050912d9;color:#aeb7c6;letter-spacing:1px}
.engraving-class-tabs button.active img{filter:none;opacity:1;transform:scale(1.025);box-shadow:none}
.engraving-class-tabs button.active span{border-color:#d0a44d;background:#161006e8;color:#ffe09a;box-shadow:0 0 12px #d2a04455}
.engraving-branch{background:transparent url('image_webp/ui_soul_engraving_20260916/branch.webp') center/100% 100% no-repeat;border:0;box-shadow:none}
.engraving-node{background:#0c1625aa;border-color:transparent}
.engraving-tree{position:relative}.engraving-tree:before{content:"";position:absolute;z-index:-1;left:5%;right:2%;top:245px;height:310px;background:url('image_webp/ui_soul_engraving_20260916/soul_links.webp') center/100% 100% no-repeat;pointer-events:none}
.engraving-tree-wrap:before{background:transparent url('image_webp/ui_soul_engraving_20260916/banner1.webp') top/100% 42% no-repeat;border:0;box-shadow:none}
.awakening-tier .tier-label{background:url('image_webp/ui_soul_engraving_20260916/banner2.webp') center/100% 100% no-repeat;padding:28px 0 34px}
.destiny-tier .tier-label{background:url('image_webp/ui_soul_engraving_20260916/banner3.webp') center/100% 100% no-repeat;padding:28px 0 34px}
.engraving-node.major{background:transparent url('image_webp/ui_soul_engraving_20260916/awakening.webp') center/100% 100% no-repeat;border:0;box-shadow:none;padding:20px 38px}
.destiny-node{background:transparent url('image_webp/ui_soul_engraving_20260916/destiny.webp') center/100% 100% no-repeat;border:0;box-shadow:none}
.engraving-detail{background:transparent url('image_webp/ui_soul_engraving_20260916/detail.webp') center/100% 100% no-repeat;border:0;box-shadow:none;padding:34px 32px}
/* 이미지 프레임 내부 정렬 보정 */
.soul-engraving-shell,.soul-engraving-shell button{font-family:'Noto Sans KR',sans-serif}.tier-label{box-sizing:border-box;padding:0 8px}.tier-label b{font-size:15px;white-space:nowrap}.tier-label small{max-width:108px;margin:6px auto 0;line-height:1.45;font-size:9px;word-break:keep-all;overflow-wrap:break-word}.awakening-tier .tier-label,.destiny-tier .tier-label{box-sizing:border-box}.engraving-node.major{position:relative;display:block;height:96px;min-height:96px;padding:0}.engraving-node.major>.engraving-node-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:57px;height:57px;margin:0}.engraving-node.major>span:nth-child(2){position:absolute;left:22px;top:50%;transform:translateY(-50%);width:31%;text-align:center}.engraving-node.major>span:nth-child(2) b{font-size:13px;white-space:nowrap}.engraving-node.major>span:nth-child(2) small{font-size:8px;line-height:1.4;white-space:normal}.engraving-node.major>em{position:absolute;right:24px;top:50%;transform:translateY(-50%);width:26%;text-align:center;font-size:11px;white-space:nowrap}.destiny-node{min-height:132px;padding:8px 8px 5px;box-sizing:border-box}.destiny-node img{width:72px;height:72px;object-fit:cover;margin-top:-4px}.destiny-node b{font-size:14px;line-height:1.2}.destiny-node small{font-size:9px;line-height:1.2}.destiny-coming{min-height:132px;font-size:14px}.engraving-detail{box-sizing:border-box}.engraving-detail h3,.engraving-detail p,.engraving-detail b,.engraving-detail small{word-break:keep-all;overflow-wrap:break-word}.detail-levels div{align-items:center}.e-choice-list button{min-height:54px}.e-choice-list small{line-height:1.35}
/* 제작 프레임과 실제 CSS 박스의 외곽을 일치시킨다. */
.engraving-node:not(.major),
.engraving-node.major,
.destiny-node,
.tier-label{
  box-sizing:border-box;
  background-repeat:no-repeat;
  background-position:center;
  background-size:100% 100%;
}
.engraving-node:not(.major) .engraving-node-icon{width:38px;height:38px}
.engraving-node:not(.major) .engraving-node-icon svg{width:27px;height:27px}
.engraving-node.major .engraving-node-icon{width:64px;height:64px}
.destiny-node img{display:block;width:76px;height:76px;object-fit:contain}
/* v2: 각 항목 규격에 맞춰 새로 제작한 이미지 UI */
.tier-label{left:-145px;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:148 / 338;background-image:url('image_webp/ui_soul_engraving_20260916/banner1.webp');background-position:center;background-size:100% 100%;background-repeat:no-repeat}
.engraving-node:not(.major){position:relative;min-height:62px;padding:0;background:transparent url('image_webp/ui_soul_engraving_20260916/node_basic_v3.webp') center/100% 100% no-repeat;border:0;clip-path:none;box-shadow:none}
.engraving-node:not(.major).capstone{background-image:url('image_webp/ui_soul_engraving_20260916/node_capstone_v3.webp')}
.engraving-node:not(.major):hover,.engraving-node:not(.major).selected{filter:brightness(1.14) drop-shadow(0 0 6px #c69543)}
.engraving-node:not(.major) .engraving-node-icon{position:absolute;left:16%;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;margin:0;border:0;box-shadow:none;background:transparent}
.engraving-node-icon img{display:block;width:27px;height:27px;object-fit:contain;filter:drop-shadow(0 0 3px #f4bd52)}
.detail-icon img{display:block;width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 0 7px #d59a39)}
.engraving-node:not(.major)>span:nth-child(2){position:absolute;left:29%;top:50%;transform:translateY(-50%);width:58%;padding:0;text-align:left}
.engraving-node:not(.major) b{font-size:13px;line-height:1.05}.engraving-node:not(.major) small{margin-top:2px;font-size:8px;line-height:1.05}
.engraving-node.major{height:110px;min-height:110px;max-width:520px;background:transparent url('image_webp/ui_soul_engraving_20260916/e_unlock_v3.webp') center/100% 100% no-repeat}
.engraving-node.major>.engraving-node-icon{left:15%;width:64px;height:64px;border:0;box-shadow:none;background:transparent;color:#f4d073;font-family:Georgia,serif;font-size:32px;line-height:1}
.engraving-node.major>span:nth-child(2){left:27%;width:44%;text-align:left}.engraving-node.major>span:nth-child(2) b{font-size:15px;line-height:1.1}.engraving-node.major>span:nth-child(2) small{margin-top:3px;font-size:8px;line-height:1.1;max-width:190px}
.engraving-node.major>em{right:3%;width:21%;font-size:10px;line-height:1.25;color:#dbb6ef;white-space:normal}
.destiny-node{min-height:142px;background:transparent url('image_webp/ui_soul_engraving_20260916/destiny_v2.webp') center/100% 100% no-repeat;padding:8px 16px 7px}
.destiny-node img{width:76px;height:76px;margin-top:-5px;border:1px solid #c19b55;box-shadow:0 0 8px #000}
.destiny-node b{font-size:14px}.destiny-node small{font-size:9px}
.awakening-tier .tier-label,.destiny-tier .tier-label{aspect-ratio:148 / 169;background-size:100% 100%}
.engraving-node:not(.major) .engraving-node-icon svg,.engraving-node.major .engraving-node-icon svg{display:none}
.engraving-node:not(.major) .engraving-node-icon img{width:30px;height:30px}
/* 원본 분기 프레임만 사용하고, 이전 연결선/검정 보조판은 표시하지 않는다. */
.engraving-tree:before,.engraving-tree-wrap:before{display:none;background:none}
.engraving-connector{height:18px;color:transparent}
.engraving-connector i{display:none}
.engraving-basic-pair{display:grid;gap:4px}
.engraving-branch-link{position:relative;height:27px;display:grid;place-items:center;color:#d09beb;font-size:13px}
.engraving-branch-link:before,.engraving-branch-link:after{content:"";position:absolute;background:#8b54b2;box-shadow:0 0 7px #8f45cb}
.engraving-branch-link:before{top:0;bottom:5px;left:50%;width:2px;background:linear-gradient(#a66bd1,#e0b2f6);box-shadow:0 0 8px #a64de0}
.engraving-branch-link:after{top:0;left:25%;right:25%;height:1px}
.engraving-branch-link i{display:none}
.engraving-branch-link span{position:absolute;left:50%;bottom:-1px;z-index:2;transform:translateX(-50%);padding:0 5px;background:#0a1220;color:#d7a8ed;text-shadow:0 0 8px #a94bdb}
.engraving-node.locked{filter:saturate(.72) brightness(.84)}
.engraving-node.locked:hover,.engraving-node.locked.selected{filter:saturate(.9) brightness(.96) drop-shadow(0 0 6px #8a52b3)}
.engraving-node.major.locked{filter:none}.engraving-node.major.locked:hover,.engraving-node.major.locked.selected{filter:brightness(1.06) drop-shadow(0 0 7px #8a52b3)}
.engraving-node.major b{color:#f2e6ca}.engraving-node.major small{color:#ad9dbb}
.engraving-lock{position:absolute;right:7%;top:50%;transform:translateY(-50%);color:#b875da;font-style:normal;font-size:10px}
.detail-requirement{padding:8px 10px;border:1px solid #77518f;background:#2a1737;color:#dfb9ef!important}
/* 제작 프레임의 원본 종횡비를 유지해 텍스트와 장식이 눌리지 않게 한다. */
.engraving-node:not(.major){
  min-height:0;
  aspect-ratio:5.6;
}
.engraving-node.major{
  height:auto;
  min-height:0;
  aspect-ratio:6;
}
.destiny-node{
  min-height:0;
  aspect-ratio:710 / 300;
}
/* 와이드 화면: 제작 원화의 종횡비를 유지하고 가로로 늘어나지 않게 한다. */
@media (min-width:1500px){
  .engraving-content{grid-template-columns:minmax(0,1fr) 407px}
  .engraving-tree-wrap{padding:16px 6px 28px 186px}
  .engraving-tree{width:min(100%,1073px);margin:0 auto}
  .engraving-foundations{grid-template-columns:repeat(3,347px);justify-content:space-between;gap:16px}
  .engraving-tree-wrap:before{width:148px}
  .tier-label{left:-173px;width:140px}
  .tier-label small{max-width:116px;overflow-wrap:anywhere}
  .engraving-branch{box-sizing:border-box;width:347px;min-height:326px;padding:42px 14px 14px;display:block}
  .engraving-branch h3{top:7px}
  .engraving-node:not(.major){min-height:68px;margin:3px 0}
  .engraving-node.major{width:510px;height:110px;min-height:110px}
  .destiny-choices{grid-template-columns:repeat(3,347px);justify-content:space-between;gap:16px}
  .destiny-node,.destiny-coming{width:347px;min-height:150px}
  .engraving-detail{width:407px;min-height:729px}
}
@media (max-width:900px){
  .engraving-node:not(.major){
    width:100%;
    min-height:0;
  }
  @media (min-width:901px) and (max-width:1499px){
    .engraving-content{
      grid-template-columns:minmax(0,1fr) 300px;
    }
    .engraving-tree-wrap{
      padding:16px 18px 28px 126px;
    }
    .tier-label{
      left:-116px;
      width:104px;
    }
    .engraving-foundations{
      gap:12px;
    }
    .engraving-branch{
      min-height:280px;
      padding-left:10px;
      padding-right:10px;
    }
    .engraving-detail{
      padding:28px 22px;
    }
  }
  @media (min-width:1500px){
    .engraving-node:not(.major){
      height:auto;
      min-height:0;
    }
    .engraving-node.major{
      height:auto;
      min-height:0;
    }
  }
  @media (min-width:901px) and (max-width:1499px){
    .engraving-content{
      grid-template-columns:minmax(0,1fr) 300px;
    }
    .engraving-tree-wrap{
      padding:16px 18px 28px 126px;
    }
    .tier-label{
      left:-116px;
      width:104px;
    }
    .engraving-foundations{
      gap:12px;
    }
    .engraving-branch{
      min-height:280px;
      padding-left:10px;
      padding-right:10px;
    }
    .engraving-detail{
      padding:28px 22px;
    }
  }
  .engraving-node.major{
    width:100%;
    height:auto;
    min-height:0;
  }
  .destiny-node{
    width:100%;
    min-height:0;
  }
  .destiny-node img{
    width:58px;
    height:58px;
  }
  .awakening-tier .tier-label,
  .destiny-tier .tier-label{
    width:min(148px,42vw);
    min-height:169px;
    margin:12px auto;
    padding:28px 10px 34px;
    text-align:center;
    background-size:100% 100%;
  }
  .tier-label b,
  .tier-label small{
    white-space:normal;
  }
}
@media (min-width:901px) and (max-width:1499px){
  .engraving-content{grid-template-columns:minmax(0,1fr) 280px}
  .engraving-tree-wrap{padding:16px 10px 28px 108px}
  .tier-label{left:-100px;width:92px}
  .engraving-foundations{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .engraving-branch{min-height:300px;padding-left:8px;padding-right:8px}
  .engraving-node:not(.major){aspect-ratio:4.4}
  .engraving-node.major{aspect-ratio:3.4}
  .destiny-node{aspect-ratio:3.35}
  .engraving-detail{padding:24px 18px}
}

/* branch.png already contains three card slots; place only engraving content inside them. */
.engraving-branch{
  display:grid;
  grid-template-rows:repeat(3,minmax(0,1fr));
  gap:4px;
  padding:45px 15px 18px;
  aspect-ratio:347 / 326;
}
.engraving-branch h3{top:5px}
.engraving-branch .engraving-node:not(.major){
  min-height:0;
  height:auto;
  margin:0;
  padding:4px 8px;
  background:transparent url('image_webp/ui_soul_engraving_20260916/node_basic_v3.webp') center/100% 100% no-repeat;
  border:0;
  clip-path:none;
  box-shadow:none;
  aspect-ratio:2172 / 724;
}
.engraving-branch .engraving-node:not(.major):hover,
.engraving-branch .engraving-node:not(.major).selected{
  border:0;
  box-shadow:none;
  filter:brightness(1.16) drop-shadow(0 0 5px #c69543);
}
.engraving-branch .engraving-node:not(.major) .engraving-node-icon{
  left:12%;
  width:38px;
  height:38px;
}
.engraving-branch .engraving-node:not(.major)>span:nth-child(2){
  left:25%;
  width:69%;
}

/* The three slots in branch.png are the layout grid; node_basic is the
   individual engraving frame placed over each slot. */
.engraving-branch{
  grid-template-rows:repeat(3, minmax(0, 1fr));
  gap:3px;
  padding:37px 13px 29px;
}
.engraving-branch .engraving-node:not(.major){
  min-height:0;
  width:100%;
  padding:0;
  position:relative;
  top:-8px;
}
.engraving-branch .engraving-node:not(.major) .engraving-node-icon{
  left:calc(13.5% + 1.5px);
  top:calc(50% - 2.5px);
  width:38px;
  height:38px;
}
.engraving-branch .engraving-node:not(.major)>span:nth-child(2){
  left:25%;
  top:calc(50% - 4px);
  width:68%;
}
.engraving-node.major>span:nth-child(2){
  left:calc(27% + 4px);
}
.engraving-node.major>em{
  right:calc(3% + 2px);
}

/* Class tabs use the supplied full-width artwork without name/overlay CSS. */
.engraving-class-tabs button{
  position:relative;
  overflow:hidden;
  padding:0;
  background:transparent;
  border:0;
  text-shadow:none;
}
.engraving-class-tabs button:before,
.engraving-class-tabs button:after,
.engraving-class-tabs button span{
  display:none;
}
.engraving-class-tabs button img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:fill;
  border:0;
  border-radius:0;
  filter:none;
  opacity:.72;
  transform:none;
}
.engraving-class-tabs button.active img{
  opacity:1;
  box-shadow:none;
  transform:none;
}
.engraving-class-tabs button:not(.active) img{
  filter:grayscale(1);
}
.engraving-class-tabs button:after{
  content:"";
  display:block;
  position:absolute;
  z-index:3;
  inset:1px;
  border:1px solid #b8944f;
  box-shadow:inset 0 0 0 1px #3b2b14,0 0 5px #c59b4d66;
  pointer-events:none;
}
.engraving-node.major>span:nth-child(2){
  left:27%;
  position:absolute;
  transform:translateX(3px) translateY(-50%);
}
.engraving-node.major>em{
  right:3%;
  position:absolute;
  transform:translateX(3px) translateY(-50%);
}
.engraving-node.major .engraving-e-copy{
  left:27%;
  transform:translate(5px,-50%);
}
.engraving-node.major .engraving-e-requirement{
  right:3%;
  transform:translate(5px,-50%);
}
.engraving-node.major .engraving-e-letter{
  position:absolute;
  left:15%;
  top:50%;
  transform:translate(-50%,-50%);
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  margin:0;
  color:#f4d073;
  font-family:Georgia,serif;
  font-size:32px;
  line-height:1;
}
.engraving-branch .engraving-node:not(.major) .engraving-node-icon{
  left:calc(13.5% + 0.5px);
  top:calc(50% - 2px);
  transform:translate(-50%,-50%);
  aspect-ratio:1;
}
.engraving-branch .engraving-node:not(.major) .engraving-node-icon img{
  display:block;
  width:30px;
  height:30px;
  margin:auto;
  aspect-ratio:1;
  object-fit:contain;
}
/* Align each source image's visible bounds to the same crosshair center. */
.engraving-branch .engraving-node:not(.major) .engraving-icon-range{position:relative;left:.01px;top:.14px}
.engraving-branch .engraving-node:not(.major) .engraving-icon-damage{position:relative;left:.01px}
.engraving-branch .engraving-node:not(.major) .engraving-icon-critical{position:relative;top:.13px}
.engraving-branch .engraving-node:not(.major) .engraving-icon-revive{position:relative;top:.13px}
.engraving-branch .engraving-node:not(.major) .engraving-icon-health{position:relative;left:.01px;top:-.07px}
.engraving-branch .engraving-node:not(.major) .engraving-icon-defense{position:relative;left:.04px;top:.17px}
.engraving-branch .engraving-node:not(.major) .engraving-icon-move{position:relative;left:-.2px;top:.68px}
.engraving-branch .engraving-node:not(.major) .engraving-icon-haste{position:relative;top:.39px}
.engraving-branch .engraving-node:not(.major) .engraving-icon-return{position:relative;top:.23px}
/* E 해금 프레임: 원형 / 설명 / 조건의 실제 이미지 소켓에 고정. */
.engraving-node.major .engraving-e-copy{
  position:absolute;left:27%;top:50%;width:43%;
  transform:translateY(-50%);display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:0;text-align:center;box-sizing:border-box;
}
.engraving-node.major .engraving-e-copy b{margin:0;font-size:15px;line-height:1.1;white-space:nowrap}
.engraving-node.major .engraving-e-copy small{margin:3px 0 0;font-size:8px;line-height:1.1;white-space:nowrap}
.engraving-node.major .engraving-e-requirement{
  position:absolute;left:74%;right:auto;top:50%;width:20%;
  transform:translateY(-50%);display:grid;place-items:center;
  margin:0;padding:0 4px;box-sizing:border-box;text-align:center;
  font-size:10px;line-height:1.2;white-space:normal;
}
/* Georgia 대문자 E의 좌우 여백을 고려한 원형 소켓 시각 중심. */
.engraving-node.major .engraving-e-letter{
  left:16%;
  transform:translate(-48%,-50%);
  text-align:center;
}
/* 모든 일반 새김의 소켓과 텍스트를 동일한 시각 중심선에 맞춘다. */
.engraving-branch .engraving-node:not(.major) .engraving-node-icon{
  position:absolute;
  left:15%;
  top:50%;
  width:38px;
  height:38px;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  margin:0;
}
.engraving-branch .engraving-node:not(.major) .engraving-node-icon img,
.engraving-branch .engraving-node:not(.major) .engraving-node-icon img[class*="engraving-icon-"]{
  position:static;
  left:auto;
  top:auto;
  display:block;
  width:30px;
  height:30px;
  margin:0;
  object-fit:contain;
  transform:none;
}
.engraving-branch .engraving-node:not(.major)>span:nth-child(2){
  position:absolute;
  left:25%;
  top:50%;
  width:68%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:0;
  box-sizing:border-box;
  text-align:center;
}
.engraving-branch .engraving-node:not(.major)>span:nth-child(2) b,
.engraving-branch .engraving-node:not(.major)>span:nth-child(2) small{width:100%;margin-left:0;margin-right:0;text-align:center}
/* 장식 프레임의 비대칭 무게를 고려한 광학 중심 보정. */
.engraving-branch .engraving-node:not(.major) .engraving-node-icon{left:14.4%}
.engraving-branch .engraving-node:not(.major)>span:nth-child(2){left:24.2%}
.engraving-branch>.engraving-branch-link{position:absolute;left:28%;right:7%;top:61%;height:28px;z-index:3;pointer-events:none;background:linear-gradient(90deg,transparent,#a66bd1 23%,#a66bd1 77%,transparent) center 4px/100% 1px no-repeat}
.engraving-branch>.engraving-branch-link:before{top:4px;bottom:4px;left:50%;width:1px;background:linear-gradient(#d5a2ef,#8140ac)}
.engraving-branch>.engraving-branch-link:after{display:none}
.engraving-branch>.engraving-branch-link span{bottom:0;background:transparent;padding:0;color:#e1b2f5}
.engraving-node.locked{filter:saturate(.38) brightness(.58)}
.detail-levels .learned{background:#39234a;color:#f4d8ff}
.detail-levels .learned em{color:#a9efc6}

/* ---------------------------------------------------------------------
   계열 분화(E branch) — "E 스킬 해금" 노드 바로 아래, 클래스 색 프레임 +
   3갈래로 뻗어나가는 선택 카드. 클릭한 스킬은 저장되며 다음 전투의 E 슬롯에 장착된다.
--------------------------------------------------------------------- */
.ebranch-tier{margin-top:16px}
.destiny-tier{margin-top:20px}
/* frame과 art를 같은 박스로 맞춰야 소켓 %좌표가 실제 프레임 위에 정확히 겹친다
   (flex+justify-content로 가운데 정렬하면 wrapper가 art보다 넓어져서 % 기준이 어긋난다). */
.ebranch-frame{position:relative;width:min(430px,72%);margin:0 auto}
.ebranch-frame-art{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 6px 14px #000a)}
/* 프레임 아트워크(원본 전체 이미지, 룬 배너 포함) 속 사각 소켓의 실제 위치를
   % 좌표로 옮겨서, 고른 스킬 아이콘이 그 자리에 "장착"된 것처럼 보이게 겹친다. */
.ebranch-frame-slot{position:absolute;left:24.4%;top:48.5%;width:18.6%;height:29.4%;transform:translate(-50%,-50%);object-fit:cover;border-radius:3px;box-shadow:0 0 10px 2px currentColor;animation:ebranchSlotIn .25s ease}
@keyframes ebranchSlotIn{from{opacity:0;transform:translate(-50%,-50%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.ebranch-tree{max-width:680px;height:40px;margin:8px auto 0}
.ebranch-tree svg{display:block;width:100%;height:100%;overflow:visible}
.ebranch-tree path{fill:none;stroke:#7c8aa3;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ebranch-color-red .ebranch-tree path{stroke:#ff6a5b}
.ebranch-color-blue .ebranch-tree path{stroke:#5ab4ff}
.ebranch-color-purple .ebranch-tree path{stroke:#b978ff}
.ebranch-color-gold .ebranch-tree path{stroke:#f0c45d}
.ebranch-color-green .ebranch-tree path{stroke:#6de08a}
.ebranch-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:680px;margin:0 auto}
.ebranch-node{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px 16px;border:1px solid #3d4a63;border-radius:8px;background:#0d1526d9;color:#c7cedb;cursor:pointer;filter:grayscale(.4) brightness(.88);transition:filter .25s ease,box-shadow .25s ease,border-color .25s ease}
.ebranch-node:disabled{cursor:not-allowed;opacity:.55}
.ebranch-node:not(:disabled):hover{filter:grayscale(.15) brightness(.97)}
.ebranch-icon{width:80px;height:84px;border-radius:6px;overflow:hidden;border:1px solid #4a5978;background:#000}
.ebranch-icon img{display:block;width:100%;height:100%;object-fit:cover}
.ebranch-node b{font-size:14px;line-height:1.2}
.ebranch-node small{font-size:10.5px;color:#9aa6ba}
.ebranch-node.picked{filter:none;border-color:#e4bd61;box-shadow:0 0 16px #d9a83a66,inset 0 0 14px #c2913422}
.ebranch-node.picked small{color:#f0d27f}
/* 픽했을 때 테두리/글로우를 클래스 색으로. */
.ebranch-color-red .ebranch-node.picked{border-color:#ff6a5b;box-shadow:0 0 16px #ff6a5b77,inset 0 0 14px #ff6a5b22}
.ebranch-color-blue .ebranch-node.picked{border-color:#5ab4ff;box-shadow:0 0 16px #5ab4ff77,inset 0 0 14px #5ab4ff22}
.ebranch-color-purple .ebranch-node.picked{border-color:#b978ff;box-shadow:0 0 16px #b978ff77,inset 0 0 14px #b978ff22}
.ebranch-color-gold .ebranch-node.picked{border-color:#f0c45d;box-shadow:0 0 16px #f0c45d77,inset 0 0 14px #f0c45d22}
.ebranch-color-green .ebranch-node.picked{border-color:#6de08a;box-shadow:0 0 16px #6de08a77,inset 0 0 14px #6de08a22}
.ebranch-color-red .ebranch-frame-slot{color:#ff6a5b}
.ebranch-color-blue .ebranch-frame-slot{color:#5ab4ff}
.ebranch-color-purple .ebranch-frame-slot{color:#b978ff}
.ebranch-color-gold .ebranch-frame-slot{color:#f0c45d}
.ebranch-color-green .ebranch-frame-slot{color:#6de08a}
@media(max-width:600px){.ebranch-list,.ebranch-tree{max-width:100%}.ebranch-icon{width:48px;height:52px}.ebranch-node b{font-size:10px}.ebranch-node small{font-size:8px}}

/* 2026-09: 이미지 기반 영혼 사슬과 클래스별 E 강화 노드 */
.engraving-connector{display:block!important;width:76px;height:92px!important;margin:2px auto;background:url('image_webp/ui_expansion_20260920/soul_chain_violet.webp') center/contain no-repeat;filter:drop-shadow(0 0 9px #a94cff);opacity:.9}
.engraving-connector.convergence{width:min(920px,94%);height:146px!important;margin:-18px auto -20px;background-image:url('image_webp/ui_expansion_20260920/soul_convergence_v2.webp');background-size:contain;background-position:center;background-repeat:no-repeat;filter:drop-shadow(0 0 12px #8d32e8);opacity:1}
/* E 스킬 해금 후 바로 아래 계열 분화(ebranch) 영역은 클래스 색으로 물드는데 이 연결 이미지는
   계속 고정 보라색(#8d32e8)이라 전사(빨강)·성기사(금색) 등에서 색이 어긋나 보인다는 피드백을
   받았다 — .ebranch-tree img와 같은 sepia+hue-rotate 조합으로 클래스 색에 맞춰 물들인다. */
.engraving-connector.convergence.ebranch-color-red{filter:sepia(1) saturate(7) hue-rotate(320deg) drop-shadow(0 0 12px #ff4f42)}
.engraving-connector.convergence.ebranch-color-blue{filter:sepia(1) saturate(6) hue-rotate(165deg) drop-shadow(0 0 12px #48b4ff)}
.engraving-connector.convergence.ebranch-color-purple{filter:sepia(1) saturate(7) hue-rotate(225deg) drop-shadow(0 0 12px #b568ff)}
.engraving-connector.convergence.ebranch-color-gold{filter:sepia(1) saturate(6) hue-rotate(350deg) drop-shadow(0 0 12px #efc355)}
.engraving-connector.convergence.ebranch-color-green{filter:sepia(1) saturate(6) hue-rotate(75deg) drop-shadow(0 0 12px #56dc7e)}
.engraving-connector.special{height:46px!important;background-size:64px auto;background-position:center 72%;opacity:.55}
/* 체인 이미지(class_chain_branch.png) 실제 비율은 약 1.5:1인데, 예전 규칙은 폭 대비
   높이가 훨씬 얕은 상자(가로로 아주 넓고 낮은 박스)에 object-fit:contain으로 넣고 있었다 —
   그러면 이미지가 상자 "높이" 기준으로만 줄어들어 실제로는 가운데에 작게 쪼그라든 채
   렌더링되고, 위 프레임·아래 카드 3개와 크기/간격이 전혀 안 맞아 보였다(버그 수정
   2026-09-21). 상자 자체를 이미지 실제 비율로 맞춰서 체인을 훨씬 크게 보여준다. */
.ebranch-tree{width:min(360px,74%);aspect-ratio:1536/1024;height:auto;margin:-4px auto -10px;overflow:visible}
.ebranch-tree img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 7px currentColor)}
.ebranch-color-red{color:#ff5f50}.ebranch-color-blue{color:#54b9ff}.ebranch-color-purple{color:#bd72ff}.ebranch-color-gold{color:#f1c95f}.ebranch-color-green{color:#61df88}
.ebranch-color-red .ebranch-tree img{filter:sepia(1) saturate(7) hue-rotate(320deg) drop-shadow(0 0 8px #ff4f42)}
.ebranch-color-blue .ebranch-tree img{filter:sepia(1) saturate(6) hue-rotate(165deg) drop-shadow(0 0 8px #48b4ff)}
.ebranch-color-purple .ebranch-tree img{filter:sepia(1) saturate(7) hue-rotate(225deg) drop-shadow(0 0 8px #b568ff)}
.ebranch-color-gold .ebranch-tree img{filter:sepia(1) saturate(6) hue-rotate(350deg) drop-shadow(0 0 8px #efc355)}
.ebranch-color-green .ebranch-tree img{filter:sepia(1) saturate(6) hue-rotate(75deg) drop-shadow(0 0 8px #56dc7e)}
.ebranch-node{position:relative;border:0;border-radius:0;background:transparent url('image_webp/ui_expansion_20260920/e_skill_node_v2.webp') center/contain no-repeat;clip-path:none;box-shadow:none;min-height:210px;padding:32px 20px 34px}
.ebranch-node:before{display:none}
.ebranch-node em{font-size:10px;font-style:normal;color:currentColor;padding:3px 11px;border:1px solid currentColor;background:#050913bb;letter-spacing:.5px}
.ebranch-icon{width:88px;height:88px;margin-top:10px;border:1px solid currentColor;box-shadow:0 0 12px color-mix(in srgb,currentColor 45%,transparent)}
.e-skill-detail{overflow:hidden}.e-skill-detail img{width:100%!important;height:100%!important;object-fit:cover}
.detail-tag.class-e{border-color:currentColor;color:#efd9ff;background:#251334}
@media(max-width:600px){.engraving-connector{height:64px!important}.ebranch-tree{width:min(210px,72%);height:auto;margin:-2px auto -6px}.ebranch-node{min-height:128px}.ebranch-icon{width:54px;height:54px;margin-top:6px}.ebranch-node em{font-size:8px}}

/* v3: 실제 표시 비율로 제작한 상세/노드 UI와 굵은 연결 구조 */
.engraving-detail{background:transparent url('image_webp/ui_expansion_20260920/engraving_detail_v2.webp') center/100% 100% no-repeat!important;border:0!important;box-shadow:none!important;padding:32px 34px 38px!important;aspect-ratio:407/729;min-height:729px}
.engraving-detail .detail-icon{margin-top:18px}
.engraving-detail .detail-levels{margin:18px 0 12px;border-top:0}
.engraving-detail .detail-levels div{min-height:38px;padding:7px 8px;border-bottom:0;margin:2px 0;background:#07101a70}
.engraving-detail .menu-btn{min-height:46px;margin-top:12px}
.engraving-branch>.engraving-branch-link{left:0;right:0;top:57%;height:48px;background:url('image_webp/ui_expansion_20260920/soul_chain_violet.webp') center/30px 48px no-repeat;filter:drop-shadow(0 0 5px #b550ec)}
.engraving-branch>.engraving-branch-link:before,.engraving-branch>.engraving-branch-link:after,.engraving-branch>.engraving-branch-link span{display:none}
.engraving-branch .engraving-node.capstone{top:-3px}
.engraving-branch .engraving-node.capstone .engraving-node-icon{left:14.4%;top:50%}
.engraving-branch .engraving-node.capstone>span:nth-child(2){left:24.2%;top:50%}
.ebranch-list{max-width:780px;gap:22px}
.ebranch-tree{width:min(480px,90%);max-width:none;height:auto;margin:-10px auto -20px}
.ebranch-node{min-height:236px;padding:36px 24px 40px;gap:6px}
.ebranch-node .ebranch-icon{width:96px;height:96px;margin-top:14px}
.ebranch-node b{font-size:15px}.ebranch-node small{font-size:11px}.ebranch-node em{margin-top:3px}
.ebranch-node.picked{filter:none!important;transform:translateY(-3px)}
@media(max-width:900px){.engraving-detail{aspect-ratio:auto;min-height:640px;padding:28px!important}.engraving-connector.convergence{height:104px!important;margin:-10px auto -12px}.ebranch-node{min-height:170px;padding:24px 12px 26px}.ebranch-node .ebranch-icon{width:64px;height:64px}}

/* v4: 내부 선이 없는 패널 위에 강화 행을 UI로 정확히 배치한다. */
.engraving-detail{background-image:url('image_webp/ui_expansion_20260920/engraving_detail_clean_v3.webp')!important;padding:28px 34px 34px!important;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;}
.engraving-detail .detail-levels{display:grid;gap:5px;margin:16px 0 10px;padding:0 3px;border:0}
/* 2026-09-21: 새김 카드 버튼은 v2 시트에서 잘라낸 금테 아트로 교체(아래 .menu-btn).
   레벨 행은 사용자 피드백으로 이미지 적용을 롤백 — 기존 clip-path 방식 그대로 유지. */
.engraving-detail .detail-levels div{box-sizing:border-box;grid-template-columns:36px minmax(0,1fr) 68px;gap:8px;min-height:40px;margin:0;padding:8px 12px;border:1px solid #6f5b3c;background:linear-gradient(90deg,#091321e8,#101b2ce8);clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px)}
.engraving-detail .detail-levels div.learned{border-color:#8a5aa7;background:linear-gradient(90deg,#251637e8,#342044e8)}
.engraving-detail .detail-levels span{justify-self:start;white-space:nowrap}.engraving-detail .detail-levels b{text-align:left;white-space:nowrap}.engraving-detail .detail-levels em{justify-self:end;display:flex;align-items:center;gap:3px;white-space:nowrap}
.engraving-detail .detail-levels .soul-icon-img{width:18px;height:18px}
.engraving-detail .menu-btn{box-sizing:border-box;width:calc(100% - 6px);min-height:52px;margin:12px 3px 0;border:0!important;clip-path:none;background:transparent url('image_webp/ui_expansion_20260920/engraving_detail_action_btn.webp') center/100% 100% no-repeat!important;box-shadow:none!important;color:#f1d48b}
.engraving-detail .menu-btn:hover:not(:disabled){filter:brightness(1.18)}
.engraving-detail .detail-note{margin:8px 8px 0;line-height:1.4}
@media(max-width:1499px) and (min-width:901px){.engraving-detail{padding:24px 24px 28px!important}.engraving-detail .detail-levels div{grid-template-columns:32px minmax(0,1fr) 58px;padding:7px 8px;font-size:9px}.engraving-detail .detail-levels .soul-icon-img{width:15px;height:15px}}

/* 2026-09-21: 1920×1080 전용 신규 영혼새김 상단 프레임. */
@media (min-width:901px){
  .engraving-header{display:block;height:clamp(88px,6.6667vw,128px);min-height:clamp(88px,6.6667vw,128px);padding:0;border:0;overflow:hidden;background:url('image_webp/ui_soul_engraving_20260921/engraving_header_1920_v2.webp') center/100% 100% no-repeat,linear-gradient(180deg,#0e1a2c 0%,#07101a 55%,#050910 100%);box-shadow:0 10px 22px #000a}
  .engraving-header:before,.engraving-header:after{display:none}
  .engraving-header>div:first-child{position:absolute;z-index:1;left:6.3%;top:17%;width:29%;padding-left:.84vw;border-left:0}
  .engraving-header-class{position:absolute;z-index:1;left:68.2%;top:18%;width:10.2%;min-width:0;padding:.42vw .52vw;border:0;background:transparent;box-shadow:none;box-sizing:border-box}
  .engraving-wallet{position:absolute;z-index:1;left:78.4%;top:21%;width:12.65%;padding-left:.78vw;box-sizing:border-box}
  .engraving-header-actions{position:absolute;z-index:1;left:92.2%;top:30%;width:5.3%;display:grid;place-items:center}
  .engraving-header h2{font-size:clamp(24px,1.67vw,32px);line-height:1.05;letter-spacing:clamp(4px,.32vw,6px)}
  .engraving-header h2:after{display:none}
  .engraving-header>div:first-child p{position:absolute;left:12vw;top:38px;width:19vw;margin:0;font-size:clamp(8px,.52vw,10px);white-space:nowrap}
  .engraving-kicker{font-size:clamp(8px,.52vw,10px);letter-spacing:clamp(3px,.26vw,5px)}
  .engraving-header-class strong{font-size:clamp(18px,1.3vw,25px)}
  .engraving-wallet strong{font-size:clamp(18px,1.3vw,25px);line-height:1.1}
  .engraving-close{width:clamp(36px,2.5vw,48px);height:clamp(36px,2.5vw,48px)}
}

/* 상세 패널 때문에 왼쪽으로 치우치던 트리를 화면 중앙 보석 축에 맞춘다. */
@media (min-width:901px) and (max-width:1499px){
  .engraving-tree{position:relative;left:91px}
}
@media (min-width:1500px){
  .engraving-tree{position:relative;left:114px}
}
