.spp-skip-link{position:fixed;top:12px;left:12px;z-index:100000;padding:12px 20px;background:#fff;color:#183c36;transform:translateY(-180%);border:2px solid #183c36;border-radius:6px}
.spp-skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid #287262;outline-offset:5px}
[hidden]{display:none!important}
.spp-library-page h1{font-size:clamp(2.8rem,5vw,5rem);line-height:1.12;max-width:850px}
.spp-library-page .spp-post-card h2{font-size:2.2rem;line-height:1.25}
.spp-library-shortcuts,.spp-library-filters{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.spp-library-shortcuts a{text-decoration:underline;text-underline-offset:4px;margin-right:12px}
.spp-library-controls{padding:24px;margin:30px 0;background:#f3f2eb;border-radius:16px}
.spp-library-controls label{display:block;font-weight:700;margin-bottom:8px}
.spp-library-controls input{width:100%;max-width:640px;background:#fff;border:1px solid #62776e;border-radius:8px;padding:14px;font:inherit;color:#173a32}
.spp-library-filters button{min-height:44px;border:1px solid #62776e;border-radius:24px;padding:8px 16px;background:#fff;color:#173a32;font:inherit;cursor:pointer}
.spp-library-filters [aria-pressed=true]{background:#173a32;color:#fff}
.spp-library-more{margin:30px 0}
.spp-library-empty{padding:24px;background:#f3f2eb;border-radius:12px}
.spp-library-page .spp-post-card{min-width:0}
.spp-library-page .spp-post-link{height:100%}
.spp-library-page .spp-meta-row{flex-wrap:wrap;line-height:1.7}
.spp-signup-row{display:flex;gap:12px;align-items:stretch}
.spp-simple-signup{max-width:680px;width:100%;margin:24px auto 0;text-align:left}
.spp-simple-signup input{flex:1;min-width:0;min-height:48px;height:48px;padding:10px 14px;font-size:16px;line-height:1.4;background:#fff;color:#173a32;border:1px solid #62776e;border-radius:8px}
.spp-simple-signup .gh-btn{flex-shrink:0}
.spp-signup-success{display:none}
.spp-simple-signup.success .spp-signup-success{display:block}
.spp-simple-signup .loader,.spp-simple-signup .success{display:none}
.spp-simple-signup.loading .default,.spp-simple-signup.success .default{display:none}
.spp-simple-signup.loading .loader,.spp-simple-signup.success .success{display:inline-block}
.spp-simple-signup [data-members-error]:empty{display:none}
.spp-simple-signup [data-members-error]{color:#9b3022}
.cover .spp-simple-signup .spp-member-form-note{color:inherit;opacity:1;font-size:14px}
.cover .spp-simple-signup{background:#fffaf3;border:1px solid #d9d4c7;border-radius:14px;padding:20px;box-shadow:0 8px 25px #173a3210;color:#173a32}
.cover .spp-simple-signup label{display:block;margin-bottom:8px;font-size:14px;line-height:1.5}
.cover .spp-simple-signup .spp-member-form-note{margin:12px 0 0;line-height:1.55}
.cover .spp-hero-byline{font-size:1.6rem;line-height:1.6;margin:18px 0;color:#173a32}
.cover .cover-actions .spp-secondary-link{padding:10px 16px;background:#fffaf3;border:1px solid #d9d4c7;border-radius:8px;color:#173a32;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.spp-article-byline{margin-top:16px;font-size:1.5rem;color:#43534e}
.spp-reflection-privacy{font-size:1.35rem;line-height:1.55;opacity:.85}
.spp-error-page{text-align:center;padding:80px 20px;min-height:55vh}
.spp-error-page h1{font-size:clamp(3rem,5vw,5.6rem);line-height:1.15}
.spp-error-page p{max-width:560px;margin:24px auto;line-height:1.7}
.spp-tool-box{padding:24px;background:#f3f2eb;border-radius:12px;margin:24px 0;scroll-margin-top:100px}
.spp-tool-box blockquote{margin:16px 0;padding:12px 18px;border-left:3px solid #287262;font-size:2rem}
.spp-tool-box .spp-copy-button{min-height:44px}
@media(max-width:600px){.spp-signup-row{flex-direction:column}.spp-library-controls{padding:18px}.spp-library-shortcuts{flex-direction:column}.spp-tool-box{padding:18px}.spp-library-page .spp-card-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
