/* Commission Request Form: Fallout-terminal styling.
   Scoped under .cfe-cf-wrap so it never leaks into the rest of the site. */

.cfe-cf-wrap{
  --page:#1a1a17;
  --bezel:#232019;
  --bezel-2:#2d2a21;
  --bezel-line:#413c2e;
  --screen:#04140a;
  --panel:#072012;
  --panel-2:#0a2916;
  --green:#3dff72;
  --green-soft:#28c257;
  --green-dim:#1c8f3d;
  --green-deep:#0d5a24;
  --red:#ff3b30;
  --red-dim:#4a1310;

  background:var(--page);color:var(--green);
  font-family:'VT323',ui-monospace,'Consolas',monospace;
  padding:40px 18px 56px;display:flex;justify-content:center;
  border-radius:14px;
  font-size:1.125rem; /* VT323 reads small at browser default size */
}
.cfe-cf-wrap *,.cfe-cf-wrap *::before,.cfe-cf-wrap *::after{box-sizing:border-box;}

.cfe-cf-wrap{scrollbar-color:var(--green-deep) var(--page);scrollbar-width:thin;}
.cfe-cf-wrap ::-webkit-scrollbar{width:12px;height:12px;}
.cfe-cf-wrap ::-webkit-scrollbar-track{background:var(--page);}
.cfe-cf-wrap ::-webkit-scrollbar-thumb{background:var(--green-deep);border:3px solid var(--page);border-radius:7px;}
.cfe-cf-wrap ::-webkit-scrollbar-thumb:hover{background:var(--green-dim);}
.cfe-cf-wrap textarea{scrollbar-color:var(--green-dim) var(--panel);}
.cfe-cf-wrap textarea::-webkit-scrollbar-track{background:var(--panel);}

.cfe-cf-inner{width:100%;max-width:600px;}

/* ---- Monitor housing ---- */
.cfe-cf-wrap .monitor{
  background:linear-gradient(180deg,var(--bezel-2),var(--bezel));
  border:1px solid var(--bezel-line);
  border-radius:14px;
  padding:16px 16px 20px;
  box-shadow:0 24px 50px -26px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.04);
}
.cfe-cf-wrap .bezel-top{
  display:flex;align-items:center;justify-content:space-between;
  padding:2px 8px 14px;
}
.cfe-cf-wrap .bezel-label{
  font-family:'Black Ops One',system-ui,sans-serif;
  font-size:.72rem;letter-spacing:.05em;color:#8c8570;
  text-shadow:0 1px 0 rgba(0,0,0,.5);
}
.cfe-cf-wrap .led{
  width:11px;height:11px;border-radius:50%;flex:none;
  background:var(--green-dim);box-shadow:0 0 4px var(--green-dim);
  transition:background .2s ease,box-shadow .2s ease;
}
.cfe-cf-wrap .led.sending{animation:cfe-led-red .45s steps(1,end) infinite;}
@keyframes cfe-led-red{
  0%,49%{background:var(--red);box-shadow:0 0 6px var(--red),0 0 14px rgba(255,59,48,.6);}
  50%,100%{background:var(--red-dim);box-shadow:none;}
}
.cfe-cf-wrap .led.success{background:var(--green);box-shadow:0 0 6px var(--green),0 0 18px rgba(61,255,114,.75);animation:none;}

.cfe-cf-wrap .screen{
  position:relative;
  background:var(--screen);
  border:2px solid #000;
  border-radius:5px;
  overflow:hidden;
  box-shadow:inset 0 0 40px rgba(0,0,0,.85), inset 0 0 3px rgba(0,0,0,.9);
}
.cfe-cf-wrap .crt-overlay{
  position:absolute;inset:0;z-index:5;pointer-events:none;
  background-image:
    radial-gradient(ellipse at center, transparent 55%, rgba(0,0,0,.5) 125%),
    repeating-linear-gradient(to bottom, rgba(0,0,0,.22) 0px, rgba(0,0,0,.22) 1px, transparent 2px, transparent 3px);
}
.cfe-cf-wrap .corner{
  position:absolute;z-index:4;color:var(--green-deep);font-size:1.1rem;line-height:1;
  font-family:'VT323',monospace;pointer-events:none;
}
.cfe-cf-wrap .corner.tl{top:6px;left:8px;} .cfe-cf-wrap .corner.tr{top:6px;right:8px;}
.cfe-cf-wrap .corner.bl{bottom:6px;left:8px;} .cfe-cf-wrap .corner.br{bottom:6px;right:8px;}

.cfe-cf-wrap .screen-inner{
  position:relative;z-index:1;padding:30px 28px 26px;
  animation:cfe-boot-flicker .6s steps(2,end) 1;
}
@keyframes cfe-boot-flicker{
  0%{opacity:0;} 30%{opacity:.6;} 45%{opacity:.15;} 60%{opacity:1;} 100%{opacity:1;}
}

.cfe-cf-wrap .glow{text-shadow:0 0 2px currentColor, 0 0 9px rgba(61,255,114,.55);}

.cfe-cf-wrap .term-title{font-size:.95rem;letter-spacing:.1em;color:var(--green-dim);margin-bottom:6px;word-break:break-all;}
.cfe-cf-wrap h1{
  margin:0 0 14px;font-family:'VT323',monospace;font-weight:400;
  font-size:clamp(1.9rem,6vw,2.5rem);letter-spacing:.02em;text-transform:uppercase;
  color:var(--green);text-shadow:0 0 3px var(--green),0 0 14px rgba(61,255,114,.5);
}
.cfe-cf-wrap h2{margin:0;font-weight:400;font-size:1.35rem;color:var(--green);text-shadow:0 0 2px var(--green),0 0 8px rgba(61,255,114,.4);text-transform:uppercase;letter-spacing:.03em;}

.cfe-cf-wrap .term-meta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:1.05rem;margin-bottom:18px;}
.cfe-cf-wrap .ticket-tag b{font-variant-numeric:tabular-nums;color:var(--green);}
.cfe-cf-wrap .cursor{display:inline-block;margin-left:2px;animation:cfe-blink-cursor 1.06s steps(1,end) infinite;}
@keyframes cfe-blink-cursor{0%,49%{opacity:1;}50%,100%{opacity:0;}}
.cfe-cf-wrap .status-tag{display:flex;align-items:center;gap:8px;color:var(--green-soft);}
.cfe-cf-wrap .pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 5px var(--green);animation:cfe-pulse 2.2s ease-out infinite;flex:none;}
@keyframes cfe-pulse{0%{box-shadow:0 0 0 0 rgba(61,255,114,.55);}70%{box-shadow:0 0 0 8px rgba(61,255,114,0);}100%{box-shadow:0 0 0 0 rgba(61,255,114,0);}}

.cfe-cf-wrap .hr{height:1px;background:repeating-linear-gradient(to right,var(--green-deep) 0 6px,transparent 6px 10px);margin-bottom:22px;}

.cfe-cf-wrap .phase-wrap{position:relative;overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1);}

.cfe-cf-wrap .progress{position:relative;display:flex;justify-content:space-between;margin-bottom:26px;}
.cfe-cf-wrap .progress-line{position:absolute;top:6px;left:14px;right:14px;height:2px;background:var(--green-deep);z-index:0;}
.cfe-cf-wrap .progress-fill{height:100%;width:0%;background:var(--green);box-shadow:0 0 6px var(--green);transition:width .5s ease;}
.cfe-cf-wrap .progress-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--screen);padding:0 6px;}
.cfe-cf-wrap .progress-step .dot{width:12px;height:12px;border-radius:50%;background:var(--panel);border:2px solid var(--green-deep);transition:all .3s ease;}
.cfe-cf-wrap .progress-step .label{font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;color:var(--green-dim);}
.cfe-cf-wrap .progress-step.done .dot{background:var(--green-dim);border-color:var(--green-dim);}
.cfe-cf-wrap .progress-step.active .dot{border-color:var(--green);background:var(--panel);box-shadow:0 0 6px var(--green);}
.cfe-cf-wrap .progress-step.active .label{color:var(--green);}

.cfe-cf-wrap .step{display:none;}
.cfe-cf-wrap .step.active{display:block;animation:cfe-enter .3s ease both;}
@keyframes cfe-enter{from{opacity:0;transform:translateX(8px);}to{opacity:1;transform:translateX(0);}}

.cfe-cf-wrap .step-label{margin-bottom:16px;}
.cfe-cf-wrap .step-label p{margin:4px 0 0;color:var(--green-dim);font-size:1.02rem;}

.cfe-cf-wrap .field{margin-bottom:20px;}
.cfe-cf-wrap .field label,.cfe-cf-wrap .field .flabel{
  display:block;font-size:1rem;letter-spacing:.07em;text-transform:uppercase;
  color:var(--green-dim);margin-bottom:8px;
}
.cfe-cf-wrap .flabel .opt{text-transform:none;letter-spacing:0;color:var(--green-dim);}

.cfe-cf-wrap .pills{display:flex;flex-wrap:wrap;gap:8px;}
.cfe-cf-wrap .pill{
  font-family:'VT323',monospace;font-size:1.02rem;letter-spacing:.02em;
  background:var(--panel);border:1px solid var(--green-deep);color:var(--green-soft);
  padding:8px 14px;border-radius:3px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;
}
.cfe-cf-wrap .pill:hover{border-color:var(--green);}
.cfe-cf-wrap .pill[aria-pressed="true"]{background:var(--green-dim);border-color:var(--green);color:#04140a;box-shadow:0 0 8px rgba(61,255,114,.45);}
.cfe-cf-wrap .pill:focus-visible{outline:2px solid var(--green);outline-offset:2px;}
.cfe-cf-wrap .pill.bashful{background:var(--red);border-color:var(--red);color:#1a0403;animation:cfe-wobble .5s ease;box-shadow:0 0 10px rgba(255,59,48,.6);}
@keyframes cfe-wobble{0%,100%{transform:rotate(0);}25%{transform:rotate(-6deg);}75%{transform:rotate(6deg);}}

.cfe-cf-wrap input[type="text"],.cfe-cf-wrap input[type="email"],.cfe-cf-wrap input[type="date"],.cfe-cf-wrap textarea,.cfe-cf-wrap select{
  width:100%;background:var(--panel);border:1px solid var(--green-deep);border-radius:3px;
  color:var(--green);font-family:'VT323',monospace;font-size:1.08rem;padding:11px 12px;
  caret-color:var(--green);transition:border-color .15s ease;
}
.cfe-cf-wrap textarea{resize:vertical;min-height:100px;line-height:1.45;}
.cfe-cf-wrap input::placeholder,.cfe-cf-wrap textarea::placeholder{color:#2a6b3d;}
.cfe-cf-wrap input:focus,.cfe-cf-wrap textarea:focus,.cfe-cf-wrap select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(61,255,114,.14);}
.cfe-cf-wrap .hint{font-size:.95rem;color:var(--green-dim);margin-top:6px;}
.cfe-cf-wrap .err{font-size:.95rem;color:var(--red);margin-top:6px;display:none;text-shadow:0 0 4px rgba(255,59,48,.5);}
.cfe-cf-wrap .field.invalid input,.cfe-cf-wrap .field.invalid textarea{border-color:var(--red);}
.cfe-cf-wrap .field.invalid .err{display:block;}
.cfe-cf-wrap .confirm-error{font-size:1rem;color:var(--red);text-shadow:0 0 4px rgba(255,59,48,.5);margin-top:16px;}
.cfe-cf-wrap .confirm-error[hidden]{display:none;}

.cfe-cf-wrap .rich{border:1px solid var(--green-deep);border-radius:3px;overflow:hidden;background:var(--panel);}
.cfe-cf-wrap .rich-toolbar{display:flex;gap:6px;padding:7px;border-bottom:1px solid var(--green-deep);background:var(--panel-2);}
.cfe-cf-wrap .tbtn{
  font-family:'VT323',monospace;font-size:.95rem;letter-spacing:.02em;
  background:var(--panel);border:1px solid var(--green-deep);color:var(--green-dim);
  padding:5px 10px;border-radius:3px;cursor:pointer;transition:all .15s ease;
}
.cfe-cf-wrap .tbtn:hover{border-color:var(--green);color:var(--green);}
.cfe-cf-wrap .rich textarea{border:none;border-radius:0;background:transparent;}
.cfe-cf-wrap .rich textarea:focus{box-shadow:none;}
.cfe-cf-wrap .thumbs{display:flex;flex-wrap:wrap;gap:8px;padding:0 10px 10px;}
.cfe-cf-wrap .thumb{position:relative;width:44px;height:44px;border-radius:3px;overflow:visible;}
.cfe-cf-wrap .thumb img{width:100%;height:100%;object-fit:cover;border-radius:3px;border:1px solid var(--green-deep);display:block;filter:saturate(.5) sepia(.15) hue-rotate(60deg);}
.cfe-cf-wrap .thumb .rm{
  position:absolute;top:-6px;right:-6px;width:17px;height:17px;border-radius:50%;
  background:var(--red);color:#1a0403;border:1px solid var(--screen);font-size:.7rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}

.cfe-cf-wrap .reveal{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .3s ease,margin .3s ease;}
.cfe-cf-wrap .reveal.open{max-height:120px;opacity:1;margin-top:12px;}

.cfe-cf-wrap .check-row{display:flex;gap:8px;align-items:flex-start;font-size:1.02rem;color:var(--green-dim);line-height:1.5;cursor:pointer;}
.cfe-cf-wrap .check-row input{position:absolute;opacity:0;width:1px;height:1px;}
.cfe-cf-wrap .check-row .box{
  flex:none;font-family:'VT323',monospace;font-size:1.15rem;letter-spacing:0;
  color:var(--green-soft);margin-top:1px;
}
.cfe-cf-wrap .check-row .box::before{content:"[ ]";}
.cfe-cf-wrap .check-row input:checked ~ .box::before{content:"[X]";}
.cfe-cf-wrap .check-row input:checked ~ .box{color:var(--green);text-shadow:0 0 4px var(--green),0 0 10px rgba(61,255,114,.5);}
.cfe-cf-wrap .check-row input:focus-visible ~ .box{outline:2px solid var(--green);outline-offset:2px;}
.cfe-cf-wrap .check-row a{color:var(--green);}

.cfe-cf-wrap .review{background:var(--panel);border:1px dashed var(--green-deep);border-radius:3px;padding:14px 16px;margin-bottom:6px;}
.cfe-cf-wrap .review-row{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid var(--green-deep);font-size:1rem;}
.cfe-cf-wrap .review-row:last-child{border-bottom:none;}
.cfe-cf-wrap .review-row .k{color:var(--green-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.92rem;}
.cfe-cf-wrap .review-row .v{text-align:right;max-width:65%;color:var(--green);}

.cfe-cf-wrap .actions{display:flex;justify-content:space-between;align-items:center;padding-top:6px;}
.cfe-cf-wrap .btn{
  font-family:'VT323',monospace;font-weight:400;font-size:1.08rem;letter-spacing:.04em;
  border-radius:3px;padding:11px 22px;cursor:pointer;border:1px solid var(--green-deep);
  background:transparent;color:var(--green-soft);
  transition:transform .1s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.cfe-cf-wrap .btn:active{transform:scale(.97);}
.cfe-cf-wrap .btn-ghost:hover{border-color:var(--green);color:var(--green);}
.cfe-cf-wrap .btn-primary{background:var(--green-dim);border-color:var(--green);color:#04140a;box-shadow:0 0 8px rgba(61,255,114,.35);}
.cfe-cf-wrap .btn-primary:hover{background:var(--green-soft);}
.cfe-cf-wrap .btn[hidden]{display:none;}
.cfe-cf-wrap .btn:disabled{opacity:.6;cursor:default;}
.cfe-cf-wrap .spacer{flex:1;}

.cfe-cf-wrap .shake{animation:cfe-shake .38s ease;}
@keyframes cfe-shake{
  10%,90%{transform:translateX(-1px);}20%,80%{transform:translateX(2px);}
  30%,50%,70%{transform:translateX(-4px);}40%,60%{transform:translateX(4px);}
}

/* ---- Loading stage ---- */
.cfe-cf-wrap .loading-stage{text-align:center;padding:34px 10px 10px;}
.cfe-cf-wrap .mail-anim{position:relative;width:110px;height:88px;margin:0 auto 20px;perspective:340px;}
.cfe-cf-wrap .envelope2{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:96px;height:60px;}
.cfe-cf-wrap .env2-body{position:absolute;inset:0;background:var(--panel-2);border:2px solid var(--green-dim);border-radius:2px;}
.cfe-cf-wrap .env2-flap{
  position:absolute;top:0;left:0;width:100%;height:32px;background:var(--green-deep);
  clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top center;transform:rotateX(0deg);
  transition:transform .5s ease;z-index:2;
}
.cfe-cf-wrap .env2-flap.closed{transform:rotateX(180deg);}
.cfe-cf-wrap .letter{
  position:absolute;left:50%;top:-46px;width:68px;height:44px;
  background:var(--panel);border:2px solid var(--green-soft);z-index:1;
  animation:cfe-letter-drop 1.1s ease-in forwards;
}
@keyframes cfe-letter-drop{
  0%{top:-46px;opacity:1;transform:translateX(-50%) scale(1);}
  70%{top:12px;opacity:1;transform:translateX(-50%) scale(.88);}
  100%{top:24px;opacity:0;transform:translateX(-50%) scale(.5);}
}
.cfe-cf-wrap .loading-text{font-size:1.15rem;letter-spacing:.06em;color:var(--green);text-transform:uppercase;}

/* ---- Confirm stage ---- */
.cfe-cf-wrap .confirm-stage{padding-top:4px;}
.cfe-cf-wrap .blink-line{
  font-size:1.4rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 18px;
  color:var(--green);text-shadow:0 0 3px var(--green),0 0 14px rgba(61,255,114,.6);
  animation:cfe-term-blink .5s ease-in-out 7;
}
@keyframes cfe-term-blink{0%{opacity:1;}50%{opacity:.12;}100%{opacity:1;}}
.cfe-cf-wrap .confirm-ticket{font-size:1.1rem;color:var(--green-soft);margin-bottom:16px;}
.cfe-cf-wrap .confirm-ticket b{color:var(--green);}
.cfe-cf-wrap .confirm-note{color:var(--green-dim);font-size:1rem;margin:16px 0 0;line-height:1.55;}

.cfe-cf-wrap .stand{width:120px;height:16px;margin:0 auto;margin-top:-2px;
  background:linear-gradient(180deg,var(--bezel-2),var(--bezel));
  border:1px solid var(--bezel-line);border-top:none;border-radius:0 0 8px 8px;
}

@media (prefers-reduced-motion: reduce){
  .cfe-cf-wrap *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
}

@media (max-width:480px){
  .cfe-cf-wrap .screen-inner{padding:24px 18px 20px;}
  .cfe-cf-wrap .term-meta{gap:10px;}
}
