@font-face {font-family: 'JetBrains Mono';font-style: normal;font-weight: 400;font-display: swap;src: url('../fonts/JetBrainsMono-Regular.woff2') format('woff2');}@font-face {font-family: 'Lohit Devanagari';font-style: normal;font-weight: 400;font-display: swap;src: url('../fonts/LohitDevanagari-Regular.woff2') format('woff2');unicode-range: U+0900-097F, U+A8E0-A8FF, U+1CD0-1CFF, U+200C-200D, U+20B9;}:root {/* yopatro a11y: Glance uses 10px root for easy rem math, but thatmakes `0.9rem` body text render at 9px on desktop — below WCAG's15-16px recommendation. Raising the root scales every`rem`-based widget proportionally. Fixed-px values (widgetpadding, borders) stay put. */font-size: 12px;--scheme: ;--bgh: 240;--bgs: 8%;--bgl: 9%;--bghs: var(--bgh), var(--bgs);--cm: 1;--tsm: 1;--widget-gap: 23px;--widget-content-vertical-padding: 15px;--widget-content-horizontal-padding: 17px;--widget-content-padding: var(--widget-content-vertical-padding) var(--widget-content-horizontal-padding);--content-bounds-padding: 15px;--border-radius: 5px;--mobile-navigation-height: 50px;--color-primary: hsl(43, 50%, 70%);--color-positive: var(--color-primary);--color-negative: hsl(0, 70%, 70%);--color-background: hsl(var(--bghs), var(--bgl));--color-widget-background-hsl-values: var(--bghs), calc(var(--bgl) + 1%);--color-widget-background: hsl(var(--color-widget-background-hsl-values));--color-separator: hsl(var(--bghs), calc(var(--scheme) ((var(--scheme) var(--bgl)) + 4% * var(--cm))));--color-widget-content-border: hsl(var(--bghs), calc(var(--scheme) (var(--scheme) var(--bgl) + 4%)));--color-widget-background-highlight: hsl(var(--bghs), calc(var(--scheme) (var(--scheme) var(--bgl) + 4%)));--color-popover-background: hsl(var(--bgh), calc(var(--bgs) + 3%), calc(var(--bgl) + 3%));--color-popover-border: hsl(var(--bghs), calc(var(--scheme) (var(--scheme) var(--bgl) + 12%)));--color-progress-border: hsl(var(--bghs), calc(var(--scheme) ((var(--scheme) var(--bgl)) + 10% * var(--cm))));--color-progress-value: hsl(var(--bgh), calc(var(--bgs) * var(--tsm)), calc(var(--scheme) ((var(--scheme) var(--bgl)) + 26% * var(--cm))));--color-vertical-progress-value: hsl(var(--bgh), calc(var(--bgs) * var(--tsm)), calc(var(--scheme) ((var(--scheme) var(--bgl)) + 28% * var(--cm))));--color-graph-gridlines: hsl(var(--bghs), calc(var(--scheme) ((var(--scheme) var(--bgl)) + 6% * var(--cm))));--ths: var(--bgh), calc(var(--bgs) * var(--tsm));--color-text-highlight: hsl(var(--ths), calc(var(--scheme) var(--cm) * 85%));--color-text-paragraph: hsl(var(--ths), calc(var(--scheme) var(--cm) * 73%));--color-text-base: hsl(var(--ths), calc(var(--scheme) var(--cm) * 58%));--color-text-base-muted: hsl(var(--ths), calc(var(--scheme) var(--cm) * 52%));--color-text-subdue: hsl(var(--ths), calc(var(--scheme) var(--cm) * 35%));--font-size-h1: 1.7rem;--font-size-h2: 1.6rem;--font-size-h3: 1.5rem;--font-size-h4: 1.4rem;--font-size-base: 1.3rem;--font-size-h5: 1.2rem;--font-size-h6: 1.1rem;}:root[data-scheme=light] {--scheme: 100% -;}.page {height: 100%;padding-block: var(--widget-gap);}.page-content, .page.content-ready .page-loading-container {display: none;}.page.content-ready > .page-content {display: block;animation: pageContentEntrance .3s cubic-bezier(0.25, 1, 0.5, 1) backwards;}.page-column-small .size-title-dynamic {font-size: var(--font-size-h4);}.page-column-full .size-title-dynamic {font-size: var(--font-size-h3);}pre {font: inherit;}input[type="text"] {width: 100%;border: 0;background: none;font: inherit;color: inherit;}button {font: inherit;border: 0;cursor: pointer;background: none;color: inherit;}::selection {background-color: hsl(var(--bghs), calc(var(--scheme) (var(--scheme) var(--bgl) + 20%)));color: var(--color-text-highlight);}::-webkit-scrollbar-thumb {background: var(--color-text-subdue);border-radius: var(--border-radius);}::-webkit-scrollbar {background: var(--color-background);height: 5px;width: 10px;}*:focus-visible {outline: 2px solid var(--color-primary);outline-offset: 0.1rem;border-radius: var(--border-radius);}*, *::before, *::after {box-sizing: border-box;}* {padding: 0;margin: 0;}hr {border: 0;height: 1px;background-color: var(--color-separator);}img, svg {display: block;max-width: 100%;}img[loading=lazy].loaded:not(.finished-transition) {transition: opacity .4s;}img[loading=lazy].cached:not(.finished-transition) {transition: none;}img[loading=lazy]:not(.loaded, .cached) {opacity: 0;}html {scrollbar-color: var(--color-text-subdue) transparent;scroll-behavior: smooth;}html, body, .body-content {height: 100%;}h1, h2, h3, h4, h5 {font: inherit;}a {text-decoration: none;color: inherit;overflow-wrap: break-word;}ul {list-style: none;}body {font-size: 1.3rem;font-family: 'JetBrains Mono', monospace;font-variant-ligatures: none;line-height: 1.6;color: var(--color-text-base);background-color: var(--color-background);overflow-y: scroll;}.page-column-small {width: 300px;flex-shrink: 0;}.page-column-full {width: 100%;min-width: 0;}.page-columns {display: flex;gap: var(--widget-gap);}@keyframes pageContentEntrance {from {opacity: 0;transform: translateY(10px);}}.page-loading-container {height: 100%;display: flex;align-items: center;justify-content: center;animation: loadingContainerEntrance 200ms backwards;animation-delay: 150ms;font-size: 2rem;}.page-loading-container > .loading-icon {translate: 0 -250%;}@keyframes loadingContainerEntrance {from {opacity: 0.001;}}.loading-icon {min-width: 1.5em;width: 1.5em;height: 1.5em;border: 0.25em solid hsl(var(--bghs), calc(var(--scheme) ((var(--scheme) var(--bgl)) + 12%)));border-top-color: hsl(var(--bghs), calc(var(--scheme) ((var(--scheme) var(--bgl)) + 40%)));border-radius: 50%;animation: loadingIconSpin 800ms infinite linear;}@keyframes loadingIconSpin {to {transform: rotate(360deg);}}.notice-icon {width: 0.7rem;height: 0.7rem;border-radius: 50%;}.notice-icon-major {background: var(--color-negative);}.notice-icon-minor {border: 1px solid var(--color-negative);}kbd {font: inherit;padding: 0.1rem 0.8rem;border-radius: var(--border-radius);border: 2px solid var(--color-widget-background-highlight);box-shadow: 0 2px 0 var(--color-widget-background-highlight);user-select: none;transition: transform .1s, box-shadow .1s;font-size: var(--font-size-h5);cursor: pointer;}kbd:active {transform: translateY(2px);box-shadow: 0 0 0 0 var(--color-widget-background-highlight);}.content-bounds {max-width: 1600px;width: 100%;margin-inline: auto;padding: 0 var(--content-bounds-padding);}.content-bounds-wide {max-width: 1920px;}.content-bounds-slim {max-width: 1100px;}.page.center-vertically {display: flex;justify-content: center;flex-direction: column;}.header-container {margin-top: calc(var(--widget-gap) / 2);--header-height: 45px;--header-items-gap: 2.5rem;}.header {display: flex;height: var(--header-height);gap: var(--header-items-gap);}.logo {height: 100%;flex-shrink: 0;line-height: var(--header-height);font-size: 2rem;color: var(--color-text-highlight);border-right: 1px solid var(--color-widget-content-border);padding-right: var(--widget-content-horizontal-padding);}.logo:has(img, svg) {display: flex;align-items: center;}.logo img {max-height: 2.7rem;}.nav {overflow-x: auto;min-width: 0;height: 100%;gap: var(--header-items-gap);}.nav .nav-item {line-height: var(--header-height);}.footer {padding-bottom: calc(var(--widget-gap) * 1.5);padding-top: calc(var(--widget-gap) / 2);animation: loadingContainerEntrance 200ms backwards;animation-delay: 150ms;}.footer-yopatro {display: flex;flex-direction: column;align-items: center;gap: 0.45rem;text-align: center;padding: 0.5rem 1rem;font-size: var(--font-size-h5);color: var(--color-text-subdue);max-width: 60rem;}.footer-yopatro-links {display: flex;flex-wrap: wrap;justify-content: center;align-items: center;gap: 0.55rem 0.65rem;font-size: var(--font-size-h4);}.footer-yopatro-links a {color: var(--color-text-base);text-decoration: none;padding: 0.1rem 0.05rem;border-bottom: 1px solid transparent;transition: color 0.2s, border-color 0.2s;}.footer-yopatro-links a:hover {color: var(--color-primary);border-bottom-color: var(--color-primary);}.footer-yopatro-meta {display: flex;flex-wrap: wrap;justify-content: center;align-items: center;gap: 0.4rem;letter-spacing: 0.01em;}.footer-yopatro-wordmark,.mobile-header-wordmark,.mobile-navigation-brand {font-family: "Outfit", Inter, system-ui, sans-serif;font-weight: 600;letter-spacing: -0.02em;text-transform: lowercase;color: var(--color-text-base);}.footer-yopatro-dot,.footer-yopatro-dash {opacity: 0.55;user-select: none;}.footer-yopatro-version {font-variant-numeric: tabular-nums;font-size: 0.88em;opacity: 0.8;padding: 0.05rem 0.35rem;border-radius: 4px;background: color-mix(in srgb, var(--color-text-subdue) 12%, transparent);}.yopatro-prose {font-size: var(--font-size-h4);line-height: 1.7;color: var(--color-text-base);max-width: 62rem;margin: 0 auto;padding: 0.25rem 0 1rem;}.yopatro-prose > * + * {margin-top: 1rem;}.yopatro-prose h2 {font-size: var(--font-size-h2);font-weight: 600;color: var(--color-text-highlight);letter-spacing: -0.01em;margin-top: 2rem;margin-bottom: 0.4rem;}.yopatro-prose h2:first-child {margin-top: 0;}.yopatro-prose p.yopatro-lede {font-size: var(--font-size-h3);color: var(--color-text-highlight);line-height: 1.55;}.yopatro-prose a {color: var(--color-primary);text-decoration: none;border-bottom: 1px solid color-mix(in srgb, var(--color-primary) 35%, transparent);transition: border-color 0.2s;}.yopatro-prose a:hover {border-bottom-color: var(--color-primary);}.yopatro-prose ul {padding-left: 1.2rem;list-style: disc;}.yopatro-prose ul li {margin-bottom: 0.35rem;}.yopatro-prose strong {color: var(--color-text-highlight);font-weight: 600;}.yopatro-prose table {border-collapse: collapse;width: 100%;margin: 0.5rem 0;font-size: 0.95em;}.yopatro-prose th,.yopatro-prose td {text-align: left;padding: 0.5rem 0.75rem;border-bottom: 1px solid color-mix(in srgb, var(--color-text-subdue) 20%, transparent);}.yopatro-prose th {font-weight: 600;color: var(--color-text-highlight);}.yopatro-prose .yopatro-prose-cta {margin-top: 2rem;padding: 1rem 1.25rem;border-left: 3px solid var(--color-primary);background: color-mix(in srgb, var(--color-primary) 6%, transparent);border-radius: 0 6px 6px 0;font-size: var(--font-size-h4);}.mobile-navigation, .mobile-reachability-header {display: none;}.nav-item {display: block;height: 100%;border-bottom: 2px solid transparent;transition: color .3s, border-color .3s;font-size: var(--font-size-h3);flex-shrink: 0;}.nav-item:not(.nav-item-current):hover {border-bottom-color: var(--color-text-subdue);color: var(--color-text-highlight);}.nav-item.nav-item-current {border-bottom-color: var(--color-primary);color: var(--color-text-highlight);}.logout-button {width: 2rem;height: 2rem;stroke: var(--color-text-subdue);transition: stroke .2s;}.logout-button:hover, .logout-button:focus {stroke: var(--color-text-highlight);}.theme-choices {--presets-per-row: 2;display: grid;grid-template-columns: repeat(var(--presets-per-row), 1fr);align-items: center;gap: 1.35rem;}.theme-choices:has(> :nth-child(3)) {--presets-per-row: 3;}.theme-preset {background-color: var(--color);display: flex;align-items: center;justify-content: center;gap: 0.5rem;height: 2rem;padding-inline: 0.5rem;border-radius: 0.3rem;border: none;cursor: pointer;position: relative;}.theme-choices .theme-preset::before {content: '';position: absolute;inset: -.4rem;border-radius: .7rem;border: 2px solid transparent;transition: border-color .3s;}.theme-choices .theme-preset:hover::before {border-color: var(--color-text-subdue);}.theme-choices .theme-preset.current::before {border-color: var(--color-text-base);}.theme-preset-light {gap: 0.3rem;height: 1.8rem;}.theme-color {background-color: var(--color);width: 0.9rem;height: 0.9rem;border-radius: 0.2rem;}.theme-preset-light .theme-color {width: 1rem;height: 1rem;border-radius: 0.3rem;}.current-theme-preview {opacity: 0.4;transition: opacity .3s;}.theme-picker.popover-active .current-theme-preview, .theme-picker:hover {opacity: 1;}.language-switcher {background: transparent;border: 1px solid var(--color-separator);border-radius: 0.4rem;color: var(--color-text-subdue);cursor: pointer;font: inherit;font-size: 1.3rem;padding: 0.25rem 0.55rem;margin-inline-start: 0.6rem;opacity: 0.6;transition: opacity .2s, color .2s, border-color .2s;}.language-switcher:hover, .language-switcher:focus-visible {opacity: 1;color: var(--color-text-base);border-color: var(--color-text-subdue);}.language-switcher-mobile {background: transparent;border: 0;color: inherit;cursor: pointer;font: inherit;padding: 0;text-align: start;width: 100%;}.bookmarks-group {--bookmarks-group-color: var(--color-primary);}.bookmarks-group-title {color: var(--bookmarks-group-color);}.bookmarks-link:not(.bookmarks-link-no-arrow)::after {content: '↗' / "";margin-left: 0.5em;display: inline-block;position: relative;top: 0.15em;color: var(--bookmarks-group-color);}.bookmarks-icon-container {margin-block: 0.1rem;background-color: var(--color-widget-background-highlight);border-radius: var(--border-radius);padding: 0.5rem;opacity: 0.7;flex-shrink: 0;}.bookmarks-icon {width: 20px;height: 20px;opacity: 0.8;}.bs-calendar {display: flex;flex-direction: column;gap: 1.25rem;padding: 0.25rem 0;}.bs-calendar-ne,[lang="ne"] {font-family: 'Lohit Devanagari', 'Noto Sans Devanagari', 'Mukta', system-ui, sans-serif;}.bs-calendar-header {display: flex;gap: 1.5rem;align-items: flex-start;flex-wrap: wrap;padding: 0.25rem 0 1rem;border-bottom: 1px solid var(--color-separator);}.bs-calendar-header-primary {display: flex;align-items: flex-start;gap: 0.9rem;flex: 1 1 auto;min-width: 0;}.bs-calendar-header-day {font-size: 4.4rem;font-weight: 800;line-height: 0.95;color: var(--color-primary);font-variant-numeric: tabular-nums;letter-spacing: -0.02em;}.bs-calendar-header-meta {display: flex;flex-direction: column;gap: 0.2rem;min-width: 0;padding-top: 0.25rem;}.bs-calendar-header-month {font-size: 1.6rem;font-weight: 600;line-height: 1.1;}.bs-calendar-header-month-en {font-size: 0.9rem;font-weight: 500;opacity: 0.65;letter-spacing: 0.01em;}.bs-calendar-header-weekday {font-size: 0.85rem;opacity: 0.65;text-transform: uppercase;letter-spacing: 0.06em;margin-top: 0.1rem;}.bs-calendar-header-ad {display: flex;flex-direction: column;align-items: flex-end;gap: 0.2rem;padding-top: 0.25rem;font-size: 0.85rem;opacity: 0.75;text-align: right;min-width: 0;}.bs-calendar-header-ad-date {font-weight: 500;font-size: 0.9rem;opacity: 0.85;}.bs-calendar-header-ad-time {font-weight: 700;font-size: 1.35rem;line-height: 1.05;font-variant-numeric: tabular-nums;letter-spacing: -0.01em;color: var(--color-primary);}.bs-calendar-header-ad-label {font-size: 0.75rem;text-transform: uppercase;letter-spacing: 0.08em;opacity: 0.7;}.bs-calendar-grid-wrap {display: flex;flex-direction: column;gap: 0.9rem;}.bs-calendar-grid-head {display: flex;justify-content: space-between;align-items: center;gap: 0.5rem;}.bs-calendar-grid-title-wrap {flex: 1 1 auto;display: flex;flex-direction: column;align-items: center;min-width: 0;text-align: center;gap: 0.1rem;}.bs-calendar-grid-title {font-size: 1.3rem;font-weight: 700;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;max-width: 100%;}.bs-calendar-grid-ad {opacity: 0.6;font-size: 0.8rem;font-weight: 500;}.bs-calendar-nav-btn,.bs-calendar-today-btn {background: var(--color-widget-background-highlight);color: inherit;border: 1px solid transparent;border-radius: 0.4rem;font: inherit;line-height: 1;cursor: pointer;transition: background 0.1s, border-color 0.1s, color 0.1s;}.bs-calendar-nav-btn {font-size: 1.4rem;font-weight: 500;min-width: 2.6rem;height: 2.6rem;display: inline-flex;align-items: center;justify-content: center;}.bs-calendar-today-btn {font-size: 0.75rem;text-transform: uppercase;letter-spacing: 0.06em;font-weight: 600;padding: 0.5rem 0.85rem;margin-right: 0.35rem;}.bs-calendar-nav-btn:hover,.bs-calendar-nav-btn:focus-visible,.bs-calendar-today-btn:hover,.bs-calendar-today-btn:focus-visible {border-color: var(--color-primary);color: var(--color-primary);outline: none;}.bs-calendar-grid {display: grid;grid-template-columns: repeat(7, minmax(0, 1fr));gap: 6px;}.bs-calendar-grid-dow {font-size: 0.75rem;font-weight: 600;text-transform: uppercase;letter-spacing: 0.08em;opacity: 0.6;text-align: center;padding: 0.35rem 0 0.5rem;}.bs-calendar-grid-dow.is-sat {color: var(--color-negative);opacity: 0.85;}.bs-calendar-grid-cell {position: relative;display: flex;flex-direction: column;align-items: stretch;justify-content: flex-start;min-height: 4.8rem;padding: 0.55rem 0.55rem 0.5rem;border-radius: 0.5rem;background: var(--color-widget-background-highlight);font-variant-numeric: tabular-nums;color: inherit;font: inherit;text-align: left;border: 1px solid transparent;cursor: pointer;transition: background 0.12s, border-color 0.12s, transform 0.12s;}.bs-calendar-grid-cell.is-blank {background: transparent;cursor: default;border: none;}button.bs-calendar-grid-cell {appearance: none;-webkit-appearance: none;}.bs-calendar-grid-cell:not(.is-blank):not(.is-today):hover,.bs-calendar-grid-cell:not(.is-blank):focus-visible {border-color: var(--color-primary);outline: none;}.bs-calendar-grid-cell.is-focus:not(.is-today) {border-color: var(--color-primary);background: color-mix(in srgb, var(--color-primary) 14%, var(--color-widget-background-highlight));}.bs-calendar-grid-cell.is-sat .bs-calendar-grid-bs {color: var(--color-negative);}.bs-calendar-grid-cell.is-holiday .bs-calendar-grid-bs {color: var(--color-primary);}.bs-calendar-grid-cell.is-today {background: var(--color-primary);color: var(--color-background);border-color: var(--color-primary);}.bs-calendar-grid-cell.is-today .bs-calendar-grid-bs,.bs-calendar-grid-cell.is-today .bs-calendar-grid-ad-small {color: var(--color-background);}.bs-calendar-grid-cell.is-today .bs-calendar-grid-ad-small {opacity: 0.85;}.bs-calendar-grid-cell.is-today .bs-calendar-grid-holiday-label {color: var(--color-background);opacity: 0.9;}.bs-calendar-grid-cell-top {display: flex;align-items: baseline;justify-content: space-between;gap: 0.4rem;min-width: 0;}.bs-calendar-grid-bs {font-size: 1.55rem;font-weight: 700;line-height: 1;letter-spacing: -0.01em;}.bs-calendar-grid-ad-small {font-size: 0.8rem;opacity: 0.6;line-height: 1;font-weight: 500;white-space: nowrap;}.bs-calendar-grid-holiday-label {margin-top: auto;padding-top: 0.35rem;font-size: 0.7rem;line-height: 1.2;color: var(--color-primary);font-weight: 500;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;text-overflow: ellipsis;word-break: break-word;}.bs-calendar-grid-dot {position: absolute;top: 0.55rem;right: 0.55rem;width: 5px;height: 5px;border-radius: 50%;background: var(--color-primary);display: none;}.bs-calendar-grid-cell.is-today .bs-calendar-grid-dot {background: var(--color-background);}@container widget (max-width: 640px) {.bs-calendar-grid {gap: 4px;}.bs-calendar-grid-cell {min-height: 4rem;padding: 0.4rem 0.4rem 0.35rem;}.bs-calendar-grid-bs {font-size: 1.25rem;}.bs-calendar-grid-ad-small {font-size: 0.7rem;}.bs-calendar-grid-holiday-label {font-size: 0.75rem;}.bs-calendar-header-day {font-size: 3.4rem;}}@container widget (max-width: 480px) {.bs-calendar-grid-holiday-label {display: none;}.bs-calendar-grid-cell {min-height: 3.2rem;}}.bs-calendar-popover {margin-top: 0.5rem;padding: 0.65rem 0.75rem;border: 1px solid var(--color-separator);border-radius: 0.5rem;background: var(--color-widget-background-highlight);display: flex;flex-direction: column;gap: 0.25rem;position: relative;font-size: 0.85rem;}.bs-calendar-popover[hidden] {display: none;}.bs-calendar-popover-bs {font-weight: 600;font-size: 0.95rem;}.bs-calendar-popover-ad {opacity: 0.85;font-size: 0.875rem;}.bs-calendar-popover-holiday {color: var(--color-primary);font-size: 0.85rem;}.bs-calendar-popover-close {position: absolute;top: 0.25rem;right: 0.4rem;background: transparent;border: none;color: inherit;opacity: 0.75;cursor: pointer;font-size: 1.25rem;line-height: 1;padding: 0.25rem 0.45rem;border-radius: 0.25rem;}.bs-calendar-popover-close:hover,.bs-calendar-popover-close:focus-visible {opacity: 1;outline: none;}.bs-calendar-upcoming {border-top: 1px solid var(--color-separator);padding-top: 0.75rem;display: flex;flex-direction: column;gap: 0.35rem;}.bs-calendar-upcoming-label {font-size: 0.8rem;text-transform: uppercase;letter-spacing: 0.05em;opacity: 0.75;}.bs-calendar-upcoming-list {list-style: none;padding: 0;margin: 0;display: flex;flex-direction: column;gap: 0.35rem;}.bs-calendar-upcoming-row {display: flex;justify-content: space-between;align-items: baseline;gap: 0.5rem;flex-wrap: wrap;}.bs-calendar-upcoming-name {font-size: 0.95rem;font-weight: 500;}.bs-calendar-upcoming-meta {font-size: 0.85rem;opacity: 0.8;}.bs-calendar-header-link {display: block;color: inherit;text-decoration: none;border-radius: 0.4rem;transition: background 0.12s;}.bs-calendar-header-link:hover,.bs-calendar-header-link:focus-visible {background: var(--color-widget-background-highlight);outline: none;}.bs-calendar-header-link:hover .bs-calendar-header-day,.bs-calendar-header-link:focus-visible .bs-calendar-header-day {color: var(--color-primary-hover, var(--color-primary));}.bs-calendar-upcoming-link {display: flex;justify-content: space-between;align-items: baseline;gap: 0.5rem;flex-wrap: wrap;color: inherit;text-decoration: none;padding: 0.2rem 0.4rem;margin: 0 -0.4rem;border-radius: 0.3rem;transition: background 0.12s, color 0.12s;width: 100%;}.bs-calendar-upcoming-link:hover,.bs-calendar-upcoming-link:focus-visible {background: var(--color-widget-background-highlight);color: var(--color-primary);outline: none;}.bs-calendar-popover-meta {font-size: 0.78rem;opacity: 0.7;}.bs-calendar-popover-link {margin-top: 0.15rem;font-size: 0.8rem;color: var(--color-primary);text-decoration: none;font-weight: 500;align-self: flex-start;}.bs-calendar-popover-link:hover,.bs-calendar-popover-link:focus-visible {text-decoration: underline;outline: none;}.bs-calendar-details {display: flex;flex-direction: column;gap: 0.35rem;padding: 0.85rem 1rem;border: 1px solid var(--color-separator);border-radius: 0.5rem;background: var(--color-widget-content-background);}.bs-calendar-details-label {font-size: 0.78rem;text-transform: uppercase;letter-spacing: 0.04em;opacity: 0.6;}.bs-calendar-details-body {display: flex;flex-direction: column;gap: 0.25rem;}.bs-calendar-details-hint {opacity: 0.65;font-size: 0.9rem;}.bs-calendar-details-bs {font-size: 1.1rem;font-weight: 600;}.bs-calendar-details-ad {font-size: 0.95rem;opacity: 0.85;}.bs-calendar-details-meta {font-size: 0.85rem;opacity: 0.7;}.bs-calendar-details-holiday {margin-top: 0.2rem;font-size: 0.9rem;color: var(--color-primary);font-weight: 500;}/* Panchanga-as-details: when a grid cell is clicked, the details panel* below the grid becomes a compact panchanga breakdown for that date —* no more duplicating the BS/AD/weekday/holiday info that already shows* in the popover. Two surfaces, two roles. */.bs-calendar-details-limbs {list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));gap: 0.5rem 1rem;}.bs-calendar-details-limbs > li {display: flex;flex-direction: column;gap: 0.15rem;min-width: 0;}.bs-calendar-details-limb-label {font-size: 0.72rem;opacity: 0.6;text-transform: uppercase;letter-spacing: 0.08em;}.bs-calendar-details-limb-value {font-size: 0.98rem;font-weight: 500;color: var(--color-text-highlight);line-height: 1.25;}.bs-converter {display: flex;flex-direction: column;gap: 0.9rem;padding: 0.2rem 0;}.bs-converter-noscript {font-size: 0.95rem;color: var(--color-text-subdue);}.bs-converter-grid {display: grid;grid-template-columns: 1fr auto 1fr;gap: 0.7rem;align-items: stretch;}.bs-converter-card {background: var(--color-widget-background-highlight);border: 1px solid var(--color-widget-content-border);border-radius: 0.6rem;padding: 0.7rem 0.8rem;display: flex;flex-direction: column;gap: 0.5rem;min-width: 0;}.bs-converter-card-head {display: flex;align-items: baseline;justify-content: space-between;gap: 0.5rem;}.bs-converter-card-tag {font-weight: 600;font-size: 0.95rem;letter-spacing: 0.02em;color: var(--color-text-highlight);}.bs-converter-card-hint {font-size: 0.8rem;color: var(--color-text-subdue);text-transform: uppercase;letter-spacing: 0.05em;}.bs-converter-inputs {display: flex;gap: 0.4rem;flex-wrap: wrap;min-width: 0;}.bs-converter-select,.bs-converter-input {background: var(--color-widget-background);color: var(--color-text-base);border: 1px solid var(--color-widget-content-border);border-radius: 0.4rem;padding: 0.45rem 0.55rem;font: inherit;font-size: 0.95rem;line-height: 1.2;min-width: 0;transition: border-color 0.12s ease, box-shadow 0.12s ease;}.bs-converter-select:hover,.bs-converter-input:hover {border-color: var(--color-text-subdue);}.bs-converter-select:focus-visible,.bs-converter-input:focus-visible {outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary) 35%, transparent);}.bs-converter-select[data-bs-year]  { flex: 2 1 5rem; }.bs-converter-select[data-bs-month] { flex: 3 1 6rem; }.bs-converter-select-day            { flex: 1 1 3rem; }.bs-converter-input[type="date"]    { flex: 1 1 100%; }.bs-converter-arrow {display: flex;align-items: center;justify-content: center;font-size: 1.4rem;color: var(--color-text-subdue);line-height: 1;padding: 0 0.1rem;}.bs-converter-arrow-vert { display: none; }.bs-converter-actions {display: flex;flex-wrap: wrap;gap: 0.4rem;}.bs-converter-action {font: inherit;font-size: 0.88rem;padding: 0.4rem 0.75rem;border-radius: 0.4rem;border: 1px solid var(--color-widget-content-border);background: var(--color-widget-background-highlight);color: var(--color-text-highlight);cursor: pointer;transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;}.bs-converter-action:hover {border-color: var(--color-primary);color: var(--color-primary);}.bs-converter-action:focus-visible {outline: 2px solid var(--color-primary);outline-offset: 2px;}.bs-converter-action-ghost {background: transparent;color: var(--color-text-base);}.bs-converter-result {margin-top: 0.1rem;padding: 0.75rem 0.85rem;border: 1px solid var(--color-separator);border-radius: 0.6rem;background: var(--color-widget-background);display: flex;flex-direction: column;gap: 0.4rem;}.bs-converter-result-row {display: grid;grid-template-columns: 3.5rem 1fr;align-items: baseline;gap: 0.65rem;font-size: 1rem;}.bs-converter-result-label {font-size: 0.78rem;text-transform: uppercase;letter-spacing: 0.06em;color: var(--color-text-subdue);}.bs-converter-result-value {color: var(--color-text-highlight);}.bs-converter-result-row:nth-child(2) .bs-converter-result-value {color: var(--color-text-base);font-size: 0.95rem;}.bs-converter-result-relative .bs-converter-result-value {font-size: 0.88rem;color: var(--color-primary);}.bs-converter-result-relative[data-relative="today"] .bs-converter-result-value {font-weight: 600;}.bs-converter-error {color: var(--color-negative);font-size: 0.9rem;margin-top: 0.15rem;}@media (max-width: 550px) {.bs-converter-grid {grid-template-columns: 1fr;gap: 0.5rem;}.bs-converter-arrow-horiz { display: none; }.bs-converter-arrow-vert  { display: inline; }.bs-converter-arrow {font-size: 1.2rem;padding: 0.1rem 0;}}.festival-none {font-size: 0.85rem;opacity: 0.6;padding: 0.5rem 0;}.festival-list {display: flex;flex-direction: column;gap: 0;}.festival-item {display: flex;flex-direction: column;gap: 0.2rem;padding: 0.65rem 0;border-bottom: 1px solid var(--color-separator);position: relative;}.festival-item:last-child {border-bottom: none;}.festival-item.is-next {padding-bottom: 0.85rem;}.festival-name {font-weight: 600;font-size: 1rem;display: flex;align-items: baseline;gap: 0.25rem;flex-wrap: wrap;}.festival-name-ne {font-family: 'Lohit Devanagari', 'Noto Sans Devanagari', system-ui, sans-serif;}.festival-sep {opacity: 0.4;font-weight: 400;}.festival-meta {display: flex;justify-content: space-between;align-items: center;gap: 0.5rem;}.festival-date {font-size: 0.8rem;opacity: 0.65;}.festival-countdown {font-size: 0.8rem;font-weight: 500;color: var(--color-primary);white-space: nowrap;}.festival-countdown.is-today {font-size: 0.9rem;}.festival-days-hero {display: flex;align-items: baseline;gap: 0.25rem;margin-top: 0.35rem;}.festival-days-num {font-size: 2.5rem;font-weight: 800;line-height: 1;color: var(--color-primary);font-variant-numeric: tabular-nums;}.festival-days-unit {font-size: 1.1rem;font-weight: 400;opacity: 0.7;}.festival-today-label {font-size: 1.75rem;}.ne-word {display: flex;flex-direction: column;gap: 0.35rem;padding: 0.25rem 0;}.ne-word-devanagari {font-size: 2.2rem;font-weight: 700;line-height: 1.1;color: var(--color-primary);font-family: 'Lohit Devanagari', 'Noto Sans Devanagari', system-ui, sans-serif;}.ne-word-roman {font-size: 1rem;font-style: italic;opacity: 0.75;}.ne-word-pos {font-size: 0.85rem;text-transform: uppercase;letter-spacing: 0.06em;opacity: 0.75;margin-top: -0.1rem;}.ne-word-meaning {font-size: 1rem;font-weight: 500;border-top: 1px solid var(--color-separator);padding-top: 0.5rem;margin-top: 0.15rem;}.ne-word-example {display: flex;flex-direction: column;gap: 0.15rem;border-top: 1px solid var(--color-separator);padding-top: 0.5rem;}.ne-word-example-ne {font-size: 0.9rem;font-family: 'Lohit Devanagari', 'Noto Sans Devanagari', system-ui, sans-serif;opacity: 0.9;}.ne-word-example-en {font-size: 0.9rem;opacity: 0.8;font-style: italic;}.ne-proverb {display: flex;flex-direction: column;gap: 0.6rem;padding: 0.1rem 0 0.25rem;}.ne-proverb-nepali {margin: 0;padding: 0 0 0 0.75rem;border-left: 3px solid var(--color-primary);font-family: 'Lohit Devanagari', 'Noto Sans Devanagari', system-ui, sans-serif;font-size: 1.25rem;line-height: 1.5;font-weight: 500;color: var(--color-text-highlight);}.ne-proverb-roman {font-style: italic;font-size: 0.92rem;opacity: 0.75;line-height: 1.4;}.ne-proverb-meaning {display: flex;flex-direction: column;gap: 0.2rem;border-top: 1px solid var(--color-separator);padding-top: 0.55rem;}.ne-proverb-label {text-transform: uppercase;font-size: 0.7rem;letter-spacing: 0.08em;opacity: 0.6;}.ne-proverb-meaning-text {font-size: 0.95rem;line-height: 1.5;}.ne-proverb-example {font-family: 'Lohit Devanagari', 'Noto Sans Devanagari', system-ui, sans-serif;font-size: 0.92rem;line-height: 1.55;opacity: 0.85;border-top: 1px solid var(--color-separator);padding-top: 0.55rem;}.on-this-day-none {font-size: 0.85rem;opacity: 0.6;padding: 0.5rem 0;}.on-this-day-list {list-style: none;margin: 0;padding: 0;display: flex;flex-direction: column;gap: 0;}.on-this-day-item {display: flex;align-items: baseline;gap: 0.75rem;padding: 0.6rem 0;border-bottom: 1px solid var(--color-separator);}.on-this-day-item:last-child {border-bottom: none;}.on-this-day-year {font-size: 1.1rem;font-weight: 700;color: var(--color-primary);white-space: nowrap;min-width: 2.8rem;font-variant-numeric: tabular-nums;}.on-this-day-event {font-size: 0.9rem;line-height: 1.45;opacity: 0.9;}.panchanga {display: flex;flex-direction: column;gap: 0.85rem;padding: 0.25rem 0;}.panchanga-empty {padding: 0.75rem 0;opacity: 0.7;font-size: 0.95rem;}.panchanga-head {display: flex;justify-content: space-between;align-items: baseline;gap: 0.75rem;flex-wrap: wrap;padding-bottom: 0.55rem;border-bottom: 1px solid var(--color-separator);}.panchanga-head-date {font-weight: 600;font-size: 1rem;font-variant-numeric: tabular-nums;}.panchanga-head-bs {font-weight: 400;opacity: 0.7;margin-left: 0.35rem;}.panchanga-head-vaara {font-size: 0.9rem;opacity: 0.85;text-transform: uppercase;letter-spacing: 0.06em;}.panchanga-limbs {list-style: none;padding: 0;margin: 0;display: grid;grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));gap: 0.6rem 1rem;}.panchanga-limbs > li {display: flex;flex-direction: column;gap: 0.15rem;min-width: 0;}.panchanga-limb-label {font-size: 0.75rem;opacity: 0.65;text-transform: uppercase;letter-spacing: 0.08em;}.panchanga-limb-value {font-size: 1rem;font-weight: 500;color: var(--color-text-highlight);line-height: 1.25;}.panchanga-attrib {font-size: 0.78rem;opacity: 0.55;padding-top: 0.35rem;border-top: 1px solid var(--color-separator);line-height: 1.4;}/* Muhurta widget — today's Rahu Kalam / Abhijit / Yama Gandam / Gulika* windows for Kathmandu. Precomputed; no runtime API calls. */.muhurta {display: flex;flex-direction: column;gap: 0.7rem;padding: 0.25rem 0;}.muhurta-empty {padding: 0.75rem 0;opacity: 0.7;font-size: 0.95rem;}.muhurta-list {list-style: none;padding: 0;margin: 0;display: flex;flex-direction: column;gap: 0.45rem;}.muhurta-item {display: grid;grid-template-columns: minmax(0, 1fr) auto;grid-template-rows: auto auto;column-gap: 0.85rem;align-items: baseline;padding: 0.55rem 0.65rem;border-radius: var(--border-radius, 6px);background: color-mix(in srgb, var(--color-widget-background-highlight) 65%, transparent);border: 1px solid var(--color-separator);}.muhurta-item-auspicious {border-left: 3px solid var(--color-positive);}.muhurta-item-inauspicious {border-left: 3px solid var(--color-negative);}.muhurta-item-label {font-weight: 600;font-size: 0.95rem;color: var(--color-text-highlight);}.muhurta-item-window {font-variant-numeric: tabular-nums;font-weight: 500;font-size: 1rem;text-align: right;letter-spacing: -0.005em;}.muhurta-item-note {grid-column: 1 / -1;font-size: 0.8rem;opacity: 0.7;margin-top: 0.1rem;}.muhurta-attrib {font-size: 0.78rem;opacity: 0.55;padding-top: 0.25rem;line-height: 1.4;}.old-calendar-day {width: calc(100% / 7);text-align: center;padding: 0.6rem 0;}.old-calendar-day-today {border-radius: var(--border-radius);background-color: hsl(var(--bghs), calc(var(--scheme) (var(--scheme) (var(--bgl)) + 6%)));color: var(--color-text-highlight);}.calendar-dates {text-align: center;display: grid;grid-template-columns: repeat(7, 1fr);gap: 2px;}.calendar-date {padding: 0.4rem 0;color: var(--color-text-base);position: relative;border-radius: var(--border-radius);background: none;border: none;font: inherit;}.calendar-current-date {border-radius: var(--border-radius);background-color: var(--color-popover-border);color: var(--color-text-highlight);}.calendar-spillover-date {color: var(--color-text-subdue);}.calendar-header-button {position: relative;cursor: pointer;width: 2rem;height: 2rem;z-index: 1;background: none;border: none;}.calendar-header-button::before {content: '';position: absolute;inset: -0.2rem;border-radius: var(--border-radius);background-color: var(--color-text-subdue);opacity: 0;transition: opacity 0.2s;z-index: -1;}.calendar-header-button:hover::before {opacity: 0.4;}.calendar-undo-button {display: inline-block;vertical-align: text-top;width: 2rem;height: 2rem;margin-left: 0.7rem;}.clock-time {min-width: 8ch;}.clock-time span {color: var(--color-text-highlight);}.dns-stats-totals {transition: opacity .3s;transition-delay: 50ms;}.dns-stats:has(.dns-stats-graph .popover-active) .dns-stats-totals {opacity: 0.1;transition-delay: 0s;}.dns-stats-graph {--graph-height: 70px;height: var(--graph-height);position: relative;margin-bottom: 2.5rem;}.dns-stats-graph-gridlines-container {position: absolute;inset: 0;}.dns-stats-graph-gridlines {height: 100%;width: 100%;}.dns-stats-graph-columns {display: flex;height: 100%;}.dns-stats-graph-column {display: flex;justify-content: flex-end;align-items: center;flex-direction: column;width: calc(100% / 8);position: relative;}.dns-stats-graph-column::before {content: '';position: absolute;inset: 1px 0;opacity: 0;background: var(--color-text-base);transition: opacity .2s;}.dns-stats-graph-column:hover::before {opacity: 0.05;}.dns-stats-graph-bar {width: 14px;height: calc((var(--bar-height) / 100) * var(--graph-height));border: 1px solid var(--color-progress-border);border-radius: var(--border-radius) var(--border-radius) 0 0;display: flex;background: var(--color-widget-background);padding: 2px 2px 0 2px;flex-direction: column;gap: 2px;transition: border-color .2s;min-height: 10px;}.dns-stats-graph-column.popover-active .dns-stats-graph-bar {border-color: var(--color-text-subdue);border-bottom-color: var(--color-progress-border);}.dns-stats-graph-bar > * {border-radius: 2px;background: var(--color-vertical-progress-value);min-height: 1px;}.dns-stats-graph-bar > .queries {flex-grow: 1;}.dns-stats-graph-bar > *:last-child {border-bottom-right-radius: 0;border-bottom-left-radius: 0;}.dns-stats-graph-bar > .blocked {background-color: var(--color-negative);flex-basis: calc(var(--percent) - 1px);}.dns-stats-graph-column:nth-child(even) .dns-stats-graph-time {opacity: 1;transform: translateY(0);}.dns-stats-graph-time, .dns-stats-graph-columns:hover .dns-stats-graph-time {position: absolute;font-size: var(--font-size-h6);inset-inline: 0;text-align: center;height: 2.5rem;line-height: 2.5rem;top: 100%;user-select: none;opacity: 0;transform: translateY(-0.5rem);transition: opacity .2s, transform .2s;}.dns-stats-graph-column:hover .dns-stats-graph-time {opacity: 1;transform: translateY(0);}.dns-stats-graph-columns:hover .dns-stats-graph-column:not(:hover) .dns-stats-graph-time {opacity: 0;}.docker-container-icon {display: block;filter: grayscale(0.4);object-fit: contain;aspect-ratio: 1 / 1;width: 2.7rem;opacity: 0.8;transition: filter 0.3s, opacity 0.3s;}.docker-container-icon.flat-icon {opacity: 0.7;}.docker-container:hover .docker-container-icon {opacity: 1;}.docker-container:hover .docker-container-icon:not(.flat-icon) {filter: grayscale(0);}.docker-container-status-icon {width: 2rem;height: 2rem;}.widget-group-header {overflow-x: auto;scrollbar-width: thin;}.widget-group-title {background: none;font: inherit;border: none;text-transform: uppercase;border-bottom: 1px dotted transparent;cursor: pointer;flex-shrink: 0;transition: color .3s, border-color .3s;color: var(--color-text-subdue);line-height: calc(1.6em - 1px);}.widget-group-title:hover:not(.widget-group-title-current) {color: var(--color-text-base);}.widget-group-title-current {border-bottom-color: var(--color-text-base-muted);color: var(--color-text-base);}.widget-group-content {animation: widgetGroupContentEntrance .3s cubic-bezier(0.25, 1, 0.5, 1) backwards;}.widget-group-content[data-direction="right"] {--direction: 5px;}.widget-group-content[data-direction="left"] {--direction: -5px;}@keyframes widgetGroupContentEntrance {from {opacity: 0;transform: translateX(var(--direction));}}.widget-group-content:not(.widget-group-content-current) {display: none;}.market-chart {margin-left: auto;width: 6.5rem;flex-shrink: 0;}.market-chart svg {width: 100%;}.market-values {min-width: 8rem;}.monitor-site-icon {display: block;opacity: 0.8;filter: grayscale(0.4);object-fit: contain;aspect-ratio: 1 / 1;width: 3.2rem;position: relative;top: -0.1rem;transition: filter 0.3s, opacity 0.3s;}.monitor-site-icon.flat-icon {opacity: 0.7;}.monitor-site:hover .monitor-site-icon {opacity: 1;}.monitor-site:hover .monitor-site-icon:not(.flat-icon) {filter: grayscale(0);}.monitor-site-status-icon {flex-shrink: 0;margin-left: auto;width: 2rem;height: 2rem;}.monitor-site-status-icon-compact {width: 1.8rem;height: 1.8rem;flex-shrink: 0;}.reddit-card-thumbnail {width: 100%;height: 100%;object-fit: cover;object-position: 0% 20%;opacity: 0.15;filter: blur(1px);}.reddit-card-thumbnail-container {position: absolute;inset: 0;overflow: hidden;border-radius: var(--border-radius);}.reddit-card-thumbnail-container::after {content: '';position: absolute;inset: 0;background: linear-gradient(0deg, var(--color-widget-background) 10%, transparent);}.release-source-icon {width: 16px;height: 16px;flex-shrink: 0;opacity: 0.4;}.rss-card-image {width: 100%;max-width: 100%;height: var(--rss-thumbnail-height, 10rem);object-fit: cover;border-radius: var(--border-radius) var(--border-radius) 0 0;background: var(--color-widget-background-highlight);}.rss-card-2 {position: relative;height: var(--rss-card-height, 27rem);overflow: hidden;}.rss-card-2::before {content: '';position: absolute;inset: 0;pointer-events: none;background-image: linear-gradient(0deg,var(--color-widget-background),hsla(var(--color-widget-background-hsl-values), 0.8) 6rem, transparent 14rem);z-index: 2;}.rss-card-2-image {position: absolute;width: 100%;height: 100%;object-fit: cover;border-radius: calc(var(--border-radius) + 1px);opacity: 0.9;z-index: 1;}.rss-card-2-content {position: absolute;inset-inline: 0;bottom: var(--widget-content-vertical-padding);z-index: 3;}.rss-detailed-description {max-width: 55rem;color: var(--color-text-base-muted);}.rss-detailed-thumbnail {margin-top: 0.3rem;}.rss-detailed-thumbnail > * {aspect-ratio: 3 / 2;height: 8.7rem;}.search-icon {width: 2.3rem;}.search-icon-container {position: relative;flex-shrink: 0;}.search-icon-container::before {content: '';position: absolute;inset: -1rem;}.search-icon-container:hover > .search-icon {animation: searchIconHover 2.9s forwards;}@keyframes searchIconHover {0%, 39% { translate: 0 0; }20% { scale: 1.3; }40% { scale: 1; }50% { translate: -30% 30%; }70% { translate: 30% -30%; }90% { translate: -30% -30%; }100% { translate: 0 0; }}.search {transition: border-color .2s;position: relative;}.search:hover {border-color: var(--color-text-subdue);}.search:focus-within {border-color: var(--color-primary);}.search-input {border: 0;background: none;width: 100%;height: 6rem;font: inherit;outline: none;color: var(--color-text-highlight);}.search-input::placeholder {color: var(--color-text-base-muted);opacity: 1;}.search-bangs { display: none; }.search-bang {border-radius: calc(var(--border-radius) * 2);background: var(--color-widget-background-highlight);padding: 0.3rem 1rem;flex-shrink: 0;font-size: var(--font-size-h5);animation: searchBangsEntrance .3s cubic-bezier(0.25, 1, 0.5, 1) backwards;}@keyframes searchBangsEntrance {0% {opacity: 0;transform: translateX(-10px);}}.search-bang:empty {display: none;}.widget-type-server-info {position: relative;}.server + .server {margin-top: 3rem;}.server {gap: 1rem;display: flex;flex-direction: column;}.server-info {align-items: center;display: flex;justify-content: space-between;gap: 1.5rem;flex-shrink: 1;min-width: 0;}.server-details {min-width: 0;}.server-icon {height: 3rem;width: 3rem;}.server-spicy-cpu-icon {height: 1em;align-self: center;margin-left: 0.4em;margin-bottom: 0.2rem;}.server-stats {display: flex;gap: 1.5rem;margin-top: 0.5rem;}.server-stat-unavailable {opacity: 0.5;}@container widget (min-width: 650px) {.server {gap: 2rem;flex-direction: row;align-items: center;}.server + .server {margin-top: 1rem;}.server-info {flex-direction: row-reverse;justify-content: unset;margin-right: auto;z-index: 1;}.server-stats {flex-direction: row;justify-content: right;min-width: 450px;margin-top: 0;gap: 2rem;padding-bottom: 0.8rem;z-index: 1;}.server-stats > * {max-width: 200px;}}.twitch-category-thumbnail {width: 5rem;aspect-ratio: 3 / 4;border-radius: var(--border-radius);}.twitch-channel-avatar {aspect-ratio: 1;border-radius: 50%;}.twitch-channel-avatar-container {width: 4.4rem;height: 4.4rem;border: 2px solid var(--color-text-subdue);padding: 2px;border-radius: 50%;position: relative;flex-shrink: 0;}.twitch-channel-live .twitch-channel-avatar-container {border: 2px solid var(--color-positive);margin-bottom: 1rem;}.twitch-channel-live .twitch-channel-avatar-container::after {content: 'LIVE';position: absolute;background: var(--color-positive);color: var(--color-widget-background);font-size: var(--font-size-h6);left: 50%;bottom: -35%;border-radius: var(--border-radius);padding-inline: 0.3rem;transform: translate(-50%);border: 2px solid var(--color-widget-background);}.twitch-stream-preview {max-width: 100%;width: 400px;aspect-ratio: 16 / 9;border-radius: var(--border-radius);object-fit: cover;}.video-thumbnail {width: 100%;aspect-ratio: 16 / 8.9;object-fit: cover;border-radius: var(--border-radius) var(--border-radius) 0 0;}.video-horizontal-list-thumbnail {height: 4rem;aspect-ratio: 16 / 8.9;object-fit: cover;border-radius: var(--border-radius);}.weather-column {position: relative;display: flex;align-items: center;justify-content: end;flex-direction: column;width: calc(100% / 12);padding-top: 3px;}.weather-column-value, .weather-columns:hover .weather-column-value {font-size: 13px;color: var(--color-text-highlight);letter-spacing: -0.1rem;margin-right: 0.1rem;position: relative;margin-bottom: 0.3rem;opacity: 0;transform: translateY(0.5rem);transition: opacity .2s, transform .2s;user-select: none;}.weather-column-current .weather-column-value, .weather-column:hover .weather-column-value {opacity: 1;transform: translateY(0);}.weather-column-value::after {position: absolute;content: '°';left: 100%;color: var(--color-text-subdue);}.weather-column-value.weather-column-value-negative::before {position: absolute;content: '-';right: 100%;}.weather-bar, .weather-columns:hover .weather-bar {height: calc(20px + var(--weather-bar-height) * 40px);width: 6px;background-color: hsl(var(--ths), calc(var(--scheme) ((var(--scheme) var(--bgl)) + 18%)));border: 1px solid hsl(var(--ths), calc(var(--scheme) ((var(--scheme) var(--bgl)) + 24%)));border-bottom: 0;border-radius: 6px 6px 0 0;mask-image: linear-gradient(0deg, transparent 0, #000 10px);-webkit-mask-image: linear-gradient(0deg, transparent 0, #000 10px);transition: background-color .2s, border-color .2s, width .2s;}.weather-column-current .weather-bar, .weather-column:hover .weather-bar {width: 10px;background-color: hsl(var(--ths), calc(var(--scheme) ((var(--scheme) var(--bgl)) + 40%)));border: 1px solid hsl(var(--ths), calc(var(--scheme) ((var(--scheme) var(--bgl)) + 50%)));}.weather-column-rain {position: absolute;inset: 0;bottom: 20%;overflow: hidden;mask-image: linear-gradient(0deg, transparent 40%, #000);-webkit-mask-image: linear-gradient(0deg, transparent 40%, #000);}.weather-column-rain::before {content: '';position: absolute;background: radial-gradient(circle at 4px 4px, hsl(200, 90%, 70%, 0.4) 1px, transparent 0);background-size: 8px 8px;transform: rotate(45deg) translate(-50%, 25%);height: 130%;aspect-ratio: 1;left: 55%;}.weather-column:nth-child(3) .weather-column-time,.weather-column:nth-child(7) .weather-column-time,.weather-column:nth-child(11) .weather-column-time {opacity: 1;transform: translateY(0);}.weather-column-time, .weather-columns:hover .weather-column-time {margin-top: 0.3rem;font-size: var(--font-size-h6);opacity: 0;transform: translateY(-0.5rem);transition: opacity .2s, transform .2s;user-select: none;}.weather-column:hover .weather-column-time {opacity: 1;transform: translateY(0);}.weather-column-daylight {position: absolute;inset: 0;background: linear-gradient(0deg, transparent 30px, hsl(50, 50%, 30%, 0.2));}.weather-column-daylight-sunrise {border-radius: 20px 0 0 0;}.weather-column-daylight-sunset {border-radius: 0 20px 0 0;}.location-icon {width: 0.8em;height: 0.8em;border-radius: 0 50% 50% 50%;background-color: currentColor;transform: rotate(225deg) translate(.1em, .1em);position: relative;flex-shrink: 0;}.location-icon::after {content: '';position: absolute;z-index: 2;width: .4em;height: .4em;border-radius: 50%;background-color: var(--color-widget-background);top: 50%;left: 50%;transform: translate(-50%, -50%);}.todo-widget {padding-top: 4rem;}.todo-plus-icon {--icon-color: var(--color-text-subdue);position: relative;width: 1.4rem;height: 1.4rem;}.todo-plus-icon::before, .todo-plus-icon::after {content: "";position: absolute;background-color: var(--icon-color);transition: background-color .2s;}.todo-plus-icon::before {width: 2px;inset-block: 0.2rem;left: 50%;transform: translateX(-50%);}.todo-plus-icon::after {height: 2px;inset-inline: 0.2rem;top: 50%;transform: translateY(-50%);}.todo-input textarea::placeholder {color: var(--color-text-base-muted);}.todo-input {position: relative;color: var(--color-text-highlight);}.todo-input:focus-within .todo-plus-icon {--icon-color: var(--color-text-base);}.todo-item {transform-origin: center;padding: 0.5rem 0;}.todo-item-checkbox {-webkit-appearance: none;appearance: none;border: 2px solid var(--color-text-subdue);width: 1.4rem;height: 1.4rem;position: relative;cursor: pointer;border-radius: 0.3rem;transition: border-color .2s;}.todo-item-checkbox::before {content: "";inset: -1rem;position: absolute;}.todo-item-checkbox::after {content: '';position: absolute;inset: 0.3rem;border-radius: 0.1rem;opacity: 0;transition: opacity .2s;}.todo-item-checkbox:checked::after {background: var(--color-primary);opacity: 1;}.todo-item-checkbox:focus-visible {outline: none;border-color: var(--color-primary);}.todo-item-text {color: var(--color-text-base);transition: color .35s;}.todo-item-text:focus {color: var(--color-text-highlight);}.todo-item-drag-handle {position: absolute;top: -0.5rem;inset-inline: 0;height: 1rem;cursor: grab;}.todo-item.is-being-dragged .todo-item-drag-handle {height: 3rem;top: -1.5rem;}.todo-item:has(.todo-item-checkbox:checked) .todo-item-text {text-decoration: line-through;color: var(--color-text-subdue);}.todo-item-delete {width: 1.5rem;height: 1.5rem;opacity: 0;transition: opacity .2s;outline-offset: .5rem;}.todo-item:hover .todo-item-delete, .todo-item:focus-within .todo-item-delete {opacity: 1;}.todo-item.is-being-dragged .todo-item-delete {opacity: 0;}.forum-post-list-thumbnail {flex-shrink: 0;width: 6rem;height: 4.1rem;border-radius: var(--border-radius);object-fit: cover;border: 1px solid var(--color-separator);margin-top: 0.1rem;}.forum-post-tags-container {transform: translateY(-0.15rem);}@container widget (max-width: 550px) {.forum-post-autohide {display: none;}}.widget-error-header {display: flex;align-items: center;justify-content: space-between;position: relative;margin-bottom: 1.8rem;z-index: 1;}.widget-error-header::before {content: '';position: absolute;inset: calc(0rem - (var(--widget-content-vertical-padding) / 2)) calc(0rem - (var(--widget-content-horizontal-padding) / 2));background: var(--color-negative);opacity: 0.05;border-radius: var(--border-radius);z-index: -1;}.widget-error-icon {width: 2.4rem;height: 2.4rem;flex-shrink: 0;stroke: var(--color-negative);opacity: 0.6;}.head-widgets {margin-bottom: var(--widget-gap);}.widget-content {container-type: inline-size;container-name: widget;}.widget-content:not(.widget-content-frameless) {padding: var(--widget-content-padding);}.widget-content:not(.widget-content-frameless), .widget-content-frame {background: var(--color-widget-background);border-radius: var(--border-radius);border: 1px solid var(--color-widget-content-border);box-shadow: 0px 3px 0px 0px hsl(var(--bghs), calc(var(--scheme) (var(--scheme) var(--bgl)) - 0.5%));}.widget-header {padding: 0 calc(var(--widget-content-horizontal-padding) + 1px);font-size: var(--font-size-h4);margin-bottom: 0.9rem;display: flex;align-items: center;gap: 1rem;}.widget-beta-icon {width: 1.6rem;height: 1.6rem;flex-shrink: 0;transition: transform .45s, opacity .45s, stroke .45s;opacity: 0.7;}.widget-beta-icon:hover, .widget-header .popover-active > .widget-beta-icon {fill: var(--color-text-highlight);transform: translateY(-10%) scale(1.3);opacity: 1;}.widget + .widget {margin-top: var(--widget-gap);}.popover-container, [data-popover-html] {display: none;}.popover-container {--triangle-size: 10px;--triangle-offset: 50%;--triangle-margin: calc(var(--triangle-size) + 3px);--entrance-y-offset: 8px;--entrance-direction: calc(var(--entrance-y-offset) * -1);z-index: 20;position: absolute;padding-top: var(--triangle-margin);padding-inline: var(--content-bounds-padding);}.popover-container.position-above {--entrance-direction: var(--entrance-y-offset);padding-top: 0;padding-bottom: var(--triangle-margin);}.popover-frame {--shadow-properties: 0 15px 20px -10px;--shadow-color: hsla(var(--bghs), calc(var(--bgl) * 0.2), 0.5);position: relative;padding: 10px;background: var(--color-popover-background);border: 1px solid var(--color-popover-border);border-radius: 5px;animation: popoverFrameEntrance 0.3s backwards cubic-bezier(0.16, 1, 0.3, 1);box-shadow: var(--shadow-properties) var(--shadow-color);}.popover-frame::before {content: '';position: absolute;width: var(--triangle-size);height: var(--triangle-size);transform: rotate(45deg);background-color: var(--color-popover-background);border-top-left-radius: 2px;border-left: 1px solid var(--color-popover-border);border-top: 1px solid var(--color-popover-border);left: calc(var(--triangle-offset) - (var(--triangle-size) / 2));top: calc(var(--triangle-size) / 2 * -1 - 1px);}.popover-container.position-above .popover-frame::before {transform: rotate(-135deg);top: auto;bottom: calc(var(--triangle-size) / 2 * -1 - 1px);}.popover-container.position-above .popover-frame {--shadow-properties: 0 10px 20px -10px;}@keyframes popoverFrameEntrance {from {opacity: 0;transform: translateY(var(--entrance-direction));}}.masonry {display: flex;gap: var(--widget-gap);}.masonry-column {flex: 1;display: flex;flex-direction: column;}.widget-small-content-bounds {max-width: 350px;margin: 0 auto;}.visually-hidden {clip-path: inset(50%);height: 1px;overflow: hidden;position: absolute;white-space: nowrap;width: 1px;}.list-horizontal-text {display: flex;list-style: none;flex-wrap: wrap;align-items: center;}.list-horizontal-text > *:not(:last-child)::after {content: '•' / "";color: var(--color-text-subdue);margin: 0 0.4rem;position: relative;top: 0.1rem;}.summary {width: 100%;cursor: pointer;word-spacing: -0.18em;user-select: none;list-style: none;position: relative;display: flex;z-index: 1;}.summary::-webkit-details-marker {display: none;}.details[open] .summary {margin-bottom: .8rem;}.summary::before {content: "";position: absolute;inset: -.3rem -.8rem;border-radius: var(--border-radius);background-color: var(--color-widget-background-highlight);opacity: 0;transition: opacity 0.2s;z-index: -1;}.details[open] .summary::before, .summary:hover::before {opacity: 1;}.details:not([open]) .list-with-transition {display: none;}.summary::after {content: "◀" / "";font-size: 1.2em;position: absolute;top: 0;bottom: 0;line-height: 1.3em;right: 0;transition: rotate .5s cubic-bezier(0.22, 1, 0.36, 1);}details[open] .summary::after {rotate: -90deg;}.dynamic-columns {--list-half-gap: 0.5rem;gap: var(--widget-content-vertical-padding) var(--widget-content-horizontal-padding);display: grid;grid-template-columns: repeat(var(--columns-per-row), 1fr);}.dynamic-columns > * {padding-left: var(--widget-content-horizontal-padding);border-left: 1px solid var(--color-separator);min-width: 0;}.dynamic-columns > *:first-child {padding-top: 0;border-top: none;border-left: none;}.dynamic-columns:has(> :nth-child(1)) { --columns-per-row: 1; }.dynamic-columns:has(> :nth-child(2)) { --columns-per-row: 2; }.dynamic-columns:has(> :nth-child(3)) { --columns-per-row: 3; }.dynamic-columns:has(> :nth-child(4)) { --columns-per-row: 4; }.dynamic-columns:has(> :nth-child(5)) { --columns-per-row: 5; }@container widget (max-width: 599px) {.dynamic-columns { gap: 0; }.dynamic-columns:has(> :nth-child(1)) { --columns-per-row: 1; }.dynamic-columns > * {border-left: none;padding-left: 0;}.dynamic-columns > *:not(:first-child) {margin-top: calc(var(--list-half-gap) * 2);}.dynamic-columns.list-with-separator > *:not(:first-child) {margin-top: var(--list-half-gap);border-top: 1px solid var(--color-separator);padding-top: var(--list-half-gap);}}@container widget (min-width: 600px) and (max-width: 849px) {.dynamic-columns:has(> :nth-child(2)) { --columns-per-row: 2; }.dynamic-columns > :nth-child(2n-1) {border-left: none;padding-left: 0;}}@container widget (min-width: 850px) and (max-width: 1249px) {.dynamic-columns:has(> :nth-child(3)) { --columns-per-row: 3; }.dynamic-columns > :nth-child(3n+1) {border-left: none;padding-left: 0;}}@container widget (min-width: 1250px) and (max-width: 1499px) {.dynamic-columns:has(> :nth-child(4)) { --columns-per-row: 4; }.dynamic-columns > :nth-child(4n+1) {border-left: none;padding-left: 0;}}@container widget (min-width: 1500px) {.dynamic-columns:has(> :nth-child(5)) { --columns-per-row: 5; }.dynamic-columns > :nth-child(5n+1) {border-left: none;padding-left: 0;}}.cards-vertical {flex-direction: column;}.cards-horizontal {--cards-per-row: 6.5;}.cards-horizontal, .cards-vertical {--cards-gap: calc(var(--widget-content-vertical-padding) * 0.7);display: flex;gap: var(--cards-gap);}.card {display: flex;flex-direction: column;}.cards-horizontal .card {flex-shrink: 0;width: calc(100% / var(--cards-per-row) - var(--cards-gap) * (var(--cards-per-row) - 1) / var(--cards-per-row));}.cards-grid .card {min-width: 0;}.cards-horizontal {overflow-x: auto;scrollbar-width: thin;padding-bottom: 1rem;}.cards-grid {--cards-per-row: 6;display: grid;grid-template-columns: repeat(var(--cards-per-row), 1fr);gap: calc(var(--widget-content-vertical-padding) * 0.7);}@container widget (max-width: 1300px) { .cards-horizontal { --cards-per-row: 5.5; } }@container widget (max-width: 1100px) { .cards-horizontal { --cards-per-row: 4.5; } }@container widget (max-width: 850px) { .cards-horizontal { --cards-per-row: 3.5; } }@container widget (max-width: 750px) { .cards-horizontal { --cards-per-row: 3.5; } }@container widget (max-width: 650px) { .cards-horizontal { --cards-per-row: 2.5; } }@container widget (max-width: 450px) { .cards-horizontal { --cards-per-row: 2.3; } }@container widget (max-width: 1300px) { .cards-grid { --cards-per-row: 5; } }@container widget (max-width: 1100px) { .cards-grid { --cards-per-row: 4; } }@container widget (max-width: 850px) { .cards-grid { --cards-per-row: 3; } }@container widget (max-width: 750px) { .cards-grid { --cards-per-row: 3; } }@container widget (max-width: 650px) { .cards-grid { --cards-per-row: 2; } }.text-truncate,.single-line-titles .title{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}.single-line-titles .title {display: block;}.text-truncate-2-lines, .text-truncate-3-lines {overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;}.text-truncate-3-lines { line-clamp: 3; -webkit-line-clamp: 3; }.text-truncate-2-lines { line-clamp: 2; -webkit-line-clamp: 2; }.visited-indicator:not(.text-truncate)::after,.visited-indicator.text-truncate::before {content: '↗' / "";margin-left: 0.5em;display: inline-block;position: relative;top: 0.15em;color: var(--color-text-base);}.visited-indicator.text-truncate {direction: rtl;text-align: left;}.visited-indicator:not(:visited)::before, .visited-indicator:not(:visited)::after {color: var(--color-primary);}.page-columns-transitioned .list-with-transition > * { animation: collapsibleItemReveal .25s backwards; }.list-with-transition > *:nth-child(2) { animation-delay: 30ms; }.list-with-transition > *:nth-child(3) { animation-delay: 60ms; }.list-with-transition > *:nth-child(4) { animation-delay: 90ms; }.list-with-transition > *:nth-child(5) { animation-delay: 120ms; }.list-with-transition > *:nth-child(6) { animation-delay: 150ms; }.list-with-transition > *:nth-child(7) { animation-delay: 180ms; }.list-with-transition > *:nth-child(8) { animation-delay: 210ms; }.list > *:not(:first-child) {margin-top: calc(var(--list-half-gap) * 2);}.list.list-with-separator > *:not(:first-child) {margin-top: var(--list-half-gap);border-top: 1px solid var(--color-separator);padding-top: var(--list-half-gap);}.collapsible-container:not(.container-expanded) > .collapsible-item {display: none;}.collapsible-item {animation: collapsibleItemReveal .25s backwards;}@keyframes collapsibleItemReveal {from {opacity: 0;transform: translateY(10px);}}.expand-toggle-button {font: inherit;border: 0;cursor: pointer;display: block;width: 100%;text-align: left;color: var(--color-text-base);text-transform: uppercase;font-size: var(--font-size-h4);padding: var(--widget-content-vertical-padding) 0;background: var(--color-widget-background);}.expand-toggle-button.container-expanded {position: sticky;bottom: -1px;}.expand-toggle-button-icon {display: inline-block;margin-left: 1rem;position: relative;top: -.2rem;}.expand-toggle-button-icon::before {content: '' / "";font-size: 0.8rem;transform: rotate(90deg);line-height: 1;display: inline-block;transition: transform 0.3s;}.expand-toggle-button.container-expanded .expand-toggle-button-icon::before {transform: rotate(-90deg);}.cards-grid.collapsible-container + .expand-toggle-button {text-align: center;margin-top: 0.5rem;background-color: var(--color-background);}.widget-content:has(.expand-toggle-button:last-child) {padding-bottom: 0;}.carousel-container {position: relative;}.carousel-container::before, .carousel-container::after {content: '';position: absolute;width: 2rem;top: 0;bottom: 1rem;z-index: 10;opacity: 0;pointer-events: none;transition-duration: 0.2s;}.carousel-container::before {background: linear-gradient(to right, var(--color-background), transparent);}.carousel-container::after {right: 0;background: linear-gradient(to left, var(--color-background), transparent);}.carousel-container.show-left-cutoff::before, .carousel-container.show-right-cutoff::after {opacity: 1;}.attachments {display: flex;flex-wrap: wrap;gap: 0.5rem;}:root:not([data-scheme=light]) .flat-icon {filter: invert(1);}.attachments > * {border-radius: var(--border-radius);padding: 0.1rem 0.5rem;font-size: var(--font-size-h6);background-color: var(--color-separator);}.progress-bar {border: 1px solid var(--color-progress-border);border-radius: var(--border-radius);display: flex;flex-direction: column;gap: 2px;padding: 2px;height: 1.5rem;margin-inline: -3px;}.progress-bar-combined {height: 3rem;}.popover-active > .progress-bar {transition: border-color .3s;border-color: var(--color-text-subdue);}.progress-value {--half-border-radius: calc(var(--border-radius) / 2);border-radius: 0 var(--half-border-radius) var(--half-border-radius) 0;background: var(--color-progress-value);width: calc(var(--percent) * 1%);min-width: 1px;flex: 1;}.progress-value:first-child {border-top-left-radius: var(--half-border-radius);}.progress-value:last-child {border-bottom-left-radius: var(--half-border-radius);}.progress-value-notice {background: linear-gradient(to right, var(--color-progress-value) 65%, var(--color-negative));}.value-separator {min-width: 2rem;margin-inline: 0.8rem;flex: 1;height: calc(1em * 1.1);border-bottom: 1px dotted var(--color-text-subdue);}.thumbnail {filter: grayscale(0.2) contrast(0.9);opacity: 0.8;transition: filter 0.2s, opacity .2s;}.thumbnail-container {flex-shrink: 0;border: 1px solid var(--color-separator);border-radius: var(--border-radius);}.thumbnail-container > * {border-radius: var(--border-radius);object-fit: cover;}.thumbnail-parent:hover .thumbnail {opacity: 1;filter: none;}.hide-scrollbars {scrollbar-width: none;}.hide-scrollbars::-webkit-scrollbar {display: none;}.ui-icon {width: 2.3rem;height: 2.3rem;display: block;flex-shrink: 0;}.size-h1 { font-size: var(--font-size-h1); }.size-h2 { font-size: var(--font-size-h2); }.size-h3 { font-size: var(--font-size-h3); }.size-h4 { font-size: var(--font-size-h4); }.size-base { font-size: var(--font-size-base); }.size-h5 { font-size: var(--font-size-h5); }.size-h6 { font-size: var(--font-size-h6); }.color-highlight { color: var(--color-text-highlight); }.color-paragraph { color: var(--color-text-paragraph); }.color-base { color: var(--color-text-base); }.color-subdue { color: var(--color-text-subdue); }.color-negative { color: var(--color-negative); }.color-positive { color: var(--color-positive); }.color-primary { color: var(--color-primary); }.color-primary-if-not-visited:not(:visited) {color: var(--color-primary);}.drag-and-drop-container {position: relative;}.drag-and-drop-decoy {outline: 1px dashed var(--color-primary);opacity: 0.25;border-radius: var(--border-radius);}.drag-and-drop-draggable {position: absolute;cursor: grabbing !important;}.drag-and-drop-draggable:empty {display: none;}.drag-and-drop-draggable * {cursor: grabbing !important;}.auto-scaling-textarea-container {position: relative;}.auto-scaling-textarea {position: absolute;inset: 0;background: none;border: none;font: inherit;resize: none;color: inherit;overflow: hidden;}.auto-scaling-textarea:focus {outline: none;}.auto-scaling-textarea-mimic {white-space: pre-wrap;min-height: 1lh;user-select: none;word-wrap: break-word;font: inherit;visibility: hidden;}.cursor-help { cursor: help; }.rounded { border-radius: var(--border-radius); }.break-all { word-break: break-all; }.text-left { text-align: left; }.text-right { text-align: right; }.text-center { text-align: center; }.text-elevate { margin-top: -0.2em; }.text-compact { word-spacing: -0.18em; }.text-very-compact { word-spacing: -0.35em; }.rtl { direction: rtl; }.shrink { flex-shrink: 1; }.shrink-0 { flex-shrink: 0; }.min-width-0 { min-width: 0; }.max-width-100 { max-width: 100%; }.block { display: block; }.inline-block { display: inline-block; }.overflow-hidden { overflow: hidden; }.relative { position: relative; }.flex { display: flex; }.flex-1 { flex: 1; }.flex-wrap { flex-wrap: wrap; }.flex-nowrap { flex-wrap: nowrap; }.justify-between { justify-content: space-between; }.justify-stretch { justify-content: stretch; }.justify-evenly { justify-content: space-evenly; }.justify-center { justify-content: center; }.justify-end { justify-content: end; }.uppercase { text-transform: uppercase; }.grow { flex-grow: 1; }.flex-column { flex-direction: column; }.items-center { align-items: center; }.self-center { align-self: center; }.items-start { align-items: start; }.items-end { align-items: end; }.gap-5 { gap: 0.5rem; }.gap-7 { gap: 0.7rem; }.gap-10 { gap: 1rem; }.gap-12 { gap: 1.2rem; }.gap-15 { gap: 1.5rem; }.gap-20 { gap: 2rem; }.gap-25 { gap: 2.5rem; }.gap-35 { gap: 3.5rem; }.gap-45 { gap: 4.5rem; }.gap-55 { gap: 5.5rem; }.margin-left-auto { margin-left: auto; }.margin-top-3 { margin-top: 0.3rem; }.margin-top-5 { margin-top: 0.5rem; }.margin-top-7 { margin-top: 0.7rem; }.margin-top-10 { margin-top: 1rem; }.margin-top-15 { margin-top: 1.5rem; }.margin-top-20 { margin-top: 2rem; }.margin-top-25 { margin-top: 2.5rem; }.margin-top-35 { margin-top: 3.5rem; }.margin-top-40 { margin-top: 4rem; }.margin-top-auto { margin-top: auto; }.margin-block-3 { margin-block: 0.3rem; }.margin-block-5 { margin-block: 0.5rem; }.margin-block-7 { margin-block: 0.7rem; }.margin-block-8 { margin-block: 0.8rem; }.margin-block-10 { margin-block: 1rem; }.margin-block-15 { margin-block: 1.5rem; }.margin-bottom-3 { margin-bottom: 0.3rem; }.margin-bottom-5 { margin-bottom: 0.5rem; }.margin-bottom-7 { margin-bottom: 0.7rem; }.margin-bottom-10 { margin-bottom: 1rem; }.margin-bottom-15 { margin-bottom: 1.5rem; }.margin-bottom-auto { margin-bottom: auto; }.margin-bottom-widget { margin-bottom: var(--widget-content-vertical-padding); }.padding-widget { padding: var(--widget-content-padding); }.padding-block-widget { padding-block: var(--widget-content-vertical-padding); }.padding-inline-widget { padding-inline: var(--widget-content-horizontal-padding); }.pointer-events-none { pointer-events: none; }.select-none { user-select: none; }.padding-block-5 { padding-block: 0.5rem; }.scale-half { transform: scale(0.5); }.list { --list-half-gap: 0rem; }.list-gap-2 { --list-half-gap: 0.1rem; }.list-gap-4 { --list-half-gap: 0.2rem; }.list-gap-8 { --list-half-gap: 0.4rem; }.list-gap-10 { --list-half-gap: 0.5rem; }.list-gap-14 { --list-half-gap: 0.7rem; }.list-gap-20 { --list-half-gap: 1rem; }.list-gap-24 { --list-half-gap: 1.2rem; }.list-gap-34 { --list-half-gap: 1.7rem; }@media (max-width: 1190px) {.size-base-on-mobile { font-size: var(--font-size-base); }}@media (max-width: 1190px) {.header-container {display: none;}.page-column-small .size-title-dynamic {font-size: var(--font-size-h3);}.page-column-small {width: 100%;flex-shrink: 1;}.page-column {display: none;animation: columnEntrance .0s cubic-bezier(0.25, 1, 0.5, 1) backwards;}.page-columns-transitioned .page-column {animation-duration: .3s;}@keyframes columnEntrance {from {opacity: 0;transform: scaleX(0.95);}}.mobile-navigation-offset {height: var(--mobile-navigation-height);flex-shrink: 0;}.mobile-navigation {display: block;position: fixed;bottom: 0;transform: translateY(calc(100% - var(--mobile-navigation-height)));/* Pull nav flush to the screen edges — combined with the more* transparent background it reads as a thin hairline strip* rather than a heavy floating card. The previous left/right* inset (content-bounds-padding) made the bar look like a* floating widget; this is more "system bar". */left: 0;right: 0;z-index: 11;/* Subtle / minimal mobile nav: very translucent background with* a backdrop blur so the content underneath is visible through* it; a single faint hairline border at the top; no box-shadow.* Feels much lighter than a solid bar. */background-color: color-mix(in srgb, var(--color-widget-background) 70%, transparent);-webkit-backdrop-filter: saturate(180%) blur(14px);backdrop-filter: saturate(180%) blur(14px);border: 0;border-top: 1px solid color-mix(in srgb, var(--color-widget-content-border) 55%, transparent);border-radius: 0;transition: transform .26s cubic-bezier(0.4, 0, 0.2, 1), opacity .2s ease;will-change: transform;}/* Scroll-direction hide: when the JS handler decides the bar* should be off-screen (scrolling down past 80px, not within 120px* of footer, drawer closed), this class slides + fades the bar* out. The drawer-open :has selector below overrides hidden so a* user with the menu open can never lose the menu mid-scroll. */.mobile-navigation.mobile-navigation-hidden:not(:has(.mobile-navigation-page-links-input:checked)) {transform: translateY(100%);opacity: 0;pointer-events: none;}.mobile-navigation-actions > * {padding-block: 1.1rem;padding-inline: var(--content-bounds-padding);cursor: pointer;transition: background-color 50ms;}.mobile-navigation-actions > *:active {background-color: var(--color-widget-background-highlight);}.mobile-navigation:has(.mobile-navigation-page-links-input:checked) .hamburger-icon {--spacing: 7px;color: var(--color-primary);height: 2px;}.mobile-navigation:has(.mobile-navigation-page-links-input:checked) {transform: translateY(0);}.mobile-navigation-page-links {border-top: 1px solid var(--color-widget-content-border);border-bottom: 1px solid var(--color-widget-content-border);padding: 20px var(--content-bounds-padding);display: flex;align-items: center;overflow-x: auto;scrollbar-width: thin;gap: 2.5rem;}.mobile-navigation-icons {display: flex;justify-content: space-around;align-items: center;}body:has(.mobile-navigation-input[value="0"]:checked) .page-columns > :nth-child(1),body:has(.mobile-navigation-input[value="1"]:checked) .page-columns > :nth-child(2),body:has(.mobile-navigation-input[value="2"]:checked) .page-columns > :nth-child(3) {display: block;}.mobile-navigation-label {display: flex;flex: 1;max-width: 50px;height: var(--mobile-navigation-height);justify-content: center;align-items: center;cursor: pointer;font-size: 15px;line-height: var(--mobile-navigation-height);}/* "Back to home" wordmark on the leftmost slot of the bottom nav.* Replaces the legacy ↑ "scroll to top" arrow — visitors on a* deep page get a one-tap route home; the browser already handles* scroll-to-top natively. Layout overrides only here; the wordmark* font / weight / letter-spacing / lowercase live on the shared* .footer-yopatro-wordmark, .mobile-header-wordmark,* .mobile-navigation-brand rule in site.css so all three surfaces* stay visually identical. */.mobile-navigation-brand {max-width: none;flex: 0 0 auto;padding: 0 0.85rem;text-decoration: none;}.mobile-navigation-brand:hover,.mobile-navigation-brand:focus-visible {color: var(--color-primary);}.mobile-navigation-pill {display: block;background: var(--color-text-base);height: 10px;width: 10px;border-radius: 10px;transition: width .3s, background-color .3s;}.mobile-navigation-label:hover > .mobile-navigation-pill {background-color: var(--color-text-highlight);}.mobile-navigation-label:hover {color: var(--color-text-highlight);}.mobile-navigation-input:checked + .mobile-navigation-pill {background: var(--color-primary);width: 30px;}.mobile-navigation-input, .mobile-navigation-page-links-input {display: none;}.hamburger-icon {--spacing: 4px;width: 1em;height: 1px;background-color: currentColor;transition: color .3s, box-shadow .3s;box-shadow: 0 calc(var(--spacing) * -1) 0 0 currentColor, 0 var(--spacing) 0 0 currentColor;}.expand-toggle-button.container-expanded {bottom: var(--mobile-navigation-height);}.cards-grid + .expand-toggle-button.container-expanded {box-shadow: 0 var(--border-radius) 0 0 var(--color-background);}.weather-column-rain::before {background-size: 7px 7px;}.ios .search-input {font-size: 16px;}}@media (max-width: 1190px) and (display-mode: standalone) {:root {--safe-area-inset-bottom: env(safe-area-inset-bottom, 0);}.ios .body-content {height: 100dvh;}.expand-toggle-button.container-expanded {bottom: calc(var(--mobile-navigation-height) + var(--safe-area-inset-bottom));}.mobile-navigation {transform: translateY(calc(100% - var(--mobile-navigation-height) - var(--safe-area-inset-bottom)));padding-bottom: var(--safe-area-inset-bottom);}.mobile-navigation-icons {padding-bottom: var(--safe-area-inset-bottom);transition: padding-bottom .3s;}.mobile-navigation-offset {height: calc(var(--mobile-navigation-height) + var(--safe-area-inset-bottom));}.mobile-navigation-icons:has(.mobile-navigation-page-links-input:checked) {padding-bottom: 0;}}@media (display-mode: standalone) {body {padding-top: env(safe-area-inset-top, 0);}}@media (max-width: 550px) {:root {/* yopatro a11y: mobile root scales proportionally with thedesktop bump (10→12 → 9.4→11.2), keeping relative densitythe same but lifting absolute sizes to readable territory. */font-size: 11.2px;--widget-gap: 15px;--widget-content-vertical-padding: 10px;--widget-content-horizontal-padding: 10px;--content-bounds-padding: 10px;}.dynamic-columns:has(> :nth-child(1)) { --columns-per-row: 1; }.row-reverse-on-mobile {flex-direction: row-reverse;}.hide-on-mobile, .thumbnail-container:has(> .hide-on-mobile) {display: none}.mobile-reachability-header {display: block;font-size: 3rem;padding: 10vh 1rem;text-align: center;color: var(--color-text-highlight);animation: pageColumnsEntrance .3s cubic-bezier(0.25, 1, 0.5, 1) backwards;}/* Mobile top header — clean minimal identity strip for pages that opt in* via `show-mobile-header: true` in glance.yml. Matches the bottom nav's* translucent-blur aesthetic (see .mobile-navigation) so the two bars* feel like one system. Scrolls away with the page (no fixed position)* to stay subtle; the bottom nav is the one with persistent hide/show. */.mobile-header {display: flex;align-items: center;justify-content: space-between;gap: 0.75rem;padding: 0.6rem 0.9rem;margin-bottom: 1rem;border: 1px solid var(--color-widget-content-border);border-radius: var(--border-radius);background-color: color-mix(in srgb, var(--color-widget-background) 86%, transparent);-webkit-backdrop-filter: saturate(150%) blur(12px);backdrop-filter: saturate(150%) blur(12px);}.mobile-header-brand {display: inline-flex;align-items: center;gap: 0.55rem;color: var(--color-text-highlight);text-decoration: none;font-weight: 600;letter-spacing: -0.01em;}.mobile-header-brand:hover,.mobile-header-brand:focus-visible {color: var(--color-primary);}.mobile-header-logo {width: 1.35rem;height: 1.35rem;display: block;flex-shrink: 0;}.mobile-header-wordmark {font-size: var(--font-size-h4);line-height: 1;/* Font / weight / letter-spacing inherited from the shared* wordmark rule in site.css so the mobile header strip uses* the same typeface as the footer + mobile bottom-nav brand. */}.mobile-header-page {font-size: 0.85rem;text-transform: uppercase;letter-spacing: 0.08em;color: var(--color-text-subdue);overflow: hidden;text-overflow: ellipsis;white-space: nowrap;min-width: 0;}.rss-detailed-thumbnail > * {height: 6rem;}.rss-detailed-description {line-clamp: 3;-webkit-line-clamp: 3;}}/* Hide the mobile-only top header on desktop — it's wrapped in* @media (max-width: 1190px) for the styling, but the template emits* it unconditionally when show-mobile-header: true is set. Without* this rule the SVG logo falls back to its native viewBox size on* desktop and renders as a massive icon. */.mobile-header {display: none;}/** Per-theme typography + spacing.** Each yopatro theme pairs a display face with a body face and tunes a few* knobs (letter-spacing, heading weight, border-radius) so themes feel like* different products, not a palette flip.** Fonts are loaded once via fonts.googleapis.com (see docs/glance.yml* `document.head`). Devanagari glyphs still fall back to 'Lohit Devanagari'* through its unicode-range @font-face in main.css.*/:root {--font-body: 'JetBrains Mono', ui-monospace, monospace;--font-display: 'JetBrains Mono', ui-monospace, monospace;--font-weight-display: 700;--display-letter-spacing: 0;--display-text-transform: none;}body {font-family: 'Lohit Devanagari', var(--font-body);}.widget-header,.widget > header,.widget-title,.size-h1, .size-h2, .size-h3, .size-h4 {font-family: 'Lohit Devanagari', var(--font-display);font-weight: var(--font-weight-display);letter-spacing: var(--display-letter-spacing);text-transform: var(--display-text-transform);}/* =========================================================================* Default / base — "Kathmandu Dawn"* Warm ink dark + saffron. Editorial feel: Playfair display, Inter body.* Applied when no [data-theme] preset is selected OR the base theme is live.* ========================================================================= */html:not([data-theme]),html[data-theme=""],html[data-theme="default"] {--font-body: 'Inter', system-ui, -apple-system, sans-serif;--font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;--font-weight-display: 700;--display-letter-spacing: -0.005em;--border-radius: 6px;}/* =========================================================================* "himalaya-light" — a proper light mode, not a color flip.* Cool paper, deep cobalt. Body Inter, display Space Grotesk (geometric).* ========================================================================= */html[data-theme="himalaya-light"] {--font-body: 'Inter', system-ui, -apple-system, sans-serif;--font-display: 'Space Grotesk', 'Inter', system-ui, sans-serif;--font-weight-display: 700;--display-letter-spacing: -0.015em;--border-radius: 4px;}html[data-theme="himalaya-light"] body {font-feature-settings: "ss01", "cv11";}/* =========================================================================* "newa-press" — editorial newspaper dark.* Crimson + near-black; body Lora (serif), display Playfair Display.* Bigger heading weight, slightly tighter letter-spacing.* ========================================================================= */html[data-theme="newa-press"] {--font-body: 'Lora', 'Georgia', 'Times New Roman', serif;--font-display: 'Playfair Display', 'Lora', Georgia, serif;--font-weight-display: 900;--display-letter-spacing: -0.01em;--border-radius: 3px;}html[data-theme="newa-press"] body {font-feature-settings: "kern", "liga";line-height: 1.65;}/* =========================================================================* "pagoda-brass" — warm sepia temple wood + brass gold.* Body Lora; display Cinzel (Roman capitals, uppercase for section headers).* ========================================================================= */html[data-theme="pagoda-brass"] {--font-body: 'Lora', Georgia, 'Times New Roman', serif;--font-display: 'Cinzel', 'Playfair Display', Georgia, serif;--font-weight-display: 700;--display-letter-spacing: 0.08em;--display-text-transform: uppercase;--border-radius: 8px;}html[data-theme="pagoda-brass"] .widget-header,html[data-theme="pagoda-brass"] .widget > header,html[data-theme="pagoda-brass"] .widget-title {font-size: 0.95em;}/* =========================================================================* "himalayan-teal" — refined cool dark, Inter + Space Grotesk like Himalaya* light but tuned for dark.* ========================================================================= */html[data-theme="himalayan-teal"] {--font-body: 'Inter', system-ui, -apple-system, sans-serif;--font-display: 'Space Grotesk', 'Inter', system-ui, sans-serif;--font-weight-display: 600;--display-letter-spacing: -0.01em;--border-radius: 5px;}/* =========================================================================* "everest-night" — Cron-inspired focus dark.* Inter body + Inter display (same face, heavier weight), tight tracking,* modest border radius. The chrome gets out of the way; the content leads.* ========================================================================= */html[data-theme="everest-night"] {--font-body: 'Inter', system-ui, -apple-system, sans-serif;--font-display: 'Inter', system-ui, -apple-system, sans-serif;--font-weight-display: 600;--display-letter-spacing: -0.02em;--border-radius: 6px;}html[data-theme="everest-night"] body {font-feature-settings: "cv11", "ss01", "cv02";font-weight: 450;}/* =========================================================================* "everest-dawn" — Cron-inspired focus light.* Identical typography to Everest Night; light palette does the heavy* lifting. Letter-spacing stays tight — it's the same product, lit.* ========================================================================= */html[data-theme="everest-dawn"] {--font-body: 'Inter', system-ui, -apple-system, sans-serif;--font-display: 'Inter', system-ui, -apple-system, sans-serif;--font-weight-display: 600;--display-letter-spacing: -0.02em;--border-radius: 6px;}html[data-theme="everest-dawn"] body {font-feature-settings: "cv11", "ss01", "cv02";font-weight: 450;}/* =========================================================================* "swiss" — International Typographic Style.** Inter throughout; near-black on off-white; orange reserved for* today/countdowns/active nav. Widget chrome (backgrounds, borders,* shadows, rounded corners) is stripped so whitespace carries the grid.* Widget headers become small uppercase tracked labels.** Spacing — both between widgets and inside them — inherits the Glance* defaults so Swiss reads with the same rhythm as every other theme.* Only cosmetics change here: typography, colors, borders, radii.* ========================================================================= */html[data-theme="swiss"] {--font-body:    'Inter', system-ui, -apple-system, 'Helvetica Neue', Helvetica, Arial, sans-serif;--font-display: 'Inter', system-ui, -apple-system, 'Helvetica Neue', Helvetica, Arial, sans-serif;--font-weight-display: 600;--display-letter-spacing: -0.015em;--border-radius: 0;}html[data-theme="swiss"] body {font-feature-settings: "kern", "liga", "calt", "tnum";letter-spacing: -0.005em;line-height: 1.55;}/* Strip widget chrome: no card, no border, no shadow. Keep default padding* so internal rhythm matches other themes. */html[data-theme="swiss"] .widget-content:not(.widget-content-frameless),html[data-theme="swiss"] .widget-content-frame {background: transparent;border: 0;box-shadow: none;border-radius: 0;}html[data-theme="swiss"] .widget-header {font-size: 0.95rem;font-weight: 500;letter-spacing: 0.14em;text-transform: uppercase;color: var(--color-text-subdue);}html[data-theme="swiss"] .widget-header h2,html[data-theme="swiss"] .widget-header > header,html[data-theme="swiss"] .widget-title {font-size: inherit;font-weight: inherit;letter-spacing: inherit;text-transform: inherit;color: inherit;}html[data-theme="swiss"] .logo {border-right: 0;font-weight: 600;letter-spacing: -0.03em;}html[data-theme="swiss"] .nav-item {font-weight: 500;letter-spacing: -0.005em;}html[data-theme="swiss"] .bs-calendar-grid-cell {background: transparent;border-color: transparent;border-radius: 0;}html[data-theme="swiss"] .bs-calendar-grid-cell:not(.is-blank):not(.is-today):hover,html[data-theme="swiss"] .bs-calendar-grid-cell:not(.is-blank):focus-visible {background: color-mix(in srgb, var(--color-primary) 8%, transparent);border-color: transparent;}html[data-theme="swiss"] .bs-calendar-grid-cell.is-today {background: var(--color-primary);color: var(--color-background);border-radius: 0;}html[data-theme="swiss"] .bs-calendar-details,html[data-theme="swiss"] .bs-calendar-popover {background: transparent;border: 0;border-top: 1px solid var(--color-separator);border-radius: 0;}html[data-theme="swiss"] .bookmarks-group,html[data-theme="swiss"] .forum-posts,html[data-theme="swiss"] .widget-type-rss .list,html[data-theme="swiss"] .widget-type-rss .cards-horizontal-2,html[data-theme="swiss"] .widget-type-rss .cards-horizontal,html[data-theme="swiss"] .widget-type-markets .market {background: transparent;border: 0;box-shadow: none;}html[data-theme="swiss"] .festival-days-num {color: var(--color-primary);font-weight: 700;letter-spacing: -0.03em;}html[data-theme="swiss"] .weather-current-temperature {font-weight: 700;letter-spacing: -0.035em;}html[data-theme="swiss"] hr {background: currentColor;opacity: 0.12;height: 1px;}