/* Pastel glass palettes. Opaque text colors stay readable over translucent cards. */
:root {
  --ink: #41384f;
  --muted: #584e63;
  --surface: rgba(255, 255, 255, .58);
  --surface-hover: rgba(255, 255, 255, .85);
  --button: rgba(255, 255, 255, .72);
  --shop: #e4d5eb;
  --shop-hover: #d8c5e2;
  --accent: #775a8b;
  --divider: rgba(107, 83, 126, .18);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --ink: #f1eafa;
  --muted: #d5cade;
  --line: rgba(220, 200, 243, .23);
  --surface: rgba(54, 49, 72, .8);
  --surface-hover: rgba(72, 62, 89, .95);
  --button: #40394f;
  --shop: #564464;
  --shop-hover: #645073;
  --accent: #dbc2ee;
  --divider: rgba(220, 200, 243, .2);
}
.header-actions { display: flex; align-items: center; gap: 25px; }
.theme-toggle {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; min-width: 94px; padding: 8px 14px;
  color: var(--ink); background: var(--surface); border: 1px solid var(--line);
  border-radius: 24px; font: inherit; font-size: 12px; cursor: pointer;
  backdrop-filter: blur(18px); transition: background .2s;
}
.theme-symbol { font-family: Arial, sans-serif; font-size: 19px; line-height: 1; }
.theme-toggle:hover { background: var(--surface-hover); }
.theme-toggle:focus-visible, a:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.avatar { position: relative; width: 126px; height: 126px; margin: 0 auto 26px; padding: 5px; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); box-shadow: 0 8px 35px #89749926; }
.avatar img { width: 100%; height: 100%; display: block; object-fit: cover; border-radius: 50%; }
.snow-badge { position: absolute; bottom: 1px; right: -3px; display: grid; place-items: center; width: 33px; height: 33px; border-radius: 50%; background: #e2edf6; color: #536e92; border: 3px solid #f2edf6; font-size: 21px; }
.intro-rule { color: var(--accent); }
.intro-rule span { background: var(--divider); }
.masthead, footer { border-color: var(--divider); }
.link-card, .glass { background: var(--surface); box-shadow: 0 8px 30px #6d57890b, inset 0 1px 0 #ffffff18; }
.link-card:hover { background: var(--surface-hover); }
.link-card:active, .product-links a:active { transform: translateY(0); }
.card-description { font-size: 12px; line-height: 1.6; }
.intro-copy { font-size: 14px; }
.eyebrow { font-size: 10px; }
.section-heading h2 { font-size: 13px; }
.section-heading>span { font-size: 10px; letter-spacing: 1.5px; }
.product-label { color: var(--muted); font-size: 10px; }
.product-heading p { font-size: 12px; line-height: 1.7; }
.product-links a { min-height: 65px; font-size: 13px; background: var(--button); border-color: var(--line); }
.product-links a:hover { background: var(--surface-hover); }
.product-links a.shop-button { background: var(--shop); border-color: var(--line); }
.product-links .shop-button:hover { background: var(--shop-hover); }
.button-sub { color: var(--muted); font-size: 10px; }
.closing { color: var(--muted); }
footer { font-size: 11px; }
footer span:last-child { font-size: 9px; }
:root[data-theme="dark"] body { background-color: #242334; background-image: radial-gradient(ellipse at 8% 30%, #303b50 0, transparent 48%), radial-gradient(ellipse at 92% 60%, #453047 0, transparent 46%), radial-gradient(ellipse at 50% 100%, #2c4243 0, transparent 60%); }
:root[data-theme="dark"] .ambient { opacity: .13; }
:root[data-theme="dark"] .snow-badge { background: #3a4761; color: #c4def5; border-color: #2b293d; }
:root[data-theme="dark"] .wordmark-dot, :root[data-theme="dark"] .product-heading h2 span { color: #e3bbd4; }
:root[data-theme="dark"] .product-spark, :root[data-theme="dark"] .closing span { color: #d7b6da; }
:root[data-theme="dark"] .icon { box-shadow: inset 0 1px 0 #ffffff18; }
:root[data-theme="dark"] .icon-note { background: #354d48; color: #b9e3d3; }
:root[data-theme="dark"] .icon-x { background: #4a3e5b; color: #decaf2; }
:root[data-theme="dark"] .icon-pixiv { background: #344c62; color: #bbdafa; }
:root[data-theme="dark"] .icon-booth { background: #5c3e4e; color: #f1c1d6; }
:root[data-theme="dark"] .product-art i { background: #7993ab; border-color: #ddccef66; }
:root[data-theme="dark"] .product-art i:nth-child(2) { background: #9a83b0; }
:root[data-theme="dark"] .product-art i:nth-child(3) { background: #b2869f; }
:root[data-theme="dark"] .product-art b { color: #3d2c4c; }
@media(max-width:600px) {
  .header-actions { gap: 0; }
  .edition { display: none; }
  .theme-toggle { min-width: 88px; padding: 8px 12px; }
  .avatar { width: 112px; height: 112px; margin-bottom: 23px; }
  .intro { padding-top: 31px; }
  .card-title { font-size: 17px; }
  .card-description { font-size: 12px; }
  .link-card { min-height: 86px; }
  .intro-copy { font-size: 13px; }
  .product-heading p { font-size: 12px; max-width: 210px; }
  .product-links a { font-size: 12px; }
  footer { gap: 12px; flex-wrap: wrap; }
  footer span:last-child { font-size: 8px; letter-spacing: .6px; }
}
@media(max-width:380px) { .product-links { grid-template-columns: 1fr; } .section-heading>span { font-size: 9px; } }
