:root{--bg: #0b0c0f;--panel: rgba(255,255,255,.06);--panel2: rgba(255,255,255,.09);--text: rgba(255,255,255,.92);--muted: rgba(255,255,255,.7);--line: rgba(255,255,255,.12);--shadow: 0 18px 60px rgba(0,0,0,.45);--radius: 16px;--max: 1120px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:radial-gradient(1200px 800px at 50% 0%,rgba(255,255,255,.08),transparent 60%),var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial}a{color:inherit;text-decoration:none}a:hover{opacity:.9}.container{width:min(var(--max),calc(100% - 48px));margin:0 auto}.card{background:linear-gradient(180deg,var(--panel),rgba(255,255,255,.03));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.kicker{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px}.h1{font-size:clamp(44px,6vw,72px);line-height:1.02;margin:12px 0 10px;font-weight:750}.sub{color:var(--muted);font-size:18px;line-height:1.6;margin:0;max-width:70ch}.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.14)}.btn:hover{background:#ffffff24}.grid{display:grid;gap:16px}@media(min-width:900px){.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.projectCards{margin-top:26px}.projectCardLink{display:block}.projectCard{padding:22px;transition:transform .16s ease,background .16s ease,border-color .16s ease;cursor:pointer}.projectCard:hover{transform:translateY(-3px);background:linear-gradient(180deg,#ffffff14,#ffffff08);border-color:#ffffff2e}.projectCardTop{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.projectCardTitle{font-size:20px;font-weight:680;margin:0}.projectCardMeta{color:#ffffffa6;font-size:13px;letter-spacing:.03em;text-transform:uppercase}.projectCardDesc{margin-top:10px;color:#ffffffb3;line-height:1.55}.projectCardArrow{opacity:.7;transition:transform .16s ease,opacity .16s ease}.projectCard:hover .projectCardArrow{transform:translate(4px);opacity:.95}html{scroll-behavior:smooth}.caseStudyList{margin:12px 0 0;padding-left:22px;color:#ffffffbf;line-height:1.7}.artifactNote{color:#ffffffb8;line-height:1.6;margin:8px 0 0}.umlDiagram{display:block;width:100%;height:auto;margin-top:12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffffeb}.javadocsFrame{display:block;width:100%;height:85vh;margin-top:12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#fff}.backLink{margin-top:18px}.artifactGrid{margin-top:12px;align-items:start}.artifactFigure{margin:0}.artifactFigure figcaption{margin-top:10px;color:#ffffffa6;font-size:14px;line-height:1.5}.containedDiagram{max-width:760px;margin-left:auto;margin-right:auto}.iotPipeline{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}.iotPipeline span{padding:8px 10px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#ffffffc7;font-size:13px}.iotPipeline span:not(:last-child):after{content:" →";margin-left:8px;color:#ffffff73}.instructionFormat{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:18px;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:12px}.instructionFormat span{display:flex;min-height:76px;padding:12px;flex-direction:column;justify-content:center;color:#ffffffb8;background:#ffffff0d;font-size:13px}.instructionFormat span+span{border-left:1px solid rgba(255,255,255,.14)}.instructionFormat strong{color:#ffffffeb}@media(max-width:720px){.instructionFormat{grid-template-columns:1fr}.instructionFormat span{min-height:auto}.instructionFormat span+span{border-top:1px solid rgba(255,255,255,.14);border-left:0}}
