:host, :host.notch-page { background: transparent; margin: 0px; height: 100%; overflow: hidden; }
.notch, .notch *, .notch ::before, .notch ::after { box-sizing: border-box; }
:host.notch-page #root { display: block; height: 100%; width: 100%; }
.notch { --w-closed: 372px; --w-open: 620px; --cam: 200px; --r: 13px; interpolate-size: allow-keywords; position: absolute; top: 0px; left: 50%; transform: translateX(-50%); width: var(--w-closed); background: rgb(0, 0, 0); border-radius: 0 0 var(--r) var(--r); color: rgb(245, 245, 247); font: 12px / 1.35 -apple-system, "SF Pro Text", "Helvetica Neue", sans-serif; -webkit-font-smoothing: antialiased; cursor: default; user-select: none; transition: width 0.34s cubic-bezier(0.4, 0, 0.2, 1), border-radius 0.34s cubic-bezier(0.4, 0, 0.2, 1); z-index: 60; }
.notch.open { width: var(--w-open); --r: 26px; transition: width 0.56s cubic-bezier(0.3, 1.25, 0.5, 1), border-radius 0.5s cubic-bezier(0.3, 1.25, 0.5, 1); }
.notch-ear { position: absolute; top: 0px; width: 12px; height: 12px; pointer-events: none; }
.notch-ear.l { left: -12px; background: radial-gradient(circle at 0px 100%, transparent 11.5px, rgb(0, 0, 0) 12px); }
.notch-ear.r { right: -12px; background: radial-gradient(circle at 100% 100%, transparent 11.5px, rgb(0, 0, 0) 12px); }
.notch-inner { overflow: hidden; height: var(--bar); border-radius: inherit; transition: height 0.32s cubic-bezier(0.4, 0, 0.2, 1); }
.notch.open .notch-inner { height: auto; transition: height 0.56s cubic-bezier(0.3, 1.2, 0.5, 1); }
.notch-top { height: var(--bar); display: flex; align-items: center; padding: 0px 16px; }
.notch-side { flex: 1 1 0%; display: flex; align-items: center; min-width: 0px; }
.notch-side.right { justify-content: flex-end; }
.notch-cam { flex: 0 0 var(--cam); transition: flex-basis 0.5s cubic-bezier(0.3, 1.3, 0.5, 1); }
.notch-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; letter-spacing: -0.1px; }
.notch-pill b { font-weight: 600; font-variant-numeric: tabular-nums; }
.notch-swaps { position: relative; display: inline-flex; }
@keyframes notch-swap-in { 
  0% { opacity: 0; filter: blur(3px); }
  100% { opacity: 1; filter: none; }
}
@keyframes notch-swap-out { 
  0% { opacity: 1; filter: none; }
  100% { opacity: 0; filter: blur(3px); }
}
.notch-dot { width: 6px; height: 6px; border-radius: 50%; background: rgb(99, 99, 102); }
.notch-dot.good { background: rgb(48, 209, 88); box-shadow: rgba(48, 209, 88, 0.6) 0px 0px 6px; }
@keyframes notch-beat { 
  50% { opacity: 0.35; }
}
.glyph-svc { flex: 0 0 auto; }
.glyph-svc { color: rgb(245, 245, 247); }
.glyph-svc.claude { color: rgb(217, 119, 87); }
.notch-body { width: var(--w-open); margin-left: calc((100% - var(--w-open)) / 2); padding: 2px 16px 16px; opacity: 0; transform: translateY(-6px) scale(0.98); transform-origin: 50% 0px; transition: opacity 0.14s, transform 0.2s; }
.notch.open .notch-body { opacity: 1; transform: none; transition: opacity 0.3s 0.08s, transform 0.5s cubic-bezier(0.3, 1.2, 0.5, 1) 0.04s; }
.lim-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lim-card { background: rgb(28, 28, 30); border-radius: 16px; padding: 12px 13px 13px; display: flex; flex-direction: column; gap: 10px; min-width: 0px; box-shadow: rgba(255, 255, 255, 0.06) 0px 0px 0px 0.5px inset; }
.lim-head { display: flex; align-items: center; gap: 7px; }
.lim-name { font-size: 13.5px; font-weight: 600; letter-spacing: -0.2px; flex: 1 1 0%; min-width: 0px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@keyframes lim-spin { 
  100% { transform: rotate(360deg); }
}
.lim-row { display: flex; flex-direction: column; gap: 5px; }
.lim-line { display: flex; justify-content: space-between; align-items: baseline; font-size: 12.5px; }
.lim-label { display: inline-flex; align-items: baseline; gap: 7px; min-width: 0px; white-space: nowrap; }
.lim-week { display: flex; flex-direction: column; gap: 7px; }
.lim-reset { display: inline-flex; align-items: center; gap: 4px; font-size: 10.5px; color: rgb(142, 142, 147); font-variant-numeric: tabular-nums; }
.lim-rest { font-weight: 600; font-variant-numeric: tabular-nums; }
.lim-rest.good { color: rgb(48, 209, 88); }
.lim-bar { height: 4px; border-radius: 2px; background: rgb(58, 58, 60); overflow: hidden; }
.lim-bar i { display: block; height: 100%; border-radius: 2px; background: rgb(99, 99, 102); transition: width 0.7s cubic-bezier(0.3, 1.2, 0.5, 1); }
.lim-bar i.good { background: rgb(48, 209, 88); }
.lim-meta { font-size: 10.5px; color: rgb(142, 142, 147); font-variant-numeric: tabular-nums; }
.notch:not(.gone):not(.embedded) { transition-property: width, border-radius, transform, opacity; }
.notch-foot { display: flex; align-items: center; gap: 8px; margin-top: 12px; color: rgb(142, 142, 147); font-size: 11px; }
.notch-foot .spacer { flex: 1 1 0%; }
.seg { display: inline-flex; background: rgba(255, 255, 255, 0.08); border-radius: 9px; padding: 2px; gap: 2px; }
.seg button { font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 11px; color: rgb(199, 199, 204); background: transparent; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; box-shadow: none; border-radius: 7px; padding: 3px 9px; }
.seg button:hover { background: rgba(255, 255, 255, 0.06); }
.seg button.on { background: rgb(58, 58, 60); color: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.4) 0px 1px 2px; }
.notch-round { width: 28px; height: 28px; padding: 0px; border-radius: 50%; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; box-shadow: none; font: inherit; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.08); color: rgb(199, 199, 204); transition: background 0.2s, color 0.2s; }
.notch-round:hover { background: rgba(255, 255, 255, 0.14); color: rgb(255, 255, 255); }
.notch-round .ic { transition: transform 0.5s cubic-bezier(0.32, 0.72, 0, 1); }
.notch-sound { color: rgb(142, 142, 147); }
.mode-inner .seg button { width: 34px; padding: 0px; display: inline-flex; align-items: center; justify-content: center; }
.notch-lid { height: 28px; padding: 0px 8px 0px 10px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 14px; box-shadow: none; font: inherit; flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; background: rgba(255, 255, 255, 0.08); color: rgb(142, 142, 147); transition: background 0.2s, color 0.2s; }
.notch-lid:hover:not(:disabled) { background: rgba(255, 255, 255, 0.14); color: rgb(255, 255, 255); }
.notch-lid:disabled { opacity: 0.6; }
.notch-sw { position: relative; width: 24px; height: 14px; border-radius: 7px; background: rgba(255, 255, 255, 0.18); transition: background 0.25s; }
.notch-sw::after { content: ""; position: absolute; top: 2px; left: 2px; width: 10px; height: 10px; border-radius: 50%; background: rgb(255, 255, 255); transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1); }
.notch-sound.on { color: rgb(255, 255, 255); }
.mode-drawer { display: grid; grid-template-columns: 0fr; opacity: 0; margin-left: -8px; transition: grid-template-columns 0.45s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.25s, margin-left 0.45s cubic-bezier(0.32, 0.72, 0, 1); }
.mode-inner { min-width: 0px; overflow: hidden; }
.mode-inner .seg { white-space: nowrap; height: 28px; border-radius: 14px; align-items: center; }
.mode-inner .seg button { border-radius: 12px; height: 24px; padding: 0px 11px; }
.mode-drawer .seg button { opacity: 0; transform: translateX(-6px) scale(0.96); filter: blur(2px); transition: opacity 0.2s, transform 0.2s, filter 0.2s, background 0.2s, color 0.2s; }
.notch .ic { display: inline-block; flex: 0 0 auto; background-color: currentcolor; mask-size: contain; mask-repeat: no-repeat; mask-position: center center; }
.notch-side.right { gap: 10px; }
.notch-act { display: inline-flex; gap: 8px; font-size: 12.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.act { display: inline-flex; align-items: center; gap: 5px; }
.act i { width: 7px; height: 7px; border-radius: 50%; }
.act.busy i { background: rgb(255, 214, 10); animation: 1.1s ease-in-out 0s infinite normal none running ses-pulse; }
.act.new i { background: rgb(48, 209, 88); box-shadow: rgba(48, 209, 88, 0.8) 0px 0px 7px; }
@keyframes notch-ping { 
  0% { width: var(--w-closed); }
  35% { width: calc(var(--w-closed) + 44px); }
  100% { width: var(--w-closed); }
}
@keyframes flip-to { 
  0% { transform: rotateY(0deg) translateZ(0px) scale(1); animation-timing-function: cubic-bezier(0.42, 0, 0.9, 0.55); }
  50% { transform: rotateY(90deg) translateZ(-56px) scale(0.96); animation-timing-function: cubic-bezier(0.1, 0.45, 0.4, 1); }
  100% { transform: rotateY(180deg) translateZ(0px) scale(1); }
}
@keyframes flip-back { 
  0% { transform: rotateY(180deg) translateZ(0px) scale(1); animation-timing-function: cubic-bezier(0.42, 0, 0.9, 0.55); }
  50% { transform: rotateY(90deg) translateZ(-56px) scale(0.96); animation-timing-function: cubic-bezier(0.1, 0.45, 0.4, 1); }
  100% { transform: rotateY(0deg) translateZ(0px) scale(1); }
}
.ses { background: rgb(28, 28, 30); border-radius: 16px; padding: 12px 10px 10px 13px; display: flex; flex-direction: column; gap: 8px; min-width: 0px; box-shadow: rgba(255, 255, 255, 0.06) 0px 0px 0px 0.5px inset; }
.ses-glyph { display: inline-flex; color: rgb(209, 209, 214); }
.ses-sum { display: inline-flex; align-items: center; gap: 5px; font-size: 10.5px; color: rgb(142, 142, 147); white-space: nowrap; }
.ses-sum .ses-dot + * { margin-right: 4px; }
.ses-list { display: flex; flex-direction: column; gap: 2px; max-height: 122px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; }
.ses-list::-webkit-scrollbar { display: none; }
.ses-row { display: flex; align-items: center; gap: 7px; padding: 5px 7px; border-radius: 9px; font-size: 12px; cursor: pointer; transition: background 0.12s; animation: 0.3s ease 0s 1 normal both running ses-in; }
.ses-row:hover { background: rgba(255, 255, 255, 0.08); }
.ses-ic { display: inline-flex; color: rgb(142, 142, 147); }
.ses-row.st-busy .ses-ic, .ses-row.unread .ses-ic { color: rgb(255, 255, 255); }
.ses-title { flex: 1 1 0%; min-width: 0px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ses-state { flex: 0 0 92px; min-width: 0px; overflow: hidden; display: inline-flex; align-items: center; justify-content: flex-end; gap: 5px; font-size: 10.5px; color: rgb(142, 142, 147); white-space: nowrap; font-variant-numeric: tabular-nums; }
.ses-row.st-busy .ses-state b { color: rgb(255, 214, 10); font-weight: 600; }
.ses-row.unread .ses-state { color: rgb(48, 209, 88); font-weight: 600; }
.ses-dot { width: 6px; height: 6px; border-radius: 50%; display: inline-block; }
.ses-dot.busy { background: rgb(255, 214, 10); animation: 1.1s ease-in-out 0s infinite normal none running ses-pulse; }
.ses-dot.new { background: rgb(48, 209, 88); box-shadow: rgba(48, 209, 88, 0.8) 0px 0px 6px; }
.ses-row.st-busy { background: linear-gradient(90deg, rgba(255, 214, 10, 0.09), transparent 70%); animation: 0.3s ease 0s 1 normal both running ses-in, 2.2s ease-in-out 0s infinite normal none running ses-breathe; }
@keyframes ses-pulse { 
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.35; transform: scale(0.75); }
}
@keyframes ses-breathe { 
  0%, 100% { background-color: rgba(255, 214, 10, 0); }
  50% { background-color: rgba(255, 214, 10, 0.06); }
}
@keyframes ses-in { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.lim-col { display: flex; flex-direction: column; gap: 10px; min-width: 0px; }
.lim-add { display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: 28px; padding: 0px 12px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 14px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 12px; color: rgb(199, 199, 204); background: rgba(255, 255, 255, 0.08); box-shadow: none; transition: background 0.2s, color 0.2s; }
.lim-add:hover:not(:disabled) { background: rgba(255, 255, 255, 0.14); color: rgb(255, 255, 255); }
.shelf { margin-top: 10px; padding: 7px 8px; border-radius: 14px; background: rgb(28, 28, 30); box-shadow: rgba(255, 255, 255, 0.08) 0px 0px 0px 0.5px inset; transition: box-shadow 0.2s; }
.shelf-head { display: flex; align-items: center; gap: 10px; }
.shelf-hint { flex: 1 1 auto; min-width: 0px; font-size: 11.5px; color: rgb(99, 99, 102); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@keyframes shelf-in { 
  0% { opacity: 0; transform: scale(0.9); }
  100% { opacity: 1; transform: none; }
}
@keyframes dict-pulse { 
  0%, 100% { opacity: 1; }
  50% { opacity: 0.35; }
}
.ses-agent-col { flex: 0 0 68px; min-width: 0px; display: flex; justify-content: flex-start; }
.ses-agent { max-width: 100%; overflow: hidden; text-overflow: ellipsis; font-size: 10.5px; color: rgb(142, 142, 147); padding: 1px 6px; border-radius: 6px; background: rgba(255, 255, 255, 0.07); white-space: nowrap; }
.lim-cards > .ses { align-self: stretch; }
.lim-card.fold { gap: 0px; padding: 10px 13px; cursor: pointer; transition: box-shadow 0.2s; }
.lim-card.fold:hover { box-shadow: rgba(255, 255, 255, 0.18) 0px 0px 0px 0.5px inset; }
.lim-card.fold .lim-head { min-height: 22px; }
.lim-card.fold .lim-head > .lim-rest { font-size: 13px; }
.lim-fold { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows 0.42s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.22s; }
.lim-fold.on { grid-template-rows: 1fr; opacity: 1; transition: grid-template-rows 0.42s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.3s 0.08s; }
.lim-fold-in { min-height: 0px; overflow: hidden; }
.lim-fold-pad { padding-top: 7px; display: flex; flex-direction: column; gap: 7px; }
.lim-fold-pad.wide { padding-top: 9px; gap: 9px; }
.notch-rec { height: 28px; padding: 0px 12px 0px 10px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 14px; box-shadow: none; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 11.5px; flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; overflow: hidden; max-width: 260px; background: rgba(255, 255, 255, 0.08); color: rgb(199, 199, 204); cursor: pointer; interpolate-size: allow-keywords; width: auto; transition: background 0.2s, color 0.2s, width 0.35s cubic-bezier(0.32, 0.72, 0, 1); }
.notch-rec:hover:not(:disabled) { background: rgba(255, 255, 255, 0.14); color: rgb(255, 255, 255); }
.notch-rec:disabled { cursor: default; }
.notch-rec-dot { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: rgb(185, 162, 255); }
.notch-rec-text { display: inline-flex; align-items: center; gap: 8px; overflow: hidden; text-overflow: ellipsis; }
@keyframes notch-rec-pulse { 
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.35; transform: scale(0.75); }
}
.notch { --grow: 0px; }
.notch:not(.embedded) { transform: translateX(calc(-50% + var(--grow) / 2)); }
.notch, .notch.open { transition: width 0.45s cubic-bezier(0.32, 0.72, 0, 1), transform 0.45s cubic-bezier(0.32, 0.72, 0, 1), border-radius 0.34s cubic-bezier(0.4, 0, 0.2, 1); }
.notch.open { transition: width 0.56s cubic-bezier(0.3, 1.25, 0.5, 1), transform 0.56s cubic-bezier(0.3, 1.25, 0.5, 1), border-radius 0.5s cubic-bezier(0.3, 1.25, 0.5, 1); }
.notch-side.right { transition: flex-basis 0.45s cubic-bezier(0.32, 0.72, 0, 1); }
.notch-rec.ph-idle { width: 28px; padding: 0px; justify-content: center; border-radius: 50%; }
.notch-rec.ph-idle .notch-rec-dot { width: 10px; height: 10px; }
.lim-card, .ses, .shelf { background: rgb(40, 40, 43); border-radius: 14px; box-shadow: rgba(255, 255, 255, 0.14) 0px 0.5px 0px inset, rgba(255, 255, 255, 0.09) 0px 0px 0px 0.5px; }
.ses-row { padding: 6px 9px; border-radius: 9px; font-size: 12.5px; }
.ses-row:hover { background: rgba(255, 255, 255, 0.06); }
.lim-col { max-height: 160px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; border-radius: 14px; }
.lim-col::-webkit-scrollbar { display: none; }
.shelf-hint { display: inline-flex; align-items: center; gap: 7px; }
.shelf-grow { flex: 1 1 auto; }
.notch-rec.ph-idle { width: auto; padding: 0px 12px 0px 10px; border-radius: 14px; justify-content: flex-start; }
.notch-rec.ph-idle .notch-rec-dot { width: 8px; height: 8px; }
.meet { display: inline-flex; align-items: center; gap: 6px; }
.meet-ask { display: grid; grid-template-columns: 0fr; opacity: 0; transition: grid-template-columns 0.3s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.22s; }
.meet-ask-in { min-width: 0px; overflow: hidden; display: inline-flex; align-items: center; gap: 8px; height: 28px; border-radius: 14px; background: rgba(185, 162, 255, 0.14); }
.meet-ask-q { font-size: 11.5px; color: rgb(229, 229, 234); white-space: nowrap; }
.meet-nums { display: flex; gap: 3px; width: 111px; overflow-x: auto; scrollbar-width: none; overscroll-behavior: contain; mask-image: linear-gradient(to right, rgb(0, 0, 0) calc(100% - 22px), transparent); }
.meet-nums::-webkit-scrollbar { display: none; }
.meet-n { flex: 0 0 22px; width: 22px; height: 22px; padding: 0px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 50%; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-variant-east-asian: inherit; font-variant-alternates: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 11.5px; font-weight: 600; font-variant-numeric: tabular-nums; display: inline-flex; align-items: center; justify-content: center; background: transparent; box-shadow: none; color: rgb(199, 199, 204); cursor: pointer; transition: background 0.15s, color 0.15s; }
.meet-n:hover { background: rgba(255, 255, 255, 0.14); color: rgb(255, 255, 255); }
.meet-n.on { background: rgb(185, 162, 255); color: rgb(23, 19, 31); }
.meet-nums::after { content: ""; flex: 0 0 14px; }
.lim-left { display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 0px; }
.lim-left > .lim-col { align-self: stretch; }
.lim-add { align-self: stretch; height: 32px; flex: 0 0 auto; padding: 0px; border: 1px dashed rgba(255, 255, 255, 0.22); border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; background: transparent; box-shadow: none; color: rgb(142, 142, 147); cursor: pointer; font: inherit; transition: border-color 0.2s, color 0.2s, background 0.2s; }
.lim-add:hover { border-color: rgba(255, 255, 255, 0.7); color: rgb(255, 255, 255); background: rgba(255, 255, 255, 0.06); }
.ses-ic { min-width: 12px; justify-content: center; }