/* Domača stran inštituta (Dušan Gleich, oktober 2026). Naloži se samo na domači strani glavnega spletišča. */
/* Interaktivna zaprta zanka (razdelek #zanka) */
.lp { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.lp > * { min-width: 0; }
.lp button { font: inherit; }
.lp-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.lp-ex { display: flex; flex-wrap: wrap; gap: 10px; }
.lp-exbtn {
	display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 0;
	border: 1.5px solid rgba(175,223,228,.45); background: rgba(175,223,228,.06); color: var(--au-mist);
	font-weight: 600; font-size: 15px; cursor: pointer; transition: background .2s, color .2s, border-color .2s;
}
.lp-exbtn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.lp-exbtn:hover { border-color: var(--au-mint); background: rgba(175,223,228,.16); }
.lp-exbtn[aria-pressed="true"] { background: var(--au-mint); border-color: var(--au-mint); color: var(--au-night); }
/* Utripajoč okvir: tudi izbira primera je klikljiva */
.lp-exbtn { --lp-ring: 175,223,228; animation: lpBtnPulse 2.4s ease-in-out infinite; }
.lp-exbtn:nth-child(2) { animation-delay: .3s; }
.lp-exbtn:nth-child(3) { animation-delay: .6s; }
.lp-exbtn:nth-child(4) { animation-delay: .9s; }
.lp-exbtn:hover, .lp-exbtn:focus-visible { animation: none; }
.lp-hint { display: flex; align-items: center; gap: 10px; margin: 0; font-family: var(--au-mono); font-size: 13px; color: var(--au-soft); }
.lp-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--au-mint); animation: lpDot 1.8s infinite; }
@keyframes lpDot { 0% { box-shadow: 0 0 0 0 rgba(175,223,228,.7); } 70%, 100% { box-shadow: 0 0 0 11px rgba(175,223,228,0); } }

.lp-stage { position: relative; border-radius: 0; overflow: hidden; border: 1px solid rgba(175,223,228,.22); background: #002a38; }
.lp-scenes, .lp-scene { position: absolute; inset: 0; width: 100%; height: 100%; }
.lp-scene { opacity: 0; transition: opacity .7s ease; }
.lp-scene.is-on { opacity: 1; }
.lp-stage::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 55% 50%, rgba(6,29,35,.62), rgba(6,29,35,.2) 75%); }
.lp-scroll { position: relative; z-index: 1; overflow-x: auto; }
.lp-scroll svg { display: block; width: 100%; min-width: 720px; height: auto; font-family: var(--wp--preset--font-family--body); }
.lp-caption { position: absolute; z-index: 2; left: 14px; bottom: 12px; margin: 0; padding: 6px 12px; border-radius: 0; background: rgba(0,59,79,.85); border: 1px solid rgba(175,223,228,.3); font-family: var(--au-mono); font-size: 12px; color: var(--au-mint); pointer-events: none; }

/* Okvirji v ozadju sheme: parametri okolja, avtonomni sistem, vpliv na okolje, odziv okolja */
.lp-zone { fill: rgba(175,223,228,.07); stroke: rgba(175,223,228,.38); stroke-width: 1.2; stroke-dasharray: 5 5; }
.lp-zonetxt { font-family: var(--au-mono); font-size: 10px; letter-spacing: .1em; fill: rgba(175,223,228,.75); }

/* Bloki in signali v shemi */
.lp-wire { fill: none; stroke: rgba(231,245,247,.6); stroke-width: 2; }
.lp-flow { fill: none; stroke: var(--au-mint); stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 3 17; animation: lpFlow 1.1s linear infinite; }
@keyframes lpFlow { to { stroke-dashoffset: -20; } }
.lp-b { cursor: pointer; outline: none; }
.lp-box { fill: rgba(0,59,79,.88); stroke: var(--au-mint); stroke-width: 1.6; transition: fill .2s; }
.lp-halo { fill: none; stroke: var(--au-mint); opacity: 0; animation: lpPulse 2.4s ease-in-out infinite; }
@keyframes lpPulse { 0%, 100% { opacity: 0; stroke-width: 1; } 50% { opacity: .95; stroke-width: 7; } }
.lp-role { font-family: var(--au-mono); font-size: 10px; letter-spacing: .08em; fill: var(--au-mint); }
.lp-name { font-size: 13.5px; font-weight: 600; fill: var(--au-mist); }
.lp-sum { font-size: 22px; font-weight: 700; fill: var(--au-mist); }
.lp-sign { font-family: var(--au-mono); font-size: 14px; fill: var(--au-mint); }
.lp-sig { font-family: var(--au-mono); font-size: 14px; font-weight: 600; fill: var(--au-mint); }
.lp-val { font-family: var(--au-mono); font-size: 11.5px; fill: var(--au-soft); }
.lp-out { font-size: 13.5px; font-weight: 600; fill: var(--au-mist); }
.lp-fbtxt { font-family: var(--au-mono); font-size: 11px; letter-spacing: .06em; fill: var(--au-soft); }
.lp-b:hover .lp-box, .lp-b:focus-visible .lp-box { fill: rgba(0,107,142,.85); }
.lp-b:focus-visible .lp-halo { animation: none; opacity: 1; stroke: #fff; stroke-width: 3; }
.lp-b.is-sel .lp-box { fill: var(--au-mint); }
.lp-b.is-sel .lp-name, .lp-b.is-sel .lp-role, .lp-b.is-sel .lp-sum { fill: var(--au-night); }
.lp-b.is-sel .lp-halo { animation: none; opacity: 1; stroke-width: 4; }
.lp-b.is-hit .lp-box { fill: rgba(255,190,110,.55); }
.lp-fbhit { fill: none; stroke: transparent; stroke-width: 24; }
.lp-fbglow { fill: none; stroke: var(--au-mint); opacity: 0; animation: lpPulse 2.4s ease-in-out infinite; }
.lp-b.is-sel .lp-fbglow { animation: none; opacity: .9; stroke-width: 5; }
.lp-cut { display: none; }
#lp-svg.is-open .lp-fb .lp-wire { stroke: #ff9b8a; stroke-dasharray: 7 6; }
#lp-svg.is-open .lp-fb .lp-flow { display: none; }
#lp-svg.is-open .lp-cut { display: inline; }
.lp-gear { transform-box: fill-box; transform-origin: center; animation: lpSpin 14s linear infinite; }
.lp-gear--rev { animation-direction: reverse; animation-duration: 9s; }
@keyframes lpSpin { to { transform: rotate(360deg); } }

/* Opis bloka in simulacija */
.lp-bottom { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.lp-sim { background: rgba(231,245,247,.04); border: 1px solid rgba(175,223,228,.18); border-radius: 0; padding: 22px; min-width: 0; }
.lp-cbtn {
	padding: 8px 15px; border-radius: 0; border: 1.5px solid rgba(175,223,228,.5); background: transparent;
	color: var(--au-mint); font-family: var(--au-mono); font-size: 13px; cursor: pointer; transition: background .2s, color .2s;
}
.lp-cbtn:hover { background: var(--au-mint); color: var(--au-night); }
/* Utripajoč okvir: gumbi simulacije so klikljivi */
.lp-cbtn { --lp-ring: 175,223,228; animation: lpBtnPulse 2.4s ease-in-out infinite; }
.lp-cbtn:nth-child(2) { animation-delay: .4s; }
.lp-cbtn:nth-child(3) { animation-delay: .8s; }
.lp-cbtn#lp-fb[aria-pressed="false"] { --lp-ring: 255,155,138; }
.lp-cbtn:hover, .lp-cbtn:focus-visible { animation: none; }
@keyframes lpBtnPulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(var(--lp-ring), 0); border-color: rgba(var(--lp-ring), .5); }
	50% { box-shadow: 0 0 0 5px rgba(var(--lp-ring), .28), 0 0 16px rgba(var(--lp-ring), .45); border-color: rgb(var(--lp-ring)); }
}
.lp-cbtn#lp-fb[aria-pressed="false"] { border-color: #ff9b8a; color: #ff9b8a; }
.lp-cbtn#lp-fb[aria-pressed="false"]:hover { background: #ff9b8a; color: var(--au-night); }
.lp-simhead { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; align-items: baseline; margin-bottom: 10px; }
.lp-simhead p { margin: 0; }
.lp-read { font-family: var(--au-mono); font-size: 13px; color: var(--au-mist); }
#lp-chart { display: block; width: 100%; height: 220px; }
.lp-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 8px; font-family: var(--au-mono); font-size: 12px; color: var(--au-soft); }
.lp-legend span::before { content: ""; display: inline-block; width: 18px; height: 0; margin-right: 7px; vertical-align: middle; border-top: 2.5px solid var(--au-mint); }
.lp-legend .k-r::before { border-top: 2px dashed var(--au-soft); }
.lp-legend .k-y { color: #7cc4ff; }
.lp-legend .k-y::before { border-top-color: #7cc4ff; }
.lp-sig--y { fill: #7cc4ff; font-size: 19px; }
/* Referenca: vrednost nad blokom in gumb pod njim */
.lp-refval { font-family: var(--au-mono); font-size: 15px; font-weight: 700; fill: var(--au-mint); }
.lp-refval.is-new { animation: lpRefNew 1s ease-out; }
@keyframes lpRefNew { 0% { fill: #fff; font-size: 19px; } 100% { fill: var(--au-mint); font-size: 15px; } }
.lp-refbtn { cursor: pointer; outline: none; }
.lp-refbtn__box { fill: rgba(0,59,79,.9); stroke: var(--au-mint); stroke-width: 1.5; animation: lpRefPulse 2.4s ease-in-out infinite; transition: fill .2s; }
@keyframes lpRefPulse { 0%, 100% { stroke-width: 1.5; } 50% { stroke-width: 4; } }
.lp-refbtn__txt { font-family: var(--au-mono); font-size: 10.5px; fill: var(--au-mint); }
.lp-refbtn:hover .lp-refbtn__box, .lp-refbtn:focus-visible .lp-refbtn__box { fill: var(--au-mint); animation: none; }
.lp-refbtn:hover .lp-refbtn__txt, .lp-refbtn:focus-visible .lp-refbtn__txt { fill: var(--au-night); }
@media (prefers-reduced-motion: reduce) { .lp-refbtn__box, .lp-refval.is-new { animation: none; } }
.lp-val--y { fill: #7cc4ff; }
.lp-legend .k-d::before { height: 10px; border: 0; background: rgba(255,190,110,.35); }
.lp-ctrl { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.au-section--dark .au-lead strong { color: var(--au-mint); }
/* Razdelki se stikajo brez presledka; #zanka je na beli podlagi, shema in plošči ostaneta temni. */
.au-main > * { margin-block-start: 0 !important; }
.au-main > #zanka { border-top: 0; }
/* Predmetnik (02): vsak drugi blok temen s svetlim besedilom */
#studij .au-curr__col:nth-child(even) { background: var(--au-teal); border-color: var(--au-teal); color: #fff; }
#studij .au-curr__col:nth-child(even) .au-meta { color: #d6eef1; }
#studij .au-curr__col:nth-child(even) li { color: #fff; border-color: rgba(255,255,255,.22); }
/* Slike laboratorijev */
.lab-fig { margin: 0 0 16px !important; }
.lab-fig img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; border: 1px solid var(--au-line); }
.lab-fig--two { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.lab-fig--two img { aspect-ratio: 4 / 5; }
.lab-fig--two img + img { object-position: 6% center; }
.lab-fig--two figcaption { grid-column: 1 / -1; }
.lab-fig figcaption { margin-top: 8px; font-size: 13px; line-height: 1.45; color: var(--au-muted); }
.lab-fig figcaption a { color: var(--au-teal); }
/* Vsi razdelki: manjši zgornji in spodnji razmik (tema: 104 px, na telefonu 72 px). */
.au-section { padding-top: 40px; padding-bottom: 48px; }
@media (max-width: 640px) { .au-section { padding-top: 28px; padding-bottom: 32px; } }
/* Glava: napis »Elektrotehnika · smer …« bližje vrhu, manj prostora pod besedilom */
.au-hero__inner { padding-top: 40px; padding-bottom: 48px; }
@media (max-width: 640px) { .au-hero__inner { padding-top: 28px; padding-bottom: 32px; } }
#zanka .lp-exbtn { --lp-ring: 0,107,142; color: var(--au-night); border-color: rgba(0,107,142,.45); background: rgba(0,107,142,.05); }
#zanka .lp-exbtn:hover { border-color: var(--au-teal); background: rgba(0,107,142,.12); }
#zanka .lp-exbtn[aria-pressed="true"] { background: var(--au-night); border-color: var(--au-night); color: var(--au-mint); }
#zanka .lp-hint { color: var(--au-muted); }
#zanka .lp-dot { background: var(--au-teal); }
#zanka .lp-sim { background: var(--au-night); border-color: var(--au-night); }
#zanka .lp-sim .au-meta { color: var(--au-mint); }
/* Okence z opisom ob kazalcu */
.lp-pop { position: fixed; z-index: 1000; max-width: min(340px, calc(100vw - 24px)); padding: 14px 16px; border-radius: 0; background: var(--au-night); color: var(--au-mist); border: 1.5px solid var(--au-mint); box-shadow: 0 12px 32px rgba(0,0,0,.35), 0 0 0 4px rgba(175,223,228,.15); pointer-events: none; opacity: 0; transform: translateY(6px) scale(.98); transition: opacity .18s ease, transform .18s ease; }
.lp-pop.is-on { opacity: 1; transform: none; }
.lp-pop p { margin: 0; }
.lp-pop__role { font-family: var(--au-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--au-mint); }
.lp-pop__title { margin: 4px 0 8px !important; font-family: var(--au-display); font-weight: 700; font-size: 19px; line-height: 1.15; color: #fff; }
.lp-pop__gen { font-size: 14px; line-height: 1.5; color: var(--au-soft); }
.lp-pop__spec { margin-top: 8px !important; font-size: 14px; line-height: 1.5; color: var(--au-mist); }
.lp-pop__spec strong { color: var(--au-mint); }
@media (prefers-reduced-motion: reduce) { .lp-pop { transition: none; transform: none; } }

/* Zaključna dela študentov (#diplome) */
.dp-list { display: grid; gap: 28px; }
.dp { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr); gap: 32px; align-items: start; padding: 28px; background: #fff; border: 1px solid var(--au-line); border-radius: 0; }
.dp-text > * { margin: 0 0 12px; }
.dp-num { font-family: var(--au-display); font-weight: 700; font-size: 44px; line-height: 1; color: var(--au-teal); }
.dp h3 { font-size: 28px; }
.dp-author { font-weight: 600; color: var(--au-text); }
.dp-author span { display: block; font-weight: 400; font-size: 14px; color: var(--au-muted); }
.dp-full { font-style: italic; color: var(--au-muted); font-size: 15px; border-left: 3px solid var(--au-mint); padding-left: 12px; }
.dp-text p:not([class]) { color: var(--au-muted); }
.dp-links { display: flex; flex-wrap: wrap; gap: 8px 18px; font-family: var(--au-mono); font-size: 14px; }
.dp-links a { color: var(--au-teal); font-weight: 500; }
.dp-photo { margin: 4px 0 14px; }
.dp-photo img { display: block; width: 100%; height: auto; border-radius: 0; border: 1px solid var(--au-line); }
.dp-photo figcaption { margin-top: 6px; font-size: 12px; color: var(--au-muted); }
.dp-sim { min-width: 0; padding: 14px; border-radius: 0; background: var(--au-night); color: var(--au-mist); }
.dp-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 10px; font-family: var(--au-mono); font-size: 12.5px; color: var(--au-mint); }
.dp-bar span:last-child { color: var(--au-soft); opacity: .8; }
.dp-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--au-mint); animation: lpDot 1.8s infinite; }
.dp-canvas { display: block; width: 100%; height: 320px; border-radius: 0; background: #002a38; cursor: pointer; touch-action: manipulation; }
#dp-pend, #dp-tunnel { height: 380px; }
#dp-ai { height: 360px; cursor: default; }
#dp-tunnel { cursor: default; }
.dp-mode { padding: 8px 15px; border-radius: 0; border: 1.5px solid rgba(175,223,228,.5); background: transparent; color: var(--au-mint); font-family: var(--au-mono); font-size: 13px; cursor: pointer; animation: lpBtnPulse 2.4s ease-in-out infinite; --lp-ring: 175,223,228; }
.dp-mode:nth-child(2) { animation-delay: .4s; }
.dp-mode:nth-child(3) { animation-delay: .8s; }
.dp-mode[aria-pressed="true"] { background: var(--au-mint); color: var(--au-night); animation: none; }
.dp-mode:hover { background: rgba(175,223,228,.18); animation: none; }
.dp-ctrl { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 12px; }
.dp-field { display: inline-flex; align-items: center; gap: 8px; font-family: var(--au-mono); font-size: 13px; color: var(--au-soft); }
.dp-field--wide { flex: 1 1 260px; }
.dp-field--wide input { flex: 1; }
.dp-field input[type="range"] { accent-color: var(--au-mint); min-width: 110px; }
.dp-field select { font: inherit; color: var(--au-mist); background: #004a63; border: 1.5px solid rgba(175,223,228,.5); border-radius: 0; padding: 6px 12px; }
.dp-field output { min-width: 58px; color: var(--au-mist); }
.dp-ghost { padding: 8px 15px; border-radius: 0; border: 1.5px solid rgba(214,238,241,.3); background: transparent; color: var(--au-soft); font-family: var(--au-mono); font-size: 13px; cursor: pointer; }
.dp-ghost:hover { border-color: var(--au-mint); color: var(--au-mint); }
.dp-ghost[aria-pressed="true"] { border-color: #ff9b8a; color: #ff9b8a; }
.dp-note { margin: 10px 0 0; font-size: 13px; color: var(--au-soft); }
.dp-note a { color: var(--au-mint); }
.dp-berry { display: grid; gap: 10px; padding: 10px; border-radius: 0; background: #002a38; }
.dp-berry svg { display: block; width: 100%; height: auto; max-height: 240px; }
.dp-spectrum { display: block; width: 100%; height: 110px; }
.dp-fpi { fill: #ffcf8a; transition: fill .2s; }
.dp-svgtxt { font-family: var(--au-mono); font-size: 13px; fill: var(--au-soft); }
@media (max-width: 900px) {
	.dp { grid-template-columns: minmax(0, 1fr); padding: 18px; gap: 20px; }
	.dp-canvas { height: 280px; }
	#dp-pend, #dp-tunnel { height: 340px; }
	#dp-ai { height: 420px; }
}
@media (prefers-reduced-motion: reduce) { .dp-dot { animation: none; } }

/* Menjajoči se slogani v glavi */
.au-slogans { display: grid; cursor: pointer; }
.au-slogan { grid-area: 1 / 1; align-self: start; }
.au-slogan .w { display: inline-block; opacity: 0; transform: translateY(.45em); filter: blur(6px); transition: opacity .55s ease, transform .55s cubic-bezier(.2,.7,.2,1), filter .55s ease; }
.au-slogan.is-on .w { opacity: 1; transform: none; filter: none; }
.au-slogan.is-out .w { opacity: 0; transform: translateY(-.35em); filter: blur(6px); transition-duration: .35s; }
.au-slogan-nav { display: flex; align-items: center; gap: 8px; margin-top: -10px !important; }
.au-slogan-dot { position: relative; width: 12px; height: 12px; padding: 0; border: 0; border-radius: 0; background: rgba(175,223,228,.3); cursor: pointer; overflow: hidden; transition: width .35s ease, background .2s; }
.au-slogan-dot:hover { background: rgba(175,223,228,.55); }
.au-slogan-dot[aria-pressed="true"] { width: 46px; }
.au-slogan-dot span { position: absolute; inset: 0; width: 0; background: var(--au-mint); border-radius: inherit; }
.au-slogan-dot[aria-pressed="true"] span { animation: auSloganFill var(--au-slogan-time, 5s) linear forwards; }
.au-slogans-paused .au-slogan-dot[aria-pressed="true"] span { animation-play-state: paused; }
.au-slogans-stopped .au-slogan-dot[aria-pressed="true"] span { animation: none; width: 100%; }
@keyframes auSloganFill { to { width: 100%; } }
.au-slogan-pause { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin-left: 6px; padding: 0; border: 1.5px solid rgba(175,223,228,.4); border-radius: 50%; background: transparent; color: var(--au-mint); cursor: pointer; }
.au-slogan-pause:hover { border-color: var(--au-mint); }
.au-slogan-pause svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.au-slogan-pause .i-play, .au-slogan-pause[aria-pressed="true"] .i-pause { display: none; }
.au-slogan-pause[aria-pressed="true"] .i-play { display: inline; fill: currentColor; }
@media (prefers-reduced-motion: reduce) {
	.au-slogan .w, .au-slogan.is-out .w { transform: none; filter: none; }
}
@media (max-width: 700px) {
	.lp-scroll svg { min-width: 640px; }
	.lp-caption { position: relative; left: auto; bottom: auto; display: block; margin: 0; border-radius: 0; border: 0; border-top: 1px solid rgba(175,223,228,.2); }
	.lp-caption::after { content: "  ← povleci shemo →"; color: var(--au-soft); }
	.lp-sim { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.lp-halo, .lp-fbglow { animation: none; opacity: .7; stroke-width: 2; stroke-dasharray: 4 4; }
	.lp-flow, .lp-dot, .lp-gear, .lp-cbtn, .lp-exbtn, .dp-mode { animation: none; }
}
/* Razdelki se izmenjujejo: bel (01, 03, 05) in papir (02, 04). Predmetnik na papirju: beli stolpci. */
#studij .au-curr__col:nth-child(odd) { background: #fff; }
#studij .au-tabs { background: #fff; border: 1px solid var(--au-line); }
