@font-face{font-family:Fillaprint;src:url('fonts/Fillaprint-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:FillaprintTab;src:url('fonts/FillaprintTab-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:FillaprintMono;src:url('fonts/FillaprintMono-Regular.ttf') format('truetype');font-display:swap}
:root{--gl-font:Fillaprint,sans-serif;--gl-mono:FillaprintMono,monospace}
body{font-synthesis:none}
.bt-desktop{max-width:1920px}.bt-nav{position:sticky;top:0;z-index:5;border-top:1px solid white;box-shadow:0 2px 0 #666}.bt-nav a{min-height:40px;display:flex;align-items:center;text-decoration:underline}main{padding:clamp(12px,2.4vw,48px)}section[id]{scroll-margin-top:100px}.skip{position:absolute;top:-90px;left:12px;padding:12px;background:white;z-index:10}.skip:focus{top:4px}.hero{background:white;border:1px solid var(--gl-rule);margin-bottom:28px;padding:clamp(18px,3.5vw,64px)}.hero-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.hero h1{font:normal clamp(56px,12.8vw,220px)/1.28 Fillaprint,sans-serif;color:var(--gl-blue);margin:28px 0 30px;letter-spacing:0}.hero h1 span{display:block}.hero-bottom{display:grid;grid-template-columns:1fr auto;align-items:end;gap:32px}.hero h2{font-size:clamp(24px,3vw,40px);line-height:1.2;margin-bottom:14px}.hero-bottom p{max-width:59ch;font-size:clamp(16px,1.4vw,21px)}.primary{display:block;background:var(--gl-blue);border:1px solid var(--gl-blue);color:white;padding:18px 24px;font-weight:600;text-decoration:none;min-width:240px}.primary:hover{background:var(--gl-deep);color:white}.primary span{display:block;font:13px/1.7 var(--gl-mono);margin-top:7px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--gl-rule);margin:40px 0 12px}.metrics>div{padding:20px 16px 10px 0}.metrics dt{font:12px/1.6 var(--gl-mono);text-transform:uppercase}.metrics dd{font:42px/1.3 var(--gl-mono);margin-top:8px}.fine,figcaption{font-size:13px;color:#4b4b4b}.pad{padding:clamp(18px,2.5vw,40px)}.prose{max-width:80ch}.prose h3,.license h3{font-size:26px;line-height:1.3;margin-bottom:16px}.prose p+p{margin-top:16px}.controls{display:grid;grid-template-columns:minmax(200px,1fr) minmax(160px,1fr) auto;gap:24px;align-items:end}.controls label,.input-label,.width-label{display:block;font:13px/1.6 var(--gl-mono)}select,input[type=number],textarea{display:block;width:100%;border:1px solid var(--gl-rule);border-radius:0;background:white;color:#101010;padding:10px;margin-top:8px;min-height:44px}input[type=range]{display:block;width:100%;min-height:32px;margin-top:12px}.theme-control{padding-bottom:12px}.theme-control input{width:18px;height:18px;vertical-align:middle;margin-right:8px}.input-label{margin-top:25px}textarea{resize:vertical;min-height:86px}output{float:right}.preview{font:64px/1.4 Fillaprint,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;padding:40px 24px;margin:20px 0 16px;border:1px solid #9a9a9a;background:#f2f2f2;min-height:220px;font-kerning:normal}.preview.dark{background:#202c31;color:#f1ede3}.two-up{display:grid;grid-template-columns:1fr 1fr;gap:24px}.two-up .gl-pane{display:flex;flex-direction:column}.two-up figure{margin-top:auto}figure img{width:100%}figcaption{padding:14px 20px;border-top:1px solid var(--gl-soft-rule);background:var(--gl-light)}.size-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.width-label{margin-top:24px}.width-label input{max-width:170px;font:28px var(--gl-mono)}#size-message{margin-top:14px}.size-results{display:grid;grid-template-columns:1fr 1fr;gap:24px}.size-results>div{border-top:3px solid var(--gl-blue);padding-top:12px}.size-results dt{font-size:13px}.size-results dd{font:clamp(22px,2.6vw,40px)/1.5 var(--gl-mono);white-space:nowrap}.size-results span{font:12px var(--gl-mono);color:#555}.note{padding:20px clamp(18px,2.5vw,40px);background:var(--gl-attention);border-top:1px solid #b87900}.toolpaths{max-width:1400px;margin:auto}.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.download-grid article{min-width:0;padding:0 24px;border-right:1px solid var(--gl-soft-rule)}.download-grid article:first-child{padding-left:0}.download-grid article:last-child{border:0;padding-right:0}.download-grid h3{font-size:22px;line-height:1.3;margin:12px 0}.download-grid p:not(.gl-kicker){margin-bottom:20px}.download-grid a{display:inline-block;border:1px solid var(--gl-blue);padding:10px 16px;font-weight:600}.install{padding:28px 0;border-bottom:1px solid #999;margin-bottom:24px}.install a{display:block;margin-top:12px}summary{cursor:pointer;min-height:44px;color:var(--gl-blue);text-decoration:underline;padding:8px 0}details p{max-width:85ch;margin:12px 0}.sample-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:16px 0}.license{margin-top:24px;padding-top:24px;border-top:1px solid #999;max-width:95ch}.license p+p{margin-top:14px}.gl-statusbar{flex-wrap:wrap;gap:12px}a,button,input,select,textarea,summary{outline-offset:4px}:focus-visible{outline:3px solid #008ea1}.gl-titlebar a:focus-visible{outline:2px solid white}
@media(max-width:850px){.hero-bottom,.size-grid,.two-up{grid-template-columns:1fr}.primary{min-width:0;width:fit-content}.controls{grid-template-columns:1fr 1fr}.theme-control{grid-column:1/-1}.download-grid{grid-template-columns:1fr}.download-grid article,.download-grid article:first-child,.download-grid article:last-child{padding:24px 0;border-right:0;border-bottom:1px solid #aaa}.download-grid article:first-child{padding-top:0}.metrics{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(48px,12vw,110px)}.bt-nav{position:static}section[id]{scroll-margin-top:16px}}
@media(max-width:420px){.controls,.size-results{grid-template-columns:1fr}.hero{padding:16px}.hero h1{font-size:clamp(32px,11.5vw,48px)}.hero-top .gl-state{font-size:10px}.metrics dt{font-size:10px}.metrics dd{font-size:32px}.preview{padding:24px 12px}.pad{padding:16px}.gl-titlebar .gl-state{margin-left:0}.hero-bottom{gap:20px}.primary{width:100%;padding:14px}.gl-menu a{padding:8px}.size-grid{gap:28px}}

.character-family{margin-top:28px}.character-family h3{font-size:18px;margin-bottom:8px}.character-sheet{display:flex;flex-wrap:wrap;margin-top:12px;border-top:1px solid var(--gl-soft-rule);font-size:11pt;line-height:2.4;font-weight:normal;font-style:normal}.character-sheet span{display:inline-block;flex:0 0 2em;text-align:center;white-space:pre;border-bottom:1px solid var(--gl-soft-rule)}

.wordmark-grid{display:grid;grid-template-columns:1fr 1fr}.wordmark-card{padding:clamp(20px,3vw,48px);display:flex;flex-direction:column;min-width:0;background:white}.card-meta{display:flex;justify-content:space-between;gap:20px;font:11px/1.5 var(--gl-mono)}.card-meta h3{font:inherit}.wordmark-card .word{font-size:clamp(40px,6vw,105px);line-height:1.5;margin:55px 0 45px;color:var(--gl-blue);white-space:nowrap}.wordmark-card p{max-width:50ch;font-size:15px;margin-top:auto}.wordmark-card>a{align-self:start;margin-top:20px;font-size:13px}.lowercase{background:var(--gl-blue);color:white}.uppercase{background:#20282c;color:white}.lowercase .word,.uppercase .word{color:white}.lowercase a,.uppercase a{color:white}.uppercase .word{font-size:clamp(32px,5vw,88px)}.initials{background:#e8e8e8}.initials-row{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:36px 0}.initials-box{display:grid;place-content:center;background:var(--gl-blue);color:white;font-size:clamp(64px,7vw,108px);width:1.95em;height:1.95em;line-height:1.2}.initials-small{display:flex;align-items:end;gap:18px;color:var(--gl-blue)}.initials-small span:nth-child(1){font-size:40px}.initials-small span:nth-child(2){font-size:24px}.initials-small span:nth-child(3){font-size:16px}
.applications{padding:clamp(20px,3vw,48px);display:grid;grid-template-columns:1.1fr 1fr;gap:28px;background:#e8e8e8;align-items:start}.sample-label{background:#e9dfbf;color:#20282c;border:2px solid #20282c;padding:clamp(20px,3vw,40px);align-self:center}.label-top,.label-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px}.label-brand{font-size:clamp(26px,3vw,44px)}.label-id{font:12px var(--gl-mono)}.label-main{font:clamp(32px,4.5vw,76px)/1.5 FillaprintMono,monospace;margin:24px 0;border-block:2px solid #20282c;padding:24px 0;white-space:nowrap}.label-bottom{font-size:clamp(15px,1.7vw,24px)}.specimen-cover{grid-column:2;grid-row:span 2;background:var(--gl-blue);color:white;padding:clamp(24px,3vw,48px);min-height:600px;display:flex;flex-direction:column}.cover-top{display:flex;justify-content:space-between;align-items:start;font:12px/1.6 var(--gl-mono)}.cover-top>span:first-child{font:48px/1 Fillaprint,sans-serif}.cover-title{font-size:clamp(42px,5.4vw,84px);line-height:1.4;margin:60px 0 30px}.cover-alphabet{font-size:clamp(25px,3vw,48px);line-height:1.8}.cover-bottom{margin-top:auto;padding-top:48px;font-size:18px}.sample-register{grid-column:1}.sample-register>p{font:12px/1.7 var(--gl-mono)}.sample-register>div{padding:18px 0;border-bottom:1px solid #999;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.sample-register>div>span{font-size:clamp(23px,2.3vw,36px)}.sample-register small{font-size:12px}.sample-register>p:last-child{margin-top:20px;font-family:Fillaprint,sans-serif;font-size:13px;max-width:60ch}.section-note{padding:18px clamp(20px,3vw,48px);font-size:13px;background:white;border-top:1px solid #999}
.comparison-controls{display:flex;gap:24px;align-items:end;padding:24px clamp(20px,3vw,48px);background:#e8e8e8}.comparison-controls label{font-size:13px}.comparison-controls select{display:block;margin-top:8px;min-width:180px;border:1px solid #666;background:white;color:#101010;padding:10px;border-radius:0}.comparison-controls button{min-height:44px;padding:10px 18px;background:white;color:var(--gl-blue);border:1px solid var(--gl-blue);cursor:pointer}.comparison-controls button[aria-pressed=true]{color:white;background:var(--gl-blue)}.size-study{padding:15px clamp(20px,3vw,48px);color:#101010;background:white}.size-study.reversed{background:#20282c;color:white}.size-study>div{display:flex;align-items:center;gap:clamp(20px,4vw,70px);padding:22px 0;border-bottom:1px solid #999}.size-study>div:last-child{border-bottom:0}.size-note{font:12px var(--gl-mono);flex:0 0 60px}.size-word{line-height:1.5;white-space:nowrap}.size-large{font-size:64px}.size-medium{font-size:32px}.size-small{font-size:16px}.artwork-copy{padding:clamp(20px,3vw,48px);background:white}.artwork-copy p{max-width:85ch}.artwork-copy>p:last-child{display:flex;gap:24px;flex-wrap:wrap;font-size:13px}.download-links{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.download-links a{border:1px solid var(--gl-blue);padding:12px 16px;font-size:14px}.gl-statusbar{flex-wrap:wrap;gap:12px;font-size:12px}
@media(min-width:1800px){.masthead h1{font-size:240px}}
@media(max-width:1000px){.study-note{display:block}.study-note>a{display:inline-block;margin-top:12px}.initials-small{gap:10px}.initials-small span:nth-child(1){font-size:30px}.initials-small span:nth-child(2){font-size:22px}.specimen-cover{min-height:540px}}
@media(max-width:760px){.wordmark-grid,.applications{grid-template-columns:1fr}.wordmark-card .word{font-size:clamp(40px,11vw,90px);margin:40px 0}.uppercase .word{font-size:clamp(30px,9.7vw,80px)}.specimen-cover,.sample-register{grid-column:auto;grid-row:auto}.specimen-cover{min-height:500px}.cover-title{font-size:clamp(44px,10vw,76px)}.cover-alphabet{font-size:36px}.label-main{font-size:clamp(32px,8vw,64px)}.masthead-meta{font-size:10px;flex-wrap:wrap;gap:8px}.masthead-bottom{align-items:start}.masthead-bottom>p{max-width:18ch}.pair-diagram{grid-template-columns:repeat(3,22px);grid-template-rows:28px auto}.initials-box{font-size:90px}.initials-small span:nth-child(1){font-size:40px}.initials-small span:nth-child(2){font-size:24px}.card-meta{font-size:10px}.size-study>div{align-items:start;flex-direction:column;gap:6px}.size-note{flex-basis:auto}.comparison-controls{flex-wrap:wrap;gap:16px}.size-large{font-size:clamp(34px,9vw,64px)}}
@media(max-width:360px){.masthead h1{font-size:15vw}.initials-box{font-size:64px}.initials-small{gap:10px}.initials-small span:nth-child(1){font-size:28px}.initials-small span:nth-child(2){font-size:20px}.label-top{flex-wrap:wrap}.cover-alphabet{font-size:28px}.cover-title{font-size:40px}.size-medium{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero h1{font-size:clamp(36px,12vw,190px);line-height:1.35;overflow-wrap:anywhere}
.tuner-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--gl-rule)}.tuner-steps>li{background:white;border-bottom:1px solid var(--gl-rule)}.tuner-steps>li.with-figure{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.tuner-steps .step{padding:clamp(18px,2.5vw,40px)}.tuner-steps .step p{max-width:80ch}.tuner-steps h3{font-size:22px;line-height:1.3;margin-bottom:12px}.tuner-steps p+p,.tuner-steps pre+p{margin-top:12px}.tuner-steps figure{display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--gl-rule);background:var(--gl-light)}.tuner-steps figure a{display:block;text-decoration:none}.tuner-steps figure img{display:block;height:auto;background:white}.tuner-steps figure a::after{content:'Open ↗';display:block;padding:6px 12px;background:var(--gl-light);color:var(--gl-blue);font:600 12px/1.5 var(--gl-mono);text-align:right;border-top:1px solid var(--gl-soft-rule)}.tuner-steps figure a:hover::after,.tuner-steps figure a:focus-visible::after{background:var(--gl-blue);color:white}.tuner-steps code{font-family:var(--gl-mono);font-size:.92em}.tuner-steps pre{width:fit-content;max-width:100%;margin:16px 0;padding:14px 16px;overflow-x:auto;white-space:pre;background:var(--gl-light);border:1px solid var(--gl-soft-rule);font:14px/1.7 var(--gl-mono)}.tuner-steps pre code{font-size:inherit}.tuner-links{display:flex;flex-wrap:wrap;gap:24px;padding:16px clamp(18px,2.5vw,40px);background:white}
@media(max-width:850px){.tuner-steps>li.with-figure{grid-template-columns:1fr}.tuner-steps figure{border-left:0;border-top:1px solid var(--gl-rule)}}@media(max-width:420px){.tuner-steps .step{padding:16px}.tuner-steps pre{font-size:12px;padding:12px}}
.vz-intro p{max-width:84ch}.vz-intro p+p,.vz-intro p+ul,.vz-intro ul+p{margin-top:12px}.vz-legend{display:flex;flex-wrap:wrap;gap:8px 24px;list-style:none;margin:0;padding:0;font-size:14px}.vz-legend li{display:flex;align-items:center;gap:8px}.vz-legend .swatch{display:inline-block;width:18px;height:18px;border:1px solid var(--gl-rule)}.vz-legend .ink{background:var(--gl-blue)}.vz-legend .fill{background:var(--gl-amber)}.vz-legend .ghost{background:white;border:2px dashed var(--gl-ink)}
.vz-group{margin:8px 0 12px;font-size:22px}.vz-group+.vz-grid+.vz-group{margin-top:32px}.vz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.vz-card{display:flex;flex-direction:column;gap:10px;padding:12px;background:white;border:1px solid var(--gl-rule);scroll-margin-top:56px}.vz-card.vz-current{background:var(--gl-light)}.vz-card:target{outline:3px solid var(--gl-blue);outline-offset:2px}.vz-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--gl-soft-rule);padding-bottom:6px}.vz-head h4{margin:0;font:600 20px/1.2 var(--gl-mono);color:var(--gl-blue)}.vz-head span{font-weight:600;text-align:right}.vz-card img{display:block;width:100%;height:auto;border:1px solid var(--gl-light)}.vz-card img.vz-sample{align-self:flex-start;border:0;height:44px;width:auto;max-width:100%}.vz-card img.vz-small{height:16px}.vz-card p{font-size:14px;line-height:1.5}.vz-card dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0;font-size:13px}.vz-card dt{color:var(--gl-rule)}.vz-card dd{margin:0;font-family:var(--gl-mono)}.vz-status{font:600 13px/1.4 var(--gl-mono);color:#1f6f2b}.vz-status.vz-fail{color:#a80000}.vz-card details{font-size:13px}.vz-card pre{margin:8px 0 0;padding:8px;overflow-x:auto;background:var(--gl-light);border:1px solid var(--gl-soft-rule);font:12px/1.5 var(--gl-mono);white-space:pre-wrap;word-break:break-all}
.character-compare{display:flex;flex-wrap:wrap;gap:12px 48px;margin-top:12px;font-size:32px;line-height:1.2}.character-compare span{padding:8px 12px;background:white;border:1px solid var(--gl-soft-rule)}
