/* Deck: personal multi-column dashboard. Logical properties only (RTL + LTR). Builds on ornev.css tokens. */
.deck{max-width:none;padding:8px clamp(12px,2.5vw,28px) 40px}
.deck-top h1{display:flex;align-items:center;gap:10px;font-size:clamp(24px,3.4vw,32px);margin:4px 0 2px}
.deck-top h1 .i{width:1em;height:1em;color:var(--brand)}
.deck-lead{color:var(--muted);margin:0 0 14px;max-width:70ch}
.deck-bar{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-block-end:14px}
.deck-add{position:relative}
.deck-add>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.deck-add>summary::-webkit-details-marker{display:none}
.deck-add>summary .i{width:1em;height:1em}
.deck-picker{margin-block-start:8px;padding:16px;width:min(340px,calc(100vw - 32px));display:grid;gap:4px;border-radius:20px;box-shadow:none}
.deck-picker .field{margin-bottom:8px}
.deck-note-limit{margin:8px 0 0;color:var(--muted);font-size:14px}

/* board: columns side by side, scrolls horizontally */
.deck-board{display:flex;gap:16px;align-items:flex-start;overflow-x:auto;overscroll-behavior-x:contain;padding-block:2px 16px;scroll-snap-type:x proximity;scrollbar-width:thin}
.deck-col{--w:340px;flex:0 0 var(--w);width:var(--w);max-width:100%;position:relative;display:flex;flex-direction:column;
  max-height:calc(100vh - 220px);min-height:200px;scroll-snap-align:start;border-radius:20px}
.deck-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:10px 14px;border-block-end:1px solid var(--line);flex:0 0 auto}
.deck-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;margin:0;min-width:0}
.deck-title .i{width:1.1em;height:1.1em;flex:0 0 auto;color:var(--brand)}
.deck-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.deck-menu{margin-inline-start:auto}
.deck-menu>summary{list-style:none;cursor:pointer;border-radius:99px;padding:4px 8px;color:var(--muted);display:inline-flex}
.deck-menu>summary::-webkit-details-marker{display:none}
.deck-menu>summary:hover,.deck-menu[open]>summary{background:var(--line-soft);color:var(--ink)}
.deck-menu>summary .i{width:1.1em;height:1.1em}
.deck-menu-body{display:flex;flex-wrap:wrap;gap:6px;padding-block-start:10px;flex-basis:100%}
.deck-menu{flex-basis:auto}
.deck-menu[open]{flex-basis:100%}
.deck-menu .pa{display:inline-flex;align-items:center;gap:4px;font-size:13px}
.deck-menu .pa .i{width:1em;height:1em}

/* column body (the HTMX fragment) */
.deck-body{overflow-y:auto;flex:1 1 auto;min-height:0;overscroll-behavior:contain}
.deck-body[aria-busy=true]{min-height:120px}
.deck-state{display:grid;justify-items:center;gap:6px;padding:28px 20px;text-align:center;color:var(--muted)}
.deck-state p{margin:0}
.deck-state .i{width:28px;height:28px;color:var(--faint)}
.deck-sub{font-size:13px}
.deck-item{display:grid;gap:2px;padding:10px 14px;border-block-start:1px solid var(--line-soft);color:var(--ink)}
.deck-item:first-child{border-block-start:0}
.deck-item:hover{background:var(--hover)}
.deck-item.unread .deck-item-t{font-weight:500}
.deck-item.unread .deck-item-t::before{content:"";display:inline-block;width:8px;height:8px;border-radius:99px;background:var(--brand);margin-inline-end:6px}
.deck-item-t{font-size:14px;overflow-wrap:anywhere}
.deck-item-t .i{width:1em;height:1em;vertical-align:-.12em}
.deck-item-m{font-size:12px;color:var(--muted)}
.deck-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink-2)}
.deck-modstats{display:flex;gap:8px;flex-wrap:wrap;padding:10px 14px}
.deck-modstats a{background:var(--brand-tint);color:var(--brand);border-radius:99px;padding:2px 12px;font-size:13px}
.deck-more{display:block;padding:10px 14px;text-align:center;font-size:13px;color:var(--brand);border-block-start:1px solid var(--line-soft)}
.deck-more.top{border-block-start:0;border-block-end:1px solid var(--line-soft);text-align:start;font-weight:500;color:var(--ink)}

/* discussion rows reused inside a narrow column */
.deck-col .drow{padding:10px 14px;gap:10px;flex-wrap:wrap}
.deck-col .drow-main{flex-basis:calc(100% - 60px)}
.deck-col .drow-tags{max-width:none;justify-content:flex-start;flex-basis:100%;padding-inline-start:50px}
.deck-col .drow-count{min-width:0}
.deck-col .drow-count.hide-xs{display:none}

/* resize handle on the inline-end edge */
.deck-grip{position:absolute;inset-block:0;inset-inline-end:0;width:10px;cursor:col-resize;touch-action:none;z-index:1}
.deck-grip::after{content:"";position:absolute;inset-block:40%;inset-inline-end:3px;width:3px;border-radius:99px;background:var(--line);transition:background .15s}
.deck-grip:hover::after,.deck-grip:focus-visible::after,.deck-grip.on::after{background:var(--brand)}
.deck-grip:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}

/* mobile: one column at a time, swipe sideways; no resizing */
@media (max-width:700px){
  .deck-board{scroll-snap-type:x mandatory;gap:12px}
  .deck-col{flex:0 0 calc(100% - 8px);width:auto;max-height:calc(100vh - 180px)}
  .deck-grip,.deck-w{display:none}
  .deck-bar{flex-direction:column;align-items:stretch}
}
