:root{--ink:#202130;--muted:#6b6d7c;--line:#e4e4ed;--primary:#48208d;--primary-mid:#6735c3;--primary-dark:#251047;--primary-gradient:linear-gradient(135deg,#7540d5 0%,#48208d 54%,#251047 100%);--soft:#eee8fb;--danger:#b7354c;--shadow:0 14px 36px rgba(38,35,74,.14)}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;overflow:hidden;color:var(--ink);background:#f7f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input{font:inherit}button{color:inherit}:focus-visible{outline:3px solid #8b66d0;outline-offset:2px}.app{display:flex;height:100%}
.sidebar{position:relative;z-index:40;display:flex;width:304px;flex:0 0 304px;flex-direction:column;gap:24px;padding:24px;border-right:1px solid var(--line);background:#fff;box-shadow:5px 0 24px #26234a0a}.brand{display:flex;align-items:center;gap:12px}.logo{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:#fff;background:var(--primary-gradient);box-shadow:0 9px 22px #35116e55;font-size:21px}.brand h1{margin:0;font-size:18px}.brand p{margin:3px 0 0;color:var(--muted);font-size:12px}
form{display:grid;gap:9px}label{font-size:13px;font-weight:750}.search-wrap{position:relative}.search-wrap>span{position:absolute;top:50%;left:13px;color:var(--muted);transform:translateY(-50%);pointer-events:none}#search{width:100%;height:48px;padding:0 42px 0 40px;border:1px solid #d5d5e1;border-radius:12px;color:var(--ink);background:#fff}#search:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 4px var(--soft)}#clearInput{position:absolute;top:2px;right:2px;display:none;width:44px;height:44px;border:0;border-radius:10px;background:transparent;cursor:pointer}#clearInput.show{display:block}#clearInput:hover,.tool:hover{background:#f0eff7}small{color:var(--muted);font-size:11px;line-height:1.5}
section>h2,.board>h2{margin:0 0 10px;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:99px;background:#fafafd;cursor:pointer;font-size:12px}.chip:hover{border-color:#a995d2;color:var(--primary-dark);background:var(--soft)}.board{margin-top:auto}.meta{display:flex;justify-content:space-between;margin-bottom:10px;color:var(--muted);font-size:12px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.button{min-height:42px;padding:8px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer;font-size:13px;font-weight:750}.button:hover{background:#faf9ff}.button.primary{border-color:var(--primary-dark);color:#fff;background:var(--primary-gradient);box-shadow:0 8px 18px #35116e38}.button.primary:hover{background:linear-gradient(135deg,#6735c3,#35116e 60%,#1c0b38)}.button.danger{color:var(--danger)}.button.wide{grid-column:1/-1}.button:disabled{opacity:.45;cursor:not-allowed}.source{margin:14px 0 0;color:var(--muted);font-size:11px;text-align:center}.source a{color:inherit}
main{position:relative;min-width:0;flex:1;overflow:hidden}#canvas{position:absolute;inset:0;overflow:hidden;background:#f7f7fb;cursor:grab;touch-action:none}#canvas.panning{cursor:grabbing}#workspace{position:absolute;width:2400px;height:1600px;transform-origin:0 0;background-color:#f7f7fb;background-image:linear-gradient(#e7e7ef 1px,transparent 1px),linear-gradient(90deg,#e7e7ef 1px,transparent 1px);background-size:40px 40px}
#empty{position:absolute;top:50%;left:50%;z-index:5;width:min(440px,calc(100% - 36px));padding:32px;border:1px solid #e1e0ea;border-radius:20px;background:#fffffff0;box-shadow:0 18px 50px #36325514;text-align:center;transform:translate(-50%,-50%);backdrop-filter:blur(7px)}#empty.hidden{display:none}.empty-icon{display:grid;width:62px;height:62px;margin:0 auto 16px;place-items:center;border-radius:18px;color:var(--primary);background:var(--soft);font-size:30px}#empty h2{margin:0 0 7px;font-size:22px;text-transform:none;letter-spacing:0;color:var(--ink)}#empty p{margin:0 0 18px;color:var(--muted);line-height:1.5}.centered{justify-content:center}
.zoom{position:absolute;right:18px;bottom:18px;z-index:30;display:flex;align-items:center;gap:3px;padding:5px;border:1px solid var(--line);border-radius:13px;background:#fffffff2;box-shadow:var(--shadow)}.tool{display:grid;width:44px;height:44px;padding:0;place-items:center;border:0;border-radius:10px;background:transparent;cursor:pointer}.zoom span{min-width:52px;color:var(--muted);font-size:12px;font-weight:750;text-align:center}
#loader{position:absolute;top:18px;left:50%;z-index:30;display:flex;align-items:center;gap:10px;padding:10px 15px;border:1px solid var(--line);border-radius:99px;opacity:0;background:#fffffff5;box-shadow:var(--shadow);transform:translate(-50%,-10px);transition:.18s;pointer-events:none;font-size:13px;font-weight:700}#loader.show{opacity:1;transform:translate(-50%,0)}#loader i{width:17px;height:17px;border:2px solid #dad6f7;border-top-color:var(--primary);border-radius:50%;animation:spin .75s linear infinite}
#toast{position:absolute;left:50%;bottom:78px;z-index:60;max-width:calc(100% - 30px);padding:11px 16px;border-radius:11px;opacity:0;color:#fff;background:#303142;box-shadow:var(--shadow);transform:translate(-50%,8px);transition:.18s;pointer-events:none;font-size:13px}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.error{background:#9f3145}#toast.success{background:#237a57}
.card{position:absolute;width:232px;overflow:hidden;border:2px solid transparent;border-radius:14px;background:#fff;box-shadow:0 9px 24px #201f3326;cursor:grab;touch-action:none;user-select:none;animation:cardIn .28s ease both}.card:hover{box-shadow:0 13px 30px #201f3333}.card.selected{border-color:var(--primary);box-shadow:0 0 0 4px #48208d30,0 16px 36px #201f3333}.card.dragging{cursor:grabbing;animation:none}.image-wrap{position:relative;height:150px;overflow:hidden;background:#eeeef4}.card img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.card-actions{position:absolute;top:8px;right:8px;opacity:0}.card:hover .card-actions,.card.selected .card-actions,.card:focus-within .card-actions{opacity:1}.remove{display:grid;width:36px;height:36px;padding:0;place-items:center;border:0;border-radius:10px;background:#fffffff0;box-shadow:0 4px 12px #0002;cursor:pointer}.remove:hover{color:var(--danger);background:#fff}.card-body{padding:12px 13px}.card-title{display:-webkit-box;margin:0 0 8px;overflow:hidden;font-size:14px;font-weight:800;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.credit{margin:0;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.credit a{color:var(--primary)}
.mobile-brand{position:absolute;top:12px;left:12px;z-index:35;display:none;align-items:center;gap:7px;padding:4px 10px 4px 4px;border:1px solid var(--line);border-radius:13px;background:#fffffff2;box-shadow:var(--shadow)}.backdrop{display:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes cardIn{from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:none}}
@media(max-width:780px){.sidebar{position:fixed;inset:0 auto 0 0;width:min(88vw,320px);transform:translateX(-105%);transition:.22s}.sidebar.open{transform:none}.mobile-brand{display:flex}.backdrop{position:fixed;inset:0;z-index:39;display:block;visibility:hidden;opacity:0;background:#1a19265c;transition:.22s}.backdrop.show{visibility:visible;opacity:1}#loader{top:70px}.zoom{right:12px;bottom:12px}.card{width:210px}.image-wrap{height:135px}.card-actions{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* First-visit product story */
.welcome{position:fixed;inset:0;z-index:100;display:grid;overflow:auto;color:#202130;background:radial-gradient(circle at 80% 15%,#c8b8ec 0,transparent 32%),radial-gradient(circle at 8% 88%,#d9f5ea 0,transparent 28%),#faf9ff;transition:opacity .35s ease,visibility .35s ease}.welcome.hidden{visibility:hidden;opacity:0;pointer-events:none}.welcome-shell{width:min(1180px,calc(100% - 48px));margin:auto;padding:28px 0}.welcome-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:54px}.welcome-brand{display:flex;align-items:center;gap:11px;font-weight:850}.welcome-brand .logo{width:38px;height:38px}.ghost-button{min-height:44px;padding:9px 16px;border:1px solid #cec5e0;border-radius:12px;background:#ffffffa8;cursor:pointer;font-size:13px;font-weight:750;backdrop-filter:blur(8px)}.ghost-button:hover{border-color:#8e75bd;background:#fff}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);align-items:center;gap:70px}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:7px 11px;border:1px solid #c8b8e7;border-radius:99px;color:var(--primary-dark);background:var(--soft);font-size:12px;font-weight:800}.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px #48208d26}.hero h1{max-width:680px;margin:0;font-size:clamp(43px,6vw,78px);line-height:.98;letter-spacing:-.055em}.hero h1 span{color:transparent;background:var(--primary-gradient);background-clip:text;-webkit-background-clip:text}.hero-copy{max-width:610px;margin:24px 0 28px;color:#5e6070;font-size:18px;line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:11px}.hero-cta{min-height:52px;padding:13px 19px;border:0;border-radius:13px;color:#fff;background:var(--primary-gradient);box-shadow:0 14px 30px #35116e52;cursor:pointer;font-weight:800}.hero-cta:hover{background:linear-gradient(135deg,#6735c3,#35116e 58%,#1c0b38);transform:translateY(-1px)}.hero-secondary{min-height:52px;padding:13px 19px;border:1px solid #d9d6e8;border-radius:13px;background:#fff;cursor:pointer;font-weight:800}.hero-secondary:hover{border-color:#8e75bd}.value-row{display:flex;flex-wrap:wrap;gap:20px;margin-top:28px;color:#626474;font-size:12px;font-weight:700}.value-row span::before{content:"✓";margin-right:7px;color:#237a57}.hero-visual{position:relative;min-height:500px}.demo-window{position:absolute;inset:18px 0 18px 10px;overflow:hidden;border:1px solid #d7cfe6;border-radius:24px;background:#f8f8fc;box-shadow:0 30px 80px #25104738;transform:rotate(1.5deg)}.demo-top{display:flex;align-items:center;gap:6px;height:44px;padding:0 15px;border-bottom:1px solid #e9e7f0;background:#fff}.demo-top i{width:8px;height:8px;border-radius:50%;background:#ddd9e8}.demo-grid{position:absolute;inset:44px 0 0;background-image:linear-gradient(#e9e8f0 1px,transparent 1px),linear-gradient(90deg,#e9e8f0 1px,transparent 1px);background-size:32px 32px}.demo-card{position:absolute;width:160px;padding:7px 7px 11px;border-radius:13px;opacity:0;background:#fff;box-shadow:0 12px 28px #312e5129;animation:demoReveal .7s cubic-bezier(.2,.8,.2,1) forwards,float 4.5s ease-in-out infinite}.demo-card b{display:block;margin:8px 4px 2px;font-size:11px}.demo-card span{display:block;height:108px;border-radius:9px;background-color:#d8d3e2;background-position:center;background-size:cover}.demo-one{top:66px;left:40px;transform:rotate(-6deg);animation-delay:.2s,.9s}.demo-one span{background-image:linear-gradient(#2e183316,#2e183329),url("https://commons.wikimedia.org/wiki/Special:Redirect/file/Modern%20wooden%20house%20interior%20%28Unsplash%29.jpg?width=640")}.demo-two{top:176px;right:38px;transform:rotate(5deg);animation-delay:.5s,1.2s}.demo-two span{background-image:linear-gradient(#142f4510,#142f4526),url("https://commons.wikimedia.org/wiki/Special:Redirect/file/Guernsey%20sea%20view%20landscape.jpg?width=640")}.demo-three{bottom:32px;left:116px;transform:rotate(-2deg);animation-delay:.8s,1.5s}.demo-three span{background-image:linear-gradient(#3a2a2010,#3a2a2029),url("https://commons.wikimedia.org/wiki/Special:Redirect/file/STONE%20TEXTURE.jpg?width=640")}.spark{position:absolute;color:var(--primary);font-size:28px}.spark.one{top:3px;right:24px}.spark.two{right:-18px;bottom:76px;color:#e08a67}.spark.three{left:-10px;bottom:35px;color:#3a9b75}@keyframes demoReveal{from{opacity:0;scale:.85;translate:0 18px}to{opacity:1;scale:1;translate:0 0}}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -8px}}
/* Guided walkthrough */
.tour-layer{position:fixed;inset:0;z-index:120;visibility:hidden;pointer-events:none}.tour-layer.show{visibility:visible}.tour-spotlight{position:fixed;border:2px solid #7852c3;border-radius:15px;box-shadow:0 0 0 9999px #12091fca,0 0 0 6px #6b3ebc42;transition:all .28s ease;pointer-events:none}.tour-card{position:fixed;z-index:2;width:min(340px,calc(100vw - 28px));padding:20px;border:1px solid #d7cfe6;border-radius:17px;background:#fff;box-shadow:0 24px 70px #170a2c70;pointer-events:auto;transition:top .28s ease,left .28s ease}.tour-step{color:var(--primary);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.tour-card h2{margin:7px 0 8px;color:#202130;font-size:20px;letter-spacing:-.02em;text-transform:none}.tour-card p{margin:0;color:#666877;font-size:14px;line-height:1.55}.tour-progress{display:flex;gap:5px;margin:18px 0}.tour-progress i{width:22px;height:4px;border-radius:9px;background:#e6e3f7}.tour-progress i.active{background:var(--primary-gradient)}.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.tour-skip{padding:9px;border:0;color:#77798a;background:transparent;cursor:pointer;font-size:12px}.tour-next{min-height:42px;padding:9px 16px;border:0;border-radius:11px;color:#fff;background:var(--primary-gradient);box-shadow:0 8px 18px #35116e3d;cursor:pointer;font-weight:800}.tour-next:hover{background:linear-gradient(135deg,#6735c3,#35116e 60%,#1c0b38)}
@media(max-width:900px){.welcome-shell{width:min(100% - 30px,680px);padding:18px 0 34px}.welcome-nav{margin-bottom:34px}.hero{grid-template-columns:1fr;gap:30px}.hero h1{font-size:clamp(40px,12vw,66px)}.hero-copy{font-size:16px}.hero-visual{min-height:410px}.demo-window{inset:0 7%}.demo-three{left:30%}}
@media(max-width:520px){.welcome-shell{width:calc(100% - 24px)}.welcome-nav{margin-bottom:28px}.welcome-nav .ghost-button{display:none}.hero h1{font-size:43px}.hero-copy{margin:18px 0 22px}.hero-actions>*{width:100%}.value-row{gap:9px 15px;margin-top:20px}.hero-visual{min-height:350px}.demo-card{width:135px}.demo-card span{height:82px}.demo-one{left:22px}.demo-two{right:20px}.demo-three{left:27%}.tour-card{padding:17px}}

/* Marketing page */
.landing-page{overflow:auto;background:#faf9ff}
.landing-page .welcome{position:relative;min-height:100vh;overflow:visible}
.landing-page .welcome-shell{margin:0 auto;padding:28px 0 0}
.welcome-brand{color:inherit;text-decoration:none}
.landing-nav{display:flex;align-items:center;gap:24px}
.landing-nav>a:not(.ghost-button){color:#565767;text-decoration:none;font-size:13px;font-weight:750}
.landing-nav>a:hover{color:var(--primary)}
.ghost-button,.hero-cta,.hero-secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.home-link{width:max-content;margin-top:-13px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:700}
.home-link:hover{color:var(--primary)}
.founder{display:flex;margin-top:95px;padding:28px 32px;align-items:center;gap:20px;border:1px solid #dcd5e8;border-radius:22px;background:linear-gradient(145deg,#fff 0%,#f4f0fb 100%);box-shadow:0 20px 55px #25104714}
.section-kicker{display:block;margin-bottom:13px;color:var(--primary);font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.founder-avatar{display:grid;width:68px;height:68px;flex:0 0 68px;place-items:center;border-radius:19px;color:#fff;background:var(--primary-gradient);box-shadow:0 12px 25px #35116e38;font-size:19px;font-weight:900;letter-spacing:-.04em}
.founder-summary{min-width:0}
.founder-summary .section-kicker{margin-bottom:5px}
.founder-summary h2{margin:0;color:var(--ink);font-size:22px;letter-spacing:-.025em;text-transform:none}
.founder-summary h2 small{margin-left:7px;color:var(--primary);font-size:12px;font-weight:800}
.founder-summary p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
.social-icons{display:flex;margin-left:auto;gap:8px}
.social-icons a{display:grid;width:44px;height:44px;place-items:center;border:1px solid #d6cee3;border-radius:12px;color:var(--primary-dark);background:#fff;text-decoration:none;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.social-icons a:hover{border-color:#8e75bd;background:var(--soft);transform:translateY(-2px)}
.social-icons svg{width:20px;height:20px;fill:currentColor;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.social-icons svg circle,.social-icons svg rect{fill:none}
.social-icons span{font-size:20px;line-height:1}
.landing-cta h2{margin:0;color:var(--ink);font-size:clamp(34px,5vw,60px);line-height:1.04;letter-spacing:-.045em;text-transform:none}
.landing-cta{margin:100px auto;padding:74px 30px;border-radius:28px;color:#fff;background:var(--primary-gradient);box-shadow:0 26px 70px #2510473b;text-align:center}
.landing-cta .section-kicker{color:#d9c9f6}
.landing-cta h2{color:#fff}
.landing-cta p{margin:17px auto 25px;color:#e3dbf1;font-size:16px}
.landing-cta .hero-cta{color:var(--primary-dark);background:#fff;box-shadow:none}
.landing-cta .hero-cta:hover{color:#fff;background:#17082d}
.landing-footer{display:flex;align-items:center;justify-content:space-between;padding:0 0 35px;color:var(--muted)}
.landing-footer .logo{width:34px;height:34px;border-radius:10px;font-size:16px}
.landing-footer p{font-size:11px}

@media(max-width:900px){.landing-page .welcome-shell{padding-top:18px}.landing-nav>a:not(.ghost-button){display:none}.founder{margin-top:65px}.landing-cta{margin:70px auto}.landing-footer{gap:20px;flex-direction:column;text-align:center}}
@media(max-width:640px){.founder{padding:24px;align-items:flex-start;flex-wrap:wrap}.founder-avatar{width:58px;height:58px;flex-basis:58px}.founder-summary{width:calc(100% - 78px)}.social-icons{width:100%;margin:4px 0 0;justify-content:flex-start}}
@media(max-width:520px){.landing-nav .ghost-button{display:inline-flex}.landing-cta{padding:55px 20px}.landing-cta .hero-cta{width:auto}}
