:root{--bg:#F4F7F5;--surface:#fff;--ink:#16221F;--mute:#5B6B66;--line:#D7E0DC;--brand:#0F3D3E;--on:#fff;--gold:#B9801A;--tint:#F7ECD3;--ok:#1E7A4C;--bad:#B3392F;color-scheme:light}
@media(prefers-color-scheme:dark){:root{--bg:#0D1614;--surface:#15211F;--ink:#E6EFEC;--mute:#97A9A3;--line:#273834;--brand:#63C2B4;--on:#08201C;--gold:#E3B456;--tint:#3A2F14;--ok:#52C08A;--bad:#F0847A;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(1.9rem,5vw,3rem)}h2{font-size:1.6rem}h3{font-size:1.1rem}
a{color:inherit}
header{background:var(--surface);border-bottom:1px solid var(--line)}
.bar{max-width:1080px;margin:auto;padding:.7rem 1rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.logo{font-family:Georgia,serif;font-weight:700;text-decoration:none;margin-right:auto}
nav{display:flex;gap:.2rem;flex-wrap:wrap}
nav a{padding:.35rem .7rem;border-radius:8px;text-decoration:none;color:var(--mute)}
nav a.on{background:var(--brand);color:var(--on)}
.auth{display:flex;gap:.4rem;align-items:center}.auth form{margin:0}
main{max-width:1080px;margin:auto;padding:1.5rem 1rem 3rem;min-height:70vh}
footer{border-top:1px solid var(--line)}
.btn{display:inline-block;background:var(--brand);color:var(--on);border:0;border-radius:10px;padding:.5rem 1rem;font:600 .95rem inherit;font-family:inherit;cursor:pointer;text-decoration:none}
.btn.alt{background:none;color:var(--ink);border:1px solid var(--line)}
.btn.ok{background:var(--ok);color:#fff}.btn.bad{background:var(--bad);color:#fff}
.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;margin-bottom:1rem}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.grid .card{margin:0}
.meta{color:var(--mute);font-size:.9rem}
.tag{display:inline-block;background:var(--tint);font-size:.8rem;padding:.1rem .6rem;border-radius:99px;margin-right:.3rem}
.tag.ok{background:var(--ok);color:#fff}.tag.bad{background:var(--bad);color:#fff}
.flash{background:var(--tint);border-radius:10px;padding:.7rem 1rem;margin-bottom:1rem}
.err{color:var(--bad)}
.form{display:grid;gap:.8rem;max-width:640px}
label{display:block;font-weight:500}
input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem;max-width:100%}
.form input:not([type=checkbox]):not([type=file]),.form select,.form textarea{width:100%}
.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin:.6rem 0}
.hero{background:var(--brand);color:var(--on);border-radius:20px;padding:clamp(1.5rem,5vw,3rem);margin-bottom:1.5rem}
.hero .btn{background:var(--gold);color:#1b1500}
.big{font:700 clamp(2.4rem,7vw,4rem)/1 Georgia,serif}
.bars div{display:grid;grid-template-columns:100px 1fr 48px;gap:.6rem;align-items:center;margin:.4rem 0}
.bars i{display:block;height:14px;border-radius:7px;background:var(--brand)}
.prog{height:8px;background:var(--line);border-radius:4px}.prog i{display:block;height:100%;background:var(--gold);border-radius:4px}
.avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--tint)}
table{width:100%;border-collapse:collapse}td,th{padding:.5rem;border-bottom:1px solid var(--line);text-align:left;font-size:.92rem;vertical-align:top}
.scroll{overflow-x:auto}
