.home-page {
  --shell: min(1180px, calc(100% - 48px));
  --panel: #121715;
  --line: rgba(255,255,255,.09);
  background:
    radial-gradient(850px 560px at calc(50% + 380px) 5%, rgba(46,232,196,.105), transparent 70%),
    radial-gradient(680px 500px at calc(50% - 520px) 39%, rgba(96,72,165,.055), transparent 72%),
    #090d0c;
}
.home-page .site-header { background: transparent; }
.home-page .button { min-height: 49px; padding-inline: 18px; gap: 30px; }
.live-dot,.fact-dot { display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 5px rgba(46,232,196,.09),0 0 15px rgba(46,232,196,.7); }

.mix-hero { display:grid; min-height:min(760px,calc(100vh - 66px)); grid-template-columns:.96fr 1.04fr; gap:clamp(42px,6vw,88px); align-items:center; padding-block:72px 66px; }
.hero-copy h1 { max-width:670px; margin:0; font-size:clamp(4rem,6vw,6rem); line-height:.92; letter-spacing:-.071em; }
.hero-copy h1 span { display:block; color:transparent; background:linear-gradient(96deg,#f0f5f2 3%,#76d9c4 60%,#2ee8c4); background-clip:text; -webkit-background-clip:text; }
.hero-lead { max-width:610px; margin:25px 0 0; color:#a7b1ab; font-size:1.05rem; line-height:1.7; }
.hero-actions { display:flex; gap:24px; align-items:center; margin-top:29px; }
.plain-link { color:#bec8c1; font-size:.82rem; font-weight:700; text-decoration:underline; text-decoration-color:#56635c; text-underline-offset:5px; }
.plain-link:hover { color:var(--teal); text-decoration-color:var(--teal); }
.hero-facts { display:grid; grid-template-columns:repeat(3,1fr); margin:39px 0 0; padding-top:18px; border-top:1px solid var(--line); }
.hero-facts div { padding-right:16px; }
.hero-facts dt { color:#68746d; font:700 .64rem "Cascadia Code",Consolas,monospace; letter-spacing:.055em; text-transform:uppercase; }
.hero-facts dd { margin:6px 0 0; color:#e2e8e4; font-size:.9rem; font-weight:750; }
.fact-dot { width:6px; height:6px; margin-right:5px; box-shadow:0 0 10px var(--teal); }

.hex-icon,.now-icon { clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }

/* Interaktivní mapa dílny */

.workshops,.now-section,.principles,.notes { padding-block:105px; }
.section-intro { display:grid; grid-template-columns:1fr 430px; gap:65px; align-items:end; margin-bottom:34px; }
.section-intro h2,.principles h2,.home-about h2 { margin:0; font-size:clamp(2.55rem,4.4vw,4.35rem); line-height:1; letter-spacing:-.055em; }
.section-intro > p { margin:0 0 3px; color:#929d96; font-size:.95rem; line-height:1.58; }
.workshop-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:270px; gap:15px; }
.workshop-card { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:linear-gradient(145deg,#171d1a,#101412); box-shadow:0 25px 58px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.035); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.workshop-card:hover { transform:translateY(-4px); border-color:rgba(133,177,160,.38); box-shadow:0 34px 72px rgba(0,0,0,.33); }
.workshop-card>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.73) contrast(1.05); transition:transform .55s ease; }
.workshop-card:hover>img { transform:scale(1.025); }
.card-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,11,10,.9) 0,rgba(8,11,10,.48) 52%,rgba(8,11,10,.16)),linear-gradient(0deg,rgba(8,11,10,.85),transparent 65%); }
.card-top,.card-bottom { position:absolute; z-index:2; right:22px; left:22px; display:flex; align-items:center; justify-content:space-between; }
.card-top { top:20px; color:#637069; font:700 .57rem "JetBrains Mono","Cascadia Code",monospace; }
.card-bottom { bottom:22px; justify-content:flex-start; gap:14px; }
.card-bottom>div { min-width:0; }.card-bottom>strong { margin-left:auto; font-size:1.2rem; }
.card-bottom small { color:var(--teal); font:700 .59rem "JetBrains Mono","Cascadia Code",monospace; letter-spacing:.07em; }
.card-bottom h3 { max-width:530px; margin:5px 0 0; font-size:clamp(1.25rem,2vw,1.85rem); line-height:1.08; letter-spacing:-.035em; }
.card-bottom p { margin:6px 0 0; color:#a1aca5; font-size:.75rem; }
.status { display:inline-flex; align-items:center; gap:7px; color:#73dac3; }.status i { width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 9px currentColor}.status.orange,.hex-icon.orange {color:#ffaf59}.status.violet,.hex-icon.violet {color:#b5a1ff}.status.blue,.hex-icon.blue {color:#75d5ff}.status.ice,.hex-icon.ice {color:#bcecff}.status.coral,.hex-icon.coral {color:#ff907c}
.hex-icon { display:grid; flex:0 0 auto; width:51px; aspect-ratio:.88; place-items:center; color:var(--teal); background:rgba(46,232,196,.13); font:750 .64rem "JetBrains Mono","Cascadia Code",monospace; font-style:normal; }
.hex-icon.orange{background:rgba(255,169,77,.12)}.hex-icon.violet{background:rgba(167,139,250,.13)}.hex-icon.blue{background:rgba(83,194,245,.12)}.hex-icon.ice{background:rgba(125,211,252,.12)}.hex-icon.coral{background:rgba(255,126,105,.12)}
.card-home { grid-column:span 8; }.card-print { grid-column:span 4; grid-row:span 2; }.card-print .card-shade { background:linear-gradient(0deg,rgba(8,11,10,.92),rgba(8,11,10,.1) 75%); }.card-print .card-bottom { align-items:flex-end; }.card-print .card-bottom p { max-width:230px; }
.card-ai,.card-server { grid-column:span 4; }.card-games,.card-blog { grid-column:span 6; }
.card-home { background:radial-gradient(circle at 73% 40%,rgba(46,232,196,.1),transparent 47%),linear-gradient(145deg,#151c19,#101412); }
.home-visual { position:absolute; top:35px; right:28px; display:grid; width:48%; height:148px; grid-template-columns:1fr 1fr; grid-template-rows:29px 49px 48px; gap:8px; padding:10px; border:1px solid rgba(46,232,196,.18); border-radius:12px; background:rgba(8,14,12,.62); box-shadow:0 22px 42px rgba(0,0,0,.28); transform:perspective(700px) rotateY(-5deg); }
.dash-head { display:flex; grid-column:1/-1; align-items:center; gap:5px; padding:0 7px; border-bottom:1px solid rgba(255,255,255,.07); }.dash-head i { width:4px;height:4px;border-radius:50%;background:#2a4038}.dash-head i:first-child{background:var(--teal)}.dash-head b{margin-left:auto;color:#56746a;font:700 .46rem "JetBrains Mono","Cascadia Code",monospace}
.dash-room { display:flex; align-items:center; gap:8px; padding:6px 9px; border:1px solid rgba(255,255,255,.07); border-radius:7px; background:rgba(255,255,255,.025); }.dash-room i{color:#d7e6df;font-size:.7rem;font-style:normal;font-weight:800}.dash-room small{color:#607068;font-size:.49rem}
.dash-energy { display:flex; grid-column:1/-1; align-items:end; gap:6px; padding:5px 10px; border:1px solid rgba(255,255,255,.07); border-radius:7px; }.dash-energy i{display:block;flex:1;height:34%;border-radius:2px 2px 0 0;background:#1e5145}.dash-energy i:nth-child(2){height:48%}.dash-energy i:nth-child(3){height:72%;background:#2a8e77}.dash-energy i:nth-child(4){height:60%}.dash-energy i:nth-child(5){height:86%;background:var(--teal)}.dash-energy i:nth-child(6){height:68%}
.card-print { background:radial-gradient(circle at 52% 30%,rgba(255,169,77,.13),transparent 48%),linear-gradient(145deg,#1b1813,#111311); }
.print-visual { position:absolute; inset:45px 22px 139px; }
.x1c-label{position:absolute;top:0;left:50%;color:#896c48;font:700 .47rem "JetBrains Mono","Cascadia Code",monospace;letter-spacing:.06em;translate:-50% 0;white-space:nowrap}
.ams-unit{position:absolute;z-index:2;top:18px;left:50%;display:flex;width:158px;height:42px;align-items:center;justify-content:space-around;padding:5px 8px;border:2px solid rgba(255,174,89,.25);border-radius:8px 8px 4px 4px;background:#17140f;translate:-50% 0;box-shadow:0 7px 15px rgba(0,0,0,.32)}.ams-unit i{width:25px;height:25px;border:5px solid #315b52;border-radius:50%;box-shadow:inset 0 0 0 3px #111613}.ams-unit i:nth-child(2){border-color:#564b78}.ams-unit i:nth-child(3){border-color:#826239}.ams-unit i:nth-child(4){border-color:#39454a}
.printer-frame { position:absolute; top:55px; left:50%; display:block; width:184px; height:226px; overflow:hidden; border:3px solid rgba(255,174,89,.25); border-radius:7px 7px 12px 12px; background:linear-gradient(115deg,rgba(255,255,255,.025),transparent 45%),rgba(13,14,12,.48); translate:-50% 0; box-shadow:inset 0 0 55px rgba(255,169,77,.045),0 25px 40px rgba(0,0,0,.3); }
.printer-frame::before{position:absolute;top:0;right:0;bottom:0;width:25px;content:"";border-left:1px solid rgba(255,174,89,.13);background:rgba(255,169,77,.025)}.printer-frame::after{position:absolute;top:13px;right:8px;width:6px;height:6px;content:"";border-radius:50%;background:#ffaf59;box-shadow:0 0 12px #ffaf59}
.x1c-rail{position:absolute;top:48px;right:20px;left:13px;height:4px;background:#443723;box-shadow:0 31px 0 rgba(255,175,89,.08)}
.printer-head { position:absolute; z-index:2; top:38px; left:48%; width:43px; height:35px; border:1px solid rgba(255,174,89,.32); border-radius:4px; background:#211b13; translate:-50% 0; box-shadow:0 8px 15px rgba(0,0,0,.35); }.printer-head::after{position:absolute;bottom:-16px;left:50%;width:3px;height:16px;content:"";background:#ffaf59;clip-path:polygon(0 0,100% 0,70% 100%,30% 100%)}
.printed-part{position:absolute;right:48px;bottom:35px;left:34px;height:48px;background:linear-gradient(90deg,#3d2d19,#72502a);clip-path:polygon(7% 30%,32% 30%,32% 0,70% 0,70% 50%,93% 50%,100% 100%,0 100%);box-shadow:inset 0 -7px rgba(0,0,0,.18)}
.print-bed { position:absolute; right:16px; bottom:26px; left:15px; height:9px; border-radius:2px; background:#705533; box-shadow:0 6px 0 #29241c; }.printer-frame b{position:absolute;right:8px;bottom:5px;color:#806342;font:700 .38rem "JetBrains Mono","Cascadia Code",monospace;letter-spacing:.04em}
.card-ai { background:radial-gradient(circle at 72% 40%,rgba(167,139,250,.18),transparent 42%),linear-gradient(145deg,#181621,#101213); }
.ai-visual { position:absolute; top:45px; right:23px; width:48%; aspect-ratio:1; opacity:.92; }
.ai-orbit { position:absolute; inset:0; border:1px solid rgba(181,161,255,.2); border-radius:50%; box-shadow:inset 0 0 35px rgba(167,139,250,.08),0 18px 30px rgba(0,0,0,.25); }
.ai-orbit::before,.ai-orbit::after { position:absolute; inset:20%; content:""; border:1px solid rgba(181,161,255,.17); border-radius:50%; }.ai-orbit::after{inset:40%;background:rgba(167,139,250,.12)}
.ai-orbit b { position:absolute; z-index:2; top:50%; left:50%; color:#c7baff; font:800 .62rem "JetBrains Mono","Cascadia Code",monospace; translate:-50% -50%; }.ai-orbit i{position:absolute;padding:3px 5px;color:#8178a8;border:1px solid rgba(181,161,255,.14);border-radius:4px;background:#17151f;font:650 .38rem "JetBrains Mono","Cascadia Code",monospace;font-style:normal}.ai-orbit i:nth-child(1){top:4%;left:50%;translate:-50% 0}.ai-orbit i:nth-child(2){right:-3%;bottom:25%}.ai-orbit i:nth-child(3){bottom:5%;left:8%}
.card-ai .card-bottom h3,.card-server .card-bottom h3,.card-games .card-bottom h3,.card-blog .card-bottom h3 { font-size:1.35rem; }
.card-server { background:radial-gradient(circle at 72% 32%,rgba(72,173,216,.12),transparent 48%),linear-gradient(145deg,#141b1c,#101313); }
.server-visual { position:absolute; top:56px; right:24px; display:grid; width:44%; gap:7px; }
.server-visual span { position:relative; display:block; height:27px; border:1px solid rgba(117,213,255,.18); border-radius:5px; background:rgba(117,213,255,.035); }
.server-visual span::before { position:absolute; top:10px; left:10px; width:6px; height:6px; content:""; border-radius:50%; background:#75d5ff; box-shadow:13px 0 #294750,26px 0 #294750; }
.server-visual i { color:#507582; font:650 .5rem "JetBrains Mono","Cascadia Code",monospace; font-style:normal; text-align:right; }
.card-games .card-shade { background:linear-gradient(90deg,rgba(8,11,10,.86),rgba(8,11,10,.25)),linear-gradient(0deg,rgba(8,11,10,.9),transparent 70%); }
.card-games { background:radial-gradient(circle at 67% 33%,rgba(125,211,252,.12),transparent 46%),linear-gradient(145deg,#13191b,#101313); }
.game-visual { position:absolute; top:34px; right:34px; width:47%; height:145px; }
.game-visual span { position:absolute; display:grid; width:54px; aspect-ratio:.88; place-items:center; color:#6b8c99; border:1px solid rgba(188,236,255,.13); background:rgba(125,211,252,.055); clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); font:700 .49rem "JetBrains Mono","Cascadia Code",monospace; }.game-visual span:nth-child(1){top:42px;left:0}.game-visual span:nth-child(2){top:15px;left:46px}.game-visual span:nth-child(3){top:69px;left:46px;color:#bcecff;background:rgba(125,211,252,.12)}.game-visual span:nth-child(4){top:42px;left:92px}.game-visual span:nth-child(5){top:69px;left:138px}.game-visual i{position:absolute;right:0;bottom:5px;color:#58737d;font:700 .47rem "JetBrains Mono","Cascadia Code",monospace;font-style:normal}
.card-blog { background:radial-gradient(circle at 78% 15%,rgba(255,126,105,.12),transparent 48%),linear-gradient(145deg,#1a1716,#111312); }
.journal-visual { position:absolute; top:43px; right:30px; width:44%; padding:15px 17px; border:1px solid rgba(255,144,124,.18); border-radius:9px; background:#191a18; transform:rotate(-3deg); box-shadow:0 18px 34px rgba(0,0,0,.3); }
.journal-visual span { color:#ff907c;font:700 .51rem "JetBrains Mono","Cascadia Code",monospace}.journal-visual strong{display:block;margin:7px 0 10px;font-size:.68rem;line-height:1.35}.journal-visual i{display:block;width:100%;height:4px;margin-top:5px;border-radius:4px;background:#28302c}.journal-visual i:last-child{width:65%}

.now-section { border-top:1px solid transparent; border-image:linear-gradient(90deg,var(--teal) 0,rgba(46,232,196,.45) 48px,var(--line) 140px,var(--line) 72%,transparent 100%) 1; }
.section-intro.compact { margin-bottom:25px; }
.now-list { overflow:hidden; border:1px solid var(--line); border-radius:20px; background:rgba(18,23,21,.75); box-shadow:0 25px 60px rgba(0,0,0,.2); }
.now-list>a { display:grid; min-height:83px; grid-template-columns:50px 1fr auto 22px; gap:16px; align-items:center; padding:13px 19px; border-bottom:1px solid var(--line); }
.now-list>a:last-child { border:0; }.now-list>a:hover { background:rgba(255,255,255,.025); }.now-list>a:hover b { color:var(--teal); transform:translateX(3px); }
.now-icon { display:grid; width:44px; aspect-ratio:.88; place-items:center; color:var(--teal); background:rgba(46,232,196,.12); font:750 .6rem "JetBrains Mono","Cascadia Code",monospace; }
.now-icon.violet{color:#b5a1ff;background:rgba(167,139,250,.12)}.now-icon.ice{color:#bcecff;background:rgba(125,211,252,.12)}.now-icon.orange{color:#ffaf59;background:rgba(255,169,77,.12)}.now-icon.coral{color:#ff9d93;background:rgba(255,122,110,.12)}.now-icon.pink{color:#f9a8d4;background:rgba(244,114,182,.12)}.now-icon.lime{color:#bef264;background:rgba(163,230,53,.11)}.now-icon.blue{color:#93b4ff;background:rgba(96,140,255,.12)}
.now-list strong,.now-list small { display:block; }.now-list strong { font-size:.9rem; }.now-list small { margin-top:4px; color:#78847d; font-size:.72rem; }
.now-list em { padding:5px 8px; border-radius:999px; font:700 .54rem "JetBrains Mono","Cascadia Code",monospace; font-style:normal; letter-spacing:.04em; }
.ready{color:#72d8c1;background:rgba(46,232,196,.08)}.building{color:#b5a1ff;background:rgba(167,139,250,.09)}.beta{color:#bcecff;background:rgba(125,211,252,.08)}.idea{color:#ffaf59;background:rgba(255,169,77,.08)}
.now-list b { color:#59665f; transition:.2s ease; }
.all-projects { display:flex; align-items:center; justify-content:space-between; margin-top:13px; padding:17px 20px; border:1px solid var(--line); border-radius:13px; background:rgba(18,23,21,.65); }.all-projects span { font-size:.8rem;font-weight:700}.all-projects strong{color:var(--teal);font-size:.7rem}

.principles { display:grid; grid-template-columns:.82fr 1.18fr; gap:75px; border-top:1px solid transparent; border-image:linear-gradient(90deg,var(--teal) 0,rgba(46,232,196,.45) 48px,var(--line) 140px,var(--line) 72%,transparent 100%) 1; }
.principles header { align-self:center; }.principles h2 { max-width:480px; }
.principle-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.principle-grid article { position:relative; min-height:245px; padding:20px; border:1px solid var(--line); border-radius:19px; background:linear-gradient(145deg,#151a18,#101311); }
.principle-grid article>span { position:absolute; top:15px; right:16px; color:#4e5b54; font:700 .55rem "JetBrains Mono","Cascadia Code",monospace; }
.principle-symbol{display:grid;width:58px;height:58px;place-items:center;color:var(--teal);border:1px solid rgba(46,232,196,.2);border-radius:15px;background:rgba(46,232,196,.08);font-style:normal}.principle-symbol.orange{color:#ffaf59;border-color:rgba(255,169,77,.2);background:rgba(255,169,77,.08)}.principle-symbol.violet{color:#b5a1ff;border-color:rgba(167,139,250,.2);background:rgba(167,139,250,.08)}.principle-symbol svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.principle-symbol.violet svg path{fill:rgba(181,161,255,.15)}
.principle-grid h3 { margin:27px 0 8px; font-size:1rem; }.principle-grid p { margin:0; color:#89948d; font-size:.77rem; line-height:1.55; }

.notes { border-top:1px solid transparent; border-image:linear-gradient(90deg,var(--teal) 0,rgba(46,232,196,.45) 48px,var(--line) 140px,var(--line) 72%,transparent 100%) 1; }
.notes .section-intro { grid-template-columns:1fr auto; }
.notes-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.notes-grid>a { overflow:hidden; border:1px solid var(--line); border-radius:19px; background:#121715; transition:.25s ease; }
.notes-grid>a:hover { transform:translateY(-3px); border-color:rgba(133,177,160,.36); }
.note-visual { position:relative; height:165px; overflow:hidden; border-bottom:1px solid var(--line); background:radial-gradient(circle at 70% 35%,rgba(46,232,196,.1),transparent 47%),#0d1210; }
.note-ai>span { position:absolute; top:43px; left:28px; width:47%; padding:8px 10px; color:#718078; border:1px solid rgba(255,255,255,.08); border-radius:6px; font:600 .48rem "JetBrains Mono","Cascadia Code",monospace; }.note-ai>i{position:absolute;left:39px;width:35%;height:3px;border-radius:3px;background:#26332e}.note-ai>i:nth-of-type(1){top:78px}.note-ai>i:nth-of-type(2){top:88px;width:27%}.note-ai>b{position:absolute;top:40px;right:41px;display:grid;width:55px;aspect-ratio:.88;place-items:center;color:#b5a1ff;background:rgba(167,139,250,.14);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);font:800 .6rem "JetBrains Mono","Cascadia Code",monospace}.note-ai>em{position:absolute;right:29px;bottom:28px;color:#887cb5;font:650 .48rem "JetBrains Mono","Cascadia Code",monospace;font-style:normal}
.note-game { background:radial-gradient(circle at 50% 45%,rgba(125,211,252,.13),transparent 50%),#0d1113; }.note-game>span{position:absolute;top:34px;left:31px;color:#567480;font:700 .48rem "JetBrains Mono","Cascadia Code",monospace}.note-game>b{position:absolute;top:53px;left:31px;color:#c1eafa;font-size:2.2rem}.note-game>i{position:absolute;width:57px;aspect-ratio:.88;border:1px solid rgba(125,211,252,.17);background:rgba(125,211,252,.055);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.note-game>i:nth-of-type(1){top:43px;right:83px}.note-game>i:nth-of-type(2){top:72px;right:35px}.note-game>i:nth-of-type(3){top:101px;right:83px}
.note-kino { background:radial-gradient(circle at 70% 45%,rgba(244,114,182,.13),transparent 50%),#110e10; }.note-kino>span{position:absolute;top:34px;left:31px;color:#80607a;font:700 .48rem "JetBrains Mono","Cascadia Code",monospace}.note-kino>b{position:absolute;top:53px;left:31px;color:#fbcfe8;font-size:2.2rem}.note-kino>i{position:absolute;top:46px;right:46px;width:62px;height:72px;background:linear-gradient(135deg,rgba(244,114,182,.34),rgba(244,114,182,.08));clip-path:polygon(0 0,100% 50%,0 100%)}
.note-print { background:radial-gradient(circle at 58% 48%,rgba(255,169,77,.13),transparent 51%),#12100d; }.mini-ams{position:absolute;z-index:2;top:20px;left:50%;display:flex;width:100px;height:29px;align-items:center;justify-content:space-around;padding:3px 5px;border:1px solid rgba(255,175,89,.23);border-radius:5px;background:#17140f;translate:-50% 0}.mini-ams i{width:17px;height:17px;border:3px solid #315b52;border-radius:50%}.mini-ams i:nth-child(2){border-color:#564b78}.mini-ams i:nth-child(3){border-color:#826239}.mini-ams i:nth-child(4){border-color:#3e484c}
.mini-x1c{position:absolute;top:48px;left:50%;display:block;width:112px;height:94px;border:2px solid rgba(255,175,89,.23);border-radius:4px 4px 8px 8px;translate:-50% 0}.mini-x1c>i{position:absolute;top:29px;left:50%;width:27px;height:18px;border:1px solid rgba(255,175,89,.3);border-radius:2px;translate:-50% 0}.mini-x1c>i::after{position:absolute;bottom:-15px;left:50%;width:2px;height:15px;content:"";background:#ffaf59}.mini-x1c>b{position:absolute;right:10px;bottom:12px;left:10px;height:5px;background:#6f5230}.mini-x1c>em{position:absolute;right:30px;bottom:18px;left:30px;height:13px;background:#72502a;clip-path:polygon(12% 30%,35% 30%,35% 0,66% 0,66% 50%,90% 50%,100% 100%,0 100%)}.note-print>span{position:absolute;top:34px;left:31px;color:#806443;font:700 .48rem "JetBrains Mono","Cascadia Code",monospace}.note-print>b{position:absolute;top:53px;left:31px;color:#ffd29a;font-size:2.2rem}.note-print>i{position:absolute;right:42px;height:9px;border-radius:3px;background:linear-gradient(90deg,rgba(255,169,77,.45),rgba(255,169,77,.12))}.note-print>i:nth-of-type(1){bottom:38px;width:96px}.note-print>i:nth-of-type(2){bottom:51px;width:84px;right:48px}.note-print>i:nth-of-type(3){bottom:64px;width:70px;right:55px}.note-print>i:nth-of-type(4){bottom:77px;width:52px;right:64px}
.note-print>small{position:absolute;right:16px;bottom:11px;color:#806443;font:700 .42rem "JetBrains Mono","Cascadia Code",monospace}
.notes-grid span { display:flex; min-height:154px; flex-direction:column; padding:18px; }
.notes-grid small { color:var(--teal); font:700 .57rem "JetBrains Mono","Cascadia Code",monospace; }.notes-grid strong { margin-top:9px; font-size:1rem; line-height:1.35; }.notes-grid em { margin-top:auto; color:#8b9890; font-size:.7rem;font-style:normal;font-weight:700}

.home-about { position:relative; display:grid; grid-template-columns:100px 1fr auto; gap:28px; align-items:center; margin-bottom:90px; padding:33px 35px; overflow:hidden; border:1px solid rgba(46,232,196,.17); border-radius:24px; background:radial-gradient(circle at 9% 30%,rgba(46,232,196,.1),transparent 17rem),linear-gradient(145deg,#171d1a,#101311); box-shadow:0 28px 65px rgba(0,0,0,.25); }
.home-about::after { position:absolute; right:20%; bottom:-100px; width:190px; aspect-ratio:.88; content:""; background:linear-gradient(160deg,rgba(46,232,196,.07),rgba(46,232,196,.015)); clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); pointer-events:none; }
.about-avatar { display:grid; width:84px; aspect-ratio:.88; place-items:center; overflow:hidden; background:#1b2420; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }.about-avatar img{width:100%;height:100%;object-fit:cover}
.home-about h2 { font-size:2.25rem; }.home-about p:last-child { max-width:680px; margin:7px 0 0; color:#939f97; font-size:.84rem; line-height:1.55; }
.button-quiet { position:relative; z-index:2; min-width:158px; }
.home-page .footer-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:24px}.visitor-count{display:flex;align-items:center;gap:7px;color:#66736c;font:650 .67rem "JetBrains Mono","Cascadia Code",monospace}.visitor-count svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}.visitor-count b{color:#a8b3ac;font-weight:700}.social-links{justify-self:end}.social-links a{display:flex;align-items:center;gap:6px}.social-links svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.social-links a:hover svg{stroke:var(--teal)}

@media (max-width:980px) {.mix-hero{min-height:0;grid-template-columns:1fr;padding-block:70px 60px}.section-intro,.principles{grid-template-columns:1fr;gap:28px}.section-intro>p{max-width:620px}.card-home,.card-ai{grid-column:span 7}.card-print{grid-column:span 5}.card-server,.card-games{grid-column:span 6}.card-blog{grid-column:span 12}.principle-grid{max-width:none}.home-about{grid-template-columns:86px 1fr}.home-about>a{grid-column:2;justify-self:start}}
@media (max-width:720px) {.home-page{--shell:min(100% - 28px,600px)}.mix-hero{gap:34px;padding-block:38px 42px}.hero-copy h1{font-size:clamp(2.95rem,14.2vw,4.2rem)}.hero-lead{font-size:.96rem;line-height:1.65}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.hero-facts{grid-template-columns:1fr;gap:9px;margin-top:31px}.hero-facts div{display:flex;justify-content:space-between;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.06)}
  
  .workshops,.now-section,.principles,.notes{padding-block:64px}.workshop-grid{display:flex;gap:12px;overflow-x:auto;padding:2px 30px 14px 1px;scroll-padding-inline:1px;scroll-snap-type:x mandatory;scrollbar-width:none}.workshop-grid::-webkit-scrollbar,.notes-grid::-webkit-scrollbar{display:none}.workshop-card,.card-home,.card-print,.card-ai,.card-server,.card-games,.card-blog{flex:0 0 calc(100% - 42px);height:310px;min-height:310px;grid-column:auto;grid-row:auto;scroll-snap-align:start}.card-bottom{right:17px;bottom:18px;left:17px}.card-bottom p{display:none}
  .card-home .home-visual{top:38px;right:18px;width:calc(100% - 54px);height:132px;grid-template-rows:25px 43px 42px;gap:6px;padding:8px;transform:none}.card-home .dash-room{padding-inline:8px}.card-home .dash-energy{padding-inline:8px}
  .card-print .print-visual{inset:25px 0 auto;height:250px;transform:scale(.64);transform-origin:50% 0}.card-print .card-bottom{padding-top:8px;background:linear-gradient(0deg,#15140f 72%,transparent)}
  .card-games .game-visual{top:31px;right:50%;width:224px;height:145px;translate:50% 0}
  .section-intro{grid-template-columns:1fr;gap:18px}.section-intro h2,.principles h2{font-size:2.75rem}.now-list>a{grid-template-columns:44px 1fr 20px;gap:12px;padding-inline:14px}.now-list em{display:none}.now-list small{font-size:.67rem}.all-projects{align-items:flex-start;flex-direction:column;gap:5px}
  .principle-grid{grid-template-columns:1fr;gap:10px}.principle-grid article{min-height:165px}.principle-grid h3{margin-top:18px}.notes-grid{display:flex;gap:12px;overflow-x:auto;padding:2px 30px 14px 1px;scroll-padding-inline:1px;scroll-snap-type:x mandatory;scrollbar-width:none}.notes-grid>a{flex:0 0 calc(100% - 42px);scroll-snap-align:start}.home-about{grid-template-columns:66px 1fr;margin-bottom:65px;padding:25px 21px}.about-avatar{width:64px}.home-about>a{grid-column:1/-1}.home-page .footer-inner{display:flex;flex-direction:column;justify-content:center;gap:14px;padding-block:26px 30px;text-align:center}.home-page .footer-inner .social-links{order:1;justify-content:center;gap:8px 18px}.home-page .footer-inner .visitor-count{order:2}.home-page .footer-inner>span:first-child{order:3;font-size:.74rem}}

/* GDPR zápisek: jantarová varianta AI vizuálu */
.note-web { background:radial-gradient(circle at 55% 50%,rgba(46,232,196,.14),transparent 55%),#0c1210; }
.note-web svg { position:absolute; inset:0; width:100%; height:100%; }
.note-web .nw-lines path { fill:none; stroke:rgba(179,187,181,.28); stroke-width:1; }
.note-web .nw-dots circle { stroke:rgba(255,255,255,.3); stroke-width:1; }
.note-web .c0 { fill:#2ee8c4; filter:drop-shadow(0 0 8px rgba(46,232,196,.7)); } .note-web .c1 { fill:#7dd3fc; } .note-web .c2 { fill:#a78bfa; } .note-web .c3 { fill:#bcecff; } .note-web .c4 { fill:#ffa94d; } .note-web .c5 { fill:#ff7a6e; }
.note-web>span { position:absolute; top:34px; left:31px; color:#5b7a70; font:700 .48rem "JetBrains Mono","Cascadia Code",monospace; letter-spacing:.08em; }
.note-web>b { position:absolute; top:53px; left:31px; color:#9ffbe6; font:800 2.2rem Montserrat,sans-serif; letter-spacing:-.04em; }
.note-gdpr{background:radial-gradient(circle at 70% 35%,rgba(255,169,77,.12),transparent 47%),#12100d}.note-gdpr>b{color:#ffc27a;background:rgba(255,169,77,.14)}.note-gdpr>em{color:#b08a5a}

/* ===== Skleněné destičky (glass) ===== */
.workshops, .principles, .notes, .now-section { position: relative; }
.workshops::before, .principles::before, .notes::before {
  content: ""; position: absolute; inset: -60px -8%; z-index: -1; pointer-events: none;
  background:
    radial-gradient(36% 45% at 28% 28%, rgba(46,232,196,.16), transparent 70%),
    radial-gradient(30% 40% at 74% 32%, rgba(167,139,250,.13), transparent 70%),
    radial-gradient(34% 40% at 56% 84%, rgba(255,169,77,.10), transparent 70%);
  filter: blur(10px);
  /* měkké okraje, aby se záře nikde neusekla */
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 18%, #000 82%, transparent 100%), linear-gradient(90deg, transparent 0, #000 14%, #000 86%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(180deg, transparent 0, #000 18%, #000 82%, transparent 100%), linear-gradient(90deg, transparent 0, #000 14%, #000 86%, transparent 100%);
  mask-composite: intersect;
}
.workshop-card, .principle-grid article, .notes-grid>a, .home-about, .now-list, .all-projects {
  border: 1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(135deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.035) 38%, rgba(255,255,255,.02) 60%, rgba(46,232,196,.05) 100%);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(255,255,255,.04),
    inset 1px 0 0 rgba(255,255,255,.08),
    0 1px 2px rgba(0,0,0,.35),
    0 18px 40px rgba(0,0,0,.35),
    0 40px 90px rgba(0,0,0,.3);
}

/* odlesk: šikmý světlý pruh přes horní část */
.workshop-card::before, .principle-grid article::before, .notes-grid>a::before, .home-about::before {
  inset: 0; height: auto;
  background:
    linear-gradient(115deg, transparent 0%, transparent 28%, rgba(255,255,255,.10) 36%, rgba(255,255,255,.03) 46%, transparent 52%),
    linear-gradient(180deg, rgba(255,255,255,.07), transparent 40%);
}
.workshop-card:hover, .notes-grid>a:hover, .principle-grid article:hover {
  background: linear-gradient(135deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.05) 40%, rgba(46,232,196,.09) 100%);
  border-color: rgba(46,232,196,.45);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), inset 0 -1px 0 rgba(255,255,255,.05), 0 2px 4px rgba(0,0,0,.35), 0 26px 50px rgba(0,0,0,.38), 0 50px 100px rgba(0,0,0,.3);
}
/* vnitřní panely v dlaždicích ať zůstanou tmavé, aby ilustrace neztratily kontrast */
.workshop-card::before { z-index: 0; }

/* ===== Sklo: čiřejší ===== */
.workshop-card, .principle-grid article, .notes-grid>a, .home-about, .now-list, .all-projects {
  background: linear-gradient(135deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.018) 40%, rgba(255,255,255,.01) 65%, rgba(46,232,196,.03) 100%);
  backdrop-filter: blur(10px) saturate(160%);
  -webkit-backdrop-filter: blur(10px) saturate(160%);
  border-color: rgba(255,255,255,.14);
}

.workshops::before, .principles::before, .notes::before { filter: blur(6px); opacity: 1.15; }
.workshop-card::before, .principle-grid article::before, .notes-grid>a::before, .home-about::before {
  background:
    linear-gradient(115deg, transparent 0%, transparent 30%, rgba(255,255,255,.13) 37%, rgba(255,255,255,.03) 45%, transparent 50%),
    linear-gradient(180deg, rgba(255,255,255,.05), transparent 35%);
}

/* ===== Hero: mapa dílny (klidná síť s rozbalováním; data z graph-data.js) ===== */
.hero-graph { position:relative; min-height:560px; overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:24px; background:linear-gradient(135deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.015) 45%, rgba(46,232,196,.04) 100%), #0e1311; box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 40px 90px rgba(0,0,0,.42); -webkit-touch-callout:none; user-select:none; -webkit-user-select:none; }
.hero-graph { --mx:-600px; --my:-600px; --hex:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 1 54 16v32L28 63 2 48V16Z M28 63v33 M2 48 2 81 28 96 54 81V48' fill='none' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E"); }
.hero-graph::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(60% 55% at 50% 50%, rgba(46,232,196,.09), transparent 70%); }
/* hexová mřížka: slabá všude, u kurzoru ji odhalí reflektor (maska s radiálním přechodem) */
.hero-graph::after { content:""; position:absolute; inset:0; pointer-events:none; z-index:1; background:var(--hex) center / 56px 97px; opacity:.06; -webkit-mask-image:radial-gradient(60% 55% at 50% 44%, rgba(0,0,0,1), rgba(0,0,0,.35) 55%, transparent 100%); mask-image:radial-gradient(60% 55% at 50% 44%, rgba(0,0,0,1), rgba(0,0,0,.35) 55%, transparent 100%); }
.graph-spot { position:absolute; inset:0; pointer-events:none; z-index:1; background:var(--hex) center / 56px 97px; opacity:.2; -webkit-mask-image:radial-gradient(180px 180px at var(--mx) var(--my), rgba(0,0,0,1), rgba(0,0,0,.35) 45%, transparent 72%); mask-image:radial-gradient(180px 180px at var(--mx) var(--my), rgba(0,0,0,1), rgba(0,0,0,.35) 45%, transparent 72%); }
.graph-spot::after { content:""; position:absolute; inset:0; background:radial-gradient(140px 140px at var(--mx) var(--my), rgba(46,232,196,.16), transparent 70%); }
.hero-graph svg.graph { position:relative; z-index:2; }
@keyframes dust-drift { 0% { transform:translate(0,0); } 50% { transform:translate(9px,-14px); } 100% { transform:translate(-6px,8px); } }
.graph .dust circle { fill:#9fb3a8; animation:dust-drift 12s ease-in-out infinite alternate; }
@keyframes graph-wave { 0% { transform:scale(.6); opacity:.7; } 100% { transform:scale(4); opacity:0; } }
.graph .fx .wave { fill:none; stroke-width:1.5; opacity:0; transform-box:fill-box; transform-origin:center; animation:graph-wave .9s cubic-bezier(.2,.7,.2,1) forwards; }
.graph .fx .wave.big { stroke-width:1; animation-duration:1.4s; }
.graph .node.core .core-spark { fill:#2ee8c4; }
.hero-graph.paused *, .hero-graph.paused *::before { animation-play-state:paused !important; }
.hero-graph svg.graph { position:absolute; inset:0; width:100%; height:100%; display:block; touch-action:pan-y; }
.graph-top { position:absolute; z-index:3; top:0; left:0; right:0; display:flex; justify-content:space-between; align-items:center; padding:14px 18px; min-height:48px; font:700 .62rem "JetBrains Mono","Cascadia Code",monospace; letter-spacing:.1em; text-transform:uppercase; color:#7c8780; pointer-events:none; }
.graph-stats { color:#b3bbb5; }

/* vazby: kvadratické křivky, klidový stav jen náznak */
.graph .lk { fill:none; stroke:rgba(var(--rgb, 179,187,181),.55); stroke-width:1; opacity:0; transition:opacity .35s ease, stroke-width .25s ease; }
.graph .lk.faint { opacity:.2; }
.graph .lk.faint.dim { opacity:.05; }
.graph .lk.lit { opacity:.95; stroke-width:1.4; }
.graph .link-glow .lg { fill:none; stroke-width:6; opacity:0; stroke-linecap:round; transition:opacity .3s ease; }
.graph .link-glow .lg.on { opacity:.16; }
.graph .lk.lk-core.lit { stroke-width:2.2; opacity:1; }
.graph .link-glow .lg.lk-core-glow.on { opacity:.3; stroke-width:9; }
@keyframes graph-flow { to { stroke-dashoffset:-30; } }
.graph .lk.dash { stroke-dasharray:5 9; animation:graph-flow 1.4s linear infinite; opacity:.7; }
.graph .packet { pointer-events:none; }
.graph .packet .star, .graph .node.proj .star { fill:#2ee8c4; }
.graph .lk.lk-guide { display:none; }
.graph .link-glow .lg.lk-guide-glow { display:none; }
.graph .node.proj .star { opacity:0; transform:scale(.2) translate(9px,-9px); transform-box:fill-box; transform-origin:center; transition:opacity .3s ease, transform .4s cubic-bezier(.34,1.56,.64,1); pointer-events:none; }
.graph .node.proj.guided .star { opacity:1; transform:scale(1) translate(9px,-9px); }
.graph .node.proj.guided .dot { opacity:1; transform:scale(.8); }

/* uzly */
.graph .node { outline:none; transition:opacity .3s ease; }
.graph .node .hit { fill:transparent; pointer-events:all; }
.graph a.node { cursor:pointer; }
.graph .node.dim { opacity:.28; }
.graph .node.sec .body { fill:#0f1513; stroke:rgb(var(--rgb)); stroke-width:1.4; transition:fill .25s ease, transform .25s cubic-bezier(.2,.8,.2,1); transform-box:fill-box; transform-origin:center; }
.graph .node .glow { opacity:.55; transform-box:fill-box; transform-origin:center; transition:opacity .3s ease, transform .35s cubic-bezier(.2,.8,.2,1); pointer-events:none; }
.graph .node.sec .ico-wrap { pointer-events:none; }
.graph .node.sec .ico { fill:none; stroke:rgb(var(--rgb)); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; overflow:visible; transition:stroke .25s ease; }
.graph .node.sec .ico .f { fill:rgb(var(--rgb)); stroke:none; }
.graph .node.sec.on .body, .graph .node.sec.rel .body { fill:rgba(var(--rgb),.22); transform:scale(1.12); }
.graph .node.sec.on .glow { opacity:1; transform:scale(1.7); }
.graph .node.sec.rel .glow { opacity:.9; transform:scale(1.25); }
.graph .node.sec.dim .glow { opacity:.25; }
.graph .node.sec.on .ico { stroke:#fff; }
.graph .node.sec.on .ico .f { fill:#fff; }
.graph .node.sec .label { fill:#edf1ed; font:700 12.5px Inter, sans-serif; text-anchor:middle; paint-order:stroke; stroke:rgba(14,19,17,.92); stroke-width:3.5px; stroke-linejoin:round; pointer-events:none; }
.graph .node.sec .status { fill:#8d978f; font:600 9px "JetBrains Mono", monospace; letter-spacing:.06em; text-transform:uppercase; text-anchor:middle; paint-order:stroke; stroke:rgba(14,19,17,.92); stroke-width:3px; pointer-events:none; transition:fill .25s ease; }
.graph .node.sec.on .status { fill:rgb(var(--rgb)); }
.graph .node.sec .live-dot { fill:#2ee8c4; }
@keyframes graph-live { 0% { transform:scale(1); opacity:.5; } 100% { transform:scale(1.9); opacity:0; } }
.graph .node.sec .live-ring { fill:none; stroke:rgb(var(--rgb)); stroke-width:1; opacity:0; transform-box:fill-box; transform-origin:center; animation:graph-live 3.2s ease-out infinite; }
.graph .node.sec.dim .live-ring { animation:none; }
.graph .node.sec .label, .graph .node.sec .status { transition:opacity .3s ease; }
.graph .node.sec.dim .label, .graph .node.sec.dim .status { opacity:0; }

.graph .node.proj .dot { fill:rgb(var(--rgb)); stroke:rgba(255,255,255,.35); stroke-width:1; transform-box:fill-box; transform-origin:center; transform:scale(.55); opacity:.7; transition:transform .45s cubic-bezier(.34,1.56,.64,1), opacity .3s ease; }
.graph .node.proj .glow { opacity:0; transform:scale(.4); }
.graph .node.proj.open .dot, .graph .node.proj.open .label { transition-delay:calc(var(--i, 0) * 55ms); }
.graph .node.proj .label { fill:#b3bbb5; font:600 10.5px Inter, sans-serif; text-anchor:middle; paint-order:stroke; stroke:rgba(14,19,17,.92); stroke-width:3px; stroke-linejoin:round; pointer-events:none; opacity:0; transition:opacity .3s ease, fill .2s ease; }
.graph .node.proj .hit { pointer-events:none; }
.graph .node.proj.open .hit, .graph .node.proj.rel .hit { pointer-events:all; }
.graph .node.proj.open .dot, .graph .node.proj.rel .dot { transform:scale(1); opacity:1; }
.graph .node.proj.open .glow, .graph .node.proj.rel .glow { opacity:.7; transform:scale(1); }
.graph .node.proj.open .label, .graph .node.proj.rel .label { opacity:1; }
.graph .node.proj.on .dot { transform:scale(1.5); stroke:#fff; }
.graph .node.proj.on .glow { opacity:1; transform:scale(1.8); }
.graph .node.proj.on .label { fill:#fff; }
.graph .node.proj.dim { opacity:.35; }
.graph .node.proj.dim .dot { transform:scale(.4); }

.graph .node.tech { opacity:0; pointer-events:none; transition:opacity .3s ease; }
.graph .node.tech.show { transition-delay:calc(var(--i, 0) * 60ms + 120ms); }
.graph .node.tech.show { opacity:1; }
.graph .node.tech .dot { fill:#0f1513; stroke:rgba(179,187,181,.7); stroke-width:1; }
.graph .node.tech .label { fill:#8d978f; font:500 9px "JetBrains Mono", monospace; text-anchor:middle; paint-order:stroke; stroke:rgba(14,19,17,.92); stroke-width:3px; pointer-events:none; }

/* logo uprostřed: pomalý tep a otáčející se obrys */
@keyframes graph-beat { 0%, 100% { transform:scale(1); opacity:.16; } 50% { transform:scale(1.35); opacity:0; } }
@keyframes graph-spin { to { transform:rotate(360deg); } }
.graph .node.core .beat { fill:#2ee8c4; opacity:.16; transform-box:fill-box; transform-origin:center; animation:graph-beat 3.6s ease-in-out infinite; }
.graph .node.core .spin { transform-box:fill-box; transform-origin:center; animation:graph-spin 48s linear infinite; }
.graph .node.core .core-ring { fill:none; stroke:rgba(46,232,196,.22); stroke-width:1; stroke-dasharray:9 7; }
.graph .node.core .core-hex { fill:#101715; stroke:rgba(46,232,196,.6); stroke-width:1.5; }
.graph .node.core .glow { opacity:.7; }
.graph .node.core .core-label { fill:#7c8780; font:700 .62rem "JetBrains Mono", monospace; letter-spacing:.12em; text-transform:uppercase; text-anchor:middle; }
.graph .node.core .core-hint { fill:#b3bbb5; font:600 10px Inter, sans-serif; text-anchor:middle; transition:opacity .3s ease; }
.has-sec .graph .node.core .core-hint { opacity:0; }

/* karta dole s čísly z generátoru */
.graph-card { position:absolute; z-index:4; left:14px; right:14px; bottom:12px; padding:10px 12px; border:1px solid rgba(var(--rgb, 46,232,196),.4); border-radius:16px; background:linear-gradient(135deg, rgba(255,255,255,.08), rgba(var(--rgb, 46,232,196),.08)), rgba(14,19,17,.96); box-shadow:inset 0 1px 0 rgba(255,255,255,.14), 0 14px 34px rgba(0,0,0,.4); opacity:0; transform:translateY(8px); pointer-events:none; transition:opacity .25s ease, transform .25s ease, border-color .25s ease; }
.graph-card::before { content:""; position:absolute; z-index:-1; left:-14px; right:-14px; top:-56px; bottom:-12px; pointer-events:none; background:linear-gradient(180deg, transparent, rgba(14,19,17,.9) 55%); }
.card-on .graph-card { opacity:1; transform:none; pointer-events:auto; }
.gc-head { display:grid; grid-template-columns:36px 1fr auto auto; gap:10px 12px; align-items:center; }
.gc-ic { display:grid; place-items:center; width:36px; height:36px; border-radius:11px; background:rgba(var(--rgb),.16); color:rgb(var(--rgb)); }
.gc-ic svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.gc-ic svg .f { fill:currentColor; stroke:none; }
.gc-title { min-width:0; display:grid; gap:1px; }
.gc-title small { display:flex; align-items:center; gap:8px; color:rgb(var(--rgb)); font:700 .58rem "JetBrains Mono", monospace; letter-spacing:.08em; text-transform:uppercase; }
.gc-agent { padding:1px 6px; border:1px solid rgba(46,232,196,.4); border-radius:999px; color:#2ee8c4; font-size:.52rem; }
.gc-title strong { font-family:"Montserrat","Inter",sans-serif; font-size:1.02rem; letter-spacing:-.01em; color:#edf1ed; line-height:1.2; }
.gc-title p { margin:0; color:#a4b0a8; font-size:.8rem; line-height:1.4; overflow:hidden; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; }
.gc-open { display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border:1px solid rgba(var(--rgb),.5); border-radius:999px; color:#edf1ed; font:600 .78rem Inter, sans-serif; text-decoration:none; white-space:nowrap; background:rgba(var(--rgb),.1); transition:background .2s ease, border-color .2s ease; }
.gc-open:hover { background:rgba(var(--rgb),.22); border-color:rgb(var(--rgb)); }
.gc-open svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.gc-close { display:grid; place-items:center; width:32px; height:32px; margin-left:-4px; border:0; border-radius:50%; background:transparent; color:#8d978f; cursor:pointer; }
.gc-close svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.gc-kpis { display:flex; flex-wrap:wrap; gap:5px; margin:8px 0 0; padding:0; list-style:none; }
.gc-kpis li { padding:3px 8px; border:1px solid rgba(255,255,255,.1); border-radius:999px; background:rgba(255,255,255,.04); color:#a4b0a8; font:500 .7rem Inter, sans-serif; white-space:nowrap; }
.gc-kpis li b { color:#edf1ed; font-weight:700; }

/* legenda = filtr */
.graph-legend { position:absolute; z-index:3; left:14px; right:14px; bottom:14px; display:flex; flex-wrap:wrap; justify-content:center; gap:4px; transition:opacity .2s ease; }
.card-on .graph-legend { opacity:0; pointer-events:none; }
.graph-legend button { display:inline-flex; align-items:center; gap:5px; padding:4px 7px; border:1px solid rgba(255,255,255,.10); border-radius:999px; background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); font:600 .5rem "JetBrains Mono","Cascadia Code",monospace; letter-spacing:.02em; text-transform:uppercase; color:#b3bbb5; box-shadow:inset 0 1px 0 rgba(255,255,255,.10); cursor:pointer; transition:border-color .2s ease, color .2s ease, background .2s ease; }
.graph-legend button::before { content:""; width:7px; height:7px; border-radius:50%; background:rgb(var(--rgb)); box-shadow:0 0 8px rgb(var(--rgb)); }
.graph-legend button:hover, .graph-legend button[aria-pressed="true"] { border-color:rgba(var(--rgb),.7); color:#edf1ed; background:rgba(var(--rgb),.12); }

@media (max-width:900px) { .hero-graph { min-height:520px; } }
.hero-graph.compact .graph .node.sec .label { font-size:11.5px; }
.hero-graph.compact .graph .node.sec .status { font-size:8.5px; }
.hero-graph.compact .graph .node.proj .label { font-size:10px; }
.hero-graph.compact .graph .node.tech .label { font-size:8.5px; }
.hero-graph.compact .graph-card { padding:10px 12px; }
.hero-graph.compact .gc-head { grid-template-columns:34px 1fr auto auto; gap:10px; }
.hero-graph.compact .gc-ic { width:34px; height:34px; }
.hero-graph.compact .gc-open { width:36px; height:36px; padding:0; justify-content:center; border-radius:50%; }
.hero-graph.compact .gc-open span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.hero-graph.compact .gc-open svg { width:16px; height:16px; }
.hero-graph.compact .gc-close { width:36px; height:36px; margin:0; }
.hero-graph.compact .gc-title strong { font-size:.98rem; }
.hero-graph.compact .gc-kpis { gap:4px; margin-top:8px; }
.hero-graph.compact .gc-kpis li { padding:3px 7px; font-size:.66rem; }
.hero-graph.compact .graph-legend { display:none; }
.graph-hint { display:none; position:absolute; z-index:3; left:14px; right:14px; bottom:30px; margin:0; text-align:center; color:#8d978f; font:500 .8rem Inter, sans-serif; transition:opacity .2s ease; }
.hero-graph.compact .graph-hint { display:block; }
.card-on .graph-hint { opacity:0; }
.hero-graph.compact .graph-stats { display:none; }

@media (prefers-reduced-motion: reduce) { .graph .lk.dash, .graph .node.core .beat, .graph .node.core .spin, .graph .node.sec .live-ring, .graph .dust circle { animation:none; } .graph-spot { display:none; } .graph .node.core .beat { opacity:.12; } }

/* Pruh „Postav si to s AI agentem“ pod pěti dílnami */
.agent-strip { margin-top: -30px; margin-bottom: 20px; }
.agent-strip-in { position: relative; display: grid; grid-template-columns: 58px 1fr auto; gap: 18px; align-items: center; padding: 22px 26px; overflow: hidden; border: 1px solid rgba(46,232,196,.35); border-radius: 20px; background: linear-gradient(120deg, rgba(46,232,196,.14) 0%, rgba(167,139,250,.10) 55%, rgba(255,169,77,.06) 100%), #111614; box-shadow: 0 18px 50px rgba(0,0,0,.25), 0 0 40px rgba(46,232,196,.08); transition: border-color .2s ease, transform .2s ease; }
.agent-strip-in:hover { border-color: rgba(46,232,196,.7); transform: translateY(-2px); }
.agent-strip-ic { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 16px; background: rgba(46,232,196,.14); color: #2ee8c4; }
.agent-strip-ic svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.agent-strip-txt { display: grid; gap: 4px; }
.agent-strip-txt small { color: #2ee8c4; font: 700 .64rem "JetBrains Mono", "Cascadia Code", monospace; letter-spacing: .08em; text-transform: uppercase; }
.agent-strip-txt strong { font-family: "Montserrat", "Inter", sans-serif; font-size: 1.35rem; letter-spacing: -.02em; }
.agent-strip-txt em { color: #a4b0a8; font-style: normal; font-size: .9rem; }
.agent-strip-in > b { color: #2ee8c4; font-size: .86rem; white-space: nowrap; }
@media (max-width: 720px) { .agent-strip { margin-top: -20px; } .agent-strip-in { grid-template-columns: 46px 1fr; padding: 18px; gap: 14px; } .agent-strip-ic { width: 46px; height: 46px; } .agent-strip-in > b { grid-column: 1 / -1; } .agent-strip-txt strong { font-size: 1.1rem; } }
