.portalHome{padding-bottom:24px}.portalHero{text-align:left;padding:18px 4px 20px}.portalHero h1{font-size:31px;letter-spacing:-1.5px;margin:7px 0 9px}.portalHero p:last-child{color:var(--muted);font-size:14px;line-height:1.55;margin:0}.portalGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portalTile{min-height:144px;background:var(--card);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:13px 6px;box-shadow:0 7px 20px #1d2b2510}.portalTile:active{transform:scale(.98)}.portalTile strong{font-size:15px;letter-spacing:-.4px}.portalTile small{font-size:11px;color:var(--muted);font-weight:500}.tileIcon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#e7f6ef;font-size:27px}.primaryTile{background:linear-gradient(160deg,#123129,#0d1d2d);border:2px solid var(--brand);color:#fff}.primaryTile strong{color:#fff;text-shadow:0 1px 2px #0008}.primaryTile .tileIcon{background:var(--brand);color:#06231a;box-shadow:0 0 0 5px #35dfac22}.portalFlow{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 9px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;color:var(--muted);font-size:11px}.portalFlow b{width:100%;text-align:center;color:var(--ink);font-size:12px}.portalFlow i{color:var(--brand);font-style:normal;font-size:17px}.billingPage{display:grid;gap:12px}.planCard,.policyCard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:19px}.planCard>span{display:block;color:var(--brand);font-weight:800;margin-bottom:8px}.planCard>strong{display:block;font-size:23px;margin-bottom:11px}.planCard p,.policyCard p{color:var(--muted);line-height:1.6;font-size:14px}.policyCard small{color:var(--warn);line-height:1.55}.billingPage .primary{margin-top:9px}

.memberBadge{display:inline-flex!important;align-items:center;min-height:22px;padding:3px 7px;border-radius:99px;background:#17283a;color:#b9c9d8!important;font-size:10px!important;font-weight:700;line-height:1}.portalTile .memberBadge+small{display:none}.submitMemberLabel{font-size:12px;font-weight:800;opacity:.72}


/* 메인 하단 30초 신고포상금 광고 */
.homeAd.promoAd{position:relative;grid-template-columns:auto 1fr auto;min-height:96px;padding:14px;overflow:hidden;background:linear-gradient(135deg,#10283b 0%,#0c1b2a 62%,#123c36 100%);border:1px solid #2d5e62;box-shadow:0 12px 30px #0002}
.promoAd .promoBadge{align-self:start;white-space:nowrap;background:#24516a;color:#e8f6ff;border-radius:6px;padding:4px 7px;font-size:9px;font-weight:900}
.promoBody{min-width:0;position:relative}.promoAd .promoBody b{display:block;color:#fff;font-size:14px;line-height:1.3;margin:0 0 5px}.promoAd .promoBody small{display:block;min-height:27px;color:#a9c2d2;font-size:11px;line-height:1.35}
.promoTrack{height:4px;margin-top:8px;background:#274052;border-radius:99px;overflow:hidden}.promoTrack i{display:block;width:0;height:100%;background:#35dbad;border-radius:inherit;transition:width .25s linear}
.promoBody em{position:absolute;right:0;bottom:7px;color:#d6e5ee;font-size:9px;font-style:normal}
.promoPlay{align-self:center;min-width:57px;padding:9px 8px!important;border:1px solid #3c6677!important;border-radius:10px!important;background:#173247!important;color:#fff!important;font-size:11px!important}
.promoAd.playing{border-color:#35dbad}.promoAd.playing .promoBadge{background:#087f5b;color:#fff}.promoAd.finished .promoTrack i{width:100%}
@media(max-width:380px){.homeAd.promoAd{grid-template-columns:auto 1fr}.promoPlay{grid-column:1/-1;width:100%;padding:7px!important}.promoAd .promoBody small{font-size:10px}}


/* 메인 광고: 영상에 포함된 흐린 상하 복제 배경을 잘라내고 원본 화면 하나만 표시 */
.homeAd.videoPromo.newVideoPromo{width:calc(100% - 24px)!important;max-width:500px!important;margin:18px auto 0!important}
.homeAd.videoPromo.newVideoPromo video{display:block!important;width:100%!important;max-height:none!important;aspect-ratio:30/31!important;object-fit:cover!important;object-position:center!important;background:#061827!important;border-radius:18px!important}

/* 30초 광고: 실제 광고처럼 보이는 화면과 음성 제어 */
.homeAd.videoPromo{display:block!important;min-height:0!important;padding:0!important;background:#07131f!important;border:1px solid #316a6b!important;border-radius:18px!important;overflow:hidden!important;color:#fff!important}
.promoScreen{position:relative;isolation:isolate;min-height:176px;padding:28px 22px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:radial-gradient(circle at 50% 38%,#1e7567 0,#12364a 38%,#07131f 76%)}
.promoSceneGlow{position:absolute;z-index:-1;width:150px;height:150px;border-radius:50%;background:#39dfae22;box-shadow:0 0 55px #35dbad55;animation:promoGlow 2.2s ease-in-out infinite}
.promoScanLine{position:absolute;left:8%;right:8%;height:2px;top:18%;background:linear-gradient(90deg,transparent,#5dffcf,transparent);opacity:0;box-shadow:0 0 12px #35dbad}
.promoSceneIcon{display:block;font-size:52px;line-height:1;margin-bottom:14px;filter:drop-shadow(0 8px 10px #0007);transform-origin:center}
.promoScreen b{display:block!important;color:#fff!important;font-size:19px!important;line-height:1.25!important;margin:0 0 7px!important;letter-spacing:-.5px}
.promoScreen small{display:block!important;min-height:34px;color:#c8dce7!important;font-size:13px!important;line-height:1.4!important}
.promoSceneDots{display:flex;gap:5px;margin-top:13px}.promoSceneDots i{width:6px;height:6px;border-radius:50%;background:#506777}.promoSceneDots i.active{width:18px;border-radius:9px;background:#35dbad}
.promoControls{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px 9px;padding:11px 13px 13px;background:#0c1e2d}
.promoControls .promoBadge{background:#087f5b!important;color:#fff!important;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:900}.promoSound{color:#b9d1de;font-size:11px;font-weight:800}.promoControls em{color:#dbe8ef;font-size:11px;font-style:normal;text-align:right}
.promoControls .promoTrack{grid-column:1/-1;width:100%;height:5px;margin:0;background:#294154}.promoControls .promoPlay{grid-column:1/-1;width:100%;min-height:42px;margin-top:2px;background:#1d4f58!important;border:1px solid #41ba9b!important;color:#fff!important;font-size:14px!important}
.videoPromo.playing .promoSceneIcon{animation:promoIcon 1.3s ease-in-out infinite}.videoPromo.playing .promoScanLine{animation:promoScan 2.1s linear infinite}.videoPromo.sceneChange .promoScreen{animation:promoSceneIn .55s ease-out}
@keyframes promoGlow{50%{transform:scale(1.16);opacity:.55}}@keyframes promoIcon{50%{transform:scale(1.12) translateY(-4px)}}@keyframes promoScan{0%{top:15%;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:78%;opacity:0}}@keyframes promoSceneIn{0%{opacity:.35;transform:scale(.97)}100%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.promoSceneGlow,.videoPromo.playing .promoSceneIcon,.videoPromo.playing .promoScanLine,.videoPromo.sceneChange .promoScreen{animation:none!important}}


/* Mobile policy page: keep every card inside the viewport and preserve dark-theme contrast */
#billing,#billing.active,#billing .billingPage,#billing .planCard,#billing .policyCard{min-width:0!important;max-width:100%!important;width:100%!important}
#billing.active{overflow-x:clip!important}
#billing .billingPage{display:grid!important;grid-template-columns:minmax(0,1fr)!important;overflow:hidden!important}
#billing .planCard,#billing .policyCard{box-sizing:border-box!important;overflow:hidden!important;background:#0d1d2d!important;border:1px solid #29445d!important;color:#f4f8fc!important}
#billing .planCard>summary,#billing .policyCard h3,#billing .planCard>strong,#billing .planCard>span{color:#f4f8fc!important}
#billing .planCard p,#billing .policyCard p{color:#c3d1dd!important}
#billing .policyCard small{color:#f6c85d!important}
#billing summary,#billing h2,#billing h3,#billing p,#billing small,#billing strong,#billing span{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:keep-all}
@media(max-width:750px){
 #billing{padding-inline:0!important}
 #billing .sectionTitle{padding:0 4px!important}
 #billing .sectionTitle h2{font-size:30px!important}
 #billing .billingPage{gap:12px!important}
 #billing .planCard,#billing .policyCard{padding:16px!important;border-radius:18px!important;margin:0!important}
 #billing .planCard .policyCard{margin-top:10px!important}
}

/* Policy light panels: enforce readable foreground colors */
#billing .policyNotice,#billing .policyNotice *{color:#4b3500!important}
#billing .policyDanger,#billing .policyDanger *{color:#681b1b!important}
#billing .policyGood,#billing .policyGood *{color:#164c2c!important}
#billing .policyTable thead th,#billing .policyTable thead th *{color:#142333!important}

/* Policy lead banner: dark theme */
#billing .policyLead{background:#123c3c!important;border:1px solid #287a73!important;color:#eafffb!important}
#billing .policyLead b{color:#48e0bd!important}


/* Compact home advertisement preview */
.homeAdPreview{
 max-width:720px;
 margin:24px auto 8px;
 padding:14px;
 border:1px solid rgba(48,205,193,.28);
 border-radius:18px;
 background:linear-gradient(145deg,#0d2438,#102f45);
 box-shadow:0 10px 28px rgba(5,28,45,.18);
}
.homeAdHead{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 margin:0 2px 10px;
 color:#f4fbff;
}
.homeAdHead strong{font-size:16px}
.homeAdHead span{
 padding:4px 9px;
 border-radius:999px;
 background:rgba(38,218,198,.14);
 color:#6cebdc;
 font-size:12px;
}
.homeAdVideo{
 display:block;
 width:100%;
 aspect-ratio:16/9;
 object-fit:cover;
 border-radius:12px;
 background:#061725;
}
@media(max-width:750px){
 .homeAdPreview{width:calc(100% - 16px);margin:18px auto 4px;padding:10px;border-radius:15px}
 .homeAdVideo{border-radius:10px}
 .homeAdHead strong{font-size:15px}
}


/* Approved home branding: remove header logo and raise report-helper title */
body>header{min-height:68px;height:68px;padding-top:10px;padding-bottom:10px}
body>header .headerRight{margin-left:auto}
.portalHero{padding:6px 4px 16px}
.portalHero .eyebrow{margin:0;color:var(--brand);font-size:13px;font-weight:900;letter-spacing:.08em}
.portalHero h1{margin:5px 0 7px}
@media(max-width:750px){
 body>header{display:flex;min-height:64px;height:64px;padding:8px 18px}
 .portalHero{padding:4px 4px 15px}
 .portalHero h1{font-size:36px;line-height:1.08;margin:4px 0 6px}
}


/* Galaxy A34 approved one-screen compact home; advertisement dimensions unchanged */
@media(max-width:750px) and (min-height:650px){
 main{padding:6px 8px 12px}
 .portalHome{padding-bottom:8px}
 .portalHero{padding:2px 4px 8px}
 .portalHero .eyebrow{font-size:11px;line-height:1.15}
 .portalHero h1{font-size:28px;line-height:1.05;letter-spacing:-1.4px;margin:3px 0 5px}
 .portalHero p:last-child{font-size:11px;line-height:1.3}
 .portalGrid{gap:6px}
 .portalTile{min-height:88px;border-radius:15px;gap:3px;padding:5px 4px}
 .portalTile strong{font-size:12px;line-height:1.15;letter-spacing:-.25px}
 .tileIcon{width:36px;height:36px;font-size:19px}
 .primaryTile .tileIcon{box-shadow:0 0 0 3px #35dfac22}
 .memberBadge{min-height:17px;padding:2px 5px;font-size:8px!important}
 .homeAdPreview{margin-top:8px;margin-bottom:2px}
}
