:root{--slate:#36424A;--sage:#A9BE99;--sage2:#4F6347;--sun:#E3A04A;--water:#8DB6C6;--cream:#F7F3EA;--dark:#1E252A;--word:#5C7552;--red:#A4442F}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--slate);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;max-width:960px;margin:auto}header img{height:44px}
header nav a{color:#4F6347;text-decoration:none;font-size:14px;margin-left:14px}
main{max-width:960px;margin:auto;padding:0 20px 40px}
h1{font-size:28px;line-height:1.2;margin:18px 0 8px}h2{font-size:18px;margin:24px 0 8px}
.lede{font-size:18px;color:#56636b;margin:0 0 20px}
form.search{display:flex;gap:8px;flex-wrap:wrap}form.search input{flex:1;min-width:220px;padding:14px 16px;font-size:17px;border:2px solid #d9d3c4;border-radius:12px;background:#fff}
form.search input:focus{outline:none;border-color:var(--sage2)}
.btn{display:inline-block;background:var(--slate);color:#fff;border:0;border-radius:12px;padding:13px 20px;font-size:16px;font-weight:600;cursor:pointer;text-decoration:none}
.btn.sun{background:var(--sun);color:var(--dark)}.btn.ghost{background:transparent;color:var(--slate);border:2px solid #cfc8b6}
.hint{font-size:14px;color:#5F6A70;margin-top:8px}
.card{background:#fff;border-radius:16px;padding:18px 20px;margin:14px 0;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.cand{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.cand b{font-size:18px}
.meta{color:#5F6A70;font-size:14px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:14px 0}
.tile{background:#fff;border-radius:14px;padding:14px 16px;border-left:6px solid #ccc}.tile .k{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#5F6A70}
.tile .v{font-size:20px;font-weight:700;margin:2px 0}.tile .d{font-size:14px;color:#56636b}
.green{border-color:var(--sage2)}.amber{border-color:var(--sun)}.red{border-color:var(--red)}.blue{border-color:var(--water)}.gray{border-color:#bbb}
ul.inc{columns:2;padding-left:18px;margin:6px 0}@media(max-width:600px){ul.inc{columns:1}h1{font-size:23px}}
.bar{height:12px;background:#e8e2d3;border-radius:8px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--sage2),var(--sun));transition:width .8s}
iframe.report{width:100%;height:80vh;border:0;border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
footer{max-width:960px;margin:20px auto;padding:16px 20px;font-size:13px;color:#5F6A70;border-top:1px solid #e2dccd}footer a{color:#4F6347}
.err{border-left:6px solid var(--red)}
.hero{padding:22px 0 26px}.hero h1{font-size:32px;margin:6px 0 16px}
.hero form.search input{font-size:18px;padding:16px 18px;min-height:56px}.hero .btn{min-height:56px;font-size:17px}
@media(max-width:600px){header{padding:10px 16px}header img{height:36px}main{padding:0 16px 32px}
 .hero{padding:8px 0 18px}.hero h1{font-size:26px;margin:4px 0 12px}
 .hero form.search{flex-direction:column}.hero form.search input{min-width:0;width:100%}.hero .btn{width:100%}
 .tiles{grid-template-columns:1fr;gap:8px}.tile{padding:10px 14px}.tile .v{font-size:17px}}
.part{display:contents}
.tile.skel{border-color:#e6e0d1;background:linear-gradient(90deg,#fff 0%,#f3efe5 50%,#fff 100%);background-size:200% 100%;animation:sh 1.2s linear infinite;min-height:96px}
@keyframes sh{from{background-position:200% 0}to{background-position:-200% 0}}
.pulling{color:#5F6A70}.pulling:before{content:"";display:inline-block;width:12px;height:12px;margin-right:8px;border:2px solid #cfc8b6;border-top-color:var(--sage2);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-1px}
@keyframes spin{to{transform:rotate(360deg)}}
.btn[aria-busy=true]{opacity:.85;pointer-events:none}.btn[aria-busy=true]:before{content:"";display:inline-block;width:14px;height:14px;margin-right:8px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px}
.sample{display:inline-flex;align-items:center;gap:8px;margin-top:14px;color:var(--sage2);font-weight:600;text-decoration:none;font-size:15px}
.rnav{position:sticky;top:0;z-index:5;background:var(--cream);padding:8px 0;margin:0 0 8px;display:flex;gap:6px;overflow-x:auto;white-space:nowrap;border-bottom:1px solid #e2dccd}
.rnav a{font-size:13px;padding:6px 10px;border-radius:999px;background:#fff;color:var(--slate);text-decoration:none;border:1px solid #e2dccd}
.rnav .flag{font-weight:700}.rnav .r{color:#A4442F}.rnav .a{color:#8A5A0B}.rnav .g{color:var(--sage2)}
/* #38: status is never color alone. Each tile's label carries a word; failures are amber 'Couldn't check' with a dashed border. */
.tile .k:after{font-weight:700;letter-spacing:0}
.tile.red .k:after{content:" · Action";color:#A4442F}.tile.amber .k:after{content:" · Check";color:#8A5A0B}
.tile.green .k:after{content:" · OK";color:#4E6B45}.tile.gray .k:after{content:" · Info"}.tile.blue .k:after{content:" · Records"}
.tile.unk{border-left:6px dashed var(--sun)}.tile.unk .k:after{content:" · Couldn't check";color:#8A5A0B}
.tile.skel .k:after{content:none}
a[x-apple-data-detectors]{color:inherit!important;text-decoration:none!important;pointer-events:none}
