@font-face{font-family:Geist;src:url("assets/Geist-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#f0ece3;--ink:#383a31;--line:#cfcec1;--ochre:#c67b30}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px Geist,Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9463ae;outline-offset:4px}button:disabled{opacity:.45;cursor:wait}header{height:103px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5%}.brand{display:flex;align-items:center;gap:20px;text-decoration:none;color:inherit}.brand img{width:103px;height:68px;object-fit:contain}.brand span{font-size:10px;letter-spacing:1.5px;line-height:1.5;border-left:1px solid var(--line);padding-left:19px}.header-note{font-size:10px;letter-spacing:1.4px}.quiet{font-size:12px;text-decoration:underline;text-underline-offset:4px}main{max-width:1600px;margin:auto;padding:0 5%}.intro{display:flex;position:relative;align-items:flex-end;justify-content:space-between;padding:51px 0 41px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:600}h1{font-size:clamp(42px,4.6vw,72px);font-weight:400;letter-spacing:-3px;line-height:1.02;margin:19px 0 0}h1 em{font-family:Georgia,serif;font-weight:400}.intro p{line-height:1.6;margin:0 12% 4px 20px;font-size:14px}.intro-symbol{position:absolute;right:4px;bottom:38px;font-size:95px;font-family:Georgia;color:var(--ochre);line-height:1}.tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-bottom:0}.tab{display:flex;align-items:center;padding:21px 24px;font-size:16px;text-align:left;gap:24px}.tab+.tab{border-left:1px solid var(--line)}.tab span{font-size:10px;letter-spacing:1px}.tab b{font-size:20px;font-weight:400;margin-left:auto}.tab.active{background:var(--ink);color:var(--paper)}.workbench{border:1px solid var(--line);display:grid;grid-template-columns:330px 1fr;min-height:900px}.controls{padding:30px 27px;border-right:1px solid var(--line)}h2{font-family:Georgia,serif;font-size:29px;letter-spacing:-.8px;font-weight:400;margin:12px 0}p{line-height:1.55}.tool-head p{font-size:13px;color:#696a60;margin-bottom:24px}.upload{position:relative;display:flex;flex-direction:column;text-align:center;align-items:center;gap:9px;border:1px dashed #929582;padding:22px 10px;background:#e5e5d9;cursor:pointer}.upload:hover,.upload.dragover{background:#dadfcb}.upload input,.compact-upload input{position:absolute;width:100%;height:100%;opacity:0;inset:0;cursor:pointer}.upload-icon{font-size:25px}.upload strong{font-size:13px;font-weight:500}.upload small{font-size:10px;color:#66695d}.file-info{font-size:10px;color:#717367;margin:9px 0 22px;overflow-wrap:anywhere}.pills{display:flex;border:1px solid var(--line)}.pills button{flex:1;padding:11px 4px;font-size:11px}.pills button+button{border-left:1px solid var(--line)}.pills .selected{background:#dfe3ce}.controls fieldset{border:0;padding:0;margin:22px 0}.controls legend{font-size:11px;margin-bottom:11px;display:block;width:100%}.controls legend small{float:right;color:#797a6e;font-size:9px}.controls label:not(.upload):not(.compact-upload){display:block;font-size:11px;margin:18px 0}.range-label output{float:right;font-size:10px}input[type=range]{display:block;width:100%;accent-color:var(--ink);height:20px;margin:9px 0 0}.controls label.check{display:flex!important;align-items:center;gap:6px;font-size:11px}.check input{accent-color:var(--ink)}.secondary{padding:11px 9px;border:1px solid var(--line);font-size:10px;width:100%}.secondary:hover{background:#e1e2d4}.hint{font-size:10px;color:#74766a;line-height:1.6}.swatches{display:flex;gap:13px}.swatch{background:var(--swatch);height:28px;width:28px;border-radius:50%;border:1px solid #7775}.swatch.selected{outline:1px solid var(--ink);outline-offset:4px}select,textarea,input:not([type]){border:1px solid var(--line);padding:10px;background:transparent;width:100%;border-radius:0;margin-top:7px;font-size:12px}textarea{resize:vertical;line-height:1.5}select{font-size:11px}.primary{background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;width:100%;padding:16px 17px;margin-top:25px;font-size:12px}.primary:hover{background:#585c4a}.privacy{font-size:9px;text-align:center;color:#76786c;margin:12px -6px 0}.preview-area{background:#dfe1d5;padding:23px 34px 12px;display:flex;flex-direction:column;min-width:0;position:relative}.preview-top,.preview-bottom{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.2px}.canvas-wrap{position:relative;flex:1;display:flex;align-items:center;justify-content:center;padding:32px 0}canvas{max-width:100%;width:auto;height:auto;max-height:730px;box-shadow:0 8px 17px #373d2920}#loading{position:absolute;background:var(--paper);padding:20px;font-size:12px}.preview-bottom{border-top:1px solid #bfc4b2;padding-top:16px;letter-spacing:.9px}.preview-bottom span{display:flex;align-items:center;gap:8px}.preview-bottom i{width:5px;height:5px;background:#737e54;border-radius:50%}.preview-bottom button{font-size:10px;letter-spacing:0}#status{min-height:15px;font-size:11px;margin:10px 0 0}.row{display:flex;gap:8px}.compact-upload{position:relative;display:block;border-bottom:1px solid var(--line);padding:11px 0;font-size:11px;cursor:pointer}#identity{border:1px solid var(--line);border-top:0;padding:38px}#identity h2{font-size:36px}.identity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:28px 0}.identity-grid article span{font-size:9px;letter-spacing:1px}.identity-grid h3{font-family:Georgia,serif;font-size:21px;font-weight:400}.identity-grid p,.identity-note{font-size:12px;color:#696c60;line-height:1.7}.identity-note{border-top:1px solid var(--line);padding-top:20px}footer{display:flex;justify-content:space-between;padding:26px 0 30px;font-size:9px;letter-spacing:1px}[hidden]{display:none!important}@media(min-width:1400px){.workbench{grid-template-columns:370px 1fr}.controls{padding:34px}canvas{max-height:800px}}@media(max-width:850px){header{height:83px}.header-note{display:none}.intro{padding-top:36px}.intro p{margin-right:65px;max-width:190px;font-size:12px}.intro-symbol{font-size:58px}.workbench{grid-template-columns:280px 1fr}.controls{padding:25px 19px}.preview-area{padding:23px 20px}.preview-top{font-size:8px;gap:12px}.preview-bottom span{font-size:7px}}@media(max-width:650px){.brand img{width:80px}.brand span{font-size:9px}.intro{display:block;padding:32px 0}.intro h1{font-size:47px;letter-spacing:-2px}.intro p{margin:22px 60px 0 0}.intro-symbol{bottom:30px}.tabs .tab{font-size:12px;gap:8px;padding:17px 12px}.workbench{display:flex;flex-direction:column}.controls{border-right:0;padding:25px;order:2}.preview-area{padding:19px 20px 8px;order:1;min-height:420px}.canvas-wrap{padding:24px 0}canvas{max-height:480px}.preview-bottom span{font-size:8px}.identity-grid{grid-template-columns:1fr;gap:14px}#identity{padding:27px}footer{gap:20px}footer span:nth-child(2){display:none}.swatch{width:31px;height:31px}}

header{height:76px}.brand img{width:75px;height:48px}main{padding-top:24px;padding-bottom:30px}.workbench{min-height:830px}.tool-head h2{font-family:Geist,Arial,sans-serif;font-size:24px;letter-spacing:-.5px}.tool-head p{margin-bottom:22px}#typeStudio{border:1px solid var(--line);margin-top:24px;padding:27px}#typeStudio h2{font-family:Geist;font-size:23px}.type-header{display:flex;align-items:center;justify-content:space-between}.font-download{width:auto;text-decoration:none;padding:12px 18px}#typeSample{display:block;width:100%;padding:12px;border:1px solid var(--line);background:transparent;margin-top:9px}#typeResult{font-family:Geist;font-size:clamp(30px,5vw,72px);line-height:1.5;padding:28px 0;overflow-wrap:anywhere}.note-letter{font-family:CrazyCoro;font-size:1.08em}.alphabet{font:clamp(22px,3.8vw,56px)/1.55 CrazyCoro;color:#56544e;letter-spacing:4px;border-top:1px solid var(--line);padding-top:20px;overflow-wrap:anywhere}@media(max-width:650px){header{height:67px}.brand{gap:10px}.brand span{padding-left:10px}.brand img{width:65px}.quiet{font-size:10px}main{padding-top:16px}.workbench{min-height:0}#typeStudio{padding:20px}.alphabet{letter-spacing:1px}}
a.quiet,a.font-download{color:inherit}
.tabs{grid-template-columns:repeat(3,1fr)}.tab{padding:18px 19px;gap:14px}.controls{max-height:calc(100vh - 185px);overflow-y:auto;scrollbar-width:thin}.workbench{min-height:0}.preview-area{height:calc(100vh - 185px);min-height:570px;position:sticky;top:16px}.canvas-wrap{min-height:0;padding:24px 0}canvas{max-height:100%;object-fit:contain;touch-action:none}.controls details{border-top:1px solid var(--line);padding:17px 0 5px}.controls details summary{cursor:pointer;font-size:12px;font-weight:500}.controls details .hint{margin-top:12px}.fields>label{flex:1;min-width:0;margin-top:8px!important}.fields input,.fields select{width:100%}input[type=number]{width:100%;padding:10px;border:1px solid var(--line);margin-top:7px;background:transparent;font:12px Geist}#generatorControls{border-top:1px solid var(--line);padding-top:12px}#generatorControls>details:first-child{border-top:0;padding-top:5px}.asset-options{margin-top:10px}.controls .check{line-height:1.5}.preview-bottom{min-height:34px}#canvasHint{font-size:9px;letter-spacing:0;max-width:70%}#typeStudio{margin-top:22px}#typeStudio .hint{max-width:700px}@media(max-width:850px){.tab{font-size:12px;padding:16px 12px;gap:8px}.workbench{grid-template-columns:300px 1fr}.preview-area{padding:18px}}@media(max-width:650px){.workbench{display:flex}.controls{max-height:none;overflow:visible;order:2}.preview-area{position:relative;top:0;order:1;height:480px;min-height:0}.tab{font-size:11px;padding:14px 8px;gap:6px}.tab b{display:none}.tab span{font-size:9px}.canvas-wrap{padding:14px 0}.controls{padding:22px}.preview-bottom{padding-top:10px}#canvasHint{font-size:9px}}
.canvas-wrap{align-items:flex-start}.preview-top{gap:12px;flex-wrap:wrap}.preview-top #quickDownload{width:auto;padding:9px 12px;margin-left:auto;font-size:10px}.preview-top #dimensions{letter-spacing:.5px}.preview-bottom{gap:10px}.preview-bottom #reset{flex-shrink:0}.tool-head h2{margin-bottom:22px}.preview-area{height:auto;min-height:calc(100vh - 185px)}.canvas-wrap{flex:0 1 auto}canvas{max-height:calc(100vh - 330px)}.preview-bottom{margin-top:auto}@media(max-width:650px){.preview-area{height:auto;min-height:0}.canvas-wrap{padding-bottom:20px}canvas{max-height:390px}.preview-top #quickDownload{font-size:9px;padding:7px}.preview-bottom{margin-top:0}}
.controls label.check[hidden]{display:none!important}
.layer-list{display:grid;gap:5px;margin:14px 0}.layer-row{display:flex;border:1px solid var(--line);align-items:center;background:#eeede5}.layer-row.active{background:#dfe3ce;border-color:#90977e}.layer-name{flex:1;text-align:left;padding:11px 9px;font-size:11px}.layer-eye{width:36px;height:36px;font-size:13px}.layer-row.disabled{opacity:.5}.preview-top #undo,.preview-top #redo{width:28px;padding:6px;font-size:15px}.preview-top #quickDownload{margin-left:auto}.layer-row button:focus-visible{outline-offset:0}#addEvent{margin:15px 0}.controls #eventEditor[hidden]{display:none!important}.controls>div>details{scroll-margin:20px}.preview-top{flex-wrap:wrap}
.symbol-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:13px 0}.symbol-gallery button{border:1px solid var(--line);padding:8px 4px;background:#ece9e0;min-width:0}.symbol-gallery button:hover{background:#dedfce}.symbol-gallery img{width:100%;height:65px;object-fit:contain}.symbol-gallery span{display:block;font-size:9px;line-height:1.35;margin-top:6px;min-height:25px}#symbolLibrary .font-download{display:block;text-align:center;margin:12px 0}#symbolColorLabel[hidden],#removeSymbol[hidden]{display:none!important}#removeSymbol{margin:9px 0 14px}
/* Contextual editor */
.editor-actions{display:grid;gap:10px;margin-bottom:18px}.editor-actions #addEvent{margin:0}.editor-actions details{padding-top:12px}.selection-head{padding:18px 0 12px}.selection-head h3{font-size:18px;line-height:1.3;font-weight:400;margin:8px 0 10px;overflow-wrap:anywhere}.selection-head .eyebrow{font-size:9px}.selection-head .secondary{margin-top:3px}#selectionInspector{scroll-margin:15px}#layersPanel{max-height:380px;overflow:auto}#layersPanel>summary{position:sticky;top:0;background:var(--paper);padding-bottom:8px;z-index:1}.sublayer{margin-left:14px;background:transparent}.sublayer .layer-name{font-size:10px;padding:9px 7px}#generatorControls{border-top:0;padding-top:0}.asset-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:14px}.controls label.asset-choice{position:relative;display:grid;grid-template-columns:18px 1fr;gap:4px;align-items:center;border:1px solid var(--line);padding:7px;margin:0;font-size:10px;cursor:pointer}.asset-choice input{margin:0;accent-color:var(--ink)}.asset-choice img{width:100%;height:45px;object-fit:contain}.asset-choice span{grid-column:1/-1;font-size:9px;line-height:1.4}.asset-choice:has(input:checked){background:#dfe3ce;border-color:#90977e}#symbolEditor{border-top:1px solid var(--line);padding-bottom:10px}#editGraphic,#useInPoster,#resetMotifs{margin-top:4px}#transformEditor .row{margin-top:10px}.controls #symbolLibrary{margin-top:0}.controls #fontSizeNumber{font-size:18px;padding:10px}#textEditor>details[hidden]{display:none!important}@media(max-width:650px){.selection-head{padding-top:16px}.asset-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.asset-choice img{height:40px}}

@font-face{font-family:CrazyCoro;src:url("assets/CrazyCoro-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}.crazy-letter{font-family:CrazyCoro}.type-fonts{display:flex;align-items:end;gap:20px;margin:20px 0}.type-fonts label{max-width:380px;flex:1;font-size:12px}.type-fonts a{flex-shrink:0}@media(max-width:650px){.type-fonts{align-items:stretch;flex-direction:column;gap:10px}}

.alphabet{font-family:CrazyCoro;line-height:1.65}.type-fonts label{max-width:440px}@media(max-width:650px){header>.quiet{max-width:155px;text-align:right;line-height:1.5}}
