.showcase-page,.detail-page{background:var(--background);min-height:100vh;color:var(--foreground)}.cta-button{border:1px solid var(--accent-2);background:linear-gradient(110deg,#5260ff12,#b46dff18);align-items:center;gap:.7rem;padding:1rem 1.15rem;transition:background .3s,transform .3s,border-color .3s;text-decoration:none!important;display:inline-flex!important}.cta-button:hover{border-color:var(--paper);background:linear-gradient(110deg,#5260ff55,#b46dff55);transform:translateY(-3px)}.cta-button svg{transition:transform .3s}.cta-button:hover svg{transform:translate(3px,-3px)}.back-link,.showcase-nav,.showcase-links,.detail-links,.project-nav{font:.68rem var(--font-geist-mono), monospace;letter-spacing:.1em}.back-link{color:var(--muted);transition:color .2s}.back-link:hover{color:var(--foreground)}.showcase-hero,.archive-intro,.detail-hero{width:min(1180px,92vw);margin:auto;padding:8rem 0 4rem}.showcase-hero h1,.archive-intro h1,.detail-hero h1{letter-spacing:-.08em;margin:0;font-size:clamp(4rem,12vw,10rem);line-height:.84}.showcase-hero h1 em,.archive-intro h1 em,.detail-hero h1 em,.preview-band h2 em{font-style:normal;font-weight:300}.showcase-hero>p:not(.eyebrow),.archive-intro>p:not(.eyebrow){max-width:30rem;color:var(--muted);margin-top:2rem}.showcase-nav{gap:1.5rem;margin-top:4rem;display:flex}.showcase-nav a,.showcase-links a,.detail-links a,.project-nav a{color:var(--foreground);border-bottom:1px solid var(--foreground);padding-bottom:.4rem}.showcase-links{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);width:min(1180px,92vw);margin:auto;display:grid}.showcase-links a{justify-content:space-between;margin-right:1.5rem;padding:1.5rem 0;display:flex}.showcase-links svg,.detail-links svg,.project-nav svg,.tool-chip svg{width:14px}.showcase-controls,.showcase-count,.showcase-project-grid,.certificate-grid,.tools-grid{width:min(1180px,92vw);margin-inline:auto}.showcase-controls{display:block}.archive-discovery-hub{border-top:1px solid var(--line);flex-direction:column;gap:1.25rem;margin-bottom:2rem;padding-top:1.25rem;display:flex}.discovery-search-row{width:100%}.archive-discovery-hub .search-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff06;border:1px solid #ffffff17;border-radius:9999px;align-items:center;gap:.75rem;width:100%;padding:.65rem 1.2rem;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.archive-discovery-hub .search-box:focus-within{border-color:var(--accent-2);background:#ffffff0b;box-shadow:0 0 20px #b36bff2e}.archive-discovery-hub .search-icon{color:var(--accent-2);flex-shrink:0;width:16px;height:16px}.archive-discovery-hub .search-box input{color:#fff;font-family:var(--font-geist-mono), monospace;letter-spacing:.02em;background:0 0;border:none;outline:none;flex:1;font-size:.8rem}.archive-discovery-hub .search-box input::placeholder{color:#ffffff59}.search-clear-btn{color:var(--muted);cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:all .2s;display:flex}.search-clear-btn:hover{color:#fff;border-color:var(--accent-2);background:#ffffff2e}.filter-scroll-wrapper{width:100%;position:relative}.filter-scroll-container{scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;width:100%;padding:.15rem 0 .5rem;overflow:auto hidden}.filter-scroll-container::-webkit-scrollbar{display:none}.filter-list{align-items:center;gap:.55rem;width:max-content;display:flex}.filter-btn{white-space:nowrap;color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;cursor:pointer;background:#ffffff06;border:1px solid #ffffff14;border-radius:9999px;flex:none;align-items:center;padding:.5rem 1.15rem;font-size:.68rem;font-weight:600;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.filter-btn:hover{color:#fff;background:#ffffff0d;border-color:#b36bff59;transform:translateY(-1px)}.filter-btn.active{box-shadow:0 2px 14px #b36bff38;color:#fff!important;border-color:var(--accent-2)!important;background:linear-gradient(135deg,#5367ff42,#b36bff52)!important}.filter-scroll-fade{pointer-events:none;opacity:.8;background:linear-gradient(90deg,#0000,#070812d9);width:32px;position:absolute;top:0;bottom:.5rem;right:0}.showcase-status-bar{font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:.75rem 0 1.25rem;font-size:.68rem;display:flex}.showcase-count-pill{color:var(--accent-2);align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.showcase-count-pill .count-num{color:#fff;font-weight:800}.showcase-count-pill .count-label{color:var(--accent-2)}.showcase-active-filter-badge{color:var(--muted);align-items:center;gap:.5rem;display:inline-flex}.showcase-active-filter-badge .filter-badge-label{letter-spacing:.08em;font-size:.62rem}.showcase-active-filter-badge .filter-badge-val{color:#fff;background:#ffffff0d;border:1px solid #ffffff17;border-radius:9999px;padding:.18rem .6rem;font-weight:600}.showcase-count{display:none}.showcase-project-grid{grid-template-columns:repeat(2,1fr);gap:2rem;padding-bottom:8rem;display:grid}.certificate-grid{grid-template-columns:repeat(3,1fr);gap:1rem;padding-bottom:8rem;display:grid}.certificate-card{text-align:left;background:var(--paper);min-height:280px;color:var(--foreground);border:1px solid var(--line);padding:1.5rem;transition:transform .3s,border-color .3s}.certificate-card:hover{border-color:var(--accent-2);transform:translateY(-5px)}.certificate-card h2{letter-spacing:-.05em;margin-top:4rem;font-size:1.5rem}.certificate-card p,.tool-used{color:var(--muted)}.certificate-mark{font:.65rem var(--font-geist-mono), monospace;color:var(--accent-2);border-bottom:1px solid var(--line);padding-bottom:1rem}.certificate-mark.large{padding-block:3rem;font-size:3rem}.tools-grid{grid-template-columns:repeat(2,1fr);gap:1rem;padding-bottom:8rem;display:grid}.tool-group{border-top:1px solid var(--line);padding:1.5rem 0}.tool-cloud{flex-wrap:wrap;gap:.5rem;display:flex}.tool-chip{border:1px solid var(--line);align-items:center;gap:.4rem;padding:.55rem .7rem;font-size:.85rem;display:inline-flex}.tool-chip:hover{border-color:var(--accent);color:var(--accent-2)}.tool-used{font:.65rem var(--font-geist-mono), monospace;margin-top:1.5rem}.detail-hero{padding-bottom:6rem}.detail-hero h1{max-width:900px;margin-top:1rem;font-size:clamp(4rem,11vw,9rem)}.detail-subtitle{max-width:42rem;color:var(--muted);margin-top:2rem;font-size:clamp(1.2rem,2vw,1.7rem)}.detail-meta{border-top:1px solid var(--line);gap:4rem;margin-top:4rem;padding-top:1.5rem;display:flex}.detail-meta span{max-width:18rem;color:var(--muted);flex-direction:column;gap:.4rem;font-size:.85rem;display:flex}.detail-meta b{font:.62rem var(--font-geist-mono), monospace;color:var(--accent-2)}.detail-section{padding:7rem max(4vw,50vw - 590px)}.detail-light{color:#090b14;background:#f4f5fa}.detail-light .eyebrow,.detail-light p,.detail-light li{color:#515667}.detail-light .accent{color:#4d55de}.detail-dark{color:var(--foreground);background:#080914}.detail-two-col{grid-template-columns:1fr 1fr;gap:5rem;display:grid}.detail-section h2{letter-spacing:-.08em;margin:0;font-size:clamp(3rem,7vw,6rem);line-height:.9}.detail-two-col p{max-width:34rem}.pipeline{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:0;margin-top:3rem;display:flex}.pipeline-node{border:1px solid var(--line);background:#101324;flex-direction:column;align-items:center;gap:.7rem;min-width:130px;padding:1.2rem;display:flex}.pipeline-node span{font:.6rem var(--font-geist-mono), monospace;color:var(--accent-2)}.pipeline-node strong{text-align:center;font-size:.8rem}.pipeline-node i{color:var(--accent);margin-top:3rem;font-style:normal;position:absolute}.contribution-list{margin:0;padding-left:1.3rem;font-size:1.2rem;line-height:2}.detail-stack{flex-wrap:wrap;gap:.7rem;margin-top:2rem;display:flex}.detail-stack span{color:#303340;border:1px solid #c8cad5;padding:.7rem}.detail-links{flex-wrap:wrap;gap:2rem;margin-top:2rem;display:flex}.project-nav{justify-content:space-between;gap:1rem;width:min(1180px,92vw);margin:auto;padding:3rem 0;display:flex}.project-nav a{color:var(--muted);border:0}.project-nav strong{color:var(--foreground);font-size:1rem}.archive-cta{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-block:4rem;display:flex}.preview-band{border-top:1px solid var(--line);flex-direction:column;gap:3rem;width:100%;padding-block:5rem;display:flex}.preview-band h2{letter-spacing:-.08em;margin:0;font-size:clamp(2.8rem,6vw,5.5rem);line-height:.95}.preview-band.preview-dark{color:var(--foreground);background:#0b0c18}.preview-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;width:min(1180px,92vw);margin:0 auto;display:flex}.certificate-preview-grid{padding-bottom:0}.certificate-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;width:min(1180px,92vw);margin-inline:auto;padding-bottom:4rem;display:grid}.certificate-card{text-align:left;border:1px solid var(--line);background:var(--paper);color:var(--foreground);cursor:pointer;border-radius:8px;padding:0;transition:transform .35s,border-color .35s,box-shadow .35s;overflow:hidden}.certificate-card:hover{border-color:var(--accent-2);transform:translateY(-8px);box-shadow:0 18px 60px #7c5cff22}.certificate-art{color:#fff;text-align:center;background:linear-gradient(135deg,#0d1021,#16112b 55%,#35216b);justify-content:center;align-items:center;min-height:220px;display:flex;position:relative;overflow:hidden}.certificate-art-grid{opacity:.35;transform-origin:bottom;background-image:linear-gradient(#b99cff22 1px,#0000 1px),linear-gradient(90deg,#b99cff22 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0;transform:perspective(300px)rotateX(55deg)scale(1.6)}.certificate-art span{font:1.1rem var(--font-geist-mono), monospace;letter-spacing:.12em;position:relative}.certificate-art strong{color:#b99cff;font-size:1.7rem}.certificate-art small{color:#b99cff;font:.55rem var(--font-geist-mono), monospace;position:absolute;bottom:1rem;left:1rem}.certificate-copy{padding:1.4rem}.certificate-copy small,.tool-used{font:.62rem var(--font-geist-mono), monospace;color:var(--accent-2);letter-spacing:.08em}.certificate-copy h2{margin:.7rem 0 .4rem;font-size:1.2rem;line-height:1.2}.certificate-copy p{color:var(--muted);margin:0;font-size:.9rem}.preview-dark{background:var(--ink);color:var(--paper)}.preview-dark .certificate-card,.preview-dark .tool-group{background:#101326}.tools-preview-grid{padding-bottom:0}.tools-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem;width:min(1180px,92vw);margin-inline:auto;padding-bottom:4rem;display:grid}.tool-group{border-top:1px solid var(--line);padding-top:1.2rem}.tool-cloud{flex-wrap:wrap;gap:.75rem;margin-top:1.2rem;display:flex}.tool-chip{border:1px solid var(--line);background:var(--paper);color:var(--foreground);font:.75rem var(--font-geist-mono), monospace;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1.1rem;transition:transform .3s,border-color .3s,background .3s,box-shadow .3s;display:inline-flex;position:relative}.tool-name{color:var(--foreground);font-size:.85rem;font-weight:500}.tool-context{color:var(--accent-2);opacity:.75;margin-left:auto;font-size:.6rem;transition:opacity .3s}.tool-chip:hover .tool-context{opacity:1}.tool-chip:hover{border-color:var(--accent-2);background:linear-gradient(135deg,#5367ff18,#b36bff20);transform:translateY(-4px);box-shadow:0 8px 24px #b26cff26}.tool-chip svg{width:14px;height:14px}.tool-logo{border:1px solid var(--line);width:2.2rem;min-width:2.2rem;height:2.2rem;color:var(--foreground);background:#ffffff0f;border-radius:6px;place-items:center;padding:.35rem;display:grid}.tool-logo svg{object-fit:contain;width:100%;height:100%}.preview-dark .tool-chip{color:var(--paper)}.modal-backdrop{z-index:70}.certificate-modal{max-width:760px}.certificate-modal .certificate-art{min-height:420px;margin:-2rem -2rem 2rem}.certificate-modal .section-note{margin-top:2rem}.certificate-controls{flex-wrap:wrap;gap:.6rem;width:min(1180px,92vw);margin:0 auto 2rem;display:flex}.certificate-controls button{border:1px solid var(--line);color:var(--muted);font:600 .62rem var(--font-geist-mono), monospace;letter-spacing:.07em;cursor:pointer;background:0 0;border-radius:8px;padding:.65rem .85rem;transition:color .25s,border-color .25s,background .25s}.certificate-controls button:hover,.certificate-controls button.active{border-color:var(--accent-2);color:var(--foreground);background:linear-gradient(135deg,#5260ff18,#b46dff22)}.certificate-card{flex-direction:column;min-width:0;display:flex}.certificate-preview-link{color:inherit;text-decoration:none;display:block}.certificate-art{aspect-ratio:16/9;border-bottom:1px solid var(--line);background:#11142a;min-height:0}.certificate-art img{object-fit:cover;width:100%;height:100%;transition:transform .45s cubic-bezier(.16,1,.3,1),filter .45s;display:block}.certificate-card:hover .certificate-art img{filter:saturate(1.08);transform:scale(1.04)}.certificate-source-preview{z-index:1;text-align:left;background:linear-gradient(135deg,#0d1024,#19143d 62%,#35216b);flex-direction:column;justify-content:center;align-items:flex-start;width:100%;height:100%;padding:1.35rem;display:flex;position:relative}.certificate-source-preview:before{content:"";pointer-events:none;border:1px solid #ffffff24;position:absolute;inset:1rem}.certificate-source-mark{font:700 .62rem var(--font-geist-mono), monospace;letter-spacing:.14em;color:var(--accent-2)}.certificate-source-preview strong{color:#fff;max-width:19rem;margin-top:.7rem;font-size:1.35rem;line-height:1.1}.certificate-source-preview small{color:#fff9;font:600 .52rem var(--font-geist-mono), monospace;letter-spacing:.1em;margin-top:auto}.certificate-art-nvidia .certificate-source-preview{background:linear-gradient(135deg,#091b16,#123d2e 60%,#76b900)}.certificate-art-nvidia .certificate-source-mark{color:#b5e65e}.certificate-art-skillfront .certificate-source-preview{background:linear-gradient(135deg,#111827,#253b62 60%,#4d7cc7)}.certificate-art-skillfront .certificate-source-mark{color:#b9d5ff}.certificate-art-cognitive .certificate-source-preview{background:linear-gradient(135deg,#101326,#1b2d4b 60%,#2f8fc1)}.certificate-art-cognitive .certificate-source-mark{color:#8bdcff}.certificate-art-hackerrank .certificate-source-preview{background:linear-gradient(135deg,#111827,#153c2e 60%,#1ba96b)}.certificate-art-hackerrank .certificate-source-mark{color:#72f1b5}.certificate-copy{flex-direction:column;flex:1;padding:1.25rem 1.35rem 1.35rem;display:flex}.certificate-copy h2{min-height:2.9rem}.certificate-issuer{font-weight:600}.certificate-description{min-height:2.8rem;line-height:1.5;margin-top:.65rem!important;font-size:.8rem!important}.certificate-meta{color:var(--muted);font:600 .56rem var(--font-geist-mono), monospace;letter-spacing:.04em;flex-wrap:wrap;gap:.45rem .8rem;margin-top:1rem;line-height:1.5;display:flex}.certificate-cta{width:max-content;color:var(--foreground);font:600 .62rem var(--font-geist-mono), monospace;letter-spacing:.08em;border-bottom:1px solid var(--accent-2);align-items:center;gap:.45rem;margin-top:auto;padding-top:1.25rem;text-decoration:none;transition:color .25s,gap .25s;display:inline-flex}.certificate-cta svg{width:14px;transition:transform .25s}.certificate-cta:hover{color:var(--accent-2);gap:.7rem}.certificate-cta:hover svg{transform:translate(2px,-2px)}.preview-band.preview-tech-wall{background:radial-gradient(at 50% 40%,#131735 0%,#070812 75%);padding-block:5rem;position:relative;overflow:hidden}.preview-tech-wall:before{content:"";pointer-events:none;opacity:.55;background-image:radial-gradient(#6d7cff1f 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.tech-explorer-container{z-index:2;flex-direction:column;gap:1.5rem;width:min(1180px,92vw);margin-inline:auto;display:flex;position:relative}.tech-tab-strip-wrapper{width:100%;position:relative}.tech-tab-strip{scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;border-bottom:1px solid #ffffff14;gap:.55rem;width:100%;padding:.35rem 0 .85rem;display:flex;position:relative;overflow:auto hidden}.tech-tab-strip::-webkit-scrollbar{display:none}.tech-tab-btn{white-space:nowrap;color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;cursor:pointer;background:#ffffff06;border:1px solid #ffffff14;border-radius:9999px;flex:none;padding:.5rem 1.15rem;font-size:.68rem;font-weight:600;transition:color .25s,border-color .25s,background .25s,box-shadow .25s;position:relative}.tech-tab-btn:hover{color:#fff;background:#ffffff0d;border-color:#b36bff59;transform:translateY(-1px)}.tech-tab-btn.active{box-shadow:0 2px 14px #b36bff38;color:#fff!important;border-color:var(--accent-2)!important;background:linear-gradient(135deg,#5367ff42,#b36bff52)!important}.tech-tab-fade{pointer-events:none;opacity:.8;background:linear-gradient(90deg,#0000,#070812d9);width:32px;position:absolute;top:0;bottom:.85rem;right:0}.tech-dock-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.tech-dock-header .eyebrow{margin:0}.tech-carousel-controls{font-family:var(--font-geist-mono), monospace;color:var(--muted);align-items:center;gap:1rem;font-size:.65rem;display:flex}.tech-carousel-indicator{color:var(--accent-2);letter-spacing:.08em;font-size:.68rem;font-weight:600}.tech-dot-indicators{align-items:center;gap:.4rem;display:flex}.tech-dot{cursor:pointer;background:#fff3;border:0;border-radius:50%;width:7px;height:7px;padding:0;transition:all .3s}.tech-dot.active{background:linear-gradient(90deg, var(--accent), var(--accent-2));width:20px;box-shadow:0 0 8px var(--accent-2);border-radius:4px}.tech-carousel-wrapper{width:100%;position:relative}.tech-nav-arrow{z-index:10;border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:44px;height:44px;color:var(--foreground);cursor:pointer;border-radius:50%;place-items:center;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s,box-shadow .3s,opacity .3s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 10px 30px #0009}.tech-nav-arrow-left{left:-22px}.tech-nav-arrow-right{right:-22px}.tech-nav-arrow:hover:not(:disabled){border-color:var(--accent-2);background:linear-gradient(135deg,#5367ff66,#b36bff73);box-shadow:0 0 25px #b36bff66}.tech-nav-arrow-left:hover:not(:disabled){transform:translateY(-50%)translate(-4px)}.tech-nav-arrow-right:hover:not(:disabled){transform:translateY(-50%)translate(4px)}.tech-nav-arrow:disabled{opacity:.2;cursor:not-allowed;border-color:var(--line)}.tech-dock-grid{grid-template-columns:repeat(6,1fr);gap:1rem;display:grid}.tech-explorer-grid{animation:.35s cubic-bezier(.16,1,.3,1) both fade-in-cards}.tech-app-card{border:1px solid var(--line);height:145px;color:var(--foreground);text-align:center;background:linear-gradient(145deg,#0e1124,#151833);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:1.1rem .6rem;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s,background .35s,box-shadow .35s;display:flex;position:relative;overflow:hidden;text-decoration:none!important}.tech-app-card:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#b36bff26,#0000 60%);width:200%;height:200%;transition:opacity .4s;position:absolute;top:-50%;left:-50%}.tech-app-card:hover:before{opacity:1}.tech-card-featured{border-color:color-mix(in srgb, var(--accent-2) 45%, var(--line));background:linear-gradient(145deg,#0f1228,#1a1638)}.tech-app-icon-wrap{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:14px;place-items:center;width:4rem;height:4rem;padding:.6rem;transition:transform .35s cubic-bezier(.16,1,.3,1),background .35s,border-color .35s,box-shadow .35s;display:grid}.tech-app-svg{object-fit:contain;filter:drop-shadow(0 2px 8px #0006);width:2.6rem;height:2.6rem;transition:transform .35s cubic-bezier(.16,1,.3,1),filter .35s}.tech-app-name{font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:.7rem;font-size:.76rem;font-weight:600;overflow:hidden}.tech-app-badge{font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;color:var(--accent-2);opacity:0;background:#b26cff33;border:1px solid #b26cff66;border-radius:4px;padding:.2rem .42rem;font-size:.54rem;font-weight:600;transition:opacity .35s,transform .35s;position:absolute;top:.5rem;right:.5rem;transform:translateY(4px)}.tech-app-card:hover{border-color:var(--accent-2);transform:translateY(-8px)scale(1.03);box-shadow:0 16px 48px #b36bff40,0 0 20px #5367ff26}.tech-app-card:hover .tech-app-icon-wrap{background:#ffffff1f;border-color:#b36bff66;transform:scale(1.1);box-shadow:0 0 20px #b36bff40}.tech-app-card:hover .tech-app-svg{filter:drop-shadow(0 4px 12px #b36bff99)}.tech-app-card:hover .tech-app-badge{opacity:1;transform:translateY(0)}@keyframes fade-in-cards{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:1024px){.tech-dock-grid{grid-template-columns:repeat(3,1fr)}.tech-nav-arrow-left{left:-12px}.tech-nav-arrow-right{right:-12px}}@media (max-width:640px){.tech-dock-grid{grid-template-columns:repeat(2,1fr)}.tech-nav-arrow{display:none}}@media (max-width:1024px){.tech-dock-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.tech-dock-grid{grid-template-columns:repeat(2,1fr)}}.case-study{color:var(--foreground);background:#070812;min-height:100vh}.case-hero{width:min(1180px,92vw);margin:auto;padding:7rem 0 3rem}.case-hero h1{letter-spacing:-.06em;color:#fff;max-width:900px;margin:1rem 0;font-size:clamp(3rem,8vw,6.5rem);line-height:.9}.case-lede{max-width:680px;color:var(--muted);margin-top:1.5rem;font-size:1.2rem;line-height:1.6}.case-meta{border-top:1px solid var(--line);gap:clamp(2rem,7vw,7rem);margin-top:3rem;padding-top:1.5rem;display:flex}.case-meta span{font:.75rem var(--font-geist-mono), monospace;color:#fff;flex-direction:column;gap:.5rem;display:flex}.case-meta b,.contribution b,.stack-group>b{color:var(--accent-2);letter-spacing:.14em;font-size:.65rem}.case-visual{border:1px solid var(--line);border-radius:20px;width:min(1320px,96vw);margin:auto;overflow:hidden}.case-intro,.case-sections,.case-links{border-top:1px solid var(--line);width:min(1180px,92vw);color:var(--foreground);grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem);margin:auto;padding:6rem 0;display:grid}.case-intro h2,.case-sections h2{letter-spacing:-.06em;color:#fff;font-size:clamp(2.4rem,5vw,4.5rem);line-height:.95}.case-copy,.case-sections article p{color:var(--muted);font-size:1.05rem;line-height:1.75}.contribution{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.5rem}.case-pipeline{color:var(--foreground);border-block:1px solid var(--line);background:#0d1022;padding:5rem 4vw}.case-pipeline .eyebrow{max-width:1180px;margin:0 auto 2rem}.case-pipeline .pipeline{max-width:1180px;margin:auto}.case-pipeline .pipeline-node strong{color:#fff}.case-sections{background:0 0}.stack-group{border-bottom:1px solid var(--line);padding:1.2rem 0}.stack-group div{flex-wrap:wrap;gap:.6rem;margin-top:.8rem;display:flex}.stack-group span{border:1px solid var(--line);font:.7rem var(--font-geist-mono), monospace;color:var(--foreground);background:#ffffff0a;border-radius:6px;padding:.5rem .8rem}.case-links{display:block}.case-links>div{flex-wrap:wrap;gap:1rem;margin-top:1.8rem;display:flex}.case-links a,.case-nav a{border:1px solid var(--line);color:#fff;font:.7rem var(--font-geist-mono), monospace;background:#101326;border-radius:8px;align-items:center;gap:.6rem;padding:.9rem 1.4rem;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex;text-decoration:none!important}.case-links a:hover,.case-nav a:hover{border-color:var(--accent-2);color:#fff;background:linear-gradient(135deg,#5367ff40,#b36bff4d);transform:translateY(-3px);box-shadow:0 8px 24px #b36bff33}.case-links svg{width:14px}.case-nav{border-top:1px solid var(--line);font:.68rem var(--font-geist-mono), monospace;justify-content:space-between;gap:1rem;padding:3rem 4vw;display:flex}.case-nav a{border:1px solid var(--line);padding:.9rem 1.2rem}.case-nav strong{color:#fff;font-size:.9rem}.case-design .case-pipeline{background:linear-gradient(135deg,#131736,#372064)}.case-ai .case-hero h1,.case-nlp .case-hero h1{color:#0000;background:linear-gradient(100deg,#fff,#b99cff);-webkit-background-clip:text;background-clip:text}.case-gis .case-visual,.case-cloud .case-visual{background:#0b1022;padding:1rem}.case-software .case-hero h1{max-width:1100px}.project-gallery{grid-template-columns:repeat(12,1fr);gap:1.5rem;width:min(1180px,92vw);margin:3rem auto 6rem;display:grid}.gallery-slot{border:1px solid var(--line);text-align:left;min-height:400px;color:var(--foreground);cursor:pointer;background:linear-gradient(145deg,#0e1124,#151833);border-radius:16px;flex-direction:column;grid-column:span 12;padding:0;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s,box-shadow .35s;display:flex;position:relative;overflow:hidden}.gallery-slot:hover{border-color:var(--accent-2);transform:translateY(-6px);box-shadow:0 16px 40px #b36bff26}.gallery-slot.gallery-half{grid-column:span 6}.gallery-slot.gallery-third{grid-column:span 4}.gallery-slot img{object-fit:cover;flex-grow:1;width:100%;height:100%}.gallery-caption{bottom:0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:var(--foreground);font-size:.75rem;font-family:var(--font-geist-mono), monospace;background:linear-gradient(#07081200,#070812f2 55%);border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;display:flex;position:absolute;inset-inline:0}.gallery-caption svg{width:14px;height:14px;color:var(--accent-2);opacity:.85;transition:transform .3s}.gallery-slot:hover .gallery-caption svg{opacity:1;transform:scale(1.2)}.gallery-viewer{z-index:200;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#03040be6;justify-content:center;align-items:center;padding:2rem;animation:.3s fade-in-backdrop;display:flex;position:fixed;inset:0}.viewer-slot{border:1px solid var(--accent-2);background:linear-gradient(145deg,#0e1124,#151833);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;width:min(960px,90vw);padding:3rem 2.5rem 2.5rem;animation:.4s cubic-bezier(.16,1,.3,1) both scale-up-modal;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 80px #000c}.viewer-slot img{object-fit:contain;border:1px solid var(--line);border-radius:12px;max-width:100%;max-height:52vh}.viewer-slot p{color:var(--muted);text-align:center;max-width:32rem;margin-top:1.5rem;font-size:.9rem;line-height:1.5}.gallery-close{z-index:210;border:1px solid var(--line);width:2.4rem;height:2.4rem;color:var(--foreground);cursor:pointer;background:#ffffff14;border-radius:50%;place-items:center;transition:all .3s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;top:1.5rem;right:1.5rem}.gallery-close:hover{background:var(--accent-2);border-color:var(--accent-2);color:#fff;transform:scale(1.1)}.gallery-arrow{z-index:210;border:1px solid var(--line);width:3.2rem;height:3.2rem;color:var(--foreground);cursor:pointer;background:#ffffff0f;border-radius:50%;place-items:center;transition:all .3s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.gallery-arrow:hover{border-color:var(--accent-2);background:var(--accent-2);color:#fff;transform:translateY(-50%)scale(1.08)}.gallery-prev{left:3rem}.gallery-next{right:3rem}@keyframes fade-in-backdrop{0%{opacity:0}to{opacity:1}}@keyframes scale-up-modal{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}.mock-visual-wrap{background:radial-gradient(circle,#6d7cff0a 0%,#0000 70%);flex-direction:column;flex-grow:1;justify-content:center;align-items:center;width:100%;height:100%;min-height:320px;padding:2.2rem 2.2rem 4.8rem;display:flex;position:relative;overflow:hidden}.mock-window{background:#060813;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;width:100%;max-width:580px;height:100%;display:flex;overflow:hidden;box-shadow:0 15px 45px #00000080}.mock-window-header{font-family:var(--font-geist-mono), monospace;color:var(--muted);background:#ffffff08;border-bottom:1px solid #ffffff0f;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-size:.6rem;display:flex}.mock-dots{gap:.35rem;margin-right:.75rem;display:flex}.mock-dots span{border-radius:50%;width:8px;height:8px}.mock-dots span:first-child{background:#ff5f56}.mock-dots span:nth-child(2){background:#ffbd2e}.mock-dots span:nth-child(3){background:#27c93f}.mock-window-body{font-family:var(--font-geist-mono), monospace;color:#c5c9db;text-align:left;flex-grow:1;padding:1.2rem;font-size:.7rem;line-height:1.55;overflow:auto}.mock-terminal-line{white-space:pre-wrap;margin:0 0 .3rem}.mock-terminal-prompt{color:var(--accent);margin-right:.5rem}.mock-code-purple{color:#c38efc}.mock-code-blue{color:#5aa1ff}.mock-code-green{color:#44cf7c}.mock-code-orange{color:#ff9d5c}.mock-code-comment{color:#6272a4;font-style:italic}.mock-stats-grid{border-bottom:1px solid #ffffff0d;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem;padding-bottom:.8rem;display:grid}.mock-stat-item{flex-direction:column;display:flex}.mock-stat-label{color:var(--muted);text-transform:uppercase;font-size:.52rem}.mock-stat-value{color:var(--accent-2);font-size:.95rem;font-weight:700}@media (max-width:700px){.showcase-hero,.archive-intro,.detail-hero{padding-block:5rem 3rem}.showcase-links,.showcase-project-grid,.certificate-grid,.tools-grid,.detail-two-col{grid-template-columns:1fr}.showcase-project-card:first-child{grid-column:auto;display:block}.showcase-links{flex-direction:column;display:flex}.showcase-links a{margin:0}.detail-meta{flex-direction:column;gap:1.5rem}.detail-section{padding-block:5rem}.pipeline{justify-content:flex-start}.pipeline-node{min-width:105px}.project-nav{font-size:.58rem}.archive-cta,.preview-band{display:block}.preview-band .text-button{margin-top:2rem}.preview-heading{display:block}.preview-heading .text-button{margin-top:1.5rem}.certificate-art{min-height:220px}.detail-visual-label{display:block}.detail-visual-label p:last-child{margin-top:1rem}.gallery-slot,.gallery-slot.gallery-wide,.gallery-slot.gallery-third{grid-column:span 12;min-height:300px}.gallery-slot.gallery-wide{min-height:380px}.gallery-arrow{display:none}.viewer-slot{min-height:50vh;padding:1rem}}
