.source-tree{list-style:none;margin:0 0 1rem;padding:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.source-tree-row{display:flex;align-items:center;gap:.7rem;padding:.5rem .9rem;border-bottom:1px solid var(--border)}.source-tree-row:last-child{border-bottom:none}.source-tree-icon{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;width:1.1em;text-align:center}.source-tree-name{flex:1;color:var(--accent-ink)}.source-tree-size{color:var(--muted);font-size:.85rem}.axis-empty{grid-column:1/-1;background:0 0;border-style:dashed}.project-detail{padding-top:clamp(1.5rem,4vw,2.5rem)}.project-hero{margin-bottom:clamp(1.25rem,3vw,2rem)}.project-hero-image{margin-bottom:clamp(1rem,2.5vw,1.6rem);border-radius:14px;overflow:hidden;background:var(--surface-hi);border:1px solid var(--border);max-width:760px}.project-hero-image img{display:block;width:100%;max-height:440px;object-fit:cover}.detail-tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--border);margin-bottom:clamp(1rem,2.5vw,1.6rem)}.detail-tab{appearance:none;background:0 0;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:.6rem .5rem;color:var(--muted);font:inherit;font-weight:600;cursor:pointer}.detail-tab:hover{color:var(--text)}.detail-tab.is-active{color:var(--text);border-bottom-color:var(--accent)}.detail-panel.is-hidden{display:none}.model-viewer{position:relative;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:radial-gradient(120% 100% at 50% 0,var(--surface-hi),var(--surface))}.model-viewer-canvas{width:100%;height:min(60vh,480px);display:block;cursor:grab}.model-viewer-canvas:active{cursor:grabbing}.model-viewer-canvas canvas{display:block}.model-viewer-hint{position:absolute;left:0;right:0;bottom:0;margin:0;padding:.5rem;text-align:center;font-size:.78rem;color:var(--muted);pointer-events:none}.model-viewer.is-error::after{content:"Couldn't load the 3D part.";position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:.9rem}.project-hero-creator{margin:0 0 .35rem;font-size:.92rem}.project-hero-creator .handle-link{color:var(--muted-hi)}.project-hero-creator .handle-link:hover{color:var(--text)}.project-hero-creator .handle-mark{color:var(--accent-ink);margin-right:.2rem}.project-title{font-size:clamp(1.7rem, 4.5vw, 2.4rem);line-height:1.15;margin:0 0 .5rem;letter-spacing:-.025em}.project-hero .lede{margin:0;color:var(--muted-hi);font-size:clamp(1rem, 2vw, 1.1rem);max-width:56ch}.flow-section{margin:clamp(1.75rem,4vw,2.5rem) 0;padding-top:clamp(1.5rem,3vw,2rem);border-top:1px solid var(--border)}.flow-section:first-of-type{border-top:none;padding-top:0}.flow-title{font-size:clamp(1.25rem, 3vw, 1.55rem);margin:0 0 .6rem;letter-spacing:-.015em}.flow-lede{margin:0 0 1.25rem;color:var(--muted-hi);max-width:60ch}.maker-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.maker-row{margin:0}.maker-row-link{display:grid;grid-template-columns:minmax(7rem,1.4fr) 1fr 0.8fr 0.8fr;gap:.75rem;align-items:center;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;text-decoration:none;font-size:.94rem;transition:border-color 120ms ease,background 120ms ease}.maker-row-link:hover{border-color:var(--border-hi);background:var(--surface-hi)}.maker-row-handle .handle-mark{color:var(--accent-ink)}.maker-row-handle .handle-text{color:var(--text)}.maker-row-mat{color:var(--muted-hi)}.maker-row-lead{color:var(--muted);font-size:.88rem}.maker-row-price{color:var(--accent-ink);text-align:right;font-weight:500}@media (max-width:640px){.maker-row-link{grid-template-columns:1fr 1fr;grid-template-areas:"handle price" "mat lead"}.maker-row-handle{grid-area:handle}.maker-row-price{grid-area:price}.maker-row-mat{grid-area:mat}.maker-row-lead{grid-area:lead}}.file-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.file-row{display:grid;grid-template-columns:3.5rem 1fr auto auto;gap:.75rem;align-items:center;padding:.6rem .85rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:.94rem}.file-row .file-kind{font-size:.75rem;font-weight:600;letter-spacing:.04em;color:var(--muted)}.file-row .file-name{color:var(--text);word-break:break-all}.file-row .file-size{color:var(--muted);font-size:.85rem}.file-row .btn-sm{padding:.3rem .7rem;font-size:.85rem}.repo-pointer{margin:1rem 0 0;color:var(--muted-hi);font-size:.92rem}.repo-pointer a{color:var(--accent-ink)}.project-stage{padding-top:clamp(1.25rem,3vw,2rem)}.project-mini-hero{margin-bottom:clamp(1.25rem,3vw,2rem);padding-bottom:1rem;border-bottom:1px solid var(--border)}.project-mini-crumb{margin:0 0 .35rem;font-size:.86rem;color:var(--muted)}.project-mini-crumb .handle-link,.project-mini-crumb .project-mini-link{color:var(--muted-hi);text-decoration:none}.project-mini-crumb .handle-link:hover,.project-mini-crumb .project-mini-link:hover{color:var(--text)}.project-mini-crumb .handle-mark{color:var(--accent-ink);margin-right:.15rem}.project-mini-crumb .crumb-sep{color:var(--border-hi);margin:0 .4rem}.project-mini-crumb .project-mini-sub{color:var(--text)}.project-mini-title{font-size:clamp(1.45rem, 3.5vw, 1.9rem);line-height:1.15;margin:0;letter-spacing:-.02em}.stage-section{margin:clamp(1.25rem,3vw,1.75rem) 0}.stage-section:first-of-type{margin-top:0}.stage-title{font-size:clamp(1.15rem, 2.5vw, 1.4rem);margin:0 0 .55rem;letter-spacing:-.015em}.stage-lede{margin:0 0 1.1rem;color:var(--muted-hi);max-width:60ch}.stage-empty{margin-top:clamp(1.25rem,3vw,1.75rem);padding:clamp(1.5rem,4vw,2.5rem);background:var(--surface);border:1px dashed var(--border-hi);border-radius:var(--radius);text-align:left}.stage-empty .lede{margin:0 0 1rem;color:var(--muted-hi);max-width:60ch}.stage-empty-actions{display:flex;gap:.6rem;flex-wrap:wrap}.configurator-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,2fr);gap:clamp(1rem,3vw,2rem);align-items:start;margin-top:clamp(1rem,3vw,1.5rem)}@media (max-width:760px){.configurator-grid{grid-template-columns:1fr}.configurator-panel{position:static!important}}.configurator-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1rem,2.5vw,1.5rem);position:sticky;top:1rem}.configurator-title{margin:0 0 .4rem;font-size:1.1rem;letter-spacing:-.01em}.configurator-lede{margin:0 0 1rem;color:var(--muted-hi);font-size:.92rem}.configurator-form .field{display:block;margin-bottom:1rem}.configurator-form .field-label{display:block;margin-bottom:.25rem;font-size:.9rem;color:var(--text);font-weight:500}.configurator-form .field-hint{display:block;margin:0 0 .4rem;font-size:.82rem;color:var(--muted)}.configurator-form select.field-input{width:100%;padding:.5rem .7rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit}.configurator-form select.field-input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 2px var(--accent-ring)}.radio-group-field{border:none;padding:0;margin:0 0 1rem}.radio-group-field legend.field-label{margin-bottom:.45rem;padding:0}.radio-group{display:flex;flex-direction:column;gap:.4rem}.radio-option{display:flex;align-items:center;gap:.55rem;padding:.45rem .6rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.92rem}.radio-option:hover{border-color:var(--border-hi)}.radio-option input[type=radio]{accent-color:var(--accent)}.radio-option input[type=radio]:checked~.radio-label{color:var(--accent-ink)}.radio-label{line-height:1}.configurator-actions{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}.maker-pool-panel{min-height:6rem}.maker-pool-meta{margin:0 0 1rem;color:var(--muted-hi);font-size:.94rem}.maker-pool-empty{background:var(--surface);border:1px dashed var(--border-hi);border-radius:var(--radius);padding:clamp(1.25rem,3vw,1.75rem)}.maker-pool-empty h3{margin:0 0 .55rem;font-size:1rem;letter-spacing:-.005em}.maker-pool-empty p{margin:0 0 .85rem;color:var(--muted-hi)}.hexcell-access{display:inline-block;font-family:ui-monospace,"JetBrains Mono",Menlo,monospace;font-size:.66rem;padding:.08rem .5rem;border-radius:999px;border:1px solid var(--border);color:var(--muted);white-space:nowrap;margin-top:.2rem;width:fit-content}.hexcell-access[data-character=open]{color:var(--accent-ink);border-color:rgba(var(--hex-rgb),.35);background:rgba(var(--hex-rgb),.12)}.hexcell-access[data-character=paid]{color:#cdb9f6;border-color:rgba(160,128,240,.4);background:rgba(160,128,240,.12)}.hexcell-access[data-character=closed]{color:#e8c98a;border-color:rgba(230,179,92,.4);background:rgba(230,179,92,.12)}.hexcell-access[data-character=buy]{color:var(--muted);background:rgba(255,255,255,.04)}.hexcell-access[data-character=enclave]{color:#9fd8e8;border-color:rgba(96,200,220,.4);background:rgba(96,200,220,.12)}.hexcell-access[data-character=conditions]{color:#f2b3cd;border-color:rgba(240,130,180,.4);background:rgba(240,130,180,.12)}