/*
 * ============================================================
 * HGOS HOME PAGE
 * home.css — V14 CONSOLIDATED
 *
 * 중복 selector / 중복 media query / 버전별 patch 누적 제거
 * 최종 선언값 기준 통합본
 * ============================================================
 */
:root{
    --home-max-width:1100px;
    --home-border:#ddd2ff;
    --home-border-soft:#ebe5ff;
    --home-soft:#f7f3ff;
    --home-primary:#7407ff;
    --home-text:#211a35;
    --home-muted:#8d879d;
}

#hgosHome,

#hgosHome *{
    box-sizing:border-box;
}

#hgosHome{
    width:calc(100% - 40px);
    max-width:var(--home-max-width);
    margin:24px auto 56px;
    color:var(--home-text);
    font-family:Pretendard,"Noto Sans KR",sans-serif;
}

#hgosHome > .home-grid{
    width:100%;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px !important;
    align-items:start !important;
}

#hgosHome .home-card{
    position:relative !important;
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:28px 30px 24px !important;
    display:flex !important;
    flex-direction:column !important;
    align-self:start !important;
    border:1px solid var(--home-border) !important;
    border-radius:24px !important;
    background:#fff !important;
    box-shadow:0 12px 40px rgba(92,63,170,.05) !important;
    overflow:hidden !important;
}

#hgosHome .home-card-head{
    width:100%;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding:0 0 17px;
    border-bottom:1px solid var(--home-border-soft);
}

#hgosHome .home-eyebrow{
    margin:0 0 7px;
    color:#9692ae;
    font-size:12px;
    line-height:1.3;
    font-weight:800;
}

#hgosHome .home-title{
    margin:0;
    color:var(--home-text);
    font-size:22px;
    line-height:1.25;
    font-weight:900;
    letter-spacing:-.045em;
}

#hgosHome .home-link{
    flex:0 0 auto;
    padding:2px 0;
    border:0;
    background:transparent;
    color:var(--home-primary);
    font:inherit;
    font-size:12px;
    line-height:1.4;
    font-weight:800;
    cursor:pointer;
}

#hgosHome .home-card-body{
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:20px 0 !important;
    display:block !important;
    overflow:visible !important;
}

#hgosHome .home-card-actions{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:0;
}

#hgosHome .home-btn{
    width:100%;
    min-width:0;
    min-height:46px;
    padding:0 12px;
    border:1px solid #d8c8ff;
    border-radius:14px;
    background:#f2ecff;
    color:#3a2a50;
    font:inherit;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
}

#hgosHome .home-btn.primary{
    border-color:#cdb8ff;
    background:#ede4ff;
    color:var(--home-primary);
}

#hgosHome .home-program-grid{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

#hgosHome .home-program-card{
    width:100%;
    min-width:0;
    min-height:110px;
    padding:14px 10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    border:1px solid #ddd0ff;
    border-radius:16px;
    background:var(--home-soft);
    color:#24183a;
    font:inherit;
    cursor:pointer;
}

#hgosHome .home-program-icon{
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #eadfff;
    border-radius:10px;
    background:#fff;
    font-size:18px;
    line-height:1;
}

#hgosHome .home-program-card strong{
    color:var(--home-primary);
    font-size:16px;
    line-height:1.35;
    font-weight:900;
}

#hgosHome .home-program-card span{
    color:#8a8299;
    font-size:12px;
    line-height:1.45;
    text-align:center;
}

#hgosHome #homeCommunity{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    padding:16px 0 !important;
    overflow:visible !important;
}

#hgosHome #homeCommunity .home-list,

#hgosHome #homeCommunity .hgos-home-feed-list{
    position:static !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    transform:none !important;
}

#hgosHome #homeCommunity .home-feed-item,

#hgosHome #homeCommunity .hgos-home-feed-item{
    position:static !important;
    inset:auto !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    margin:0 !important;
    padding:11px 13px !important;
    display:block !important;
    flex:none !important;
    float:none !important;
    clear:none !important;
    transform:none !important;
    border:1px solid #e5dcfb !important;
    border-radius:13px !important;
    background:#fff !important;
    box-shadow:none !important;
    overflow:hidden !important;
    cursor:pointer;
}

#hgosHome #homeCommunity .hgos-home-feed-item > *{
    position:static !important;
    inset:auto !important;
    max-width:100% !important;
    min-height:0 !important;
    height:auto !important;
    transform:none !important;
}

#hgosHome .home-feed-top{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin:0 0 5px !important;
}

#hgosHome .home-community-meta{
    min-width:0;
    display:flex;
    align-items:center;
    gap:6px;
}

#hgosHome .home-feed-date{
    flex:0 0 auto;
    color:#aaa6b7;
    font-size:11px;
    line-height:1.3;
    white-space:nowrap;
}

#hgosHome .home-feed-title-row{
    width:100% !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin:0 !important;
}

#hgosHome .home-feed-title{
    display:block !important;
    min-width:0 !important;
    flex:1 1 auto !important;
    margin:0 !important;
    overflow:hidden !important;
    color:#2c2540;
    font-size:14px;
    line-height:1.45;
    font-weight:800;
    text-align:left !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

#hgosHome .home-feed-text{
    display:block !important;
    width:100% !important;
    margin:4px 0 0 !important;
    overflow:hidden !important;
    color:#777386;
    font-size:12px;
    line-height:1.4;
    text-align:left !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

#hgosHome .home-cheer{
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:3px !important;
    color:#7f7891;
    font-size:11px;
    line-height:1.3;
    font-weight:800;
    white-space:nowrap;
}

#hgosHome .home-cheer-icon{
    color:var(--home-primary);
}

#hgosHome #homeMasters{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    padding:16px 0 !important;
    overflow:visible !important;
}

#hgosHome #homeMasters .home-master-grid,

#hgosHome #homeMasters .hgos-home-master-grid{
    position:static !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-flow:row !important;
    grid-auto-rows:auto !important;
    gap:10px !important;
    align-items:stretch !important;
    justify-items:stretch !important;
    transform:none;
}

#hgosHome .home-master-grid.is-rolling{
    opacity:.28;
    transform:translateY(3px);
}

#hgosHome #homeMasters .home-master,

#hgosHome #homeMasters .hgos-home-master{
    position:static !important;
    inset:auto !important;
    grid-column:auto !important;
    grid-row:auto !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:160px !important;
    max-height:none !important;
    margin:0 !important;
    padding:18px 12px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:stretch !important;
    float:none !important;
    clear:none !important;
    transform:none !important;
    border:1px solid #e2d7fb !important;
    border-radius:16px !important;
    background:#fbf9ff !important;
    box-shadow:none !important;
    text-align:center !important;
    overflow:hidden !important;
    cursor:pointer;
}

#hgosHome #homeMasters .hgos-home-master > *{
    position:static !important;
    transform:none !important;
}

#hgosHome .home-master-avatar{
    flex:0 0 58px !important;
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
    margin:0 auto 9px !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
    background:var(--home-soft);
    color:var(--home-primary);
    object-fit:cover !important;
    overflow:hidden !important;
    font-size:20px;
    line-height:1;
    font-weight:900;
}

#hgosHome .home-master-name{
    display:block;
    width:100%;
    margin:0;
    overflow:hidden;
    color:var(--home-text);
    font-size:15px;
    line-height:1.4;
    font-weight:900;
    text-align:center;
    text-overflow:ellipsis;
    white-space:nowrap;
}

#hgosHome .home-master-domain{
    display:-webkit-box;
    width:100%;
    min-height:34px;
    margin:7px 0 0;
    overflow:hidden;
    color:#777386;
    font-size:12px;
    line-height:1.45;
    text-align:center;
    line-clamp:2;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}

#hgosHome .home-activity-grid{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

#hgosHome .home-activity-card{
    width:100%;
    min-width:0;
    min-height:82px;
    padding:10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    border:1px solid #ddd0ff;
    border-radius:16px;
    background:var(--home-soft);
    font:inherit;
    cursor:pointer;
}

#hgosHome .home-activity-card span{
    color:#8a8299;
    font-size:13px;
    line-height:1.35;
}

#hgosHome .home-activity-card strong{
    color:var(--home-primary);
    font-size:16px;
    line-height:1.35;
    font-weight:900;
}

#hgosHome .home-empty,

#hgosHome .home-loading{
    width:100%;
    min-height:100px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#9b97aa;
    font-size:12px;
    text-align:center;
}

@media (min-width:761px){
    #hgosHome > .home-grid{
        align-items:stretch !important;
    }

    #hgosHome .home-card{
        align-self:stretch !important;
        padding:26px 30px 24px !important;
    }

    #hgosHome .home-card-head{
        min-height:70px;
        padding-bottom:15px;
    }

    #hgosHome .home-card-body{
        flex:1 1 auto !important;
        padding:16px 0 !important;
    }

    #hgosHome .home-card-actions{
        margin-top:auto !important;
    }

    #hgosHome .home-program-card{
        min-height:108px;
    }

    #hgosHome #homeCommunity{
        padding:16px 0 !important;
    }

    #hgosHome #homeCommunity .home-list,

    #hgosHome #homeCommunity .hgos-home-feed-list{
        gap:8px !important;
    }

    #hgosHome #homeCommunity .home-feed-item,

    #hgosHome #homeCommunity .hgos-home-feed-item{
        padding:10px 13px !important;
    }

    #hgosHome #homeMasters{
        padding:16px 0 !important;
    }

    #hgosHome #homeMasters .home-master,

    #hgosHome #homeMasters .hgos-home-master{
        min-height:168px !important;
        padding:18px 14px !important;
    }

    #hgosHome .home-activity-grid{
        gap:10px;
    }

    #hgosHome .home-activity-card{
        min-height:82px;
    }
}

#hgosHome .home-card-actions .home-btn{
    height:46px;
    min-height:46px;
}

#hgosHome .home-card:nth-child(3),

#hgosHome .home-card:nth-child(4){
    min-height:0 !important;
}

#hgosHome .home-title,

#hgosHome .home-program-card strong,

#hgosHome .home-master-name,

#hgosHome .home-activity-card strong,

#hgosHome .home-btn,

#hgosHome .home-link{
    font-size:var(--hgos-type-2-size) !important;
    font-weight:var(--hgos-type-2-weight) !important;
    line-height:1.35 !important;
}

#hgosHome .home-title,

#hgosHome .home-master-name{
    color:var(--hgos-title) !important;
}

#hgosHome .home-program-card strong,

#hgosHome .home-activity-card strong,

#hgosHome .home-link,

#hgosHome .home-btn.primary{
    color:var(--hgos-primary) !important;
}

#hgosHome .home-feed-title,

#hgosHome .home-feed-text{
    font-size:var(--hgos-type-3-size) !important;
    font-weight:var(--hgos-type-3-weight) !important;
    line-height:1.45 !important;
    color:var(--hgos-text) !important;
}

#hgosHome .home-eyebrow,

#hgosHome .home-program-card span,

#hgosHome .home-feed-type,

#hgosHome .home-feed-date,

#hgosHome .home-master-domain,

#hgosHome .home-activity-card span,

#hgosHome .home-empty,

#hgosHome .home-loading,

#hgosHome .home-cheer{
    font-size:var(--hgos-type-4-size) !important;
    font-weight:var(--hgos-type-4-weight) !important;
    line-height:1.45 !important;
    color:var(--hgos-muted) !important;
}

#hgosHome .home-feed-type{
    font-size:11px;
    line-height:1.3;
    font-weight:900;
    white-space:nowrap;
    color:var(--hgos-primary) !important;
}

#hgosHome .home-new-badge{
    height:17px;
    padding:0 6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:var(--home-primary);
    color:#fff;
    font-size:9px;
    line-height:1;
    font-weight:var(--hgos-type-2-weight) !important;
}

#hgosHome #homeFuums{
    width:100% !important;
    min-height:0 !important;
    padding:16px 0 !important;
}

#hgosHome .home-fuum-grid,
#hgosHome .home-asset-grid{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

#hgosHome .home-fuum-card{
    width:100%;
    min-width:0;
    min-height:168px;
    padding:18px 14px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid #e2d7fb;
    border-radius:16px;
    background:#fbf9ff;
    color:var(--home-text);
    font:inherit;
    text-align:center;
    cursor:pointer;
    overflow:hidden;
}

#hgosHome .home-fuum-card.is-rolling{
    opacity:.28;
    transform:translateY(3px);
}

#hgosHome .home-fuum-icon{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--home-soft);
    color:var(--home-primary);
    font-size:20px;
    font-weight:900;
}

#hgosHome .home-fuum-title{
    width:100%;
    overflow:hidden;
    color:var(--home-text);
    font-size:var(--hgos-type-2-size) !important;
    font-weight:var(--hgos-type-2-weight) !important;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
}


#hgosHome .home-asset-card{
    width:100%;
    min-width:0;
    min-height:82px;
    padding:10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    border:1px solid #ddd0ff;
    border-radius:16px;
    background:var(--home-soft);
}

#hgosHome .home-asset-card span{
    color:#8a8299;
    font-size:var(--hgos-type-4-size) !important;
    font-weight:var(--hgos-type-4-weight) !important;
    line-height:1.35;
}

#hgosHome .home-asset-card strong{
    max-width:100%;
    overflow:hidden;
    color:var(--home-primary);
    font-size:var(--hgos-type-2-size) !important;
    font-weight:var(--hgos-type-2-weight) !important;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
}

@media (max-width:430px){
    #hgosHome{
        width:calc(100% - 16px);
    }

    #hgosHome .home-card{
        padding:18px 14px 15px !important;
    }

    #hgosHome .home-program-card{
        min-height:104px;
        padding:12px 8px;
    }

    #hgosHome .home-program-card strong{
        font-size:15px;
    }

    #hgosHome .home-program-card span{
        font-size:11px;
    }

    #hgosHome #homeCommunity .home-feed-item{
        padding:10px 11px !important;
    }

    #hgosHome .home-feed-title{
        font-size:13.5px;
    }

    #hgosHome .home-feed-text{
        font-size:11.5px;
    }

    #hgosHome #homeMasters .home-master-grid{
        gap:8px !important;
    }

    #hgosHome #homeMasters .home-master{
        min-height:142px !important;
        padding:14px 8px !important;
    }

    #hgosHome .home-master-avatar{
        flex-basis:52px !important;
        width:52px !important;
        height:52px !important;
        min-width:52px !important;
        min-height:52px !important;
        max-width:52px !important;
        max-height:52px !important;
    }

    #hgosHome .home-master-name{
        font-size:14px;
    }

    #hgosHome .home-master-domain{
        font-size:11px;
    }

    #hgosHome .home-activity-card span{
        font-size:12px;
    }

    #hgosHome .home-activity-card strong{
        font-size:15px;
    }

    #hgosHome .home-program-card strong,

    #hgosHome .home-master-name,

    #hgosHome .home-activity-card strong{
        font-size:var(--hgos-type-2-size) !important;
    }

    #hgosHome .home-feed-title,

    #hgosHome .home-feed-text{
        font-size:var(--hgos-type-3-size) !important;
    }

    #hgosHome .home-program-card span,

    #hgosHome .home-master-domain,

    #hgosHome .home-activity-card span{
        font-size:var(--hgos-type-4-size) !important;
    }

    #hgosHome .home-fuum-grid,
    #hgosHome .home-asset-grid{
        gap:8px;
    }

    #hgosHome .home-fuum-card{
        min-height:142px;
        padding:14px 8px;
    }
}

#hgosHome .home-banner-grid{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    margin:0 0 20px;
}

#hgosHome .home-banner{
    position:relative;
    min-width:0;
    min-height:150px;
    padding:24px 28px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:6px;
    overflow:hidden;
    border:1px solid var(--home-border);
    border-radius:24px;
    background:linear-gradient(135deg,#f7f2ff,#fff);
    background-size:cover;
    background-position:center;
    color:var(--home-text);
    text-decoration:none;
    box-shadow:0 12px 40px rgba(92,63,170,.05);
}

#hgosHome .home-banner-notice{
    background:linear-gradient(135deg,#fff,#f4efff);
}

#hgosHome .home-banner.has-image{
    color:#fff;
}

#hgosHome .home-banner-kicker{
    font-size:var(--hgos-type-4-size);
    font-weight:700;
    opacity:.76;
}

#hgosHome .home-banner strong{
    max-width:90%;
    font-size:var(--hgos-type-2-size);
    font-weight:var(--hgos-type-2-weight);
    line-height:1.35;
}

#hgosHome .home-banner>span:last-child{
    max-width:90%;
    font-size:var(--hgos-type-4-size);
    font-weight:var(--hgos-type-4-weight);
    line-height:1.5;
    opacity:.82;
}


/* ============================================================
   HOME BANNERS — SINGLE CANONICAL DESIGN (2026-10-06)
   - no energy: same CTA style as NOTICE
   - energy exists: one solid response color only
   - compact, equal-height top banners
   ============================================================ */
#hgosHome .home-banner-grid{
    align-items:stretch !important;
}

#hgosHome .home-banner{
    min-height:168px !important;
    height:100% !important;
    padding:21px 28px !important;
    gap:7px !important;
    border-radius:24px;
    justify-content:center;
}

#hgosHome .home-banner-hero{
    cursor:pointer;
    background:#f8f4ff !important;
}

#hgosHome .home-banner-hero:not(.has-energy){
    background:#f8f4ff !important;
    color:var(--home-text) !important;
}

#hgosHome .home-banner-hero:not(.has-energy) .home-banner-cta,
#hgosHome .home-notice-more{
    display:inline-flex !important;
    width:max-content;
    min-height:38px;
    margin-top:8px !important;
    padding:0 16px !important;
    align-items:center;
    justify-content:center;
    border:1px solid #d8c8ff !important;
    border-radius:999px;
    background:#fff !important;
    color:#7407ff !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.2;
    opacity:1 !important;
    box-shadow:none !important;
    text-shadow:none !important;
}

/* Energy result: fill the entire card with the response color. */
#hgosHome .home-banner-hero.has-energy{
    --energy-color:#a78bfa;
    position:relative !important;
    overflow:hidden !important;
    border:1px solid color-mix(in srgb,var(--energy-color) 78%,#756c87) !important;
    background:var(--energy-color) !important;
    background-image:none !important;
    box-shadow:0 12px 30px color-mix(in srgb,var(--energy-color) 20%,transparent) !important;
}

/* Previous nebula/stars are disabled: solid color means solid color only. */
#hgosHome .home-banner-hero.has-energy::before,
#hgosHome .home-banner-hero.has-energy::after{
    content:none !important;
    display:none !important;
    background:none !important;
    animation:none !important;
}

#hgosHome .home-banner-hero.has-energy .home-banner-kicker,
#hgosHome .home-banner-hero.has-energy strong,
#hgosHome .home-banner-hero.has-energy .home-energy-direction{
    max-width:90%;
}

/* Dark response colors */
#hgosHome .home-banner-hero.has-energy.energy-is-dark{
    color:#fff !important;
}
#hgosHome .home-banner-hero.has-energy.energy-is-dark .home-banner-kicker,
#hgosHome .home-banner-hero.has-energy.energy-is-dark strong,
#hgosHome .home-banner-hero.has-energy.energy-is-dark .home-energy-direction{
    color:#fff !important;
    text-shadow:none !important;
}

/* Bright response colors */
#hgosHome .home-banner-hero.has-energy.energy-is-light{
    color:#211a35 !important;
}
#hgosHome .home-banner-hero.has-energy.energy-is-light .home-banner-kicker,
#hgosHome .home-banner-hero.has-energy.energy-is-light strong,
#hgosHome .home-banner-hero.has-energy.energy-is-light .home-energy-direction{
    color:#211a35 !important;
    text-shadow:none !important;
}

/* With a generated color, keep the CTA readable independently of the color. */
#hgosHome .home-banner-hero.has-energy .home-banner-cta{
    display:inline-flex !important;
    width:max-content;
    min-height:38px;
    margin-top:8px !important;
    padding:0 16px !important;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.72) !important;
    border-radius:999px;
    background:#7417ff !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.2;
    opacity:1 !important;
    box-shadow:none !important;
    text-shadow:none !important;
}

#hgosHome .home-banner-notice{
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:#f8f4ff !important;
    border:1px solid var(--home-border) !important;
}

#hgosHome #homeNoticeTitle{
    display:-webkit-box;
    width:100%;
    max-width:100%;
    overflow:hidden;
    line-clamp:2;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    white-space:normal;
    text-overflow:ellipsis;
}

#hgosHome #homeNoticeDescription{
    display:-webkit-box;
    max-width:90%;
    overflow:hidden;
    line-clamp:1;
    -webkit-line-clamp:1;
    -webkit-box-orient:vertical;
    color:#686079;
    font-size:14px;
    line-height:1.4;
}

#hgosHome #homeNoticeDescription:empty{
    display:none !important;
}

#hgosHome .home-energy-direction[hidden]{
    display:none !important;
}

@media(max-width:760px){
    #hgosHome .home-banner{
        min-height:148px !important;
        padding:18px 20px !important;
    }

    #hgosHome .home-banner-hero.has-energy strong,
    #hgosHome .home-banner-hero.has-energy .home-energy-direction{
        max-width:100%;
    }

    #hgosHome #homeNoticeDescription{
        font-size:13px;
    }
}


#hgosHome .home-fuum-image{
    width:72px;
    height:72px;
    margin:0 auto 2px;
    display:block;
    border-radius:16px;
    object-fit:cover;
    background:var(--home-soft);
}

#hgosHome .home-message-btn{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
}


@media (max-width:760px){
    #hgosHome{
        width:calc(100% - 24px);
        margin:16px auto 40px;
    }

    #hgosHome > .home-grid{
        grid-template-columns:1fr !important;
        gap:14px !important;
    }

    #hgosHome .home-title{
        font-size:20px;
    }

    #hgosHome .home-card{
        padding:22px 18px 18px !important;
        border-radius:20px !important;
        align-self:start !important;
    }

    #hgosHome .home-card-head{
        min-height:0;
    }

    #hgosHome .home-card-body{
        flex:none !important;
        padding:16px 0 !important;
    }

    #hgosHome .home-card-actions{
        margin-top:0 !important;
    }

    #hgosHome .home-title,

    #hgosHome .home-program-card strong,

    #hgosHome .home-master-name,

    #hgosHome .home-activity-card strong,

    #hgosHome .home-btn,

    #hgosHome .home-link{
        font-size:var(--hgos-type-2-size) !important;
        font-weight:var(--hgos-type-2-weight) !important;
    }

    #hgosHome .home-feed-title,

    #hgosHome .home-feed-text{
        font-size:var(--hgos-type-3-size) !important;
        font-weight:var(--hgos-type-3-weight) !important;
    }

    #hgosHome .home-eyebrow,

    #hgosHome .home-program-card span,

    #hgosHome .home-feed-type,

    #hgosHome .home-feed-date,

    #hgosHome .home-master-domain,

    #hgosHome .home-activity-card span,

    #hgosHome .home-empty,

    #hgosHome .home-loading,

    #hgosHome .home-cheer{
        font-size:var(--hgos-type-4-size) !important;
        font-weight:var(--hgos-type-4-weight) !important;
    }

    #hgosHome .home-banner-grid{
        grid-template-columns:1fr;
        gap:12px;
        margin-bottom:14px;
    }

    #hgosHome .home-banner{
        min-height:120px;
        padding:20px 18px;
        border-radius:20px;
    }
}







/* ============================================================
   HOME V15 — FINAL UI TUNING
   ============================================================ */

/* Common typography: titles use level 2; supporting copy uses level 4. */
#hgosHome .home-banner-kicker,
#hgosHome .home-program-card span,
#hgosHome .home-master-domain,
#hgosHome .home-activity-card span,
#hgosHome .home-asset-card span,
#hgosHome .home-feed-date,
#hgosHome .home-cheer{
    font-size:var(--hgos-type-4-size) !important;
    font-weight:var(--hgos-type-4-weight) !important;
}

#hgosHome .home-banner strong,
#hgosHome .home-title,
#hgosHome .home-program-card strong,
#hgosHome .home-master-name,
#hgosHome .home-fuum-title,
#hgosHome .home-activity-card strong,
#hgosHome .home-asset-card strong,
#hgosHome .home-btn,
#hgosHome .home-link{
    font-weight:var(--hgos-type-2-weight) !important;
}





/* FUUM recommendation: image + title only. */
#hgosHome .home-fuum-card{
    min-height:150px;
    gap:10px;
}
#hgosHome .home-fuum-image{
    width:78px;
    height:78px;
    margin:0 auto 4px;
}
#hgosHome .home-fuum-title{
    text-align:center;
}

@media (max-width:760px){
    #hgosHome .home-banner-notice{
        padding:18px;
    }
    #hgosHome .home-fuum-card{
        min-height:132px;
    }
    #hgosHome .home-fuum-image{
        width:68px;
        height:68px;
    }
    .home-modal-panel{
        padding:26px 20px 20px;
        border-radius:22px;
    }
}



/* ============================================================
   GA CONVERSION MODAL — common login modal geometry
   ============================================================ */
.home-modal[hidden]{
    display:none !important;
}

.home-modal{
    position:fixed;
    inset:0;
    z-index:10000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:16px;
}

.home-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(31,25,48,.42);
    backdrop-filter:blur(3px);
}

.home-modal-panel{
    position:relative;
    z-index:1;
    width:min(440px,calc(100vw - 32px));
    padding:28px 26px 24px;
    border:1px solid #e2d7ff;
    border-radius:22px;
    background:#fff;
    box-shadow:0 20px 60px rgba(45,30,82,.20);
    color:#2e2844;
    font-family:Pretendard,"Noto Sans KR",sans-serif;
}

.home-modal-panel>strong{
    display:block;
    margin:0 0 20px;
    color:#2e2844;
    font-size:18px;
    line-height:1.4;
    font-weight:700;
}

.home-modal-panel>p{
    margin:0 0 26px;
    color:#555;
    font-size:16px;
    line-height:1.55;
    font-weight:500;
}

.home-modal-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.home-modal-actions .home-btn{
    min-height:50px !important;
    padding:0 16px !important;
    border-radius:13px !important;
    font-size:17px !important;
    line-height:1 !important;
    font-weight:700 !important;
}

.home-modal-actions .home-btn:first-child{
    border:1px solid #d9c9ff !important;
    background:#fff !important;
    color:#3a2a50 !important;
    box-shadow:none !important;
}

.home-modal-actions .home-btn.primary{
    border:1px solid #7b20ff !important;
    background:linear-gradient(135deg,#7417ff,#9148ff) !important;
    color:#fff !important;
    box-shadow:0 8px 20px rgba(116,23,255,.18) !important;
}

.home-modal-actions .home-btn:disabled{
    opacity:.65;
    cursor:wait;
}

/* ============================================================
   HOME V16 — latest attached baseline only
   ============================================================ */





/* New-message count badge */

/* Recommended masters: image + name only. */
#hgosHome #homeMasters .home-master,
#hgosHome #homeMasters .hgos-home-master{
    min-height:138px !important;
    padding:16px 12px !important;
}
#hgosHome .home-master-avatar{
    width:72px !important;
    height:72px !important;
    min-width:72px !important;
    min-height:72px !important;
    max-width:72px !important;
    max-height:72px !important;
    flex-basis:72px !important;
    margin-bottom:10px !important;
}
#hgosHome .home-master-domain{
    display:none !important;
}

/* Recommended FUUM: image occupies the entire rolling card; no title. */
#hgosHome .home-fuum-grid{
    align-items:stretch !important;
}
#hgosHome .home-fuum-card{
    position:relative;
    min-height:176px !important;
    padding:0 !important;
    overflow:hidden !important;
    background:var(--home-soft);
}
#hgosHome .home-fuum-image{
    width:100% !important;
    height:176px !important;
    min-width:100% !important;
    margin:0 !important;
    border-radius:15px !important;
    object-fit:cover !important;
}
#hgosHome .home-fuum-image-empty{
    background:linear-gradient(135deg,#f5f0ff,#ece3ff);
}
#hgosHome .home-fuum-title,
#hgosHome .home-fuum-description,
#hgosHome .home-fuum-icon{
    display:none !important;
}

@media (max-width:760px){
    #hgosHome .home-fuum-card,
    #hgosHome .home-fuum-image{
        min-height:145px !important;
        height:145px !important;
    }
}


/* ============================================================
   HOME V17 — current attachments only
   ============================================================ */



/* Energy hero: color name + concise growth direction + CTA only. */
#hgosHome .home-energy-direction{
    display:block;
    width:100%;
    max-width:90%;
    overflow:hidden;
    color:var(--home-text);
    font-size:var(--hgos-type-4-size) !important;
    font-weight:var(--hgos-type-4-weight) !important;
    line-height:1.45;
    text-overflow:ellipsis;
    white-space:nowrap;
    opacity:.82;
}
#hgosHome .home-energy-direction[hidden]{
    display:block !important;
    visibility:hidden;
}

/* Recommended master and FUUM use the same full-card image geometry. */
#hgosHome #homeMasters .home-master,
#hgosHome #homeMasters .hgos-home-master,
#hgosHome .home-fuum-card{
    position:relative !important;
    min-height:176px !important;
    height:176px !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:16px !important;
}
#hgosHome .home-master-avatar,
#hgosHome .home-fuum-image{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    max-width:none !important;
    max-height:none !important;
    flex:1 1 auto !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:15px !important;
    object-fit:cover !important;
}
#hgosHome .home-master-name,
#hgosHome .home-master-domain{
    display:none !important;
}
#hgosHome .home-master-avatar-empty{
    background:linear-gradient(135deg,#f5f0ff,#ece3ff);
}

/* Unread number must be visibly rendered inside message buttons. */
#hgosHome .home-message-dot{
    display:inline-flex;
    width:auto !important;
    min-width:20px !important;
    height:20px !important;
    padding:0 6px !important;
    flex:0 0 auto !important;
    align-items:center;
    justify-content:center;
    border-radius:999px !important;
    background:#ff3b30 !important;
    color:#fff !important;
    font-style:normal;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:700 !important;
}
#hgosHome .home-message-dot[hidden]{
    display:none !important;
}

@media (max-width:760px){
    #hgosHome #homeMasters .home-master,
    #hgosHome #homeMasters .hgos-home-master,
    #hgosHome .home-fuum-card{
        min-height:145px !important;
        height:145px !important;
    }
}
