*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --black:#0a0a0a;
  --white:#ffffff;
  --yellow:#FFE500;
  --pink:#FF3CAC;
  --blue:#3B82F6;
  --green:#00C853;
  --red:#FF1744;
  --border:4px solid var(--black);
  --border-sm:2px solid var(--black);
  --shadow:4px 4px 0px var(--black);
  --shadow-lg:6px 6px 0px var(--black);
  --shadow-xl:10px 10px 0px var(--black);
}

html,body{
  min-height:100%;
  background:var(--white);
  background-image:radial-gradient(circle, rgba(10,10,10,0.15) 1.5px, transparent 1.5px);
  background-size:24px 24px;
  color:var(--black);
  font-family:'Space Mono',monospace;
}

body{display:flex;flex-direction:column;min-height:100vh}

/* HEADER */
header{
  background:var(--yellow);
  border-bottom:var(--border);
  position:sticky;top:0;z-index:100;
  display:flex;
  justify-content:space-between;
  align-items:stretch;
}

.logo-block{
  padding:20px 32px;
  border-right:var(--border);
  display:flex;align-items:center;gap:16px;
}

.logo-icon{
  width:42px;height:42px;
  background:var(--black);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transform:rotate(-3deg);
  transition:transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.logo-block:hover .logo-icon{transform:rotate(6deg) scale(1.1)}
.logo-icon svg{width:22px;height:22px;stroke:var(--yellow);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

.logo-text{
  font-family:'Bebas Neue',sans-serif;
  font-size:38px;letter-spacing:2px;
  line-height:1;color:var(--black);
}
.logo-dot{color:var(--pink)}

.header-badge{
  padding:20px 32px;
  font-size:11px;letter-spacing:2px;text-transform:uppercase;
  display:flex;align-items:center;gap:10px;font-weight:700;
}
.badge-dot{
  width:10px;height:10px;background:var(--black);
  border-radius:50%;animation:blink 1.2s ease-in-out infinite;
}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.2}}

/* HERO */
.hero{
  background:var(--black);
  color:var(--white);
  padding:80px 32px 70px;
  border-bottom:var(--border);
  position:relative;overflow:hidden;
}
.hero-container{
  max-width:1200px;
  margin:0 auto;
  position:relative;
  z-index:2;
}
.hero-bg-text{
  position:absolute;
  font-family:'Bebas Neue',sans-serif;
  font-size:260px;
  color:rgba(255,255,255,0.03);
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  white-space:nowrap;
  pointer-events:none;
  letter-spacing:12px;
  user-select:none;
  z-index:1;
}
.hero-tag{
  display:inline-block;
  background:var(--pink);color:var(--white);
  font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:700;
  padding:6px 14px;margin-bottom:24px;
  border:var(--border-sm);
  box-shadow:2px 2px 0 var(--white);
}
h1{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(64px,12vw,130px);
  line-height:0.85;letter-spacing:1px;
  margin-bottom:24px;
}
h1 .accent{
  color:var(--yellow);display:inline-block;position:relative;
}
.hero-sub{
  font-size:14px;letter-spacing:1px;
  color:rgba(255,255,255,0.7);
  line-height:1.8;max-width:500px;text-transform:uppercase;
}
.hero-sub span{color:var(--yellow);font-weight:700}

/* STATS BAR */
.stats-bar{
  display:grid;grid-template-columns:repeat(3, 1fr);
  border-bottom:var(--border);background:var(--white);
  position:relative;z-index:1;
}
.stat-item{
  padding:24px;border-right:var(--border);text-align:center;
}
.stat-item:last-child{border-right:none}
.stat-num{
  font-family:'Bebas Neue',sans-serif;
  font-size:48px;letter-spacing:2px;line-height:1;
  color:var(--black);display:block;
}
.stat-label{
  font-size:10px;letter-spacing:2px;text-transform:uppercase;
  color:#666;margin-top:6px;display:block;font-weight:700;
}

/* MAIN LAYOUT */
.main{
  flex:1;display:grid;
  grid-template-columns:1fr 380px;
  position:relative;z-index:1;
  max-width:100%;
}

.left-panel{
  padding:56px 40px;border-right:var(--border);
  display:flex;flex-direction:column;gap:56px;
  background:var(--white);
}

.section-label{
  font-size:11px;letter-spacing:3px;text-transform:uppercase;
  font-weight:700;color:var(--black);
  display:flex;align-items:center;gap:12px;margin-bottom:20px;
}
.section-label::before{
  content:'';display:block;width:20px;height:4px;background:var(--black);
}

/* INPUT CARD */
.input-card{
  background:var(--white);border:var(--border);
  box-shadow:var(--shadow-xl);padding:32px;
  display:flex;
  flex-direction:column;
  gap:20px;
}

.form-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.input-label{
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
  color:#555;
}

.input-container{
  display:flex;
  border:var(--border);
  background:var(--white);
  transition:transform 0.15s, box-shadow 0.15s;
}
.input-container:focus-within{
  transform:translate(-2px, -2px);
  box-shadow:var(--shadow);
}

.url-input, .slug-input{
  flex:1;padding:16px;
  font-family:'Space Mono',monospace;font-size:14px;
  border:none;outline:none;background:transparent;color:var(--black);
}
.url-input::placeholder, .slug-input::placeholder{color:#a0a0a0;font-style:italic}

.slug-prefix{
  font-size:12px;padding:16px;background:#f0f0f0;
  border-right:var(--border);color:#555;font-weight:700;
  white-space:nowrap;letter-spacing:0.5px;
  display:flex;align-items:center;
}

.shorten-btn{
  width:100%;
  padding:18px;
  background:var(--yellow);color:var(--black);
  font-family:'Bebas Neue',sans-serif;font-size:28px;letter-spacing:2px;
  border:var(--border);cursor:pointer;
  transition:transform 0.1s, box-shadow 0.1s, background-color 0.1s;
  white-space:nowrap;
  box-shadow:var(--shadow);
  margin-top:8px;
}
.shorten-btn:hover{background:#fff275;transform:translate(-2px,-2px);box-shadow:var(--shadow-lg)}
.shorten-btn:active{transform:translate(2px,2px);box-shadow:none}
.shorten-btn:disabled{background:#e0e0e0;color:#999;cursor:not-allowed;transform:none;box-shadow:none}

/* STATUS AREA */
.status-wrapper {
  margin-top:-16px;
}
.status{
  border:var(--border);padding:24px;
  animation:popIn 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
@keyframes popIn{
  from{opacity:0;transform:scale(0.96) translateY(10px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}
.status.success{background:var(--green);box-shadow:var(--shadow)}
.status.error{background:var(--red);color:var(--white);box-shadow:var(--shadow)}

.status-label{
  font-size:11px;letter-spacing:2px;text-transform:uppercase;
  font-weight:700;margin-bottom:12px;color:var(--black);
}
.status.error .status-label{color:var(--white)}

.short-url-container{
  display:flex;
  border:var(--border);
  background:var(--white);
  margin-bottom:4px;
  box-shadow:var(--shadow);
}
.short-url-display{
  flex:1;
  font-family:'Space Mono', monospace;
  font-size:15px;
  font-weight:700;
  color:var(--black);
  padding:14px;
  word-break:break-all;
  display:flex;
  align-items:center;
  background:transparent;
}
.copy-btn{
  font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px;
  padding:0 24px;border:none;border-left:var(--border);
  background:var(--yellow);color:var(--black);
  cursor:pointer;transition:background 0.1s;
}
.copy-btn:hover{background:#fff275;}

.error-msg{font-size:14px;line-weight:1.6;font-weight:700;}

/* HOW IT WORKS */
.how-card{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
}
.how-step{
  background:var(--white);
  border:var(--border);
  box-shadow:var(--shadow);
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:16px;
  transition:transform 0.15s, box-shadow 0.15s;
}
.how-step:hover{
  transform:translate(-4px, -4px);
  box-shadow:var(--shadow-lg);
  background:var(--yellow);
}
.how-num{
  font-family:'Bebas Neue',sans-serif;font-size:24px;color:var(--white);
  background:var(--black);width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.how-step:hover .how-num{color:var(--black);background:var(--pink)}
.how-title{font-weight:700;font-size:14px;letter-spacing:0.5px}
.how-desc{font-size:12px;color:#555;line-height:1.6}
.how-step:hover .how-desc{color:var(--black)}

/* RIGHT PANEL - HISTORY */
.right-panel{
  background:var(--white);display:flex;flex-direction:column;
}
.right-panel-header{
  padding:24px;border-bottom:var(--border);
  background:var(--pink);position:sticky;top:86px;z-index:10;
}
.right-panel-header .section-label{margin-bottom:0;color:var(--black)}

.history-list{
  flex:1;overflow-y:auto;
  max-height:calc(100vh - 250px);
}
.history-item{
  padding:24px;border-bottom:var(--border);
  animation:slideIn 0.2s ease;transition:background 0.1s;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.history-item:last-child{border-bottom:none}
.history-item:hover{background:rgba(255, 229, 0, 0.3)}
@keyframes slideIn{
  from{opacity:0;transform:translateX(12px)}
  to{opacity:1;transform:translateX(0)}
}
.history-top{
  display:flex;
  justify-content:between;
  align-items:center;
}
.history-num{
  font-size:10px;letter-spacing:1px;text-transform:uppercase;
  color:#777;font-weight:700;flex:1;
}
.history-short{
  font-family:'Space Mono',monospace;font-size:14px;font-weight:700;
  color:var(--black);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.history-long{
  font-size:11px;color:#666;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  margin-bottom:8px;
}
.history-copy{
  font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:2px;
  padding:8px 16px;border:var(--border-sm);
  background:var(--white);cursor:pointer;color:var(--black);transition:all 0.1s;
  width:max-content;
  box-shadow:2px 2px 0 var(--black);
}
.history-copy:hover{background:var(--black);color:var(--yellow);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--black)}
.history-copy:active{transform:translate(1px,1px);box-shadow:none}

.empty-state{
  padding:64px 24px;text-align:center;
  font-size:12px;letter-spacing:1px;text-transform:uppercase;
  color:#777;line-height:2;
}
.empty-icon{
  font-family:'Bebas Neue',sans-serif;font-size:48px;
  color:#ddd;display:block;margin-bottom:12px;letter-spacing:2px;
}

/* FOOTER */
footer{
  background:var(--black);color:var(--white);
  border-top:var(--border);padding:24px 32px;
  display:flex;align-items:center;justify-content:space-between;
  position:relative;z-index:1;
  margin-top:auto;
}
.footer-note{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#888}
.cf-badge{
  font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:2px;
  padding:4px 14px;border:2px solid var(--yellow);color:var(--yellow);
}

/* SPINNER */
.spinner{
  display:inline-block;width:20px;height:20px;
  border:3px solid rgba(10,10,10,0.2);border-top-color:var(--black);
  border-radius:50%;animation:spin 0.6s linear infinite;vertical-align:middle;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* RESPONSIVE DESIGN */
@media(max-width:1024px){
  .main{grid-template-columns:1fr}
  .right-panel{border-top:var(--border)}
  .left-panel{padding:40px 24px}
  .how-card{grid-template-columns:1fr}
  .history-list{max-height:400px}
}

@media(max-width:640px){
  header{flex-direction:column}
  .logo-block{border-right:none;border-bottom:var(--border)}
  .stats-bar{grid-template-columns:1fr;gap:0}
  .stat-item{border-right:none;border-bottom:var(--border)}
  .stat-item:last-child{border-bottom:none}
  .slug-prefix{display:none} /* Clean context preservation for tight devices */
  .input-card{padding:20px}
}
