/* The IAM deck's shared parts: terminals, JSON, glyphs, screenshots,
   and one colour per kind of identity. Loads after /slides/slides.css and
   before the deck's own stylesheet. */

:root {
  --root: #d13212;
  --user: #0972d3;
  --group: #7d8998;
  --role: #8c4fff;
  --svc: #1d8102;
  --fed: #00838a;
  --acct: #232f3e;
  --any: #545b64;
  --deny: #d13212;
  --allow: #1d8102;
  --mono: ui-monospace, Menlo, Consolas, monospace;
}

.sv-fig { justify-content: flex-start; gap: 12px; }
.sv-fig svg text { font-family: inherit; }
.glyph { flex: none; display: block; }

/* Terminals and JSON. */
.term, .json {
  margin: 0; padding: 10px 14px; border-radius: 8px;
  font: 13px/1.5 var(--mono); overflow: auto; white-space: pre;
}
.term { background: #16191f; color: #e8eaed; }
.term .pr { color: #7aa116; user-select: none; }
.term .out { color: #aab3bd; }
.term .hl { display: inline-block; min-width: 100%; background: rgba(140, 79, 255, .28); border-radius: 3px; }
.term .hl .out { color: #fff; }
.term .hl.deny { background: rgba(209, 50, 18, .35); }
.json { background: #fff; border: 1px solid var(--sv-line); color: #16191f; }
.json .k { color: #0a5aa8; }
.json .hl { display: inline-block; min-width: 100%; border-radius: 3px; background: var(--c, #fdf0e3); box-shadow: inset 3px 0 0 var(--cc, #ec7211); }
.json .note { font: italic 12.5px system-ui, sans-serif; color: var(--cc, #ec7211); margin-left: 14px; }

/* Screenshots. */
.shot { margin: 0; display: flex; flex-direction: column; gap: 6px; min-height: 0; }
.shot img { display: block; max-width: 100%; height: auto; border: 1px solid #c6ccd2; border-radius: 6px; box-shadow: 0 2px 10px rgba(0, 0, 0, .1); background: #fff; }
.shot figcaption { font-size: 13px; color: var(--sv-ink2); }

/* An identity card: glyph, kind, name, ARN. */
.who { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--sv-line); border-left: 5px solid var(--c); border-radius: 8px; padding: 8px 10px; min-width: 0; }
.who .w-t { display: flex; flex-direction: column; min-width: 0; }
.who b { font-size: 14.5px; }
.who small { font-size: 12.5px; color: var(--sv-ink2); }
.who code { font: 12px var(--mono); color: #16191f; overflow-wrap: anywhere; }
.who.w-root { --c: var(--root); } .who.w-user { --c: var(--user); } .who.w-group { --c: var(--group); }
.who.w-role, .who.w-session { --c: var(--role); } .who.w-svc { --c: var(--svc); } .who.w-fed { --c: var(--fed); }
.who.w-acct { --c: var(--acct); } .who.w-any { --c: var(--any); }
.who.w-role { border-style: dashed; border-left-style: solid; }
.who.no { opacity: .75; }

.chip { display: inline-block; font: 600 12px var(--mono); padding: 1px 7px; border-radius: 10px; border: 1px solid currentColor; }
.allow { color: var(--allow); } .deny { color: var(--deny); }

@media (max-width: 860px) {
  .term, .json { font-size: 12px; }
  .json .note { display: block; margin: 0 0 2px 14px; white-space: normal; }
}
