/* ============================================================
   痴痴的桌面 — 低饱和度手绘版
   structure + interaction reference: shar's desktop
   no original artwork, text, or code from the reference is used
   ============================================================ */

:root{
  --bg:#F7F4EE;
  --ink:#4A4540;
  --muted:#736B63;
  --accent:#8F6047;
  --line:#E2DAD0;
  --line-soft:#EEE7DD;
  --window:#FFFCF7;
  --title:#4A4540;
  --title-ink:#FFFCF7;
  --cream:#F3EDE3;
  --yellow:#EFE6D4;
  --wave-1:#A9C1C8;
  --wave-2:#C9D8DA;
  --wave-back:#B8CDD3;
  --star:#E4D2A8;
  --star-line:#8F6047;
  --star-face:#5F4C3A;
  --blush:#D9A69B;
  --social-bg:#5A554F;
  --social-ink:#FBF8F2;
  --shadow:0 8px 22px rgba(74,69,64,.09);
  --display:"Freckle Face","ZCOOL KuaiLe","Zen Kaku Gothic New",ui-sans-serif,system-ui,sans-serif;
  --mono:"Roboto Mono","Zen Kaku Gothic New",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sans:"Zen Kaku Gothic New",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --home-top:clamp(120px,20.2vh,182px);
}

html.dark{
  --bg:#17191A;
  --ink:#E8E1D7;
  --muted:#A9A198;
  --accent:#C9A58B;
  --line:#3B3E3D;
  --line-soft:#2A2D2C;
  --window:#1E2223;
  --title:#101213;
  --title-ink:#F4EFE7;
  --cream:#1E2223;
  --yellow:#292821;
  --wave-1:#3E5960;
  --wave-2:#557079;
  --wave-back:#344A50;
  --star:#D8C7A4;
  --star-line:#C9A58B;
  --star-face:#35464A;
  --blush:#C99A91;
  --social-bg:#E8E1D7;
  --social-ink:#17191A;
  --shadow:0 8px 26px rgba(0,0,0,.55);
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
html{background:var(--bg)}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:20px;line-height:2.25;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow:hidden;overscroll-behavior:none;
  transition:background-color .3s ease,color .3s ease;
}
button,a{font-family:inherit}
button{color:inherit}
a{color:inherit}
img,svg{display:block}
[hidden]{display:none!important}
::selection{background:rgba(143,96,71,.22)}

.page{position:relative;min-height:100vh;min-height:100dvh}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
