@import url("/theme.css");
:root{color-scheme:dark;--bg:#0d1823;--panel:#152635;--line:#30515b;--text:#eaf6f4;--muted:#b6cbce;--teal:#68ebc8;--blue:#88c5ff;--warning:#ffc184}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 76% 3%,#1b4145 0,transparent 35%),var(--bg);color:var(--text);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--teal)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.skip{position:absolute;top:-6rem;left:1rem;z-index:5;background:var(--teal);color:#0b2525;padding:.5rem}.skip:focus{top:1rem}.top,main,footer{max-width:1160px;margin:auto;padding-left:clamp(1rem,4vw,2.5rem);padding-right:clamp(1rem,4vw,2.5rem)}.top{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:80px;border-bottom:1px solid #ffffff18}.top>a:last-child{font-weight:700;text-decoration:none}.brand{font-size:1.35rem;font-weight:900;text-decoration:none;color:#fff;letter-spacing:-.055em;white-space:nowrap}.brand span{color:var(--teal)}.brand small{margin-left:.6rem;font-size:.66rem;font-weight:700;letter-spacing:.13em;color:var(--muted)}.hero{padding:clamp(3.5rem,8vw,6.5rem) 0 4.5rem;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:4rem}.eyebrow,.step{font-size:.74rem;font-weight:800;letter-spacing:.18em;color:var(--teal)}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(2.7rem,6vw,5.2rem);letter-spacing:-.06em;line-height:1.08;max-width:750px;margin:.9rem 0 1.2rem}h1 em{font-style:normal;color:var(--teal)}.hero-copy>p:not(.eyebrow){max-width:640px;font-size:1.17rem;color:var(--muted)}.hero-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.8rem}.hero-pills span{border:1px solid #6ae9c34d;border-radius:50px;padding:.33rem .75rem;font-size:.79rem;color:#d7f2ea}.hero-art{padding:1.6rem;border-radius:22px;border:1px solid #73f3cd59;background:linear-gradient(145deg,#1d464a,#152536);transform:rotate(2deg);box-shadow:0 30px 80px #030d13a6}.art-top,.art-row,.art-foot{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.art-top{font-size:.79rem;font-weight:800;letter-spacing:.16em;color:var(--teal);padding-bottom:1.7rem}.art-row{justify-content:flex-start;border:1px solid #91e8df38;border-radius:10px;padding:.9rem;margin-bottom:.8rem;font-size:.88rem}.art-row i{height:10px;width:10px;background:var(--teal);border-radius:50%;flex-shrink:0}.art-row strong{font-weight:600;flex:1}.art-row b{color:var(--teal)}.art-foot{padding-top:1.3rem;color:var(--muted);font-size:.67rem;letter-spacing:.15em}.workspace,.check-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:1.2rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:clamp(1.25rem,3vw,2rem)}.panel h2{font-size:clamp(1.5rem,2.5vw,2rem);letter-spacing:-.04em;line-height:1.22;margin:.6rem 0 1rem}.panel p,.hint{color:var(--muted)}.scan label{display:block;font-weight:750;margin:.9rem 0 .6rem}.input-line{display:flex;gap:.65rem}.input-line input{background:#0d202d;border:1px solid #68969a;color:white;border-radius:10px;padding:.9rem 1rem;font:inherit;min-width:0;flex:1}.input-line input::placeholder{color:#b0c2c8}.input-line button{border:0;border-radius:10px;background:var(--teal);color:#092322;padding:.85rem 1.1rem;font:inherit;font-weight:800;cursor:pointer}.input-line button:hover{background:#a0ffdb}.input-line button:disabled{opacity:.55;cursor:wait}.hint{font-size:.81rem;margin:.55rem 0}.sample{background:none;border:0;color:var(--teal);cursor:pointer;font:inherit;font-weight:650;padding:.55rem 0;text-decoration:underline;text-underline-offset:4px}#status{min-height:1.5rem;margin-top:.6rem;color:var(--teal)}#status.error{color:var(--warning)}.scope{background:#182735}.scope strong{color:#fff}.results{padding:4rem 0 1rem;scroll-margin-top:1rem}.results[hidden]{display:none}.results-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end}.results-head h2,.how h2{font-size:clamp(1.75rem,3.5vw,2.8rem);letter-spacing:-.04em;margin:.6rem 0}.results-head p{color:var(--muted);overflow-wrap:anywhere;margin:0}.results-head span{white-space:nowrap;color:var(--muted);font-size:.8rem}.score-grid{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:1rem;margin:1.4rem 0}.score-box,.fact-box,.findings,.limitations{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:1.4rem}.score-box{display:flex;flex-direction:column}.score-box>span{font-size:.75rem;letter-spacing:.1em;font-weight:800}.score-box.seo>span,.score-box.seo strong{color:var(--teal)}.score-box.geo>span,.score-box.geo strong{color:var(--blue)}.score-box strong{font-size:3.6rem;line-height:1.2}.score-box small{color:var(--muted)}.fact-box strong{display:block;margin-bottom:.7rem}dl,dd{margin:0}.fact-box dl>div{border-top:1px solid #ffffff1a;padding:.4rem 0}.fact-box dt{font-size:.78rem;color:var(--muted)}.fact-box dd{font-size:.85rem;overflow-wrap:anywhere}.findings{border-color:#d7af7970;background:#342b28;color:#ffdab6;margin:1rem 0 1.3rem}.check-grid{grid-template-columns:1fr 1fr;align-items:start}.check-grid h3{font-size:1.35rem}.check{padding:1rem 0;border-top:1px solid #ffffff24}.check-top{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}.check h4{margin:0;font-size:.96rem}.check-top span{white-space:nowrap;font-size:.76rem;color:var(--muted)}.check.passed h4{color:var(--teal)}.check.failed h4{color:var(--warning)}.check p{font-size:.83rem;overflow-wrap:anywhere;margin:.45rem 0 0}.check p.action{color:#ffe0b8}.limitations{margin-top:1.2rem}.limitations ul{padding-left:1.25rem}.limitations li{margin:.5rem 0}.limitations p{color:var(--muted);margin:0}.how{padding:5rem 0 4rem}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.5rem}.how-grid>div{border-top:1px solid var(--line);padding-top:1rem}.how-grid b{color:var(--teal)}.how-grid h3{margin:.5rem 0}.how-grid p{color:var(--muted)}footer{display:flex;flex-wrap:wrap;gap:1rem 2rem;border-top:1px solid #ffffff29;padding-top:1.5rem;padding-bottom:2.5rem;color:var(--muted);font-size:.85rem}footer span{margin-right:auto}@media(max-width:850px){.hero{grid-template-columns:1fr;gap:2rem}.hero-art{max-width:430px;transform:none}.workspace,.score-grid{grid-template-columns:1fr 1fr}.scan{grid-column:1/-1}.fact-box{grid-column:1/-1}}@media(max-width:590px){.top{min-height:66px}.brand small{display:none}.top>a:last-child{font-size:.81rem}.hero{padding:3.3rem 0}.hero-art{display:none}.workspace,.score-grid,.check-grid,.how-grid{grid-template-columns:1fr}.scan,.fact-box{grid-column:auto}.input-line{flex-direction:column}.input-line button{width:100%}.results-head{display:block}.results-head span{display:block;margin-top:.5rem}.score-box strong{font-size:3.1rem}}
.diagnostics{margin-top:1.2rem}.diagnostics .panel>p,.crawler-panel>p{font-size:.86rem;color:var(--muted)}.crawler-panel{margin-top:1.2rem}.crawler-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem}.signal-badge{border:1px solid var(--line);border-radius:20px;padding:.13rem .5rem;color:var(--muted);font-size:.66rem!important;font-weight:800;letter-spacing:.07em}.signal-badge.found,.signal-badge.allowed{color:var(--teal);border-color:#68ebc87a}.signal-badge.blocked{color:var(--warning);border-color:#ffc18480}.signal-badge.unknown,.signal-badge.missing{color:#e7bdad}.signal-badge.info,.signal-badge.not-blocked{color:var(--blue)}@media(max-width:590px){.crawler-grid{grid-template-columns:1fr}}

/* Retro CRT theme: dark + cyberpunk neon + CRT hover + 60s/70s cartoon (tokens from /theme.css, effects from /theme-fx.css) */
:root{--bg:hsl(var(--t-bg));--panel:hsl(var(--t-surface));--line:hsl(var(--t-border));--text:hsl(var(--t-fg));--muted:hsl(var(--t-muted));--teal:hsl(var(--t-info));--blue:hsl(var(--t-primary));--warning:hsl(var(--t-warn));--sh:hsl(var(--t-info))}
html,body{overflow-x:hidden}
body{background:radial-gradient(circle,hsl(var(--t-primary) / .11) 1.2px,transparent 1.7px) 0 0/14px 14px,radial-gradient(circle at 82% 0,hsl(var(--t-accent) / .16),transparent 42%),hsl(var(--t-bg));color:hsl(var(--t-fg))}
.top,main,footer{position:relative;z-index:1}
a{color:hsl(var(--t-primary));transition:color .2s ease,text-shadow .2s ease}
a:hover{color:hsl(var(--t-fg));text-shadow:2px 0 hsl(var(--t-accent) / .9),-2px 0 hsl(var(--t-info) / .9)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid hsl(var(--t-warn));outline-offset:3px}
.skip{background:hsl(var(--t-primary));color:hsl(var(--t-ink));font-family:var(--t-font-mono);font-weight:700;border-radius:999px}
.top{border-bottom:0;background:hsl(var(--t-bg) / .78)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--t-stripes);pointer-events:none}
.top>a:last-child{font-family:var(--t-font-mono);font-weight:700;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.brand{font-family:var(--t-font-display);font-weight:400;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--t-fg));text-shadow:3px 3px 0 hsl(var(--t-accent))}
.brand span{color:hsl(var(--t-warn))}.brand small{font-family:var(--t-font-mono);text-shadow:none;color:hsl(var(--t-muted))}
.brand:hover{text-shadow:2px 0 hsl(var(--t-accent) / .9),-2px 0 hsl(var(--t-info) / .9)}
.eyebrow,.step{display:inline-block;font-family:var(--t-font-mono);font-weight:700;text-transform:uppercase;letter-spacing:.12em;background:hsl(var(--t-warn));color:hsl(var(--t-ink));border:2px solid hsl(var(--t-outline));padding:.2rem .65rem;transform:rotate(-2deg);box-shadow:3px 3px 0 hsl(var(--t-accent))}
h1,.panel h2,.results-head h2,.how h2{font-family:var(--t-font-display);font-weight:400;text-transform:uppercase;letter-spacing:.01em;text-shadow:3px 3px 0 hsl(var(--t-accent))}
h1{line-height:1.12}h1 em{color:hsl(var(--t-warn))}
h1:hover,.panel h2:hover,.results-head h2:hover,.how h2:hover{text-shadow:2px 0 hsl(var(--t-accent) / .9),-2px 0 hsl(var(--t-info) / .9)}
.hero-copy>p:not(.eyebrow){color:hsl(var(--t-muted))}
.hero-pills span{font-family:var(--t-font-mono);font-weight:700;border-radius:999px;border:2px solid hsl(var(--t-outline));background:hsl(var(--t-surface));color:hsl(var(--t-fg));box-shadow:3px 3px 0 hsl(var(--t-primary))}
.hero-art,.panel,.score-box,.fact-box,.findings,.limitations{position:relative;border:var(--t-stroke) solid hsl(var(--t-border));border-radius:var(--t-radius);background:hsl(var(--t-surface));box-shadow:var(--t-offset) var(--t-offset) 0 hsl(var(--t-info));transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease}
.hero-art{border-color:hsl(var(--t-outline));background:radial-gradient(circle,hsl(var(--t-warn) / .14) 1.2px,transparent 1.7px) 0 0/10px 10px,hsl(var(--t-surface));box-shadow:var(--t-offset) var(--t-offset) 0 hsl(var(--t-warn))}
.art-top,.art-foot{font-family:var(--t-font-mono)}.art-top{color:hsl(var(--t-warn))}
.art-row{border:2px solid hsl(var(--t-border));border-radius:12px}.art-row i{background:hsl(var(--t-info));border-radius:50%}.art-row b{color:hsl(var(--t-info))}
.panel:nth-child(even){box-shadow:var(--t-offset) var(--t-offset) 0 hsl(var(--t-primary))}
.scope{background:radial-gradient(circle,hsl(var(--t-primary) / .12) 1.2px,transparent 1.7px) 0 0/12px 12px,hsl(var(--t-bg-alt));box-shadow:var(--t-offset) var(--t-offset) 0 hsl(var(--t-primary))}
.scope strong{color:hsl(var(--t-fg))}
.score-box.seo{box-shadow:var(--t-offset) var(--t-offset) 0 hsl(var(--t-info))}
.score-box.geo{box-shadow:var(--t-offset) var(--t-offset) 0 hsl(var(--t-accent))}
.fact-box{box-shadow:var(--t-offset) var(--t-offset) 0 hsl(var(--t-warn))}
.limitations,.crawler-panel{box-shadow:var(--t-offset) var(--t-offset) 0 hsl(var(--t-primary))}
.findings{border-color:hsl(var(--t-warn));background:hsl(var(--t-bg-alt));color:hsl(var(--t-warn));box-shadow:var(--t-offset) var(--t-offset) 0 hsl(var(--t-accent))}
.scan label,.fact-box strong,.score-box>span,.results-head span,.fact-box dt,.check-top span{font-family:var(--t-font-mono);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.fact-box dt{letter-spacing:.04em}
.score-box.seo>span,.score-box.seo strong{color:hsl(var(--t-info))}
.score-box.geo>span,.score-box.geo strong{color:hsl(var(--t-accent))}
.score-box strong{font-family:var(--t-font-display);font-weight:400}
.fact-box dl>div{border-top:2px dashed hsl(var(--t-border))}
.input-line input{background:hsl(var(--t-ink));border:var(--t-stroke) solid hsl(var(--t-outline));color:hsl(var(--t-fg));border-radius:999px;font-family:var(--t-font-mono);padding:.85rem 1.2rem;transition:box-shadow .2s ease,border-color .2s ease}
.input-line input::placeholder{color:hsl(var(--t-muted))}
.input-line input:focus{border-color:hsl(var(--t-primary));box-shadow:4px 4px 0 hsl(var(--t-accent))}
.input-line button{position:relative;font-family:var(--t-font-display);font-weight:400;text-transform:uppercase;letter-spacing:.08em;border:var(--t-stroke) solid hsl(var(--t-outline));border-radius:999px;background:hsl(var(--t-primary));color:hsl(var(--t-ink));box-shadow:5px 5px 0 hsl(var(--t-accent));transition:transform .12s ease,box-shadow .12s ease,background .2s ease}
.input-line button:hover{background:hsl(var(--t-warn));transform:translate(2px,2px);box-shadow:3px 3px 0 hsl(var(--t-accent)),inset 0 0 38px hsl(var(--t-primary) / .38);animation:crt-pop .3s}
.input-line button:active{transform:translate(5px,5px);box-shadow:0 0 0 hsl(var(--t-accent))}
.input-line button:disabled{opacity:.6;cursor:wait;transform:none;animation:none}
.sample{font-family:var(--t-font-mono);font-weight:700;font-size:.82rem;color:hsl(var(--t-primary))}
.sample:hover{color:hsl(var(--t-fg))}
#status{font-family:var(--t-font-mono);font-size:.88rem;color:hsl(var(--t-info))}#status.error{color:hsl(var(--t-danger))}
.check{border-top:2px dashed hsl(var(--t-border))}
.check h4,.check-grid h3{font-family:var(--t-font-display);font-weight:400;letter-spacing:.03em}
.check.passed h4{color:hsl(var(--t-info))}
.check.failed h4{color:hsl(var(--t-danger))}
.check p.action{color:hsl(var(--t-warn))}
.limitations li::marker{color:hsl(var(--t-accent))}
.signal-badge{font-family:var(--t-font-mono);font-weight:700;border-radius:999px;border:2px solid hsl(var(--t-border));background:hsl(var(--t-bg-alt));color:hsl(var(--t-muted))}
.signal-badge.found,.signal-badge.allowed{color:hsl(var(--t-info));border-color:hsl(var(--t-info))}
.signal-badge.blocked{color:hsl(var(--t-danger));border-color:hsl(var(--t-danger))}
.signal-badge.unknown,.signal-badge.missing{color:hsl(var(--t-warn));border-color:hsl(var(--t-warn))}
.signal-badge.info,.signal-badge.not-blocked{color:hsl(var(--t-primary));border-color:hsl(var(--t-primary))}
.how-grid>div{border-top:var(--t-stroke) solid hsl(var(--t-outline))}
.how-grid b{font-family:var(--t-font-mono);color:hsl(var(--t-warn))}.how-grid h3{font-family:var(--t-font-display);font-weight:400}
footer{border-top:0;font-family:var(--t-font-mono);font-size:.78rem;color:hsl(var(--t-muted));position:relative}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--t-stripes)}
footer{padding-top:2rem}
/* CRT monitor hover: scanlines + sweeping band + inset glow; overlay never captures pointer and stays faint over text */
.hero-art::after,.panel::after,.score-box::after,.fact-box::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .2s ease;background:repeating-linear-gradient(0deg,hsl(var(--t-shade) / .12) 0 1px,transparent 1px 3px),linear-gradient(180deg,transparent,hsl(var(--t-primary) / .16),transparent) 0 -100%/100% 35% no-repeat}
.hero-art:hover,.panel:hover,.score-box:hover,.fact-box:hover{transform:translate(-2px,-2px);box-shadow:calc(var(--t-offset) + 2px) calc(var(--t-offset) + 2px) 0 hsl(var(--sh,var(--t-info))),inset 0 0 38px hsl(var(--t-primary) / .38);animation:crt-pop .3s}
.hero-art:hover::after,.panel:hover::after,.score-box:hover::after,.fact-box:hover::after{opacity:1;animation:crt-sweep 1.6s linear infinite}
.hero-art{--sh:var(--t-warn)}.panel:nth-child(even),.scope,.limitations,.crawler-panel{--sh:var(--t-primary)}.score-box.geo{--sh:var(--t-accent)}.fact-box{--sh:var(--t-warn)}
.panel:hover,.score-box:hover,.fact-box:hover,.hero-art:hover{box-shadow:calc(var(--t-offset) + 2px) calc(var(--t-offset) + 2px) 0 hsl(var(--sh)),inset 0 0 38px hsl(var(--t-primary) / .38)}
.input-line button::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:repeating-linear-gradient(0deg,hsl(var(--t-shade) / .12) 0 1px,transparent 1px 3px),linear-gradient(180deg,transparent,hsl(var(--t-fg) / .35),transparent) 0 -100%/100% 40% no-repeat}
.input-line button:hover::after{opacity:1;animation:crt-sweep 1.2s linear infinite}
@media(max-width:700px){.top{flex-wrap:wrap}.brand{font-size:1.1rem}}
@media(max-width:590px){h1{font-size:clamp(2rem,10vw,2.7rem);overflow-wrap:anywhere}.hero-art{display:none}.input-line button{width:100%}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
