:root{--g:#1f6b4a;--g2:#e8f3ed;--ink:#1c2a24;--mute:#5d6b64;--line:#d6e2db}
*{box-sizing:border-box}
body{margin:0;font:17px/1.6 system-ui,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#fafcfb}
header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:var(--g);color:#fff}
header a{color:#fff;text-decoration:none;margin-left:16px}
header .logo{font-weight:700;font-size:1.2rem;margin:0}
main{max-width:760px;margin:0 auto;padding:24px 18px 90px}
footer{text-align:center;color:var(--mute);font-size:.85rem;padding:20px}
h1{font-size:1.7rem;margin:.2em 0 .6em}
h2{font-size:1.25rem;margin-top:1.6em;color:var(--g)}
.card{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:12px 0;text-decoration:none;color:inherit}
.card:hover{border-color:var(--g)}
.card b{color:var(--g)}
.box{background:var(--g2);border-left:4px solid var(--g);padding:10px 14px;border-radius:6px;margin:14px 0}
.warn{background:#fff4e0;border-left-color:#d98a00}
button,.btn{background:var(--g);color:#fff;border:0;border-radius:8px;padding:11px 20px;font-size:1rem;cursor:pointer;text-decoration:none;display:inline-block}
button:disabled{opacity:.5}
input[type=text],input[type=password]{width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;font-size:1rem;margin:6px 0 14px}
.q{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:14px 0}
.q label{display:block;padding:6px 0;cursor:pointer}
table{border-collapse:collapse;width:100%;background:#fff}
td,th{border:1px solid var(--line);padding:8px 10px;text-align:left}
.ok{color:var(--g);font-weight:700}.err{color:#b3261e}
header nav{display:flex;align-items:center;gap:4px}
header nav button{background:transparent;border:1px solid #ffffff88;padding:6px 12px;margin-left:10px;font-size:.9rem}
#lang{position:fixed;left:10px;bottom:10px;display:flex;gap:6px;z-index:10}
#lang button{padding:7px 11px;font-size:.8rem;background:#fff;color:var(--g);border:1px solid var(--g)}
#lang button.on{background:var(--g);color:#fff}
.login{max-width:380px;margin:30px auto}
.login label{display:block}
.small{font-size:.9rem;color:var(--mute)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:10px 0}
.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center}
.stat b{display:block;font-size:1.4rem;color:var(--g)}
.quote{font-size:1.1rem}
.quote small{display:block;color:var(--mute);margin-bottom:4px}
.low{color:#b3261e;font-weight:700}
table{display:block;overflow-x:auto}
.ver{font-size:.7rem;font-weight:400;opacity:.8;border:1px solid #ffffff88;border-radius:6px;padding:1px 6px;margin-left:4px;vertical-align:middle}

body.focus header,body.focus footer,body.focus #lang{display:none}
body.focus{background:#f3f8f5}
body.focus main{max-width:640px;padding-top:12px}
.topbar{display:flex;justify-content:space-between;align-items:center;font-size:.95rem}
.topbar a{color:var(--mute);text-decoration:none}
.timer{color:var(--mute);font-variant-numeric:tabular-nums}
.bar{height:10px;background:var(--line);border-radius:6px;margin:10px 0 6px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--g);transition:width .3s}
.lt{font-size:1.3rem;margin:.6em 0 .1em}
.card-step{font-size:1.3rem;line-height:1.8;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin:12px 0;min-height:140px}
.card-step .box{font-size:1.2rem}
.nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:14px 0}
.nav button{font-size:1.1rem;padding:13px 24px}
button.ghost,.btn.ghost{background:#fff;color:var(--g);border:1px solid var(--g)}
.opt{display:block;width:100%;text-align:left;background:#fff;color:var(--ink);border:2px solid var(--line);margin:10px 0;font-size:1.2rem;padding:14px 16px}
.opt.good{border-color:var(--g);background:var(--g2)}
.opt.bad{border-color:#d98a00;background:#fff4e0;text-decoration:line-through}
.fb{min-height:1.5em;color:#8a5a00}.okmsg{color:var(--g);font-weight:700}
.statbar{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}
.statbar span{background:#fff;border:1px solid var(--line);border-radius:20px;padding:4px 14px}
.ov{position:fixed;inset:0;background:#10301fcc;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}
.ovb{background:#fff;border-radius:16px;padding:26px;max-width:420px;text-align:center}
.ovb .big{font-size:2rem;color:var(--g);font-variant-numeric:tabular-nums}
