/* RISC-V podsetnik za štampu i PDF (cheatsheet.html): uvek svetao, A4 položeno, tri kolone. */
:root {
  --logo-rv1: #7c3aed; --logo-rv2: #6d28d9; --logo-b1: #2563eb; --logo-b2: #06b6d4;
  --ink: #111827; --muted: #6b7280; --line: #e5e7eb; --paper: #ffffff;
  --mono: ui-monospace, "Cascadia Mono", "Cascadia Code", Consolas, "DejaVu Sans Mono", monospace;
  color-scheme: light;
}
* { box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
html, body { margin: 0; background: #e9ebef; color: var(--ink); font: 8pt/1.3 system-ui, "Segoe UI", Roboto, Arial, sans-serif; }

.sheet-bar { display: flex; gap: 12px; align-items: center; justify-content: center; flex-wrap: wrap; padding: 12px 16px; font-size: 13px; color: var(--muted); }
.sheet-bar button { font: 600 14px system-ui, sans-serif; padding: 8px 16px; border-radius: 8px; border: 1px solid #7c3aed; background: #7c3aed; color: #fff; cursor: pointer; }
.sheet { width: min(297mm, 100% - 32px); margin: 0 auto 24px; padding: 8mm; background: var(--paper); box-shadow: 0 2px 14px rgba(0, 0, 0, .12); border-radius: 4px; }

.sheet-head { display: flex; align-items: center; gap: 4mm; padding-bottom: 2.5mm; margin-bottom: 3mm; border-bottom: 1.2pt solid #7c3aed; }
.sheet-logo svg { height: 8.5mm; width: auto; display: block; }
.sheet-head h1 { margin: 0; font-size: 15pt; letter-spacing: -.01em; }
.sheet-meta { margin-left: auto; color: var(--muted); font-size: 8pt; }
.sheet-foot { margin-top: 2mm; padding-top: 1.5mm; border-top: .5pt solid var(--line); color: var(--muted); font-size: 7pt; text-align: center; }

.cs-grid { columns: 3; column-gap: 4mm; }
.cs-card { break-inside: avoid; page-break-inside: avoid; margin: 0 0 2.6mm; border: .6pt solid #d1d5db; border-radius: 2mm; overflow: hidden; background: #fff; }
.cs-card h3 { margin: 0; padding: 1.2mm 2.2mm; font-size: 8.5pt; color: #fff; background: #4b5563; }
.cs-card[data-cs="arith"] h3 { background: #16a34a; }
.cs-card[data-cs="logic"] h3 { background: #0284c7; }
.cs-card[data-cs="mem"] h3 { background: #d97706; }
.cs-card[data-cs="branch"] h3 { background: #0d9488; }
.cs-card[data-cs="m"] h3 { background: #7c3aed; }
.cs-card[data-cs="sys"] h3 { background: #475569; }
.cs-card[data-cs="pseudo"] h3 { background: #ea580c; }
.cs-card[data-cs="formats"] h3 { background: #2563eb; }
.cs-card[data-cs="regs"] h3 { background: #db2777; }
.cs-card[data-cs="dir"] h3 { background: #57534e; }

.cs-table { width: 100%; border-collapse: collapse; font-size: 7.2pt; }
.cs-table th { text-align: left; font-weight: 600; font-size: 6.4pt; text-transform: uppercase; letter-spacing: .03em; color: var(--muted); padding: .8mm 1.4mm; border-bottom: .5pt solid var(--line); }
.cs-table td { padding: .55mm 1.4mm; border-bottom: .4pt solid #f1f2f4; vertical-align: top; }
.cs-table tr:nth-child(even) td:not(.cs-enc) { background: #fafafb; }
.cs-table code, .cs-formats td { font-family: var(--mono); font-size: 6.9pt; white-space: nowrap; }
.cs-type { text-align: center; font-weight: 700; font-family: var(--mono); }
.cs-t-R { color: #7c3aed; } .cs-t-I { color: #2563eb; } .cs-t-S { color: #0891b2; }
.cs-t-B { color: #059669; } .cs-t-U { color: #d97706; } .cs-t-J { color: #db2777; }
.cs-note { margin: 0; padding: .9mm 2.2mm 1.2mm; font-size: 6.6pt; color: var(--muted); border-top: .4pt solid var(--line); }
.muted { color: var(--muted); }

.cs-scroll { padding: 1mm 1.4mm; }
.cs-formats { border-collapse: separate; border-spacing: .5mm; width: 100%; table-layout: fixed; }
.cs-formats col.cs-fmt-name { width: 4mm; }
.cs-formats th { font-family: var(--mono); font-size: 6pt; color: var(--muted); font-weight: 600; text-align: left; padding: 0 .3mm; }
.cs-formats tbody th { color: var(--ink); font-size: 7.5pt; text-align: center; }
.cs-formats td { text-align: center; padding: .9mm .2mm; font-size: 6.2pt; border-radius: .8mm; overflow: hidden; }
.cs-f-o { background: #fde68a; } .cs-f-d { background: #fed7aa; } .cs-f-s { background: #bbf7d0; }
.cs-f-f { background: #e9d5ff; } .cs-f-i { background: #bfdbfe; }

@page { size: A4 landscape; margin: 7mm; }
@media print {
  html, body { background: #fff; }
  .sheet-bar { display: none; }
  .sheet { width: auto; margin: 0; padding: 0; box-shadow: none; border-radius: 0; }
}
@media screen and (max-width: 900px) { .cs-grid { columns: 1; } .sheet { padding: 4mm; } }

/* gusto pakovanje za štampu: značenje i opis se prelamaju, naziv instrukcije ne */
.cs-table td:last-child code { white-space: normal; }
.cs-table td:first-child code { white-space: nowrap; }
.cs-table th:nth-child(2), .cs-table td.cs-type { width: 6mm; padding-left: .5mm; padding-right: .5mm; }
.cs-formats td { font-size: 5.6pt; padding: .9mm 0; }
.sheet-meta { text-align: right; line-height: 1.35; }
.sheet-meta b { color: var(--ink); font-weight: 600; }
.cs-card[data-cs="pseudo"] td:nth-child(2) { white-space: nowrap; }
.cs-card[data-cs="dir"] td:first-child code { white-space: normal; }
.cs-card[data-cs="dir"] td:last-child { width: 48%; }

/* binarni zapis za štampu */
.cs-grid-enc { columns: 2; column-gap: 5mm; }
.cs-enc-table { table-layout: fixed; }
.cs-enc-table col.cs-enc-m { width: 9%; }
.cs-enc-table col.cs-enc-d { width: 23%; }
.cs-enc-table td.cs-enc { text-align: center; font-family: var(--mono); font-size: 6.6pt; padding: .45mm .2mm; border: .5mm solid #fff; border-radius: .8mm; white-space: nowrap; overflow: hidden; }
.cs-enc-table tr:nth-child(even) td.cs-enc { background-blend-mode: normal; }
.cs-enc-table td.cs-enc:not(.cs-bin) { font-style: italic; }
.cs-enc-table .cs-enc-bits th { text-align: center; font-size: 5.6pt; font-weight: 500; text-transform: none; padding: 0; border: none; font-family: var(--mono); }
.cs-enc-table .cs-enc-layout td.cs-enc { font-weight: 700; font-style: normal; }
.cs-enc-table .cs-enc-layout th { border: none; }
.cs-enc-fmt { font-size: 9pt !important; color: var(--ink) !important; text-align: center !important; }
.cs-enc-table td:last-child code, .cs-enc-desc code { white-space: nowrap; font-size: 6.4pt; }
.cs-card[data-cs^="enc-"] h3 { background: #334155; }
.cs-card[data-cs="enc-R"] h3 { background: #7c3aed; } .cs-card[data-cs="enc-I"] h3 { background: #2563eb; }
.cs-card[data-cs="enc-S"] h3 { background: #0891b2; } .cs-card[data-cs="enc-B"] h3 { background: #059669; }
.cs-card[data-cs="enc-U"] h3 { background: #d97706; } .cs-card[data-cs="enc-J"] h3 { background: #db2777; }
.cs-enc-table col.cs-enc-d { width: 23%; }
.cs-enc-table col.cs-enc-m { width: 9%; }
.cs-enc-table .cs-enc-layout td.cs-enc { font-size: 5.8pt; letter-spacing: -.02em; }
.cs-enc-table td.cs-enc:not(.cs-bin) { font-size: 6pt; }
.cs-enc-table td.cs-enc-desc code { white-space: normal; }
