/* Desk (The Printworks Desk Club): brand tokens for the app kit (kit.css), then the pieces the kit does not have yet
   (marked "local"), then the public page. Fonts: Syne with Azeret Mono (Google Fonts link in every page head).
   Character (redesign 2026-10-22): a letterpress print shop turned coworking club. Newsprint paper, ink black, process
   magenta and cyan, a four-colour registration bar, hard offset shadows like a misregistered plate, slab display type,
   and the membership as a "docket" (the job slip a print shop clips to every job) with halftone dots.
   Axes on every member page body: data-k-type="slab" data-k-hero="paper" data-k-wide (default shape, raised surface,
   light rail, plain tab bar). */
:root { --k-brand: #c4155f; --k-brand-ink: #fff; --k-brand-soft: #fbe4ee; --k-hero: #17151b; --k-hero-ink: #f6f1e7; --k-gold: #0b8fb0; --dk-cyan: #1fb5d4; --dk-yellow: #f2c200; --dk-ink: #17151b; --dk-edge: #17151b;
  --k-bg: #f2eee4; --k-surface: #fffdf8; --k-surface-2: #ebe6d9; --k-line: rgba(23, 21, 27, .13); --k-line-strong: rgba(23, 21, 27, .3); --k-text: #17151b; --k-muted: #5c564e; --k-faint: #6a645b;
  --k-shadow-1: 0 0 0 1px var(--k-line-strong), 3px 3px 0 var(--k-line); --k-shadow-2: 0 0 0 1.5px var(--dk-ink), 5px 5px 0 var(--dk-cyan); }
@media (prefers-color-scheme: dark) { :root { --k-brand: #ff5c9d; --k-brand-ink: #1a0b12; --k-brand-soft: rgba(255, 92, 157, .15); --k-hero: #26222c; --k-hero-ink: #f6f1e7; --k-gold: #4fd0ea; --dk-cyan: #2fc4e3; --dk-ink: #f6f1e7; --dk-edge: rgba(246, 241, 231, .4);
  --k-bg: #121014; --k-surface: #1c191f; --k-surface-2: #26222b; --k-line: rgba(246, 241, 231, .12); --k-line-strong: rgba(246, 241, 231, .28); --k-text: #f6f1e7; --k-muted: #b3ac9f; --k-faint: #9d968a;
  --k-shadow-1: 0 0 0 1px var(--k-line-strong), 3px 3px 0 rgba(0, 0, 0, .45); }
  .k-brand img { box-shadow: 0 0 0 1px rgba(255, 255, 255, .22); } }

/* local: shared fixes (as Snag and Pilot) */
.k-foot a, .k-section-head a { min-height: 44px; display: inline-flex; align-items: center; }
.k-foot span { display: inline-flex; align-items: center; min-height: 0; }
.k-foot { gap: 2px 18px; }
.k-avatar { width: 44px; height: 44px; }
.k-btn-s, .k-top a.k-signin { min-height: 44px; }
.k-steps li { font-size: var(--k-t-cap); color: var(--k-muted); }
.k-tabs a { color: var(--k-muted); }
.k-welcome > *, .dk-hero > * { min-width: 0; }
@media (max-width: 479px) { .k-form .k-pair { grid-template-columns: 1fr; } }
/* A form in a narrow column (the front desk's request form beside the list) stacks its pairs, so a select never cuts its choice to "Guest p". */
.k-form { container-type: inline-size; }
@container (max-width: 459px) { .k-form .k-pair { grid-template-columns: minmax(0, 1fr); } }
.k-app textarea { min-height: 110px; resize: vertical; }
.k-list .k-row-title { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.dk-wrap .k-row-sub { white-space: normal; }
.dk-rail-only { display: none !important; }
/* The rail is as tall as the window; --plx-bar (Page Lemon's demo bar, when one is shown) keeps Account above it. */
@media (min-width: 1024px) { .k-tabs { height: calc(100vh - var(--plx-bar, 0px)); } .k-tabs a.dk-rail-only { display: flex !important; margin-top: auto; } body.k-app:not(:has(.k-tabs)) { display: block; } body.k-app:not(:has(.k-tabs)) .k-top .k-brand { display: flex; } }
.dk-desk-only { display: none !important; }
@media (min-width: 1024px) { .dk-desk-only { display: inline-flex !important; } }

/* local: print marks. A four-colour registration bar under the top bar (phones) and the rail brand (desktop). */
.k-app:not(.k-public) .k-top { position: relative; }
.k-app:not(.k-public) .k-top::after, .k-tabs-brand::after { content: ""; display: block; height: 5px; background: linear-gradient(90deg, var(--k-brand) 0 72px, var(--dk-ink) 72px); }
.k-app:not(.k-public) .k-top::after { position: absolute; left: 0; right: 0; bottom: 0; }
.k-tabs-brand { flex-wrap: wrap; }
.k-tabs-brand::after { flex-basis: 100%; margin-top: 10px; height: 3px; background: linear-gradient(90deg, var(--k-brand) 0 48px, var(--dk-ink) 48px); }
.k-tabs { box-shadow: 0 -1px 0 var(--k-line-strong); }
.k-tabs a[aria-current="page"] { color: var(--k-text); }
@media (max-width: 1023px) { .k-tabs a[aria-current="page"] { box-shadow: inset 0 3px 0 var(--k-brand); border-radius: 0 0 8px 8px; } }
@media (min-width: 1024px) { .k-tabs { box-shadow: none; } .k-tabs a[aria-current="page"] { background: var(--k-surface); box-shadow: 0 0 0 1px var(--k-line-strong), 3px 3px 0 var(--k-brand); } }
.k-pagehead h1 { font-size: 2.25rem; letter-spacing: -.02em; }
@media (min-width: 1024px) { .k-pagehead h1 { font-size: 3rem; } }
.k-kicker { letter-spacing: .02em; }
.k-panel-head h2 { font-size: 1.125rem; }
.k-section-head h2 { font-size: 1.25rem; }
.k-app :is(.k-panel, .k-table, .k-card, .k-plan, .k-action) { border-radius: var(--k-r-m); }

/* local: the docket (membership card). Paper with a colour bar, halftone corner and a hard cyan shadow. */
.dk-docket { --k-gold: var(--dk-cyan); padding: 30px 26px 24px; border-radius: var(--k-r-m); background: var(--k-surface); }
.dk-docket { box-shadow: inset 0 6px 0 var(--k-brand), 0 0 0 1.5px var(--dk-ink), 5px 5px 0 var(--k-brand); }
.dk-docket::before { content: ""; position: absolute; inset: 14px; pointer-events: none; --c: var(--k-faint); background: linear-gradient(var(--c), var(--c)) 0 0 / 14px 1.5px no-repeat, linear-gradient(var(--c), var(--c)) 0 0 / 1.5px 14px no-repeat, linear-gradient(var(--c), var(--c)) 100% 0 / 14px 1.5px no-repeat, linear-gradient(var(--c), var(--c)) 100% 0 / 1.5px 14px no-repeat, linear-gradient(var(--c), var(--c)) 0 100% / 14px 1.5px no-repeat, linear-gradient(var(--c), var(--c)) 0 100% / 1.5px 14px no-repeat, linear-gradient(var(--c), var(--c)) 100% 100% / 14px 1.5px no-repeat, linear-gradient(var(--c), var(--c)) 100% 100% / 1.5px 14px no-repeat; }
.dk-docket > * { position: relative; }
.dk-docket > .dk-halftone { position: absolute; top: 7px; right: 0; width: 46%; height: 150px; pointer-events: none; background: radial-gradient(circle, var(--k-brand) 1.6px, transparent 2px) 0 0 / 11px 11px; opacity: .3; -webkit-mask: linear-gradient(200deg, #000 0%, transparent 62%); mask: linear-gradient(200deg, #000 0%, transparent 62%); }
.dk-docket .k-hero-top { font-family: var(--k-font-display); font-size: var(--k-t-foot); letter-spacing: .08em; color: var(--k-muted); }
.dk-docket .dk-plan-name { color: var(--k-text); font-weight: 800; }
.dk-plan-name { display: inline-flex; align-items: center; gap: 6px; }
.dk-plan-name::before { content: ""; width: 10px; height: 10px; background: var(--k-brand); transform: rotate(45deg); }
.dk-days { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin-top: var(--k-4); }
.dk-days b { font-family: var(--k-font-display); font-size: 4.25rem; font-weight: 800; letter-spacing: -.04em; line-height: .95; color: var(--k-text); }
.dk-days > span:last-child { font-weight: 600; color: var(--k-muted); }
.dk-docket .k-dots { margin-top: var(--k-4); }
.dk-docket .k-dots li { border-radius: 8px; border: 1.5px solid var(--k-line-strong); }
.dk-docket .k-dots li.on { background: var(--dk-cyan); border-color: var(--dk-ink); }
.dk-docket .k-dots li.on::before { border-color: var(--dk-ink); border-top-color: transparent; }
.dk-docket .k-note { color: var(--k-muted); opacity: 1; }
.dk-docket .k-btn-on-hero { width: 100%; background: var(--dk-ink); color: var(--k-bg); box-shadow: 3px 3px 0 var(--k-brand); }
.dk-docket .k-btn-on-hero:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--k-brand); }
.dk-docket .dk-on-hero { margin-top: var(--k-3); width: 100%; background: transparent; color: var(--k-text); box-shadow: inset 0 0 0 1.5px var(--k-line-strong); }
.dk-docket .k-scan [data-pl-scan-counts] li { background: var(--k-surface-2); }
.dk-docket .dk-id { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-family: var(--k-font-display); }
@media (min-width: 1024px) { .dk-docket { padding: 30px 30px 26px; } .dk-days b { font-size: 5.5rem; } .dk-docket .k-btn-on-hero, .dk-docket .dk-on-hero { width: auto; min-width: 240px; } }

/* local: home pieces */
.dk-quick { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dk-quick .k-action { flex-direction: row; justify-content: flex-start; gap: 12px; padding: 12px 14px; min-height: 64px; font-size: var(--k-t-sub); text-align: left; }
.k-aside .dk-quick, .dk-quick { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dk-info .k-row-title { font-size: 1rem; }
.dk-cols-req { --k-cols: minmax(0, 2.6fr) 118px 112px; }
.dk-cols-asks { --k-cols: minmax(0, 3.6fr) 90px 104px 84px; }
.dk-td-q { display: block; }
.dk-table-pad .k-td-main { padding-right: 8px; }
.k-td-main .dk-clamp { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* local: phones show docket, next room, actions, desk, today in that order */
@media (max-width: 1023px) { .dk-home > .k-col { display: contents; } .dk-o1 { order: 1; } .dk-o2 { order: 2; } .dk-o3 { order: 3; } .dk-o4 { order: 4; } .dk-o5 { order: 5; } }
.k-avatar { color: #f6f1e7; }
.k-pagehead .k-kicker { margin-bottom: 8px; }
.dk-docket .k-hero-top { flex-wrap: wrap; gap: 4px 12px; }
@media (max-width: 479px) { .dk-docket .k-hero-top { letter-spacing: .04em; } }

/* local: request and booking cards */
.dk-job + .dk-job { margin-top: var(--k-3); }
.dk-job-top { display: flex; align-items: flex-start; gap: 12px; }
.dk-job-top .k-row-main { min-width: 0; flex: 1; }
.dk-job h3 { font-size: 1.25rem; line-height: 1.2; }
.dk-meta { margin-top: 4px; color: var(--k-muted); font-size: var(--k-t-foot); }
.dk-meta > span + span::before { content: "·"; margin: 0 6px; color: var(--k-faint); }
.dk-meta time { white-space: nowrap; }
.dk-reply { display: flex; gap: 10px; margin-top: var(--k-3); padding: 12px 14px; border-radius: 14px 14px 14px 4px; background: var(--k-surface-2); font-size: var(--k-t-sub); quotes: none; }
.dk-reply:has(q:empty) { display: none; }
.dk-reply .k-i { width: 18px; height: 18px; color: var(--k-brand); margin-top: 2px; flex: none; }
.dk-details { margin-top: var(--k-3); font-size: var(--k-t-sub); color: var(--k-muted); }
.dk-slip { filter: none; box-shadow: 0 0 0 1.5px var(--dk-edge), 5px 5px 0 var(--k-line-strong); border-radius: var(--k-r-m); }
.k-ticket.dk-slip > * { background: var(--k-surface); }
.k-ticket.dk-slip > :first-child { border-radius: var(--k-r-m) var(--k-r-m) 0 0; }
.k-ticket.dk-slip > :last-child { border-radius: 0 0 var(--k-r-m) var(--k-r-m); }
.k-ticket.dk-slip > :only-child { border-radius: var(--k-r-m); }
.dk-slip-k { font-family: var(--k-font-display); font-size: var(--k-t-cap); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--k-brand); margin-bottom: 4px; }
.dk-slip > :last-child { padding-top: var(--k-3); padding-bottom: var(--k-3); }
.dk-slip > :last-child:has(.dk-reply:has(q:empty)):not(:has(a:not([hidden]))) { display: none; }
.dk-slip .dk-reply { margin-top: 0; }
.dk-slip .dk-more { margin-top: 0; }
.dk-more { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 4px; color: var(--k-brand); font-weight: 600; font-size: var(--k-t-sub); text-decoration: none; }
.dk-more .k-i { width: 18px; height: 18px; }
.dk-slip + .dk-slip { margin-top: 24px; }

/* local: rooms */
.dk-rooms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dk-rooms .k-item-art { aspect-ratio: 4 / 3; }
.dk-rooms .k-item-desc { display: block; }
.dk-rooms .k-item-name { font-family: var(--k-font-display); font-size: 1.125rem; }
.dk-rooms .k-item[aria-pressed="true"], .dk-rooms .k-item.k-on, .dk-rooms .k-item[data-on] { box-shadow: 0 0 0 2px var(--k-brand); }
.dk-has { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: var(--k-t-sub); color: var(--k-muted); }
.dk-has li { display: flex; gap: 10px; align-items: flex-start; }
.dk-has .k-i { width: 18px; height: 18px; color: var(--k-ok); margin-top: 2px; flex: none; }
.dk-sum-img { width: 56px; height: 56px; border-radius: 10px; object-fit: cover; }
.k-sum span { color: var(--k-muted); }
.k-sum b { color: var(--k-text); }
.dk-terms { grid-template-columns: minmax(0, 7rem) minmax(0, 1fr); }
.dk-two { display: grid; gap: var(--k-5); }
@media (min-width: 700px) { .dk-two { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.dk-col-s { display: grid; gap: var(--k-5); }
.k-panel > .k-card { box-shadow: none; }
.k-panel .k-list { box-shadow: none; background: transparent; }

/* local: plans */
.k-plan .k-badge { align-self: flex-start; }
.k-plan-feature { box-shadow: 0 0 0 2px var(--dk-ink), 5px 5px 0 var(--k-brand); }
.k-plans { gap: 14px; }
@media (min-width: 1024px) { .dk-plans .k-plans { grid-template-columns: repeat(3, minmax(0, 1fr)); } .dk-plans .k-plan { padding: 20px; } }

/* local: steps in the pass page */
.dk-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; counter-reset: dk; }
.dk-steps li { counter-increment: dk; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; align-items: start; font-size: var(--k-t-sub); color: var(--k-text); }
.dk-steps li::before { content: counter(dk); display: grid; place-items: center; width: 32px; height: 32px; background: var(--dk-ink); color: var(--k-bg); font: 800 1rem var(--k-font-display); border-radius: 8px; }
.dk-steps span { padding-top: 5px; }
.k-card.dk-how > p { margin-top: 14px; color: var(--k-muted); font-size: var(--k-t-sub); }
.k-card.dk-how > h2 { margin-bottom: 14px; }

/* ---------- public page ---------- */
.dk-pub .k-main { padding-bottom: 48px; }
.dk-pub .k-top .k-brand { display: flex; }
.dk-pub-nav { display: none; gap: 24px; margin-left: 32px; font-size: var(--k-t-sub); font-weight: 600; }
.dk-pub-nav a { text-decoration: none; color: var(--k-muted); }
@media (min-width: 900px) { .dk-pub-nav { display: flex; } }
@media (min-width: 1024px) { body.k-app.dk-pub { display: block; } .dk-pub .k-top { padding: 14px 40px; } .dk-pub .k-main { padding: 8px 40px 64px; } }
.dk-hero { display: grid; gap: var(--k-6); padding: var(--k-5) 0 var(--k-6); }
.dk-hero h1 { font-size: var(--k-t-hero); font-weight: 800; letter-spacing: -.035em; line-height: 1.04; }
.dk-hero .k-lead { color: var(--k-muted); font-size: 1.0625rem; margin-top: var(--k-3); max-width: 46ch; }
.dk-hero .k-btn-row { margin-top: var(--k-5); }
.dk-kicker { display: inline-block; background: var(--k-hero); color: var(--k-hero-ink); font-weight: 800; font-size: var(--k-t-cap); letter-spacing: .1em; text-transform: uppercase; padding: 5px 10px; border-radius: 6px; margin-bottom: var(--k-3); box-shadow: 3px 3px 0 var(--k-brand), -2px -2px 0 var(--dk-cyan); }
.dk-visual { position: relative; }
.dk-photo { border-radius: var(--k-r-xl); overflow: hidden; box-shadow: var(--k-shadow-2); aspect-ratio: 6 / 5; background: var(--k-hero); }
.dk-photo img { width: 100%; height: 100%; object-fit: cover; }
.dk-float { position: relative; margin: -64px 14px 0; }
.dk-float .k-hero-card { padding: 18px; }
@media (min-width: 900px) { .dk-hero { grid-template-columns: 1fr 1.05fr; align-items: center; gap: 56px; padding: var(--k-7) 0; } .dk-float { position: absolute; margin: 0; left: -40px; bottom: -32px; width: 300px; } }
.dk-band { padding: var(--k-6) 0; }
.dk-band > h2 { font-size: var(--k-t-2); font-weight: 800; }
.dk-band > p { color: var(--k-muted); margin-top: 8px; max-width: 62ch; }
.dk-band .k-grid, .dk-band .k-plans { margin-top: var(--k-5); }
.dk-band .k-card img { border-radius: 14px; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.dk-band .k-card h3 { margin-top: var(--k-3); }
.dk-pass { display: grid; gap: var(--k-4); align-items: center; }
@media (min-width: 900px) { .dk-pass { grid-template-columns: 1.2fr 1fr; } }
.dk-pass .k-price { font-family: var(--k-font-display); font-size: 2.5rem; font-weight: 800; letter-spacing: -.02em; }
.slot form { display: grid; gap: var(--k-3); }
.slot label { font-size: var(--k-t-foot); font-weight: 600; color: var(--k-muted); }
.slot input { width: 100%; min-height: 50px; padding: 12px 14px; border-radius: var(--k-r-s); border: 1.5px solid var(--k-line-strong); background: var(--k-surface); color: var(--k-text); font: 400 1.0625rem/1.3 var(--k-font); }
.slot .pay-total { font-weight: 800; font-size: var(--k-t-3); }
.dk-final { margin: var(--k-6) 0 0; padding: var(--k-6) var(--k-5); border-radius: var(--k-r-xl); background: var(--k-hero); color: var(--k-hero-ink); text-align: center; }
.dk-final h2 { font-size: var(--k-t-2); font-weight: 800; }
.dk-final p { opacity: .8; margin: 8px auto var(--k-5); max-width: 44ch; }
.dk-prose { max-width: 720px; }
.dk-prose h1 { font-size: var(--k-t-1); font-weight: 800; margin: var(--k-4) 0; }
.dk-prose h2 { font-size: var(--k-t-3); margin: var(--k-6) 0 var(--k-2); }
.dk-prose p, .dk-prose li { color: var(--k-muted); margin-top: 8px; }
.dk-prose .tip { padding: 12px 16px; border-radius: var(--k-r-m); background: var(--k-warn-soft); color: var(--k-text); }
.blank { background: color-mix(in srgb, var(--dk-cyan) 30%, transparent); color: var(--k-text); padding: 0 3px; border-radius: 3px; }
/* local: review fixes */
.k-card > .k-list, .k-card .dk-wrap.k-list { box-shadow: none; background: transparent; margin: 0 -16px; }
.k-hero-card .dk-on-hero { margin-top: var(--k-3); width: 100%; color: var(--k-hero-ink); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); }
.k-sum span { color: var(--k-muted); }
.k-sum b { color: var(--k-text); }
@media (min-width: 1024px) { .k-action { font-size: var(--k-t-foot); padding: 12px; } }
.dk-more { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 4px; color: var(--k-brand); font-weight: 600; font-size: var(--k-t-sub); text-decoration: none; }
.dk-more .k-i { width: 18px; height: 18px; }
.k-welcome .dk-kicker { margin-top: var(--k-2); }

.dk-plans .k-plans { align-items: stretch; }
.dk-two > .k-card h2 { margin-bottom: 8px; }

/* local: review round 1 */
@media (max-width: 479px) { .dk-docket .k-hero-top { flex-direction: column; align-items: flex-start; gap: 2px; } .dk-docket .dk-halftone { opacity: .18; } }
.dk-docket .k-note, .k-help, .dk-details { text-wrap: pretty; }
.dk-reply { font-weight: 400; }
.dk-terms dd { font-weight: 400; }
.k-account .k-btn { justify-content: center; }
@media (min-width: 1024px) { .k-app:not(.k-public) .k-top { min-height: 56px; } .dk-passcard { max-width: 520px; } }
.dk-passcard .dk-days b { font-size: 3rem; }
.dk-passcard .k-hero-top > span:first-child { font-family: var(--k-font-display); font-size: 1.375rem; letter-spacing: -.01em; text-transform: none; color: var(--k-text); font-weight: 800; }
/* plan page: the docket becomes a one-line strip; plans run as a full-width row */
.dk-strip { padding: 14px 20px; }
.dk-strip .dk-halftone, .dk-strip .k-dots, .dk-strip .k-hero-top > span:last-child { display: none; }
.dk-strip .dk-days { margin-top: 6px; }
.dk-strip .dk-days b { font-size: 2rem; }
.dk-strip .k-note { margin-top: 4px; }
.dk-strip .k-btn { margin-top: 10px; }
.dk-strip-wrap { margin-bottom: var(--k-5); }
.k-plan { display: flex; flex-direction: column; }
.k-plan ul { flex: 1; }
.dk-plans .dk-two { margin-top: var(--k-5); }
@media (min-width: 1024px) { .dk-strip { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 28px; padding: 18px 28px; } .dk-strip .k-hero-top { grid-column: 1; } .dk-strip .dk-days { grid-column: 1; } .dk-strip .k-note { grid-column: 2; grid-row: 1 / span 2; margin: 0; } }
/* rooms on phones: horizontal cards */
@media (max-width: 559px) {
  .dk-rooms { grid-template-columns: minmax(0, 1fr); }
  .dk-rooms .k-item { display: grid; grid-template-columns: 124px minmax(0, 1fr); align-items: stretch; }
  .dk-rooms .k-item-art { aspect-ratio: auto; height: 100%; }
  .dk-rooms .k-item-art img { height: 100%; object-fit: cover; }
  .dk-rooms .k-item-add { width: 44px; height: 44px; }
}

/* local: review round 2 */
.dk-cal { gap: 6px; }
.dk-docket .dk-cal li { aspect-ratio: auto; min-height: 52px; display: grid; place-items: start; padding: 5px 7px; border-radius: 6px; }
.dk-docket .dk-cal li::before, .dk-docket .dk-cal li::after { content: none; }
.dk-cal span { font: 800 .9375rem var(--k-font-display); color: var(--k-muted); }
.dk-docket .dk-cal li.on span { color: var(--dk-ink); }
.dk-date { white-space: nowrap; }
.dk-rooms .k-item-add { background: var(--dk-ink); color: var(--k-bg); }
.dk-terms dd { margin-bottom: 0; }
@media (max-width: 479px) { .dk-terms { grid-template-columns: minmax(0, 1fr); gap: 2px; } .dk-terms dd { margin-bottom: 10px; } }
.k-plan { position: relative; }
.k-plan-feature > .k-badge-brand { position: absolute; top: -13px; left: 18px; }
@media (min-width: 1024px) { .dk-strip { grid-template-columns: auto auto; justify-content: space-between; } .dk-strip .k-note { text-align: right; } }
.dk-td-reply { flex-basis: 100%; order: 3; }
.dk-td-reply:has(.dk-reply:has(q:empty)) { display: none; }
.dk-td-reply .dk-reply { margin-top: 0; }
@media (min-width: 1024px) { .dk-td-reply { grid-column: 1 / -1; } .dk-td-reply:not(:has(q:empty)) { margin-top: -4px; } }
.dk-cols-asks .k-td-main { padding-right: 0; }
.k-account :is(button, .k-btn, input[type=submit]) { text-align: center; justify-content: center; }

/* local: review round 3 */
.dk-docket > .dk-halftone { top: 56px; height: 110px; width: 40%; opacity: .22; }
.dk-strip::before { display: none; }
.dk-docket .dk-cal li { min-height: 44px; background: transparent; border: 1px solid var(--k-line-strong); border-radius: 3px; }
.dk-docket .dk-cal li.on { background: color-mix(in srgb, var(--dk-cyan) 28%, transparent); border: 1.5px solid var(--dk-ink); }
.dk-cal span { font-weight: 700; }
.k-plan ul { align-content: start; display: grid; gap: 10px; flex: 1; }
.k-plan ul li { align-items: flex-start; }
[data-pl-field="length"] { text-transform: lowercase; }
.dk-notes h3 { margin-top: 16px; font-size: 1.0625rem; }
.dk-notes p { margin-top: 6px; }
@media (max-width: 1023px) { .dk-roomsb > .k-col { display: contents; } .dk-or1 { order: 1; } .dk-or2 { order: 2; } .dk-or3 { order: 3; } .dk-or4 { order: 4; } .dk-or5 { order: 5; } }
@media (max-width: 559px) { .dk-rooms .k-item { min-height: 120px; } .dk-quick .k-action { gap: 10px; padding: 10px; } .dk-quick .k-tile { width: 38px; height: 38px; flex: none; } }
.dk-how .dk-steps { margin-bottom: 14px; }
.dk-how p { color: var(--k-muted); font-size: var(--k-t-sub); }

/* local: review round 4 */
@media (max-width: 479px) { .dk-docket > .dk-halftone { display: none; } }
@media (prefers-color-scheme: dark) { .dk-docket .dk-cal li.on { background: color-mix(in srgb, var(--dk-cyan) 55%, transparent); } .dk-docket .dk-cal li.on span { color: #0b1a20; } }

/* ---------- art direction 2026-10-25: a print proof sheet ----------
   Newsprint, key black and the process colours (magenta, cyan, yellow) used as a colour bar and as overprinting
   circles; Syne (wide) for headlines and the member's name, Azeret Mono for text. Contrast: key on newsprint 17.9,
   white on magenta 5.3, key on cyan 6.6, key on yellow 15.4; dark: newsprint on key 17.9, key on dark magenta 6.4. */
:root, .k-app[data-k-type] { --k-font-display: "Syne", "Avenir Next", "Segoe UI", Arial, sans-serif; --k-font-slab: var(--k-font-display); --k-font: "Azeret Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace; --k-head-w: 800; --k-head-ls: -.02em;
  --k-brand: #d1006f; --k-brand-ink: #fff; --k-brand-soft: #fceaf3; --k-hero: #111; --k-hero-ink: #f2f0ea; --dk-cyan: #00a3e0; --dk-magenta: #d1006f; --dk-yellow: #ffe600; --dk-ink: #111; --dk-edge: #111;
  --k-bg: #f2f0ea; --k-surface: #fbfaf6; --k-surface-2: #e9e6dc; --k-line: rgba(17, 17, 17, .14); --k-line-strong: #111; --k-text: #111; --k-muted: #4c4943; --k-faint: #6b675f;
  --k-shadow-1: 0 0 0 1.5px #111, 4px 4px 0 rgba(17, 17, 17, .16); --k-shadow-2: 0 0 0 1.5px #111, 6px 6px 0 var(--dk-cyan); }
@media (prefers-color-scheme: dark) { :root, .k-app[data-k-type] { --k-brand: #ff4fa3; --k-brand-ink: #111; --k-brand-soft: rgba(255, 79, 163, .16); --k-hero: #1d1c1a; --k-hero-ink: #f2f0ea; --dk-cyan: #2fc0f0; --dk-magenta: #ff4fa3; --dk-ink: #f2f0ea; --dk-edge: #f2f0ea;
  --k-bg: #111; --k-surface: #1b1a18; --k-surface-2: #262522; --k-line: rgba(242, 240, 234, .14); --k-line-strong: rgba(242, 240, 234, .7); --k-text: #f2f0ea; --k-muted: #bdb8ad; --k-faint: #a19c91;
  --k-shadow-1: 0 0 0 1.5px rgba(242, 240, 234, .55), 4px 4px 0 rgba(0, 0, 0, .5); --k-shadow-2: 0 0 0 1.5px #f2f0ea, 6px 6px 0 var(--dk-cyan); } }
.k-app { font-family: var(--k-font); font-size: 16px; letter-spacing: -.01em; }
.k-app :is(h1, h2, h3, .k-pagehead h1, .k-section-head h2, .k-panel-head h2) { font-family: var(--k-font-display); letter-spacing: -.02em; }
.k-app :is(.k-btn, .k-badge, .k-kicker, time, .k-th, .k-thead) { font-family: var(--k-font); }
.k-kicker, .k-thead span { text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; font-weight: 600; }
.k-pagehead h1 { font-size: 2.5rem; font-weight: 800; line-height: .98; }
@media (min-width: 1024px) { .k-pagehead h1 { font-size: 3.75rem; } }
.k-app :is(.k-panel, .k-table, .k-card, .k-plan, .k-action, .k-item) { border-radius: 4px; }
.k-btn { border-radius: 4px; font-weight: 600; }
.k-btn:not(.k-btn-2):not(.k-btn-line):not(.k-btn-ghost) { box-shadow: 3px 3px 0 var(--dk-cyan); }
.k-tile { border-radius: 4px; background: var(--k-brand-soft); color: var(--k-brand); }
.k-top::after, .k-tabs-brand::after { background: linear-gradient(90deg, var(--dk-cyan) 0 25%, var(--dk-magenta) 25% 50%, var(--dk-yellow) 50% 75%, var(--dk-ink) 75%) !important; }
.k-brand span { font-family: var(--k-font-display); font-weight: 800; letter-spacing: -.01em; }
@media (min-width: 1024px) { .k-tabs a[aria-current="page"] { border-radius: 4px; box-shadow: 0 0 0 1.5px var(--dk-ink), 4px 4px 0 var(--dk-magenta); } }

/* the proof: the membership card */
.dk-docket { padding: 28px 24px 24px 40px; border-radius: 4px; box-shadow: 0 0 0 2px var(--dk-ink), 8px 8px 0 var(--dk-cyan); }
.dk-docket::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 16px; background: linear-gradient(var(--dk-cyan) 0 25%, var(--dk-magenta) 25% 50%, var(--dk-yellow) 50% 75%, #111 75%); border-right: 2px solid var(--dk-ink); }
.dk-docket::before { inset: 10px 10px 10px 28px; }
.dk-docket > .dk-halftone { display: block; top: 18px; right: 20px; left: auto; width: 112px; height: 72px; opacity: .9; -webkit-mask: none; mask: none;
  background: radial-gradient(circle at 34px 36px, var(--dk-cyan) 0 34px, transparent 35px), radial-gradient(circle at 78px 36px, var(--dk-magenta) 0 34px, transparent 35px); background-blend-mode: multiply; mix-blend-mode: multiply; }
.dk-proof-name { position: relative; margin-top: 18px; font: 800 2.625rem/.92 var(--k-font-display); letter-spacing: -.035em; overflow-wrap: anywhere; max-width: 13ch; }
.dk-docket .k-hero-top { font-family: var(--k-font); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; padding-right: 120px; }
.dk-docket .dk-plan-name { font-weight: 700; }
.dk-days { margin-top: 14px; }
.dk-docket .dk-days b, .dk-passcard .dk-days b { font: 800 2.25rem/1 var(--k-font-display); color: var(--k-brand); letter-spacing: -.02em; }
.dk-docket .dk-days > span:last-child { font-weight: 500; }
.dk-docket .dk-cal { gap: 0; border: 2px solid var(--dk-ink); }
.dk-docket .dk-cal li { min-height: 48px; border: 0 !important; border-right: 2px solid var(--dk-ink) !important; border-radius: 0 !important; background: transparent; }
.dk-docket .dk-cal li:last-child { border-right: 0 !important; }
.dk-docket .dk-cal li.on:nth-child(4n+1) { background: var(--dk-cyan); }
.dk-docket .dk-cal li.on:nth-child(4n+2) { background: var(--dk-magenta); }
.dk-docket .dk-cal li.on:nth-child(4n+3) { background: var(--dk-yellow); }
.dk-docket .dk-cal li.on:nth-child(4n) { background: #111; }
.dk-docket .dk-cal span { font: 600 .8125rem var(--k-font); color: var(--k-faint); }
.dk-docket .dk-cal li.on span { color: #111 !important; }
.dk-docket .dk-cal li.on:is(:nth-child(4n+2), :nth-child(4n)) span { color: #fff !important; }
.dk-docket .k-btn-on-hero { border-radius: 4px; box-shadow: 4px 4px 0 var(--dk-magenta); }
@media (min-width: 1024px) { .dk-docket { padding: 32px 32px 28px 48px; } .dk-proof-name { font-size: 4rem; } .dk-docket .dk-days b { font-size: 2.5rem; } }
@media (max-width: 479px) { .dk-docket > .dk-halftone { display: block; width: 84px; height: 54px; top: 14px; right: 14px; background: radial-gradient(circle at 26px 27px, var(--dk-cyan) 0 25px, transparent 26px), radial-gradient(circle at 58px 27px, var(--dk-magenta) 0 25px, transparent 26px); background-blend-mode: multiply; }
  .dk-docket .k-hero-top { padding-right: 88px; } .dk-proof-name { font-size: 2.375rem; } }
@media (prefers-color-scheme: dark) { .dk-docket > .dk-halftone { mix-blend-mode: normal; background-blend-mode: screen; opacity: .85; } .dk-docket .dk-cal li.on:nth-child(4n) { background: #f2f0ea; } .dk-docket .dk-cal li.on:nth-child(4n) span { color: #111 !important; } }
.dk-passcard .k-hero-top > span:first-child { font: 800 2rem/.95 var(--k-font-display); letter-spacing: -.03em; text-transform: none; }
.dk-slip, .k-ticket.dk-slip > * { border-radius: 4px !important; }
.dk-slip { box-shadow: 0 0 0 2px var(--dk-edge), 6px 6px 0 var(--dk-magenta); }
.dk-slip-k { font-family: var(--k-font); letter-spacing: .1em; }
.dk-job h3 { font-weight: 800; }
.dk-reply { border-radius: 4px; border-left: 4px solid var(--dk-cyan); }

/* public page: a poster proof */
.dk-pub .k-top { border-bottom: 0; }
.dk-hero { position: relative; padding: 40px 18px 48px; margin: 12px 0 8px; }
.dk-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; --c: var(--k-text); background: linear-gradient(var(--c), var(--c)) 0 0 / 22px 2px no-repeat, linear-gradient(var(--c), var(--c)) 0 0 / 2px 22px no-repeat, linear-gradient(var(--c), var(--c)) 100% 0 / 22px 2px no-repeat, linear-gradient(var(--c), var(--c)) 100% 0 / 2px 22px no-repeat, linear-gradient(var(--c), var(--c)) 0 100% / 22px 2px no-repeat, linear-gradient(var(--c), var(--c)) 0 100% / 2px 22px no-repeat, linear-gradient(var(--c), var(--c)) 100% 100% / 22px 2px no-repeat, linear-gradient(var(--c), var(--c)) 100% 100% / 2px 22px no-repeat; }
.dk-hero h1 { font: 800 clamp(2.5rem, 5.6vw, 5.25rem)/.95 var(--k-font-display); letter-spacing: -.04em; }
.dk-hero h1::after { content: ""; display: block; width: 168px; height: 14px; margin-top: 22px; background: linear-gradient(90deg, var(--dk-cyan) 0 25%, var(--dk-magenta) 25% 50%, var(--dk-yellow) 50% 75%, #111 75%); box-shadow: 0 0 0 2px var(--dk-ink); }
.dk-kicker { border-radius: 2px; font-family: var(--k-font); box-shadow: 3px 3px 0 var(--dk-magenta), -2px -2px 0 var(--dk-cyan); }
.dk-photo { border-radius: 4px; background: var(--dk-cyan); box-shadow: 0 0 0 2px var(--dk-ink), 10px 10px 0 var(--dk-magenta); }
.dk-photo img { filter: grayscale(1) contrast(1.15) brightness(1.05); mix-blend-mode: multiply; }
.dk-float .k-hero-card { background: var(--k-surface); color: var(--k-text); border-radius: 4px; box-shadow: 0 0 0 2px var(--dk-ink), 6px 6px 0 var(--dk-yellow); }
.dk-float .k-hero-top { color: var(--k-muted); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.dk-float .dk-days b { color: var(--k-brand); font: 800 3rem/1 var(--k-font-display); }
.dk-float .dk-days > span { color: var(--k-text); }
.dk-float .k-dots li { border-radius: 0; border: 1.5px solid var(--dk-ink); background: transparent; }
.dk-float .k-dots li.on { background: var(--dk-cyan); }
.dk-float .k-dots li.on:nth-child(2n) { background: var(--dk-magenta); }
.dk-float .k-dots li::before { display: none; }
@media (min-width: 900px) { .dk-hero { padding: 64px 40px; gap: 48px; } .dk-plans3 { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; } }
.dk-band > h2, .dk-final h2 { font: 800 clamp(1.875rem, 3.6vw, 2.75rem)/1 var(--k-font-display); letter-spacing: -.03em; }
.dk-band .k-card img { border-radius: 2px; filter: saturate(.9) contrast(1.05); }
.dk-pass .k-price, .k-plan .k-price { font-family: var(--k-font-display); }
.k-plan-feature { box-shadow: 0 0 0 2px var(--dk-ink), 6px 6px 0 var(--dk-magenta); }
.dk-final { border-radius: 4px; background: #111; color: #f2f0ea; box-shadow: 8px 8px 0 var(--dk-yellow); }
.dk-final .k-btn-on-hero { background: var(--dk-yellow); color: #111; box-shadow: 3px 3px 0 var(--dk-magenta); }
@media (prefers-color-scheme: dark) { .dk-photo img { mix-blend-mode: luminosity; opacity: .9; } .dk-final { box-shadow: 0 0 0 1.5px rgba(242, 240, 234, .4), 8px 8px 0 var(--dk-magenta); } }
.dk-hero-head h1 { max-width: 15ch; }
@media (min-width: 900px) { .dk-hero { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; row-gap: 32px; } .dk-hero-head { grid-column: 1 / -1; } .dk-hero h1 { font-size: clamp(3.5rem, 7vw, 6.5rem); } .dk-hero .k-lead { margin-top: 0; } }
@media (max-width: 479px) { .k-top .k-brand span { font-size: .9375rem; letter-spacing: -.03em; } .dk-docket .dk-days b { font-size: 1.875rem; } .dk-docket .dk-days > span:last-child { font-size: .875rem; } .k-app { letter-spacing: -.02em; } }
.dk-meta > span:first-child { white-space: nowrap; }

/* review round 2 (2026-10-25) */
@media (prefers-color-scheme: dark) { .dk-docket .dk-cal li.on:nth-child(4n+2) span { color: #111 !important; } }
.k-app[data-k-hero="paper"] .dk-docket { box-shadow: 0 0 0 2px var(--dk-ink), 8px 8px 0 var(--dk-cyan); }
.dk-strip > .dk-halftone { display: none !important; } .dk-strip .k-hero-top { padding-right: 0; }
.dk-meta { display: flex; flex-wrap: wrap; row-gap: 2px; } .dk-meta > span { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 479px) { .k-top .k-brand span { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.05; font-size: .875rem; max-width: 15ch; } }
.k-app .k-account, .k-app .k-account :is(.k-btn, button, input, select, textarea, .k-row, .k-list, .k-card, form, section) { border-radius: 4px !important; } .k-app .k-account { box-shadow: var(--k-shadow-1); }
.k-td-main small, .k-row-sub, .dk-meta, .dk-details { font-size: .875rem; letter-spacing: -.03em; line-height: 1.45; }
.dk-rooms .k-item-art, .dk-band .k-card img { background: var(--dk-cyan); } .dk-rooms .k-item-art img { filter: grayscale(1) contrast(1.15) brightness(1.05); mix-blend-mode: multiply; } .dk-band .k-card img { background: none; } .dk-band .k-card:has(img) { background: var(--k-surface); }
.dk-band .k-card img { filter: grayscale(1) sepia(1) hue-rotate(160deg) saturate(2.2) contrast(1.05); mix-blend-mode: normal; }
@media (prefers-color-scheme: dark) { .dk-rooms .k-item-art img, .dk-band .k-card img { mix-blend-mode: luminosity; opacity: .9; } }
.k-td time, .k-td-end { white-space: nowrap; }
@media (min-width: 900px) { .dk-hero { align-items: end; } }
.k-scan [data-pl-wallet] button { border: 1.5px solid var(--k-line-strong) !important; }
.k-ticket.dk-slip > * { -webkit-mask: none !important; mask: none !important; }
/* square proof corners everywhere, the account parts included */
.k-app { --k-r-s: 3px; --k-r-m: 4px; --k-r-l: 4px; --k-r-xl: 4px; --k-r-pill: 4px; }
.k-app .k-account { box-shadow: none; }
.k-app .k-avatar { border-radius: 50%; }

/* ---------- review round 3 (2026-10-25) ---------- */
/* Running text in Syne (proportional, shorter lines); mono stays for labels, dates, numbers, codes and buttons */
.k-app :is(p, .k-row-sub, .k-td-main small, .dk-reply, .dk-details, .k-lead, .k-help, .k-item-desc, dd, li, .k-note, .k-empty p) { font-family: var(--k-font-display); font-weight: 500; letter-spacing: 0; }
.k-app :is(.k-row-sub, .k-td-main small, .dk-reply, .dk-details, .k-help, .k-item-desc, .k-note) { font-size: .9375rem; line-height: 1.45; }
.k-app :is(.k-kicker, .dk-slip-k, .k-hero-top, .dk-meta, time, .k-thead, .k-badge, .k-btn, .dk-cal, .dk-days) { font-family: var(--k-font); }
.k-app :is(.dk-meta) { font-weight: 400; }
/* booking meta: the purpose on its own line, no orphaned dot */
.dk-meta > span + span::before { content: none; }
.dk-meta { flex-direction: column; }
/* phones: the room form before your bookings, Today only on Pass */
@media (max-width: 1023px) { .dk-or2 { order: 1 !important; } .dk-or3 { order: 2 !important; } .dk-or1 { order: 3 !important; } .dk-home .dk-o5 { display: none; } }
.dk-rooms .k-item-add { width: 44px !important; height: 44px !important; }
@media (max-width: 479px) { .k-top .k-brand span { white-space: nowrap; font-size: .8125rem; max-width: none; } }
.k-account button:has(+ *), .k-account form:has(input[type="checkbox"]) button { width: 100%; justify-content: center; padding: 12px 16px; min-height: 48px; line-height: 1.25; white-space: normal; }
.k-account label:has(input[type="checkbox"]) { align-items: flex-start; }
@media (prefers-color-scheme: dark) { .dk-docket .dk-cal li.on:nth-child(4n) { background: repeating-linear-gradient(135deg, #f2f0ea 0 3px, #1b1a18 3px 7px) !important; } .dk-docket .dk-cal li.on:nth-child(4n) span { color: #f2f0ea !important; background: #1b1a18; padding: 0 3px; } }
@media (min-width: 900px) { .dk-hero { align-items: start; } .dk-hero .k-lead { font-size: 1.0625rem; } }
/* the pass is the hero of its page */
@media (min-width: 1024px) { .dk-passb > .k-span-5 { grid-column: span 7; } .dk-passb > .k-span-7 { grid-column: span 5; } .dk-passcard { max-width: none; } }
.dk-passcard .k-hero-top > span:first-child { font-size: clamp(2.25rem, 1.6rem + 2.4vw, 3.75rem); line-height: .92; letter-spacing: -.035em; }
.dk-passcard .k-hero-top { padding-right: 120px; align-items: flex-start; flex-direction: column; gap: 10px; }
.dk-passcard .k-scan { margin-top: 18px; padding-top: 16px; border-top: 2px solid var(--dk-ink); }
.k-app.k-app :is(.k-kicker, .dk-slip-k, .k-hero-top, .dk-meta, time, .k-thead, .k-badge, .k-btn, .dk-cal, .dk-days, .dk-kicker) { font-family: var(--k-font); }

/* ---------- review round 4 (2026-10-25) ---------- */
/* one emphatic block per screen: hairline key borders, offset shadows only on the proof, the next room and the featured plan */
.k-app :is(.k-panel, .k-table, .k-card, .k-plan:not(.k-plan-feature), .k-action, .k-item) { box-shadow: 0 0 0 1.5px var(--k-line-strong) !important; }
@media (prefers-color-scheme: dark) { .k-app :is(.k-panel, .k-table, .k-card, .k-plan:not(.k-plan-feature), .k-action, .k-item) { box-shadow: 0 0 0 1px rgba(242, 240, 234, .35) !important; } }
/* headers: the brand never runs under the button or avatar */
.k-top { gap: 12px; }
.k-top .k-brand { min-width: 0; flex: 1 1 auto; }
.k-top .k-brand span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k-top .k-top-end, .k-top > .k-btn, .k-top .k-avatar { flex: none; }
@media (max-width: 479px) { .dk-pub .k-top .k-brand span { font-size: .8125rem; } .dk-pub .k-top .k-btn-s { padding: 0 12px; } }
/* dark: the key segment and the used day stay visible */
@media (prefers-color-scheme: dark) {
  .dk-docket::after { background: linear-gradient(var(--dk-cyan) 0 25%, var(--dk-magenta) 25% 50%, var(--dk-yellow) 50% 75%, #3a3a3a 75%); }
  .dk-docket .dk-cal li.on:nth-child(4n) { background: #3a3a3a !important; } .dk-docket .dk-cal li.on:nth-child(4n) span { color: #f2f0ea !important; background: none; padding: 0; }
  .k-scan [data-pl-wallet] button { background: #f2f0ea !important; color: #111 !important; }
}
/* phones: rooms as compact rows so the form comes up sooner */
@media (max-width: 559px) { .dk-rooms .k-item { grid-template-columns: 88px minmax(0, 1fr) !important; min-height: 88px !important; } .dk-rooms .k-item-desc { display: none !important; } }
@media (max-width: 479px) { .k-top .k-brand span { white-space: normal !important; overflow: visible; text-overflow: clip; line-height: 1.05; font-size: .8125rem !important; } }

/* ---------- final pass (2026-10-25) ---------- */
/* Plan strip: a hairline proof (the offset shadow stays on the featured plan), the count and the note on one baseline, edges level with the plans below */
.k-app[data-k-hero="paper"] .dk-docket.dk-strip { box-shadow: 0 0 0 1.5px var(--k-line-strong) !important; }
@media (prefers-color-scheme: dark) { .k-app[data-k-hero="paper"] .dk-docket.dk-strip { box-shadow: 0 0 0 1px rgba(242, 240, 234, .35) !important; } }
@media (min-width: 1024px) {
  .k-app .dk-strip { grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: 32px; }
  .k-app .dk-strip .k-note { grid-column: 2; grid-row: 2; align-self: end; padding-bottom: 3px; text-align: right; }
}
/* the plan you're on: a full-width quiet block where the others have their button */
.k-plan [data-pl-if] > .k-badge-ok { display: flex; width: 100%; min-height: 48px; justify-content: center; align-items: center; }
/* running phrases in Syne; mono only for labels, dates, numbers and codes */
.k-app.k-app .dk-days > span:last-child, .k-app .k-row-sub, .k-app .k-account label, .k-app .k-account p, .k-app .k-foot > span, .k-app .dk-meta > span + span { font-family: var(--k-font-display); letter-spacing: 0; }
.k-app .k-row-title { letter-spacing: -.01em; }
/* dark: the cyan and magenta circles overprint (multiply each other) rather than lighten */
@media (prefers-color-scheme: dark) { .dk-docket > .dk-halftone { background-blend-mode: multiply; mix-blend-mode: normal; opacity: 1; } }
/* account: sign-in and profile left, membership and leaving right */
.dk-acct-side { gap: var(--k-3); }
.dk-acct-note { margin: 0 var(--k-1) var(--k-3); }

/* ---------- review round 5 (2026-10-25) ---------- */
/* 1. Most members badge: solid chip so the card border stays out of the text */
.k-app .k-plan-feature > .k-badge-brand { position: absolute; top: -13px; left: 18px; z-index: 1; background: var(--k-surface); color: var(--dk-magenta); }
@media (prefers-color-scheme: dark) { .k-app .k-plan-feature > .k-badge-brand { background: #111; color: #ff6fb5; } }
/* 2. Square corners on tiles, wallet buttons, room add buttons, step chips and status pills (avatars stay round) */
.k-app.k-app .k-tile { border-radius: 0; }
.k-app.k-app .k-badge { border-radius: 0; }
.k-app .k-steps:not(.k-steps-v) li::before { border-radius: 0; }
.k-app .k-scan [data-pl-wallet] button { border-radius: 0; }
.k-app .dk-rooms .k-item-add { border-radius: 0; }
.k-app .k-avatar { border-radius: 50%; }
/* 3. Home member name in the proof card: ExtraBold like the Pass page */
.k-app .dk-proof-name { font-weight: 800; }
/* 4. Public page: plan names, prices and room headings in the display face at 800 */
.k-app.dk-pub .k-plan h3, .k-app.dk-pub .dk-band .k-card h3 { font-family: var(--k-font-display); font-weight: 800; }
.k-app.dk-pub .k-price, .k-app.dk-pub .k-plan .k-price { font-family: var(--k-font-display); font-weight: 800; }
/* 5. Public room photos: same duotone treatment as the app room cards */
.k-app.dk-pub .dk-band .k-card img { background: var(--dk-cyan); filter: grayscale(1) contrast(1.15) brightness(1.05); mix-blend-mode: multiply; }
@media (prefers-color-scheme: dark) { .k-app.dk-pub .dk-band .k-card img { mix-blend-mode: luminosity; opacity: .9; } }
/* 6. Requests table: the For date stays on one line, the column holds 110px */
.k-app .dk-cols-asks { --k-cols: minmax(0, 3.6fr) 110px 104px 84px; }
.k-app .dk-cols-asks .k-td[data-label="For"] { white-space: nowrap; min-width: 110px; }
/* 7. Rooms: the chosen-room thumbnail in duotone; the selected room gets the offset block */
.k-app .k-sum .dk-sum-img { background: var(--dk-cyan); filter: grayscale(1) sepia(1) hue-rotate(160deg) saturate(2.2); mix-blend-mode: multiply; }
.k-app .dk-rooms .k-item[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--dk-ink), 6px 6px 0 var(--dk-magenta) !important; }
/* 8. Account: part headings align with the card text */
.k-app .k-account h3 { margin-left: 0; padding-left: 16px; }
/* 9. Plan page: "Your plan" reads as a label, not a disabled button */
.k-app .k-plan [data-pl-if] > .k-badge-ok { background: transparent; box-shadow: inset 0 0 0 1.5px var(--k-line-strong); color: var(--k-text); font-family: var(--k-font); }
/* 10. Dark: the K cell of the desk-day meter is near-white with a dark number */
@media (prefers-color-scheme: dark) {
  .k-app .dk-docket .dk-cal li.on:nth-child(4n) { background: #f2f0ea !important; }
  .k-app .dk-docket .dk-cal li.on:nth-child(4n) span { color: #1b1a18 !important; background: none !important; padding: 0 !important; }
}
