:root {
  --bg: #050a15;
  --surface: #0d1422;
  --surface-2: #111b2d;
  --line: #24334d;
  --text: #f5f7fb;
  --muted: #9ba9bd;
  --gold: #e7bd56;
  --gold-soft: rgba(231, 189, 86, .12);
  --blue: #67a5ff;
  --green: #5fd4a4;
  --purple: #c98bff;
  --red: #ff8f7d;
  --radius: 18px;
  --font-display: "Cinzel", "Kanit", serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 50% -15%, #162441 0, transparent 36%),
    radial-gradient(circle at 100% 0%, rgba(201, 139, 255, .08) 0, transparent 40%),
    var(--bg);
  color: var(--text);
  font-family: "Sarabun", sans-serif;
  line-height: 1.6;
}

/* Topbar */
.tm-topbar { position: sticky; top: 0; z-index: 10; min-height: 64px; padding: .65rem clamp(1rem, 4vw, 3rem); display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: rgba(5, 10, 21, .9); border-bottom: 1px solid rgba(231, 189, 86, .18); backdrop-filter: blur(18px); }
.tm-brand { min-height: 44px; display: flex; align-items: center; gap: .7rem; color: var(--text); text-decoration: none; font-family: "Kanit", sans-serif; font-weight: 700; letter-spacing: .04em; white-space: nowrap; }
.tm-brand img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; border: 1px solid rgba(231, 189, 86, .5); box-shadow: 0 0 0 3px rgba(231, 189, 86, .12); }
.tm-brand b { color: var(--gold); }
.brand-rank { font: 700 .68rem var(--font-display); letter-spacing: .08em; color: var(--purple); padding: .2rem .55rem; border: 1px solid rgba(201, 139, 255, .4); border-radius: 999px; background: rgba(201, 139, 255, .1); }
.tm-topbar nav { display: flex; gap: .35rem; }
.tm-topbar nav a { min-height: 44px; padding: .65rem .85rem; display: flex; align-items: center; color: var(--muted); text-decoration: none; border-radius: 10px; }
.tm-topbar nav a:hover, .tm-topbar nav a:focus-visible { color: var(--text); background: rgba(255, 255, 255, .06); }

.tm-shell { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(2.5rem, 7vw, 5.5rem) 0 5rem; }

/* Hero */
.tm-hero { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .7fr); gap: 2rem; align-items: end; margin-bottom: 1.25rem; }
.eyebrow, .section-heading p, .copilot-head p { margin: 0 0 .5rem; color: var(--gold); font: 700 .76rem/1.2 var(--font-display); letter-spacing: .14em; }
.tm-hero h1 { max-width: 850px; margin: 0; font: 800 clamp(2.7rem, 7vw, 5.6rem)/.96 "Kanit", sans-serif; letter-spacing: -.045em; }
.hero-lead { max-width: 780px; margin: 1.35rem 0 0; color: #c4cede; font-size: clamp(1rem, 2vw, 1.15rem); }
.hero-actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 1.75rem; }
.primary-action { min-height: 48px; padding: .75rem 1.15rem; display: inline-flex; align-items: center; gap: .65rem; border-radius: 12px; background: linear-gradient(135deg, #f0cf75, #d6a937); color: #151006; text-decoration: none; font-weight: 800; box-shadow: 0 12px 35px rgba(231, 189, 86, .22), inset 0 0 0 1px rgba(255, 255, 255, .25); }
.foundation-status { color: var(--green); font-size: .92rem; }

/* Shared panel look ("guild charter" parchment card) */
.boundary-card, .quest-board, .copilot-banner, .system-section, .roadmap {
  position: relative;
  background: linear-gradient(145deg, rgba(17, 27, 45, .95), rgba(9, 16, 29, .95));
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.boundary-card::before, .quest-board::before, .copilot-banner::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px;
  background: linear-gradient(160deg, rgba(231, 189, 86, .35), transparent 35%, transparent 65%, rgba(103, 165, 255, .18));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none;
}
.boundary-card { padding: 1.35rem; }
.boundary-card > span { color: var(--gold); font: 700 .72rem var(--font-display); letter-spacing: .12em; }
.boundary-card strong { display: block; margin: .65rem 0; font: 700 1.05rem "Kanit", sans-serif; }
.boundary-card p { margin: 0; color: var(--muted); font-size: .92rem; }

/* HUD status strip */
.status-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; margin: 2.25rem 0; }
.status-strip article { position: relative; overflow: hidden; padding: 1rem 1.1rem 1.15rem; background: rgba(13, 20, 34, .84); border: 1px solid var(--line); border-radius: 14px; }
.status-strip article::after { content: ""; position: absolute; left: 1.1rem; right: 1.1rem; bottom: .6rem; height: 3px; border-radius: 999px; background: linear-gradient(90deg, var(--gold), transparent); opacity: .7; }
.status-strip span { display: block; color: var(--muted); font: 700 .7rem var(--font-display); letter-spacing: .1em; }
.status-strip strong { display: block; margin: .35rem 0 .1rem; font-family: "Kanit", sans-serif; }
.status-strip small { color: #718199; }

/* Quest hall layout */
.quest-hall { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 1rem; }
.quest-hall > .section-heading { padding: 0 .1rem; }
.hall-lead { margin: -.5rem .1rem 0; color: var(--muted); }
.section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.section-heading h2, .copilot-head h2 { margin: 0; font: 700 clamp(1.35rem, 3vw, 1.9rem) "Kanit", sans-serif; }
.section-heading > span { color: var(--muted); font-size: .84rem; }
.phase-chip { padding: .35rem .7rem; border: 1px solid rgba(231, 189, 86, .4); border-radius: 999px; color: var(--gold) !important; background: var(--gold-soft); font: 700 .72rem var(--font-display); }

.quest-board { padding: clamp(1.1rem, 3vw, 1.6rem); }
.quest-board h3 { display: flex; align-items: center; gap: .5rem; margin: 0; font: 700 1.1rem "Kanit", sans-serif; }
.quest-board h3 small { font: 500 .74rem "Sarabun", sans-serif; color: var(--muted); font-weight: 500; }
.board-note { margin: .4rem 0 0; color: var(--muted); font-size: .84rem; }

/* Haumea copilot banner */
.copilot-banner { padding: clamp(1.1rem, 3vw, 1.6rem); }
.copilot-head { display: flex; gap: 1rem; align-items: center; }
.copilot-avatar { width: 64px; height: 64px; flex: 0 0 auto; border-radius: 50%; object-fit: cover; border: 2px solid var(--gold); box-shadow: 0 0 0 4px rgba(231, 189, 86, .14), 0 8px 24px rgba(0, 0, 0, .35); }
.empty-state { margin: 1.1rem 0; padding: 1.2rem; border: 1px dashed #34445f; border-radius: 13px; background: rgba(5, 10, 21, .3); }
.empty-state p { margin: .45rem 0 0; color: var(--muted); }
.copilot-rule { padding-top: 1rem; border-top: 1px solid var(--line); }
.copilot-rule span, .copilot-rule strong { display: block; }
.copilot-rule span { color: var(--gold); font-size: .8rem; }
.copilot-rule strong { margin-top: .25rem; font-size: .9rem; }

/* Pills (priority / status badges) */
.pill { display: inline-flex; align-items: center; padding: .28rem .6rem; border-radius: 999px; font: 600 .74rem "Sarabun", sans-serif; white-space: nowrap; border: 1px solid transparent; }
.pill.tone-urgent { color: #ffb2a4; background: rgba(255, 143, 125, .14); border-color: rgba(255, 143, 125, .35); }
.pill.tone-high { color: var(--gold); background: var(--gold-soft); border-color: rgba(231, 189, 86, .4); }
.pill.tone-medium { color: var(--blue); background: rgba(103, 165, 255, .12); border-color: rgba(103, 165, 255, .35); }
.pill.tone-low { color: #9fe6ff; background: rgba(159, 230, 255, .1); border-color: rgba(159, 230, 255, .3); }
.pill.tone-active, .pill.tone-next { color: var(--green); background: rgba(95, 212, 164, .12); border-color: rgba(95, 212, 164, .35); }
.pill.tone-waiting { color: var(--purple); background: rgba(201, 139, 255, .12); border-color: rgba(201, 139, 255, .35); }
.pill.tone-done { color: var(--green); background: rgba(95, 212, 164, .08); border-color: rgba(95, 212, 164, .25); }
.pill.tone-cancelled { color: #8090a7; background: rgba(128, 144, 167, .1); border-color: rgba(128, 144, 167, .3); text-decoration: line-through; }
.pill.tone-inbox, .pill.tone-neutral { color: var(--muted); background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .1); }

/* Reusable tab / toggle bar (Goals·Dreams, Project status, Task status) */
.mini-tabs { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; overflow-x: auto; padding-bottom: .15rem; }
.mini-tab { flex: 0 0 auto; min-height: 44px; padding: .45rem .8rem; display: inline-flex; align-items: center; gap: .4rem; border-radius: 10px; border: 1px solid rgba(255, 255, 255, .09); background: rgba(255, 255, 255, .025); color: var(--muted); font: 700 .78rem "Sarabun", sans-serif; cursor: pointer; transition: background .18s, border-color .18s, color .18s; }
.mini-tab b { display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 .3rem; border-radius: 999px; background: rgba(255, 255, 255, .07); font: 700 .68rem "Sarabun", sans-serif; }
.mini-tab:hover, .mini-tab:focus-visible { color: var(--text); border-color: rgba(231, 189, 86, .35); background: rgba(231, 189, 86, .08); }
.mini-tab[aria-selected="true"] { color: #151006; background: linear-gradient(135deg, #f0cf75, #d6a937); border-color: rgba(231, 189, 86, .6); }
.mini-tab[aria-selected="true"] b { background: rgba(21, 16, 6, .18); color: inherit; }

.capture-zone { border-color: rgba(231, 189, 86, .34); background: linear-gradient(145deg, rgba(231, 189, 86, .07), rgba(13, 27, 46, .92) 44%); }
.capture-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.capture-heading > div > p:first-child { margin: 0 0 .3rem; color: var(--gold); font: 700 .68rem "Cinzel", serif; letter-spacing: .13em; }
.capture-heading .board-note { margin-bottom: 0; }
.capture-rule { flex: 0 0 auto; padding: .35rem .6rem; border: 1px solid rgba(231, 189, 86, .25); border-radius: 999px; color: var(--muted); font: 600 .67rem "Sarabun", sans-serif; }
.capture-tabs { margin-top: 1.2rem; }
.capture-panel { margin-top: .9rem; padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, .07); }
.capture-panel[hidden] { display: none; }
.capture-panel .task-form { max-width: 900px; }

.board-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: .65rem; margin: .75rem 0 1rem; padding: .75rem; border: 1px solid rgba(255, 255, 255, .07); border-radius: 12px; background: rgba(5, 12, 22, .42); }
.board-filters label { display: grid; gap: .28rem; min-width: 0; color: var(--muted); font: 600 .7rem "Sarabun", sans-serif; }
.board-filters select, .board-filters input { width: 100%; min-width: 0; min-height: 44px; padding: .45rem .58rem; border: 1px solid var(--line); border-radius: 9px; background: #0a1220; color: var(--text); font: 500 .8rem "Sarabun", sans-serif; }
.board-filters select:focus-visible, .board-filters input:focus-visible { outline: 2px solid rgba(231, 189, 86, .45); outline-offset: 1px; }
.board-filters .filter-search { grid-column: span 2; }
.ideas-filters { max-width: 620px; }

/* Page top-level tabs */
.page-tabs { display: flex; gap: .5rem; margin-bottom: 2rem; padding: .45rem; overflow-x: auto; border: 1px solid rgba(255, 255, 255, .09); border-radius: 16px; background: rgba(5, 10, 21, .5); }
.page-tabs > button { min-height: 44px; padding: .65rem 1.15rem; border: 1px solid transparent; background: transparent; color: var(--muted); font: 700 .95rem "Kanit", sans-serif; cursor: pointer; border-radius: 11px; transition: color .2s, background .2s, border-color .2s; white-space: nowrap; }
.page-tabs > button:hover, .page-tabs > button:focus-visible { color: var(--text); border-color: rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .055); outline: none; }
.page-tabs > button[aria-selected="true"] { color: #191204; border-color: rgba(255, 224, 137, .7); background: linear-gradient(135deg, #f3d77f, #d8a92f); box-shadow: 0 7px 20px rgba(231, 189, 86, .18); }

/* Study, content command center and idea vault */
.study-command, .content-command, .ideas-command { position: relative; overflow: hidden; padding: clamp(1.35rem, 4vw, 2.4rem); border: 1px solid var(--line); border-radius: calc(var(--radius) + 2px); background: linear-gradient(135deg, rgba(16, 31, 51, .98), rgba(9, 16, 29, .98)); }
.study-command { background: linear-gradient(135deg, rgba(20, 48, 47, .98), rgba(9, 16, 29, .98)); }
.ideas-command { background: linear-gradient(135deg, rgba(31, 24, 53, .98), rgba(10, 16, 30, .98)); }
.study-command-heading, .content-command-heading, .ideas-command-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.study-command-heading p, .content-command-heading p, .ideas-command-heading p, .analytics-heading p, .content-focus-card > div > p { margin: 0; color: var(--gold); font: 700 .74rem/1.25 var(--font-display); letter-spacing: .13em; }
.study-command-heading p { color: var(--green); }
.ideas-command-heading p { color: #d9b2ff; }
.study-command-heading h2, .content-command-heading h2, .ideas-command-heading h2 { margin: .35rem 0 .65rem; font: 700 clamp(1.9rem, 4vw, 3rem)/1.05 "Kanit", sans-serif; }
.study-command-heading > div > p:last-child, .content-command-heading > div > p:last-child, .ideas-command-heading > div > p:last-child { max-width: 720px; color: var(--muted); font: 400 1rem/1.6 "Sarabun", sans-serif; letter-spacing: 0; }
.study-summary { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.3rem 0 .2rem; }
.study-summary > span { padding: .48rem .68rem; color: #c9d8d7; border: 1px solid rgba(95, 212, 164, .22); border-radius: 10px; background: rgba(95, 212, 164, .07); font-size: .8rem; }
.study-summary b { margin-right: .35rem; color: var(--green); }
.study-tabs { margin-bottom: 1rem; }
.study-tabs .mini-tab[data-tone="active"] { color: #a9cbff; border-color: rgba(103, 165, 255, .34); background: rgba(103, 165, 255, .09); }
.study-tabs .mini-tab[data-tone="done"] { color: #8ce2bd; border-color: rgba(95, 212, 164, .3); background: rgba(95, 212, 164, .08); }
.study-tabs .mini-tab[data-tone="high"] { color: #f4cf70; border-color: rgba(231, 189, 86, .38); background: rgba(231, 189, 86, .1); }
.study-tabs .mini-tab[data-tone="waiting"] { color: #d7adff; border-color: rgba(201, 139, 255, .34); background: rgba(201, 139, 255, .09); }
.study-tabs .mini-tab[data-tone="neutral"] { color: #b6c1d0; border-color: rgba(182, 193, 208, .22); background: rgba(182, 193, 208, .06); }
.study-tabs .mini-tab[data-tone][aria-selected="true"] { color: #07101b; border-color: var(--study-tab-accent, #d8e3f2); background: var(--study-tab-accent, #d8e3f2); box-shadow: 0 7px 20px rgba(0, 0, 0, .2); }
.study-tabs .mini-tab[data-tone="active"] { --study-tab-accent: #78b0ff; }
.study-tabs .mini-tab[data-tone="done"] { --study-tab-accent: #70d8ad; }
.study-tabs .mini-tab[data-tone="high"] { --study-tab-accent: #e7bd56; }
.study-tabs .mini-tab[data-tone="waiting"] { --study-tab-accent: #c98bff; }
.study-tabs .mini-tab[data-tone="neutral"] { --study-tab-accent: #aeb9c8; }
.study-order-note { margin: -.25rem 0 .8rem; color: #8fa0b6; font-size: .74rem; }
.study-order-note > span { margin-right: .25rem; color: var(--green); font-size: 1rem; }
.study-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); gap: .9rem; }
.study-grid > p { margin: 0; padding: 1rem; color: var(--muted); border: 1px dashed rgba(95, 212, 164, .3); border-radius: 14px; }
.study-card { --study-accent: #aeb9c8; position: relative; min-width: 0; padding: 1rem; overflow: hidden; display: flex; flex-direction: column; gap: .72rem; border: 1px solid rgba(174, 185, 200, .24); border-radius: 15px; background: linear-gradient(145deg, rgba(174, 185, 200, .07), rgba(5, 10, 21, .68)); transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, opacity .16s ease; }
.study-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, var(--study-accent), transparent 82%); }
.study-card[data-status="active"] { --study-accent: #78b0ff; border-color: rgba(103, 165, 255, .34); background: linear-gradient(145deg, rgba(103, 165, 255, .12), rgba(5, 10, 21, .68)); }
.study-card[data-status="done"] { --study-accent: #70d8ad; border-color: rgba(95, 212, 164, .26); background: linear-gradient(145deg, rgba(95, 212, 164, .075), rgba(5, 10, 21, .7)); }
.study-card[data-status="high"] { --study-accent: #e7bd56; border-color: rgba(231, 189, 86, .4); background: linear-gradient(145deg, rgba(231, 189, 86, .13), rgba(5, 10, 21, .68)); }
.study-card[data-status="waiting"] { --study-accent: #c98bff; border-color: rgba(201, 139, 255, .34); background: linear-gradient(145deg, rgba(201, 139, 255, .11), rgba(5, 10, 21, .68)); }
.study-card[data-status="neutral"] { --study-accent: #aeb9c8; }
.study-card[data-status="cancelled"] { --study-accent: #ff8f7d; border-color: rgba(255, 143, 125, .24); opacity: .72; }
.study-card .pill.tone-active { color: #b6d3ff; background: rgba(103, 165, 255, .14); border-color: rgba(103, 165, 255, .42); }
.study-card .pill.tone-done { color: #8ce2bd; background: rgba(95, 212, 164, .11); border-color: rgba(95, 212, 164, .34); }
.study-card .pill.tone-high { color: #f4cf70; background: rgba(231, 189, 86, .14); border-color: rgba(231, 189, 86, .44); }
.study-card .pill.tone-waiting { color: #d7adff; background: rgba(201, 139, 255, .13); border-color: rgba(201, 139, 255, .4); }
.study-card .pill.tone-neutral { color: #c0cad7; background: rgba(174, 185, 200, .09); border-color: rgba(174, 185, 200, .24); }
.study-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: .7rem; }
.study-card header > div { min-width: 0; }
.study-card header > div > span { display: block; color: var(--study-accent); font: 700 .65rem var(--font-display); letter-spacing: .1em; }
.study-card h3 { margin: .25rem 0 0; font: 700 1.08rem/1.35 "Kanit", sans-serif; overflow-wrap: anywhere; }
.study-card-header-actions { flex: 0 0 auto; display: flex; align-items: center; gap: .35rem; }
.study-drag-handle { width: 44px; height: 44px; padding: 0; display: grid; place-items: center; color: var(--study-accent); border: 1px solid rgba(255, 255, 255, .1); border-radius: 10px; background: rgba(3, 8, 17, .4); font: 800 1.2rem/1 sans-serif; cursor: grab; touch-action: none; }
.study-drag-handle:active { cursor: grabbing; }
.study-drag-handle:hover, .study-drag-handle:focus-visible { border-color: var(--study-accent); outline: 2px solid rgba(255, 255, 255, .12); outline-offset: 2px; }
.study-card-meta { display: grid; gap: .18rem; color: var(--muted); font-size: .8rem; }
.study-card-meta p { margin: 0; }
.study-card-materials { color: #c5cfdb; }
.study-card-exam { min-height: 64px; padding: .65rem .75rem; display: grid; gap: .05rem; border: 1px solid rgba(255, 255, 255, .08); border-radius: 11px; background: rgba(3, 8, 17, .42); }
.study-card-exam > span { color: #718199; font: 700 .62rem var(--font-display); letter-spacing: .1em; }
.study-card-exam > time { font-weight: 700; }
.study-card-exam > small { color: var(--muted); }
.study-card-exam[data-tone="overdue"] { border-color: rgba(255, 143, 125, .3); }
.study-card-exam[data-tone="today"] { border-color: rgba(231, 189, 86, .35); }
.study-card-exam[data-tone="complete"] { min-height: 0; color: #8ce2bd; border-color: rgba(95, 212, 164, .22); background: rgba(95, 212, 164, .055); }
.study-card-exam[data-tone="complete"] > small { color: #8ce2bd; }
.study-card.is-dragging { opacity: .48; transform: scale(.985); }
.study-card.is-drop-before { box-shadow: inset 0 4px var(--study-accent); }
.study-card.is-drop-after { box-shadow: inset 0 -4px var(--study-accent); }
.study-card > a { min-height: 44px; margin-top: auto; display: inline-flex; align-items: center; justify-content: center; color: #07120f; border-radius: 10px; background: linear-gradient(135deg, #88e4bd, #4cb68d); text-decoration: none; font-weight: 800; }
.study-card > a:hover, .study-card > a:focus-visible { filter: brightness(1.08); }
.content-flow { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin: 2rem 0 1rem; }
.content-flow article { min-height: 118px; padding: 1rem; border: 1px solid rgba(103, 165, 255, .22); border-radius: 14px; background: rgba(5, 10, 21, .38); }
.content-flow span { display: block; margin-bottom: .45rem; color: var(--blue); font: 700 .7rem var(--font-display); letter-spacing: .08em; }.content-flow strong, .content-flow small { display: block; }.content-flow strong { font: 700 1.05rem "Kanit", sans-serif; }.content-flow small { margin-top: .22rem; color: var(--muted); }
.content-database-shell { margin-top: 1.25rem; padding: 1.25rem; border: 1px solid rgba(231, 189, 86, .24); border-radius: 18px; background: linear-gradient(135deg, rgba(5, 12, 24, .82), rgba(13, 23, 39, .8)); box-shadow: inset 0 1px rgba(255, 255, 255, .035); }.content-database-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }.content-database-heading p { margin: 0; color: var(--gold); font: 700 .72rem var(--font-display); letter-spacing: .12em; }.content-database-heading h3, .analytics-overview h3 { margin: .28rem 0; font: 700 1.55rem "Kanit", sans-serif; }.content-database-heading > div > span { color: var(--muted); font-size: .88rem; }.content-database-heading > strong { flex: 0 0 auto; padding: .35rem .55rem; color: var(--gold); border: 1px solid rgba(231, 189, 86, .35); border-radius: 999px; font: 700 .66rem var(--font-display); letter-spacing: .06em; }.content-summary { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.1rem 0 .15rem; }.content-summary > span { padding: .45rem .65rem; color: #c8d0df; border: 1px solid rgba(103, 165, 255, .18); border-radius: 9px; background: rgba(103, 165, 255, .06); font-size: .78rem; }.content-summary b { margin-right: .3rem; color: var(--blue); }.content-tabs { margin-bottom: .7rem; }.content-date-filters { display: flex; flex-wrap: wrap; align-items: end; gap: .55rem; margin: .75rem 0; }.content-date-filters label { display: grid; gap: .2rem; color: var(--muted); font-size: .72rem; }.content-date-filters input, .content-date-filters button { min-height: 34px; padding: .35rem .55rem; color: #dbe6f5; border: 1px solid rgba(103, 165, 255, .24); border-radius: 8px; background: rgba(3, 8, 17, .55); font: inherit; }.content-date-filters button { cursor: pointer; }.content-database { overflow: auto; border: 1px solid rgba(255, 255, 255, .09); border-radius: 13px; background: rgba(3, 8, 17, .55); }.content-database > p { margin: 0; padding: 1rem; color: var(--muted); }.content-db-head, .content-db-row { display: grid; grid-template-columns: minmax(245px, 2.25fr) minmax(125px, 1fr) minmax(105px, .75fr) minmax(108px, .8fr) minmax(75px, .45fr) minmax(85px, .55fr); min-width: 880px; column-gap: .8rem; align-items: center; }.content-db-head { padding: .65rem .9rem; color: #7c8da6; border-bottom: 1px solid rgba(255, 255, 255, .08); font: 700 .68rem var(--font-display); letter-spacing: .075em; }.content-db-row { padding: .8rem .9rem; border-bottom: 1px solid rgba(255, 255, 255, .055); transition: background .18s; }.content-db-row:last-child { border-bottom: 0; }.content-db-row:hover { background: rgba(103, 165, 255, .065); }.content-db-title { min-width: 0; }.content-db-title strong, .content-db-title small { display: block; overflow-wrap: anywhere; }.content-db-title strong { font: 600 .92rem/1.35 "Sarabun", sans-serif; }.content-db-title small { margin-top: .15rem; color: var(--muted); font-size: .73rem; }.content-db-cell { min-width: 0; color: #c4cfde; font-size: .79rem; overflow-wrap: anywhere; }.content-db-cell.muted { color: var(--muted); }.content-db-metric { color: var(--blue); font-weight: 700; }.content-notion-link { color: var(--blue); font-size: .75rem; text-decoration: none; white-space: nowrap; }.content-notion-link:hover { text-decoration: underline; }
.analytics-overview { margin-top: 2.35rem; }.analytics-heading { display: flex; justify-content: space-between; gap: 1rem; }.analytics-heading > span { align-self: flex-start; padding: .28rem .5rem; color: var(--blue); border: 1px solid rgba(103, 165, 255, .35); border-radius: 999px; font: 700 .62rem var(--font-display); letter-spacing: .07em; }.analytics-signals { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin-top: 1.15rem; }.analytics-signals > div { padding: .8rem; border-radius: 12px; background: rgba(103, 165, 255, .08); border: 1px solid rgba(103, 165, 255, .16); }.analytics-signals span, .analytics-signals strong, .analytics-signals small { display: block; }.analytics-signals span { color: var(--blue); font: 700 1.05rem "Kanit", sans-serif; }.analytics-signals strong { margin-top: .2rem; font: 700 .92rem "Kanit", sans-serif; }.analytics-signals small { margin-top: .15rem; color: var(--muted); font-size: .74rem; line-height: 1.45; }
.content-format-tabs { margin-top: .45rem; }.social-platform-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .65rem; margin-top: 1.1rem; }.social-platform-grid article { min-height: 128px; padding: .8rem; border: 1px solid rgba(103, 165, 255, .16); border-radius: 12px; background: rgba(103, 165, 255, .055); }.social-platform-grid strong, .social-platform-grid small { display: block; }.social-logo { display: block; width: 30px; height: 30px; margin-bottom: .45rem; object-fit: contain; border-radius: 8px; background: #070c16; }.social-logo-facebook { border-radius: 50%; background: transparent; }.social-platform-grid strong { margin-top: .2rem; font: 700 .88rem "Kanit", sans-serif; }.social-platform-grid small { margin-top: .3rem; color: var(--muted); font-size: .7rem; line-height: 1.4; }
.deals-workspace { margin-top: 2.25rem; padding-top: 1.65rem; border-top: 1px solid rgba(231, 189, 86, .24); }
.ideas-principles { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.5rem 0; }.ideas-principles span { padding: .5rem .72rem; color: #ddc6fa; border: 1px solid rgba(201, 139, 255, .22); border-radius: 999px; background: rgba(201, 139, 255, .08); font-size: .82rem; }.ideas-principles b { margin-right: .35rem; color: var(--purple); font: 700 .68rem var(--font-display); }.ideas-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: .85rem; }.ideas-grid > p { margin: 0; padding: 1rem; color: var(--muted); border: 1px dashed rgba(201, 139, 255, .35); border-radius: 14px; }.idea-card { display: flex; min-height: 168px; flex-direction: column; justify-content: space-between; gap: 1rem; padding: 1.1rem; border: 1px solid rgba(201, 139, 255, .2); border-radius: 15px; background: linear-gradient(145deg, rgba(201, 139, 255, .11), rgba(5, 10, 21, .5)); transition: transform .2s, border-color .2s, box-shadow .2s; }.idea-card:hover { transform: translateY(-3px); border-color: rgba(201, 139, 255, .55); box-shadow: 0 12px 28px rgba(0, 0, 0, .24); }.idea-card > span { display: flex; align-items: center; justify-content: space-between; color: var(--purple); font: 700 .7rem var(--font-display); letter-spacing: .08em; }.idea-card strong { overflow-wrap: anywhere; font: 700 1.1rem/1.35 "Kanit", sans-serif; }.idea-card small { color: var(--muted); }
.idea-creator-tabs { margin-bottom: 0; }
.idea-status-tabs { margin-top: .45rem; }
.idea-card > p { display: -webkit-box; margin: 0; overflow: hidden; color: #c8d1df; font-size: .84rem; line-height: 1.55; overflow-wrap: anywhere; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.idea-card-meta { display: flex; flex-wrap: wrap; gap: .35rem; }
.idea-card-actions { display: flex; align-items: stretch; gap: .45rem; margin-top: auto; }
.idea-card-actions > a, .idea-edit-button { min-height: 44px; padding: .5rem .7rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; font: 700 .76rem "Sarabun", sans-serif; text-decoration: none; }
.idea-card-actions > a { flex: 0 1 auto; color: #d7adff; border: 1px solid rgba(201, 139, 255, .3); }
.idea-edit-button { min-height: 44px; flex: 1 1 auto; color: #151006; border: 1px solid rgba(231, 189, 86, .55); background: linear-gradient(135deg, #f0cf75, #d6a937); cursor: pointer; }
.idea-card-actions > a:hover, .idea-card-actions > a:focus-visible, .idea-edit-button:hover, .idea-edit-button:focus-visible { outline: 2px solid rgba(231, 189, 86, .38); outline-offset: 2px; filter: brightness(1.06); }
.idea-edit-form .edit-field:has(textarea), .idea-edit-form .edit-check-group { grid-column: 1 / -1; }
.edit-check-group { min-width: 0; margin: 0; padding: .65rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .35rem .55rem; border: 1px solid var(--line); border-radius: 10px; }
.edit-check-group legend { padding: 0 .3rem; color: var(--muted); font-size: .78rem; }
.edit-check-group label { min-height: 44px; padding: .35rem .45rem; display: flex; align-items: center; gap: .5rem; border-radius: 8px; color: #d2dbe7; cursor: pointer; }
.edit-check-group label:hover { background: rgba(255, 255, 255, .045); }
.edit-check-group input { width: 18px; height: 18px; accent-color: var(--gold); }

/* Goals — gallery layout */
.goals-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.2rem; margin-top: 1rem; }
.goals-gallery > p { margin: 0; color: var(--muted); }
.goal-gallery-card { display: flex; flex-direction: column; background: rgba(5, 10, 21, .45); border: 1px solid rgba(255, 255, 255, .08); border-radius: 14px; overflow: hidden; cursor: pointer; transition: transform .2s, border-color .2s, box-shadow .2s; }
.goal-gallery-card:hover { transform: translateY(-3px); border-color: rgba(231, 189, 86, .4); box-shadow: 0 10px 24px rgba(0, 0, 0, .4); }
.goal-hero { height: 160px; background: rgba(255, 255, 255, 0.03); display: grid; place-items: center; font-size: 3rem; overflow: hidden; position: relative; }
.goal-hero img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.goal-gallery-card:hover .goal-hero img { transform: scale(1.05); }
.goal-content { padding: 1rem; flex: 1; display: flex; flex-direction: column; gap: 0.5rem; }
.goal-content > strong { font: 700 1.1rem "Kanit", sans-serif; line-height: 1.3; }
.quest-meta { display: flex; flex-wrap: wrap; gap: .4rem; }

/* Dialog modal */
.tm-modal { margin: auto; padding: 0; background: transparent; border: none; max-width: 90vw; width: 500px; border-radius: 16px; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.tm-modal::backdrop { background: rgba(0, 0, 0, 0.6); backdrop-filter: blur(4px); }
.tm-modal-content { background: #070c16; border: 1px solid var(--line); border-radius: 16px; padding: 1.5rem; position: relative; color: var(--text); }
.tm-modal-close { position: absolute; top: .55rem; right: .55rem; min-width: 44px; min-height: 44px; background: transparent; border: none; color: var(--muted); font-size: 1.5rem; cursor: pointer; line-height: 1; }
.tm-modal-close:hover { color: var(--text); }
.tm-modal-content > h2, .tm-modal-content > h3 { margin: 0 2rem .8rem 0; font: 700 1.15rem "Kanit", sans-serif; }
.entity-peek-content { max-height: min(82vh, 720px); overflow-y: auto; }
.entity-peek-eyebrow { margin: 0 2.5rem .25rem 0; color: var(--blue); font: 700 .72rem var(--font-display); letter-spacing: .12em; }

/* Shared inline edit form (Goals / Projects / Tasks cards) */
.details-section-heading { margin: 0; padding: .6rem .9rem 0; color: var(--gold); font: 700 .72rem var(--font-display); letter-spacing: .04em; }
.edit-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .55rem; padding: .6rem .9rem .9rem; }
.edit-field { display: grid; gap: .25rem; color: var(--muted); font-size: .78rem; }
.edit-field input, .edit-field select, .edit-field textarea { min-width: 0; width: 100%; min-height: 44px; padding: .4rem .55rem; border: 1px solid var(--line); border-radius: 8px; background: #0a1220; color: var(--text); font: 500 .85rem "Sarabun", sans-serif; }
.edit-field textarea { resize: vertical; line-height: 1.5; }
.deal-edit-form .edit-field:has(textarea) { grid-column: 1 / -1; }
.edit-form-actions { grid-column: 1 / -1; display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.edit-form-actions button[type="submit"] { min-height: 44px; padding: .5rem .9rem; border-radius: 8px; border: 1px solid rgba(231, 189, 86, .5); background: linear-gradient(135deg, #f0cf75, #d6a937); color: #151006; font-weight: 800; cursor: pointer; }
.edit-form-cancel { min-height: 44px; padding: .5rem .8rem; border-radius: 8px; border: 1px solid var(--line); background: rgba(255, 255, 255, .04); color: var(--muted); cursor: pointer; }
.edit-form-status { margin: 0; color: var(--muted); font-size: .76rem; }

/* Projects — quest card grid with click-to-expand task drilldown */
.quest-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .75rem; margin-top: 1rem; }
.quest-card-grid > p { margin: 0; color: var(--muted); }
.project-quest-card { border-radius: 14px; background: rgba(5, 10, 21, .45); border: 1px solid rgba(255, 255, 255, .08); overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.project-quest-card[open] { border-color: rgba(231, 189, 86, .4); box-shadow: 0 0 0 3px rgba(231, 189, 86, .12); }
.project-quest-card.is-highlighted { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(231, 189, 86, .25); }
.project-quest-summary { list-style: none; cursor: pointer; padding: .9rem; display: flex; flex-direction: column; gap: .5rem; }
.project-quest-summary::-webkit-details-marker { display: none; }
.project-quest-summary::after { content: "กดดู Task ที่ผูกไว้ ▾"; margin-top: .2rem; color: var(--blue); font: 600 .72rem "Sarabun", sans-serif; }
.project-quest-card[open] .project-quest-summary::after { content: "ซ่อน Task ▴"; }
.project-quest-summary > strong { font: 700 1rem "Kanit", sans-serif; overflow-wrap: anywhere; }
.project-quest-meta { display: flex; flex-wrap: wrap; gap: .35rem; }
.project-quest-tasks { padding: 0 .9rem .9rem; display: grid; gap: .5rem; border-top: 1px dashed rgba(255, 255, 255, .12); padding-top: .7rem; margin: 0 .9rem .9rem; }
.project-quest-tasks > p { margin: 0; color: #718199; font-size: .82rem; }

/* Deals & Sponsorships — full quest board */
.deal-quest-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 1rem; margin-top: 1rem; }
.deal-quest-grid > p { margin: 0; color: var(--muted); }
.deal-quest-card { --deal-accent: #718199; position: relative; min-width: 0; min-height: 0; padding: .85rem; overflow: hidden; border-radius: 14px; background: linear-gradient(150deg, rgba(14, 24, 41, .96), rgba(5, 10, 21, .9)); border: 1px solid rgba(255, 255, 255, .09); display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(180px, .7fr) minmax(220px, 1fr) auto; gap: .75rem; align-items: center; box-shadow: 0 8px 22px rgba(0, 0, 0, .12); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.deal-quest-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, var(--deal-accent), transparent 82%); }
.deal-quest-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--deal-accent) 44%, transparent); box-shadow: 0 16px 34px rgba(0, 0, 0, .22); }
.deal-quest-card[data-stage="inbox"] { --deal-accent: var(--blue); }
.deal-quest-card[data-stage="waiting"] { --deal-accent: var(--purple); }
.deal-quest-card[data-stage="active"] { --deal-accent: var(--gold); }
.deal-quest-card[data-stage="done"] { --deal-accent: var(--green); }
.deal-quest-card[data-stage="cancelled"] { --deal-accent: #718199; opacity: .84; }
.deal-quest-header { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.deal-quest-heading { min-width: 0; }
.deal-quest-eyebrow { display: block; margin-bottom: .28rem; color: var(--deal-accent); font: 700 .61rem/1.2 var(--font-display); letter-spacing: .11em; }
.deal-quest-heading h3 { margin: 0; font: 700 1.02rem/1.35 "Kanit", sans-serif; letter-spacing: -.01em; overflow-wrap: anywhere; }
.deal-quest-header > .pill { flex: 0 0 auto; max-width: 42%; white-space: normal; line-height: 1.3; text-align: center; overflow-wrap: anywhere; }
.deal-stage-control { flex: 0 1 auto; max-width: 48%; min-height: 44px; padding: .42rem .62rem .42rem .68rem; position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .45rem; border: 1px solid color-mix(in srgb, var(--deal-accent) 46%, transparent); border-radius: 14px; background: #0b1320; color: #dce8f7; font: 700 .68rem/1.3 "Sarabun", sans-serif; cursor: pointer; }
.deal-stage-control > .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.deal-stage-value { min-width: 0; overflow-wrap: anywhere; }
.deal-stage-chevron { color: var(--deal-accent); font-size: .9rem; line-height: 1; }
.deal-stage-select { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 44px; border: 0; opacity: 0; cursor: pointer; }
.deal-stage-control:hover { border-color: var(--deal-accent); }
.deal-stage-control:focus-within { outline: 2px solid var(--deal-accent); outline-offset: 2px; }
.deal-stage-control:has(.deal-stage-select:disabled) { cursor: wait; opacity: .66; }
.deal-write-status { min-height: 1.35rem; margin: .7rem 0 0; color: #91a2b9; font-size: .76rem; }
.deal-quest-timing { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .7rem; align-items: center; min-height: 68px; padding: .65rem .75rem; border: 1px solid rgba(255, 255, 255, .075); border-radius: 12px; background: rgba(3, 8, 17, .42); }
.deal-quest-timing-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: rgba(255, 255, 255, .055); }
.deal-quest-timing div { min-width: 0; display: grid; gap: .05rem; }
.deal-quest-timing div > span { color: #718199; font: 700 .61rem/1.2 var(--font-display); letter-spacing: .1em; }
.deal-quest-timing strong { color: var(--text); font: 700 .88rem/1.35 "Sarabun", sans-serif; overflow-wrap: anywhere; }
.deal-quest-timing small { color: var(--muted); font-size: .72rem; }
.deal-quest-timing[data-tone="overdue"], .deal-quest-timing[data-tone="missing"] { border-color: rgba(255, 143, 125, .26); background: rgba(255, 143, 125, .055); }
.deal-quest-timing[data-tone="overdue"] small, .deal-quest-timing[data-tone="missing"] small { color: #ffb2a4; }
.deal-quest-timing[data-tone="today"] { border-color: rgba(231, 189, 86, .3); background: rgba(231, 189, 86, .06); }
.deal-quest-timing[data-tone="soon"] { border-color: rgba(103, 165, 255, .26); background: rgba(103, 165, 255, .05); }
.deal-quest-action { margin-top: auto; padding-top: .75rem; border-top: 1px dashed rgba(255, 255, 255, .1); }
.deal-quest-action > span { display: block; margin-bottom: .3rem; color: #718199; font: 700 .61rem/1.2 var(--font-display); letter-spacing: .1em; }
.deal-quest-action > p { margin: 0; color: #b6c3d6; font-size: .82rem; line-height: 1.65; overflow-wrap: anywhere; }
.deal-edit-button { min-height: 44px; width: 100%; padding: .55rem .8rem; border: 1px solid color-mix(in srgb, var(--deal-accent) 42%, transparent); border-radius: 10px; background: rgba(255, 255, 255, .035); color: #dce8f7; font: 700 .8rem "Sarabun", sans-serif; cursor: pointer; }
.deal-edit-button:hover, .deal-edit-button:focus-visible { border-color: var(--deal-accent); background: color-mix(in srgb, var(--deal-accent) 10%, transparent); }
.deals-workspace #deals-tabs .mini-tab span { white-space: normal; overflow-wrap: anywhere; }
.deal-command-list { display: grid; gap: .65rem; margin-top: 1rem; }
.deal-command-list > p { margin: 0; color: var(--muted); }
.deal-command-primary { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: .65rem; }
.deal-command-primary .deal-quest-heading { min-width: 0; }
.deal-command-primary .deal-stage-control { min-width: 132px; max-width: 48%; }
.deal-command-primary .deal-stage-value { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.deal-command-meta { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .55rem; align-items: center; padding: .55rem .65rem; border: 1px solid rgba(255, 255, 255, .075); border-radius: 10px; background: rgba(3, 8, 17, .42); }
.deal-command-meta div { min-width: 0; display: grid; gap: .02rem; }
.deal-command-meta div > span, .deal-command-next > span { color: #8796ab; font: 700 .61rem/1.2 var(--font-display); letter-spacing: .1em; }
.deal-command-meta strong { color: var(--text); font: 700 .82rem/1.35 "Sarabun", sans-serif; overflow-wrap: anywhere; }
.deal-command-meta small { color: var(--muted); font-size: .71rem; }
.deal-command-meta[data-tone="overdue"], .deal-command-meta[data-tone="missing"] { border-color: rgba(255, 143, 125, .28); background: rgba(255, 143, 125, .055); }
.deal-command-meta[data-tone="overdue"] small, .deal-command-meta[data-tone="missing"] small { color: #ffb2a4; }
.deal-command-meta[data-tone="today"], .deal-command-meta[data-tone="soon"] { border-color: rgba(231, 189, 86, .3); background: rgba(231, 189, 86, .06); }
.deal-command-meta[data-tone="upcoming"] { border-color: rgba(103, 165, 255, .25); background: rgba(103, 165, 255, .05); }
.deal-command-next { min-width: 0; padding-left: .75rem; border-left: 1px dashed rgba(255, 255, 255, .12); }
.deal-command-next > p { margin: .22rem 0 0; color: #d0d8e4; font-size: .82rem; line-height: 1.5; overflow-wrap: anywhere; }
.deal-command-list .deal-edit-button { width: auto; min-width: 96px; white-space: nowrap; }

/* Countdown chips */
.pill.tone-overdue { color: #ffb2a4; background: rgba(255, 143, 125, .16); border-color: rgba(255, 143, 125, .4); }
.pill.tone-today { color: var(--gold); background: rgba(231, 189, 86, .18); border-color: rgba(231, 189, 86, .45); }
.pill.tone-soon { color: #f3d883; background: rgba(231, 189, 86, .14); border-color: rgba(231, 189, 86, .4); }
.pill.tone-upcoming { color: #b9d3ff; background: rgba(103, 165, 255, .1); border-color: rgba(103, 165, 255, .3); }
.pill.tone-missing { color: #aeb9c8; background: rgba(174, 185, 200, .07); border-color: rgba(174, 185, 200, .22); }

/* Haumea decision brief — insight list */
.brief-list { display: grid; gap: .6rem; margin-top: 1.1rem; }
.brief-list > p { margin: 0; color: var(--muted); }
.brief-row { display: flex; gap: .7rem; align-items: flex-start; padding: .75rem .85rem; border-radius: 12px; background: rgba(255, 255, 255, .03); border: 1px solid rgba(255, 255, 255, .08); }
.brief-row-icon { flex: 0 0 auto; font-size: 1.1rem; line-height: 1.4; }
.brief-row-body { min-width: 0; }
.brief-row-body > strong { display: block; font: 600 .9rem "Sarabun", sans-serif; margin-bottom: .2rem; overflow-wrap: anywhere; }
.brief-row-body > span { color: var(--muted); font-size: .82rem; overflow-wrap: anywhere; }
.brief-row[data-severity="urgent"] { border-color: rgba(255, 143, 125, .35); background: rgba(255, 143, 125, .06); }
.brief-row[data-severity="watch"] { border-color: rgba(231, 189, 86, .3); background: rgba(231, 189, 86, .05); }
.brief-ai { margin-top: .2rem; padding: .8rem .9rem; border-radius: 12px; border: 1px solid rgba(201, 139, 255, .35); background: rgba(201, 139, 255, .07); }
.brief-ai > strong { display: block; margin-bottom: .35rem; color: var(--purple); font: 700 .8rem var(--font-display); letter-spacing: .04em; }
.brief-ai > p { margin: .3rem 0 0; color: var(--text); font-size: .86rem; overflow-wrap: anywhere; }

/* Haumea AI brief trigger */
.copilot-actions { margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed rgba(255, 255, 255, .1); }
.haumea-brief-btn { min-height: 44px; padding: .6rem 1rem; border-radius: 10px; border: 1px solid rgba(201, 139, 255, .45); background: rgba(201, 139, 255, .12); color: var(--purple); font: 700 .88rem "Kanit", sans-serif; cursor: pointer; }
.haumea-brief-btn:hover:not(:disabled), .haumea-brief-btn:focus-visible:not(:disabled) { background: rgba(201, 139, 255, .22); }
.haumea-brief-btn:disabled { cursor: not-allowed; opacity: .5; }
.copilot-actions p { margin: .5rem 0 0; color: var(--muted); font-size: .78rem; }

/* Kanban boards (Projects / Tasks) */
.kanban-board { display: flex; gap: .75rem; margin-top: 1rem; overflow-x: auto; padding-bottom: .35rem; }
.kanban-board > p { margin: 0; color: var(--muted); }
.kanban-column { flex: 1 1 240px; min-width: 240px; background: rgba(5, 10, 21, .4); border: 1px solid rgba(255, 255, 255, .08); border-radius: 14px; padding: .75rem; display: flex; flex-direction: column; gap: .6rem; }
.kanban-column-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-bottom: .5rem; border-bottom: 1px dashed rgba(255, 255, 255, .12); }
.kanban-column-head span { font: 700 .82rem "Kanit", sans-serif; color: var(--text); }
.kanban-column-head small { flex: 0 0 auto; min-width: 22px; text-align: center; padding: .1rem .4rem; border-radius: 999px; background: var(--gold-soft); color: var(--gold); font-weight: 700; }
.kanban-cards { display: grid; gap: .55rem; }
.kanban-cards > p { margin: 0; color: #718199; font-size: .82rem; }
.kanban-card { border-radius: 11px; background: rgba(255, 255, 255, .03); border: 1px solid rgba(255, 255, 255, .07); transition: box-shadow .25s, border-color .25s; overflow: hidden; }
.kanban-card[open] { border-color: rgba(231, 189, 86, .35); }
.kanban-card-summary { list-style: none; cursor: pointer; padding: .7rem; }
.kanban-card-summary::-webkit-details-marker { display: none; }
.kanban-card-summary > strong { display: block; font: 600 .92rem "Sarabun", sans-serif; margin-bottom: .4rem; overflow-wrap: anywhere; }
.kanban-card-meta { display: flex; flex-wrap: wrap; gap: .35rem; }
.kanban-card-links { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .5rem; }
.project-link-chip { min-height: 32px; padding: .3rem .6rem; border-radius: 9px; border: 1px solid rgba(103, 165, 255, .35); background: rgba(103, 165, 255, .1); color: var(--blue); font: 600 .74rem "Sarabun", sans-serif; cursor: pointer; }
.project-link-chip:hover, .project-link-chip:focus-visible { background: rgba(103, 165, 255, .2); }
.kanban-card.is-highlighted { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(231, 189, 86, .25); }
.task-executor-tabs { margin: .7rem 0 .4rem; }
.task-order-note { margin: 0 0 .7rem; color: #8fa0b6; font-size: .8rem; }
.task-order-note > span { margin-right: .25rem; color: var(--blue); font-size: 1rem; }
.task-quest-card { padding: .7rem; display: grid; gap: .55rem; overflow: visible; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, opacity .16s ease; }
.task-card-header { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: .55rem; }
.task-card-header > strong { min-width: 0; padding-top: .2rem; font: 700 .92rem/1.4 "Sarabun", sans-serif; overflow-wrap: anywhere; }
.task-drag-handle { flex: 0 0 44px; width: 44px; height: 44px; padding: 0; display: grid; place-items: center; color: var(--blue); border: 1px solid rgba(103, 165, 255, .28); border-radius: 10px; background: rgba(3, 8, 17, .55); font: 800 1.18rem/1 sans-serif; cursor: grab; touch-action: none; }
.task-drag-handle:active { cursor: grabbing; }
.task-drag-handle:hover, .task-drag-handle:focus-visible { border-color: var(--blue); outline: 2px solid rgba(103, 165, 255, .2); outline-offset: 2px; }
.task-quest-card .kanban-card-links { margin: 0; }
.entity-edit-launch { min-height: 44px; width: 100%; padding: .55rem .7rem; color: #b9d3ff; border: 1px solid rgba(103, 165, 255, .3); border-radius: 9px; background: rgba(103, 165, 255, .09); font: 700 .76rem "Sarabun", sans-serif; text-align: left; cursor: pointer; }
.entity-edit-launch:hover, .entity-edit-launch:focus-visible { color: #e8f1ff; border-color: rgba(103, 165, 255, .65); background: rgba(103, 165, 255, .16); }
.project-edit-launch { width: calc(100% - 1.8rem); margin: 0 .9rem .9rem; }
.task-quest-card.is-dragging { opacity: .48; transform: scale(.985); }
.task-quest-card.is-drop-before { box-shadow: inset 0 2px var(--blue); }
.task-quest-card.is-drop-after { box-shadow: inset 0 -2px var(--blue); }
.task-compact-list { display: grid; gap: .55rem; margin-top: .75rem; }
.task-compact-list > p { margin: 0; padding: .8rem; color: var(--muted); border: 1px dashed rgba(103, 165, 255, .24); border-radius: 11px; }
.task-status-tabs { margin-top: .35rem; }
.task-compact-list .task-quest-card { grid-template-columns: minmax(0, 1.25fr) minmax(230px, 1fr) auto; align-items: center; gap: .55rem .75rem; padding: .65rem .7rem; border-left-width: 3px; }
.task-compact-list .task-card-header { grid-column: 1; align-items: center; }
.task-compact-list .kanban-card-meta { grid-column: 2; align-items: center; }
.task-compact-list .kanban-card-links { grid-column: 1 / 3; }
.task-compact-list .entity-edit-launch { grid-column: 3; grid-row: 1 / 3; width: auto; min-width: 150px; text-align: center; }
.task-quest-card[data-tone="overdue"] { border-left-color: #ff685d; background: rgba(255, 86, 74, .07); }
.task-quest-card[data-tone="today"] { border-left-color: var(--gold); background: rgba(231, 189, 86, .07); }
.task-quest-card[data-tone="soon"] { border-left-color: var(--gold); background: rgba(231, 189, 86, .055); }
.task-quest-card[data-tone="upcoming"] { border-left-color: var(--blue); background: rgba(103, 165, 255, .035); }
.task-quest-card[data-tone="done"] { border-left-color: var(--green); background: rgba(95, 212, 164, .055); }
.task-quest-card[data-tone="missing"] { border-left-color: #718199; background: rgba(113, 129, 153, .035); }

/* Events + calendar */
.events-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr); gap: 1rem; margin-top: 1rem; }
.events-layout > * { min-width: 0; max-width: 100%; }
.events-list, .calendar-panel { min-width: 0; max-width: 100%; }
.events-list { display: grid; gap: .5rem; align-content: start; }
.events-list > p { margin: 0; color: var(--muted); }
.event-legend { display: flex; flex-wrap: wrap; gap: .4rem; margin: .65rem 0 .2rem; }
.event-legend span { padding: .25rem .5rem; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; font-size: .7rem; }
.event-legend [data-tone="overdue"] { color: #ffb0a6; background: rgba(255, 86, 74, .12); border-color: rgba(255, 86, 74, .35); }
.event-legend [data-tone="soon"] { color: #f3d883; background: rgba(231, 189, 86, .12); border-color: rgba(231, 189, 86, .35); }
.event-legend [data-tone="done"] { color: #9ae9c7; background: rgba(95, 212, 164, .1); border-color: rgba(95, 212, 164, .3); }
.event-legend [data-tone="upcoming"] { color: #b9d3ff; background: rgba(103, 165, 255, .1); border-color: rgba(103, 165, 255, .3); }
.event-row { width: 100%; display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; align-items: center; gap: .45rem .55rem; padding: .6rem .7rem; color: var(--text); border-radius: 10px; background: rgba(255, 255, 255, .03); border: 1px solid rgba(255, 255, 255, .07); border-left-width: 3px; text-align: left; font: inherit; cursor: pointer; }
.event-row:hover, .event-row:focus-visible { background: rgba(255,255,255,.065); outline: 2px solid rgba(103,165,255,.24); outline-offset: 2px; }
.event-row[data-tone="overdue"] { border-left-color: #ff685d; background: rgba(255, 86, 74, .07); }
.event-row[data-tone="soon"], .event-row[data-tone="today"] { border-left-color: var(--gold); background: rgba(231, 189, 86, .07); }
.event-row[data-tone="done"] { border-left-color: var(--green); background: rgba(95, 212, 164, .055); }
.event-row[data-tone="upcoming"] { border-left-color: var(--blue); }
.event-row time { color: var(--gold); font: 700 .74rem "Sarabun", sans-serif; white-space: nowrap; }
.event-row strong { min-width: 0; font: 600 .84rem "Sarabun", sans-serif; overflow-wrap: anywhere; }
.pill.tone-source { color: #c5cfdb; background: rgba(174,185,200,.08); border-color: rgba(174,185,200,.2); }
.calendar-panel { background: rgba(5, 10, 21, .4); border: 1px solid rgba(255, 255, 255, .08); border-radius: 14px; padding: .75rem; }
.calendar-nav { display: flex; align-items: center; justify-content: space-between; margin-bottom: .6rem; }
.calendar-nav button { min-height: 36px; min-width: 36px; border-radius: 9px; border: 1px solid var(--line); background: rgba(255, 255, 255, .04); color: var(--text); font-size: 1.1rem; cursor: pointer; }
.calendar-nav button:hover, .calendar-nav button:focus-visible { background: rgba(231, 189, 86, .14); border-color: rgba(231, 189, 86, .4); }
.calendar-nav strong { font: 700 .88rem "Kanit", sans-serif; }
.calendar-wrap { overflow-x: auto; }
.quest-calendar { width: 100%; border-collapse: collapse; table-layout: fixed; }
.quest-calendar th { padding: .3rem 0; font: 700 .68rem var(--font-display); color: var(--muted); letter-spacing: .06em; }
.quest-calendar td { vertical-align: top; height: 60px; padding: .3rem; border: 1px solid rgba(255, 255, 255, .05); border-radius: 8px; }
.calendar-day-number { display: block; font: 600 .78rem "Sarabun", sans-serif; color: var(--muted); }
.quest-calendar td.is-today { background: var(--gold-soft); border-color: rgba(231, 189, 86, .4); }
.quest-calendar td.is-today .calendar-day-number { color: var(--gold); font-weight: 800; }
.quest-calendar td.has-events { background: rgba(103, 165, 255, .08); }
.calendar-event-chip, .calendar-event-more { display: block; width: 100%; margin-top: .18rem; padding: .12rem .2rem; border: 0; border-radius: 4px; background: transparent; text-align: left; font-size: .62rem; color: var(--blue); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendar-event-chip { cursor: pointer; }
.calendar-event-chip[data-tone="overdue"] { color: #ff9b92; background: rgba(255,86,74,.08); }
.calendar-event-chip[data-tone="done"] { color: #8ce2bd; background: rgba(95,212,164,.07); }
.calendar-event-chip[data-tone="soon"], .calendar-event-chip[data-tone="today"] { color: #f0cf75; background: rgba(231,189,86,.08); }
.calendar-event-more { color: var(--muted); }

/* Quick capture */
.task-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 0; }
.task-form h3, .task-form > p { grid-column: 1 / -1; margin: 0; }
.task-form label { display: grid; gap: .3rem; color: var(--muted); font-size: .78rem; }
.task-form input, .task-form select, .task-form button { min-width: 0; width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 10px; background: #0a1220; color: var(--text); font: 500 .9rem "Sarabun", sans-serif; }
.task-form input, .task-form select { padding: .55rem .65rem; }
.task-form button { grid-column: 1 / -1; border-color: rgba(231, 189, 86, .55); background: linear-gradient(135deg, #f0cf75, #d6a937); color: #151006; font-weight: 800; cursor: pointer; }
.task-form button:disabled { cursor: wait; opacity: .65; }
.task-form > p { color: var(--muted); font-size: .78rem; }

/* System map + roadmap */
.system-section, .roadmap { padding: clamp(1.25rem, 3vw, 2rem); margin-top: 1rem; }
.system-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 1.35rem; }
.system-card { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .9rem; align-items: start; padding: 1.1rem; background: rgba(5, 10, 21, .46); border: 1px solid rgba(255, 255, 255, .08); border-radius: 14px; }
.system-card.primary { border-color: rgba(231, 189, 86, .45); background: var(--gold-soft); }
.system-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; background: #17243a; }
.system-card h3 { margin: 0; font: 600 1rem "Kanit", sans-serif; }
.system-card p { margin: .25rem 0 0; color: var(--muted); font-size: .88rem; }
.system-card > strong { color: #8090a7; font-size: .74rem; white-space: nowrap; }
.system-card.primary > strong { color: var(--gold); }
.system-card a { display: inline-flex; min-height: 44px; align-items: center; margin-top: .35rem; color: var(--blue); text-decoration: none; font-weight: 700; }
.roadmap-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin-top: 1.25rem; }
.roadmap-grid article { padding: 1.2rem; border-left: 2px solid #34445f; background: rgba(5, 10, 21, .4); border-radius: 0 12px 12px 0; }
.roadmap-grid article.active { border-left-color: var(--gold); }
.roadmap-grid span { color: var(--gold); font: 700 .8rem var(--font-display); }
.roadmap-grid h3 { margin: .35rem 0 .2rem; font-family: "Kanit", sans-serif; }
.roadmap-grid p { margin: 0; color: var(--muted); font-size: .9rem; }

footer { min-height: 100px; padding: 1.5rem max(1rem, calc((100vw - 1180px) / 2)); display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-top: 1px solid var(--line); color: var(--muted); }
footer a { min-height: 44px; display: flex; align-items: center; color: var(--gold); text-decoration: none; }

.access-trigger{display:block;width:100%;min-height:44px;margin:.45rem 0 0;padding:.55rem 0;border:0;background:transparent;color:var(--text);font:700 1rem/1.45 "Kanit",sans-serif;text-align:left;cursor:pointer;}
.access-trigger:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.system-card [data-connector] { transition: color .18s, border-color .18s; }
.system-card [data-status="connected"] { color: var(--green); border-color: rgba(95, 212, 164, .32); }
.system-card [data-status="error"] { color: #ff9b92; border-color: rgba(255, 155, 146, .32); }
.snapshot-summary { display: grid; gap: .45rem; margin-top: .45rem; }
.snapshot-summary > p { margin: 0; color: var(--muted); font-size: .82rem; }
.snapshot-summary article { padding: .55rem; border-radius: 9px; background: rgba(255, 255, 255, .035); overflow-wrap: anywhere; }
.snapshot-summary article strong, .snapshot-summary article small { display: block; }
.snapshot-summary article small { color: var(--muted); font-size: .72rem; }

@media (max-width: 900px) {
  .events-layout { grid-template-columns: 1fr; }
  .deal-quest-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .deal-quest-card { grid-template-columns: minmax(0, 1fr) minmax(190px, .65fr) auto; }
  .deal-command-next { grid-column: 1 / 3; padding: .55rem 0 0; border-left: 0; border-top: 1px dashed rgba(255, 255, 255, .12); }
  .deal-command-list .deal-edit-button { grid-column: 3; grid-row: 1 / 3; }
}
@media (max-width: 700px) {
  .task-form { grid-template-columns: 1fr; }
  .task-form h3, .task-form > p, .task-form button { grid-column: 1; }
  .capture-heading { display: grid; }
  .capture-rule { width: fit-content; }
  .board-filters { grid-template-columns: 1fr; }
  .board-filters .filter-search { grid-column: 1; }
  .event-row { grid-template-columns: auto minmax(0, 1fr); }
  .event-row strong { grid-column: 1 / -1; }
  .tm-modal { width: calc(100vw - 1rem); max-width: none; }
  .tm-modal-content { padding: 1rem; }
  .edit-form { grid-template-columns: 1fr; padding-inline: 0; }
  .task-compact-list .task-quest-card { grid-template-columns: minmax(0, 1fr) auto; }
  .task-compact-list .task-card-header, .task-compact-list .kanban-card-meta, .task-compact-list .kanban-card-links { grid-column: 1; }
  .task-compact-list .entity-edit-launch { grid-column: 2; grid-row: 1 / 4; min-width: 132px; }
}
@media (max-width: 820px) {
  .tm-topbar { align-items: flex-start; }
  .tm-topbar nav { max-width: 60vw; overflow-x: auto; }
  .tm-topbar nav a { white-space: nowrap; }
  .tm-hero { grid-template-columns: 1fr; }
  .status-strip, .roadmap-grid { grid-template-columns: repeat(2, 1fr); }
  .system-grid { grid-template-columns: 1fr; }
  .brand-rank { display: none; }
  .content-command-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .tm-shell { width: min(100% - 1rem, 1180px); padding-top: 2rem; }
  .tm-brand span { font-size: .82rem; }
  .tm-topbar { padding: .55rem .75rem; }
  .tm-topbar nav { max-width: 58vw; }
  .tm-topbar nav a { padding: .6rem; }
  .tm-hero h1 { font-size: clamp(2.45rem, 14vw, 3.45rem); }
  .status-strip, .roadmap-grid { grid-template-columns: 1fr; }
  .deal-quest-grid { grid-template-columns: 1fr; }
  .deal-quest-card { min-height: 0; }
  .deal-quest-header { flex-wrap: wrap; }
  .deal-quest-header > .pill { max-width: 100%; }
  .deal-stage-control { max-width: 100%; }
  .deal-stage-select { min-height: 44px; }
  .deal-quest-card { grid-template-columns: 1fr; }
  .deal-command-primary, .deal-command-meta, .deal-command-next, .deal-command-list .deal-edit-button { grid-column: 1; grid-row: auto; }
  .deal-command-next { padding: .55rem 0 0; }
  .deal-command-list .deal-edit-button { width: 100%; }
  .task-compact-list .task-quest-card { grid-template-columns: 1fr; }
  .task-compact-list .task-card-header, .task-compact-list .kanban-card-meta, .task-compact-list .kanban-card-links, .task-compact-list .entity-edit-launch { grid-column: 1; grid-row: auto; }
  .task-compact-list .entity-edit-launch { width: 100%; }
  .idea-card-actions { flex-direction: column; }
  .edit-check-group { grid-template-columns: 1fr; }
  .system-card { grid-template-columns: auto minmax(0, 1fr); }
  .system-card > strong { grid-column: 2; }
  .section-heading { align-items: flex-start; }
  .section-heading > span:not(.phase-chip) { display: none; }
  .quest-banner { flex-wrap: wrap; }
  .study-command, .content-command, .ideas-command { padding: 1.15rem; }
  .study-command-heading { flex-direction: column; }
  .content-flow, .analytics-signals { grid-template-columns: 1fr; }
  .social-platform-grid { grid-template-columns: repeat(2, 1fr); }
  .analytics-heading { flex-direction: column; }
  .content-database-shell { padding: 1rem; }
  .content-database-heading { flex-direction: column; }
  footer { align-items: flex-start; flex-direction: column; }
}
