/* /ideas board (renAIssance, Design Bot's ideas-board design, /workspace/ideas-board). Scoped under main.ib, classes prefixed ib-
   so site.css and motion.js (.card, .btn, .display, .lead ...) never reach it. Tokens come from /css/renaissance.css. */
@font-face{font-family:"RN Triangles";src:url(/ideas/assets/fonts/RNSym-triangles.woff2) format("woff2");unicode-range:U+25B2,U+25B3,U+25BC,U+25BD;font-display:block}
.nav a[aria-current=page]{color:var(--rn-text-1)}
main.ib{display:block;color:var(--rn-text-2);font:var(--rn-t-body)}
:where(.ib) :is(p,h1,h2,dl,dd){margin:0;max-width:none}
:where(.ib) button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;border-radius:var(--rn-radius)}
.ib :focus-visible{outline:2px solid var(--rn-cyan);outline-offset:2px}
.ib-label{font:var(--rn-t-label);letter-spacing:.22em;text-transform:uppercase;color:var(--rn-text-3)}
.ib-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ib-nw{white-space:nowrap}

/* Hero: the one hero glow on this page */
.ib-hero{position:relative;background:var(--rn-hero-glow),var(--rn-bg)}
.ib-hero .wrap{padding-top:var(--rn-s9);padding-bottom:var(--rn-s7)}
.ib-kicker{display:flex;flex-wrap:wrap;gap:var(--rn-s2) var(--rn-s3);align-items:center;margin-bottom:var(--rn-s5)}
.ib-kicker .ib-tick{width:6px;height:6px;background:var(--rn-magenta);box-shadow:0 0 8px rgba(var(--rn-magenta-rgb),.8)}
.ib-display{font:700 112px/.86 var(--rn-font-display);letter-spacing:-.005em;text-transform:uppercase;color:var(--rn-text-1);margin-left:-.04em}
.ib-valnote{display:flex;align-items:center;gap:var(--rn-s3);margin-top:var(--rn-s5);font:500 14px/1.4 var(--rn-font-mono);color:var(--rn-text-2)}
.ib-valnote .ib-eq{width:16px;height:1px;background:var(--rn-cyan);flex:none}
.ib-lead{font:var(--rn-t-lead);color:var(--rn-text-1);max-width:56ch;margin-top:var(--rn-s4);text-wrap:pretty}
.ib .ib-lead{max-width:56ch}
.ib-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--rn-s8);border-top:1px solid var(--rn-line)}
.ib-stat{padding:var(--rn-s4) var(--rn-s5) 0 0}
.ib-stat+.ib-stat{padding-left:var(--rn-s5);border-left:1px solid var(--rn-line)}
.ib-stat__n{display:block;font:var(--rn-t-h1);color:var(--rn-text-1);font-variant-numeric:tabular-nums;margin-bottom:var(--rn-s2)}

/* Sort & filter bar */
.ib-bar{position:relative;z-index:3;background:var(--rn-bg);border-top:1px solid var(--rn-line);border-bottom:1px solid var(--rn-line)}
@media (min-width:960px){.ib-bar{position:sticky;top:65px;background:rgba(7,7,10,.94)}}
.ib-bar .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:var(--rn-s3) var(--rn-s5);padding-top:var(--rn-s3);padding-bottom:var(--rn-s3)}
.ib-group{display:flex;align-items:center;gap:var(--rn-s3);min-width:0}
.ib-group>.ib-label{flex:none}
.ib-seg{display:flex;gap:var(--rn-s2);overflow-x:auto;scrollbar-width:none;min-width:0}
.ib-seg::-webkit-scrollbar{display:none}
.ib .ib-chip{position:relative;flex:none;height:32px;padding:0 var(--rn-s3);border:1px solid var(--rn-line-strong);font:var(--rn-t-label);letter-spacing:.18em;text-transform:uppercase;color:var(--rn-text-2);transition:color var(--rn-dur) var(--rn-ease),border-color var(--rn-dur) var(--rn-ease)}
.ib .ib-chip:hover{color:var(--rn-text-1);border-color:var(--rn-text-4)}
.ib .ib-chip[aria-pressed=true]{color:var(--rn-cyan);border-color:var(--rn-cyan)}
.ib .ib-chip[aria-pressed=true]::after{content:"";position:absolute;left:var(--rn-s3);right:var(--rn-s3);bottom:-1px;height:2px;background:var(--rn-magenta)}
.ib .ib-chip .ib-n{color:var(--rn-text-3);margin-left:.5em;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.ib .ib-chip[aria-pressed=true] .ib-n{color:inherit}
.ib-bar__end{margin-left:auto;display:flex;align-items:center;gap:var(--rn-s4)}
.ib .ib-btn{display:inline-flex;align-items:center;gap:var(--rn-s2);height:40px;padding:0 var(--rn-s5);border:1px solid var(--rn-line-strong);font:var(--rn-t-label);letter-spacing:.18em;text-transform:uppercase;color:var(--rn-text-1);white-space:nowrap;transition:color var(--rn-dur) var(--rn-ease),border-color var(--rn-dur) var(--rn-ease),background var(--rn-dur) var(--rn-ease)}
.ib .ib-btn:hover{border-color:var(--rn-cyan);color:var(--rn-cyan)}
.ib .ib-btn:active{background:rgba(var(--rn-cyan-rgb),.08)}
.ib .ib-btn svg{width:16px;height:16px;flex:none}

/* Board */
.ib-board .wrap{padding-top:var(--rn-s7);padding-bottom:var(--rn-s9)}
.ib-sec{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--rn-s2) var(--rn-s4);padding-bottom:var(--rn-s3);margin-bottom:var(--rn-s5);border-bottom:1px solid var(--rn-line)}
.ib-showing{font-variant-numeric:tabular-nums}
.ib-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--rn-gutter);grid-auto-flow:row dense}
@media (min-width:900px){.ib-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ib-card--media{grid-column:span 2}}
.ib-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--rn-s5);align-items:start;background:var(--rn-surface);border:1px solid var(--rn-line);padding:var(--rn-s5);transition:border-color var(--rn-dur) var(--rn-ease)}
.ib-card:hover{border-color:var(--rn-line-strong)}
@media (min-width:900px){.ib-card--media{grid-template-columns:48px minmax(0,1fr) minmax(0,.9fr)}}
.ib-body{min-width:0}
.ib-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--rn-s2) var(--rn-s3);margin-bottom:var(--rn-s3)}
.ib-meta .ib-dot,.ib-tags .ib-dot,.ib-foot .ib-dot{color:var(--rn-text-4);margin-right:var(--rn-s3)}
.ib-mi{display:inline-flex;align-items:center;white-space:nowrap}
.ib-mi.ib-at-start>.ib-dot{display:none}
.ib-st{display:inline-flex;align-items:center;gap:8px;color:var(--rn-text-2)}
.ib-st::before{content:"";width:7px;height:7px;flex:none;border:1px solid currentColor}
.ib-st--voting::before{background:var(--rn-text-1);border-color:var(--rn-text-1)}
.ib-st--new::before{border-color:var(--rn-text-2)}
.ib-st--greenlit{color:var(--rn-cyan)}
.ib-st--greenlit::before{background:var(--rn-cyan);box-shadow:0 0 8px rgba(var(--rn-cyan-rgb),.8)}
.ib-st--parked,.ib-st--killed{color:var(--rn-text-3)}
.ib-st--parked::before{border-color:var(--rn-text-4)}
.ib-st--killed::before{background:var(--rn-magenta);border-color:var(--rn-magenta)}
.ib-pips{display:inline-flex;gap:3px;margin-left:8px}
.ib-pips i{width:6px;height:6px;border:1px solid var(--rn-text-4)}
.ib-pips i.ib-on{background:var(--rn-text-2);border-color:var(--rn-text-2)}
.ib .ib-title{font:var(--rn-t-h2);letter-spacing:.02em;text-transform:uppercase;color:var(--rn-text-1);text-wrap:balance}
.ib-card--parked .ib-title,.ib-card--killed .ib-title{color:var(--rn-text-2)}
.ib-value{margin-top:var(--rn-s4);padding:var(--rn-s3) 0 0;border-top:1px solid var(--rn-line)}
.ib-value__fig{font:500 22px/1.2 var(--rn-font-mono);letter-spacing:-.01em;color:var(--rn-text-1);font-variant-numeric:tabular-nums}
.ib-value__fig .ib-pre,.ib-value__fig .ib-noun{font-size:14px;letter-spacing:0;color:var(--rn-text-2)}
.ib-value__fig .ib-pre{margin-right:.2em}
.ib-value__cap{margin-top:var(--rn-s1)}
.ib-value__cap .ib-est{letter-spacing:.12em;text-transform:none}
.ib .ib-value__basis{margin-top:var(--rn-s2);font:var(--rn-t-small);color:var(--rn-text-3);max-width:60ch;text-wrap:pretty}
.ib .ib-summary{margin-top:var(--rn-s4);max-width:68ch;text-wrap:pretty}
.ib .ib-url{margin-top:var(--rn-s2)}
.ib .ib-url a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.ib-facts{display:grid;gap:var(--rn-s3);margin-top:var(--rn-s5);padding-top:var(--rn-s4);border-top:1px solid var(--rn-line)}
.ib-facts div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--rn-s4)}
.ib-facts dt{padding-top:2px}
.ib-facts dd{font:var(--rn-t-small);color:var(--rn-text-2);text-wrap:pretty}
.ib-tags{margin-top:var(--rn-s5);display:flex;flex-wrap:wrap;gap:var(--rn-s2) var(--rn-s3)}
.ib-tags .ib-src{color:var(--rn-text-2)}
.ib-media{margin:0;align-self:stretch;min-height:220px;background:var(--rn-bg);overflow:hidden}
.ib-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
@media (max-width:899px){.ib-media{grid-column:2;min-height:0;aspect-ratio:4/3;margin-top:calc(-1*var(--rn-s2))}}

/* Vote control: stacked up, count, down in a 1px outlined square */
.ib-vote{display:flex;flex-direction:column;align-items:stretch;width:48px;border:1px solid var(--rn-line-strong);transition:border-color var(--rn-dur) var(--rn-ease),box-shadow var(--rn-dur) var(--rn-ease)}
.ib-vote.ib-is-voted{border-color:var(--rn-cyan)}
.ib-vote:has(button:focus-visible){box-shadow:var(--rn-glow-cyan);border-color:var(--rn-cyan)}
.ib .ib-vote button{height:34px;display:grid;place-items:center;font:400 13px/1 "RN Triangles",var(--rn-font-mono);color:var(--rn-text-3);transition:color var(--rn-dur) var(--rn-ease),background var(--rn-dur) var(--rn-ease)}
.ib .ib-vote button:hover{color:var(--rn-cyan);background:var(--rn-surface-2)}
.ib .ib-vote button:focus-visible{outline:none;color:var(--rn-cyan)}
.ib .ib-vote button[aria-pressed=true]{color:var(--rn-cyan)}
.ib-vote .ib-g-on{display:none}
.ib-vote button[aria-pressed=true] .ib-g-off{display:none}
.ib-vote button[aria-pressed=true] .ib-g-on{display:inline}
.ib-count{display:block;height:24px;overflow:hidden;text-align:center;font:500 14px/24px var(--rn-font-mono);font-variant-numeric:tabular-nums;color:var(--rn-text-1)}
.ib-count span{display:block;transition:transform var(--rn-dur) var(--rn-ease),opacity var(--rn-dur) var(--rn-ease)}
.ib-count.ib-from-up span{transform:translateY(6px);opacity:0}
.ib-count.ib-from-down span{transform:translateY(-6px);opacity:0}
.ib-count.ib-zero{color:var(--rn-text-3)}

.ib-empty{grid-column:1/-1;padding:var(--rn-s8) 0;text-align:center;color:var(--rn-text-3);border:1px solid var(--rn-line)}
.ib-foot{display:flex;flex-wrap:wrap;column-gap:var(--rn-s3);row-gap:var(--rn-s1);margin-top:var(--rn-s7);padding-top:var(--rn-s4);border-top:1px solid var(--rn-line)}
.ib-toast{position:fixed;right:24px;bottom:24px;z-index:20;display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--rn-surface);border:1px solid var(--rn-cyan);font:var(--rn-t-small);color:var(--rn-text-2);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity var(--rn-dur) var(--rn-ease),transform var(--rn-dur) var(--rn-ease)}
.ib-toast.ib-is-on{opacity:1;transform:none}
.ib-toast b{font:var(--rn-t-label);letter-spacing:.18em;text-transform:uppercase;color:var(--rn-cyan)}

/* Phone */
@media (max-width:639px){
  .ib-kicker .ib-k-wide{display:none}
  .ib-card .ib-label{letter-spacing:.16em}
  .ib-meta .ib-dot,.ib-tags .ib-dot{margin-right:var(--rn-s2)}
  .ib-meta,.ib-tags{column-gap:var(--rn-s2)}
  .ib .ib-chip{padding:0 var(--rn-s2);letter-spacing:.12em}
  .ib-seg{gap:6px;flex-wrap:wrap;overflow:visible}
  .ib-hero .wrap{padding-top:var(--rn-s8);padding-bottom:var(--rn-s6)}
  .ib-display{font-size:80px}
  .ib .ib-lead{font-size:15px}
  .ib-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--rn-s7)}
  .ib-stat:nth-child(3){padding-left:0;border-left:0}
  .ib-stat:nth-child(n+3){margin-top:var(--rn-s4);border-top:1px solid var(--rn-line)}
  .ib-bar .wrap{gap:var(--rn-s3);padding-left:0;padding-right:0}
  .ib-group{width:100%;padding-left:var(--m,24px)}
  .ib-group>.ib-label{width:48px}
  .ib-seg{padding-right:var(--m,24px)}
  .ib-bar__end{width:100%;margin-left:0;padding:var(--rn-s1) var(--m,24px) 0}
  .ib-bar__end .ib-btn{width:100%;justify-content:center;height:36px;padding:0 var(--rn-s4)}
  .ib-board .wrap{padding-top:var(--rn-s5)}
  .ib-card{grid-template-columns:44px minmax(0,1fr);column-gap:var(--rn-s4);row-gap:0;padding:var(--rn-s4) var(--rn-s4) var(--rn-s5)}
  .ib-card .ib-body{display:contents}
  .ib-card .ib-meta{grid-column:1/-1}
  .ib-card .ib-vote{grid-column:1;grid-row:2/span 3;align-self:start}
  .ib-card .ib-title,.ib-card .ib-value,.ib-card .ib-summary,.ib-card .ib-url{grid-column:2}
  .ib-card .ib-facts,.ib-card .ib-tags,.ib-card .ib-media{grid-column:1/-1}
  .ib-card .ib-media{margin-top:var(--rn-s5);order:1}
  .ib-card .ib-facts,.ib-card .ib-tags{order:2}
  .ib-vote{width:44px}
  .ib .ib-title{font-size:22px}
  .ib-facts div{grid-template-columns:minmax(0,1fr);gap:var(--rn-s1)}
}
@media (prefers-reduced-motion:reduce){.ib *,.ib *::before,.ib *::after,.ib-toast{transition:none!important;animation:none!important}}
