/* Jev Gallery — editorial typography and a pink halftone field inspired by typesafe.ai.
   The identity, illustration and content remain those of the independent gallery. */
@font-face{font-family:Host Grotesk;src:url('/fonts/host-grotesk-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Host Grotesk;src:url('/fonts/host-grotesk-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Host Grotesk;src:url('/fonts/host-grotesk-700.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Fragment Mono;src:url('/fonts/fragment-mono-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root,html[data-theme=light]{color-scheme:light;--bg:#faf9f7;--panel:#f0eeeb;--line:#bdbab7;--text:#1e1e1e;--muted:#5b575a;--accent:#9e1d6a;--pink:#f4b7de;--soft-pink:#f9e9f3;--button:#1e1e1e;--button-text:#fff;--mono:'Fragment Mono',ui-monospace,SFMono-Regular,Consolas,monospace}
html[data-theme=dark]{color-scheme:dark;--bg:#161616;--panel:#222;--line:#5a5559;--text:#f4f1f2;--muted:#bdb5bb;--accent:#f3a2d4;--pink:#ce6bab;--soft-pink:#30242d;--button:#f4f1f2;--button-text:#161616}
body{font-family:'Host Grotesk','Helvetica Neue','PingFang SC','Microsoft YaHei',sans-serif;line-height:1.65;background:var(--bg);isolation:isolate}
body:has(.intro)::before{content:'';position:absolute;z-index:-1;inset:0 0 auto;height:680px;pointer-events:none;background-image:url('/assets/pink-field.svg'),radial-gradient(ellipse at 15% 0%,#f4b2e266,transparent 50%),radial-gradient(ellipse at 85% 0%,#f4b2e266,transparent 55%);background-size:100% auto,100% 100%,100% 100%;background-repeat:no-repeat;mask-image:linear-gradient(#000 35%,transparent)}
html[data-theme=dark] body:has(.intro)::before{opacity:.65}
.shell{max-width:1512px;padding:0 48px}.shell>header{min-height:80px;gap:20px;border-bottom:1px solid var(--line);padding:18px 0;position:relative;z-index:2}
.brand{font-size:1.4rem;font-weight:600;letter-spacing:-.06em;gap:8px;white-space:nowrap}.brand-light{font-size:inherit;font-weight:400;color:var(--text)}
html[data-theme] .logo{width:28px;height:30px;background:none;color:var(--text);border-radius:0;padding:0;font-size:1.8rem;border-right:1px solid var(--text);margin-right:4px;padding-right:7px}
header nav{gap:4px;justify-content:center;font-size:.84rem}header nav a{padding:3px 7px;background:var(--bg);color:var(--text)!important;transition:background .18s}header nav a:hover{background:var(--pink)}header nav .nav-submit{background:var(--button);color:var(--button-text)!important}
.language-switch,.theme-toggle{border-radius:0;border-color:var(--line);padding:2px;font-family:var(--mono);font-size:.65rem;background:var(--bg)}.language-switch a{border-radius:0;padding:6px 7px}html[data-theme] .language-switch a[aria-current]{background:var(--button);color:var(--button-text)}.theme-toggle{min-height:34px;padding:6px 9px;color:var(--text)}
.intro{position:relative;display:flex;flex-direction:column;text-align:center;padding:62px 24px 0;gap:0;min-height:690px}.hero-update{width:min(100%,375px);text-align:left;border:1px solid var(--text);padding:3px;background:var(--panel);box-shadow:3px 3px 0 color-mix(in srgb,var(--text) 20%,transparent);font: .7rem/1.6 var(--mono);margin:0 auto 65px}.window-bar{display:flex;justify-content:space-between;padding:2px 6px;background:var(--button);color:var(--button-text);gap:6px}.window-bar>span{white-space:nowrap;letter-spacing:3px}.hero-update>a{display:flex;justify-content:space-between;gap:16px;padding:7px 6px;color:var(--text);text-decoration:underline;text-underline-offset:3px}.hero-update>a:hover{background:var(--pink)}
.hero-copy{max-width:1120px;position:relative;width:100%}.hero-copy:before,.hero-copy:after{position:absolute;top:-28px;font:22px var(--mono);color:var(--muted)}.hero-copy:before{content:'⌜';left:0}.hero-copy:after{content:'⌝';right:0}
.eyebrow{font-family:var(--mono);letter-spacing:.03em;color:var(--muted);font-size:.7rem}.intro .eyebrow{color:var(--text);margin-bottom:26px;line-height:1.8}.intro .eyebrow span{margin-left:20px;color:var(--muted)}
h1,h2,h3{text-wrap:balance}.intro h1,html[lang=en] .intro h1{font-size:clamp(3.5rem,6.7vw,6.2rem);font-weight:600;line-height:1.06;letter-spacing:-.065em;max-width:none;margin:0 auto}.intro h1 span{color:var(--text)}html[lang=zh-CN] .intro h1{font-size:clamp(3rem,5.5vw,5rem);letter-spacing:-.06em;line-height:1.22}.intro .lede{font-size:1.08rem;line-height:1.7;margin:28px auto 0;max-width:560px;color:var(--muted)}
.hero-actions{display:flex;justify-content:center;gap:40px;margin-top:30px}.hero-actions>a{font-size:1.7rem;line-height:1.4;font-weight:600;border-bottom:2px solid var(--text);letter-spacing:-.04em;transition:color .18s,border-color .18s}.hero-actions>a:hover{color:var(--accent);border-color:var(--accent)}.hero-actions span{font-size:1.1rem;vertical-align:middle}
html[data-theme] .author-link{font-size:.78rem;color:var(--muted);margin:22px auto 0}.author-link:hover{color:var(--accent)}.hero-register{display:flex;justify-content:space-between;width:100%;font: .58rem/1.5 var(--mono);color:var(--muted);margin:46px 0 14px;gap:12px}
.intro-index{display:flex;justify-content:center;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:calc(100% + 48px);padding:16px 0;color:var(--muted);margin:0;font: .74rem/1.5 var(--mono);min-width:0!important}.intro-index>span{padding:0 26px;border-right:1px solid var(--line)}.intro-index>span:last-child{border:0}.index-number{font:inherit;letter-spacing:0;color:var(--text)}
#cases{padding-top:52px}.section-heading{padding:0;margin-bottom:20px}.section-heading h2{font-size:1.1rem;font-weight:400}.section-heading h2 span{font-size:.64rem}.date{font-size:.64rem}.featured{border-radius:0;background:transparent;border:1px solid var(--line);grid-template-columns:1.05fr 1fr}.feature-copy{padding:36px}.feature-copy h3,html[lang=en] .feature-copy h3{font-size:2.6rem;line-height:1.15;letter-spacing:-.05em;font-weight:600;margin:26px 0 18px}.feature-copy>p:not(.fine){font-size:.95rem}.feature-stat strong{font-family:var(--mono);font-size:2.8rem;color:var(--text)}.badge{border-radius:0!important;color:var(--text)!important;background:var(--panel)!important;border-color:var(--line)!important}.meta{font-size:.65rem}.links a{border-color:var(--text)!important}.fine{font-size:.74rem}
html[data-theme] .trace{margin:24px 24px 24px 0;border:1px solid var(--text);border-radius:0;background:var(--panel);box-shadow:4px 4px 0 color-mix(in srgb,var(--text) 13%,transparent)}.trace-title{padding:7px 12px;background:var(--button);color:var(--button-text);font-size:.65rem}.trace-goal{padding:22px}.trace-goal p{font-size:.9rem}html[data-theme] .trace-decision{border-radius:0;background:var(--soft-pink);border:1px solid var(--line);padding:15px 12px}html[data-theme] .route-line{border-color:var(--line)}html[data-theme] .trace-steps p{color:var(--text)}html[data-theme] .trace-steps>div>span{color:var(--muted)}.trace small,.trace-steps code{font-size:.62rem}.trace-foot{font-family:var(--mono);font-size:.58rem;flex-wrap:wrap}.mini-logo{color:var(--text)}.code-pill{font-size:.6rem}
.guide-entry{margin-top:70px;padding-top:32px}.catalog-heading h2{font-size:2.5rem;letter-spacing:-.05em;font-weight:600;line-height:1.2}.catalog-heading p:not(.eyebrow){max-width:640px;margin-top:15px}.guide-grid{gap:0;border-bottom:1px solid var(--line);margin-top:30px}.guide-card{background:transparent;padding:28px 26px;border-radius:0;border:0;border-top:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column}.guide-card:nth-child(even){border-right:0}.guide-card h3{font-size:1.2rem;font-weight:600;letter-spacing:-.025em;margin:9px 0 12px}.guide-card .text-link{align-self:flex-start;margin-top:auto;text-decoration:underline!important;text-underline-offset:4px}.guide-card p:not(.eyebrow){font-size:.88rem;max-width:60ch}.guide-card .eyebrow{font-size:.6rem;color:var(--muted)}
.catalog{padding-top:70px}.catalog-controls{border-radius:0;background:var(--panel);grid-template-columns:2fr repeat(4,1fr);gap:14px;padding:22px;border-color:var(--line)}.catalog-controls label{font-size:.75rem;color:var(--text)}.catalog-controls input,.catalog-controls select{border-radius:0;background:var(--bg);border-color:var(--line);min-height:44px;padding:10px;font-size:.82rem}.catalog-controls .quiet-button{padding:0;background:transparent;border:0;border-bottom:1px solid var(--muted);font-size:.75rem}.results-bar{font-family:var(--mono);font-size:.72rem}.catalog-grid{gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}html[data-theme] .catalog-card{background:var(--bg);padding:26px;border-radius:0;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .18s}.catalog-card:hover{background:var(--panel)!important}.catalog-meta{font-family:var(--mono);font-size:.6rem;color:var(--muted)!important}.catalog-card h3{font-size:1.45rem;font-weight:600;letter-spacing:-.045em;margin:12px 0 2px;line-height:1.25}.catalog-author{color:var(--muted)!important;font-size:.65rem}.catalog-title{font-size:.93rem;margin:20px 0 16px}.catalog-card dl{font-size:.8rem;row-gap:10px}.catalog-card dt{color:var(--text)!important}.catalog-card dd{color:var(--muted)}.catalog-card summary{font-size:.78rem}.detail-content>p,.source-links a{font-size:.8rem}.detail-content .verified-date{color:var(--muted)!important}.catalog-card .detail-link{font-size:.8rem;margin:12px 0}.catalog-card .project-link{padding-top:12px;margin-top:12px;font-size:.72rem}
.quiet-button,.pagination button,.copy-link,#analytics-choice,.clear-draft{border-radius:0;background:var(--bg);border-color:var(--line);transition:background .18s}.pagination{font: .74rem var(--mono);gap:20px;padding:16px 0}.pagination button:hover:not(:disabled),.copy-link:hover,#analytics-choice:hover,.clear-draft:hover{background:var(--soft-pink)}.pagination button:disabled{opacity:.45}.empty-state{border-radius:0;background:var(--panel)}
.model{margin-top:70px;border-color:var(--line);padding:48px 0;gap:60px}.model h2{font-size:2.7rem;letter-spacing:-.05em;line-height:1.15}.primitives>div{border-radius:0!important;background:transparent!important;border-color:var(--line)!important}.primitives code{color:var(--accent)}.text-link{color:var(--accent)}
html[data-theme] .follow-banner{border-radius:0;background:var(--panel);border-color:var(--line);padding:40px;margin-top:50px}.follow-banner h2{font-size:2.6rem;letter-spacing:-.05em;font-weight:600}.follow-banner .eyebrow{font-size:.62rem}html[data-theme] .follow-button,html[data-theme] .submit-button{border-radius:0;background:var(--button);color:var(--button-text);border:1px solid var(--button);transition:background .18s,color .18s}.follow-button:hover,.submit-button:hover{background:var(--pink)!important;color:#1e1e1e!important;border-color:var(--pink)!important}
.submission{gap:70px;padding:64px 0;border-color:var(--line)}.submission h2{font-size:3rem;letter-spacing:-.05em;line-height:1.15}.submission-intro>p:not(.eyebrow){font-size:.95rem}.submission-intro ol{font-size:.9rem}.submission-form{border-radius:0;background:var(--panel)!important;padding:30px;border-color:var(--line)}.submission-form label{font-size:.82rem}html[data-theme] .submission-form input:not([type=checkbox]),html[data-theme] .submission-form textarea,html[data-theme] .submission-form select{border-radius:0;background:var(--bg);border-color:var(--line);color:var(--text)}html[data-theme] .submission-form input::placeholder{color:var(--muted)}.submission-form small{font-size:.7rem}.submission-status{border-radius:0!important}html[data-theme] .submission-status.is-success{background:var(--soft-pink);color:var(--text)}html[data-theme] .submission-status.is-error{background:var(--panel);color:var(--text);border-left:3px solid var(--accent)}
.reading-page{max-width:860px;padding-top:66px;line-height:1.8}.reading-page h1,html[lang=en] .reading-page h1{font-size:clamp(2.3rem,4.6vw,4rem);letter-spacing:-.055em;font-weight:600;line-height:1.15}.reading-page h2{font-size:1.65rem;letter-spacing:-.03em;line-height:1.4}.reading-page h3{font-size:1.1rem}.reading-page .lede{font-size:1.1rem;max-width:70ch}.case-byline{font-size:.74rem;color:var(--muted)}.reading-page .editorial{border-radius:0;background:var(--panel);border:1px solid var(--line)}.detail-eyebrow{margin-top:40px}.detail-actions .project-link{font-size:.9rem}.workflow dt{color:var(--text)}.source-list li{font-size:.88rem;line-height:1.9}.guide-toc,.guide-code,.guide-table,.guide-projects article{border-radius:0;background:var(--panel);border-color:var(--line)}.guide-projects article{background:transparent}.guide-toc{border-left:3px solid var(--accent);padding:24px 28px}.guide-toc li,.guide-list li{font-size:.92rem}.guide-code pre{font-size:.78rem}.guide-code figcaption{background:var(--button);color:var(--button-text)}.guide-table th{background:var(--panel)}.guide-citation{font-size:.78rem}.breadcrumbs{font-family:var(--mono);font-size:.66rem}.reading-page .guide-card{background:transparent}.guide-note{font-size:.82rem}
footer{padding:40px 0 30px;margin-top:30px;border-color:var(--line);gap:28px}footer p{font-size:.72rem}.footer-links{gap:22px}.footer-links a{font-size:.75rem}.credits{max-width:440px}.skip{z-index:10;background:var(--button)!important;color:var(--button-text)!important}
a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.hero-update a:focus-visible{outline-offset:0}
@media(min-width:1700px){body:has(.intro)::before{background-size:1700px auto,100% 100%,100% 100%;background-position:top center}}
@media(max-width:1150px){.shell>header{gap:12px}header nav{order:3;flex-basis:100%;justify-content:flex-start;gap:5px}.language-switch{margin-left:auto}.intro{padding-top:48px;min-height:650px}.hero-update{margin-bottom:56px}.catalog-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-controls .search-field{grid-column:1/-1}.catalog-heading h2{font-size:2.1rem}.feature-copy h3,html[lang=en] .feature-copy h3{font-size:2rem}}
@media(max-width:760px){.shell{padding:0 22px}.shell>header{padding:14px 0;min-height:70px}.brand{font-size:1.2rem}.intro{padding:40px 0 0;min-height:0}.hero-update{margin-bottom:55px;font-size:.6rem;width:330px;max-width:100%}.hero-copy:before,.hero-copy:after{top:-25px}.intro .eyebrow{font-size:.6rem;letter-spacing:0;margin-bottom:24px}.intro .eyebrow span{margin-left:8px}.intro h1,html[lang=en] .intro h1{font-size:clamp(2.8rem,8.8vw,4.4rem);letter-spacing:-.06em;line-height:1.04}html[lang=zh-CN] .intro h1{font-size:clamp(2rem,6.5vw,3.3rem);line-height:1.28;letter-spacing:-.065em}.intro .lede{font-size:.9rem;margin-top:24px}.hero-actions{gap:24px;margin-top:26px}.hero-actions a{font-size:1.32rem}.author-link{font-size:.66rem!important}.hero-register{margin-top:40px;font-size:.46rem;gap:8px}.intro-index{width:100%;padding:13px 0;font-size:.57rem}.intro-index>span{padding:0 10px}#cases{padding-top:34px}.section-heading{align-items:flex-start;gap:12px}.section-heading h2{font-size:.92rem}.section-heading h2 span{font-size:.54rem;margin-left:8px}.date{font-size:.55rem}.featured{grid-template-columns:1fr}.feature-copy{padding:24px}.feature-copy h3,html[lang=en] .feature-copy h3{font-size:2rem;line-height:1.2}.feature-copy>p:not(.fine){font-size:.87rem}html[data-theme] .trace{margin:0 22px 24px}.feature-stat{gap:14px}.feature-stat strong{font-size:2.4rem}.feature-stat p{font-size:.72rem}.links{flex-wrap:wrap;gap:18px}.links a{font-size:.8rem}.fine{font-size:.69rem}.guide-entry,.catalog{margin-top:36px;padding-top:32px}.guide-grid{grid-template-columns:1fr}.guide-card{padding:24px 0;border-right:0}.guide-card h3{font-size:1.18rem}.guide-card p:not(.eyebrow){font-size:.85rem}.catalog-heading h2{font-size:2rem}.catalog-heading p:not(.eyebrow){font-size:.85rem}.catalog-controls{padding:16px;gap:14px 12px}.results-bar{font-size:.62rem;gap:12px}.catalog-grid{grid-template-columns:1fr}.catalog-card{padding:24px!important}.catalog-card h3{font-size:1.4rem}.catalog-card dl,html[lang=en] .catalog-card dl{grid-template-columns:85px minmax(0,1fr);font-size:.8rem}.pagination{gap:12px;font-size:.65rem}.model{grid-template-columns:1fr;gap:28px;margin-top:40px;padding:32px 0}.model h2{font-size:2.2rem}.submission{grid-template-columns:1fr;padding:40px 0;gap:28px}.submission h2{font-size:2.3rem}.submission-form{padding:22px}.form-row{grid-template-columns:1fr}html[data-theme] .follow-banner{padding:26px;gap:24px;margin-top:32px}.follow-banner h2{font-size:2rem}.follow-banner p:not(.eyebrow){font-size:.88rem}.follow-button{width:auto;font-size:.85rem}.reading-page{padding-top:36px}.reading-page h1,html[lang=en] .reading-page h1{font-size:2.25rem;line-height:1.22}.reading-page .lede{font-size:1rem}.reading-page h2{font-size:1.4rem}.reading-page section{margin-top:30px;padding-top:24px}.reading-page .guide-grid{grid-template-columns:1fr}.reading-page .guide-card{padding:22px 0}.guide-toc{padding:20px}.guide-code pre{font-size:.72rem}.workflow dl{display:block}.workflow dt{margin-top:16px}.workflow dd{margin-top:6px}.source-list{padding-left:16px}footer{flex-wrap:wrap;padding:28px 0;gap:20px}.credits{max-width:none}.footer-links{width:100%;gap:24px}}
@media(max-width:370px){.shell{padding:0 16px}.theme-label{display:none}.theme-toggle{width:32px;padding:6px}.brand{font-size:1.1rem}.language-switch a{padding:5px}.shell>header{gap:8px}header nav{font-size:.7rem;gap:4px}header nav a{padding:3px 5px}.hero-update{font-size:.52rem}.hero-actions a{font-size:1.16rem}.hero-register{font-size:.4rem}.intro-index{font-size:.51rem}.intro-index>span{padding:0 7px}.catalog-controls label{font-size:.69rem}.catalog-controls select{font-size:.75rem}.trace-decision{gap:8px}.trace-decision strong{font-size:.8rem}.catalog-card{padding:20px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
