*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f7f5f2;--white:#ffffff;--border:#e8e4de;--border-dark:#d4cfc8;--text:#1a1915;--text-2:#6b6760;--text-3:#a09c97;--accent:#c96a2c;--accent-bg:#fdf2eb;--figma-color:#9b59b6;--figma-bg:#f5eefa;--linear-color:#5b6af0;--linear-bg:#eef0fe;--notion-color:#2a2a2a;--notion-bg:#f0efed;--green:#2d7a4f;--green-bg:#eaf4ef;--yellow:#b07c10;--yellow-bg:#fdf6e3;--red:#c0392b;--red-bg:#fdf0ee;--radius:10px;--radius-sm:6px}body{background:var(--bg);color:var(--text);font-family:Geist,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}.layout,body{min-height:100vh}.layout{display:grid;grid-template-columns:188px 1fr 300px}.left-nav{background:var(--white);border-right:1px solid var(--border);padding:0;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}.nav-wordmark{font-family:Newsreader,serif;font-size:17px;font-weight:500;color:var(--text);letter-spacing:-.01em;padding:20px 16px 16px;flex-shrink:0}.nav-bottom{margin-top:auto;padding:10px 16px 16px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.nav-theme-btn{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:12px;color:var(--text-3);background:none;border:none;cursor:pointer;font-family:Geist,sans-serif;transition:color .15s;width:100%;text-align:left}.nav-theme-btn:hover{color:var(--text-2)}.nav-avatar{width:30px;height:30px;border-radius:50%;background:var(--accent-bg);border:1.5px solid var(--border-dark);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;color:var(--accent);cursor:pointer}.nav-section{margin-bottom:28px}.nav-heading{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:0 16px;margin-bottom:4px}.nav-link{display:flex;align-items:center;gap:9px;padding:7px 16px;font-size:13px;color:var(--text-2);cursor:pointer;transition:color .1s,background .1s}.nav-link.active,.nav-link:hover{color:var(--text);background:var(--bg)}.nav-link.active{font-weight:500}.nav-link .dot{width:6px;height:6px;border-radius:50%;background:var(--border-dark);flex-shrink:0}.nav-link.active .dot{background:var(--accent)}.nav-new-project{display:flex;align-items:center;gap:7px;padding:7px 16px;font-size:13px;color:var(--text-3);cursor:pointer;transition:color .1s,background .1s;background:none;border:none;width:100%;text-align:left;font-family:Geist,sans-serif}.nav-new-project:hover{color:var(--text);background:var(--bg)}.nav-new-project svg{flex-shrink:0}.main{padding:32px 36px 60px;overflow-y:auto;min-width:0}.page-header{margin-bottom:28px;animation:fadeIn .3s ease both}.breadcrumb{font-size:12px;color:var(--text-3);margin-bottom:10px}.editable-title{font-family:Newsreader,serif;font-size:26px;font-weight:500;letter-spacing:-.02em;line-height:1.2;color:var(--text);background:none;border:none;outline:none;width:100%;padding:0;margin-bottom:5px;caret-color:var(--accent)}.editable-title::placeholder{color:var(--text-3)}.editable-desc{font-size:13.5px;color:var(--text-2);line-height:1.6;max-width:480px;background:none;border:none;outline:none;width:100%;resize:none;padding:0;font-family:Geist,sans-serif;caret-color:var(--accent);overflow:hidden}.editable-desc::placeholder{color:var(--text-3)}.section{margin-bottom:28px;animation:fadeIn .3s ease both}.section-header{justify-content:space-between;margin-bottom:10px}.section-header,.section-title{display:flex;align-items:center}.section-title{font-size:13px;font-weight:500;color:var(--text);gap:8px}.add-link-btn{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-3);background:none;border:none;cursor:pointer;padding:4px 2px;transition:color .15s;font-family:Geist,sans-serif}.add-link-btn:hover{color:var(--text)}.add-link-btn svg{flex-shrink:0}.card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card,.empty-state{background:var(--white)}.empty-state{border:1px dashed var(--border-dark);border-radius:var(--radius);padding:28px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.empty-state:hover{border-color:var(--text-3);background:#faf9f7}.empty-icon{font-size:20px;opacity:.4}.empty-label{font-size:13px;color:var(--text-3)}.empty-hint{font-size:11px;color:var(--text-3);opacity:.7}.add-input-row{display:none;align-items:center;gap:8px;padding:10px 14px;background:var(--bg);border-top:1px solid var(--border)}.add-input-row.visible{display:flex}.add-input{flex:1 1;border:1px solid var(--border-dark);border-radius:6px;padding:7px 10px;font-family:Geist,sans-serif;font-size:13px;color:var(--text);background:var(--white);outline:none;transition:border-color .15s}.add-input:focus{border-color:var(--text-3)}.add-input::placeholder{color:var(--text-3)}.add-confirm{padding:6px 13px;background:var(--text);color:var(--white);border:none;border-radius:6px;font-family:Geist,sans-serif;font-size:12px;cursor:pointer;transition:background .15s;white-space:nowrap}.add-confirm:hover{background:#333}.add-cancel{padding:6px 10px;background:none;border:1px solid var(--border-dark);border-radius:6px;font-family:Geist,sans-serif;font-size:12px;color:var(--text-3);cursor:pointer;transition:all .15s}.add-cancel:hover{color:var(--text)}.add-error{width:100%;font-size:12px;color:#c0392b;padding:2px 0}.figma-list{display:flex;flex-direction:column}.figma-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;text-decoration:none}.figma-item:last-of-type{border-bottom:none}.figma-item:hover{background:#fafafa}.figma-icon{width:32px;height:32px;border-radius:6px;background:var(--figma-bg);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.figma-icon.proto{background:var(--green-bg)}.figma-info{flex:1 1;min-width:0}.figma-name{font-size:13px;color:var(--text);margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.figma-meta{font-size:11px;color:var(--text-3)}.item-type{font-size:10px;padding:2px 7px;border-radius:8px;flex-shrink:0}.item-type.design{background:var(--figma-bg);color:var(--figma-color)}.item-type.prototype{background:var(--green-bg);color:var(--green)}.remove-btn{opacity:0;font-size:14px;color:var(--text-3);background:none;border:none;cursor:pointer;padding:2px 4px;line-height:1;transition:opacity .15s,color .15s}.doc-item:hover .remove-btn,.figma-item:hover .remove-btn,.ticket:hover .remove-btn{opacity:1}.remove-btn:hover{color:var(--red)}.ticket-list{display:flex;flex-direction:column}.ticket{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.ticket:last-of-type{border-bottom:none}.ticket:hover{background:#fafafa}.ticket-id{font-size:11px;color:var(--text-3);min-width:50px}.ticket-title{font-size:13px;color:var(--text);flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status{font-size:11px;padding:2px 8px;border-radius:10px;white-space:nowrap}.status.todo{background:var(--bg);color:var(--text-2);border:1px solid var(--border-dark)}.status.in-progress{background:var(--linear-bg);color:var(--linear-color)}.status.in-review{background:var(--yellow-bg);color:var(--yellow)}.status.done{background:var(--green-bg);color:var(--green)}.status.blocked{background:var(--red-bg);color:var(--red)}.doc-list{display:flex;flex-direction:column}.doc-item{display:flex;align-items:center;gap:11px;padding:11px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;text-decoration:none}.doc-item:last-of-type{border-bottom:none}.doc-item:hover{background:#fafafa}.doc-emoji{font-size:15px;width:22px;text-align:center;flex-shrink:0}.doc-info{flex:1 1;min-width:0}.doc-name{font-size:13px;color:var(--text);margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-meta{font-size:11px;color:var(--text-3)}.doc-tag{font-size:11px;padding:2px 8px;border-radius:9px;background:var(--notion-bg);color:var(--text-2);flex-shrink:0}.right-panel{background:var(--white);border-left:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:hidden}.panel-header{padding:18px 18px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.panel-title{font-size:13px;font-weight:500;color:var(--text);margin-bottom:2px}.panel-sub{font-size:11px;color:var(--text-3)}.composer{margin:14px 14px 0;background:var(--bg);border:1px solid var(--border-dark);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,border-color .2s;flex-shrink:0}.composer:focus-within{box-shadow:0 2px 10px rgba(0,0,0,.06);background:var(--white)}.composer-input{display:block;width:100%;border:none;outline:none;font-family:Geist,sans-serif;font-size:13px;color:var(--text);background:transparent;resize:none;line-height:1.55;min-height:60px;padding:12px 12px 8px}.composer-input::placeholder{color:var(--text-3)}.composer-footer{display:flex;align-items:center;justify-content:flex-end;padding:7px 10px 9px}.post-btn{padding:5px 13px;background:var(--text);color:var(--white);border:none;border-radius:6px;font-family:Geist,sans-serif;font-size:12px;cursor:pointer;transition:background .15s,opacity .15s;opacity:.35;pointer-events:none}.post-btn.ready{opacity:1;pointer-events:auto}.post-btn.ready:hover{background:#333}.feed-scroll{flex:1 1;overflow-y:auto;padding:12px 14px 0}.feed{display:flex;flex-direction:column;gap:8px;padding-bottom:14px}.update-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px 13px;animation:slideIn .22s ease both;transition:border-color .15s}.update-item:hover{border-color:var(--border-dark)}.update-time{font-size:11px;color:var(--text-3);margin-bottom:5px}.update-text{font-size:13px;color:var(--text);line-height:1.5}.eow-strip{border-top:1px solid var(--border);padding:12px 14px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.eow-left{display:flex;flex-direction:column;gap:1px}.eow-title{font-size:12px;font-weight:500;color:var(--text)}.eow-sub{font-size:11px;color:var(--text-3)}.eow-btn{padding:6px 13px;background:var(--text);color:var(--white);border:none;border-radius:7px;font-family:Geist,sans-serif;font-size:12px;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0}.eow-btn:hover{background:#333}.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page-header-content{flex:1 1;min-width:0}.overflow-wrap{position:relative;flex-shrink:0;margin-top:2px}.overflow-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:none;border:none;cursor:pointer;color:var(--text-3);font-size:16px;letter-spacing:1px;transition:background .12s,color .12s;line-height:1}.overflow-btn:hover{background:var(--border);color:var(--text)}.overflow-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--white);border:1px solid var(--border-dark);border-radius:var(--radius);box-shadow:0 4px 16px rgba(0,0,0,.08);min-width:160px;z-index:200;overflow:hidden;animation:fadeIn .12s ease both}.overflow-menu-item{display:flex;align-items:center;gap:9px;padding:9px 13px;font-size:13px;color:var(--text);cursor:pointer;transition:background .1s;background:none;border:none;width:100%;text-align:left;font-family:Geist,sans-serif}.overflow-menu-item:hover{background:var(--bg)}.overflow-menu-item.danger{color:var(--red)}.overflow-menu-item.danger:hover{background:var(--red-bg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:2px}@media (prefers-color-scheme:dark){:root{--bg:#161616;--white:#202020;--border:#2a2a2a;--border-dark:#373737;--text:#e4e4e4;--text-2:#8f8f8f;--text-3:#575757;--accent:#d47840;--accent-bg:#251a0f;--figma-color:#b882d4;--figma-bg:#1e1530;--linear-color:#8291f5;--linear-bg:#16182e;--notion-color:#a0a0a0;--notion-bg:#242424;--green:#52ba80;--green-bg:#102318;--yellow:#c99040;--yellow-bg:#221b08;--red:#e06050;--red-bg:#281410}html:not(.light) .doc-item:hover,html:not(.light) .empty-state:hover,html:not(.light) .figma-item:hover,html:not(.light) .ticket:hover{background:#272727}html:not(.light) .add-confirm:hover,html:not(.light) .eow-btn:hover,html:not(.light) .post-btn.ready:hover{background:#c4c4c4}html:not(.light) .add-error,html:not(.light) .login-error{color:var(--red)}html:not(.light) .composer:focus-within{box-shadow:0 2px 12px rgba(0,0,0,.4)}html:not(.light) .overflow-menu{box-shadow:0 4px 20px rgba(0,0,0,.5)}}html.dark{--bg:#161616;--white:#202020;--border:#2a2a2a;--border-dark:#373737;--text:#e4e4e4;--text-2:#8f8f8f;--text-3:#575757;--accent:#d47840;--accent-bg:#251a0f;--figma-color:#b882d4;--figma-bg:#1e1530;--linear-color:#8291f5;--linear-bg:#16182e;--notion-color:#a0a0a0;--notion-bg:#242424;--green:#52ba80;--green-bg:#102318;--yellow:#c99040;--yellow-bg:#221b08;--red:#e06050;--red-bg:#281410}html.dark .doc-item:hover,html.dark .empty-state:hover,html.dark .figma-item:hover,html.dark .ticket:hover{background:#272727}html.dark .add-confirm:hover,html.dark .eow-btn:hover,html.dark .post-btn.ready:hover{background:#c4c4c4}html.dark .add-error,html.dark .login-error{color:var(--red)}html.dark .composer:focus-within{box-shadow:0 2px 12px rgba(0,0,0,.4)}html.dark .overflow-menu{box-shadow:0 4px 20px rgba(0,0,0,.5)}html.light{--bg:#f7f5f2;--white:#ffffff;--border:#e8e4de;--border-dark:#d4cfc8;--text:#1a1915;--text-2:#6b6760;--text-3:#a09c97;--accent:#c96a2c;--accent-bg:#fdf2eb;--figma-color:#9b59b6;--figma-bg:#f5eefa;--linear-color:#5b6af0;--linear-bg:#eef0fe;--notion-color:#2a2a2a;--notion-bg:#f0efed;--green:#2d7a4f;--green-bg:#eaf4ef;--yellow:#b07c10;--yellow-bg:#fdf6e3;--red:#c0392b;--red-bg:#fdf0ee}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-form{display:flex;flex-direction:column;gap:12px;width:280px}.login-wordmark{font-family:Newsreader,serif;font-size:22px;font-weight:500;color:var(--text);letter-spacing:-.01em;margin-bottom:8px}.login-input{padding:10px 14px;border:1px solid var(--border-dark);border-radius:var(--radius-sm);background:var(--white);font-size:14px;color:var(--text);outline:none}.login-input:focus{border-color:var(--accent)}.login-error{font-size:12px;color:#c0392b}.login-btn{padding:10px 14px;background:var(--text);color:var(--white);border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s}.login-btn:disabled{opacity:.4;cursor:default}.login-btn:not(:disabled):hover{opacity:.8}