@font-face{font-family:Syne Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/syne-greek-wght-normal-5tOOQDeJ.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Syne Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/syne-latin-ext-wght-normal-JjI8ZrW1.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Syne Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/syne-latin-wght-normal-BVsvWWA4.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-vietnamese-400-normal-CkBxLiRJ.woff2) format("woff2"),url(/assets/anton-vietnamese-400-normal-2FfR1wHA.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-latin-ext-400-normal-SyiqE2Jt.woff2) format("woff2"),url(/assets/anton-latin-ext-400-normal-BMODBQc6.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-latin-400-normal-Byf51wtH.woff2) format("woff2"),url(/assets/anton-latin-400-normal-AUNGEG_V.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-hebrew-wght-normal-DdnsCkLr.woff2) format("woff2-variations");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-ext-wght-normal-CYrqKuxd.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-wght-normal-DM6njrJ3.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-cyrillic-ext-wght-normal-DiMfzA-V.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-cyrillic-wght-normal-D5lnP6kL.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-latin-ext-wght-normal-Byk3UhVp.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-latin-wght-normal-C1hSzPvX.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/playfair-display-cyrillic-wght-normal-5WvUvBgz.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/playfair-display-vietnamese-wght-normal-Cabi7G8-.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/playfair-display-latin-ext-wght-normal-CT1r92Rl.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/playfair-display-latin-wght-normal-BOwq7MWX.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{interpolate-size:allow-keywords;--bg-root: hsl(240 6% 7%);--bg-surface: hsl(240 5% 11%);--bg-card: hsla(240 6% 14% / .55);--bg-card-hover: hsla(240 6% 18% / .6);--bg-card-active: hsla(240 6% 20% / .7);--bg-elevated: hsla(240 6% 16% / .7);--bg-input: hsla(240 6% 10% / .8);--bg-drop: hsla(35 90% 55% / .06);--footer-fade: hsla(240 6% 5% / .5);--border-subtle: hsla(0 0% 100% / .06);--border-medium: hsla(0 0% 100% / .1);--border-accent: hsla(35 90% 60% / .4);--border-drop: hsla(35 90% 55% / .35);--text-primary: hsl(0 0% 95%);--text-secondary: hsl(0 0% 65%);--text-muted: hsl(0 0% 45%);--text-inverse: hsl(240 6% 7%);--accent: hsl(35 90% 55%);--accent-hover: hsl(35 90% 62%);--accent-gradient: linear-gradient(135deg, hsl(40 92% 56%), hsl(12 85% 55%));--accent-glow: hsla(35 90% 55% / .25);--success: hsl(152 60% 48%);--success-bg: hsla(152 60% 48% / .12);--error: hsl(0 72% 58%);--error-bg: hsla(0 72% 58% / .12);--warning: hsl(40 92% 56%);--warning-bg: hsla(40 92% 56% / .12);--eink-black: #000000;--eink-white: #ffffff;--eink-yellow: #ffff00;--eink-red: #ff0000;--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-full: 9999px;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--header-h: 4.25rem;--font-family: "Outfit Variable", "Outfit", system-ui, -apple-system, sans-serif;--font-display: "Syne Variable", "Syne", system-ui, sans-serif;--font-size-xs: .75rem;--font-size-sm: .8rem;--font-size-base: .9rem;--font-size-md: 1rem;--font-size-lg: 1.2rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--shadow-sm: 0 1px 3px hsla(0 0% 0% / .3);--shadow-md: 0 4px 16px hsla(0 0% 0% / .35);--shadow-lg: 0 8px 32px hsla(0 0% 0% / .4);--shadow-glow: 0 0 24px var(--accent-glow);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--glass-blur: blur(20px);--glass-bg: hsla(240 6% 14% / .45);--dither-dots: radial-gradient(hsla(0 0% 100% / .5) .6px, transparent .7px);--dither-size: 7px 7px}:root[data-theme=light]{--bg-root: hsl(240 20% 97%);--bg-surface: hsl(240 20% 99%);--bg-card: hsla(240 24% 100% / .7);--bg-card-hover: hsla(240 20% 96% / .85);--bg-card-active: hsla(240 18% 93% / .9);--bg-elevated: hsla(240 24% 100% / .85);--bg-input: hsla(240 20% 100% / .9);--bg-drop: hsla(35 90% 50% / .08);--footer-fade: hsla(240 24% 90% / .5);--border-subtle: hsla(240 20% 10% / .1);--border-medium: hsla(240 20% 10% / .16);--border-accent: hsla(35 90% 45% / .5);--border-drop: hsla(35 90% 45% / .45);--text-primary: hsl(240 20% 12%);--text-secondary: hsl(240 12% 34%);--text-muted: hsl(240 8% 50%);--text-inverse: hsl(0 0% 100%);--accent-glow: hsla(35 90% 50% / .22);--shadow-sm: 0 1px 3px hsla(240 20% 20% / .12);--shadow-md: 0 4px 16px hsla(240 20% 20% / .14);--shadow-lg: 0 8px 32px hsla(240 20% 20% / .18);--glass-bg: hsla(240 24% 100% / .6);--dither-dots: radial-gradient(hsla(240 20% 10% / .5) .6px, transparent .7px);color-scheme:light}@media(prefers-reduced-motion:no-preference){:root.theme-transition,:root.theme-transition *,:root.theme-transition *:before,:root.theme-transition *:after{transition:background-color var(--duration-slow) var(--ease-out),color var(--duration-slow) var(--ease-out),border-color var(--duration-slow) var(--ease-out),fill var(--duration-slow) var(--ease-out)!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{font-size:clamp(14px,.85vw,26px)}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-root);line-height:1.55;min-height:100dvh;overflow-x:hidden}.app-container{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100dvh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 40% at 20% 10%,hsla(35 90% 55% / .06) 0%,transparent 70%),radial-gradient(ellipse 50% 50% at 80% 80%,hsla(12 85% 55% / .04) 0%,transparent 60%);pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9998;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px}::selection{background:#f49d2547;color:var(--text-primary)}a{color:var(--accent);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--accent-hover)}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit;color:inherit}img,canvas{display:block;max-width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#ffffff38}button{touch-action:manipulation}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-md);transition:background var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),filter var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out);white-space:nowrap}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--accent-gradient);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-md),var(--shadow-glow);filter:brightness(1.12)}.btn-primary:active:not(:disabled){filter:brightness(.92);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-medium)}.btn-danger{background:var(--error-bg);color:var(--error);border:1px solid hsla(0 72% 58% / .2)}.btn-danger:hover:not(:disabled){background:#e1474733;border-color:#e1474759}.drop-zone.svelte-1b5cnjl{position:relative;overflow:hidden;display:flex;border:2px dashed var(--border-medium);border-radius:var(--radius-lg);padding:var(--space-lg);cursor:pointer;background:transparent;transition:border-color var(--duration-normal) var(--ease-out),background var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out),padding var(--duration-normal) var(--ease-out)}.drop-zone.svelte-1b5cnjl:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--dither-dots) 0 0 / var(--dither-size);opacity:.04;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-out)}.drop-zone.svelte-1b5cnjl:hover,.drop-zone.dragover.svelte-1b5cnjl{border-color:var(--accent);background:var(--bg-drop);box-shadow:inset 0 0 40px #f49d250d}.drop-zone.svelte-1b5cnjl:hover:before,.drop-zone.dragover.svelte-1b5cnjl:before{opacity:.08}.drop-zone.dragover.svelte-1b5cnjl{transform:scale(1.01)}.drop-zone-empty.svelte-1b5cnjl{position:relative;display:flex;align-items:center;gap:var(--space-lg);width:100%}.drop-zone-copy.svelte-1b5cnjl{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.drop-zone-text.svelte-1b5cnjl{font-size:var(--font-size-md);color:var(--text-secondary)}.drop-zone-text.svelte-1b5cnjl strong:where(.svelte-1b5cnjl){color:var(--text-primary)}.drop-zone.svelte-1b5cnjl:hover .drop-zone-text:where(.svelte-1b5cnjl) strong:where(.svelte-1b5cnjl),.drop-zone.dragover.svelte-1b5cnjl .drop-zone-text:where(.svelte-1b5cnjl) strong:where(.svelte-1b5cnjl){color:var(--accent)}.palette-legend.svelte-1b5cnjl{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--text-muted)}.palette-legend-dots.svelte-1b5cnjl{display:inline-flex;gap:3px;flex-shrink:0}.palette-legend-dots.svelte-1b5cnjl i:where(.svelte-1b5cnjl){width:.5rem;height:.5rem;border-radius:var(--radius-full);box-shadow:inset 0 0 0 1px #ffffff24}.drop-zone-hint.svelte-1b5cnjl{font-size:var(--font-size-xs);color:var(--text-muted)}.drop-zone-blank-btn.svelte-1b5cnjl{align-self:flex-start;margin-top:var(--space-xs)}.eink-frame.svelte-1b5cnjl{flex-shrink:0;display:flex;flex-direction:column;align-items:center;width:clamp(86px,22vw,118px)}.eink-frame-panel.svelte-1b5cnjl{width:100%;aspect-ratio:4 / 3;padding:4px;border-radius:7px;background:linear-gradient(160deg,#e4e4e7,#b9b9c0);box-shadow:0 8px 18px #00000080,inset 0 1px #ffffffb3}.eink-frame-grain.svelte-1b5cnjl{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:2px;background:var(--dither-dots) 0 0 / 5px 5px,linear-gradient(135deg,#141414,#e23b2e 36%,#f5c518,#f4f3ee);box-shadow:inset 0 0 0 1px #0000004d}.eink-frame-grain.svelte-1b5cnjl:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 42%,hsla(0 0% 100% / .22) 50%,transparent 58%);transform:translate(-130%);animation:svelte-1b5cnjl-eink-sheen 6s var(--ease-out) infinite}@keyframes svelte-1b5cnjl-eink-sheen{0%,16%{transform:translate(-130%)}46%,to{transform:translate(130%)}}.eink-frame-stand.svelte-1b5cnjl{width:36%;height:5px;margin-top:5px;border-radius:0 0 3px 3px;background:linear-gradient(#a5a5ac,#5c5c66);box-shadow:0 3px 7px #00000073}.drop-zone-compact.svelte-1b5cnjl{display:none;align-items:center;gap:var(--space-sm);width:100%;font-size:var(--font-size-sm);color:var(--text-secondary)}.drop-zone-compact.svelte-1b5cnjl strong:where(.svelte-1b5cnjl){color:var(--text-primary)}.drop-zone.svelte-1b5cnjl:hover .drop-zone-compact:where(.svelte-1b5cnjl) strong:where(.svelte-1b5cnjl),.drop-zone.dragover.svelte-1b5cnjl .drop-zone-compact:where(.svelte-1b5cnjl) strong:where(.svelte-1b5cnjl){color:var(--accent)}.drop-zone-icon.svelte-1b5cnjl{width:28px;height:28px;flex-shrink:0;color:var(--text-muted);transition:color var(--duration-normal) var(--ease-out)}.drop-zone.svelte-1b5cnjl:hover .drop-zone-icon:where(.svelte-1b5cnjl),.drop-zone.dragover.svelte-1b5cnjl .drop-zone-icon:where(.svelte-1b5cnjl){color:var(--accent)}.drop-zone.has-image.svelte-1b5cnjl{border-style:solid;border-color:var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-md)}.drop-zone.has-image.svelte-1b5cnjl:before{opacity:0}.drop-zone.has-image.svelte-1b5cnjl .drop-zone-empty:where(.svelte-1b5cnjl){display:none}.drop-zone.has-image.svelte-1b5cnjl .drop-zone-compact:where(.svelte-1b5cnjl){display:flex}@media(max-width:600px){.drop-zone-empty.svelte-1b5cnjl{flex-direction:column;text-align:center;gap:var(--space-md)}.drop-zone-copy.svelte-1b5cnjl{align-items:center}.palette-legend.svelte-1b5cnjl{justify-content:center}.eink-frame.svelte-1b5cnjl{width:clamp(96px,38vw,132px)}}.photo-tray.svelte-1184my4{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm) 0;border-top:1px solid var(--border-subtle);margin-top:var(--space-sm)}.photo-tray-header.svelte-1184my4{display:flex;align-items:center;gap:var(--space-sm)}.photo-tray-label.svelte-1184my4{font-size:var(--font-size-xs);font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.photo-tray-count.svelte-1184my4{font-size:var(--font-size-xs);color:var(--text-muted);flex:1}.tray-clear-btn.svelte-1184my4{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;background:transparent;border:1px solid var(--error-bg);border-radius:var(--radius-md);color:var(--error);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);flex-shrink:0;white-space:nowrap}.tray-clear-btn.svelte-1184my4 svg:where(.svelte-1184my4){width:13px;height:13px;flex-shrink:0;opacity:.85}.tray-clear-btn.svelte-1184my4:hover{background:var(--error-bg);border-color:#e147478c;box-shadow:0 0 0 1px #e1474740,0 0 14px #e147472e}.tray-clear-btn.svelte-1184my4:hover svg:where(.svelte-1184my4){opacity:1}.photo-tray-viewport.svelte-1184my4{position:relative;min-width:0}.photo-tray-scroll.svelte-1184my4{display:flex;gap:var(--space-sm);overflow-x:auto;min-width:0;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent}.tray-nav.svelte-1184my4{position:absolute;top:calc(50% - 2px);transform:translateY(-50%);z-index:2;width:30px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border-medium);border-radius:var(--radius-full);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-md);color:var(--text-primary);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .18s var(--ease-out),background .15s}.tray-nav.visible.svelte-1184my4{opacity:1;pointer-events:auto}.tray-nav.svelte-1184my4:hover{background:var(--bg-card-hover)}.tray-nav.svelte-1184my4 svg:where(.svelte-1184my4){width:18px;height:18px}.tray-nav-left.svelte-1184my4{left:4px}.tray-nav-right.svelte-1184my4{right:4px}.photo-card.svelte-1184my4{flex-shrink:0;width:6.75rem;border-radius:var(--radius-md);border:2px solid var(--border-subtle);background:var(--bg-surface);cursor:pointer;overflow:hidden;position:relative;transition:border-color .15s}.photo-card.svelte-1184my4:hover{border-color:var(--border-medium)}.photo-card.active.svelte-1184my4{border-color:var(--accent)}.photo-card-thumb.svelte-1184my4{width:100%;display:block;aspect-ratio:4 / 3;background:var(--bg-input)}.photo-card-name.svelte-1184my4{display:block;font-size:.68rem;color:var(--text-secondary);padding:3px 6px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-card-remove.svelte-1184my4{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:50%;background:#000000a6;color:#fff;border:none;cursor:pointer;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s}.photo-card.svelte-1184my4:hover .photo-card-remove:where(.svelte-1184my4){opacity:1}.photo-card-remove.svelte-1184my4:hover{background:var(--error)}.text-format-bar.svelte-1gocexh{display:none}.text-format-bar.svelte-1gocexh.mounted{display:flex;order:-1;align-self:flex-start;align-items:center;flex-shrink:0;overflow:hidden;width:0;transition:width .28s cubic-bezier(.33,1,.68,1)}.text-format-bar.svelte-1gocexh.mounted.open{width:var(--tf-w, auto)}.text-format-bar.svelte-1gocexh.mounted:not(.open){pointer-events:none}.tf-inner.svelte-1gocexh{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-xs);padding-right:10px;border-right:1px solid var(--border-medium);opacity:0;transform:translate(-6px);transition:opacity .16s ease,transform .16s ease}.text-format-bar.svelte-1gocexh.mounted.open .tf-inner:where(.svelte-1gocexh){opacity:1;transform:none;transition:opacity .2s ease .06s,transform .2s ease .06s}@media(prefers-reduced-motion:reduce){.text-format-bar.svelte-1gocexh.mounted,.tf-inner.svelte-1gocexh{transition:none}}.tf-text-controls.svelte-1gocexh,.tf-icon-controls.svelte-1gocexh{display:contents}.tf-wheel.svelte-1gocexh{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;line-height:1.1;height:2.125rem;padding:0 .45rem;background:var(--bg-card);border:1px solid var(--border-medium);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.tf-wheel.svelte-1gocexh:hover{background:var(--bg-card-hover);border-color:var(--border-strong, var(--border-medium))}.tf-wheel.svelte-1gocexh:active{background:var(--bg-card-active)}.tf-wheel-line.svelte-1gocexh{display:inline-flex;align-items:center;gap:.3rem}.tf-wheel-cap.svelte-1gocexh{display:block;font-size:.56rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-top:1px}.tf-wheel-val.svelte-1gocexh{font-size:var(--font-size-xs);font-weight:600;text-align:left;min-width:1.9rem}.tf-font-val.svelte-1gocexh{min-width:4rem}.tf-color-val.svelte-1gocexh{min-width:3.1rem}.tf-type-val.svelte-1gocexh{min-width:2.4rem}.tf-swatch.svelte-1gocexh{width:.9rem;height:.9rem;border-radius:3px;border:1px solid rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px #ffffff26;flex-shrink:0}.tf-btn.svelte-1gocexh{display:inline-flex;align-items:center;justify-content:center;width:2.125rem;height:2.125rem;border-radius:var(--radius-sm);background:none;border:none;cursor:pointer;color:var(--text-secondary);transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .12s ease;flex-shrink:0}.tf-btn.svelte-1gocexh svg:where(.svelte-1gocexh){width:1.0625rem;height:1.0625rem}.tf-btn.svelte-1gocexh:hover:not(:disabled){background:var(--bg-card-hover);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-medium)}.tf-btn.svelte-1gocexh:active:not(:disabled){background:var(--bg-card-active);transform:scale(.94);box-shadow:inset 0 0 0 1px var(--border-medium)}.tf-btn.active.svelte-1gocexh{color:var(--accent)}.picture-controls-bar.svelte-1b5lykn{display:flex;margin-top:var(--space-md);overflow-x:auto;scrollbar-width:none}.picture-controls-bar.svelte-1b5lykn::-webkit-scrollbar{display:none}.image-toolbar.svelte-1b5lykn{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:var(--space-xs);margin-inline:auto;flex-shrink:0;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:6px 10px;position:relative;box-shadow:var(--shadow-sm)}.toolbar-group.svelte-1b5lykn{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.toolbar-group-btns.svelte-1b5lykn{display:flex;align-items:center;gap:2px}.toolbar-group-label.svelte-1b5lykn{font-size:.6rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;line-height:1;-webkit-user-select:none;user-select:none}.toolbar-btn.svelte-1b5lykn{display:flex;align-items:center;justify-content:center;width:2.125rem;height:2.125rem;border-radius:var(--radius-sm);background:none;border:none;cursor:pointer;color:var(--text-secondary);transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .12s ease;flex-shrink:0}.toolbar-btn.svelte-1b5lykn svg:where(.svelte-1b5lykn){width:1.0625rem;height:1.0625rem}.toolbar-btn.svelte-1b5lykn:hover:not(:disabled){background:var(--bg-card-hover);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-medium);transform:translateY(-1px)}.toolbar-btn.svelte-1b5lykn:active:not(:disabled){background:var(--bg-card-active);transform:scale(.94);box-shadow:inset 0 0 0 1px var(--border-medium)}.toolbar-btn.svelte-1b5lykn:disabled{opacity:.28;cursor:not-allowed}.toolbar-btn.active.svelte-1b5lykn:not(:disabled){background:#f49d2524;color:var(--accent);box-shadow:inset 0 0 0 1px var(--border-accent)}.toolbar-btn.active.svelte-1b5lykn:hover:not(:disabled){background:#f49d2533;color:var(--accent-hover)}.toolbar-btn.scanning.svelte-1b5lykn{color:var(--accent)}.toolbar-btn.scanning.svelte-1b5lykn svg:where(.svelte-1b5lykn){animation:svelte-1b5lykn-toolbar-spin 1s linear infinite}@keyframes svelte-1b5lykn-toolbar-spin{to{transform:rotate(360deg)}}.toolbar-sep.svelte-1b5lykn{width:1px;align-self:stretch;background:linear-gradient(var(--border-subtle),var(--border-medium) 50%,var(--border-subtle));margin:6px 3px;flex-shrink:0}.zoom-badge.svelte-1b5lykn{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:3.2ch;text-align:center;line-height:1;padding:0 2px}@media(max-width:560px){.picture-controls-bar.svelte-1b5lykn{justify-content:flex-start;-webkit-overflow-scrolling:touch;padding-bottom:2px}.image-toolbar.svelte-1b5lykn{flex-shrink:0}}.preview-canvases.svelte-1x4flvo{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);align-items:start}.preview-panel.svelte-1x4flvo{display:flex;flex-direction:column;gap:var(--space-xs)}.preview-panel-header.svelte-1x4flvo{display:flex;align-items:center;justify-content:space-between}.preview-label.svelte-1x4flvo{font-size:var(--font-size-xs);font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.preview-canvas-wrap.svelte-1x4flvo{position:relative;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-subtle);background:var(--bg-surface);width:100%;aspect-ratio:4 / 3}.preview-canvas-wrap.svelte-1x4flvo canvas:where(.svelte-1x4flvo){width:100%;height:100%;display:block}.canvas-annotations.svelte-1x4flvo{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;touch-action:none}.canvas-annotations.svelte-1x4flvo.active{pointer-events:auto;cursor:grab}.annotation-input.svelte-1x4flvo{position:absolute;margin:0;padding:1px 3px;border:0;background:#ffffff2e;outline:1.5px dashed var(--accent);outline-offset:1px;border-radius:2px;color:#000;caret-color:var(--accent);text-shadow:0 0 2px #fff,0 0 2px #fff;resize:none;overflow:hidden;transform-origin:center;line-height:1.25;white-space:pre;z-index:5}@media(max-width:600px){.preview-canvases.svelte-1x4flvo{grid-template-columns:1fr}}.control-section.svelte-dq2oqk{width:100%;display:flex;flex-direction:column;gap:var(--space-xs)}.control-section-label.svelte-dq2oqk{font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.control-section.svelte-dq2oqk>.control-section-label:where(.svelte-dq2oqk){padding-bottom:6px;border-bottom:1px solid var(--border-subtle)}.control-section-body.svelte-dq2oqk{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:flex-start}.control-section.collapsible.svelte-dq2oqk{gap:0;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.control-section.collapsible.svelte-dq2oqk:hover{border-color:var(--border-medium)}.control-section.collapsible.svelte-dq2oqk:not(.collapsed){border-color:#f5a83d73;box-shadow:var(--shadow-sm),0 0 0 1px #f5a83d1f}.control-section-header.svelte-dq2oqk{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);margin:0;background:none;border:none;color:inherit;font-family:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.control-section-header.svelte-dq2oqk:hover{background:var(--bg-card-hover)}.control-section.collapsible.svelte-dq2oqk .control-section-label:where(.svelte-dq2oqk){font-size:var(--font-size-sm);letter-spacing:.12em;color:var(--text-secondary);transition:color var(--duration-fast) var(--ease-out)}.control-section-header.svelte-dq2oqk:hover .control-section-label:where(.svelte-dq2oqk),.control-section-header.svelte-dq2oqk:focus-visible .control-section-label:where(.svelte-dq2oqk){color:var(--text-primary)}.control-section.collapsible.svelte-dq2oqk:not(.collapsed) .control-section-label:where(.svelte-dq2oqk){color:var(--accent)}.chevron.svelte-dq2oqk{width:14px;height:14px;flex-shrink:0;color:var(--text-muted);transition:transform var(--duration-normal) cubic-bezier(.4,0,.2,1),color var(--duration-fast) var(--ease-out)}.control-section.collapsed.svelte-dq2oqk .chevron:where(.svelte-dq2oqk){transform:rotate(-90deg)}.control-section.collapsible.svelte-dq2oqk:not(.collapsed) .chevron:where(.svelte-dq2oqk){color:var(--accent)}.collapse.svelte-dq2oqk{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--duration-normal) cubic-bezier(.4,0,.2,1)}.control-section.collapsed.svelte-dq2oqk .collapse:where(.svelte-dq2oqk){grid-template-rows:0fr}.collapse-inner.svelte-dq2oqk{overflow:hidden;min-height:0;opacity:1;transition:opacity var(--duration-normal) var(--ease-out)}.control-section.collapsed.svelte-dq2oqk .collapse-inner:where(.svelte-dq2oqk){opacity:0}.collapse-inner.svelte-dq2oqk>.control-section-body:where(.svelte-dq2oqk){padding:var(--space-md);border-top:1px solid var(--border-subtle)}@media(prefers-reduced-motion:reduce){.collapse.svelte-dq2oqk,.collapse-inner.svelte-dq2oqk,.chevron.svelte-dq2oqk{transition:none}}.color-mode-toggle.svelte-1afuq3l{display:flex;flex-wrap:wrap;max-width:18rem;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:4px;gap:3px}.color-mode-toggle.wide.svelte-1afuq3l{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));gap:4px;max-width:none}.color-mode-btn.svelte-1afuq3l{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:2.4rem;padding:.4rem .6rem;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-sm);font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);text-align:center}.wide.svelte-1afuq3l .color-mode-btn:where(.svelte-1afuq3l){padding:.4rem .3rem;font-size:var(--font-size-xs)}.color-mode-btn.svelte-1afuq3l:hover{color:var(--text-primary)}.color-mode-btn.active.svelte-1afuq3l{background:#f49d2524;color:var(--accent);font-weight:600;box-shadow:0 0 0 1px #f5a83d8c,0 0 14px #f49d252e}.look-group.svelte-1dq7jse{width:100%;display:flex;flex-direction:column;gap:var(--space-xs)}.control-label.svelte-1dq7jse{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.ramp-btns.svelte-1dq7jse{display:grid;grid-template-columns:repeat(auto-fill,minmax(5rem,1fr));gap:6px}.ramp-btn.svelte-1dq7jse{min-height:2.2rem;padding:.4rem .6rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;font-family:inherit;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.ramp-btn.svelte-1dq7jse:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-medium)}.ramp-btn.active.svelte-1dq7jse{background:#f49d2524;color:var(--accent);border-color:#f5a83d8c;font-weight:600;box-shadow:0 0 0 1px #f5a83d59,0 0 14px #f49d252e}.control-group.svelte-1w5oefe{display:flex;flex-direction:column;gap:var(--space-xs);flex:1;min-width:100px}.control-group.is-disabled.svelte-1w5oefe{opacity:.45;pointer-events:none}.control-label-row.svelte-1w5oefe{display:flex;justify-content:space-between}.control-label.svelte-1w5oefe{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.control-value.svelte-1w5oefe{font-size:var(--font-size-sm);color:var(--accent);font-weight:600;text-align:right;min-width:32px;font-variant-numeric:tabular-nums}.control-range.svelte-1w5oefe{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--radius-full);background:linear-gradient(to right,var(--accent) var(--fill-pct, 0%),hsla(240 6% 22% / 1) var(--fill-pct, 0%));cursor:pointer}.control-range.svelte-1w5oefe::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid hsla(0 0% 100% / .15);box-shadow:0 0 8px var(--accent-glow);transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast)}.control-range.svelte-1w5oefe::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 14px var(--accent-glow)}.control-range.svelte-1w5oefe:focus-visible{outline-offset:5px}.effect-group.svelte-i8y3xc{width:100%;display:flex;flex-direction:column;gap:var(--space-xs)}.control-label.svelte-i8y3xc{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.frame-group.svelte-1w9p99x{width:100%;display:flex;flex-direction:column;gap:var(--space-xs)}.control-label.svelte-1w9p99x{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.frame-swatch-row.svelte-1w9p99x{display:flex;align-items:center;gap:.4rem}.frame-swatch.svelte-1w9p99x{flex:0 0 auto;box-sizing:border-box;width:1.75rem;height:1.75rem;aspect-ratio:1;border-radius:var(--radius-sm);border:1px solid var(--border-medium);box-shadow:inset 0 0 0 1px #ffffff26;cursor:pointer;padding:0}.frame-swatch.active.svelte-1w9p99x{outline:2px solid var(--accent);outline-offset:1px}.frame-swatch-mix.svelte-1w9p99x{background-image:linear-gradient(to right,#fff 50%,#ff0 50%),linear-gradient(to right,#000 50%,red 50%);background-size:100% 50%,100% 50%;background-position:top,bottom;background-repeat:no-repeat}.algo-picker.svelte-12hos67{width:100%;max-width:34rem;display:flex;flex-direction:column;gap:var(--space-md)}.algo-group.svelte-12hos67{display:flex;flex-direction:column;gap:var(--space-xs)}.algo-group-label.svelte-12hos67{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.algo-btns.svelte-12hos67{display:grid;grid-template-columns:repeat(auto-fill,minmax(6rem,1fr));gap:6px}.algo-btn.svelte-12hos67{display:flex;align-items:center;justify-content:center;text-align:center;min-height:2.4rem;padding:.4rem .7rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;font-family:inherit;cursor:pointer;line-height:1.2;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.algo-btn.svelte-12hos67:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-medium)}.algo-btn.active.svelte-12hos67{background:#f49d2524;color:var(--accent);border-color:#f5a83d8c;font-weight:600;box-shadow:0 0 0 1px #f5a83d59,0 0 14px #f49d252e}.toast-container.svelte-1qvompp{position:fixed;bottom:var(--space-lg);left:var(--space-lg);z-index:1000;display:flex;flex-direction:column-reverse;gap:var(--space-sm);pointer-events:none}.toast.svelte-1qvompp{pointer-events:auto;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-elevated);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--font-size-sm);box-shadow:var(--shadow-lg);animation:svelte-1qvompp-toast-in var(--duration-slow) var(--ease-spring);max-width:360px}.toast.toast-out.svelte-1qvompp{animation:svelte-1qvompp-toast-out var(--duration-normal) var(--ease-out) forwards}.toast-icon.svelte-1qvompp{width:18px;height:18px;flex-shrink:0}.toast.success.svelte-1qvompp{border-color:#31c47f4d}.toast.success.svelte-1qvompp .toast-icon:where(.svelte-1qvompp){color:var(--success)}.toast.error.svelte-1qvompp{border-color:#e147474d}.toast.error.svelte-1qvompp .toast-icon:where(.svelte-1qvompp){color:var(--error)}.toast.info.svelte-1qvompp .toast-icon:where(.svelte-1qvompp){color:var(--accent)}@keyframes svelte-1qvompp-toast-in{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes svelte-1qvompp-toast-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.95)}}@media(max-width:600px){.toast-container.svelte-1qvompp{left:var(--space-md);right:var(--space-md);bottom:var(--space-md)}.toast.svelte-1qvompp{max-width:100%}}.icon-color-popover.svelte-131dg6p{position:fixed;z-index:50;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:0 6px 20px #00000059;padding:8px;display:flex;flex-direction:column;gap:8px;opacity:.8}.icc-area-wrap.svelte-131dg6p{position:relative;line-height:0}.icc-area.svelte-131dg6p{display:block;border-radius:var(--radius-sm);cursor:crosshair;touch-action:none}.icc-marker.svelte-131dg6p{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1.5px #0009;pointer-events:none}.icc-presets.svelte-131dg6p{display:flex;gap:6px}.icc-preset.svelte-131dg6p{flex:1;height:1.4rem;border:1px solid var(--border-medium);border-radius:var(--radius-sm);cursor:pointer;padding:0}.icon-popover.svelte-1al0m1k{position:fixed;z-index:50;background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:0 6px 20px #00000059;padding:8px;width:17rem}.icon-picker.svelte-1al0m1k{display:flex;flex-direction:column;gap:8px}.ip-tabs.svelte-1al0m1k{display:flex;gap:4px}.ip-tab.svelte-1al0m1k{flex:1;padding:5px 8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--font-size-xs);font-weight:600;cursor:pointer}.ip-tab.is-active.svelte-1al0m1k{background:#f49d2524;color:var(--accent)}.ip-search.svelte-1al0m1k{width:100%;padding:6px 9px;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);font:inherit;font-size:var(--font-size-xs)}.ip-grid.svelte-1al0m1k{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;max-height:13rem;overflow-y:auto;padding:2px}.ip-cell.svelte-1al0m1k{display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);cursor:pointer}.ip-cell.svelte-1al0m1k:hover{background:#f49d2529}.ip-cell.svelte-1al0m1k svg{width:22px;height:22px}.ip-empty.svelte-1al0m1k{grid-column:1 / -1;text-align:center;color:var(--text-secondary);font-size:var(--font-size-xs);padding:1rem 0}.battery-badge.svelte-1rdxkdt{display:none;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:500}.battery-badge.visible.svelte-1rdxkdt{display:flex}.battery-icon.svelte-1rdxkdt{width:18px;height:10px;border:1.5px solid currentColor;border-radius:2px;position:relative}.battery-icon.svelte-1rdxkdt:after{content:"";position:absolute;right:-4px;top:50%;transform:translateY(-50%);width:2px;height:5px;background:currentColor;border-radius:0 1px 1px 0}.battery-fill.svelte-1rdxkdt{height:100%;background:var(--success);border-radius:1px;transition:width var(--duration-normal) var(--ease-out)}.battery-badge.low.svelte-1rdxkdt .battery-fill:where(.svelte-1rdxkdt){background:var(--error)}.battery-badge.mid.svelte-1rdxkdt .battery-fill:where(.svelte-1rdxkdt){background:var(--warning)}.connect-tip.svelte-1rdxkdt{position:relative;display:inline-flex}.connect-tip.svelte-1rdxkdt:after{content:attr(data-bubble);position:absolute;top:calc(100% + 11px);right:0;z-index:200;width:max-content;max-width:min(24rem,84vw);white-space:normal;text-align:left;padding:var(--space-sm) var(--space-md);background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-size-md);font-weight:400;line-height:1.5;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),visibility var(--duration-fast) var(--ease-out);pointer-events:none}.connect-tip.svelte-1rdxkdt:before{content:"";position:absolute;top:calc(100% + 6px);right:20px;z-index:201;width:11px;height:11px;background:var(--bg-elevated);border-left:1px solid var(--border-medium);border-top:1px solid var(--border-medium);transform:rotate(45deg);opacity:0;visibility:hidden;transition:opacity var(--duration-fast) var(--ease-out),visibility var(--duration-fast) var(--ease-out);pointer-events:none}.connect-tip.svelte-1rdxkdt:hover:after,.connect-tip.svelte-1rdxkdt:focus-within:after{opacity:1;visibility:visible;transform:translateY(0)}.connect-tip.svelte-1rdxkdt:hover:before,.connect-tip.svelte-1rdxkdt:focus-within:before{opacity:1;visibility:visible}.connect-tip.svelte-1rdxkdt:has(.btn-connect.connected:where(.svelte-1rdxkdt)):after,.connect-tip.svelte-1rdxkdt:has(.btn-connect.connected:where(.svelte-1rdxkdt)):before{content:none}.btn-connect.svelte-1rdxkdt{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--accent-gradient);color:var(--text-inverse);font-weight:600;font-size:var(--font-size-sm);border-radius:var(--radius-full);transition:all var(--duration-normal) var(--ease-out);box-shadow:var(--shadow-sm),0 0 0 0 var(--accent-glow);position:relative;overflow:hidden;border:none;cursor:pointer}.btn-connect.svelte-1rdxkdt:disabled{opacity:.5;cursor:not-allowed}.btn-connect.svelte-1rdxkdt:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff0;transition:background var(--duration-fast)}.btn-connect.svelte-1rdxkdt:hover:before{background:#ffffff1f}.btn-connect.svelte-1rdxkdt:hover{box-shadow:var(--shadow-md),var(--shadow-glow);filter:brightness(1.12)}.btn-connect.svelte-1rdxkdt:active{filter:brightness(.9);box-shadow:var(--shadow-sm)}.btn-connect.connected.svelte-1rdxkdt{background:var(--success-bg);color:var(--success);border:1px solid hsla(152 60% 48% / .3)}.btn-connect.svelte-1rdxkdt .dot:where(.svelte-1rdxkdt){width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.btn-connect.connected.svelte-1rdxkdt .dot:where(.svelte-1rdxkdt){animation:svelte-1rdxkdt-pulse-dot 2s ease-in-out infinite}@keyframes svelte-1rdxkdt-pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.btn-connect.svelte-1rdxkdt .ble-icon:where(.svelte-1rdxkdt){width:16px;height:16px}@media(max-width:420px){.btn-connect.svelte-1rdxkdt{padding:var(--space-sm);font-size:var(--font-size-xs)}.connect-label.svelte-1rdxkdt{display:none}.btn-connect.connected.svelte-1rdxkdt .connect-label:where(.svelte-1rdxkdt){display:inline}}dialog.svelte-1kwbck4{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);color:var(--text-primary);padding:var(--space-xl);max-width:400px;width:calc(100% - 48px);box-shadow:var(--shadow-lg)}dialog.svelte-1kwbck4::backdrop{background:#000000a6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}dialog[open].svelte-1kwbck4{animation:svelte-1kwbck4-dialog-in var(--duration-normal) var(--ease-out) both}@keyframes svelte-1kwbck4-dialog-in{0%{opacity:0;scale:.96}to{opacity:1;scale:1}}.dialog-icon.svelte-1kwbck4{width:52px;height:52px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-md)}.dialog-icon.danger.svelte-1kwbck4{background:var(--error-bg);color:var(--error);border:1px solid hsla(0 72% 58% / .2)}.dialog-icon.warning.svelte-1kwbck4{background:var(--warning-bg);color:var(--warning);border:1px solid hsla(40 92% 56% / .2)}dialog.svelte-1kwbck4 h2:where(.svelte-1kwbck4){font-family:var(--font-display);font-size:var(--font-size-md);font-weight:600;margin-bottom:var(--space-sm);text-align:center}.dialog-message.svelte-1kwbck4{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.6;text-align:center;margin-bottom:var(--space-xl)}.upload-confirm-list.svelte-1kwbck4{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto;margin-bottom:var(--space-sm);text-align:left;scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent}.upload-confirm-row.svelte-1kwbck4{display:flex;align-items:center;gap:7px;padding:5px 6px;border-radius:var(--radius-sm);background:var(--bg-input);font-size:var(--font-size-xs)}.upload-confirm-row.conflict.svelte-1kwbck4{background:var(--warning-bg)}.upload-confirm-icon.svelte-1kwbck4{width:14px;height:14px;flex-shrink:0;color:var(--text-muted)}.upload-confirm-row.conflict.svelte-1kwbck4 .upload-confirm-icon:where(.svelte-1kwbck4){color:var(--warning)}.upload-confirm-name.svelte-1kwbck4{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.upload-confirm-slot.svelte-1kwbck4{white-space:nowrap;color:var(--text-muted);font-variant-numeric:tabular-nums}.upload-confirm-slot.warn.svelte-1kwbck4{color:var(--warning)}.upload-confirm-note.svelte-1kwbck4{font-size:var(--font-size-xs);color:var(--warning);text-align:left;margin:0;padding:var(--space-xs) 6px 0}.dialog-actions.svelte-1kwbck4{display:flex;gap:var(--space-sm)}.dialog-actions.svelte-1kwbck4 .btn{flex:1;justify-content:center}.custom-select.svelte-1b46cph{position:relative;width:150px;flex-shrink:0}.custom-select-trigger.svelte-1b46cph{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);width:100%;padding:var(--space-xs) var(--space-sm);background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--duration-fast)}.custom-select-trigger.svelte-1b46cph:hover:not(:disabled),.custom-select.open.svelte-1b46cph .custom-select-trigger:where(.svelte-1b46cph){border-color:var(--border-accent)}.custom-select-trigger.svelte-1b46cph:disabled{opacity:.4;cursor:not-allowed}.custom-select-value.svelte-1b46cph{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-caret.svelte-1b46cph{width:14px;height:14px;color:var(--text-muted);flex-shrink:0;transition:transform var(--duration-fast)}.custom-select.open.svelte-1b46cph .custom-select-caret:where(.svelte-1b46cph){transform:rotate(180deg)}.custom-select-menu.svelte-1b46cph{position:absolute;bottom:calc(100% + 4px);right:0;z-index:30;min-width:100%;max-height:220px;overflow-y:auto;overscroll-behavior:contain;padding:4px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.custom-select-menu[hidden].svelte-1b46cph{display:none}.custom-select-menu.svelte-1b46cph::-webkit-scrollbar{width:8px}.custom-select-menu.svelte-1b46cph::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px;border:2px solid transparent;background-clip:content-box}.custom-select-option.svelte-1b46cph{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:6px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast)}.custom-select-option.svelte-1b46cph:hover{background:var(--bg-input)}.custom-select-option.selected.svelte-1b46cph{color:var(--accent);font-weight:600}.cso-check.svelte-1b46cph{width:14px;height:14px;flex-shrink:0;opacity:0}.custom-select-option.selected.svelte-1b46cph .cso-check:where(.svelte-1b46cph){opacity:1}.device-subsection.svelte-15kbu1p{display:flex;flex-direction:column;gap:var(--space-sm)}.device-subsection-title.svelte-15kbu1p{font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding-bottom:6px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:var(--space-sm)}.device-setting-row.svelte-15kbu1p{display:flex;align-items:center;gap:var(--space-sm);min-height:30px}.custom-refresh-row.svelte-15kbu1p{flex-wrap:wrap;row-gap:var(--space-xs)}.device-setting-label.svelte-15kbu1p{display:inline-flex;align-items:center;gap:4px;width:7rem;white-space:nowrap;font-size:var(--font-size-sm);color:var(--text-secondary);flex-shrink:0}.device-help.svelte-15kbu1p{display:inline-flex;align-items:center;justify-content:center;padding:0;background:none;border:none;color:var(--text-muted);cursor:help;transition:color var(--duration-fast)}.device-help.svelte-15kbu1p:hover{color:var(--text-secondary)}.device-help.svelte-15kbu1p svg:where(.svelte-15kbu1p){width:14px;height:14px}.device-name-edit.svelte-15kbu1p{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1 1 auto;min-width:0}.device-name-field.svelte-15kbu1p{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-xs);width:100%;min-width:0}.device-name-counter.svelte-15kbu1p{align-self:flex-start;font-size:10px;color:var(--text-secondary);font-variant-numeric:tabular-nums;opacity:.7}.device-name-counter.is-max.svelte-15kbu1p{color:var(--accent);opacity:1}.device-text-input.svelte-15kbu1p{flex:1 1 auto;max-width:150px;min-width:0;padding:4px var(--space-sm);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);transition:border-color var(--duration-fast)}.device-text-input.svelte-15kbu1p:focus{border-color:var(--border-accent);outline:none;box-shadow:0 0 0 3px var(--accent-glow)}.device-text-input.svelte-15kbu1p:disabled{opacity:.4;cursor:not-allowed}.device-save-btn.svelte-15kbu1p{padding:4px var(--space-sm);font-size:var(--font-size-xs);font-weight:600;height:26px;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:4px}.device-save-btn.btn-primary.svelte-15kbu1p:hover:not(:disabled){box-shadow:var(--shadow-sm)}.toggle-switch.svelte-15kbu1p{display:inline-flex;align-items:center;gap:var(--space-xs);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch.svelte-15kbu1p input[type=checkbox]:where(.svelte-15kbu1p){position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.toggle-track.svelte-15kbu1p{position:relative;width:36px;height:20px;background:var(--bg-input);border:1.5px solid var(--border-medium);border-radius:var(--radius-full);transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);flex-shrink:0}.toggle-switch.svelte-15kbu1p input:where(.svelte-15kbu1p):checked+.toggle-track:where(.svelte-15kbu1p){background:#31c47f24;border-color:#31c47f80}.toggle-thumb.svelte-15kbu1p{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--text-muted);transition:transform var(--duration-normal) var(--ease-spring),background var(--duration-fast) var(--ease-out)}.toggle-switch.svelte-15kbu1p input:where(.svelte-15kbu1p):checked+.toggle-track:where(.svelte-15kbu1p) .toggle-thumb:where(.svelte-15kbu1p){transform:translate(16px);background:var(--success)}.toggle-switch.svelte-15kbu1p input:where(.svelte-15kbu1p):disabled+.toggle-track:where(.svelte-15kbu1p){opacity:.4;cursor:not-allowed;pointer-events:none}.toggle-switch.svelte-15kbu1p input:where(.svelte-15kbu1p):focus-visible+.toggle-track:where(.svelte-15kbu1p){outline:2px solid var(--accent);outline-offset:2px}.toggle-label.svelte-15kbu1p{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);min-width:22px;transition:color var(--duration-fast);font-variant-numeric:tabular-nums}.toggle-switch.svelte-15kbu1p input:where(.svelte-15kbu1p):checked~.toggle-label:where(.svelte-15kbu1p){color:var(--success)}.hms-inputs.svelte-15kbu1p{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;gap:var(--space-sm)}.hms-field.svelte-15kbu1p{display:flex;align-items:center;gap:3px}.hms-input.svelte-15kbu1p{width:42px;padding:4px 0;text-align:center;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:600;font-variant-numeric:tabular-nums;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;transition:border-color var(--duration-fast)}.hms-input.svelte-15kbu1p::-webkit-outer-spin-button,.hms-input.svelte-15kbu1p::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.hms-input.svelte-15kbu1p:focus{border-color:var(--border-accent);outline:none;box-shadow:0 0 0 3px var(--accent-glow)}.hms-input.svelte-15kbu1p:disabled{opacity:.4;cursor:not-allowed}.hms-label.svelte-15kbu1p{font-size:var(--font-size-xs);color:var(--text-muted);flex-shrink:0;-webkit-user-select:none;user-select:none}.device-subsection.svelte-c5zha9{display:flex;flex-direction:column;gap:var(--space-sm)}.device-subsection-title.svelte-c5zha9{font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding-bottom:6px;border-bottom:1px solid var(--border-subtle)}.wifi-note.svelte-c5zha9{font-size:var(--font-size-xs);color:var(--text-secondary);margin:0}.wifi-note-muted.svelte-c5zha9{color:var(--text-muted)}.wifi-scan-btn.svelte-c5zha9{align-self:flex-start;padding:4px var(--space-sm);font-size:var(--font-size-xs)}.wifi-list.svelte-c5zha9{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.wifi-row.svelte-c5zha9{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:6px var(--space-sm);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer}.wifi-row.is-selected.svelte-c5zha9{border-color:var(--border-accent)}.wifi-ssid.svelte-c5zha9{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wifi-meta.svelte-c5zha9{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.wifi-bars.svelte-c5zha9{display:inline-flex;align-items:flex-end;gap:1px;height:12px}.wifi-bars.svelte-c5zha9 i:where(.svelte-c5zha9){width:3px;background:var(--border-medium);border-radius:1px}.wifi-bars.svelte-c5zha9 i:where(.svelte-c5zha9):nth-child(1){height:25%}.wifi-bars.svelte-c5zha9 i:where(.svelte-c5zha9):nth-child(2){height:50%}.wifi-bars.svelte-c5zha9 i:where(.svelte-c5zha9):nth-child(3){height:75%}.wifi-bars.svelte-c5zha9 i:where(.svelte-c5zha9):nth-child(4){height:100%}.wifi-bars[data-bars="1"].svelte-c5zha9 i:where(.svelte-c5zha9):nth-child(-n+1),.wifi-bars[data-bars="2"].svelte-c5zha9 i:where(.svelte-c5zha9):nth-child(-n+2),.wifi-bars[data-bars="3"].svelte-c5zha9 i:where(.svelte-c5zha9):nth-child(-n+3),.wifi-bars[data-bars="4"].svelte-c5zha9 i:where(.svelte-c5zha9):nth-child(-n+4){background:var(--accent)}.wifi-connect-row.svelte-c5zha9{display:flex;align-items:center;gap:var(--space-xs);padding:6px var(--space-sm) 2px;flex-wrap:wrap}.wifi-pass-field.svelte-c5zha9{display:flex;align-items:center;gap:4px;flex:1 1 auto;min-width:0}.wifi-pass-field.svelte-c5zha9 .device-text-input:where(.svelte-c5zha9){flex:1 1 auto;max-width:none;min-width:0;padding:4px var(--space-sm);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm)}.wifi-eye.svelte-c5zha9{background:none;border:none;color:var(--text-muted);font-size:var(--font-size-xs);cursor:pointer}.device-save-btn.svelte-c5zha9{padding:4px var(--space-sm);font-size:var(--font-size-xs);font-weight:600;flex-shrink:0}.wifi-soon.svelte-c5zha9{font-size:var(--font-size-xs);color:var(--text-muted);font-style:italic}.wifi-status.svelte-c5zha9{font-size:var(--font-size-xs);margin:0;color:var(--text-secondary)}.wifi-status[data-state=connected].svelte-c5zha9{color:var(--success)}.wifi-status[data-state=failed].svelte-c5zha9{color:var(--accent)}.card.svelte-1yanzuc{position:relative;min-width:0;background:var(--bg-card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg);transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.card.svelte-1yanzuc:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(90deg,transparent,hsla(0 0% 100% / .12) 18%,hsla(0 0% 100% / .12) 82%,transparent);pointer-events:none}.card.svelte-1yanzuc:hover{border-color:var(--border-medium)}.card-header.svelte-1yanzuc{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);transition:margin-bottom var(--duration-normal) var(--ease-out)}.btn-icon.svelte-1yanzuc{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer}.btn-icon.svelte-1yanzuc:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-icon.svelte-1yanzuc svg:where(.svelte-1yanzuc){width:16px;height:16px}.btn-collapse.svelte-1yanzuc svg:where(.svelte-1yanzuc){transition:transform var(--duration-normal) var(--ease-out)}.section-device.collapsed.svelte-1yanzuc .card-header:where(.svelte-1yanzuc){margin-bottom:0}.section-device.collapsed.svelte-1yanzuc .btn-collapse:where(.svelte-1yanzuc) svg:where(.svelte-1yanzuc){transform:rotate(180deg)}.card-body.svelte-1yanzuc{overflow:hidden;height:auto;opacity:1;transition:height var(--duration-slow) var(--ease-out),opacity var(--duration-normal) var(--ease-out)}.section-device.collapsed.svelte-1yanzuc .card-body:where(.svelte-1yanzuc){height:0;opacity:0}.card-title.svelte-1yanzuc{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-display);font-size:var(--font-size-md);font-weight:600;color:var(--text-primary)}.card-title.svelte-1yanzuc svg:where(.svelte-1yanzuc){width:18px;height:18px;color:var(--accent)}.device-disconnected.svelte-1yanzuc{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg);color:var(--text-muted);text-align:center}.device-disconnected.svelte-1yanzuc svg:where(.svelte-1yanzuc){width:32px;height:32px;opacity:.4}.device-connected.svelte-1yanzuc{display:flex;flex-direction:column;gap:var(--space-md)}.device-stats-grid.svelte-1yanzuc{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.info-item.svelte-1yanzuc{padding:var(--space-sm);background:var(--bg-input);border-radius:var(--radius-sm)}.info-item-wide.svelte-1yanzuc{grid-column:1 / -1}.info-label.svelte-1yanzuc{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.info-value.svelte-1yanzuc{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.info-value-serial.svelte-1yanzuc{font-size:var(--font-size-xs);font-family:ui-monospace,SF Mono,Menlo,Cascadia Code,monospace;letter-spacing:.03em}.slot-card.svelte-ayrwwe{aspect-ratio:4 / 3;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-input);overflow:hidden;cursor:pointer;position:relative;transition:all var(--duration-normal) var(--ease-out);display:flex;align-items:center;justify-content:center;animation:svelte-ayrwwe-slot-reveal .4s var(--ease-out) both;animation-delay:calc(var(--i, 0) * .03s)}@keyframes svelte-ayrwwe-slot-reveal{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}.slot-canvas.pop.svelte-ayrwwe{animation:svelte-ayrwwe-slot-pop .5s var(--ease-spring)}@keyframes svelte-ayrwwe-slot-pop{0%{opacity:.35;transform:scale(.86)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.slot-card.svelte-ayrwwe,.slot-canvas.pop.svelte-ayrwwe{animation:none}}.slot-card.svelte-ayrwwe:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md),0 0 0 1px #ffffff0f}.slot-card.occupied.svelte-ayrwwe{border-color:var(--border-accent)}.slot-card.occupied.svelte-ayrwwe:after{content:"";position:absolute;bottom:4px;left:4px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.slot-canvas.svelte-ayrwwe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.slot-number.svelte-ayrwwe{position:absolute;top:4px;left:4px;padding:2px 6px;border-radius:var(--radius-sm);background:#0009;font-size:10px;color:#ffffffe6;font-weight:600;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px rgba(0,0,0,.6);pointer-events:none;z-index:2}.slot-delete-btn.svelte-ayrwwe{position:absolute;top:4px;right:4px;width:32px;height:32px;border-radius:var(--radius-sm);background:#0009;color:#ffffffd9;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;padding:0;opacity:0;transition:opacity var(--duration-fast),background var(--duration-fast);z-index:2}.slot-card.svelte-ayrwwe:hover .slot-delete-btn:where(.svelte-ayrwwe){opacity:1}.slot-delete-btn.svelte-ayrwwe:hover{background:var(--error);color:#fff}.slot-primary-btn.svelte-ayrwwe{position:absolute;bottom:4px;right:4px;width:32px;height:32px;border-radius:var(--radius-sm);background:#0009;color:#ffffffd9;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;padding:0;opacity:0;transition:opacity var(--duration-fast),background var(--duration-fast),color var(--duration-fast);z-index:2}.slot-card.svelte-ayrwwe:hover .slot-primary-btn:where(.svelte-ayrwwe),.slot-card.svelte-ayrwwe:focus-within .slot-primary-btn:where(.svelte-ayrwwe){opacity:1}.slot-primary-btn.svelte-ayrwwe:hover{background:var(--accent);color:#fff}.slot-card.is-primary.svelte-ayrwwe .slot-primary-btn:where(.svelte-ayrwwe){opacity:1;color:var(--accent)}.slot-card.is-primary.svelte-ayrwwe .slot-primary-btn:where(.svelte-ayrwwe) svg:where(.svelte-ayrwwe){fill:currentColor}.slot-card.is-primary.svelte-ayrwwe{outline:2px solid var(--accent);outline-offset:-2px}@media(hover:none){.slot-delete-btn.svelte-ayrwwe,.slot-primary-btn.svelte-ayrwwe{opacity:.75}}.slot-check.svelte-ayrwwe{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:6px;border:2px solid rgba(255,255,255,.9);background:#00000073;display:none;align-items:center;justify-content:center;pointer-events:none;z-index:3}.slot-check.svelte-ayrwwe svg:where(.svelte-ayrwwe){width:14px;height:14px;color:#fff;display:none}.slot-card.selecting.svelte-ayrwwe{cursor:pointer}.slot-card.selecting.svelte-ayrwwe .slot-check:where(.svelte-ayrwwe){display:flex}.slot-card.selecting.svelte-ayrwwe .slot-delete-btn:where(.svelte-ayrwwe),.slot-card.selecting.svelte-ayrwwe .slot-primary-btn:where(.svelte-ayrwwe){display:none!important}.slot-card.selected.svelte-ayrwwe{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow);outline:2px solid var(--accent);outline-offset:-2px}.slot-card.selected.svelte-ayrwwe .slot-check:where(.svelte-ayrwwe){background:var(--accent);border-color:var(--accent)}.slot-card.selected.svelte-ayrwwe .slot-check:where(.svelte-ayrwwe) svg:where(.svelte-ayrwwe){display:block}.slot-spinner.svelte-ayrwwe{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:#00000059;pointer-events:none}.slot-card.loading.svelte-ayrwwe .slot-spinner:where(.svelte-ayrwwe),.slot-card.updating.svelte-ayrwwe .slot-spinner:where(.svelte-ayrwwe){display:flex}.slot-card.updating.svelte-ayrwwe .slot-primary-btn:where(.svelte-ayrwwe){opacity:1;color:var(--accent);animation:svelte-ayrwwe-slot-primary-pulse 1.2s ease-in-out infinite}@keyframes svelte-ayrwwe-slot-primary-pulse{0%,to{opacity:.45}50%{opacity:1}}.spinner.svelte-ayrwwe{width:18px;height:18px;border:2px solid var(--border-medium);border-top-color:var(--accent);border-radius:50%;animation:svelte-ayrwwe-spin .7s linear infinite}@keyframes svelte-ayrwwe-spin{to{transform:rotate(360deg)}}.selection-bar.svelte-1hl0bx5{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:6px 10px;margin-bottom:var(--space-sm);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.selection-count.svelte-1hl0bx5{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.selection-actions.svelte-1hl0bx5{display:flex;gap:var(--space-xs)}.selection-actions.svelte-1hl0bx5 .btn{padding:4px 10px;font-size:var(--font-size-sm)}.btn-icon.svelte-i94ygr{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer}.btn-icon.svelte-i94ygr:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-icon.svelte-i94ygr:disabled{opacity:.4;cursor:not-allowed}.btn-icon.svelte-i94ygr svg:where(.svelte-i94ygr){width:16px;height:16px}.btn-icon.is-refreshing.svelte-i94ygr svg:where(.svelte-i94ygr){animation:svelte-i94ygr-spin .8s linear infinite;transform-origin:center}.btn-icon.is-syncing.svelte-i94ygr,.btn-icon.is-syncing.svelte-i94ygr:hover{color:var(--error)}.js-select-toggle.is-active.svelte-i94ygr{background:var(--accent);color:#fff}.js-select-toggle.is-active.svelte-i94ygr:hover{color:#fff}@keyframes svelte-i94ygr-spin{to{transform:rotate(360deg)}}.lightbox.svelte-11o8oez{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;align-items:center;justify-content:center;background:#000000d1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);visibility:hidden;opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-out),visibility 0s linear var(--duration-normal)}.lightbox.visible.svelte-11o8oez{visibility:visible;opacity:1;pointer-events:auto;transition:opacity var(--duration-normal) var(--ease-out),visibility 0s linear 0s}.lightbox-content.svelte-11o8oez{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 24px 80px #000000b3;border:1px solid var(--border-medium)}.lightbox.visible.svelte-11o8oez .lightbox-content:where(.svelte-11o8oez){animation:svelte-11o8oez-lightbox-content-in var(--duration-normal) var(--ease-spring) both}@keyframes svelte-11o8oez-lightbox-content-in{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}.lightbox-content.svelte-11o8oez canvas:where(.svelte-11o8oez){display:block;width:min(400px,90vw);height:auto;aspect-ratio:4 / 3}.lightbox-label.svelte-11o8oez{position:absolute;bottom:0;left:0;right:0;padding:var(--space-xs) var(--space-sm);background:linear-gradient(to top,rgba(0,0,0,.6),transparent);font-size:var(--font-size-xs);color:#fffc;font-weight:600;font-variant-numeric:tabular-nums}.lightbox-close.svelte-11o8oez{position:absolute;top:var(--space-md);right:var(--space-md);width:36px;height:36px;border-radius:var(--radius-full);background:#00000080;border:1px solid var(--border-medium);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:501;transition:background var(--duration-fast)}.lightbox-close.svelte-11o8oez:hover{background:#ffffff26}.lightbox-close.svelte-11o8oez svg:where(.svelte-11o8oez){width:18px;height:18px}.card.svelte-1ocen1q{position:relative;min-width:0;background:var(--bg-card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg);transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.card.svelte-1ocen1q:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(90deg,transparent,hsla(0 0% 100% / .12) 18%,hsla(0 0% 100% / .12) 82%,transparent);pointer-events:none}.card.svelte-1ocen1q:hover{border-color:var(--border-medium)}.card-header.svelte-1ocen1q{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.card-title.svelte-1ocen1q{font-family:var(--font-display);font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-sm)}.card-title.svelte-1ocen1q svg:where(.svelte-1ocen1q){width:18px;height:18px;color:var(--accent)}.gallery-header-actions.svelte-1ocen1q{display:flex;gap:var(--space-xs)}.btn-icon.svelte-1ocen1q{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer}.btn-icon.svelte-1ocen1q:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-icon.svelte-1ocen1q:disabled{opacity:.4;cursor:not-allowed}.btn-icon.svelte-1ocen1q svg:where(.svelte-1ocen1q){width:16px;height:16px}.device-disconnected.svelte-1ocen1q{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg);color:var(--text-muted);text-align:center}.slot-grid.svelte-1ocen1q{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.gallery-pagination.svelte-1ocen1q{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-top:var(--space-md)}.page-info.svelte-1ocen1q{font-size:var(--font-size-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.gallery-overlay.svelte-1u2mbne{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0a0a0bdb;display:flex;padding:var(--space-lg);opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-out)}.gallery-overlay.visible.svelte-1u2mbne{opacity:1;pointer-events:all}.gallery-overlay-inner.svelte-1u2mbne{flex:1;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 32px 80px #00000080;transform:translateY(10px) scale(.985);transition:transform var(--duration-slow) var(--ease-spring)}.gallery-overlay.visible.svelte-1u2mbne .gallery-overlay-inner:where(.svelte-1u2mbne){transform:none}.gallery-overlay-header.svelte-1u2mbne{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.card-title.svelte-1u2mbne{font-family:var(--font-display);font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-sm)}.card-title.svelte-1u2mbne svg:where(.svelte-1u2mbne){width:18px;height:18px;color:var(--accent)}.gallery-overlay-actions.svelte-1u2mbne{display:flex;align-items:center;gap:var(--space-sm)}.gallery-overlay-count.svelte-1u2mbne{font-size:var(--font-size-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.gallery-overlay-body.svelte-1u2mbne{flex:1;overflow-y:auto;padding:var(--space-lg)}.gallery-overlay-inner.svelte-1u2mbne .selection-bar{margin:var(--space-md) var(--space-lg) 0}.slot-grid.svelte-1u2mbne{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-sm)}.device-disconnected.svelte-1u2mbne{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg);color:var(--text-muted);text-align:center}.btn-icon.svelte-1u2mbne{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer}.btn-icon.svelte-1u2mbne:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-icon.svelte-1u2mbne:disabled{opacity:.4;cursor:not-allowed}.btn-icon.svelte-1u2mbne svg:where(.svelte-1u2mbne){width:16px;height:16px}.gallery-pagination.svelte-1u2mbne{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-top:var(--space-md)}.page-info.svelte-1u2mbne{font-size:var(--font-size-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.upload-dock.svelte-1c2z8aa{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md)}.upload-actions.svelte-1c2z8aa{display:flex;gap:var(--space-sm);align-items:center;flex-wrap:wrap}.upload-status.svelte-1c2z8aa{flex-basis:100%;font-size:var(--font-size-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums}.upload-status.svelte-1c2z8aa:empty{display:none}.slot-picker.svelte-1c2z8aa{display:flex;align-items:center;gap:var(--space-sm);flex:0 0 auto}.control-label.svelte-1c2z8aa{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);flex-shrink:0}.slot-input.svelte-1c2z8aa{width:5rem;padding:var(--space-sm);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-base);font-weight:600;text-align:center;font-variant-numeric:tabular-nums;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.slot-input.svelte-1c2z8aa:focus{border-color:var(--border-accent);outline:none;box-shadow:0 0 0 3px var(--accent-glow)}.progress-bar.svelte-1c2z8aa{width:100%;height:6px;background:var(--bg-input);border-radius:var(--radius-full);overflow:hidden;display:none}.progress-bar.visible.svelte-1c2z8aa{display:block}.progress-fill.svelte-1c2z8aa{height:100%;background:var(--accent-gradient);border-radius:var(--radius-full);transition:width 80ms linear;position:relative;box-shadow:0 0 8px var(--accent-glow)}.app-footer.svelte-1sr6y3t{margin-top:auto;border-top:1px solid var(--border-subtle);background:linear-gradient(to bottom,transparent,var(--footer-fade))}.footer-inner.svelte-1sr6y3t{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg) var(--space-2xl);flex-wrap:wrap;padding:var(--space-lg) var(--space-lg) var(--space-md)}.footer-brand.svelte-1sr6y3t{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.footer-logo.svelte-1sr6y3t{width:1.625rem;height:1.625rem;flex-shrink:0}.footer-brand-text.svelte-1sr6y3t{display:flex;flex-direction:column;line-height:1.3;min-width:0}.footer-brand-name.svelte-1sr6y3t{font-family:var(--font-display);font-weight:700;font-size:var(--font-size-sm);color:var(--text-primary);letter-spacing:.01em}.footer-brand-tagline.svelte-1sr6y3t{font-size:var(--font-size-xs);color:var(--text-muted)}.footer-nav.svelte-1sr6y3t{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.footer-btn.svelte-1sr6y3t{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:500;letter-spacing:.02em;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-subtle);cursor:pointer;padding:.4rem .75rem;border-radius:var(--radius-full);touch-action:manipulation;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-normal) var(--ease-spring),box-shadow var(--duration-normal) var(--ease-out)}.footer-btn-icon.svelte-1sr6y3t{width:.95rem;height:.95rem;flex-shrink:0;color:var(--accent);opacity:.9;transition:transform var(--duration-normal) var(--ease-spring)}.footer-btn.svelte-1sr6y3t:hover{color:var(--text-primary);background:var(--bg-elevated);border-color:var(--border-accent);transform:translateY(-1px);box-shadow:var(--shadow-sm),0 0 0 1px #f49d251f}.footer-btn.svelte-1sr6y3t:hover .footer-btn-icon:where(.svelte-1sr6y3t){transform:scale(1.12)}.footer-btn.svelte-1sr6y3t:active{transform:translateY(0)}.footer-btn.svelte-1sr6y3t:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.footer-meta.svelte-1sr6y3t{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm) var(--space-md);flex-wrap:wrap;padding:var(--space-sm) var(--space-lg) var(--space-lg);border-top:1px solid var(--border-subtle)}.footer-copy.svelte-1sr6y3t{font-size:var(--font-size-xs);color:var(--text-muted)}.footer-meta-right.svelte-1sr6y3t{display:flex;align-items:center;gap:var(--space-sm)}.footer-version.svelte-1sr6y3t{font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums;padding:.15rem .55rem;border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border-subtle)}@media(max-width:640px){.footer-inner.svelte-1sr6y3t,.footer-meta.svelte-1sr6y3t{flex-direction:column;align-items:flex-start}}.info-dialog.svelte-1sr6y3t{max-width:480px;padding:0;overflow:hidden;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);color:var(--text-primary);width:calc(100% - 48px);box-shadow:var(--shadow-lg)}.info-dialog.svelte-1sr6y3t::backdrop{background:#000000a6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.info-dialog[open].svelte-1sr6y3t{animation:svelte-1sr6y3t-dialog-in var(--duration-normal) var(--ease-out) both}@keyframes svelte-1sr6y3t-dialog-in{0%{opacity:0;scale:.96}to{opacity:1;scale:1}}.btn-icon.svelte-1sr6y3t{display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer}.btn-icon.svelte-1sr6y3t:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-icon.svelte-1sr6y3t svg:where(.svelte-1sr6y3t){width:16px;height:16px}.info-dialog-header.svelte-1sr6y3t{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-lg) var(--space-md);border-bottom:1px solid var(--border-subtle)}.info-dialog-title.svelte-1sr6y3t{font-family:var(--font-display);font-size:var(--font-size-md);font-weight:600;text-align:left;margin:0}.info-dialog-title.svelte-1sr6y3t:focus,.info-dialog-title.svelte-1sr6y3t:focus-visible{outline:none}.info-dialog-close.svelte-1sr6y3t{flex-shrink:0;width:32px;height:32px}.info-dialog-body.svelte-1sr6y3t{padding:var(--space-lg);overflow-y:auto;max-height:60vh;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.65;display:flex;flex-direction:column;gap:var(--space-md)}.info-dialog-body.svelte-1sr6y3t p{margin:0}.info-dialog-body.svelte-1sr6y3t strong{color:var(--text-primary);font-weight:600}.info-dialog-body.svelte-1sr6y3t ul{padding-left:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs)}.info-dialog-body.svelte-1sr6y3t a{color:var(--accent)}.tooltip.svelte-1ig2ret{position:fixed;z-index:9000;background:#2b2b31;color:#f2f2f2;font-size:var(--font-size-xs);line-height:1.4;padding:4px 9px;border-radius:var(--radius-sm);border:1px solid var(--border-medium);white-space:nowrap;pointer-events:none;transform:translate(-50%);opacity:0;transition:opacity .1s ease;box-shadow:0 4px 12px #0006}.tooltip.svelte-1ig2ret.visible{opacity:1}.app-header.svelte-1n46o8q{position:sticky;top:0;z-index:100;padding:var(--space-md) var(--space-lg);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-subtle)}.app-header.svelte-1n46o8q:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,hsla(35 90% 55% / .35) 30%,hsla(12 85% 55% / .35) 70%,transparent);pointer-events:none}.header-inner.svelte-1n46o8q{display:flex;align-items:center;justify-content:space-between;width:100%}.app-logo.svelte-1n46o8q{display:flex;align-items:center;gap:var(--space-sm);-webkit-user-select:none;user-select:none;transition:transform var(--duration-normal) var(--ease-spring)}.app-logo.svelte-1n46o8q:hover{transform:translateY(-1px)}.app-logo.svelte-1n46o8q svg:where(.svelte-1n46o8q){width:28px;height:28px;flex-shrink:0;transition:filter var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-spring)}.app-logo.svelte-1n46o8q:hover svg:where(.svelte-1n46o8q){filter:drop-shadow(0 0 8px hsla(35 90% 55% / .55));transform:scale(1.1)}.app-logo.svelte-1n46o8q svg:where(.svelte-1n46o8q) rect:where(.svelte-1n46o8q){stroke-dasharray:78}.app-logo.svelte-1n46o8q:hover svg:where(.svelte-1n46o8q) rect:where(.svelte-1n46o8q){animation:svelte-1n46o8q-logo-trace .7s var(--ease-out) both}@keyframes svelte-1n46o8q-logo-trace{0%{stroke-dashoffset:78}to{stroke-dashoffset:0}}.app-logo.svelte-1n46o8q svg:where(.svelte-1n46o8q) circle:where(.svelte-1n46o8q){transform-box:fill-box;transform-origin:center}.app-logo.svelte-1n46o8q:hover svg:where(.svelte-1n46o8q) circle:where(.svelte-1n46o8q){animation:svelte-1n46o8q-logo-dot-pop .45s var(--ease-spring) both}@keyframes svelte-1n46o8q-logo-dot-pop{0%{transform:scale(1)}55%{transform:scale(2)}to{transform:scale(1)}}.app-logo.svelte-1n46o8q h1:where(.svelte-1n46o8q){font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:700;letter-spacing:0;background:linear-gradient(90deg,#ee522b,#f6b128,#fddc91,#f6b128,#ee522b);background-size:300% 100%;background-position:100% 50%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:background-position .7s ease}.app-logo.svelte-1n46o8q:hover h1:where(.svelte-1n46o8q){background-position:0% 50%}.header-right.svelte-1n46o8q{display:flex;align-items:center;gap:var(--space-md)}.btn-icon.svelte-1n46o8q{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer}.btn-icon.svelte-1n46o8q:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-icon.svelte-1n46o8q svg:where(.svelte-1n46o8q){width:16px;height:16px}.btn-theme.svelte-1n46o8q .theme-icon-moon:where(.svelte-1n46o8q){display:none}.btn-theme.svelte-1n46o8q .theme-icon-sun:where(.svelte-1n46o8q){display:block}:root[data-theme=light] .btn-theme.svelte-1n46o8q .theme-icon-sun:where(.svelte-1n46o8q){display:none}:root[data-theme=light] .btn-theme.svelte-1n46o8q .theme-icon-moon:where(.svelte-1n46o8q){display:block}.app-main.svelte-1n46o8q{flex:1;display:grid;grid-template-columns:1fr;gap:var(--space-lg);padding:var(--space-lg);width:100%;box-sizing:border-box}@media(min-width:960px){.app-main.svelte-1n46o8q{grid-template-columns:1fr 22.5rem;grid-template-rows:auto 1fr}.app-main.svelte-1n46o8q>.section-upload{grid-column:1;grid-row:1 / -1;min-width:0}.app-main.svelte-1n46o8q>.section-device{grid-column:2;grid-row:1}.app-main.svelte-1n46o8q>.section-gallery{grid-column:2;grid-row:2}}.unsupported-banner.svelte-1n46o8q{padding:var(--space-lg);text-align:center;background:var(--error-bg);border:1px solid hsla(0 72% 58% / .3);border-radius:var(--radius-lg);margin:var(--space-lg)}.unsupported-banner.svelte-1n46o8q h2:where(.svelte-1n46o8q){font-size:var(--font-size-lg);color:var(--error);margin-bottom:var(--space-sm)}.unsupported-banner.svelte-1n46o8q p:where(.svelte-1n46o8q){color:var(--text-secondary);font-size:var(--font-size-sm)}.card.svelte-1n46o8q{position:relative;min-width:0;background:var(--bg-card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg);transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.card.svelte-1n46o8q:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(90deg,transparent,hsla(0 0% 100% / .12) 18%,hsla(0 0% 100% / .12) 82%,transparent);pointer-events:none}.card.svelte-1n46o8q:hover{border-color:var(--border-medium)}.preview-area.svelte-1n46o8q{display:none;flex-direction:column;gap:var(--space-md);container-type:inline-size;container-name:editor}.preview-area.visible.svelte-1n46o8q{display:flex;animation:svelte-1n46o8q-preview-fade-in var(--duration-normal) var(--ease-out) both}@keyframes svelte-1n46o8q-preview-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.editor-workspace.svelte-1n46o8q{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.editor-preview.svelte-1n46o8q{display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.controls-row.svelte-1n46o8q{display:flex;flex-direction:column;gap:var(--space-sm)}.bottom-controls.svelte-1n46o8q{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-lg)}.bottom-controls.svelte-1n46o8q .control-group{flex:1 1 12rem;min-width:11rem;max-width:22rem}.controls-reset-row.svelte-1n46o8q{padding:var(--space-sm) var(--space-md) var(--space-md)}.btn-reset-controls.svelte-1n46o8q{width:100%;justify-content:center;gap:var(--space-xs)}@container editor (min-width: 700px){.editor-workspace.svelte-1n46o8q{grid-template-columns:17.5rem minmax(0,1fr);gap:var(--space-lg);align-items:start}.controls-row.svelte-1n46o8q{grid-column:1;grid-row:1}.editor-preview.svelte-1n46o8q{grid-column:2;grid-row:1;position:sticky;top:calc(var(--header-h) + var(--space-md));align-self:start}}@media(max-width:600px){.app-header.svelte-1n46o8q{padding:var(--space-sm) var(--space-md)}.app-main.svelte-1n46o8q{padding:var(--space-md);gap:var(--space-md)}.app-logo.svelte-1n46o8q h1:where(.svelte-1n46o8q){font-size:var(--font-size-md)}}@media(max-width:420px){.header-right.svelte-1n46o8q{gap:var(--space-sm)}}
