/* Shared finishing details, scoped to the public site. */
.home-page { --text-muted:#69745f; --border:#d3ddc8; --border-light:#e1e7d8; --primary-light:#4d7159; }
.home-page button, .home-page a, .home-page input, .home-page select, .home-page textarea { -webkit-tap-highlight-color:transparent; }
.home-page button { touch-action:manipulation; }
.home-page :is(.btn,.home-button,.sc-retry,.home-retry,.sc-load-more) { min-height:44px; border-radius:26px; transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s; }
.home-page :is(.btn-primary,.btn-accent,.home-button-primary) { color:#fff; background:#4d7159; }
.home-page .btn-outline { color:#4d7159; border:1px solid #aabf9a; background:transparent; }
.home-page .btn-outline:hover { background:#e9f0df; color:#365430; }
.home-page :is(.home-button,.btn):active:not(:disabled) { transform:translateY(1px); }
.home-page :is(button,input,select,textarea,a):focus-visible { outline:2px solid #a6673e; outline-offset:4px; }
.home-page :is(button,input,select,textarea):disabled { cursor:not-allowed; }
.home-page input::placeholder, .home-page textarea::placeholder { color:#7e8876; opacity:1; }
.home-page .home-footer { border-top-left-radius:24px; border-top-right-radius:24px; }
.home-page .home-footer a:hover { text-decoration:underline; text-underline-offset:5px; }
.home-page :is(.home-story,.home-need,.sc-article-card,.sc-video-card) { transition:border-color .2s,box-shadow .2s,transform .2s; }
.home-page :is(.home-story,.sc-article-card,.sc-video-card):focus-within { border-color:#a8ba97; }
.home-page .home-story-image img { transition:transform .45s ease; }
@media(hover:hover) { .home-story:hover .home-story-image img { transform:scale(1.025); } }
.home-page :is(.modal,.redeem-modal) { background:#fffef9; border-radius:20px; border:1px solid #d7e0cb; }
.home-page .modal-overlay { background:#20382c80; backdrop-filter:blur(4px); }
.home-page .close-btn { min-width:44px; min-height:44px; border-radius:50%; }
.polish-toast { display:flex; align-items:center; gap:12px; line-height:1.7; }
.home-page .polish-toast { max-width:min(420px,calc(100vw - 32px)) !important; right:16px !important; bottom:24px !important; border-radius:14px !important; padding:14px 18px !important; background:#38563f !important; box-shadow:0 8px 26px #253c3226 !important; font-weight:400 !important; }
.home-page .polish-toast[data-tone="warning"], .home-page .polish-toast[data-tone="error"] { background:#805b40 !important; }
.polish-toast a { color:inherit; white-space:nowrap; text-decoration:underline; text-underline-offset:4px; }
.polish-confirm { width:min(440px,calc(100% - 32px)); border:1px solid #d4dfc7; border-radius:20px; padding:30px; margin:auto; background:#fffef9; color:#304a36; box-shadow:0 20px 80px #19332433; }
.polish-confirm::backdrop { background:#20382c80; backdrop-filter:blur(3px); }
.home-page .polish-confirm h2 { font-size:23px; margin-bottom:14px; letter-spacing:0; }
.polish-confirm p { color:#68755e; font-size:15px; line-height:1.9; }
.polish-confirm-actions { display:flex; gap:12px; justify-content:flex-end; margin-top:25px; }
.polish-confirm-actions button { min-height:44px; }
.polish-reading-path { padding:32px 0 4px; }
.polish-reading-heading { display:flex; align-items:baseline; justify-content:space-between; gap:18px; margin-bottom:22px; }
.home-page .polish-reading-heading h3 { font-size:22px; letter-spacing:.035em; }
.polish-reading-heading p { color:#727c66; font-size:13px; }
.polish-path-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.polish-path-item { min-width:0; border-top:1px solid #cfdac3; padding:20px 0; display:block; }
.polish-path-item .polish-path-label { display:block; color:#879875; font-size:12px; letter-spacing:.08em; margin-bottom:10px; }
.polish-path-item strong { display:block; font-size:16px; font-weight:550; line-height:1.85; color:#3d5738; }
.polish-path-item p { color:#737e68; font-size:13px; margin-top:9px; line-height:1.85; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.polish-path-item:hover strong { color:#8b663e; }
.sc-search { display:flex; align-items:center; gap:12px; border:1px solid #cfdac3; border-radius:14px; background:#fffef9; padding:10px 15px; margin-bottom:24px; max-width:650px; }
.sc-search svg { width:22px; height:22px; fill:none; stroke:#789166; stroke-width:1.8; flex-shrink:0; }
.sc-search input { width:100%; min-width:0; min-height:34px; font:inherit; font-size:15px; border:0; background:none; color:#355332; }
.sc-search button { border:0; background:#edf2e4; border-radius:20px; min-height:36px; padding:5px 13px; font:inherit; font-size:12px; color:#516847; cursor:pointer; white-space:nowrap; }
.sc-search-count { font-size:13px; color:#75826a; margin:0 0 18px; }
.sc-article-card .sc-article-meta { font-variant-numeric:tabular-nums; }
.home-page .home-centered-title { margin-bottom:32px; }
@media(max-width:760px) {
 .polish-path-grid { grid-template-columns:1fr; gap:0; }
 .polish-path-item { padding:18px 0; }
 .polish-reading-heading { display:block; }
 .polish-reading-heading p { margin-top:8px; }
 .home-page .home-footer { border-radius:18px 18px 0 0; }
 .home-page .polish-toast { left:16px; right:16px !important; bottom:16px !important; width:auto; font-size:13px !important; }
 .polish-confirm { padding:24px; }
}
@media(prefers-reduced-motion:reduce) { .home-page *, .home-page *::before, .home-page *::after { transition:none !important; animation:none !important; } }

.article-source-link { display:inline-block; margin-top:12px; padding:10px 0; font-size:13px; color:#647c54; text-decoration:underline; text-underline-offset:5px; }
.quiz-page #quiz-app { scroll-margin-top:110px; }

.sc-loading { min-height:205px; text-align:left; } .sc-loading span { display:block; width:65%; height:10px; border-radius:5px; background:#e0e7d7; margin-top:16px; } .sc-loading span:nth-child(2) { width:92%; } .sc-loading span:nth-child(3) { width:78%; }

/* Shared account, privacy and moderation controls. */
.home-page :is(button,input,select,textarea) { font-family:inherit; }
.support-page .home-button, .site-dialog .home-button { background:transparent; color:var(--home-green,#4d7159); cursor:pointer; }
.home-page .home-button-primary { background:#4d7159; color:#fff; }
.home-page button:disabled { cursor:wait; opacity:.6; }
.home-footer-legal { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 24px; padding:18px 24px; border-top:1px solid #ffffff20; font-size:14px; }
.site-status:not(:empty) { padding:12px 16px; border-radius:12px; background:#eef3e8; border:1px solid #d3ddc8; color:#35513e; line-height:1.7; overflow-wrap:anywhere; }
.site-status[data-tone=error]:not(:empty) { background:#fbf0e9; border-color:#e8cbbb; color:#874d35; }
.site-dialog { max-height:calc(100dvh - 32px); overflow:auto; line-height:1.8; }
.site-dialog label { display:block; margin:18px 0; }
.site-dialog input { display:block; width:100%; border:1px solid #ccd3c5; border-radius:12px; padding:12px; margin-top:8px; font:inherit; background:#fff; }
.site-dialog .verify-account { overflow-wrap:anywhere; }
.site-dialog a { text-decoration:underline; text-underline-offset:4px; }
.site-dialog .polish-confirm-actions { flex-wrap:wrap; }
.home-page .site-button-danger { background:#87533e; border-color:#87533e; color:#fff; }
@media(max-width:480px) { .polish-confirm-actions { flex-wrap:wrap; } .polish-confirm-actions button { flex:1 1 100%; } }

/* SMS verification fields share the account pages' calm, accessible layout. */
.sms-code-row{display:flex;align-items:stretch;gap:10px;min-width:0}
.sms-code-row input{min-width:0;flex:1;width:0}
.sms-code-row button{flex:0 0 auto;white-space:nowrap;font-size:.83rem}
.sms-status{font-size:.82rem;line-height:1.7;color:var(--text-muted);margin:8px 0 0;overflow-wrap:anywhere}
.sms-status[data-tone="error"],.site-status[data-tone="error"]{color:#a13e35}
.sms-code-row button:disabled{opacity:.65;cursor:not-allowed}
@media(max-width:380px){.sms-code-row{flex-wrap:wrap}.sms-code-row input{flex-basis:100%;width:100%}.sms-code-row button{width:100%}}

/* Public registration identity stays visible in both languages. */
.home-footer-filing { text-align: center; padding: 14px 20px 0; font-size: .8rem; line-height: 1.7; }
.home-footer-filing a { color: inherit; text-decoration: none; }
.home-footer-filing a:hover { text-decoration: underline; }
