.crypto-masters { --crypto-ink:#243943; --crypto-accent:#12677a; --crypto-line:#d7e0e4; }
.crypto-masters .course-layout { grid-template-columns:210px minmax(0,1fr); gap:32px; }
.crypto-masters .course-body { min-width:0; }
.crypto-masters .crypto-model-acronyms table { min-width:0; table-layout:fixed; }
.crypto-masters .crypto-model-acronyms :is(th,td):first-child { width:64px; padding-inline:8px; white-space:nowrap; }
.crypto-masters .crypto-model-acronyms :is(th,td):last-child { overflow-wrap:anywhere; }
.crypto-masters #skroty-modeli-ataku { scroll-margin-top:24px; }
.crypto-masters .crypto-degree { font-size:12px; font-weight:400; color:#586971; margin-left:8px; }
.crypto-tabs { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:0 0 14px; margin-bottom:24px; border-bottom:1px solid var(--crypto-line); }
.crypto-tabs a { display:inline-flex; align-items:center; gap:6px; font-size:12px; padding:6px 12px; text-decoration:none; border-radius:5px; color:var(--crypto-ink); }
.crypto-tabs a:hover { background:#f1f5f7; }
.crypto-tabs a[aria-current] { background:#e9f1f4; color:#135568; }
.crypto-tabs svg { width:14px; height:14px; }
.crypto-masters .course-body section { scroll-margin-top:24px; }
.crypto-masters .course-body section > h2 { border-bottom:1px solid var(--crypto-line); padding-bottom:10px; color:var(--crypto-ink); }
.crypto-masters .course-body h3 { color:var(--crypto-accent); }
.crypto-masters .course-body p { line-height:1.85; }
.crypto-masters .course-body :is(code,pre):not(.crypto-demo *) { font-size:13px; }
.crypto-masters .course-body li { margin-bottom:10px; line-height:1.8; }
.crypto-masters .course-toc { max-height:calc(100vh - 32px); overflow:auto; }
.crypto-masters .course-toc li { padding:4px 0; }
.crypto-masters .course-toc a { line-height:1.65; }
.crypto-masters .course-toc-row { display:flex; align-items:start; gap:3px; }
.crypto-masters .course-toc-row > a { min-width:0; flex:1; }
.crypto-masters .course-toc .course-toc-children { margin:5px 0 4px 6px; padding:0 0 0 10px; border-left:1px solid var(--crypto-line); list-style:none; max-height:none; overflow:visible; }
.crypto-masters .course-toc .course-toc-children li { padding:2px 0; border:0; }
.crypto-masters .course-toc .course-toc-children a { font-size:11px; }
.crypto-masters .course-toc-toggle { width:24px; height:24px; flex:0 0 24px; display:inline-flex; align-items:center; justify-content:center; padding:3px; border:0; border-radius:4px; background:transparent; color:#426374; cursor:pointer; box-shadow:none; }
.crypto-masters .course-toc-toggle:hover { background:#e9f1f4; }
.crypto-masters .course-toc-toggle:focus-visible { outline:1px solid #426374; outline-offset:1px; }
.crypto-masters .course-toc-toggle svg { width:14px; height:14px; }
.crypto-masters .course-toc-toggle[aria-expanded=false] svg { transform:rotate(-90deg); }
.crypto-masters .course-toc [hidden] { display:none!important; }
.crypto-masters .course-toc a[aria-current=location] { padding-left:0; box-shadow:none; background:#e9f1f4; color:#174f73; text-decoration:underline; text-underline-offset:3px; }
.crypto-masters .course-body .course-subheading { scroll-margin-top:24px; }
.crypto-masters .course-body .course-subheading:target { text-decoration:underline; text-decoration-color:#a6bbc5; text-underline-offset:5px; }
.crypto-masters .course-body details { margin:18px 0; padding:10px 14px; border:1px solid var(--crypto-line); border-radius:5px; }
.crypto-masters .course-body details summary { cursor:pointer; color:var(--crypto-accent); }
.crypto-masters .course-body details > :last-child { margin-bottom:4px; }
.crypto-masters .equation { padding:12px 6px; margin:14px 0; overflow-x:auto; }
.crypto-masters math { color:#173f78; }
/* Keep nested scripts legible without enlarging prose or fixed SVG labels. */
:is(.crypto-masters .course-body,.crypto-presentation) :is(.equation,.trace-equation,.relations-equation,.ra-equation,.ks-equation):not(svg *) {
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
  padding-block:16px;
  overflow-x:auto;
  justify-content:flex-start;
}
/* Auto margins center fitting formulas and leave overflowing ones scrollable from their start. */
:is(.crypto-masters .course-body,.crypto-presentation) :is(.equation,.trace-equation,.relations-equation,.ra-equation,.ks-equation):not(svg *) > math {
  display:block math;
  math-style:normal;
  font-size:22px;
  width:max-content;
  max-width:none;
  margin:0 auto;
  flex-shrink:0;
}
.crypto-masters .table-scroll { margin:16px 0; }
.crypto-laboratory :is(#organizacja,#l3) > .table-scroll > table { width:100%; min-width:0; table-layout:fixed; }
.crypto-laboratory #organizacja > .table-scroll th:first-child { width:110px; }
.crypto-laboratory #l3 > .table-scroll th:first-child { width:21%; }
.crypto-laboratory :is(#organizacja,#l3) > .table-scroll :is(th,td) { white-space:normal; overflow-wrap:anywhere; }
.crypto-laboratory :is(#organizacja,#l3) > .table-scroll code { white-space:normal; }
.crypto-masters .crypto-truth-table { width:240px; max-width:100%; margin:20px auto; }
.crypto-masters .crypto-truth-table .table-scroll { margin:0; }
.crypto-masters .crypto-truth-table table { min-width:0; width:100%; table-layout:fixed; }
.crypto-masters .crypto-truth-table :is(th,td) { text-align:center; padding:7px 10px; vertical-align:middle; }
.crypto-masters .crypto-scheme-interface table { min-width:660px; width:100%; table-layout:auto; }
.crypto-masters .crypto-scheme-interface :is(th,td):first-child { width:38%; }
.crypto-masters th,.crypto-masters td { font-variant-numeric:tabular-nums; }
.crypto-masters .course-body td[align=right],.crypto-masters .course-body th[align=right] { text-align:right; }
.crypto-figure,.crypto-demo { margin:22px 0 26px; }
.crypto-svg-scroll { overflow-x:auto; max-width:100%; }
.crypto-svg-scroll > svg { display:block; width:680px; max-width:none; height:auto; margin:0 auto; font:11px Verdana,sans-serif; color:var(--crypto-ink); }
.crypto-svg-scroll rect { fill:#f7fafb; stroke:#cbd8de; stroke-width:1; }
.crypto-svg-scroll text { fill:var(--crypto-ink); }
.crypto-svg-scroll .figure-muted { fill:#63757e; font-size:10px; }
.crypto-svg-scroll .flow-line { fill:none; stroke:#507083; stroke-width:1.5; }
.crypto-svg-scroll .lifeline { fill:none; stroke:#c0cdd3; stroke-width:1; stroke-dasharray:3 4; }
.crypto-figure figcaption { color:#536770; font-size:11px; line-height:1.7; margin-top:8px; }
.crypto-masters .course-body .crypto-demo { border:1px solid var(--crypto-line); border-radius:6px; padding:16px; background:#fff; }
.crypto-demo > figcaption { font-size:12px; font-weight:600; color:var(--crypto-ink); }
.crypto-masters .crypto-scope { font-size:11px; color:#5d6d75; margin:6px 0 14px; }
.crypto-fields { display:flex; flex-wrap:wrap; gap:10px 16px; align-items:end; }
.crypto-fields label { display:grid; gap:6px; flex:1 1 190px; font-size:11px; min-width:0; }
.crypto-fields input,.crypto-fields select { font:12px Verdana,sans-serif; border:1px solid #c5d2d9; background:#fff; color:#263e4b; border-radius:4px; height:34px; width:100%; min-width:0; padding:6px 8px; box-sizing:border-box; }
.crypto-fields input:focus,.crypto-fields select:focus { border-color:#487b90; outline:none; box-shadow:none; }
.crypto-actions { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 0; }
.crypto-actions button { font:11px Verdana,sans-serif; border:0; border-radius:16px; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:8px 12px; background:#edf3f5; color:#22495d; box-shadow:0 1px 2px #2439430c; cursor:pointer; transition:background .15s,box-shadow .15s; }
.crypto-actions button:hover { background:#e0ebef; box-shadow:0 1px 3px #24394318; }
.crypto-actions button:focus-visible { outline:1px solid #29687f; outline-offset:3px; }
.crypto-actions button:disabled { opacity:.55; cursor:wait; }
.crypto-masters .course-body .crypto-actions svg { width:14px; height:14px; flex:0 0 14px; }
.crypto-masters .course-body .crypto-svg-scroll > svg { width:680px; max-width:none; height:auto; }
.crypto-masters .course-body .crypto-demo > figcaption { padding:0; color:var(--crypto-ink); font-size:12px; }
.crypto-result { margin-top:14px; border-top:1px solid #e6edef; padding-top:10px; height:180px; overflow:auto; font-size:11px; }
.crypto-result p { margin:4px 0; }
.crypto-result dl { display:grid; grid-template-columns:minmax(120px,1fr) minmax(0,3fr); gap:6px 14px; margin:8px 0; }
.crypto-result dt { color:#4c626e; }
.crypto-result dd { margin:0; overflow-wrap:anywhere; font-family:ui-monospace,monospace; font-size:10px; }
.crypto-result .test-pass { color:#126377; }
.crypto-result .test-fail { color:#a13737; }
.crypto-result .crypto-data { overflow-wrap:anywhere; font-family:ui-monospace,monospace; }
.crypto-flow { margin-top:14px!important; }
.crypto-flow [data-stage] { transition:opacity .25s; opacity:.42; }
.crypto-flow [data-stage].complete,.crypto-flow [data-stage].current { opacity:1; }
.crypto-flow [data-stage].current rect { fill:#e8f3f5; stroke:#287b8b; stroke-width:2; }
.crypto-flow .protected-boundary { fill:#f7f3e9; stroke:#baab83; stroke-dasharray:5 4; }
.crypto-flow .boundary-label { font-size:10px; fill:#756038; }
.crypto-flow.is-playing .flow-line.is-active { stroke-dasharray:5 4; animation:crypto-flow 1s linear infinite; }
.crypto-shares { margin:12px 0 0; border:0; padding:0; display:flex; flex-wrap:wrap; gap:14px; }
.crypto-shares legend { font-size:11px; margin-bottom:6px; }
.crypto-shares label { display:flex; gap:6px; align-items:center; }
.crypto-masters .crypto-choices { flex:1 1 100%; min-width:0; margin:4px 0 0; padding:0; border:0; display:flex; flex-wrap:wrap; gap:8px 22px; }
.crypto-choices legend { font-size:11px; color:#536770; margin-bottom:8px; }
.crypto-masters .crypto-choices label { display:flex; align-items:center; flex:0 1 auto; gap:7px; line-height:1.6; cursor:pointer; }
.crypto-masters .crypto-choices input { width:14px; height:14px; flex:0 0 14px; padding:0; margin:0; accent-color:#12677a; }
.crypto-masters .crypto-choices input:focus-visible { outline:1px solid #12677a; outline-offset:3px; }
.aes-operation-strip { display:flex; flex-wrap:wrap; gap:6px 16px; margin:20px 0 12px; font-size:11px; }
.crypto-masters .course-body .aes-validation { font-size:11px; color:#365e70; margin:12px 0 0; min-height:20px; }
.aes-operation-strip span { padding:3px 0; border-bottom:2px solid transparent; color:#60737c; }
.aes-operation-strip .current { border-color:#12677a; color:#124c61; }
.aes-matrices { display:grid; grid-template-columns:repeat(2,minmax(0,308px)); gap:12px; justify-items:center; justify-content:center; }
.crypto-masters .course-body .aes-matrices svg { display:block; width:308px; max-width:100%; height:auto; font:11px Verdana,sans-serif; color:var(--crypto-ink); }
.aes-matrices text { fill:var(--crypto-ink); font-variant-numeric:tabular-nums; }
.aes-matrices .figure-muted { font-size:10px; fill:#61717a; }
.aes-matrices rect { stroke:#cfdae0; fill:#f5f8fa; }
.aes-matrices .aes-different { fill:#e4eef4; stroke:#4d7691; stroke-width:1.5; }
.aes-progress { display:grid; grid-template-columns:auto 1fr; gap:8px; align-items:center; font-size:11px; margin:12px 0 20px; }
.aes-progress input { grid-column:1/-1; width:100%; margin:0; accent-color:#12677a; }
.aes-diff-chart { overflow-x:auto; }
.crypto-masters .course-body .aes-diff-chart svg { display:block; width:680px; max-width:none; height:auto; margin:auto; font:10px Verdana,sans-serif; }
.aes-diff-chart text { fill:#415b69; font-variant-numeric:tabular-nums; }
.aes-diff-chart .chart-axis { fill:none; stroke:#cbd8de; }
.aes-diff-chart .chart-seen { fill:#39748c; }
.aes-diff-chart .chart-future { fill:#dbe6ec; }
.oracle-scene { margin-top:14px!important; }
.crypto-masters .course-body .oracle-scene.is-compact { width:100%; }
.oracle-scene [data-oracle-node=oracle] > rect { fill:#f2f7fa; stroke:#acbdc8; }
.oracle-scene [data-oracle-node=table] > rect { fill:#fff; }
.oracle-scene [data-oracle-node=table].is-active > rect { fill:#e6f2f2; stroke:#247480; stroke-width:1.5; }
.oracle-scene [data-oracle-packet] rect { fill:#e4f0f3; stroke:#17667b; stroke-width:1.5; }
.oracle-scene .flow-line.is-active { stroke:#17667b; stroke-width:2; }
.crypto-masters .oracle-table { height:156px; overflow:auto; margin:8px 0 12px; scrollbar-gutter:stable; }
.crypto-masters .oracle-table table { table-layout:fixed; width:100%; min-width:0; }
.oracle-table caption { text-align:left; font-size:11px; padding:0 8px 8px; color:#536770; }
.oracle-table th:first-child { width:44%; }
.oracle-table td:first-child { overflow-wrap:anywhere; white-space:pre-wrap; }
.crypto-masters .oracle-table td.numeric,.crypto-masters .oracle-table th:not(:first-child) { text-align:right; font-variant-numeric:tabular-nums; }
.oracle-table tr.current td { background:#edf5f6; }
.crypto-masters .course-body .forgery-steps { margin:18px 0 0; font-size:11px; }
.crypto-masters .course-body .forgery-steps li { margin-bottom:5px; }
.trace-demo { container-type:inline-size; }
.trace-demo [hidden] { display:none!important; }
.trace-key { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; border-bottom:1px solid #e1e8ec; padding:14px 0 12px; margin-bottom:16px; font-size:11px; }
.trace-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 16px; }
.trace-grid.trace-two-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
.trace-column { min-width:0; padding:0 12px 8px 0; border-right:1px solid #e1e8ec; }
.trace-column:last-child { padding-right:0; border-right:0; }
.crypto-masters .course-body .trace-column h4 { font:600 11px/1.6 Verdana,sans-serif; color:#243943; margin:0 0 6px; padding:0 0 6px; border-bottom:2px solid transparent; }
.trace-column.current h4 { border-bottom-color:#337d90!important; }
.crypto-masters .course-body .trace-caption { font-size:10px; line-height:1.6; min-height:34px; margin:0 0 8px; color:#586d78; }
.crypto-masters .course-body .trace-column svg { display:block; width:208px; max-width:100%; height:auto; margin:0 auto; font:10px Verdana,sans-serif; }
.trace-column svg text { fill:#394f5d; }
.trace-lifeline { fill:none; stroke:#ced9df; stroke-width:1; stroke-dasharray:3 4; }
.trace-route { fill:none; stroke:#a3b7c2; stroke-width:1.2; }
.trace-column [data-trace-event].complete .trace-route { stroke:#507083; }
.trace-column [data-trace-event].current .trace-route { stroke:#12677a; stroke-width:2; }
.trace-column [data-trace-packet] { fill:#b57a21; stroke:#fff; stroke-width:1; }
.trace-math { text-align:center; font-size:11px; line-height:28px; }
.trace-number { font:10px/1.7 ui-monospace,monospace; font-variant-numeric:tabular-nums; text-align:center; color:#415c69; overflow-wrap:anywhere; }
.trace-number output:not([data-serialized]) { color:#647580; }
.trace-equation { display:flex; align-items:center; justify-content:center; min-height:40px; font-size:11px; overflow-x:auto; }
.crypto-masters .course-body .trace-analysis p,.crypto-masters .course-body .trace-disclosure p { font-size:11px; line-height:1.8; margin:8px 0; }
.trace-analysis .trace-equation { justify-content:flex-start; }
.trace-analysis .trace-number { text-align:left; }
.trace-disclosure { min-height:260px; padding-top:30px; box-sizing:border-box; }
.crypto-masters .course-body .trace-verdict { font-size:10px; line-height:1.7; min-height:36px; margin:8px 0 0; color:#536770; }
.trace-verdict[data-result=accepted] { color:#126377!important; }
.trace-verdict[data-result=rejected] { color:#9f3535!important; }
.crypto-masters .course-body .trace-status { min-height:62px; box-sizing:border-box; font-size:11px; line-height:1.8; border-top:1px solid #e6edef; padding-top:10px; margin:12px 0 0; }
.trace-demo button:disabled { cursor:default; }
.crypto-masters .course-body .trace-records { margin:8px 0 0; border:0; border-top:1px solid #e6edef; padding:12px 0 0; border-radius:0; font-size:11px; }
.trace-records > p { font-size:11px; }
.crypto-masters .trace-records table { table-layout:fixed; min-width:0; width:100%; font-size:10px; }
.trace-records th { width:30%; font-weight:400; }
.trace-records td { font:10px/1.6 ui-monospace,monospace; overflow-wrap:anywhere; white-space:normal; }
@container (max-width:620px) {
  .trace-grid,.trace-grid.trace-two-columns { grid-template-columns:1fr; gap:20px; }
  .trace-column { border-right:0; border-bottom:1px solid #e1e8ec; padding:0 0 12px; }
  .trace-column:last-child { border-bottom:0; }
  .crypto-masters .course-body .trace-caption { min-height:0; }
  .trace-disclosure { min-height:120px; padding-top:10px; }
  .trace-demo .trace-status { min-height:110px!important; }
}
@keyframes crypto-flow { to { stroke-dashoffset:-18; } }
.gc-local-scroll,.gc-table-scroll { max-width:100%; overflow-x:auto; }
.gc-formula-stage { position:relative; min-width:760px; padding:8px 10px 12px; box-sizing:border-box; }
.gc-callout-row { display:grid; grid-template-columns:1fr 1fr; gap:110px; }
.gc-callout { font-size:11px; line-height:1.7; color:#415863; }
.gc-callout strong { color:#243943; font-weight:600; }
.crypto-masters .course-body .gc-callout p,.crypto-presentation .gc-callout p { margin:5px 0 0; font-size:11px; line-height:1.8; }
.gc-main-formula { padding:90px 10px; }
.crypto-masters .gc-main-formula > math,.crypto-presentation .gc-main-formula > math { margin:0; font-size:26px; color:#173f78; }
.gc-formula-domain { text-align:center; margin-top:12px; font-size:13px; }
.crypto-masters .course-body .gc-annotation-arrows,.crypto-presentation .gc-annotation-arrows { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.gc-annotation-arrows > path { fill:none; stroke:#648293; stroke-width:1.2; }
.gc-annotation-arrows marker path { fill:#648293; }
.gc-table-figure [hidden] { display:none!important; }
.crypto-masters .course-body .gc-table-figure > figcaption,.crypto-presentation .gc-table-figure > figcaption { font-size:12px; font-weight:600; color:#243943; padding:0; }
.gc-teaching-note,.gc-shorthand { font-size:11px; line-height:1.8; }
.gc-shorthand { margin:18px 0; }
.gc-gate-definition { margin:16px 0 8px; }
.gc-truth-layout { display:grid; grid-template-columns:170px 64px minmax(0,1fr); gap:10px; align-items:center; }
.gc-public-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:30px; align-items:start; margin-top:22px; }
.crypto-masters .course-body .gc-conversion-arrow,.crypto-presentation .gc-conversion-arrow { width:64px; height:48px; }
.gc-conversion-arrow path { fill:none; stroke:#648293; stroke-width:1.5; stroke-linejoin:round; stroke-linecap:round; }
.crypto-masters .gc-table-figure table,.crypto-presentation .gc-table-figure table { width:100%; min-width:0; table-layout:fixed; margin:0; font-size:11px; }
.gc-table-figure caption { text-align:left; font-size:11px; color:#435c69; padding:0 0 12px; }
.crypto-masters .gc-table-figure th,.crypto-masters .gc-table-figure td,.crypto-presentation .gc-table-figure th,.crypto-presentation .gc-table-figure td { padding:8px 6px; box-sizing:border-box; line-height:1.6; }
.gc-table-figure thead tr { height:52px; }
.gc-table-figure tbody tr { height:56px; }
.gc-table-figure tbody .current { background:#eaf3f6; box-shadow:inset 2px 0 #337b91; }
.gc-table-figure .gc-truth-table td,.gc-table-figure .gc-truth-table th { text-align:center; font-variant-numeric:tabular-nums; }
.gc-table-figure .gc-cipher-table th:first-child { width:26%; }
.gc-table-figure .gc-cipher-table th:last-child { width:23%; }
.crypto-masters .gc-table-figure .gc-cipher-table { min-width:290px; }
.gc-table-figure .gc-cipher-table math { font-size:14px; }
.gc-table-figure .gc-public-table td { font-variant-numeric:tabular-nums; }
.gc-table-note p { font-size:11px; line-height:1.8; margin:0 0 12px; }
.crypto-masters .course-body .gc-selected-note { font-size:11px; min-height:42px; padding-top:12px; margin:16px 0 0; border-top:1px solid #e1e8ec; }
@media(max-width:1050px) {
  .gc-truth-layout { grid-template-columns:1fr; gap:8px; }
  .gc-truth-layout > .gc-table-scroll:first-child { max-width:300px; }
  .gc-conversion-arrow { transform:rotate(90deg); margin:0 auto; }
  .gc-public-layout { grid-template-columns:1fr; gap:16px; }
  .gc-public-layout > .gc-table-scroll { max-width:300px; }
}
.modern-math { text-align:center; font-size:11px; line-height:26px; }
.modern-scene { margin-top:16px; }
.modern-compact-only { display:none; }
.modern-compact .modern-compact-only { display:initial; }
.crypto-masters .course-body .modern-scene > svg.modern-compact,.crypto-presentation .modern-scene > svg.modern-compact { width:340px; max-width:100%; height:auto; }
.modern-scene [data-node] rect { transition:fill .2s,stroke .2s; }
.modern-scene [data-node].current rect { fill:#e7f2f4; stroke:#28758a; stroke-width:1.8; }
.modern-scene .is-active { stroke:#216e85; stroke-width:2; }
.modern-scene [data-packet] circle { fill:#bd802a; stroke:#fff; stroke-width:1.5; }
.modern-status { margin-top:12px; padding-top:10px; border-top:1px solid #e6edef; min-height:76px; font-size:11px; line-height:1.8; }
.crypto-masters .modern-bits .crypto-choices { flex:1 1 120px; }
.crypto-masters .modern-numbers label { flex:1 1 110px; }
.modern-table { margin-top:16px; overflow:auto; height:288px; scrollbar-gutter:stable; }
.modern-short-table { height:176px; }
.modern-table table { width:100%; font-size:11px; }
.crypto-masters .modern-table table { min-width:0; table-layout:fixed; }
.crypto-masters .modern-table th,.crypto-masters .modern-table td { padding:6px 8px; line-height:1.5; white-space:normal; }
.modern-demo[data-modern=garbled] th:nth-child(1) { width:15%; }
.modern-demo[data-modern=garbled] th:nth-child(2) { width:13%; }
.modern-demo[data-modern=garbled] th:nth-child(3) { width:48%; }
.modern-demo[data-modern=garbled] th:nth-child(4) { width:24%; }
.modern-table caption { text-align:left; font-size:11px; color:#586d78; padding:0 0 8px; }
.modern-table .table-scroll { margin:0!important; }
.modern-table td { overflow-wrap:anywhere; }
.modern-table tr.current td { background:#edf5f6; }
.modern-demo[data-modern=benchmark] td:not(:first-child),.modern-table .numeric { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.crypto-presentation { width:min(1100px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); box-sizing:border-box; padding:18px 22px; border:1px solid #cbd8de; border-radius:6px; color:#243943; background:#fff; }
.crypto-presentation::backdrop { background:rgb(26 38 45 / .5); backdrop-filter:blur(3px); }
.crypto-presentation > figure { margin:8px 0 0; }
.crypto-presentation .crypto-scope { font-size:11px; }
.crypto-presentation > figure > figcaption { font-size:12px; }
.crypto-presentation .crypto-fields { margin-bottom:8px; }
.crypto-presentation .presentation-close { display:block; margin-left:auto; border:0; border-radius:16px; background:#edf3f5; color:#22495d; padding:7px 13px; font:11px Verdana,sans-serif; cursor:pointer; }
.crypto-presentation .presentation-close:hover { background:#e0ebef; }
.crypto-presentation .crypto-actions svg { width:14px; height:14px; flex:0 0 14px; }
.crypto-presentation [data-modern-action=enlarge] { display:none; }
.crypto-presentation .table-scroll { overflow:auto; }
.crypto-presentation th,.crypto-presentation td { padding:8px; text-align:left; border-bottom:1px solid #e6edef; }
.crypto-presentation .crypto-choices { border:0; padding:0; margin:4px 0; display:flex; flex-wrap:wrap; gap:8px 18px; }
.crypto-presentation .crypto-choices label { display:flex; flex:0 1 auto; align-items:center; gap:6px; }
.crypto-presentation .crypto-choices input { width:14px; height:14px; margin:0; accent-color:#12677a; }
.crypto-presentation .crypto-choices legend { margin-bottom:8px; }
@media(max-width:680px) { .crypto-presentation { width:calc(100vw - 12px); max-height:calc(100dvh - 12px); padding:12px; } .modern-table { height:300px; } .modern-short-table { height:192px; } }
@media(prefers-reduced-motion:reduce) { .modern-scene [data-node] rect { transition:none; } }
@media(max-width:900px) { .crypto-masters .course-layout { grid-template-columns:175px minmax(0,1fr); gap:22px; } }
@media(max-width:680px) {
  .crypto-masters .course-layout { display:block; }
  .crypto-masters .course-toc { position:static; max-height:none; margin-bottom:24px; }
  .crypto-masters .course-toc > details > ol { max-height:280px; overflow:auto; }
  .crypto-masters .course-body .crypto-demo { padding:12px; }
  .crypto-result dl { grid-template-columns:1fr; gap:4px; }
  .crypto-result dd { margin-bottom:6px; }
  .aes-matrices { grid-template-columns:1fr; gap:4px; }
  .crypto-masters .crypto-choices { gap:9px 16px; }
}
@media(prefers-reduced-motion:reduce) { .crypto-flow.is-playing .flow-line.is-active { animation:none; } .crypto-flow [data-stage] { transition:none; } }
.relations-demo [hidden] { display:none!important; }
.relations-demo { font-size:11px; }
.relations-demo .crypto-choices { margin:14px 0; }
.relations-demo .crypto-choices label { cursor:pointer; }
.relations-demo .crypto-actions { margin-top:16px; }
.relations-compare-scroll,.relations-svg-scroll { max-width:100%; overflow-x:auto; }
.relations-comparison { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; min-width:680px; margin:14px 0; }
.relations-column { min-width:0; border-left:1px solid #dce5e9; padding-left:14px; }
.relations-column:first-child { border:0; padding-left:0; }
.crypto-masters .course-body .relations-demo h4,.crypto-presentation .relations-demo h4 { margin:0 0 14px; font-size:11px; font-weight:600; min-height:36px; line-height:1.6; }
.crypto-masters .course-body .relations-demo p,.crypto-presentation .relations-demo p { font-size:11px; line-height:1.8; }
.crypto-masters .course-body .relations-demo svg.relations-sequence,.crypto-presentation .relations-demo svg.relations-sequence { width:100%; max-width:280px; height:auto; display:block; margin:0 auto 14px; }
.crypto-masters .course-body .relations-demo svg.relations-pipeline,.crypto-presentation .relations-demo svg.relations-pipeline { width:700px; max-width:100%; min-width:620px; height:auto; display:block; margin:12px auto; }
.relations-demo svg text { font:11px Verdana,sans-serif; fill:#324c59; }
.relations-demo svg rect { fill:#f7f9fa; stroke:#bbcdd5; stroke-width:1; }
.relations-demo .relations-lifeline { stroke:#c9d7dd; stroke-width:1; fill:none; }
.relations-demo .relations-route { stroke:#78919d; stroke-width:1.4; fill:none; stroke-linecap:round; }
.relations-demo .is-current .relations-route { stroke:#286780; stroke-width:2; }
.relations-demo .is-done .relations-route { stroke:#496d7e; }
.relations-demo .relations-packet { fill:#b47621; stroke:#fff; stroke-width:1.2; }
.relations-math { font-size:11px; line-height:28px; text-align:center; }
.relations-equation { margin:10px 0; text-align:center; overflow-x:auto; font-size:13px; line-height:1.8; }
.relations-check { text-align:center; font:10px/1.5 Verdana,sans-serif; padding:3px 0; border:1px solid #dce5e9; border-radius:4px; background:#fff; }
.relations-check .relations-equation { font-size:12px; margin:0; }
.relations-check.is-current { border-color:#527d8e; background:#f0f6f8; }
.relations-value { display:grid; grid-template-columns:1fr; gap:3px; margin:9px 0; min-width:0; }
.relations-value > span { color:#526b78; }
.relations-value output { display:block; overflow-wrap:anywhere; font:10px/1.8 ui-monospace,monospace; font-variant-numeric:tabular-nums; color:#253e50; min-height:20px; }
.relations-common .relations-value { grid-template-columns:auto 1fr; align-items:center; gap:12px; border-bottom:1px solid #e0e8ed; padding-bottom:8px; }
.relations-snapshots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:16px 0; }
.relations-demo .relations-verdict { min-height:82px; margin:10px 0; border-top:1px solid #e4eaee; padding-top:8px; color:#526574; }
.relations-verdict[data-ok=true] { color:#235c70; }
.relations-verdict[data-ok=false] { color:#8b4937; }
.crypto-masters .course-body .relations-status,.crypto-presentation .relations-status { min-height:64px; margin:12px 0 0; padding-top:10px; border-top:1px solid #e4eaee; }
.relations-records { margin:10px 0 4px; }
.relations-records summary { cursor:pointer; color:#31576c; }
.relations-records table { table-layout:fixed; width:100%; font-size:10px; }
.relations-records th { width:27%; }
.relations-records td { overflow-wrap:anywhere; word-break:break-all; font-family:ui-monospace,monospace; }
.relations-mix-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:24px 0 8px; }
.relations-mix-column { min-width:0; }
.relations-mix-column ol { list-style:none; padding:0!important; margin:0!important; }
.relations-mix-column li { position:relative; min-height:86px; padding:9px 6px 9px 22px; margin:0!important; box-sizing:border-box; border-bottom:1px solid #dde7eb; }
.relations-mix-column output { display:block; white-space:pre-line; font:10px/1.7 ui-monospace,monospace; overflow-wrap:anywhere; }
.relations-slot { position:absolute; left:1px; top:10px; color:#607885; font:10px Verdana,sans-serif; }
.relations-origin { display:block; font-size:10px; color:#6a5330; margin-top:4px; }
.crypto-masters .course-body .relations-demo svg.relations-batch-arrow,.crypto-presentation .relations-demo svg.relations-batch-arrow { width:90px; max-width:100%; height:35px; display:block; margin:0 0 8px; }
.relations-batch-space { height:43px; }
@media(max-width:1000px) { .relations-mix-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 18px; } }
@media(max-width:680px) { .relations-snapshots { grid-template-columns:1fr; gap:12px; } .relations-common .relations-value { grid-template-columns:1fr; } .relations-mix-grid { gap:20px 12px; } .relations-demo .relations-verdict { min-height:0; } }
.ra-demo { font-size:11px; }
.ra-demo [hidden] { display:none!important; }
.ra-svg-scroll { overflow-x:auto; max-width:100%; margin:16px 0; }
.crypto-masters .course-body .ra-demo svg.ra-scene,.crypto-presentation .ra-demo svg.ra-scene { display:block; width:700px; max-width:100%; min-width:640px; height:auto; margin:auto; }
.ra-scene text { font:11px Verdana,sans-serif; fill:#304b5a; }
.ra-scene .ra-muted { font-size:9px; fill:#61727d; }
.ra-scene rect { fill:#f7f9fa; stroke:#c3d3db; stroke-width:1; }
.ra-scene .ra-lifeline { fill:none; stroke:#d5dfe4; stroke-width:1; }
.ra-route { fill:none; stroke:#78929f; stroke-width:1.4; stroke-linecap:round; }
.ra-route.ra-current { stroke:#266d8a; stroke-width:2; }
.ra-route.ra-done { stroke:#406d83; }
.ra-done rect { fill:#edf5f7; stroke:#638a9a; }
.ra-packet { fill:#b07e1f; stroke:#fff; stroke-width:1; }
.ra-math { text-align:center; font-size:11px; line-height:28px; }
.ra-math math { font-size:1em; }
.ra-equation { text-align:center; margin:10px 0; }
.ra-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:16px 0; }
.crypto-masters .course-body .ra-demo h4,.crypto-presentation .ra-demo h4 { font-size:11px; margin:0 0 12px; font-weight:600; }
.ra-value { margin:12px 0; min-width:0; }
.ra-value > span { display:block; color:#526d7c; margin-bottom:4px; }
.ra-value output { display:block; min-height:64px; font:10px/1.7 ui-monospace,monospace; overflow-wrap:anywhere; white-space:pre-wrap; font-variant-numeric:tabular-nums; }
.ra-demo[data-rsa-auth=webauthn] .ra-value output,.ra-demo[data-rsa-auth=oidc] .ra-value output { min-height:84px; }
.ra-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; margin:12px 0; }
.ra-checks:empty { display:none; }
.ra-checks > div { display:grid; grid-template-columns:minmax(0,1fr) 84px; gap:12px; align-items:center; min-height:38px; padding:5px 0; border-top:1px solid #e4ebef; }
.ra-checks output { text-align:right; color:#637681; font-size:10px; }
.ra-checks output[data-ok=true] { color:#255d74; }
.ra-checks output[data-ok=false] { color:#934332; font-weight:600; }
.ra-message { display:grid; gap:7px; max-width:420px; margin:16px 0; }
.ra-message input { box-sizing:border-box; width:100%; min-height:34px; padding:7px 10px; background:#fff; border:1px solid #c9d6df; border-radius:4px; font:11px Verdana,sans-serif; }
.ra-message input:focus { outline:none; border-color:#698e9f; box-shadow:none; }
.ra-demo .crypto-choices { margin:16px 0; }
.ra-demo .crypto-actions { margin-top:18px; }
.crypto-masters .course-body .ra-status,.crypto-presentation .ra-status { min-height:72px; font-size:11px; line-height:1.8; padding-top:12px; margin:12px 0 0; border-top:1px solid #e4ebef; }
.ra-records { margin:0 0 4px; }
.ra-records summary { cursor:pointer; color:#31576c; }
.ra-records pre { white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-all; font:10px/1.7 ui-monospace,monospace; max-height:360px; overflow:auto; }
.ra-fdh-table table { width:100%; table-layout:fixed; font-size:11px; }
.ra-fdh-table caption { text-align:left; margin-bottom:8px; color:#526c79; }
.ra-fdh-table th,.ra-fdh-table td { padding:8px; height:38px; box-sizing:border-box; border-bottom:1px solid #e3eaef; font-variant-numeric:tabular-nums; }
.ra-fdh-table th:first-child { width:8%; }
.ra-fdh-table th:nth-child(2) { width:42%; }
.ra-fdh-table th:nth-child(n+3),.ra-fdh-table td:nth-child(n+3),.ra-fdh-table td:first-child { text-align:right; }
@media(max-width:680px) { .ra-columns { gap:12px; grid-template-columns:1fr; } .ra-checks { grid-template-columns:1fr; } .ra-fdh-table table { min-width:460px; } .ra-demo .ra-value output { min-height:48px; } }
.ol-demo { font-size:11px; }
.ol-demo .crypto-fields { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:end; }
.ol-demo .crypto-fields > label { flex:0 1 300px; width:300px; max-width:100%; }
.ol-demo .crypto-fields .crypto-choices { flex:0 1 auto; margin:0; }
.ol-svg-scroll { max-width:100%; overflow-x:auto; margin:12px 0; }
.crypto-masters .course-body .ol-scene,.crypto-presentation .ol-scene { display:block; width:760px; min-width:690px; max-width:100%; height:auto; margin:auto; }
.ol-scene text { font:11px Verdana,sans-serif; fill:#304b5a; }
.ol-scene text.ol-muted { font-size:9px; fill:#5d7180; }
.ol-scene rect { fill:#f8fafb; stroke:#bed0da; }
.ol-scene rect.ol-boundary { fill:#f5f8fa; stroke:#b2c3ce; stroke-dasharray:5 4; }
.ol-scene .ol-boundary-label { font-size:10px; }
.ol-math { text-align:center; line-height:24px; font-size:11px; }
.ol-route { stroke:#78929f; stroke-width:1.4; fill:none; }
.ol-route.ol-moving { stroke:#17667b; stroke-width:2; }
.ol-route.ol-done { stroke:#315f77; }
.ol-current rect { fill:#e4f0f4; stroke:#397f94; stroke-width:1.5; }
.ol-scene text.ol-current { fill:#1b5b75; font-weight:600; }
.ol-packet { fill:#b07e1f; stroke:#fff; stroke-width:1; }
.crypto-masters .course-body .ol-steps,.crypto-presentation .ol-steps { display:flex; flex-wrap:wrap; gap:6px 16px; padding:0; margin:10px 0; list-style:none; }
.ol-steps li { padding:4px 0; border-bottom:2px solid transparent; color:#526d7c; }
.ol-steps li.ol-current { border-bottom-color:#397f94; color:#1d526d; }
.crypto-masters .ol-status,.crypto-presentation .ol-status { min-height:66px; margin:12px 0; line-height:1.8; }
.ol-draft { display:grid; grid-template-columns:180px minmax(0,1fr); gap:12px; padding:10px 0; border-top:1px solid #dce5ec; border-bottom:1px solid #dce5ec; min-height:48px; align-items:center; }
.ol-draft > span { color:#526d7c; }
.ol-draft output { overflow-wrap:anywhere; }
.ol-tables { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:20px 0 10px; }
.ol-tables > div { min-width:0; }
.crypto-masters .course-body .ol-tables h4,.crypto-presentation .ol-tables h4 { font-size:11px; margin:0 0 8px; }
.ol-tables p { font-size:10px; min-height:52px; line-height:1.7; color:#526d7c; }
.ol-table-scroll { height:176px; overflow:auto; scrollbar-gutter:stable; }
.crypto-masters .ol-tables table,.crypto-presentation .ol-tables table { width:100%; min-width:0; table-layout:fixed; }
.ol-tables th,.ol-tables td { padding:8px; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.ol-tables th:first-child { width:54%; }
.ol-tables th:not(:first-child),.ol-tables .numeric { text-align:right; }
.ol-tables .ol-current td { background:#edf5f6; }
.ol-call { color:#235f77; }
.ol-tables .ol-empty td { font-style:italic; color:#607482; }
.crypto-masters .ol-tables .ol-counts,.crypto-masters .ol-tables .ol-context { min-height:0; margin:10px 0 0; }
@media(max-width:680px) { .ol-tables { grid-template-columns:1fr; gap:18px; } .ol-draft { grid-template-columns:1fr; gap:6px; } .ol-tables p { min-height:0; } .ol-status { min-height:100px; } }
@media print { .crypto-actions,.crypto-fields,.course-toc,.crypto-tabs { display:none; } .crypto-masters .course-layout { display:block; } .crypto-svg-scroll { overflow:visible; } .crypto-demo,.crypto-figure { break-inside:avoid; } }
.crypto-masters .uc-svg-scroll { max-width:100%; overflow:auto; margin:.75rem 0; }
.crypto-masters .uc-scene { display:block; width:760px; max-width:none; height:auto; margin:auto; font-family:inherit; font-size:12px; }
.crypto-masters .uc-scene rect { fill:#f5f8fa; stroke:#c5d2d9; stroke-width:1; }
.crypto-masters .uc-scene text { fill:#243e4d; }
.crypto-masters .uc-scene .uc-muted { fill:#5b6e77; font-size:11px; }
.crypto-masters .uc-route { stroke:#58758a; stroke-width:1.4; fill:none; }
.crypto-masters .uc-route.is-active { stroke:#156e92; stroke-width:2.6; }
.crypto-masters .uc-lifeline { stroke:#c5d2d9; stroke-dasharray:3 4; fill:none; }
.crypto-masters .uc-packet { fill:#bc7028; stroke:#fff; stroke-width:1.2; }
.crypto-masters .uc-math { height:100%; display:flex; align-items:center; justify-content:center; font-size:13px; }
.crypto-masters .uc-math math { font-size:1em; }
.crypto-masters .uc-demo .crypto-fields > label { flex:0 1 140px; }
.crypto-masters .uc-message-label { align-self:end; margin:0 0 .3rem; }
.crypto-masters .uc-demo .crypto-choices { gap:.35rem 1rem; }
.crypto-masters .uc-status { min-height:3em; padding:.5rem 0; margin:0; }
.crypto-masters .uc-trace { max-width:100%; overflow:auto; margin:.5rem 0 1rem; }
.crypto-masters .uc-trace table { min-width:570px; width:100%; table-layout:fixed; }
.crypto-masters .uc-trace th:first-child { width:19%; }
.crypto-masters .uc-trace td { height:5.5em; vertical-align:top; }
.crypto-masters .uc-trace tr:not(.is-complete) { color:#697680; }
.crypto-masters .uc-trace tr.is-current { background:#edf5f8; }
.crypto-masters .uc-trace tr.is-current th { box-shadow:inset 3px 0 #25758e; }
.crypto-masters .uc-proof-note { border-left:2px solid #bdd1dc; padding:.1rem 0 .1rem .85rem; margin:1rem 0; }
.crypto-masters .uc-proof-note p { margin:.4rem 0; }
.crypto-masters .uc-proof-note output { display:block; color:#314f63; font-variant-numeric:tabular-nums; }
.crypto-masters .uc-replay { min-height:2.5em; }
.pg-demo { overflow-anchor:none; }
.pg-inputs { display:flex; flex-wrap:wrap; gap:12px 20px; margin:16px 0; align-items:end; }
.pg-inputs > label { display:grid; gap:5px; flex:1 1 200px; max-width:340px; }
.pg-inputs input:not([type=radio]) { border:1px solid #cdd8df; border-radius:4px; padding:7px 9px; min-width:0; width:100%; font:inherit; }
.pg-inputs fieldset { flex:1 0 100%; border:0; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px 18px; }
.pg-inputs legend { margin-bottom:6px; color:#4b626f; }
.pg-inputs fieldset label { display:inline-flex; gap:5px; align-items:center; }
.pg-inputs input[type=radio] { accent-color:#26768c; }
.pg-inputs input:focus { outline:none; border-color:#608897; }
.pg-scroll { overflow:auto; max-width:100%; margin:12px 0; }
.crypto-masters .pg-scene,.crypto-presentation .pg-scene { display:block; width:888px; max-width:none; height:auto; margin:auto; font-family:inherit; }
.crypto-masters .pg-scene.pg-compact,.crypto-presentation .pg-scene.pg-compact { width:300px; max-width:none; }
.pg-scene .pg-title { fill:#2d495b; font-size:11px; }
.pg-scene .pg-value { fill:#516973; font-size:10px; }
.pg-box { fill:#f6f8fa; stroke:#c8d6dc; stroke-width:1; }
.pg-scene foreignObject div { height:100%; display:flex; align-items:center; justify-content:center; }
.pg-scene foreignObject math { color:#163f67; font-size:12px; }
.pg-route { fill:none; stroke:#587989; stroke-width:1.5; }
.pg-route.is-active { stroke:#176c89; stroke-width:2.5; }
.pg-scene .is-complete .pg-box { fill:#eef5f7; }
.pg-scene .is-current .pg-box { stroke:#247591; stroke-width:2; }
.pg-packet rect { fill:#fff4d3; stroke:#9f7531; }
.pg-packet text { fill:#574012; font-size:11px; }
.pg-status { min-height:3.8em; margin:8px 0; }
.pg-history { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; list-style:none; padding:0!important; margin:8px 0 16px; }
.pg-history > li { min-width:0; border-top:1px solid #dce5e9; padding:12px 0; min-height:110px; }
.crypto-masters .pg-history h4,.crypto-presentation .pg-history h4 { font-size:11px; margin:0 0 10px; }
.pg-history .is-current h4 { color:#16627f; }
.pg-records dl,.pg-previous dl { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:6px 10px; margin:0; }
.pg-records dt,.pg-previous dt { color:#4a6371; font-weight:400; }
.pg-records dd,.pg-previous dd { margin:0; min-width:0; overflow-wrap:anywhere; }
.pg-number { text-align:right; font-variant-numeric:tabular-nums; }
.pg-records code,.pg-previous code { font-size:10px; white-space:normal; overflow-wrap:anywhere; background:none; }
.crypto-masters .course-body .pg-records summary,.crypto-presentation .pg-records summary { cursor:pointer; overflow-wrap:anywhere; font-size:10px; color:#285e76; padding:0; margin:0; font-weight:400; }
.crypto-masters .course-body .pg-records details,.crypto-presentation .pg-records details { padding:0; margin:0; background:none; border:0; box-shadow:none; }
.crypto-masters .course-body .pg-records details > :not(summary),.crypto-presentation .pg-records details > :not(summary) { display:block; margin:6px 0 0; }
.crypto-masters .course-body .pg-records details > :last-child,.crypto-presentation .pg-records details > :last-child { margin-bottom:0; }
.crypto-masters .course-body .pg-previous,.crypto-presentation .pg-previous { padding:10px 0; margin:12px 0; border:0; border-top:1px solid #dce5e9; border-radius:0; box-shadow:none; }
.pg-note { margin:10px 0 0; }
.crypto-masters .crypto-term-notes { margin:8px 0 14px; padding:0; font-size:inherit; line-height:1.6; }
.crypto-masters .crypto-term-notes > div { display:grid; grid-template-columns:minmax(70px,max-content) minmax(0,1fr); gap:4px 12px; margin:3px 0; }
.crypto-masters .crypto-term-notes dt { font-weight:600; overflow-wrap:anywhere; }
.crypto-masters .crypto-term-notes dd { margin:0; min-width:0; overflow-wrap:anywhere; }
.crypto-masters .crypto-term-notes [lang] { font-style:italic; }
@media(max-width:560px) {
  .crypto-masters .crypto-term-notes > div { display:block; margin-bottom:8px; }
  .crypto-masters .crypto-term-notes dt,.crypto-masters .crypto-term-notes dd { display:inline; }
  .crypto-masters .crypto-term-notes dt::after { content:": "; }
}
.pg-note[data-verdict=no] { border-left:2px solid #b67732; padding-left:8px; }
.pg-note[data-verdict=yes] { border-left:2px solid #3e819b; padding-left:8px; }
.pg-question { border-left:2px solid #bfd1d8; padding-left:12px; margin:12px 0 4px; }
.pg-previous { margin:12px 0; padding:8px 0; border-top:1px solid #dce5e9; }
.pg-previous[hidden] { display:none; }
.pg-previous > div { margin:16px 0; }
@media(min-width:1100px) { .crypto-masters .pg-scene { max-width:100%; } }
@media(max-width:700px) { .pg-history { grid-template-columns:1fr; } .pg-status { min-height:5.5em; } }
@media (min-width:1100px) {
  .crypto-masters .uc-scene { max-width:100%; }
}
@media (max-width:600px) {
  .crypto-masters .uc-trace table { display:block; min-width:0; }
  .crypto-masters .uc-trace caption { display:block; width:100%; text-align:left; padding:0 0 8px; }
  .crypto-masters .uc-trace thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .crypto-masters .uc-trace tbody { display:block; }
  .crypto-masters .uc-trace tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border-bottom:1px solid #d7e0e4; }
  .crypto-masters .uc-trace th:first-child { grid-column:1/-1; width:auto; }
  .crypto-masters .uc-trace td { height:auto; min-height:6em; min-width:0; padding:8px; overflow-wrap:anywhere; border:0; }
  .crypto-masters .uc-trace td::before { display:block; margin-bottom:6px; font-weight:600; font-size:10px; color:#425b69; }
  .crypto-masters .uc-trace td:nth-child(2)::before { content:"Rzeczywisty"; }
  .crypto-masters .uc-trace td:nth-child(3)::before { content:"Idealny"; }
}
