/* One panel occupies the full content width in every Notebook view. */
#notes-view > .notes-grid, #tasks-view > .tasks-grid, #shopping-view > .sync-grid { grid-template-columns: minmax(0, 1fr); width: 100%; }
#notes-view .note-list-panel, #tasks-view .task-list-panel, #shopping-view .shopping-panel { min-width: 0; width: 100%; box-sizing: border-box; }
/* Old -18px card-header margins overflow the newer 16px full-screen padding. */
body .create-modal > .panel-head, body .theme-panel > .panel-head,
body .task-edit-panel > .panel-head, body .move-task-panel > .panel-head {
  margin: 0 0 14px !important; top: 0 !important; border-radius: 12px !important;
}
/* Shared wallet cards already fill the viewport here; remove their parent's old 520px cap. */
body .bp-wallet-modal > .bp-wallet-stack { width: 100% !important; max-width: none !important; min-width: 0; }

/* A separate compact row preserves the four existing header controls. */
.app-header .header-meta { min-width: 0; }
@media(min-width:1101px) {
  .app-header .header-meta { width: 380px; flex: 0 0 380px; }
  .app-header .logo-section { min-width: 0; flex: 1; }
}
#vibe-button { grid-column: 1 / -1; width: 100%; min-width: 0; box-sizing: border-box; display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; align-items: center; padding: 10px 12px; border: 1px solid #ffd86b50; border-radius: 14px; background: linear-gradient(120deg,#ffd86b14,#55d7ff0e); color: inherit; font: inherit; cursor: pointer; text-align: right; }
#vibe-button .vibe-label { font-size: 12px; color: #ffe5a0; }
#vibe-summary { text-align: left; font-size: 14px; }
#vibe-meaning { min-width: 0; font-size: 11px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
#vibe-button small { text-align: left; font-size: 10px; opacity: .8; }
#vibe-button:focus-visible, .vibe-modal :focus-visible { outline: 2px solid #ffd86b; outline-offset: 3px; }
body #vibe-modal { position: fixed; inset: 0; margin: 0; width: 100%; max-width: none; height: calc(100dvh - var(--keyboard-offset, 0px)); max-height: calc(100dvh - var(--keyboard-offset, 0px)); box-sizing: border-box; padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)); border: 0; border-radius: 0; overflow: auto; overscroll-behavior: contain; color: #edf3ff; background: radial-gradient(ellipse at 15% 0%,#29456566,transparent 45%),radial-gradient(ellipse at 95% 25%,#805f2033,transparent 40%),#0b1221; font: inherit; line-height: 1.9; }
#vibe-modal::backdrop { background: #020612cc; }
.vibe-shell { max-width: 1120px; margin-inline: auto; min-width: 0; }
.vibe-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.vibe-top h2 { margin: 2px 0; color: #ffe7aa; font-size: 24px; }
.vibe-top small { color: #aebdd2; }
#vibe-close { min-height: 44px; flex: 0 0 auto; }
.vibe-hero { border: 1px solid #ffd86b40; border-radius: 24px; padding: 26px 18px; text-align: center; background: linear-gradient(135deg,#ffeab510,#55d7ff0b); }
.vibe-hero > span { color: #b9cbe2; font-size: 13px; }
#vibe-number { display: block; font-size: clamp(54px,10vw,88px); color: #ffdf8f; line-height: 1.3; }
#vibe-identity { color: #84e2ed; font-weight: bold; margin: 8px 0; }
#vibe-full-meaning { max-width: 800px; margin: 12px auto; }
#vibe-date { color: #b5c5d9; }
.vibe-message { padding: 20px; margin: 18px 0; border-inline-start: 3px solid #ffd86b; border-radius: 12px; background: #ffd86b0c; color: #f7e8bd; }
.vibe-explainer { font-size: 12px; color: #b2c4d9; }
.vibe-calculator { margin: 22px 0; }
.vibe-calculator h3 { color: #ffe5a0; margin-top: 0; }
.vibe-input-row { display: flex; gap: 10px; margin: 8px 0 12px; }
#vibe-input { flex: 1; min-width: 0; width: 100%; font: inherit; font-size: 16px; padding: 12px; border: 1px solid #ffffff35; border-radius: 12px; background: #060d19; color: #fff; }
.vibe-input-row button { flex: 0 0 auto; min-height: 44px; }
#vibe-calc-help { display: block; color: #b5c5d9; font-size: 12px; }
#vibe-result:not(:empty) { padding: 18px; margin-top: 18px; border: 1px solid #55d7ff35; border-radius: 14px; background: #55d7ff08; overflow-wrap: anywhere; }
#vibe-result strong { color: #ffe5a0; }
.vibe-reference { margin: 14px 0; }
.vibe-reference summary { cursor: pointer; color: #d8e8fb; min-height: 30px; }
.vibe-symbol-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.vibe-symbol-grid article { padding: 14px; border: 1px solid #ffffff15; border-radius: 12px; }
.vibe-symbol-grid strong { color: #9be3f1; }.vibe-symbol-grid p { margin-bottom: 0; font-size: 13px; }
.vibe-symbol-grid .vibe-current { border-color: #ffd86b; background: #ffd86b0c; }
@media(max-width:600px) { .vibe-symbol-grid { grid-template-columns: minmax(0,1fr); } .vibe-top h2 { font-size: 21px; } .vibe-calculator { padding: 14px; } .vibe-input-row { flex-wrap: wrap; } .vibe-input-row button { width: 100%; } .vibe-hero { padding: 20px 14px; } }

/* Scoped typography: use the Persian font already hosted by Notebook. */
body #vibe-button, body #vibe-modal {
  font-family: 'Vazirmatn', Tahoma, sans-serif;
  font-weight: 400;
  font-synthesis: none;
  letter-spacing: normal;
  line-height: 1.85;
  direction: rtl;
}
#vibe-modal button, #vibe-modal input { font-family: inherit; }
#vibe-button { gap: 5px 10px; padding: 11px 14px; }
#vibe-button .vibe-label { font-size: 14px; font-weight: 600; }
#vibe-summary { font-size: 15px; font-weight: 700; unicode-bidi: plaintext; }
#vibe-meaning { font-size: 12px; line-height: 1.9; }
#vibe-button small { font-size: 11px; color: #d8e8fb; opacity: 1; }
body #vibe-modal { font-size: 15px; }
.vibe-top h2 { font-size: 26px; font-weight: 700; line-height: 1.7; }
#vibe-number { font-weight: 700; line-height: 1.55; padding-block: 4px; }
#vibe-identity { font-size: 16px; font-weight: 600; line-height: 2; text-wrap: balance; }
#vibe-full-meaning { font-size: 15px; line-height: 2.1; }
#vibe-date { font-size: 12px; }
.vibe-calculator, .vibe-reference { border: 1px solid #ffffff20; border-radius: 18px; padding: 20px; background: #ffffff04; min-width: 0; }
.vibe-calculator .vibe-calculator-title { font-family: Arial, sans-serif; font-size: 23px; font-weight: 700; letter-spacing: .1em; text-align: right; margin: 0 0 10px; }
.vibe-table-title { font-size: 18px; font-weight: 700; }
.vibe-table-subtitle { display: block; font-size: 13px; font-weight: 400; line-height: 2; color: #b5c5d9; margin-top: 5px; }
.vibe-table-mansion { display: block; margin-top: 8px; font-size: 12px; color: #c6d4e6; }
.vibe-symbol-grid strong { font-size: 16px; font-weight: 600; }
.vibe-symbol-grid p { font-size: 14px; line-height: 2; }
@media(max-width:600px) {
  #vibe-button { gap: 4px 8px; padding: 10px 12px; }
  #vibe-button .vibe-label { font-size: 13px; }
  #vibe-summary { font-size: 14px; }
  #vibe-identity { font-size: 14px; }
  .vibe-calculator, .vibe-reference { padding: 15px; }
}
