:root{color-scheme:light;--navy:#162a42;--navy-soft:#223a55;--rust:#a9572c;--rust-dark:#8f4321;--cream:#faf7f2;--paper:#fffdf9;--line:#e8ddd3;--muted:#596675}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;background:var(--cream);line-height:1.8}button,input{font:inherit}a{color:inherit}.wrap{width:min(1100px,calc(100% - 40px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px;z-index:99}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-family:Georgia,"Yu Mincho",serif;font-size:20px;font-weight:bold;line-height:1.2}.brand small{display:block;font-family:inherit;font-size:10px;letter-spacing:.04em;color:var(--muted);font-weight:normal;margin-top:4px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;background:var(--navy);color:white;border-radius:3px}.header-contact,.primary-link,.form-row button{background:var(--rust);color:white;border:0;border-radius:4px;text-decoration:none;font-weight:bold}.header-contact{padding:8px 19px}.header-contact:hover,.primary-link:hover,.form-row button:hover{background:var(--rust-dark)}.hero{background:radial-gradient(circle at 50% 8%,#fff 0%,#faf7f2 58%,#f3ede5 100%);padding:78px 0 82px}.hero-inner{max-width:860px;text-align:center}.eyebrow{color:var(--rust);font-size:13px;font-weight:bold;letter-spacing:.12em;margin:0 0 18px}.hero h1,.explanation h2{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;line-height:1.4}.hero h1{font-size:clamp(34px,5vw,56px);margin:0 0 22px}.lead{font-size:18px;max-width:680px;margin:0 auto 34px;color:#485568}.check-panel{padding:32px;background:var(--paper);border:1px solid var(--line);box-shadow:0 16px 50px rgba(22,42,66,.07);text-align:left;border-radius:8px}.check-panel label{display:block;font-weight:bold;margin-bottom:8px}.form-row{display:flex;gap:12px}.form-row input{flex:1;min-width:0;padding:14px 16px;border:1px solid #9ba8b3;border-radius:4px;background:#fff;color:var(--navy)}.form-row input:focus{outline:3px solid #c9ddea;outline-offset:1px}.form-row button{padding:14px 26px;cursor:pointer;white-space:nowrap}.form-row button:disabled{opacity:.55;cursor:wait}.field-help{color:var(--muted);font-size:13px;margin:8px 0 0}.turnstile{margin:16px 0 0}.form-message{min-height:1.5em;color:#a52f27;font-weight:bold;margin:10px 0 0}.scope-note{font-size:13px;color:var(--muted);background:#f5f0e9;border-left:3px solid #c68e6d;padding:12px 15px;margin:14px 0 0}.result-section{padding:75px 0}.section-heading{text-align:center;margin-bottom:34px}.section-heading h2{font-size:30px;margin:0}.section-heading p:last-child{color:var(--muted);font-size:14px}.loading{text-align:center;padding:45px;border:1px solid var(--line);background:#fff}.result-grid,.explanation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.result-card,.unknown-card,.explanation-grid>div{background:#fff;border:1px solid var(--line);padding:28px;border-radius:5px}.result-card h3,.unknown-card h3,.explanation-grid h3{margin:0 0 14px;font-size:19px}.result-card ul,.unknown-card ul{margin:0;padding-left:1.35em}.result-card li,.unknown-card li{margin:8px 0}.caution{border-top:3px solid #bd7c4c}.unknown-card{margin-top:20px;background:#f7f2ec}.next-step{margin-top:35px;padding:32px;background:var(--navy);color:#fff;border-radius:5px}.next-step .eyebrow{color:#dfad84}.next-step h3{font-size:24px;margin:0 0 10px}.next-step p{margin-top:0}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.primary-link,.secondary-link{display:inline-block;padding:11px 19px;border-radius:4px;text-decoration:none;font-weight:bold}.secondary-link{border:1px solid #b5c4d2;color:#fff}.secondary-link:hover{background:var(--navy-soft)}.explanation{padding:35px 0 90px}.explanation h2{font-size:34px;margin:0 0 30px}.explanation-grid p{margin:0;color:#485568}.privacy{font-size:13px;color:var(--muted);margin-top:28px}footer{background:var(--navy);color:#fff;padding:25px 0;font-size:13px}footer .wrap{display:flex;justify-content:space-between;gap:20px}
@media(max-width:700px){.wrap{width:min(100% - 32px,1100px)}.header-inner{min-height:66px}.brand{font-size:17px}.brand small{font-size:8px}.header-contact{padding:6px 11px;font-size:13px}.hero{padding:48px 0 58px}.hero h1{font-size:35px}.lead{font-size:15px}.check-panel{padding:19px}.form-row{display:block}.form-row input,.form-row button{width:100%}.form-row button{margin-top:10px}.result-grid,.explanation-grid{grid-template-columns:1fr}.result-section{padding:55px 0}.explanation{padding-bottom:65px}.explanation h2{font-size:28px}.next-step{padding:22px}.actions a{width:100%;text-align:center}footer .wrap{display:block}footer a{display:block;margin-top:8px}}
.quick-contact{font-size:14px;margin:16px 0 0}.quick-contact a{color:var(--rust-dark);font-weight:bold}.mail-section{padding:0 0 65px}.mail-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:35px;max-width:850px;margin:auto;box-shadow:0 12px 35px rgba(22,42,66,.05)}.mail-panel h2{font-family:Georgia,"Yu Mincho",serif;font-size:30px;line-height:1.45;margin:0 0 12px}.mail-panel>p:not(.eyebrow){color:#485568}.mail-panel form{margin-top:20px}.mail-panel form>label{display:block;font-weight:bold;margin-bottom:8px}.mail-panel input[type=email]{width:100%;padding:13px 15px;border:1px solid #9ba8b3;border-radius:4px}.mail-options{display:grid;gap:12px;margin:20px 0}.mail-options label{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.mail-options input{margin-top:5px;flex:none;width:18px;height:18px}.mail-options small{color:var(--muted)}.mail-panel button{background:var(--rust);color:#fff;border:0;border-radius:4px;padding:12px 24px;font-weight:bold;cursor:pointer;margin-top:20px}.mail-panel button:hover{background:var(--rust-dark)}.mail-panel button:disabled{opacity:.55;cursor:wait}.mail-message{min-height:1.6em;color:#244f42;font-weight:bold}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:700px){.mail-panel{padding:22px}.mail-panel h2{font-size:25px}.mail-panel button{width:100%}.mail-options label{font-size:14px}}

/* The bar is intentionally indeterminate: the API exposes states, not a percentage. */
.loading{display:grid;grid-template-columns:88px minmax(0,1fr);gap:28px;align-items:center;text-align:left;padding:35px 40px;border:1px solid #d9e6dc;border-radius:10px;background:linear-gradient(120deg,#fff 0%,#f4f9f5 100%);box-shadow:0 16px 42px rgba(22,42,66,.07)}
.loading[hidden]{display:none}
.loading-visual{display:grid;place-items:center}
.loading-radar{width:76px;height:76px;display:grid;place-items:center;position:relative;border:2px solid #bbd7c8;border-radius:50%;background:#e9f4ec;color:var(--navy);font-family:Georgia,"Yu Mincho",serif;font-size:28px;font-weight:bold}
.loading-radar::before{content:"";position:absolute;inset:-10px;border:2px solid rgba(53,126,98,.26);border-radius:50%;animation:loading-pulse 2s ease-out infinite}
.loading-radar::after{content:"";position:absolute;inset:4px;border:3px solid transparent;border-top-color:#2e8067;border-radius:50%;animation:loading-spin 1.7s linear infinite}
.loading-radar span{position:relative;z-index:1}
.loading-kicker{margin:0;color:#287259;font-size:12px;font-weight:bold;letter-spacing:.12em}
.loading-status{margin:4px 0 2px;font-size:23px;font-weight:bold;line-height:1.5}
.loading-description{margin:0;color:#485568;font-size:14px}
.loading-progress{height:6px;margin:21px 0 19px;overflow:hidden;border-radius:999px;background:#e0ece4}
.loading-progress span{display:block;width:38%;height:100%;border-radius:999px;background:linear-gradient(90deg,#68aa88,#287259);animation:loading-sweep 1.8s ease-in-out infinite}
.loading-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;counter-reset:loading-step;list-style:none;margin:0;padding:0}
.loading-steps li{display:flex;gap:7px;align-items:center;min-width:0;color:#687683;font-size:12px;font-weight:bold;line-height:1.4}
.loading-steps li::before{counter-increment:loading-step;content:counter(loading-step);display:grid;place-items:center;flex:none;width:22px;height:22px;border:1px solid #acb7bd;border-radius:50%;background:#fff;color:#687683;font-size:11px}
.loading-steps li[aria-current="step"]{color:#225f4d}
.loading-steps li[aria-current="step"]::before{border-color:#287259;background:#287259;color:#fff;box-shadow:0 0 0 4px #d9ebdf}
.loading[data-phase="queued"] .loading-steps li:first-child::before,.loading[data-phase="processing"] .loading-steps li:nth-child(-n+2)::before{content:"✓";border-color:#287259;background:#e3f1e8;color:#225f4d}
.loading-footnote{display:flex;justify-content:space-between;gap:12px;margin:20px 0 0;color:var(--muted);font-size:12px}
.loading-footnote span{white-space:nowrap;font-variant-numeric:tabular-nums}
@keyframes loading-spin{to{transform:rotate(360deg)}}
@keyframes loading-pulse{0%{transform:scale(.84);opacity:.8}75%,100%{transform:scale(1.2);opacity:0}}
@keyframes loading-sweep{0%{transform:translateX(-110%)}100%{transform:translateX(275%)}}
@media(max-width:700px){.loading{grid-template-columns:1fr;gap:14px;padding:27px 20px;text-align:center}.loading-radar{width:68px;height:68px}.loading-status{font-size:21px}.loading-steps{gap:4px}.loading-steps li{justify-content:center;flex-wrap:wrap;gap:3px;font-size:11px}.loading-steps li::before{width:21px;height:21px}.loading-footnote{display:block}.loading-footnote span{display:block;margin-top:2px}}
@media(prefers-reduced-motion:reduce){.loading-radar::before,.loading-radar::after,.loading-progress span{animation:none}.loading-radar::before{opacity:.5}.loading-progress span{transform:none}}

.save-result-link{display:inline-block;margin-top:5px;padding:9px 18px;border:1px solid #b7754f;border-radius:4px;background:#fff8f2;color:#87401f;font-size:14px;font-weight:bold;text-decoration:none}
.save-result-link:hover,.save-result-link:focus-visible{background:#f7e8db;outline-offset:3px}
.save-result-link[hidden]{display:none}
.result-section .mail-section{padding:24px 0 0}
.result-section .mail-panel{max-width:none;border-color:#dec2ab;background:#fffdf9}
.result-section .mail-panel .eyebrow{margin-bottom:8px}
@media(max-width:700px){.result-section .mail-section{padding-top:18px}.result-section .mail-panel{padding:22px}}
.mail-options small{display:block}
#mail-title{scroll-margin-top:28px}

/* Four equal segments show observed states, never a safety percentage. */
.result-overview{margin:0 0 20px;padding:30px;border:1px solid #dbe3dd;border-top:4px solid #378166;border-radius:8px;background:#fff;box-shadow:0 12px 35px rgba(22,42,66,.04)}
.result-overview[data-state="issue"]{border-top-color:#ad593c}
.result-overview[data-state="unknown"]{border-top-color:#929da5}
.overview-head{display:flex;align-items:end;justify-content:space-between;gap:22px}
.overview-head .eyebrow{margin:0 0 3px}
.overview-head h3{margin:0;font-size:24px;line-height:1.5}
.overview-head>p{max-width:310px;margin:0;color:#485568;font-size:14px;line-height:1.6;text-align:right}
.overview-chart{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;height:11px;margin-top:25px;overflow:hidden;border-radius:99px}
.overview-chart span{display:block;background:#b9c2c8;transform-origin:left;animation:overview-reveal .55s ease-out both}
.overview-chart span:nth-child(2){animation-delay:.08s}.overview-chart span:nth-child(3){animation-delay:.16s}.overview-chart span:nth-child(4){animation-delay:.24s}
.overview-chart span[data-state="ok"]{background:#3b9873}.overview-chart span[data-state="attention"]{background:#bf6647}
.overview-counts{margin:7px 0 16px;color:#53606b;font-size:12px;font-weight:bold;text-align:right}
.overview-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 16px}
.overview-group{display:flex;justify-content:space-between;gap:8px;padding:9px 12px;border:1px solid #dbe5de;border-radius:5px;background:#f4faf6;font-size:12px}
.overview-group[data-state="attention"]{border-color:#ebd4c7;background:#fff7f2}.overview-group span{color:#58636b}
.overview-highlights-title{font-size:15px;margin:0 0 9px}
.overview-checks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;list-style:none;margin:0;padding:0}
.overview-checks[data-compact="true"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.overview-checks li{display:flex;align-items:flex-start;gap:10px;min-width:0;min-height:113px;padding:16px 13px;border:1px solid #dfe4e7;border-radius:7px;background:#f5f7f8;animation:overview-rise .45s ease-out both}
.overview-checks li:nth-child(2){animation-delay:.07s}.overview-checks li:nth-child(3){animation-delay:.14s}.overview-checks li:nth-child(4){animation-delay:.21s}
.overview-checks li[data-state="ok"]{border-color:#d1e6d8;background:#f3faf5}.overview-checks li[data-state="attention"]{border-color:#e9cabb;background:#fff5ef}
.overview-mark{display:grid;place-items:center;flex:none;width:29px;height:29px;border-radius:50%;background:#dfe5e8;color:#46525e;font-size:18px;font-weight:bold;line-height:1}
.overview-checks li[data-state="ok"] .overview-mark{background:#d7eddf;color:#246e4e}.overview-checks li[data-state="attention"] .overview-mark{background:#f6d9cc;color:#a04429}
.overview-checks li>div{min-width:0}.overview-checks strong,.overview-state,.overview-value{display:block}
.overview-checks strong{font-size:14px;line-height:1.4}.overview-state{margin-top:3px;color:#52606c;font-size:12px;font-weight:bold}
.overview-checks li[data-state="ok"] .overview-state{color:#26714f}.overview-checks li[data-state="attention"] .overview-state{color:#a04429}
.overview-value{margin-top:4px;color:#52606c;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.overview-action{display:block;margin-top:6px;color:#874628;font-size:11px;line-height:1.5}
.overview-more{display:inline-block;margin-top:9px;color:#8e4a29;font-size:13px;font-weight:bold;text-underline-offset:3px}
.overview-more[hidden]{display:none}
.overview-limit{margin:18px 0 0;padding:12px 15px;border-left:3px solid #aab3ba;background:#f5f7f8;color:#4d5965;font-size:13px;line-height:1.7}
.check-detail{margin:0 0 20px;padding:26px 30px;border:1px solid var(--line);border-radius:8px;background:#fff}.check-detail h3{font-size:22px;margin:0 0 4px}.check-detail>p{margin:0 0 18px;color:#56616b;font-size:13px}.check-detail h4{margin:20px 0 9px;font-size:16px}.detail-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none;margin:0;padding:0}.detail-checks li{display:flex;gap:10px;padding:12px;border:1px solid #e2e6e7;border-radius:6px;background:#f7f8f9}.detail-checks li[data-state="ok"]{background:#f3faf5;border-color:#d1e6d8}.detail-checks li[data-state="attention"]{background:#fff5ef;border-color:#e9cabb}.detail-checks li>div{min-width:0}.detail-checks li[data-state="ok"] .overview-mark{background:#d7eddf;color:#246e4e}.detail-checks li[data-state="attention"] .overview-mark{background:#f6d9cc;color:#a04429}.detail-checks li[data-state="ok"] .overview-state{color:#26714f}.detail-checks li[data-state="attention"] .overview-state{color:#a04429}
.result-section .mail-section{padding:0 0 20px}
@keyframes overview-reveal{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes overview-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.result-overview{padding:21px 17px}.overview-head{display:block}.overview-head h3{font-size:21px}.overview-head>p{max-width:none;margin-top:8px;text-align:left}.overview-chart{margin-top:19px}.overview-counts{text-align:left}.overview-groups{grid-template-columns:1fr}.overview-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.overview-checks li{min-height:118px;padding:12px 9px;gap:7px}.overview-mark{width:26px;height:26px;font-size:16px}.overview-checks strong{font-size:13px}.overview-value{font-size:11px}.overview-limit{font-size:12px}.check-detail{padding:20px 17px}.detail-checks{grid-template-columns:1fr}}
@media(max-width:360px){.overview-checks{grid-template-columns:1fr}.overview-checks li{min-height:0;padding:10px 12px}.overview-checks strong{font-size:14px}.overview-value{font-size:12px}}
@media(prefers-reduced-motion:reduce){.overview-chart span,.overview-checks li{animation:none}}

.consult-invite{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:26px;margin:0 0 20px;padding:25px 30px;border-radius:8px;background:var(--navy);color:#fff;box-shadow:0 12px 35px rgba(22,42,66,.12)}
.consult-invite .eyebrow{margin:0 0 4px;color:#e4b58d}
.consult-invite h3{margin:0 0 6px;font-size:23px;line-height:1.45}
.consult-invite-copy>p:last-child{max-width:650px;margin:0;color:#edf2f6;font-size:14px;line-height:1.7}
.consult-invite-action{text-align:center}
.consult-invite-action .primary-link{display:block;white-space:nowrap;padding:13px 20px}
.consult-invite-action p{margin:7px 0 0;color:#dce5ed;font-size:11px;line-height:1.5}
@media(max-width:700px){.consult-invite{grid-template-columns:1fr;gap:16px;padding:23px 20px}.consult-invite h3{font-size:21px}.consult-invite-action{text-align:left}.consult-invite-action .primary-link{white-space:normal;text-align:center}.consult-invite-action p{text-align:center}}

/* Ordinary review items use amber; only high-priority findings use the stronger red. */
.php-status{margin:0 0 20px;padding:29px 30px;border:1px solid #d8e2de;border-top:4px solid #397b6b;border-radius:8px;background:#fff;box-shadow:0 12px 35px rgba(22,42,66,.04)}
.php-status[data-state="attention"]{border-top-color:#b47b32}
.php-status-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.php-status-heading .eyebrow{margin:0 0 4px}.php-status h3{margin:0;font-family:Georgia,"Yu Mincho",serif;font-size:clamp(22px,2.7vw,29px);line-height:1.4}
.php-status-badge{flex:none;padding:5px 12px;border-radius:30px;background:#edf2ee;color:#365f50;font-size:12px;font-weight:bold}
.php-status[data-state="attention"] .php-status-badge{background:#fff2d7;color:#805819}
.php-status-intro{margin:12px 0 20px;color:#4f5d66;font-size:14px}
.php-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.php-status-grid>div{min-width:0;padding:17px;border:1px solid #e1e7e4;border-radius:7px;background:#f8faf8}
.php-status-grid span,.php-status-grid strong,.php-status-grid small{display:block}
.php-status-grid span{color:#566771;font-size:12px;font-weight:bold}.php-status-grid strong{margin:6px 0;font-size:18px;line-height:1.45;overflow-wrap:anywhere}.php-status-grid small{color:#5d6870;font-size:12px;line-height:1.6}
.php-status-action{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;padding:17px 20px;border-radius:7px;background:#f2f6f4}
.php-status-action strong{font-size:15px}.php-status-action p{margin:4px 0 0;color:#495b58;font-size:13px;line-height:1.7}
.php-status-action a{flex:none;color:#226653;font-size:13px;font-weight:bold;text-decoration:underline;text-underline-offset:3px}
.php-status-source{margin:14px 0 0;color:#62707a;font-size:12px;line-height:1.7}.php-status-source a{color:#226653}
@media(max-width:700px){.php-status{padding:21px 17px}.php-status-heading{display:block}.php-status-badge{display:inline-block;margin-top:10px}.php-status-grid{grid-template-columns:1fr}.php-status-grid>div{padding:13px 15px}.php-status-action{display:block;padding:16px}.php-status-action a{display:inline-block;margin-top:12px}}
.result-overview[data-state="review"]{border-top-color:#b47b32}
.result-overview[data-state="urgent"]{border-top-color:#ad593c}
.overview-groups{grid-template-columns:repeat(4,minmax(0,1fr))}
.overview-chart span[data-state="attention"]{background:#c29441}
.overview-chart span[data-priority="high"]{background:#bf6647}
.overview-group[data-state="attention"]{border-color:#e7d7b2;background:#fffaf0}
.overview-checks li[data-state="attention"],.detail-checks li[data-state="attention"]{border-color:#e7d7b2;background:#fffaf0}
.overview-checks li[data-state="attention"] .overview-mark,.detail-checks li[data-state="attention"] .overview-mark{background:#f7e9c5;color:#805819}
.overview-checks li[data-state="attention"] .overview-state,.detail-checks li[data-state="attention"] .overview-state{color:#805819}
.overview-checks li[data-priority="high"],.detail-checks li[data-priority="high"]{border-color:#e9cabb;background:#fff5ef}
.overview-checks li[data-priority="high"] .overview-mark,.detail-checks li[data-priority="high"] .overview-mark{background:#f6d9cc;color:#a04429}
.overview-checks li[data-priority="high"] .overview-state,.detail-checks li[data-priority="high"] .overview-state{color:#a04429}
@media(min-width:701px) and (max-width:900px){.overview-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.overview-groups{grid-template-columns:1fr}}

/* A small completion moment celebrates the check without presenting a security score. */
.achievement{display:grid;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;gap:20px;margin:0 0 20px;padding:24px 28px 18px;border:1px solid #c8dfd1;border-radius:10px;background:linear-gradient(120deg,#f3faf4 0%,#fffdf8 62%,#f9f5eb 100%);box-shadow:0 16px 38px rgba(22,42,66,.06);animation:achievement-rise .45s ease-out both}
.achievement[hidden],.achievement-actions[hidden]{display:none}
.achievement[data-state="review"],.achievement[data-state="partial"]{border-color:#e7d8b9;background:linear-gradient(120deg,#fff9ea 0%,#fffdf8 65%,#f8f4e9 100%)}
.achievement[data-state="priority"]{border-color:#edc8b9;background:#fff7f2}
.achievement-medal{position:relative;display:grid;place-items:center;width:92px;height:92px;border:3px double #80b99a;border-radius:50%;background:#e4f2e9;box-shadow:0 0 0 7px rgba(109,174,134,.12);color:#246e50;font:700 17px Georgia,serif;letter-spacing:.06em;animation:medal-pop .65s cubic-bezier(.18,.8,.25,1.2) both}
.achievement-medal::before,.achievement-medal::after{content:"✦";position:absolute;color:#6aaa82;font-size:16px;animation:medal-spark 1.4s ease-in-out both}
.achievement-medal::before{top:-18px;left:-12px}.achievement-medal::after{right:-17px;bottom:-10px;animation-delay:.18s}
.achievement[data-state="review"] .achievement-medal,.achievement[data-state="partial"] .achievement-medal{border-color:#d2aa5e;background:#f7edd3;box-shadow:0 0 0 7px rgba(205,166,94,.14);color:#805a1e}
.achievement[data-state="review"] .achievement-medal::before,.achievement[data-state="review"] .achievement-medal::after,.achievement[data-state="partial"] .achievement-medal::before,.achievement[data-state="partial"] .achievement-medal::after{color:#c99e4e}
.achievement[data-state="priority"] .achievement-medal{border-color:#d79e8f;background:#f9e7e1;box-shadow:none;color:#9a4630}
.achievement[data-state="priority"] .achievement-medal::before,.achievement[data-state="priority"] .achievement-medal::after{display:none}
.achievement-kicker{margin:0;color:#287259;font-size:12px;font-weight:bold;letter-spacing:.1em}
.achievement[data-state="review"] .achievement-kicker,.achievement[data-state="partial"] .achievement-kicker{color:#8a6422}
.achievement[data-state="priority"] .achievement-kicker{color:#a04429}
.achievement-copy h3{margin:3px 0 5px;font-family:Georgia,"Yu Mincho",serif;font-size:clamp(21px,2.5vw,29px);line-height:1.4}
.achievement-copy>p:not(.achievement-kicker){margin:0;color:#465667;font-size:14px;line-height:1.6}
.achievement-copy .achievement-counts{margin-top:8px!important;color:#315c4b!important;font-size:12px!important;font-weight:bold;font-variant-numeric:tabular-nums}
.achievement[data-state="review"] .achievement-counts,.achievement[data-state="partial"] .achievement-counts{color:#79591f!important}
.achievement-actions{display:grid;gap:8px;min-width:205px}
.achievement-actions button{padding:10px 14px;border-radius:5px;font-weight:bold;font-size:13px;cursor:pointer}
.achievement-share{border:1px solid #257456;background:#287259;color:#fff}
.achievement-share:hover{background:#1d5b47}
.achievement-save{border:1px solid #a2bcae;background:#fff;color:#245c45}
.achievement-save:hover{background:#f0f7f2}
.achievement-actions button:focus-visible{outline:3px solid #8cc3a1;outline-offset:2px}
.share-feedback{min-height:1.5em;margin:0;color:#315c4b;font-size:11px;text-align:center}
.achievement-disclaimer{grid-column:1/-1;margin:0;padding-top:11px;border-top:1px solid rgba(92,126,105,.17);color:#596675;font-size:11px;line-height:1.6}
@keyframes achievement-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes medal-pop{from{opacity:0;transform:scale(.7) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes medal-spark{0%{opacity:0;transform:scale(.5)}55%{opacity:1;transform:scale(1.25)}100%{opacity:.8;transform:scale(1)}}
@media(max-width:900px){.achievement{grid-template-columns:82px minmax(0,1fr)}.achievement-medal{width:76px;height:76px;font-size:14px}.achievement-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;min-width:0}.achievement-actions button{flex:1}.share-feedback{flex-basis:100%}}
@media(max-width:700px){.achievement{grid-template-columns:65px minmax(0,1fr);gap:12px;padding:20px 17px 15px}.achievement-medal{width:60px;height:60px;font-size:11px;box-shadow:0 0 0 4px rgba(109,174,134,.12)}.achievement-copy h3{font-size:20px}.achievement-copy>p:not(.achievement-kicker){font-size:12px}.achievement-actions{display:grid;gap:8px}.achievement-actions button{width:100%}.achievement-disclaimer{font-size:10px}}
@media(prefers-reduced-motion:reduce){.achievement,.achievement-medal,.achievement-medal::before,.achievement-medal::after{animation:none}}

/* Share the public check itself without exposing a visitor's scanned URL. */
.share-banner{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:center;gap:24px;margin:22px 0 0;padding:20px;border:1px solid #c6d8d0;border-radius:10px;background:linear-gradient(115deg,#eaf4ee,#fffdf9 72%);box-shadow:0 10px 30px rgba(22,42,66,.05);text-align:left}
.share-banner-image{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;border:1px solid #d7e1dd;border-radius:6px;background:#f7f3ec}
.share-banner-kicker{margin:0 0 3px;color:#287259;font-size:12px;font-weight:bold;letter-spacing:.07em}
.share-banner h2{margin:0 0 5px;font-family:Georgia,"Yu Mincho",serif;font-size:24px;line-height:1.4}
.share-banner-copy>p:not(.share-banner-kicker,.share-banner-feedback){margin:0;color:#485568;font-size:13px;line-height:1.6}
.share-banner-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
.share-banner-actions a,.share-banner-actions button{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 14px;border:1px solid #287259;border-radius:5px;background:#fff;color:#245c45;text-decoration:none;font-weight:bold;font-size:13px;line-height:1.5;cursor:pointer}
.share-banner-actions a:hover,.share-banner-actions button:hover{background:#f0f7f2}
.share-banner-actions .share-banner-download{background:#287259;color:#fff}
.share-banner-actions .share-banner-download:hover{background:#1d5b47}
.share-banner-actions a:focus-visible,.share-banner-actions button:focus-visible{outline:3px solid #8cc3a1;outline-offset:2px}
.share-banner-feedback{min-height:1.5em;margin:4px 0 0;color:#315c4b;font-size:12px}
@media(max-width:700px){.share-banner{grid-template-columns:1fr;gap:14px;padding:16px;margin-top:17px}.share-banner h2{font-size:22px}.share-banner-actions{display:grid;grid-template-columns:1fr}.share-banner-actions a,.share-banner-actions button{width:100%}}
