/* ===================================================
   dollhouse — Y2K blog/store
   =================================================== */

:root{
  --pink:        #ff5fb6;
  --pink-soft:   #ff9ed6;
  --pink-pale:   #ffd6ee;
  --pink-bg:     #ffe9f6;
  --purple:      #a06bff;
  --purple-soft: #c9a6ff;
  --blue:        #7fc7ff;
  --blue-soft:   #bfe3ff;
  --lilac:       #e6d6ff;
  --cream:       #fffae6;
  --ink:         #5a3a6e;
  --win-bar:     linear-gradient(90deg,#ff7ec8,#c79bff);
  --win-bar-blue:linear-gradient(90deg,#8fb8ff,#b89bff);
  --shadow:      3px 3px 0 rgba(150,80,170,.35);
}

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

body{
  font-family:'Quicksand',system-ui,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 15% 10%, #ffd9f0 0%, transparent 45%),
    radial-gradient(circle at 85% 20%, #d6e4ff 0%, transparent 45%),
    radial-gradient(circle at 50% 80%, #e9d6ff 0%, transparent 50%),
    linear-gradient(160deg,#ffe6f6 0%,#eddcff 50%,#dcecff 100%);
  background-attachment:fixed;
  min-height:100vh;
  padding-bottom:46px; /* taskbar */
  font-weight:600;
}

a{color:inherit;text-decoration:none}
img{max-width:100%}

/* ===== generic window ===== */
.win{
  background:#fff;
  border:2px solid #c98fe0;
  border-radius:10px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.win-bar{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--win-bar);
  color:#fff;
  font-size:13px;
  padding:5px 8px;
  text-shadow:1px 1px 0 rgba(140,60,150,.4);
  letter-spacing:.3px;
}
.win-bar--blue{background:var(--win-bar-blue)}
.win-title{font-weight:700}
.win-btns{display:flex;gap:3px}
.win-btns i{
  display:grid;place-items:center;
  width:16px;height:15px;
  background:#ffe3f4;color:#a05bbf;
  border:1px solid #fff;border-radius:3px;
  font-style:normal;font-size:9px;font-weight:700;
}
.win-btns i.x{background:#ff8fc4;color:#fff}

/* ===== top marquee ===== */
.top-marquee{
  display:flex;align-items:center;
  background:linear-gradient(90deg,#ffc4e6,#e9c4ff,#c4e0ff);
  border-bottom:2px solid #d79be0;
  font-size:11px;font-weight:700;letter-spacing:.5px;
  color:#9a4bb0;overflow:hidden;
}
.marquee-track{display:flex;white-space:nowrap;flex:1;overflow:hidden;
  animation:marq 28s linear infinite;}
.marquee-track span{padding-right:20px}
.marquee-track a{color:var(--pink);text-decoration:underline}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.top-account{
  display:flex;align-items:center;gap:14px;
  padding:5px 12px;background:rgba(255,255,255,.55);
  border-left:2px solid #d79be0;white-space:nowrap;
}
.top-account a{font-weight:700}
.top-account .winx{
  background:#ff8fc4;color:#fff;border:1px solid #fff;
  border-radius:3px;padding:0 4px;font-size:10px;
}

/* ===== header ===== */
.site-header{
  display:flex;align-items:center;gap:18px;
  padding:14px 22px;flex-wrap:wrap;
}
.logo{
  position:relative;
  font-family:'Press Start 2P',cursive;
  font-size:26px;line-height:1.1;
  -webkit-text-stroke:1.5px #fff;
  filter:drop-shadow(2px 2px 0 #d77bd0);
}
.logo-doll{color:var(--purple)}
.logo-house{color:var(--pink)}
.logo-star{position:absolute;top:-10px;right:-16px;color:var(--blue);font-size:16px;-webkit-text-stroke:0}

.main-nav{display:flex;gap:6px;flex:1;flex-wrap:wrap;justify-content:center}
.main-nav a{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  font-size:12px;font-weight:700;color:#8a52a8;
  padding:6px 10px;border-radius:10px;transition:.15s;
}
.main-nav a:hover{background:var(--pink-pale);color:var(--pink)}
.nav-ico{
  display:grid;place-items:center;width:34px;height:30px;
  background:linear-gradient(160deg,#ffd6ee,#d6e4ff);
  border:2px solid #fff;border-radius:9px;font-size:15px;
  box-shadow:1px 1px 0 #d79be0;
}

.search{display:flex;align-items:center;background:#fff;
  border:2px solid #c98fe0;border-radius:20px;padding:3px 4px 3px 14px;
  box-shadow:var(--shadow);}
.search input{border:0;outline:0;font-family:inherit;font-weight:600;
  font-size:12px;width:150px;color:var(--ink);background:transparent}
.search button{border:0;cursor:pointer;background:var(--pink);color:#fff;
  width:30px;height:26px;border-radius:14px;font-size:13px}

/* ===== layout sections ===== */
main{max-width:1060px;margin:0 auto;padding:0 18px;display:flex;flex-direction:column;gap:20px}

/* hero row */
.hero-row{display:grid;grid-template-columns:200px 1fr 250px;gap:18px;align-items:start;position:relative}

/* quick links */
.quicklinks{list-style:none;padding:8px}
.quicklinks li{
  display:flex;align-items:center;gap:8px;
  font-size:13px;padding:7px 9px;margin-bottom:5px;
  background:linear-gradient(90deg,#fff0fa,#f3ecff);
  border:1.5px solid #f0cdec;border-radius:8px;cursor:pointer;transition:.15s;
}
.quicklinks li:hover{background:var(--pink-pale);transform:translateX(2px)}
.ql-ico{width:22px;text-align:center}
.ql-arrow{margin-left:auto;color:var(--pink);font-weight:700}

.welcome-note{
  position:relative;margin-top:14px;font-size:11px;line-height:1.55;
  background:linear-gradient(160deg,#fff7ff,#f1e9ff);
  border:2px dashed #e1b6e8;border-radius:12px;padding:12px;
}
.welcome-note p{margin-bottom:6px}
.tama{position:absolute;right:-6px;bottom:-10px;width:54px;height:64px;
  background:radial-gradient(circle at 35% 30%,#ff9ed6,#ff5fb6);
  border:2px solid #fff;border-radius:50% 50% 45% 45%;box-shadow:var(--shadow)}
.tama-chain{position:absolute;top:-12px;left:50%;width:14px;height:14px;
  border:3px solid #d79be0;border-radius:50%;transform:translateX(-50%)}
.tama-screen{position:absolute;top:14px;left:50%;transform:translateX(-50%);
  width:30px;height:24px;background:#cfeede;border:2px solid #7a5a8a;border-radius:4px;
  display:grid;place-items:center;font-size:12px;color:#5a3a6e}
.tama-btns{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);display:flex;gap:5px}
.tama-btns i{width:7px;height:7px;background:#fff;border-radius:50%;display:block}

/* hero center */
.hero-center{position:relative;padding:8px 4px}
.hero-title{font-family:'Press Start 2P',cursive;line-height:1.25;margin-bottom:14px}
.hero-title .line1,.hero-title .line2{
  display:block;
  background:linear-gradient(90deg,#ff4fae,#c46bff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-stroke:2px #fff;
  filter:drop-shadow(3px 3px 0 #e07bd0);
  font-size:42px;
}
.hero-title .line2{font-size:38px}
.hero-sub{font-size:15px;color:#8a52a8;margin-bottom:18px;line-height:1.5}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}

.btn{display:inline-block;cursor:pointer;font-family:inherit;font-weight:700}
.btn--pill{
  background:linear-gradient(90deg,#ff6fbf,#b06bff);color:#fff;
  border:2px solid #fff;border-radius:22px;padding:11px 20px;font-size:13px;
  box-shadow:var(--shadow);transition:.15s;
}
.btn--pill:hover{transform:translateY(-2px)}
.btn--ghost{background:#fff;color:var(--purple)}
.hero-links{display:flex;gap:18px;font-size:12px}
.hero-links a{text-decoration:underline;color:#8a52a8}

/* hero right */
.hero-right{position:relative}
.win--photo{margin-bottom:12px}
.photo-inner{position:relative;height:230px;
  background:linear-gradient(160deg,#bfe3ff,#d6c4ff);}
.photo-girl{position:absolute;inset:0;display:grid;place-items:center;font-size:90px}
.pg-phone{position:absolute;right:18px;bottom:30px;font-size:46px;transform:rotate(8deg)}
.ur-cute{position:absolute;left:8px;top:96px;background:#ff7ec8;color:#fff;
  font-size:10px;padding:3px 7px;border-radius:10px;transform:rotate(-6deg)}

.win--msg{position:absolute;right:-20px;top:120px;width:180px;z-index:5}
.msg-inner{display:flex;align-items:center;gap:8px;padding:12px;flex-wrap:wrap;
  background:linear-gradient(160deg,#eef4ff,#f6ecff)}
.msg-heart{font-size:26px}
.msg-inner p{font-size:11px;flex:1}
.btn-ok{width:100%;margin-top:4px;background:linear-gradient(#bcd6ff,#9bb8ff);
  border:2px solid #fff;border-radius:7px;color:#3a4a8a;font-weight:700;
  padding:5px;cursor:pointer;box-shadow:1px 1px 0 #99a;}

.win--player{margin-top:60px}
.player-inner{padding:10px;background:linear-gradient(160deg,#f6ecff,#ffe9f6)}
.track{font-size:13px;font-weight:700}
.artist{font-size:11px;color:#9a6bb0;margin-bottom:8px}
.eq{display:flex;gap:3px;align-items:flex-end;height:24px;margin-bottom:8px}
.eq i{flex:1;background:linear-gradient(var(--pink),var(--purple));border-radius:2px;
  animation:eq 1s ease-in-out infinite}
.eq i:nth-child(2){animation-delay:.1s}.eq i:nth-child(3){animation-delay:.2s}
.eq i:nth-child(4){animation-delay:.3s}.eq i:nth-child(5){animation-delay:.15s}
.eq i:nth-child(6){animation-delay:.25s}.eq i:nth-child(7){animation-delay:.05s}
.eq i:nth-child(8){animation-delay:.35s}
@keyframes eq{0%,100%{height:6px}50%{height:24px}}
.player-ctrls{display:flex;align-items:center;gap:8px;font-size:14px}
.player-bar{flex:1;height:6px;background:#e6d6ff;border-radius:4px;position:relative}
.player-bar span{position:absolute;left:0;top:0;bottom:0;width:60%;
  background:linear-gradient(90deg,var(--pink),var(--purple));border-radius:4px}

/* ===== perks ===== */
.perks-row{display:grid;grid-template-columns:1fr 280px;gap:16px}
.perks{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:10px;
  background:linear-gradient(90deg,#ffd6ee,#e0d0ff,#d0e6ff,#ffd6ee);
  border:2px solid #e1b6e8;border-radius:14px;padding:16px;box-shadow:var(--shadow)}
.perk{display:flex;align-items:center;gap:10px;font-size:12px}
.perk b{font-size:13px;letter-spacing:.5px}
.perk small{color:#9a6bb0}
.perk-ico{font-size:24px}
.club{background:linear-gradient(160deg,#fff0fa,#ece0ff);
  border:2px solid #e1b6e8;border-radius:14px;padding:14px;box-shadow:var(--shadow);font-size:12px}
.club p{margin-bottom:6px}
.club a{text-decoration:underline;color:var(--pink)}
.club-form{display:flex;gap:6px;margin-top:8px}
.club-form input{flex:1;border:2px solid #d8b6e8;border-radius:8px;padding:6px 10px;
  font-family:inherit;font-weight:600;font-size:11px;outline:0}
.club-form button{background:var(--pink);color:#fff;border:2px solid #fff;border-radius:8px;
  padding:6px 14px;font-weight:700;cursor:pointer;box-shadow:1px 1px 0 #d79be0}

/* ===== three windows ===== */
.three-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}

.arrivals-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px}
.product{text-align:center;font-size:11px}
.product-img{height:80px;border-radius:8px;display:grid;place-items:center;font-size:34px;
  margin-bottom:6px;border:2px solid #fff;box-shadow:1px 1px 0 #d79be0}
.grad-a{background:linear-gradient(160deg,#ff9ed6,#ff5fb6)}
.grad-b{background:linear-gradient(160deg,#cfe0ff,#9bb8ff)}
.grad-c{background:linear-gradient(160deg,#ffc4e6,#e6a6ff)}
.grad-d{background:linear-gradient(160deg,#d6c4ff,#9b8fff)}
.grad-e{background:linear-gradient(160deg,#ffd6ee,#ff9ed6)}
.grad-f{background:linear-gradient(160deg,#cfeede,#bfe3ff)}
.p-name{font-weight:700;line-height:1.2;min-height:26px}
.p-price{color:var(--pink);font-weight:700;margin:3px 0 6px}
.btn-cart{width:100%;background:linear-gradient(90deg,#ff7ec8,#c79bff);color:#fff;
  border:2px solid #fff;border-radius:8px;padding:6px;font-weight:700;font-size:10px;
  cursor:pointer;box-shadow:1px 1px 0 #d79be0;transition:.15s}
.btn-cart:hover{transform:translateY(-1px)}
.view-all{display:block;text-align:center;font-size:11px;padding:8px;color:var(--purple);
  text-decoration:underline}

.community-inner{position:relative;padding:12px;text-align:center}
.polaroids{display:flex;justify-content:center;gap:6px;margin-bottom:10px}
.polaroid{position:relative;width:60px;height:72px;background:#fff;border:1px solid #eee;
  padding:4px 4px 14px;box-shadow:2px 2px 4px rgba(0,0,0,.15);display:grid;place-items:start center;
  font-size:26px}
.polaroid:nth-child(1){transform:rotate(-7deg)}
.polaroid:nth-child(2){transform:rotate(3deg)}
.polaroid:nth-child(3){transform:rotate(8deg)}
.polaroid span:first-child{display:grid;place-items:center;width:100%;height:54px}
.cute-bubble{position:absolute;right:-22px;top:-8px;background:var(--purple);color:#fff;
  font-size:9px;padding:2px 6px;border-radius:8px;font-weight:700}
.tag-us{font-size:12px;margin-bottom:10px}
.btn-upload{background:linear-gradient(90deg,#a06bff,#c79bff);color:#fff;border:2px solid #fff;
  border-radius:10px;padding:8px 16px;font-weight:700;font-size:11px;cursor:pointer;box-shadow:var(--shadow)}
.deco-phone2{position:absolute;right:8px;bottom:4px;font-size:30px;transform:rotate(12deg)}

.playlist-inner{padding:8px}
.tracks{list-style:none}
.tracks li{display:flex;align-items:center;gap:8px;font-size:12px;padding:5px 8px;border-radius:6px}
.tracks li:nth-child(even){background:#faf2ff}
.tracks li.active{background:linear-gradient(90deg,#ffc4e6,#e6c4ff);font-weight:700}
.t-num{color:#b58fc8;width:18px}
.t-name{flex:1}
.t-time{color:#9a6bb0;font-size:11px}
.playlist-ctrls{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:14px;padding:0 4px}

/* ===== bottom row ===== */
.bottom-row{display:grid;grid-template-columns:230px 1fr 230px;gap:16px;align-items:start}

.blog-inner{position:relative;padding:12px;min-height:170px}
.blog-list{list-style:none;font-size:12px}
.blog-list li{margin-bottom:10px;line-height:1.3}
.blog-list a{text-decoration:underline;color:#8a52a8}
.blog-list a:hover{color:var(--pink)}
.blog-more{display:inline-block;margin-top:6px;font-size:11px;color:var(--pink);text-decoration:underline}
.deco-laptop{position:absolute;right:6px;bottom:6px;font-size:40px}

.welcome-banner{position:relative;overflow:hidden;border-radius:14px;
  border:3px solid #fff;box-shadow:var(--shadow);
  background:linear-gradient(160deg,#9fd4ff,#cfe0ff 60%,#e6f0ff);
  padding:26px 20px 22px;text-align:center;min-height:170px}
.cloud-bg{position:absolute;inset:0;
  background:radial-gradient(circle at 20% 80%,#fff 0 8%,transparent 9%),
            radial-gradient(circle at 75% 85%,#fff 0 10%,transparent 11%),
            radial-gradient(circle at 50% 95%,#fff 0 12%,transparent 13%);
  opacity:.8}
.wb-title{position:relative;font-family:'Press Start 2P',cursive;font-size:26px;line-height:1.3;
  color:#fff;-webkit-text-stroke:2px #ff7ec8;filter:drop-shadow(2px 2px 0 #b06bff);margin-bottom:10px}
.wb-sub{position:relative;font-size:13px;color:#5a6a9a;margin-bottom:14px;font-weight:700}
.wb-btn{position:relative}
.deco-kitty{position:absolute;right:16px;bottom:10px;font-size:42px;z-index:2}
.deco-heart1{position:absolute;left:14px;bottom:14px;font-size:24px}
.deco-star4{position:absolute;left:24px;top:18px;font-size:18px}

.faves-list{list-style:none;padding:12px}
.faves-list li{display:flex;align-items:center;gap:8px;font-size:13px;padding:8px;
  border-bottom:1.5px dashed #f0cdec}
.fav-ico{width:24px;text-align:center;font-size:16px}
.fav-count{margin-left:auto;color:var(--pink);font-weight:700}
.win--faves{position:relative}
.deco-locket{position:absolute;right:8px;bottom:6px;font-size:30px}

/* ===== decorations ===== */
.deco{position:absolute;pointer-events:none}
.deco-butterfly{left:40%;top:-4px;font-size:24px;animation:float 4s ease-in-out infinite}
.deco-cd{right:0;top:-30px;font-size:40px;animation:spin 6s linear infinite}
.deco-star1{right:10%;top:40%;font-size:18px;color:var(--purple)}
.deco-star2{left:6%;bottom:6%;font-size:16px;color:var(--blue)}
.deco-star3{left:-12px;bottom:40px;font-size:22px;color:var(--blue)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* ===== bottom marquee ===== */
.bottom-marquee{overflow:hidden;border-top:2px solid #d79be0;border-bottom:2px solid #d79be0;
  background:repeating-linear-gradient(90deg,#ffd6ee 0 24px,#e0d0ff 24px 48px);
  font-size:11px;font-weight:700;color:#9a4bb0;padding:5px 0;margin-top:4px}
.bottom-marquee .marquee-track{animation-duration:24s}

/* ===== footer ===== */
.site-footer{max-width:1060px;margin:6px auto 0;padding:22px 18px;
  display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:24px;font-size:12px}
.foot-brand .logo{font-size:18px}
.foot-brand p{margin-top:10px;color:#9a6bb0;line-height:1.5}
.foot-col h4{font-size:12px;color:var(--pink);margin-bottom:8px;text-transform:lowercase}
.foot-col a{display:block;color:#8a52a8;padding:3px 0}
.foot-col a:hover{color:var(--pink);text-decoration:underline}
.foot-social b{display:block;margin-bottom:8px}
.social-icons{display:flex;gap:8px;font-size:18px}
.social-icons a{width:32px;height:32px;display:grid;place-items:center;
  background:linear-gradient(160deg,#ffd6ee,#d6e4ff);border:2px solid #fff;border-radius:50%;
  box-shadow:1px 1px 0 #d79be0;transition:.15s}
.social-icons a:hover{transform:translateY(-2px)}

/* ===== taskbar ===== */
.taskbar{position:fixed;left:0;right:0;bottom:0;height:38px;display:flex;align-items:center;gap:6px;
  padding:3px 8px;background:linear-gradient(#e8d6ff,#cdb0ee);border-top:2px solid #fff;z-index:50}
.start-btn{display:flex;align-items:center;gap:6px;background:linear-gradient(#ff8fc4,#d06bcf);
  color:#fff;border:2px solid #fff;border-radius:7px;padding:5px 14px;font-weight:700;
  font-family:inherit;cursor:pointer;font-size:13px;box-shadow:1px 1px 0 #a05bbf}
.start-logo{font-size:14px}
.task-item{background:rgba(255,255,255,.55);border:1.5px solid #fff;border-radius:6px;
  padding:5px 12px;font-size:11px;font-weight:700;color:#7a4a98;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;max-width:230px}
.tray{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:13px;
  background:rgba(255,255,255,.55);border:1.5px solid #fff;border-radius:6px;padding:4px 12px}
.clock{font-weight:700;color:#7a4a98;font-size:12px}

/* =====================================================
   BLOG ADDITIONS (personal site components)
   ===================================================== */

/* page headers on inner pages */
.inner-page{padding-top:4px}
.page-head{text-align:center;padding:10px 0 2px}
.page-title{font-family:'Press Start 2P',cursive;font-size:24px;line-height:1.3;
  background:linear-gradient(90deg,#ff4fae,#c46bff);-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-stroke:1.5px #fff;filter:drop-shadow(2px 2px 0 #e07bd0)}
.page-sub{font-size:13px;color:#8a52a8;margin-top:10px}
.page-deco{color:var(--purple);letter-spacing:3px;margin-top:6px;font-size:13px}

/* big hero picture (home, center column) */
.hero-mainpic{margin-top:20px;text-align:center}
.hero-mainpic .main{width:100%;max-width:430px;border-radius:18px;border:3px solid #fff;
  box-shadow:var(--shadow);object-fit:cover}
.hero-mainpic .img-placeholder{max-width:430px;min-height:180px;margin:0 auto}

/* cute.jpg photo window */
.win--photo .photo-inner{height:auto;background:none;padding:0;display:block}
.cute-photo{display:block;width:100%;height:190px;object-fit:cover}
.cute-photo.img-placeholder{height:150px;border:0;border-top:2px dashed #d8a6e0}
.cute-caption{font-size:11px;text-align:center;padding:7px;font-weight:700;color:#9a52a8}

/* welcome note picture */
.welcome-pic{margin-top:8px}
.welcome-pic img{width:100%;max-height:120px;object-fit:cover;border-radius:8px;
  border:2px solid #fff;box-shadow:1px 1px 0 #d79be0;display:block}

/* currently watching list */
.currently-list{list-style:none;font-size:12px}
.currently-list li{padding:5px 0;border-bottom:1px dashed #f0cdec}
.currently-list span{color:var(--pink);font-weight:700;text-transform:uppercase;font-size:10px;margin-right:4px}

/* recent posts widget */
.recent-inner{padding:8px}
.recent-posts{list-style:none}
.recent-posts li{display:flex;gap:8px;align-items:center;padding:6px;border-radius:8px;cursor:pointer;transition:.15s}
.recent-posts li:hover{background:var(--pink-pale);transform:translateX(2px)}
.rp-thumb{width:42px;height:42px;flex:0 0 42px;border-radius:8px;overflow:hidden;display:grid;
  place-items:center;background:linear-gradient(160deg,#ffd6ee,#d6e4ff);border:2px solid #fff}
.rp-thumb img{width:100%;height:100%;object-fit:cover}
.rp-thumb .img-placeholder{min-height:0;width:100%;height:100%;font-size:0;border:0;padding:0}
.rp-noimg{font-size:18px}
.rp-txt b{font-size:12px;display:block;line-height:1.2}
.rp-txt small{font-size:10px;color:#9a6bb0}

/* two-window row (recent posts + playlist) */
.two-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}

/* photo dump — small horizontal photos in a white board, two rows */
.dump-row{width:100%}
.dump-inner{padding:14px}
.dump-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  max-width:760px;margin:6px auto;background:#fff;padding:16px;border-radius:14px;
  border:2px solid #f3e0f0;box-shadow:inset 0 0 0 2px #fff,2px 2px 0 rgba(150,80,170,.12)}
.dump-pic{aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#faf2ff;
  border:1px solid #f0d6ec}
.dump-pic img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:.2s;display:block}
.dump-pic img:hover{transform:scale(1.08)}
.dump-pic .img-placeholder{min-height:0;height:100%;border:0;font-size:9px}
.dump-cap{text-align:center;font-size:10px;margin-top:8px;color:#9a6bb0}

/* track artist sub-label */
.t-name i{font-style:normal;color:#b58fc8;font-size:11px}

/* favourites */
.faves-list .fav-val{color:#8a3a8a}
.faves-big li{font-size:14px;padding:11px 12px}

/* placeholders & empty notes */
.img-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  min-height:100px;border:2px dashed #d8a6e0;border-radius:10px;color:#b07bc8;font-size:11px;
  font-weight:700;text-align:center;padding:12px;
  background:repeating-linear-gradient(45deg,#fff0fa 0 8px,#f6ecff 8px 16px)}
.img-placeholder span{font-size:20px}
.empty-note{padding:26px;text-align:center;color:#b07bc8;font-weight:700;
  border:2px dashed #e1b6e8;border-radius:12px;margin:12px;
  background:repeating-linear-gradient(45deg,#fff0fa 0 10px,#f6ecff 10px 20px)}

/* diary */
.diary-list{padding:12px;display:flex;flex-direction:column;gap:12px}
.diary-entry{display:flex;gap:12px;cursor:pointer;background:linear-gradient(160deg,#fff7ff,#f3ecff);
  border:2px solid #f0cdec;border-radius:12px;padding:12px;transition:.15s}
.diary-entry:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.de-thumb{width:90px;height:90px;flex:0 0 90px;border-radius:10px;overflow:hidden;display:grid;
  place-items:center;background:linear-gradient(160deg,#ffd6ee,#d6e4ff);border:2px solid #fff}
.de-thumb img{width:100%;height:100%;object-fit:cover}
.de-thumb .img-placeholder{min-height:0;width:100%;height:100%;border:0;font-size:0}
.de-body h3{font-size:15px;margin-bottom:4px;color:#8a3a8a}
.de-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:10px;color:#9a6bb0;margin-bottom:6px}
.de-text{font-size:12px;line-height:1.45;margin-bottom:6px}
.de-more{font-size:11px;color:var(--pink);font-weight:700}
.archive-list{list-style:none;padding:12px}
.archive-list li{padding:6px 8px;border-bottom:1px dashed #f0cdec;font-size:12px}
.archive-list a:hover{color:var(--pink);text-decoration:underline}

/* single post */
.post-back{padding:4px 2px 8px}
.post-back a{font-weight:700;color:var(--purple)}
.post-back a:hover{color:var(--pink)}
.post-full{padding:16px}
.post-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:#9a6bb0;margin-bottom:14px;
  border-bottom:2px dashed #f0cdec;padding-bottom:10px}
.post-hero{margin-bottom:14px}
.post-hero img{width:100%;max-height:340px;object-fit:cover;border-radius:12px;border:2px solid #fff}
.post-body{font-size:14px;line-height:1.75}
.post-tags{margin-top:16px;display:flex;gap:6px;flex-wrap:wrap}
.tag{background:var(--pink-pale);color:#8a3a8a;font-size:11px;padding:3px 9px;border-radius:10px;font-weight:700}

/* movie posters */
.poster-row{display:flex;gap:14px;flex-wrap:wrap;padding:14px}
.poster-card{width:120px;text-align:center}
.poster{width:120px;height:170px;object-fit:cover;border-radius:8px;border:2px solid #fff;box-shadow:var(--shadow);display:block}
.poster.img-placeholder{width:120px;height:170px;min-height:0;font-size:10px}
.pc-title{font-size:12px;font-weight:700;margin-top:7px}
.pc-note{font-size:10px;color:#9a6bb0;line-height:1.3}

/* books shelf */
.shelf{padding:16px}
.book-row{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}
.book-card{width:110px;text-align:center}
.book-cover{width:110px;height:160px;object-fit:cover;border-radius:4px 8px 8px 4px;
  border:2px solid #fff;border-left:6px solid #c98fe0;box-shadow:3px 3px 0 rgba(150,80,170,.3);display:block}
.book-cover.img-placeholder{width:110px;height:160px;min-height:0;font-size:10px}
.bc-title{font-size:12px;font-weight:700;margin-top:7px;line-height:1.2}
.bc-author{font-size:10px;color:#9a6bb0}
.bc-quote{font-size:10px;font-style:italic;color:#b07bc8;margin-top:4px;line-height:1.3}
.shelf-plank{height:14px;background:linear-gradient(#e0b6e8,#c98fe0);border-radius:6px;margin-top:10px;box-shadow:var(--shadow)}

/* music CDs */
.cd-row{display:flex;gap:18px;flex-wrap:wrap;padding:16px}
.cd-card{width:124px;text-align:center}
.cd-disc{position:relative;width:124px;height:124px;border-radius:50%;overflow:hidden;border:3px solid #fff;
  box-shadow:var(--shadow);background:conic-gradient(from 0deg,#ffd6ee,#d6e4ff,#e6d6ff,#ffe9f6,#ffd6ee)}
.cd-cover{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.cd-cover.img-placeholder{border-radius:50%;width:100%;height:100%;min-height:0;font-size:9px;border:0}
.cd-hole{position:absolute;top:50%;left:50%;width:28px;height:28px;background:#fff;
  border:2px solid #d79be0;border-radius:50%;transform:translate(-50%,-50%)}
.cd-title{font-size:12px;font-weight:700;margin-top:9px}
.cd-note{font-size:10px;color:#9a6bb0}
.mp3-top{font-size:12px;font-weight:700;color:#8a3a8a;padding:4px 4px 8px}

/* gallery grid */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;padding:14px}
.gal-pic{aspect-ratio:1/1;border-radius:10px;overflow:hidden;border:2px solid #fff;box-shadow:1px 1px 0 #d79be0;
  background:linear-gradient(160deg,#ffd6ee,#d6e4ff)}
.gal-pic img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:.2s;display:block}
.gal-pic img:hover{transform:scale(1.06)}
.gal-pic .img-placeholder{min-height:0;height:100%;border:0;font-size:9px}

/* autumn */
.autumn-inner{padding:18px;text-align:center}
.autumn-text{font-size:14px;line-height:1.6}
.autumn-deco{font-size:26px;letter-spacing:8px;margin-top:14px}

/* about */
.about-inner{display:flex;gap:20px;padding:18px;flex-wrap:wrap}
.about-photo{flex:0 0 220px}
.about-photo img{width:220px;border-radius:14px;border:3px solid #fff;box-shadow:var(--shadow);display:block}
.about-photo .img-placeholder{width:220px;height:260px}
.about-text{flex:1;min-width:220px}
.about-bio{font-size:15px;line-height:1.6;margin-bottom:16px}
.about-text h4{color:var(--pink);margin-bottom:8px}
.interests{display:flex;flex-wrap:wrap;gap:8px}
.interest{background:linear-gradient(90deg,#ffd6ee,#e6d6ff);border:2px solid #fff;border-radius:14px;
  padding:5px 13px;font-size:12px;font-weight:700;box-shadow:1px 1px 0 #d79be0}

/* guestbook */
.gb-form{display:flex;flex-direction:column;gap:10px;padding:14px}
.gb-form label{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:4px;color:#8a52a8}
.gb-form input,.gb-form textarea{border:2px solid #d8b6e8;border-radius:10px;padding:8px 12px;
  font-family:inherit;font-weight:600;font-size:13px;outline:0;color:var(--ink)}
.gb-form textarea{min-height:72px;resize:vertical}
.gb-form button{align-self:flex-start}
.gb-list{padding:12px;display:flex;flex-direction:column;gap:10px}
.gb-entry{background:linear-gradient(160deg,#fff7ff,#f3ecff);border:2px solid #f0cdec;border-radius:12px;padding:10px 13px}
.gb-head{display:flex;justify-content:space-between;font-size:11px;color:#9a6bb0;margin-bottom:4px}
.gb-head b{color:#8a3a8a;font-size:13px}
.gb-entry p{font-size:13px;line-height:1.45}

/* footer extras */
.foot-nav a{display:block}
.foot-counter{font-size:11px;margin-top:10px;color:#9a6bb0;
  font-family:'VT323',monospace;letter-spacing:1px}
.foot-counter span{background:#3a2a4a;color:#7fffbf;padding:1px 6px;border-radius:3px;font-size:13px}
.foot-deco{color:var(--purple);font-size:11px;margin-top:8px}

/* lightbox */
.lightbox{position:fixed;inset:0;background:rgba(90,40,90,.72);display:none;align-items:center;
  justify-content:center;z-index:200;cursor:zoom-out;backdrop-filter:blur(3px)}
.lightbox.open{display:flex}
.lightbox img{max-width:90%;max-height:85%;border:4px solid #fff;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.45)}
.lb-close{position:absolute;top:18px;right:24px;color:#fff;font-size:30px;font-weight:700;cursor:pointer}

/* ===== responsive ===== */
@media (max-width:920px){
  .hero-row{grid-template-columns:1fr}
  .win--quicklinks,.hero-right{max-width:340px;margin:0 auto;width:100%}
  .three-row,.bottom-row,.two-row{grid-template-columns:1fr}
  .perks-row{grid-template-columns:1fr}
  .site-footer{grid-template-columns:1fr 1fr}
  .hero-title .line1{font-size:34px}.hero-title .line2{font-size:30px}
  .win--msg{position:static;width:100%;margin-top:10px}
  .win--player{margin-top:14px}
}
@media (max-width:560px){
  .main-nav{order:3;width:100%}
  .arrivals-inner{grid-template-columns:1fr 1fr}
  .dump-grid{grid-template-columns:1fr 1fr}
  .site-footer{grid-template-columns:1fr}
  .task-item{display:none}
}
