/* ---------- generic pages ---------- */
.other-page { overflow-y: auto; min-height: 0; padding: 22px 28px 40px; scrollbar-width: thin; scrollbar-color: rgba(150,170,225,.25) transparent; }
.page-body { max-width: 1240px; margin: 0 auto; display: grid; gap: 18px; align-content: start; }
.page-body.enter > * { animation: rise .4s var(--ease) both; } .page-body.enter > *:nth-child(2) { animation-delay: .05s; } .page-body.enter > *:nth-child(3) { animation-delay: .1s; } .page-body.enter > *:nth-child(n+4) { animation-delay: .15s; }
.banner { display: flex; gap: 12px; align-items: flex-start; padding: 12px 16px; border: 1px solid rgba(240,181,96,.3); background: rgba(240,181,96,.06); border-radius: 12px; color: #e8d3a8; } .banner .ico { color: #f0c27c; flex: none; margin-top: 2px; } .banner b { color: #ffe6b8; } .banner em { color: #cdb9ff; font-style: normal; }
h2.sec { font-size: 15px; font-weight: 600; margin: 8px 0 12px; } .card h2 { font-size: 15px; font-weight: 600; margin-bottom: 12px; } .card h3 { font-size: 14.5px; }
.stack { display: grid; gap: 12px; } .two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; } .cards3 { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 14px; }
.pad { padding: 16px 4px; }
.ent header { display: flex; gap: 12px; align-items: center; margin-bottom: 10px; } .ent p { margin-bottom: 10px; color: #cfd6ec; } .ent footer { margin-top: 12px; } .ent .chips { margin-bottom: 4px; }
.rulelist { display: grid; gap: 10px; } .rulelist li { display: grid; gap: 4px; padding-bottom: 10px; border-bottom: 1px solid var(--line); } .rulelist li:last-child { border: 0; padding: 0; } .rulelist li .chip { justify-self: start; } .rulelist .newrule { animation: rise .4s var(--ease); background: rgba(69,217,160,.06); border-radius: 10px; padding: 10px; border: 1px solid rgba(69,217,160,.3); }
.sep.decision { border-top: 2px solid rgba(69,217,160,.5); } .sep.idea { border-top: 2px dashed rgba(166,139,255,.5); } .rows.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cover li { display: grid; grid-template-columns: 130px 1fr 52px; gap: 12px; align-items: center; padding: 5px 0; } .cover .ld { background: none; border: 0; display: inline-flex; gap: 9px; align-items: center; text-align: left; } .cover .bar { height: 6px; } .cover .bar b { background: var(--dc); } .cover .lw { text-align: right; color: var(--muted); font-variant-numeric: tabular-nums; }
.src header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; gap: 8px; } .src dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 12px 0; } .src dt { font-size: 11px; color: var(--muted); } .src dd { font-weight: 500; font-size: 13px; }
.state { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--line-2); } .state.off { color: #8b95b0; } .state.pilot { color: #f0c27c; border-color: rgba(240,181,96,.5); background: rgba(240,181,96,.08); } .state.approved { color: #8fecc6; border-color: rgba(69,217,160,.45); background: rgba(69,217,160,.08); }
.src.st-off { opacity: .78; } .plain li { padding: 6px 0; color: #cfd6ec; }

/* ---------- tables, timeline, spaces ---------- */
.view-note { padding: 4px 0 12px; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line-2); border-radius: 12px; }
.dt { width: 100%; border-collapse: collapse; font-size: 13.5px; min-width: 640px; } .dt th, .dt td { padding: 9px 14px; text-align: left; border-bottom: 1px solid var(--line); white-space: nowrap; } .dt thead th { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); background: rgba(255,255,255,.025); position: sticky; top: 0; font-weight: 600; } .dt tbody th { font-weight: 500; } .dt tr:last-child > * { border-bottom: 0; } .dt tr.sel { background: var(--accent-soft); } .dt tbody tr:hover { background: rgba(255,255,255,.03); }
.dt.compact td, .dt.compact th { padding: 7px 14px; }
.hist-card { margin-bottom: 18px; } .hist-head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; } .hist-head h2 { margin: 0; }
.hist { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; height: 120px; align-items: end; } .hcol { height: 100%; display: flex; align-items: flex-end; } .hstack { width: 100%; height: var(--h); display: flex; flex-direction: column-reverse; border-radius: 4px 4px 1px 1px; overflow: hidden; min-height: 2px; animation: grow .7s var(--ease) both; transform-origin: bottom; } .hstack i { display: block; flex: var(--f) 0 0; background: var(--dc); opacity: .9; }
@keyframes grow { from { transform: scaleY(0); } }
.tl-month h3 { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 18px 0 8px; font-weight: 600; }
.tl-month ul { border-left: 1px solid var(--line-2); margin-left: 6px; }
.tl-item { position: relative; display: grid; grid-template-columns: 62px auto auto 1fr; align-items: center; gap: 10px; padding: 8px 0 8px 22px; }
.tl-item::before { content: ""; position: absolute; left: -4px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; background: var(--dc); box-shadow: 0 0 8px var(--dc); }
.tl-item time { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; } .tl-item .nodelink i { display: none; } .tl-sum { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.spaces { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; padding-bottom: 8px; }
.space { position: relative; display: grid; gap: 8px; text-align: left; padding: 16px; border-radius: 16px; border: 1px solid color-mix(in srgb, var(--dc) 30%, var(--line-2)); background: linear-gradient(160deg, color-mix(in srgb, var(--dc) 11%, transparent), rgba(255,255,255,.012) 60%); transition: transform .25s var(--ease), border-color .25s, box-shadow .25s; align-content: start; }
.space:hover { transform: translateY(-3px); border-color: var(--dc); box-shadow: 0 10px 30px color-mix(in srgb, var(--dc) 18%, transparent); } .space.active { border-color: var(--dc); box-shadow: 0 0 0 1px var(--dc), 0 10px 30px color-mix(in srgb, var(--dc) 22%, transparent); }
.space-top { display: flex; justify-content: space-between; align-items: center; } .space-n { font-size: 26px; font-weight: 600; font-variant-numeric: tabular-nums; } .space-name { font-size: 16px; font-weight: 600; }
.space-bars { display: flex; gap: 3px; height: 34px; align-items: flex-end; margin: 4px 0; } .space-bars i { flex: 1; height: var(--h); background: var(--dc); opacity: .75; border-radius: 2px 2px 0 0; }
.space-meta { display: flex; flex-wrap: wrap; gap: 6px; font-size: 12px; color: #b7c1da; } .space-meta span { color: var(--faint); }
.space-links { display: flex; gap: 6px; flex-wrap: wrap; } .mini { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; color: #b7c1da; border: 1px solid var(--line); padding: 1px 8px; border-radius: 999px; } .mini i { width: 6px; height: 6px; border-radius: 50%; background: var(--dc); }
.space-go { display: inline-flex; gap: 6px; align-items: center; font-size: 12.5px; color: var(--dc); margin-top: 2px; width: fit-content; padding: 2px 0; }

/* ---------- Dream Cycle page ---------- */
.page-head h1 + p { margin-top: 4px; }
.cycle { padding: 18px 20px 22px; } .cycle-top { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; } .cycle-top h2 { margin-bottom: 2px; } .cycle-spark { display: grid; gap: 2px; width: 170px; } .cycle-spark .spark { height: 36px; }
.stages { display: grid; grid-template-columns: repeat(6, 1fr); position: relative; gap: 8px; }
.stages::before, .stages::after { content: ""; position: absolute; left: calc(100% / 12); right: calc(100% / 12); top: 15px; height: 2px; border-radius: 2px; }
.stages::before { background: var(--line-2); }
.stages::after { background: linear-gradient(90deg, #7b6bff, #35d8ff); right: auto; width: calc((100% - 100% / 6) * var(--pct, 100) / 100); transition: width 1s var(--ease); box-shadow: 0 0 12px rgba(120,110,255,.6); }
.dstage { position: relative; z-index: 1; display: grid; justify-items: center; text-align: center; gap: 4px; padding: 0 4px; }
.snode { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-size: 12.5px; font-weight: 600; background: #0e1424; border: 1.5px solid var(--line-3); color: var(--muted); transition: all .4s var(--ease); }
.dstage.done .snode { border-color: rgba(69,217,160,.7); color: #8fecc6; background: rgba(69,217,160,.12); }
.dstage.active .snode { border-color: #a58bff; color: #fff; background: #3b2d8f; box-shadow: 0 0 0 0 rgba(155,123,255,.6); animation: breathe 1.4s ease-in-out infinite; }
.dstage.await .snode { border-color: rgba(240,181,96,.8); color: #f0c27c; background: rgba(240,181,96,.12); }
.sname { font-weight: 600; font-size: 13.5px; margin-top: 4px; } .dstage.wait .sname { color: var(--muted); } .sdet { font-size: 12px; color: var(--muted); line-height: 1.35; max-width: 150px; }
.dstage.active .sdet { color: #cdb9ff; }
.tiles { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; } .tile { padding: 14px 16px; border: 1px solid var(--line-2); border-radius: 14px; background: var(--raise); display: grid; gap: 1px; } .tile b { font-size: 26px; font-weight: 600; font-variant-numeric: tabular-nums; } .tile span { font-size: 13px; } .tile small { font-size: 11.5px; color: var(--muted); }
.dream-cols { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 20px; align-items: start; }
.dcol { min-width: 0; } .dcol h2.sec:first-child { margin-top: 0; } .dcol .stack { margin-bottom: 22px; }
.dcard { display: grid; gap: 10px; transition: border-color .3s, opacity .3s, box-shadow .4s; } .dcard.flash { box-shadow: 0 0 0 2px var(--accent), 0 0 30px rgba(80,125,235,.35); }
.dcard.st-rejected, .dcard.st-deferred { opacity: .55; } .dcard.st-approved { border-color: rgba(69,217,160,.45); }
.dhead { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; } .dhead h4 { font-size: 14.5px; font-weight: 600; line-height: 1.4; flex: 1; min-width: 200px; } .pair { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; font-weight: 500; } .pair .ico { color: var(--muted); }
.dsum { color: #d3daef; } .conf { display: flex; align-items: center; gap: 10px; } .meter { width: 90px; height: 5px; border-radius: 5px; background: rgba(255,255,255,.08); overflow: hidden; } .meter b { display: block; height: 100%; width: var(--w); background: linear-gradient(90deg, #7b6bff, #a58bff); }
.dfoot { display: flex; justify-content: space-between; gap: 10px; align-items: center; flex-wrap: wrap; padding-top: 10px; border-top: 1px solid var(--line); }
.actions { display: flex; gap: 6px; flex-wrap: wrap; } .actions.done { align-items: center; } .actions.compact .btn { min-height: 30px; padding: 0 10px; font-size: 12.5px; }
.episodes { display: grid; gap: 6px; } .episodes li { display: grid; grid-template-columns: 84px 1fr 1fr; gap: 10px; align-items: start; padding: 8px 10px; border-radius: 9px; background: rgba(255,255,255,.025); font-size: 12.5px; }
.ed { color: var(--muted); } .del { color: #ffb0bf; text-decoration: line-through; text-decoration-color: rgba(255,122,147,.5); } .ins { color: #9cf0cf; }
.watch { display: flex; gap: 12px; align-items: flex-start; border-style: dashed; color: var(--muted); }
.emerging.wide { margin-bottom: 12px; }
.queue { position: sticky; top: 0; max-height: calc(100dvh - 130px); overflow-y: auto; padding: 16px; } .q-head { display: flex; justify-content: space-between; align-items: baseline; } .q-head h2 { margin: 0; } .count { font-size: 12px; color: #f0c27c; }
.queue > .muted { margin: 4px 0 12px; } .queue ul { display: grid; gap: 8px; }
.qi { padding: 10px 10px 10px; border: 1px solid var(--line); border-radius: 11px; display: grid; gap: 8px; background: var(--raise); transition: opacity .3s, border-color .3s; } .qi.st-approved { border-color: rgba(69,217,160,.4); } .qi.st-rejected, .qi.st-deferred { opacity: .6; }
.qt { display: grid; gap: 3px; text-decoration: none; color: var(--text); } .qtitle { font-size: 13px; line-height: 1.35; }
.kind { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--muted); } .k-connection { color: #6ee0ee; } .k-synthesis { color: #cdb9ff; } .k-rule { color: #f0c27c; } .k-cleanup { color: #9fb0d8; }

@media (max-width: 1279px) { .tiles { grid-template-columns: repeat(3, 1fr); } .dream-cols { grid-template-columns: minmax(0, 1fr) 320px; } .other-page { padding: 18px 20px 36px; } }
@media (max-width: 1000px) {
  .dream-cols { grid-template-columns: 1fr; } .queue { position: static; max-height: none; order: -1; }
  .two { grid-template-columns: 1fr; } .stages { grid-template-columns: 1fr; gap: 14px; } .stages::before, .stages::after { display: none; }
  .dstage { grid-template-columns: 32px 100px 1fr; justify-items: start; text-align: left; align-items: center; } .sdet { max-width: none; } .sname { margin: 0; }
  .tl-item { grid-template-columns: 56px 1fr auto; } .tl-sum { display: none; }
}
@media (max-width: 700px) {
  .other-page { padding: 14px 14px 28px; } .tiles { grid-template-columns: repeat(2, 1fr); } .episodes li { grid-template-columns: 1fr; gap: 2px; } .rows.two-col { grid-template-columns: 1fr; }
  .cover li { grid-template-columns: 100px 1fr 44px; gap: 8px; } .dstage { grid-template-columns: 32px 1fr; } .dstage .sdet { grid-column: 2; margin-top: -8px; } .cards3 { grid-template-columns: 1fr; }
  .dhead h4 { min-width: 0; } .cycle-spark { display: none; }
}

/* ---------- LIVE mode additions ---------- */
.sample-strip.live { background: rgba(53,224,164,.08); border-bottom-color: rgba(53,224,164,.3); color: #8fecc6; }
.demo-badge { font-size: 10px; letter-spacing: .12em; font-weight: 700; color: #f0c27c; border: 1px solid rgba(240,181,96,.5); background: rgba(240,181,96,.1); padding: 1px 8px; border-radius: 999px; }
.sample-strip .demo-badge { color: #f0c27c; }
.sidenav { justify-content: flex-start; } .sidenav .brain-status { margin-top: auto; }
.nav-foot { display: flex; gap: 8px; padding: 12px 8px 0; flex-wrap: wrap; } .nav-foot .btn { text-decoration: none; }
.covlist { display: grid; gap: 4px; margin: 2px 0 0; font-size: 11.5px; } .covlist li { display: flex; justify-content: space-between; gap: 8px; color: #b7c1da; }
.covlist .cl-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; } .cl-state { font-weight: 500; white-space: nowrap; color: #f0c27c; } .cl-state.indexed { color: var(--ok); } .cl-state.failed, .cl-state.revoked { color: var(--danger); }
.login { display: grid; place-items: center; padding: 24px 16px; overflow-y: auto; min-height: 0; }
.login-card { display: grid; gap: 12px; width: min(440px, 100%); padding: 24px; }
.login-card input { width: 100%; min-height: 44px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--line-3); background: var(--panel-2); color: var(--text); }
.login-brand { display: flex; gap: 12px; align-items: center; color: #9ec3ff; } .login-brand h1 { font-size: 22px; color: var(--text); } .login-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.form-error { color: #ffb0bf; font-size: 12.5px; margin: 4px 0; }
.banner.danger { border-color: rgba(255,122,147,.45); background: rgba(255,122,147,.08); color: #ffc7d1; }
.empty-state { display: grid; justify-items: start; gap: 10px; padding: 22px; } .empty-state h3 { font-size: 16px; }
.atlas-empty { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(420px, calc(100% - 32px)); z-index: 4; display: grid; justify-items: start; gap: 10px; padding: 20px; background: rgba(8,11,20,.92); }
.live-tag { color: #8fecc6; border-color: rgba(53,224,164,.45); background: rgba(53,224,164,.08); display: inline-flex; gap: 8px; align-items: center; }
.edgekey { display: grid; gap: 5px; margin: 4px 0 10px; font-size: 11.5px; color: var(--muted); }
.edgekey .ek { display: flex; align-items: center; gap: 8px; } .edgekey i { width: 22px; height: 0; border-top: 2px solid #b4e1ff; } .edgekey .confirmed i { border-color: #ffd578; } .edgekey .inferred i { border-top-style: dashed; border-color: #b8a8ff; } .edgekey .rejected i { border-top-style: dotted; border-color: #ff7a93; }
.stages.s3 { grid-template-columns: repeat(3, 1fr); } .stages.s3::before, .stages.s3::after { left: calc(100% / 6); right: calc(100% / 6); } .stages.s3::after { right: auto; width: calc((100% - 100% / 3) * var(--pct, 100) / 100); }
.runlist { display: grid; gap: 6px; margin-top: 14px; border-top: 1px solid var(--line); padding-top: 12px; } .runlist li { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; font-size: 12.5px; }
.sessionlist { display: grid; gap: 8px; padding: 14px; } .sessionlist li { display: flex; gap: 10px; align-items: center; justify-content: space-between; flex-wrap: wrap; font-size: 13px; }
.nodelink.plain { cursor: default; color: var(--text); }
.truth { margin: 12px 0; padding: 12px 14px; border: 1px solid var(--line-2); border-radius: 12px; background: var(--raise); } .truth .sec { margin-top: 0; }
.evgroup { margin: 10px 0 14px; display: grid; gap: 6px; } .evhead { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.ev { display: grid; gap: 6px; } .ev .chips { gap: 6px; } .ev cite { color: var(--muted); font-size: 12px; font-style: normal; }
.ev-context { padding: 10px 12px; border-left: 2px solid var(--line-3); background: rgba(255,255,255,.025); border-radius: 8px; display: grid; gap: 6px; font-size: 12.5px; } .ev-context p.here { color: var(--text); background: rgba(106,167,255,.12); border-radius: 6px; padding: 3px 6px; } .ev-context p { color: #b7c1da; }
.linkbtn { background: none; border: 0; color: var(--accent); padding: 4px 0; text-align: left; text-decoration: underline; font-size: 12.5px; } .linkbtn:disabled { opacity: .5; }
dl.plain { display: grid; gap: 10px; } dl.plain > div { display: grid; gap: 2px; } dl.plain dt { font-size: 11px; color: var(--muted); letter-spacing: .06em; text-transform: uppercase; } dl.plain dd { margin: 0; font-weight: 500; }
.tl-item.live { grid-template-columns: 190px minmax(0, auto) auto auto 1fr; } .tl-title { font-weight: 500; }
@media (max-width: 760px) { .tl-item.live { grid-template-columns: 1fr; gap: 2px; } .tl-item.live .tl-sum { display: block; white-space: normal; } }

/* ---------- Imports console ---------- */
.imp-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.imp-stat { padding: 14px 16px; border: 1px solid var(--line-2); border-radius: 14px; background: var(--raise); display: grid; gap: 2px; }
.imp-stat b { font-size: 26px; font-weight: 600; font-variant-numeric: tabular-nums; } .imp-stat span { font-size: 12.5px; color: var(--muted); }
.imp-stat.go { border-color: rgba(166,139,255,.55); background: rgba(166,139,255,.08); } .imp-stat.go b { color: #cdb9ff; }
.imp-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); gap: 14px; align-items: start; }
.imp-card { display: grid; gap: 12px; min-width: 0; }
.imp-card[data-state="running"] { border-color: rgba(166,139,255,.6); box-shadow: 0 0 0 1px rgba(166,139,255,.25); }
.imp-card[data-state="revoked"], .imp-card[data-state="off"] { opacity: .92; }
.imp-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; } .imp-head h2 { margin: 0 0 2px; } .imp-head code { font-family: var(--mono); overflow-wrap: anywhere; }
.imp-headline { font-size: 15px; font-weight: 600; line-height: 1.4; }
.imp-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.imp-step { display: grid; gap: 2px; align-content: start; padding: 8px; border-radius: 10px; border: 1px solid var(--line); background: rgba(255,255,255,.02); min-width: 0; }
.imp-step b { font-size: 12.5px; } .imp-step .small { overflow-wrap: anywhere; line-height: 1.3; }
.imp-dot { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 11.5px; font-weight: 700; border: 1.5px solid var(--line-3); color: var(--muted); }
.imp-step.done { border-color: rgba(69,217,160,.35); } .imp-step.done .imp-dot { border-color: rgba(69,217,160,.7); color: #8fecc6; background: rgba(69,217,160,.12); }
.imp-step.now { border-color: rgba(166,139,255,.6); } .imp-step.now .imp-dot { border-color: #a58bff; color: #fff; background: #3b2d8f; animation: breathe 1.4s ease-in-out infinite; }
.imp-step.bad { border-color: rgba(240,181,96,.45); } .imp-step.bad .imp-dot { border-color: rgba(240,181,96,.8); color: #f0c27c; }
.imp-progress { display: grid; gap: 6px; } .imp-bar { height: 10px; border-radius: 10px; } .imp-bar b { background: linear-gradient(90deg, #7b6bff, #35d8ff); }
.imp-bar.indet b { animation: impslide 1.4s ease-in-out infinite; width: 40%; } @keyframes impslide { 0% { transform: translateX(-100%); } 100% { transform: translateX(260%); } }
.row-sp { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.imp-counts { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; } .imp-counts dt { font-size: 11px; color: var(--muted); } .imp-counts dd { font-weight: 600; font-variant-numeric: tabular-nums; }
.imp-needs { padding: 10px 12px; border: 1px dashed rgba(240,181,96,.5); border-radius: 10px; background: rgba(240,181,96,.06); display: grid; gap: 4px; font-size: 13px; } .imp-needs code { font-family: var(--mono); font-size: 12.5px; color: #ffe6b8; overflow-wrap: anywhere; }
.imp-preview { padding: 10px 12px; border: 1px solid var(--line-2); border-radius: 10px; background: rgba(95,224,236,.05); font-size: 13px; }
.imp-report { margin: 0; } .imp-report.bad { border-color: rgba(255,122,147,.4); background: rgba(255,122,147,.06); }
.imp-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .imp-why { flex-basis: 100%; }
.imp-foot { padding-top: 4px; }
dialog.confirm { max-width: min(92vw, 440px); border: 1px solid var(--line-3); border-radius: 14px; background: var(--panel-2); color: var(--text); padding: 20px; }
dialog.confirm::backdrop { background: rgba(3,6,14,.7); } dialog.confirm h2 { font-size: 17px; margin-bottom: 8px; } dialog.confirm p { margin-bottom: 16px; line-height: 1.5; }
.confirm-actions { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; }
@media (max-width: 1000px) { .imp-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } .imp-counts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .imp-strip { grid-template-columns: 1fr; } .imp-stat { grid-template-columns: auto 1fr; align-items: baseline; gap: 10px; } .imp-actions .btn { flex: 1 1 auto; min-height: 44px; } .imp-list { grid-template-columns: minmax(0, 1fr); } }

/* ---------- groups ---------- */
.grp-how { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; counter-reset: grp; }
.grp-how li { counter-increment: grp; position: relative; padding: 12px 14px 12px 46px; border: 1px solid var(--line-2); border-radius: 12px; background: var(--raise); color: #cfd6ec; font-size: 13.5px; line-height: 1.45; }
.grp-how li::before { content: counter(grp); position: absolute; left: 14px; top: 12px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 700; color: #fff; background: #6a3f86; border: 1px solid #f7a8ff; }
.grp-how b { color: #fff; }
.grp-new { display: grid; gap: 12px; } .grp-new h2 { margin: 0; }
.grp-fields { display: grid; grid-template-columns: 1fr 1.3fr 1.6fr; gap: 12px; }
.grp-fields label { display: grid; gap: 6px; font-size: 13px; color: #cfd6ec; min-width: 0; }
.grp-new input, .grp-find, .grp-pick { width: 100%; min-height: 40px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--line-3); background: var(--panel-2); color: var(--text); min-width: 0; }
.grp-pick { min-height: 32px; width: auto; max-width: 100%; font-size: 13px; padding: 0 8px; }
.grp-list { display: grid; gap: 16px; }
.grp-card { display: grid; gap: 14px; border-top: 2px solid rgba(247,168,255,.55); }
.grp-card[aria-busy="true"] { opacity: .7; }
.grp-card section { display: grid; gap: 8px; } .grp-card h3.sec { margin: 0; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); font-weight: 600; display: flex; gap: 8px; align-items: center; }
.grp-head { display: flex; gap: 12px; align-items: flex-start; } .grp-head h2 { margin: 0 0 2px; font-size: 18px; } .grp-head .hexico { color: #f7a8ff; } .grp-head .chips { margin-top: 6px; }
.grow { flex: 1; min-width: 0; }
.grp-members { display: flex; flex-wrap: wrap; gap: 8px; }
.grp-members li { display: inline-flex; align-items: center; gap: 8px; padding: 4px 4px 4px 12px; border-radius: 999px; border: 1px solid rgba(247,168,255,.4); background: rgba(247,168,255,.07); }
.grp-members .btn.icon.sm { width: 26px; min-height: 26px; border-radius: 50%; }
.grp-rows { display: grid; gap: 2px; }
.grp-rows > li { display: grid; grid-template-columns: minmax(0, 1.2fr) auto auto minmax(0, 2fr) auto; gap: 10px; align-items: center; padding: 7px 0; border-bottom: 1px solid var(--line); }
.grp-rows > li:last-child { border-bottom: 0; }
.grp-rows:not(.sugg) > li { grid-template-columns: minmax(0, 1fr) auto auto; }
.grp-name { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.grp-why { line-height: 1.35; } .grp-acts { display: inline-flex; gap: 6px; justify-content: flex-end; }
.grp-results:empty { display: none; }
.grp-addto { display: inline-flex; gap: 8px; align-items: center; margin-left: 8px; flex-wrap: wrap; }
.ent footer { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .ent footer .grp-addto { margin-left: 0; }
@media (max-width: 900px) {
  .grp-how, .grp-fields { grid-template-columns: 1fr; }
  .grp-rows > li, .grp-rows:not(.sugg) > li { grid-template-columns: minmax(0, 1fr) auto; }
  .grp-rows .grp-why { grid-column: 1 / -1; } .grp-rows .grp-acts { grid-column: 1 / -1; justify-content: flex-start; }
}
.grp-found summary { cursor: pointer; color: var(--accent); font-size: 13px; padding: 4px 0; } .grp-found[open] summary { margin-bottom: 6px; }
.grp-filter { margin: 4px 0 8px; }
.grp-items > li { align-items: start; }
.grp-items > li > .grp-acts, .grp-items > li > .chip.kind { margin-top: 4px; }
.grp-item summary { cursor: pointer; display: grid; gap: 2px; padding: 4px 0; list-style: none; min-width: 0; }
.grp-item summary::-webkit-details-marker { display: none; }
.grp-item summary .grp-name { color: var(--text); } .grp-item summary .grp-name::before { content: "▸ "; color: var(--muted); }
.grp-item[open] summary .grp-name::before { content: "▾ "; }
.grp-item summary:hover .grp-name { text-decoration: underline; }
.grp-where { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.grp-detail { display: grid; gap: 10px; margin: 8px 0 6px 14px; padding: 12px 14px; border-left: 2px solid rgba(247,168,255,.45); background: rgba(255,255,255,.025); border-radius: 0 10px 10px 0; }
.grp-detail .btn { justify-self: start; }
.grp-facts { display: grid; gap: 4px; font-size: 12.5px; } .grp-facts div { display: grid; grid-template-columns: 96px 1fr; gap: 8px; } .grp-facts dt { color: var(--muted); } .grp-facts dd { overflow-wrap: anywhere; } .grp-facts code { font-family: var(--mono); font-size: 12px; }

/* ---------- Cards page ---------- */
.cd-bar { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.cd-bar .seg { flex-wrap: wrap; border-radius: 16px; }
.cd-bar .seg .cd-n { color: var(--muted); font-variant-numeric: tabular-nums; }
.cd-find { flex: 1 1 220px; min-width: 0; min-height: 38px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--line-3); background: var(--panel); color: var(--text); font: inherit; font-size: 14px; }
.cd-count { margin: -4px 0 0; }
.cd-list { display: grid; gap: 10px; }
.cd-card { padding: 0; overflow: hidden; }
.cd-card.open { border-color: var(--accent-line); }
.cd-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 14px; width: 100%; padding: 14px 16px; background: none; border: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.cd-head:hover { background: var(--raise); }
.cd-title { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; min-width: 0; } .cd-title b { font-size: 15px; color: #fff; overflow-wrap: anywhere; }
.cd-about { grid-column: 1; color: #cfd6ec; font-size: 14px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cd-card.open .cd-about { display: none; }
.cd-head .chips { grid-column: 1; }
.cd-chev { grid-column: 2; grid-row: 1 / span 3; align-self: center; color: var(--muted); transition: transform .18s var(--ease); } .cd-card.open .cd-chev { transform: rotate(90deg); }
.cd-body { display: grid; gap: 14px; padding: 4px 16px 18px; border-top: 1px solid var(--line); }
.cd-lead { font-size: 16px; line-height: 1.55; color: #fff; margin-top: 12px; max-width: 70ch; }
.cd-sec h3 { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin: 0 0 8px; padding-left: 10px; border-left: 3px solid var(--line-3); }
.cd-sec.decided h3 { border-color: var(--ok); color: #8fecc6; } .cd-sec.open h3 { border-color: var(--warn); color: #f0c27c; } .cd-sec.ideas h3 { border-color: var(--violet); color: #cdb9ff; }
.cd-sec ul { display: grid; gap: 2px; }
.cd-sec li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 7px 10px; border-radius: 8px; }
.cd-sec li:hover, .cd-sec li:focus-within { background: var(--raise); }
.cd-text { font-size: 15px; line-height: 1.6; color: var(--text); max-width: 72ch; }
.cd-cite { min-width: 22px; height: 20px; padding: 0 5px; margin-left: 2px; border-radius: 6px; border: 1px solid var(--accent-line); background: var(--accent-soft); color: #cfe0ff; font-size: 11.5px; font-variant-numeric: tabular-nums; cursor: pointer; vertical-align: 1px; }
.cd-cite:hover { background: rgba(80,125,235,.3); color: #fff; }
.cd-wrong { color: var(--muted); opacity: 0; } .cd-sec li:hover .cd-wrong, .cd-sec li:focus-within .cd-wrong, .cd-wrong:focus-visible { opacity: 1; } .cd-wrong:hover:not(:disabled) { color: var(--danger); }
@media (hover: none) { .cd-wrong { opacity: 1; } }
.cd-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; } .cd-actions .grow { flex: 1; } .cd-del:hover:not(:disabled) { color: var(--danger); border-color: rgba(255,122,147,.45); }
.cd-msg { color: #8fecc6; font-size: 13.5px; }
.cd-src > summary { cursor: pointer; color: var(--accent); font-size: 13.5px; padding: 4px 0; } .cd-sources { margin-top: 10px; }
.cd-sources .srcn { color: var(--accent); font-size: 12px; font-variant-numeric: tabular-nums; }
.cd-sources li.flash { animation: cd-flash 1.4s var(--ease); } @keyframes cd-flash { 0% { background: rgba(110,155,255,.28); } 100% { background: rgba(255,255,255,.025); } }
@media (prefers-reduced-motion: reduce) { .cd-sources li.flash { animation: none; outline: 2px solid var(--accent-line); } .cd-chev { transition: none; } }
.cd-more { display: flex; justify-content: center; } .cd-empty { display: grid; gap: 6px; }
@media (max-width: 720px) { .cd-sec li { grid-template-columns: 1fr; gap: 2px; } .cd-wrong { justify-self: start; } }
.cd-said { margin-top: 12px; padding: 10px 14px; border-left: 3px solid var(--ok); background: rgba(69,217,160,.07); border-radius: 0 10px 10px 0; font-size: 15px; line-height: 1.55; color: #e9fff6; max-width: 72ch; } .cd-said + .cd-lead { margin-top: 0; }
.cd-fix > summary { cursor: pointer; color: var(--accent); font-size: 13.5px; padding: 4px 0; } .cd-fix[open] { display: grid; gap: 10px; }
.cd-note-in { width: 100%; max-width: 72ch; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line-3); background: var(--panel); color: var(--text); font: inherit; font-size: 15px; line-height: 1.5; resize: vertical; }
