:root{
  --pink:#FFD3E6;        /* pastel pink */
  --pink-hot:#FF8FC0;    /* deeper pink for logo/accents */
  --lav:#E2D3F7;         /* lavender */
  --lav-deep:#B79CE8;
  --mint:#CDEFD3;        /* light green */
  --mint-deep:#7FD196;
  --blue:#CFE9FA;        /* light blue */
  --blue-deep:#8FC7EE;
  --orange:#FFB56B;      /* soft orange */
  --orange-deep:#FF9838;
  --ink:#7A4E6B;         /* plummy text */
  --white:#FFFDF8;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:Verdana, Geneva, sans-serif;
  font-size:12px;
  color:var(--ink);
  background:
    linear-gradient(rgba(255,255,255,.62), rgba(255,255,255,.62)) fixed,
    url('background.jpg') top left / 480px auto repeat fixed,
    var(--pink);
  min-height:100vh;
  padding-bottom:40px;
}
a{color:var(--orange-deep);text-decoration:none}
a:hover{text-decoration:underline}

/* ============ TOP BAR ============ */
.topbar{
  background:var(--white);
  border-bottom:3px solid var(--pink-hot);
  padding:10px 18px;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
.logo{
  font-family:'Baloo 2', Verdana, sans-serif;
  font-weight:800;font-size:46px;line-height:1;letter-spacing:-1.5px;
}
.logo .dk{color:#E0489B}
.logo .lt{color:var(--pink-hot)}
.logo sup{font-size:13px;color:#E0489B;font-weight:700}
nav{display:flex;gap:10px;margin-left:auto;flex-wrap:wrap}
.pill{
  font-family:'Baloo 2', Verdana, sans-serif;
  font-weight:700;font-size:14px;
  padding:6px 16px;border-radius:14px;
  border:2px solid;
  background:var(--white);
  box-shadow:0 2px 0 rgba(122,78,107,.15);
  transition:transform .12s ease;
}
.pill:hover{transform:translateY(-2px);text-decoration:none}
.pill.games{color:var(--mint-deep);border-color:var(--mint-deep)}
.pill.friends{color:#fff;border-color:var(--orange-deep);background:var(--orange)}
.pill.zine{color:var(--pink-hot);border-color:var(--pink-hot)}
.pill.shop{color:var(--lav-deep);border-color:var(--lav-deep)}
.pill.shows{color:var(--blue-deep);border-color:var(--blue-deep)}

/* ============ MAIN GRID ============ */
.stage{
  max-width:980px;margin:22px auto 0;padding:0 14px;
  display:grid;
  grid-template-columns:150px 1fr 270px;
  gap:18px;
}

/* ----- left rail: friends ----- */
.rail{display:flex;flex-direction:column;align-items:center;gap:10px}
.brand{
  font-family:'Baloo 2', Verdana, sans-serif;
  font-weight:800;font-size:30px;color:var(--pink-hot);
  background:var(--white);
  padding:6px 16px;border-radius:12px;
  border:3px dashed var(--pink-hot);
  transform:rotate(-3deg);
  white-space:nowrap;
}
.friends{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.friend{
  width:74px;height:88px;background:var(--white);
  border-radius:6px;padding:5px 5px 0;
  box-shadow:2px 3px 6px rgba(122,78,107,.2);
  transform:rotate(var(--r,0deg));
  transition:transform .15s ease;
  cursor:pointer;text-align:center;
}
.friend:hover{transform:rotate(0deg) scale(1.12);z-index:2;position:relative}
.friend .pic{width:64px;height:60px;border-radius:4px;display:block}
.friend .nm{
  font-family:'Delius', cursive;font-size:10px;color:var(--ink);
  display:block;padding-top:2px;
}
.goback{
  margin-top:10px;
  font-family:'Baloo 2', Verdana, sans-serif;font-weight:700;font-size:13px;
  color:var(--pink-hot);text-align:center;line-height:1.2;
  transform:rotate(-4deg);
  background:var(--white);
  padding:6px 12px;border-radius:10px;
  box-shadow:2px 3px 6px rgba(122,78,107,.2);
}
.goback .arr{color:var(--orange-deep);font-size:16px}

/* ----- center column ----- */
.centercol{display:flex;flex-direction:column;gap:14px}
.toprow{display:flex;gap:22px;align-items:flex-start}

/* All About Me polaroid */
.aboutme{
  background:var(--white);
  padding:12px 12px 8px;
  border-radius:6px;
  box-shadow:3px 5px 12px rgba(122,78,107,.22);
  transform:rotate(-1deg);
  position:relative;
  width:min(100%,430px);
}
.aboutme .frame{
  background:
    radial-gradient(circle at 6px 6px, rgba(255,255,255,.7) 2.5px, transparent 3px) 0 0/20px 20px,
    var(--blue);
  border-radius:4px;
  display:flex;align-items:center;
  padding:16px;gap:14px;min-height:190px;
}
.avatar{flex:0 0 140px}
.aboutme h1{
  font-family:'Baloo 2', Verdana, sans-serif;
  font-weight:800;font-size:32px;line-height:1.1;color:var(--white);
  text-shadow:2px 2px 0 var(--blue-deep);
}
.checkit{
  display:block;text-align:right;margin-top:8px;
  font-family:'Baloo 2', Verdana, sans-serif;font-weight:700;font-size:14px;
  color:var(--orange-deep);
}

/* Blog notepad */
.blog{
  background:var(--white);
  border-radius:8px;
  box-shadow:3px 5px 12px rgba(122,78,107,.22);
  position:relative;
  padding:16px 18px 14px 34px;
  width:min(100%,560px);
}
.blog::before{ /* spiral binding */
  content:"";position:absolute;left:10px;top:14px;bottom:14px;width:10px;
  background:radial-gradient(circle, var(--lav-deep) 3px, transparent 3.5px) 0 0/10px 22px repeat-y;
}
.blog h2{
  font-family:'Baloo 2', Verdana, sans-serif;font-weight:800;
  font-size:20px;color:var(--lav-deep);margin-bottom:8px;
}
.entry{
  background:linear-gradient(180deg,#F4EDFF 0%,var(--white) 100%);
  border:1px solid var(--lav);
  border-radius:6px;padding:10px 12px;
  font-size:11px;line-height:1.6;
}
.entry .date{color:var(--blue-deep);font-weight:700}
.entry .etitle{font-family:'Delius', cursive;font-size:14px;color:var(--pink-hot);display:block;margin:2px 0 4px}
.blog .clip{position:absolute;left:-10px;bottom:-10px;font-size:26px;transform:rotate(-20deg)}
.blogfoot{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.scrollers{display:flex;flex-direction:column;gap:4px}
.readall{
  font-family:'Baloo 2', Verdana, sans-serif;font-weight:700;font-size:14px;
  background:var(--orange);color:#fff;
  padding:6px 16px;border-radius:14px;border:2px solid var(--orange-deep);
  box-shadow:0 2px 0 rgba(122,78,107,.2);
}
.readall:hover{text-decoration:none;transform:translateY(-2px)}
.tri{
  width:26px;height:20px;border-radius:5px;cursor:pointer;
  background:var(--mint);color:var(--mint-deep);
  font-size:11px;border:2px solid var(--mint-deep);
}
.tri:hover{background:var(--mint-deep);color:#fff}

/* wallpapers sticky note */
.sidestack{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:64px}
.sidestack .sticker-heart{font-size:36px;transform:rotate(10deg);filter:drop-shadow(1px 2px 2px rgba(122,78,107,.3))}
.wallpapers{
  background:var(--mint);
  padding:12px 14px;
  width:132px;
  box-shadow:3px 4px 10px rgba(122,78,107,.25);
  transform:rotate(3deg);
  font-family:'Delius', cursive;
}
.wallpapers h3{
  font-family:'Baloo 2', Verdana, sans-serif;font-weight:800;
  color:var(--mint-deep);font-size:16px;
}
.wallpapers .stars{color:var(--orange-deep);letter-spacing:3px;font-size:10px}
.wallpapers a{font-weight:700;color:var(--pink-hot);font-size:13px}

/* ----- phone ----- */
.phonewrap{display:flex;justify-content:center}
.phone{
  width:250px;min-height:480px;
  background:linear-gradient(160deg,#F3B9DC 0%, var(--pink-hot) 45%, #E06BA8 100%);
  border-radius:38px 38px 48px 48px;
  box-shadow:inset -6px -8px 14px rgba(122,78,107,.25), inset 5px 6px 10px rgba(255,255,255,.5), 6px 10px 18px rgba(122,78,107,.3);
  position:relative;
  padding:54px 20px 24px;
}
.phone .antenna{
  position:absolute;top:-26px;right:26px;width:14px;height:40px;
  background:linear-gradient(90deg,#E06BA8,#F3B9DC);
  border-radius:7px 7px 3px 3px;
}
.phone .brandline{
  font-family:'Delius', cursive;font-size:14px;color:#fff;
  text-shadow:1px 1px 0 rgba(122,78,107,.35);
  position:absolute;top:20px;left:26px;font-style:italic;
}
.phone .viewline{
  position:absolute;top:20px;right:24px;
  font-family:'Baloo 2', Verdana, sans-serif;font-weight:700;font-size:11px;color:#fff;
}
.screen{
  background:var(--white);
  border:5px solid #C1518D;
  border-radius:14px;
  height:290px;
  padding:14px 10px;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  text-align:center;
}
.screen .stitle{
  font-family:'Baloo 2', Verdana, sans-serif;font-weight:800;font-size:16px;
  color:#fff;background:var(--blue-deep);
  padding:3px 12px;border-radius:10px;
}
.screen .sbody{font-size:11px;line-height:1.55;color:var(--ink)}
.screen .semoji{font-size:44px;margin-top:auto;margin-bottom:auto}
.phonebtns{display:flex;justify-content:center;gap:14px;margin-top:16px}
.pbtn{
  width:44px;height:34px;border-radius:12px;border:none;cursor:pointer;
  background:linear-gradient(180deg,#FBD3EA,#EE9AC6);
  box-shadow:inset 0 -3px 4px rgba(122,78,107,.3), 0 2px 3px rgba(122,78,107,.25);
  font-size:14px;color:#8F3B69;font-weight:bold;
}
.pbtn:active{transform:translateY(2px)}
.speaker{
  width:60px;height:14px;margin:18px auto 0;
  background:radial-gradient(circle, #C1518D 2px, transparent 2.5px) 0 0/10px 10px;
}

/* ============ RESPONSIVE ============ */
@media (max-width:860px){
  .stage{grid-template-columns:130px 1fr}
  .phonewrap{grid-column:1 / -1}
  .toprow{flex-wrap:wrap}
  .sidestack{margin-top:0;flex-direction:row}
}
@media (max-width:560px){
  .stage{grid-template-columns:1fr}
  .rail{flex-direction:row;flex-wrap:wrap;justify-content:center}
  .friends{flex-direction:row;flex-wrap:wrap;justify-content:center}
  .logo{font-size:32px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important}
}
