/* MallowShare: non-intrusive, clearly separated banner / sponsor region */
.mallow-ad-section{position:relative;isolation:isolate;max-width:1120px;margin:24px auto 12px;padding:clamp(16px,2.5vw,25px);border-radius:22px;border:1px solid #dee9f6;background:linear-gradient(135deg,#fff 5%,#f7fbff 70%,#f5f9ff);box-shadow:0 14px 36px rgba(61,90,125,.05);overflow:hidden}
.mallow-ad-section[hidden]{display:none!important}
.mallow-ad-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.mallow-ad-head h2{margin:2px 0 0;font-size:clamp(15px,2vw,19px);line-height:1.35;color:#1e2f44;letter-spacing:-.025em}
.mallow-ad-eyebrow{color:#528ed7;font-size:10px;font-weight:850;letter-spacing:.15em}
.mallow-ad-disclosure{font:700 11px/1.2 system-ui,-apple-system,Segoe UI,sans-serif;letter-spacing:.02em;color:#576678;background:#eaeff5;border:1px solid #d8dfe7;padding:7px 11px;border-radius:100px;white-space:nowrap}
.mallow-ad-disclosure[hidden]{display:none!important}
.mallow-ad-body{display:flex;align-items:center;justify-content:center;width:100%;min-width:0}
.mallow-ad-house{width:100%;min-height:90px;display:flex;align-items:center;gap:15px;padding:16px 20px;border-radius:16px;border:1px solid #ddecfe;text-decoration:none;background:radial-gradient(circle at 95% 15%,#e6f1ff 0%,transparent 55%),linear-gradient(120deg,#f3f8ff,#fff);color:#1e2f44!important;transition:border-color .18s,transform .18s}
.mallow-ad-house:hover{border-color:#7ba6db;transform:translateY(-2px)}
.mallow-ad-house-icon{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#54a0fc,#7ee5e7);font-size:23px;color:#fff}
.mallow-ad-house-copy{flex:1;min-width:0;display:grid;gap:5px;text-align:left}
.mallow-ad-house-copy strong{font-size:clamp(13px,1.65vw,17px);font-weight:800;line-height:1.3}
.mallow-ad-house-copy small{font-size:12px;line-height:1.5;color:#5e6c7d}
.mallow-ad-house-arrow{color:#5791d7;font-size:22px;font-weight:800}
.mallow-ad-footnote{font-size:11px!important;color:#6c7988!important;line-height:1.5!important;margin:10px 0 0!important}
.mallow-ad-frame{display:block;max-width:100%;border:0!important;background:transparent;margin:0 auto}
.mallow-ad-network-wrap{width:100%;min-height:90px;display:flex;justify-content:center;align-items:center;padding:8px;border:1px solid #e4eaf1;border-radius:15px;background:#fff}
.mallow-ad-sponsored{display:flex;align-items:center;gap:18px;min-height:94px;width:100%;padding:15px 18px;border:1px solid #dde4ec;background:#fff;border-radius:15px;text-decoration:none!important;color:#243345!important;transition:box-shadow .2s}
.mallow-ad-sponsored:hover{box-shadow:0 6px 18px #587dab24}
.mallow-ad-sponsored-mark{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:14px;background:#eaf3ff;color:#548ed5;font-size:23px}
.mallow-ad-sponsored-copy{display:grid;gap:4px;flex:1;min-width:0}
.mallow-ad-sponsored-copy strong{font-size:16px;line-height:1.3;color:inherit!important}
.mallow-ad-sponsored-copy small{font-size:12px;line-height:1.5;color:#5e6c7d}
.mallow-ad-sponsored-arrow{font-size:20px;color:#548ed5;font-weight:850}
.guide-ad{margin:36px 0 8px;max-width:100%;font-size:14px}
.guide-ad .mallow-ad-head h2{margin:2px 0 0;font-size:17px}
body.dark .mallow-ad-section{background:linear-gradient(135deg,#232e3c,#1d2631);border-color:#404d5d}
body.dark .mallow-ad-head h2,body.dark .mallow-ad-house{color:#fff!important}
body.dark .mallow-ad-house{background:#273545;border-color:#43566e}
body.dark .mallow-ad-house-copy small,body.dark .mallow-ad-footnote{color:#c4d0de!important}
@media(max-width:650px){.mallow-ad-section{margin:18px 10px 12px;border-radius:17px;padding:14px}.mallow-ad-head h2{font-size:16px}.mallow-ad-house{padding:12px;min-height:84px;gap:11px}.mallow-ad-house-icon{width:42px;height:42px;border-radius:12px}.mallow-ad-house-copy small{font-size:11px}.mallow-ad-house-arrow{font-size:16px}.mallow-ad-network-wrap{padding:6px;min-height:70px}.guide-ad{margin:28px 0 10px}}
@media(prefers-reduced-motion:reduce){.mallow-ad-house,.mallow-ad-sponsored{transition:none}}

/* v19.2: prominent, clearly distinguishable banner position; preview badge is local-only. */
.mallow-ad-section{margin-top:30px;margin-bottom:24px;padding:clamp(20px,3vw,30px);background:linear-gradient(125deg,#fafcff 0%,#f0f7ff 64%,#f8fbff 100%);border:1.5px solid #cce2fc;box-shadow:0 12px 28px rgba(72,119,176,.09),inset 0 1px 0 #fff}
.mallow-ad-section:before{content:"";position:absolute;right:-85px;top:-115px;width:255px;height:255px;border-radius:50%;background:radial-gradient(circle,rgba(156,196,246,.17),transparent 70%);pointer-events:none;z-index:-1}
.mallow-ad-head{margin-bottom:18px;align-items:flex-start}
.mallow-ad-head h2{font-size:clamp(18px,2.4vw,25px);font-weight:830;letter-spacing:-.042em}
.mallow-ad-eyebrow{display:inline-flex;align-items:center;gap:7px;color:#4279bc;font-size:10px;letter-spacing:.12em}
.mallow-ad-eyebrow:before{content:"";width:7px;height:7px;border-radius:100%;background:#6ca9f3;box-shadow:0 0 0 4px #79aff222}
.mallow-ad-subtitle{margin:6px 0 0!important;font-size:12px!important;line-height:1.5!important;color:#616e7e!important}
.mallow-ad-house{border:1px solid #d4e6fb;background:linear-gradient(105deg,#fff,#f6faff 75%,#eef6ff);min-height:112px;padding:20px 21px;gap:18px}
.mallow-ad-house-icon{width:62px;height:62px;border-radius:18px;font-size:26px;box-shadow:0 8px 18px #5081bd33}
.mallow-ad-house-copy{gap:6px}
.mallow-ad-house-tag{font-size:9px;color:#5388c8;font-weight:850;letter-spacing:.11em}
.mallow-ad-house-copy strong{font-size:clamp(15px,1.8vw,19px)}
.mallow-ad-house-copy small{font-size:12px}
.mallow-ad-house-arrow{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e9f3ff}
.mallow-ad-preview{display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding:10px 12px;border:1px dashed #b2cef0;border-radius:12px;background:#f4f9ff;color:#3d5471;font-size:11px;line-height:1.55}
.mallow-ad-preview[hidden]{display:none!important}
.mallow-ad-preview-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#70aaf1;margin-top:4px}
.mallow-ad-section.mallow-ad-active .mallow-ad-preview{display:none!important}
body.dark .mallow-ad-subtitle{color:#d4dde9!important}
body.dark .mallow-ad-house{background:linear-gradient(100deg,#273545,#24303e)}
body.dark .mallow-ad-house-tag{color:#b9d8fe}
body.dark .mallow-ad-house-arrow{background:#314053}
body.dark .mallow-ad-preview{background:#253345;color:#e2eefc;border-color:#506073}
@media(max-width:650px){.mallow-ad-section{padding:17px;margin-top:22px;margin-bottom:22px}.mallow-ad-head h2{font-size:19px}.mallow-ad-head{margin-bottom:13px}.mallow-ad-subtitle{font-size:11px!important}.mallow-ad-house{min-height:105px;gap:12px;padding:15px 13px}.mallow-ad-house-icon{width:48px;height:48px;border-radius:14px}.mallow-ad-house-copy strong{font-size:14px}.mallow-ad-house-arrow{width:26px;height:30px}.mallow-ad-house-tag{font-size:8px;letter-spacing:.05em}.mallow-ad-preview{font-size:10px}}
@media(max-width:359px){.mallow-ad-house-icon{display:none}.mallow-ad-house-arrow{width:24px;flex:none}}


/* v19.3 — clearly labeled diagnostic only on localhost. No fake paid ad. */
.mallow-ad-section.mallow-ad-dev{border:2px solid #80b6f7;background:linear-gradient(125deg,#fff 0%,#f0f7ff 100%);box-shadow:0 16px 35px rgba(65,124,196,.14)}
.mallow-ad-dev .mallow-ad-eyebrow{color:#3c75ba}
.mallow-ad-empty{width:100%;min-height:126px;display:flex;align-items:center;justify-content:center;gap:18px;padding:20px 18px;border:2px dashed #9ac1f0;border-radius:16px;background:repeating-linear-gradient(135deg,#fafcff 0,#fafcff 18px,#f1f7ff 18px,#f1f7ff 36px);color:#22354d}
.mallow-ad-empty-icon{display:grid;place-items:center;flex:none;width:64px;height:56px;border-radius:14px;background:#e3f0ff;border:1px solid #c0d9f7;color:#5285c4;font:850 18px/1 system-ui,sans-serif;letter-spacing:.06em}
.mallow-ad-empty-content{display:grid;gap:8px;text-align:left;min-width:0}
.mallow-ad-empty-content strong{font:800 clamp(15px,2vw,19px)/1.3 system-ui,sans-serif;color:#203753}
.mallow-ad-empty-content small{font:500 12px/1.5 system-ui,sans-serif;color:#556b85}
body.dark .mallow-ad-empty{background:#223041;border-color:#8cb2e0;color:#f3f8ff}
body.dark .mallow-ad-empty-content strong{color:#fff}
body.dark .mallow-ad-empty-content small{color:#c5d6ea}
@media(max-width:650px){.mallow-ad-empty{min-height:120px;padding:15px 12px;gap:12px}.mallow-ad-empty-icon{width:48px;height:48px;font-size:14px}.mallow-ad-empty-content strong{font-size:14px}.mallow-ad-empty-content small{font-size:11px}}
@media(max-width:359px){.mallow-ad-empty-icon{display:grid;width:39px;height:42px}}
/* Secondary placement remains below educational content and hidden in sharing rooms. */
.secondary-guide-banner{max-width:1120px;margin:22px auto 12px}
.secondary-guide-banner[hidden]{display:none!important}
/* v37: quiet ad preview on localhost; keep real advertisements away from tool controls. */
.mallow-ad-section.mallow-ad-dev{padding:14px 18px;margin-block:20px;box-shadow:none}
.mallow-ad-dev .mallow-ad-head{margin-bottom:8px}
.mallow-ad-dev .mallow-ad-head h2{font-size:17px}
.mallow-ad-dev .mallow-ad-empty{min-height:78px;padding:10px 14px;gap:12px}
.mallow-ad-dev .mallow-ad-empty-icon{height:40px;width:48px;font-size:13px}
.mallow-ad-dev .mallow-ad-empty-content{gap:4px}
.mallow-ad-dev .mallow-ad-empty-content strong{font-size:14px}
.mallow-ad-dev .mallow-ad-empty-content small{font-size:11px}
.mallow-ad-dev [data-ad-preview-note],.mallow-ad-dev [data-ad-footnote]{display:none}

/* v55: approved responsive AdSense units share the exact same, clearly separated slot. */
.mallow-ad-network-wrap.mallow-ad-adsense-wrap{box-sizing:border-box;display:block;min-height:100px;width:100%;max-width:100%;overflow:hidden;padding:12px 8px;border:1px solid #e4eaf1;border-radius:15px;background:#fff}
.mallow-ad-adsense-wrap .mallow-adsense-unit{display:block;width:100%;max-width:100%;min-height:90px;overflow:hidden}
@media(max-width:650px){.mallow-ad-network-wrap.mallow-ad-adsense-wrap{min-height:90px;padding:8px 4px}.mallow-ad-adsense-wrap .mallow-adsense-unit{min-height:75px}}
