:root{--bg:#eef1f5;--bg-2:#e6ebf2;--panel:#ffffff;--panel-soft:#f7f9fc;--ink:#14181f;--muted:#5e6774;--line:#d9e0ea;--accent:#ff5b22;--accent-ink:#fff;--link:#245bdb;--danger:#9e2f1f;--danger-bg:#fde4dc;--success:#196a3a;--success-bg:#dff4e6;--warn-bg:#fff3d4;--warn-ink:#875f06;--shadow:0 10px 30px rgba(20,24,31,0.06);--radius:14px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(circle at 10% -10%,#ffffff 0,transparent 40%),radial-gradient(circle at 90% 0,#dfe8ff 0,transparent 35%),linear-gradient(180deg,var(--bg-2),var(--bg));color:var(--ink);font-family:var(--font-dm-sans),ui-sans-serif,system-ui,sans-serif}button,input,select,textarea{font:inherit}input,select,textarea{border:1px solid #cfd7e2;border-radius:10px;padding:.7rem .8rem;background:#fff;color:var(--ink)}button:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--link) 35%,white);outline-offset:1px}.page-shell{max-width:1180px;margin:0 auto;padding:1rem .75rem 2rem}.feed-header{margin-bottom:1rem}.feed-header-inner{position:relative}.feed-header-content{padding-right:3rem}.feed-header-account{position:absolute;top:0;right:0;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.feed-header-account .manager-panel{background:transparent;border:none;box-shadow:none;padding:0;width:100%;max-width:none}.feed-card,.feed-header-main,.manager-panel,.modal-card,.new-project-card,.toast{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.feed-header-main{padding:1rem}.eyebrow{margin:0;color:var(--accent);font-weight:800;letter-spacing:.04em;text-transform:lowercase;font-size:.82rem}.feed-header-main h1{margin:.25rem 0 0;font-size:clamp(1.65rem,4.6vw,2.4rem);line-height:1.05}.subtle{color:var(--muted);margin:.3rem 0 0}.kpi-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.kpi-pill{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--line);background:var(--panel-soft);border-radius:999px;padding:.25rem .6rem;white-space:nowrap}.kpi-pill.warn{background:var(--warn-bg);border-color:#f0ddb2}.kpi-pill.success{background:var(--success-bg);border-color:#c7e3d0}.kpi-value{font-size:.88rem;font-weight:800}.kpi-label{color:var(--muted);font-size:.74rem;font-weight:600}.manager-panel{padding:.7rem;width:min(100%,340px)}.account-chip{display:flex;align-items:center;gap:.45rem}.account-menu{position:relative;padding:.25rem}.account-chip-button{display:flex;align-items:center;gap:.45rem;border:1px solid transparent;background:transparent;padding:.25rem .45rem .25rem .25rem;border-radius:999px;cursor:pointer}.account-chip-button:hover{background:#f7f9fc;border-color:#e3eaf3}.account-avatar{width:30px;height:30px;border-radius:999px;background:#ffe6dd;color:#8f331f;display:grid;place-items:center;font-weight:800;font-size:.82rem;border:1px solid #ffd1c2;overflow:hidden;flex-shrink:0}.account-avatar-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:999px}.account-first-name{font-size:.84rem;font-weight:700;white-space:nowrap}.account-email,.account-name{margin:0;line-height:1.2}.account-name{font-weight:700;font-size:.88rem}.account-email{color:var(--muted);font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-caret{color:var(--muted);font-size:.8rem}.new-post-button{margin-top:1rem;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:800;text-align:center;border:1px solid #ffd1c2;background:#fff1eb;color:#7d2f1c;border-radius:var(--radius);cursor:pointer}.new-post-button:hover{background:#ffe6dd}.account-dropdown{position:absolute;right:.35rem;top:calc(100% + .3rem);width:min(92vw,300px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 50px rgba(20,24,31,.18);padding:.55rem;z-index:20}.account-dropdown-header{border-bottom:1px solid #e6ecf4;padding-bottom:.5rem;margin-bottom:.5rem}.account-dropdown-item{display:block;width:100%;padding:.5rem .75rem;font-size:.84rem;color:var(--ink);text-decoration:none;border-radius:8px;margin-bottom:.15rem}.account-dropdown-item:hover{background:var(--bg)}.account-signout-button{width:100%;padding:.5rem .75rem;font-size:.84rem;text-align:left}.new-project-card{padding:.9rem;margin-bottom:1rem}.new-project-header h2{margin:0;font-size:1rem}.new-project-header{margin-bottom:.65rem}.modal-scrim{position:fixed;inset:0;z-index:50;background:rgba(16,22,31,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:1rem}.modal-card{padding:.9rem;width:min(100%,980px);margin-bottom:0;box-shadow:0 25px 70px rgba(13,18,25,.28)}.modal-header{display:flex;justify-content:flex-start;align-items:flex-start;gap:.75rem}.project-post-form{display:grid;grid-gap:.7rem;gap:.7rem}.compose-field{display:grid;grid-gap:.28rem;gap:.28rem}.compose-field>span{color:var(--muted);font-size:.78rem;font-weight:700}.compose-field.inline-field>span{display:none}.project-post-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.project-post-actions .primary-button,.project-post-actions .secondary-button{width:100%;justify-content:center}.adm-shell{--adm-cream:#faf8f5;--adm-warm-gray:#f0ece6;--adm-charcoal:#1a1814;--adm-espresso:#2c2520;--adm-burnt:#c4501c;--adm-sage:#3d6b52;--adm-amber:#d4890a;min-height:100svh;background:var(--adm-cream);color:var(--adm-charcoal);font-family:var(--font-dm-sans),ui-sans-serif,system-ui,sans-serif}.adm-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:rgba(250,248,245,.88);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid rgba(44,37,32,.08)}.adm-topbar-inner{max-width:680px;margin:0 auto;display:flex;align-items:center;padding:.55rem 1rem}.adm-back{display:inline-flex;align-items:center;gap:.25rem;color:var(--adm-espresso);font-weight:600;font-size:.88rem;text-decoration:none;padding:.35rem .55rem;border-radius:8px;transition:background .15s}.adm-back:hover{background:rgba(44,37,32,.06)}.adm-hero{background:linear-gradient(135deg,var(--adm-charcoal) 0,var(--adm-espresso) 100%);padding:2rem 1rem 1.75rem;position:relative;overflow:hidden}.adm-hero:before{background:radial-gradient(ellipse at 20% 90%,rgba(196,80,28,.18) 0,transparent 60%),radial-gradient(ellipse at 80% 10%,rgba(212,137,10,.1) 0,transparent 50%)}.adm-hero:after,.adm-hero:before{content:"";position:absolute;inset:0;pointer-events:none}.adm-hero:after{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E")}.adm-hero-inner{max-width:680px;margin:0 auto;position:relative;z-index:1}.adm-hero-icon{color:var(--adm-burnt);margin-bottom:.65rem;opacity:.7}.adm-hero-title{margin:0;font-family:var(--font-instrument-serif),Georgia,serif;font-size:clamp(1.8rem,5vw,2.6rem);font-weight:400;color:#fff;line-height:1.1;letter-spacing:-.01em}.adm-hero-sub{margin:.35rem 0 0;font-size:.88rem;color:rgba(255,255,255,.5);line-height:1.4}.adm-hero-stats{display:flex;gap:.35rem;margin-top:1.25rem;flex-wrap:wrap}.adm-hero-stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.05rem;min-width:64px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.adm-hero-stat-value{font-size:1.15rem;font-weight:800;color:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.adm-hero-stat-label{font-size:.68rem;font-weight:600;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.05em}.adm-hero-stat-alert{border-color:rgba(196,80,28,.35);background:rgba(196,80,28,.12)}.adm-hero-stat-alert .adm-hero-stat-value{color:#f0a070}.adm-body{padding:0 1rem}.adm-body-inner{max-width:680px;margin:0 auto;padding-top:1.25rem;padding-bottom:3rem}.adm-toast{margin-bottom:.85rem;border-radius:12px}.adm-pending{background:#fff;border:1px solid rgba(212,137,10,.2);border-radius:16px;margin-bottom:1.25rem;overflow:hidden;box-shadow:0 1px 4px rgba(212,137,10,.06)}.adm-pending-toggle{display:flex;align-items:center;gap:.55rem;width:100%;padding:.85rem 1rem;background:none;border:none;cursor:pointer;font-size:.88rem;font-weight:600;color:var(--adm-charcoal);text-align:left;font-family:inherit;transition:background .12s}.adm-pending-toggle:hover{background:rgba(212,137,10,.04)}.adm-pending-dot{width:8px;height:8px;border-radius:999px;background:var(--adm-amber);flex-shrink:0;animation:adm-pulse 2s ease-in-out infinite}@keyframes adm-pulse{0%,to{opacity:1}50%{opacity:.4}}.adm-pending-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.3rem;height:1.3rem;border-radius:999px;background:var(--adm-amber);color:#fff;font-size:.7rem;font-weight:700;padding:0 .3rem}.adm-pending-caret{margin-left:auto;color:#a89e94;transition:transform .2s ease;flex-shrink:0}.adm-pending-list{border-top:1px solid rgba(212,137,10,.12);padding:.5rem;display:flex;flex-direction:column;gap:.4rem}.adm-pending-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;background:var(--adm-cream);border-radius:12px;border:1px solid rgba(44,37,32,.06)}.adm-pending-card-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.adm-pending-card-name{font-size:.85rem;font-weight:600;color:var(--adm-charcoal)}.adm-pending-card-email{font-size:.75rem;color:#8a8279;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-pending-card-date{font-size:.7rem;color:#a89e94}.adm-pending-card-actions{display:flex;gap:.35rem;flex-shrink:0}.adm-btn{font-size:.78rem;font-weight:600;border-radius:8px;padding:.35rem .75rem;cursor:pointer;border:1px solid;white-space:nowrap;font-family:inherit;display:inline-flex;align-items:center;gap:.3rem;transition:all .12s}.adm-btn:disabled{opacity:.4;cursor:default}.adm-btn-approve{background:rgba(61,107,82,.08);color:var(--adm-sage);border-color:rgba(61,107,82,.2)}.adm-btn-approve:hover:not(:disabled){background:rgba(61,107,82,.14)}.adm-btn-reject{background:rgba(196,80,28,.06);color:#9e2f1f;border-color:rgba(196,80,28,.15)}.adm-btn-reject:hover:not(:disabled){background:rgba(196,80,28,.12)}.adm-btn-invite{background:var(--adm-charcoal);color:#fff;border-color:var(--adm-charcoal)}.adm-btn-invite:hover{background:var(--adm-espresso)}.adm-btn-send{background:var(--adm-sage);color:#fff;border-color:var(--adm-sage)}.adm-btn-send:hover:not(:disabled){background:#346b4d}.adm-toolbar{margin-bottom:1.25rem}.adm-search-row{display:flex;gap:.5rem;margin-bottom:.65rem}.adm-search-wrap{flex:1 1;min-width:0;position:relative}.adm-search-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:#a89e94;pointer-events:none}.adm-search-input{width:100%;padding:.55rem .75rem .55rem 2.1rem;border:1px solid rgba(44,37,32,.1);border-radius:10px;font-size:.88rem;font-family:inherit;background:#fff;color:var(--adm-charcoal);transition:border-color .15s,box-shadow .15s}.adm-search-input:focus{border-color:var(--adm-burnt);outline:none;box-shadow:0 0 0 2px rgba(196,80,28,.08)}.adm-search-input::placeholder{color:#b5ada4}.adm-invite-form{display:flex;gap:.45rem;margin-bottom:.65rem;flex-wrap:wrap;animation:adm-slide-in .15s ease}@keyframes adm-slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.adm-invite-email{flex:1 1;min-width:160px;padding:.5rem .7rem;border:1px solid rgba(44,37,32,.1);border-radius:10px;font-size:.88rem;font-family:inherit;background:#fff;color:var(--adm-charcoal)}.adm-invite-email:focus{border-color:var(--adm-burnt);outline:none;box-shadow:0 0 0 2px rgba(196,80,28,.08)}.adm-invite-role{padding:.5rem;border:1px solid rgba(44,37,32,.1);border-radius:10px;font-size:.85rem;font-family:inherit;background:#fff;color:var(--adm-charcoal)}.adm-invite-mode-toggle{display:flex;gap:.2rem;margin-bottom:.5rem;background:rgba(44,37,32,.04);border-radius:8px;padding:.2rem;width:-moz-fit-content;width:fit-content}.adm-invite-mode-btn{padding:.35rem .75rem;border:none;border-radius:6px;font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;background:transparent;color:#8a8480;transition:all .15s}.adm-invite-mode-active{background:#fff;color:var(--adm-charcoal,#1a1814);box-shadow:0 1px 2px rgba(0,0,0,.06)}.adm-invite-form-bulk{flex-direction:column}.adm-invite-bulk-textarea{width:100%;padding:.6rem .7rem;border:1px solid rgba(44,37,32,.1);border-radius:10px;font-size:.85rem;font-family:inherit;background:#fff;color:var(--adm-charcoal,#1a1814);resize:vertical;min-height:80px}.adm-invite-bulk-textarea:focus{border-color:var(--adm-burnt,#c4501c);outline:none;box-shadow:0 0 0 2px rgba(196,80,28,.08)}.adm-invite-bulk-footer{display:flex;gap:.45rem;justify-content:flex-end}.adm-empty{text-align:center;color:#a09890;font-size:.88rem;padding:2rem 0}.adm-role-tabs{display:flex;gap:.2rem;overflow-x:auto;-webkit-overflow-scrolling:touch;background:rgba(44,37,32,.04);border-radius:10px;padding:.2rem}.adm-role-tab{display:flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;padding:.38rem .65rem;border:none;border-radius:8px;background:transparent;color:#8a8279;cursor:pointer;white-space:nowrap;font-family:inherit;transition:all .15s}.adm-role-tab-active,.adm-role-tab:hover{color:var(--adm-charcoal)}.adm-role-tab-active{background:#fff;box-shadow:0 1px 3px rgba(26,24,20,.06)}.adm-role-tab-count{font-size:.68rem;opacity:.55;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.adm-users-count{margin:0 0 .5rem;font-size:.78rem;color:#a89e94;font-weight:500}.adm-user-list{display:flex;flex-direction:column;gap:.4rem}.adm-user-card{display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;background:#fff;border:1px solid rgba(44,37,32,.06);border-radius:14px;box-shadow:0 1px 3px rgba(26,24,20,.03);transition:border-color .15s,box-shadow .15s;animation:adm-card-in .25s ease both}@keyframes adm-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.adm-user-card:hover{border-color:rgba(44,37,32,.12);box-shadow:0 3px 12px rgba(26,24,20,.06)}.adm-user-avatar{flex-shrink:0;width:2.4rem;height:2.4rem;border-radius:10px;background:var(--adm-warm-gray);display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(44,37,32,.06)}.adm-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:10px}.adm-avatar-initials{font-size:.88rem;font-weight:700;color:#6b6359}.adm-user-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.05rem}.adm-user-name{font-size:.88rem;font-weight:600;color:var(--adm-charcoal)}.adm-user-email,.adm-user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adm-user-email{font-size:.74rem;color:#8a8279}.adm-user-meta{font-size:.72rem;color:#a89e94}.adm-user-active{font-size:.68rem;color:#b5ada4}.adm-user-role{flex-shrink:0;display:flex;align-items:center;gap:.35rem}.adm-btn-delete-user{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid rgba(196,80,28,.15);border-radius:7px;background:rgba(196,80,28,.04);color:#b54a2a;cursor:pointer;transition:background .12s,border-color .12s}.adm-btn-delete-user:hover:not(:disabled){background:rgba(196,80,28,.12);border-color:rgba(196,80,28,.3)}.adm-btn-delete-user:disabled{opacity:.4;cursor:default}.adm-confirm-overlay{position:fixed;inset:0;z-index:1000;background:rgba(26,24,20,.35);display:flex;align-items:center;justify-content:center;padding:1rem;animation:adm-fade-in .12s ease}@keyframes adm-fade-in{0%{opacity:0}to{opacity:1}}.adm-confirm-dialog{background:#fff;border-radius:16px;padding:1.5rem;max-width:360px;width:100%;box-shadow:0 8px 30px rgba(26,24,20,.15);animation:adm-slide-in .15s ease}.adm-confirm-title{font-size:1.05rem;font-weight:700;color:var(--adm-charcoal);margin:0 0 .5rem}.adm-confirm-text{font-size:.88rem;color:#6b5e52;margin:0 0 1.25rem;line-height:1.5}.adm-confirm-actions{display:flex;gap:.5rem;justify-content:flex-end}.adm-btn-cancel{background:var(--adm-cream);color:var(--adm-charcoal);border-color:rgba(44,37,32,.1)}.adm-btn-cancel:hover{background:rgba(44,37,32,.06)}.adm-btn-confirm-delete{background:#c4501c;color:#fff;border-color:#c4501c}.adm-btn-confirm-delete:hover{background:#a33e14}.adm-role-badge{font-size:.68rem;font-weight:700;border-radius:6px;padding:.2rem .55rem;text-transform:uppercase;letter-spacing:.05em}.adm-role-badge-owner{background:rgba(196,80,28,.08);color:var(--adm-burnt);border:1px solid rgba(196,80,28,.18)}.adm-role-select{font-size:.78rem;font-weight:600;padding:.3rem .45rem;border:1px solid rgba(44,37,32,.1);border-radius:8px;background:var(--adm-cream);color:var(--adm-charcoal);cursor:pointer;font-family:inherit;transition:border-color .15s}.adm-role-select:hover{border-color:rgba(44,37,32,.2)}.adm-role-select:disabled{opacity:.5;cursor:default}.adm-role-select-admin{border-color:rgba(196,80,28,.25)}.adm-role-select-moderator{border-color:rgba(107,79,160,.25)}.adm-role-select-contributor{border-color:rgba(61,107,82,.25)}.adm-role-select-viewer{border-color:rgba(44,37,32,.1)}.adm-audit{margin-top:1.5rem;background:#fff;border:1px solid rgba(44,37,32,.06);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px rgba(26,24,20,.03)}.adm-audit-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.85rem 1rem;background:transparent;border:none;cursor:pointer;text-align:left;font-family:inherit;transition:background .12s}.adm-audit-toggle:hover{background:rgba(44,37,32,.02)}.adm-audit-toggle-left{display:flex;align-items:center;gap:.5rem}.adm-audit-toggle-left svg{color:#a89e94}.adm-audit-toggle h2{margin:0;font-size:.92rem;font-weight:600;color:var(--adm-charcoal)}.adm-audit-count{font-size:.68rem;font-weight:600;color:#a89e94;background:var(--adm-cream);padding:.1rem .4rem;border-radius:4px}.adm-audit-caret{color:#a89e94;transition:transform .2s ease;flex-shrink:0}.adm-audit-list{border-top:1px solid rgba(44,37,32,.06);max-height:420px;overflow-y:auto}.adm-audit-item{display:flex;justify-content:space-between;gap:.75rem;padding:.6rem 1rem;border-bottom:1px solid rgba(44,37,32,.04);font-size:.8rem;animation:adm-card-in .2s ease both}.adm-audit-item:last-child{border-bottom:none}.adm-audit-item:hover{background:rgba(44,37,32,.015)}.adm-audit-action{color:#3d3830;min-width:0;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.adm-audit-date{color:#a89e94;white-space:nowrap;flex-shrink:0;font-size:.75rem}.adm-error-shell{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--bg)}.adm-error-card{max-width:400px;width:100%;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:2.5rem 2rem;box-shadow:var(--shadow)}.adm-error-icon{color:var(--danger);margin-bottom:1rem}.adm-error-title{font-size:1.15rem;font-weight:650;margin:0 0 .5rem;color:var(--ink)}.adm-error-message{font-size:.85rem;color:var(--muted);margin:0 0 .25rem;word-break:break-word}.adm-error-digest{font-size:.75rem;color:var(--muted);opacity:.6;margin:0 0 1.25rem;font-family:ui-monospace,monospace}.adm-error-actions{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.25rem}.adm-error-btn{background:var(--accent);color:var(--accent-ink);border:none;border-radius:10px;padding:.55rem 1.25rem;font-size:.85rem;font-weight:600;cursor:pointer}.adm-error-btn:hover{opacity:.9}.adm-error-link{font-size:.85rem;color:var(--muted);text-decoration:none}.adm-error-link:hover{color:var(--ink)}@media (max-width:500px){.adm-topbar-inner{padding:.5rem .65rem}.adm-hero{padding:1.5rem .75rem 1.25rem}.adm-hero-stats{gap:.25rem}.adm-hero-stat{padding:.4rem .55rem;min-width:56px}.adm-hero-stat-value{font-size:1rem}.adm-body-inner{padding-top:.85rem}.adm-user-card{padding:.65rem;border-radius:12px}.adm-user-avatar{width:2rem;height:2rem;border-radius:8px}.adm-search-row{gap:.4rem}.adm-invite-form,.adm-search-row{flex-direction:column}}.waiting-name-form{margin-top:1.25rem;display:flex;flex-direction:column;gap:0}.waiting-name-label{font-size:.85rem;font-weight:600;display:block;margin-bottom:.3rem}.waiting-name-input{width:100%}.primary-button,.secondary-button{border-radius:10px;border:none;padding:.65rem .85rem;cursor:pointer;white-space:nowrap;font-weight:700}.primary-button{background:var(--accent);color:var(--accent-ink)}.secondary-button{background:#eef2f8;color:var(--ink);border:1px solid var(--line)}.primary-button:disabled,.secondary-button:disabled{opacity:.65;cursor:not-allowed}.feed-list{display:grid;grid-gap:.85rem;gap:.85rem}.feed-card{display:grid;grid-template-columns:84px 1fr;overflow:hidden}.thread-tile-card{align-items:stretch}.feed-card-rail{background:#f7f9fd;border-right:1px solid var(--line);padding:.7rem .5rem;display:grid;align-content:start;justify-items:center;grid-gap:.55rem;gap:.55rem}.rail-status{width:16px;height:16px;border-radius:999px;border:2px solid rgba(0,0,0,.06)}.rail-status.status-not-started{background:#b5b8c1}.rail-status.status-progress{background:#2e7bdc}.rail-status.status-blocked{background:#d34b2e}.rail-status.status-done{background:#2da561}.rail-count{display:grid;justify-items:center;line-height:1}.rail-count-value{font-weight:800;font-size:1rem}.rail-count-label{color:var(--muted);font-size:.68rem;margin-top:.15rem}.feed-card-body{display:flex;flex-direction:column;min-width:0}.thread-tile-body{border:none;background:transparent;text-align:left;width:100%;cursor:pointer;padding:.85rem .85rem .45rem}.thread-tile-body:hover{background:#fbfcff}.thread-tile-actions{display:flex;align-items:center;gap:.15rem;padding:.25rem .6rem .55rem;flex-wrap:wrap}.thread-tile-action{border:none;background:transparent;color:var(--muted);border-radius:999px;padding:.3rem .55rem;font-size:.8rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.25rem}.thread-tile-action:hover{background:#f0f3f8;color:var(--ink)}.thread-tile-action-open{color:var(--link)}.thread-tile-action-open:hover{background:#eef2ff;color:var(--link)}.thread-tile-actions .status-badge{margin-left:auto}.thread-tile-actions .manager-tag{font-size:.76rem}.subtask-progress-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--muted);padding:.15rem .5rem;background:var(--panel-soft);border-radius:6px;margin-left:auto}.subtask-progress-pill-bar{width:36px;height:5px;background:var(--line);border-radius:3px;overflow:hidden}.subtask-progress-pill-fill{display:block;height:100%;background:var(--success);border-radius:3px;transition:width .3s ease}.subtask-progress-pill-text{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.thread-tile-actions .subtask-progress-pill+.status-badge{margin-left:0}.thread-tile-preview{margin-top:.6rem;border-top:1px solid #e9eef6;padding-top:.6rem}.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.post-header{display:grid;grid-gap:.35rem;gap:.35rem}.post-meta-line{margin:0;display:flex;flex-wrap:wrap;gap:.25rem .55rem;color:var(--muted);font-size:.82rem}.post-meta-line span+span:before{content:"•";margin-right:.55rem;color:#98a3b2}.thread-tile-title{margin:.2rem 0 0;font-size:1.08rem;line-height:1.2;text-align:left}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.3rem .6rem;font-size:.79rem;font-weight:800;border:1px solid transparent;flex-shrink:0}.status-not-started{background:#eceff4;color:#505866;border-color:#d8e0ea}.status-progress{background:#e1edff;color:#1f5fbf;border-color:#bfd6ff}.status-blocked{background:#ffe4dc;color:#9e2f1f;border-color:#f5c0b3}.status-done{background:#def4e6;color:#1e7444;border-color:#bde2c8}.modal-close-button{border:1px solid var(--line);background:#f6f8fc;color:var(--muted);border-radius:999px;width:32px;height:32px;display:grid;place-items:center;font-size:.8rem;font-weight:700;cursor:pointer;flex-shrink:0}.modal-close-button:hover{background:#ecf0f8;color:var(--ink)}.thread-modal-footer{margin-top:.75rem;padding-top:.65rem;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.editable-field{cursor:pointer}.editable-field:after{content:" ✎";font-size:.72em;opacity:.35;margin-left:.15rem;font-weight:400;vertical-align:middle}.editable-field:hover:after{opacity:.65}.status-badge.editable-field:hover{opacity:.8;outline:2px dashed currentColor;outline-offset:2px}.inline-edit-title{width:100%;font-size:1.25rem;font-weight:700;line-height:1.3;border:none;border-bottom:2px solid var(--accent,#3b82f6);border-radius:0;background:transparent;padding:.1rem 0;margin:.35rem 0 0;color:var(--ink);outline:none}.inline-edit-owner{font-size:.82rem;color:var(--muted);border:none;border-bottom:1px solid var(--accent,#3b82f6);border-radius:0;background:transparent;padding:.05rem 0;outline:none;width:12rem}.inline-edit-status{font-size:.79rem;font-weight:800;border-radius:999px;padding:.3rem .55rem;border:1px solid var(--line);background:#f6f8fc;color:var(--ink);cursor:pointer;outline:none}.inline-edit-actions{display:flex;gap:.4rem;justify-content:flex-end}.inline-edit-btn{padding:.3rem .7rem;font-size:.82rem;border-radius:8px}.inline-delete-button{border:none;background:transparent;color:var(--muted);font-size:.8rem;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.inline-delete-button:hover{color:#9e2f1f}.update-meta{margin:0;color:var(--muted);font-size:.8rem}.update-note{margin:.3rem 0 0;white-space:pre-wrap;line-height:1.35}.manager-tag{color:#824f0f;font-weight:700}.toast{padding:.75rem .85rem;margin-bottom:.9rem;font-weight:700}.toast.error{background:var(--danger-bg);color:var(--danger);border-color:#efc4b8}.toast.success{background:var(--success-bg);color:var(--success);border-color:#bfdcc9}.empty-state{padding:1.1rem;text-align:center;background:rgba(255,255,255,.8);border:1px dashed #cdd7e6;border-radius:14px;color:var(--muted)}.login-shell{min-height:100svh;display:flex;flex-direction:column;background:#faf8f5;font-family:var(--font-dm-sans),ui-sans-serif,system-ui,sans-serif;color:#1a1814}.login-hero{background:linear-gradient(135deg,#1a1814,#2c2520);padding:3.5rem 1.5rem 3rem;position:relative;overflow:hidden}.login-hero:before{background:radial-gradient(ellipse at 20% 90%,rgba(196,80,28,.18) 0,transparent 55%),radial-gradient(ellipse at 80% 10%,rgba(212,137,10,.12) 0,transparent 50%)}.login-hero:after,.login-hero:before{content:"";position:absolute;inset:0;pointer-events:none}.login-hero:after{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E")}.login-hero-inner{max-width:440px;margin:0 auto;position:relative;z-index:1}.login-eyebrow{margin:0;color:#c4501c;font-weight:800;letter-spacing:.06em;text-transform:lowercase;font-size:.78rem}.login-title{margin:.3rem 0 0;font-family:var(--font-instrument-serif),Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,7vw,3.2rem);font-weight:400;line-height:1.05;color:#fff;letter-spacing:-.01em}.login-body{flex:1 1;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1.5rem 3rem}.login-card{width:min(100%,440px);background:#fff;border:1px solid rgba(44,37,32,.08);border-radius:16px;box-shadow:0 1px 3px rgba(26,24,20,.04),0 8px 24px rgba(26,24,20,.06);padding:1.75rem 1.5rem}.login-heading{margin:0;font-family:var(--font-dm-sans),sans-serif;font-size:1.15rem;font-weight:700;color:#1a1814}.login-subtitle{margin:.4rem 0 0;color:#6b6560;font-size:.88rem;line-height:1.5}.login-error{background:#fde4dc;border:1px solid #f0c4b8;border-radius:10px;color:#9e2f1f}.login-error,.login-info{margin-top:1rem;padding:.65rem .85rem;font-size:.85rem;font-weight:500;line-height:1.45}.login-info{background:var(--success-bg,#e6f4ea);border:1px solid #b7dfc0;border-radius:10px;color:#1e6e34}.login-google-button{margin-top:1.25rem;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.75rem 1rem;background:#1a1814;color:#faf8f5;font-weight:700;font-size:.92rem;border:none;border-radius:10px;cursor:pointer;transition:background .15s,transform .1s}.login-google-button:hover{background:#2c2520}.login-google-button:active{transform:scale(.98)}.login-google-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.login-new-user-note{line-height:1.4}.login-domain-note,.login-new-user-note{margin:1rem 0 0;font-size:.78rem;color:#a09890;text-align:center}.login-domain-note{font-weight:500;letter-spacing:.01em}.subtask-section{border-top:1px solid var(--line);padding-top:1rem;margin-top:.1rem;margin-bottom:0}.subtask-progress-bar-wrap{margin-bottom:.75rem}.subtask-progress-bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden}.subtask-progress-fill{height:100%;background:var(--success);border-radius:3px;transition:width .3s ease}.subtask-add-form{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.subtask-add-name{flex:1 1;min-width:180px}.subtask-add-date{width:180px}.subtask-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.subtask-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .65rem;border-radius:8px;background:var(--panel-soft);transition:background .15s}.subtask-item:hover{background:var(--bg-2)}.subtask-completed{opacity:.6}.subtask-completed .subtask-name{text-decoration:line-through;color:var(--muted)}.subtask-checkbox{width:22px;height:22px;min-width:22px;border:2px solid var(--line);border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.75rem;font-weight:700;color:transparent;transition:all .15s;padding:0}.subtask-checkbox.checked,.subtask-checkbox:hover{border-color:var(--success)}.subtask-checkbox.checked{background:var(--success);color:#fff}.subtask-checkbox.readonly{cursor:default}.subtask-checkbox.readonly:hover{border-color:var(--line)}.subtask-checkbox.readonly.checked:hover{border-color:var(--success)}.subtask-name{flex:1 1;font-size:.9rem;line-height:1.35}.subtask-due{font-size:.75rem;color:var(--muted);white-space:nowrap;background:var(--bg);padding:.15rem .5rem;border-radius:4px}.subtask-delete-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.7rem;padding:.2rem .35rem;border-radius:4px;opacity:0;transition:opacity .15s,color .15s}.subtask-item:hover .subtask-delete-btn{opacity:1}.subtask-delete-btn:hover{color:var(--danger);background:var(--danger-bg)}@media (max-width:600px){.subtask-add-form{flex-direction:column}.subtask-add-date{width:100%}.subtask-delete-btn{opacity:1}}.timeline-section{margin-top:.1rem;margin-bottom:0}.comments-section,.timeline-section{border-top:1px solid var(--line);padding-top:1rem}.comments-section{margin-top:1rem}.timeline-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem;gap:.75rem}.section-heading{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#38404b;display:flex;gap:.45rem}.section-count,.section-heading{font-weight:800;align-items:center}.section-count{display:inline-flex;justify-content:center;background:#e8ecf4;color:var(--muted);border-radius:999px;font-size:.72rem;padding:.1rem .45rem;min-width:1.4rem}.timeline-post-btn{border:1px solid #ffd1c2;background:#fff1eb;color:#7d2f1c;border-radius:999px;padding:.35rem .75rem;font-size:.82rem;font-weight:800;cursor:pointer;white-space:nowrap;flex-shrink:0}.timeline-post-btn:hover{background:#ffe3d6}.timeline-empty{color:var(--muted);font-size:.88rem;margin:0 0 .75rem}.timeline-list{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column;gap:0}.timeline-item{display:grid;grid-template-columns:20px 1fr;grid-template-rows:auto 1fr;grid-column-gap:.65rem;column-gap:.65rem;position:relative}.timeline-dot{grid-column:1;grid-row:1;width:12px;height:12px;border-radius:999px;background:var(--accent);border:2px solid #fff;box-shadow:0 0 0 2px var(--accent);justify-self:center;margin-top:.25rem;flex-shrink:0;z-index:1}.timeline-connector{grid-column:1;grid-row:2;width:2px;background:#e0e6f0;justify-self:center;min-height:1rem}.timeline-content{grid-column:2;grid-row:1/3;padding-bottom:1.1rem}.timeline-date-row{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-bottom:.3rem}.timeline-date{font-size:.82rem;font-weight:800;color:var(--ink)}.timeline-author{font-size:.78rem;color:var(--muted)}.timeline-note{margin:0;line-height:1.5;white-space:pre-wrap;font-size:.95rem}.update-form{background:#f9fafc;border:1px solid var(--line);border-radius:12px;padding:.85rem;margin-bottom:1rem;display:grid;grid-gap:.65rem;gap:.65rem}.update-form-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.comments-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.comment-item{display:flex;gap:.6rem;align-items:flex-start}.comment-avatar-circle{width:34px;height:34px;border-radius:999px;background:#e8ecf8;color:#3a4a7a;display:grid;place-items:center;font-weight:800;font-size:.84rem;flex-shrink:0;margin-top:.05rem;border:1px solid #d2d9ef;-webkit-user-select:none;-moz-user-select:none;user-select:none}.comment-body{flex:1 1;min-width:0;background:var(--panel-soft);border:1px solid #e3e9f2;border-radius:14px;border-top-left-radius:4px;padding:.65rem .75rem}.comment-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.3rem}.comment-meta{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap;min-width:0}.comment-author{font-size:.86rem;font-weight:700;color:var(--ink)}.comment-time{font-size:.76rem;font-weight:400;color:var(--muted);white-space:nowrap}.comment-note{margin:0;font-size:.93rem;line-height:1.5;white-space:pre-wrap;color:var(--ink)}.comment-image-link{display:block;margin-top:.65rem;border-radius:10px;overflow:hidden;border:1px solid var(--line);max-width:420px}.comment-image{display:block;width:100%;max-height:300px;object-fit:cover}.comment-delete-btn{border:none;background:transparent;color:#c0c8d4;font-size:.72rem;font-weight:700;cursor:pointer;padding:.15rem .3rem;border-radius:4px;line-height:1;flex-shrink:0}.comment-delete-btn:hover{background:#f5e0e0;color:var(--danger)}.comment-compose{margin-top:.5rem;background:var(--panel-soft);border:1px solid #e3e9f2;border-radius:14px;padding:.75rem;display:grid;grid-gap:.55rem;gap:.55rem}.comment-textarea{resize:vertical;min-height:80px;border-radius:10px;font-size:.94rem;width:100%}.comment-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.comment-submit-btn{padding:.55rem 1.2rem;font-size:.9rem}.thread-tile-description{margin:.25rem 0 0;color:var(--muted);font-size:.84rem;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.thread-tile-goal{margin:.2rem 0 0;font-size:.78rem;font-weight:700;color:#5a3ea0}.compose-field-optional{font-weight:400;color:#98a3b2}.compose-two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:.65rem;gap:.65rem}.desc-char-count{font-size:.75rem;color:#98a3b2;text-align:right}.fb-shell{--fb-cream:#faf8f5;--fb-warm-gray:#f0ece6;--fb-charcoal:#1a1814;--fb-espresso:#2c2520;--fb-burnt:#c4501c;--fb-sage:#3d6b52;--fb-sidebar-w:280px;min-height:100svh;background:var(--fb-cream);color:var(--fb-charcoal);font-family:var(--font-dm-sans),ui-sans-serif,system-ui,sans-serif}.fb-navbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:rgba(250,248,245,.88);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid rgba(44,37,32,.08)}.fb-navbar-inner{max-width:1200px;margin:0 auto;justify-content:space-between;padding:.55rem 1rem}.fb-brand,.fb-navbar-inner{display:flex;align-items:center}.fb-brand{gap:.5rem;color:var(--fb-charcoal)}.fb-brand-icon{color:var(--fb-burnt)}.fb-brand-name{font-family:var(--font-instrument-serif),Georgia,serif;font-size:1.25rem;font-weight:400;letter-spacing:-.01em}.fb-account-btn{display:flex;align-items:center;gap:.4rem;border:1px solid transparent;background:transparent;padding:.25rem .45rem .25rem .25rem;border-radius:999px;cursor:pointer;transition:background .15s}.fb-account-btn:hover{background:rgba(44,37,32,.05);border-color:rgba(44,37,32,.06)}.fb-account-avatar{width:30px;height:30px;border-radius:999px;background:var(--fb-warm-gray);color:#6b6359;display:grid;place-items:center;font-weight:800;font-size:.8rem;border:1px solid rgba(44,37,32,.08);overflow:hidden;flex-shrink:0}.fb-account-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:999px}.fb-account-name{font-size:.84rem;font-weight:600;white-space:nowrap;color:var(--fb-charcoal)}.fb-account-caret{color:#8a8279}.fb-account-backdrop{position:fixed;inset:0;z-index:18}.fb-account-dropdown{position:absolute;right:0;top:calc(100% + .4rem);width:min(88vw,260px);background:#fff;border:1px solid rgba(44,37,32,.1);border-radius:14px;box-shadow:0 12px 40px rgba(26,24,20,.14);padding:.5rem;z-index:20;animation:fb-dropdown-in .15s ease}@keyframes fb-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.fb-account-dropdown-header{padding:.5rem .6rem;border-bottom:1px solid rgba(44,37,32,.06);margin-bottom:.3rem}.fb-account-dropdown-name{margin:0;font-weight:700;font-size:.88rem}.fb-account-dropdown-email{margin:0;font-size:.76rem;color:#8a8279;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-account-dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .6rem;font-size:.84rem;color:var(--fb-charcoal);text-decoration:none;border-radius:8px;border:none;background:transparent;cursor:pointer;text-align:left;font-family:inherit;transition:background .12s}.fb-account-dropdown-item svg{color:#8a8279;flex-shrink:0}.fb-account-dropdown-item:hover{background:var(--fb-cream)}.fb-signout-btn,.fb-signout-btn svg{color:#9e2f1f}.fb-layout{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:var(--fb-sidebar-w) 1fr;grid-gap:1.5rem;gap:1.5rem;padding:1.25rem 1rem 3rem;align-items:start}.fb-sidebar{position:-webkit-sticky;position:sticky;top:58px;display:flex;flex-direction:column;gap:.85rem}.fb-sidebar-hero{background:linear-gradient(135deg,var(--fb-charcoal) 0,var(--fb-espresso) 100%);border-radius:16px;padding:1.25rem;position:relative;overflow:hidden}.fb-sidebar-hero:before{background:radial-gradient(ellipse at 20% 90%,rgba(196,80,28,.18) 0,transparent 60%),radial-gradient(ellipse at 80% 10%,rgba(212,137,10,.1) 0,transparent 50%)}.fb-sidebar-hero:after,.fb-sidebar-hero:before{content:"";position:absolute;inset:0;pointer-events:none}.fb-sidebar-hero:after{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E")}.fb-hero-title{margin:0;font-family:var(--font-instrument-serif),Georgia,serif;font-size:1.65rem;font-weight:400;color:#fff;line-height:1.1;position:relative;z-index:1}.fb-hero-sub{margin:.45rem 0 0;font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.45;position:relative;z-index:1}.fb-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:.45rem;gap:.45rem}.fb-stat{background:#fff;border:1px solid rgba(44,37,32,.06);border-radius:12px;padding:.65rem .75rem;display:flex;flex-direction:column;gap:.1rem}.fb-stat-value{font-size:1.2rem;font-weight:800;color:var(--fb-charcoal);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fb-stat-label{font-size:.7rem;font-weight:600;color:#8a8279;text-transform:uppercase;letter-spacing:.04em}.fb-stat-warn{border-color:rgba(196,80,28,.15)}.fb-stat-warn .fb-stat-value{color:var(--fb-burnt)}.fb-stat-good{border-color:rgba(61,107,82,.15)}.fb-stat-good .fb-stat-value{color:var(--fb-sage)}.fb-stat-progress .fb-stat-value{color:#1f5fbf}.fb-new-post-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.7rem 1rem;font-size:.9rem;font-weight:700;font-family:inherit;border:none;background:var(--fb-charcoal);color:#fff;border-radius:12px;cursor:pointer;transition:background .15s}.fb-new-post-btn:hover{background:var(--fb-espresso)}.fb-feedback-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;padding:.6rem 1rem;margin-top:.5rem;font-size:.82rem;font-weight:600;font-family:inherit;border:1.5px solid var(--fb-charcoal);background:transparent;color:var(--fb-charcoal);border-radius:12px;cursor:pointer;transition:background .15s,color .15s}.fb-feedback-btn:hover{background:var(--fb-charcoal);color:#fff}.fb-feedback-overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:999;opacity:0;transition:opacity .2s ease;pointer-events:none}.fb-feedback-overlay.fb-feedback-visible{opacity:1;pointer-events:auto}.fb-feedback-drawer{position:fixed;bottom:0;right:0;width:380px;max-height:420px;background:var(--fb-cream);border-top-left-radius:16px;box-shadow:-4px -4px 24px rgba(0,0,0,.12);z-index:1000;display:flex;flex-direction:column;transform:translateY(100%);opacity:0;pointer-events:none;transition:transform .25s ease,opacity .2s ease}.fb-feedback-drawer.fb-feedback-visible{transform:translateY(0);opacity:1;pointer-events:auto}.fb-feedback-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid var(--fb-warm-gray)}.fb-feedback-header h3{margin:0;font-size:.95rem;font-weight:700;color:var(--fb-charcoal)}.fb-feedback-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--fb-charcoal);padding:.2rem;line-height:1}.fb-feedback-body{padding:1rem 1.2rem;flex:1 1;display:flex;flex-direction:column;gap:.75rem}.fb-feedback-textarea{flex:1 1;min-height:120px;resize:vertical;border:1.5px solid var(--fb-warm-gray);border-radius:10px;padding:.75rem;font-family:inherit;font-size:.88rem;background:#fff;color:var(--fb-charcoal);transition:border-color .15s}.fb-feedback-textarea:focus{outline:none;border-color:var(--fb-charcoal)}.fb-feedback-actions{display:flex;gap:.5rem;justify-content:flex-end}.fb-feedback-submit{padding:.55rem 1.2rem;font-size:.85rem;font-weight:700;font-family:inherit;border:none;background:var(--fb-charcoal);color:#fff;border-radius:10px;cursor:pointer;transition:background .15s}.fb-feedback-submit:hover{background:var(--fb-espresso)}.fb-feedback-submit:disabled{opacity:.5;cursor:not-allowed}.fb-feedback-cancel{padding:.55rem 1rem;font-size:.85rem;font-weight:600;font-family:inherit;border:1.5px solid var(--fb-warm-gray);background:transparent;color:var(--fb-charcoal);border-radius:10px;cursor:pointer;transition:background .15s}.fb-feedback-cancel:hover{background:var(--fb-warm-gray)}.fb-sort-bar{display:flex;align-items:center;gap:.5rem;margin-bottom:.85rem;flex-wrap:wrap}.fb-sort-label{font-size:.75rem;font-weight:600;color:#8a8279;text-transform:uppercase;letter-spacing:.04em}.fb-sort-tabs{display:flex;gap:.2rem;background:rgba(44,37,32,.04);border-radius:8px;padding:.15rem}.fb-sort-tab{border:none;background:transparent;color:#8a8279;font-size:.78rem;font-weight:600;padding:.3rem .65rem;border-radius:6px;cursor:pointer;transition:all .15s;font-family:inherit}.fb-sort-active,.fb-sort-tab:hover{color:var(--fb-charcoal)}.fb-sort-active{background:#fff;box-shadow:0 1px 3px rgba(26,24,20,.06)}.fb-feed-count{margin-left:auto;font-size:.75rem;color:#a89e94}.fb-toast{margin-bottom:.75rem}.fb-feed{display:flex;flex-direction:column;gap:.55rem}.fb-empty{padding:2rem 1.25rem;text-align:center;background:#fff;border:1px dashed rgba(44,37,32,.12);border-radius:16px;color:#a89e94;font-size:.92rem}.fb-card{display:grid;grid-template-columns:94px 1fr;background:#fff;border:1px solid rgba(44,37,32,.06);border-radius:14px;overflow:hidden;box-shadow:0 1px 3px rgba(26,24,20,.03);transition:border-color .15s,box-shadow .15s;animation:fb-card-in .3s ease both}@keyframes fb-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fb-card:hover{border-color:rgba(44,37,32,.12);box-shadow:0 4px 16px rgba(26,24,20,.06)}.fb-card-rail{background:rgba(44,37,32,.02);border-right:1px solid rgba(44,37,32,.05);padding:.75rem .45rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;overflow:hidden}.fb-card-status-dot{width:12px;height:12px;border-radius:999px;flex-shrink:0}.fb-card-status-dot.status-not-started{background:#b5b8c1}.fb-card-status-dot.status-progress{background:#2e7bdc}.fb-card-status-dot.status-blocked{background:#d34b2e}.fb-card-status-dot.status-done{background:#2da561}.fb-card-update-count{font-weight:800;font-size:.95rem;color:var(--fb-charcoal);line-height:1}.fb-card-update-label{font-size:.62rem;color:#a89e94;text-transform:uppercase;letter-spacing:.04em;font-weight:600;text-align:center;white-space:nowrap}.fb-card-body{display:flex;flex-direction:column;min-width:0}.fb-card-link{display:block;text-decoration:none;color:inherit;padding:.85rem .95rem .5rem;transition:background .12s}.fb-card-link:hover{background:rgba(250,248,245,.6)}.fb-card-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.fb-card-poster{font-size:.78rem;color:#8a8279}.fb-card-time{font-size:.75rem;color:#b5ada4}.fb-card-time:before{content:"\00b7";margin-right:.5rem}.fb-card-title{margin:0;font-size:1.02rem;font-weight:700;line-height:1.25;color:var(--fb-charcoal)}.fb-card-desc{margin:.2rem 0 0;font-size:.84rem;color:#6b6359;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.fb-card-preview{margin-top:.55rem;padding-top:.5rem;border-top:1px solid rgba(44,37,32,.05)}.fb-card-preview-meta{margin:0;font-size:.76rem;color:#8a8279}.fb-card-preview-meta strong{color:#6b6359}.fb-card-preview-note{margin:.15rem 0 0;font-size:.86rem;line-height:1.4;color:#3d3830;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.fb-card-actions{display:flex;align-items:center;gap:.15rem;padding:.3rem .65rem .6rem;flex-wrap:wrap}.fb-card-action{border:none;background:transparent;color:#8a8279;border-radius:999px;padding:.3rem .55rem;font-size:.78rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;text-decoration:none;font-family:inherit;transition:background .12s,color .12s}.fb-card-action:hover{background:var(--fb-cream);color:var(--fb-charcoal)}.fb-card-action-open{color:var(--fb-burnt)}.fb-card-action-open:hover{background:rgba(196,80,28,.06);color:var(--fb-burnt)}.fb-card-actions-right{display:flex;align-items:center;gap:.4rem;margin-left:auto}.fb-card-progress{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;color:#8a8279;padding:.15rem .45rem;background:var(--fb-cream);border-radius:6px}.fb-card-progress-bar{width:32px;height:4px;background:rgba(44,37,32,.08);border-radius:2px;overflow:hidden}.fb-card-progress-fill{display:block;height:100%;background:var(--fb-sage);border-radius:2px;transition:width .3s ease}.fb-card-progress-text{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fb-card-goal{font-size:.72rem;font-weight:700;color:#6b4fa0;white-space:nowrap}.fb-card-op{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#8b5e14;background:#fef3e2;padding:.15rem .4rem;border-radius:4px;border:1px solid #f0ddb2}.fb-new-project{background:#fff;border:1px solid rgba(44,37,32,.08);border-radius:16px;padding:1.1rem;margin-bottom:.85rem;box-shadow:0 2px 8px rgba(26,24,20,.05);animation:fb-card-in .2s ease}.fb-new-project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem}.fb-new-project-title{margin:0;font-family:var(--font-instrument-serif),Georgia,serif;font-size:1.25rem;font-weight:400}.fb-new-project-sub{margin:.15rem 0 0;font-size:.82rem;color:#8a8279}.fb-new-project-close{border:none;background:rgba(44,37,32,.04);color:#8a8279;border-radius:999px;width:30px;height:30px;display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:background .12s}.fb-new-project-close:hover{background:rgba(44,37,32,.08);color:var(--fb-charcoal)}.fb-new-project-form{display:grid;grid-gap:.7rem;gap:.7rem}.fb-field{display:grid;grid-gap:.25rem;gap:.25rem}.fb-field-label{font-size:.76rem;font-weight:600;color:#6b6359;text-transform:uppercase;letter-spacing:.04em}.fb-field-hint{font-weight:400;text-transform:none;letter-spacing:0;color:#a89e94}.fb-field input,.fb-field select,.fb-field textarea{font-family:var(--font-dm-sans),ui-sans-serif,system-ui,sans-serif;font-size:.9rem;padding:.6rem .7rem;border:1px solid rgba(44,37,32,.12);border-radius:10px;background:var(--fb-cream);color:var(--fb-charcoal)}.fb-field input:focus,.fb-field select:focus,.fb-field textarea:focus{border-color:var(--fb-burnt);outline:none;box-shadow:0 0 0 2px rgba(196,80,28,.1)}.fb-char-count{font-size:.72rem;color:#a89e94;text-align:right}.fb-char-count-over{color:var(--danger)}.fb-field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.65rem;gap:.65rem}.fb-form-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem;margin-top:.25rem}.fb-btn-cancel{border:1px solid rgba(44,37,32,.12);background:#fff;color:var(--fb-charcoal);padding:.6rem .85rem;border-radius:10px;font-size:.88rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s}.fb-btn-cancel:hover{background:var(--fb-cream)}.fb-btn-submit{border:none;background:var(--fb-charcoal);color:#fff;padding:.6rem .85rem;border-radius:10px;font-size:.88rem;font-weight:700;cursor:pointer;font-family:inherit;transition:background .12s}.fb-btn-submit:hover{background:var(--fb-espresso)}.fb-btn-submit:disabled{opacity:.5;cursor:not-allowed}@media (max-width:860px){.fb-layout{gap:1rem;padding:1rem .75rem 3rem}.fb-layout,.fb-sidebar{grid-template-columns:1fr}.fb-sidebar{position:static;display:grid;grid-gap:.75rem;gap:.75rem}.fb-stats{grid-template-columns:repeat(4,1fr)}.fb-stat{padding:.5rem .6rem;align-items:center;text-align:center}.fb-stat-value{font-size:1.05rem}}@media (max-width:500px){.fb-navbar-inner{padding:.5rem .65rem}.fb-layout{padding:.65rem .55rem 3rem}.fb-stats{grid-template-columns:1fr 1fr}.fb-card{grid-template-columns:74px 1fr;border-radius:12px}.fb-card-rail{padding:.6rem .35rem}.fb-card-link{padding:.7rem .7rem .4rem}.fb-card-actions{padding:.25rem .5rem .5rem}.fb-card-actions-right .status-badge{font-size:.72rem;padding:.2rem .45rem}.fb-field-row,.fb-form-actions{grid-template-columns:1fr}.fb-sort-bar{gap:.35rem}.fb-feed-count{display:none}.fb-new-post-btn{min-height:44px}.fb-feedback-drawer{width:100%;border-top-left-radius:16px;border-top-right-radius:16px}}.tp-shell{--tp-cream:#faf8f5;--tp-warm-gray:#f0ece6;--tp-charcoal:#1a1814;--tp-espresso:#2c2520;--tp-burnt:#c4501c;--tp-amber:#d4890a;--tp-sage:#3d6b52;--tp-sidebar-w:260px;min-height:100svh;background:var(--tp-cream);color:var(--tp-charcoal);font-family:var(--font-dm-sans),ui-sans-serif,system-ui,sans-serif;padding:0 0 env(safe-area-inset-bottom,2rem)}.tp-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:rgba(250,248,245,.85);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid rgba(44,37,32,.08)}.tp-topbar-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem}.tp-back{display:inline-flex;align-items:center;gap:.3rem;color:var(--tp-espresso);font-weight:600;font-size:.88rem;text-decoration:none;padding:.35rem .55rem;border-radius:8px;transition:background .15s}.tp-back:hover{background:rgba(44,37,32,.06)}.tp-topbar-right{display:flex;align-items:center;gap:.5rem}.tp-toast{max-width:1100px;margin:0 auto;padding:.75rem 1rem}.tp-hero{background:linear-gradient(135deg,var(--tp-charcoal) 0,var(--tp-espresso) 100%);padding:2.5rem 1rem 2rem;position:relative;overflow:hidden}.tp-hero:before{background:radial-gradient(ellipse at 15% 80%,rgba(196,80,28,.15) 0,transparent 60%),radial-gradient(ellipse at 85% 20%,rgba(212,137,10,.1) 0,transparent 50%)}.tp-hero:after,.tp-hero:before{content:"";position:absolute;inset:0;pointer-events:none}.tp-hero:after{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E")}.tp-hero-inner{max-width:1100px;margin:0 auto;position:relative;z-index:1}.tp-hero-eyebrow{display:flex;align-items:center;gap:.6rem;margin-bottom:.65rem}.tp-hero-poster{font-size:.82rem;font-weight:500;color:rgba(255,255,255,.55);letter-spacing:.01em}.tp-hero-time{font-size:.78rem;color:rgba(255,255,255,.35)}.tp-hero-time:before{content:"\00b7";margin-right:.6rem}.tp-title{margin:0;font-family:var(--font-instrument-serif),Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,5vw,2.8rem);line-height:1.08;font-weight:400;color:#fff;letter-spacing:-.01em}.tp-title.editable-field{cursor:pointer;transition:opacity .15s}.tp-title.editable-field:after{content:" \270E";font-size:.5em;opacity:.25;font-family:var(--font-dm-sans),sans-serif;vertical-align:middle;margin-left:.25rem}.tp-title.editable-field:hover{opacity:.85}.tp-title.editable-field:hover:after{opacity:.6}.tp-title-input{width:100%;font-family:var(--font-instrument-serif),Georgia,serif;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:400;line-height:1.08;border:none;border-bottom:2px solid var(--tp-burnt);border-radius:0;background:transparent;padding:.1rem 0;color:#fff;outline:none;letter-spacing:-.01em}.tp-description{margin:.6rem 0 0;color:rgba(255,255,255,.6);font-size:1rem;line-height:1.55;max-width:640px}.tp-description-empty{color:rgba(255,255,255,.25);font-style:italic;font-size:.9rem}.tp-description.editable-field{cursor:pointer;transition:color .15s}.tp-description.editable-field:after{font-size:.72em;opacity:.35;color:rgba(255,255,255,.5)}.tp-description.editable-field:hover{color:rgba(255,255,255,.85)}.tp-desc-edit{margin:.6rem 0 0;display:grid;grid-gap:.4rem;gap:.4rem;max-width:640px}.tp-desc-input{width:100%;font-size:.95rem;line-height:1.5;resize:none;border-color:var(--tp-burnt);background:rgba(255,255,255,.1);color:#fff;border-radius:8px;padding:.6rem .75rem}.tp-desc-input::placeholder{color:rgba(255,255,255,.3)}.tp-desc-edit-actions{display:flex;gap:.4rem;justify-content:flex-end;align-items:center}.tp-char-count{font-size:.75rem;color:rgba(255,255,255,.35);margin-right:auto}.tp-char-count-over{color:var(--danger)}.tp-btn-ghost{border:1px solid rgba(255,255,255,.2);background:transparent;color:rgba(255,255,255,.7);padding:.35rem .75rem;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s}.tp-btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}.tp-btn-save{border:none;background:var(--tp-burnt);color:#fff;padding:.35rem .85rem;border-radius:8px;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s}.tp-btn-save:hover{background:#d4601c}.tp-btn-save:disabled{opacity:.5;cursor:not-allowed}.tp-body{padding:0 1rem}.tp-body-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:var(--tp-sidebar-w) 1fr;grid-gap:1.75rem;gap:1.75rem;align-items:start;padding-top:1.5rem}.tp-sidebar{position:-webkit-sticky;position:sticky;top:60px;display:flex;flex-direction:column;gap:.75rem}.tp-meta-card{background:#fff;border:1px solid rgba(44,37,32,.08);border-radius:16px;padding:1.1rem;box-shadow:0 1px 3px rgba(26,24,20,.04);display:grid;grid-template-columns:auto 1fr;grid-gap:.4rem .75rem;gap:.4rem .75rem;align-items:center}.tp-meta-label{margin:0;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#8a8279;padding-top:.15rem}.tp-meta-value{font-size:.9rem;font-weight:600;color:var(--tp-charcoal)}.tp-meta-value.editable-field:after{font-size:.72em;opacity:.3}.tp-meta-value.editable-field:hover{color:var(--tp-burnt)}.tp-meta-empty{color:#c0b8ae;font-style:italic;font-weight:400;font-size:.84rem}.tp-meta-empty.editable-field:hover{color:var(--tp-burnt);font-style:normal}.tp-meta-goal{color:#6b4fa0;font-weight:700}.tp-meta-input{font-size:.88rem;padding:.3rem .5rem;border:1px solid var(--tp-burnt);border-radius:8px;background:#fff;color:var(--tp-charcoal);width:100%;outline:none}.tp-meta-input:focus{box-shadow:0 0 0 2px rgba(196,80,28,.15)}.tp-meta-select{font-size:.82rem;font-weight:700;padding:.3rem .5rem;border:1px solid var(--tp-burnt);border-radius:8px;background:#fff;color:var(--tp-charcoal);cursor:pointer;outline:none}.tp-meta-divider{grid-column:1/-1;height:1px;background:rgba(44,37,32,.06);margin:.35rem 0}.tp-meta-tags{grid-column:1/-1;display:flex;gap:.4rem}.tp-tag{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .55rem;border-radius:4px}.tp-tag-op{background:#fef3e2;color:#8b5e14;border:1px solid #f0ddb2}.tp-tag-admin{background:#eef0ff;color:#4a4fb0;border:1px solid #d2d5f0}.tp-progress-ring-wrap{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative;width:56px;height:56px;margin:.25rem auto 0}.tp-progress-ring{width:56px;height:56px;transform:rotate(-90deg)}.tp-progress-track{fill:none;stroke:rgba(44,37,32,.06);stroke-width:4}.tp-progress-fill{fill:none;stroke:var(--tp-sage);stroke-width:4;stroke-linecap:round;transition:stroke-dasharray .4s ease}.tp-progress-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:var(--tp-sage)}.tp-progress-text{grid-column:1/-1;margin:0;font-size:.75rem;color:#8a8279;text-align:center}.tp-sidebar-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 .25rem}.tp-created-date{font-size:.75rem;color:#a89e94}.tp-delete-btn{border:none;background:transparent;color:#a89e94;font-size:.78rem;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.tp-delete-btn:hover{color:#9e2f1f}.tp-main{min-width:0;display:flex;flex-direction:column;gap:0}.tp-section{background:#fff;border:1px solid rgba(44,37,32,.08);border-radius:16px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 1px 3px rgba(26,24,20,.04)}.tp-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.tp-section-title{margin:0;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b6359;display:flex;align-items:center;gap:.45rem}.tp-section-title svg{color:#a89e94}.tp-count{display:inline-flex;align-items:center;justify-content:center;background:var(--tp-warm-gray);color:#6b6359;border-radius:999px;font-size:.7rem;font-weight:800;padding:.1rem .45rem;min-width:1.4rem}.tp-action-btn{border:1px solid rgba(196,80,28,.25);background:rgba(196,80,28,.06);color:var(--tp-burnt);border-radius:999px;padding:.35rem .75rem;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s}.tp-action-btn:hover{background:rgba(196,80,28,.12);border-color:rgba(196,80,28,.4)}.tp-empty{color:#a89e94;font-size:.9rem;margin:0;padding:.5rem 0}.tp-subtask-bar-wrap{margin-bottom:.75rem}.tp-subtask-bar{height:5px;background:var(--tp-warm-gray);border-radius:3px;overflow:hidden}.tp-subtask-bar-fill{height:100%;background:var(--tp-sage);border-radius:3px;transition:width .35s ease}.tp-subtask-form{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.tp-subtask-name-input{flex:1 1;min-width:180px;font-size:.9rem;padding:.55rem .7rem;border:1px solid rgba(44,37,32,.12);border-radius:10px;background:var(--tp-cream)}.tp-subtask-name-input:focus{border-color:var(--tp-burnt);outline:none;box-shadow:0 0 0 2px rgba(196,80,28,.1)}.tp-subtask-date-input{width:160px;font-size:.9rem;padding:.55rem .7rem;border:1px solid rgba(44,37,32,.12);border-radius:10px;background:var(--tp-cream)}.tp-subtask-date-input:focus{border-color:var(--tp-burnt);outline:none;box-shadow:0 0 0 2px rgba(196,80,28,.1)}.tp-subtask-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.tp-subtask-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .65rem;border-radius:10px;transition:background .15s}.tp-subtask-item:hover{background:var(--tp-cream)}.tp-subtask-done{opacity:.55}.tp-subtask-done .tp-subtask-name{text-decoration:line-through;color:#a89e94}.tp-checkbox{width:22px;height:22px;min-width:22px;border:2px solid rgba(44,37,32,.18);border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:transparent;transition:all .15s;padding:0}.tp-checkbox:hover{border-color:var(--tp-sage);background:rgba(61,107,82,.04)}.tp-checkbox.checked{background:var(--tp-sage);border-color:var(--tp-sage);color:#fff}.tp-checkbox.readonly{cursor:default}.tp-checkbox.readonly:hover{border-color:rgba(44,37,32,.18);background:#fff}.tp-checkbox.readonly.checked:hover{border-color:var(--tp-sage);background:var(--tp-sage)}.tp-subtask-name{flex:1 1;font-size:.9rem;line-height:1.35;color:var(--tp-charcoal)}.tp-subtask-due{font-size:.73rem;color:#8a8279;white-space:nowrap;background:var(--tp-warm-gray);padding:.15rem .5rem;border-radius:4px;font-weight:500}.tp-subtask-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto;flex-shrink:0}.tp-subtask-delete,.tp-subtask-edit{background:none;border:none;color:#c0b8ae;cursor:pointer;padding:.2rem;border-radius:4px;opacity:0;transition:opacity .15s,color .15s;display:flex;align-items:center}.tp-subtask-item:hover .tp-subtask-delete,.tp-subtask-item:hover .tp-subtask-edit{opacity:1}.tp-subtask-edit:hover{color:var(--tp-burnt);background:rgba(196,80,28,.08)}.tp-subtask-delete:hover{color:#9e2f1f;background:#fde4dc}.tp-subtask-edit-form{display:flex;gap:.5rem;align-items:center;flex:1 1;flex-wrap:wrap}.tp-btn-cancel{padding:.5rem .9rem;font-size:.85rem;border:1px solid rgba(44,37,32,.12);border-radius:10px;background:var(--tp-cream);color:var(--tp-ink);cursor:pointer;font-weight:500}.tp-btn-cancel:hover{background:var(--tp-warm-gray)}.tp-timeline{list-style:none;margin:0;padding:0}.tp-timeline-item{display:grid;grid-template-columns:24px 1fr;grid-column-gap:.75rem;column-gap:.75rem;animation:tp-fade-in .3s ease both}@keyframes tp-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tp-timeline-marker{display:flex;flex-direction:column;align-items:center;padding-top:.25rem}.tp-timeline-dot{width:10px;height:10px;border-radius:999px;background:var(--tp-burnt);box-shadow:0 0 0 3px rgba(196,80,28,.12);flex-shrink:0}.tp-timeline-line{width:2px;flex:1 1;background:rgba(44,37,32,.08);margin-top:.35rem;min-height:1rem}.tp-timeline-content{padding-bottom:1.25rem}.tp-timeline-head{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-bottom:.3rem}.tp-timeline-date{font-size:.82rem;font-weight:700;color:var(--tp-charcoal)}.tp-timeline-author{font-size:.78rem;color:#8a8279}.tp-timeline-delete-form{margin-left:auto}.tp-timeline-note{margin:0;line-height:1.6;white-space:pre-wrap;font-size:.94rem;color:#3d3830}.tp-timeline-img-link{display:block;margin-top:.75rem;border-radius:12px;overflow:hidden;border:1px solid rgba(44,37,32,.08);max-width:480px;transition:transform .2s ease,box-shadow .2s ease}.tp-timeline-img-link:hover{transform:scale(1.01);box-shadow:0 4px 16px rgba(26,24,20,.1)}.tp-timeline-img{display:block;width:100%;max-height:360px;object-fit:cover}.tp-compose-form{background:var(--tp-cream);border:1px solid rgba(44,37,32,.08);border-radius:12px;padding:.85rem;margin-bottom:1rem;display:grid;grid-gap:.65rem;gap:.65rem}.tp-compose-form input[type=datetime-local],.tp-compose-form textarea{font-family:var(--font-dm-sans),ui-sans-serif,system-ui,sans-serif;font-size:.92rem;padding:.6rem .7rem;border:1px solid rgba(44,37,32,.12);border-radius:10px;background:#fff;color:var(--tp-charcoal);resize:vertical;width:100%}.tp-compose-form input:focus,.tp-compose-form textarea:focus{border-color:var(--tp-burnt);outline:none;box-shadow:0 0 0 2px rgba(196,80,28,.1)}.tp-compose-label{display:grid;grid-gap:.35rem;gap:.35rem}.tp-compose-label>span{font-size:.78rem;font-weight:600;color:#6b6359;text-transform:uppercase;letter-spacing:.04em}.tp-compose-hint{font-weight:400;text-transform:none;letter-spacing:0;color:#a89e94}.tp-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tp-btn-primary{border:none;background:var(--tp-charcoal);color:#fff;padding:.55rem 1.2rem;border-radius:10px;font-size:.88rem;font-weight:700;cursor:pointer;transition:background .15s}.tp-btn-primary:hover{background:#2c2520}.tp-btn-primary:disabled{opacity:.5;cursor:not-allowed}.tp-comments-list{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1rem}.tp-comment{display:flex;gap:.55rem;align-items:flex-start}.tp-comment-avatar{width:34px;height:34px;border-radius:999px;background:var(--tp-warm-gray);color:#6b6359;display:grid;place-items:center;font-weight:700;font-size:.82rem;flex-shrink:0;border:1px solid rgba(44,37,32,.08);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tp-comment-bubble{flex:1 1;min-width:0;background:var(--tp-cream);border:1px solid rgba(44,37,32,.06);border-radius:14px;border-top-left-radius:4px;padding:.65rem .75rem}.tp-comment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.tp-comment-meta{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap;min-width:0}.tp-comment-author{font-size:.86rem;font-weight:700;color:var(--tp-charcoal)}.tp-comment-time{font-size:.76rem;color:#a89e94;white-space:nowrap}.tp-comment-note{margin:0;font-size:.93rem;line-height:1.55;white-space:pre-wrap;color:#3d3830}.tp-comment-img-link{display:block;margin-top:.65rem;border-radius:10px;overflow:hidden;border:1px solid rgba(44,37,32,.08);max-width:380px}.tp-comment-img{display:block;width:100%;max-height:260px;object-fit:cover}.tp-comment-compose{margin-top:.5rem}.tp-icon-delete{border:none;background:transparent;color:#c0b8ae;cursor:pointer;padding:.15rem;border-radius:4px;display:flex;align-items:center;transition:color .15s,background .15s;flex-shrink:0}.tp-icon-delete:hover{color:#9e2f1f;background:#fde4dc}@media (max-width:800px){.tp-body-inner{grid-template-columns:1fr;gap:1rem;padding-top:1rem}.tp-sidebar{position:static}.tp-meta-card{grid-template-columns:auto 1fr auto 1fr}.tp-meta-divider,.tp-meta-tags,.tp-progress-ring-wrap,.tp-progress-text{grid-column:1/-1}.tp-hero{padding:1.75rem 1rem 1.5rem}.tp-title{font-size:clamp(1.5rem,6vw,2.2rem)}.tp-section{border-radius:12px;padding:1rem}}@media (max-width:500px){.tp-body{padding:0 .55rem}.tp-topbar-inner{padding:.5rem .65rem}.tp-hero{padding:1.25rem .75rem 1.15rem}.tp-meta-card{grid-template-columns:auto 1fr;padding:.85rem}.tp-subtask-form{flex-direction:column}.tp-subtask-date-input{width:100%}.tp-subtask-delete,.tp-subtask-edit{opacity:1}.tp-subtask-edit-form{flex-direction:column}.tp-comment-img-link,.tp-timeline-img-link{max-width:100%}.tp-timeline-img{max-height:260px}.tp-comment-img{max-height:220px}.tp-comment-avatar{width:30px;height:30px;font-size:.76rem}.tp-btn-primary{min-height:44px}.image-upload-label{width:44px;height:44px;font-size:1.2rem}}.image-upload-label{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);background:#f6f8fc;border-radius:10px;cursor:pointer;font-size:1.1rem;transition:background .15s;flex-shrink:0}.image-upload-label:hover{background:#ecf0f8}.image-upload-input{display:none}.image-preview-wrap{position:relative;margin-top:.5rem;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.image-preview{display:block;width:100%;max-height:220px;object-fit:cover}.image-preview-remove{position:absolute;top:.4rem;right:.4rem;border:none;background:rgba(20,24,31,.7);color:#fff;border-radius:999px;width:26px;height:26px;display:grid;place-items:center;font-size:.78rem;cursor:pointer;font-weight:700}.update-image-link{display:block;margin-top:.65rem;border-radius:12px;overflow:hidden;border:1px solid var(--line);max-width:520px}.update-image{display:block;width:100%;max-height:360px;object-fit:cover;transition:opacity .15s}.update-image-link:hover .update-image{opacity:.92}@media (max-width:900px){.compose-two-col,.feed-card,.project-post-actions{grid-template-columns:1fr}.feed-card-rail{grid-template-columns:auto auto;align-items:center;justify-content:start;border-right:none;border-bottom:1px solid var(--line);padding:.45rem .7rem}.rail-count{grid-auto-flow:column;display:inline-grid;align-items:center;gap:.35rem}.rail-count-label{margin-top:0;font-size:.74rem}.status-badge{align-self:flex-start}.thread-tile-body{padding:.75rem .75rem .4rem}.modal-card{max-height:92svh;overflow-y:auto;-webkit-overflow-scrolling:touch}.thread-tile-action{min-height:36px;padding:.35rem .65rem}.comment-image-link,.update-image-link{max-width:100%}.comment-image{max-height:240px}.update-image{max-height:280px}.comment-avatar-circle{width:30px;height:30px;font-size:.78rem}.comment-textarea{font-size:1rem;min-height:88px}.comment-submit-btn{min-height:44px}.image-upload-label{width:44px;height:44px;font-size:1.2rem}}@keyframes skel-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skel{background:linear-gradient(90deg,var(--line) 25%,#e8ecf2 37%,var(--line) 63%);background-size:800px 100%;animation:skel-shimmer 1.4s ease infinite;border-radius:6px}.skel-text{display:block}.skel-circle{border-radius:50%}.skel-card{pointer-events:none}.lang-toggle{display:flex;align-items:center;gap:0;background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:2px;cursor:pointer}.lang-toggle-btn{all:unset;cursor:pointer;padding:4px 10px;border-radius:16px;font-size:.7rem;font-weight:600;letter-spacing:.04em;color:var(--muted);transition:background .15s,color .15s;line-height:1}.lang-toggle-btn.lang-active{background:var(--ink);color:#fff}.lang-toggle-btn:hover:not(.lang-active){color:var(--ink)}