:root{--primary: #6366f1;--primary-hover: #4f46e5;--primary-active: #4338ca;--primary-on: #ffffff;--primary-subtle: rgba(99, 102, 241, .08);--primary-glow: rgba(99, 102, 241, .15);--secondary: #3b82f6;--secondary-hover: #2563eb;--secondary-on: #ffffff;--accent-sky: #62aef0;--accent-purple: #d6b6f6;--accent-purple-deep: #391c57;--accent-pink: #ff64c8;--accent-orange: #dd5b00;--accent-orange-deep: #793400;--accent-teal: #2a9d99;--accent-green: #1aae39;--accent-brown: #523410;--accent-rose: #ff64c8;--accent-amber: #f59e0b;--accent-emerald: #10b981;--accent-cyan: #06b6d4;--accent-violet: #8b5cf6;--accent-fuchsia: #d946ef;--canvas: #f9f9f6;--canvas-soft: #f4f3f0;--surface: #ffffff;--surface-hover: #fcfcfb;--hairline: rgba(0, 0, 0, .06);--hairline-strong: rgba(0, 0, 0, .12);--bg-overlay: rgba(15, 23, 42, .25);--ink: #0f172a;--ink-secondary: #334155;--ink-muted: #64748b;--ink-faint: #94a3b8;--ink-inverse: #ffffff;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--mesh-blob-1: rgba(99, 102, 241, .1);--mesh-blob-2: rgba(139, 92, 246, .08);--mesh-blob-3: rgba(244, 63, 94, .06);--mesh-blob-4: rgba(6, 182, 212, .07);--radius-pill: 9999px;--radius-card: 16px;--radius-md: 10px;--radius-sm: 6px;--radius-xs: 4px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-heading: "Plus Jakarta Sans", "Inter", sans-serif;--font-mono: "SF Mono", SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;--text-display: 700 clamp(36px, 5.5vw, 64px)/1 var(--font-sans);--text-h1: 700 clamp(28px, 4vw, 40px)/1.1 var(--font-sans);--text-h2: 700 clamp(22px, 3vw, 32px)/1.1 var(--font-sans);--text-h3: 600 22px/1.3 var(--font-sans);--text-h4: 600 18px/1.3 var(--font-sans);--text-body: 400 16px/1.6 var(--font-sans);--text-body-sm: 400 15px/1.5 var(--font-sans);--text-button: 500 15px/1.4 var(--font-sans);--text-caption: 400 14px/1.5 var(--font-sans);--text-xs: 500 12px/1.3 var(--font-sans);--text-eyebrow: 600 11px/1.2 var(--font-sans);--text-display-size: clamp(36px, 5.5vw, 64px);--text-h1-size: clamp(28px, 4vw, 40px);--text-h2-size: clamp(22px, 3vw, 32px);--text-h3-size: 22px;--text-h4-size: 18px;--text-body-size: 16px;--text-body-sm-size: 15px;--text-button-size: 15px;--text-caption-size: 14px;--text-xs-size: 12px;--text-eyebrow-size: 11px;--shadow-flat: 0 0 0 0 transparent;--shadow-soft: 0 1px 2px rgba(0,0,0,.04), 0 2px 4px rgba(0,0,0,.03);--shadow-elevated: 0 1px 3px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.04), 0 12px 32px rgba(0,0,0,.04);--glass-1: rgba(255, 255, 255, .6);--glass-2: rgba(255, 255, 255, .78);--glass-3: rgba(255, 255, 255, .9);--glass-border: rgba(0, 0, 0, .06);--glass-border-strong: rgba(0, 0, 0, .12);--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .6);--blur-sm: 8px;--blur-md: 14px;--blur-lg: 22px;--blur-xl: 32px;--blur-2xl: 48px;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--sidebar-width: 240px;--toolbar-height: 48px;--canvas-grid-color: #e2e1dd;--sticky-bg: #fffde7;--sticky-border: #f5e6a3;--focus-ring: 0 0 0 3px rgba(99, 102, 241, .35);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out-quint: cubic-bezier(.22, 1, .36, 1);--ease-in-out-sine: cubic-bezier(.37, 0, .63, 1);--duration-fast: .15s;--duration-base: .28s;--duration-slow: .45s;--radius-full: var(--radius-pill);--radius-lg: var(--radius-card);--radius-xxs: var(--radius-xs);--space-xxs: var(--space-1);--space-xs: var(--space-2);--space-sm: var(--space-3);--space-md: var(--space-4);--space-lg: var(--space-6);--space-xl: var(--space-8);--space-xxl: var(--space-8);--space-3xl: var(--space-12);--space-4xl: var(--space-16);--text-display-1: 64px;--text-display-2: 54px;--text-heading-1: var(--text-h1);--text-heading-2: var(--text-h2);--text-heading-3: var(--text-h3);--text-title: var(--text-h4);--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-display: 1;--leading-heading: 1.1;--leading-body: 1.5;--leading-dense: 1.33;--leading-tight: 1.2;--tracking-display-1: -2.125px;--tracking-display-2: -1.875px;--tracking-heading-1: -1px;--tracking-heading-2: -.625px;--tracking-heading-3: -.25px;--tracking-title: -.125px;--tracking-eyebrow: .125px;--transition-fast: var(--duration-fast) ease;--transition-base: var(--duration-base) ease;--transition-slow: var(--duration-slow) ease;--canvas-soft: var(--canvas);--shadow-glass: var(--shadow-elevated);--shadow-glass-hover: 0 1px 3px rgba(0,0,0,.04), 0 8px 16px rgba(0,0,0,.06);--glow-primary: 0 0 0 1px rgba(99, 102, 241, .12), 0 8px 24px rgba(99, 102, 241, .18);--glow-primary-strong: 0 0 0 1px rgba(99, 102, 241, .2), 0 12px 32px rgba(99, 102, 241, .28)}[data-theme=dark]{--canvas: #161618;--surface: #232326;--surface-hover: #2E2E32;--hairline: #2E2E32;--hairline-strong: #3D3D42;--bg-overlay: rgba(0, 0, 0, .6);--ink: #F0EFF5;--ink-secondary: #A09EAD;--ink-muted: #7B7987;--ink-faint: #484753;--ink-inverse: #1A1A2E;--primary: #8B7CF0;--primary-hover: #A092F5;--primary-active: #B8ACFA;--primary-subtle: rgba(139, 124, 240, .12);--primary-glow: rgba(139, 124, 240, .3);--secondary: #60A5FA;--success: #34D399;--warning: #FBBF24;--danger: #F87171;--info: #60A5FA;--glass-1: rgba(22, 22, 24, .6);--glass-2: rgba(22, 22, 24, .78);--glass-3: rgba(22, 22, 24, .9);--glass-border: rgba(255, 255, 255, .08);--glass-border-strong: rgba(255, 255, 255, .16);--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .06);--shadow-soft: 0 1px 2px rgba(0,0,0,.15), 0 2px 4px rgba(0,0,0,.12);--shadow-elevated: 0 1px 3px rgba(0,0,0,.2), 0 4px 12px rgba(0,0,0,.2), 0 12px 32px rgba(0,0,0,.25);--focus-ring: 0 0 0 3px rgba(139, 124, 240, .4);--canvas-grid-color: #2E2E32;--sticky-bg: #232326;--sticky-border: #2E2E32;--mesh-blob-1: rgba(139, 124, 240, .15);--mesh-blob-2: rgba(139, 92, 246, .12);--mesh-blob-3: rgba(244, 63, 94, .1);--mesh-blob-4: rgba(6, 182, 212, .12);--canvas-soft: var(--canvas)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video,canvas{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font:inherit;color:inherit}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{display:flex;flex-direction:column;overflow:hidden;height:100vh;height:100dvh;background-color:var(--canvas);background-image:radial-gradient(at 18% 22%,var(--mesh-blob-1) 0px,transparent 45%),radial-gradient(at 82% 18%,var(--mesh-blob-2) 0px,transparent 45%),radial-gradient(at 68% 78%,var(--mesh-blob-3) 0px,transparent 45%),radial-gradient(at 12% 88%,var(--mesh-blob-4) 0px,transparent 45%);background-attachment:fixed;background-size:100% 100%;animation:mesh-drift 24s ease-in-out infinite alternate}@keyframes mesh-drift{0%{background-position:0% 0%,100% 0%,50% 100%,0% 100%}50%{background-position:20% 25%,75% 15%,60% 70%,15% 80%}to{background-position:35% 10%,60% 35%,45% 65%,25% 90%}}#app{flex:1;display:flex;flex-direction:column;overflow:hidden}.page{display:none;flex:1;overflow:hidden;opacity:0;transform:scale(.99) translateY(4px);transition:opacity var(--duration-slow) var(--ease-out-quint),transform var(--duration-slow) var(--ease-out-quint)}.page.active{display:flex;flex-direction:column;opacity:1;transform:scale(1) translateY(0)}.skip-link{position:fixed;top:-100%;left:8px;z-index:9999;background:var(--primary);color:var(--ink-inverse);padding:8px 16px;border-radius:var(--radius-pill);font-size:14px;font-weight:600;transition:top .2s ease}.skip-link:focus{top:8px}.form-group{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.form-group label{font-size:14px;font-weight:500;color:var(--ink-secondary)}input[type=text],input[type=email],input[type=password],input[type=url],input[type=search],input[type=number],select,textarea{width:100%;padding:var(--space-2) var(--space-3);font-size:15px;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-pill);outline:none;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}input::placeholder{color:var(--ink-faint)}textarea{border-radius:var(--radius-sm);resize:vertical;min-height:80px}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:var(--space-6)}.card-elevated{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:var(--space-6);box-shadow:var(--shadow-soft)}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent);border-radius:var(--radius-pill);padding:4px 12px}.spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--hairline);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}.toast-container{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);pointer-events: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}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.hidden{display:none!important}.auth-page{align-items:center;justify-content:center;background:var(--canvas-soft)}.auth-container{width:100%;max-width:400px;padding:var(--space-xl)}.auth-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--space-xxl);box-shadow:var(--shadow-elevated)}.auth-logo{text-align:center;margin-bottom:var(--space-xl)}.auth-logo h1{font-size:var(--text-h1-size);font-weight:var(--weight-bold);color:var(--ink);margin:0 0 var(--space-1)}.auth-logo p{font-size:var(--text-body-sm-size);color:var(--ink-secondary)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");opacity:.035;mix-blend-mode:overlay}#app{position:relative;z-index:1}.page.dashboard-page{flex-direction:row}.sidebar{width:var(--sidebar-width);background:var(--glass-1);-webkit-backdrop-filter:blur(var(--blur-xl)) saturate(180%);backdrop-filter:blur(var(--blur-xl)) saturate(180%);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;position:relative;transition:width var(--duration-slow) var(--ease-out-quint)}.sidebar.collapsed{width:56px}.sidebar.collapsed .sidebar-header h2,.sidebar.collapsed .sidebar-label,.sidebar.collapsed .board-title,.sidebar.collapsed .board-date,.sidebar.collapsed .user-name,.sidebar.collapsed .user-email,.sidebar.collapsed .sidebar-nav-btn span,.sidebar.collapsed .sidebar-logout-btn span,.sidebar.collapsed .btn span,.sidebar.collapsed .sidebar-lang-select,.sidebar.collapsed #board-search,.sidebar.collapsed .sidebar-search,.sidebar.collapsed .sidebar-search-icon,.sidebar.collapsed .board-delete-btn,.sidebar.collapsed .sidebar-section-divider{display:none}.sidebar.collapsed .sidebar-content{padding:var(--space-sm) 0}.sidebar.collapsed .sidebar-section-content{align-items:center}.sidebar.collapsed .sidebar-nav-btn{justify-content:center;width:36px;height:36px;padding:0;margin:0 auto}.sidebar.collapsed .btn{width:36px;height:36px;min-height:unset;padding:0;margin:0 auto}.sidebar.collapsed .sidebar-logout-btn{justify-content:center;width:36px;height:36px;padding:0;border-radius:var(--radius-sm);margin:0 auto}.sidebar.collapsed .user-profile-pill{width:36px;height:36px;padding:0;justify-content:center;margin:0 auto}.sidebar.collapsed .board-list-item{justify-content:center;padding:var(--space-xs)}.sidebar.collapsed .board-icon{width:24px;height:24px;min-width:unset}.sidebar.collapsed .board-icon svg{width:12px;height:12px}.sidebar-content{flex:1;overflow-y:auto;padding:var(--space-xs) 0;scrollbar-width:thin}.sidebar-header{padding:var(--space-md) var(--space-md);display:flex;align-items:center;min-height:52px;flex-shrink:0}.sidebar-header h2{font-size:var(--text-h4-size);font-weight:var(--weight-bold);letter-spacing:-.02em;margin:0;color:var(--ink);font-family:var(--font-heading)}.sidebar-section{margin-bottom:var(--space-sm)}.sidebar .btn{min-height:34px;font-size:var(--text-xs-size);border-radius:var(--radius-sm);gap:6px}.sidebar .btn svg{width:14px;height:14px}.sidebar-label{padding:0 var(--space-md);font-size:var(--text-eyebrow-size);font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-1);display:block}.sidebar-section-content{padding:0 var(--space-xs);display:flex;flex-direction:column;gap:1px}.sidebar-nav-btn{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:7px var(--space-sm);border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--ink-secondary);font-size:var(--text-caption-size);transition:all var(--duration-fast) var(--ease-out-quint);text-align:left}.sidebar-nav-btn:hover{background:var(--surface);color:var(--ink)}.sidebar-nav-btn svg{width:15px;height:15px;flex-shrink:0;opacity:.7}.sidebar-nav-btn:hover svg{opacity:1}.sidebar-footer{padding:var(--space-sm);border-top:1px solid var(--glass-border);background:var(--glass-1);display:flex;flex-direction:column;gap:var(--space-xs)}.user-profile-pill{display:flex;align-items:center;gap:var(--space-sm);padding:6px var(--space-sm);border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--hairline);min-width:0}.user-avatar{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--text-xs-size);font-weight:var(--weight-bold);flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{font-size:var(--text-xs-size);font-weight:var(--weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);line-height:1.3}.user-email{font-size:var(--text-eyebrow-size);color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.sidebar-logout-btn{display:flex;align-items:center;gap:6px;background:none;border:none;border-radius:var(--radius-sm);padding:6px var(--space-sm);cursor:pointer;color:var(--ink-muted);font-size:var(--text-xs-size);white-space:nowrap;transition:all var(--duration-fast) var(--ease-out-quint);flex-shrink:0;width:100%;justify-content:flex-start}.sidebar-logout-btn:hover{background:var(--primary-subtle);color:var(--danger)}.sidebar-logout-btn svg{width:14px;height:14px;flex-shrink:0;opacity:.7}.sidebar-logout-btn:hover svg{opacity:1}.board-list-item{padding:6px var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-quint);margin-bottom:1px;display:flex;align-items:center;gap:var(--space-sm);border:1px solid transparent}.board-list-item:hover{background:var(--surface)}.board-list-item.active{background:var(--primary-subtle);border-color:var(--primary-glow)}.board-list-item.active .board-title{color:var(--primary);font-weight:600}.board-list-item .board-icon{width:28px;height:28px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.board-list-item .board-icon svg{width:14px;height:14px}.board-list-item .board-info{flex:1;min-width:0}.board-title{font-size:var(--text-xs-size);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);line-height:1.4}.board-date{font-size:var(--text-eyebrow-size);color:var(--ink-faint);line-height:1.3}.board-delete-btn{padding:3px;opacity:0;transition:var(--duration-fast);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs)}.board-delete-btn svg{width:13px;height:13px}.board-list-item:hover .board-delete-btn{opacity:.5}.board-list-item:hover .board-delete-btn:hover{opacity:1;color:var(--danger)}.sidebar-search{padding:0;display:flex;align-items:center;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-sm);transition:border-color var(--duration-fast) var(--ease-out-quint),box-shadow var(--duration-fast) var(--ease-out-quint)}.sidebar-search:focus-within{border-color:var(--primary);box-shadow:var(--focus-ring)}.sidebar-search-icon{display:flex;align-items:center;padding-left:8px;color:var(--ink-faint);flex-shrink:0}.sidebar-search-icon svg{width:13px;height:13px}.sidebar-search-input{width:100%;padding:7px 8px 7px 6px;background:none;border:none;font-size:var(--text-xs-size);color:var(--ink);outline:none;font-family:var(--font-sans)}.sidebar-search-input::placeholder{color:var(--ink-faint)}.sidebar-content{--shadow-top: 0;--shadow-bottom: 0;box-shadow:inset 0 calc(var(--shadow-top) * 12px) 16px -12px #0000001f,inset 0 calc(var(--shadow-bottom) * -12px) 16px -12px #0000001f}@keyframes sidebar-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.sidebar-skeleton{padding:0 var(--space-xs);display:flex;flex-direction:column;gap:4px}.sidebar-skeleton-row{display:flex;align-items:center;gap:var(--space-sm);padding:6px var(--space-sm);border-radius:var(--radius-sm)}.sidebar-skeleton-icon{width:28px;height:28px;border-radius:var(--radius-xs);flex-shrink:0;background:linear-gradient(90deg,var(--hairline) 0%,var(--canvas-soft) 50%,var(--hairline) 100%);background-size:200px 100%;animation:sidebar-shimmer 1.4s ease-in-out infinite}.sidebar-skeleton-line{flex:1;height:10px;border-radius:3px;background:linear-gradient(90deg,var(--hairline) 0%,var(--canvas-soft) 50%,var(--hairline) 100%);background-size:200px 100%;animation:sidebar-shimmer 1.4s ease-in-out infinite}.sidebar-skeleton-line.short{max-width:60%}.sidebar-section-divider{border-top:1px solid var(--hairline);padding-top:var(--space-xs);margin-top:var(--space-xs)}.board-title-rename{width:100%;padding:3px 6px;font-size:var(--text-xs-size);font-weight:var(--weight-medium);background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius-xs);color:var(--ink);outline:none;font-family:var(--font-sans)}.board-title-rename:focus{box-shadow:var(--focus-ring)}.sidebar-empty{padding:var(--space-lg) var(--space-md);text-align:center;color:var(--ink-faint);font-size:var(--text-xs-size)}.sidebar-lang-select{width:100%;padding:5px var(--space-sm);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-sm);font-size:var(--text-eyebrow-size);color:var(--ink-secondary);outline:none;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out-quint);font-family:var(--font-sans)}.sidebar-lang-select:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.board-page{position:relative}.board-toolbar{position:fixed;top:var(--space-md);left:50%;transform:translate(-50%);z-index:var(--z-sticky);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:var(--space-xs) var(--space-sm);box-shadow:var(--shadow-soft);display:flex;align-items:center;gap:var(--space-xs)}.board-canvas{flex:1;overflow:hidden;position:relative;cursor:grab;background:var(--canvas-soft)}.board-canvas:active{cursor:grabbing}.canvas-container{position:absolute;transform-origin:0 0}.minimap{position:fixed;bottom:var(--space-md);right:var(--space-md);width:160px;height:120px;background:var(--glass-2);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(180%);backdrop-filter:blur(var(--blur-lg)) saturate(180%);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-glass),var(--glass-highlight);overflow:hidden;z-index:var(--z-sticky)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:var(--font-sans);font-size:var(--text-button-size);font-weight:600;line-height:var(--leading-dense);border:1px solid transparent;cursor:pointer;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-5);transition:background var(--duration-fast) var(--ease-out-quint),border-color var(--duration-fast) var(--ease-out-quint),transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out-quint);text-decoration:none;white-space:nowrap;min-height:40px}.btn:active{transform:scale(.96) translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(180deg,#6366f1,#4f46e5);color:var(--ink-inverse);box-shadow:inset 0 1px #fff3,0 1px 2px #0000000d,0 4px 12px #6366f126}.btn-primary:hover{background:linear-gradient(180deg,#4f46e5,#4338ca);box-shadow:inset 0 1px #ffffff40,0 2px 4px #00000014,0 8px 24px #6366f140;transform:translateY(-1px)}.btn-primary:active{transform:scale(.96) translateY(1px);box-shadow:inset 0 1px #fff3,0 -1px #00000026 inset,0 2px 6px #6366f133}.btn-primary:focus-visible{box-shadow:var(--focus-ring),0 4px 12px color-mix(in srgb,var(--primary) 25%,transparent)}.btn-glass{background:var(--glass-1);color:var(--ink);border:1px solid var(--glass-border);padding:var(--space-2) var(--space-5);-webkit-backdrop-filter:blur(var(--blur-md)) saturate(180%);backdrop-filter:blur(var(--blur-md)) saturate(180%);box-shadow:var(--glass-highlight),0 2px 8px #0000000a}.btn-glass:hover{background:var(--glass-2);border-color:var(--glass-border-strong);box-shadow:var(--glass-highlight),0 4px 16px #00000014;transform:translateY(-1px)}.btn-glass:active{transform:scale(.96) translateY(1px)}.btn-secondary{background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-5);border:1px solid var(--hairline);box-shadow:var(--shadow-soft)}.btn-secondary:hover{border-color:var(--ink-faint);transform:translateY(-1px)}.btn-secondary:focus-visible{box-shadow:var(--focus-ring)}.btn-secondary:active{transform:scale(.96) translateY(1px)}.btn-ghost{background:var(--surface);color:var(--ink-secondary);border-radius:var(--radius-md);padding:4px 14px;border:1px solid var(--hairline);font-size:var(--text-body-sm-size)}.btn-ghost:hover{background:var(--canvas-soft);color:var(--ink)}.btn-ghost:focus-visible{box-shadow:var(--focus-ring)}.btn-danger{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-5)}.btn-danger:hover{background:var(--danger);color:var(--ink-inverse)}.btn-danger:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 40%,transparent)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:13px;min-height:32px}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-body-size);min-height:48px}.btn-block{width:100%}.btn-icon{width:36px;height:36px;border-radius:var(--radius-full);background:#0000000a;border:none;font-size:var(--text-body-size);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition-fast),transform var(--transition-fast);color:var(--ink-secondary)}.btn-icon:hover{background:#00000014;color:var(--ink)}.btn-icon:active{transform:scale(.9)}.btn-icon:focus-visible{box-shadow:var(--focus-ring)}.btn-google{background:var(--surface);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:10px 20px;gap:var(--space-sm);font-size:var(--text-body-sm-size)}.btn-google svg{width:20px;height:20px}.toolbar-btn{width:32px;height:32px;border:none;border-radius:var(--radius-md);background:transparent;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast);color:var(--ink-secondary);position:relative}.toolbar-btn:hover{background:var(--canvas-soft)}.toolbar-btn:active{background:var(--hairline)}.toolbar-btn:disabled{opacity:.3;cursor:not-allowed}.toolbar-divider{width:1px;height:20px;background:var(--hairline);margin:0 var(--space-1)}.toolbar-label{font-size:var(--text-xs-size);color:var(--ink-faint);min-width:36px;text-align:center;font-family:var(--font-mono)}.board-item{position:absolute;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);border:1px solid var(--hairline);transition:box-shadow var(--transition-fast)}.board-item.selected{box-shadow:0 0 0 2px var(--primary),var(--shadow-soft)}hr{border:none;border-top:1px solid var(--hairline);margin:var(--space-md) 0}.spinner-sm{width:14px;height:14px;border-width:1.5px}.spinner-lg{width:28px;height:28px;border-width:3px}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg-overlay);z-index:var(--z-modal-backdrop);border-radius:inherit}.btn.loading{pointer-events:none;opacity:.7;position:relative}.btn.loading:after{content:"";position:absolute;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite;margin-left:var(--space-xs)}@keyframes modalPop{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--space-lg);opacity:0;transition:opacity var(--duration-base) var(--ease-out-quint),backdrop-filter var(--duration-base) var(--ease-out-quint),background var(--duration-base) var(--ease-out-quint);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}.modal-backdrop.open{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a73}.modal{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated);width:100%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;transform:scale(.95) translateY(8px);transition:transform var(--transition-base)}.modal-backdrop.open .modal{animation:modalPop var(--duration-slow) var(--ease-spring)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-lg) var(--space-sm);flex-shrink:0}.modal-title{font-size:var(--text-h4-size);font-weight:var(--weight-semibold);color:var(--ink);letter-spacing:var(--tracking-title);margin:0}.modal-close{width:28px;height:28px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--ink-muted);cursor:pointer;transition:background var(--transition-fast)}.modal-close:hover{background:var(--canvas-soft);color:var(--ink)}.modal-close svg{width:18px;height:18px;flex-shrink:0}.modal-body{padding:var(--space-sm) var(--space-lg);overflow-y:auto;flex:1;font-size:var(--text-body-sm-size);color:var(--ink-secondary);line-height:var(--leading-body)}.modal-body p{margin:0 0 var(--space-sm)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg) var(--space-lg);flex-shrink:0}.modal-footer .btn-primary,.modal-footer .btn-secondary{min-width:80px}:root{--font-heading: "Plus Jakarta Sans", "Inter", sans-serif;--font-body: "Inter", sans-serif;--font-weight-heading: 800;--font-weight-heading-xl: 800}:lang(ar){--font-heading: "Tajawal", sans-serif;--font-body: "Tajawal", sans-serif}:lang(ja),:lang(zh-CN),:lang(ko){--font-heading: "Inter", sans-serif;--font-body: "Inter", sans-serif}:lang(ru){--font-heading: "Plus Jakarta Sans", "Inter", sans-serif;--font-body: "Inter", sans-serif}:lang(ar) .landing-hero-text{text-align:right}[data-animate]{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}[data-animate].in-view{opacity:1;transform:translateY(0)}[data-animate=fade]{transform:none}[data-animate=scale]{transform:scale(.92)}[data-animate=scale].in-view{transform:scale(1)}[data-animate=slide-left]{transform:translate(-30px)}[data-animate=slide-left].in-view{transform:translate(0)}[data-animate=slide-right]{transform:translate(30px)}[data-animate=slide-right].in-view{transform:translate(0)}[data-animate].in-view:nth-child(1){transition-delay:.05s}[data-animate].in-view:nth-child(2){transition-delay:.12s}[data-animate].in-view:nth-child(3){transition-delay:.19s}[data-animate].in-view:nth-child(4){transition-delay:.26s}[data-animate].in-view:nth-child(5){transition-delay:.33s}[data-animate].in-view:nth-child(6){transition-delay:.4s}[data-animate].in-view:nth-child(7){transition-delay:.47s}[data-animate].in-view:nth-child(8){transition-delay:.54s}[data-animate].in-view:nth-child(9){transition-delay:.61s}@media(prefers-reduced-motion:reduce){[data-animate]{opacity:1;transform:none;transition:none}.landing-hero-blob,.preview-board,.vision-float-card,.landing-feature-card:hover,.landing-feature-icon{animation:none!important;transform:none!important;transition:none!important}}.landing-page{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;background:var(--canvas)}.landing-section h2,.landing-section h3,.landing-hero-title,.landing-pricing-name,.landing-pricing-price,.landing-stat-number{font-family:var(--font-heading)}.landing-nav{position:sticky;top:0;z-index:100;background:#ffffffa6;-webkit-backdrop-filter:blur(24px) saturate(200%);backdrop-filter:blur(24px) saturate(200%);border-bottom:1px solid rgba(0,0,0,.06);transition:box-shadow .3s ease}.landing-nav.scrolled{box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}[data-theme=dark] .landing-nav{background:#1c1c1eb8;border-bottom:1px solid rgba(255,255,255,.06)}.landing-nav-inner{max-width:1100px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}.landing-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:800;font-size:22px;letter-spacing:-.5px}.landing-logo svg{color:var(--primary);flex-shrink:0}.landing-nav-links{display:flex;align-items:center;gap:6px}.landing-nav-links a:not(.btn){text-decoration:none;color:var(--ink-secondary);font-size:14px;font-weight:500;padding:8px 14px;border-radius:8px;transition:background .15s ease,color .15s ease}.landing-nav-links a:not(.btn):hover{background:#0000000a;color:var(--ink)}.landing-nav-links a:not(.btn).active{color:var(--ink);font-weight:600;background:#0000000f}[data-theme=dark] .landing-nav-links a:not(.btn).active{background:#ffffff1a}.landing-nav-links .btn{font-size:14px;margin-left:4px}.btn-nav-cta{position:relative;overflow:hidden;transition:box-shadow .3s ease,transform .3s ease!important}.btn-nav-cta:hover{box-shadow:0 0 20px #0075de59,0 0 40px #0075de26;transform:translateY(-1px)}.btn-nav-cta:active{transform:translateY(0)}.nav-controls{display:flex;align-items:center;gap:6px}.lang-selector{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--hairline);border-radius:var(--radius-pill);padding:6px 28px 6px 12px;font-size:13px;font-weight:500;font-family:var(--font-sans);color:var(--ink-secondary);cursor:pointer;transition:border-color .15s ease,background .15s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23605d6a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px;min-height:36px}.lang-selector:hover{border-color:var(--ink-faint);background-color:#00000005}.lang-selector:focus{border-color:var(--primary);outline:none;box-shadow:var(--focus-ring)}[data-theme=dark] .lang-selector{color:var(--ink-secondary);border-color:var(--glass-border);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a1a1a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}[data-theme=dark] .lang-selector:hover{background-color:#ffffff0a}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:transparent;color:var(--ink-secondary);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease;flex-shrink:0;position:relative}.theme-toggle:hover{border-color:var(--ink-faint);background-color:#00000005;color:var(--ink)}.theme-toggle:focus{border-color:var(--primary);outline:none;box-shadow:var(--focus-ring)}[data-theme=dark] .theme-toggle{border-color:var(--glass-border);color:var(--ink-secondary)}[data-theme=dark] .theme-toggle:hover{background-color:#ffffff0a;color:var(--ink)}.theme-icon-sun,.theme-icon-moon{position:absolute;transition:opacity .25s ease,transform .25s ease}.theme-icon-moon{opacity:0;transform:scale(.5) rotate(-90deg)}[data-theme=dark] .theme-icon-sun{opacity:0;transform:scale(.5) rotate(90deg)}[data-theme=dark] .theme-icon-moon{opacity:1;transform:scale(1) rotate(0)}.landing-nav-toggle{display:none;background:none;border:none;color:var(--ink);cursor:pointer;padding:10px;border-radius:8px;transition:background .15s ease;-webkit-tap-highlight-color:transparent}.landing-nav-toggle:hover{background:#0000000a}.landing-container{max-width:1100px;margin:0 auto;padding:0 24px}.landing-section{padding:100px 0}.landing-section-alt{position:relative;background:#00000005}.landing-section-alt:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.06),transparent)}.landing-section-alt:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.06),transparent)}[data-theme=dark] .landing-section-alt{background:#ffffff05}[data-theme=dark] .landing-section-alt:before,[data-theme=dark] .landing-section-alt:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent)}.landing-section-dark{background:linear-gradient(135deg,#0a0a0b,#1a1a1c 40%,#0f0f1a,#0a0a12);color:#f5f5f7;position:relative;clip-path:polygon(0 3%,100% 0,100% 97%,0 100%);padding:120px 0 140px;margin:20px 0}.landing-section-dark:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.06;pointer-events:none;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='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}.landing-section-dark:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 20% 30%,rgba(99,102,241,.1) 0%,transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(168,85,247,.08) 0%,transparent 50%),radial-gradient(ellipse at 50% 0%,rgba(236,72,153,.06) 0%,transparent 50%)}.landing-section-dark>*{position:relative;z-index:1}.landing-section-dark .landing-section-header h2{color:#f5f5f7}.landing-section-dark .landing-section-header p{color:#ffffff8c}.landing-section-header{text-align:center;margin-bottom:64px}.landing-section-header h2{font-size:clamp(36px,5vw,56px);font-weight:var(--font-weight-heading-xl);letter-spacing:-2px;line-height:1.02;color:var(--ink);margin:0 0 12px}.landing-section-header p{font-size:17px;color:var(--ink-muted);max-width:540px;margin:0 auto;line-height:1.6}.landing-badge{display:inline-flex;align-items:center;font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--primary);background:linear-gradient(135deg,#0075de1f,#6366f114);border:1.5px solid rgba(0,117,222,.25);border-radius:999px;padding:7px 18px;margin-bottom:20px;box-shadow:0 1px 4px #0075de14}.landing-hero{padding:80px 0 60px;position:relative;overflow:clip;min-height:85vh;display:flex;align-items:center}.landing-hero-shapes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.hero-shape{position:absolute;border-radius:50%;filter:blur(100px);will-change:transform}.hero-shape-1{width:600px;height:600px;background:radial-gradient(circle,rgba(0,117,222,.25),transparent 70%);top:-200px;left:-200px;animation:hero-shape-drift-1 12s ease-in-out infinite alternate}.hero-shape-2{width:500px;height:500px;background:radial-gradient(circle,rgba(124,58,237,.2),transparent 70%);bottom:-150px;right:-100px;animation:hero-shape-drift-2 10s ease-in-out infinite alternate-reverse}.hero-shape-3{width:400px;height:400px;background:radial-gradient(circle,rgba(236,72,153,.15),transparent 70%);top:40%;left:50%;animation:hero-shape-drift-3 14s ease-in-out infinite alternate}@keyframes hero-shape-drift-1{0%{transform:translate(0) scale(1)}to{transform:translate(60px,-40px) scale(1.2)}}@keyframes hero-shape-drift-2{0%{transform:translate(0) scale(1)}to{transform:translate(-50px,30px) scale(1.15)}}@keyframes hero-shape-drift-3{0%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-40%,-40%) scale(1.25)}}.landing-hero-content{position:relative;z-index:1;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;max-width:1200px;margin:0 auto;padding:0 32px}.landing-hero-text{text-align:left}.landing-hero-title{font-size:clamp(48px,5.5vw,80px);font-weight:var(--font-weight-heading-xl);letter-spacing:-3px;line-height:.92;color:var(--ink);margin:0 0 20px}.landing-hero-title .gradient-text{background:linear-gradient(135deg,#6c5ce7,#8b5cf6 35%,#ec4899 65%,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 16px rgba(99,102,241,.35))}.typewriter-text:after{content:"|";animation:blinker .7s steps(1) infinite;-webkit-text-fill-color:currentColor;margin-left:2px}@keyframes blinker{50%{opacity:0}}.landing-hero-subtitle{font-size:clamp(16px,1.4vw,18px);color:var(--ink-muted);max-width:480px;margin:0 0 32px;line-height:1.65}.landing-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.landing-hero-actions .btn-xl{padding:16px 36px;font-size:16px;font-weight:700}.landing-hero-board{position:relative;width:100%;aspect-ratio:1 / 1;max-width:520px;margin:0 auto;border-radius:24px;overflow:hidden;box-shadow:0 1px 3px #0000000a,0 8px 24px #0000000f,0 24px 64px #0000001a,0 48px 120px #00000014;transition:box-shadow .4s ease}.landing-hero-board:hover{box-shadow:0 1px 3px #0000000a,0 12px 32px #00000014,0 32px 80px #0000001f,0 64px 160px #0000001a}.hero-board-dotgrid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(circle,var(--canvas-grid-color) 1.2px,transparent 1.2px);background-size:24px 24px;opacity:.15}.hero-sticky{position:absolute;width:clamp(100px,15vw,150px);padding:clamp(8px,1vw,14px);border-radius:12px;font-size:clamp(10px,1vw,12px);line-height:1.4;font-weight:600;color:#333;box-shadow:0 2px 4px #0000000f,0 4px 12px #0000000a,0 0 0 1px #00000008;font-family:var(--font-sans);cursor:default;transition:transform .25s ease,box-shadow .25s ease,z-index 0s;z-index:1;will-change:transform;animation:hero-sticky-float 3s ease-in-out infinite alternate;animation-delay:calc(var(--i, 0) * .25s);transform:translate(var(--parallax-x, 0px),var(--parallax-y, 0px)) rotate(var(--rot, 0deg))}.hero-sticky:hover{transform:scale(1.12) translate(var(--parallax-x, 0px),var(--parallax-y, 0px))!important;box-shadow:0 4px 12px #0000001f,0 8px 24px #0000001a,0 0 0 1.5px #0075de26;z-index:10}[data-theme=dark] .hero-sticky{color:var(--ink);box-shadow:0 2px 4px #0003,0 4px 12px #00000026,0 0 0 1px #ffffff0d}[data-theme=dark] .hero-sticky:hover{box-shadow:0 4px 12px #00000059,0 8px 24px #00000040,0 0 0 1.5px #64d2ff33}.hero-sticky-1{top:8%;left:6%;background:#fffde7;transform:rotate(-4deg)}.hero-sticky-2{top:4%;left:52%;background:#e8f5e9;transform:rotate(3deg)}.hero-sticky-3{top:32%;left:70%;background:#e3f2fd;transform:rotate(-2deg)}.hero-sticky-4{top:40%;left:4%;background:#fce4ec;transform:rotate(2deg)}.hero-sticky-5{top:62%;left:8%;background:#f3e5f5;transform:rotate(-3deg)}.hero-sticky-6{top:55%;left:52%;background:#fff3e0;transform:rotate(1deg)}.hero-sticky-7{top:22%;left:32%;background:#e0f2fe;transform:rotate(-5deg)}.hero-sticky-8{top:74%;left:32%;background:#fce7f3;transform:rotate(4deg)}.hero-sticky-9{top:14%;left:76%;background:#fef9c3;transform:rotate(-2deg)}.hero-sticky-10{top:80%;left:64%;background:#ede9fe;transform:rotate(3deg)}[data-theme=dark] .hero-sticky-1{background:#3d3a1a}[data-theme=dark] .hero-sticky-2{background:#1a3d22}[data-theme=dark] .hero-sticky-3{background:#1a2d3d}[data-theme=dark] .hero-sticky-4{background:#3d1a2d}[data-theme=dark] .hero-sticky-5{background:#2d1a3d}[data-theme=dark] .hero-sticky-6{background:#3d2d1a}[data-theme=dark] .hero-sticky-7{background:#1a2d3d}[data-theme=dark] .hero-sticky-8{background:#3d1a2d}[data-theme=dark] .hero-sticky-9{background:#3a3d1a}[data-theme=dark] .hero-sticky-10{background:#2d1a3d}@keyframes hero-sticky-float{0%{margin-top:0}to{margin-top:-8px}}.landing-trust{padding:32px 0;text-align:center;border-top:1px solid rgba(0,0,0,.04);border-bottom:1px solid rgba(0,0,0,.04);background:#00000003}[data-theme=dark] .landing-trust{border-color:#ffffff0a;background:#ffffff03}.landing-trust-label{font-size:13px;font-weight:500;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:20px}.landing-features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.landing-feature-card{background:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:20px;padding:28px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease,border-color .3s ease;position:relative;overflow:hidden;box-shadow:0 1px 2px #00000008,0 2px 6px #00000005}.landing-feature-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;opacity:0;transition:opacity .4s ease;pointer-events:none;box-shadow:inset 0 0 0 1px #0075de1f,0 8px 32px #0075de1a}.landing-feature-card:hover{transform:translateY(-6px);box-shadow:0 1px 2px #00000008,0 4px 12px #0000000a,0 16px 48px #00000014;border-color:#0075de33}.landing-feature-card:hover:before{opacity:1}.landing-feature-card-wide{grid-column:span 2}.landing-feature-card-tall{grid-row:span 2}.landing-feature-card-full{grid-column:1 / -1}[data-theme=dark] .landing-feature-card{border-color:#ffffff0f}.landing-feature-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;position:relative;transition:transform .3s ease}.landing-feature-card:hover .landing-feature-icon{transform:scale(1.1)}.landing-feature-icon svg{width:24px;height:24px;position:relative;z-index:1}.landing-feature-card h3{font-size:18px;font-weight:var(--font-weight-heading);color:var(--ink);margin:0 0 6px;letter-spacing:-.3px}.landing-feature-card p{font-size:14px;color:var(--ink-muted);line-height:1.6;margin:0}.landing-use-cases{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:16px;scrollbar-width:thin;scrollbar-color:var(--hairline) transparent}.landing-use-cases::-webkit-scrollbar{height:6px}.landing-use-cases::-webkit-scrollbar-track{background:transparent}.landing-use-cases::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:3px}.landing-use-case-card{flex:0 0 300px;scroll-snap-align:start;background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:16px;padding:32px 28px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease,border-color .3s ease;box-shadow:0 1px 2px #00000005,0 2px 6px #00000005;position:relative}.landing-use-case-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;opacity:0;transition:opacity .4s ease;pointer-events:none;box-shadow:inset 0 0 0 1px #0075de14}.landing-use-case-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 1px 2px #00000008,0 4px 12px #0000000a,0 16px 40px #0000000f;border-color:#0075de1f}.landing-use-case-card:hover:after{opacity:1}[data-theme=dark] .landing-use-case-card{border-color:#ffffff0d}.landing-use-case-icon{width:56px;height:56px;margin:0 0 20px;display:flex;align-items:center;justify-content:center}.landing-use-case-icon svg{width:32px;height:32px}.landing-use-case-card h3{font-size:18px;font-weight:var(--font-weight-heading);color:var(--ink);margin:0 0 8px}.landing-use-case-card p{font-size:14px;color:var(--ink-muted);line-height:1.6;margin:0}.landing-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.landing-stat-card{text-align:center;padding:48px 24px;background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:20px;box-shadow:0 1px 2px #00000005,0 4px 12px #00000005;position:relative}.landing-stat-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;pointer-events:none;box-shadow:inset 0 1px #ffffff80}[data-theme=dark] .landing-stat-card{border-color:#ffffff0d}.landing-stat-number{font-size:48px;font-weight:var(--font-weight-heading);letter-spacing:-2px;line-height:1;color:var(--primary);margin-bottom:8px}.landing-stat-card p{font-size:14px;color:var(--ink-muted);margin:0;line-height:1.4}.landing-testimonials-grid{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:16px;scrollbar-width:thin;scrollbar-color:var(--hairline) transparent}.landing-testimonials-grid::-webkit-scrollbar{height:6px}.landing-testimonials-grid::-webkit-scrollbar-track{background:transparent}.landing-testimonials-grid::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:3px}.landing-testimonial{flex:0 0 380px;scroll-snap-align:start;background:var(--surface);border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:32px;box-shadow:0 1px 2px #00000005,0 4px 12px #00000005;transition:transform .3s ease,box-shadow .3s ease}.landing-testimonial:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 4px 12px #0000000a,0 12px 32px #0000000a}[data-theme=dark] .landing-testimonial{border-color:#ffffff0f}.landing-testimonial-stars{display:flex;gap:2px;margin-bottom:16px}.landing-testimonial-stars svg{width:20px;height:20px;color:#f59e0b}.landing-testimonial-quote{font-size:16px;color:var(--ink-secondary);line-height:1.7;margin:0 0 20px;font-style:italic}.landing-testimonial-author{display:flex;align-items:center;gap:12px}.landing-testimonial-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent-purple));display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:#fff;flex-shrink:0}.landing-testimonial-name{font-size:14px;font-weight:600;color:var(--ink)}.landing-testimonial-role{font-size:13px;color:var(--ink-muted)}.landing-vision{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.landing-vision-content h2{font-size:40px;font-weight:var(--font-weight-heading);letter-spacing:-1.5px;line-height:1.05;color:var(--ink);margin:0 0 16px}.landing-vision-content p{font-size:16px;color:var(--ink-muted);line-height:1.7;margin:0 0 16px}.landing-vision-visual{position:relative;height:400px;overflow:hidden}.vision-float-card{position:absolute;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:16px 22px;box-shadow:0 1px 3px #0000000a,0 4px 16px #0000000f,0 12px 40px #0000000f;animation:vision-float 4s ease-in-out infinite alternate;animation-delay:var(--delay, 0s);white-space:nowrap;font-size:15px;font-weight:500;color:var(--ink-secondary)}.vision-float-card svg{width:22px;height:22px;color:var(--primary);flex-shrink:0}@keyframes vision-float{0%{transform:translateY(0)}to{transform:translateY(-12px)}}.landing-pricing-grid{display:flex;justify-content:center;gap:24px;margin-bottom:24px;flex-wrap:wrap}.landing-pricing-card{background:var(--surface);border:1px solid rgba(0,0,0,.08);border-radius:24px;padding:48px 40px;max-width:420px;width:100%;text-align:center;box-shadow:0 1px 3px #0000000a,0 4px 12px #0000000a,0 12px 40px #0000000a;position:relative;overflow:hidden}.landing-pricing-badge{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--primary);background:#0075de1a;border:1px solid rgba(0,117,222,.18);border-radius:999px;padding:6px 14px;margin-bottom:16px}.landing-pricing-name{font-size:18px;font-weight:var(--font-weight-heading);color:var(--ink);margin-bottom:8px}.landing-section-dark .landing-pricing-name{color:#f5f5f7}.landing-pricing-card.price-card-dark{background:#ffffff0f;border-color:#ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.landing-pricing-card.price-card-dark .landing-pricing-name{color:#f5f5f7}.landing-pricing-price{font-size:72px;font-weight:800;color:var(--ink);line-height:1;letter-spacing:-3px}.landing-section-dark .landing-pricing-price{color:#f5f5f7}.landing-pricing-period{font-size:15px;color:var(--ink-muted);margin-bottom:32px}.landing-section-dark .landing-pricing-period{color:#ffffff80}.landing-pricing-features{list-style:none;padding:0;margin:0 0 32px;text-align:left}.landing-pricing-features li{padding:10px 0;font-size:15px;color:var(--ink-secondary);display:flex;align-items:center;gap:10px}.landing-section-dark .landing-pricing-features li{color:#ffffffb3}.landing-pricing-features li:before{content:"";width:22px;height:22px;border-radius:50%;background:#1aae391a;flex-shrink:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231aae39' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:14px}.landing-pricing-note{font-size:14px;color:var(--ink-muted);text-align:center;margin:0}.landing-section-dark .landing-pricing-note{color:#ffffff73}.landing-tech-grid{column-count:3;column-gap:16px}.landing-tech-grid>*{break-inside:avoid;margin-bottom:16px}.landing-tech-item{display:flex;align-items:center;gap:16px;padding:28px;background:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:16px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;box-shadow:0 1px 2px #00000005,0 2px 6px #00000005}.landing-tech-item:hover{transform:translateY(-3px);box-shadow:0 4px 12px #0000000a,0 8px 24px #0000000a;border-color:#0075de1f}[data-theme=dark] .landing-tech-item{border-color:#ffffff0d}.landing-tech-logo{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.landing-tech-logo svg{width:24px;height:24px}.landing-tech-info{text-align:left}.landing-tech-name{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:2px}.landing-tech-desc{font-size:13px;color:var(--ink-muted)}.landing-faq-list{max-width:680px;margin:0 auto}.landing-faq-item{border-bottom:1px solid rgba(0,0,0,.06)}[data-theme=dark] .landing-faq-item{border-color:#ffffff0f}.landing-faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;background:none;border:none;cursor:pointer;font-size:16px;font-weight:500;color:var(--ink);text-align:left;font-family:inherit;line-height:1.4;-webkit-tap-highlight-color:transparent}.landing-faq-question:hover{color:var(--primary)}.landing-faq-icon{width:24px;height:24px;flex-shrink:0;color:var(--ink-muted);transition:transform .3s ease}.landing-faq-item.open .landing-faq-icon{transform:rotate(45deg)}.landing-faq-answer{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1),padding .3s ease;padding:0}.landing-faq-item.open .landing-faq-answer{max-height:300px;padding-bottom:20px}.landing-faq-answer p{font-size:15px;color:var(--ink-muted);line-height:1.7;margin:0}.landing-cta{text-align:center;padding:120px 0}.landing-cta h2{font-size:clamp(36px,5vw,56px);font-weight:var(--font-weight-heading);letter-spacing:-1.5px;color:var(--ink);margin:0 0 12px;line-height:1.05}.landing-cta p{font-size:17px;color:var(--ink-muted);margin:0 0 32px;line-height:1.6}.landing-cta .btn-xl{padding:18px 48px;font-size:18px;font-weight:700;border-radius:12px}.landing-sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:90;background:#ffffffeb;-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border-top:1px solid rgba(0,0,0,.06);padding:12px 24px;display:flex;align-items:center;justify-content:center;gap:16px;transform:translateY(100%);transition:transform .4s cubic-bezier(.16,1,.3,1)}.landing-sticky-cta.visible{transform:translateY(0)}[data-theme=dark] .landing-sticky-cta{background:#1c1c1eeb;border-color:#ffffff0f}.landing-sticky-cta-text{font-size:15px;font-weight:500;color:var(--ink)}.landing-sticky-cta .btn{flex-shrink:0}.landing-footer{padding:64px 0 32px;border-top:1px solid rgba(0,0,0,.06);background:#00000005}[data-theme=dark] .landing-footer{border-color:#ffffff0d;background:#ffffff03}.landing-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}.landing-footer-brand p{font-size:14px;color:var(--ink-muted);margin:12px 0 0;line-height:1.6;max-width:280px}.landing-footer-col h4{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-muted);margin:0 0 16px}.landing-footer-col a{display:block;font-size:14px;color:var(--ink-secondary);text-decoration:none;padding:4px 0;transition:color .15s ease}.landing-footer-col a:hover{color:var(--ink)}.landing-footer-bottom{padding-top:24px;border-top:1px solid rgba(0,0,0,.05);text-align:center;font-size:13px;color:var(--ink-muted)}[data-theme=dark] .landing-footer-bottom{border-color:#ffffff0d}.legal-page{overflow-y:auto;background:var(--canvas)}.legal-nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:64px;background:#ffffffe0;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(0,0,0,.08);transition:box-shadow .2s ease}.legal-nav.scrolled{box-shadow:0 1px 8px #00000014}[data-theme=dark] .legal-nav{background:#1c1c1ed9;border-color:#ffffff14}[data-theme=dark] .legal-nav.scrolled{box-shadow:0 1px 8px #0003}.legal-content{max-width:720px;margin:0 auto;padding:64px 24px 80px}.legal-content h1{font-size:40px;font-weight:700;letter-spacing:-1px;color:var(--ink);margin:0 0 12px}.legal-lead{font-size:17px;color:var(--ink-muted);line-height:1.6;margin:0 0 48px}.legal-content h2{font-size:22px;font-weight:600;color:var(--ink);margin:48px 0 12px}.legal-content h3{font-size:18px;font-weight:600;color:var(--ink);margin:28px 0 8px}.legal-content p{font-size:16px;color:var(--ink-secondary);line-height:1.7;margin:0 0 16px}.legal-content ul{padding-left:24px;margin:0 0 16px}.legal-content li{font-size:16px;color:var(--ink-secondary);line-height:1.7;margin-bottom:6px}.legal-content a{color:var(--primary);text-decoration:none}.legal-content a:hover{text-decoration:underline}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}.contact-card{background:var(--surface);border:1px solid rgba(0,0,0,.05);border-radius:16px;padding:32px;text-align:center;box-shadow:0 1px 2px #00000005,0 4px 12px #00000005;transition:transform .3s ease,box-shadow .3s ease}.contact-card:hover{transform:translateY(-3px);box-shadow:0 4px 12px #0000000a,0 12px 32px #0000000a}[data-theme=dark] .contact-card{border-color:#ffffff0d}.contact-card-icon{width:52px;height:52px;border-radius:14px;background:#0075de14;color:var(--primary);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.contact-card h3{font-size:18px;font-weight:600;color:var(--ink);margin:0 0 8px}.contact-card p{font-size:14px;color:var(--ink-muted);margin:0 0 20px;line-height:1.5}.btn-lg{padding:12px 28px;font-size:15px}.btn-xl{padding:16px 40px;font-size:17px}@media(max-width:1023px){.landing-section{padding:72px 0}.landing-section-header{margin-bottom:48px}.landing-section-header h2{font-size:32px}.landing-features-grid{grid-template-columns:repeat(2,1fr)}.landing-feature-card-wide{grid-column:span 2}.landing-use-case-card{flex:0 0 260px}.landing-testimonial{flex:0 0 320px}.landing-stats-grid{grid-template-columns:repeat(2,1fr)}.landing-vision{grid-template-columns:1fr;gap:48px}.landing-vision-visual{height:300px}.landing-footer-grid{grid-template-columns:2fr 1fr;gap:32px}.landing-tech-grid{column-count:2}.contact-grid{grid-template-columns:1fr;max-width:480px;margin:32px auto 0}}@media(max-width:767px){.landing-nav-links{display:none;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:var(--glass-2);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--glass-border);padding:12px;box-shadow:0 8px 24px #00000014;gap:4px}[data-theme=dark] .landing-nav-links{background:#1c1c1ec7;border-color:#ffffff0f;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%)}.landing-nav-links.open{display:flex}.nav-controls{flex-direction:row;padding:8px 16px;gap:8px;width:100%}.nav-controls .lang-selector{flex:1;min-height:44px;font-size:14px}.nav-controls .theme-toggle{min-width:44px;min-height:44px}.landing-nav-links a:not(.btn){padding:14px 16px;font-size:16px;min-height:48px;display:flex;align-items:center}.landing-nav-links .btn{margin:4px 0 0;width:100%;padding:14px;font-size:16px;min-height:48px}.landing-nav-toggle{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.landing-hero{display:block;padding:48px 0 40px;min-height:auto}.landing-hero-content{grid-template-columns:1fr;gap:32px;padding:0 20px}.landing-hero-text{text-align:center}:lang(ar) .landing-hero-text{text-align:right}.landing-hero-title{font-size:clamp(32px,10vw,42px);letter-spacing:-1.5px;line-height:1.05}.landing-hero-subtitle{font-size:15px;margin:0 auto 24px;text-align:center}.landing-hero-actions{display:flex;flex-direction:column;gap:16px}.landing-hero-actions .btn-xl{width:100%;padding:16px 24px;font-size:16px}.landing-hero-board{max-width:400px}.landing-section{padding:48px 0}.landing-section-header{margin-bottom:32px}.landing-section-header h2{font-size:26px}.landing-section-header p{font-size:15px}.landing-badge{font-size:11px}.landing-features-grid{grid-template-columns:1fr;gap:12px}.landing-feature-card-wide{grid-column:span 1}.landing-use-case-card{flex:0 0 240px}.landing-testimonial{flex:0 0 280px}.landing-feature-card{padding:24px}.landing-use-case{padding:20px}.landing-stats-grid{gap:12px}.landing-stat-card{padding:24px 16px}.landing-stat-number{font-size:32px}.landing-testimonial{padding:24px}.landing-vision{gap:32px}.landing-vision-content h2{font-size:26px}.landing-vision-visual{height:240px}.vision-float-card{font-size:13px;padding:10px 14px;white-space:normal;max-width:180px}.vision-float-card svg{width:18px;height:18px}.landing-pricing-card{padding:28px 24px}.landing-pricing-price{font-size:42px}.landing-tech-grid{column-count:1}.landing-footer-grid{grid-template-columns:1fr;gap:24px}.landing-cta{padding:64px 0}.landing-cta .btn-xl{padding:14px 32px;font-size:16px}.landing-sticky-cta{padding:12px 16px;flex-direction:column;gap:8px}.landing-sticky-cta-text{font-size:13px;text-align:center}.landing-sticky-cta .btn{width:100%;max-width:280px;padding:12px}.landing-section-dark{clip-path:polygon(0 1.5%,100% 0,100% 98.5%,0 100%);padding:80px 0 100px;margin:12px 0}.legal-content h1{font-size:28px}.legal-content{padding:32px 16px 48px}.contact-card{padding:24px}}.stagger-item{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--stagger-i, 0) * .08s)}.stagger-visible .stagger-item{opacity:1;transform:translateY(0)}[data-glitch]{position:relative}[data-glitch].glitch-active{animation:glitch-shake .3s ease-in-out}[data-glitch].glitch-active:before,[data-glitch].glitch-active:after{content:attr(data-glitch-text);position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:inherit;pointer-events:none;animation:glitch-slice .3s ease-in-out}[data-glitch].glitch-active:before{color:#ff0080;clip-path:inset(0 0 60% 0);transform:translate(-2px,-1px);opacity:.6}[data-glitch].glitch-active:after{color:#00d4ff;clip-path:inset(60% 0 0 0);transform:translate(2px,1px);opacity:.6}@keyframes glitch-shake{0%{transform:translate(0)}20%{transform:translate(-2px,1px)}40%{transform:translate(2px,-1px)}60%{transform:translate(-1px,2px)}80%{transform:translate(1px,-2px)}to{transform:translate(0)}}@keyframes glitch-slice{0%{transform:translate(0);opacity:0}50%{opacity:.8}to{opacity:0}}.feature-icon-blue{background:#0075de1a;color:var(--primary)}.feature-icon-purple{background:#391c5714;color:var(--accent-purple-deep)}.feature-icon-teal{background:#2a9d991a;color:var(--accent-teal)}.feature-icon-pink{background:#c2185b14;color:#c2185b}.feature-icon-green{background:#2e7d3214;color:#2e7d32}.feature-icon-orange{background:#dd5b0014;color:var(--accent-orange)}.usecase-icon-blue{color:var(--primary)}.usecase-icon-purple{color:var(--accent-purple-deep)}.usecase-icon-teal{color:var(--accent-teal)}.usecase-icon-orange{color:var(--accent-orange)}.usecase-icon-pink{color:var(--accent-pink)}.usecase-icon-green{color:var(--accent-green)}.stat-blue{color:var(--primary)}.stat-purple{color:var(--accent-purple)}.stat-teal{color:var(--accent-teal)}.stat-orange{color:var(--accent-orange)}.vision-card-1{--delay: 0s;left:5%;top:10%}.vision-card-2{--delay: .5s;left:55%;top:5%}.vision-card-3{--delay: 1s;left:28%;top:55%}.vision-card-4{--delay: 1.5s;left:62%;top:48%}.tech-logo-blue{background:#3b82f61a;color:#3b82f6}.tech-logo-green{background:#10b9811a;color:#10b981}.tech-logo-orange{background:#f973161a;color:#f97316}.tech-logo-yellow{background:#eab3081a;color:#eab308}.tech-logo-violet{background:#8b5cf61a;color:#8b5cf6}.tech-logo-emerald{background:#22c55e1a;color:#22c55e}.pricing-badge-blue{background:#64d2ff1a;border-color:#64d2ff33;color:#64d2ff}.section-dark .landing-badge{background:#0a84ff26;border-color:#0a84ff33;color:#64d2ff}.gradient-text{background:linear-gradient(135deg,#6c5ce7,#8b5cf6 35%,#ec4899 65%,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text-rainbow{background:linear-gradient(135deg,#64d2ff,#a78bfa 40%,#f472b6,#fb923c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-card{animation:fadeSlideUp .4s ease}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-tabs{display:flex;gap:var(--space-xxs);margin-bottom:var(--space-lg);background:var(--canvas-soft);border-radius:var(--radius-md);padding:3px}.auth-tab{flex:1;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-xs);font-size:var(--text-caption-size);font-weight:var(--weight-medium);color:var(--ink-secondary);transition:var(--transition-fast)}.auth-tab.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-flat)}.auth-tab:hover:not(.active){color:var(--ink)}.auth-form{display:flex;flex-direction:column;gap:var(--space-md)}.auth-form .form-group{display:flex;flex-direction:column;gap:var(--space-xxs)}.auth-form .form-group label{font-size:var(--text-caption-size);font-weight:var(--weight-medium);color:var(--ink-secondary)}.auth-form .form-group input{width:100%;padding:10px var(--space-md);background:var(--canvas-soft);border:1px solid var(--hairline);border-radius:var(--radius-pill);font-size:var(--text-body-sm-size);transition:var(--transition-fast)}.auth-form .form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}.auth-form .form-group input:focus-visible{box-shadow:var(--focus-ring)}.auth-form .form-group input::placeholder{color:var(--ink-muted)}.auth-divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-md) 0;color:var(--ink-muted);font-size:var(--text-caption-size)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--hairline)}.auth-message{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);font-size:var(--text-caption-size);display:none}.auth-message.visible{display:block}.auth-message.error{background:#ff3b3014;color:var(--danger);border:1px solid #ff3b3030}.auth-message.success{background:#34c75914;color:var(--success);border:1px solid #34c75930}.auth-footer{text-align:center;margin-top:var(--space-lg);font-size:var(--text-caption-size);color:var(--ink-secondary)}.auth-footer a{color:var(--primary);font-weight:var(--weight-medium)}.auth-footer a:hover{text-decoration:underline}.auth-card .btn-primary{margin-top:var(--space-1)}.auth-card .btn-secondary{margin-top:0}.auth-form .form-group input:-webkit-autofill,.auth-form .form-group input:-webkit-autofill:hover,.auth-form .form-group input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--surface) inset;-webkit-text-fill-color:var(--ink);transition:background-color 5000s ease-in-out 0s}.auth-tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}.auth-back-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-caption-size);color:var(--ink-muted);text-decoration:none;margin-top:var(--space-sm)}.auth-back-link:hover{color:var(--ink-secondary)}.dashboard-page{height:100vh;height:100dvh}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:transparent;position:relative}.dashboard-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.dashboard-header{padding:var(--space-md) var(--space-xxl);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-shrink:0;background:var(--glass-1);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(180%);backdrop-filter:blur(var(--blur-lg)) saturate(180%);box-shadow:var(--glass-highlight);position:sticky;top:0;z-index:var(--z-sticky);flex-wrap:wrap;min-height:64px}.dashboard-header-left{display:flex;align-items:baseline;gap:var(--space-sm);flex-shrink:0}.dashboard-header-left h1{font-size:var(--text-h4-size);font-weight:var(--weight-semibold);background:linear-gradient(135deg,var(--ink) 0%,color-mix(in srgb,var(--ink) 70%,var(--primary)) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:var(--tracking-title);margin:0}.dashboard-board-count{font-size:var(--text-eyebrow-size);color:var(--ink-muted);font-weight:600;background:var(--surface);border:1px solid var(--hairline);padding:2px 8px;border-radius:var(--radius-pill)}.dashboard-header-center{flex:1;max-width:360px;min-width:200px}.dashboard-search{display:flex;align-items:center;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-pill);padding:0 var(--space-md);transition:border-color var(--duration-fast) var(--ease-out-quint),box-shadow var(--duration-fast) var(--ease-out-quint);height:38px}.dashboard-search:focus-within{border-color:var(--primary);box-shadow:var(--focus-ring)}.dashboard-search-icon{display:flex;align-items:center;color:var(--ink-faint);margin-right:var(--space-xs);flex-shrink:0}.dashboard-search-icon svg{width:15px;height:15px}.dashboard-search-input{flex:1;border:none;background:none;padding:0;font-size:var(--text-caption-size);color:var(--ink);outline:none;font-family:var(--font-sans);min-width:0;height:100%}.dashboard-search-input::placeholder{color:var(--ink-faint)}.dashboard-header-right{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.dashboard-sort{padding:5px var(--space-sm);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-sm);font-size:var(--text-xs-size);color:var(--ink-secondary);outline:none;cursor:pointer;font-family:var(--font-sans);transition:border-color var(--duration-fast) var(--ease-out-quint)}.dashboard-sort:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.dashboard-view-toggle{display:flex;border:1px solid var(--hairline);border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--surface)}.dashboard-view-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--ink-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-quint);font-size:14px}.dashboard-view-btn:hover{color:var(--ink)}.dashboard-view-btn.active{background:var(--primary-subtle);color:var(--primary)}.dashboard-sections{flex:1;overflow-y:auto;padding:var(--space-lg) var(--space-xxl)}.dashboard-section{margin-bottom:var(--space-xl)}.dashboard-section-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);padding:0 var(--space-xs)}.dashboard-section-label{font-size:var(--text-xs);font-weight:600;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em}.dashboard-section-count{font-size:var(--text-xs);color:var(--ink-faint);font-weight:500}.dashboard-section-row{display:flex;gap:var(--space-md);overflow-x:auto;padding:var(--space-xs) 0 var(--space-md);scroll-behavior:smooth;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.dashboard-section-row .board-card{flex:0 0 220px;min-width:220px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-lg);align-content:start}.board-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);overflow:hidden;cursor:pointer;position:relative;box-shadow:var(--shadow-soft);transition:transform var(--duration-base) var(--ease-spring),box-shadow var(--duration-base) var(--ease-out-quint),border-color var(--duration-base) var(--ease-out-quint);animation:boardCardEnter var(--duration-slow) var(--ease-out-quint) backwards;animation-delay:calc(var(--card-index, 0) * 40ms)}@keyframes boardCardEnter{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.board-card:hover{border-color:var(--primary);box-shadow:0 4px 6px #00000005,0 16px 36px #6366f114;transform:translateY(-6px)}.board-card:active{transform:translateY(-2px) scale(.98)}.board-card-preview{height:100px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--glass-border)}.preview-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.preview-placeholder-svg{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.preview-placeholder-letter{font-size:32px;font-weight:700;color:#ffffffe6;position:relative;z-index:1;text-shadow:0 2px 8px rgba(0,0,0,.1)}.board-card-star,.board-card-menu{position:absolute;top:var(--space-xs);z-index:2;width:28px;height:28px;border-radius:var(--radius-full);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:all var(--transition-fast);background:var(--glass-3);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));box-shadow:var(--shadow-soft);color:var(--ink-muted);opacity:0;transform:translateY(-4px)}.board-card:hover .board-card-star,.board-card:hover .board-card-menu,.board-card:focus-within .board-card-star,.board-card:focus-within .board-card-menu{opacity:1;transform:translateY(0)}.board-card-star:focus-visible,.board-card-menu:focus-visible{outline:2px solid var(--primary);outline-offset:2px;opacity:1;transform:translateY(0)}.board-card-star{left:var(--space-xs)}.board-card-star.active{color:#f59e0b;opacity:1;transform:translateY(0)}.board-card-star:hover{background:var(--surface);color:#f59e0b}.board-card-menu{right:var(--space-xs)}.board-card-menu:hover{background:var(--surface);color:var(--ink)}.board-card-body{padding:var(--space-sm) var(--space-md)}.board-card-title{font-size:var(--text-body-sm-size);font-weight:var(--weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);margin-bottom:2px}.board-card-meta{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:var(--ink-muted)}.board-card-badges{display:flex;gap:var(--space-xs);margin-top:var(--space-xs)}.board-card-badge{display:inline-flex;align-items:center;padding:2px 8px;background:var(--primary-subtle);color:var(--primary);border-radius:var(--radius-pill);font-size:10px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.board-card-context{position:absolute;top:36px;right:var(--space-xs);z-index:10;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);min-width:160px;padding:var(--space-xs);display:none;animation:modalPop var(--duration-fast) var(--ease-spring)}.board-card-context.open{display:block}.board-card-context button{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);border:none;background:none;border-radius:var(--radius-xs);cursor:pointer;font-size:var(--text-sm);color:var(--ink);transition:background var(--transition-fast);text-align:left;font-family:var(--font-sans)}.board-card-context button:hover{background:var(--canvas-soft)}.board-card-context hr{margin:var(--space-xs) 0;border:none;border-top:1px solid var(--hairline)}.board-card-context button.danger{color:var(--danger)}.board-card-context button.danger:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.board-card-context button svg{width:14px;height:14px;flex-shrink:0;opacity:.6}body.dashboard-list-view .dashboard-grid{grid-template-columns:1fr;gap:2px}body.dashboard-list-view .board-card{display:flex;align-items:center;border-radius:var(--radius-md);overflow:visible;gap:var(--space-md);padding:var(--space-sm) var(--space-md);animation:none}body.dashboard-list-view .board-card:nth-child(n){animation-delay:0ms}body.dashboard-list-view .board-card-preview{width:48px;height:48px;min-width:48px;border-radius:var(--radius-sm);border-bottom:none}body.dashboard-list-view .preview-placeholder-letter{font-size:18px}body.dashboard-list-view .board-card-body{flex:1;padding:0;display:flex;align-items:center;gap:var(--space-md)}body.dashboard-list-view .board-card-title{margin-bottom:0;min-width:0;flex:1}body.dashboard-list-view .board-card-meta{flex-shrink:0;min-width:fit-content}body.dashboard-list-view .board-card-badges{margin-top:0;flex-shrink:0}body.dashboard-list-view .board-card-star,body.dashboard-list-view .board-card-menu{opacity:1!important;transform:none!important;position:static}body.dashboard-list-view .board-card-context{position:absolute;top:50%;right:0;transform:translateY(-50%)}body.dashboard-list-view .dashboard-section-row .board-card{flex:0 0 auto;min-width:auto;display:flex}body.dashboard-list-view .dashboard-section-row{flex-direction:column;overflow-x:visible}.dashboard-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4xl);text-align:center;max-width:560px;margin:auto;background:var(--glass-2);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(180%);backdrop-filter:blur(var(--blur-lg)) saturate(180%);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-glass),var(--glass-highlight);position:relative;overflow:hidden;align-self:center}.dashboard-empty:before{content:"";position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--primary) 18%,transparent),transparent 50%),radial-gradient(circle at 70% 70%,color-mix(in srgb,var(--accent-purple) 14%,transparent),transparent 50%);pointer-events:none;z-index:0}.dashboard-empty>*{position:relative;z-index:1}.dashboard-empty-icon{font-size:72px;margin-bottom:var(--space-lg);filter:drop-shadow(0 8px 16px rgba(99,102,241,.2));animation:float 4s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.dashboard-empty h2{font-size:var(--text-h3-size);font-weight:var(--weight-semibold);margin-bottom:var(--space-xs);background:linear-gradient(135deg,var(--ink) 0%,color-mix(in srgb,var(--ink) 60%,var(--primary)) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.dashboard-empty p{color:var(--ink-secondary);margin-bottom:var(--space-xxl);max-width:400px}.dashboard-empty-templates{display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:center}.dashboard-empty-templates .btn{font-size:var(--text-sm)}.dashboard-no-results{grid-column:1 / -1;text-align:center;padding:var(--space-4xl);color:var(--ink-muted);font-size:var(--text-sm)}.canvas-grid{position:absolute;top:-5000px;left:-5000px;width:10000px;height:10000px;pointer-events:none;background-image:radial-gradient(circle,var(--canvas-grid-color) 1.2px,transparent 1.2px);background-size:24px 24px;opacity:.18;transition:opacity var(--duration-base) ease}.board-item{position:absolute;border-radius:var(--radius-md);border:1px solid var(--hairline);transition:box-shadow var(--duration-base) var(--ease-out-quint),border-color var(--duration-base) var(--ease-out-quint),transform var(--duration-base) var(--ease-spring)}.board-item.dragging{transform:scale(1.03) rotate(1.5deg);border-color:var(--primary-glow);box-shadow:0 4px 6px #00000005,0 16px 32px #0000000f,0 32px 64px #6366f114;opacity:.9;z-index:9999!important;transition:none!important}.board-item.selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow),0 2px 8px #0000000a}.item-resize-handle{position:absolute;width:14px;height:14px;background:var(--primary);border:2px solid var(--surface);border-radius:50%;z-index:10;pointer-events:auto;transition:transform .15s ease,background .15s ease;touch-action:none}@media(max-width:767px){.item-resize-handle{width:20px;height:20px}.item-rotate-handle{width:28px;height:28px;top:-36px}}.item-resize-handle:hover{transform:scale(1.3);background:var(--primary-active)}.item-resize-handle.nw{top:-6px;left:-6px;cursor:nw-resize}.item-resize-handle.ne{top:-6px;right:-6px;cursor:ne-resize}.item-resize-handle.sw{bottom:-6px;left:-6px;cursor:sw-resize}.item-resize-handle.se{bottom:-6px;right:-6px;cursor:se-resize}.item-rotate-handle{position:absolute;top:-32px;left:50%;transform:translate(-50%);width:20px;height:20px;background:var(--primary);border:2px solid var(--surface);border-radius:50%;cursor:grab;z-index:10;pointer-events:auto;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,background .15s ease}.item-rotate-handle:before{content:"";width:2px;height:10px;background:var(--surface);border-radius:1px}.item-rotate-handle:hover{transform:translate(-50%) scale(1.2);background:var(--primary-active)}.item-rotate-handle:active{cursor:grabbing}.board-item.is-locked{pointer-events:auto;opacity:.85;cursor:not-allowed}.board-item.is-locked .board-item,.board-item.is-locked .file-item-preview,.board-item.is-locked .sketch-container{pointer-events:none}.board-item.is-locked:after{content:"";position:absolute;top:6px;right:6px;width:16px;height:16px;background:var(--ink-muted);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM12 17c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2z'/%3E%3C/svg%3E") center/contain no-repeat;z-index:11;pointer-events:none}.board-item.is-locked .item-resize-handle,.board-item.is-locked .item-rotate-handle{display:none}html[dir=rtl] .auth-card,html[dir=rtl] .auth-form label{text-align:right}html[dir=rtl] .sidebar{border-right:none;border-left:1px solid var(--hairline)}html[dir=rtl] .sidebar-header h2{margin-right:0;margin-left:auto}html[dir=rtl] .toolbar-label{direction:ltr}html[dir=rtl] .modal-footer{flex-direction:row-reverse}html[dir=rtl] .toast{left:auto;right:var(--space-md)}html[dir=rtl] #chat-panel{right:auto;left:0}html[dir=rtl] #ai-panel{right:auto;left:0;border-left:none;border-right:1px solid var(--hairline)}html[dir=rtl] .minimap{right:auto;left:var(--space-md)}html[dir=rtl] .context-menu{transform-origin:top right}html[dir=rtl] .ai-messages,html[dir=rtl] .chat-messages,html[dir=rtl] .dashboard-grid{direction:rtl}html[dir=rtl] .board-card{text-align:right}html[dir=rtl] .roadmap-timeline{padding-right:24px;padding-left:var(--space-md)}html[dir=rtl] .roadmap-milestones{padding-left:0;padding-right:24px}html[dir=rtl] .roadmap-dot{left:auto;right:-18px}html[dir=rtl] .roadmap-milestone{padding-left:0;padding-right:var(--space-md)}html[dir=rtl] .link-card,html[dir=rtl] input,html[dir=rtl] textarea,html[dir=rtl] select{text-align:right}html[dir=rtl] .auth-input-group{flex-direction:row-reverse}.mobile-topbar,.sidebar-scrim{display:none}.sidebar-toggle{display:none;position:fixed;top:var(--space-sm);left:var(--space-sm);z-index:calc(var(--z-sticky) + 11);width:36px;height:36px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--hairline);box-shadow:var(--shadow-soft);font-size:var(--text-body-sm-size);cursor:pointer;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-out-quint)}.sidebar-toggle svg{width:16px;height:16px}.sidebar-toggle:hover{background:var(--surface-hover)}@media(max-width:767px){html{font-size:15px}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 var(--space-md);background:var(--glass-1);-webkit-backdrop-filter:blur(var(--blur-xl)) saturate(180%);backdrop-filter:blur(var(--blur-xl)) saturate(180%);border-bottom:1px solid var(--hairline);position:sticky;top:0;z-index:var(--z-sticky);flex-shrink:0}.mobile-topbar-logo{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-h4-size);font-weight:var(--weight-bold);font-family:var(--font-heading);color:var(--ink)}.mobile-topbar-logo svg{color:var(--primary)}.sidebar-scrim{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:calc(var(--z-sticky) + 9);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity var(--transition-base);-webkit-tap-highlight-color:transparent}.sidebar-scrim.active{display:block;opacity:1}.sidebar{width:100%;max-width:100%;position:fixed;top:0;left:0;bottom:auto;height:auto;max-height:85vh;z-index:calc(var(--z-sticky) + 10);transform:translateY(-100%);transition:transform .3s var(--ease-out-quint);border-right:none;border-bottom:1px solid var(--hairline);border-radius:0 0 var(--radius-xl) var(--radius-xl);background:var(--surface);-webkit-backdrop-filter:blur(var(--blur-xl)) saturate(180%);backdrop-filter:blur(var(--blur-xl)) saturate(180%);overflow:hidden;display:flex;flex-direction:column}.sidebar.open{transform:translateY(0)}.sidebar-header{padding:var(--space-md) var(--space-md) var(--space-sm);min-height:48px}.sidebar-content{flex:1;overflow-y:auto;padding:var(--space-xs) 0;-webkit-overflow-scrolling:touch}.sidebar-footer{border-top:1px solid var(--hairline);padding:var(--space-sm);gap:var(--space-xs);flex-shrink:0}.sidebar-footer .user-profile-pill{margin-bottom:0}.sidebar-footer .sidebar-logout-btn{padding:8px var(--space-sm)}.sidebar-toggle{display:none}.dashboard-main{padding-top:0}.dashboard-header{flex-direction:column;gap:var(--space-sm);padding:var(--space-md)}.dashboard-header-left{width:100%}.dashboard-header-center{max-width:100%;width:100%}.dashboard-header-right{width:100%;flex-wrap:wrap}.dashboard-sections{padding:var(--space-md)}.dashboard-section-row .board-card{flex:0 0 180px;min-width:180px}.dashboard-grid{grid-template-columns:1fr}body.dashboard-list-view .dashboard-header-right{flex-wrap:wrap}body.dashboard-list-view .board-card{flex-wrap:nowrap}body.dashboard-list-view .board-card-body{flex-wrap:wrap}body.dashboard-list-view .board-card-meta{width:100%}.board-toolbar{position:fixed;bottom:0;top:auto;left:0;right:0;height:56px;overflow-x:auto;overflow-y:hidden;border-top:1px solid var(--hairline);border-bottom:none;z-index:var(--z-sticky);background:var(--surface);-webkit-overflow-scrolling:touch;transform:none!important;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-xs) var(--space-sm)}.board-toolbar::-webkit-scrollbar{display:none}.board-canvas{bottom:56px;top:0}.toolbar-label{display:none}.toolbar-divider{margin:0 2px}.toolbar-btn{min-width:40px;min-height:40px}.minimap{width:100px;height:70px;bottom:64px;right:var(--space-xs)}.modal-backdrop{padding:var(--space-sm);align-items:flex-end}.modal{width:100%;max-width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:90vh}.context-menu{min-width:160px}.ai-assistant-panel,.chat-panel,.file-manager{width:100%;max-width:100%;right:0;border-radius:0}.template-gallery-grid{grid-template-columns:1fr 1fr}.auth-card{width:92vw;padding:var(--space-lg)}.board-item{touch-action:manipulation}.item-resize-handle{width:20px;height:20px}}@media(min-width:768px)and (max-width:1023px){html{font-size:15px}.sidebar{width:200px}.dashboard-sections{padding:var(--space-lg)}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.dashboard-header-center{max-width:240px}.template-gallery-grid{grid-template-columns:repeat(3,1fr)}.modal{max-width:560px}.ai-assistant-panel,.chat-panel{width:340px}.minimap{width:130px;height:90px}}@media(min-width:1024px){.dashboard-grid{grid-template-columns:repeat(3,1fr)}.template-gallery-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1440px){.dashboard-grid{grid-template-columns:repeat(4,1fr)}.template-gallery-grid{grid-template-columns:repeat(5,1fr)}}.dashboard-grid:has(.board-card:only-child){grid-template-columns:minmax(0,1fr);max-width:400px}#pwa-install-banner.pwa-install-banner{position:fixed;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--surface);color:var(--ink);border:1px solid var(--hairline);box-shadow:var(--shadow-elevated);border-radius:var(--radius-md);z-index:var(--z-toast);font-size:var(--text-sm)}#pwa-install-banner .btn{white-space:nowrap}.dashboard-card-star:focus-visible,.dashboard-card-menu:focus-visible,.board-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.board-card:focus-within .board-card-star,.board-card:focus-within .board-card-menu{opacity:1;transform:none}@media print{.sidebar,.board-toolbar,.minimap,.context-menu,.modal-backdrop,.toast-container,.ai-assistant-panel,.chat-panel,.file-manager,.media-player-modal,.sidebar-toggle,.mobile-topbar,.sidebar-scrim,.item-resize-handle,.item-rotate-handle{display:none!important}.board-page{position:static;overflow:visible}.board-canvas{position:static;overflow:visible;height:auto!important;width:auto!important}.canvas-container{transform:none!important;position:static!important;width:auto!important;height:auto!important}#canvas{overflow:visible}.board-item{break-inside:avoid;page-break-inside:avoid}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:0s!important;animation-delay:0s!important;transition-duration:0s!important;transition-delay:0s!important}}@media(prefers-contrast:high){:root{--hairline: #000}[data-theme=dark]{--hairline: #fff}}.toolbar-btn.active{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.toolbar-btn{position:relative;border-radius:var(--radius-sm)}.toolbar-btn:focus-visible{box-shadow:var(--focus-ring)}.toolbar-btn svg{width:18px;height:18px;flex-shrink:0}@media(max-width:767px){.board-toolbar{top:auto!important;bottom:0!important;left:0!important;right:0!important;transform:none!important;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:none;justify-content:center;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding:var(--space-xs) var(--space-sm);gap:2px}.board-toolbar::-webkit-scrollbar{display:none}.board-canvas{bottom:56px}.toolbar-label,.sync-indicator{display:none}.toolbar-divider{margin:0 2px}.toolbar-btn{min-width:44px;min-height:44px;width:44px;height:44px}.toolbar-btn svg{width:20px;height:20px}}.sync-indicator{font-size:11px;color:var(--ink-faint);white-space:nowrap;padding:0 4px;display:flex;align-items:center;gap:4px}.sync-indicator:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success);flex-shrink:0}@media(min-width:768px)and (max-width:1023px){.board-toolbar{padding:var(--space-xs) var(--space-sm)}.toolbar-label,.sync-indicator{display:none}}.template-gallery{min-height:300px}.template-categories{-webkit-overflow-scrolling:touch}.template-categories::-webkit-scrollbar{height:4px}.template-card{background:var(--glass-2)!important;-webkit-backdrop-filter:blur(var(--blur-md)) saturate(180%)!important;backdrop-filter:blur(var(--blur-md)) saturate(180%)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--shadow-glass),var(--glass-highlight)!important;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)!important}.template-card:hover{border-color:var(--glass-border-strong)!important;box-shadow:var(--shadow-glass-hover),var(--glass-highlight)!important;transform:translateY(-3px)!important}.template-card.selected{border-color:color-mix(in srgb,var(--primary) 60%,transparent)!important;background:color-mix(in srgb,var(--primary) 14%,var(--glass-2))!important;box-shadow:var(--glow-primary),var(--glass-highlight)!important}.template-gallery-search input{background:var(--glass-3)!important;-webkit-backdrop-filter:blur(var(--blur-sm))!important;backdrop-filter:blur(var(--blur-sm))!important;border:1px solid var(--glass-border)!important}.template-category-chip{background:var(--glass-2)!important;-webkit-backdrop-filter:blur(var(--blur-sm))!important;backdrop-filter:blur(var(--blur-sm))!important;border:1px solid var(--glass-border)!important;transition:all var(--transition-fast)!important}.template-category-chip:hover{background:var(--glass-3)!important;border-color:var(--glass-border-strong)!important}.template-category-chip.active{background:color-mix(in srgb,var(--primary) 14%,var(--glass-3))!important;color:var(--primary)!important;border-color:color-mix(in srgb,var(--primary) 35%,transparent)!important;box-shadow:var(--glow-primary)!important}.minimap{position:fixed;bottom:var(--space-md);right:var(--space-md);width:160px;height:120px;background:var(--canvas-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);overflow:hidden;z-index:var(--z-sticky);cursor:pointer;transition:opacity .2s ease}.minimap:hover{opacity:1;box-shadow:var(--shadow-elevated)}.minimap canvas{display:block;width:100%;height:100%}@media(max-width:767px){.minimap{width:120px;height:90px;bottom:80px;right:var(--space-xs)}}.sticky-note-item{cursor:move;-webkit-user-select:none;user-select:none}.sticky-note{background:var(--sticky-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--sticky-bg) 80%,transparent);transition:box-shadow var(--duration-base) var(--ease-out-quint)}.sticky-note:hover{box-shadow:0 4px 12px #00000014}.sticky-note-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xxs) var(--space-xs);opacity:0;transition:opacity .15s ease}.sticky-note-item:hover .sticky-note-header{opacity:1}.sticky-note-color-picker{cursor:pointer;padding:2px;border-radius:var(--radius-xs);transition:background .1s ease}.sticky-note-color-picker:hover{background:#0000001a}.sticky-note-color-picker .color-dot{display:block;width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}.sticky-note-menu-btn{cursor:pointer;padding:2px 6px;border-radius:var(--radius-xs);font-size:var(--text-body-sm-size);color:var(--ink-secondary);transition:background .1s ease;line-height:1}.sticky-note-menu-btn:hover{background:#0000001a}.sticky-note .note-title{font-size:var(--text-body-sm-size);font-weight:var(--weight-semibold);padding:0 var(--space-md);margin-bottom:var(--space-xxs);outline:none;border:none;background:transparent;line-height:var(--leading-tight)}.sticky-note .note-content{font-size:var(--text-caption-size);color:var(--ink-secondary);padding:0 var(--space-md) var(--space-md);outline:none;border:none;background:transparent;white-space:pre-wrap;flex:1;overflow-y:auto;line-height:var(--leading-body)}.sticky-note .note-title:empty:before,.sticky-note .note-content:empty:before{content:attr(placeholder);color:var(--ink-muted);pointer-events:none}.sticky-note-color-dropdown{position:absolute;top:28px;left:4px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-elevated);padding:var(--space-xs);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-xxs);z-index:100}.rich-note-item{cursor:move;-webkit-user-select:none;user-select:none}.rich-note{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column}.rich-note-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xxs) var(--space-xs);border-bottom:1px solid var(--hairline);opacity:0;transition:opacity .15s ease}.rich-note-item:hover .rich-note-header{opacity:1}.rich-note-format-bar{display:flex;align-items:center;gap:2px}.format-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-xs);font-size:var(--text-caption-size);color:var(--ink-secondary);border:none;background:none;cursor:pointer;transition:var(--transition-fast)}.format-btn:hover{background:var(--canvas-soft);color:var(--ink)}.format-btn:active{background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary)}.format-divider{width:1px;height:16px;background:var(--hairline);margin:0 2px}.rich-note-menu-btn{cursor:pointer;padding:2px 6px;border-radius:var(--radius-xs);font-size:var(--text-body-sm-size);color:var(--ink-secondary);transition:background .1s ease;line-height:1}.rich-note-menu-btn:hover{background:var(--canvas-soft)}.rich-note .note-title{font-size:var(--text-body-size);font-weight:var(--weight-semibold);padding:var(--space-xs) var(--space-md) 0;outline:none;border:none;background:transparent;line-height:var(--leading-tight)}.rich-note .note-content{font-size:var(--text-caption-size);padding:var(--space-xs) var(--space-md) var(--space-md);outline:none;border:none;background:transparent;flex:1;overflow-y:auto;line-height:var(--leading-body)}.rich-note .note-title:empty:before,.rich-note .note-content:empty:before{content:attr(placeholder);color:var(--ink-muted);pointer-events:none}.rich-text-content h3{font-size:var(--text-body-sm-size);font-weight:var(--weight-bold);margin:var(--space-xs) 0 var(--space-xxs)}.rich-text-content h4{font-size:var(--text-caption-size);font-weight:var(--weight-semibold);margin:var(--space-xs) 0 var(--space-xxs)}.rich-text-content code{font-family:var(--font-mono);background:var(--canvas-soft);padding:1px 4px;border-radius:3px;font-size:.9em}.rich-text-content .checklist-item{display:flex;align-items:center;gap:var(--space-xs);padding:2px 0}.rich-text-content .checklist-item:before{content:"☐";font-size:var(--text-body-sm-size)}.rich-text-content strong{font-weight:var(--weight-bold)}.rich-text-content em{font-style:italic}.rich-text-content s{text-decoration:line-through;color:var(--ink-muted)}.sketch-wrapper{position:relative;width:100%;height:100%;background:var(--surface);border-radius:var(--radius-md);overflow:hidden}.sketch-toolbar{position:absolute;top:0;left:0;right:0;height:40px;display:flex;align-items:center;gap:2px;padding:0 var(--space-xs);background:var(--surface);border-bottom:1px solid var(--hairline);z-index:10;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.sketch-toolbar::-webkit-scrollbar{display:none}.sketch-toolbar-group{display:flex;align-items:center;gap:1px;flex-shrink:0}.sketch-tool-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-xs);color:var(--ink-secondary);border:none;background:none;cursor:pointer;transition:all .15s ease;flex-shrink:0}.sketch-tool-btn:hover{background:var(--canvas-soft);color:var(--ink)}.sketch-tool-btn.active{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.sketch-colors{gap:2px}.sketch-color-swatch{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s ease;flex-shrink:0;padding:0}.sketch-color-swatch:hover{transform:scale(1.2)}.sketch-color-swatch.active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 30%,transparent);transform:scale(1.15)}.sketch-color-picker{width:22px;height:22px;padding:0;border:2px solid var(--hairline);border-radius:50%;cursor:pointer;background:none;flex-shrink:0}.sketch-color-picker::-webkit-color-swatch-wrapper{padding:0}.sketch-color-picker::-webkit-color-swatch{border:none;border-radius:50%}.sketch-sizes{gap:2px}.sketch-size-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-xs);color:var(--ink-secondary);border:none;background:none;cursor:pointer;transition:all .15s ease;flex-shrink:0}.sketch-size-btn:hover{background:var(--canvas-soft)}.sketch-size-btn.active{background:color-mix(in srgb,var(--primary) 12%,transparent)}.sketch-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-xs);color:var(--ink-secondary);border:none;background:none;cursor:pointer;transition:all .15s ease;flex-shrink:0}.sketch-action-btn:hover{background:var(--canvas-soft);color:var(--ink)}.sketch-clear-btn:hover{color:var(--danger)}.sketch-divider{width:1px;height:20px;background:var(--hairline);margin:0 3px;flex-shrink:0}.sketch-canvas{display:block;cursor:crosshair;touch-action:none}.sketch-text-input{font-family:var(--font-sans)}.sketch-item{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);overflow:hidden}@media(max-width:767px){.sketch-toolbar{height:36px;padding:0 2px;gap:1px}.sketch-tool-btn{width:28px;height:28px}.sketch-color-swatch{width:16px;height:16px}.sketch-size-btn{width:24px;height:24px}.sketch-action-btn{width:26px;height:26px}.sketch-divider{height:16px;margin:0 2px}}.file-manager{min-height:300px}.fm-actions{display:flex;gap:var(--space-xs);margin-bottom:var(--space-md);padding-bottom:var(--space-xs);border-bottom:1px solid var(--hairline)}.btn-sm{padding:6px var(--space-md);font-size:var(--text-caption-size)}.fm-list::-webkit-scrollbar{width:6px}.fm-list::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:3px}.fm-file{-webkit-user-select:none;user-select:none}.fm-file:hover{background:var(--canvas-soft)}.file-item{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column}.file-item-preview{flex:1;display:flex;align-items:center;justify-content:center;background:var(--canvas-soft);overflow:hidden;min-height:100px}.file-item-preview img{width:100%;height:100%;object-fit:cover}.file-item-preview .file-icon{font-size:48px;opacity:.6}.file-item-info{padding:var(--space-xs) var(--space-md);border-top:1px solid var(--hairline);font-size:var(--text-caption-size);color:var(--ink-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-player{width:100%;height:100%;background:var(--ink)}.file-player video,.file-player audio{width:100%;height:100%;object-fit:contain}.link-card{-webkit-user-select:none;user-select:none;transition:box-shadow var(--transition-fast)}.link-card.selected{box-shadow:0 0 0 2px var(--primary)}.link-card-inner{transition:box-shadow var(--transition-fast)}.link-card-inner:hover{box-shadow:0 4px 12px #0000001a}.link-card-image img{transition:transform var(--transition-fast)}.link-card-inner:hover .link-card-image img{transform:scale(1.05)}.link-paste-area{display:flex;flex-direction:column;gap:var(--space-md)}.link-paste-input{width:100%;padding:var(--space-md);background:var(--canvas-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);font-size:var(--text-body-sm-size);color:var(--ink)}.link-paste-input:focus{outline:none;border-color:var(--primary)}.media-player-item{-webkit-user-select:none;user-select:none;transition:box-shadow var(--transition-fast)}.media-player-item.selected{box-shadow:0 0 0 2px var(--primary)}.media-player-item video,.media-player-item audio{width:100%;border-radius:var(--radius-xs)}.media-player-item audio{position:absolute;bottom:0;left:0;right:0}.audio-recorder-panel{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:10000;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-xl);padding:var(--space-sm) var(--space-md);box-shadow:0 8px 32px #0000003d,0 2px 8px #0000001f;display:flex;align-items:center;gap:var(--space-md);min-width:320px;max-width:90vw;font-family:var(--font-sans);animation:slideUp .35s var(--ease-spring)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.audio-recorder-timer{font-family:var(--font-mono);font-size:20px;font-weight:700;color:var(--ink);min-width:56px;letter-spacing:.02em}.audio-recorder-visualizer{background:var(--canvas-soft);border-radius:var(--radius-sm);flex-shrink:0}.audio-recorder-controls{display:flex;align-items:center;gap:4px}.audio-recorder-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:32px;padding:0 10px;border:none;border-radius:var(--radius-sm);font-size:var(--text-xs-size);font-weight:500;cursor:pointer;transition:all .15s ease;font-family:var(--font-sans)}.audio-recorder-pause{background:var(--canvas-soft);color:var(--ink-secondary)}.audio-recorder-pause:hover{background:var(--hairline);color:var(--ink)}.audio-recorder-resume{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.audio-recorder-resume:hover{background:color-mix(in srgb,var(--primary) 20%,transparent)}.audio-recorder-stop{background:var(--danger);color:#fff}.audio-recorder-stop:hover{background:var(--danger-active)}.audio-recorder-cancel{background:transparent;color:var(--ink-muted);width:28px;height:28px;padding:0;border-radius:50%}.audio-recorder-cancel:hover{background:var(--canvas-soft);color:var(--ink)}.audio-recorder-status{font-size:var(--text-xs-size);color:var(--ink-muted);display:flex;align-items:center;gap:6px;white-space:nowrap}.audio-recorder-pulse{width:8px;height:8px;border-radius:50%;background:var(--danger);display:inline-block;animation:pulse 1.2s ease-in-out infinite;flex-shrink:0}.audio-recorder-pulse.paused{background:var(--ink-muted);animation:none}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.audio-recorder-spinner{width:14px;height:14px;border:2px solid color-mix(in srgb,var(--primary) 30%,transparent);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:767px){.audio-recorder-panel{bottom:12px;min-width:auto;padding:var(--space-xs) var(--space-sm);gap:var(--space-sm);border-radius:var(--radius-lg)}.audio-recorder-visualizer{display:none}.audio-recorder-timer{font-size:16px}}.roadmap-item{-webkit-user-select:none;user-select:none;transition:box-shadow var(--transition-fast)}.roadmap-item.selected{box-shadow:0 0 0 2px var(--primary)}.roadmap-inner::-webkit-scrollbar{width:6px}.roadmap-inner::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:3px}.roadmap-milestone:last-child{padding-bottom:0}.roadmap-dot{transition:background .3s}.roadmap-edit-row{display:flex;gap:var(--space-xs);align-items:center;margin-bottom:var(--space-xs)}.roadmap-edit-remove{padding:4px 6px;font-size:var(--text-xs-size);color:var(--danger)}.board-item.connect-source{box-shadow:0 0 0 3px var(--primary);cursor:crosshair}#ai-panel{position:fixed;right:0;top:0;width:380px;height:100vh;background:var(--surface);border-left:1px solid var(--hairline);box-shadow:-4px 0 20px #0000001a;z-index:9000;display:flex;flex-direction:column;font-size:var(--text-caption-size);animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.ai-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);border-bottom:1px solid var(--hairline);font-weight:600}.ai-header-actions{display:flex;align-items:center;gap:var(--space-xs)}.ai-status{font-size:var(--text-xs-size);font-weight:400}.ai-close{font-size:20px;line-height:1}.ai-tabs{display:flex;border-bottom:1px solid var(--hairline);flex-shrink:0}.ai-tab{flex:1;padding:var(--space-xs);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:var(--text-caption-size);color:var(--ink-secondary);transition:var(--transition-fast)}.ai-tab:hover{color:var(--ink)}.ai-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.ai-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.ai-tab-content{display:none;flex:1;overflow-y:auto}.ai-tab-content.active{display:flex;flex-direction:column}.ai-messages{flex:1;overflow-y:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.ai-message{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);max-width:85%;line-height:1.5;white-space:pre-wrap;word-break:break-word}.ai-user{align-self:flex-end;background:var(--primary);color:#fff}.ai-assistant{align-self:flex-start;background:var(--canvas-soft);color:var(--ink)}.ai-system{align-self:center;background:var(--canvas-soft);color:var(--ink-muted);font-size:var(--text-xs-size);max-width:100%}.ai-input-row{display:flex;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-top:1px solid var(--hairline)}.ai-input{width:100%;padding:var(--space-xs);background:var(--canvas-soft);border:1px solid var(--hairline);border-radius:var(--radius-xs);font-size:var(--text-caption-size);color:var(--ink);resize:none;font-family:inherit}.ai-input:focus{outline:none;border-color:var(--primary)}.ai-context{padding:var(--space-xxs) var(--space-md) var(--space-xs);font-size:var(--text-xs-size);color:var(--ink-muted);display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.ai-context label{display:flex;align-items:center;gap:var(--space-xxs);cursor:pointer}.ai-model-select{display:flex;align-items:center;gap:var(--space-xxs)}.ai-model-select label{white-space:nowrap}.ai-model-select select{padding:2px 6px;font-size:var(--text-xs-size);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);cursor:pointer;max-width:180px}.ai-loading{text-align:center;padding:var(--space-lg);color:var(--ink-muted)}@media(max-width:767px){#ai-panel{width:100vw;right:0}}#chat-panel{position:fixed;right:0;bottom:0;width:340px;height:420px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:-4px -4px 20px #0000001a;z-index:8000;display:flex;flex-direction:column;font-size:var(--text-caption-size);animation:chatSlideIn .2s ease}@keyframes chatSlideIn{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) var(--space-md);border-bottom:1px solid var(--hairline);font-weight:600;background:var(--canvas-soft);border-radius:var(--radius-md) var(--radius-md) 0 0}.chat-close{font-size:18px;line-height:1;padding:2px 6px}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-xs) var(--space-md);display:flex;flex-direction:column;gap:var(--space-xxs)}.chat-message{max-width:85%;padding:var(--space-xxs) var(--space-xs);border-radius:var(--radius-xs);line-height:1.4}.chat-own{align-self:flex-end;background:var(--primary);color:var(--ink-inverse)}.chat-other{align-self:flex-start;background:var(--canvas-soft);color:var(--ink)}.chat-system{align-self:center;background:var(--canvas-soft);color:var(--ink-muted);font-size:var(--text-xs-size);max-width:100%}.chat-input-row{display:flex;gap:var(--space-xs);padding:var(--space-xs);border-top:1px solid var(--hairline)}.chat-input{flex:1;padding:var(--space-xs);background:var(--canvas-soft);border:1px solid var(--hairline);border-radius:var(--radius-xs);font-size:var(--text-caption-size);color:var(--ink)}.chat-input:focus{outline:none;border-color:var(--primary)}@media(max-width:767px){#chat-panel{width:100vw;height:50vh;right:0;bottom:0;border-radius:var(--radius-md) var(--radius-md) 0 0}}.board-search-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:calc(var(--z-modal) + 50);display:flex;flex-direction:column;align-items:center;padding-top:80px;background:var(--bg-overlay)}.board-search-bar{display:flex;align-items:center;gap:var(--space-xs);width:min(500px,90vw);padding:var(--space-xs) var(--space-md);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated)}.board-search-icon{font-size:var(--text-body-size);flex-shrink:0}.board-search-input{flex:1;border:none;outline:none;background:none;font-size:var(--text-body-sm-size);color:var(--ink)}.board-search-count{font-size:var(--text-xs-size);color:var(--ink-muted);white-space:nowrap}.board-search-close{background:none;border:none;font-size:var(--text-body-size);cursor:pointer;color:var(--ink-secondary);padding:var(--space-xxs)}.board-search-close:hover{color:var(--ink)}.board-search-results{width:min(500px,90vw);max-height:300px;overflow-y:auto;margin-top:var(--space-xs);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.board-search-result{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);cursor:pointer;transition:background var(--transition-fast)}.board-search-result:hover,.board-search-result.active{background:var(--canvas-soft)}.board-search-result-icon{font-size:var(--text-body-sm-size);flex-shrink:0}.board-search-result-title{font-size:var(--text-caption-size);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-search-empty{padding:var(--space-lg);text-align:center;color:var(--ink-muted);font-size:var(--text-caption-size)}.settings-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.settings-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--hairline);background:var(--surface);flex-shrink:0}.settings-header h1{font-size:var(--text-h3-size);font-weight:var(--weight-bold);margin:0;color:var(--ink)}.settings-body{display:flex;flex:1;overflow:hidden}.settings-tabs{width:200px;flex-shrink:0;padding:var(--space-4) var(--space-3);border-right:1px solid var(--hairline);background:var(--surface);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-1)}.settings-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;font-size:var(--text-body-sm-size);font-weight:var(--weight-medium);color:var(--ink-secondary);text-align:left;transition:all var(--transition-fast);white-space:nowrap}.settings-tab:hover{background:var(--surface-hover);color:var(--ink)}.settings-tab.active{background:var(--primary-subtle);color:var(--primary)}.settings-tab svg{width:16px;height:16px;flex-shrink:0;opacity:.7}.settings-tab.active svg{opacity:1}.settings-content{flex:1;overflow-y:auto;padding:var(--space-6) var(--space-8);scroll-behavior:smooth}.settings-content::-webkit-scrollbar{width:6px}.settings-content::-webkit-scrollbar-track{background:transparent}.settings-content::-webkit-scrollbar-thumb{background:var(--hairline);border-radius:3px}.settings-content::-webkit-scrollbar-thumb:hover{background:var(--hairline-strong)}.settings-section{display:none;flex-direction:column;gap:var(--space-5)}.settings-section.active{display:flex}.settings-section-title{font-size:var(--text-h3-size);font-weight:var(--weight-bold);color:var(--ink);margin:0;letter-spacing:var(--tracking-heading-3)}.settings-section-desc{font-size:var(--text-body-sm-size);color:var(--ink-muted);margin:0;line-height:1.5}.settings-field{display:flex;flex-direction:column;gap:var(--space-2)}.settings-field>label{font-size:var(--text-body-sm-size);font-weight:var(--weight-semibold);color:var(--ink);margin:0}.settings-field>.settings-field-hint{font-size:var(--text-caption-size);color:var(--ink-faint);margin:0}.settings-field input[type=text],.settings-field input[type=email],.settings-field input[type=password],.settings-field input[type=url],.settings-field input[type=search],.settings-field input[type=number],.settings-field select,.settings-field textarea{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-body-sm-size);color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.settings-field input:focus,.settings-field select:focus,.settings-field textarea:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.settings-field input:disabled,.settings-field select:disabled{opacity:.6;cursor:not-allowed}.settings-field-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface)}.settings-field-row .settings-field{flex:1;margin:0}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:border-color var(--transition-fast)}.settings-toggle-row:hover{border-color:var(--primary)}.settings-toggle-row .toggle-info{display:flex;flex-direction:column;gap:2px}.settings-toggle-row .toggle-label{font-size:var(--text-body-sm-size);font-weight:var(--weight-medium);color:var(--ink)}.settings-toggle-row .toggle-desc{font-size:var(--text-caption-size);color:var(--ink-muted)}.settings-toggle-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.settings-color-row{display:flex;align-items:center;gap:var(--space-3)}.settings-color-row input[type=color]{width:40px;height:40px;padding:2px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer}.settings-color-row input[type=text]{width:90px;font-family:var(--font-mono)}.settings-theme-row{display:flex;gap:var(--space-3)}.settings-theme-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);border:2px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface);cursor:pointer;transition:all var(--transition-fast)}.settings-theme-option:hover{border-color:var(--ink-muted)}.settings-theme-option.active{border-color:var(--primary);background:var(--primary-subtle)}.settings-theme-option svg{width:24px;height:24px;color:var(--ink-secondary)}.settings-theme-option.active svg{color:var(--primary)}.settings-theme-option span{font-size:var(--text-body-sm-size);font-weight:var(--weight-medium);color:var(--ink-secondary)}.settings-theme-option.active span{color:var(--primary)}.settings-danger-zone{margin-top:var(--space-xl);padding:var(--space-5);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--danger) 4%,transparent)}.settings-danger-zone h3{font-size:var(--text-body-size);font-weight:var(--weight-semibold);color:var(--danger);margin:0 0 var(--space-2)}.settings-danger-zone p{font-size:var(--text-body-sm-size);color:var(--ink-muted);margin:0 0 var(--space-4);line-height:1.5}.settings-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}@media(max-width:767px){.settings-body{flex-direction:column}.settings-tabs{width:100%;flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:none;border-bottom:1px solid var(--hairline);padding:var(--space-2);gap:var(--space-1)}.settings-tab{flex-shrink:0;padding:var(--space-2) var(--space-3)}.settings-content{padding:var(--space-4)}.settings-theme-row{flex-direction:column}}.design-system-page{overflow-y:auto;background:var(--canvas);color:var(--ink)}.ds-nav{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-8);background:var(--glass-2);-webkit-backdrop-filter:blur(var(--blur-xl)) saturate(180%);backdrop-filter:blur(var(--blur-xl)) saturate(180%);border-bottom:1px solid var(--glass-border);box-shadow:var(--shadow-soft),var(--glass-highlight)}.ds-nav-brand{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-h4-size);font-weight:var(--weight-semibold);color:var(--ink);text-decoration:none}.ds-nav-actions{display:flex;align-items:center;gap:var(--space-3)}.ds-nav-actions .theme-toggle{background:none;border:1px solid var(--hairline);border-radius:var(--radius-pill);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-secondary);transition:all var(--transition-fast)}.ds-nav-actions .theme-toggle:hover{background:var(--surface-hover);color:var(--ink)}.ds-nav.ds-nav-scrolled{box-shadow:var(--shadow-elevated),var(--glass-highlight)}.ds-hero{text-align:center;padding:var(--space-16) var(--space-8) var(--space-12);position:relative;overflow:hidden}.ds-hero-shapes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.ds-hero-shapes .shape{position:absolute;border-radius:50%;filter:blur(60px);opacity:.3;animation:ds-float 8s ease-in-out infinite alternate}.ds-hero-shapes .shape:nth-child(1){width:300px;height:300px;background:var(--primary);top:-80px;left:10%}.ds-hero-shapes .shape:nth-child(2){width:250px;height:250px;background:var(--accent-rose);top:-40px;right:15%;animation-delay:-2s}.ds-hero-shapes .shape:nth-child(3){width:200px;height:200px;background:var(--accent-cyan);bottom:-60px;left:50%;animation-delay:-4s}@keyframes ds-float{0%{transform:translate(0) scale(1)}to{transform:translate(30px,-20px) scale(1.1)}}.ds-hero h1{font-size:clamp(32px,5vw,56px);font-weight:800;letter-spacing:-1.5px;line-height:1.05;margin:0 0 var(--space-3);background:linear-gradient(135deg,var(--primary),var(--accent-violet),var(--accent-rose));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ds-hero p{font-size:var(--text-body-size);color:var(--ink-muted);max-width:500px;margin:0 auto var(--space-6);line-height:1.6}.ds-hero-stats{display:flex;justify-content:center;gap:var(--space-8)}.ds-hero-stat{text-align:center}.ds-hero-stat-value{font-size:28px;font-weight:700;color:var(--primary)}.ds-hero-stat-label{font-size:var(--text-caption-size);color:var(--ink-muted)}.ds-section{padding:var(--space-12) var(--space-8);max-width:960px;margin:0 auto}.ds-section-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8)}.ds-section-number{font-size:var(--text-xs-size);font-weight:700;color:var(--primary);background:var(--primary-subtle);padding:2px 10px;border-radius:var(--radius-pill);letter-spacing:.5px}.ds-section-title{font-size:var(--text-h2-size);font-weight:700;margin:0;letter-spacing:var(--tracking-heading-2)}.ds-section-desc{font-size:var(--text-body-sm-size);color:var(--ink-muted);margin:var(--space-1) 0 0 0}.ds-color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-2)}.ds-color-card{border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--hairline);background:var(--surface);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.ds-color-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.ds-color-swatch{height:56px;display:flex;align-items:flex-end;padding:var(--space-1) var(--space-2)}.ds-color-swatch label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fffc;background:#0003;padding:1px 6px;border-radius:4px}.ds-color-info{padding:var(--space-1) var(--space-2) var(--space-2)}.ds-color-name{font-size:12px;font-weight:600;color:var(--ink);margin:0 0 1px;line-height:1.3}.ds-color-hex{font-size:11px;font-family:var(--font-mono);color:var(--ink-muted)}.ds-color-card.copied .ds-color-hex:after{content:" Copied!";color:var(--success);font-weight:600}.ds-type-list{display:flex;flex-direction:column;gap:var(--space-4)}.ds-type-item{display:flex;align-items:baseline;gap:var(--space-6);padding:var(--space-4) var(--space-5);border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--hairline);transition:border-color var(--transition-fast)}.ds-type-item:hover{border-color:var(--primary)}.ds-type-label{min-width:100px;font-size:var(--text-xs-size);font-weight:600;color:var(--primary);font-family:var(--font-mono);letter-spacing:0}.ds-type-sample{flex:1;color:var(--ink);margin:0}.ds-type-meta{font-size:11px;font-family:var(--font-mono);color:var(--ink-faint);text-align:right;min-width:100px}.ds-spacing-grid{display:flex;flex-direction:column;gap:var(--space-3)}.ds-spacing-item{display:flex;align-items:center;gap:var(--space-4)}.ds-spacing-label{min-width:100px;font-size:var(--text-xs-size);font-weight:600;font-family:var(--font-mono);color:var(--ink-muted)}.ds-spacing-block{background:linear-gradient(135deg,var(--primary),var(--accent-violet));border-radius:var(--radius-xs);flex-shrink:0;opacity:.6;transition:opacity var(--transition-fast)}.ds-spacing-block:hover{opacity:1}.ds-spacing-value{font-size:var(--text-xs-size);font-family:var(--font-mono);color:var(--ink-faint);min-width:60px}.ds-button-grid{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.ds-button-group{display:flex;flex-direction:column;gap:var(--space-2)}.ds-button-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-faint)}.ds-button-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.ds-glass-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.ds-glass-card{padding:var(--space-6);border-radius:var(--radius-card);border:1px solid var(--glass-border);background:var(--glass-1);-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));box-shadow:var(--shadow-glass),var(--glass-highlight);transition:all var(--transition-base)}.ds-glass-card:hover{background:var(--glass-2);-webkit-backdrop-filter:blur(var(--blur-lg));backdrop-filter:blur(var(--blur-lg));box-shadow:var(--shadow-glass-hover),var(--glass-highlight);transform:translateY(-2px)}.ds-glass-card h4{margin:0 0 var(--space-2);font-size:var(--text-h4-size);font-weight:600}.ds-glass-card p{margin:0;font-size:var(--text-body-sm-size);color:var(--ink-secondary);line-height:1.5}.ds-glass-card .ds-glass-badge{display:inline-block;margin-top:var(--space-3);padding:2px 10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--radius-pill);background:var(--glass-3);border:1px solid var(--glass-border)}.ds-blur-demo{position:relative;padding:var(--space-8);border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--hairline);min-height:200px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-4)}.ds-blur-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 40%,var(--primary) 0%,transparent 50%),radial-gradient(circle at 70% 60%,var(--accent-rose) 0%,transparent 50%),radial-gradient(circle at 50% 80%,var(--accent-cyan) 0%,transparent 50%);z-index:0}.ds-blur-card{position:relative;z-index:1;padding:var(--space-6) var(--space-8);border-radius:var(--radius-card);border:1px solid var(--glass-border);background:#ffffff8c;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-glass),var(--glass-highlight);text-align:center;transition:backdrop-filter var(--transition-base)}.ds-blur-card h3{margin:0 0 var(--space-1);font-size:var(--text-h3-size);color:var(--ink)}.ds-blur-card p{margin:0;font-size:var(--text-body-sm-size);color:var(--ink-secondary)}.ds-blur-control{position:relative;z-index:1;display:flex;align-items:center;gap:var(--space-3)}.ds-blur-control label{font-size:var(--text-caption-size);color:var(--ink-muted);font-weight:500}.ds-blur-control input[type=range]{width:200px;accent-color:var(--primary)}.ds-blur-value{font-size:var(--text-xs-size);font-family:var(--font-mono);color:var(--ink-secondary);min-width:40px;text-align:center}.ds-shadow-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4)}.ds-shadow-card{padding:var(--space-6);border-radius:var(--radius-card);background:var(--surface);text-align:center;font-size:var(--text-caption-size);color:var(--ink-muted)}.ds-elevation-demo{display:flex;flex-wrap:wrap;gap:var(--space-6);align-items:flex-end;padding:var(--space-8);border-radius:var(--radius-card);background:var(--canvas);border:1px solid var(--hairline)}.ds-elevation-box{width:100px;height:100px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--hairline);display:flex;align-items:center;justify-content:center;font-size:11px;font-family:var(--font-mono);color:var(--ink-muted);transition:box-shadow var(--transition-fast)}@media(max-width:767px){.ds-section{padding:var(--space-8) var(--space-4)}.ds-color-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.ds-type-item{flex-direction:column;gap:var(--space-2)}.ds-type-meta{text-align:left}}
