:root{color-scheme:light;--surface:#fff;--field:#fcfdfd;--soft:#edf3f1;--soft-border:#d6e6df;--soft-ink:#466258;--badge:#f4f5f6;--focus:#087f6d;--hover:#eaf4f0}
:root[data-theme=dark]{color-scheme:dark;--bg:#101619;--ink:#e5edef;--muted:#a5b4ba;--line:#344249;--accent:#62d9bf;--surface:#192226;--field:#111b20;--soft:#19362e;--soft-border:#33584c;--soft-ink:#b4dacb;--badge:#253239;--focus:#62d9bf;--hover:#234037}
body{background:var(--bg);color:var(--ink)}aside,.card,.stats,.task,.auth-card,.workspace header,button{background:var(--surface)}.card,.stats,.task,.auth-card,aside,header,button{border-color:var(--line)}input,select,textarea{background:var(--field);color:var(--ink);border-color:var(--line)}nav a{color:var(--muted)}nav a:hover{background:var(--hover)}.badge{background:var(--badge)}.notice{background:var(--soft);border-color:var(--soft-border);color:var(--soft-ink)}.primary{background:#087f6d;color:#fff}.primary:hover{background:#066452;color:#fff}.quiet{background:transparent}.error{background:#ffeded;color:#a82c2c}[data-theme=dark] .error{background:#4a2327;color:#ffc2c7}.logo{background:#087f6d}.pill{color:var(--muted)}.header-tools{display:flex;align-items:center;gap:18px}.theme-control{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:var(--muted);font-weight:500;white-space:nowrap}.theme-control select{width:auto;max-width:190px;margin:0;padding:7px 30px 7px 10px;font-size:12px;min-height:40px}.auth-tools{display:flex;justify-content:flex-end;margin-bottom:22px}.workspace{height:100dvh;min-height:100svh}.workspace header{gap:12px;flex-wrap:wrap;height:auto;min-height:76px;padding:14px 22px}.workspace iframe{min-height:240px}.terminal-note{flex:none}.task pre{font-family:inherit;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.task-layout>*,.grid>*,.stats>*{min-width:0}.actions a,.card-link{min-height:44px;display:flex;align-items:center}.actions button,nav a,button{min-height:44px}.card-link{gap:8px}h1,h2,h3,.task,.card p{overflow-wrap:anywhere}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.main{width:calc(100% - 235px)}.auth-card{min-width:0}.stats strong{font-size:clamp(23px,2.1vw,29px)}
@media(min-width:1700px){.main{max-width:1700px;padding-left:60px;padding-right:60px}.hero h1{font-size:56px}}
@media(min-width:801px) and (max-width:1100px){aside{width:200px;padding:26px 18px}.main{margin-left:200px;width:calc(100% - 200px);padding:0 24px}.task-layout{grid-template-columns:1fr}.channels{grid-template-columns:1fr}.stats div{padding:0 14px}.stats{gap:12px}.main>header{height:auto;min-height:76px;gap:12px;flex-wrap:wrap;padding:12px 0}}
@media(max-width:800px){.main{width:100%;margin-left:0}.main>header{height:auto;min-height:65px;gap:12px;flex-wrap:wrap;padding:12px 0}.header-tools{gap:8px}.theme-control select{max-width:175px}input,select,textarea{font-size:16px;min-height:44px}.theme-control select{font-size:16px;max-width:205px}.workspace header{padding:10px 14px}.workspace header .theme-control{order:4;width:100%;justify-content:flex-end}.workspace iframe{min-height:220px}.auth{padding:16px}.auth-card{padding:24px}.qr{max-width:100%;height:auto}.stats strong{font-size:25px}}
@media(max-width:430px){.main{padding:0 16px}.header-tools{width:100%;justify-content:space-between}.theme-control{gap:6px}.theme-control select{max-width:205px}.stats div{padding:0 16px}.stats{gap:20px 0}.stats span{overflow-wrap:anywhere}.hero h1{font-size:clamp(29px,8.7vw,36px)}nav{gap:0;justify-content:space-between}nav a{font-size:11px;padding:6px 4px}.auth-card{padding:20px}.auth h1{font-size:30px}.card{padding:19px}.actions{align-items:stretch}.actions form{width:100%}.actions form button{width:100%}.workspace header>a{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.remember-control{display:flex;align-items:center;gap:10px;font-size:14px;min-height:44px;cursor:pointer}.remember-control input{display:inline-block;width:20px;height:20px;min-height:20px;margin:0;flex:none;accent-color:var(--accent)}
