/* Shared list (/l/<token>), its thread sheet, Share your list, owner activity and Ask the team (web/collab.js). Uses app.css tokens. */
.lv-page { padding-bottom:48px }
.lv-top { background:var(--surface); border-bottom:1px solid var(--line) }
.lv-top .wrap { display:flex; align-items:center; justify-content:space-between; min-height:56px }
.lv-brand { font:800 18px "Bricolage Grotesque", Geist, sans-serif; color:var(--ink); text-decoration:none; letter-spacing:-.02em }
.lv-tag { font-size:13px; font-weight:600; border:1px solid var(--line-strong); border-radius:99px; padding:4px 12px }
.lv { padding-top:16px }
.lv-h { margin:0; font-size:28px; line-height:1.1; font-weight:800 }
.lv-sub { margin:4px 0 0; font-size:14px }
.lv-line { margin:12px 0 0; padding:12px 14px; font-size:15px; line-height:1.5; background:#FFFBE6; color:#17181C; border:2px solid #17181C; border-radius:16px; box-shadow:0 3px 0 #17181C }
.lv-nick { margin-top:10px; min-height:40px }
.lv-gen { display:block; margin-top:14px; text-align:left; color:var(--muted); cursor:pointer }
.lv-skel i { display:block; height:120px; margin-top:12px; border-radius:var(--r); background:linear-gradient(90deg, var(--line) 0, #f0f0ec 50%, var(--line) 100%); background-size:200% 100%; animation:lvsk 1.2s infinite linear }
.lv-skel i:first-child { height:60px }
@keyframes lvsk { to { background-position:-200% 0 } }
@media (prefers-reduced-motion: reduce) { .lv-skel i { animation:none } }
.lv-gone { margin-top:16px; padding:20px; background:var(--surface); border:2px solid var(--ink); border-radius:18px; box-shadow:4px 4px 0 var(--ink) }
.lv-gone h1 { margin:0; font-size:22px; line-height:1.2 }
.lv-gone p { margin:6px 0 14px }
.lv-cta { position:fixed; left:0; right:0; bottom:0; z-index:5; background:#ffe27a; border-top:2px solid var(--ink); padding:10px 0 calc(12px + env(safe-area-inset-bottom)) }
.lv-cta p { margin:0 0 8px; font-size:14px; line-height:1.35 }
.lv-cta .btn { text-decoration:none }

.cl-lock { display:inline-flex; align-items:center; gap:6px; min-height:32px; padding:0 12px; border-radius:99px; background:#ececE7; border:1.5px dashed #9c9ea5; font-size:13px; font-weight:600 }
.cl-list { list-style:none; margin:14px 0 0; padding:0; display:flex; flex-direction:column; gap:10px }
.cl-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:12px 14px; min-width:0 }
.cl-top { display:flex; align-items:center; gap:8px; margin:0; flex-wrap:wrap }
.cl-n { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:99px; background:var(--ink); color:#fff; font-size:12px }
.cl-type { font-size:12px; font-weight:600; color:var(--muted) } .cl-type.g { color:var(--safe) }
.cl-crs { margin:8px 0 0; font-size:12px; font-weight:600; color:var(--muted) }
.cl-col { margin:0; font:600 16px/1.3 Geist, system-ui, sans-serif; letter-spacing:0 }
.cl-open { all:unset; cursor:pointer; overflow-wrap:anywhere } .cl-open:focus-visible { outline:2px solid var(--accent); outline-offset:2px }
.cl-pl { margin:0; font-size:13px }
.cl-facts { margin:6px 0 0; font-size:12.5px; color:var(--muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden }
.cl-close { margin:6px 0 0; font-size:12.5px; color:var(--muted) } .cl-close b { color:var(--ink) }
.cl-blur { filter:blur(4px); user-select:none }
.cl-acts { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:10px }
.cl-rx { display:flex; gap:6px }
.cl-r { display:inline-flex; align-items:center; gap:6px; min-height:40px; min-width:44px; padding:0 10px; border-radius:99px; border:1.5px solid var(--line-strong); background:var(--surface); font-size:14px; justify-content:center }
.cl-r[aria-pressed="true"] { border-color:var(--accent); background:var(--accent-soft); color:var(--accent); font-weight:600 }
.cl-r:disabled { cursor:default; opacity:1 }
.cl-cc { display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:0 12px; border-radius:99px; border:0; background:#f0f0eb; font-size:14px; font-weight:600; margin-left:auto }
.cl-more, .cl-emptylist { margin-top:12px; padding:14px; font-size:14.5px }
.cl-more { background:#ffe27a; border-color:var(--ink) }

/* thread sheet */
.cl-th .sh-body { padding-bottom:16px }
.cl-th-seat h3 { margin:2px 0 0; font:800 20px/1.2 "Bricolage Grotesque", Geist, sans-serif }
.cl-th-seat .cl-rx { margin-top:10px }
.cl-thread { list-style:none; margin:12px 0 0; padding:0; border-top:1px solid var(--line) }
.cl-cm { display:flex; gap:10px; margin-top:14px }
.cl-av { flex:none; width:34px; height:34px; border-radius:99px; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; border:1.5px solid var(--ink); background:#ffe27a }
.cl-cm > div { min-width:0; flex:1 }
.cl-who { margin:0; font-size:13px }
.cl-owner { display:inline-block; font-size:11px; font-weight:700; padding:1px 7px; border-radius:99px; background:var(--ink); color:#ffe27a }
.cl-del { min-height:32px; font-size:12px; color:#9f2f2d }
.cl-txt { margin:2px 0 0; font-size:14.5px; line-height:1.45; white-space:pre-wrap; overflow-wrap:anywhere }
.cl-mv { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:12px; padding:8px 12px; border-radius:12px; background:var(--safe-bg); color:var(--safe); font-size:13.5px }
.cl-mv.done { opacity:.75 }
.cl-mv-act { display:flex; gap:6px; margin-left:auto }
.cl-empty { padding:14px 0 }
.cl-sugh { margin:14px 0 0; font-size:13px; font-weight:600; color:var(--muted) }
.cl-sug { display:flex; gap:8px; margin-top:6px } .cl-sug .chip { flex:1; justify-content:center; min-height:44px }
.cl-comp { margin-top:14px }
.cl-cw-row { display:flex; gap:8px; align-items:flex-end }
.cl-cw-row textarea { flex:1; min-height:48px; resize:vertical; font:inherit }
.cl-cnt { margin:4px 0 0; font-size:11.5px; text-align:right }
.cl-msg { margin:6px 0 0; font-size:14px; min-height:1px }
.btn.sm { min-height:36px; padding:0 12px; font-size:13.5px }
.btn.ok { background:var(--safe); border-color:var(--safe); color:#fff }

.cl-tg { display:flex; justify-content:space-between; align-items:center; min-height:48px; margin-top:10px; border-top:1px solid var(--line); font-size:15px; cursor:pointer }
.cl-tg input { width:22px; height:22px; accent-color:var(--accent) }
.cl-capnote { margin:8px 0 0; padding:10px 12px; border-radius:12px; background:#ffe27a; font-size:14px }
.cl-gap { margin-top:10px }
.cl-c { text-align:center }
.cl-url { background:var(--bg); border-radius:10px; padding:10px 12px; font-size:13px; overflow-wrap:anywhere }
.btn.cl-red { color:#9f2f2d; border-color:#9f2f2d }

.cl-off { margin:0 0 10px; font-size:13.5px; padding:8px 12px; border-radius:10px; background:var(--likely-bg); color:var(--likely) }
.cl-seat { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:8px }
.cl-seat .cl-cc { margin-left:0; min-height:36px }
.cl-rxs { display:flex; gap:10px; font-size:13px; color:var(--muted) }
.cl-nw { display:inline-flex; align-items:center; padding:2px 9px; border-radius:99px; background:var(--accent); color:#fff; font-size:12px; font-weight:700 }
.cl-nw.ok { background:var(--safe) }
.cl-ask { margin-top:14px; padding:16px; border:2px solid var(--ink); border-radius:18px; background:var(--surface) }
.cl-ask h2 { margin:0; font:800 22px/1.15 "Bricolage Grotesque", Geist, sans-serif }
.cl-ask textarea { font:inherit; resize:vertical }
.cl-chips { margin:8px 0 0 }
.cl-yq { display:flex; align-items:center; gap:8px; margin:20px 0 0; font:800 17px "Bricolage Grotesque", Geist, sans-serif }
.cl-q { margin-top:10px; padding:12px; border:1px solid var(--line); border-radius:var(--r) }
.cl-q > p { margin:0 } .cl-q > .muted { font-size:12.5px }
.cl-reply { margin-top:10px; padding:12px; border-radius:12px; background:#fff4cc; border:2px solid var(--ink) }
.cl-reply p { margin:0; font-size:13px }
.cl-from { margin:12px 0; padding:12px 14px; border:2px solid var(--ink); border-radius:16px; background:#ffe27a; box-shadow:3px 3px 0 var(--ink); font-size:14.5px }
.cl-from b { display:block; font-size:15px }

@media (min-width: 900px) {
  .lv-page .wrap { max-width:820px }
  .cl-th { max-width:560px; margin:auto; border-radius:16px }
  .lv-cta .wrap { display:flex; align-items:center; gap:16px } .lv-cta p { margin:0; flex:1 } .lv-cta .btn { width:auto; padding:0 28px }
}

.cl-desk { margin:12px 0 0; padding:12px 14px; border-radius:var(--r); background:#fff8d6; border:1px solid var(--line-strong) }
.cl-desk > p:first-child { margin:0 0 10px; font-size:14px; line-height:1.4 } .cl-desk .note { margin:8px 0 0 }

.cl-pro { display:flex; gap:8px; align-items:center; margin:-4px 0 12px; font-size:13px; color:var(--muted) } .cl-pro span { flex:none; padding:4px 8px; border-radius:6px; background:#17181C; color:#FFE27A; font:700 11px 'Geist Mono', monospace; letter-spacing:.03em }
.cl-desk { position:relative } .cl-desk-x { position:absolute; top:6px; right:6px; font-size:22px } .cl-desk > p:first-of-type { padding-right:32px }

/* Inline name form on the shared page (replaces window.prompt) */
.lv-nickf{display:grid;gap:10px;padding:14px;border:2px solid var(--ink,#17181C);border-radius:16px;background:var(--surface,#fff);margin:6px 0 12px}
.lv-nickl{font-weight:600;font-size:15px}
.lv-nickq{display:flex;flex-wrap:wrap;gap:8px}
.lv-nickrow{display:flex;gap:8px}.lv-nickrow .input{flex:1;min-width:0}

/* Shared seat: tappable Round 1 line + all-rounds table in the thread sheet */
button.cl-close { display:block; text-align:left; padding:0; background:none; border:0; font:inherit; cursor:pointer }
.cl-more-r { color:var(--blue,#2446C7); font-weight:600; white-space:nowrap }
.cl-lbl { margin:8px 0 4px; font-size:14px }
.cl-rt { width:100%; border-collapse:collapse; margin:8px 0 4px; font-size:14px; font-variant-numeric:tabular-nums }
.cl-rt caption { text-align:left; font-weight:600; font-size:13px; margin-bottom:6px; color:var(--muted) }
.cl-rt th, .cl-rt td { padding:7px 6px; border-bottom:1px solid var(--line,#E3E3DE); text-align:right }
.cl-rt th:first-child, .cl-rt thead th:first-child { text-align:left }
.cl-rt-n { font-size:12px }
/* Long names without spaces (30-char nick, long list name) wrap instead of pushing the page sideways at 375 px. */
.lv-h, .lv-line, .cl-who, .cl-banner { overflow-wrap:anywhere }
.lv-gh { margin:18px 0 0; font-size:16px; font-weight:700 }

/* Sharing v2: one list (research/list-share-converge.md, canvas Share2S1–S12). Shared is a state of My list. */
#open-list { position:relative }
.cl-dot { position:absolute; top:-3px; right:-3px; width:12px; height:12px; border-radius:99px; background:#D93025; border:2px solid #fff }
.dock .btn.cl-dk-copy { background:var(--surface); color:var(--ink); border:1.5px solid var(--ink) }
.cl-head { margin:0 0 10px }
.cl-pill { display:flex; align-items:center; gap:8px; width:100%; min-height:46px; padding:8px 14px; border-radius:99px; border:1.5px solid #17181C; background:#fff; color:#17181C; font:500 13.5px/1.35 Geist, system-ui, sans-serif; text-align:left; cursor:pointer }
.cl-pill b { color:var(--accent) } .cl-pill .cl-pt { flex:1; min-width:0; overflow-wrap:anywhere }
.cl-pi { display:flex; color:var(--muted) } .cl-pc { display:flex; color:var(--accent) }
.cl-pill.shared { border-color:#0f6e3b; background:#F1FAF5 } .cl-pill.shared b, .cl-pill.shared .cl-pi { color:#0f6e3b }
.cl-avs { display:flex; flex:none } .cl-avs .cl-av + .cl-av { margin-left:-8px }
.cl-av.sm { width:24px; height:24px; font-size:11px }
.cl-pnl { margin-top:10px; padding:14px; background:#fff; border:1.5px solid #17181C; border-radius:20px }
.cl-pnl-hd { display:flex; align-items:center; gap:8px } .cl-pnl-hd h2 { flex:1; margin:0; font-size:16px; font-weight:700 }
.cl-pnl-i { display:flex; color:var(--accent) }
.cl-pnl-x { width:44px; height:44px; margin:-8px -8px -8px 0; border:0; background:none; display:inline-flex; align-items:center; justify-content:center; color:var(--ink); cursor:pointer }
.cl-hint { display:flex; gap:12px; align-items:center; margin:8px 0 4px } .cl-hint p { margin:0; font-size:15px; line-height:1.45 } .cl-ill { flex:none }
.cl-pnl .lbl { display:block; margin-top:10px } .cl-pnl .input { width:100% }
.cl-pnl .cl-c { margin:10px 0 0 }
.cl-urlrow { display:flex; gap:8px; align-items:center; margin-top:10px } .cl-urlrow .cl-url { flex:1; min-width:0; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.cl-wh { margin:14px 0 0; font-size:12px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--muted) }
.cl-who-r { display:flex; gap:10px; padding:10px 0; border-top:1px solid #EFEFEA } .cl-who-r p { margin:0; font-size:13px } .cl-who-r .cl-av { width:28px; height:28px; font-size:12px }
.link.cl-red { color:#B3261E; font-size:14px }
.cl-banner { display:flex; gap:10px; align-items:center; margin:0 0 10px; padding:10px 12px; border-radius:14px; background:#E1E8FF; font-size:14.5px; overflow-wrap:anywhere }
.cl-banner p { margin:0 } .cl-banner .cl-av { width:26px; height:26px; font-size:12px }
.cl-seat { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:12px }
.cl-rxc { display:inline-flex; align-items:center; gap:5px; height:34px; padding:0 10px; border-radius:99px; border:1.5px solid #CFCFC8; background:#fff; font:600 13px "Geist Mono", monospace }
.cl-seat .cl-cc { margin-left:0; min-height:36px }
.cl-nw { display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:22px; padding:0 7px; border-radius:99px; background:#FFC93D; color:#17181C; font:700 12px "Geist Mono", monospace }
.cl-nw.ok { background:var(--safe); color:#fff }
.cl-mvrow { flex-basis:100%; margin-top:4px; padding:10px 12px; border:1.5px dashed var(--accent); background:#EEF2FF; border-radius:14px; font-size:14px; line-height:1.4 }
.cl-mvrow p { display:flex; gap:8px; align-items:center; margin:0 } .cl-mvb { display:flex; gap:8px; margin-top:10px }
.cl-whole { display:flex; align-items:center; gap:8px; width:100%; margin-top:12px; padding:14px; background:#fff; border:1px solid var(--line); border-radius:16px; font:600 14.5px Geist, system-ui, sans-serif; color:var(--ink); text-align:left; cursor:pointer }
.cl-whole span:first-of-type { flex:1 }
.cl-team .cl-av { background:#17181C !important; color:#FFE27A } .cl-wait { margin:6px 0 0 44px; font-size:13px }
.cl-loc { margin:14px 0 10px; font-size:14.5px; line-height:1.45 }
.ml-foot3 .ml-btn { gap:6px; padding:0 12px; font-size:14.5px; white-space:nowrap; border:1.5px solid var(--l-accent) } .ml-foot3 .ml-btn.sec { flex:0 1 auto; border-color:#17181C }
.ml-foot3 i { display:flex }
/* one-time hint after the 3rd seat: points at the dock's Share for comments */
.ml-toast.cl-hintt { left:14px; right:14px; transform:none; max-width:none; display:block; padding:12px 44px 12px 14px; border-radius:16px; background:#17181C; color:#fff; bottom:calc(84px + env(safe-area-inset-bottom)) }
.cl-hintt p { margin:0; white-space:normal; font-size:14.5px; line-height:1.4 }
.ml-toast.cl-hintt .cl-hgo { min-height:0; padding:0; color:#FFE27A; text-decoration:none; font-weight:700 }
.ml-toast.cl-hintt .cl-hx { position:absolute; top:4px; right:2px; text-decoration:none }
.cl-hintt::after { content:""; position:absolute; bottom:-8px; right:22%; width:16px; height:16px; background:#17181C; transform:rotate(45deg) }
@media (min-width: 768px) { .ml-toast.cl-hintt { left:auto; right:max(16px, calc(50% - 566px)); width:380px } .cl-hintt::after { right:40% } }
/* Desktop: list left, the selected seat's rounds and thread right (canvas S12) */
@media (min-width: 1024px) {
  .ml-dlg.ml-dlg-list.cl-two[open] { display:grid; grid-template-columns:minmax(0, 1fr) 500px; grid-template-rows:auto minmax(0, 1fr) auto; width:min(1280px, 96vw); height:92vh; max-height:92vh }
  .cl-two .ml-head { grid-column:1 / -1 } .cl-two .ml-body { grid-column:1; grid-row:2; padding:16px 24px } .cl-two .ml-foot { grid-column:1; grid-row:3 }
  .cl-side { grid-column:2; grid-row:2 / 4; min-height:0; overflow-y:auto; padding:20px; background:var(--surface, #fff); border-left:1px solid var(--line) }
  .cl-side-k { margin:0; font:500 12.5px "Geist Mono", monospace; color:var(--muted) }
  .cl-side .cl-th-h { margin:4px 0 0; font:800 22px/1.15 "Bricolage Grotesque", Geist, sans-serif }
  .cl-two .ml-card { cursor:pointer } .cl-two .ml-card.cl-sel { border:2px solid var(--accent) }
}
@media print { .cl-head, .cl-o, .cl-side { display:none !important } }

.cl-cmh { margin:0 0 10px; font-size:15px; line-height:1.4 } .cl-cmh .link { white-space:nowrap }

/* Compare seats v2 (web/compare.js, canvas CM1–CM9). Phone: attribute rows, all seats across. ≥ 760 px: table. */
.cm-seg { display:flex; gap:4px; padding:4px; border-radius:99px; background:#ECECE7 }
.cm-seg button { flex:1; min-height:40px; border:0; border-radius:99px; background:transparent; font:600 14px Geist, system-ui, sans-serif; color:var(--ink, #17181C); display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:0 6px; white-space:nowrap }
.cm-seg button[aria-pressed="true"], .cm-seg button[aria-selected="true"] { background:#17181C; color:#fff }
.cm-rs button { font-size:12.5px; min-width:0 }
.cm-sw { margin:0 0 12px }
.lv-vs { margin-top:14px }
.cm-air { display:inline-block; margin-bottom:8px; padding:4px 12px; border-radius:99px; background:#ECECE7; font-size:13px; font-weight:600 }
.cm-tick { margin-top:10px } .cm-tick p { margin:0; font-size:12.5px } .cm-tick p:first-child { display:flex; align-items:center; gap:8px; font-size:14px }
.cm-tick b { flex:1 } .cm-tick .num { border:1.5px solid #17181C; border-radius:99px; padding:2px 10px; font-size:12.5px }
.ml-card .cm-cb { flex:none; width:28px; height:28px; margin:-2px 0 0 -4px; border:2px solid #17181C; border-radius:8px; background:#fff; display:inline-flex; align-items:center; justify-content:center; padding:0; color:#fff; cursor:pointer }
.ml-card .cm-cb[aria-checked="true"] { background:#2446C7; border-color:#2446C7 } .ml-card .cm-cb:disabled { opacity:.35; cursor:default }
.ml-card.cm-sel { border:2px solid #2446C7 }
.cm-on .ml-body > :not(.cm-sw):not(.cm-view):not(.ml-msg), .cm-on .cm-tick { display:none !important }
.ml-dlg:not(.cm-on) .cm-view { display:none }
.cm { font-size:14px; line-height:1.3; margin:0 -16px }
.lv .cm { margin:12px -16px 0 }
.cm-pad { padding:0 16px }
.cm-chs { display:grid; gap:6px; padding:8px 16px; background:#fff; border-bottom:1.5px solid #17181C; position:sticky; top:-12px; z-index:3 }
.lv .cm-chs { top:0 }
.cm-ch { border:1.5px solid #17181C; border-radius:12px; padding:5px 6px; background:#fff; text-align:left; font:600 12.5px/1.2 Geist, sans-serif; color:#17181C; min-height:48px; min-width:0; display:flex; flex-direction:column; gap:2px; cursor:pointer }
.cm-ch .t { display:flex; align-items:center; gap:4px; justify-content:space-between }
.cm-ch b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.cm-lt { width:20px; height:20px; border-radius:99px; background:#17181C; color:#fff; font:700 11px "Geist Mono", monospace; display:inline-flex; align-items:center; justify-content:center; flex:none }
.cm-pn { font:700 11.5px "Geist Mono", monospace; color:#2446C7 }
.cm-cc { display:inline-flex; align-items:center; gap:2px; font:600 11px Geist, sans-serif; color:#5C5E66 }
.cm-cap { margin:10px 0 0; font-size:12.5px; line-height:1.4 }
.cm-dtg { display:flex; align-items:center; gap:10px; min-height:44px; font:600 14px Geist, sans-serif }
.cm-hid { font-weight:500; font-size:12.5px; margin-left:auto } .cm-hid .link { min-height:0; font-size:12.5px; padding:0 }
.cm-sw[role="switch"] { position:relative; width:44px; height:26px; border-radius:99px; border:0; background:#CFCFC8; padding:0; margin:0; flex:none; cursor:pointer }
.cm-sw[role="switch"][aria-checked="true"] { background:#2446C7 }
.cm-sw[role="switch"] i { position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:99px; background:#fff; transition:left .15s }
.cm-sw[role="switch"][aria-checked="true"] i { left:21px }
.cm-gh { margin:0; padding:16px 16px 6px; font:800 12px Geist, sans-serif; letter-spacing:.06em; text-transform:uppercase; color:#17181C }
.cm-gh .muted { font-weight:600; letter-spacing:0; text-transform:none }
.cm-ar { background:#fff; border-bottom:1px solid #ECECE7; padding:8px 16px 9px }
.cm-al { margin:0 0 4px; font:700 12px Geist, sans-serif; color:#5C5E66 }
.cm-av { display:grid; gap:6px; font-size:14px; line-height:1.3 }
.n5 .cm-av { font-size:13px; gap:4px }
.cm-av > div { min-width:0; overflow-wrap:anywhere }
.cm-av .pill, .cm-dt .pill { padding:3px 8px; font-size:11.5px }
.cm-best { font-weight:700 }
.cm-dot { display:inline-block; width:7px; height:7px; border-radius:99px; background:#2446C7; margin-right:4px; vertical-align:2px }
.cm-rep { display:inline-block; font-size:10.5px; font-weight:600; color:#875700; background:#FBF0D9; border-radius:4px; padding:0 4px }
.cm-clip { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-size:12.5px }
.cm-a { min-height:0; padding:0; font-size:inherit; text-decoration:none }
.cm-on1 { all:unset; display:block; cursor:pointer; font-size:12.5px; line-height:1.3; overflow-wrap:anywhere }
.cm-on1 .h { display:flex; align-items:center; gap:3px; font:700 11px Geist, sans-serif; color:#5C5E66 }
.cm-fc { margin-top:6px; padding-top:6px; border-top:1px dashed #E3E3DE; font-size:12.5px; line-height:1.3 }
.cm-yl { display:grid; grid-template-columns:auto 1fr; gap:2px 5px; font:500 12.5px "Geist Mono", monospace; align-items:center }
.n5 .cm-yl { grid-template-columns:1fr; font-size:11px; letter-spacing:-.03em } .n5 .cm-yl .cm-g { padding:0 1px }
.cm-yl i { white-space:nowrap; font-style:normal; color:#5C5E66; font-family:Geist, sans-serif; font-size:11px }
.cm-g { background:#E5F4EC; color:#0f6e3b; font-weight:700; border-radius:4px; padding:0 3px; font-family:"Geist Mono", monospace; white-space:nowrap }
.cm-blur { filter:blur(4px); user-select:none }
.cm-leg { display:flex; gap:6px; align-items:flex-start; margin:8px 16px 0; font-size:12.5px; line-height:1.4; color:#5C5E66 } .cm-leg .cm-g { flex:none; font-size:12px }
.cm-rc { background:#fff; border:1px solid #E3E3DE; border-radius:16px; padding:10px 12px; margin:8px 16px 0 }
.cm-rch { display:flex; align-items:center; gap:6px } .cm-rch b { flex:1; font-size:14.5px } .cm-rch .muted { font-weight:500 }
.cm-rg { width:100%; border-collapse:collapse; font:500 13px "Geist Mono", monospace; margin-top:6px }
.cm-rg th { font:700 11px Geist, sans-serif; color:#5C5E66; text-align:right; padding:3px 4px }
.cm-rg td { text-align:right; padding:3px 4px; border-top:1px solid #F0F0EC }
.cm-rg th:first-child { text-align:left } .cm-rg tbody th { font:500 13px "Geist Mono", monospace; color:#17181C; border-top:1px solid #F0F0EC }
.cm-unl { background:#fff; border:2px solid #17181C; border-radius:18px; padding:14px; margin:4px 16px 8px; box-shadow:0 4px 0 #17181C }
.cm-unl p { margin:4px 0 0; font-size:14px; line-height:1.45 } .cm-unh { display:flex; gap:8px; align-items:center } .cm-unh b { font-size:16px }
.cm-unl .btn { margin-top:12px } .cm-price { text-align:center; font-size:12.5px !important; margin-top:8px !important }
.cm-nud { background:#fff; border:1.5px solid #17181C; border-radius:16px; padding:12px 14px; margin:12px 16px 0 }
.cm-nud p { margin:0 } .cm-nud .muted { font-size:12.5px; line-height:1.4; margin-top:8px } .cm-nud .btn { margin-top:10px }
.cm-nuh { display:flex; gap:8px; align-items:flex-start } .cm-nuh b { flex:1; font-size:14.5px; line-height:1.35 } .cm-ok { color:#0f6e3b; font-weight:700 }
.cm-x { border:0; background:none; padding:4px; min-width:36px; min-height:36px; display:inline-flex; align-items:center; justify-content:center; color:#17181C; cursor:pointer }
.cm-msg { min-height:18px; margin:6px 0 0; font-size:13px; color:#9f2f2d }
.cm-src { margin:10px 16px 0; font-size:12px; line-height:1.45 }
/* seat sheet (CM5) */
dialog.sheet.cm-sh { padding:12px 16px 0 }
.cm-shh { display:flex; align-items:flex-start; gap:8px; padding:4px 0 0 } .cm-shh > div { flex:1; min-width:0 } .cm-shh .cm-lt { margin-top:3px }
.cm-shh h2 { margin:0; font:700 16px/1.3 Geist, sans-serif; letter-spacing:0 } .cm-shh p { margin:0; font-size:13px }
.cm-tabs { display:flex; border-bottom:1.5px solid #E3E3DE; margin-top:10px; flex:none }
.cm-tabs button { flex:1; height:44px; border:0; background:none; font:700 14px Geist, sans-serif; color:#5C5E66; border-bottom:3px solid transparent; margin-bottom:-1.5px; cursor:pointer }
.cm-tabs button[aria-selected="true"] { color:#17181C; border-bottom-color:#17181C }
.cm-sh .cm-shb { padding:14px 0 20px }
.cm-mvb { display:flex; gap:8px } .cm-mvb .btn { flex:1; min-height:48px }
.cm-to { display:flex; gap:8px; align-items:center; margin-top:12px } .cm-to label { flex:1; font:600 14px Geist, sans-serif }
.cm-to input, .cm-pop input { width:64px; height:44px; border:1.5px solid #17181C; border-radius:12px; font:600 16px "Geist Mono", monospace; text-align:center }
.cm-small { font-size:12.5px; margin:8px 0 14px }
.cm-nl { display:flex; gap:4px; align-items:center; font:700 13px Geist, sans-serif }
.cm-shb textarea { width:100%; margin-top:6px; border:1.5px solid #17181C; border-radius:14px; padding:10px 12px; font:16px Geist, sans-serif; resize:vertical }
.cm-fam { border-top:1px solid #E3E3DE; margin-top:6px; padding-top:10px; font-size:14px; line-height:1.4 } .cm-fm { margin-top:8px }
.cm-fam .btn { margin-top:8px } .cm-fam p { margin:8px 0 0 }
.cm-facts { font-size:13.5px; line-height:1.5; margin:10px 0 } .cm-sh .cm-unl { margin:8px 0 }
/* desktop table (CM8) */
.cm-desk { margin:0 }
.lv .cm-desk { margin-top:12px }
.cm-dbar { display:flex; align-items:center; gap:20px; flex-wrap:wrap } .cm-dbar .cm-rs { width:420px } .cm-dbar .cm-leg { margin:0 0 0 auto }
.cm-dt { border-collapse:separate; border-spacing:0; background:#fff; border:1px solid #E3E3DE; border-radius:16px; width:100%; table-layout:fixed; margin-top:10px }
.cm-c0 { width:150px }
.cm-dt th, .cm-dt td { border-bottom:1px solid #ECECE7; padding:10px 12px; text-align:left; vertical-align:top; font-size:14px; line-height:1.4; overflow-wrap:anywhere }
.cm-dt th[scope="row"] { position:sticky; left:0; background:#F6F6F3; font:700 12.5px Geist, sans-serif; color:#5C5E66; border-right:1px solid #E3E3DE }
.cm-dt thead th { position:sticky; top:-16px; background:#fff; border-bottom:2px solid #17181C; vertical-align:bottom; z-index:2 }
.lv .cm-dt thead th { top:0 }
.cm-dt .cm-corner { font-weight:600 }
.cm-dt tr.cm-gr th { background:#ECECE7; font:800 12px Geist, sans-serif; letter-spacing:.06em; text-transform:uppercase; color:#17181C; padding:8px 12px; position:static }
.cm-dt tr.cm-r0 th, .cm-dt tr.cm-r0 td { border-top:1.5px solid #CFCFC8 } .cm-dt tr.cm-r0 th b { color:#17181C }
.cm-dt td.num { font:500 14px "Geist Mono", monospace }
.cm-dt .cm-unl { margin:4px 0 }
.cm-yi { padding-left:38px }
.cm-dh { display:flex; align-items:center; gap:6px } .cm-dh .cm-cc { margin-left:auto }
.cm-dn { all:unset; display:block; margin-top:4px; font:700 16px/1.25 Geist, sans-serif; color:#17181C; cursor:pointer }
.cm-dc { margin:0; font-size:13px; font-weight:500 }
.cm-ops { display:flex; gap:6px; margin-top:8px; align-items:center; flex-wrap:wrap }
.cm-ib { width:36px; height:36px; border-radius:99px; border:1.5px solid #17181C; background:#fff; display:inline-flex; align-items:center; justify-content:center; padding:0; color:#17181C; cursor:pointer } .cm-ib:disabled { opacity:.35; cursor:default }
.cm-mt { height:36px; padding:0 10px; border-radius:99px; border:1.5px solid #17181C; background:#fff; font:600 13px Geist, sans-serif; color:#17181C; cursor:pointer }
.cm-pop { border:1.5px solid #17181C; border-radius:16px; padding:14px; font:500 14px Geist, sans-serif; box-shadow:0 8px 24px rgba(0,0,0,.18) }
.cm-pop label { display:block; font-weight:700; margin-bottom:8px } .cm-pop div { display:flex; gap:8px; align-items:center }
@media (min-width: 760px) {
  .ml-dlg.ml-dlg-list.cm-on[open] { display:flex; width:min(1440px, 96vw); height:92vh; max-height:92vh }
  .cm-on .cl-side { display:none !important }
  .cl-two.cm-on .ml-body { padding:16px 24px }
  .lv.cm-wide { max-width:1440px }
}
@media (max-width: 759px) { .cm-on .ml-foot [data-print], .cm-on .ml-foot [data-copy] { display:none } }
@media print { .cm-sw, .cm-view, .cm-cb { display:none !important } }
