.project-page-wrapper{min-height:100vh}.progress-bar{position:fixed;top:0;left:0;width:0%;height:2px;background:var(--red-mark);z-index:9999;transition:width .1s ease-out}.detail-hero{position:relative;width:100%;max-width:1200px;margin:0 auto var(--space-lg);height:60vh;min-height:400px;overflow:hidden;border-radius:0}.detail-hero img{width:100%;height:100%;object-fit:cover;object-position:center center}.relationship-hero img{object-position:center top}.hero-gradient{position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(to top,var(--bg-color),transparent);pointer-events:none}.detail-back-link{position:absolute;top:var(--space-md);left:var(--space-md);font-size:var(--font-sm);color:#fff;text-decoration:none;display:flex;align-items:center;gap:6px;padding:8px 16px;min-height:44px;background:var(--overlay-heavy);backdrop-filter:blur(8px);border-radius:0;transition:background-color var(--duration-hover) var(--ease-out),transform var(--duration-hover) var(--ease-out),color var(--duration-fast) var(--ease-out)}.detail-back-link:hover{background:var(--accent);transform:translate(-3px);color:#fff}.detail-back-link:focus-visible{outline:2px solid white;outline-offset:2px}.back-arrow{transition:var(--transition-transform)}.detail-back-link:hover .back-arrow{transform:translate(-1px)}.project-article{max-width:920px;margin-left:auto;margin-right:auto;padding:var(--space-lg) var(--space-md) 0;box-sizing:border-box}.project-header{position:static;background-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:none;z-index:auto;margin-bottom:var(--space-lg);display:flex;flex-direction:column;gap:0}.case-kicker,.section-label,.tools-label,.meta-label,.footer-nav-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.case-kicker{margin:0 0 var(--space-2)}.project-title{font-family:var(--font-family-heading);font-size:clamp(36px,8vw,64px);font-weight:500;letter-spacing:-.03em;line-height:1.1;color:var(--accent);margin:0 0 var(--space-3) 0}.project-oneliner{font-family:var(--font-family-heading);font-size:clamp(18px,3vw,24px);font-weight:500;line-height:1.4;color:var(--text-secondary);margin:0;max-width:680px}.project-meta-block,.artifact-section,.screenshot-section{background:var(--bg-secondary);border:1px solid var(--surface-border, rgba(0, 0, 0, .08));border-radius:0;padding:var(--space-md);margin-bottom:var(--space-lg)}.meta-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md)}.meta-item,.tools-column{display:flex;flex-direction:column;gap:4px}.meta-value{display:block;font-family:var(--font-family-heading);font-size:var(--font-body);color:var(--text-primary);line-height:1.4}.meta-impact{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;gap:4px}.meta-impact .meta-value{font-size:var(--font-body-lg);color:var(--text-primary);font-weight:500}.project-overview,.project-tools{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid rgba(0,0,0,.08)}.project-summary,.section-body{font-family:var(--font-family-heading);font-size:clamp(18px,2.5vw,22px);font-weight:500;line-height:1.65;color:var(--text-primary);max-width:760px;margin:0}.section-body{font-size:clamp(18px,2.5vw,20px);line-height:1.7}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.tags-list{display:flex;flex-wrap:wrap;gap:var(--space-xs);list-style:none;padding:0;margin:0}.tag-chip{display:inline-flex;padding:6px 14px;background:var(--overlay-light);border:1px solid var(--border-light);border-radius:0;font-family:var(--font-family-base);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-primary)}.content-section{margin-bottom:var(--space-lg)}.section-label{margin:0 0 var(--space-md)}.principle-grid,.workflow-list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.principle-item,.workflow-list article{border-top:1px solid rgba(0,0,0,.12);padding-top:var(--space-sm)}.principle-index{display:block;font-family:var(--font-family-mono, "JetBrains Mono", monospace);font-size:11px;color:var(--accent);margin-bottom:var(--space-xs)}.principle-item h3,.workflow-list h3,.artifact-heading p,.pod-detail h3{font-family:var(--font-family-heading);font-size:clamp(18px,2vw,22px);line-height:1.25;margin:0 0 var(--space-xs);color:var(--text-primary)}.principle-item p,.workflow-list p,.pod-detail p,.screenshot-viewer figcaption,.score-summary{font-family:var(--font-family-base);font-size:var(--font-sm, 14px);line-height:1.6;color:var(--text-secondary);margin:0}.artifact-heading{display:flex;justify-content:space-between;gap:var(--space-md);align-items:end;margin-bottom:var(--space-md)}.artifact-heading .section-label{margin-bottom:0}.score-artifact,.pod-artifact{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);gap:var(--space-md);align-items:stretch}.score-meter{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:radial-gradient(circle at center,rgba(37,180,57,.14),transparent 68%),var(--bg-color);border:1px solid rgba(0,0,0,.08)}.score-value{font-family:var(--font-family-heading);font-size:clamp(64px,9vw,96px);line-height:.95;color:var(--text-primary)}.score-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.score-controls{display:grid;gap:var(--space-sm);align-content:center}.score-control{display:grid;grid-template-columns:110px 1fr 42px;gap:var(--space-sm);align-items:center;font-family:var(--font-family-base);font-size:var(--font-sm, 14px);color:var(--text-primary)}.score-control input{width:100%;accent-color:var(--accent)}.score-control output{color:var(--text-secondary);text-align:right}.pod-orbit{position:relative;min-height:320px;background:radial-gradient(circle,transparent 0 34%,rgba(0,0,0,.05) 35%,transparent 36%),radial-gradient(circle,transparent 0 58%,rgba(0,0,0,.05) 59%,transparent 60%),var(--bg-color);overflow:hidden}.pod-core,.pod-node{position:absolute;display:grid;place-items:center;border-radius:999px;font-family:var(--font-family-heading);text-align:center}.pod-core{width:112px;height:112px;inset:50% auto auto 50%;transform:translate(-50%,-50%);background:#202020;color:#fff;box-shadow:0 18px 42px #0000002e}.pod-core span{font-size:13px;text-transform:uppercase;letter-spacing:.08em}.pod-node{width:96px;height:96px;border:0;color:#fff;background:var(--pod-color);cursor:pointer;box-shadow:0 16px 34px color-mix(in srgb,var(--pod-color) 35%,transparent);transition:transform var(--duration-hover) var(--ease-out),box-shadow var(--duration-hover) var(--ease-out)}.pod-node:nth-child(1){top:38px;left:50%;transform:translate(-50%)}.pod-node:nth-child(2){top:50%;right:32px;transform:translateY(-50%)}.pod-node:nth-child(3){bottom:38px;left:50%;transform:translate(-50%)}.pod-node:nth-child(4){top:50%;left:32px;transform:translateY(-50%)}.pod-node:hover,.pod-node.active{box-shadow:0 18px 40px color-mix(in srgb,var(--pod-color) 48%,transparent)}.pod-node:nth-child(1):hover,.pod-node:nth-child(1).active{transform:translate(-50%) scale(1.06)}.pod-node:nth-child(2):hover,.pod-node:nth-child(2).active{transform:translateY(-50%) scale(1.06)}.pod-node:nth-child(3):hover,.pod-node:nth-child(3).active{transform:translate(-50%) scale(1.06)}.pod-node:nth-child(4):hover,.pod-node:nth-child(4).active{transform:translateY(-50%) scale(1.06)}.pod-node span{max-width:82px;font-size:15px;line-height:1.15;overflow-wrap:anywhere}.pod-detail{padding:var(--space-md);background:var(--bg-color);border:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;justify-content:center}.pod-detail-status{align-self:start;padding:6px 10px;margin-bottom:var(--space-sm);border:1px solid rgba(0,0,0,.08);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.pod-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin:var(--space-md) 0 0}.pod-detail dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.pod-detail dd{margin:4px 0 0;font-family:var(--font-family-heading);color:var(--text-primary)}.workflow-list{grid-template-columns:repeat(2,1fr)}.screenshot-viewer{margin:0;background:var(--bg-color);border:1px solid rgba(0,0,0,.08)}.screenshot-viewer img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block}.screenshot-viewer figcaption{padding:var(--space-sm) var(--space-md);border-top:1px solid rgba(0,0,0,.08)}.screenshot-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-xs);margin-top:var(--space-sm)}.screenshot-tabs button{min-height:44px;border:1px solid rgba(0,0,0,.08);background:var(--bg-color);color:var(--text-secondary);font-family:var(--font-family-base);font-size:var(--font-sm, 14px);cursor:pointer;transition:background-color var(--duration-hover) var(--ease-out),color var(--duration-hover) var(--ease-out),border-color var(--duration-hover) var(--ease-out)}.screenshot-tabs button:hover,.screenshot-tabs button.active{color:var(--text-primary);border-color:var(--accent)}.project-footer{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid rgba(0,0,0,.08)}.footer-nav{display:flex;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.footer-nav-link{display:flex;flex-direction:column;gap:4px;text-decoration:none;transition:var(--transition-transform);max-width:45%}.footer-nav-prev:hover{transform:translate(-3px)}.footer-nav-next{text-align:right;margin-left:auto}.footer-nav-next:hover{transform:translate(3px)}.footer-nav-link:focus-visible,.footer-all-work:focus-visible,.pod-node:focus-visible,.screenshot-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.footer-nav-title{font-family:var(--font-family-heading);font-size:clamp(18px,3vw,24px);font-weight:500;color:var(--text-primary);transition:var(--transition-color)}.footer-nav-link:hover .footer-nav-title{color:var(--accent)}.footer-all-work{display:block;text-align:center;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);text-decoration:none;padding-top:var(--space-md);border-top:1px solid rgba(0,0,0,.08);transition:var(--transition-color)}.footer-all-work:hover{color:var(--text-primary)}@media(max-width:900px){.project-article{max-width:100%}.principle-grid,.workflow-list,.score-artifact,.pod-artifact{grid-template-columns:1fr}}@media(max-width:768px){.detail-hero{height:48vh;min-height:300px}.detail-back-link{top:var(--space-sm);left:var(--space-sm)}.project-title{font-size:36px;margin-bottom:var(--space-2)}.project-oneliner{font-size:18px;margin-bottom:var(--space-3)}.project-meta-block,.artifact-section,.screenshot-section{padding:var(--space-sm)}.meta-row,.tools-grid,.screenshot-tabs{grid-template-columns:1fr 1fr;gap:var(--space-sm)}.project-summary,.section-body{font-size:18px}.artifact-heading{display:block}.score-control{grid-template-columns:92px 1fr 36px;gap:var(--space-xs)}.pod-orbit{min-height:280px}.pod-node{width:82px;height:82px}.pod-node span{max-width:72px;font-size:13px;overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){.progress-bar,.detail-back-link,.pod-node,.screenshot-tabs button{transition:none}}[data-theme=dark] .project-meta-block,[data-theme=dark] .artifact-section,[data-theme=dark] .screenshot-section,[data-theme=dark] .score-meter,[data-theme=dark] .pod-detail,[data-theme=dark] .screenshot-viewer,[data-theme=dark] .screenshot-tabs button{border-color:#ffffff14}[data-theme=dark] .meta-impact,[data-theme=dark] .project-overview,[data-theme=dark] .project-tools,[data-theme=dark] .project-footer,[data-theme=dark] .footer-all-work,[data-theme=dark] .screenshot-viewer figcaption{border-color:#ffffff14}
