{
  "version": 3,
  "sources": ["notionkit.css"],
  "sourcesContent": ["/* ============================================================\n   NOTIONKIT COMPONENT LIBRARY\n   Jungherz GmbH \u2013 v1.19.1\n\n   A pure CSS component library for calm, document-centric\n   workspace interfaces. No build step, no JavaScript, no\n   framework coupling.\n\n   Features:\n   - Scoped reset (no unprefixed global selectors)\n   - Light mode (default) + dark mode via [data-theme=\"dark\"]\n   - ~130 components across app shell, page, database, forms,\n     overlays, collaboration and AI surfaces\n   - Editor adapter section for TipTap / BlockNote / Novel, sharing\n     its rules with .nk-prose for rendered text\n   ============================================================ */\n\n\n/* ============================================================\n   A NOTE ON THE TWO-BLOCK STRUCTURE\n\n   This file is physically split into two contiguous blocks:\n\n     BLOCK A \u2013 design tokens:  :root { \u2026 } [data-theme=\"dark\"] { \u2026 }\n     BLOCK B \u2013 components:     everything else, no --nk-* declarations\n\n   build-styles-js.mjs slices the minified sheet at exactly those\n   two rule blocks and emits tokensCss / componentsCss separately.\n   The split is asserted at build time; if a --nk-* declaration\n   leaks into a component rule, or if the two token blocks stop\n   being adjacent, the build fails.\n\n   Why it matters: a shadow root that adopts the *whole* sheet\n   also adopts the token blocks, and inside that shadow root the\n   selectors match the element's own theme wrapper. Every token is\n   then re-declared locally \u2014 and a matching rule always beats an\n   inherited value, so a consumer's own `:root { --nk-accent: \u2026 }`\n   never arrives. Consumers that adopt only componentsCss keep\n   inheritance intact and put tokensCss on the document instead.\n\n   Practical consequences while editing this file:\n   - Never declare a --nk-* custom property outside BLOCK A.\n   - Never put a rule between the :root and [data-theme=\"dark\"] blocks.\n   - Derive brand-dependent values with color-mix() from a token,\n     never from a hard-coded hex. Re-branding must stay reachable\n     from a handful of declarations.\n   ============================================================ */\n\n\n/* ============================================================\n   A NOTE ON THE ::slotted() PAIRS\n\n   Several rules are written twice, e.g.\n\n     .nk-tree-item .icon,\n     .nk-tree-item ::slotted(.icon) { \u2026 }\n\n   They are not redundant. When this sheet is adopted into a shadow\n   root \u2014 as NotionKit Elements will do \u2014 content passed in from the\n   outside stays in the light DOM and is therefore no descendant of\n   anything in the shadow tree. `.nk-tree-item .icon` cannot reach it;\n   only `::slotted()` can.\n\n   Do not \"simplify\" these away. In the document they match nothing,\n   so they cost nothing there.\n\n   Three limits worth knowing:\n   - ::slotted() only ever matches the assigned node itself. An icon\n     wrapped in a container \u2014 <span slot=\"icon\"><em>\uD83D\uDCCC</em></span> \u2014\n     cannot be styled from inside the shadow root at all. Pass slotted\n     content directly.\n   - The descendant space is mandatory: `.nk-callout ::slotted(.c-icon)`,\n     never `.nk-callout::slotted(.c-icon)`. The compound before\n     ::slotted selects the slot element inside the shadow tree.\n   - For slotted content the outer tree wins. A consumer's own document\n     rule takes precedence over ::slotted() from the shadow tree. That\n     is a feature, not a bug.\n   - Since 1.1.0 every part that NotionKit Elements exposes as a named\n     slot has a second twin keyed on the slot name, e.g.\n     `.nk-tree-item ::slotted([slot=\"icon\"])`, so a consumer writes\n     <span slot=\"icon\">\uD83D\uDCC1</span> without repeating the internal class.\n   - Margin and padding in a twin are marked !important when the scoped\n     reset (0. above) also sets them \u2013 on buttons, headings, paragraphs.\n     The reset lives in the document tree, and for *normal* declarations\n     the outer tree beats ::slotted() from the shadow tree; for\n     !important ones the inner tree wins. Without the flag a slotted\n     <button> inside <nk-segmented> would render with the reset's\n     zero padding. Everything else in a twin stays overridable.\n   ============================================================ */\n\n\n/* ============================================================\n   0. SCOPED RESET\n\n   NotionKit never touches selectors it does not own (PRD 7.4).\n   Instead of `* { margin: 0 }` the reset reaches only elements that\n   carry an nk- class and plain content elements *inside* NotionKit\n   surfaces. Specificity is (0,1,0), the same as a single class, and\n   the reset is declared before every component rule \u2014 so component\n   rules at equal specificity win on source order.\n   ============================================================ */\n[class*=\"nk-\"],\n[class*=\"nk-\"] *,\n[class*=\"nk-\"]::before,\n[class*=\"nk-\"]::after,\n[class*=\"nk-\"] *::before,\n[class*=\"nk-\"] *::after {\n  box-sizing: border-box;\n}\n\n[class*=\"nk-\"] :where(h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd, pre, ul, ol, li) {\n  margin: 0;\n  padding: 0;\n}\n\n[class*=\"nk-\"] :where(ul, ol) {\n  list-style: none;\n}\n\n[class*=\"nk-\"] :where(button, input, select, textarea, option, optgroup, fieldset, legend),\n:where(button, input, select, textarea)[class*=\"nk-\"] {\n  margin: 0;\n  padding: 0;\n}\n\n/* `hidden` hides. The attribute is only a user-agent rule, and every\n   component that sets its own display beat it: a hidden button, tag or\n   banner stayed on screen. !important gives the attribute its platform\n   meaning back, for nk- elements and for slotted nodes in a shadow root;\n   hidden=\"until-found\" keeps the browser's own content-visibility. Two\n   rules, not one list: a browser that rejects ::slotted() outside a shadow\n   root would otherwise drop the document half with it. */\n[class*=\"nk-\"][hidden]:not([hidden=\"until-found\" i]) { display: none !important; }\n::slotted([hidden]:not([hidden=\"until-found\" i])) { display: none !important; }\n\n\n/* ============================================================\n   BLOCK A \u2013 DESIGN TOKENS\n\n   Everything below until the end of the [data-theme=\"dark\"] block\n   is extracted verbatim by build-styles-js.mjs. Keep the two rule\n   blocks adjacent and free of anything else.\n\n   Re-branding needs one declaration: --nk-accent. Focus rings,\n   checked states, the selected model card and the primary button\n   are all mixed from it. --nk-danger and the three --nk-decor-*\n   values are the second tier, for destructive actions and for the\n   decorative avatar/cover gradients.\n   ============================================================ */\n:root {\n  /* Tells the browser which scheme its own widgets should use: date\n     and time pickers, number spinners, select popups, scrollbars and\n     autofill. Without it they render dark on a light page. */\n  color-scheme: light;\n\n  /* ---- Surfaces ----\n     Values follow Notion's 2025 light theme: a neutral sidebar grey, a\n     hover wash mixed from the text colour, and a filled input surface. */\n  --nk-bg: #ffffff;\n  --nk-bg-sidebar: #f9f8f7;\n  --nk-bg-hover: rgba(55,53,47,0.06);\n  --nk-bg-active: rgba(55,53,47,0.08);\n  --nk-bg-callout: #f0efed;\n  --nk-bg-code: #f7f6f3;\n  --nk-bg-card: #ffffff;\n  --nk-bg-input: rgba(242,241,238,0.6);\n\n  /* ---- Text ----\n     Opaque greys, not alpha: Notion moved from rgba(55,53,47,\u03B1) to fixed\n     values so text reads the same on white and on the sidebar. The\n     sidebar gets its own, darker step \u2013 that is where legibility was\n     lost most. */\n  --nk-text: #2c2c2b;\n  --nk-text-secondary: #7d7a75;\n  --nk-text-tertiary: #91918e;\n  --nk-text-sidebar: #5f5e5b;\n\n  /* ---- Borders ---- */\n  --nk-border: rgba(28,19,1,0.11);\n  --nk-border-strong: rgba(27,21,0,0.19);\n\n  /* ---- Accent & semantics ---- */\n  --nk-accent: #2383e2;\n  --nk-on-accent: #ffffff;\n  --nk-danger: #cd3c3a;\n\n  /* ---- Colour scale ----\n     Notion's nine hues in three roles. `tag`: the select-option pill \u2013\n     a saturated fill with near-black text. `tint`: the soft block /\n     callout background, for banners and tracks, meant to sit under\n     the normal text colour. `color`: the mid-tone for coloured text\n     and marks \u2013 deltas, date mentions, progress fills. */\n  --nk-tag-gray-bg: #e3e2e0;   --nk-tag-gray-text: #32302c;\n  --nk-tag-brown-bg: #eee0da;  --nk-tag-brown-text: #442a1e;\n  --nk-tag-orange-bg: #fadec9; --nk-tag-orange-text: #49290e;\n  --nk-tag-yellow-bg: #fdecc8; --nk-tag-yellow-text: #402c1b;\n  --nk-tag-green-bg: #dbeddb;  --nk-tag-green-text: #1c3829;\n  --nk-tag-blue-bg: #d3e5ef;   --nk-tag-blue-text: #183347;\n  --nk-tag-purple-bg: #e8deee; --nk-tag-purple-text: #412454;\n  --nk-tag-pink-bg: #f5e0e9;   --nk-tag-pink-text: #4c2337;\n  --nk-tag-red-bg: #ffe2dd;    --nk-tag-red-text: #5d1715;\n\n  --nk-tint-gray: #f1f1ef;   --nk-color-gray: #787774;\n  --nk-tint-brown: #f4eeee;  --nk-color-brown: #9f6b53;\n  --nk-tint-orange: #fbecdd; --nk-color-orange: #d9730d;\n  --nk-tint-yellow: #fbf3db; --nk-color-yellow: #cb912f;\n  --nk-tint-green: #edf3ec;  --nk-color-green: #448361;\n  --nk-tint-blue: #e7f3f8;   --nk-color-blue: #337ea9;\n  --nk-tint-purple: #f8f3fc; --nk-color-purple: #9065b0;\n  --nk-tint-pink: #fcf1f6;   --nk-color-pink: #c14c8a;\n  --nk-tint-red: #fdebec;    --nk-color-red: #cd3c3a;\n\n  /* ---- Decorative ----\n     Avatar gradients and the page cover. Deliberately identical in\n     both themes: these are illustrative surfaces, not UI chrome. */\n  --nk-decor-purple: #9065b0;\n  --nk-decor-blue: #529cca;\n  --nk-decor-orange: #d9730d;\n\n  /* ---- Overlays ---- */\n  --nk-scrim: rgba(15,15,15,0.6);\n  --nk-scrim-soft: rgba(15,15,15,0.5);\n\n  /* ---- Metrics ---- */\n  --nk-sidebar-width: 260px;\n  --nk-peek-width: 560px;\n  --nk-page-full-max: none;\n  --nk-cover-height: 200px;\n  --nk-panel-cover-height: 64px;\n  --nk-tab-bar-height: 58px;\n  --nk-radius: 6px;\n  --nk-font: ui-sans-serif, -apple-system, \"Segoe UI\", Inter, Helvetica, Arial, sans-serif;\n  --nk-font-mono: ui-monospace, \"SF Mono\", Menlo, Consolas, monospace;\n\n  /* ---- Shadows ----\n     --nk-shadow-btn is Notion's white button: a 1px inset ring plus a\n     1px drop, so the outline is drawn by the shadow, not by a border. */\n  --nk-shadow-menu: rgba(15,15,15,0.05) 0px 0px 0px 1px, rgba(15,15,15,0.1) 0px 3px 6px, rgba(15,15,15,0.2) 0px 9px 24px;\n  --nk-shadow-card: 0 1px 2px rgba(0,0,0,0.04);\n  --nk-shadow-btn: inset 0 0 0 1px rgba(15,15,15,0.1), 0 1px 2px rgba(15,15,15,0.1);\n  --nk-shadow-knob: 0 1px 2px rgba(0,0,0,0.2);\n  --nk-shadow-segment: 0 1px 2px rgba(0,0,0,0.08);\n}\n\n[data-theme=\"dark\"] {\n  color-scheme: dark;\n\n  --nk-bg: #191919;\n  --nk-bg-sidebar: #202020;\n  --nk-bg-hover: rgba(255,255,255,0.055);\n  --nk-bg-active: rgba(255,255,255,0.08);\n  --nk-bg-callout: #252525;\n  --nk-bg-code: #202020;\n  --nk-bg-card: #202020;\n  --nk-bg-input: rgba(255,255,255,0.055);\n\n  --nk-text: rgba(255,255,255,0.81);\n  --nk-text-secondary: rgba(255,255,255,0.46);\n  --nk-text-tertiary: rgba(255,255,255,0.32);\n  --nk-text-sidebar: rgba(255,255,255,0.62);\n\n  --nk-border: rgba(255,255,255,0.094);\n  --nk-border-strong: rgba(255,255,255,0.16);\n\n  --nk-accent: #529CCA;\n  --nk-danger: #df5452;\n\n  --nk-tag-gray-bg: #373737;   --nk-tag-gray-text: rgba(255,255,255,0.85);\n  --nk-tag-brown-bg: #603b2c;  --nk-tag-brown-text: rgba(255,255,255,0.85);\n  --nk-tag-orange-bg: #854c1d; --nk-tag-orange-text: rgba(255,255,255,0.85);\n  --nk-tag-yellow-bg: #89632a; --nk-tag-yellow-text: rgba(255,255,255,0.85);\n  --nk-tag-green-bg: #2b593f;  --nk-tag-green-text: rgba(255,255,255,0.85);\n  --nk-tag-blue-bg: #28456c;   --nk-tag-blue-text: rgba(255,255,255,0.85);\n  --nk-tag-purple-bg: #492f64; --nk-tag-purple-text: rgba(255,255,255,0.85);\n  --nk-tag-pink-bg: #69314c;   --nk-tag-pink-text: rgba(255,255,255,0.85);\n  --nk-tag-red-bg: #6e3630;    --nk-tag-red-text: rgba(255,255,255,0.85);\n\n  --nk-tint-gray: #252525;   --nk-color-gray: #9b9b9b;\n  --nk-tint-brown: #2e2724;  --nk-color-brown: #ba856f;\n  --nk-tint-orange: #36291f; --nk-color-orange: #c77d48;\n  --nk-tint-yellow: #372e20; --nk-color-yellow: #ca8f3d;\n  --nk-tint-green: #242b26;  --nk-color-green: #529e72;\n  --nk-tint-blue: #1f282d;   --nk-color-blue: #5e87c9;\n  --nk-tint-purple: #2a2430; --nk-color-purple: #9d68d3;\n  --nk-tint-pink: #2e2328;   --nk-color-pink: #d15796;\n  --nk-tint-red: #332523;    --nk-color-red: #df5452;\n\n  --nk-shadow-menu: rgba(15,15,15,0.2) 0px 0px 0px 1px, rgba(15,15,15,0.4) 0px 3px 6px, rgba(15,15,15,0.6) 0px 9px 24px;\n  --nk-shadow-card: none;\n  --nk-shadow-btn: inset 0 0 0 1px rgba(255,255,255,0.1), 0 1px 2px rgba(0,0,0,0.3);\n}\n\n\n/* ============================================================\n   BLOCK B \u2013 COMPONENTS\n\n   No --nk-* declarations below this line. Grouped by PRD chapter 5.\n   ============================================================ */\n\n\n/* ============================================================\n   B0. DOCUMENT BASE (opt-in)\n\n   Applied by adding class=\"nk-body\" to <body>. Kept opt-in so the\n   library never claims the page it is embedded in.\n   ============================================================ */\n.nk-body {\n  margin: 0;\n  min-height: 100vh;\n  min-height: 100dvh;   /* iOS standalone PWAs count the status bar into 100vh */\n  font-family: var(--nk-font);\n  font-size: 14px;\n  background: var(--nk-bg);\n  color: var(--nk-text);\n  /* `auto`, as in Notion. `antialiased` thins every glyph on macOS and was\n     the single biggest reason text looked lighter than the original. */\n  -webkit-font-smoothing: auto;\n  transition: background .25s ease, color .25s ease;\n}\n\n\n/* ============================================================\n   B1. APP SHELL & LAYOUT  (PRD 5.1)\n   ============================================================ */\n.nk-app { display: flex; height: 100vh; height: 100dvh; overflow: hidden; }\n\n/* ---- Sidebar ---- */\n.nk-sidebar {\n  width: calc(var(--nk-sidebar-width) + env(safe-area-inset-left, 0px));\n  min-width: calc(var(--nk-sidebar-width) + env(safe-area-inset-left, 0px));\n  padding-left: env(safe-area-inset-left, 0px);\n  background: var(--nk-bg-sidebar);\n  display: flex; flex-direction: column;\n  border-right: 1px solid var(--nk-border);\n  transition: background .25s ease, margin-left .24s cubic-bezier(.2, .8, .25, 1);\n}\n\n.nk-workspace {\n  display: flex; align-items: center; gap: 8px;\n  padding: 10px 12px; margin: 6px 8px 2px;\n  border-radius: var(--nk-radius);\n  cursor: pointer; font-weight: 500;\n  user-select: none;\n}\n.nk-workspace:hover { background: var(--nk-bg-hover); }\n.nk-workspace .avatar,\n.nk-workspace ::slotted(.avatar),\n.nk-workspace ::slotted([slot=\"avatar\"]) {\n  width: 22px; height: 22px; border-radius: 4px;\n  background: linear-gradient(135deg, var(--nk-decor-purple), var(--nk-decor-blue));\n  color: var(--nk-on-accent); font-size: 11px; font-weight: 600;\n  display: flex; align-items: center; justify-content: center;\n}\n.nk-workspace .chev { margin-left: auto; color: var(--nk-text-tertiary); font-size: 11px; }\n\n.nk-sidebar-scroll { flex: 1; overflow-y: auto; padding: 4px 8px 16px; }\n.nk-sidebar-scroll::-webkit-scrollbar { width: 8px; }\n.nk-sidebar-scroll::-webkit-scrollbar-thumb { background: var(--nk-border-strong); border-radius: 4px; }\n\n.nk-section-label {\n  font-size: 12px; font-weight: 500; letter-spacing: .01em;\n  color: var(--nk-text-tertiary);\n  padding: 14px 10px 4px;\n  display: flex; justify-content: space-between; align-items: center;\n}\n.nk-section-label .plus {\n  cursor: pointer; border-radius: 4px; padding: 0 4px; font-size: 13px;\n  opacity: 0; transition: opacity .15s;\n}\n.nk-section-label:hover .plus { opacity: 1; }\n.nk-section-label .plus:hover { background: var(--nk-bg-hover); }\n\n.nk-sidebar-footer {\n  padding: 8px; border-top: 1px solid var(--nk-border);\n  color: var(--nk-text-sidebar); font-size: 14px;\n}\n.nk-sidebar-footer .nk-tree-item { min-height: 26px; }\n/* The drawer's scrim and the \u2630 that opens it; both only act below 860px. */\n.nk-sidebar-backdrop { display: none; position: fixed; inset: 0; z-index: 59; background: var(--nk-scrim-soft); }\n.nk-sidebar-toggle { display: none; }\n\n/* Collapsing on the desktop, Notion's \u00AB: .nk-sidebar.collapsed slides the\n   sidebar out to the left and the main column takes its width; hidden, it\n   takes no focus \u2013 it stays visible while it slides, and is back at once\n   when it expands. .nk-sidebar-toggle.collapsed shows the topbar's \u2630 that\n   brings it back, on the desktop too. The \u00AB is .nk-sidebar-collapse in\n   .nk-sidebar-head beside the workspace row; it shows while the pointer is\n   over the sidebar. A phone keeps the drawer (B12). */\n.nk-sidebar.collapsed {\n  margin-left: calc(0px - var(--nk-sidebar-width) - env(safe-area-inset-left, 0px)); visibility: hidden;\n  transition: background .25s ease, margin-left .24s cubic-bezier(.2, .8, .25, 1), visibility 0s linear .24s;\n}\n.nk-sidebar-toggle.collapsed { display: inline-flex; }\n.nk-sidebar-head { display: flex; align-items: center; }\n.nk-sidebar-head > .nk-workspace,\n.nk-sidebar-head ::slotted(.nk-workspace) { flex: 1; min-width: 0; }\n.nk-sidebar-collapse {\n  flex: none; display: inline-flex; align-items: center; justify-content: center;\n  width: 28px; height: 28px; margin: 4px 12px 0 -4px; padding: 0;\n  border: none; border-radius: var(--nk-radius); background: transparent;\n  color: var(--nk-text-tertiary); cursor: pointer; opacity: 0; transition: opacity .15s;\n}\n.nk-sidebar:hover .nk-sidebar-collapse,\n.nk-sidebar-collapse:focus-visible { opacity: 1; }\n.nk-sidebar-collapse:hover { background: var(--nk-bg-hover); color: var(--nk-text); }\n.nk-sidebar-collapse svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }\n\n/* ---- Main / Topbar ---- */\n.nk-main { flex: 1; display: flex; flex-direction: column; min-width: 0; }\n.nk-topbar {\n  height: 44px; display: flex; align-items: center;\n  padding: 0 max(12px, env(safe-area-inset-right, 0px)) 0 max(12px, env(safe-area-inset-left, 0px));\n  gap: 8px; flex-shrink: 0;\n}\n.nk-breadcrumb { display: flex; align-items: center; gap: 4px; font-size: 14px; }\n.nk-breadcrumb .crumb,\n.nk-breadcrumb ::slotted(.crumb) {\n  padding: 2px 6px; border-radius: 4px; cursor: pointer;\n  color: var(--nk-text-sidebar);\n  display: flex; align-items: center; gap: 5px;\n}\n.nk-breadcrumb .crumb:hover { background: var(--nk-bg-hover); }\na.crumb { text-decoration: none; }\n.nk-breadcrumb .crumb.current,\n.nk-breadcrumb ::slotted(.crumb.current) { color: var(--nk-text); }\n.nk-breadcrumb .sep { color: var(--nk-text-tertiary); font-size: 12px; }\n\n.nk-topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 4px; }\n.nk-topbar-btn {\n  padding: 4px 8px; border-radius: var(--nk-radius); cursor: pointer;\n  color: var(--nk-text-sidebar); font-size: 14px; user-select: none;\n  border: none; background: transparent; font-family: inherit;\n}\n.nk-topbar-btn:hover { background: var(--nk-bg-hover); }\n.nk-topbar-btn svg,\n.nk-topbar-btn ::slotted(svg) {\n  width: 16px; height: 16px; flex-shrink: 0;\n  fill: none; stroke: currentColor;\n  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;\n}\n/* Borderless since Notion's 2025 topbar: a plain word next to the icons. */\n.nk-share-btn { font-size: 14px; padding: 4px 8px; }\n/* Passive text among the actions \u2013 \"Edited 2 min ago\": tertiary, one line.\n   A phone drops it (B12), as Notion's mobile topbar shows only the page and\n   what can be done with it. */\n.nk-topbar-meta,\n.nk-topbar-actions ::slotted(.nk-topbar-meta) { padding: 4px 8px; font-size: 12px; color: var(--nk-text-tertiary); white-space: nowrap; }\n.nk-theme-toggle { font-size: 15px; width: 30px; height: 28px; padding: 0; }\n\n/* ---- Tab bar (phones, installed PWAs) ----\n   A bottom row of up to five destinations, the thumb-reachable twin of the\n   sidebar the breakpoint hides. Last child of .nk-main it sits below the\n   scrolling page; in a document that scrolls itself it sticks to the\n   viewport bottom. Hidden above 860px; `always` shows it at every width\n   (previews, phone frames), `floating` turns it into a capsule.\n   No view-transition-name here: the bar stays put between pages. ---- */\n.nk-tab-bar {\n  display: none; flex: none; align-items: stretch; gap: 2px;\n  position: sticky; bottom: 0; z-index: 30;\n  /* Safe areas: the bottom inset replaces the 6px padding rather than\n     adding to it \u2013 the labels end where iOS ends its own tab bar, right\n     above the home indicator. Left/right cover the Dynamic Island in\n     landscape; the background still runs edge to edge. */\n  box-sizing: border-box; height: calc(var(--nk-tab-bar-height) - 6px + max(6px, env(safe-area-inset-bottom, 0px)));\n  padding: 6px max(4px, env(safe-area-inset-right, 0px)) max(6px, env(safe-area-inset-bottom, 0px)) max(4px, env(safe-area-inset-left, 0px));\n  background: var(--nk-bg-sidebar);\n  border-top: 1px solid var(--nk-border);\n}\n.nk-tab-bar.always { display: flex; }\n/* `fixed`: pinned to the viewport instead of sitting in the column \u2013 for\n   standalone PWAs where the shell and the screen disagree. The spacer that\n   follows it keeps the same height in the flow, so the page still ends\n   above the bar. */\n.nk-tab-bar.fixed { position: fixed; left: 0; right: 0; bottom: 0; }\n.nk-tab-bar-spacer { display: none; flex: none; height: calc(var(--nk-tab-bar-height) - 6px + max(6px, env(safe-area-inset-bottom, 0px))); }\n.nk-tab-bar.always.fixed + .nk-tab-bar-spacer { display: block; }\n.nk-tab-bar.floating {\n  position: fixed; left: max(12px, env(safe-area-inset-left, 0px)); right: max(12px, env(safe-area-inset-right, 0px));\n  bottom: calc(12px + env(safe-area-inset-bottom, 0px));\n  height: var(--nk-tab-bar-height);\n  padding: 6px; border: 1px solid var(--nk-border); border-radius: 16px;\n  box-shadow: var(--nk-shadow-menu);\n}\n.nk-tab-bar-item {\n  flex: 1 1 0; min-width: 0;\n  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;\n  padding: 4px 2px; border: none; border-radius: var(--nk-radius);\n  background: transparent; font-family: inherit; font-size: 10.5px; line-height: 1.2;\n  color: var(--nk-text-secondary); text-decoration: none;\n  cursor: pointer; user-select: none; -webkit-tap-highlight-color: transparent;\n}\n.nk-tab-bar-item:hover { color: var(--nk-text); background: var(--nk-bg-hover); }\n.nk-tab-bar-item.active { color: var(--nk-accent); }\n.nk-tab-bar-item:disabled { opacity: .5; cursor: not-allowed; }\n.nk-tab-bar-item .icon,\n.nk-tab-bar-item ::slotted([slot=\"icon\"]) { font-size: 20px; line-height: 1; }\n.nk-tab-bar-item .label,\n.nk-tab-bar-item ::slotted(.label) { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n\n\n/* ============================================================\n   B2. NAVIGATION / PAGE TREE  (PRD 5.2)\n   ============================================================ */\n.nk-tree-item {\n  display: flex; align-items: center; gap: 6px;\n  padding: 3px 8px 3px 10px;\n  border-radius: var(--nk-radius);\n  cursor: pointer; user-select: none;\n  color: var(--nk-text-sidebar);\n  position: relative;\n  /* 28px; 40px inside a sheet, which sets --_nk-row. A private, inherited\n     value rather than a descendant rule, so it also reaches rows that sit\n     in shadow roots of their own (NotionKit Elements). Not a token. */\n  min-height: var(--_nk-row, 28px);\n}\n.nk-tree-item:hover { background: var(--nk-bg-hover); }\n.nk-tree-item.active { background: var(--nk-bg-active); color: var(--nk-text); font-weight: 500; }\n/* Explicit form of the footer / settings-nav row height, for a row that is\n   not a descendant of those containers (a web component's shadow tree). */\n.nk-tree-item.compact { min-height: 26px; }\n.nk-tree-item .icon,\n.nk-tree-item ::slotted(.icon),\n.nk-tree-item ::slotted([slot=\"icon\"]) { font-size: 15px; width: 20px; text-align: center; flex-shrink: 0; }\n.nk-tree-item .label,\n.nk-tree-item ::slotted(.label) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n.nk-tree-item .actions {\n  margin-left: auto; display: none; gap: 2px; color: var(--nk-text-tertiary);\n}\n.nk-tree-item:hover .actions { display: flex; }\n.nk-tree-item .actions span { padding: 0 3px; border-radius: 3px; font-size: 12px; }\n.nk-tree-item .actions span:hover { background: var(--nk-bg-active); }\n\n.nk-tree-children { margin-left: 14px; border-left: 1px solid var(--nk-border); padding-left: 4px; overflow: hidden; }\n.nk-tree-children.collapsed { display: none; }\n\n.nk-toggle-arrow {\n  width: 16px; height: 16px; flex-shrink: 0;\n  display: inline-flex; align-items: center; justify-content: center;\n  font-size: 9px; color: var(--nk-text-tertiary);\n  border-radius: 3px; transition: transform .15s;\n}\n.nk-toggle-arrow.open { transform: rotate(90deg); }\n\n.nk-kbd-hint { margin-left: auto; display: flex; gap: 3px; align-items: center; }\n.nk-kbd {\n  font-family: inherit; font-size: 10.5px; background: var(--nk-bg-callout);\n  border: 1px solid var(--nk-border-strong); border-bottom-width: 2px;\n  border-radius: 4px; padding: 0 4px;\n}\n\n\n/* ============================================================\n   B3. PAGE SHELL & DOCUMENT  (PRD 5.3)\n   ============================================================ */\n.nk-page-scroll { flex: 1; overflow-y: auto; }\n.nk-page-scroll::-webkit-scrollbar { width: 10px; }\n.nk-page-scroll::-webkit-scrollbar-thumb { background: var(--nk-border-strong); border-radius: 5px; border: 2px solid var(--nk-bg); }\n\n/* The band's height is the token --nk-cover-height (200px), set on :root or\n   on one cover \u2013 Notion's own takes about 30vh, clamp(200px, 30vh, 300px)\n   comes close. */\n.nk-cover {\n  height: var(--nk-cover-height);\n  background:\n    radial-gradient(ellipse at 20% 40%, color-mix(in srgb, var(--nk-decor-purple) 35%, transparent), transparent 55%),\n    radial-gradient(ellipse at 80% 20%, color-mix(in srgb, var(--nk-decor-blue) 35%, transparent), transparent 55%),\n    radial-gradient(ellipse at 60% 90%, color-mix(in srgb, var(--nk-decor-orange) 25%, transparent), transparent 55%),\n    var(--nk-bg-callout);\n}\n/* A picture instead of the gradient: an <img> inside fills the band and is\n   cropped, never stretched; object-position moves the crop, as Notion's\n   \"Reposition\" does. The gradient stays underneath while it loads. */\n.nk-cover > img,\n.nk-cover ::slotted(img) { display: block; width: 100%; height: 100%; object-fit: cover; }\n\n/* Document text is 16px/1.5, one step above the 14px UI chrome \u2013 Notion's\n   own split between page and app. Tables, tags and controls keep 14px. */\n.nk-page { max-width: 760px; margin: 0 auto; padding: 24px max(64px, env(safe-area-inset-right, 0px)) 120px max(64px, env(safe-area-inset-left, 0px)); font-size: 16px; line-height: 1.5; }\n/* Page options, as in Notion's page menu, set per page and not per app:\n   `full` lifts the 760px cap so the column fills the window \u2013 up to\n   --nk-page-full-max, none by default: a dashboard of tables may want more\n   than 760px but no 1600px lines \u2013 and `small` sets the document text one\n   step down to 14px. Heading, lead, prose and editor are sized in em and\n   follow; title, properties, tables and controls keep their size. */\n.nk-page.full { max-width: var(--nk-page-full-max); }\n.nk-page.small { font-size: 14px; }\n/* With a cover the icon overlaps its bottom edge and the page needs no top\n   padding; without a cover it sits inside the padding, fully visible even in\n   a scroll container. A cover without an icon keeps the padding, so the\n   title never touches the picture \u2013 Notion leaves room there too. Class\n   markup: the cover is the page's previous sibling and the icon its first\n   child. Elements: <nk-page> sets `covered` on the page box when both are\n   there. */\n.nk-cover + .nk-page:has(> .nk-page-icon:not([hidden])),\n.nk-page.covered { padding-top: 0; }\n\n.nk-page-icon,\n.nk-page ::slotted(.nk-page-icon),\n.nk-page ::slotted([slot=\"icon\"]) {\n  font-size: 64px; line-height: 1; margin-top: 0;\n  cursor: pointer; user-select: none;\n  display: inline-block;\n}\n.nk-cover + .nk-page .nk-page-icon,\n.nk-cover + .nk-page ::slotted(.nk-page-icon),\n.nk-cover + .nk-page ::slotted([slot=\"icon\"]),\n.nk-page.covered .nk-page-icon,\n.nk-page.covered ::slotted(.nk-page-icon),\n.nk-page.covered ::slotted([slot=\"icon\"]) { margin-top: -42px; }\n.nk-page-title {\n  font-size: var(--_nk-title, 40px); font-weight: 700; line-height: 1.2; margin: 8px 0 4px;\n  outline: none; letter-spacing: 0;\n}\n.nk-page-meta {\n  color: var(--nk-text-tertiary); font-size: 13px; margin-bottom: 24px;\n  display: flex; gap: 16px;\n}\n/* Page properties, as Notion lists them under the title of a database page:\n   one row each, the name in a 160px column with its type icon, the value\n   beside it. Both halves take the hover wash, as each opens its own editor\n   in Notion. Takes the place of .nk-page-meta on a page that is a row.\n   The value keeps at least 220px: in a column narrower than 380px \u2013 a side\n   panel, a third of the page \u2013 it moves under its name instead of breaking\n   an address into syllables. */\n.nk-props { display: flex; flex-direction: column; margin: 0 0 var(--nk-block-space, 20px); font-size: 14px; line-height: 1.5; }\n/* .flush: no outer margin \u2013 inside a panel, a cell or a flex column with a\n   gap of its own, where the margin meant for the flow under a title only\n   adds to their spacing. */\n.nk-props.flush { margin: 0; }\n.nk-prop { display: flex; flex-wrap: wrap; align-items: flex-start; min-width: 0; }\n.nk-prop .p-name {\n  flex: 0 0 160px; min-width: 0; min-height: 34px; padding: 0 6px;\n  display: flex; align-items: center; gap: 6px; overflow: hidden;\n  border-radius: var(--nk-radius); color: var(--nk-text-secondary); white-space: nowrap; user-select: none;\n}\n.nk-prop .p-icon,\n.nk-prop ::slotted([slot=\"icon\"]) { width: 16px; flex-shrink: 0; text-align: center; font-size: 13px; }\n.nk-prop .p-value {\n  flex: 1 1 220px; min-width: 0; min-height: 34px; padding: 5px 8px;\n  display: flex; align-items: center; flex-wrap: wrap; gap: 4px 6px;\n  border-radius: var(--nk-radius); overflow-wrap: anywhere;\n}\n/* .text: a value that is text \u2013 a sentence, an address, a model name with a\n   tag \u2013 flows and wraps as text instead of setting its parts one under the\n   other; tags and people keep the row of items. */\n.nk-prop .p-value.text { display: block; align-content: center; }\n.nk-prop .p-name:hover,\n.nk-prop .p-value:hover { background: var(--nk-bg-hover); }\n\n/* Lead and heading are sized in em, so `small` and a small parent carry\n   them along \u2013 16px and 24px on a page, as before. */\n.nk-page p.lead { font-size: 1em; line-height: 1.6; color: var(--nk-text-secondary); margin-bottom: 20px; }\n.nk-page ::slotted(p.lead) { font-size: 1em; line-height: 1.6; color: var(--nk-text-secondary); margin-bottom: 20px !important; }\n\n.nk-heading {\n  font-size: 1.5em; font-weight: 600; line-height: 1.3; margin: 32px 0 10px;\n  display: flex; align-items: center; gap: 8px;\n}\n\n\n/* ============================================================\n   B4. CONTENT ELEMENTS  (PRD 5.4)\n   ============================================================ */\n/* A block's outer margin \u2013 callout, quote, code, divider, database, panels,\n   properties and the rest below \u2013 is meant for the flow of a page. A column\n   that spaces its children with a gap of its own sets --nk-block-space: 0\n   once, on the column, and every block inside drops it; `.flush` drops it on\n   one block. Headings keep theirs, they open a section. The property is no\n   token: unset, each block keeps its own margin. */\n:is(.nk-props, .nk-callout, .nk-bookmark, .nk-toggle, .nk-divider, .nk-quote, .nk-code, .nk-database, .nk-danger-zone, .nk-gallery-grid,\n    .nk-template-btn, .nk-synced, .nk-banner, .nk-panels, .nk-skeleton, .nk-steps, .nk-comments, .nk-block-host, .nk-model-card,\n    .nk-ai-input-row).flush { margin-top: 0; margin-bottom: 0; }\n.nk-callout {\n  display: flex; gap: 10px; align-items: flex-start;\n  background: var(--nk-bg-callout);\n  border-radius: var(--nk-radius);\n  padding: 16px 16px 16px 12px; margin: var(--nk-block-space, 16px) 0;\n  line-height: 1.5;\n}\n.nk-callout .c-icon,\n.nk-callout ::slotted(.c-icon),\n.nk-callout ::slotted([slot=\"icon\"]) { font-size: 17px; }\n\n/* Bookmark, Notion's link block: title, two lines of description and the\n   address with its icon on the left, the page's preview image on the right\n   in a third, 240px at most \u2013 a 1200\u00D7630 og:image fits it nearly whole in\n   a page column and is cropped at the centre on a phone. The whole box is the\n   link. Without an image the text takes the width, without a description\n   the box gets lower. */\n.nk-bookmark {\n  display: flex; min-width: 0; margin: var(--nk-block-space, 8px) 0; overflow: hidden;\n  border: 1px solid var(--nk-border); border-radius: var(--nk-radius);\n  color: var(--nk-text); text-decoration: none; transition: background .12s ease;\n}\n.nk-bookmark:hover { background: var(--nk-bg-hover); }\n.nk-bookmark .bm-text { flex: 1 1 0; min-width: 0; padding: 12px 14px 14px; font-size: 14px; line-height: 20px; }\n.nk-bookmark .bm-title { display: block; min-height: 24px; margin-bottom: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.nk-bookmark .bm-desc {\n  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;\n  max-height: 32px; font-size: 12px; line-height: 16px; color: var(--nk-text-secondary);\n}\n.nk-bookmark .bm-url { display: flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 12px; line-height: 16px; white-space: nowrap; }\n.nk-bookmark .bm-url > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }\n.nk-bookmark .bm-favicon { flex: none; width: 16px; height: 16px; }\n.nk-bookmark .bm-cover { position: relative; flex: 0 0 33%; max-width: 240px; }\n.nk-bookmark .bm-cover > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }\n\n.nk-todo { display: flex; align-items: flex-start; gap: 8px; padding: 4px 0; }\n.nk-todo input[type=\"checkbox\"] {\n  appearance: none; width: 16px; height: 16px; margin-top: 3px;\n  border: 1.4px solid var(--nk-border-strong); border-radius: 2px;\n  cursor: pointer; flex-shrink: 0; position: relative;\n  background: var(--nk-bg);\n}\n.nk-todo input[type=\"checkbox\"]:checked { background: var(--nk-accent); border-color: var(--nk-accent); }\n.nk-todo input[type=\"checkbox\"]:checked::after {\n  content: \"\u2713\"; color: var(--nk-on-accent); font-size: 11px;\n  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;\n}\n.nk-todo input:checked + span { text-decoration: line-through; color: var(--nk-text-tertiary); }\n.nk-todo input:disabled { opacity: .5; cursor: not-allowed; }\n\n/* The summary marker is a pseudo-element and therefore cannot be\n   reached on slotted content \u2014 <nk-toggle> must render its own\n   summary in the shadow tree rather than accept one via slot. */\n.nk-toggle { margin: var(--nk-block-space, 6px) 0; }\n.nk-toggle summary {\n  cursor: pointer; list-style: none; display: flex; align-items: center; gap: 6px;\n  padding: 4px 6px; border-radius: var(--nk-radius); font-weight: 500;\n  user-select: none;\n}\n.nk-toggle summary::-webkit-details-marker { display: none; }\n.nk-toggle summary:hover { background: var(--nk-bg-hover); }\n.nk-toggle summary::before {\n  content: \"\u25B8\"; color: var(--nk-text-tertiary); font-size: 11px;\n  transition: transform .15s; display: inline-block;\n}\n.nk-toggle[open] summary::before { transform: rotate(90deg); }\n.nk-toggle .toggle-body,\n.nk-toggle ::slotted(.toggle-body) { padding: 4px 0 8px 26px; color: var(--nk-text-secondary); line-height: 1.55; }\n\n.nk-divider { border: none; border-top: 1px solid var(--nk-border); margin: var(--nk-block-space, 24px) 0; }\n\n.nk-quote {\n  border-left: 3px solid var(--nk-text); padding: 2px 0 2px 14px;\n  margin: var(--nk-block-space, 16px) 0; color: var(--nk-text-secondary);\n  line-height: 1.5;\n}\n.nk-quote .q-cite { display: block; margin-top: 6px; font-size: 12.5px; color: var(--nk-text-tertiary); }\n\n/* ---- Inline ---- */\n.nk-mention {\n  display: inline-flex; align-items: center; gap: 4px; padding: 0 4px;\n  border-radius: 4px; font-weight: 500; cursor: pointer; white-space: nowrap;\n}\n.nk-mention:hover { background: var(--nk-bg-hover); }\n.nk-mention.person { color: var(--nk-text); }\n.nk-mention.person .mini-avatar,\n.nk-mention.person .nk-avatar,\n.nk-mention.person ::slotted(.mini-avatar),\n.nk-mention.person ::slotted([slot=\"avatar\"]) {\n  width: 16px; height: 16px; border-radius: 50%; color: var(--nk-on-accent);\n  font-size: 8.5px; font-weight: 600;\n  display: inline-flex; align-items: center; justify-content: center;\n}\n.nk-mention.page { color: var(--nk-text-secondary); text-decoration: underline; text-decoration-color: var(--nk-border-strong); text-underline-offset: 2px; }\n.nk-mention.date { color: var(--nk-color-orange); }\n\n.nk-inline-code {\n  font-family: var(--nk-font-mono); font-size: 85%;\n  color: var(--nk-danger); background: color-mix(in srgb, var(--nk-danger) 8%, transparent);\n  border-radius: 4px; padding: 1px 5px;\n}\n\n.nk-code {\n  background: var(--nk-bg-code); border: 1px solid var(--nk-border);\n  border-radius: var(--nk-radius); padding: 20px 24px;\n  font-family: var(--nk-font-mono);\n  font-size: 13px; line-height: 1.6; margin: var(--nk-block-space, 14px) 0; overflow-x: auto;\n  color: var(--nk-text-secondary);\n  white-space: pre; position: relative;\n}\n.nk-code .lang {\n  position: absolute; top: 6px; right: 10px;\n  font-size: 11px; color: var(--nk-text-tertiary); font-family: var(--nk-font);\n}\n.nk-code .tag,\n.nk-code ::slotted(.tag) { color: var(--nk-accent); }\n.nk-code .attr,\n.nk-code ::slotted(.attr) { color: var(--nk-color-orange); }\n\n\n/* ============================================================\n   B5. DATABASE VIEWS  (PRD 5.5)\n   ============================================================ */\n.nk-database { margin: var(--nk-block-space, 12px) 0 var(--nk-block-space, 8px); }\n\n.nk-db-tabs {\n  display: flex; gap: 2px; align-items: center;\n  padding: 0 0 6px; margin-bottom: 0; font-size: 14px;\n}\n/* View tabs are pills since Notion's 2025 redesign: the current view sits on\n   the active wash, the others are plain words. No underline, no rule. */\n.nk-db-tab {\n  padding: 4px 8px; cursor: pointer; color: var(--nk-text-secondary);\n  border-radius: var(--nk-radius); user-select: none; line-height: 20px;\n  display: flex; align-items: center; gap: 6px;\n  /* A tab keeps its one line: in a scrolling strip it must not shrink and wrap. */\n  flex-shrink: 0; white-space: nowrap;\n}\n.nk-db-tab:hover { color: var(--nk-text); background: var(--nk-bg-hover); }\n.nk-db-tab.active { color: var(--nk-text); background: var(--nk-bg-active); font-weight: 500; }\n/* The quiet \uFF0B that adds a view. */\n.nk-db-tab.add { color: var(--nk-text-tertiary); }\n.nk-db-tab .badge,\n.nk-db-tab ::slotted(.badge) {\n  background: var(--nk-bg-callout); border-radius: 8px;\n  font-size: 11px; padding: 0 6px; color: var(--nk-text-tertiary);\n}\n\n/* The database header as Notion lays it out: the view tabs on the left, the\n   view's tools on the right \u2013 Filter, Sort, search and \"New\". A tool that\n   is in effect, a set filter, takes the accent. When the row gets narrow\n   the tabs scroll sideways and the tools keep their place. */\n.nk-db-toolbar { display: flex; align-items: center; gap: 8px; min-width: 0; padding-bottom: 6px; }\n.nk-db-toolbar > .nk-db-tabs { flex: 1 1 auto; min-width: 0; padding-bottom: 0; overflow-x: auto; scrollbar-width: none; }\n.nk-db-toolbar > .nk-db-tabs::-webkit-scrollbar { display: none; }\n.nk-db-toolbar .tools { flex: none; display: flex; align-items: center; gap: 4px; margin-left: auto; }\n.nk-db-tool {\n  display: inline-flex; align-items: center; gap: 4px; height: 28px; padding: 0 8px;\n  border: none; border-radius: var(--nk-radius); background: transparent;\n  font-family: inherit; font-size: 14px; color: var(--nk-text-secondary);\n  white-space: nowrap; cursor: pointer; user-select: none;\n}\n.nk-db-tool:hover { background: var(--nk-bg-hover); color: var(--nk-text); }\n.nk-db-tool.active { color: var(--nk-accent); }\n\n/* The filters in effect, as pills under the toolbar \u2013 Notion's\n   \"Status: Open \u25BE\". A set filter takes an accent tint; `.add` is the quiet\n   \"\uFF0B Filter\" at the end. The pill is one button, or a box holding the\n   label button and a `.fp-remove` \u00D7 when a filter can be removed in place. */\n.nk-filter-row { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding: 2px 0 8px; }\n.nk-filter-pill {\n  display: inline-flex; align-items: center; gap: 4px; height: 24px; padding: 0 8px;\n  border: 1px solid var(--nk-border-strong); border-radius: 12px; background: transparent;\n  font-family: inherit; font-size: 13px; line-height: 1; color: var(--nk-text-secondary);\n  white-space: nowrap; cursor: pointer; user-select: none;\n}\n.nk-filter-pill:hover { background: var(--nk-bg-hover); }\n.nk-filter-pill.active {\n  color: var(--nk-accent); border-color: color-mix(in srgb, var(--nk-accent) 35%, transparent);\n  background: color-mix(in srgb, var(--nk-accent) 6%, transparent);\n}\n.nk-filter-pill.add { border-color: transparent; color: var(--nk-text-tertiary); }\n.nk-filter-pill.add:hover { color: var(--nk-text-secondary); }\n.nk-filter-pill button { padding: 0; border: none; background: none; font: inherit; color: inherit; cursor: pointer; }\n.nk-filter-pill .fp-remove {\n  display: inline-flex; align-items: center; justify-content: center;\n  width: 16px; height: 16px; margin-right: -4px; border-radius: 50%; font-size: 13px;\n}\n.nk-filter-pill .fp-remove:hover { background: color-mix(in srgb, currentColor 15%, transparent); }\n\n/* Horizontal scrolling instead of breaking \u2014 the mobile contract for\n   wide tables (PRD 6.3a.4). */\n.nk-table-wrap { overflow-x: auto; }\n.nk-table { width: 100%; border-collapse: collapse; font-size: 14px; }\n/* 36px rows, 14px throughout, hairlines between columns as well as rows \u2013\n   measured on a live Notion table. Cells stay on one line; `.wrap` on the\n   table or on a cell lets text break, as Notion's \"wrap column\" does. */\n.nk-table th {\n  text-align: left; font-weight: 400; color: var(--nk-text-secondary);\n  height: 36px; padding: 0 8px; border-bottom: 1px solid var(--nk-border);\n  border-right: 1px solid var(--nk-border);\n  font-size: 14px; white-space: nowrap; user-select: none; cursor: pointer;\n}\n.nk-table th:hover { background: var(--nk-bg-hover); }\n.nk-table th .th-icon,\n.nk-table th ::slotted(.th-icon) { margin-right: 6px; font-size: 13px; color: var(--nk-text-tertiary); }\n.nk-table td {\n  height: 36px; padding: 6px 8px; line-height: 1.5;\n  border-bottom: 1px solid var(--nk-border); border-right: 1px solid var(--nk-border);\n  white-space: nowrap; vertical-align: middle;\n}\n.nk-table th:last-child, .nk-table td:last-child { border-right: none; }\n.nk-table.wrap td, .nk-table td.wrap { white-space: normal; vertical-align: top; }\n.nk-table tbody tr:hover { background: var(--nk-bg-hover); }\n.nk-table .row-title { display: flex; align-items: center; gap: 7px; font-weight: 500; cursor: pointer; }\n.nk-table .row-title:hover { text-decoration: underline; text-decoration-color: var(--nk-text-tertiary); }\n.nk-table .date-cell { color: var(--nk-text-secondary); }\n/* Numbers stand right-aligned in figures of equal width, as Notion sets a\n   number property; its header stays left like every other. */\n.nk-table .num { text-align: right; font-variant-numeric: tabular-nums; }\n/* Actions for a row \u2013 \u201CRetry\u201D, \u201CDiscard\u201D \u2013 as small buttons at the right\n   edge of their cell; the header of that column sorts nothing. */\n.nk-table .row-actions { display: flex; justify-content: flex-end; gap: 4px; }\n.nk-table th.actions { cursor: default; }\n.nk-table th.actions:hover { background: none; }\n/* A text cell with a tone and a second line: .td-text takes one of Notion's\n   nine text colours \u2013 an error in orange \u2013 and .td-desc sets a quiet line\n   under the value \u2013 the next run under an error, the sender under a\n   subject. The row grows with it. */\n.nk-table .td-desc { display: block; font-size: 12px; line-height: 16px; color: var(--nk-text-tertiary); }\n.nk-table .td-text.gray { color: var(--nk-color-gray); }\n.nk-table .td-text.brown { color: var(--nk-color-brown); }\n.nk-table .td-text.orange { color: var(--nk-color-orange); }\n.nk-table .td-text.yellow { color: var(--nk-color-yellow); }\n.nk-table .td-text.green { color: var(--nk-color-green); }\n.nk-table .td-text.blue { color: var(--nk-color-blue); }\n.nk-table .td-text.purple { color: var(--nk-color-purple); }\n.nk-table .td-text.pink { color: var(--nk-color-pink); }\n.nk-table .td-text.red { color: var(--nk-color-red); }\n.nk-table .person-cell { display: flex; align-items: center; gap: 6px; color: var(--nk-text-secondary); }\n.nk-table .person-cell .mini-avatar,\n.nk-table .person-cell ::slotted(.mini-avatar) {\n  width: 20px; height: 20px; border-radius: 50%;\n  font-size: 10px; color: var(--nk-on-accent); display: inline-flex;\n  align-items: center; justify-content: center; font-weight: 600;\n}\n.nk-new-row,\n.nk-table .new-row {\n  color: var(--nk-text-tertiary); cursor: pointer; padding: 8px;\n  display: flex; align-items: center; gap: 7px; font-size: 14px;\n}\n.nk-new-row:hover,\n.nk-table .new-row:hover { background: var(--nk-bg-hover); }\n\n/* The select option as Notion draws it: 20px tall, 3px corners, the cell's\n   14px, dark text on a saturated fill. Without a colour it is the grey tag. */\n.nk-tag {\n  display: inline-flex; align-items: center; max-width: 100%;\n  height: 20px; padding: 0 6px; border-radius: 3px;\n  font-size: 14px; font-weight: 400; line-height: 20px; white-space: nowrap;\n  overflow: hidden; text-overflow: ellipsis; vertical-align: middle;\n  background: var(--nk-tag-gray-bg); color: var(--nk-tag-gray-text);\n}\n.nk-tag.gray   { background: var(--nk-tag-gray-bg);   color: var(--nk-tag-gray-text); }\n.nk-tag.brown  { background: var(--nk-tag-brown-bg);  color: var(--nk-tag-brown-text); }\n.nk-tag.orange { background: var(--nk-tag-orange-bg); color: var(--nk-tag-orange-text); }\n.nk-tag.yellow { background: var(--nk-tag-yellow-bg); color: var(--nk-tag-yellow-text); }\n.nk-tag.green  { background: var(--nk-tag-green-bg);  color: var(--nk-tag-green-text); }\n.nk-tag.blue   { background: var(--nk-tag-blue-bg);   color: var(--nk-tag-blue-text); }\n.nk-tag.purple { background: var(--nk-tag-purple-bg); color: var(--nk-tag-purple-text); }\n.nk-tag.pink   { background: var(--nk-tag-pink-bg);   color: var(--nk-tag-pink-text); }\n.nk-tag.red    { background: var(--nk-tag-red-bg);    color: var(--nk-tag-red-text); }\n\n.nk-progress {\n  width: 110px; height: 6px; border-radius: 3px;\n  background: var(--nk-tint-blue); overflow: hidden; display: inline-block;\n}\n.nk-progress > i { display: block; height: 100%; background: var(--nk-color-blue); border-radius: 3px; }\n/* `wide` fills its row \u2013 a property value, a panel, a course overview. In\n   a flex row it grows from 60px, so the label keeps its place beside it\n   instead of wrapping below; elsewhere it is simply 100% wide. */\n/* In a flex column \u2013 a panel \u2013 the 60px basis would become the bar's height;\n   max-height keeps it a bar. */\n.nk-progress.wide { width: 100%; flex: 1 1 60px; max-height: 6px; }\n.nk-progress-label { font-size: 12px; color: var(--nk-text-tertiary); margin-left: 7px; white-space: nowrap; }\n/* A bar and its label as one row: in a flex column \u2013 a panel \u2013 the two would\n   stand one under the other. The label sits beside the bar, on its middle;\n   a wide row fills its line like the wide bar, and max-height keeps it from\n   growing in a column the way the bar's 60px basis once did.\n   <nk-progress label> renders one. */\n.nk-progress-row { display: inline-flex; align-items: center; max-width: 100%; vertical-align: middle; }\n.nk-progress-row:has(> .nk-progress.wide) { display: flex; flex: 1 1 60px; width: 100%; max-height: max-content; }\n\n/* List view: one line per row \u2013 icon, title, a few properties on the right \u2013\n   as a Notion database shows it under \"List\". Hairlines between rows and\n   the hover wash across the row, like a table without columns. The title\n   gives way first and ends in an ellipsis; the properties keep their place. */\n.nk-list { display: flex; flex-direction: column; font-size: 14px; }\n.nk-list-item {\n  display: flex; align-items: center; gap: 8px; min-width: 0; overflow: hidden;\n  min-height: 36px; padding: 4px 6px; border-bottom: 1px solid var(--nk-border);\n  color: inherit; text-decoration: none; cursor: pointer;\n}\n.nk-list-item:hover { background: var(--nk-bg-hover); }\n/* .static: a row that is no target itself \u2013 a file with its own Remove\n   button \u2013 takes neither the hand nor the hover wash. */\n.nk-list-item.static { cursor: default; }\n.nk-list-item.static:hover { background: none; }\n.nk-list > .nk-list-item:last-child,\n.nk-list ::slotted(.nk-list-item:last-child),\n.nk-list-item.last { border-bottom: none; }\n.nk-list-item .l-icon,\n.nk-list-item ::slotted([slot=\"icon\"]) { width: 20px; flex-shrink: 0; text-align: center; font-size: 15px; }\n.nk-list-item .l-title,\n.nk-list-item ::slotted(.l-title) { flex: 1 1 auto; min-width: 0; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n.nk-list-item .l-meta,\n.nk-list-item ::slotted(.l-meta) { flex: none; display: flex; align-items: center; gap: 8px; margin-left: auto; font-size: 12px; color: var(--nk-text-secondary); white-space: nowrap; }\n\n/* Calendar view, the database as Notion's month: a head with the month and\n   the date picker's .cal-nav buttons (Today, \u2039 \u203A), the weekdays, and a cell per day\n   with its number top right \u2013 today's on a red pill \u2013 and the rows due that\n   day as small cards (.cv-item). Days of the next and previous month\n   (`.out`) and days not worked (`.off`) are washed. `weeks` adds a column of\n   ISO calendar weeks. The cells share the width, so seven always fit. */\n.nk-calendar-view { font-size: 14px; }\n.nk-calendar-view .cv-head { display: flex; align-items: center; gap: 4px; padding: 2px 0 8px; }\n.nk-calendar-view .cv-title { flex: 1; font-weight: 600; white-space: nowrap; }\n.nk-calendar-view .cv-grid {\n  display: grid; grid-template-columns: repeat(7, minmax(0, 1fr));\n  border-top: 1px solid var(--nk-border); border-left: 1px solid var(--nk-border);\n}\n.nk-calendar-view.weeks .cv-grid { grid-template-columns: 32px repeat(7, minmax(0, 1fr)); }\n.nk-calendar-view :is(.cv-wd, .cv-week, .cv-day) { min-width: 0; border-right: 1px solid var(--nk-border); border-bottom: 1px solid var(--nk-border); }\n.nk-calendar-view .cv-wd { padding: 4px 8px; font-size: 12px; color: var(--nk-text-secondary); text-align: center; }\n.nk-calendar-view .cv-week { padding: 6px 0; font-size: 11px; color: var(--nk-text-tertiary); text-align: center; font-variant-numeric: tabular-nums; }\n.nk-calendar-view .cv-day { display: flex; flex-direction: column; gap: 3px; min-height: 112px; padding: 4px 4px 6px; }\n.nk-calendar-view .cv-day:is(.out, .off) { background: var(--nk-bg-sidebar); }\n.nk-calendar-view .cv-num {\n  align-self: flex-end; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px;\n  font-size: 13px; line-height: 22px; text-align: center; color: var(--nk-text-secondary); font-variant-numeric: tabular-nums;\n}\n.nk-calendar-view .cv-day.out .cv-num { color: var(--nk-text-tertiary); }\n.nk-calendar-view .cv-day.today .cv-num { background: var(--nk-danger); color: var(--nk-on-accent); }\n.nk-calendar-view .cv-item {\n  display: block; min-width: 0; padding: 3px 6px; border-radius: 4px;\n  background: var(--nk-bg-card); border: 1px solid var(--nk-border); box-shadow: var(--nk-shadow-card);\n  font-size: 12.5px; line-height: 18px; color: var(--nk-text); text-align: left;\n  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer;\n}\n.nk-calendar-view .cv-item:hover { background: var(--nk-bg-hover); }\n\n/* Board columns scroll horizontally on narrow viewports (PRD 6.3a.4). */\n.nk-board { display: none; gap: 12px; padding: 14px 2px; overflow-x: auto; }\n.nk-board.active { display: flex; }\n.nk-board-col { min-width: 220px; width: 220px; flex-shrink: 0; }\n.nk-board-col-header {\n  display: flex; align-items: center; gap: 7px; margin-bottom: 8px;\n  font-size: 13.5px; font-weight: 500;\n}\n.nk-board-col-header .count { color: var(--nk-text-tertiary); font-weight: 400; }\n\n.nk-card {\n  background: var(--nk-bg-card); border: 1px solid var(--nk-border);\n  border-radius: 8px; padding: 10px 12px; margin-bottom: 8px;\n  cursor: grab; box-shadow: var(--nk-shadow-card);\n  transition: border-color .15s;\n}\n.nk-card:hover { border-color: var(--nk-border-strong); }\n.nk-card .card-title,\n.nk-card ::slotted(.card-title) { font-weight: 500; margin-bottom: 7px; display: flex; gap: 6px; align-items: center; }\n.nk-card .card-meta,\n.nk-card ::slotted(.card-meta) { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; font-size: 12px; color: var(--nk-text-secondary); }\n\n/* Gallery view: the rows as cards with a picture on top, in a grid that\n   fills the row \u2013 Notion's gallery, for a course catalog or a reading list.\n   A card is the board's .nk-card; a .nk-cover as its first child runs to\n   the card's edges in 2:1, the picture cropped to fill \u2013 the cover gradient\n   where a row has none. `.small` and `.large` set the card size, columns\n   from 180px and 340px instead of 260px; `.fit` shows a picture whole, for\n   logos. The grid drops columns by itself, no breakpoint involved. A card\n   that is a link \u2013 <a class=\"nk-card\" href>, to open in a new tab \u2013 sits\n   in a .card-item that carries role=\"listitem\", so the link keeps its own\n   role; the card fills it. */\n.nk-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); gap: 16px; padding: 14px 2px; }\n.nk-gallery.small { grid-template-columns: repeat(auto-fill, minmax(min(180px, 100%), 1fr)); gap: 12px; }\n.nk-gallery.large { grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr)); }\n.nk-gallery .nk-card { display: flex; flex-direction: column; min-width: 0; margin: 0; color: inherit; text-decoration: none; cursor: pointer; }\n.nk-gallery .nk-card > .nk-cover { flex: none; height: auto; aspect-ratio: 2 / 1; margin: -10px -12px 10px; border-radius: 7px 7px 0 0; overflow: hidden; }\n.nk-gallery.fit .nk-card > .nk-cover:has(> img) { background: var(--nk-bg-callout); }\n.nk-gallery.fit .nk-card > .nk-cover > img { object-fit: contain; }\n.nk-gallery .card-title { min-width: 0; }\n.nk-gallery > .card-item { display: flex; min-width: 0; }\n.nk-gallery > .card-item > .nk-card { flex: 1 1 auto; }\n.nk-gallery > .nk-new-row { justify-content: center; min-height: 64px; border: 1px dashed var(--nk-border-strong); border-radius: 8px; }\n\n\n/* ============================================================\n   B6. FORMS & SETTINGS  (PRD 5.6)\n   ============================================================ */\n.nk-field { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 9px 0; --_nk-field-min: 210px; }\n.nk-field .f-label,\n.nk-field ::slotted(.f-label),\n.nk-field ::slotted([slot=\"label\"]) { font-size: 14px; }\n.nk-field .f-desc,\n.nk-field ::slotted(.f-desc),\n.nk-field ::slotted([slot=\"desc\"]) { font-size: 12px; color: var(--nk-text-secondary); margin-top: 2px; line-height: 1.45; }\n.nk-field .f-control,\n.nk-field ::slotted(.f-control) { flex-shrink: 0; }\n/* Field layouts. `stacked`: label above a full-width control \u2013 textareas,\n   long descriptions. `compact`: small tertiary label, no row padding \u2013 a\n   field inside a grid. `.nk-fields`: the grid itself, short fields side by\n   side with a small label each, wrapping as the width allows; its direct\n   .nk-field children are stacked and compact by themselves. */\n.nk-field.stacked,\n.nk-fields > .nk-field { flex-direction: column; align-items: stretch; gap: 6px; min-width: 0; }\n.nk-field.stacked .f-control,\n.nk-fields > .nk-field .f-control { width: 100%; min-width: 0; }\n/* min-width: 0 all the way down: the controls' 210px minimum would otherwise\n   become the grid item's automatic minimum and push the input past a\n   150px column. */\n.nk-field.stacked .nk-input, .nk-field.stacked .nk-textarea, .nk-field.stacked .nk-select,\n.nk-fields > .nk-field .nk-input, .nk-fields > .nk-field .nk-textarea, .nk-fields > .nk-field .nk-select { width: 100%; min-width: 0; }\n.nk-field.compact,\n.nk-fields > .nk-field { padding: 0; gap: 4px; min-width: 0; }\n.nk-field.compact .f-label,\n.nk-field.compact ::slotted([slot=\"label\"]),\n.nk-fields > .nk-field .f-label,\n.nk-fields > .nk-field ::slotted([slot=\"label\"]) { font-size: 12px; color: var(--nk-text-tertiary); }\n.nk-fields {\n  display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\n  gap: 10px 12px; padding: 9px 0;\n}\n/* .fit: the fields share the row instead of keeping 150px columns \u2013 two\n   fields in a 560px dialog are two halves, not two thirds and a gap. */\n.nk-fields.fit { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }\n.nk-fields > .nk-field { min-width: 0; }\n\n/* Filled, not outlined: Notion's inputs sit on a faint grey wash inside a\n   hairline, 32px tall, and the focus ring is drawn from the accent. */\n.nk-input, .nk-select, .nk-textarea {\n  font-family: inherit; font-size: 14px; line-height: 20px; color: var(--nk-text);\n  background: var(--nk-bg-input); border: 1px solid var(--nk-border);\n  border-radius: var(--nk-radius); padding: 5px 10px;\n  outline: none; transition: border-color .15s, box-shadow .15s;\n  min-width: var(--_nk-field-min, 210px); max-width: 100%;\n}\n.nk-input:hover, .nk-select:hover, .nk-textarea:hover { border-color: var(--nk-border-strong); }\n.nk-input:focus, .nk-select:focus, .nk-textarea:focus {\n  border-color: color-mix(in srgb, var(--nk-accent) 60%, transparent);\n  box-shadow: 0 0 0 2px color-mix(in srgb, var(--nk-accent) 30%, transparent);\n}\n.nk-input::placeholder, .nk-textarea::placeholder { color: var(--nk-text-tertiary); }\n.nk-input.wide, .nk-textarea.wide, .nk-select.wide { width: 100%; min-width: 0; }\n/* iOS draws date and time fields as native controls with a width of their\n   own: a wide field ran 21px past its column, two in a .nk-fields row\n   overlapped, and the value sat centred. Without the native appearance they\n   size like every other field; desktop browsers keep their picker. */\n.nk-input[type=\"date\"],\n.nk-input[type=\"time\"],\n.nk-input[type=\"datetime-local\"],\n.nk-input[type=\"month\"] { appearance: none; }\n/* A rule of its own: a browser that does not know the pseudo-element\n   drops only this one. Without the native control an empty field has no\n   value box and collapsed to 12px on iOS; one line keeps it 32px tall. */\n.nk-input::-webkit-date-and-time-value { text-align: start; min-height: 1lh; }\n.nk-select.compact { min-width: 120px; }\n.nk-textarea { resize: vertical; min-height: 70px; line-height: 1.5; }\n.nk-select {\n  appearance: none; cursor: pointer; padding-right: 26px;\n  background-image: linear-gradient(45deg, transparent 50%, var(--nk-text-tertiary) 50%), linear-gradient(135deg, var(--nk-text-tertiary) 50%, transparent 50%);\n  background-position: calc(100% - 14px) 55%, calc(100% - 10px) 55%;\n  background-size: 4px 4px; background-repeat: no-repeat;\n}\n\n/* Copy field, as Notion shows a link to share or an integration secret:\n   the value in a field of its own \u2013 one line, cut with an ellipsis, taken\n   whole by a click \u2013 with its actions inside on the right, as tall as an\n   input. `mono` for addresses, keys and code; `wrap` lets a long value\n   break, the actions stay on the first line. `.copied` is an action's\n   moment after, in green. */\n.nk-copy-field {\n  display: flex; align-items: center; gap: 2px; min-width: var(--_nk-field-min, 210px); max-width: 100%;\n  padding: 0 3px 0 10px; font-size: 14px; line-height: 20px; color: var(--nk-text);\n  background: var(--nk-bg-input); border: 1px solid var(--nk-border); border-radius: var(--nk-radius);\n}\n.nk-copy-field.wide { width: 100%; min-width: 0; }\n.nk-copy-field.wrap { align-items: flex-start; }\n.nk-copy-field .cf-value { flex: 1 1 auto; min-width: 0; padding: 5px 6px 5px 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; user-select: all; }\n.nk-copy-field.mono .cf-value { font-family: var(--nk-font-mono); font-size: 13px; }\n.nk-copy-field.wrap .cf-value { white-space: pre-wrap; overflow-wrap: anywhere; }\n.nk-copy-field .cf-btn {\n  flex: none; height: 24px; margin: 3px 0; padding: 0 8px; border: none; border-radius: 4px;\n  background: transparent; font-family: inherit; font-size: 13px; color: var(--nk-text-secondary);\n  white-space: nowrap; cursor: pointer;\n}\n.nk-copy-field .cf-btn:hover { background: var(--nk-bg-hover); color: var(--nk-text); }\n.nk-copy-field .cf-btn.copied { color: var(--nk-color-green); }\n/* Icons instead of words: a .cf-btn may carry an <svg> beside its word in a\n   <span> \u2013 two overlapping squares for Copy, an eye for Show, a check for\n   the moment after. On a phone, and anywhere with `.icons`, the icon stands\n   in for the word, as in Notion, and a masked key keeps a dozen characters\n   more; give the button the word as aria-label. A button without an icon\n   keeps its word. */\n.nk-copy-field .cf-btn > svg { display: none; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }\n.nk-copy-field.icons .cf-btn:has(> svg) { display: inline-flex; align-items: center; justify-content: center; width: 28px; padding: 0; }\n.nk-copy-field.icons .cf-btn > svg { display: block; }\n.nk-copy-field.icons .cf-btn:has(> svg) > span { display: none; }\n\n/* Date picker, Notion's month sheet: a title with the month and the \u2039 \u203A\n   buttons, the weekdays, six rows of days. The chosen day takes the accent,\n   today is in red. A range fills from `.start` to `.end` in a band of the\n   accent's tint (`.in-range`). `.off` greys a day that is not worked \u2013 a\n   weekend, a holiday; `.out` a day of the next or previous month;\n   aria-disabled one outside the bounds. `.cal-marks` holds up to three dots\n   (`i.blue`, `i.red` \u2026 the nine colours). `weeks` adds a column of ISO\n   calendar weeks, `.cal-foot` a time field or actions under the sheet. The\n   cells are --_nk-cell square: 36px, so seven and a week column fill a\n   popover; 44px in a sheet on a phone. */\n.nk-calendar {\n  display: block; width: max-content; max-width: 100%; margin-inline: auto;\n  font-size: 14px; user-select: none; -webkit-user-select: none;\n}\n.nk-calendar .cal-head { display: flex; align-items: center; gap: 2px; padding: 0 0 6px 6px; }\n.nk-calendar .cal-title { flex: 1; font-weight: 600; white-space: nowrap; }\n.nk-calendar .cal-nav,\n.nk-calendar-view .cal-nav {\n  display: inline-flex; align-items: center; justify-content: center; height: 28px; min-width: 28px; padding: 0 6px;\n  border: none; border-radius: var(--nk-radius); background: transparent;\n  font-family: inherit; font-size: 13px; color: var(--nk-text-secondary); cursor: pointer;\n}\n.nk-calendar .cal-nav:hover,\n.nk-calendar-view .cal-nav:hover { background: var(--nk-bg-hover); color: var(--nk-text); }\n.nk-calendar .cal-nav svg,\n.nk-calendar-view .cal-nav svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }\n.nk-calendar .cal-grid { display: grid; grid-template-columns: repeat(7, var(--_nk-cell, 36px)); row-gap: 2px; }\n.nk-calendar.weeks .cal-grid { grid-template-columns: 24px repeat(7, var(--_nk-cell, 36px)); }\n.nk-calendar .cal-wd,\n.nk-calendar .cal-week { display: flex; align-items: center; justify-content: center; font-size: 12px; color: var(--nk-text-tertiary); font-variant-numeric: tabular-nums; }\n.nk-calendar .cal-wd { height: 24px; }\n.nk-calendar .cal-week { font-size: 11px; }\n.nk-calendar .cal-day {\n  position: relative; display: inline-flex; align-items: center; justify-content: center;\n  width: var(--_nk-cell, 36px); height: var(--_nk-cell, 36px); padding: 0;\n  border: none; border-radius: var(--nk-radius); background: transparent;\n  font-family: inherit; font-size: 14px; color: var(--nk-text); font-variant-numeric: tabular-nums; cursor: pointer;\n}\n.nk-calendar .cal-day:hover { background: var(--nk-bg-hover); }\n.nk-calendar .cal-day:focus-visible { outline: 2px solid color-mix(in srgb, var(--nk-accent) 60%, transparent); outline-offset: -2px; }\n.nk-calendar .cal-day.out,\n.nk-calendar .cal-day.off { color: var(--nk-text-tertiary); }\n.nk-calendar .cal-day.today { color: var(--nk-danger); font-weight: 600; }\n.nk-calendar .cal-day.in-range { border-radius: 0; background: color-mix(in srgb, var(--nk-accent) 12%, transparent); }\n.nk-calendar .cal-day:is(.selected, .start, .end) { background: var(--nk-accent); color: var(--nk-on-accent); font-weight: 500; }\n.nk-calendar .cal-day.start:not(.end) { border-radius: var(--nk-radius) 0 0 var(--nk-radius); }\n.nk-calendar .cal-day.end:not(.start) { border-radius: 0 var(--nk-radius) var(--nk-radius) 0; }\n.nk-calendar .cal-day[aria-disabled=\"true\"] { color: var(--nk-text-tertiary); background: none; opacity: .5; cursor: default; }\n.nk-calendar .cal-marks { position: absolute; left: 0; right: 0; bottom: 3px; display: flex; justify-content: center; gap: 2px; pointer-events: none; }\n.nk-calendar .cal-marks i { width: 4px; height: 4px; border-radius: 50%; background: var(--nk-color-gray); }\n.nk-calendar .cal-day:is(.selected, .start, .end) .cal-marks i { background: var(--nk-on-accent); }\n.nk-calendar .cal-foot { display: flex; align-items: center; gap: 8px; margin-top: 8px; padding: 8px 2px 0; border-top: 1px solid var(--nk-border); }\n.nk-calendar .cal-foot .nk-input { min-width: 0; flex: 1 1 auto; }\n\n/* 28px tall at 14px. The secondary and danger buttons are Notion's white\n   button: the outline comes from --nk-shadow-btn, not from a border. */\n.nk-btn {\n  font-family: inherit; font-size: 14px; line-height: 20px; font-weight: 500;\n  border-radius: var(--nk-radius); cursor: pointer;\n  padding: 3px 12px; border: 1px solid transparent;\n  transition: background .15s, border-color .15s, box-shadow .15s, opacity .15s;\n  display: inline-flex; align-items: center; justify-content: center; gap: 6px; white-space: nowrap;\n}\n.nk-btn svg,\n.nk-btn ::slotted(svg) {\n  width: 15px; height: 15px; flex-shrink: 0;\n  fill: none; stroke: currentColor;\n  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;\n}\n.nk-btn.primary { background: var(--nk-accent); color: var(--nk-on-accent); }\n.nk-btn.primary:hover:not(:disabled, [aria-disabled=\"true\"]) { opacity: .88; }\n.nk-btn.secondary { background: var(--nk-bg-card); color: var(--nk-text); box-shadow: var(--nk-shadow-btn); }\n.nk-btn.secondary:hover:not(:disabled, [aria-disabled=\"true\"]) { background: color-mix(in srgb, var(--nk-bg-card), var(--nk-text) 6%); }\n.nk-btn.danger { background: var(--nk-bg-card); color: var(--nk-danger); box-shadow: var(--nk-shadow-btn); }\n.nk-btn.danger:hover:not(:disabled, [aria-disabled=\"true\"]) { background: color-mix(in srgb, var(--nk-danger) 8%, var(--nk-bg-card)); }\n.nk-btn.danger-solid { background: var(--nk-danger); color: var(--nk-on-accent); }\n.nk-btn.danger-solid:hover:not(:disabled, [aria-disabled=\"true\"]) { opacity: .88; }\n.nk-btn.small { padding: 1px 8px; font-size: 13px; line-height: 20px; }\na.nk-btn { text-decoration: none; }\n/* Disabled still takes the pointer \u2013 for its title or tooltip, which often\n   says why \u2013 but the hover rules above leave it alone. A link button is\n   disabled with aria-disabled=\"true\"; stopping its click is your script's. */\n.nk-btn:disabled,\n.nk-btn[aria-disabled=\"true\"] { opacity: .5; cursor: not-allowed; }\n\n/* Two checked states on purpose: <input class=\"nk-switch\" type=\"checkbox\">\n   uses :checked, <button class=\"nk-switch\" role=\"switch\"> uses\n   aria-checked. The library ships the state, never the toggling. */\n.nk-switch {\n  position: relative; width: 34px; height: 20px; flex-shrink: 0;\n  appearance: none; border: none; cursor: pointer; border-radius: 20px;\n  background: var(--nk-border-strong); transition: background .2s;\n}\n.nk-switch::after {\n  content: \"\"; position: absolute; top: 2px; left: 2px;\n  width: 16px; height: 16px; border-radius: 50%; background: var(--nk-on-accent);\n  transition: transform .2s; box-shadow: var(--nk-shadow-knob);\n}\n.nk-switch:checked,\n.nk-switch[aria-checked=\"true\"] { background: var(--nk-accent); }\n.nk-switch:checked::after,\n.nk-switch[aria-checked=\"true\"]::after { transform: translateX(14px); }\n.nk-switch:disabled { opacity: .5; cursor: not-allowed; }\n/* A switch with visible text: the label makes the text part of the hit area\n   (a button is a labelable element), for several switches in one row. */\n.nk-switch-label { display: inline-flex; align-items: flex-start; gap: 8px; font-size: 14px; cursor: pointer; }\n/* Control and text meet on the first line, as in Notion: a label that wraps\n   keeps the control beside its first line, not the middle of the block.\n   Whichever of the two is shorter is nudged by half the difference, so a\n   one-line label sits exactly where it did. 1lh reads the label's line\n   height through `inherit`; where lh is unknown the control sits at the top. */\n.nk-switch-label > .nk-switch { font-size: inherit; line-height: inherit; margin-top: max(0px, calc((1lh - 20px) / 2)); }\n.nk-switch-label > span { padding-top: max(0px, calc((20px - 1lh) / 2)); }\n.nk-switch-label:has(.nk-switch:disabled) { cursor: not-allowed; color: var(--nk-text-tertiary); }\n\n.nk-check { display: flex; align-items: flex-start; gap: 8px; padding: 4px 0; font-size: 14px; cursor: pointer; }\n.nk-check input {\n  appearance: none; width: 16px; height: 16px; flex-shrink: 0;\n  border: 1.4px solid var(--nk-border-strong); border-radius: 3px;\n  cursor: pointer; position: relative; background: var(--nk-bg);\n  /* First line, as with the switch label above. */\n  font-size: inherit; line-height: inherit; margin-top: max(0px, calc((1lh - 16px) / 2));\n}\n.nk-check input[type=\"radio\"] { border-radius: 50%; }\n.nk-check input:checked { background: var(--nk-accent); border-color: var(--nk-accent); }\n.nk-check input:checked::after {\n  content: \"\u2713\"; color: var(--nk-on-accent); font-size: 10.5px;\n  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;\n}\n.nk-check input[type=\"radio\"]:checked::after { content: \"\u25CF\"; font-size: 7px; }\n.nk-check input:disabled { opacity: .5; cursor: not-allowed; }\n.nk-check input:disabled + * { opacity: .6; }\n\n.nk-slider { width: 210px; accent-color: var(--nk-accent); cursor: pointer; }\n.nk-slider-value { font-size: 12.5px; color: var(--nk-text-tertiary); margin-top: 3px; }\n\n.nk-profile-row { display: flex; align-items: center; gap: 14px; padding: 8px 0; }\n.nk-profile-row .big-avatar,\n.nk-profile-row ::slotted(.big-avatar),\n.nk-profile-row ::slotted([slot=\"avatar\"]) {\n  width: 56px; height: 56px; border-radius: 50%;\n  background: linear-gradient(135deg, var(--nk-decor-purple), var(--nk-decor-blue));\n  color: var(--nk-on-accent); font-size: 20px; font-weight: 600;\n  display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0;\n}\n/* The picture you chose, cropped to the circle \u2013 or to the rounded square\n   of a workspace icon. The actions stand in a column beside it; `.pr-remove`\n   is the quiet one. */\n.nk-profile-row .big-avatar > img { display: block; width: 100%; height: 100%; object-fit: cover; }\n.nk-profile-row .big-avatar.square,\n.nk-profile-row ::slotted(.big-avatar.square) { border-radius: 8px; }\n.nk-profile-row .pr-actions { display: flex; flex-direction: column; gap: 6px; }\n.nk-profile-row .pr-remove { color: var(--nk-text-tertiary); }\n\n.nk-model-card {\n  border: 1px solid var(--nk-border-strong); border-radius: 8px;\n  padding: 12px 14px; margin-bottom: var(--nk-block-space, 10px); cursor: pointer;\n  display: flex; align-items: flex-start; gap: 11px;\n  transition: border-color .15s, background .15s;\n}\n.nk-model-card:hover { background: var(--nk-bg-hover); }\n.nk-model-card.selected { border-color: var(--nk-accent); background: color-mix(in srgb, var(--nk-accent) 6%, transparent); }\n.nk-model-card .m-radio {\n  width: 15px; height: 15px; border-radius: 50%; flex-shrink: 0; margin-top: 2px;\n  border: 1.4px solid var(--nk-border-strong); position: relative;\n}\n.nk-model-card.selected .m-radio { border-color: var(--nk-accent); }\n.nk-model-card.selected .m-radio::after {\n  content: \"\"; position: absolute; inset: 3px; border-radius: 50%; background: var(--nk-accent);\n}\n.nk-model-card .m-name,\n.nk-model-card ::slotted(.m-name),\n.nk-model-card ::slotted([slot=\"title\"]) { font-weight: 500; font-size: 14px; display: flex; align-items: center; gap: 7px; }\n.nk-model-card .m-desc,\n.nk-model-card ::slotted(.m-desc),\n.nk-model-card ::slotted([slot=\"desc\"]) { font-size: 12px; color: var(--nk-text-secondary); margin-top: 2px; line-height: 1.45; }\n\n.nk-danger-zone {\n  border: 1px solid color-mix(in srgb, var(--nk-danger) 40%, transparent); border-radius: 8px;\n  padding: 14px 16px; margin-top: var(--nk-block-space, 26px);\n}\n.nk-danger-zone .dz-title { color: var(--nk-danger); font-weight: 600; font-size: 13px; margin-bottom: 8px; }\n\n/* The separator is keyed on the light-DOM sibling order, so the\n   ::slotted() twin keeps working when <nk-member-list> projects rows. */\n.nk-member-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--nk-border); }\n.nk-member-list > .nk-member-row:last-child,\n.nk-member-list ::slotted(.nk-member-row:last-child),\n.nk-member-row.last { border-bottom: none; }\n.nk-member-row .mini-avatar,\n.nk-member-row .nk-avatar,\n.nk-member-row ::slotted(.mini-avatar),\n.nk-member-row ::slotted([slot=\"avatar\"]) {\n  width: 28px; height: 28px; border-radius: 50%; color: var(--nk-on-accent);\n  display: flex; align-items: center; justify-content: center;\n  font-size: 11px; font-weight: 600; flex-shrink: 0;\n}\n/* The name column may shrink, so an address without a break point ends in\n   an ellipsis instead of pushing the role select past the row. */\n.nk-member-row > :has(> .m-mail) { min-width: 0; }\n.nk-member-row .m-mail { font-size: 12px; color: var(--nk-text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.nk-member-row .nk-select { min-width: 120px; margin-left: auto; }\n.nk-member-row ::slotted([slot=\"role\"]) { margin-left: auto; }\n\n\n/* ============================================================\n   B7. SETTINGS MODAL  (PRD 5.7)\n   ============================================================ */\n.nk-modal-backdrop {\n  position: fixed; inset: 0; background: var(--nk-scrim);\n  padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);\n  display: flex; align-items: center; justify-content: center;\n  z-index: 100; opacity: 0; pointer-events: none;\n  transition: opacity .2s ease;\n}\n.nk-modal-backdrop.open { opacity: 1; pointer-events: auto; }\n.nk-modal {\n  width: min(1150px, 92vw); height: min(715px, 86vh); max-width: 100%; max-height: 100%;\n  background: var(--nk-bg); border-radius: 10px;\n  box-shadow: var(--nk-shadow-menu);\n  display: flex; overflow: hidden;\n  transform: scale(.98) translateY(6px); transition: transform .2s ease;\n}\n/* At rest the open surfaces carry no transform at all \u2013 `none`, not an\n   identity \u2013 so a floating menu or date picker inside is fixed to the\n   window again, not to the surface, and not clipped by its overflow. */\n.nk-modal-backdrop.open .nk-modal { transform: none; }\n\n.nk-settings-nav {\n  width: 240px; min-width: 240px; background: var(--nk-bg-sidebar);\n  border-right: 1px solid var(--nk-border);\n  padding: 10px 8px; overflow-y: auto; flex-shrink: 0;\n}\n.nk-settings-user {\n  display: flex; align-items: center; gap: 9px;\n  padding: 6px 10px 12px; margin-bottom: 4px;\n}\n.nk-settings-user .avatar,\n.nk-settings-user ::slotted(.avatar),\n.nk-settings-user ::slotted([slot=\"avatar\"]) {\n  width: 34px; height: 34px; border-radius: 50%;\n  background: linear-gradient(135deg, var(--nk-decor-purple), var(--nk-decor-blue));\n  color: var(--nk-on-accent); font-weight: 600; font-size: 13px;\n  display: flex; align-items: center; justify-content: center;\n}\n.nk-settings-user .name { font-weight: 500; font-size: 14px; }\n.nk-settings-user .mail { font-size: 12px; color: var(--nk-text-secondary); }\n.nk-settings-nav .nk-tree-item { min-height: 28px; }\n.nk-settings-nav .nk-tree-item.active { background: var(--nk-bg-active); color: var(--nk-text); font-weight: 500; }\n\n.nk-settings-content { flex: 1; overflow-y: auto; padding: 36px 60px 80px; min-width: 0; }\n.nk-settings-content::-webkit-scrollbar { width: 10px; }\n.nk-settings-content::-webkit-scrollbar-thumb { background: var(--nk-border-strong); border-radius: 5px; border: 2px solid var(--nk-bg); }\n\n.nk-settings-pane { display: none; max-width: 800px; }\n.nk-settings-pane.active { display: block; }\n/* Pane title as a page-like heading, sections as 16px rules \u2013 the\n   proportions of Notion's 2025 settings dialog. */\n.nk-settings-pane > h2 { font-size: 22px; font-weight: 600; line-height: 1.3; margin-bottom: 20px; }\n.nk-settings-pane > h3 { font-size: 16px; font-weight: 500; padding-bottom: 8px; border-bottom: 1px solid var(--nk-border); margin: 30px 0 12px; }\n/* Slotted headings: the child combinator above cannot cross a slot boundary,\n   and slotted nodes miss the scoped reset, so the margins are spelled out. */\n.nk-settings-pane ::slotted(h2) { font-size: 22px; font-weight: 600; line-height: 1.3; padding: 0 !important; margin: 0 0 20px !important; }\n.nk-settings-pane ::slotted(h3) { font-size: 16px; font-weight: 500; border: 0; border-bottom: 1px solid var(--nk-border); padding: 0 0 8px !important; margin: 30px 0 12px !important; }\n\n\n/* ============================================================\n   B8. OVERLAYS & MENUS  (PRD 5.8)\n   ============================================================ */\n.nk-pop {\n  background: var(--nk-bg); border-radius: 10px; box-shadow: var(--nk-shadow-menu);\n  padding: 10px; width: 296px;\n}\n\n.nk-emoji-search {\n  width: 100%; font-family: inherit; font-size: 14px; color: var(--nk-text);\n  background: var(--nk-bg-input); border: 1px solid var(--nk-border); border-radius: var(--nk-radius);\n  padding: 6px 10px; outline: none; margin-bottom: 8px;\n}\n.nk-emoji-grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 2px; }\n.nk-emoji-grid span,\n.nk-emoji-grid ::slotted(span) {\n  font-size: 18px; text-align: center; padding: 4px 0; border-radius: 5px;\n  cursor: pointer; user-select: none;\n}\n.nk-emoji-grid span:hover { background: var(--nk-bg-hover); }\n.nk-emoji-cats { display: flex; gap: 2px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--nk-border); }\n.nk-emoji-cats span {\n  font-size: 14px; padding: 3px 7px; border-radius: 5px; cursor: pointer;\n  color: var(--nk-text-tertiary); filter: grayscale(1); opacity: .6;\n}\n.nk-emoji-cats span.active, .nk-emoji-cats span:hover { filter: none; opacity: 1; background: var(--nk-bg-hover); }\n\n.nk-menu { padding: 5px; width: 230px; }\n.nk-menu-item {\n  display: flex; align-items: center; gap: 9px; padding: 4px 8px; min-height: var(--_nk-row, 28px);\n  border-radius: 5px; cursor: pointer; font-size: 14px; user-select: none;\n}\n.nk-menu-item:hover { background: var(--nk-bg-hover); }\n.nk-menu-item .m-icon,\n.nk-menu-item ::slotted(.m-icon),\n.nk-menu-item ::slotted([slot=\"icon\"]) { width: 17px; text-align: center; font-size: 14px; }\n.nk-menu-item .m-shortcut,\n.nk-menu-item ::slotted(.m-shortcut) { margin-left: auto; font-size: 12px; color: var(--nk-text-tertiary); }\n.nk-menu-item.danger { color: var(--nk-danger); }\n/* A switch in a menu row sits on the right, like \"Small text\" and \"Full\n   width\" in Notion's page menu. */\n.nk-menu-item > .nk-switch { margin-left: auto; }\n.nk-menu-sep { border-top: 1px solid var(--nk-border); margin: 5px 4px; }\n.nk-menu-label { font-size: 12px; color: var(--nk-text-tertiary); padding: 5px 8px 2px; }\n\n/* `floating`: a popover over the page \u2013 a page menu, a filter menu \u2013 that\n   opens and closes with .open, the way the palette does: it fades in and\n   settles from 4px higher and 98 %. Closed it takes no clicks and no\n   focus. Where it sits is yours: fixed or absolute, top and left or right.\n   It never grows past the window: a longer menu scrolls inside, and\n   --_nk-float-max, set by a placement script, caps it to the room below or\n   above its anchor. It lies above the modal, the sheet and the dialog (106),\n   so a menu or a date picker opened from one of them shows over it; the\n   palette, the toast and the tooltip stay above. */\n.nk-pop.floating {\n  z-index: 106; opacity: 0; visibility: hidden; pointer-events: none;\n  max-height: min(var(--_nk-float-max, 100dvh), 100dvh - 16px); overflow-y: auto; overscroll-behavior: contain;\n  transform: translateY(-4px) scale(.98); transform-origin: top;\n  transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s;\n}\n.nk-pop.floating.open {\n  opacity: 1; visibility: visible; pointer-events: auto; transform: none;\n  transition: opacity .15s ease, transform .15s ease, visibility 0s;\n}\n\n.nk-cmdk-backdrop {\n  position: fixed; inset: 0; background: var(--nk-scrim-soft);\n  display: flex; justify-content: center; align-items: flex-start;\n  padding: max(14vh, env(safe-area-inset-top, 0px)) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);\n  z-index: 110; opacity: 0; pointer-events: none;\n  transition: opacity .18s ease;\n}\n.nk-cmdk-backdrop.open { opacity: 1; pointer-events: auto; }\n.nk-cmdk {\n  max-width: 100%; width: min(560px, 92vw); background: var(--nk-bg);\n  border-radius: 12px; box-shadow: var(--nk-shadow-menu);\n  overflow: hidden; transform: scale(.98); transition: transform .18s ease;\n}\n.nk-cmdk-backdrop.open .nk-cmdk { transform: scale(1); }\n.nk-cmdk-input-row {\n  display: flex; align-items: center; gap: 10px;\n  padding: 14px 16px; border-bottom: 1px solid var(--nk-border);\n}\n.nk-cmdk-input-row input {\n  flex: 1; border: none; outline: none; background: transparent;\n  font-family: inherit; font-size: 16px; color: var(--nk-text);\n}\n.nk-cmdk-input-row input::placeholder { color: var(--nk-text-tertiary); }\n.nk-cmdk-list { max-height: 320px; overflow-y: auto; padding: 6px; }\n.nk-cmdk-group { font-size: 12px; color: var(--nk-text-tertiary); padding: 8px 10px 3px; }\n.nk-cmdk-item {\n  display: flex; align-items: center; gap: 10px; padding: 8px 10px;\n  border-radius: 6px; cursor: pointer; font-size: 14px; user-select: none;\n}\n.nk-cmdk-item.selected { background: var(--nk-bg-active); }\n.nk-cmdk-item .m-icon,\n.nk-cmdk-item ::slotted(.m-icon),\n.nk-cmdk-item ::slotted([slot=\"icon\"]) { width: 17px; text-align: center; font-size: 14px; }\n.nk-cmdk-item .m-shortcut,\n.nk-cmdk-item ::slotted(.m-shortcut) { margin-left: auto; font-size: 12px; color: var(--nk-text-tertiary); }\n.nk-cmdk-empty { padding: 30px; text-align: center; color: var(--nk-text-tertiary); font-size: 13.5px; }\n.nk-cmdk-footer {\n  display: flex; gap: 14px; padding: 8px 16px; border-top: 1px solid var(--nk-border);\n  font-size: 11.5px; color: var(--nk-text-tertiary);\n}\n\n/* The sheet: Notion's mobile surface for menus, properties and more, the\n   phone's twin of the modal. The backdrop fades, the panel rises from the\n   bottom edge with its top corners rounded and a grabber on top, and the\n   home indicator keeps its distance. It lies above the tab bar. Like the\n   modal it starts invisible; .open shows it. Closed, the backdrop leaves the\n   layout once it has faded \u2013 display with allow-discrete where the browser\n   has it, at once where not. Up to 640px wide, centred on larger screens. */\n.nk-sheet-backdrop {\n  position: fixed; inset: 0; z-index: 100;\n  display: none; flex-direction: column; align-items: center; justify-content: flex-end;\n  padding-top: max(24px, env(safe-area-inset-top, 0px));\n  background: var(--nk-scrim-soft); opacity: 0;\n  transition: opacity .2s ease, display .25s allow-discrete;\n}\n.nk-sheet-backdrop.open { display: flex; opacity: 1; }\n@starting-style { .nk-sheet-backdrop.open { opacity: 0; } }\n.nk-sheet {\n  --_nk-row: 40px;   /* rows a thumb can hit, see .nk-tree-item */\n  width: 100%; max-width: 640px; max-height: 100%; overflow-y: auto; overscroll-behavior: contain;\n  padding: 6px max(10px, env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(10px, env(safe-area-inset-left, 0px));\n  background: var(--nk-bg); color: var(--nk-text);\n  border-radius: 14px 14px 0 0; box-shadow: var(--nk-shadow-menu);\n  translate: 0 100%; transition: translate .25s cubic-bezier(.2, .8, .2, 1);\n}\n.nk-sheet-backdrop.open .nk-sheet { translate: none; }\n@starting-style { .nk-sheet-backdrop.open .nk-sheet { translate: 0 100%; } }\n.nk-sheet .sh-grabber,\n.nk-sheet ::slotted(.sh-grabber) { width: 36px; height: 4px; margin: 4px auto 10px; border-radius: 2px; background: var(--nk-border-strong); }\n.nk-sheet .sh-title,\n.nk-sheet ::slotted(.sh-title) { font-size: 14px; font-weight: 600; text-align: center; padding: 0 8px 10px; }\n\n/* Dialog: a question or a short form \u2013 \"Move to trash?\", a name, a link\n   between two tasks \u2013 with the contract of the modal and the sheet: .open on\n   the backdrop fades it in over a scrim and the card settles like the\n   modal's. It lies above both, so a question can come from either. 440px,\n   .wide 560px; .dl-title, .dl-body, .dl-actions on the right with the\n   confirming button last. Below 860px it is a bottom sheet (B12). */\n.nk-dialog-backdrop {\n  position: fixed; inset: 0; z-index: 105;\n  display: none; align-items: center; justify-content: center;\n  padding: max(16px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));\n  background: var(--nk-scrim-soft); opacity: 0;\n  transition: opacity .2s ease, display .2s allow-discrete;\n}\n.nk-dialog-backdrop.open { display: flex; opacity: 1; }\n@starting-style { .nk-dialog-backdrop.open { opacity: 0; } }\n.nk-dialog {\n  width: 440px; max-width: 100%; max-height: 100%; overflow-y: auto; overscroll-behavior: contain;\n  padding: 20px 24px; border-radius: 10px; outline: none;\n  background: var(--nk-bg); color: var(--nk-text); box-shadow: var(--nk-shadow-menu);\n  scale: .98; translate: 0 6px; transition: scale .2s ease, translate .2s ease;\n}\n.nk-dialog.wide { width: 560px; }\n.nk-dialog-backdrop.open .nk-dialog { scale: none; translate: none; }\n@starting-style { .nk-dialog-backdrop.open .nk-dialog { scale: .98; translate: 0 6px; } }\n.nk-dialog .dl-title { font-size: 16px; font-weight: 600; line-height: 1.4; margin-bottom: 6px; }\n.nk-dialog .dl-body { font-size: 14px; line-height: 1.5; }\n.nk-dialog .dl-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }\n\n/* Side peek, as Notion opens a database row beside the table: the entry in\n   a panel at the right edge, full height, a bar for its actions on top \u2013\n   close (\u00BB) and open as page \u2013 and the page below it: title in 32px,\n   properties, prose, comments. The page behind stays visible and usable,\n   so there is no scrim: the backdrop only holds the panel and lets clicks\n   through. `.open` slides it in; closed it leaves the layout once it has\n   slid out. Under the floating menus, so a menu opened in the peek lies\n   above it. Below 860px it is a bottom sheet over a dimmed page (B12). */\n.nk-peek-backdrop {\n  position: fixed; inset: 0; z-index: 50; display: none; pointer-events: none;\n  transition: background-color .2s ease, display .25s allow-discrete;\n}\n.nk-peek-backdrop.open { display: block; }\n.nk-peek {\n  --_nk-title: 32px;\n  position: absolute; top: 0; right: 0; bottom: 0; width: min(var(--nk-peek-width), 100%);\n  display: flex; flex-direction: column; pointer-events: auto; outline: none;\n  background: var(--nk-bg); color: var(--nk-text); box-shadow: var(--nk-shadow-menu);\n  translate: 100% 0; transition: translate .25s cubic-bezier(.2, .8, .2, 1);\n}\n.nk-peek-backdrop.open .nk-peek { translate: none; }\n@starting-style { .nk-peek-backdrop.open .nk-peek { translate: 100% 0; } }\n.nk-peek .pk-bar { flex: none; display: flex; align-items: center; gap: 2px; height: 44px; padding: 0 12px; }\n.nk-peek .pk-body {\n  flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain;\n  padding: 4px 48px 64px; font-size: 16px; line-height: 1.5;\n}\n/* Its width is the token --nk-peek-width. .pk-resize on the left edge takes\n   the pointer to make it wider or narrower, as in Notion \u2013 a script sets the\n   token on :root \u2013 and shows a line while hovered, focused or .active.\n   .nk-app.peek-inset gives the main column a right padding as wide as the\n   peek: the page moves aside instead of lying under it. */\n.nk-peek .pk-resize { position: absolute; top: 0; bottom: 0; left: -4px; width: 8px; z-index: 1; cursor: col-resize; touch-action: none; outline: none; }\n.nk-peek .pk-resize::after { content: \"\"; position: absolute; top: 0; bottom: 0; left: 3px; width: 2px; transition: background .15s; }\n.nk-peek .pk-resize:hover::after,\n.nk-peek .pk-resize:focus-visible::after,\n.nk-peek .pk-resize.active::after { background: var(--nk-accent); }\n.nk-app.peek-inset .nk-main { padding-right: min(var(--nk-peek-width), 100%); }\n\n/* Above every overlay \u2013 the modal is 100, the palette 110 \u2013 because a toast\n   is often the answer to something done in a dialog; above the home\n   indicator on a phone. */\n.nk-toast {\n  position: fixed; bottom: max(20px, calc(env(safe-area-inset-bottom, 0px) + 12px)); left: 50%; transform: translateX(-50%) translateY(80px);\n  z-index: 120;\n  /* left: 50% leaves the toast only half the viewport to shrink into, so on a\n     phone a short message broke over two lines. It takes its own width now,\n     up to the viewport minus a 16px margin on each side. */\n  width: max-content; max-width: calc(100% - 32px);\n  background: var(--nk-text); color: var(--nk-bg);\n  padding: 8px 16px; border-radius: 8px; font-size: 14px;\n  opacity: 0; transition: all .3s ease; pointer-events: none;\n  box-shadow: var(--nk-shadow-menu);\n  display: flex; gap: 8px; align-items: center;\n}\n.nk-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }\n/* A toast with an action \u2013 Notion's \"Moved to trash \u00B7 Undo\": .t-action is a\n   quiet button in the toast's own colours, .t-close the \u00D7 that dismisses a\n   toast that stays until one of them is used. Only a shown toast takes the\n   pointer; a slotted action meets the page's button reset, so its margin and\n   padding take !important there. Negative margins keep both within the\n   text's line, however short a system font makes it: the toast keeps its\n   height. */\n.nk-toast .t-action,\n.nk-toast ::slotted([slot=\"action\"]) {\n  flex: none; margin: -2px 0 -2px 4px; padding: 2px 8px; border: 0; border-radius: 5px;\n  background: color-mix(in srgb, var(--nk-bg) 16%, transparent); color: inherit;\n  font: inherit; font-weight: 500; white-space: nowrap; cursor: pointer;\n}\n.nk-toast ::slotted([slot=\"action\"]) { margin: -2px 0 -2px 4px !important; padding: 2px 8px !important; }\n.nk-toast .t-action:hover,\n.nk-toast ::slotted([slot=\"action\"]:hover) { background: color-mix(in srgb, var(--nk-bg) 26%, transparent); }\n.nk-toast .t-close {\n  flex: none; display: inline-flex; align-items: center; justify-content: center;\n  width: 24px; height: 24px; margin: -6px -8px -6px -2px; padding: 0; border: 0; border-radius: 5px;\n  background: none; color: inherit; opacity: .7; cursor: pointer;\n}\n.nk-toast .t-close:hover { opacity: 1; background: color-mix(in srgb, var(--nk-bg) 16%, transparent); }\n.nk-toast .t-close svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }\n.nk-toast :is(.t-action, .t-close):focus-visible,\n.nk-toast ::slotted([slot=\"action\"]:focus-visible) { outline: 2px solid color-mix(in srgb, var(--nk-bg) 70%, transparent); outline-offset: 1px; }\n.nk-toast.show :is(.t-action, .t-close),\n.nk-toast.show ::slotted([slot=\"action\"]) { pointer-events: auto; }\n\n/* Tooltip: a hover hint in the toast's colours, 12px, at most 260px wide,\n   a shortcut in .tt-key. Invisible and inert until .open fades it in;\n   where it sits is yours \u2013 fixed, top and left. Above every overlay. */\n.nk-tooltip {\n  z-index: 130; max-width: 260px; padding: 4px 8px; border-radius: var(--nk-radius); overflow-wrap: break-word;\n  background: var(--nk-text); color: var(--nk-bg); box-shadow: var(--nk-shadow-menu);\n  font-size: 12px; font-weight: 500; line-height: 16px; pointer-events: none;\n  opacity: 0; visibility: hidden; transition: opacity .1s ease, visibility 0s linear .1s;\n}\n.nk-tooltip.open { opacity: 1; visibility: visible; transition: opacity .1s ease; }\n.nk-tooltip .tt-key { margin-left: 6px; color: color-mix(in srgb, var(--nk-bg) 60%, transparent); }\n.nk-tooltip.lines { white-space: pre-line; }\n\n\n/* ============================================================\n   B9. GALLERY & PRODUCTIVITY BLOCKS  (PRD 5.9)\n   ============================================================ */\n/* Fluid, not breakpoint-driven: two columns in a 760px page column,\n   one column as soon as the container drops below ~600px. min(280px, 100%)\n   keeps the single column from overflowing containers narrower than 280px. */\n.nk-gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 20px 32px; margin: var(--nk-block-space, 12px) 0; }\n.nk-g-item > h4 {\n  font-size: 12px; font-weight: 500; color: var(--nk-text-tertiary);\n  text-transform: uppercase; letter-spacing: .04em; margin-bottom: 8px;\n}\n.nk-g-item ::slotted(h4) {\n  font-size: 12px; font-weight: 500; color: var(--nk-text-tertiary);\n  text-transform: uppercase; letter-spacing: .04em; margin-bottom: 8px !important;\n}\n\n.nk-tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--nk-border); font-size: 14px; }\n.nk-tab {\n  padding: 7px 11px; cursor: pointer; color: var(--nk-text-secondary);\n  border-bottom: 2px solid transparent; margin-bottom: -1px; user-select: none;\n}\n.nk-tab:hover { color: var(--nk-text); }\n.nk-tab.active { color: var(--nk-text); border-bottom-color: var(--nk-text); font-weight: 500; }\n.nk-tab-panel { padding: 12px 2px; color: var(--nk-text-secondary); line-height: 1.55; font-size: 14px; }\n/* .scroll: many tabs in one row that scrolls sideways, scrollbar hidden,\n   instead of running out of the page. The line moves into the row as an\n   inset shadow, so the scroller does not clip the active tab's underline;\n   it looks the same. */\n.nk-tabs.scroll {\n  overflow-x: auto; overflow-y: hidden; scrollbar-width: none; white-space: nowrap;\n  border-bottom: 0; padding-bottom: 1px; box-shadow: inset 0 -1px 0 var(--nk-border);\n}\n.nk-tabs.scroll::-webkit-scrollbar { display: none; }\n\n.nk-template-btn {\n  display: flex; align-items: center; gap: 8px; width: 100%;\n  font-family: inherit; font-size: 14px; color: var(--nk-text-secondary);\n  background: var(--nk-bg-callout); border: none; border-radius: var(--nk-radius);\n  padding: 8px 12px; cursor: pointer; margin-bottom: var(--nk-block-space, 6px); text-align: left;\n}\n.nk-template-btn:hover { background: var(--nk-bg-hover); }\n\n.nk-stats { display: flex; gap: 10px; }\n.nk-stat { flex: 1; border: 1px solid var(--nk-border); border-radius: 8px; padding: 12px 14px; }\n.nk-stat .s-label,\n.nk-stat ::slotted(.s-label),\n.nk-stat ::slotted([slot=\"label\"]) { font-size: 12px; color: var(--nk-text-secondary); margin-bottom: 4px; }\n.nk-stat .s-value,\n.nk-stat ::slotted(.s-value),\n.nk-stat ::slotted([slot=\"value\"]) { font-size: 22px; font-weight: 600; letter-spacing: -0.01em; }\n.nk-stat .s-delta,\n.nk-stat ::slotted(.s-delta),\n.nk-stat ::slotted([slot=\"delta\"]) { font-size: 12px; margin-top: 3px; }\n.nk-stat .s-delta.up,\n.nk-stat ::slotted(.s-delta.up),\n.nk-stat ::slotted([slot=\"delta\"].up) { color: var(--nk-color-green); }\n.nk-stat .s-delta.down,\n.nk-stat ::slotted(.s-delta.down),\n.nk-stat ::slotted([slot=\"delta\"].down) { color: var(--nk-danger); }\n\n.nk-synced {\n  border: 1.5px solid color-mix(in srgb, var(--nk-danger) 55%, transparent); border-radius: 8px;\n  padding: 12px 14px; position: relative; margin: var(--nk-block-space, 8px) 0;\n}\n.nk-synced .synced-badge {\n  position: absolute; top: -9px; right: 10px; font-size: 11px;\n  background: var(--nk-danger); color: var(--nk-on-accent); border-radius: 8px; padding: 1px 8px;\n}\n\n.nk-segmented { display: inline-flex; background: var(--nk-bg-callout); border-radius: 7px; padding: 2px; }\n.nk-segmented button {\n  font-family: inherit; font-size: 14px; border: none; background: transparent;\n  color: var(--nk-text-secondary); padding: 4px 12px; border-radius: 5px; cursor: pointer;\n}\n.nk-segmented ::slotted(button) {\n  font-family: inherit; font-size: 14px; border: none; background: transparent;\n  color: var(--nk-text-secondary); padding: 4px 12px !important; border-radius: 5px; cursor: pointer;\n}\n.nk-segmented button.active,\n.nk-segmented ::slotted(button.active) { background: var(--nk-bg); color: var(--nk-text); font-weight: 500; box-shadow: var(--nk-shadow-segment); }\n/* Five filter options do not fit a phone: `wrap` breaks the row, `scroll`\n   scrolls it horizontally with the scrollbar hidden. Default stays one row. */\n.nk-segmented.wrap { flex-wrap: wrap; }\n.nk-segmented.scroll { max-width: 100%; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }\n.nk-segmented.scroll::-webkit-scrollbar { display: none; }\n.nk-segmented.scroll button,\n.nk-segmented.scroll ::slotted(button) { flex-shrink: 0; white-space: nowrap; }\n\n/* A coloured callout, as Notion tints a block: soft background, the normal\n   text colour on top. The hue carries the mood, not the type. */\n.nk-banner {\n  display: flex; align-items: center; gap: 10px; font-size: 14px;\n  border-radius: 8px; padding: 10px 14px; margin-bottom: var(--nk-block-space, 8px); color: var(--nk-text);\n}\n.nk-banner.info { background: var(--nk-tint-blue); }\n.nk-banner.success { background: var(--nk-tint-green); }\n.nk-banner.warning { background: var(--nk-tint-yellow); }\n.nk-banner.danger { background: var(--nk-tint-red); }\n.nk-banner .b-action,\n.nk-banner ::slotted(.b-action),\n.nk-banner ::slotted([slot=\"action\"]) {\n  margin-left: auto; padding: 0; border: 0; background: none; color: inherit; font: inherit; font-weight: 500; text-align: left;\n  cursor: pointer; text-decoration: underline; text-underline-offset: 2px;\n}\n/* A slotted <button> also meets the page's button reset, and the outer\n   tree wins over ::slotted() \u2013 the margin that pushes the action to the\n   right edge takes !important there. */\n.nk-banner ::slotted(.b-action),\n.nk-banner ::slotted([slot=\"action\"]) { margin-left: auto !important; }\n\n.nk-avatar-group { display: flex; }\n.nk-avatar-group .mini-avatar,\n.nk-avatar-group .nk-avatar,\n.nk-avatar-group ::slotted(.mini-avatar),\n.nk-avatar-group ::slotted(.nk-avatar) {\n  width: 26px; height: 26px; border-radius: 50%; color: var(--nk-on-accent);\n  font-size: 10.5px; font-weight: 600; border: 2px solid var(--nk-bg);\n  display: flex; align-items: center; justify-content: center;\n  margin-left: -7px;\n}\n.nk-avatar-group .mini-avatar:first-child,\n.nk-avatar-group .nk-avatar:first-child,\n.nk-avatar-group ::slotted(.mini-avatar:first-child),\n.nk-avatar-group ::slotted(.nk-avatar:first-child) { margin-left: 0; }\n.nk-avatar-group .more,\n.nk-avatar-group ::slotted(.more) { background: var(--nk-bg-callout); color: var(--nk-text-secondary); }\n\n/* A person or a workspace: initials, an emoji or a photo in a circle. 24px\n   by default; `small` 20px as in cells and properties, `large` 32px,\n   `xlarge` 56px as in the profile row. Without a colour it takes the avatar\n   gradient, a colour name takes Notion's mid-tone of that name, `square`\n   gives it the workspace icon's corners. Works on an <img> as well as on a\n   box holding one. Inside a member row, a mention or an avatar group the\n   place sizes it, as it always did. */\n.nk-avatar {\n  display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;\n  width: 24px; height: 24px; border-radius: 50%; overflow: hidden; vertical-align: middle;\n  font-size: 10px; font-weight: 600; line-height: 1; color: var(--nk-on-accent); user-select: none;\n  background: linear-gradient(135deg, var(--nk-decor-purple), var(--nk-decor-blue));\n  object-fit: cover;\n}\n.nk-avatar.small { width: 20px; height: 20px; font-size: 9px; }\n.nk-avatar.large { width: 32px; height: 32px; font-size: 12px; }\n.nk-avatar.xlarge { width: 56px; height: 56px; font-size: 20px; }\n.nk-avatar.square { border-radius: 4px; }\n.nk-avatar > img,\n.nk-avatar ::slotted(img) { display: block; width: 100%; height: 100%; object-fit: cover; }\n.nk-avatar.gray,\n.nk-calendar .cal-marks i.gray { background: var(--nk-color-gray); }\n.nk-avatar.brown,\n.nk-calendar .cal-marks i.brown { background: var(--nk-color-brown); }\n.nk-avatar.orange,\n.nk-calendar .cal-marks i.orange { background: var(--nk-color-orange); }\n.nk-avatar.yellow,\n.nk-calendar .cal-marks i.yellow { background: var(--nk-color-yellow); }\n.nk-avatar.green,\n.nk-calendar .cal-marks i.green { background: var(--nk-color-green); }\n.nk-avatar.blue,\n.nk-calendar .cal-marks i.blue { background: var(--nk-color-blue); }\n.nk-avatar.purple,\n.nk-calendar .cal-marks i.purple { background: var(--nk-color-purple); }\n.nk-avatar.pink,\n.nk-calendar .cal-marks i.pink { background: var(--nk-color-pink); }\n.nk-avatar.red,\n.nk-calendar .cal-marks i.red { background: var(--nk-color-red); }\n\n/* A neutral surface for content that belongs together \u2013 the cards on\n   Notion's Home, the boxes in its settings. Not .nk-card, which is the board\n   card. `.nk-panels` sets several in a grid of columns at least 200px wide\n   that stretch to the row and fall to one on a phone. A cover as first\n   child runs to the panel's edges, --nk-panel-cover-height (64px) tall, and\n   a page icon after it overlaps the cover, as on the page itself. As a link\n   or button the panel answers the pointer. Inside a panel an input, a\n   select or a copy field gives up its 210px floor rather than run past the\n   edge of a 200px tile; a field row keeps it. */\n.nk-panels { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 12px; margin: var(--nk-block-space, 12px) 0; }\n.nk-panels.flush { margin: 0; }\n.nk-panel {\n  display: flex; flex-direction: column; gap: 6px; min-width: 0; --_nk-field-min: min(210px, 100%);\n  padding: 14px 16px; border: 1px solid var(--nk-border); border-radius: 10px;\n  background: var(--nk-bg-card); box-shadow: var(--nk-shadow-card);\n  font-size: 14px; line-height: 1.5; color: inherit; text-decoration: none; text-align: left;\n}\n:is(a, button).nk-panel { cursor: pointer; font-family: inherit; transition: border-color .15s, background .15s; }\n:is(a, button).nk-panel:hover { border-color: var(--nk-border-strong); }\n.nk-panel > h3,\n.nk-panel > .p-head > h3 { font-size: 14px; font-weight: 600; line-height: 1.4; }\n.nk-panel ::slotted(h3) { font-size: 14px; font-weight: 600; line-height: 1.4; margin: 0 !important; }\n.nk-panel > p { font-size: 13px; color: var(--nk-text-secondary); }\n.nk-panel ::slotted(p) { font-size: 13px; color: var(--nk-text-secondary); margin: 0 !important; }\n/* .p-head: the title with something at its right edge \u2013 a state as a tag, a\n   button \u2013 as Notion's settings boxes show whether a connection stands.\n   Where both do not fit, the end moves under the title. */\n.nk-panel > .p-head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-width: 0; }\n.nk-panel > .p-head > h3 { flex: 1 1 auto; min-width: 0; }\n.nk-panel .p-end { flex: none; display: flex; align-items: center; gap: 6px; margin-left: auto; }\n.nk-panel > .nk-cover { flex: none; height: var(--nk-panel-cover-height); margin: -14px -16px 2px; border-radius: 9px 9px 0 0; }\n.nk-panel > .nk-page-icon { font-size: 28px; }\n.nk-panel > .nk-cover + .nk-page-icon { margin-top: -24px; }\n\n.nk-skeleton {\n  border-radius: 5px; margin-bottom: var(--nk-block-space, 10px);\n  background: linear-gradient(90deg, var(--nk-bg-callout) 25%, var(--nk-bg-hover) 50%, var(--nk-bg-callout) 75%);\n  background-size: 200% 100%; animation: nk-shimmer 1.6s infinite;\n}\n@keyframes nk-shimmer { to { background-position: -200% 0; } }\n\n.nk-empty {\n  text-align: center; padding: 36px 20px; border: 1.5px dashed var(--nk-border-strong);\n  border-radius: 10px; color: var(--nk-text-tertiary);\n}\n.nk-empty .e-icon,\n.nk-empty ::slotted(.e-icon),\n.nk-empty ::slotted([slot=\"icon\"]) { font-size: 30px; margin-bottom: 8px; }\n.nk-empty .e-title,\n.nk-empty ::slotted(.e-title),\n.nk-empty ::slotted([slot=\"title\"]) { font-weight: 500; color: var(--nk-text-secondary); margin-bottom: 3px; font-size: 14px; }\n.nk-empty .e-desc,\n.nk-empty ::slotted(.e-desc),\n.nk-empty ::slotted([slot=\"desc\"]) { font-size: 13px; margin-bottom: 12px; }\n/* Several actions: a centred row that wraps, 8px apart in both directions.\n   Buttons written without whitespace between them used to touch. */\n.nk-empty .e-actions,\n.nk-empty ::slotted(.e-actions) { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }\n\n/* Steps through a short flow, calm and vertical: a numbered circle per step\n   joined by a hairline, done ones on the green tag with a check, the\n   current one ringed in the accent, the rest quiet. Not a Notion block \u2013 in\n   Notion's idiom it is a numbered list with checks \u2013 but LearnHub, Auxdesk\n   and NotionKit Web each build one. Write it as an <ol>; mark the current\n   step with aria-current=\"step\". */\n.nk-steps { display: flex; flex-direction: column; margin: var(--nk-block-space, 8px) 0; padding: 0; list-style: none; font-size: 14px; }\n.nk-step { position: relative; display: flex; align-items: flex-start; gap: 10px; padding-bottom: 14px; line-height: 20px; color: var(--nk-text-tertiary); }\n.nk-step:last-child { padding-bottom: 0; }\n.nk-step:not(:last-child)::after { content: \"\"; position: absolute; left: 10px; top: 24px; bottom: 4px; width: 1px; background: var(--nk-border); }\n.nk-step .st-mark {\n  flex: none; width: 20px; height: 20px; border-radius: 50%;\n  display: inline-flex; align-items: center; justify-content: center;\n  border: 1px solid var(--nk-border-strong); background: var(--nk-bg);\n  font-size: 11px; font-weight: 600; line-height: 1;\n}\n.nk-step .st-desc { display: block; font-size: 12px; line-height: 18px; color: var(--nk-text-tertiary); font-weight: 400; }\n.nk-step.done { color: var(--nk-text-secondary); }\n.nk-step.done .st-mark { background: var(--nk-tag-green-bg); color: var(--nk-tag-green-text); border-color: transparent; }\n.nk-step.current { color: var(--nk-text); font-weight: 500; }\n.nk-step.current .st-mark { border-color: var(--nk-accent); color: var(--nk-accent); }\n/* The states go per step, in any order: a wizard that lets a step be\n   skipped marks it .skipped \u2013 a dashed ring around a dash \u2013 while a later\n   one is .done. The label as a <button class=\"st-label\"> makes a step one\n   to jump to; as an <a class=\"st-label\" href> one to open in a new tab or\n   to copy the address of, and it looks the same. */\n.nk-step.skipped .st-mark { border-style: dashed; }\n.nk-step button.st-label,\n.nk-step a.st-label { font: inherit; color: inherit; text-align: left; text-decoration: none; background: none; border: 0; border-radius: 3px; cursor: pointer; }\n.nk-step button.st-label:hover,\n.nk-step a.st-label:hover { text-decoration: underline; text-decoration-color: var(--nk-text-tertiary); text-underline-offset: 2px; }\n.nk-step button.st-label:focus-visible,\n.nk-step a.st-label:focus-visible { outline: 2px solid color-mix(in srgb, var(--nk-accent) 60%, transparent); outline-offset: 2px; }\n/* .horizontal: one row above a wizard, each step joined to the next by a\n   line that takes the room between them. */\n.nk-steps.horizontal { flex-direction: row; align-items: flex-start; gap: 10px; }\n.nk-steps.horizontal .nk-step { flex: none; padding-bottom: 0; min-width: 0; white-space: nowrap; }\n.nk-steps.horizontal .nk-step:not(:last-child) { flex: 1 1 auto; }\n.nk-steps.horizontal .nk-step:not(:last-child)::after { position: static; flex: 1 1 16px; width: auto; min-width: 16px; height: 1px; margin-top: 10px; }\n\n\n/* ============================================================\n   B10. COLLABORATION & AI  (PRD 5.10)\n   ============================================================ */\n.nk-comments { border-left: 1px solid var(--nk-border); padding: 4px 0 4px 18px; margin: var(--nk-block-space, 8px) 0 var(--nk-block-space, 8px) 8px; }\n.nk-comment { display: flex; gap: 9px; margin-bottom: 14px; }\n.nk-comment .mini-avatar,\n.nk-comment ::slotted(.mini-avatar),\n.nk-comment ::slotted([slot=\"avatar\"]) {\n  width: 24px; height: 24px; border-radius: 50%; color: var(--nk-on-accent); flex-shrink: 0;\n  font-size: 10px; font-weight: 600;\n  display: flex; align-items: center; justify-content: center;\n}\n.nk-comment .c-head,\n.nk-comment ::slotted(.c-head) { font-size: 12px; color: var(--nk-text-tertiary); margin-bottom: 2px; }\n.nk-comment .c-head b { color: var(--nk-text); font-weight: 600; }\n.nk-comment .c-body,\n.nk-comment ::slotted(.c-body) { font-size: 14px; line-height: 1.5; }\n.nk-comment-input { display: flex; gap: 8px; align-items: center; margin-top: 4px; }\n.nk-comment-input input { min-width: 0; flex: 1; }\n\n.nk-ai-thread { display: flex; flex-direction: column; gap: 14px; }\n.nk-ai-msg { display: flex; gap: 9px; }\n.nk-ai-msg .mini-avatar,\n.nk-ai-msg ::slotted(.mini-avatar),\n.nk-ai-msg ::slotted([slot=\"avatar\"]) {\n  width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0;\n  display: flex; align-items: center; justify-content: center; font-size: 12px;\n  background: var(--nk-bg-callout);\n}\n.nk-ai-msg.user .mini-avatar,\n.nk-ai-msg.user ::slotted(.mini-avatar),\n.nk-ai-msg.user ::slotted([slot=\"avatar\"]) {\n  background: linear-gradient(135deg, var(--nk-decor-purple), var(--nk-decor-blue));\n  color: var(--nk-on-accent); font-size: 9.5px; font-weight: 600;\n}\n.nk-ai-msg .a-body,\n.nk-ai-msg ::slotted(.a-body) { font-size: 14px; line-height: 1.55; padding-top: 2px; }\n.nk-ai-msg .a-name,\n.nk-ai-msg ::slotted(.a-name) { font-size: 12px; font-weight: 600; margin-bottom: 2px; }\n.nk-ai-msg .a-name span { color: var(--nk-text-tertiary); font-weight: 400; }\n/* `bubble`: the message as a grey bubble, no avatar or name needed. Notion's\n   AI chat shows your own question that way, on the right \u2013 `.user.bubble`. */\n.nk-ai-msg.user.bubble { justify-content: flex-end; }\n.nk-ai-msg.bubble .a-body,\n.nk-ai-msg.bubble ::slotted(.a-body) { max-width: 85%; padding: 6px 12px; border-radius: 16px; background: var(--nk-bg-callout); }\n.nk-ai-actions { display: flex; gap: 4px; margin-top: 6px; }\n.nk-ai-actions button {\n  font-family: inherit; font-size: 12px; color: var(--nk-text-secondary);\n  background: transparent; border: 1px solid var(--nk-border); border-radius: 5px;\n  padding: 2px 8px; cursor: pointer;\n}\n.nk-ai-actions ::slotted(button) {\n  font-family: inherit; font-size: 12px; color: var(--nk-text-secondary);\n  background: transparent; border: 1px solid var(--nk-border); border-radius: 5px;\n  padding: 2px 8px !important; cursor: pointer;\n}\n.nk-ai-actions button:hover,\n.nk-ai-actions ::slotted(button:hover) { background: var(--nk-bg-hover); color: var(--nk-text); }\n.nk-ai-input-row {\n  display: flex; align-items: center; gap: 8px; margin-top: var(--nk-block-space, 14px);\n  border: 1px solid var(--nk-border-strong); border-radius: 10px; padding: 8px 12px;\n}\n.nk-ai-input-row:focus-within { border-color: var(--nk-accent); }\n.nk-ai-input-row input {\n  flex: 1; border: none; outline: none; background: transparent;\n  font-family: inherit; font-size: 14px; color: var(--nk-text); min-width: 0;\n}\n.nk-ai-input-row input::placeholder { color: var(--nk-text-tertiary); }\n.nk-ai-send {\n  border: none; background: var(--nk-accent); color: var(--nk-on-accent); border-radius: 6px;\n  width: 26px; height: 26px; cursor: pointer; font-size: 13px; flex-shrink: 0;\n}\n\n\n/* ============================================================\n   B11. EDITOR ADAPTER  (PRD 5.11)\n\n   NotionKit deliberately ships no editor. `.nk-block-host` is the\n   optical shell in the document flow; the behaviour comes from an\n   editor you mount inside it.\n\n   Every adapter rule below is scoped to `.nk-block-host` so the\n   library never claims a third-party class name globally. The\n   integration contract is therefore exactly one class on the host:\n\n     <div class=\"nk-block-host\" id=\"editor\"></div>\n     new Editor({ element: document.getElementById('editor'), \u2026 })\n   ============================================================ */\n.nk-block-host {\n  position: relative;\n  border-radius: var(--nk-radius);\n  margin: var(--nk-block-space, 8px) 0;\n  padding: 2px 0 2px 2px;\n  transition: background .15s, box-shadow .15s;\n}\n.nk-block-host:hover { background: var(--nk-bg-hover); }\n.nk-block-host:focus-within { background: transparent; box-shadow: 0 0 0 2px color-mix(in srgb, var(--nk-accent) 25%, transparent); }\n.nk-block-host.nk-drop-target { box-shadow: 0 -2px 0 0 var(--nk-accent); background: transparent; }\n\n/* Slot for a drag handle to the left of the content column. */\n.nk-block-host .nk-block-handle,\n.nk-block-host ::slotted(.nk-block-handle) {\n  position: absolute; left: -26px; top: 4px;\n  width: 18px; height: 20px; border-radius: 4px;\n  display: flex; align-items: center; justify-content: center;\n  color: var(--nk-text-tertiary); font-size: 13px; cursor: grab;\n  opacity: 0; transition: opacity .15s; user-select: none;\n}\n.nk-block-host:hover .nk-block-handle { opacity: 1; }\n\n/* Block action rail (\uFF0B / \u283F) that an editor integration positions beside\n   the hovered block. The library only supplies the look; the docs recipe\n   (docs-editor.js) shows the ~60 lines of positioning and drag logic. */\n.nk-block-host .nk-block-actions {\n  position: absolute; display: flex; gap: 1px; z-index: 2;\n  opacity: 0; transition: opacity .15s; pointer-events: none;\n}\n.nk-block-host .nk-block-actions.show { opacity: 1; pointer-events: auto; }\n.nk-block-host .nk-block-actions button,\n.nk-block-host .nk-block-actions ::slotted(button) {\n  width: 20px; height: 22px; padding: 0; border: none; border-radius: 4px;\n  background: transparent; color: var(--nk-text-tertiary); font-family: inherit;\n  font-size: 14px; line-height: 1; cursor: pointer;\n  display: flex; align-items: center; justify-content: center;\n}\n.nk-block-host .nk-block-actions button:hover { background: var(--nk-bg-hover); color: var(--nk-text); }\n.nk-block-host .nk-block-actions .drag { cursor: grab; }\n.nk-block-host .nk-block-actions .drag:active { cursor: grabbing; }\n\n/* ---- Prose and TipTap / ProseMirror: one set of rules ----\n   .nk-prose gives text the app did not write tag by tag \u2013 rendered\n   Markdown, help pages, the HTML an editor saved \u2013 the document look with\n   one class on the container. The editor adapter reads the very same\n   rules, so a page shown for reading and the same page in the editor\n   match to the pixel. Sizes are in em: the text follows the page (16px,\n   14px with `small`) or whatever it sits in. Document-level by design:\n   ::slotted() reaches only the slotted node, never a paragraph inside it,\n   so there is no <nk-prose> \u2013 the class goes on a light-DOM container. */\n.nk-prose,\n.nk-block-host .ProseMirror { font-family: var(--nk-font); line-height: 1.5; color: var(--nk-text); overflow-wrap: break-word; }\n.nk-block-host .ProseMirror { outline: none; min-height: 60px; padding: 4px 2px; }\n.nk-prose > * + *,\n.nk-block-host .ProseMirror > * + * { margin-top: 6px; }\n.nk-prose h1, .nk-block-host .ProseMirror h1 { font-size: 1.875em; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; margin: 32px 0 4px; }\n.nk-prose h2, .nk-block-host .ProseMirror h2 { font-size: 1.5em; font-weight: 600; line-height: 1.3; margin: 24px 0 4px; }\n.nk-prose h3, .nk-block-host .ProseMirror h3 { font-size: 1.25em; font-weight: 600; line-height: 1.3; margin: 16px 0 2px; }\n.nk-prose :is(h4, h5, h6), .nk-block-host .ProseMirror :is(h4, h5, h6) { font-size: 1em; font-weight: 600; margin: 12px 0 0; }\n/* Flush inside a panel or a cell: no outer margin on the first and last block. */\n.nk-prose > :first-child,\n.nk-block-host .ProseMirror > :first-child { margin-top: 0; }\n.nk-prose > :last-child,\n.nk-block-host .ProseMirror > :last-child { margin-bottom: 0; }\n/* An empty paragraph keeps its line, as it had it in the editor, where a\n   trailing <br> holds it open. An inline-block with no content is enough. */\n.nk-prose p:empty::before { content: \"\"; display: inline-block; }\n.nk-prose :is(strong, b),\n.nk-block-host .ProseMirror :is(strong, b) { font-weight: 600; }\n.nk-prose :is(ul, ol),\n.nk-block-host .ProseMirror :is(ul, ol) { padding-left: 24px; margin: 4px 0; }\n.nk-prose ul, .nk-block-host .ProseMirror ul { list-style: disc; }\n.nk-prose ol, .nk-block-host .ProseMirror ol { list-style: decimal; }\n.nk-prose li, .nk-block-host .ProseMirror li { margin: 2px 0; }\n.nk-prose li::marker, .nk-block-host .ProseMirror li::marker { color: var(--nk-text-tertiary); }\n.nk-prose ul[data-type=\"taskList\"],\n.nk-block-host .ProseMirror ul[data-type=\"taskList\"] { list-style: none; padding-left: 2px; }\n.nk-prose ul[data-type=\"taskList\"] li,\n.nk-block-host .ProseMirror ul[data-type=\"taskList\"] li { display: flex; gap: 8px; align-items: flex-start; }\n/* The box sits on the first line at any text size: half the line box minus\n   half the box, from the label's own line height. */\n.nk-prose ul[data-type=\"taskList\"] li > label,\n.nk-block-host .ProseMirror ul[data-type=\"taskList\"] li > label { flex-shrink: 0; margin-top: max(0px, calc((1lh - 16px) / 2)); user-select: none; }\n.nk-prose ul[data-type=\"taskList\"] li > div,\n.nk-block-host .ProseMirror ul[data-type=\"taskList\"] li > div { flex: 1; min-width: 0; }\n.nk-prose ul[data-type=\"taskList\"] input[type=\"checkbox\"],\n.nk-block-host .ProseMirror ul[data-type=\"taskList\"] input[type=\"checkbox\"] {\n  appearance: none; width: 16px; height: 16px; margin: 0;\n  border: 1.4px solid var(--nk-border-strong); border-radius: 2px;\n  cursor: pointer; position: relative; background: var(--nk-bg); display: block;\n}\n.nk-prose ul[data-type=\"taskList\"] input[type=\"checkbox\"]:checked,\n.nk-block-host .ProseMirror ul[data-type=\"taskList\"] input[type=\"checkbox\"]:checked { background: var(--nk-accent); border-color: var(--nk-accent); }\n.nk-prose ul[data-type=\"taskList\"] input[type=\"checkbox\"]:checked::after,\n.nk-block-host .ProseMirror ul[data-type=\"taskList\"] input[type=\"checkbox\"]:checked::after {\n  content: \"\u2713\"; color: var(--nk-on-accent); font-size: 11px;\n  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;\n}\n.nk-prose li[data-checked=\"true\"] > div,\n.nk-block-host .ProseMirror li[data-checked=\"true\"] > div { text-decoration: line-through; color: var(--nk-text-tertiary); }\n.nk-prose blockquote,\n.nk-block-host .ProseMirror blockquote {\n  border-left: 3px solid var(--nk-text); padding: 2px 0 2px 14px;\n  margin: 12px 0; color: var(--nk-text-secondary);\n}\n.nk-prose code,\n.nk-block-host .ProseMirror code {\n  font-family: var(--nk-font-mono); font-size: 85%;\n  color: var(--nk-danger); background: color-mix(in srgb, var(--nk-danger) 8%, transparent);\n  border-radius: 4px; padding: 1px 5px;\n}\n.nk-prose pre,\n.nk-block-host .ProseMirror pre {\n  background: var(--nk-bg-code); border: 1px solid var(--nk-border);\n  border-radius: var(--nk-radius); padding: 16px 20px; margin: 12px 0;\n  font-family: var(--nk-font-mono); font-size: 13px; line-height: 1.6;\n  color: var(--nk-text-secondary); overflow-x: auto;\n}\n.nk-prose pre code,\n.nk-block-host .ProseMirror pre code { background: none; color: inherit; padding: 0; font-size: inherit; }\n.nk-prose hr,\n.nk-block-host .ProseMirror hr { border: none; border-top: 1px solid var(--nk-border); margin: 20px 0; }\n.nk-prose a,\n.nk-block-host .ProseMirror a { color: var(--nk-accent); text-decoration: underline; text-underline-offset: 2px; }\n/* What Markdown has and the editor recipe does not: pictures and tables.\n   A wide table scrolls in its own box instead of widening the page. */\n.nk-prose img { max-width: 100%; height: auto; }\n.nk-prose table { display: block; width: max-content; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: 14px; margin: 12px 0; }\n.nk-prose :is(th, td) { padding: 6px 10px; border: 1px solid var(--nk-border); text-align: left; vertical-align: top; }\n.nk-prose th { font-weight: 600; }\n.nk-block-host .ProseMirror-gapcursor::after { border-top-color: var(--nk-text); }\n.nk-block-host .ProseMirror .ProseMirror-selectednode { background: color-mix(in srgb, var(--nk-accent) 8%, transparent); }\n.nk-block-host .ProseMirror-selectednode { box-shadow: 0 0 0 2px color-mix(in srgb, var(--nk-accent) 35%, transparent); border-radius: 3px; }\n.nk-block-host .ProseMirror ::selection { background: color-mix(in srgb, var(--nk-accent) 25%, transparent); }\n/* Placeholder \u2014 TipTap's Placeholder extension emits these classes. */\n.nk-block-host .ProseMirror p.is-editor-empty:first-child::before,\n.nk-block-host .ProseMirror .is-empty::before {\n  content: attr(data-placeholder);\n  color: var(--nk-text-tertiary);\n  float: left; height: 0; pointer-events: none;\n}\n\n/* ---- BlockNote (React path) ---- */\n.nk-block-host .bn-container { font-family: var(--nk-font); color: var(--nk-text); background: transparent; }\n.nk-block-host .bn-editor { padding: 4px 2px; }\n.nk-block-host .bn-block-content { font-size: 14px; line-height: 1.6; }\n.nk-block-host .bn-side-menu { color: var(--nk-text-tertiary); }\n.nk-block-host .bn-drag-handle { border-radius: 4px; }\n.nk-block-host .bn-drag-handle:hover { background: var(--nk-bg-hover); }\n\n/* ---- Novel (Next.js path; ProseMirror-based) ---- */\n.nk-block-host .novel-editor { font-family: var(--nk-font); color: var(--nk-text); }\n.nk-block-host .novel-prose { max-width: none; }\n\n/* ---- Slash menu & bubble toolbar, mapped onto nk-pop optics ----\n   Give the editor's floating containers these classes (TipTap:\n   the element you render the suggestion list into; BlockNote:\n   `.bn-suggestion-menu`) to inherit the NotionKit popover look. */\n.nk-slash-menu,\n.nk-block-host .bn-suggestion-menu,\n.nk-block-host .tippy-box {\n  background: var(--nk-bg); border-radius: 10px; box-shadow: var(--nk-shadow-menu);\n  padding: 6px; width: 280px; max-height: 320px; overflow-y: auto;\n  font-family: var(--nk-font); font-size: 14px; color: var(--nk-text);\n}\n.nk-slash-menu-label { font-size: 12px; color: var(--nk-text-tertiary); padding: 6px 9px 2px; }\n.nk-slash-item {\n  display: flex; align-items: center; gap: 10px; padding: 6px 9px;\n  border-radius: 5px; cursor: pointer; user-select: none;\n}\n.nk-slash-item:hover,\n.nk-slash-item.selected { background: var(--nk-bg-hover); }\n.nk-slash-item .m-icon,\n.nk-slash-item ::slotted(.m-icon) {\n  width: 28px; height: 28px; flex-shrink: 0; border-radius: 4px;\n  background: var(--nk-bg-callout); border: 1px solid var(--nk-border);\n  display: flex; align-items: center; justify-content: center; font-size: 15px;\n}\n.nk-slash-item .m-desc { font-size: 12px; color: var(--nk-text-tertiary); }\n\n/* Bubble toolbar: a horizontal nk-pop. */\n.nk-bubble-menu {\n  display: flex; align-items: center; gap: 2px;\n  background: var(--nk-bg); border-radius: 8px; box-shadow: var(--nk-shadow-menu);\n  padding: 4px;\n}\n.nk-bubble-menu button {\n  font-family: inherit; font-size: 13px; border: none; background: transparent;\n  color: var(--nk-text-secondary); padding: 4px 8px; border-radius: 5px; cursor: pointer;\n}\n.nk-bubble-menu ::slotted(button) {\n  font-family: inherit; font-size: 13px; border: none; background: transparent;\n  color: var(--nk-text-secondary); padding: 4px 8px !important; border-radius: 5px; cursor: pointer;\n}\n.nk-bubble-menu button:hover,\n.nk-bubble-menu ::slotted(button:hover) { background: var(--nk-bg-hover); color: var(--nk-text); }\n.nk-bubble-menu button.active,\n.nk-bubble-menu ::slotted(button.active) { color: var(--nk-accent); }\n\n\n/* ============================================================\n   B12. RESPONSIVE  (PRD 6.3a)\n\n   Exactly one breakpoint. Everything else is fluid: max-width plus\n   auto margins for the page column, min-width on the sidebar,\n   overflow-x on tables and boards, auto-fit grids in the gallery.\n   ============================================================ */\n@media (max-width: 860px) {\n  /* The sidebar steps aside; `.open` brings it back as an off-canvas drawer\n     over the page, .nk-sidebar-backdrop as its scrim, opened by the \u2630\n     .nk-sidebar-toggle in the topbar or a tab bar item. It slides in and the\n     scrim fades, CSS only: display transitions with allow-discrete, so the\n     old value holds while closing, and @starting-style gives the first\n     frame its start; browsers without either switch at once. position:\n     fixed sits on the plain sidebar, not on the open state \u2013 while closing\n     it is still displayed and must not fall back into the flow. */\n  .nk-sidebar {\n    display: none; position: fixed; inset: 0 auto 0 0; z-index: 60;\n    transform: translateX(-100%);\n    transition: background .25s ease, transform .24s cubic-bezier(.2, .8, .25, 1), display .24s allow-discrete;\n  }\n  .nk-sidebar.open { display: flex; transform: none; }\n  @starting-style { .nk-sidebar.open { transform: translateX(-100%); } }\n  .nk-sidebar-backdrop { opacity: 0; transition: opacity .24s ease, display .24s allow-discrete; }\n  .nk-sidebar-backdrop.open { display: block; opacity: 1; }\n  @starting-style { .nk-sidebar-backdrop.open { opacity: 0; } }\n  .nk-sidebar-toggle { display: inline-flex; }\n  .nk-sidebar.collapsed { margin-left: 0; visibility: visible; transition: background .25s ease, transform .24s cubic-bezier(.2, .8, .25, 1), display .24s allow-discrete; }\n  .nk-sidebar-collapse { display: none; }\n  .nk-tab-bar { display: flex; }\n  .nk-tab-bar.fixed + .nk-tab-bar-spacer { display: block; }\n  .nk-page { padding-left: max(24px, env(safe-area-inset-left, 0px)); padding-right: max(24px, env(safe-area-inset-right, 0px)); padding-bottom: 80px; }\n  .nk-settings-nav { width: 60px; min-width: 60px; }\n  .nk-settings-nav .label,\n  .nk-settings-nav .nk-section-label,\n  .nk-settings-user .u-text { display: none; }\n  .nk-settings-content { padding: 24px; }\n  .nk-cmdk-backdrop { padding-top: max(6vh, env(safe-area-inset-top, 0px)); }\n  .nk-cmdk { width: min(560px, 96vw); }\n  .nk-stats { flex-wrap: wrap; }\n  /* The topbar shows the page it is on and its actions, as Notion's mobile\n     app does: the trail before the last crumb and passive text step aside,\n     and the last crumb ends in an ellipsis instead of wrapping. At 390px the\n     actions used to wrap over three lines and push \"Share\" off the screen. */\n  .nk-breadcrumb { min-width: 0; }\n  .nk-breadcrumb > .crumb:not(:last-child),\n  .nk-breadcrumb ::slotted(.crumb:not(:last-child)),\n  .nk-breadcrumb > .sep,\n  .nk-breadcrumb ::slotted(.sep),\n  .nk-topbar-meta,\n  .nk-topbar-actions ::slotted(.nk-topbar-meta) { display: none; }\n  .nk-breadcrumb > .crumb:last-child,\n  .nk-breadcrumb ::slotted(.crumb:last-child) { display: block; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n  .nk-topbar-actions { flex-shrink: 0; }\n  /* A field row wraps: a control that does not fit beside its label moves\n     below it, and no control grows past its column. In the settings modal\n     five of six panes used to run up to 66px past the screen. */\n  .nk-field { flex-wrap: wrap; row-gap: 6px; }\n  .nk-field .f-control,\n  .nk-field ::slotted(.f-control) { max-width: 100%; min-width: 0; }\n  .nk-input, .nk-select, .nk-textarea, .nk-slider { max-width: 100%; }\n  /* Properties stack: the name above its value, both flush left, so a\n     value gets the whole width instead of what 160px leave of a phone. */\n  /* Single-line: a wrapping column takes the width of its widest value \u2013 a\n     copy field's whole address \u2013 instead of its card's. */\n  .nk-prop { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }\n  .nk-prop .p-name { flex: none; min-height: 26px; }\n  .nk-prop .p-value { flex: none; min-height: 30px; padding: 3px 6px 7px; }\n  /* A copy field's actions become icons where a button carries one. */\n  .nk-copy-field .cf-btn:has(> svg) { display: inline-flex; align-items: center; justify-content: center; width: 28px; padding: 0; }\n  .nk-copy-field .cf-btn > svg { display: block; }\n  .nk-copy-field .cf-btn:has(> svg) > span { display: none; }\n  /* A horizontal wizard keeps its row: every mark, but only the current\n     step's label. */\n  .nk-steps.horizontal .nk-step:not(.current) > :not(.st-mark) { display: none; }\n  /* `sheet`: a popover becomes a bottom sheet, as Notion's mobile app opens\n     every menu \u2013 full width at the bottom edge, top corners rounded, a\n     grabber, the page dimmed by a spread shadow that takes no clicks, so a\n     tap outside still reaches the page's own close handler. Position\n     written inline \u2013 by a script, by a positioning library \u2013 is overruled\n     on purpose. With `floating` it rises from the bottom edge. */\n  .nk-pop.sheet {\n    position: fixed !important; inset: auto 0 0 0 !important; width: auto !important;\n    transform: none !important; z-index: 106; --_nk-row: 40px;\n    max-height: 85dvh; overflow-y: auto; overscroll-behavior: contain;\n    border-radius: 14px 14px 0 0;\n    padding: 6px max(8px, env(safe-area-inset-right, 0px)) max(12px, env(safe-area-inset-bottom, 0px)) max(8px, env(safe-area-inset-left, 0px));\n    box-shadow: 0 0 0 100vmax var(--nk-scrim-soft), var(--nk-shadow-menu);\n  }\n  .nk-pop.sheet::before { content: \"\"; display: block; width: 36px; height: 4px; margin: 4px auto 8px; border-radius: 2px; background: var(--nk-border-strong); }\n  .nk-pop.sheet.floating { translate: 0 100%; transition: opacity .2s ease, translate .25s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .25s; }\n  .nk-pop.sheet.floating.open { translate: none; transition: opacity .2s ease, translate .25s cubic-bezier(.2, .8, .2, 1), visibility 0s; }\n  /* A date picker in a sheet gets cells a thumb can hit. The calendar view\n     keeps seven columns and gets lower. */\n  .nk-pop.sheet,\n  .nk-sheet { --_nk-cell: 44px; }\n  .nk-calendar-view .cv-day { min-height: 64px; padding: 2px 2px 4px; }\n  .nk-calendar-view .cv-item { padding: 1px 4px; font-size: 11px; line-height: 16px; }\n  /* The side peek rises from the bottom edge instead, over a dimmed page\n     that takes the tap to close it; the title steps down to 28px. */\n  .nk-peek-backdrop { pointer-events: auto; }\n  .nk-peek-backdrop.open { background-color: var(--nk-scrim-soft); }\n  @starting-style { .nk-peek-backdrop.open { background-color: transparent; } }\n  .nk-peek {\n    --_nk-title: 28px;\n    top: auto; left: 0; width: auto; max-height: 92dvh;\n    border-radius: 14px 14px 0 0; translate: 0 100%;\n  }\n  .nk-peek-backdrop.open .nk-peek { translate: none; }\n  @starting-style { .nk-peek-backdrop.open .nk-peek { translate: 0 100%; } }\n  .nk-peek::before { content: \"\"; flex: none; width: 36px; height: 4px; margin: 10px auto 0; border-radius: 2px; background: var(--nk-border-strong); }\n  .nk-peek .pk-bar { height: 40px; padding: 0 max(8px, env(safe-area-inset-right, 0px)) 0 max(8px, env(safe-area-inset-left, 0px)); }\n  .nk-peek .pk-body { padding: 0 max(20px, env(safe-area-inset-right, 0px)) max(24px, env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px)); }\n  .nk-peek .pk-resize { display: none; }\n  /* A banner puts its action under the text instead of squeezing the text\n     into a narrow column beside it. */\n  .nk-banner { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; }\n  .nk-banner .b-action,\n  .nk-banner ::slotted(.b-action),\n  .nk-banner ::slotted([slot=\"action\"]) { grid-column: 1 / -1; justify-self: start; margin-left: 0; }\n  .nk-banner ::slotted(.b-action),\n  .nk-banner ::slotted([slot=\"action\"]) { margin-left: 0 !important; }\n  .nk-app.peek-inset .nk-main { padding-right: 0; }\n  /* A dialog rises from the bottom edge like the sheet, its buttons stacked\n     across the width with the confirming one on top. */\n  .nk-dialog-backdrop { flex-direction: column; justify-content: flex-end; padding: max(24px, env(safe-area-inset-top, 0px)) 0 0; }\n  .nk-dialog {\n    width: 100%; max-width: 640px; border-radius: 14px 14px 0 0; scale: none; translate: 0 100%;\n    padding: 6px max(20px, env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px));\n    transition: translate .25s cubic-bezier(.2, .8, .2, 1);\n  }\n  .nk-dialog.wide { width: 100%; }\n  .nk-dialog-backdrop.open .nk-dialog { translate: none; }\n  @starting-style { .nk-dialog-backdrop.open .nk-dialog { translate: 0 100%; } }\n  .nk-dialog::before { content: \"\"; display: block; width: 36px; height: 4px; margin: 4px auto 14px; border-radius: 2px; background: var(--nk-border-strong); }\n  .nk-dialog .dl-actions { flex-direction: column-reverse; }\n  /* A visible tab bar would cover the toast, so it rises 12px above the bar.\n     :has() sees class markup only; <nk-toast> measures the bar itself. */\n  :root:has(.nk-tab-bar:not([hidden])) .nk-toast { bottom: calc(var(--nk-tab-bar-height) + max(6px, env(safe-area-inset-bottom, 0px)) + 6px); }\n  :root:has(.nk-tab-bar.floating:not([hidden])) .nk-toast { bottom: calc(var(--nk-tab-bar-height) + 24px + env(safe-area-inset-bottom, 0px)); }\n}\n\n\n/* ============================================================\n   B13. REDUCED MOTION\n\n   Respects the OS setting: the skeleton shimmer stops, every\n   transition and animation collapses to an instant state change.\n   ============================================================ */\n@media (prefers-reduced-motion: reduce) {\n  .nk-skeleton { animation: none; background: var(--nk-bg-callout); }\n  [class*=\"nk-\"],\n  [class*=\"nk-\"]::before,\n  [class*=\"nk-\"]::after {\n    animation-duration: .01ms !important;\n    animation-iteration-count: 1 !important;\n    transition-duration: .01ms !important;\n    scroll-behavior: auto !important;\n  }\n}\n"],
  "mappings": "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",
  "names": []
}
