@charset "UTF-8";
:root{color-scheme:dark;--bg:#101214;--panel:#191c20;--line:#30353b;--fg:#f3f5f7;--muted:#a8b0b9;--accent:#bcf27b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}a:hover{color:var(--accent)}.shell{width:min(1120px,calc(100% - 64px));margin:auto}.skip{position:fixed;top:-80px;background:var(--accent);color:#111;padding:12px;z-index:20}.skip:focus{top:8px}header{border-bottom:1px solid var(--line)}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:20px;font-weight:750;letter-spacing:-.6px;display:flex;align-items:center;gap:12px}.monogram{display:grid;place-items:center;width:34px;height:34px;border:1px solid #64734f;border-radius:10px;color:var(--accent);font-size:18px}.navlinks{display:flex;gap:30px;font-size:14px;color:var(--muted)}.navlinks [aria-current]{color:var(--fg)}h1,h2,h3,p{margin:0}h1{font-size:clamp(40px,6vw,72px);line-height:1.08;letter-spacing:-.045em;font-weight:650}h2{font-size:32px;line-height:1.2;letter-spacing:-.025em}h3{font-size:20px}.eyebrow{font:12px/1.5 ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}.intro{padding:78px 0 54px}.intro p{color:var(--muted);margin-top:22px;max-width:580px;font-size:18px}.home-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;padding-bottom:90px}.portal{min-height:330px;border:1px solid var(--line);background:var(--panel);border-radius:18px;display:flex;flex-direction:column;padding:32px;transition:background .18s,border-color .18s}.portal:hover{color:var(--fg);border-color:#718359;background:#1e2420}.portal .number{font:14px ui-monospace,monospace;color:var(--muted)}.portal h2{margin-top:52px;font-size:38px}.portal p{color:var(--muted);margin:14px 0 26px;max-width:330px}.portal-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;font-size:14px}.arrow{font-size:24px;color:var(--accent)}.portal.course{background:#151a21}.meta{color:var(--muted);font-size:14px}.catalog-intro{padding:56px 0 30px;display:flex;align-items:end;justify-content:space-between;gap:20px}.catalog-intro h1{font-size:48px}.catalog-intro p{color:var(--muted);margin-top:18px}.app-index{display:flex;gap:24px;border-bottom:1px solid var(--line);padding:18px 0 24px;font-size:14px;flex-wrap:wrap}.app-index a{display:flex;align-items:center;gap:8px}.app-index span{color:var(--muted);font-family:ui-monospace,monospace}.app{padding:56px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.app-top{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:24px}.app-name{display:flex;align-items:center;gap:16px}.icon{height:52px;width:52px;display:grid;place-items:center;border-radius:14px;font-size:24px;border:1px solid #3b4a33;background:#202b1b;color:var(--accent)}.icon.blue{background:#192938;color:#9fcfff;border-color:#334757}.icon.gold{background:#30281b;color:#edc786;border-color:#59472c}.app-name h2{font-size:28px}.app-name .meta{margin-top:5px}.download{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--accent);color:#13200d;border-radius:8px;font-size:14px;font-weight:700;padding:12px 20px;min-height:46px;white-space:nowrap}.download:hover{background:#d4ffa3;color:#13200d}.download-side{text-align:right}.download-side small{display:block;color:var(--muted);font-size:12px;margin-top:7px}.app-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:32px;align-items:start}.visual{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#0b0d0e}.visual img{display:block;width:100%;height:auto}.visual a{display:block}.visual figcaption{padding:10px 14px;color:var(--muted);font-size:12px}.description>p{color:#d5dbe1;margin-bottom:20px}.features{list-style:none;margin:0 0 24px;padding:0}.features li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;color:#c0c8d0}.features li::before{content:'—';margin-right:10px;color:var(--accent)}.requirements{font-size:14px;color:var(--muted)}.requirements strong{color:var(--fg);display:block;margin-bottom:6px;font-weight:550}.codex-shots{display:grid;gap:14px}.codex-shots .visual:first-child{padding-top:20px}.codex-shots .visual:first-child img{width:100%}.codex-shots .visual:last-child img{max-width:320px;margin:0 auto}.vpn-shot img{max-width:430px;margin:auto}.install{margin:46px 0 66px;border:1px solid var(--line);border-radius:12px;padding:22px 26px}.install summary{cursor:pointer;font-weight:600;min-height:28px}.install ol{padding-left:22px;color:var(--muted);font-size:14px}.install li{padding:5px 0}.install p{font-size:14px;color:var(--muted);margin-top:16px}footer{border-top:1px solid var(--line)}.footer{padding:24px 0;display:flex;justify-content:space-between;color:var(--muted);font-size:13px;gap:20px}.footer a{color:var(--fg)}.tag{font-size:12px;border:1px solid var(--line);border-radius:6px;padding:3px 8px;color:var(--muted)}@media(max-width:760px){.shell{width:calc(100% - 36px)}.nav{height:72px}.navlinks{gap:18px}.intro{padding:52px 0 36px}.home-grid{grid-template-columns:1fr;gap:16px;padding-bottom:50px}.portal{min-height:270px;padding:26px}.portal h2{margin-top:30px}.app-grid{grid-template-columns:1fr}.catalog-intro{align-items:start;flex-direction:column}.catalog-intro h1{font-size:40px}.app-top{flex-direction:column;gap:20px}.download-side{text-align:left;width:100%}.download{width:100%}.app{padding:38px 0}.footer{flex-wrap:wrap}.app-name h2{font-size:25px}.navlinks a{font-size:13px}.brand{font-size:18px}.monogram{display:none}.app-index{gap:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* 2026 portfolio refresh */
.home{background:#0b0d0e;background-image:radial-gradient(circle at 78% 16%,rgba(188,242,123,.08),transparent 28%)}
.home header{border-color:rgba(255,255,255,.11)}
.home .nav{height:84px}.home .brand{font-size:15px;letter-spacing:.01em}.home .monogram{width:30px;height:30px;border-radius:50%;font-size:13px;border-color:#65744f}
.hero{min-height:610px;padding:108px 0 90px;display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:end;gap:80px}
.hero .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:28px;color:#c9d0d6}.status-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 5px rgba(188,242,123,.1)}
.hero h1{font-size:clamp(62px,8vw,108px);max-width:900px;line-height:.94;font-weight:570;letter-spacing:-.068em}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}
.hero-copy>p{margin-top:32px;color:#adb4ba;font-size:18px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:38px}.primary-action{display:inline-flex;gap:34px;align-items:center;background:var(--fg);color:#111;padding:13px 17px;border-radius:4px;font-size:14px;font-weight:700}.primary-action:hover{background:var(--accent);color:#111}.text-action{font-size:14px;color:var(--muted);border-bottom:1px solid #5b6064;padding:10px 0}
.hero-note{border-top:1px solid #4a4f52;padding-top:18px;margin-bottom:8px}.note-label{font:11px ui-monospace,monospace;letter-spacing:.14em;color:var(--accent)}.hero-note p{font-size:21px;line-height:1.45;margin:20px 0 46px}.note-meta{font:11px ui-monospace,monospace;color:var(--muted)}
.work{padding-bottom:120px}.section-heading{display:flex;justify-content:space-between;border-bottom:1px solid #4a4f52;padding:0 0 16px;font:11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.project-row{display:grid;grid-template-columns:55px minmax(0,1fr) 270px 30px;gap:26px;align-items:center;padding:42px 10px;border-bottom:1px solid var(--line);transition:padding .2s,background .2s}.project-row:hover{color:var(--fg);padding-left:22px;padding-right:22px;background:rgba(255,255,255,.025)}.project-index{font:12px ui-monospace,monospace;color:var(--muted)}.project-kind{font:10px ui-monospace,monospace;letter-spacing:.13em;color:var(--accent)}.project-copy h2{font-size:43px;margin:4px 0 8px;font-weight:580}.project-copy p{color:var(--muted);font-size:14px;max-width:520px}.project-tags{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.project-tags span{border:1px solid var(--line);border-radius:100px;padding:5px 10px;color:var(--muted);font-size:11px}.project-arrow{font-size:24px;color:var(--accent)}
.home footer{border-color:rgba(255,255,255,.11)}.home .footer{padding:28px 0}
.description{min-height:100%;display:flex;flex-direction:column}.description .download-side{margin-top:auto;padding-top:30px;display:flex;align-items:center;justify-content:flex-end;gap:14px;text-align:right}.description .download-side small{margin:0;order:-1}.description .download{min-width:230px}.app-top{margin-bottom:28px}
@media(max-width:760px){.hero{min-height:auto;padding:72px 0 70px;grid-template-columns:1fr;gap:60px}.hero h1{font-size:58px}.hero-note{max-width:300px}.project-row{grid-template-columns:32px minmax(0,1fr) 24px;gap:14px;padding:30px 0}.project-tags{display:none}.project-copy h2{font-size:32px}.project-row:hover{padding-left:8px;padding-right:8px}.home .footer span:nth-child(2){display:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.description .download-side{align-items:stretch;flex-direction:column}.description .download-side small{order:0;text-align:left}.description .download{width:100%}}
