.three-d-page{--three-accent:var(--accent);--three-accent-ink:var(--color-primary-foreground,#0a0a0b);padding-bottom:72px;position:relative}.three-d-hero{isolation:isolate;padding-bottom:32px;position:relative;overflow:hidden}.three-d-hero__grid{z-index:-1;opacity:.28;background-image:linear-gradient(color-mix(in oklab,var(--three-accent) 22%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in oklab,var(--three-accent) 22%,transparent) 1px,transparent 1px);transform-origin:50%;background-size:34px 34px;height:310px;position:absolute;inset:-20px -40px auto 34%;transform:perspective(500px)rotateX(62deg)rotate(-7deg);-webkit-mask-image:linear-gradient(120deg,#0000 5%,#000 45%,#0000 90%);mask-image:linear-gradient(120deg,#0000 5%,#000 45%,#0000 90%)}.three-d-hero__stats{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.three-d-hero__stats div{border:1px solid var(--line);background:var(--glass);border-radius:10px;align-items:baseline;gap:8px;padding:9px 13px;display:flex}.three-d-hero__stats strong{font-family:var(--font-mono);color:var(--three-accent);font-size:13px}.three-d-hero__stats span{color:var(--ink-mute);font-size:11px}.three-d-showcase{border:1px solid color-mix(in oklab,var(--three-accent) 28%,var(--line));background:#0a0a0b;border-radius:22px;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);min-height:440px;margin:8px 0 54px;display:grid;overflow:hidden;box-shadow:0 24px 80px #0000003d,inset 0 1px #ffffff0a}.three-d-showcase__copy{color:#f4f4f2;border-right:1px solid color-mix(in oklab,var(--three-accent) 14%,transparent);background:radial-gradient(circle at 0 0,color-mix(in oklab,var(--three-accent) 12%,transparent),transparent 46%);flex-direction:column;justify-content:center;padding:44px;display:flex}.three-d-kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--three-accent);align-items:center;gap:8px;font-size:10px;font-weight:700;display:flex}.three-d-kicker i{background:var(--three-accent);width:6px;height:6px;box-shadow:0 0 14px var(--three-accent);border-radius:50%}.three-d-showcase h2{letter-spacing:-.045em;color:#fff;margin:18px 0 10px;font-size:clamp(28px,3vw,44px)}.three-d-showcase__copy>p{color:#f4f4f2a6;max-width:440px;margin:0;font-size:14px;line-height:1.65}.three-d-showcase__facts{flex-wrap:wrap;gap:7px;margin-top:24px;display:flex}.three-d-showcase__facts span{border:1px solid color-mix(in oklab,var(--three-accent) 20%,transparent);font-family:var(--font-mono);letter-spacing:.08em;color:#f4f4f2b3;border-radius:7px;padding:5px 9px;font-size:9px}.three-d-showcase__actions{flex-wrap:wrap;gap:9px;margin-top:26px;display:flex}.three-d-showcase__actions button,.three-d-showcase__actions a{cursor:pointer;border-radius:9px;justify-content:center;align-items:center;min-height:40px;padding:0 15px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.three-d-showcase__actions button{background:var(--three-accent);color:var(--three-accent-ink);border:0}.three-d-showcase__actions a{border:1px solid color-mix(in oklab,var(--three-accent) 26%,transparent);color:#f4f4f2;background:#ffffff08}.three-d-viewer{background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--three-accent) 18%,transparent),transparent 38%),linear-gradient(145deg,color-mix(in srgb,var(--three-accent) 7%,#111113),#070708);min-height:300px;position:relative;overflow:hidden}.three-d-viewer canvas{z-index:2;cursor:grab;width:100%;height:100%;position:absolute;inset:0}.three-d-viewer canvas:active{cursor:grabbing}.three-d-viewer__orbit{z-index:1;aspect-ratio:2.6;border:1px solid color-mix(in oklab,var(--three-accent) 22%,transparent);width:70%;box-shadow:0 0 44px color-mix(in oklab,var(--three-accent) 7%,transparent),inset 0 0 44px color-mix(in oklab,var(--three-accent) 6%,transparent);border-radius:50%;position:absolute;bottom:9%;left:50%;transform:translate(-50%)}.three-d-viewer__orbit:before,.three-d-viewer__orbit:after{content:"";border:1px solid color-mix(in oklab,var(--three-accent) 13%,transparent);border-radius:inherit;position:absolute;inset:16%}.three-d-viewer__orbit:after{inset:32%}.three-d-viewer__status{z-index:3;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#f4f4f294;place-items:center;font-size:10px;display:grid;position:absolute;inset:0}.three-d-viewer__status--error{color:#ff917e}.three-d-viewer__hint{z-index:3;font-family:var(--font-mono);letter-spacing:.04em;color:#f4f4f270;pointer-events:none;background:#070708a3;border:1px solid #ffffff14;border-radius:6px;padding:5px 8px;font-size:8px;position:absolute;bottom:12px;right:14px}.three-d-browser__head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;display:flex}.three-d-browser__overline{font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--three-accent);margin-bottom:7px;font-size:9px;font-weight:700;display:block}.three-d-browser__head h2{letter-spacing:-.035em;margin:0;font-size:clamp(22px,3vw,34px)}.three-d-search{border:1px solid var(--line);background:var(--glass);width:min(100%,310px);color:var(--ink-mute);border-radius:10px;align-items:center;gap:9px;padding:10px 12px;display:flex}.three-d-search:focus-within{border-color:color-mix(in oklab,var(--three-accent) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in oklab,var(--three-accent) 9%,transparent)}.three-d-search input{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:12px}.three-d-search input::placeholder{color:var(--ink-mute)}.three-d-categories{scrollbar-width:none;gap:8px;margin-bottom:17px;padding-bottom:9px;display:flex;overflow-x:auto}.three-d-categories::-webkit-scrollbar{display:none}.three-d-categories button{white-space:nowrap;border:1px solid var(--line);background:var(--glass);color:var(--ink-dim);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:8px 11px;font-size:11px;font-weight:650;transition:all .2s;display:inline-flex}.three-d-categories button:hover{border-color:color-mix(in oklab,var(--three-accent) 35%,var(--line));color:var(--ink)}.three-d-categories button.active{border-color:color-mix(in oklab,var(--three-accent) 52%,var(--line));background:color-mix(in oklab,var(--three-accent) 10%,var(--glass));color:var(--three-accent)}.three-d-categories button span{background:color-mix(in oklab,currentColor 9%,transparent);min-width:19px;height:19px;font-family:var(--font-mono);border-radius:6px;place-items:center;padding:0 5px;font-size:8px;display:grid}.three-d-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.three-d-card{border:1px solid color-mix(in oklab,var(--three-accent) 12%,var(--line));background:color-mix(in oklab,var(--glass) 92%,#0a0a0b);animation:.45s both three-card-in;animation-delay:calc(var(--card-index) * 38ms);border-radius:16px;overflow:hidden;box-shadow:0 12px 34px #0000001f}@keyframes three-card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.three-d-card__visual{isolation:isolate;aspect-ratio:4/3;border:0;border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--three-accent) 18%,transparent),transparent 38%),linear-gradient(145deg,color-mix(in srgb,var(--three-accent) 7%,#111113),#070708);cursor:pointer;width:100%;display:block;position:relative;overflow:hidden}.three-d-card__visual:before{content:"";z-index:0;aspect-ratio:2.8;border:1px solid color-mix(in oklab,var(--three-accent) 16%,transparent);width:72%;box-shadow:inset 0 0 28px color-mix(in oklab,var(--three-accent) 4%,transparent);border-radius:50%;position:absolute;bottom:7%;left:50%;transform:translate(-50%)}.three-d-card__visual:after{content:"";z-index:2;opacity:.35;background:linear-gradient(#0000 55%,#070708a8);transition:all .25s;position:absolute;inset:0}.three-d-card__visual img{z-index:1;object-fit:contain;width:100%;height:100%;padding:10px;transition:transform .38s cubic-bezier(.2,.8,.2,1),filter .3s;position:relative}.three-d-card:hover .three-d-card__visual img{filter:saturate(1.08);transform:scale(1.045)}.three-d-card:hover .three-d-card__visual:after{opacity:.72}.three-d-card__format{z-index:3;border:1px solid color-mix(in oklab,var(--three-accent) 30%,transparent);font-family:var(--font-mono);letter-spacing:.11em;color:var(--three-accent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#070708b8;border-radius:6px;padding:4px 7px;font-size:8px;font-weight:700;position:absolute;top:10px;left:10px}.three-d-card__view{z-index:3;color:#f4f4f2;opacity:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#070708c2;border:1px solid #ffffff21;border-radius:8px;align-items:center;gap:7px;padding:7px 10px;font-size:10px;font-weight:700;transition:all .22s;display:flex;position:absolute;bottom:13px;left:50%;transform:translate(-50%,6px)}.three-d-card:hover .three-d-card__view,.three-d-card__visual:focus-visible .three-d-card__view{opacity:1;transform:translate(-50%)}.three-d-card__body{padding:16px}.three-d-card__category{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--three-accent);font-size:8px;font-weight:700}.three-d-card h3{color:var(--ink);letter-spacing:-.025em;margin:6px 0 7px;font-size:18.5px;font-weight:600}.three-d-card__body>p{min-height:44px;color:color-mix(in oklab,var(--ink) 72%,transparent);margin:0;font-size:12.5px;line-height:1.6}.three-d-card__meta{color:color-mix(in oklab,var(--ink) 52%,transparent);font-family:var(--font-mono);flex-wrap:wrap;gap:6px 12px;margin-top:13px;font-size:9px;display:flex}.three-d-card__meta span+span{position:relative}.three-d-card__meta span+span:before{content:"";background:currentColor;border-radius:50%;width:2px;height:2px;position:absolute;top:50%;left:-7px}.three-d-card__actions{grid-template-columns:1fr 1.15fr;gap:7px;margin-top:14px;display:grid}.three-d-card__actions button,.three-d-card__actions a{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:36px;font-size:10px;font-weight:700;text-decoration:none;display:flex}.three-d-card__actions button{border:1px solid var(--line);color:var(--ink-dim);background:0 0}.three-d-card__actions a{border:1px solid color-mix(in oklab,var(--three-accent) 35%,var(--line));background:color-mix(in oklab,var(--three-accent) 9%,transparent);color:color-mix(in oklab,var(--three-accent) 82%,var(--ink))}.three-d-empty{border:1px dashed var(--line);min-height:180px;color:var(--ink-mute);border-radius:15px;place-items:center;font-size:12px;display:grid}.three-d-load-more{border:1px solid var(--line);background:var(--glass);border-radius:12px;justify-content:center;align-items:center;gap:16px;margin-top:26px;padding:14px;display:flex}.three-d-load-more span{font-family:var(--font-mono);color:var(--ink-mute);font-size:9px}.three-d-load-more button{border:1px solid color-mix(in oklab,var(--three-accent) 35%,var(--line));background:color-mix(in oklab,var(--three-accent) 9%,transparent);min-height:38px;color:color-mix(in oklab,var(--three-accent) 82%,var(--ink));cursor:pointer;border-radius:8px;padding:0 15px;font-size:10px;font-weight:750}.three-d-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050506d1;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.three-d-modal{border:1px solid color-mix(in oklab,var(--three-accent) 22%,transparent);color:#f4f4f2;background:#0a0a0b;border-radius:20px;grid-template-rows:auto minmax(340px,1fr) auto;width:min(100%,1040px);height:min(88vh,780px);display:grid;overflow:hidden;box-shadow:0 38px 120px #00000085}.three-d-modal__header,.three-d-modal__footer{background:#ffffff05;justify-content:space-between;align-items:center;gap:20px;padding:15px 18px;display:flex}.three-d-modal__header{border-bottom:1px solid color-mix(in oklab,var(--three-accent) 12%,transparent)}.three-d-modal__header span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--three-accent);font-size:8px}.three-d-modal__header h2{color:#fff;margin:3px 0 0;font-size:19px}.three-d-modal__close{color:#f4f4f2;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:9px;place-items:center;width:36px;height:36px;font-size:23px;display:grid}.three-d-modal__stage{min-height:0}.three-d-modal__stage .three-d-viewer{height:100%}.three-d-modal__footer{border-top:1px solid color-mix(in oklab,var(--three-accent) 12%,transparent)}.three-d-modal__footer p{color:#f4f4f27a;font-family:var(--font-mono);margin:0;font-size:8px}.three-d-modal__footer>div{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.three-d-modal__footer a,.three-d-modal__footer button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:36px;padding:0 12px;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.three-d-modal__source{color:#f4f4f2b3;background:0 0;border:1px solid #ffffff1a}.three-d-modal__footer button{border:1px solid color-mix(in oklab,var(--three-accent) 20%,transparent);background:color-mix(in oklab,var(--three-accent) 6%,transparent);color:var(--three-accent)}.three-d-modal__download{background:var(--three-accent);color:var(--three-accent-ink);border:0}@media (max-width:1050px){.three-d-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.three-d-showcase{grid-template-columns:1fr}.three-d-showcase__copy{border-right:0;border-bottom:1px solid color-mix(in oklab,var(--three-accent) 14%,transparent);padding:28px}.three-d-showcase>.three-d-viewer{min-height:360px}.three-d-browser__head{flex-direction:column;align-items:stretch}.three-d-search{width:100%}.three-d-grid{grid-template-columns:1fr}.three-d-load-more{text-align:center;flex-direction:column;align-items:stretch}.three-d-modal-backdrop{padding:10px}.three-d-modal{grid-template-rows:auto minmax(280px,1fr) auto;height:94vh}.three-d-modal__footer{flex-direction:column;align-items:stretch}.three-d-modal__footer>div{justify-content:stretch}.three-d-modal__footer a,.three-d-modal__footer button{flex:1}.three-d-card__view{opacity:1;transform:translate(-50%)}}@media (max-width:460px){.three-d-showcase__copy{padding:22px}.three-d-showcase>.three-d-viewer{min-height:300px}.three-d-modal__header{padding:12px}.three-d-modal__footer>div{grid-template-columns:1fr 1fr;display:grid}.three-d-modal__source{grid-column:1/-1}.three-d-viewer__hint{display:none}}
