*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080a0e;color:#f4f4f0;font-family:Pretendard,"Noto Sans KR",system-ui,-apple-system,sans-serif;overflow-x:hidden}body.gate-locked{overflow:hidden}button,a{font:inherit}button{color:inherit}img{display:block;max-width:100%}
.site-header{position:fixed;z-index:80;top:0;left:0;right:0;height:72px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(7,9,13,.78);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.brand-symbol{width:34px;height:34px;border:1px solid #d6ba77;display:grid;place-items:center;color:#d6ba77;font:800 17px Georgia}.brand>span:last-child{display:flex;flex-direction:column}.brand b{font-size:11px;letter-spacing:.2em}.brand small{font-size:9px;color:#8f949e;margin-top:2px}.desktop-nav{display:flex;gap:28px}.desktop-nav a{color:#bfc3ca;text-decoration:none;font-size:10px;letter-spacing:.18em}.desktop-nav a:hover{color:#fff}.menu-btn{display:none;width:38px;height:38px;border:0;background:none}.menu-btn i{display:block;width:24px;height:1px;background:#fff;margin:6px auto}
.entry-gate{position:fixed;z-index:9999;inset:0;background:#000;overflow:hidden;display:grid;place-items:center;transition:opacity .75s ease,visibility .75s ease}.entry-gate.leaving{opacity:0;visibility:hidden}.entry-black{position:absolute;inset:0;background:#000;z-index:0}.entry-visual{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,3,6,.88),rgba(2,3,6,.34) 50%,rgba(2,3,6,.75)),url('assets/hero/hero01.png') center/cover no-repeat;opacity:0;transform:scale(1.045);animation:entryScene 1.4s 2.45s cubic-bezier(.18,.76,.25,1) forwards}.entry-flash{position:absolute;z-index:5;inset:0;background:#fff;opacity:0;pointer-events:none;animation:entryFlash .7s 2.25s ease-out forwards}.entry-center{position:relative;z-index:7;text-align:center;width:min(920px,88vw)}.entry-title{margin:0;position:relative;padding:42px 20px}.entry-title:before,.entry-title:after{content:"";position:absolute;left:50%;width:min(640px,72vw);height:1px;background:linear-gradient(90deg,transparent,#d9bd78 20%,#fff 50%,#d9bd78 80%,transparent);transform:translateX(-50%) scaleX(0);animation:lineDraw .9s .55s ease forwards}.entry-title:before{top:20px}.entry-title:after{bottom:18px;animation-delay:.85s}.entry-title span{display:block;font-weight:900;font-size:clamp(48px,7vw,104px);letter-spacing:-.075em;line-height:.95;opacity:0;filter:blur(16px);transform:translateY(12px) scale(.985);animation:titleRise 1s .85s cubic-bezier(.16,.8,.2,1) forwards}.entry-title b{display:block;margin-top:14px;font-size:clamp(13px,1.45vw,22px);letter-spacing:.46em;color:#d6ba77;opacity:0;animation:fadeIn .7s 1.35s forwards}.entry-button{margin-top:36px;padding:0 34px;height:52px;background:rgba(4,6,10,.52);border:1px solid rgba(255,255,255,.42);color:#fff;cursor:pointer;font-weight:800;letter-spacing:.2em;opacity:0;transform:translateY(8px);animation:buttonIn .7s 3.1s forwards;backdrop-filter:blur(10px)}.entry-button:hover{background:#f2f0e8;color:#0b0d10}.entry-geometry{position:absolute;z-index:3;inset:0;pointer-events:none}.g-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,#d6ba77,#fff,#d6ba77,transparent);transform:scaleX(0);opacity:.82}.l1{left:8vw;top:28%;width:31vw;transform-origin:right;animation:geoLine 1s .25s forwards}.l2{right:8vw;top:28%;width:31vw;transform-origin:left;animation:geoLine 1s .4s forwards}.l3{left:12vw;bottom:28%;width:25vw;transform-origin:right;animation:geoLine 1s .65s forwards}.l4{right:12vw;bottom:28%;width:25vw;transform-origin:left;animation:geoLine 1s .8s forwards}.g-diamond{position:absolute;width:18px;height:18px;border:1px solid #d6ba77;transform:rotate(45deg) scale(0);opacity:0;animation:diamondIn .55s forwards}.d1{left:50%;top:18%;animation-delay:.8s}.d2{left:16%;top:50%;animation-delay:1.05s}.d3{right:16%;top:50%;animation-delay:1.2s}.g-cross{position:absolute;width:54px;height:54px;opacity:0;animation:fadeIn .55s forwards}.g-cross:before,.g-cross:after{content:"";position:absolute;background:#8b7543}.g-cross:before{left:50%;top:0;width:1px;height:100%}.g-cross:after{top:50%;left:0;width:100%;height:1px}.c1{left:6vw;bottom:7vw;animation-delay:1.25s}.c2{right:6vw;top:7vw;animation-delay:1.4s}@keyframes geoLine{to{transform:scaleX(1)}}@keyframes diamondIn{to{opacity:.75;transform:rotate(45deg) scale(1)}}@keyframes lineDraw{to{transform:translateX(-50%) scaleX(1)}}@keyframes titleRise{to{opacity:1;filter:blur(0);transform:none}}@keyframes fadeIn{to{opacity:1}}@keyframes buttonIn{to{opacity:1;transform:none}}@keyframes entryFlash{0%{opacity:0}18%{opacity:.96}45%{opacity:.18}100%{opacity:0}}@keyframes entryScene{to{opacity:1;transform:scale(1)}}
.hero{height:100svh;min-height:720px;position:relative;overflow:hidden;background:#0b0e13}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;transition:opacity 1s ease,transform 8s ease}.hero-a{opacity:1}.hero-b{opacity:0}.hero-slide.zoom{transform:scale(1.025)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,6,10,.94) 0%,rgba(4,6,10,.64) 38%,rgba(4,6,10,.18) 72%),linear-gradient(0deg,rgba(4,6,10,.65),transparent 42%)}.hero-content{position:absolute;z-index:2;left:8vw;top:50%;transform:translateY(-47%);max-width:850px}.eyebrow,.section-title>p,.section-title div>p{margin:0 0 18px;color:#d5b96f;font-size:10px;letter-spacing:.24em}.hero h1{margin:0}.hero h1 span{display:block;font-size:clamp(48px,7.2vw,104px);line-height:.94;letter-spacing:-.075em}.hero h1 b{display:block;margin-top:14px;font-size:clamp(19px,2vw,30px);letter-spacing:.18em;color:#d5b96f}.hero-copy{margin:28px 0 30px;color:#d4d7dc;font-size:16px;line-height:1.8}.hero-actions{display:flex;gap:10px}.btn{min-height:48px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;font-size:12px}.btn.primary{background:#f3f1e9;color:#0a0c10}.btn.ghost{border:1px solid rgba(255,255,255,.35);color:#fff}.hero-page{position:absolute;z-index:2;right:5vw;bottom:34px;display:flex;align-items:baseline;gap:7px}.hero-page b{font-size:30px}.hero-page span{font-size:10px;color:#8a9099}
.section{padding:110px 7vw}.section-title{margin-bottom:52px}.section-title.split{display:grid;grid-template-columns:1fr minmax(280px,560px);gap:48px;align-items:end}.section-title h2{margin:0;font-size:clamp(46px,5.5vw,82px);letter-spacing:-.065em;line-height:.95}.section-title>span,.section-title.split>span{color:#9fa4ad;font-size:14px;line-height:1.75}.intro{background:#f0ede5;color:#15171b}.intro .section-title>p{color:#876e35}.intro .section-title>span{color:#67645e}.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c9c4b9;border-bottom:1px solid #c9c4b9}.intro-grid article{padding:30px 32px;border-right:1px solid #c9c4b9}.intro-grid article:last-child{border-right:0}.intro-grid b{font-size:20px}.intro-grid p{margin:12px 0 0;color:#66635d;font-size:13px;line-height:1.75}
.asset-banner{height:clamp(220px,32vw,500px);margin-top:44px;background-size:cover;background-position:center;position:relative;overflow:hidden}.asset-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,14,.6),rgba(8,10,14,.08) 50%,rgba(8,10,14,.62))}.asset-a{background-image:url('assets/hero/hero03.png')}.asset-b{background-image:url('assets/sections/section08.png')}.asset-c{background-image:url('assets/sections/section09.png')}
.tower{background:#0c0f15}.tower-visual{position:relative;overflow:hidden}.tower-inner{position:relative;z-index:3}.tower-art{position:absolute;z-index:0;pointer-events:none}.tower-art-a{inset:0;background:linear-gradient(90deg,rgba(12,15,21,.92),rgba(12,15,21,.58) 48%,rgba(12,15,21,.92)),url('assets/sections/section05.png') center/cover no-repeat;opacity:.48}.tower-art-b{right:-8vw;bottom:-9vw;width:52vw;height:34vw;background:url('assets/sections/section07.png') center/cover no-repeat;opacity:.1;transform:rotate(-4deg);mask-image:linear-gradient(135deg,transparent 8%,#000 42%,#000 74%,transparent 98%)}.rules-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px;border-top:1px solid #222832;border-left:1px solid #222832;background:rgba(8,10,15,.26);backdrop-filter:blur(6px)}.rules-grid article{min-height:190px;padding:28px;border-right:1px solid #222832;border-bottom:1px solid #222832}.rules-grid small{font-size:8px;letter-spacing:.17em;color:#666e79}.rules-grid b{display:block;margin-top:28px;font-size:22px}.rules-grid p{margin:10px 0 0;color:#9298a2;font-size:12px;line-height:1.7}.visual-divider{height:clamp(180px,26vw,380px);position:relative;overflow:hidden;background:url('assets/sections/section06.png') center/cover no-repeat}.visual-divider:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,14,.72),rgba(8,10,14,.08) 44%,rgba(8,10,14,.72))}
.floors{background:#11141a}.floor-stage{display:grid;grid-template-columns:58px minmax(0,1fr) 58px;gap:14px;align-items:center}.floor-image{background:#080a0e;overflow:hidden;border:1px solid #272d36}.floor-image img{width:100%;height:auto}.floor-arrow{width:58px;height:74px;font-size:20px;border:1px solid #303642;background:#11151d;color:#fff;cursor:pointer}.floor-footer{margin-top:16px;display:flex;justify-content:flex-end}.floor-footer span{font-size:10px;letter-spacing:.16em;color:#858b94}
.slayers{background:#090b10;overflow:hidden}.character-carousel-wrap{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;gap:14px;align-items:center}.character-carousel{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px 1px 12px}.character-carousel::-webkit-scrollbar{display:none}.character-card{flex:0 0 min(32vw,430px);scroll-snap-align:start;border:1px solid #242a32;padding:0;background:#05070a;cursor:pointer;overflow:hidden;transition:transform .2s ease,border-color .2s ease}.character-card:hover{transform:translateY(-4px);border-color:#766942}.character-card img{width:100%;height:auto}.carousel-arrow{height:74px;border:1px solid #303642;background:#10141a;cursor:pointer;font-size:19px}.carousel-dots{display:flex;gap:6px;justify-content:center;margin-top:18px}.carousel-dots i{width:18px;height:2px;background:#303640}.carousel-dots i.active{background:#d5b96f}
.operators{background:#e8e3d8;color:#15171a}.operators .section-title>div>p,.special .section-title>div>p{color:#866b31}.operators .section-title>span,.special .section-title>span{color:#66635d}.operator-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.profile-card{padding:0;border:1px solid #c9c2b4;background:#f7f4ed;cursor:pointer;overflow:hidden}.profile-card img{width:100%;height:auto;transition:transform .25s ease}.profile-card:hover img{transform:scale(1.015)}.special{background:#10131a}.special .section-title>div>p{color:#d5b96f}.special .section-title>span{color:#8f969f}.special .profile-card{background:#0b0e13;border-color:#252b34}
.character-modal{position:fixed;z-index:500;inset:0;display:none}.character-modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(10px)}.modal-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1180px,92vw);max-height:88vh;background:#0c0f14;border:1px solid #2b3039;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);overflow:hidden}.modal-close{position:absolute;z-index:4;right:16px;top:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.18);background:rgba(7,9,13,.78);font-size:25px;cursor:pointer}.modal-visual{padding:20px;background:#06080c;overflow:auto}.modal-visual>img{width:100%;height:auto;border:1px solid #20252e}.emotion-nav{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.emotion-nav button{height:36px;padding:0 13px;border:1px solid #2c323c;background:#11151b;color:#979ea8;cursor:pointer;font-size:10px}.emotion-nav button.active{background:#f0ede5;color:#111318;border-color:#f0ede5}.modal-info{padding:54px 44px 42px;overflow:auto}.modal-rank{margin:0;color:#d5b96f;font-size:10px;letter-spacing:.18em}.modal-info h3{font-size:48px;letter-spacing:-.05em;margin:12px 0 7px}.modal-role{margin:0;color:#8a919b;font-size:12px}.modal-info dl{margin:36px 0 0}.modal-info dt{margin-top:24px;color:#656d78;font-size:9px;letter-spacing:.15em}.modal-info dd{margin:7px 0 0;color:#d1d4d9;font-size:13px;line-height:1.78}
.end-section{height:68svh;min-height:560px;position:relative;overflow:hidden;display:grid;place-items:center;text-align:center}.end-section>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.end-section:after{content:"";position:absolute;inset:0;background:rgba(3,5,8,.62)}.end-section>div{position:relative;z-index:2}.end-section p{font-size:10px;letter-spacing:.24em;color:#d5b96f}.end-section h2{font-size:clamp(52px,7vw,96px);margin:12px 0 28px;letter-spacing:-.07em}footer{height:110px;padding:0 6vw;background:#07090d;border-top:1px solid #20252d;display:flex;align-items:center;justify-content:space-between}footer b{font-size:11px;letter-spacing:.18em}footer span{font-size:10px;color:#6f7680}.mobile-panel{display:none}.reveal{opacity:0;transform:translateY(18px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.desktop-nav{display:none}.menu-btn{display:block}.section{padding:88px 5vw}.section-title.split{grid-template-columns:1fr;gap:18px}.intro-grid{grid-template-columns:1fr}.intro-grid article{border-right:0;border-bottom:1px solid #c9c4b9}.intro-grid article:last-child{border-bottom:0}.rules-grid{grid-template-columns:1fr 1fr}.character-card{flex-basis:min(48vw,430px)}.modal-panel{grid-template-columns:1fr;max-height:92vh;overflow:auto}.modal-visual,.modal-info{overflow:visible}.modal-info{padding:32px 28px 40px}.mobile-panel{position:fixed;z-index:75;top:72px;right:0;bottom:0;width:min(310px,84vw);padding:30px;background:#090c11;display:flex;flex-direction:column;gap:20px;transform:translateX(102%);transition:.28s}.mobile-panel.open{transform:none}.mobile-panel a{color:#fff;text-decoration:none;font-weight:800;font-size:18px}}
@media(max-width:640px){.site-header{height:64px;padding:0 18px}.brand b{font-size:9px}.brand small{display:none}.hero{min-height:680px}.hero-content{left:22px;right:22px}.hero h1 span{font-size:48px}.hero h1 b{font-size:14px;letter-spacing:.12em}.hero-copy{font-size:14px}.section{padding:76px 20px}.section-title{margin-bottom:34px}.section-title h2{font-size:46px}.rules-grid{grid-template-columns:1fr}.rules-grid article{min-height:auto}.floor-stage{grid-template-columns:38px minmax(0,1fr) 38px;gap:7px}.floor-arrow{width:38px;height:58px}.character-carousel-wrap{grid-template-columns:36px minmax(0,1fr) 36px;gap:6px}.carousel-arrow{height:62px}.character-card{flex-basis:82vw}.operator-grid{grid-template-columns:1fr}.asset-banner{height:250px}.visual-divider{height:220px}.entry-title{padding:32px 8px}.entry-title span{font-size:44px}.entry-title b{font-size:11px;letter-spacing:.2em}.entry-button{margin-top:26px}.g-line,.g-diamond,.g-cross{opacity:.45}.modal-panel{width:96vw}.modal-info h3{font-size:38px}.emotion-nav{gap:5px}.emotion-nav button{height:34px;padding:0 10px}.tower-art-b{display:none}footer{height:auto;padding:30px 20px;gap:12px;align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.entry-visual,.entry-flash,.entry-title span,.entry-title b,.entry-title:before,.entry-title:after,.entry-button,.g-line,.g-diamond,.g-cross{animation:none!important;opacity:1;filter:none;transform:none}.entry-visual{opacity:.8}}

/* v6: loop carousel, floor transitions, linked units, chat CTA, BGM */
.nav-chat{padding:9px 13px;border:1px solid rgba(213,185,111,.55);color:#e1c981!important}.nav-chat:hover{background:#d5b96f;color:#0a0c10!important}.mobile-chat{margin-top:10px;padding-top:22px;border-top:1px solid #292e37;color:#d5b96f!important}
.floor-image{position:relative;aspect-ratio:3/1;min-height:0}.floor-image img{width:100%;height:100%;object-fit:contain;object-position:center;transition:opacity .22s ease,transform .32s cubic-bezier(.2,.75,.25,1);will-change:transform,opacity}.floor-image img.floor-out-left{opacity:0;transform:translateX(-4%) scale(.988)}.floor-image img.floor-out-right{opacity:0;transform:translateX(4%) scale(.988)}.floor-image img.floor-in-left{transition:none;opacity:0;transform:translateX(-4%) scale(.988)}.floor-image img.floor-in-right{transition:none;opacity:0;transform:translateX(4%) scale(.988)}
.character-carousel{overscroll-behavior-inline:contain}.character-card{user-select:none}.character-card.is-clone{pointer-events:auto}.carousel-dots i{transition:width .2s ease,background .2s ease}.carousel-dots i.active{width:28px}
.linked-support{margin-top:34px;padding-top:26px;border-top:1px solid #2a3039}.linked-support-title{margin:0 0 14px;color:#656d78;font-size:9px;letter-spacing:.15em}.linked-support-card{display:grid;grid-template-columns:112px 1fr;gap:18px;align-items:start}.linked-support-card img{width:112px;aspect-ratio:4/3;object-fit:cover;border:1px solid #2b313a;background:#080a0e}.linked-support-card h4{margin:1px 0 7px;font-size:19px}.linked-support-card p{margin:0;color:#aeb4bd;font-size:12px;line-height:1.7}.linked-support-card dl{margin:12px 0 0;display:grid;grid-template-columns:48px 1fr;gap:5px 8px}.linked-support-card dt{margin:0;color:#606975;font-size:9px}.linked-support-card dd{margin:0;color:#d4d7dc;font-size:11px;line-height:1.55}
.end-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.end-actions .btn.ghost{background:transparent;cursor:pointer}
.audio-control{position:fixed;z-index:90;right:22px;bottom:22px;height:42px;padding:0 14px;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.18);background:rgba(7,9,13,.76);backdrop-filter:blur(12px);color:#d8dbe0;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease,border-color .2s ease}.audio-control:hover{border-color:#d5b96f}.audio-control b{font-size:9px;letter-spacing:.14em}.audio-bars{height:15px;display:flex;align-items:flex-end;gap:2px}.audio-bars i{width:2px;background:#d5b96f;animation:audioBar .8s ease-in-out infinite alternate}.audio-bars i:nth-child(1){height:7px}.audio-bars i:nth-child(2){height:13px;animation-delay:-.3s}.audio-bars i:nth-child(3){height:9px;animation-delay:-.55s}body:not(.gate-locked) .audio-control{opacity:1;pointer-events:auto;transform:none}.audio-control.paused .audio-bars i{animation:none;height:3px;background:#6d747e}.audio-control.paused{color:#787f89}@keyframes audioBar{to{height:4px}}
@media(max-width:640px){.floor-image{aspect-ratio:3/1}.linked-support-card{grid-template-columns:86px 1fr}.linked-support-card img{width:86px}.audio-control{right:14px;bottom:14px;height:38px;padding:0 11px}.end-actions{padding:0 18px}}

/* v8: linked character emotion strip + detail switching */
.emotion-nav{display:flex;align-items:stretch;gap:8px;flex-wrap:nowrap;overflow-x:auto;margin-top:12px;padding:0 0 8px;scrollbar-width:thin;scrollbar-color:#3a414c transparent;overscroll-behavior-inline:contain}
.emotion-nav::-webkit-scrollbar{height:5px}.emotion-nav::-webkit-scrollbar-track{background:transparent}.emotion-nav::-webkit-scrollbar-thumb{background:#343b46;border-radius:999px}
.emotion-nav .emotion-thumb{position:relative;flex:0 0 92px;height:72px;padding:0;border:1px solid #2c323c;background:#0b0e13;overflow:hidden;cursor:pointer;transition:border-color .2s ease,transform .2s ease,opacity .2s ease}
.emotion-nav .emotion-thumb:hover{transform:translateY(-2px);border-color:#6f6550}
.emotion-nav .emotion-thumb.active{border-color:#d5b96f;box-shadow:0 0 0 1px rgba(213,185,111,.22) inset}
.emotion-nav .emotion-thumb img{width:100%;height:100%;object-fit:cover;display:block;opacity:.76;transition:opacity .2s ease,transform .25s ease}
.emotion-nav .emotion-thumb:hover img,.emotion-nav .emotion-thumb.active img{opacity:1;transform:scale(1.035)}
.emotion-nav .emotion-thumb span{position:absolute;left:0;right:0;bottom:0;padding:5px 4px 4px;background:linear-gradient(transparent,rgba(0,0,0,.86));font-size:8px;letter-spacing:.08em;color:#e5e7ea;text-align:center;pointer-events:none}
.emotion-divider{flex:0 0 1px;align-self:stretch;background:#303640;margin:0 4px}
.modal-visual>img{transition:opacity .2s ease,transform .28s cubic-bezier(.2,.75,.25,1);will-change:opacity,transform}
.modal-visual>img.image-switch-out{opacity:0;transform:translateX(-12px) scale(.992)}
.modal-visual>img.image-switch-in{transition:none;opacity:0;transform:translateX(12px) scale(.992)}
.modal-info{transition:opacity .22s ease,transform .26s cubic-bezier(.2,.75,.25,1);will-change:opacity,transform}
.modal-info.info-switch-out{opacity:0;transform:translateX(18px)}
.modal-info.info-switch-in{transition:none;opacity:0;transform:translateX(-18px)}
@media(max-width:640px){.emotion-nav .emotion-thumb{flex-basis:76px;height:60px}.emotion-divider{margin:0 2px}}


/* v9: intro webtoon + mobile readability */
.webtoon-intro{background:#0b0e13;position:relative;overflow:hidden}
.webtoon-intro:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(213,185,111,.075),transparent 42%),linear-gradient(115deg,transparent 0 47%,rgba(255,255,255,.018) 47% 47.3%,transparent 47.3%);pointer-events:none}
.webtoon-intro>.section-title,.webtoon-launch{position:relative;z-index:1}
.webtoon-launch{width:min(820px,100%);min-height:138px;margin:4px auto 0;padding:0 34px;display:grid;grid-template-columns:78px 1fr 54px;align-items:center;gap:24px;text-align:left;color:#f5f5f3;border:1px solid #303641;background:linear-gradient(135deg,#11151c 0%,#090c11 63%,#10141a 100%);overflow:hidden;cursor:pointer;box-shadow:0 24px 70px rgba(0,0,0,.28);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.webtoon-launch:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:#d5b96f;transform:scaleY(.46);transition:transform .25s ease}
.webtoon-launch:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(213,185,111,.12);right:-94px;top:-91px;transform:rotate(45deg);transition:transform .45s ease,border-color .25s ease}
.webtoon-launch:hover{transform:translateY(-3px);border-color:#716746;box-shadow:0 30px 78px rgba(0,0,0,.38)}
.webtoon-launch:hover:before{transform:scaleY(1)}
.webtoon-launch:hover:after{transform:rotate(57deg) scale(1.08);border-color:rgba(213,185,111,.25)}
.webtoon-launch-mark{position:relative;width:70px;height:70px;border:1px solid #3d4149;display:block;transform:rotate(45deg);background:#0b0e13}
.webtoon-launch-mark:before{content:"";position:absolute;inset:9px;border:1px solid rgba(213,185,111,.42)}
.webtoon-launch-mark i{position:absolute;display:block;background:#d5b96f;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-45deg)}
.webtoon-launch-mark i:first-child{width:22px;height:2px}
.webtoon-launch-mark i:last-child{width:2px;height:22px}
.webtoon-launch-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.webtoon-launch-copy small{font-size:10px;letter-spacing:.22em;color:#8f949c;font-weight:800}
.webtoon-launch-copy b{font-size:clamp(21px,2.1vw,30px);letter-spacing:-.035em;font-weight:800}
.webtoon-launch-arrow{justify-self:end;font-size:30px;color:#d5b96f;transition:transform .25s ease}
.webtoon-launch:hover .webtoon-launch-arrow{transform:translateX(6px)}
.webtoon-modal{position:fixed;z-index:150;inset:0;display:none}
.webtoon-modal.open{display:block}
.webtoon-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(12px)}
.webtoon-reader{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,94vw);height:min(92dvh,1100px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid rgba(255,255,255,.18);scrollbar-width:thin;scrollbar-color:#444 #111}
.webtoon-reader>img{width:100%;height:auto;margin:0 auto;background:#fff}
.webtoon-close{position:sticky;z-index:4;top:10px;float:right;margin:10px 10px -54px 0;width:44px;height:44px;border:1px solid rgba(255,255,255,.25);background:rgba(7,9,13,.82);backdrop-filter:blur(8px);color:#fff;font-size:26px;cursor:pointer}
.webtoon-close:hover{background:#f2f0e8;color:#0b0d10}
body.webtoon-open{overflow:hidden}

@media(max-width:640px){
  .mobile-panel{top:64px}
  .hero{min-height:640px}
  .hero-content{left:18px;right:18px;top:48%}
  .hero h1 span{font-size:clamp(38px,12vw,48px);line-height:.98}
  .hero h1 b{font-size:12px;letter-spacing:.1em}
  .hero-copy{font-size:13px;line-height:1.7;margin:22px 0 24px}
  .hero-actions{flex-wrap:wrap}.hero-actions .btn{flex:1 1 140px}
  .section{padding:68px 18px}
  .section-title{margin-bottom:30px}.section-title h2{font-size:42px}.section-title>span,.section-title.split>span{font-size:13px;line-height:1.65}
  .intro-grid article{padding:24px 20px}.intro-grid b{font-size:19px}.intro-grid p{font-size:13px}
  .floor-stage{position:relative;display:block}.floor-image{width:100%}.floor-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:38px;height:54px;background:rgba(8,10,14,.72);backdrop-filter:blur(8px)}.floor-arrow.prev{left:6px}.floor-arrow.next{right:6px}
  .character-carousel-wrap{grid-template-columns:32px minmax(0,1fr) 32px;gap:4px}.character-card{flex-basis:78vw}
  .modal-panel{width:100vw;max-height:100dvh;height:100dvh;border-left:0;border-right:0}.modal-info{padding:28px 22px 36px}.modal-info h3{font-size:34px}.modal-info dd{font-size:14px;line-height:1.72}
  .webtoon-launch{min-height:118px;padding:0 24px;grid-template-columns:58px 1fr 36px;gap:18px}
  .webtoon-launch-mark{width:54px;height:54px}
  .webtoon-reader{width:100vw;height:100dvh;max-height:none;border:0}
  .webtoon-close{top:8px;margin:8px 8px -52px 0}
  .audio-control{z-index:95}
}
@media(max-width:390px){
  .site-header{padding:0 14px}.brand{gap:8px}.brand-symbol{width:30px;height:30px}.brand b{font-size:8px;letter-spacing:.15em}
  .hero h1 span{font-size:38px}.hero-actions .btn{min-height:46px;padding:0 16px}
  .section-title h2{font-size:38px}
  .webtoon-launch{min-height:104px;padding:0 18px;grid-template-columns:46px 1fr 28px;gap:14px}
  .webtoon-launch-mark{width:42px;height:42px}
  .webtoon-launch-copy{gap:5px}
  .webtoon-launch-copy small{font-size:8px;letter-spacing:.17em}
  .webtoon-launch-copy b{font-size:18px}
  .webtoon-launch-arrow{font-size:23px}
}

/* v11: mobile readability pass */
@media(max-width:640px){
  .section-title>span,.section-title.split>span{font-size:14px;line-height:1.72}
  .intro-grid p{font-size:14px;line-height:1.72}
  .rules-grid p{font-size:13px;line-height:1.72}
  .modal-rank{font-size:11px}
  .modal-role{font-size:13px}
  .modal-info dt{font-size:10px}
  .emotion-nav .emotion-thumb{flex-basis:80px;height:64px}
  .emotion-nav .emotion-thumb span{font-size:9px;padding-bottom:5px}
  .webtoon-launch-copy b{line-height:1.18}
  .webtoon-reader>img{width:100%;height:auto}
}
@media(max-width:390px){
  .brand b{font-size:9px;letter-spacing:.13em}
  .section-title h2{font-size:36px;line-height:1}
  .section-title>span,.section-title.split>span{font-size:13.5px}
  .rules-grid article{padding:24px 20px}
  .rules-grid p{font-size:13px}
  .modal-info{padding-left:18px;padding-right:18px}
  .modal-info h3{font-size:32px;line-height:1.05}
}
