@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;0,8..60,600;0,8..60,700;1,8..60,400;1,8..60,500&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fafafa;--surface:#fff;--surface-2:#f5f5f7;--surface-3:#ececef;--sidebar-bg:#f7f7f9;--border:#e5e5e7;--border-strong:#d4d4d8;--border-hover:#d0d0d5;--text-1:#0a0a0a;--text-2:#525259;--text-3:#8a8a95;--text-4:#b4b4bb;--blue:#0070f3;--blue-soft:#0070f317;--blue-border:#0070f352;--green:#00a76a;--green-soft:#00a96e1a;--green-border:#00a96e57;--amber:#d97706;--amber-soft:#d977061a;--amber-border:#d9770652;--violet:#7c3aed;--violet-soft:#7c3aed17;--violet-border:#7c3aed52;--pink:#ec4899;--pink-soft:#ec48991a;--pink-border:#ec489952;--shadow-sm:0 1px 2px #0f0f190a;--shadow-md:0 1px 2px #0f0f190a, 0 8px 24px #0f0f190f;--shadow-lg:0 1px 2px #0f0f190d, 0 16px 40px #0f0f1914, 0 40px 80px #0f0f190a;--ring-focus:0 0 0 3px #0070f324;--r:8px;--font:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;--serif:"Source Serif 4", "Charter", "Georgia", "Times New Roman", serif;--mono:"Geist Mono", "SF Mono", "Fira Code", monospace}html,body,#root{height:100%}html,body{background:var(--bg);background-image:radial-gradient(circle at 20% 10%,#7c3aed0a,#0000 40%),radial-gradient(circle at 80% 90%,#0070f30a,#0000 40%);background-attachment:fixed}body{font-family:var(--font);color:var(--text-1);-webkit-font-smoothing:antialiased;min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit}.kbd{font-family:var(--mono);color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:10.5px;box-shadow:0 1px #0f0f1905}.pill-count{background:var(--surface-2);color:var(--text-3);border-radius:10px;padding:1px 7px;font-size:11px;font-weight:600}.status-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 0 3px #00a96e24}.logo-tile{background:linear-gradient(135deg,#ff4d4f 0%,#ffb224 25%,#00a76a 50%,#0070f3 75%,#7c3aed 100%);box-shadow:inset 0 1px #ffffff3d,0 1px 2px #0f0f1914,0 6px 18px #7c3aed24}.frame{background:var(--surface);width:100%;min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:260px;height:100vh;padding:20px 0;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid var(--border);color:var(--text-1);align-items:center;gap:10px;margin-bottom:14px;padding:0 20px 18px;display:flex}.brand .logo{border-radius:7px;width:28px;height:28px}.brand .name{letter-spacing:-.01em;font-size:13px;font-weight:700}.brand .name small{color:var(--text-3);letter-spacing:0;margin-top:1px;font-size:10px;font-weight:500;display:block}.nav-group{margin-bottom:10px;padding:0 12px}.nav-group-title{text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);padding:0 8px 6px;font-size:10px;font-weight:600}.nav-row{color:var(--text-2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.nav-row:hover{color:var(--text-1);background:#0f0f190a}.nav-row.active{background:var(--surface);color:var(--text-1);box-shadow:0 1px #0f0f1908,0 1px 2px #0f0f190d}.nav-row svg{flex-shrink:0}.nav-row .count{margin-left:auto}.sidebar-footer{border-top:1px solid var(--border);color:var(--text-3);align-items:center;gap:8px;margin-top:auto;padding:14px 20px 0;font-size:12px;display:flex}.user-chip{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding:12px 14px;display:flex}.user-chip-avatar{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.vf-clerk-avatar{border-radius:7px!important;width:28px!important;height:28px!important}.vf-clerk-popover{box-shadow:var(--shadow-lg)!important;border:1px solid var(--border)!important;border-radius:10px!important}.user-chip-info{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.user-chip-name{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.user-chip-role{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.user-chip-signout{cursor:pointer;color:var(--text-3);background:0 0;border:1px solid #0000;border-radius:6px;padding:6px;transition:all .15s;display:flex}.user-chip-signout:hover{color:var(--text-1);background:var(--surface-2);border-color:var(--border)}.main{background:var(--surface);flex-direction:column;flex:1;min-width:0;display:flex}.home{flex:1;justify-content:center;align-items:center;padding:48px 56px;display:flex}.home-inner{flex-direction:column;width:100%;max-width:560px;display:flex}.hero{margin-bottom:40px}.hero .icon-tile{border-radius:11px;width:48px;height:48px;margin-bottom:22px}.hero h1{letter-spacing:-.028em;color:var(--text-1);margin-bottom:10px;font-size:28px;font-weight:700}.hero p{color:var(--text-2);max-width:500px;font-size:14px;line-height:1.55}.section-title{text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);margin-bottom:12px;font-size:10px;font-weight:600}.actions{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.action{background:var(--surface);border:0;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;width:100%;color:var(--text-1);align-items:center;gap:14px;padding:14px 16px;transition:background .15s;display:flex}.action:last-child{border-bottom:none}.action:hover{background:var(--surface-2)}.action .ic{background:var(--surface-2);border:1px solid var(--border);width:34px;height:34px;color:var(--text-2);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.action .lbl{flex:1}.action .lbl strong{color:var(--text-1);margin-bottom:2px;font-size:13.5px;font-weight:600;display:block}.action .lbl span{color:var(--text-3);font-size:11.5px}.action .shortcut{gap:3px;display:flex}.footer-links{color:var(--text-3);gap:20px;margin-top:18px;padding:0 4px;font-size:12px;display:flex}.footer-links a{color:var(--text-3);transition:color .15s}.footer-links a:hover{color:var(--text-1)}.page-head{border-bottom:1px solid var(--border);background:var(--surface);z-index:2;justify-content:space-between;align-items:center;padding:20px 40px;display:flex;position:sticky;top:0}.page-head h2{letter-spacing:-.015em;font-size:15px;font-weight:700}.page-head .right{gap:8px;display:flex}.btn{font-family:var(--font);cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-2);box-shadow:var(--shadow-sm);border-radius:6px;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover{border-color:var(--border-hover);color:var(--text-1);background:var(--surface-2)}.btn-primary{color:#fff;background:#0a0a0a;border-color:#0a0a0a}.btn-primary:hover{color:#fff;background:#1a1a1a;border-color:#1a1a1a}.btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2);border-color:var(--border)}.articles-body{width:100%;max-width:960px;margin:0 auto;padding:24px 40px 64px}.articles-list{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.article-row{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:1fr minmax(160px,auto) auto auto;align-items:center;gap:16px;padding:16px 18px;transition:background .15s;display:grid}.article-row .author{align-items:center;gap:8px;min-width:0;display:flex}.article-row .author-avatar{background:var(--violet-soft);width:24px;height:24px;color:var(--violet);letter-spacing:.02em;border:1px solid var(--violet-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.article-row .author-name{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.article-row .author-you{color:var(--text-3);font-weight:500}.article-row:last-child{border-bottom:none}.article-row:hover{background:var(--surface-2)}.article-row .main-col{min-width:0}.article-row .title{color:var(--text-1);font-size:14px;font-weight:600;font-family:var(--serif);letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;overflow:hidden}.article-row .title.untitled{color:var(--text-3);font-style:italic;font-family:var(--font);font-weight:500}.article-row .preview{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.article-row .meta{color:var(--text-3);font-size:11px;font-family:var(--mono);white-space:nowrap}.article-row .del{color:var(--text-3);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:6px;transition:all .15s;display:flex}.article-row .del:hover{color:#dc2626;background:#dc262614;border-color:#dc26262e}.empty{text-align:center;color:var(--text-3);padding:64px 24px;font-size:13px}.empty .logo-tile{border-radius:10px;width:44px;height:44px;margin:0 auto 18px}.empty h3{color:var(--text-1);letter-spacing:-.015em;margin-bottom:6px;font-size:16px;font-weight:700}.empty p{margin-bottom:18px}.editor-page{flex-direction:column;min-height:100vh;display:flex}.editor-top{border-bottom:1px solid var(--border);-webkit-backdrop-filter:saturate(180%)blur(12px);z-index:5;background:#ffffffd1;justify-content:space-between;align-items:center;padding:14px 24px;display:flex;position:sticky;top:0}.editor-top .left{color:var(--text-2);align-items:center;gap:10px;display:flex}.editor-top .left .crumb{font-size:13px;font-weight:500}.editor-top .right{align-items:center;gap:10px;display:flex}.editor-top .save-status{color:var(--text-3);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:11.5px;display:flex}.editor-top .save-status.saving:before{content:"";background:var(--amber);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #d9770624}.editor-top .save-status.saved:before{content:"";background:var(--green);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #00a96e24}.writer{flex:1;justify-content:center;padding:56px 24px 120px;display:flex}.writer-inner{width:100%;max-width:720px}.title-input{width:100%;font-family:var(--serif);letter-spacing:-.022em;color:var(--text-1);resize:none;background:0 0;border:0;outline:0;margin-bottom:12px;padding:0;font-size:44px;font-weight:700;line-height:1.15;display:block;overflow:hidden}.title-input::placeholder{color:var(--text-4)}.subtitle-input{width:100%;font-family:var(--serif);color:var(--text-2);resize:none;background:0 0;border:0;outline:0;margin-bottom:28px;padding:0;font-size:22px;font-style:italic;font-weight:400;line-height:1.35;display:block;overflow:hidden}.subtitle-input::placeholder{color:var(--text-4);font-style:italic}.prose{font-family:var(--serif);color:#1a1a1a;letter-spacing:-.003em;font-size:20px;line-height:1.68}.prose:focus{outline:0}.prose>*+*{margin-top:1.1em}.prose h1{letter-spacing:-.02em;margin-top:1.5em;font-size:34px;font-weight:700;line-height:1.2}.prose h2{letter-spacing:-.015em;margin-top:1.6em;font-size:28px;font-weight:700;line-height:1.25}.prose h3{letter-spacing:-.01em;margin-top:1.5em;font-size:22px;font-weight:700;line-height:1.3}.prose p{margin-top:1em}.prose strong{color:#0a0a0a;font-weight:700}.prose em{font-style:italic}.prose a{color:inherit;text-underline-offset:3px;-webkit-text-decoration:underline #0070f373;text-decoration:underline #0070f373;text-decoration-thickness:1.5px;transition:text-decoration-color .15s}.prose a:hover{-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue)}.prose blockquote{color:#555;border-left:3px solid #1a1a1a;margin-top:1.3em;padding-left:22px;font-style:italic}.prose ul,.prose ol{padding-left:1.6em}.prose li{margin-top:.35em}.prose li>p{margin-top:.25em}.prose code{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:.82em}.prose pre{color:#ededed;font-family:var(--mono);background:#0a0a0a;border-radius:10px;padding:18px 20px;font-size:14px;line-height:1.55;overflow-x:auto}.prose pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.prose img{max-width:100%;height:auto;box-shadow:var(--shadow-md);border-radius:10px;margin:1.4em auto;display:block}.prose hr{border:0;border-top:1px solid var(--border);width:80px;margin:2em auto}.prose p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-4);pointer-events:none;height:0}.bubble{background:#0a0a0a;border:1px solid #222;border-radius:8px;align-items:center;gap:2px;padding:4px;display:flex;box-shadow:0 10px 30px #00000038,0 2px 6px #0000002e}.bubble button{color:#cfcfd3;cursor:pointer;width:30px;height:28px;font-family:var(--font);background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;font-size:13px;transition:all .12s;display:inline-flex}.bubble button:hover{color:#fff;background:#1a1a1a}.bubble button.on{color:#fff;background:#2563eb}.bubble .sep{background:#222;width:1px;height:18px;margin:0 2px}.bubble .lbl-bold{font-weight:700;font-family:var(--serif)}.bubble .lbl-italic{font-style:italic;font-family:var(--serif)}.bubble .lbl-h{font-weight:700;font-family:var(--serif);font-size:13px}.bubble .lbl-h small{vertical-align:super;font-size:10px;font-weight:700}.signin-stage{background:radial-gradient(circle at 18% 0%, #7c3aed0e, transparent 45%), radial-gradient(circle at 82% 100%, #0070f30d, transparent 45%), var(--bg);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:48px 24px;display:flex}.signin-wrap{flex-direction:column;align-items:stretch;width:100%;max-width:360px;display:flex}.signin-brand{text-align:center;flex-direction:column;align-items:center;margin-bottom:30px;display:flex}.signin-logo{border-radius:10px;width:44px;height:44px;margin-bottom:18px}.signin-brand h1{letter-spacing:-.02em;color:var(--text-1);margin-bottom:6px;font-size:22px;font-weight:600}.signin-brand p{color:var(--text-3);max-width:280px;font-size:13.5px;line-height:1.45}.signin-card{width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.signin-foot{color:var(--text-3);justify-content:center;align-items:center;gap:8px;margin-top:24px;font-size:11.5px;display:flex}.signin-missing-keys{color:var(--text-2);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:10px;padding:20px;font-size:13px;line-height:1.55}.signin-missing-keys strong{color:var(--text-1);margin-bottom:6px;display:block}.signin-missing-keys code{background:var(--surface-2);border:1px solid var(--border);font-family:var(--mono);border-radius:4px;padding:1px 5px;font-size:11.5px}.vf-form{flex-direction:column;gap:14px;width:100%;display:flex}.vf-field{flex-direction:column;display:flex}.vf-field label{color:var(--text-2);letter-spacing:.01em;margin-bottom:6px;font-size:11.5px;font-weight:500}.vf-field input{background:var(--surface);border:1px solid var(--border);color:var(--text-1);border-radius:7px;width:100%;height:38px;padding:0 11px;font-family:inherit;font-size:13.5px;transition:border-color .15s,box-shadow .15s}.vf-field input:focus{border-color:var(--blue);box-shadow:var(--ring-focus);outline:0}.vf-field input:disabled{background:var(--surface-2);color:var(--text-3);cursor:not-allowed}.vf-input-wrap{align-items:center;display:flex;position:relative}.vf-input-wrap input{padding-right:36px}.vf-input-adornment{width:28px;height:28px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;transition:color .15s,background .15s;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.vf-input-adornment:hover{color:var(--text-1);background:var(--surface-2)}.vf-primary{color:#fff;cursor:pointer;height:38px;box-shadow:var(--shadow-sm);background:#0a0a0a;border:1px solid #0a0a0a;border-radius:7px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,transform 50ms}.vf-primary:hover:not(:disabled){background:#1a1a1a}.vf-primary:active:not(:disabled){transform:translateY(1px)}.vf-primary:disabled{opacity:.6;cursor:not-allowed;background:#0a0a0a}.vf-linkbtn{color:var(--text-3);cursor:pointer;background:0 0;border:0;padding:4px 0;font-family:inherit;font-size:12px;font-weight:500;transition:color .15s}.vf-linkbtn:hover:not(:disabled){color:var(--text-1)}.vf-linkbtn:disabled{opacity:.5;cursor:not-allowed}.vf-identity{background:var(--surface-2);border:1px solid var(--border);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;padding:8px 12px;display:flex}.vf-identity-email{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.vf-identity-edit{color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:12px;font-weight:500;transition:color .15s,background .15s}.vf-identity-edit:hover{color:var(--text-1);background:var(--surface)}.vf-code-input{font-family:var(--mono)!important;letter-spacing:.3em!important;text-align:center!important;height:44px!important;font-size:18px!important}.vf-error{color:#dc2626;margin:-4px 0 -2px;font-size:12px;line-height:1.45}.vf-info{color:var(--text-2);margin:-4px 0 -2px;font-size:12px;line-height:1.45}.auth-loading{min-height:100vh;color:var(--text-3);background:var(--bg);justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.auth-loading .spinner{border:2px solid var(--border);border-top-color:var(--text-2);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.writer-meta{max-width:720px;color:var(--text-3);font-size:11.5px;font-family:var(--mono);justify-content:space-between;align-items:center;margin:40px auto 0;display:flex}.writer-meta .left{gap:14px;display:flex}
