:root{
  --black:#010101;--white:#FFFFFF;--pink:#F50083;
  --butter:#FDFD95;--acid:#DFFC00;--blue:#2163CB;
  --grey:#6b6b6b;--pad:clamp(1.1rem,4vw,3.5rem);
  --marker:'Permanent Marker',cursive;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Satoshi',Helvetica,Arial,sans-serif;background-color:var(--white);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='700'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012' numOctaves='5' seed='7'/%3E%3CfeDiffuseLighting lighting-color='%23ffffff' surfaceScale='1.6'%3E%3CfeDistantLight azimuth='45' elevation='60'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3Crect width='100%25' height='100%25' fill='white' opacity='0.84'/%3E%3C/svg%3E");
  background-size:700px 700px;
  color:var(--black);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
::selection{background:var(--pink);color:var(--white);}
a{color:inherit;text-decoration:none;}

.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:2000;opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 8s steps(10) infinite;}
@keyframes grain{0%,100%{transform:translate(0,0);}20%{transform:translate(-2%,2%);}40%{transform:translate(2%,-1%);}60%{transform:translate(-1%,-2%);}80%{transform:translate(1%,2%);}}

/* image placeholders */
.ph{position:relative;overflow:hidden;background:#111;display:block;width:100%;}
.ph::after{content:"";position:absolute;inset:0;opacity:.5;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.ph .credit{position:absolute;bottom:.6rem;left:.7rem;z-index:1;font-size:.6rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85);}
.ph-1{background:linear-gradient(160deg,#2b2b2e 0%,#6e6a66 45%,#c9c2b8 100%);}
.ph-2{background:linear-gradient(200deg,#101014 0%,#3c3c46 55%,#8d8da0 100%);}
.ph-3{background:linear-gradient(150deg,#3d2630 0%,#9c5a72 55%,#e7c4ce 100%);}
.ph-4{background:linear-gradient(210deg,#1d2533 0%,#46618a 60%,#aebcd2 100%);}
.ph-5{background:linear-gradient(170deg,#33301f 0%,#7d7647 55%,#d6d0a4 100%);}
.ph-6{background:linear-gradient(190deg,#222018 0%,#5f5648 50%,#bfae97 100%);}
.ph-7{background:linear-gradient(160deg,#14181a 0%,#39555a 60%,#9fc3c6 100%);}
.ph-8{background:linear-gradient(200deg,#2e1a26 0%,#7c3b63 55%,#d79ebd 100%);}

/* mini masthead */
.minihead{display:flex;justify-content:space-between;align-items:center;
  padding:1rem var(--pad);border-bottom:1px solid var(--black);}
.minihead .logo{font-weight:900;font-size:1.1rem;letter-spacing:-.02em;}
.minihead .logo i{font-style:normal;color:var(--pink);}
.minihead .lab{font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--grey);}

/* moodboard header */
.mood-head{text-align:center;padding:clamp(2.5rem,6vw,4.5rem) var(--pad) clamp(1rem,2vw,1.6rem);position:relative;}
.mood-head h1{
  font-family:var(--marker);font-weight:400;
  font-size:clamp(2.2rem,6.5vw,4.6rem);
  letter-spacing:.04em;line-height:1;
  display:inline-block;position:relative;transform:rotate(-1.5deg);
}
.mood-head h1 svg{position:absolute;left:-2%;right:-2%;bottom:-.32em;width:104%;height:.26em;}
.mood-sub{
  margin-top:1.8rem;
  font-size:clamp(.95rem,1.6vw,1.15rem);font-weight:900;
  display:inline-block;position:relative;
  border-bottom:2px solid var(--black);padding-bottom:.2em;
}
.mood-sub .circ{position:relative;display:inline-block;padding:.05em .25em;}
.mood-sub .circ svg{position:absolute;inset:-28% -6% -32% -6%;width:112%;height:160%;pointer-events:none;}
.mood-intro{margin:1.2rem auto 0;max-width:34em;font-size:.84rem;font-weight:500;line-height:1.7;color:#2c2c2c;}

/* board tools (hint + reset) */
.board-tools{margin-top:1.6rem;display:flex;align-items:center;justify-content:center;gap:1.2rem;flex-wrap:wrap;}
.board-hint{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);}
.board-hint .rot-demo{display:inline-flex;align-items:center;justify-content:center;
  width:1.5em;height:1.5em;border-radius:50%;background:var(--pink);color:var(--white);font-size:.9em;}
.pill-btn{font:inherit;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  border:1.5px solid var(--black);border-radius:100px;background:none;padding:.6em 1.6em;cursor:pointer;
  transition:background .2s,color .2s,border-color .2s;}
.pill-btn:hover{background:var(--pink);border-color:var(--pink);color:var(--white);}

/* ---------- the pinboard ---------- */
.board-wrap{padding:clamp(1rem,2vw,2rem) var(--pad) clamp(3.5rem,7vw,6rem);}
.board{
  position:relative;
  max-width:1240px;margin:0 auto;
  height:clamp(760px,88vw,1180px);
  user-select:none;-webkit-user-select:none;
}

/* every pinnable thing */
.pin-item{position:absolute;cursor:grab;touch-action:none;will-change:transform,left,top;}
.pin-item.drag{cursor:grabbing;}
.pin-item.drag .ph{filter:brightness(1.03);}

/* rotate handle */
.rot{
  position:absolute;top:-14px;right:-14px;z-index:3;
  width:30px;height:30px;border-radius:50%;
  border:none;background:var(--pink);color:var(--white);
  font-size:15px;line-height:1;cursor:alias;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.8);
  transition:opacity .18s,transform .18s;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
  touch-action:none;
}
.pin-item:hover .rot,.pin-item.drag .rot,.pin-item.spinning .rot{opacity:1;transform:scale(1);}

/* polaroid tiles */
.tile{background:var(--white);padding:8px 8px 12px;box-shadow:0 10px 30px rgba(0,0,0,.18);}
.tile .ph{aspect-ratio:3/4;}
.tile .pin{
  position:absolute;top:-9px;left:50%;transform:translateX(-50%);
  width:16px;height:16px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#ff6db8,var(--pink) 60%,#a30058);
  box-shadow:0 3px 6px rgba(0,0,0,.35);z-index:2;
}
.tile .name{margin-top:.6rem;font-size:.66rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;padding:0 .2rem;}
.tile .role{font-size:.58rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin-top:.15rem;padding:0 .2rem;}

/* handwritten pieces */
.anno{font-family:var(--marker);font-weight:400;font-size:clamp(1rem,1.8vw,1.4rem);white-space:nowrap;}
.quote{font-family:var(--marker);font-weight:400;font-size:clamp(1.5rem,4vw,3.2rem);line-height:1.18;letter-spacing:.01em;}
.quote .circled{position:relative;display:inline-block;padding:0 .12em;}
.quote .circled svg{position:absolute;inset:-22% -5% -26% -5%;width:110%;height:150%;pointer-events:none;}
.quote .pinked{color:var(--pink);}

/* scribbles */
.scribble{position:absolute;pointer-events:none;}
.mh-star{top:14%;right:12%;width:clamp(34px,4.5vw,60px);transform:rotate(14deg);}

/* floating tab bar */
.tabbar{position:fixed;left:50%;transform:translateX(-50%);bottom:1.2rem;top:auto;z-index:1000;
  display:flex;align-items:center;gap:.25rem;padding:.4rem .5rem;border-radius:100px;
  background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(1,1,1,.12);box-shadow:0 8px 30px rgba(0,0,0,.10);
  transition:bottom .45s cubic-bezier(.6,.05,.2,1),top .45s cubic-bezier(.6,.05,.2,1);}
.tabbar.docked{bottom:auto;top:1rem;}
.tabbar a,.tabbar button{font:inherit;border:none;background:none;cursor:pointer;
  font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:.5rem 1.05rem;border-radius:100px;transition:background .2s,color .2s;display:flex;align-items:center;}
.tabbar a:hover,.tabbar button:hover{background:rgba(1,1,1,.06);}
.tabbar .home-mini{font-weight:900;letter-spacing:-.02em;text-transform:none;font-size:.95rem;}
.tabbar .home-mini span{color:var(--pink);}

/* footer */
footer{background:var(--black);color:var(--white);padding:clamp(3rem,6vw,5rem) var(--pad) 7rem;}
footer .fmast{font-size:clamp(2.6rem,9vw,7.5rem);font-weight:900;letter-spacing:-.035em;line-height:.92;}
footer .fmast span{color:var(--pink);}
.fcols{display:grid;grid-template-columns:repeat(3,auto);gap:3rem;justify-content:start;margin-top:3rem;font-size:.85rem;font-weight:500;}
.fcols h4{font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#8b8b8b;margin-bottom:.9rem;}
.fcols li{list-style:none;margin-bottom:.5rem;}
.fcols a:hover{color:var(--acid);}
.fbottom{margin-top:3.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#8b8b8b;}

/* search overlay */
.search-overlay{position:fixed;inset:0;z-index:3000;background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:none;align-items:center;justify-content:center;padding:var(--pad);}
.search-overlay.open{display:flex;}
.search-box{width:min(760px,100%);}
.search-box label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1rem;color:var(--pink);}
.search-box input{width:100%;font-family:inherit;font-weight:900;letter-spacing:-.02em;font-size:clamp(1.8rem,5vw,3.4rem);border:none;border-bottom:3px solid var(--black);background:transparent;outline:none;padding:.2em 0;}
.search-box .hint{margin-top:1rem;font-size:.8rem;font-weight:500;color:var(--grey);}
.search-close{position:absolute;top:1.4rem;right:1.6rem;font:inherit;font-weight:900;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;background:none;border:1.5px solid var(--black);border-radius:100px;padding:.55rem 1.2rem;cursor:pointer;}
.search-close:hover{background:var(--pink);border-color:var(--pink);color:var(--white);}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}

/* responsive */
@media (max-width:760px){
  .board{height:clamp(1050px,210vw,1500px);}
  .rot{opacity:1;transform:scale(.9);width:26px;height:26px;font-size:13px;} /* always visible on touch */
  .fcols{grid-template-columns:1fr 1fr;gap:2rem;}
  .tabbar{max-width:calc(100vw - 1.2rem);padding:.3rem .35rem;gap:.1rem;bottom:calc(.8rem + env(safe-area-inset-bottom));}
  .tabbar a,.tabbar button{font-size:.7rem;padding:.45rem .7rem;letter-spacing:.04em;}
  .tabbar .home-mini{font-size:.85rem;}
}
@media (max-width:380px){.tabbar .home-mini{display:none;}}


/* ================= glossy refresh — Apple-inspired ================= */
:root{
  --head:-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI',Roboto,'Helvetica Neue',Helvetica,Arial,sans-serif;
}
body{
  font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Roboto,'Helvetica Neue',Helvetica,Arial,sans-serif;
  background-image:none;
  background-color:#fbfbfd;
  color:#1d1d1f;
}
/* clean, smooth surfaces: no film grain, no paper texture */
.grain{display:none;}
.ph::after{display:none;}
/* refined type: tighter tracking, calmer weights */
h1,h2,h3,h4{letter-spacing:-.025em;}

footer .fmast{font-weight:800;}


/* ================= dark mode ================= */
html[data-theme="dark"]{
  --black:#f5f5f7;
  --white:#131317;
  --grey:#a1a1a8;
  --hairline:#2c2c33;
  color-scheme:dark;
}
html[data-theme="dark"] body{background-color:#0b0b0d;color:#f5f5f7;}
html[data-theme="dark"] .tabbar{background:rgba(22,22,26,.72);border-color:rgba(255,255,255,.14);box-shadow:0 8px 30px rgba(0,0,0,.5);}
html[data-theme="dark"] .tabbar a:hover,html[data-theme="dark"] .tabbar button:hover{background:rgba(255,255,255,.09);}
html[data-theme="dark"] .search-overlay{background:rgba(12,12,15,.92);}
html[data-theme="dark"] footer{background:#000;color:#f5f5f7;}
html[data-theme="dark"] footer .fmast span{color:var(--pink);}
html[data-theme="dark"] .creators{background:#000;color:#f5f5f7;}
html[data-theme="dark"] .creators-btn{border-color:#f5f5f7;color:#f5f5f7;}
html[data-theme="dark"] .comments{background:#17171c;}
html[data-theme="dark"] .comments .note{color:#b5b5bc;}
html[data-theme="dark"] .comment{border-top-color:rgba(255,255,255,.18);}
html[data-theme="dark"] .comment p{color:#d6d6db;}
html[data-theme="dark"] .article-body{color:#d9d9de;}
html[data-theme="dark"] .pull{color:#111;}
html[data-theme="dark"] .pull span{color:var(--pink);}
html[data-theme="dark"] mark{color:#111;}
html[data-theme="dark"] .progress{background:#2c2c33;}
html[data-theme="dark"] .prog-fill{background:#4a4a52;}
html[data-theme="dark"] .mani-body p,
html[data-theme="dark"] .dek,
html[data-theme="dark"] .mani-foot .statement,
html[data-theme="dark"] .look-desc,
html[data-theme="dark"] .look-cap,
html[data-theme="dark"] .spot .cap,
html[data-theme="dark"] .sl-intro,
html[data-theme="dark"] .sr-body p,
html[data-theme="dark"] .ndek,
html[data-theme="dark"] .next-side .ndek,
html[data-theme="dark"] .nl-form input{color:#c4c4cb;}
html[data-theme="dark"] .kicker{color:#9a9aa2;}
html[data-theme="dark"] .kicker::after{background:#34343b;}
html[data-theme="dark"] .creators .kicker::after{background:rgba(255,255,255,.35);}
html[data-theme="dark"] .tile{background:#1d1d23;}
/* floating toggle (pages without the tab bar) */
.theme-toggle.floating{
  position:fixed;bottom:1.2rem;right:1.2rem;z-index:1500;
  width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(127,127,127,.35);cursor:pointer;
  background:var(--white);color:var(--black);font-size:1.05rem;
  box-shadow:0 8px 30px rgba(0,0,0,.18);
}
.tabbar .theme-toggle{font-size:1rem;}
