:root{color-scheme:dark;--bg: #101010;--surface: #181818;--panel: #1e1e1e;--raised: #282828;--control: #303030;--selected: #404040;--preview: #181818;--text: #f5f5f5;--muted: #c0c0c0;--subtle: #a0a0a0;--success: #d0d0d0;--warning: #dedede;--danger: #f5f5f5;--shadow: 0 24px 64px rgba(0, 0, 0, 0.28);--focus: rgba(255, 255, 255, 0.48);--tr: 140ms ease;
  --radius-app: 24px;
  --radius-control: 12px;
  --radius-inset: 8px;
  --radius-item: 6px;
  --gap-panel: 2px}
html[data-theme="light"]{color-scheme:light;--bg: #f0f0f0;--surface: #fafafa;--panel: #ececec;--raised: #e2e2e2;--control: #d8d8d8;--selected: #c8c8c8;--preview: #fafafa;--text: #242424;--muted: #565656;--subtle: #666666;--success: #454545;--warning: #4b4b4b;--danger: #292929;--shadow: 0 24px 60px rgba(0, 0, 0, 0.12);--focus: rgba(0, 0, 0, 0.48)}
*{box-sizing:border-box}html{color-scheme:dark;-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{background:var(--bg)}body{min-height:100vh;margin:0;padding:28px 24px 16px;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;transition:background var(--tr),color var(--tr)}button,input,textarea,select{font:inherit;color:inherit}button,label,select,input[type=color],input[type=range]{-webkit-tap-highlight-color:transparent}button,input,textarea,select{outline:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--focus)}[hidden]{display:none!important}.page{flex:1;width:100%;display:grid;place-items:center}.app{width:min(1120px,100%)}
.header{margin-bottom:20px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.header-copy{min-width:0}h1 { margin: 0; }h1{font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.1;letter-spacing:-.035em;font-weight:680}.appearance{min-height:40px;padding:0 14px;border:0;border-radius:var(--radius-control);background:var(--raised);color:var(--muted);font-size:.875rem;font-weight:650;cursor:pointer;transition:background var(--tr),color var(--tr),box-shadow var(--tr)}.appearance:hover{background:var(--control);color:var(--text)}
.shell{height:720px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(350px,.82fr);overflow:hidden;box-shadow:var(--shadow)}.panel{min-width:0;min-height:0;background:var(--panel)}.editor,.output{display:flex;flex-direction:column;overflow:hidden}
.tabs{height:52px;padding:6px;display:flex;flex-shrink:0;gap:4px;overflow-x:auto;background:color-mix(in srgb,var(--raised) 55%,var(--panel));scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:0 15px;border:0;border-radius:var(--radius-inset);background:transparent;color:var(--muted);font-size:.9375rem;font-weight:650;cursor:pointer;transition:background var(--tr),color var(--tr),box-shadow var(--tr)}.tab:hover{color:var(--text)}.tab.active{background:var(--control);color:var(--text)}.editor-body{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--control) transparent}.tab-panel{display:none}.tab-panel.active{display:block}
.section{padding:24px}.section+.section{margin-top:0;padding-top:0;}.section-head{margin:0 0 14px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section-title{margin:0 0 14px;color:var(--text);font-size:1.0625rem;font-weight:680}.section-head .section-title{margin:0}.section-desc{margin:-5px 0 16px;color:var(--subtle);font-size:.875rem}.inline-status{font-size:.8125rem;font-weight:650;text-align:right}.inline-status.success{color:var(--success)}.inline-status.warning{color:var(--warning)}.inline-status.danger{color:var(--danger)}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.category{min-height:88px;padding:13px 14px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;border:0;border-radius:var(--radius-control);background:var(--control);text-align:left;cursor:pointer;transition:background var(--tr),color var(--tr),box-shadow var(--tr)}.category.active{background:var(--selected)}.category:focus-visible{background:var(--selected);box-shadow:inset 0 0 0 2px var(--focus)}.category strong{font-size:1rem;font-weight:680}.category span{color:var(--subtle);font-size:.875rem;line-height:1.35}.category.active span{color:var(--muted)}
.fields{display:grid;gap:12px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:grid;gap:8px}.field label{font-size:1rem;font-weight:580}.format-chooser{margin-bottom:12px}.hint{color:var(--subtle);font-size:.875rem}.input,.select,.textarea{width:100%;border:0;border-radius:var(--radius-control);background-color:var(--control);color:var(--text);transition:background var(--tr),box-shadow var(--tr)}.input,.select{height:42px;padding:0 12px}.select{padding-right:36px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 17px) 19px,calc(100% - 13px) 19px;background-size:4px 4px;background-repeat:no-repeat}.textarea{min-height:108px;padding:11px 12px;resize:vertical}.textarea[data-large="true"]{min-height:210px}.input:hover,.select:hover,.textarea:hover{background-color:color-mix(in srgb,var(--control) 84%,var(--text))}.input:focus,.select:focus,.textarea:focus{background-color:var(--raised);box-shadow:inset 0 0 0 2px var(--focus)}.input::placeholder,.textarea::placeholder{color:var(--subtle)}
.settings{display:grid}.gradient-options{margin-top:8px}.setting{min-height:62px;padding:7px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.setting-copy strong,.setting>strong{display:block;font-size:1rem;font-weight:580}.setting-copy span{display:block;margin-top:2px;color:var(--subtle);font-size:.875rem}.row-select{width:156px;flex:0 0 auto}.switch{position:relative;width:40px;height:24px;flex:0 0 auto}.switch input{position:absolute;opacity:0;pointer-events:none}.track{position:absolute;inset:0;border-radius:999px;background:var(--control);cursor:pointer;transition:background var(--tr),box-shadow var(--tr)}.track::after{content:"";position:absolute;top:4px;left:4px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform var(--tr),background var(--tr)}.switch input:checked+.track{background:var(--text)}.switch input:checked+.track::after{transform:translateX(16px);background:var(--surface)}.switch input:focus-visible+.track{box-shadow:inset 0 0 0 2px var(--focus)}
.reset-row{margin-top:14px;display:flex;justify-content:flex-end}.btn{min-height:42px;padding:0 15px;border:0;border-radius:var(--radius-control);background:var(--control);color:var(--text);font-size:1rem;font-weight:650;cursor:pointer;transition:background var(--tr),color var(--tr),box-shadow var(--tr)}.btn:hover:not(:disabled){background:color-mix(in srgb,var(--control) 84%,var(--text))}.btn.subtle{background:transparent;color:var(--muted)}.btn.subtle:hover:not(:disabled){background:var(--control);color:var(--text)}.btn.primary{background:var(--text);color:var(--surface)}.btn.primary:hover:not(:disabled){background:color-mix(in srgb,var(--text) 88%,var(--surface))}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.36;cursor:default}
.color-row{display:flex;align-items:center;gap:8px}.color{width:38px;height:38px;padding:4px;border:0;border-radius:var(--radius-control);background:var(--control)}.hex{width:92px;text-align:center;font-family:"SFMono-Regular",Consolas,monospace;font-size:.875rem}.range{width:min(200px,45vw);display:flex;align-items:center;gap:12px}.range input{width:100%;accent-color:var(--text)}.range span{min-width:54px;color:var(--muted);font-size:.875rem;text-align:right}.notice{padding:11px 12px;border-radius:var(--radius-control);background:var(--raised);color:var(--subtle);font-size:.875rem}.section-notice{margin-top:12px}.notice.success{color:var(--success)}.notice.warning{color:var(--warning)}.notice.danger{color:var(--danger)}
.capacity{padding:14px;border-radius:var(--radius-control);background:var(--raised)}.capacity-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.capacity-head strong{font-size:1rem}.capacity-head span{color:var(--muted);font-size:.875rem;font-weight:650}.capacity-track{height:7px;overflow:hidden;border-radius:999px;background:var(--control)}.capacity-fill{height:100%;width:0;background:var(--success);border-radius:inherit;transition:width var(--tr),background-color var(--tr)}.capacity-fill.medium{background:var(--warning)}.capacity-fill.high{background:var(--danger)}.capacity-foot{margin-top:9px;color:var(--subtle);font-size:.8125rem}
.upload{min-height:156px;display:grid;place-items:center;padding:24px;border:0;border-radius:var(--radius-control);background:var(--control);text-align:center;cursor:pointer;transition:background var(--tr),box-shadow var(--tr)}.upload:hover{background:color-mix(in srgb,var(--control) 84%,var(--text))}.upload:focus-within{box-shadow:inset 0 0 0 2px var(--focus)}.upload input{position:absolute;opacity:0}.upload-icon{width:38px;height:38px;margin:0 auto 9px;display:grid;place-items:center;border-radius:var(--radius-control);background:var(--selected);font-size:1.125rem}.upload strong,.upload small{display:block}.upload small{margin-top:4px;color:var(--subtle);font-size:.875rem}.logo-file{margin-top:10px;padding:8px 8px 8px 12px;display:none;align-items:center;justify-content:space-between;gap:12px;border-radius:var(--radius-control);background:var(--raised)}.logo-file.visible{display:flex}.logo-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.875rem}
.output-toolbar{min-height:52px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:color-mix(in srgb,var(--raised) 55%,var(--panel));}.output-title{color:var(--text);font-size:.9375rem;font-weight:680}.auto{display:flex;align-items:center;gap:9px;white-space:nowrap;color:var(--muted);font-size:.875rem;font-weight:600}.output-body{flex:1;min-height:0;padding:18px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.qr-box{width:100%;aspect-ratio:1;display:grid;place-items:center;padding:18px;border-radius:var(--radius-control);background:var(--preview);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 7%,transparent)}#qrMount{width:100%;height:100%;display:grid;place-items:center}#qrMount svg,#qrMount canvas{display:block;width:100%!important;height:auto!important;max-width:100%;max-height:100%}.empty{color:var(--subtle);font-size:.9375rem;text-align:center}.export{padding-top:2px}.export-grid{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px}.filename{grid-column:1/-1}.output-actions{min-height:68px;padding:12px 20px;display:flex;align-items:center;justify-content:flex-end;gap:8px;background:color-mix(in srgb,var(--raised) 55%,var(--panel));}.action-msg{margin-right:auto;color:var(--subtle);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.local-note{width:100%;margin:14px auto 0;padding:0 12px;color:var(--subtle);font-size:.8125rem;line-height:1.5;text-align:center;}.site-credit{flex-shrink:0;width:100%;margin:28px 0 0;padding:12px 0 0;color:var(--subtle);font-size:.8125rem;line-height:1.5;text-align:center}.site-credit a{color:var(--muted);font-weight:650;text-decoration:none}.site-credit a:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}

/* Shared frame and motion: MTcord's 140ms ease timing. */

.shell {
  padding: 0;
  gap: var(--gap-panel);
  border-radius: var(--radius-app);
  background: transparent;
  transition: box-shadow var(--tr);
}

.panel,
.toolbar,
.output-toolbar,
.tabs,
.actions,
.output-actions {
  border-radius: 0;
  transition: background-color var(--tr), color var(--tr);
}

html,
.site-credit,
.site-credit a,
.local-note,
:where(.header, .panel) :where(h1, p, strong, span, label, small, time) {
  transition: background-color var(--tr), color var(--tr);
}


@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}

@media(max-width:980px){body{padding:20px 16px 14px}.page{display:block}.app{margin:auto}.shell{height:auto;grid-template-columns:1fr}.output-body{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);align-content:start}.qr-box{grid-row:1/span 2}.local-note{white-space:normal}}
@media(max-width:720px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid{grid-template-columns:1fr}.output-body{display:flex}.qr-box,.capacity,.export{width:100%}.row-select{width:140px}.range{width:160px}}
@media(max-width:560px){body{padding:14px 10px}.header{margin:0 4px 16px}.appearance{min-height:38px;padding:0 11px;font-size:.8125rem}.section,.output-body{padding:18px}.setting{align-items:flex-start}.setting.compact{align-items:center}.row-select{width:128px}.color-row{flex-direction:column;align-items:flex-end}.range{width:130px}.export-grid{grid-template-columns:1fr}.filename{grid-column:auto}.action-msg{display:none}.local-note{margin-top:12px;padding:0 8px}.site-credit{margin-top:22px}}

.tab-panel.active,#gradientSettings:not([hidden]),.logo-file.visible{animation:fade-in var(--tr)}
.tabs{padding:8px;gap:4px}.tab{border-radius:16px}.logo-file .btn{border-radius:4px}
.color::-webkit-color-swatch-wrapper{padding:0}.color::-webkit-color-swatch{border:0;border-radius:8px}.color::-moz-color-swatch{border:0;border-radius:8px}

@media(max-width:560px){.header{gap:12px}.actions,.output-actions{padding:12px 16px}}

.appearance{flex:0 0 auto;white-space:nowrap}
