:root{--bg:#101418;--fg:#e8eaed;--dim:#9aa0a6;--ac:#8ab4f8;--line:#2a3038;--card:#171c22}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.65 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
body.center{display:flex;align-items:center;justify-content:center;min-height:100vh}
header{padding:24px 32px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
h1{font-size:1.7rem;margin:0}
h2{font-size:1.25rem;margin-top:2.2em}
nav a{color:var(--ac);text-decoration:none;margin-right:14px;font-size:1.05rem}
main{max-width:1180px;margin:0 auto;padding:28px 32px}
.intro{font-size:1.22rem;line-height:1.75;margin-bottom:18px}
.intro p{margin:0 0 14px}
.stats{color:var(--dim);margin-bottom:26px}
.searchbox{margin:10px 0 6px;display:flex;gap:10px;flex-wrap:wrap}
#q{flex:1;min-width:260px;padding:14px 16px;font-size:1.15rem;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:8px}
button,.btn{background:#263041;color:var(--fg);border:1px solid #3a465a;padding:10px 16px;border-radius:8px;cursor:pointer;font-size:.95rem;text-decoration:none;display:inline-block;margin:2px}
button:hover,.btn:hover{background:#32405a}
.btn.big{padding:12px 28px;font-size:1.05rem}
.hint{color:var(--dim);font-size:.9rem;margin:8px 0 18px}
#results{margin-bottom:36px}
table.rt{width:100%;border-collapse:collapse;margin-top:8px}
.rt th,.rt td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.rt th{color:var(--dim);font-weight:600}
.mono{font-family:ui-monospace,Consolas,monospace;font-size:.85rem;color:var(--dim);word-break:break-all}
.snip{color:var(--dim);font-size:.85rem;margin-top:4px;word-break:break-word}
.found{color:#7ec87e}
.nope{color:#e8a33d}
.treebox{border-top:1px solid var(--line);padding-top:8px}
#crumb{margin:10px 0;word-break:break-all}
.crumb{cursor:pointer;color:var(--ac)}
.row{padding:7px 10px;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row.dir{cursor:pointer}
.row.dir:hover{background:var(--card)}
.row .dim{color:var(--dim);font-size:.85rem}
#modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:50;align-items:center;justify-content:center;padding:20px}
#modal-inner{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px;max-width:94vw;max-height:92vh;overflow:auto;text-align:center}
#modal-inner img{max-width:88vw;max-height:78vh;border-radius:6px}
#modal-inner iframe{width:86vw;height:78vh;border:0;border-radius:6px;background:#fff}
footer{border-top:1px solid var(--line);color:var(--dim);padding:20px 32px;text-align:center}
.forms{list-style:none;padding:0}
.forms li{margin:10px 0}
.forms a{color:var(--ac);font-size:1.08rem;text-decoration:none;border-bottom:1px dotted var(--ac)}
.login{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:34px;display:flex;flex-direction:column;gap:14px;width:320px}
.login input{padding:12px;background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:8px;font-size:1rem}
label{display:block;color:var(--dim);margin:12px 0 4px}
input[type=text],textarea{width:100%;padding:10px;background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:8px;font-size:1rem}
textarea{min-height:140px;font-family:inherit}
