@font-face{font-family:Fruitfly;src:url('./assets/Fruitfly-AlignedDisplay-1.100.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:FruitflyCrookedDisplay;src:url('./assets/Fruitfly-CrookedDisplay-1.100.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:FruitflyAlignedText;src:url('./assets/Fruitfly-AlignedText-1.100.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:FruitflyCrookedText;src:url('./assets/Fruitfly-CrookedText-1.100.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:light;--paper:#f4f3ed;--ink:#19323e;--muted:#626e70;--line:#c8ceca;--accent:#d6e884;font-family:Arial,'Malgun Gothic',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--ink);outline-offset:5px}button:hover,a:hover{opacity:.72}button:disabled{opacity:.45;cursor:default}.wrap{max-width:1360px;margin-inline:auto;padding-inline:clamp(20px,5vw,80px)}.fruitfly{font-family:Fruitfly,sans-serif;font-weight:400;font-feature-settings:'calt' 1;font-kerning:normal}
.masthead{height:88px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:14px;letter-spacing:.08em;font-weight:700;display:flex;align-items:center;gap:12px}.mark{font-size:33px;font-weight:400}.edition,.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:600}.edition-divider{margin-inline:13px;color:#87918c}.intro{display:flex;justify-content:space-between;gap:30px;padding-block:76px 68px;border-top:1px solid var(--line)}.eyebrow{margin:0 0 28px}h1{font-size:clamp(84px,13vw,168px);line-height:1;margin:0 0 2px;letter-spacing:-.055em}.intro-copy{padding-top:4px;min-width:240px}.intro-copy>p:first-child{font-size:28px;line-height:1.5;letter-spacing:-.055em;margin:0 0 18px}.description{font-size:13px;line-height:1.85;color:var(--muted);margin:0}.jump{display:inline-flex;gap:45px;align-items:center;margin-top:22px;font-size:12px;font-weight:600}.jump span{font-size:24px}
.playground{scroll-margin-top:24px;border-top:1px solid var(--ink)}.section-heading{display:flex;justify-content:space-between;align-items:center;padding-block:26px}h2{font-size:15px;font-weight:500;letter-spacing:-.025em;margin:0}.section-number{font-family:Arial,sans-serif;font-size:10px;margin-right:24px;color:var(--muted)}.small-note{font-size:11px;color:var(--muted)}.controls{display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);border-inline:1px solid var(--line);padding:17px 24px;font-size:12px;min-height:66px}.size-control{display:flex;align-items:center;gap:16px;flex:1}.size-control input{accent-color:var(--ink);width:clamp(80px,13vw,180px);height:20px;cursor:pointer}.size-control output{font-variant-numeric:tabular-nums;min-width:48px;color:var(--muted)}.check-control{display:flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap}.check-control input{accent-color:var(--ink);width:15px;height:15px;margin:0}.theme-button{display:flex;align-items:center;gap:8px;padding:7px 0;white-space:nowrap}.theme-dot{width:13px;height:13px;background:linear-gradient(90deg,var(--ink) 50%,var(--paper) 50%);border:1px solid var(--ink);border-radius:50%}.writing-surface{background:#fdfdf9;color:var(--ink);border:1px solid var(--line);padding:22px 28px 16px;transition:background .15s,color .15s}.writing-surface.dark{background:#19323e;color:#f4f3ed}.surface-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.05em;opacity:.68}.writing-surface textarea{font-family:Fruitfly,sans-serif;font-size:72px;font-weight:400;font-feature-settings:'calt' 1;font-kerning:normal;line-height:1.52;letter-spacing:0;background:none;color:inherit;border:0;border-radius:0;display:block;resize:vertical;width:100%;min-height:330px;max-height:1000px;height:390px;padding:28px 0 12px;outline:none;overflow-wrap:anywhere}.writing-surface:focus-within{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.surface-hint{font-size:11px;opacity:.6;margin:14px 0 0;line-height:1.6}.samples{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding-block:19px}.sample-label{font-size:11px;color:var(--muted);margin-right:10px}.samples button{font-size:11px;padding:9px 15px;border:1px solid var(--line);border-radius:30px}.samples button[aria-pressed=true]{background:var(--accent);border-color:var(--accent)}.actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:2px 0 28px}.save-actions{display:flex;gap:22px}.save-actions button{font-size:11px;padding:10px 0}.save-actions button span{margin-left:12px;font-size:16px}.actions p{font-size:10px;color:var(--muted);margin:0;line-height:1.6}.notice{font-size:13px}.about{border-top:1px solid var(--line);padding-block:40px;display:grid;grid-template-columns:1fr 1.35fr;gap:24px}.about-body>p:first-child{font-size:18px;line-height:1.8;letter-spacing:-.045em;margin:0 0 12px}.repeat-example{font-size:clamp(30px,4vw,51px);line-height:1.7;margin-bottom:12px}.specs{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;padding:26px 0 58px;gap:20px}.specs div{display:flex;flex-direction:column;gap:10px}.specs span{font-size:9px;letter-spacing:.15em;color:var(--muted)}.specs strong{font-size:12px;font-weight:400}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:24px;border-top:1px solid var(--line);font-size:10px}.footer>span{font-weight:700;letter-spacing:.04em;white-space:nowrap}.footer-version{color:var(--muted);font-weight:400;margin-left:6px}.footer p{color:var(--muted);line-height:1.7;margin:0}.footer button{font-size:11px;white-space:nowrap;padding:8px 0}.footer button span{margin-left:10px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1400px){.intro{padding-top:88px}}@media(max-width:720px){.masthead{height:72px}.edition{font-size:8px;letter-spacing:.06em}.edition-divider{margin-inline:6px}.intro{padding-block:42px;gap:28px;flex-direction:column}.eyebrow{font-size:8px;margin-bottom:22px}h1{font-size:clamp(88px,20vw,132px)}.intro-copy{display:grid;grid-template-columns:1fr 1.1fr;column-gap:16px;min-width:0}.intro-copy>p:first-child{font-size:22px;grid-row:span 2;margin:0}.intro-copy .description{font-size:11px}.jump{font-size:11px;margin-top:10px;gap:20px}.section-heading{padding-block:22px}.small-note{display:none}.section-number{margin-right:15px}.controls{flex-wrap:wrap;gap:12px 22px;padding:14px 16px;font-size:11px}.size-control{flex-basis:100%;border-bottom:1px solid var(--line);padding-bottom:12px;gap:12px}.size-control input{flex:1;width:auto}.theme-button{margin-left:auto}.writing-surface{padding:18px 16px 14px}.writing-surface textarea{height:390px;min-height:260px;padding-top:26px}.surface-top{font-size:9px}.samples{gap:7px}.samples button{padding:8px 11px;font-size:10px}.sample-label{margin-right:3px}.actions{flex-direction:column;align-items:flex-start;gap:8px;padding-bottom:24px}.about{grid-template-columns:1fr;padding-block:28px;gap:25px}.about-body>p:first-child{font-size:16px}.specs{gap:10px;padding-bottom:36px}.specs strong{font-size:10px;line-height:1.5}.specs span{font-size:8px}.footer{flex-wrap:wrap;gap:15px}.footer p{order:3;flex-basis:100%;font-size:9px}.footer button{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.writing-surface{transition:none}}
:root{--active-font:Fruitfly}
.intro{padding-block:35px 42px}.eyebrow,.edition{font-size:12px}.description{font-size:14px}.jump{font-size:14px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:34px;align-items:start}.playground{min-width:0}.controls{flex-wrap:wrap;gap:14px 22px;font-size:14px;padding:16px 20px}.style-control{display:flex;align-items:center;gap:12px;width:100%}select{font:inherit;color:inherit;max-width:100%;border:1px solid var(--line);background:var(--paper);border-radius:3px;padding:9px 12px;flex:1;min-width:0}select:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.size-control{flex:1 1 100%;gap:12px}.size-control input{flex:1;width:auto}.theme-button{margin-left:auto}.writing-surface textarea,.repeat-example,.fly{font-family:var(--active-font),sans-serif}.surface-top,.surface-hint,.small-note,.sample-label,.actions p,.footer p{font-size:12px}.samples button,.save-actions button,.footer button{font-size:14px}.writing-surface textarea{height:400px}.actions{flex-direction:column;align-items:flex-start;gap:8px}.downloads{position:sticky;top:24px;border-top:1px solid var(--ink);padding-top:26px;scroll-margin-top:24px}.downloads .eyebrow{font-size:12px;margin-bottom:16px}.downloads h2{font-size:21px;line-height:1.6;font-weight:500}.downloads>p{font-size:14px;line-height:1.8}.download-main{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--ink);color:var(--paper);padding:17px 15px;font-size:15px;font-weight:600;margin-top:24px;min-height:56px}.download-main:hover{opacity:1;background:#294f60}.downloads .download-meta{font-size:12px;color:var(--muted);margin:10px 0 25px}.individual-downloads{border-top:1px solid var(--line)}.individual-downloads a{display:flex;justify-content:space-between;gap:8px;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.individual-downloads span{color:var(--muted);font-size:12px}.downloads .download-help{font-size:13px;color:var(--muted);margin-top:20px}.download-help a{text-decoration:underline;text-underline-offset:4px}.ornaments{border-top:1px solid var(--line);padding:23px 0 32px}.ornaments h3{font-size:16px;font-weight:500;margin:0 0 8px}.ornaments p{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 16px}.ornament-buttons{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.ornament-buttons button{min-width:0;padding:8px 2px 10px;border:1px solid var(--line);font-size:12px}.fly{display:block;font-size:clamp(42px,4vw,64px);line-height:1.45;font-weight:400}.specs span{font-size:12px}.specs strong{font-size:14px}.about .description{font-size:14px}.footer{font-size:12px}
@media(max-width:1050px){.workspace{grid-template-columns:minmax(0,1fr) 250px;gap:24px}.wrap{padding-inline:28px}.download-main{font-size:14px}.ornament-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.fly{font-size:60px}}
@media(max-width:800px){.workspace{grid-template-columns:minmax(0,1fr)}.downloads{position:static;padding-bottom:30px}.downloads>p br{display:none}.individual-downloads{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.intro{padding-block:28px}.intro-copy .description{font-size:14px}.eyebrow{font-size:12px}.jump{font-size:14px}.size-control{border:0;padding-bottom:0}.style-control{flex-basis:100%}.download-main{font-size:16px}.ornament-buttons{grid-template-columns:repeat(6,minmax(0,1fr))}.fly{font-size:48px}.surface-top{letter-spacing:0;gap:12px}.footer p{font-size:12px}.specs span{font-size:12px}.specs strong{font-size:14px}}
@media(max-width:480px){.wrap{padding-inline:20px}.edition{font-size:12px;letter-spacing:0}.intro-copy{grid-template-columns:1fr}.intro-copy>p:first-child{display:none}.controls{padding:14px 16px}.ornament-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.fly{font-size:64px}.specs{grid-template-columns:1fr;gap:20px}.specs div{gap:5px}}
