@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";.landing{position:relative;height:100vh;overflow-y:auto;overflow-x:hidden;background-color:var(--bg);background-image:radial-gradient(circle,rgba(15,23,42,.1) 1px,transparent 1.1px);background-size:28px 28px;scroll-behavior:smooth}.landing ::selection{background:#10b98138}.landing button:focus-visible,.landing a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.magnet{display:inline-flex;transition:transform .25s var(--ease-out);will-change:transform}.btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:15px 27px;border-radius:999px;border:1px solid transparent;font-family:var(--font-sans);font-size:.94rem;font-weight:700;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;transition:transform var(--t-fast) var(--ease-spring),box-shadow var(--t-med) ease,background var(--t-fast) ease,border-color var(--t-fast) ease,color var(--t-fast) ease}.btn:active{transform:scale(.965)}.btn svg{transition:transform var(--t-med) var(--ease-spring)}.btn-primary:hover svg,.btn-accent:hover svg{transform:translate(3px)}.btn-primary{background:var(--text-primary);color:#f8fafc;box-shadow:0 1px 2px #0f172a3d,0 10px 30px -8px #0f172a59}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0f172a38,0 18px 44px -10px #0f172a6b}.btn-ghost{background:var(--panel);color:var(--text-primary);border-color:var(--border-strong);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.btn-ghost:hover{transform:translateY(-2px);border-color:var(--text-muted);box-shadow:var(--shadow)}.btn-sm{padding:10px 19px;font-size:.84rem}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.reveal.is-in{opacity:1;transform:translateY(0)}.rise-item{animation:riseItem .7s var(--ease-out) both;animation-delay:var(--d, 0s)}@keyframes riseItem{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;animation:pulseDot 2s ease-in-out infinite}@keyframes pulseDot{0%,to{box-shadow:0 0 #10b98173}55%{box-shadow:0 0 0 6px #10b98100}}.lnav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(20px,5vw,56px);background:#f4f6f8c7;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}.lnav-brand{display:flex;align-items:center;gap:10px;font-size:1.08rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary);background:none;border:none;cursor:pointer;font-family:var(--font-sans);padding:4px 6px;margin-left:-6px;border-radius:9px}.lnav-logo{width:26px;height:26px;animation:logoSpin 14s linear infinite}.lnav-links{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:4px;padding:5px;background:var(--panel);border:1px solid var(--border);border-radius:999px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow)}.lnav-links button{background:transparent;border:none;font-family:var(--font-sans);font-size:.83rem;font-weight:600;color:var(--text-secondary);padding:8px 16px;border-radius:999px;cursor:pointer;transition:color var(--t-fast) ease,background var(--t-fast) ease,transform var(--t-fast) var(--ease-spring)}.lnav-links button:hover{color:var(--text-primary);background:#0f172a0e;transform:translateY(-1px)}.lnav-actions{display:flex;align-items:center;gap:12px}.lnav-gh{display:flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--text-secondary);background:var(--panel);border:1px solid var(--border);border-radius:999px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:color var(--t-fast) ease,border-color var(--t-fast) ease,transform var(--t-fast) var(--ease-spring)}.lnav-gh:hover{color:var(--text-primary);border-color:var(--border-strong);transform:translateY(-2px)}@media (max-width: 900px){.lnav-links{display:none}}.hero{position:relative;min-height:calc(100vh - 67px);display:flex;align-items:center;justify-content:center;padding:60px clamp(20px,5vw,56px) 90px;overflow:hidden}.hero-braid{position:absolute;top:50%;right:max(-220px,-16vw);transform:translateY(-50%);width:min(62vw,900px);height:auto;pointer-events:none;z-index:0}.braid-path{stroke-width:2.5;stroke-linecap:round;fill:none;stroke-dasharray:1700;stroke-dashoffset:1700;animation:braidDraw 2.6s var(--ease-out) forwards}.braid-path--ink{stroke:#1a1d2157}.braid-path--mint{stroke:#10b9818c;animation-delay:.35s}.braid-path--sky{stroke:#0ea5e94d;animation-delay:.8s}@keyframes braidDraw{to{stroke-dashoffset:0}}.braid-drift{animation:braidFloat 10s ease-in-out infinite alternate}@keyframes braidFloat{0%{transform:translateY(-8px)}to{transform:translateY(10px)}}.hero-inner{position:relative;z-index:1;max-width:880px;text-align:center;display:flex;flex-direction:column;align-items:center}.hero-badge{display:inline-flex;align-items:center;gap:9px;padding:9px 17px;border-radius:999px;background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.02em;color:var(--text-secondary);margin-bottom:34px}.hero-title{font-size:clamp(3rem,9vw,6.8rem);font-weight:800;line-height:1.01;letter-spacing:-.045em;color:var(--text-primary);margin-bottom:30px}.h-line{display:block;overflow:hidden;padding-bottom:.18em;margin-bottom:-.14em}.h-word{display:inline-block;transform:translateY(115%);animation:wordUp .85s var(--ease-out) forwards;animation-delay:var(--d, 0s)}@keyframes wordUp{to{transform:translateY(0)}}.h-word--accent{position:relative;color:var(--accent)}.squiggle{position:absolute;left:4%;bottom:-.04em;width:92%;height:.14em;overflow:visible}.squiggle path{stroke:var(--accent);stroke-width:5;stroke-linecap:round;fill:none;stroke-dasharray:240;stroke-dashoffset:240;animation:squiggleDraw .7s var(--ease-out) forwards;animation-delay:1.05s}@keyframes squiggleDraw{to{stroke-dashoffset:0}}.hero-sub{max-width:600px;font-size:clamp(.98rem,1.6vw,1.13rem);line-height:1.65;color:var(--text-secondary);margin-bottom:38px}.hero-ctas{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;margin-bottom:40px}.hero-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.hero-meta i{width:3px;height:3px;border-radius:50%;background:var(--border-strong)}.float-cursor{position:absolute;z-index:0;pointer-events:none;display:flex;align-items:flex-start;gap:2px;opacity:0}.float-cursor--drift-a{animation:cursorIn .6s var(--ease-out) 1.4s forwards,driftA 16s ease-in-out infinite alternate;animation-delay:1.4s,-3s}.float-cursor--drift-b{animation:cursorIn .6s var(--ease-out) 1.4s forwards,driftB 18s ease-in-out infinite alternate;animation-delay:1.9s,-9s}.float-cursor--drift-c{animation:cursorIn .6s var(--ease-out) 1.4s forwards,driftC 15s ease-in-out infinite alternate;animation-delay:2.4s,-5s}@keyframes cursorIn{to{opacity:1}}@keyframes driftA{0%{transform:translate(0) rotate(-4deg)}to{transform:translate(-130px,70px) rotate(6deg)}}@keyframes driftB{0%{transform:translate(0) rotate(5deg)}to{transform:translate(150px,-60px) rotate(-6deg)}}@keyframes driftC{0%{transform:translate(0) rotate(3deg)}to{transform:translate(-100px,-80px) rotate(-5deg)}}.float-cursor-tag{margin-top:14px;margin-left:-4px;padding:3px 10px;border-radius:999px;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.02em;box-shadow:0 4px 14px #0f172a38;white-space:nowrap}.hero-scrollcue{position:absolute;bottom:26px;left:50%;transform:translate(-50%);z-index:1;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--text-secondary);background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);cursor:pointer;animation:bob 2.2s ease-in-out infinite;transition:color var(--t-fast) ease,border-color var(--t-fast) ease}.hero-scrollcue:hover{color:var(--text-primary);border-color:var(--border-strong)}@keyframes bob{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(7px)}}@media (max-width: 900px){.hero-braid{opacity:.45;right:-30vw;width:120vw}.float-cursor{display:none}}.section{position:relative;padding:110px clamp(20px,5vw,56px);max-width:1160px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.section-head{text-align:center;max-width:640px;margin-bottom:54px}.section-eyebrow{display:inline-block;font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);padding:6px 13px;border-radius:999px;margin-bottom:22px}.section-head h2{font-size:clamp(1.9rem,4.4vw,3.3rem);font-weight:800;letter-spacing:-.035em;line-height:1.08;color:var(--text-primary);margin-bottom:18px}.section-head p{font-size:1rem;line-height:1.65;color:var(--text-secondary)}.section-footnote{margin-top:26px;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-align:center}.demo-window{width:min(1040px,100%);border-radius:20px;background:#ffffffdb;border:1px solid var(--border-strong);box-shadow:0 2px 6px #0f172a0d,0 40px 90px -30px #0f172a47;overflow:hidden;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:transform var(--t-med) var(--ease-out),box-shadow var(--t-med) ease}.demo-window:hover{transform:translateY(-3px);box-shadow:0 2px 6px #0f172a0d,0 52px 110px -30px #0f172a57}.demo-chrome{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--border);background:#f4f6f899}.demo-dots{display:flex;gap:7px;flex-shrink:0}.demo-dots i{width:11px;height:11px;border-radius:50%;outline:1px solid rgba(15,23,42,.12)}.demo-dots i:nth-child(1){background:#f87171}.demo-dots i:nth-child(2){background:#fbbf24}.demo-dots i:nth-child(3){background:#34d399}.demo-url{flex:1;max-width:300px;margin:0 auto;text-align:center;font-size:.72rem;color:var(--text-secondary);background:#0f172a0d;padding:6px 16px;border-radius:999px}.demo-live{flex-shrink:0;display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:.64rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#047857}.demo-stage{position:relative;aspect-ratio:5 / 3;background-color:#fdfdfe;background-image:radial-gradient(circle,rgba(15,23,42,.09) 1px,transparent 1.1px);background-size:26px 26px}.demo-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:crosshair;touch-action:none;z-index:1}.demo-cursor{position:absolute;top:0;left:0;z-index:5;pointer-events:none;display:flex;align-items:flex-start;gap:2px;will-change:transform}.demo-cursor svg{filter:drop-shadow(0 2px 5px rgba(15,23,42,.3))}.demo-cursor-tag{margin-top:13px;margin-left:-3px;padding:2px 9px;border-radius:999px;color:#fff;font-family:var(--font-sans);font-size:.62rem;font-weight:700;letter-spacing:.02em;box-shadow:0 3px 10px #0f172a40;white-space:nowrap}.demo-presence{position:absolute;top:14px;right:14px;z-index:4;display:flex;align-items:center}.demo-avatar{padding:5px 11px;border-radius:999px;color:#fff;font-family:var(--font-sans);font-size:.64rem;font-weight:700;letter-spacing:.02em;margin-left:-7px;border:2px solid #fff;box-shadow:0 3px 10px #0f172a29;transition:transform var(--t-fast) var(--ease-spring)}.demo-avatar:hover{transform:translateY(-3px) scale(1.06)}.demo-avatar--you{background:var(--text-primary)}.demo-hint{position:absolute;bottom:76px;left:50%;transform:translate(-50%);z-index:4;display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);font-size:.72rem;font-weight:500;color:var(--text-secondary);white-space:nowrap;pointer-events:none;animation:riseItem .5s var(--ease-out) both}.demo-ops{position:absolute;top:14px;left:14px;z-index:4;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);font-size:.68rem;font-weight:500;color:var(--text-secondary)}.demo-ops-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulseDot 2s ease-in-out infinite}.demo-ops span:not(.demo-ops-dot){color:var(--accent);font-weight:500;min-width:3ch;text-align:right}.demo-dock{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:6;display:flex;align-items:center;gap:9px;padding:9px 12px;background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:999px;box-shadow:var(--shadow)}.demo-swatch{width:22px;height:22px}@media (max-width: 700px){.demo-stage{aspect-ratio:4 / 3}.demo-url{display:none}.demo-hint{white-space:normal;width:max-content;max-width:82%;text-align:center}}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;width:min(1040px,100%);margin-bottom:48px}.step-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px;background:#ffffffb8;border:1px solid var(--border);border-radius:18px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow);transition:transform var(--t-med) var(--ease-out),border-color var(--t-fast) ease,box-shadow var(--t-med) ease}.step-card:hover{transform:translateY(-5px);border-color:var(--border-strong);box-shadow:0 2px 6px #0f172a0a,0 30px 60px -20px #0f172a38}.step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.step-num{font-size:2rem;font-weight:500;color:transparent;-webkit-text-stroke:1.2px rgba(15,23,42,.28);letter-spacing:-.02em}.step-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:var(--accent-dim);color:#047857;transition:transform var(--t-med) var(--ease-spring)}.step-card:hover .step-icon{transform:rotate(-8deg) scale(1.1)}.step-card h3{font-size:1.06rem;font-weight:700;letter-spacing:-.015em;color:var(--text-primary)}.step-card p{font-size:.87rem;line-height:1.62;color:var(--text-secondary)}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;width:min(1040px,100%)}.feature-card{padding:26px;border-radius:18px;background:transparent;border:1px solid var(--border-strong);transition:transform var(--t-med) var(--ease-out),background var(--t-med) ease,box-shadow var(--t-med) ease,border-color var(--t-fast) ease}.feature-card:hover{transform:translateY(-5px);background:#ffffffbf;border-color:transparent;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 2px 6px #0f172a0a,0 30px 60px -20px #0f172a33}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--text-primary);color:#f8fafc;margin-bottom:18px;transition:transform var(--t-med) var(--ease-spring),background var(--t-fast) ease}.feature-card:hover .feature-icon{transform:rotate(-8deg) scale(1.08);background:var(--accent)}.feature-card h3{font-size:1rem;font-weight:700;letter-spacing:-.015em;color:var(--text-primary);margin-bottom:8px}.feature-card p{font-size:.85rem;line-height:1.6;color:var(--text-secondary)}.cta-band{position:relative;overflow:hidden;padding:150px clamp(20px,5vw,56px);display:flex;align-items:center;justify-content:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:radial-gradient(circle,rgba(15,23,42,.08) 1px,transparent 1.1px) 0 0 / 28px 28px,#ffffff8c}.cta-braid{position:absolute;top:50%;left:max(-240px,-18vw);transform:translateY(-50%) scaleX(-1);width:min(58vw,840px);pointer-events:none;opacity:.85}.cta-inner{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center}.cta-inner h2{font-size:clamp(2.4rem,6vw,4.6rem);font-weight:800;letter-spacing:-.04em;line-height:1.05;color:var(--text-primary);margin-bottom:38px}.btn-accent{background:var(--accent);color:#fff;box-shadow:0 2px 5px #05966959,0 16px 44px -10px #10b9818c}.btn-accent:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 3px 7px #05966952,0 22px 54px -10px #10b98199}.cta-note{margin-top:22px;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted)}@media (max-width: 900px){.cta-braid{opacity:.35}.float-cursor{display:none}}.lfooter{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;padding:34px clamp(20px,5vw,56px);max-width:1160px;margin:0 auto}.lfooter-brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em;color:var(--text-primary)}.lfooter-tag{font-weight:500;font-size:.78rem;color:var(--text-muted);margin-left:4px;padding-left:14px;border-left:1px solid var(--border-strong)}.lfooter-links{display:flex;gap:24px}.lfooter-links a{font-size:.82rem;font-weight:600;color:var(--text-secondary);text-decoration:none;position:relative;transition:color var(--t-fast) ease}.lfooter-links a:after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform var(--t-med) var(--ease-out)}.lfooter-links a:hover{color:var(--text-primary)}.lfooter-links a:hover:after{transform:scaleX(1);transform-origin:left}.lfooter-meta{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}@media (max-width: 980px){.steps,.features{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.steps,.features{grid-template-columns:1fr}.lfooter{flex-direction:column;align-items:flex-start}}:root{--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", monospace;--bg: #f4f6f8;--panel: rgba(255, 255, 255, .72);--panel-solid: #ffffff;--border: rgba(15, 23, 42, .08);--border-strong: rgba(15, 23, 42, .18);--shadow: 0 12px 40px rgba(15, 23, 42, .08), 0 1px 3px rgba(15, 23, 42, .06);--text-primary: #1a1d21;--text-secondary: #55595f;--text-muted: #9aa0a8;--accent: #10b981;--accent-dim: rgba(16, 185, 129, .14);--warn: #d97706;--danger: #dc2626;--danger-dim: rgba(220, 38, 38, .1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--t-fast: .16s;--t-med: .28s;--grid-x: 0px;--grid-y: 0px;--grid-size: 28px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;width:100vw;overflow:hidden;-webkit-font-smoothing:antialiased}.app-viewport{position:relative;width:100vw;height:100vh;overflow:hidden}.board-container{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background-image:radial-gradient(circle,rgba(15,23,42,.12) 1px,transparent 1.1px);background-size:var(--grid-size) var(--grid-size);background-position:var(--grid-x) var(--grid-y);transition:opacity .4s ease;animation:fadeIn .6s ease both}.chip{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--panel);border:1px solid var(--border);border-radius:12px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow);transition:border-color var(--t-fast) ease}.panel{pointer-events:auto;background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:14px;box-shadow:var(--shadow);transition:border-color var(--t-fast) ease,box-shadow var(--t-med) ease}.panel:hover{border-color:var(--border-strong)}.mono{font-family:var(--font-mono)}.rise{animation:rise .45s var(--ease-out) both}.rise-1{animation-delay:.05s}.rise-2{animation-delay:.12s}.rise-3{animation-delay:.19s}.rise-4{animation-delay:.26s}.animate-rise{animation:rise .3s var(--ease-out) both}.brand-chip{position:absolute;top:20px;left:20px;z-index:20;cursor:default}.brand-mark{display:flex;align-items:center;gap:9px;-webkit-user-select:none;user-select:none;background:transparent;border:none;padding:3px 8px;margin:-3px -8px;border-radius:7px;cursor:pointer;font-family:var(--font-sans);transition:background var(--t-fast) ease}.brand-mark:hover{background:#0f172a0d}.brand-logo{width:22px;height:22px;flex-shrink:0;animation:logoSpin 14s linear infinite}.brand-name{font-size:.85rem;font-weight:700;letter-spacing:-.01em}.brand-divider{width:1px;height:18px;background:var(--border-strong)}.room-btn{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-mono);font-size:.72rem;cursor:pointer;padding:3px 8px;border-radius:7px;transition:all var(--t-fast) ease}.room-btn:hover{color:var(--text-primary);background:#0f172a0d}.github-link{display:flex;align-items:center;color:var(--text-muted);padding:4px 8px;border-radius:7px;transition:color var(--t-fast) ease,background var(--t-fast) ease,transform var(--t-fast) var(--ease-spring)}.github-link:hover{color:var(--text-primary);background:#0f172a0d;transform:translateY(-1px)}.save-state{display:flex;align-items:center;gap:6px;font-size:.72rem;font-weight:500;color:var(--text-muted);padding-left:10px;border-left:1px solid var(--border);animation:none}.save-state.is-fresh{animation:saveFlash 1.4s ease}.save-state .save-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px #10b9818c}.save-state .save-meta{font-family:var(--font-mono);font-size:.66rem;color:var(--text-secondary)}.conn-status{pointer-events:auto;position:absolute;top:20px;right:20px;display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:.76rem;font-weight:600;letter-spacing:.02em;background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow);border-radius:999px;transition:border-color var(--t-med) ease;z-index:21}.conn-dot{position:relative;width:7px;height:7px;border-radius:50%;flex-shrink:0}.conn-dot:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:1px solid currentColor;opacity:0}.conn-status--connected .conn-dot{background:var(--accent);color:var(--accent)}.conn-status--connected .conn-label{color:#047857}.conn-status--connected .conn-dot:after{animation:pingRing 2.4s ease-out infinite}.conn-status--connecting,.conn-status--reconnecting{border-color:#fbbf2440}.conn-status--connecting .conn-dot,.conn-status--reconnecting .conn-dot{background:var(--warn);color:var(--warn);animation:blink 1s ease-in-out infinite}.conn-status--connecting .conn-label,.conn-status--reconnecting .conn-label{color:#b45309}.conn-status--disconnected{border-color:#f8717140}.conn-status--disconnected .conn-dot{background:var(--danger);color:var(--danger)}.conn-status--disconnected .conn-label{color:#b91c1c}.conn-board{color:var(--text-muted);font-family:var(--font-mono);font-size:.68rem;border-left:1px solid var(--border);padding-left:9px;margin-left:2px}.avatar-stack{pointer-events:auto;position:absolute;top:64px;right:20px;display:flex;align-items:center;z-index:20;padding:5px;background:var(--panel);border:1px solid var(--border);border-radius:999px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow)}.avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;color:#000000bf;margin-left:-7px;border:2px solid var(--panel-solid);cursor:default;transition:transform var(--t-fast) var(--ease-spring);animation:popIn .4s var(--ease-spring) both}.avatar:first-child{margin-left:0}.avatar:hover{transform:translateY(-3px) scale(1.12);z-index:2}.stack-count{margin-left:8px;margin-right:4px;font-size:.7rem;font-weight:600;color:var(--text-secondary);padding-right:4px}.conn-status--full{border-color:#fbbf2459}.conn-status--full .conn-dot{background:var(--warn);color:var(--warn)}.conn-status--full .conn-label{color:#b45309}.avatar--you{cursor:pointer;box-shadow:0 0 0 2px var(--panel-solid),0 0 0 3.5px #38bdf899}.rename-popover{pointer-events:auto;position:absolute;top:110px;right:20px;z-index:22;display:flex;align-items:center;gap:2px;padding:7px 8px}.rename-popover input{width:150px;background:transparent;border:1px solid var(--border-strong);border-radius:7px;color:var(--text-primary);font-size:.76rem;padding:5px 8px;outline:none;transition:border-color var(--t-fast) ease}.rename-popover input:focus{border-color:var(--accent)}.rename-save{color:var(--accent);font-weight:600}.dock-wrap{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;z-index:30;pointer-events:none}.dock{pointer-events:auto;display:flex;align-items:center;gap:3px;padding:7px;background:var(--panel);border:1px solid var(--border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:16px;box-shadow:var(--shadow)}.dock-btn{position:relative;background:transparent;border:none;color:var(--text-secondary);width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--t-fast) ease,color var(--t-fast) ease,transform var(--t-fast) var(--ease-spring)}.dock-btn:hover{background:#0f172a0f;color:var(--text-primary);transform:translateY(-2px)}.dock-btn:active{transform:scale(.9)}.dock-btn.active{background:#1a1d21;color:#f8fafc;box-shadow:0 0 0 1px #0f172a33,0 4px 14px #0f172a40}.dock-btn:disabled{opacity:.25;cursor:not-allowed;pointer-events:none}.dock-divider{width:1px;height:24px;background:var(--border-strong);margin:0 5px;flex-shrink:0}.dock-btn[data-tip]:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%) translateY(3px);background:var(--panel-solid);border:1px solid var(--border-strong);color:var(--text-primary);font-size:.68rem;font-weight:500;font-family:var(--font-sans);white-space:nowrap;padding:5px 9px;border-radius:7px;opacity:0;pointer-events:none;transition:opacity var(--t-fast) ease,transform var(--t-fast) var(--ease-out);box-shadow:0 6px 20px #0f172a29;z-index:40}.dock-btn[data-tip]:hover:after{opacity:1;transform:translate(-50%) translateY(0);transition-delay:.25s}.kbd{font-family:var(--font-mono);font-size:.62rem;color:var(--text-muted);margin-left:5px}.dock-btn.confirming{width:auto;padding:0 13px;background:var(--danger-dim);color:var(--danger);font-size:.74rem;font-weight:600;animation:popIn .25s var(--ease-spring)}.left-stack{position:absolute;top:84px;left:20px;width:224px;display:flex;flex-direction:column;align-items:stretch;gap:14px;z-index:15;pointer-events:none}.left-stack>.panel{pointer-events:auto}.style-panel{display:flex;flex-direction:column;padding:20px;gap:26px}.style-group{display:flex;flex-direction:column;gap:12px;position:relative}.style-group label{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em;color:var(--text-muted)}.swatch-row{display:flex;gap:10px;flex-wrap:wrap}.swatch{width:25px;height:25px;border-radius:50%;border:2px solid transparent;outline:1px solid rgba(15,23,42,.16);outline-offset:2px;cursor:pointer;transition:transform var(--t-fast) var(--ease-spring),outline-color var(--t-fast) ease,outline-width var(--t-fast) ease,box-shadow var(--t-fast) ease}.swatch:hover{transform:scale(1.18);outline-color:#0f172a66}.swatch.selected{outline:2px solid var(--text-primary);outline-offset:3px;transform:scale(1.06);box-shadow:0 0 12px #0f172a33}.wheel-btn{position:relative;background:conic-gradient(from 90deg,#ef4444,#f59e0b,#facc15,#34d399,#38bdf8,#6366f1,#e879b9,#ef4444)}.wheel-core{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:var(--panel-solid);box-shadow:inset 0 0 0 1px #0f172a1f}.recent-row{gap:8px}.swatch-sm{width:18px;height:18px}.picker-popover{position:absolute;left:calc(100% + 14px);top:-10px;z-index:60;width:218px;padding:14px;display:flex;flex-direction:column;gap:12px;background:var(--panel-solid);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);animation:rise .25s var(--ease-out) both}.picker-wheel{display:block;width:186px;height:186px;margin:0 auto;border-radius:50%;cursor:crosshair;touch-action:none}.picker-brightness{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:10px;border-radius:6px;border:1px solid var(--border);outline:none;cursor:pointer}.picker-brightness::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--text-primary);box-shadow:0 1px 4px #0f172a4d;cursor:grab}.picker-brightness::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--text-primary);box-shadow:0 1px 4px #0f172a4d;cursor:grab}.picker-footer{display:flex;align-items:center;gap:8px}.picker-preview{flex:none;width:30px;height:30px;border-radius:8px;border:1px solid var(--border-strong)}.picker-hex{flex:1;min-width:0;font-size:.78rem;padding:7px 9px;border-radius:8px;border:1px solid var(--border);background:#0f172a08;color:var(--text-primary);outline:none;transition:border-color var(--t-fast) ease}.picker-hex:focus{border-color:var(--accent)}.picker-ok{flex:none;padding:7px 14px;border-radius:8px;border:none;background:var(--accent);color:#fff;font-family:var(--font-sans);font-size:.78rem;font-weight:700;cursor:pointer;transition:transform var(--t-fast) var(--ease-spring),filter var(--t-fast) ease}.picker-ok:hover{filter:brightness(1.06);transform:translateY(-1px)}.picker-ok:active{transform:translateY(0)}.width-row{display:flex;align-items:center;gap:4px;background:#0f172a0a;border:1px solid var(--border);border-radius:9px;padding:4px}.width-btn{flex:1;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-muted);transition:all var(--t-fast) ease}.width-btn:hover{color:var(--text-primary);background:#0f172a0d}.width-btn.active{background:#0f172a17;color:var(--text-primary)}.width-pill{border-radius:999px;background:currentColor;transition:all var(--t-fast) var(--ease-spring)}.actions-panel{display:flex;flex-direction:column;padding:8px;gap:2px}.action-btn{background:transparent;border:none;color:var(--text-secondary);padding:9px 12px;border-radius:9px;display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.8rem;font-weight:500;font-family:var(--font-sans);text-align:left;transition:all var(--t-fast) ease}.action-btn span{flex-grow:1}.action-btn .kbd{margin-left:0}.action-btn:hover{background:#0f172a0d;color:var(--text-primary);transform:translate(2px)}.action-btn.danger{color:var(--danger)}.action-btn.danger:hover{background:var(--danger-dim)}.zoom-controls{position:static;display:flex;align-items:center;gap:2px;padding:5px}.zoom-btn{background:transparent;border:none;color:var(--text-secondary);width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--t-fast) var(--ease-spring)}.zoom-btn:hover{background:#0f172a0f;color:var(--text-primary)}.zoom-btn:active{transform:scale(.88)}.zoom-value{min-width:52px;text-align:center;background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-mono);font-size:.72rem;cursor:pointer;padding:6px 4px;border-radius:7px;transition:all var(--t-fast) ease}.zoom-value:hover{color:var(--text-primary);background:#0f172a0d}.zoom-divider{width:1px;height:18px;background:var(--border);margin:0 3px}.toast-stack{position:absolute;bottom:92px;left:50%;transform:translate(-50%);display:flex;flex-direction:column-reverse;align-items:center;gap:8px;z-index:50;pointer-events:none}.toast{display:flex;align-items:center;gap:9px;padding:9px 16px;background:var(--panel-solid);border:1px solid var(--border-strong);border-radius:11px;box-shadow:0 10px 32px #0f172a24;font-size:.78rem;font-weight:500;color:var(--text-primary);white-space:nowrap;animation:toastIn .35s var(--ease-spring) both}.toast.leaving{animation:toastOut .25s var(--ease-out) both}.toast-icon{display:flex;color:var(--accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a52;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:90;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease both}.shortcuts-modal{width:380px;background:var(--panel-solid);border:1px solid var(--border-strong);border-radius:18px;box-shadow:0 24px 80px #0f172a38;padding:26px;animation:popIn .3s var(--ease-spring) both}.shortcuts-modal h3{font-size:.95rem;font-weight:700;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:.8rem;color:var(--text-secondary)}.shortcut-row:last-child{border-bottom:none}.bottom-right-cluster{position:absolute;bottom:22px;right:20px;display:flex;align-items:center;gap:10px;z-index:20}.help-chip{display:flex;align-items:center;gap:7px;padding:9px 13px;background:var(--panel);border:1px solid var(--border);border-radius:999px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow);color:var(--text-secondary);font-family:var(--font-mono);font-size:.68rem;cursor:pointer;transition:color var(--t-fast) ease,border-color var(--t-fast) ease,transform var(--t-fast) var(--ease-spring)}.help-chip:hover{color:var(--text-primary);border-color:var(--border-strong);transform:translateY(-2px)}.help-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;font-size:.64rem;font-weight:600;color:var(--text-primary);background:#0f172a0a}.text-edit-textarea{background:var(--panel-solid);border:1px solid var(--border-strong);border-radius:6px;padding:4px;outline:none;resize:none;overflow:hidden;box-shadow:0 8px 30px #0f172a29;z-index:100;animation:popIn .15s var(--ease-out);caret-color:var(--accent)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}@keyframes pingRing{0%{opacity:.7;transform:scale(.6)}70%,to{opacity:0;transform:scale(1.9)}}@keyframes toastIn{0%{opacity:0;transform:translateY(16px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{to{opacity:0;transform:translateY(8px) scale(.96)}}@keyframes saveFlash{0%{color:var(--accent)}to{color:var(--text-muted)}}@keyframes logoSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
