
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  -webkit-user-select: none;
  outline: none;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

*::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

html {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: #f5f4f6;
  font-family: var(--one-global-font-family, system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", sans-serif);
  touch-action: none;
  overscroll-behavior: none;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  min-height: 100%;
}

body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: #f5f4f6;
  font-family: var(--one-global-font-family, system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", sans-serif);
  touch-action: none;
  overscroll-behavior: none;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  min-height: 100svh;
  background-image: radial-gradient(circle at 15% 10%, rgba(245, 245, 245, 0.9) 0%, transparent 40%),
            radial-gradient(circle at 85% 85%, rgba(230, 238, 242, 0.9) 0%, transparent 45%),
            linear-gradient(135deg, #fdfcfb 0%, #f0efed 100%);
}

body::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
  opacity: 0.04;
  pointer-events: none;
  z-index: 999;
  mix-blend-mode: multiply;
}

#desktop {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.editable-text {
  width: fit-content;
  max-width: 100%;
  cursor: pointer;
  transition: opacity 0.2s;
  position: relative;
  z-index: 10;
}

.editable-text:active {
  opacity: 0.5;
}

.line-clamp {
  display: block;
  white-space: nowrap;
  width: fit-content;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.editable-img {
  cursor: pointer;
  transition: opacity 0.2s;
  position: relative;
  z-index: 10;
}

.editable-img:active {
  opacity: 0.8;
}

.editable-img.has-image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.wt-photo.has-image::after {
  display: none;
}

.wm-avatar.has-image::after {
  display: none;
}

.wm-avatar.has-image svg {
  display: none;
}

.wa-circle.has-image::after {
  display: none;
}

.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(30, 30, 35, 0.4);
  z-index: 10000;
  display: none;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity 0.24s ease;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
  min-height: 0;
  height: var(--one-shell-lock-height, var(--one-layout-vh, 100svh));
  padding: max(24px, calc(env(safe-area-inset-top) + 18px)) 24px max(24px, calc(env(safe-area-inset-bottom) + 18px), calc(var(--one-visual-bottom-gap, 0px) + 18px));
}

.modal-overlay.show {
  opacity: 1;
}

.modal-box {
  position: relative;
  width: 100%;
  background: #ffffff;
  border-radius: 22px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
  overflow: hidden;
  transform: translateY(10px) scale(0.98);
  transition: transform 0.26s cubic-bezier(0.22, 0.74, 0.22, 1), opacity 0.22s ease;
  max-width: 320px;
  max-height: calc(var(--one-shell-lock-height, var(--one-layout-vh, 100svh)) - max(48px, calc(env(safe-area-inset-top) + env(safe-area-inset-bottom) + 36px)));
}

.modal-overlay.show .modal-box {
  transform: translateY(0) scale(1);
}

.modal-box::after {
  content: "MODEL";
  position: absolute;
  right: 9px;
  top: 50%;
  z-index: 3;
  transform: translateY(-50%) rotate(90deg);
  transform-origin: center;
  pointer-events: none;
  font-family: "Courier New", Courier, monospace;
  font-size: 8px;
  line-height: 1;
  letter-spacing: 0.22em;
  color: rgba(52, 56, 65, 0.105);
  white-space: nowrap;
}

.modal-content {
  position: relative;
  z-index: 2;
  padding: 24px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow-y: auto;
  scrollbar-width: none;
  flex: 1 1 auto;
  min-height: 0;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}

.modal-content::-webkit-scrollbar {
  display: none;
}

.modal-overlay :where(h1, h2, h3, h4, p, div, em, strong, b, button, label, span, input, textarea, select, .modal-title, .chat-choice-copy strong, .chat-news-start-copy strong, .chat-news-char-head strong, .chat-stock-ask-head strong) {
  font-weight: 400;
}

.modal-overlay :where(.fas, .fa-solid, .fa-regular) {
  font-family: inherit;
  font-weight: 900;
}

.modal-title {
  position: relative;
  padding-bottom: 0;
  font-family: "Georgia", serif;
  font-size: 16px;
  color: #343941;
  text-align: center;
  font-style: italic;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 0;
}

.modal-input {
  width: 100%;
  padding: 14px 14px;
  border-radius: 14px;
  border: 1px solid transparent;
  background: #FAFBFC;
  font-size: 16px;
  color: #5d636e;
  outline: none;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

.modal-input::placeholder {
  color: #aeb4be;
  font-family: system-ui, sans-serif;
}

.modal-input:focus {
  background: #ffffff;
  border-color: rgba(17, 17, 17, 0.42);
  box-shadow: 0 4px 12px rgba(17, 17, 17, 0.055);
}

.modal-textarea {
  min-height: 168px;
  max-height: 46vh;
  resize: vertical;
  line-height: 1.65;
  white-space: pre-wrap;
}

.modal-copy {
  width: 100%;
  padding: 0 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #6F7682;
  font-size: 13px;
  line-height: 1.75;
  text-align: center;
  white-space: pre-wrap;
  word-break: break-word;
  box-shadow: none;
}

.modal-choice-list {
  display: grid;
  gap: 0;
  width: 100%;
}

.modal-choice-action {
  width: 100%;
  min-height: 46px;
  border: 0;
  border-bottom: 1px solid rgba(150, 158, 168, 0.24);
  border-radius: 0;
  padding: 0 14px;
  background: transparent;
  color: #343941;
  font-size: 13px;
  line-height: 1.2;
  text-align: center;
  letter-spacing: 0.02em;
  appearance: none;
  -webkit-appearance: none;
}

.modal-choice-action.is-primary {
  background: linear-gradient(90deg, rgba(181, 199, 211, 0.18), rgba(181, 199, 211, 0.08));
  color: #111111;
}

.modal-choice-action.is-danger {
  background: transparent;
  color: #A84540;
}

.modal-choice-action:active {
  transform: none;
  opacity: 1;
  background: rgba(181, 199, 211, 0.16);
}

.chat-global-css-btn {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.chat-me-follow-avatar-dialog {
  max-width: 326px;
  border-radius: 22px;
  background: #ffffff;
}

.chat-me-follow-avatar-copy {
  color: #87909D;
  font-size: 11px;
  line-height: 1.62;
  letter-spacing: 0.04em;
  text-align: center;
  margin-top: -8px;
}

.chat-me-follow-avatar-form {
  display: grid;
  gap: 10px;
}

.chat-me-follow-avatar-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  align-items: end;
  gap: 8px;
}

.chat-me-follow-avatar-field {
  display: grid;
  gap: 7px;
}

.chat-me-follow-avatar-field span {
  color: #A0A7B1;
  font-family: "Courier New", Courier, monospace;
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0.16em;
}

.chat-me-follow-avatar-input {
  min-height: 39px;
  border-radius: 12px;
  background: #F5F6F8;
  color: #4F5864;
  font-size: 16px;
  padding: 10px 11px;
}

.chat-me-follow-file-btn {
  min-height: 39px;
  border-radius: 12px;
  font-size: 11px;
  letter-spacing: 0.08em;
  padding: 0 8px;
}

.capsule-tabs {
  display: flex;
  background: #f0f2f5;
  border-radius: 12px;
  padding: 3px;
  position: relative;
}

.tab-btn {
  flex: 1;
  text-align: center;
  padding: 8px 0;
  font-size: 13px;
  font-weight: 500;
  color: #8c95a3;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.25s ease;
  position: relative;
  z-index: 2;
}

.tab-btn.active {
  color: #000000;
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(17, 17, 17, 0.07);
}

.file-upload-box {
  display: block;
  width: 100%;
  position: relative;
  cursor: pointer;
}

.file-upload-placeholder {
  padding: 24px 0;
  text-align: center;
  background: #f6f6f6;
  border: 1px dashed #bdbdbd;
  border-radius: 14px;
  color: #4f4f4f;
  font-size: 13px;
  font-weight: 500;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.file-upload-placeholder svg {
  width: 22px;
  height: 22px;
  stroke: #111111;
  stroke-width: 1.5;
  fill: none;
  opacity: 0.8;
}

.file-upload-box:active .file-upload-placeholder {
  background: #eeeeee;
  border-color: #111111;
  color: #111111;
}

.image-preview {
  width: 100%;
  height: 120px;
  border-radius: 14px;
  background-color: #f5f5f5;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border: 1px solid #dedede;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  position: relative;
}

.image-preview::after {
  content: "点击更换";
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.74);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #7a828f;
  font-weight: 500;
  opacity: 0;
  transition: opacity 0.2s;
  border-radius: 14px;
}

.image-preview[data-count]:not([data-count=""])::before {
  content: attr(data-count);
  position: absolute;
  right: 10px;
  bottom: 9px;
  z-index: 1;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,0.76);
  color: #4a4e59;
  font-size: 11px;
  letter-spacing: 0.02em;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.image-preview:active::after {
  opacity: 1;
}

.modal-actions {
  display: flex;
  width: 100%;
  height: 50px;
  border-top: 1px solid rgba(52, 56, 65, 0.14);
}

.modal-actions button {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 15px;
  font-family: system-ui, -apple-system, sans-serif;
  font-weight: 400;
  cursor: pointer;
  transition: background 0.2s;
}

.modal-actions button:active {
  background: #f4f5f8;
}

.modal-actions .btn-cancel {
  color: #9aa0ab;
  border-right: 1px solid rgba(52, 56, 65, 0.14);
}

.btn-save {
  color: #000;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.settings-app-page.show {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.settings-app-inner {
  background-color: #FCFBF7;
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  scrollbar-width: none;
  background: transparent;
}

.settings-app-inner::-webkit-scrollbar {
  display: none;
}

.settings-app-page input {
  user-select: text;
  -webkit-user-select: text;
  font-family: inherit;
}

.settings-app-page textarea {
  user-select: text;
  -webkit-user-select: text;
  font-family: inherit;
}

.settings-app-page select {
  user-select: text;
  -webkit-user-select: text;
  font-family: inherit;
}

.settings-app-page button {
  font-family: inherit;
}

.settings-app-head::before {
  content: none;
}

.settings-app-head::after {
  content: none;
}

.settings-detail-label {
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--settings-muted);
}

.settings-mini-label {
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--settings-muted);
}

.settings-app-title:active {
  opacity: 0.58;
}

.settings-subpage-title:active {
  opacity: 0.58;
}

.settings-volume {
  display: none;
  font-family: "Courier New", Courier, monospace;
  font-size: 10px;
  letter-spacing: 0.18em;
  color: #9CA3AF;
  padding-bottom: 3px;
  white-space: nowrap;
}

.settings-content::before {
  content: none;
}

.settings-content::after {
  content: none;
}

.settings-home-content.is-hidden {
  display: none;
}

.settings-app-page.is-detail .settings-app-head {
  display: none;
}

.settings-search-wrap::before {
  content: none;
}

.settings-filter-row {
  min-height: 0;
  margin-top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease, margin-top 0.2s ease;
}

.settings-filter-row.show {
  min-height: 24px;
  margin-top: 16px;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.settings-filter-text {
  font-size: 11px;
  color: #757D88;
  letter-spacing: 0.08em;
  font-family: "Courier New", Courier, monospace;
}

.settings-filter-clear {
  border: 0;
  border-bottom: 1px solid rgba(74,78,89,0.58);
  background: transparent;
  color: #000;
  font-size: 10px;
  letter-spacing: 0.16em;
  font-family: "Courier New", Courier, monospace;
  cursor: pointer;
  padding: 2px 0;
}

.settings-entry::before {
  content: none;
  display: none;
}

.settings-entry:hover::before {
  content: none;
}

.settings-entry:focus-visible::before {
  content: none;
}

.settings-entry:active::before {
  content: none;
}

.settings-entry:hover::after {
  opacity: 1;
  transform: translateX(0);
}

.settings-entry:focus-visible::after {
  opacity: 1;
  transform: translateX(0);
}

.settings-entry:active::after {
  opacity: 1;
  transform: translateX(0);
}

.settings-entry:hover .settings-entry-copy {
  transform: none;
}

.settings-entry:focus-visible .settings-entry-copy {
  transform: none;
}

.settings-entry:active .settings-entry-copy {
  transform: none;
}

.settings-entry:hover .settings-entry-num {
  color: #343941;
}

.settings-entry:focus-visible .settings-entry-num {
  color: #343941;
}

.settings-entry:active .settings-entry-num {
  color: #343941;
}

.settings-entry:hover .settings-entry-arrow {
  opacity: 1;
  transform: translateX(0) rotate(45deg);
}

.settings-entry:focus-visible .settings-entry-arrow {
  opacity: 1;
  transform: translateX(0) rotate(45deg);
}

.settings-entry:active .settings-entry-arrow {
  opacity: 1;
  transform: translateX(0) rotate(45deg);
}

.settings-entry-num {
  display: block;
  align-self: start;
  padding-top: 5px;
  font-family: "Courier New", Courier, monospace;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #9AA2AF;
  position: relative;
  z-index: 1;
}

.settings-entry-copy {
  min-width: 0;
  transition: transform 0.24s ease;
  position: relative;
  z-index: 1;
}

.settings-empty-state {
  display: none;
  padding: 32px 0;
  border-bottom: 1px solid rgba(184,188,196,0.34);
  color: #9CA3AF;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.settings-empty-state.show {
  display: block;
}

.settings-detail-panel.show {
  display: block;
}

.settings-field-input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #424852;
  font-size: 16px;
  line-height: 1.45;
  padding: 0 0 4px;
  border-radius: 0;
}

.settings-field-select {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #424852;
  font-size: 16px;
  line-height: 1.45;
  padding: 0 0 4px;
  border-radius: 0;
}

.settings-field-textarea {
  width: 100%;
  outline: 0;
  color: #424852;
  font-size: 16px;
  line-height: 1.45;
  border-radius: 0;
  min-height: 156px;
  resize: vertical;
  border: 1px solid rgba(150,158,168,0.22);
  padding: 14px;
  background: transparent;
}

.settings-two-col > * {
  flex: 1;
  min-width: 0;
}

.settings-preset-row .settings-field-select {
  flex: 1;
}

.settings-icon-button {
  border: 1px solid rgba(150,158,168,0.32);
  background: transparent;
  color: #000;
  min-height: 54px;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
  width: 42px;
  min-width: 42px;
  padding: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.settings-icon-button svg {
  width: 17px;
  height: 17px;
  stroke: currentColor;
  stroke-width: 1.4;
  fill: none;
}

.settings-primary-button {
  border: 1px solid rgba(150,158,168,0.32);
  min-height: 54px;
  padding: 0 15px;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
  flex: 1;
  background: #000;
  border-color: #000;
  color: #FCFBF7;
  letter-spacing: 0.16em;
  font-size: 11px;
}

.settings-thin-button {
  border: 1px solid rgba(150,158,168,0.32);
  background: transparent;
  color: #000;
  min-height: 54px;
  padding: 0 15px;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
  flex: 1;
  letter-spacing: 0.14em;
  font-size: 11px;
}

.settings-ghost-button {
  border: 1px solid rgba(150,158,168,0.32);
  background: transparent;
  color: #000;
  min-height: 54px;
  padding: 0 15px;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
  flex: 1;
  letter-spacing: 0.14em;
  font-size: 11px;
}

.settings-icon-button:active {
  transform: translateY(1px);
}

.settings-thin-button:active {
  transform: translateY(1px);
}

.settings-primary-button:active {
  transform: translateY(1px);
}

.settings-ghost-button:active {
  transform: translateY(1px);
}

.settings-model-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 12px;
}

.settings-range-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.settings-range-value {
  font-family: "Courier New", Courier, monospace;
  color: #000;
  font-size: 16px;
  letter-spacing: 0.12em;
}

.settings-range {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  height: 18px;
  background: transparent;
  outline: none;
}

.one-global-range {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  height: 18px;
  background: transparent;
  outline: none;
}

.settings-range::-webkit-slider-runnable-track {
  height: 2px;
  background: var(--one-range-track-bg, linear-gradient(90deg, rgba(150,150,150,0.72), rgba(181,199,211,0.72)));
  border-radius: 999px;
}

.one-global-range::-webkit-slider-runnable-track {
  height: 2px;
  background: var(--one-range-track-bg, linear-gradient(90deg, rgba(150,150,150,0.72), rgba(181,199,211,0.72)));
  border-radius: 999px;
}

.settings-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 26px;
  height: 12px;
  border-radius: 6px;
  background: var(--one-range-thumb-bg, #000);
  border: var(--one-range-thumb-border, 1px solid rgba(252,251,247,0.78));
  box-shadow: none;
  margin-top: -6px;
}

.one-global-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 26px;
  height: 12px;
  border-radius: 6px;
  background: var(--one-range-thumb-bg, #000);
  border: var(--one-range-thumb-border, 1px solid rgba(252,251,247,0.78));
  box-shadow: none;
  margin-top: -6px;
}

.settings-range::-moz-range-track {
  height: 2px;
  background: var(--one-range-track-bg, linear-gradient(90deg, rgba(150,150,150,0.72), rgba(181,199,211,0.72)));
}

.one-global-range::-moz-range-track {
  height: 2px;
  background: var(--one-range-track-bg, linear-gradient(90deg, rgba(150,150,150,0.72), rgba(181,199,211,0.72)));
}

.settings-range::-moz-range-thumb {
  width: 22px;
  height: 10px;
  border-radius: 6px;
  background: var(--one-range-thumb-bg, #000);
  border: var(--one-range-thumb-border, 1px solid rgba(252,251,247,0.78));
}

.one-global-range::-moz-range-thumb {
  width: 22px;
  height: 10px;
  border-radius: 6px;
  background: var(--one-range-thumb-bg, #000);
  border: var(--one-range-thumb-border, 1px solid rgba(252,251,247,0.78));
}

.settings-segmented {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(150,158,168,0.28);
  border-bottom: 1px solid rgba(150,158,168,0.28);
}

.settings-segmented button {
  height: 48px;
  border: 0;
  background: transparent;
  color: #87909D;
  letter-spacing: 0.16em;
  font-size: 11px;
  cursor: pointer;
}

.settings-segmented button + button {
  border-left: 1px solid rgba(150,158,168,0.22);
}

.settings-segmented button.active {
  color: #343941;
  background: rgba(150,150,150,0.07);
}

.settings-switch-line + .settings-switch-line {
  border-top: 0;
}

.settings-switch-text span {
  font-size: 11px;
  color: #9CA3AF;
  letter-spacing: 0.08em;
}

.settings-switch {
  position: relative;
  width: 48px;
  height: 26px;
  flex: 0 0 auto;
}

.settings-switch input {
  opacity: 0;
  position: absolute;
  inset: 0;
}

.settings-switch i {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(150,158,168,0.44);
  background: rgba(252,251,247,0.52);
  border-radius: 999px;
  transition: background 0.18s ease, border-color 0.18s ease;
}

.settings-switch i::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  left: 3px;
  top: 3px;
  border-radius: 50%;
  background: #AAB0BA;
  transition: transform 0.18s ease, background 0.18s ease;
}

.settings-switch input:checked + i {
  border-color: rgba(74,78,89,0.48);
  background: rgba(181,199,211,0.22);
}

.settings-switch.is-on i {
  border-color: rgba(74,78,89,0.48);
  background: rgba(181,199,211,0.22);
}

.settings-switch input:checked + i::after {
  transform: translateX(22px);
  background: #000;
}

.settings-switch.is-on i::after {
  transform: translateX(22px);
  background: #000;
}

.settings-status-line {
  margin-top: 12px;
  font-size: 11px;
  color: #87909D;
  line-height: 1.6;
}

.settings-preview-box {
  min-height: 118px;
  border: 1px solid rgba(150,158,168,0.25);
  background: radial-gradient(circle at 16% 18%, rgba(245,245,245,0.68), transparent 48%),
            radial-gradient(circle at 86% 76%, rgba(230,238,242,0.70), transparent 52%),
            #FCFBF7;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8C95A3;
  font-size: 11px;
  letter-spacing: 0.16em;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.settings-font-preview {
  min-height: 118px;
  border: 1px solid rgba(150,158,168,0.25);
  padding: 20px;
  color: #000;
  background: rgba(252,251,247,0.48);
}

.settings-font-preview span {
  font-size: 11px;
  letter-spacing: 0.18em;
  color: #9CA3AF;
}

.settings-app-editor-color {
  width: 32px;
  height: 32px;
  border: 1px solid rgba(150,158,168,0.24);
  border-radius: 999px;
  padding: 0;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
}

.settings-app-editor-color::-webkit-color-swatch-wrapper {
  padding: 3px;
}

.settings-app-editor-color::-webkit-color-swatch {
  border: 0;
  border-radius: 999px;
}

.settings-app-editor-color::-moz-color-swatch {
  border: 0;
  border-radius: 999px;
}

.settings-app-editor-actions button {
  min-height: 34px;
  padding: 0 10px;
  font-size: 10px;
}

.settings-storage-ring {
  width: 128px;
  height: 128px;
  border-radius: 50%;
  background: conic-gradient(#9A9A9A 0 18%, #B5C7D3 18% 48%, #C8D2E0 48% 68%, #E5E5E5 68% 100%);
  position: relative;
}

.settings-storage-ring::after {
  content: attr(data-percent);
  position: absolute;
  inset: 18px;
  border-radius: 50%;
  background: #FCFBF7;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Courier New", Courier, monospace;
  font-size: 19px;
  color: #000;
}

.settings-storage-legend {
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 12px;
  color: #757D88;
}

.settings-storage-legend i {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 50%;
}

.settings-disclaimer {
  font-size: 13px;
  line-height: 2.05;
  color: #000;
  letter-spacing: 0.02em;
  white-space: pre-wrap;
}

.settings-danger-button {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(142, 142, 142, 0.62);
  background: #202020;
  color: #FCFBF7;
  letter-spacing: 0.18em;
  font-size: 11px;
  cursor: pointer;
  margin-top: 6px;
  box-shadow: 0 12px 26px rgba(32, 32, 32, 0.10);
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}

.settings-danger-button:active {
  transform: translateY(1px);
  background: #151515;
}

.settings-danger-note {
  font-size: 11px;
  line-height: 1.7;
  letter-spacing: 0.06em;
  color: #777777;
  margin-top: -8px;
}

.settings-disclaimer-modal {
  z-index: 15000;
}

.settings-disclaimer-modal.show {
  display: flex;
  opacity: 1;
}

.settings-disclaimer-dialog {
  max-height: min(78vh, 620px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.settings-disclaimer-dialog::before {
  content: none;
  display: none;
}

.settings-disclaimer-dialog::after {
  content: none;
  display: none;
}

.settings-disclaimer-modal-head {
  padding: 0;
}

.settings-disclaimer-dialog .modal-content {
  position: relative;
}

.settings-disclaimer-dialog .modal-content::after {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 0;
  height: 72px;
  pointer-events: none;
  z-index: 3;
  opacity: 1;
  transition: opacity 0.22s ease;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0.92) 58%, #ffffff 100%);
}

.settings-disclaimer-modal.is-scroll-complete .settings-disclaimer-dialog .modal-content::after {
  opacity: 0;
}

.settings-disclaimer-meta {
  margin-top: 8px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.settings-disclaimer-kicker {
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #87909D;
  margin: 0;
  min-width: 0;
}

.settings-disclaimer-title {
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 17px;
  line-height: 1.1;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #000;
  text-align: left;
  align-self: flex-start;
  width: 100%;
}

.settings-disclaimer-vol {
  position: static;
  flex: 0 0 auto;
  font-family: "Courier New", Courier, monospace;
  font-size: 9px;
  letter-spacing: 0.14em;
  color: #AAB0BA;
  white-space: nowrap;
}

.settings-disclaimer-scroll {
  max-height: min(46vh, 360px);
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  color: #000;
  font-size: 12px;
  line-height: 1.82;
  letter-spacing: 0.02em;
  white-space: normal;
  flex: 1 1 auto;
  padding-bottom: 34px;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.settings-disclaimer-scroll p {
  margin: 0 0 14px;
}

.settings-disclaimer-scroll p:last-child {
  margin-bottom: 0;
}

.settings-disclaimer-mark {
  color: #2E323A;
  font-weight: 600;
}

.settings-disclaimer-ban {
  display: block;
  margin-top: 2px;
  color: #2E323A;
  font-weight: 600;
}

.settings-disclaimer-scroll::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.settings-disclaimer-confirm {
  width: 100%;
}

.settings-disclaimer-confirm:disabled {
  color: #B6BDC7;
  opacity: 0.48;
  cursor: not-allowed;
  background: transparent;
}

.settings-disclaimer-confirm .settings-disclaimer-arrow {
  display: none;
}

#desktopDialogModal {
  z-index: 18000;
}

.modal-chat-beauty-form {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-height: min(58vh, 520px);
  overflow-y: auto;
  padding-right: 1px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.modal-chat-beauty-form::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.modal-schedule-form {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: min(58vh, 520px);
  overflow-y: auto;
  padding-right: 1px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.modal-schedule-form::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.modal-schedule-form .settings-field-textarea {
  min-height: 96px;
  resize: vertical;
}

.offline-preset-row {
  align-items: stretch;
  gap: 8px;
}

.offline-preset-row .settings-field-select {
  min-height: 44px;
}

.modal-choice-icon {
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
}

.modal-choice-svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 1.4;
  fill: none;
}

.offline-wallpaper-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.offline-css-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.offline-view-grid {
  align-items: stretch;
}

.offline-view-field .settings-field-label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.offline-view-field .settings-field-label b {
  color: #69717D;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.13em;
  font-weight: 600;
}

.offline-view-field .settings-field-label small {
  color: #A0A7B1;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.chat-beauty-preview {
  border-radius: 24px;
  background: radial-gradient(circle at 12% 10%, rgba(236, 239, 243, 0.68), transparent 36%),
            linear-gradient(180deg, #FFFEFB 0%, #F7F5F1 100%);
  padding: 16px 14px;
  display: grid;
  gap: 10px;
  box-shadow: inset 0 0 0 1px rgba(52,57,65,0.05);
}

.chat-beauty-mini-row {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}

.chat-beauty-mini-row.is-me {
  flex-direction: row-reverse;
}

.chat-beauty-mini-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  background: #EEF1F3;
  color: rgba(52,57,65,0.45);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 10px;
  font-style: italic;
  border: 1px solid rgba(255,255,255,0.82);
}

.chat-beauty-mini-row p {
  margin: 0;
  max-width: 210px;
  min-height: 30px;
  padding: 7px 11px;
  border-radius: 16px;
  font-size: var(--chat-thread-font-size);
  line-height: 1.35;
  letter-spacing: 0.01em;
}

.chat-beauty-mini-row.is-ta p {
  background: var(--chat-bubble-ta);
  color: var(--chat-text-ta);
  border-bottom-left-radius: 6px;
}

.chat-beauty-mini-row.is-me p {
  background: var(--chat-bubble-me);
  color: var(--chat-text-me);
  border-bottom-right-radius: 6px;
}

.chat-beauty-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.chat-beauty-field {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 12px;
  border-radius: 18px;
  background: #F7F8FB;
  box-shadow: inset 0 0 0 1px rgba(52,57,65,0.055);
  color: #4A4E59;
  font-size: 12px;
  line-height: 1.2;
}

.chat-beauty-field span {
  min-width: 0;
  color: rgba(52,57,65,0.68);
  font-size: 11px;
  letter-spacing: 0.04em;
}

.chat-beauty-field em {
  font-style: normal;
  color: rgba(52,57,65,0.42);
  font-family: "Courier New", Courier, monospace;
}

.chat-beauty-field input[type="color"] {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  overflow: hidden;
  background: transparent;
}

.chat-beauty-field input[type="range"] {
  width: 100%;
  accent-color: #000;
}

.chat-beauty-field.is-range {
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 9px;
}

.chat-beauty-field.is-block {
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 9px;
}

.chat-beauty-field textarea {
  width: 100%;
  min-height: 72px;
  resize: vertical;
  border: 0;
  outline: none;
  background: #ffffff;
  border-radius: 14px;
  padding: 10px;
  color: #343941;
  font: 11px/1.55 "Courier New", Courier, monospace;
  box-shadow: inset 0 0 0 1px rgba(52,57,65,0.06);
}

#chatBeautyCss {
  min-height: 116px;
}

.chat-beauty-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.chat-beauty-actions button {
  min-height: 42px;
  border: 0;
  border-radius: 16px;
  background: #F4F6F8;
  color: #000;
  font-size: 12px;
  letter-spacing: 0.04em;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(52,57,65,0.045);
}

.chat-beauty-actions button:active {
  transform: translateY(1px);
  opacity: 0.72;
}

.chat-beauty-actions button:last-child {
  color: #9C4D54;
}

.settings-choice-modal {
  z-index: 12000;
}

.settings-choice-modal.show {
  display: flex;
  opacity: 1;
}

.settings-choice-box {
  max-height: min(74vh, 560px);
  overflow-y: auto;
  scrollbar-width: none;
}

.settings-choice-box::-webkit-scrollbar {
  display: none;
}

.settings-choice-title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-style: italic;
  font-weight: 400;
  color: #000;
  text-align: center;
  margin-bottom: 14px;
}

.settings-choice-list {
  border-top: 1px solid rgba(240,242,245,1);
}

.settings-choice-item {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-bottom: 1px solid #f0f2f5;
  background: transparent;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #000;
  font-size: 13px;
  cursor: pointer;
  text-align: left;
}

.settings-choice-item span:last-child {
  color: #AAB0BA;
  font-family: "Courier New", Courier, monospace;
  font-size: 10px;
}

.settings-toast {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 30000;
  min-width: 120px;
  max-width: min(72vw, 218px);
  min-height: 0;
  padding: 20px 25px;
  border-radius: 16px;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.92);
  color: #000;
  box-shadow: 0 5px 15px rgba(0,0,0,0.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  text-align: center;
  pointer-events: none;
}

.wb-toast {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 30000;
  min-width: 120px;
  max-width: min(72vw, 218px);
  min-height: 0;
  padding: 20px 25px;
  border-radius: 16px;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.92);
  color: #000;
  box-shadow: 0 5px 15px rgba(0,0,0,0.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  text-align: center;
  pointer-events: none;
}

.chat-toast {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 30000;
  min-width: 120px;
  max-width: min(72vw, 218px);
  min-height: 0;
  padding: 20px 25px;
  border-radius: 16px;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.92);
  color: #000;
  box-shadow: 0 5px 15px rgba(0,0,0,0.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  text-align: center;
  pointer-events: none;
}

.settings-toast.show {
  display: flex;
  animation: ios-toast-fade-in 0.2s ease-out;
}

.wb-toast.show {
  display: flex;
  animation: ios-toast-fade-in 0.2s ease-out;
}

.chat-toast.show {
  display: flex;
  animation: ios-toast-fade-in 0.2s ease-out;
}

.system-toast-icon {
  position: relative;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  margin-bottom: 5px;
  color: #000;
}

.system-toast-text {
  display: block;
  max-width: 168px;
  color: #000;
  font-size: 15px;
  line-height: 1.36;
  font-weight: 500;
  letter-spacing: 0;
  word-break: break-word;
}

.settings-toast[data-state="loading"] .system-toast-icon {
  border-radius: 50%;
  border: 3px solid rgba(0,0,0,0.18);
  border-top-color: #000;
  animation: ios-toast-spin 0.78s linear infinite;
}

.wb-toast[data-state="loading"] .system-toast-icon {
  border-radius: 50%;
  border: 3px solid rgba(0,0,0,0.18);
  border-top-color: #000;
  animation: ios-toast-spin 0.78s linear infinite;
}

.chat-toast[data-state="loading"] .system-toast-icon {
  border-radius: 50%;
  border: 3px solid rgba(0,0,0,0.18);
  border-top-color: #000;
  animation: ios-toast-spin 0.78s linear infinite;
}

.settings-toast[data-state="success"] .system-toast-icon::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 2px;
  width: 13px;
  height: 24px;
  border-right: 5px solid currentColor;
  border-bottom: 5px solid currentColor;
  border-radius: 2px;
  transform: rotate(45deg);
  transform-origin: center;
}

.settings-toast[data-state="check"] .system-toast-icon::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 2px;
  width: 13px;
  height: 24px;
  border-right: 5px solid currentColor;
  border-bottom: 5px solid currentColor;
  border-radius: 2px;
  transform: rotate(45deg);
  transform-origin: center;
}

.wb-toast[data-state="success"] .system-toast-icon::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 2px;
  width: 13px;
  height: 24px;
  border-right: 5px solid currentColor;
  border-bottom: 5px solid currentColor;
  border-radius: 2px;
  transform: rotate(45deg);
  transform-origin: center;
}

.wb-toast[data-state="check"] .system-toast-icon::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 2px;
  width: 13px;
  height: 24px;
  border-right: 5px solid currentColor;
  border-bottom: 5px solid currentColor;
  border-radius: 2px;
  transform: rotate(45deg);
  transform-origin: center;
}

.chat-toast[data-state="success"] .system-toast-icon::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 2px;
  width: 13px;
  height: 24px;
  border-right: 5px solid currentColor;
  border-bottom: 5px solid currentColor;
  border-radius: 2px;
  transform: rotate(45deg);
  transform-origin: center;
}

.chat-toast[data-state="check"] .system-toast-icon::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 2px;
  width: 13px;
  height: 24px;
  border-right: 5px solid currentColor;
  border-bottom: 5px solid currentColor;
  border-radius: 2px;
  transform: rotate(45deg);
  transform-origin: center;
}

.settings-toast[data-state="guide"] .system-toast-icon {
  border-radius: 50%;
  border: 2px solid rgba(0,0,0,0.82);
}

.settings-toast[data-state="info"] .system-toast-icon {
  border-radius: 50%;
  border: 2px solid rgba(0,0,0,0.82);
}

.wb-toast[data-state="guide"] .system-toast-icon {
  border-radius: 50%;
  border: 2px solid rgba(0,0,0,0.82);
}

.wb-toast[data-state="info"] .system-toast-icon {
  border-radius: 50%;
  border: 2px solid rgba(0,0,0,0.82);
}

.chat-toast[data-state="guide"] .system-toast-icon {
  border-radius: 50%;
  border: 2px solid rgba(0,0,0,0.82);
}

.chat-toast[data-state="info"] .system-toast-icon {
  border-radius: 50%;
  border: 2px solid rgba(0,0,0,0.82);
}

.settings-toast[data-state="guide"] .system-toast-icon::before {
  content: "!";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 23px;
  line-height: 1;
  font-weight: 700;
  color: currentColor;
}

.wb-toast[data-state="guide"] .system-toast-icon::before {
  content: "!";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 23px;
  line-height: 1;
  font-weight: 700;
  color: currentColor;
}

.chat-toast[data-state="guide"] .system-toast-icon::before {
  content: "!";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 23px;
  line-height: 1;
  font-weight: 700;
  color: currentColor;
}

.settings-toast[data-state="info"] .system-toast-icon::before {
  content: "i";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1;
  font-style: italic;
  font-weight: 700;
  color: currentColor;
}

.wb-toast[data-state="info"] .system-toast-icon::before {
  content: "i";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1;
  font-style: italic;
  font-weight: 700;
  color: currentColor;
}

.chat-toast[data-state="info"] .system-toast-icon::before {
  content: "i";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1;
  font-style: italic;
  font-weight: 700;
  color: currentColor;
}

.settings-toast[data-state="error"] .system-toast-icon::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 14px;
  width: 24px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  transform: rotate(45deg);
}

.wb-toast[data-state="error"] .system-toast-icon::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 14px;
  width: 24px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  transform: rotate(45deg);
}

.chat-toast[data-state="error"] .system-toast-icon::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 14px;
  width: 24px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  transform: rotate(45deg);
}

.settings-toast[data-state="error"] .system-toast-icon::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 14px;
  width: 24px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  transform: rotate(-45deg);
}

.wb-toast[data-state="error"] .system-toast-icon::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 14px;
  width: 24px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  transform: rotate(-45deg);
}

.chat-toast[data-state="error"] .system-toast-icon::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 14px;
  width: 24px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  transform: rotate(-45deg);
}

@keyframes ios-toast-fade-in {
from { opacity: 0; } to { opacity: 1; }
}

@keyframes ios-toast-spin {
to { transform: rotate(360deg); }
}

.phone-shell-frame {
  position: fixed;
  left: var(--one-shell-stage-center-x, 50%);
  top: var(--one-shell-stage-center-y, 50%);
  width: var(--one-shell-frame-width, 414px);
  height: var(--one-shell-frame-height, 868px);
  transform: translate(-50%, -50%);
  z-index: 9950;
  pointer-events: none;
  display: none;
  box-sizing: border-box;
  border: max(1.2px, calc(var(--one-shell-scale, 1) * 1.5px)) solid rgba(52, 57, 65, 0.16);
  border-radius: calc(var(--one-shell-scale, 1) * 34px);
  background: transparent;
  box-shadow: 0 14px 32px rgba(28, 34, 40, 0.10),
            0 2px 8px rgba(28, 34, 40, 0.06),
            inset 0 0 0 1px rgba(255, 255, 255, 0.72);
}

.phone-shell-frame::before {
  content: "";
  position: absolute;
  top: calc(var(--one-shell-scale, 1) * 7px);
  left: 50%;
  width: calc(var(--one-shell-scale, 1) * 44px);
  height: max(3px, calc(var(--one-shell-scale, 1) * 4px));
  transform: translateX(-50%);
  border-radius: 999px;
  background: rgba(42, 45, 52, 0.16);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.58);
}

.phone-shell-frame::after {
  content: "";
  position: absolute;
  right: calc(var(--one-shell-scale, 1) * -3px);
  top: 31%;
  width: max(2px, calc(var(--one-shell-scale, 1) * 2px));
  height: calc(var(--one-shell-scale, 1) * 52px);
  border-radius: 999px;
  background: rgba(52, 57, 65, 0.14);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.62);
}

body.show-phone-shell {
  background-color: #FFFFFF;
  background-image: none;
}

body.show-phone-shell::before {
  content: none;
}

body.show-phone-shell::after {
  opacity: 0;
}

body.show-phone-shell .settings-app-page {
  position: fixed;
  left: var(--one-shell-stage-center-x, 50%);
  top: var(--one-shell-stage-center-y, 50%);
  right: auto;
  bottom: auto;
  width: var(--one-shell-base-width, 390px);
  height: var(--one-shell-base-height, 912px);
  transform: translate(-50%, -50%) scale(var(--one-shell-content-scale, 1));
  transform-origin: center center;
  border-radius: 34px;
  overflow: hidden;
  isolation: isolate;
}

body.show-phone-shell .worldbook-app-page {
  position: fixed;
  left: var(--one-shell-stage-center-x, 50%);
  top: var(--one-shell-stage-center-y, 50%);
  right: auto;
  bottom: auto;
  width: var(--one-shell-base-width, 390px);
  height: var(--one-shell-base-height, 912px);
  transform: translate(-50%, -50%) scale(var(--one-shell-content-scale, 1));
  transform-origin: center center;
  border-radius: 34px;
  overflow: hidden;
  isolation: isolate;
}

body.show-phone-shell .chat-app-page {
  position: fixed;
  left: var(--one-shell-stage-center-x, 50%);
  top: var(--one-shell-stage-center-y, 50%);
  right: auto;
  bottom: auto;
  width: var(--one-shell-base-width, 390px);
  height: var(--one-shell-base-height, 912px);
  transform: translate(-50%, -50%) scale(var(--one-shell-content-scale, 1));
  transform-origin: center center;
  border-radius: 34px;
  overflow: hidden;
  isolation: isolate;
}

body.show-phone-shell .messages-app-page {
  position: fixed;
  left: var(--one-shell-stage-center-x, 50%);
  top: var(--one-shell-stage-center-y, 50%);
  right: auto;
  bottom: auto;
  width: var(--one-shell-base-width, 390px);
  height: var(--one-shell-base-height, 912px);
  transform: translate(-50%, -50%) scale(var(--one-shell-content-scale, 1));
  transform-origin: center center;
  border-radius: 34px;
  overflow: hidden;
  isolation: isolate;
}

body.show-phone-shell .settings-app-page.show {
  transform: translate(-50%, -50%) scale(var(--one-shell-content-scale, 1));
}

body.show-phone-shell .worldbook-app-page.show {
  transform: translate(-50%, -50%) scale(var(--one-shell-content-scale, 1));
}

body.show-phone-shell .chat-app-page.show {
  transform: translate(-50%, -50%) scale(var(--one-shell-content-scale, 1));
}

body.show-phone-shell .messages-app-page.show {
  transform: translate(-50%, -50%) scale(var(--one-shell-content-scale, 1));
}

body.show-phone-shell .phone-shell-frame {
  display: block;
}

body.shell-switching #desktop {
  transition: none;
}

body.shell-switching .settings-app-page {
  transition: none;
}

body.shell-switching .worldbook-app-page {
  transition: none;
}

body.shell-switching .chat-app-page {
  transition: none;
}

body.shell-switching .messages-app-page {
  transition: none;
}

body.shell-switching .phone-shell-frame {
  transition: none;
}

.icon-box.custom-icon {
  background-image: none;
}

.icon-box.custom-icon .icon-logo-frame {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  overflow: hidden;
}

.icon-box.custom-icon svg {
  display: none;
}

.icon-box.custom-icon .app-custom-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

@keyframes settings-scan {
0%, 18% { transform: translateX(0); opacity: 0; }
        42% { opacity: 0.78; }
        72%, 100% { transform: translateX(420%); opacity: 0; }
}

@keyframes settings-thread-breathe {
from { opacity: 0.34; transform: translateY(0) scaleX(0.96); }
        to { opacity: 0.74; transform: translateY(-2px) scaleX(1.02); }
}

@media (max-width: 360px) {
  .settings-app-head {
  padding-left: 20px;
  padding-right: 20px;
  }

  .settings-content {
  padding-left: 20px;
  padding-right: 20px;
  }

  .settings-entry {
  grid-template-columns: 42px minmax(0, 1fr) 20px;
  gap: 14px;
  }

  .settings-entry-title {
  font-size: 20px;
  line-height: 1.14;
  }

  .settings-storage-card {
  grid-template-columns: 1fr;
  }
}

.settings-app-foot {
  display: none;
}

.settings-endpoint-note {
  margin-top: 10px;
  font-size: 11px;
  line-height: 1.55;
  color: #8C95A3;
  letter-spacing: 0.08em;
}

.settings-github-title {
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 24px;
  line-height: 1.1;
  font-style: italic;
  color: #343941;
  margin-bottom: 12px;
}

.settings-github-status {
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #87909D;
  margin-top: 12px;
  min-height: 16px;
}

.settings-small-help {
  display: block;
  margin-top: 8px;
  font-size: 11px;
  line-height: 1.55;
  color: #9AA2AF;
  letter-spacing: 0.04em;
}

#settingsMenuSection .settings-section-label {
  margin-bottom: 14px;
}

#settingsMenuSection .settings-entry {
  min-height: 92px;
  padding-top: 22px;
  padding-bottom: 24px;
}

@media (max-height: 700px) {
  .settings-app-head {
  padding-top: max(30px, calc(env(safe-area-inset-top) + 14px));
  padding-bottom: 0;
  }

  .settings-content {
  padding-top: 4px;
  }

  .settings-search-wrap {
  margin-bottom: 10px;
  }

  .settings-entry {
  min-height: 72px;
  padding-top: 13px;
  padding-bottom: 14px;
  }

  #settingsMenuSection .settings-entry {
  min-height: 88px;
  padding-top: 20px;
  padding-bottom: 22px;
  }
}

.worldbook-app-page {
  --wb-paper: #FEFEFC;
  --wb-paper-deep: #FAFAF7;
  --wb-card: #FFFFFF;
  --wb-ink: #222322;
  --wb-muted: #747977;
  --wb-faint: #A9AAA6;
  --wb-line: rgba(34, 35, 34, 0.075);
  --wb-line-strong: rgba(34, 35, 34, 0.16);
  --wb-shadow: 0 16px 36px rgba(31, 34, 32, 0.055);
  position: fixed;
  inset: 0;
  z-index: 9100;
  display: flex;
  opacity: 0;
  pointer-events: none;
  color: var(--wb-ink);
  background-color: var(--wb-paper);
  background-image: radial-gradient(circle at 12% 8%, rgba(236, 239, 241, 0.28), transparent 42%),
            radial-gradient(circle at 88% 86%, rgba(239, 240, 244, 0.22), transparent 46%),
            linear-gradient(135deg, #FEFEFC 0%, #FAFAF7 100%);
  transform: translateY(10px);
  transition: opacity 0.26s ease, transform 0.34s cubic-bezier(0.2, 0.8, 0.2, 1);
  overflow: hidden;
  isolation: isolate;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
  min-height: 0;
  height: var(--one-shell-lock-height, var(--one-layout-vh, 100svh));
}

.worldbook-app-page::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, rgba(34, 35, 34, 0.020) 0 0.48px, transparent 0.68px),
            linear-gradient(rgba(34, 35, 34, 0.010) 1px, transparent 1px),
            linear-gradient(90deg, rgba(34, 35, 34, 0.008) 1px, transparent 1px);
  background-size: 12px 12px, 46px 46px, 46px 46px;
  opacity: 0.22;
  z-index: 0;
}

.worldbook-app-page.show {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.worldbook-app-page button {
  font-family: inherit;
}

.worldbook-app-page input {
  font-family: inherit;
  user-select: text;
  -webkit-user-select: text;
}

.worldbook-app-page textarea {
  font-family: inherit;
  user-select: text;
  -webkit-user-select: text;
}

.worldbook-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  scrollbar-width: none;
}

.worldbook-inner::-webkit-scrollbar {
  display: none;
}

.wb-entry-body::-webkit-scrollbar {
  display: none;
}

.modal-box::-webkit-scrollbar {
  display: none;
}

.worldbook-app-page.is-modal-open .worldbook-inner {
  overflow: hidden;
}

.wb-view {
  min-height: 100%;
  padding: max(34px, calc(env(safe-area-inset-top) + 18px)) 24px max(42px, calc(env(safe-area-inset-bottom) + 32px));
}

.wb-view[hidden] {
  display: none;
}

.wb-library-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 24px;
}

.wb-title-tap {
  min-width: 0;
  cursor: pointer;
}

.wb-library-count-row {
  align-items: center;
  gap: 10px;
  min-height: 16px;
  margin-bottom: 4px;
  display: none;
}

.wb-title-count {
  line-height: 1;
  letter-spacing: 0.18em;
  color: var(--wb-faint);
  text-transform: uppercase;
  font-family: "Courier New", Courier, monospace;
  font-size: 10px;
}

.wb-mono {
  line-height: 1;
  letter-spacing: 0.18em;
  color: var(--wb-faint);
  text-transform: uppercase;
  font-family: "Courier New", Courier, monospace;
  font-size: 10px;
}

.wb-book-no {
  line-height: 1;
  letter-spacing: 0.18em;
  color: var(--wb-faint);
  text-transform: uppercase;
  font-family: "Courier New", Courier, monospace;
  font-size: 10px;
}

.wb-entry-meta {
  line-height: 1;
  letter-spacing: 0.18em;
  color: var(--wb-faint);
  text-transform: uppercase;
  font-family: "Courier New", Courier, monospace;
  font-size: 10px;
}

.wb-archive-mini {
  line-height: 1;
  letter-spacing: 0.18em;
  color: var(--wb-faint);
  text-transform: uppercase;
  font-family: "Courier New", Courier, monospace;
  font-size: 10px;
}

.wb-create-date {
  line-height: 1;
  letter-spacing: 0.18em;
  color: var(--wb-faint);
  text-transform: uppercase;
  font-family: "Courier New", Courier, monospace;
  font-size: 10px;
}

.wb-key-label {
  line-height: 1;
  letter-spacing: 0.18em;
  color: var(--wb-faint);
  text-transform: uppercase;
  font-family: "Courier New", Courier, monospace;
  font-size: 10px;
}

.wb-head-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-top: 5px;
  flex: 0 0 auto;
}

.wb-round-btn {
  border: 0;
  background: rgba(255, 255, 255, 0.82);
  color: var(--wb-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
  box-shadow: 0 8px 22px rgba(31, 34, 32, 0.055), inset 0 1px 0 rgba(255,255,255,0.72);
}

.wb-icon-btn {
  border: 0;
  background: rgba(255, 255, 255, 0.82);
  color: var(--wb-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
  box-shadow: 0 8px 22px rgba(31, 34, 32, 0.055), inset 0 1px 0 rgba(255,255,255,0.72);
  width: 38px;
  height: 38px;
  border-radius: 50%;
}

.wb-icon-btn svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 1.45;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wb-back-btn svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 1.45;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wb-gear-btn svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 1.45;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wb-delete-icon svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 1.45;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wb-new-btn {
  background: #000;
  color: #FDFBF7;
  box-shadow: 0 10px 24px rgba(0,0,0,0.12);
  font-size: 25px;
  font-weight: 300;
  line-height: 1;
  padding-bottom: 2px;
}

.wb-icon-btn:active {
  transform: translateY(1px) scale(0.98);
}

.wb-round-btn:active {
  transform: translateY(1px) scale(0.98);
}

.wb-back-btn:active {
  transform: translateY(1px) scale(0.98);
}

.wb-gear-btn:active {
  transform: translateY(1px) scale(0.98);
}

.wb-delete-icon:active {
  transform: translateY(1px) scale(0.98);
}

.wb-search-panel {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 42px;
  border-top: 1px solid rgba(34,35,34,0.105);
  border-bottom: 1px solid rgba(34,35,34,0.055);
  margin-bottom: 20px;
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.22s ease, transform 0.22s ease, max-height 0.22s ease, margin-bottom 0.22s ease;
}

.wb-search-panel.show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  max-height: 54px;
  margin-bottom: 22px;
}

.wb-search-panel svg {
  width: 15px;
  height: 15px;
  stroke: var(--wb-muted);
  stroke-width: 1.4;
  fill: none;
}

.wb-search-panel input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--wb-ink);
  font-size: 16px;
  letter-spacing: 0.02em;
}

.wb-library-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.wb-book-card {
  min-height: 196px;
  border-radius: 26px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
  border: 1px solid rgba(34,35,34,0.055);
  padding: 18px 17px 17px;
  background: #FFFFFF;
  box-shadow: 0 18px 42px rgba(31, 34, 32, 0.060), inset 0 1px 0 rgba(255,255,255,0.92);
}

.wb-book-card:active {
  transform: translateY(-2px) scale(0.994);
  box-shadow: 0 24px 54px rgba(31, 34, 32, 0.13), inset 0 1px 0 rgba(255,255,255,0.86);
}

.wb-book-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  position: relative;
  z-index: 1;
}

.wb-link-count {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #565753;
  font-size: 10px;
  letter-spacing: 0.08em;
}

.wb-link-count svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.4;
}

.wb-book-tone-dots {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.wb-preview-tone-dots {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.wb-book-tone-dots i {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--dot-tone, #E8D8D4);
  box-shadow: inset 0 0 0 1px rgba(38,38,38,0.035);
}

.wb-preview-tone-dots i {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--dot-tone, #E8D8D4);
  box-shadow: inset 0 0 0 1px rgba(38,38,38,0.035);
}

.wb-book-tone-dots i:nth-child(1) {
  background: var(--book-tone-1, var(--dot-tone, #D9C4BF));
}

.wb-book-tone-dots i:nth-child(2) {
  background: var(--book-tone-2, var(--dot-tone, #E8D8D4));
}

.wb-book-tone-dots i:nth-child(3) {
  background: var(--book-tone-3, var(--dot-tone, #F6EDEA));
}

.wb-book-title {
  position: relative;
  z-index: 1;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: clamp(20px, 6.2vw, 24px);
  line-height: 1.08;
  font-weight: 400;
  color: #282825;
  word-break: break-word;
  margin: 38px 0 24px;
}

.wb-book-bottom {
  position: relative;
  z-index: 1;
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.wb-card-count-cluster {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #696A65;
  line-height: 1;
}

.wb-card-star {
  display: inline-block;
  font-size: 11px;
  line-height: 1;
  color: var(--book-tone-1, #D9C4BF);
  text-shadow: 0 0 9px color-mix(in srgb, var(--book-tone-1, #D9C4BF) 58%, transparent);
  transform: translateY(-0.5px);
}

.wb-entry-count {
  font-size: 10px;
  letter-spacing: 0.10em;
  color: #696A65;
}

.wb-enter-dot {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(38, 38, 38, 0.24);
  background: rgba(255, 254, 250, 0.62);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.22s ease, background 0.22s ease;
  flex: 0 0 auto;
}

.wb-book-card:active .wb-enter-dot {
  transform: translate(2px, -2px);
  background: #fff;
}

.wb-enter-dot::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1.5px solid #202020;
  border-right: 1.5px solid #202020;
  border-left: 1.5px solid #202020;
  border-bottom: 1.5px solid #202020;
  transform: rotate(45deg) translate(1px, -1px);
}

.wb-empty-state {
  display: none;
  min-height: 58vh;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-direction: column;
  gap: 18px;
  border: 0;
  border-radius: 26px;
  background-image: none;
  background-size: auto;
  color: var(--wb-faint);
}

.wb-empty-state.show {
  display: flex;
}

.wb-empty-main {
  font-size: 14px;
  letter-spacing: 0.12em;
}

.wb-empty-sub {
  font-size: 12px;
  color: var(--wb-muted);
  line-height: 1.7;
  max-width: 240px;
}

.wb-black-pill {
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  background: #000;
  color: #FDFBF7;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 6px 0 18px;
  font-size: 12px;
  letter-spacing: 0.12em;
  cursor: pointer;
  transition: opacity 0.18s ease, transform 0.18s ease, background 0.18s ease;
}

.wb-confirm-primary {
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  background: #000;
  color: #FDFBF7;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 6px 0 18px;
  font-size: 12px;
  letter-spacing: 0.12em;
  cursor: pointer;
  transition: opacity 0.18s ease, transform 0.18s ease, background 0.18s ease;
}

.wb-black-pill:active {
  transform: translateY(1px);
}

.wb-confirm-primary:active {
  transform: translateY(1px);
}

.wb-create-submit:active {
  transform: translateY(1px);
}

.wb-arrow-shell {
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background: #FDFBF7;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 31px;
}

.wb-arrow-shell::before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 1.55px solid #111;
  border-right: 1.55px solid #111;
  transform: translateX(-1px) rotate(45deg);
}

.wb-create-submit:disabled {
  opacity: 0.34;
  cursor: not-allowed;
  transform: none;
}

.wb-detail-topbar {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

.wb-editor-topbar {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}

.wb-back-btn {
  border: 0;
  background: rgba(255, 255, 255, 0.82);
  color: var(--wb-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
  box-shadow: 0 8px 22px rgba(31, 34, 32, 0.055), inset 0 1px 0 rgba(255,255,255,0.72);
  width: 38px;
  height: 38px;
  border-radius: 50%;
}

.wb-gear-btn {
  border: 0;
  background: rgba(255, 255, 255, 0.82);
  color: var(--wb-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
  box-shadow: 0 8px 22px rgba(31, 34, 32, 0.055), inset 0 1px 0 rgba(255,255,255,0.72);
  width: 38px;
  height: 38px;
  border-radius: 50%;
}

.wb-gear-btn.active {
  background: #000;
  color: #FDFBF7;
  border-color: #000;
}

.wb-detail-head {
  border-top: 1px solid rgba(34,35,34,0.105);
  border-bottom: 1px solid rgba(34,35,34,0.055);
  padding: 18px 0 24px;
  margin-bottom: 22px;
}

.wb-archive-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
}

.wb-archive-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #202020;
}

.wb-detail-title {
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-weight: 400;
  font-style: italic;
  color: var(--wb-ink);
  font-size: clamp(24px, 6.8vw, 29px);
  line-height: 1.04;
  margin: 0 0 16px;
  word-break: break-word;
  letter-spacing: -0.025em;
}

.wb-description-box {
  border: 0;
  font-size: 13px;
  line-height: 1.75;
  color: #5B5F5C;
  white-space: pre-wrap;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.wb-memory-rules-card {
  margin: 18px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid rgba(36, 40, 42, 0.1);
}

.wb-memory-rules-head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
}

.wb-memory-rules-dot {
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: #1F2224;
  margin-top: 7px;
  opacity: 0.76;
  flex: 0 0 auto;
}

.wb-memory-rules-head strong {
  display: block;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #2D302F;
  font-weight: 600;
}

.wb-memory-rules-head small {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  line-height: 1.6;
  color: #858A88;
}

.wb-memory-rule-list {
  display: grid;
  gap: 8px;
}

.wb-memory-rule-list p {
  margin: 0;
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(246, 247, 247, 0.78);
  border: 1px solid rgba(35, 39, 42, 0.06);
  color: #565B59;
  font-size: 12px;
  line-height: 1.7;
}

.wb-settings-card {
  display: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  margin: 0 0 19px;
}

.wb-settings-card.show {
  display: block;
  animation: wb-soft-up 0.28s ease both;
}

.wb-settings-title {
  font-size: 12px;
  letter-spacing: 0.16em;
  margin-bottom: 12px;
  color: #2B2B2B;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.wb-setting-dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #111;
  opacity: 0.88;
  flex: 0 0 auto;
}

.wb-label-dot {
  display: inline-block;
  border-radius: 50%;
  background: #111;
  opacity: 0.88;
  flex: 0 0 auto;
  width: 4px;
  height: 4px;
  margin-right: 7px;
  transform: translateY(-1px);
}

.wb-field {
  display: block;
  margin-bottom: 14px;
}

.wb-field-label {
  display: block;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.18em;
  color: var(--wb-muted);
  text-transform: uppercase;
  margin-bottom: 8px;
}

.wb-title-field {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(38,38,38,0.18);
  border-radius: 0;
  background: transparent;
  outline: none;
  color: var(--wb-ink);
  transition: border-color 0.18s ease;
}

.wb-line-input {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(38,38,38,0.18);
  border-radius: 0;
  background: transparent;
  outline: none;
  color: var(--wb-ink);
  transition: border-color 0.18s ease;
  font-size: 20px;
  padding: 1px 0 7px;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
}

.wb-line-input:focus {
  border-color: #111;
}

.wb-keyword-input:focus {
  border-color: #111;
}

.wb-title-field:focus {
  border-color: #111;
}

.wb-paper-textarea {
  width: 100%;
  min-height: 86px;
  border: 0;
  border-radius: 16px;
  outline: none;
  resize: vertical;
  background: rgba(248, 248, 246, 0.82);
  box-shadow: inset 0 0 0 1px rgba(34,35,34,0.055);
  padding: 12px;
  color: var(--wb-ink);
  font-size: 16px;
  line-height: 1.68;
  transition: box-shadow 0.18s ease, background 0.18s ease;
}

.wb-paper-textarea:focus {
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(34,35,34,0.20);
}

.wb-settings-card .wb-paper-textarea {
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  border-bottom: 1px solid rgba(38,38,38,0.14);
  padding: 8px 0 12px;
}

.wb-settings-card .wb-paper-textarea:focus {
  background: transparent;
  box-shadow: none;
  border-bottom-color: rgba(34,35,34,0.34);
}

.wb-scope-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.wb-scope-chip {
  min-height: 48px;
  border: 1px solid rgba(38,38,38,0.13);
  border-radius: 0;
  background: rgba(255,255,255,0.54);
  color: #6F6B64;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 3px;
  padding: 8px 10px;
  cursor: pointer;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.wb-scope-chip strong {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.10em;
}

.wb-scope-chip span {
  font-size: 8px;
  letter-spacing: 0.16em;
  color: currentColor;
  opacity: 0.56;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.wb-scope-chip.active {
  background: #111;
  border-color: #111;
  color: #FDFBF7;
}

.wb-scope-chip:disabled {
  cursor: default;
  opacity: 0.68;
}

.wb-scope-chip:active {
  transform: translateY(1px);
}

.wb-scope-help {
  margin-top: 8px;
  font-size: 11px;
  line-height: 1.6;
  color: #8D887F;
  letter-spacing: 0.06em;
}

.wb-scope-badge {
  height: 20px;
  min-width: 38px;
  padding: 0 8px;
  border: 1px solid rgba(34,35,34,0.11);
  background: rgba(255,255,255,0.58);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  letter-spacing: 0.12em;
  color: #5F5B52;
  margin-left: auto;
  margin-right: 8px;
}

.wb-contact-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.wb-contact-tag {
  min-height: 34px;
  border: 1px solid rgba(38,38,38,0.14);
  background: rgba(255,255,255,0.45);
  color: #7B7770;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  font-size: 12px;
  cursor: pointer;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
  border-radius: 14px;
}

.wb-contact-tag svg {
  width: 13px;
  height: 13px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.45;
}

.wb-contact-tag.active {
  background: #000;
  color: #FDFBF7;
  border-color: #000;
}

.wb-contact-tag:active {
  transform: translateY(1px);
}

.wb-contact-empty {
  color: var(--wb-faint);
  font-size: 12px;
  letter-spacing: 0.08em;
}

.wb-danger-text {
  width: 100%;
  min-height: 42px;
  border: 0;
  border-top: 1px solid rgba(126, 58, 58, 0.18);
  background: transparent;
  color: #777777;
  text-align: left;
  font-size: 12px;
  letter-spacing: 0.12em;
  cursor: pointer;
  margin-top: 4px;
  padding-top: 16px;
}

.wb-transfer-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 16px 0 10px;
}

.wb-transfer-button {
  min-height: 42px;
  border-radius: 15px;
  border: 1px solid rgba(34,35,34,0.09);
  background: rgba(255,255,255,0.70);
  color: #4F514D;
  font-size: 12px;
  letter-spacing: 0.10em;
  font-weight: 400;
  cursor: pointer;
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.wb-transfer-button.is-primary {
  background: #000;
  border-color: #000;
  color: #FDFBF7;
}

.wb-danger-action {
  min-height: 42px;
  border-radius: 15px;
  border: 1px solid rgba(34,35,34,0.09);
  font-size: 12px;
  letter-spacing: 0.10em;
  font-weight: 400;
  cursor: pointer;
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
  width: 100%;
  background: rgba(168, 76, 70, 0.10);
  border-color: rgba(168, 76, 70, 0.26);
  color: #9A4640;
}

.wb-transfer-button:active {
  transform: translateY(1px);
}

.wb-danger-action:active {
  transform: translateY(1px);
}

.wb-directory-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 6px 0 14px;
}

.wb-directory-title {
  font-size: 16px;
  letter-spacing: 0.16em;
  color: #2D2C28;
}

.wb-entry-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid rgba(34,35,34,0.10);
}

.wb-entry-card {
  min-height: 86px;
  border: 0;
  border-bottom: 1px solid rgba(34,35,34,0.10);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px;
  align-items: center;
  gap: 12px;
  padding: 18px 2px;
  cursor: pointer;
  transition: transform 0.18s ease, background 0.18s ease;
}

.wb-entry-card:active {
  transform: translateY(1px);
  background: rgba(255,255,255,0.42);
}

.wb-entry-title {
  font-size: 19px;
  line-height: 1.25;
  color: #282825;
  margin-bottom: 8px;
}

.wb-entry-preview {
  font-size: 13px;
  line-height: 1.55;
  color: #827E75;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.wb-entry-arrow {
  width: 18px;
  height: 18px;
  border-top: 1.4px solid #5F5B52;
  border-right: 1.4px solid #5F5B52;
  transform: rotate(45deg);
  opacity: 0.58;
}

.wb-new-entry {
  width: 100%;
  min-height: 58px;
  margin-top: 16px;
  border: 1px dashed rgba(38,38,38,0.28);
  border-radius: 0;
  background: transparent;
  color: #8E8980;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 13px;
  letter-spacing: 0.12em;
  cursor: pointer;
  transition: border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
  box-sizing: border-box;
}

.wb-new-entry:active {
  border-color: #111;
  color: #111;
  transform: translateY(1px);
}

.wb-editor-view {
  background-image: radial-gradient(circle, rgba(34,35,34,0.026) 0 0.52px, transparent 0.74px);
  background-size: 13px 13px;
}

.wb-editor-pill {
  justify-self: center;
  min-width: 88px;
  height: 30px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.90);
  box-shadow: 0 8px 20px rgba(31, 34, 32, 0.052), inset 0 1px 0 rgba(255,255,255,0.80);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: 12px;
  letter-spacing: 0.14em;
  color: #4D514E;
}

.wb-editor-pill i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #111;
  animation: wb-dot-breathe 1.8s ease-in-out infinite alternate;
}

.wb-delete-icon {
  border: 0;
  background: rgba(255, 255, 255, 0.82);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  color: #777777;
  justify-self: end;
  box-shadow: 0 8px 22px rgba(154,70,70,0.055), inset 0 1px 0 rgba(255,255,255,0.80);
}

.wb-entry-sheet {
  min-height: calc(100vh - max(34px, calc(env(safe-area-inset-top) + 18px)) - 92px);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.wb-entry-title-input {
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-weight: 400;
  font-style: italic;
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: clamp(26px, 7vw, 31px);
  line-height: 1.04;
  margin-bottom: 14px;
  color: #282825;
  letter-spacing: -0.02em;
}

.wb-trigger-card {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  margin-bottom: 12px;
}

.wb-trigger-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.wb-trigger-title {
  font-size: 14px;
  letter-spacing: 0.08em;
  color: #2D2B27;
}

.wb-trigger-desc {
  font-size: 12px;
  line-height: 1.65;
  color: #7E7970;
  margin-bottom: 14px;
}

.wb-inject-row {
  display: flex;
  justify-content: space-between;
  transition: opacity 0.18s ease;
  align-items: flex-end;
  gap: 16px;
  margin: 0 0 16px;
  opacity: 0.52;
}

.wb-trigger-card.is-enabled .wb-inject-row {
  opacity: 1;
}

.wb-inject-label {
  color: #8B8780;
  font-size: 11px;
  letter-spacing: 0.14em;
  white-space: nowrap;
  padding-bottom: 5px;
}

.wb-inject-options {
  grid-template-columns: repeat(3, 1fr);
  display: inline-flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 18px;
  width: auto;
  border: 0;
  background: transparent;
}

.wb-inject-options button {
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 12px;
  cursor: pointer;
  position: relative;
  height: auto;
  padding: 0 0 5px;
  color: #8B8780;
  line-height: 1;
  letter-spacing: 0.11em;
  -webkit-tap-highlight-color: transparent;
}

.wb-inject-options button::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: currentColor;
  opacity: 0.24;
  transform: scaleX(0.42);
  transform-origin: left center;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.wb-inject-options button + button {
  border-left: 0;
}

.wb-inject-options button.active {
  background: transparent;
  color: #20211F;
}

.wb-inject-options button.active::after {
  opacity: 0.82;
  transform: scaleX(1);
}

.wb-switch {
  position: relative;
  width: 47px;
  height: 26px;
  flex: 0 0 auto;
}

.wb-switch input {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.wb-switch i {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  border: 0;
  background: rgba(248,248,246,0.92);
  box-shadow: inset 0 0 0 1px rgba(34,35,34,0.12);
  transition: background 0.18s ease, border-color 0.18s ease;
}

.wb-switch i::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  top: 3px;
  left: 3px;
  border-radius: 50%;
  background: #9D988E;
  transition: transform 0.18s ease, background 0.18s ease;
}

.wb-switch input:checked + i {
  background: #111;
  border-color: #111;
}

.wb-switch input:checked + i::after {
  transform: translateX(21px);
  background: #FDFBF7;
}

.wb-trigger-switch {
  position: relative;
  width: 50px;
  height: 28px;
  flex: 0 0 auto;
  display: inline-flex;
  cursor: pointer;
}

.wb-trigger-switch input {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.wb-trigger-switch i {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  border: 1px solid rgba(150,158,168,0.22);
  background: rgba(255,255,255,0.68);
  transition: background 0.18s ease, border-color 0.18s ease;
}

.wb-trigger-switch i::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  left: 3px;
  top: 3px;
  border-radius: 50%;
  background: #AAB0BA;
  transition: transform 0.18s ease, background 0.18s ease;
}

.wb-trigger-switch input:checked + i {
  border-color: rgba(74,78,89,0.48);
  background: rgba(181,199,211,0.22);
}

.wb-trigger-switch input:checked + i::after {
  transform: translateX(22px);
  background: #000;
}

.wb-keyword-row {
  display: grid;
  gap: 9px;
  align-items: center;
  opacity: 0.42;
  transition: opacity 0.18s ease;
  grid-template-columns: 22px minmax(0, 1fr);
  background: transparent;
  box-shadow: none;
  border: 0;
}

.wb-trigger-card.is-enabled .wb-keyword-row {
  opacity: 1;
}

.wb-keyword-row .wb-key-label {
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0;
  color: #565752;
  transform: translateY(-1px);
}

.wb-keyword-input {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(38,38,38,0.18);
  border-radius: 0;
  background: transparent;
  outline: none;
  color: var(--wb-ink);
  transition: border-color 0.18s ease;
  font-size: 16px;
  padding: 4px 0 7px;
}

.wb-entry-body {
  width: 100%;
  min-height: 46vh;
  border: 0;
  outline: 0;
  resize: vertical;
  background: transparent;
  color: #3B3934;
  font-size: 16px;
  line-height: 1.85;
}

.wb-modal {
  z-index: 16000;
}

.wb-modal.show {
  display: flex;
  opacity: 1;
}

.wb-create-card {
  width: min(330px, calc(100vw - 38px));
  padding: 22px 20px 18px;
  border-radius: 28px;
  border: 1px solid rgba(150,158,168,0.18);
  background: radial-gradient(circle at 16% 18%, rgba(245,245,245,0.68), transparent 48%),
            radial-gradient(circle at 86% 76%, rgba(230,238,242,0.70), transparent 52%),
            #FCFBF7;
  box-shadow: 0 24px 70px rgba(31,34,32,0.16), inset 0 1px 0 rgba(255,255,255,0.84);
}

.wb-create-head {
  display: block;
  margin-bottom: 12px;
}

.wb-create-title {
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-weight: 400;
  font-style: italic;
  color: var(--wb-ink);
  font-size: 22px;
  line-height: 1.05;
  margin: 0 0 8px;
  letter-spacing: -0.015em;
}

.wb-close-btn {
  display: none;
}

.wb-field-label-inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.wb-field-label-inline > span {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.wb-spark-btn {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  transition: transform 0.16s ease, background 0.16s ease, opacity 0.16s ease;
}

.wb-spark-btn:active {
  transform: translateY(1px);
  background: rgba(119,126,136,0.12);
}

.wb-spark-btn span {
  width: 18px;
  height: 18px;
  display: block;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23343740' d='M12 2.25c1.08 3.82 2.78 5.85 6.6 7.03-3.82 1.08-5.52 3.11-6.6 6.97-1.08-3.86-2.78-5.89-6.6-6.97 3.82-1.18 5.52-3.21 6.6-7.03Zm5.25 10.7c.45 1.58 1.12 2.42 2.7 2.88-1.58.45-2.25 1.3-2.7 2.88-.45-1.58-1.12-2.43-2.7-2.88 1.58-.46 2.25-1.3 2.7-2.88Z'/%3E%3C/svg%3E");
  opacity: 0.72;
}

.wb-spark-btn.is-loading span {
  animation: wb-dot-breathe 0.72s ease-in-out infinite alternate;
}

.wb-create-card .wb-paper-textarea-shell {
  position: relative;
  margin: 0 -2px;
}

.wb-create-card .wb-paper-textarea {
  min-height: 126px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 18px 2px;
  resize: none;
  mask-image: linear-gradient(to bottom, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
}

.wb-create-card .wb-paper-textarea:focus {
  background: transparent;
  box-shadow: none;
}

.wb-tone-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  overflow: visible;
  max-width: 100%;
}

.wb-tone-chip {
  border: 1px solid rgba(38,38,38,0.10);
  background: var(--tone);
  cursor: pointer;
  position: relative;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  flex: 0 0 auto;
}

.wb-tone-chip.active {
  border-color: rgba(38,38,38,0.28);
  background: linear-gradient(rgba(38,38,38,0.035), rgba(38,38,38,0.035)), var(--tone);
  box-shadow: 0 0 0 3px rgba(38,38,38,0.038), inset 0 0 0 1px rgba(255,255,255,0.44);
}

.wb-tone-chip.active::before {
  content: none;
}

.wb-tone-chip.active::after {
  position: absolute;
  inset: 9px;
  border-right: 1.6px solid #111;
  border-bottom: 1.6px solid #111;
  transform: rotate(45deg) translate(-1px, -2px);
  content: none;
}

.wb-tone-custom {
  border-style: dashed;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.44);
  color: #6F6A63;
  font-size: 19px;
  line-height: 1;
  font-weight: 300;
}

.wb-tone-custom::before {
  content: none;
}

.wb-tone-custom::after {
  content: none;
}

.wb-create-preview {
  border: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: 12px 0 16px;
  min-height: 118px;
  border-radius: 22px;
  background: radial-gradient(circle at 16% 18%, color-mix(in srgb, var(--preview-tone-1, #D9C4BF) 20%, transparent), transparent 48%),
            radial-gradient(circle at 86% 76%, color-mix(in srgb, var(--preview-tone-2, #E8D8D4) 20%, transparent), transparent 52%),
            #FCFBF7;
  box-shadow: none;
  padding: 13px;
}

.wb-create-preview-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.wb-create-preview strong {
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  line-height: 1.10;
  font-weight: 400;
  color: #282825;
  font-size: 20px;
}

.wb-create-submit {
  border: 0;
  border-radius: 999px;
  background: #000;
  color: #FDFBF7;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 6px 0 18px;
  font-size: 12px;
  letter-spacing: 0.12em;
  cursor: pointer;
  transition: opacity 0.18s ease, transform 0.18s ease, background 0.18s ease;
  width: 100%;
  justify-content: space-between;
  min-height: 46px;
  padding-left: 20px;
}

.wb-confirm-dialog {
  max-width: 296px;
}

.wb-confirm-title {
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-weight: 400;
  font-style: italic;
  letter-spacing: -0.015em;
  color: var(--wb-ink);
  font-size: 17px;
  line-height: 1.12;
  margin: 0 0 10px;
  text-align: center;
}

.wb-confirm-copy {
  font-size: 13px;
  line-height: 1.75;
  color: #716D65;
  text-align: center;
}

@keyframes wb-soft-up {
from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); }
}

@keyframes wb-modal-in {
to { transform: translateY(0) scale(1); }
}

@keyframes wb-dot-breathe {
from { opacity: 0.45; transform: scale(0.86); } to { opacity: 1; transform: scale(1.08); }
}

@media (max-width: 365px) {
  .wb-view {
  padding-left: 20px;
  padding-right: 20px;
  }

  .wb-library-grid {
  gap: 14px;
  }

  .wb-book-card {
  min-height: 174px;
  padding: 14px;
  border-radius: 20px;
  }

  .wb-book-title {
  font-size: clamp(20px, 6.2vw, 24px);
  margin-top: 38px;
  line-height: 1.08;
  }

  .wb-detail-title {
  font-size: 30px;
  }

  .wb-entry-title-input {
  font-size: 30px;
  }
}

.memory-app-page {
  --wb-paper: #FFFFFF;
  --wb-paper-deep: #FFFFFF;
  --wb-ink: #343941;
  --wb-muted: #8C95A3;
  --wb-faint: #B8BEC7;
  --wb-line: rgba(117, 124, 135, 0.14);
  background-color: #FFFFFF;
  background-image: linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 100%);
}

.memory-app-page::before {
  background-image: radial-gradient(circle, rgba(74,78,89,0.022) 0 0.62px, transparent 0.72px),
            linear-gradient(rgba(120,130,140,0.012) 1px, transparent 1px);
  background-size: 13px 13px, 44px 44px;
  opacity: 0.42;
}

.memory-view {
  position: relative;
  height: 100%;
  min-height: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding: max(36px, calc(env(safe-area-inset-top) + 22px)) 24px max(22px, calc(env(safe-area-inset-bottom) + 14px));
  overflow: hidden;
}

.memory-view::before {
  content: none;
}

.memory-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding-top: 4px;
  margin-bottom: 20px;
}

.memory-title-button {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
  background: transparent;
  color: #2F333A;
  text-align: left;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  white-space: nowrap;
}

.memory-head-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 0;
  flex: 0 0 auto;
}

.memory-round-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--chat-line-strong, rgba(74,78,89,0.20));
  background: rgba(255,255,255,0.72);
  color: #4A4E59;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.82);
}

.memory-round-btn svg {
  width: 17px;
  height: 17px;
  stroke-width: 1.7;
}

#memorySettingsBtn svg {
  width: 18px;
  height: 18px;
  stroke-width: 1.38;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.memory-search-panel[hidden] {
  display: none;
}

.memory-subject-stage {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  isolation: isolate;
  overflow: visible;
}

.memory-subject-stage::before {
  content: "One Phone";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  line-height: 0.88;
  letter-spacing: -0.04em;
  font-style: italic;
  white-space: nowrap;
  text-transform: none;
  top: 12px;
  right: -52px;
  color: rgba(74, 78, 89, 0.08);
  font-size: clamp(36px, 11vw, 60px);
}

.memory-console::before {
  content: "One Phone";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  line-height: 0.88;
  letter-spacing: -0.04em;
  font-style: italic;
  white-space: nowrap;
  text-transform: none;
  top: 26px;
  right: -28px;
  color: rgba(74, 78, 89, 0.065);
  font-size: clamp(34px, 10vw, 54px);
}

.memory-subject-stage > * {
  position: relative;
  z-index: 1;
}

.memory-console > * {
  position: relative;
  z-index: 1;
}

.memory-subject-stage[hidden] {
  display: none;
}

.memory-subject-list {
  width: min(100%, 324px);
  min-height: 410px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  overflow: visible;
  padding: 0;
  margin: 0 auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: manipulation;
}

.memory-subject-list::-webkit-scrollbar {
  display: none;
}

.memory-subject-card {
  width: 306px;
  min-height: 410px;
  border: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  text-align: center;
  background: transparent;
  color: #3E4145;
  box-shadow: none;
  cursor: pointer;
  transition: transform 0.22s ease, opacity 0.22s ease;
}

.memory-subject-card.active {
  transform: none;
}

.memory-subject-card:active {
  transform: translateY(1px);
}

.memory-subject-portrait {
  position: relative;
  width: 278px;
  height: 278px;
  display: block;
  margin: 0 auto;
}

.memory-subject-frame {
  position: absolute;
  inset: 0;
  border: 0;
  transform: rotate(6deg) translate(4px, 6px);
  transform-origin: center;
  background: #E7EAED;
  box-shadow: 0 10px 18px rgba(76,84,96,0.09), 0 1px 2px rgba(76,84,96,0.05);
}

.memory-subject-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 28% 22%, rgba(255,255,255,0.72), transparent 36%),
            linear-gradient(145deg, #F3F4F5 0%, #ECEFF2 100%);
  color: #C1C5CA;
  background-size: cover;
  background-position: center;
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
  font-size: var(--memory-placeholder-size);
  line-height: 1;
  letter-spacing: 0.06em;
  text-align: center;
  overflow: hidden;
  position: absolute;
  inset: 0;
  width: 278px;
  height: 278px;
  border: 0;
  transform: rotate(-6deg);
  transform-origin: center;
  border-radius: 0;
  box-shadow: 0 18px 34px rgba(76,84,96,0.10);
  --memory-placeholder-size: 25px;
}

.memory-hero-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 28% 22%, rgba(255,255,255,0.72), transparent 36%),
            linear-gradient(145deg, #F3F4F5 0%, #ECEFF2 100%);
  color: #C1C5CA;
  background-size: cover;
  background-position: center;
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
  font-size: var(--memory-placeholder-size);
  line-height: 1;
  letter-spacing: 0.06em;
  text-align: center;
  overflow: hidden;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  --memory-placeholder-size: 24px;
}

.memory-subject-avatar.has-image {
  color: transparent;
}

.memory-hero-avatar.has-image {
  color: transparent;
}

.memory-polaroid i.has-image {
  color: transparent;
}

.memory-subject-copy {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.memory-subject-label {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.memory-subject-copy strong {
  max-width: none;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
  color: #17191C;
  font-size: 21px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.035em;
}

.memory-subject-label strong {
  max-width: none;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
  color: #17191C;
  font-size: 21px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.035em;
}

.memory-subject-copy em {
  max-width: none;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
  color: #5E646A;
  font-family: "Courier New", Courier, monospace;
  font-size: 11.5px;
  line-height: 1;
  letter-spacing: 0.11em;
  font-style: normal;
}

.memory-subject-label em {
  max-width: none;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
  color: #5E646A;
  font-family: "Courier New", Courier, monospace;
  font-size: 11.5px;
  line-height: 1;
  letter-spacing: 0.11em;
  font-style: normal;
}

.memory-subject-tag {
  display: none;
}

.memory-subject-nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 44px;
  height: 44px;
  margin-top: -22px;
  border: 1px solid var(--chat-line-strong, rgba(74,78,89,0.20));
  border-radius: 50%;
  background: rgba(255,255,255,0.72);
  color: #4A4E59;
  font-size: 0;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.82);
}

.memory-subject-nav::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1.7px solid currentColor;
  border-right: 1.7px solid currentColor;
}

.memory-subject-nav.is-prev {
  left: -18px;
}

.memory-subject-nav.is-next {
  right: -18px;
}

.memory-subject-nav.is-prev::before {
  transform: translateX(1px) rotate(-135deg);
}

.memory-subject-nav.is-next::before {
  transform: translateX(-1px) rotate(45deg);
}

.memory-subject-nav:active {
  transform: translateY(1px);
}

.memory-subject-nav:disabled {
  opacity: 0.34;
  cursor: default;
}

.memory-empty-state {
  position: absolute;
  left: 50%;
  top: 52%;
  transform: translate(-50%, -50%);
  width: min(72vw, 270px);
  margin-top: 0;
  min-height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  background-image: none;
  box-shadow: none;
  gap: 0;
  padding: 0;
  text-align: center;
  color: #8C95A3;
  font-size: 13px;
  line-height: 1.82;
  letter-spacing: 0.08em;
  pointer-events: none;
}

.memory-empty-state .wb-empty-main {
  display: block;
  margin-bottom: 8px;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  color: #565D67;
  font-size: 26px;
  line-height: 1;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.04em;
}

.memory-empty-state .wb-empty-sub {
  display: block;
  max-width: none;
  color: #A0A7B0;
  font-size: 12px;
  line-height: 1.82;
  letter-spacing: 0.10em;
}

.memory-empty-state[style*="none"] {
  pointer-events: none;
}

.memory-console {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  flex-direction: column;
  gap: 20px;
  height: auto;
  animation: wb-soft-up 0.32s ease both;
  overflow: hidden;
  isolation: isolate;
}

.memory-console[hidden] {
  display: none;
}

.memory-profile-card {
  border: 0;
  min-height: 156px;
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr);
  grid-template-rows: 126px auto;
  align-items: start;
  column-gap: 18px;
  row-gap: 10px;
  padding: 2px 0 12px;
  background: transparent;
  box-shadow: none;
  flex: 0 0 auto;
}

.memory-pair-left {
  min-width: 0;
  display: contents;
}

.memory-polaroid-stack {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  width: 126px;
  height: 126px;
  margin-top: 2px;
  margin-left: -2px;
  justify-self: start;
  cursor: pointer;
}

.memory-polaroid {
  position: absolute;
  width: 78px;
  height: 98px;
  padding: 6px 6px 18px;
  background: #FFFFFF;
  border: 0;
  box-shadow: 0 14px 24px rgba(76,84,96,0.075);
  transition: left 0.28s cubic-bezier(0.22, 1, 0.36, 1), top 0.28s cubic-bezier(0.22, 1, 0.36, 1), transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), z-index 0s linear 0.14s;
}

.memory-polaroid.is-user {
  left: 0;
  top: 18px;
  transform: rotate(-6deg);
  z-index: 1;
}

.memory-polaroid.is-char {
  left: 48px;
  top: 10px;
  transform: rotate(5deg);
  z-index: 2;
}

.memory-polaroid-stack.is-swapped .memory-polaroid.is-user {
  left: 48px;
  top: 10px;
  transform: rotate(5deg);
  z-index: 2;
}

.memory-polaroid-stack.is-swapped .memory-polaroid.is-char {
  left: 0;
  top: 18px;
  transform: rotate(-6deg);
  z-index: 1;
}

.memory-polaroid i {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 28% 22%, rgba(255,255,255,0.72), transparent 36%),
            linear-gradient(145deg, #F3F4F5 0%, #ECEFF2 100%);
  background-size: cover;
  background-position: center;
  color: #C1C5CA;
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.06em;
  text-align: center;
}

.memory-pair-copy {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  align-self: center;
  gap: 10px;
  padding-top: 4px;
  padding-bottom: 0;
  text-align: right;
}

.memory-pair-copy strong {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #111316;
  font-size: 18px;
  line-height: 1.06;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: right;
}

.memory-pair-copy .memory-pair-amp {
  display: inline-block;
  padding: 0 0.24em;
  color: #93999E;
  font-size: 16px;
  line-height: 1;
  font-weight: 400;
}

.memory-pair-copy span {
  max-width: none;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
  color: #8B9092;
  font-size: 10.5px;
  line-height: 1;
  letter-spacing: 0.12em;
  text-align: right;
}

.memory-pair-copy span:empty {
  display: none;
}

.memory-pair-copy .memory-pair-note {
  max-width: 176px;
  white-space: normal;
  color: #7E8488;
  font-family: "PingFang SC", "Helvetica Neue", sans-serif;
  font-size: 10.5px;
  line-height: 1.58;
  letter-spacing: 0.05em;
  cursor: pointer;
}

.memory-pair-copy .memory-pair-note:active {
  opacity: 0.65;
}

.memory-pair-count {
  grid-column: 1;
  grid-row: 2;
  justify-self: start;
  align-self: start;
  max-width: 144px;
  padding-top: 6px;
  color: #777C7E;
  font-size: 11px;
  line-height: 1.62;
  letter-spacing: 0.04em;
  text-align: left;
  white-space: nowrap;
  padding-bottom: 0;
}

.memory-pair-count strong {
  padding: 0 2px;
  background: transparent;
  color: #303137;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  line-height: 1;
  font-weight: 400;
}

.memory-pair-count mark {
  padding: 0 2px;
  background: transparent;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  line-height: 1;
  font-weight: 400;
  color: #303740;
  box-shadow: inset 0 -5px 0 rgba(181,199,211,0.42);
}

.memory-group-tabs {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 18px;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding: 4px 0 12px;
  margin: 0 0 2px;
  flex: 0 0 auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.memory-group-tabs::-webkit-scrollbar {
  display: none;
}

.memory-group-tabs::after {
  content: none;
}

.memory-group-tabs button.active {
  color: #303137;
}

.memory-group-tabs button.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -3px;
  height: 1px;
  background: #303137;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.78);
}

.memory-timeline-panel {
  position: relative;
  flex: 1 1 280px;
  min-height: 280px;
  overflow: hidden;
  margin-left: 0;
  width: 100%;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, rgba(0,0,0,0.68) 8px, #000 18px, #000 100%);
  mask-image: linear-gradient(to bottom, transparent 0, rgba(0,0,0,0.68) 8px, #000 18px, #000 100%);
}

.memory-timeline-panel::before {
  content: none;
}

.memory-timeline-panel::after {
  content: none;
}

.memory-timeline-list {
  height: 100%;
  overflow-y: auto;
  padding: 18px 0 max(76px, calc(env(safe-area-inset-bottom) + 46px)) 0;
  scroll-padding-bottom: max(76px, calc(env(safe-area-inset-bottom) + 46px));
  box-sizing: border-box;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}

.memory-timeline-list::-webkit-scrollbar {
  display: none;
}

.memory-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 4px;
  min-height: 96px;
  border: 0;
  padding: 0 0 22px;
  margin: 0;
  background: transparent;
  color: #3D4145;
  text-align: left;
  cursor: pointer;
}

.memory-timeline-item::before {
  content: "";
  position: absolute;
  left: 66px;
  top: 2px;
  bottom: 0;
  width: 1px;
  background: linear-gradient(to bottom, rgba(48,49,55,0.26), rgba(48,49,55,0.05));
}

.memory-timeline-item::after {
  content: "";
  position: absolute;
  left: 62px;
  top: 7px;
  width: 8px;
  height: 8px;
  border: 1px solid rgba(48,49,55,0.38);
  background: rgba(255,255,255,0.98);
  transform: rotate(45deg);
}

.memory-timeline-time {
  position: relative;
  display: block;
  min-height: 34px;
  min-width: 82px;
  padding-top: 0;
  padding-left: 0;
  color: #8B9092;
  font-family: "Courier New", Courier, monospace;
  line-height: 1;
  letter-spacing: 0;
  text-align: left;
  word-break: normal;
  white-space: nowrap;
  width: 82px;
  overflow: visible;
}

.memory-time-year {
  display: block;
  font-size: 11.2px;
  color: #666C71;
  letter-spacing: 0;
  transform: none;
}

.memory-time-day {
  display: block;
  margin-top: 4px;
  padding-left: 12px;
  font-size: 8.8px;
  color: #A1A6AA;
  letter-spacing: 0.06em;
}

.memory-timeline-body {
  min-width: 0;
  padding: 0 3px 18px 0;
  border-bottom: 0;
}

.memory-timeline-body strong {
  display: block;
  color: #33373A;
  font-size: 13px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-bottom: 9px;
}

.memory-timeline-body p {
  margin: 0;
  color: #71787B;
  font-size: 11.5px;
  line-height: 1.78;
  letter-spacing: 0.035em;
  white-space: pre-wrap;
  word-break: break-word;
}

.memory-timeline-item.active .memory-timeline-body {
  border-bottom: 1px solid rgba(48,49,55,0.18);
}

.memory-timeline-item.active::after {
  background: #303137;
}

.memory-timeline-actions {
  position: absolute;
  right: 2px;
  bottom: 10px;
  display: none;
  align-items: center;
  gap: 8px;
}

.memory-timeline-item.active .memory-timeline-actions {
  display: flex;
}

.memory-timeline-actions button {
  width: 26px;
  height: 26px;
  border: 1px solid rgba(48,49,55,0.13);
  border-radius: 50%;
  background: rgba(255,255,255,0.55);
  color: #565B5E;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.memory-timeline-actions svg {
  stroke-width: 1.35;
  width: 12px;
  height: 12px;
}

.memory-timeline-edit {
  width: 100%;
  min-height: 94px;
  border: 0;
  border-bottom: 1px solid rgba(48,49,55,0.16);
  outline: 0;
  resize: vertical;
  background: rgba(255,255,255,0.32);
  color: #3D4145;
  font-size: 12px;
  line-height: 1.72;
  letter-spacing: 0.03em;
  padding: 6px 4px;
  user-select: text;
  -webkit-user-select: text;
}

.memory-console.is-editing-timeline {
  gap: 0;
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
}

.memory-console.is-editing-timeline .memory-profile-card {
  display: none;
}

.memory-console.is-editing-timeline .memory-group-tabs {
  display: none;
}

.memory-console.is-editing-timeline .memory-settings-panel {
  display: none;
}

.memory-app-page.is-editing-timeline .memory-head {
  display: none;
}

.memory-console.is-editing-timeline .memory-timeline-panel {
  margin-left: 0;
  width: 100%;
  -webkit-mask-image: none;
  mask-image: none;
}

.memory-console.is-editing-timeline::before {
  content: none;
}

.memory-console.is-editing-timeline .memory-timeline-list {
  padding: 0;
}

.memory-timeline-edit-page {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 8px 0 18px;
  animation: wb-soft-up 0.24s ease both;
}

.memory-timeline-edit-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 14px;
  padding-top: 4px;
  padding-bottom: 14px;
  border-bottom: 0;
}

.memory-timeline-edit-head button {
  width: 44px;
  height: 44px;
  border: 1px solid var(--chat-line-strong, rgba(48,49,55,0.12));
  border-radius: 50%;
  background: rgba(255,255,255,0.72);
  color: #4A4E59;
  font-size: 28px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.82);
  cursor: pointer;
  align-self: end;
  margin-top: 0;
}

.memory-timeline-edit-head div {
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  text-align: left;
}

.memory-timeline-edit-head span {
  order: 2;
  width: 100%;
  margin-top: 10px;
  color: var(--chat-muted, #8C95A3);
  font-family: "Courier New", Courier, monospace;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.16em;
  text-align: left;
}

.memory-timeline-edit-head strong {
  order: 1;
  width: 100%;
  color: #2F333A;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: clamp(30px, 9vw, 38px);
  line-height: 0.95;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.035em;
  text-align: left;
}

.memory-timeline-edit.is-page {
  flex: 1 1 auto;
  min-height: 220px;
  border: 0;
  border-radius: 0;
  padding: 0 0 12px;
  background: transparent;
  box-shadow: none;
}

.memory-timeline-edit-actions {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.memory-timeline-edit-actions button {
  position: relative;
  min-height: 52px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #4B5053;
  font-size: 12px;
  letter-spacing: 0.10em;
  cursor: pointer;
  text-align: center;
  padding: 0 2px;
  overflow: hidden;
}

.memory-timeline-edit-actions button::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(48,49,55,0.14);
}

.memory-timeline-edit-actions button::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  right: auto;
  width: 100%;
  background: rgba(48,49,55,0.42);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.24s ease, background-color 0.24s ease;
}

.memory-timeline-edit-actions button:active::after {
  transform: scaleX(1);
}

.memory-timeline-edit-actions button:focus-visible::after {
  transform: scaleX(1);
}

.memory-timeline-edit-actions button:last-child {
  color: #C95C5C;
}

.memory-timeline-edit-actions button:last-child::after {
  background: rgba(201,92,92,0.78);
}

.memory-timeline-empty {
  width: min(72vw, 270px);
  margin: 68px auto 0;
  padding: 0;
  color: #A0A7B0;
  text-align: center;
  font-size: 12px;
  line-height: 1.82;
  letter-spacing: 0.10em;
}

.memory-timeline-empty::first-line {
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  color: #565D67;
  font-size: 26px;
  line-height: 1;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.04em;
}

.memory-recall-card {
  border: 0;
  background: rgba(255,255,255,0.62);
  box-shadow: 0 14px 32px rgba(48,49,55,0.045), inset 0 1px 0 rgba(255,255,255,0.72);
  padding: 17px;
}

.memory-feature-card {
  border: 0;
  background: rgba(255,255,255,0.62);
  box-shadow: 0 14px 32px rgba(48,49,55,0.045), inset 0 1px 0 rgba(255,255,255,0.72);
  padding: 17px;
  max-height: 270px;
  overflow-y: auto;
  scrollbar-width: none;
}

.memory-feature-card::-webkit-scrollbar {
  display: none;
}

.memory-settings-panel[hidden] {
  display: none;
}

.memory-settings-modal.show {
  display: flex;
  opacity: 1;
  pointer-events: auto;
}

.memory-settings-title {
  margin: 0;
}

.memory-settings-modal .memory-settings-panel {
  display: block;
  max-height: none;
  overflow: visible;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.memory-settings-modal .memory-feature-grid {
  width: 100%;
}

.memory-settings-modal .memory-quality-panel {
  width: 100%;
}

.memory-settings-modal .memory-action-strip {
  width: 100%;
}

.memory-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.memory-section-head h3 {
  margin: 6px 0 0;
  color: #34373C;
  font-size: 17px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.memory-section-head em {
  color: #AAA7A0;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.12em;
  font-style: normal;
  white-space: nowrap;
  padding-top: 3px;
}

.memory-feature-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid rgba(48,49,55,0.08);
}

.memory-feature-row {
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid rgba(48,49,55,0.08);
}

.memory-feature-row.is-disabled {
  opacity: 0.42;
}

.memory-feature-row strong {
  display: block;
  color: #3C4045;
  font-size: 13px;
  line-height: 1.1;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}

.memory-feature-row span {
  display: block;
  color: #8A9094;
  font-size: 10.5px;
  line-height: 1.45;
  letter-spacing: 0.03em;
}

.memory-dimension-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 15px;
}

.memory-dimension-row {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 30px;
  align-items: center;
  gap: 10px;
}

.memory-dimension-row span {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.memory-dimension-row strong {
  color: #41464A;
  font-size: 12px;
  line-height: 1;
  font-weight: 500;
}

.memory-dimension-row em {
  color: #A6A9AA;
  font-size: 9px;
  line-height: 1;
  font-style: normal;
}

.memory-dimension-row input {
  width: 100%;
  accent-color: #303137;
}

.memory-dimension-row b {
  color: #6F7578;
  font-size: 10.5px;
  line-height: 1;
  font-weight: 400;
  text-align: right;
}

.memory-quality-panel {
  margin-top: 18px;
  padding-top: 2px;
  border-top: 1px solid rgba(48,49,55,0.08);
}

.memory-quality-head em {
  font-style: normal;
  color: #8A9094;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.memory-quality-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 4px;
  border-top: 1px solid rgba(48,49,55,0.06);
}

.memory-quality-row {
  min-height: 46px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid rgba(48,49,55,0.06);
}

.memory-quality-row strong {
  display: block;
  color: #3C4045;
  font-size: 12px;
  line-height: 1.1;
  letter-spacing: 0.06em;
  margin-bottom: 5px;
}

.memory-quality-row span {
  display: block;
  color: #8A9094;
  font-size: 10px;
  line-height: 1.45;
  letter-spacing: 0.03em;
}

.memory-quality-badge {
  min-width: 66px;
  text-align: center;
  font-family: "Courier New", Courier, monospace;
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #60666A;
  background: rgba(255,255,255,0.72);
  box-shadow: inset 0 0 0 1px rgba(48,49,55,0.08);
  padding: 7px 8px;
}

.memory-quality-badge.is-failed {
  color: #7A4A4A;
  background: rgba(250,244,241,0.86);
}

.memory-quality-badge.is-warning {
  color: #786A4E;
  background: rgba(250,247,239,0.88);
}

.memory-quality-badge.is-passed {
  color: #52665E;
  background: rgba(243,248,245,0.86);
}

.memory-quality-actions {
  margin-top: 13px;
}

.memory-quality-detail {
  margin-top: 10px;
  padding: 12px 0 2px;
  border-top: 1px solid rgba(48,49,55,0.06);
  color: #6F777D;
  font-size: 11px;
  line-height: 1.7;
  letter-spacing: 0.04em;
}

.memory-quality-detail details {
  padding: 8px 0;
  border-bottom: 1px solid rgba(48,49,55,0.05);
}

.memory-quality-detail summary {
  cursor: pointer;
  color: #45494E;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.memory-quality-detail p {
  margin: 8px 0 0;
  padding-left: 0;
}

.memory-quality-detail ul {
  margin: 8px 0 0;
  padding-left: 0;
}

.memory-quality-detail li {
  list-style: none;
  margin: 5px 0;
  color: #7D858A;
}

.memory-quality-actions button[aria-busy="true"] {
  opacity: 0.62;
  cursor: progress;
}

.memory-action-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 16px;
}

.memory-action-strip button {
  min-height: 40px;
  border: 0;
  border-radius: 0;
  background: #303137;
  color: #FCFBF7;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.08em;
  box-shadow: 0 10px 20px rgba(48,49,55,0.10);
  cursor: pointer;
}

.memory-action-strip button:nth-child(2n) {
  background: rgba(255,255,255,0.82);
  color: #4F5559;
  box-shadow: inset 0 0 0 1px rgba(48,49,55,0.07), 0 9px 20px rgba(48,49,55,0.045);
}

.memory-action-strip button:active {
  transform: translateY(1px);
}

.memory-editor-grid {
  display: none;
}

.memory-paper-block {
  border: 0;
  background: rgba(255,255,255,0.62);
  box-shadow: 0 14px 32px rgba(48,49,55,0.045), inset 0 1px 0 rgba(255,255,255,0.72);
  overflow: hidden;
  padding: 15px;
}

.memory-paper-block textarea {
  width: 100%;
  min-height: 132px;
  border: 0;
  outline: 0;
  resize: vertical;
  background: transparent;
  color: #3D4145;
  font-size: 16px;
  line-height: 1.78;
  user-select: text;
  -webkit-user-select: text;
}

.memory-recall-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.memory-recall-item {
  padding: 13px 0;
  border-top: 1px solid rgba(48,49,55,0.08);
}

.memory-recall-item:first-child {
  border-top: 0;
  padding-top: 0;
}

.memory-recall-item strong {
  display: block;
  color: #3D4246;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
}

.memory-recall-item p {
  margin: 0;
  color: #A0A7B0;
  font-size: 12px;
  line-height: 1.82;
  letter-spacing: 0.10em;
  text-align: center;
  font-weight: 400;
}

.memory-recall-empty {
  margin: 0;
  color: #A0A7B0;
  font-size: 12px;
  line-height: 1.82;
  letter-spacing: 0.10em;
  text-align: center;
  font-weight: 400;
}

@media (max-width: 390px) {
  .memory-profile-card {
  grid-template-columns: 122px minmax(0, 1fr);
  grid-template-rows: 122px auto;
  gap: 12px 14px;
  padding-bottom: 14px;
  }

  .memory-polaroid-stack {
  width: 122px;
  height: 122px;
  margin-top: 2px;
  }

  .memory-pair-copy {
  grid-row: 1;
  justify-content: center;
  align-self: center;
  padding-top: 2px;
  padding-bottom: 0;
  }

  .memory-pair-count {
  justify-self: end;
  max-width: 176px;
  text-align: right;
  padding-top: 4px;
  padding-bottom: 0;
  }

  .memory-pair-copy strong {
  font-size: 15px;
  }

  .memory-pair-copy span {
  font-size: 9px;
  letter-spacing: 0.08em;
  }

  .memory-console {
  height: auto;
  }
}

.one-round-icon-action {
  width: var(--one-round-icon-size, 44px);
  height: var(--one-round-icon-size, 44px);
  border-radius: 50%;
  border: 1px solid var(--one-round-icon-border, rgba(150,158,168,0.24));
  background: var(--one-round-icon-bg, rgba(255,255,255,0.62));
  color: var(--one-round-icon-color, #4A4E59);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.82);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
}

.one-round-icon-action svg {
  width: var(--one-round-icon-svg-size, 18px);
  height: var(--one-round-icon-svg-size, 18px);
  stroke: currentColor;
  stroke-width: 1.55;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.one-round-icon-action:active {
  transform: scale(0.94);
}

.messages-app-page {
  --messages-paper: #FCFBF7;
  --messages-ink: #343941;
  --messages-muted: #8D96A2;
  --messages-line: rgba(117, 124, 135, 0.18);
  --messages-line-strong: rgba(74, 78, 89, 0.28);
  --messages-blue: #B5C7D3;
  --messages-sage: #B8C9BC;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
  min-height: 0;
  height: var(--one-shell-lock-height, var(--one-layout-vh, 100svh));
  z-index: 9000;
  overflow: hidden;
  background-color: var(--messages-paper);
  background-image: radial-gradient(circle at 18% 12%, rgba(255,255,255,0.82) 0%, rgba(255,255,255,0.28) 30%, transparent 58%),
            radial-gradient(circle at 88% 78%, rgba(225,235,240,0.72) 0%, rgba(225,235,240,0.24) 34%, transparent 62%),
            linear-gradient(138deg, #FCFBF7 0%, #F6F1EA 100%);
  color: var(--messages-ink);
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity 0.26s ease, transform 0.32s cubic-bezier(0.2, 0.8, 0.2, 1);
  isolation: isolate;
}

.messages-app-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, rgba(74,78,89,0.026) 0 0.62px, transparent 0.72px),
            linear-gradient(rgba(120,130,140,0.016) 1px, transparent 1px);
  background-size: 13px 13px, 46px 46px;
  opacity: 0.62;
}

.messages-app-page.show {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.messages-head {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 18px;
  padding: max(38px, calc(env(safe-area-inset-top) + 22px)) 24px 0;
}

.messages-refresh {
  border: 1px solid rgba(172,162,151,.22);
  background: rgba(255,255,255,.68);
  color: #6C655E;
  border-radius: 999px;
  font: inherit;
  letter-spacing: .02em;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
  width: 42px;
  height: 42px;
  padding: 0;
  font-size: 0;
  --one-round-icon-size: 44px;
  --one-round-icon-border: var(--messages-line-strong);
  --one-round-icon-bg: rgba(255,255,255,0.62);
}

.messages-refresh:active {
  transform: scale(.97);
  background: rgba(235,238,242,0.7);
}

.messages-search {
  height: 42px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  position: relative;
  z-index: 2;
  margin: 18px 24px 0;
  border-radius: 999px;
  border: 1px solid rgba(150,158,168,0.22);
  background: rgba(255,255,255,0.62);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.78);
}

.messages-search svg {
  width: 17px;
  height: 17px;
  stroke: #98A0AA;
  stroke-width: 1.6;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 auto;
}

.messages-search input {
  flex: 1;
  border: 0;
  outline: 0;
  background: transparent;
  min-width: 0;
  font-size: 16px;
  height: 100%;
  color: #3C4149;
  user-select: text;
  -webkit-user-select: text;
}

.messages-list {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  z-index: 2;
  height: calc(100svh - max(38px, calc(env(safe-area-inset-top) + 22px)) - 124px);
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  scrollbar-width: none;
  padding: 18px 18px max(48px, calc(env(safe-area-inset-bottom) + 34px));
}

.messages-list::-webkit-scrollbar {
  display: none;
}

.messages-row {
  width: 100%;
  display: grid;
  align-items: center;
  color: inherit;
  text-align: left;
  cursor: pointer;
  min-height: 74px;
  border: 0;
  border-radius: 26px;
  background: rgba(255,255,255,0.54);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.82), 0 10px 28px rgba(76,72,64,0.045);
  grid-template-columns: 50px minmax(0, 1fr) auto;
  gap: 13px;
  padding: 12px 13px;
  margin-bottom: 10px;
  appearance: none;
  -webkit-appearance: none;
}

.messages-row:active {
  transform: scale(0.988);
}

.messages-avatar {
  object-fit: cover;
  letter-spacing: .08em;
  width: 50px;
  height: 50px;
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(226,232,236,0.88), rgba(255,255,255,0.62));
  border: 1px solid rgba(255,255,255,0.72);
  display: grid;
  place-items: center;
  color: #7C8792;
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-size: 15px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  flex: 0 0 auto;
}

.messages-detail-avatar {
  object-fit: cover;
  letter-spacing: .08em;
  width: 50px;
  height: 50px;
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(226,232,236,0.88), rgba(255,255,255,0.62));
  border: 1px solid rgba(255,255,255,0.72);
  display: grid;
  place-items: center;
  color: #7C8792;
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-size: 15px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  flex: 0 0 auto;
}

.messages-copy {
  min-width: 0;
}

.messages-name-line {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 8px;
}

.messages-name {
  font-size: 15px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #343941;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.messages-unread-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #9EB4C1;
  flex: 0 0 auto;
  opacity: 0;
}

.messages-row.is-unread .messages-unread-dot {
  opacity: 1;
}

.messages-preview {
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 0;
  color: #87909D;
  line-height: 1.45;
}

.messages-side {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
}

.messages-time {
  white-space: nowrap;
  font-size: 10px;
  color: #A2A9B2;
  letter-spacing: 0.08em;
}

.messages-tag {
  border-radius: 999px;
  background: rgba(181,199,211,0.28);
  color: #647480;
  font-size: 10px;
  letter-spacing: 0.08em;
  line-height: 1;
  padding: 6px 8px;
  white-space: nowrap;
}

.messages-letter-label {
  border-radius: 999px;
  background: rgba(181,199,211,0.28);
  color: #647480;
  font-size: 10px;
  letter-spacing: 0.08em;
  line-height: 1;
  padding: 6px 8px;
  white-space: nowrap;
}

.messages-tag[data-kind="system"] {
  background: rgba(184,188,196,0.24);
  color: #777F89;
}

.messages-tag[data-kind="notice"] {
  background: rgba(216,185,190,0.22);
  color: #8B6D73;
}

.messages-tag[data-kind="echo"] {
  background: rgba(184,201,188,0.26);
  color: #667A6C;
}

.messages-empty {
  flex: 1;
  min-height: 240px;
  place-items: center;
  align-content: center;
  text-align: center;
  padding: 28px 16px;
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 52%;
  transform: translate(-50%, -50%);
  width: min(72vw, 270px);
  color: #8C95A3;
  font-size: 13px;
  letter-spacing: 0.08em;
  line-height: 1.82;
  pointer-events: none;
  display: none;
}

.messages-empty.show {
  display: block;
}

.messages-empty strong {
  display: block;
  margin-bottom: 8px;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 26px;
  line-height: 1;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.04em;
  color: #565D67;
}

.messages-empty span {
  display: block;
}

.messages-detail {
  inset: 0;
  align-items: end;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  z-index: 5;
  background: rgba(252,251,247,0.96);
  background-image: linear-gradient(145deg, rgba(255,255,255,0.86), rgba(246,241,234,0.92));
  transform: translateX(18px);
  transition: opacity 0.22s ease, transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
  display: flex;
  flex-direction: column;
  padding: max(34px, calc(env(safe-area-inset-top) + 18px)) 22px max(34px, calc(env(safe-area-inset-bottom) + 24px));
}

.messages-detail.show {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.messages-detail-head {
  display: grid;
  grid-template-columns: 42px 52px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
}

.messages-detail-back {
  width: 40px;
  height: 40px;
  border: 1px solid rgba(150,158,168,0.24);
  border-radius: 50%;
  background: rgba(255,255,255,0.56);
  display: grid;
  place-items: center;
  color: #4A4E59;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.messages-detail-back svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 1.7;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.messages-detail-person {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.messages-detail-name {
  font-size: 18px;
  font-weight: 650;
  color: #343941;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.messages-detail-meta {
  margin-top: 4px;
  font-size: 10px;
  letter-spacing: 0.14em;
  color: #9AA2AD;
  text-transform: uppercase;
}

.messages-letter-card {
  position: relative;
  border-radius: 34px;
  background: linear-gradient(90deg, rgba(184,151,137,0.16) 0 1px, transparent 1px 100%) 31px 0 / 32px 100% no-repeat,
            repeating-linear-gradient(to bottom, transparent 0 29px, rgba(117,124,135,0.105) 30px, transparent 31px),
            rgba(255,255,255,0.66);
  border: 1px solid rgba(255,255,255,0.74);
  box-shadow: 0 18px 46px rgba(76,72,64,0.06), inset 0 1px 0 rgba(255,255,255,0.86);
  padding: 30px 24px 26px;
  min-height: 282px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow: hidden;
}

.messages-letter-card::before {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  top: 0;
  height: 10px;
  border-radius: 0 0 14px 14px;
  background: rgba(181,199,211,0.26);
}

.messages-letter-card::after {
  content: "LETTER";
  position: absolute;
  right: 18px;
  bottom: 14px;
  z-index: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 52px;
  line-height: 1;
  font-style: italic;
  letter-spacing: -0.035em;
  color: rgba(52,57,65,0.035);
  pointer-events: none;
}

.messages-letter-card > * {
  position: relative;
  z-index: 1;
}

.messages-letter-card h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 25px;
  line-height: 1.08;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.04em;
  color: #343941;
}

.messages-letter-body {
  position: relative;
  padding: 14px 2px 10px;
  font-size: 14px;
  white-space: pre-wrap;
  word-break: break-word;
  background-image: repeating-linear-gradient(to bottom, transparent 0 27px, rgba(151,139,125,.13) 28px, transparent 29px);
  margin: 0;
  color: #626B76;
  line-height: 1.92;
}

.messages-letter-mark {
  border-radius: 7px;
  padding: 0 0.08em;
}

.messages-letter-mark.is-underline {
  text-decoration-line: underline;
  text-decoration-skip-ink: none;
  text-decoration-thickness: 0.42em;
  text-decoration-color: rgba(214,205,146,0.38);
  text-underline-offset: -0.15em;
}

.messages-letter-mark.is-highlight {
  background: linear-gradient(180deg, transparent 48%, rgba(214,205,146,0.34) 48% 88%, transparent 88%);
}

.messages-redaction {
  position: relative;
  display: inline-flex;
  align-items: center;
  border: 0;
  border-radius: 7px;
  color: transparent;
  cursor: pointer;
  font: inherit;
  vertical-align: baseline;
  min-height: 1.32em;
  padding: 0 0.34em;
  background: rgba(47,51,58,0.92);
  letter-spacing: 0.02em;
  appearance: none;
  -webkit-appearance: none;
}

.messages-redaction::after {
  content: "轻点揭开";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 9px;
  white-space: nowrap;
  pointer-events: none;
  color: rgba(255,255,255,0.58);
  letter-spacing: 0.12em;
}

.messages-redaction.is-revealed {
  background: rgba(214,205,146,0.22);
  color: #4F5660;
}

.messages-redaction.is-revealed::after {
  content: "";
}

.messages-letter-card time {
  margin-top: auto;
  color: #A2A9B2;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.messages-detail-actions {
  display: grid;
  margin-top: auto;
  grid-template-columns: 1fr 1.2fr;
  gap: 12px;
  padding-top: 20px;
}

.messages-primary-action {
  height: 48px;
  border-radius: 999px;
  border: 1px solid rgba(74,78,89,0.24);
  font-size: 13px;
  letter-spacing: 0.06em;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background: var(--one-quality-button, #111111);
  color: #fff;
}

.messages-secondary-action {
  height: 48px;
  border-radius: 999px;
  border: 1px solid rgba(74,78,89,0.24);
  font-size: 13px;
  letter-spacing: 0.06em;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background: rgba(255,255,255,0.62);
  color: #4A4E59;
}

.messages-toast {
  position: fixed;
  left: 50%;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  transform: translate(-50%, 10px);
  opacity: 0;
  pointer-events: none;
  background: rgba(55,50,45,.84);
  color: #fff;
  border-radius: 999px;
  padding: 9px 14px;
  font-size: 12px;
  transition: opacity .18s ease, transform .18s ease;
  z-index: 9500;
}

.chat-app-page {
  --chat-composer-bottom-gap: 20px;
  --chat-paper: #FCFBF7;
  --chat-paper-2: #F7F3EC;
  --chat-ink: #343941;
  --chat-muted: #8C95A3;
  --chat-soft: #B8BEC7;
  --chat-line: rgba(117, 124, 135, 0.20);
  --chat-line-strong: rgba(74, 78, 89, 0.34);
  --chat-blue: #B5C7D3;
  --chat-sage: #AFC5B7;
  --chat-rose: #D8B9BE;
  --chat-shadow: 0 18px 46px rgba(76, 72, 64, 0.08);
  position: fixed;
  inset: 0;
  height: var(--one-shell-lock-height, var(--one-layout-vh, 100svh));
  max-height: var(--one-shell-lock-height, var(--one-layout-vh, 100svh));
  z-index: 9000;
  overflow: hidden;
  background-color: var(--chat-paper);
  background-image: radial-gradient(circle at 16% 14%, rgba(255,255,255,0.82) 0%, rgba(255,255,255,0.24) 32%, transparent 58%),
            radial-gradient(circle at 92% 76%, rgba(226,236,242,0.84) 0%, rgba(226,236,242,0.22) 34%, transparent 62%),
            linear-gradient(138deg, #FCFBF7 0%, #F6F1EA 100%);
  color: var(--chat-ink);
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity 0.26s ease, transform 0.32s cubic-bezier(0.2, 0.8, 0.2, 1);
  isolation: isolate;
  --chat-clear-glass-bg: rgba(255, 255, 255, 0.34);
  --chat-clear-glass-bg-strong: rgba(255, 255, 255, 0.46);
  --chat-clear-glass-border: rgba(255, 255, 255, 0);
  --chat-clear-glass-line: rgba(34, 40, 49, 0.075);
  --chat-clear-glass-shadow: 0 12px 30px rgba(22, 29, 36, 0.055);
  --chat-clear-glass-inset: inset 0 1px 0 rgba(255, 255, 255, 0.20);
  --chat-clear-glass-filter: blur(28px) saturate(1.18);
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
  min-height: 0;
}

.chat-app-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, rgba(74,78,89,0.028) 0 0.62px, transparent 0.72px),
            linear-gradient(rgba(120,130,140,0.018) 1px, transparent 1px);
  background-size: 13px 13px, 44px 44px;
  opacity: 0.64;
}

.chat-app-page.show {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.chat-bottom-dock {
  position: absolute;
  left: 50%;
  bottom: max(28px, calc(env(safe-area-inset-bottom) + 24px));
  z-index: 38;
  width: min(280px, calc(100% - 96px));
  height: 68px;
  padding: 7px;
  display: none;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  justify-items: center;
  gap: 6px;
  border: 1px solid rgba(255, 255, 255, 0.66);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.48);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72), 0 18px 42px rgba(42, 48, 55, 0.10);
  -webkit-backdrop-filter: blur(28px);
  backdrop-filter: blur(28px);
  transform: translateX(-50%);
  pointer-events: auto;
}

.chat-dock-btn {
  position: relative;
  width: 54px;
  height: 54px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  background: transparent;
  color: rgba(91, 101, 113, 0.70);
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  line-height: 1;
  overflow: visible;
  touch-action: manipulation;
  transition: color 0.18s ease, background 0.18s ease, opacity 0.18s ease;
}

.chat-dock-btn.active {
  background: rgba(255, 255, 255, 0.82);
  color: rgba(44, 49, 56, 0.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.88), 0 10px 22px rgba(48, 54, 62, 0.08);
}

.chat-dock-btn:active {
  opacity: 0.62;
}

.chat-dock-btn svg {
  width: 24px;
  height: 24px;
  display: block;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 auto;
  pointer-events: none;
}

.chat-dock-btn svg :where(path, circle, rect, line, polyline, polygon) {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.chat-app-page.offline-open {
  background-color: #FCFBF7;
  background-image: radial-gradient(circle at 12% 18%, rgba(245,245,245,0.72) 0%, rgba(245,245,245,0.22) 32%, transparent 58%),
            radial-gradient(circle at 88% 76%, rgba(230,238,242,0.72) 0%, rgba(230,238,242,0.30) 34%, transparent 62%),
            linear-gradient(135deg, #FCFBF7 0%, #F8F4EF 100%);
}

.chat-app-page input {
  user-select: text;
  -webkit-user-select: text;
  font-family: inherit;
}

.chat-app-page textarea {
  user-select: text;
  -webkit-user-select: text;
  font-family: inherit;
}

.chat-app-page button {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.modal-overlay button {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

#desktopDialogModal button {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.chat-view {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: none;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  scrollbar-width: none;
  padding: max(38px, calc(env(safe-area-inset-top) + 22px)) 24px max(112px, calc(env(safe-area-inset-bottom) + 106px));
}

.chat-view::-webkit-scrollbar {
  display: none;
}

.chat-view.active {
  display: block;
  animation: none;
}

@keyframes chat-soft-enter {
from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); }
}

.chat-news-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 18px;
  padding-top: 4px;
}

.chat-news-tools {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.chat-random-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--chat-line-strong);
  background: rgba(255,255,255,0.72);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #4A4E59;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.82);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  appearance: none;
  -webkit-appearance: none;
}

.chat-news-plus-btn {
  border-radius: 50%;
  border: 1px solid var(--chat-line-strong);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.82);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  appearance: none;
  -webkit-appearance: none;
  width: 44px;
  height: 44px;
  margin-bottom: 0;
  background: rgba(255,255,255,0.38);
  color: #343941;
}

.chat-random-btn svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 1.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.chat-news-plus-btn svg {
  width: 17px;
  height: 17px;
  stroke: currentColor;
  stroke-width: 1.7;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.chat-random-btn:active {
  transform: scale(0.94);
  background: rgba(235,238,242,0.7);
}

.chat-news-plus-btn:active {
  transform: scale(0.94);
  background: rgba(235,238,242,0.7);
}

.chat-empty {
  position: absolute;
  left: 50%;
  top: 52%;
  transform: translate(-50%, -50%);
  width: min(72vw, 270px);
  text-align: center;
  color: #8C95A3;
  font-size: 13px;
  letter-spacing: 0.08em;
  line-height: 1.82;
  background: transparent;
  border: 0;
  box-shadow: none;
  pointer-events: none;
}

.chat-empty strong {
  display: block;
  margin-bottom: 8px;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: 26px;
  line-height: 1;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.04em;
  color: #565D67;
}

.chat-empty span {
  display: block;
  font-size: 12px;
  color: #A0A7B0;
  letter-spacing: 0.10em;
}

.chat-news-list {
  margin-top: 26px;
  display: grid;
  gap: 10px;
  padding-bottom: 18px;
}

.chat-news-card {
  width: 100%;
  min-height: 72px;
  border: 0;
  border-radius: 22px;
  background: rgba(255,255,255,0.48);
  color: #343941;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  text-align: left;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.70), 0 10px 24px rgba(76,72,64,0.045);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.chat-news-card:active {
  transform: translateY(1px);
  opacity: 0.78;
}

.chat-news-avatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #EEF1F3;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(52,57,65,0.44);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
  font-style: italic;
}

.chat-news-avatar.is-group {
  border-radius: 17px;
}

.chat-news-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.chat-news-copy strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 15px;
  line-height: 1.1;
  font-weight: 620;
  color: #303640;
}

.chat-news-copy span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  line-height: 1.15;
  color: #7E8792;
}

.chat-news-time {
  align-self: start;
  padding-top: 2px;
  font-family: "Courier New", Courier, monospace;
  font-size: 9px;
  letter-spacing: 0.08em;
  color: #ADB3BC;
  white-space: nowrap;
}

.chat-npc-view .chat-empty {
  display: none;
}

.chat-npc-view .chat-empty.show {
  display: block;
}

.chat-npc-view #chatNpcEmpty {
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  width: 100%;
  margin: 18px 0 0;
  padding: 10px 0 2px;
}

.chat-npc-view #chatNpcEmpty strong {
  margin-bottom: 10px;
}

.chat-npc-view #chatNpcList.has-items + #chatNpcEmpty {
  display: none;
}

#chatNpcGenerateBtn:disabled {
  opacity: 0.46;
  pointer-events: none;
}

.chat-ta-wrap {
  padding-top: 0;
  margin: -4px -24px 0;
  background: transparent;
}

.chat-browser-tabs {
  position: relative;
  min-height: 44px;
  height: 44px;
  display: flex;
  align-items: flex-end;
  gap: 4px;
  padding: 8px 8px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow-x: auto;
  overflow-y: visible;
  scrollbar-width: none;
  box-shadow: none;
  z-index: 5;
  --chat-tab-strip-bg: transparent;
  --chat-tab-active-bg: #ffffff;
  --chat-tab-rest-bg: transparent;
  --chat-tab-rest-hover: transparent;
  --chat-tab-ink: #4f5964;
  --chat-tab-muted: #68717c;
}

.chat-browser-tabs::-webkit-scrollbar {
  display: none;
}

.chat-browser-tabs::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 0;
  background: var(--chat-tab-strip-bg);
  border-radius: 14px 14px 0 0;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  pointer-events: none;
}

.chat-tabs-dropdown {
  position: relative;
  z-index: 4;
  width: 28px;
  height: 28px;
  margin: 0 2px 5px 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #5f6873;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  cursor: pointer;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  -webkit-tap-highlight-color: transparent;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  transition: background 0.18s ease, color 0.18s ease, opacity 0.18s ease;
}

.chat-tabs-dropdown::after {
  content: none;
}

.chat-tabs-dropdown:active {
  opacity: 0.72;
  background: transparent;
  transform: none;
}

.chat-tabs-dropdown svg {
  position: relative;
  z-index: 1;
  width: 15px;
  height: 15px;
  stroke: currentColor;
  stroke-width: 1.75;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.settings-app-kicker {
  font-size: 10px;
  line-height: 1;
  color: #7F8791;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.settings-entry-subtitle {
  font-size: 10px;
  line-height: 1;
  display: block;
  color: #AAB0BA;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.wb-library-subtitle {
  margin-top: 8px;
  font-size: 10px;
  color: var(--wb-muted);
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.memory-title-button em {
  margin-top: 12px;
  color: var(--chat-muted, #8C95A3);
  font-family: "Courier New", Courier, monospace;
  font-size: 11px;
  line-height: 1;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.messages-subtitle {
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.6;
  color: var(--messages-muted);
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.settings-app-title {
  display: inline-flex;
  align-items: center;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  line-height: 1.04;
  letter-spacing: -0.025em;
  font-weight: 400;
  font-style: italic;
  color: var(--one-quality-soft-ink, #211F1C);
  cursor: pointer;
  text-shadow: none;
  font-size: 30px;
}

.wb-library-title {
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-weight: 400;
  font-style: italic;
  color: var(--wb-ink);
  line-height: 1.04;
  margin: 0;
  letter-spacing: -0.025em;
  font-size: 30px;
}

.memory-title-button span {
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  line-height: 1.02;
  letter-spacing: -0.035em;
  font-style: italic;
  font-weight: 400;
  color: var(--one-quality-soft-ink, #211F1C);
  white-space: nowrap;
  font-size: 30px;
}

.messages-title {
  border: 0;
  background: transparent;
  padding: 0;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  line-height: 1.02;
  letter-spacing: -0.035em;
  font-style: italic;
  font-weight: 400;
  color: var(--one-quality-soft-ink, #211F1C);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  font-size: 30px;
}

body.show-phone-shell :where(#desktop, .settings-app-page, .worldbook-app-page, .chat-app-page, .messages-app-page, .phone-app-page) {
  border-radius: 34px;
}

body.show-phone-shell #onePhoneDesktopHost {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border-radius: inherit;
  background-color: transparent;
}

body.show-phone-shell #desktop {
  position: fixed;
  left: var(--one-shell-stage-center-x, 50%);
  top: var(--one-shell-stage-center-y, 50%);
  right: auto;
  bottom: auto;
  width: var(--one-shell-base-width, 390px);
  height: var(--one-shell-base-height, 912px);
  transform-origin: center center;
  border-radius: 34px;
  overflow: hidden;
  isolation: isolate;
  background-color: transparent;
  background-image: none;
  transform: translate(-50%, -50%) scale(var(--one-shell-content-scale, 1));
}

#onePhoneDesktopHost[data-one-wallpaper="custom"] .one-desktop-default-bg {
  display: none;
}

#onePhoneDesktopHost[data-one-wallpaper="custom"] .one-desktop-inner-shell {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

#onePhoneDesktopHost[data-one-wallpaper="custom"] .one-widget-surface {
  background: rgba(255,255,255,0.38);
  border-color: rgba(255, 255, 255, 0.72);
  box-shadow: none;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

#onePhoneDesktopHost[data-one-wallpaper="custom"] .one-widget-surface:hover {
  background: rgba(255,255,255,0.42);
}

#onePhoneDesktopHost[data-one-wallpaper="custom"] .one-app-icon {
  background: linear-gradient(135deg, rgba(255,255,255,0.36), rgba(246,246,246,0.18));
  border-color: rgba(255, 255, 255, 0.74);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.74), 0 6px 16px rgba(0,0,0,0.045);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

#onePhoneDesktopHost[data-one-wallpaper="custom"] .one-desktop-dock {
  background: rgba(255,255,255,0.38);
  border-color: rgba(255,255,255,0.72);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

#onePhoneDesktopHost[data-one-wallpaper="custom"] .one-desktop-search {
  background: rgba(255,255,255,0.38);
  border-color: rgba(255,255,255,0.72);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

:where(.fas, .fa-solid, .fa-regular) {
  font-family: inherit;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  color: currentColor;
  vertical-align: -0.08em;
  text-rendering: auto;
}

:where(.fas, .fa-solid, .fa-regular)::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: var(--one-fa-mask) center / contain no-repeat;
  mask: var(--one-fa-mask) center / contain no-repeat;
}

.fa-camera {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cpath%20d=%22M149.1%2064.8L138.7%2096%2064%2096C28.7%2096%200%20124.7%200%20160L0%20416c0%2035.3%2028.7%2064%2064%2064l384%200c35.3%200%2064-28.7%2064-64l0-256c0-35.3-28.7-64-64-64l-74.7%200L362.9%2064.8C356.4%2045.2%20338.1%2032%20317.4%2032L194.6%2032c-20.7%200-39%2013.2-45.5%2032.8zM256%20192a96%2096%200%201%201%200%20192%2096%2096%200%201%201%200-192z%22/%3E%3C/svg%3E");
}

.fa-image {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cpath%20d=%22M0%2096C0%2060.7%2028.7%2032%2064%2032l384%200c35.3%200%2064%2028.7%2064%2064l0%20320c0%2035.3-28.7%2064-64%2064L64%20480c-35.3%200-64-28.7-64-64L0%2096zM323.8%20202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4%203.9-19.8%2010.5l-87%20127.6L170.7%20297c-4.6-5.7-11.5-9-18.7-9s-14.2%203.3-18.7%209l-64%2080c-5.8%207.2-6.9%2017.1-2.9%2025.4s12.4%2013.6%2021.6%2013.6l96%200%2032%200%20208%200c8.9%200%2017.1-4.9%2021.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112%20192a48%2048%200%201%200%200-96%2048%2048%200%201%200%200%2096z%22/%3E%3C/svg%3E");
}

.fa-microphone {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20384%20512%22%3E%3Cpath%20d=%22M192%200C139%200%2096%2043%2096%2096l0%20160c0%2053%2043%2096%2096%2096s96-43%2096-96l0-160c0-53-43-96-96-96zM64%20216c0-13.3-10.7-24-24-24s-24%2010.7-24%2024l0%2040c0%2089.1%2066.2%20162.7%20152%20174.4l0%2033.6-48%200c-13.3%200-24%2010.7-24%2024s10.7%2024%2024%2024l72%200%2072%200c13.3%200%2024-10.7%2024-24s-10.7-24-24-24l-48%200%200-33.6c85.8-11.7%20152-85.3%20152-174.4l0-40c0-13.3-10.7-24-24-24s-24%2010.7-24%2024l0%2040c0%2070.7-57.3%20128-128%20128s-128-57.3-128-128l0-40z%22/%3E%3C/svg%3E");
}

.fa-location-dot {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20384%20512%22%3E%3Cpath%20d=%22M215.7%20499.2C267%20435%20384%20279.4%20384%20192C384%2086%20298%200%20192%200S0%2086%200%20192c0%2087.4%20117%20243%20168.3%20307.2c12.3%2015.3%2035.1%2015.3%2047.4%200zM192%20128a64%2064%200%201%201%200%20128%2064%2064%200%201%201%200-128z%22/%3E%3C/svg%3E");
}

.fa-envelope {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cpath%20d=%22M48%2064C21.5%2064%200%2085.5%200%20112c0%2015.1%207.1%2029.3%2019.2%2038.4L236.8%20313.6c11.4%208.5%2027%208.5%2038.4%200L492.8%20150.4c12.1-9.1%2019.2-23.3%2019.2-38.4c0-26.5-21.5-48-48-48L48%2064zM0%20176L0%20384c0%2035.3%2028.7%2064%2064%2064l384%200c35.3%200%2064-28.7%2064-64l0-208L294.4%20339.2c-22.8%2017.1-54%2017.1-76.8%200L0%20176z%22/%3E%3C/svg%3E");
}

.fa-right-left {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cpath%20d=%22M32%2096l320%200%200-64c0-12.9%207.8-24.6%2019.8-29.6s25.7-2.2%2034.9%206.9l96%2096c6%206%209.4%2014.1%209.4%2022.6s-3.4%2016.6-9.4%2022.6l-96%2096c-9.2%209.2-22.9%2011.9-34.9%206.9s-19.8-16.6-19.8-29.6l0-64L32%20160c-17.7%200-32-14.3-32-32s14.3-32%2032-32zM480%20352c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-320%200%200%2064c0%2012.9-7.8%2024.6-19.8%2029.6s-25.7%202.2-34.9-6.9l-96-96c-6-6-9.4-14.1-9.4-22.6s3.4-16.6%209.4-22.6l96-96c9.2-9.2%2022.9-11.9%2034.9-6.9s19.8%2016.6%2019.8%2029.6l0%2064%20320%200z%22/%3E%3C/svg%3E");
}

.fa-video {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20576%20512%22%3E%3Cpath%20d=%22M0%20128C0%2092.7%2028.7%2064%2064%2064l256%200c35.3%200%2064%2028.7%2064%2064l0%20256c0%2035.3-28.7%2064-64%2064L64%20448c-35.3%200-64-28.7-64-64L0%20128zM559.1%2099.8c10.4%205.6%2016.9%2016.4%2016.9%2028.2l0%20256c0%2011.8-6.5%2022.6-16.9%2028.2s-23%205-32.9-1.6l-96-64L416%20337.1l0-17.1%200-128%200-17.1%2014.2-9.5%2096-64c9.8-6.5%2022.4-7.2%2032.9-1.6z%22/%3E%3C/svg%3E");
}

.fa-bag-shopping {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20448%20512%22%3E%3Cpath%20d=%22M160%20112c0-35.3%2028.7-64%2064-64s64%2028.7%2064%2064l0%2048-128%200%200-48zm-48%2048l-64%200c-26.5%200-48%2021.5-48%2048L0%20416c0%2053%2043%2096%2096%2096l256%200c53%200%2096-43%2096-96l0-208c0-26.5-21.5-48-48-48l-64%200%200-48C336%2050.1%20285.9%200%20224%200S112%2050.1%20112%20112l0%2048zm24%2048a24%2024%200%201%201%200%2048%2024%2024%200%201%201%200-48zm152%2024a24%2024%200%201%201%2048%200%2024%2024%200%201%201%20-48%200z%22/%3E%3C/svg%3E");
}

.fa-gift {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cpath%20d=%22M190.5%2068.8L225.3%20128l-1.3%200-72%200c-22.1%200-40-17.9-40-40s17.9-40%2040-40l2.2%200c14.9%200%2028.8%207.9%2036.3%2020.8zM64%2088c0%2014.4%203.5%2028%209.6%2040L32%20128c-17.7%200-32%2014.3-32%2032l0%2064c0%2017.7%2014.3%2032%2032%2032l448%200c17.7%200%2032-14.3%2032-32l0-64c0-17.7-14.3-32-32-32l-41.6%200c6.1-12%209.6-25.6%209.6-40c0-48.6-39.4-88-88-88l-2.2%200c-31.9%200-61.5%2016.9-77.7%2044.4L256%2085.5l-24.1-41C215.7%2016.9%20186.1%200%20154.2%200L152%200C103.4%200%2064%2039.4%2064%2088zm336%200c0%2022.1-17.9%2040-40%2040l-72%200-1.3%200%2034.8-59.2C329.1%2055.9%20342.9%2048%20357.8%2048l2.2%200c22.1%200%2040%2017.9%2040%2040zM32%20288l0%20176c0%2026.5%2021.5%2048%2048%2048l144%200%200-224L32%20288zM288%20512l144%200c26.5%200%2048-21.5%2048-48l0-176-192%200%200%20224z%22/%3E%3C/svg%3E");
}

.fa-house-chimney {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20576%20512%22%3E%3Cpath%20d=%22M543.8%20287.6c17%200%2032-14%2032-32.1c1-9-3-17-11-24L512%20185l0-121c0-17.7-14.3-32-32-32l-32%200c-17.7%200-32%2014.3-32%2032l0%2036.7L309.5%207c-6-5-14-7-21-7s-15%201-22%208L10%20231.5c-7%207-10%2015-10%2024c0%2018%2014%2032.1%2032%2032.1l32%200%200%2069.7c-.1%20.9-.1%201.8-.1%202.8l0%20112c0%2022.1%2017.9%2040%2040%2040l16%200c1.2%200%202.4-.1%203.6-.2c1.5%20.1%203%20.2%204.5%20.2l31.9%200%2024%200c22.1%200%2040-17.9%2040-40l0-24%200-64c0-17.7%2014.3-32%2032-32l64%200c17.7%200%2032%2014.3%2032%2032l0%2064%200%2024c0%2022.1%2017.9%2040%2040%2040l24%200%2032.5%200c1.4%200%202.8%200%204.2-.1c1.1%20.1%202.2%20.1%203.3%20.1l16%200c22.1%200%2040-17.9%2040-40l0-16.2c.3-2.6%20.5-5.3%20.5-8.1l-.7-160.2%2032%200z%22/%3E%3C/svg%3E");
}

.fa-box-archive {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cpath%20d=%22M32%2032l448%200c17.7%200%2032%2014.3%2032%2032l0%2032c0%2017.7-14.3%2032-32%2032L32%20128C14.3%20128%200%20113.7%200%2096L0%2064C0%2046.3%2014.3%2032%2032%2032zm0%20128l448%200%200%20256c0%2035.3-28.7%2064-64%2064L96%20480c-35.3%200-64-28.7-64-64l0-256zm128%2080c0%208.8%207.2%2016%2016%2016l160%200c8.8%200%2016-7.2%2016-16s-7.2-16-16-16l-160%200c-8.8%200-16%207.2-16%2016z%22/%3E%3C/svg%3E");
}

.fa-clock {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cpath%20d=%22M256%200a256%20256%200%201%201%200%20512A256%20256%200%201%201%20256%200zM232%20120l0%20136c0%208%204%2015.5%2010.7%2020l96%2064c11%207.4%2025.9%204.4%2033.3-6.7s4.4-25.9-6.7-33.3L280%20243.2%20280%20120c0-13.3-10.7-24-24-24s-24%2010.7-24%2024z%22/%3E%3C/svg%3E");
}

.fa-circle-play {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cpath%20d=%22M0%20256a256%20256%200%201%201%20512%200A256%20256%200%201%201%200%20256zM188.3%20147.1c-7.6%204.2-12.3%2012.3-12.3%2020.9l0%20176c0%208.7%204.7%2016.7%2012.3%2020.9s16.8%204.1%2024.3-.5l144-88c7.1-4.4%2011.5-12.1%2011.5-20.5s-4.4-16.1-11.5-20.5l-144-88c-7.4-4.5-16.7-4.7-24.3-.5z%22/%3E%3C/svg%3E");
}

.fa-headphones {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cpath%20d=%22M256%2080C149.9%2080%2062.4%20159.4%2049.6%20262c9.4-3.8%2019.6-6%2030.4-6c26.5%200%2048%2021.5%2048%2048l0%20128c0%2026.5-21.5%2048-48%2048c-44.2%200-80-35.8-80-80l0-16%200-48%200-48C0%20146.6%20114.6%2032%20256%2032s256%20114.6%20256%20256l0%2048%200%2048%200%2016c0%2044.2-35.8%2080-80%2080c-26.5%200-48-21.5-48-48l0-128c0-26.5%2021.5-48%2048-48c10.8%200%2021%202.1%2030.4%206C449.6%20159.4%20362.1%2080%20256%2080z%22/%3E%3C/svg%3E");
}

.fa-gavel {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cpath%20d=%22M318.6%209.4c-12.5-12.5-32.8-12.5-45.3%200l-120%20120c-12.5%2012.5-12.5%2032.8%200%2045.3l16%2016c12.5%2012.5%2032.8%2012.5%2045.3%200l4-4L325.4%20293.4l-4%204c-12.5%2012.5-12.5%2032.8%200%2045.3l16%2016c12.5%2012.5%2032.8%2012.5%2045.3%200l120-120c12.5-12.5%2012.5-32.8%200-45.3l-16-16c-12.5-12.5-32.8-12.5-45.3%200l-4%204L330.6%2074.6l4-4c12.5-12.5%2012.5-32.8%200-45.3l-16-16zm-152%20288c-12.5-12.5-32.8-12.5-45.3%200l-112%20112c-12.5%2012.5-12.5%2032.8%200%2045.3l48%2048c12.5%2012.5%2032.8%2012.5%2045.3%200l112-112c12.5-12.5%2012.5-32.8%200-45.3l-1.4-1.4L272%20285.3%20226.7%20240%20168%20298.7l-1.4-1.4z%22/%3E%3C/svg%3E");
}

.fa-paw {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cpath%20d=%22M226.5%2092.9c14.3%2042.9-.3%2086.2-32.6%2096.8s-70.1-15.6-84.4-58.5s.3-86.2%2032.6-96.8s70.1%2015.6%2084.4%2058.5zM100.4%20198.6c18.9%2032.4%2014.3%2070.1-10.2%2084.1s-59.7-.9-78.5-33.3S-2.7%20179.3%2021.8%20165.3s59.7%20.9%2078.5%2033.3zM69.2%20401.2C121.6%20259.9%20214.7%20224%20256%20224s134.4%2035.9%20186.8%20177.2c3.6%209.7%205.2%2020.1%205.2%2030.5l0%201.6c0%2025.8-20.9%2046.7-46.7%2046.7c-11.5%200-22.9-1.4-34-4.2l-88-22c-15.3-3.8-31.3-3.8-46.6%200l-88%2022c-11.1%202.8-22.5%204.2-34%204.2C84.9%20480%2064%20459.1%2064%20433.3l0-1.6c0-10.4%201.6-20.8%205.2-30.5zM421.8%20282.7c-24.5-14-29.1-51.7-10.2-84.1s54-47.3%2078.5-33.3s29.1%2051.7%2010.2%2084.1s-54%2047.3-78.5%2033.3zM310.1%20189.7c-32.3-10.6-46.9-53.9-32.6-96.8s52.1-69.1%2084.4-58.5s46.9%2053.9%2032.6%2096.8s-52.1%2069.1-84.4%2058.5z%22/%3E%3C/svg%3E");
}

.fa-dice {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20512%22%3E%3Cpath%20d=%22M274.9%2034.3c-28.1-28.1-73.7-28.1-101.8%200L34.3%20173.1c-28.1%2028.1-28.1%2073.7%200%20101.8L173.1%20413.7c28.1%2028.1%2073.7%2028.1%20101.8%200L413.7%20274.9c28.1-28.1%2028.1-73.7%200-101.8L274.9%2034.3zM200%20224a24%2024%200%201%201%2048%200%2024%2024%200%201%201%20-48%200zM96%20200a24%2024%200%201%201%200%2048%2024%2024%200%201%201%200-48zM224%20376a24%2024%200%201%201%200-48%2024%2024%200%201%201%200%2048zM352%20200a24%2024%200%201%201%200%2048%2024%2024%200%201%201%200-48zM224%20120a24%2024%200%201%201%200-48%2024%2024%200%201%201%200%2048zm96%20328c0%2035.3%2028.7%2064%2064%2064l192%200c35.3%200%2064-28.7%2064-64l0-192c0-35.3-28.7-64-64-64l-114.3%200c11.6%2036%203.1%2077-25.4%20105.5L320%20413.8l0%2034.2zM480%20328a24%2024%200%201%201%200%2048%2024%2024%200%201%201%200-48z%22/%3E%3C/svg%3E");
}

.fa-mobile-screen-button {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20384%20512%22%3E%3Cpath%20d=%22M16%2064C16%2028.7%2044.7%200%2080%200L304%200c35.3%200%2064%2028.7%2064%2064l0%20384c0%2035.3-28.7%2064-64%2064L80%20512c-35.3%200-64-28.7-64-64L16%2064zM224%20448a32%2032%200%201%200%20-64%200%2032%2032%200%201%200%2064%200zM304%2064L80%2064l0%20320%20224%200%200-320z%22/%3E%3C/svg%3E");
}

.fa-key {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cpath%20d=%22M336%20352c97.2%200%20176-78.8%20176-176S433.2%200%20336%200S160%2078.8%20160%20176c0%2018.7%202.9%2036.8%208.3%2053.7L7%20391c-4.5%204.5-7%2010.6-7%2017l0%2080c0%2013.3%2010.7%2024%2024%2024l80%200c13.3%200%2024-10.7%2024-24l0-40%2040%200c13.3%200%2024-10.7%2024-24l0-40%2040%200c6.4%200%2012.5-2.5%2017-7l33.3-33.3c16.9%205.4%2035%208.3%2053.7%208.3zM376%2096a40%2040%200%201%201%200%2080%2040%2040%200%201%201%200-80z%22/%3E%3C/svg%3E");
}

.fa-user-secret {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20448%20512%22%3E%3Cpath%20d=%22M224%2016c-6.7%200-10.8-2.8-15.5-6.1C201.9%205.4%20194%200%20176%200c-30.5%200-52%2043.7-66%2089.4C62.7%2098.1%2032%20112.2%2032%20128c0%2014.3%2025%2027.1%2064.6%2035.9c-.4%204-.6%208-.6%2012.1c0%2017%203.3%2033.2%209.3%2048l-59.9%200C38%20224%2032%20230%2032%20237.4c0%201.7%20.3%203.4%201%205l38.8%2096.9C28.2%20371.8%200%20423.8%200%20482.3C0%20498.7%2013.3%20512%2029.7%20512l388.6%200c16.4%200%2029.7-13.3%2029.7-29.7c0-58.5-28.2-110.4-71.7-143L415%20242.4c.6-1.6%201-3.3%201-5c0-7.4-6-13.4-13.4-13.4l-59.9%200c6-14.8%209.3-31%209.3-48c0-4.1-.2-8.1-.6-12.1C391%20155.1%20416%20142.3%20416%20128c0-15.8-30.7-29.9-78-38.6C324%2043.7%20302.5%200%20272%200c-18%200-25.9%205.4-32.5%209.9c-4.8%203.3-8.8%206.1-15.5%206.1zm56%20208l-12.4%200c-16.5%200-31.1-10.6-36.3-26.2c-2.3-7-12.2-7-14.5%200c-5.2%2015.6-19.9%2026.2-36.3%2026.2L168%20224c-22.1%200-40-17.9-40-40l0-14.4c28.2%204.1%2061%206.4%2096%206.4s67.8-2.3%2096-6.4l0%2014.4c0%2022.1-17.9%2040-40%2040zm-88%2096l16%2032L176%20480%20128%20288l64%2032zm128-32L272%20480%20240%20352l16-32%2064-32z%22/%3E%3C/svg%3E");
}

.fa-paper-plane {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cpath%20d=%22M498.1%205.6c10.1%207%2015.4%2019.1%2013.5%2031.2l-64%20416c-1.5%209.7-7.4%2018.2-16%2023s-18.9%205.4-28%201.6L284%20427.7l-68.5%2074.1c-8.9%209.7-22.9%2012.9-35.2%208.1S160%20493.2%20160%20480l0-83.6c0-4%201.5-7.8%204.2-10.8L331.8%20202.8c5.8-6.3%205.6-16-.4-22s-15.7-6.4-22-.7L106%20360.8%2017.7%20316.6C7.1%20311.3%20.3%20300.7%200%20288.9s5.9-22.8%2016.1-28.7l448-256c10.7-6.1%2023.9-5.5%2034%201.4z%22/%3E%3C/svg%3E");
}

.fa-gear {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cpath%20d=%22M495.9%20166.6c3.2%208.7%20.5%2018.4-6.4%2024.6l-43.3%2039.4c1.1%208.3%201.7%2016.8%201.7%2025.4s-.6%2017.1-1.7%2025.4l43.3%2039.4c6.9%206.2%209.6%2015.9%206.4%2024.6c-4.4%2011.9-9.7%2023.3-15.8%2034.3l-4.7%208.1c-6.6%2011-14%2021.4-22.1%2031.2c-5.9%207.2-15.7%209.6-24.5%206.8l-55.7-17.7c-13.4%2010.3-28.2%2018.9-44%2025.4l-12.5%2057.1c-2%209.1-9%2016.3-18.2%2017.8c-13.8%202.3-28%203.5-42.5%203.5s-28.7-1.2-42.5-3.5c-9.2-1.5-16.2-8.7-18.2-17.8l-12.5-57.1c-15.8-6.5-30.6-15.1-44-25.4L83.1%20425.9c-8.8%202.8-18.6%20.3-24.5-6.8c-8.1-9.8-15.5-20.2-22.1-31.2l-4.7-8.1c-6.1-11-11.4-22.4-15.8-34.3c-3.2-8.7-.5-18.4%206.4-24.6l43.3-39.4C64.6%20273.1%2064%20264.6%2064%20256s.6-17.1%201.7-25.4L22.4%20191.2c-6.9-6.2-9.6-15.9-6.4-24.6c4.4-11.9%209.7-23.3%2015.8-34.3l4.7-8.1c6.6-11%2014-21.4%2022.1-31.2c5.9-7.2%2015.7-9.6%2024.5-6.8l55.7%2017.7c13.4-10.3%2028.2-18.9%2044-25.4l12.5-57.1c2-9.1%209-16.3%2018.2-17.8C227.3%201.2%20241.5%200%20256%200s28.7%201.2%2042.5%203.5c9.2%201.5%2016.2%208.7%2018.2%2017.8l12.5%2057.1c15.8%206.5%2030.6%2015.1%2044%2025.4l55.7-17.7c8.8-2.8%2018.6-.3%2024.5%206.8c8.1%209.8%2015.5%2020.2%2022.1%2031.2l4.7%208.1c6.1%2011%2011.4%2022.4%2015.8%2034.3zM256%20336a80%2080%200%201%200%200-160%2080%2080%200%201%200%200%20160z%22/%3E%3C/svg%3E");
}

.fa-stop {
  --one-fa-mask: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20384%20512%22%3E%3Cpath%20d=%22M0%20128C0%2092.7%2028.7%2064%2064%2064H320c35.3%200%2064%2028.7%2064%2064V384c0%2035.3-28.7%2064-64%2064H64c-35.3%200-64-28.7-64-64V128z%22/%3E%3C/svg%3E");
}

.memory-search-panel {
  margin: 0 0 14px;
  transform-origin: top center;
  animation: wb-soft-up 0.22s ease both;
  grid-template-columns: 16px minmax(0, 1fr);
  row-gap: 6px;
}

.memory-search-hint {
  grid-column: 1 / -1;
  margin: -2px 0 2px 26px;
  color: rgba(92, 99, 108, 0.56);
  font-size: 10.5px;
  line-height: 1.55;
  letter-spacing: 0.035em;
}

.memory-entry-editor-page[hidden] {
  display: none;
}

.memory-entry-editor-page {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  flex-direction: column;
  gap: 18px;
  padding: 10px 0 max(34px, calc(env(safe-area-inset-bottom) + 24px));
  animation: wb-soft-up 0.24s ease both;
}

.memory-entry-editor-back {
  align-self: flex-start;
  border: 0;
  border-bottom: 1px solid rgba(49, 52, 58, 0.38);
  border-radius: 0;
  padding: 0 0 3px;
  background: transparent;
  color: rgba(49, 52, 58, 0.66);
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.13em;
  cursor: pointer;
}

.memory-entry-editor-head {
  display: grid;
  gap: 8px;
  padding: 6px 0 12px;
  border-bottom: 1px solid rgba(48, 49, 55, 0.08);
}

.memory-entry-editor-head span {
  color: rgba(112, 120, 129, 0.70);
  font-family: "Courier New", Courier, monospace;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.memory-entry-editor-head h3 {
  margin: 0;
  color: #2F333A;
  font-family: Georgia, "Times New Roman", "Songti SC", serif;
  font-size: clamp(30px, 9vw, 38px);
  line-height: 0.96;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.035em;
}

.memory-entry-editor-head p {
  margin: 0;
  max-width: 31em;
  color: rgba(78, 84, 94, 0.66);
  font-size: 11px;
  line-height: 1.72;
  letter-spacing: 0.035em;
}

.memory-settings-prompt {
  min-height: 132px;
  resize: vertical;
}

.memory-entry-editor-textarea {
  min-height: 132px;
  resize: vertical;
  flex: 1 1 auto;
  background: rgba(255, 255, 255, 0.45);
}

.memory-entry-editor-textarea[readonly] {
  color: rgba(72, 78, 86, 0.62);
  background: rgba(247, 248, 249, 0.62);
}

.memory-entry-editor-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: auto;
}

.memory-entry-editor-actions button {
  min-height: 46px;
  border-radius: 0;
  letter-spacing: 0.11em;
}

.memory-entry-editor-actions .btn-cancel {
  color: #9E5D5D;
  background: rgba(255,255,255,0.76);
  box-shadow: inset 0 0 0 1px rgba(158,93,93,0.10);
}

.memory-settings-user-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.memory-settings-user-actions button {
  min-height: 42px;
  border: 0;
  border-bottom: 1px solid rgba(48,49,55,0.14);
  border-radius: 0;
  background: transparent;
  color: rgba(47,52,59,0.82);
  font-size: 12px;
  letter-spacing: 0.10em;
}

.memory-settings-user-actions .memory-danger-action {
  color: #9E5D5D;
}

.memory-settings-panel .memory-unified-grid[hidden] {
  display: none;
}

.memory-settings-panel .memory-unified-detail[hidden] {
  display: none;
}

.memory-settings-panel .memory-source-overview[hidden] {
  display: none;
}

.memory-feature-grid[hidden] {
  display: none;
}

.memory-console .memory-timeline-panel[hidden] {
  display: none;
}

.memory-group-tabs[hidden] {
  display: none;
}

.memory-persona-panel {
  position: relative;
  margin: 12px 0 14px;
  padding: 16px 16px 14px;
  border: 1px solid rgba(44, 49, 55, .08);
  background: rgba(255, 255, 255, .66);
  box-shadow: 0 16px 38px rgba(28, 31, 36, .045);
  backdrop-filter: blur(18px);
}

.memory-persona-head h3 {
  margin: 2px 0 0;
  font-size: 18px;
  letter-spacing: .02em;
  font-weight: 500;
  color: #24282D;
}

.memory-persona-intro {
  margin: 10px 0 13px;
  color: rgba(44, 49, 55, .55);
  font-size: 11px;
  line-height: 1.75;
  letter-spacing: .04em;
}

.memory-persona-list {
  display: grid;
  gap: 8px;
}

.memory-persona-row {
  width: 100%;
  border: 0;
  border-top: 1px solid rgba(44, 49, 55, .08);
  background: transparent;
  padding: 10px 0 0;
  display: grid;
  grid-template-columns: minmax(76px, .34fr) minmax(0, 1fr);
  gap: 12px;
  text-align: left;
  color: inherit;
}

.memory-persona-row:first-child {
  border-top: 0;
  padding-top: 0;
}

.memory-persona-row strong {
  display: block;
  color: #252A30;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .14em;
}

.memory-persona-row small {
  display: block;
  margin-top: 4px;
  color: rgba(44, 49, 55, .38);
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.memory-persona-row span {
  color: rgba(35, 40, 46, .72);
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: .03em;
}

.memory-persona-empty {
  padding: 10px 0 2px;
  color: rgba(44, 49, 55, .42);
  font-size: 11px;
  letter-spacing: .04em;
  line-height: 1.8;
}

.memory-entry-editor-page .memory-manual-select {
  width: 100%;
}

.memory-manual-grid .memory-manual-select {
  width: 100%;
}

