:root{
      --bg:#0b0b0d;
      --card:#18181b;
      --rise:#131315;
      --hi:#202024;
      --line:#ffffff12;
      --orange:#f4801f;
      --deep:#c85f0f;
      --cyan:#22c7d8;
      --white:#f5f4f2;
      --muted:#98959e;
      --red:#ff6262;
      --green:#48d597;
    }

    *{
      box-sizing:border-box;
    }

    html{
      scroll-behavior:smooth;
    }

    body{
      margin:0;
      min-height:100vh;

      background:
        radial-gradient(
          900px 500px at 50% -10%,
          #f4801f1c,
          transparent 60%
        ),
        var(--bg);

      color:var(--white);
      font-family:Inter,sans-serif;
    }

    button,
    input{
      font:inherit;
    }

    .page{
      width:100%;
      max-width:900px;
      margin:0 auto;
      padding:24px 20px 60px;
    }
	  

    /* =========================
       HEADER
    ========================= */

    .mediaforge-top{
      display:grid;
      grid-template-columns:auto 1fr;
      gap:22px;
      align-items:center;
      margin-bottom:28px;
    }

    .mediaforge-back{
      width:46px;
      height:46px;
      border:1px solid var(--line);
      border-radius:14px;
      display:grid;
      place-items:center;
      color:var(--white);
      text-decoration:none;
      background:#ffffff05;
      font-size:22px;
    }

    .mediaforge-eyebrow{
      font-size:11px;
      font-weight:900;
      letter-spacing:.18em;
      color:var(--orange);
    }

    .mediaforge-heading h1{
      margin:7px 0 10px;
      font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      font-size:clamp(30px,5vw,54px);
      line-height:1;
      font-weight:800;
      letter-spacing:-.045em;
    }

    .mediaforge-heading h1 span{
      color:var(--orange);
    }

    .mediaforge-heading p{
      margin:0;
      max-width:690px;
      color:var(--muted);
      line-height:1.6;
    }

    /* =========================
       TOOL
    ========================= */

    .tool{
      max-width:660px;
      margin:0 auto;
      padding:30px;

      position:relative;
      overflow:hidden;

      background:
        linear-gradient(
          180deg,
          var(--card),
          var(--rise)
        );

      border:1px solid var(--line);
      border-radius:22px;
    }

    .tool::before{
      content:"";
      position:absolute;
      inset:0;

      background:
        radial-gradient(
          circle at 50% 0%,
          #f4801f16,
          transparent 52%
        );

      pointer-events:none;
    }

    .tool-content{
      position:relative;
      z-index:1;
    }

    .field-label{
      display:block;
      margin-bottom:9px;

      color:var(--muted);
      font-size:10px;
      font-weight:700;
      letter-spacing:.1em;
    }

    /* =========================
       FILE
    ========================= */

    .file-wrap{
      display:flex;
      align-items:center;

      padding:5px;

      background:#0e0e10;
      border:1px solid var(--line);
      border-radius:15px;

      cursor:pointer;
      transition:.15s;
    }

    .file-wrap:hover{
      border-color:#f4801f66;
      box-shadow:0 0 0 3px #f4801f0c;
    }

    .file-wrap.drag{
      border-color:var(--orange);
      background:#f4801f0c;
      box-shadow:0 0 0 3px #f4801f12;
    }

    .file-icon{
      width:42px;
      flex-shrink:0;
      text-align:center;
      font-size:18px;
    }

    .file-info{
      width:100%;
      min-width:0;
      padding:13px 8px;
    }

    .file-name{
      color:#626067;
      font-size:13px;

      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }

    .file-name.selected{
      color:var(--white);
    }

    .file-meta{
      display:none;
      margin-top:4px;

      color:var(--muted);
      font-size:9px;
    }

    .file-meta.show{
      display:block;
    }

    .select-file{
      flex-shrink:0;

      margin-right:3px;
      padding:9px 12px;

      border:1px solid var(--line);
      border-radius:10px;

      background:var(--hi);
      color:var(--muted);

      cursor:pointer;

      font-size:10px;
      font-weight:700;

      transition:.15s;
    }

    .select-file:hover{
      color:var(--white);
      border-color:#ffffff2b;
    }

    /* =========================
       FORMAT
    ========================= */

    .option-area{
      margin-top:24px;
    }

    .format-options{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:8px;
    }

    .format-btn{
      display:flex;
      justify-content:center;
      align-items:center;
      gap:8px;

      padding:14px;

      border:1px solid var(--line);
      border-radius:12px;

      background:#101012;
      color:var(--muted);

      cursor:pointer;

      font-size:12px;
      font-weight:700;

      transition:.15s;
    }

    .format-btn:hover{
      color:var(--white);
      border-color:#ffffff28;
    }

    .format-btn.active{
      color:#1a0f03;
      background:linear-gradient(var(--orange),var(--deep));
      border-color:transparent;
    }

    /* =========================
       QUALITY
    ========================= */

    .quality-options{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:8px;
    }

    .quality-btn{
      padding:12px 8px;

      border:1px solid var(--line);
      border-radius:12px;

      background:#101012;
      color:var(--muted);

      cursor:pointer;

      font-size:12px;
      font-weight:700;

      transition:.15s;
    }

    .quality-btn:hover{
      color:var(--white);
      border-color:#ffffff28;
    }

    .quality-btn.active{
      color:#1a0f03;
      background:linear-gradient(var(--orange),var(--deep));
      border-color:transparent;
    }

    /* =========================
       TRIM
    ========================= */

    .trim{
      margin-top:24px;
      padding:18px;

      background:#0e0e10;
      border:1px solid var(--line);
      border-radius:15px;
    }

    .trim-head{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:20px;
    }

    .trim-title{
      color:var(--white);
      font-size:11px;
      font-weight:700;
      margin-bottom:4px;
    }

    .trim-description{
      color:var(--muted);
      font-size:10px;
      line-height:1.5;
    }

    .switch{
      position:relative;
      width:44px;
      height:25px;
      flex-shrink:0;
    }

    .switch input{
      display:none;
    }

    .slider{
      position:absolute;
      inset:0;

      cursor:pointer;

      background:#29292d;
      border:1px solid var(--line);
      border-radius:99px;

      transition:.2s;
    }

    .slider::before{
      content:"";

      position:absolute;

      width:17px;
      height:17px;

      left:3px;
      top:3px;

      border-radius:50%;
      background:var(--muted);

      transition:.2s;
    }

    .switch input:checked + .slider{
      background:#f4801f25;
      border-color:#f4801f55;
    }

    .switch input:checked + .slider::before{
      transform:translateX(19px);

      background:var(--orange);
      box-shadow:0 0 8px #f4801f77;
    }

    .trim-fields{
      display:none;

      grid-template-columns:1fr auto 1fr;
      align-items:end;
      gap:12px;

      margin-top:18px;
      padding-top:18px;

      border-top:1px solid var(--line);
    }

    .trim-fields.show{
      display:grid;
    }

    .time-field label{
      display:block;
      margin-bottom:7px;

      color:var(--muted);

      font-size:9px;
      font-weight:700;
      letter-spacing:.08em;
    }

    .time-field input{
      width:100%;

      padding:12px;

      outline:0;

      background:#151517;
      border:1px solid var(--line);
      border-radius:10px;

      color:var(--white);

      text-align:center;
      font-size:12px;
      font-weight:600;

      transition:.15s;
    }

    .time-field input:focus{
      border-color:#f4801f66;
    }

    .time-arrow{
      padding-bottom:12px;

      color:var(--orange);
      font-weight:700;
    }

    /* =========================
       SUMMARY
    ========================= */

    .summary{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;

      margin-top:24px;
      padding:13px 15px;

      background:#ffffff06;
      border:1px solid var(--line);
      border-radius:12px;
    }

    .summary-label{
      color:var(--muted);
      font-size:9px;
      font-weight:700;
      letter-spacing:.08em;
    }

    #summaryValue{
      color:var(--orange);
      font-size:11px;
      font-weight:700;
      text-align:right;
    }

    /* =========================
       ACTION
    ========================= */

    .convert{
      width:100%;

      margin-top:14px;
      padding:15px;

      border:0;
      border-radius:14px;

      background:linear-gradient(var(--orange),var(--deep));

      color:#1a0f03;

      font-family:Poppins,sans-serif;
      font-size:14px;
      font-weight:800;

      cursor:pointer;

      transition:
        transform .15s ease,
        filter .15s ease;
    }

    .convert:hover{
      filter:brightness(1.08);
      transform:translateY(-1px);
    }

    .convert:active{
      transform:scale(.99);
    }

    .convert:disabled{
      opacity:.5;
      cursor:not-allowed;
      transform:none;
    }

    /* =========================
       STATUS
    ========================= */

    .status{
      display:flex;
      align-items:center;
      gap:8px;

      margin-top:17px;

      color:var(--muted);
      font-size:11px;
    }

    .dot{
      width:7px;
      height:7px;

      flex-shrink:0;

      border-radius:50%;
      background:#66636b;
    }

    .status.processing .dot{
      background:var(--orange);
      box-shadow:0 0 8px var(--orange);
      animation:pulse 1s infinite;
    }

    .status.success{
      color:var(--green);
    }

    .status.success .dot{
      background:var(--green);
      box-shadow:0 0 8px #48d59788;
    }

    .status.error{
      color:var(--red);
    }

    .status.error .dot{
      background:var(--red);
    }

    /* =========================
       PROGRESS
    ========================= */

    .progress{
      display:none;

      height:5px;
      margin-top:16px;

      overflow:hidden;

      background:#ffffff0c;
      border-radius:99px;
    }

    .progress.show{
      display:block;
    }

    .progress-bar{
      width:0%;
      height:100%;

      border-radius:99px;

      background:
        linear-gradient(
          90deg,
          var(--deep),
          var(--orange)
        );

      transition:width .35s ease;
    }

    /* =========================
       INFO
    ========================= */

    .info{
      max-width:660px;

      margin:14px auto 0;
      padding:15px 18px;

      color:#747178;

      border:1px solid var(--line);
      border-radius:14px;

      font-size:10.5px;
      line-height:1.6;
    }

    .info strong{
      color:var(--muted);
    }

    /* =========================
       BOTTOM
    ========================= */

    .bottom{
      text-align:center;
      margin-top:34px;
    }

    .back{
      display:inline-flex;
      align-items:center;
      gap:8px;

      padding:11px 18px;

      border:1px solid var(--line);
      border-radius:99px;

      color:var(--muted);
      text-decoration:none;

      font-family:Poppins,sans-serif;
      font-size:11px;
      font-weight:600;

      transition:.15s;
    }

    .back:hover{
      color:var(--white);
      background:var(--card);
      border-color:#ffffff2c;
    }

    .footer{
      margin-top:20px;

      color:#5f5d64;

      font-size:9px;
      letter-spacing:.06em;
    }


    /* =========================
       FEEDBACK
    ========================= */

    .feedback{
      max-width:660px;
      margin:14px auto 0;
      padding:24px;
      background:linear-gradient(180deg,var(--card),var(--rise));
      border:1px solid var(--line);
      border-radius:18px;
    }

    .feedback-title{
      margin:0 0 5px;
      font-family:Poppins,sans-serif;
      font-size:15px;
      font-weight:800;
    }

    .feedback-subtitle{
      margin:0 0 18px;
      color:var(--muted);
      font-size:10.5px;
      line-height:1.6;
    }

    .feedback-label{
      display:block;
      margin:14px 0 8px;
      color:var(--muted);
      font-size:9px;
      font-weight:700;
      letter-spacing:.08em;
    }

    .stars{
      display:flex;
      gap:5px;
      margin-bottom:4px;
    }

    .star-btn{
      padding:0;
      border:0;
      background:transparent;
      color:#555259;
      cursor:pointer;
      font-size:28px;
      line-height:1;
      transition:transform .12s ease,color .12s ease;
    }

    .star-btn:hover{
      transform:translateY(-1px);
    }

    .star-btn.active{
      color:var(--orange);
      text-shadow:0 0 12px #f4801f55;
    }

    .feedback input,
    .feedback textarea{
      width:100%;
      padding:12px 13px;
      outline:0;
      background:#0e0e10;
      border:1px solid var(--line);
      border-radius:11px;
      color:var(--white);
      font-size:12px;
      transition:.15s;
    }

    .feedback input:focus,
    .feedback textarea:focus{
      border-color:#f4801f66;
      box-shadow:0 0 0 3px #f4801f0c;
    }

    .feedback textarea{
      min-height:105px;
      resize:vertical;
      line-height:1.55;
    }

    .feedback-send{
      width:100%;
      margin-top:14px;
      padding:13px;
      border:0;
      border-radius:12px;
      background:linear-gradient(var(--orange),var(--deep));
      color:#1a0f03;
      cursor:pointer;
      font-family:Poppins,sans-serif;
      font-size:12px;
      font-weight:800;
    }

    .feedback-send:disabled{
      opacity:.5;
      cursor:not-allowed;
    }

    .feedback-status{
      min-height:17px;
      margin-top:10px;
      color:var(--muted);
      font-size:10.5px;
    }

    .feedback-status.success{color:var(--green);}
    .feedback-status.error{color:var(--red);}

	   
    /* =========================
       ANIMATIONS
    ========================= */

    @keyframes float{
      50%{
        transform:translateY(-7px);
      }
    }

    @keyframes up{
      from{
        opacity:0;
        transform:translateY(10px);
      }

      to{
        opacity:1;
        transform:none;
      }
    }

    @keyframes pulse{
      50%{
        opacity:.35;
      }
    }

    /* =========================
       MOBILE
    ========================= */

    @media(max-width:540px){

      .page{
        padding:14px 14px 40px;
      }

      .mediaforge-top{
        gap:10px;
        margin-bottom:28px;
      }

      .mediaforge-heading h1{
        font-size:34px;
      }

      .mediaforge-heading p{
        font-size:13px;
      }

      .tool{
        padding:20px;
      }

      .select-file{
        padding:9px;
      }

      .quality-options{
        gap:6px;
      }

      .quality-btn{
        font-size:11px;
      }

      .trim-fields{
        grid-template-columns:1fr;
      }

      .time-arrow{
        padding:0;
        text-align:center;
        transform:rotate(90deg);
      }

      .summary{
        align-items:flex-start;
        flex-direction:column;
      }

      #summaryValue{
        text-align:left;
      }
    }

/* =========================
   MEDIAFORGE ALT FOOTER
========================= */
.mediaforge-footer{
  display:flex;
  justify-content:space-between;
  color:#66636b;
  font-size:11px;
  padding:24px 4px 0;
}

@media(max-width:600px){
  .mediaforge-footer{
    display:block;
    line-height:1.8;
  }
}
