:root{
  --bg:#F2F4F6;--card:#FFFFFF;--soft:#F7F8FA;--ink:#18222A;--muted:#64727C;--line:#DCE2E7;
  --accent:#3056D3;--accent-soft:#E8EDFC;--good:#2D7A4E;--good-soft:#E5F3EA;--bad:#B23F2A;
  --r:12px;color-scheme:light
}
@media (prefers-color-scheme:dark){:root{
  --bg:#11171C;--card:#182128;--soft:#1D2830;--ink:#E2E9EE;--muted:#94A3AD;--line:#2A3640;
  --accent:#7D9BFF;--accent-soft:#1F2A4A;--good:#62BE88;--good-soft:#1B3326;--bad:#EE7A63;color-scheme:dark}}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,"Segoe UI","Noto Sans Georgian",sans-serif}
.wrap{max-width:1040px;margin:0 auto;padding:18px 16px 48px}
header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
h1{font-size:19px;margin:0;font-weight:700;letter-spacing:-.01em}
h2{font-size:13px;margin:0;font-weight:600;color:var(--muted)}
button{font:600 14px system-ui,"Segoe UI","Noto Sans Georgian",sans-serif;border:0;border-radius:9px;padding:9px 16px;background:var(--accent);color:#fff;cursor:pointer}
button.ghost{background:transparent;color:var(--muted);border:1px solid var(--line);padding:5px 10px;font-size:13px;font-weight:500}
button.ghost:hover{color:var(--ink);border-color:var(--muted)}
button:disabled{opacity:.55;cursor:default}
:focus-visible{outline:3px solid var(--accent);outline-offset:1px}

/* input */
.input{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.input textarea{display:block;width:100%;min-height:120px;max-height:50vh;resize:vertical;border:0;background:transparent;color:var(--ink);font:inherit;padding:12px 14px}
.input textarea:focus-visible{outline:none}
.input:focus-within{border-color:var(--accent)}
.bar{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;border-top:1px solid var(--line);background:var(--soft)}
.bar .hint{flex:1}
.hint{color:var(--muted);font-size:12.5px;margin:0}
.err{color:var(--bad);font-size:13.5px;margin:8px 2px 0;min-height:0}
.err:empty{display:none}
#note{margin-top:10px}

/* summary */
.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0 12px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0}
.stat span{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat b{font-size:20px;font-variant-numeric:tabular-nums}
.stat i{font-style:normal;font-size:12px;margin-left:4px;color:var(--good)}
.stat i.up{color:var(--bad)}
.stat.best{border-color:var(--good);background:var(--good-soft)}
.meter{height:4px;border-radius:2px;background:var(--line);margin-top:6px;overflow:hidden}
.meter div{height:100%;background:var(--accent);border-radius:2px}
.stat.best .meter div{background:var(--good)}

/* results */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}
.cols .box{display:flex;flex-direction:column}
.cols .box .out{flex:1}
.colhead{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--muted);margin:2px 2px -4px}
.colhead .flag{display:inline-block;padding:1px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:11.5px}
.box{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.box.main{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.box-top{display:flex;align-items:center;gap:8px;padding:8px 10px 0 12px}
.box-top h2{flex:1}
.tok{font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}
.tok b{color:var(--ink);font-size:14px}
.out{white-space:pre-wrap;word-break:break-word;margin:0;padding:6px 12px 12px;font-size:14.5px}
details.box > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:9px 10px 9px 12px}
details.box > summary::-webkit-details-marker{display:none}
details.box > summary h2{flex:1}
details.box > summary::before{content:"";width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);transition:transform .15s;margin-right:2px}
details.box[open] > summary::before{transform:rotate(45deg)}
details.box[open] > summary{padding-bottom:0}
.ver{position:fixed;right:10px;bottom:6px;font-size:11px;color:var(--muted);opacity:.55}

/* login */
.login{max-width:340px;margin:14vh auto 0;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:10px}
.login input{font:inherit;color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:10px 12px;width:100%}

@media (max-width:720px){
  .summary{grid-template-columns:repeat(2,1fr)}
  .cols{grid-template-columns:1fr}
  .o1{order:1}.o2{order:2}.o3{order:3}.o4{order:4;margin-top:8px}.o5{order:5}.o6{order:6}
}
@media (prefers-reduced-motion:reduce){details.box > summary::before{transition:none}}
