/* 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-demo-watermark {
  position: absolute;
  right: 18px;
  bottom: 14px;
  color: rgba(103, 232, 249, .36);
  font-family: "Press Start 2P", "VT323", monospace;
  font-size: 8px;
  letter-spacing: .08em;
}

.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;
  mask: var(--desktop-icon) center / contain no-repeat;
}
.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-widget {
  position: absolute;
  z-index: 30;
  overflow: hidden;
  padding: 12px 13px 10px;
  border: 1px solid var(--dc-line2);
  border-left: 3px solid var(--dc-accent);
  background: rgba(26, 15, 46, .78);
  box-shadow: 5px 5px 0 rgba(61, 36, 104, .45);
  cursor: grab;
  user-select: none;
  touch-action: none;
}
.g-desktop-widget:active { cursor: grabbing; }
.g-desktop-widget::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg, rgba(192, 132, 252, .07), transparent 48%); }
.g-desktop-widget-grip { position: absolute; top: 4px; right: 6px; color: var(--dc-dim); font-size: 11px; }
.g-desktop-widget small { display: block; color: var(--dc-cyan); font-family: "Press Start 2P", "VT323", monospace; font-size: 5.5px; letter-spacing: .08em; }
.g-desktop-widget strong { display: block; margin: 7px 0 5px; color: var(--dc-ink); font-size: 17px; line-height: 1.15; font-weight: 400; }
.g-desktop-widget p { margin: 3px 0; color: var(--dc-muted); font-size: 13px; line-height: 1.22; }
.g-desktop-widget em { display: block; margin-top: 6px; color: var(--dc-dim); font-size: 11px; line-height: 1.2; font-style: normal; }
.g-desktop-widget p i { display: inline-block; width: 7px; height: 7px; margin-right: 5px; }
.g-desktop-widget p i.green { background: var(--dc-green); }
.g-desktop-widget p i.pink { background: var(--dc-pink); }
.g-desktop-widget p i.purple { background: var(--dc-accent); }
.g-desktop-widget-note { border-left-color: var(--dc-pink); }
.g-desktop-widget-playing { border-left-color: var(--dc-cyan); }

.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 .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; }
.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-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; }

/* 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(620px, calc(100vw - 20px));
  padding: 12px;
  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 { display: flex; align-items: center; justify-content: space-between; padding: 0 2px 9px; color: var(--dc-cyan); border-bottom: 1px solid var(--dc-line); }
.g-desktop-launcher header small { font-family: "Press Start 2P", "VT323", monospace; font-size: 8px; }
.g-desktop-launcher header button { color: var(--dc-muted); border: 0; background: transparent; cursor: pointer; }
.g-desktop-launcher > div { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; padding-top: 10px; }
.g-desktop-launcher > div button { min-width: 0; height: 74px; display: grid; grid-template-columns: 28px 1fr; grid-template-rows: 1fr 1fr; align-items: center; gap: 0 8px; padding: 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 > div button:hover { border-color: var(--dc-cyan); background: var(--dc-surf2); }
.g-desktop-launcher-icon { width: 28px; height: 28px; grid-row: 1 / 3; display: grid; place-items: center; color: var(--dc-cyan); font-size: 24px; text-align: center; }
.g-desktop-launcher-icon::before { width: 22px; height: 22px; }
.g-desktop-launcher > div b { overflow: hidden; font-family: "Press Start 2P", "VT323", monospace; font-size: 6px; text-overflow: ellipsis; white-space: nowrap; }
.g-desktop-launcher > div small { overflow: hidden; color: var(--dc-muted); font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }

.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 span { color: var(--dc-cyan); font-size: 24px; }
.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:hover { color: var(--dc-cyan); background: var(--dc-surf2); }
.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-widget { display: none; }
  .g-desktop-launcher > div { grid-template-columns: repeat(3, 1fr); }
}

@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; }
}
