
:root{
  --bg:#0b1020;
  --surface:#111827;
  --muted:#1f2937;
  --text:#e5e7eb;
  --hint:#9ca3af;
  --ok:#16a34a;
  --info:#2563eb;
  --warn:#eab308;
  --danger:#dc2626;
  --radius:16px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Noto Sans Arabic, Arial, sans-serif;
  background:radial-gradient(1200px 600px at 75% -10%, #1f2937 0%, #0b1020 40%);
  color:var(--text);
}
.app-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;background:transparent;backdrop-filter:saturate(1.3) blur(6px);
  position:sticky;top:0;z-index:10;
}
h1{margin:0;font-size:24px;letter-spacing:1px}
.btn{
  background:var(--muted);color:var(--text);border:none;border-radius:999px;padding:8px 12px;
  cursor:pointer;transition:opacity .2s, transform .05s; font-weight:600
}
.btn:active{transform:scale(.98)}
.btn.ghost{background:transparent;border:1px solid #334155}
.btn.danger{background:var(--danger)}
.view{display:none;padding:16px 16px 96px}
.view.active{display:block}
.subjects-list{display:grid;gap:12px}
.subject-card{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--surface);border:1px solid #263142;color:var(--text);
  padding:10px 12px;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.25);
}
.subject-chip{display:flex;align-items:center;gap:10px}
.inline-badge{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid #334155;color:#cbd5e1}
.inline-input{background:transparent;border:1px dashed #334155;border-radius:8px;padding:4px 8px;color:var(--text)}
.fab{
  position:fixed;right:16px;bottom:20px;width:56px;height:56px;border-radius:50%;
  background:#10b981;color:#fff;border:none;font-size:28px;cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.4);
}
.subject-bar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:8px 0 10px}
.subject-title{display:flex;align-items:center;gap:8px;flex:1}
.icon{font-size:24px}
.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.tab{background:var(--muted);color:#fff;border:none;border-radius:12px;padding:10px;font-weight:700;cursor:pointer;opacity:.6}
.tab.active{opacity:1;outline:2px solid var(--text)}
.tab-panel{display:none;gap:12px}
.tab-panel.active{display:grid}
.card{
  background:var(--surface);border:1px solid #263142;border-radius:12px;padding:10px;display:flex;gap:10px;align-items:center;justify-content:space-between
}
.badge{padding:4px 8px;border-radius:8px;background:#111827;border:1px solid #263142}
.note-box{background:#0b1325;border:1px solid #1f2a44;border-radius:12px;padding:10px;cursor:pointer}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.image-tile{position:relative;border-radius:12px;overflow:hidden;border:1px solid #263142;background:#0b1325}
.image-tile img{display:block;width:100%;height:100%;object-fit:cover}
.tile-label{position:absolute;bottom:6px;right:6px;background:rgba(0,0,0,.5);padding:3px 6px;border-radius:8px;font-size:12px}
.viewer{position:fixed;inset:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center}
.viewer img{max-width:96vw;max-height:90vh;transition:transform .2s}
.hidden{display:none}
#modal::backdrop{background:rgba(0,0,0,.5)}
dialog{border:none;border-radius:16px;padding:0;overflow:hidden;max-width:520px;width:92vw;background:#0b1325;color:#e5e7eb}
.modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #263142}
.modal-body{padding:12px 16px;display:grid;gap:10px}
.modal-actions{display:flex;justify-content:flex-start;gap:8px;padding:12px 16px;border-top:1px solid #263142}
.input, select, textarea{width:100%;padding:10px;border-radius:10px;border:1px solid #263142;background:#0b1020;color:var(--text)}
.helper{color:var(--hint);font-size:12px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kit{display:flex;flex-wrap:wrap;gap:8px}
.kit .swatch{width:28px;height:28px;border-radius:8px;border:1px solid #334155;cursor:pointer}
.kit .swatch.selected{outline:2px solid white}
.kit .choice{padding:6px 10px;border:1px solid #334155;border-radius:999px;cursor:pointer}
.kit .choice.selected{background:#243b55}
.longpress{opacity:.8}
.audio-item{display:flex;align-items:center;gap:8px;width:100%}
.audio-item audio{flex:1}
