/* Existing editor and component styles, preserved for compatibility. */
@layer legacy {

500;600;700;800&family=Jua&display=swap');
 :root{
 --bg:#f6f0fb;--panel:#ffffff;--panel2:#f0e6f8;--line:#e2d4ee;--text:#2b2140;--muted:#756985;
 --purple:#8b5bd6;--pink:#d98bc4;--glow:rgba(139,91,214,.18);--white:#fff;
 --sun:#e45d78;--sat:#5b8fd8;--green:#59ae88;--orange:#e5a04d;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% 0%,#28183e 0,#100c1c 36%,#0c0913 100%);color:var(--text);font-family:"Noto Sans KR",sans-serif}
button,a{font:inherit}a{text-decoration:none;color:inherit}.app{min-height:100vh;display:flex}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:235px;padding:26px 18px;background:rgba(13,9,22,.92);border-right:1px solid var(--line);z-index:20;backdrop-filter:blur(16px);display:flex;flex-direction:column}
.brand{padding:4px 10px 26px}.brand strong{display:block;font:32px Jua;color:#fff;letter-spacing:1px}.brand small{color:#8d7da6;font-size:10px;letter-spacing:2px}
.nav{display:grid;gap:7px}.nav button{border:0;background:transparent;color:#bcb1ce;text-align:left;padding:13px 14px;border-radius:11px;cursor:pointer;font-size:12px;font-weight:700;display:flex;align-items:center;gap:11px}.nav button:hover,.nav button.active{background:linear-gradient(90deg,rgba(155,112,255,.24),rgba(155,112,255,.05));color:#fff;box-shadow:inset 2px 0 var(--purple)}.ico{width:20px;text-align:center;color:#a889ff}
.sidebar-bottom{margin-top:auto}.live-mini{border:1px solid #35264e;border-radius:15px;padding:15px;background:linear-gradient(145deg,#1b132b,#120e1e)}.live-mini .label{font-size:9px;color:#8d7da6;letter-spacing:2px}.live-mini b{display:block;font-size:24px;margin:5px 0}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff547e;box-shadow:0 0 10px #ff547e;margin-right:6px}.side-footer{font-size:9px;color:#62586f;margin:15px 5px 0}
main{margin-left:235px;width:calc(100% - 235px);min-height:100vh}.topbar{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;padding:0 40px;gap:12px;position:sticky;top:0;background:rgba(12,9,18,.72);backdrop-filter:blur(14px);z-index:10}.topbar span{font-size:10px;color:#8e829f;letter-spacing:1px}.topbar a{font-size:11px;color:#d9d0e5;border:1px solid var(--line);padding:8px 12px;border-radius:9px}
.page{display:none;padding:38px 46px 70px;max-width:1500px;margin:auto}.page.active{display:block}.kicker{font-size:9px;letter-spacing:3px;color:#a787ff;font-weight:800}.page-title{font:42px Jua;margin:5px 0 8px}.sub{font-size:12px;color:var(--muted);margin:0 0 26px}.grid{display:grid;gap:16px}.two{grid-template-columns:1.35fr .65fr}.three{grid-template-columns:repeat(3,1fr)}
.hero{min-height:425px;border:1px solid #4a356c;border-radius:24px;overflow:hidden;position:relative;background:linear-gradient(125deg,#251739,#5e397f 52%,#171125);box-shadow:0 20px 70px rgba(0,0,0,.35)}.hero-art{position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.25),transparent 22%),linear-gradient(135deg,rgba(255,255,255,.05),transparent 55%)}.hero-art:after{content:"DANCHU";position:absolute;right:3%;bottom:-20px;font:170px Jua;color:rgba(255,255,255,.055);letter-spacing:-8px}.hero-content{position:relative;z-index:1;width:58%;padding:46px}.hero h1{font:72px Jua;margin:8px 0 8px}.hero p{color:#d8cde3;line-height:1.9;font-size:13px}.hero-buttons{display:flex;gap:8px;margin-top:22px}.btn{border:1px solid #5a437c;border-radius:10px;padding:11px 15px;background:#24163b;color:#fff;font-weight:800;font-size:11px;cursor:pointer}.btn.primary{background:linear-gradient(135deg,#9868ff,#7446dc);border-color:#a47cff;box-shadow:0 8px 25px var(--glow)}.hero-live{position:absolute;right:25px;top:22px;background:#fff;color:#27172f;border-radius:99px;padding:7px 13px;font-size:10px;font-weight:900}.hero-live .dot{background:#ff4f76;box-shadow:none}
.card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(30,22,48,.94),rgba(18,14,28,.94));border-radius:18px;padding:20px;box-shadow:0 15px 45px rgba(0,0,0,.18)}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-head h3{margin:0;font-size:14px}.more{font-size:9px;color:#9e8eb3}.status-card{margin-top:16px}.status{font-size:18px;font-weight:900}.status small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.stat{padding:13px;border:1px solid var(--line);border-radius:11px;background:#141020}.stat b{display:block;font-size:9px;color:#887a99;margin-bottom:4px}.stat span{font-size:12px;font-weight:800}
.thumb{height:150px;border-radius:12px;background:linear-gradient(135deg,#8d61f0,#34205a);display:grid;place-items:center;position:relative;overflow:hidden}.thumb:after{content:"DANCHU";font:55px Jua;color:rgba(255,255,255,.15)}.play{position:absolute;z-index:2;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(10,6,16,.65);border:1px solid #c8adff;color:#fff}
.schedule-list{display:grid;gap:7px}.schedule-row{display:grid;grid-template-columns:65px 1fr 55px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #2c223f;font-size:10px}.schedule-row:last-child{border:0}.schedule-row b{font-size:11px}.tag{font-size:8px;padding:4px 6px;border-radius:5px;background:#302144;color:#cdbdff;justify-self:end}.tag.live{background:#52213a;color:#ff9db9}.tag.off{color:#9b91a4}
.news-list{display:grid;gap:4px}.news{padding:11px 0;border-bottom:1px solid #2c223f;display:flex;justify-content:space-between;gap:10px;font-size:10px}.news:last-child{border:0}.news small{color:#756b82}.cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.cat{display:grid;grid-template-columns:140px 1fr;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#151020}.cat-img{background:linear-gradient(135deg,#5c437b,#251837);min-height:150px}.cat-img img{width:100%;height:100%;object-fit:cover}.cat-copy{padding:16px}.cat-copy h4{margin:0 0 7px;font-size:14px}.cat-copy p{margin:0;color:var(--muted);font-size:10px;line-height:1.7}.song{margin-top:14px;display:grid;grid-template-columns:.8fr 1.2fr;gap:15px}.lyrics{white-space:pre-line;min-height:170px;border:1px solid var(--line);border-radius:12px;padding:16px;color:#d8cee3;font-size:11px;line-height:2;background:#120d1c}
.calendar-wrap{border:1px solid var(--line);border-radius:18px;background:#151020;overflow:hidden}.cal-head{padding:20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.cal-head h2{margin:0;font-size:22px}.cal-nav button{border:1px solid var(--line);background:#20162f;color:#fff;border-radius:8px;padding:7px 11px;cursor:pointer}.cal{display:grid;grid-template-columns:repeat(7,1fr)}.dow,.day{border-right:1px solid #2c223f;border-bottom:1px solid #2c223f}.dow{padding:10px;text-align:center;font-size:9px;color:#8c8198}.dow.sun{color:var(--sun)}.dow.sat{color:var(--sat)}.day{min-height:120px;padding:9px;vertical-align:top}.day.muted{opacity:.35}.num{font-size:10px;font-weight:800}.sun .num{color:var(--sun)}.sat .num{color:var(--sat)}.event{margin-top:7px;border-radius:6px;padding:7px 6px;font-size:8px;font-weight:800;cursor:pointer;line-height:1.4}.event.personal{background:#6943d7}.event.collab{background:#238cbd}.event.commerce{background:#bd6a29}.event.off{background:#55505d}.event-time{display:block;font-size:7px;opacity:.75;margin-bottom:2px}.legend{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.legend span{font-size:8px;padding:5px 8px;border-radius:6px}.lg1{background:#6943d7}.lg2{background:#238cbd}.lg3{background:#bd6a29}.lg4{background:#55505d}
.vod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.vod .thumb{height:165px}.vod h4{font-size:12px;margin:11px 0 4px}.vod p{font-size:9px;color:var(--muted);margin:0}.channel-tabs{display:flex;gap:8px;margin-bottom:18px}.channel-tabs button{border:1px solid var(--line);background:#171020;color:#aaa0bd;border-radius:8px;padding:8px 12px;font-size:10px;cursor:pointer}.channel-tabs button.active{background:#6943d7;color:#fff;border-color:#7954e8}
.news-full{display:grid;gap:9px}.news-item{border:1px solid var(--line);border-radius:12px;padding:16px;background:#151020}.news-item h4{margin:0 0 5px;font-size:12px}.news-item p{margin:0;color:var(--muted);font-size:10px;line-height:1.7}.news-item time{float:right;font-size:8px;color:#756b82}.field{margin-bottom:11px}.field label{display:block;font-size:9px;color:#93859f;margin-bottom:6px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#100c18;color:#fff;border-radius:8px;padding:10px;font-size:11px;outline:none}.player-row{display:flex;justify-content:space-around;gap:8px}.player{font-size:9px;color:#cbbde0;text-align:center;min-width:50px}.player b{display:block;color:#fff;margin-bottom:5px}.result{border:1px solid var(--line);padding:9px;border-radius:8px;font-size:9px;display:flex;justify-content:space-between}.result strong{color:#bd9cff}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.admin-card{border:1px solid var(--line);border-radius:16px;padding:20px;background:#151020}.admin-card h3{margin-top:0}.admin-note{font-size:9px;color:#887a99;line-height:1.7}.save{margin-top:5px}
.toast{position:fixed;right:22px;bottom:22px;padding:12px 15px;border-radius:10px;background:#25183a;border:1px solid #5a3e83;color:#fff;font-size:10px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.25s;z-index:99}.toast.show{opacity:1;transform:none}

.home-hero{min-height:500px;border:1px solid #4a356c;border-radius:24px;overflow:hidden;position:relative;background:linear-gradient(125deg,#251739,#5e397f 52%,#171125);box-shadow:0 20px 70px rgba(0,0,0,.35);display:flex;align-items:center}
.home-hero-art{position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.24),transparent 22%),linear-gradient(135deg,rgba(255,255,255,.05),transparent 55%)}
.home-hero-art:after{content:"DANCHU";position:absolute;right:3%;bottom:-25px;font:180px Jua;color:rgba(255,255,255,.055);letter-spacing:-8px}
.home-hero-content{position:relative;z-index:2;width:58%;padding:55px}
.home-hero-content h1{font:76px Jua;margin:8px 0 10px}
.home-hero-content p{color:#d8cde3;line-height:1.8;font-size:13px;max-width:520px}
.home-hero-image{position:absolute;right:6%;bottom:0;width:330px;height:430px;border-radius:170px 170px 0 0;background:linear-gradient(160deg,rgba(190,159,255,.9),rgba(72,43,100,.55));border:1px solid rgba(255,255,255,.16);overflow:hidden;display:grid;place-items:center;z-index:1;box-shadow:0 0 80px rgba(183,137,255,.2)}
.home-hero-image img{width:100%;height:100%;object-fit:cover;display:none}.home-hero-image .placeholder{font:52px Jua;color:rgba(255,255,255,.75)}
.home-two-grid{display:block;margin-top:16px}.home-upcoming-card{min-height:220px}.home-news-card{display:none}.home-upcoming-card .card-head h3,.home-news-card .card-head h3,.home-vod-card .card-head h3{font-size:18px;margin:3px 0 0}
.upcoming-list{display:grid;gap:9px}.upcoming-item{display:grid;grid-template-columns:82px 1fr auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #2c223f}.upcoming-item:last-child{border-bottom:0}.upcoming-date{font-size:10px;color:#b9a5ff;font-weight:800;letter-spacing:.4px}.upcoming-date strong{display:block;font-size:17px;color:#fff;margin-top:2px}.upcoming-info b{display:block;font-size:12px;margin-bottom:4px}.upcoming-info span{font-size:9px;color:var(--muted)}.upcoming-time{font-size:11px;font-weight:900;color:#fff;padding:7px 9px;border-radius:7px;background:#302047}.empty-state{padding:30px 0;color:var(--muted);font-size:10px;line-height:1.8}
.latest-news{display:grid}.latest-news-item{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #2c223f}.latest-news-item:last-child{border-bottom:0}.latest-news-item b{font-size:11px}.latest-news-item span{font-size:9px;color:#756b82;white-space:nowrap}.home-vod-card{margin-top:16px}.home-vod-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-vod-source{min-width:0}.home-vod-source .source-label{font-size:9px;letter-spacing:2px;color:#9d84c4;margin-bottom:8px}.home-vod-row{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:center}.home-vod-thumb{height:145px;border-radius:12px;background:linear-gradient(135deg,#8d61f0,#34205a);display:grid;place-items:center;position:relative;overflow:hidden}.home-vod-thumb:after{content:"DANCHU";font:55px Jua;color:rgba(255,255,255,.15)}.home-vod-info h4{font-size:18px;margin:0 0 7px}.home-vod-info p{font-size:10px;color:var(--muted);margin:0 0 14px}.home-vod-source .home-vod-thumb{height:155px}.home-vod-source .home-vod-info h4{font-size:15px}
@media(max-width:760px){.home-hero{min-height:650px;align-items:flex-start}.home-hero-content{width:100%;padding:35px 25px}.home-hero-content h1{font-size:58px}.home-hero-image{width:240px;height:310px;right:50%;transform:translateX(50%);bottom:0}.home-vod-grid,.home-vod-row{grid-template-columns:1fr}.home-vod-info{padding-bottom:8px}}
@media(max-width:1050px){.sidebar{width:190px}.sidebar .brand strong{font-size:26px}main{margin-left:190px;width:calc(100% - 190px)}.hero-content{width:72%}.vod-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{position:fixed;left:0;right:0;top:auto;bottom:0;width:auto;height:68px;padding:5px 8px;border-right:0;border-top:1px solid var(--line);flex-direction:row}.brand,.sidebar-bottom,.side-footer{display:none}.nav{width:100%;grid-template-columns:repeat(6,1fr);gap:2px}.nav button{justify-content:center;flex-direction:column;padding:5px 2px;font-size:8px;gap:1px}.nav button:nth-child(7){display:none}main{margin-left:0;width:100%;padding-bottom:60px}.topbar{padding:0 16px}.page{padding:25px 14px 80px}.hero{min-height:470px}.hero-content{width:100%;padding:30px}.hero h1{font-size:55px}.two,.three,.admin-grid,.cat-grid,.song{grid-template-columns:1fr}.calendar-wrap{overflow:auto}.cal{min-width:760px}.vod-grid{grid-template-columns:1fr}}

.broadcast-session-detail .content-detail-kicker{font-size:10px;letter-spacing:.14em;font-weight:900;color:#9b82b2;margin-bottom:5px}
.broadcast-session-detail .content-detail-list-title{margin-top:20px;margin-bottom:9px;font-size:12px;font-weight:900;color:#594875}
.broadcast-session-detail .content-detail-list{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto}
.broadcast-session-detail .content-detail-item{display:flex;align-items:center;gap:9px;min-height:32px;padding:7px 9px;border-radius:10px;background:#faf8fc;color:#554564;font-size:12px;box-sizing:border-box}
.broadcast-session-detail .content-detail-item>span{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#eee8f3;color:#806a92;font-size:10px;font-weight:900;flex:0 0 20px}
.broadcast-session-detail .content-detail-empty{padding:14px;border-radius:10px;background:#faf8fc;color:#927fa0;font-size:12px}
@media (max-width: 700px) {
}


/* V10: compact{
  width: min(62vw, 620px) ;
  max-width: 620px ;
  aspect-ratio: 1 / 1.08 ;
  margin-left: auto ;
  margin-right: auto ;
}
@media (max-width: 700px) {
}
@media (max-width:800px){
}

@media (max-width:1100px){
}
@media (max-width:800px){
}


/* Global lavender-purple theme: functionality/layout remain unchanged. */
body{background:var(--bg);color:var(--text)}
.card,.panel,.section-card,.modal,.dropdown,.calendar-wrap{background:var(--panel);color:var(--text);border-color:var(--line)}
input,textarea,select{background:#fbf8fe;color:var(--text);border-color:var(--line)}
input::placeholder,textarea::placeholder{color:#9b8eaa}
.btn{border-color:var(--line);color:var(--text);background:#fff}
.btn.primary{background:linear-gradient(135deg,#9b70e8,#7f54c5);color:#fff;border-color:#9b70e8;box-shadow:0 8px 20px rgba(139,91,214,.16)}
.page-title,.section-title,h1,h2,h3{color:var(--text)}
.muted,.sub,.admin-note{color:var(--muted)}



/* V17 — unify header/sidebar/navigation with the lavender-purple theme */
.sidebar{
  background:rgba(255,255,255,.92);
  border-right:1px solid #e2d4ee;
  box-shadow:8px 0 28px rgba(99,67,130,.06);
}
.sidebar .brand strong{color:#6f48a8}
.brand small{color:#9a80b6}
.nav button{
  color:#776786;
}
.nav button:hover{
  background:linear-gradient(90deg,rgba(139,91,214,.10),rgba(139,91,214,.035));
  color:#6f48a8;
}
.nav button.active{
  background:linear-gradient(90deg,rgba(139,91,214,.17),rgba(139,91,214,.055));
  color:#6f48a8;
  box-shadow:inset 2px 0 #8b5bd6;
}
.nav button .ico{color:#8b5bd6}
.side-footer{color:#a08daf}

.topbar{
  background:rgba(255,255,255,.88);
  border-bottom:1px solid #e2d4ee;
  box-shadow:0 5px 20px rgba(99,67,130,.045);
}
.topbar span{color:#8b7b9b}
.topbar a{
  color:#6f5b80;
  background:#fff;
  border-color:#e2d4ee;
}
.topbar a:hover{
  color:#6f48a8;
  border-color:#cdb6df;
  background:#faf6fd;
}

/* Any remaining dark utility controls should follow the same palette. */
.cal-nav button{
  background:#fff;
  color:#6f48a8;
  border-color:#e2d4ee;
}
.cal-nav button:hover{background:#f7effc}
.badge,.pill{background:#f1e7f8;color:#7954a0;border-color:#e2d4ee}


/* =========================================================
   DANCHU V18 — Unified Lavender Purple Design System
   Layout + functionality intentionally unchanged.
   ========================================================= */
:root{
  --bg:#f7f2fb;
  --panel:#ffffff;
  --panel2:#f1e8f8;
  --line:#e3d6ed;
  --text:#2f2540;
  --muted:#7b6d88;
  --purple:#8b5bd6;
  --purple-dark:#7043ad;
  --purple-soft:#b99ae6;
  --pink:#d99bc8;
  --glow:rgba(139,91,214,.16);
  --white:#ffffff;
  --sun:#df607b;
  --sat:#5f91d8;
  --green:#59a987;
  --orange:#dfa05a;
}

/* Page foundation */
html,body{background:var(--bg);color:var(--text)}
body{background-image:linear-gradient(180deg,#faf7fd 0%,#f5eef9 100%)}
.app{background:transparent}
main,.main,.content,.page-wrap{background:transparent}

/* Navigation / chrome */
.sidebar{
  background:rgba(255,255,255,.94);
  border-right:1px solid var(--line);
  box-shadow:8px 0 30px rgba(94,64,125,.055);
}
.brand strong{color:var(--purple-dark)}
.brand small{color:#9b86ad}
.nav button{color:#786887;background:transparent}
.nav button:hover{
  color:var(--purple-dark);
  background:#f5ecfb;
  box-shadow:inset 2px 0 #c2a2e8;
}
.nav button.active{
  color:var(--purple-dark);
  background:#eee1f8;
  box-shadow:inset 3px 0 var(--purple);
}
.nav button .ico{color:var(--purple)}
.side-footer{color:#a08eaf}

.topbar{
  background:rgba(255,255,255,.92);
  border-bottom:1px solid var(--line);
  box-shadow:0 5px 22px rgba(94,64,125,.045);
}
.topbar span{color:#8c7b9d}
.topbar a{
  color:#725b82;
  background:#fff;
  border-color:var(--line);
}
.topbar a:hover{background:#faf6fd;color:var(--purple-dark)}

/* Cards / containers */
.card,.panel,.section-card,.calendar-wrap,.modal,.dropdown{
  background:var(--panel);
  color:var(--text);
  border-color:var(--line);
  box-shadow:0 10px 28px rgba(91,62,122,.045);
}
.card:hover,.section-card:hover{border-color:#d4bee6}

/* Typography */
h1,h2,h3,h4,.page-title,.section-title{color:var(--text)}
.sub,.muted,.admin-note,.hint,.small{color:var(--muted)}
a{color:var(--purple-dark)}

/* Buttons */
.btn{
  color:#675174;
  background:#fff;
  border-color:var(--line);
}
.btn:hover{background:#f7effc;border-color:#ceb4e3}
.btn.primary,.primary{
  color:#fff;
  background:linear-gradient(135deg,#9a70e3,#7d51c1);
  border-color:#9165d5;
  box-shadow:0 8px 20px rgba(139,91,214,.15);
}
.btn.primary:hover,.primary:hover{
  background:linear-gradient(135deg,#a47be8,#875acb);
}

/* Inputs */
input,textarea,select{
  background:#fcf9fe;
  color:var(--text);
  border-color:var(--line);
}
input:focus,textarea:focus,select:focus{
  border-color:#b392da;
  box-shadow:0 0 0 3px rgba(139,91,214,.09);
}
input::placeholder,textarea::placeholder{color:#a090ae}

/* Badges / pills / status */
.badge,.pill,.tag{
  background:#f0e5f8;
  color:#77529b;
  border-color:#e0cdea;
}
.status,.live,.online{
  background:#f8e9ef;
  color:#c85670;
  border-color:#f0cdd8;
}

/* Calendar */
.calendar,.calendar-grid,.cal-grid{background:#fff;border-color:var(--line)}
.calendar th,.calendar-header{background:#faf7fd;color:#766382;border-color:var(--line)}
.cal-nav button{
  background:#fff;color:var(--purple-dark);border-color:var(--line);
}
.cal-nav button:hover{background:#f5ecfb}
.sat,.saturday,[data-day="sat"]{color:var(--sat)}
.sun,.sunday,[data-day="sun"]{color:var(--sun)}

/* Schedule / event chips */
.event,.schedule-item,.schedule-card{
  background:#f0e5f8;
  color:#694795;
  border-color:#dfcce9;
}
.event:hover,.schedule-item:hover{background:#e9daf4}

/* VOD */
.vod-card,.vod-item,.video-card{
  background:#fff;
  border-color:var(--line);
}
.play,.play-button,.vod-play{
  background:rgba(139,91,214,.9);
  color:#fff;
}

.result{
  background:#f5ecfa;
  border-color:#e1d0eb;
  color:var(--text);
}

/* Admin */
.admin-card,.manage-card,.settings-card{
  background:#fff;
  border-color:var(--line);
}
hr,.divider{border-color:var(--line)}

/* Scrollbars */
*{scrollbar-color:#c9afe1 #f3ebf8}
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-track{background:#f3ebf8}
*::-webkit-scrollbar-thumb{background:#c9afe1;border-radius:20px}
*::-webkit-scrollbar-thumb:hover{background:#b18dce}

/* Mobile navigation */
@media(max-width:800px){
  .sidebar{
    background:rgba(255,255,255,.96);
    border-top:1px solid var(--line);
    box-shadow:0 -8px 25px rgba(94,64,125,.06);
  }
}


.hero,.hero-card,.home-hero{
  background:linear-gradient(135deg,#eadcf5,#f8f3fb);
  border-color:#dfcbea;
}
.hero *,.hero-card *,.home-hero *{color:var(--text)}
.kicker{color:#8b5bd6}


/* =========================================================
   V19 — Editorial + Premium Creator redesign
   Structure/functions preserved; visual composition redesigned.
   ========================================================= */

/* Global */
body{
  background:
    radial-gradient(circle at 18% 0%,rgba(218,194,244,.42),transparent 28%),
    radial-gradient(circle at 86% 10%,rgba(246,216,239,.36),transparent 24%),
    linear-gradient(180deg,#fbf8fd 0%,#f5eef9 100%);
  color:#2f2540;
}
main{margin-left:0;width:100%;min-height:100vh}

/* Top navigation becomes a premium horizontal site header */
.sidebar{
  position:fixed;
  left:0;right:0;top:0;bottom:auto;
  width:100%;height:78px;
  padding:0 42px;
  background:rgba(255,255,255,.88);
  border-right:0;
  border-bottom:1px solid #e5d9ee;
  backdrop-filter:blur(20px);
  box-shadow:0 6px 30px rgba(87,58,118,.055);
  display:flex;
  flex-direction:row;
  align-items:center;
  z-index:40;
}
.brand{
  padding:0;
  width:185px;
  flex:0 0 185px;
}
.brand strong{
  font:26px Jua;
  color:#6d43a7;
  letter-spacing:1px;
}
.brand small{
  display:block;
  color:#a084b5;
  font-size:8px;
  letter-spacing:2.4px;
  margin-top:-2px;
}
.nav{
  display:flex;
  align-items:center;
  gap:3px;
  flex:1;
}
.nav button{
  border:0;
  background:transparent;
  color:#766681;
  text-align:center;
  padding:10px 13px;
  border-radius:999px;
  cursor:pointer;
  font-size:10px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  white-space:nowrap;
}
.nav button .ico{display:none}
.nav button:hover{
  background:#f6eefb;
  color:#7043ad;
  box-shadow:none;
}
.nav button.active{
  background:#eee1f8;
  color:#7043ad;
  box-shadow:none;
}
.sidebar-bottom{display:none}

/* Utility links float inside the same visual header */
.topbar{
  position:fixed;
  top:0;right:35px;
  width:auto;height:78px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  z-index:45;
  display:flex;
  align-items:center;
  gap:7px;
}
.topbar span{display:none}
.topbar a{
  font-size:9px;
  color:#765d88;
  background:#fff;
  border:1px solid #e4d8ed;
  padding:7px 10px;
  border-radius:999px;
}
.topbar a:hover{background:#f6eefb;color:#7043ad}

/* Page rhythm */
.page{
  max-width:1320px;
  padding:118px 48px 80px;
}
.page-title{
  font:48px Jua;
  color:#3a2b4d;
  letter-spacing:-.5px;
}
.kicker{
  color:#8b5bd6;
  font-size:9px;
  letter-spacing:3.2px;
}
.sub{color:#82718f}

/* Home: editorial hero */
.home-hero{
  min-height:610px;
  border:1px solid #dfd0ea;
  border-radius:28px;
  background:
    radial-gradient(circle at 82% 28%,rgba(255,255,255,.92),transparent 23%),
    linear-gradient(115deg,#eee2f8 0%,#faf7fd 48%,#f2e4f5 100%);
  box-shadow:0 24px 70px rgba(92,59,124,.10);
  overflow:hidden;
  display:block;
}
.home-hero-art{
  background:
    radial-gradient(circle at 75% 22%,rgba(255,255,255,.95),transparent 17%),
    radial-gradient(circle at 65% 82%,rgba(202,170,231,.22),transparent 24%),
    linear-gradient(135deg,rgba(255,255,255,.30),transparent 55%);
}
.home-hero-art:before{
  content:"✦  ˚  ♡  ✦  ˚";
  position:absolute;
  right:9%;
  top:18%;
  color:rgba(139,91,214,.18);
  font-size:30px;
  letter-spacing:22px;
}
.home-hero-art:after{
  content:"DANCHU";
  right:3%;
  bottom:-25px;
  font:190px Jua;
  color:rgba(139,91,214,.055);
}
.home-hero-content{
  width:53%;
  padding:82px 60px;
  position:relative;
  z-index:3;
}
.home-hero-content .kicker{color:#8b5bd6}
.home-hero-content h1{
  font:92px Jua;
  color:#56367e;
  margin:9px 0 5px;
  letter-spacing:-2px;
}
.home-hero-content p{
  color:#75647f;
  line-height:1.9;
  font-size:13px;
  max-width:480px;
}
.home-hero-content .btn{
  background:#fff;
  color:#68468c;
  border-color:#ddcce8;
}
.home-hero-content .btn.primary{
  color:#fff;
  background:linear-gradient(135deg,#9d72df,#7d50c2);
  border-color:#9b70d9;
}
.home-hero-image{
  right:5%;
  bottom:0;
  width:430px;
  height:540px;
  border-radius:220px 220px 0 0;
  background:linear-gradient(160deg,rgba(215,190,239,.72),rgba(160,122,196,.22));
  border:0;
  box-shadow:none;
}
.home-hero-image img{
  object-fit:cover;
}
.home-hero-image .placeholder{
  font:64px Jua;
  color:rgba(102,66,140,.32);
}
.hero-live{
  right:28px;top:25px;
  background:#fff;
  color:#5f486f;
  border:1px solid #e3d7eb;
  box-shadow:0 8px 20px rgba(90,57,121,.06);
}

/* Home content blocks */
.home-two-grid{margin-top:20px}
.home-upcoming-card,.home-vod-card{
  background:#fff;
  border:1px solid #e3d7ed;
  border-radius:22px;
  box-shadow:0 14px 40px rgba(90,59,122,.055);
  padding:24px;
}
.home-upcoming-card .card-head h3,.home-vod-card .card-head h3{
  font-size:20px;color:#39294d;
}
.more{color:#8b5bd6}
.upcoming-item{
  border-bottom:1px solid #eee5f3;
  padding:16px 4px;
}
.upcoming-date{color:#8b5bd6}
.upcoming-date strong{color:#3b2b4c}
.upcoming-info b{color:#403050}
.upcoming-time{background:#f0e5f8;color:#7650a0}
.home-vod-grid{gap:20px}
.home-vod-source{
  border:1px solid #eee5f3;
  border-radius:16px;
  padding:12px;
  background:#fdfbfe;
}
.home-vod-source .source-label{color:#8b5bd6;padding:2px 3px}
.home-vod-thumb{
  background:linear-gradient(135deg,#c8a8e8,#8761b4);
}
.home-vod-info h4{color:#403050}

/* All cards */
.card{
  background:#fff;
  border:1px solid #e3d7ed;
  border-radius:20px;
  box-shadow:0 12px 36px rgba(90,59,122,.05);
}
.card-head{margin-bottom:17px}
.card-head h3{color:#3d2c4f}
.btn{
  background:#fff;
  color:#674783;
  border-color:#dfd2e9;
}
.btn.primary{
  background:linear-gradient(135deg,#9d72df,#7d50c2);
  color:#fff;
}
.cat{
  background:#fdfbfe;
  border-color:#e6dbee;
}
.cat-img{background:linear-gradient(135deg,#d6bee9,#9c78bd)}
.lyrics{
  background:#fbf8fd;
  color:#6f607c;
  border-color:#e5d9ee;
}

/* Schedule */
.calendar-wrap{
  background:#fff;
  border:1px solid #e3d7ed;
  border-radius:22px;
  box-shadow:0 12px 38px rgba(90,59,122,.05);
}
.cal-head{border-bottom-color:#eee5f3;padding:23px}
.cal-head h2{color:#4a3561}
.cal{background:#fff}
.dow,.day{border-right-color:#eee5f3;border-bottom-color:#eee5f3}
.dow{background:#fcf9fe;color:#81728d}
.day{background:#fff}
.day:hover{background:#fcf8fe}
.event.personal{background:#8b5bd6}
.event.collab{background:#68a3c8}
.event.commerce{background:#d59a63}
.event.off{background:#b8aebf}
.legend span{color:#fff}

/* VOD */
.channel-tabs button{
  background:#fff;
  color:#806f8c;
  border-color:#e3d7ed;
}
.channel-tabs button.active{background:#8b5bd6;border-color:#8b5bd6}
.vod .thumb{
  background:linear-gradient(135deg,#c6a6e8,#8760b6);
}
.vod h4{color:#403050}
.vod-grid{gap:18px}

/* News / admin */
.news-item,.admin-card{
  background:#fff;
  border-color:#e3d7ed;
  border-radius:18px;
}
.news-item p,.admin-note{color:#81718d}
.field input,.field textarea,.field select{
  background:#fcf9fe;
  color:#382a48;
  border-color:#e1d4ea;
}
.field label{color:#806f8c}
.result{
  background:#f8f2fc;
  border-color:#e5d8ed;
}
.result strong{color:#7650a0}

/* Responsive header */
@media(max-width:1050px){
  .sidebar{padding:0 20px}
  .brand{width:145px;flex-basis:145px}
  .brand strong{font-size:22px}
  .nav button{padding:9px 8px;font-size:9px}
  .topbar{right:20px}
  .topbar a{padding:6px 8px}
  .page{padding-left:30px;padding-right:30px}
  .home-hero-content{width:58%;padding:60px 42px}
  .home-hero-content h1{font-size:72px}
  .home-hero-image{width:360px;height:470px}
}
@media(max-width:760px){
  .sidebar{
    top:auto;bottom:0;height:68px;
    padding:5px 8px;display:flex;
  }
  .brand{display:none}
  .nav{display:grid;grid-template-columns:repeat(6,1fr);width:100%}
  .nav button{flex-direction:column;padding:5px 2px;font-size:8px;gap:1px}
  .nav button .ico{display:block}
  .topbar{
    position:fixed;top:0;left:0;right:0;
    height:55px;justify-content:flex-end;padding:0 14px;
  }
  .page{padding:82px 16px 85px}
  .home-hero{min-height:720px}
  .home-hero-content{width:100%;padding:45px 26px}
  .home-hero-content h1{font-size:62px}
  .home-hero-image{width:280px;height:360px;right:50%;transform:translateX(50%)}
}


/* V20 — the mockup's editorial composition, while retaining all existing JS IDs/functions. */
body{
  background:
    radial-gradient(circle at 12% 2%,rgba(218,194,244,.34),transparent 25%),
    radial-gradient(circle at 90% 8%,rgba(247,218,238,.30),transparent 23%),
    #f8f4fb;
}
.page{
  max-width:1280px;
  padding:118px 52px 70px;
}
#page-home{padding-bottom:0}

/* Hero: two-column editorial composition */
.editorial-hero{
  min-height:555px;
  display:grid;
  grid-template-columns:47% 53%;
  overflow:hidden;
  border:1px solid #dfd2e9;
  border-radius:28px;
  background:linear-gradient(115deg,#f0e5f8 0%,#fbf9fd 52%,#eadcf4 100%);
  box-shadow:0 22px 65px rgba(82,54,111,.09);
}
.editorial-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:60px 20px 60px 64px;
  position:relative;
  z-index:4;
}
.editorial-copy h1{
  margin:8px 0 12px;
  font:88px Jua;
  letter-spacing:-3px;
  color:#51356e;
}
.editorial-copy p{
  max-width:430px;
  margin:0 0 26px;
  color:#786881;
  line-height:1.85;
  font-size:13px;
}
.editorial-copy .hero-buttons{display:flex;gap:8px}
.editorial-copy .btn{border-radius:10px}
.editorial-copy .btn.primary{
  background:linear-gradient(135deg,#9c70df,#7b50bd);
}

.editorial-visual{
  position:relative;
  min-height:555px;
  overflow:hidden;
}
.editorial-glow{
  position:absolute;
  width:430px;height:430px;
  right:5%;top:8%;
  border-radius:50%;
  background:radial-gradient(circle,#fff 0%,rgba(228,208,241,.66) 40%,rgba(228,208,241,0) 70%);
}
.editorial-name-watermark{
  position:absolute;
  right:-4%;
  bottom:8%;
  font:145px Jua;
  color:rgba(103,66,142,.065);
  letter-spacing:-5px;
}
.editorial-visual .hero-live{
  top:24px;
  right:28px;
  z-index:8;
}
.editorial-visual .home-hero-image{
  position:absolute;
  z-index:5;
  right:10%;
  bottom:0;
  width:390px;
  height:505px;
  border-radius:210px 210px 0 0;
  background:linear-gradient(160deg,#d9c0eb,#b493cf);
  overflow:hidden;
}
.editorial-visual .home-hero-image img{
  width:100%;height:100%;
  object-fit:cover;
}
.editorial-visual .home-hero-image .placeholder{
  font:60px Jua;
  color:rgba(255,255,255,.48);
}

/* Section headers intentionally become editorial labels instead of dashboard cards. */
.editorial-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  margin:54px 2px 15px;
}
.editorial-section-head h2{
  margin:4px 0 0;
  font:32px Jua;
  color:#3b2c4c;
}
.editorial-section-head .kicker{margin:0;color:#8b5bd6}
.editorial-section-head .more{
  border:0;background:transparent;
  color:#816097;
  font-size:9px;font-weight:800;
  cursor:pointer;
}
.editorial-section-head .more:hover{color:#7043ad}

/* Upcoming stream: clean editorial list, no nested dashboard clutter. */
.editorial-schedule{
  padding:0 26px;
  border-radius:18px;
  background:#fff;
}
.editorial-schedule .upcoming-list{display:block}
.editorial-schedule .upcoming-item{
  min-height:76px;
  display:grid;
  grid-template-columns:150px 1fr 90px;
  align-items:center;
  gap:18px;
  border-bottom:1px solid #eee6f3;
  padding:0;
}
.editorial-schedule .upcoming-item:last-child{border-bottom:0}
.editorial-schedule .upcoming-date{
  display:flex;
  align-items:baseline;
  gap:10px;
  color:#8b5bd6;
}
.editorial-schedule .upcoming-date strong{
  font:26px Jua;
  color:#49345c;
}
.editorial-schedule .upcoming-info b{
  color:#443250;
  font-size:12px;
}
.editorial-schedule .upcoming-info small{
  color:#94849d;
}
.editorial-schedule .upcoming-time{
  justify-self:end;
  background:#f0e5f8;
  color:#7650a0;
  border-radius:999px;
  padding:6px 9px;
}

/* Two equal VOD blocks, exactly as the proposed mockup. */
.editorial-vod-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.editorial-vod-card{
  padding:22px;
  border-radius:20px;
}
.editorial-vod-label{
  font-size:11px;
  font-weight:900;
  letter-spacing:1.4px;
  color:#654582;
  margin-bottom:15px;
}
.editorial-vod-label span{
  margin-left:8px;
  color:#a18eac;
  font-size:8px;
  letter-spacing:1px;
}
.editorial-vod-card .home-vod-row{
  display:grid;
  grid-template-columns:210px 1fr;
  min-height:150px;
  gap:18px;
  align-items:center;
}
.editorial-vod-card .home-vod-thumb{
  min-height:130px;
  border-radius:13px;
  background:linear-gradient(135deg,#c9aae6,#8560b3);
}
.editorial-vod-card .home-vod-info h4{
  font-size:17px;
  color:#403050;
}
.editorial-vod-card .home-vod-info p{
  color:#94849d;
}
.editorial-vod-card .home-vod-info .btn{
  margin-top:8px;
  border-radius:9px;
}
.editorial-vod-card .empty-state{
  min-height:130px;
  display:grid;
  place-items:center;
  color:#9a8aa4;
  background:#fcfafe;
  border:1px dashed #e2d7eb;
  border-radius:13px;
}

/* Footer: quiet and premium */
.editorial-footer{
  margin-top:72px;
  padding:26px 2px 28px;
  border-top:1px solid #e1d5ea;
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:35px;
  color:#8d7c99;
}
.editorial-footer strong{
  display:block;
  color:#654582;
  font:20px Jua;
}
.editorial-footer span{
  font-size:8px;
  letter-spacing:1.6px;
}
.editorial-footer-links{display:flex;gap:16px}
.editorial-footer-links a{
  color:#795b91;
  font-size:9px;
  font-weight:800;
}
.editorial-footer small{font-size:8px}

/* Other pages use the same visual language,
#page-schedule .page-title,
#page-vod .page-title,
#page-news .page-title,
#page-ladder .page-title,
#page-admin .page-title{
  font:46px Jua;
  color:#3a2b4d;
}#page-schedule .calendar-wrap,#page-vod .card,
#page-news .card,#page-ladder .card,#page-admin .admin-card{
  border-radius:20px;
}

/* Mobile */
@media(max-width:900px){
  .page{padding-left:28px;padding-right:28px}
  .editorial-hero{grid-template-columns:1fr;min-height:720px}
  .editorial-copy{padding:48px 34px 10px;justify-content:flex-start}
  .editorial-copy h1{font-size:70px}
  .editorial-visual{min-height:430px}
  .editorial-visual .home-hero-image{width:300px;height:385px;right:50%;transform:translateX(50%)}
  .editorial-name-watermark{font-size:100px;bottom:3%}
  .editorial-schedule .upcoming-item{grid-template-columns:105px 1fr 75px}
  .editorial-vod-card .home-vod-row{grid-template-columns:1fr}
}
@keyframes v94-disc-spin{to{transform:rotate(360deg)}}
@media(max-width:650px){
  .page{padding:82px 16px 85px}
  .editorial-section-head{margin-top:38px}
  .editorial-section-head h2{font-size:27px}
  .editorial-schedule{padding:0 15px}
  .editorial-schedule .upcoming-item{grid-template-columns:1fr auto;gap:5px;min-height:84px}
  .editorial-schedule .upcoming-date{grid-column:1/2}
  .editorial-schedule .upcoming-info{grid-column:1/2}
  .editorial-schedule .upcoming-time{grid-column:2;grid-row:1/3}
  .editorial-vod-grid{grid-template-columns:1fr}
  .editorial-footer{grid-template-columns:1fr;gap:12px}
}


*{box-sizing:border-box}
body{background:#faf7fd;color:#30223f}
main{margin-left:0;width:100%}
.sidebar{position:fixed;top:0;left:0;right:0;width:100%;height:74px;padding:0 40px;display:flex;align-items:center;gap:28px;background:rgba(255,255,255,.90);border:0;border-bottom:1px solid #e8ddf2;border-radius:0;box-shadow:0 8px 28px rgba(108,73,139,.08);backdrop-filter:blur(16px);z-index:100}
.brand{width:190px;flex:0 0 190px;padding:0}.brand strong{display:block;font:27px Georgia,serif;color:#6940bf;letter-spacing:.3px}.brand small{display:block;font-size:9px;color:#80679c;letter-spacing:.4px;margin-top:-2px}.nav{display:flex;align-items:center;gap:3px;flex:1}.nav button,.nav-link{border:0;background:transparent;color:#29202f;font-size:13px;font-weight:700;padding:23px 14px;text-decoration:none;white-space:nowrap;cursor:pointer;border-radius:0;position:relative}.nav button:hover,.nav-link:hover{color:#7043c2;background:transparent}.nav button.active{color:#7043c2;background:transparent}.nav button.active:after{content:"";position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:25px;height:2px;border-radius:2px;background:#7043c2}.nav .ico{display:none}.header-actions{display:flex;align-items:center;gap:9px;margin-left:auto;flex:0 0 auto}.icon-action{border:0;background:transparent;font-size:25px;color:#30223f;cursor:pointer}.login-pill{background:linear-gradient(135deg,#9d6de4,#7444bd);color:#fff;text-decoration:none;padding:9px 22px;border-radius:999px;font-size:12px;font-weight:800}.social-icon{width:35px;height:35px;border:1px solid #dfd4e9;border-radius:50%;display:grid;place-items:center;color:#4e3a62;background:#fff;text-decoration:none;font-weight:800;font-size:14px}.topbar{display:none}.page{max-width:none;padding:74px 0 0}.page:not(#page-home){padding:125px 52px 70px;max-width:1280px;margin:auto}
.mockup-hero{min-height:510px;display:grid;grid-template-columns:45% 55%;overflow:hidden;position:relative;background:linear-gradient(110deg,#fbf6ff 0%,#f0e2fa 48%,#f6e9fa 100%);border-bottom:1px solid #e5d8ef}.mockup-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 35%,rgba(255,255,255,.92),transparent 32%),radial-gradient(circle at 80% 30%,rgba(215,190,244,.30),transparent 35%);pointer-events:none}.mockup-hero-copy{position:relative;z-index:3;padding:78px 20px 55px max(40px,calc((100vw - 1280px)/2));align-self:center}.mockup-hero-copy .kicker{color:#7043c2;letter-spacing:6px;font-size:10px}.mockup-hero-copy h1{font:88px Georgia,serif;letter-spacing:-2px;color:#6136b2;margin:9px 0 7px}.mockup-hero-copy h3{font-size:18px;color:#5b3c7d;margin:0 0 18px}.mockup-hero-copy p{font-size:13px;line-height:1.85;color:#655675;margin:0 0 24px}.mockup-hero-copy .btn{border-radius:10px;padding:12px 22px}.mockup-hero-copy .btn.primary{background:linear-gradient(135deg,#8e5dde,#7043bd);color:#fff}.mockup-hero-art{position:relative;min-height:510px;overflow:hidden;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.96),transparent 32%),linear-gradient(135deg,rgba(236,218,250,.4),rgba(255,255,255,.08))}.mockup-hero-art:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(143,94,211,.28) 1px,transparent 1px);background-size:55px 55px;opacity:.3}.hero-deco{position:absolute;top:70px;left:15%;font-size:25px;letter-spacing:14px;color:#b78ce9;z-index:2}.mockup-hero-art .home-hero-image{position:absolute;right:9%;bottom:0;width:480px;height:500px;border-radius:250px 250px 0 0;background:linear-gradient(160deg,#efdff9,#cbb1e8);overflow:hidden;z-index:4;box-shadow:0 -15px 60px rgba(133,88,174,.12)}.mockup-hero-art .home-hero-image img{width:100%;height:100%;object-fit:cover}.mockup-hero-art .placeholder{display:grid;place-items:center;width:100%;height:100%;font:64px Jua;color:rgba(105,65,143,.28)}.mockup-sign{position:absolute;right:8%;top:52%;z-index:5;color:#aa79df;font:italic 25px cursive;transform:rotate(-7deg)}.mockup-hero-art .editorial-name-watermark{position:absolute;right:-4%;bottom:8%;font:160px Georgia,serif;color:rgba(107,66,170,.055);z-index:1}
.mockup-panel{width:min(1120px,calc(100% - 64px));margin:0 auto;border:1px solid #ded0ed;border-radius:16px;background:rgba(255,255,255,.88);box-shadow:0 8px 30px rgba(94,57,126,.04)}.next-panel{margin-top:0;min-height:145px;display:grid;grid-template-columns:1.05fr 1px 1fr;padding:20px 26px;align-items:center}.next-main{padding:4px 28px 4px 12px}.next-divider,.vod-divider{height:100%;width:1px;background:#e5d9ef}.upcoming-column{padding-left:28px}.panel-title{display:flex;justify-content:space-between;align-items:center;color:#7444c4;font-size:12px;font-weight:800;letter-spacing:.4px;margin-bottom:9px}.panel-title .more{border:0;background:transparent;color:#855db3;font-size:9px;cursor:pointer}.next-kicker{color:#7043c2;font-size:12px;font-weight:800;letter-spacing:1px}.next-date{display:flex;align-items:center;gap:14px;margin-top:6px}.next-date strong{font:39px Georgia,serif;color:#6338b6}.next-date span{font-size:12px;font-weight:800;color:#6f6179}.next-time{font-size:28px;font-weight:800;color:#31233c}.next-title{margin-left:12px;color:#4c3b58;font-size:12px}.live-badge{background:#9162d6;color:#fff;border-radius:999px;padding:4px 9px;font-size:8px;margin-left:7px}.home-upcoming-row{display:grid;grid-template-columns:62px 42px 52px 1fr;gap:10px;align-items:center;padding:6px 0;font-size:10px;border-bottom:1px solid #f0e8f5}.home-upcoming-row:last-child{border-bottom:0}.home-upcoming-row .date{color:#5b3d74;font-weight:800}.home-upcoming-row .day{color:#7a58a2}.home-upcoming-row .time{color:#9a7db0}.home-upcoming-row .title{color:#4b3b57}.empty-state{padding:18px;text-align:center;color:#9889a1;font-size:10px}
.vod-panel{margin-top:13px;display:grid;grid-template-columns:1fr 1px 1fr;padding:20px 22px}.vod-half{min-width:0}.vod-half:first-child{padding-right:22px}.vod-half:last-child{padding-left:22px}.source-label{font-size:10px;font-weight:800;color:#62458a;margin-bottom:9px}.home-vod-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.home-vod-mini .thumb{height:74px;border-radius:8px;background:linear-gradient(135deg,#c9a9e8,#8260b2);position:relative;overflow:hidden}.home-vod-mini .thumb img{width:100%;height:100%;object-fit:cover}.home-vod-mini .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(35,20,50,.7);color:#fff;font-size:10px}.home-vod-mini h4{font-size:10px;color:#44334f;margin:6px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-vod-mini p{font-size:8px;color:#967fa6;margin:0}.mockup-footer{width:100%;margin-top:28px;padding:28px max(40px,calc((100vw - 1280px)/2)) 30px;background:linear-gradient(180deg,#f0e4f8,#eee1f7);border-top:1px solid #e0d3eb;display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr 1.7fr;gap:28px;color:#6f5a7d}.mockup-footer b{display:block;color:#7043bd;font-size:9px;margin-bottom:10px;letter-spacing:1px}.mockup-footer a{display:block;color:#6f5b7b;font-size:9px;margin:6px 0;cursor:pointer}.footer-brand strong{display:block;font:31px Georgia,serif;color:#6940bf}.footer-brand small{font-size:9px}.footer-social{display:flex;gap:10px}.footer-social a{width:26px;height:26px;border:1px solid #d8c9e5;border-radius:50%;display:grid;place-items:center;margin:0;background:#fff}.footer-copy{align-self:end;text-align:right;font-size:8px;color:#9888a1;line-height:1.9}.footer-copy span{color:#79668a}
@media(max-width:1100px){.sidebar{padding:0 20px;gap:12px}.brand{width:150px;flex-basis:150px}.nav{overflow:auto}.nav button,.nav-link{padding-left:8px;padding-right:8px;font-size:11px}.header-actions .social-icon{display:none}.mockup-hero-copy{padding-left:40px}.mockup-hero-art .home-hero-image{right:3%;width:390px;height:440px}.home-vod-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{height:62px;padding:0 12px}.brand{width:95px;flex-basis:95px}.brand strong{font-size:20px}.brand small{font-size:7px}.nav{display:flex;overflow:hidden}.nav button,.nav-link{padding:20px 5px;font-size:9px}.nav button:nth-child(n+5),.nav-link{display:none}.header-actions{gap:4px}.icon-action,.social-icon{display:none}.login-pill{padding:7px 10px;font-size:9px}.page{padding-top:62px}.mockup-hero{grid-template-columns:1fr;min-height:690px}.mockup-hero-copy{padding:48px 24px 10px}.mockup-hero-copy h1{font-size:62px}.mockup-hero-art{min-height:360px}.mockup-hero-art .home-hero-image{width:290px;height:340px;right:50%;transform:translateX(50%)}.mockup-panel{width:calc(100% - 28px)}.next-panel{grid-template-columns:1fr;padding:17px}.next-divider{width:100%;height:1px;margin:14px 0}.upcoming-column{padding-left:0}.vod-panel{grid-template-columns:1fr;padding:17px}.vod-divider{width:100%;height:1px;margin:16px 0}.vod-half:first-child,.vod-half:last-child{padding:0}.home-vod-list{grid-template-columns:repeat(2,1fr)}.mockup-footer{grid-template-columns:1fr 1fr;padding:26px 20px}.footer-copy{text-align:left;grid-column:1/-1}.page:not(#page-home){padding:90px 20px 80px}}


/* V22 — one visual language across every section, matching the lavender editorial mockup. */
:root{--v22-purple:#7043c2;--v22-purple2:#9c70df;--v22-ink:#30223f;--v22-muted:#897a95;--v22-line:#e6d9ef;--v22-bg:#faf7fd;--v22-card:#fff;--v22-soft:#f5edfb}
body{background:radial-gradient(circle at 12% 4%,rgba(218,196,243,.32),transparent 24%),radial-gradient(circle at 88% 14%,rgba(247,224,246,.26),transparent 23%),var(--v22-bg);color:var(--v22-ink)}
.page:not(#page-home){max-width:1180px;padding:112px 28px 75px;margin:0 auto}
.page:not(#page-home)> .kicker:first-child{margin-top:0}
.page-title{font:48px Jua,serif;letter-spacing:-1.5px;color:#49325e;margin:7px 0 9px}
.sub{color:var(--v22-muted);line-height:1.8}
.card,.admin-card,.calendar-wrap,.news-full{background:rgba(255,255,255,.9);border:1px solid var(--v22-line);box-shadow:0 14px 45px rgba(91,61,120,.06);border-radius:20px}
.btn{border:1px solid #dfd1ea;background:#fff;color:#5b4470;border-radius:10px;box-shadow:none}
.btn.primary{background:linear-gradient(135deg,#9a68df,#7445bd);color:#fff;border-color:transparent}
.field input,.field textarea,.field select{background:#fff;border:1px solid #e2d7e9;color:#44334f;border-radius:10px}

/* Shared page masthead */
.section-hero{min-height:210px;border:1px solid #e0d2eb;border-radius:24px;padding:44px 48px;display:flex;align-items:flex-end;justify-content:space-between;overflow:hidden;position:relative;background:linear-gradient(115deg,#fffaff,#f2e7fa 58%,#f8effb);box-shadow:0 16px 50px rgba(91,61,120,.06)}
.section-hero:after{content:"";position:absolute;right:-100px;top:-160px;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(183,137,233,.25),transparent 68%)}
.compact-hero .page-title{font-size:52px}.hero-mini-deco{position:relative;z-index:2;color:#b68ae7;font-size:22px;letter-spacing:8px}.lyrics{border-radius:20px;border:1px solid var(--v22-line);background:#fdfaff;color:#776583;padding:32px;line-height:1.9;white-space:pre-wrap}

/* SCHEDULE */
#page-schedule .legend{margin:18px 0}.legend span{border-radius:999px;padding:7px 11px;background:#f1e7f7;color:#725484;border:1px solid #e2d6eb}.legend .lg1,.legend .lg2,.legend .lg3,.legend .lg4{background:#f4ebf8;color:#725484}.cal-head{padding:24px 28px;background:#fff;border-bottom:1px solid var(--v22-line)}.cal-head h2{font:27px Jua;color:#4e3760}.cal-head button{width:38px;height:38px;border-radius:50%;background:#faf6fd;border:1px solid #dfd3e8;color:#7043c2;font-size:22px}.dow{background:#fbf8fd;border-color:#eee6f2;color:#8b7897;padding:13px}.day{min-height:135px;background:#fff;border-color:#eee6f2;padding:11px}.event{border-radius:9px;padding:8px;box-shadow:none}.event.personal{background:#eadbfa;color:#68428b}.event.collab{background:#e1f1f8;color:#3d718a}.event.commerce{background:#faeadf;color:#8a5d3d}.event.off{background:#eeeaf0;color:#766d79}

/* VOD */
#page-vod .channel-tabs{display:flex;gap:7px;margin:20px 0}.channel-tabs button{border:1px solid #dfd3e9;background:#fff;color:#806b8c;border-radius:999px;padding:9px 16px;cursor:pointer}.channel-tabs button.active{background:#8c5bd5;color:#fff;border-color:#8c5bd5}
#page-vod .vod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.vod-grid .vod{overflow:hidden;padding:0 0 16px}.vod-grid .vod .thumb{height:145px;background:linear-gradient(135deg,#c9aae8,#8360b3);border-radius:18px 18px 0 0}.vod-grid .vod h4,.vod-grid .vod p,.vod-grid .vod a{margin-left:16px;margin-right:16px}.vod-grid .vod h4{color:#44334f;margin-top:14px}.vod-grid .vod p{color:#95839f;font-size:9px}

/* GALLERY */
#page-gallery .gallery-toolbar{margin:22px 0 15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gallery-toolbar>span{font-size:10px;font-weight:900;letter-spacing:1.2px;color:#6c4a83;margin-right:6px}.gallery-filter{border:1px solid #e0d4e8;background:#fff;color:#806d8d;border-radius:999px;padding:7px 13px;font-size:9px}.gallery-filter.active{background:#8d5bd6;color:#fff;border-color:#8d5bd6}.gallery-grid{columns:4 220px;column-gap:14px}.gallery-item{position:relative;break-inside:avoid;margin:0 0 14px;border-radius:17px;overflow:hidden;border:1px solid var(--v22-line);background:#fff;box-shadow:0 10px 30px rgba(91,61,120,.06)}.gallery-item img{display:block;width:100%;height:auto;min-height:170px;object-fit:cover;background:linear-gradient(135deg,#e9d7f5,#c6a5e3)}.gallery-overlay{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 12px;background:linear-gradient(transparent,rgba(44,27,59,.72));color:#fff}.gallery-overlay span{display:block;font-size:7px;letter-spacing:1px;opacity:.8}.gallery-overlay b{display:block;font-size:11px;margin-top:3px}.gallery-empty{grid-column:1/-1;padding:80px 20px;text-align:center;background:#fff;border:1px dashed #dfd3e9;border-radius:20px;color:#9785a0;font-size:11px}

/* NEWS — same editorial system even though it is no longer in main nav */
#page-news .news-full{padding:10px 24px}.news-item{padding:24px 0;border-bottom:1px solid #eee7f3}.news-item:last-child{border-bottom:0}.news-item time{font-size:9px;color:#9b88a5}.news-item h4{font:21px Jua;color:#503968;margin:6px 0}.news-item p{font-size:11px;color:#7e6d89;line-height:1.8}

/* LADDER — preserve game mechanics{display:grid;grid-template-columns:300px 1fr;gap:18px;margin-top:20px}

/* Admin */
#page-admin .admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.admin-card{padding:28px}.admin-card h3{font:25px Jua;color:#513968;margin-top:0}

@media(max-width:900px){#page-admin .admin-grid{grid-template-columns:1fr}
 #page-vod .vod-grid{grid-template-columns:repeat(2,1fr)}
 .section-hero{padding:34px 26px;min-height:175px}.page-title{font-size:40px}
}
@media(max-width:650px){
 .page:not(#page-home){padding:86px 16px 80px}.section-hero{border-radius:18px;padding:28px 20px}.hero-mini-deco{display:none}
 #page-vod .vod-grid{grid-template-columns:1fr}.gallery-grid{columns:2 145px;column-gap:9px}.gallery-item{margin-bottom:9px;border-radius:12px}.cal{min-width:760px}
}


/* V27 — YouTube MAIN / SUB distinction, integrated with DANCHU's editorial lavender UI. */
.channel-icons{
  display:flex;align-items:center;gap:8px;margin-left:2px;padding-left:10px;
  border-left:1px solid rgba(118,82,151,.14);
}
.channel-icons .social-icon{
  position:relative;width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;box-sizing:border-box;overflow:visible;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(244,236,249,.98));
  border:1px solid #ded2e9;
  box-shadow:0 2px 9px rgba(93,62,122,.07);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.channel-icons .social-icon:hover{
  transform:translateY(-2px);border-color:#b89bda;
  box-shadow:0 8px 18px rgba(103,68,145,.13);
}
.channel-icons .social-icon img{width:22px;height:22px;object-fit:contain;border-radius:0}
.channel-icons .brand-soop img,.channel-icons .brand-cafe img{width:23px;height:23px}

.brand-youtube .yt-mark{
  width:18px;height:13px;border-radius:4px;background:#e95c76;
  display:grid;place-items:center;color:#fff;font-size:7px;line-height:1;padding-left:1px;
}
.brand-youtube .sub-mark{
  position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border-radius:50%;
  display:grid;place-items:center;background:#8c6ab4;color:#fff;font-size:5px;font-weight:900;
  border:2px solid #fff;
}

/* Main is intentionally a little more prominent. */
.channel-icons .main-channel{
  width:38px;height:38px;border-color:#cbb5df;
  box-shadow:0 3px 11px rgba(103,68,145,.10);
}
.channel-icons .main-channel .yt-mark{width:20px;height:14px}

/* Small role labels make the two channels instantly distinguishable. */
.channel-label{
  position:absolute;left:50%;transform:translateX(-50%);
  bottom:-13px;font-size:6px;font-weight:900;letter-spacing:.7px;line-height:1;
  color:#84649b;white-space:nowrap;pointer-events:none;
}
.main-label{color:#76509b}
.sub-label{color:#9a85aa}

@media(max-width:1100px){.channel-icons{display:none}}
@media(max-width:760px){.channel-icons{display:none}}


/* Only the header's unused clover notification was removed. */
.channel-icons .main-channel{
  width:38px;height:38px;
  border-color:#cbb5df;
  box-shadow:0 3px 11px rgba(103,68,145,.10);
}
.channel-icons .main-channel .yt-mark{width:20px;height:14px}
.channel-label{
  position:absolute;left:50%;transform:translateX(-50%);
  bottom:-13px;font-size:6px;font-weight:900;letter-spacing:.7px;
  line-height:1;color:#84649b;white-space:nowrap;pointer-events:none;
}
.main-label{color:#76509b}.sub-label{color:#9a85aa}


/* V30: actual schedule calendar readability fix */
#page-schedule .schedule-header h1,
#page-schedule h1{
  font-size:48px;
}
#page-schedule .calendar{
  width:100%;
  font-size:16px;
}
#page-schedule .calendar-header{
  min-height:72px;
  padding:18px 22px;
}
#page-schedule .calendar-header h2,
#page-schedule .calendar-title{
  font-size:28px;
  font-weight:800;
}
#page-schedule .calendar-header button{
  width:42px;height:42px;
  font-size:20px;
}
#page-schedule .calendar-weekdays{
  min-height:52px;
}
#page-schedule .calendar-weekdays div{
  font-size:16px;
  font-weight:800;
}
#page-schedule .calendar-grid{
  gap:2px;
}
#page-schedule .calendar-grid > div{
  min-height:125px;
}
#page-schedule .day-number{
  font-size:18px;
  font-weight:800;
}
#page-schedule .event-title{
  font-size:14px;
  font-weight:800;
}
#page-schedule .event-time{
  font-size:12px;
  font-weight:700;
}
#page-schedule .schedule-legend,
#page-schedule .legend{
  font-size:14px;
}
#page-schedule .schedule-legend span,
#page-schedule .legend span{
  font-size:14px;
}
@media(max-width:800px){
  #page-schedule .calendar-grid > div{min-height:95px}
  #page-schedule .calendar-weekdays div{font-size:13px}
  #page-schedule .day-number{font-size:15px}
  #page-schedule .event-title{font-size:11px}
}


/* V33 — readability only. Existing DANCHU calendar colors are intentionally untouched. */
.calendar-wrap{
  width:100%;
}
.cal-head{
  min-height:72px;
  padding:18px 22px;
}
.cal-head h2{
  font-size:26px;
}
.cal-nav button{
  padding:9px 13px;
  font-size:14px;
}
.cal{
  grid-template-columns:repeat(7,minmax(0,1fr));
}
.dow{
  min-height:54px;
  padding:12px 10px;
  font-size:14px;
  font-weight:800;
}
.day{
  min-height:145px;
  padding:13px;
}
.num{
  font-size:17px;
  margin-bottom:10px;
}
.event{
  margin-top:7px;
  padding:8px 8px;
  min-height:34px;
  font-size:13px;
  line-height:1.35;
}
.event-time{
  font-size:11px;
  margin-bottom:3px;
}
.legend{
  gap:9px;
  margin:14px 0;
}
.legend span{
  font-size:12px;
  padding:6px 9px;
}

@media(max-width:900px){
  .day{min-height:110px;padding:9px}
  .dow{min-height:46px;font-size:12px}
  .num{font-size:15px}
  .event{font-size:11px;padding:6px}
  .event-time{font-size:9px}
}


.schedule-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:200}
.schedule-modal.show{display:flex}
.schedule-modal-backdrop{position:absolute;inset:0;background:rgba(8,5,13,.68);backdrop-filter:blur(4px)}
.schedule-modal-card{position:relative;width:min(420px,calc(100vw - 32px));padding:26px;border:1px solid #4a356c;border-radius:18px;background:#151020;color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.45)}
.schedule-modal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#aaa0bd;font-size:25px;cursor:pointer}
.schedule-modal-card h3{margin:6px 0 5px;font-size:24px}
.schedule-modal-date{margin:0 0 18px;color:#9d8aad;font-size:11px}
.schedule-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.schedule-modal-row>div{border:1px solid var(--line);border-radius:10px;padding:13px;background:#120d1c}
.schedule-modal-row span{display:block;color:#8c8198;font-size:9px;margin-bottom:6px}
.schedule-modal-row strong{font-size:18px}
.schedule-modal-title{font-size:12px;font-weight:800;margin:0 0 15px;color:#d8cee3}
.schedule-end-editor{border-top:1px solid var(--line);padding-top:16px}
.schedule-end-editor label{display:block;font-size:10px;color:#9d8aad;margin-bottom:7px}
.schedule-end-editor input{width:100%;box-sizing:border-box;border:1px solid var(--line);background:#100c18;color:#fff;border-radius:8px;padding:11px;font-size:15px;margin-bottom:9px}
.schedule-end-editor .btn{width:100%}
.schedule-end-editor small{display:block;margin-top:9px;color:#756b82;font-size:9px;line-height:1.5}

#page-schedule .live-dot{
  width:8px;
  height:8px;
  min-width:8px;
  border-radius:50%;
  display:inline-block;
  background:currentColor;
  box-shadow:0 0 0 2px color-mix(in srgb,currentColor 18%,transparent);
}
#page-schedule .live-dot{
  width:8px;
  height:8px;
  min-width:8px;
}#page-schedule #calendarCells{
  overflow:visible;
}

#page-schedule .live-dot{
  width:7px;height:7px;min-width:7px;border-radius:50%;
  background:#ef4f87;box-shadow:0 0 0 3px rgba(239,79,135,.10);
}



#page-schedule .v44-schedule-head{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:22px;margin:0 0 20px}
#page-schedule .v44-title-wrap{display:flex;align-items:center;gap:13px}.v44-title-icon{width:48px;height:48px;border-radius:14px;background:#f1eaff;border:1px solid #dfd0fa;color:#8b64dc;display:grid;place-items:center;font-size:25px;font-weight:700}.v44-title-wrap h2{margin:0;color:#27194d;font-size:23px;letter-spacing:-.04em}.v44-title-wrap p{margin:5px 0 0;color:#7b699d;font-size:12px}
#page-schedule .v44-legend{display:flex;gap:16px;align-items:center;padding:12px 17px;border:1px solid #e7def5;border-radius:13px;background:#fff;box-shadow:0 5px 15px rgba(90,66,140,.05);white-space:nowrap}.v44-legend span{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#4b3b68}.v44-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.v44-legend .personal{background:#b59aef}.v44-legend .collab{background:#69b9df}.v44-legend .commerce{background:#f19bb9}.v44-legend .off{background:#aaa6b5}
#page-schedule .v44-month{display:flex;align-items:center;gap:7px}.v44-month button{width:40px;height:40px;border:1px solid #e4daf4;border-radius:10px;background:#fff;color:#5a408b;font-size:25px;line-height:1;cursor:pointer}.v44-month strong{min-width:100px;text-align:center;color:#2a1b50;font-size:15px}
#page-schedule .v44-dow{height:52px;background:#fff;display:flex;align-items:center;justify-content:center;color:#342455;font-size:11px;font-weight:800;letter-spacing:.05em}.v44-dow.sun{color:#ed4c7d}.v44-dow.sat{color:#5976dc}
#page-schedule .v44-day{min-height:145px;background:#fff;padding:12px 12px 10px;box-sizing:border-box;overflow:visible}.v44-day.muted{opacity:.35}.v44-day-head{display:flex;justify-content:space-between;align-items:center;gap:5px;min-height:27px;margin-bottom:8px}.v44-day-head>b{font-size:16px;color:#241746}.v44-day.sun .v44-day-head>b{color:#ed4c7d}.v44-day.sat .v44-day-head>b{color:#5976dc}.v44-starts{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:4px}.v44-start{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #e8def5;border-radius:999px;background:#fff;color:#40306a;font-size:10px;font-weight:800;white-space:nowrap;cursor:pointer}.live-dot{width:7px;height:7px;border-radius:50%;background:#ed4c7d;box-shadow:0 0 0 3px rgba(237,76,125,.1)}
#page-schedule .v44-events{display:flex;flex-direction:column;gap:5px}.v44-event{min-height:28px;padding:6px 8px;border-radius:8px;box-sizing:border-box;text-align:center;font-size:11px;line-height:1.25;font-weight:800;white-space:normal;overflow-wrap:anywhere;cursor:pointer}.v44-event.personal{background:#eee6ff;color:#6642a4}.v44-event.collab{background:#dff1f9;color:#28749b}.v44-event.commerce,.v44-event.ad{background:#ffe8ef;color:#d84b79}.v44-event.off,.v44-event.rest{background:#efedf2;color:#77727f}
#page-schedule .v44-note{display:flex;justify-content:center;align-items:center;gap:7px;margin:15px 0 0;color:#8974ae;font-size:11px;font-weight:700}.v44-note span{width:17px;height:17px;border-radius:50%;background:#a487df;color:#fff;display:grid;place-items:center;font-size:10px}.v44-note b{color:#b296ea;font-size:14px}
@media(max-width:1050px){#page-schedule .v44-schedule-head{grid-template-columns:1fr auto}.v44-legend{grid-column:1/-1;grid-row:2;justify-self:start}}@media(max-width:760px){#page-schedule .v44-schedule-head{display:flex;flex-direction:column;align-items:stretch}.v44-legend{justify-content:center;flex-wrap:wrap;white-space:normal}.v44-month{justify-content:center}.v44-calendar-card{overflow-x:auto}.v44-cal{min-width:760px}}


#page-schedule .v44-session-group{display:flex;flex-direction:column;gap:5px;margin-bottom:7px}
#page-schedule .v44-event{display:flex;align-items:center;justify-content:center;gap:5px}
#page-schedule .v44-band-icon{font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.schedule-editor-backdrop{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(35,24,61,.42);backdrop-filter:blur(5px)}
.schedule-editor-backdrop.open{display:flex}.schedule-editor{width:min(720px,95vw);max-height:90vh;overflow:auto;background:#fff;border:1px solid #e7ddf7;border-radius:24px;box-shadow:0 24px 70px rgba(44,29,75,.24);padding:26px;color:#28184d}
.schedule-editor-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.schedule-editor-kicker{font-size:10px;font-weight:900;letter-spacing:.14em;color:#9878d8}.schedule-editor h3{margin:5px 0 4px;font-size:22px}.schedule-editor-head p{margin:0;color:#7b6b99;font-size:12px}.schedule-editor-close{border:0;background:#f5f0fb;color:#6b5790;width:36px;height:36px;border-radius:12px;font-size:22px;cursor:pointer}
.editor-session{margin-top:18px;padding:17px;border:1px solid #e8def5;border-radius:16px;background:#fcfaff}.editor-session-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.editor-session-title{font-size:13px;font-weight:900;color:#3c2b61}.editor-session-delete{border:0;background:#fff0f4;color:#d14b77;border-radius:9px;padding:6px 9px;font-size:11px;font-weight:800;cursor:pointer}.editor-session-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.editor-session label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:800;color:#594875}.editor-session input,.editor-session select{height:40px;border:1px solid #e3d9f3;border-radius:10px;padding:0 10px;background:#fff;color:#2c1d4c;box-sizing:border-box}.editor-items{margin-top:13px}.editor-items-title{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:900}.editor-item-row{display:flex;gap:7px;margin-top:7px}.editor-item-row input{flex:1}.editor-item-remove{width:38px;border:1px solid #eadff5;background:#fff;border-radius:10px;color:#9a7cbf;cursor:pointer}.add-item-btn,.add-session-btn{border:1px dashed #cdb8ed;background:#faf7ff;color:#7653b2;border-radius:10px;font-weight:800;cursor:pointer}.add-item-btn{margin-top:8px;width:100%;height:36px;font-size:11px}.add-session-btn{margin-top:14px;width:100%;height:42px}.schedule-editor-actions{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.editor-delete,.editor-cancel,.editor-save{height:42px;border-radius:11px;padding:0 16px;font-weight:800;cursor:pointer}.editor-delete{border:0;background:#fff0f4;color:#d14b77}.editor-cancel{border:1px solid #e3d9f3;background:#fff;color:#5d4b7c;margin-right:8px}.editor-save{border:0;background:#8e6ce8;color:#fff;box-shadow:0 5px 14px rgba(142,108,232,.22)}
@media(max-width:650px){.editor-session-grid{grid-template-columns:1fr 1fr}.editor-session-grid label:last-child{grid-column:1/-1}}


/* SOOP subscription icon: keep it small in both the calendar and editor. */
#page-schedule .v44-start .v44-sub-icon{
  width:22px;
  height:22px;
  min-width:22px;
  max-width:22px;
  min-height:22px;
  max-height:22px;
  display:inline-block;
  flex:0 0 22px;
  object-fit:contain;
  object-position:center;
  vertical-align:middle;
  border:0;
  padding:0;
  margin:0 0 0 2px;
  background:transparent;
}
.editor-sub-row .v44-sub-icon{
  width:22px;
  height:22px;
  min-width:22px;
  max-width:22px;
  min-height:22px;
  max-height:22px;
  object-fit:contain;
  vertical-align:middle;
  display:inline-block;
}
.editor-sub-row{
  display:flex;
  align-items:center;
  gap:7px;
}
.editor-sub-row .es-sub{margin:0}


.editor-sub-row{
  display:block;
  margin-top:14px;
}
.editor-sub-row>label{
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  min-height:30px;
  padding:7px 10px;
  border:1px solid #e7ddf7;
  background:#fbf9ff;
  border-radius:10px;
  box-sizing:border-box;
  font-size:11px;
  font-weight:800;
  color:#594875;
}
.editor-sub-row .es-sub{
  appearance:none;
  -webkit-appearance:none;
  width:18px;
  height:18px;
  min-width:18px;
  max-width:18px;
  min-height:18px;
  max-height:18px;
  flex:0 0 18px;
  margin:0;
  padding:0;
  border:1.5px solid #cdb8ed;
  border-radius:5px;
  background:#fff;
  cursor:pointer;
  box-sizing:border-box;
}
.editor-sub-row .es-sub:checked{
  background:#8e6ce8;
  border-color:#8e6ce8;
  position:relative;
}
.editor-sub-row .es-sub:checked::after{
  content:'✓';
  position:absolute;
  left:2px;top:-1px;
  color:#fff;
  font-size:14px;
  font-weight:900;
  line-height:18px;
}
.editor-sub-row .v44-sub-icon{
  width:20px;height:20px;
  min-width:20px;max-width:20px;
  min-height:20px;max-height:20px;
  flex:0 0 20px;
  margin:0;padding:0;
  object-fit:contain;display:inline-block;
}
.editor-sub-hint{font-size:10px;color:#9a88b8;font-weight:700;margin-left:2px}


/* Only the schedule calendar is changed: fixed time column, flexible content column. */
#page-schedule .v44-day-head{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;column-gap:6px;min-height:27px}
#page-schedule .v44-day-head .v44-starts{justify-content:flex-start;min-width:0}
#page-schedule .v44-session-group{display:grid;grid-template-columns:70px minmax(0,1fr);column-gap:6px;align-items:start;margin-bottom:9px}
#page-schedule .v44-session-group .v44-session-start{grid-column:2;display:flex;justify-content:flex-start;margin:1px 0 3px}
#page-schedule .v44-session-group .v44-event{grid-column:2;width:100%}
#page-schedule .v44-start{height:28px;min-height:28px;box-sizing:border-box;display:inline-flex;align-items:center;line-height:1}
#page-schedule .v44-start .v44-sub-icon{width:18px;height:18px;min-width:18px;max-width:18px;min-height:18px;max-height:18px;flex:0 0 18px;display:block;object-fit:contain;margin:0 0 0 1px;padding:0;border:0}


#page-schedule .v44-day-head{display:flex;justify-content:flex-start;align-items:center;gap:6px;min-height:27px;margin-bottom:8px}
#page-schedule .v44-day-head>b{flex:0 0 40px}
#page-schedule .v44-day-head .v44-starts{display:flex;justify-content:flex-start;flex:0 0 auto;min-width:0}
#page-schedule .v44-session-group{display:block;margin:0 0 7px;width:100%}
#page-schedule .v44-session-group .v44-session-start{display:flex;justify-content:flex-start;align-items:center;margin:0 0 5px 46px;padding:0;width:auto}
#page-schedule .v44-session-group .v44-event{display:block;width:100%;min-width:0}
#page-schedule .v44-events{display:block;width:100%}
#page-schedule .v44-event{margin-bottom:5px}
#page-schedule .v44-start{height:28px;min-height:28px;box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;padding:5px 8px;line-height:1;white-space:nowrap}
#page-schedule .v44-start .v44-sub-icon{width:18px;height:18px;min-width:18px;max-width:18px;min-height:18px;max-height:18px;flex:0 0 18px;display:block;object-fit:contain;margin:0;padding:0;border:0}


#page-schedule .v44-day-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  box-sizing:border-box;
}
#page-schedule .v44-day-head .v44-starts{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:auto;
  min-width:0;
}
#page-schedule .v51-session-time-row{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  width:100%;
  box-sizing:border-box;
}
#page-schedule .v51-session-time-row .v44-start{
  margin-left:auto;
}


/* V56: every broadcast start-time pill, including 2nd/3rd/etc sessions,
   is anchored to the same right edge of its calendar cell. */
#page-schedule .v51-session-time-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:100%;
  margin-left:0;
  margin-right:0;
  box-sizing:border-box;
}
#page-schedule .v51-session-time-row .v44-start{
  margin-left:auto;
  margin-right:0;
  flex:0 0 auto;
}
#page-schedule .v44-day-head .v44-starts{
  margin-left:auto;
  margin-right:0;
  justify-content:flex-end;
}


/* V57: actual secondary-session time element, aligned to the same right edge
   as the first session time. */
#page-schedule .v44-session-group .v44-session-start{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:100%;
  margin:0 0 5px 0;
  padding:0;
  box-sizing:border-box;
}
#page-schedule .v44-session-group .v44-session-start .v44-start{
  margin-left:auto;
  margin-right:0;
  flex:0 0 auto;
}


#page-schedule .editor-session-grid{grid-template-columns:1fr 1fr}


#page-schedule .editor-item-row{display:grid;grid-template-columns:minmax(0,1fr) 108px 40px;gap:8px;align-items:center}
#page-schedule .editor-item-row .es-item-type{height:40px;border:1px solid #dfd2ef;border-radius:11px;background:#fff;color:#5b4679;padding:0 9px;font-size:11px;font-weight:700;box-sizing:border-box}
#page-schedule .editor-item-row .es-title{min-width:0}
@media(max-width:720px){#page-schedule .editor-item-row{grid-template-columns:minmax(0,1fr) 96px 38px}}


.content-detail-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center}
.content-detail-backdrop{position:absolute;inset:0;background:rgba(25,18,38,.42);backdrop-filter:blur(3px)}
.content-detail-card{position:relative;width:min(390px,calc(100vw - 36px));box-sizing:border-box;background:#fff;border:1px solid rgba(120,91,150,.16);border-radius:20px;padding:26px;box-shadow:0 20px 60px rgba(50,30,70,.24);font-family:inherit}
.content-detail-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:25px;line-height:1;color:#8b7a9b;cursor:pointer}
.content-detail-title{padding-right:28px;font-size:18px;font-weight:900;color:#3f3150;margin-bottom:20px}
.content-detail-info{display:flex;flex-direction:column;gap:10px;color:#675876;font-size:13px}
.content-detail-info div{display:flex;align-items:center;gap:9px}
.content-detail-info span{width:20px;text-align:center}
.content-detail-vod{display:flex;align-items:center;justify-content:center;margin-top:20px;height:40px;border-radius:12px;background:#8f70b5;color:#fff;text-decoration:none;font-size:13px;font-weight:800}


.collab-editor-block{margin-top:14px;padding:12px;border:1px solid rgba(120,91,150,.13);border-radius:12px;background:#fcfaff}
.collab-editor-title{font-size:10px;font-weight:900;color:#594875;margin-bottom:8px}
.collab-streamer-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.collab-streamer{display:flex;align-items:center;gap:8px;padding:7px 8px;background:#fff;border-radius:10px;border:1px solid rgba(120,91,150,.10)}
.collab-streamer-avatar,.collab-detail-avatar{width:32px;height:32px;flex:0 0 32px;border-radius:50%;overflow:hidden;background:#eee8f3;display:flex;align-items:center;justify-content:center;color:#806a92;font-size:8px;font-weight:900}
.collab-streamer-avatar img,.collab-detail-avatar img{width:100%;height:100%;object-fit:cover}
.collab-streamer-name{flex:1;font-size:11px;font-weight:800;color:#554564}
.collab-streamer button{border:0;background:transparent;color:#9b879f;font-size:10px;cursor:pointer}
.collab-url-row{display:flex;gap:6px}
.collab-url-row input{flex:1;min-width:0}
.collab-url-row button,.collab-manual-add{border:0;border-radius:8px;padding:0 10px;background:#8063a7;color:#fff;font-size:10px;font-weight:800;cursor:pointer}
.collab-lookup-status{min-height:15px;margin-top:5px;font-size:9px;color:#927fa0}
.collab-manual-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.collab-manual-add{height:28px;margin-top:6px}
.collab-detail-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.collab-detail-person{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:10px;background:#faf8fc;color:#554564;text-decoration:none;font-size:11px}
.collab-detail-person .collab-detail-avatar{width:28px;height:28px;flex-basis:28px}


#page-schedule .v44-start,
#page-schedule .v44-session-start{cursor:pointer}


#page-schedule .v44-start{cursor:pointer}
#page-schedule .v44-session-start{cursor:pointer}

#page-schedule [data-broadcast-edit-iso]{cursor:pointer}

.content-detail-item-with-participants{display:block}
.content-detail-item-main{display:flex;align-items:center;gap:10px}
.content-detail-item-main>span{flex:0 0 auto}
.content-item-participants{margin:10px 0 2px 32px;padding-top:9px;border-top:1px solid rgba(132,108,166,.12)}
.content-item-participants-label{font-size:10px;font-weight:800;color:#75618f;margin-bottom:7px}
.content-item-participants .collab-detail-list{margin:0}
.collab-editor-block[style*="display: none"]{display:none}


.editor-item-row{display:block;padding-bottom:9px}
.editor-item-main{display:grid;grid-template-columns:minmax(0,1fr) 118px 34px;gap:8px;align-items:center}
.content-collab-block{margin-top:8px;padding:10px 12px;border-radius:12px;background:rgba(247,243,251,.92);border:1px solid rgba(132,108,166,.14)}
.content-collab-streamer-list{display:flex;flex-direction:column;gap:6px;margin:7px 0}
.content-collab-block .collab-url-row{display:flex;gap:7px}
.content-collab-block .collab-url-row input{flex:1;min-width:0}
.content-collab-block .collab-editor-title{font-size:11px;font-weight:800;color:#66517f;margin-bottom:7px}


.broadcast-session-detail{width:min(430px,calc(100vw - 32px));max-height:min(78vh,720px);display:flex;flex-direction:column;overflow:hidden}
.broadcast-session-detail .content-detail-list{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding-right:4px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
.broadcast-session-detail .content-detail-list::-webkit-scrollbar{width:7px}
.broadcast-session-detail .content-detail-list::-webkit-scrollbar-thumb{background:rgba(142,105,191,.34);border-radius:999px}
.broadcast-content-card{border:1px solid rgba(116,88,146,.09);border-radius:13px;background:#faf8fc;overflow:hidden}
.broadcast-content-row{min-height:42px;display:flex;align-items:center;gap:10px;padding:9px 12px}
.broadcast-content-index{width:22px;height:22px;flex:0 0 22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f1ecf7;color:#715789;font-size:11px;font-weight:800}
.broadcast-content-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4c405a;font-size:13px}
.content-participants-wrap{margin:0 12px 11px 44px;padding-top:9px;border-top:1px solid rgba(117,86,148,.11)}
.content-participants-head{margin-bottom:8px;color:#775d8f;font-size:10px;font-weight:800}
.content-participants-list{display:flex;flex-wrap:wrap;gap:7px}
.content-participant-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:5px 9px 5px 5px;border-radius:999px;background:#f3edf8;text-decoration:none;color:#694b84}
.content-participant-avatar{width:26px;height:26px;flex:0 0 26px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e9e1f0;font-size:7px}
.content-participant-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.content-participant-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800}
@media (max-width:520px){.broadcast-session-detail{width:calc(100vw - 24px);max-height:82vh}.content-participant-name{max-width:110px}}


#contentDetailModal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  overscroll-behavior:contain;
}
#contentDetailModal .content-detail-backdrop{
  position:absolute;
  inset:0;
}
#contentDetailModal .broadcast-session-detail{
  position:relative;
  z-index:1;
  width:min(430px,calc(100vw - 32px));
  max-height:min(82vh,760px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  box-sizing:border-box;
}
#contentDetailModal .content-detail-info,
#contentDetailModal .content-detail-list-title,
#contentDetailModal .content-detail-kicker,
#contentDetailModal .content-detail-title{
  flex:0 0 auto;
}
#contentDetailModal .content-detail-list{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  padding-right:8px;
  padding-bottom:10px;
  margin-bottom:0;
}
#contentDetailModal .broadcast-content-card{
  flex:0 0 auto;
  overflow:visible;
}
#contentDetailModal .content-participants-wrap{
  overflow:visible;
}
#contentDetailModal .content-detail-vod{
  flex:0 0 auto;
  margin-top:10px;
}
body.v79-modal-open{
  overflow:hidden;
  height:100vh;
  touch-action:none;
}
@media (max-width:520px){
  #contentDetailModal .broadcast-session-detail{
    max-height:86vh;
  }
}


#page-schedule .v44-day-head{
  justify-content:flex-start;
}
#page-schedule .v44-day-head>b{
  flex:0 0 auto;
}
#page-schedule .v81-holiday{
  flex:0 1 auto;
  min-width:0;
  margin-left:6px;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(237,76,125,.08);
  color:#d94f75;
  font-size:9px;
  font-weight:800;
  line-height:1.5;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#page-schedule .v44-day-head .v44-starts{
  margin-left:auto;
  flex:0 0 auto;
}


#page-schedule .v44-day-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
#page-schedule .v82-date-wrap{
  min-width:0;
  display:flex;
  align-items:center;
  gap:4px;
  flex:1 1 auto;
}
#page-schedule .v82-date-wrap>b{
  flex:0 0 auto;
  font-size:16px;
  line-height:1;
}
#page-schedule .v44-day.sun .v82-date-wrap>b{color:#ed4c7d}
#page-schedule .v44-day.sat .v82-date-wrap>b{color:#5976dc}

#page-schedule .v81-holiday{
  display:inline;
  flex:0 1 auto;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#e15a70;
  font-size:9px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:62px;
}
#page-schedule .v44-day-head .v44-starts{
  margin-left:auto;
  flex:0 0 auto;
}


#page-schedule .v44-day.holiday .v82-date-wrap>b{
  color:#ed4c7d;
}
#page-schedule .v44-day.holiday .v81-holiday{
  color:#ed4c7d;
}


html{
  scrollbar-gutter:stable;
}
body.v79-modal-open{
  overflow:hidden;
  padding-right:0;
}
.cover-disc-wrap{
  width:74px;height:74px;border-radius:16px;
  display:grid;place-items:center;
  background:linear-gradient(145deg,#efe6f8,#faf7fd);
  border:1px solid #e5d8ef;
}
.cover-disc{
  width:58px;height:58px;border-radius:50%;
  background:
    radial-gradient(circle at center,#fff 0 7px,#a97bdc 8px 11px,#2c2432 12px 100%);
  box-shadow:inset 0 0 0 5px rgba(255,255,255,.05),0 5px 14px rgba(54,34,72,.18);
  position:relative;
}
.cover-disc:after{
  content:"";
  position:absolute;inset:8px;border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 0 0 7px rgba(255,255,255,.035),0 0 0 14px rgba(255,255,255,.025);
}
.cover-song-meta{min-width:0}
.cover-song-label{font-size:8px;letter-spacing:1.5px;color:#a088b2;font-weight:900}
.cover-song-name{
  margin-top:4px;font-size:13px;line-height:1.35;font-weight:900;color:#342441;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.cover-song-artist{margin-top:4px;font-size:9px;color:#9a879f}
.cover-progress-line{
  height:3px;border-radius:999px;background:#eee6f3;overflow:hidden
}
.cover-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#9f73e7,#7e50c5)}
.cover-progress-time{
  margin-top:5px;display:flex;justify-content:space-between;
  font-size:8px;color:#a08fa8
}



.admin-login-modal{
  position:fixed;inset:0;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(34,23,43,.32);backdrop-filter:blur(7px);z-index:9000
}
.admin-login-modal.open{display:flex}
.admin-login-card{
  position:relative;width:min(360px,calc(100vw - 32px));padding:26px 24px 22px;
  border:1px solid #e7ddef;border-radius:20px;background:#fff;
  box-shadow:0 24px 70px rgba(55,35,72,.25)
}
.admin-login-kicker{font-size:9px;font-weight:900;letter-spacing:1.8px;color:#9a73bf}
.admin-login-card h3{margin:6px 0 7px;font-size:20px;color:#342441}
.admin-login-card p{margin:0 0 16px;font-size:11px;line-height:1.6;color:#887590}
.admin-login-card input{
  width:100%;height:42px;box-sizing:border-box;border:1px solid #e2d5eb;border-radius:11px;
  padding:0 12px;outline:none;font:inherit;color:#44334e;background:#fbf9fd
}
.admin-login-card input:focus{border-color:#a87cce;box-shadow:0 0 0 3px rgba(168,124,206,.12)}
.admin-login-submit{
  width:100%;height:42px;margin-top:10px;border:0;border-radius:11px;
  background:linear-gradient(135deg,#a073d2,#8151b6);color:white;font-weight:900;cursor:pointer
}
.admin-login-close{
  position:absolute;right:14px;top:13px;width:30px;height:30px;border:0;border-radius:9px;
  background:#f6f0fa;color:#765889;cursor:pointer;font-size:16px
}
.admin-login-error{min-height:18px;margin-top:7px;font-size:10px;color:#e05172}
body.admin-mode #adminLoginPill{
  background:#efe4f8;color:#704691;border-color:#cdb2e2
}
#page-schedule .v44-day[data-empty-day-add],
#page-schedule .v44-start[data-broadcast-edit-iso]{cursor:default}
body.admin-mode #page-schedule .v44-day[data-empty-day-add],
body.admin-mode #page-schedule .v44-start[data-broadcast-edit-iso]{cursor:pointer}
body.admin-mode #page-schedule .v44-day[data-empty-day-add]:hover{
  background:rgba(155,110,226,.045)
}


.nav button.admin-only-nav{display:none}
body.admin-mode .nav button.admin-only-nav{display:flex}
.admin-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
.admin-page-head .page-title{margin-bottom:5px}
.admin-go-schedule{flex:0 0 auto}
.admin-mode-guide{
  display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:13px 16px;
  border:1px solid #d9c8e9;border-radius:14px;background:linear-gradient(135deg,#faf6ff,#fff);
  color:#664b7e
}
.admin-mode-guide-icon{
  width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  background:#8d61bf;color:#fff;font-weight:900
}
.admin-mode-guide b{display:block;font-size:12px;color:#513869}
.admin-mode-guide span{display:block;margin-top:2px;font-size:9px;color:#93819e}
.v101-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.v101-admin-grid .admin-card{min-width:0}
.admin-card-wide{grid-column:1/-1}
.admin-card-title{display:flex;gap:10px;align-items:flex-start;margin-bottom:16px}
.admin-card-title>span{
  width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:grid;place-items:center;
  background:#f0e7f8;color:#8055aa;font-size:9px;font-weight:900
}
.admin-card-title h3{margin:0 0 3px}
.admin-card-title p{margin:0;color:#97869f;font-size:9px;line-height:1.5}
.admin-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.admin-card .field label small{display:block;margin-top:3px;color:#9b88a5;font-size:8px;font-weight:500;line-height:1.45}
.admin-inline-actions{display:flex;gap:8px;align-items:center;margin-top:10px}
.admin-inline-actions .save{margin-top:0}
@media(max-width:900px){
  .v101-admin-grid{grid-template-columns:1fr}
  .admin-card-wide{grid-column:auto}
}
@media(max-width:650px){
  .admin-page-head{align-items:flex-start;flex-direction:column}
  .admin-two-fields{grid-template-columns:1fr}
  .admin-inline-actions{align-items:stretch;flex-direction:column}
}


.vod-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}
.vod-refresh-btn{flex:0 0 auto;min-width:105px}
.vod-source-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
.vod-source-chip{
  display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);
  border-radius:15px;background:#fff;text-decoration:none;color:inherit;transition:.18s ease;
}
.vod-source-chip:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(74,48,95,.08)}
.vod-source-chip .vod-source-dot{width:32px;height:32px;border-radius:11px;flex:0 0 32px;position:relative}
.vod-source-chip.soop .vod-source-dot{background:linear-gradient(135deg,#6550ef,#8f80ff)}
.vod-source-chip.youtube .vod-source-dot{background:linear-gradient(135deg,#ff4f63,#ff7c8a)}
.vod-source-chip .vod-source-dot:after{content:"▶";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:10px}
.vod-source-chip b{display:block;font-size:10px;color:var(--ink)}
.vod-source-chip small{display:block;margin-top:3px;font-size:8px;color:var(--muted)}
.vod-tabs{margin-bottom:10px}
.vod-auto-status{
  display:flex;align-items:center;gap:7px;min-height:28px;margin:0 0 8px;color:#9b88a7;font-size:9px
}
.vod-loading-dot{width:7px;height:7px;border-radius:50%;background:#8a64b5;box-shadow:0 0 0 4px #f0e8f8}
.vod-auto-status.loading .vod-loading-dot{animation:vodPulse 1.1s infinite ease-in-out}
@keyframes vodPulse{50%{opacity:.35;transform:scale(.8)}}
.auto-vod-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.auto-vod-card{
  overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;
  box-shadow:0 8px 24px rgba(82,56,105,.055);transition:.18s ease
}
.auto-vod-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(82,56,105,.09)}
.auto-vod-thumb{
  position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#eee8f6,#faf7fd);overflow:hidden
}
.auto-vod-thumb img{width:100%;height:100%;display:block;object-fit:cover}
.auto-vod-thumb.no-image{display:grid;place-items:center}
.auto-vod-thumb.no-image:before{
  content:"DANCHU VOD";font-weight:900;letter-spacing:.13em;font-size:10px;color:#9a80af
}
.auto-vod-badge{
  position:absolute;right:10px;top:10px;padding:5px 8px;border-radius:999px;
  color:#fff;font-size:7px;font-weight:900;letter-spacing:.04em;background:rgba(83,56,105,.85);backdrop-filter:blur(5px)
}
.auto-vod-badge.youtube-main,.auto-vod-badge.youtube-sub{background:rgba(224,49,69,.88)}
.auto-vod-body{padding:12px 13px 13px}
.auto-vod-body h4{
  margin:0;color:var(--ink);font-size:11px;line-height:1.5;min-height:33px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.auto-vod-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;color:#9c8aa7;font-size:8px}
.auto-vod-open{display:inline-flex;align-items:center;gap:4px;color:#76549b;text-decoration:none;font-weight:800}
.vod-empty-state{
  grid-column:1/-1;padding:34px 20px;text-align:center;border:1px dashed #d9cbe3;border-radius:18px;background:#fbf9fd;color:#9684a2;font-size:10px;line-height:1.7
}
.vod-empty-state a{display:inline-block;margin-top:8px;color:#76549b;font-weight:800}
.vod-auto-note{
  display:flex;align-items:flex-start;gap:10px;margin-top:15px;padding:12px 14px;border-radius:14px;
  border:1px solid #e5dbea;background:#fbf9fd;color:#8f7b9d
}
.vod-auto-note>span{font-size:17px;color:#8561aa}
.vod-auto-note b{display:block;font-size:9px;color:#6c547b}
.vod-auto-note p{margin:3px 0 0;font-size:8px;line-height:1.6}
@media(max-width:900px){
  .auto-vod-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vod-source-summary{grid-template-columns:1fr}
}
@media(max-width:620px){
  .vod-page-head{align-items:flex-start;flex-direction:column}
  .auto-vod-grid{grid-template-columns:1fr}
  .vod-tabs{display:flex;overflow-x:auto;white-space:nowrap}
}


#page-home{padding:0;overflow:hidden;background:#fbfafc}
.v107-home{
  --v107-ink:#17141d;
  --v107-soft:#756e7d;
  --v107-line:#e7e1eb;
  --v107-purple:#8257d6;
  --v107-purple-dark:#6841b3;
  --v107-lavender:#d9c8ff;
  --v107-px:0px;
  --v107-py:0px;
  color:var(--v107-ink);
  background:#fbfafc;
}
.v107-hero{
  min-height:calc(100vh - 72px);
  height:max(720px,calc(100vh - 72px));
  position:relative;isolation:isolate;overflow:hidden;
  display:grid;grid-template-columns:minmax(400px,.9fr) minmax(520px,1.1fr);
  align-items:center;
  padding:78px max(54px,calc((100vw - 1320px)/2));
  background:
    radial-gradient(circle at 72% 38%,rgba(206,188,255,.50),transparent 28%),
    radial-gradient(circle at 78% 72%,rgba(244,209,244,.32),transparent 24%),
    radial-gradient(circle at 20% 10%,rgba(255,255,255,.96),transparent 33%),
    linear-gradient(135deg,#fbfafc 0%,#f6f1fb 45%,#f1ebf7 100%);
  border-bottom:1px solid rgba(109,81,145,.10);
}
.v107-hero:before{
  content:"";position:absolute;inset:0;z-index:-3;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.42),transparent 44%,rgba(255,255,255,.14));
}
.v107-grid-glow{
  position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.35;
  background-image:
    linear-gradient(rgba(125,88,171,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(125,88,171,.055) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to right,black,transparent 60%);
}
.v107-ambient{position:absolute;border-radius:50%;filter:blur(22px);pointer-events:none;z-index:-1;will-change:transform}
.v107-ambient-a{
  width:420px;height:420px;right:9%;top:4%;background:rgba(185,151,255,.25);
  transform:translate(calc(var(--v107-px) * .55),calc(var(--v107-py) * .55));
}
.v107-ambient-b{
  width:290px;height:290px;left:38%;bottom:-6%;background:rgba(255,205,236,.20);
  transform:translate(calc(var(--v107-px) * -.35),calc(var(--v107-py) * -.35));
}
.v107-ghost-word{
  position:absolute;left:-20px;bottom:-54px;z-index:-1;
  font:500 clamp(150px,19vw,330px)/.78 Georgia,"Times New Roman",serif;
  letter-spacing:-.075em;color:rgba(81,57,107,.035);
  user-select:none;white-space:nowrap;
}

.v107-hero-copy{
  position:relative;z-index:8;max-width:590px;
  animation:v107HeroCopyIn .9s cubic-bezier(.2,.8,.2,1) both;
}
.v107-kicker{
  margin-bottom:19px;font-size:10px;font-weight:900;letter-spacing:.34em;
  color:#7f60a8;
}
.v107-hero-copy h1{
  display:flex;align-items:flex-start;gap:9px;margin:0;
  font:500 clamp(82px,8.7vw,150px)/.78 Georgia,"Times New Roman",serif;
  letter-spacing:-.065em;color:#241c2f;
}
.v107-hero-copy h1 i{
  font:400 clamp(28px,3vw,44px)/1 cursive;color:#9a72dd;
  transform:translateY(-4px) rotate(-8deg)
}
.v107-tagline{margin:30px 0 0;font-size:23px;font-weight:900;letter-spacing:-.055em;color:#2a2232}
.v107-bio{max-width:440px;margin:15px 0 0;font-size:12px;line-height:1.85;color:#756b7d}
.v107-actions{display:flex;align-items:center;gap:14px;margin-top:31px;flex-wrap:wrap}
.v107-primary-action,.v107-secondary-action{
  height:52px;min-width:196px;padding:0 17px;border-radius:999px;
  display:inline-flex;align-items:center;gap:11px;text-decoration:none;
  font-size:10px;font-weight:900;letter-spacing:.01em;
  box-shadow:0 12px 28px rgba(37,24,46,.14);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease,color .28s ease
}
.v107-primary-action{
  background:linear-gradient(135deg,#191420 0%,#261c34 100%);color:#fff;border:1px solid rgba(255,255,255,.06)
}
.v107-secondary-action{
  background:rgba(255,255,255,.9);color:#2d2435;border:1px solid rgba(131,104,167,.22);
  box-shadow:0 12px 28px rgba(103,83,132,.10)
}
.v107-primary-action:hover,.v107-secondary-action:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(37,24,46,.18)}
.v107-secondary-action:hover{border-color:rgba(131,104,167,.4);background:#fff}
.v107-primary-action .v107-action-icon,.v107-secondary-action .v107-action-icon{
  width:30px;height:30px;border-radius:12px;display:grid;place-items:center;flex:0 0 30px;
  transition:transform .28s ease,box-shadow .28s ease,background .28s ease,border-color .28s ease;
  overflow:hidden
}
.v107-primary-action .v107-action-icon{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,244,251,.94));
  border:1px solid rgba(255,255,255,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 6px 14px rgba(0,0,0,.14)
}
.v107-secondary-action .v107-action-icon{
  background:linear-gradient(180deg,#fff7f9,#fff);border:1px solid rgba(255,112,140,.2);
  box-shadow:0 6px 14px rgba(255,94,131,.12)
}
.v107-action-icon img,.v107-action-icon svg{display:block}
.v107-soop-logo{width:21px;height:auto;display:block;opacity:1;visibility:visible;filter:drop-shadow(0 1px 1px rgba(20,113,189,.14))}
.v107-youtube-logo{width:19px;height:19px}
.v107-action-label{white-space:nowrap}
.v107-primary-action b,.v107-secondary-action b{margin-left:auto;font-size:12px;transition:transform .28s ease,color .28s ease;opacity:.86}
.v107-primary-action:hover .v107-action-icon,.v107-secondary-action:hover .v107-action-icon{transform:scale(1.06)}
.v107-primary-action:hover b,.v107-secondary-action:hover b{transform:translateX(2px)}

.v107-hero-stage{
  position:absolute;right:max(5vw,55px);top:45px;bottom:48px;width:min(57vw,830px);
  z-index:3;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;
  animation:v107StageIn 1.05s .08s cubic-bezier(.2,.8,.2,1) both;
}
.v107-stage-ring{position:absolute;border-radius:50%;border:1px solid rgba(126,88,178,.13);will-change:transform}
.v107-stage-ring.ring-one{
  width:650px;height:650px;right:2%;top:4%;
  transform:translate(calc(var(--v107-px) * -.18),calc(var(--v107-py) * -.18));
}
.v107-stage-ring.ring-two{
  width:490px;height:490px;right:12%;top:15%;border-style:dashed;opacity:.68;
  transform:translate(calc(var(--v107-px) * .16),calc(var(--v107-py) * .16));
}
.v107-stage-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:#9b73da;box-shadow:0 0 0 7px rgba(155,115,218,.08)}
.v107-stage-dot.dot-a{right:6%;top:26%}.v107-stage-dot.dot-b{left:16%;top:20%;width:4px;height:4px}.v107-stage-dot.dot-c{right:15%;bottom:20%;width:4px;height:4px}
.v107-character-wrap{
  position:relative;width:min(585px,43vw);height:94%;display:flex;align-items:flex-end;justify-content:center;
  transform:translate(calc(var(--v107-px) * .22),calc(var(--v107-py) * .14));
  will-change:transform;
}
.v107-character-halo{
  position:absolute;left:50%;bottom:4%;width:86%;aspect-ratio:1;transform:translateX(-50%);
  border-radius:50%;background:radial-gradient(circle,#e8dcff 0%,rgba(220,202,255,.58) 45%,rgba(220,202,255,0) 72%);
  filter:blur(3px);z-index:-1
}
.v107-character-wrap{
  --hero-scale:1.45;
  --hero-offset-x:0%;
  --hero-offset-y:0%;
}
.v107-character-wrap img{
  display:none;max-width:100%;width:100%;height:100%;object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 28px 38px rgba(64,43,82,.16));
  mask-image:linear-gradient(to bottom,black 0%,black 90%,transparent 100%);
  transform:translate(var(--hero-offset-x),var(--hero-offset-y)) scale(var(--hero-scale));
  transform-origin:center bottom;transition:transform .35s ease,filter .35s ease;will-change:transform;
}
.v107-character-wrap .placeholder{
  width:78%;height:76%;margin-bottom:3%;border-radius:48% 48% 8% 8%;
  display:grid;place-items:center;
  background:linear-gradient(160deg,rgba(220,204,248,.8),rgba(192,165,230,.36));
  color:rgba(91,61,130,.18);font:500 58px/1 Georgia,serif;border:1px solid rgba(122,91,163,.08);
}
.v107-live-float{
  position:absolute;right:max(3.6vw,34px);top:43px;z-index:10;width:230px;padding:15px 17px;
  border-radius:16px;background:rgba(255,255,255,.67);border:1px solid rgba(105,78,137,.12);
  box-shadow:0 16px 42px rgba(62,42,80,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  animation:v107FloatIn .75s .46s ease both;
  transform:translate(calc(var(--v107-px) * -.08),calc(var(--v107-py) * -.08))
}
.v107-live-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.v107-live-label{font-size:6px;letter-spacing:.15em;color:#9c8ba8;font-weight:900}
.v107-live-badge{
  display:inline-flex;align-items:center;gap:6px;font-size:8px;font-weight:900;color:#675d6f;
}
.v107-live-badge i{width:7px;height:7px;border-radius:50%;background:#aaa2b1}
.v107-live-badge.live{color:#ff4167}.v107-live-badge.live i{background:#ff4167;box-shadow:0 0 0 5px rgba(255,65,103,.10);animation:v107Pulse 1.3s infinite}
.v107-live-float>strong{display:none}
.v107-live-float p{margin:12px 0 8px;font-size:9px;color:#6f6677;line-height:1.6}
.v107-live-float a{font-size:8px;font-weight:900;color:#714db4;text-decoration:none}
.v107-scroll-cue{
  position:absolute;left:24px;top:50%;z-index:12;display:flex;align-items:center;gap:9px;
  transform:rotate(-90deg) translateX(-50%);transform-origin:left top;color:#93899a;
  font-size:6px;font-weight:900;letter-spacing:.22em
}
.v107-scroll-cue i{display:block;width:46px;height:1px;background:#c7bccd;position:relative;overflow:hidden}
.v107-scroll-cue i:after{content:"";position:absolute;inset:0;background:#7650b1;transform:translateX(-100%);animation:v107ScrollLine 2.1s infinite}

.v107-section{
  width:min(1240px,calc(100% - 72px));margin:0 auto;padding:82px 0;
}
.v107-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;padding-bottom:27px;border-bottom:1px solid var(--v107-line)}
.v107-section-head>div{display:grid;grid-template-columns:44px auto;column-gap:15px;align-items:end}
.v107-section-no{grid-row:1/3;font:500 35px/1 Georgia,serif;color:#b69cd4}
.v107-section-head p{margin:0 0 5px;font-size:7px;font-weight:900;letter-spacing:.2em;color:#9d8eaa}
.v107-section-head h2{margin:0;font-size:32px;letter-spacing:-.05em;color:#201a26}
.v107-section-head>button{border:0;background:transparent;padding:6px 0;font-size:8px;font-weight:900;color:#6c537f;cursor:pointer}

.v107-upcoming-section{padding-top:78px}
.v107-upcoming-wrap{display:grid;grid-template-columns:.72fr 1.28fr;min-height:310px;border-bottom:1px solid var(--v107-line)}
.v107-upcoming-lead{padding:52px 7% 50px 0;border-right:1px solid var(--v107-line)}
.v107-upcoming-lead>span{font-size:7px;letter-spacing:.18em;font-weight:900;color:#9372bd}
.v107-upcoming-lead strong{display:block;margin-top:14px;font:500 48px/1.03 Georgia,serif;color:#2a2330}
.v107-upcoming-lead p{margin:18px 0 0;max-width:250px;font-size:9px;line-height:1.7;color:#8d828f}
.v107-upcoming-list{padding:32px 0 32px 42px}
.v107-upcoming-list .home-upcoming-row{
  display:grid;grid-template-columns:80px 55px 80px 1fr;gap:10px;align-items:center;
  min-height:74px;padding:0;border-bottom:1px solid #eee9f0;font-size:10px;
}
.v107-upcoming-list .home-upcoming-row:last-child{border-bottom:0}
.v107-upcoming-list .date{font:500 20px/1 Georgia,serif;color:#342a3d}
.v107-upcoming-list .day{font-size:7px;font-weight:900;color:#a090a9;letter-spacing:.1em}
.v107-upcoming-list .time{font-size:11px;font-weight:900;color:#764db6}
.v107-upcoming-list .title{font-size:10px;color:#514655}
.v107-upcoming-list .empty-state{text-align:left;padding:70px 0}

.v107-vod-section{padding-top:58px}
.v107-vod-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px}
.v107-vod-source{min-width:0;padding:0;background:transparent;border:0}
.v107-vod-source-head{height:40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ebe5ef;margin-bottom:15px}
.v107-vod-source-head>div{display:flex;align-items:center;gap:8px}
.v107-vod-source-head b{font-size:9px;letter-spacing:.08em}
.v107-vod-source-head a{font-size:7px;font-weight:900;color:#8a7599;text-decoration:none}
.v107-source-dot{width:8px;height:8px;border-radius:50%}.v107-source-dot.soop{background:#8257d6}.v107-source-dot.youtube{background:#ff4668}
.v107-vod-source .home-vod-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v107-vod-source .home-vod-mini{display:block;text-decoration:none;color:inherit;min-width:0}
.v107-vod-source .home-vod-mini .thumb{
  height:auto;aspect-ratio:16/10;border-radius:4px;background:#eee8f2;overflow:hidden;position:relative
}
.v107-vod-source .home-vod-mini .thumb:after{
  content:"WATCH";position:absolute;inset:auto 7px 7px auto;padding:5px 7px;border-radius:999px;
  background:rgba(24,18,30,.78);color:#fff;font-size:6px;font-weight:900;letter-spacing:.08em;
  opacity:0;transform:translateY(5px);transition:.25s ease
}
.v107-vod-source .home-vod-mini .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.v107-vod-source .home-vod-mini .play{display:none}
.v107-vod-source .home-vod-mini:hover .thumb img{transform:scale(1.045)}
.v107-vod-source .home-vod-mini:hover .thumb:after{opacity:1;transform:none}
.v107-vod-source .home-vod-mini h4{margin:9px 0 4px;font-size:9px;color:#312837;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v107-vod-source .home-vod-mini p{font-size:7px;color:#a095a6;margin:0}
.v107-vod-source .empty-state{min-height:180px;display:grid;place-items:center;border:1px dashed #ddd4e3;color:#9c8ea4}

.v107-brand-bridge{
  position:relative;overflow:hidden;margin-top:30px;padding:0 0 96px;background:#19151e;color:#fff;
}
.v107-brand-line{
  height:64px;display:flex;align-items:center;gap:28px;white-space:nowrap;overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);font-size:8px;font-weight:900;letter-spacing:.17em;color:#cfc6d6
}
.v107-brand-line span:first-child{margin-left:max(36px,calc((100vw - 1240px)/2))}
.v107-brand-line i{color:#a678ea}
.v107-brand-copy{
  width:min(1240px,calc(100% - 72px));margin:0 auto;padding-top:78px;
  display:flex;justify-content:space-between;align-items:flex-start;gap:30px
}
.v107-brand-copy p{margin:0;font-size:7px;letter-spacing:.22em;color:#9d8eaa;font-weight:900}
.v107-brand-copy strong{font:500 clamp(38px,5vw,70px)/1.04 Georgia,serif;letter-spacing:-.04em;color:#f3eef8;text-align:right}

.v107-footer{
  min-height:116px;padding:27px max(36px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  background:#fff;border-top:1px solid #eee8f0;color:#413747
}
.v107-footer>div strong{display:block;font:500 24px/1 Georgia,serif;color:#6f4aae}.v107-footer>div small{font-size:6px;color:#9c8aa7}
.v107-footer nav{display:flex;gap:20px}.v107-footer nav button{border:0;background:none;padding:0;font-size:7px;font-weight:900;color:#776a7d;cursor:pointer}
.v107-footer p{text-align:right;font-size:7px;color:#a195aa}

.motion-reveal{opacity:1;transform:none}
.v107-home.motion-enabled .motion-reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .72s ease,transform .72s cubic-bezier(.2,.8,.2,1);
}
.v107-home.motion-enabled .motion-reveal.is-visible{opacity:1;transform:none}

@keyframes v107HeroCopyIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes v107StageIn{from{opacity:0;transform:translateX(24px) scale(.985)}to{opacity:1;transform:none}}
@keyframes v107FloatIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes v107StripIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@keyframes v107Pulse{50%{transform:scale(.7);opacity:.55}}
@keyframes v107ScrollLine{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}

@media(max-width:1160px){
  .v107-hero{grid-template-columns:44% 56%;padding-left:42px;padding-right:42px}
  .v107-hero-stage{right:10px;width:61vw}
  .v107-character-wrap{width:48vw}
  .v107-live-float{right:24px}
  .v107-section{width:calc(100% - 56px)}
}
@media(max-width:860px){
  .v107-hero{height:auto;min-height:830px;display:block;padding:64px 26px 142px}
  .v107-hero-copy{max-width:78%}.v107-hero-copy h1{font-size:76px}
  .v107-hero-stage{right:-20%;top:215px;bottom:120px;width:88vw;opacity:.9}.v107-character-wrap{width:68vw}
  .v107-live-float{top:34px;right:22px;width:202px}
  .v107-upcoming-wrap{grid-template-columns:1fr}.v107-upcoming-lead{border-right:0;border-bottom:1px solid var(--v107-line);padding-right:0}
  .v107-upcoming-list{padding-left:0}
  .v107-vod-layout{grid-template-columns:1fr}
  .v107-brand-copy{width:calc(100% - 56px)}
}
@media(max-width:620px){
  .v107-hero{min-height:800px;padding:48px 18px 138px}
  .v107-hero-copy{max-width:100%}.v107-kicker{font-size:8px}.v107-hero-copy h1{font-size:58px}.v107-tagline{font-size:18px}
  .v107-bio{max-width:70%;font-size:10px}.v107-actions{gap:12px}.v107-primary-action,.v107-secondary-action{min-width:168px;height:46px}.v107-primary-action .v107-action-icon,.v107-secondary-action .v107-action-icon{width:28px;height:28px}.v107-soop-logo{width:18px}.v107-youtube-logo{width:18px;height:18px}
  .v107-hero-stage{top:255px;right:-24%;bottom:118px;width:106vw}.v107-character-wrap{width:83vw}
  .v107-live-float{top:auto;bottom:235px;right:15px;width:185px;padding:12px 14px}
  .v107-scroll-cue{display:none}
  .v107-section{width:calc(100% - 32px);padding:76px 0}
  .v107-section-head{align-items:flex-start}.v107-section-head h2{font-size:26px}.v107-section-head>button{font-size:7px}
  .v107-upcoming-lead strong{font-size:39px}
  .v107-upcoming-list .home-upcoming-row{grid-template-columns:64px 46px 58px 1fr}
  .v107-upcoming-list .date{font-size:16px}
  .v107-vod-source .home-vod-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v107-vod-source .home-vod-mini:nth-child(3){display:none}
  .v107-brand-line{gap:18px}.v107-brand-copy{width:calc(100% - 32px);display:block;padding-top:58px}
  .v107-brand-copy strong{display:block;margin-top:40px;text-align:left;font-size:42px}
  .v107-footer{grid-template-columns:1fr 1fr;gap:20px;padding:25px 18px}.v107-footer nav{justify-content:flex-end;gap:10px}.v107-footer p{grid-column:1/-1;text-align:left}
}
@media(prefers-reduced-motion:reduce){
  .v107-hero-copy,.v107-hero-stage,.v107-live-float{animation:none}
  .motion-reveal{opacity:1;transform:none;transition:none}
  .v107-ambient,.v107-stage-ring,.v107-character-wrap,.v107-live-float{transform:none}
  .v107-scroll-cue i:after,.v107-live-badge.live i{animation:none}
  .v107-vod-source .home-vod-mini .thumb img{transition:none}
}


.v107-hero{--v114-spot-x:72%;--v114-spot-y:35%}
.v107-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at var(--v114-spot-x) var(--v114-spot-y),rgba(255,255,255,.42) 0,rgba(223,205,255,.20) 13%,rgba(199,170,244,.08) 25%,transparent 43%);opacity:.72;transition:opacity .35s ease;mix-blend-mode:soft-light}
.v107-hero:hover::after{opacity:.95}
.v107-kicker{position:relative;width:max-content}.v107-kicker::after{content:"";position:absolute;left:0;bottom:-8px;width:38px;height:1px;background:linear-gradient(90deg,#8d63cf,rgba(141,99,207,0));transform-origin:left center;animation:v114KickerLine 1.15s .35s cubic-bezier(.2,.8,.2,1) both}
@keyframes v114KickerLine{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
.v107-character-halo{animation:v114HaloBreath 7.5s ease-in-out infinite}.v107-character-wrap img.v114-character-enter{animation:v114CharacterReveal .95s cubic-bezier(.16,.84,.32,1) both}
@keyframes v114CharacterReveal{0%{opacity:0;filter:blur(9px) drop-shadow(0 28px 38px rgba(64,43,82,.08))}100%{opacity:1;filter:blur(0) drop-shadow(0 28px 38px rgba(64,43,82,.16))}}
@keyframes v114HaloBreath{0%,100%{opacity:.78;transform:translateX(-50%) scale(.98)}50%{opacity:1;transform:translateX(-50%) scale(1.035)}}
.v107-stage-ring.ring-one{animation:v114RingDriftOne 16s ease-in-out infinite}.v107-stage-ring.ring-two{animation:v114RingDriftTwo 19s ease-in-out infinite}
@keyframes v114RingDriftOne{0%,100%{border-color:rgba(126,88,178,.12)}50%{border-color:rgba(126,88,178,.22)}}@keyframes v114RingDriftTwo{0%,100%{opacity:.5}50%{opacity:.82}}
.v107-upcoming-list .home-upcoming-row{position:relative;border-radius:12px;transition:background .25s ease,transform .25s ease,box-shadow .25s ease}.v107-upcoming-list .home-upcoming-row::before{content:"";position:absolute;left:-14px;top:50%;width:3px;height:0;border-radius:99px;background:linear-gradient(#b990f0,#764db6);transform:translateY(-50%);transition:height .25s ease}.v107-upcoming-list .home-upcoming-row:hover{background:linear-gradient(90deg,rgba(244,237,251,.72),rgba(255,255,255,0));transform:translateX(5px)}.v107-upcoming-list .home-upcoming-row:hover::before{height:30px}.v107-upcoming-list .home-upcoming-row .title,.v107-upcoming-list .home-upcoming-row .time{transition:transform .25s ease,color .25s ease}.v107-upcoming-list .home-upcoming-row:hover .title{transform:translateX(3px);color:#3e3049}.v107-upcoming-list .home-upcoming-row:hover .time{color:#6837af}
.v107-vod-source .home-vod-mini{--v114-rx:0deg;--v114-ry:0deg;--v114-gx:50%;--v114-gy:50%;position:relative;transform:perspective(850px) rotateX(var(--v114-rx)) rotateY(var(--v114-ry)) translateY(0);transform-style:preserve-3d;transition:transform .26s cubic-bezier(.2,.8,.2,1),filter .28s ease;will-change:transform}.v107-vod-source .home-vod-mini:hover{transform:perspective(850px) rotateX(var(--v114-rx)) rotateY(var(--v114-ry)) translateY(-7px);filter:drop-shadow(0 18px 20px rgba(60,39,78,.13))}.v107-vod-source .home-vod-mini .thumb{border-radius:12px;border:1px solid rgba(126,91,163,.08);box-shadow:0 8px 22px rgba(69,43,90,.055);isolation:isolate}.v107-vod-source .home-vod-mini .thumb::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at var(--v114-gx) var(--v114-gy),rgba(255,255,255,.38),rgba(224,203,255,.12) 20%,transparent 42%);opacity:0;transition:opacity .25s ease}.v107-vod-source .home-vod-mini:hover .thumb::before{opacity:1}.v107-vod-source .home-vod-mini .thumb:after{z-index:3;padding:6px 9px;backdrop-filter:blur(7px);background:rgba(28,20,36,.73);box-shadow:0 7px 16px rgba(25,17,32,.18)}.v107-vod-source .home-vod-mini h4{transition:color .2s ease,transform .25s ease}.v107-vod-source .home-vod-mini:hover h4{color:#6e45aa;transform:translateX(2px)}
.v107-brand-line{animation:v114BrandDrift 18s ease-in-out infinite alternate;will-change:transform}@keyframes v114BrandDrift{from{transform:translateX(0)}to{transform:translateX(-24px)}}
.v107-section-head{position:relative}.v107-section-head::after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1px;background:linear-gradient(90deg,#9b71d8,#dfc9f3,transparent);transition:width .9s cubic-bezier(.2,.8,.2,1)}.motion-reveal.is-visible .v107-section-head::after{width:44%}
@media(max-width:860px){.v107-hero::after{opacity:.48}.v107-upcoming-list .home-upcoming-row:hover{transform:none}.v107-vod-source .home-vod-mini,.v107-vod-source .home-vod-mini:hover{transform:none;filter:none}}
@media(max-width:620px){.v107-character-halo{animation-duration:9s}}
@media(hover:none){.v107-vod-source .home-vod-mini .thumb::before{display:none}}
@media(prefers-reduced-motion:reduce){.v107-kicker::after,.v107-character-halo,.v107-character-wrap img.v114-character-enter,.v107-stage-ring.ring-one,.v107-stage-ring.ring-two,.v107-brand-line{animation:none}.v107-vod-source .home-vod-mini,.v107-vod-source .home-vod-mini:hover,.v107-upcoming-list .home-upcoming-row,.v107-upcoming-list .home-upcoming-row:hover{transform:none;transition:none}}


.v115-home-hero-admin .field small,
#page-admin label small{
  display:block;
  margin-top:4px;
  color:#9b8aa5;
  font-size:9px;
  line-height:1.55;
  font-weight:600;
}
.v115-image-preview{
  position:relative;
  width:100%;
  height:320px;
  margin:2px 0 14px;
  overflow:hidden;
  border:1px solid #e5d9ed;
  border-radius:20px;
  background:
    radial-gradient(circle at 72% 28%,rgba(215,194,244,.55),transparent 24%),
    linear-gradient(135deg,#fdfaff,#f2eafa 58%,#f8f0fb);
}
.v115-image-preview img{
  display:none;
}
.v115-image-preview-empty{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#b19ac4;
  font:700 11px/1 Arial,sans-serif;
  letter-spacing:2px;
  pointer-events:none;
}
.v118-hero-preview{display:grid;grid-template-columns:minmax(240px,42%) 1fr;gap:0;isolation:isolate}
.v118-hero-preview-copy{position:relative;z-index:2;padding:26px 24px 24px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.08))}
.v118-hero-preview-copy::after{content:"";position:absolute;right:0;top:22px;bottom:22px;width:1px;background:linear-gradient(180deg,transparent,#eadcf2 14%,#eadcf2 86%,transparent)}
.v118-preview-kicker{font-size:10px;letter-spacing:2.4px;font-weight:900;color:#8c66d1;margin-bottom:10px}
.v118-preview-title{font-size:31px;font-weight:900;color:#2d2240;line-height:1.1;margin-bottom:10px}
.v118-preview-sub{font-size:12px;line-height:1.65;color:#796a86;max-width:240px}
.v118-preview-hint{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.v118-preview-chip{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #eadcf2;color:#7b61ad;font-size:10px;font-weight:800;box-shadow:0 6px 16px rgba(123,97,173,.06)}
.v118-hero-preview-stage{position:relative;min-height:100%;overflow:hidden}
.v118-hero-preview-stage::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 52% 27%,rgba(255,255,255,.88),transparent 30%),linear-gradient(135deg,rgba(236,218,250,.32),rgba(255,255,255,.08));pointer-events:none}
.v118-hero-preview-stage::after{content:"DANCHU";position:absolute;left:4%;bottom:-8px;font:800 74px/1 Georgia,serif;color:rgba(119,87,167,.07);letter-spacing:-2px;pointer-events:none}
.v118-preview-ring{position:absolute;border-radius:50%;border:1px solid rgba(159,123,214,.18);pointer-events:none}
.v118-preview-ring.ring-one{width:250px;height:250px;right:8%;top:11%}
.v118-preview-ring.ring-two{width:180px;height:180px;right:17%;top:22%;border-style:dashed;opacity:.72}
.v118-preview-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#b18be6;box-shadow:0 0 0 7px rgba(177,139,230,.08);pointer-events:none}
.v118-preview-dot.dot-a{right:12%;top:25%}.v118-preview-dot.dot-b{left:14%;top:20%;width:4px;height:4px}.v118-preview-dot.dot-c{right:26%;bottom:19%;width:5px;height:5px}
.v118-hero-preview-character{--hero-scale:1.45;--hero-offset-x:0%;--hero-offset-y:0%;position:absolute;right:8%;bottom:0;width:min(300px,62%);height:88%;display:flex;align-items:flex-end;justify-content:center;cursor:grab;touch-action:none}
.v118-hero-preview-character.is-dragging{cursor:grabbing}
.v118-hero-preview-halo{position:absolute;left:50%;bottom:4%;width:88%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,#eee1ff 0%,rgba(219,198,255,.55) 46%,rgba(219,198,255,0) 74%);filter:blur(3px);z-index:0;pointer-events:none}
.v118-hero-preview-character img{position:relative;z-index:1;display:none;max-width:100%;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 22px 28px rgba(77,54,101,.18));mask-image:linear-gradient(to bottom,black 0%,black 92%,transparent 100%);transform:translate(var(--hero-offset-x),var(--hero-offset-y)) scale(var(--hero-scale));transform-origin:center bottom;transition:transform .18s ease,filter .18s ease;will-change:transform}
.v118-hero-preview-character .v115-image-preview-empty{z-index:2;background:transparent}
.v118-preview-controls-note{margin-top:10px;font-size:10px;color:#8b7a96}
@media(max-width:650px){
  .v115-image-preview{height:360px}
  .v118-hero-preview{grid-template-columns:1fr}
  .v118-hero-preview-copy{padding:18px 18px 0}
  .v118-hero-preview-copy::after{display:none}
  .v118-preview-title{font-size:24px}
  .v118-preview-sub{max-width:none}
  .v118-hero-preview-stage{min-height:245px}
  .v118-hero-preview-character{right:50%;transform:translateX(50%);width:min(240px,72%)}
}
.v115-admin-image-status{
  margin:-2px 0 12px;
  color:#85758d;
  font-size:10px;
}
.v115-admin-image-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.v115-admin-image-actions .btn{
  margin:0;
}
@media(max-width:650px){
  .v115-admin-image-actions{display:grid;grid-template-columns:1fr 1fr}
}


.v116-image-spec{
  margin-top:10px;
  padding:12px 14px;
  border:1px solid #e7dced;
  border-radius:13px;
  background:
    linear-gradient(135deg,rgba(248,244,252,.96),rgba(255,255,255,.94));
}
.v116-spec-main{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.v116-spec-main b{
  padding:4px 7px;
  border-radius:999px;
  background:#eee3f8;
  color:#7147a4;
  font-size:8px;
  letter-spacing:.05em;
}
.v116-spec-main strong{
  color:#3a2a46;
  font-size:13px;
  letter-spacing:.01em;
}
.v116-spec-main span{
  color:#8d7b96;
  font-size:9px;
  font-weight:700;
}
.v116-image-spec p{
  margin:7px 0 0;
  color:#92839a;
  font-size:9px;
  line-height:1.6;
}
.v116-image-spec-hero{
  border-color:#dfd1ed;
  background:
    radial-gradient(circle at 92% 10%,rgba(221,201,245,.38),transparent 28%),
    linear-gradient(135deg,#faf7fd,#fff);
}
@media(max-width:650px){
  .v116-image-spec{padding:11px 12px}
  .v116-spec-main strong{font-size:12px}
}


.v120-hero-preview-block{margin:2px 0 16px}
.v120-preview-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px}
.v120-preview-head>div:first-child{display:grid;gap:4px}
.v120-preview-head span{font-size:8px;font-weight:900;letter-spacing:.22em;color:#9a76cd}
.v120-preview-head strong{font-size:16px;color:#342540;letter-spacing:-.03em}
.v120-preview-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.v120-preview-badges b{font-size:8px;color:#7654a6;background:#f5eefb;border:1px solid #e6d7f1;padding:6px 8px;border-radius:999px}
.v120-hero-mirror-viewport{position:relative;width:100%;min-height:190px;overflow:hidden;border:1px solid #e3d4ee;border-radius:18px;background:#f8f3fb;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.v120-hero-mirror-canvas{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.v120-hero-mirror-canvas .v120-clone-home{position:relative;margin:0;padding:0}
.v120-hero-mirror-canvas .v120-cloned-hero{margin:0;max-width:none;animation:none;transition:none}
.v120-hero-mirror-canvas .v120-cloned-hero *{animation:none}
.v120-hero-mirror-canvas .v107-hero-stage{pointer-events:auto}
.v120-hero-mirror-canvas .v107-character-wrap{pointer-events:auto;cursor:grab;touch-action:none}
.v120-hero-mirror-canvas .v107-character-wrap.is-dragging{cursor:grabbing}
.v120-hero-mirror-canvas .v107-character-wrap img{pointer-events:none;user-select:none;-webkit-user-drag:none}
.v120-hero-mirror-canvas a,.v120-hero-mirror-canvas button{pointer-events:none}
.v120-preview-empty{position:absolute;inset:0;display:none;place-items:center;color:#a68bb9;font-size:10px;font-weight:900;letter-spacing:.18em;background:linear-gradient(135deg,#fbf8ff,#f4edf9);z-index:3;pointer-events:none}
.v120-preview-note{margin:8px 2px 0;font-size:9px;line-height:1.6;color:#8f7f99}
.v120-preview-dirty{color:#8157bd}
@media(max-width:650px){
  .v120-preview-head{display:grid;align-items:start}
  .v120-preview-badges{justify-content:flex-start}
  .v120-hero-mirror-viewport{min-height:150px}
}


.v121-upload-help{margin:8px 0 0;padding:9px 11px;border-radius:10px;background:#f8f2fd;color:#765f8b;font-size:10px;line-height:1.55;border:1px solid #eadcf4}
.v120-hero-mirror-canvas [data-v120-mirror-image]{visibility:visible;opacity:1}
#homeProfileImage[src]{visibility:visible}


/* V122 — DANCHU / button-inspired brand motif */
.v107-hero-stage{isolation:isolate}
.v107-character-wrap{z-index:4;isolation:isolate}

.v122-thread-path{
  position:absolute;
  inset:1% -2% 1% 1%;
  width:101%;
  height:98%;
  overflow:visible;
  z-index:0;
  pointer-events:none;
  opacity:.72;
  filter:drop-shadow(0 7px 16px rgba(113,76,158,.06));
}
.v122-thread-main,.v122-thread-soft{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.v122-thread-main{
  stroke:rgba(146,105,194,.24);
  stroke-width:1.35;
  stroke-dasharray:2 10;
  animation:v122ThreadTravel 13s linear infinite;
}
.v122-thread-soft{
  stroke:rgba(183,149,219,.15);
  stroke-width:1;
  stroke-dasharray:1 13;
  animation:v122ThreadTravelSoft 18s linear infinite reverse;
}

.v122-button-object{
  position:absolute;
  z-index:1;
  border-radius:50%;
  pointer-events:none;
  background:
    radial-gradient(circle at 34% 27%,rgba(255,255,255,.94),rgba(255,255,255,.42) 27%,transparent 28%),
    radial-gradient(circle at 50% 48%,rgba(232,218,250,.82),rgba(207,181,238,.50) 57%,rgba(174,139,216,.17) 75%,rgba(255,255,255,.18) 76%);
  border:1px solid rgba(132,92,181,.16);
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.85),
    inset 0 -18px 35px rgba(113,75,158,.07),
    0 28px 68px rgba(87,57,115,.08);
  backdrop-filter:blur(3px);
  transform-origin:center;
  will-change:transform;
}
.v122-button-object::before{
  content:"";
  position:absolute;
  inset:8%;
  border-radius:50%;
  border:1px solid rgba(123,83,170,.13);
  box-shadow:inset 0 0 0 6px rgba(255,255,255,.12);
}
.v122-button-object::after{
  content:"";
  position:absolute;
  inset:18%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.20),rgba(255,255,255,0) 67%);
}
.v122-button-main{
  width:360px;height:360px;
  right:7%;top:14%;
  opacity:.54;
  animation:v122ButtonMainFloat 12s ease-in-out infinite;
}
.v122-button-mid{
  width:138px;height:138px;
  left:17%;top:25%;
  opacity:.43;
  animation:v122ButtonMidFloat 10.5s ease-in-out infinite;
}
.v122-button-mini{
  width:72px;height:72px;
  right:13%;bottom:15%;
  opacity:.36;
  animation:v122ButtonMiniFloat 9s ease-in-out infinite;
}
.v122-hole{
  position:absolute;
  width:11%;aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle at 42% 35%,rgba(255,255,255,.82),rgba(126,88,174,.30) 40%,rgba(95,63,135,.37) 66%,rgba(255,255,255,.18) 70%);
  box-shadow:inset 0 1px 3px rgba(66,43,90,.18),0 1px 0 rgba(255,255,255,.7);
  z-index:2;
}
.v122-hole.h1{left:35%;top:35%}.v122-hole.h2{right:35%;top:35%}.v122-hole.h3{left:35%;bottom:35%}.v122-hole.h4{right:35%;bottom:35%}
.v122-stitch{
  position:absolute;
  left:50%;top:50%;
  width:35%;height:1.2px;
  background:linear-gradient(90deg,transparent,rgba(123,83,170,.24) 14%,rgba(123,83,170,.24) 86%,transparent);
  transform-origin:center;
  z-index:3;
  border-radius:999px;
}
.v122-stitch.s1{transform:translate(-50%,-50%) rotate(45deg)}
.v122-stitch.s2{transform:translate(-50%,-50%) rotate(-45deg)}

/* Make channel CTAs feel like refined push-buttons, not novelty buttons. */
.v107-primary-action,.v107-secondary-action{
  box-shadow:0 13px 29px rgba(37,24,46,.12),inset 0 1px 0 rgba(255,255,255,.12);
}
.v107-primary-action::before,.v107-secondary-action::before{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.12);
  pointer-events:none;
  opacity:.72;
  z-index:0;
}
.v107-secondary-action::before{border-color:rgba(132,92,181,.09)}
.v107-primary-action:hover,.v107-secondary-action:hover{
  transform:translateY(-2px);
}
.v107-primary-action:active,.v107-secondary-action:active{
  transform:translateY(1px) scale(.985);
  box-shadow:0 5px 12px rgba(37,24,46,.11),inset 0 2px 5px rgba(42,26,52,.12);
}
.v107-primary-action .v107-action-icon,.v107-secondary-action .v107-action-icon{
  border-radius:50%;
  box-shadow:inset 0 1px 2px rgba(50,29,70,.08),0 5px 12px rgba(91,58,125,.10);
}

/* Tiny 4-hole signature beside section numbers — subtle site-wide brand echo. */
.v107-section-no{position:relative}
.v107-section-no::after{
  content:"";
  position:absolute;
  left:1px;
  bottom:-12px;
  width:16px;height:16px;
  border-radius:50%;
  border:1px solid rgba(130,87,181,.17);
  background:
    radial-gradient(circle at 35% 35%,rgba(130,87,181,.30) 0 1.3px,transparent 1.5px),
    radial-gradient(circle at 65% 35%,rgba(130,87,181,.30) 0 1.3px,transparent 1.5px),
    radial-gradient(circle at 35% 65%,rgba(130,87,181,.30) 0 1.3px,transparent 1.5px),
    radial-gradient(circle at 65% 65%,rgba(130,87,181,.30) 0 1.3px,transparent 1.5px),
    rgba(247,241,252,.7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

@keyframes v122ThreadTravel{to{stroke-dashoffset:-96}}
@keyframes v122ThreadTravelSoft{to{stroke-dashoffset:-120}}
@keyframes v122ButtonMainFloat{
  0%,100%{transform:translate(calc(var(--v107-px) * -.10),calc(var(--v107-py) * -.08)) rotate(-7deg)}
  50%{transform:translate(calc(var(--v107-px) * -.10),calc(var(--v107-py) * -.08 - 7px)) rotate(-3deg)}
}
@keyframes v122ButtonMidFloat{
  0%,100%{transform:translate(calc(var(--v107-px) * .16),calc(var(--v107-py) * .12)) rotate(13deg)}
  50%{transform:translate(calc(var(--v107-px) * .16 + 4px),calc(var(--v107-py) * .12 - 5px)) rotate(18deg)}
}
@keyframes v122ButtonMiniFloat{
  0%,100%{transform:translateY(0) rotate(-14deg)}
  50%{transform:translateY(-7px) rotate(-7deg)}
}

@media(max-width:1160px){
  .v122-button-main{width:315px;height:315px;right:3%;top:18%}
  .v122-button-mid{left:13%;top:29%}
}
@media(max-width:860px){
  .v122-button-main{width:300px;height:300px;right:6%;top:25%}
  .v122-button-mid{left:12%;top:37%;width:112px;height:112px}
  .v122-thread-path{opacity:.48}
}
@media(max-width:620px){
  .v122-button-main{width:238px;height:238px;right:4%;top:31%;opacity:.44}
  .v122-button-mid{width:86px;height:86px;left:8%;top:43%;opacity:.34}
  .v122-button-mini{width:55px;height:55px;right:10%;bottom:21%}
  .v122-thread-path{opacity:.34}
  .v107-section-no::after{width:13px;height:13px;bottom:-9px}
}
@media(prefers-reduced-motion:reduce){
  .v122-thread-main,.v122-thread-soft,.v122-button-main,.v122-button-mid,.v122-button-mini{animation:none}
}


/* V123 — balanced DANCHU/button branding. Light editorial marks instead of a right-heavy orbit. */
.v122-thread-path,.v122-button-object{display:none}
.v107-section-no::after{display:none}

.v123-button-bridge{
  position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;
}
.v123-thread-canvas{
  position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:.62;
  filter:drop-shadow(0 4px 12px rgba(109,76,151,.035));
}
.v123-thread-line{
  fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;
  stroke:rgba(132,94,181,.17);stroke-width:1.15;stroke-dasharray:2 12;
}
.v123-thread-line-a{animation:v123ThreadDrift 18s linear infinite}
.v123-thread-line-b{stroke:rgba(166,128,207,.11);stroke-dasharray:1 15;animation:v123ThreadDriftSoft 24s linear infinite reverse}

.v123-button-mark{
  position:absolute;border-radius:50%;border:1px solid rgba(127,88,174,.16);
  background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 7px rgba(255,255,255,.12),0 12px 32px rgba(95,63,133,.035);
  backdrop-filter:blur(1.5px);opacity:.56;transform-origin:center;
}
.v123-button-mark::before{
  content:"";position:absolute;inset:9%;border-radius:50%;border:1px solid rgba(145,108,188,.10);
}
.v123-button-mark i{
  position:absolute;width:9%;aspect-ratio:1;border-radius:50%;
  background:rgba(121,83,166,.24);box-shadow:inset 0 1px 2px rgba(76,48,108,.08);
}
.v123-button-mark i:nth-child(1){left:36%;top:36%}
.v123-button-mark i:nth-child(2){right:36%;top:36%}
.v123-button-mark i:nth-child(3){left:36%;bottom:36%}
.v123-button-mark i:nth-child(4){right:36%;bottom:36%}

/* Main brand mark sits in the previously empty gap between shortcut buttons and hero art. */
.v123-button-mark-a{width:118px;height:118px;left:47.5%;top:48%;opacity:.45;animation:v123ButtonFloatA 12s ease-in-out infinite}
.v123-button-mark-b{width:58px;height:58px;left:59.5%;top:30%;opacity:.38;animation:v123ButtonFloatB 10s ease-in-out infinite}
.v123-button-mark-c{width:38px;height:38px;left:67.5%;top:65%;opacity:.30;animation:v123ButtonFloatC 9s ease-in-out infinite}

.v123-stitch-dash{position:absolute;height:1px;background:repeating-linear-gradient(90deg,rgba(132,94,181,.16) 0 5px,transparent 5px 13px);opacity:.52;transform-origin:left center}
.v123-stitch-one{width:94px;left:42.5%;top:62%;transform:rotate(-10deg)}
.v123-stitch-two{width:70px;left:55.5%;top:43%;transform:rotate(17deg);opacity:.34}

/* Keep the shortcut buttons premium but less novelty-like. */
.v107-primary-action,.v107-secondary-action{
  box-shadow:0 11px 26px rgba(37,24,46,.105),inset 0 1px 0 rgba(255,255,255,.10);
}
.v107-primary-action::before,.v107-secondary-action::before{opacity:.42}
.v107-primary-action:hover,.v107-secondary-action:hover{transform:translateY(-2px)}
.v107-primary-action:active,.v107-secondary-action:active{transform:translateY(1px) scale(.988)}

@keyframes v123ThreadDrift{to{stroke-dashoffset:-126}}
@keyframes v123ThreadDriftSoft{to{stroke-dashoffset:-150}}
@keyframes v123ButtonFloatA{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-5px) rotate(-4deg)}}
@keyframes v123ButtonFloatB{0%,100%{transform:translate(0,0) rotate(9deg)}50%{transform:translate(3px,-4px) rotate(14deg)}}
@keyframes v123ButtonFloatC{0%,100%{transform:translateY(0) rotate(-12deg)}50%{transform:translateY(-4px) rotate(-6deg)}}

@media(max-width:1160px){
  .v123-button-mark-a{left:43%;top:54%;width:104px;height:104px}
  .v123-button-mark-b{left:56%;top:34%}
  .v123-button-mark-c{left:67%;top:68%}
  .v123-stitch-one{left:39%;top:65%}
}
@media(max-width:860px){
  .v123-thread-canvas{opacity:.34}
  .v123-button-mark-a{left:16%;top:56%;width:88px;height:88px;opacity:.30}
  .v123-button-mark-b{left:42%;top:50%;width:48px;height:48px;opacity:.28}
  .v123-button-mark-c{left:72%;top:61%;opacity:.24}
  .v123-stitch-one{left:22%;top:68%;width:80px}.v123-stitch-two{left:47%;top:58%}
}
@media(max-width:620px){
  .v123-button-mark-a{left:8%;top:54%;width:66px;height:66px;opacity:.25}
  .v123-button-mark-b{left:45%;top:55%;width:42px;height:42px}
  .v123-button-mark-c{left:78%;top:63%;width:30px;height:30px}
  .v123-thread-canvas{opacity:.25}.v123-stitch-dash{opacity:.24}
}
@media(prefers-reduced-motion:reduce){
  .v123-thread-line,.v123-button-mark{animation:none}
}


/* V127 — Lavender and pearl petals, behind the portrait and copy. */
.v123-button-bridge,.v107-stage-ring,.v107-stage-dot,.v124-ribbon-field{display:none}
.v107-hero .v107-character-halo{opacity:.3;animation:none}
.v127-petal-field{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;
-webkit-mask-image:linear-gradient(90deg,transparent 16%,#000 42%,#000 94%,transparent);
mask-image:linear-gradient(90deg,transparent 16%,#000 42%,#000 94%,transparent)}
.v127-petal-flight{position:absolute;top:0;left:var(--x);width:var(--size);height:100%;will-change:transform;animation:v127PetalFall var(--fall) linear var(--delay) infinite}
.v127-petal-sway{display:block;width:100%;height:var(--size);animation:v127PetalSway var(--sway) ease-in-out var(--delay) infinite;will-change:transform}
.v127-petal{position:relative;display:block;width:100%;height:72%;border-radius:85% 12% 78% 28%;
background:radial-gradient(ellipse at 27% 25%,rgba(255,255,255,.98),transparent 58%),linear-gradient(135deg,#f4eaff 10%,#dcc4f1 55%,#b696d2 100%);
box-shadow:inset 1px 1px 2px rgba(255,255,255,.9),inset -1px -1px 3px rgba(135,91,171,.15),0 3px 5px rgba(100,65,140,.10);
opacity:var(--alpha);transform-origin:55% 65%;animation:v127PetalTurn var(--turn) ease-in-out var(--delay) infinite;will-change:transform}
.v127-petal::after{content:"";position:absolute;left:18%;top:48%;width:62%;height:1px;transform:rotate(-32deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent)}
.v127-petal-flight:nth-child(3n) .v127-petal{background:radial-gradient(ellipse at 25% 25%,#fff,transparent 65%),linear-gradient(135deg,#fff 10%,#f9f3fc 55%,#ded0ed 100%)}
.v127-petal-flight:nth-child(4n) .v127-petal{border-radius:74% 22% 85% 18%;filter:blur(.5px)}
@keyframes v127PetalFall{0%{transform:translate3d(60px,-8%,0);opacity:0}8%{opacity:1}88%{opacity:1}100%{transform:translate3d(-100px,108%,0);opacity:0}}
@keyframes v127PetalSway{0%,100%{transform:translateX(-13px)}50%{transform:translateX(21px)}}
@keyframes v127PetalTurn{0%{transform:rotate(-30deg) rotateY(0deg)}35%{transform:rotate(60deg) rotateY(65deg)}70%{transform:rotate(155deg) rotateY(-35deg)}100%{transform:rotate(330deg) rotateY(0deg)}}
@media(max-width:860px){.v127-petal-field{-webkit-mask-image:linear-gradient(180deg,transparent 25%,#000 48%);mask-image:linear-gradient(180deg,transparent 25%,#000 48%);opacity:.85}.v127-petal-flight:nth-child(n+11){display:none}}
@media(prefers-reduced-motion:reduce){.v127-petal-flight,.v127-petal-sway,.v127-petal{animation:none;will-change:auto}.v127-petal-flight{top:var(--rest);height:auto;transform:rotate(var(--angle));opacity:.55}.v127-petal-flight:nth-child(n+7){display:none}}


.v107-hero-copy .v107-kicker{margin-bottom:18px}
.v107-hero-copy h1.v130-signature-heading{display:block;margin:0;padding:0;width:min(100%,370px);height:auto;line-height:1;color:#79618f}
.v130-signature-heading .v130-signature{display:block;width:100%;height:auto;overflow:visible;color:#79618f}
.v107-hero-copy #heroName[hidden],.v107-hero-copy #heroBio[hidden]{display:none}
.v107-hero-copy .v107-actions{margin-top:25px}
@media(max-width:1160px){.v107-hero-copy h1.v130-signature-heading{width:min(100%,335px)}}
@media(max-width:620px){.v107-hero-copy h1.v130-signature-heading{width:min(92%,290px)}.v107-hero-copy .v107-kicker{margin-bottom:15px}.v107-hero-copy .v107-actions{margin-top:21px}}


#homeUpcomingList{display:flex;flex-direction:column;gap:8px;justify-content:flex-start;min-width:0;padding:24px 0 24px 32px}
#homeUpcomingList .v132-schedule-row{display:grid;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:20px;min-height:74px;padding:14px 18px;box-sizing:border-box;border-bottom:1px solid #eee8f3;border-radius:10px;background:transparent}
#homeUpcomingList .v132-schedule-row.is-next{background:#f2edf9;border-bottom-color:transparent}
#homeUpcomingList .v132-schedule-date{display:flex;flex-direction:column;gap:6px}
#homeUpcomingList .v132-schedule-date strong{font:400 23px/1.1 Georgia,serif;color:#493957}
#homeUpcomingList .v132-schedule-date span{font-size:11px;line-height:1.3;color:#92839d}
#homeUpcomingList .v132-schedule-title{min-width:0;font-size:14px;font-weight:600;line-height:1.5;color:#514458;overflow-wrap:anywhere}
#homeUpcomingList .v132-schedule-time{font-size:15px;font-weight:700;line-height:1.3;font-variant-numeric:tabular-nums;color:#7954a4;white-space:nowrap;text-align:right}
@media(max-width:860px){#homeUpcomingList{padding:20px 0}}
@media(max-width:620px){#homeUpcomingList .v132-schedule-row{grid-template-columns:64px minmax(0,1fr) auto;gap:12px;padding:12px 10px}#homeUpcomingList .v132-schedule-date strong{font-size:19px}#homeUpcomingList .v132-schedule-title{font-size:12px}#homeUpcomingList .v132-schedule-time{font-size:12px}}


.v107-upcoming-section .v107-section-head h2,
.v107-vod-section .v107-section-head h2{
  font-family:'Noto Sans KR',sans-serif;font-size:24px;font-weight:500;
  line-height:1.4;letter-spacing:-.025em;color:#44394f;
}
.v107-upcoming-section .v107-upcoming-wrap{grid-template-columns:minmax(0,1fr);min-height:0}
.v107-upcoming-section .v107-upcoming-list{min-width:0;padding:24px 0}


.sidebar .v137-signature-brand{display:block;align-self:center}
.v137-logo-home{display:flex;align-items:center;justify-content:flex-start;width:144px;height:50px;padding:0;border:0;border-radius:6px;background:transparent;cursor:pointer;color:#7451a5;transition:color .18s ease}
.v137-logo-home .v137-logo-ink{display:block;width:138px;height:44px;object-fit:contain;max-width:100%;pointer-events:none}
.v137-logo-home:hover{opacity:.85}
.v137-logo-home:focus-visible{outline:2px solid #a886d4;outline-offset:4px}
@media(max-width:1100px){.v137-logo-home{width:126px;height:46px}.v137-logo-home .v137-logo-ink{width:122px;height:40px}}
@media(max-width:760px){.v137-logo-home{width:90px;height:38px}.v137-logo-home .v137-logo-ink{width:88px;height:30px}}
@media(prefers-reduced-motion:reduce){.v137-logo-home{transition:none}}


html:has(#page-gallery.active),#igDialog,#igDialog *{scrollbar-color:#c7c7c7 #fff}
html:has(#page-gallery.active)::-webkit-scrollbar-thumb,#igDialog ::-webkit-scrollbar-thumb{background:#c7c7c7}
html:has(#page-gallery.active)::-webkit-scrollbar-track,#igDialog ::-webkit-scrollbar-track{background:#fff}

/* Keep legacy site-wide important rules outside the Instagram gallery. */
#page-gallery.page{padding:110px 24px 64px;max-width:none;width:100%;border-radius:0}
#igDialog,#igDialog .ig-modal,#igDialog .ig-caption-area{scrollbar-color:#c7c7c7 #fff;scrollbar-width:thin}
#igDialog ::-webkit-scrollbar{width:6px;height:6px}
#igDialog ::-webkit-scrollbar-thumb{background:#c7c7c7;border-radius:6px}
#igDialog ::-webkit-scrollbar-track{background:#fff}
@media(max-width:735px){#page-gallery.page{padding:78px 0 48px}#igDialog .ig-post-prev,#igDialog .ig-post-next{display:none}}
@media(max-width:760px){.nav button[data-page="gallery"]{display:flex}}

/* Gallery UI referenced against instagram.com, 2026-10-27. */
#page-gallery,#igDialog{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#262626;font-size:14px;line-height:1.5;letter-spacing:normal;text-transform:none}
#page-gallery *,#igDialog *{box-sizing:border-box}
#page-gallery{background:#fff;padding:36px 24px 64px;min-height:90vh}
#page-gallery .ig-shell{max-width:935px;margin:0 auto}
#page-gallery button,#igDialog button{font:inherit;letter-spacing:normal;text-transform:none;box-shadow:none;cursor:pointer}
#page-gallery button:disabled,#igDialog button:disabled{cursor:default}
#page-gallery button:focus-visible,#igDialog button:focus-visible{outline:2px solid #4150f7;outline-offset:3px}
#page-gallery .ig-profile{display:grid;grid-template-columns:calc((100% - 56px)/3) minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:28px;row-gap:16px;padding:0 0 36px;min-height:210px}
#page-gallery .ig-avatar{grid-row:1/4;width:150px;height:150px;border-radius:50%;overflow:hidden;border:1px solid #dbdfe4;margin:0 auto;align-self:center;display:grid;place-items:center;background:#fafafa;color:#737373;font-size:44px}
#page-gallery .ig-avatar img,#igDialog .ig-small-avatar img{width:100%;height:100%;object-fit:cover;display:block}
#page-gallery .ig-account{display:flex;align-items:center;gap:20px;flex-wrap:wrap;min-width:0}
#page-gallery .ig-account h2{font:400 20px/25px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;margin:0;color:#262626;letter-spacing:normal}
#page-gallery .ig-profile-actions{display:flex;gap:8px}
#page-gallery .ig-profile-actions button{height:32px;border:0;border-radius:8px;padding:0 16px;background:#efefef;color:#000;font-size:14px;font-weight:600;white-space:nowrap}
#page-gallery .ig-profile-actions button:first-child{background:#4a5df9;color:#fff}
#page-gallery .ig-stats{list-style:none;display:flex;gap:40px;padding:0;margin:0;font-size:16px;line-height:24px}
#page-gallery .ig-stats li{display:flex;gap:6px;white-space:nowrap}
#page-gallery .ig-stats b{font-weight:600}
#page-gallery .ig-bio{font-size:14px;line-height:18px}
#page-gallery .ig-bio b{font-weight:600}
#page-gallery .ig-bio p{margin:2px 0 0;white-space:pre-line}
#page-gallery .ig-tabs{border-bottom:1px solid #dbdfe4;display:grid;grid-template-columns:repeat(2,1fr);height:45px;align-items:start;justify-items:center}
#page-gallery .ig-tabs button{display:flex;align-items:center;justify-content:center;width:64px;height:44px;padding:0 20px;margin:0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#8e8e8e}
#page-gallery .ig-tabs button[aria-selected=true]{border-bottom-color:#0c1014;color:#262626}
#page-gallery .ig-tabs svg{display:block;width:24px;height:24px;flex:none}
#page-gallery .ig-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;columns:auto}
#page-gallery button.ig-tile{padding:0;margin:0;border:0;border-radius:0;aspect-ratio:3/4;position:relative;overflow:hidden;background:#efefef;display:block;min-width:0}
#page-gallery .ig-tile img{width:100%;height:100%;object-fit:cover;display:block}
#page-gallery .ig-tile .ig-stack{position:absolute;top:12px;right:12px;color:white;filter:drop-shadow(0 1px 2px #0005);width:20px;height:20px;display:block;pointer-events:none;z-index:1}
#page-gallery .ig-stack svg{display:block;width:100%;height:100%}
#page-gallery .ig-tile .ig-hover{position:absolute;inset:0;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;gap:7px;color:#fff;opacity:0;font-size:16px;font-weight:700}
#page-gallery .ig-hover svg{width:24px;height:24px;flex:none}
@media(hover:hover){#page-gallery .ig-tile:hover .ig-hover{opacity:1}}
#page-gallery .ig-tile:focus-visible .ig-hover{opacity:1}
#page-gallery .ig-empty{grid-column:1/-1;display:flex;align-items:center;flex-direction:column;gap:20px;text-align:center;padding:60px 20px 100px;color:#262626}
#page-gallery .ig-empty-icon{display:grid;place-items:center;border:2px solid currentColor;border-radius:50%;width:62px;height:62px}
#page-gallery .ig-empty-icon svg{width:32px;height:32px;stroke-width:1.5}
#page-gallery .ig-empty h3{font:800 28px/32px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0}
#page-gallery .ig-status{font-size:12px;text-align:center;color:#737373;margin:12px 0 0}
#page-gallery .ig-status:empty{display:none}
html.ig-dialog-open{overflow:hidden}
#igDialog{border:0;padding:0;margin:auto;max-width:none;max-height:none;width:min(1120px,calc(100vw - 128px));height:min(780px,calc(100dvh - 80px));overflow:visible;background:#fff;border-radius:4px;color:#262626}
#igDialog::backdrop{background:rgba(0,0,0,.65)}
#igDialog [hidden]{display:none}
#igDialog button{border:0;background:none;color:inherit}
#igDialog svg{display:block;flex-shrink:0}
#igDialog .ig-modal{height:100%;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,1fr);overflow:hidden;background:#fff;border-radius:4px}
#igDialog .ig-media{position:relative;min-width:0;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y}
#igPhoto{width:100%;height:100%;object-fit:contain;user-select:none}
#igDialog .ig-detail{display:flex;flex-direction:column;min-height:0;min-width:0;border-left:1px solid #efefef}
#igDialog .ig-detail header{display:flex;align-items:center;gap:12px;min-height:60px;padding:14px 16px;border-bottom:1px solid #efefef}
#igDialog b{font-weight:600}
#igDialog .ig-detail header button{color:#0095f6;font-size:14px;font-weight:600;padding:0}
#igDialog .ig-detail header button:before{content:'·';color:#262626;margin-right:12px}
#igDialog .ig-more{margin-left:auto;width:24px;height:24px}
#igDialog .ig-small-avatar{display:inline-flex;width:32px;height:32px;border-radius:50%;overflow:hidden;background:#fafafa;color:#737373;flex-shrink:0;align-items:center;justify-content:center}
#igDialog .ig-caption-area{flex:1;overflow:auto;padding:16px;min-height:70px;scrollbar-width:thin}
#igDialog .ig-caption{display:flex;gap:12px;align-items:flex-start}
#igDialog .ig-caption>div{min-width:0}
#igCaption{display:inline;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 0 5px;line-height:18px}
#igCaption .ig-tag{color:#00376b}
#igDialog time{color:#737373;font-size:12px;line-height:16px;display:block}
#igCaptionDate{margin-top:12px}
#igDialog footer{padding:4px 16px 12px;border-top:1px solid #efefef}
#igDialog .ig-actions{display:flex;align-items:center;gap:16px;margin:0 0 4px}
#igDialog .ig-actions button{padding:8px 0;display:grid;place-items:center;width:24px;height:40px;line-height:1}
#igDialog .ig-actions button:last-child{margin-left:auto}
#igDialog .ig-actions svg{width:24px;height:24px}
@media(hover:hover){#igDialog .ig-actions button:not(:disabled):hover{opacity:.6}}
#igLike[aria-pressed=true]{color:#ff3040}
#igLike:disabled{opacity:1}
#igLikes{display:block;font-size:14px;line-height:18px}
#igDate{margin-top:8px;font-size:10px;line-height:14px}
#igLikeStatus{font-size:11px;color:#737373;margin:6px 0 0;overflow-wrap:anywhere}
#igLikeStatus:empty{display:none}
#igDialog .ig-comment-input{display:flex;align-items:center;gap:16px;min-height:56px;padding:12px 16px;border-top:1px solid #efefef}
#igDialog .ig-comment-input input{border:0;border-radius:0;box-shadow:none;padding:0;min-width:0;flex:1;background:transparent;font:inherit;color:#262626;outline:none}
#igDialog .ig-comment-input input::placeholder{color:#737373;opacity:1}
#igDialog .ig-comment-input button{color:#b3dbff;padding:0;font-weight:600}
#igDialog .ig-close{position:fixed;top:12px;right:12px;padding:8px;color:#fff;z-index:5;width:40px;height:40px}
#igDialog .ig-post-prev,#igDialog .ig-post-next{position:fixed;top:calc(50% - 16px);background:#fff;border-radius:50%;width:32px;height:32px;padding:4px;color:#262626;z-index:4}
#igDialog .ig-post-prev{left:16px}#igDialog .ig-post-next{right:16px}
#igDialog .ig-photo-prev,#igDialog .ig-photo-next{position:absolute;top:calc(50% - 13px);border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 1px 4px #0003;width:26px;height:26px;padding:5px;color:#555;z-index:2}
#igDialog .ig-photo-prev svg,#igDialog .ig-photo-next svg{width:16px;height:16px;stroke-width:2.5}
#igDialog .ig-photo-prev{left:12px}#igDialog .ig-photo-next{right:12px}
#igDots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:0;align-items:center;justify-content:center}
#igDots button{width:14px;height:18px;padding:6px 4px;display:grid;place-items:center}
#igDots button:before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6);box-shadow:0 0 2px #0005}
#igDots button.active:before{background:#0095f6}
#igPhotoCount{position:absolute;right:12px;top:12px;border-radius:20px;background:#0009;color:#fff;padding:4px 10px;font-size:12px;font-variant-numeric:tabular-nums;pointer-events:none}
#igBurst{position:absolute;color:#fff;opacity:0;pointer-events:none;filter:drop-shadow(0 3px 10px #0004)}
#igBurst svg{width:96px;height:96px}
#igBurst.play{animation:ig-heart .8s ease both}
@keyframes ig-heart{0%{opacity:0;transform:scale(.5)}25%,65%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.08)}}
@media(max-width:735px){
 #page-gallery{padding:16px 0 48px}
 #page-gallery .ig-profile{grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:24px;row-gap:16px;padding:0;min-height:0}
 #page-gallery .ig-avatar{grid-column:1;grid-row:1;width:88px;height:88px;margin-left:16px;align-self:start;font-size:32px}
 #page-gallery .ig-account{grid-column:2;grid-row:1;align-content:center;gap:12px;padding-right:16px}
 #page-gallery .ig-account h2{font-size:20px;line-height:25px;width:100%}
 #page-gallery .ig-profile-actions{gap:6px;flex-wrap:wrap}
 #page-gallery .ig-profile-actions button{font-size:13px;padding:0 12px;height:32px}
 #page-gallery .ig-bio{grid-column:1/-1;grid-row:2;padding:0 16px 4px}
 #page-gallery .ig-stats{grid-column:1/-1;grid-row:3;justify-content:space-around;gap:0;border-top:1px solid #dbdfe4;padding:12px 0;margin:0;font-size:14px;line-height:18px}
 #page-gallery .ig-stats li{flex-direction:column;align-items:center;gap:0;flex:1}
 #page-gallery .ig-stats li>span{color:#737373}
 #page-gallery .ig-tabs{height:45px}
 #page-gallery .ig-grid{gap:2px}
 #page-gallery .ig-tile .ig-stack{top:8px;right:8px;width:20px;height:20px}
 #igDialog{width:100%;height:100dvh;max-height:100dvh;border-radius:0}
 #igDialog .ig-modal{display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;border-radius:0;padding-top:60px}
 #igDialog .ig-media{flex:none;width:100%;height:min(70dvh,calc(100vw * 1.25));min-height:240px}
 #igDialog .ig-detail{display:contents}
 #igDialog .ig-detail header{position:absolute;top:0;left:0;right:0;height:60px;padding:14px 52px 14px 16px;background:#fff;z-index:3}
 #igDialog .ig-detail header .ig-more{display:none}
 #igDialog .ig-caption-area{flex:none;order:2;overflow:visible;padding:0 16px 16px;min-height:0}
 #igDialog .ig-caption>.ig-small-avatar{display:none}
 #igDialog footer{flex:none;order:1;padding:4px 16px 12px;border-top:0}
 #igDialog .ig-comment-input{flex:none;order:3;min-height:56px;margin-top:auto;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 #igDialog .ig-close{position:absolute;top:10px;right:8px;color:#262626}
 #igDialog .ig-post-prev,#igDialog .ig-post-next{position:absolute;top:auto;bottom:66px;background:#fff;box-shadow:0 1px 5px #0002;opacity:.9}
 #igDialog .ig-post-prev{left:8px}#igDialog .ig-post-next{right:8px}
}
@media(prefers-reduced-motion:reduce){#igBurst.play{animation:none;opacity:0}}

#igAdmin{margin:30px 0;padding:24px;border:1px solid #ddd;border-radius:16px}#igAdmin label{display:block;margin:12px 0;font-size:13px}#igAdmin input:not([type=file]),#igAdmin textarea{display:block;width:100%;padding:10px;border:1px solid #ddd;border-radius:7px}#igAdmin textarea{min-height:140px}#igAdmin .ig-editor-photos{display:flex;flex-wrap:wrap;gap:10px}#igAdmin figure{width:130px;margin:0}#igAdmin figure img{width:130px;height:160px;object-fit:cover}#igAdmin button{margin:5px;padding:8px 12px;border:1px solid #ddd;border-radius:6px}#igAdmin .ig-post-admin{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #ddd}#igAdmin .ig-post-admin img{width:45px;height:55px;object-fit:cover}#igAdminStatus{font-size:13px;white-space:pre-line}

/* Profile layout matched to the user-provided Instagram screenshot. */
#page-gallery .ig-profile{display:grid;grid-template-columns:150px minmax(0,1fr);grid-template-rows:auto auto;column-gap:28px;row-gap:32px;padding:0 0 26px;min-height:0;align-items:start}
#page-gallery .ig-avatar{grid-column:1;grid-row:1;width:150px;height:150px;align-self:start;margin:0;border:1px solid #e5e7eb;padding:4px;background:#fff}
#page-gallery .ig-avatar img,#page-gallery .ig-avatar>svg{border-radius:50%}
#page-gallery .ig-profile-info{grid-column:2;grid-row:1;min-width:0;padding-top:8px}
#page-gallery .ig-account{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;padding:0}
#page-gallery .ig-account h2{width:auto;font-size:24px;line-height:30px;font-weight:700;color:#000}
#page-gallery .ig-profile-badge{display:block;width:20px;height:20px;flex:none}
#page-gallery .ig-profile-badge svg{width:20px;height:20px;display:block}
#page-gallery .ig-profile-more{display:grid;place-items:center;padding:0;width:24px;height:24px;background:transparent;border:0;color:#000}
#page-gallery .ig-profile-more svg{width:16px;height:16px}
#page-gallery .ig-display-name{font-size:14px;line-height:18px;margin:0 0 10px;color:#000}
#page-gallery .ig-stats{display:flex;gap:18px;list-style:none;border:0;margin:0;padding:0;font-size:14px;line-height:18px;grid-column:auto;grid-row:auto;justify-content:flex-start}
#page-gallery .ig-stats li{display:flex;flex:none;flex-direction:row;align-items:baseline;gap:4px;white-space:nowrap}
#page-gallery .ig-stats li>span{color:#000}
#page-gallery .ig-stats b{font-weight:600;color:#000}
#page-gallery .ig-profile-note{margin:38px 0 0;font-size:14px;line-height:20px;color:#000}
#page-gallery .ig-profile-status{display:block;font-size:11px;color:#737373;margin:6px 0 0}
#page-gallery .ig-profile-status:empty{display:none}
#page-gallery .ig-profile-actions{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr 1.07fr 44px;gap:8px;width:100%}
#page-gallery .ig-profile-actions button,#page-gallery .ig-profile-actions button:first-child{display:flex;align-items:center;justify-content:center;gap:4px;height:44px;min-width:0;border:0;border-radius:12px;background:#f0f2f5;color:#000;padding:0 16px;font-size:14px;line-height:18px;font-weight:600}
#page-gallery .ig-profile-actions button svg{width:16px;height:16px;flex:none}
#page-gallery .ig-profile-actions .ig-add-person{padding:0;width:44px}
#page-gallery .ig-profile-actions .ig-add-person svg{width:20px;height:20px}
#page-gallery .ig-tabs{grid-template-columns:repeat(3,1fr)}
@media(max-width:735px){
 #page-gallery .ig-profile{grid-template-columns:88px minmax(0,1fr);gap:20px 20px;padding:0 16px 20px}
 #page-gallery .ig-avatar{width:88px;height:88px;margin:0;padding:3px}
 #page-gallery .ig-profile-info{padding-top:2px}
 #page-gallery .ig-account h2{font-size:20px;line-height:26px}
 #page-gallery .ig-display-name{font-size:13px;margin-bottom:8px}
 #page-gallery .ig-stats{font-size:13px;gap:12px;line-height:18px;padding:0;border:0}
 #page-gallery .ig-profile-note{margin-top:14px;font-size:12px;line-height:18px}
 #page-gallery .ig-profile-actions{grid-template-columns:1fr 1.07fr 44px;gap:6px}
 #page-gallery .ig-profile-actions button{padding:0 8px;font-size:13px}
}
@media(max-width:360px){#page-gallery .ig-profile{column-gap:12px}#page-gallery .ig-stats{gap:8px;font-size:12px}#page-gallery .ig-account h2{font-size:18px}}
/* Platform video archives inside the Instagram-style gallery. */
#page-gallery #igVideoTitle{font-family:"Noto Sans KR",sans-serif;font-weight:600;letter-spacing:-.025em}
#page-gallery #vodTabs{gap:8px}
#page-gallery #vodTabs button{font-family:"Noto Sans KR",sans-serif;font-size:13px;font-weight:600;border:0;background:#efefef;color:#262626;border-radius:8px;padding:8px 18px;box-shadow:none;line-height:20px}
#page-gallery #vodTabs button[aria-pressed="true"]{background:#262626;color:#fff}
#page-gallery #vodTabs button:hover{opacity:.8}
#page-gallery #vodGrid.is-shorts{grid-template-columns:repeat(4,minmax(0,1fr))}
#page-gallery #vodGrid.is-shorts .auto-vod-thumb{aspect-ratio:9/16}
@media(max-width:735px){#page-gallery #vodGrid.is-shorts{grid-template-columns:repeat(2,minmax(0,1fr))}}

#page-gallery #igVideoPanel .auto-vod-body h4 a,#page-gallery #igVideoPanel .auto-vod-open{color:#262626}
#page-gallery #igVideoPanel .auto-vod-badge{right:auto;width:auto}
#page-gallery #vodAutoStatus{background:transparent;border:0;box-shadow:none;padding:0}
#page-gallery [hidden]{display:none}
#page-gallery .ig-video-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 12px}
#page-gallery .ig-video-toolbar h3{font:600 16px/24px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0;color:#262626}
#page-gallery .ig-video-toolbar button{border:0;border-radius:8px;padding:7px 12px;background:#efefef;color:#262626;font-size:12px}
#page-gallery .ig-video-filters{display:flex;gap:8px;margin-bottom:12px}
#page-gallery .ig-video-filters button{border:1px solid #dbdbdb;border-radius:7px;background:#fff;color:#737373;padding:6px 14px;font-size:12px}
#page-gallery .ig-video-filters button[aria-pressed=true]{color:#fff;background:#262626;border-color:#262626}
#page-gallery .ig-video-status{font-size:12px;line-height:18px;color:#737373;margin:0 0 16px}
#page-gallery .ig-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 12px;padding-bottom:24px}
#page-gallery .auto-vod-card{min-width:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:hidden}
#page-gallery .auto-vod-thumb{display:block;position:relative;aspect-ratio:16/9;height:auto;overflow:hidden;border:0;border-radius:3px;background:#efefef;color:#262626}
#page-gallery .auto-vod-thumb img{width:100%;height:100%;object-fit:cover;display:block}
#page-gallery .auto-vod-badge{position:absolute;top:8px;left:8px;background:#0009;color:#fff;font-size:10px;padding:3px 6px;border-radius:3px}
#page-gallery .ig-video-duration{position:absolute;bottom:7px;right:7px;background:#000c;color:#fff;font:600 11px/16px Arial;padding:1px 4px;border-radius:3px}
#page-gallery .auto-vod-body{padding:10px 0 0}
#page-gallery .auto-vod-body h4{font:600 14px/20px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0 0 7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#page-gallery .auto-vod-body h4 a{color:#262626;text-decoration:none}
#page-gallery .auto-vod-meta{display:flex;justify-content:space-between;gap:8px;color:#737373;font-size:11px;line-height:16px}
#page-gallery .auto-vod-open{color:#737373;text-decoration:none;white-space:nowrap}
#page-gallery .vod-empty-state{grid-column:1/-1;padding:60px 16px;text-align:center;font-size:14px;line-height:2;color:#737373;border:0;background:#fafafa}
#page-gallery .vod-empty-state a{color:#00376b}
@media(max-width:735px){#page-gallery .ig-video-toolbar,#page-gallery .ig-video-filters,#page-gallery .ig-video-status{margin-left:16px;margin-right:16px}#page-gallery .ig-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 8px;padding:0 12px 24px}#page-gallery .auto-vod-body h4{font-size:12px;line-height:18px}#page-gallery .auto-vod-meta{flex-wrap:wrap}}


.v107-hero-copy h1{overflow:visible}
#heroName{display:inline-flex;gap:.01em;align-items:flex-end;flex-wrap:wrap}
#heroName .v112-letter{display:inline-block;opacity:0;transform:translateY(.82em);filter:blur(5px);animation:v112LetterReveal .78s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--delay,.08s);will-change:transform,opacity,filter}
.v112-heart-reveal{opacity:0;transform:translateY(8px) rotate(-11deg) scale(.92);animation:v112HeartReveal .65s ease forwards;animation-delay:.42s}
.v112-char-float{animation:v112CharacterFloat 7.6s ease-in-out infinite}
.v107-primary-action .v107-action-icon,.v107-secondary-action .v107-action-icon,.v107-primary-action .v107-action-label,.v107-secondary-action .v107-action-label,.v107-primary-action b,.v107-secondary-action b{transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .22s ease,color .22s ease,box-shadow .22s ease;will-change:transform}
.v107-home.motion-enabled .motion-reveal .v112-mask{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(14px);transition:clip-path .82s cubic-bezier(.2,.8,.2,1),opacity .52s ease,transform .82s cubic-bezier(.2,.8,.2,1);transition-delay:var(--mask-delay,0s)}
.v107-home.motion-enabled .motion-reveal.is-visible .v112-mask{opacity:1;clip-path:inset(0 0 0 0);transform:none}
.v112-d1{--mask-delay:.02s}.v112-d2{--mask-delay:.11s}.v112-d3{--mask-delay:.19s}.v112-d4{--mask-delay:.26s}
@keyframes v112LetterReveal{0%{opacity:0;transform:translateY(.82em) scale(.97);filter:blur(5px)}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes v112HeartReveal{from{opacity:0;transform:translateY(8px) rotate(-11deg) scale(.92)}to{opacity:1;transform:translateY(-4px) rotate(-8deg) scale(1)}}
@keyframes v112CharacterFloat{0%,100%{transform:translate(calc(var(--v107-px) * .22),calc(var(--v107-py) * .14)) translateY(0px)}50%{transform:translate(calc(var(--v107-px) * .22),calc(var(--v107-py) * .14)) translateY(-8px)}}
@media (prefers-reduced-motion: reduce){#heroName .v112-letter,.v112-heart-reveal,.v112-char-float{animation:none;opacity:1;transform:none;filter:none}.v107-home.motion-enabled .motion-reveal .v112-mask{opacity:1;clip-path:none;transform:none;transition:none}}

/* The retired profile sequence must not lock document scrolling. Modal locks remain scoped to their open classes. */
html,body{margin:0}#page-profile{--sequence-p:1;--complete:0;--v20-id:1;--v20-id-x:0px;--v20-id-y:0px;--v20-id-scale:1;--v20-id-blur:0px;--v20-fact-y:0px;--v20-fact-scale:1;--v20-fact-blur:0px;--v20-char-o:1;--v20-char-x:0px;--v20-char-y:0px;--v20-char-scale:1;--v20-char-blur:0px;--v20-char-sat:100%}#page-profile *{animation:none;transition:none}#page-profile .intro-kicker{opacity:1;transform:none}#page-profile .intro-note{opacity:0}#page-profile .pv189-signature path{stroke-dashoffset:0}#page-profile .character img{transform:none;filter:none;opacity:1}#page-profile .profile-master-sticky{position:relative;top:0}#page-profile .profile-chapter-nav{pointer-events:none}

.collab-lookup-status{min-height:18px;margin-top:6px;font-size:11px;color:#6b5a82}
.collab-lookup-btn:disabled{opacity:.55;cursor:wait}


.v137-logo-home .v137-logo-ink{width:76px;height:56px;object-fit:contain}
.v137-logo-home{height:60px}
@media(max-width:1100px){.v137-logo-home .v137-logo-ink{width:70px;height:52px}}
@media(max-width:760px){.v137-logo-home{height:44px}.v137-logo-home .v137-logo-ink{width:54px;height:40px}}


#page-home .v107-footer{min-height:90px;padding-top:25px;padding-bottom:25px;grid-template-columns:1fr auto;gap:24px;background:#faf8fc;border-top:1px solid rgba(171,151,192,.2)}
#page-home .v107-footer nav{gap:25px;flex-wrap:wrap}
#page-home .v107-footer nav button{font-size:11px;font-weight:500;line-height:1.8;color:#8b7b98}
#page-home .v107-footer nav button:hover{color:#62497b}
#page-home .v107-footer p{font-size:10px;line-height:1.8;color:#a295ac;margin:0}
@media(max-width:620px){#page-home .v107-footer{grid-template-columns:1fr;gap:15px;padding:24px 18px}#page-home .v107-footer nav{justify-content:flex-start;gap:22px}#page-home .v107-footer p{grid-column:auto;text-align:left}}


#page-home :is(.v107-upcoming-section,.v107-vod-section){position:relative;isolation:isolate;padding-block:72px;width:min(1240px,calc(100% - 72px))}
#page-home .v107-upcoming-section::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 24% 0,rgba(220,205,239,.16),transparent 68%),linear-gradient(180deg,rgba(244,239,250,.38),rgba(251,250,252,0) 85%);border-radius:0}
#page-home :is(.v107-upcoming-section,.v107-vod-section) .v107-section-head{padding-bottom:24px;border-bottom:0;gap:20px}
#page-home :is(.v107-upcoming-section,.v107-vod-section) .v107-section-head>div{grid-template-columns:26px auto;column-gap:14px}
#page-home :is(.v107-upcoming-section,.v107-vod-section) .v107-section-no{font:400 18px/1.5 Georgia,serif;color:#ad98bd;align-self:end}
#page-home :is(.v107-upcoming-section,.v107-vod-section) .v107-section-head p{font-size:9px;font-weight:500;letter-spacing:.22em;color:#9785a5;margin-bottom:8px}
#page-home :is(.v107-upcoming-section,.v107-vod-section) .v107-section-head h2{font:500 24px/1.5 'Noto Sans KR',sans-serif;letter-spacing:-.035em;color:#44394f}
#page-home :is(.v107-upcoming-section,.v107-vod-section) .v107-section-head>button{font-size:11px;font-weight:500;color:#897695;white-space:nowrap}
#page-home .v107-upcoming-wrap{display:block;min-height:0;border:1px solid rgba(200,184,216,.24);border-top-color:rgba(255,255,255,.9);border-radius:16px;background:linear-gradient(125deg,rgba(255,255,255,.62),rgba(248,245,253,.38));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 #fff,0 12px 36px rgba(145,122,169,.045);overflow:hidden}
#page-home #homeUpcomingList{padding:8px 30px;gap:0}
#page-home #homeUpcomingList .v132-schedule-row{position:relative;grid-template-columns:96px minmax(0,1fr) 100px;gap:28px;min-height:92px;padding:22px 12px;border-radius:0;background:transparent;border-bottom:1px solid rgba(190,174,206,.2)}
#page-home #homeUpcomingList .v132-schedule-row:last-child{border-bottom:0}
#page-home #homeUpcomingList .v132-schedule-row.is-next::before{content:"";position:absolute;left:-15px;top:29px;bottom:29px;width:2px;background:#b29acb;border-radius:2px}
#page-home #homeUpcomingList .v132-schedule-date{gap:7px}
#page-home #homeUpcomingList .v132-schedule-date strong{font:400 25px/1 Georgia,serif;color:#625170;font-variant-numeric:tabular-nums}
#page-home #homeUpcomingList .v132-schedule-date span{font-size:11px;color:#a092aa}
#page-home #homeUpcomingList .v132-schedule-title{font-size:15px;font-weight:500;color:#4d4158;line-height:1.65}
#page-home #homeUpcomingList .v132-schedule-time{font-size:14px;font-weight:500;color:#8a759c;background:none;border:0;padding:0;border-radius:0}
#page-home #homeUpcomingList .is-next .v132-schedule-time{color:#77578f;font-weight:600}
#page-home #homeUpcomingList .empty-state{padding:48px 12px;font-size:14px;color:#93839f}
#page-home .v107-vod-section{padding-top:28px;padding-bottom:88px}
#page-home .v107-vod-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px;margin-top:8px}
#page-home .v107-vod-source-head{height:auto;margin-bottom:16px;padding:0;border:0}
#page-home .v107-vod-source-head b{font-size:10px;font-weight:500;letter-spacing:.2em;color:#897695;text-transform:uppercase}
#page-home .v107-vod-source-head a{font-size:10px;font-weight:400;color:#9b8aa6}
#page-home .v107-source-dot{display:none}
#page-home .v107-vod-source .home-vod-list{grid-template-columns:minmax(0,1fr);gap:0}
#page-home .v107-vod-source .home-vod-mini:not(:first-child){display:none}
#page-home .v107-vod-source .home-vod-mini,#page-home .v107-vod-source .home-vod-mini:hover{display:block;padding:0;background:none;border:0;box-shadow:none;transform:none;filter:none;transform-style:flat;will-change:auto;transition:none}
#page-home .v107-vod-source .home-vod-mini .thumb{aspect-ratio:16/9;height:auto;border:0;border-radius:12px;box-shadow:none;background:#eee9f3}
#page-home .v107-vod-source .home-vod-mini .thumb::before,#page-home .v107-vod-source .home-vod-mini .thumb::after{display:none;content:none}
#page-home .v107-vod-source .home-vod-mini .thumb img{display:block;transition:transform .6s ease,filter .6s ease;transform:scale(1);filter:none}
#page-home .v107-vod-source .home-vod-mini h4{font-size:16px;font-weight:500;line-height:1.65;margin:19px 0 9px;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:#4d4158;transform:none;transition:none;overflow-wrap:anywhere}
#page-home .v107-vod-source .home-vod-mini p{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:11px;color:#9a8ba5;line-height:1.8}
#page-home .v107-vod-source .home-vod-mini p::after{content:"↗";font-size:19px;color:#9580a6;transition:transform .3s ease}
#page-home .v107-vod-source .home-vod-mini:focus-visible{outline:2px solid #ac91c2;outline-offset:7px;border-radius:12px}
@media(hover:hover){#page-home .v107-vod-source .home-vod-mini:hover .thumb img{transform:scale(1.018);filter:brightness(1.02) contrast(1.01)}#page-home .v107-vod-source .home-vod-mini:hover p::after{transform:translate(2px,-2px)}}
@media(max-width:760px){#page-home :is(.v107-upcoming-section,.v107-vod-section){width:calc(100% - 36px);padding-block:48px}#page-home .v107-vod-section{padding-top:12px}#page-home .v107-vod-layout{grid-template-columns:minmax(0,1fr);gap:36px}#page-home #homeUpcomingList{padding:4px 20px}#page-home #homeUpcomingList .v132-schedule-row{grid-template-columns:70px minmax(0,1fr) 76px;gap:14px;padding:20px 4px}#page-home #homeUpcomingList .v132-schedule-title{font-size:14px}#page-home #homeUpcomingList .v132-schedule-time{font-size:12px}}
@media(max-width:480px){#page-home :is(.v107-upcoming-section,.v107-vod-section) .v107-section-head{gap:10px}#page-home :is(.v107-upcoming-section,.v107-vod-section) .v107-section-head h2{font-size:22px}#page-home :is(.v107-upcoming-section,.v107-vod-section) .v107-section-head>button{font-size:10px}#page-home #homeUpcomingList .v132-schedule-row{grid-template-columns:64px minmax(0,1fr);gap:5px 16px;min-height:96px}#page-home #homeUpcomingList .v132-schedule-date{grid-row:1/3;align-self:center}#page-home #homeUpcomingList .v132-schedule-time{grid-column:2;text-align:left}#page-home #homeUpcomingList .v132-schedule-date strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){#page-home .v107-vod-source .home-vod-mini .thumb img,#page-home .v107-vod-source .home-vod-mini p::after{transition:none;transform:none}}


/* Material-only header update; existing geometry and responsive visibility stay intact. */
body .sidebar{background:linear-gradient(180deg,rgba(255,255,255,.64) 0,rgba(255,255,255,.12) 3%,transparent 35%,rgba(199,182,222,.08) 91%,rgba(255,255,255,.42) 98%,rgba(187,167,209,.16) 100%),linear-gradient(112deg,rgba(255,255,255,.52) 0,rgba(243,235,252,.32) 28%,rgba(255,255,255,.57) 48%,rgba(239,231,249,.35) 76%,rgba(255,255,255,.48) 100%);backdrop-filter:blur(12px) saturate(112%);-webkit-backdrop-filter:blur(12px) saturate(112%);border-bottom:1px solid rgba(180,158,201,.19);box-shadow:inset 0 1px 0 rgba(255,255,255,.88),inset 0 -1px 0 rgba(255,255,255,.53),inset 0 -3px 5px rgba(169,144,193,.055),0 4px 18px rgba(127,102,150,.045)}
body .sidebar .nav button,body .sidebar .nav .nav-link{font-weight:500;letter-spacing:.015em;color:#63576d;background:transparent;box-shadow:none;transition:color .2s ease;transform:none}
body .sidebar .nav button:hover,body .sidebar .nav .nav-link:hover{color:#9071ad;background:transparent;transform:none}
body .sidebar .nav button.active{color:#76538f;font-weight:500}
body .sidebar .nav button.active::after{width:13px;height:1px;bottom:8px;background:#b6a0c8;box-shadow:none;opacity:.9}
body .sidebar .login-pill{background:linear-gradient(125deg,rgba(255,255,255,.23),rgba(244,238,251,.10));color:#816b94;border:0;border-radius:9px;font-weight:500;box-shadow:inset 0 0 0 1px rgba(175,152,198,.17),inset 0 1px 0 rgba(255,255,255,.38);text-decoration:none;transition:background .2s ease,box-shadow .2s ease,color .2s ease;transform:none}
body .sidebar .login-pill:hover{background:rgba(255,255,255,.42);color:#705282;box-shadow:inset 0 0 0 1px rgba(164,135,189,.29),0 2px 8px rgba(131,108,154,.045);transform:none}
body .sidebar .channel-icons{border-left-color:rgba(183,164,200,.12)}
body .sidebar .channel-icons .social-icon{background:linear-gradient(145deg,rgba(255,255,255,.23),rgba(247,242,252,.08));border-color:rgba(185,165,204,.17);box-shadow:inset 0 1px 0 rgba(255,255,255,.7);transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease;transform:none}
body .sidebar .channel-icons .social-icon:hover{transform:translateY(-2px);background:rgba(255,255,255,.48);border-color:rgba(170,141,195,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 4px 10px rgba(132,103,157,.085)}
body .sidebar .channel-label{font-weight:500;color:#9a86aa}
body .sidebar :is(.nav button,.login-pill,.social-icon):focus-visible{outline:2px solid #ad91c1;outline-offset:3px}
@media(max-width:760px){body .sidebar{backdrop-filter:blur(12px) saturate(108%);-webkit-backdrop-filter:blur(12px) saturate(108%)}body .sidebar .login-pill{border-radius:7px}body .sidebar .nav button.active::after{width:12px}}
@media(prefers-reduced-motion:reduce){body .sidebar .nav button,body .sidebar .login-pill,body .sidebar .channel-icons .social-icon{transition:none}body .sidebar .channel-icons .social-icon:hover{transform:none}}


body .sidebar{--nav-pearl:rgba(255,255,255,0);background-image:linear-gradient(var(--nav-pearl),var(--nav-pearl)),linear-gradient(180deg,rgba(255,255,255,.64),rgba(255,255,255,.12) 3%,transparent 35%,rgba(199,182,222,.08) 91%,rgba(255,255,255,.42) 98%,rgba(187,167,209,.16)),linear-gradient(112deg,rgba(255,255,255,.52),rgba(243,235,252,.32) 28%,rgba(255,255,255,.57) 48%,rgba(239,231,249,.35) 76%,rgba(255,255,255,.48));transition:backdrop-filter .22s ease,box-shadow .22s ease}
body .sidebar.nav-pearl-solid{--nav-pearl:rgba(252,250,255,.24);backdrop-filter:blur(16px) saturate(108%);-webkit-backdrop-filter:blur(16px) saturate(108%)}
body .sidebar .nav{min-width:0}
body .sidebar .nav button::after{content:"";position:absolute;left:50%;bottom:8px;width:13px;height:1px;background:#b6a0c8;border-radius:2px;opacity:0;transform:translateX(-50%) scaleX(.55);transition:opacity .2s ease,transform .2s ease;pointer-events:none}
body .sidebar .nav button.active::after{opacity:.9;transform:translateX(-50%) scaleX(1)}
body .sidebar .nav button.active:hover{color:#76538f}
body .sidebar .nav button:active{color:#533f65}
body.admin-mode .sidebar #adminLoginPill{background:linear-gradient(125deg,rgba(255,255,255,.3),rgba(237,227,247,.17));color:#765b8b;box-shadow:inset 0 0 0 1px rgba(163,137,185,.3),inset 0 1px 0 rgba(255,255,255,.45)}
body.admin-mode .sidebar #adminLoginPill:hover{background:rgba(255,255,255,.44);box-shadow:inset 0 0 0 1px rgba(163,137,185,.4)}
body .sidebar .login-pill:active{color:#5c466e}
body .sidebar .channel-icons .main-channel{width:36px;height:36px}
body .sidebar .channel-icons .main-channel .yt-mark{width:18px;height:13px}
body .sidebar .channel-icons .sub-mark{background:rgba(240,233,247,.92);color:#826591;border:1px solid rgba(255,255,255,.85);font-weight:500;box-shadow:0 1px 3px rgba(128,100,152,.06)}
body .sidebar .channel-icons .channel-label{font-size:6px;font-weight:500;letter-spacing:.7px;color:#8f7c9c}
body .sidebar .v137-logo-home{transition:opacity .2s ease}
body .sidebar .v137-logo-home:hover{opacity:.96}
body .sidebar .v137-logo-home:active{opacity:.9}
body .sidebar :is(.nav button,.login-pill,.social-icon,.v137-logo-home):focus-visible{outline:1px solid #9b7cb3;outline-offset:4px}
body .sidebar .channel-icons .social-icon:active{transform:translateY(-1px);background:rgba(255,255,255,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 2px 5px rgba(132,103,157,.06)}
@media(hover:none){body .sidebar .channel-icons .social-icon:hover,body .sidebar .channel-icons .social-icon:active{transform:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}body .sidebar .nav button:not(.active):hover{color:#63576d}body .sidebar .v137-logo-home:hover{opacity:1}}
@media(max-width:1100px){body .sidebar .header-actions{min-width:0}body .sidebar .login-pill{white-space:nowrap}}
@media(max-width:760px){body .sidebar .brand{width:76px;flex-basis:76px}body .sidebar .nav{overflow-x:auto;scrollbar-width:none}body .sidebar .nav::-webkit-scrollbar{display:none}body .sidebar .nav button{flex-shrink:0}body .sidebar .nav button::after{width:12px}body.admin-mode .sidebar #adminLoginPill{max-width:88px;white-space:normal;text-align:center;line-height:1.4;padding:7px 8px;box-sizing:border-box}}
@media(prefers-reduced-motion:reduce){body .sidebar,body .sidebar .nav button::after,body .sidebar .v137-logo-home{transition:none}body .sidebar .channel-icons .social-icon:active{transform:none}}


/* A stable pearl substrate prevents page backgrounds from tinting the header differently. */
body .sidebar,body .sidebar.nav-pearl-solid{background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.12) 5%,transparent 48%,rgba(207,191,224,.13) 91%,rgba(255,255,255,.82) 98%),linear-gradient(112deg,#f9f7fc 0%,#f1edf7 27%,#fcfbfe 51%,#f3eef9 78%,#f8f6fc 100%);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid rgba(169,145,191,.22);box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(255,255,255,.86),inset 0 -3px 5px rgba(165,143,185,.07),0 4px 16px rgba(132,108,156,.065);transition:box-shadow .22s ease}
body .sidebar .channel-icons .social-icon{isolation:isolate;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(248,242,255,.35) 48%,rgba(221,206,239,.3));border:1px solid rgba(183,159,204,.36);box-shadow:inset 0 1px 1px rgba(255,255,255,.98),inset 0 -2px 3px rgba(177,147,202,.17),0 3px 8px rgba(127,98,153,.13),0 7px 14px rgba(156,129,181,.065);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
body .sidebar .channel-icons .social-icon::before{content:"";position:absolute;inset:2px;z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,transparent 12%,rgba(255,255,255,.7) 29%,rgba(255,255,255,.14) 48%,transparent 65%);opacity:.72;transition:opacity .24s ease}
@media(hover:hover){body .sidebar .channel-icons .social-icon:hover{transform:translateY(-2px);background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(248,242,255,.48) 48%,rgba(225,209,241,.32));border-color:rgba(170,140,194,.51);box-shadow:inset 0 1px 1px #fff,inset 0 -2px 3px rgba(177,147,202,.18),0 5px 12px rgba(127,98,153,.17),0 10px 18px rgba(156,129,181,.08)}body .sidebar .channel-icons .social-icon:hover::before{opacity:1}}
body .sidebar .channel-icons .social-icon:active{transform:translateY(0);box-shadow:inset 0 1px 3px rgba(158,131,184,.12),inset 0 -1px 0 rgba(255,255,255,.8),0 2px 6px rgba(127,98,153,.1)}
@media(prefers-reduced-motion:reduce){body .sidebar .channel-icons .social-icon,body .sidebar .channel-icons .social-icon::before{transition:none}body .sidebar .channel-icons .social-icon:hover{transform:none}}


#page-home :is(.v107-upcoming-section,.v107-vod-section) .v107-section-head{margin-bottom:26px;padding-bottom:22px}
#page-home :is(.v107-upcoming-section,.v107-vod-section) .v107-section-head::after{bottom:0;width:100%;height:1px;background:linear-gradient(90deg,rgba(161,127,193,.55),rgba(201,182,218,.32) 45%,rgba(201,182,218,.1));transition:none}
#page-home :is(.v107-upcoming-section,.v107-vod-section) .v107-section-head>div{grid-template-columns:36px auto;column-gap:16px}
#page-home .v165-section-icon{grid-row:1/3;align-self:center;display:grid;place-items:center;width:34px;height:38px;box-sizing:border-box;border-radius:10px;color:#9577ad;border:1px solid rgba(182,160,203,.3);background:linear-gradient(140deg,rgba(255,255,255,.87),rgba(246,239,253,.28) 55%,rgba(222,208,237,.35));box-shadow:inset 0 1px 0 #fff,inset 0 -1px 2px rgba(172,146,194,.13),0 4px 10px rgba(138,108,161,.08);backdrop-filter:blur(6px)}
#page-home .v165-section-icon svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
#page-home .v107-footer{position:relative;min-height:108px;gap:24px;padding-block:30px;background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(247,243,252,.84)),linear-gradient(110deg,#f1eaf8,#fcfbfe 55%,#f2ecf8);border-top:1px solid rgba(182,159,202,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(255,255,255,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
#page-home .v107-footer::before{content:"";position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.96),transparent);pointer-events:none}
#page-home .v107-footer nav{gap:30px;align-items:center}
#page-home .v107-footer nav button{position:relative;color:#82708f;font-size:11px;font-weight:500;letter-spacing:.055em;padding:6px 0;transition:color .2s ease}
#page-home .v107-footer nav button::after{content:"";position:absolute;left:0;bottom:1px;width:12px;height:1px;background:#b79bc9;opacity:0;transition:opacity .2s ease}
#page-home .v107-footer nav button:hover{color:#674e7c}
#page-home .v107-footer nav button:hover::after{opacity:1}
#page-home .v107-footer nav button:focus-visible{outline:1px solid #9e80b4;outline-offset:5px}
#page-home .v107-footer p{font-size:10px;letter-spacing:.12em;color:#a092ab}
@media(max-width:620px){#page-home :is(.v107-upcoming-section,.v107-vod-section) .v107-section-head{margin-bottom:20px;padding-bottom:20px}#page-home :is(.v107-upcoming-section,.v107-vod-section) .v107-section-head>div{grid-template-columns:30px auto;column-gap:12px}#page-home .v165-section-icon{width:29px;height:33px;border-radius:8px}#page-home .v165-section-icon svg{width:18px;height:18px}#page-home .v107-footer{grid-template-columns:1fr;min-height:0;gap:18px;padding:26px 18px}#page-home .v107-footer nav{gap:24px;flex-wrap:wrap}#page-home .v107-footer p{text-align:left}}
@media(prefers-reduced-motion:reduce){#page-home .v107-footer nav button,#page-home .v107-footer nav button::after{transition:none}}


body .sidebar .nav button.active::after{animation:v166-menu-settle .34s cubic-bezier(.2,.7,.2,1) both;background:linear-gradient(90deg,rgba(173,143,196,.5),#ac8ac3,rgba(173,143,196,.5))}
@keyframes v166-menu-settle{from{opacity:.35;transform:translateX(-50%) scaleX(.4)}to{opacity:.9;transform:translateX(-50%) scaleX(1)}}
@media(prefers-reduced-motion:reduce){body .sidebar .nav button.active::after{animation:none}}


body .sidebar .nav button{isolation:isolate}
body .sidebar .nav button::before{content:"";position:absolute;inset:10px 2px;z-index:-1;border-radius:7px;pointer-events:none;opacity:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.12) 36%,rgba(255,255,255,.78) 49%,rgba(239,226,250,.2) 60%,transparent 73%);background-size:240% 100%;background-position:100% 0;box-shadow:inset 0 -1px 0 rgba(176,148,201,.2);filter:blur(.6px)}
body .sidebar .nav button.v167-glass-pass::before{animation:v167-reflection .62s cubic-bezier(.2,.65,.3,1) both}
@keyframes v167-reflection{0%{background-position:100% 0;opacity:0}20%{opacity:.75}65%{opacity:.65}100%{background-position:0% 0;opacity:0}}
#page-home .v107-footer{box-sizing:border-box;width:min(1240px,calc(100% - 72px));margin:0 auto 24px;min-height:72px;padding:16px 26px;grid-template-columns:1fr auto;gap:24px;border:1px solid rgba(184,163,203,.23);border-top-color:rgba(255,255,255,.88);border-radius:12px;background:linear-gradient(115deg,rgba(255,255,255,.76),rgba(255,255,255,.28) 34%,rgba(238,230,248,.3) 65%,rgba(255,255,255,.6));backdrop-filter:blur(12px) saturate(108%);-webkit-backdrop-filter:blur(12px) saturate(108%);box-shadow:inset 0 1px 0 rgba(255,255,255,.94),inset 0 -1px 2px rgba(169,144,192,.12),0 6px 20px rgba(132,108,156,.055)}
#page-home .v107-footer::before{inset:1px;height:auto;border-radius:11px;background:linear-gradient(115deg,transparent 12%,rgba(255,255,255,.35) 33%,transparent 55%);pointer-events:none}
#page-home .v107-footer nav,#page-home .v107-footer p{position:relative;z-index:1}
#page-home .v107-footer nav{gap:26px;flex-wrap:wrap}
#page-home .v107-footer nav button{font-size:11px;letter-spacing:.025em;color:#82728f;padding:5px 0;font-weight:500}
#page-home .v107-footer nav button:hover{color:#674d7e}
#page-home .v107-footer p{margin:0;padding-left:24px;border-left:1px solid rgba(184,163,203,.22);font-size:9px;letter-spacing:.09em;color:#9c8ca7;text-align:right}
@media(max-width:760px){#page-home .v107-footer{width:calc(100% - 36px);padding:16px 20px;margin-bottom:18px;gap:14px;min-height:68px}body .sidebar .nav button::before{inset:10px 0}}
@media(max-width:540px){#page-home .v107-footer{grid-template-columns:1fr;padding:15px 18px;gap:10px}#page-home .v107-footer nav{gap:22px}#page-home .v107-footer p{border-left:0;padding:0;text-align:left;font-size:8px}}
@media(prefers-reduced-motion:reduce){body .sidebar .nav button.v167-glass-pass::before{animation:none;opacity:0}}


#page-admin .ep168-preview{position:relative;width:min(100%,300px);aspect-ratio:1/1.08;overflow:hidden;background:radial-gradient(ellipse,#e5d8ef,#faf8fc 72%);border:1px solid #ded2e8;border-radius:12px;margin:16px auto}
#page-admin .ep168-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform-origin:center}
#page-admin .ep168-controls label{display:flex;justify-content:space-between;margin-top:12px}
#page-admin .ep168-controls input[type=range]{width:100%;accent-color:#a285b6}
#page-admin .ep168-controls output{font-size:12px;color:#816490}


#page-admin #streamStartPreview{display:block;margin-top:8px;color:#866397;font-size:12px}


#page-admin .ep172-cat-admin{margin-top:28px;padding-top:24px;border-top:1px solid #d8cce4}
#page-admin .ep172-cat-admin p{font-size:12px;line-height:1.7;color:#93829e}
#page-admin .ep172-editors{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}
#page-admin .ep172-cat-editor{min-width:0;display:grid;gap:10px;align-content:start}
#page-admin .ep172-cat-editor input{min-width:0;width:100%;box-sizing:border-box}
#page-admin .ep172-preview{aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#eee8f4}
#page-admin .ep172-preview img{width:100%;height:100%;object-fit:cover}
@media(max-width:700px){#page-admin .ep172-editors{grid-template-columns:1fr}}


#page-schedule .v44-day{cursor:default;}
#page-schedule .v44-day[data-empty-day-add]{cursor:pointer;}
#page-schedule .v44-day[data-empty-day-add]:hover{background:rgba(155,110,226,.035);}
#page-schedule .v44-session-start{cursor:default;}
#page-schedule .v44-start[data-broadcast-edit-iso]{cursor:pointer;}
#page-schedule .v44-event{cursor:pointer;}


/* V113 motion polish */
.page.active,.page.active.page-visible{opacity:1;transform:none;will-change:auto;transition:none}
.v107-primary-action,.v107-secondary-action{position:relative;overflow:hidden;isolation:isolate}
.v107-primary-action::after,.v107-secondary-action::after{content:"";position:absolute;top:-20%;bottom:-20%;left:-34%;width:32%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.32),rgba(255,255,255,0));transform:translateX(-150%) skewX(-18deg);transition:transform .72s cubic-bezier(.2,.8,.2,1);pointer-events:none;z-index:0}
.v107-primary-action:hover::after,.v107-secondary-action:hover::after,.v107-primary-action:focus-visible::after,.v107-secondary-action:focus-visible::after{transform:translateX(560%) skewX(-18deg)}
.v107-primary-action > *, .v107-secondary-action > *{position:relative;z-index:1}
.v107-primary-action:active,.v107-secondary-action:active{transform:translateY(-1px) scale(.988)}
.v107-live-float{animation:v113LiveBreath 5.2s ease-in-out infinite}
.v107-stage-dot.dot-a{animation:v113DotFloatA 7s ease-in-out infinite}
.v107-stage-dot.dot-b{animation:v113DotFloatB 6.2s ease-in-out infinite}
.v107-stage-dot.dot-c{animation:v113DotFloatC 7.6s ease-in-out infinite}
.v107-home.motion-enabled .motion-reveal .v107-upcoming-wrap,.v107-home.motion-enabled .motion-reveal .v107-vod-layout{opacity:0;transform:translateY(18px);transition:opacity .52s ease,transform .72s cubic-bezier(.2,.8,.2,1);transition-delay:.16s}
.v107-home.motion-enabled .motion-reveal.is-visible .v107-upcoming-wrap,.v107-home.motion-enabled .motion-reveal.is-visible .v107-vod-layout{opacity:1;transform:none}
@keyframes v113LiveBreath{0%,100%{transform:translate(calc(var(--v107-px) * -.08),calc(var(--v107-py) * -.08)) translateY(0)}50%{transform:translate(calc(var(--v107-px) * -.08),calc(var(--v107-py) * -.08)) translateY(-4px)}}
@keyframes v113DotFloatA{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes v113DotFloatB{0%,100%{transform:translateY(0)}50%{transform:translate(4px,-6px)}}
@keyframes v113DotFloatC{0%,100%{transform:translateY(0)}50%{transform:translate(-4px,-8px)}}
@media(max-width:860px){
  .v107-live-float{animation-duration:5.8s}
}
@media(max-width:620px){
  .v107-actions{display:grid;grid-template-columns:1fr;max-width:290px;width:100%;gap:10px}
  .v107-primary-action,.v107-secondary-action{width:100%;min-width:0;justify-content:flex-start}
  .v107-bio{max-width:100%}
}
@media (hover:none){
  .v107-primary-action:hover,.v107-secondary-action:hover{transform:none;box-shadow:0 12px 24px rgba(37,24,46,.12)}
  .v107-primary-action::after,.v107-secondary-action::after{display:none}
}
@media (prefers-reduced-motion:reduce){
  .page.active.page-visible{transition:none}
  .v107-live-float,.v107-stage-dot.dot-a,.v107-stage-dot.dot-b,.v107-stage-dot.dot-c{animation:none}
  .v107-home.motion-enabled .motion-reveal .v107-upcoming-wrap,.v107-home.motion-enabled .motion-reveal .v107-vod-layout{opacity:1;transform:none;transition:none}
}


#page-admin .ep168-preview{aspect-ratio:4/5}
#page-admin .ep168-preview img{padding:16px 12px 0;box-sizing:border-box;object-position:center}


#page-profile{
  --story-p:0;
  --sequence-p:0;
  --complete:0;
  --transition-p:0;
  --ink:#4d4158;
  --ink-strong:#2b2140;
  --muted:#756985;
  --lav:#9b78b4;
  --lav-soft:#bba5ca;
  --pearl:#fcfafd;
  --edge:rgba(167,138,188,.44);
}
#page-profile *{box-sizing:border-box}
#page-profile{
  margin:0;
  min-height:100%;
  overflow-x:hidden;
  overflow-y:auto;
  color:var(--ink);
  background:#faf7fc;
  font-family:"Noto Sans KR",sans-serif;
}
#page-profile button,#page-profile input{font:inherit}
#page-profile .profile-story{position:relative;height:100svh;min-height:650px}
#page-profile .profile-stage{
  position:relative;
  height:100%;
  min-height:650px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(ellipse at 72% 38%,rgba(226,212,238,.55),transparent 28%),
    radial-gradient(ellipse at 26% 16%,rgba(255,255,255,.98),transparent 38%),
    linear-gradient(118deg,#fefcfe 0%,#faf7fc 54%,#f1e8f8 100%);
}
#page-profile .optical-field{
  position:absolute;
  z-index:1;
  width:min(73vw,1060px);
  height:min(84vh,840px);
  left:56%;
  top:48%;
  transform:translate(-50%,-50%) rotate(-5deg) scale(calc(.96 + var(--sequence-p) * .028));
  border-radius:49% 51% 47% 53% / 43% 52% 48% 57%;
  background:
    linear-gradient(116deg,rgba(255,255,255,.08),rgba(255,255,255,.42) 48%,rgba(235,226,246,.15) 74%,rgba(255,255,255,.05)),
    radial-gradient(circle at 61% 31%,rgba(255,255,255,.84),rgba(238,226,247,.28) 38%,rgba(211,191,228,.10) 68%,transparent 76%);
  box-shadow:
    inset 1px 0 0 rgba(255,255,255,.60),
    inset -1px 0 0 rgba(173,146,194,.10),
    inset 0 1px 0 rgba(255,255,255,.82);
  opacity:.76;
  filter:saturate(104%);
  pointer-events:none;
}
#page-profile .optical-field::before{
  content:"";
  position:absolute;
  inset:6% 9%;
  border-radius:inherit;
  background:radial-gradient(ellipse at 55% 42%,rgba(255,255,255,.36),transparent 58%);
  filter:blur(18px);
}
#page-profile .optical-sweep{
  position:absolute;
  z-index:2;
  inset:-18%;
  pointer-events:none;
  background:linear-gradient(112deg,transparent 39%,rgba(255,255,255,.04) 43%,rgba(255,255,255,.78) 49%,rgba(255,255,255,.22) 55%,transparent 62%);
  filter:blur(28px);
  opacity:calc(max(0, (var(--complete) - .12) * 1.15));
  transform:translateX(calc(-118% + var(--complete) * 210%)) rotate(-3deg);
}
#page-profile .ambient-a,#page-profile .ambient-b{position:absolute;z-index:0;pointer-events:none;border-radius:50%;filter:blur(12px)}
#page-profile .ambient-a{
  width:min(62vw,900px);aspect-ratio:1;left:52%;top:47%;
  transform:translate(-50%,-50%) translateX(calc(var(--sequence-p) * 22px));
  background:radial-gradient(circle,rgba(255,255,255,.98),rgba(235,222,245,.54) 37%,rgba(208,184,226,.13) 61%,transparent 73%);
  opacity:.92;
}
#page-profile .ambient-b{
  width:34vw;aspect-ratio:1;right:-7vw;top:6vh;
  background:radial-gradient(circle,rgba(216,195,232,.20),transparent 68%);
  opacity:.72;
}
#page-profile .botanical-shadow{
  position:absolute;
  z-index:1;
  left:-6vw;
  top:12vh;
  width:min(50vw,760px);
  height:min(72vh,720px);
  opacity:.16;
  filter:blur(22px);
  transform-origin:18% 82%;
  animation:pv21-shadowSway 13s ease-in-out infinite alternate;
  pointer-events:none;
}
#page-profile .botanical-shadow::before,#page-profile .botanical-shadow::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 18% 8% at 22% 72%,rgba(118,91,136,.24) 0 56%,transparent 60%),
    radial-gradient(ellipse 16% 7% at 31% 58%,rgba(118,91,136,.20) 0 56%,transparent 60%),
    radial-gradient(ellipse 19% 8% at 39% 42%,rgba(118,91,136,.17) 0 56%,transparent 60%),
    radial-gradient(ellipse 15% 7% at 46% 28%,rgba(118,91,136,.13) 0 56%,transparent 60%),
    linear-gradient(64deg,transparent 46%,rgba(118,91,136,.15) 48% 49%,transparent 51%);
}
#page-profile .botanical-shadow::after{
  transform:scaleX(-1) translateX(-8%) rotate(-8deg);
  opacity:.64;
}
#page-profile .petal-field{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:hidden}
#page-profile .petal{
  --w:18px;--h:30px;--rot:0deg;--delay:0s;--dur:12s;
  position:absolute;
  width:var(--w);height:var(--h);
  border-radius:70% 28% 66% 34% / 70% 34% 66% 30%;
  background:
    linear-gradient(145deg,rgba(255,255,255,.90),rgba(236,220,246,.42) 50%,rgba(169,132,191,.20));
  border:1px solid rgba(255,255,255,.58);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset -3px -4px 9px rgba(151,115,175,.08),
    0 8px 24px rgba(119,89,139,.08);
  opacity:.58;
  backdrop-filter:blur(1.3px) saturate(112%);
  -webkit-backdrop-filter:blur(1.3px) saturate(112%);
  transform:rotate(var(--rot));
  animation:pv21-petalDrift var(--dur) var(--delay) ease-in-out infinite alternate;
}
#page-profile .petal::before{
  content:"";position:absolute;inset:2px 3px 38% 38%;border-radius:inherit;
  background:linear-gradient(150deg,rgba(255,255,255,.92),transparent);
  filter:blur(.2px);opacity:.70;
}
#page-profile .petal:nth-child(1){left:46%;top:14%;--w:16px;--h:27px;--rot:26deg;--delay:-1.8s;--dur:12.8s}
#page-profile .petal:nth-child(2){left:72%;top:22%;--w:13px;--h:23px;--rot:-18deg;--delay:-6.2s;--dur:14.6s;opacity:.45}
#page-profile .petal:nth-child(3){left:36%;top:57%;--w:19px;--h:32px;--rot:42deg;--delay:-8.4s;--dur:15.4s}
#page-profile .petal:nth-child(4){left:82%;top:61%;--w:12px;--h:22px;--rot:-36deg;--delay:-3.5s;--dur:13.7s;opacity:.40}
#page-profile .petal:nth-child(5){left:61%;top:78%;--w:15px;--h:26px;--rot:12deg;--delay:-10.2s;--dur:16.2s;opacity:.50}
#page-profile .etched-word{
  position:absolute;z-index:1;left:50%;bottom:-5.4vw;transform:translateX(-50%);
  white-space:nowrap;pointer-events:none;
  font:400 clamp(110px,18vw,300px)/.9 Georgia,"Times New Roman",serif;
  letter-spacing:-.075em;color:rgba(124,89,147,.024);
  text-shadow:0 -1px 0 rgba(255,255,255,.50),0 1px 0 rgba(121,90,143,.035);
}
#page-profile .etched-word::after{
  content:"DANCHU";position:absolute;inset:0;
  color:transparent;
  background:linear-gradient(104deg,transparent 32%,rgba(255,255,255,.04) 40%,rgba(184,151,204,.18) 48%,rgba(255,255,255,.46) 52%,rgba(184,151,204,.13) 58%,transparent 68%);
  background-size:250% 100%;background-position:150% 0;
  -webkit-background-clip:text;background-clip:text;
  opacity:.72;filter:blur(.15px);
  animation:pv21-etchedReveal 11.5s ease-in-out infinite;
}
#page-profile .completion-refraction{
  position:absolute;z-index:12;inset:-14% -25%;pointer-events:none;
  opacity:calc(max(0,(var(--complete) - .34) * 1.5));
  transform:translateX(calc(-70% + var(--complete) * 116%)) rotate(-5deg);
  background:linear-gradient(104deg,transparent 38%,rgba(255,255,255,.08) 43%,rgba(255,255,255,.62) 49%,rgba(214,193,232,.16) 55%,transparent 62%);
  filter:blur(17px);mix-blend-mode:screen;
}
#page-profile .completion-refraction::after{
  content:"";position:absolute;left:43%;top:16%;width:15%;height:68%;
  border-radius:50%;
  border-left:1px solid rgba(255,255,255,.55);
  border-right:1px solid rgba(171,139,191,.10);
  backdrop-filter:blur(2px) saturate(116%);
  -webkit-backdrop-filter:blur(2px) saturate(116%);
}
#page-profile .intro{
  position:absolute;
  z-index:8;
  left:clamp(34px,7.2vw,126px);
  top:clamp(92px,14.5vh,154px);
  width:min(31vw,440px);
  transform:translate3d(calc(var(--sequence-p) * -10px),calc(var(--sequence-p) * -18px),0);
}
#page-profile .intro-kicker{
  margin:0 0 18px;
  font-size:9px;
  font-weight:600;
  letter-spacing:.27em;
  color:#7f60a8;
  opacity:0;
  transform:translateY(7px);
  animation:pv21-introIn .75s .10s ease forwards;
}
#page-profile .name-wrap{position:relative;display:inline-block;max-width:100%}
#page-profile .profile-name{
  margin:0;
  font-size:clamp(58px,7.3vw,114px);
  line-height:.95;
  font-weight:330;
  letter-spacing:-.075em;
  color:#2b2140;
  clip-path:inset(0 100% 0 0);
  animation:pv21-nameWrite 1.05s .32s cubic-bezier(.18,.76,.18,1) forwards;
}
#page-profile .name-wrap::after{
  content:"";
  position:absolute;
  left:1px;
  bottom:-11px;
  width:min(105%,290px);
  height:1px;
  background:linear-gradient(90deg,rgba(150,116,170,.76),rgba(150,116,170,0));
  transform:scaleX(0);
  transform-origin:left center;
  animation:pv21-underline .72s 1.02s ease forwards;
}
#page-profile .english-name{
  display:block;
  margin-top:26px;
  font-size:10px;
  letter-spacing:.40em;
  color:#756985;
  opacity:0;
  transform:translateY(7px);
  animation:pv21-introIn .65s 1.12s ease forwards;
}
#page-profile .intro-note{
  margin:26px 0 0;
  max-width:300px;
  font-size:10px;
  line-height:1.95;
  letter-spacing:.01em;
  color:#756985;
  opacity:calc(max(0,1 - var(--sequence-p) * 3.5));
}
#page-profile .character{
  position:absolute;
  z-index:5;
  left:58%;
  bottom:-1.5vh;
  width:min(42vw,610px);
  height:90vh;
  min-height:565px;
  transform:
    translate3d(calc(-50% - var(--sequence-p) * 1.7vw),calc(var(--sequence-p) * 2px),0)
    scale(calc(1 - var(--sequence-p) * .022));
  transform-origin:50% 100%;
}
#page-profile .character::before{
  content:"";
  position:absolute;
  inset:11% 0 2%;
  border-radius:51% 49% 46% 54% / 44% 50% 50% 56%;
  background:radial-gradient(circle at 49% 34%,rgba(255,255,255,.96),rgba(227,212,240,.44) 47%,rgba(206,184,225,.08) 70%,transparent 78%);
  opacity:.90;
  filter:blur(1px);
}
#page-profile .character::after{
  content:"";
  position:absolute;
  left:21%;right:21%;bottom:4%;height:6%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(126,92,147,.10),transparent 70%);
  filter:blur(10px);
}
#page-profile .character img{
  position:absolute;
  z-index:2;
  inset:0;
  width:100%;height:100%;
  object-fit:contain;
  object-position:center bottom;
  opacity:0;
  filter:blur(11px);
  transform:translateY(18px) scale(1.026);
  animation:pv21-portraitIn 1.18s .16s cubic-bezier(.18,.8,.2,1) forwards;
}
#page-profile .character-placeholder{
  position:absolute;
  z-index:1;
  inset:8% 8% 0;
  display:grid;
  place-items:center;
  text-align:center;
  border-radius:49% 51% 18% 18% / 40% 42% 12% 12%;
  border:1px solid rgba(170,143,189,.24);
  background:linear-gradient(150deg,rgba(255,255,255,.67),rgba(232,219,243,.38));
  color:#aa97b4;
  font-size:9px;
  letter-spacing:.19em;
  line-height:1.9;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86);
}
#page-profile .character.has-image .character-placeholder{display:none}
#page-profile .identity-caption{
  position:absolute;
  z-index:7;
  left:clamp(34px,7.2vw,126px);
  bottom:clamp(34px,7vh,72px);
  font-size:8px;
  letter-spacing:.25em;
  color:#af9ab8;
  opacity:calc(min(1,max(0,(var(--sequence-p) - .16) * 5.5)));
  pointer-events:none;
}
#page-profile .fact{
  position:absolute;
  z-index:9;
  width:clamp(158px,16vw,244px);
  pointer-events:none;
}
#page-profile .fact.right{text-align:right}
#page-profile .fact-label,#page-profile .fact-value{
  display:block;
  transform:translateY(calc((1 - var(--label-r,0)) * 9px));
  filter:blur(calc((1 - var(--label-r,0)) * 4px));
}
#page-profile .fact-label{
  margin-bottom:8px;
  font-size:8px;
  font-weight:650;
  letter-spacing:.20em;
  color:#756985;
  opacity:var(--label-r,0);
}
#page-profile .fact-value{
  font-size:clamp(19px,1.72vw,27px);
  line-height:1.2;
  font-weight:440;
  letter-spacing:-.028em;
  color:#4d4158;
  opacity:var(--value-r,0);
  transform:translateY(calc((1 - var(--value-r,0)) * 11px));
  filter:blur(calc((1 - var(--value-r,0)) * 4px));
}
#page-profile .fact-fanname .fact-value{color:#4d4158}
#page-profile .fact-trace{
  position:absolute;
  top:4px;
  width:clamp(54px,6.3vw,98px);
  height:1px;
  transform:scaleX(var(--line-r,0));
  background:linear-gradient(90deg,rgba(175,148,194,0),rgba(165,135,184,.66));
  box-shadow:0 0 8px rgba(167,137,186,.08);
}
#page-profile .fact-trace::after{
  content:"";
  position:absolute;
  top:50%;right:-1px;
  width:4px;height:4px;
  transform:translate(50%,-50%) scale(var(--line-r,0));
  border-radius:50%;
  background:#a682b8;
  box-shadow:0 0 0 4px rgba(164,128,185,.07);
}
#page-profile .fact-trace::before{
  content:"";
  position:absolute;
  right:-14px;top:50%;
  width:26px;height:26px;
  transform:translate(50%,-50%) scale(calc(.25 + var(--bloom-r,0) * .95));
  opacity:calc(var(--bloom-r,0) * .78);
  background:
    radial-gradient(ellipse 18% 36% at 50% 18%,rgba(255,255,255,.94),rgba(206,178,224,.20) 62%,transparent 68%),
    radial-gradient(ellipse 18% 36% at 82% 50%,rgba(255,255,255,.82),rgba(206,178,224,.18) 62%,transparent 68%),
    radial-gradient(ellipse 18% 36% at 50% 82%,rgba(255,255,255,.78),rgba(206,178,224,.16) 62%,transparent 68%),
    radial-gradient(ellipse 18% 36% at 18% 50%,rgba(255,255,255,.86),rgba(206,178,224,.18) 62%,transparent 68%);
  filter:blur(.8px);
  mix-blend-mode:screen;
}
#page-profile .fact.left .fact-trace{left:calc(100% + 13px);transform-origin:right center}
#page-profile .fact.right .fact-trace{
  right:calc(100% + 13px);
  transform-origin:left center;
  background:linear-gradient(90deg,rgba(165,135,184,.66),rgba(175,148,194,0));
}
#page-profile .fact.right .fact-trace::after{left:-1px;right:auto;transform:translate(-50%,-50%) scale(var(--line-r,0))}
#page-profile .fact.right .fact-trace::before{left:-14px;right:auto;transform:translate(-50%,-50%) scale(calc(.25 + var(--bloom-r,0) * .95))}
#page-profile .fact-birth{left:clamp(36px,8.4vw,146px);top:34%}
#page-profile .fact-height{right:clamp(36px,7.5vw,132px);top:25%}
#page-profile .fact-mbti{right:clamp(28px,5.2vw,88px);top:48%}
#page-profile .fact-stream{right:clamp(42px,8.6vw,152px);top:68%}
#page-profile .fact-fanname{left:clamp(40px,7.6vw,132px);top:69%}
#page-profile .complete-mark{
  position:absolute;
  z-index:10;
  left:50%;
  bottom:clamp(24px,4vh,44px);
  transform:translate(-50%,calc((1 - var(--complete,0)) * 10px));
  opacity:var(--complete,0);
  text-align:center;
  color:#ad99b7;
  font-size:7px;
  letter-spacing:.27em;
  pointer-events:none;
}
#page-profile .complete-mark i{display:block;width:56px;height:1px;margin:9px auto 0;background:linear-gradient(90deg,transparent,#b79cc6,transparent)}
#page-profile .scroll-cue{
  position:absolute;
  z-index:10;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  font-size:7px;
  letter-spacing:.24em;
  color:#ad9ab6;
  opacity:calc(var(--complete) * .92);
  pointer-events:none;
}
#page-profile .scroll-cue::after{content:"";width:1px;height:28px;background:linear-gradient(#b59fc4,transparent);animation:pv21-cue 1.75s ease-in-out infinite}
#page-profile .loader{
  position:fixed;
  right:18px;bottom:18px;z-index:30;
  display:none;align-items:center;gap:8px;
  padding:9px 12px;
  border:1px solid rgba(174,147,191,.32);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#846f8f;
  box-shadow:0 8px 28px rgba(106,84,123,.08),inset 0 1px 0 #fff;
  backdrop-filter:blur(14px);
  cursor:pointer;
  font-size:10px;
}
#page-profile .loader:hover{background:rgba(255,255,255,.92)}
#page-profile .loader input{display:none}
#page-profile .loader.show{display:flex}
#page-profile .morph-transition{
  --vel:0;
  position:fixed;inset:0;z-index:80;width:100%;height:100svh;
  pointer-events:none;overflow:hidden;isolation:isolate;
  visibility:hidden;opacity:0;background:transparent;
}
#page-profile .morph-transition.play{visibility:visible;opacity:1}
#page-profile .morph-next{position:absolute;inset:0;z-index:2;opacity:0}
#page-profile .morph-next .companions-stage{
  height:100svh;min-height:100%;background:transparent;
}
#page-profile .morph-next .ending-stage{
  height:100svh;min-height:100%;background:transparent;
}
#page-profile .morph-next .companions-heading,#page-profile .morph-next .companion,#page-profile .morph-next .companion-host,#page-profile .morph-next .companions-complete{animation:none}
#page-profile .morph-next .ending-heading,#page-profile .morph-next .ending-host,#page-profile .morph-next .lyrics-wrap,#page-profile .morph-next .ending-complete{animation:none}
#page-profile .morph-next .companions-heading{opacity:0;transform:translate3d(0,18px,0)}
#page-profile .morph-next .companion{opacity:0;transform:translate3d(0,30px,0) scale(.965)}
#page-profile .morph-next .companion-host{opacity:0;filter:blur(8px);transform:translateX(-50%) translateY(14px) scale(.92)}
#page-profile .morph-next .companions-complete{opacity:0;transform:translate3d(0,10px,0)}
#page-profile .morph-next .companion-photo{transform:scale(1.02);filter:drop-shadow(0 18px 28px rgba(104,79,121,.07))}
#page-profile .morph-transition.play .morph-next{animation:pv21-morphNextBase 1.22s .18s cubic-bezier(.18,.72,.22,1) both}
#page-profile .morph-transition.play .morph-next .companions-heading{animation:pv21-morphHeadingIn .72s .34s cubic-bezier(.18,.76,.22,1) both}
#page-profile .morph-transition.play .morph-next .companion-one{animation:pv21-morphCompanionIn .84s .42s cubic-bezier(.18,.76,.22,1) both}
#page-profile .morph-transition.play .morph-next .companion-two{animation:pv21-morphCompanionIn .86s .56s cubic-bezier(.18,.76,.22,1) both}
#page-profile .morph-transition.play .morph-next .companion-host{animation:pv21-morphHostIn .84s .28s cubic-bezier(.18,.76,.22,1) both}
#page-profile .morph-transition.play .morph-next .companions-complete{animation:pv21-morphCompleteIn .58s .82s ease both}
#page-profile .morph-transition.play .morph-next .companion-photo{animation:pv21-morphPhotoSettle .90s .38s cubic-bezier(.16,.78,.20,1) both}
#page-profile .morph-next .ending-heading{opacity:0;transform:translate3d(0,18px,0);filter:blur(5px)}
#page-profile .morph-next .ending-host{opacity:0;filter:blur(8px);transform:translateX(-50%) translateY(14px) scale(.92)}
#page-profile .morph-next .lyrics-wrap{opacity:0;transform:translate3d(18px,22px,0);filter:blur(6px)}
#page-profile .morph-next .ending-complete{opacity:0;transform:translate3d(0,10px,0)}
#page-profile .morph-transition.play .morph-next .ending-heading{animation:pv21-morphHeadingIn .72s .30s cubic-bezier(.18,.76,.22,1) both}
#page-profile .morph-transition.play .morph-next .ending-host{animation:pv21-morphHostIn .84s .24s cubic-bezier(.18,.76,.22,1) both}
#page-profile .morph-transition.play .morph-next .lyrics-wrap{animation:pv21-morphLyricsIn .88s .44s cubic-bezier(.18,.76,.22,1) both}
#page-profile .morph-transition.play .morph-next .ending-complete{animation:pv21-morphCompleteIn .58s .84s ease both}
#page-profile .velocity-glass{
  position:absolute;z-index:5;inset:-8% -12%;opacity:0;
  background:
    linear-gradient(104deg,transparent 31%,rgba(255,255,255,.05) 39%,rgba(255,255,255,.36) 49%,rgba(228,213,240,.08) 58%,transparent 68%);
  filter:blur(calc(12px + var(--vel) * 10px));
  transform:translate3d(0,calc(var(--vel) * -7px),0) skewY(calc(var(--vel) * -.18deg));
  backdrop-filter:blur(calc(var(--vel) * 2.8px)) saturate(calc(100% + var(--vel) * 8%));
  -webkit-backdrop-filter:blur(calc(var(--vel) * 2.8px)) saturate(calc(100% + var(--vel) * 8%));
  transition:opacity .18s ease;
}
#page-profile .morph-transition.play .velocity-glass{opacity:calc(.08 + var(--vel) * .30)}
#page-profile .velocity-glass::after{
  content:'';position:absolute;left:38%;top:-12%;width:20%;height:124%;
  border-radius:50%;border-left:1px solid rgba(255,255,255,.42);
  border-right:1px solid rgba(171,139,191,.06);opacity:calc(.18 + var(--vel) * .36);
  transform:rotate(-7deg) translateX(calc(var(--vel) * 9px));
}
#page-profile .profile-stage.scene-exit .intro{
  opacity:0;filter:blur(5px);transform:translate3d(-18px,-10px,0) scale(.985);
  transition:opacity .48s ease,filter .56s ease,transform .62s cubic-bezier(.2,.75,.22,1);
}
#page-profile .profile-stage.scene-exit .fact{
  opacity:0;filter:blur(4px);transform:translate3d(0,-7px,0) scale(.985);
  transition:opacity .38s ease,filter .48s ease,transform .56s cubic-bezier(.2,.75,.22,1);
}
#page-profile .profile-stage.scene-exit .fact:nth-of-type(2){transition-delay:.02s}
#page-profile .profile-stage.scene-exit .fact:nth-of-type(3){transition-delay:.04s}
#page-profile .profile-stage.scene-exit .fact:nth-of-type(4){transition-delay:.06s}
#page-profile .profile-stage.scene-exit .fact:nth-of-type(5){transition-delay:.08s}
#page-profile .profile-stage.scene-exit .fact:nth-of-type(6){transition-delay:.10s}
#page-profile .profile-stage.scene-exit .fact-trace{transform:scaleX(0);opacity:0;transition:transform .34s ease,opacity .28s ease}
#page-profile .profile-stage.scene-exit .character{
  transform:translate3d(22px,10px,0) scale(.955);
  filter:blur(2.2px) saturate(.96);opacity:.42;
  transition:transform .86s cubic-bezier(.18,.78,.22,1),filter .72s ease,opacity .66s ease;
}
#page-profile .profile-stage.scene-exit .complete-mark,#page-profile .profile-stage.scene-exit .scroll-cue{opacity:0;transition:opacity .28s ease}
#page-profile .profile-stage.scene-exit .optical-field{transform:translate(-48%,-50%) rotate(-3deg) scale(1.025);opacity:.64;transition:transform .95s cubic-bezier(.18,.72,.22,1),opacity .7s ease}
#page-profile .profile-stage.scene-exit .etched-word{opacity:.35;transform:translateX(-50%) translateY(10px);transition:opacity .6s ease,transform .8s ease}
#page-profile .companions-stage.scene-exit .companions-heading{
  opacity:0;filter:blur(5px);transform:translate3d(-18px,-10px,0) scale(.985);
  transition:opacity .46s ease,filter .54s ease,transform .60s cubic-bezier(.2,.75,.22,1);
}
#page-profile .companions-stage.scene-exit .companion{
  opacity:0;filter:blur(5px);transform:translate3d(0,-10px,0) scale(.972);
  transition:opacity .42s ease,filter .52s ease,transform .62s cubic-bezier(.2,.75,.22,1);
}
#page-profile .companions-stage.scene-exit .companion-one{transition-delay:.03s}
#page-profile .companions-stage.scene-exit .companion-two{transition-delay:.08s}
#page-profile .companions-stage.scene-exit .companion-host{
  opacity:.26;filter:blur(3px);transform:translateX(-50%) translateY(10px) scale(.94);
  transition:opacity .58s ease,filter .62s ease,transform .78s cubic-bezier(.18,.78,.22,1);
}
#page-profile .companions-stage.scene-exit .companions-complete,#page-profile .companions-stage.scene-exit .companion-data-caption{opacity:0;transition:opacity .28s ease}
#page-profile .companions-stage.scene-exit .companion-optical-field{transform:translate(-49%,-50%) rotate(-3deg) scale(1.02);opacity:.68;transition:transform .92s cubic-bezier(.18,.72,.22,1),opacity .68s ease}
#page-profile .companions-stage.scene-exit .companion-etched{opacity:.35;transform:translateX(-50%) translateY(10px);transition:opacity .6s ease,transform .8s ease}
@keyframes pv21-morphNextBase{0%{opacity:0}28%{opacity:.08}100%{opacity:1}}
@keyframes pv21-morphHeadingIn{0%{opacity:0;transform:translate3d(0,18px,0);filter:blur(5px)}100%{opacity:1;transform:none;filter:none}}
@keyframes pv21-morphCompanionIn{0%{opacity:0;transform:translate3d(0,30px,0) scale(.965);filter:blur(8px)}100%{opacity:1;transform:none;filter:none}}
@keyframes pv21-morphCompleteIn{0%{opacity:0;transform:translate3d(0,10px,0)}100%{opacity:.78;transform:none}}
@keyframes pv21-morphHostIn{0%{opacity:0;filter:blur(8px);transform:translateX(-50%) translateY(14px) scale(.92)}100%{opacity:1;filter:blur(0);transform:translateX(-50%) scale(.96)}}
@keyframes pv21-morphPhotoSettle{0%{transform:scale(1.02)}100%{transform:scale(1)}}
@keyframes pv21-morphLyricsIn{0%{opacity:0;transform:translate3d(18px,22px,0);filter:blur(6px)}100%{opacity:1;transform:none;filter:none}}
#page-profile .shared-album-morph{
  position:absolute;z-index:7;left:var(--album-sx,10vw);top:var(--album-sy,42vh);
  width:var(--album-sw,280px);height:var(--album-sh,330px);
  opacity:0;visibility:hidden;pointer-events:none;overflow:visible;
  transform-origin:center center;
}
#page-profile .morph-transition.to-ending .shared-album-morph{visibility:visible}
#page-profile .morph-transition.to-ending.play .shared-album-morph{animation:pv21-sharedAlbumMove 1.24s .05s cubic-bezier(.18,.78,.2,1) both}
#page-profile .shared-album-shell{position:absolute;inset:0;isolation:isolate;filter:drop-shadow(0 24px 46px rgba(92,70,108,.10))}
#page-profile .shared-source-photo{
  position:absolute;inset:0;z-index:4;width:100%;height:100%;object-fit:cover;
  clip-path:polygon(12% 1%,88% 3%,98% 16%,96% 83%,83% 98%,16% 96%,3% 82%,2% 16%);
  opacity:0;
}
#page-profile .shared-album-morph.has-source .shared-source-photo{opacity:1}
#page-profile .morph-transition.to-ending.play .shared-source-photo{animation:pv21-sourcePhotoToAlbum .82s .05s ease both}
#page-profile .shared-sleeve-face{
  position:absolute;inset:0;z-index:3;overflow:hidden;border-radius:6%;opacity:0;
  background:
    radial-gradient(circle at 28% 22%,rgba(255,255,255,.98),transparent 28%),
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(238,228,246,.88) 58%,rgba(224,207,238,.78));
  border:1px solid rgba(255,255,255,.86);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset -1px 0 0 rgba(170,141,190,.10);
}
#page-profile .shared-sleeve-face::before{
  content:'DANCHU';position:absolute;left:10%;bottom:10%;font:400 clamp(20px,2.2vw,34px)/1 Georgia,'Times New Roman',serif;
  letter-spacing:-.05em;color:rgba(100,74,114,.56)
}
#page-profile .shared-sleeve-face::after{
  content:'';position:absolute;left:10%;top:12%;width:35%;height:1px;
  background:linear-gradient(90deg,rgba(151,119,171,.62),transparent)
}
#page-profile .morph-transition.to-ending.play .shared-sleeve-face{animation:pv21-sleeveMaterialize .92s .18s ease both}
#page-profile .shared-cd-carriage{position:absolute;z-index:2;right:-30%;top:50%;width:82%;aspect-ratio:1;transform:translateY(-50%) translateX(-38%);opacity:0}
#page-profile .shared-cd-disc{position:absolute;inset:0;border-radius:50%;animation:pv21-cdSpin 12s linear infinite;background:
  radial-gradient(circle at center,transparent 0 7.3%,rgba(255,255,255,.95) 7.7% 9.1%,transparent 9.5% 17%,rgba(255,255,255,.24) 17.4% 18%,transparent 18.4%),
  repeating-conic-gradient(from 0deg,rgba(255,255,255,.54) 0 5deg,rgba(223,211,232,.32) 5deg 11deg,rgba(255,255,255,.64) 11deg 16deg,rgba(208,192,220,.24) 16deg 22deg),
  radial-gradient(circle at 34% 28%,rgba(255,255,255,.96),rgba(229,217,237,.82) 40%,rgba(198,181,210,.38) 72%,rgba(255,255,255,.74));
  border:1px solid rgba(255,255,255,.84);box-shadow:inset 0 0 18px rgba(255,255,255,.52),0 12px 32px rgba(106,82,121,.12)
}
#page-profile .shared-cd-disc::after{content:'';position:absolute;inset:0;border-radius:50%;background:linear-gradient(108deg,transparent 24%,rgba(255,255,255,.58) 43%,rgba(205,187,217,.10) 55%,transparent 72%);mix-blend-mode:screen;opacity:.7}
#page-profile .morph-transition.to-ending.play .shared-cd-carriage{animation:pv21-sharedCdReveal .82s .42s cubic-bezier(.18,.78,.22,1) both}
#page-profile .morph-transition.to-ending.play .morph-next .ending-album{animation:pv21-morphAlbumFinalIn .42s .96s ease both}
#page-profile .morph-transition.to-ending .morph-next .ending-album{opacity:0;transform:translateY(8px) scale(.99)}
@keyframes pv21-sharedAlbumMove{
  0%{opacity:1;left:var(--album-sx);top:var(--album-sy);width:var(--album-sw);height:var(--album-sh);transform:rotate(0deg)}
  42%{opacity:1;transform:rotate(-1.2deg)}
  100%{opacity:1;left:var(--album-tx);top:var(--album-ty);width:var(--album-tw);height:var(--album-th);transform:rotate(-2deg)}
}
@keyframes pv21-sourcePhotoToAlbum{0%{opacity:1;filter:none}58%{opacity:.42;filter:blur(3px) saturate(.78)}100%{opacity:0;filter:blur(7px) saturate(.68)}}
@keyframes pv21-sleeveMaterialize{0%{opacity:0;filter:blur(8px)}46%{opacity:.72}100%{opacity:1;filter:none}}
@keyframes pv21-sharedCdReveal{0%{opacity:0;transform:translateY(-50%) translateX(-48%) scale(.92)}28%{opacity:.68}100%{opacity:1;transform:translateY(-50%) translateX(0) scale(1)}}
@keyframes pv21-morphAlbumFinalIn{to{opacity:1;transform:none}}
#page-profile .companions-story{position:relative;z-index:5;height:auto;min-height:100svh;margin-top:0;padding-top:0;background:#faf7fc}
#page-profile .companions-stage{
  position:relative;height:100svh;min-height:650px;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(ellipse at 72% 38%,rgba(226,212,238,.55),transparent 28%),
    radial-gradient(ellipse at 26% 16%,rgba(255,255,255,.98),transparent 38%),
    linear-gradient(118deg,#fefcfe 0%,#faf7fc 54%,#f1e8f8 100%);
}
#page-profile .companion-ambient-a,#page-profile .companion-ambient-b{position:absolute;z-index:0;pointer-events:none;border-radius:50%;filter:blur(12px)}
#page-profile .companion-ambient-a{
  width:min(62vw,900px);aspect-ratio:1;left:52%;top:47%;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(255,255,255,.98),rgba(235,222,245,.54) 37%,rgba(208,184,226,.13) 61%,transparent 73%);opacity:.92
}
#page-profile .companion-ambient-b{
  width:34vw;aspect-ratio:1;right:-7vw;top:6vh;
  background:radial-gradient(circle,rgba(216,195,232,.20),transparent 68%);opacity:.72
}
#page-profile .companion-optical-field{
  position:absolute;z-index:1;width:min(73vw,1060px);height:min(84vh,840px);left:56%;top:48%;
  transform:translate(-50%,-50%) rotate(-5deg) scale(.982);
  border-radius:49% 51% 47% 53% / 43% 52% 48% 57%;
  background:
    linear-gradient(116deg,rgba(255,255,255,.08),rgba(255,255,255,.42) 48%,rgba(235,226,246,.15) 74%,rgba(255,255,255,.05)),
    radial-gradient(circle at 61% 31%,rgba(255,255,255,.84),rgba(238,226,247,.28) 38%,rgba(211,191,228,.10) 68%,transparent 76%);
  box-shadow:inset 1px 0 0 rgba(255,255,255,.60),inset -1px 0 0 rgba(173,146,194,.10),inset 0 1px 0 rgba(255,255,255,.82);
  opacity:.76;pointer-events:none
}
#page-profile .companion-optical-field::before{content:'';position:absolute;inset:6% 9%;border-radius:inherit;background:radial-gradient(ellipse at 55% 42%,rgba(255,255,255,.36),transparent 58%);filter:blur(18px)}
#page-profile .companion-botanical-shadow{
  position:absolute;z-index:1;left:-6vw;top:12vh;width:min(50vw,760px);height:min(72vh,720px);
  opacity:.13;filter:blur(22px);transform-origin:18% 82%;animation:pv21-shadowSway 13s ease-in-out infinite alternate;pointer-events:none
}
#page-profile .companion-botanical-shadow::before,#page-profile .companion-botanical-shadow::after{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 18% 8% at 22% 72%,rgba(118,91,136,.24) 0 56%,transparent 60%),
    radial-gradient(ellipse 16% 7% at 31% 58%,rgba(118,91,136,.20) 0 56%,transparent 60%),
    radial-gradient(ellipse 19% 8% at 39% 42%,rgba(118,91,136,.17) 0 56%,transparent 60%),
    radial-gradient(ellipse 15% 7% at 46% 28%,rgba(118,91,136,.13) 0 56%,transparent 60%),
    linear-gradient(64deg,transparent 46%,rgba(118,91,136,.15) 48% 49%,transparent 51%)
}
#page-profile .companion-botanical-shadow::after{transform:scaleX(-1) translateX(-8%) rotate(-8deg);opacity:.64}
#page-profile .companion-etched{
  position:absolute;z-index:1;left:50%;bottom:-5.4vw;transform:translateX(-50%);white-space:nowrap;pointer-events:none;
  font:400 clamp(110px,18vw,300px)/.9 Georgia,'Times New Roman',serif;letter-spacing:-.075em;color:rgba(124,89,147,.024);
  text-shadow:0 -1px 0 rgba(255,255,255,.50),0 1px 0 rgba(121,90,143,.035)
}
#page-profile .companion-etched::after{
  content:'DANCHU';position:absolute;inset:0;color:transparent;
  background:linear-gradient(104deg,transparent 32%,rgba(255,255,255,.04) 40%,rgba(184,151,204,.18) 48%,rgba(255,255,255,.46) 52%,rgba(184,151,204,.13) 58%,transparent 68%);
  background-size:250% 100%;background-position:150% 0;-webkit-background-clip:text;background-clip:text;
  opacity:.72;animation:pv21-etchedReveal 11.5s ease-in-out infinite
}
#page-profile .companion-petal-field{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:hidden}
#page-profile .companion-petal-field .petal{position:absolute}
#page-profile .companions-heading{
  position:absolute;z-index:10;left:clamp(34px,7.2vw,126px);top:clamp(92px,14.5vh,154px);
  width:min(32vw,470px);opacity:0;transform:translate3d(0,12px,0);filter:blur(5px)
}
#page-profile .companions-heading .kicker{margin:0 0 18px;font-size:9px;font-weight:600;letter-spacing:.27em;color:#7f60a8}
#page-profile .companions-heading h2{margin:0;font-size:clamp(44px,5.5vw,86px);line-height:.96;font-weight:330;letter-spacing:-.068em;color:#2b2140}
#page-profile .companions-heading h2::after{content:'';display:block;width:min(105%,310px);height:1px;margin-top:18px;background:linear-gradient(90deg,rgba(150,116,170,.76),rgba(150,116,170,0));transform-origin:left}
#page-profile .companions-heading .section-name{display:block;margin-top:18px;font-size:10px;letter-spacing:.35em;color:#756985}
#page-profile .companions-heading .chapter-note{margin:24px 0 0;max-width:310px;font-size:10px;line-height:1.95;color:#756985}
#page-profile .companion-host{
  position:absolute;z-index:3;left:58%;bottom:1vh;width:min(34vw,500px);height:78vh;min-height:500px;
  transform:translateX(-50%) scale(.96);opacity:0;filter:blur(7px);pointer-events:none
}
#page-profile .companion-host::before{content:'';position:absolute;inset:12% 2% 3%;border-radius:51% 49% 46% 54% / 44% 50% 50% 56%;background:radial-gradient(circle at 49% 34%,rgba(255,255,255,.92),rgba(227,212,240,.30) 47%,rgba(206,184,225,.05) 70%,transparent 78%)}
#page-profile .companion-host img{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;opacity:.36;filter:saturate(.86) contrast(.98)}
#page-profile .companion-host.no-image{display:none}
#page-profile .companion{position:absolute;z-index:8;margin:0;opacity:0;filter:blur(7px);transform:translateY(20px) scale(.98)}
#page-profile .companion-one{left:clamp(36px,9vw,160px);top:45vh;width:min(22vw,320px)}
#page-profile .companion-two{right:clamp(42px,9vw,160px);top:23vh;width:min(21vw,305px)}
#page-profile .companion-photo{
  position:relative;width:100%;aspect-ratio:.88/1;overflow:hidden;isolation:isolate;
  background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.90),rgba(228,214,240,.48) 58%,rgba(255,255,255,.05) 80%);
  clip-path:polygon(12% 1%,88% 3%,98% 16%,96% 83%,83% 98%,16% 96%,3% 82%,2% 16%);
  filter:drop-shadow(0 22px 34px rgba(104,79,121,.09))
}
#page-profile .companion-two .companion-photo{clip-path:polygon(9% 4%,84% 1%,98% 15%,95% 86%,80% 98%,13% 94%,1% 79%,3% 17%)}
#page-profile .companion-photo::before{
  content:'';position:absolute;z-index:4;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.58),transparent 27%,transparent 68%,rgba(218,198,233,.13));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72)
}
#page-profile .companion-photo::after{content:'';position:absolute;z-index:5;left:-16%;top:-10%;width:45%;height:120%;transform:rotate(8deg);background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);filter:blur(8px);pointer-events:none}
#page-profile .companion-photo img{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
#page-profile .companion.has-image .companion-photo img{opacity:1}
#page-profile .companion-placeholder{position:absolute;z-index:1;inset:0;display:grid;place-items:center;text-align:center;color:#756985;font-size:8px;line-height:1.9;letter-spacing:.18em}
#page-profile .companion.has-image .companion-placeholder{display:none}
#page-profile .companion figcaption{position:relative;margin-top:13px;min-height:48px}
#page-profile .companion-index{display:block;margin-bottom:6px;font-size:7px;letter-spacing:.24em;color:#756985}
#page-profile .companion-name{margin:0;font-size:clamp(19px,1.6vw,27px);font-weight:500;letter-spacing:-.03em;color:#4d4158}
#page-profile .companion-bio{margin:7px 0 0;max-width:250px;font-size:9px;line-height:1.7;color:#756985}
#page-profile .companion figcaption::before{
  content:'';position:absolute;top:19px;width:48px;height:1px;background:linear-gradient(90deg,rgba(156,124,176,.72),transparent)
}
#page-profile .companion-one figcaption{padding-left:62px}
#page-profile .companion-one figcaption::before{left:0}
#page-profile .companion-two figcaption{text-align:right;padding-right:62px}
#page-profile .companion-two figcaption::before{right:0;transform:scaleX(-1)}
#page-profile .companion-two .companion-bio{margin-left:auto}
#page-profile .companion-data-caption{position:absolute;z-index:6;right:clamp(30px,7vw,116px);bottom:7vh;font-size:7px;letter-spacing:.28em;color:#b3a2bc;writing-mode:vertical-rl}
#page-profile .companions-complete{position:absolute;z-index:10;left:50%;bottom:28px;transform:translate(-50%,10px);opacity:0;font-size:7px;letter-spacing:.25em;color:#aa96b4;text-align:center}
#page-profile .companions-complete::after{content:'';display:block;width:60px;height:1px;margin:9px auto 0;background:linear-gradient(90deg,transparent,#baa4c8,transparent)}
#page-profile .companions-stage.play .companions-heading{animation:pv21-compIn .72s .08s cubic-bezier(.18,.76,.22,1) forwards}
#page-profile .companions-stage.play .companion-host{animation:pv21-hostIn .90s .20s cubic-bezier(.18,.76,.22,1) forwards}
#page-profile .companions-stage.play .companion-one{animation:pv21-compIn .86s .42s cubic-bezier(.18,.77,.22,1) forwards}
#page-profile .companions-stage.play .companion-two{animation:pv21-compIn .86s .68s cubic-bezier(.18,.77,.22,1) forwards}
#page-profile .companions-stage.play .companions-complete{animation:pv21-completeIn .58s 1.35s ease forwards}
@keyframes pv21-hostIn{to{opacity:1;filter:blur(0);transform:translateX(-50%) scale(.96)}}
#page-profile .ending-story{position:relative;z-index:5;min-height:100svh;background:#faf7fc}
#page-profile .ending-stage{
  position:relative;height:100svh;min-height:650px;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(ellipse at 72% 38%,rgba(226,212,238,.55),transparent 28%),
    radial-gradient(ellipse at 26% 16%,rgba(255,255,255,.98),transparent 38%),
    linear-gradient(118deg,#fefcfe 0%,#faf7fc 54%,#f1e8f8 100%);
}
#page-profile .ending-ambient-a,#page-profile .ending-ambient-b{position:absolute;z-index:0;pointer-events:none;border-radius:50%;filter:blur(12px)}
#page-profile .ending-ambient-a{width:min(62vw,900px);aspect-ratio:1;left:52%;top:47%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,.98),rgba(235,222,245,.54) 37%,rgba(208,184,226,.13) 61%,transparent 73%);opacity:.92}
#page-profile .ending-ambient-b{width:34vw;aspect-ratio:1;right:-7vw;top:6vh;background:radial-gradient(circle,rgba(216,195,232,.20),transparent 68%);opacity:.72}
#page-profile .ending-optical-field{
  position:absolute;z-index:1;width:min(73vw,1060px);height:min(84vh,840px);left:56%;top:48%;transform:translate(-50%,-50%) rotate(-5deg) scale(.982);
  border-radius:49% 51% 47% 53% / 43% 52% 48% 57%;
  background:linear-gradient(116deg,rgba(255,255,255,.08),rgba(255,255,255,.42) 48%,rgba(235,226,246,.15) 74%,rgba(255,255,255,.05)),radial-gradient(circle at 61% 31%,rgba(255,255,255,.84),rgba(238,226,247,.28) 38%,rgba(211,191,228,.10) 68%,transparent 76%);
  box-shadow:inset 1px 0 0 rgba(255,255,255,.60),inset -1px 0 0 rgba(173,146,194,.10),inset 0 1px 0 rgba(255,255,255,.82);opacity:.76;pointer-events:none
}
#page-profile .ending-optical-field::before{content:'';position:absolute;inset:6% 9%;border-radius:inherit;background:radial-gradient(ellipse at 55% 42%,rgba(255,255,255,.36),transparent 58%);filter:blur(18px)}
#page-profile .ending-botanical-shadow{position:absolute;z-index:1;left:-6vw;top:12vh;width:min(50vw,760px);height:min(72vh,720px);opacity:.13;filter:blur(22px);transform-origin:18% 82%;animation:pv21-shadowSway 13s ease-in-out infinite alternate;pointer-events:none}
#page-profile .ending-botanical-shadow::before,#page-profile .ending-botanical-shadow::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 18% 8% at 22% 72%,rgba(118,91,136,.24) 0 56%,transparent 60%),radial-gradient(ellipse 16% 7% at 31% 58%,rgba(118,91,136,.20) 0 56%,transparent 60%),radial-gradient(ellipse 19% 8% at 39% 42%,rgba(118,91,136,.17) 0 56%,transparent 60%),radial-gradient(ellipse 15% 7% at 46% 28%,rgba(118,91,136,.13) 0 56%,transparent 60%),linear-gradient(64deg,transparent 46%,rgba(118,91,136,.15) 48% 49%,transparent 51%)}
#page-profile .ending-botanical-shadow::after{transform:scaleX(-1) translateX(-8%) rotate(-8deg);opacity:.64}
#page-profile .ending-etched{position:absolute;z-index:1;left:50%;bottom:-5.4vw;transform:translateX(-50%);white-space:nowrap;pointer-events:none;font:400 clamp(110px,18vw,300px)/.9 Georgia,'Times New Roman',serif;letter-spacing:-.075em;color:rgba(124,89,147,.024);text-shadow:0 -1px 0 rgba(255,255,255,.50),0 1px 0 rgba(121,90,143,.035)}
#page-profile .ending-etched::after{content:'DANCHU';position:absolute;inset:0;color:transparent;background:linear-gradient(104deg,transparent 32%,rgba(255,255,255,.04) 40%,rgba(184,151,204,.18) 48%,rgba(255,255,255,.46) 52%,rgba(184,151,204,.13) 58%,transparent 68%);background-size:250% 100%;background-position:150% 0;-webkit-background-clip:text;background-clip:text;opacity:.72;animation:pv21-etchedReveal 11.5s ease-in-out infinite}
#page-profile .ending-petal-field{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:hidden}
#page-profile .ending-petal-field .petal{position:absolute}
#page-profile .ending-heading{position:absolute;z-index:10;left:clamp(34px,7.2vw,126px);top:clamp(92px,14.5vh,154px);width:min(32vw,470px);opacity:0;transform:translate3d(0,12px,0);filter:blur(5px)}
#page-profile .ending-heading .kicker{margin:0 0 18px;font-size:9px;font-weight:600;letter-spacing:.27em;color:#7f60a8}
#page-profile .ending-heading h2{margin:0;font-size:clamp(44px,5.5vw,86px);line-height:.96;font-weight:330;letter-spacing:-.068em;color:#2b2140}
#page-profile .ending-heading h2::after{content:'';display:block;width:min(105%,310px);height:1px;margin-top:18px;background:linear-gradient(90deg,rgba(150,116,170,.76),rgba(150,116,170,0));transform-origin:left}
#page-profile .ending-heading .section-name{display:block;margin-top:18px;font-size:10px;letter-spacing:.35em;color:#756985}
#page-profile .ending-heading .chapter-note{margin:24px 0 0;max-width:310px;font-size:10px;line-height:1.95;color:#756985}
#page-profile .ending-host{position:absolute;z-index:3;left:58%;bottom:1vh;width:min(34vw,500px);height:78vh;min-height:500px;transform:translateX(-50%) scale(.96);opacity:0;filter:blur(7px);pointer-events:none}
#page-profile .ending-host::before{content:'';position:absolute;inset:12% 2% 3%;border-radius:51% 49% 46% 54% / 44% 50% 50% 56%;background:radial-gradient(circle at 49% 34%,rgba(255,255,255,.92),rgba(227,212,240,.30) 47%,rgba(206,184,225,.05) 70%,transparent 78%)}
#page-profile .ending-host img{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;opacity:.34;filter:saturate(.84) contrast(.98)}
#page-profile .ending-host.no-image{display:none}
#page-profile .ending-album{
  position:absolute;z-index:8;left:42%;top:31vh;width:min(25vw,370px);aspect-ratio:1;
  opacity:0;transform:translateY(16px) scale(.97);filter:blur(5px);pointer-events:none
}
#page-profile .album-sleeve{
  position:absolute;z-index:3;inset:0;border-radius:6%;overflow:hidden;
  background:
    radial-gradient(circle at 27% 22%,rgba(255,255,255,.98),transparent 28%),
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(239,230,246,.91) 58%,rgba(224,208,238,.82));
  border:1px solid rgba(255,255,255,.88);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),inset -1px 0 0 rgba(169,140,189,.10),0 22px 58px rgba(92,70,108,.10)
}
#page-profile .album-sleeve::before{
  content:'';position:absolute;left:9%;right:9%;top:12%;height:1px;
  background:linear-gradient(90deg,rgba(147,114,168,.70),rgba(147,114,168,.08),transparent)
}
#page-profile .album-sleeve::after{
  content:'DANCHU';position:absolute;left:9%;bottom:10%;font:400 clamp(28px,3vw,46px)/1 Georgia,'Times New Roman',serif;
  letter-spacing:-.055em;color:rgba(95,70,108,.62);text-shadow:0 1px 0 rgba(255,255,255,.72)
}
#page-profile .album-meta{position:absolute;z-index:4;left:9%;top:17%;display:flex;flex-direction:column;gap:5px;color:#9f8da8}
#page-profile .album-meta strong{font-size:8px;letter-spacing:.28em;font-weight:600}
#page-profile .album-meta span{font-size:7px;letter-spacing:.18em;color:#756985}
#page-profile .cd-carriage{position:absolute;z-index:2;right:-31%;top:50%;width:83%;aspect-ratio:1;transform:translateY(-50%) translateX(-36%);opacity:0}
#page-profile .cd-disc{position:absolute;inset:0;border-radius:50%;animation:pv21-cdSpin 12s linear infinite;background:
  radial-gradient(circle at center,transparent 0 7.3%,rgba(255,255,255,.95) 7.7% 9.1%,transparent 9.5% 17%,rgba(255,255,255,.24) 17.4% 18%,transparent 18.4%),
  repeating-conic-gradient(from 0deg,rgba(255,255,255,.54) 0 5deg,rgba(223,211,232,.32) 5deg 11deg,rgba(255,255,255,.64) 11deg 16deg,rgba(208,192,220,.24) 16deg 22deg),
  radial-gradient(circle at 34% 28%,rgba(255,255,255,.96),rgba(229,217,237,.82) 40%,rgba(198,181,210,.38) 72%,rgba(255,255,255,.74));
  border:1px solid rgba(255,255,255,.84);box-shadow:inset 0 0 18px rgba(255,255,255,.52),0 12px 32px rgba(106,82,121,.12)
}
#page-profile .cd-disc::before{content:'';position:absolute;inset:31%;border-radius:50%;border:1px solid rgba(255,255,255,.72);box-shadow:inset 0 0 10px rgba(255,255,255,.40)}
#page-profile .cd-disc::after{content:'';position:absolute;inset:0;border-radius:50%;background:linear-gradient(108deg,transparent 24%,rgba(255,255,255,.58) 43%,rgba(205,187,217,.10) 55%,transparent 72%);mix-blend-mode:screen;opacity:.7}
#page-profile .ending-stage.play .ending-album{animation:pv21-albumEnter .82s .24s cubic-bezier(.18,.77,.22,1) forwards}
#page-profile .ending-stage.play .cd-carriage{animation:pv21-cdEmerge 1.02s .48s cubic-bezier(.18,.78,.22,1) forwards}
@keyframes pv21-albumEnter{to{opacity:1;transform:none;filter:none}}
@keyframes pv21-cdEmerge{0%{opacity:0;transform:translateY(-50%) translateX(-36%) scale(.96)}28%{opacity:.56}100%{opacity:1;transform:translateY(-50%) translateX(0) scale(1)}}
@keyframes pv21-cdSpin{to{transform:rotate(360deg)}}
#page-profile .lyrics-wrap{position:absolute;z-index:9;right:clamp(42px,8vw,150px);top:22vh;width:min(29vw,435px);max-height:58vh;overflow:auto;padding:0 4px 30px 0;opacity:0;transform:translateY(18px);filter:blur(6px);scrollbar-width:none}
#page-profile .lyrics-wrap::-webkit-scrollbar{display:none}
#page-profile .lyrics-label{display:flex;align-items:center;gap:12px;margin-bottom:22px;font-size:7px;font-weight:600;letter-spacing:.28em;color:#756985}
#page-profile .lyrics-label::before{content:'';width:48px;height:1px;background:linear-gradient(90deg,rgba(155,122,175,.76),transparent)}
#page-profile .lyrics-lines{display:grid;gap:13px}
#page-profile .lyric-line{position:relative;margin:0;padding-left:62px;min-height:34px;font-size:clamp(12px,1.03vw,16px);line-height:1.72;font-weight:420;letter-spacing:-.012em;color:#4d4158}
#page-profile .lyric-line::before{content:'';position:absolute;left:0;top:.78em;width:48px;height:1px;background:linear-gradient(90deg,rgba(156,124,176,.70),transparent)}
#page-profile .lyric-line::after{content:'ENDING LYRIC';display:block;margin-top:3px;font-size:6px;font-weight:600;letter-spacing:.22em;color:#756985}
#page-profile .lyric-line.fan{color:#7f60a8;font-weight:540}
#page-profile .lyric-line.fan::before{background:linear-gradient(90deg,rgba(144,105,168,.92),rgba(183,156,198,.16))}
#page-profile .lyric-line.fan::after{content:'FAN CHORUS';color:#7f60a8}
#page-profile .lyric-placeholder{position:relative;margin:0;padding-left:62px;font-size:10px;line-height:1.9;color:#756985}
#page-profile .lyric-placeholder::before{content:'';position:absolute;left:0;top:.9em;width:48px;height:1px;background:linear-gradient(90deg,rgba(156,124,176,.58),transparent)}
#page-profile .ending-data-caption{position:absolute;z-index:6;right:clamp(30px,7vw,116px);bottom:7vh;font-size:7px;letter-spacing:.28em;color:#b3a2bc;writing-mode:vertical-rl}
#page-profile .ending-complete{position:absolute;z-index:10;left:50%;bottom:28px;transform:translate(-50%,10px);opacity:0;font-size:7px;letter-spacing:.25em;color:#aa96b4;text-align:center}
#page-profile .ending-complete::after{content:'';display:block;width:60px;height:1px;margin:9px auto 0;background:linear-gradient(90deg,transparent,#baa4c8,transparent)}
#page-profile .ending-stage.play .ending-heading{animation:pv21-compIn .72s .08s cubic-bezier(.18,.76,.22,1) forwards}
#page-profile .ending-stage.play .ending-host{animation:pv21-hostIn .90s .20s cubic-bezier(.18,.76,.22,1) forwards}
#page-profile .ending-stage.play .lyrics-wrap{animation:pv21-compIn .86s .44s cubic-bezier(.18,.77,.22,1) forwards}
#page-profile .ending-stage.play .ending-complete{animation:pv21-completeIn .58s 1.25s ease forwards}
#page-profile .loader.cat1{bottom:58px}
#page-profile .loader.cat2{bottom:98px}
@keyframes pv21-introIn{to{opacity:1;transform:none}}
@keyframes pv21-nameWrite{to{clip-path:inset(0 0 0 0)}}
@keyframes pv21-underline{to{transform:scaleX(1)}}
@keyframes pv21-portraitIn{to{opacity:1;filter:blur(0);transform:none}}
@keyframes pv21-cue{0%,100%{transform:scaleY(.5);transform-origin:top;opacity:.36}50%{transform:scaleY(1);opacity:1}}
@keyframes pv21-shadowSway{
  0%{transform:rotate(-4deg) translate3d(-1%,1%,0) scale(.98)}
  100%{transform:rotate(4deg) translate3d(3%,-2%,0) scale(1.04)}
}
@keyframes pv21-petalDrift{
  0%{transform:translate3d(-10px,-4px,0) rotate(calc(var(--rot) - 10deg)) scale(.96);filter:blur(.15px)}
  50%{transform:translate3d(18px,20px,0) rotate(calc(var(--rot) + 15deg)) scale(1.06);filter:blur(0)}
  100%{transform:translate3d(-4px,48px,0) rotate(calc(var(--rot) + 34deg)) scale(.98);filter:blur(.25px)}
}
@keyframes pv21-compIn{to{opacity:1;filter:blur(0);transform:none}}
@keyframes pv21-completeIn{to{opacity:1;transform:translate(-50%,0)}}
@keyframes pv21-etchedReveal{
  0%,20%{background-position:150% 0;opacity:.18}
  45%{opacity:.72}
  68%,100%{background-position:-50% 0;opacity:.16}
}
@media(max-width:860px){#page-profile .profile-story{height:100svh;min-height:700px}
#page-profile .profile-stage{min-height:700px}
#page-profile .optical-field{width:108vw;height:72vh;left:56%;top:47%;opacity:.64}
#page-profile .intro{left:22px;top:78px;width:70vw}
#page-profile .intro-kicker{font-size:7px;margin-bottom:12px}
#page-profile .profile-name{font-size:49px}
#page-profile .english-name{font-size:8px;margin-top:18px}
#page-profile .intro-note{display:none}
#page-profile .character{left:50%;bottom:8vh;width:min(78vw,455px);height:66vh;min-height:410px;transform:translate3d(-50%,calc(var(--sequence-p) * 2px),0) scale(calc(1 - var(--sequence-p) * .020))}
#page-profile .identity-caption{display:none}
#page-profile .fact{width:124px}
#page-profile .fact-label{font-size:6px;letter-spacing:.13em;margin-bottom:5px}
#page-profile .fact-value{font-size:14px}
#page-profile .fact-trace{width:33px}
#page-profile .fact-birth{left:17px;top:62%}
#page-profile .fact-height{right:17px;top:55%}
#page-profile .fact-mbti{right:15px;top:68%}
#page-profile .fact-stream{right:18px;top:81%}
#page-profile .fact-fanname{left:17px;top:81%}
#page-profile .complete-mark{bottom:17px}
#page-profile .companions-story{height:auto;min-height:100svh;margin-top:0;padding-top:0}
#page-profile .companions-stage{min-height:740px;height:100svh}
#page-profile .companion-optical-field{width:108vw;height:72vh;left:56%;top:47%;opacity:.64}
#page-profile .companions-heading{left:22px;top:78px;width:72vw}
#page-profile .companions-heading .kicker{font-size:7px;margin-bottom:12px}
#page-profile .companions-heading h2{font-size:42px}
#page-profile .companions-heading .section-name{font-size:8px;margin-top:15px}
#page-profile .companions-heading .chapter-note{display:none}
#page-profile .companion-host{left:50%;bottom:9vh;width:min(62vw,365px);height:58vh;min-height:390px;opacity:0}
#page-profile .companion-one{left:18px;top:45vh;width:34vw}
#page-profile .companion-two{right:18px;top:34vh;width:31vw}
#page-profile .companion figcaption{margin-top:9px}
#page-profile .companion-one figcaption{padding-left:36px}
#page-profile .companion-two figcaption{padding-right:36px}
#page-profile .companion figcaption::before{width:28px}
#page-profile .companion-index{font-size:6px}
#page-profile .companion-name{font-size:18px}
#page-profile .companion-bio{display:none}
#page-profile .companion-data-caption{display:none}
#page-profile .companions-complete{bottom:18px}

}
@media(max-width:520px){#page-profile .profile-name{font-size:44px}
#page-profile .character{width:82vw;height:64vh;bottom:10vh}
#page-profile .fact{width:112px}
#page-profile .fact-value{font-size:13px}
#page-profile .fact-trace{width:26px}

}
@media(max-width:760px){#page-profile .ending-stage{min-height:760px;height:100svh}
#page-profile .ending-heading{left:22px;top:78px;width:74vw}
#page-profile .ending-heading .kicker{font-size:7px;margin-bottom:12px}
#page-profile .ending-heading h2{font-size:42px}
#page-profile .ending-heading .section-name{font-size:8px;margin-top:15px}
#page-profile .ending-heading .chapter-note{display:none}
#page-profile .ending-host{left:52%;height:58vh;width:62vw;bottom:3vh}
#page-profile .ending-album{left:31%;top:38vh;width:min(42vw,270px)}
#page-profile .cd-carriage{right:-27%}
#page-profile .lyrics-wrap{right:18px;top:37vh;width:55vw;max-height:48vh;padding:0 2px 24px 0}
#page-profile .lyric-line{font-size:11px;line-height:1.68;padding-left:42px}
#page-profile .lyric-line::before,#page-profile .lyric-placeholder::before{width:32px}
#page-profile .lyric-placeholder{padding-left:42px}
#page-profile .lyrics-label{font-size:6px}
#page-profile .ending-data-caption{display:none}
#page-profile .ending-complete{bottom:18px}

}
@media(prefers-reduced-motion:reduce){#page-profile .intro-kicker,#page-profile .profile-name,#page-profile .name-wrap::after,#page-profile .english-name,#page-profile .character img{animation:none;opacity:1;clip-path:none;transform:none;filter:none}
#page-profile .scroll-cue::after{animation:none}
#page-profile .optical-sweep,#page-profile .completion-refraction{display:none}
#page-profile .velocity-glass{display:none}
#page-profile .morph-next{opacity:1}
#page-profile .profile-stage.scene-exit .intro,#page-profile .profile-stage.scene-exit .fact,#page-profile .profile-stage.scene-exit .character,#page-profile .companions-stage.scene-exit .companions-heading,#page-profile .companions-stage.scene-exit .companion,#page-profile .companions-stage.scene-exit .companion-host{transition:none;filter:none}
#page-profile .botanical-shadow,#page-profile .petal,#page-profile .etched-word::after{animation:none}
#page-profile .companions-heading,#page-profile .companion,#page-profile .companion-host,#page-profile .companions-complete,#page-profile .ending-heading,#page-profile .ending-host,#page-profile .ending-album,#page-profile .lyrics-wrap,#page-profile .ending-complete{animation:none;opacity:1;filter:none;transform:none}
#page-profile .cd-carriage{animation:none;opacity:1;transform:translateY(-50%) translateX(0)}
#page-profile .cd-disc{animation:none}
#page-profile .shared-album-morph{display:none}

}
#page-profile{
  --v20-id:1;
  --v20-comp:0;
  --v20-end:0;
  --v20-comp-heading:0;
  --v20-comp-host:0;
  --v20-comp-one:0;
  --v20-comp-two:0;
  --v20-comp-complete:0;
  --v20-end-heading:0;
  --v20-end-host:0;
  --v20-end-lyrics:0;
  --v20-end-album:0;
  --v20-end-complete:0;
  --v20-bridge:0;
  --v20-vel:0;
  --v21-stage-p:0;
  --v20-id-x:0px;--v20-id-y:0px;--v20-id-scale:1;--v20-id-blur:0px;
  --v20-fact-y:0px;--v20-fact-scale:1;--v20-fact-blur:0px;
  --v20-char-o:1;--v20-char-x:0px;--v20-char-y:0px;--v20-char-scale:1;--v20-char-blur:0px;--v20-char-sat:100%;
  --v20-comp-heading-x:0px;--v20-comp-heading-y:0px;--v20-comp-heading-blur:0px;
  --v20-comp-host-o:0;--v20-comp-host-y:12px;--v20-comp-host-scale:.93;--v20-comp-host-blur:6px;
  --v20-comp-one-y:25px;--v20-comp-one-scale:.97;--v20-comp-one-blur:6px;
  --v20-comp-two-y:25px;--v20-comp-two-scale:.97;--v20-comp-two-blur:6px;
  --v20-comp-complete-o:0;--v20-comp-complete-y:10px;--v20-comp-caption-o:0;
  --v20-end-heading-x:0px;--v20-end-heading-y:0px;--v20-end-heading-blur:0px;
  --v20-end-host-o:0;--v20-end-host-y:12px;--v20-end-host-scale:.93;--v20-end-host-blur:6px;
  --v20-end-lyrics-x:18px;--v20-end-lyrics-y:16px;--v20-end-lyrics-blur:5px;
  --v20-end-album-y:8px;--v20-end-album-scale:.985;--v20-end-album-blur:5px;--v20-end-cd-o:0;--v20-end-cd-x:-36%;--v20-end-cd-scale:.96;
  --v20-end-complete-o:0;--v20-end-complete-y:10px;--v20-end-caption-o:0;
  --v20-vel-o:0;--v20-vel-blur:14px;--v20-vel-y:0px;--v20-vel-skew:0deg;--v20-vel-backdrop:0px;--v20-vel-sat:100%;
}
#page-profile .profile-master-story{
  position:relative;
  height:390svh;
  min-height:2500px;
  background:#faf7fc;
}
#page-profile .profile-master-sticky{
  position:sticky;
  top:0;
  width:100%;
  height:100svh;
  min-height:650px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(ellipse at 72% 38%,rgba(226,212,238,.55),transparent 28%),
    radial-gradient(ellipse at 26% 16%,rgba(255,255,255,.98),transparent 38%),
    linear-gradient(118deg,#fefcfe 0%,#faf7fc 54%,#f1e8f8 100%);
}
#page-profile .profile-master-sticky>.profile-stage,#page-profile .profile-master-sticky>.companions-stage,#page-profile .profile-master-sticky>.ending-stage{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:100%;
  overflow:hidden;
  background:transparent;
  isolation:isolate;
}
#page-profile .profile-master-sticky>.profile-stage{z-index:1}
#page-profile .profile-master-sticky>.companions-stage{z-index:3;pointer-events:none}
#page-profile .profile-master-sticky>.ending-stage{z-index:4;pointer-events:none}
#page-profile .profile-master-sticky .companion-ambient-a,#page-profile .profile-master-sticky .companion-ambient-b,#page-profile .profile-master-sticky .companion-optical-field,#page-profile .profile-master-sticky .companion-botanical-shadow,#page-profile .profile-master-sticky .companion-etched,#page-profile .profile-master-sticky .companion-petal-field,#page-profile .profile-master-sticky .ending-ambient-a,#page-profile .profile-master-sticky .ending-ambient-b,#page-profile .profile-master-sticky .ending-optical-field,#page-profile .profile-master-sticky .ending-botanical-shadow,#page-profile .profile-master-sticky .ending-etched,#page-profile .profile-master-sticky .ending-petal-field{
  display:none;
}
#page-profile .profile-master-sticky .profile-stage .intro,#page-profile .profile-master-sticky .profile-stage .identity-caption,#page-profile .profile-master-sticky .profile-stage .complete-mark,#page-profile .profile-master-sticky .profile-stage .scroll-cue{
  opacity:var(--v20-id);
  transform:translate3d(var(--v20-id-x),var(--v20-id-y),0) scale(var(--v20-id-scale));
  filter:blur(var(--v20-id-blur));
  transition:none;
}
#page-profile .profile-master-sticky .profile-stage .fact{
  opacity:var(--v20-id);
  transform:translate3d(0,var(--v20-fact-y),0) scale(var(--v20-fact-scale));
  filter:blur(var(--v20-fact-blur));
  transition:none;
}
#page-profile .profile-master-sticky .profile-stage .character{
  opacity:var(--v20-char-o);
  transform:translate3d(var(--v20-char-x),var(--v20-char-y),0) scale(var(--v20-char-scale));
  filter:blur(var(--v20-char-blur)) saturate(var(--v20-char-sat));
  transition:none;
}
#page-profile .profile-master-sticky .companions-heading{
  opacity:var(--v20-comp-heading);
  transform:translate3d(var(--v20-comp-heading-x),var(--v20-comp-heading-y),0);
  filter:blur(var(--v20-comp-heading-blur));
  animation:none;
}
#page-profile .profile-master-sticky .companion-host{
  opacity:var(--v20-comp-host-o);
  transform:translateX(-50%) translateY(var(--v20-comp-host-y)) scale(var(--v20-comp-host-scale));
  filter:blur(var(--v20-comp-host-blur));
  animation:none;
}
#page-profile .profile-master-sticky .companion-one{
  opacity:var(--v20-comp-one);
  transform:translate3d(0,var(--v20-comp-one-y),0) scale(var(--v20-comp-one-scale));
  filter:blur(var(--v20-comp-one-blur));
  animation:none;
}
#page-profile .profile-master-sticky .companion-two{
  opacity:var(--v20-comp-two);
  transform:translate3d(0,var(--v20-comp-two-y),0) scale(var(--v20-comp-two-scale));
  filter:blur(var(--v20-comp-two-blur));
  animation:none;
}
#page-profile .profile-master-sticky .companions-complete{
  opacity:var(--v20-comp-complete-o);
  transform:translate(-50%,var(--v20-comp-complete-y));
  animation:none;
}
#page-profile .profile-master-sticky .companion-data-caption{opacity:var(--v20-comp-caption-o)}
#page-profile .profile-master-sticky .ending-heading{
  opacity:var(--v20-end-heading);
  transform:translate3d(var(--v20-end-heading-x),var(--v20-end-heading-y),0);
  filter:blur(var(--v20-end-heading-blur));
  animation:none;
}
#page-profile .profile-master-sticky .ending-host{
  opacity:var(--v20-end-host-o);
  transform:translateX(-50%) translateY(var(--v20-end-host-y)) scale(var(--v20-end-host-scale));
  filter:blur(var(--v20-end-host-blur));
  animation:none;
}
#page-profile .profile-master-sticky .lyrics-wrap{
  opacity:var(--v20-end-lyrics);
  transform:translate3d(var(--v20-end-lyrics-x),var(--v20-end-lyrics-y),0);
  filter:blur(var(--v20-end-lyrics-blur));
  animation:none;
}
#page-profile .profile-master-sticky .ending-album{
  opacity:var(--v20-end-album);
  transform:translate3d(0,var(--v20-end-album-y),0) scale(var(--v20-end-album-scale));
  filter:blur(var(--v20-end-album-blur));
  animation:none;
}
#page-profile .profile-master-sticky .ending-complete{
  opacity:var(--v20-end-complete-o);
  transform:translate(-50%,var(--v20-end-complete-y));
  animation:none;
}
#page-profile .profile-master-sticky .ending-album .cd-carriage{
  opacity:var(--v20-end-cd-o);
  transform:translateY(-50%) translateX(var(--v20-end-cd-x)) scale(var(--v20-end-cd-scale));
  animation:none;
}
#page-profile .profile-master-sticky .ending-data-caption{opacity:var(--v20-end-caption-o)}
#page-profile .profile-master-sticky>.shared-album-morph{
  position:absolute;
  z-index:18;
  visibility:visible;
  display:block;
  opacity:0;
  pointer-events:none;
  animation:none;
  transform:none;
}
#page-profile .profile-master-sticky>.shared-album-morph .shared-source-photo,#page-profile .profile-master-sticky>.shared-album-morph .shared-sleeve-face,#page-profile .profile-master-sticky>.shared-album-morph .shared-cd-carriage{
  animation:none;
}
#page-profile .profile-master-sticky>.unified-velocity{
  z-index:20;
  display:block;
  opacity:var(--v20-vel-o);
  visibility:visible;
  filter:blur(var(--v20-vel-blur));
  transform:translate3d(0,var(--v20-vel-y),0) skewY(var(--v20-vel-skew));
  backdrop-filter:blur(var(--v20-vel-backdrop)) saturate(var(--v20-vel-sat));
  -webkit-backdrop-filter:blur(var(--v20-vel-backdrop)) saturate(var(--v20-vel-sat));
}
#page-profile .profile-chapter-progress{
  position:absolute;z-index:25;right:22px;top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;gap:10px;pointer-events:none;
}
#page-profile .chapter-dot{display:block;width:3px;height:18px;border-radius:999px;background:rgba(126,96,145,.13);transition:height .35s ease,background .35s ease,opacity .35s ease}
#page-profile .profile-master-sticky[data-chapter="identity"] .chapter-dot.d1,#page-profile .profile-master-sticky[data-chapter="companions"] .chapter-dot.d2,#page-profile .profile-master-sticky[data-chapter="ending"] .chapter-dot.d3{height:34px;background:rgba(126,96,145,.50)}
@media(max-width:760px){#page-profile .profile-master-story{height:430svh;min-height:3000px}
#page-profile .profile-master-sticky{min-height:700px}
#page-profile .profile-chapter-progress{right:10px;gap:8px}
#page-profile .chapter-dot{height:13px}
#page-profile .profile-master-sticky[data-chapter] .chapter-dot{width:2px}

}
@media(prefers-reduced-motion:reduce){#page-profile .profile-master-story{height:300svh}
#page-profile .profile-master-sticky>.unified-velocity{display:none}
#page-profile .profile-master-sticky>.shared-album-morph .shared-cd-disc,#page-profile .profile-master-sticky .cd-disc{animation:none}

}


#page-profile.page{padding:var(--pv21-header,68px) 0 0;margin:0;max-width:none;width:100%;overflow:visible;border:0;border-radius:0;}
#page-profile .profile-master-sticky{top:var(--pv21-header,68px);height:calc(100svh - var(--pv21-header,68px));min-height:0;}
#page-profile .lyrics-wrap{overflow:clip;max-height:calc(100svh - var(--pv21-header) - 22vh - 55px);}
#page-profile .lyric-fan{color:#7f60a8;font-weight:600;text-shadow:0 1px 0 #fff;}
#page-profile .character img{max-width:none;max-height:none;}
#page-profile .character{translate:-50% 0;}
#page-profile .profile-name,#page-profile .companions-heading h2,#page-profile .ending-heading h2{color:#2b2140;}
#page-profile .companion-name{color:#4d4158;}
@media(min-width:861px){#page-profile .fact-birth{top:max(34%,calc(clamp(92px,14.5vh,154px) + clamp(58px,7.3vw,114px) + 80px));}}
#page-profile:not(.active) *,#page-profile:not(.active) *::before,#page-profile:not(.active) *::after{animation-play-state:paused;}
#page-profile.pv21-reset *,#page-profile.pv21-reset *::before,#page-profile.pv21-reset *::after{animation:none;}
@media(prefers-reduced-motion:reduce){
 #page-profile .companions-heading{opacity:var(--v20-comp-heading);}
 #page-profile .companion-one{opacity:var(--v20-comp-one);}
 #page-profile .companion-two{opacity:var(--v20-comp-two);}
 #page-profile .companion-host{opacity:var(--v20-comp-host-o);}
 #page-profile .companions-complete{opacity:var(--v20-comp-complete-o);}
 #page-profile .ending-heading{opacity:var(--v20-end-heading);}
 #page-profile .ending-host{opacity:var(--v20-end-host-o);}
 #page-profile .ending-album{opacity:var(--v20-end-album);}
 #page-profile .lyrics-wrap{opacity:var(--v20-end-lyrics);}
 #page-profile .ending-complete{opacity:var(--v20-end-complete-o);}
}
@media(max-width:760px){
 #page-profile .ending-album{left:25%;top:27%;width:min(37vw,220px);}
 #page-profile .lyrics-wrap{top:60%;left:8%;right:auto;width:84%;padding:0;max-height:calc((100svh - var(--pv21-header)) * .4 - 55px);}
 #page-profile .ending-heading{top:5%;}
 #page-profile .fact-stream{top:77%;}
 #page-profile .ending-heading h2{font-size:32px;}
 #page-profile .companions-heading,#page-profile .intro{top:6%;}
 #page-profile .character,#page-profile .companion-host,#page-profile .ending-host{min-height:0;height:70%;}
 #page-profile .companion-one{top:43%;}#page-profile .companion-two{top:32%;}
}


/* V189: finite profile scene; only long lyrics add document reading space. */
#page-profile .profile-master-story{height:calc(100svh - var(--pv21-header));min-height:0;}
#page-profile .english-name[hidden]{display:none;}
#page-profile .profile-name{width:clamp(230px,27vw,390px);font-size:0;line-height:1;clip-path:none;animation:none;}
#page-profile .name-wrap::after{display:none;}
#page-profile .pv189-signature{width:100%;height:auto;display:block;overflow:visible;color:#79618f;}
#page-profile .pv189-signature path{stroke-dasharray:1;stroke-dashoffset:1;animation:pv189-write 1.1s .25s cubic-bezier(.3,.1,.5,1) forwards;}
#page-profile .pv189-signature path+path{animation-duration:2.1s;animation-delay:1.05s;}
@keyframes pv189-write{to{stroke-dashoffset:0;}}
@media(max-width:760px){#page-profile .profile-name{width:min(66vw,300px);}}
@media(prefers-reduced-motion:reduce){#page-profile .pv189-signature path{animation:none;stroke-dashoffset:0;}}

#page-profile :is(.intro-kicker,.companions-heading .kicker,.ending-heading .kicker){font-family:inherit;font-size:10px;font-weight:900;letter-spacing:.34em;color:#7f60a8;line-height:1.7}
@media(max-width:760px){#page-profile :is(.intro-kicker,.companions-heading .kicker,.ending-heading .kicker){font-size:8px}}

/* Profile-only Pearl Glass chapter navigation. */
#page-profile .profile-chapter-nav{position:absolute;z-index:30;top:24px;right:clamp(24px,3vw,52px);padding:14px 18px 10px;border:1px solid rgba(255,255,255,.7);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(242,235,249,.27));backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%);box-shadow:inset 0 1px 0 rgba(255,255,255,.88),inset 0 -1px 0 rgba(168,147,191,.09),0 8px 26px rgba(119,96,146,.07);pointer-events:auto}
#page-profile .profile-chapter-help{display:flex;align-items:center;gap:8px;margin:0 0 9px;color:#756985;font-size:10px;font-weight:400;line-height:1.6;letter-spacing:.015em}
#page-profile .profile-chapter-help svg{width:12px;height:16px;fill:none;stroke:#9c84b7;stroke-width:1;flex:none}
#page-profile .profile-chapter-links{display:flex;align-items:center;gap:19px}
#page-profile .profile-chapter-links button{position:relative;padding:7px 0 10px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#8a7c96;font-family:inherit;font-size:9px;font-weight:500;letter-spacing:.12em;line-height:1.5;cursor:pointer;transition:color .25s ease;text-wrap:nowrap}
#page-profile .profile-chapter-links button::after{content:'';position:absolute;bottom:2px;left:50%;width:18px;height:1px;background:#9b7bbb;opacity:0;transform:translateX(-50%) scaleX(.5);transition:opacity .3s ease,transform .3s ease}
#page-profile .profile-chapter-links button[aria-current="step"]{color:#614777;font-weight:600}
#page-profile .profile-chapter-links button[aria-current="step"]::after{opacity:1;transform:translateX(-50%) scaleX(1)}
#page-profile .profile-chapter-links button:hover{color:#614777;background:transparent;transform:none}
#page-profile .profile-chapter-links button:focus-visible{outline:2px solid #b39acb;outline-offset:4px;border-radius:3px}
#page-profile .profile-chapter-nav[aria-busy="true"]{background:linear-gradient(135deg,rgba(255,255,255,.66),rgba(242,235,249,.33))}
@media(max-width:760px){#page-profile .profile-chapter-nav{top:10px;right:16px;padding:9px 12px 5px;border-radius:12px;max-width:calc(100% - 32px);backdrop-filter:blur(12px)}#page-profile .profile-chapter-help{font-size:9px;margin-bottom:3px;gap:6px}#page-profile .profile-chapter-links{gap:15px}#page-profile .profile-chapter-links button{font-size:8px;letter-spacing:.08em;padding:5px 0 8px}}
@media(prefers-reduced-motion:reduce){#page-profile .profile-chapter-links button,#page-profile .profile-chapter-links button::after{transition:none}}

/* Shared signature-sized title field; scene transforms remain unchanged. */
#page-profile :is(.companions-heading,.ending-heading){width:clamp(230px,27vw,390px)}
#page-profile :is(.companions-heading,.ending-heading) h2{display:flex;align-items:center;width:100%;height:clamp(67.65px,7.942vw,114.71px);margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(35px,4.1vw,59px);font-weight:400;letter-spacing:-.045em;line-height:1.05;white-space:nowrap}
#page-profile .ending-heading h2{font-size:clamp(31px,3.6vw,52px)}
#page-profile :is(.companions-heading,.ending-heading) h2::after{content:none}
#page-profile :is(.intro-kicker,.companions-heading .kicker,.ending-heading .kicker){margin-bottom:18px}
@media(max-width:760px){
#page-profile :is(.intro,.companions-heading,.ending-heading){top:94px;left:22px;width:min(66vw,300px)}
#page-profile :is(.companions-heading,.ending-heading) h2{height:min(19.412vw,88.24px);font-size:min(10vw,45px)}
#page-profile .ending-heading h2{font-size:min(8.7vw,39px)}
#page-profile :is(.intro-kicker,.companions-heading .kicker,.ending-heading .kicker){margin-bottom:12px}
}

/* The same portrait treatment is used by the live scene and isolated preview. */
#page-profile :is(.character,.companion-host,.ending-host)::before{background:radial-gradient(ellipse at 50% 48%,var(--profile-light-color,#d9c8ed),transparent 70%);opacity:var(--profile-light,.25);translate:var(--profile-glow-x,0%) var(--profile-glow-y,0%);filter:blur(15px)}
#page-profile[data-image-blend="true"] :is(#profileImage,#companionHostImage,#endingHostImage){mask-image:linear-gradient(to bottom,#000 var(--profile-fade-start,82%),transparent 100%),linear-gradient(to right,transparent,#000 var(--profile-edge,0%),#000 calc(100% - var(--profile-edge,0%)),transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to bottom,#000 var(--profile-fade-start,82%),transparent 100%),linear-gradient(to right,transparent,#000 var(--profile-edge,0%),#000 calc(100% - var(--profile-edge,0%)),transparent);-webkit-mask-composite:source-in}
#page-profile[data-image-blend="false"] :is(#profileImage,#companionHostImage,#endingHostImage){mask-image:none;-webkit-mask-image:none}
#page-profile .optical-field{opacity:var(--profile-decor,.45)}
#page-admin #profileLayoutPreview{display:none}
#page-admin .profile-preview-viewport{position:relative;overflow:hidden;width:100%;min-height:130px;border:1px solid #e2d4ee;border-radius:12px;background:#faf7fc;margin:16px 0}
#page-admin #profilePreviewFrame{position:absolute;left:0;top:0;border:0;max-width:none;transform-origin:0 0;pointer-events:none}
#page-admin .profile-blend-controls{margin-top:20px;padding-top:16px;border-top:1px solid #e2d4ee}
#page-admin .profile-blend-controls h4{margin:0 0 12px;color:#4d4158;font-weight:500}
#page-admin .profile-blend-controls label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#756985}
#page-admin .profile-blend-controls input[type="checkbox"]{width:auto;margin-right:auto}
#page-admin .profile-blend-controls input[type="color"]{width:60px;height:32px;padding:3px}

/* V197: continuous pearl atmosphere; background only, no portrait geometry changes. */
#page-profile .profile-master-sticky{
 background:radial-gradient(ellipse at 51% 25%,#fffefa 0%,rgba(255,254,251,.94) 17%,transparent 48%),radial-gradient(ellipse at 77% 68%,rgba(186,164,197,.24),transparent 39%),radial-gradient(ellipse at 29% 78%,rgba(198,177,203,.16),transparent 36%),linear-gradient(115deg,#fbf9f8 0%,#fffdfb 43%,#f1ebf5 100%);
}
#page-profile .ambient-a{width:90%;height:85%;aspect-ratio:auto;left:50%;top:55%;background:radial-gradient(ellipse at 50% 22%,rgba(255,254,245,.78),transparent 41%),radial-gradient(ellipse at 80% 64%,rgba(163,137,175,.14),transparent 42%);opacity:.8;filter:blur(24px)}
#page-profile .ambient-b{width:100%;height:25%;aspect-ratio:auto;right:0;top:auto;bottom:-9%;border-radius:0;background:linear-gradient(0deg,rgba(255,251,250,.88),rgba(247,238,248,.35) 50%,transparent);opacity:.65;filter:blur(22px)}
#page-profile .optical-field{inset:0;width:100%;height:100%;transform:none;border-radius:0;box-shadow:none;filter:none;overflow:hidden;background:none;opacity:var(--profile-decor,.45);pointer-events:none}
#page-profile .optical-field::before,#page-profile .optical-field::after{content:'';position:absolute;inset:auto;width:65%;height:150%;border-radius:50%;background:linear-gradient(125deg,transparent 37%,rgba(207,190,220,.22) 47%,rgba(255,255,255,.85) 53%,transparent 65%);border:1px solid rgba(255,255,255,.65);box-shadow:inset 9px 0 30px rgba(211,192,223,.13);mask-image:linear-gradient(transparent,black 30%,black 62%,transparent);-webkit-mask-image:linear-gradient(transparent,black 30%,black 62%,transparent);mask-size:100% 100%;-webkit-mask-size:100% 100%;filter:blur(2px);opacity:.55;left:auto;right:-50%;top:-47%;transform:rotate(32deg);animation:pv197Reflection 26s ease-in-out infinite alternate}
#page-profile .optical-field::after{right:auto;left:-57%;top:17%;height:125%;opacity:.3;transform:rotate(38deg);animation-delay:-13s}
#page-profile .botanical-shadow{left:-11%;top:-12%;width:43%;height:56%;opacity:.32;filter:blur(14px);animation:pv197Floral 24s ease-in-out infinite alternate}
#page-profile .botanical-shadow::before{background:radial-gradient(ellipse 12% 29% at 28% 24%,rgba(151,126,161,.38) 0 50%,transparent 70%),radial-gradient(ellipse 26% 12% at 43% 38%,rgba(160,135,166,.34) 0 49%,transparent 70%),radial-gradient(ellipse 17% 23% at 19% 54%,rgba(160,135,166,.29) 0 50%,transparent 72%);transform:rotate(-28deg)}
#page-profile .botanical-shadow::after{background:radial-gradient(ellipse 14% 24% at 26% 30%,rgba(162,137,171,.24),transparent 70%),radial-gradient(ellipse 23% 12% at 43% 48%,rgba(162,137,171,.26),transparent 70%);transform:translate(245%,135%) rotate(30deg)}
#page-profile .optical-sweep,#page-profile .completion-refraction{display:none}
@keyframes pv197Reflection{from{translate:0 -1%;opacity:.32}to{translate:-2% 2%;opacity:.65}}
@keyframes pv197Floral{from{transform:rotate(-2deg)}to{transform:rotate(2deg)}}
@media(max-width:760px){#page-profile .botanical-shadow{width:65%;height:43%;opacity:.22;filter:blur(10px)}#page-profile .optical-field::before,#page-profile .optical-field::after{width:95%;filter:none}#page-profile .optical-field::before{right:-78%}#page-profile .optical-field::after{left:-85%}}
@media(prefers-reduced-motion:reduce){#page-profile .optical-field::before,#page-profile .optical-field::after,#page-profile .botanical-shadow{animation:none}}


/* V198 performance: no visual redesign; turn off the costly velocity-glass filter ONLY during the short chapter transition */
#page-profile.pv197-fast-transition .profile-master-sticky>.unified-velocity{
  opacity:0;filter:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
#page-profile.pv197-fast-transition .profile-master-sticky .character img,
#page-profile.pv197-fast-transition .profile-master-sticky .companion-photo img,
#page-profile.pv197-fast-transition .profile-master-sticky .ending-album{
  backface-visibility:hidden;
}


/* V199: retained visual design; during chapter morph rely on composite-only opacity/transform. */
#page-profile.pv197-fast-transition .profile-stage .intro,
#page-profile.pv197-fast-transition .profile-stage .fact,
#page-profile.pv197-fast-transition .profile-stage .character,
#page-profile.pv197-fast-transition .profile-stage .character img,
#page-profile.pv197-fast-transition .companions-stage .companions-heading,
#page-profile.pv197-fast-transition .companions-stage .companion,
#page-profile.pv197-fast-transition .companions-stage .companion-photo,
#page-profile.pv197-fast-transition .companions-stage .companion-host,
#page-profile.pv197-fast-transition .ending-stage .ending-heading,
#page-profile.pv197-fast-transition .ending-stage .ending-host,
#page-profile.pv197-fast-transition .ending-stage .ending-album,
#page-profile.pv197-fast-transition .ending-stage .lyrics-wrap,
#page-profile.pv197-fast-transition .profile-master-sticky>.shared-album-morph .shared-source-photo,
#page-profile.pv197-fast-transition .profile-master-sticky>.shared-album-morph .shared-sleeve-face{
  filter:none;-webkit-filter:none;
}
#page-profile.pv197-fast-transition .profile-stage .intro,
#page-profile.pv197-fast-transition .profile-stage .character,
#page-profile.pv197-fast-transition .companions-stage .companions-heading,
#page-profile.pv197-fast-transition .companions-stage .companion,
#page-profile.pv197-fast-transition .ending-stage .ending-heading,
#page-profile.pv197-fast-transition .ending-stage .ending-album,
#page-profile.pv197-fast-transition .ending-stage .lyrics-wrap,
#page-profile.pv197-fast-transition .profile-master-sticky>.shared-album-morph{
  will-change:transform,opacity;
  backface-visibility:hidden;
}
/* Avoid expensive live backdrop surfaces while still preserving the resting atmosphere. */
#page-profile.pv197-fast-transition .profile-master-sticky .companion-photo::after{
  filter:none;
}
@media(prefers-reduced-motion:reduce){
  #page-profile.pv197-fast-transition .profile-master-sticky>.shared-album-morph{will-change:auto}
}

#page-gallery #igSoopTab svg{width:38px;height:24px}
#page-gallery #igFollowingOpen{border:0;background:none;box-shadow:none;padding:0;color:#000;font:inherit;cursor:pointer;display:inline-flex;gap:4px;align-items:baseline}
#igFollowingDialog{padding:0;border:0;border-radius:12px;background:#fff;color:#262626;width:min(400px,calc(100vw - 32px));max-height:min(520px,80dvh);box-shadow:0 16px 70px #0003;font:14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;overflow:hidden}
#igFollowingDialog::backdrop{background:rgba(0,0,0,.65)}
#igFollowingDialog header{height:48px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #dbdbdb;position:relative}
#igFollowingDialog h2{font:600 16px/24px inherit;margin:0;font-size:16px}
#igFollowingClose{position:absolute;right:12px;top:7px;border:0;background:none;color:#262626;font-size:28px;line-height:32px;padding:0 6px;cursor:pointer;box-shadow:none}
.following-search{padding:12px 16px}
#igFollowingSearch{width:100%;border:0;border-radius:8px;background:#efefef;color:#262626;padding:9px 12px;font:inherit;outline-offset:2px;box-shadow:none}
#igFollowingList{overflow-y:auto;max-height:min(400px,calc(80dvh - 110px));min-height:180px;padding:0 0 12px}
.following-row{display:flex;align-items:center;gap:12px;padding:8px 16px}
.following-avatar{flex:none;width:44px;height:44px;border-radius:50%;overflow:hidden;background:#efefef}
.following-avatar img{width:100%;height:100%;object-fit:cover}
.following-name{min-width:0;flex:1;text-decoration:none;color:#262626;display:flex;flex-direction:column;gap:2px}
.following-name strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.following-name span{color:#737373;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.following-state{color:#262626;background:#efefef;border-radius:8px;font-weight:600;font-size:12px;padding:7px 18px;text-decoration:none;white-space:nowrap}
.following-empty{text-align:center;color:#737373;padding:50px 12px}
#followingAdmin{margin:24px 0;padding:24px;border:1px solid #ddd;border-radius:16px;background:#fff;color:#262626}
#followingForm>div{display:flex;gap:8px;margin-top:8px}#followingUrl{flex:1;min-width:0;padding:12px}#followingAdminList{max-height:400px;overflow:auto;margin:16px 0}#followingAdminStatus{min-height:24px}

#page-gallery #igSoopTab .ig-soop-mark{display:block;width:44px;height:24px;background:currentColor;-webkit-mask:url("soop-instagram-mask.svg") center/contain no-repeat;mask:url("soop-instagram-mask.svg") center/contain no-repeat}

#page-gallery #igSoopTab .ig-soop-mark{flex:none}


/* Chustagram: lavender site surround, uninterrupted white content surface. */
body #page-gallery.page{background:transparent;min-height:100vh;padding:100px 24px 48px;isolation:isolate}
body #page-gallery.page::before,body #page-gallery.page::after{display:none}
body #page-gallery .ig-shell{width:100%;max-width:1007px;margin:0 auto;padding:36px 36px 28px;background:#fff;border:0;border-radius:16px;box-shadow:0 8px 32px rgba(91,65,116,.055);min-height:calc(100vh - 148px);overflow:hidden}
body #page-gallery #galleryGrid,body #page-gallery .ig-empty,body #page-gallery #igVideoPanel{background:#fff;background-image:none}
body #page-gallery #galleryGrid:not([hidden]):has(.ig-empty){display:block;min-height:310px}
body #page-gallery .ig-empty{width:100%;min-height:310px;border:0;border-radius:0;box-shadow:none;margin:0;padding:64px 20px 72px}
body #page-gallery .ig-empty::before,body #page-gallery .ig-empty::after{display:none}
body #page-gallery #igStatus{background:#fff;margin-bottom:0}
@media(max-width:735px){
 body:has(#page-gallery.active),body:has(#page-gallery.active) main{background:#fff}
 body #page-gallery.page{background:#fff;padding:78px 0 24px;min-height:100dvh}
 body #page-gallery .ig-shell{padding:0 0 24px;min-height:calc(100dvh - 102px);border-radius:0;box-shadow:none}
}

body #page-gallery #galleryGrid[hidden],body #page-gallery #igVideoPanel[hidden],body #page-gallery #igStatus[hidden]{display:none}
/* Gallery entrance is owned by theater.js; nested CSS entrance transforms retired. */

}
