:root{
  --bg:#0b0b0a;--surface:#11110f;--surface-2:#171713;--ink:#f4f0e6;--muted:#9b988f;
  --line:#292821;--gold:#d9aa4a;--gold-soft:#f0d38a;--red:#e17865;--green:#91bd87;
  --max:1240px;--radius:18px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}
button{cursor:pointer}
.skip-link{position:fixed;left:12px;top:-80px;background:var(--ink);color:var(--bg);padding:10px 14px;z-index:100;text-decoration:none}.skip-link:focus{top:12px}
.topbar{height:76px;max-width:var(--max);margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand>span:last-child{display:flex;flex-direction:column;gap:2px}.brand b{font-size:14px;letter-spacing:.02em}.brand small{font-size:11px;color:var(--muted)}
.brand-mark{width:34px;height:34px;border:1px solid #55451f;border-radius:10px;display:grid;place-items:center;background:#15130e}.brand-mark span{width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 18px rgba(217,170,74,.65)}
.privacy-status{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.privacy-status span{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(145,189,135,.5)}
main{max-width:var(--max);margin:auto;padding:0 28px 90px}
.intro{padding:64px 0 38px;max-width:900px}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:750;color:var(--gold);margin:0 0 13px}.intro h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(42px,6.1vw,78px);line-height:.98;letter-spacing:.012em;margin:0 0 24px}.intro>p:last-child{font-size:16px;line-height:1.55;color:var(--muted);max-width:660px;margin:0}
.workspace{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(360px,.82fr) minmax(480px,1.18fr);min-height:700px}
.input-pane{padding:38px 38px 44px 0;border-right:1px solid var(--line)}
.result-pane{padding:38px 0 44px 38px;min-width:0}
.dropzone{min-height:245px;border:1px dashed #51472f;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:26px;text-align:center;background:linear-gradient(180deg,rgba(217,170,74,.045),transparent);transition:border-color .18s,background .18s,transform .18s;outline:none}
.dropzone:hover,.dropzone:focus-visible,.dropzone.dragover{border-color:var(--gold);background:rgba(217,170,74,.07);transform:translateY(-2px)}
.upload-symbol{width:48px;height:48px;border-radius:14px;border:1px solid #4b422c;display:grid;place-items:center;margin-bottom:16px;color:var(--gold)}.upload-symbol svg{width:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.dropzone strong{font-size:18px}.dropzone>span{font-size:13px;color:var(--muted);margin-top:4px}.upload-actions{display:flex;gap:8px;margin-top:18px}.dropzone button,.result-actions button{border:1px solid #50452c;background:#1b180f;color:var(--gold-soft);border-radius:10px;padding:10px 14px;font-weight:700;margin:0}.dropzone button.secondary{border-color:var(--line);background:transparent;color:var(--muted)}.dropzone small{font-size:10.5px;color:#77746d;margin-top:12px}
.file-summary{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.file-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid #4b422c;border-radius:10px;color:var(--gold);font-size:11px;font-weight:800}.file-summary div:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:3px}.file-summary b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-summary span{font-size:11px;color:var(--muted)}.file-summary button,.field-meta button{border:0;background:transparent;color:var(--muted);font-size:11px;padding:5px}.file-summary button:hover,.field-meta button:hover{color:var(--ink)}
.field-group{margin-top:25px}.field-group label{font-size:12px;font-weight:700;display:flex;justify-content:space-between;margin-bottom:9px}.field-group label span{color:var(--muted);font-size:10px;font-weight:500}
input,textarea{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:11px;padding:12px 13px;outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus{border-color:#7a6330;box-shadow:0 0 0 3px rgba(217,170,74,.08)}textarea{line-height:1.45;font-size:13px;min-height:132px}.field-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:6px}
.scan-button{width:100%;margin-top:26px;border:1px solid var(--gold);background:var(--gold);color:#171208;padding:14px 17px;border-radius:11px;font-weight:800;display:flex;justify-content:space-between;align-items:center;transition:transform .15s,filter .15s}.scan-button svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.scan-button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.scan-button:disabled{opacity:.35;cursor:not-allowed}.error{font-size:12px;color:var(--red);margin:12px 0 0}
.empty-state,.loading-state{min-height:600px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.empty-state p,.loading-state p{font-size:15px;margin:20px 0 5px}.empty-state small{color:var(--muted);font-size:11px}
.scan-lines{position:relative;width:190px;height:244px;border:1px solid #35332b;border-radius:8px;padding:48px 28px;display:flex;flex-direction:column;gap:18px;overflow:hidden}.scan-lines span{display:block;height:4px;background:#2f2d27;border-radius:4px}.scan-lines span:nth-child(2){width:82%}.scan-lines span:nth-child(3){width:91%}.scan-lines span:nth-child(4){width:58%}.scan-lines i{position:absolute;left:0;right:0;top:30%;height:1px;background:var(--gold);box-shadow:0 0 20px 3px rgba(217,170,74,.3);animation:scan 2.4s ease-in-out infinite}@keyframes scan{50%{top:75%}}
.loader{width:92px;height:92px;border-radius:50%;border:1px solid #343127;display:grid;place-items:center}.loader span{width:70px;height:70px;border:2px solid transparent;border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress{width:240px;height:3px;background:#25231e;margin-top:18px;overflow:hidden}.progress i{display:block;width:4%;height:100%;background:var(--gold);transition:width .35s ease}
.results{animation:reveal .45s ease both}@keyframes reveal{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.score-head{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:26px;padding-bottom:32px;border-bottom:1px solid var(--line)}.score-ring{--score:0;width:126px;height:126px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at center,var(--bg) 63%,transparent 64%),conic-gradient(var(--gold) calc(var(--score)*1%),#27251f 0)}.score-ring strong{font-family:Georgia,serif;font-size:44px;font-weight:400;line-height:.8}.score-ring span{font-size:11px;color:var(--muted);margin-top:6px}.score-head h2{font-family:Georgia,serif;font-size:35px;font-weight:400;margin:0 0 6px}.score-head>div:last-child>p:last-child{font-size:12.5px;line-height:1.5;color:var(--muted);margin:0;max-width:460px}
.category-bars{padding:25px 0;display:grid;gap:13px;border-bottom:1px solid var(--line)}.category-row{display:grid;grid-template-columns:100px 1fr 55px;align-items:center;gap:12px;font-size:11px}.category-row span{color:var(--muted)}.bar{height:5px;background:#24221e;overflow:hidden;border-radius:5px}.bar i{display:block;height:100%;width:0;background:var(--gold);transition:width .7s cubic-bezier(.2,.8,.2,1)}.category-row b{text-align:right;font-size:11px}
.result-section{padding:27px 0;border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-heading h3{font-size:14px;margin:0}.section-heading span{font-size:10px;color:var(--muted)}.finding-list{display:grid;gap:10px}.finding{display:grid;grid-template-columns:8px 1fr;gap:12px}.finding>i{width:7px;height:7px;border-radius:50%;margin-top:6px;background:var(--red)}.finding b{font-size:12px;display:block;margin-bottom:2px}.finding p{font-size:11.5px;line-height:1.45;color:var(--muted);margin:0}.finding-list.positive .finding>i{background:var(--green)}
.keyword-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.keyword-columns b{font-size:10px;color:var(--muted);display:block;margin-bottom:8px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chips span{border:1px solid #3a452f;background:#12180f;color:#a8c99f;padding:5px 8px;border-radius:999px;font-size:9.5px}.chips.muted span{border-color:#3b302c;background:#17110f;color:#c58f83}
.result-actions{display:flex;gap:9px;padding-top:25px}.result-actions button{margin:0}.result-actions button:last-child{background:transparent;color:var(--muted);border-color:var(--line)}.method-note{font-size:10px!important;line-height:1.45;color:#6f6c65!important;margin:16px 0 0!important}
.method{padding:78px 0 0}.method h2{font-family:Georgia,serif;font-size:42px;font-weight:400;letter-spacing:-.03em;margin:0 0 40px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.method-grid div{min-height:180px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.method-grid span{font-size:10px;color:var(--gold);display:block;margin-bottom:35px}.method-grid b{font-size:14px}.method-grid p{font-size:12px;color:var(--muted);line-height:1.5;margin:8px 0 0}
footer{max-width:var(--max);margin:auto;border-top:1px solid var(--line);padding:27px 28px 35px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}footer a{color:inherit;text-underline-offset:3px}
[hidden]{display:none!important}
.back-link{font-size:12px;color:var(--muted);text-underline-offset:3px}.legal-page{max-width:780px;margin:0 auto;padding-top:80px}.legal-page h1,.not-found h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,6vw,70px);font-weight:400;line-height:1;letter-spacing:-.04em;margin:0 0 28px}.legal-lead{font-size:18px!important;color:var(--ink)!important}.legal-page h2{font-size:17px;margin:36px 0 8px}.legal-page p{font-size:14px;line-height:1.7;color:var(--muted)}.legal-page a,.not-found a{color:var(--gold-soft);text-underline-offset:3px}.updated{border-top:1px solid var(--line);padding-top:22px;margin-top:50px}.not-found{max-width:760px;margin:0 auto;padding:18vh 28px}.not-found p{color:var(--muted)}
@media(max-width:900px){.workspace{grid-template-columns:1fr}.input-pane{border-right:0;border-bottom:1px solid var(--line);padding-right:0}.result-pane{padding-left:0}.method-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.topbar,main,footer{padding-left:18px;padding-right:18px}.privacy-status{font-size:0}.privacy-status span{width:8px;height:8px}.intro{padding-top:44px}.intro h1{font-size:43px}.workspace{display:block}.input-pane{padding-top:25px}.result-pane{padding-top:28px}.score-head{grid-template-columns:105px 1fr;gap:18px}.score-ring{width:102px;height:102px}.score-ring strong{font-size:36px}.score-head h2{font-size:27px}.keyword-columns{grid-template-columns:1fr}.method{padding-top:55px}.method h2{font-size:34px}.method-grid{grid-template-columns:1fr}.method-grid div{min-height:140px}.method-grid span{margin-bottom:22px}footer{display:grid;gap:7px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
