/* ─────────────────────────────────────────────
   garage.css  —  styles for garage page
   ───────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{--moss:#2d4a2f;--fern:#4a7c4e;--sage:#8aad8c;--mist:#c8ddc9;--cream:#f5f0e8;--soil:#3a2e1e;--amber:#c8921a;--glass:rgba(200,221,201,0.15);--glass-border:rgba(138,173,140,0.3);--nav:92px;}
html{scroll-behavior:smooth;}
body{background:#0e1a0f;color:var(--cream);font-family:'Cormorant Garamond',serif;overflow-x:hidden;cursor:none;margin-left:var(--nav);min-height:100vh;}
body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 80%,rgba(45,74,47,.6) 0%,transparent 70%),radial-gradient(ellipse 40% 50% at 20% 30%,rgba(74,124,78,.15) 0%,transparent 60%),radial-gradient(ellipse 30% 40% at 80% 20%,rgba(138,173,140,.1) 0%,transparent 50%),#0e1a0f;pointer-events:none;z-index:-3;}
body::after{content:'';position:fixed;inset:0;background:repeating-linear-gradient(90deg,transparent 0px,transparent 119px,rgba(138,173,140,.028) 120px,rgba(138,173,140,.028) 121px),repeating-linear-gradient(0deg,transparent 0px,transparent 119px,rgba(138,173,140,.018) 120px,rgba(138,173,140,.018) 121px);pointer-events:none;z-index:-2;}
.noise{position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");}
.leaf{position:fixed;pointer-events:none;z-index:-1;opacity:.055;}
.leaf-1{top:-8%;right:-3%;width:520px;animation:sway 9s ease-in-out infinite;}
.leaf-2{bottom:-12%;left:-6%;width:620px;animation:sway 11s ease-in-out infinite reverse;}
.leaf-3{top:30%;left:3%;width:280px;opacity:.03;animation:sway 14s ease-in-out infinite 3s;}
@keyframes sway{0%,100%{transform:rotate(0deg) scale(1)}33%{transform:rotate(3deg) scale(1.02)}66%{transform:rotate(-2deg) scale(.98)}}
.cursor{position:fixed;width:10px;height:10px;background:var(--sage);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s;mix-blend-mode:screen;}
.cursor-ring{position:fixed;width:36px;height:36px;border:1px solid var(--sage);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);opacity:0.5;}

/* EVENT LOCK CARD */
.event-lock-card{position:relative;padding:1.4rem;border-radius:18px;background:rgba(45,30,5,.4);border:1px solid rgba(200,146,26,.35);backdrop-filter:blur(18px);overflow:hidden;margin-bottom:1.25rem;}
.event-lock-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(200,146,26,.15),transparent 60%);pointer-events:none;}
.event-lock-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--amber),transparent);border-radius:18px 18px 0 0;}
.event-lock-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;}
.event-lock-icon{font-size:1.2rem;}
.event-lock-title{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:var(--amber);}
.event-lock-badge{margin-left:auto;font-family:'DM Mono',monospace;font-size:.52rem;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);border:1px solid rgba(200,146,26,.4);padding:.22rem .7rem;background:rgba(200,146,26,.08);border-radius:4px;animation:lockPulse 2s ease-in-out infinite;}
@keyframes lockPulse{0%,100%{opacity:1}50%{opacity:.5}}
.event-lock-dino{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--cream);margin-bottom:.25rem;}
.event-lock-meta{font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);opacity:.45;margin-bottom:1rem;}
.event-lock-notice{font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);opacity:.6;border-top:1px solid rgba(200,146,26,.15);padding-top:.8rem;}

/* TOP UTILS */
.top-utils{position:fixed;right:28px;top:22px;z-index:80;display:flex;align-items:center;gap:12px;}
.search-pill{width:220px;height:40px;border:1px solid var(--glass-border);border-radius:999px;background:rgba(200,221,201,.08);backdrop-filter:blur(10px);padding:0 1rem;color:var(--mist);font-family:'DM Mono',monospace;font-size:.62rem;outline:none;}
.discord-btn{font-family:'DM Mono',monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(90deg,#c8921a,#e0a820);color:var(--soil);padding:.72rem 1.4rem;border-radius:999px;font-weight:700;border:0;cursor:none;}

/* PAGE */
.app-main{min-height:100vh;}
.page-wrap{width:min(1100px,calc(100vw - var(--nav) - 64px));margin:0 auto;padding:2rem 0 6rem;}
.section-eyebrow{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;color:var(--fern);margin-bottom:.8rem;}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.1;color:var(--cream);margin-bottom:1.5rem;}
.section-title em{font-style:italic;color:var(--sage);}

/* HERO */
.hero{min-height:auto;padding:8rem 3rem 3rem;text-align:center;}
.hero-eyebrow{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;color:var(--sage);margin-bottom:1.8rem;}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(3.4rem,8vw,7rem);font-weight:700;line-height:.9;color:var(--cream);margin-bottom:.3em;}
.hero-title em{font-style:italic;font-weight:400;color:var(--sage);}
.hero-subtitle{font-size:clamp(1rem,2vw,1.4rem);font-style:italic;color:var(--mist);opacity:.65;max-width:560px;margin:0 auto;line-height:1.7;}

/* CAPACITY BAR */
.garage-hero-panel{margin-bottom:2.5rem;}
.capacity-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin-top:1.6rem;padding:1rem 1.4rem;border-radius:999px;background:rgba(0,0,0,.22);border:1px solid rgba(138,173,140,.18);}
.capacity-label{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);}
.capacity-track{height:7px;border-radius:999px;background:rgba(245,240,232,.1);overflow:hidden;}
.capacity-fill{height:100%;width:50%;background:linear-gradient(90deg,var(--moss),var(--sage));}
.capacity-count{font-family:'DM Mono',monospace;font-size:.66rem;letter-spacing:.14em;color:var(--mist);}

/* MINI TABS */
.garage-button-row{display:flex;justify-content:center;gap:.85rem;flex-wrap:wrap;margin-top:1.4rem;}
.garage-mini-btn{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);border:1px solid rgba(138,173,140,.28);background:rgba(9,22,11,.62);border-radius:999px;padding:.72rem 1.1rem;cursor:none;transition:.2s;}
.garage-mini-btn:hover,.garage-mini-btn.active{color:var(--soil);background:var(--sage);border-color:var(--sage);}

/* VIEW SWITCHING */
.garage-view{display:none;}
.garage-view.active{display:block;}

/* ACTION CARDS */
.garage-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.garage-action{position:relative;min-height:200px;padding:2rem 1.8rem;border-radius:18px;background:rgba(9,22,11,.58);border:1px solid rgba(138,173,140,.22);backdrop-filter:blur(18px);text-align:center;overflow:hidden;transition:.22s ease;}
.garage-action::before{content:'';position:absolute;inset:0;opacity:.2;pointer-events:none;}
.garage-action:hover{transform:translateY(-3px);}

/* STASIS — sage green */
.garage-action.stasis{border-color:rgba(138,173,140,.35);}
.garage-action.stasis::before{background:radial-gradient(circle at 50% 0%,rgba(138,173,140,.5),transparent 55%);}
.garage-action.stasis:hover{background:rgba(45,74,47,.25);border-color:var(--sage);}
.garage-action.stasis h3{color:var(--sage);}

/* VAULT — mist/light */
.garage-action.vault{border-color:rgba(200,221,201,.28);}
.garage-action.vault::before{background:radial-gradient(circle at 50% 0%,rgba(200,221,201,.4),transparent 55%);}
.garage-action.vault:hover{background:rgba(74,100,76,.2);border-color:var(--mist);}
.garage-action.vault h3{color:var(--mist);}

/* RETIRE — amber */
.garage-action.retire{border-color:rgba(200,146,26,.28);}
.garage-action.retire::before{background:radial-gradient(circle at 50% 0%,rgba(200,146,26,.4),transparent 55%);}
.garage-action.retire:hover{background:rgba(100,73,13,.2);border-color:var(--amber);}
.garage-action.retire h3{color:var(--amber);}

/* TELEPORT — deep moss */
.garage-action.teleport{grid-column:2;border-color:rgba(74,124,78,.35);}
.garage-action.teleport::before{background:radial-gradient(circle at 50% 0%,rgba(74,124,78,.5),transparent 55%);}
.garage-action.teleport:hover{background:rgba(30,60,32,.3);border-color:var(--fern);}
.garage-action.teleport h3{color:var(--fern);}

.garage-icon{width:58px;height:58px;margin:0 auto 1rem;display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.2);border:1px solid rgba(245,240,232,.1);font-size:1.8rem;}
.garage-action h3{font-family:'DM Mono',monospace;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.65rem;}
.garage-action p{color:var(--mist);opacity:.62;line-height:1.55;font-size:.95rem;}

/* STORED DINOS */
.stored-section{margin-top:1rem;}
.stored-head{text-align:center;margin-bottom:1.7rem;}
.stored-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.dino-card{position:relative;min-height:260px;padding:1.4rem;border-radius:18px;background:rgba(9,22,11,.62);border:1px solid rgba(138,173,140,.22);backdrop-filter:blur(18px);overflow:hidden;}
.dino-card.empty{display:grid;place-items:center;text-align:center;border-style:dashed;opacity:.65;}
.dino-card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem;}
.dino-card h3{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--cream);}
.tag-row{display:flex;flex-wrap:wrap;gap:.35rem;margin:.4rem 0 1rem;}
.garage-tag{font-family:'DM Mono',monospace;font-size:.48rem;letter-spacing:.12em;text-transform:uppercase;padding:.22rem .55rem;border-radius:999px;border:1px solid rgba(138,173,140,.22);color:var(--sage);background:rgba(138,173,140,.06);}
.garage-tag.prime{color:var(--amber);border-color:rgba(200,146,26,.35);background:rgba(200,146,26,.08);}
.dino-silhouette{height:86px;display:grid;place-items:center;font-size:3rem;opacity:.8;margin:.8rem 0;}
.status-bars{display:grid;gap:.6rem;}
.status-row{display:grid;grid-template-columns:64px 1fr 38px;align-items:center;gap:.6rem;font-family:'DM Mono',monospace;font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);}
.status-track{height:4px;border-radius:999px;background:rgba(245,240,232,.1);overflow:hidden;}
.status-fill{height:100%;background:var(--sage);}
.status-fill.amber{background:var(--amber);}
.status-fill.mist{background:var(--mist);}
.empty-inner h3{font-family:'Playfair Display',serif;font-size:1.3rem;margin-bottom:.4rem;color:var(--mist);}
.empty-inner p{color:var(--mist);opacity:.45;line-height:1.5;font-size:.9rem;}

/* HISTORY */
.history-panel{border:1px solid var(--glass-border);padding:2.5rem;border-radius:18px;background:rgba(9,22,11,.4);}
.history-panel h3{font-family:'Playfair Display',serif;font-size:1.6rem;margin-bottom:.6rem;}
.history-panel p{color:var(--mist);opacity:.55;line-height:1.7;}

footer{border-top:1px solid var(--glass-border);padding:2rem 0;display:flex;align-items:center;justify-content:space-between;width:min(1100px,calc(100vw - var(--nav) - 64px));margin:0 auto;}
.footer-logo{font-family:'Playfair Display',serif;font-size:.9rem;letter-spacing:.3em;text-transform:uppercase;color:var(--mist);opacity:.3;}
.footer-copy{font-family:'DM Mono',monospace;font-size:.55rem;color:var(--mist);opacity:.22;}
@media(max-width:950px){:root{--nav:72px;}.garage-actions,.stored-grid{grid-template-columns:1fr;}.garage-action.teleport{grid-column:auto;}footer{flex-direction:column;gap:1rem;text-align:center;}}

/* SHARED SIDEBAR CSS */
.app-sidebar{
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  width:var(--nav);
  background:rgba(8,18,10,.9);
  border-right:1px solid var(--glass-border);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  z-index:200;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.sidebar-scroll{
  width:100%;
  flex:1;
  overflow-y:auto;
  overflow-x:hidden;
  padding:16px 0 12px;
  scrollbar-width:none;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.sidebar-scroll::-webkit-scrollbar{
  display:none;
}

.side-logo{
  width:52px;
  height:52px;
  margin:0 auto 24px;
  border:1px solid rgba(200,146,26,.45);
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(20,35,20,.8);
  font-family:'Playfair Display',serif;
  font-size:1rem;
  letter-spacing:.1em;
  color:var(--mist);
  text-decoration:none;
  transition:border-color .2s,box-shadow .2s;
}

.side-logo:hover{
  border-color:var(--amber);
  box-shadow:0 0 18px rgba(200,146,26,.22);
}

.side-item{
  position:relative;
  width:100%;
  height:68px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:var(--sage);
  margin:3px 0;
  transition:.22s ease;
}

.side-icon{
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(20,35,22,.7);
  border:1px solid rgba(138,173,140,.18);
  box-shadow:inset 0 0 12px rgba(0,0,0,.5);
  transition:.22s;
}

.side-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:var(--sage);
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:.22s;
  display:block;
}

.side-item:hover .side-icon,
.side-item.active .side-icon{
  border-color:rgba(138,173,140,.55);
  background:rgba(45,74,47,.35);
  box-shadow:0 0 14px rgba(138,173,140,.15),inset 0 0 12px rgba(0,0,0,.4);
}

.side-item:hover .side-icon svg,
.side-item.active .side-icon svg{
  stroke:var(--cream);
}

.side-item.active::after{
  content:'';
  position:absolute;
  right:0;
  top:14px;
  bottom:14px;
  width:3px;
  background:var(--sage);
  box-shadow:0 0 10px rgba(138,173,140,.4);
}

.side-label{
  position:absolute;
  left:calc(var(--nav) + 8px);
  top:50%;
  transform:translate(-6px,-50%);
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
  background:rgba(8,18,10,.96);
  border:1px solid var(--glass-border);
  padding:.6rem 1rem;
  font-family:'DM Mono',monospace;
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--cream);
  box-shadow:0 10px 24px rgba(0,0,0,.35);
  transition:.2s;
  z-index:300;
}

.side-item:hover .side-label{
  opacity:1;
  transform:translate(0,-50%);
}

.side-divider{
  width:32px;
  height:1px;
  background:var(--glass-border);
  margin:6px auto;
}

.side-rules{
  width:100%;
  padding:16px 0 20px;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.rules-link{
  font-family:'DM Mono',monospace;
  font-size:.52rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--mist);
  opacity:.35;
  text-decoration:none;
  transition:opacity .2s;
  text-align:center;
  padding:.5rem;
}

.rules-link:hover{
  opacity:.75;
}

@media(max-width:950px){
  .app-sidebar{
    width:72px;
  }

  .side-icon{
    width:46px;
    height:46px;
  }

  .side-item{
    height:64px;
  }
}


.user-pill{position:relative;display:flex;align-items:center;gap:.65rem;background:rgba(200,221,201,.08);border:1px solid var(--glass-border);border-radius:999px;padding:.4rem .9rem .4rem .4rem;cursor:none;}
.user-pill-name{font-family:"DM Mono",monospace;font-size:.62rem;letter-spacing:.12em;color:var(--mist);}
.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#0a1a0b;border:1px solid var(--glass-border);border-radius:10px;min-width:160px;overflow:hidden;display:none;z-index:300;}
.user-dropdown a,.user-dropdown button{display:block;width:100%;text-align:left;font-family:"DM Mono",monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);padding:.75rem 1rem;background:transparent;border:none;text-decoration:none;cursor:none;transition:background .2s;}
.user-dropdown a:hover,.user-dropdown button:hover{background:rgba(138,173,140,.08);color:var(--cream);}
.dd-divider{height:1px;background:var(--glass-border);margin:2px 0;}

/* Teleport modal */
.teleport-friend-option{display:flex;align-items:center;gap:1rem;padding:.9rem 1.1rem;border:1px solid var(--glass-border);border-radius:10px;background:rgba(9,22,11,.5);margin-bottom:.6rem;cursor:none;transition:all .15s;}
.teleport-friend-option:hover{background:rgba(45,74,47,.2);border-color:rgba(138,173,140,.4);}
.teleport-friend-option.selected{border-color:var(--fern);background:rgba(45,74,47,.25);}
.teleport-friend-name{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--cream);flex:1;}
.teleport-friend-dino{font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sage);opacity:.5;}
.teleport-cooldown{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#e07070;text-align:center;padding:.75rem;border:1px solid rgba(200,80,80,.2);border-radius:6px;background:rgba(200,80,80,.06);margin-bottom:1rem;}

