@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);:root{--bg-canvas:#0b0d10;--bg-surface:#14161a;--bg-elevated:#1c1f24;--bg-overlay:#24282e;--bg-input:#ffffff0a;--bg-viewer:#000;--line-subtle:#ffffff0f;--line-default:#ffffff1a;--line-strong:#ffffff29;--text-primary:#fffffff0;--text-secondary:#ffffff9e;--text-tertiary:#fff6;--text-disabled:#ffffff42;--accent:#4f9cf0;--accent-hover:#6cb0fa;--accent-active:#3d87d9;--accent-soft:#4f9cf01f;--accent-softer:#4f9cf012;--accent-ring:#4f9cf066;--teal:#2fc6b7;--teal-soft:#2fc6b71f;--success:#34c77b;--success-soft:#34c77b1f;--warning:#f5b83d;--warning-soft:#f5b83d1f;--danger:#f0564f;--danger-soft:#f0564f1f;--info:#4f9cf0;--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--radius-xs:5px;--radius-sm:8px;--radius-md:11px;--radius-lg:14px;--radius-xl:20px;--radius-full:999px;--shadow-sm:0 1px 2px #00000047;--shadow-md:0 1px 2px #0000003d,0 8px 24px #00000047;--shadow-lg:0 2px 4px #0000003d,0 16px 48px #0006;--shadow-pop:0 0 0 1px #ffffff0f,0 4px 12px #00000059,0 24px 64px #00000073;--ease-spring:cubic-bezier(0.32,0.72,0,1);--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--dur-instant:100ms;--dur-fast:160ms;--dur-base:240ms;--dur-slow:400ms;--content-max:1440px;--header-h:60px;--stepper-h:52px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0b0d10;background-color:var(--bg-canvas);color:#fffffff0;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font-sans);font-size:15px;line-height:1.5;text-rendering:optimizeLegibility}#root{height:100%}button,input,select,textarea{color:inherit;font-family:inherit;font-size:inherit}h1,h2,h3,h4{color:#fffffff0;color:var(--text-primary);font-weight:600;letter-spacing:-.02em;line-height:1.2}a{color:#4f9cf0;color:var(--accent);text-decoration:none;transition:color .16s cubic-bezier(.32,.72,0,1);transition:color var(--dur-fast) var(--ease-spring)}a:hover{color:#6cb0fa;color:var(--accent-hover)}:focus{outline:none}:focus-visible{border-radius:5px;border-radius:var(--radius-xs);box-shadow:0 0 0 3px #4f9cf066;box-shadow:0 0 0 3px var(--accent-ring);outline:none}::selection{background-color:#4f9cf059;color:#fff}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#ffffff24;background-clip:content-box;border:3px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#ffffff47;background-clip:content-box;border:3px solid #0000}*{scrollbar-color:#ffffff24 #0000;scrollbar-width:thin}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.app-main{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto}.page{animation:page-enter .4s cubic-bezier(.16,1,.3,1) backwards;animation:page-enter var(--dur-slow) var(--ease-out-expo) backwards;margin:0 auto;max-width:1440px;max-width:var(--content-max);padding:24px clamp(16px,3vw,32px);padding:var(--space-5) clamp(var(--space-4),3vw,var(--space-6));width:100%}.page--fluid{max-width:none}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.chrome{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#0f1115d1;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--line-subtle);position:-webkit-sticky;position:sticky;top:0;z-index:100}.chrome__row{align-items:center;display:flex;gap:16px;gap:var(--space-4);height:60px;height:var(--header-h);justify-content:space-between;margin:0 auto;max-width:1440px;max-width:var(--content-max);padding:0 clamp(16px,3vw,32px);padding:0 clamp(var(--space-4),3vw,var(--space-6))}.chrome__logo{flex-shrink:0;height:34px;width:auto}.chrome__actions{align-items:center;display:flex;gap:8px;gap:var(--space-2)}.chrome__user{background:#ffffff0d;border:1px solid #ffffff0f;border:1px solid var(--line-subtle);border-radius:999px;border-radius:var(--radius-full);display:flex;font-size:.82rem;padding:5px 12px 5px 8px;white-space:nowrap}.chrome__user,.icon-btn{align-items:center;color:#ffffff9e;color:var(--text-secondary);font-weight:500;gap:7px}.icon-btn{background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:.85rem;height:36px;justify-content:center;min-width:36px;padding:0 9px;transition:background .16s cubic-bezier(.32,.72,0,1),color .16s cubic-bezier(.32,.72,0,1),transform .1s ease-out;transition:background var(--dur-fast) var(--ease-spring),color var(--dur-fast) var(--ease-spring),transform var(--dur-instant) ease-out}.icon-btn:hover{background:#ffffff12;color:#fffffff0;color:var(--text-primary)}.icon-btn:active{transform:scale(.94)}.icon-btn--active{background:#4f9cf01f;background:var(--accent-soft);color:#4f9cf0;color:var(--accent)}.stepper{background:#0f111599;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--line-subtle)}.stepper__row{align-items:stretch;display:flex;gap:4px;gap:var(--space-1);height:52px;height:var(--stepper-h);margin:0 auto;max-width:1440px;max-width:var(--content-max);padding:0 clamp(16px,3vw,32px);padding:0 clamp(var(--space-4),3vw,var(--space-6))}.stepper__step{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff6;color:var(--text-tertiary);cursor:pointer;display:flex;flex:1 1;font-size:.86rem;font-weight:500;gap:9px;justify-content:center;letter-spacing:.01em;margin:7px 0;min-width:0;position:relative;transition:color .16s cubic-bezier(.32,.72,0,1),background .16s cubic-bezier(.32,.72,0,1);transition:color var(--dur-fast) var(--ease-spring),background var(--dur-fast) var(--ease-spring);white-space:nowrap}.stepper__step:hover{background:#ffffff0a;color:#ffffff9e;color:var(--text-secondary)}.stepper__step--active{background:#4f9cf01f;background:var(--accent-soft);color:#fffffff0;color:var(--text-primary)}.stepper__step--active .stepper__num{background:#4f9cf0;background:var(--accent);border-color:#4f9cf0;border-color:var(--accent);color:#fff}.stepper__step--active:after{background:#4f9cf0;background:var(--accent);border-radius:2px;bottom:-7px;content:"";height:2px;left:14%;position:absolute;right:14%}.stepper__num{align-items:center;border:1.5px solid #ffffff29;border:1.5px solid var(--line-strong);border-radius:999px;border-radius:var(--radius-full);color:#fff6;color:var(--text-tertiary);display:inline-flex;flex-shrink:0;font-size:.72rem;font-weight:600;height:21px;justify-content:center;transition:background .16s cubic-bezier(.32,.72,0,1),border-color .16s cubic-bezier(.32,.72,0,1),color .16s cubic-bezier(.32,.72,0,1);transition:background var(--dur-fast) var(--ease-spring),border-color var(--dur-fast) var(--ease-spring),color var(--dur-fast) var(--ease-spring);width:21px}.stepper__chev{align-self:center;color:#ffffff42;color:var(--text-disabled);flex-shrink:0}@media (max-width:720px){.stepper__label{display:none}.stepper__step{gap:0}}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:.88rem;font-weight:600;gap:8px;height:38px;justify-content:center;letter-spacing:.01em;padding:0 18px;transition:background .16s cubic-bezier(.32,.72,0,1),color .16s cubic-bezier(.32,.72,0,1),border-color .16s cubic-bezier(.32,.72,0,1),box-shadow .16s cubic-bezier(.32,.72,0,1),transform .1s ease-out,opacity .16s ease;transition:background var(--dur-fast) var(--ease-spring),color var(--dur-fast) var(--ease-spring),border-color var(--dur-fast) var(--ease-spring),box-shadow var(--dur-fast) var(--ease-spring),transform var(--dur-instant) ease-out,opacity var(--dur-fast) ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{cursor:not-allowed;opacity:.45}.btn--primary{background:linear-gradient(180deg,#ffffff1f,#fff0 40%),#4f9cf0;background:linear-gradient(180deg,#ffffff1f 0,#fff0 40%),var(--accent);box-shadow:0 1px 2px #0000004d,inset 0 0 0 1px #ffffff14;color:#fff}.btn--primary:hover:not(:disabled){background:linear-gradient(180deg,#ffffff24,#fff0 40%),#6cb0fa;background:linear-gradient(180deg,#ffffff24 0,#fff0 40%),var(--accent-hover)}.btn--primary:active:not(:disabled){background:#3d87d9;background:var(--accent-active)}.btn--secondary{background:#ffffff12;box-shadow:inset 0 0 0 1px #ffffff1a;box-shadow:inset 0 0 0 1px var(--line-default);color:#fffffff0;color:var(--text-primary)}.btn--secondary:hover:not(:disabled){background:#ffffff1c}.btn--ghost{background:#0000;color:#ffffff9e;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:#ffffff0f;color:#fffffff0;color:var(--text-primary)}.btn--danger{background:#f0564f1f;background:var(--danger-soft);box-shadow:inset 0 0 0 1px #f0564f4d;color:#f0564f;color:var(--danger)}.btn--danger:hover:not(:disabled){background:#f0564f33}.btn--danger-solid{background:#f0564f;background:var(--danger);color:#fff}.btn--danger-solid:hover:not(:disabled){background:#f3726c}.btn--success{background:#34c77b;background:var(--success);color:#fff}.btn--success:hover:not(:disabled){background:#4cd48d}.btn--sm{border-radius:5px;border-radius:var(--radius-xs);font-size:.8rem;height:31px;padding:0 12px}.btn--lg{border-radius:11px;border-radius:var(--radius-md);font-size:.95rem;height:46px;padding:0 26px}.btn--block{width:100%}.card{background:#14161a;background:var(--bg-surface);border:1px solid #ffffff0f;border:1px solid var(--line-subtle);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000003d,0 8px 24px #00000047;box-shadow:var(--shadow-md);padding:clamp(16px,2.5vw,24px);padding:clamp(var(--space-4),2.5vw,var(--space-5))}.card--tight{padding:16px;padding:var(--space-4)}.card--flush{overflow:hidden;padding:0}.panel{background:#1c1f24;background:var(--bg-elevated);border:1px solid #ffffff0f;border:1px solid var(--line-subtle);border-radius:11px;border-radius:var(--radius-md);padding:16px;padding:var(--space-4)}.glass{backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);background:#16191eb8;border:1px solid #ffffff17;border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000003d,0 8px 24px #00000047;box-shadow:var(--shadow-md)}.section-title{color:#fffffff0;color:var(--text-primary);font-size:1.24rem;font-weight:600;letter-spacing:-.02em}.section-sub{color:#ffffff9e;color:var(--text-secondary);font-size:.88rem;margin-top:3px}.input,.select,.textarea{background:#ffffff0a;background:var(--bg-input);border:1px solid #ffffff1a;border:1px solid var(--line-default);border-radius:8px;border-radius:var(--radius-sm);color:#fffffff0;color:var(--text-primary);font-size:.9rem;height:40px;padding:0 13px;transition:border-color .16s cubic-bezier(.32,.72,0,1),box-shadow .16s cubic-bezier(.32,.72,0,1),background .16s cubic-bezier(.32,.72,0,1);transition:border-color var(--dur-fast) var(--ease-spring),box-shadow var(--dur-fast) var(--ease-spring),background var(--dur-fast) var(--ease-spring);width:100%}.textarea{height:auto;line-height:1.5;min-height:92px;padding:10px 13px;resize:vertical}.input::placeholder,.textarea::placeholder{color:#fff6;color:var(--text-tertiary)}.input:hover:not(:disabled),.select:hover:not(:disabled),.textarea:hover:not(:disabled){border-color:#ffffff29;border-color:var(--line-strong)}.input:focus,.select:focus,.textarea:focus{background:#ffffff0d;border-color:#4f9cf0;border-color:var(--accent);box-shadow:0 0 0 3px #4f9cf02e}.input:disabled,.select:disabled{cursor:not-allowed;opacity:.5}.input--error{border-color:#f0564f;border-color:var(--danger)}.input--error:focus{box-shadow:0 0 0 3px #f0564f2e}.select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 4 4 4-4' stroke='%23949aa5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;cursor:pointer;padding-right:34px}.field{margin-bottom:16px;margin-bottom:var(--space-4)}.field__label{color:#ffffff9e;color:var(--text-secondary);display:block;font-size:.8rem;font-weight:600;letter-spacing:.02em;margin-bottom:6px}.field__hint{color:#fff6;color:var(--text-tertiary)}.field__error,.field__hint{font-size:.78rem;margin-top:5px}.field__error{color:#f0564f;color:var(--danger)}.seg{background:#ffffff0d;border:1px solid #ffffff0f;border:1px solid var(--line-subtle);border-radius:8px;border-radius:var(--radius-sm);display:inline-flex;gap:2px;padding:3px}.seg__opt{background:#0000;border:none;border-radius:5px;border-radius:calc(var(--radius-sm) - 3px);color:#ffffff9e;color:var(--text-secondary);cursor:pointer;font-size:.83rem;font-weight:500;padding:6px 14px;transition:background .16s cubic-bezier(.32,.72,0,1),color .16s cubic-bezier(.32,.72,0,1),box-shadow .16s cubic-bezier(.32,.72,0,1);transition:background var(--dur-fast) var(--ease-spring),color var(--dur-fast) var(--ease-spring),box-shadow var(--dur-fast) var(--ease-spring);white-space:nowrap}.seg__opt--active,.seg__opt:hover:not(.seg__opt--active){color:#fffffff0;color:var(--text-primary)}.seg__opt--active{background:#24282e;background:var(--bg-overlay);box-shadow:0 1px 2px #00000047,inset 0 0 0 1px #ffffff1a;box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--line-default)}.badge{align-items:center;border-radius:999px;border-radius:var(--radius-full);display:inline-flex;font-size:.74rem;font-weight:600;gap:6px;height:24px;letter-spacing:.02em;padding:0 10px;white-space:nowrap}.badge--neutral{background:#ffffff12;color:#ffffff9e;color:var(--text-secondary)}.badge--accent{background:#4f9cf01f;background:var(--accent-soft);color:#6cb0fa;color:var(--accent-hover)}.badge--success{background:#34c77b1f;background:var(--success-soft);color:#34c77b;color:var(--success)}.badge--warning{background:#f5b83d1f;background:var(--warning-soft);color:#f5b83d;color:var(--warning)}.badge--danger{background:#f0564f1f;background:var(--danger-soft);color:#f0564f;color:var(--danger)}.badge--teal{background:#2fc6b71f;background:var(--teal-soft);color:#2fc6b7;color:var(--teal)}.status-dot{border-radius:999px;border-radius:var(--radius-full);flex-shrink:0;height:7px;width:7px}.table-wrap{border:1px solid #ffffff0f;border:1px solid var(--line-subtle);border-radius:11px;border-radius:var(--radius-md);overflow-x:auto}.table{border-collapse:collapse;font-size:.86rem;width:100%}.table th{background:#1c1f24;background:var(--bg-elevated);border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--line-default);color:#fff6;color:var(--text-tertiary);font-size:.74rem;font-weight:600;letter-spacing:.05em;padding:10px 14px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:1}.table td{border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--line-subtle);color:#fffffff0;color:var(--text-primary);padding:10px 14px}.table tbody tr{transition:background .1s ease;transition:background var(--dur-instant) ease}.table tbody tr:hover{background:#ffffff08}.table tbody tr:last-child td{border-bottom:none}.modal-scrim{align-items:center;animation:scrim-in .24s ease both;animation:scrim-in var(--dur-base) ease both;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#05060899;display:flex;inset:0;justify-content:center;padding:24px;padding:var(--space-5);position:fixed;z-index:1000}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.modal{animation:modal-in .4s cubic-bezier(.16,1,.3,1) backwards;animation:modal-in var(--dur-slow) var(--ease-out-expo) backwards;background:#1c1f24;background:var(--bg-elevated);border:1px solid #ffffff1a;border:1px solid var(--line-default);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 0 0 1px #ffffff0f,0 4px 12px #00000059,0 24px 64px #00000073;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;max-height:min(84vh,900px);max-width:560px;overflow:hidden;width:100%}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:none}}.modal__header{align-items:center;border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--line-subtle);display:flex;flex-shrink:0;gap:16px;gap:var(--space-4);justify-content:space-between;padding:16px 24px;padding:var(--space-4) var(--space-5)}.modal__title{font-size:1.05rem;font-weight:600;letter-spacing:-.01em}.modal__body{min-height:0;overflow-y:auto;padding:24px;padding:var(--space-5)}.modal__footer{border-top:1px solid #ffffff0f;border-top:1px solid var(--line-subtle);flex-shrink:0;justify-content:flex-end;padding:16px 24px;padding:var(--space-4) var(--space-5)}.modal__footer,.toast-region{display:flex;gap:8px;gap:var(--space-2)}.toast-region{align-items:center;bottom:22px;flex-direction:column;left:50%;pointer-events:none;position:fixed;transform:translateX(-50%);z-index:1500}.toast{align-items:center;animation:toast-in .4s cubic-bezier(.16,1,.3,1) backwards;animation:toast-in var(--dur-slow) var(--ease-out-expo) backwards;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);background:#1c1f24d9;border:1px solid #ffffff1a;border:1px solid var(--line-default);border-radius:999px;border-radius:var(--radius-full);box-shadow:0 2px 4px #0000003d,0 16px 48px #0006;box-shadow:var(--shadow-lg);color:#fffffff0;color:var(--text-primary);display:flex;font-size:.85rem;font-weight:500;gap:9px;padding:10px 16px;pointer-events:auto}.toast--leaving{animation:toast-out .24s cubic-bezier(.32,.72,0,1) both;animation:toast-out var(--dur-base) var(--ease-spring) both}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}@keyframes toast-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(14px) scale(.96)}}.viewer{background:#000;background:var(--bg-viewer);border:1px solid #ffffff0f;border:1px solid var(--line-subtle);border-radius:11px;border-radius:var(--radius-md);overflow:hidden;position:relative}.viewer__hud{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0a0c0fa6;border:1px solid #ffffff0f;border:1px solid var(--line-subtle);border-radius:8px;border-radius:var(--radius-sm);color:#ffffff9e;color:var(--text-secondary);font-size:.76rem;font-weight:500;padding:6px 10px;position:absolute;z-index:5}.progress{background:#ffffff14;height:6px;overflow:hidden;width:100%}.progress,.progress__fill{border-radius:999px;border-radius:var(--radius-full)}.progress__fill{background:#4f9cf0;background:var(--accent);height:100%;transition:width .4s cubic-bezier(.32,.72,0,1);transition:width var(--dur-slow) var(--ease-spring)}.progress__fill--indeterminate{animation:progress-slide 1.4s cubic-bezier(.32,.72,0,1) infinite;animation:progress-slide 1.4s var(--ease-spring) infinite;width:40%!important}@keyframes progress-slide{0%{transform:translateX(-110%)}to{transform:translateX(360%)}}.spinner{animation:spin .8s linear infinite;border:2.5px solid #ffffff1f;border-radius:50%;border-top:2.5px solid var(--accent);height:28px;width:28px}.spinner--sm{border-width:2px;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.skeleton{background:#ffffff0f;border-radius:8px;border-radius:var(--radius-sm);overflow:hidden;position:relative}.skeleton:after{animation:shimmer 1.6s infinite;background:linear-gradient(90deg,#0000,#ffffff0f,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%)}@keyframes shimmer{to{transform:translateX(100%)}}.empty{align-items:center;color:#fff6;color:var(--text-tertiary);display:flex;flex-direction:column;gap:8px;gap:var(--space-2);justify-content:center;padding:48px 24px;padding:var(--space-7) var(--space-5);text-align:center}.empty__title{color:#ffffff9e;color:var(--text-secondary);font-size:.95rem;font-weight:600}.empty__sub{font-size:.84rem;max-width:340px}.dropzone{background:#ffffff05;border:1.5px dashed #ffffff29;border:1.5px dashed var(--line-strong);border-radius:14px;border-radius:var(--radius-lg);cursor:pointer;transition:border-color .16s cubic-bezier(.32,.72,0,1),background .16s cubic-bezier(.32,.72,0,1),transform .16s cubic-bezier(.32,.72,0,1);transition:border-color var(--dur-fast) var(--ease-spring),background var(--dur-fast) var(--ease-spring),transform var(--dur-fast) var(--ease-spring)}.dropzone--over,.dropzone:not(.dropzone--done):not(.dropzone--error):hover{background:#4f9cf012;background:var(--accent-softer);border-color:#4f9cf0;border-color:var(--accent)}.dropzone--over{transform:scale(1.008)}.dropzone--done{background:#34c77b0d;border-color:#34c77b66;border-style:solid}.dropzone--error{background:#f0564f0d;border-color:#f0564f80;border-style:solid}.alert{align-items:flex-start;border-radius:11px;border-radius:var(--radius-md);display:flex;font-size:.86rem;gap:10px;line-height:1.45;padding:12px 14px}.alert--info{background:#4f9cf012;background:var(--accent-softer);border:1px solid #4f9cf040;color:#fffffff0;color:var(--text-primary)}.alert--success{background:#34c77b1f;background:var(--success-soft);border:1px solid #34c77b4d;color:#34c77b;color:var(--success)}.alert--warning{background:#f5b83d1f;background:var(--warning-soft);border:1px solid #f5b83d4d;color:#f5b83d;color:var(--warning)}.alert--danger{background:#f0564f1f;background:var(--danger-soft);border:1px solid #f0564f4d;color:#f0564f;color:var(--danger)}.divider{background:#ffffff0f;background:var(--line-subtle);border:none;height:1px;margin:16px 0;margin:var(--space-4) 0}.text-center{text-align:center}.full-width{width:100%}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:24px}.row{display:flex;flex-wrap:wrap;gap:16px;gap:var(--space-4)}.row--between,.row--center{align-items:center}.row--between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:16px;gap:var(--space-4)}.container{margin:0 auto;max-width:1200px;padding:0 16px;width:100%}.grid-auto{grid-gap:16px;grid-gap:var(--space-4);display:grid;gap:16px;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}.grid-auto--wide{grid-template-columns:repeat(auto-fit,minmax(min(480px,100%),1fr))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .24s ease-in-out;animation:fadeIn var(--dur-base) ease-in-out}@keyframes glow{0%{box-shadow:0 0 5px #4f9cf066}50%{box-shadow:0 0 18px #4f9cf0a6}to{box-shadow:0 0 5px #4f9cf066}}.glow{animation:glow 2s infinite}.loading-dots:after{animation:dots 1.5s steps(4) infinite;content:"..."}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%{content:"..."}80%,to{content:""}}@keyframes fadeTransition{0%{opacity:0}50%{opacity:.3}to{opacity:1}}.fade-transition{animation:fadeTransition .4s ease-in;animation:fadeTransition var(--dur-slow) ease-in}@keyframes slideDown{0%{max-height:0;opacity:0;transform:translateY(-10px)}to{max-height:200px;opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{max-height:200px;opacity:1;transform:translateY(0)}to{max-height:0;opacity:0;transform:translateY(-10px)}}.spine-regions-panel{animation:slideDown .24s cubic-bezier(.16,1,.3,1);animation:slideDown var(--dur-base) var(--ease-out-expo);transform-origin:top center}.spine-regions-panel-exit{animation:slideUp .24s cubic-bezier(.32,.72,0,1) forwards;animation:slideUp var(--dur-base) var(--ease-spring) forwards}.rise-in{animation:page-enter .4s cubic-bezier(.16,1,.3,1) backwards;animation:page-enter var(--dur-slow) var(--ease-out-expo) backwards;animation-delay:0ms;animation-delay:calc(var(--i, 0)*40ms)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.spinner,.spinner--sm{animation-duration:.8s!important;animation-iteration-count:infinite!important}.progress__fill--indeterminate{animation-duration:1.4s!important;animation-iteration-count:infinite!important}}@media (prefers-reduced-transparency:reduce){.chrome,.glass,.modal-scrim,.toast,.viewer__hud{backdrop-filter:none;-webkit-backdrop-filter:none}.chrome{background:#101216}.glass{background:#1c1f24;background:var(--bg-elevated)}.toast{background:#24282e;background:var(--bg-overlay)}}@media (prefers-contrast:more){:root{--line-subtle:#ffffff38;--line-default:#ffffff57;--text-secondary:#fffc;--text-tertiary:#ffffffa6}}
/*# sourceMappingURL=main.f660e17d.css.map*/