/** Base CSS */
    .panel{
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255,255,255,.58);
      backdrop-filter: blur(10px);
      box-shadow: 0 12px 34px rgba(27,26,23,.08);
      overflow:hidden;
    }
    .panel .hd{
      padding: 14px 16px;
      border-bottom: 1px solid var(--line);
      display:flex; align-items:center; justify-content:space-between;
      gap: 12px;
    }
    .panel .hd h3{
      margin:0;
      font-family: var(--font-display);
      font-size: 18px;
      letter-spacing:.01em;
    }
    .panel .bd{ padding: 14px 16px 16px; }

    .btn{
      display:inline-flex; align-items:center; justify-content:center;
      gap:10px;
      padding: 12px 14px;
      border-radius: 14px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.72);
      box-shadow: 0 12px 26px rgba(27,26,23,.08);
      font-weight: 600;
      text-decoration:none;
      transition: transform .18s ease, box-shadow .18s ease, background .18s ease, filter .18s ease;
      cursor:pointer;
    }
    .btn:hover{ transform: translateY(-1px); box-shadow: 0 18px 40px rgba(27,26,23,.12); }
    .btn:active{ transform: translateY(0px) scale(.99); }
    .btn.primary{
      background: linear-gradient(180deg, rgba(138,31,31,.96), rgba(112,18,18,.98));
      border-color: rgba(0,0,0,.12);
      color: #fff;
    }
    .btn.primary:hover{ filter: brightness(1.03); }

    .reveal{ opacity:0; transform: translateY(10px); }
    .reveal.in{
      opacity:1; transform: translateY(0);
      transition: opacity .5s ease, transform .5s ease;
    }

    @media print{
      body{ background:#fff; }
      .panel{ box-shadow:none; }
    }