/* Selective light and a connected AI sequence */
#homelab .status-dot.online{background:#55e698;box-shadow:0 0 12px #55e69880;animation:serviceGlow 3s ease-in-out infinite}
#homelab .status-item:hover{border-color:#55e69855;background:#55e69808}
.architecture-scene::before{background:radial-gradient(ellipse,#63d9d51a,transparent 67%)}
.scene-core{border-color:#89d7d255;background:radial-gradient(circle at 25% 0%,#74d4d321,transparent 70%),linear-gradient(145deg,#192323,#070909 80%);box-shadow:0 28px 60px #0009,0 0 65px #64cacb10,inset 0 1px #c9f5f544}
.scene-core svg{color:#c4eeeb;filter:drop-shadow(0 0 12px #72dcd34d)}
.scene-connections .connection-packets{stroke:#89ddd4;opacity:.8}.orbit-one{border-color:#79d4cb30}.core-ring{border-color:#7ed5ce30}
.node-homarr{--node-color:#8bddba}.node-jellyfin{--node-color:#b6a0ef}.node-proxmox{--node-color:#eca269}.node-friday{--node-color:#8fbaf0}
.scene-node .node-icon{color:var(--node-color);background:color-mix(in srgb,var(--node-color) 8%,transparent);border-color:color-mix(in srgb,var(--node-color) 25%,transparent)}
.scene-node:hover{border-color:var(--node-color);box-shadow:0 15px 40px #0009,0 0 24px color-mix(in srgb,var(--node-color) 12%,transparent)}
.scene-status-dot{background:#72dfab;box-shadow:0 0 12px #72dfab70}
#ai-ecosystem{background:radial-gradient(ellipse at 50% 0%,#79d9d20c,transparent 60%),#0b0b0b}
#ai-ecosystem .ai-evolution{gap:100px 20px;padding:24px 0 0;isolation:isolate}
#ai-ecosystem .ai-evolution::before,#ai-ecosystem .ai-stage::after{content:none}
#ai-ecosystem .ai-core{opacity:1;transform:none;animation:none;min-height:78px;padding:18px 28px;background:linear-gradient(135deg,#183030,#0b1416);border-color:#7fdcd266;color:#b7e6e1;box-shadow:0 0 45px #7fdcd217,inset 0 1px #d2fffa25;gap:17px}
#ai-ecosystem .ai-core::before,#ai-ecosystem .ai-core::after{content:'';position:absolute;inset:-9px;border:1px solid #8ee7df22;border-radius:inherit;pointer-events:none}
#ai-ecosystem .ai-core::after{inset:-20px;border-color:#8ee7df0d}
#ai-ecosystem .ai-core i{font-size:25px;color:#8ee7df;filter:drop-shadow(0 0 8px #8ee7df70)}
.ecosystem-wiring{position:absolute;top:102px;left:0;width:100%;height:100px;overflow:visible;z-index:-1;pointer-events:none}
.ecosystem-wiring path{fill:none;stroke:#7db4b82b;stroke-width:1.3;vector-effect:non-scaling-stroke}
.ecosystem-wiring .signal{stroke:#95e5da;stroke-width:2;stroke-dasharray:5 95;stroke-dashoffset:100;filter:drop-shadow(0 0 4px #72ddcb)}
#ai-ecosystem .ai-stage{--agent:#8bddba;min-height:0;padding:25px;border:1px solid color-mix(in srgb,var(--agent) 23%,#171717);background:radial-gradient(ellipse at 0% 0%,color-mix(in srgb,var(--agent) 8%,transparent),transparent 65%),#0d0e0e;transition-delay:0s!important}
#ai-ecosystem .legacy{--agent:#c3a6ec}#ai-ecosystem .current{--agent:#8fbaf0}
#ai-ecosystem .ai-stage::before{top:-5px;width:7px;height:7px;background:var(--agent);box-shadow:0 0 18px var(--agent);border-color:#101616}
#ai-ecosystem .ai-stage:hover{border-color:var(--agent);box-shadow:0 15px 40px #0006,inset 0 1px #ffffff10}
#ai-ecosystem .stage-header{display:grid;grid-template-columns:46px minmax(0,1fr);gap:20px 14px;align-items:center}
#ai-ecosystem .stage-text{display:contents}#ai-ecosystem .stage-text h3{font-size:19px;margin:0;gap:7px}
#ai-ecosystem .tag-label{color:var(--agent);background:color-mix(in srgb,var(--agent) 9%,transparent);font-size:9px}
#ai-ecosystem .stage-icon{width:46px;height:46px;color:var(--agent);border-color:color-mix(in srgb,var(--agent) 30%,transparent);background:color-mix(in srgb,var(--agent) 7%,transparent);animation:none}
#ai-ecosystem .stage-text p,#ai-ecosystem .stage-details{grid-column:1/-1;margin:0}
#ai-ecosystem .stage-text p{font-size:14px;line-height:1.75;color:#b8bdbb}
#ai-ecosystem .stage-details{display:grid;gap:13px;padding-top:18px;border-top:1px solid #ffffff0d}
#ai-ecosystem .stage-details>span{opacity:1;color:#929c98;font-size:12px}#ai-ecosystem .stage-details>span>span{opacity:1}#ai-ecosystem .stage-details i{color:var(--agent)}
.ecosystem-controls{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.ecosystem-controls button{border:1px solid #ffffff20;background:#ffffff04;color:#a9b6b3;border-radius:20px;padding:8px 13px;cursor:pointer;font:11px inherit}.ecosystem-controls button:hover{color:#e2efeb;border-color:#85cebb66}
.ai-evolution.sequence-running .signal{animation:signalFlow 3.6s linear infinite}.ai-evolution.sequence-running .ai-core::before{animation:coreBreath 4s ease-in-out infinite}
#ai-ecosystem .sequence-running .ai-stage{animation:agentArrive .8s both}#ai-ecosystem .sequence-running .genesis{animation-delay:.3s}#ai-ecosystem .sequence-running .legacy{animation-delay:.65s}#ai-ecosystem .sequence-running .current{animation-delay:1s}
.ai-evolution.motion-paused *, .ai-evolution:not(.motion-in-view) *{animation-play-state:paused!important}
.project-catalog>.catalog-card:last-child:nth-child(3n + 1){grid-column:1/-1;min-height:0;display:grid;grid-template-columns:1fr 1.5fr;column-gap:40px;background:radial-gradient(ellipse at 90% 50%,#8fbaf00c,transparent 65%),#0c0c0c}
.project-catalog>.catalog-card:last-child:nth-child(3n + 1) .catalog-topline{grid-column:1/-1}.project-catalog>.catalog-card:last-child:nth-child(3n + 1) h3{grid-column:1;grid-row:2}.project-catalog>.catalog-card:last-child:nth-child(3n + 1) p{grid-column:2;grid-row:2/4}.project-catalog>.catalog-card:last-child:nth-child(3n + 1) .catalog-tags{grid-column:1;margin-top:10px}
@keyframes serviceGlow{50%{box-shadow:0 0 7px #55e69840}}@keyframes signalFlow{to{stroke-dashoffset:0}}@keyframes coreBreath{50%{transform:scale(1.06);opacity:.35}}@keyframes agentArrive{from{opacity:0;transform:translateY(22px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@media(max-width:900px){#ai-ecosystem .ai-evolution{grid-template-columns:1fr;gap:24px;padding-left:18px}.ecosystem-wiring{display:none}#ai-ecosystem .ai-evolution::before{content:'';top:80px;bottom:20px;left:0;width:1px;height:auto;transform:none;opacity:1;animation:none;background:linear-gradient(#8bd7c8,#b09bd4,#8fbaf0)}#ai-ecosystem .ai-stage::before{left:-18px;top:34px;transform:translateX(-50%)}#ai-ecosystem .ai-core{margin-bottom:15px;font-size:10px;padding:18px 20px}.project-catalog>.catalog-card:last-child:nth-child(3n + 1){display:flex;grid-column:auto}}
@media(prefers-reduced-motion:reduce){#ai-ecosystem .sequence-running .ai-stage,.ai-evolution.sequence-running .signal,.ai-evolution.sequence-running .ai-core::before,#homelab .status-dot.online{animation:none!important}}/* Project activity, engineering process and orbital nucleus */
.project-activity{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;color:#95d8b2;background:#65d79809;border:1px solid #65d79826;border-radius:20px;padding:5px 10px;font-size:10px;line-height:1.4;margin:0 0 13px}.project-activity>span:first-child{width:5px;height:5px;border-radius:50%;background:#72dfa4;box-shadow:0 0 8px #72dfa450}.catalog-card .project-activity{margin-top:-3px}.project-catalog>.catalog-card:last-child:nth-child(3n + 1) .project-activity{grid-column:1;grid-row:3;justify-self:start;margin:0}.project-catalog>.catalog-card:last-child:nth-child(3n + 1) .catalog-tags{grid-row:4}
#about{position:relative;background:radial-gradient(ellipse at 5% 65%,#93caba08,transparent 50%);padding-block:45px}#about .content{grid-template-columns:.85fr 1.2fr;gap:22px 65px}#about .section-title{grid-column:1;grid-row:1;max-width:320px}#about .section-title>i{color:#b2d9ca;text-shadow:0 0 25px #8dd5bb55}#about .content>p{grid-column:2}#about .content>p:first-of-type{grid-row:1}#about .secondary-copy{grid-row:2}#about .philosophy-detail{grid-row:3}#about .engineering-loop{grid-column:1;grid-row:2/5;align-self:start;margin-top:0}#about .philosophy-principles{grid-row:4}
.loop-caption{font:9px 'JetBrains Mono',monospace;letter-spacing:1.3px;color:#7c9990}.engineering-loop ol{list-style:none;margin:20px 0 0;padding:0;position:relative}.engineering-loop ol::before{content:'';position:absolute;left:15px;top:15px;bottom:24px;width:1px;background:linear-gradient(#9bd9c2,#9baaca55)}.engineering-loop li{display:grid;grid-template-columns:32px 1fr;gap:4px 14px;margin-bottom:18px;position:relative}.engineering-loop b{grid-row:span 2;display:grid;place-items:center;background:#111a17;border:1px solid #93cab935;border-radius:50%;width:32px;height:32px;font:10px 'JetBrains Mono',monospace;color:#b3dccc;box-shadow:0 0 15px #88ccaa09}.engineering-loop li>span{font-size:14px;color:#d0dcd6}.engineering-loop small{font-size:11px;color:#83918a}.engineering-loop li:hover b{border-color:#b3dccc;box-shadow:0 0 16px #88ccaa25;transition:.3s}
.scene-core{width:35%;border-radius:50%;background:radial-gradient(circle at 38% 25%,#29413f,#111d1d 50%,#070b0c 85%);border:1px solid #b1e1d655;box-shadow:0 25px 55px #0009,inset -12px -15px 35px #0008,inset 2px 3px 20px #c2fff018,0 0 50px #83cbb813}
.scene-core::after{inset:8px;border-radius:50%;border:1px solid #b6e4d518;border-top-color:#d2f2e54d;animation:nucleusOrbit 18s linear infinite}.scene-core .core-ring{inset:-13px;border-radius:50%;border:1px solid #9be4ce25;border-top:2px solid #adedd8aa;border-bottom-color:#7da6c958;animation:nucleusOrbit 14s linear infinite}.scene-core .core-ring::before{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:#d7fff0;top:13%;left:13%;box-shadow:0 0 13px #b5f3d9}.scene-core .core-ring::after{content:'';position:absolute;inset:-8px;border-radius:50%;border:1px dashed #91c8b529;animation:nucleusOrbit 25s linear reverse infinite}.scene-core svg{width:40%;margin-bottom:9px;filter:drop-shadow(0 0 10px #a0efce55)}.scene-core strong{font-size:10px;letter-spacing:1.8px}.scene-core small{font-size:6px;letter-spacing:1px}.scene-core:hover{border-color:#d6fff0;box-shadow:0 25px 60px #0009,0 0 65px #a1e5cb22,inset 0 0 25px #c7fff014}.scene-core:hover .core-ring{animation-duration:7s}
@keyframes nucleusOrbit{to{transform:rotate(360deg)}}
@media(max-width:800px){#about .content{grid-template-columns:1fr;gap:23px}#about .section-title,#about .content>p,#about .engineering-loop,#about .philosophy-principles{grid-column:1;grid-row:auto}#about .engineering-loop{order:4}.engineering-loop ol{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.engineering-loop ol::before{display:none}.engineering-loop li{grid-template-columns:1fr}.engineering-loop b{grid-row:auto}.engineering-loop li>span{font-size:12px}.engineering-loop small{font-size:10px}}
@media(max-width:500px){.scene-core strong{font-size:8px;letter-spacing:1px}.scene-core small{font-size:5px}.scene-core .core-ring{inset:-9px}.scene-core svg{margin-bottom:4px}}
@media(prefers-reduced-motion:reduce){.scene-core::after,.scene-core .core-ring,.scene-core .core-ring::after{animation:none}}.project-catalog>.catalog-card:last-child:nth-child(3n + 1){position:relative;overflow:hidden;grid-template-columns:.8fr 1.2fr;gap:13px 40px;background:radial-gradient(ellipse at 78% 80%,#83baf01a,transparent 60%),linear-gradient(140deg,#111416,#0b0d10);border-color:#8fbaf039;padding:30px}
.project-catalog>.catalog-card:last-child:nth-child(3n + 1) p{grid-column:1;grid-row:5;margin:0;color:#aab7c3;font-size:13px;line-height:1.8}
.friday-mini-system{grid-column:2;grid-row:2/6;display:grid;grid-template-columns:120px 1fr;gap:18px 25px;align-items:center;padding:15px 0 12px 30px;border-left:1px solid #8fbaf023;position:relative}
.friday-mini-orb{position:relative;width:120px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#8fbaf023,#0e1825 60%,#080c12);border:1px solid #8fbaf045;box-shadow:inset 0 0 25px #8fbaf015,0 0 35px #8fbaf010}
.friday-mini-orb i{font-size:34px;color:#b7d6f4;filter:drop-shadow(0 0 12px #8fbaf064)}.friday-mini-orb span{position:absolute;inset:-10px;border-radius:50%;border:1px solid #8fbaf02b;border-top-color:#c3e4ff;animation:nucleusOrbit 12s linear infinite}.friday-mini-orb span::after{content:'';position:absolute;inset:6px;border-radius:50%;border:1px dashed #8fbaf038}
.friday-mini-capabilities{display:grid;gap:14px}.friday-mini-capabilities>span{display:flex;align-items:center;gap:10px;color:#afc1d3;font-size:12px}.friday-mini-capabilities i{color:#8fbaf0;width:17px;text-align:center}.friday-mini-link{grid-column:1/-1;justify-self:end;color:#c1daf3;border-bottom:1px solid #8fbaf04a;font-size:11px;padding-bottom:6px}.friday-mini-link:hover{color:white;border-color:white}
@media(max-width:900px){.project-catalog>.catalog-card:last-child:nth-child(3n + 1){grid-column:1/-1}.friday-mini-system{width:100%;padding:25px 0 0;border-left:0;border-top:1px solid #8fbaf023;margin-top:12px;grid-template-columns:100px 1fr}.friday-mini-orb{width:90px}.friday-mini-capabilities>span{font-size:11px}.friday-mini-link{justify-self:start}}
@media(prefers-reduced-motion:reduce){.friday-mini-orb span{animation:none}}/* F.R.I.D.A.Y. project presentation */
#karen{padding:45px;background:radial-gradient(ellipse at 85% 15%,#83baf014,transparent 50%),linear-gradient(145deg,#101417,#090b0e);border-color:#8fbaf025;overflow:hidden}
.friday-presentation{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center}.friday-eyebrow{font:9px 'JetBrains Mono',monospace;letter-spacing:1.6px;color:#859bad}
#karen .friday-title{text-align:left;font-size:clamp(36px,5vw,60px);letter-spacing:-2px;margin:22px 0;white-space:nowrap;color:#e8f1f8;text-shadow:none;font-family:Inter,sans-serif}
.friday-story .friday-lead{font-size:21px;line-height:1.5;color:#d0e0ed;margin-bottom:18px}.friday-story>p:not(.friday-lead){font-size:13px;color:#98a9b8;line-height:1.85}.friday-story .project-activity{margin-top:20px}
.friday-identity{display:flex;flex-direction:column;align-items:center;padding:30px 0;gap:14px}.friday-identity-orb{position:relative;width:min(220px,75%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 25%,#26425a,#10202e 50%,#080e17 80%);border:1px solid #8fbaf04a;box-shadow:inset -20px -15px 45px #0007,0 0 80px #8fbaf017;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px}.friday-identity-orb>i{font-size:56px;color:#c2ddf5;filter:drop-shadow(0 0 15px #8fbaf070)}.identity-orbit{position:absolute;inset:-14px;border:1px solid #8fbaf025;border-top-color:#c4e3ff;border-radius:50%;animation:nucleusOrbit 20s linear infinite}.identity-orbit.orbit-alt{inset:-26px;border-style:dashed;border-color:#8fbaf021;animation-direction:reverse;animation-duration:32s}.identity-wave{height:22px;display:flex;gap:4px;align-items:center}.identity-wave b{width:3px;height:6px;border-radius:5px;background:#9fc8ee;animation:fridayVoice 2s ease-in-out infinite;animation-delay:calc(var(--i,0)*.12s)}.identity-wave b:nth-child(2n){--i:2;height:12px}.identity-wave b:nth-child(3n){--i:4;height:20px}.identity-wave b:nth-child(4n){--i:6;height:15px}.identity-label{margin-top:25px;font:8px 'JetBrains Mono',monospace;letter-spacing:1.3px;color:#a3bdce}.identity-note{font-size:10px;color:#6f8ba3}
.friday-intent{display:grid;grid-template-columns:140px 1fr;gap:25px;border-block:1px solid #8fbaf01c;margin:30px 0;padding:24px 0}.friday-intent>span,.friday-closing>span{font:9px 'JetBrains Mono',monospace;letter-spacing:1.4px;color:#8fbaf0}.friday-intent p{margin:0;color:#b2c5d5;font-size:14px;line-height:1.8}
#karen .friday-detail-grid{gap:18px;margin:0}#karen .detail-item{text-align:left;padding:24px;background:linear-gradient(145deg,#8fbaf008,#ffffff01);border-color:#8fbaf01f;position:relative}#karen .detail-item>i{display:block;color:#9fbfe0;font-size:23px;margin:22px 0 18px}#karen .detail-item h3{font-size:17px;line-height:1.4;color:#dce7f0;margin-bottom:12px}#karen .detail-item p{font-size:12px;line-height:1.85;color:#95a8ba}.friday-pillar-index{font:8px 'JetBrains Mono',monospace;letter-spacing:1px;color:#718ca5}.friday-closing{display:grid;grid-template-columns:140px 1fr;gap:20px 25px;padding-top:30px;margin-top:30px;border-top:1px solid #8fbaf01c}.friday-closing p{color:#94a6b6;font-size:13px;line-height:1.8;margin:0}.friday-closing a{grid-column:2;color:#b5d3ee;font-size:11px;justify-self:start;border-bottom:1px solid #8fbaf044;padding-bottom:6px}
@keyframes fridayVoice{50%{transform:scaleY(.35);opacity:.45}}
@media(max-width:800px){#karen{padding:28px}.friday-presentation{grid-template-columns:1fr;gap:15px}.friday-identity-orb{width:180px}.friday-identity{padding-block:25px}.friday-intent,.friday-closing{grid-template-columns:1fr;gap:14px}.friday-closing a{grid-column:1}#karen .friday-detail-grid{grid-template-columns:1fr}#karen .friday-title{font-size:42px}.friday-story .friday-lead{font-size:19px}}
@media(prefers-reduced-motion:reduce){.identity-orbit,.identity-wave b{animation:none}}
/* Karen identity: readable expansion with restrained emphasis. */
#karen { scroll-margin-top: 100px; }
#karen .friday-story .karen-acronym { max-width: 40ch; margin: -8px 0 12px; font-size: 16px; line-height: 1.65; color: #c8d6e1; text-wrap: pretty; }
#karen .karen-acronym strong { color: #f5f5f3; font-weight: 600; }
#karen .friday-story .karen-meaning { max-width: 48ch; margin: 0 0 24px; font-size: 16px; line-height: 1.6; color: #a8b7c4; }
#karen .friday-lead { text-wrap: balance; }
@media (max-width: 480px) { #karen { padding: 24px 20px; } #karen .friday-title { font-size: clamp(30px, 9vw, 42px); letter-spacing: -1px; } }
