.offline-banner[data-v-3e7f984b]{position:fixed;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom,0px) + 12px);z-index:9999;display:flex;align-items:center;gap:.6rem;padding:.5rem .9rem;border-radius:999px;background:#1f2937;color:#fff;box-shadow:0 6px 24px #00000040;font-size:.85rem;max-width:calc(100vw - 24px)}.offline-banner--off[data-v-3e7f984b]{background:#b45309}.offline-banner__dot[data-v-3e7f984b]{width:.6rem;height:.6rem;border-radius:50%;background:#34d399;flex:0 0 auto}.offline-banner--off .offline-banner__dot[data-v-3e7f984b]{background:#fde68a}.offline-banner__txt[data-v-3e7f984b]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.offline-banner__btn[data-v-3e7f984b]{border:0;background:#ffffff26;color:#fff;padding:.25rem .6rem;border-radius:999px;cursor:pointer;font-size:.8rem;flex:0 0 auto}.offline-banner__btn[data-v-3e7f984b]:hover{background:#ffffff47}.ob-fade-enter-active[data-v-3e7f984b],.ob-fade-leave-active[data-v-3e7f984b]{transition:opacity .2s ease}.ob-fade-enter-from[data-v-3e7f984b],.ob-fade-leave-to[data-v-3e7f984b]{opacity:0}.upd-overlay[data-v-08550fb9]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#0f172a8c;padding:20px}.upd-card[data-v-08550fb9]{width:100%;max-width:420px;background:var(--surface-card);border:1px solid var(--border-color);border-radius:16px;padding:1.4rem 1.4rem 1.1rem;box-shadow:0 20px 60px #00000059}.upd-title[data-v-08550fb9]{margin:0 0 .4rem;font-size:1.15rem;color:var(--text-primary)}.upd-ver[data-v-08550fb9]{margin:0 0 1.1rem;color:var(--text-secondary);font-size:.95rem}.upd-notes[data-v-08550fb9]{color:var(--text-muted)}.upd-actions[data-v-08550fb9]{display:flex;justify-content:flex-end;gap:.6rem}.upd-btn[data-v-08550fb9]{border:0;border-radius:10px;padding:.6rem 1.1rem;font-size:.95rem;cursor:pointer}.upd-btn--ghost[data-v-08550fb9]{background:var(--surface-muted);color:var(--text-secondary)}.upd-btn--primary[data-v-08550fb9]{background:#f59e0b;color:#1f2937;font-weight:600}.upd-btn[data-v-08550fb9]:disabled{opacity:.6;cursor:default}.pwa-upd[data-v-56881087]{position:fixed;z-index:2000;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-radius:999px;font-size:.9rem;color:var(--text-primary, #e9eaee);background:var(--glass-bg, color-mix(in srgb, var(--surface-card, #1c1d21) 88%, transparent));border:1px solid var(--glass-border, rgba(255, 255, 255, .14));box-shadow:0 10px 34px #00000073;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:min(94vw,460px)}.pwa-upd__dot[data-v-56881087]{width:9px;height:9px;border-radius:50%;background:var(--color-primary, #7a5a3a);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary, #7a5a3a) 30%,transparent);flex-shrink:0}.pwa-upd__txt[data-v-56881087]{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-upd__reload[data-v-56881087]{flex-shrink:0;padding:6px 14px;border-radius:999px;font-weight:700;font-size:.85rem;cursor:pointer;border:none;color:#fff;background:var(--color-primary, #7a5a3a)}.pwa-upd__reload[data-v-56881087]:hover{filter:brightness(1.08)}.pwa-upd__reload[data-v-56881087]:disabled{opacity:.6;cursor:default}.pwa-upd__x[data-v-56881087]{flex-shrink:0;border:none;background:transparent;color:var(--text-secondary, #9a9ca2);font-size:1rem;cursor:pointer;padding:4px;line-height:1}.pwa-upd__x[data-v-56881087]:hover{color:var(--text-primary, #e9eaee)}.pwa-slide-enter-active[data-v-56881087],.pwa-slide-leave-active[data-v-56881087]{transition:transform .25s ease,opacity .25s ease}.pwa-slide-enter-from[data-v-56881087],.pwa-slide-leave-to[data-v-56881087]{transform:translate(-50%,120%);opacity:0}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}:root{--palette-indigo-50: #eef2ff;--palette-indigo-100: #e0e7ff;--palette-indigo-200: #c7d2fe;--palette-indigo-300: #a5b4fc;--palette-indigo-400: #818cf8;--palette-indigo-500: #6366f1;--palette-indigo-600: #4f46e5;--palette-indigo-700: #4338ca;--palette-indigo-800: #3730a3;--palette-indigo-900: #312e81;--palette-slate-50: #f8fafc;--palette-slate-100: #f1f5f9;--palette-slate-200: #e2e8f0;--palette-slate-300: #cbd5e1;--palette-slate-400: #94a3b8;--palette-slate-500: #64748b;--palette-slate-600: #475569;--palette-slate-700: #334155;--palette-slate-800: #1e293b;--palette-slate-900: #0f172a;--palette-slate-950: #020617;--palette-green-500: #22c55e;--palette-green-600: #16a34a;--palette-green-700: #15803d;--palette-amber-500: #f59e0b;--palette-amber-600: #d97706;--palette-amber-700: #b45309;--palette-red-500: #ef4444;--palette-red-600: #dc2626;--palette-red-700: #b91c1c;--palette-blue-500: #3b82f6;--palette-blue-600: #2563eb;--palette-blue-700: #1d4ed8;--palette-purple-500: #a855f7;--palette-purple-600: #9333ea;--palette-purple-700: #7e22ce;--color-primary: #2f6fb0;--color-primary-hover: #285f97;--color-primary-active: #21507e;--color-primary-soft: #e8f0f8;--color-primary-content: #ffffff;--color-success: var(--palette-green-600);--color-success-hover: var(--palette-green-700);--color-success-soft: #dcfce7;--color-success-content: #ffffff;--color-warning: var(--palette-amber-600);--color-warning-hover: var(--palette-amber-700);--color-warning-soft: #fef3c7;--color-warning-content: #ffffff;--color-danger: var(--palette-red-600);--color-danger-hover: var(--palette-red-700);--color-danger-soft: #fee2e2;--color-danger-content: #ffffff;--color-info: var(--palette-blue-600);--color-info-hover: var(--palette-blue-700);--color-info-soft: #dbeafe;--color-info-content: #ffffff;--color-fabrication: var(--palette-purple-600);--color-fabrication-hover: var(--palette-purple-700);--color-fabrication-soft: #f3e8ff;--color-fabrication-content: #ffffff;--color-favorite: #f59e0b;--color-favorite-soft: rgb(245 158 11 / .12);--color-favorite-hover: rgb(245 158 11 / .2);--surface-page: #fbfcfd;--surface-card: #ffffff;--surface-raised: #ffffff;--surface-muted: #f4f7fa;--surface-hover: #eef3f8;--surface-sunken: #e2e8f0;--surface-overlay: rgb(31 42 55 / .45);--chantier-l: 87%;--chantier-c: .08;--glass-bg: rgb(255 255 255 / .48);--glass-bg-strong: rgb(255 255 255 / .66);--glass-border: rgb(90 115 150 / .28);--glass-highlight: rgb(255 255 255 / .95);--glass-blur: 16px;--glass-shadow: 0 12px 30px -12px rgb(31 47 70 / .38), 0 3px 8px -3px rgb(31 47 70 / .18);--board-bg: radial-gradient(120% 80% at 10% -12%, rgb(47 111 176 / .22), transparent 58%), radial-gradient(120% 90% at 108% 12%, rgb(110 106 242 / .2), transparent 55%), radial-gradient(110% 120% at 65% 122%, rgb(34 197 94 / .12), transparent 55%), linear-gradient(180deg, #e4ebf4, #d6deea);--text-primary: #1f2a37;--text-secondary: #566173;--text-muted: #667085;--text-inverted: #ffffff;--text-link: var(--color-primary);--border-color: #e7edf3;--border-strong: #d4dde6;--border-focus: var(--color-primary);--ring-color: rgb(47 111 176 / .3);--ring-width: 3px;--space-0: 0;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 3rem;--space-4xl: 4rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-md: .9375rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--shadow-sm: 0 1px 2px 0 rgb(15 23 42 / .05);--shadow-md: 0 4px 6px -1px rgb(15 23 42 / .1), 0 2px 4px -2px rgb(15 23 42 / .1);--shadow-lg: 0 10px 15px -3px rgb(15 23 42 / .1), 0 4px 6px -4px rgb(15 23 42 / .1);--shadow-xl: 0 20px 25px -5px rgb(15 23 42 / .1), 0 8px 10px -6px rgb(15 23 42 / .1);--z-dropdown: 1000;--z-sticky: 1100;--z-modal-backdrop: 1200;--z-modal: 1300;--z-toast: 1400;--z-tooltip: 1500;--transition-fast: .12s;--transition-base: .2s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--control-height-sm: 2rem;--control-height-md: 2.5rem;--control-height-lg: 3rem;--control-padding-x: var(--space-md);color-scheme:light}[data-theme=black],[data-theme=dark]{--color-primary: #6e6af2;--color-primary-hover: #8480f6;--color-primary-active: #9a97f8;--color-primary-soft: rgb(110 106 242 / .16);--color-primary-content: #ffffff;--color-success-soft: rgb(34 197 94 / .18);--color-warning-soft: rgb(245 158 11 / .18);--color-danger-soft: rgb(239 68 68 / .18);--color-info-soft: rgb(59 130 246 / .18);--color-fabrication: var(--palette-purple-500);--color-fabrication-hover: #b975fa;--color-fabrication-soft: rgb(168 85 247 / .2);--color-favorite: #f6b73c;--color-favorite-soft: rgb(245 158 11 / .16);--color-favorite-hover: rgb(245 158 11 / .26);--surface-page: #0f1014;--surface-card: #181a22;--surface-raised: #20232d;--surface-muted: #14151b;--surface-hover: rgb(255 255 255 / .05);--surface-sunken: #0b0c0f;--surface-overlay: rgb(0 0 0 / .6);--chantier-l: 34%;--chantier-c: .08;--text-primary: #e7e9f0;--text-secondary: #b7bcc9;--text-muted: #8b90a0;--text-inverted: #0f1014;--text-link: #8480f6;--border-color: #262934;--border-strong: #343845;--ring-color: rgb(110 106 242 / .45);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .45), 0 2px 4px -2px rgb(0 0 0 / .45);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .5);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .55), 0 8px 10px -6px rgb(0 0 0 / .55);--glass-bg: rgb(255 255 255 / .055);--glass-bg-strong: rgb(255 255 255 / .09);--glass-border: rgb(255 255 255 / .12);--glass-highlight: rgb(255 255 255 / .2);--glass-blur: 16px;--glass-shadow: 0 12px 32px -12px rgb(0 0 0 / .65), 0 2px 8px -2px rgb(0 0 0 / .5);--board-bg: radial-gradient(120% 80% at 8% -12%, rgb(110 106 242 / .22), transparent 55%), radial-gradient(120% 90% at 108% 8%, rgb(47 111 176 / .18), transparent 55%), radial-gradient(110% 120% at 72% 122%, rgb(34 197 94 / .1), transparent 55%), linear-gradient(180deg, #0a0b10, #0d0f15);color-scheme:dark}.message-text{white-space:pre-wrap}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion: reduce){.animate-pulse{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
