
:root{--bg:#0e0f16;--panel:#171826;--panel2:#1e2030;--edge:#2c2c3d;--ink:#e7e7f0;
--muted:#9a9ab0;--accent:#f6a821;--ok:#3ecf8e;--err:#ff6b6b;--warn:#f6a821;}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Tajawal',sans-serif;}
.btn{font-family:inherit;font-size:14px;border:1px solid var(--edge);background:var(--panel2);
color:var(--ink);border-radius:9px;padding:9px 14px;cursor:pointer;transition:.15s}
.btn:hover{border-color:var(--accent)}
.btn.primary{background:var(--accent);color:#1a1205;border-color:var(--accent);font-weight:700}
.btn.ghost{background:transparent}
.btn.sm{padding:6px 11px;font-size:13px}
.btn.out{flex:1;padding:8px 6px;font-size:13px}
.grow{flex:1}
/* دخول */
.authwrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.authcard{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--edge);
border-radius:16px;padding:26px}
.brand{font-size:20px;font-weight:700}
.authcard .sub{color:var(--muted);font-size:13.5px;line-height:1.7;margin:8px 0 18px}
.authcard label{display:block;font-size:13px;color:var(--muted);margin:12px 0 5px}
.authcard input{width:100%;background:var(--panel2);border:1px solid var(--edge);color:var(--ink);
border-radius:9px;padding:11px;font-family:inherit;font-size:15px}
.authcard input:focus{outline:none;border-color:var(--accent)}
.authcard .row{display:flex;gap:10px;margin-top:18px}
.authcard .row .btn{flex:1}
.msg{margin-top:12px;font-size:13.5px;min-height:20px;color:var(--err)}
.msg.ok{color:var(--ok)}
.msg.sm{font-size:12.5px}
.hint{color:var(--muted);font-size:12px;line-height:1.6;margin-top:14px}
/* المحرّر */
.topbar{display:flex;align-items:center;gap:12px;padding:12px 18px;background:var(--panel);
border-bottom:1px solid var(--edge)}
.who{color:var(--muted);font-size:13.5px}
.cloud{display:grid;grid-template-columns:260px 1fr;gap:14px;padding:14px;height:calc(100vh - 57px)}
.files{background:var(--panel);border:1px solid var(--edge);border-radius:13px;padding:12px;
display:flex;flex-direction:column;min-height:0}
.filehead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-weight:700}
.filelist{flex:1;overflow:auto;display:flex;flex-direction:column;gap:4px}
.fileitem{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:8px;cursor:pointer;
font-size:14px;border:1px solid transparent}
.fileitem:hover{background:var(--panel2)}
.fileitem.active{background:var(--panel2);border-color:var(--accent)}
.fileitem .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fileitem .del{color:var(--muted);font-size:15px;opacity:.6}
.fileitem .del:hover{color:var(--err);opacity:1}
.exportbox{margin-top:12px;border-top:1px solid var(--edge);padding-top:12px}
.explabel{font-size:13px;color:var(--muted);margin-bottom:8px}
.exprow{display:flex;gap:6px}
.workarea{display:flex;flex-direction:column;min-height:0}
.edhead{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.curname{font-weight:700}
.pill{font-size:12.5px;padding:4px 11px;border-radius:20px;background:var(--panel2);
border:1px solid var(--edge);color:var(--muted)}
.pill.ok{color:var(--ok);border-color:var(--ok)}
.pill.err{color:var(--err);border-color:var(--err)}
#editor{flex:1;min-height:180px;background:var(--panel);border:1px solid var(--edge);color:var(--ink);
border-radius:12px;padding:14px;font-family:'Cascadia Code','Consolas',monospace;font-size:15px;
line-height:1.9;resize:none;direction:rtl}
#editor:focus{outline:none;border-color:var(--accent)}
.outhead{color:var(--muted);font-size:13px;margin:10px 0 5px}
.out{background:#0a0b12;border:1px solid var(--edge);border-radius:10px;padding:12px;
margin:0;min-height:70px;max-height:200px;overflow:auto;white-space:pre-wrap;
font-family:'Cascadia Code','Consolas',monospace;font-size:14px}
.diags{margin-top:8px;display:flex;flex-direction:column;gap:5px}
.diag{padding:7px 11px;border-radius:8px;background:var(--panel2);border-inline-start:3px solid var(--muted);
font-size:13px}
.diag.e{border-inline-start-color:var(--err)}
.diag.w{border-inline-start-color:var(--warn)}
.diag.i{border-inline-start-color:var(--accent)}
.diag .loc{color:var(--muted);font-size:12px;margin-inline-start:6px}
@media(max-width:760px){.cloud{grid-template-columns:1fr;height:auto}}
