.wrap{max-width:940px;margin:0 auto;padding:28px 0}
    .back{color:#6b7280;text-decoration:none;font-size:14px}
    h1{margin:20px 0 8px;font-size:30px}
    .sub{color:#6b7280;margin-bottom:18px;line-height:1.8}
    .card{
      background:#fff;
      border-radius:18px;
      padding:22px;
      box-shadow:0 8px 24px rgba(0,0,0,.08);
    }
    label{display:block;margin:0 0 8px;color:#6b7280;font-size:14px}
    input,select{
      width:100%;
      height:46px;
      border:1px solid #d9dce6;
      border-radius:12px;
      padding:0 12px;
      font-size:15px;
      background:#fff;
      color:inherit;
    }
    input[type="file"]{
      height:auto;
      padding:12px;
      cursor:pointer;
    }
    input[type="range"]{padding:0}
    .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
    @media(max-width:760px){.grid,.grid3{grid-template-columns:1fr}}
    .field{margin-bottom:14px}
    .btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
    button,a.download{
      border:0;
      border-radius:12px;
      padding:12px 16px;
      cursor:pointer;
      font-size:14px;
      text-decoration:none;
      display:inline-flex;
      align-items:center;
      justify-content:center;
    }
    .primary{background:#3b5bff;color:#fff}
    .danger{background:#ffecec;color:#7f1d1d}
    .download{background:#16a34a;color:#fff}
    .download.disabled{
      pointer-events:none;
      opacity:.45;
      background:#9ca3af;
    }
    .preview{
      margin-top:18px;
      border:1px solid #e5e7eb;
      border-radius:16px;
      padding:14px;
      background:#fafafa;
    }
    .preview img{
      display:block;
      max-width:100%;
      max-height:460px;
      margin:0 auto;
      border-radius:12px;
      background:
        linear-gradient(45deg,#e5e7eb 25%,transparent 25%),
        linear-gradient(-45deg,#e5e7eb 25%,transparent 25%),
        linear-gradient(45deg,transparent 75%,#e5e7eb 75%),
        linear-gradient(-45deg,transparent 75%,#e5e7eb 75%);
      background-size:20px 20px;
      background-position:0 0,0 10px,10px -10px,-10px 0px;
    }
    .info{
      margin-top:12px;
      color:#6b7280;
      font-size:13px;
      line-height:1.8;
      word-break:break-all;
    }
    .note{
      margin-top:16px;
      padding:14px 16px;
      border:1px solid #e5e7eb;
      border-radius:14px;
      color:#6b7280;
      font-size:13px;
      line-height:1.8;
      background:#fafafa;
    }
    .hide{display:none}
    footer{
      margin-top:34px;
      color:#9ca3af;
      font-size:13px;
      line-height:1.8;
      text-align:center;
    }
    footer a{color:inherit;text-decoration:none}
