:root{--bg:#0f1218;--card:#181d27;--card2:#202737;--tx:#e8ecf3;--mut:#8b95a7;--ac:#35c2a1;--warn:#f5a524;--bad:#ff6b6b;--line:#262d3b}
*{box-sizing:border-box}
body{margin:0;font-family:Tahoma,Arial,sans-serif;background:var(--bg);color:var(--tx);padding:18px;line-height:1.6}
.wrap{max-width:1000px;margin:auto}
.card{background:var(--card);border-radius:14px;padding:18px;margin-bottom:14px}
h1{margin:0 0 12px;font-size:22px} h2{margin:0 0 12px;font-size:18px}
a{color:var(--ac);text-decoration:none}
.mut{color:var(--mut);font-size:13px}
button,.btn{background:var(--ac);color:#04281f;border:0;border-radius:9px;padding:9px 16px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;display:inline-block}
button.sec,.btn.sec{background:var(--card2);color:var(--tx)}
button.bad{background:var(--bad);color:#2b0000}
button.sm{padding:4px 10px;font-size:12px}
input,select,textarea{background:var(--card2);color:var(--tx);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:14px}
textarea{width:100%;min-height:50px}
label{display:block;margin:8px 0 3px;font-size:13px;color:var(--mut)}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{padding:8px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top}
td.t{direction:ltr;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.tabs a{background:var(--card);padding:9px 16px;border-radius:10px;color:var(--tx)}
.tabs a.on{background:var(--ac);color:#04281f;font-weight:700}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.flash{background:#1f3b33;border:1px solid var(--ac);padding:10px 14px;border-radius:10px;margin-bottom:14px}
.flash.err{background:#3b1f1f;border-color:var(--bad)}
.tag{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;background:var(--card2)}
.tag.sch{background:var(--warn);color:#2b1c00}.tag.main{background:var(--ac);color:#04281f}
#clock{font-size:40px;font-weight:700;color:var(--ac);text-align:center;letter-spacing:2px}
#bar{height:6px;background:var(--card2);border-radius:4px;overflow:hidden;margin-top:10px}
#bar i{display:block;height:100%;width:0;background:var(--ac)}
.drop{border:2px dashed var(--line);border-radius:12px;padding:20px;text-align:center}
.gap td{color:var(--mut);background:#141a24}
details summary{cursor:pointer;color:var(--ac);font-size:13px}
audio{height:30px;max-width:220px}
