body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.App{text-align:center}.App-logo{height:40vmin;max-height:200px;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh;padding:40px 20px;position:relative;transition:background-color .26s ease,color .26s ease}.App-header h1{font-weight:500;margin:.4em 0 .2em}.App-header p{margin:.2em 0 .8em;opacity:.85}.App-link{font-weight:500;text-decoration:none;transition:color .2s ease}.App-link:hover{text-decoration:underline}.current-color{font-feature-settings:"tnum";font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.7em;font-variant-numeric:tabular-nums;letter-spacing:.02em;margin:.5em 0 .8em;opacity:.85}.language-selector{position:absolute;right:20px;top:20px}.language-selector select{background:#ffffffe6;border:1px solid #0000001a;border-radius:6px;color:#222;cursor:pointer;font-size:14px;padding:6px 10px}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.btn-group-colors{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:12px;max-width:720px}.color-chip{align-items:stretch;border-radius:6px;box-shadow:0 1px 2px #0000001f;display:inline-flex;overflow:hidden;transition:transform .12s ease,box-shadow .16s ease}.color-chip:hover{box-shadow:0 4px 10px #0000002e;transform:translateY(-1px)}.color-chip.is-active{outline:2px solid #ffffffe6;outline-offset:2px}.color-chip>.chip-main{align-items:center;background-color:#3498db;border:none;color:#111;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:8px;padding:8px 10px 8px 14px}.color-chip>.chip-x{background-color:#1d6fa5;border:none;border-left:1px solid #fff3;color:#fff;cursor:pointer;font-size:1.1rem;line-height:1;padding:0 10px;transition:background-color .12s ease,color .12s ease}.color-chip>.chip-x:hover{background-color:#c0392b;color:#fff}.color-chip .swatch{background:#fff;border-radius:3px;box-shadow:inset 0 0 0 1px #00000026;display:inline-block;height:12px;width:12px}.btn-group-colors>.btn-add{align-items:center;background-color:#ffffff24;border:1px dashed #ffffff8c;border-radius:6px;color:inherit;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:8px;padding:8px 14px;transition:transform .12s ease,background-color .2s ease}.btn-group-colors>.btn-add:hover{background-color:#ffffff38;transform:translateY(-1px)}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:.8em;font-weight:700;margin:10px 0;padding:10px 20px}.picker-backdrop{-webkit-overflow-scrolling:touch;animation:fade-in .18s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0c128c;display:grid;inset:0;overflow-y:auto;padding:20px;place-items:center;position:fixed;z-index:50}@media (max-width:560px){.picker-backdrop{padding:0;place-items:end center}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.picker-backdrop-dismiss{background:#0000;border:none;cursor:default;inset:0;position:absolute}.picker-card{animation:rise .22s cubic-bezier(.2,.9,.3,1);background:#fff;border-radius:14px;box-shadow:0 30px 60px -20px #0a142866,0 8px 20px #00000026;color:#111;display:flex;flex-direction:column;font-size:15px;max-height:calc(100vh - 40px);overflow:hidden;position:relative;text-align:left;width:min(620px,100%)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes sheetUp{0%{opacity:.6;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (max-width:560px){.picker-card{animation:sheetUp .26s cubic-bezier(.2,.9,.3,1);border-radius:18px 18px 0 0;max-height:92vh;max-height:92dvh;width:100%}}.picker-head{align-items:center;border-bottom:1px solid #eef0f3;display:flex;flex:0 0 auto;justify-content:space-between;padding:18px 22px}.picker-head h2{font-size:17px;font-weight:600;letter-spacing:-.01em;margin:0}.picker-x{background:#0000;border:none;border-radius:10px;color:#6b7280;cursor:pointer;display:grid;font-size:24px;height:44px;line-height:1;place-items:center;width:44px}.picker-x:hover{background:#f3f4f6;color:#111}@media (max-width:560px){.picker-head{padding:22px 18px 14px;position:relative}.picker-head:before{background:#d1d5db;border-radius:2px;content:"";height:4px;left:50%;position:absolute;top:8px;transform:translateX(-50%);width:36px}}.picker-body{grid-gap:28px;-webkit-overflow-scrolling:touch;display:grid;flex:1 1 auto;gap:28px;grid-template-columns:auto 1fr;min-height:0;overflow-y:auto;padding:22px}@media (max-width:560px){.picker-body{gap:18px;grid-template-columns:1fr;padding:16px 16px 14px}}.picker-left{align-items:center;display:flex;flex-direction:column;gap:16px}@media (max-width:560px){.picker-left{gap:14px}}.wheel-wrap{max-width:100%;position:relative;touch-action:none;-webkit-user-select:none;user-select:none}.wheel-canvas{border-radius:50%;box-shadow:0 0 0 1px #00000014,inset 0 0 12px #0000001f;cursor:crosshair;display:block}.wheel-cursor{border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0006,0 1px 3px #0000004d;height:16px;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:16px}.slider-row{display:flex;flex-direction:column;gap:6px;max-width:100%;width:220px}@media (max-width:560px){.slider-row{width:100%}}.slider-label{color:#6b7280;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.lightness-slider{-webkit-appearance:none;appearance:none;border-radius:6px;box-shadow:inset 0 0 0 1px #0000001a;height:10px;outline:none;width:100%}.lightness-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:2px solid #00000040;border-radius:50%;box-shadow:0 1px 3px #0000004d;cursor:pointer;height:18px;width:18px}.lightness-slider::-moz-range-thumb{background:#fff;border:2px solid #00000040;border-radius:50%;cursor:pointer;height:18px;width:18px}.picker-right{display:flex;flex-direction:column;gap:14px}.preview{align-items:center;border-radius:10px;box-shadow:inset 0 0 0 1px #00000014;display:flex;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:18px;font-weight:600;height:72px;justify-content:center;letter-spacing:.04em;transition:background .16s ease,color .16s ease}.field{display:flex;flex-direction:column;font-size:13px;gap:6px}.field>span{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.field input{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111;font:inherit;outline:none;padding:9px 11px;transition:border-color .12s ease,box-shadow .12s ease}.field input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db33}.field input[aria-invalid=true]{border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c26}.err{color:#c0392b;font-size:12px;font-style:normal}.picker-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:auto}@media (max-width:560px){.picker-actions{gap:10px;justify-content:stretch;padding-top:6px}.picker-actions>button{flex:1 1;min-height:44px}}.btn-ghost,.btn-primary{border:1px solid #0000;border-radius:8px;cursor:pointer;font:inherit;font-size:14px;font-weight:600;padding:9px 16px;transition:background .12s ease,transform 80ms ease}.btn-ghost{background:#fff;border-color:#e5e7eb;color:#374151}.btn-ghost:hover{background:#f9fafb}.btn-primary{background:#1d6fa5;box-shadow:0 1px 2px #0000001f;color:#fff}.btn-primary:hover{background:#155f8b}.btn-primary:active{transform:translateY(1px)}.btn-danger{background:#c0392b;border:1px solid #0000;border-radius:8px;box-shadow:0 1px 2px #0000001f;color:#fff;cursor:pointer;font:inherit;font-size:14px;font-weight:600;padding:9px 16px;transition:background .12s ease,transform 80ms ease}.btn-danger:disabled,.btn-ghost:disabled,.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-danger:hover{background:#a93226}.btn-danger:active{transform:translateY(1px)}@media (max-width:560px){.btn-danger{min-height:44px}}.server-error{align-items:flex-start;animation:rise .18s cubic-bezier(.2,.9,.3,1);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;display:flex;font-size:13px;gap:10px;line-height:1.4;margin-top:4px;padding:10px 12px}.server-error-icon{background:#dc2626;border-radius:50%;color:#fff;display:grid;flex:0 0 18px;font-size:12px;font-weight:700;height:18px;margin-top:1px;place-items:center;width:18px}.confirm-card{animation:rise .22s cubic-bezier(.2,.9,.3,1);background:#fff;border-radius:14px;box-shadow:0 30px 60px -20px #0a142866,0 8px 20px #00000026;color:#111;padding:24px;text-align:center;width:min(420px,100%)}@media (max-width:560px){.confirm-card{animation:sheetUp .26s cubic-bezier(.2,.9,.3,1);border-radius:18px 18px 0 0;padding:22px 18px;position:relative;width:100%}.confirm-card:before{background:#d1d5db;border-radius:2px;content:"";height:4px;left:50%;position:absolute;top:8px;transform:translateX(-50%);width:36px}}.confirm-card h2{font-size:18px;font-weight:600;letter-spacing:-.01em;margin:14px 0 8px}.confirm-body{color:#4b5563;font-size:14px;line-height:1.5;margin:0 0 18px}.confirm-icon{border-radius:12px;box-shadow:inset 0 0 0 1px #0000001a,0 2px 6px #00000026;height:44px;margin:0 auto;width:44px}.confirm-card .picker-actions{justify-content:center;margin-top:0}@media (max-width:560px){.confirm-card .picker-actions{justify-content:stretch}.confirm-card .picker-actions>button{flex:1 1;min-height:44px}}
/*# sourceMappingURL=main.5eb4f5e7.css.map*/