@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable.min.css");:root{--surface:#f7f7f4;--panel:#fff;--rail:#edf0ec;--rail-active:#dfe3df;--line:#e4e4df;--line-dark:#d6d7d2;--text:#2f302f;--muted:#6f716f;--faint:#9a9d99;--soft:#f1f2ef;--green:#32b36b;--orange:#c97628;--amber:#d2a72e;--red:#d94a55;--blue:#6570cf;--cyan:#45aeb7;--purple:#7d67d9;--pink:#d54867}body,button,input{font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.md-main,body{background:var(--surface)}.md-header,.md-tabs{background:#f5f6f3;color:var(--text);border-bottom:1px solid var(--line);box-shadow:none}.md-header__title,.md-search__input,.md-tabs__link{color:var(--text)}.md-tabs__link--active,.md-tabs__link:hover{color:#1f211f}.md-search__form{height:32px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:none}.md-sidebar,.md-sidebar__scrollwrap{background:var(--rail)}.md-nav__link,.md-nav__title{color:#3d403d;font-size:13px}.md-nav__link--active,.md-nav__link:hover{color:#171817}.md-main__inner{max-width:1280px}.md-content__inner{max-width:920px;margin:18px auto 32px;padding:24px 28px 34px;border:1px solid var(--line);border-radius:8px;background:#fff}.md-typeset{font-size:.78rem;letter-spacing:-.01em}.md-typeset h1{margin:0 0 10px;color:var(--text);font-size:1.75rem;font-weight:760;letter-spacing:-.035em}.md-typeset h2{margin-top:1.6rem;color:var(--text);font-size:1rem;font-weight:740;letter-spacing:-.02em}.md-typeset h3{color:var(--text);font-size:.88rem;font-weight:720}.md-typeset li,.md-typeset p{color:#555955;line-height:1.72}.md-typeset blockquote{margin:1rem 0;padding:12px 14px;border:1px solid var(--line);border-left:3px solid #bfc3bd;border-radius:7px;background:#fbfbfa;color:#4f534f}.md-typeset table:not(.projects-table table){border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:none}.md-typeset table:not(.projects-table table) td,.md-typeset table:not(.projects-table table) th{border-color:var(--line);font-size:.72rem}.md-typeset code{border:1px solid #dedfd9;border-radius:5px;background:#f3f4f1;color:#343734}.linear-article-page,.linear-list-page{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.linear-page-head{margin-top:75px;padding:0 32px 14px;border-bottom:1px solid var(--line);background:#fff}.linear-page-head:before{content:"Projects     ◇ All projects     Product Roadmap     Roadmap Timeline     8 more...                                      + Create project      Display";height:43px;margin:-75px -32px 28px;border-bottom:1px solid var(--line);background:#fbfbfa;color:#555956;font-weight:660;white-space:pre}.linear-page-head:after,.linear-page-head:before{display:flex;align-items:center;padding:0 32px;font-size:13px}.linear-page-head:after{content:"≡  Filter";height:45px;margin:14px -32px -15px;border-top:1px solid var(--line);background:#fff;color:#4b4e4b;font-weight:680}.linear-page-head .eyebrow{display:inline-flex;margin-bottom:8px;color:var(--faint);font-size:11px;font-weight:760;letter-spacing:.06em;text-transform:uppercase}.linear-page-head h1{margin:0;font-size:1.55rem}.linear-page-head p{max-width:760px;margin:7px 0 0;color:#626662;font-size:13px}.linear-list{display:grid}.linear-list-item{display:grid;grid-template-columns:minmax(0,1fr) 132px 112px 92px;grid-gap:16px;gap:16px;align-items:center;min-height:56px;padding:0 32px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.linear-list-item:last-child{border-bottom:0}.linear-list-item:hover{background:#f8f8f6}.linear-list-title{display:flex;align-items:center;min-width:0;gap:10px}.linear-list-title strong{overflow:hidden;color:#303230;font-size:14px;font-weight:730;text-overflow:ellipsis;white-space:nowrap}.linear-list-date,.linear-list-meta,.linear-list-title em{color:#737773;font-size:12px;font-style:normal}.linear-list-pill{display:inline-flex;width:max-content;align-items:center;min-height:22px;padding:2px 8px;border:1px solid var(--line);border-radius:999px;background:#f3f4f1;color:#5c605c;font-size:12px;font-weight:650}.linear-article-page{padding:0}.linear-article-body{max-width:820px;padding:24px 28px 34px}.linear-article-body>:first-child{margin-top:0}body:has(.linear-app) .md-header,body:has(.linear-app) .md-sidebar,body:has(.linear-app) .md-tabs{display:none}body:has(.linear-app) .md-main__inner{max-width:none;margin:0}body:has(.linear-app) .md-content{min-width:0}body:has(.linear-app) .md-content__inner{margin:0;padding:0;max-width:none;border:0;border-radius:0;background:transparent}body:has(.linear-app) .md-content__inner:after,body:has(.linear-app) .md-content__inner:before{display:none}.md-typeset{color:var(--text)}.md-typeset a{color:inherit}.linear-app{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh;overflow:hidden;background:var(--surface);color:var(--text);font-size:14px;letter-spacing:-.01em}.linear-rail{min-width:0;padding:9px 12px 16px;border-right:1px solid var(--line-dark);background:var(--rail)}.window-dots{display:flex;gap:8px;height:24px;align-items:center;margin-bottom:6px}.window-dots span{width:12px;height:12px;border-radius:50%}.window-dots span:first-child{background:#ff5f57}.window-dots span:nth-child(2){background:#ffbd2e}.window-dots span:nth-child(3){background:#28c840}.workspace-switcher{display:flex;align-items:center;gap:8px;height:36px;margin-bottom:14px;color:#343634}.workspace-logo{display:grid;width:24px;height:24px;place-items:center;border-radius:6px;background:#171817;color:#fff;font-size:12px;font-weight:800}.workspace-switcher strong{flex:1 1;font-size:14px;font-weight:760}.workspace-switcher span{color:var(--muted)}.nav-block,.primary-nav{display:grid;grid-gap:2px;gap:2px;margin-bottom:18px}.nav-block p{margin:0 0 4px;color:#4f514f;font-size:13px}.nav-block a,.primary-nav a{display:flex;align-items:center;gap:9px;height:29px;padding:0 7px;border-radius:5px;color:#363836;font-size:14px;font-weight:560;text-decoration:none}.nav-block a.active,.nav-block a:hover,.primary-nav a:hover{background:var(--rail-active)}.nav-glyph{display:inline-grid;width:17px;place-items:center;color:#4e5351;font-size:15px}.primary-nav em{margin-left:auto;min-width:20px;padding:1px 6px;border-radius:5px;background:#d9ddd8;color:#5e625f;font-size:12px;font-style:normal;text-align:center}.team-chip{display:grid;width:18px;height:18px;place-items:center;border-radius:5px;color:#fff;font-size:11px;font-weight:780}.team-chip.blue{background:#5aa1e6}.team-chip.purple{background:#9a7cf5}.team-chip.mint{background:#57bfa8}.nav-block b{margin-left:auto;color:#5b5e5c;font-weight:650}.project-surface{min-width:0;background:var(--panel)}.project-chrome{display:grid;grid-template-columns:160px 1fr 160px;align-items:center;height:32px;border-bottom:1px solid var(--line);background:#f5f6f3;color:#383a38}.chrome-left,.chrome-right{display:flex;gap:18px;align-items:center;padding:0 16px;color:#555956;font-size:16px}.chrome-title{justify-self:center;font-size:14px;font-weight:760}.chrome-right{justify-content:flex-end}.project-tabs{display:flex;align-items:center;justify-content:space-between;gap:16px;height:43px;padding:0 18px 0 32px;border-bottom:1px solid var(--line);background:#fbfbfa}.tabs-actions,.tabs-left{display:flex;align-items:center;gap:8px;min-width:0}.tab-link{display:inline-flex;align-items:center;height:27px;padding:0 11px;border:1px solid var(--line);border-radius:5px;background:#f3f4f1;color:#555956;font-size:13px;font-weight:620;text-decoration:none;white-space:nowrap}.tab-link.strong{border-color:transparent;background:transparent;color:#292b29;font-size:14px;font-weight:760}.tab-link.active{border-color:#d9dbd6;background:#e9ebe7;color:#2d302d}.tab-link.quiet{border-color:transparent;background:transparent;color:#777b77}.tabs-actions a,.tabs-actions button{display:inline-flex;align-items:center;height:28px;border:0;background:transparent;color:#343734;font-size:13px;font-weight:650;text-decoration:none}.tabs-actions button{padding:0 11px;border:1px solid var(--line);border-radius:5px;background:#f8f8f6}.filter-row{display:flex;align-items:center;gap:8px;height:45px;padding:0 32px;border-bottom:1px solid var(--line);background:#fff;color:#4b4e4b}.filter-row span{color:#555a56;font-size:18px}.filter-row strong{font-size:13px;font-weight:680}.projects-table{width:100%;overflow:hidden}.project-row,.table-head{display:grid;grid-template-columns:minmax(360px,1.65fr) 142px 72px 62px 128px 110px;align-items:center}.table-head{height:32px;color:#686c68;font-size:13px;font-weight:640}.quarter-row,.table-head{padding:0 32px;border-bottom:1px solid var(--line)}.quarter-row{display:flex;align-items:center;height:39px;background:linear-gradient(90deg,#f1f2ef,#fafafa);color:#4d504d}.quarter-row strong{font-size:14px;font-weight:760}.quarter-row span{margin-left:auto;color:#3d403d;font-size:20px}.project-row{min-height:48px;padding:0 32px;border-bottom:1px solid var(--line);color:#343734;text-decoration:none}.project-row:hover{background:#f8f8f6}.editable-project-row,.project-name-link{text-decoration:none}.project-name-link{color:inherit}.name-cell{display:flex;align-items:center;min-width:0;gap:11px}.project-dot{flex:0 0 auto;font-size:17px;line-height:1}.project-dot.orange{color:var(--orange)}.project-dot.green{color:var(--green)}.project-dot.cyan{color:var(--cyan)}.project-dot.indigo{color:var(--blue)}.project-dot.amber{color:#d48931}.project-dot.red{color:var(--red)}.project-dot.pink{color:var(--pink)}.name-cell strong{color:#303230;font-size:14px;font-weight:730}.name-cell em,.name-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-cell em{color:#646864;font-size:13px;font-style:normal}.date-cell,.health-cell,.priority-cell,.status-cell{display:flex;align-items:center;gap:7px;color:#595d59;font-size:13px;font-weight:610}.health-cell.muted{color:#9a9d99}.health-cell.at-risk{color:#b79b18}.ring,.spinner{display:inline-block;width:15px;height:15px;border:2px dotted #b8bbb6;border-radius:50%}.calendar-icon{color:#d53f54;font-size:15px}.lead-cell{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#d8dad6;color:#6f726f;font-size:10px;font-weight:760}.priority-cell.bars{gap:2px;align-items:end;height:19px}.priority-cell.bars i{display:block;width:3px;border-radius:2px;background:#292c29}.priority-cell.bars i:first-child{height:6px}.priority-cell.bars i:nth-child(2){height:10px}.priority-cell.bars i:nth-child(3){height:14px}.priority-cell.bars.high i{background:#1f211f}.priority-cell.muted{color:#777b77;letter-spacing:2px}.status-cell{color:#5c605c}.status-cell.gold{color:#a89018}.status-cell.blue{color:var(--blue)}.status-cell.gold .ring{border-color:#d8bc2d}.status-cell.blue .ring{border-color:var(--blue)}.project-property-input,.project-property-select{min-height:30px;max-width:calc(100% - 10px);border:1px solid transparent;border-radius:7px;background:transparent;color:#343734;font:inherit}.project-property-select{padding:0 24px 0 8px}.project-property-input.lead-cell{display:block;width:46px;height:30px;padding:0 8px;border-radius:7px;background:transparent;text-align:center}.project-property-input:focus,.project-property-input:hover,.project-property-select:focus,.project-property-select:hover{border-color:var(--line);background:#fff;outline:none}.student-project-page{min-height:calc(100vh - 75px);background:#fff}.student-project-hero{display:grid;grid-template-columns:minmax(0,1fr) 250px;grid-gap:24px;gap:24px;padding:30px 32px 24px;border-bottom:1px solid var(--line)}.student-eyebrow{margin:0 0 8px;color:var(--faint);font-size:11px;font-weight:780;letter-spacing:.06em;text-transform:uppercase}.student-project-hero h1{max-width:780px;margin:0;color:var(--text);font-size:2rem;font-weight:790;letter-spacing:-.04em;line-height:1.12}.student-project-hero p{max-width:720px;margin:10px 0 0;color:#5d615d;font-size:14px;line-height:1.65}.student-project-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.student-progress-card p,.student-progress-card span,.student-project-meta>span{color:var(--muted);font-size:12px;font-weight:650}.student-project-meta>span{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:#f7f8f5}.project-property-inline{align-items:center}.project-property-inline .health-cell,.project-property-inline .status-cell{display:inline-flex;align-items:center;gap:6px;color:#595d59;font-size:12px;font-weight:650}.project-property-inline .health-cell.at-risk{color:#b79b18}.project-property-inline .health-cell.muted{color:#9a9d99}.project-meta-input,.project-meta-select,.project-property-inline button{min-height:24px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:12px;font-weight:650}.project-meta-select{max-width:142px;padding:0 24px 0 9px}.project-meta-input{width:54px;padding:0 10px;text-align:center}.project-property-inline button{padding:0 10px;cursor:pointer}.project-meta-input:focus,.project-meta-input:hover,.project-meta-select:focus,.project-meta-select:hover,.project-property-inline button:hover{border-color:#c9cdc6;color:var(--text);outline:none}.student-progress-card{display:flex;min-height:170px;flex-direction:column;justify-content:space-between;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fbfbfa}.student-progress-card strong{color:var(--text);font-size:2.8rem;font-weight:800;letter-spacing:-.04em;line-height:1}.student-progress-track{height:8px;overflow:hidden;border-radius:999px;background:#e5e7e2}.student-progress-track div{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--cyan))}.student-goal-flow{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;padding:22px 32px;border-bottom:1px solid var(--line);background:#fbfbfa}.student-goal-flow:before{content:"";position:absolute;top:42px;right:8%;left:8%;height:2px;background:var(--line-dark)}.student-goal-card{position:relative;min-height:156px;padding:42px 15px 14px;border:1px solid var(--line);border-radius:8px;background:#fff}.student-goal-card:before{content:"";position:absolute;top:14px;left:16px;width:16px;height:16px;border:4px solid #fff;border-radius:50%;background:var(--green);box-shadow:0 0 0 1px var(--line-dark)}.student-goal-card.medium:before{background:var(--amber)}.student-goal-card.long:before{background:var(--blue)}.student-goal-card span,.student-lane-head,.student-record-type{color:var(--faint);font-size:11px;font-weight:780;letter-spacing:.04em;text-transform:uppercase}.student-goal-card strong{display:block;margin-top:6px;color:var(--text);font-size:15px;line-height:1.35}.student-goal-card p{margin:8px 0 0;color:#5e625e;font-size:13px;line-height:1.55}.student-goal-card em{display:inline-flex;margin-top:12px;color:var(--muted);font-size:12px;font-style:normal}.student-board-section{padding:22px 32px;border-bottom:1px solid var(--line)}.student-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.student-section-head h2{margin:0;color:var(--text);font-size:1.15rem;font-weight:780;letter-spacing:-.02em}.student-filter-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.student-filter-row button{min-height:28px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#585c58;font-size:12px;font-weight:680}.student-filter-row button.active,.student-filter-row button:hover{border-color:var(--line-dark);background:#e9ebe7;color:var(--text)}.student-task-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.student-task-lane{min-height:260px;border:1px solid var(--line);border-radius:8px;background:#fbfbfa;overflow:hidden}.student-lane-head{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:0 12px;border-bottom:1px solid var(--line)}.student-lane-head strong{color:#555956}.student-task-list{display:grid;grid-gap:8px;gap:8px;padding:10px}.student-task-card{display:block;padding:11px;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:7px;background:#fff;color:inherit;text-decoration:none}.student-task-card:hover{background:#f7f8f5}.student-task-card.active{border-left-color:var(--orange)}.student-task-card.done{border-left-color:var(--green)}.student-task-title{color:var(--text);font-size:13px;font-weight:700;line-height:1.42}.student-task-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.student-task-meta span{color:var(--muted);font-size:11px;font-weight:650}.student-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.student-record-card{min-height:118px;padding:13px;border:1px solid var(--line);border-top:3px solid var(--cyan);border-radius:8px;background:#fbfbfa;color:inherit;text-decoration:none}.student-record-card:hover{background:#f6f7f4}.student-record-title{margin-top:8px;color:var(--text);font-size:13px;font-weight:710;line-height:1.4}.student-record-date{margin-top:10px;color:var(--muted);font-size:12px}.student-source-section{max-width:860px;padding:24px 32px 34px}.student-empty{margin:0;padding:14px 4px;color:var(--faint);font-size:13px}.student-task-page{min-height:calc(100vh - 75px);background:#fff}.student-task-hero{padding:30px 32px 24px;border-bottom:1px solid var(--line)}.student-task-hero h1{max-width:820px;margin:0;color:var(--text);font-size:1.85rem;font-weight:790;letter-spacing:-.04em;line-height:1.14}.student-task-hero p{max-width:760px;margin:10px 0 0;color:#5d615d;font-size:14px;line-height:1.65}.student-task-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;padding:22px 32px}.student-task-detail-card{min-height:220px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fbfbfa}.student-task-detail-card ul{margin:12px 0 0;padding-left:18px}.student-task-detail-card dd,.student-task-detail-card li{color:#555955;font-size:13px;line-height:1.65}.student-task-detail-card dl{display:grid;grid-gap:8px;gap:8px;margin:12px 0 0}.student-task-detail-card dt{color:var(--faint);font-size:11px;font-weight:760;text-transform:uppercase}.student-task-detail-card dd{margin:0}.md-typeset h1,.md-typeset h2,.md-typeset h3{color:var(--text)}h2#__comments{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--line)}.author-card{display:flex;align-items:center;gap:1rem;padding:1rem;margin:1.5rem 0;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.author-card img{width:64px;height:64px;border-radius:50%;flex-shrink:0}.author-card .author-info h3{margin:0 0 .25rem;font-size:1.1rem}.author-card .author-info p{margin:0;color:var(--muted);font-size:.9rem}@media (max-width:1120px){.linear-app{grid-template-columns:210px minmax(0,1fr)}.project-row,.table-head{grid-template-columns:minmax(300px,1.5fr) 136px 60px 52px 112px 92px}.filter-row,.project-row,.project-tabs,.quarter-row,.student-board-section,.student-goal-flow,.student-project-hero,.student-source-section,.student-task-detail-grid,.student-task-hero,.table-head{padding-right:22px;padding-left:22px}}@media (max-width:860px){.linear-app{grid-template-columns:1fr}.linear-rail{border-right:0;border-bottom:1px solid var(--line-dark)}.nav-block,.primary-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-block p{grid-column:1/-1}.project-chrome{grid-template-columns:90px 1fr 60px}.project-tabs{align-items:flex-start;height:auto;padding-top:8px;padding-bottom:8px}.tabs-left{flex-wrap:wrap}.tabs-actions{display:none}.projects-table{overflow-x:auto}.linear-list-item,.linear-list:before,.project-row,.table-head{min-width:860px}.student-goal-flow,.student-project-hero,.student-record-grid,.student-task-detail-grid,.student-task-lanes{grid-template-columns:1fr}.student-goal-flow:before{display:none}.student-section-head{align-items:flex-start;flex-direction:column}}@media (max-width:560px){.nav-block,.primary-nav{grid-template-columns:1fr}.chrome-left{gap:10px;padding-left:10px}}