@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--radius-2xl:calc(var(--radius) + 8px);--radius-4xl:calc(var(--radius) + 16px);--font-sans:"Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--input-30:color-mix(in oklch, var(--input) 30%, transparent);--input-50:color-mix(in oklch, var(--input) 50%, transparent);--ring-50:color-mix(in oklch, var(--ring) 50%, transparent);--ring-card:color-mix(in oklch, var(--foreground) 10%, transparent);--muted-50:color-mix(in oklch, var(--muted) 50%, transparent);--primary-80:color-mix(in oklch, var(--primary) 80%, transparent);--destructive-10:color-mix(in oklch, var(--destructive) 10%, transparent);--destructive-20:color-mix(in oklch, var(--destructive) 20%, transparent);--preview-light:#fff;--preview-dark:#0a0a0a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;border-color:var(--border)}html{-webkit-text-size-adjust:100%}body{background:var(--background);color:var(--foreground);font:14px/1.5 var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p{margin:0}a{color:var(--foreground);text-underline-offset:3px}:focus-visible{box-shadow:0 0 0 3px var(--ring-50);outline:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{z-index:10;background:var(--primary);color:var(--primary-foreground);border-radius:var(--radius-4xl);padding:8px 14px;position:absolute;top:-48px;left:16px}.skip-link:focus{top:12px}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.app-header{justify-content:space-between;align-items:center;gap:16px;padding:20px 24px 8px;display:flex}.app-header h1{letter-spacing:-.02em;font-size:20px;font-weight:600}.tagline{color:var(--muted-foreground);margin-top:2px}.header-actions{align-items:center;gap:8px;display:flex}.layout{grid-template-columns:400px minmax(0,1fr);align-items:start;gap:16px;padding:16px 24px 48px;display:grid}.workspace{gap:16px;min-width:0;display:grid}.card{--card-spacing:24px;gap:var(--card-spacing);padding-block:var(--card-spacing);background:var(--card);color:var(--card-foreground);border-radius:var(--radius-2xl);box-shadow:0 0 0 1px var(--ring-card);flex-direction:column;min-width:0;display:flex}.card-header{padding-inline:var(--card-spacing);gap:6px;display:grid}.card-header.row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.card-title{font-size:16px;font-weight:500;line-height:1.3}.card-description{color:var(--muted-foreground);font-size:14px}.card-content{padding-inline:var(--card-spacing);min-width:0}.card-content.stack{gap:16px;display:grid}.card-footer{padding-inline:var(--card-spacing);gap:8px;display:grid}.btn{height:36px;font:inherit;white-space:nowrap;color:var(--foreground);border-radius:var(--radius-4xl);cursor:pointer;background:padding-box padding-box;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:has(.icon){padding-left:10px}.btn:focus-visible{border-color:var(--ring)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;pointer-events:none}.btn-default{background:var(--primary);color:var(--primary-foreground)}.btn-default:hover{background:var(--primary-80)}.btn-outline{border-color:var(--border);background:var(--input-30)}.btn-outline:hover{background:var(--input-50)}.btn-ghost:hover{background:var(--muted)}.btn-link{text-underline-offset:4px;height:auto;padding:0}.btn-link:hover{text-decoration:underline}.btn-link.danger{color:var(--destructive)}.btn-sm{height:32px;font-size:13px}.btn-link.btn-sm{height:auto}.btn-icon{width:36px;padding:0!important}.btn-icon-sm{width:28px;height:28px;color:var(--muted-foreground);padding:0!important}.btn-icon-sm .icon{width:14px;height:14px}.btn-icon-sm:hover:not(:disabled){background:var(--muted);color:var(--foreground)}.btn-icon-sm.danger:hover{background:var(--destructive-10);color:var(--destructive)}.btn-icon-sm:disabled{opacity:.35}.button-row{flex-wrap:wrap;gap:8px;display:flex}.button-row.spread{justify-content:space-between}.palette-panel .button-row:first-child .btn{flex:1}.field{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.label{padding:0;font-size:14px;font-weight:500;line-height:1}.optional{color:var(--muted-foreground);font-weight:400}.input,.select select,.textarea{width:100%;min-width:0;font:inherit;color:var(--foreground);background:var(--input-30);border:1px solid var(--input);font-size:14px;transition:border-color .15s,box-shadow .15s,background-color .15s}.input,.select select{border-radius:var(--radius-4xl);height:36px;padding:4px 12px}.input::placeholder,.textarea::placeholder{color:var(--muted-foreground)}.input:focus-visible,.select select:focus-visible,.textarea:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-50)}.input[aria-invalid=true]{border-color:var(--destructive);box-shadow:0 0 0 3px var(--destructive-20)}.textarea{border-radius:var(--radius-xl);resize:vertical;font-family:var(--font-mono);padding:12px;font-size:12px}.file-input{padding:3px 12px 3px 4px;font-size:13px}.file-input::file-selector-button{height:28px;font:inherit;color:var(--foreground);background:var(--muted);border-radius:var(--radius-4xl);cursor:pointer;border:0;margin-right:10px;padding:0 12px;font-weight:500}.select{min-width:0;position:relative}.select select{appearance:none;cursor:pointer;padding-right:32px}.select select:hover{background:var(--input-50)}.select:after{content:"";background:var(--muted-foreground);pointer-events:none;width:16px;height:16px;position:absolute;top:50%;right:14px;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") 50%/contain no-repeat}.select option{background:var(--popover);color:var(--popover-foreground)}.field.segmented{display:block}.segmented legend{float:left;width:100%;margin-bottom:8px}.segmented .tabs-list{clear:both;border-radius:var(--radius-4xl);background:var(--muted);height:36px;color:var(--muted-foreground);align-items:center;gap:0;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.segmented label{height:100%;position:relative}.segmented input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented span{border-radius:var(--radius-xl);white-space:nowrap;border:1px solid #0000;align-items:center;height:100%;padding:4px 10px;font-size:14px;font-weight:500;transition:background-color .15s,color .15s;display:inline-flex}.segmented label:hover span{color:var(--foreground)}.segmented input:checked+span{background:var(--background);color:var(--foreground);box-shadow:0 1px 2px #00000014}:root.dark .segmented input:checked+span{background:var(--input-30);border-color:var(--input)}.segmented input:focus-visible+span{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-50)}.palette-panel{max-height:calc(100vh - 32px);padding-bottom:20px;position:sticky;top:16px}.color-list{padding:0 var(--card-spacing);flex:auto;min-height:80px;margin:0;list-style:none;overflow-y:auto}.color-item{border-top:1px solid var(--border);grid-template-columns:16px 44px minmax(0,1fr) 28px;align-items:start;gap:10px;padding:12px 0;display:grid;position:relative}.color-item:first-child{border-top:0;padding-top:0}.color-item.dragging{opacity:.4}.color-item.drop-before:before,.color-item.drop-after:after{content:"";background:var(--primary);border-radius:2px;height:2px;position:absolute;left:0;right:0}.color-item.drop-before:before{top:-1px}.color-item.drop-after:after{bottom:-1px}.handle{border-radius:var(--radius-md);width:16px;height:80px;color:var(--muted-foreground);opacity:.6;cursor:grab;background:0 0;border:0;place-items:center;padding:0;display:grid}.handle:hover{opacity:1;background:var(--muted)}.swatch{--swatch:transparent;border-radius:var(--radius-xl);background:var(--swatch);width:44px;height:80px;box-shadow:inset 0 0 0 1px var(--ring-card);display:block;position:relative;overflow:hidden}.swatch.invalid{background:repeating-linear-gradient(45deg, var(--muted) 0 6px, var(--border) 6px 12px)}.swatch:focus-within{box-shadow:inset 0 0 0 1px var(--ring-card), 0 0 0 3px var(--ring-50)}.picker{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.color-fields{gap:6px;min-width:0;display:grid}.name-input{font-weight:500}.value-row{grid-template-columns:minmax(0,1fr) 112px;gap:6px;display:grid}.value-input{font-family:var(--font-mono);font-size:12.5px!important}.value-row .select select{padding-left:10px;padding-right:26px;font-size:13px}.value-row .select:after{width:14px;right:10px}.field-hint{color:var(--muted-foreground);font-size:12px;font-family:var(--font-mono);padding-left:12px}.field-hint.flush{padding-left:0}.field-hint:empty{display:none}.field-hint.error{color:var(--destructive);font-family:var(--font-sans)}.field-hint.warn{color:oklch(55.5% .163 48.998)}:root.dark .field-hint.warn{color:oklch(76.9% .188 70.08)}.item-actions{flex-direction:column;gap:0;display:flex}.empty{color:var(--muted-foreground);text-align:center;padding:24px 0}.controls{flex-wrap:wrap;align-items:end;gap:16px 20px;display:flex}.controls>.field:not(.segmented){width:200px}.field[hidden]{display:none}.matrix-scroll{border-radius:var(--radius-xl);background:var(--preview-light);max-height:75vh;box-shadow:inset 0 0 0 1px var(--ring-card);overflow:auto}.matrix-scroll.on-dark{background:var(--preview-dark)}#matrix svg{display:block}.alert{border-radius:var(--radius-xl);background:var(--muted);color:var(--foreground);padding:10px 14px;font-size:14px}.legend{color:var(--muted-foreground);font-size:13px}.export-grid{flex-wrap:wrap;align-items:end;gap:16px 20px;display:flex}.export-grid .grow{flex:240px}.export-grid .narrow{width:88px}.data-table summary{cursor:pointer;border-radius:var(--radius-md);font-size:16px;font-weight:500}.table-container{max-height:480px;margin-top:16px;position:relative;overflow:auto}.data-table table{border-collapse:collapse;caption-side:bottom;width:100%;font-size:14px}.data-table caption{color:var(--muted-foreground);text-align:left;margin-top:16px}.data-table tr{border-bottom:1px solid var(--border);transition:background-color .15s}.data-table tbody tr:hover{background:var(--muted-50)}.data-table tbody tr:last-child{border-bottom:0}.data-table th,.data-table td{text-align:left;vertical-align:middle;white-space:nowrap;padding:12px}.data-table thead th{background:var(--card);z-index:1;height:48px;padding-block:0;font-weight:500;position:sticky;top:0}.data-table tbody th{font-weight:400}.data-table .num{font-variant-numeric:tabular-nums;text-align:right}.data-table .none{color:var(--muted-foreground)}.sample{border-radius:var(--radius-4xl);box-shadow:inset 0 0 0 1px var(--ring-card);padding:0 10px;font-weight:600;display:inline-block}.about h3{margin-bottom:6px;font-size:14px;font-weight:500}.about h3:not(:first-child){margin-top:20px}.about p{color:var(--muted-foreground);margin-bottom:8px}.about p strong{color:var(--foreground);font-weight:500}.about-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;display:grid}.levels{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.levels li{gap:2px;font-size:13px;display:grid}.levels strong{font-weight:500}.levels span{color:var(--muted-foreground)}.small{color:var(--muted-foreground);font-size:13px}.small a{color:var(--muted-foreground)}.small a:hover{color:var(--foreground)}.credits{border-top:1px solid var(--border);padding-top:16px;margin-top:24px!important}dialog{background:var(--popover);width:min(560px,100vw - 32px);color:var(--popover-foreground);border-radius:var(--radius-4xl);box-shadow:0 0 0 1px color-mix(in oklch, var(--foreground) 5%, transparent);border:0;padding:0}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c}.dialog-content{gap:20px;padding:24px;display:grid}.dialog-header{gap:8px;display:grid}.dialog-title{font-size:16px;font-weight:500;line-height:1}.dialog-description{color:var(--muted-foreground)}.dialog-footer{justify-content:flex-end;gap:8px;display:flex}.import-preview:empty{display:none}.import-preview .small{margin-bottom:8px}.chips{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.chip{background:var(--swatch);width:20px;height:20px;box-shadow:inset 0 0 0 1px var(--ring-card);border-radius:6px}code{font-family:var(--font-mono);background:var(--muted);border-radius:var(--radius-sm);padding:1px 6px;font-size:12.5px}.toast-region{z-index:20;max-width:calc(100vw - 32px);position:fixed;bottom:24px;right:24px}.toast{background:var(--popover);min-width:300px;color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-2xl);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;font-size:14px;display:flex;box-shadow:0 10px 30px #0000001f}.toast-action{height:28px;font:inherit;color:var(--primary-foreground);background:var(--primary);border-radius:var(--radius-4xl);cursor:pointer;border:0;padding:0 12px;font-size:13px;font-weight:500}@media (width<=1024px){.layout{grid-template-columns:minmax(0,1fr);padding:12px 16px 40px}.palette-panel{max-height:none;position:static}.color-list{max-height:60vh}.app-header{padding:16px 16px 4px}}@media (width<=560px){.card{--card-spacing:16px}.tagline{display:none}.controls>.field:not(.segmented){width:100%}.header-actions .btn-ghost{display:none}.toast-region{left:16px;right:16px}.toast{min-width:0}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
