:root{--color-white: oklch(1 0 0);--color-almost-white: oklch(.994 0 0);--color-canvas-white: oklch(.985 0 0);--color-grey-lightest: oklch(.98 .003 286.351);--color-grey-light: oklch(.94 0 0);--color-grey-regular: oklch(.685 .025 285.728);--color-grey-dark: oklch(.538 0 0);--color-grey-darker: oklch(.088 .061 264.052);--color-red-regular: oklch(.627 .206 33.803);--color-red-10: oklch(.891 .049 32.147);--color-red-5: oklch(.985 .012 30);--color-green-regular: oklch(.711 .16 154.468);--color-green-10: oklch(.905 .055 155);--color-green-5: oklch(.987 .022 155);--color-blue-regular: oklch(.594 .147 257.135);--spacing-tiny: 5px;--spacing-half: 7.5px;--spacing-small: 10px;--spacing-regular: 15px;--spacing-midi: 20px;--spacing-large: 50px;--canvas-dot-size: 1px;--canvas-dot-grid: 14px;--asset-warning-panel-width: 360px;--radius-tiny: 3px;--radius-regular: 6px;--radius-card: 8px;--radius-large: 12px;--shadow-small: 0 1px 1px 0 rgba(0, 0, 0, .04), 0 3px 6px -2px rgba(0, 0, 0, .04);--shadow-strong: 0 2px 2px -1px rgba(0, 0, 0, .1), 0 8px 16px -3px rgba(0, 0, 0, .15);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-title: 18px;--font-size-body: 14px;--font-size-button: 13px;--font-size-small: 12px;--font-size-tiny: 10px;--font-weight-regular: 400;--font-weight-semibold: 600;--bg-app: var(--color-grey-lightest);--bg-card: var(--color-almost-white);--bg-canvas: var(--color-canvas-white);--bg-floating-translucent: oklch(.994 0 0 / .86);--border-color: var(--color-grey-light);--text-primary: var(--color-grey-darker);--text-secondary: var(--color-grey-dark);--text-muted: var(--color-grey-regular);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .5s cubic-bezier(.19, 1, .22, 1);--z-rail-handle: 100;--z-banner: 200;--z-drag-overlay: 900;--z-popover: 1050;--z-tooltip: 1100;--z-dialog-backdrop: 1200;--z-dialog: 1210}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-primary);font-size:var(--font-size-body);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;overflow:hidden}#root{height:100%;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}button:focus-visible{outline:2px solid var(--color-blue-regular);outline-offset:2px}a{color:var(--color-blue-regular);text-decoration:none;transition:color var(--transition-fast)}a:hover{filter:brightness(.85)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-grey-regular);border-radius:999px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--color-grey-dark);background-clip:content-box}.flex-center{display:flex;align-items:center;justify-content:center}.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-shell{position:relative;min-height:100vh;width:100vw;display:grid;place-items:center;padding:var(--spacing-midi);background-color:var(--color-grey-lightest);color:var(--text-primary);font-family:var(--font-family)}.auth-language-switch{position:fixed;top:var(--spacing-midi);right:var(--spacing-midi);z-index:var(--z-popover)}.auth-panel{width:min(100%,390px);display:flex;flex-direction:column;gap:var(--spacing-regular);padding:var(--spacing-midi);background-color:var(--color-almost-white);border:1px solid var(--border-color);border-radius:var(--radius-large);box-shadow:var(--shadow-small)}.auth-panel-header{display:flex;flex-direction:column;gap:var(--spacing-regular);align-items:center;padding:var(--spacing-midi) var(--spacing-regular);text-align:center}.auth-panel-header-logo{margin-bottom:var(--spacing-midi)}.auth-panel-header h1,.auth-panel-header p{margin:0}.auth-panel-header h1{font-size:var(--font-size-title);font-weight:var(--font-weight-semibold);line-height:1.2}.auth-panel-header p{margin-top:var(--spacing-half);color:var(--text-secondary);font-size:var(--font-size-small);line-height:1.4}.auth-form,.auth-stack{display:flex;flex-direction:column;gap:var(--spacing-regular)}.auth-form label{display:flex;flex-direction:column;gap:var(--spacing-tiny);color:var(--text-secondary);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold)}.auth-form input{width:100%;padding:var(--spacing-half) var(--spacing-small);border:1px solid var(--border-color);border-radius:var(--radius-regular);background-color:var(--color-white);color:var(--text-primary);font:inherit;font-size:var(--font-size-body);font-weight:var(--font-weight-regular)}.auth-form input:focus{outline:2px solid var(--color-blue-regular);outline-offset:2px}.auth-provider-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-small)}.auth-status,.auth-error,.auth-notice{padding:var(--spacing-regular);border-radius:var(--radius-regular);font-size:var(--font-size-button);line-height:1.4}.auth-status{background-color:var(--color-white);border:1px solid var(--border-color);color:var(--text-secondary)}.auth-error{background-color:var(--color-red-regular);color:var(--color-white);font-weight:var(--font-weight-semibold)}.auth-notice{display:flex;flex-direction:column;gap:var(--spacing-tiny);background-color:var(--color-red-5);border:1px solid var(--color-red-10);color:var(--text-primary)}.auth-notice strong{font-weight:var(--font-weight-semibold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-tiny);font-family:var(--font-family);font-size:var(--font-size-button);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;line-height:1;white-space:nowrap;border:1px solid transparent;border-radius:var(--radius-regular);box-shadow:var(--shadow-small);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast),filter var(--transition-fast);overflow:hidden;-webkit-appearance:none;appearance:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-blue-regular);outline-offset:2px}.btn--size-regular{padding:var(--spacing-half) var(--spacing-small)}.btn--size-icon-regular{padding:var(--spacing-half)}.btn--size-icon-square{padding:0;width:24px;height:24px}.btn--secondary{background-color:var(--color-white);border-color:var(--color-grey-light);color:var(--color-grey-dark)}.btn--secondary:hover:not(:disabled){background-color:var(--color-grey-lightest);color:var(--color-grey-darker)}.btn--secondary.btn--active{background-color:var(--color-grey-lightest);color:var(--color-grey-darker);border-color:var(--color-grey-light)}.btn--primary-green{background-color:var(--color-green-regular);border-color:#ffffff26;color:var(--color-white)}.btn--primary-green:hover:not(:disabled){filter:brightness(1.05)}.btn--primary-red{background-color:var(--color-red-regular);border-color:#ffffff26;color:var(--color-white)}.btn--primary-red:hover:not(:disabled){filter:brightness(1.05)}.btn--tonality-soft.btn--primary-green:not(.btn--active){background-color:var(--color-green-5);border-color:var(--color-green-10);color:var(--color-green-regular)}.btn--tonality-soft.btn--primary-green:not(.btn--active):hover:not(:disabled){filter:brightness(.97)}.btn--tonality-soft.btn--primary-red:not(.btn--active){background-color:var(--color-red-5);border-color:var(--color-red-10);color:var(--color-red-regular)}.btn--tonality-soft.btn--primary-red:not(.btn--active):hover:not(:disabled){filter:brightness(.97)}.btn:active:not(:disabled){filter:brightness(.92)}.btn--size-icon-regular,.btn--size-icon-square{gap:0}.btn svg{display:block;flex-shrink:0}.dialog-backdrop{position:fixed;inset:0;background-color:#00001566;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-dialog-backdrop);opacity:0;transition:opacity var(--transition-fast)}.dialog-backdrop[data-open]{opacity:1}.dialog-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.97);min-width:340px;max-width:480px;background-color:var(--color-almost-white);border:1px solid var(--color-grey-light);border-radius:var(--radius-card);box-shadow:var(--shadow-strong);padding:var(--spacing-midi);display:flex;flex-direction:column;gap:var(--spacing-small);z-index:var(--z-dialog);opacity:0;transition:opacity var(--transition-fast),transform var(--transition-fast)}.dialog-popup[data-open]{opacity:1;transform:translate(-50%,-50%) scale(1)}.dialog-popup:focus{outline:none}.dialog-title{font-family:var(--font-family);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-grey-darker);letter-spacing:-.01em;margin:0}.dialog-description{font-family:var(--font-family);font-size:var(--font-size-button);color:var(--color-grey-dark);line-height:1.5;margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--spacing-small);margin-top:var(--spacing-small)}.tinto-select{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-tiny);font-family:var(--font-family);font-size:var(--font-size-button);font-weight:var(--font-weight-semibold);letter-spacing:0;line-height:1;white-space:nowrap;padding:var(--spacing-half) var(--spacing-small);background-color:var(--color-white);border:1px solid var(--color-grey-light);border-radius:var(--radius-regular);box-shadow:var(--shadow-small);color:var(--color-grey-dark);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast),filter var(--transition-fast)}.tinto-select:hover{background-color:var(--color-grey-lightest);color:var(--color-grey-darker)}.tinto-select:focus-visible{outline:2px solid var(--color-blue-regular);outline-offset:2px}.tinto-select[data-popup-open]{background-color:var(--color-grey-lightest);color:var(--color-grey-darker)}.tinto-select-start-icon,.tinto-select-end-icon,.tinto-select-item-indicator{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tinto-select-value{min-width:0}.tinto-select-positioner{z-index:var(--z-popover)}.tinto-select-popup{min-width:var(--anchor-width);padding:var(--spacing-tiny);background-color:var(--color-white);border:1px solid var(--color-grey-light);border-radius:var(--radius-regular);box-shadow:var(--shadow-strong);transform-origin:var(--transform-origin);transition:transform var(--transition-fast),opacity var(--transition-fast)}.tinto-select-popup[data-starting-style],.tinto-select-popup[data-ending-style]{opacity:0;transform:scale(.98)}.tinto-select-list{display:flex;flex-direction:column;gap:2px;outline:none}.tinto-select-item{display:grid;grid-template-columns:16px 1fr;align-items:center;gap:var(--spacing-tiny);min-height:28px;padding:var(--spacing-tiny) var(--spacing-half);border-radius:var(--radius-tiny);color:var(--color-grey-dark);font-family:var(--font-family);font-size:var(--font-size-button);font-weight:var(--font-weight-semibold);letter-spacing:0;line-height:1;cursor:pointer;outline:none}.tinto-select-item[data-highlighted]{background-color:var(--color-grey-lightest);color:var(--color-grey-darker)}.tinto-select-item-indicator{opacity:0;color:var(--color-grey-darker)}.tinto-select-item[data-selected] .tinto-select-item-indicator{opacity:1}.tinto-select-item-text{min-width:0}
