:root{--bg:#090914;--panel:rgba(255,255,255,.075);--panel2:rgba(255,255,255,.105);--text:#fff7fb;--muted:#b9abc3;--line:rgba(255,255,255,.12);--pink:#ff4fa3;--violet:#8b5cf6;--blue:#38bdf8;--gold:#ffd166;--radius:28px;--shadow:0 24px 80px rgba(0,0,0,.38)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(circle at 20% -10%,#2d1748 0,#090914 35%,#070711 100%);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.bg-glow{position:fixed;inset:auto;pointer-events:none;filter:blur(4px);z-index:-1}.bg-glow-one{width:420px;height:420px;left:-140px;top:120px;background:radial-gradient(circle,rgba(255,79,163,.22),transparent 65%)}.bg-glow-two{width:520px;height:520px;right:-180px;top:320px;background:radial-gradient(circle,rgba(56,189,248,.18),transparent 70%)}.site-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr minmax(240px,380px);gap:18px;align-items:center;padding:16px clamp(16px,4vw,56px);backdrop-filter:blur(22px);background:rgba(9,9,20,.72);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.2px}.brand img{width:42px;height:42px;object-fit:contain}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:16px;background:linear-gradient(135deg,var(--pink),var(--violet));box-shadow:0 10px 30px rgba(255,79,163,.28)}.main-nav{display:flex;gap:8px;justify-content:center}.main-nav a,.header-search button,.btn{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:10px 16px;color:var(--text);font-weight:800;transition:.18s ease}.main-nav a:hover,.main-nav a.active,.btn:hover{background:var(--panel2);transform:translateY(-1px)}.header-search{display:flex;gap:8px}.header-search input,.filters input,.filters select{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.07);border-radius:18px;color:var(--text);padding:12px 14px;outline:none}.header-search input::placeholder,.filters input::placeholder{color:#9f91aa}.header-search button{cursor:pointer}.section{width:min(1220px,calc(100% - 32px));margin:0 auto;padding:38px 0}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;min-height:calc(100vh - 92px);padding-top:56px}.hero-copy,.hero-panel,.filters-section,.dorama-hero-inner,.watch-main,.watch-sidebar,.empty-box{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.055));box-shadow:var(--shadow);border-radius:var(--radius)}.hero-copy{padding:clamp(24px,5vw,58px)}.eyebrow{display:inline-flex;width:max-content;border:1px solid rgba(255,79,163,.34);background:rgba(255,79,163,.12);color:#ffd8ea;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.hero h1,.page-title h1,.dorama-info h1,.watch-main h1{font-size:clamp(38px,7vw,82px);line-height:.94;margin:18px 0 18px;letter-spacing:-.06em}.hero p,.page-title p,.description,.watch-subtitle{color:var(--muted);font-size:clamp(16px,2vw,19px);line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.btn.primary{background:linear-gradient(135deg,var(--pink),var(--violet));border-color:transparent;box-shadow:0 16px 36px rgba(255,79,163,.25)}.btn.ghost{background:rgba(255,255,255,.06)}.stats-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.stats-row span{padding:12px 14px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.06);color:var(--muted)}.stats-row b{color:#fff;font-size:22px}.hero-panel{padding:18px;display:grid;gap:14px}.hero-mini-card{display:grid;grid-template-columns:86px 1fr;gap:14px;align-items:center;padding:12px;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid var(--line)}.hero-mini-card img{width:86px;height:118px;object-fit:cover;border-radius:18px}.hero-mini-card b{display:block;font-size:18px}.hero-mini-card small,.card-meta,.genre-line,.watch-description{display:block;color:var(--muted);margin-top:6px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head h2{font-size:clamp(26px,4vw,42px);margin:0;letter-spacing:-.04em}.section-head a,.section-head span{color:#ffd8ea;font-weight:900}.chips{display:flex;gap:10px;flex-wrap:wrap}.chips a,.chips span,.meta-pills a,.meta-pills span{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.075);border:1px solid var(--line);color:#f7e9ff;font-weight:800}.chips.small a{font-size:13px;padding:8px 11px}.cards-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}.dorama-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:rgba(255,255,255,.07);transition:.18s ease}.dorama-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.105);box-shadow:0 18px 42px rgba(0,0,0,.24)}.poster-wrap{position:relative;aspect-ratio:2/3;background:linear-gradient(135deg,rgba(255,79,163,.25),rgba(139,92,246,.18));overflow:hidden}.poster-wrap img{width:100%;height:100%;object-fit:cover}.poster-placeholder,.big-poster span{display:grid;place-items:center;width:100%;height:100%;font-size:64px;font-weight:900;color:#ffe0f0}.poster-badge{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.58);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.card-body{padding:13px}.card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:900;line-height:1.25}.episode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.episode-card{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;border:1px solid var(--line);background:rgba(255,255,255,.07);border-radius:24px;padding:12px}.episode-card img{width:96px;height:64px;object-fit:cover;border-radius:16px}.episode-card b{display:block}.episode-card small{display:block;color:var(--muted);margin-top:5px}.filters-section{padding:18px;margin-top:0}.filters{display:grid;grid-template-columns:1.2fr repeat(5,1fr) auto auto;gap:10px}.filters select{appearance:none}.page-title{padding-bottom:18px}.pagination-wrap{margin-top:28px;color:var(--muted)}.pagination-wrap nav{display:flex;justify-content:center}.pagination-wrap a,.pagination-wrap span{margin:3px}.dorama-hero{position:relative;min-height:620px;background-image:linear-gradient(90deg,rgba(9,9,20,.96),rgba(9,9,20,.76),rgba(9,9,20,.94)),var(--cover);background-size:cover;background-position:center}.dorama-hero-inner{width:min(1220px,calc(100% - 32px));margin:0 auto;display:grid;grid-template-columns:300px 1fr;gap:34px;align-items:end;padding:120px 28px 34px;background:transparent;box-shadow:none;border:0}.big-poster{aspect-ratio:2/3;border-radius:32px;overflow:hidden;background:rgba(255,255,255,.08);box-shadow:var(--shadow);border:1px solid var(--line)}.big-poster img{width:100%;height:100%;object-fit:cover}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;color:#d6c9df;font-weight:800;margin-bottom:12px}.breadcrumbs a{color:#fff}.original-title{color:#ffd8ea;margin:-8px 0 16px}.meta-pills{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.episode-list{display:grid;gap:10px}.episode-list a{display:grid;grid-template-columns:120px 1fr auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.065)}.episode-list span{color:var(--muted)}.episode-list em{font-style:normal;color:#ffd8ea;font-weight:900}.watch-shell{width:min(1440px,calc(100% - 32px));margin:0 auto;padding:34px 0;display:grid;grid-template-columns:1fr 330px;gap:20px}.watch-main,.watch-sidebar{padding:20px}.watch-main h1{font-size:clamp(28px,4vw,52px);margin-bottom:6px}.player-box{position:relative;aspect-ratio:16/9;border-radius:28px;overflow:hidden;background:#000;border:1px solid var(--line);box-shadow:var(--shadow);margin-top:18px}.player-box iframe,.player-box video{width:100%;height:100%;border:0;background:#000}.empty-player{height:100%;display:grid;place-items:center;text-align:center;color:var(--muted);padding:24px}.source-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.source-row a{border:1px solid var(--line);border-radius:999px;padding:10px 14px;background:rgba(255,255,255,.07);font-weight:800}.watch-description{border:1px solid var(--line);border-radius:22px;padding:16px;margin-top:16px;background:rgba(255,255,255,.055);line-height:1.7}.watch-sidebar{position:sticky;top:90px;height:calc(100vh - 112px);overflow:hidden}.side-title{display:block;font-size:20px;font-weight:900;margin-bottom:14px}.episode-scroll{display:grid;gap:8px;overflow:auto;max-height:calc(100% - 44px);padding-right:4px}.episode-scroll a{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;padding:10px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid var(--line)}.episode-scroll a.active{background:linear-gradient(135deg,rgba(255,79,163,.30),rgba(139,92,246,.25));border-color:rgba(255,255,255,.25)}.episode-scroll b{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.09)}.episode-scroll span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.empty-box{padding:24px;color:var(--muted);grid-column:1/-1}.site-footer{width:min(1220px,calc(100% - 32px));margin:30px auto 0;padding:28px 0 42px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted)}.site-footer b{color:#fff}.site-footer p{margin:6px 0 0}.site-footer a{font-weight:900;color:#ffd8ea}@media(max-width:1100px){.site-header{grid-template-columns:1fr;gap:12px}.main-nav{justify-content:flex-start;overflow:auto}.hero,.watch-shell{grid-template-columns:1fr}.cards-grid{grid-template-columns:repeat(4,1fr)}.episode-grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:repeat(2,1fr)}.watch-sidebar{position:static;height:auto}.dorama-hero-inner{grid-template-columns:220px 1fr}}@media(max-width:720px){.section{width:min(100% - 22px,1220px);padding:26px 0}.site-header{padding:12px}.brand span:last-child{font-size:14px}.header-search{grid-template-columns:1fr auto}.hero{min-height:auto;padding-top:28px}.hero-copy{padding:24px}.hero h1,.page-title h1,.dorama-info h1{font-size:42px}.cards-grid{grid-template-columns:repeat(2,1fr);gap:12px}.episode-grid{grid-template-columns:1fr}.episode-card{grid-template-columns:82px 1fr}.filters{grid-template-columns:1fr}.dorama-hero{min-height:auto}.dorama-hero-inner{grid-template-columns:1fr;padding:92px 14px 26px;width:min(100% - 22px,1220px)}.big-poster{width:180px}.episode-list a{grid-template-columns:1fr}.episode-list em{display:none}.watch-shell{width:min(100% - 22px,1440px);padding-top:18px}.watch-main,.watch-sidebar{padding:14px;border-radius:22px}.player-box{border-radius:18px}.site-footer{display:block}.hero-panel{box-shadow:none}.meta-pills a,.meta-pills span,.chips a{font-size:13px}.main-nav a{white-space:nowrap}.hero-mini-card{grid-template-columns:70px 1fr}.hero-mini-card img{width:70px;height:96px}.card-body{padding:10px}.card-title{font-size:14px}.card-meta,.genre-line{font-size:12px}}

/* Closed public site placeholder */
.closed-body{
    min-height:100vh;
    overflow:hidden;
    background:
        radial-gradient(circle at 15% 20%, rgba(255, 107, 171, .22), transparent 34%),
        radial-gradient(circle at 85% 12%, rgba(125, 92, 255, .24), transparent 35%),
        linear-gradient(135deg, #100817 0%, #171029 48%, #090812 100%);
}
.closed-page{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px;
    position:relative;
}
.closed-page:before{
    content:"";
    position:absolute;
    inset:8%;
    border:1px solid rgba(255,255,255,.08);
    border-radius:42px;
    pointer-events:none;
}
.closed-card{
    width:min(720px, 100%);
    padding:42px;
    border-radius:36px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 30px 120px rgba(0,0,0,.42);
    backdrop-filter: blur(22px);
    color:#fff;
    text-align:center;
}
.closed-logo{
    width:92px;
    height:92px;
    margin:0 auto 22px;
    border-radius:28px;
    display:grid;
    place-items:center;
    flex-shrink:0;
    min-width:88px;
    background:linear-gradient(135deg, #ff6bab, #7d5cff);
    box-shadow:0 18px 45px rgba(255,107,171,.32);
    overflow:hidden;
}
.closed-logo img{width:100%;height:100%;object-fit:cover;}
.closed-logo span{font-weight:900;font-size:30px;letter-spacing:-.08em;}
.closed-kicker{
    margin:0 0 10px;
    color:#ffd8eb;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:12px;
}
.closed-card h1{
    margin:0 auto 16px;
    max-width:620px;
    font-size:clamp(34px, 7vw, 66px);
    line-height:.98;
    letter-spacing:-.06em;
}
.closed-card p{
    margin:0 auto 12px;
    max-width:560px;
    color:rgba(255,255,255,.78);
    font-size:17px;
    line-height:1.7;
}
.closed-note{
    color:rgba(255,255,255,.66)!important;
}
.closed-admin-link{
    display:inline-flex;
    margin-top:18px;
    padding:13px 20px;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    color:#fff;
    text-decoration:none;
    border:1px solid rgba(255,255,255,.18);
    font-weight:800;
}
@media (max-width:640px){
    .closed-page{padding:16px;}
    .closed-page:before{display:none;}
    .closed-card{padding:30px 22px;border-radius:28px;}
    .closed-logo{width:76px;height:76px;border-radius:24px;}
}

/* Auth + public homepage polish */
.site-header-auth{grid-template-columns:auto auto minmax(220px,360px) auto}.auth-nav{display:flex;align-items:center;justify-content:flex-end;gap:9px}.auth-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:rgba(255,255,255,.075);border-radius:999px;padding:10px 15px;color:var(--text);font-weight:900;cursor:pointer;font-family:inherit}.auth-link.primary{background:linear-gradient(135deg,var(--pink),var(--violet));border-color:transparent;box-shadow:0 14px 28px rgba(255,79,163,.22)}.auth-link.logout{background:rgba(255,255,255,.05)}.user-pill{display:flex;align-items:center;gap:9px;min-width:0;max-width:220px;border:1px solid var(--line);background:rgba(255,255,255,.075);border-radius:999px;padding:7px 12px 7px 7px}.user-pill img,.user-pill span{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:0 0 auto}.user-pill span{display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),var(--violet));font-weight:900}.user-pill b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-page{min-height:calc(100vh - 170px);display:grid;place-items:center}.auth-card{width:min(480px,100%);border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.06));box-shadow:var(--shadow);border-radius:34px;padding:32px}.auth-card.wide{width:min(720px,100%)}.auth-card h1{font-size:clamp(34px,6vw,58px);line-height:.95;letter-spacing:-.06em;margin:16px 0 12px}.auth-card p{color:var(--muted);line-height:1.65}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:20px 0 18px;padding:14px 16px;border-radius:18px;background:#fff;color:#15111b;font-weight:900}.google-btn span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#4285f4,#34a853,#fbbc05,#ea4335);color:#fff;font-weight:900}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-weight:800;font-size:13px;margin:18px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:7px}.auth-form label span{font-weight:900}.auth-form input{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.075);border-radius:18px;color:var(--text);padding:13px 14px;outline:none;font:inherit}.auth-form input:focus{border-color:rgba(255,79,163,.55);box-shadow:0 0 0 4px rgba(255,79,163,.12)}.auth-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-line{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px;color:var(--muted);font-weight:700}.check-line input{width:auto}.auth-submit{width:100%;border:0;cursor:pointer;font-family:inherit;font-size:16px}.auth-bottom{text-align:center;margin:18px 0 0!important}.auth-bottom a{color:#ffd8ea;font-weight:900}.field-error{color:#ff9cbe;font-weight:800}.nickname-status{color:var(--muted);font-weight:800}.nickname-status[data-state="good"]{color:#8ff0b2}.nickname-status[data-state="bad"]{color:#ff9cbe}.nickname-status[data-state="wait"]{color:#ffd166}.hero-copy{position:relative;overflow:hidden}.hero-copy:before{content:"";position:absolute;inset:-50% -20% auto auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,79,163,.22),transparent 65%);pointer-events:none}.hero-auth-card{margin-top:24px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.hero-auth-card .mini-note{color:var(--muted);font-weight:700}.home-auth-strip{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;border:1px solid var(--line);background:linear-gradient(135deg,rgba(255,79,163,.13),rgba(139,92,246,.12));border-radius:28px;padding:22px;box-shadow:var(--shadow)}.home-auth-strip h2{margin:0;font-size:clamp(24px,3vw,38px);letter-spacing:-.04em}.home-auth-strip p{margin:6px 0 0;color:var(--muted);line-height:1.6}.home-auth-actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:1180px){.site-header-auth{grid-template-columns:1fr}.auth-nav{justify-content:flex-start;overflow:auto}.user-pill{max-width:100%}}@media(max-width:720px){.auth-card{padding:24px;border-radius:26px}.auth-two{grid-template-columns:1fr}.home-auth-strip{grid-template-columns:1fr}.home-auth-actions .btn{width:100%;justify-content:center}.auth-nav{gap:7px}.auth-link{padding:9px 12px}.user-pill b{max-width:150px}}

/* =========================================================
   Full Moon exact-home refresh
   ========================================================= */
body.site-body{
    background:#070b16;
    color:#fff;
}
.site-header-fm{
    position:sticky;
    top:0;
    z-index:60;
    display:block;
    padding:0;
    background:rgba(8, 12, 25, .92);
    border-bottom:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(18px);
}
.site-header-inner{
    width:min(1340px, calc(100% - 24px));
    margin:0 auto;
    min-height:76px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:18px;
    align-items:center;
}
.brand-fm{
    gap:12px;
    min-width:0;
}
.brand-fm img.brand-logo-img{
    display:block;
    height:auto;
    max-height:64px;
    object-fit:contain;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    flex:0 0 auto;
}
.brand-logo-only img.brand-logo-img{
    max-height:72px;
}
.brand-moon{
    width:54px;
    height:54px;
    border-radius:50%;
    display:grid;
    place-items:center;
    flex-shrink:0;
    min-width:88px;
    background:radial-gradient(circle at 35% 35%, #ddd9ff, #9d6bf8 42%, #301548 76%, #161123 100%);
    box-shadow:0 0 0 1px rgba(255,255,255,.06), 0 12px 28px rgba(82,33,139,.45);
    font-size:28px;
}
.brand-texts{
    display:flex;
    flex-direction:column;
    line-height:1;
}
.brand-texts strong{
    font-size:15px;
    letter-spacing:.06em;
    font-weight:900;
}
.brand-texts small{
    font-size:11px;
    color:#b4b0c6;
    text-transform:uppercase;
    letter-spacing:.18em;
    margin-top:5px;
}
.fm-nav{
    justify-content:flex-start;
    gap:4px;
}
.fm-nav a{
    border:none;
    background:transparent;
    padding:28px 16px 24px;
    border-radius:0;
    color:#d3cfdb;
    font-size:15px;
    font-weight:700;
    position:relative;
    transform:none!important;
}
.fm-nav a:hover,
.fm-nav a.active{
    background:transparent;
    color:#b46dff;
}
.fm-nav a.active::after,
.fm-nav a:hover::after{
    content:"";
    position:absolute;
    left:16px;
    right:16px;
    bottom:10px;
    height:3px;
    border-radius:999px;
    background:linear-gradient(90deg,#7f48ff,#b877ff);
}
.header-controls{
    display:flex;
    align-items:center;
    gap:12px;
}
.fm-search{
    display:flex;
    align-items:center;
    gap:10px;
    width:274px;
    padding:0 14px;
    min-height:44px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.03);
    border-radius:999px;
}
.search-icon{
    color:#c8c3d9;
    font-size:18px;
    opacity:.9;
}
.fm-search input{
    border:0;
    background:transparent;
    outline:none;
    color:#fff;
    padding:0;
    font-size:15px;
}
.fm-search input::placeholder{color:#8f8aa5}
.fm-login-btn{
    min-width:110px;
    min-height:44px;
    background:linear-gradient(135deg,#9e5cff,#8a45fb);
    box-shadow:none;
}
.theme-button{
    width:42px;
    height:42px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.04);
    color:#ddd4f8;
    font-size:18px;
    cursor:pointer;
}
.fm-user-pill{max-width:180px}

.fm-hero{
    position:relative;
    min-height:var(--home-hero-min-height, 620px);
    overflow:hidden;
    border-bottom:1px solid rgba(255,255,255,.06);
    background:linear-gradient(180deg, #0b1020 0%, #0b1020 8%, #0a0f1d 100%);
}
.fm-hero-bg{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 24% 34%, rgba(222, 216, 255, .32) 0, rgba(208, 200, 255, .18) 12%, rgba(162, 137, 255, .08) 22%, transparent 24%),
        linear-gradient(180deg, rgba(12,18,37,.08), rgba(10,15,30,.28)),
        linear-gradient(90deg, rgba(12,16,30,.24), rgba(15,12,30,.08) 48%, rgba(15,12,30,.28)),
        linear-gradient(180deg, rgba(10,10,20,.00), rgba(10,10,20,.55) 72%, rgba(7,11,22,.92) 100%),
        var(--hero-cover, linear-gradient(135deg, #182038, #0b1020));
    background-size:cover;
    background-position:center;
    filter:brightness(var(--home-hero-brightness, .55)) saturate(.9);
}
.fm-hero-overlay{
    position:absolute;
    inset:0;
    opacity:var(--home-hero-overlay-opacity, 1);
    background:
        linear-gradient(90deg, rgba(7,11,22,.42) 0, rgba(7,11,22,.12) 35%, rgba(7,11,22,.36) 100%),
        linear-gradient(180deg, rgba(7,11,22,.08) 0, rgba(7,11,22,.22) 100%);
}
.fm-hero-decor{position:absolute;pointer-events:none}
.fm-hero-moon{
    left:90px;
    top:72px;
    width:320px;
    height:320px;
    border-radius:50%;
    background:
      radial-gradient(circle at 38% 36%, rgba(255,255,255,.72), rgba(210,210,255,.45) 18%, rgba(181,166,255,.28) 48%, rgba(255,255,255,.06) 68%, transparent 69%),
      radial-gradient(circle at 55% 58%, rgba(255,255,255,.10), transparent 36%),
      radial-gradient(circle at 44% 48%, rgba(255,255,255,.08), transparent 42%);
    box-shadow:0 0 75px rgba(195,185,255,.15);
    opacity:.9;
}
.fm-hero-branch{
    right:-30px;
    top:30px;
    width:540px;
    height:240px;
    background:
      radial-gradient(circle at 10% 35%, rgba(120,50,120,.44) 0 4px, transparent 5px),
      radial-gradient(circle at 15% 40%, rgba(155,92,155,.52) 0 5px, transparent 6px),
      radial-gradient(circle at 22% 28%, rgba(165,109,175,.46) 0 6px, transparent 7px),
      radial-gradient(circle at 28% 45%, rgba(146,80,150,.44) 0 5px, transparent 6px),
      radial-gradient(circle at 32% 18%, rgba(175,110,165,.38) 0 6px, transparent 7px),
      radial-gradient(circle at 38% 30%, rgba(171,94,168,.46) 0 5px, transparent 6px),
      linear-gradient(115deg, transparent 0 34%, rgba(45,28,38,.95) 35% 36%, transparent 37%),
      linear-gradient(128deg, transparent 0 46%, rgba(39,22,33,.9) 47% 48%, transparent 49%),
      linear-gradient(136deg, transparent 0 58%, rgba(39,22,33,.82) 59% 60%, transparent 61%);
    opacity:.62;
    filter:blur(.2px);
}
.fm-hero-inner{
    position:relative;
    z-index:2;
    width:min(1340px, calc(100% - 24px));
    margin:0 auto;
    min-height:var(--home-hero-min-height, 620px);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.fm-hero-content{
    max-width:760px;
    padding:100px 16px 80px;
}
.fm-kicker{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 18px;
    border-radius:999px;
    font-weight:900;
    text-transform:uppercase;
    font-size:14px;
    color:#ead5ff;
    background:rgba(127,72,255,.22);
    border:1px solid rgba(175,114,255,.2);
    margin-bottom:18px;
}
.fm-hero h1{
    margin:0;
    font-size:clamp(54px, 8vw, 88px);
    line-height:.95;
    font-weight:900;
    letter-spacing:-.06em;
}
.fm-hero h1 span{color:#a864ff}
.fm-hero p{
    margin:18px 0 0;
    font-size:clamp(18px, 2.2vw, 24px);
    color:#d8d6e4;
}
.fm-hero-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:34px;
    flex-wrap:wrap;
}
.fm-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-width:200px;
    min-height:58px;
    padding:0 22px;
    border-radius:16px;
    font-size:18px;
    font-weight:800;
    border:1px solid rgba(255,255,255,.10);
}
.fm-btn-primary{
    background:linear-gradient(135deg,#9860ff,#8a45fb);
    box-shadow:0 18px 34px rgba(104,44,200,.28);
}
.fm-btn-secondary{
    background:rgba(255,255,255,.05);
    color:#fff;
}
.fm-home-wrap{
    width:min(1340px, calc(100% - 24px));
    margin:0 auto;
    padding:0 0 34px;
}
.fm-home-grid{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 336px;
    gap:0;
    border-left:1px solid rgba(255,255,255,.06);
    border-right:1px solid rgba(255,255,255,.06);
    border-bottom:1px solid rgba(255,255,255,.06);
    background:#090f1d;
}
.fm-main-column{min-width:0}
.fm-sidebar-column{
    border-left:1px solid rgba(255,255,255,.06);
    min-width:0;
}
.fm-panel{
    padding:26px 24px;
    background:transparent;
}
.fm-genres-panel{padding-top:10px}
.fm-section-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:20px;
}
.fm-section-head.small-gap{margin-bottom:18px}
.fm-title-with-icon{
    display:flex;
    align-items:center;
    gap:10px;
}
.fm-title-with-icon h2{
    margin:0;
    font-size:20px;
    font-weight:800;
}
.fm-mini-icon{font-size:18px}
.fm-section-head a{
    color:#a864ff;
    font-weight:700;
    font-size:18px;
}
.fm-dorama-grid{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:14px;
}
.fm-dorama-card{
    display:block;
    border:1px solid rgba(255,255,255,.09);
    background:rgba(255,255,255,.02);
    border-radius:12px;
    overflow:hidden;
    transition:.18s ease;
}
.fm-dorama-card:hover{
    transform:translateY(-2px);
    border-color:rgba(168,100,255,.35);
    box-shadow:0 10px 24px rgba(0,0,0,.16);
}
.fm-dorama-poster{
    aspect-ratio: .73;
    background:linear-gradient(135deg,#171d31,#242447);
    overflow:hidden;
}
.fm-dorama-poster img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.fm-dorama-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    flex-shrink:0;
    min-width:88px;
    font-size:64px;
    font-weight:900;
    color:#fff;
}
.fm-dorama-meta{
    padding:14px 14px 16px;
}
.fm-dorama-meta strong{
    display:block;
    font-size:16px;
    font-weight:700;
    line-height:1.28;
    min-height:42px;
}
.fm-dorama-meta span{
    display:block;
    margin-top:8px;
    color:#979db2;
    font-size:14px;
}
.fm-genre-list{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.fm-genre-list a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 18px;
    border-radius:12px;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.07);
    color:#d7d9e2;
    font-size:16px;
    font-weight:600;
}
.fm-news-panel{height:100%}
.fm-news-list{
    display:grid;
    gap:18px;
}
.fm-news-item{
    display:grid;
    grid-template-columns:74px 1fr;
    gap:14px;
    align-items:start;
}
.fm-news-thumb{
    width:74px;
    height:74px;
    border-radius:12px;
    overflow:hidden;
    background:linear-gradient(135deg,#241e3d,#3b2656);
    display:grid;
    place-items:center;
    flex-shrink:0;
    min-width:88px;
    color:#fff;
}
.fm-news-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.fm-news-content h3{
    margin:0 0 6px;
    font-size:18px;
    font-weight:700;
    line-height:1.22;
}
.fm-news-content p{
    margin:0 0 10px;
    color:#a8afc1;
    line-height:1.45;
    font-size:15px;
}
.fm-news-content time{
    color:#8e94a8;
    font-size:14px;
}
.fm-sidebar-button{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    border-radius:12px;
    margin-top:18px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.02);
    color:#a864ff;
    font-size:18px;
    font-weight:700;
}

@media (max-width: 1180px){
    .site-header-inner{
        grid-template-columns:1fr;
        gap:10px;
        padding:12px 0;
    }
    .fm-nav{overflow:auto}
    .fm-nav a{padding:14px 12px 18px; white-space:nowrap}
    .header-controls{justify-content:flex-start;flex-wrap:wrap}
    .fm-home-grid{grid-template-columns:1fr}
    .fm-sidebar-column{border-left:none;border-top:1px solid rgba(255,255,255,.06)}
    .fm-dorama-grid{grid-template-columns:repeat(4, minmax(0, 1fr))}
}
@media (max-width: 900px){
    .fm-hero{min-height:var(--home-hero-min-height, 540px)}
    .fm-hero-inner{min-height:var(--home-hero-min-height, 540px)}
    .fm-hero-moon{left:20px; top:65px; width:210px; height:210px; opacity:.75}
    .fm-hero-branch{right:-70px; width:320px; height:180px; opacity:.45}
    .fm-dorama-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (max-width: 640px){
    .site-header-inner{width:min(100% - 16px, 1340px)}
    .brand-texts strong{font-size:13px}
    .brand-texts small{font-size:10px}
    .brand-moon{width:46px;height:46px;font-size:24px}
    .brand-fm img.brand-logo-img{max-height:52px}
    .fm-search{width:100%}
    .header-controls{display:grid;grid-template-columns:1fr auto auto;width:100%}
    .fm-login-btn{min-width:98px}
    .theme-button{width:40px;height:40px}
    .fm-home-wrap{width:min(100% - 16px, 1340px)}
    .fm-hero-inner{width:min(100% - 16px, 1340px)}
    .fm-hero-content{padding:88px 6px 54px}
    .fm-kicker{font-size:12px;padding:9px 14px}
    .fm-btn{width:100%;min-width:0;min-height:52px;font-size:17px}
    .fm-panel{padding:20px 16px}
    .fm-title-with-icon h2{font-size:18px}
    .fm-section-head a,.fm-sidebar-button{font-size:16px}
    .fm-news-item{grid-template-columns:64px 1fr}
    .fm-news-thumb{width:64px;height:64px}
    .fm-dorama-meta strong{font-size:15px;min-height:auto}
    .header-controls .user-pill{grid-column:1 / -1}
}

/* =========================================================
   Full Moon catalog page
   ========================================================= */
.fm-catalog-hero{
    position:relative;
    min-height:360px;
    overflow:hidden;
    border-bottom:1px solid rgba(255,255,255,.07);
    background:#070b16;
}
.fm-catalog-bg{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg, rgba(7,11,22,.96), rgba(7,11,22,.72), rgba(7,11,22,.96)),
        var(--catalog-cover, radial-gradient(circle at 25% 20%, rgba(139,92,246,.28), transparent 34%), radial-gradient(circle at 75% 10%, rgba(168,100,255,.18), transparent 34%));
    background-size:cover;
    background-position:center;
    filter:brightness(.8);
}
.fm-catalog-hero:before{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    left:-90px;
    top:10px;
    border-radius:50%;
    background:radial-gradient(circle at 38% 38%, rgba(255,255,255,.7), rgba(171,159,229,.46) 16%, rgba(91,86,130,.42) 46%, rgba(32,35,57,.22) 72%, transparent 73%);
    opacity:.35;
    filter:blur(.2px);
}
.fm-catalog-hero:after{
    content:"";
    position:absolute;
    right:11%;
    top:56px;
    width:360px;
    height:150px;
    opacity:.25;
    background:
        radial-gradient(circle, rgba(168,100,255,.9) 0 7px, transparent 8px) 38px 10px/92px 64px,
        linear-gradient(115deg, transparent 0 34%, rgba(153,80,145,.38) 35% 38%, transparent 39% 100%) 0 0/82px 200px;
}
.fm-catalog-hero-inner{
    position:relative;
    z-index:2;
    width:min(1340px, calc(100% - 24px));
    min-height:360px;
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:28px;
    align-items:center;
    padding:62px 0 44px;
}
.fm-catalog-copy h1{
    margin:16px 0 12px;
    font-size:clamp(44px, 7vw, 88px);
    line-height:.98;
    letter-spacing:-.055em;
    font-weight:900;
    max-width:860px;
}
.fm-catalog-copy p{
    margin:0;
    max-width:780px;
    color:#d9d5e8;
    font-size:clamp(18px, 2vw, 25px);
    line-height:1.48;
}
.fm-catalog-stats{
    display:grid;
    grid-template-columns:repeat(2, minmax(130px,1fr));
    gap:12px;
    min-width:300px;
}
.fm-catalog-stats a{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:16px 18px;
    border-radius:22px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(16px);
}
.fm-catalog-stats a.active,
.fm-catalog-stats a:hover{
    background:linear-gradient(135deg, rgba(154,92,255,.32), rgba(154,92,255,.12));
    border-color:rgba(174,119,255,.55);
}
.fm-catalog-stats b{
    font-size:28px;
    line-height:1;
}
.fm-catalog-stats span{
    color:#c2bfd3;
    font-weight:800;
}
.fm-catalog-wrap{
    padding-top:28px;
}
.fm-catalog-filter{
    display:grid;
    grid-template-columns:1.35fr repeat(5, minmax(130px,1fr)) auto;
    gap:12px;
    align-items:end;
    margin-bottom:26px;
}
.fm-catalog-filter label{
    display:grid;
    gap:8px;
    min-width:0;
}
.fm-catalog-filter label > span{
    color:#b8b3c9;
    font-weight:900;
    font-size:13px;
}
.fm-catalog-filter input,
.fm-catalog-filter select{
    width:100%;
    height:48px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:15px;
    background:rgba(255,255,255,.065);
    color:#fff;
    padding:0 14px;
    outline:none;
    font:inherit;
    font-weight:700;
}
.fm-catalog-filter select option{
    background:#101421;
    color:#fff;
}
.fm-catalog-filter input::placeholder{color:#8f8aa5}
.fm-filter-actions{
    display:flex;
    gap:10px;
    align-items:center;
}
.fm-filter-actions .fm-btn{
    min-height:48px;
    padding:0 18px;
    white-space:nowrap;
}
.fm-catalog-result-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:8px 0 18px;
}
.fm-catalog-result-head h2{
    margin:0;
    font-size:24px;
}
.fm-catalog-result-head > span{
    color:#9e98b7;
    font-weight:800;
}
.fm-catalog-grid{
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:18px;
}
.fm-card-hover{
    background:#111622;
    border-color:rgba(255,255,255,.1);
}
.poster-featured{
    position:absolute;
    top:10px;
    right:10px;
    display:grid;
    place-items:center;
    flex-shrink:0;
    min-width:88px;
    width:34px;
    height:34px;
    border-radius:50%;
    background:linear-gradient(135deg,#ffd166,#9b5cff);
    color:#fff;
    font-weight:900;
    border:1px solid rgba(255,255,255,.35);
    box-shadow:0 10px 24px rgba(0,0,0,.35);
}
.card-type{
    display:inline-flex;
    align-self:flex-start;
    width:max-content;
    margin-bottom:8px;
    padding:5px 8px;
    border-radius:999px;
    color:#d8c6ff;
    background:rgba(154,92,255,.16);
    border:1px solid rgba(154,92,255,.25);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.fm-catalog-empty{
    display:grid;
    gap:8px;
    min-height:180px;
    align-content:center;
    justify-items:center;
    text-align:center;
}
.fm-catalog-empty b{
    color:#fff;
    font-size:24px;
}
.fm-catalog-empty span{
    color:#aaa5bd;
}
.fm-pagination{
    margin:30px 0 10px;
    color:#d9d5e8;
}
.fm-pagination nav{
    display:flex;
    justify-content:center;
}
.fm-pagination svg{
    width:18px;
    height:18px;
}
.fm-pagination a,
.fm-pagination span{
    border-color:rgba(255,255,255,.1)!important;
}
@media(max-width:1240px){
    .fm-catalog-filter{grid-template-columns:repeat(3, minmax(0,1fr));}
    .fm-filter-search{grid-column:1/-1;}
    .fm-filter-actions{grid-column:1/-1;}
    .fm-catalog-grid{grid-template-columns:repeat(4, minmax(0, 1fr));}
}
@media(max-width:900px){
    .fm-catalog-hero-inner{grid-template-columns:1fr;}
    .fm-catalog-stats{min-width:0;width:100%;grid-template-columns:repeat(4, minmax(0,1fr));}
    .fm-catalog-stats a{padding:13px 12px;}
    .fm-catalog-stats b{font-size:22px;}
    .fm-catalog-filter{grid-template-columns:repeat(2, minmax(0,1fr));}
    .fm-catalog-grid{grid-template-columns:repeat(3, minmax(0, 1fr));gap:14px;}
}
@media(max-width:640px){
    .fm-catalog-hero{min-height:auto;}
    .fm-catalog-hero-inner{min-height:auto;padding:42px 0 28px;}
    .fm-catalog-copy h1{font-size:42px;}
    .fm-catalog-copy p{font-size:16px;}
    .fm-catalog-stats{grid-template-columns:repeat(2, minmax(0,1fr));}
    .fm-catalog-filter{grid-template-columns:1fr;padding:16px;}
    .fm-filter-actions{flex-direction:column;align-items:stretch;}
    .fm-filter-actions .fm-btn{width:100%;}
    .fm-catalog-result-head{align-items:flex-start;flex-direction:column;}
    .fm-catalog-grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px;}
    .card-type{font-size:10px;padding:4px 7px;}
}

/* =========================================================
   Full Moon detail / dorama page
   ========================================================= */
.fm-detail-hero{
    position:relative;
    overflow:hidden;
    min-height:650px;
    background:#070b16;
    border-bottom:1px solid rgba(255,255,255,.07);
}
.fm-detail-bg{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg, rgba(7,11,22,.96) 0%, rgba(7,11,22,.72) 44%, rgba(7,11,22,.96) 100%),
        linear-gradient(180deg, rgba(7,11,22,.08) 0%, rgba(7,11,22,.72) 82%, rgba(7,11,22,.96) 100%),
        var(--detail-cover, radial-gradient(circle at 25% 20%, rgba(154,92,255,.32), transparent 34%), radial-gradient(circle at 75% 10%, rgba(168,100,255,.18), transparent 34%));
    background-size:cover;
    background-position:center;
    filter:brightness(.72) saturate(.98);
    transform:scale(1.02);
}
.fm-detail-hero:after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:210px;
    background:linear-gradient(180deg, transparent, #070b16 88%);
    pointer-events:none;
}
.fm-detail-moon{
    position:absolute;
    left:-70px;
    top:72px;
    width:360px;
    height:360px;
    border-radius:50%;
    background:radial-gradient(circle at 38% 36%, rgba(255,255,255,.72), rgba(210,210,255,.45) 18%, rgba(181,166,255,.28) 48%, rgba(255,255,255,.06) 68%, transparent 69%);
    box-shadow:0 0 75px rgba(195,185,255,.15);
    opacity:.34;
    pointer-events:none;
}
.fm-detail-inner{
    position:relative;
    z-index:2;
    width:min(1340px, calc(100% - 24px));
    margin:0 auto;
    min-height:650px;
    display:grid;
    grid-template-columns:310px minmax(0,1fr);
    gap:38px;
    align-items:end;
    padding:112px 0 70px;
}
.fm-detail-poster-card{
    align-self:end;
    display:grid;
    gap:14px;
}
.fm-detail-poster{
    aspect-ratio:2/3;
    overflow:hidden;
    border-radius:30px;
    border:1px solid rgba(255,255,255,.16);
    background:linear-gradient(135deg, rgba(154,92,255,.24), rgba(255,255,255,.05));
    box-shadow:0 30px 90px rgba(0,0,0,.42);
}
.fm-detail-poster img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.fm-detail-poster > span{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    flex-shrink:0;
    min-width:88px;
    color:#dbc7ff;
    font-size:84px;
    font-weight:900;
}
.fm-detail-poster-info{
    display:flex;
    gap:10px;
}
.fm-detail-poster-info span,
.fm-detail-poster-info b{
    flex:1;
    min-height:46px;
    display:grid;
    place-items:center;
    flex-shrink:0;
    min-width:88px;
    border-radius:16px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    color:#d8c6ff;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.fm-detail-poster-info b{
    color:#fff;
    background:linear-gradient(135deg, rgba(154,92,255,.3), rgba(154,92,255,.12));
}
.fm-detail-content{
    max-width:930px;
    padding:0 0 8px;
}
.fm-detail-breadcrumbs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    color:#b8b3c9;
    font-weight:800;
    margin-bottom:18px;
}
.fm-detail-breadcrumbs a{
    color:#fff;
}
.fm-detail-content h1{
    margin:12px 0 10px;
    max-width:980px;
    font-size:clamp(38px, 5.4vw, 68px);
    line-height:.98;
    letter-spacing:-.055em;
    font-weight:900;
}
.fm-detail-original{
    margin:0 0 22px;
    color:#c8c3d9;
    font-size:clamp(17px, 2vw, 22px);
    font-weight:700;
}
.fm-detail-meta-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(120px, 1fr));
    gap:12px;
    margin:22px 0;
}
.fm-detail-meta-grid span,
.fm-detail-meta-grid a{
    display:grid;
    gap:5px;
    min-height:78px;
    padding:14px 16px;
    border-radius:20px;
    background:rgba(255,255,255,.075);
    border:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(16px);
}
.fm-detail-meta-grid small{
    color:#aaa5bd;
    font-weight:900;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.fm-detail-meta-grid b{
    color:#fff;
    font-size:18px;
    line-height:1.1;
}
.fm-detail-genres{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 20px;
}
.fm-detail-genres a{
    padding:9px 13px;
    border-radius:999px;
    background:rgba(154,92,255,.14);
    border:1px solid rgba(154,92,255,.22);
    color:#e8d9ff;
    font-weight:900;
    font-size:13px;
}
.fm-detail-lead{
    max-width:850px;
    margin:0;
    color:#d9d5e8;
    font-size:clamp(17px, 1.8vw, 21px);
    line-height:1.65;
    display:-webkit-box;
    -webkit-line-clamp:4;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.fm-detail-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:30px;
}
.fm-detail-wrap{
    width:min(1340px, calc(100% - 24px));
    margin:0 auto;
    padding:26px 0 0;
}
.fm-detail-layout{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 340px;
    gap:0;
    border:1px solid rgba(255,255,255,.06);
    background:#090f1d;
}
.fm-detail-main{
    min-width:0;
    border-right:1px solid rgba(255,255,255,.06);
}
.fm-detail-description-panel{
    border-bottom:1px solid rgba(255,255,255,.06);
}
.fm-detail-description-text{
    color:#d9d5e8;
    line-height:1.82;
    font-size:17px;
}
.fm-section-counter{
    color:#a864ff;
    font-weight:900;
}
.fm-episode-list-modern{
    display:grid;
    gap:12px;
}
.fm-episode-modern-card{
    display:grid;
    grid-template-columns:150px minmax(0,1fr) auto;
    gap:16px;
    align-items:center;
    padding:12px;
    border-radius:24px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.09);
    transition:.18s ease;
}
.fm-episode-modern-card:hover{
    transform:translateY(-2px);
    background:rgba(255,255,255,.085);
    border-color:rgba(154,92,255,.34);
}
.fm-episode-thumb{
    display:block;
    aspect-ratio:16/9;
    overflow:hidden;
    border-radius:18px;
    background:linear-gradient(135deg, rgba(154,92,255,.24), rgba(255,255,255,.05));
}
.fm-episode-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.fm-episode-thumb > span{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    flex-shrink:0;
    min-width:88px;
    color:#d8c6ff;
    font-size:30px;
    font-weight:900;
}
.fm-episode-info{
    display:grid;
    gap:5px;
    min-width:0;
}
.fm-episode-info small{
    color:#a864ff;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
    font-size:12px;
}
.fm-episode-info b{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:18px;
}
.fm-episode-info em{
    color:#aaa5bd;
    font-style:normal;
    font-weight:700;
}
.fm-episode-play{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border-radius:14px;
    background:rgba(154,92,255,.16);
    color:#e8d9ff;
    border:1px solid rgba(154,92,255,.28);
    font-weight:900;
}
.fm-detail-sidebar{
    min-width:0;
}
.fm-detail-side-card,
.fm-detail-team-card{
    border-bottom:1px solid rgba(255,255,255,.06);
}
.fm-detail-side-card h3,
.fm-detail-team-card h3{
    margin:0 0 18px;
    font-size:22px;
}
.fm-detail-list{
    display:grid;
    gap:10px;
    margin:0;
}
.fm-detail-list div{
    display:flex;
    justify-content:space-between;
    gap:14px;
    padding:13px 0;
    border-bottom:1px solid rgba(255,255,255,.07);
}
.fm-detail-list div:last-child{border-bottom:0}
.fm-detail-list dt{
    color:#aaa5bd;
    font-weight:800;
}
.fm-detail-list dd{
    margin:0;
    text-align:right;
    color:#fff;
    font-weight:900;
}
.fm-detail-team-card{
    background:linear-gradient(135deg, rgba(154,92,255,.12), rgba(154,92,255,.04));
}
.fm-detail-team-card p{
    margin:0 0 16px;
    color:#c8c3d9;
    line-height:1.65;
}
.fm-detail-team-card a{
    display:inline-flex;
    min-height:42px;
    align-items:center;
    justify-content:center;
    padding:0 16px;
    border-radius:14px;
    color:#fff;
    font-weight:900;
    background:rgba(154,92,255,.22);
    border:1px solid rgba(154,92,255,.3);
}
.fm-related-wrap{
    padding-top:22px;
}
.fm-related-grid{
    grid-template-columns:repeat(6, minmax(0, 1fr));
}
@media(max-width:1180px){
    .fm-detail-inner{grid-template-columns:240px 1fr;gap:26px;}
    .fm-detail-meta-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
    .fm-detail-layout{grid-template-columns:1fr;}
    .fm-detail-main{border-right:0;border-bottom:1px solid rgba(255,255,255,.06);}
    .fm-detail-sidebar{display:grid;grid-template-columns:1fr 1fr;}
    .fm-detail-side-card{border-right:1px solid rgba(255,255,255,.06);}
    .fm-related-grid{grid-template-columns:repeat(4, minmax(0,1fr));}
}
@media(max-width:760px){
    .fm-detail-hero{min-height:auto;}
    .fm-detail-inner{min-height:auto;grid-template-columns:1fr;padding:42px 0 44px;align-items:start;}
    .fm-detail-poster-card{width:min(220px, 65vw);margin:0 auto;}
    .fm-detail-content{text-align:left;}
    .fm-detail-content h1{font-size:34px;}
    .fm-detail-meta-grid{grid-template-columns:repeat(2, minmax(0,1fr));gap:9px;}
    .fm-detail-meta-grid span,.fm-detail-meta-grid a{min-height:68px;padding:12px;}
    .fm-detail-lead{-webkit-line-clamp:unset;font-size:16px;}
    .fm-detail-actions .fm-btn{width:100%;}
    .fm-detail-sidebar{grid-template-columns:1fr;}
    .fm-detail-side-card{border-right:0;}
    .fm-episode-modern-card{grid-template-columns:96px minmax(0,1fr);gap:12px;}
    .fm-episode-play{grid-column:1/-1;width:100%;}
    .fm-episode-info b{white-space:normal;}
    .fm-related-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media(max-width:480px){
    .fm-detail-meta-grid{grid-template-columns:1fr;}
    .fm-episode-modern-card{grid-template-columns:1fr;padding:10px;}
    .fm-episode-thumb{width:100%;}
}

/* Dorama cast block */
.fm-cast-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
}
.fm-cast-card{
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    gap:14px;
    align-items:center;
    min-width:0;
    padding:12px;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.10);
    background:linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.045));
    transition:.18s ease;
}
.fm-cast-card:hover{
    transform:translateY(-2px);
    background:linear-gradient(135deg, rgba(155,92,255,.16), rgba(255,255,255,.07));
    border-color:rgba(255,255,255,.18);
}
.fm-cast-photo{
    width:96px;
    aspect-ratio:1/1.18;
    border-radius:20px;
    overflow:hidden;
    background:linear-gradient(135deg, rgba(155,92,255,.35), rgba(255,90,180,.20));
    border:1px solid rgba(255,255,255,.13);
    display:grid;
    place-items:center;
    flex-shrink:0;
    min-width:88px;
}
.fm-cast-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.fm-cast-photo span{
    font-size:34px;
    font-weight:900;
    color:#fff;
}
.fm-cast-body{
    min-width:0;
}
.fm-cast-role{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    margin-bottom:8px;
    padding:5px 9px;
    border-radius:999px;
    background:rgba(155,92,255,.20);
    color:#eadcff;
    border:1px solid rgba(255,255,255,.12);
    font-size:12px;
    font-weight:900;
}
.fm-cast-body h3{
    margin:0;
    font-size:18px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.fm-cast-body small{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.58);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.fm-cast-body p{
    margin:8px 0 0;
    color:rgba(255,255,255,.70);
    line-height:1.35;
}
.fm-cast-body p b{
    color:#fff;
}
@media(max-width:920px){
    .fm-cast-grid{grid-template-columns:1fr;}
}
@media(max-width:520px){
    .fm-cast-card{grid-template-columns:78px minmax(0,1fr);border-radius:20px;padding:10px;}
    .fm-cast-photo{width:78px;border-radius:17px;}
    .fm-cast-body h3{font-size:16px;}
}

/* =========================================================
   Dorama cast tabs + round avatars refresh (2026-04-25)
   ========================================================= */
.fm-cast-tabs-wrap{
    position:relative;
}
.fm-cast-tab-radio{
    position:absolute;
    inline-size:1px;
    block-size:1px;
    opacity:0;
    pointer-events:none;
}
.fm-cast-tabs{
    display:grid;
    gap:18px;
}
.fm-cast-tabs-nav{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    padding:8px;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.08);
    background:linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.fm-cast-tab-label{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 16px;
    border-radius:999px;
    color:#d9d2ee;
    font-weight:900;
    cursor:pointer;
    user-select:none;
    border:1px solid transparent;
    transition:background .18s ease, color .18s ease, transform .18s ease, border-color .18s ease;
}
.fm-cast-tab-label:hover{
    transform:translateY(-1px);
    color:#fff;
    background:rgba(255,255,255,.07);
    border-color:rgba(255,255,255,.09);
}
.fm-cast-tab-label b{
    min-width:26px;
    height:26px;
    padding:0 8px;
    border-radius:999px;
    display:grid;
    place-items:center;
    flex-shrink:0;
    min-width:88px;
    background:rgba(255,255,255,.10);
    color:#fff;
    font-size:12px;
    line-height:1;
}
.fm-cast-tab-panel{
    display:none;
}
.fm-cast-tab-radio:nth-of-type(1):checked ~ .fm-cast-tabs .fm-cast-tab-label-main,
.fm-cast-tab-radio:nth-of-type(2):checked ~ .fm-cast-tabs .fm-cast-tab-label-support,
.fm-cast-tab-radio:nth-of-type(3):checked ~ .fm-cast-tabs .fm-cast-tab-label-other{
    color:#fff;
    background:linear-gradient(135deg, rgba(255,82,170,.95), rgba(139,92,246,.95));
    border-color:rgba(255,255,255,.16);
    box-shadow:0 14px 30px rgba(139,92,246,.22);
}
.fm-cast-tab-radio:nth-of-type(1):checked ~ .fm-cast-tabs .fm-cast-panel-main,
.fm-cast-tab-radio:nth-of-type(2):checked ~ .fm-cast-tabs .fm-cast-panel-support,
.fm-cast-tab-radio:nth-of-type(3):checked ~ .fm-cast-tabs .fm-cast-panel-other{
    display:block;
}
.fm-cast-tabs-content{
    min-width:0;
}
.fm-cast-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
}
.fm-cast-card{
    display:grid;
    grid-template-columns:88px minmax(0,1fr);
    gap:14px;
    align-items:center;
    min-width:0;
    padding:14px;
    border-radius:26px;
    border:1px solid rgba(255,255,255,.10);
    background:
        radial-gradient(circle at 12% 16%, rgba(255,82,170,.16), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.085), rgba(255,255,255,.04));
    transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.fm-cast-card:hover{
    transform:translateY(-2px);
    border-color:rgba(255,255,255,.19);
    background:
        radial-gradient(circle at 12% 16%, rgba(255,82,170,.22), transparent 36%),
        linear-gradient(135deg, rgba(155,92,255,.17), rgba(255,255,255,.07));
    box-shadow:0 18px 44px rgba(0,0,0,.20);
}
.fm-cast-photo{
    width:88px;
    height:88px;
    aspect-ratio:1 / 1;
    min-width:88px;
    flex-shrink:0;
    border-radius:999px;
    overflow:hidden;
    position:relative;
    isolation:isolate;
    background:linear-gradient(135deg, rgba(255,82,170,.38), rgba(155,92,255,.34));
    border:2px solid rgba(255,255,255,.18);
    box-shadow:0 12px 24px rgba(0,0,0,.22), 0 0 0 4px rgba(255,255,255,.04);
    display:grid;
    place-items:center;
}
.fm-cast-photo::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
    pointer-events:none;
}
.fm-cast-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 12%;
    display:block;
    border-radius:inherit;
    transform:scale(1.08);
}
.fm-cast-photo span{
    font-size:30px;
    font-weight:900;
    color:#fff;
}
.fm-cast-body{
    min-width:0;
    display:grid;
    align-content:center;
}
.fm-cast-role{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    margin-bottom:8px;
    padding:5px 10px;
    border-radius:999px;
    background:rgba(155,92,255,.20);
    color:#eadcff;
    border:1px solid rgba(255,255,255,.12);
    font-size:12px;
    font-weight:900;
    line-height:1.15;
}
.fm-cast-role-main{
    background:rgba(255,82,170,.20);
    color:#ffe2f0;
}
.fm-cast-role-guest,
.fm-cast-role-cameo{
    background:rgba(255,255,255,.10);
    color:#e9e4f8;
}
.fm-cast-body h3{
    margin:0;
    font-size:18px;
    line-height:1.16;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.fm-cast-body small{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.62);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.fm-cast-body p{
    margin:8px 0 0;
    color:rgba(255,255,255,.72);
    line-height:1.38;
}
.fm-cast-body p b{
    color:#fff;
}
.fm-cast-empty-panel{
    padding:22px;
    border-radius:24px;
    border:1px dashed rgba(255,255,255,.14);
    background:rgba(255,255,255,.045);
}
@media(max-width:920px){
    .fm-cast-grid{grid-template-columns:1fr;}
}
@media(max-width:560px){
    .fm-cast-tabs-nav{display:grid;grid-template-columns:1fr;gap:8px;border-radius:20px;}
    .fm-cast-tab-label{width:100%;justify-content:space-between;}
    .fm-cast-card{grid-template-columns:74px minmax(0,1fr);border-radius:22px;padding:12px;}
    .fm-cast-photo{width:74px;height:74px;min-width:74px;}
    .fm-cast-body h3{font-size:16px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
    .fm-cast-body p{font-size:14px;}
}

/* === Cast avatars hotfix v6: no-crop mode ===
   Більше не ріжемо обличчя через cover/scale. Фото показується повністю всередині кола. */
.fm-cast-photo{
    border-radius:999px !important;
    overflow:hidden !important;
    display:grid !important;
    place-items:center !important;
}
.fm-cast-photo img{
    width:calc(100% - 8px) !important;
    height:calc(100% - 8px) !important;
    margin:4px !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.92) !important;
}


/* === Cast avatars hotfix v7: portrait cards instead of circles ===
   Замість круглих аватарок показуємо компактні портретні карточки. */
.fm-cast-card{
    grid-template-columns:96px minmax(0,1fr) !important;
    align-items:center !important;
}
.fm-cast-photo{
    width:96px !important;
    height:116px !important;
    min-width:96px !important;
    aspect-ratio:auto !important;
    border-radius:22px !important;
    overflow:hidden !important;
    position:relative !important;
    isolation:isolate !important;
    display:block !important;
    background:linear-gradient(135deg, rgba(255,82,170,.30), rgba(155,92,255,.26)) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    box-shadow:0 12px 24px rgba(0,0,0,.20), 0 0 0 4px rgba(255,255,255,.03) !important;
}
.fm-cast-photo::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    border-radius:inherit !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.10) !important;
    pointer-events:none !important;
}
.fm-cast-photo img{
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    object-fit:cover !important;
    object-position:center 14% !important;
    transform:none !important;
    display:block !important;
    border-radius:inherit !important;
}
.fm-cast-photo span{
    display:grid !important;
    place-items:center !important;
    width:100% !important;
    height:100% !important;
    border-radius:inherit !important;
}
@media(max-width:560px){
    .fm-cast-card{
        grid-template-columns:78px minmax(0,1fr) !important;
    }
    .fm-cast-photo{
        width:78px !important;
        height:94px !important;
        min-width:78px !important;
        border-radius:18px !important;
    }
}


/* === Detail voice team modal + title compact v8 === */
.fm-modal{
    position:fixed;
    inset:0;
    z-index:1000;
    display:grid;
    place-items:center;
    padding:20px;
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
}
.fm-modal:target{
    opacity:1;
    pointer-events:auto;
}
.fm-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(2,6,18,.72);
    backdrop-filter:blur(12px);
}
.fm-modal-card{
    position:relative;
    width:min(520px, 100%);
    border-radius:28px;
    padding:28px;
    background:linear-gradient(135deg, rgba(29,35,52,.98), rgba(17,22,36,.98));
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 28px 90px rgba(0,0,0,.45);
}
.fm-modal-card h3{
    margin:10px 0 10px;
    font-size:28px;
    line-height:1.1;
}
.fm-modal-card p{
    margin:0;
    color:rgba(255,255,255,.74);
    line-height:1.55;
    font-weight:700;
}
.fm-modal-close{
    position:absolute;
    top:14px;
    right:14px;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:14px;
    color:#fff;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    font-size:24px;
    line-height:1;
}
@media(max-width:560px){
    .fm-modal-card{padding:22px;border-radius:22px;}
    .fm-modal-card h3{font-size:22px;}
}


/* === Cast carousel hotfix v11: 2x2 pages, 4 cards per swipe === */
.fm-cast-tabs-content{
    position:relative !important;
}
.fm-cast-tab-panel{
    position:relative !important;
}
.fm-cast-grid-carousel{
    display:grid !important;
    grid-auto-flow:column !important;
    grid-auto-columns:calc((100% - 14px) / 2) !important;
    grid-template-rows:repeat(2, minmax(0, auto)) !important;
    grid-template-columns:none !important;
    gap:14px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    scroll-padding-inline:0 !important;
    padding:0 42px 4px 0 !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
}
.fm-cast-grid-carousel::-webkit-scrollbar{
    display:none !important;
}
.fm-cast-grid-carousel > .fm-cast-card{
    scroll-snap-align:start !important;
    min-height:132px !important;
}
@media(max-width:560px){
    .fm-cast-grid-carousel{
        grid-auto-columns:calc((100% - 10px) / 2) !important;
        grid-template-rows:repeat(2, minmax(0, auto)) !important;
        gap:10px !important;
        padding-right:34px !important;
    }
    .fm-cast-grid-carousel > .fm-cast-card{
        min-height:118px !important;
    }
    }


/* === Cast carousel hotfix v12: static row for <=4, clickable arrow for carousel === */
.fm-cast-grid-static{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:14px !important;
    overflow:visible !important;
    padding:0 !important;
}
.fm-cast-tab-panel{
    position:relative !important;
}
.fm-cast-next{
    position:absolute !important;
    right:8px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:38px !important;
    height:58px !important;
    display:grid !important;
    place-items:center !important;
    border:1px solid rgba(255,255,255,.18) !important;
    border-radius:999px !important;
    color:#fff !important;
    background:linear-gradient(135deg, rgba(255,82,170,.54), rgba(155,92,255,.66)) !important;
    box-shadow:0 14px 34px rgba(0,0,0,.30) !important;
    cursor:pointer !important;
    z-index:5 !important;
    transition:transform .16s ease, filter .16s ease, box-shadow .16s ease !important;
}
.fm-cast-next span{
    display:block !important;
    font-size:34px !important;
    font-weight:900 !important;
    line-height:1 !important;
    margin-top:-2px !important;
}
.fm-cast-next:hover{
    transform:translateY(-50%) scale(1.06) !important;
    filter:brightness(1.08) !important;
    box-shadow:0 18px 42px rgba(0,0,0,.36) !important;
}
.fm-cast-next:active{
    transform:translateY(-50%) scale(.98) !important;
}
.fm-cast-grid-carousel{
    padding-right:54px !important;
}
@media(max-width:560px){
    .fm-cast-grid-static{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:10px !important;
    }
    .fm-cast-next{
        right:4px !important;
        width:32px !important;
        height:48px !important;
    }
    .fm-cast-next span{
        font-size:30px !important;
    }
    .fm-cast-grid-carousel{
        padding-right:42px !important;
    }
}


/* === Cast carousel hotfix v13: sane mobile layout ===
   Desktop/tablet: 2x2 = 4 cards per page.
   Mobile: 1x2 = 2 cards per page, no painful squeezing. */
@media(max-width:640px){
    .fm-cast-grid-static{
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    .fm-cast-grid-carousel{
        grid-auto-columns:calc(100% - 42px) !important;
        grid-template-rows:repeat(2, minmax(0, auto)) !important;
        grid-template-columns:none !important;
        gap:10px !important;
        padding:0 42px 4px 0 !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        scroll-snap-type:x mandatory !important;
    }

    .fm-cast-grid-carousel > .fm-cast-card,
    .fm-cast-grid-static > .fm-cast-card{
        width:100% !important;
        min-width:0 !important;
        min-height:112px !important;
        grid-template-columns:78px minmax(0,1fr) !important;
        gap:12px !important;
        padding:10px !important;
        border-radius:20px !important;
    }

    .fm-cast-photo{
        width:78px !important;
        height:94px !important;
        min-width:78px !important;
        border-radius:18px !important;
    }

    .fm-cast-body{
        min-width:0 !important;
    }

    .fm-cast-role{
        max-width:100% !important;
        font-size:11px !important;
        padding:4px 8px !important;
        margin-bottom:6px !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    .fm-cast-body h3{
        font-size:16px !important;
        line-height:1.15 !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        display:block !important;
    }

    .fm-cast-body small{
        font-size:13px !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    .fm-cast-body p{
        font-size:13px !important;
        line-height:1.25 !important;
        margin-top:6px !important;
        display:-webkit-box !important;
        -webkit-line-clamp:2 !important;
        -webkit-box-orient:vertical !important;
        overflow:hidden !important;
    }

    .fm-cast-next{
        right:3px !important;
        width:32px !important;
        height:52px !important;
        z-index:20 !important;
    }

    .fm-cast-next span{
        font-size:30px !important;
    }
}

@media(max-width:380px){
    .fm-cast-grid-carousel{
        grid-auto-columns:calc(100% - 36px) !important;
        padding-right:36px !important;
    }

    .fm-cast-grid-carousel > .fm-cast-card,
    .fm-cast-grid-static > .fm-cast-card{
        grid-template-columns:70px minmax(0,1fr) !important;
        gap:10px !important;
    }

    .fm-cast-photo{
        width:70px !important;
        height:86px !important;
        min-width:70px !important;
        border-radius:16px !important;
    }

    .fm-cast-next{
        width:28px !important;
        height:48px !important;
    }
}


/* === Voice team module v14 === */
.fm-detail-voice-format{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:8px 14px;
    border-radius:999px;
    color:#fff;
    font-weight:900;
    background:linear-gradient(135deg, rgba(255,82,170,.34), rgba(155,92,255,.36));
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.fm-voice-modal-card{
    width:min(760px, 100%);
    max-height:min(78vh, 760px);
    overflow:auto;
}
.fm-voice-team-list{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:12px;
    margin-top:18px;
}
.fm-voice-person-card{
    display:grid;
    grid-template-columns:64px minmax(0,1fr);
    gap:12px;
    align-items:center;
    min-width:0;
    padding:12px;
    border-radius:20px;
    color:#fff;
    background:linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
    border:1px solid rgba(255,255,255,.10);
}
.fm-voice-person-card:hover{
    border-color:rgba(255,255,255,.20);
    background:linear-gradient(135deg, rgba(255,82,170,.16), rgba(155,92,255,.12));
}
.fm-voice-person-photo{
    width:64px;
    height:64px;
    border-radius:18px;
    overflow:hidden;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
}
.fm-voice-person-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.fm-voice-person-photo b{
    font-size:26px;
}
.fm-voice-person-info{
    min-width:0;
    display:grid;
    gap:4px;
}
.fm-voice-person-info strong{
    font-size:17px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.fm-voice-person-info small{
    color:rgba(255,255,255,.68);
    font-weight:800;
}
.fm-voice-person-info em{
    color:#ffd8ea;
    font-style:normal;
    font-weight:800;
    font-size:13px;
    line-height:1.25;
}
.fm-voice-profile-hero{
    padding:96px 20px 36px;
    background:
        radial-gradient(circle at 20% 0%, rgba(155,92,255,.18), transparent 36%),
        linear-gradient(180deg, rgba(7,12,24,1), rgba(7,12,24,.96));
}
.fm-voice-profile-inner{
    width:min(1180px, 100%);
    margin:0 auto;
}
.fm-back-link{
    display:inline-flex;
    margin-bottom:18px;
    color:rgba(255,255,255,.72);
    font-weight:900;
}
.fm-voice-profile-card{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    gap:26px;
    align-items:center;
    padding:26px;
    border-radius:32px;
    background:linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 24px 70px rgba(0,0,0,.30);
}
.fm-voice-profile-photo{
    width:220px;
    aspect-ratio:1/1.18;
    border-radius:28px;
    overflow:hidden;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg, rgba(255,82,170,.25), rgba(155,92,255,.25));
    border:1px solid rgba(255,255,255,.13);
}
.fm-voice-profile-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.fm-voice-profile-photo span{
    font-size:72px;
    font-weight:900;
}
.fm-voice-profile-info h1{
    margin:12px 0 8px;
    font-size:clamp(34px, 5vw, 68px);
    line-height:.96;
}
.fm-voice-profile-real,
.fm-voice-profile-bio{
    color:rgba(255,255,255,.72);
    font-weight:700;
    line-height:1.55;
}
.fm-voice-profile-roles,
.fm-voice-profile-links{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
}
.fm-voice-profile-roles span,
.fm-voice-profile-links a{
    display:inline-flex;
    padding:8px 12px;
    border-radius:999px;
    color:#fff;
    font-weight:900;
    background:rgba(155,92,255,.18);
    border:1px solid rgba(255,255,255,.12);
}
.fm-voice-profile-links a{
    background:rgba(255,255,255,.08);
}
.fm-voice-work-wrap{
    padding-top:26px;
}
.fm-voice-work-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
}
.fm-voice-work-card{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    gap:14px;
    align-items:center;
    padding:14px;
    border-radius:22px;
    color:#fff;
    background:linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.04));
    border:1px solid rgba(255,255,255,.10);
}
.fm-voice-work-poster{
    width:72px;
    aspect-ratio:2/3;
    border-radius:14px;
    overflow:hidden;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.08);
}
.fm-voice-work-poster img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.fm-voice-work-info{
    display:grid;
    gap:5px;
    min-width:0;
}
.fm-voice-work-info strong{
    font-size:18px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.fm-voice-work-info small{
    color:#dccbff;
    font-weight:900;
}
.fm-voice-work-info em{
    color:rgba(255,255,255,.72);
    font-style:normal;
    font-weight:800;
}
@media(max-width:720px){
    .fm-voice-team-list,
    .fm-voice-work-grid{
        grid-template-columns:1fr;
    }
    .fm-voice-profile-card{
        grid-template-columns:1fr;
        padding:18px;
    }
    .fm-voice-profile-photo{
        width:min(220px, 100%);
        justify-self:center;
    }
}


/* === Voice format hero badge v16 === */
.fm-detail-badge-row{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    margin-bottom:18px !important;
}
.fm-detail-badge-row .fm-kicker{
    margin-bottom:0 !important;
}
.fm-detail-voice-format-hero{
    margin-bottom:0 !important;
    min-height:38px !important;
    padding:9px 16px !important;
    text-transform:uppercase !important;
    letter-spacing:.02em !important;
    background:linear-gradient(135deg, rgba(255,82,170,.34), rgba(155,92,255,.42)) !important;
    border-color:rgba(255,255,255,.18) !important;
    box-shadow:0 14px 32px rgba(155,92,255,.18), 0 0 0 1px rgba(255,255,255,.04) inset !important;
}
.fm-detail-badge-row + h1{
    margin-top:0 !important;
}
@media(max-width:640px){
    .fm-detail-badge-row{
        gap:8px !important;
        margin-bottom:14px !important;
    }
    .fm-detail-badge-row .fm-kicker,
    .fm-detail-voice-format-hero{
        min-height:34px !important;
        padding:8px 12px !important;
        font-size:12px !important;
    }
}

/* =========================================================
   App-bar pages + profile menu + schedule/news/team (2026-04-26)
   ========================================================= */
.header-controls{justify-content:flex-end;min-width:0}.theme-button{flex:0 0 auto}.profile-menu{position:relative;flex:0 0 auto}.profile-trigger{height:44px;display:flex;align-items:center;gap:10px;max-width:210px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);color:#fff;border-radius:999px;padding:5px 10px 5px 5px;cursor:pointer;font:inherit;font-weight:900;box-shadow:0 12px 34px rgba(0,0,0,.16)}.profile-trigger:hover,.profile-menu.is-open .profile-trigger{border-color:rgba(184,119,255,.42);background:rgba(255,255,255,.07)}.profile-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;background:linear-gradient(135deg,#ff52aa,#9b5cff);box-shadow:0 0 0 2px rgba(255,255,255,.08)}.profile-avatar.big{width:46px;height:46px}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar b{font-size:15px;color:#fff}.profile-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:122px}.profile-chevron{color:#cfc7e6;font-size:16px;line-height:1;transform:translateY(-1px)}.profile-dropdown{position:absolute;right:0;top:calc(100% + 12px);width:min(292px,calc(100vw - 24px));display:grid;gap:6px;padding:12px;border:1px solid rgba(255,255,255,.10);border-radius:24px;background:rgba(13,17,33,.96);box-shadow:0 24px 80px rgba(0,0,0,.45);backdrop-filter:blur(22px);opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none;transition:opacity .16s ease, transform .16s ease;z-index:100}.profile-menu.is-open .profile-dropdown,.profile-menu:focus-within .profile-dropdown{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.profile-dropdown:before{content:"";position:absolute;right:26px;top:-7px;width:14px;height:14px;transform:rotate(45deg);background:rgba(13,17,33,.96);border-left:1px solid rgba(255,255,255,.10);border-top:1px solid rgba(255,255,255,.10)}.profile-dropdown-head{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;padding:8px 8px 12px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.08)}.profile-dropdown-head strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-dropdown-head small{display:block;margin-top:3px;color:#aaa3bf;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-dropdown a,.profile-dropdown button{width:100%;display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 12px;border:0;border-radius:14px;background:transparent;color:#e8e4f2;font:inherit;font-weight:850;text-align:left;cursor:pointer}.profile-dropdown a:hover,.profile-dropdown button:hover,.profile-work-link{background:rgba(155,92,255,.16)!important;color:#fff!important}.profile-dropdown form{margin:0}.theme-button-icon{display:block;line-height:1}.fm-login-btn{order:3}.profile-menu{order:3}.theme-button{order:2}.fm-search{order:1}

.fm-page-hero{position:relative;overflow:hidden;min-height:360px;border-bottom:1px solid rgba(255,255,255,.07);background:#070b16}.fm-page-hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 18% 22%, rgba(255,255,255,.24), transparent 23%),radial-gradient(circle at 78% 12%, rgba(155,92,255,.32), transparent 30%),linear-gradient(90deg, rgba(7,11,22,.98), rgba(7,11,22,.74), rgba(7,11,22,.96));filter:saturate(.95)}.fm-page-hero:after{content:"";position:absolute;left:-90px;top:20px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle at 36% 34%, rgba(255,255,255,.68), rgba(195,184,255,.44) 18%, rgba(91,75,151,.24) 55%, transparent 70%);opacity:.28}.fm-page-hero-inner{position:relative;z-index:2;width:min(1340px,calc(100% - 24px));min-height:360px;margin:0 auto;display:grid;align-content:center;padding:64px 0 48px}.fm-page-hero-inner h1{margin:16px 0 12px;font-size:clamp(44px,7vw,86px);line-height:.96;letter-spacing:-.055em}.fm-page-hero-inner p{max-width:780px;margin:0;color:#d8d4e8;font-size:clamp(17px,2vw,23px);line-height:1.52}.fm-page-wrap{padding-top:30px}.fm-alert-panel{display:grid;gap:6px;margin-bottom:18px}.fm-alert-panel b,.fm-empty-state b{font-size:22px}.fm-alert-panel span,.fm-empty-state span,.fm-muted{color:#aaa5bd}.fm-section-counter{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:34px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);color:#e8dcff;font-weight:900}.fm-title-with-icon p{margin:6px 0 0;color:#aaa5bd;font-size:15px;line-height:1.45}.fm-panel{min-width:0}

.fm-schedule-grid{display:grid;gap:18px}.fm-schedule-day{padding:22px}.fm-schedule-list{display:grid;gap:12px}.fm-schedule-card{display:grid;grid-template-columns:82px minmax(0,1fr) minmax(108px,auto);gap:14px;align-items:center;padding:12px;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.10);transition:transform .16s ease,border-color .16s ease,background .16s ease}.fm-schedule-card:hover{transform:translateY(-2px);border-color:rgba(184,119,255,.35);background:linear-gradient(135deg,rgba(155,92,255,.16),rgba(255,255,255,.055))}.fm-schedule-poster{width:82px;height:112px;border-radius:18px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,rgba(155,92,255,.32),rgba(255,82,170,.18));flex:0 0 auto}.fm-schedule-poster img{width:100%;height:100%;object-fit:cover}.fm-schedule-poster b{font-size:34px}.fm-schedule-content{display:grid;gap:8px;min-width:0}.fm-schedule-topline{display:flex;align-items:center;gap:10px;min-width:0}.fm-schedule-topline strong{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-schedule-topline em{font-style:normal;flex:0 0 auto;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:900;background:rgba(112,255,181,.12);color:#baffd4;border:1px solid rgba(112,255,181,.20)}.fm-schedule-card.is-late .fm-schedule-topline em{background:rgba(255,112,112,.13);color:#ffd0d0;border-color:rgba(255,112,112,.24)}.fm-schedule-card.is-unstable .fm-schedule-topline em{background:rgba(255,209,102,.13);color:#ffe4a3;border-color:rgba(255,209,102,.24)}.fm-schedule-meta{color:#d8c6ff;font-weight:900}.fm-schedule-message{color:#c2bfd3;line-height:1.45}.fm-schedule-bottom{display:flex;flex-wrap:wrap;gap:8px}.fm-schedule-bottom span{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.06);color:#eee;font-size:12px;font-weight:850}.fm-schedule-timer{justify-self:end;min-width:108px;display:grid;gap:4px;justify-items:center;padding:13px 14px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10)}.fm-schedule-timer small{color:#aaa5bd;font-weight:800}.fm-schedule-timer b{font-size:19px}.fm-schedule-empty,.fm-team-empty{padding:18px;border-radius:18px;border:1px dashed rgba(255,255,255,.12);color:#aaa5bd;background:rgba(255,255,255,.035)}

.fm-news-grid-page{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.fm-news-card-page{overflow:hidden;border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.10);box-shadow:0 18px 46px rgba(0,0,0,.18);transition:transform .16s ease,border-color .16s ease}.fm-news-card-page:hover{transform:translateY(-3px);border-color:rgba(184,119,255,.32)}.fm-news-cover-page{aspect-ratio:16/9;display:grid;place-items:center;background:linear-gradient(135deg,rgba(155,92,255,.28),rgba(255,82,170,.16));overflow:hidden}.fm-news-cover-page img{width:100%;height:100%;object-fit:cover}.fm-news-cover-page span{font-size:48px}.fm-news-body-page{display:grid;gap:10px;padding:18px}.fm-news-body-page time,.fm-news-detail-inner time{color:#d8c6ff;font-weight:900;font-size:13px}.fm-news-body-page h2{margin:0;font-size:22px;line-height:1.15}.fm-news-body-page p{margin:0;color:#bdb7ce;line-height:1.55}.fm-read-more{margin-top:4px;color:#e8dcff;font-weight:900}.fm-news-detail-hero{position:relative;min-height:480px;overflow:hidden;background:#070b16}.fm-news-detail-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,11,22,.96),rgba(7,11,22,.76),rgba(7,11,22,.96)),var(--news-cover,radial-gradient(circle at 40% 10%,rgba(155,92,255,.28),transparent 34%));background-size:cover;background-position:center;filter:brightness(.78)}.fm-news-detail-inner{position:relative;z-index:2;width:min(1080px,calc(100% - 24px));min-height:480px;margin:0 auto;display:grid;align-content:end;padding:92px 0 60px}.fm-news-detail-inner h1{margin:14px 0 12px;font-size:clamp(40px,6vw,78px);line-height:.98;letter-spacing:-.05em}.fm-news-detail-inner p{max-width:800px;color:#e4dff1;font-size:20px;line-height:1.55}.fm-back-link{width:max-content;color:#e8dcff;font-weight:900}.fm-news-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.fm-news-article-body{padding:28px;color:#eee5f4;line-height:1.8;font-size:18px}.fm-news-article-body h2,.fm-news-article-body h3{line-height:1.2}.fm-news-article-body a{color:#d8c6ff;text-decoration:underline;text-underline-offset:3px}.fm-news-article-body img{border-radius:20px;margin:16px 0}.fm-news-side{position:sticky;top:96px;height:max-content}.fm-news-side-list{display:grid;gap:10px}.fm-news-side-list a{display:grid;gap:5px;padding:12px;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}.fm-news-side-list span{color:#aaa5bd;line-height:1.4}.fm-news-thumb{min-width:0!important}.fm-news-item{border-radius:18px;padding:6px;transition:background .16s ease}.fm-news-item:hover{background:rgba(255,255,255,.05)}

.fm-team-sections{display:grid;gap:20px}.fm-team-section{padding:22px}.fm-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.fm-team-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;align-items:center;padding:14px;border-radius:26px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035));transition:transform .16s ease,border-color .16s ease,background .16s ease}.fm-team-card:hover{transform:translateY(-2px);border-color:rgba(184,119,255,.34);background:linear-gradient(135deg,rgba(155,92,255,.15),rgba(255,255,255,.055))}.fm-team-avatar{width:86px;height:86px;border-radius:999px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,rgba(255,82,170,.32),rgba(155,92,255,.34));border:2px solid rgba(255,255,255,.16);box-shadow:0 0 0 4px rgba(255,255,255,.035)}.fm-team-avatar img{width:100%;height:100%;object-fit:cover}.fm-team-avatar b{font-size:32px}.fm-team-info{min-width:0;display:grid;gap:5px}.fm-team-info strong{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-team-info small{color:#a9a2bd}.fm-team-roles{display:flex;flex-wrap:wrap;gap:6px}.fm-team-roles em{font-style:normal;padding:5px 8px;border-radius:999px;background:rgba(155,92,255,.16);border:1px solid rgba(155,92,255,.20);color:#e9dcff;font-size:11px;font-weight:900}.fm-team-bio{color:#bdb7ce;line-height:1.42;font-size:14px}

.fm-profile-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px}.fm-profile-sidebar{padding:12px;display:grid;gap:8px;height:max-content;position:sticky;top:96px}.fm-profile-sidebar a{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:15px;color:#ddd8eb;font-weight:900}.fm-profile-sidebar a:hover,.fm-profile-sidebar a.active{background:linear-gradient(135deg,rgba(155,92,255,.26),rgba(255,82,170,.12));color:#fff}.fm-profile-content{padding:26px}.fm-profile-content h2{margin:0 0 8px;font-size:34px}.fm-profile-content p{color:#bdb7ce;line-height:1.6}.fm-profile-placeholder{display:grid;gap:6px;margin-top:20px;padding:20px;border-radius:22px;background:rgba(255,255,255,.055);border:1px dashed rgba(255,255,255,.14)}.fm-profile-placeholder b{font-size:20px}.fm-profile-placeholder span{color:#aaa5bd}

:root[data-theme="light"]{--bg:#f8f6ff;--panel:rgba(255,255,255,.86);--panel2:#fff;--text:#1c1726;--muted:#6f687b;--line:rgba(45,34,70,.13)}:root[data-theme="light"] body.site-body{background:radial-gradient(circle at 10% -10%,#efe8ff 0,#fbf9ff 38%,#f4f1fb 100%);color:#1c1726}:root[data-theme="light"] .site-header-fm{background:rgba(255,255,255,.88);border-bottom-color:rgba(45,34,70,.12)}:root[data-theme="light"] .fm-nav a{color:#5b5569}:root[data-theme="light"] .fm-nav a:hover,:root[data-theme="light"] .fm-nav a.active{color:#8a45fb}:root[data-theme="light"] .fm-search,:root[data-theme="light"] .theme-button,:root[data-theme="light"] .profile-trigger{background:rgba(45,34,70,.045);border-color:rgba(45,34,70,.12);color:#1c1726}:root[data-theme="light"] .fm-search input{color:#1c1726}:root[data-theme="light"] .profile-dropdown{background:rgba(255,255,255,.96);border-color:rgba(45,34,70,.12);box-shadow:0 24px 70px rgba(46,36,73,.18)}:root[data-theme="light"] .profile-dropdown:before{background:rgba(255,255,255,.96);border-color:rgba(45,34,70,.12)}:root[data-theme="light"] .profile-dropdown a,:root[data-theme="light"] .profile-dropdown button{color:#30293d}:root[data-theme="light"] .profile-dropdown-head{border-bottom-color:rgba(45,34,70,.10)}:root[data-theme="light"] .profile-dropdown-head small{color:#766f85}:root[data-theme="light"] .fm-panel,:root[data-theme="light"] .fm-news-card-page,:root[data-theme="light"] .fm-team-card,:root[data-theme="light"] .fm-schedule-card{background:rgba(255,255,255,.78);border-color:rgba(45,34,70,.11);box-shadow:0 18px 46px rgba(46,36,73,.08)}:root[data-theme="light"] .fm-page-hero,:root[data-theme="light"] .fm-news-detail-hero{background:#f6f2ff}:root[data-theme="light"] .fm-page-hero-bg,:root[data-theme="light"] .fm-news-detail-bg{background:radial-gradient(circle at 22% 20%,rgba(155,92,255,.18),transparent 30%),linear-gradient(90deg,rgba(255,255,255,.92),rgba(247,242,255,.76),rgba(255,255,255,.94));filter:none}:root[data-theme="light"] .fm-page-hero-inner p,:root[data-theme="light"] .fm-news-detail-inner p,:root[data-theme="light"] .fm-news-body-page p,:root[data-theme="light"] .fm-schedule-message,:root[data-theme="light"] .fm-team-bio,:root[data-theme="light"] .fm-profile-content p{color:#6f687b}:root[data-theme="light"] .fm-news-article-body{color:#2b2437}:root[data-theme="light"] .fm-schedule-bottom span,:root[data-theme="light"] .fm-schedule-timer,:root[data-theme="light"] .fm-profile-placeholder,:root[data-theme="light"] .fm-news-side-list a{background:rgba(45,34,70,.045);border-color:rgba(45,34,70,.10)}

@media(max-width:1180px){.site-header-inner{grid-template-columns:auto 1fr}.header-controls{grid-column:1/-1;justify-content:flex-start;overflow:visible}.fm-search{width:min(360px,100%)}}@media(max-width:980px){.fm-news-grid-page,.fm-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-news-detail-layout,.fm-profile-layout{grid-template-columns:1fr}.fm-news-side,.fm-profile-sidebar{position:static}.fm-schedule-card{grid-template-columns:74px minmax(0,1fr);}.fm-schedule-timer{grid-column:2;justify-self:start;display:flex;align-items:center;gap:8px}.fm-schedule-poster{width:74px;height:100px}.fm-schedule-topline{align-items:flex-start;flex-direction:column}}@media(max-width:680px){.site-header-inner{grid-template-columns:1fr}.brand-fm{justify-content:center}.fm-nav{justify-content:flex-start;overflow:auto;width:100%;padding-bottom:2px}.header-controls{display:grid;grid-template-columns:1fr auto auto;width:100%;gap:8px}.fm-search{width:100%;min-width:0}.fm-login-btn{min-width:92px}.profile-name{display:none}.profile-trigger{padding-right:8px}.profile-dropdown{right:0}.fm-page-hero-inner,.fm-page-hero{min-height:300px}.fm-page-hero-inner{padding:44px 0 34px}.fm-news-grid-page,.fm-team-grid{grid-template-columns:1fr}.fm-team-card{grid-template-columns:76px minmax(0,1fr);border-radius:22px}.fm-team-avatar{width:76px;height:76px}.fm-schedule-card{grid-template-columns:62px minmax(0,1fr);border-radius:20px}.fm-schedule-poster{width:62px;height:86px;border-radius:15px}.fm-schedule-topline strong{font-size:17px;white-space:normal}.fm-schedule-timer{grid-column:1/-1}.fm-news-detail-inner{min-height:380px;padding-bottom:40px}.fm-news-article-body{padding:20px;font-size:16px}.fm-profile-content{padding:20px}.fm-profile-content h2{font-size:28px}}

/* =========================================================
   Full Moon reference pages: schedule, catalog, news (v20260426-ref-pages)
   ========================================================= */
.fm-reference-hero{
    position:relative;
    overflow:hidden;
    min-height:340px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:#070b16;
}
.fm-reference-scene{
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 14% 28%, rgba(236,228,255,.42) 0 0, transparent 13%),
        radial-gradient(circle at 15% 27%, rgba(163,143,203,.32) 0 10%, transparent 20%),
        radial-gradient(circle at 53% 7%, rgba(155,92,255,.28), transparent 23%),
        radial-gradient(circle at 86% 20%, rgba(255,84,189,.20), transparent 24%),
        linear-gradient(90deg, rgba(7,11,22,.97), rgba(8,12,26,.80) 48%, rgba(7,11,22,.96)),
        linear-gradient(180deg, #0d1429, #070b16 78%);
}
.fm-reference-scene::before{
    content:"";
    position:absolute;
    left:6vw;
    top:-56px;
    width:330px;
    height:330px;
    border-radius:50%;
    background:
        radial-gradient(circle at 45% 42%, rgba(255,255,255,.56), transparent 2px),
        radial-gradient(circle at 30% 35%, rgba(255,255,255,.34), transparent 30%),
        radial-gradient(circle at 64% 62%, rgba(101,84,152,.52), transparent 22%),
        radial-gradient(circle at 50% 50%, rgba(211,201,242,.44), rgba(117,100,157,.24) 55%, rgba(255,255,255,.02) 68%, transparent 72%);
    opacity:.72;
    filter:blur(.2px);
    box-shadow:0 0 70px rgba(177,145,255,.16);
}
.fm-reference-scene::after{
    content:"";
    position:absolute;
    right:0;
    top:0;
    width:min(52vw, 680px);
    height:100%;
    background:
        radial-gradient(circle at 72% 11%, rgba(198,80,205,.36) 0 2px, transparent 3px),
        radial-gradient(circle at 80% 17%, rgba(198,80,205,.32) 0 2px, transparent 3px),
        radial-gradient(circle at 88% 9%, rgba(198,80,205,.28) 0 2px, transparent 3px),
        linear-gradient(145deg, transparent 0 45%, rgba(183,93,255,.18) 46% 47%, transparent 48%),
        linear-gradient(180deg, transparent 0 35%, rgba(129,53,25,.32) 36% 38%, transparent 39%),
        linear-gradient(90deg, transparent 0 46%, rgba(13,17,31,.88) 47% 100%);
    opacity:.82;
    mask-image:linear-gradient(90deg, transparent 0%, #000 26%);
}
.fm-reference-hero-inner{
    position:relative;
    z-index:2;
    width:min(1180px, calc(100% - 28px));
    min-height:340px;
    margin:0 auto;
    display:grid;
    align-content:center;
    justify-items:center;
    text-align:center;
    padding:52px 0 38px;
}
.fm-reference-hero h1{
    margin:8px 0 12px;
    font-size:clamp(42px, 6vw, 74px);
    line-height:.95;
    letter-spacing:-.055em;
    text-transform:uppercase;
    color:#fff;
    text-shadow:0 18px 55px rgba(0,0,0,.42);
}
.fm-reference-hero h1 span,
.fm-reference-hero h1 strong{
    color:#9b5cff;
    background:linear-gradient(135deg,#b974ff,#824cff);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
.fm-reference-hero p{
    max-width:680px;
    margin:0 auto;
    color:#d5d0e4;
    font-size:clamp(16px, 1.75vw, 20px);
    line-height:1.62;
}
.fm-reference-icon{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    margin-bottom:12px;
    border-radius:15px;
    background:linear-gradient(135deg, rgba(159,92,255,.86), rgba(115,70,221,.72));
    color:#e9ddff;
    box-shadow:0 16px 34px rgba(131,76,255,.34), inset 0 0 0 1px rgba(255,255,255,.16);
    font-weight:900;
}
.fm-reference-wrap{
    width:min(1180px, calc(100% - 28px));
    margin:0 auto;
    padding:0 0 54px;
    position:relative;
    z-index:3;
}
.fm-reference-pills,
.fm-schedule-tabs{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
    margin-top:28px;
}
.fm-reference-pills a,
.fm-schedule-tabs a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 22px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(12,18,35,.62);
    color:#f0eef8;
    font-weight:900;
    box-shadow:0 14px 34px rgba(0,0,0,.18);
    transition:.16s ease;
}
.fm-reference-pills a:hover,
.fm-reference-pills a.active,
.fm-schedule-tabs a:hover,
.fm-schedule-tabs a.active{
    border-color:transparent;
    background:linear-gradient(135deg,#8f51ff,#a45cff);
    color:#fff;
    transform:translateY(-1px);
    box-shadow:0 18px 38px rgba(132,76,255,.28);
}
.fm-schedule-tabs a{
    min-width:72px;
    min-height:48px;
    border-radius:12px;
    padding:0 20px;
}
.fm-schedule-tabs .fm-schedule-calendar{min-width:48px;padding:0;font-size:20px}
.fm-schedule-wrap{margin-top:-2px;}
.fm-schedule-board{
    width:min(820px, 100%);
    margin:0 auto;
    border-radius:16px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.10);
    background:linear-gradient(135deg, rgba(14,22,41,.92), rgba(10,16,31,.88));
    box-shadow:0 28px 70px rgba(0,0,0,.28);
}
.fm-schedule-row{
    display:grid;
    grid-template-columns:210px minmax(0,1fr) 128px 58px;
    gap:18px;
    align-items:center;
    min-height:112px;
    padding:12px 18px 12px 14px;
    border-bottom:1px solid rgba(255,255,255,.08);
    color:#fff;
    background:linear-gradient(90deg, rgba(255,255,255,.03), transparent);
    transition:.16s ease;
    scroll-margin-top:92px;
}
.fm-schedule-row:last-child{border-bottom:0}
.fm-schedule-row:hover{
    background:linear-gradient(90deg, rgba(155,92,255,.14), rgba(255,255,255,.035));
    transform:translateX(2px);
}
.fm-schedule-row-poster{
    position:relative;
    display:grid;
    place-items:center;
    width:188px;
    height:86px;
    overflow:hidden;
    border-radius:8px;
    background:linear-gradient(135deg, rgba(155,92,255,.3), rgba(255,82,170,.18));
    isolation:isolate;
}
.fm-schedule-row-poster::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, transparent 30%, rgba(0,0,0,.68));
    z-index:1;
}
.fm-schedule-row-poster img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:0}
.fm-schedule-row-poster b{font-size:34px;position:relative;z-index:2}
.fm-schedule-row-poster span{
    position:absolute;
    left:10px;
    right:10px;
    bottom:9px;
    z-index:2;
    color:#fff;
    font-size:18px;
    font-weight:900;
    line-height:1.05;
    text-shadow:0 2px 10px rgba(0,0,0,.65);
}
.fm-schedule-row-main{display:grid;gap:7px;min-width:0}
.fm-schedule-row-main strong{
    font-size:20px;
    line-height:1.16;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.fm-schedule-row-main small{color:#cbc7d9;font-size:15px;font-weight:700}
.fm-schedule-row-main em{
    width:max-content;
    padding:5px 9px;
    border-radius:999px;
    background:rgba(155,92,255,.24);
    color:#c99dff;
    font-size:11px;
    font-weight:900;
    font-style:normal;
    text-transform:uppercase;
}
.fm-schedule-row-time{display:grid;gap:6px;justify-items:start}
.fm-schedule-row-time b{font-size:20px;line-height:1}
.fm-schedule-row-time small{color:#b976ff;font-weight:900;font-size:14px;white-space:nowrap}
.fm-schedule-row.is-late .fm-schedule-row-time small{color:#ff9ab8}
.fm-schedule-row.is-unstable .fm-schedule-row-time small{color:#ffd166}
.fm-schedule-bell{
    width:46px;
    height:46px;
    border-radius:50%;
    display:grid;
    place-items:center;
    justify-self:end;
    color:#d9d4e7;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.055);
    font-size:20px;
}
.fm-schedule-note-panel{
    width:min(820px,100%);
    margin:16px auto 0;
    display:flex;
    gap:12px;
    align-items:center;
    justify-content:space-between;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(255,255,255,.045);
    padding:14px 16px;
    color:#bdb8cf;
}
.fm-schedule-note-panel b{color:#fff}
.fm-schedule-empty-state{width:min(820px, 100%);margin:0 auto;text-align:center}
.fm-reference-filter{
    display:grid;
    grid-template-columns:repeat(5, minmax(120px, 1fr)) 46px;
    gap:12px;
    width:min(740px, 100%);
    margin:22px auto 0;
}
.fm-reference-filter label{display:block;min-width:0;position:relative}
.fm-reference-filter label > span{position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.fm-reference-filter select,
.fm-catalog-inline-search input,
.fm-subscribe-card input{
    width:100%;
    min-height:42px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:10px;
    background:rgba(13,20,38,.82);
    color:#f4f0ff;
    padding:0 14px;
    outline:none;
    font:inherit;
    font-weight:800;
}
.fm-reference-filter button{
    min-height:42px;
    border:0;
    border-radius:10px;
    cursor:pointer;
    color:#fff;
    background:linear-gradient(135deg,#8f51ff,#a45cff);
    font-weight:900;
}
.fm-catalog-reference-wrap{margin-top:-18px}
.fm-catalog-content-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 260px;
    gap:28px;
    align-items:start;
}
.fm-catalog-main-column{min-width:0}
.fm-catalog-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:16px;
}
.fm-catalog-toolbar > div{
    display:flex;
    align-items:baseline;
    gap:8px;
    color:#cfc9de;
    font-weight:800;
}
.fm-catalog-toolbar b{font-size:28px;color:#fff}
.fm-catalog-inline-search{width:min(260px,100%)}
.fm-reference-cards-grid.fm-catalog-grid{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:14px;
}
.fm-reference-cards-grid .dorama-card{
    border-radius:10px;
    background:rgba(14,22,41,.86);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:none;
    overflow:hidden;
}
.fm-reference-cards-grid .dorama-card:hover{
    transform:translateY(-4px);
    border-color:rgba(159,92,255,.34);
    box-shadow:0 18px 44px rgba(0,0,0,.28);
}
.fm-reference-cards-grid .poster-wrap{aspect-ratio:1/1.12;border-radius:0}
.fm-reference-cards-grid .poster-badge{
    left:10px;
    bottom:10px;
    border-radius:8px;
    background:rgba(8,12,24,.64);
    color:#e4dff1;
}
.fm-reference-cards-grid .poster-featured{position:absolute;right:10px;bottom:10px;color:#ffb629;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.fm-reference-cards-grid .card-body{padding:13px 14px 14px;gap:7px;display:grid}
.fm-reference-cards-grid .card-type{display:none}
.fm-reference-cards-grid .card-title{font-size:16px;font-weight:900;line-height:1.22;min-height:39px}
.fm-reference-cards-grid .card-meta{font-size:13px;color:#b4afc6;margin:0;font-weight:700}
.fm-reference-cards-grid .genre-line{font-size:12px;color:#aaa4bd;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-catalog-sidebar,
.fm-news-sidebar-reference{display:grid;gap:16px;position:sticky;top:96px}
.fm-side-card{
    padding:18px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.10);
    background:linear-gradient(135deg, rgba(15,24,43,.92), rgba(10,16,31,.88));
    box-shadow:0 22px 56px rgba(0,0,0,.22);
}
.fm-side-card h2{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 14px;
    color:#fff;
    font-size:17px;
    line-height:1.2;
}
.fm-side-card h2 span{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border-radius:9px;
    background:rgba(155,92,255,.18);
    color:#b978ff;
}
.fm-side-links{display:grid;gap:3px}
.fm-side-links a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:38px;
    padding:0 12px;
    border-radius:9px;
    color:#e7e2f3;
    font-weight:850;
}
.fm-side-links a:hover,.fm-side-links a.active{background:rgba(155,92,255,.14)}
.fm-side-links b{
    display:grid;
    place-items:center;
    min-width:24px;
    min-height:24px;
    padding:0 7px;
    border-radius:999px;
    background:rgba(155,92,255,.16);
    color:#b978ff;
    font-size:12px;
}
.fm-top-list{display:grid;gap:10px}
.fm-top-list a{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
}
.fm-top-list a > span{
    width:44px;
    height:34px;
    border-radius:7px;
    overflow:hidden;
    display:grid;
    place-items:center;
    background:rgba(155,92,255,.18);
    color:#d9c4ff;
    font-weight:900;
}
.fm-top-list img{width:100%;height:100%;object-fit:cover}
.fm-top-list em{display:grid;gap:2px;min-width:0;font-style:normal;font-weight:900;font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-top-list small{color:#928ca6;font-weight:800}
.fm-top-list strong{color:#ffb629;font-size:13px}
.fm-side-button{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    margin-top:16px;
    border-radius:8px;
    background:linear-gradient(135deg,#8f51ff,#743ad5);
    color:#fff;
    font-weight:900;
}
.fm-reference-pagination{display:flex;justify-content:center;margin-top:26px}
.fm-reference-pagination nav{display:flex;justify-content:center;width:100%}
.fm-reference-pagination span,.fm-reference-pagination a{border-radius:9px!important}
.fm-news-reference-wrap{margin-top:-6px}
.fm-news-layout-reference{
    display:grid;
    grid-template-columns:minmax(0,1fr) 280px;
    gap:24px;
    align-items:start;
    width:min(910px,100%);
    margin:0 auto;
}
.fm-news-list-reference{
    border-radius:12px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.10);
    background:linear-gradient(135deg, rgba(14,22,41,.90), rgba(10,16,31,.86));
}
.fm-news-row-card{
    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    gap:22px;
    padding:10px;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.fm-news-row-card:last-of-type{border-bottom:0}
.fm-news-row-cover{
    display:grid;
    place-items:center;
    min-height:136px;
    border-radius:8px;
    overflow:hidden;
    background:linear-gradient(135deg,rgba(155,92,255,.28),rgba(255,82,170,.16));
}
.fm-news-row-cover img{width:100%;height:100%;object-fit:cover}
.fm-news-row-cover span{
    color:#fff;
    font-size:28px;
    line-height:.9;
    font-weight:900;
    font-family:Georgia,serif;
    text-align:center;
}
.fm-news-row-body{display:grid;align-content:center;gap:9px;min-width:0;padding-right:10px}
.fm-news-badge{
    width:max-content;
    max-width:100%;
    padding:5px 8px;
    border-radius:7px;
    background:rgba(155,92,255,.20);
    color:#b978ff;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
}
.fm-news-row-body h2{margin:0;font-size:19px;line-height:1.2;color:#fff}
.fm-news-row-body p{margin:0;color:#bcb6ca;font-size:14px;line-height:1.48}
.fm-news-row-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#928ca6;font-size:13px;font-weight:800}
.fm-news-row-footer a{color:#b978ff;font-weight:900;white-space:nowrap}
.fm-subscribe-card p{margin:0 0 14px;color:#bcb6ca;font-size:13px;line-height:1.55}
.fm-subscribe-card form{display:grid;gap:10px}
.fm-subscribe-card input{min-height:40px}
.fm-subscribe-card button{
    min-height:42px;
    border:0;
    border-radius:8px;
    color:#fff;
    background:linear-gradient(135deg,#934fff,#7a3be0);
    font:inherit;
    font-weight:900;
    cursor:pointer;
}
.fm-subscribe-card small{display:none;color:#95ffc1;font-weight:800}
.fm-subscribe-card form.is-sent small{display:block}
.fm-latest-news-side .fm-top-list a{grid-template-columns:44px minmax(0,1fr) 18px}
:root[data-theme="light"] .fm-reference-hero{background:#f7f3ff}
:root[data-theme="light"] .fm-reference-scene{background:radial-gradient(circle at 18% 20%,rgba(155,92,255,.16),transparent 25%),linear-gradient(90deg,rgba(255,255,255,.92),rgba(245,240,255,.78),rgba(255,255,255,.96))}
:root[data-theme="light"] .fm-reference-hero h1{color:#1c1726;text-shadow:none}
:root[data-theme="light"] .fm-reference-hero p{color:#686174}
:root[data-theme="light"] .fm-schedule-board,:root[data-theme="light"] .fm-side-card,:root[data-theme="light"] .fm-news-list-reference,:root[data-theme="light"] .fm-reference-cards-grid .dorama-card{background:rgba(255,255,255,.84);border-color:rgba(45,34,70,.12);box-shadow:0 18px 46px rgba(46,36,73,.08)}
:root[data-theme="light"] .fm-schedule-row{border-bottom-color:rgba(45,34,70,.10);color:#1c1726}
:root[data-theme="light"] .fm-schedule-row-main small,:root[data-theme="light"] .fm-news-row-body p,:root[data-theme="light"] .fm-subscribe-card p{color:#6f687b}
:root[data-theme="light"] .fm-reference-filter select,:root[data-theme="light"] .fm-catalog-inline-search input,:root[data-theme="light"] .fm-subscribe-card input{background:rgba(255,255,255,.86);border-color:rgba(45,34,70,.12);color:#1c1726}
:root[data-theme="light"] .fm-side-links a{color:#332d40}
:root[data-theme="light"] .fm-news-row-body h2{color:#1c1726}
@media(max-width:1120px){
    .fm-reference-cards-grid.fm-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
    .fm-catalog-content-grid{grid-template-columns:1fr}
    .fm-catalog-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
    .fm-news-layout-reference{grid-template-columns:1fr;width:min(760px,100%)}
    .fm-news-sidebar-reference{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
    .fm-reference-hero-inner{min-height:300px;padding:44px 0 28px}
    .fm-reference-filter{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
    .fm-reference-filter button{grid-column:1/-1}
    .fm-schedule-row{grid-template-columns:150px minmax(0,1fr) 110px;gap:12px}
    .fm-schedule-row-poster{width:142px;height:78px}
    .fm-schedule-bell{display:none}
    .fm-reference-cards-grid.fm-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .fm-news-row-card{grid-template-columns:210px minmax(0,1fr)}
}
@media(max-width:620px){
    .fm-reference-scene::before{left:-80px;top:-40px;width:280px;height:280px;opacity:.5}
    .fm-reference-scene::after{opacity:.35;width:100%}
    .fm-reference-hero h1{font-size:40px}
    .fm-reference-pills,.fm-schedule-tabs{justify-content:flex-start;flex-wrap:nowrap;overflow:auto;width:100%;padding-bottom:6px}
    .fm-reference-pills a,.fm-schedule-tabs a{white-space:nowrap;min-height:40px;padding:0 16px}
    .fm-schedule-tabs a{min-width:54px}
    .fm-schedule-board{border-radius:14px}
    .fm-schedule-row{grid-template-columns:92px minmax(0,1fr);padding:10px;min-height:104px}
    .fm-schedule-row-poster{width:88px;height:78px;border-radius:8px}
    .fm-schedule-row-poster span{font-size:13px;left:7px;right:7px;bottom:7px}
    .fm-schedule-row-main strong{font-size:17px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    .fm-schedule-row-main small{font-size:13px}
    .fm-schedule-row-time{grid-column:2;display:flex;align-items:center;gap:8px}
    .fm-schedule-row-time b{font-size:16px}
    .fm-schedule-row-time small{font-size:13px}
    .fm-schedule-note-panel{display:grid}
    .fm-catalog-toolbar{display:grid;gap:10px}
    .fm-catalog-inline-search{width:100%}
    .fm-reference-cards-grid.fm-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
    .fm-catalog-sidebar,.fm-news-sidebar-reference{grid-template-columns:1fr}
    .fm-news-row-card{grid-template-columns:1fr;gap:12px}
    .fm-news-row-cover{min-height:180px}
    .fm-news-row-body{padding:0 6px 8px}
    .fm-news-row-footer{align-items:flex-start;flex-direction:column}
}

/* =========================================================
   Full Moon reference pages alignment patch
   ========================================================= */
.fm-reference-hero{
    min-height:330px;
    background:#070b16;
}
.fm-reference-scene{
    background:
        radial-gradient(circle at 24% 34%, rgba(222,216,255,.30) 0, rgba(208,200,255,.16) 12%, rgba(162,137,255,.07) 22%, transparent 24%),
        linear-gradient(180deg, rgba(12,18,37,.10), rgba(10,15,30,.32)),
        linear-gradient(90deg, rgba(7,11,22,.90) 0%, rgba(9,12,28,.64) 48%, rgba(7,11,22,.92) 100%),
        linear-gradient(180deg, rgba(7,11,22,.02) 0%, rgba(7,11,22,.48) 72%, rgba(7,11,22,.96) 100%),
        var(--reference-cover, linear-gradient(135deg,#182038,#0b1020));
    background-size:cover;
    background-position:center;
    filter:brightness(.72) saturate(.95);
}
.fm-reference-scene::before{opacity:.70;}
.fm-reference-scene::after{opacity:.68;}
.fm-reference-hero-inner{
    min-height:330px;
    width:min(1180px, calc(100% - 32px));
    padding:48px 0 36px;
}
.fm-reference-wrap{
    width:min(1180px, calc(100% - 32px));
    padding-top:0;
}
.fm-catalog-reference-wrap,
.fm-news-reference-wrap,
.fm-team-reference-wrap,
.fm-schedule-wrap{margin-top:-4px;}
.fm-news-layout-reference,
.fm-catalog-content-grid,
.fm-team-sections{
    width:100%;
}
.fm-news-layout-reference{width:min(980px,100%);}
.fm-schedule-board{
    width:min(860px,100%);
    background:linear-gradient(135deg, rgba(14,22,41,.94), rgba(10,16,31,.90));
}
.fm-schedule-row-main{gap:8px;}
.fm-schedule-episode-line{
    display:flex;
    flex-wrap:wrap;
    gap:7px 10px;
    align-items:center;
}
.fm-schedule-episode-line span{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    padding:0 8px;
    border-radius:999px;
    background:rgba(255,255,255,.055);
    color:#d8d2e8;
    font-size:12px;
    font-weight:900;
}
.fm-schedule-row-badges{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.fm-schedule-row-badges em{
    display:inline-flex;
    width:max-content;
}
.fm-schedule-day-empty{
    width:min(860px,100%);
    margin:16px auto 0;
    text-align:center;
}
.fm-schedule-row[hidden],
.fm-schedule-day-empty[hidden]{display:none!important;}
.fm-team-reference-wrap{padding-top:24px;}
.fm-team-sections{display:grid;gap:18px;}
@media(max-width:820px){
    .fm-reference-hero-inner{width:min(100% - 20px,1180px);min-height:300px;}
    .fm-reference-wrap{width:min(100% - 20px,1180px);}
    .fm-schedule-row{grid-template-columns:150px minmax(0,1fr) 112px;}
    .fm-schedule-row-badges em{font-size:11px;padding:5px 8px;}
}
@media(max-width:620px){
    .fm-reference-hero-inner{min-height:280px;padding:36px 0 24px;}
    .fm-reference-hero h1{font-size:38px;}
    .fm-schedule-episode-line{gap:5px;}
    .fm-schedule-episode-line span{font-size:11px;padding:0 7px;}
    .fm-schedule-row-time{margin-top:2px;}
}


/* =========================================================
   Full Moon schedule/background/workspace fix v20260426-rt
   ========================================================= */
:root{
    --fm-site-max-width:1340px;
}
.fm-reference-hero-inner,
.fm-reference-wrap{
    width:min(var(--fm-site-max-width), calc(100% - 24px));
}
.fm-reference-scene{
    background:
        linear-gradient(90deg, rgba(7,11,22,.82) 0%, rgba(9,12,28,.36) 47%, rgba(7,11,22,.86) 100%),
        linear-gradient(180deg, rgba(7,11,22,.12) 0%, rgba(7,11,22,.68) 78%, rgba(7,11,22,.96) 100%),
        var(--reference-cover, linear-gradient(135deg,#182038,#0b1020));
    background-size:cover;
    background-position:center;
    filter:brightness(.86) saturate(1.04);
}
.fm-reference-scene::before{
    content:none;
    display:none;
}
.fm-reference-scene::after{
    opacity:.42;
}
.fm-schedule-board,
.fm-schedule-note-panel,
.fm-schedule-empty-state,
.fm-schedule-day-empty{
    width:100%;
}
.fm-schedule-board{
    border-radius:18px;
}
.fm-schedule-row{
    grid-template-columns:240px minmax(0,1fr) 132px 58px;
    min-height:116px;
}
.fm-schedule-row-poster{
    width:220px;
    height:90px;
}
.fm-schedule-episode-line{
    display:flex;
    flex-wrap:wrap;
    gap:7px 10px;
}
.fm-schedule-episode-line span{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 10px;
    border-radius:999px;
    background:rgba(255,255,255,.055);
    color:#d8d2e8;
    font-size:12px;
    font-weight:900;
}
.fm-schedule-row-badges{
    display:none!important;
}
.fm-live-countdown{
    font-variant-numeric:tabular-nums;
    letter-spacing:.01em;
}
.fm-news-layout-reference,
.fm-catalog-content-grid,
.fm-team-sections{
    width:100%;
}
.fm-news-layout-reference{
    grid-template-columns:minmax(0,1fr) 320px;
}
.fm-team-section,
.fm-news-list-reference,
.fm-side-card,
.fm-catalog-main-column{
    min-width:0;
}
:root[data-theme="light"] .fm-reference-scene{
    background:
        linear-gradient(90deg, rgba(255,255,255,.84) 0%, rgba(255,255,255,.46) 47%, rgba(255,255,255,.88) 100%),
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(247,242,255,.72)),
        var(--reference-cover, linear-gradient(135deg,#f7f3ff,#ffffff));
    filter:saturate(1.02);
}
@media(max-width:1120px){
    .fm-news-layout-reference{
        grid-template-columns:1fr;
    }
}
@media(max-width:820px){
    .fm-schedule-row{
        grid-template-columns:150px minmax(0,1fr) 118px;
        gap:12px;
    }
    .fm-schedule-row-poster{
        width:142px;
        height:78px;
    }
}
@media(max-width:620px){
    .fm-reference-hero-inner,
    .fm-reference-wrap{
        width:min(100% - 20px, var(--fm-site-max-width));
    }
    .fm-schedule-row{
        grid-template-columns:92px minmax(0,1fr);
        min-height:108px;
    }
    .fm-schedule-row-poster{
        width:88px;
        height:78px;
    }
    .fm-schedule-episode-line span{
        min-height:21px;
        padding:0 7px;
        font-size:11px;
    }
}

/* =========================================================
   Full Moon team page redesign v20260428
   ========================================================= */
.fm-team-hero-v2{
    min-height:300px;
}
.fm-team-hero-inner-v2{
    min-height:300px;
    align-items:center;
    text-align:center;
    justify-content:center;
}
.fm-team-hero-inner-v2 h1{
    margin:0 0 14px;
    text-transform:uppercase;
    letter-spacing:-.04em;
}
.fm-team-hero-inner-v2 p{
    max-width:760px;
    margin:0 auto;
}
.fm-team-page-v2{
    display:grid;
    gap:26px;
    margin-top:-10px;
    padding-bottom:42px;
}
.fm-team-hero-actions{
    margin-top:18px;
    display:flex;
    justify-content:center;
}
.fm-team-headline h2{
    margin:0;
    letter-spacing:-.03em;
}
.fm-team-join-button{
    width:max-content;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 22px;
    margin-top:4px;
    border-radius:15px;
    background:linear-gradient(135deg,#b76cff,#7c3aed);
    color:#fff;
    font-weight:950;
    box-shadow:0 16px 32px rgba(124,58,237,.28);
    border:1px solid rgba(255,255,255,.16);
    transition:transform .16s ease,box-shadow .16s ease;
}
.fm-team-join-button:hover{
    transform:translateY(-2px);
    box-shadow:0 20px 42px rgba(124,58,237,.36);
}
.fm-team-headline{
    display:grid;
    gap:8px;
    justify-items:center;
    text-align:center;
}
.fm-team-headline h2{
    font-size:28px;
}
.fm-team-headline h2::after{
    content:"";
    display:block;
    width:56px;
    height:3px;
    border-radius:999px;
    margin:10px auto 0;
    background:linear-gradient(90deg,#b76cff,#7c3aed);
}
.fm-team-headline span{
    color:#a9a2bd;
    font-weight:800;
}
.fm-team-tabs{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
}
.fm-team-tabs button{
    min-height:44px;
    padding:0 22px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.055);
    color:#d9d3e7;
    font-weight:900;
    cursor:pointer;
    transition:background .16s ease,border-color .16s ease,transform .16s ease,color .16s ease;
}
.fm-team-tabs button small{
    display:inline-grid;
    place-items:center;
    min-width:22px;
    height:22px;
    padding:0 7px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    font-size:11px;
}
.fm-team-tabs button:hover,
.fm-team-tabs button.active{
    transform:translateY(-1px);
    border-color:rgba(183,108,255,.38);
    background:linear-gradient(135deg,rgba(183,108,255,.95),rgba(124,58,237,.90));
    color:#fff;
}
.fm-team-grid-v2{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.fm-team-card-v2{
    min-height:150px;
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    gap:16px;
    align-items:start;
    padding:16px;
    border-radius:22px;
    border:1px solid rgba(255,255,255,.10);
    background:linear-gradient(135deg,rgba(16,24,44,.82),rgba(10,16,31,.76));
    box-shadow:0 14px 40px rgba(0,0,0,.18);
    transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.fm-team-card-v2:hover{
    transform:translateY(-3px);
    border-color:rgba(183,108,255,.34);
    background:linear-gradient(135deg,rgba(24,30,55,.88),rgba(13,19,37,.82));
}
.fm-team-card-v2.is-admin{
    border-color:rgba(183,108,255,.26);
    box-shadow:0 18px 46px rgba(124,58,237,.12);
}
.fm-team-card-v2.is-guest{
    border-color:rgba(255,255,255,.12);
}
.fm-team-headline-secondary{
    margin-top:8px;
}
.fm-team-card-avatar{
    width:96px;
    height:96px;
    border-radius:999px;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.22),transparent 22%),linear-gradient(135deg,rgba(183,108,255,.42),rgba(255,82,170,.20));
    border:2px solid rgba(255,255,255,.16);
    box-shadow:0 0 0 5px rgba(255,255,255,.035),0 16px 36px rgba(0,0,0,.22);
}
.fm-team-card-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.fm-team-card-avatar b{
    font-size:36px;
}
.fm-team-card-body{
    min-width:0;
    display:grid;
    gap:8px;
}
.fm-team-card-top{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    align-items:center;
}
.fm-team-role-badge{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 9px;
    border-radius:999px;
    font-size:12px;
    font-weight:950;
}
.fm-team-role-badge{
    background:rgba(155,92,255,.26);
    color:#eadcff;
    border:1px solid rgba(155,92,255,.26);
}
.fm-team-member-name{
    width:max-content;
    max-width:100%;
    font-size:20px;
    font-weight:950;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.fm-team-real-name{
    color:#a9a2bd;
    font-weight:700;
    margin-top:-4px;
}
.fm-team-card-body p{
    margin:0;
    color:#bdb7ce;
    line-height:1.45;
    font-size:14px;
}
.fm-team-voice-preview,
.fm-voice-profile-sample{
    display:grid;
    gap:8px;
    padding:10px;
    border-radius:16px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.08);
}
.fm-team-voice-preview span,
.fm-voice-profile-sample strong{
    font-size:12px;
    color:#e6d8ff;
    font-weight:950;
}
.fm-team-voice-preview audio,
.fm-voice-profile-sample audio{
    width:100%;
    height:34px;
    accent-color:#9b5cff;
}
.fm-team-card-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:2px;
}
.fm-team-details-link{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:0 11px;
    border-radius:999px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.09);
    color:#efe7ff;
    font-size:12px;
    font-weight:950;
}
.fm-team-socials{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.fm-team-socials a{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:rgba(255,255,255,.075);
    color:#dcd4ef;
    border:1px solid rgba(255,255,255,.08);
    font-size:11px;
    font-weight:950;
}
.fm-team-filter-empty,
.fm-team-empty-v2{
    padding:22px;
    border-radius:22px;
    border:1px dashed rgba(255,255,255,.14);
    background:rgba(255,255,255,.045);
    color:#bdb7ce;
    text-align:center;
}
.fm-team-empty-v2{
    grid-column:1/-1;
    display:grid;
    gap:6px;
}
.fm-team-empty-v2 b{
    color:#fff;
}
.fm-voice-profile-sample{
    max-width:520px;
}
:root[data-theme="light"] .fm-team-card-v2{
    background:rgba(255,255,255,.82);
    border-color:rgba(45,34,70,.12);
    box-shadow:0 18px 46px rgba(46,36,73,.08);
}
:root[data-theme="light"] .fm-team-card-body p,
:root[data-theme="light"] .fm-team-real-name,
:root[data-theme="light"] .fm-team-headline span{
    color:#6f687b;
}
:root[data-theme="light"] .fm-team-headline h2,
:root[data-theme="light"] .fm-team-member-name{
    color:#1c1726;
}
:root[data-theme="light"] .fm-team-tabs button{
    background:rgba(255,255,255,.82);
    border-color:rgba(45,34,70,.12);
    color:#4f465f;
}
:root[data-theme="light"] .fm-team-tabs button:hover,
:root[data-theme="light"] .fm-team-tabs button.active{
    color:#fff;
}
:root[data-theme="light"] .fm-team-voice-preview,
:root[data-theme="light"] .fm-voice-profile-sample,
:root[data-theme="light"] .fm-team-details-link,
:root[data-theme="light"] .fm-team-socials a{
    background:rgba(45,34,70,.045);
    border-color:rgba(45,34,70,.10);
    color:#332d40;
}
@media(max-width:1120px){
    .fm-team-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
    .fm-team-tabs{justify-content:flex-start;flex-wrap:nowrap;overflow:auto;padding-bottom:6px;}
    .fm-team-tabs button{white-space:nowrap;}
    .fm-team-grid-v2{grid-template-columns:1fr;}
}
@media(max-width:520px){
    .fm-team-card-v2{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:13px;border-radius:20px;}
    .fm-team-card-avatar{width:76px;height:76px;}
    .fm-team-member-name{font-size:18px;}
    .fm-team-card-actions{align-items:flex-start;flex-direction:column;}
    .fm-team-socials{justify-content:flex-start;}
    .fm-team-hero-inner-v2 h1{font-size:38px;}
}

/* =========================================================
   Full Moon reference hero generated-moon removal v20260428-v3
   The real uploaded background remains. Only the CSS-made extra moon is disabled.
   ========================================================= */
.fm-reference-scene::before{
    content:none!important;
    display:none!important;
    width:0!important;
    height:0!important;
    opacity:0!important;
    background:none!important;
    box-shadow:none!important;
}
@media(max-width:620px){
    .fm-reference-scene::before{
        content:none!important;
        display:none!important;
        width:0!important;
        height:0!important;
        opacity:0!important;
    }
}


/* =========================================================
   Full Moon profile dashboard redesign v20260428-profile
   ========================================================= */
.fm-userdash-wrap{padding-top:18px;padding-bottom:36px}
.fm-userdash-layout{display:grid;grid-template-columns:252px minmax(0,1fr);gap:18px}
.fm-userdash-sidebar{display:grid;gap:16px;align-content:start}
.fm-userdash-sidebar-panel{padding:14px;position:sticky;top:92px}
.fm-userdash-sidebar-title{display:flex;align-items:center;justify-content:center;min-height:36px;margin-bottom:10px;border-radius:12px;background:linear-gradient(135deg,rgba(155,92,255,.20),rgba(255,82,170,.10));border:1px solid rgba(255,255,255,.07);font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
.fm-userdash-nav{display:grid;gap:6px}
.fm-userdash-nav a{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 14px;border-radius:15px;color:#ddd8eb;font-weight:900;border:1px solid transparent;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.fm-userdash-nav a:hover,.fm-userdash-nav a.active{background:linear-gradient(135deg,rgba(155,92,255,.28),rgba(255,82,170,.10));border-color:rgba(155,92,255,.22);color:#fff;transform:translateY(-1px)}
.fm-userdash-nav-icon{width:24px;display:inline-grid;place-items:center;font-size:15px;opacity:.92}
.fm-userdash-sidecard{padding:22px 18px;display:grid;justify-items:center;gap:10px;text-align:center}
.fm-userdash-sidebrand{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.18),transparent 28%),linear-gradient(135deg,rgba(155,92,255,.36),rgba(255,82,170,.14));border:1px solid rgba(255,255,255,.10);box-shadow:0 16px 30px rgba(0,0,0,.18);overflow:hidden}
.fm-userdash-sidebrand img{width:100%;height:100%;object-fit:contain}
.fm-userdash-sidebrand span{font-size:30px}
.fm-userdash-sidecard strong{font-size:18px}
.fm-userdash-sidecard p{margin:0;color:#b8b1c8}
.fm-userdash-sideactions{display:flex;gap:8px}
.fm-userdash-sideactions a{min-width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:12px;font-weight:900;color:#eee8fb}
.fm-userdash-main{display:grid;gap:18px;min-width:0}
.fm-userdash-hero{position:relative;overflow:hidden;padding:0;min-height:258px}
.fm-userdash-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,14,31,.92),rgba(9,14,31,.60) 48%,rgba(9,14,31,.82)),linear-gradient(180deg,rgba(12,18,37,.12),rgba(12,18,37,.62)),var(--profile-cover,linear-gradient(135deg,#121935,#0b1022));background-size:cover;background-position:center}
.fm-userdash-hero-bg::before{content:"";position:absolute;left:-28px;top:-26px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.18),rgba(175,149,255,.12) 22%,rgba(114,98,167,.10) 46%,transparent 62%);filter:blur(.3px);opacity:.9}
.fm-userdash-hero-bg::after{content:"";position:absolute;right:0;top:0;width:45%;height:100%;background:linear-gradient(135deg,transparent 0 32%,rgba(255,82,170,.10) 33% 35%,transparent 36%),linear-gradient(180deg,transparent 0 36%,rgba(255,188,123,.15) 37% 39%,transparent 40%),linear-gradient(90deg,transparent 0 22%,rgba(12,18,37,.38) 23% 100%);opacity:.72}
.fm-userdash-hero-content{position:relative;z-index:2;display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:22px;align-items:center;padding:28px}
.fm-userdash-avatar-wrap{position:relative;width:160px}
.fm-userdash-avatar{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,rgba(155,92,255,.40),rgba(255,82,170,.18));border:3px solid rgba(255,255,255,.12);box-shadow:0 18px 44px rgba(0,0,0,.32)}
.fm-userdash-avatar img{width:100%;height:100%;object-fit:cover}
.fm-userdash-avatar span{font-size:58px;font-weight:900;color:#fff}
.fm-userdash-avatar-edit{position:absolute;right:8px;bottom:8px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,#b76cff,#7c3aed);color:#fff;font-weight:900;box-shadow:0 12px 24px rgba(124,58,237,.34);cursor:pointer}
.fm-userdash-userblock{display:grid;gap:8px;min-width:0}
.fm-userdash-userhead{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fm-userdash-userhead h1{margin:0;font-size:28px;letter-spacing:-.03em}
.fm-userdash-role{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:rgba(155,92,255,.22);border:1px solid rgba(155,92,255,.24);color:#efe3ff;font-size:13px;font-weight:900}
.fm-userdash-realname{font-size:15px;color:#d3cce4;font-weight:700;margin-top:-4px}
.fm-userdash-tagline{margin:0;color:#c6bfd8;font-size:18px;line-height:1.45}
.fm-userdash-stats{display:flex;flex-wrap:wrap;gap:30px;margin-top:8px}
.fm-userdash-stats div{display:grid;gap:2px;min-width:74px}
.fm-userdash-stats strong{font-size:19px;line-height:1;color:#fff}
.fm-userdash-stats span{color:#b9b2c9;font-size:14px}
.fm-userdash-hero-action{align-self:start}
.fm-userdash-edit-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);color:#f4efff;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.fm-userdash-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px}
.fm-userdash-card{padding:20px}
.fm-userdash-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.fm-userdash-card-head h2,.fm-userdash-card-head h1{margin:0;font-size:22px;letter-spacing:-.02em}
.fm-userdash-card-head a{color:#b26fff;font-weight:900;font-size:14px}
.fm-userdash-text p{margin:0;color:#d1cbde;line-height:1.72;font-size:16px}
.fm-userdash-infochips{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.fm-userdash-infochips span{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:12px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);color:#e7e1f4;font-size:14px;font-weight:800}
.fm-userdash-achievements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fm-userdash-achievement{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
.fm-userdash-achievement-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,rgba(155,92,255,.30),rgba(255,82,170,.12));font-size:24px}
.fm-userdash-achievement strong{display:block;font-size:17px}
.fm-userdash-achievement p{margin:4px 0 6px;color:#c7c1d5;line-height:1.5;font-size:14px}
.fm-userdash-achievement small{color:#9e97b1;font-weight:700}
.fm-userdash-posts-list,.fm-userdash-friends-list{display:grid;gap:14px}
.fm-userdash-post-row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;align-items:center}
.fm-userdash-post-thumb{width:140px;height:78px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,rgba(155,92,255,.20),rgba(255,82,170,.10));border:1px solid rgba(255,255,255,.08);display:grid;place-items:center}
.fm-userdash-post-thumb img{width:100%;height:100%;object-fit:cover}
.fm-userdash-post-thumb b{font-size:24px}
.fm-userdash-post-body{display:grid;gap:6px;min-width:0}
.fm-userdash-post-body strong{font-size:20px;line-height:1.25}
.fm-userdash-post-body small{font-size:14px;color:#c8c2d6;line-height:1.5}
.fm-userdash-post-body em{display:flex;gap:16px;flex-wrap:wrap;font-style:normal;color:#aaa3be;font-size:14px}
.fm-userdash-friend-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center}
.fm-userdash-friend-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,rgba(155,92,255,.32),rgba(255,82,170,.12));border:1px solid rgba(255,255,255,.10);font-size:20px;font-weight:900;color:#fff}
.fm-userdash-friend-meta{display:grid;gap:3px}
.fm-userdash-friend-meta strong{font-size:18px}
.fm-userdash-friend-meta small{color:#c8c1d7;font-size:14px}
.fm-userdash-mini-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;border-radius:12px;background:linear-gradient(135deg,#a958ff,#7c3aed);color:#fff;font-weight:900;font-size:14px;box-shadow:0 12px 24px rgba(124,58,237,.24)}
.fm-userdash-note{display:flex;align-items:center;justify-content:center;min-height:38px;color:#d9d3e7;font-weight:800;text-align:center;padding-bottom:4px}
.fm-userdash-section-placeholder{padding:24px}
.fm-userdash-section-placeholder p{margin:0 0 16px;color:#c5bed4;line-height:1.65}
.fm-userdash-emptybox{display:grid;gap:6px;padding:18px;border-radius:18px;background:rgba(255,255,255,.05);border:1px dashed rgba(255,255,255,.14)}
.fm-userdash-emptybox b{font-size:18px}
.fm-userdash-emptybox span{color:#aba4be}
:root[data-theme="light"] .fm-userdash-nav a{color:#4c455e}
:root[data-theme="light"] .fm-userdash-nav a:hover,:root[data-theme="light"] .fm-userdash-nav a.active{color:#fff}
:root[data-theme="light"] .fm-userdash-sidecard p,:root[data-theme="light"] .fm-userdash-tagline,:root[data-theme="light"] .fm-userdash-realname,:root[data-theme="light"] .fm-userdash-stats span,:root[data-theme="light"] .fm-userdash-text p,:root[data-theme="light"] .fm-userdash-achievement p,:root[data-theme="light"] .fm-userdash-achievement small,:root[data-theme="light"] .fm-userdash-post-body small,:root[data-theme="light"] .fm-userdash-post-body em,:root[data-theme="light"] .fm-userdash-friend-meta small,:root[data-theme="light"] .fm-userdash-section-placeholder p,:root[data-theme="light"] .fm-userdash-emptybox span,:root[data-theme="light"] .fm-userdash-note{color:#6d657f}
:root[data-theme="light"] .fm-userdash-sidebrand,:root[data-theme="light"] .fm-userdash-post-thumb,:root[data-theme="light"] .fm-userdash-achievement,:root[data-theme="light"] .fm-userdash-infochips span,:root[data-theme="light"] .fm-userdash-sideactions a,:root[data-theme="light"] .fm-userdash-edit-btn,:root[data-theme="light"] .fm-userdash-emptybox{background:rgba(45,34,70,.045);border-color:rgba(45,34,70,.10);color:#2f2940}
@media(max-width:1200px){.fm-userdash-grid{grid-template-columns:1fr}.fm-userdash-hero-content{grid-template-columns:132px minmax(0,1fr);}.fm-userdash-hero-action{grid-column:1/-1;justify-self:start}.fm-userdash-avatar-wrap,.fm-userdash-avatar{width:132px;height:132px}}
@media(max-width:980px){.fm-userdash-layout{grid-template-columns:1fr}.fm-userdash-sidebar-panel{position:static}.fm-userdash-sidebar{order:2}.fm-userdash-main{order:1}}
@media(max-width:760px){.fm-userdash-hero-content{grid-template-columns:1fr;justify-items:start}.fm-userdash-avatar-wrap,.fm-userdash-avatar{width:112px;height:112px}.fm-userdash-post-row{grid-template-columns:1fr}.fm-userdash-post-thumb{width:100%;height:120px}.fm-userdash-achievements-grid{grid-template-columns:1fr}.fm-userdash-friend-row{grid-template-columns:46px minmax(0,1fr)}.fm-userdash-mini-btn{grid-column:2;justify-self:start}.fm-userdash-stats{gap:18px}}

/* =========================================================
   Full Moon team role-ID filter hard fix v20260428-merge
   ========================================================= */
.fm-team-card-v2[hidden],
.fm-team-filter-empty[hidden],
[data-team-card][hidden],
[data-team-empty][hidden]{
    display:none!important;
}
.fm-team-tabs button[data-filter-id]{
    cursor:pointer;
}
.fm-team-empty-v2 .fm-team-empty-join{
    margin:12px auto 0;
}

/* =========================================================
   Social/profile comments/lists/posts upgrade v20260428
   ========================================================= */
.fm-status-box{margin:0 0 16px;padding:14px 16px;border-radius:16px;background:rgba(155,92,255,.12);border:1px solid rgba(155,92,255,.18);color:#f0e7ff;font-weight:700}
.fm-social-wrap .fm-panel,.fm-comments-panel,.fm-list-items-panel,.fm-social-posts-main,.fm-edit-hint-panel{background:linear-gradient(180deg,rgba(14,20,45,.92),rgba(10,14,31,.95));border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 40px rgba(0,0,0,.24)}
.fm-social-main{display:grid;gap:18px}
.fm-social-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.fm-social-mini-list,.fm-social-mini-comments{display:grid;gap:12px}
.fm-social-mini-card,.fm-social-mini-comment{display:grid;gap:4px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
.fm-social-mini-card strong,.fm-social-mini-comment strong{font-size:16px}
.fm-social-mini-card span,.fm-social-mini-comment span{color:#c8c1d8;font-size:14px;line-height:1.5}
.fm-social-hero{position:relative;overflow:hidden;padding:0;min-height:210px}
.fm-social-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,12,27,.90),rgba(7,12,27,.62)),var(--profile-cover,linear-gradient(135deg,#131936,#0b1022));background-size:cover;background-position:center}
.fm-social-hero-content{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:18px;min-height:210px;padding:30px 34px}
.fm-social-hero-content h1{margin:0;font-size:64px;line-height:1;letter-spacing:-.04em}
.fm-social-hero-content h1 span{color:#a764ff}
.fm-social-hero-content p{margin:12px 0 0;color:#cbc4da;font-size:24px;line-height:1.35}
.fm-lists-panel{padding:20px}
.fm-lists-tabs{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.fm-lists-tabs a{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border-radius:14px;background:transparent;border:1px solid transparent;color:#d8d2e4;font-weight:800}
.fm-lists-tabs a b{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 8px;border-radius:999px;background:rgba(255,255,255,.06)}
.fm-lists-tabs a.active,.fm-lists-tabs a:hover{background:linear-gradient(135deg,rgba(160,93,255,.22),rgba(120,56,237,.26));border-color:rgba(160,93,255,.25);color:#fff}
.fm-lists-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);gap:18px}
.fm-lists-cards{display:grid;gap:14px}
.fm-list-card{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:14px;border-radius:20px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);overflow:hidden}
.fm-list-card.active{border-color:rgba(166,97,255,.34);box-shadow:0 14px 30px rgba(101,51,209,.22)}
.fm-list-card-link{position:absolute;inset:0;z-index:0}
.fm-list-card > *:not(.fm-list-card-link){position:relative;z-index:1}
.fm-list-card-cover{height:88px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,rgba(155,92,255,.16),rgba(255,82,170,.10));display:grid;place-items:center}
.fm-list-card-cover img{width:100%;height:100%;object-fit:cover}
.fm-list-card-cover span{font-size:38px;color:#a98cff}
.fm-list-card-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}
.fm-list-card-meta strong{display:block;font-size:26px;line-height:1.1}
.fm-list-card-meta span{display:block;margin-top:6px;color:#c8c2d7;font-size:15px}
.fm-list-card-meta small{display:block;margin-top:8px;color:#938aa7;font-size:13px}
.fm-list-card-side{display:flex;align-items:flex-start;gap:12px}
.fm-list-count{white-space:nowrap;color:#d9d1ea;font-weight:800}
.fm-list-items-panel{padding:22px;border-radius:24px}
.fm-list-items-grid{display:grid;gap:14px}
.fm-list-item-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;padding:14px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}
.fm-list-item-cover{display:block;height:154px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,rgba(155,92,255,.18),rgba(255,82,170,.10))}
.fm-list-item-cover img{width:100%;height:100%;object-fit:cover}
.fm-list-item-cover span{display:grid;place-items:center;width:100%;height:100%;font-size:44px;color:#fff}
.fm-list-item-main{display:grid;gap:10px;min-width:0}
.fm-list-item-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.fm-list-item-title-row h3{margin:0;font-size:24px;line-height:1.15}
.fm-list-item-title-row h3 a{color:#fff}
.fm-list-item-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:rgba(155,92,255,.18);border:1px solid rgba(155,92,255,.22);white-space:nowrap;font-size:13px;font-weight:900;color:#efe1ff}
.fm-list-item-main p{margin:0;color:#cec7dc;line-height:1.6;font-size:15px}
.fm-list-progress-row{display:flex;align-items:center;gap:12px}
.fm-list-progress{flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.fm-list-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#b565ff,#7b3aed)}
.fm-list-progress-row small{color:#dfd7ef;font-weight:800}
.fm-social-posts-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}
.fm-social-posts-main{padding:18px;border-radius:24px}
.fm-social-post-list{display:grid;gap:12px;margin-top:16px}
.fm-social-post-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;padding:12px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.fm-social-post-cover{height:92px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,rgba(155,92,255,.18),rgba(255,82,170,.10));display:grid;place-items:center}
.fm-social-post-cover img{width:100%;height:100%;object-fit:cover}
.fm-social-post-body{display:grid;gap:10px;min-width:0}
.fm-social-post-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.fm-social-post-head strong{display:block;font-size:28px;line-height:1.1}
.fm-social-post-head span{display:block;margin-top:8px;color:#c9c3d8;font-size:15px;line-height:1.5}
.fm-social-post-meta{display:flex;gap:14px;flex-wrap:wrap;color:#bdb6ce;font-size:14px;font-weight:700}
.fm-post-state{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.06)}
.fm-post-state.published{background:rgba(155,92,255,.18);color:#f0e6ff}
.fm-post-state.draft{background:rgba(90,98,130,.20);color:#dce0ee}
.fm-post-state.scheduled{background:rgba(67,163,255,.18);color:#dcefff}
.fm-profile-comments-panel{margin-top:18px}
.fm-comments-panel{padding:20px;border-radius:24px}
.fm-comments-wrap .fm-comments-panel{padding:22px}
.fm-comments-login-box,.fm-comments-empty{display:grid;gap:8px;justify-items:start;padding:18px;border-radius:18px;background:rgba(255,255,255,.045);border:1px dashed rgba(255,255,255,.12)}
.fm-comments-empty b{font-size:18px}
.fm-comments-empty span,.fm-comments-login-box p{margin:0;color:#c9c2d7;line-height:1.6}
.fm-comment-compose{position:relative;display:grid;gap:12px;margin:16px 0 20px;padding:16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.fm-comment-compose.is-compact{margin:12px 0 0;padding:14px;border-radius:16px}
.fm-comment-compose-main{display:grid;gap:10px}
.fm-comment-compose textarea,.fm-comment-edit-form textarea,.fm-drawer-form textarea,.fm-drawer-form input,.fm-drawer-form select,.fm-comment-edit-form input{width:100%;padding:14px 15px;border-radius:14px;border:1px solid rgba(255,255,255,.09);background:rgba(10,14,31,.72);color:#fff;font:inherit;resize:vertical}
.fm-comment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.fm-comment-toolbar-left{display:flex;gap:12px;flex-wrap:wrap}
.fm-link-btn{display:inline-flex;align-items:center;gap:6px;border:none;background:none;padding:0;color:#b889ff;font-weight:900;cursor:pointer;font:inherit}
.fm-comment-gif-preview{display:grid;gap:10px;max-width:240px}
.fm-comment-gif-preview img,.fm-comment-gif img{display:block;max-width:100%;border-radius:14px}
.fm-picker{padding:14px;border-radius:16px;background:rgba(8,12,27,.98);border:1px solid rgba(255,255,255,.08)}
.fm-emoji-picker{display:flex;flex-wrap:wrap;gap:8px}
.fm-emoji-picker button{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.04);cursor:pointer;font-size:18px}
.fm-gif-picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.fm-gif-picker-grid button{padding:0;border:none;background:none;cursor:pointer}
.fm-gif-picker-grid img{width:100%;height:90px;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.08)}
.fm-comments-list{display:grid;gap:14px}
.fm-comment-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;padding:16px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.fm-comment-card.is-reply{padding:14px;border-radius:18px;background:rgba(255,255,255,.03)}
.fm-comment-avatar{width:58px;height:58px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,rgba(155,92,255,.35),rgba(255,82,170,.12));border:1px solid rgba(255,255,255,.10);display:grid;place-items:center}
.fm-comment-avatar img{width:100%;height:100%;object-fit:cover}
.fm-comment-avatar span{font-size:22px;font-weight:900;color:#fff}
.fm-comment-body{display:grid;gap:10px;min-width:0}
.fm-comment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.fm-comment-author-block{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.fm-comment-author-block strong{font-size:18px}
.fm-comment-role{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:rgba(155,92,255,.24);border:1px solid rgba(155,92,255,.22);font-size:12px;font-weight:900;color:#f1e5ff}
.fm-comment-author-block time{color:#a79fb8;font-size:13px;font-weight:700}
.fm-comment-text{color:#ece7f5;line-height:1.7;font-size:16px;word-break:break-word}
.fm-comment-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#b8b0c8}
.fm-comment-actions form{display:inline-flex}
.fm-comment-actions button{min-width:34px;height:34px;padding:0 10px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#f5eefc;cursor:pointer;font:inherit;font-weight:900}
.fm-comment-actions button.active{background:rgba(155,92,255,.24);border-color:rgba(155,92,255,.26)}
.fm-comment-rating{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:34px;padding:0 12px;border-radius:12px;background:rgba(255,255,255,.04);font-weight:900}
.fm-comment-rating.positive{color:#46d67e;background:rgba(70,214,126,.10)}
.fm-comment-rating.negative{color:#ff6c78;background:rgba(255,108,120,.10)}
.fm-comment-menu{position:relative}
.fm-comment-menu summary{list-style:none;display:grid;place-items:center;width:34px;height:34px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);cursor:pointer;font-size:22px;color:#f2ebfc}
.fm-comment-menu summary::-webkit-details-marker{display:none}
.fm-comment-menu-dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:168px;padding:8px;border-radius:16px;background:rgba(11,16,35,.98);border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 32px rgba(0,0,0,.30);display:grid;gap:4px;z-index:5}
.fm-comment-menu-btn{width:100%;display:flex;align-items:center;min-height:40px;padding:0 12px;border:none;background:none;color:#ebe3fb;font:inherit;font-weight:800;cursor:pointer;border-radius:12px}
.fm-comment-menu-btn:hover{background:rgba(255,255,255,.05)}
.fm-comment-menu-btn.danger{color:#ff6c78}
.fm-comment-replies{display:grid;gap:10px;margin-top:4px;padding-left:22px;border-left:1px solid rgba(255,255,255,.08)}
.fm-show-more-replies{justify-self:start;border:none;background:none;color:#be8cff;font-weight:900;padding:0;cursor:pointer;font:inherit}
.fm-comment-edit-box,.fm-comment-reply-box{display:grid;gap:12px}
.fm-comment-edit-form{display:grid;gap:12px;padding:14px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}
.fm-comment-edit-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.fm-title-list-picker{position:relative}
.fm-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.fm-title-list-picker summary{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);cursor:pointer;font-size:22px;list-style:none}
.fm-title-list-picker summary::-webkit-details-marker{display:none}
.fm-title-list-menu{position:absolute;right:0;top:calc(100% + 10px);width:280px;padding:12px;border-radius:18px;background:rgba(10,14,31,.98);border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 34px rgba(0,0,0,.32);display:grid;gap:8px;z-index:8}
.fm-title-list-menu strong{font-size:16px}
.fm-title-list-menu form{display:block}
.fm-title-list-menu button{width:100%;display:flex;align-items:center;min-height:42px;padding:0 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#eee6fc;cursor:pointer;font:inherit;font-weight:800}
.fm-title-list-menu button.active{background:rgba(155,92,255,.20);border-color:rgba(155,92,255,.25)}
.fm-drawer[hidden]{display:none!important}
.fm-drawer{position:fixed;inset:0;z-index:60}
.fm-drawer-backdrop{position:absolute;inset:0;background:rgba(3,6,16,.76);backdrop-filter:blur(4px)}
.fm-drawer-panel{position:absolute;right:0;top:0;height:100%;width:min(460px,100vw);padding:22px;background:linear-gradient(180deg,#10162f,#0b1023);border-left:1px solid rgba(255,255,255,.08);box-shadow:-18px 0 38px rgba(0,0,0,.34);overflow:auto}
.fm-drawer-panel.wide{width:min(560px,100vw)}
.fm-drawer-close{border:none;background:none;color:#fff;font-size:28px;cursor:pointer}
.fm-drawer-form{display:grid;gap:14px}
.fm-drawer-form label{display:grid;gap:8px;color:#ebe3fb;font-weight:700}
.fm-edit-hint-panel{padding:18px;border-radius:24px}
.fm-edit-hint-panel p{margin:0;color:#c8c1d7;line-height:1.7}
:root[data-theme="light"] .fm-status-box,:root[data-theme="light"] .fm-comments-panel,:root[data-theme="light"] .fm-social-wrap .fm-panel,:root[data-theme="light"] .fm-title-list-menu,:root[data-theme="light"] .fm-comment-menu-dropdown,:root[data-theme="light"] .fm-drawer-panel{background:#fff;color:#271f35;border-color:rgba(56,41,88,.12)}
:root[data-theme="light"] .fm-comments-empty span,:root[data-theme="light"] .fm-comments-login-box p,:root[data-theme="light"] .fm-comment-author-block time,:root[data-theme="light"] .fm-list-card-meta span,:root[data-theme="light"] .fm-list-card-meta small,:root[data-theme="light"] .fm-list-item-main p,:root[data-theme="light"] .fm-social-post-head span,:root[data-theme="light"] .fm-social-post-meta,:root[data-theme="light"] .fm-social-mini-card span,:root[data-theme="light"] .fm-social-mini-comment span,:root[data-theme="light"] .fm-social-hero-content p,:root[data-theme="light"] .fm-edit-hint-panel p{color:#6e6780}
:root[data-theme="light"] .fm-comment-text,:root[data-theme="light"] .fm-list-item-title-row h3 a,:root[data-theme="light"] .fm-social-post-head strong{color:#231d30}
@media(max-width:1280px){.fm-lists-layout,.fm-social-posts-layout,.fm-social-dashboard-grid{grid-template-columns:1fr}.fm-social-right-editors{display:none}}
@media(max-width:900px){.fm-social-hero-content{padding:24px;min-height:180px;align-items:flex-start;flex-direction:column}.fm-social-hero-content h1{font-size:44px}.fm-social-hero-content p{font-size:18px}.fm-list-card{grid-template-columns:110px minmax(0,1fr)}.fm-social-post-card{grid-template-columns:1fr}.fm-social-post-cover{height:140px}.fm-list-item-row{grid-template-columns:84px minmax(0,1fr)}.fm-list-item-cover{height:120px}.fm-comment-card{grid-template-columns:46px minmax(0,1fr)}.fm-comment-avatar{width:46px;height:46px}}
@media(max-width:640px){.fm-title-list-menu{left:0;right:auto;width:min(280px,90vw)}.fm-lists-tabs{gap:10px}.fm-list-card-meta strong,.fm-social-post-head strong{font-size:22px}.fm-list-item-title-row{flex-direction:column}.fm-comment-head{flex-direction:column;align-items:stretch}.fm-comment-replies{padding-left:14px}.fm-gif-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* =========================================================
   Full Moon social polish v20260428-final
   ========================================================= */
.fm-comment-edit-box[hidden],
.fm-comment-reply-box[hidden],
.fm-picker[hidden],
.fm-comment-gif-preview[hidden],
.fm-reply-row[hidden],
.fm-drawer[hidden]{display:none!important}

.profile-admin-link{color:#ffd28a!important;font-weight:950!important}
.fm-userdash-hero-actions{display:flex;align-items:flex-end;gap:10px;flex-direction:column}
.fm-userdash-level-card p{margin:10px 0 0;color:#c9c2d8;font-weight:800}
.fm-userdash-achievement.locked{opacity:.58;filter:saturate(.45)}
.fm-userdash-achievement.earned{border-color:rgba(155,92,255,.25);box-shadow:0 14px 28px rgba(124,58,237,.10)}
.fm-drawer-note,.fm-gif-empty{padding:13px 14px;border-radius:14px;background:rgba(155,92,255,.10);border:1px dashed rgba(155,92,255,.28);color:#d9d0ec;line-height:1.55;font-weight:800}
.fm-gif-empty code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#fff;background:rgba(255,255,255,.06);padding:2px 6px;border-radius:7px}

.fm-list-card{cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.fm-list-card:hover{transform:translateY(-2px);border-color:rgba(155,92,255,.28);background:rgba(255,255,255,.052)}
.fm-list-card-link{z-index:0}
.fm-list-card .fm-comment-menu{cursor:auto}
.fm-list-card-meta>div:first-child{min-width:0;overflow:hidden}
.fm-list-marquee,.fm-auto-marquee{display:block;max-width:100%;white-space:nowrap;overflow:hidden;min-width:0}
.fm-list-marquee span,.fm-auto-marquee span{display:inline-block;min-width:100%}
.fm-list-marquee:hover span,.fm-auto-marquee:hover span{animation:fm-soft-marquee 8s linear infinite alternate}
@keyframes fm-soft-marquee{0%,8%{transform:translateX(0)}92%,100%{transform:translateX(-18%)}}
.fm-list-marquee.is-long span{animation:fm-list-marquee 9s linear infinite alternate}
@keyframes fm-list-marquee{0%,15%{transform:translateX(0)}85%,100%{transform:translateX(-28%)}}

.fm-detail-title-row{align-items:center!important;justify-content:flex-start!important;gap:18px!important;flex-wrap:wrap}
.fm-detail-title-row h1{flex:0 1 auto;max-width:min(760px,100%)}
.fm-title-list-picker{flex:0 0 auto;z-index:12}
.fm-title-list-picker summary{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;width:auto!important;min-width:0!important;height:48px!important;padding:0 16px!important;font-size:15px!important;font-weight:950!important;line-height:1!important;color:#fff!important}
.fm-title-list-picker summary span{font-size:18px;line-height:1}
.fm-title-list-picker summary b{display:inline;font-size:14px;white-space:nowrap}
.fm-title-list-menu{left:0;right:auto}

.fm-comment-avatar{text-decoration:none;color:#fff;transition:transform .16s ease,border-color .16s ease}
.fm-comment-avatar:hover{transform:translateY(-1px);border-color:rgba(155,92,255,.35)}
.fm-comment-author-link{font-size:18px;font-weight:950;color:#fff;text-decoration:none}
.fm-comment-author-link:hover{color:#c9a5ff}
.fm-comment-level{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);font-size:12px;font-weight:950;color:#fff}

.fm-public-profile-wrap{padding-top:18px;padding-bottom:42px;display:grid;gap:18px}
.fm-public-preview-note{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.fm-public-preview-note a{color:#d8bdff;font-weight:950}
.fm-public-hero{position:relative;overflow:hidden;padding:0;min-height:352px}
.fm-public-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,11,25,.95),rgba(7,11,25,.56) 48%,rgba(7,11,25,.92)),linear-gradient(180deg,rgba(9,13,28,.25),rgba(9,13,28,.72)),var(--profile-cover,linear-gradient(135deg,#101632,#090e1f));background-size:cover;background-position:center}
.fm-public-hero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 24%,rgba(155,92,255,.24),transparent 26%),radial-gradient(circle at 82% 18%,rgba(255,82,170,.14),transparent 30%);opacity:.9}
.fm-public-hero-content{position:relative;z-index:2;display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:28px;align-items:center;min-height:282px;padding:34px 40px 18px}
.fm-public-avatar-wrap{position:relative;width:190px;height:190px}
.fm-public-avatar{width:190px;height:190px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,rgba(155,92,255,.48),rgba(255,82,170,.18));border:3px solid rgba(155,92,255,.62);box-shadow:0 22px 55px rgba(0,0,0,.36)}
.fm-public-avatar img{width:100%;height:100%;object-fit:cover}
.fm-public-avatar span{font-size:68px;font-weight:950;color:#fff}
.fm-public-online-dot{position:absolute;right:16px;bottom:18px;width:28px;height:28px;border-radius:50%;background:#8b5cf6;border:5px solid rgba(12,16,34,.95);box-shadow:0 0 0 1px rgba(255,255,255,.16)}
.fm-public-main-info{display:grid;gap:10px;min-width:0;align-content:center}
.fm-public-name-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fm-public-name-row h1{margin:0;font-size:44px;line-height:1;letter-spacing:-.045em;color:#fff}
.fm-public-star{font-size:25px;color:#9b5cff;text-shadow:0 0 20px rgba(155,92,255,.55)}
.fm-public-meta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#bdb5ce;font-weight:800}
.fm-public-role{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:rgba(155,92,255,.26);border:1px solid rgba(155,92,255,.30);color:#efe3ff;font-weight:950}
.fm-public-main-info p{margin:0;color:#ddd7ea;font-size:17px;line-height:1.55;max-width:760px}
.fm-public-socials{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.fm-public-socials a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);color:#eee7fb;font-size:12px;font-weight:950;text-decoration:none}
.fm-public-actions{display:flex;align-items:center;gap:12px;justify-content:flex-end;align-self:end;flex-wrap:wrap}
.fm-public-actions .fm-btn[disabled]{opacity:.7;cursor:not-allowed}
.fm-public-tabs{position:relative;z-index:3;display:flex;align-items:center;gap:28px;min-height:58px;padding:0 40px;border-top:1px solid rgba(255,255,255,.07);background:rgba(7,11,25,.28)}
.fm-public-tabs a{height:58px;display:inline-flex;align-items:center;color:#bdb5ce;font-weight:950;text-decoration:none;border-bottom:2px solid transparent}
.fm-public-tabs a.active,.fm-public-tabs a:hover{color:#fff;border-bottom-color:#a855f7}
.fm-public-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}
.fm-public-feed,.fm-public-sidebar{display:grid;gap:18px;min-width:0}
.fm-public-section,.fm-public-side-card{padding:22px;border-radius:24px}
.fm-public-post-list{display:grid;gap:14px}
.fm-public-post-card{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px;align-items:center;padding:14px;border-radius:20px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}
.fm-public-post-cover{height:126px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,rgba(155,92,255,.22),rgba(255,82,170,.10));display:grid;place-items:center}
.fm-public-post-cover img{width:100%;height:100%;object-fit:cover}
.fm-public-post-cover span{font-size:34px}
.fm-public-post-body{display:grid;gap:8px;min-width:0}
.fm-public-post-title-row{display:flex;align-items:center;gap:10px;justify-content:space-between;min-width:0}
.fm-public-post-title-row h3{margin:0;font-size:21px;line-height:1.22;color:#fff}
.fm-public-post-title-row span{display:inline-flex;min-height:26px;align-items:center;padding:0 10px;border-radius:999px;background:rgba(155,92,255,.20);color:#e9d9ff;font-size:12px;font-weight:950;white-space:nowrap}
.fm-public-post-body p{margin:0;color:#c9c2d7;line-height:1.55}
.fm-public-post-meta{display:flex;gap:16px;flex-wrap:wrap;color:#9f97b1;font-weight:800;font-size:14px}
.fm-public-side-card h2{margin:0 0 12px;font-size:21px;letter-spacing:-.02em}
.fm-public-side-card p{margin:0;color:#c9c2d7;line-height:1.6}
.fm-public-side-card small{color:#a79fb8;font-weight:800}
.fm-public-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}
.fm-public-stats-grid div{display:grid;gap:4px;text-align:center;padding:12px 6px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07)}
.fm-public-stats-grid strong{font-size:21px;color:#fff;line-height:1}
.fm-public-stats-grid span{font-size:12px;color:#aaa2b7;font-weight:800}
.fm-public-level-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;background:linear-gradient(135deg,rgba(155,92,255,.34),rgba(255,82,170,.14));border:1px solid rgba(155,92,255,.25);font-size:12px;font-weight:950;color:#fff}
.fm-public-level-line{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin:12px 0}
.fm-public-level-line span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8b5cf6,#c084fc)}
.fm-public-achievements-list{display:grid;gap:10px}
.fm-public-achievement{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:start;padding:10px;border-radius:15px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07)}
.fm-public-achievement>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(155,92,255,.18);font-size:20px}
.fm-public-achievement div{display:grid;gap:2px;min-width:0}
.fm-public-achievement strong{font-size:15px;color:#fff}
.fm-public-achievement small{font-size:12px;color:#aaa2b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-public-friends-avatars{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fm-public-friends-avatars a{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,rgba(155,92,255,.26),rgba(255,82,170,.12));border:1px solid rgba(255,255,255,.09);color:#fff;text-decoration:none;font-weight:950}
.fm-public-friends-avatars img{width:100%;height:100%;object-fit:cover}

:root[data-theme="light"] .fm-drawer-note,:root[data-theme="light"] .fm-gif-empty{color:#564a6d;background:#f5efff}
:root[data-theme="light"] .fm-public-post-title-row h3,:root[data-theme="light"] .fm-public-stats-grid strong,:root[data-theme="light"] .fm-public-achievement strong{color:#241d31}
:root[data-theme="light"] .fm-public-post-body p,:root[data-theme="light"] .fm-public-side-card p{color:#6e6780}

@media(max-width:1280px){.fm-public-layout{grid-template-columns:1fr}.fm-public-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-public-side-card:first-child{grid-column:1/-1}}
@media(max-width:900px){.fm-userdash-hero-content,.fm-public-hero-content{grid-template-columns:1fr;text-align:left}.fm-public-actions{justify-content:flex-start}.fm-public-tabs{overflow:auto;padding:0 22px}.fm-public-sidebar{grid-template-columns:1fr}.fm-public-post-card{grid-template-columns:1fr}.fm-public-post-cover{height:170px}.fm-detail-title-row h1{max-width:100%}}
@media(max-width:640px){.fm-title-list-picker summary b{display:none}.fm-public-name-row h1{font-size:34px}.fm-public-hero-content{padding:24px}.fm-public-avatar-wrap,.fm-public-avatar{width:132px;height:132px}.fm-public-stats-grid{grid-template-columns:repeat(2,1fr)}}
.fm-settings-form{max-width:980px}
.fm-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fm-settings-checks{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.fm-settings-checks .fm-check{display:flex;align-items:center;gap:9px;min-height:38px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);font-weight:850;color:#e8e0f4}
.fm-settings-panel input[type="file"]{padding:11px 12px;background:rgba(255,255,255,.045)}
@media(max-width:700px){.fm-settings-grid{grid-template-columns:1fr}.fm-userdash-hero-actions{align-items:flex-start}}



/* =========================================================
   Full Moon compact GIF display v20260429.2
   Fixed small visual size for every GIF in comments.
   ========================================================= */
.fm-comment-card .fm-comment-gif,
.fm-comment-gif{
    display:block!important;
    width:280px!important;
    max-width:min(280px,100%)!important;
    height:158px!important;
    max-height:158px!important;
    margin:4px 0 8px!important;
    border-radius:16px!important;
    overflow:hidden!important;
    background:rgba(255,255,255,.045)!important;
    border:1px solid rgba(255,255,255,.08)!important;
}
.fm-comment-card .fm-comment-gif img,
.fm-comment-gif img,
.fm-comment-card img.fm-comment-gif-img{
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:0!important;
}
.fm-comment-gif-preview{
    display:grid!important;
    gap:8px!important;
    width:220px!important;
    max-width:min(220px,100%)!important;
}
.fm-comment-gif-preview img{
    display:block!important;
    width:220px!important;
    max-width:100%!important;
    height:124px!important;
    max-height:124px!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:14px!important;
}
.fm-gif-picker-grid{
    grid-template-columns:repeat(5,minmax(74px,1fr))!important;
}
.fm-gif-picker-grid button{
    height:76px!important;
    overflow:hidden!important;
    border-radius:12px!important;
}
.fm-gif-picker-grid img{
    display:block!important;
    width:100%!important;
    height:76px!important;
    max-height:76px!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:12px!important;
}
.fm-comment-text img,
.fm-comment-body > img{
    display:block!important;
    width:280px!important;
    max-width:min(280px,100%)!important;
    height:158px!important;
    object-fit:cover!important;
    border-radius:16px!important;
}
@media(max-width:640px){
    .fm-comment-card .fm-comment-gif,
    .fm-comment-gif,
    .fm-comment-text img,
    .fm-comment-body > img{
        width:220px!important;
        max-width:min(220px,100%)!important;
        height:124px!important;
        max-height:124px!important;
    }
    .fm-comment-gif-preview{width:200px!important;max-width:min(200px,100%)!important}
    .fm-comment-gif-preview img{width:200px!important;height:112px!important;max-height:112px!important}
    .fm-gif-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
    .fm-gif-picker-grid button,.fm-gif-picker-grid img{height:68px!important;max-height:68px!important}
}


/* Admin-controlled footer and auth actions */
.fm-register-btn{
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.055);
    color:inherit;
}
.fm-site-footer{
    padding:28px 18px 38px;
    color:rgba(255,255,255,.62);
    border-top:1px solid rgba(255,255,255,.07);
    background:rgba(7,6,18,.5);
}
.fm-site-footer .site-footer-inner{
    width:min(1180px,100%);
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    font-size:14px;
}
.site-footer-links{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}
.site-footer-links a{
    color:inherit;
    text-decoration:none;
    padding:8px 12px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:999px;
    background:rgba(255,255,255,.045);
}
[data-theme="light"] .fm-site-footer{
    color:rgba(21,18,38,.66);
    background:rgba(255,255,255,.72);
    border-top-color:rgba(21,18,38,.08);
}
[data-theme="light"] .site-footer-links a{
    border-color:rgba(21,18,38,.1);
    background:rgba(21,18,38,.04);
}
@media(max-width:640px){
    .fm-site-footer .site-footer-inner{justify-content:center;text-align:center}
}

/* Home collections cards */
.fm-collections-panel{padding-top:10px}
.fm-collections-subtitle{margin:-8px 0 22px;color:#aeb3c6;font-size:15px;line-height:1.6;max-width:720px}
.fm-collection-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.fm-collection-card{position:relative;display:block;min-height:310px;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));color:inherit;text-decoration:none;isolation:isolate;box-shadow:0 18px 44px rgba(0,0,0,.28);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.fm-collection-card:hover{transform:translateY(-6px);border-color:rgba(168,100,255,.42);box-shadow:0 26px 56px rgba(0,0,0,.36)}
.fm-collection-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,12,26,.04) 0%,rgba(7,12,26,.12) 28%,rgba(7,12,26,.82) 100%);z-index:1}
.fm-collection-card:after{content:"";position:absolute;inset:-20% auto auto -20%;width:180px;height:180px;border-radius:999px;background:radial-gradient(circle,rgba(165,114,255,.26),transparent 68%);opacity:.85;z-index:1;pointer-events:none;transition:transform .3s ease,opacity .3s ease}
.fm-collection-card:hover:after{transform:translate(10px,8px) scale(1.06);opacity:1}
.fm-collection-cover{position:absolute;inset:0;display:block;background:linear-gradient(135deg,#151a2d,#36214f);overflow:hidden}
.fm-collection-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(255,255,255,.12),transparent 35%,transparent 60%,rgba(6,12,25,.24));z-index:1}
.fm-collection-cover img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(1.08) contrast(1.02);transform:scale(1.01);transition:transform .45s ease,filter .45s ease}
.fm-collection-card:hover .fm-collection-cover img{transform:scale(1.07);filter:saturate(1.14) contrast(1.04)}
.fm-collection-cover>span{display:grid;place-items:center;width:100%;height:100%;font-size:82px;font-weight:950;color:#fff}
.fm-collection-overlay{position:absolute;inset:auto 0 0 0;height:70%;background:linear-gradient(180deg,rgba(5,9,20,0) 0%,rgba(5,9,20,.28) 25%,rgba(5,9,20,.88) 100%);z-index:1;pointer-events:none}
.fm-collection-topline{position:absolute;top:16px;left:16px;right:16px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px}
.fm-collection-chip,.fm-collection-count{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.fm-collection-chip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);color:#fff}
.fm-collection-count{background:rgba(10,16,30,.34);border:1px solid rgba(255,255,255,.12);color:#efe6ff}
.fm-collection-body{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;gap:12px;padding:18px 18px 18px}
.fm-collection-body strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:27px;line-height:1.08;font-weight:900;letter-spacing:-.02em;color:#fff;text-shadow:0 6px 24px rgba(0,0,0,.3)}
.fm-collection-body em{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-style:normal;color:#d5dbef;font-size:14px;line-height:1.55;max-width:92%}
.fm-collection-body small{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin-top:2px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.fm-collection-body small b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:rgba(168,100,255,.28);color:#fff;font-size:14px}
.fm-collection-empty{grid-column:1/-1;display:grid;gap:6px;padding:18px;border-radius:16px;border:1px dashed rgba(255,255,255,.14);background:rgba(255,255,255,.035);color:#aeb3c6}
.fm-collection-empty b{color:#fff;font-size:17px}
.fm-collection-back{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#d9ccff;font-weight:850;text-decoration:none}
.fm-collection-content-grid{grid-template-columns:minmax(0,1fr) 300px}
@media(max-width:1120px){.fm-collection-content-grid{grid-template-columns:1fr}.fm-collection-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.fm-collection-list{grid-template-columns:1fr}.fm-collection-card{min-height:280px}.fm-collection-body strong{font-size:24px}}
@media(max-width:640px){.fm-collection-card{min-height:240px;border-radius:18px}.fm-collection-topline{top:12px;left:12px;right:12px}.fm-collection-chip,.fm-collection-count{min-height:30px;padding:0 10px;font-size:11px}.fm-collection-body{padding:14px}.fm-collection-body strong{font-size:20px}.fm-collection-body em{font-size:13px;max-width:100%}.fm-collection-body small{padding:8px 12px}}
[data-theme="light"] .fm-collection-card{background:rgba(255,255,255,.86);border-color:rgba(45,34,70,.12);box-shadow:0 18px 40px rgba(46,36,73,.09)}
[data-theme="light"] .fm-collection-card:before{background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(34,25,56,.06) 35%,rgba(34,25,56,.75) 100%)}
[data-theme="light"] .fm-collection-count{background:rgba(255,255,255,.72);border-color:rgba(45,34,70,.1);color:#382d55}
[data-theme="light"] .fm-collection-body strong{color:#fff}
[data-theme="light"] .fm-collection-body em{color:#e8e2f6}
[data-theme="light"] .fm-collections-subtitle{color:#706983}
[data-theme="light"] .fm-collection-empty{background:rgba(45,34,70,.035);border-color:rgba(45,34,70,.12);color:#706983}
[data-theme="light"] .fm-collection-empty b{color:#211833}


/* =========================================================
   Full Moon collections cards — modern compact grid v20260502.2
   Makes collection items look like real premium cards instead
   of one huge stretched banner when there are only 1–2 items.
   ========================================================= */
.fm-collections-panel{
    position:relative;
    padding-top:14px;
}
.fm-collections-panel:before{
    content:"";
    position:absolute;
    inset:10px 16px auto auto;
    width:190px;
    height:190px;
    border-radius:999px;
    background:radial-gradient(circle,rgba(161,101,255,.18),transparent 68%);
    pointer-events:none;
    opacity:.85;
}
.fm-collections-subtitle{
    margin:-8px 0 24px;
    max-width:680px;
    color:#b9bed1;
    font-size:15px;
    line-height:1.65;
}
.fm-collection-list{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(272px,1fr));
    gap:18px;
    align-items:stretch;
}
.fm-collection-card{
    position:relative;
    display:block;
    width:100%;
    max-width:368px;
    min-height:372px;
    overflow:hidden;
    border-radius:28px;
    color:#fff;
    text-decoration:none;
    isolation:isolate;
    background:#11172a;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 22px 54px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08);
    transform:translateZ(0);
    transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.fm-collection-card:hover{
    transform:translateY(-7px);
    border-color:rgba(190,142,255,.55);
    box-shadow:0 30px 70px rgba(0,0,0,.42),0 0 0 1px rgba(190,142,255,.12) inset;
}
.fm-collection-card:before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(180deg,rgba(5,8,18,.04) 0%,rgba(5,8,18,.12) 28%,rgba(5,8,18,.88) 100%),
        radial-gradient(circle at 18% 16%,rgba(255,255,255,.16),transparent 24%),
        linear-gradient(135deg,rgba(143,82,255,.18),transparent 45%);
    pointer-events:none;
}
.fm-collection-card:after{
    content:"";
    position:absolute;
    top:-40%;
    left:-55%;
    width:70%;
    height:180%;
    z-index:2;
    opacity:0;
    transform:rotate(18deg) translateX(-30%);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
    pointer-events:none;
    transition:transform .55s ease,opacity .24s ease;
}
.fm-collection-card:hover:after{
    opacity:1;
    transform:rotate(18deg) translateX(250%);
}
.fm-collection-cover{
    position:absolute;
    inset:0;
    display:block;
    overflow:hidden;
    background:
        radial-gradient(circle at 24% 22%,rgba(174,119,255,.42),transparent 34%),
        linear-gradient(135deg,#131b32,#341d4d 54%,#0b1020);
}
.fm-collection-cover:after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(180deg,rgba(7,10,20,.08),rgba(7,10,20,.18) 42%,rgba(7,10,20,.74)),
        linear-gradient(135deg,rgba(255,255,255,.12),transparent 36%,transparent 64%,rgba(6,12,25,.28));
}
.fm-collection-cover img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transform:scale(1.03);
    filter:saturate(1.12) contrast(1.04) brightness(.94);
    transition:transform .5s ease,filter .5s ease;
}
.fm-collection-card:hover .fm-collection-cover img{
    transform:scale(1.095);
    filter:saturate(1.18) contrast(1.06) brightness(1);
}
.fm-collection-cover>span{
    display:grid;
    place-items:center;
    width:100%;
    height:100%;
    font-size:88px;
    font-weight:950;
    color:rgba(255,255,255,.9);
}
.fm-collection-overlay{
    position:absolute;
    inset:auto 0 0;
    z-index:1;
    height:76%;
    background:linear-gradient(180deg,rgba(5,9,20,0),rgba(5,9,20,.34) 30%,rgba(5,9,20,.95));
    pointer-events:none;
}
.fm-collection-topline{
    position:absolute;
    top:15px;
    left:15px;
    right:15px;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.fm-collection-chip,
.fm-collection-count{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 12px;
    border-radius:999px;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    font-size:11px;
    font-weight:950;
    line-height:1;
    letter-spacing:.07em;
    text-transform:uppercase;
    white-space:nowrap;
}
.fm-collection-chip{
    color:#fff;
    background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.08));
    border:1px solid rgba(255,255,255,.18);
}
.fm-collection-count{
    color:#efe9ff;
    background:rgba(8,12,24,.42);
    border:1px solid rgba(255,255,255,.14);
}
.fm-collection-body{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:3;
    display:flex;
    flex-direction:column;
    gap:11px;
    padding:20px;
}
.fm-collection-body strong{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin:0;
    color:#fff;
    font-size:clamp(22px,2.35vw,30px);
    line-height:1.05;
    font-weight:950;
    letter-spacing:-.035em;
    text-shadow:0 8px 26px rgba(0,0,0,.38);
}
.fm-collection-body em{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    max-width:100%;
    margin:0;
    color:#dbe2f5;
    font-size:14px;
    line-height:1.55;
    font-style:normal;
    text-shadow:0 4px 18px rgba(0,0,0,.35);
}
.fm-collection-body small{
    display:inline-flex;
    align-items:center;
    gap:10px;
    align-self:flex-start;
    margin-top:4px;
    min-height:42px;
    padding:0 10px 0 15px;
    border-radius:999px;
    color:#fff;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.14);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    font-size:12px;
    font-weight:950;
    letter-spacing:.06em;
    text-transform:uppercase;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
}
.fm-collection-body small b{
    display:inline-grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:linear-gradient(135deg,#b58aff,#7d49ff);
    color:#fff;
    font-size:15px;
    box-shadow:0 8px 18px rgba(125,73,255,.28);
}
.fm-collection-empty{
    grid-column:1/-1;
    display:grid;
    gap:6px;
    padding:18px 20px;
    border-radius:20px;
    border:1px dashed rgba(255,255,255,.16);
    background:rgba(255,255,255,.04);
    color:#aeb3c6;
}
.fm-collection-empty b{color:#fff;font-size:17px}
@media(max-width:1120px){
    .fm-collection-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
    .fm-collection-card{max-width:none;min-height:340px}
}
@media(max-width:820px){
    .fm-collection-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
    .fm-collection-card{min-height:315px;border-radius:24px}
    .fm-collection-body{padding:17px}
}
@media(max-width:640px){
    .fm-collection-list{grid-template-columns:1fr;gap:14px}
    .fm-collection-card{max-width:none;min-height:268px;border-radius:22px}
    .fm-collection-topline{top:12px;left:12px;right:12px}
    .fm-collection-chip,.fm-collection-count{min-height:30px;padding:0 10px;font-size:10px}
    .fm-collection-body{padding:15px;gap:8px}
    .fm-collection-body strong{font-size:22px}
    .fm-collection-body em{font-size:13px;-webkit-line-clamp:2}
    .fm-collection-body small{min-height:38px;padding-left:13px}
}
:root[data-theme="light"] .fm-collections-subtitle{color:#706983}
:root[data-theme="light"] .fm-collection-card{background:#fff;border-color:rgba(45,34,70,.12);box-shadow:0 20px 50px rgba(46,36,73,.13),inset 0 1px 0 rgba(255,255,255,.6)}
:root[data-theme="light"] .fm-collection-card:before{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(34,25,56,.06) 36%,rgba(34,25,56,.78)),radial-gradient(circle at 18% 16%,rgba(255,255,255,.22),transparent 24%)}
:root[data-theme="light"] .fm-collection-count{color:#392f55;background:rgba(255,255,255,.72);border-color:rgba(45,34,70,.12)}
:root[data-theme="light"] .fm-collection-body strong{color:#fff}
:root[data-theme="light"] .fm-collection-body em{color:#ece6fb}
:root[data-theme="light"] .fm-collection-empty{background:rgba(45,34,70,.035);border-color:rgba(45,34,70,.12);color:#706983}
:root[data-theme="light"] .fm-collection-empty b{color:#211833}



/* FULLMOON collections horizontal cards v3 */
.fm-collection-list{
    display:grid;
    grid-template-columns:1fr !important;
    gap:16px !important;
    align-items:stretch;
}
.fm-collection-card{
    position:relative;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-height:220px !important;
    overflow:hidden;
    border-radius:28px !important;
    background:
        radial-gradient(circle at 86% 18%,rgba(181,138,255,.18),transparent 34%),
        linear-gradient(135deg,rgba(17,22,40,.98),rgba(8,11,22,.98)) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    box-shadow:0 20px 52px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.08) !important;
    color:#fff;
}
.fm-collection-card:hover{
    transform:translateY(-4px) !important;
    border-color:rgba(190,142,255,.46) !important;
    box-shadow:0 28px 68px rgba(0,0,0,.38),0 0 0 1px rgba(190,142,255,.10) inset !important;
}
.fm-collection-card:before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:
        linear-gradient(90deg,rgba(5,8,18,.08) 0%,rgba(5,8,18,.18) 34%,rgba(5,8,18,.78) 48%,rgba(5,8,18,.97) 100%),
        radial-gradient(circle at 46% 50%,rgba(181,138,255,.18),transparent 28%) !important;
}
.fm-collection-card:after{
    content:"";
    position:absolute;
    top:-60%;
    left:-20%;
    width:46%;
    height:220%;
    z-index:3;
    opacity:0;
    transform:rotate(18deg) translateX(-70%);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);
    pointer-events:none;
    transition:transform .55s ease,opacity .22s ease;
}
.fm-collection-card:hover:after{
    opacity:1;
    transform:rotate(18deg) translateX(245%);
}
.fm-collection-cover{
    position:absolute !important;
    inset:0 auto 0 0 !important;
    width:min(42%,430px) !important;
    height:100% !important;
    border-radius:0 !important;
    overflow:hidden;
    background:
        radial-gradient(circle at 24% 22%,rgba(174,119,255,.42),transparent 34%),
        linear-gradient(135deg,#131b32,#341d4d 54%,#0b1020) !important;
}
.fm-collection-cover:after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(90deg,rgba(6,10,22,.04) 0%,rgba(6,10,22,.12) 58%,rgba(6,10,22,.64) 100%),
        linear-gradient(135deg,rgba(255,255,255,.12),transparent 36%,transparent 64%,rgba(6,12,25,.28)) !important;
}
.fm-collection-cover img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
    transform:scale(1.02) !important;
    filter:saturate(1.12) contrast(1.04) brightness(.94) !important;
    transition:transform .5s ease,filter .5s ease;
}
.fm-collection-card:hover .fm-collection-cover img{
    transform:scale(1.075) !important;
    filter:saturate(1.18) contrast(1.06) brightness(1) !important;
}
.fm-collection-cover>span{
    display:grid !important;
    place-items:center;
    width:100%;
    height:100%;
    font-size:78px !important;
    font-weight:950;
    color:rgba(255,255,255,.9);
}
.fm-collection-overlay{
    position:absolute !important;
    inset:0 !important;
    height:auto !important;
    z-index:1 !important;
    background:linear-gradient(90deg,rgba(5,9,20,0),rgba(5,9,20,.42) 38%,rgba(5,9,20,.94) 100%) !important;
    pointer-events:none;
}
.fm-collection-topline{
    position:absolute !important;
    top:18px !important;
    left:18px !important;
    right:22px !important;
    z-index:4 !important;
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.fm-collection-chip,
.fm-collection-count{
    min-height:32px !important;
    padding:0 12px !important;
    border-radius:999px !important;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    font-size:11px !important;
    font-weight:950;
    letter-spacing:.07em;
    text-transform:uppercase;
    white-space:nowrap;
}
.fm-collection-chip{
    background:rgba(255,255,255,.13) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    color:#fff !important;
}
.fm-collection-count{
    margin-left:auto;
    color:#efe9ff !important;
    background:rgba(8,12,24,.52) !important;
    border:1px solid rgba(255,255,255,.14) !important;
}
.fm-collection-body{
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:min(42%,430px) !important;
    z-index:3 !important;
    display:flex !important;
    flex-direction:column;
    justify-content:center;
    gap:11px !important;
    padding:58px 26px 24px !important;
    border-left:1px solid rgba(255,255,255,.08);
}
.fm-collection-body strong{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    color:#fff !important;
    font-size:clamp(23px,2vw,31px) !important;
    line-height:1.08 !important;
    font-weight:950;
    letter-spacing:-.035em;
    text-shadow:0 8px 26px rgba(0,0,0,.38);
}
.fm-collection-body em{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    max-width:680px !important;
    color:#dbe2f5 !important;
    font-size:14px !important;
    line-height:1.55 !important;
    font-style:normal;
    text-shadow:0 4px 18px rgba(0,0,0,.35);
}
.fm-collection-body small{
    display:inline-flex !important;
    align-items:center;
    gap:10px;
    align-self:flex-start;
    margin-top:4px;
    min-height:40px !important;
    padding:0 10px 0 15px !important;
    border-radius:999px;
    color:#fff !important;
    background:linear-gradient(135deg,rgba(181,138,255,.22),rgba(255,255,255,.08)) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    font-size:12px !important;
    font-weight:950;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.fm-collection-body small b{
    display:inline-grid;
    place-items:center;
    width:28px !important;
    height:28px !important;
    border-radius:999px;
    background:linear-gradient(135deg,#b58aff,#7d49ff) !important;
    color:#fff;
    font-size:15px;
    box-shadow:0 8px 18px rgba(125,73,255,.28);
}
@media(max-width:900px){
    .fm-collection-card{min-height:198px !important;border-radius:24px !important}
    .fm-collection-cover{width:39% !important}
    .fm-collection-body{left:39% !important;padding:54px 18px 18px !important}
    .fm-collection-body strong{font-size:23px !important}
    .fm-collection-body em{font-size:13px !important;-webkit-line-clamp:2}
}
@media(max-width:640px){
    .fm-collection-list{gap:12px !important}
    .fm-collection-card{min-height:168px !important;border-radius:22px !important}
    .fm-collection-cover{width:40% !important}
    .fm-collection-body{left:40% !important;padding:46px 12px 12px !important;gap:7px !important;border-left:0}
    .fm-collection-topline{top:10px !important;left:10px !important;right:10px !important;gap:8px}
    .fm-collection-chip{display:none !important}
    .fm-collection-count{min-height:28px !important;padding:0 9px !important;font-size:10px !important}
    .fm-collection-body strong{font-size:18px !important;line-height:1.1 !important;-webkit-line-clamp:2}
    .fm-collection-body em{font-size:12px !important;line-height:1.4 !important;-webkit-line-clamp:1}
    .fm-collection-body small{min-height:32px !important;padding:0 7px 0 10px !important;font-size:10px !important;gap:7px}
    .fm-collection-body small b{width:23px !important;height:23px !important;font-size:13px}
}
:root[data-theme="light"] .fm-collection-card{
    background:linear-gradient(135deg,#fff,#f7f3ff) !important;
    border-color:rgba(45,34,70,.12) !important;
    box-shadow:0 18px 42px rgba(46,36,73,.11),inset 0 1px 0 rgba(255,255,255,.7) !important;
}
:root[data-theme="light"] .fm-collection-card:before{
    background:linear-gradient(90deg,rgba(255,255,255,.02),rgba(34,25,56,.10) 38%,rgba(34,25,56,.82) 100%) !important;
}
:root[data-theme="light"] .fm-collection-count{
    color:#392f55 !important;
    background:rgba(255,255,255,.76) !important;
    border-color:rgba(45,34,70,.12) !important;
}
:root[data-theme="light"] .fm-collection-body strong{color:#fff !important}
:root[data-theme="light"] .fm-collection-body em{color:#ece6fb !important}

/* FULLMOON collections slider v4: 2 cards on desktop, 1 card on phone */
.fm-collections-panel{
    overflow:hidden !important;
}
.fm-collections-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
}
.fm-collections-head .fm-section-head{
    margin-bottom:0;
}
.fm-collections-head .fm-collections-subtitle{
    margin:10px 0 0 !important;
    max-width:720px;
}
.fm-collection-nav{
    display:inline-flex;
    align-items:center;
    gap:10px;
    flex:0 0 auto;
    padding-top:2px;
}
.fm-collection-nav-btn{
    display:inline-grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.13);
    background:
        radial-gradient(circle at 30% 20%,rgba(255,255,255,.16),transparent 34%),
        rgba(255,255,255,.055);
    color:#fff;
    font-size:28px;
    line-height:1;
    font-weight:850;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.08);
    transition:transform .18s ease,border-color .18s ease,background .18s ease,opacity .18s ease;
}
.fm-collection-nav-btn:hover:not(:disabled){
    transform:translateY(-2px);
    border-color:rgba(181,138,255,.48);
    background:
        radial-gradient(circle at 30% 20%,rgba(255,255,255,.2),transparent 34%),
        rgba(181,138,255,.14);
}
.fm-collection-nav-btn:disabled{
    opacity:.38;
    cursor:default;
}
.fm-collection-slider-shell{
    position:relative;
    margin:0 -2px;
}
.fm-collection-slider-shell:before,
.fm-collection-slider-shell:after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    z-index:5;
    width:58px;
    pointer-events:none;
}
.fm-collection-slider-shell:before{
    left:0;
    background:linear-gradient(90deg,rgba(8,12,24,.96),rgba(8,12,24,0));
}
.fm-collection-slider-shell:after{
    right:0;
    background:linear-gradient(270deg,rgba(8,12,24,.96),rgba(8,12,24,0));
}
.fm-collection-list{
    display:flex !important;
    grid-template-columns:none !important;
    grid-auto-flow:unset !important;
    gap:16px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    padding:4px 2px 16px !important;
    align-items:stretch;
    scrollbar-width:none;
}
.fm-collection-list::-webkit-scrollbar{
    display:none;
}
.fm-collection-card{
    flex:0 0 calc((100% - 16px) / 2) !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    min-height:206px !important;
}
.fm-collection-card:focus-visible{
    outline:3px solid rgba(181,138,255,.78);
    outline-offset:3px;
}
.fm-collection-cover{
    width:41% !important;
}
.fm-collection-body{
    left:41% !important;
    padding:56px 20px 20px !important;
}
.fm-collection-body strong{
    font-size:clamp(21px,1.45vw,27px) !important;
}
.fm-collection-body em{
    font-size:13px !important;
    line-height:1.48 !important;
    -webkit-line-clamp:2;
}
.fm-collection-empty{
    flex:0 0 100% !important;
    width:100%;
}
:root[data-theme="light"] .fm-collection-slider-shell:before{
    background:linear-gradient(90deg,rgba(247,244,253,.96),rgba(247,244,253,0));
}
:root[data-theme="light"] .fm-collection-slider-shell:after{
    background:linear-gradient(270deg,rgba(247,244,253,.96),rgba(247,244,253,0));
}
:root[data-theme="light"] .fm-collection-nav-btn{
    color:#35254f;
    border-color:rgba(45,34,70,.12);
    background:rgba(255,255,255,.72);
    box-shadow:0 12px 28px rgba(46,36,73,.10),inset 0 1px 0 rgba(255,255,255,.75);
}
:root[data-theme="light"] .fm-collection-nav-btn:hover:not(:disabled){
    border-color:rgba(127,75,255,.34);
    background:#fff;
}
@media(max-width:1120px){
    .fm-collection-card{
        min-height:198px !important;
    }
    .fm-collection-body{
        padding:52px 17px 18px !important;
    }
    .fm-collection-body strong{
        font-size:22px !important;
    }
}
@media(max-width:760px){
    .fm-collections-head{
        align-items:flex-end;
        gap:12px;
        margin-bottom:14px;
    }
    .fm-collection-nav{
        gap:8px;
    }
    .fm-collection-nav-btn{
        width:38px;
        height:38px;
        font-size:25px;
    }
    .fm-collection-slider-shell{
        margin:0 -1px;
    }
    .fm-collection-slider-shell:before,
    .fm-collection-slider-shell:after{
        width:26px;
    }
    .fm-collection-list{
        gap:12px !important;
        padding-bottom:12px !important;
    }
    .fm-collection-card{
        flex-basis:100% !important;
        min-height:178px !important;
        border-radius:22px !important;
    }
    .fm-collection-cover{
        width:40% !important;
    }
    .fm-collection-body{
        left:40% !important;
        padding:46px 13px 13px !important;
    }
    .fm-collection-body strong{
        font-size:19px !important;
    }
}
@media(max-width:440px){
    .fm-collections-head{
        display:grid;
        grid-template-columns:1fr auto;
    }
    .fm-collections-head .fm-collections-subtitle{
        font-size:13px !important;
        line-height:1.45 !important;
    }
    .fm-collection-card{
        min-height:164px !important;
    }
    .fm-collection-cover{
        width:42% !important;
    }
    .fm-collection-body{
        left:42% !important;
        padding:42px 10px 10px !important;
    }
    .fm-collection-body strong{
        font-size:17px !important;
    }
    .fm-collection-body em{
        display:none !important;
    }
}


/* =========================================================
   FULLMOON v6 — compact home ONLY on phones.
   Desktop/tablet layout is intentionally left from v4.
   ========================================================= */
@media (max-width: 680px){
    body.is-home-page .site-header-inner{
        width:min(100% - 16px, 1340px);
        gap:8px;
        padding:10px 0 0;
    }
    body.is-home-page .brand-fm{
        justify-content:center;
    }
    body.is-home-page .brand-fm img.brand-logo-img{
        max-height:50px;
    }
    body.is-home-page .header-controls{
        display:grid;
        grid-template-columns:1fr auto auto;
        width:100%;
        gap:8px;
    }
    body.is-home-page .fm-search{
        width:100%;
        min-height:40px;
        padding:0 12px;
    }
    body.is-home-page .theme-button,
    body.is-home-page .profile-trigger{
        min-height:40px;
    }
    body.is-home-page .theme-button{
        width:40px;
        height:40px;
        border-radius:14px;
    }
    body.is-home-page .fm-nav{
        width:100%;
        justify-content:flex-start;
        overflow:auto;
        padding-bottom:2px;
        gap:2px;
        scrollbar-width:none;
    }
    body.is-home-page .fm-nav::-webkit-scrollbar{
        display:none;
    }
    body.is-home-page .fm-nav a{
        padding:11px 10px 15px;
        font-size:14px;
        white-space:nowrap;
    }
    body.is-home-page .fm-nav a.active::after,
    body.is-home-page .fm-nav a:hover::after{
        left:10px;
        right:10px;
        bottom:6px;
    }

    body.is-home-page .fm-hero{
        width:min(100% - 16px, 1340px);
        min-height:350px !important;
        margin:10px auto 12px;
        border:1px solid rgba(255,255,255,.10);
        border-radius:24px;
        box-shadow:0 18px 50px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08);
    }
    body.is-home-page .fm-hero-bg,
    body.is-home-page .fm-hero-overlay{
        border-radius:inherit;
    }
    body.is-home-page .fm-hero-inner{
        width:100%;
        min-height:350px !important;
    }
    body.is-home-page .fm-hero-content{
        max-width:100%;
        padding:54px 12px 28px;
    }
    body.is-home-page .fm-kicker{
        margin-bottom:12px;
        padding:8px 14px;
        font-size:11px;
        letter-spacing:.06em;
    }
    body.is-home-page .fm-hero h1{
        font-size:clamp(38px, 12vw, 52px);
        letter-spacing:-.055em;
    }
    body.is-home-page .fm-hero p{
        max-width:330px;
        margin:12px auto 0;
        font-size:15px;
        line-height:1.45;
    }
    body.is-home-page .fm-hero-actions{
        gap:9px;
        margin-top:20px;
    }
    body.is-home-page .fm-btn{
        flex:1 1 145px;
        min-width:0;
        min-height:46px;
        padding:0 14px;
        border-radius:15px;
        font-size:14px;
    }
    body.is-home-page .fm-hero-moon{
        left:18px;
        top:34px;
        width:150px;
        height:150px;
        opacity:.72;
    }
    body.is-home-page .fm-hero-branch{
        right:-122px;
        top:0;
        width:330px;
        height:170px;
        opacity:.46;
    }

    body.is-home-page .fm-home-wrap{
        width:min(100% - 16px, 1340px);
        padding-bottom:28px;
    }
    body.is-home-page .fm-home-grid{
        border:1px solid rgba(255,255,255,.08);
        border-radius:24px;
        overflow:hidden;
        background:linear-gradient(180deg,rgba(10,15,30,.96),rgba(8,12,25,.98));
        box-shadow:0 18px 52px rgba(0,0,0,.20);
    }
    body.is-home-page .fm-panel{
        padding:18px 14px;
    }
    body.is-home-page .fm-section-head{
        margin-bottom:14px;
    }
    body.is-home-page .fm-title-with-icon h2{
        font-size:18px;
        letter-spacing:-.02em;
    }
    body.is-home-page .fm-section-head a,
    body.is-home-page .fm-sidebar-button{
        font-size:15px;
    }
    body.is-home-page .fm-dorama-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:10px;
    }
    body.is-home-page .fm-dorama-card{
        border-radius:16px;
    }
    body.is-home-page .fm-dorama-meta{
        padding:11px 11px 12px;
    }
    body.is-home-page .fm-dorama-meta strong{
        min-height:auto;
        font-size:13px;
        line-height:1.28;
    }
    body.is-home-page .fm-dorama-meta span{
        margin-top:6px;
        font-size:12px;
    }
    body.is-home-page .fm-news-item{
        grid-template-columns:64px 1fr;
        gap:12px;
    }
    body.is-home-page .fm-news-thumb{
        width:64px;
        height:64px;
    }
    body.is-home-page .fm-news-content h3{
        font-size:15px;
        line-height:1.25;
    }
    body.is-home-page .fm-news-content p{
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
        font-size:13px;
    }
    body.is-home-page .fm-collections-panel{
        padding-top:18px;
    }
    body.is-home-page .fm-collections-head{
        gap:10px;
        margin-bottom:12px;
    }
    body.is-home-page .fm-collections-subtitle{
        font-size:14px;
        line-height:1.45;
        margin-bottom:14px;
    }
    body.is-home-page .fm-collection-card{
        min-height:184px !important;
        border-radius:22px !important;
    }
    body.is-home-page .fm-collection-body{
        padding:48px 16px 16px !important;
    }
    body.is-home-page .fm-collection-body strong{
        font-size:20px !important;
    }
    body.is-home-page .fm-collection-body em{
        font-size:12px !important;
        line-height:1.45 !important;
    }
}

@media (max-width: 420px){
    body.is-home-page .fm-hero,
    body.is-home-page .fm-hero-inner{
        min-height:330px !important;
    }
    body.is-home-page .fm-hero-content{
        padding-top:48px;
    }
    body.is-home-page .fm-btn{
        flex-basis:100%;
    }
}

@media (max-width: 680px){
    :root[data-theme="light"] body.is-home-page .fm-home-grid{
        background:rgba(255,255,255,.78);
        border-color:rgba(45,34,70,.11);
        box-shadow:0 18px 50px rgba(46,36,73,.10);
    }
}

/* =========================================================
   FULLMOON v7 — mobile app bar like mockup.
   Desktop/tablet layout is untouched. Only phones.
   Top row: logo + search/theme/profile. Second row: nav.
   ========================================================= */
@media (max-width: 680px){
    .site-header-fm{
        border-bottom-color:rgba(255,255,255,.07);
    }

    .site-header-inner,
    body.is-home-page .site-header-inner{
        width:min(100% - 16px, 1340px) !important;
        min-height:0 !important;
        padding:8px 0 0 !important;
        display:grid !important;
        grid-template-columns:auto minmax(0, 1fr) !important;
        grid-template-areas:
            "brand controls"
            "nav nav" !important;
        align-items:center !important;
        column-gap:10px !important;
        row-gap:8px !important;
    }

    .brand-fm,
    body.is-home-page .brand-fm{
        grid-area:brand !important;
        justify-content:flex-start !important;
        align-self:center !important;
        min-width:0 !important;
        max-width:118px !important;
    }

    .brand-fm img.brand-logo-img,
    body.is-home-page .brand-fm img.brand-logo-img{
        width:min(118px, 30vw) !important;
        max-width:118px !important;
        max-height:48px !important;
        object-fit:contain !important;
    }

    .brand-texts{
        display:none !important;
    }

    .header-controls,
    body.is-home-page .header-controls{
        grid-area:controls !important;
        display:grid !important;
        grid-template-columns:minmax(0, 1fr) auto auto !important;
        align-items:center !important;
        justify-self:stretch !important;
        width:auto !important;
        min-width:0 !important;
        gap:8px !important;
        overflow:visible !important;
    }

    .fm-search,
    body.is-home-page .fm-search{
        width:100% !important;
        min-width:0 !important;
        min-height:42px !important;
        height:42px !important;
        padding:0 12px !important;
        border-radius:999px !important;
        gap:8px !important;
    }

    .fm-search input{
        min-width:0 !important;
        width:100% !important;
        font-size:14px !important;
    }

    .theme-button,
    body.is-home-page .theme-button{
        width:42px !important;
        height:42px !important;
        min-width:42px !important;
        min-height:42px !important;
        border-radius:18px !important;
    }

    .profile-trigger,
    body.is-home-page .profile-trigger{
        min-height:42px !important;
        height:42px !important;
        min-width:66px !important;
        padding:4px 8px 4px 4px !important;
        border-radius:999px !important;
        gap:6px !important;
    }

    .profile-avatar{
        width:34px !important;
        height:34px !important;
    }

    .profile-chevron{
        font-size:14px !important;
        line-height:1 !important;
    }

    .profile-name{
        display:none !important;
    }

    .fm-nav,
    body.is-home-page .fm-nav{
        grid-area:nav !important;
        width:100% !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        gap:18px !important;
        padding:2px 0 0 !important;
        scrollbar-width:none !important;
        -webkit-overflow-scrolling:touch !important;
    }

    .fm-nav::-webkit-scrollbar,
    body.is-home-page .fm-nav::-webkit-scrollbar{
        display:none !important;
    }

    .fm-nav a,
    body.is-home-page .fm-nav a{
        flex:0 0 auto !important;
        padding:10px 0 14px !important;
        font-size:15px !important;
        line-height:1 !important;
        white-space:nowrap !important;
    }

    .fm-nav a.active::after,
    .fm-nav a:hover::after,
    body.is-home-page .fm-nav a.active::after,
    body.is-home-page .fm-nav a:hover::after{
        left:0 !important;
        right:0 !important;
        bottom:5px !important;
        height:3px !important;
    }

    .profile-dropdown{
        right:0 !important;
        top:calc(100% + 10px) !important;
    }

    .fm-login-btn,
    .fm-register-btn{
        min-height:42px !important;
        height:42px !important;
        padding:0 12px !important;
        font-size:13px !important;
        white-space:nowrap !important;
    }
}

@media (max-width: 430px){
    .site-header-inner,
    body.is-home-page .site-header-inner{
        column-gap:8px !important;
    }

    .brand-fm,
    body.is-home-page .brand-fm{
        max-width:96px !important;
    }

    .brand-fm img.brand-logo-img,
    body.is-home-page .brand-fm img.brand-logo-img{
        width:min(96px, 27vw) !important;
        max-width:96px !important;
        max-height:42px !important;
    }

    .header-controls,
    body.is-home-page .header-controls{
        gap:6px !important;
    }

    .fm-search,
    body.is-home-page .fm-search{
        min-height:40px !important;
        height:40px !important;
        padding:0 10px !important;
    }

    .search-icon{
        font-size:16px !important;
    }

    .theme-button,
    body.is-home-page .theme-button{
        width:40px !important;
        height:40px !important;
        min-width:40px !important;
        min-height:40px !important;
        border-radius:16px !important;
    }

    .profile-trigger,
    body.is-home-page .profile-trigger{
        min-width:58px !important;
        height:40px !important;
        min-height:40px !important;
        padding:3px 7px 3px 3px !important;
    }

    .profile-avatar{
        width:32px !important;
        height:32px !important;
    }

    .fm-nav,
    body.is-home-page .fm-nav{
        gap:16px !important;
    }

    .fm-nav a,
    body.is-home-page .fm-nav a{
        font-size:14px !important;
    }
}

/* =========================================================
   FULLMOON v8 — catalog/films mobile fit + admin-driven controls.
   Desktop layout is kept as-is. The only desktop change is support
   for hiding the right catalog column from admin settings.
   ========================================================= */
.fm-catalog-content-grid.is-without-sidebar{
    grid-template-columns:1fr !important;
}
.fm-catalog-content-grid.is-without-sidebar .fm-catalog-main-column{
    width:100%;
}
.fm-catalog-reference-hero .fm-reference-icon{
    display:none !important;
}

@media (max-width: 760px){
    .fm-catalog-reference-hero{
        min-height:auto !important;
        border-bottom-color:rgba(255,255,255,.07) !important;
    }

    .fm-catalog-reference-hero .fm-reference-scene{
        filter:brightness(.78) saturate(1.06) !important;
    }

    .fm-catalog-reference-hero .fm-reference-scene::after{
        opacity:.28 !important;
    }

    .fm-catalog-hero-center,
    .fm-reference-hero-inner.fm-catalog-hero-center{
        width:min(100% - 18px, var(--fm-site-max-width)) !important;
        min-height:0 !important;
        padding:28px 0 18px !important;
        display:grid !important;
        justify-items:stretch !important;
        align-content:start !important;
        text-align:left !important;
    }

    .fm-catalog-hero-center h1,
    .fm-reference-hero.fm-catalog-reference-hero h1{
        margin:0 0 9px !important;
        max-width:100% !important;
        font-size:clamp(28px, 9.4vw, 42px) !important;
        line-height:.96 !important;
        letter-spacing:-.055em !important;
        text-align:left !important;
        text-wrap:balance;
    }

    .fm-catalog-hero-center p,
    .fm-reference-hero.fm-catalog-reference-hero p{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        font-size:14px !important;
        line-height:1.45 !important;
        color:#ddd7ee !important;
        text-align:left !important;
    }

    .fm-catalog-hero-center .fm-reference-pills{
        justify-content:flex-start !important;
        flex-wrap:nowrap !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        width:calc(100% + 18px) !important;
        margin:14px -9px 0 !important;
        padding:0 9px 5px !important;
        gap:8px !important;
        scrollbar-width:none !important;
        -webkit-overflow-scrolling:touch !important;
    }

    .fm-catalog-hero-center .fm-reference-pills::-webkit-scrollbar{
        display:none !important;
    }

    .fm-catalog-hero-center .fm-reference-pills a{
        flex:0 0 auto !important;
        min-height:34px !important;
        padding:0 13px !important;
        border-radius:999px !important;
        font-size:13px !important;
        line-height:1 !important;
        white-space:nowrap !important;
        box-shadow:none !important;
    }

    .fm-catalog-hero-center .fm-reference-filter{
        width:100% !important;
        margin-top:13px !important;
        padding:10px !important;
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:8px !important;
        border-radius:18px !important;
        border:1px solid rgba(255,255,255,.10) !important;
        background:rgba(9,13,27,.58) !important;
        backdrop-filter:blur(16px) !important;
        box-shadow:0 18px 48px rgba(0,0,0,.22) !important;
    }

    .fm-catalog-hero-center .fm-reference-filter label,
    .fm-catalog-hero-center .fm-reference-filter select,
    .fm-catalog-hero-center .fm-reference-filter button{
        min-width:0 !important;
        max-width:100% !important;
    }

    .fm-catalog-hero-center .fm-reference-filter select{
        min-height:38px !important;
        height:38px !important;
        padding:0 10px !important;
        border-radius:12px !important;
        font-size:13px !important;
        font-weight:850 !important;
        line-height:1 !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    .fm-catalog-hero-center .fm-reference-filter button{
        grid-column:auto !important;
        min-height:38px !important;
        height:38px !important;
        border-radius:12px !important;
        font-size:15px !important;
        box-shadow:0 12px 28px rgba(139,92,246,.24) !important;
    }

    .fm-reference-wrap.fm-catalog-reference-wrap{
        width:min(100% - 18px, var(--fm-site-max-width)) !important;
        margin-top:0 !important;
        padding-bottom:30px !important;
    }

    .fm-catalog-content-grid{
        display:block !important;
        width:100% !important;
    }

    .fm-catalog-main-column{
        min-width:0 !important;
        width:100% !important;
    }

    .fm-catalog-toolbar{
        display:grid !important;
        grid-template-columns:auto minmax(0, 1fr) !important;
        align-items:center !important;
        gap:9px !important;
        margin:0 0 12px !important;
    }

    .fm-catalog-toolbar > div{
        min-height:42px !important;
        padding:0 12px !important;
        display:flex !important;
        align-items:baseline !important;
        gap:6px !important;
        border-radius:14px !important;
        border:1px solid rgba(255,255,255,.09) !important;
        background:rgba(255,255,255,.055) !important;
        white-space:nowrap !important;
    }

    .fm-catalog-toolbar b{
        font-size:23px !important;
        line-height:1 !important;
    }

    .fm-catalog-toolbar span{
        font-size:12px !important;
        color:#bdb7cd !important;
        font-weight:850 !important;
    }

    .fm-catalog-inline-search{
        width:100% !important;
        min-width:0 !important;
    }

    .fm-catalog-inline-search input{
        min-height:42px !important;
        height:42px !important;
        border-radius:14px !important;
        padding:0 13px !important;
        font-size:14px !important;
        font-weight:800 !important;
    }

    .fm-reference-cards-grid.fm-catalog-grid{
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:10px !important;
        width:100% !important;
    }

    .fm-reference-cards-grid .dorama-card{
        border-radius:18px !important;
        min-width:0 !important;
        overflow:hidden !important;
        box-shadow:0 14px 34px rgba(0,0,0,.18) !important;
    }

    .fm-reference-cards-grid .poster-wrap{
        aspect-ratio:2 / 2.75 !important;
        border-radius:0 !important;
    }

    .fm-reference-cards-grid .poster-badge{
        left:7px !important;
        bottom:7px !important;
        padding:5px 7px !important;
        border-radius:999px !important;
        font-size:10.5px !important;
    }

    .fm-reference-cards-grid .poster-featured{
        right:8px !important;
        bottom:8px !important;
        font-size:12px !important;
    }

    .fm-reference-cards-grid .card-body{
        padding:9px 10px 10px !important;
        display:grid !important;
        gap:4px !important;
    }

    .fm-reference-cards-grid .card-title{
        min-height:34px !important;
        font-size:13.5px !important;
        line-height:1.24 !important;
        -webkit-line-clamp:2 !important;
    }

    .fm-reference-cards-grid .card-meta{
        font-size:11.5px !important;
        line-height:1.25 !important;
        white-space:nowrap !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
    }

    .fm-reference-cards-grid .genre-line{
        font-size:11px !important;
        line-height:1.25 !important;
    }

    .fm-catalog-sidebar{
        position:static !important;
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
        margin-top:16px !important;
    }

    .fm-side-card{
        border-radius:18px !important;
        padding:12px !important;
        box-shadow:0 16px 38px rgba(0,0,0,.18) !important;
    }

    .fm-side-card h2{
        margin-bottom:10px !important;
        font-size:14px !important;
    }

    .fm-side-card h2 span{
        width:25px !important;
        height:25px !important;
        border-radius:8px !important;
        font-size:12px !important;
    }

    .fm-side-links{
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:6px !important;
    }

    .fm-side-links a{
        min-height:34px !important;
        padding:0 9px !important;
        border-radius:11px !important;
        font-size:12px !important;
        line-height:1.1 !important;
        min-width:0 !important;
    }

    .fm-side-links a span{
        min-width:0 !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
    }

    .fm-side-links b{
        min-width:21px !important;
        min-height:21px !important;
        padding:0 6px !important;
        font-size:11px !important;
    }

    .fm-top-list{
        gap:8px !important;
    }

    .fm-top-card .fm-side-button{
        min-height:38px !important;
        margin-top:12px !important;
        border-radius:12px !important;
        font-size:13px !important;
    }

    .fm-reference-pagination{
        margin-top:18px !important;
        overflow-x:auto !important;
        justify-content:flex-start !important;
        padding-bottom:4px !important;
    }
}

@media (max-width: 430px){
    .fm-catalog-hero-center,
    .fm-reference-hero-inner.fm-catalog-hero-center,
    .fm-reference-wrap.fm-catalog-reference-wrap{
        width:min(100% - 14px, var(--fm-site-max-width)) !important;
    }

    .fm-catalog-hero-center .fm-reference-filter{
        padding:8px !important;
        gap:7px !important;
        border-radius:16px !important;
    }

    .fm-catalog-hero-center .fm-reference-filter select,
    .fm-catalog-hero-center .fm-reference-filter button{
        min-height:36px !important;
        height:36px !important;
        font-size:12px !important;
        border-radius:11px !important;
    }

    .fm-catalog-toolbar{
        grid-template-columns:1fr !important;
    }

    .fm-catalog-toolbar > div{
        justify-content:center !important;
    }

    .fm-reference-cards-grid.fm-catalog-grid{
        gap:9px !important;
    }

    .fm-reference-cards-grid .card-body{
        padding:8px 9px 9px !important;
    }

    .fm-reference-cards-grid .card-title{
        font-size:13px !important;
        min-height:32px !important;
    }

    .fm-reference-cards-grid .card-meta,
    .fm-reference-cards-grid .genre-line{
        font-size:10.8px !important;
    }
}

@media (max-width: 340px){
    .fm-catalog-hero-center .fm-reference-filter{
        grid-template-columns:1fr !important;
    }

    .fm-reference-cards-grid.fm-catalog-grid{
        grid-template-columns:1fr !important;
    }

    .fm-side-links{
        grid-template-columns:1fr !important;
    }
}

/* =========================================================
   FULLMOON v9 — guest login icon + pretty catalog dropdowns.
   Keeps admin-driven registration: register link lives on /login.
   ========================================================= */
.guest-login-trigger{
    order:3;
    height:44px;
    min-width:54px;
    display:inline-grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.10);
    border-radius:999px;
    color:#fff;
    text-decoration:none;
    background:
        radial-gradient(circle at 35% 22%, rgba(255,255,255,.16), transparent 34%),
        linear-gradient(135deg, rgba(155,92,255,.32), rgba(255,79,163,.18));
    box-shadow:0 14px 34px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.10);
    transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.guest-login-trigger:hover{
    transform:translateY(-1px);
    border-color:rgba(196,139,255,.52);
    background:
        radial-gradient(circle at 35% 22%, rgba(255,255,255,.22), transparent 35%),
        linear-gradient(135deg, rgba(155,92,255,.48), rgba(255,79,163,.26));
    box-shadow:0 18px 44px rgba(137,84,255,.22), inset 0 1px 0 rgba(255,255,255,.14);
}
.guest-login-icon{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.075);
}
.guest-login-icon svg{
    width:22px;
    height:22px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
:root[data-theme="light"] .guest-login-trigger{
    color:#2a2138;
    border-color:rgba(45,34,70,.12);
    background:linear-gradient(135deg, rgba(155,92,255,.18), rgba(255,79,163,.12));
    box-shadow:0 14px 34px rgba(46,36,73,.10), inset 0 1px 0 rgba(255,255,255,.8);
}
:root[data-theme="light"] .guest-login-icon{
    background:rgba(45,34,70,.055);
}
.auth-register-cta{
    margin-top:18px;
    padding:10px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.055);
}
.auth-register-cta span{
    color:var(--muted);
    font-weight:850;
    padding-left:4px;
}
.auth-register-cta a{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 16px;
    border-radius:14px;
    color:#fff;
    text-decoration:none;
    font-weight:950;
    background:linear-gradient(135deg, var(--pink), var(--violet));
    box-shadow:0 14px 30px rgba(155,92,255,.22);
}
:root[data-theme="light"] .auth-register-cta{
    border-color:rgba(45,34,70,.10);
    background:rgba(45,34,70,.04);
}

.fm-reference-filter{
    overflow:visible !important;
}
.fm-reference-filter label{
    position:relative;
    overflow:visible !important;
}
.fm-reference-filter label.fm-select-enhanced{
    z-index:8;
}
.fm-reference-filter label.fm-select-enhanced:focus-within{
    z-index:90;
}
.fm-reference-filter .fm-native-select{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    min-height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
    inset:auto auto 0 0 !important;
    padding:0 !important;
    border:0 !important;
}
.fm-selectbox{
    position:relative;
    width:100%;
    min-width:0;
}
.fm-selectbox-button{
    width:100%;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:0 13px 0 15px;
    border-radius:15px;
    border:1px solid rgba(255,255,255,.11);
    color:#f7f3ff;
    background:
        radial-gradient(circle at 20% 0, rgba(255,255,255,.10), transparent 32%),
        rgba(15,20,38,.86);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 10px 26px rgba(0,0,0,.12);
    font:inherit;
    font-size:14px;
    font-weight:950;
    line-height:1;
    text-align:left;
    cursor:pointer;
    outline:none;
    transition:border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.fm-selectbox-button:hover,
.fm-selectbox.is-open .fm-selectbox-button,
.fm-selectbox-button:focus-visible{
    border-color:rgba(178,116,255,.55);
    background:
        radial-gradient(circle at 20% 0, rgba(255,255,255,.14), transparent 34%),
        rgba(20,26,48,.94);
    box-shadow:0 0 0 4px rgba(155,92,255,.14), inset 0 1px 0 rgba(255,255,255,.10);
}
.fm-selectbox-text{
    min-width:0;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}
.fm-selectbox-chevron{
    flex:0 0 auto;
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border-radius:9px;
    color:#d7c9ff;
    background:rgba(155,92,255,.16);
    font-style:normal;
    font-size:15px;
    line-height:1;
    transition:transform .16s ease, background .16s ease;
}
.fm-selectbox.is-open .fm-selectbox-chevron{
    transform:rotate(180deg);
    background:rgba(155,92,255,.28);
}
.fm-selectbox-menu{
    position:absolute;
    left:0;
    top:calc(100% + 8px);
    width:100%;
    min-width:190px;
    max-height:min(278px, 52vh);
    overflow:auto;
    padding:7px;
    display:grid;
    gap:4px;
    border-radius:18px;
    border:1px solid rgba(205,174,255,.16);
    background:linear-gradient(180deg, rgba(19,24,44,.98), rgba(12,17,34,.98));
    box-shadow:0 26px 70px rgba(0,0,0,.46), 0 0 0 1px rgba(255,255,255,.035) inset;
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
    opacity:0;
    transform:translateY(-6px) scale(.98);
    transform-origin:top center;
    pointer-events:none;
    transition:opacity .16s ease, transform .16s ease;
    z-index:120;
    scrollbar-width:thin;
    scrollbar-color:rgba(155,92,255,.55) rgba(255,255,255,.06);
}
.fm-selectbox-menu::-webkit-scrollbar{width:8px}
.fm-selectbox-menu::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:999px}
.fm-selectbox-menu::-webkit-scrollbar-thumb{background:rgba(155,92,255,.56);border-radius:999px}
.fm-selectbox.is-open .fm-selectbox-menu{
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
}
.fm-selectbox-option{
    width:100%;
    min-height:39px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:0 11px;
    border:0;
    border-radius:12px;
    color:#eee9fb;
    background:transparent;
    font:inherit;
    font-size:14px;
    font-weight:850;
    text-align:left;
    cursor:pointer;
    transition:background .14s ease, color .14s ease, transform .14s ease;
}
.fm-selectbox-option:hover{
    background:rgba(255,255,255,.075);
    color:#fff;
}
.fm-selectbox-option.is-active{
    color:#fff;
    background:linear-gradient(135deg, rgba(155,92,255,.56), rgba(255,79,163,.28));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.fm-selectbox-option.is-active::after{
    content:'✓';
    flex:0 0 auto;
    width:22px;
    height:22px;
    display:grid;
    place-items:center;
    border-radius:8px;
    color:#fff;
    background:rgba(255,255,255,.13);
    font-size:12px;
    font-weight:950;
}
:root[data-theme="light"] .fm-selectbox-button{
    color:#241c33;
    border-color:rgba(45,34,70,.12);
    background:rgba(255,255,255,.92);
    box-shadow:0 10px 24px rgba(46,36,73,.08), inset 0 1px 0 rgba(255,255,255,.85);
}
:root[data-theme="light"] .fm-selectbox-menu{
    border-color:rgba(45,34,70,.13);
    background:rgba(255,255,255,.98);
    box-shadow:0 26px 60px rgba(46,36,73,.18), 0 0 0 1px rgba(255,255,255,.70) inset;
}
:root[data-theme="light"] .fm-selectbox-option{color:#30283e}
:root[data-theme="light"] .fm-selectbox-option:hover{background:rgba(45,34,70,.06);color:#1f172d}
:root[data-theme="light"] .fm-selectbox-option.is-active{color:#fff;background:linear-gradient(135deg,#9b5cff,#e04db3)}

@media (max-width:760px){
    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox-button{
        min-height:38px !important;
        height:38px !important;
        padding:0 8px 0 10px !important;
        border-radius:12px !important;
        font-size:13px !important;
    }
    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox-chevron{
        width:21px !important;
        height:21px !important;
        border-radius:8px !important;
        font-size:13px !important;
    }
    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox-menu{
        min-width:170px;
        max-height:min(245px, 48vh);
        border-radius:15px;
        padding:6px;
    }
    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox-option{
        min-height:36px;
        padding:0 10px;
        border-radius:10px;
        font-size:13px;
    }
}

@media (max-width:680px){
    .guest-login-trigger,
    body.is-home-page .guest-login-trigger{
        width:42px !important;
        height:42px !important;
        min-width:42px !important;
        min-height:42px !important;
        border-radius:18px !important;
    }
    .guest-login-icon{
        width:30px !important;
        height:30px !important;
        background:transparent !important;
    }
    .guest-login-icon svg{
        width:21px !important;
        height:21px !important;
    }
    .auth-register-cta{
        display:grid;
        justify-items:center;
        text-align:center;
    }
    .auth-register-cta a{
        width:100%;
    }
}

@media (max-width:430px){
    .guest-login-trigger,
    body.is-home-page .guest-login-trigger{
        width:40px !important;
        height:40px !important;
        min-width:40px !important;
        min-height:40px !important;
        border-radius:16px !important;
    }
    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox-button{
        min-height:36px !important;
        height:36px !important;
        font-size:12px !important;
        border-radius:11px !important;
    }
}

/* =========================================================
   FULLMOON v11 — mobile filter dropdown redesign.
   Inline expanding pickers instead of floating windows.
   ========================================================= */
@media (max-width: 760px){
    .fm-reference-filter{
        align-items:start !important;
        overflow:visible !important;
    }

    .fm-reference-filter label.fm-select-enhanced{
        position:relative;
        z-index:1 !important;
        transition:transform .18s ease;
    }

    .fm-reference-filter label.fm-select-enhanced.is-select-open{
        grid-column:1 / -1 !important;
        z-index:22 !important;
    }

    .fm-reference-filter label.fm-select-enhanced .fm-selectbox{
        width:100%;
    }

    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox-button{
        min-height:42px !important;
        height:42px !important;
        padding:0 11px 0 13px !important;
        border-radius:14px !important;
        border:1px solid rgba(187,143,255,.18) !important;
        background:
            linear-gradient(180deg, rgba(29,18,54,.98), rgba(18,16,38,.94)) !important;
        box-shadow:
            inset 0 1px 0 rgba(255,255,255,.06),
            0 10px 24px rgba(0,0,0,.18) !important;
        color:#f7f2ff !important;
        font-size:14px !important;
        font-weight:900 !important;
    }

    .fm-catalog-hero-center .fm-reference-filter label.fm-select-enhanced.is-select-open .fm-selectbox-button,
    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox-button:focus-visible{
        border-color:rgba(173,118,255,.52) !important;
        box-shadow:0 0 0 4px rgba(155,92,255,.14), inset 0 1px 0 rgba(255,255,255,.08) !important;
    }

    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox-chevron{
        width:24px !important;
        height:24px !important;
        border-radius:10px !important;
        background:rgba(255,255,255,.08) !important;
        color:#dccdff !important;
        font-size:13px !important;
    }

    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox-menu{
        position:static !important;
        top:auto !important;
        left:auto !important;
        width:100% !important;
        min-width:0 !important;
        max-height:0 !important;
        overflow:hidden !important;
        margin-top:0 !important;
        padding:0 !important;
        border:none !important;
        border-radius:0 !important;
        background:transparent !important;
        box-shadow:none !important;
        opacity:1 !important;
        transform:none !important;
        pointer-events:none !important;
        transition:max-height .22s ease, margin-top .22s ease, padding .22s ease !important;
        scrollbar-width:thin;
        scrollbar-color:rgba(172,112,255,.56) rgba(255,255,255,.06);
    }

    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox.is-open .fm-selectbox-menu{
        max-height:min(240px, 42vh) !important;
        overflow:auto !important;
        margin-top:8px !important;
        padding:8px !important;
        border:1px solid rgba(196,158,255,.18) !important;
        border-radius:18px !important;
        background:linear-gradient(180deg, rgba(16,15,34,.98), rgba(10,10,24,.98)) !important;
        box-shadow:0 16px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04) !important;
        pointer-events:auto !important;
    }

    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox-option{
        min-height:42px !important;
        padding:0 12px !important;
        margin:0 0 6px !important;
        border-radius:14px !important;
        border:1px solid rgba(255,255,255,.05) !important;
        background:rgba(255,255,255,.035) !important;
        font-size:14px !important;
        font-weight:850 !important;
        color:#eee8ff !important;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
    }

    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox-option:last-child{
        margin-bottom:0 !important;
    }

    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox-option:hover{
        background:rgba(255,255,255,.08) !important;
        transform:none !important;
    }

    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox-option.is-active{
        background:linear-gradient(135deg, rgba(151,89,255,.96), rgba(224,77,179,.48)) !important;
        border-color:rgba(255,255,255,.08) !important;
        color:#fff !important;
        box-shadow:0 10px 18px rgba(129,67,235,.18), inset 0 1px 0 rgba(255,255,255,.08) !important;
    }

    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox-option.is-active::after{
        width:24px !important;
        height:24px !important;
        border-radius:9px !important;
        background:rgba(255,255,255,.16) !important;
        font-size:12px !important;
    }

    .fm-catalog-toolbar,
    .fm-catalog-main-column,
    .fm-catalog-grid{
        position:relative;
        z-index:1;
    }
}

@media (max-width: 430px){
    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox-button{
        min-height:40px !important;
        height:40px !important;
        font-size:13px !important;
    }

    .fm-catalog-hero-center .fm-reference-filter .fm-selectbox-option{
        min-height:40px !important;
        font-size:13px !important;
    }
}

/* === FullMoon Team Workspace v12 === */
.fm-teamwork-shell{
    width:min(1180px, calc(100% - 28px));
    margin:28px auto 64px;
    color:#f7f3ff;
}
.fm-teamwork-shell .fm-panel,
.fm-teamwork-access-card{
    border:1px solid rgba(188,150,255,.14);
    background:linear-gradient(180deg, rgba(16,18,36,.92), rgba(9,11,25,.94));
    box-shadow:0 24px 70px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.04);
    border-radius:26px;
}
.fm-teamwork-topbar{
    display:flex;
    align-items:center;
    gap:14px;
    justify-content:space-between;
    padding:12px;
    margin-bottom:16px;
    position:sticky;
    top:12px;
    z-index:20;
    backdrop-filter:blur(18px);
}
.fm-teamwork-back,
.fm-teamwork-topbar nav a,
.fm-teamwork-user-chip button,
.fm-teamwork-title-actions a,
.fm-teamwork-status-tabs a,
.fm-teamwork-menu a{
    color:#f3ecff;
    text-decoration:none;
}
.fm-teamwork-back{
    padding:10px 14px;
    border-radius:16px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.08);
    font-weight:800;
}
.fm-teamwork-topbar nav{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:center;
}
.fm-teamwork-topbar nav a,
.fm-teamwork-menu a,
.fm-teamwork-status-tabs a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 16px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.04);
    color:#cbc2df;
    font-weight:850;
}
.fm-teamwork-topbar nav a.active,
.fm-teamwork-menu a.active,
.fm-teamwork-status-tabs a.active{
    color:#fff;
    border-color:rgba(184,126,255,.42);
    background:linear-gradient(135deg, rgba(142,82,255,.98), rgba(229,74,181,.72));
    box-shadow:0 12px 24px rgba(147,85,255,.22);
}
.fm-teamwork-user-chip{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:max-content;
    color:#ede6ff;
    font-weight:850;
}
.fm-teamwork-user-chip form{margin:0}
.fm-teamwork-user-chip button{
    border:0;
    background:rgba(255,255,255,.06);
    border-radius:12px;
    padding:8px 10px;
    font:inherit;
    cursor:pointer;
}
.fm-teamwork-mini-avatar,
.fm-teamwork-member-avatar,
.fm-teamwork-person-card > span{
    display:inline-grid;
    place-items:center;
    overflow:hidden;
    background:linear-gradient(135deg, rgba(156,93,255,.9), rgba(235,88,180,.72));
    color:#fff;
}
.fm-teamwork-mini-avatar{width:34px;height:34px;border-radius:14px}
.fm-teamwork-mini-avatar img,
.fm-teamwork-member-avatar img,
.fm-teamwork-person-card img,
.fm-teamwork-avatar-stack img{width:100%;height:100%;object-fit:cover}
.fm-teamwork-hero,
.fm-teamwork-title-hero{
    position:relative;
    overflow:hidden;
    padding:34px;
    margin-bottom:16px;
}
.fm-teamwork-hero::before{
    content:"";
    position:absolute;
    inset:-40% -20%;
    background:radial-gradient(circle at 18% 15%, rgba(164,93,255,.28), transparent 34%), radial-gradient(circle at 82% 20%, rgba(229,74,181,.16), transparent 32%);
    pointer-events:none;
}
.fm-teamwork-hero > *,
.fm-teamwork-title-content{position:relative;z-index:1}
.fm-teamwork-hero{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:end;
    gap:24px;
}
.fm-teamwork-hero.small{display:block;padding:28px}
.fm-teamwork-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#b985ff;
    text-transform:uppercase;
    letter-spacing:.09em;
    font-size:12px;
    font-weight:950;
}
.fm-teamwork-hero h1,
.fm-teamwork-title-content h1{
    margin:8px 0 10px;
    font-size:clamp(30px, 4.6vw, 58px);
    line-height:.96;
    letter-spacing:-.055em;
}
.fm-teamwork-hero p,
.fm-teamwork-title-content p,
.fm-teamwork-role-head p,
.fm-teamwork-muted{
    color:#b9b0cc;
    line-height:1.55;
}
.fm-teamwork-hero p{max-width:720px;font-size:16px;margin:0}
.fm-teamwork-hero-stats{
    display:grid;
    grid-template-columns:repeat(3, minmax(110px, 1fr));
    gap:10px;
}
.fm-teamwork-hero-stats a,
.fm-teamwork-stat-grid .fm-panel{
    padding:18px;
    border-radius:22px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.07);
    text-decoration:none;
    color:#fff;
}
.fm-teamwork-hero-stats strong,
.fm-teamwork-stat-grid strong{
    display:block;
    font-size:32px;
    line-height:1;
}
.fm-teamwork-hero-stats span,
.fm-teamwork-stat-grid span{display:block;color:#c8bfd9;font-weight:800;margin-top:6px}
.fm-teamwork-menu,
.fm-teamwork-status-tabs{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    padding:12px;
    margin-bottom:24px;
}
.fm-teamwork-status-tabs a span{margin-left:8px;opacity:.72}
.fm-teamwork-section{margin-top:28px}
.fm-teamwork-section-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:14px;
}
.fm-teamwork-section-head h2{margin:4px 0 0;font-size:26px;letter-spacing:-.03em}
.fm-teamwork-section-head > span,
.fm-teamwork-section-head > a{color:#c9b7ff;font-weight:900;text-decoration:none}
.fm-teamwork-role-grid,
.fm-teamwork-project-grid,
.fm-teamwork-people-grid,
.fm-teamwork-tasks-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:16px;
}
.fm-teamwork-role-card{padding:20px}
.fm-teamwork-role-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.fm-teamwork-role-head > span{
    width:42px;height:42px;border-radius:16px;display:grid;place-items:center;
    background:rgba(157,93,255,.16);border:1px solid rgba(190,145,255,.16);
}
.fm-teamwork-role-head h3{margin:0 0 4px;font-size:19px}
.fm-teamwork-role-head p{margin:0;font-size:14px}
.fm-teamwork-members-list{display:grid;gap:8px}
.fm-teamwork-member-row{
    display:grid;
    grid-template-columns:44px minmax(0, 1fr) auto;
    align-items:center;
    gap:11px;
    padding:10px;
    border-radius:18px;
    color:#fff;
    text-decoration:none;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.06);
}
.fm-teamwork-member-avatar{width:44px;height:44px;border-radius:16px}
.fm-teamwork-member-row strong,
.fm-teamwork-task-row strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-teamwork-member-row small,
.fm-teamwork-task-row span{display:block;color:#bdb4cf;font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-teamwork-member-row em{font-style:normal;color:#ad7cff;font-weight:900;font-size:12px}
.fm-teamwork-project-card{
    display:grid;
    grid-template-columns:112px minmax(0, 1fr);
    gap:14px;
    min-height:172px;
    padding:12px;
    color:#fff;
    text-decoration:none;
    transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.fm-teamwork-project-card:hover{transform:translateY(-3px);border-color:rgba(179,123,255,.36);box-shadow:0 26px 70px rgba(127,71,238,.2)}
.fm-teamwork-project-poster{
    display:grid;place-items:center;overflow:hidden;border-radius:20px;min-height:148px;
    background:linear-gradient(135deg, rgba(146,92,255,.24), rgba(255,255,255,.05));
}
.fm-teamwork-project-poster img{width:100%;height:100%;object-fit:cover}
.fm-teamwork-project-body{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:8px}
.fm-teamwork-project-status{color:#b98cff;font-weight:950;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.fm-teamwork-project-body strong{font-size:22px;line-height:1.08;letter-spacing:-.03em}
.fm-teamwork-project-meta{color:#bdb4cf;font-size:13px;font-weight:800}
.fm-teamwork-progress,
.fm-teamwork-stat-grid i,
.fm-teamwork-episode-progress span{
    display:block;width:100%;height:8px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08);
}
.fm-teamwork-progress i,
.fm-teamwork-stat-grid b,
.fm-teamwork-episode-progress i{
    display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg, #9b5cff, #ed5db7);
}
.fm-teamwork-avatar-stack{display:flex;align-items:center;margin-top:4px}
.fm-teamwork-avatar-stack em{
    width:32px;height:32px;border-radius:13px;display:grid;place-items:center;overflow:hidden;
    background:#211a35;border:2px solid #111322;color:#fff;font-style:normal;font-weight:900;margin-left:-7px;
}
.fm-teamwork-avatar-stack em:first-child{margin-left:0}
.fm-teamwork-task-card{padding:18px}.fm-teamwork-task-card h3{margin:0 0 12px}
.fm-teamwork-task-row{display:block;text-decoration:none;color:#fff;padding:12px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);margin-bottom:8px}
.fm-teamwork-task-row em{display:block;color:#a875ff;font-style:normal;font-size:12px;font-weight:900;margin-top:6px}
.fm-teamwork-empty{padding:28px;color:#c7bfd5;font-weight:900;grid-column:1/-1;text-align:center}
.fm-teamwork-access-shell{min-height:calc(100vh - 180px);display:grid;place-items:center}
.fm-teamwork-access-card{width:min(520px, 100%);padding:34px;text-align:center}
.fm-teamwork-access-logo{width:130px;margin:0 auto 18px}.fm-teamwork-access-logo img{width:100%;height:auto}.fm-teamwork-access-logo span{font-size:48px}
.fm-teamwork-access-card h1{font-size:34px;letter-spacing:-.04em;margin:8px 0}
.fm-teamwork-access-card p{color:#bdb4cf;line-height:1.55;margin:0 0 18px}
.fm-teamwork-access-form{display:grid;gap:12px;text-align:left;margin-top:18px}
.fm-teamwork-access-form label,
.fm-teamwork-submit-form label,
.fm-teamwork-fix-card label{display:grid;gap:8px;color:#d9d1e8;font-weight:900}
.fm-teamwork-access-form input,
.fm-teamwork-submit-form input,
.fm-teamwork-submit-form select,
.fm-teamwork-submit-form textarea,
.fm-teamwork-fix-card input,
.fm-teamwork-fix-card textarea{
    width:100%;min-height:48px;border:1px solid rgba(180,134,255,.14);border-radius:16px;background:#0d1223;color:#fff;padding:0 14px;font:inherit;outline:none;
}
.fm-teamwork-submit-form textarea,
.fm-teamwork-fix-card textarea{padding:12px 14px;min-height:110px;resize:vertical}
.fm-teamwork-access-form button,
.fm-teamwork-submit-form button,
.fm-teamwork-fix-card button{
    min-height:50px;border:0;border-radius:16px;color:#fff;font:inherit;font-weight:950;cursor:pointer;
    background:linear-gradient(135deg, #9d5cff, #e650b7);box-shadow:0 16px 34px rgba(150,83,255,.28);
}
.fm-teamwork-access-foot{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px;color:#9d94ad;font-size:13px}
.fm-teamwork-access-foot a{color:#d8c5ff;font-weight:900;text-decoration:none}
.fm-teamwork-alert{padding:14px 16px;margin:0 0 16px;border-radius:18px;font-weight:850}.fm-teamwork-alert.success{background:rgba(77,216,142,.11);border:1px solid rgba(77,216,142,.22);color:#b8ffd7}.fm-teamwork-alert.error{background:rgba(255,92,92,.12);border:1px solid rgba(255,92,92,.24);color:#ffd0d0}
.fm-teamwork-title-hero{background-image:linear-gradient(90deg, rgba(7,9,22,.92), rgba(7,9,22,.56)), var(--team-title-cover);background-size:cover;background-position:center;padding:26px}
.fm-teamwork-title-content{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:end}
.fm-teamwork-title-poster{height:220px;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.06);display:grid;place-items:center}.fm-teamwork-title-poster img{width:100%;height:100%;object-fit:cover}
.fm-teamwork-title-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.fm-teamwork-title-actions a{padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);font-weight:900}
.fm-teamwork-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0 24px}.fm-teamwork-stat-grid .fm-panel{min-height:118px}.fm-teamwork-stat-grid i{margin-top:14px}
.fm-teamwork-people-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.fm-teamwork-person-card{padding:16px;text-align:center;text-decoration:none;color:#fff}.fm-teamwork-person-card > span{width:72px;height:72px;border-radius:24px;margin:0 auto 10px}.fm-teamwork-person-card strong{display:block}.fm-teamwork-person-card small,.fm-teamwork-person-card em{display:block;color:#bcb1cf;font-style:normal;font-size:12px;margin-top:4px}
.fm-teamwork-voice-stats{padding:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fm-teamwork-voice-stats div{padding:12px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06)}.fm-teamwork-voice-stats strong,.fm-teamwork-voice-stats span{display:block}.fm-teamwork-voice-stats span{color:#bdb4cf;font-size:13px;margin-top:4px}
.fm-teamwork-episode-list{display:grid;gap:14px}.fm-teamwork-episode-card{padding:18px}.fm-teamwork-episode-main{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:16px;align-items:center}.fm-teamwork-episode-number{color:#b98cff;font-weight:950;font-size:12px;text-transform:uppercase}.fm-teamwork-episode-main h3{margin:4px 0 6px;font-size:22px}.fm-teamwork-episode-main p{margin:0;color:#bcb4cc}.fm-teamwork-episode-progress{text-align:right}.fm-teamwork-episode-progress strong{display:block;font-size:24px;margin-bottom:8px}.fm-teamwork-episode-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.fm-teamwork-episode-meta span,.fm-teamwork-episode-meta a{padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);color:#dcd4eb;text-decoration:none;font-size:12px;font-weight:850}
.fm-teamwork-assignment-list,.fm-teamwork-submission-list{display:grid;gap:8px;margin-top:14px}.fm-teamwork-assignment-row,.fm-teamwork-submission-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055)}.fm-teamwork-assignment-row strong,.fm-teamwork-submission-row strong{display:block}.fm-teamwork-assignment-row small,.fm-teamwork-submission-row small{display:block;color:#bcb3cb;font-size:12px;margin-top:3px}.fm-teamwork-assignment-row em{font-style:normal;color:#c9b5ff;font-weight:900;font-size:12px}.fm-teamwork-submission-links{display:flex;gap:8px}.fm-teamwork-submission-links a{color:#fff;text-decoration:none;background:rgba(154,92,255,.22);padding:7px 10px;border-radius:11px;font-weight:900;font-size:12px}
.fm-teamwork-submit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}.fm-teamwork-submit-form .wide{grid-column:1/-1}.fm-teamwork-fix-list{display:grid;gap:12px}.fm-teamwork-fix-card{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;align-items:end;padding:16px}.fm-teamwork-fix-card > div{grid-row:span 2}.fm-teamwork-fix-card p{color:#c6bdd5}.fm-teamwork-fix-card button{grid-column:2/-1}

@media (max-width: 860px){
    .fm-teamwork-shell{width:min(100% - 18px, 680px);margin-top:14px}.fm-teamwork-topbar{position:relative;top:auto;display:grid;grid-template-columns:1fr;justify-items:stretch}.fm-teamwork-topbar nav{justify-content:flex-start;overflow:auto;flex-wrap:nowrap;padding-bottom:2px}.fm-teamwork-user-chip{justify-content:space-between}.fm-teamwork-hero{grid-template-columns:1fr;padding:24px}.fm-teamwork-hero-stats{grid-template-columns:repeat(3,1fr)}.fm-teamwork-role-grid,.fm-teamwork-project-grid,.fm-teamwork-tasks-grid{grid-template-columns:1fr}.fm-teamwork-section-head{align-items:flex-start;flex-direction:column}.fm-teamwork-title-content{grid-template-columns:94px minmax(0,1fr);gap:14px}.fm-teamwork-title-poster{height:142px;border-radius:18px}.fm-teamwork-title-content h1{font-size:32px}.fm-teamwork-title-content p{font-size:13px}.fm-teamwork-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-teamwork-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-teamwork-voice-stats{grid-template-columns:1fr}.fm-teamwork-episode-main{grid-template-columns:1fr}.fm-teamwork-episode-progress{text-align:left}.fm-teamwork-submit-form{grid-template-columns:1fr}.fm-teamwork-fix-card{grid-template-columns:1fr}.fm-teamwork-fix-card button{grid-column:auto}.fm-teamwork-project-card{grid-template-columns:92px minmax(0,1fr);min-height:142px}.fm-teamwork-project-poster{min-height:118px;border-radius:17px}.fm-teamwork-project-body strong{font-size:18px}}
@media (max-width: 520px){
    .fm-teamwork-hero-stats{grid-template-columns:1fr}.fm-teamwork-access-card{padding:24px}.fm-teamwork-menu,.fm-teamwork-status-tabs{overflow:auto;flex-wrap:nowrap}.fm-teamwork-menu a,.fm-teamwork-status-tabs a{min-width:max-content}.fm-teamwork-stat-grid{grid-template-columns:1fr 1fr}.fm-teamwork-people-grid{grid-template-columns:1fr}.fm-teamwork-assignment-row,.fm-teamwork-submission-row{grid-template-columns:1fr}.fm-teamwork-project-card{grid-template-columns:78px minmax(0,1fr);gap:10px;padding:10px}.fm-teamwork-project-poster{min-height:106px}.fm-teamwork-project-status{font-size:10px}.fm-teamwork-project-body strong{font-size:16px}.fm-teamwork-project-meta{font-size:12px}.fm-teamwork-member-row{grid-template-columns:40px minmax(0,1fr);}.fm-teamwork-member-row em{display:none}}
