/* G Home PC desktop interaction demo. Intentionally isolated from mobile theme tokens. */
.g-desktop {
  --dc-bg: #0a0612;
  --dc-bg2: #120a1e;
  --dc-surf: #1a0f2e;
  --dc-surf2: #221540;
  --dc-ink: #e8d5ff;
  --dc-muted: #9b7ec8;
  --dc-dim: #5c4480;
  --dc-accent: #c084fc;
  --dc-accent2: #a855f7;
  --dc-cyan: #67e8f9;
  --dc-pink: #f472b6;
  --dc-green: #4ade80;
  --dc-yellow: #facc15;
  --dc-red: #f87171;
  --dc-line: #3d2468;
  --dc-line2: #5b3890;
  position: fixed;
  inset: 0;
  z-index: 4000;
  overflow: hidden;
  color: var(--dc-ink);
  background: var(--dc-bg);
  font-family: "VT323", "Space Mono", monospace;
  font-size: 20px;
  line-height: 1.3;
  isolation: isolate;
}

.g-desktop *,
.g-desktop *::before,
.g-desktop *::after { box-sizing: border-box; }

.g-desktop button,
.g-desktop input { font: inherit; }

.g-desktop::before,
.g-desktop::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 99999;
}

.g-desktop::before {
  background: repeating-linear-gradient(to bottom, transparent 0 3px, rgba(103, 232, 249, var(--desktop-scanline-opacity, .075)) 3px 4px);
  mix-blend-mode: screen;
}

.g-desktop::after {
  background: radial-gradient(circle at 50% 44%, transparent 52%, rgba(3, 1, 9, .72) 100%);
}

.g-desktop-wallpaper {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background:
    radial-gradient(ellipse 70% 55% at 20% 15%, rgba(120, 40, 200, .28) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 85% 80%, rgba(40, 10, 100, .32) 0%, transparent 55%),
    radial-gradient(ellipse 45% 40% at 60% 40%, rgba(80, 20, 160, .14) 0%, transparent 50%),
    linear-gradient(180deg, #0a0612 0%, #120a1e 60%, #0a0612 100%);
}

.g-desktop-wallpaper::before {
  content: "";
  position: absolute;
  inset: 36px 0 44px;
  opacity: .08;
  background-image: linear-gradient(rgba(103, 232, 249, .14) 1px, transparent 1px), linear-gradient(90deg, rgba(192, 132, 252, .13) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, transparent 4%, #000 26%, #000 72%, transparent 96%);
}

.g-desktop-sky-glow {
  position: absolute;
  width: 54vw;
  height: 54vw;
  right: -18vw;
  top: -22vw;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(103, 232, 249, .08), rgba(192, 132, 252, .05) 36%, transparent 67%);
}

.g-desktop-window-scene {
  position: absolute;
  inset: 36px 0 44px;
  overflow: hidden;
  border-top: 1px solid rgba(103, 232, 249, .045);
  border-bottom: 1px solid rgba(91, 56, 144, .34);
}

.g-desktop-moon {
  position: absolute;
  top: 8%;
  right: 10%;
  width: 138px;
  height: 138px;
  filter: drop-shadow(0 0 24px rgba(232, 213, 255, .23));
}

.g-desktop-moon i {
  position: absolute;
  inset: 22px;
  z-index: 1;
  border-radius: 50%;
  background: rgba(232, 213, 255, .94);
  box-shadow: 0 0 32px rgba(232, 213, 255, .24);
}

.g-desktop-moon i::after {
  content: "";
  position: absolute;
  inset: -3px -16px 9px 28px;
  border-radius: 50%;
  background: #0b0613;
}

.g-desktop-cloud {
  position: absolute;
  height: 18px;
  opacity: .34;
  border-top: 1px solid rgba(103, 232, 249, .2);
  border-bottom: 1px solid rgba(192, 132, 252, .09);
  background: linear-gradient(90deg, transparent, rgba(34, 21, 64, .5), transparent);
  filter: blur(.2px);
}

.g-desktop-cloud.cloud-one { top: 26%; right: 5%; width: 360px; }
.g-desktop-cloud.cloud-two { top: 34%; right: 20%; width: 250px; }

.g-desktop-stars {
  position: absolute;
  inset: 0;
}

.g-desktop-stars i {
  position: absolute;
  width: 2px;
  height: 2px;
  background: var(--dc-ink);
  box-shadow: 0 0 5px rgba(232, 213, 255, .42);
  opacity: .45;
}

.g-desktop-stars i:nth-child(1) { left: 8%; top: 14%; }
.g-desktop-stars i:nth-child(2) { left: 19%; top: 29%; background: var(--dc-cyan); }
.g-desktop-stars i:nth-child(3) { left: 34%; top: 11%; }
.g-desktop-stars i:nth-child(4) { left: 47%; top: 31%; background: var(--dc-pink); }
.g-desktop-stars i:nth-child(5) { left: 59%; top: 17%; }
.g-desktop-stars i:nth-child(6) { left: 72%; top: 39%; background: var(--dc-cyan); }
.g-desktop-stars i:nth-child(7) { left: 83%; top: 13%; }
.g-desktop-stars i:nth-child(8) { left: 91%; top: 31%; background: var(--dc-pink); }
.g-desktop-stars i:nth-child(9) { left: 28%; top: 46%; }
.g-desktop-stars i:nth-child(10) { left: 66%; top: 50%; }

.g-desktop-window-frame {
  position: absolute;
  opacity: .18;
  background: linear-gradient(90deg, rgba(10, 6, 18, .9), rgba(91, 56, 144, .48), rgba(10, 6, 18, .9));
  box-shadow: 0 0 22px rgba(10, 6, 18, .9);
}

.g-desktop-window-frame.frame-vertical { top: 0; bottom: 0; left: 56%; width: 3px; }
.g-desktop-window-frame.frame-horizontal { right: 0; bottom: 31%; left: 0; height: 3px; }

.g-desktop-room-sill {
  position: absolute;
  right: 0;
  bottom: 44px;
  left: 0;
  height: 30px;
  border-top: 1px solid rgba(103, 232, 249, .16);
  background: linear-gradient(180deg, rgba(34, 21, 64, .46), rgba(5, 3, 10, .94));
  box-shadow: 0 -14px 38px rgba(10, 6, 18, .72);
}

.g-desktop-city {
  position: absolute;
  bottom: 0;
  width: 100%;
  background-color: rgba(19, 10, 34, .92);
  background-image:
    radial-gradient(ellipse 2px 3px at 16px 16px, rgba(250, 204, 21, .54) 88%, transparent 100%),
    radial-gradient(ellipse 2px 3px at 38px 29px, rgba(103, 232, 249, .28) 88%, transparent 100%),
    linear-gradient(180deg, transparent 0 23px, rgba(91, 56, 144, .22) 23px 24px, transparent 24px);
  background-size: 48px 38px, 56px 44px, 68px 46px;
  border-top: 1px solid rgba(91, 56, 144, .46);
}

.g-desktop-city.city-back { height: 190px; opacity: .38; transform: translateY(-46px); clip-path: polygon(0 46%, 5% 46%, 5% 16%, 11% 16%, 11% 61%, 18% 61%, 18% 28%, 25% 28%, 25% 68%, 32% 68%, 32% 22%, 39% 22%, 39% 58%, 47% 58%, 47% 35%, 54% 35%, 54% 66%, 62% 66%, 62% 18%, 70% 18%, 70% 54%, 78% 54%, 78% 32%, 86% 32%, 86% 64%, 93% 64%, 93% 23%, 100% 23%, 100% 100%, 0 100%); }
.g-desktop-city.city-front { height: 142px; opacity: .72; clip-path: polygon(0 52%, 7% 52%, 7% 19%, 14% 19%, 14% 68%, 22% 68%, 22% 31%, 30% 31%, 30% 63%, 38% 63%, 38% 12%, 46% 12%, 46% 57%, 55% 57%, 55% 26%, 64% 26%, 64% 71%, 72% 71%, 72% 20%, 81% 20%, 81% 59%, 90% 59%, 90% 34%, 100% 34%, 100% 100%, 0 100%); }

.g-desktop-topbar {
  position: absolute;
  inset: 0 0 auto;
  height: 36px;
  z-index: 6000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 14px 0 16px;
  border-bottom: 1px solid var(--dc-line2);
  background: rgba(10, 6, 18, .9);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 9px;
  letter-spacing: .05em;
}

.g-desktop-topbar > div,
.g-desktop-topbar-right { display: flex; align-items: center; gap: 14px; }
.g-desktop-topbar strong { color: var(--dc-cyan); }
.g-desktop-topbar span,
.g-desktop-topbar time { color: var(--dc-muted); }
.g-desktop-online i { display: inline-block; width: 7px; height: 7px; margin-right: 5px; background: var(--dc-green); box-shadow: 0 0 8px rgba(74, 222, 128, .72); }
.g-desktop-view-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 112px;
  height: 26px;
  padding: 2px;
  overflow: hidden;
  border: 1px solid var(--dc-line, rgba(93, 56, 144, .48));
  border-radius: 999px;
  background: rgba(10, 6, 18, .52);
}

.g-desktop-view-switch button {
  min-width: 0;
  padding: 0 7px;
  color: var(--dc-muted, #897f8f);
  border: 0;
  border-radius: 999px;
  background: transparent;
  font-family: "Space Mono", ui-monospace, monospace;
  font-size: 10px;
  line-height: 20px;
  cursor: pointer;
}

.g-desktop-view-switch button.active {
  color: var(--dc-bg, #0a0612);
  background: var(--dc-cyan, #67e8f9);
  box-shadow: 0 0 8px rgba(103, 232, 249, .16);
}

.g-desktop-view-switch button:not(.active):hover { color: var(--dc-cyan, #3d8f88); }

.g-desktop-workspace {
  position: absolute;
  inset: 36px 0 44px;
  z-index: 10;
  overflow: hidden;
}

.g-desktop-relationship-home {
  position: absolute;
  top: clamp(44px, 8vh, 96px);
  left: 50%;
  z-index: 20;
  width: min(1120px, calc(100% - 128px));
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  gap: clamp(20px, 2.4vw, 34px);
  transform: translateX(-50%);
  pointer-events: none;
}

.g-desktop-couple-portrait,
.g-desktop-love-stats {
  position: relative;
  box-sizing: border-box;
  min-width: 0;
  min-height: 408px;
  border: 1px solid rgba(135, 94, 196, .42);
  background:
    linear-gradient(135deg, rgba(41, 21, 68, .58), rgba(13, 8, 23, .28) 58%),
    rgba(12, 7, 21, .42);
  box-shadow: 9px 9px 0 rgba(38, 22, 68, .32), inset 0 0 0 1px rgba(103, 232, 249, .035);
  backdrop-filter: blur(4px);
}

.g-desktop-couple-portrait::before,
.g-desktop-love-stats::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 74px;
  height: 3px;
  background: var(--dc-cyan);
  box-shadow: 0 0 12px rgba(103, 232, 249, .36);
}

.g-desktop-couple-portrait {
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  justify-items: center;
  gap: 12px;
  padding: 24px 30px 26px;
  text-align: center;
}

.g-desktop-couple-portrait > small,
.g-desktop-love-stats header small,
.g-desktop-love-stat-grid small,
.g-desktop-love-stats footer {
  color: var(--dc-cyan);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 6px;
  line-height: 1.5;
  letter-spacing: .08em;
}

.g-desktop-couple-portraits {
  position: relative;
  align-self: center;
  width: min(100%, 330px);
  height: 172px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.g-desktop-couple-avatar {
  position: relative;
  width: 128px;
  height: 158px;
  overflow: hidden;
  border: 2px solid var(--dc-accent);
  background: linear-gradient(155deg, rgba(71, 42, 116, .88), rgba(16, 8, 29, .94));
  box-shadow: 7px 7px 0 rgba(37, 20, 67, .72), 0 0 24px rgba(192, 132, 252, .12);
}

.g-desktop-couple-avatar.is-g {
  z-index: 1;
  transform: translateX(12px) rotate(-2deg);
}

.g-desktop-couple-avatar.is-kiki {
  z-index: 2;
  border-color: var(--dc-pink);
  transform: translateX(-12px) rotate(2deg);
}

.g-desktop-couple-avatar img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.g-desktop-couple-avatar b {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--dc-ink);
  font: 42px/1 "Press Start 2P", "VT323", monospace;
}

.g-desktop-couple-heart {
  position: relative;
  z-index: 4;
  width: 38px;
  height: 38px;
  display: grid;
  flex: 0 0 38px;
  place-items: center;
  color: #14091f;
  border: 2px solid rgba(255, 220, 240, .72);
  background: var(--dc-pink);
  box-shadow: 4px 4px 0 rgba(68, 33, 91, .72), 0 0 16px rgba(244, 114, 182, .38);
  font-size: 15px;
  transform: translateY(36px);
}

.g-desktop-couple-mark {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 13px;
  color: var(--dc-ink);
  font-family: "Press Start 2P", "VT323", monospace;
  line-height: 1;
  text-shadow: 4px 4px 0 rgba(91, 56, 144, .58), 0 0 15px rgba(192, 132, 252, .18);
}

.g-desktop-couple-mark strong {
  color: inherit;
  font-size: clamp(32px, 3.6vw, 54px);
  font-weight: 400;
  letter-spacing: -.06em;
}

.g-desktop-couple-mark strong:last-child { color: #efc8ff; }
.g-desktop-couple-mark i {
  color: var(--dc-pink);
  font-family: "Literata", "Songti SC", serif;
  font-size: 30px;
  font-style: italic;
  font-weight: 400;
}

.g-desktop-couple-portrait > p {
  margin: 0;
  color: var(--dc-muted);
  font: 12px/1.6 "Space Mono", "PingFang SC", monospace;
}

.g-desktop-love-stats {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 18px;
  padding: 28px;
}

.g-desktop-love-stats::before {
  right: -1px;
  left: auto;
  background: var(--dc-pink);
  box-shadow: 0 0 12px rgba(244, 114, 182, .34);
}

.g-desktop-love-stats header {
  display: grid;
  gap: 8px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(103, 232, 249, .18);
}

.g-desktop-love-stats header strong {
  color: var(--dc-ink);
  font-family: "Literata", "Songti SC", serif;
  font-size: 25px;
  font-weight: 400;
  letter-spacing: .04em;
}

.g-desktop-love-stats header span {
  color: var(--dc-muted);
  font: 11px/1.55 "Space Mono", "PingFang SC", monospace;
}

.g-desktop-love-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.g-desktop-love-stat-grid article {
  position: relative;
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 5px;
  min-height: 102px;
  padding: 13px 15px;
  overflow: hidden;
  border: 1px solid rgba(108, 71, 159, .48);
  background: rgba(20, 11, 35, .62);
}

.g-desktop-love-stat-grid article::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 18px;
  height: 2px;
  background: var(--dc-accent);
}

.g-desktop-love-stat-grid article[data-love-stat="messages"]::after,
.g-desktop-love-stat-grid article[data-love-stat="favorites"]::after { background: var(--dc-pink); }

.g-desktop-love-stat-grid article > strong {
  display: inline-block;
  overflow: hidden;
  color: var(--dc-ink);
  font-family: "VT323", "Space Mono", monospace;
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 400;
  line-height: .95;
  letter-spacing: .02em;
  text-overflow: ellipsis;
  transition: color .18s ease, text-shadow .18s ease, transform .18s ease;
}

.g-desktop-love-stat-grid article.is-rolling > strong {
  color: #fff;
  text-shadow: 0 0 12px rgba(103, 232, 249, .55);
  transform: translateY(-1px);
}

.g-desktop-love-stat-grid article > span {
  color: var(--dc-muted);
  font: 11px/1.25 "PingFang SC", sans-serif;
}

.g-desktop-love-stats footer {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--dc-dim);
}

.g-desktop-love-stats footer i {
  width: 7px;
  height: 7px;
  background: var(--dc-green);
  box-shadow: 0 0 8px rgba(74, 222, 128, .64);
}

.g-desktop-icon {
  position: absolute;
  width: 104px;
  height: 76px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 7px 4px 8px;
  color: var(--dc-ink);
  border: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  cursor: default;
  user-select: none;
  touch-action: none;
}

.g-desktop-icon:hover,
.g-desktop-icon.is-selected { border-color: var(--dc-line2); background: rgba(34, 21, 64, .7); }
.g-desktop-icon.is-selected { box-shadow: inset 0 -2px var(--dc-cyan); }
.g-desktop-app-icon.has-svg::before {
  content: "";
  display: block;
  background: currentColor;
  -webkit-mask: var(--desktop-icon) center / contain no-repeat;
  -webkit-mask-mode: alpha;
  mask: var(--desktop-icon) center / contain no-repeat;
  mask-mode: alpha;
}
.g-desktop-icon-art {
  width: 38px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  color: var(--dc-cyan);
  border: 1px solid var(--dc-line2);
  background: var(--dc-surf2);
}
.g-desktop-icon-art::before {
  width: 22px;
  height: 22px;
}
.g-desktop-icon b {
  display: block;
  width: 100%;
  overflow: hidden;
  color: var(--dc-ink);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 5.5px;
  line-height: 1.4;
  letter-spacing: .015em;
  text-align: center;
  white-space: nowrap;
}

.g-desktop-window {
  position: absolute;
  display: flex;
  flex-direction: column;
  min-width: 360px;
  min-height: 260px;
  border: 1px solid var(--dc-line2);
  background: rgba(18, 10, 30, var(--desktop-window-opacity, .93));
  box-shadow: 7px 7px 0 rgba(61, 36, 104, .56), 0 16px 44px rgba(3, 1, 8, .54);
}
.g-desktop-window.is-active { border-color: var(--dc-accent); box-shadow: 7px 7px 0 rgba(91, 56, 144, .68), 0 18px 54px rgba(3, 1, 8, .62); }
.g-desktop-window.is-max {
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  min-width: 0;
  min-height: 0;
  max-width: none;
  max-height: none;
  border-width: 0;
  box-shadow: none;
}

.g-desktop-titlebar {
  height: 32px;
  flex: 0 0 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 10px;
  border-bottom: 1px solid var(--dc-line2);
  background: rgba(34, 21, 64, .94);
  cursor: grab;
  user-select: none;
  touch-action: none;
}
.g-desktop-titlebar:active { cursor: grabbing; }
.g-desktop-titlebar > div { display: flex; align-items: center; gap: 7px; min-width: 0; }
.g-desktop-titlebar-icon { width: 18px; height: 18px; flex: 0 0 18px; display: grid; place-items: center; color: var(--dc-cyan); }
.g-desktop-titlebar-icon::before { width: 15px; height: 15px; }
.g-desktop-titlebar strong { color: var(--dc-ink); font-family: "Press Start 2P", "VT323", monospace; font-size: 8px; letter-spacing: .04em; }
.g-desktop-window-actions { align-self: stretch; gap: 0 !important; }
.g-desktop-window-actions button {
  width: 34px;
  height: 31px;
  color: var(--dc-muted);
  border: 0;
  border-left: 1px solid var(--dc-line);
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}
.g-desktop-window-actions button:hover { color: var(--dc-ink); background: rgba(192, 132, 252, .12); }
.g-desktop-window-actions button:last-child:hover { color: var(--dc-pink); background: rgba(244, 114, 182, .12); }
.g-desktop-window-body { min-height: 0; flex: 1; overflow: auto; }

.g-desktop-resize { position: absolute; z-index: 8; touch-action: none; }
.g-desktop-resize.resize-n { top: -4px; left: 8px; right: 8px; height: 8px; cursor: ns-resize; }
.g-desktop-resize.resize-s { bottom: -4px; left: 8px; right: 8px; height: 8px; cursor: ns-resize; }
.g-desktop-resize.resize-e { top: 8px; right: -4px; bottom: 8px; width: 8px; cursor: ew-resize; }
.g-desktop-resize.resize-w { top: 8px; left: -4px; bottom: 8px; width: 8px; cursor: ew-resize; }
.g-desktop-resize.resize-ne,
.g-desktop-resize.resize-nw,
.g-desktop-resize.resize-se,
.g-desktop-resize.resize-sw { width: 13px; height: 13px; }
.g-desktop-resize.resize-ne { top: -5px; right: -5px; cursor: nesw-resize; }
.g-desktop-resize.resize-nw { top: -5px; left: -5px; cursor: nwse-resize; }
.g-desktop-resize.resize-se { right: -5px; bottom: -5px; cursor: nwse-resize; }
.g-desktop-resize.resize-sw { left: -5px; bottom: -5px; cursor: nesw-resize; }

.g-desktop-app { min-height: 100%; padding: 18px; }
.g-desktop-demo-banner { margin-bottom: 14px; padding: 7px 9px; color: var(--dc-cyan); border: 1px solid var(--dc-line); background: rgba(103, 232, 249, .04); font-family: "Press Start 2P", "VT323", monospace; font-size: 7px; letter-spacing: .06em; }

.g-desktop-window:has(.g-desktop-chat-app.is-real-chat) .g-desktop-window-body { overflow: hidden; }
.g-desktop-chat-app.is-real-chat {
  --stitch-text: var(--dc-ink);
  --stitch-muted: var(--dc-muted);
  --stitch-primary: var(--dc-accent);
  --stitch-hot: var(--dc-pink);
  height: 100%;
  width: 100%;
  max-width: none;
  min-height: 0;
  min-width: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0;
  color: var(--dc-ink);
  background: rgba(10, 6, 18, .32);
}
.g-desktop-chat-statusbar {
  position: relative;
  min-height: 44px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 8px 14px;
  border-bottom: 1px solid var(--dc-line);
  background: rgba(10, 6, 18, .58);
}
.g-desktop-chat-state {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0;
  color: var(--dc-ink);
  border: 0;
  background: transparent;
  cursor: pointer;
}
.g-desktop-chat-state:hover strong,
.g-desktop-chat-state.open strong { color: var(--dc-cyan); }
.g-desktop-chat-statusbar .presence-dot { width: 7px; height: 7px; flex: 0 0 7px; }
.g-desktop-chat-state strong {
  min-width: 0;
  overflow: hidden;
  color: var(--dc-ink);
  font-size: 11px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.g-desktop-chat-tools { margin-left: auto; display: flex; align-items: center; gap: 2px; }
.g-desktop-chat-tools button {
  width: 28px;
  height: 26px;
  display: grid;
  place-items: center;
  padding: 0;
  color: var(--dc-cyan);
  border: 0;
  border-left: 1px solid var(--dc-line);
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}
.g-desktop-chat-tools button:hover { color: var(--dc-bg); background: var(--dc-cyan); }
.g-desktop-chat-tools button:disabled { opacity: .5; cursor: wait; }
.g-desktop-chat-tools .material-symbols-outlined { font-size: 15px; font-variation-settings: "FILL" 0, "wght" 320, "GRAD" -25, "opsz" 18; }
.g-desktop-chat-app .messages.g-desktop-chat-thread {
  height: auto;
  min-height: 0;
  max-height: none;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 30px;
  overflow: auto;
  padding: 24px 28px 34px;
  scroll-padding-bottom: 28px;
}
.g-desktop-chat-app .load-older-messages {
  color: var(--dc-cyan);
  border-color: var(--dc-line);
  border-radius: 0;
  background: rgba(103, 232, 249, .04);
  box-shadow: none;
  font-size: 11px;
}
.g-desktop-chat-app .msg { margin: 0; font-family: "Space Mono", "PingFang SC", sans-serif; }
.g-desktop-chat-app .ai-msg { max-width: 88%; }
.g-desktop-chat-app .msg.user { width: min(92%, 1120px); margin-left: auto; }
.g-desktop-chat-app .ai-response-body,
.g-desktop-chat-app .user-response .ai-response-body,
.g-desktop-chat-app .bubble { color: var(--dc-ink); font-size: 13px; line-height: 1.76; }
.g-desktop-chat-app .ai-response,
.g-desktop-chat-app .user-response { color: var(--dc-ink); }
.g-desktop-chat-app .message-receipt,
.g-desktop-chat-app .message-actions,
.g-desktop-chat-app .inline-message-actions { color: var(--dc-cyan); border-color: rgba(103, 232, 249, .14); }
.g-desktop-chat-app .message-receipt,
.g-desktop-chat-app .message-receipt time {
  color: var(--dc-cyan) !important;
  -webkit-text-fill-color: var(--dc-cyan) !important;
  opacity: 1;
}
.g-desktop-chat-app .message-receipt > span {
  background: color-mix(in srgb, var(--dc-cyan) 28%, transparent) !important;
}
.g-desktop-chat-app .stitch-message-actions {
  gap: 9px;
  margin-top: 6px;
}
.g-desktop-chat-app .stitch-message-actions button {
  gap: 3px;
  font-size: 7px;
  letter-spacing: .04em;
}
.g-desktop-chat-app .stitch-message-actions button span { font-size: 11px; }
.g-desktop-chat-app .ai-response-actions { gap: 5px 9px; margin-top: 7px; }
.g-desktop-chat-app .journey-share-response {
  padding: 16px;
  border: 1px solid rgba(103, 232, 249, .24);
  border-left: 2px solid var(--dc-cyan);
  background:
    linear-gradient(135deg, rgba(103, 232, 249, .06), transparent 48%),
    rgba(22, 10, 38, .48);
}
.g-desktop-chat-app .journey-chat-card {
  min-width: 0;
  display: grid;
  gap: 14px;
}
.g-desktop-chat-app .journey-chat-card > header {
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
}
.g-desktop-chat-app .journey-chat-card > header > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: var(--dc-cyan);
  border: 1px solid rgba(103, 232, 249, .38);
  font-size: 18px;
}
.g-desktop-chat-app .journey-chat-card > header > div {
  min-width: 0;
  display: grid;
  gap: 5px;
}
.g-desktop-chat-app .journey-chat-card small {
  display: block;
  color: var(--dc-cyan);
  font: 700 7px/1.4 "Press Start 2P", "VT323", monospace;
  letter-spacing: .06em;
}
.g-desktop-chat-app .journey-chat-card strong {
  display: block;
  color: var(--dc-ink);
  font: 600 15px/1.42 "Noto Serif SC", "Songti SC", serif;
}
.g-desktop-chat-app .journey-chat-attribution,
.g-desktop-chat-app .journey-chat-place,
.g-desktop-chat-app .journey-chat-card blockquote,
.g-desktop-chat-app .journey-chat-card footer {
  margin: 0;
}
.g-desktop-chat-app .journey-chat-attribution {
  color: var(--dc-pink);
  font: 700 8px/1.45 "Press Start 2P", "VT323", monospace;
  letter-spacing: .04em;
}
.g-desktop-chat-app .journey-chat-place {
  color: var(--dc-muted);
  font-size: 11px;
  line-height: 1.72;
}
.g-desktop-chat-app .journey-chat-card ol {
  min-width: 0;
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.g-desktop-chat-app .journey-chat-card li {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid rgba(192, 132, 252, .24);
  background: rgba(10, 6, 18, .38);
}
.g-desktop-chat-app .journey-chat-card li span {
  color: var(--dc-muted);
  font-size: 10.5px;
  line-height: 1.62;
  overflow-wrap: anywhere;
}
.g-desktop-chat-app .journey-chat-card blockquote {
  display: grid;
  gap: 8px;
  padding: 14px 15px;
  border: 1px solid rgba(103, 232, 249, .22);
  border-left: 2px solid var(--dc-pink);
  background: rgba(10, 6, 18, .46);
}
.g-desktop-chat-app .journey-chat-card blockquote p {
  margin: 0;
  color: var(--dc-ink);
  font-size: 11px;
  line-height: 1.8;
}
.g-desktop-chat-app .journey-chat-card footer {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  align-items: end;
  padding-top: 9px;
  border-top: 1px solid rgba(192, 132, 252, .22);
  color: var(--dc-muted);
  font-size: 7.5px;
  line-height: 1.5;
}
.g-desktop-chat-app .journey-chat-card footer time {
  flex: 0 0 auto;
  color: var(--dc-cyan);
  font-family: "Space Mono", monospace;
}
.g-desktop-chat-app .avatar,
.g-desktop-chat-app .user-avatar { border-radius: 0; }
.g-desktop-chat-loading { min-height: 160px; display: grid; place-content: center; justify-items: center; gap: 10px; color: var(--dc-muted); }
.g-desktop-chat-loading span { width: 9px; height: 9px; background: var(--dc-cyan); box-shadow: 14px 0 var(--dc-accent), 28px 0 var(--dc-pink); animation: desktopChatLoading 1s steps(3, end) infinite; }
.g-desktop-chat-loading p { margin: 0; font-size: 13px; }
@keyframes desktopChatLoading { 50% { opacity: .35; } }
.g-desktop-chat-app .composer.g-desktop-chat-composer {
  flex: 0 0 auto;
  grid-template-columns: 34px minmax(0, 1fr) 48px;
  grid-template-rows: auto minmax(40px, auto) 34px;
  gap: 6px 8px;
  margin: 0;
  padding: 10px 16px 12px;
  border: 0;
  border-top: 1px solid var(--dc-line2);
  border-radius: 0;
  background: rgba(10, 6, 18, .9);
  box-shadow: 0 -14px 34px rgba(3, 1, 8, .2);
  backdrop-filter: blur(12px);
}
.g-desktop-chat-app .composer textarea {
  grid-column: 1 / -1;
  grid-row: 2;
  min-height: 40px;
  max-height: 92px;
  padding: 8px 10px;
  color: var(--dc-ink);
  border: 1px solid var(--dc-line);
  border-radius: 0;
  background: rgba(18, 10, 30, .72);
  font-family: "Space Mono", "PingFang SC", sans-serif;
  font-size: 13px;
  line-height: 1.6;
}
.g-desktop-chat-app .composer textarea:focus { border-color: rgba(103, 232, 249, .48); outline: 0; }
.g-desktop-chat-app .composer textarea::placeholder { color: var(--dc-dim); }
.g-desktop-chat-app .quote-preview,
.g-desktop-chat-app .attachment-preview { grid-column: 1 / -1; grid-row: 1; margin: 0; border-radius: 0; }
.g-desktop-chat-app .quote-preview { color: var(--dc-muted); border-color: var(--dc-line); background: rgba(34, 21, 64, .68); }
.g-desktop-chat-app .quote-preview button { color: var(--dc-cyan); }
.g-desktop-chat-app .attachment-preview { border-color: var(--dc-line); background: rgba(34, 21, 64, .5); }
.g-desktop-chat-app .composer:has(.quote-preview):has(.attachment-preview) { grid-template-rows: auto auto minmax(40px, auto) 34px; }
.g-desktop-chat-app .composer:has(.quote-preview):has(.attachment-preview) .attachment-preview { grid-row: 2; }
.g-desktop-chat-app .composer:has(.quote-preview):has(.attachment-preview) textarea { grid-row: 3; }
.g-desktop-chat-app .composer:has(.quote-preview):has(.attachment-preview) .chat-plus,
.g-desktop-chat-app .composer:has(.quote-preview):has(.attachment-preview) .icon-send.respond { grid-row: 4; }
.g-desktop-chat-app .chat-plus,
.g-desktop-chat-app .icon-send { grid-row: 3; width: 34px; height: 34px; min-width: 34px; border-radius: 0; }
.g-desktop-chat-app .g-desktop-chat-plus {
  grid-column: 1;
  color: var(--dc-cyan);
  border: 1px solid var(--dc-line);
  background: rgba(103, 232, 249, .04);
  cursor: pointer;
  font-family: "VT323", monospace;
  font-size: 23px;
  font-weight: 400;
}
.g-desktop-chat-app .g-desktop-chat-plus:hover { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); }
.g-desktop-chat-app .icon-send.respond {
  grid-column: 3;
  width: 48px;
  min-width: 48px;
  color: var(--dc-bg);
  border: 1px solid var(--dc-cyan);
  background: var(--dc-cyan);
  box-shadow: none;
}
.g-desktop-chat-app .chat-companion-cat { right: 74px; width: 54px; height: 44px; image-rendering: pixelated; }
.g-desktop-chat-app .somatic-residue-popover {
  z-index: 64;
  top: calc(100% + 7px);
  left: 14px;
  width: min(420px, calc(100% - 28px));
  max-height: calc(100dvh - 170px);
  overflow: auto;
  transform: none;
  gap: 9px;
  padding: 13px 14px;
  border-color: var(--dc-line2);
  border-radius: 0;
  background: rgba(18, 10, 30, .98);
  box-shadow: 6px 6px 0 rgba(61, 36, 104, .58);
  backdrop-filter: blur(14px);
}
.g-desktop-chat-app .somatic-residue-popover header span,
.g-desktop-chat-app .somatic-residue-label,
.g-desktop-chat-app .emotional-continuity-sources > span {
  color: var(--dc-cyan) !important;
  -webkit-text-fill-color: var(--dc-cyan) !important;
  font-size: 7px !important;
}
.g-desktop-chat-app .somatic-residue-popover header b { font-size: 12px !important; }
.g-desktop-chat-app .emotional-continuity-status {
  display: grid;
  gap: 11px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--dc-line);
}
.g-desktop-chat-app .emotional-continuity-axes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}
.g-desktop-chat-app .emotional-continuity-axes > div {
  min-width: 0;
  padding: 7px 10px 7px 0;
}
.g-desktop-chat-app .emotional-continuity-axes > div:nth-child(even) {
  padding-right: 0;
  padding-left: 11px;
  border-left: 1px solid var(--dc-line);
}
.g-desktop-chat-app .emotional-continuity-axes > div:nth-child(n + 3) {
  padding-top: 10px;
  border-top: 1px solid var(--dc-line);
}
.g-desktop-chat-app .emotional-continuity-axes small {
  display: block;
  color: var(--dc-cyan) !important;
  -webkit-text-fill-color: var(--dc-cyan) !important;
  font-family: "Space Mono", ui-monospace, monospace;
  font-size: 8px !important;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1.35;
}
.g-desktop-chat-app .emotional-continuity-axes strong {
  display: block;
  margin-top: 3px;
  overflow: hidden;
  color: var(--dc-ink) !important;
  -webkit-text-fill-color: var(--dc-ink) !important;
  font-size: 11px !important;
  font-weight: 650;
  line-height: 1.4;
  text-overflow: ellipsis;
}
.g-desktop-chat-app .emotional-continuity-sources {
  display: grid;
  gap: 4px;
}
.g-desktop-chat-app .emotional-continuity-sources p,
.g-desktop-chat-app .emotional-continuity-thought {
  margin: 0;
  color: var(--dc-muted) !important;
  -webkit-text-fill-color: var(--dc-muted) !important;
  font-size: 10px !important;
  line-height: 1.5;
}
.g-desktop-chat-app .emotional-continuity-sources b,
.g-desktop-chat-app .emotional-continuity-thought b {
  color: var(--dc-ink) !important;
  -webkit-text-fill-color: var(--dc-ink) !important;
  font-weight: 650;
}
.g-desktop-chat-app .emotional-continuity-thought {
  padding-left: 9px;
  border-left: 2px solid var(--dc-accent);
}
.g-desktop-chat-app .somatic-channel strong { font-size: 10px; }
.g-desktop-chat-app .somatic-channel small,
.g-desktop-chat-app .somatic-residue-popover p,
.g-desktop-chat-app .somatic-residue-popover em { font-size: 9px; }

.g-desktop-chat-app .chat-search-panel,
.g-desktop-chat-app .chat-bridge-panel,
.g-desktop-chat-app .drawer-backdrop,
.g-desktop-chat-app .chat-drawer,
.g-desktop-chat-app .plus-menu-backdrop,
.g-desktop-chat-app .call-screen { position: absolute; }
.g-desktop-chat-app .chat-search-panel {
  inset: 44px 0 0;
  z-index: 66;
  background: rgba(10, 6, 18, .97);
  backdrop-filter: blur(14px);
}
.g-desktop-chat-app .chat-search-head { min-height: 48px; padding: 6px 10px; border-color: var(--dc-line); }
.g-desktop-chat-app .chat-search-head > button { width: 30px; height: 30px; border-radius: 0; color: var(--dc-cyan); }
.g-desktop-chat-app .chat-search-panel .chat-search-box { min-height: 32px; border-color: var(--dc-line2); border-radius: 0; background: rgba(34, 21, 64, .5); }
.g-desktop-chat-app .chat-search-panel .chat-search-box input { font-size: 11px; }
.g-desktop-chat-app .chat-search-results { padding: 10px; }
.g-desktop-chat-app .chat-search-panel .chat-search-results button { min-height: 54px; padding: 8px 10px; border-radius: 0; font-size: 10px; }
.g-desktop-chat-app .chat-search-panel .chat-search-results button strong { color: var(--dc-cyan); font-size: 8px; }

.g-desktop-chat-app .chat-bridge-panel {
  inset: 44px 0 0;
  z-index: 67;
  align-items: center;
  padding: 14px;
  background: rgba(3, 1, 8, .76);
}
.g-desktop-chat-app .chat-bag-sheet {
  width: min(430px, 100%);
  max-height: calc(100% - 4px);
  border-color: var(--dc-line2);
  border-radius: 0;
  background: rgba(18, 10, 30, .98);
  box-shadow: 6px 6px 0 rgba(61, 36, 104, .58);
}
.g-desktop-chat-app .chat-bag-sheet > header { padding: 12px 14px; }
.g-desktop-chat-app .chat-bag-sheet h2 { font-size: 13px; }
.g-desktop-chat-app .chat-bag-sheet h2 small { font-size: 8px; }
.g-desktop-chat-app .chat-bag-sheet > header > button { width: 28px; height: 28px; border-radius: 0; }
.g-desktop-chat-app .chat-bag-content { padding: 12px; }
.g-desktop-chat-app .chat-bag-content .bridge-card-kicker,
.g-desktop-chat-app .chat-bag-content .bridge-card small { font-size: 7px; }
.g-desktop-chat-app .chat-bag-content .bridge-card p,
.g-desktop-chat-app .chat-bag-content .bridge-card summary,
.g-desktop-chat-app .chat-bag-content .bridge-card span { font-size: 9px; }

.g-desktop-chat-app .plus-menu-backdrop {
  inset: 0;
  z-index: 68;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 0 14px 72px;
  background: rgba(3, 1, 8, .56);
}
.g-desktop-chat-app .plus-menu-backdrop .plus-menu {
  width: min(390px, 100%);
  padding: 13px;
  border-color: var(--dc-line2);
  border-radius: 0;
  background: rgba(18, 10, 30, .98);
  box-shadow: 5px 5px 0 rgba(61, 36, 104, .58);
}
.g-desktop-chat-app .plus-menu-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.g-desktop-chat-app .plus-menu-backdrop .plus-menu-grid button { gap: 5px; }
.g-desktop-chat-app .plus-menu-backdrop .plus-menu-grid button > .material-symbols-outlined {
  width: 38px;
  height: 38px;
  border-radius: 0;
  color: var(--dc-cyan) !important;
  border-color: var(--dc-line);
  background: rgba(103, 232, 249, .04);
  font-size: 18px;
}
.g-desktop-chat-app .plus-menu-backdrop .plus-menu-grid button small { color: var(--dc-muted) !important; font-size: 7px; }
.g-desktop-chat-app .plus-menu-close { margin-top: 11px; padding-top: 9px !important; color: var(--dc-cyan) !important; font-size: 7px; }

.g-desktop-chat-app .drawer-backdrop { inset: 44px 0 0; z-index: 69; background: rgba(3, 1, 8, .54); }
.g-desktop-chat-app .chat-drawer {
  inset: 44px 0 0 auto;
  z-index: 70;
  width: min(300px, 54%);
  height: auto;
  border-color: var(--dc-line2);
  background: rgba(18, 10, 30, .98);
  box-shadow: -6px 0 0 rgba(61, 36, 104, .46);
}
.g-desktop-chat-app .chat-drawer .sidebar { min-height: 0; padding: 0 0 14px; }
.g-desktop-chat-app .stitch-drawer-profile { padding: 18px 14px 13px; }
.g-desktop-chat-app .stitch-drawer-close { top: 7px; left: 7px; width: 28px; height: 28px; border-radius: 0; font-size: 18px; }
.g-desktop-chat-app .stitch-drawer-section,
.g-desktop-chat-app .stitch-drawer-nav { padding-left: 12px; padding-right: 12px; }
.g-desktop-chat-app .stitch-summary-row strong,
.g-desktop-chat-app .stitch-drawer-link strong,
.g-desktop-chat-app .stitch-drawer-nav strong { font-size: 10px; }
.g-desktop-chat-app .stitch-summary-row small,
.g-desktop-chat-app .chat-drawer .memory-control,
.g-desktop-chat-app .stitch-drawer-nav small { font-size: 8px; }
.g-desktop-chat-app .call-screen {
  inset: 0;
  z-index: 72;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  padding: 16px 18px 18px;
  color: var(--dc-ink);
  background:
    linear-gradient(rgba(103, 232, 249, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(103, 232, 249, .018) 1px, transparent 1px),
    radial-gradient(circle at 50% 38%, rgba(168, 85, 247, .26), transparent 34%),
    radial-gradient(circle at 50% 46%, rgba(103, 232, 249, .08), transparent 48%),
    linear-gradient(180deg, #120a20 0%, #08050f 56%, #05030a 100%);
  background-size: 22px 22px, 22px 22px, auto, auto, auto;
  box-shadow:
    inset 0 0 0 1px rgba(182, 140, 255, .28),
    inset 0 0 72px rgba(2, 1, 6, .74);
  isolation: isolate;
}
.g-desktop-chat-app .call-screen::before,
.g-desktop-chat-app .call-screen::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.g-desktop-chat-app .call-screen::before {
  inset: 7px;
  z-index: 0;
  border: 1px solid rgba(103, 232, 249, .16);
  box-shadow: 5px 5px 0 rgba(72, 36, 112, .35);
}
.g-desktop-chat-app .call-screen::after {
  inset: 0;
  z-index: 0;
  opacity: .18;
  background: repeating-linear-gradient(180deg, transparent 0 3px, rgba(139, 92, 246, .18) 3px 4px);
  mix-blend-mode: screen;
}
.g-desktop-chat-app .call-ambient { z-index: 0; }
.g-desktop-chat-app .call-head,
.g-desktop-chat-app .call-stage,
.g-desktop-chat-app .call-controls { position: relative; z-index: 2; }
.g-desktop-chat-app .call-head {
  min-height: 34px;
  padding: 0 8px 9px;
  border-bottom: 1px solid var(--dc-line);
}
.g-desktop-chat-app .call-head small {
  color: var(--dc-cyan);
  font: 7px/1.2 "Press Start 2P", monospace;
}
.g-desktop-chat-app .call-head time {
  color: var(--dc-muted);
  font: 9px/1.2 "Space Mono", monospace;
}
.g-desktop-chat-app .call-stage {
  justify-content: center;
  padding: 16px 10px 8px;
}
.g-desktop-chat-app .call-presence { margin-bottom: 14px; }
.g-desktop-chat-app .call-presence-core {
  border-radius: 0;
  border-color: var(--dc-cyan);
  background: rgba(18, 10, 30, .92);
  box-shadow: 5px 5px 0 rgba(79, 42, 126, .64), 0 0 34px rgba(103, 232, 249, .14);
}
.g-desktop-chat-app .call-presence-core .avatar.call { border-radius: 0; }
.g-desktop-chat-app .call-stage h1 {
  color: var(--dc-ink);
  font: 13px/1.3 "Press Start 2P", "Noto Serif SC", serif;
  text-shadow: 0 0 12px rgba(192, 132, 252, .34);
}
.g-desktop-chat-app .call-phase-copy {
  margin: 7px 0 14px;
  color: var(--dc-muted);
  font: 10px/1.4 "Space Mono", "PingFang SC", monospace;
}
.g-desktop-chat-app .call-voice-choice {
  border-radius: 0;
  border-color: var(--dc-line);
  background: rgba(18, 10, 30, .72);
}
.g-desktop-chat-app .call-voice-choice button {
  border-radius: 0;
  color: var(--dc-muted);
}
.g-desktop-chat-app .call-voice-choice button.active {
  color: var(--dc-bg);
  background: var(--dc-cyan);
}
.g-desktop-chat-app .call-captions {
  width: min(100%, 520px);
  max-height: min(30cqh, 230px);
}
.g-desktop-chat-app .call-caption {
  border-radius: 0;
  border-color: var(--dc-line);
  background: rgba(25, 14, 43, .84);
  box-shadow: 3px 3px 0 rgba(65, 34, 104, .42);
}
.g-desktop-chat-app .call-caption small { color: var(--dc-cyan); }
.g-desktop-chat-app .call-caption p { color: var(--dc-ink); }
.g-desktop-chat-app .call-controls {
  align-items: center;
  width: min(100%, 400px);
  padding: 12px 18px 4px;
  border-top: 1px solid var(--dc-line);
  background: linear-gradient(90deg, transparent, rgba(34, 21, 64, .72) 18% 82%, transparent);
}
.g-desktop-chat-app .call-control .material-symbols-outlined,
.g-desktop-chat-app .call-end {
  border-radius: 0;
  box-shadow: 3px 3px 0 rgba(65, 34, 104, .58);
}
.g-desktop-chat-app .call-control .material-symbols-outlined {
  border-color: var(--dc-line2);
  background: rgba(25, 14, 43, .92);
  color: var(--dc-ink);
}
.g-desktop-chat-app .call-control.active .material-symbols-outlined {
  border-color: var(--dc-cyan);
  background: rgba(103, 232, 249, .12);
  color: var(--dc-cyan);
}
.g-desktop-chat-app .call-control small { color: var(--dc-muted); }
.g-desktop-chat-app .call-end {
  color: #fff;
  background: #f05267;
}
.g-desktop-chat-overlays .modal-backdrop { z-index: 9800; background: rgba(3, 1, 8, .72); backdrop-filter: blur(8px); }
.g-desktop-chat-overlays .context-menu { z-index: 9900; color: var(--dc-ink); border-color: var(--dc-line2); border-radius: 0; background: rgba(18, 10, 30, .98); box-shadow: 6px 6px 0 rgba(61, 36, 104, .58); }
.g-desktop-chat-overlays .context-menu button { color: var(--dc-ink); border-radius: 0; }
.g-desktop-chat-overlays .context-menu button:hover { background: rgba(103, 232, 249, .08); }

.g-desktop-daybook-app header,
.g-desktop-calendar-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 11px; color: var(--dc-cyan); border-bottom: 1px solid var(--dc-line2); }
.g-desktop-daybook-app header strong,
.g-desktop-calendar-head strong { font-family: "Press Start 2P", "VT323", monospace; font-size: 9px; }
.g-desktop-daybook-app header span,
.g-desktop-calendar-head span { color: var(--dc-muted); font-size: 16px; }
.g-desktop-timeline { position: relative; padding: 12px 0 8px 6px; }
.g-desktop-timeline::before { content: ""; position: absolute; top: 13px; bottom: 12px; left: 68px; border-left: 1px dashed var(--dc-line2); }
.g-desktop-timeline article { position: relative; display: grid; grid-template-columns: 60px 1fr; gap: 13px; margin: 0 0 12px; }
.g-desktop-timeline article::before { content: ""; position: absolute; left: 62px; top: 14px; width: 11px; height: 11px; border: 2px solid currentColor; background: var(--dc-bg2); }
.g-desktop-timeline time { padding-top: 9px; color: var(--dc-cyan); font-size: 17px; }
.g-desktop-timeline article > div { padding: 11px 13px; border: 1px solid var(--dc-line); border-left: 3px solid currentColor; background: rgba(34, 21, 64, .44); }
.g-desktop-timeline article.kiki { color: var(--dc-pink); }
.g-desktop-timeline article.g { color: var(--dc-accent); }
.g-desktop-timeline article.system { color: var(--dc-cyan); }
.g-desktop-timeline small { color: currentColor; font-family: "Press Start 2P", "VT323", monospace; font-size: 7px; }
.g-desktop-timeline strong { display: block; margin: 6px 0 4px; color: var(--dc-ink); font-size: 22px; font-weight: 400; }
.g-desktop-timeline p { margin: 0; color: var(--dc-muted); font-size: 16px; }

/* Real desktop Daybook reuses the mobile ledger and actions, while keeping the
   denser PC window rhythm. The axis and every marker share one coordinate. */
.g-desktop-window:has(.g-desktop-daybook-app.is-real-daybook) .g-desktop-window-body { overflow: hidden; }
.g-desktop-daybook-app.is-real-daybook {
  --db-bg: var(--dc-bg);
  --db-surface: rgba(25, 15, 43, .78);
  --db-ink: var(--dc-ink);
  --db-muted: var(--dc-muted);
  --db-dim: var(--dc-cyan);
  --db-pink: var(--dc-pink);
  --db-pink-deep: var(--dc-pink);
  --db-g: var(--dc-accent);
  --db-g-deep: var(--dc-accent2);
  --db-g-soft: rgba(192, 132, 252, .07);
  --db-line: rgba(192, 132, 252, .32);
  --desktop-daybook-axis-x: 68px;
  position: relative;
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 0;
  color: var(--dc-ink);
  background: rgba(10, 6, 18, .34);
}
.g-desktop-daybook-toolbar {
  min-height: 58px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 14px 8px;
  border-bottom: 1px solid var(--dc-line2);
  background: rgba(10, 6, 18, .66);
}
.g-desktop-daybook-heading {
  min-width: 0;
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: 2px 8px;
}
.g-desktop-daybook-heading small {
  grid-column: 1 / -1;
  color: var(--dc-cyan);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 6px;
  letter-spacing: .08em;
}
.g-desktop-daybook-heading h2 {
  margin: 0;
  color: var(--dc-ink);
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
}
.g-desktop-daybook-heading span {
  color: var(--dc-cyan);
  font-family: "Space Mono", ui-monospace, monospace;
  font-size: 8px;
  letter-spacing: .1em;
}
.g-desktop-daybook-app.is-real-daybook .daybook-week-actions { gap: 4px; }
.g-desktop-daybook-app.is-real-daybook .daybook-week-actions > button {
  width: 27px;
  height: 27px;
  flex-basis: 27px;
  color: var(--dc-cyan);
  border-color: var(--dc-line2);
  border-radius: 0;
  background: rgba(103, 232, 249, .03);
  font-size: 15px;
}
.g-desktop-daybook-app.is-real-daybook .daybook-week-actions > button:hover {
  color: var(--dc-bg);
  border-color: var(--dc-cyan);
  background: var(--dc-cyan);
}
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-action .material-symbols-outlined { font-size: 13px; }
.g-desktop-daybook-controls {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 184px;
  align-items: center;
  gap: 14px;
  padding: 8px 14px;
  border-bottom: 1px solid var(--dc-line);
  background: rgba(18, 10, 30, .48);
}
.g-desktop-daybook-app.is-real-daybook .daybook-week-strip {
  gap: 3px;
  margin: 0;
}
.g-desktop-daybook-app.is-real-daybook .daybook-week-day {
  min-height: 34px;
  gap: 2px;
  color: var(--dc-muted);
  border: 1px solid transparent;
  border-radius: 0;
}
.g-desktop-daybook-app.is-real-daybook .daybook-week-day:hover { border-color: var(--dc-line); color: var(--dc-cyan); }
.g-desktop-daybook-app.is-real-daybook .daybook-week-day span {
  color: currentColor;
  font-size: 6px;
  letter-spacing: .06em;
}
.g-desktop-daybook-app.is-real-daybook .daybook-week-day strong { color: var(--dc-ink); font-size: 12px; }
.g-desktop-daybook-app.is-real-daybook .daybook-week-day.active { color: var(--dc-cyan); border-color: var(--dc-line2); background: rgba(103, 232, 249, .04); }
.g-desktop-daybook-app.is-real-daybook .daybook-week-day.active::after { width: 3px; height: 3px; border-radius: 0; }
.g-desktop-daybook-app.is-real-daybook .daybook-mode-switch {
  width: 100%;
  margin: 0;
  padding: 2px;
  border: 1px solid var(--dc-line2);
  border-radius: 0;
  background: rgba(10, 6, 18, .42);
}
.g-desktop-daybook-app.is-real-daybook .daybook-mode-switch button {
  min-height: 25px;
  border-radius: 0;
  color: var(--dc-muted);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 6px;
}
.g-desktop-daybook-app.is-real-daybook .daybook-mode-switch button.active { color: var(--dc-bg); background: var(--dc-cyan); box-shadow: none; }
.g-desktop-daybook-app.is-real-daybook .daybook-mode-switch [data-daybook-owner="kiki"].active { color: var(--dc-bg); background: var(--dc-pink); }
.g-desktop-daybook-app.is-real-daybook .daybook-mode-switch [data-daybook-owner="g"].active { color: var(--dc-bg); background: var(--dc-accent); }
.g-desktop-daybook-app.is-real-daybook .daybook-g-planning-window-notice {
  margin: 5px 0 0;
  color: var(--dc-muted);
  font-family: "VT323", monospace;
  font-size: 7px;
}
.g-desktop-daybook-scroll {
  min-height: 0;
  flex: 1 1 auto;
  overflow: auto;
  scrollbar-color: var(--dc-line2) transparent;
}
.g-desktop-daybook-app.is-real-daybook .daybook-timeline {
  position: relative;
  display: grid;
  gap: 12px;
  min-height: 100%;
  padding: 16px 18px 76px 72px;
}
.g-desktop-daybook-app.is-real-daybook .daybook-line {
  left: var(--desktop-daybook-axis-x);
  top: 18px;
  bottom: 28px;
  width: 1px;
  background: repeating-linear-gradient(to bottom, var(--dc-line2) 0 4px, transparent 4px 8px);
}
.g-desktop-daybook-app.is-real-daybook .daybook-entry,
.g-desktop-daybook-app.is-real-daybook .daybook-empty { min-height: 26px; }
.g-desktop-daybook-app.is-real-daybook .daybook-entry-content { padding-left: 16px; }
.g-desktop-daybook-app.is-real-daybook .daybook-entry > time,
.g-desktop-daybook-app.is-real-daybook .daybook-empty > time {
  left: -61px;
  top: 5px;
  width: 45px;
  color: var(--dc-cyan);
  font-size: 8px;
  letter-spacing: .04em;
}
.g-desktop-daybook-app.is-real-daybook .daybook-entry > i,
.g-desktop-daybook-app.is-real-daybook .daybook-empty > i {
  left: -8px;
  top: 6px;
  width: 8px;
  height: 8px;
  box-sizing: border-box;
  border-width: 2px;
  border-color: var(--dc-pink);
  border-radius: 0;
  background: var(--dc-bg);
  box-shadow: none;
}
.g-desktop-daybook-app.is-real-daybook .daybook-entry.daybook-owner-g > i { border-color: var(--dc-accent); }
.g-desktop-daybook-app.is-real-daybook .daybook-entry.daybook-owner-mixed > i {
  border-color: transparent;
  background: linear-gradient(var(--dc-bg), var(--dc-bg)) padding-box, linear-gradient(135deg, var(--dc-pink) 0 50%, var(--dc-accent) 50% 100%) border-box;
}
.g-desktop-daybook-app.is-real-daybook .daybook-event-card,
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-card {
  gap: 3px;
  margin-top: 5px;
  padding: 8px 10px;
  border-radius: 0;
  background: rgba(25, 15, 43, .58);
  box-shadow: 3px 3px 0 rgba(61, 36, 104, .36);
}
.g-desktop-daybook-app.is-real-daybook .daybook-event-card { border-color: rgba(244, 114, 182, .28); }
.g-desktop-daybook-app.is-real-daybook .daybook-entry.daybook-owner-g .daybook-event-card,
.g-desktop-daybook-app.is-real-daybook .daybook-group-item.daybook-owner-g .daybook-event-card,
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-card { border-color: rgba(192, 132, 252, .36); border-left: 3px solid var(--dc-accent); }
.g-desktop-daybook-app.is-real-daybook .daybook-event-card strong,
.g-desktop-daybook-app.is-real-daybook .daybook-todo-main strong,
.g-desktop-daybook-app.is-real-daybook .daybook-empty strong,
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-card strong { color: var(--dc-ink); font-size: 11px; line-height: 1.4; }
.g-desktop-daybook-app.is-real-daybook .daybook-event-card span,
.g-desktop-daybook-app.is-real-daybook .daybook-todo-main span,
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-card > span { font-size: 7px; letter-spacing: .05em; }
.g-desktop-daybook-app.is-real-daybook .daybook-event-card small,
.g-desktop-daybook-app.is-real-daybook .daybook-todo-main small,
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-card > small { color: var(--dc-muted); font-size: 9px; line-height: 1.5; }
.g-desktop-daybook-app.is-real-daybook .daybook-note-card { gap: 3px; padding: 2px 26px 3px 0; }
.g-desktop-daybook-app.is-real-daybook .daybook-note-card.range { padding: 8px 30px 9px 10px; border-left-width: 3px; border-radius: 0; }
.g-desktop-daybook-app.is-real-daybook .daybook-note-card p { color: var(--dc-ink); font-size: 10px; line-height: 1.55; }
.g-desktop-daybook-app.is-real-daybook .daybook-note-card span { color: var(--dc-cyan); font-size: 7px; }
.g-desktop-daybook-app.is-real-daybook .daybook-note-card button,
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-run-note button { width: 18px; height: 18px; border-radius: 0; color: var(--dc-cyan); background: rgba(103, 232, 249, .05); font-size: 13px; }
.g-desktop-daybook-app.is-real-daybook .daybook-todo-row { grid-template-columns: 16px minmax(0, 1fr); gap: 8px; padding: 2px 0 2px 16px; }
.g-desktop-daybook-app.is-real-daybook .daybook-check { width: 15px; height: 15px; border-radius: 0; font-size: 9px; }
.g-desktop-daybook-app.is-real-daybook .daybook-group-content { gap: 7px; }
.g-desktop-daybook-app.is-real-daybook .daybook-group-item-event .daybook-event-card,
.g-desktop-daybook-app.is-real-daybook .daybook-group-item-note .daybook-note-card.range { margin-top: 5px; }
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-capability,
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-result,
.g-desktop-daybook-app.is-real-daybook .daybook-g-browse-backflow { border-radius: 0; }
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-capability { padding: 5px 6px; }
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-capability p,
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-result p { font-size: 8px; }
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-execution-head > span,
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-execution-head > b,
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-execution-head > time,
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-capability p b,
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-result b { font-size: 6px; }
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-run-note { margin-top: 5px; padding-top: 7px; }
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-run-note p { font-size: 9px; line-height: 1.5; }
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-run-note span { color: var(--dc-cyan); font-size: 6px; }
.g-desktop-daybook-app.is-real-daybook .daybook-g-plan-actions button,
.g-desktop-daybook-app.is-real-daybook .daybook-chat-born-card button { min-height: 23px; padding: 0 8px; border-radius: 0; font-size: 6px; }
.g-desktop-daybook-app.is-real-daybook .daybook-chat-born-shelf {
  margin: 0 0 12px 16px;
  padding: 9px;
  border-radius: 0;
  background: rgba(25, 15, 43, .68);
  box-shadow: 3px 3px 0 rgba(61, 36, 104, .42);
}
.g-desktop-daybook-app.is-real-daybook .daybook-chat-born-shelf header { margin-bottom: 7px; }
.g-desktop-daybook-app.is-real-daybook .daybook-chat-born-shelf header span,
.g-desktop-daybook-app.is-real-daybook .daybook-chat-born-card small,
.g-desktop-daybook-app.is-real-daybook .daybook-chat-born-card em { color: var(--dc-cyan); font-size: 6px; }
.g-desktop-daybook-app.is-real-daybook .daybook-chat-born-shelf header b { font-size: 9px; }
.g-desktop-daybook-app.is-real-daybook .daybook-chat-born-list { gap: 6px; }
.g-desktop-daybook-app.is-real-daybook .daybook-chat-born-card { gap: 7px; padding: 8px; border-radius: 0; background: rgba(10, 6, 18, .4); }
.g-desktop-daybook-app.is-real-daybook .daybook-chat-born-card strong { font-size: 10px; }
.g-desktop-daybook-app.is-real-daybook .daybook-chat-born-card dl { gap: 4px; margin-top: 5px; }
.g-desktop-daybook-app.is-real-daybook .daybook-chat-born-card dt { color: var(--dc-cyan); font-size: 6px; }
.g-desktop-daybook-app.is-real-daybook .daybook-chat-born-card dd { font-size: 8px; line-height: 1.5; }
.g-desktop-daybook-app.is-real-daybook .daybook-group-endpoint i,
.g-desktop-daybook-app.is-real-daybook .daybook-range-start-dot,
.g-desktop-daybook-app.is-real-daybook .daybook-range-end-dot { left: -8px; width: 8px; height: 8px; border-radius: 0; }
.g-desktop-daybook-app.is-real-daybook .daybook-range-entry { min-height: 84px; padding-bottom: 20px; }
.g-desktop-daybook-app.is-real-daybook .daybook-skip { min-height: 38px; }
.g-desktop-daybook-app.is-real-daybook .daybook-float-add {
  position: absolute;
  right: 18px;
  bottom: 16px;
  z-index: 32;
  width: 36px;
  height: 36px;
  border: 1px solid var(--dc-line2);
  border-radius: 0;
  color: var(--dc-bg);
  background: var(--dc-cyan);
  box-shadow: 3px 3px 0 rgba(61, 36, 104, .55);
  font-size: 22px;
}
.g-desktop-daybook-app.is-real-daybook .daybook-composer-card {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  z-index: 50;
  width: auto;
  gap: 10px;
  padding: 13px;
  border-color: var(--dc-line2);
  border-radius: 0;
  background: rgba(10, 6, 18, .98);
  box-shadow: 5px 5px 0 rgba(61, 36, 104, .62);
  transform: none;
}
.g-desktop-daybook-app.is-real-daybook .daybook-composer-card header { grid-template-columns: 28px minmax(0, 1fr) 26px; gap: 8px; }
.g-desktop-daybook-app.is-real-daybook .daybook-composer-card header > span,
.g-desktop-daybook-app.is-real-daybook .daybook-composer-card header button { width: 26px; height: 26px; border-radius: 0; color: var(--dc-cyan); }
.g-desktop-daybook-app.is-real-daybook .daybook-composer-card header strong { font-size: 8px; }
.g-desktop-daybook-app.is-real-daybook .daybook-composer-card header small { font-size: 8px; }
.g-desktop-daybook-app.is-real-daybook .daybook-composer-card form { gap: 9px; }
.g-desktop-daybook-app.is-real-daybook .daybook-time-grid { gap: 10px; }
.g-desktop-daybook-app.is-real-daybook .daybook-time-grid label { gap: 4px; }
.g-desktop-daybook-app.is-real-daybook .daybook-time-grid span { color: var(--dc-cyan); font-size: 6px; }
.g-desktop-daybook-app.is-real-daybook .daybook-composer-card input { min-height: 28px; font-size: 10px; }
.g-desktop-daybook-app.is-real-daybook .daybook-composer-card textarea { min-height: 52px; font-size: 10px; }
.g-desktop-daybook-app.is-real-daybook .daybook-compose-actions button { min-height: 25px; border-radius: 0; font-size: 7px; }
.g-desktop-daybook-loading { min-height: 170px; margin-left: 16px; display: grid; place-content: center; justify-items: center; gap: 10px; color: var(--dc-muted); }
.g-desktop-daybook-loading span { width: 7px; height: 7px; background: var(--dc-cyan); box-shadow: 12px 0 var(--dc-accent), 24px 0 var(--dc-pink); animation: desktopChatLoading 1s steps(3, end) infinite; }
.g-desktop-daybook-loading p { margin: 0; font-size: 9px; }

/* Real desktop Memo keeps the mobile Calendar / Todo ledger and action hooks,
   but gives both tabs a denser PC composition. */
.g-desktop-window:has(.g-desktop-memo-app.is-real-memo) .g-desktop-window-body {
  overflow: hidden;
  container-name: desktop-memo-window;
  container-type: inline-size;
}
.g-desktop-memo-app.is-real-memo {
  --rose: var(--dc-pink);
  --rose-deep: var(--dc-pink);
  --ink: var(--dc-ink);
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 0;
  color: var(--dc-ink);
  background: rgba(10, 6, 18, .34);
}
.g-desktop-memo-toolbar {
  min-height: 82px;
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  gap: 8px;
  padding: 9px 14px 10px;
  border-bottom: 1px solid var(--dc-line2);
  background: rgba(10, 6, 18, .66);
}
.g-desktop-memo-heading {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 2px 9px;
}
.g-desktop-memo-heading small {
  grid-column: 1 / -1;
  color: var(--dc-cyan);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 6px;
  letter-spacing: .08em;
}
.g-desktop-memo-heading strong {
  overflow: hidden;
  color: var(--dc-ink);
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.g-desktop-memo-heading span {
  overflow: hidden;
  color: var(--dc-cyan);
  font-family: "Space Mono", ui-monospace, monospace;
  font-size: 7px;
  letter-spacing: .06em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.g-desktop-memo-tabs {
  width: min(480px, 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-self: start;
  padding: 3px;
  border: 1px solid var(--dc-line2);
  background: rgba(18, 10, 30, .64);
}
.g-desktop-memo-tabs button {
  min-width: 0;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--dc-muted);
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}
.g-desktop-memo-tabs button + button { border-left: 1px solid rgba(61, 36, 104, .72); }
.g-desktop-memo-tabs button:hover { color: var(--dc-cyan); background: rgba(103, 232, 249, .05); }
.g-desktop-memo-tabs button.active { color: var(--dc-bg); background: var(--dc-cyan); }
.g-desktop-memo-app.is-real-memo .g-desktop-memo-tabs button .material-symbols-outlined { font-size: 12px; }
.g-desktop-memo-app.is-real-memo .g-desktop-memo-tabs button strong {
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 7px;
  line-height: 1;
  letter-spacing: .04em;
}
.g-desktop-memo-scroll {
  min-height: 0;
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 12px;
  overflow: auto;
  padding: 13px 14px 24px;
  scrollbar-color: var(--dc-line2) transparent;
}
.g-desktop-memo-app.is-real-memo .home-card {
  width: auto;
  margin: 0;
  padding: 11px 12px;
  color: var(--dc-ink);
  border: 1px solid var(--dc-line);
  border-radius: 0;
  background: rgba(25, 15, 43, .66);
  box-shadow: 3px 3px 0 rgba(61, 36, 104, .42);
  backdrop-filter: none;
}
.g-desktop-memo-app.is-real-memo button,
.g-desktop-memo-app.is-real-memo input,
.g-desktop-memo-app.is-real-memo textarea { font-family: "Space Mono", "PingFang SC", sans-serif; }
.g-desktop-memo-app.is-real-memo input,
.g-desktop-memo-app.is-real-memo textarea {
  color: var(--dc-ink);
  border-color: var(--dc-line);
  border-radius: 0;
  background: rgba(10, 6, 18, .58);
  box-shadow: none;
}
.g-desktop-memo-app.is-real-memo input::placeholder,
.g-desktop-memo-app.is-real-memo textarea::placeholder { color: var(--dc-dim); }
.g-desktop-memo-editor { z-index: 36 !important; }
.g-desktop-memo-editor form { gap: 9px; }
.g-desktop-memo-fields { display: grid; grid-template-columns: minmax(180px, .85fr) minmax(240px, 1.15fr); gap: 8px; }
.g-desktop-memo-app.is-real-memo .g-desktop-memo-fields input,
.g-desktop-memo-app.is-real-memo .g-desktop-memo-fields textarea {
  min-height: 34px;
  height: 34px;
  padding: 7px 9px;
  font-size: 9px;
  resize: none;
}
.g-desktop-memo-app.is-real-memo .memo-controls {
  grid-template-columns: repeat(3, minmax(0, 1fr)) 72px;
  align-items: end;
  gap: 7px;
}
.g-desktop-memo-app.is-real-memo .memo-controls label { gap: 4px; }
.g-desktop-memo-app.is-real-memo .memo-controls label > span,
.g-desktop-memo-app.is-real-memo .calendar-form-grid label > span,
.g-desktop-memo-app.is-real-memo .calendar-chip-section > span {
  color: var(--dc-cyan);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 5px;
  letter-spacing: .08em;
}
.g-desktop-memo-app.is-real-memo .memo-picker-trigger {
  min-height: 29px;
  gap: 6px;
  padding: 5px 7px;
  color: var(--dc-ink);
  border-color: var(--dc-line);
  border-radius: 0;
  background: rgba(10, 6, 18, .58);
  box-shadow: none;
}
.g-desktop-memo-app.is-real-memo .memo-picker-trigger .material-symbols-outlined { color: var(--dc-cyan); font-size: 12px; }
.g-desktop-memo-app.is-real-memo .memo-picker-trigger strong { font-size: 7px; letter-spacing: .04em; }
.g-desktop-memo-app.is-real-memo .memo-picker-trigger small { overflow: hidden; color: var(--dc-muted); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-memo-app.is-real-memo .memo-picker-trigger b { color: var(--dc-cyan); }
.g-desktop-memo-app.is-real-memo .memo-picker-panel {
  gap: 4px;
  padding: 6px;
  border-color: var(--dc-line2);
  border-radius: 0;
  background: rgba(18, 10, 30, .98);
  box-shadow: 4px 4px 0 rgba(61, 36, 104, .58);
  backdrop-filter: none;
}
.g-desktop-memo-app.is-real-memo .memo-picker-panel button {
  min-height: 25px;
  padding: 5px 7px;
  color: var(--dc-muted);
  border: 1px solid transparent;
  border-radius: 0;
  background: rgba(34, 21, 64, .38);
  font-size: 7px;
}
.g-desktop-memo-app.is-real-memo .memo-picker-panel button:hover { color: var(--dc-cyan); border-color: var(--dc-line); }
.g-desktop-memo-app.is-real-memo .memo-picker-panel button.active { color: var(--dc-bg); background: var(--dc-cyan); }
.g-desktop-memo-app.is-real-memo .memo-date-panel { width: min(300px, calc(100vw - 80px)); padding: 9px; }
.g-desktop-memo-app.is-real-memo .memo-calendar-head { grid-template-columns: 26px minmax(0, 1fr) 26px; }
.g-desktop-memo-app.is-real-memo .memo-calendar-head strong { color: var(--dc-cyan); font-size: 7px; }
.g-desktop-memo-app.is-real-memo .memo-calendar-head button { width: 26px; height: 26px; border-radius: 0; color: var(--dc-cyan); background: var(--dc-surf2); font-size: 16px; }
.g-desktop-memo-app.is-real-memo .memo-calendar-grid { gap: 3px; }
.g-desktop-memo-app.is-real-memo .memo-calendar-grid b { color: var(--dc-cyan); font-size: 5px; }
.g-desktop-memo-app.is-real-memo .memo-calendar-grid span,
.g-desktop-memo-app.is-real-memo .memo-calendar-grid button { min-height: 24px; }
.g-desktop-memo-app.is-real-memo .memo-calendar-grid button { color: var(--dc-muted); border-color: var(--dc-line); border-radius: 0; background: rgba(10, 6, 18, .5); font-size: 8px; }
.g-desktop-memo-app.is-real-memo .memo-calendar-grid button.today { color: var(--dc-pink); border-color: var(--dc-pink); }
.g-desktop-memo-app.is-real-memo .memo-calendar-grid button.active { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); }
.g-desktop-memo-app.is-real-memo .memo-add {
  width: 100%;
  min-width: 0;
  min-height: 29px;
  padding: 5px 8px;
  color: var(--dc-bg);
  border: 1px solid var(--dc-cyan);
  border-radius: 0;
  background: var(--dc-cyan);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 6px;
  letter-spacing: .04em;
}
.g-desktop-memo-boards { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); align-items: start; gap: 10px; }
.g-desktop-memo-app.is-real-memo .memo-board { gap: 9px; }
.g-desktop-memo-app.is-real-memo .memo-board.collapsed { padding-bottom: 11px; }
.g-desktop-memo-app.is-real-memo .memo-section-head { grid-template-columns: 20px minmax(0, 1fr) 16px; gap: 7px; align-items: center; }
.g-desktop-memo-app.is-real-memo .memo-section-head .home-icon {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  color: var(--dc-cyan);
  border: 1px solid var(--dc-line2);
  font-size: 10px;
}
.g-desktop-memo-app.is-real-memo .memo-section-head strong { color: var(--dc-ink); font-size: 8px; letter-spacing: .08em; }
.g-desktop-memo-app.is-real-memo .memo-section-head small { margin-top: 2px; color: var(--dc-cyan); font-size: 5px; letter-spacing: .05em; }
.g-desktop-memo-app.is-real-memo .memo-section-head b { color: var(--dc-cyan); font-size: 13px; }
.g-desktop-memo-app.is-real-memo .memo-task-list { gap: 6px; }
.g-desktop-memo-app.is-real-memo .memo-task {
  grid-template-columns: 18px minmax(0, 1fr) 16px;
  gap: 7px;
  padding: 7px 8px;
  border-color: color-mix(in srgb, var(--tag-color), transparent 48%);
  border-radius: 0;
  background: rgba(10, 6, 18, .42);
  box-shadow: none;
}
.g-desktop-memo-app.is-real-memo .memo-check { width: 16px; height: 16px; border-width: 1px; border-radius: 0; font-size: 8px; }
.g-desktop-memo-app.is-real-memo .memo-task-title { align-items: flex-start; gap: 6px; }
.g-desktop-memo-app.is-real-memo .memo-task-title strong { color: var(--dc-ink); font-size: 9px; line-height: 1.4; }
.g-desktop-memo-app.is-real-memo .memo-task-title span { padding: 2px 4px; color: var(--tag-color); border-radius: 0; background: color-mix(in srgb, var(--tag-color), transparent 86%); font-size: 5px; }
.g-desktop-memo-app.is-real-memo .memo-task p { margin: 4px 0 0; color: var(--dc-muted); font-size: 8px; line-height: 1.45; }
.g-desktop-memo-app.is-real-memo .memo-task small { margin-top: 4px; color: var(--dc-cyan); font-size: 6px; }
.g-desktop-memo-app.is-real-memo .memo-task small .material-symbols-outlined { font-size: 9px; }
.g-desktop-memo-app.is-real-memo .memo-delete { color: var(--dc-dim); font-size: 15px; }
.g-desktop-memo-app.is-real-memo .mini-card { padding: 7px 8px; color: var(--dc-muted); border: 1px dashed var(--dc-line); border-radius: 0; background: rgba(10, 6, 18, .28); font-size: 8px; }

.g-desktop-memo-app.is-real-memo .calendar-preview,
.g-desktop-memo-app.is-real-memo .calendar-editor,
.g-desktop-memo-app.is-real-memo .calendar-agenda {
  min-width: 0;
  display: grid;
  gap: 9px;
}
.g-desktop-memo-app.is-real-memo .calendar-preview > header,
.g-desktop-memo-app.is-real-memo .calendar-agenda > header {
  min-height: 25px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 0 0 8px;
  border-bottom: 1px solid var(--dc-line);
}
.g-desktop-memo-app.is-real-memo .calendar-preview > header .home-icon,
.g-desktop-memo-app.is-real-memo .calendar-agenda > header .home-icon { width: 20px; height: 20px; display: grid; place-items: center; color: var(--dc-cyan); font-size: 14px; }
.g-desktop-memo-app.is-real-memo .calendar-preview > header strong,
.g-desktop-memo-app.is-real-memo .calendar-agenda > header strong { display: block; color: var(--dc-ink); font-family: Georgia, "Times New Roman", "Songti SC", serif; font-size: 11px; }
.g-desktop-memo-app.is-real-memo .calendar-preview > header span,
.g-desktop-memo-app.is-real-memo .calendar-agenda > header span { display: block; margin-top: 1px; color: var(--dc-cyan); font-size: 6px; }
.g-desktop-memo-app.is-real-memo .calendar-month-actions { gap: 4px; }
.g-desktop-memo-app.is-real-memo .calendar-month-actions button { width: 24px; height: 24px; color: var(--dc-cyan); border: 1px solid var(--dc-line); border-radius: 0; background: rgba(103, 232, 249, .03); font-size: 14px; }
.g-desktop-memo-app.is-real-memo .calendar-month-actions button:hover { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); }
.g-desktop-memo-app.is-real-memo .month-grid {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  gap: 4px;
}
.g-desktop-memo-app.is-real-memo .calendar-weekdays,
.g-desktop-memo-app.is-real-memo .calendar-week {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
}
.g-desktop-memo-app.is-real-memo .calendar-week { grid-auto-rows: 52px; }
.g-desktop-memo-app.is-real-memo .calendar-weekdays b { color: var(--dc-cyan); font-size: 5px; letter-spacing: .04em; }
.g-desktop-memo-app.is-real-memo .month-day {
  width: 100%;
  min-width: 0;
  min-height: 52px;
  height: 100%;
  padding: 4px 3px;
  color: var(--dc-muted);
  border-color: var(--dc-line);
  border-radius: 0;
  background: rgba(10, 6, 18, .42);
  box-shadow: none;
}
.g-desktop-memo-app.is-real-memo .month-day > span { color: currentColor; font-size: 7px; }
.g-desktop-memo-app.is-real-memo .month-day:disabled { border-color: transparent; background: transparent; }
.g-desktop-memo-app.is-real-memo .month-day:hover:not(:disabled) { color: var(--dc-cyan); border-color: var(--dc-cyan); }
.g-desktop-memo-app.is-real-memo .month-day.today { color: var(--dc-pink); border-color: var(--dc-pink); background: rgba(244, 114, 182, .06); }
.g-desktop-memo-app.is-real-memo .month-day.selected { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); }
.g-desktop-memo-app.is-real-memo .month-day.birthday { background: rgba(244, 114, 182, .07); }
.g-desktop-memo-app.is-real-memo .birthday-mark { top: 3px; right: 3px; font-size: 7px; }
.g-desktop-memo-app.is-real-memo .month-day em { right: 3px; bottom: 4px; left: 3px; gap: 2px; }
.g-desktop-memo-app.is-real-memo .month-day em i { width: 3px; height: 3px; border-radius: 0; }
.g-desktop-memo-app.is-real-memo .calendar-span-bar { height: 3px; min-height: 3px; margin: 19px 3px 0; padding: 0; border: 0; border-radius: 0; background: var(--tag-color); }
.g-desktop-memo-app.is-real-memo .calendar-span-bar.lane-1 { margin-top: 26px; }
.g-desktop-memo-app.is-real-memo .calendar-span-bar.lane-2 { margin-top: 33px; }
.g-desktop-memo-app.is-real-memo .calendar-span-bar.lane-3 { margin-top: 40px; }
.g-desktop-memo-app.is-real-memo .calendar-editor .memo-section-head { padding: 0; }
.g-desktop-memo-app.is-real-memo .calendar-form {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 8px;
}
.g-desktop-memo-app.is-real-memo .calendar-line-fields {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 7px;
}
.g-desktop-memo-app.is-real-memo .calendar-line-fields input,
.g-desktop-memo-app.is-real-memo .calendar-line-fields textarea,
.g-desktop-memo-app.is-real-memo .calendar-form-grid input {
  width: 100%;
  min-width: 0;
  min-height: 29px;
  height: 29px;
  padding: 5px 7px;
  font-size: 8px;
  resize: none;
}
.g-desktop-memo-app.is-real-memo .calendar-form-grid {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}
.g-desktop-memo-app.is-real-memo .calendar-form-grid label { gap: 4px; }
.g-desktop-memo-app.is-real-memo .calendar-all-day-toggle {
  width: 100%;
  min-width: 0;
  min-height: 29px;
  padding: 5px 8px;
  color: var(--dc-muted);
  border: 1px solid var(--dc-line);
  border-radius: 0;
  background: rgba(10, 6, 18, .44);
  font-size: 7px;
}
.g-desktop-memo-app.is-real-memo .calendar-all-day-toggle.active {
  color: var(--dc-muted);
  border-color: var(--dc-line);
  background: rgba(10, 6, 18, .44);
}
.g-desktop-memo-app.is-real-memo .calendar-all-day-toggle i {
  width: 31px;
  height: 17px;
  flex: 0 0 auto;
  border: 1px solid var(--dc-line2);
  background: rgba(34, 21, 64, .78);
}
.g-desktop-memo-app.is-real-memo .calendar-all-day-toggle i::after {
  top: 2px;
  left: 2px;
  width: 11px;
  height: 11px;
  background: var(--dc-muted);
}
.g-desktop-memo-app.is-real-memo .calendar-all-day-toggle.active i {
  border-color: var(--dc-cyan) !important;
  background: var(--dc-cyan) !important;
}
.g-desktop-memo-app.is-real-memo .calendar-all-day-toggle.active i::after {
  background: var(--dc-bg) !important;
  transform: translateX(14px);
}
.g-desktop-memo-app.is-real-memo .calendar-chip-section {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}
.g-desktop-memo-app.is-real-memo .calendar-chip-picker {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 5px;
}
.g-desktop-memo-app.is-real-memo .calendar-chip-picker button { min-height: 24px; padding: 4px 7px; color: var(--dc-muted); border-color: var(--dc-line); border-radius: 0; background: rgba(10, 6, 18, .44); font-size: 6px; }
.g-desktop-memo-app.is-real-memo .calendar-chip-picker button.active { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); }
.g-desktop-memo-app.is-real-memo .calendar-form-actions {
  width: 100%;
  min-width: 0;
  min-height: 29px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
}
.g-desktop-memo-app.is-real-memo .calendar-form-actions .memo-add { width: auto; min-width: 118px; }
.g-desktop-memo-app.is-real-memo .calendar-form-actions .ghost { min-width: 80px; min-height: 29px; padding: 5px 8px; color: var(--dc-muted); border-color: var(--dc-line); border-radius: 0; background: rgba(10, 6, 18, .44); font-size: 7px; }
.g-desktop-memo-app.is-real-memo .calendar-agenda-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 6px; }
.g-desktop-memo-app.is-real-memo .calendar-agenda-item { grid-template-columns: 20px minmax(0, 1fr) auto; gap: 7px; padding: 7px 8px; border-color: color-mix(in srgb, var(--tag-color), transparent 50%); border-radius: 0; background: rgba(10, 6, 18, .42); }
.g-desktop-memo-app.is-real-memo .calendar-agenda-item > span { width: 7px; height: 7px; border-radius: 0; box-shadow: none; }
.g-desktop-memo-app.is-real-memo .calendar-agenda-item strong { color: var(--dc-ink); font-size: 9px; line-height: 1.4; }
.g-desktop-memo-app.is-real-memo .calendar-agenda-item small { margin-top: 2px; color: var(--dc-cyan); font-size: 6px; }
.g-desktop-memo-app.is-real-memo .calendar-agenda-item b { padding: 2px 4px; color: var(--tag-color, var(--dc-cyan)); border-radius: 0; background: rgba(103, 232, 249, .05); font-size: 5px; }
.g-desktop-memo-app.is-real-memo .calendar-agenda-item > button.calendar-edit-pill {
  width: 24px;
  min-width: 24px;
  height: 24px;
  min-height: 24px;
  display: grid;
  place-items: center;
  padding: 0;
  color: var(--dc-cyan);
  border: 1px solid var(--dc-line);
  border-radius: 0;
  background: rgba(103, 232, 249, .03);
  font-size: 12px;
  line-height: 1;
}
.g-desktop-memo-app.is-real-memo .calendar-agenda-item > button.calendar-edit-pill:hover,
.g-desktop-memo-app.is-real-memo .calendar-agenda-item > button.calendar-edit-pill:focus-visible {
  color: var(--dc-bg);
  border-color: var(--dc-cyan);
  background: var(--dc-cyan);
}
.g-desktop-memo-app.is-real-memo .calendar-event-actions button { min-height: 22px; padding: 3px 6px; color: var(--dc-cyan); border-color: var(--dc-line); border-radius: 0; background: rgba(103, 232, 249, .04); font-size: 6px; }
.g-desktop-memo-app.is-real-memo .calendar-agenda-empty { padding: 8px; color: var(--dc-muted); border: 1px dashed var(--dc-line); font-size: 8px; }
.g-desktop-memo-loading { min-height: 180px; display: grid; place-content: center; justify-items: center; gap: 10px; color: var(--dc-muted); }
.g-desktop-memo-loading span { width: 7px; height: 7px; background: var(--dc-cyan); box-shadow: 12px 0 var(--dc-accent), 24px 0 var(--dc-pink); animation: desktopChatLoading 1s steps(3, end) infinite; }
.g-desktop-memo-loading p { margin: 0; font-size: 9px; }

@container desktop-memo-window (min-width: 980px) {
  .g-desktop-memo-app.is-real-memo.memo-calendar-mode .g-desktop-memo-scroll {
    grid-template-columns: minmax(560px, 820px) minmax(340px, 520px);
    justify-content: center;
    align-items: start;
  }
  .g-desktop-memo-app.is-real-memo.memo-calendar-mode .calendar-preview {
    grid-column: 1;
    grid-row: 1;
  }
  .g-desktop-memo-app.is-real-memo.memo-calendar-mode .calendar-editor {
    grid-column: 2;
    grid-row: 1;
  }
  .g-desktop-memo-app.is-real-memo.memo-calendar-mode .calendar-agenda {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

/* Real desktop paper notes use the shared proactive-note ledger and actions.
   Small windows stack the inbox above the letter; wide windows read like mail. */
.g-desktop-window:has(.g-desktop-notes-app.is-real-notes) .g-desktop-window-body {
  overflow: hidden;
  container-name: desktop-notes-window;
  container-type: inline-size;
}
.g-desktop-notes-app.is-real-notes {
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 0;
  color: var(--dc-ink);
  background: rgba(10, 6, 18, .34);
}
.g-desktop-notes-toolbar {
  min-height: 54px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--dc-line2);
  background: rgba(10, 6, 18, .72);
}
.g-desktop-notes-toolbar > div {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 3px 9px;
}
.g-desktop-notes-toolbar small {
  grid-column: 1 / -1;
  color: var(--dc-cyan);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 5px;
  letter-spacing: .1em;
}
.g-desktop-notes-toolbar strong {
  color: var(--dc-ink);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 9px;
  letter-spacing: .05em;
}
.g-desktop-notes-toolbar span {
  overflow: hidden;
  color: var(--dc-cyan);
  font-size: 6px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.g-desktop-notes-toolbar button {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  color: var(--dc-cyan);
  border: 1px solid var(--dc-line2);
  border-radius: 0;
  background: rgba(103, 232, 249, .03);
  cursor: pointer;
}
.g-desktop-notes-toolbar button:hover { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); }
.g-desktop-notes-workspace {
  min-height: 0;
  flex: 1 1 auto;
  display: grid;
  grid-template-rows: minmax(116px, .42fr) minmax(0, 1fr);
  overflow: hidden;
}
.g-desktop-notes-inbox {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--dc-line2);
  background: rgba(18, 9, 33, .54);
}
.g-desktop-notes-inbox > header {
  min-height: 29px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 9px;
  color: var(--dc-cyan);
  border-bottom: 1px solid var(--dc-line);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 5px;
  letter-spacing: .06em;
}
.g-desktop-notes-inbox > header small,
.g-desktop-notes-inbox > header span { font: inherit; }
.g-desktop-notes-inbox > div {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 2px;
  overflow: auto;
  padding: 5px;
}
.g-desktop-note-list-item {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 7px 8px 8px;
  color: var(--dc-muted);
  text-align: left;
  border: 1px solid transparent;
  border-left: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}
.g-desktop-note-list-item:hover { border-color: var(--dc-line); border-left-color: var(--dc-cyan); background: rgba(103, 232, 249, .025); }
.g-desktop-note-list-item.active { border-color: var(--dc-line2); border-left-color: var(--dc-accent); background: rgba(192, 132, 252, .055); }
.g-desktop-note-list-item.is-unread { border-left-color: var(--dc-cyan); }
.g-desktop-note-list-item > span { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.g-desktop-note-list-item > span small,
.g-desktop-note-list-item > span i {
  overflow: hidden;
  color: var(--dc-cyan);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 5px;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: .04em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.g-desktop-note-list-item > span i { color: var(--dc-dim); }
.g-desktop-note-list-item.is-unread > span i { color: var(--dc-green); }
.g-desktop-note-list-item strong { overflow: hidden; color: var(--dc-ink); font-size: 9px; font-weight: 650; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-note-list-item p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--dc-muted); font-size: 8px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.g-desktop-note-list-item time { color: var(--dc-dim); font-family: "Press Start 2P", "VT323", monospace; font-size: 5px; line-height: 1.5; }
.g-desktop-notes-loading { margin: 16px 8px; color: var(--dc-dim); font-size: 8px; line-height: 1.6; text-align: center; }
.g-desktop-note-reader {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  padding: 20px 22px 26px;
  background:
    linear-gradient(90deg, transparent 0 28px, rgba(244, 114, 182, .08) 28px 29px, transparent 29px),
    rgba(12, 8, 21, .46);
}
.g-desktop-note-reader > header,
.g-desktop-note-paper,
.g-desktop-note-reader > .proactive-actions { width: min(100%, 720px); margin-inline: auto; }
.g-desktop-note-reader > header { padding-bottom: 12px; border-bottom: 1px solid var(--dc-line2); }
.g-desktop-note-reader > header span { color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 5px; line-height: 1.6; letter-spacing: .08em; }
.g-desktop-note-reader > header h2 { margin: 7px 0 5px; color: var(--dc-ink); font-family: "Literata", Georgia, "Songti SC", serif; font-size: clamp(17px, 2.1cqi, 25px); font-weight: 600; line-height: 1.38; letter-spacing: .02em; }
.g-desktop-note-reader > header small { color: var(--dc-accent); font-size: 8px; line-height: 1.5; }
.g-desktop-note-paper {
  margin-top: 16px;
  padding: 20px 22px;
  color: var(--dc-ink);
  border: 1px solid var(--dc-line2);
  border-left: 2px solid var(--dc-accent);
  background: rgba(192, 132, 252, .035);
  font-family: "Literata", Georgia, "Songti SC", serif;
}
.g-desktop-note-paper > small { display: block; color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 5px; letter-spacing: .09em; }
.g-desktop-note-paper p { margin: 15px 0; color: var(--dc-ink); font-size: 13px; line-height: 1.9; white-space: pre-wrap; }
.g-desktop-note-paper em { display: block; margin-top: 12px; color: var(--dc-muted); font-size: 9px; font-style: normal; line-height: 1.65; }
.g-desktop-note-paper footer { margin-top: 18px; color: var(--dc-accent); font-size: 11px; text-align: right; }
.g-desktop-note-reader > .proactive-actions { gap: 5px; margin-top: 12px; }
.g-desktop-note-reader > .proactive-actions button {
  min-height: 27px;
  padding: 4px 8px;
  color: var(--dc-cyan);
  border: 1px solid var(--dc-line2);
  border-radius: 0;
  background: rgba(103, 232, 249, .025);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 5px;
  letter-spacing: .03em;
  cursor: pointer;
}
.g-desktop-note-reader > .proactive-actions button:hover { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); }
.g-desktop-note-reader.is-empty { display: grid; place-content: center; justify-items: center; gap: 8px; text-align: center; }
.g-desktop-note-reader.is-empty > span { color: var(--dc-cyan); font-size: 24px; }
.g-desktop-note-reader.is-empty > strong { color: var(--dc-ink); font-family: "Press Start 2P", "VT323", monospace; font-size: 7px; }
.g-desktop-note-reader.is-empty > p { max-width: 300px; margin: 0; color: var(--dc-muted); font-size: 9px; line-height: 1.7; }

@container desktop-notes-window (min-width: 680px) {
  .g-desktop-notes-workspace { grid-template-columns: 230px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
  .g-desktop-notes-inbox { border-right: 1px solid var(--dc-line2); border-bottom: 0; }
}

@container desktop-notes-window (min-width: 980px) {
  .g-desktop-notes-workspace { grid-template-columns: 280px minmax(0, 1fr); }
  .g-desktop-note-reader { padding: 34px 48px 40px; }
  .g-desktop-note-paper p { font-size: 14px; }
}

/* Real desktop Diary is composed as a mailbox and letter-reading room. The
   ledger stays shared with mobile; only the desktop reading geometry changes. */
.g-desktop-window:has(.g-desktop-diary-app.is-real-diary) .g-desktop-window-body {
  overflow: hidden;
  container-name: desktop-diary-window;
  container-type: inline-size;
}
.g-desktop-diary-app.is-real-diary {
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 0;
  color: var(--dc-ink);
  background: rgba(10, 6, 18, .34);
}
.g-desktop-diary-toolbar {
  min-height: 62px;
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(128px, .72fr) minmax(210px, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--dc-line2);
  background: rgba(10, 6, 18, .72);
}
.g-desktop-diary-heading { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 2px 8px; }
.g-desktop-diary-heading small { grid-column: 1 / -1; color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 5px; letter-spacing: .1em; }
.g-desktop-diary-heading strong { color: var(--dc-ink); font-family: "Press Start 2P", "VT323", monospace; font-size: 9px; letter-spacing: .05em; }
.g-desktop-diary-heading span { overflow: hidden; color: var(--dc-cyan); font-size: 6px; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-diary-tabs {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--dc-line2);
}
.g-desktop-diary-tabs button,
.g-desktop-diary-actions button,
.g-desktop-diary-reader footer button {
  min-height: 27px;
  padding: 4px 7px;
  color: var(--dc-muted);
  border: 0;
  border-right: 1px solid var(--dc-line);
  border-radius: 0;
  background: transparent;
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 6px;
  letter-spacing: .04em;
  cursor: pointer;
}
.g-desktop-diary-tabs button:last-child { border-right: 0; }
.g-desktop-diary-tabs button:hover { color: var(--dc-cyan); background: rgba(103, 232, 249, .04); }
.g-desktop-diary-tabs button.active { color: var(--dc-bg); background: var(--dc-cyan); }
.g-desktop-diary-actions { min-width: 0; display: flex; justify-content: flex-end; align-items: center; gap: 5px; }
.g-desktop-diary-period-actions { min-width: 0; display: flex; align-items: center; gap: 4px; }
.g-desktop-diary-actions button,
.g-desktop-diary-reader footer button { color: var(--dc-cyan); border: 1px solid var(--dc-line2); background: rgba(103, 232, 249, .03); white-space: nowrap; }
.g-desktop-diary-actions button:hover,
.g-desktop-diary-reader footer button:hover { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); }
.g-desktop-diary-actions > button:last-child { width: 27px; padding: 0; font-size: 13px; }
.g-desktop-diary-actions button:disabled,
.g-desktop-diary-reader footer button:disabled { opacity: .45; cursor: wait; }
.g-desktop-diary-status {
  min-height: 25px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 4px 12px;
  color: var(--dc-muted);
  border-bottom: 1px solid var(--dc-line);
  background: rgba(192, 132, 252, .035);
  font-size: 8px;
}
.g-desktop-diary-status i { width: 6px; height: 6px; flex: 0 0 auto; background: var(--dc-accent); }
.g-desktop-diary-status.success i { background: var(--dc-green); }
.g-desktop-diary-status.error i { background: var(--dc-red); }
.g-desktop-diary-workspace {
  min-height: 0;
  flex: 1 1 auto;
  display: grid;
  grid-template-rows: minmax(112px, .4fr) minmax(0, 1fr);
  overflow: hidden;
}
.g-desktop-diary-mailbox {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--dc-line2);
  background: rgba(18, 9, 33, .54);
}
.g-desktop-diary-mailbox > header {
  min-height: 29px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 9px;
  color: var(--dc-cyan);
  border-bottom: 1px solid var(--dc-line);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 6px;
  letter-spacing: .06em;
}
.g-desktop-diary-mailbox > header small,
.g-desktop-diary-mailbox > header span { font: inherit; }
.g-desktop-diary-mailbox > div { min-height: 0; display: grid; align-content: start; gap: 2px; overflow: auto; padding: 5px; }
.g-desktop-diary-mailbox button {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 7px 8px 8px;
  color: var(--dc-muted);
  text-align: left;
  border: 1px solid transparent;
  border-left: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}
.g-desktop-diary-mailbox button:hover { border-color: var(--dc-line); border-left-color: var(--dc-cyan); background: rgba(103, 232, 249, .025); }
.g-desktop-diary-mailbox button.active { border-color: var(--dc-line2); border-left-color: var(--dc-accent); background: rgba(192, 132, 252, .055); }
.g-desktop-diary-mailbox button span { color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 5px; line-height: 1.5; letter-spacing: .04em; }
.g-desktop-diary-mailbox button strong { overflow: hidden; color: var(--dc-ink); font-size: 9px; font-weight: 650; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-diary-mailbox button p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--dc-muted); font-size: 8px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.g-desktop-diary-empty-list { margin: 16px 8px; color: var(--dc-dim); font-family: "Press Start 2P", "VT323", monospace; font-size: 6px; text-align: center; }
.g-desktop-diary-reader {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  padding: 22px 24px 28px;
  background:
    linear-gradient(90deg, transparent 0 28px, rgba(244, 114, 182, .08) 28px 29px, transparent 29px),
    rgba(12, 8, 21, .46);
}
.g-desktop-diary-reader > header,
.g-desktop-diary-letter-body,
.g-desktop-diary-reader > footer { width: min(100%, 790px); margin-inline: auto; }
.g-desktop-diary-reader > header { padding-bottom: 14px; border-bottom: 1px solid var(--dc-line2); }
.g-desktop-diary-reader > header span { color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 7px; line-height: 1.65; letter-spacing: .07em; }
.g-desktop-diary-reader > header h2 { margin: 8px 0 5px; color: var(--dc-ink); font-family: "Literata", Georgia, "Songti SC", serif; font-size: clamp(18px, 2.2cqi, 27px); font-weight: 600; line-height: 1.35; letter-spacing: .02em; }
.g-desktop-diary-reader > header small { color: var(--dc-accent); font-size: 9px; }
.g-desktop-diary-letter-body { padding: 18px 0 8px; color: var(--dc-ink); font-family: "Literata", Georgia, "Songti SC", serif; font-size: 12px; line-height: 1.95; }
.g-desktop-diary-letter-body p { margin: 0 0 1.15em; }
.g-desktop-diary-letter-body p:last-child { margin-bottom: 0; }
.g-desktop-diary-lead { padding-bottom: 12px; color: var(--dc-ink); font-size: 13px; border-bottom: 1px solid var(--dc-line); }
.g-desktop-diary-sections { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 12px; }
.g-desktop-diary-letter-section { padding: 10px 11px; border: 1px solid var(--dc-line); border-left: 2px solid var(--dc-accent); background: rgba(192, 132, 252, .025); }
.g-desktop-diary-letter-section small { display: block; margin-bottom: 8px; color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 7px; line-height: 1.7; letter-spacing: .04em; }
.g-desktop-diary-letter-section p { margin: 0 0 7px; color: var(--dc-muted); font-size: 10px; line-height: 1.75; }
.g-desktop-diary-letter-section p:last-child { margin-bottom: 0; }
.g-desktop-diary-reader > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 12px; color: var(--dc-accent); border-top: 1px solid var(--dc-line2); font-family: "Literata", Georgia, "Songti SC", serif; font-size: 10px; }
.g-desktop-diary-reader > footer small { color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 5px; }
.g-desktop-diary-reader > footer button.danger { color: var(--dc-pink); border-color: rgba(244, 114, 182, .28); background: rgba(244, 114, 182, .025); }
.g-desktop-diary-reader > footer button.danger:hover { color: var(--dc-bg); border-color: var(--dc-pink); background: var(--dc-pink); }
.g-desktop-diary-reader.is-empty { display: grid; place-items: center; text-align: center; }
.g-desktop-diary-reader.is-empty > div { max-width: 340px; display: grid; gap: 8px; }
.g-desktop-diary-reader.is-empty small { color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 5px; }
.g-desktop-diary-reader.is-empty strong { color: var(--dc-ink); font-family: "Literata", Georgia, "Songti SC", serif; font-size: 18px; }
.g-desktop-diary-reader.is-empty p { margin: 0; color: var(--dc-muted); font-size: 9px; line-height: 1.7; }
.g-desktop-diary-loading { min-height: 180px; flex: 1 1 auto; display: grid; place-content: center; justify-items: center; gap: 10px; color: var(--dc-muted); }
.g-desktop-diary-loading span { width: 7px; height: 7px; background: var(--dc-cyan); box-shadow: 12px 0 var(--dc-accent), 24px 0 var(--dc-pink); animation: desktopChatLoading 1s steps(3, end) infinite; }
.g-desktop-diary-loading p { margin: 0; font-size: 9px; }

/* Drafts stay inside the desktop Diary window. They share the mobile ledger,
   but use an inbox + paper reader instead of mounting the phone modal. */
.g-desktop-diary-draft-intro {
  min-width: 0;
  overflow: hidden;
  color: var(--dc-muted);
  font-size: 8px;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.g-desktop-diary-drafts-workspace {
  min-height: 0;
  flex: 1 1 auto;
  display: grid;
  grid-template-rows: minmax(112px, .4fr) minmax(0, 1fr);
  overflow: hidden;
}
.g-desktop-diary-draft-inbox {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--dc-line2);
  background: rgba(18, 9, 33, .54);
}
.g-desktop-diary-draft-inbox > header {
  min-height: 29px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 9px;
  color: var(--dc-cyan);
  border-bottom: 1px solid var(--dc-line);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 6px;
  letter-spacing: .06em;
}
.g-desktop-diary-draft-inbox > header small,
.g-desktop-diary-draft-inbox > header span { font: inherit; }
.g-desktop-diary-draft-inbox > div {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 2px;
  overflow: auto;
  padding: 5px;
}
.g-desktop-diary-draft-inbox button {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 8px 9px;
  color: var(--dc-muted);
  text-align: left;
  border: 1px solid transparent;
  border-left: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}
.g-desktop-diary-draft-inbox button:hover { border-color: var(--dc-line); border-left-color: var(--dc-cyan); background: rgba(103, 232, 249, .025); }
.g-desktop-diary-draft-inbox button.active { border-color: var(--dc-line2); border-left-color: var(--dc-pink); background: rgba(244, 114, 182, .045); }
.g-desktop-diary-draft-inbox button span { color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 6px; line-height: 1.55; }
.g-desktop-diary-draft-inbox button strong { overflow: hidden; color: var(--dc-ink); font-size: 10px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-diary-draft-inbox button p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--dc-muted); font-size: 8px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.g-desktop-diary-draft-reader {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  padding: 22px 24px 28px;
  background:
    linear-gradient(90deg, transparent 0 28px, rgba(244, 114, 182, .08) 28px 29px, transparent 29px),
    rgba(12, 8, 21, .46);
}
.g-desktop-diary-draft-reader > header,
.g-desktop-diary-draft-paper,
.g-desktop-diary-draft-reader > footer { width: min(100%, 790px); margin-inline: auto; }
.g-desktop-diary-draft-reader > header { padding-bottom: 14px; border-bottom: 1px solid var(--dc-line2); }
.g-desktop-diary-draft-reader > header span { color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 7px; line-height: 1.65; }
.g-desktop-diary-draft-reader > header h2 { margin: 9px 0 5px; color: var(--dc-ink); font-family: "Literata", Georgia, "Songti SC", serif; font-size: clamp(18px, 2.2cqi, 27px); font-weight: 600; line-height: 1.35; }
.g-desktop-diary-draft-reader > header small { color: var(--dc-pink); font-size: 9px; }
.g-desktop-diary-draft-paper { padding: 18px 0 8px; color: var(--dc-ink); font-family: "Literata", Georgia, "Songti SC", serif; font-size: 12px; line-height: 1.95; }
.g-desktop-diary-draft-paper > p { margin: 0 0 1.15em; }
.g-desktop-diary-draft-anchors { display: grid; gap: 7px; margin-top: 18px; padding: 13px 14px; border: 1px solid var(--dc-line); border-left: 2px solid var(--dc-pink); background: rgba(244, 114, 182, .025); }
.g-desktop-diary-draft-anchors small { color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 7px; line-height: 1.7; }
.g-desktop-diary-draft-anchors blockquote { margin: 0; color: var(--dc-muted); font-size: 10px; font-style: italic; line-height: 1.7; }
.g-desktop-diary-draft-reader > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 12px; color: var(--dc-pink); border-top: 1px solid var(--dc-line2); font-family: "Literata", Georgia, "Songti SC", serif; font-size: 10px; }
.g-desktop-diary-draft-reader > footer button { min-height: 27px; padding: 4px 7px; color: var(--dc-pink); border: 1px solid rgba(244, 114, 182, .28); border-radius: 0; background: rgba(244, 114, 182, .025); font-family: "Press Start 2P", "VT323", monospace; font-size: 6px; cursor: pointer; }
.g-desktop-diary-draft-reader > footer button:hover { color: var(--dc-bg); border-color: var(--dc-pink); background: var(--dc-pink); }
.g-desktop-diary-draft-reader.is-empty { display: grid; place-items: center; text-align: center; }
.g-desktop-diary-draft-reader.is-empty > div { max-width: 340px; display: grid; gap: 8px; }
.g-desktop-diary-draft-reader.is-empty small { color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 7px; }
.g-desktop-diary-draft-reader.is-empty strong { color: var(--dc-ink); font-family: "Literata", Georgia, "Songti SC", serif; font-size: 18px; }
.g-desktop-diary-draft-reader.is-empty p { margin: 0; color: var(--dc-muted); font-size: 9px; line-height: 1.7; }

@container desktop-diary-window (max-width: 679px) {
  .g-desktop-diary-toolbar { grid-template-columns: minmax(0, 1fr) auto; min-height: 86px; }
  .g-desktop-diary-tabs { grid-column: 1 / -1; grid-row: 2; }
  .g-desktop-diary-heading span { display: none; }
  .g-desktop-diary-actions button:not(:last-child) { font-size: 5px; }
  .g-desktop-diary-period-actions { gap: 2px; }
  .g-desktop-diary-period-actions button { max-width: 84px; overflow: hidden; text-overflow: ellipsis; }
  .g-desktop-diary-draft-intro { display: none; }
  .g-desktop-diary-reader { padding-inline: 18px; }
  .g-desktop-diary-draft-reader { padding-inline: 18px; }
}

@container desktop-diary-window (min-width: 720px) {
  .g-desktop-diary-workspace { grid-template-columns: 240px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
  .g-desktop-diary-mailbox { border-right: 1px solid var(--dc-line2); border-bottom: 0; }
  .g-desktop-diary-drafts-workspace { grid-template-columns: 240px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
  .g-desktop-diary-draft-inbox { border-right: 1px solid var(--dc-line2); border-bottom: 0; }
  .g-desktop-diary-sections { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@container desktop-diary-window (min-width: 1050px) {
  .g-desktop-diary-workspace { grid-template-columns: 280px minmax(0, 1fr); }
  .g-desktop-diary-drafts-workspace { grid-template-columns: 280px minmax(0, 1fr); }
  .g-desktop-diary-reader { padding: 36px 52px 42px; }
  .g-desktop-diary-draft-reader { padding: 36px 52px 42px; }
  .g-desktop-diary-letter-body { font-size: 13px; }
  .g-desktop-diary-draft-paper { font-size: 13px; }
}

/* Real desktop Monitor reuses the same live health ledgers and runtime trace as
   the phone page, then changes only the window composition. */
.g-desktop-window:has(.g-desktop-monitor-app.is-real-monitor) .g-desktop-window-body {
  overflow: hidden;
  container-name: desktop-monitor-window;
  container-type: inline-size;
}
.g-desktop-monitor-app.is-real-monitor {
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 0;
  color: var(--dc-ink);
  background: rgba(10, 6, 18, .34);
}
.g-desktop-monitor-toolbar {
  min-height: 56px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 13px;
  border-bottom: 1px solid var(--dc-line2);
  background: rgba(10, 6, 18, .7);
}
.g-desktop-monitor-toolbar > div { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 2px 8px; }
.g-desktop-monitor-toolbar small { grid-column: 1 / -1; color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 5px; letter-spacing: .1em; }
.g-desktop-monitor-toolbar strong { color: var(--dc-ink); font-family: "Press Start 2P", "VT323", monospace; font-size: 8px; letter-spacing: .05em; }
.g-desktop-monitor-toolbar span { overflow: hidden; color: var(--dc-cyan); font-size: 6px; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-monitor-refresh { width: 28px; height: 28px; flex: 0 0 auto; color: var(--dc-cyan); border: 1px solid var(--dc-line2); border-radius: 0; background: rgba(103, 232, 249, .04); font-size: 15px; cursor: pointer; }
.g-desktop-monitor-refresh:hover { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); }
.g-desktop-monitor-scroll {
  min-height: 0;
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 12px;
  overflow: auto;
  padding: 12px 13px 22px;
  scrollbar-color: var(--dc-line2) transparent;
}
.g-desktop-monitor-health,
.g-desktop-monitor-runtime { min-width: 0; display: grid; align-content: start; gap: 8px; }
.g-desktop-monitor-health > header,
.g-desktop-monitor-logbar { min-height: 28px; display: flex; align-items: center; justify-content: space-between; gap: 9px; padding-bottom: 7px; border-bottom: 1px solid var(--dc-line); }
.g-desktop-monitor-health > header { display: grid; justify-content: stretch; }
.g-desktop-monitor-health > header small,
.g-desktop-monitor-logbar small { color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 5px; letter-spacing: .08em; }
.g-desktop-monitor-health > header strong,
.g-desktop-monitor-logbar strong { display: block; margin-top: 3px; color: var(--dc-ink); font-size: 9px; font-weight: 500; }
.g-desktop-monitor-health-grid { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; }
.g-desktop-monitor-app.is-real-monitor .monitor-backup-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 7px; }
.g-desktop-monitor-app.is-real-monitor .monitor-card {
  min-width: 0;
  margin: 0;
  padding: 9px 10px;
  color: var(--dc-ink);
  border: 1px solid var(--dc-line);
  border-radius: 0;
  background: rgba(25, 15, 43, .62);
  box-shadow: 3px 3px 0 rgba(61, 36, 104, .36);
}
.g-desktop-monitor-app.is-real-monitor .monitor-backup-title { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; align-items: center; gap: 6px; margin-bottom: 6px; }
.g-desktop-monitor-app.is-real-monitor .monitor-backup-title strong { color: var(--dc-ink); font-size: 8px; }
.g-desktop-monitor-app.is-real-monitor .monitor-backup-title span { color: var(--dc-cyan); font-size: 6px; }
.g-desktop-monitor-app.is-real-monitor .monitor-breathing-dot { width: 5px; height: 5px; border-radius: 0; }
.g-desktop-monitor-app.is-real-monitor .monitor-backup-line { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 6px; padding: 3px 0; border-top: 1px solid rgba(61, 36, 104, .46); font-size: 7px; }
.g-desktop-monitor-app.is-real-monitor .monitor-backup-line b { color: var(--dc-cyan); font-weight: 400; }
.g-desktop-monitor-app.is-real-monitor .monitor-backup-line span { overflow-wrap: anywhere; color: var(--dc-muted); }
.g-desktop-monitor-app.is-real-monitor .monitor-card > small,
.g-desktop-monitor-app.is-real-monitor .monitor-card footer { display: block; margin-top: 6px; color: var(--dc-dim); font-size: 6px; line-height: 1.5; }
.g-desktop-monitor-app.is-real-monitor .agent-action-monitor-card { grid-column: 1 / -1; gap: 7px; }
.g-desktop-monitor-app.is-real-monitor .agent-action-monitor-heading { gap: 2px; }
.g-desktop-monitor-app.is-real-monitor .agent-action-monitor-heading > strong { margin-top: 0; font-size: 8px; line-height: 1.25; }
.g-desktop-monitor-app.is-real-monitor .agent-action-monitor-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.g-desktop-monitor-app.is-real-monitor .agent-action-monitor-metrics .monitor-metric { padding: 6px; border-color: var(--dc-line); border-radius: 0; background: rgba(25, 15, 43, .46); }
.g-desktop-monitor-app.is-real-monitor .agent-action-monitor-metrics .monitor-metric small { color: var(--dc-cyan); font-size: 5px; }
.g-desktop-monitor-app.is-real-monitor .agent-action-monitor-metrics .monitor-metric strong { color: var(--dc-ink); font-size: 10px; }
.g-desktop-monitor-app.is-real-monitor .agent-action-monitor-latest { gap: 3px; padding-top: 7px; border-top-color: var(--dc-line); }
.g-desktop-monitor-app.is-real-monitor .agent-action-monitor-latest > span { color: var(--dc-cyan); font-size: 5px; }
.g-desktop-monitor-app.is-real-monitor .agent-action-monitor-latest > strong { color: var(--dc-ink); font-size: 7px; }
.g-desktop-monitor-app.is-real-monitor .agent-action-monitor-latest > small,
.g-desktop-monitor-app.is-real-monitor .agent-action-monitor-latest > p { color: var(--dc-muted); font-size: 6px; line-height: 1.45; }
.g-desktop-monitor-app.is-real-monitor .music-taste-monitor-card { gap: 7px; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-card { grid-column: 1 / -1; border-radius: 0; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-summary { min-height: 46px; padding: 8px 9px; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-title { gap: 2px; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-title .monitor-card-label { font-size: 5px; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-title strong { color: var(--dc-ink) !important; font-size: 9px; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-title small { color: var(--dc-muted) !important; font-size: 6px; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-chevron { color: var(--dc-cyan) !important; font-size: 13px; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-body { gap: 7px; padding: 0 9px 9px; border-top-color: var(--dc-line); }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-metrics { border-color: var(--dc-line); background: rgba(25, 15, 43, .46); }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-metrics > span { gap: 2px; padding: 6px 2px; border-right-color: var(--dc-line); }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-metrics small { color: var(--dc-dim) !important; font-size: 5px; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-metrics strong { color: var(--dc-ink) !important; font-size: 9px; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-grid { gap: 6px; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-section { gap: 5px; padding: 7px; border-color: var(--dc-line); background: rgba(25, 15, 43, .46); }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-section header span { color: var(--dc-cyan) !important; font-size: 5px; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-section header strong { color: var(--dc-ink) !important; font-size: 7px; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-section .monitor-backup-line { grid-template-columns: 62px minmax(0, 1fr); gap: 5px; padding-top: 3px; border-top-color: var(--dc-line); font-size: 6px; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-section .monitor-backup-line b { color: var(--dc-cyan) !important; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-section .monitor-backup-line span { color: var(--dc-muted) !important; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-section p { color: var(--dc-dim) !important; font-size: 5.5px; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-failure { gap: 3px; padding: 7px; border-color: var(--dc-line); border-left-color: var(--dc-cyan); background: rgba(25, 15, 43, .46); }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-failure.has-failure { border-left-color: var(--dc-red); }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-failure > span { color: var(--dc-cyan) !important; font-size: 5px; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-failure > strong { color: var(--dc-ink) !important; font-size: 6.5px; }
.g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-failure > small { color: var(--dc-dim) !important; font-size: 5px; }
.g-desktop-monitor-app.is-real-monitor .monitor-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.g-desktop-monitor-app.is-real-monitor .monitor-card-label { color: var(--dc-cyan); font-size: 5px; }
.g-desktop-monitor-app.is-real-monitor .monitor-card-head strong { display: block; margin-top: 3px; color: var(--dc-ink); font-size: 8px; }
.g-desktop-monitor-app.is-real-monitor .monitor-status-pill { padding: 3px 5px; color: var(--dc-green); border: 1px solid var(--dc-line); border-radius: 0; background: rgba(74, 222, 128, .04); font-size: 5px; }
.g-desktop-monitor-app.is-real-monitor .music-taste-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.g-desktop-monitor-app.is-real-monitor .music-taste-stats span { padding: 6px; border: 1px solid var(--dc-line); }
.g-desktop-monitor-app.is-real-monitor .music-taste-stats b { color: var(--dc-pink); font-size: 12px; }
.g-desktop-monitor-app.is-real-monitor .music-taste-stats small,
.g-desktop-monitor-app.is-real-monitor .music-taste-overview small { color: var(--dc-cyan); font-size: 5px; }
.g-desktop-monitor-app.is-real-monitor .music-taste-summary { margin: 4px 0; color: var(--dc-muted); font-size: 7px; line-height: 1.45; }
.g-desktop-monitor-app.is-real-monitor .music-taste-artists { display: flex; flex-wrap: wrap; gap: 4px; }
.g-desktop-monitor-app.is-real-monitor .music-taste-artists span { padding: 2px 4px; color: var(--dc-cyan); border: 1px solid var(--dc-line); font-size: 5px; }
.g-desktop-monitor-app.is-real-monitor .music-taste-reasons { color: var(--dc-muted); font-size: 7px; }
.g-desktop-monitor-app.is-real-monitor .music-taste-reasons article { padding: 6px 0; border-top: 1px solid var(--dc-line); }
.g-desktop-monitor-logbar .monitor-filter { position: relative; flex: 0 0 auto; }
.g-desktop-monitor-logbar .filter-trigger { min-width: 96px; min-height: 25px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 4px 7px; color: var(--dc-cyan); border: 1px solid var(--dc-line); border-radius: 0; background: rgba(10, 6, 18, .7); font-size: 6px; }
.g-desktop-monitor-logbar .filter-menu { position: absolute; z-index: 4; top: calc(100% + 3px); right: 0; width: 180px; max-height: 210px; overflow: auto; padding: 4px; border: 1px solid var(--dc-line2); background: rgba(10, 6, 18, .98); box-shadow: 3px 3px 0 rgba(61, 36, 104, .58); }
.g-desktop-monitor-logbar .filter-menu button { width: 100%; min-height: 24px; padding: 4px 6px; color: var(--dc-muted); border: 0; background: transparent; text-align: left; font-size: 6px; }
.g-desktop-monitor-logbar .filter-menu button:hover { color: var(--dc-bg); background: var(--dc-cyan); }
.g-desktop-monitor-log-list { min-width: 0; display: grid; gap: 6px; }
.g-desktop-monitor-log-list article { min-width: 0; padding: 7px 8px; border: 1px solid var(--dc-line); border-left: 2px solid var(--dc-accent); background: rgba(25, 15, 43, .55); }
.g-desktop-monitor-log-list article.error { border-left-color: var(--dc-red); }
.g-desktop-monitor-log-list article header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.g-desktop-monitor-log-list article strong { overflow: hidden; color: var(--dc-cyan); font-size: 6px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-monitor-log-list article time { flex: 0 0 auto; color: var(--dc-dim); font-size: 5px; }
.g-desktop-monitor-log-list article p { margin: 5px 0 0; color: var(--dc-muted); font-size: 7px; line-height: 1.45; overflow-wrap: anywhere; }
.g-desktop-monitor-app.is-real-monitor .monitor-load-more { min-height: 28px; color: var(--dc-cyan); border: 1px solid var(--dc-line2); border-radius: 0; background: rgba(103, 232, 249, .03); font-size: 6px; }
.g-desktop-monitor-loading { min-height: 180px; display: grid; place-content: center; justify-items: center; gap: 10px; color: var(--dc-muted); }
.g-desktop-monitor-loading span { width: 7px; height: 7px; background: var(--dc-cyan); box-shadow: 12px 0 var(--dc-accent), 24px 0 var(--dc-pink); animation: desktopChatLoading 1s steps(3, end) infinite; }
.g-desktop-monitor-loading p { margin: 0; font-size: 8px; }

@container desktop-monitor-window (min-width: 900px) {
  .g-desktop-monitor-scroll { grid-template-columns: minmax(420px, .82fr) minmax(470px, 1.18fr); align-items: start; }
  .g-desktop-monitor-health-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .g-desktop-monitor-app.is-real-monitor .monitor-backup-grid { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .g-desktop-monitor-app.is-real-monitor .music-taste-monitor-card { grid-column: 1 / -1; }
  .g-desktop-monitor-app.is-real-monitor .nowhere-journey-monitor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1240px) {
  .g-desktop-memo-fields { grid-template-columns: 1fr; }
}

/* CYCLE · real private ledger */
.g-desktop-window:has(.g-desktop-cycle-app.is-real-cycle) .g-desktop-window-body {
  overflow: hidden;
  container-name: desktop-cycle-window;
  container-type: inline-size;
}
.g-desktop-cycle-app.is-real-cycle { min-height: 100%; height: 100%; display: flex; flex-direction: column; padding: 0; color: var(--dc-ink); }
.g-desktop-cycle-toolbar { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 8px 12px; border-bottom: 1px solid var(--dc-line); background: rgba(22, 11, 40, .72); }
.g-desktop-cycle-toolbar > div { min-width: 0; display: grid; grid-template-columns: auto auto 1fr; align-items: baseline; gap: 10px; }
.g-desktop-cycle-toolbar small,
.g-desktop-cycle-toolbar span,
.g-desktop-cycle-forecast header,
.g-desktop-cycle-history button small { color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 6px; letter-spacing: .08em; }
.g-desktop-cycle-toolbar strong { font-size: 22px; font-weight: 400; }
.g-desktop-cycle-toolbar span { overflow: hidden; color: var(--dc-dim); text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-cycle-toolbar > button { width: 34px; height: 32px; flex: 0 0 34px; color: var(--dc-cyan); border: 1px solid var(--dc-line2); border-radius: 0; background: transparent; cursor: pointer; }
.g-desktop-cycle-toolbar > button:hover { background: var(--dc-surf2); }
.g-desktop-cycle-scroll { min-height: 0; flex: 1; display: grid; align-content: start; gap: 10px; padding: 12px; overflow: auto; }
.g-desktop-cycle-loading { min-height: 100%; display: grid; place-content: center; justify-items: center; gap: 12px; color: var(--dc-muted); }
.g-desktop-cycle-loading span { width: 20px; height: 20px; border: 2px solid var(--dc-line2); border-top-color: var(--dc-cyan); animation: desktop-cycle-spin .8s steps(8) infinite; }
@keyframes desktop-cycle-spin { to { transform: rotate(360deg); } }
.g-desktop-cycle-hero { min-height: 90px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 14px 16px; border: 1px solid var(--dc-line2); border-left: 4px solid var(--dc-pink); background: linear-gradient(90deg, rgba(244, 114, 182, .1), rgba(34, 21, 64, .38)); }
.g-desktop-cycle-hero > div { min-width: 0; }
.g-desktop-cycle-hero small { color: var(--dc-pink); font-family: "Press Start 2P", "VT323", monospace; font-size: 6px; letter-spacing: .08em; }
.g-desktop-cycle-hero strong { display: block; margin-top: 7px; font-size: 23px; font-weight: 400; line-height: 1.1; }
.g-desktop-cycle-hero p { margin: 5px 0 0; color: var(--dc-muted); font-size: 14px; line-height: 1.3; }
.g-desktop-cycle-hero > b { color: var(--dc-pink); font-family: "Press Start 2P", "VT323", monospace; font-size: 26px; font-weight: 400; }
.g-desktop-cycle-hero.is-next { border-left-color: var(--dc-cyan); }
.g-desktop-cycle-hero.is-next small,
.g-desktop-cycle-hero.is-next > b { color: var(--dc-cyan); }
.g-desktop-cycle-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.g-desktop-cycle-actions button { min-height: 35px; color: var(--dc-muted); border: 1px solid var(--dc-line2); border-radius: 0; background: rgba(22, 11, 40, .58); cursor: pointer; font-size: 14px; }
.g-desktop-cycle-actions button.active { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); }
.g-desktop-cycle-actions button:disabled { cursor: default; opacity: .46; }
.g-desktop-cycle-forecast { display: grid; grid-template-columns: minmax(250px, .9fr) minmax(230px, 1.1fr); gap: 10px; }
.g-desktop-cycle-wheel-card,
.g-desktop-cycle-ranges { min-width: 0; padding: 11px; border: 1px solid var(--dc-line); background: rgba(22, 11, 40, .48); }
.g-desktop-cycle-wheel-card > header,
.g-desktop-cycle-ranges > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 18px; border-bottom: 1px solid var(--dc-line); }
.g-desktop-cycle-wheel-card > header span,
.g-desktop-cycle-ranges > header span { color: var(--dc-dim); font-size: 11px; }
.g-desktop-cycle-app .cycle-wheel { position: relative; width: min(216px, 100%); aspect-ratio: 1; margin: 8px auto 0; }
.g-desktop-cycle-app .cycle-wheel svg { width: 100%; height: 100%; overflow: visible; }
.g-desktop-cycle-app .cycle-wheel circle { fill: var(--dc-dim); stroke: transparent; }
.g-desktop-cycle-app .cycle-wheel circle.cycle-dot-period { fill: var(--dc-pink); }
.g-desktop-cycle-app .cycle-wheel circle.cycle-dot-pms { fill: #f08366; }
.g-desktop-cycle-app .cycle-wheel circle.cycle-dot-ovulation { fill: var(--dc-accent); }
.g-desktop-cycle-app .cycle-wheel circle.cycle-dot-fertile { fill: #7f739d; }
.g-desktop-cycle-app .cycle-wheel circle.cycle-dot-today { stroke: var(--dc-cyan); stroke-width: 2px; filter: drop-shadow(0 0 4px rgba(103, 232, 249, .7)); }
.g-desktop-cycle-app .cycle-wheel-center { position: absolute; inset: 50% auto auto 50%; width: 104px; height: 104px; display: grid; place-content: center; justify-items: center; transform: translate(-50%, -50%); border: 1px solid var(--dc-line2); border-radius: 50%; background: rgba(10, 6, 18, .88); }
.g-desktop-cycle-app .cycle-wheel-center span,
.g-desktop-cycle-app .cycle-wheel-center b { color: var(--dc-muted); font-size: 11px; font-weight: 400; }
.g-desktop-cycle-app .cycle-wheel-center strong { color: var(--dc-ink); font-family: "Press Start 2P", "VT323", monospace; font-size: 20px; font-weight: 400; }
.g-desktop-cycle-app .cycle-wheel-tag { position: absolute; display: none; }
.g-desktop-cycle-ranges { display: grid; align-content: start; gap: 6px; }
.g-desktop-cycle-ranges > header { margin-bottom: 2px; }
.g-desktop-cycle-app .cycle-range { min-height: 48px; display: grid; grid-template-columns: 6px minmax(0, 1fr); align-items: center; gap: 10px; padding: 7px 9px; border: 1px solid rgba(61, 36, 104, .72); background: rgba(10, 6, 18, .38); }
.g-desktop-cycle-app .cycle-range > span { width: 6px; height: 24px; background: var(--tag-color); }
.g-desktop-cycle-app .cycle-range div { min-width: 0; display: grid; gap: 2px; }
.g-desktop-cycle-app .cycle-range strong { color: var(--dc-ink); font-size: 14px; font-weight: 400; }
.g-desktop-cycle-app .cycle-range small { color: var(--dc-muted); font-size: 12px; }
.g-desktop-cycle-history { border: 1px solid var(--dc-line); background: rgba(22, 11, 40, .42); }
.g-desktop-cycle-history > button { width: 100%; min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 11px; color: var(--dc-ink); border: 0; background: transparent; text-align: left; cursor: pointer; }
.g-desktop-cycle-history > button span { display: flex; align-items: baseline; gap: 10px; }
.g-desktop-cycle-history > button strong { font-size: 15px; font-weight: 400; }
.g-desktop-cycle-history > button b { color: var(--dc-cyan); font-size: 20px; font-weight: 400; }
.g-desktop-cycle-records { display: grid; gap: 6px; padding: 0 9px 9px; }
.g-desktop-cycle-record { min-height: 46px; display: grid; grid-template-columns: 6px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 7px 9px; border: 1px solid rgba(61, 36, 104, .7); background: rgba(10, 6, 18, .36); }
.g-desktop-cycle-record > i { width: 6px; height: 26px; background: var(--dc-pink); }
.g-desktop-cycle-record > div { display: grid; gap: 1px; }
.g-desktop-cycle-record strong { font-size: 14px; font-weight: 400; }
.g-desktop-cycle-record small,
.g-desktop-cycle-record > span { color: var(--dc-muted); font-size: 11px; }
.g-desktop-cycle-record.is-open > span { color: var(--dc-green); }

@container desktop-cycle-window (max-width: 620px) {
  .g-desktop-cycle-toolbar > div { grid-template-columns: auto 1fr; }
  .g-desktop-cycle-toolbar span { display: none; }
  .g-desktop-cycle-hero { min-height: 78px; padding: 11px 12px; }
  .g-desktop-cycle-hero strong { font-size: 20px; }
  .g-desktop-cycle-hero > b { font-size: 21px; }
  .g-desktop-cycle-forecast { grid-template-columns: 1fr; }
  .g-desktop-cycle-app .cycle-wheel { width: min(190px, 100%); }
}

/* Cycle keeps the mobile information hierarchy, but uses a bounded PC reading column. */
.g-desktop-cycle-toolbar {
  min-height: 36px;
  padding: 5px 8px 5px 10px;
}
.g-desktop-cycle-heading {
  min-width: 0;
  display: flex !important;
  align-items: center;
  gap: 9px;
}
.g-desktop-cycle-heading small { flex: 0 0 auto; font-size: 6px; }
.g-desktop-cycle-heading span {
  min-width: 0;
  overflow: hidden;
  color: var(--dc-dim);
  font-size: 5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.g-desktop-cycle-toolbar > button {
  width: 27px;
  height: 25px;
  flex-basis: 27px;
  font-size: 13px;
}
.g-desktop-cycle-scroll {
  display: block;
  padding: 0;
}
.g-desktop-cycle-stage {
  width: min(100%, 960px);
  margin: 0 auto;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 10px;
}
.g-desktop-cycle-overview {
  min-width: 0;
  display: grid;
  gap: 6px;
}
.g-desktop-cycle-hero {
  min-height: 66px;
  gap: 12px;
  padding: 9px 11px;
  border-left-width: 2px;
  background: rgba(34, 21, 64, .36);
}
.g-desktop-cycle-hero small { font-size: 5px; }
.g-desktop-cycle-hero strong {
  margin-top: 5px;
  font-size: 15px;
  line-height: 1.2;
}
.g-desktop-cycle-hero p {
  margin-top: 4px;
  font-size: 8px;
  line-height: 1.35;
}
.g-desktop-cycle-hero > b { font-size: 19px; }
.g-desktop-cycle-actions {
  width: min(100%, 360px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}
.g-desktop-cycle-actions button {
  min-height: 27px;
  font-size: 9px;
}
.g-desktop-cycle-forecast {
  grid-template-columns: minmax(230px, 310px) minmax(280px, 1fr);
  gap: 8px;
}
.g-desktop-cycle-wheel-card,
.g-desktop-cycle-ranges {
  padding: 9px 10px;
  background: rgba(22, 11, 40, .42);
}
.g-desktop-cycle-wheel-card > header,
.g-desktop-cycle-ranges > header {
  min-height: 17px;
  padding-bottom: 4px;
}
.g-desktop-cycle-wheel-card > header span,
.g-desktop-cycle-ranges > header span { font-size: 7px; }
.g-desktop-cycle-app .cycle-wheel {
  width: min(210px, 100%);
  margin-top: 5px;
}
.g-desktop-cycle-app .cycle-wheel-center {
  width: 82px;
  height: 82px;
}
.g-desktop-cycle-app .cycle-wheel-center span,
.g-desktop-cycle-app .cycle-wheel-center b { font-size: 7px; }
.g-desktop-cycle-app .cycle-wheel-center strong { font-size: 16px; }
.g-desktop-cycle-ranges {
  gap: 0;
}
.g-desktop-cycle-ranges > header { margin-bottom: 3px; }
.g-desktop-cycle-app .cycle-range {
  min-height: 37px;
  grid-template-columns: 5px minmax(0, 1fr) auto;
  gap: 8px;
  padding: 6px 3px;
  border: 0;
  border-bottom: 1px solid rgba(61, 36, 104, .56);
  background: transparent;
}
.g-desktop-cycle-app .cycle-range:last-child { border-bottom: 0; }
.g-desktop-cycle-app .cycle-range > span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
}
.g-desktop-cycle-app .cycle-range div { display: contents; }
.g-desktop-cycle-app .cycle-range strong {
  min-width: 0;
  font-size: 9px;
  font-weight: 500;
  white-space: nowrap;
}
.g-desktop-cycle-app .cycle-range small {
  justify-self: end;
  font-size: 7px;
  white-space: nowrap;
}
.g-desktop-cycle-history > button {
  min-height: 31px;
  padding: 5px 9px;
}
.g-desktop-cycle-history > button span { gap: 7px; }
.g-desktop-cycle-history > button strong { font-size: 9px; }
.g-desktop-cycle-history > button b { font-size: 14px; }
.g-desktop-cycle-records { gap: 4px; padding: 0 7px 7px; }
.g-desktop-cycle-record {
  min-height: 36px;
  grid-template-columns: 4px minmax(0, 1fr) auto;
  gap: 8px;
  padding: 5px 7px;
}
.g-desktop-cycle-record > i { width: 4px; height: 20px; }
.g-desktop-cycle-record strong { font-size: 9px; }
.g-desktop-cycle-record small,
.g-desktop-cycle-record > span { font-size: 7px; }

@container desktop-cycle-window (min-width: 760px) {
  .g-desktop-cycle-overview {
    grid-template-columns: minmax(0, 1fr) 270px;
    align-items: stretch;
  }
  .g-desktop-cycle-actions {
    width: 100%;
    grid-template-columns: 1fr;
    align-content: center;
  }
}

@container desktop-cycle-window (max-width: 620px) {
  .g-desktop-cycle-toolbar { min-height: 33px; }
  .g-desktop-cycle-heading span { display: block; }
  .g-desktop-cycle-stage { gap: 6px; padding: 7px; }
  .g-desktop-cycle-hero { min-height: 58px; padding: 8px 9px; }
  .g-desktop-cycle-hero strong { font-size: 13px; }
  .g-desktop-cycle-hero p { font-size: 7px; }
  .g-desktop-cycle-hero > b { font-size: 16px; }
  .g-desktop-cycle-actions { width: 100%; }
  .g-desktop-cycle-actions button { min-height: 25px; font-size: 8px; }
  .g-desktop-cycle-forecast { grid-template-columns: 1fr; gap: 6px; }
  .g-desktop-cycle-wheel-card,
  .g-desktop-cycle-ranges { padding: 7px 8px; }
  .g-desktop-cycle-app .cycle-wheel { width: min(168px, 100%); margin-top: 2px; }
  .g-desktop-cycle-app .cycle-wheel-center { width: 68px; height: 68px; }
  .g-desktop-cycle-app .cycle-wheel-center strong { font-size: 13px; }
  .g-desktop-cycle-app .cycle-range { min-height: 30px; }
}

/* Keep the live day marker visibly breathing and keep every center label inside the dial. */
.g-desktop-cycle-app .cycle-wheel circle.cycle-dot-today {
  transform-box: fill-box;
  transform-origin: center;
  animation: desktop-cycle-dot-breathe 1.8s ease-in-out infinite;
}
@keyframes desktop-cycle-dot-breathe {
  0%, 100% { opacity: .58; transform: scale(.86); stroke-width: 1.5px; filter: drop-shadow(0 0 2px rgba(103, 232, 249, .42)); }
  50% { opacity: 1; transform: scale(1.22); stroke-width: 2.4px; filter: drop-shadow(0 0 7px rgba(103, 232, 249, .95)); }
}
.g-desktop-cycle-app .cycle-wheel-center {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 8px 6px;
  overflow: hidden;
}
.g-desktop-cycle-app .cycle-wheel-center span,
.g-desktop-cycle-app .cycle-wheel-center strong,
.g-desktop-cycle-app .cycle-wheel-center b {
  display: block;
  max-width: calc(100% - 8px);
  margin: 0;
  overflow: hidden;
  line-height: 1.1;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.g-desktop-cycle-app .cycle-wheel-center b {
  min-height: 13px;
  padding: 2px 7px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--dc-pink) 20%, transparent);
}
@container desktop-cycle-window (max-width: 620px) {
  .g-desktop-cycle-app .cycle-wheel-center { gap: 2px; padding: 6px 4px; }
  .g-desktop-cycle-app .cycle-wheel-center span,
  .g-desktop-cycle-app .cycle-wheel-center b { font-size: 6px; }
  .g-desktop-cycle-app .cycle-wheel-center b { min-height: 11px; padding: 2px 5px; }
}
@media (prefers-reduced-motion: reduce) {
  .g-desktop-cycle-app .cycle-wheel circle.cycle-dot-today { animation: none; }
}

/* Favorites keeps conversations as an archive and notes as a pin board. */
.g-desktop-window:has(.g-desktop-favorites-app.is-real-favorites) .g-desktop-window-body {
  overflow: hidden;
  padding: 0;
}
.g-desktop-favorites-app {
  container: desktop-favorites-window / inline-size;
  min-height: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--dc-ink);
  background: rgba(10, 6, 18, .72);
}
.g-desktop-favorites-toolbar {
  min-height: 42px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px;
  align-items: center;
  gap: 10px;
  padding: 7px 11px;
  border-bottom: 1px solid var(--dc-line2);
  background: rgba(25, 15, 45, .82);
}
.g-desktop-favorites-toolbar > div {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 9px;
}
.g-desktop-favorites-toolbar small,
.g-desktop-favorite-conversation-reader header small,
.g-desktop-favorite-note-reader header small,
.g-desktop-favorite-empty small {
  color: var(--dc-cyan);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 6px;
  letter-spacing: .08em;
}
.g-desktop-favorites-toolbar strong { font-family: "Press Start 2P", "VT323", monospace; font-size: 9px; font-weight: 400; }
.g-desktop-favorites-toolbar span { overflow: hidden; color: var(--dc-dim); font-size: 11px; letter-spacing: .06em; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-favorites-toolbar > button {
  width: 28px;
  height: 28px;
  color: var(--dc-cyan);
  border: 1px solid var(--dc-line2);
  background: transparent;
  cursor: pointer;
}
.g-desktop-favorites-tabs {
  min-height: 31px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid var(--dc-line2);
}
.g-desktop-favorites-tabs button {
  min-width: 0;
  color: var(--dc-muted);
  border: 0;
  border-right: 1px solid var(--dc-line);
  background: transparent;
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 6px;
  cursor: pointer;
}
.g-desktop-favorites-tabs button:last-child { border-right: 0; }
.g-desktop-favorites-tabs button.active { color: var(--dc-bg); background: var(--dc-cyan); }
.g-desktop-favorites-tabs b { margin-left: 5px; font-weight: 400; }
.g-desktop-favorite-conversation-workspace,
.g-desktop-favorite-note-workspace {
  min-height: 0;
  flex: 1;
  display: grid;
  overflow: hidden;
}
.g-desktop-favorite-conversation-workspace { grid-template-columns: minmax(160px, 29%) minmax(0, 1fr); }
.g-desktop-favorite-conversation-workspace > aside,
.g-desktop-favorite-conversation-workspace > div,
.g-desktop-favorite-note-workspace > .g-desktop-favorite-note-board,
.g-desktop-favorite-note-workspace > aside { min-height: 0; overflow: auto; }
.g-desktop-favorite-conversation-workspace > aside { border-right: 1px solid var(--dc-line2); background: rgba(28, 17, 50, .56); }
.g-desktop-favorite-conversation-row,
.g-desktop-favorite-note { position: relative; border-bottom: 1px solid var(--dc-line); }
.g-desktop-favorite-conversation-row.active { border-left: 2px solid var(--dc-cyan); background: rgba(103, 232, 249, .05); }
.g-desktop-favorite-select,
.g-desktop-favorite-note-select {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 10px 27px 10px 10px;
  color: inherit;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.g-desktop-favorite-select small,
.g-desktop-favorite-note-select small { color: var(--dc-cyan); font-size: 10px; }
.g-desktop-favorite-select strong,
.g-desktop-favorite-note-select strong { overflow: hidden; font-size: 13px; font-weight: 500; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-favorite-select p,
.g-desktop-favorite-note-select p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--dc-muted); font-size: 11px; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.g-desktop-favorite-delete {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 19px;
  height: 19px;
  color: var(--dc-dim);
  border: 0;
  background: transparent;
  cursor: pointer;
}
.g-desktop-favorite-delete:hover { color: var(--dc-pink); background: rgba(244, 114, 182, .08); }
.g-desktop-favorite-conversation-reader {
  width: min(760px, calc(100% - 34px));
  min-height: 100%;
  display: grid;
  align-content: center;
  gap: 17px;
  margin: 0 auto;
  padding: 34px 8px;
}
.g-desktop-favorite-conversation-reader header,
.g-desktop-favorite-note-reader header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--dc-line2); }
.g-desktop-favorite-conversation-reader header span,
.g-desktop-favorite-note-reader header span { color: var(--dc-cyan); font-size: 10px; }
.g-desktop-favorite-conversation-reader blockquote {
  margin: 0;
  padding: 20px 24px;
  color: var(--dc-ink);
  border-left: 2px solid var(--dc-accent);
  background: rgba(40, 24, 70, .5);
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: clamp(14px, 2.4cqw, 20px);
  line-height: 1.85;
}
.g-desktop-favorite-conversation-reader footer { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; color: var(--dc-accent2); font-size: 12px; }
.g-desktop-favorite-conversation-reader footer small { max-width: 68%; color: var(--dc-muted); font-size: 10px; text-align: right; }
.g-desktop-favorite-note-workspace { grid-template-columns: minmax(0, 1fr) minmax(220px, 34%); }
.g-desktop-favorite-note-board {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(145px, 1fr));
  align-content: start;
  gap: 10px;
  padding: 13px;
}
.g-desktop-favorite-note-workspace > aside { display: grid; align-items: center; padding: 17px; border-left: 1px solid var(--dc-line2); background: rgba(28, 17, 50, .56); }
.g-desktop-favorite-note {
  min-height: 142px;
  border: 1px solid var(--dc-line2);
  background: rgba(49, 31, 83, .74);
  box-shadow: 3px 3px 0 rgba(61, 36, 104, .62);
}
.g-desktop-favorite-note:nth-child(3n+2) { transform: translateY(4px); }
.g-desktop-favorite-note.active { border-color: var(--dc-cyan); box-shadow: 3px 3px 0 rgba(103, 232, 249, .2); }
.g-desktop-favorite-note-select { height: 100%; align-content: start; padding: 13px 25px 11px 12px; }
.g-desktop-favorite-note-select strong { margin-top: 3px; font-family: "Noto Serif SC", "Songti SC", serif; white-space: normal; }
.g-desktop-favorite-note-select p { -webkit-line-clamp: 4; }
.g-desktop-favorite-note-select span { align-self: end; color: var(--dc-accent2); font-family: "Noto Serif SC", "Songti SC", serif; font-size: 10px; text-align: right; }
.g-desktop-favorite-note-reader {
  width: 100%;
  min-height: 250px;
  display: grid;
  align-content: center;
  gap: 14px;
  padding: 22px;
  border: 1px solid var(--dc-line2);
  background: rgba(49, 31, 83, .72);
  box-shadow: 4px 4px 0 rgba(61, 36, 104, .62);
}
.g-desktop-favorite-note-reader > strong { color: var(--dc-ink); font-family: "Noto Serif SC", "Songti SC", serif; font-size: 16px; font-weight: 500; line-height: 1.45; }
.g-desktop-favorite-note-reader > p { margin: 0; color: var(--dc-ink); font-family: "Noto Serif SC", "Songti SC", serif; font-size: 13px; line-height: 1.8; }
.g-desktop-favorite-note-reader footer { color: var(--dc-accent2); font-family: "Noto Serif SC", "Songti SC", serif; font-size: 11px; text-align: right; }
.g-desktop-favorite-empty,
.g-desktop-favorites-loading { min-height: 100%; display: grid; place-content: center; justify-items: center; gap: 8px; color: var(--dc-muted); text-align: center; }
.g-desktop-favorite-empty p,
.g-desktop-favorites-loading p { margin: 0; font-size: 12px; }
.g-desktop-favorites-loading span { width: 9px; height: 9px; background: var(--dc-green); animation: desktop-note-breath 1.8s ease-in-out infinite; }
@container desktop-favorites-window (max-width: 620px) {
  .g-desktop-favorites-toolbar span { display: none; }
  .g-desktop-favorite-conversation-workspace { grid-template-columns: 145px minmax(0, 1fr); }
  .g-desktop-favorite-select { padding: 8px 24px 8px 8px; }
  .g-desktop-favorite-select strong { font-size: 11px; }
  .g-desktop-favorite-select p { font-size: 10px; }
  .g-desktop-favorite-conversation-reader { width: calc(100% - 20px); gap: 11px; padding: 18px 4px; }
  .g-desktop-favorite-conversation-reader blockquote { padding: 14px; font-size: 13px; line-height: 1.7; }
  .g-desktop-favorite-conversation-reader footer { display: grid; justify-content: end; }
  .g-desktop-favorite-conversation-reader footer small { max-width: 100%; }
  .g-desktop-favorite-note-workspace { grid-template-columns: minmax(0, 1fr); overflow: auto; }
  .g-desktop-favorite-note-workspace > .g-desktop-favorite-note-board { flex: none; max-height: 190px; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: auto; }
  .g-desktop-favorite-note-workspace > aside { min-height: 280px; overflow: visible; border-top: 1px solid var(--dc-line2); border-left: 0; }
  .g-desktop-favorite-note { min-height: 124px; }
  .g-desktop-favorite-note-reader { min-height: 230px; padding: 17px; }
}

/* Pending paper notes should remain a compact context cue inside PC Chat. */
.g-desktop-chat-app.is-real-chat .quote-preview-note {
  width: min(100%, 560px);
  margin: 3px auto 7px;
  padding: 0 24px 0 0;
}
.g-desktop-chat-app.is-real-chat .quote-note-card {
  width: 100%;
  max-width: none;
  padding: 25px 24px 14px;
  border: 1px solid var(--dc-line2);
  border-radius: 2px;
  background: rgba(48, 31, 82, .78);
  color: var(--dc-ink);
  box-shadow: 4px 4px 0 rgba(61, 36, 104, .72);
}
.g-desktop-chat-app.is-real-chat .quote-note-card::before {
  top: 7px;
  color: var(--dc-cyan);
  font-size: 18px;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 20;
}
.g-desktop-chat-app.is-real-chat .quote-note-card p {
  width: min(100%, 470px);
  margin: 0 auto;
  color: var(--dc-ink);
  font-size: 11px;
  line-height: 1.6;
}
.g-desktop-chat-app.is-real-chat .quote-preview-note > button {
  top: 1px;
  width: 22px;
  height: 22px;
  color: var(--dc-cyan);
  font-size: 17px;
}

/* Markdown emphasis is a semantic highlight in both Chat surfaces. */
.g-desktop-chat-app .ai-response-body strong,
.g-desktop-chat-app .user-response .ai-response-body strong,
.g-desktop-chat-app .ai-response-body b,
.g-desktop-chat-app .user-response .ai-response-body b,
.g-desktop-chat-app .ai-response-body q,
.g-desktop-chat-app .user-response .ai-response-body q,
.g-desktop-chat-app .moon-star-em {
  color: var(--dc-cyan) !important;
  -webkit-text-fill-color: var(--dc-cyan) !important;
}

@media (max-width: 1240px) {
  .g-desktop-daybook-controls { grid-template-columns: 1fr; gap: 7px; }
  .g-desktop-daybook-app.is-real-daybook .daybook-mode-switch { width: min(220px, 100%); margin: 0 auto; }
}

.g-desktop-segment { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 16px; border: 1px solid var(--dc-line2); }
.g-desktop-segment button { height: 34px; color: var(--dc-muted); border: 0; border-radius: 0; background: transparent; cursor: pointer; }
.g-desktop-segment button.active { color: var(--dc-bg); background: var(--dc-cyan); }
.g-desktop-calendar { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; padding-top: 12px; }
.g-desktop-calendar span { position: relative; min-height: 42px; padding: 7px; color: var(--dc-muted); border: 1px solid var(--dc-line); text-align: right; }
.g-desktop-calendar span.today { color: var(--dc-ink); border-color: var(--dc-pink); }
.g-desktop-calendar span i { position: absolute; left: 6px; bottom: 6px; width: 5px; height: 5px; background: var(--dc-cyan); }
.g-desktop-todos { display: grid; gap: 9px; }
.g-desktop-todos label { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--dc-line); background: rgba(34, 21, 64, .4); }
.g-desktop-todos input { accent-color: var(--dc-cyan); }
.g-desktop-todos small { color: var(--dc-cyan); font-size: 13px; }

.g-desktop-monitor-state { padding: 13px; border: 1px solid var(--dc-line); border-left: 3px solid var(--dc-green); background: rgba(34, 21, 64, .4); }
.g-desktop-monitor-state small { color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 7px; }
.g-desktop-monitor-state strong { display: block; margin: 8px 0 4px; font-size: 23px; font-weight: 400; }
.g-desktop-monitor-state p { margin: 0; color: var(--dc-muted); font-size: 16px; }
.g-desktop-monitor-log { margin-top: 14px; border-top: 1px solid var(--dc-line); }
.g-desktop-monitor-log p { display: grid; grid-template-columns: 76px 130px 1fr; gap: 10px; margin: 0; padding: 10px 4px; border-bottom: 1px solid rgba(61, 36, 104, .7); font-size: 16px; }
.g-desktop-monitor-log time { color: var(--dc-muted); }
.g-desktop-monitor-log b { color: var(--dc-ink); font-weight: 400; }
.g-desktop-monitor-log .cyan { color: var(--dc-cyan); }
.g-desktop-monitor-log .green { color: var(--dc-green); }
.g-desktop-monitor-log .pink { color: var(--dc-pink); }
.g-desktop-monitor-log .purple { color: var(--dc-accent); }

.g-desktop-settings-app > label { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 2px; border-bottom: 1px solid var(--dc-line); }
.g-desktop-settings-app label span { display: grid; gap: 3px; }
.g-desktop-settings-app label strong { font-size: 20px; font-weight: 400; }
.g-desktop-settings-app label small { color: var(--dc-muted); font-size: 15px; }
.g-desktop-settings-app input[type="range"] { width: 180px; accent-color: var(--dc-cyan); }
.g-desktop-toggle { width: 45px; height: 24px; padding: 3px; border: 1px solid var(--dc-line2); border-radius: 0; background: var(--dc-bg); cursor: pointer; }
.g-desktop-toggle i { display: block; width: 15px; height: 16px; background: var(--dc-dim); transition: transform .15s ease; }
.g-desktop-toggle.on i { background: var(--dc-cyan); transform: translateX(20px); }
.g-desktop-settings-actions { display: flex; gap: 9px; margin: 18px 0 12px; }
.g-desktop-settings-actions button { flex: 1; min-height: 38px; color: var(--dc-cyan); border: 1px solid var(--dc-line2); border-radius: 0; background: var(--dc-surf); cursor: pointer; }
.g-desktop-settings-actions button:hover { border-color: var(--dc-cyan); }
.g-desktop-settings-app > p { color: var(--dc-muted); font-size: 15px; }

.g-desktop-placeholder { display: grid; min-height: 100%; place-content: center; justify-items: center; text-align: center; }
.g-desktop-placeholder-icon { width: 62px; height: 62px; display: grid; place-items: center; margin-bottom: 16px; color: var(--dc-cyan); border: 1px solid var(--dc-line2); background: var(--dc-surf2); font-size: 34px; }
.g-desktop-placeholder-icon::before { width: 34px; height: 34px; }
.g-desktop-placeholder small { color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 7px; }
.g-desktop-placeholder strong { margin-top: 12px; color: var(--dc-ink); font-size: 30px; font-weight: 400; }
.g-desktop-placeholder p { margin: 7px 0; color: var(--dc-muted); }
.g-desktop-placeholder em { color: var(--dc-pink); font-size: 15px; font-style: normal; }

.g-desktop-launcher {
  position: absolute;
  left: 10px;
  bottom: 8px;
  z-index: 5500;
  width: min(940px, calc(100vw - 20px));
  max-height: min(720px, calc(100vh - 106px));
  padding: 0 12px 12px;
  overflow: auto;
  border: 1px solid var(--dc-accent);
  background: rgba(10, 6, 18, .97);
  box-shadow: 7px 7px 0 rgba(61, 36, 104, .68);
}
.g-desktop-launcher header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; min-height: 46px; padding: 8px 2px; color: var(--dc-cyan); border-bottom: 1px solid var(--dc-line); background: rgba(10, 6, 18, .98); }
.g-desktop-launcher header > span { display: flex; align-items: baseline; gap: 12px; }
.g-desktop-launcher header small { font-family: "Press Start 2P", "VT323", monospace; font-size: 8px; }
.g-desktop-launcher header em { color: var(--dc-dim); font-size: 13px; font-style: normal; letter-spacing: .08em; }
.g-desktop-launcher header button { width: 30px; height: 30px; color: var(--dc-muted); border: 0; background: transparent; cursor: pointer; }
.g-desktop-launcher header button:hover { color: var(--dc-pink); background: rgba(244, 114, 182, .08); }
.g-desktop-launcher-sections { display: grid; gap: 13px; padding-top: 11px; }
.g-desktop-launcher-section { display: grid; gap: 7px; }
.g-desktop-launcher-section-title { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 10px; min-height: 18px; }
.g-desktop-launcher-section-title strong { color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 6px; font-weight: 400; letter-spacing: .08em; }
.g-desktop-launcher-section-title span { color: var(--dc-dim); font-size: 12px; letter-spacing: .06em; }
.g-desktop-launcher-section-title i { height: 1px; background: var(--dc-line); }
.g-desktop-launcher-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.g-desktop-launcher-grid button { position: relative; min-width: 0; min-height: 64px; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 9px 10px; color: var(--dc-ink); border: 1px solid var(--dc-line); border-radius: 0; background: var(--dc-surf); text-align: left; cursor: pointer; }
.g-desktop-launcher-grid button:hover,
.g-desktop-launcher-grid button:focus-visible { border-color: var(--dc-cyan); background: var(--dc-surf2); outline: none; }
.g-desktop-launcher-icon { width: 28px; height: 28px; display: grid; place-items: center; color: var(--dc-cyan); font-size: 24px; text-align: center; }
.g-desktop-launcher-icon::before { width: 22px; height: 22px; }

/* BYGONE SEDIMENTS · real memory palace */
.g-desktop-window:has(.g-desktop-memory-app.is-real-memory) .g-desktop-window-body { overflow: hidden; }
.g-desktop-memory-app.is-real-memory {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  color: var(--dc-ink);
  background: rgba(10, 6, 18, .5);
  container-type: inline-size;
}
.g-desktop-memory-toolbar {
  min-height: 62px;
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(170px, 1fr) minmax(150px, 230px) 34px;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--dc-line2);
  background: rgba(13, 7, 24, .78);
}
.g-desktop-memory-toolbar > div { min-width: 0; display: grid; grid-template-columns: auto 1fr; align-items: end; gap: 2px 8px; }
.g-desktop-memory-toolbar > div small {
  grid-column: 1 / -1;
  color: var(--dc-cyan);
  font: 8px/1.2 "Press Start 2P", monospace;
  letter-spacing: .08em;
}
.g-desktop-memory-toolbar > div strong {
  overflow: hidden;
  color: var(--dc-ink);
  font: 14px/1.25 "Press Start 2P", monospace;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.g-desktop-memory-toolbar > div span {
  overflow: hidden;
  color: var(--dc-muted);
  font: 9px/1.2 "Space Mono", monospace;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.g-desktop-memory-toolbar form { height: 30px; display: grid; grid-template-columns: minmax(0, 1fr) 30px; border: 1px solid var(--dc-line); background: rgba(7, 4, 13, .56); }
.g-desktop-memory-toolbar input { min-width: 0; padding: 0 9px; color: var(--dc-ink); border: 0; outline: 0; background: transparent; font: 10px/1.2 "Space Mono", "PingFang SC", monospace; }
.g-desktop-memory-toolbar input::placeholder { color: var(--dc-dim); }
.g-desktop-memory-toolbar form button,
.g-desktop-memory-toolbar > button {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  padding: 0;
  color: var(--dc-cyan);
  border: 0;
  border-left: 1px solid var(--dc-line);
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}
.g-desktop-memory-toolbar > button { border: 1px solid var(--dc-line); }
.g-desktop-memory-toolbar form button:hover,
.g-desktop-memory-toolbar > button:hover { color: var(--dc-bg); background: var(--dc-cyan); }
.g-desktop-memory-workspace { min-height: 0; flex: 1 1 auto; position: relative; display: grid; grid-template-columns: 142px minmax(0, 1fr); overflow: hidden; }
.g-desktop-memory-rooms { min-height: 0; overflow: auto; padding: 12px 8px; border-right: 1px solid var(--dc-line); background: rgba(14, 8, 26, .6); }
.g-desktop-memory-rooms > header,
.g-desktop-memory-browser > header { height: 28px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 5px; color: var(--dc-cyan); border-bottom: 1px solid var(--dc-line); font: 8px/1.2 "Press Start 2P", monospace; }
.g-desktop-memory-rooms > header span,
.g-desktop-memory-browser > header span { color: var(--dc-muted); font-family: "Space Mono", monospace; }
.g-desktop-memory-rooms > button {
  width: 100%;
  min-height: 47px;
  display: grid;
  grid-template-columns: 7px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 7px 6px;
  color: var(--dc-muted);
  text-align: left;
  border: 0;
  border-bottom: 1px solid rgba(146, 92, 206, .16);
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}
.g-desktop-memory-rooms > button > i { width: 5px; height: 18px; background: var(--memory-room-color); opacity: .58; }
.g-desktop-memory-rooms > button > span { min-width: 0; display: grid; gap: 3px; }
.g-desktop-memory-rooms > button strong { overflow: hidden; color: inherit; font: 11px/1.25 "Space Mono", "PingFang SC", monospace; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-memory-rooms > button small { color: var(--dc-dim); font: 7px/1.2 "Space Mono", monospace; letter-spacing: .04em; }
.g-desktop-memory-rooms > button:hover { color: var(--dc-ink); background: rgba(103, 232, 249, .04); }
.g-desktop-memory-rooms > button.active { color: var(--dc-ink); background: color-mix(in srgb, var(--memory-room-color) 12%, transparent); box-shadow: inset 2px 0 var(--memory-room-color); }
.g-desktop-memory-rooms > button.active > i { opacity: 1; }
.g-desktop-memory-browser { min-width: 0; min-height: 0; display: flex; flex-direction: column; background: rgba(10, 6, 18, .28); }
.g-desktop-memory-browser > header { flex: 0 0 35px; height: 35px; padding: 0 10px; }
.g-desktop-memory-list-controls { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px; padding: 6px 8px; border-bottom: 1px solid var(--dc-line); background: rgba(7, 4, 13, .36); }
.g-desktop-memory-list-controls > span { display: flex; gap: 3px; }.g-desktop-memory-list-controls button { min-height: 22px; padding: 0 6px; color: var(--dc-dim); border: 1px solid transparent; border-radius: 0; background: transparent; font: 7px/1 "VT323", monospace; letter-spacing: .06em; cursor: pointer; }.g-desktop-memory-list-controls button:hover,.g-desktop-memory-list-controls button.active { color: var(--dc-cyan); border-color: var(--dc-line); background: rgba(103, 232, 249, .04); }
.g-desktop-memory-browser > div { min-height: 0; flex: 1 1 auto; overflow: auto; padding: 7px 8px 18px; }
.g-desktop-memory-list-item {
  width: 100%;
  min-height: 96px;
  display: grid;
  gap: 5px;
  padding: 10px 10px 9px 13px;
  color: var(--dc-muted);
  text-align: left;
  border: 0;
  border-bottom: 1px solid rgba(146, 92, 206, .2);
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
}
.g-desktop-memory-list-item::before { content: ""; position: absolute; inset: 9px auto 9px 0; width: 2px; background: var(--memory-room-color); opacity: .55; }
.g-desktop-memory-list-item:hover { background: rgba(103, 232, 249, .035); }
.g-desktop-memory-list-item.active { color: var(--dc-ink); background: color-mix(in srgb, var(--memory-room-color) 9%, transparent); }
.g-desktop-memory-list-item.active::before { opacity: 1; box-shadow: 0 0 8px var(--memory-room-color); }
.g-desktop-memory-list-meta,
.g-desktop-memory-list-foot { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.g-desktop-memory-list-meta b { color: var(--dc-cyan); font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-memory-list-meta time { color: var(--dc-dim); font: 8px/1.2 "Space Mono", monospace; }
.g-desktop-memory-list-item > strong { overflow: hidden; color: var(--dc-ink); font: 12px/1.35 "Space Mono", "PingFang SC", monospace; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-memory-list-item > p { margin: 0; overflow: hidden; color: var(--dc-muted); font: 10px/1.55 "Space Mono", "PingFang SC", monospace; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.g-desktop-memory-list-foot i { overflow: hidden; color: var(--memory-room-color); font: normal 8px/1.2 "Space Mono", "PingFang SC", monospace; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-memory-list-foot em { color: var(--dc-dim); font: normal 7px/1.2 "Space Mono", monospace; white-space: nowrap; }
.g-desktop-memory-more { width: calc(100% - 12px); height: 32px; margin: 12px 6px 0; color: var(--dc-cyan); border: 1px solid var(--dc-line); border-radius: 0; background: transparent; font: 8px/1 "Press Start 2P", monospace; cursor: pointer; }
.g-desktop-memory-more:hover { color: var(--dc-bg); background: var(--dc-cyan); }
.g-desktop-memory-loading,
.g-desktop-memory-empty-copy { min-height: 130px; display: grid; place-content: center; justify-items: center; gap: 12px; padding: 20px; color: var(--dc-muted); text-align: center; font: 10px/1.6 "Space Mono", "PingFang SC", monospace; }
.g-desktop-memory-loading span { width: 7px; height: 7px; background: var(--dc-cyan); box-shadow: 12px 0 var(--dc-accent), 24px 0 var(--dc-pink); animation: desktopMemoryLoading 1s steps(3, end) infinite; }
@keyframes desktopMemoryLoading { 50% { opacity: .3; } }
.g-desktop-memory-detail {
  position: absolute;
  inset: 0;
  z-index: 3;
  overflow: auto;
  background: rgba(9, 5, 16, .98);
  transform: translateX(101%);
  transition: transform 160ms steps(4, end);
}
.g-desktop-memory-app.is-detail-open .g-desktop-memory-detail { transform: translateX(0); }
.g-desktop-memory-reader { min-height: 100%; padding: 24px clamp(24px, 5cqi, 54px) 34px; color: var(--dc-ink); }
.g-desktop-memory-reader-back { margin: 0 0 18px; padding: 0; color: var(--dc-cyan); border: 0; background: transparent; font: 8px/1.3 "Press Start 2P", monospace; cursor: pointer; }
.g-desktop-memory-reader > header { padding: 0 0 20px; border-bottom: 1px solid var(--dc-line2); box-shadow: inset 3px 0 var(--memory-room-color); }
.g-desktop-memory-reader > header > div { display: flex; justify-content: space-between; gap: 12px; padding-left: 14px; color: var(--dc-cyan); font: 8px/1.25 "Press Start 2P", monospace; }
.g-desktop-memory-reader > header > div span { color: var(--dc-dim); font-family: "Space Mono", monospace; }
.g-desktop-memory-reader h2 { margin: 14px 0 10px; padding-left: 14px; color: var(--dc-ink); font: 500 clamp(18px, 3.2cqi, 29px)/1.36 "Noto Serif SC", "Songti SC", serif; letter-spacing: .02em; }
.g-desktop-memory-reader > header > p { margin: 0; padding-left: 14px; display: flex; flex-wrap: wrap; gap: 7px 14px; color: var(--dc-muted); font: 9px/1.4 "Space Mono", "PingFang SC", monospace; }
.g-desktop-memory-reader > header > p b { color: var(--memory-room-color); font-weight: 500; }
.g-desktop-memory-letter { max-width: 780px; padding: 22px 14px 8px; }
.g-desktop-memory-letter p { margin: 0 0 1.1em; color: var(--dc-ink); font: 400 13px/1.92 "Noto Serif SC", "Songti SC", serif; letter-spacing: .025em; }
.g-desktop-memory-interpretation { max-width: 780px; margin: 8px 14px 22px; padding: 12px 14px; border-left: 2px solid var(--dc-cyan); background: rgba(103, 232, 249, .035); }
.g-desktop-memory-interpretation small,
.g-desktop-memory-index-sources > header small { color: var(--dc-cyan); font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-memory-interpretation p { margin: 7px 0 0; color: var(--dc-muted); font: 10px/1.65 "Space Mono", "PingFang SC", monospace; }
.g-desktop-memory-edit-panel { max-width: 780px; margin: 8px 14px 22px; padding: 12px 14px; border: 1px solid var(--dc-line); border-left: 2px solid var(--memory-room-color); background: rgba(10, 6, 18, .34); }.g-desktop-memory-edit-panel > header { display: flex; justify-content: space-between; gap: 10px; color: var(--dc-cyan); font: 7px/1.2 "Press Start 2P", monospace; }.g-desktop-memory-edit-panel > header span { color: var(--dc-dim); font: 8px/1.2 "Space Mono", "PingFang SC", monospace; }.g-desktop-memory-status-actions,.g-desktop-memory-edit-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }.g-desktop-memory-edit-panel button { min-height: 28px; padding: 0 9px; color: var(--dc-muted); border: 1px solid var(--dc-line); border-radius: 0; background: rgba(28, 16, 49, .42); font: 8px/1 "Press Start 2P", monospace; cursor: pointer; }.g-desktop-memory-edit-panel button:hover,.g-desktop-memory-edit-panel button.active { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); }.g-desktop-memory-edit-panel button.danger { color: var(--dc-pink); }.g-desktop-memory-edit-panel > p { margin: 10px 0 0; color: var(--dc-dim); font: 8px/1.5 "Space Mono", "PingFang SC", monospace; }
.g-desktop-memory-index-sources { max-width: 780px; margin: 12px 14px 24px; border-top: 1px solid var(--dc-line2); }
.g-desktop-memory-index-sources > header { display: flex; align-items: center; justify-content: space-between; padding: 13px 0 8px; }
.g-desktop-memory-index-sources > header span { color: var(--dc-dim); font: 8px/1.2 "Space Mono", monospace; }
.g-desktop-memory-index-note { margin: 0 0 9px; color: var(--dc-muted); font: 9px/1.5 "Space Mono", "PingFang SC", monospace; }
.g-desktop-memory-index-sources > div { display: grid; gap: 7px; }
.g-desktop-memory-index-sources button { min-height: 58px; display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 3px 9px; padding: 9px 10px; color: var(--dc-muted); text-align: left; border: 1px solid var(--dc-line); border-left: 2px solid var(--memory-room-color); border-radius: 0; background: rgba(28, 16, 49, .38); cursor: pointer; }
.g-desktop-memory-index-sources button:hover { border-color: var(--dc-cyan); background: rgba(103, 232, 249, .05); }
.g-desktop-memory-index-sources button > span { grid-row: 1 / 3; color: var(--dc-cyan); font: 8px/1.2 "Press Start 2P", monospace; }
.g-desktop-memory-index-sources button strong { color: var(--dc-ink); font: 10px/1.45 "Space Mono", "PingFang SC", monospace; }
.g-desktop-memory-index-sources button small { color: var(--dc-dim); font: 8px/1.35 "Space Mono", "PingFang SC", monospace; }
.g-desktop-memory-reader > footer { max-width: 780px; margin: 0 14px; padding-top: 16px; border-top: 1px solid var(--dc-line2); }
.g-desktop-memory-reader > footer > div { display: flex; flex-wrap: wrap; gap: 6px; }
.g-desktop-memory-reader > footer > div span { padding: 4px 7px; color: var(--dc-cyan); border: 1px solid var(--dc-line); font: 8px/1.2 "Space Mono", "PingFang SC", monospace; }
.g-desktop-memory-reader > footer > p { margin: 14px 0 0; color: var(--dc-muted); font: 8px/1.5 "Space Mono", "PingFang SC", monospace; }
.g-desktop-memory-reader > footer > p small { margin-right: 8px; color: var(--dc-cyan); font-family: "Press Start 2P", monospace; }
.g-desktop-memory-empty { min-height: 100%; display: grid; place-content: center; justify-items: center; gap: 9px; padding: 30px; color: var(--dc-muted); text-align: center; }
.g-desktop-memory-empty small { color: var(--dc-cyan); font: 8px/1.2 "Press Start 2P", monospace; }
.g-desktop-memory-empty strong { color: var(--dc-ink); font: 18px/1.4 "Noto Serif SC", serif; }
.g-desktop-memory-empty p { max-width: 340px; margin: 0; font: 10px/1.6 "Space Mono", "PingFang SC", monospace; }
.g-desktop-memory-room-overview { min-height: 100%; max-width: 860px; padding: 24px clamp(20px, 4cqi, 48px) 34px; color: var(--dc-ink); }
.g-desktop-memory-room-hero { padding: 0 0 18px 14px; border-bottom: 1px solid var(--dc-line2); box-shadow: inset 3px 0 var(--memory-room-color); }
.g-desktop-memory-room-hero > div { display: flex; justify-content: space-between; gap: 12px; color: var(--dc-cyan); font: 8px/1.2 "Press Start 2P", monospace; }
.g-desktop-memory-room-hero > div span { color: var(--dc-dim); font-family: "Space Mono", monospace; }
.g-desktop-memory-room-hero h2 { margin: 13px 0 6px; color: var(--dc-ink); font: 500 clamp(20px, 3cqi, 30px)/1.35 "Noto Serif SC", "Songti SC", serif; }
.g-desktop-memory-room-hero p { margin: 0; color: var(--dc-muted); font: 10px/1.6 "Space Mono", "PingFang SC", monospace; }
.g-desktop-memory-room-counts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 15px 0; border: 1px solid var(--dc-line); }
.g-desktop-memory-room-counts > span { min-width: 0; display: grid; gap: 4px; padding: 11px 12px; border-right: 1px solid var(--dc-line); }
.g-desktop-memory-room-counts > span:last-child { border-right: 0; }
.g-desktop-memory-room-counts b { color: var(--dc-ink); font: 18px/1 "VT323", monospace; }
.g-desktop-memory-room-counts small { color: var(--dc-dim); font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-memory-room-counts .is-active b { color: #80f0b0; }.g-desktop-memory-room-counts .is-pending b { color: var(--dc-pink); }
.g-desktop-memory-room-summary { margin-top: 15px; padding: 14px; border: 1px solid var(--dc-line); border-left: 2px solid var(--memory-room-color); background: rgba(22, 12, 39, .34); }
.g-desktop-memory-room-summary.is-stale { border-top-color: var(--dc-pink); }
.g-desktop-memory-room-summary > header,.g-desktop-memory-operations > header { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.g-desktop-memory-room-summary > header div { display: grid; gap: 5px; }.g-desktop-memory-room-summary > header small,.g-desktop-memory-operations > header small { color: var(--dc-cyan); font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-memory-room-summary > header strong { color: var(--dc-ink); font: 11px/1.35 "Space Mono", "PingFang SC", monospace; }.g-desktop-memory-room-summary > header > span { color: var(--dc-pink); font: 7px/1.2 "Space Mono", monospace; }
.g-desktop-memory-room-summary > p { margin: 14px 0 0; color: var(--dc-muted); font: 11px/1.7 "Noto Serif SC", serif; }
.g-desktop-memory-room-summary textarea { box-sizing: border-box; width: 100%; min-height: 96px; margin-top: 12px; padding: 11px 12px; resize: vertical; color: var(--dc-ink); border: 1px solid var(--dc-line2); outline: 0; background: rgba(7, 4, 13, .55); font: 12px/1.72 "Noto Serif SC", "Songti SC", serif; }
.g-desktop-memory-room-summary textarea:focus { border-color: var(--dc-cyan); }
.g-desktop-memory-room-actions { display: flex; justify-content: flex-end; gap: 7px; margin-top: 8px; }
.g-desktop-memory-room-actions button,.g-desktop-memory-operations button { min-height: 28px; padding: 0 9px; color: var(--dc-cyan); border: 1px solid var(--dc-line); border-radius: 0; background: rgba(28, 16, 49, .45); box-shadow: 2px 2px 0 rgba(92, 45, 140, .45); font: 8px/1 "Press Start 2P", monospace; cursor: pointer; }
.g-desktop-memory-room-actions button:hover,.g-desktop-memory-operations button:hover { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); }.g-desktop-memory-room-actions button:disabled,.g-desktop-memory-operations button:disabled { opacity: .45; cursor: default; }
.g-desktop-memory-operations { margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--dc-line2); }.g-desktop-memory-operations > header span { color: var(--dc-dim); font: 8px/1.3 "Space Mono", "PingFang SC", monospace; }
.g-desktop-memory-operations > div { display: grid; gap: 7px; margin-top: 9px; }.g-desktop-memory-operations article { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px; border: 1px solid var(--dc-line); background: rgba(10, 6, 18, .3); }
.g-desktop-memory-operations article > span:first-child { min-width: 0; display: grid; gap: 4px; }.g-desktop-memory-operations article b { color: var(--dc-ink); font: 8px/1.2 "Press Start 2P", monospace; }.g-desktop-memory-operations article small { color: var(--dc-dim); font: 8px/1.3 "Space Mono", monospace; }.g-desktop-memory-operation-buttons { display: flex; gap: 6px; }
.g-desktop-memory-sweep-actions { align-items: end; flex-wrap: wrap; justify-content: flex-end; }
.g-desktop-memory-sweep-actions label { display: grid; gap: 3px; color: var(--dc-dim); font: 7px/1.1 "Space Mono", monospace; }
.g-desktop-memory-sweep-actions label small { font-size: 6px; }
.g-desktop-memory-sweep-actions input { box-sizing: border-box; width: 64px; height: 28px; padding: 0 7px; color: var(--dc-ink); border: 1px solid var(--dc-line); outline: 0; background: rgba(7, 4, 13, .65); font: 11px/1 "Space Mono", monospace; }
.g-desktop-memory-sweep-actions input:focus { border-color: var(--dc-cyan); }
.g-desktop-memory-room-overview > footer { margin-top: 17px; color: var(--dc-dim); font: 8px/1.5 "Space Mono", "PingFang SC", monospace; }

.g-desktop-memory-index-page { overflow: hidden; }
.g-desktop-memory-index-toolbar {
  min-height: 66px;
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--dc-line2);
  background: rgba(13, 7, 24, .84);
}
.g-desktop-memory-index-toolbar > button,
.g-desktop-memory-index-archive button {
  min-height: 30px;
  padding: 0 10px;
  color: var(--dc-cyan);
  border: 1px solid var(--dc-line);
  border-radius: 0;
  background: rgba(28, 16, 49, .42);
  font: 7px/1 "Press Start 2P", monospace;
  cursor: pointer;
}
.g-desktop-memory-index-toolbar > button:hover,
.g-desktop-memory-index-archive button:hover:not(:disabled) { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); }
.g-desktop-memory-index-toolbar > div { min-width: 0; display: grid; grid-template-columns: auto 1fr; align-items: end; gap: 3px 10px; }
.g-desktop-memory-index-toolbar small { grid-column: 1 / -1; color: var(--dc-cyan); font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-memory-index-toolbar strong { overflow: hidden; color: var(--dc-ink); font: 14px/1.2 "Press Start 2P", monospace; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-memory-index-toolbar span { overflow: hidden; color: var(--dc-dim); font: 8px/1.2 "Space Mono", monospace; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-memory-index-archive { min-height: 0; flex: 1 1 auto; display: grid; grid-template-columns: minmax(210px, 1fr) auto; grid-template-rows: auto minmax(0, 1fr); gap: 10px 14px; overflow: auto; padding: 14px 16px 24px; }
.g-desktop-memory-index-archive > form { height: 32px; display: grid; grid-template-columns: minmax(0, 1fr) auto; border: 1px solid var(--dc-line); background: rgba(7, 4, 13, .56); }
.g-desktop-memory-index-archive > form input { min-width: 0; padding: 0 10px; color: var(--dc-ink); border: 0; outline: 0; background: transparent; font: 10px/1.2 "Space Mono", "PingFang SC", monospace; }
.g-desktop-memory-index-archive > form button { border-width: 0 0 0 1px; }
.g-desktop-memory-index-pager { display: flex; align-items: center; gap: 8px; }
.g-desktop-memory-index-pager span { color: var(--dc-dim); font: 8px/1.2 "Space Mono", monospace; }
.g-desktop-memory-index-pager button:disabled { opacity: .36; cursor: default; }
.g-desktop-memory-index-grid { grid-column: 1 / -1; align-content: start; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.g-desktop-memory-index-grid > button { min-width: 0; min-height: 142px; display: grid; align-content: start; gap: 8px; padding: 13px 14px; color: var(--dc-muted); text-align: left; border-left: 3px solid var(--dc-accent); }
.g-desktop-memory-index-grid > button:hover { color: var(--dc-ink); }
.g-desktop-memory-index-grid > button > span { display: flex; justify-content: space-between; gap: 8px; color: var(--dc-cyan); }
.g-desktop-memory-index-grid b { font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-memory-index-grid time { color: var(--dc-dim); font: 8px/1.2 "Space Mono", monospace; }
.g-desktop-memory-index-grid strong { overflow: hidden; color: var(--dc-ink); font: 12px/1.55 "Noto Serif SC", "Songti SC", serif; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.g-desktop-memory-index-grid p { margin: 0; overflow: hidden; color: var(--dc-muted); font: 9px/1.5 "Space Mono", "PingFang SC", monospace; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.g-desktop-memory-index-grid small { color: var(--dc-dim); font: 8px/1.3 "Space Mono", "PingFang SC", monospace; }
.g-desktop-memory-index-reader { min-height: 0; flex: 1 1 auto; overflow: auto; }
.g-desktop-memory-index-reader .g-desktop-memory-reader { max-width: 1040px; margin: 0 auto; }

@container (min-width: 900px) {
  .g-desktop-memory-workspace { grid-template-columns: 150px 300px minmax(0, 1fr); }
  .g-desktop-memory-detail { position: relative; inset: auto; z-index: auto; transform: none; border-left: 1px solid var(--dc-line); background: rgba(9, 5, 16, .46); }
  .g-desktop-memory-reader { padding-top: 26px; }
}
@container (max-width: 540px) {
  .g-desktop-memory-toolbar { grid-template-columns: minmax(0, 1fr) 34px; }
  .g-desktop-memory-toolbar form { display: none; }
  .g-desktop-memory-toolbar > div span { display: none; }
  .g-desktop-memory-workspace { display: flex; flex-direction: column; }
  .g-desktop-memory-rooms { min-height: auto; flex: 0 0 auto; display: flex; gap: 5px; overflow-x: auto; padding: 7px; border-right: 0; border-bottom: 1px solid var(--dc-line); }
  .g-desktop-memory-rooms > header { display: none; }
  .g-desktop-memory-rooms > button { min-width: 98px; width: auto; min-height: 38px; border: 1px solid var(--dc-line); }
  .g-desktop-memory-rooms > button small { display: none; }
  .g-desktop-memory-browser { min-height: 0; flex: 1 1 auto; }
  .g-desktop-memory-reader { padding: 20px 18px 30px; }
  .g-desktop-memory-room-overview { padding: 20px 16px 28px; }
  .g-desktop-memory-room-counts small { font-size: 6px; }
  .g-desktop-memory-letter p { font-size: 12px; }
  .g-desktop-memory-index-toolbar { grid-template-columns: 1fr; gap: 8px; }
  .g-desktop-memory-index-toolbar > button { justify-self: start; }
  .g-desktop-memory-index-archive { grid-template-columns: 1fr; }
  .g-desktop-memory-index-pager { justify-content: space-between; }
  .g-desktop-memory-index-grid { grid-column: 1; grid-template-columns: 1fr; }
}
.g-desktop-window:has(.g-desktop-gaze-app.is-real-gaze) .g-desktop-window-body { overflow: hidden; }
.g-desktop-gaze-app { --gaze-cyan: #67e8f9; container: desktop-gaze-window / inline-size; min-width: 0; min-height: 0; height: 100%; display: flex; flex-direction: column; color: var(--dc-ink); background: radial-gradient(circle at 26% 26%, rgba(168, 85, 247, .1), transparent 34%), rgba(7, 4, 13, .54); }
.g-desktop-gaze-toolbar { min-height: 68px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 300px) 32px; align-items: center; gap: 10px; padding: 10px 15px; border-bottom: 1px solid var(--dc-line); }.g-desktop-gaze-toolbar > div { min-width: 0; display: grid; grid-template-columns: auto 1fr; align-items: end; gap: 3px 8px; }.g-desktop-gaze-toolbar small { color: var(--dc-cyan); font: 7px/1.2 "Press Start 2P", monospace; }.g-desktop-gaze-toolbar strong { grid-row: 2; color: var(--dc-ink); font: 15px/1.2 "Press Start 2P", monospace; }.g-desktop-gaze-toolbar > div span { grid-row: 2; overflow: hidden; color: var(--dc-dim); font: 8px/1.2 "Space Mono", monospace; text-overflow: ellipsis; white-space: nowrap; }.g-desktop-gaze-toolbar form { height: 29px; display: grid; grid-template-columns: minmax(0, 1fr) 30px; border: 1px solid var(--dc-line); }.g-desktop-gaze-toolbar input { min-width: 0; padding: 0 8px; color: var(--dc-ink); border: 0; outline: 0; background: transparent; font: 10px/1.2 "Space Mono", "PingFang SC", monospace; }.g-desktop-gaze-toolbar button,.g-desktop-gaze-switches button,.g-desktop-gaze-zoom button { color: var(--dc-cyan); border: 1px solid var(--dc-line); border-radius: 0; background: rgba(28, 16, 49, .38); font: 8px/1 "VT323", monospace; cursor: pointer; }.g-desktop-gaze-toolbar > button { width: 32px; height: 30px; }
.g-desktop-gaze-switches { min-height: 33px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 5px 12px; border-bottom: 1px solid var(--dc-line); background: rgba(10, 6, 18, .4); }.g-desktop-gaze-switches > span { display: flex; gap: 4px; }.g-desktop-gaze-switches button { min-height: 22px; padding: 0 7px; color: var(--dc-dim); }.g-desktop-gaze-switches button.active,.g-desktop-gaze-switches button:hover { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); }
.g-desktop-gaze-workspace { min-height: 0; flex: 1 1 auto; position: relative; display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; }.g-desktop-gaze-stage { min-width: 0; min-height: 0; position: relative; overflow: hidden; border: 0; border-radius: 0; background: radial-gradient(circle at center, rgba(103, 232, 249, .05), transparent 36%), rgba(7, 4, 13, .28); }.g-desktop-gaze-app.memory-palace-v3 .interest-drawer-constellation { position: absolute; inset: 0; min-height: 0; height: auto; }.g-desktop-gaze-app.memory-palace-v3 .interest-drawer-constellation-layer { width: 900px; height: 720px; }.g-desktop-gaze-app.memory-palace-v3 .interest-drawer-node-label { max-width: 160px; font-size: 10px; }.g-desktop-gaze-zoom { position: absolute; right: 10px; bottom: 10px; z-index: 4; display: flex; gap: 4px; }.g-desktop-gaze-zoom button { min-height: 25px; padding: 0 8px; }
.g-desktop-gaze-app.memory-palace-v3 .interest-drawer-cloud { min-height: 100%; height: 100%; padding: 0; border: 0; background: transparent; }.g-desktop-gaze-app.memory-palace-v3 .interest-drawer-cloud-field { min-height: calc(100% - 48px); height: calc(100% - 48px); }.g-desktop-gaze-app.memory-palace-v3 .interest-drawer-cloud-caption { min-height: 48px; padding: 8px 16px; }.g-desktop-gaze-app.memory-palace-v3 .interest-drawer-hidden-panel { height: 100%; margin: 0; padding: 18px; overflow: auto; border: 0; border-radius: 0; background: transparent; }
body[data-app-theme] .g-desktop-gaze-app.memory-palace-v3 .g-desktop-gaze-stage.cloud-mode .interest-drawer-cloud { position: absolute !important; inset: 0 !important; box-sizing: border-box !important; min-height: 0 !important; height: 100% !important; padding: 18px 14px 48px !important; border: 0 !important; background: transparent !important; }.g-desktop-gaze-app.memory-palace-v3 .g-desktop-gaze-stage.cloud-mode .interest-drawer-cloud-field { position: relative !important; box-sizing: border-box !important; min-height: 0 !important; height: 100% !important; margin: 0 !important; }.g-desktop-gaze-app.memory-palace-v3 .g-desktop-gaze-stage.cloud-mode .interest-drawer-cloud-caption { right: 14px; bottom: 12px; left: 14px; min-height: 0; padding: 0; }
.g-desktop-gaze-reader { position: absolute; inset: 0; z-index: 8; overflow: auto; transform: translateX(101%); border-left: 1px solid var(--dc-line); background: rgba(9, 5, 16, .97); transition: transform .16s steps(3, end); }.g-desktop-gaze-app.is-detail-open .g-desktop-gaze-reader { transform: translateX(0); }.g-desktop-gaze-overview,.g-desktop-gaze-detail { min-height: 100%; padding: 24px clamp(18px, 4cqi, 38px) 34px; }.g-desktop-gaze-overview > small,.g-desktop-gaze-detail small { color: var(--dc-cyan); font: 7px/1.2 "Press Start 2P", monospace; }.g-desktop-gaze-overview h2,.g-desktop-gaze-detail h2 { margin: 12px 0 9px; color: var(--dc-ink); font: 500 clamp(20px, 3cqi, 30px)/1.38 "Noto Serif SC", "Songti SC", serif; }.g-desktop-gaze-overview > p,.g-desktop-gaze-detail p { color: var(--dc-muted); font: 11px/1.72 "Space Mono", "PingFang SC", monospace; }.g-desktop-gaze-overview > div { display: grid; gap: 7px; margin-top: 18px; }.g-desktop-gaze-overview > div button,.g-desktop-gaze-related button { display: grid; gap: 4px; padding: 10px; color: var(--dc-ink); text-align: left; border: 1px solid var(--dc-line); border-radius: 0; background: rgba(28, 16, 49, .3); cursor: pointer; }.g-desktop-gaze-overview > div button:hover,.g-desktop-gaze-related button:hover { border-color: var(--dc-cyan); }.g-desktop-gaze-overview button strong { font: 10px/1.4 "Space Mono", "PingFang SC", monospace; }.g-desktop-gaze-overview button small { color: var(--dc-dim); font: 8px/1.3 "Space Mono", monospace; }
.g-desktop-gaze-back { margin-bottom: 13px; padding: 0; color: var(--dc-cyan); border: 0; background: transparent; font: 8px/1.2 "Press Start 2P", monospace; cursor: pointer; }.g-desktop-gaze-detail > header { padding: 0 0 16px 13px; border-bottom: 1px solid var(--dc-line2); box-shadow: inset 3px 0 var(--dc-cyan); }.g-desktop-gaze-detail > header p { margin: 0; color: var(--dc-dim); }.g-desktop-gaze-detail > section { margin-top: 13px; padding: 12px; border: 1px solid var(--dc-line); background: rgba(22, 12, 39, .28); }.g-desktop-gaze-detail > section > p { margin: 7px 0 0; }.g-desktop-gaze-state strong { color: var(--dc-ink); font: 11px/1.45 "Space Mono", "PingFang SC", monospace; }.g-desktop-gaze-state > div { display: flex; justify-content: space-between; gap: 12px; padding-top: 7px; color: var(--dc-dim); border-top: 1px solid var(--dc-line); font: 8px/1.3 "Space Mono", "PingFang SC", monospace; }.g-desktop-gaze-state > div b { color: var(--dc-muted); font-weight: 400; text-align: right; }.g-desktop-gaze-seeds article { margin-top: 8px; padding: 9px; border-left: 2px solid var(--dc-pink); }.g-desktop-gaze-seeds article strong { font: 10px/1.45 "Space Mono", "PingFang SC", monospace; }.g-desktop-gaze-seeds article div { display: flex; gap: 6px; }.g-desktop-gaze-seeds button,.g-desktop-gaze-detail footer button,.g-desktop-gaze-detail footer a { min-height: 26px; display: inline-grid; place-items: center; padding: 0 8px; color: var(--dc-cyan); border: 1px solid var(--dc-line); border-radius: 0; background: rgba(28, 16, 49, .38); font: 8px/1 "VT323", monospace; text-decoration: none; cursor: pointer; }.g-desktop-gaze-related { display: grid; gap: 6px; }.g-desktop-gaze-related button b { font: 10px/1.4 "Space Mono", "PingFang SC", monospace; }.g-desktop-gaze-related button span { color: var(--dc-dim); font: 8px/1.3 "Space Mono", monospace; }.g-desktop-gaze-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 13px; }.g-desktop-gaze-tags span { padding: 4px 6px; color: var(--dc-cyan); border: 1px solid var(--dc-line); font: 8px/1.2 "Space Mono", "PingFang SC", monospace; }.g-desktop-gaze-detail > footer { display: flex; justify-content: flex-end; gap: 6px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--dc-line); }
@container desktop-gaze-window (min-width: 900px) { .g-desktop-gaze-workspace { grid-template-columns: minmax(430px, 1.45fr) minmax(330px, .85fr); }.g-desktop-gaze-reader { position: relative; inset: auto; z-index: auto; transform: none; background: rgba(9, 5, 16, .58); }.g-desktop-gaze-back { display: none; } }
@container desktop-gaze-window (max-width: 580px) { .g-desktop-gaze-toolbar { grid-template-columns: minmax(0, 1fr) 32px; }.g-desktop-gaze-toolbar form,.g-desktop-gaze-toolbar > div span { display: none; }.g-desktop-gaze-switches { align-items: stretch; flex-direction: column; }.g-desktop-gaze-switches > span { overflow-x: auto; }.g-desktop-gaze-switches button { white-space: nowrap; }.g-desktop-gaze-app.memory-palace-v3 .interest-drawer-node-label { max-width: 110px; font-size: 8px; } }
.g-desktop-gaze-switches { min-width: 0; overflow: hidden; }.g-desktop-gaze-switches > span { min-width: 0; overflow-x: auto; }.g-desktop-gaze-switches button { white-space: nowrap; }
.g-desktop-gaze-workspace { min-width: 0; }.g-desktop-gaze-stage { min-width: 0 !important; width: auto !important; max-width: none !important; height: auto !important; }.g-desktop-gaze-reader { min-width: 0; }.g-desktop-gaze-app.memory-palace-v3 .interest-drawer-constellation { width: auto; max-width: none; }.g-desktop-gaze-app.memory-palace-v3 .interest-drawer-constellation-layer { width: 1400px; height: 1000px; }
body[data-app-theme] .g-desktop-gaze-app.memory-palace-v3 .g-desktop-gaze-stage,body[data-app-theme] .g-desktop-gaze-app.memory-palace-v3 .g-desktop-gaze-stage.cloud-mode { color: var(--dc-ink) !important; border: 0 !important; background: radial-gradient(circle at center, rgba(103, 232, 249, .055), transparent 38%), rgba(7, 4, 13, .72) !important; box-shadow: none !important; }.g-desktop-gaze-app.memory-palace-v3 .interest-drawer-cluster-anchor strong { color: var(--dc-muted); background: rgba(10, 6, 18, .76); }.g-desktop-gaze-app.memory-palace-v3 .interest-drawer-cluster-anchor small { color: var(--dc-dim); }
@container desktop-gaze-window (min-width: 900px) { .g-desktop-gaze-workspace { grid-template-columns: minmax(0, 1.45fr) minmax(300px, .85fr); } }

/* Fragments Gleaming / real Thought Pool */
.g-desktop-window:has(.g-desktop-thought-app.is-real-thought) .g-desktop-window-body { overflow: hidden; }
.g-desktop-thought-app { container: desktop-thought-window / inline-size; min-width: 0; min-height: 0; height: 100%; display: flex; flex-direction: column; color: var(--dc-ink); background: radial-gradient(circle at 18% 18%, rgba(192, 132, 252, .12), transparent 30%), linear-gradient(180deg, rgba(10, 6, 18, .9), rgba(5, 3, 10, .98)); }
.g-desktop-thought-toolbar { min-height: 68px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 280px) 32px; align-items: center; gap: 10px; padding: 10px 15px; border-bottom: 1px solid var(--dc-line); }
.g-desktop-thought-toolbar > div { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: end; gap: 3px 8px; }
.g-desktop-thought-toolbar small { color: var(--dc-cyan); font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-thought-toolbar strong { grid-row: 2; color: var(--dc-ink); font: 14px/1.2 "Press Start 2P", monospace; }
.g-desktop-thought-toolbar > div span { grid-row: 2; overflow: hidden; color: var(--dc-dim); font: 8px/1.2 "Space Mono", monospace; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-thought-toolbar form { height: 29px; display: grid; grid-template-columns: minmax(0, 1fr) 30px; border: 1px solid var(--dc-line); background: rgba(16, 9, 28, .5); }
.g-desktop-thought-toolbar form.has-query { grid-template-columns: minmax(0, 1fr) 28px 30px; }
.g-desktop-thought-toolbar input { min-width: 0; padding: 0 8px; color: var(--dc-ink); border: 0; outline: 0; background: transparent; font: 10px/1.2 "Space Mono", "PingFang SC", monospace; }
.g-desktop-thought-toolbar button,.g-desktop-thought-filters button,.g-desktop-thought-more,.g-desktop-thought-bottom,.g-desktop-thought-detail button { color: var(--dc-cyan); border: 1px solid var(--dc-line); border-radius: 0; background: rgba(28, 16, 49, .42); font: 8px/1 "VT323", "PingFang SC", monospace; cursor: pointer; }
.g-desktop-thought-toolbar > button { width: 32px; height: 30px; }
.g-desktop-thought-toolbar form button { border-width: 0 0 0 1px; }
.g-desktop-thought-toolbar form [data-desktop-thought-search-clear] { color: var(--dc-pink); }
.g-desktop-thought-filters { min-height: 36px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--dc-line); background: rgba(9, 5, 16, .72); }
.g-desktop-thought-filters button { min-width: 0; min-height: 35px; display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--dc-dim); border-width: 0 1px 0 0; background: transparent; font-family: "Press Start 2P", monospace; }
.g-desktop-thought-filters button:last-child { border-right: 0; }
.g-desktop-thought-filters button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-thought-filters button b { min-width: 17px; color: var(--dc-muted); font: 9px/1 "Space Mono", monospace; }
.g-desktop-thought-filters button.active { color: var(--dc-bg); background: var(--dc-cyan); }
.g-desktop-thought-filters button.active b { color: var(--dc-bg); }
.g-desktop-thought-workspace { min-width: 0; min-height: 0; flex: 1 1 auto; position: relative; display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; }
.g-desktop-thought-library { min-width: 0; min-height: 0; overflow: auto; padding: 14px clamp(12px, 2.8cqi, 22px) 28px; scrollbar-color: var(--dc-purple) transparent; }
.g-desktop-thought-seeds { margin-bottom: 14px; padding-bottom: 13px; border-bottom: 1px solid var(--dc-line); }
.g-desktop-thought-seeds > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 7px; }
.g-desktop-thought-seeds > header small { color: var(--dc-pink); font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-thought-seeds > header span { color: var(--dc-dim); font: 8px/1.2 "Space Mono", "PingFang SC", monospace; }
.g-desktop-thought-seeds > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.g-desktop-thought-seeds button { min-width: 0; display: grid; grid-template-columns: 8px minmax(0, 1fr); align-items: start; gap: 7px; padding: 8px; color: var(--dc-ink); text-align: left; border: 1px dashed rgba(244, 114, 182, .38); border-radius: 0; background: rgba(45, 20, 63, .24); cursor: pointer; }
.g-desktop-thought-seeds button:hover,.g-desktop-thought-seeds button.active { border-color: var(--dc-pink); background: rgba(244, 114, 182, .09); }
.g-desktop-thought-seeds button > i { width: 6px; height: 6px; margin-top: 4px; background: var(--dc-pink); box-shadow: 0 0 8px var(--dc-pink); }
.g-desktop-thought-seeds button span { min-width: 0; display: grid; gap: 4px; }
.g-desktop-thought-seeds button strong { overflow: hidden; color: var(--dc-ink); font: 9px/1.48 "Space Mono", "PingFang SC", monospace; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-thought-seeds button small { color: var(--dc-dim); font: 7px/1.3 "Space Mono", monospace; }
.g-desktop-thought-stream { display: grid; gap: 8px; }
.g-desktop-thought-card { --thought-tone: var(--dc-pink); position: relative; border: 1px solid var(--dc-line); background: linear-gradient(90deg, color-mix(in srgb, var(--thought-tone) 7%, transparent), rgba(16, 9, 28, .48) 28%); box-shadow: inset 3px 0 var(--thought-tone); }
.g-desktop-thought-card[data-state="glowing"] { --thought-tone: var(--dc-cyan); }
.g-desktop-thought-card[data-state="resting"] { --thought-tone: var(--dc-dim); opacity: .74; }
.g-desktop-thought-card:hover,.g-desktop-thought-card.active { border-color: var(--thought-tone); background: linear-gradient(90deg, color-mix(in srgb, var(--thought-tone) 13%, transparent), rgba(19, 10, 34, .68) 34%); }
.g-desktop-thought-card > button { width: 100%; display: grid; gap: 7px; padding: 10px 12px 9px; color: inherit; text-align: left; border: 0; background: transparent; cursor: pointer; }
.g-desktop-thought-card-meta { min-width: 0; display: grid; grid-template-columns: 7px auto minmax(0, 1fr); align-items: center; gap: 6px; }
.g-desktop-thought-card-meta i { width: 5px; height: 5px; background: var(--thought-tone); box-shadow: 0 0 7px var(--thought-tone); }
.g-desktop-thought-card-meta b { color: var(--thought-tone); font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-thought-card-meta small { overflow: hidden; color: var(--dc-dim); font: 8px/1.2 "Space Mono", "PingFang SC", monospace; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-thought-card strong { color: var(--dc-ink); font: 500 clamp(13px, 2.1cqi, 17px)/1.55 "Noto Serif SC", "Songti SC", serif; }
.g-desktop-thought-card p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--dc-muted); font: 9px/1.55 "Space Mono", "PingFang SC", monospace; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.g-desktop-thought-card footer { display: flex; justify-content: space-between; gap: 10px; color: var(--dc-dim); font: 7px/1.2 "Space Mono", "PingFang SC", monospace; }
.g-desktop-thought-more { width: 100%; min-height: 29px; margin-top: 9px; }
.g-desktop-thought-bottom { width: 100%; min-height: 42px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; margin-top: 13px; padding: 0 11px; text-align: left; }
.g-desktop-thought-bottom span { color: var(--dc-dim); font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-thought-bottom b { color: var(--dc-muted); font: 9px/1.3 "Space Mono", "PingFang SC", monospace; }
.g-desktop-thought-empty { min-height: 190px; display: grid; place-content: center; justify-items: center; gap: 8px; color: var(--dc-muted); text-align: center; }
.g-desktop-thought-empty i { width: 8px; height: 8px; background: var(--dc-pink); box-shadow: 0 0 15px var(--dc-pink); }
.g-desktop-thought-empty strong { color: var(--dc-ink); font: 12px/1.5 "Space Mono", "PingFang SC", monospace; }
.g-desktop-thought-empty p { margin: 0; font: 9px/1.5 "Space Mono", "PingFang SC", monospace; }
.g-desktop-thought-reader { min-width: 0; min-height: 0; position: absolute; inset: 0; z-index: 8; overflow: auto; transform: translateX(101%); border-left: 1px solid var(--dc-line); background: radial-gradient(circle at 70% 16%, rgba(103, 232, 249, .08), transparent 27%), rgba(8, 4, 15, .98); transition: transform .16s steps(3, end); scrollbar-color: var(--dc-purple) transparent; }
.g-desktop-thought-app.is-reader-open .g-desktop-thought-reader { transform: translateX(0); }
.g-desktop-thought-overview,.g-desktop-thought-detail { box-sizing: border-box; min-height: 100%; padding: 25px clamp(18px, 4cqi, 42px) 36px; }
.g-desktop-thought-overview > small,.g-desktop-thought-detail small { color: var(--dc-cyan); font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-thought-overview h2,.g-desktop-thought-detail h2 { margin: 12px 0 9px; color: var(--dc-ink); font: 500 clamp(21px, 3.2cqi, 31px)/1.42 "Noto Serif SC", "Songti SC", serif; }
.g-desktop-thought-overview > p,.g-desktop-thought-detail p { color: var(--dc-muted); font: 10px/1.72 "Space Mono", "PingFang SC", monospace; }
.g-desktop-thought-overview-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 20px 0; border: 1px solid var(--dc-line); }
.g-desktop-thought-overview-stats span { min-width: 0; display: grid; gap: 6px; padding: 12px 9px; color: var(--dc-dim); border-right: 1px solid var(--dc-line); font: 6px/1.2 "Press Start 2P", monospace; }
.g-desktop-thought-overview-stats span:last-child { border-right: 0; }
.g-desktop-thought-overview-stats b { color: var(--dc-cyan); font: 19px/1 "VT323", monospace; }
.g-desktop-thought-overview > section { display: grid; gap: 6px; padding-top: 15px; border-top: 1px solid var(--dc-line); }
.g-desktop-thought-overview > section button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; padding: 9px 10px; color: var(--dc-ink); text-align: left; border: 1px solid var(--dc-line); border-radius: 0; background: rgba(25, 14, 43, .34); cursor: pointer; }
.g-desktop-thought-overview > section button strong { font: 9px/1.5 "Space Mono", "PingFang SC", monospace; }
.g-desktop-thought-overview > section button span { align-self: center; color: var(--dc-cyan); font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-thought-back { margin-bottom: 13px; padding: 0; color: var(--dc-cyan) !important; border: 0 !important; background: transparent !important; font: 8px/1.2 "Press Start 2P", monospace !important; }
.g-desktop-thought-detail { --thought-tone: var(--dc-pink); }
.g-desktop-thought-detail[data-state="glowing"] { --thought-tone: var(--dc-cyan); }
.g-desktop-thought-detail[data-state="resting"] { --thought-tone: var(--dc-dim); }
.g-desktop-thought-detail > header { padding: 0 0 17px 14px; border-bottom: 1px solid var(--dc-line2); box-shadow: inset 3px 0 var(--thought-tone); }
.g-desktop-thought-detail > header small { color: var(--thought-tone); }
.g-desktop-thought-detail > header p { margin: 0; color: var(--dc-dim); }
.g-desktop-thought-detail > section { margin-top: 13px; padding: 12px; border: 1px solid var(--dc-line); background: rgba(22, 12, 39, .3); }
.g-desktop-thought-detail > section > p { margin: 7px 0 0; }
.g-desktop-thought-state > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.g-desktop-thought-state button,.g-desktop-thought-detail footer button { min-height: 27px; padding: 0 9px; }
.g-desktop-thought-state button:hover,.g-desktop-thought-detail footer button:hover { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); }
.g-desktop-thought-lifecycle ul { display: grid; gap: 6px; margin: 8px 0 0; padding: 0 0 0 16px; color: var(--dc-muted); font: 9px/1.58 "Space Mono", "PingFang SC", monospace; }
.g-desktop-thought-feeling { border-color: rgba(244, 114, 182, .34) !important; box-shadow: inset 2px 0 var(--dc-pink); }
.g-desktop-thought-source > div { display: grid; gap: 6px; margin-top: 8px; }
.g-desktop-thought-source span { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; padding: 8px; color: var(--dc-muted); border: 1px solid var(--dc-line); font: 9px/1.45 "Space Mono", "PingFang SC", monospace; }
.g-desktop-thought-source span b { color: var(--dc-cyan); font-weight: 400; }
.g-desktop-thought-source em { color: var(--dc-dim); font: 9px/1.5 "Space Mono", "PingFang SC", monospace; }
.g-desktop-thought-detail > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 13px; color: var(--dc-dim); border-top: 1px solid var(--dc-line); font: 8px/1.45 "Space Mono", "PingFang SC", monospace; }
.g-desktop-thought-detail.is-seed { --thought-tone: var(--dc-pink); }
.g-desktop-thought-detail.is-seed > header small { color: var(--dc-pink); }
@container desktop-thought-window (min-width: 900px) { .g-desktop-thought-workspace { grid-template-columns: minmax(360px, .88fr) minmax(430px, 1.12fr); }.g-desktop-thought-library { border-right: 1px solid var(--dc-line); }.g-desktop-thought-reader { position: relative; inset: auto; z-index: auto; transform: none; background-color: rgba(8, 4, 15, .68); }.g-desktop-thought-back { display: none; }.g-desktop-thought-seeds > div { grid-template-columns: 1fr; } }
@container desktop-thought-window (max-width: 620px) { .g-desktop-thought-toolbar { min-height: 98px; grid-template-columns: minmax(0, 1fr) 32px; grid-template-rows: auto 29px; }.g-desktop-thought-toolbar > div span { display: none; }.g-desktop-thought-toolbar > button { grid-column: 2; grid-row: 1; }.g-desktop-thought-toolbar form { grid-column: 1 / -1; grid-row: 2; width: 100%; }.g-desktop-thought-filters { overflow-x: auto; grid-template-columns: repeat(4, minmax(92px, 1fr)); }.g-desktop-thought-seeds > div { grid-template-columns: 1fr; }.g-desktop-thought-card strong { font-size: 14px; } }
.g-desktop-dream-app { container: desktop-dream-window / inline-size; min-width: 0; min-height: 0; height: 100%; display: flex; flex-direction: column; color: var(--dc-ink); background: radial-gradient(ellipse at 78% 6%, rgba(103, 232, 249, .1), transparent 31%), radial-gradient(ellipse at 15% 56%, rgba(192, 132, 252, .11), transparent 42%), linear-gradient(180deg, rgba(9, 5, 16, .93), rgba(4, 3, 9, .99)); }
.g-desktop-dream-toolbar { min-width: 0; min-height: 66px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 35%) 32px; align-items: center; gap: 8px; padding: 8px 12px; border-bottom: 1px solid var(--dc-line); background: rgba(11, 7, 20, .74); }
.g-desktop-dream-toolbar > div { min-width: 0; display: grid; gap: 4px; }
.g-desktop-dream-toolbar > div small { color: var(--dc-cyan); font: 6px/1.2 "Press Start 2P", monospace; }
.g-desktop-dream-toolbar > div strong { overflow: hidden; color: var(--dc-ink); font: 10px/1.2 "Press Start 2P", monospace; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-dream-toolbar > div span { overflow: hidden; color: var(--dc-dim); font: 8px/1.2 "Space Mono", monospace; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-dream-toolbar form { min-width: 0; height: 30px; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; border: 1px solid var(--dc-line); background: rgba(17, 10, 29, .6); }
.g-desktop-dream-toolbar input { min-width: 0; padding: 0 8px; color: var(--dc-ink); border: 0; outline: 0; background: transparent; font: 10px/1.2 "Space Mono", "PingFang SC", monospace; }
.g-desktop-dream-toolbar button,.g-desktop-dream-filters button,.g-desktop-dream-more,.g-desktop-dream-bottom,.g-desktop-dream-detail button,.g-desktop-dream-lab button { color: var(--dc-cyan); border: 1px solid var(--dc-line); border-radius: 0; background: rgba(28, 16, 49, .42); font: 8px/1 "VT323", "PingFang SC", monospace; cursor: pointer; }
.g-desktop-dream-toolbar > button { width: 32px; height: 30px; }
.g-desktop-dream-toolbar form button { border-width: 0 0 0 1px; }
.g-desktop-dream-toolbar form [data-desktop-dream-search-clear] { color: var(--dc-pink); }
.g-desktop-dream-materials { min-height: 45px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-bottom: 1px solid var(--dc-line); background: rgba(9, 5, 16, .66); }
.g-desktop-dream-materials span { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 5px; padding: 6px 8px; border-right: 1px solid var(--dc-line); }
.g-desktop-dream-materials span:last-child { border-right: 0; }
.g-desktop-dream-materials small { overflow: hidden; color: var(--dc-dim); font: 7px/1.2 "Space Mono", "PingFang SC", monospace; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-dream-materials b { color: var(--dc-cyan); font: 16px/1 "VT323", monospace; font-weight: 400; }
.g-desktop-dream-filters { min-height: 36px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--dc-line); background: rgba(8, 4, 15, .78); }
.g-desktop-dream-filters button { min-width: 0; min-height: 35px; display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--dc-dim); border-width: 0 1px 0 0; background: transparent; font-family: "Press Start 2P", monospace; }
.g-desktop-dream-filters button:last-child { border-right: 0; }
.g-desktop-dream-filters button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-dream-filters button b { color: var(--dc-muted); font: 9px/1 "Space Mono", monospace; }
.g-desktop-dream-filters button.active { color: var(--dc-bg); background: var(--dc-cyan); }
.g-desktop-dream-filters button.active b { color: var(--dc-bg); }
.g-desktop-dream-workspace { min-width: 0; min-height: 0; flex: 1 1 auto; position: relative; display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; }
.g-desktop-dream-library { min-width: 0; min-height: 0; overflow: auto; padding: 13px clamp(12px, 2.8cqi, 22px) 28px; scrollbar-color: var(--dc-purple) transparent; }
.g-desktop-dream-lab { margin-bottom: 12px; border: 1px solid rgba(103, 232, 249, .42); background: linear-gradient(90deg, rgba(103, 232, 249, .08), rgba(192, 132, 252, .07)); box-shadow: inset 3px 0 rgba(103, 232, 249, .5); }
.g-desktop-dream-lab.open { border-color: rgba(103, 232, 249, .78); background: linear-gradient(90deg, rgba(103, 232, 249, .12), rgba(192, 132, 252, .09)); box-shadow: inset 3px 0 var(--dc-cyan), 0 0 16px rgba(103, 232, 249, .08); }
.g-desktop-dream-lab > header { min-height: 47px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; }
.g-desktop-dream-lab > header > button:first-child { min-width: 0; display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 7px 9px; color: var(--dc-ink); text-align: left; border-width: 0 1px 0 0; background: transparent; }
.g-desktop-dream-lab > header > button:first-child i { color: var(--dc-cyan); font: normal 20px/1 Georgia, serif; filter: drop-shadow(0 0 5px rgba(103, 232, 249, .5)); }
.g-desktop-dream-lab > header > button:first-child > span:not(.g-desktop-dream-lab-toggle) { min-width: 0; display: grid; gap: 4px; }
.g-desktop-dream-lab > header small { color: var(--dc-cyan); font: 6px/1.2 "Press Start 2P", monospace; }
.g-desktop-dream-lab > header b { overflow: hidden; color: var(--dc-muted); font: 8px/1.3 "Space Mono", "PingFang SC", monospace; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-dream-lab-toggle { min-height: 28px; display: flex !important; grid-template-columns: none !important; align-items: center; gap: 7px !important; padding: 0 8px; color: var(--dc-cyan); border: 1px solid rgba(103, 232, 249, .52); background: rgba(103, 232, 249, .08); box-shadow: inset 0 0 0 1px rgba(103, 232, 249, .04); }
.g-desktop-dream-lab-toggle b { overflow: visible !important; color: inherit !important; font: 7px/1 "Press Start 2P", "PingFang SC", monospace !important; white-space: nowrap !important; }
.g-desktop-dream-lab-toggle em { color: inherit; font: normal 15px/1 "VT323", monospace; text-align: center; }
.g-desktop-dream-lab.open .g-desktop-dream-lab-toggle { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); box-shadow: 0 0 9px rgba(103, 232, 249, .22); }
.g-desktop-dream-lab > header > [data-dreaming-run] { min-width: 68px; border-width: 0; color: var(--dc-bg); background: var(--dc-cyan); font-family: "Press Start 2P", monospace; }
.g-desktop-dream-lab button:disabled,.g-desktop-dream-detail button:disabled { opacity: .42; cursor: default; }
.g-desktop-dream-message { margin: 0; padding: 8px 10px; color: var(--dc-pink); border-top: 1px solid var(--dc-line); font: 8px/1.45 "Space Mono", "PingFang SC", monospace; }
.g-desktop-dream-lab-body { padding: 10px; border-top: 1px solid var(--dc-line); }
.g-desktop-dream-lab-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.g-desktop-dream-lab-head > span { min-width: 0; display: grid; gap: 5px; }
.g-desktop-dream-lab-head > span b { overflow: visible; color: var(--dc-ink); font: 8px/1.4 "Space Mono", "PingFang SC", monospace; white-space: normal; }
.g-desktop-dream-lab-head button { min-height: 25px; padding: 0 8px; }
.g-desktop-dream-material-counts { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 8px; border: 1px solid var(--dc-line); }
.g-desktop-dream-material-counts span { min-width: 0; display: grid; gap: 4px; padding: 7px; color: var(--dc-dim); border-right: 1px solid var(--dc-line); font: 7px/1.2 "Space Mono", "PingFang SC", monospace; }
.g-desktop-dream-material-counts span:last-child { border-right: 0; }
.g-desktop-dream-material-counts b { color: var(--dc-cyan); font: 14px/1 "VT323", monospace; font-weight: 400; }
.g-desktop-dream-lab-body details { margin-top: 7px; color: var(--dc-muted); border: 1px solid var(--dc-line); font: 8px/1.5 "Space Mono", "PingFang SC", monospace; }
.g-desktop-dream-lab-body summary { padding: 7px 8px; color: var(--dc-ink); cursor: pointer; }
.g-desktop-dream-lab-body details > p,.g-desktop-dream-lab-body details > ul,.g-desktop-dream-lab-body details > em { margin: 0; padding: 8px 10px; border-top: 1px solid var(--dc-line); }
.g-desktop-dream-lab-body ul { display: grid; gap: 7px; list-style: none; }
.g-desktop-dream-lab-body li { display: grid; gap: 3px; padding-left: 7px; border-left: 1px solid var(--dc-cyan); }
.g-desktop-dream-lab-body li small { color: var(--dc-cyan); font: 7px/1.3 "Space Mono", "PingFang SC", monospace; }
.g-desktop-dream-stream { display: grid; gap: 9px; }
.g-desktop-dream-card { --dream-tone: var(--dc-purple); position: relative; transform: translateX(calc(var(--wisp-shift) * 5px)); border: 1px solid rgba(192, 132, 252, .26); background: radial-gradient(ellipse at 88% 0%, color-mix(in srgb, var(--dream-tone) 10%, transparent), transparent 48%), rgba(15, 8, 27, .5); box-shadow: inset 2px 0 var(--dream-tone); }
.g-desktop-dream-card[data-kind="echo"] { --dream-tone: var(--dc-cyan); }
.g-desktop-dream-card[data-kind="question"] { --dream-tone: var(--dc-pink); }
.g-desktop-dream-card[data-kind="fading"] { --dream-tone: var(--dc-dim); opacity: .72; }
.g-desktop-dream-card:hover,.g-desktop-dream-card.active { transform: translateX(0); border-color: var(--dream-tone); opacity: 1; }
.g-desktop-dream-card > button { width: 100%; display: grid; gap: 7px; padding: 10px 12px; color: inherit; text-align: left; border: 0; background: transparent; cursor: pointer; }
.g-desktop-dream-card-meta { min-width: 0; display: grid; grid-template-columns: 7px auto minmax(0, 1fr); align-items: center; gap: 6px; }
.g-desktop-dream-card-meta i { width: 5px; height: 5px; border-radius: 50%; background: var(--dream-tone); box-shadow: 0 0 9px var(--dream-tone); }
.g-desktop-dream-card-meta b { color: var(--dream-tone); font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-dream-card-meta time { overflow: hidden; color: var(--dc-dim); font: 8px/1.2 "Space Mono", monospace; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-dream-card strong { color: var(--dc-ink); font: 500 clamp(14px, 2.2cqi, 18px)/1.55 "Noto Serif SC", "Songti SC", serif; }
.g-desktop-dream-card p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--dc-muted); font: 9px/1.55 "Space Mono", "PingFang SC", monospace; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.g-desktop-dream-card footer { min-width: 0; display: flex; justify-content: space-between; gap: 12px; color: var(--dc-dim); font: 7px/1.3 "Space Mono", "PingFang SC", monospace; }
.g-desktop-dream-card footer em { overflow: hidden; max-width: 58%; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-dream-more { width: 100%; min-height: 29px; margin-top: 9px; }
.g-desktop-dream-bottom { width: 100%; min-height: 42px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; margin-top: 13px; padding: 0 11px; text-align: left; }
.g-desktop-dream-bottom span { color: var(--dc-dim); font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-dream-bottom b { color: var(--dc-muted); font: 9px/1.3 "Space Mono", "PingFang SC", monospace; }
.g-desktop-dream-empty { min-height: 180px; display: grid; place-content: center; justify-items: center; gap: 8px; color: var(--dc-muted); text-align: center; }
.g-desktop-dream-empty i { color: var(--dc-cyan); font: normal 30px/1 Georgia, serif; filter: drop-shadow(0 0 9px rgba(103, 232, 249, .6)); }
.g-desktop-dream-empty strong { color: var(--dc-ink); font: 12px/1.5 "Space Mono", "PingFang SC", monospace; }
.g-desktop-dream-empty p { margin: 0; font: 9px/1.5 "Space Mono", "PingFang SC", monospace; }
.g-desktop-dream-reader { min-width: 0; min-height: 0; position: absolute; inset: 0; z-index: 8; overflow: auto; transform: translateX(101%); border-left: 1px solid var(--dc-line); background: radial-gradient(ellipse at 82% 5%, rgba(103, 232, 249, .1), transparent 32%), radial-gradient(ellipse at 12% 72%, rgba(192, 132, 252, .1), transparent 38%), rgba(6, 4, 12, .98); transition: transform .16s steps(3, end); scrollbar-color: var(--dc-purple) transparent; }
.g-desktop-dream-app.is-reader-open .g-desktop-dream-reader { transform: translateX(0); }
.g-desktop-dream-overview,.g-desktop-dream-detail { box-sizing: border-box; min-height: 100%; padding: 25px clamp(18px, 4cqi, 42px) 36px; }
.g-desktop-dream-overview > small,.g-desktop-dream-detail small { color: var(--dc-cyan); font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-dream-overview h2,.g-desktop-dream-detail h2 { margin: 12px 0 9px; color: var(--dc-ink); font: 500 clamp(21px, 3.2cqi, 32px)/1.45 "Noto Serif SC", "Songti SC", serif; }
.g-desktop-dream-overview > p,.g-desktop-dream-detail p { color: var(--dc-muted); font: 10px/1.72 "Space Mono", "PingFang SC", monospace; }
.g-desktop-dream-overview-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 20px 0; border: 1px solid var(--dc-line); }
.g-desktop-dream-overview-stats span { min-width: 0; display: grid; gap: 6px; padding: 12px 9px; color: var(--dc-dim); border-right: 1px solid var(--dc-line); font: 6px/1.2 "Press Start 2P", monospace; }
.g-desktop-dream-overview-stats span:last-child { border-right: 0; }
.g-desktop-dream-overview-stats b { color: var(--dc-cyan); font: 19px/1 "VT323", monospace; font-weight: 400; }
.g-desktop-dream-overview > section { display: grid; gap: 6px; padding-top: 15px; border-top: 1px solid var(--dc-line); }
.g-desktop-dream-overview > section button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; padding: 9px 10px; color: var(--dc-ink); text-align: left; border: 1px solid var(--dc-line); border-radius: 0; background: rgba(25, 14, 43, .34); cursor: pointer; }
.g-desktop-dream-overview > section button strong { font: 9px/1.5 "Space Mono", "PingFang SC", monospace; }
.g-desktop-dream-overview > section button span { align-self: center; color: var(--dc-cyan); font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-dream-overview-empty p { margin: 0; }
.g-desktop-dream-back { margin-bottom: 13px; padding: 0; color: var(--dc-cyan) !important; border: 0 !important; background: transparent !important; font: 8px/1.2 "Press Start 2P", monospace !important; }
.g-desktop-dream-detail { --dream-tone: var(--dc-purple); }
.g-desktop-dream-detail[data-kind="echo"] { --dream-tone: var(--dc-cyan); }
.g-desktop-dream-detail[data-kind="question"] { --dream-tone: var(--dc-pink); }
.g-desktop-dream-detail[data-kind="fading"] { --dream-tone: var(--dc-dim); }
.g-desktop-dream-detail > header { padding: 0 0 17px 14px; border-bottom: 1px solid var(--dc-line2); box-shadow: inset 3px 0 var(--dream-tone); }
.g-desktop-dream-detail > header small { color: var(--dream-tone); }
.g-desktop-dream-detail > header p { margin: 0; color: var(--dc-dim); }
.g-desktop-dream-detail > section { margin-top: 13px; padding: 12px; border: 1px solid var(--dc-line); background: rgba(22, 12, 39, .3); }
.g-desktop-dream-detail > section > p { margin: 7px 0 0; }
.g-desktop-dream-remained { border-color: color-mix(in srgb, var(--dream-tone) 45%, var(--dc-line)) !important; box-shadow: inset 2px 0 var(--dream-tone); }
.g-desktop-dream-sources > div { display: grid; gap: 7px; margin-top: 8px; }
.g-desktop-dream-sources blockquote { margin: 0; padding: 9px; border: 1px solid var(--dc-line); border-left: 2px solid var(--dc-cyan); }
.g-desktop-dream-sources blockquote span { display: flex; justify-content: space-between; gap: 9px; color: var(--dc-ink); font: 9px/1.4 "Space Mono", "PingFang SC", monospace; }
.g-desktop-dream-sources blockquote span b { color: var(--dc-cyan); font-size: 7px; font-weight: 400; }
.g-desktop-dream-sources blockquote p { margin: 6px 0 0; }
.g-desktop-dream-detail .dream-wisp-fate > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.g-desktop-dream-detail .dream-wisp-fate button { min-height: 28px; padding: 0 10px; }
.g-desktop-dream-detail .dream-wisp-fate button.active { color: var(--dc-bg); border-color: var(--dc-cyan); background: var(--dc-cyan); }
.g-desktop-dream-detail > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 13px; color: var(--dc-dim); border-top: 1px solid var(--dc-line); font: 8px/1.45 "Space Mono", "PingFang SC", monospace; }
.g-desktop-dream-detail > footer em { font-style: normal; text-align: right; }
@container desktop-dream-window (min-width: 900px) { .g-desktop-dream-workspace { grid-template-columns: minmax(360px, .88fr) minmax(430px, 1.12fr); }.g-desktop-dream-library { border-right: 1px solid var(--dc-line); }.g-desktop-dream-reader { position: relative; inset: auto; z-index: auto; transform: none; background-color: rgba(6, 4, 12, .7); }.g-desktop-dream-back { display: none; }.g-desktop-dream-card { transform: none; }.g-desktop-dream-material-counts { grid-template-columns: repeat(3, minmax(0, 1fr)); }.g-desktop-dream-material-counts span:nth-child(3) { border-right: 0; }.g-desktop-dream-material-counts span:nth-child(n+4) { border-top: 1px solid var(--dc-line); } }
@container desktop-dream-window (max-width: 620px) { .g-desktop-dream-toolbar { min-height: 98px; grid-template-columns: minmax(0, 1fr) 32px; grid-template-rows: auto 29px; }.g-desktop-dream-toolbar > div span { display: none; }.g-desktop-dream-toolbar > button { grid-column: 2; grid-row: 1; }.g-desktop-dream-toolbar form { grid-column: 1 / -1; grid-row: 2; width: 100%; }.g-desktop-dream-materials { overflow-x: auto; grid-template-columns: repeat(5, minmax(92px, 1fr)); }.g-desktop-dream-filters { overflow-x: auto; grid-template-columns: repeat(4, minmax(92px, 1fr)); }.g-desktop-dream-lab > header { grid-template-columns: minmax(0, 1fr) 58px; }.g-desktop-dream-lab-toggle { min-width: 28px; justify-content: center; padding: 0 5px; }.g-desktop-dream-lab-toggle b { display: none; }.g-desktop-dream-lab-head { align-items: flex-start; }.g-desktop-dream-material-counts { grid-template-columns: repeat(2, minmax(0, 1fr)); }.g-desktop-dream-material-counts span:nth-child(2n) { border-right: 0; }.g-desktop-dream-material-counts span:nth-child(n+3) { border-top: 1px solid var(--dc-line); }.g-desktop-dream-card { transform: none; } }

.g-desktop-piggy-app { --piggy-pink: #ff9fd0; --piggy-gold: #f7c979; container: desktop-piggy-window / inline-size; min-width: 0; min-height: 0; height: 100%; display: flex; flex-direction: column; color: var(--dc-ink); background: radial-gradient(ellipse at 12% 5%, rgba(255, 159, 208, .13), transparent 34%), radial-gradient(ellipse at 92% 72%, rgba(247, 201, 121, .08), transparent 38%), linear-gradient(180deg, rgba(10, 5, 15, .96), rgba(5, 3, 9, .99)); }
.g-desktop-piggy-app button { border-radius: 0; cursor: pointer; }
.g-desktop-piggy-toolbar,.g-desktop-piggy-pagebar { min-width: 0; min-height: 66px; display: grid; grid-template-columns: minmax(0, 1fr) auto 32px; align-items: center; gap: 8px; padding: 8px 12px; border-bottom: 1px solid var(--dc-line); background: rgba(12, 7, 18, .76); }
.g-desktop-piggy-toolbar > div,.g-desktop-piggy-pagebar > div { min-width: 0; display: grid; gap: 4px; }
.g-desktop-piggy-toolbar small,.g-desktop-piggy-pagebar small,.g-desktop-piggy-section > header small,.g-desktop-piggy-reader > article > small,.g-desktop-piggy-detail section > small,.g-desktop-piggy-receipt-result > aside > small { color: var(--piggy-pink); font: 6px/1.2 "Press Start 2P", monospace; }
.g-desktop-piggy-toolbar strong,.g-desktop-piggy-pagebar strong { overflow: hidden; color: var(--dc-ink); font: 10px/1.2 "Press Start 2P", monospace; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-piggy-toolbar span { overflow: hidden; color: var(--dc-dim); font: 8px/1.2 "Space Mono", monospace; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-piggy-toolbar > button,.g-desktop-piggy-pagebar > button,.g-desktop-piggy-pagebar > span { min-height: 30px; padding: 0 10px; color: var(--piggy-pink); border: 1px solid rgba(255, 159, 208, .35); background: rgba(255, 159, 208, .07); font: 7px/1 "Press Start 2P", "PingFang SC", monospace; }
.g-desktop-piggy-toolbar > button:last-child { width: 32px; padding: 0; color: var(--dc-cyan); }
.g-desktop-piggy-pagebar { grid-template-columns: auto minmax(0, 1fr) auto; }
.g-desktop-piggy-pagebar > span { display: grid; place-items: center; color: var(--piggy-gold); }
.g-desktop-piggy-workspace { min-width: 0; min-height: 0; flex: 1 1 auto; position: relative; display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; }
.g-desktop-piggy-vault { min-width: 0; min-height: 0; overflow: auto; padding: 14px clamp(12px, 2.8cqi, 24px) 32px; scrollbar-color: var(--dc-purple) transparent; }
.g-desktop-piggy-balance { min-width: 0; display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: 13px; padding: 15px; border: 1px solid rgba(255, 159, 208, .34); background: linear-gradient(100deg, rgba(255, 159, 208, .12), rgba(192, 132, 252, .05)); box-shadow: inset 3px 0 var(--piggy-pink); }
.g-desktop-piggy-balance > span { width: 54px; height: 54px; display: grid; place-items: center; color: var(--piggy-pink); border: 1px solid rgba(255, 159, 208, .28); background: rgba(255, 159, 208, .07); }
.g-desktop-piggy-balance svg { width: 31px; height: 31px; }
.g-desktop-piggy-balance > div { min-width: 0; display: grid; gap: 3px; }
.g-desktop-piggy-balance small { color: var(--dc-muted); font: 8px/1.2 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-balance strong { color: var(--piggy-gold); font: 26px/1 "VT323", "Space Mono", monospace; }
.g-desktop-piggy-balance p { overflow: hidden; margin: 0; color: var(--dc-dim); font: 9px/1.4 "Space Mono", "PingFang SC", monospace; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-piggy-balance button,.g-desktop-piggy-expense-link,.g-desktop-piggy-more { min-height: 30px; padding: 0 10px; color: var(--dc-bg); border: 1px solid var(--piggy-pink); background: var(--piggy-pink); font: 7px/1 "Press Start 2P", "PingFang SC", monospace; }
.g-desktop-piggy-balance button:disabled { opacity: .5; cursor: default; }
.g-desktop-piggy-proposal { margin: 0; padding: 9px 12px; color: var(--piggy-gold); border: 1px solid rgba(247, 201, 121, .25); border-top: 0; background: rgba(247, 201, 121, .05); font: 9px/1.45 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-section { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--dc-line); }
.g-desktop-piggy-section > header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.g-desktop-piggy-section > header strong { color: var(--dc-muted); font: 9px/1.35 "Space Mono", "PingFang SC", monospace; font-weight: 400; }
.g-desktop-piggy-jars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.g-desktop-piggy-jar { min-width: 0; min-height: 112px; display: grid; grid-template-columns: 25px minmax(0, 1fr) auto; grid-template-rows: auto 1fr; align-items: start; gap: 7px 8px; padding: 11px; color: var(--dc-ink); text-align: left; border: 1px solid rgba(255, 159, 208, .23); background: rgba(24, 12, 32, .52); box-shadow: inset 2px 0 rgba(255, 159, 208, .44); }
.g-desktop-piggy-jar:hover,.g-desktop-piggy-jar.active { border-color: var(--piggy-pink); background: rgba(255, 159, 208, .1); box-shadow: inset 2px 0 var(--piggy-pink), 0 0 12px rgba(255, 159, 208, .08); }
.g-desktop-piggy-jar > .material-symbols-outlined { color: var(--piggy-pink); font-size: 22px; }
.g-desktop-piggy-jar > span:nth-child(2) { min-width: 0; display: grid; gap: 4px; }
.g-desktop-piggy-jar strong { color: var(--dc-ink); font: 11px/1.35 "Noto Serif SC", "Songti SC", serif; }
.g-desktop-piggy-jar small { color: var(--dc-dim); font: 7px/1.4 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-jar > i { color: var(--piggy-pink); font-style: normal; }
.g-desktop-piggy-jar-ledger { grid-column: 1 / -1; align-self: end; display: grid; gap: 4px; padding-top: 7px; border-top: 1px solid var(--dc-line); }
.g-desktop-piggy-jar-ledger b { color: var(--piggy-gold); font: 16px/1 "VT323", monospace; font-weight: 400; }
.g-desktop-piggy-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 8px; }
.g-desktop-piggy-app .piggy-action-card { min-width: 0; gap: 0; margin: 0; padding: 10px; color: var(--dc-ink); border: 1px solid rgba(255, 159, 208, .2); border-radius: 0; background: rgba(20, 11, 29, .5); box-shadow: none; backdrop-filter: none; }
.g-desktop-piggy-app .piggy-form-head { grid-template-columns: 27px minmax(0, 1fr) 24px; gap: 7px; }
.g-desktop-piggy-app .piggy-form-head > .material-symbols-outlined { width: 27px; height: 27px; color: var(--piggy-pink); border-radius: 0; background: rgba(255, 159, 208, .08); font-size: 18px; }
.g-desktop-piggy-app .piggy-form-head strong { color: var(--dc-ink); font: 9px/1.3 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-app .piggy-form-head small { color: var(--dc-dim); font: 7px/1.35 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-app .piggy-form-toggle { width: 24px; height: 24px; min-height: 24px; color: var(--piggy-pink); }
.g-desktop-piggy-app .piggy-form-toggle .material-symbols-outlined { font-size: 19px; }
.g-desktop-piggy-app .piggy-form-body { gap: 9px; margin-top: 10px; }
.g-desktop-piggy-app .piggy-action-card label,.g-desktop-piggy-app .piggy-wish-fulfill-form label { gap: 5px; color: var(--dc-dim); font: 6px/1.2 "Press Start 2P", "PingFang SC", monospace; }
.g-desktop-piggy-app .piggy-action-card input,.g-desktop-piggy-app .piggy-action-card textarea,.g-desktop-piggy-app .piggy-wish-fulfill-form input,.g-desktop-piggy-app .piggy-wish-fulfill-form textarea { box-sizing: border-box; min-width: 0; width: 100%; padding: 8px; color: var(--dc-ink); border: 1px solid var(--dc-line); border-radius: 0; background: rgba(7, 4, 12, .62); font: 9px/1.45 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-app .piggy-action-card textarea { min-height: 58px; }
.g-desktop-piggy-app .piggy-submit { min-height: 29px; color: var(--dc-bg); border: 1px solid var(--piggy-pink); border-radius: 0; background: var(--piggy-pink); box-shadow: none; font: 7px/1 "Press Start 2P", "PingFang SC", monospace; }
.g-desktop-piggy-app .piggy-select-trigger { min-height: 31px; padding: 0 8px; color: var(--dc-ink); border: 1px solid var(--dc-line); border-radius: 0; background: rgba(7, 4, 12, .62); font: 9px/1.2 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-app .piggy-select-menu { top: calc(100% + 3px); gap: 1px; padding: 3px; border: 1px solid var(--dc-line2); border-radius: 0; background: rgba(10, 6, 17, .99); box-shadow: 0 12px 30px rgba(0, 0, 0, .5); }
.g-desktop-piggy-app .piggy-select-menu button { min-height: 28px; padding: 5px 7px; color: var(--dc-muted); border-radius: 0; font: 8px/1.3 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-app .piggy-select-menu button.active { color: var(--dc-bg); background: var(--piggy-pink); }
.g-desktop-piggy-wishes,.g-desktop-piggy-detail-wishes,.g-desktop-piggy-detail-records,.g-desktop-piggy-records { display: grid; gap: 8px; }
.g-desktop-piggy-app .piggy-wish-card { min-width: 0; display: grid; grid-template-columns: 25px minmax(0, 1fr); gap: 9px; padding: 10px; color: var(--dc-ink); border: 1px solid rgba(255, 159, 208, .2); border-radius: 0; background: rgba(20, 11, 29, .46); box-shadow: inset 2px 0 var(--piggy-pink); }
.g-desktop-piggy-app .piggy-wish-card > .material-symbols-outlined { color: var(--piggy-pink); font-size: 19px; }
.g-desktop-piggy-app .piggy-wish-card header { gap: 8px; }
.g-desktop-piggy-app .piggy-wish-card strong { color: var(--dc-ink); font: 11px/1.4 "Noto Serif SC", "Songti SC", serif; }
.g-desktop-piggy-app .piggy-wish-card header small,.g-desktop-piggy-app .piggy-wish-card b { color: var(--piggy-pink); font: 7px/1.3 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-app .piggy-wish-card p,.g-desktop-piggy-app .piggy-wish-card em { margin: 5px 0 0; color: var(--dc-dim); font: 8px/1.5 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-app .piggy-wish-actions { gap: 9px; margin-top: 8px; }
.g-desktop-piggy-app .piggy-wish-actions button,.g-desktop-piggy-app .piggy-wish-fulfill-form button { min-height: 24px; padding: 0 7px; color: var(--piggy-pink); border: 1px solid rgba(255, 159, 208, .28); background: rgba(255, 159, 208, .06); font: 8px/1 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-record { min-width: 0; display: grid; grid-template-columns: 25px minmax(0, 1fr) auto; align-items: start; gap: 9px; padding: 9px; color: var(--dc-ink); border: 1px solid var(--dc-line); background: rgba(15, 8, 23, .48); }
.g-desktop-piggy-record > .material-symbols-outlined { color: var(--piggy-pink); font-size: 19px; }
.g-desktop-piggy-record[data-type="expense"] > .material-symbols-outlined,.g-desktop-piggy-record[data-type="expense"] > b { color: var(--piggy-gold); }
.g-desktop-piggy-record > div { min-width: 0; display: grid; gap: 4px; }
.g-desktop-piggy-record small { color: var(--dc-dim); font: 7px/1.3 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-record strong { overflow: hidden; color: var(--dc-muted); font: 9px/1.45 "Space Mono", "PingFang SC", monospace; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-piggy-record p { margin: 0; color: var(--piggy-pink); font: 8px/1.45 "Noto Serif SC", "Songti SC", serif; }
.g-desktop-piggy-record > b { color: var(--piggy-pink); font: 13px/1.2 "VT323", "Space Mono", monospace; font-weight: 400; white-space: nowrap; }
.g-desktop-piggy-more { width: 100%; margin-top: 8px; color: var(--piggy-pink); background: rgba(255, 159, 208, .05); }
.g-desktop-piggy-empty { min-height: 80px; display: grid; place-content: center; gap: 5px; padding: 12px; color: var(--dc-dim); text-align: center; border: 1px dashed var(--dc-line); }
.g-desktop-piggy-empty strong { color: var(--dc-muted); font: 10px/1.4 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-empty p { margin: 0; font: 8px/1.45 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-reader { min-width: 0; min-height: 0; position: absolute; inset: 0; z-index: 8; overflow: auto; transform: translateX(101%); border-left: 1px solid var(--dc-line); background: radial-gradient(ellipse at 12% 8%, rgba(255, 159, 208, .1), transparent 36%), rgba(6, 4, 10, .99); transition: transform .16s steps(3, end); scrollbar-color: var(--dc-purple) transparent; }
.g-desktop-piggy-app.is-jar-open .g-desktop-piggy-reader { transform: translateX(0); }
.g-desktop-piggy-overview,.g-desktop-piggy-detail { box-sizing: border-box; min-height: 100%; padding: 24px clamp(18px, 4cqi, 40px) 34px; }
.g-desktop-piggy-overview h2,.g-desktop-piggy-detail h2 { margin: 11px 0 8px; color: var(--dc-ink); font: 500 clamp(20px, 3.2cqi, 31px)/1.45 "Noto Serif SC", "Songti SC", serif; }
.g-desktop-piggy-overview > p,.g-desktop-piggy-detail header p,.g-desktop-piggy-detail section > div > p { color: var(--dc-muted); font: 9px/1.65 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-overview-stats,.g-desktop-piggy-jar-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 18px 0; border: 1px solid var(--dc-line); }
.g-desktop-piggy-overview-stats span,.g-desktop-piggy-jar-stats span { min-width: 0; display: grid; gap: 5px; padding: 10px 8px; color: var(--dc-dim); border-right: 1px solid var(--dc-line); font: 6px/1.25 "Press Start 2P", "PingFang SC", monospace; }
.g-desktop-piggy-overview-stats span:last-child,.g-desktop-piggy-jar-stats span:last-child { border-right: 0; }
.g-desktop-piggy-overview-stats b,.g-desktop-piggy-jar-stats b { color: var(--piggy-gold); font: 18px/1 "VT323", monospace; font-weight: 400; }
.g-desktop-piggy-overview > section,.g-desktop-piggy-detail > section { display: grid; gap: 7px; margin-top: 16px; padding-top: 13px; border-top: 1px solid var(--dc-line); }
.g-desktop-piggy-overview > section > article:not(.g-desktop-piggy-record) { display: grid; gap: 4px; padding: 8px; border: 1px solid var(--dc-line); }
.g-desktop-piggy-overview > section > article:not(.g-desktop-piggy-record) strong { color: var(--dc-ink); font: 10px/1.4 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-overview > section > article:not(.g-desktop-piggy-record) span { color: var(--dc-dim); font: 8px/1.4 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-back { margin-bottom: 13px; padding: 0; color: var(--piggy-pink); border: 0; background: transparent; font: 8px/1.2 "Press Start 2P", monospace; }
.g-desktop-piggy-detail > header { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 12px; padding-bottom: 15px; border-bottom: 1px solid var(--dc-line2); box-shadow: inset 3px 0 var(--piggy-pink); }
.g-desktop-piggy-detail > header > .material-symbols-outlined { display: grid; place-items: center; width: 42px; height: 42px; color: var(--piggy-pink); border: 1px solid rgba(255, 159, 208, .26); background: rgba(255, 159, 208, .07); }
.g-desktop-piggy-detail > header h2 { margin: 4px 0; }
.g-desktop-piggy-detail > header small { color: var(--piggy-pink); font: 6px/1.2 "Press Start 2P", monospace; }
.g-desktop-piggy-detail > header p { margin: 0; }
.g-desktop-piggy-expense-link { color: var(--piggy-pink); background: rgba(255, 159, 208, .06); }

.g-desktop-piggy-receipt-app { overflow: hidden; }
.g-desktop-piggy-receipt-select { min-width: 0; min-height: 0; flex: 1; overflow: auto; display: grid; grid-template-columns: minmax(180px, .55fr) minmax(310px, 1fr); grid-template-areas: "mark range" "mark types"; align-content: center; gap: 12px 18px; padding: clamp(18px, 4cqi, 40px); }
.g-desktop-piggy-receipt-mark { grid-area: mark; min-height: 270px; display: grid; place-content: center; justify-items: center; gap: 12px; padding: 22px; color: var(--piggy-pink); text-align: center; border: 1px solid rgba(255, 159, 208, .28); background: radial-gradient(circle at 50% 40%, rgba(255, 159, 208, .14), transparent 45%), rgba(19, 9, 27, .42); }
.g-desktop-piggy-receipt-mark svg { width: 48px; height: 48px; }
.g-desktop-piggy-receipt-mark small { font: 7px/1.2 "Press Start 2P", monospace; }
.g-desktop-piggy-receipt-mark strong { max-width: 240px; color: var(--dc-muted); font: 12px/1.7 "Noto Serif SC", "Songti SC", serif; font-weight: 500; }
.g-desktop-piggy-date-range { grid-area: range; align-self: end; padding: 12px; border: 1px solid var(--dc-line); background: rgba(16, 9, 24, .48); }
.g-desktop-piggy-date-range > header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; color: var(--dc-dim); font: 8px/1.2 "Space Mono", monospace; }
.g-desktop-piggy-date-range > header small { color: var(--piggy-pink); font: 6px/1.2 "Press Start 2P", monospace; }
.g-desktop-piggy-date-range > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.g-desktop-piggy-app .piggy-receipt-date-picker { position: relative; }
.g-desktop-piggy-app .piggy-receipt-date-picker .memo-picker-trigger { box-sizing: border-box; min-height: 44px; color: var(--dc-ink); border: 1px solid rgba(255, 159, 208, .28); border-radius: 0; background: rgba(8, 5, 13, .58); }
.g-desktop-piggy-app .piggy-receipt-date-picker .memo-picker-trigger small { color: var(--dc-dim); }
.g-desktop-piggy-app .piggy-receipt-date-panel { position: absolute; top: calc(100% + 5px); right: 0; left: auto; width: min(286px, 72cqi); transform: none; border: 1px solid var(--dc-line2); border-radius: 0; background: rgba(10, 6, 17, .99); box-shadow: 0 18px 42px rgba(0, 0, 0, .55); }
.g-desktop-piggy-ticket-types { grid-area: types; align-self: start; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.g-desktop-piggy-ticket-types button { min-height: 116px; display: grid; align-content: center; gap: 7px; padding: 14px; color: var(--dc-ink); text-align: left; border: 1px solid rgba(255, 159, 208, .25); background: rgba(20, 11, 29, .5); }
.g-desktop-piggy-ticket-types button:hover { border-color: var(--piggy-pink); background: rgba(255, 159, 208, .09); }
.g-desktop-piggy-ticket-types small { color: var(--piggy-pink); font: 6px/1.2 "Press Start 2P", monospace; }
.g-desktop-piggy-ticket-types strong { color: var(--dc-ink); font: 17px/1.3 "Noto Serif SC", "Songti SC", serif; }
.g-desktop-piggy-ticket-types span { color: var(--dc-dim); font: 8px/1.4 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-ticket-types i { color: var(--piggy-gold); font: normal 8px/1.2 "Press Start 2P", monospace; }
.g-desktop-piggy-receipt-result { min-width: 0; min-height: 0; flex: 1; overflow: auto; display: grid; grid-template-columns: minmax(310px, .9fr) minmax(260px, 1.1fr); align-items: start; gap: 28px; padding: clamp(18px, 4cqi, 42px); }
.g-desktop-piggy-paper-wrap { display: grid; justify-items: center; padding-bottom: 22px; }
.g-desktop-piggy-receipt-result > aside { position: sticky; top: 0; display: grid; gap: 10px; padding: 22px; border: 1px solid rgba(255, 159, 208, .25); background: rgba(20, 11, 29, .5); }
.g-desktop-piggy-receipt-result > aside h2 { margin: 0; color: var(--dc-ink); font: 500 23px/1.45 "Noto Serif SC", "Songti SC", serif; }
.g-desktop-piggy-receipt-result > aside p { margin: 0; color: var(--dc-muted); font: 9px/1.65 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-receipt-result > aside > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
.g-desktop-piggy-receipt-result > aside button { min-height: 31px; padding: 0 9px; color: var(--piggy-pink); border: 1px solid rgba(255, 159, 208, .32); background: rgba(255, 159, 208, .06); font: 8px/1 "Space Mono", "PingFang SC", monospace; }
.g-desktop-piggy-shared { color: var(--dc-green); font: 8px/1.3 "Press Start 2P", "PingFang SC", monospace; }
.g-desktop-piggy-paper-wrap .receipt-paper { position: relative; width: min(330px, 100%); color: #2a282b; background: #fdfafb; box-shadow: 0 20px 60px rgba(0, 0, 0, .5); font-family: "Space Mono", ui-monospace, monospace; }
.g-desktop-piggy-paper-wrap .receipt-paper::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background-image: repeating-linear-gradient(rgba(0, 0, 0, .012) 0 1px, transparent 1px 2px), linear-gradient(90deg, transparent, rgba(0, 0, 0, .015), transparent); }
.g-desktop-piggy-paper-wrap .receipt-content { position: relative; z-index: 2; padding: 30px 21px 42px; }
.g-desktop-piggy-paper-wrap .receipt-header { margin-bottom: 21px; text-align: center; }
.g-desktop-piggy-paper-wrap .receipt-header h2 { margin: 0; color: #2a282b; font-size: 18px; letter-spacing: .1em; }
.g-desktop-piggy-paper-wrap .receipt-header p,.g-desktop-piggy-paper-wrap .barcode-label { color: rgba(42, 40, 43, .52); font-size: 9px; letter-spacing: .13em; }
.g-desktop-piggy-paper-wrap .receipt-divider { margin: 16px 0; border-top: 1px dashed #2a282b; }
.g-desktop-piggy-paper-wrap .receipt-meta { display: grid; gap: 4px; margin-bottom: 18px; font-size: 10px; }
.g-desktop-piggy-paper-wrap .receipt-meta div,.g-desktop-piggy-paper-wrap .receipt-row,.g-desktop-piggy-paper-wrap .receipt-summary div { display: flex; justify-content: space-between; gap: 12px; }
.g-desktop-piggy-paper-wrap .receipt-body { margin-bottom: 20px; font-size: 11px; }
.g-desktop-piggy-paper-wrap .receipt-body header { display: flex; justify-content: space-between; margin-bottom: 9px; padding-bottom: 7px; border-bottom: 1.5px solid #2a282b; font-weight: 800; }
.g-desktop-piggy-paper-wrap .receipt-row { align-items: flex-start; margin-bottom: 9px; line-height: 1.42; }
.g-desktop-piggy-paper-wrap .receipt-row .label { flex: 1; }
.g-desktop-piggy-paper-wrap .receipt-row .amt { font-weight: 800; white-space: nowrap; }
.g-desktop-piggy-paper-wrap .plus { color: #d62e7d; }
.g-desktop-piggy-paper-wrap .minus { color: #9b701f; }
.g-desktop-piggy-paper-wrap .receipt-summary { display: grid; gap: 7px; padding-top: 11px; border-top: 2px solid #2a282b; font-size: 11px; font-weight: 800; }
.g-desktop-piggy-paper-wrap .receipt-summary .total-line { margin-top: 4px; font-size: 18px; }
.g-desktop-piggy-paper-wrap .receipt-footer-note { margin-top: 28px; color: rgba(42, 40, 43, .58); font: italic 12px/1.7 "Songti SC", Georgia, serif; text-align: center; }
.g-desktop-piggy-paper-wrap .receipt-barcode { width: 145px; height: 39px; margin: 26px auto 0; background: repeating-linear-gradient(90deg, #000 0 1px, transparent 1px 3px, #000 3px 4px, transparent 4px 8px); }
.g-desktop-piggy-paper-wrap .barcode-label { margin-top: 7px; text-align: center; }
.g-desktop-piggy-paper-wrap .red-stamp { position: absolute; z-index: 3; top: 46px; right: 17px; width: 62px; height: 62px; display: grid; place-items: center; color: #d62e7d; border: 2px solid #d62e7d; border-radius: 50%; opacity: .34; transform: rotate(15deg); font-size: 10px; font-weight: 900; }
.g-desktop-piggy-paper-wrap .receipt-tear { position: absolute; bottom: -15px; left: 0; width: 100%; height: 17px; background: linear-gradient(135deg, #fdfafb 50%, transparent 52%) 0 0 / 16px 17px repeat-x, linear-gradient(225deg, #fdfafb 50%, transparent 52%) 8px 0 / 16px 17px repeat-x; }
@container desktop-piggy-window (min-width: 900px) { .g-desktop-piggy-workspace { grid-template-columns: minmax(420px, .92fr) minmax(430px, 1.08fr); }.g-desktop-piggy-vault { border-right: 1px solid var(--dc-line); }.g-desktop-piggy-reader { position: relative; inset: auto; z-index: auto; transform: none; background-color: rgba(6, 4, 10, .72); }.g-desktop-piggy-actions { grid-template-columns: 1fr; } }
@container desktop-piggy-window (max-width: 620px) { .g-desktop-piggy-toolbar { min-height: 86px; grid-template-columns: minmax(0, 1fr) 32px; grid-template-rows: auto 28px; }.g-desktop-piggy-toolbar > div { grid-column: 1; grid-row: 1; }.g-desktop-piggy-toolbar > button:nth-of-type(1) { grid-column: 1; grid-row: 2; justify-self: start; }.g-desktop-piggy-toolbar > button:last-child { grid-column: 2; grid-row: 1; }.g-desktop-piggy-balance { grid-template-columns: 42px minmax(0, 1fr); }.g-desktop-piggy-balance > span { width: 42px; height: 42px; }.g-desktop-piggy-balance > button { grid-column: 1 / -1; }.g-desktop-piggy-jars,.g-desktop-piggy-actions { grid-template-columns: 1fr; }.g-desktop-piggy-jar { min-height: 94px; }.g-desktop-piggy-receipt-select { grid-template-columns: 1fr; grid-template-areas: "mark" "range" "types"; align-content: start; }.g-desktop-piggy-receipt-mark { min-height: 150px; }.g-desktop-piggy-receipt-result { grid-template-columns: 1fr; }.g-desktop-piggy-receipt-result > aside { position: static; }.g-desktop-piggy-pagebar > span { display: none; }.g-desktop-piggy-ticket-types { grid-template-columns: 1fr; } }

/* Door Tray — real action map. Compact windows use an in-window reader; wide windows keep board and reader side by side. */
.g-desktop-window:has(.g-desktop-door-tray-app) .g-desktop-window-body { overflow: hidden; }
.g-desktop-door-tray-app { --tray-gold:#f1c875;--tray-cyan:#78e5ee;--tray-green:#83e6b4;container:desktop-door-tray-window / inline-size;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;color:var(--dc-ink);background:radial-gradient(ellipse at 8% 6%,rgba(241,200,117,.11),transparent 32%),radial-gradient(ellipse at 91% 76%,rgba(120,229,238,.08),transparent 36%),linear-gradient(180deg,rgba(9,6,14,.95),rgba(4,3,8,.99))}
.g-desktop-door-tray-app button { border-radius:0;cursor:pointer }
.g-desktop-door-tray-toolbar { min-width:0;min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--dc-line);background:rgba(12,8,17,.78) }
.g-desktop-door-tray-toolbar>div { min-width:0;display:grid;gap:4px }
.g-desktop-door-tray-toolbar small,.g-desktop-door-tray-detail>header small,.g-desktop-door-tray-overview>small,.g-desktop-door-tray-echo small,.g-desktop-door-tray-context-grid small,.g-desktop-door-tray-boundary small { color:var(--tray-gold);font:6px/1.2 "Press Start 2P",monospace }
.g-desktop-door-tray-toolbar strong { color:var(--dc-ink);font:10px/1.2 "Press Start 2P",monospace }
.g-desktop-door-tray-toolbar span { overflow:hidden;color:var(--dc-dim);font:8px/1.2 "Space Mono","PingFang SC",monospace;text-overflow:ellipsis;white-space:nowrap }
.g-desktop-door-tray-toolbar>button { min-height:30px;padding:0 10px;color:var(--tray-cyan);border:1px solid rgba(120,229,238,.3);background:rgba(120,229,238,.06);font:7px/1 "Press Start 2P","PingFang SC",monospace }
.g-desktop-door-tray-toolbar>button:last-child { width:32px;padding:0 }
.g-desktop-door-tray-workspace { min-width:0;min-height:0;flex:1;position:relative;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden }
.g-desktop-door-tray-board { min-width:0;min-height:0;overflow:auto;padding:14px clamp(12px,2.8cqi,24px) 32px;scrollbar-color:var(--dc-purple) transparent }
.g-desktop-door-tray-loading { display:flex;align-items:center;gap:9px;margin-bottom:10px;padding:8px 10px;color:var(--dc-dim);border:1px solid var(--dc-line);font:8px/1.4 "Space Mono","PingFang SC",monospace }
.g-desktop-door-tray-loading span { width:7px;height:7px;background:var(--tray-green);box-shadow:0 0 10px var(--tray-green) }.g-desktop-door-tray-loading p{margin:0}
.g-desktop-door-tray-hero { min-width:0;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:14px;padding:14px;border:1px solid rgba(241,200,117,.3);background:linear-gradient(105deg,rgba(241,200,117,.1),rgba(120,229,238,.035));box-shadow:inset 3px 0 var(--tray-gold) }
.g-desktop-door-tray-hero>span { width:58px;height:58px;display:grid;place-items:center;color:var(--tray-gold);border:1px solid rgba(241,200,117,.26);background:rgba(241,200,117,.055) }.g-desktop-door-tray-hero svg{width:36px;height:36px}
.g-desktop-door-tray-hero>div { min-width:0;display:grid;gap:4px }.g-desktop-door-tray-hero small{color:var(--tray-gold);font:6px/1.2 "Press Start 2P",monospace}
.g-desktop-door-tray-hero h2 { margin:0;color:var(--dc-ink);font:500 clamp(17px,2.8cqi,24px)/1.35 "Noto Serif SC","Songti SC",serif }.g-desktop-door-tray-hero p{margin:0;color:var(--dc-dim);font:8px/1.45 "Space Mono","PingFang SC",monospace}
.g-desktop-door-tray-card-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:11px }
.g-desktop-door-tray-card { min-width:0;display:grid;align-content:start;gap:10px;padding:11px;color:var(--dc-ink);text-align:left;border:1px solid var(--dc-line);background:rgba(17,10,25,.5);box-shadow:inset 2px 0 rgba(120,229,238,.35) }
button.g-desktop-door-tray-card:hover { border-color:rgba(120,229,238,.52);background:rgba(120,229,238,.065);box-shadow:inset 2px 0 var(--tray-cyan),0 0 14px rgba(120,229,238,.06) }
.g-desktop-door-tray-card>header { min-width:0;display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px }.g-desktop-door-tray-card>header>.material-symbols-outlined{color:var(--tray-cyan);font-size:21px}
.g-desktop-door-tray-card>header>div { min-width:0;display:grid;gap:2px }.g-desktop-door-tray-card>header strong{color:var(--dc-ink);font:11px/1.25 "Noto Serif SC","Songti SC",serif}.g-desktop-door-tray-card>header small{color:var(--dc-dim);font:7px/1.3 "Space Mono","PingFang SC",monospace}.g-desktop-door-tray-card>header b{color:var(--tray-gold);font:17px/1 "VT323","Space Mono",monospace;font-weight:400;white-space:nowrap}
.g-desktop-door-tray-card>div:not(.g-desktop-door-tray-jars) { display:grid;gap:4px }.g-desktop-door-tray-card>div:not(.g-desktop-door-tray-jars) p{display:flex;justify-content:space-between;gap:8px;margin:0;color:var(--dc-muted);font:8px/1.4 "Space Mono","PingFang SC",monospace}.g-desktop-door-tray-card>div:not(.g-desktop-door-tray-jars) i{color:var(--tray-gold);font-style:normal;text-align:right}
.g-desktop-door-tray-card>p { margin:0;color:var(--dc-muted);font:9px/1.55 "Noto Serif SC","Songti SC",serif }.g-desktop-door-tray-card>footer{align-self:end;padding-top:7px;color:var(--tray-cyan);border-top:1px solid var(--dc-line);font:7px/1.3 "Space Mono","PingFang SC",monospace}
.g-desktop-door-tray-card.is-wallet { grid-column:1/-1 }.g-desktop-door-tray-jars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.g-desktop-door-tray-jar { min-width:0;min-height:80px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;grid-template-rows:1fr auto;gap:6px 7px;padding:9px;color:var(--dc-ink);text-align:left;border:1px solid rgba(241,200,117,.2);background:rgba(241,200,117,.035) }.g-desktop-door-tray-jar:hover{border-color:var(--tray-gold);background:rgba(241,200,117,.075)}
.g-desktop-door-tray-jar>.material-symbols-outlined { color:var(--tray-gold);font-size:19px }.g-desktop-door-tray-jar>span:nth-child(2){min-width:0;display:grid;align-content:start;gap:3px}.g-desktop-door-tray-jar strong,.g-desktop-door-tray-jar small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g-desktop-door-tray-jar strong{color:var(--dc-ink);font:9px/1.3 "Space Mono","PingFang SC",monospace}.g-desktop-door-tray-jar small{color:var(--dc-dim);font:7px/1.3 "Space Mono","PingFang SC",monospace}.g-desktop-door-tray-jar i{grid-column:1/3;align-self:end;color:var(--dc-dim);font:normal 6px/1.2 "Press Start 2P",monospace}.g-desktop-door-tray-jar b{color:var(--tray-gold);font:13px/1 "Space Mono",monospace}
.g-desktop-door-tray-echo { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;margin-top:11px;padding:11px;border:1px solid rgba(241,200,117,.2);background:rgba(241,200,117,.035) }.g-desktop-door-tray-echo small{grid-column:1/-1}.g-desktop-door-tray-echo p{margin:0;color:var(--dc-muted);font:10px/1.55 "Noto Serif SC","Songti SC",serif}
.g-desktop-door-tray-echo button,.g-desktop-door-tray-overview>button,.g-desktop-door-tray-secondary,.g-desktop-door-tray-more { min-height:28px;padding:0 9px;color:var(--tray-cyan);border:1px solid rgba(120,229,238,.28);background:rgba(120,229,238,.05);font:7px/1 "Space Mono","PingFang SC",monospace }
.g-desktop-door-tray-reader { min-width:0;min-height:0;position:absolute;inset:0;z-index:8;overflow:auto;transform:translateX(101%);border-left:1px solid var(--dc-line);background:radial-gradient(ellipse at 12% 8%,rgba(241,200,117,.08),transparent 34%),rgba(6,4,10,.99);transition:transform .16s steps(3,end);scrollbar-color:var(--dc-purple) transparent }
.g-desktop-door-tray-app.is-panel-open .g-desktop-door-tray-reader { transform:translateX(0) }
.g-desktop-door-tray-detail,.g-desktop-door-tray-overview { box-sizing:border-box;min-height:100%;padding:22px clamp(16px,3.6cqi,36px) 34px }.g-desktop-door-tray-back{margin-bottom:13px;padding:0;color:var(--tray-cyan);border:0;background:transparent;font:7px/1.2 "Press Start 2P",monospace}
.g-desktop-door-tray-detail>header { display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:0 0 15px 10px;border-bottom:1px solid var(--dc-line2);box-shadow:inset 3px 0 var(--tray-gold) }.g-desktop-door-tray-detail>header>.material-symbols-outlined{display:grid;place-items:center;width:42px;height:42px;color:var(--tray-gold);border:1px solid rgba(241,200,117,.25);background:rgba(241,200,117,.055)}
.g-desktop-door-tray-detail>header h2,.g-desktop-door-tray-overview h2 { margin:5px 0;color:var(--dc-ink);font:500 clamp(20px,3cqi,29px)/1.42 "Noto Serif SC","Songti SC",serif }.g-desktop-door-tray-detail>header p,.g-desktop-door-tray-overview>p{margin:0;color:var(--dc-muted);font:9px/1.62 "Space Mono","PingFang SC",monospace}
.g-desktop-door-tray-capabilities,.g-desktop-door-tray-detail-list,.g-desktop-door-tray-source-list,.g-desktop-door-tray-next-actions { display:grid;gap:8px;margin-top:14px }
.g-desktop-door-tray-capabilities>article,.g-desktop-door-tray-wish,.g-desktop-door-tray-idea,.g-desktop-door-tray-source-list>article,.g-desktop-door-tray-next-actions>article { padding:10px;border:1px solid var(--dc-line);background:rgba(17,10,25,.45) }
.g-desktop-door-tray-capabilities>article>div,.g-desktop-door-tray-wish>header,.g-desktop-door-tray-idea>header,.g-desktop-door-tray-source-list>article>header { display:flex;align-items:baseline;justify-content:space-between;gap:10px }
.g-desktop-door-tray-capabilities strong,.g-desktop-door-tray-wish strong,.g-desktop-door-tray-idea strong,.g-desktop-door-tray-source-list strong { color:var(--dc-ink);font:10px/1.4 "Space Mono","PingFang SC",monospace }.g-desktop-door-tray-capabilities span,.g-desktop-door-tray-wish header span,.g-desktop-door-tray-idea header span,.g-desktop-door-tray-source-list header span{color:var(--tray-gold);font:7px/1.3 "Space Mono","PingFang SC",monospace}
.g-desktop-door-tray-capabilities p,.g-desktop-door-tray-wish p,.g-desktop-door-tray-idea p,.g-desktop-door-tray-source-list p,.g-desktop-door-tray-note { margin:6px 0 0;color:var(--dc-dim);font:8px/1.55 "Space Mono","PingFang SC",monospace }.g-desktop-door-tray-wish small,.g-desktop-door-tray-idea small,.g-desktop-door-tray-source-list small{color:var(--dc-muted);font:7px/1.45 "Space Mono","PingFang SC",monospace}
.g-desktop-door-tray-idea button { margin-top:7px;padding:0;color:var(--tray-cyan);border:0;background:transparent;font:8px/1.3 "Space Mono","PingFang SC",monospace }.g-desktop-door-tray-source-list time{color:var(--dc-dim);font:7px/1.2 "Space Mono",monospace}.g-desktop-door-tray-source-list footer{display:flex;gap:12px;margin-top:7px;color:var(--dc-dim);font:7px/1.3 "Space Mono","PingFang SC",monospace}.g-desktop-door-tray-source-list footer i{margin-left:auto;color:var(--tray-green);font-style:normal}.g-desktop-door-tray-more{width:100%;margin-top:8px}
.g-desktop-door-tray-empty { min-height:72px;display:grid;place-content:center;margin:14px 0 0;padding:12px;color:var(--dc-dim);text-align:center;border:1px dashed var(--dc-line);font:8px/1.55 "Space Mono","PingFang SC",monospace }
.g-desktop-door-tray-idea-form { display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;margin-top:14px;padding:11px;border:1px solid rgba(241,200,117,.22);background:rgba(241,200,117,.035) }.g-desktop-door-tray-idea-form label{min-width:0;display:grid;gap:5px;color:var(--dc-dim);font:6px/1.2 "Press Start 2P","PingFang SC",monospace}.g-desktop-door-tray-idea-form input,.g-desktop-door-tray-idea-form textarea{box-sizing:border-box;min-width:0;width:100%;padding:8px;color:var(--dc-ink);border:1px solid var(--dc-line);border-radius:0;background:rgba(7,4,12,.62);font:8px/1.4 "Space Mono","PingFang SC",monospace;resize:vertical}
.g-desktop-door-tray-idea-form button,.g-desktop-door-tray-primary { min-height:31px;padding:0 11px;color:var(--dc-bg);border:1px solid var(--tray-gold);background:var(--tray-gold);font:7px/1 "Press Start 2P","PingFang SC",monospace }.g-desktop-door-tray-idea-form button:disabled{opacity:.5;cursor:default}.g-desktop-door-tray-primary{margin-top:14px}.g-desktop-door-tray-primary.active{border-color:var(--tray-green);background:var(--tray-green)}
.g-desktop-door-tray-stats { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0 0;border:1px solid var(--dc-line) }.g-desktop-door-tray-stats span{min-width:0;display:grid;gap:5px;padding:10px 8px;color:var(--dc-dim);border-right:1px solid var(--dc-line);font:6px/1.2 "Press Start 2P",monospace}.g-desktop-door-tray-stats span:last-child{border-right:0}.g-desktop-door-tray-stats b{overflow:hidden;color:var(--tray-gold);font:18px/1 "VT323",monospace;font-weight:400;text-overflow:ellipsis}
.g-desktop-door-tray-open-pair { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px }.g-desktop-door-tray-open-pair button{min-height:31px;color:var(--tray-cyan);border:1px solid rgba(120,229,238,.3);background:rgba(120,229,238,.055);font:8px/1 "Space Mono","PingFang SC",monospace}.g-desktop-door-tray-secondary{width:100%;margin-top:8px;color:var(--dc-dim);border-color:var(--dc-line);background:transparent}
.g-desktop-door-tray-next-actions>article { display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px }.g-desktop-door-tray-next-actions span{color:var(--tray-gold);font:14px/1 "VT323",monospace}.g-desktop-door-tray-next-actions p{margin:0;color:var(--dc-muted);font:9px/1.55 "Space Mono","PingFang SC",monospace}
.g-desktop-door-tray-context-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:15px }.g-desktop-door-tray-context-grid article{min-height:82px;display:grid;align-content:center;gap:5px;padding:11px;border:1px solid var(--dc-line);background:rgba(17,10,25,.45)}.g-desktop-door-tray-context-grid strong{overflow-wrap:anywhere;color:var(--tray-gold);font:18px/1.1 "VT323","Space Mono",monospace;font-weight:400}.g-desktop-door-tray-context-grid p,.g-desktop-door-tray-boundary p{margin:0;color:var(--dc-dim);font:8px/1.5 "Space Mono","PingFang SC",monospace}
.g-desktop-door-tray-boundary { display:grid;gap:7px;margin-top:13px;padding:12px;border:1px solid rgba(131,230,180,.24);background:rgba(131,230,180,.04);box-shadow:inset 3px 0 var(--tray-green) }
.g-desktop-door-tray-overview { display:grid;align-content:start;gap:5px }.g-desktop-door-tray-overview-mark{min-height:150px;display:grid;place-content:center;justify-items:center;gap:10px;margin:16px 0;color:var(--tray-gold);border:1px solid rgba(241,200,117,.22);background:radial-gradient(circle,rgba(241,200,117,.11),transparent 58%)}.g-desktop-door-tray-overview-mark svg{width:48px;height:48px}.g-desktop-door-tray-overview-mark span{color:var(--dc-dim);font:7px/1.2 "Press Start 2P",monospace}.g-desktop-door-tray-overview-mark b{color:var(--tray-gold);font:18px/1 "VT323",monospace;font-weight:400}.g-desktop-door-tray-overview>section{display:grid;gap:7px;padding:12px;border:1px solid var(--dc-line)}.g-desktop-door-tray-overview>section p{margin:0;color:var(--dc-muted);font:11px/1.6 "Noto Serif SC","Songti SC",serif}.g-desktop-door-tray-overview>button{margin-top:8px}
@container desktop-door-tray-window (min-width:980px){.g-desktop-door-tray-workspace{grid-template-columns:minmax(430px,.92fr) minmax(440px,1.08fr)}.g-desktop-door-tray-board{border-right:1px solid var(--dc-line)}.g-desktop-door-tray-reader{position:relative;inset:auto;z-index:auto;transform:none;background-color:rgba(6,4,10,.7)}.g-desktop-door-tray-idea-form{grid-template-columns:1fr;align-items:stretch}}
@container desktop-door-tray-window (max-width:620px){.g-desktop-door-tray-toolbar{min-height:82px;grid-template-columns:minmax(0,1fr) 32px;grid-template-rows:auto 26px}.g-desktop-door-tray-toolbar>div{grid-column:1;grid-row:1}.g-desktop-door-tray-toolbar>button:first-of-type{grid-column:1;grid-row:2;justify-self:start}.g-desktop-door-tray-toolbar>button:last-child{grid-column:2;grid-row:1}.g-desktop-door-tray-hero{grid-template-columns:44px minmax(0,1fr)}.g-desktop-door-tray-hero>span{width:44px;height:44px}.g-desktop-door-tray-card-grid,.g-desktop-door-tray-jars,.g-desktop-door-tray-context-grid,.g-desktop-door-tray-open-pair{grid-template-columns:1fr}.g-desktop-door-tray-card.is-wallet{grid-column:auto}.g-desktop-door-tray-idea-form{grid-template-columns:1fr;align-items:stretch}.g-desktop-door-tray-echo{grid-template-columns:1fr}.g-desktop-door-tray-echo small{grid-column:auto}}

.g-desktop-door-tray-card.is-journey{grid-column:1/-1;min-height:108px;box-shadow:inset 2px 0 var(--tray-cyan);background:radial-gradient(circle at 92% 12%,rgba(120,229,238,.12),transparent 32%),rgba(17,10,25,.5)}
.g-desktop-door-tray-card.is-journey>header>b{max-width:120px;overflow:hidden;color:var(--tray-cyan);font:7px/1.3 "Press Start 2P","PingFang SC",monospace;text-overflow:ellipsis;white-space:nowrap}
.g-desktop-journey-detail>.journey-door-card{margin-top:16px;padding:18px;border-color:var(--dc-line);background:radial-gradient(circle at 92% 8%,rgba(120,229,238,.08),transparent 34%),rgba(9,5,15,.56);box-shadow:inset 3px 0 var(--tray-cyan)}
.g-desktop-journey-detail .journey-invite-form,.g-desktop-journey-detail .journey-invitation-summary,.g-desktop-journey-detail .journey-away-card,.g-desktop-journey-detail .journey-return-card{gap:16px}
.g-desktop-journey-detail .journey-invite-form>header strong,.g-desktop-journey-detail .journey-invitation-summary>header strong,.g-desktop-journey-detail .journey-return-card>header strong,.g-desktop-journey-detail .journey-away-card>strong{color:var(--dc-ink);font:500 16px/1.4 "Noto Serif SC","Songti SC",serif}
.g-desktop-journey-detail .journey-invite-form>header p,.g-desktop-journey-detail .journey-invitation-summary>p,.g-desktop-journey-detail .journey-away-card>p,.g-desktop-journey-detail .journey-place-summary,.g-desktop-journey-detail .journey-return-card blockquote p{color:var(--dc-dim);font:8px/1.7 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-detail .journey-invite-form>header small,.g-desktop-journey-detail .journey-invitation-summary>header small,.g-desktop-journey-detail .journey-return-card>header small,.g-desktop-journey-detail .journey-action-timeline small{color:var(--tray-cyan);font:6px/1.2 "Press Start 2P","PingFang SC",monospace}
.g-desktop-journey-detail .journey-invite-form>label,.g-desktop-journey-detail .journey-optional-row>label,.g-desktop-journey-detail :is(.journey-mode-field,.journey-budget-field) legend{float:none;width:100%;max-width:100%;margin:0 0 6px;padding:0;color:var(--dc-dim);font:7px/1.3 "Space Mono","PingFang SC",monospace;overflow-wrap:normal;word-break:keep-all;white-space:normal}
.g-desktop-journey-detail .journey-invite-form :is(input[type="text"],input:not([type]),textarea,select),.g-desktop-journey-detail .journey-optional-row :is(input,select){min-height:36px;padding:9px 10px;color:var(--dc-ink);border-color:var(--dc-line);background:rgba(7,4,12,.72);font:8px/1.4 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-detail .journey-invite-form textarea{min-height:72px}.g-desktop-journey-detail .journey-choice-grid{gap:9px}.g-desktop-journey-detail .journey-mode-field,.g-desktop-journey-detail .journey-budget-field{gap:8px}
.g-desktop-journey-detail .journey-mode-field label,.g-desktop-journey-detail .journey-budget-field label{min-height:52px;padding:10px;border-color:var(--dc-line);background:rgba(17,10,25,.46)}
.g-desktop-journey-detail .journey-mode-field label.active,.g-desktop-journey-detail .journey-budget-field label.active{border-color:rgba(120,229,238,.52);background:rgba(120,229,238,.06);box-shadow:inset 2px 0 var(--tray-cyan)}
.g-desktop-journey-detail .journey-mode-field span{color:var(--dc-ink);font:8px/1.3 "Space Mono","PingFang SC",monospace}.g-desktop-journey-detail .journey-mode-field small,.g-desktop-journey-detail .journey-budget-field small{color:var(--dc-dim);font-size:6px}.g-desktop-journey-detail .journey-budget-field span{color:var(--tray-cyan);font-size:14px}
.g-desktop-journey-detail .journey-hard-boundary,.g-desktop-journey-detail .journey-boundary-grid{border-color:var(--dc-line);background:var(--dc-line)}.g-desktop-journey-detail .journey-hard-boundary span,.g-desktop-journey-detail .journey-boundary-grid span{padding:11px 9px;background:rgba(9,5,15,.88);color:var(--dc-dim);font-size:6px}.g-desktop-journey-detail .journey-hard-boundary b,.g-desktop-journey-detail .journey-boundary-grid b{color:var(--tray-cyan)}
.g-desktop-journey-detail .journey-build-invite,.g-desktop-journey-detail .journey-confirm,.g-desktop-journey-detail .journey-locked button{min-height:36px;border-color:var(--tray-cyan);background:var(--tray-cyan);color:var(--dc-bg);-webkit-text-fill-color:var(--dc-bg);font:7px/1 "Press Start 2P","PingFang SC",monospace}
.g-desktop-journey-detail .journey-invitation-summary>footer button:last-child,.g-desktop-journey-detail .journey-away-card>button,.g-desktop-journey-detail .journey-return-card>footer button{min-height:34px;color:var(--dc-dim);border-color:var(--dc-line);font-size:7px}
.g-desktop-journey-detail .journey-action-timeline{gap:10px}.g-desktop-journey-detail .journey-action-timeline>article{grid-template-columns:27px minmax(0,1fr);gap:10px;padding:11px;border-color:var(--dc-line);background:rgba(17,10,25,.44)}.g-desktop-journey-detail .journey-action-timeline>article>span{color:var(--tray-cyan);font-size:11px}.g-desktop-journey-detail .journey-action-timeline strong{color:var(--dc-ink);font-size:8px}.g-desktop-journey-detail .journey-action-timeline p,.g-desktop-journey-detail .journey-empty{color:var(--dc-dim);font-size:7px}
.g-desktop-journey-detail .journey-return-card blockquote{padding:14px 15px;border-color:var(--dc-line);box-shadow:inset 2px 0 var(--tray-cyan)}.g-desktop-journey-detail .journey-return-card>footer{gap:9px;padding-top:2px}.g-desktop-journey-detail .journey-return-card>footer span{color:var(--dc-dim);font-size:6px}
.g-desktop-journey-detail .journey-subject-note{padding:6px 8px;border-left-color:var(--tray-cyan);background:rgba(17,10,25,.44);color:var(--dc-dim);font:7px/1.5 "Space Mono","PingFang SC",monospace}.g-desktop-journey-detail .journey-return-card>footer .journey-confirm{color:var(--dc-bg);border-color:var(--tray-cyan);background:var(--tray-cyan)}
.g-desktop-journey-detail .journey-locked{border-color:var(--dc-line);background:rgba(17,10,25,.44)}.g-desktop-journey-detail .journey-locked strong{color:var(--dc-ink);font-size:9px}.g-desktop-journey-detail .journey-locked p{color:var(--dc-dim);font-size:7px}

/* Nowhere Phase 2B journey reader. Compact windows use a full reader overlay; wide windows keep history and detail independent. */
.g-desktop-journey-detail{padding:0}
.g-desktop-journey-small-hub,.g-desktop-journey-reader-host{box-sizing:border-box;min-width:0;min-height:100%;padding:20px clamp(14px,3.4cqi,32px) 34px}
.g-desktop-journey-small-hub{display:none}
.g-desktop-door-tray-app.is-journey-history .g-desktop-journey-small-hub{display:block}
.g-desktop-door-tray-app.is-journey-history .g-desktop-journey-reader-host{display:none}
.g-desktop-journey-rail{min-width:0;display:grid;align-content:start;gap:15px}
.g-desktop-journey-rail>header{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;padding:0 0 14px 9px;border-bottom:1px solid var(--dc-line2);box-shadow:inset 3px 0 var(--tray-cyan)}
.g-desktop-journey-rail>header>.material-symbols-outlined{width:40px;height:40px;display:grid;place-items:center;color:var(--tray-cyan);border:1px solid rgba(120,229,238,.25);font-size:22px}
.g-desktop-journey-rail>header>div{min-width:0;display:grid;gap:4px}
.g-desktop-journey-rail>header small,.g-desktop-journey-invite-entry small,.g-desktop-journey-detail :is(.journey-history-list>header small,.journey-reader-hero small,.journey-reader-keepsakes small,.journey-return-routes small,.journey-source-detail>header small,.journey-source-detail>aside small){color:var(--tray-cyan);font:6px/1.2 "Press Start 2P","PingFang SC",monospace}
.g-desktop-journey-rail>header h2{margin:0;color:var(--dc-ink);font:500 20px/1.35 "Noto Serif SC","Songti SC",serif}
.g-desktop-journey-rail>header p{margin:0;color:var(--dc-dim);font:8px/1.5 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-invite-entry{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid rgba(120,229,238,.22);background:rgba(120,229,238,.04);box-shadow:inset 2px 0 var(--tray-cyan)}
.g-desktop-journey-invite-entry>div{min-width:0;display:grid;gap:5px}.g-desktop-journey-invite-entry strong{color:var(--dc-ink);font:500 13px/1.4 "Noto Serif SC","Songti SC",serif}.g-desktop-journey-invite-entry p{margin:0;color:var(--dc-dim);font:7px/1.5 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-invite-entry button{min-height:30px;padding:0 9px;color:var(--tray-cyan);border:1px solid rgba(120,229,238,.3);background:rgba(120,229,238,.055);font:7px/1 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-rail .journey-door-card{margin:0;padding:14px;border-color:var(--dc-line);background:radial-gradient(circle at 92% 8%,rgba(120,229,238,.08),transparent 34%),rgba(9,5,15,.56);box-shadow:inset 3px 0 var(--tray-cyan)}
.g-desktop-journey-rail .journey-invite-form{gap:14px}
.g-desktop-journey-detail .journey-history-list{gap:8px}
.g-desktop-journey-detail .journey-history-list>header{padding-bottom:7px;border-color:var(--dc-line)}
.g-desktop-journey-detail .journey-history-list>header strong{color:var(--dc-ink);font:500 13px/1.35 "Noto Serif SC","Songti SC",serif}
.g-desktop-journey-detail .journey-history-list>header>span{color:var(--tray-cyan);font:17px/1 "VT323",monospace}
.g-desktop-journey-detail .journey-history-stack{gap:7px}
.g-desktop-journey-detail .journey-history-card{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:10px;color:var(--dc-ink);border-color:var(--dc-line);background:rgba(17,10,25,.44);box-shadow:inset 2px 0 rgba(120,229,238,.26)}
.g-desktop-journey-detail .journey-history-card:hover,.g-desktop-journey-detail .journey-history-card.is-selected{border-color:rgba(120,229,238,.54);background:rgba(120,229,238,.06);box-shadow:inset 3px 0 var(--tray-cyan)}
.g-desktop-journey-detail .journey-history-card>span{color:var(--tray-cyan);font:6px/1.3 "Press Start 2P","PingFang SC",monospace}
.g-desktop-journey-detail .journey-history-card>strong{color:var(--dc-ink);font:500 10px/1.4 "Noto Serif SC","Songti SC",serif}
.g-desktop-journey-detail .journey-history-card>small{color:var(--dc-dim);font:7px/1.35 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-detail .journey-history-card>i{color:var(--tray-cyan);font-size:12px}
.g-desktop-journey-detail .journey-history-more{min-height:30px;color:var(--tray-cyan);border-color:rgba(120,229,238,.3);font:7px/1 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-reader-detail,.g-desktop-journey-source-reader{min-width:0;display:grid;align-content:start;gap:12px}
.g-desktop-journey-detail .journey-reader-detail,.g-desktop-journey-detail .journey-source-detail{gap:15px;padding:0;border:0;background:transparent;box-shadow:none}
.g-desktop-journey-detail .journey-reader-hero{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:0 0 14px 10px;border-color:var(--dc-line2);box-shadow:inset 3px 0 var(--tray-cyan)}
.g-desktop-journey-detail .journey-reader-hero>div{gap:5px}
.g-desktop-journey-detail .journey-reader-hero strong{color:var(--dc-ink);font:500 clamp(15px,2.1cqi,21px)/1.45 "Noto Serif SC","Songti SC",serif}
.g-desktop-journey-detail .journey-reader-hero p{color:var(--dc-dim);font:8px/1.55 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-detail .journey-reader-hero>span{max-width:118px;color:var(--tray-cyan);border-color:var(--dc-line);font:6px/1.4 "Press Start 2P","PingFang SC",monospace}
.g-desktop-journey-detail .journey-reader-meta{grid-template-columns:repeat(4,minmax(0,1fr));border-color:var(--dc-line);background:var(--dc-line)}
.g-desktop-journey-detail .journey-reader-meta>span{padding:9px 8px;color:var(--dc-dim);background:rgba(9,5,15,.88);font:6px/1.4 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-detail .journey-reader-meta b{color:var(--tray-cyan);font-size:7px}
.g-desktop-journey-detail .journey-reader-timeline{gap:8px}
.g-desktop-journey-detail .journey-reader-stop{grid-template-columns:27px minmax(0,1fr);gap:10px;padding:11px;color:var(--dc-ink);border-color:var(--dc-line);background:rgba(17,10,25,.44)}
.g-desktop-journey-detail .journey-reader-stop:hover{border-color:rgba(120,229,238,.5);background:rgba(120,229,238,.055)}
.g-desktop-journey-detail .journey-reader-stop>span{color:var(--tray-cyan);font-size:11px}
.g-desktop-journey-detail .journey-reader-stop>div{gap:4px}
.g-desktop-journey-detail .journey-reader-stop small{color:var(--tray-cyan);font:6px/1.2 "Press Start 2P","PingFang SC",monospace}
.g-desktop-journey-detail .journey-reader-stop strong{color:var(--dc-ink);font:9px/1.4 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-detail .journey-reader-stop p{color:var(--dc-dim);font:7px/1.55 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-detail .journey-reader-stop i{color:var(--tray-cyan);font:normal 6px/1.3 "Press Start 2P","PingFang SC",monospace}
.g-desktop-journey-detail .journey-reader-keepsakes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.g-desktop-journey-detail .journey-reader-keepsakes>:is(article,blockquote){gap:6px;padding:12px;border-color:var(--dc-line);background:rgba(17,10,25,.44)}
.g-desktop-journey-detail .journey-reader-keepsakes>blockquote{box-shadow:inset 2px 0 var(--tray-cyan)}
.g-desktop-journey-detail .journey-reader-keepsakes strong{color:var(--dc-ink);font:500 10px/1.45 "Noto Serif SC","Songti SC",serif}
.g-desktop-journey-detail .journey-reader-keepsakes p{color:var(--dc-dim);font:7px/1.65 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-detail .journey-return-routes{gap:8px;padding:11px;border-color:var(--dc-line);background:rgba(17,10,25,.4)}
.g-desktop-journey-detail .journey-return-routes>header strong{color:var(--dc-ink);font-size:9px}
.g-desktop-journey-detail .journey-return-routes>div span{padding:5px 7px;color:var(--dc-dim);border-color:var(--dc-line);font:6px/1.2 "Press Start 2P","PingFang SC",monospace}
.g-desktop-journey-detail .journey-return-routes>div span.is-kept,.g-desktop-journey-detail .journey-return-routes>div span.is-shared{color:var(--tray-cyan);border-color:rgba(120,229,238,.35)}
.g-desktop-journey-detail .journey-return-routes>p{color:var(--dc-dim);font:7px/1.5 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-detail .journey-return-actions{gap:10px;padding:12px;border-color:var(--dc-line);background:rgba(17,10,25,.4)}
.g-desktop-journey-detail .journey-return-actions>header{gap:4px}.g-desktop-journey-detail .journey-return-actions>header small{color:var(--tray-cyan);font:6px/1.2 "Press Start 2P","PingFang SC",monospace}.g-desktop-journey-detail .journey-return-actions>header strong{color:var(--dc-ink);font:500 10px/1.4 "Noto Serif SC","Songti SC",serif}.g-desktop-journey-detail .journey-return-actions>header p{color:var(--dc-dim);font:7px/1.5 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-detail .journey-return-actions>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.g-desktop-journey-detail .journey-return-actions article{align-content:start;gap:6px;padding:10px;border-color:var(--dc-line);background:rgba(9,5,15,.68)}.g-desktop-journey-detail .journey-return-actions article.is-kept{border-color:rgba(120,229,238,.42);box-shadow:inset 2px 0 var(--tray-cyan)}
.g-desktop-journey-detail .journey-return-actions article>small{color:var(--tray-cyan);font:5px/1.25 "Press Start 2P","PingFang SC",monospace}.g-desktop-journey-detail .journey-return-actions article>strong{color:var(--dc-ink);font-size:8px}.g-desktop-journey-detail .journey-return-actions article>p{color:var(--dc-dim);font-size:6px}.g-desktop-journey-detail .journey-return-actions article>button{min-height:30px;padding:0 8px;color:var(--tray-cyan);border-color:rgba(120,229,238,.4);font:6px/1.2 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-detail .journey-reader-actions{gap:8px}.g-desktop-journey-detail .journey-reader-actions button{min-height:32px;padding:0 9px;color:var(--dc-dim);border-color:var(--dc-line);font:7px/1 "Space Mono","PingFang SC",monospace}.g-desktop-journey-detail .journey-reader-actions .journey-confirm{color:var(--dc-bg);border-color:var(--tray-cyan);background:var(--tray-cyan)}
.g-desktop-journey-detail .journey-source-detail>header{gap:6px;padding-bottom:13px;border-color:var(--dc-line2)}.g-desktop-journey-detail .journey-source-detail>header strong{color:var(--dc-ink);font:500 18px/1.4 "Noto Serif SC","Songti SC",serif}.g-desktop-journey-detail .journey-source-detail>header p{color:var(--dc-dim);font:8px/1.65 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-detail .journey-source-detail>dl{border-color:var(--dc-line);background:var(--dc-line)}.g-desktop-journey-detail .journey-source-detail>dl>div{padding:10px;background:rgba(9,5,15,.88)}.g-desktop-journey-detail .journey-source-detail dt{color:var(--dc-dim);font:6px/1.2 "Press Start 2P","PingFang SC",monospace}.g-desktop-journey-detail .journey-source-detail dd{color:var(--dc-muted);font:8px/1.5 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-detail .journey-source-detail>aside{padding:11px;border-left-color:var(--tray-cyan);background:rgba(17,10,25,.44)}.g-desktop-journey-detail .journey-source-detail>aside p{color:var(--dc-dim);font:7px/1.6 "Space Mono","PingFang SC",monospace}.g-desktop-journey-detail .journey-source-detail>a{color:var(--tray-cyan);font:7px/1.4 "Space Mono","PingFang SC",monospace}
.g-desktop-journey-detail .journey-reader-empty{min-height:260px;color:var(--dc-dim);border-color:var(--dc-line)}.g-desktop-journey-detail .journey-reader-empty>strong{color:var(--dc-ink);font:500 18px/1.4 "Noto Serif SC","Songti SC",serif}.g-desktop-journey-detail .journey-reader-empty>p{color:var(--dc-dim);font:8px/1.6 "Space Mono","PingFang SC",monospace}

@container desktop-door-tray-window (min-width:980px){
  .g-desktop-door-tray-workspace.is-journey-workspace{grid-template-columns:minmax(370px,.74fr) minmax(520px,1.26fr)}
  .g-desktop-door-tray-workspace.is-journey-workspace .g-desktop-door-tray-board{padding:18px clamp(14px,2.2cqi,26px) 34px}
  .g-desktop-journey-small-hub,.g-desktop-door-tray-app.is-journey-history .g-desktop-journey-small-hub{display:none}
  .g-desktop-journey-reader-host,.g-desktop-door-tray-app.is-journey-history .g-desktop-journey-reader-host{display:block}
}
@container desktop-door-tray-window (max-width:620px){.g-desktop-door-tray-card.is-journey{grid-column:auto}.g-desktop-journey-detail .journey-mode-field .journey-choice-grid,.g-desktop-journey-detail .journey-hard-boundary{grid-template-columns:1fr}.g-desktop-journey-detail .journey-optional-row{grid-template-columns:1fr}.g-desktop-journey-detail .journey-boundary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g-desktop-journey-detail .journey-return-actions>div{grid-template-columns:1fr}}

/* Senses / MCP: real mobile-shared connections in a desktop gate + reader. */
.g-desktop-window:has(.g-desktop-senses-app) .g-desktop-window-body{overflow:hidden}
.g-desktop-senses-app{--sense-cyan:#65e6f2;--sense-green:#75e7ae;--sense-pink:#ef78d3;container:desktop-senses-window / inline-size;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;color:var(--dc-ink);background:radial-gradient(ellipse at 9% 4%,rgba(101,230,242,.11),transparent 31%),radial-gradient(ellipse at 92% 82%,rgba(239,120,211,.08),transparent 35%),linear-gradient(180deg,rgba(8,5,14,.96),rgba(4,3,8,.99))}
.g-desktop-senses-app button{border-radius:0;cursor:pointer}
.g-desktop-senses-toolbar{min-width:0;min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--dc-line);background:rgba(12,8,18,.8)}
.g-desktop-senses-toolbar>div{min-width:0;display:grid;gap:4px}.g-desktop-senses-toolbar small,.g-desktop-senses-section-head span,.g-desktop-senses-detail>header small{color:var(--sense-cyan);font:6px/1.2 "Press Start 2P",monospace}.g-desktop-senses-toolbar strong{color:var(--dc-ink);font:10px/1.2 "Press Start 2P",monospace}.g-desktop-senses-toolbar span{overflow:hidden;color:var(--dc-dim);font:8px/1.2 "Space Mono","PingFang SC",monospace;text-overflow:ellipsis;white-space:nowrap}
.g-desktop-senses-toolbar>button{min-height:30px;padding:0 10px;color:var(--sense-cyan);border:1px solid rgba(101,230,242,.3);background:rgba(101,230,242,.055);font:7px/1 "Press Start 2P","PingFang SC",monospace}.g-desktop-senses-toolbar>button:last-child{width:32px;padding:0}
.g-desktop-senses-workspace{min-width:0;min-height:0;flex:1;position:relative;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}.g-desktop-senses-board{min-width:0;min-height:0;overflow:auto;padding:14px clamp(12px,2.8cqi,24px) 32px;scrollbar-color:var(--dc-purple) transparent}
.g-desktop-senses-loading,.g-desktop-senses-notice{display:flex;align-items:center;gap:9px;margin-bottom:10px;padding:8px 10px;color:var(--dc-dim);border:1px solid var(--dc-line);font:8px/1.45 "Space Mono","PingFang SC",monospace}.g-desktop-senses-loading span{width:7px;height:7px;background:var(--sense-green);box-shadow:0 0 10px var(--sense-green)}.g-desktop-senses-loading p{margin:0}.g-desktop-senses-notice{color:var(--sense-cyan)}
.g-desktop-senses-hero{min-width:0;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px;border:1px solid rgba(101,230,242,.28);background:linear-gradient(105deg,rgba(101,230,242,.095),rgba(239,120,211,.035));box-shadow:inset 3px 0 var(--sense-cyan)}.g-desktop-senses-hero>.material-symbols-outlined{width:52px;height:52px;display:grid;place-items:center;color:var(--sense-cyan);border:1px solid rgba(101,230,242,.24);font-size:29px}.g-desktop-senses-hero>div{min-width:0;display:grid;gap:4px}.g-desktop-senses-hero small{color:var(--sense-cyan);font:6px/1.2 "Press Start 2P",monospace}.g-desktop-senses-hero h2{margin:0;color:var(--dc-ink);font:500 clamp(16px,2.6cqi,23px)/1.4 "Noto Serif SC","Songti SC",serif}.g-desktop-senses-hero p{margin:0;color:var(--dc-dim);font:8px/1.45 "Space Mono","PingFang SC",monospace}.g-desktop-senses-hero>b{color:var(--sense-cyan);font:25px/1 "VT323",monospace;font-weight:400}
.g-desktop-senses-section-head{display:flex;justify-content:space-between;gap:12px;margin:15px 0 7px;padding-bottom:6px;border-bottom:1px solid var(--dc-line)}.g-desktop-senses-section-head i{color:var(--dc-dim);font:normal 7px/1.2 "Space Mono",monospace}
.g-desktop-senses-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.g-desktop-senses-grid.is-foundation{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-desktop-senses-card{min-width:0;min-height:88px;display:grid;grid-template-columns:27px minmax(0,1fr) auto;grid-template-rows:1fr auto;align-items:start;gap:6px 8px;padding:10px;color:var(--dc-ink);text-align:left;border:1px solid var(--dc-line);background:rgba(17,10,25,.48);box-shadow:inset 2px 0 rgba(101,230,242,.32)}.g-desktop-senses-card:hover{border-color:rgba(101,230,242,.5);background:rgba(101,230,242,.06);box-shadow:inset 2px 0 var(--sense-cyan)}.g-desktop-senses-card>.material-symbols-outlined{color:var(--sense-cyan);font-size:21px}.g-desktop-senses-card>div{min-width:0;display:grid;gap:3px}.g-desktop-senses-card strong{overflow:hidden;color:var(--dc-ink);font:10px/1.3 "Space Mono","PingFang SC",monospace;text-overflow:ellipsis;white-space:nowrap}.g-desktop-senses-card small{overflow:hidden;color:var(--dc-dim);font:7px/1.4 "Space Mono","PingFang SC",monospace;text-overflow:ellipsis;white-space:nowrap}.g-desktop-senses-card>b{color:var(--sense-pink);font:6px/1.3 "Press Start 2P",monospace;text-align:right}.g-desktop-senses-card>i{grid-column:1/-1;align-self:end;height:2px;background:linear-gradient(90deg,var(--sense-cyan),transparent 70%);opacity:.35}.g-desktop-senses-card.is-enabled>i{background:linear-gradient(90deg,var(--sense-green),transparent 70%);opacity:.78}.g-desktop-senses-card.is-planned{opacity:.62;box-shadow:inset 2px 0 var(--dc-dim)}
.g-desktop-senses-boundary{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;padding:10px;border:1px solid rgba(117,231,174,.22);background:rgba(117,231,174,.035);box-shadow:inset 3px 0 var(--sense-green)}.g-desktop-senses-boundary span{color:var(--dc-dim);font:7px/1.4 "Space Mono","PingFang SC",monospace}
.g-desktop-senses-reader{min-width:0;min-height:0;position:absolute;inset:0;z-index:8;overflow:auto;transform:translateX(101%);border-left:1px solid var(--dc-line);background:radial-gradient(ellipse at 12% 7%,rgba(101,230,242,.08),transparent 34%),rgba(6,4,10,.995);transition:transform .16s steps(3,end);scrollbar-color:var(--dc-purple) transparent}.g-desktop-senses-app.is-panel-open .g-desktop-senses-reader{transform:translateX(0)}
.g-desktop-senses-detail{box-sizing:border-box;min-height:100%;padding:20px clamp(14px,3.4cqi,32px) 34px}.g-desktop-senses-back{margin-bottom:12px;padding:0;color:var(--sense-cyan);border:0;background:transparent;font:7px/1.2 "Press Start 2P",monospace}.g-desktop-senses-detail>header{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:14px;padding:0 0 14px 10px;border-bottom:1px solid var(--dc-line2);box-shadow:inset 3px 0 var(--sense-cyan)}.g-desktop-senses-detail>header>.material-symbols-outlined{width:42px;height:42px;display:grid;place-items:center;color:var(--sense-cyan);border:1px solid rgba(101,230,242,.24);font-size:23px}.g-desktop-senses-detail>header h2{margin:4px 0;color:var(--dc-ink);font:500 clamp(19px,3cqi,28px)/1.35 "Noto Serif SC","Songti SC",serif}.g-desktop-senses-detail>header p{margin:0;color:var(--dc-dim);font:8px/1.4 "Space Mono","PingFang SC",monospace}.g-desktop-senses-detail>header>b{color:var(--sense-pink);font:6px/1.3 "Press Start 2P",monospace}
.g-desktop-senses-reader-home{min-height:100%;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;text-align:center}.g-desktop-senses-reader-home>.material-symbols-outlined{color:var(--sense-cyan);font-size:48px}.g-desktop-senses-reader-home strong{color:var(--dc-ink);font:18px/1.4 "Noto Serif SC","Songti SC",serif}.g-desktop-senses-reader-home p{max-width:320px;margin:0;color:var(--dc-dim);font:9px/1.6 "Space Mono","PingFang SC",monospace}
.g-desktop-senses-native-form{display:grid;gap:13px;padding:13px;border:1px solid var(--dc-line);background:rgba(17,10,25,.42)}.g-desktop-senses-native-form .senses-row{gap:9px}.g-desktop-senses-native-form label{color:var(--dc-muted)}.g-desktop-senses-native-form input,.g-desktop-senses-native-form textarea{box-sizing:border-box;min-width:0;border-radius:0!important;background:rgba(7,4,12,.7)!important;color:var(--dc-ink)!important}.g-desktop-senses-native-form .senses-actions{flex-wrap:wrap}.g-desktop-senses-native-form button{border-radius:0!important}.g-desktop-senses-empty{padding:12px;color:var(--dc-dim);border:1px dashed var(--dc-line);font:8px/1.55 "Space Mono","PingFang SC",monospace}
.g-desktop-senses-planned{min-height:260px;display:grid;place-content:center;justify-items:center;gap:10px;padding:20px;text-align:center;border:1px dashed var(--dc-line)}.g-desktop-senses-planned>.material-symbols-outlined{color:var(--dc-dim);font-size:46px}.g-desktop-senses-planned strong{color:var(--dc-ink);font:16px/1.4 "Noto Serif SC","Songti SC",serif}.g-desktop-senses-planned p{max-width:390px;margin:0;color:var(--dc-dim);font:9px/1.65 "Space Mono","PingFang SC",monospace}.g-desktop-senses-planned small{color:var(--sense-cyan);font:6px/1.2 "Press Start 2P",monospace}
.g-desktop-senses-legacy>.xhs-panel-backdrop{position:static!important;inset:auto!important;z-index:auto!important;display:block!important;min-height:0!important;padding:0!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.g-desktop-senses-legacy .xhs-panel-card{box-sizing:border-box!important;width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.g-desktop-senses-legacy .xhs-panel-close{display:none!important}.g-desktop-senses-legacy .xhs-panel-head{display:none!important}.g-desktop-senses-legacy :is(button,input,textarea,select){border-radius:0!important}.g-desktop-senses-legacy :is(input,textarea,select){box-sizing:border-box;max-width:100%;background:rgba(7,4,12,.72);color:var(--dc-ink)}.g-desktop-senses-legacy :is(.xhs-sense-mode,.xhs-cookie-box,.arcade-board,.mcdonalds-config-sheet,.world-pulse-reading,.world-pulse-meta){border-radius:0}.g-desktop-senses-legacy .world-pulse-panel{display:block}.g-desktop-senses-legacy .world-pulse-close{display:none!important}
/* Desktop Senses density owns every reused phone module, including native-looking choices. */
.g-desktop-senses-detail{font-size:10px}.g-desktop-senses-detail>header h2{font-size:20px}.g-desktop-senses-reader :is(h3,h4){margin-block:6px!important;font-size:14px!important;line-height:1.35!important}.g-desktop-senses-reader :is(p,label,li,a,em,small,span:not(.material-symbols-outlined)){font-size:9px!important;line-height:1.45!important}.g-desktop-senses-reader :is(strong,b){font-size:10px!important;line-height:1.4!important}.g-desktop-senses-reader :is(input,textarea,select){box-sizing:border-box!important;min-width:0!important;min-height:30px!important;padding:6px 8px!important;color:var(--dc-ink)!important;border:1px solid var(--dc-line2)!important;border-radius:0!important;background:rgba(7,4,12,.82)!important;box-shadow:none!important;font:10px/1.35 "Space Mono","PingFang SC",monospace!important}.g-desktop-senses-reader textarea{min-height:54px!important;resize:vertical}.g-desktop-senses-reader select{appearance:none!important;-webkit-appearance:none!important;background-color:rgba(7,4,12,.92)!important;color-scheme:dark}.g-desktop-senses-reader :is(input,textarea,select):focus{outline:1px solid var(--sense-cyan)!important;outline-offset:-1px!important}.g-desktop-senses-reader input[type="checkbox"]{width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;accent-color:var(--dc-purple)!important}
.g-desktop-senses-reader button:not(.g-desktop-senses-back){box-sizing:border-box;min-height:28px!important;padding:6px 9px!important;border-radius:0!important;font:9px/1.25 "Space Mono","PingFang SC",monospace!important}.g-desktop-senses-reader :is(.senses-actions,.music-senses-actions,.mcdonalds-token-actions,.wake-schedule-item-actions){gap:6px!important}.g-desktop-senses-reader :is(.music-senses-compact,.mcdonalds-config-sheet,.notification-content-setting,.wake-schedule-manager,.push-device-manager,.arcade-board){gap:10px!important;padding:11px!important}.g-desktop-senses-reader :is(.music-connect-guide,.music-connection-row,.mcdonalds-token-note,.world-pulse-meta){gap:6px!important}.g-desktop-senses-reader .music-senses-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.g-desktop-senses-reader .music-senses-actions button{min-height:32px!important;font-size:10px!important}.g-desktop-senses-reader .music-connection-row>span{min-height:44px!important;padding:8px!important}.g-desktop-senses-reader .mcdonalds-token-actions{display:flex!important;flex-wrap:wrap!important}.g-desktop-senses-reader .mcdonalds-token-actions button{flex:0 1 auto!important}.g-desktop-senses-reader .notification-content-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}.g-desktop-senses-reader .notification-content-option{min-height:44px!important;display:grid!important;grid-template-columns:12px minmax(0,1fr)!important;align-items:start!important;gap:7px!important;padding:8px!important;color:var(--dc-muted)!important;text-align:left!important;border:1px solid var(--dc-line)!important;background:rgba(13,8,21,.74)!important;box-shadow:none!important}.g-desktop-senses-reader .notification-content-option:hover,.g-desktop-senses-reader .notification-content-option.active{color:var(--dc-ink)!important;border-color:rgba(101,230,242,.48)!important;background:rgba(101,230,242,.07)!important}.g-desktop-senses-reader .notification-content-option i{width:9px!important;height:9px!important;margin-top:2px!important;border:1px solid var(--sense-cyan)!important;border-radius:0!important;background:transparent!important}.g-desktop-senses-reader .notification-content-option.active i{background:var(--sense-cyan)!important;box-shadow:0 0 6px rgba(101,230,242,.55)!important}.g-desktop-senses-reader .notification-content-option span{display:grid!important;gap:2px!important}.g-desktop-senses-reader .notification-content-copy{display:grid!important;gap:3px!important}.g-desktop-senses-reader :is(.wake-schedule-item,.push-device-item){padding:9px!important}.g-desktop-senses-reader .wake-schedule-main{padding:0!important}.g-desktop-senses-reader .wake-schedule-days button{min-width:28px!important;padding-inline:6px!important}.g-desktop-senses-reader .world-pulse-lanes{gap:5px!important}.g-desktop-senses-reader .world-pulse-lanes button{min-height:42px!important}.g-desktop-senses-reader .world-pulse-list li{gap:8px!important;padding-block:8px!important}
.g-desktop-senses-reader .cloud-browser-body{--color-panel-solid:rgba(6,4,10,.995);--color-text:var(--dc-ink);--color-text-muted:var(--dc-muted);--color-surface-raised:rgba(17,10,25,.74);--color-surface:rgba(13,8,21,.72);--color-border:var(--dc-line);--color-border-strong:rgba(101,230,242,.38);--color-accent:var(--sense-cyan);--color-accent-soft:rgba(101,230,242,.09);--color-accent-strong:var(--sense-cyan);--color-on-accent:#06040a;padding:0 0 26px}.g-desktop-senses-reader .cloud-browser-body :is(.cloud-browser-boundary,.cloud-browser-setup,.cloud-browser-live,.cloud-browser-sites>div button,.cloud-browser-sessions article,.cloud-browser-empty,.cloud-browser-status){border-radius:0!important}.g-desktop-senses-reader .cloud-browser-body>footer span{color:var(--dc-dim);background:rgba(101,230,242,.06)}
.g-desktop-senses-reader :is(.senses-toggle,.mcdonalds-enable-row,.spicy-switch-row){min-width:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) 48px 24px!important;align-items:center!important;justify-content:stretch!important;gap:8px!important;min-height:30px!important;color:var(--dc-muted)!important;cursor:pointer}.g-desktop-senses-reader :is(.senses-toggle,.mcdonalds-enable-row,.spicy-switch-row)>span{order:0!important;min-width:0!important}.g-desktop-senses-reader :is(.senses-toggle,.mcdonalds-enable-row,.spicy-switch-row)::after{content:"关闭";color:var(--dc-dim);font:7px/1 "Press Start 2P","PingFang SC",monospace}.g-desktop-senses-reader :is(.senses-toggle,.mcdonalds-enable-row,.spicy-switch-row):has(input:checked)::after{content:"开启";color:var(--sense-cyan)}.g-desktop-senses-reader :is(.senses-toggle,.mcdonalds-enable-row,.spicy-switch-row)>input[type="checkbox"]{order:0!important;position:relative!important;width:48px!important;height:22px!important;min-height:22px!important;display:block!important;margin:0!important;padding:0!important;appearance:none!important;-webkit-appearance:none!important;border:1px solid var(--dc-line2)!important;border-radius:0!important;background:rgba(7,4,12,.92)!important;box-shadow:inset 0 0 0 2px rgba(91,56,144,.12)!important;cursor:pointer}.g-desktop-senses-reader :is(.senses-toggle,.mcdonalds-enable-row,.spicy-switch-row)>input[type="checkbox"]::after{content:""!important;position:absolute!important;top:3px!important;left:3px!important;width:14px!important;height:14px!important;border-radius:0!important;background:var(--dc-dim)!important;box-shadow:none!important;transform:none!important;transition:transform .14s steps(2,end),background .14s steps(2,end)!important}.g-desktop-senses-reader :is(.senses-toggle,.mcdonalds-enable-row,.spicy-switch-row)>input[type="checkbox"]:checked{border-color:rgba(101,230,242,.58)!important;background:rgba(101,230,242,.09)!important;box-shadow:inset 0 0 0 2px rgba(101,230,242,.06),0 0 8px rgba(101,230,242,.12)!important}.g-desktop-senses-reader :is(.senses-toggle,.mcdonalds-enable-row,.spicy-switch-row)>input[type="checkbox"]:checked::after{background:var(--sense-cyan)!important;box-shadow:0 0 6px rgba(101,230,242,.42)!important;transform:translateX(26px)!important}.g-desktop-senses-reader .senses-switch-row i{width:48px!important;height:22px!important;border:1px solid var(--dc-line2)!important;border-radius:0!important;background:rgba(7,4,12,.92)!important;box-shadow:inset 0 0 0 2px rgba(91,56,144,.12)!important}.g-desktop-senses-reader .senses-switch-row i::after{top:3px!important;left:3px!important;width:14px!important;height:14px!important;border-radius:0!important;background:var(--dc-dim)!important}.g-desktop-senses-reader .senses-switch-row[aria-pressed="true"] i{border-color:rgba(101,230,242,.58)!important;background:rgba(101,230,242,.09)!important;box-shadow:inset 0 0 0 2px rgba(101,230,242,.06)!important}.g-desktop-senses-reader .senses-switch-row[aria-pressed="true"] i::after{background:var(--sense-cyan)!important;transform:translateX(26px)!important}
.g-desktop-senses-legacy .nowhere-audit-grid>div{border-radius:0}
.g-desktop-senses-reader .nowhere-audit-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;padding-top:10px!important}
.g-desktop-senses-reader .nowhere-audit-grid>div{gap:3px!important;padding:8px!important}
.g-desktop-senses-reader .nowhere-boundary{gap:5px 12px!important;margin-top:12px!important;padding-top:10px!important}
@container desktop-senses-window (min-width:980px){.g-desktop-senses-workspace{grid-template-columns:minmax(430px,.92fr) minmax(440px,1.08fr)}.g-desktop-senses-board{border-right:1px solid var(--dc-line)}.g-desktop-senses-reader{position:relative;inset:auto;z-index:auto;transform:none;background-color:rgba(6,4,10,.72)}}
@container desktop-senses-window (max-width:700px){.g-desktop-senses-grid.is-foundation{grid-template-columns:1fr}.g-desktop-senses-native-form :is(.senses-row-location,.senses-row-location-bottom,.senses-row-weather-options,.senses-row-weather-api,.senses-row-notifications){grid-template-columns:1fr}.g-desktop-senses-detail>header{grid-template-columns:38px minmax(0,1fr)}.g-desktop-senses-detail>header>b{grid-column:2}.g-desktop-senses-detail>header>.material-symbols-outlined{width:36px;height:36px}}
@container desktop-senses-window (max-width:620px){.g-desktop-senses-toolbar{min-height:82px;grid-template-columns:minmax(0,1fr) 32px;grid-template-rows:auto 26px}.g-desktop-senses-toolbar>div{grid-column:1;grid-row:1}.g-desktop-senses-toolbar>button:first-of-type{grid-column:1;grid-row:2;justify-self:start}.g-desktop-senses-toolbar>button:last-child{grid-column:2;grid-row:1}.g-desktop-senses-hero{grid-template-columns:42px minmax(0,1fr)}.g-desktop-senses-hero>.material-symbols-outlined{width:40px;height:40px}.g-desktop-senses-hero>b{grid-column:2}.g-desktop-senses-grid{grid-template-columns:1fr}.g-desktop-senses-card{min-height:78px}}

/* API Node: formal mobile-shared configs in a desktop board + reader. */
.g-desktop-window:has(.g-desktop-api-app) .g-desktop-window-body{overflow:hidden}
.g-desktop-api-app{--api-cyan:#65e6f2;--api-green:#75e7ae;--api-pink:#ef78d3;container:desktop-api-window / inline-size;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;color:var(--dc-ink);background:radial-gradient(ellipse at 14% 0,rgba(101,230,242,.1),transparent 32%),radial-gradient(ellipse at 94% 88%,rgba(239,120,211,.07),transparent 36%),linear-gradient(180deg,rgba(8,5,14,.97),rgba(4,3,8,.99))}
.g-desktop-api-app button{border-radius:0;cursor:pointer}.g-desktop-api-toolbar{min-width:0;min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--dc-line);background:rgba(12,8,18,.82)}.g-desktop-api-toolbar>div{min-width:0;display:grid;gap:4px}.g-desktop-api-toolbar small,.g-desktop-api-section-head span,.g-desktop-api-detail>header small{color:var(--api-cyan);font:6px/1.2 "Press Start 2P",monospace}.g-desktop-api-toolbar strong{color:var(--dc-ink);font:10px/1.2 "Press Start 2P",monospace}.g-desktop-api-toolbar span{overflow:hidden;color:var(--dc-dim);font:8px/1.2 "Space Mono","PingFang SC",monospace;text-overflow:ellipsis;white-space:nowrap}.g-desktop-api-toolbar>button{min-height:30px;padding:0 10px;color:var(--api-cyan);border:1px solid rgba(101,230,242,.3);background:rgba(101,230,242,.055);font:7px/1 "Press Start 2P","PingFang SC",monospace}.g-desktop-api-toolbar>button:last-child{width:32px;padding:0}
.g-desktop-api-workspace{min-width:0;min-height:0;flex:1;position:relative;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}.g-desktop-api-board{min-width:0;min-height:0;overflow:auto;padding:14px clamp(12px,2.8cqi,24px) 32px;scrollbar-color:var(--dc-purple) transparent}.g-desktop-api-loading{display:flex;align-items:center;gap:9px;margin-bottom:10px;padding:8px 10px;color:var(--dc-dim);border:1px solid var(--dc-line);font:8px/1.45 "Space Mono","PingFang SC",monospace}.g-desktop-api-loading span{width:7px;height:7px;background:var(--api-green);box-shadow:0 0 10px var(--api-green)}.g-desktop-api-loading p{margin:0}
.g-desktop-api-hero{min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px;border:1px solid rgba(101,230,242,.28);background:linear-gradient(105deg,rgba(101,230,242,.095),rgba(239,120,211,.035));box-shadow:inset 3px 0 var(--api-cyan)}.g-desktop-api-hero>.material-symbols-outlined{width:50px;height:50px;display:grid;place-items:center;color:var(--api-cyan);border:1px solid rgba(101,230,242,.24);font-size:27px}.g-desktop-api-hero>div{min-width:0;display:grid;gap:4px}.g-desktop-api-hero small{color:var(--api-cyan);font:6px/1.2 "Press Start 2P",monospace}.g-desktop-api-hero h2{margin:0;color:var(--dc-ink);font:500 clamp(16px,2.5cqi,22px)/1.35 "Noto Serif SC","Songti SC",serif}.g-desktop-api-hero p{margin:0;color:var(--dc-dim);font:8px/1.45 "Space Mono","PingFang SC",monospace}.g-desktop-api-hero>b{color:var(--api-cyan);font:24px/1 "VT323",monospace;font-weight:400}.g-desktop-api-section-head{display:flex;justify-content:space-between;gap:12px;margin:15px 0 7px;padding-bottom:6px;border-bottom:1px solid var(--dc-line)}.g-desktop-api-section-head i{color:var(--dc-dim);font:normal 7px/1.2 "Space Mono",monospace}
.g-desktop-api-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.g-desktop-api-card{min-width:0;min-height:112px;display:grid;grid-template-columns:29px minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;align-items:start;gap:6px 8px;padding:11px;color:var(--dc-ink);text-align:left;border:1px solid var(--dc-line);background:rgba(17,10,25,.5);box-shadow:inset 2px 0 rgba(101,230,242,.3)}.g-desktop-api-card:hover{border-color:rgba(101,230,242,.5);background:rgba(101,230,242,.06);box-shadow:inset 2px 0 var(--api-cyan)}.g-desktop-api-card>.material-symbols-outlined{color:var(--api-cyan);font-size:22px}.g-desktop-api-card>div{min-width:0;display:grid;gap:3px}.g-desktop-api-card strong{color:var(--dc-ink);font:10px/1.3 "Space Mono","PingFang SC",monospace}.g-desktop-api-card small{overflow:hidden;color:var(--dc-dim);font:7px/1.4 "Space Mono","PingFang SC",monospace;text-overflow:ellipsis;white-space:nowrap}.g-desktop-api-card>b{color:var(--api-pink);font:6px/1.3 "Press Start 2P",monospace}.g-desktop-api-card>p{grid-column:2/-1;margin:0;color:var(--dc-muted);font:9px/1.45 "Space Mono","PingFang SC",monospace}.g-desktop-api-card>i{grid-column:1/-1;align-self:end;padding-top:6px;color:var(--dc-dim);border-top:1px solid var(--dc-line);font:normal 6px/1.3 "Press Start 2P",monospace}.g-desktop-api-card.is-ready>i{color:var(--api-green)}
.g-desktop-api-route-map{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px;margin-top:12px;padding:10px;border:1px solid var(--dc-line);background:rgba(17,10,25,.36)}.g-desktop-api-route-map>div{min-width:0;display:grid;gap:4px}.g-desktop-api-route-map small{color:var(--api-cyan);font:6px/1.2 "Press Start 2P",monospace}.g-desktop-api-route-map strong{overflow:hidden;color:var(--dc-ink);font:9px/1.3 "Space Mono","PingFang SC",monospace;text-overflow:ellipsis;white-space:nowrap}.g-desktop-api-route-map>span{color:var(--dc-dim)}.g-desktop-api-boundary{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;padding:10px;border:1px solid rgba(117,231,174,.22);background:rgba(117,231,174,.035);box-shadow:inset 3px 0 var(--api-green)}.g-desktop-api-boundary span{color:var(--dc-dim);font:7px/1.4 "Space Mono","PingFang SC",monospace}
.g-desktop-api-reader{min-width:0;min-height:0;position:absolute;inset:0;z-index:8;overflow:auto;transform:translateX(101%);border-left:1px solid var(--dc-line);background:radial-gradient(ellipse at 12% 7%,rgba(101,230,242,.08),transparent 34%),rgba(6,4,10,.995);transition:transform .16s steps(3,end);scrollbar-color:var(--dc-purple) transparent}.g-desktop-api-app.is-panel-open .g-desktop-api-reader{transform:translateX(0)}.g-desktop-api-detail{box-sizing:border-box;min-height:100%;padding:20px clamp(14px,3.4cqi,32px) 34px}.g-desktop-api-back{margin-bottom:12px;padding:0;color:var(--api-cyan);border:0;background:transparent;font:7px/1.2 "Press Start 2P",monospace}.g-desktop-api-detail>header{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:14px;padding:0 0 14px 10px;border-bottom:1px solid var(--dc-line2);box-shadow:inset 3px 0 var(--api-cyan)}.g-desktop-api-detail>header>.material-symbols-outlined{width:40px;height:40px;display:grid;place-items:center;color:var(--api-cyan);border:1px solid rgba(101,230,242,.24);font-size:22px}.g-desktop-api-detail>header h2{margin:4px 0;color:var(--dc-ink);font:500 20px/1.3 "Noto Serif SC","Songti SC",serif}.g-desktop-api-detail>header p{margin:0;color:var(--dc-dim);font:8px/1.4 "Space Mono","PingFang SC",monospace}.g-desktop-api-detail>header>b{color:var(--api-pink);font:6px/1.3 "Press Start 2P",monospace}.g-desktop-api-detail>header>b.is-ready{color:var(--api-green)}
.g-desktop-api-reader-home{min-height:100%;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;text-align:center}.g-desktop-api-reader-home>.material-symbols-outlined{color:var(--api-cyan);font-size:46px}.g-desktop-api-reader-home strong{color:var(--dc-ink);font:17px/1.4 "Noto Serif SC","Songti SC",serif}.g-desktop-api-reader-home p{max-width:340px;margin:0;color:var(--dc-dim);font:9px/1.6 "Space Mono","PingFang SC",monospace}
.g-desktop-api-native{box-sizing:border-box!important;width:100%!important;max-width:none!important;min-height:0!important;display:grid!important;gap:10px!important;margin:0!important;padding:0!important;color:var(--dc-ink)!important;background:transparent!important;box-shadow:none!important}.g-desktop-api-native .api-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.g-desktop-api-native .api-wide{grid-column:1/-1!important}.g-desktop-api-native .field{min-width:0!important;display:grid!important;gap:4px!important}.g-desktop-api-native .field label{color:var(--api-cyan)!important;font:6px/1.2 "Press Start 2P","PingFang SC",monospace!important}.g-desktop-api-native :is(input,textarea,select){box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:30px!important;padding:6px 8px!important;color:var(--dc-ink)!important;border:1px solid var(--dc-line2)!important;border-radius:0!important;background:rgba(7,4,12,.82)!important;box-shadow:none!important;font:10px/1.35 "Space Mono","PingFang SC",monospace!important}.g-desktop-api-native select{appearance:none!important;-webkit-appearance:none!important;color-scheme:dark}.g-desktop-api-native :is(input,textarea,select):focus{outline:1px solid var(--api-cyan)!important;outline-offset:-1px!important}.g-desktop-api-native input[type="checkbox"]{width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;accent-color:var(--dc-purple)!important}.g-desktop-api-native .api-config-actions{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:0!important}.g-desktop-api-native .api-config-actions button,.g-desktop-api-native :is(.role-action,.danger,.model-option){box-sizing:border-box!important;min-height:28px!important;padding:6px 9px!important;border-radius:0!important;font:8px/1.25 "Space Mono","PingFang SC",monospace!important}.g-desktop-api-native .api-config-actions .send{flex:0 1 auto!important}.g-desktop-api-native .api-mini-note{display:grid!important;gap:4px!important;padding:9px!important;border:1px solid var(--dc-line)!important;border-radius:0!important;background:rgba(17,10,25,.44)!important}.g-desktop-api-native .api-mini-note strong{color:var(--dc-ink)!important;font:10px/1.4 "Space Mono","PingFang SC",monospace!important}.g-desktop-api-native .api-mini-note :is(span,em){color:var(--dc-dim)!important;font:8px/1.5 "Space Mono","PingFang SC",monospace!important}.g-desktop-api-native .api-route-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}.g-desktop-api-native .api-route-chip{min-width:0!important;display:grid!important;gap:3px!important;padding:8px!important;border:1px solid var(--dc-line)!important;border-radius:0!important;background:rgba(17,10,25,.45)!important}.g-desktop-api-native .api-route-chip small{color:var(--api-cyan)!important;font:6px/1.2 "Press Start 2P",monospace!important}.g-desktop-api-native .api-route-chip strong{overflow:hidden;color:var(--dc-ink)!important;font:9px/1.3 "Space Mono","PingFang SC",monospace!important;text-overflow:ellipsis;white-space:nowrap}.g-desktop-api-native .api-route-chip span{overflow:hidden;color:var(--dc-dim)!important;font:8px/1.35 "Space Mono",monospace!important;text-overflow:ellipsis;white-space:nowrap}
.g-desktop-api-native .api-config-list{display:grid!important;gap:7px!important}.g-desktop-api-native .api-config-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px 10px!important;padding:9px!important;border:1px solid var(--dc-line)!important;border-radius:0!important;background:rgba(17,10,25,.45)!important}.g-desktop-api-native .api-config-item.selected{border-color:rgba(101,230,242,.48)!important;box-shadow:inset 2px 0 var(--api-cyan)!important}.g-desktop-api-native .api-config-select{min-width:0!important;display:grid!important;gap:3px!important;padding:0!important;color:var(--dc-ink)!important;text-align:left!important;border:0!important;background:transparent!important}.g-desktop-api-native .api-config-select strong{font:10px/1.35 "Space Mono","PingFang SC",monospace!important}.g-desktop-api-native .api-config-select span,.g-desktop-api-native .api-config-item>small{overflow:hidden;color:var(--dc-dim)!important;font:8px/1.4 "Space Mono","PingFang SC",monospace!important;text-overflow:ellipsis;white-space:nowrap}.g-desktop-api-native .api-config-item>small{text-align:right}.g-desktop-api-native .api-role-actions{grid-column:1/-1!important;display:flex!important;flex-wrap:wrap!important;gap:5px!important}.g-desktop-api-native .api-role-actions button.active{color:#07120d!important;background:var(--api-green)!important}.g-desktop-api-native .api-vector-status{display:flex!important;flex-wrap:wrap!important;gap:5px!important}.g-desktop-api-native .api-vector-status span{padding:5px 7px!important;color:var(--dc-muted)!important;border:1px solid var(--dc-line)!important;border-radius:0!important;background:rgba(17,10,25,.4)!important;font:7px/1.3 "Space Mono",monospace!important}.g-desktop-api-native .api-vector-toggle{display:flex!important;align-items:center!important;gap:7px!important;color:var(--dc-muted)!important;font:9px/1.4 "Space Mono","PingFang SC",monospace!important}.g-desktop-api-native .api-model-picker{position:static!important;width:100%!important;max-height:190px!important;overflow:auto!important;padding:6px!important;border:1px solid var(--dc-line2)!important;border-radius:0!important;background:rgba(7,4,12,.98)!important;box-shadow:none!important}
@container desktop-api-window (min-width:980px){.g-desktop-api-workspace{grid-template-columns:minmax(440px,.92fr) minmax(500px,1.08fr)}.g-desktop-api-board{border-right:1px solid var(--dc-line)}.g-desktop-api-reader{position:relative;inset:auto;z-index:auto;transform:none;background-color:rgba(6,4,10,.72)}}
@container desktop-api-window (max-width:620px){.g-desktop-api-toolbar{min-height:82px;grid-template-columns:minmax(0,1fr) 32px;grid-template-rows:auto 26px}.g-desktop-api-toolbar>div{grid-column:1;grid-row:1}.g-desktop-api-toolbar>button:first-of-type{grid-column:1;grid-row:2;justify-self:start}.g-desktop-api-toolbar>button:last-child{grid-column:2;grid-row:1}.g-desktop-api-hero{grid-template-columns:42px minmax(0,1fr)}.g-desktop-api-hero>.material-symbols-outlined{width:40px;height:40px}.g-desktop-api-hero>b{grid-column:2}.g-desktop-api-grid,.g-desktop-api-native .api-form-grid,.g-desktop-api-native .api-route-grid{grid-template-columns:1fr!important}.g-desktop-api-native .api-wide{grid-column:auto!important}.g-desktop-api-route-map{grid-template-columns:1fr}.g-desktop-api-route-map>span{display:none}.g-desktop-api-detail>header{grid-template-columns:38px minmax(0,1fr)}.g-desktop-api-detail>header>b{grid-column:2}.g-desktop-api-detail>header>.material-symbols-outlined{width:36px;height:36px}}

/* Theme Library: the phone presets remain the source of truth; PC adds a board and preview reader. */
.g-desktop-window:has(.g-desktop-theme-app) .g-desktop-window-body{overflow:hidden}
.g-desktop-theme-app{--theme-cyan:#67e8f9;--theme-pink:#f472b6;container:desktop-theme-window / inline-size;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;color:var(--dc-ink);background:radial-gradient(ellipse at 16% 2%,rgba(192,132,252,.13),transparent 34%),linear-gradient(180deg,rgba(10,6,18,.98),rgba(5,3,9,.99))}
.g-desktop-theme-app button{border-radius:0;cursor:pointer}.g-desktop-theme-toolbar{min-width:0;min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--dc-line);background:rgba(12,8,18,.84)}.g-desktop-theme-toolbar>div{min-width:0;display:grid;gap:4px}.g-desktop-theme-toolbar small,.g-desktop-theme-section-head span,.g-desktop-theme-detail>header small{color:var(--theme-cyan);font:6px/1.2 "Press Start 2P",monospace}.g-desktop-theme-toolbar strong{color:var(--dc-ink);font:10px/1.2 "Press Start 2P",monospace}.g-desktop-theme-toolbar span{overflow:hidden;color:var(--dc-dim);font:8px/1.2 "Space Mono","PingFang SC",monospace;text-overflow:ellipsis;white-space:nowrap}.g-desktop-theme-toolbar>button{min-height:30px;padding:0 10px;color:var(--theme-cyan);border:1px solid rgba(103,232,249,.3);background:rgba(103,232,249,.055);font:7px/1 "Press Start 2P","PingFang SC",monospace}.g-desktop-theme-toolbar>button:last-child{width:32px;padding:0}
.g-desktop-theme-workspace{min-width:0;min-height:0;flex:1;position:relative;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}.g-desktop-theme-board{min-width:0;min-height:0;overflow:auto;padding:14px clamp(12px,2.8cqi,24px) 32px;scrollbar-color:var(--dc-purple) transparent}.g-desktop-theme-hero{min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px;border:1px solid rgba(103,232,249,.28);background:linear-gradient(105deg,rgba(103,232,249,.09),rgba(244,114,182,.035));box-shadow:inset 3px 0 var(--theme-cyan)}.g-desktop-theme-hero>span{width:50px;height:50px;display:grid;place-items:center;color:var(--theme-cyan);border:1px solid rgba(103,232,249,.24)}.g-desktop-theme-hero-icon{width:26px;height:26px}.g-desktop-theme-hero>div{min-width:0;display:grid;gap:4px}.g-desktop-theme-hero small{color:var(--theme-cyan);font:6px/1.2 "Press Start 2P",monospace}.g-desktop-theme-hero h2{margin:0;color:var(--dc-ink);font:500 clamp(16px,2.5cqi,22px)/1.35 "Noto Serif SC","Songti SC",serif}.g-desktop-theme-hero p{margin:0;color:var(--dc-dim);font:8px/1.45 "Space Mono","PingFang SC",monospace}.g-desktop-theme-hero>b{color:var(--theme-cyan);font:24px/1 "VT323",monospace;font-weight:400}.g-desktop-theme-section-head{display:flex;justify-content:space-between;gap:12px;margin:15px 0 7px;padding-bottom:6px;border-bottom:1px solid var(--dc-line)}.g-desktop-theme-section-head i{color:var(--dc-dim);font:normal 7px/1.2 "Space Mono",monospace}
.g-desktop-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.g-desktop-theme-card{min-width:0;min-height:100px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;grid-template-rows:1fr auto;align-items:start;gap:7px 9px;padding:10px;color:var(--dc-ink);text-align:left;border:1px solid var(--dc-line);background:rgba(17,10,25,.5);box-shadow:inset 2px 0 color-mix(in srgb,var(--theme-preview-accent) 64%,transparent)}.g-desktop-theme-card:hover,.g-desktop-theme-card.is-current{border-color:color-mix(in srgb,var(--theme-preview-accent) 68%,var(--dc-line));background:color-mix(in srgb,var(--theme-preview-accent) 8%,rgba(17,10,25,.74))}.g-desktop-theme-card>span{width:28px;height:28px;display:grid;place-items:center;color:var(--theme-preview-accent);border:1px solid color-mix(in srgb,var(--theme-preview-accent) 36%,transparent)}.g-desktop-theme-card-icon{width:17px;height:17px}.g-desktop-theme-card>div{min-width:0;display:grid;gap:3px}.g-desktop-theme-card strong{color:var(--dc-ink);font:10px/1.3 "Space Mono","PingFang SC",monospace}.g-desktop-theme-card small{display:-webkit-box;overflow:hidden;color:var(--dc-dim);font:7px/1.4 "Space Mono","PingFang SC",monospace;-webkit-box-orient:vertical;-webkit-line-clamp:2}.g-desktop-theme-card>b{color:var(--theme-pink);font:6px/1.3 "Press Start 2P",monospace}.g-desktop-theme-card.is-current>b{color:var(--theme-cyan)}.g-desktop-theme-card>i{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.g-desktop-theme-card>i em{height:12px;border:1px solid rgba(255,255,255,.08)}.g-desktop-theme-card>i em:nth-child(1){background:var(--theme-preview-bg)}.g-desktop-theme-card>i em:nth-child(2){background:var(--theme-preview-accent)}.g-desktop-theme-card>i em:nth-child(3){background:var(--theme-preview-soft)}
.g-desktop-theme-boundary{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;padding:10px;border:1px solid rgba(103,232,249,.2);background:rgba(103,232,249,.03);box-shadow:inset 3px 0 var(--theme-cyan)}.g-desktop-theme-boundary span{color:var(--dc-dim);font:7px/1.4 "Space Mono","PingFang SC",monospace}
.g-desktop-theme-reader{min-width:0;min-height:0;position:absolute;inset:0;z-index:8;overflow:auto;transform:translateX(101%);border-left:1px solid var(--dc-line);background:radial-gradient(ellipse at 12% 7%,rgba(103,232,249,.07),transparent 34%),rgba(6,4,10,.995);transition:transform .16s steps(3,end);scrollbar-color:var(--dc-purple) transparent}.g-desktop-theme-app.is-panel-open .g-desktop-theme-reader{transform:translateX(0)}.g-desktop-theme-reader-home{min-height:100%;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;text-align:center}.g-desktop-theme-reader-home>span{width:58px;height:58px;display:grid;place-items:center;color:var(--theme-cyan);border:1px solid rgba(103,232,249,.25)}.g-desktop-theme-reader-icon{width:34px;height:34px}.g-desktop-theme-reader-home strong{color:var(--dc-ink);font:18px/1.4 "Noto Serif SC","Songti SC",serif}.g-desktop-theme-reader-home p{max-width:340px;margin:0;color:var(--dc-dim);font:9px/1.6 "Space Mono","PingFang SC",monospace}
.g-desktop-theme-detail{box-sizing:border-box;min-height:100%;padding:20px clamp(14px,3.4cqi,32px) 34px}.g-desktop-theme-back{margin-bottom:12px;padding:0;color:var(--theme-cyan);border:0;background:transparent;font:7px/1.2 "Press Start 2P",monospace}.g-desktop-theme-detail>header{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:14px;padding:0 0 14px 10px;border-bottom:1px solid var(--dc-line2);box-shadow:inset 3px 0 var(--theme-cyan)}.g-desktop-theme-detail>header>span{width:40px;height:40px;display:grid;place-items:center;color:var(--theme-cyan);border:1px solid rgba(103,232,249,.24)}.g-desktop-theme-detail-icon{width:22px;height:22px}.g-desktop-theme-detail>header h2{margin:4px 0;color:var(--dc-ink);font:500 20px/1.3 "Noto Serif SC","Songti SC",serif}.g-desktop-theme-detail>header p{margin:0;color:var(--dc-dim);font:8px/1.4 "Space Mono","PingFang SC",monospace}.g-desktop-theme-detail>header>b{color:var(--theme-pink);font:6px/1.3 "Press Start 2P",monospace}.g-desktop-theme-detail>header>b.is-current{color:var(--theme-cyan)}
.g-desktop-theme-preview{min-height:220px;display:grid;place-items:center;padding:18px;border:1px solid color-mix(in srgb,var(--theme-preview-accent) 52%,transparent);background:radial-gradient(circle at 20% 12%,color-mix(in srgb,var(--theme-preview-accent) 26%,transparent),transparent 36%),linear-gradient(145deg,var(--theme-preview-bg),color-mix(in srgb,var(--theme-preview-bg) 76%,#000))}.g-desktop-theme-preview-window{width:min(390px,100%);display:grid;gap:10px;padding:18px;color:var(--theme-preview-accent);border:1px solid color-mix(in srgb,var(--theme-preview-accent) 58%,transparent);background:color-mix(in srgb,var(--theme-preview-bg) 80%,transparent);box-shadow:inset 3px 0 var(--theme-preview-accent),8px 8px 0 color-mix(in srgb,var(--theme-preview-soft) 24%,transparent)}.g-desktop-theme-preview-window small{font:6px/1.2 "Press Start 2P",monospace}.g-desktop-theme-preview-window h3{margin:0;color:var(--theme-preview-accent);font:500 18px/1.45 "Noto Serif SC","Songti SC",serif}.g-desktop-theme-preview-window p{margin:0;color:color-mix(in srgb,var(--theme-preview-accent) 72%,var(--theme-preview-soft));font:9px/1.6 "Space Mono","PingFang SC",monospace}.g-desktop-theme-preview-window>span{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.g-desktop-theme-preview-window>span i{height:18px;border:1px solid color-mix(in srgb,var(--theme-preview-accent) 32%,transparent)}.g-desktop-theme-preview-window>span i:nth-child(1){background:var(--theme-preview-bg)}.g-desktop-theme-preview-window>span i:nth-child(2){background:var(--theme-preview-accent)}.g-desktop-theme-preview-window>span i:nth-child(3){background:var(--theme-preview-soft)}.g-desktop-theme-actions{display:grid;gap:8px;margin-top:12px;padding:11px;border:1px solid var(--dc-line);background:rgba(17,10,25,.45)}.g-desktop-theme-actions button{justify-self:start;min-height:30px;padding:0 12px;color:var(--dc-bg);border:1px solid var(--theme-cyan);background:var(--theme-cyan);font:8px/1.2 "Press Start 2P","PingFang SC",monospace}.g-desktop-theme-actions button:disabled{color:var(--dc-dim);border-color:var(--dc-line);background:rgba(17,10,25,.5);cursor:default}.g-desktop-theme-actions p{margin:0;color:var(--dc-dim);font:8px/1.55 "Space Mono","PingFang SC",monospace}
@container desktop-theme-window (min-width:980px){.g-desktop-theme-workspace{grid-template-columns:minmax(450px,.92fr) minmax(500px,1.08fr)}.g-desktop-theme-board{border-right:1px solid var(--dc-line)}.g-desktop-theme-reader{position:relative;inset:auto;z-index:auto;transform:none;background-color:rgba(6,4,10,.72)}}
@container desktop-theme-window (max-width:620px){.g-desktop-theme-toolbar{min-height:82px;grid-template-columns:minmax(0,1fr) 32px;grid-template-rows:auto 26px}.g-desktop-theme-toolbar>div{grid-column:1;grid-row:1}.g-desktop-theme-toolbar>button:first-of-type{grid-column:1;grid-row:2;justify-self:start}.g-desktop-theme-toolbar>button:last-child{grid-column:2;grid-row:1}.g-desktop-theme-hero{grid-template-columns:42px minmax(0,1fr)}.g-desktop-theme-hero>span{width:40px;height:40px}.g-desktop-theme-hero>b{grid-column:2}.g-desktop-theme-grid{grid-template-columns:1fr}.g-desktop-theme-detail>header{grid-template-columns:38px minmax(0,1fr)}.g-desktop-theme-detail>header>b{grid-column:2}.g-desktop-theme-preview{min-height:180px;padding:12px}}

/* Photo Studio — real shooting table, prompt darkroom and Photo Shelf. */
.g-desktop-window:has(.g-desktop-photo-app) .g-desktop-window-body{overflow:hidden}
.g-desktop-photo-app{--studio-panel:rgba(21,18,24,.82);--studio-ink:#f7edf3;--studio-muted:rgba(247,237,243,.58);--studio-dim:rgba(223,190,200,.42);--studio-pink:#ff4fa3;--studio-pink-soft:#ffb7d0;--photo-cyan:#67e8f9;container:desktop-photo-window / inline-size;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;color:var(--studio-ink);background:radial-gradient(ellipse at 8% 7%,rgba(255,79,163,.12),transparent 34%),radial-gradient(ellipse at 88% 75%,rgba(103,232,249,.07),transparent 34%),linear-gradient(180deg,rgba(10,6,15,.97),rgba(5,3,8,.99))}
.g-desktop-photo-app button{border-radius:0;cursor:pointer}
.g-desktop-photo-toolbar{min-width:0;min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) auto auto 32px;align-items:center;gap:7px;padding:8px 12px;border-bottom:1px solid var(--dc-line);background:rgba(12,8,17,.8)}
.g-desktop-photo-toolbar>div{min-width:0;display:grid;gap:3px}.g-desktop-photo-toolbar small,.g-desktop-photo-reader-home>small,.g-desktop-photo-reader-page>small,.g-desktop-photo-hero small{color:var(--studio-pink-soft);font:6px/1.2 "Press Start 2P",monospace}.g-desktop-photo-toolbar strong{color:var(--dc-ink);font:10px/1.2 "Press Start 2P",monospace}.g-desktop-photo-toolbar span{overflow:hidden;color:var(--dc-dim);font:8px/1.25 "Space Mono","PingFang SC",monospace;text-overflow:ellipsis;white-space:nowrap}
.g-desktop-photo-toolbar>button{min-height:29px;padding:0 9px;color:var(--photo-cyan);border:1px solid rgba(103,232,249,.28);background:rgba(103,232,249,.055);font:7px/1 "Press Start 2P","PingFang SC",monospace}.g-desktop-photo-toolbar>button:last-child{width:32px;padding:0}.g-desktop-photo-toolbar>button:disabled{opacity:.34;cursor:default}
.g-desktop-photo-workspace{min-width:0;min-height:0;flex:1;position:relative;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}
.g-desktop-photo-board{min-width:0;min-height:0;overflow:auto;padding:14px clamp(12px,2.8cqi,25px) 30px;scrollbar-color:var(--dc-purple) transparent}
.g-desktop-photo-loading{display:flex;align-items:center;gap:9px;margin-bottom:10px;padding:8px 10px;color:var(--dc-dim);border:1px solid var(--dc-line);font:8px/1.4 "Space Mono","PingFang SC",monospace}.g-desktop-photo-loading i{width:7px;height:7px;background:var(--studio-pink);box-shadow:0 0 11px var(--studio-pink);animation:photoPresetStandby 1.2s infinite}
.g-desktop-photo-hero{min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px;border:1px solid rgba(255,183,208,.25);background:linear-gradient(105deg,rgba(255,79,163,.09),rgba(103,232,249,.025));box-shadow:inset 3px 0 var(--studio-pink)}
.g-desktop-photo-hero>.material-symbols-outlined{width:50px;height:50px;display:grid;place-items:center;color:var(--studio-pink-soft);border:1px solid rgba(255,183,208,.25);background:rgba(255,79,163,.045);font-size:27px}.g-desktop-photo-hero>div{min-width:0;display:grid;gap:3px}.g-desktop-photo-hero h2{margin:0;color:var(--dc-ink);font:500 clamp(17px,2.8cqi,24px)/1.35 "Noto Serif SC","Songti SC",serif}.g-desktop-photo-hero p{margin:0;color:var(--dc-dim);font:8px/1.5 "Space Mono","PingFang SC",monospace}.g-desktop-photo-hero>b{color:var(--studio-pink-soft);font:29px/1 "VT323",monospace;font-weight:400}
.g-desktop-photo-stage{margin-top:12px;padding:13px;border:1px solid var(--dc-line);background:rgba(17,10,25,.42)}
.g-desktop-photo-stage .photo-studio-intro{gap:4px;padding:2px 0 10px;text-align:left}.g-desktop-photo-stage .photo-studio-intro small{font-size:6px;letter-spacing:.18em}.g-desktop-photo-stage .photo-studio-intro p{font-size:12px;line-height:1.35}
.g-desktop-photo-stage .photo-subject-tabs{gap:0;margin-bottom:10px;padding:0;border-radius:0;background:transparent}.g-desktop-photo-stage .photo-subject-tabs button{min-height:29px;border:1px solid var(--dc-line);border-right:0;border-radius:0;color:var(--dc-muted);font:8px/1 "Space Mono","PingFang SC",monospace}.g-desktop-photo-stage .photo-subject-tabs button:last-child{border-right:1px solid var(--dc-line)}.g-desktop-photo-stage .photo-subject-tabs button.active{color:#1a0d14;background:var(--studio-pink-soft);box-shadow:none}
.g-desktop-photo-stage .photo-camera-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:11px}.g-desktop-photo-stage .photo-camera-card{min-height:80px;gap:3px;padding:9px 8px;border-radius:0;background:rgba(11,7,16,.62)}.g-desktop-photo-stage .photo-camera-card.active{border-color:rgba(255,183,208,.58);background:rgba(255,79,163,.08);box-shadow:inset 2px 0 var(--studio-pink-soft)}.g-desktop-photo-stage .photo-camera-card>.photo-camera-icon,.g-desktop-photo-stage .photo-camera-icon.svg-icon svg{width:21px;height:21px;font-size:20px}.g-desktop-photo-stage .photo-camera-card strong{margin-top:3px;font:9px/1.2 "Space Mono","PingFang SC",monospace}.g-desktop-photo-stage .photo-camera-card small{font:7px/1.25 "Space Mono","PingFang SC",monospace}.g-desktop-photo-stage .photo-camera-card i{top:7px;right:7px;width:5px;height:5px}
.g-desktop-photo-stage .photo-aspect-section{gap:6px;margin-bottom:10px}.g-desktop-photo-stage .photo-aspect-section>span{font-size:6px}.g-desktop-photo-stage .photo-aspect-tabs{gap:6px}.g-desktop-photo-stage .photo-aspect-tabs button{min-height:38px;grid-template-columns:22px minmax(0,1fr);column-gap:5px;padding:5px 7px;border-radius:0}.g-desktop-photo-stage .photo-aspect-tabs strong{font-size:8px}.g-desktop-photo-stage .photo-aspect-tabs small{font-size:6px}
.g-desktop-photo-stage .photo-scene-field{margin-bottom:9px}.g-desktop-photo-stage .photo-scene-field input{height:33px;padding:0 63px 0 10px;border-radius:0;font:8px/1 "Space Mono","PingFang SC",monospace}.g-desktop-photo-stage .photo-scene-field span{right:10px;font-size:6px}
.g-desktop-photo-stage .photo-prompt-trigger{min-height:24px;margin:0 0 8px;padding:0;color:var(--studio-pink-soft);font:7px/1 "Space Mono","PingFang SC",monospace}.g-desktop-photo-stage .photo-prompt-trigger .material-symbols-outlined{font-size:14px}
.g-desktop-photo-stage .photo-shutter-button{width:min(210px,100%);min-height:34px;margin:0 auto;border:1px solid var(--studio-pink);border-radius:0;background:rgba(255,79,163,.88);box-shadow:0 0 18px rgba(255,79,163,.16);font:8px/1 "Press Start 2P","PingFang SC",monospace}.g-desktop-photo-stage .photo-shutter-icon{width:24px;height:20px}
.g-desktop-photo-stage .photo-shelf-card{gap:8px;margin-top:12px;padding:10px;border-radius:0;background:rgba(10,6,15,.6)}.g-desktop-photo-stage .photo-shelf-head{gap:7px}.g-desktop-photo-stage .photo-shelf-head .material-symbols-outlined{font-size:18px}.g-desktop-photo-stage .photo-shelf-head strong{font-size:8px}.g-desktop-photo-stage .photo-shelf-head small{font-size:7px}.g-desktop-photo-stage .photo-shelf-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.g-desktop-photo-stage .photo-shelf-empty-slot{border-radius:0;font-size:7px}
.g-desktop-photo-boundary{display:flex;flex-wrap:wrap;gap:7px 17px;margin-top:10px;padding:8px 10px;color:var(--dc-dim);border:1px solid rgba(103,232,249,.13);background:rgba(103,232,249,.025);font:7px/1.35 "Space Mono","PingFang SC",monospace}.g-desktop-photo-boundary span::before{content:"◇";margin-right:6px;color:var(--photo-cyan)}
.g-desktop-photo-reader{min-width:0;min-height:0;position:absolute;inset:0;z-index:8;overflow:auto;transform:translateX(101%);border-left:1px solid var(--dc-line);background:radial-gradient(ellipse at 12% 7%,rgba(255,79,163,.09),transparent 35%),rgba(6,4,10,.99);transition:transform .16s steps(3,end);scrollbar-color:var(--dc-purple) transparent}
.g-desktop-photo-app.is-panel-open .g-desktop-photo-reader{transform:translateX(0)}
.g-desktop-photo-reader-home,.g-desktop-photo-reader-page{box-sizing:border-box;min-height:100%;padding:22px clamp(16px,3.6cqi,36px) 34px}.g-desktop-photo-reader-home h2{margin:7px 0;color:var(--dc-ink);font:500 clamp(21px,3.2cqi,30px)/1.4 "Noto Serif SC","Songti SC",serif}.g-desktop-photo-reader-home>p{max-width:650px;margin:0;color:var(--dc-muted);font:9px/1.65 "Space Mono","PingFang SC",monospace}
.g-desktop-photo-reader-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;border:1px solid var(--dc-line)}.g-desktop-photo-reader-stats>span{min-width:0;display:grid;gap:4px;padding:10px;border-right:1px solid var(--dc-line)}.g-desktop-photo-reader-stats>span:last-child{border-right:0}.g-desktop-photo-reader-stats b{color:var(--studio-pink-soft);font:22px/1 "VT323",monospace;font-weight:400}.g-desktop-photo-reader-stats small{color:var(--dc-dim);font:5px/1.3 "Press Start 2P",monospace}
.g-desktop-photo-config{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:13px;padding:11px;border:1px solid rgba(255,183,208,.2);background:rgba(255,79,163,.035)}.g-desktop-photo-config>.material-symbols-outlined{width:36px;height:36px;display:grid;place-items:center;color:var(--studio-pink-soft);border:1px solid rgba(255,183,208,.2)}.g-desktop-photo-config>div{min-width:0;display:grid;gap:3px}.g-desktop-photo-config small,.g-desktop-photo-latest header{color:var(--photo-cyan);font:6px/1.3 "Press Start 2P",monospace}.g-desktop-photo-config strong{overflow:hidden;color:var(--dc-ink);font:10px/1.35 "Space Mono","PingFang SC",monospace;text-overflow:ellipsis;white-space:nowrap}.g-desktop-photo-config p{margin:0;color:var(--dc-dim);font:7px/1.45 "Space Mono","PingFang SC",monospace}.g-desktop-photo-config button,.g-desktop-photo-latest header button{min-height:27px;padding:0 8px;color:var(--photo-cyan);border:1px solid rgba(103,232,249,.28);background:rgba(103,232,249,.04);font:6px/1 "Press Start 2P","PingFang SC",monospace}
.g-desktop-photo-latest{margin-top:14px}.g-desktop-photo-latest header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:7px;border-bottom:1px solid var(--dc-line)}.g-desktop-photo-latest>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}.g-desktop-photo-latest>p{min-height:75px;display:grid;place-content:center;margin:9px 0 0;color:var(--dc-dim);border:1px dashed var(--dc-line);font:8px/1.4 "Space Mono","PingFang SC",monospace}
.g-desktop-photo-latest .photo-shelf-thumb,.g-desktop-photo-reader .photo-shelf-thumb{border-radius:0}
.g-desktop-photo-reader-back{min-height:24px;margin:0 0 8px;padding:0;color:var(--photo-cyan);border:0;background:transparent;font:6px/1.2 "Press Start 2P",monospace}
.g-desktop-photo-reader-page>.photo-prompt-drawer,.g-desktop-photo-reader-page>.photo-shelf-panel,.g-desktop-photo-reader-page>.photo-detail-panel,.g-desktop-photo-reader-page>.photo-developing-view,.g-desktop-photo-reader-page>.photo-result-view,.g-desktop-photo-reader-page>.photo-failure-view{margin-top:9px}
.g-desktop-photo-reader .photo-prompt-drawer{position:static;left:auto;top:auto;bottom:auto;z-index:auto;width:100%;height:auto;max-height:none;margin:9px 0 0;padding:13px;overflow:visible;transform:none;border-radius:0;background:rgba(17,10,25,.54);box-shadow:none;animation:none;grid-template-rows:auto auto auto auto}.g-desktop-photo-reader .photo-prompt-fields{max-height:none;overflow:visible;padding:0}.g-desktop-photo-reader .photo-prompt-save-bar{margin:10px 0 0;padding:9px 0 0;border-top:1px solid var(--dc-line);background:transparent;box-shadow:none}.g-desktop-photo-reader .photo-prompt-save-bar button{width:auto;min-height:29px;margin:0;padding:0 12px;border-radius:0;font-size:7px}
.g-desktop-photo-reader .photo-prompt-drawer header,.g-desktop-photo-reader .photo-shelf-panel header,.g-desktop-photo-reader .photo-detail-panel header{margin-bottom:9px}.g-desktop-photo-reader .photo-prompt-drawer header button,.g-desktop-photo-reader .photo-shelf-panel header button,.g-desktop-photo-reader .photo-detail-panel header button{width:28px;height:28px;border-radius:0;font-size:17px}.g-desktop-photo-reader .photo-prompt-drawer p{margin-bottom:8px;font-size:8px}.g-desktop-photo-reader .photo-prompt-drawer label{gap:5px;margin-top:8px}.g-desktop-photo-reader .photo-prompt-drawer label small{font-size:7px}.g-desktop-photo-reader .photo-prompt-drawer label.photo-prompt-featured{padding:8px;border-radius:0}.g-desktop-photo-reader .photo-prompt-drawer textarea{min-height:63px;padding:8px;border-radius:0;font-size:8px}
.g-desktop-photo-reader .photo-shelf-panel,.g-desktop-photo-reader .photo-detail-panel{min-height:0;margin:9px 0 0;padding:13px;border:1px solid var(--dc-line);border-radius:0;background:rgba(17,10,25,.46);box-shadow:none}.g-desktop-photo-reader .photo-shelf-panel h3{font-size:19px}.g-desktop-photo-reader .photo-shelf-full-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.g-desktop-photo-reader .photo-shelf-empty{min-height:130px;border-radius:0;font-size:9px}
.g-desktop-photo-reader .photo-detail-panel{display:flex;min-height:calc(100% - 40px);padding:13px}.g-desktop-photo-reader .photo-detail-panel .photo-polaroid-object{width:min(260px,75%);margin:12px auto 14px}.g-desktop-photo-reader .photo-polaroid-object{padding:9px 9px 34px}.g-desktop-photo-reader .photo-polaroid-back{grid-template-rows:auto minmax(130px,1fr) auto;min-height:210px;padding:13px;border-radius:0}.g-desktop-photo-reader .photo-polaroid-back textarea{min-height:130px;font-size:16px}.g-desktop-photo-reader .photo-detail-caption-row{margin-top:9px}.g-desktop-photo-reader .photo-detail-caption{font-size:12px}.g-desktop-photo-reader .photo-detail-caption-row button{font-size:8px}.g-desktop-photo-reader .photo-detail-meta-line small{font-size:7px}.g-desktop-photo-reader .photo-detail-panel .photo-detail-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px;padding:11px 0 0;border-top:1px solid var(--dc-line)}.g-desktop-photo-reader .photo-detail-panel .photo-detail-actions .photo-secondary-button{width:100%;min-height:28px;padding:0 5px;border:1px solid rgba(255,183,208,.18)!important;background:rgba(255,79,163,.035)!important;font-size:7px}
.g-desktop-photo-reader .photo-developing-view,.g-desktop-photo-reader .photo-failure-view,.g-desktop-photo-reader .photo-result-view{min-height:calc(100% - 48px);align-content:start;gap:10px;padding-top:12px}.g-desktop-photo-reader .photo-developing-paper,.g-desktop-photo-reader .photo-broken-paper{width:min(210px,65%)}.g-desktop-photo-reader .photo-developing-paper.aspect-landscape{width:min(310px,82%)}.g-desktop-photo-reader .photo-developing-paper.aspect-portrait{width:min(190px,55%)}.g-desktop-photo-reader .photo-developing-view h3,.g-desktop-photo-reader .photo-failure-view h3,.g-desktop-photo-reader .photo-result-meta h3{font-size:19px}.g-desktop-photo-reader .photo-developing-view p,.g-desktop-photo-reader .photo-failure-view p{font-size:9px}.g-desktop-photo-reader .photo-result-view>.photo-polaroid-object{width:min(290px,76%);padding:9px 9px 36px}.g-desktop-photo-reader .photo-result-meta p{font-size:7px}.g-desktop-photo-reader .photo-result-meta blockquote{font-size:12px}.g-desktop-photo-reader .photo-result-actions{max-width:440px;gap:6px}.g-desktop-photo-reader .photo-primary-button,.g-desktop-photo-reader .photo-secondary-button{min-height:30px;border-radius:0;font-size:8px}.g-desktop-photo-reader .photo-result-actions .photo-result-prompt-button{min-height:26px;margin:0;padding:0 8px;font-size:7px}
@container desktop-photo-window (min-width:980px){.g-desktop-photo-workspace{grid-template-columns:minmax(430px,.92fr) minmax(440px,1.08fr)}.g-desktop-photo-board{border-right:1px solid var(--dc-line)}.g-desktop-photo-reader{position:relative;inset:auto;z-index:auto;transform:none;background-color:rgba(6,4,10,.72)}}
@container desktop-photo-window (max-width:650px){.g-desktop-photo-toolbar{min-height:88px;grid-template-columns:minmax(0,1fr) auto 32px;grid-template-rows:auto 27px}.g-desktop-photo-toolbar>div{grid-column:1/3;grid-row:1}.g-desktop-photo-toolbar>button:nth-of-type(1){grid-column:1;grid-row:2;justify-self:start}.g-desktop-photo-toolbar>button:nth-of-type(2){grid-column:2;grid-row:2}.g-desktop-photo-toolbar>button:last-child{grid-column:3;grid-row:1}.g-desktop-photo-hero{grid-template-columns:42px minmax(0,1fr)}.g-desktop-photo-hero>.material-symbols-outlined{width:40px;height:40px}.g-desktop-photo-hero>b{grid-column:2}.g-desktop-photo-stage .photo-camera-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g-desktop-photo-stage .photo-shelf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.g-desktop-photo-reader-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.g-desktop-photo-reader-stats>span:nth-child(2){border-right:0}.g-desktop-photo-config{grid-template-columns:34px minmax(0,1fr)}.g-desktop-photo-config button{grid-column:2;justify-self:start}.g-desktop-photo-reader .photo-shelf-full-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g-desktop-photo-reader .photo-detail-panel .photo-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Parallel Fiction: the real mobile library, adapted to a compact overlay and a wide reading desk. */
.g-desktop-window:has(.g-desktop-fiction-app) .g-desktop-window-body{overflow:hidden}
.g-desktop-fiction-app{--fiction-cyan:#67e8f9;--fiction-pink:#ffb7d0;--fiction-hot:#ff4fa3;container:desktop-fiction-window / inline-size;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;color:var(--dc-ink);background:radial-gradient(ellipse at 12% 2%,rgba(255,79,163,.12),transparent 34%),radial-gradient(ellipse at 91% 82%,rgba(103,232,249,.06),transparent 36%),linear-gradient(180deg,rgba(10,6,15,.98),rgba(5,3,8,.995))}
.g-desktop-fiction-app button{border-radius:0;cursor:pointer}.g-desktop-fiction-toolbar{min-width:0;min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto 32px;align-items:center;gap:7px;padding:8px 12px;border-bottom:1px solid var(--dc-line);background:rgba(12,8,18,.84)}.g-desktop-fiction-toolbar>div{min-width:0;display:grid;gap:4px}.g-desktop-fiction-toolbar small,.g-desktop-fiction-section-head span,.g-desktop-fiction-reader-page>small,.g-desktop-fiction-reader-home>small{color:var(--fiction-cyan);font:6px/1.2 "Press Start 2P",monospace}.g-desktop-fiction-toolbar strong{color:var(--dc-ink);font:10px/1.2 "Press Start 2P",monospace}.g-desktop-fiction-toolbar span{overflow:hidden;color:var(--dc-dim);font:8px/1.2 "Space Mono","PingFang SC",monospace;text-overflow:ellipsis;white-space:nowrap}.g-desktop-fiction-toolbar>button{min-height:29px;padding:0 9px;color:var(--fiction-pink);border:1px solid rgba(255,183,208,.28);background:rgba(255,79,163,.045);font:6px/1 "Press Start 2P","PingFang SC",monospace}.g-desktop-fiction-toolbar>button:hover{color:var(--dc-ink);border-color:rgba(255,183,208,.58);background:rgba(255,79,163,.1)}.g-desktop-fiction-toolbar>button:last-child{width:32px;padding:0}
.g-desktop-fiction-workspace{min-width:0;min-height:0;flex:1;position:relative;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}.g-desktop-fiction-board{min-width:0;min-height:0;overflow:auto;padding:14px clamp(12px,2.8cqi,25px) 30px;scrollbar-color:var(--dc-purple) transparent}.g-desktop-fiction-loading{display:flex;align-items:center;gap:9px;margin-bottom:10px;padding:8px 10px;color:var(--dc-dim);border:1px solid var(--dc-line);font:8px/1.45 "Space Mono","PingFang SC",monospace}.g-desktop-fiction-loading i{width:7px;height:7px;background:var(--dc-green);box-shadow:0 0 10px var(--dc-green)}
.g-desktop-fiction-hero{min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px;border:1px solid rgba(255,183,208,.24);background:linear-gradient(105deg,rgba(255,79,163,.08),rgba(103,232,249,.025));box-shadow:inset 3px 0 var(--fiction-pink)}.g-desktop-fiction-hero>.material-symbols-outlined{width:50px;height:50px;display:grid;place-items:center;color:var(--fiction-pink);border:1px solid rgba(255,183,208,.22);font-size:27px}.g-desktop-fiction-hero>div{min-width:0;display:grid;gap:4px}.g-desktop-fiction-hero small{color:var(--fiction-cyan);font:6px/1.2 "Press Start 2P",monospace}.g-desktop-fiction-hero h2{margin:0;color:var(--dc-ink);font:500 clamp(18px,2.7cqi,25px)/1.35 "Noto Serif SC","Songti SC",serif}.g-desktop-fiction-hero p{margin:0;color:var(--dc-dim);font:8px/1.5 "Space Mono","PingFang SC",monospace}.g-desktop-fiction-hero>b{color:var(--fiction-pink);font:26px/1 "VT323",monospace;font-weight:400}
.g-desktop-fiction-section-head{display:flex;justify-content:space-between;gap:12px;margin:15px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--dc-line)}.g-desktop-fiction-section-head i{color:var(--dc-dim);font:normal 7px/1.2 "Space Mono",monospace}.g-desktop-fiction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.g-desktop-fiction-grid>article{min-width:0;display:grid;gap:5px;padding:8px;border:1px solid var(--dc-line);background:rgba(17,10,25,.5);box-shadow:inset 2px 0 rgba(255,183,208,.2)}.g-desktop-fiction-grid>article.is-current{border-color:rgba(255,183,208,.48);box-shadow:inset 2px 0 var(--fiction-pink)}.g-desktop-fiction-grid .fiction-book-card{min-width:0;display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto 1fr;gap:3px 8px;padding:0;color:var(--dc-ink);text-align:left;border:0;background:transparent}.g-desktop-fiction-grid .fiction-book-cover{grid-row:1/4;width:64px;min-height:82px;padding:7px;border-radius:2px 7px 7px 2px}.g-desktop-fiction-grid .fiction-book-cover em{font-size:9px}.g-desktop-fiction-grid .fiction-book-card>strong{overflow:hidden;color:var(--fiction-pink);font:10px/1.35 "Noto Serif SC","Songti SC",serif;text-overflow:ellipsis;white-space:nowrap}.g-desktop-fiction-grid .fiction-book-card>small{color:var(--dc-dim);font:6px/1.3 "Space Mono",monospace}.g-desktop-fiction-grid .fiction-book-card>p{display:-webkit-box;overflow:hidden;margin:0;color:var(--dc-muted);font:8px/1.45 "Space Mono","PingFang SC",monospace;-webkit-box-orient:vertical;-webkit-line-clamp:3}.g-desktop-fiction-grid>article>span{padding-top:5px;color:var(--dc-dim);border-top:1px solid var(--dc-line);font:5px/1.3 "Press Start 2P",monospace}.g-desktop-fiction-empty{grid-column:1/-1;min-height:170px;display:grid;place-content:center;justify-items:center;gap:8px;padding:20px;color:var(--dc-dim);text-align:center;border:1px dashed var(--dc-line)}.g-desktop-fiction-empty>.material-symbols-outlined{color:var(--fiction-pink);font-size:36px}.g-desktop-fiction-empty strong{color:var(--dc-ink);font:15px/1.4 "Noto Serif SC","Songti SC",serif}.g-desktop-fiction-empty p{max-width:380px;margin:0;font:8px/1.55 "Space Mono","PingFang SC",monospace}.g-desktop-fiction-empty button{min-height:28px;padding:0 10px;color:var(--fiction-pink);border:1px solid rgba(255,183,208,.28);background:rgba(255,79,163,.05);font:7px/1 "Press Start 2P","PingFang SC",monospace}.g-desktop-fiction-boundary{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:13px;padding:9px 10px;color:var(--dc-dim);border:1px solid rgba(103,232,249,.18);box-shadow:inset 3px 0 var(--fiction-cyan);font:7px/1.4 "Space Mono","PingFang SC",monospace}
.g-desktop-fiction-reader{min-width:0;min-height:0;position:absolute;inset:0;z-index:8;overflow:auto;transform:translateX(101%);border-left:1px solid var(--dc-line);background:radial-gradient(ellipse at 10% 5%,rgba(255,79,163,.08),transparent 34%),rgba(6,4,10,.995);transition:transform .16s steps(3,end);scrollbar-color:var(--dc-purple) transparent}.g-desktop-fiction-app.is-panel-open .g-desktop-fiction-reader{transform:translateX(0)}.g-desktop-fiction-reader-home,.g-desktop-fiction-reader-page{box-sizing:border-box;min-height:100%;padding:20px clamp(14px,3.4cqi,32px) 34px}.g-desktop-fiction-reader-home.is-empty{display:grid;place-content:center;justify-items:center;gap:9px;text-align:center}.g-desktop-fiction-reader-home.is-empty>.material-symbols-outlined{color:var(--fiction-pink);font-size:48px}.g-desktop-fiction-reader-home.is-empty h2{margin:0;color:var(--dc-ink);font:500 24px/1.4 "Noto Serif SC","Songti SC",serif}.g-desktop-fiction-reader-home.is-empty p{max-width:400px;margin:0;color:var(--dc-muted);font:9px/1.6 "Space Mono","PingFang SC",monospace}.g-desktop-fiction-reader-home.is-empty button{min-height:29px;padding:0 11px;color:var(--fiction-pink);border:1px solid rgba(255,183,208,.28);background:rgba(255,79,163,.05);font:7px/1 "Press Start 2P","PingFang SC",monospace}
.g-desktop-fiction-featured{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:16px;margin-top:10px;padding:13px;border:1px solid rgba(255,183,208,.2);background:rgba(17,10,25,.48)}.g-desktop-fiction-featured .fiction-book-cover.large{width:118px}.g-desktop-fiction-featured>div{min-width:0;display:grid;gap:7px}.g-desktop-fiction-featured h2{margin:0;color:var(--dc-ink);font:500 clamp(20px,3cqi,30px)/1.35 "Noto Serif SC","Songti SC",serif}.g-desktop-fiction-featured p{display:-webkit-box;overflow:hidden;margin:0;color:var(--dc-muted);font:9px/1.65 "Space Mono","PingFang SC",monospace;-webkit-box-orient:vertical;-webkit-line-clamp:5}.g-desktop-fiction-featured>div>span{color:var(--dc-dim);font:6px/1.3 "Press Start 2P",monospace}.g-desktop-fiction-featured>div>div{display:flex;flex-wrap:wrap;gap:6px}.g-desktop-fiction-featured button{min-height:28px;padding:0 9px;color:var(--fiction-pink);border:1px solid rgba(255,183,208,.26);background:rgba(255,79,163,.04);font:7px/1 "Space Mono","PingFang SC",monospace}.g-desktop-fiction-recent{margin-top:14px}.g-desktop-fiction-recent header{display:flex;justify-content:space-between;padding-bottom:6px;color:var(--fiction-cyan);border-bottom:1px solid var(--dc-line);font:6px/1.3 "Press Start 2P",monospace}.g-desktop-fiction-recent header b{color:var(--fiction-pink)}.g-desktop-fiction-recent>button{width:100%;display:grid;grid-template-columns:45px minmax(100px,.7fr) minmax(0,1.3fr);align-items:center;gap:8px;padding:9px;color:var(--dc-ink);text-align:left;border:0;border-bottom:1px solid var(--dc-line);background:transparent}.g-desktop-fiction-recent>button:hover{background:rgba(255,79,163,.045)}.g-desktop-fiction-recent>button small{color:var(--fiction-cyan);font:6px/1.2 "Press Start 2P",monospace}.g-desktop-fiction-recent>button strong{overflow:hidden;font:10px/1.35 "Noto Serif SC","Songti SC",serif;text-overflow:ellipsis;white-space:nowrap}.g-desktop-fiction-recent>button span{overflow:hidden;color:var(--dc-dim);font:8px/1.4 "Space Mono","PingFang SC",monospace;text-overflow:ellipsis;white-space:nowrap}.g-desktop-fiction-recent>p{min-height:70px;display:grid;place-content:center;margin:8px 0;color:var(--dc-dim);border:1px dashed var(--dc-line);font:8px/1.4 "Space Mono","PingFang SC",monospace}.g-desktop-fiction-reader-home>footer{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:14px;padding:9px;color:var(--dc-dim);border:1px solid rgba(103,232,249,.18);font:7px/1.4 "Space Mono","PingFang SC",monospace}
.g-desktop-fiction-back{min-height:24px;margin:0 0 7px;padding:0;color:var(--fiction-cyan);border:0;background:transparent;font:6px/1.2 "Press Start 2P",monospace}.g-desktop-fiction-reader-page>.fiction-section-card,.g-desktop-fiction-reader-page>.fiction-reader-card,.g-desktop-fiction-reader-page>.fiction-generating-page{box-sizing:border-box;width:100%;max-width:none;min-height:0;margin:9px 0 0;padding:13px;border:1px solid var(--dc-line);border-radius:0;background:rgba(17,10,25,.48);box-shadow:none}.g-desktop-fiction-reader .fiction-back{min-height:24px;padding:0;color:var(--fiction-cyan);border:0;border-radius:0;background:transparent;font:6px/1.2 "Press Start 2P",monospace}.g-desktop-fiction-reader .fiction-inline-back{font-size:7px}.g-desktop-fiction-reader .fiction-section-head strong{font-size:18px}.g-desktop-fiction-reader .fiction-section-head span{font-size:7px}.g-desktop-fiction-reader .fiction-section-head small{padding:4px 6px;border-radius:0;font-size:6px}
.g-desktop-fiction-reader :is(.fiction-actions button,.fiction-preset-form button){box-sizing:border-box;min-height:28px;padding:0 9px;border-radius:0;font:7px/1.25 "Space Mono","PingFang SC",monospace}.g-desktop-fiction-reader .fiction-form-head{align-items:start}.g-desktop-fiction-reader .fiction-form-head>div:first-child>strong{color:var(--fiction-cyan);font:7px/1.2 "Press Start 2P",monospace}.g-desktop-fiction-reader .fiction-form{gap:10px}.g-desktop-fiction-reader .fiction-form :is(input,textarea),.g-desktop-fiction-reader .fiction-summary-panel textarea,.g-desktop-fiction-reader .fiction-generate-card textarea,.g-desktop-fiction-reader .fiction-preset-form :is(input,textarea){box-sizing:border-box;min-height:30px;padding:7px 8px;color:var(--dc-ink);border:1px solid var(--dc-line2);border-radius:0;background:rgba(7,4,12,.84);box-shadow:none;font:9px/1.45 "Space Mono","PingFang SC",monospace}.g-desktop-fiction-reader .fiction-form textarea,.g-desktop-fiction-reader .fiction-summary-panel textarea,.g-desktop-fiction-reader .fiction-generate-card textarea,.g-desktop-fiction-reader .fiction-preset-form textarea{min-height:64px}.g-desktop-fiction-reader .fiction-form label,.g-desktop-fiction-reader .fiction-summary-panel label,.g-desktop-fiction-reader .fiction-preset-box h3{color:var(--fiction-cyan);font:6px/1.3 "Press Start 2P","PingFang SC",monospace}.g-desktop-fiction-reader :is(input,textarea):focus{outline:1px solid var(--fiction-cyan);outline-offset:-1px}.g-desktop-fiction-reader .fiction-two-col,.g-desktop-fiction-reader .fiction-three-col{gap:8px}.g-desktop-fiction-reader .fiction-preset-picker-field{position:relative}.g-desktop-fiction-reader .fiction-preset-picker{position:relative}.g-desktop-fiction-reader .fiction-preset-picker summary{min-height:30px;padding:7px 8px;border:1px solid var(--dc-line2);border-radius:0;background:rgba(7,4,12,.84);font:8px/1.35 "Space Mono","PingFang SC",monospace}.g-desktop-fiction-reader .fiction-preset-menu{z-index:20;border-radius:0;background:#0b0710}.g-desktop-fiction-reader .fiction-preset-menu button{min-height:28px;border-radius:0;font-size:8px}.g-desktop-fiction-reader .fiction-preset-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.g-desktop-fiction-reader .fiction-preset-preview{gap:3px;padding:8px;border-radius:0}.g-desktop-fiction-reader .fiction-preset-preview small{font-size:6px}.g-desktop-fiction-reader .fiction-preset-preview strong{font-size:9px}.g-desktop-fiction-reader .fiction-preset-preview p{display:-webkit-box;overflow:hidden;margin:0;font-size:7px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.g-desktop-fiction-reader .fiction-detail-hero{display:grid;grid-template-columns:118px minmax(0,1fr);grid-template-rows:auto auto auto auto;align-items:start;gap:7px 16px}.g-desktop-fiction-reader .fiction-detail-hero>.fiction-book-cover{grid-row:1/5;width:118px}.g-desktop-fiction-reader .fiction-detail-hero h3{grid-column:2;margin:3px 0;color:var(--dc-ink);font:500 clamp(19px,3cqi,28px)/1.3 "Noto Serif SC","Songti SC",serif}.g-desktop-fiction-reader .fiction-detail-meta{grid-column:2;display:flex;gap:8px}.g-desktop-fiction-reader .fiction-detail-hero blockquote{grid-column:2;margin:0;color:var(--dc-muted);font:9px/1.6 "Space Mono","PingFang SC",monospace}.g-desktop-fiction-reader .fiction-detail-actions{grid-column:2;gap:5px}.g-desktop-fiction-reader .fiction-mini-chapters{gap:5px}.g-desktop-fiction-reader .fiction-mini-chapters button{min-height:37px;padding:7px 9px;border-radius:0}.g-desktop-fiction-reader .fiction-mini-chapters span{font-size:6px}.g-desktop-fiction-reader .fiction-mini-chapters strong{font-size:9px}
.g-desktop-fiction-reader .fiction-reader-top{font-size:7px}.g-desktop-fiction-reader .fiction-reader-layout{grid-template-columns:46px minmax(0,1fr);gap:9px}.g-desktop-fiction-reader .fiction-chapter-drawer{position:sticky;top:0;gap:5px;max-height:70vh}.g-desktop-fiction-reader .fiction-chapter-drawer button{min-height:34px;padding:5px;border-radius:0;text-align:center}.g-desktop-fiction-reader .fiction-chapter-drawer span{font-size:5px}.g-desktop-fiction-reader .fiction-reading-page{min-height:320px;padding:clamp(16px,3.4cqi,32px);border-radius:0;background:rgba(7,4,12,.58)}.g-desktop-fiction-reader .fiction-reading-page>span{font-size:7px}.g-desktop-fiction-reader .fiction-reading-page h3{margin:6px 0 14px;font:500 clamp(20px,3cqi,30px)/1.35 "Noto Serif SC","Songti SC",serif}.g-desktop-fiction-reader .fiction-reading-page div{color:rgba(247,237,243,.9);font:14px/1.95 "Noto Serif SC","Songti SC",serif}.g-desktop-fiction-reader .fiction-summary-panel,.g-desktop-fiction-reader .fiction-generate-card{margin-top:10px;padding:10px;border:1px solid var(--dc-line);border-radius:0;background:rgba(17,10,25,.42)}.g-desktop-fiction-reader .fiction-generate-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.g-desktop-fiction-reader .fiction-generate-card>textarea{grid-column:1/-1}.g-desktop-fiction-reader .fiction-generate-card>.fiction-actions{grid-column:1/-1}.g-desktop-fiction-reader .fiction-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.g-desktop-fiction-reader .fiction-preset-box{gap:7px;padding:9px;border-radius:0}.g-desktop-fiction-reader .fiction-preset-form{gap:6px}.g-desktop-fiction-reader .fiction-existing-presets summary{font-size:8px}.g-desktop-fiction-reader .fiction-preset-list article{padding:7px;border-radius:0}.g-desktop-fiction-reader .fiction-boundary-note{margin-top:9px;padding:9px;border-radius:0}.g-desktop-fiction-reader .fiction-boundary-note p{font-size:7px}.g-desktop-fiction-reader .fiction-generating-page{min-height:calc(100% - 45px);place-content:center}.g-desktop-fiction-reader .fiction-generating-page strong{font-size:16px}.g-desktop-fiction-reader .fiction-generating-page p{font-size:7px}
@container desktop-fiction-window (min-width:980px){.g-desktop-fiction-workspace{grid-template-columns:minmax(420px,.9fr) minmax(500px,1.1fr)}.g-desktop-fiction-board{border-right:1px solid var(--dc-line)}.g-desktop-fiction-reader{position:relative;inset:auto;z-index:auto;transform:none;background-color:rgba(6,4,10,.72)}}
@container desktop-fiction-window (max-width:700px){.g-desktop-fiction-toolbar{min-height:90px;grid-template-columns:minmax(0,1fr) auto auto 32px;grid-template-rows:auto 27px}.g-desktop-fiction-toolbar>div{grid-column:1/5;grid-row:1}.g-desktop-fiction-toolbar>button:nth-of-type(1){grid-column:1;grid-row:2;justify-self:start}.g-desktop-fiction-toolbar>button:nth-of-type(2){grid-column:2;grid-row:2}.g-desktop-fiction-toolbar>button:nth-of-type(3){grid-column:3;grid-row:2}.g-desktop-fiction-toolbar>button:last-child{grid-column:4;grid-row:2}.g-desktop-fiction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g-desktop-fiction-hero{grid-template-columns:42px minmax(0,1fr)}.g-desktop-fiction-hero>.material-symbols-outlined{width:40px;height:40px}.g-desktop-fiction-hero>b{grid-column:2}.g-desktop-fiction-reader .fiction-two-col,.g-desktop-fiction-reader .fiction-three-col,.g-desktop-fiction-reader .fiction-settings-grid,.g-desktop-fiction-reader .fiction-preset-preview-grid{grid-template-columns:1fr}}
@container desktop-fiction-window (max-width:520px){.g-desktop-fiction-grid{grid-template-columns:1fr}.g-desktop-fiction-featured{grid-template-columns:82px minmax(0,1fr)}.g-desktop-fiction-featured .fiction-book-cover.large{width:82px}.g-desktop-fiction-recent>button{grid-template-columns:42px minmax(0,1fr)}.g-desktop-fiction-recent>button span{grid-column:2}.g-desktop-fiction-reader .fiction-detail-hero{grid-template-columns:82px minmax(0,1fr)}.g-desktop-fiction-reader .fiction-detail-hero>.fiction-book-cover{width:82px}.g-desktop-fiction-reader .fiction-detail-actions{grid-column:1/-1}.g-desktop-fiction-reader .fiction-reading-page div{font-size:13px}}

/* Fiction reading-desk balance pass: one scale for covers/actions, one rail for chapters, one grid for both editor forms. */
.g-desktop-fiction-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.g-desktop-fiction-grid>article{padding:10px}.g-desktop-fiction-grid .fiction-book-card{grid-template-columns:86px minmax(0,1fr);gap:4px 10px}.g-desktop-fiction-grid .fiction-book-cover{width:86px;min-height:110px;padding:8px}.g-desktop-fiction-grid .fiction-book-card>strong{font-size:11px;white-space:normal}.g-desktop-fiction-grid .fiction-book-card>p{-webkit-line-clamp:4}
.g-desktop-fiction-reader-page.is-detail>.fiction-detail-card{padding:16px}.g-desktop-fiction-reader .fiction-detail-hero{grid-template-columns:132px minmax(0,1fr);grid-template-rows:auto auto minmax(74px,auto) auto;gap:8px 22px;align-items:start;padding:4px}.g-desktop-fiction-reader .fiction-detail-hero>.fiction-book-cover{grid-row:1/5;width:132px;align-self:start}.g-desktop-fiction-reader .fiction-detail-hero h3{align-self:end;margin:0;font-size:clamp(21px,2.7cqi,30px);line-height:1.25}.g-desktop-fiction-reader .fiction-detail-meta{align-items:center;gap:6px}.g-desktop-fiction-reader .fiction-detail-meta span{min-height:25px;display:inline-flex;align-items:center;padding:0 9px;border:1px solid var(--dc-line2);font-size:7px}.g-desktop-fiction-reader .fiction-detail-hero blockquote{align-self:stretch;display:flex;align-items:center;margin:0;padding:11px 13px;color:var(--dc-muted);border:1px solid var(--dc-line);border-radius:0;background:rgba(91,56,144,.08);font-size:9px;line-height:1.65}.g-desktop-fiction-reader .fiction-detail-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:6px}.g-desktop-fiction-reader .fiction-detail-actions button{width:100%!important;min-width:0!important;min-height:31px!important;margin:0!important;padding:0 9px!important}.g-desktop-fiction-reader .fiction-detail-actions .fiction-read-now{grid-column:auto;min-height:31px!important;font-size:8px!important}.g-desktop-fiction-reader .fiction-mini-chapters{margin-top:3px;padding-top:10px;border-top:1px solid var(--dc-line)}.g-desktop-fiction-reader .fiction-chronicle-title{padding-bottom:4px;color:var(--fiction-cyan);font:6px/1.2 "Press Start 2P",monospace}
.g-desktop-fiction-reader .fiction-reader-card{gap:0;padding:14px}.g-desktop-fiction-reader .fiction-reader-top{min-height:30px;margin-bottom:10px;padding:0 2px 8px;border-bottom:1px solid var(--dc-line)}.g-desktop-fiction-reader .fiction-reader-layout{display:block}.g-desktop-fiction-reader .fiction-chapter-drawer{position:relative;top:auto;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:none;margin:0 0 10px;padding:0;overflow:visible}.g-desktop-fiction-reader .fiction-chapter-drawer button{min-width:0;min-height:36px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;padding:7px 9px;text-align:left;border-radius:0}.g-desktop-fiction-reader .fiction-chapter-drawer span{font-size:6px;white-space:nowrap}.g-desktop-fiction-reader .fiction-chapter-drawer strong{overflow:hidden;color:var(--dc-muted);font:8px/1.35 "Space Mono","PingFang SC",monospace;text-overflow:ellipsis;white-space:nowrap}.g-desktop-fiction-reader .fiction-chapter-drawer button.active{border-color:rgba(103,232,249,.52);background:rgba(103,232,249,.07);box-shadow:inset 2px 0 var(--fiction-cyan)}.g-desktop-fiction-reader .fiction-chapter-drawer button.active :is(span,strong){color:var(--fiction-cyan)}.g-desktop-fiction-reader .fiction-reading-page{width:100%;min-height:340px;margin:0;padding:clamp(18px,3.6cqi,34px);border-radius:0}.g-desktop-fiction-reader .fiction-reading-page>span{display:block;margin-bottom:5px}.g-desktop-fiction-reader .fiction-reading-page h3{margin:0 0 16px}
.g-desktop-fiction-reader .fiction-reader-card>.fiction-summary-panel,.g-desktop-fiction-reader .fiction-reader-card>.fiction-generate-card{box-sizing:border-box;width:100%;display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:start!important;gap:8px!important;margin:12px 0 0!important;padding:12px!important;border:1px solid var(--dc-line)!important;border-radius:0!important;background:rgba(17,10,25,.42)!important}.g-desktop-fiction-reader .fiction-summary-panel .field{width:100%;gap:7px;margin:0}.g-desktop-fiction-reader .fiction-summary-panel label,.g-desktop-fiction-reader .fiction-generate-card>div:first-child>strong{color:var(--fiction-pink);font:7px/1.3 "Press Start 2P","PingFang SC",monospace;letter-spacing:.04em}.g-desktop-fiction-reader .fiction-generate-card>div:first-child{display:grid;gap:4px}.g-desktop-fiction-reader .fiction-generate-card>div:first-child>span{color:var(--dc-dim);font:8px/1.45 "Space Mono","PingFang SC",monospace}.g-desktop-fiction-reader .fiction-summary-panel textarea,.g-desktop-fiction-reader .fiction-generate-card>textarea{box-sizing:border-box;width:100%;min-height:92px!important;margin:0!important;padding:9px 10px!important}.g-desktop-fiction-reader .fiction-reader-card .fiction-text-actions{width:100%;display:flex;justify-content:flex-end;gap:6px;margin:0!important}.g-desktop-fiction-reader .fiction-reader-card .fiction-text-actions button{width:auto!important;min-width:96px!important;min-height:29px!important;margin:0!important;padding:0 10px!important}
@container desktop-fiction-window (max-width:700px){.g-desktop-fiction-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.g-desktop-fiction-reader .fiction-detail-hero{grid-template-columns:104px minmax(0,1fr);gap:8px 14px}.g-desktop-fiction-reader .fiction-detail-hero>.fiction-book-cover{width:104px}.g-desktop-fiction-reader .fiction-detail-actions{grid-column:1/-1}.g-desktop-fiction-reader .fiction-chapter-drawer{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container desktop-fiction-window (max-width:470px){.g-desktop-fiction-reader .fiction-detail-hero{grid-template-columns:82px minmax(0,1fr)}.g-desktop-fiction-reader .fiction-detail-hero>.fiction-book-cover{width:82px}.g-desktop-fiction-reader .fiction-detail-hero blockquote{grid-column:1/-1}.g-desktop-fiction-reader .fiction-chapter-drawer{grid-template-columns:1fr}.g-desktop-fiction-reader .fiction-reader-card .fiction-text-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.g-desktop-fiction-reader .fiction-reader-card .fiction-text-actions button{width:100%!important;min-width:0!important}}
.g-desktop-launcher-grid button > span { min-width: 0; display: grid; gap: 5px; }
.g-desktop-launcher-grid b { overflow: hidden; font-family: "Press Start 2P", "VT323", monospace; font-size: 6px; font-weight: 400; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-launcher-grid small { overflow: hidden; color: var(--dc-muted); font-size: 12px; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-launcher-grid em { align-self: start; padding-top: 1px; color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 5px; font-style: normal; letter-spacing: .04em; }
.g-desktop-launcher-grid [data-app-status="live"] em { color: var(--dc-green); }
.g-desktop-launcher-grid [data-app-status="reserved"] { opacity: .58; }
.g-desktop-launcher-grid [data-app-status="reserved"] em { color: var(--dc-dim); }

.g-desktop-taskbar {
  position: absolute;
  inset: auto 0 0;
  z-index: 7000;
  height: 44px;
  display: grid;
  grid-template-columns: 114px 1fr auto;
  align-items: stretch;
  border-top: 1px solid var(--dc-line2);
  background: rgba(10, 6, 18, .94);
}
.g-desktop-taskbar.has-blur { background: rgba(10, 6, 18, .72); backdrop-filter: blur(12px); }
.g-desktop-taskbar button { color: var(--dc-muted); border: 0; border-right: 1px solid var(--dc-line); border-radius: 0; background: transparent; cursor: pointer; }
.g-desktop-launch-button { display: flex; align-items: center; justify-content: center; gap: 9px; }
.g-desktop-launch-button .g-desktop-home-icon { color: var(--dc-cyan); }
.g-desktop-launch-button b { font-family: "Press Start 2P", "VT323", monospace; font-size: 8px; }
.g-desktop-launch-button:hover,
.g-desktop-launch-button.active { color: var(--dc-ink); background: var(--dc-surf2); }
.g-desktop-running-apps { display: flex; min-width: 0; overflow-x: auto; }
.g-desktop-running-apps button { position: relative; min-width: 78px; max-width: 132px; display: flex; align-items: center; gap: 7px; padding: 0 11px; }
.g-desktop-running-apps button.active::after { content: ""; position: absolute; right: 10px; bottom: 4px; left: 10px; height: 1px; background: var(--dc-cyan); box-shadow: 0 0 5px rgba(103, 232, 249, .55); }
.g-desktop-running-apps button.minimized { opacity: .54; }
.g-desktop-taskbar-icon { width: 18px; height: 18px; flex: 0 0 18px; display: grid; place-items: center; color: var(--dc-cyan); font-size: 18px; }
.g-desktop-taskbar-icon::before { width: 15px; height: 15px; }
.g-desktop-running-apps b { overflow: hidden; font-family: "Press Start 2P", "VT323", monospace; font-size: 6px; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-tray { display: flex; align-items: stretch; }
.g-desktop-tray button { width: 42px; border-left: 1px solid var(--dc-line); border-right: 0; font-size: 20px; }
.g-desktop-tray button .g-desktop-taskbar-icon { margin: auto; color: currentColor; }
.g-desktop-tray button:hover { color: var(--dc-cyan); background: var(--dc-surf2); }
.g-desktop-note-tray { position: relative; }
.g-desktop-note-tray [data-desktop-note-badge] {
  position: absolute;
  top: 6px;
  right: 7px;
  width: 8px;
  min-width: 8px;
  height: 8px;
  padding: 0;
  overflow: hidden;
  color: transparent;
  border: 1px solid rgba(5, 12, 10, .82);
  border-radius: 50%;
  background: var(--dc-green);
  box-shadow: 0 0 0 2px rgba(74, 222, 128, .12), 0 0 8px rgba(74, 222, 128, .82);
  font-size: 0;
  font-style: normal;
  line-height: 1;
  animation: desktop-note-breath 1.8s ease-in-out infinite;
}
.g-desktop-note-tray [data-desktop-note-badge][hidden] { display: none; }
@keyframes desktop-note-breath {
  0%, 100% { opacity: .55; transform: scale(.82); box-shadow: 0 0 0 1px rgba(74, 222, 128, .08), 0 0 4px rgba(74, 222, 128, .45); }
  50% { opacity: 1; transform: scale(1); box-shadow: 0 0 0 3px rgba(74, 222, 128, .14), 0 0 10px rgba(74, 222, 128, .92); }
}
@media (prefers-reduced-motion: reduce) {
  .g-desktop-note-tray [data-desktop-note-badge] { animation: none; }
}
.g-desktop-tray time { min-width: 80px; display: grid; place-items: center; padding: 0 12px; color: var(--dc-cyan); font-size: 17px; }

.g-desktop-mobile-mode-switch {
  position: fixed;
  top: 10px;
  right: 18px;
  z-index: 10000;
  padding: 3px;
  border: 1px solid var(--border-soft, rgba(70, 58, 70, .16));
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface-card, #fff) 82%, transparent);
  box-shadow: 0 5px 16px rgba(30, 20, 30, .08);
  backdrop-filter: blur(12px);
}

.g-desktop-mobile-mode-switch .g-desktop-view-switch {
  --dc-bg: var(--surface-card, #fff);
  --dc-muted: var(--text-secondary, #766d78);
  --dc-cyan: var(--accent-strong, #3d8f88);
  --dc-line: var(--border-soft, rgba(70, 58, 70, .18));
  width: 118px;
  height: 28px;
  background: transparent;
  border-color: transparent;
}

.g-desktop-mobile-mode-switch .g-desktop-view-switch button.active {
  color: var(--surface-card, #fff);
  background: var(--accent-strong, #3d8f88);
  box-shadow: none;
}

@media (max-width: 1230px) {
  .g-desktop-relationship-home {
    top: 30px;
    width: min(960px, calc(100% - 42px));
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
    gap: 16px;
  }
  .g-desktop-couple-portrait,
  .g-desktop-love-stats { min-height: 360px; }
  .g-desktop-couple-portrait { padding: 20px 22px; }
  .g-desktop-love-stats { padding: 22px; }
  .g-desktop-couple-portraits { height: 138px; }
  .g-desktop-couple-avatar { width: 102px; height: 128px; }
  .g-desktop-couple-heart { width: 32px; height: 32px; flex-basis: 32px; transform: translateY(28px); }
  .g-desktop-couple-mark strong { font-size: clamp(28px, 3.5vw, 42px); }
  .g-desktop-love-stat-grid article { min-height: 84px; }
  .g-desktop-launcher { width: min(760px, calc(100vw - 20px)); }
  .g-desktop-launcher-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-height: 720px) and (min-width: 1024px) {
  .g-desktop-relationship-home { top: 20px; }
  .g-desktop-couple-portrait,
  .g-desktop-love-stats { min-height: 330px; }
  .g-desktop-couple-portrait { gap: 8px; padding-top: 18px; padding-bottom: 18px; }
  .g-desktop-couple-portraits { height: 122px; }
  .g-desktop-couple-avatar { width: 90px; height: 112px; }
  .g-desktop-love-stats { gap: 12px; padding-top: 20px; padding-bottom: 20px; }
  .g-desktop-love-stats header { gap: 5px; padding-bottom: 10px; }
  .g-desktop-love-stat-grid article { min-height: 74px; }
}

@media (max-width: 1023px) {
  .g-desktop,
  .g-desktop-mobile-mode-switch,
  .g-desktop-mobile-return { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .g-desktop *,
  .g-desktop *::before,
  .g-desktop *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Phone Peek keeps the same Kiki-provided Apple glyph in every Senses shell. */
.g-desktop-senses-card > .g-desktop-senses-custom-icon {
  display: block;
  width: 21px;
  height: 21px;
  margin: 0;
  background: currentColor;
  color: var(--sense-cyan);
}

.g-desktop-senses-detail > header > .g-desktop-senses-custom-icon {
  display: block;
  width: 25px;
  height: 25px;
  margin: 8px;
  background: currentColor;
  color: var(--sense-cyan);
}
