@property --color-blue-500{syntax: "<color>"; initial-value: oklch(62% .2 260); inherits: false;}@property --color-blue-600{syntax: "<color>"; initial-value: oklch(55% .2 260); inherits: false;}@property --color-blue-700{syntax: "<color>"; initial-value: oklch(48% .2 260); inherits: false;}@property --color-green-500{syntax: "<color>"; initial-value: oklch(62% .15 145); inherits: false;}@property --color-green-600{syntax: "<color>"; initial-value: oklch(55% .15 145); inherits: false;}@property --color-green-700{syntax: "<color>"; initial-value: oklch(48% .15 145); inherits: false;}@property --color-red-600{syntax: "<color>"; initial-value: oklch(55% .2 25); inherits: false;}:root{--color-black: #000;--color-zinc-900: oklch(18% 0 0);--color-zinc-800: oklch(27% 0 0);--color-zinc-600: oklch(40% 0 0);--color-zinc-500: oklch(50% 0 0);--color-zinc-400: oklch(60% 0 0);--color-white: #fff;--color-blue-600: oklch(55% .2 260);--color-blue-700: oklch(48% .2 260);--color-blue-500: oklch(62% .2 260);--color-green-600: oklch(55% .15 145);--color-green-700: oklch(48% .15 145);--color-green-500: oklch(62% .15 145);--color-red-600: oklch(55% .2 25);--color-red-500: oklch(62% .2 25);--color-red-400: oklch(68% .18 25);--color-yellow-600: oklch(55% .15 90);--color-yellow-500: oklch(62% .15 90);--color-green-300: oklch(75% .15 145);--color-green-200: oklch(82% .12 145);--color-cyan-400: oklch(75% .15 195);--spacing-1: .25rem;--spacing-2: .5rem;--spacing-4: 1rem;--corner-offset: 1rem;--transition-fast: .2s ease-out;--transition-normal: .3s ease-out}@layer base{*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background-color:var(--color-black);color:var(--color-white);font-family:system-ui,-apple-system,sans-serif}figure{margin:0}[data-phx-session],[data-phx-teleported-src]{display:contents}}@layer components{.app-shell{min-height:100vh;background-color:var(--color-black);color:var(--color-white);display:flex;flex-direction:column}.app-main{flex:1;display:flex;flex-direction:column;min-height:100vh}.app-flash-region{position:fixed;top:var(--corner-offset);right:var(--corner-offset);z-index:3000;width:min(24rem,calc(100vw - (2 * var(--corner-offset))));pointer-events:none}.app-flash-region>*{pointer-events:auto}.app-flash-region>*+*{margin-top:var(--spacing-2)}.editor-container{min-height:100vh;background-color:var(--color-black);background-image:radial-gradient(circle,var(--color-zinc-800) 1px,transparent 1px);background-size:24px 24px;overflow:hidden;position:fixed;inset:0}.editor-content{max-width:80rem;margin-inline:auto;padding:var(--corner-offset);padding-block-start:calc(var(--corner-offset) * 2 + 2.5rem);padding-block-end:calc(var(--corner-offset) + 2.5rem);height:100%;display:flex;align-items:center;justify-content:center}.editor-header-layout{margin-block-end:1rem;display:flex;justify-content:space-between;align-items:flex-start;transition:opacity var(--transition-normal);transition-duration:.3s}.document-name{display:flex;flex-direction:column;gap:.125rem}.document-name-title{font-size:.9375rem;font-weight:500;color:var(--color-white);line-height:1.3}.document-name-subtitle{font-size:.75rem;color:var(--color-zinc-500);line-height:1.3}.header-actions{display:flex;gap:.5rem}.viewport-header{position:fixed;inset-block-start:0;inset-inline-start:0;inset-inline-end:0;padding:var(--corner-offset);display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;z-index:100;transition:opacity var(--transition-normal)}.viewport-header>*{pointer-events:auto}.fullscreen-center{display:flex;align-items:center;justify-content:center}.download-button,.settings-button,.reset-button{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;transition:background-color var(--transition-fast);background-color:transparent;cursor:pointer;border:none;text-decoration:none}.editor-frame{display:flex;justify-content:center}.region-editor-container{position:absolute;inset:0;width:100%;height:100%;pointer-events:auto}.cursor-overlay-container{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:200;overflow:visible}.remote-cursor{position:absolute;pointer-events:none;will-change:left,top,opacity;transition:left .05s linear,top .05s linear}.image-container{position:relative;width:100%;max-width:90vw;max-height:85vh;display:flex;align-items:center;justify-content:center}.capture-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:.5rem;box-shadow:0 25px 50px -12px #00000080;user-select:none;-webkit-user-drag:none}.spinner{animation:spin 1s linear infinite}.spinner-lg{height:2rem;width:2rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skeleton{width:100%;display:flex;align-items:center;justify-content:center;background-color:#27272a80;border-radius:.5rem;box-shadow:0 25px 50px -12px #00000080}.toast-container{position:fixed;inset-block-end:var(--corner-offset);inset-inline-end:var(--corner-offset);z-index:150;display:flex;flex-direction:column;gap:.5rem}.toast{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:.5rem;max-width:24rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;cursor:pointer}.toast-info{background-color:var(--color-blue-600);color:var(--color-white)}.toast-error{background-color:var(--color-red-600);color:var(--color-white)}.toast-warning{background-color:var(--color-yellow-600);color:var(--color-white)}.toast-icon{flex-shrink:0;width:1.25rem;height:1.25rem}.toast-content{flex:1}.toast-title{font-weight:600;margin-block-end:.25rem}.toast-close{flex-shrink:0;opacity:.7;cursor:pointer;background:none;border:none;padding:0;color:inherit}.toast-close:hover{opacity:1}.mask-region{position:absolute;opacity:0;cursor:pointer;background:transparent;border:none;outline:none;transition:opacity .15s ease-out,background-color .15s ease-out,box-shadow .15s ease-out,border-color .15s ease-out}.mask-region.mask-idle{opacity:0}.mask-region.mask-hovered{opacity:0;background:transparent;border:none;outline:none;box-shadow:none}.mask-region.mask-selected{opacity:1;background:#3b82f626;border:2px dashed rgb(59,130,246);outline:1px solid rgba(0,0,0,.4);outline-offset:0px;box-shadow:none;filter:drop-shadow(0 0 10px rgba(59,130,246,.3));z-index:56}.mask-region.mask-dimmed{opacity:.35;border:1px solid rgba(255,255,255,.3);outline:1px solid rgba(0,0,0,.2);background:transparent}.mask-region[data-mask-type=object],.mask-region[data-mask-type=manual]{opacity:1;border:none;outline:none;background:#0000;background-image:none;box-shadow:none;animation:none}@keyframes mask-shimmer{0%{background-position:200% 0;opacity:1}to{background-position:-100% 0;opacity:0}}.mask-region.mask-shimmer{opacity:1;border-color:transparent;outline-color:transparent;background:transparent}.mask-region.mask-shimmer:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);background-size:200% 100%;animation:mask-shimmer var(--shimmer-duration, .6s) ease-out forwards;pointer-events:none}.mask-region[data-mask-type=object].mask-shimmer:after,.mask-region[data-mask-type=manual].mask-shimmer:after{display:none}.segment-mask-canvas{position:absolute;pointer-events:none;opacity:0;transition:opacity .15s ease;object-fit:fill}@keyframes segment-shimmer{0%{filter:brightness(1) drop-shadow(0 0 0 transparent);opacity:.7}50%{filter:brightness(1.4) drop-shadow(0 0 12px rgba(255,255,255,.6));opacity:1}to{filter:brightness(1) drop-shadow(0 0 0 transparent);opacity:0}}.segment-mask-canvas.segment-shimmer{animation:segment-shimmer var(--shimmer-duration, .6s) ease-out forwards;opacity:1!important}.smart-select-mode .mask-region{pointer-events:none;cursor:crosshair!important}.smart-select-mode .mask-region:not([data-mask-type=object]):not([data-mask-type=manual]).mask-hovered{background:#ffffff2e;box-shadow:0 0 12px 2px #ffffff73,0 0 26px 8px #ffffff40;outline:1px solid rgba(255,255,255,.25);border-radius:10px;transition:box-shadow var(--transition-normal),background-color var(--transition-normal),outline-color var(--transition-normal)}.smart-select-mode .mask-region:not([data-mask-type=object]):not([data-mask-type=manual]).mask-dimmed{opacity:.22;box-shadow:none;outline:1px solid rgba(255,255,255,.14);background:#ffffff0f}.eraser-mode{cursor:none!important}.eraser-mode .mask-region{pointer-events:none}.eraser-cursor{position:absolute;pointer-events:none;border-radius:50%;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px #00000080,0 2px 8px #0000004d,inset 0 0 0 1px #fff3;z-index:200;opacity:0;transition:width .1s ease-out,height .1s ease-out,opacity .15s ease-out;background:radial-gradient(circle at center,rgba(255,0,100,.15) 0%,rgba(255,0,100,.05) 50%,transparent 70%)}.eraser-stroke-overlay{position:absolute;top:0;left:0;pointer-events:none;z-index:45}.smart-select-spotlight-overlay{position:absolute;inset:0;pointer-events:none;z-index:45;opacity:0;transition:opacity .3s ease-out,background .3s ease-out}.smart-select-point-marker{position:absolute;width:12px;height:12px;border-radius:50%;border:2px solid white;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 1px 3px #0006;z-index:110}.smart-select-point-marker.positive{background:#3b82f6}.smart-select-point-marker.negative{background:#ef4444}.smart-select-status-indicator{position:fixed;inset-block-end:var(--corner-offset);inset-inline-end:var(--corner-offset);display:inline-flex;align-items:center;gap:.5rem;padding-block:.55rem;padding-inline:.75rem;background:#0c1018b8;color:var(--color-white);border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 12px 30px #00000059;backdrop-filter:blur(10px);font-size:.8125rem;letter-spacing:.01em;z-index:120;transition:transform var(--transition-fast),opacity var(--transition-fast),background-color var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.smart-select-status-indicator[data-state=ready]{background:#0e502da6;border-color:#10b98166;box-shadow:0 10px 24px #10b98140}.smart-select-status-dot{width:10px;height:10px;border-radius:999px;background:var(--color-blue-500);position:relative;box-shadow:0 0 0 6px #60a5fa24}.smart-select-status-indicator[data-state=ready] .smart-select-status-dot{background:var(--color-green-500);box-shadow:0 0 0 6px #22c55e29}.smart-select-status-dot:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(96,165,250,.45);animation:smart-select-status-pulse 1.4s ease-out infinite}.smart-select-status-indicator[data-state=ready] .smart-select-status-dot:after{border-color:#22c55e73;animation-duration:1.8s}.smart-select-status-indicator[data-state=error]{background:#7f1d1da6;border-color:#ef444466;box-shadow:0 10px 24px #ef444440}.smart-select-status-indicator[data-state=error] .smart-select-status-dot{background:var(--color-red-500);box-shadow:0 0 0 6px #ef444424}.smart-select-status-indicator[data-state=error] .smart-select-status-dot:after{border-color:#ef444473;animation:none}.smart-select-status-indicator[data-state=warning]{background:#713f12a6;border-color:#eab30866;box-shadow:0 10px 24px #eab30840}.smart-select-status-indicator[data-state=warning] .smart-select-status-dot{background:var(--color-yellow-500);box-shadow:0 0 0 6px #eab30824}.smart-select-status-indicator[data-state=warning] .smart-select-status-dot:after{border-color:#eab30873;animation:none}.smart-select-status-text{white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.35)}@keyframes smart-select-status-pulse{0%{transform:scale(.9);opacity:.9}to{transform:scale(1.45);opacity:0}}.toast-unified{animation:toast-enter .2s ease-out;transition:opacity .2s ease-out,transform .2s ease-out}@keyframes toast-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.help-button-container{position:fixed;inset-block-end:var(--corner-offset);inset-inline-start:var(--corner-offset);z-index:100;transition:opacity var(--transition-normal)}.help-button{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background-color:transparent;border:none;cursor:pointer;transition:background-color var(--transition-fast)}.help-button:hover .icon-base{color:var(--color-zinc-300)}.help-tooltip{position:absolute;inset-block-end:calc(100% + .5rem);inset-inline-start:0;min-width:14rem;padding:.75rem;background:#0c1018eb;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;box-shadow:0 12px 30px #0006;backdrop-filter:blur(12px);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast)}.help-button-container:hover .help-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.help-tooltip-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-zinc-500);margin-block-end:.5rem}.help-shortcut-list{display:flex;flex-direction:column;gap:.375rem}.help-shortcut{display:flex;align-items:center;justify-content:space-between;gap:1rem}.help-shortcut-desc{font-size:.8125rem;color:var(--color-zinc-300)}.help-shortcut-keys{display:flex;align-items:center;gap:.25rem}.help-key{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding-inline:.25rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:.25rem;font-size:.6875rem;font-weight:500;color:var(--color-zinc-300);font-family:system-ui,-apple-system,sans-serif}.help-divider{height:1px;background:#ffffff14;margin-block:.5rem}.layers-panel{position:fixed;inset-block-start:calc(var(--corner-offset) * 2 + 2.75rem);inset-inline-end:var(--corner-offset);width:min(18rem,calc(100vw - (2 * var(--corner-offset))));max-height:calc(100vh - 7.5rem);padding:.75rem;border-radius:.75rem;background:linear-gradient(160deg,#0c1018f0,#05080ce6);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 40px #00000073;backdrop-filter:blur(12px);z-index:110;display:flex;flex-direction:column;gap:.75rem;transition:opacity var(--transition-normal),transform var(--transition-normal)}.layers-panel-header{display:flex;align-items:center;justify-content:space-between}.layers-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-zinc-400)}.layers-subtitle{font-size:.7rem;color:var(--color-zinc-500)}.layers-list{display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;padding-inline-end:.25rem}.layers-empty{padding:.75rem;border-radius:.5rem;border:1px dashed rgba(255,255,255,.08);color:var(--color-zinc-500);font-size:.75rem;text-align:center}.layer-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:.6rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.05);transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);cursor:pointer}.layer-item:hover{background:#ffffff14;border-color:#ffffff24;transform:translateY(-1px)}.layer-item-hidden{opacity:.6}.layer-item-selected{background:#3b82f633!important;border-color:#3b82f6!important;box-shadow:0 0 0 1px #3b82f64d}.layer-item-selected:hover{background:#3b82f640!important;transform:none}.layer-item:focus,.layer-item:focus-visible{outline:none}.layer-visibility-toggle,.layer-delete-button{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.45rem;border:none;background:transparent;color:var(--color-zinc-400);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.layer-visibility-toggle:hover{color:var(--color-white);background:#ffffff1a}.layer-delete-button:hover{color:var(--color-red-400);background:#ffffff1a}.layer-thumbnail{width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:.4rem;overflow:hidden;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.layer-thumbnail-img{width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}.layer-thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-zinc-600)}.layer-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.layer-title{font-size:.8rem;color:var(--color-zinc-200);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-mask-region{position:absolute;pointer-events:auto;opacity:0;z-index:40;cursor:pointer}.layer-mask-region.layer-mask-selected{opacity:1;background:#3b82f614;border:2px dashed rgb(59,130,246);outline:1px solid rgba(0,0,0,.4);filter:drop-shadow(0 0 10px rgba(59,130,246,.3));z-index:42}.layer-mask-region.layer-mask-drag-preview{opacity:1;background:#3b82f626;border:2px dashed rgb(59,130,246);outline:1px solid rgba(0,0,0,.4);filter:drop-shadow(0 0 10px rgba(59,130,246,.3));z-index:42}@media (max-width: 768px){.layers-panel{inset-block-start:auto;inset-block-end:calc(var(--corner-offset) + 3.25rem);inset-inline-end:var(--corner-offset);width:calc(100vw - (2 * var(--corner-offset)));max-height:30vh}}.delete-menu{position:fixed;display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background:#0c1018eb;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;box-shadow:0 12px 30px #0006;backdrop-filter:blur(12px);z-index:1000;min-width:140px;animation:delete-menu-enter .15s ease-out}@keyframes delete-menu-enter{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.delete-menu-item{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;background:transparent;border:none;border-radius:.375rem;color:var(--color-zinc-200);font-size:.8125rem;cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out;text-align:left;width:100%}.delete-menu-item:hover,.delete-menu-item--focused{background:#ffffff14;color:var(--color-white)}.delete-menu-item:active{background:#ffffff1f}.delete-menu--keyboard-nav .delete-menu-item:not(.delete-menu-item--focused){background:transparent;color:var(--color-zinc-200)}.delete-menu-item--cutout.delete-menu-item--focused{color:var(--color-blue-500)}.delete-menu-item--inpaint.delete-menu-item--focused{color:var(--color-green-500)}.delete-menu-item--delete.delete-menu-item--focused{color:var(--color-red-600)}.delete-menu-icon{width:1rem;height:1rem;flex-shrink:0;stroke:currentColor;transition:stroke .15s ease-out}.delete-menu-item--cutout:hover{color:var(--color-blue-500)}.delete-menu-item--inpaint:hover{color:var(--color-green-500)}.delete-menu-item--delete:hover{color:var(--color-red-600)}.delete-menu--keyboard-nav .delete-menu-item--cutout:not(.delete-menu-item--focused):hover,.delete-menu--keyboard-nav .delete-menu-item--inpaint:not(.delete-menu-item--focused):hover,.delete-menu--keyboard-nav .delete-menu-item--delete:not(.delete-menu-item--focused):hover{color:var(--color-zinc-200)}.generative-edit-menu{position:fixed;display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#0c1018f0;border:1px solid rgba(255,255,255,.1);border-radius:.6rem;box-shadow:0 16px 36px #00000073;backdrop-filter:blur(12px);z-index:1000;min-width:260px;animation:delete-menu-enter .15s ease-out}.generative-edit-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-zinc-400)}.generative-edit-input-row{display:flex;align-items:center;gap:.5rem}.generative-edit-input{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:.45rem;padding:.5rem .65rem;font-size:.85rem;color:var(--color-white);outline:none;transition:border-color .15s ease-out,box-shadow .15s ease-out}.generative-edit-input:focus{border-color:#22c55e99;box-shadow:0 0 0 2px #22c55e33}.generative-edit-submit{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.45rem;border:1px solid rgba(34,197,94,.4);background:#22c55e1f;color:var(--color-green-300);cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out,transform .15s ease-out}.generative-edit-submit:hover{background:#22c55e33;color:var(--color-green-200);transform:translateY(-1px)}.generative-edit-submit:active{transform:translateY(0)}.generative-edit-icon{width:1rem;height:1rem;stroke:currentColor}.arrival-overlay{position:fixed;inset:0;background-color:#000000eb;z-index:50;pointer-events:none}.hero-entrance{transform:scale(1.02);filter:drop-shadow(0 0 50px rgba(255,255,255,.5))}.icon-base{height:1.25rem;width:1.25rem;color:var(--color-white);transition:color var(--transition-fast)}.download-button:hover .icon-base{color:var(--color-blue-500)}.settings-button:hover .icon-base{color:var(--color-zinc-300)}.reset-button:hover .icon-base{color:var(--color-red-600)}}@layer utilities{.spinner-sm{width:1rem;height:1rem}.spinner-md{width:1.25rem;height:1.25rem}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.inline-spinner{display:inline-block;margin-inline-start:.25rem}.z-arrival{z-index:60}.upload-dropzone{width:100%;max-width:32rem;margin:0 auto}.upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 2rem;border:2px dashed var(--color-zinc-600);border-radius:.75rem;background-color:var(--color-zinc-900);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast);position:relative}.upload-area:hover,.upload-area:focus-within{border-color:var(--color-zinc-400);background-color:var(--color-zinc-800)}.upload-icon{width:3rem;height:3rem;color:var(--color-zinc-400)}.upload-text{margin:0;font-size:1rem;color:var(--color-zinc-400)}.upload-hint{margin:0;font-size:.875rem;color:var(--color-zinc-500)}.upload-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-entry{margin-block-start:1rem;padding:1rem;background-color:var(--color-zinc-800);border-radius:.5rem}.upload-entry-info{display:flex;align-items:center;justify-content:space-between;margin-block-end:.5rem}.upload-entry-name{font-size:.875rem;color:var(--color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-cancel{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;background:transparent;color:var(--color-zinc-400);cursor:pointer;transition:color var(--transition-fast)}.upload-cancel:hover{color:var(--color-white)}.upload-progress{width:100%;height:.25rem;border-radius:.125rem;appearance:none;background-color:var(--color-zinc-600)}.upload-progress::-webkit-progress-bar{background-color:var(--color-zinc-600);border-radius:.125rem}.upload-progress::-webkit-progress-value{background-color:var(--color-blue-500);border-radius:.125rem}.upload-progress::-moz-progress-bar{background-color:var(--color-blue-500);border-radius:.125rem}.upload-error{margin:.5rem 0 0;font-size:.875rem;color:var(--color-red-600)}.upload-submit{display:block;width:100%;margin-block-start:1rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;color:var(--color-white);background-color:var(--color-blue-600);border:none;border-radius:.5rem;cursor:pointer;transition:background-color var(--transition-fast)}.upload-submit:hover{background-color:var(--color-blue-700)}.icon-sm{width:1rem;height:1rem}.settings-container{position:fixed;inset:0;overflow:auto;background-color:var(--color-black);background-image:radial-gradient(circle,var(--color-zinc-800) 1px,transparent 1px);background-size:24px 24px}.settings-content{max-width:48rem;margin-inline:auto;padding:var(--corner-offset);padding-block-start:calc(var(--corner-offset) * 2 + 2.5rem)}.settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-block-end:2rem}.settings-title-group{display:flex;flex-direction:column;gap:.125rem}.settings-title{font-size:1.125rem;font-weight:500;color:var(--color-white);margin:0;line-height:1.3}.settings-subtitle{font-size:.75rem;color:var(--color-zinc-500);line-height:1.3}.settings-back-button{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;color:var(--color-white);text-decoration:none;transition:color var(--transition-fast)}.settings-back-button:hover{color:var(--color-blue-500)}.settings-section{margin-block-end:2rem}.settings-section-header{margin-block-end:1rem}.settings-section-title{font-size:.9375rem;font-weight:500;color:var(--color-white);margin:0 0 .25rem}.settings-section-description{font-size:.8125rem;color:var(--color-zinc-400);margin:0;line-height:1.4}.model-cache-cards{display:flex;flex-direction:column;gap:.75rem}.model-cache-loading{display:flex;align-items:center;gap:.75rem;padding:1.5rem;color:var(--color-zinc-400);font-size:.875rem}.model-card{background-color:var(--color-zinc-900);border:1px solid var(--color-zinc-800);border-radius:.5rem;padding:1rem;transition:border-color var(--transition-fast)}.model-card:hover{border-color:var(--color-zinc-600)}.model-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.model-card-info{flex:1;min-width:0}.model-card-title-row{display:flex;align-items:baseline;gap:.5rem;margin-block-end:.25rem}.model-card-name{font-size:.9375rem;font-weight:500;color:var(--color-white)}.model-card-size{font-size:.75rem;color:var(--color-zinc-500)}.model-card-description{font-size:.8125rem;color:var(--color-zinc-400);margin:0;line-height:1.4}.model-card-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.model-card-status{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.75rem;border-radius:9999px}.model-card-status-dot{width:6px;height:6px;border-radius:50%}.model-card-status-cached{background-color:#22c55e26;color:var(--color-green-500)}.model-card-status-cached .model-card-status-dot{background-color:var(--color-green-500)}.model-card-status-not_cached{background-color:#71717a26;color:var(--color-zinc-400)}.model-card-status-not_cached .model-card-status-dot{background-color:var(--color-zinc-500)}.model-card-status-error{background-color:#ef444426;color:var(--color-red-600)}.model-card-status-error .model-card-status-dot{background-color:var(--color-red-600)}.model-card-status-loading{background-color:#71717a26;color:var(--color-zinc-400)}.model-card-button{padding:.375rem .75rem;font-size:.75rem;font-weight:500;border:none;border-radius:.375rem;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.model-card-button-download{background-color:var(--color-blue-600);color:var(--color-white)}.model-card-button-download:hover{background-color:var(--color-blue-700)}.model-card-button-delete{background-color:transparent;color:var(--color-zinc-400);border:1px solid var(--color-zinc-600)}.model-card-button-delete:hover{background-color:var(--color-zinc-800);color:var(--color-white);border-color:var(--color-zinc-500)}.model-card-progress{display:flex;align-items:center;gap:.75rem;min-width:120px}.model-card-progress-bar{flex:1;height:6px;background-color:var(--color-zinc-700);border-radius:3px;overflow:hidden}.model-card-progress-fill{height:100%;background-color:var(--color-blue-500);border-radius:3px;transition:width .15s ease-out}.model-card-progress-text{font-size:.75rem;color:var(--color-zinc-400);min-width:2.5rem;text-align:right}.home-upload-section{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:60vh}.home-upload-form{display:flex;flex-direction:column;align-items:center;gap:1rem}.home-upload-button{display:flex;align-items:center;justify-content:center;width:5rem;height:5rem;border:2px dashed var(--color-zinc-600);border-radius:1rem;background-color:transparent;cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.home-upload-button:hover{border-color:var(--color-zinc-400);background-color:var(--color-zinc-900)}.home-upload-icon{width:2rem;height:2rem;color:var(--color-zinc-500);transition:color var(--transition-fast)}.home-upload-button:hover .home-upload-icon{color:var(--color-zinc-300)}.home-upload-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.home-upload-spinner{width:2rem;height:2rem;color:var(--color-zinc-400)}.home-upload-progress{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:12rem}.home-upload-progress-bar{width:100%;height:4px;background-color:var(--color-zinc-700);border-radius:2px;overflow:hidden}.home-upload-progress-fill{height:100%;background-color:var(--color-blue-500);border-radius:2px;transition:width .15s ease-out}.home-upload-error{font-size:.75rem;color:var(--color-red-400);margin:0}}
