/* guides.css - the Guides module's own styles (app/guides.js). Everything
   else is the console's kit: system.css tokens, board.css (.lfd-*, .lfb-*),
   staff.html's .fchip, .btn, .search, label/input. No colour here that isn't
   a token, so light, dark and every skin work without a rule. */

.gd{display:grid;gap:16px}

/* ------------------------------------------------------------- the library */
.gd-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.gd-bar .search{flex:1 1 240px;min-width:0;margin:0}
.gd-cats{display:flex;flex-wrap:wrap;gap:6px}

.gd-group{display:grid;gap:10px}
.gd-group + .gd-group{margin-top:10px}
.gd-group-h{margin:0;font:600 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.gd-group-h span{color:var(--ink3);opacity:.7;margin-left:4px;font-variant-numeric:tabular-nums}

.gd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.gd-card{
  display:flex;flex-direction:column;gap:6px;align-items:stretch;text-align:left;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:14px 15px 13px;font:inherit;color:var(--ink);cursor:pointer;min-width:0;
  transition:border-color .15s ease, background-color .15s ease;
}
.gd-card:hover{border-color:var(--accent);background:var(--surface2)}
.gd-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.gd-card-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.gd-card-title{font-family:var(--display);font-weight:600;font-size:15.5px;line-height:1.3;text-wrap:balance;overflow-wrap:anywhere}
.gd-card-sum{font-size:13px;line-height:1.45;color:var(--ink2);overflow-wrap:anywhere;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gd-card-meta{margin-top:auto;padding-top:4px;font:11.5px/1.3 var(--mono);color:var(--ink3)}

.gd-type,.gd-level,.gd-pin{
  font:600 10.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;
  padding:4px 6px;border-radius:4px;white-space:nowrap;
}
.gd-type{color:var(--ink2);background:var(--surface2);border:1px solid var(--line)}
.gd-pin{color:var(--accent);background:var(--goldbg);border:1px solid transparent}
.gd-level{border:1px solid currentColor}
.gd-level-managers{color:var(--sky);background:var(--skybg)}
.gd-level-hr{color:var(--violet);background:var(--violetbg)}

.gd-empty{padding:26px 18px;border:1px dashed var(--line2);border-radius:var(--r);color:var(--ink2);font-size:14px;line-height:1.5;max-width:68ch}
.gd-empty b{color:var(--ink)}

/* ------------------------------------------------------------- reading */
.gd-read{display:grid;gap:10px;min-width:0}
.gd-title{margin:4px 0 0;font-family:var(--display);font-weight:600;font-size:clamp(22px,3vw,30px);line-height:1.15;text-wrap:balance;overflow-wrap:anywhere}
.gd-summary{margin:0;color:var(--ink2);font-size:15px;max-width:68ch}
.gd-meta{margin:0 0 8px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font:12px/1.4 var(--mono);color:var(--ink3)}
.gd-dot{opacity:.6}
.gd-danger{color:var(--clay)}

.gd-prose{max-width:72ch;font-size:15px;line-height:1.65;color:var(--ink);overflow-wrap:anywhere}
/* One spacing rule for every block, so no element rule can undo it. */
.gd-prose > *{margin:0}
.gd-prose > * + *{margin-top:.85em}
.gd-prose > * + :is(h2,h3,h4,hr){margin-top:1.5em}
.gd-prose h2,.gd-prose h3,.gd-prose h4{font-family:var(--display);font-weight:600;line-height:1.25;text-wrap:balance}
.gd-prose h2{font-size:20px} .gd-prose h3{font-size:17px} .gd-prose h4{font-size:15px}
.gd-prose ul,.gd-prose ol{padding-left:1.4em}
.gd-prose li + li{margin-top:.3em}
.gd-prose a{color:var(--accent);text-underline-offset:3px}
.gd-prose code{font-family:var(--mono);font-size:.88em;background:var(--surface2);border:1px solid var(--line);border-radius:4px;padding:.05em .35em}
.gd-prose blockquote{padding:10px 14px;border-left:3px solid var(--accent);background:var(--surface2);color:var(--ink2)}
.gd-prose hr{border:0;border-top:1px solid var(--line)}
.gd-pre{white-space:pre-wrap;font-family:var(--mono);font-size:13px;line-height:1.55;margin:0}

.gd-frame-wrap{min-width:0}
.gd-frame{display:block;width:100%;height:70vh;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.gd-img{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:var(--r)}

.gd-file{display:grid;gap:10px;justify-items:start;padding:18px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);max-width:560px}
.gd-file-name{display:grid;gap:2px;min-width:0}
.gd-file-name b{overflow-wrap:anywhere}
.gd-file-name span{font:12px/1.3 var(--mono);color:var(--ink3)}

/* ------------------------------------------------------------- adding and editing */
.gd-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;max-width:880px}
.gd-wide{grid-column:1 / -1}
.gd-field{display:grid;gap:6px;min-width:0}
.gd-field input[type=text],.gd-field input:not([type]),.gd-field select,.gd-field textarea{width:100%;margin:0}
.gd-field textarea{font-family:var(--mono);font-size:13.5px;line-height:1.55;resize:vertical;min-height:260px}
.gd-opt{font-weight:400;text-transform:none;letter-spacing:0;color:var(--ink3)}
.gd-check{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-weight:500;justify-self:start;cursor:pointer}
/* the console styles every input full width; a checkbox keeps its own size */
.gd-form .gd-check input[type=checkbox]{width:auto;height:auto;display:inline-block;flex:none;margin:0;min-height:0;padding:0}
.gd-write-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.gd-tabs{display:flex;gap:6px}
.gd-preview{border:1px solid var(--line);border-radius:var(--r);padding:16px;background:var(--surface);min-height:260px;max-width:none}
.gd-current{margin:0;font-size:13px;color:var(--ink2)}
.gd-hint{margin:0;font-size:12.5px;line-height:1.45;color:var(--ink3)}
.gd-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.gd-form .err{grid-column:1 / -1;margin:0}

@media (max-width:640px){
  .gd-form{grid-template-columns:minmax(0,1fr)}
  .gd-grid{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){ .gd-card{transition:none} }
