:root{color-scheme:light dark;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--paper:#f3f0e7;--sheet:#fcfaf4;--ink:#1a2925;--muted:#51665f;--rule:#c8d1c7;--signal:#c9ff69;--forest:#163b30;--warning:#a34923;--warning-bg:#f5e2cf;--danger:#a92e2c;--danger-bg:#f8e5df;--focus:#8553d4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:var(--paper);line-height:1.5;}
body::before{content:"";position:fixed;inset:0;pointer-events: none;opacity:.16;background-image:radial-gradient(#4a594f .5px,transparent .5px);background-size:5px 5px;z-index:-1;}
button,input{font:inherit;}
button{min-height:48px;cursor:pointer;}
summary{cursor:pointer;}
button:disabled{cursor:wait;opacity:.6;}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;}
[hidden]{display:none !important;}
.visually-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important;}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:20;padding:.75rem 1rem;color:var(--signal);background:var(--ink);}
.skip-link:focus{top:1rem;}
.site-header{width:min(1320px,calc(100% - 4rem));min-height:94px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--rule);}
.brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--ink);text-decoration:none;}
.brand-name{display:grid;font-size:1.4rem;line-height:1;font-weight:850;letter-spacing:-.06em;}
.brand-name small{margin-top:.4rem;font:700 .72rem/1.2 var(--mono);letter-spacing:.16em;}
.brand-mark,.dialog-mark{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;background:var(--ink);color:var(--signal);}
.ghost-glyph{position:relative;display:block;width:21px;height:23px;border-radius:11px 11px 3px 3px;background:currentColor;clip-path:polygon(0 0,100% 0,100% 100%,76% 81%,50% 100%,24% 81%,0 100%);}
.ghost-glyph::after{content:"••";position:absolute;top:1px;left:5px;color:var(--ink);font:900 10px/1 monospace;letter-spacing:2px;}
.header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem;}
.text-button{border:0;padding:.55rem .25rem;color:var(--forest);background:transparent;font-weight:750;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.25rem;}
.text-button:hover{text-decoration-color:currentColor;}
.language{display:flex;border:1px solid var(--ink);}
.language-button{min-width:48px;border:0;border-right:1px solid var(--ink);padding:.35rem .65rem;background:transparent;color:var(--ink);font:800 .82rem var(--mono);}
.language-button:last-child{border-right:0;}
.language-button[aria-pressed="true"]{color:var(--signal);background:var(--ink);}
main{width:min(1240px,calc(100% - 4rem));margin:auto;}
.hero{min-height:680px;padding:clamp(3.5rem,7vw,7rem) 0 5rem;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:center;gap:clamp(2rem,5vw,6rem);}
.eyebrow{display:flex;align-items:center;gap:.75rem;color:var(--forest);font:800 .75rem/1.4 var(--mono);letter-spacing:.15em;text-transform:uppercase;}
.eyebrow-rule{display:inline-block;width:30px;height:2px;flex:0 0 30px;background:currentColor;}
h1,h2{text-wrap:balance;}
h1{max-width:890px;margin:1.25rem 0 1.6rem;font:500 clamp(4.1rem,7vw,7.5rem)/.92 Georgia,"Times New Roman",serif;letter-spacing:-.07em;}
h1::after{content:"";display:inline-block;width:.14em;height:.14em;margin-left:.02em;border-radius:50%;background:#90ca38;}
.lead{max-width:570px;margin:0;color:var(--muted);font-size:clamp(1.05rem,1.6vw,1.25rem);}
#scan-form{margin-top:2.65rem;max-width:710px;}
#scan-form label{display:block;margin-bottom:.6rem;font:800 .76rem var(--mono);letter-spacing:.11em;text-transform:uppercase;}
.input-row{display:flex;padding:.35rem;background:var(--sheet);border:1px solid var(--ink);box-shadow:7px 7px 0 var(--ink);}
input{min-width:0;min-height:58px;flex:1;padding:.7rem 1rem;border:0;border-radius:0;color:var(--ink);background:transparent;}
input::placeholder{color:var(--muted);}
.primary-button,.secondary-button{padding:.7rem 1.15rem;border:1px solid var(--ink);border-radius:0;font-weight:850;}
.primary-button{background:var(--signal);color:#102418;}
.primary-button:hover{background:#b5ef54;}
.secondary-button{background:var(--sheet);color:var(--forest);box-shadow:4px 4px 0 var(--ink);}
.secondary-button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink);}
.full{width:100%;}
.privacy-note,.muted{color:var(--muted);font-size:.91rem;}
.privacy-note{display:flex;gap:.5rem;margin-top:1.4rem;}
.note-mark{color:var(--forest);font-size:1.1rem;}
.form-error{margin:.85rem 0 0;color:var(--danger);font-weight:750;}
.route-card{align-self:stretch;min-height:470px;padding:1.5rem;display:flex;flex-direction:column;background:var(--forest);color:#f4f5e9;}
.route-top{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #789488;padding-bottom:.9rem;color:var(--signal);font:800 .74rem var(--mono);letter-spacing:.13em;}
.route-visual{min-height:150px;display:flex;align-items:center;padding:1rem .8rem;color:var(--signal);}
.route-link,.route-proof{font:400 2.7rem Georgia,serif;}
.route-proof{font-size:1.6rem;}
.route-track{position:relative;flex:1;height:2px;margin:0 1.2rem;background:repeating-linear-gradient(90deg,var(--signal) 0 7px,transparent 7px 14px);}
.route-ghost{position:absolute;left:47%;top:50%;display:grid;place-items:center;width:46px;height:46px;transform:translate(-50%,-50%);background:var(--signal);color:var(--forest);}
.route-steps{padding:0;margin:auto 0 0;list-style:none;}
.route-steps li{display:flex;gap:1.2rem;align-items:baseline;padding:.75rem 0;border-top:1px solid #789488;}
.route-steps span{color:var(--signal);font:800 .75rem var(--mono);}
.route-steps strong{font:500 clamp(1.1rem,1.65vw,1.45rem) Georgia,serif;}
.route-footnote{margin:1.5rem 0 0;color:#d1ddd1;font-size:.86rem;}
#result{max-width:980px;margin:2.5rem auto 6rem;}
.result-topline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.15rem;border-bottom:1px solid var(--rule);}
.verdict-card{display:grid;grid-template-columns:54px minmax(0,1fr);overflow-wrap:anywhere;column-gap:1.4rem;row-gap:.65rem;margin-top:1.5rem;padding:clamp(1.6rem,4vw,3rem);color:#f4f5e9;background:var(--forest);border-left:8px solid var(--signal);}
.verdict-card[data-state="caution"]{color:var(--ink);background:var(--warning-bg);border-left-color:var(--warning);}
.verdict-card[data-state="do_not_continue"]{color:var(--ink);background:var(--danger-bg);border-left-color:var(--danger);}
.verdict-overline{grid-column:1 / -1;margin:0 0 .4rem;font:800 .75rem var(--mono);letter-spacing:.15em;overflow-wrap:anywhere;}
.verdict-icon{width:52px;height:52px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font:700 2rem Georgia,serif;}
.verdict-card h2{margin:0;font:500 clamp(2rem,4vw,3.4rem)/1.05 Georgia,serif;letter-spacing:-.035em;}
.verdict-summary{max-width:620px;margin:1rem 0 .25rem;font-size:1.05rem;}
.no-guarantee{margin:.45rem 0 0;font-weight:800;}
.result-section{margin-top:2.5rem;padding:1.25rem 0 0;border-top:1px solid var(--rule);}
.result-section h2,.deep-check-card h2{margin:0 0 1rem;font:500 clamp(1.7rem,3vw,2.25rem) Georgia,serif;letter-spacing:-.035em;}
.section-number{margin-right:.9rem;color:var(--muted);font:750 .75rem var(--mono);letter-spacing:.08em;white-space:nowrap;}
.evidence-list,.privacy-list{padding:0;list-style:none;}
.evidence-list li,.privacy-list li{position:relative;padding:.5rem 0 .5rem 1.4rem;}
.evidence-list li::before,.privacy-list li::before{content:"✳";position:absolute;left:0;color:var(--forest);}
.observation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem;padding:0;list-style:none;}
.observation-grid li{display:flex;gap:1rem;padding:1rem 0;border-top:1px solid var(--rule);overflow-wrap:anywhere;}
.observation-grid li::before{content:"↗";flex:0 0 auto;font-weight:800;color:var(--forest);}
.change-note{margin-top:1rem;padding:.85rem 1rem;border-left:4px solid var(--warning);background:var(--warning-bg);}
.change-note p{margin:.25rem 0 0;}
.capture-grid{display:grid;gap:1rem;}
.capture-grid:not(.paired) .before-frame{display:none;}
.capture-frame{margin:.9rem 0 0;padding:.65rem;background:#122820;color:#d9ffae;}
.capture-frame figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.35rem .3rem .9rem;font:800 .75rem var(--mono);letter-spacing:.06em;}
.capture-when{color:white;letter-spacing:0;}
.capture-image-wrap{min-height:210px;display:grid;place-items:center;overflow:hidden;background:#e5e8df;color:#274536;pointer-events: none;}
.capture-image-wrap img{display:block;width:100%;max-height:650px;object-fit:cover;object-position:top;pointer-events: none;user-select:none;}
.details-card summary{min-height:48px;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;font:500 clamp(1.5rem,2.8vw,2rem) Georgia,serif;}
.details-card summary::-webkit-details-marker{display:none;}
.details-card summary::marker{content:"";}
.count{margin-left:.35rem;color:var(--muted);font:700 .8rem var(--mono);}
.summary-caret{margin-left:auto;font:700 1.3rem var(--mono);transition:transform .2s;}
details[open] > summary .summary-caret{transform:rotate(135deg);}
.timeline{list-style:none;margin:1.4rem 0 0;padding:0;counter-reset:replay;}
.timeline li{position:relative;margin-left:1.05rem;padding:0 0 1.2rem 2rem;border-left:1px solid var(--rule);}
.timeline li::before{counter-increment:replay;content:counter(replay,decimal-leading-zero);position:absolute;left:-17px;top:0;width:33px;height:33px;display:grid;place-items:center;background:var(--forest);color:var(--signal);font:800 .75rem var(--mono);}
.timeline time{color:var(--muted);font:750 .75rem var(--mono);}
.timeline p{margin:.25rem 0;}
.timeline details{margin-top:.25rem;}
.timeline summary{min-height:48px;color:var(--forest);font:750 .9rem ui-sans-serif,system-ui,sans-serif;}
pre{max-width:100%;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;}
.technical-list{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.7rem 1.5rem;overflow-wrap:anywhere;}
.technical-list dt{color:var(--muted);font-weight:750;}
.technical-list dd{margin:0;}
.deep-check-card{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:2.6rem;padding:clamp(1.2rem,3vw,2rem);background:#e3edda;border:1px solid var(--forest);}
.deep-check-card h2,.deep-check-card p{margin:.2rem 0;}
.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;}
.profile{min-width:0;padding:1rem;background:var(--sheet);border-top:3px solid var(--forest);}
.profile strong,.profile span{display:block;}
.profile span{color:var(--muted);overflow-wrap:anywhere;font-size:.88rem;}
.progress-panel{display:flex;align-items:center;gap:1.2rem;max-width:760px;margin:0 auto 4rem;padding:2rem;background:var(--forest);color:white;}
.progress-panel h2,.progress-panel p{margin:.1rem 0;}
.spinner{width:42px;height:42px;flex:0 0 42px;border:3px solid #688478;border-top-color:var(--signal);border-radius:50%;animation:spin .85s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}
}
footer{width:min(1320px,calc(100% - 4rem));margin:auto;padding:1.6rem 0 3rem;border-top:1px solid var(--rule);color:var(--muted);font:650 .78rem var(--mono);}
dialog{width:min(620px,calc(100% - 2rem));max-height:calc(100vh - 2rem);padding:0;border:1px solid var(--ink);color:var(--ink);background:var(--sheet);box-shadow:12px 12px 0 var(--ink);}
dialog::backdrop{background:rgba(9,29,21,.78);}
.dialog-card{padding:clamp(1.3rem,5vw,2.3rem);}
.dialog-card h2{font:500 clamp(1.8rem,4vw,2.6rem)/1.1 Georgia,serif;}
.dialog-mark.warning{background:var(--warning);color:white;font:800 1.4rem var(--mono);}
.dialog-actions{display:flex;justify-content:flex-end;gap:.8rem;margin-top:1rem;}
@media (min-width:680px){.capture-grid.paired{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px){.hero{grid-template-columns:1fr;min-height:0;gap:2.5rem;padding:4rem 0;}
.route-card{min-height:0;}
}
@media (max-width:620px){.site-header,main,footer{width:min(100% - 2rem,1240px);}
.site-header{min-height:80px;flex-wrap:wrap;padding:1rem 0;}
.brand-name{font-size:1.2rem;}
.header-actions{width:100%;flex:1 0 100%;justify-content:space-between;gap:.4rem;}
#privacy-open{max-width:170px;text-align:left;font-size:.82rem;}
.hero{padding:3.1rem 0 3.5rem;}
h1{font-size:clamp(3.5rem,15vw,5.2rem);}
.input-row{display:grid;}
.primary-button{width:100%;}
.route-card{padding:1.15rem;}
.result-topline{align-items:flex-start;}
.verdict-card{grid-template-columns:42px minmax(0,1fr);gap:.8rem;padding:1.2rem;}
.verdict-icon{width:40px;height:40px;font-size:1.45rem;}
.observation-grid,.profile-grid{grid-template-columns:1fr;}
.deep-check-card{align-items:stretch;flex-direction:column;}
.technical-list{grid-template-columns:1fr;}
.technical-list dd{margin-bottom:.5rem;}
}
@media (prefers-color-scheme:dark){:root{--paper:#101d19;--sheet:#1b2923;--ink:#f0f0e7;--muted:#b0c5b9;--rule:#52675b;--signal:#c9ff69;--forest:#b6e5c6;--warning:#f6b079;--warning-bg:#422b21;--danger:#ffaaa1;--danger-bg:#462a28;--focus:#c5a6ff;}
body::before{opacity:.08;}
.brand-mark,.dialog-mark,.language-button[aria-pressed="true"]{background:#d3f7db;color:#10251a;}
.ghost-glyph::after{color:#d3f7db;}
.route-card,.verdict-card[data-state="no_obvious_danger"],.progress-panel{background:#17392b;color:#f0f0e7;}
.route-ghost{background:var(--signal);color:#17392b;}
.input-row{border-color:var(--rule);box-shadow:7px 7px 0 #070d09;}
.primary-button{color:#102418;border-color:#d1efbe;}
.secondary-button{border-color:var(--rule);box-shadow:4px 4px 0 #070d09;}
.capture-image-wrap{background:#26362d;color:#e0f4e7;}
.deep-check-card{background:#243d2e;border-color:var(--rule);}
.timeline li::before{background:#285d41;color:#e3ffb0;}
dialog{border-color:var(--rule);box-shadow:12px 12px 0 #050d07;}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto !important;animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
}
