:root{--oxblood: #8f1d1d;--red: #e23b3b;--red-hot: #ff5a4f;--red-dim: #b83232;--bone: #f3ece4;--ink: #120e0f;--panel: #1a1415;--surface: #261d1e;--line: #3b2e30;--field: #0d0a0b;--muted: #a8999a;--warn: #f2b544;--on-red: var(--bone);--lane-done: var(--bone);--shadow: rgba(0, 0, 0, .5);--shadow-deep: rgba(0, 0, 0, .6);--backdrop: rgba(0, 0, 0, .6);--veil: rgba(18, 14, 15, .92) 0%, rgba(18, 14, 15, .7) 45%, rgba(143, 29, 29, .25) 100%;--logo-filter: grayscale(1) brightness(1.4);--photo-opacity: .16;--bg: var(--ink);--text: var(--bone);--accent: var(--red);--radius: 8px;--font: "Barlow", system-ui, sans-serif;--font-display: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;color-scheme:dark}:root[data-theme=light]{--red: #c42b2b;--red-hot: #a82020;--red-dim: #d98080;--bone: #1f1718;--ink: #f6f0e9;--panel: #efe6dc;--surface: #fffaf4;--line: #dccdc0;--field: #ffffff;--muted: #6b5b5c;--warn: #9a5800;--on-red: #fff8f2;--lane-done: #5c1111;--shadow: rgba(60, 25, 25, .16);--shadow-deep: rgba(60, 25, 25, .22);--backdrop: rgba(40, 20, 20, .35);--veil: rgba(246, 240, 233, .95) 0%, rgba(246, 240, 233, .8) 45%, rgba(226, 59, 59, .15) 100%;--logo-filter: grayscale(1) invert(1) brightness(.7);--photo-opacity: .1;color-scheme:light}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--red: #c42b2b;--red-hot: #a82020;--red-dim: #d98080;--bone: #1f1718;--ink: #f6f0e9;--panel: #efe6dc;--surface: #fffaf4;--line: #dccdc0;--field: #ffffff;--muted: #6b5b5c;--warn: #9a5800;--on-red: #fff8f2;--lane-done: #5c1111;--shadow: rgba(60, 25, 25, .16);--shadow-deep: rgba(60, 25, 25, .22);--backdrop: rgba(40, 20, 20, .35);--veil: rgba(246, 240, 233, .95) 0%, rgba(246, 240, 233, .8) 45%, rgba(226, 59, 59, .15) 100%;--logo-filter: grayscale(1) invert(1) brightness(.7);--photo-opacity: .1;color-scheme:light}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:400 15px/1.45 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--bone)}button,.button,input,select,textarea{font:inherit;color:inherit}button,.button{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.45rem .9rem;cursor:pointer;transition:border-color .15s,background .15s}button:hover,.button:hover{border-color:var(--red-dim);color:var(--text)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:600}button.primary:hover{background:var(--red-hot);border-color:var(--red-hot)}button.ghost{background:transparent;border-color:transparent;color:var(--muted)}button.ghost:hover{color:var(--text);border-color:var(--line)}button.danger{background:transparent;border-color:transparent;color:var(--muted)}button.danger:hover{background:var(--oxblood);border-color:var(--oxblood);color:var(--on-red)}input,select,textarea{background:var(--field);border:1px solid var(--line);border-radius:var(--radius);padding:.45rem .65rem;outline:none;min-width:0}input:focus,select:focus,textarea:focus{border-color:var(--red-dim)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2{font-family:var(--font-display);font-weight:700;letter-spacing:.01em;margin:0}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--warn)}.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.spacer{flex:1}.center{display:grid;place-items:center;height:100%;padding:1rem}.center.full{height:100vh}.wordmark{display:inline-flex;align-items:center;gap:.5rem;font:600 1.35rem/1 var(--font-display);letter-spacing:.03em}.wordmark-can{color:var(--red)}.loader{display:inline-flex;gap:8px}.loader{align-items:flex-start;height:30px}.loader i{width:8px;border-radius:3px;transform-origin:top;animation:pulse 1.2s infinite ease-in-out}.loader i:nth-child(1){height:30px;background:var(--oxblood)}.loader i:nth-child(2){height:21px;background:var(--red);animation-delay:.15s}.loader i:nth-child(3){height:12px;background:var(--lane-done);animation-delay:.3s}@keyframes pulse{0%,to{transform:scale(.7);opacity:.6}50%{transform:scale(1);opacity:1}}.gate{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:2rem 1rem;text-align:center}.gate .hero .wordmark{font-size:2.6rem}.gate .hero .mark{width:48px;height:48px}.lede{color:var(--muted);max-width:28rem;margin:0}.gate-body{display:flex;flex-direction:column;align-items:center;gap:.75rem;min-height:3rem}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius);padding:3px}.segmented button{border:none;background:transparent;color:var(--muted);padding:.35rem .8rem}.segmented button.on{background:var(--surface);color:var(--text)}.qr{border-radius:var(--radius)}.key-form{display:flex;flex-direction:column;gap:.6rem;width:min(24rem,100%);text-align:left}.key-form .check{font-size:.9rem}.key-form .ghost{align-self:center}.beware{margin:0;font-size:.85rem;color:var(--muted);border-left:2px solid var(--red);padding:.1rem 0 .1rem .7rem}.beware strong{color:var(--bone);font-weight:600}.signoff{display:flex;flex-direction:column;align-items:center;gap:.6rem;color:var(--muted);font-size:.8rem;margin-top:2rem}.npub-full{font-family:var(--font-mono);font-size:.78rem;word-break:break-all;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .75rem;max-width:34rem}.shell{height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;border-bottom:1px solid var(--line)}.company-switch{background:transparent;border-color:transparent;font-weight:400}.company-switch:hover{border-color:var(--line)}select option{background:var(--field);color:var(--text)}.account{position:relative}.account-menu{position:absolute;right:0;top:calc(100% + .35rem);z-index:20;min-width:10rem;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.3rem;box-shadow:0 16px 40px var(--shadow)}.account-menu button{text-align:left;background:none;border:none;padding:.5rem .7rem;border-radius:6px}.account-menu button:hover{background:var(--surface)}.theme-choice{display:flex;gap:2px;margin:.2rem .4rem;padding:2px;border:1px solid var(--line);border-radius:6px}.account-menu .theme-choice button{flex:1;text-align:center;padding:.3rem .4rem;border-radius:4px;color:var(--muted);font-size:.85rem}.account-menu .theme-choice button[aria-checked=true]{background:var(--surface);color:var(--text)}.profile-field{display:flex;flex-direction:column;gap:.35rem}.profile-field>span{font-size:.75rem;color:var(--muted)}label.button{cursor:pointer}.me{display:inline-flex;align-items:center;gap:.5rem;padding:.2rem .4rem}.status{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--muted)}.status i{width:7px;height:7px;border-radius:50%;background:var(--oxblood)}.status-live i{background:var(--red);box-shadow:0 0 8px var(--red)}.status-offline i,.status-connecting i{background:var(--red-dim);animation:pulse 1.2s infinite}.status-denied i{background:var(--warn)}.workspace{flex:1;display:flex;min-height:0}.sidebar{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:2px;padding:1rem .6rem;border-right:1px solid var(--line);background:var(--panel);overflow-y:auto}.sidebar a{color:var(--text);padding:.35rem .6rem;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar a:hover{background:var(--surface)}.sidebar a.active{background:var(--surface);box-shadow:inset 2px 0 0 var(--accent)}.sidebar .muted{padding:0 .6rem}.nav-head{color:var(--muted);font:600 .75rem/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase;margin:0 .6rem .4rem}.quick-add input{width:100%;background:transparent;border-color:transparent;color:var(--muted)}.quick-add input:hover{border-color:var(--line)}.quick-add input:focus{background:var(--field);border-color:var(--red-dim);color:var(--text)}.content{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;isolation:isolate}.content:before{content:"";position:absolute;inset:0;z-index:-1;background:url(https://images.unsplash.com/photo-1459478309853-2c33a60058e7?auto=format&fit=crop&w=1920&q=60) center / cover no-repeat;opacity:var(--photo-opacity);pointer-events:none}.board-head{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem .25rem}.board-head h1{font-size:1.4rem}.crew{display:flex}.crew .avatar{margin-left:-6px;border:2px solid var(--bg)}.crew .avatar:first-child{margin-left:0}.board{flex:1;display:flex;align-items:flex-start;gap:.9rem;padding:1rem 1.25rem 1.25rem;overflow-x:auto}.lane{width:290px;flex-shrink:0;max-height:100%;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:10px}.lane.dragging{opacity:.35;border-style:dashed}.lane.lifted .lane-body{overflow:hidden}.lane-ghost-add{height:2.6rem}.lane.lifted{max-height:80vh;overflow:hidden;border-color:var(--accent);transform:rotate(1.5deg);box-shadow:0 24px 60px var(--shadow-deep);cursor:grabbing}.lane-new{background:transparent;border-style:dashed;padding:.35rem}.lane-head{display:flex;align-items:center;gap:.5rem;padding:.65rem .75rem;cursor:grab;touch-action:none}.lane-name{font:600 1rem/1.2 var(--font-display);letter-spacing:.04em;text-transform:uppercase;flex:1}.count{font-size:.75rem;color:var(--muted);background:var(--surface);border-radius:10px;padding:0 .45rem}.lane-remove{padding:0 .4rem}.lane-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding:0 .6rem .6rem;min-height:2.5rem}.lane>.quick-add{padding:0 .6rem .5rem}.empty{color:var(--line);font-size:.85rem;text-align:center;margin:.5rem 0}.card{background:var(--surface);border:1px solid transparent;border-radius:var(--radius);padding:.6rem .7rem;cursor:pointer;transition:border-color .15s,transform .15s;touch-action:manipulation}.card:hover{border-color:var(--red-dim)}.card.lifted{border-color:var(--accent);transform:rotate(2deg);box-shadow:0 12px 30px var(--shadow)}.card-title{margin:0;overflow-wrap:anywhere}.ticket{font-family:var(--font-mono);font-size:.75rem;color:var(--muted);margin-right:.45rem}.card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.assignee{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--muted)}.label{font-size:.72rem;border:1px solid var(--line);border-radius:4px;padding:0 .35rem;color:var(--muted)}.has-body{color:var(--muted);font-size:.8rem}.blocked{font-size:.72rem;color:var(--warn);border:1px solid var(--warn);border-radius:4px;padding:0 .35rem}.deps{display:flex;flex-direction:column;gap:.35rem}.deps ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.deps li{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.deps li .done{color:var(--muted);text-decoration:line-through}.deps li button{margin-left:auto;padding:0 .4rem}.inline{cursor:text}.inline-input{flex:1;padding:.1rem .35rem}.avatar{display:inline-grid;place-items:center;border-radius:50%;object-fit:cover;background:var(--oxblood);color:var(--on-red);flex-shrink:0;text-transform:uppercase}.person{display:inline-flex;align-items:center;gap:.5rem}.page{padding:1.5rem 1.25rem;max-width:44rem;overflow-y:auto}.page-title{font-size:1.6rem}.people{list-style:none;padding:0;margin:1rem 0;display:flex;flex-direction:column;gap:2px}.people li{display:flex;align-items:center;gap:.75rem;padding:.5rem .6rem;border-radius:var(--radius);background:var(--panel)}.people li>:first-child{flex:1;min-width:0}.npub{font-family:var(--font-mono);font-size:.72rem;color:var(--muted)}.role{font-size:.8rem;color:var(--muted)}.add-person{display:flex;gap:.5rem}.add-person input{flex:1}.add-person input.name{flex:0 1 11rem}.studio-logo{display:block;padding:.75rem .6rem 0;opacity:.55;transition:opacity .15s}.studio-logo img{filter:var(--logo-filter)}.studio-logo:hover{opacity:1}.studio-logo img{display:block;width:120px;height:auto}.signoff .studio-logo img{width:150px}.check{display:flex;align-items:center;gap:.6rem;cursor:pointer}.check input{accent-color:var(--red)}.welcome{max-width:52rem;text-align:center}.welcome h1{font:700 2.2rem/1.1 var(--font-display);margin:0 0 .5rem}.welcome-choices{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;text-align:left}.welcome-choices section{display:flex;flex-direction:column;gap:.6rem;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1.25rem}.welcome-choices h2{margin:0;font:700 1.3rem/1.2 var(--font-display)}.welcome-choices .npub-full{font-size:.75rem;overflow-wrap:anywhere}.nav-share{text-align:left;font-size:.8rem;padding:.3rem .6rem}.first-run{display:flex;flex-direction:column;align-items:center;gap:.75rem;max-width:34rem;text-align:center}.first-run .quick-add{width:100%;max-width:20rem}.first-run .quick-add input{border-color:var(--line);text-align:center}.scrim{position:fixed;inset:0;background:var(--backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:start center;padding:8vh 1rem 1rem;z-index:10;overflow-y:auto}.modal{width:min(40rem,100%);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem 1.25rem 1.25rem;box-shadow:0 30px 80px var(--shadow-deep)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.modal-head h2{font-size:.8rem;font-family:var(--font);font-weight:400;color:var(--muted);letter-spacing:.05em}.task-detail,.project-settings{display:flex;flex-direction:column;gap:1rem}.title-input{font:700 1.5rem/1.2 var(--font-display);background:transparent;border-color:transparent;padding:.2rem .3rem}.title-input:hover{border-color:var(--line)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.fields label{display:flex;flex-direction:column;gap:.3rem}.fields label>span,.body-head>span{font-size:.75rem;color:var(--muted);letter-spacing:.05em}.fields .wide{grid-column:1 / -1}.body-field{display:flex;flex-direction:column;gap:.3rem}.body-head{display:flex;justify-content:space-between;align-items:center}.body-field textarea{min-height:10rem;resize:vertical;font-family:var(--font-mono);font-size:.85rem}.markdown{background:var(--field);border:1px solid var(--line);border-radius:var(--radius);padding:.25rem .85rem;overflow-wrap:anywhere}.markdown code{background:var(--surface);border-radius:4px;padding:0 .25rem}.markdown pre{background:var(--surface);padding:.6rem;border-radius:var(--radius);overflow-x:auto}.task-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem}.toast{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--warn);border-radius:var(--radius);padding:.6rem 1rem;max-width:calc(100% - 2rem)}.plan-banner{margin:0;padding:.5rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--warn);font-size:.9rem}.plan-banner a{color:var(--warn)}.upgrade-hint,.sidebar .upgrade-hint{display:block;font-size:.8rem;padding:.3rem .6rem;white-space:normal}a.upgrade-hint,.sidebar a.upgrade-hint{color:var(--accent)}.billing-status{margin:1rem 0}.billing-address{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;max-width:34rem;margin:0 0 1rem;padding:0;border:none}.billing-address .wide{grid-column:1 / -1}.billing-address legend{grid-column:1 / -1;margin-bottom:.5rem}.billing-address input:first-of-type,.billing-address input:nth-of-type(2){grid-column:1 / -1}.plans{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.plan{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:12rem;padding:.9rem 1rem;background:var(--panel);border:1px solid var(--line);border-radius:10px;text-align:left}.plan:hover:not(:disabled){border-color:var(--accent)}.plan-label{font:600 1rem/1.2 var(--font-display);letter-spacing:.04em;text-transform:uppercase}.plan-price{font:700 1.8rem/1 var(--font-display)}.notice{position:fixed;top:.75rem;left:50%;transform:translate(-50%);z-index:9;display:flex;align-items:center;gap:.6rem;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);padding:.5rem .5rem .5rem .9rem;max-width:calc(100% - 2rem);box-shadow:0 12px 30px var(--shadow);cursor:pointer;animation:drop-in .5s cubic-bezier(.2,.9,.3,1.2)}.notice .bell{display:inline-block;transform-origin:50% 0;animation:ring 1.2s ease-in-out .5s 2}.notice-close{padding:0 .4rem}@keyframes drop-in{0%{transform:translate(-50%,-150%)}}@keyframes ring{0%,to{transform:rotate(0)}20%{transform:rotate(18deg)}40%{transform:rotate(-14deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}.agent-prompt{min-height:16rem;resize:vertical;font-family:var(--font-mono);font-size:.8rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}button.link{background:none;border:none;padding:0;color:var(--accent);font:inherit;cursor:pointer}button.big{font-size:1.1rem;padding:.75rem 1.6rem}.landing{min-height:100vh;background:var(--bg)}.landing-nav{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:.75rem;padding:.75rem clamp(1rem,4vw,3rem);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.landing-hero{min-height:78vh;display:flex;align-items:center;padding:4rem clamp(1rem,6vw,5rem);background-size:cover;background-position:center;position:relative;isolation:isolate}.landing-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--veil))}.landing-hero-text{max-width:36rem;display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.eyebrow{margin:0;color:var(--warn);font:600 .85rem/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase}.badge{margin:0;padding:.3rem .75rem;border:1px solid var(--accent);border-radius:999px;font-size:.85rem;background:#e23b3b1f}.landing h1{margin:0;font:700 clamp(2.4rem,6vw,4.2rem)/1.02 var(--font-display);text-transform:uppercase;letter-spacing:.01em}.landing h2{font:700 clamp(1.6rem,3.5vw,2.4rem)/1.1 var(--font-display);margin:0 0 .75rem}.landing-sub{font-size:1.15rem;line-height:1.5;margin:0}.landing-feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;padding:clamp(2.5rem,6vw,5rem) clamp(1rem,6vw,5rem);max-width:72rem;margin:0 auto}.landing-feature.flip img{order:2}.landing-feature img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:14px;box-shadow:0 30px 60px var(--shadow)}.landing-feature p{font-size:1.05rem;line-height:1.6}.landing-how,.landing-pricing,.landing-faq,.landing-final{padding:clamp(2.5rem,6vw,5rem) clamp(1rem,6vw,5rem);max-width:72rem;margin:0 auto}.landing-how ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;counter-reset:step}.landing-how li{counter-increment:step;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1.25rem}.landing-how li:before{content:counter(step);display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--accent);color:var(--on-red);font:700 1rem var(--font-display)}.landing-plans{display:grid;grid-template-columns:repeat(2,minmax(0,22rem));gap:1.25rem}.landing-plan{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1.25rem 1.5rem}.landing-plan:last-child{border-color:var(--accent)}.landing-price{font:700 2.4rem/1 var(--font-display);margin:.25rem 0 .75rem}.landing-faq details{border-bottom:1px solid var(--line);padding:.9rem 0;max-width:48rem}.landing-faq summary{cursor:pointer;font-weight:600}.landing-final{text-align:center}.landing-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem;padding:2rem 1rem;border-top:1px solid var(--line);color:var(--muted)}.onboarding .gate-body{max-width:32rem;text-align:left}.steps{list-style:none;display:flex;gap:.4rem;padding:0;margin:0 0 1rem}.steps li{width:2.2rem;height:.3rem;border-radius:2px;background:var(--line)}.steps li.on{background:var(--accent)}@media(max-width:720px){.landing-feature,.landing-how ol,.welcome-choices,.landing-plans{grid-template-columns:1fr}.landing-feature.flip img{order:0}.workspace{flex-direction:column}.sidebar{width:auto;flex-direction:row;align-items:center;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line);padding:.5rem 1rem}.sidebar .nav-head,.sidebar .studio-logo,.sidebar .quick-add,.sidebar .spacer{display:none}.me .small,.status{font-size:0;gap:0}.lane{width:82vw}.board{scroll-snap-type:x mandatory;padding:.75rem 1rem}.lane{scroll-snap-align:start}.fields{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.loader i,.status i{animation:none}}.requests,.invite{margin-top:1.5rem}.invite .row{margin:.5rem 0}.sidebar .count{margin-left:.4rem;padding:0 .4rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.75rem}.join form{display:grid;gap:.75rem}
