/* ==========================================================
   v5: svetla tema (papir + zelena), neon naslov, glava, ozadja, trak, popravki oblik
   ========================================================== */

/* ---------- Temi: luna = Terminal zelena (temna), sonce = Papir + zelena (svetla) ---------- */
[data-md-color-scheme="slate"] {
  --accent: #3ddc84; --accent-rgb: 61, 220, 132; --accent-soft: #58e698; --accent-hover: #6af0a6; --text-rgb: 213, 222, 215;
  --ap-blue: #3ddc84; --ap-blue-hover: #6af0a6;
  --name-first: #ffffff; --name-last: #2bf08f;
}
[data-md-color-scheme="default"] {
  --accent: #0f9d58; --accent-rgb: 15, 157, 88; --accent-soft: #0b7a44; --accent-hover: #0b7a44; --text-rgb: 20, 32, 26;
  --ap-bg: #f5f7f3; --ap-bg-alt: #eaeee8; --ap-tile: #ffffff; --ap-text: #14201a; --ap-muted: #5a6a60;
  --ap-line: rgba(15, 120, 70, .22); --ap-glass: rgba(245, 247, 243, .7); --ap-link: #0b7a44;
  --ap-blue: #0f9d58; --ap-blue-hover: #0b7a44; --ap-grad: linear-gradient(90deg, #0f9d58, #0e8a7a);
  --name-first: #0d2a21; --name-last: #0f9d58;
  --md-default-bg-color: #f5f7f3; --md-default-fg-color: #14201a; --md-default-fg-color--light: #5a6a60;
  --md-default-fg-color--lighter: #7d8b82; --md-default-fg-color--lightest: rgba(15, 120, 70, .12);
  --md-primary-fg-color: #eaeee8; --md-primary-bg-color: #14201a; --md-primary-bg-color--light: rgba(20, 32, 26, .7);
  --md-accent-fg-color: #0b7a44; --md-typeset-color: #14201a; --md-typeset-a-color: #0b7a44; --md-typeset-table-color: rgba(15, 120, 70, .2);
  --md-code-bg-color: #eaeee8; --md-code-fg-color: #14201a;
  --md-footer-bg-color: #f5f7f3; --md-footer-bg-color--dark: #f5f7f3; --md-footer-fg-color: #5a6a60; --md-footer-fg-color--light: #5a6a60; --md-footer-fg-color--lighter: #7d8b82;
}
/* Terminalska okna in bloki kode so vedno črna (atribut doda hooks/dark_code.py) */
.window[data-md-color-scheme="slate"], .highlight[data-md-color-scheme="slate"] { color: #d5ded7; }
.highlight[data-md-color-scheme="slate"] { background: #0a0f0c; border-radius: 10px; }
.highlight[data-md-color-scheme="slate"] pre, .highlight[data-md-color-scheme="slate"] code { background: transparent; color: #d5ded7; }
[data-md-color-scheme="default"] .md-typeset .md-button--primary, [data-md-color-scheme="default"] .md-typeset .md-button--primary:hover { color: #fff; }
[data-md-color-scheme="default"] body::after, body[data-md-color-scheme="default"]::after { display: none; }

/* ---------- Naslov: neonsko žarenje (samo temna tema), podnaslov umirjen ---------- */
.display .nm-first { color: var(--name-first, #fff); }
.display .nm-last { color: var(--name-last, #2bf08f); }
[data-md-color-scheme="slate"] .display .nm-first { text-shadow: 0 0 22px rgba(255, 255, 255, .3); }
[data-md-color-scheme="slate"] .display .nm-last { text-shadow: 0 0 10px rgba(43, 240, 143, .6), 0 0 34px rgba(43, 240, 143, .38), 0 0 70px rgba(43, 240, 143, .2); }
[data-md-color-scheme="default"] .display .nm-first, [data-md-color-scheme="default"] .display .nm-last { text-shadow: none; }
.eyebrow { color: var(--ap-muted) !important; letter-spacing: .24em; }

/* ---------- Glava: enaki okrogli gumbi (jezik, iskanje, tema) ---------- */
.md-header__inner { position: relative; gap: 0; }
.md-header__inner > .md-header__option:not(form) { order: 6; }
.md-header__button[for="__search"] { order: 7; }
.md-header__inner > .md-search { order: 8; }
.md-header__inner > form.md-header__option { order: 9; }
.md-header__button.md-icon:not([for="__drawer"]):not(.md-logo), .hbtn {
  display: inline-grid; place-items: center; width: 36px; height: 36px; margin: 0 0 0 .4rem; padding: 0; flex: none;
  border: 1px solid var(--ap-line); border-radius: 50%; background: transparent; color: var(--ap-text); opacity: 1; cursor: pointer;
  transition: background-color .18s, border-color .18s;
}
.md-header__button.md-icon:not([for="__drawer"]):not(.md-logo):hover, .hbtn:hover, .hbtn[aria-expanded="true"] { background: rgba(var(--accent-rgb), .12); border-color: var(--accent); }
.md-header__button.md-icon:not([for="__drawer"]) svg, .hbtn svg { width: 20px; height: 20px; margin: 0; fill: currentColor; opacity: 1; }
.md-header__option { margin: 0; padding: 0; }
.langtoggle { display: inline-flex; align-items: center; margin-left: .4rem; }
.langtoggle .hbtn { margin: 0; }
.langtoggle__pill { display: inline-flex; align-items: center; height: 36px; max-width: 0; margin-left: 0; overflow: hidden; visibility: hidden; opacity: 0; border: 1px solid transparent; border-radius: 999px; transition: max-width .25s ease, opacity .2s ease, margin .25s ease; }
.langtoggle[data-open="true"] .langtoggle__pill { max-width: 140px; margin-left: .4rem; visibility: visible; opacity: 1; border-color: var(--ap-line); }
.langtoggle__pill a, .langtoggle__pill .is-on { display: inline-block; padding: .35rem .75rem; border-radius: 999px; color: var(--ap-muted); font-size: .72rem; font-weight: 700; text-decoration: none; }
.langtoggle__pill .is-on { background: var(--ap-text); color: var(--ap-bg); }
.langtoggle__pill a:hover { color: var(--ap-text); }
@media (min-width: 60em) {
  /* iskanje: okrogli gumb, polje se odpre pod glavo */
  .md-header__button[for="__search"] { display: inline-grid !important; }
  .md-search__inner { position: absolute; top: calc(100% + 8px); right: 0; left: auto; float: none; width: min(26rem, calc(100vw - 2rem)); visibility: hidden; opacity: 0; transform: translateY(-6px); transition: opacity .2s, transform .2s, visibility .2s; }
  [data-md-toggle="search"]:checked ~ .md-header .md-search__inner { visibility: visible; opacity: 1; transform: none; }
  .md-search__form { width: 100%; height: 2.4rem; }
  .md-search__output { position: static; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .langtoggle__pill, .md-search__inner { transition: none; } }

/* ---------- Nazaj na vrh: majhen okrogel gumb spodaj desno ---------- */
.md-top { top: auto !important; bottom: 66px; left: auto !important; right: 16px; width: 40px; height: 40px; margin: 0; padding: 0; transform: none !important; border-radius: 50%; font-size: 0; display: grid; place-items: center; border: 1px solid var(--ap-line); background: var(--ap-glass); color: var(--ap-text); }
.md-top svg { margin: 0; width: 20px; height: 20px; }
.md-top[hidden] { opacity: 0; transform: translateY(.4rem) !important; }

/* ---------- Oblike: FAQ in kartice (zaobljeni robovi obrežejo ozadje naslova) ---------- */
.md-typeset details, .md-typeset .admonition { overflow: hidden; }
.md-typeset details > summary { border-radius: inherit; }
.md-typeset details.question, .md-typeset .admonition.question { border-color: var(--ap-line); }
.md-typeset details.question > summary::before, .md-typeset .question > .admonition-title::before { background-color: var(--accent); }
.md-typeset details.question > summary::after { color: var(--accent); }

/* ---------- Kazalo ---------- */
.md-sidebar--secondary .md-sidebar__scrollwrap { padding-bottom: 1rem; }
.md-nav--secondary .md-nav__list { padding-right: .5rem; }
.md-nav--secondary .md-nav__link { overflow-wrap: anywhere; }

/* ---------- Trak znamk in produktov (samo tipografija) ---------- */
.band--marquee { padding-left: 0; padding-right: 0; overflow: hidden; }
.mq { position: relative; }
.mq-pause { position: absolute; opacity: 0; pointer-events: none; }
.mq-toggle { display: block; width: max-content; margin: .2rem auto 1.4rem; padding: .3rem .9rem; border: 1px solid var(--ap-line); border-radius: 999px; color: var(--ap-muted); font-family: var(--md-code-font); font-size: .66rem; cursor: pointer; }
.mq-toggle__on, .mq-pause:checked + .mq-toggle .mq-toggle__off { display: none; }
.mq-pause:checked + .mq-toggle .mq-toggle__on { display: inline; }
.mq-pause:focus-visible + .mq-toggle { outline: 2px solid var(--accent); outline-offset: 3px; }
.marquee { --gap: clamp(1.8rem, 4.5vw, 3.6rem); position: relative; overflow: hidden; padding: .35rem 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee + .marquee { margin-top: .9rem; }
.marquee__track { display: flex; width: max-content; animation: marquee var(--dur, 150s) linear infinite; will-change: transform; }
.marquee--rev .marquee__track { animation-direction: reverse; }
.marquee:hover .marquee__track, .mq-pause:checked ~ .marquee .marquee__track { animation-play-state: paused; }
[dir] .md-typeset ul.marquee__list:not([hidden]) { display: flex; flex: none; align-items: center; margin: 0; padding: 0; list-style: none; }
[dir] .md-typeset ul.marquee__list > li { display: flex; align-items: center; margin: 0; padding: 0; white-space: nowrap; line-height: 1.2; }
[dir] .md-typeset ul.marquee__list > li::after { content: ""; flex: none; width: .26em; height: .26em; margin: 0 var(--gap); border-radius: 50%; background: rgba(var(--accent-rgb), .55); transform: translateY(var(--dot-y, 0)); }
.md-typeset .marquee__list a, .md-typeset .marquee__list span { display: inline-flex; align-items: center; color: inherit; text-decoration: none; }
.md-typeset .marquee__list a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 6px; }
.mq-ico, .mq-mono { display: none; }
.md-typeset .marquee--brands > .marquee__track > ul > li { --dot-y: -.07em; font-size: clamp(2.2rem, 7vw, 5rem); font-weight: 800; letter-spacing: .01em; text-transform: uppercase; color: var(--ap-text); }
.md-typeset .marquee--tech > .marquee__track > ul > li { --dot-y: -.03em; font-size: clamp(1.8rem, 5.8vw, 4.1rem); font-family: var(--md-code-font); font-weight: 700; letter-spacing: -.02em; color: transparent; -webkit-text-stroke: 1.3px rgba(var(--text-rgb), .62); transition: color .2s, -webkit-text-stroke-color .2s; }
.md-typeset .marquee--tech li a:hover { color: var(--accent); -webkit-text-stroke-color: var(--accent); }
.md-typeset .marquee--brands li a:hover { color: var(--accent); }
.marquee--brands { --dur: 150s; } .marquee--tech { --dur: 210s; }
@media (max-width: 760px) { .marquee--brands { --dur: 80s; } .marquee--tech { --dur: 110s; } }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .marquee__track { animation: none; } .marquee { overflow-x: auto; -webkit-mask-image: none; mask-image: none; } .mq-toggle { display: none; } }

/* ---------- Ozadja (gumb π spodaj desno) ---------- */
#bg-layer { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
#bg-layer canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
body[data-bg]:not([data-bg="hero"]):not([data-bg="none"]) :is(.md-container, .md-main, .band, .band--alt, .band--dark, .md-footer) { background: transparent !important; }
body[data-bg]:not([data-bg="hero"]) .band--hero::before, body[data-bg]:not([data-bg="hero"]) .netfx, body[data-bg]:not([data-bg="hero"]) .band--hero canvas { display: none; }
.bg-aur i { position: absolute; width: 60vmax; height: 60vmax; border-radius: 50%; filter: blur(90px); opacity: .32; animation: bgdrift 26s ease-in-out infinite alternate; }
.bg-aur i:nth-child(1) { left: -15vmax; top: -20vmax; background: radial-gradient(circle, rgba(var(--accent-rgb), .9), transparent 65%); }
.bg-aur i:nth-child(2) { right: -20vmax; top: 10vmax; background: radial-gradient(circle, rgba(34, 211, 238, .8), transparent 65%); animation-duration: 32s; animation-delay: -8s; }
.bg-aur i:nth-child(3) { left: 20vmax; bottom: -30vmax; background: radial-gradient(circle, rgba(139, 92, 246, .7), transparent 65%); animation-duration: 38s; animation-delay: -15s; }
[data-md-color-scheme="default"] .bg-aur i { opacity: .2; }
@keyframes bgdrift { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(8vmax, 6vmax, 0) scale(1.15); } }
.bg-grid { perspective: 520px; }
.bg-grid::before { content: ""; position: absolute; left: -60%; right: -60%; bottom: -8%; height: 78%; transform: rotateX(64deg); transform-origin: 50% 100%;
  background-image: linear-gradient(rgba(var(--accent-rgb), .38) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--accent-rgb), .38) 1px, transparent 1px); background-size: 64px 64px;
  animation: bggrid 4s linear infinite; -webkit-mask-image: linear-gradient(to top, #000 20%, transparent 95%); mask-image: linear-gradient(to top, #000 20%, transparent 95%); }
.bg-grid::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 60%; background: radial-gradient(60% 70% at 50% 100%, rgba(var(--accent-rgb), .22), transparent 70%); }
@keyframes bggrid { from { background-position: 0 0, 0 0; } to { background-position: 0 64px, 0 0; } }
.bg-dots { background-image: radial-gradient(rgba(var(--accent-rgb), .3) 1.2px, transparent 1.5px); background-size: 26px 26px; }
.bg-dots::after { content: ""; position: absolute; inset: 0; background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 30%), rgba(var(--accent-rgb), .22), transparent 70%); }
@media (prefers-reduced-motion: reduce) { #bg-layer *, #bg-layer::before { animation: none !important; } }
.pi { position: fixed; right: 16px; bottom: 16px; z-index: 60; }
.pi__btn { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--ap-line); border-radius: 50%; background: var(--ap-glass); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: var(--accent); font: 700 1.25rem/1 Georgia, "Times New Roman", serif; cursor: pointer; transition: border-color .18s, background-color .18s; }
.pi__btn:hover, .pi__btn[aria-expanded="true"] { border-color: var(--accent); background: rgba(var(--accent-rgb), .14); }
.pi__panel { display: none; position: absolute; right: 0; bottom: 48px; min-width: 13rem; padding: .5rem; border: 1px solid var(--ap-line); border-radius: 14px; background: var(--ap-glass); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.pi.open .pi__panel { display: grid; gap: 2px; }
.pi__title { padding: .25rem .6rem .35rem; color: var(--ap-muted); font: 600 .6rem var(--md-code-font); letter-spacing: .14em; text-transform: uppercase; }
.pi__opt { padding: .4rem .6rem; border: 0; border-radius: 8px; background: transparent; color: var(--ap-text); font: .74rem var(--md-code-font); text-align: left; cursor: pointer; }
.pi__opt:hover { background: rgba(var(--accent-rgb), .1); }
.pi__opt[aria-checked="true"] { background: rgba(var(--accent-rgb), .18); color: var(--accent); font-weight: 700; }
@media print { .pi, #bg-layer { display: none; } }

/* ---------- Noga in podpora ---------- */
.md-copyright { line-height: 1.5; }
.md-copyright__highlight { line-height: 1.6; }
.donate { margin-top: .6rem; padding: .5rem .8rem; border: 1px solid var(--ap-line); border-radius: 12px; font-size: .7rem; }
.donate summary { cursor: pointer; font-weight: 600; }
.donate ul { margin: .4rem 0 0; padding: 0; list-style: none; }
.donate li { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin: .25rem 0; }
.donate code { word-break: break-all; }
.donate__copy { padding: .1rem .55rem; border: 1px solid var(--ap-line); border-radius: 999px; background: transparent; color: var(--ap-text); font: inherit; cursor: pointer; }

/* ---------- Git graf ---------- */
.gg { --row: 64px; position: relative; margin: 1.5rem 0; font-family: var(--md-code-font); }
.gg svg { position: absolute; left: 0; top: 0; width: 150px; height: 100%; overflow: visible; }
.gg ol { margin: 0; padding: 0 0 0 150px; list-style: none; }
[dir] .md-typeset .gg ol > li { display: flex; flex-direction: column; justify-content: center; height: var(--row); margin: 0; padding: 0; overflow: hidden; }
.gg__msg { font-size: .72rem; color: var(--ap-text); line-height: 1.35; }
.gg__meta { font-size: .6rem; color: var(--ap-muted); }
.gg__tag { display: inline-block; margin-left: .5rem; padding: 0 .45rem; border: 1px solid currentColor; border-radius: 999px; font-size: .55rem; }
.gg .l0 { color: var(--accent); } .gg .l1 { color: #22d3ee; } .gg .l2 { color: #f59e0b; } .gg .l3 { color: #a78bfa; }
.gg path { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.gg circle { fill: var(--ap-bg); stroke: currentColor; stroke-width: 2.4; }
.gg circle.merge { fill: currentColor; }
.gg__note { color: var(--ap-muted); font-size: .72rem; }
@media (max-width: 480px) { .gg svg { width: 120px; } .gg ol { padding-left: 120px; } }

/* Shema laba: skupina kontejnerjev */
.topo .grp { fill: none; stroke: var(--ap-line); stroke-width: 1.2; }
.topo .grp-label { fill: var(--ap-muted); font: 600 9px var(--md-code-font); letter-spacing: .14em; }

/* Temni pasovi imajo svetlo pisavo tudi na svetli temi; gumb obrazca ima temno pisavo na neonski zeleni */
.band--dark[data-md-color-scheme="slate"] { color: #d5ded7; background-color: #0c110e; }
[data-md-color-scheme="slate"] .cf__btn { color: #04130a; }

/* Telefon: gumbi v glavi malo ožji, da naslov ni obrezan */
@media (max-width: 480px) {
  .md-header__button.md-icon:not([for="__drawer"]):not(.md-logo), .hbtn { width: 34px; height: 34px; margin-left: .25rem; }
  .langtoggle { margin-left: .25rem; }
  .md-header__title { margin-left: .4rem; margin-right: .2rem; }
  .md-header__topic { max-width: none; }
}

/* Skrite oznake: Material jih uporablja za neaktivno ikono teme */
.md-header__button[hidden], .md-header__option label[hidden] { display: none !important; }
.langtoggle .hbtn svg { display: block; }

.topo .grp-label { text-anchor: start; }

/* Glava se skrije ob drsenju navzdol in se pokaže ob drsenju navzgor */
.md-header { transition: transform .28s ease; }
.md-header.hdr-hidden { transform: translateY(-110%); }
@media (prefers-reduced-motion: reduce) { .md-header { transition: none; } }
