.wrap{max-width:760px;margin:0 auto;padding:28px 0}
h1{margin:20px 0 8px;font-size:30px}
    .sub{color:var(--muted);margin-bottom:18px;line-height:1.8}
    .card{
      background:var(--card);
      border-radius:18px;
      padding:20px;
      box-shadow:0 8px 24px rgba(0,0,0,.08);
    }
    label{
      display:block;
      margin:0 0 8px;
      color:var(--muted);
      font-size:14px;
    }
    input,textarea{
      width:100%;
      border:1px solid var(--border);
      border-radius:12px;
      padding:12px;
      font-size:15px;
      background:#fff;
      color:inherit;
    }
    input{height:46px}
    textarea{
      min-height:150px;
      resize:vertical;
      line-height:1.7;
      margin-top:8px;
    }
    .hint{
      margin-top:10px;
      color:var(--muted);
      font-size:13px;
      line-height:1.7;
    }
    .btns{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin:16px 0;
    }
    button{
      border:0;
      border-radius:12px;
      padding:12px 14px;
      cursor:pointer;
      font-size:14px;
    }
    .primary{background:var(--primary);color:#fff}
    .ghost{background:var(--ghost);color:inherit}
    .danger{background:var(--danger);color:inherit}
    .result{
      margin-top:18px;
      padding:16px;
      border:1px solid var(--border);
      border-radius:16px;
      background:#f9fafb;
    }
    .status{
      min-height:22px;
      margin-top:10px;
      color:var(--muted);
      font-size:13px;
      line-height:1.6;
    }
    .status.ok{color:#15803d}
    .status.err{color:#be123c}
