:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f0f14;--panel:#17171f;--border:#2a2a35;--text:#eceef0;--text-dim:#9a9aa5;--accent:#1d9bf0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}html,body{background:var(--bg);color:var(--text);min-height:100dvh;margin:0;padding:0}#app{min-height:100dvh}.wrap{min-height:100dvh;padding:clamp(12px,5vw,24px);padding-top:max(clamp(12px, 5vw, 24px), env(safe-area-inset-top));padding-bottom:max(clamp(12px, 5vw, 24px), env(safe-area-inset-bottom));justify-content:center;align-items:center;display:flex}.qr-view{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:360px;display:flex}.qr-canvas{background:#fff;border-radius:20px;max-width:100%;padding:clamp(10px,4vw,16px);line-height:0;box-shadow:0 8px 40px #00000059}.qr-canvas canvas,.qr-canvas img,.qr-canvas svg{border-radius:8px;max-width:100%;height:auto;display:block}.qr-label{color:var(--text-dim);text-align:center;margin:0;font-size:15px}.qr-label strong{color:var(--text);font-weight:600}.share-box{flex-direction:column;gap:8px;width:100%;margin-top:4px;display:flex}.share-hint{color:var(--text-dim);text-align:center;margin:0;font-size:13px}.url-row{gap:8px;display:flex}.url-row input{background:var(--panel);border:1px solid var(--border);min-width:0;color:var(--text);border-radius:10px;flex:1;padding:12px;font-family:ui-monospace,monospace;font-size:13px}.copy-btn{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:10px;flex-shrink:0;min-height:44px;padding:0 16px;font-size:14px}.copy-btn:active{transform:scale(.97)}.copy-btn.copied{background:var(--accent);border-color:var(--accent);color:#fff}.cta-link{border:1px solid var(--border);background:var(--panel);min-height:44px;color:var(--text);border-radius:999px;justify-content:center;align-items:center;margin-top:4px;padding:0 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.cta-link:active{transform:scale(.97)}.setup-form{background:var(--panel);border:1px solid var(--border);border-radius:20px;flex-direction:column;gap:20px;width:100%;max-width:360px;padding:clamp(20px,6vw,28px) clamp(16px,5vw,24px);display:flex}.title{text-align:center;margin:0;font-size:22px;font-weight:700}.subtitle{color:var(--text-dim);text-align:center;margin:-12px 0 0;font-size:14px}.field{color:var(--text-dim);flex-direction:column;gap:8px;font-size:13px;display:flex}.id-input{background:var(--bg);border:1px solid var(--border);border-radius:10px;align-items:center;padding:0 12px;display:flex}.id-input .at{color:var(--text-dim);font-size:16px}.id-input input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:13px 4px;font-size:16px}.swatches{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.swatch{aspect-ratio:1;cursor:pointer;border:2px solid #0000;border-radius:10px;min-height:44px;padding:0;position:relative}.swatch[aria-pressed=true]{border-color:var(--text)}.swatch[aria-pressed=true]:after{content:"✓";color:#fff;text-shadow:0 1px 2px #00000080;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;inset:0}.advanced-color{margin-top:2px}.advanced-color summary{color:var(--text-dim);cursor:pointer;padding:4px 0;font-size:13px;list-style:none}.advanced-color summary::-webkit-details-marker{display:none}.advanced-color summary:before{content:"▸ "}.advanced-color[open] summary:before{content:"▾ "}.color-input{background:var(--bg);border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;margin-top:8px;padding:8px 12px;display:flex}.color-input input[type=color]{cursor:pointer;background:0 0;border:none;border-radius:8px;width:36px;height:36px;padding:0}.color-input input[type=text]{min-width:0;color:var(--text);text-transform:uppercase;background:0 0;border:none;outline:none;flex:1;padding:8px 4px;font-family:ui-monospace,monospace;font-size:16px}.submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;min-height:48px;padding:14px;font-size:16px;font-weight:600}.submit:active{transform:scale(.98)}.error{color:#f4212e;text-align:center;margin:-10px 0 0;font-size:13px}
