:root{--canvas:#f5f5f5;--canvas-dot:#cfcfcf;--surface:#fff;--surface-muted:#f0f0f0;--border:#e6e6e6;--border-strong:#d9d9d9;--ink:#1e1e1e;--ink-muted:#4d4d4d;--ink-subtle:#6b6b6b;--accent:#7a3ef0;--accent-soft:#f2edfe;--accent-ink:#3f1a99;--pink:#d61f69;--pink-soft:#fdeaf2;--green:#08804a;--green-soft:#e3f4ea;--green-ink:#05603a;--blue:#0b6bd3;--blue-soft:#e6f0fc;--blue-ink:#0a4a94;--teal:#0b7a75;--teal-soft:#e0f3f2;--teal-ink:#075955;--rust:#b84a00;--rust-soft:#fcefe5;--rust-ink:#8f3a00;--olive:#5c7a0e;--olive-soft:#eef4dc;--olive-ink:#445c08;--brown:#8a5523;--brown-soft:#f5ece3;--brown-ink:#6b3f17;--slate:#4f5d75;--slate-soft:#edf0f4;--slate-ink:#36415a;--orange:#e8590c;--sticky:#ffe58a;--sticky-ink:#3d2f00;--waiting:#fff0c2;--waiting-ink:#7a4a00;--toast-chip:#3a3a3a;--font-sans:Inter, system-ui, sans-serif;--text-brand-size:14px;--text-brand-line:20px;--text-brand-weight:700;--text-heading-size:15px;--text-heading-line:22px;--text-heading-weight:600;--text-body-size:13.5px;--text-body-line:20px;--text-body-weight:400;--text-label-size:13px;--text-label-line:18px;--text-label-weight:600;--text-meta-size:12px;--text-meta-line:16px;--text-meta-weight:400;--text-tag-size:11.5px;--text-tag-line:14px;--text-tag-weight:600;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-10:40px;--space-canvas:22px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:14px;--radius-full:999px;--shadow-frame:0 0 0 1px #0000000f, 0 2px 6px #0000000f, 0 16px 40px #00000014;--shadow-float:0 0 0 1px #0000000f, 0 8px 24px #0000001f;--shadow-sticky:0 1px 2px #00000014, 0 4px 10px #0000000f}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-body-size);line-height:var(--text-body-line);-webkit-font-smoothing:antialiased;margin:0}button,input,textarea{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.spacer{flex:1}.heading{font-size:var(--text-heading-size);line-height:var(--text-heading-line);font-weight:var(--text-heading-weight);margin:0}.label{font-size:var(--text-label-size);line-height:var(--text-label-line);font-weight:var(--text-label-weight)}.meta{font-size:var(--text-meta-size);line-height:var(--text-meta-line);color:var(--ink-subtle)}.empty{padding:var(--space-3) var(--space-2);color:var(--ink-subtle);font-size:var(--text-meta-size);margin:0;line-height:1.5}.page-message{padding:var(--space-10);gap:var(--space-2);flex-direction:column;display:flex}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes ring{0%{opacity:.7;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}@keyframes drift{0%,to{transform:translate(0)}50%{transform:translate(6px,3px)}}.pulse{animation:1.4s ease-in-out infinite pulse}.drift{animation:3.2s ease-in-out infinite drift}@media (prefers-reduced-motion:reduce){.pulse,.drift,.cursor__ring{animation:none!important}.cursor{transition:none!important}}.btn{border-radius:var(--radius-md);height:34px;font-size:var(--text-label-size);font-weight:var(--text-label-weight);cursor:pointer;white-space:nowrap;border:0;justify-content:center;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--accent);color:#fff}.btn--big{border-radius:var(--radius-lg);height:40px;padding:0 16px;font-size:14px}.btn--secondary{background:var(--surface);border:1px solid var(--border-strong)}.btn--danger{background:var(--pink);color:#fff}a.btn{color:var(--ink);text-decoration:none}.btn--pressed{background:var(--ink);color:#fff}.btn--small{height:32px;padding:0 10px;font-size:12.5px}.btn--soft{background:var(--surface);height:28px;color:var(--accent-ink);border-radius:var(--radius-sm);border:1px solid #d9ccfb;font-size:12px}.btn--icon-send{background:var(--accent);color:#fff;width:32px;height:32px;padding:0}.chip{border-radius:var(--radius-full);font-size:var(--text-tag-size);line-height:var(--text-tag-line);font-weight:var(--text-tag-weight);white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.chip--working{background:var(--accent-soft);color:var(--accent-ink)}.chip--waiting{background:var(--waiting);color:var(--waiting-ink)}.chip--ready{background:var(--green-soft);color:var(--green-ink)}.chip--discussion{background:var(--surface-muted);color:var(--ink-muted)}.dot{border-radius:var(--radius-full);background:var(--accent);flex-shrink:0;width:6px;height:6px}.count-chip{white-space:nowrap;font-size:var(--text-meta-size);color:var(--ink-muted);background:var(--surface-muted);border-radius:var(--radius-full);padding:2px 8px}.swatch{border-radius:2px;flex-shrink:0;width:8px;height:8px}.swatch--empty{border:1.5px solid #b3b3b3}.avatar{border-radius:var(--radius-full);color:#fff;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.avatar--ring{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--ring)}.presence-avatars{align-items:center;gap:8px;padding:0 4px;display:flex}.stack{display:inline-flex}.avatar__img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.stack .avatar{box-shadow:0 0 0 2px var(--surface)}.stack .avatar+.avatar{margin-left:-4px}.app-header{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;min-height:52px;padding:8px 14px;display:flex}.brand{align-items:center;gap:var(--space-2);font-size:var(--text-brand-size);line-height:var(--text-brand-line);font-weight:var(--text-brand-weight);color:var(--ink);text-decoration:none;display:flex}.brand--big{font-size:16px}.crumb{align-items:center;gap:12px;min-width:0;display:inline-flex}.crumb__sep{color:#b3b3b3}.crumb__link,.crumb__text{color:var(--ink-muted);font-size:13.5px;text-decoration:none}.crumb__link:hover{color:var(--ink)}.version-pill{border-radius:var(--radius-sm);max-width:320px;font-size:var(--text-label-size);line-height:var(--text-label-line);font-weight:var(--text-label-weight);align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.version-pill__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.version-pill__dot{border-radius:var(--radius-full);background:var(--green);width:8px;height:8px}.account{position:relative}.account__button{border-radius:var(--radius-full);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;height:36px;padding:0 10px 0 4px;font-size:13px;display:flex}.account__button:hover{background:var(--surface-muted)}.account__menu{z-index:20;background:var(--surface);border-radius:var(--radius-md);min-width:180px;box-shadow:var(--shadow-float);flex-direction:column;padding:4px;display:flex;position:absolute;top:42px;right:0}.account__menu button{text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:8px 10px;font-size:13px}.account__menu button:hover{background:var(--surface-muted)}.toast{z-index:50;border-radius:var(--radius-lg);background:var(--ink);color:#fff;box-shadow:var(--shadow-float);padding:10px 16px;font-size:13px;position:fixed;top:68px;left:50%;transform:translate(-50%)}.dialog-backdrop{z-index:40;padding:var(--space-4);background:#1e1e1e47;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);width:100%;max-width:400px;box-shadow:var(--shadow-float);gap:var(--space-3);border-radius:12px;flex-direction:column;padding:20px;display:flex}.dialog__title{margin:0;font-size:17px;font-weight:700}.dialog__text{color:var(--ink-muted);margin:0;line-height:1.5}.dialog__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-1);display:flex}.release-notes{max-width:480px;max-height:calc(100vh - 2 * var(--space-4))}.release-notes__list{gap:var(--space-4);flex-direction:column;margin:0 -4px;padding:0 4px;display:flex;overflow-y:auto}.release-note__title{margin:0;font-size:15px;font-weight:700}.release-note__date{margin-bottom:var(--space-1);color:var(--ink-muted);font-size:12px;display:block}.release-note__text{margin:var(--space-1) 0 0;line-height:1.5}ul.release-note__text{padding-left:20px}.new-project{margin:0}.field{flex-direction:column;gap:6px;display:flex}.field__label{padding:0;font-size:13px;font-weight:600}.field__input{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);padding:9px 12px}.field__input:focus-visible{outline-offset:0;border-color:var(--accent)}.kind-picker{gap:var(--space-2);border:0;grid-template-columns:repeat(3,1fr);margin:0;padding:0;display:grid}.kind-picker--list{margin-bottom:var(--space-3);grid-template-columns:1fr}.kind-picker legend{grid-column:1/-1;margin-bottom:6px}.kind-option{border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;gap:2px;padding:10px 12px;display:flex;position:relative}.kind-option input{opacity:0;pointer-events:none;position:absolute}.kind-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.kind-option--on{border-color:var(--accent);background:var(--accent-soft)}.kind-option__title{font-weight:600}.kind-option__text{color:var(--ink-muted);font-size:12px;line-height:1.4}.dialog__error{color:var(--rust-ink);margin:0;font-size:13px}.login{background:var(--surface);flex-wrap:wrap;min-height:100%;display:flex}.login__art{background-color:var(--canvas);background-image:radial-gradient(var(--canvas-dot) 1px, transparent 1.2px);background-size:var(--space-canvas) var(--space-canvas);flex-direction:column;flex:999 560px;justify-content:space-between;gap:24px;min-width:0;min-height:100vh;padding:40px 56px;display:flex;position:relative;overflow:hidden}.login__scene{max-width:640px;height:420px;position:relative}.serif{font-family:Fraunces,Georgia,serif}.login__site{border-radius:var(--radius-xs);width:420px;height:300px;box-shadow:var(--shadow-frame);color:#2b241c;background:#fbf7f0;flex-direction:column;gap:14px;padding:28px 30px;display:flex;position:absolute;top:20px;left:40px}.login__site-name{font-size:15px;font-weight:600}.login__site-title{max-width:280px;font-size:28px;font-weight:500;line-height:1.1}.login__line{background:#e4d9c6;border-radius:4px;height:8px}.login__btn{color:#fff;background:#2e4a3f;border-radius:6px;align-self:flex-start;margin-top:8px;padding:10px 18px;font-size:13px;font-weight:600;position:relative}.login__btn-ring{border:2px solid var(--pink);border-radius:9px;position:absolute;inset:-4px}.login__btn-label{border-radius:var(--radius-xs);background:var(--pink);color:#fff;white-space:nowrap;padding:2px 6px;font-size:11px;position:absolute;top:-24px;left:-4px}.login__sticky{border-radius:var(--radius-xs);background:var(--sticky);flex-direction:column;gap:4px;width:210px;padding:12px 14px;display:flex;position:absolute;top:236px;left:390px;transform:rotate(2deg);box-shadow:0 1px 2px #00000014,0 8px 18px #0000001a}.login__pitch{flex-direction:column;gap:14px;max-width:520px;display:flex}.login__pitch h1{letter-spacing:-.03em;margin:0;font-size:clamp(40px,13vw,64px);font-weight:700;line-height:.95}.login__pitch p{color:var(--ink-muted);margin:0;font-size:17px;line-height:1.5}.login__form-side{border-left:1px solid var(--border);flex:440px;justify-content:center;align-items:center;min-width:0;padding:40px 56px;display:flex}.login__form{flex-direction:column;gap:24px;width:100%;max-width:360px;display:flex}.login__title{letter-spacing:-.02em;margin:0 0 8px;font-size:26px;font-weight:700;line-height:1.2}.login__sub{color:var(--ink-muted);margin:0;font-size:14px}.login__google{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);cursor:pointer;justify-content:center;align-items:center;gap:12px;height:48px;font-size:15px;font-weight:600;display:flex;box-shadow:0 1px 2px #0000000d}.login__google-mark{border:1.5px dashed #b3b3b3;border-radius:4px;width:20px;height:20px}.login__note{color:var(--ink-subtle);margin:0;font-size:12.5px;line-height:1.5}.projects-page{background:var(--canvas);flex-direction:column;min-height:100%;display:flex}.projects{flex-direction:column;flex:1;gap:28px;width:100%;max-width:1200px;margin:0 auto;padding:44px 40px 56px;display:flex}.projects__top{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.projects__hello{flex-direction:column;flex:1;gap:6px;min-width:260px;display:flex}.projects__hello h1{letter-spacing:-.02em;margin:0;font-size:28px;font-weight:700;line-height:1.2}.projects__hello p{color:var(--ink-muted);margin:0;font-size:15px}.projects__grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;display:grid}.project-card{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--border);border-radius:12px;flex-direction:column;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.project-card:hover{transform:translateY(-2px);box-shadow:0 0 0 1px #0000000f,0 10px 28px #0000001a}.project-card--trashed:hover{box-shadow:0 0 0 1px var(--border);transform:none}.project-card--trashed .thumb{filter:grayscale(.6);opacity:.8}.project-card__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.project-card-wrap{flex-direction:column;display:flex;position:relative}.project-card-wrap>.project-card{flex:1}.card-menu{position:absolute;top:10px;right:10px}.card-menu__button{border-radius:var(--radius-full);background:var(--surface);width:32px;height:32px;color:var(--ink-muted);box-shadow:0 0 0 1px var(--border);cursor:pointer;border:0;justify-content:center;align-items:center;display:flex}.card-menu__button:hover,.card-menu__button[aria-expanded=true]{color:var(--ink)}.card-menu .account__menu{top:38px}.card-menu--inline{flex-shrink:0;position:relative;top:auto;right:auto}.project-card--new{border:2px dashed var(--border-strong);min-height:300px;box-shadow:none;color:var(--ink-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:10px;font-size:13px}.project-card__plus{border-radius:var(--radius-full);background:var(--surface);width:44px;height:44px;box-shadow:0 0 0 1px var(--border);color:var(--accent);justify-content:center;align-items:center;display:flex}.project-card__new-title{color:var(--ink);font-size:15px;font-weight:600}.project-card__info{border-top:1px solid #ededed;flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex}.project-card__row{align-items:center;gap:8px;display:flex}.project-card__name{flex:1;font-size:15px;font-weight:600}.project-card__sub{color:var(--ink-muted);font-size:13px}.project-card__who{color:var(--ink-subtle);align-items:center;gap:8px;font-size:12px;display:flex}.thumb{background-color:#efefef;background-image:radial-gradient(var(--canvas-dot) 1px, transparent 1.2px);background-size:16px 16px;justify-content:center;align-items:flex-end;height:190px;display:flex;position:relative;overflow:hidden}.thumb__frame{background:var(--surface);border-radius:3px 3px 0 0;width:78%;height:160px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0000000f,0 8px 20px #00000014}.thumb__phone{border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--surface);width:86px;height:160px;color:var(--ink-subtle);justify-content:center;align-items:center;display:flex;box-shadow:0 0 0 1px #0000000f,0 8px 20px #00000014}.thumb__iframe{transform-origin:0 0;pointer-events:none;border:0;width:1100px;height:700px;position:absolute;top:0;left:0;transform:scale(.25)}.workspace{background:var(--surface);flex-direction:column;height:100%;display:flex}.workspace__body{flex-wrap:wrap;flex:1;min-height:0;display:flex}.canvas{min-width:0;height:100%;padding:var(--space-10) 48px 92px;gap:var(--space-2);background-color:var(--canvas);background-image:radial-gradient(var(--canvas-dot) 1px, transparent 1.2px);background-size:var(--space-canvas) var(--space-canvas);flex-direction:column;flex:999 560px;display:flex;position:relative}.frame-label{align-items:center;gap:var(--space-2);font-size:var(--text-meta-size);line-height:var(--text-meta-line);color:var(--ink-subtle);display:flex}.frame-label__name{color:var(--ink-muted);font-weight:600}.frame{border-radius:var(--radius-xs);background:var(--surface);width:100%;min-height:0;box-shadow:var(--shadow-frame);flex:1;align-self:center;position:relative;overflow:hidden}.frame--mobile{width:390px;max-width:100%}.frame--picking{box-shadow:0 0 0 2px var(--accent), 0 16px 40px #00000014}.frame__iframe{background:var(--surface);border:0;width:100%;height:100%;position:absolute;inset:0}.frame__loading{padding:var(--space-4);color:var(--ink-subtle)}.frame--app{max-height:844px}.frame__cover{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6);background:var(--surface);color:var(--ink-subtle);text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.frame__cover p{color:var(--ink);margin:0;font-weight:600}.frame__cover details{max-width:100%;font-size:var(--text-meta-size);line-height:var(--text-meta-line)}.frame__cover pre{max-height:240px;margin:var(--space-2) 0 0;padding:var(--space-2);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--ink-muted);text-align:left;white-space:pre-wrap;word-break:break-word;overflow:auto}.frame__app-error{left:var(--space-2);right:var(--space-2);bottom:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--rust-soft);color:var(--rust-ink);font-size:var(--text-meta-size);line-height:var(--text-meta-line);box-shadow:var(--shadow-float);position:absolute}.frame__overlay{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hl{border:2px solid var(--hl);border-radius:var(--radius-xs);position:absolute}.hl--fill{background:color-mix(in srgb, var(--hl) 6%, transparent)}.hl__label,.hl__size{border-radius:var(--radius-xs);background:var(--hl);color:#fff;font-size:var(--text-tag-size);line-height:var(--text-tag-line);font-weight:var(--text-tag-weight);white-space:nowrap;padding:2px 6px;position:absolute}.hl__label{top:-22px;left:-2px}.hl__size{bottom:-22px;left:50%;transform:translate(-50%)}.cursor{transition:transform .7s cubic-bezier(.3,.7,.3,1);position:absolute;top:0;left:0}.cursor>div{position:relative}.cursor__ring{border-radius:var(--radius-full);width:20px;height:20px;animation:1.6s ease-out infinite ring;position:absolute;top:-10px;left:-10px}.cursor svg{position:relative}.cursor__tag{color:#fff;font-size:var(--text-tag-size);line-height:var(--text-tag-line);font-weight:var(--text-tag-weight);white-space:nowrap;border-radius:4px 10px 10px;padding:3px 8px;position:absolute;top:16px;left:14px}.cursor__tag--big{font-size:12px;top:17px;left:15px}.hint-toast{z-index:5;border-radius:var(--radius-lg);background:var(--ink);color:#fff;white-space:nowrap;box-shadow:var(--shadow-float);align-items:center;gap:10px;padding:7px 7px 7px 14px;font-size:13px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.key-chip{border-radius:var(--radius-sm);background:var(--toast-chip);padding:3px 8px;font-size:12px}.toolbar{z-index:5;align-items:center;gap:var(--space-1);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-float);padding:6px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.tool{border-radius:var(--radius-lg);min-width:40px;height:40px;color:var(--ink-subtle);cursor:pointer;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0;font-size:13px;font-weight:600;display:flex}.tool[aria-pressed=true]{color:var(--ink)}.tool[aria-label=Titta][aria-pressed=true]{background:var(--surface-muted)}.tool--primary{background:var(--accent);color:#fff;padding:0 14px}.tool--pressed{background:var(--ink);padding:0 14px;color:#fff!important}.toolbar__divider{background:var(--border);width:1px;height:24px;margin:0 6px}.toolbar__zoom{color:var(--ink-muted);padding:0 10px;font-size:12.5px}.sidebar{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;flex:360px;min-width:0;height:100%;display:flex}.side-head{padding:12px var(--space-4);border-bottom:1px solid var(--border);flex-direction:column;gap:6px;display:flex}.side-head--row{align-items:center;gap:var(--space-2);flex-direction:row}.side-head__title{align-items:center;gap:var(--space-2);display:flex}.side-head__title .heading{flex:1}.back-link{color:var(--ink-subtle);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:12.5px;text-decoration:none}.back-link:hover{color:var(--ink)}.side-tabs{padding:8px var(--space-4);border-bottom:1px solid var(--border);display:flex}.segmented{background:var(--surface-muted);border-radius:var(--radius-md);gap:2px;padding:2px;display:flex}.segmented button{white-space:nowrap;border-radius:var(--radius-sm);height:28px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:12px;font-weight:600}.segmented button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014}.side-body{min-height:0;padding:14px var(--space-4);gap:var(--space-4);flex-direction:column;flex:1;display:flex;overflow:auto}.side-body--list{padding:var(--space-2);gap:2px}.archived-bar{padding:12px var(--space-4);border-top:1px solid var(--border);align-items:center;gap:var(--space-2);font-size:var(--text-meta-size);color:var(--ink-subtle);display:flex}.archived-bar__text{flex:1}.side-foot{padding:12px var(--space-4);border-top:1px solid var(--border);font-size:var(--text-meta-size);color:var(--ink-subtle);line-height:1.5}.side-foot__cost{align-items:center;gap:var(--space-1);margin-top:var(--space-2);display:flex}.side-foot__cost-link{border-radius:var(--radius-sm);color:var(--ink-muted);padding:4px;display:inline-flex}.side-foot__cost-link:hover{background:var(--surface-muted);color:var(--ink)}.thread-card{border-radius:var(--radius-md);color:var(--ink);gap:10px;padding:12px 10px;text-decoration:none;display:flex}.thread-card:hover{background:#fafafa}.thread-card--selected,.thread-card--selected:hover{background:var(--accent-soft)}.thread-card__body{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.thread-card__top{align-items:center;gap:8px;display:flex}.thread-card__title{flex:1;font-size:13.5px;font-weight:600}.thread-card__preview{color:var(--ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.thread-card__preview b{color:var(--ink);font-weight:600}.meta-line{font-size:var(--text-meta-size);color:var(--ink-subtle);align-items:center;gap:6px;display:flex}.meta-line__time{margin-left:auto}.message{border-radius:var(--radius-md);gap:10px;margin:-6px -8px;padding:6px 8px;display:flex}.message__body{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.message__meta{align-items:baseline;gap:8px;display:flex}.message__text{font-size:var(--text-body-size);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.5}.md.message__text{white-space:normal}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p,.md ul,.md ol,.md pre,.md blockquote,.md .md__table{margin:0 0 var(--space-2)}.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{margin:var(--space-3) 0 var(--space-1);font-size:var(--text-heading-size);line-height:var(--text-heading-line);font-weight:var(--text-heading-weight)}.md h1{font-size:16px}.md ul,.md ol{padding-left:20px}.md li+li{margin-top:2px}.md li>p{margin:0}.md a{color:var(--blue)}.md code{border-radius:var(--radius-xs);background:var(--surface-muted);padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.md pre{padding:var(--space-2);border-radius:var(--radius-sm);background:var(--surface-muted);white-space:pre;overflow-x:auto}.md pre code{overflow-wrap:normal;background:0 0;padding:0}.md blockquote{padding-left:var(--space-3);border-left:3px solid var(--border-strong);color:var(--ink-muted)}.md hr{margin:var(--space-3) 0;border:0;border-top:1px solid var(--border)}.md__table{overflow-x:auto}.md table{border-collapse:collapse;font-size:var(--text-meta-size);line-height:var(--text-meta-line)}.md th,.md td{padding:var(--space-1) var(--space-2);border:1px solid var(--border);text-align:left;vertical-align:top;overflow-wrap:normal}.md th{background:var(--surface-muted);font-weight:600}.message--streaming .md.message__text:after{content:none}.message--streaming .md.message__text>:last-child:after,.message--streaming .message__text:after{content:"▍";color:var(--accent);animation:1s ease-in-out infinite pulse}.chips{flex-wrap:wrap;gap:6px;display:flex}.el-chip{border-radius:var(--radius-sm);cursor:default;align-items:center;gap:4px;height:26px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.el-chip--lost{background:var(--surface);color:var(--ink-subtle);border:1px dashed #b3b3b3;font-weight:500}.el-chip--picking{border:1px dashed var(--accent);color:var(--accent-ink);background:#f7f3ff}.el-chip__remove{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;margin-left:2px;padding:0 2px;font-size:14px;line-height:1}.el-chip__remove:hover{opacity:1}.sticky{border-radius:var(--radius-xs);background:var(--sticky);max-width:260px;color:var(--sticky-ink);box-shadow:var(--shadow-sticky);flex-direction:column;align-self:flex-start;gap:4px;margin-top:3px;padding:10px 12px;display:flex}.sticky__title{color:var(--sticky-ink);font-size:12.5px;font-weight:600}.sticky__line{color:#4d3d00;font-size:12px}.sticky__link{color:var(--sticky-ink);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:600;text-decoration:underline}.sticky__details{color:#4d3d00;margin:4px 0 0;padding-left:16px;font-size:12px}.run-status{border-radius:var(--radius-md);background:var(--accent-soft);align-items:center;gap:10px;padding:10px 12px;display:flex}.run-status .dot{width:8px;height:8px}.run-status__text{color:var(--accent-ink);flex:1;font-size:13px;font-weight:600}.composer-wrap{border-top:1px solid var(--border);padding:12px 14px 14px}.composer{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.composer:focus-within{border-color:#b3b3b3}.composer--picking,.composer--picking:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #7a3ef026}.composer textarea{resize:none;font-size:var(--text-body-size);background:0 0;border:0;outline:none;padding:0;line-height:1.5}.composer__row{align-items:center;gap:6px;display:flex}.agent-check{color:var(--ink-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:6px;padding:0 4px;font-size:12.5px;display:inline-flex}.agent-check input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;margin:0}.composer-hint{font-size:var(--text-meta-size);color:var(--ink-subtle);padding:8px 2px 0}.frame--doc{flex-direction:column;max-width:860px;display:flex}.format-bar{gap:var(--space-1);padding:6px var(--space-2);border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;display:flex}.format-btn{border-radius:var(--radius-sm);height:30px;font-size:var(--text-meta-size);color:var(--ink-muted);background:0 0;border:0;padding:0 10px}.format-btn:hover:not(:disabled){background:var(--surface-muted)}.format-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink)}.format-btn:disabled{opacity:.45}.format-btn--bold{font-weight:700}.format-btn--italic{font-style:italic}.doc{flex:1;min-height:0;position:relative;overflow:auto}.frame--picking .doc{cursor:crosshair}.doc__page{padding:48px 64px 96px}.doc__content{max-width:680px;color:var(--ink);outline:none;margin:0 auto;font-family:Georgia,Times New Roman,serif;font-size:17px;line-height:1.65}.doc__content h1{margin:0 0 20px;font-size:34px;line-height:1.2}.doc__content h2{margin:32px 0 8px;font-size:23px;line-height:1.3}.doc__content h3{margin:24px 0 6px;font-size:19px}.doc__content p{margin:0 0 14px}.doc__content ul,.doc__content ol{margin:0 0 14px;padding-left:26px}.doc__content li p{margin:0 0 4px}.doc__content blockquote{border-left:3px solid var(--border-strong);color:var(--ink-muted);margin:0 0 14px;padding-left:16px}.doc__content a{color:var(--blue)}.doc__content[contenteditable=false]{cursor:default}.frame--picking .doc__content{cursor:crosshair}.doc__overlay{pointer-events:none;width:0;height:0;position:absolute;top:0;left:0}@media (width<=960px){.workspace{height:auto;min-height:100%}.idea-page{height:auto;padding:var(--space-6) var(--space-4) 40px}.canvas{height:70vh;padding:var(--space-6) var(--space-4) 84px}.sidebar{border-left:0;border-top:1px solid var(--border);height:auto;min-height:60vh}.projects{padding:28px var(--space-4) 40px}.login__art,.login__form-side{padding:32px var(--space-4)}.login__scene{display:none}}.login__error{border-radius:var(--radius-lg);background:var(--pink-soft);color:var(--pink);margin:0;padding:12px 14px;font-size:13.5px;line-height:1.5}.crash{justify-content:center;align-items:center;gap:var(--space-2);text-align:center;min-height:100vh;padding:var(--space-3);flex-direction:column;display:flex}.crash h1{margin:0}.crash p{max-width:420px;color:var(--ink-subtle);margin:0;line-height:1.5}.segmented--big{border-radius:var(--radius-lg);align-self:flex-start;padding:3px}.segmented--big a{border-radius:var(--radius-md);height:34px;color:var(--ink-muted);font-size:var(--text-label-size);font-weight:var(--text-label-weight);align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.segmented--big a.segmented__on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014}.start-tabs{margin-bottom:-8px}.idea-section{gap:var(--space-3);flex-direction:column;display:flex}.idea-section__title{font-size:var(--text-heading-size);line-height:var(--text-heading-line);font-weight:var(--text-heading-weight);margin:0}.idea-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.idea-card{background:var(--surface);min-height:168px;color:var(--ink);box-shadow:0 0 0 1px var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:16px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex}a.idea-card:hover{transform:translateY(-2px);box-shadow:0 0 0 1px #0000000f,0 10px 28px #0000001a}.project-card-wrap>.idea-card{flex:1}.idea-card__title{padding-right:36px;font-size:15px;font-weight:600;line-height:1.35}.idea-card__text{-webkit-line-clamp:4;white-space:pre-line;color:var(--ink-muted);-webkit-box-orient:vertical;flex:1;line-height:1.5;display:-webkit-box;overflow:hidden}.idea-card__text--empty{color:var(--ink-subtle)}.idea-card--new{border:2px dashed var(--border-strong);box-shadow:none;color:var(--ink-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:10px;font-size:13px}.idea-card--trashed{min-height:0;color:var(--ink-muted)}.idea-dialog{max-width:520px}.field__textarea{resize:vertical;line-height:1.5}.share-list{flex-direction:column;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.share-row{border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:10px;padding:8px 4px;display:flex}.share-row:hover{background:var(--surface-muted)}.share-row__name{flex:1;font-weight:600}.share-row input{width:16px;height:16px;accent-color:var(--accent);margin:0}.share-row__access{font-size:var(--text-meta-size);color:var(--ink-muted)}.idea-page{background:var(--canvas);flex:999 560px;min-width:0;height:100%;padding:32px 40px 56px;overflow-y:auto}.idea-page>*{width:100%;max-width:760px;margin-inline:auto}.idea-page__gone{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.idea-page__gone h1{margin:0;font-size:22px}.idea-sheet{gap:var(--space-4);background:var(--surface);box-shadow:0 0 0 1px var(--border);border-radius:12px;flex-direction:column;padding:24px;display:flex}.idea-sheet__title{letter-spacing:-.01em;margin:0;font-size:26px;font-weight:700;line-height:1.25}.idea-sheet__title-input{font-size:17px;font-weight:600}.idea-text{font-size:15px;line-height:1.6}.idea-text--editable{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface)}.idea-text--editable:focus-within{border-color:var(--accent)}.idea-text--editable .format-bar{z-index:1;border-radius:var(--radius-md) var(--radius-md) 0 0;position:sticky;top:0}.idea-text--editable .idea-text__content{min-height:320px;padding:9px 12px}.idea-text__content{overflow-wrap:anywhere;outline:none}.idea-text__content>:first-child{margin-top:0}.idea-text__content h1{margin:20px 0 8px;font-size:24px;line-height:1.25}.idea-text__content h2{margin:20px 0 6px;font-size:20px;line-height:1.3}.idea-text__content h3{margin:16px 0 4px;font-size:17px;line-height:1.35}.idea-text__content p{margin:0 0 10px}.idea-text__content ul,.idea-text__content ol{margin:0 0 10px;padding-left:24px}.idea-text__content li p{margin:0 0 2px}.idea-text__content blockquote{border-left:3px solid var(--border-strong);color:var(--ink-muted);margin:0 0 10px;padding-left:14px}.idea-text__content a{color:var(--blue)}.idea-text__content p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;pointer-events:none;height:0;color:var(--ink-subtle)}.dialog .idea-text--editable .idea-text__content{min-height:160px}.idea-sheet__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.idea-note{border-radius:var(--radius-md);background:var(--surface-muted);color:var(--ink-muted);align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:13px;display:flex}.idea-note--warn{background:var(--sticky);color:var(--sticky-ink);flex-wrap:wrap}.idea-files{margin-top:var(--space-4);gap:var(--space-3);background:var(--surface);box-shadow:0 0 0 1px var(--border);border-radius:12px;flex-direction:column;padding:20px 24px;display:flex;position:relative}.idea-files--dropping{box-shadow:0 0 0 2px var(--accent)}.idea-files__head{align-items:center;gap:var(--space-2);display:flex}.idea-files .empty{padding:0}.idea-files__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.idea-files__drop{background:color-mix(in srgb, var(--accent-soft) 92%, transparent);color:var(--accent-ink);pointer-events:none;border-radius:12px;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}.file-row{align-items:center;gap:var(--space-3);min-width:0;display:flex}.file-row__thumb{border-radius:var(--radius-md);background:var(--surface-muted);width:48px;height:48px;color:var(--ink-subtle);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.file-row__thumb img{object-fit:cover;width:100%;height:100%}.file-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.file-row__name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-label-size);font-weight:var(--text-label-weight);color:var(--ink);overflow:hidden}button.file-row__thumb{cursor:pointer;border:0;padding:0}button.file-row__name{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}a.file-row__name:hover,button.file-row__name:hover{color:var(--accent-ink)}.file-row--uploading{opacity:.6}.file-row__remove{color:var(--ink-subtle);background:0 0;flex-shrink:0}.file-row__remove:hover{color:var(--pink)}.file-chip{background:var(--surface-muted);color:var(--ink);min-width:0;max-width:100%;text-decoration:none}.file-chip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}a.file-chip,button.file-chip{cursor:pointer}button.file-chip{font:inherit;border:0}a.file-chip:hover,button.file-chip:hover{color:var(--accent-ink)}.preview{background:var(--surface);width:100%;max-width:1200px;height:100%;max-height:900px;box-shadow:var(--shadow-float);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.preview__head{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);display:flex}.preview__name{flex-direction:column;flex:1;min-width:0;display:flex}.preview__name .dialog__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview__body{min-height:0;padding:var(--space-4);background:var(--canvas);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.preview__picture{object-fit:contain;border-radius:var(--radius-xs);background:var(--surface);max-width:100%;max-height:100%;box-shadow:var(--shadow-frame)}.preview__frame{height:100%}@media (width<=600px){.preview-backdrop{padding:0}.preview{border-radius:0;max-height:none}.preview__body{padding:var(--space-2)}.app-header:not(.app-header--wrap){flex-wrap:nowrap}.brand__name,.account__name{display:none}.brand,.account{flex-shrink:0}.app-header:not(.app-header--wrap) .crumb{flex-shrink:0;max-width:40%}.app-header:not(.app-header--wrap) .crumb:last-of-type{flex-shrink:1;max-width:none}.app-header:not(.app-header--wrap) .crumb>:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.idea-page{padding:var(--space-3) var(--space-2) var(--space-6)}.idea-sheet,.idea-files{padding:var(--space-4)}.toast{top:auto;bottom:calc(var(--space-4) + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 2 * var(--space-4))}.idea-text--editable .idea-text__content{min-height:140px}}.idea-page__tabs{margin-bottom:var(--space-3)}.segmented--big button{border-radius:var(--radius-md);height:34px;font-size:var(--text-label-size);padding:0 16px}.idea-page__idea{gap:var(--space-4);flex-direction:column;display:flex}.idea-page__idea[hidden]{display:none}.question-form__head{flex-direction:column;gap:4px;display:flex}.question-form__title{margin:0;font-size:22px;line-height:1.25}.question-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.question{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg)}.question--skipped{background:var(--surface-muted)}.question--skipped .question__text,.question--skipped .answer-options,.question--skipped .answer-scale{opacity:.6}.question__set{gap:var(--space-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.question__legend{margin-bottom:var(--space-1);flex-direction:column;gap:2px;padding:0;display:flex}.question__title{font-weight:700}.question__text{line-height:1.5}.answer-options{flex-direction:column;gap:6px;display:flex}.answer-options--row{flex-flow:wrap}.answer-option{border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:10px;min-height:40px;padding:8px 12px;display:flex;position:relative}.answer-options--row .answer-option{min-width:96px}.answer-option input,.answer-step input{opacity:0;pointer-events:none;position:absolute}:is(.answer-option:has(input:focus-visible),.answer-step:has(input:focus-visible)){outline:2px solid var(--accent);outline-offset:2px}.answer-option__box{border:1.5px solid var(--border-strong);background:var(--surface);border-radius:50%;flex:none;width:16px;height:16px}.answer-option:has(input[type=checkbox]) .answer-option__box{border-radius:4px}.answer-option--on{border-color:var(--accent);background:var(--accent-soft)}.answer-option--on .answer-option__box{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px var(--surface)}.answer-option--off{cursor:default}.answer-scale{flex-direction:column;gap:4px;display:flex}.answer-scale__steps{flex-wrap:wrap;gap:6px;display:flex}.answer-step{border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:48px;min-height:48px;padding:4px 6px;display:flex;position:relative}.answer-step__n{font-weight:700}.answer-step--on{border-color:var(--accent);background:var(--accent-soft)}.answer-scale__labels{justify-content:space-between;gap:var(--space-3);display:flex}.suggested{background:var(--surface-muted);color:var(--ink-muted);white-space:nowrap;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:11px;font-weight:600}.answer-step .suggested{margin-left:0;padding:0 5px;font-size:10px}.suggested-text{margin:0;line-height:1.5}.suggested-text .suggested{margin-left:0;margin-right:4px}.question__own{font-size:14px}.question__textarea{min-height:72px}.question__skip{font-size:var(--text-meta-size);color:var(--ink-muted);cursor:pointer;align-self:flex-start;align-items:center;gap:6px;display:inline-flex}.form-card{margin:var(--space-2) 0 0;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);background:var(--accent-soft);flex-wrap:wrap;padding:8px 10px;font-weight:600;display:flex}.form-card--done{background:var(--surface-muted);color:var(--ink-muted);font-weight:400;font-size:var(--text-meta-size)}.costs{border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 0 0 1px var(--border);overflow-x:auto}.costs__table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.4}.costs__table th,.costs__table td{padding:10px var(--space-4);border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.costs__table thead th{font-size:var(--text-meta-size);color:var(--ink-muted);font-weight:600}.costs__table tbody th{font-weight:500}.costs__table tbody th a{color:var(--ink);text-decoration:none}.costs__table tbody th a:hover{text-decoration:underline}.costs__table tfoot th,.costs__table tfoot td{background:var(--surface-muted);border-bottom:0;font-weight:600}.costs__table .costs__num{text-align:right;font-variant-numeric:tabular-nums}.costs__table .costs__total{font-weight:600}.version-card{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.version-card__dot{border-radius:var(--radius-full);background:var(--surface-muted);width:26px;height:26px;box-shadow:inset 0 0 0 1px var(--border-strong);flex-shrink:0}.version-view{align-items:flex-start;gap:var(--space-4);flex-direction:column;display:flex}.idea-page>.version-view{max-width:1200px}.version-view>*{width:100%}.version-view>.back-link{width:auto}.version-view__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.version-view__title{margin:0 0 4px;font-size:20px;line-height:1.3}.version-compare{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.version-compare__side .idea-sheet__title{font-size:20px}@media (width<=760px){.version-compare{grid-template-columns:minmax(0,1fr)}}.idea-diff--removed,.idea-diff--added{border-radius:var(--radius-xs);margin-inline:-6px;padding-inline:6px}.idea-diff--removed{background:var(--pink-soft);box-shadow:inset 3px 0 0 var(--pink)}.idea-diff--added{background:var(--green-soft);box-shadow:inset 3px 0 0 var(--green)}
