  :root{
      --bg:#0b0e12;
      --panel:#121826;
      --col:#0f1724;
      --border:rgba(255,255,255,.10);
      --text:#e7eef7;
      --muted:#9aa4ad;
      --accent:#00ffff;
      --danger:#ff4d4f;
      --shadow: 0 14px 40px rgba(0,0,0,.45);
      --shadow2: 0 10px 22px rgba(0,0,0,.35);
      --radius: 16px;
    }

    *{ box-sizing:border-box; }
    html,body{ height:100%; }
    body{
      margin:0;
      background: radial-gradient(1000px 600px at 10% 0%, rgba(0,255,255,.06), transparent 55%),
                  radial-gradient(800px 500px at 90% 10%, rgba(0,255,255,.05), transparent 60%),
                  var(--bg);
      color:var(--text);
      font: 14px/1.35 system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif;
      overflow:hidden;
    }

    .app{
      height:100%;
      display:flex;
      flex-direction:column;
      gap:10px;
      padding:12px;
    }

    .topbar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      padding:12px 14px;
      border:1px solid var(--border);
      background: rgba(18,24,38,.65);
      backdrop-filter: blur(10px);
      border-radius: var(--radius);
      box-shadow: var(--shadow2);
    }

    .title{
      display:flex; align-items:baseline; gap:10px;
      user-select:none;
    }
    .title h1{
      font-size:16px;
      margin:0;
      letter-spacing:.3px;
    }
    .title .hint{ color:var(--muted); font-size:12px; }

    .actions{
      display:flex; gap:8px; flex-wrap:wrap; align-items:center;
    }
    button{
      border:1px solid var(--border);
      background: rgba(255,255,255,.04);
      color:var(--text);
      padding:8px 10px;
      border-radius: 12px;
      cursor:pointer;
      transition:.15s ease;
      font-weight:600;
    }
    button:hover{ transform: translateY(-1px); border-color: rgba(0,255,255,.35); }
    button:active{ transform: translateY(0px); }

    .btn-accent{ border-color: rgba(0,255,255,.35); }
    .btn-danger{ border-color: rgba(255,77,79,.35); }
    .btn-danger:hover{ border-color: rgba(255,77,79,.6); }

    .board{
      flex:1;
      min-height:0;
      display:grid;
      grid-template-columns: repeat(5, minmax(240px, 1fr));
      gap:12px;
      overflow:auto;
      padding-bottom: 6px;
    }

    .col{
      border:1px solid var(--border);
      background: rgba(15,23,36,.60);
      backdrop-filter: blur(8px);
      border-radius: var(--radius);
      box-shadow: var(--shadow2);
      display:flex;
      flex-direction:column;
      min-height: 240px;
    }

    .col-head{
      padding:12px 12px 10px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      border-bottom:1px solid rgba(255,255,255,.06);
      position:sticky;
      top:0;
      background: rgba(15,23,36,.85);
      backdrop-filter: blur(10px);
      border-top-left-radius: var(--radius);
      border-top-right-radius: var(--radius);
      z-index: 5;
    }
    .col-head .name{
      font-weight:800;
      letter-spacing:.6px;
      font-size:12px;
      text-transform:uppercase;
    }
    .badge{
      font-size:12px;
      color:var(--muted);
      padding:2px 8px;
      border:1px solid rgba(255,255,255,.10);
      border-radius:999px;
      user-select:none;
    }

    .col-body{
      padding:12px;
      display:flex;
      flex-direction:column;
      gap:10px;
      min-height:120px;
    }

    .dropzone{
      outline: 2px dashed transparent;
      outline-offset: 8px;
      border-radius: 12px;
      transition:.12s ease;
    }
    .dropzone.dragover{
      outline-color: rgba(0,255,255,.45);
      background: rgba(0,255,255,.06);
    }

    /* Post-it */
    .note{
      position:relative;
      background: linear-gradient(180deg, rgba(255, 245, 157, .95), rgba(255, 236, 118, .92));
      color:#151515;
      border-radius: 12px;
      box-shadow: 0 18px 30px rgba(0,0,0,.35);
      padding: 12px 12px 10px;
      cursor: grab;
      user-select:none;
      transform: rotate(var(--rot, 0deg));
      border: 1px solid rgba(0,0,0,.12);
    }
    .note:active{ cursor: grabbing; }
    .note .meta{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
      margin-bottom:8px;
    }
    .note .tag{
      font-size:11px;
      font-weight:800;
      opacity:.75;
      letter-spacing:.4px;
    }
    .note .x{
      border:0;
      background: rgba(0,0,0,.08);
      color:#111;
      width:26px;
      height:26px;
      border-radius: 10px;
      cursor:pointer;
      font-weight:900;
      padding:0;
    }
    .note .x:hover{ background: rgba(255,77,79,.18); }
    .note .txt{
      white-space: pre-wrap;
      word-break: break-word;
      font-size: 13px;
      line-height: 1.3;
      outline:none;
    }
    .note .txt[contenteditable="true"]{
      background: rgba(255,255,255,.35);
      border-radius: 10px;
      padding:8px;
    }

    .note.dragging{
      opacity:.75;
      filter: saturate(1.05);
    }

    .toast{
      position:fixed;
      left: 12px;
      bottom: 12px;
      background: rgba(18,24,38,.85);
      border:1px solid rgba(255,255,255,.12);
      color:var(--text);
      padding:10px 12px;
      border-radius: 14px;
      box-shadow: var(--shadow2);
      backdrop-filter: blur(10px);
      font-size: 12px;
      opacity:0;
      transform: translateY(10px);
      transition:.18s ease;
      pointer-events:none;
    }
    .toast.show{
      opacity:1;
      transform: translateY(0px);
    }

    /* Responsive: scroll horizontal */
    @media (max-width: 1200px){
      .board{
        grid-template-columns: repeat(5, 300px);
      }
    }
