@font-face{font-family:Kanit;src:url(../fonts/Kanit-Regular.ttf) format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Kanit;src:url(../fonts/Kanit-SemiBold.ttf) format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Kanit;src:url(../fonts/Kanit-Bold.ttf) format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Kanit;src:url(../fonts/Kanit-ExtraBold.ttf) format('truetype');font-weight:800;font-style:normal;font-display:swap}
:root{color-scheme:dark;--bg:#101813;--panel:#19211b;--green:#29372d;--accent:#a8b592;--text:#e3e7df;--muted:#a0a99b;--border:#303a31;--mono:'Kanit',sans-serif;font-family:'Kanit',sans-serif;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:18px}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a,input{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent)}button{cursor:pointer}button:disabled{cursor:not-allowed}button{transition:background .18s,color .18s,border-color .18s,transform .18s}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.site-header,main,footer{max-width:1160px;margin:auto}.site-header{height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:13px;font-size:25px;letter-spacing:1.3px;font-weight:800}.brand-light{font-weight:400;color:var(--accent)}.brand small{font:13px var(--mono);display:block;letter-spacing:2.1px;color:var(--muted);margin-top:6px}.brand-icon{width:37px;height:37px;display:grid;grid-template-columns:1fr 1fr;gap:5px}.brand-icon i{border:3px solid var(--accent);position:relative}.brand-icon i:after{content:'';position:absolute;inset:3px;background:var(--accent)}.brand-icon i:last-child{border:0;background:linear-gradient(90deg,var(--accent) 40%,transparent 40%)}.header-right{display:flex;align-items:center;gap:27px;font:14px var(--mono);letter-spacing:1px}.local-indicator{color:var(--accent);display:flex;align-items:center;gap:8px}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:none}.edition{border-left:1px solid var(--border);padding-left:27px;color:var(--muted)}main{padding-top:32px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.footer-credit{font-size:15px;letter-spacing:0;color:var(--muted)}.workspace{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:none}.configuration{padding:29px 34px 28px;background:var(--panel)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:32px}.panel-heading h2{font-size:19px;font-weight:600;margin:0;display:flex;align-items:center;gap:12px}.step{color:var(--accent);font:15px var(--mono);border:1px solid var(--border);padding:5px;border-radius:3px}.micro{color:var(--muted);font:13px var(--mono);letter-spacing:1.5px}.field-label{display:flex;align-items:center;justify-content:space-between;font-size:16px;margin-bottom:11px}.field-label span{font:12px var(--mono);letter-spacing:1.3px;color:var(--muted)}.url-field{display:flex;align-items:center;border:1px solid var(--border);border-radius:6px;min-height:52px;padding:0 10px 0 14px;background:#101813;gap:10px}.url-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #a8b59214}#url{min-width:0;width:100%;border:0;background:transparent;color:var(--text);padding:15px 0;font-size:17px;outline:0}#url::placeholder{color:#929d8d}.paste-button{font:14px var(--mono);color:var(--text);background:#242e26;border:1px solid var(--border);border-radius:4px;padding:7px 10px}.paste-button:hover{background:#303d32}.clear-button{border:0;color:var(--muted);background:transparent;font-size:14px;padding:0 3px}.help{font-size:15px;color:var(--muted);margin:10px 0 27px}.section-label{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:23px;margin-bottom:18px;font:13px var(--mono);letter-spacing:1.5px;color:var(--muted)}.section-label span:last-child{color:var(--muted);font-size:12px}.color-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.color-fields label{display:block;font-size:15px;margin-bottom:10px;color:#c5cdc0}.color-control{border:1px solid var(--border);border-radius:5px;display:flex;align-items:center;padding:8px 10px;gap:10px;background:#101813;position:relative;min-height:43px}.color-control input{width:24px;height:24px;padding:0;border:0;background:none;cursor:pointer;flex-shrink:0}.color-control input::-webkit-color-swatch-wrapper{padding:0}.color-control input::-webkit-color-swatch{border:1px solid #718168;border-radius:3px}.color-control input::-moz-color-swatch{border:1px solid #718168;border-radius:3px}.color-control output{font:15px var(--mono);color:#c5cdc0}.primary-button{width:100%;padding:16px 18px;border:1px solid var(--accent);border-radius:5px;background:var(--accent);color:#142016;font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;position:relative}.primary-button:hover{background:#b8c3a5;border-color:#b8c3a5;transform:translateY(-1px)}.form-bottom{margin-top:19px;display:flex;justify-content:space-between;align-items:center;gap:10px}.form-bottom>span{font:12px var(--mono);letter-spacing:.4px;color:var(--muted)}#reset{background:none;border:0;color:var(--muted);font-size:17px;padding:6px 0 6px 10px}#reset:hover{color:var(--text)}.preview-panel{border-left:1px solid var(--border);padding:29px 34px 22px;background:var(--panel);display:flex;flex-direction:column;align-items:center}.preview-panel .panel-heading{align-self:stretch;margin-bottom:19px}.state-badge{font:12px var(--mono);letter-spacing:1px;color:var(--muted);padding:5px 8px;border:1px solid var(--border);border-radius:3px}.state-badge.ready{color:var(--accent);border-color:#66745b}.preview-stage{padding:13px;position:relative}.qr-frame{padding:4px;border:1px solid #414c3e;position:relative;border-radius:6px}.qr-frame:before,.qr-frame:after{position:absolute;content:'';width:8px;height:8px;border-color:var(--accent);pointer-events:none}.qr-frame:before{left:-1px;top:-1px;border-left:2px solid;border-top:2px solid}.qr-frame:after{bottom:-1px;right:-1px;border-right:2px solid;border-bottom:2px solid}.empty-preview,canvas{width:204px;height:204px;border-radius:3px;display:block}.empty-preview{background:#e3e6de;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;color:#8b9584}.empty-preview svg{width:116px;height:116px;opacity:.5}.empty-preview span{font:11px var(--mono);letter-spacing:1.4px;color:#5d6957}.preview-caption{font-size:15px;color:var(--muted);margin:11px 0 17px;max-width:100%;overflow-wrap:anywhere;text-align:center}.output-specs{font:12px var(--mono);letter-spacing:.7px;display:flex;align-items:center;gap:10px;color:var(--muted);margin-bottom:23px}.output-specs i{height:3px;width:3px;background:#596451;border-radius:50%}.download-button{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;padding:13px 15px;border:1px solid #47563f;border-radius:5px;background:var(--green);color:var(--text);font-size:16px}.download-button:disabled{background:#1e2820;color:#85917d;border-color:var(--border)}.download-button:not(:disabled):hover{background:#344438}.download-note{font-size:14px;color:var(--muted);margin:11px 0 0}footer{border-top:1px solid var(--border);padding:22px 0 26px;display:flex;align-items:center;justify-content:space-between;font:12px var(--mono);letter-spacing:1px;color:var(--muted)}.status-message{min-height:22px;padding-top:8px;color:var(--accent);font-size:15px}.error{font-size:16px;color:#f5b7a5;line-height:1.5;margin:10px 0}.skip-link{position:absolute;left:12px;top:-80px;padding:12px;background:var(--accent);color:var(--bg);z-index:5}.skip-link:focus{top:12px}
@media(min-width:1400px){.site-header,main,footer{max-width:1160px}}
@media(max-width:1250px){.site-header,main,footer{margin-left:6%;margin-right:6%}}
@media(max-width:850px){.configuration,.preview-panel{padding:24px}.header-right{gap:15px}.edition{padding-left:15px}.color-fields{gap:10px}.color-control{gap:7px;padding:8px}.form-bottom>span{font-size:11px}.panel-heading h2{font-size:17px}.micro{display:none}}
@media(max-width:650px){.site-header,main,footer{margin-left:6%;margin-right:6%}.site-header{height:88px}.brand{font-size:21px;gap:10px}.brand-icon{width:31px;height:31px}.brand small{font-size:11px;letter-spacing:1.5px}.header-right{font-size:12px}.edition{display:none}.workspace{grid-template-columns:1fr}.configuration,.preview-panel{padding:24px}.preview-panel{border-left:0;border-top:1px solid var(--border)}.panel-heading h2{font-size:18px}.panel-heading{margin-bottom:26px}.micro{display:block}.form-bottom>span{font-size:11px}.empty-preview,canvas{width:220px;height:220px}footer{align-items:flex-start;gap:15px;flex-direction:column;font-size:11px;line-height:1.6}}
.paste-button,.clear-button{min-height:32px}.clear-button{min-width:24px}
@media(max-width:650px){#url{font-size:20px}.form-bottom{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
.text-control{display:block;width:100%;min-width:0;background:#101813;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:12px;font:inherit;margin-bottom:18px}.text-control:focus-visible{outline:2px solid var(--accent);outline-offset:3px}textarea.text-control{resize:vertical;min-height:110px}.check-field{display:flex;align-items:center;gap:8px;font-size:16px}.logo-details{display:flex;align-items:center;gap:12px}.logo-details img{width:44px;height:44px;object-fit:contain;background:white;border-radius:4px}.logo-details span{min-width:0;overflow-wrap:anywhere;flex:1;font-size:16px}#download-svg{margin-top:10px}@media(max-width:650px){.text-control{font-size:20px}}

/* Allow larger labels to wrap on narrow screens. */
.background-toggle{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:15px;cursor:pointer}.background-toggle input{appearance:none;width:38px;height:22px;margin:0;border:1px solid var(--muted);border-radius:12px;background:var(--bg);position:relative;cursor:pointer;flex-shrink:0}.background-toggle input:before{content:'';position:absolute;width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:var(--muted)}.background-toggle input:checked{background:var(--accent);border-color:var(--accent)}.background-toggle input:checked:before{left:19px;background:var(--bg)}.color-control:has(input:disabled){opacity:.55}.color-control input:disabled{cursor:not-allowed}.color-control output{min-width:0;overflow-wrap:anywhere}.transparent-background{background-color:#fff;background-image:conic-gradient(#ddd 25%,transparent 0 50%,#ddd 0 75%,transparent 0);background-size:16px 16px}
.panel-heading,.field-label,.form-bottom,.output-specs{flex-wrap:wrap}.configuration,.preview-panel{min-width:0}.help,.download-note{line-height:1.6}.output-specs{justify-content:center}.download-note{text-align:center}

.dynamic-fields{border-top:1px solid var(--border);margin-top:21px;padding-top:1px}.dynamic-fields .help{margin-bottom:17px}.dynamic-fields .text-control{margin-bottom:3px}.dynamic-result{width:100%;border:1px solid var(--border);border-radius:5px;background:#101813;padding:12px 14px;margin:-4px 0 16px;display:grid;gap:5px;font-size:14px}.dynamic-result span{color:var(--muted);font:12px var(--mono);letter-spacing:.8px}.dynamic-result a{color:var(--accent);overflow-wrap:anywhere}.dynamic-result a:last-child{margin-top:4px;font-size:15px}

input::file-selector-button{font:inherit;color:var(--text);background:#242e26;border:1px solid var(--border);border-radius:4px;padding:5px 10px;margin-right:12px;cursor:pointer}input::file-selector-button:hover{background:#303d32}

.admin-nav{color:var(--accent, #a8b592);font-size:14px;text-decoration:none;margin-left:auto;padding:10px}.admin-nav:hover{text-decoration:underline}
.account-nav{margin-left:auto;min-width:0}.account-menu{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--muted)}.account-menu .admin-nav{margin-left:0}.account-name{color:var(--text);overflow-wrap:anywhere;min-width:0}.account-manage{border:1px solid var(--border);border-radius:5px;background:var(--panel)}#account-logout{border:0;background:transparent}#account-logout:disabled{opacity:.55}.site-header{gap:20px}
@media(max-width:650px){.site-header{height:auto;min-height:88px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px;gap:14px}.account-menu{gap:5px}.account-menu .admin-nav{padding:8px 6px}}
.logo-presets{display:flex;flex-wrap:wrap;gap:10px 20px;margin-bottom:14px}.logo-presets label{display:flex;align-items:center;gap:8px;min-height:36px;font-size:16px;cursor:pointer}.logo-presets input{margin:0;accent-color:var(--accent);width:18px;height:18px;flex-shrink:0}
