@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-vietnamese-wdth-normal-rJmnGBSt.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-latin-ext-wdth-normal-7khWdh9v.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-latin-wdth-normal-DY7AcnAa.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Black;font-style:normal;font-display:swap;font-weight:400;src:url(./archivo-black-latin-400-normal-BTVu2TQR.woff2) format("woff2"),url(./archivo-black-latin-400-normal-HW9MwEcM.woff) format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(./baloo-2-latin-800-normal-BbF3Etk1.woff2) format("woff2"),url(./baloo-2-latin-800-normal-B8BXfZF7.woff) format("woff")}@font-face{font-family:Pacifico;font-style:normal;font-display:swap;font-weight:400;src:url(./pacifico-latin-400-normal-7HIToT7q.woff2) format("woff2"),url(./pacifico-latin-400-normal-DArfF-vd.woff) format("woff")}@font-face{font-family:Roboto Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./roboto-condensed-latin-700-normal-DRbp0YnP.woff2) format("woff2"),url(./roboto-condensed-latin-700-normal-BOl6B_hI.woff) format("woff")}:root{--ll-ink: #1f2328;--ll-orange: #e85c2b;--ll-paper: #f7f5f0;--ll-orange-text: #b8441a;--ll-orange-deep: #c94a1d;--ll-ink-soft: #2b3036;--ll-muted: #5a5f66;--ll-muted-on-ink: #a9adb3;--ll-paper-deep: #ece8df;--ll-line: #1f2328;--ll-font: "Archivo Variable", "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ll-text-xs: .8125rem;--ll-text-sm: .9375rem;--ll-text-md: 1.0625rem;--ll-text-lg: 1.25rem;--ll-text-xl: clamp(1.5rem, 1.1rem + 1.6vw, 2.25rem);--ll-text-2xl: clamp(2.25rem, 1.4rem + 3.6vw, 4.25rem);--ll-text-display: clamp(3rem, 1.2rem + 8vw, 8.5rem);--ll-space-1: .25rem;--ll-space-2: .5rem;--ll-space-3: .75rem;--ll-space-4: 1rem;--ll-space-5: 1.5rem;--ll-space-6: 2rem;--ll-space-7: 3rem;--ll-space-8: 4.5rem;--ll-space-9: 7rem;--ll-border: 3px;--ll-radius: 0;--ll-shadow: 6px 6px 0 var(--ll-ink);--ll-shadow-sm: 4px 4px 0 var(--ll-ink);--ll-max: 1280px;--ll-gutter: clamp(1rem, .5rem + 2.5vw, 2.5rem)}:root{--brandbar-h: 56px;--panel-w: 440px;font-family:var(--ll-font);color:var(--ll-ink);background:var(--ll-paper);font-variation-settings:"wdth" 100;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}:focus-visible{outline:3px solid var(--ll-orange);outline-offset:2px}.muted{color:var(--ll-muted);font-weight:500}.brandbar{display:flex;align-items:center;gap:var(--ll-space-4);height:var(--brandbar-h);padding-inline:var(--ll-space-5);background:var(--ll-ink);color:var(--ll-paper)}.brandbar__home{display:inline-flex;align-items:center;gap:.6rem;color:inherit;text-decoration:none}.brandbar__word{white-space:nowrap;font-size:1.15rem;font-weight:850;font-variation-settings:"wdth" 112;letter-spacing:-.02em}.brandbar__divider{width:3px;height:24px;background:var(--ll-orange);flex:none}.brandbar__tool{min-width:0;font-size:var(--ll-text-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ll-muted-on-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brandbar__tool a{color:var(--ll-paper);text-underline-offset:3px}.app{display:grid;grid-template-columns:var(--panel-w) 1fr;grid-template-areas:"panel viewer";height:calc(100vh - var(--brandbar-h));height:calc(100dvh - var(--brandbar-h))}.panel{grid-area:panel;background:var(--ll-paper);border-right:var(--ll-border) solid var(--ll-ink);overflow-y:auto;overflow-x:hidden;padding:var(--ll-space-5) var(--ll-space-5) var(--ll-space-7)}.viewer{grid-area:viewer;position:relative;overflow:hidden;background:var(--ll-paper-deep)}@media(max-width:860px){.app{display:block;height:auto}.viewer{position:sticky;top:0;z-index:2;height:42vh;height:42svh;min-height:240px;border-bottom:var(--ll-border) solid var(--ll-ink)}.panel{border-right:0;overflow:visible;padding:var(--ll-space-5) var(--ll-space-4) var(--ll-space-7)}.brandbar{padding-inline:var(--ll-space-4);gap:var(--ll-space-3)}.status{top:auto;bottom:var(--ll-space-3)}}.panel__head{margin-bottom:var(--ll-space-5)}.kicker{display:inline-flex;align-items:center;gap:var(--ll-space-3);margin:0 0 var(--ll-space-3);font-size:var(--ll-text-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.kicker:before{content:"";width:22px;height:14px;flex:none;background:linear-gradient(currentColor,currentColor) 0 0 / 100% 3px no-repeat,linear-gradient(currentColor,currentColor) 0 5px / 66% 3px no-repeat,linear-gradient(var(--ll-orange),var(--ll-orange)) 0 11px / 100% 3px no-repeat}.panel h1{margin:0;font-size:clamp(2rem,1.6rem + 1.6vw,2.5rem);font-weight:850;font-variation-settings:"wdth" 118;line-height:.95;letter-spacing:-.035em;text-transform:uppercase}.accent{color:var(--ll-orange)}.panel .sub{margin:var(--ll-space-3) 0 0;color:var(--ll-muted);font-size:var(--ll-text-sm)}fieldset{margin:0 0 var(--ll-space-5);padding:var(--ll-space-4);border:var(--ll-border) solid var(--ll-ink);background:#fff;box-shadow:var(--ll-shadow-sm);min-width:0}legend{display:flex;align-items:center;gap:var(--ll-space-2);padding:0 var(--ll-space-2);font-size:var(--ll-text-sm);font-weight:850;font-variation-settings:"wdth" 110;letter-spacing:.04em;text-transform:uppercase;background:var(--ll-paper)}legend .step{font-size:1.6rem;font-weight:900;font-variation-settings:"wdth" 125;line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px var(--ll-ink)}.field{display:grid;gap:var(--ll-space-2);margin:0 0 var(--ll-space-3)}.field:last-child{margin-bottom:0}.field__top{display:flex;justify-content:space-between;align-items:baseline;gap:var(--ll-space-3)}.field label,.field output{font-size:var(--ll-text-sm);font-weight:700}.field output{font-variant-numeric:tabular-nums}.count{font-size:var(--ll-text-xs);color:var(--ll-muted);font-variant-numeric:tabular-nums}.count--over{color:var(--ll-orange-text);font-weight:800}input[type=text],input[type=number],textarea{width:100%;min-height:46px;padding:8px 10px;border:var(--ll-border) solid var(--ll-ink);border-radius:0;background:#fff;color:var(--ll-ink);font:inherit;font-size:1.125rem}#text{font-size:1.35rem;font-weight:750}textarea{min-height:0;resize:vertical;font-size:1rem}input[aria-invalid=true]{border-color:var(--ll-orange-text)}input[type=range]{width:100%;accent-color:var(--ll-orange);min-height:32px}.check{display:flex;align-items:center;gap:var(--ll-space-3);margin-top:var(--ll-space-4);font-size:var(--ll-text-sm);font-weight:700;cursor:pointer}.check input{width:22px;height:22px;margin:0;accent-color:var(--ll-ink)}.hint{color:var(--ll-muted);font-size:var(--ll-text-xs);line-height:1.45;margin:var(--ll-space-3) 0 0}.problem{margin-top:var(--ll-space-3);padding:var(--ll-space-3);border:2px solid var(--ll-ink);border-left:10px solid var(--ll-orange);background:var(--ll-paper);font-size:var(--ll-text-sm);font-weight:650}.warnings{margin:var(--ll-space-3) 0 0;padding:var(--ll-space-3) var(--ll-space-3) var(--ll-space-3) var(--ll-space-6);border:2px dashed var(--ll-ink);font-size:var(--ll-text-xs);line-height:1.45}.seg,.fonts,.swatch-row{position:relative}.seg input,.fonts input,.swatch-row input{position:absolute;top:0;left:0;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.seg{display:grid;grid-template-columns:1fr 1fr;border:var(--ll-border) solid var(--ll-ink)}.seg label{display:grid;place-items:center;min-height:48px;padding:6px 10px;font-weight:800;font-size:var(--ll-text-sm);text-align:center;cursor:pointer;background:#fff}.seg label+input+label{border-left:var(--ll-border) solid var(--ll-ink)}.seg input:checked+label{background:var(--ll-ink);color:var(--ll-paper)}.seg input:focus-visible+label{outline:3px solid var(--ll-orange);outline-offset:-6px}.fonts{display:grid;grid-template-columns:1fr 1fr;gap:var(--ll-space-3)}.font-card{display:grid;gap:2px;padding:var(--ll-space-3);border:2px solid var(--ll-ink);background:#fff;cursor:pointer;min-width:0}.font-card__sample{font-size:1.5rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.font-card__name{font-size:var(--ll-text-xs);color:var(--ll-muted);font-weight:700}.fonts input:checked+.font-card{border-width:2px;box-shadow:inset 0 0 0 2px var(--ll-ink),4px 4px 0 var(--ll-orange)}.fonts input:focus-visible+.font-card{outline:3px solid var(--ll-orange);outline-offset:2px}.group-title{margin:0 0 var(--ll-space-2);font-size:var(--ll-text-sm);font-weight:600}.swatches+.group-title{margin-top:var(--ll-space-4)}.swatches{display:grid;gap:var(--ll-space-2)}.swatch-row{display:flex;flex-wrap:wrap;gap:var(--ll-space-2)}.swatch{width:40px;height:40px;border:2px solid var(--ll-ink);background:var(--swatch);cursor:pointer}.swatch--silk{background:linear-gradient(135deg,var(--swatch) 20%,#fff 50%,var(--swatch) 80%)}.swatch--chat{width:auto;min-width:88px;padding:0 12px;display:inline-flex;align-items:center;font-size:var(--ll-text-xs);font-weight:800;background:repeating-linear-gradient(45deg,#fff 0 6px,var(--ll-paper-deep) 6px 12px)}.chat-hint{margin:var(--ll-space-3) 0 0;padding:var(--ll-space-2) var(--ll-space-3);border-left:6px solid var(--ll-orange);background:var(--ll-paper);font-size:var(--ll-text-xs);font-weight:650;line-height:1.45}.swatch-row input:checked+.swatch{box-shadow:0 0 0 3px var(--ll-paper),0 0 0 6px var(--ll-ink)}.swatch-row input:focus-visible+.swatch{outline:3px solid var(--ll-orange);outline-offset:5px}.order{padding:var(--ll-space-5) var(--ll-space-4);background:var(--ll-ink);color:var(--ll-paper);border:var(--ll-border) solid var(--ll-ink);box-shadow:6px 6px 0 var(--ll-orange)}.order h2,.owner h2{margin:0 0 var(--ll-space-3);font-size:1.6rem;font-weight:850;font-variation-settings:"wdth" 118;line-height:1;letter-spacing:-.03em;text-transform:uppercase}.order .code{margin:0 0 var(--ll-space-3);font-size:var(--ll-text-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ll-muted-on-ink)}.order .code strong{display:inline-block;margin-left:var(--ll-space-2);padding:2px 8px;background:var(--ll-orange);color:var(--ll-ink);font-size:var(--ll-text-md);letter-spacing:.06em}.summary{margin:0 0 var(--ll-space-4);padding-left:1.1em;font-size:var(--ll-text-sm);line-height:1.55}.order .field label{color:var(--ll-paper)}.order .muted,.order .hint{color:var(--ll-muted-on-ink)}.order input,.order textarea{border-color:var(--ll-paper)}.order__row{max-width:160px}.cta{display:flex;justify-content:space-between;align-items:center;margin-top:var(--ll-space-4);min-height:56px;padding:10px 16px;border:var(--ll-border) solid var(--ll-paper);background:var(--ll-orange);color:var(--ll-ink);font-size:var(--ll-text-md);font-weight:850;text-decoration:none;box-shadow:4px 4px 0 var(--ll-paper);transition:transform .12s ease,box-shadow .12s ease}.cta:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ll-paper)}.cta:active{transform:translate(4px,4px);box-shadow:none}.cta--off,.cta--off:hover{background:var(--ll-ink-soft);color:var(--ll-muted-on-ink);border-color:var(--ll-muted-on-ink);box-shadow:none;transform:none;cursor:not-allowed}.owner{margin-top:var(--ll-space-6);padding:var(--ll-space-4);border:var(--ll-border) dashed var(--ll-ink);background:#fff}.owner button{margin:0 var(--ll-space-2) var(--ll-space-2) 0}button{font:inherit;font-weight:800;min-height:40px;padding:8px 14px;border:var(--ll-border) solid var(--ll-ink);border-radius:0;background:var(--ll-paper);color:var(--ll-ink);cursor:pointer}button:hover{background:var(--ll-paper-deep)}button.primary{background:var(--ll-orange);box-shadow:var(--ll-shadow-sm)}button.primary:hover{background:var(--ll-orange-deep)}.viewport{position:absolute;inset:0}.viewport canvas{display:block;width:100%;height:100%;touch-action:none}.viewport--stale{opacity:.3;filter:grayscale(1)}.toolbar{position:absolute;top:var(--ll-space-3);left:var(--ll-space-3);display:flex;gap:var(--ll-space-2);padding:var(--ll-space-2);background:var(--ll-ink);border:var(--ll-border) solid var(--ll-ink);box-shadow:4px 4px 0 var(--ll-orange)}.toolbar button{min-height:34px;padding:4px 12px;border-color:var(--ll-paper);background:var(--ll-ink);color:var(--ll-paper);font-size:var(--ll-text-sm)}.toolbar button:hover{background:var(--ll-ink-soft)}.status{position:absolute;top:var(--ll-space-3);right:var(--ll-space-3);padding:6px 12px;background:var(--ll-orange);color:var(--ll-ink);border:var(--ll-border) solid var(--ll-ink);font-size:var(--ll-text-xs);font-weight:800}.status:empty{display:none}.info{position:absolute;left:var(--ll-space-3);bottom:var(--ll-space-3);max-width:calc(100% - 2 * var(--ll-space-3));margin:0;padding:4px 10px;background:var(--ll-paper);border:2px solid var(--ll-ink);font-size:var(--ll-text-xs);font-weight:700;font-variant-numeric:tabular-nums}.info:empty{display:none}.empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:var(--ll-space-5);pointer-events:none}.empty__bars{display:grid;gap:6px;width:96px}.empty__bars i{display:block;height:12px;background:var(--ll-ink);animation:layer 1.6s ease-in-out infinite}.empty__bars i:nth-child(1){width:100%;animation-delay:1s}.empty__bars i:nth-child(2){width:83%;animation-delay:.8s}.empty__bars i:nth-child(3){width:66%;animation-delay:.6s}.empty__bars i:nth-child(4){width:50%;animation-delay:.4s}.empty__bars i:nth-child(5){width:33%;animation-delay:.2s}.empty__bars i:nth-child(6){width:100%;background:var(--ll-orange);animation:none}.empty__text{font-size:var(--ll-text-lg);font-weight:850;font-variation-settings:"wdth" 112;text-transform:uppercase;text-align:center;padding-inline:var(--ll-space-4)}@keyframes layer{0%,to{opacity:1}50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.empty__bars i{animation:none}.cta{transition:none}}
