@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable.css";:root{color-scheme:light;--bg: #f7f9fc;--bg-soft: #f3f7fc;--surface: #ffffff;--surface-strong: #ffffff;--surface-muted: #f8fafd;--line: #e4ebf4;--line-strong: #d5dfea;--ink: #1b2738;--muted: #6d7d93;--accent: #5e9487;--accent-ink: #4d7a70;--accent-soft: rgba(94, 148, 135, .1);--brand: #5b77bf;--brand-ink: #4d68ad;--danger: #ba6d82;--focus-ring: 0 0 0 3px rgba(91, 119, 191, .18);--shadow-sm: 0 1px 2px rgba(16, 29, 49, .04);--shadow-md: 0 4px 10px rgba(16, 29, 49, .05);--shadow-lg: 0 10px 24px rgba(16, 29, 49, .07);--radius-lg: 12px;--radius-md: 9px;--radius-sm: 8px;--motion-fast: .14s;--motion-base: .22s;--font-body: "Pretendard Variable", "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;--font-display: "Pretendard Variable", "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--font-body);font-variant-numeric:tabular-nums;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-soft) 100%)}#root{min-height:100vh}.page{max-width:1320px;margin:0 auto;padding:1rem clamp(.8rem,1.6vw,1.5rem) 1.7rem;display:grid;gap:.75rem}.top,.toolbar,.lane,.card,.modal,.landing-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.top{padding:clamp(.95rem,2vw,1.35rem);border-color:var(--line);background:var(--surface-strong);box-shadow:var(--shadow-sm)}.top-compact{padding:.58rem .72rem}.collab-controls{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.collab-group{display:flex;align-items:center;gap:.32rem}.collab-label{color:var(--muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.collab-select{min-height:1.9rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:.28rem .52rem;color:var(--ink);background:#fff;font:inherit;font-size:.74rem;font-weight:600;cursor:pointer}.collab-select:focus-visible{outline:none;border-color:#2f8f78b8;box-shadow:var(--focus-ring)}.collab-badge{border:1px solid var(--accent);border-radius:999px;padding:.18rem .44rem;color:var(--accent-ink);background:var(--accent-soft);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.top-main{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(220px,auto);gap:.82rem;align-items:start}.top-auth-main{display:flex;align-items:center;justify-content:flex-end;gap:.48rem}.top-session{margin:0;color:var(--muted);font-size:.72rem;font-weight:600}.top-eyebrow{display:inline-flex;align-items:center;gap:.32rem;border:1px solid rgba(47,143,120,.22);border-radius:999px;padding:.16rem .56rem;color:var(--accent-ink);background:var(--accent-soft);font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;font-weight:600}.top h1{margin:.5rem 0 0;font-family:var(--font-display);font-size:clamp(1.48rem,2.25vw,2.04rem);line-height:1.1;letter-spacing:-.02em}.top p{margin:.56rem 0 0;color:var(--muted);max-width:73ch;font-size:.87rem;line-height:1.5;font-weight:500}.hero-metrics{margin-top:.72rem;max-width:700px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem}.hero-metric{border:1px solid var(--line);border-radius:var(--radius-md);padding:.42rem .52rem;background:var(--surface-muted)}.hero-metric strong{display:block;color:var(--ink);font-size:.72rem;line-height:1.2}.hero-metric span{display:block;margin-top:.15rem;color:var(--muted);font-size:.67rem;font-weight:600}.top-auth-cta{display:flex;align-items:center;min-width:220px}.landing-shell{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:.72rem}.landing-card{padding:.92rem;border-color:var(--line);background:var(--surface-strong)}.landing-promo,.landing-flow{background:var(--surface-strong)}.landing-card h2{margin:0;font-family:var(--font-display);font-size:1.04rem;letter-spacing:-.01em}.landing-card p{margin:.42rem 0 0;color:var(--muted);font-size:.81rem;line-height:1.46}.landing-list,.landing-steps{margin:.64rem 0 0;padding:0;list-style:none;display:grid;gap:.42rem}.landing-list li,.landing-steps li{color:#40546e;font-size:.77rem;line-height:1.45}.landing-list li{display:grid;grid-template-columns:.7rem 1fr;gap:.34rem}.landing-list li:before{content:"";margin-top:.34rem;width:.44rem;height:.44rem;border-radius:999px;background:#5d9a8a94}.landing-steps{counter-reset:landing-step}.landing-steps li{counter-increment:landing-step;display:grid;grid-template-columns:1.2rem 1fr;gap:.42rem}.landing-steps li:before{content:counter(landing-step);display:inline-flex;align-items:center;justify-content:center;width:1.2rem;height:1.2rem;border:1px solid rgba(95,130,217,.22);border-radius:999px;color:#587ac8;background:#5f82d91a;font-size:.65rem;font-weight:800}.landing-cta{margin-top:.72rem}.landing-footnote{margin-top:.55rem;color:#6f7f95;font-size:.71rem;font-weight:600}.landing-preview{grid-column:1 / -1}.preview-lanes{margin-top:.58rem;display:flex;flex-wrap:wrap;gap:.34rem}.preview-lane{border:1px solid var(--line-strong);border-radius:999px;padding:.28rem .52rem;color:#5c6f86;background:#fff;font-size:.69rem;font-weight:600}.auth-gate-note{margin:0;color:var(--muted);font-size:.79rem;font-weight:600}.toolbar{padding:.78rem;display:grid;gap:.64rem;border-color:var(--line);background:var(--surface-strong)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.48rem}.stat{border:1px solid var(--line);border-radius:var(--radius-md);padding:.5rem .62rem;background:#fff}.stat span{display:block;color:var(--muted);font-size:.63rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.stat strong{display:block;margin-top:.2rem;font-family:var(--font-display);font-size:1rem;line-height:1}.stat-stage,.stat-total,.stat-approval{border-color:var(--line);background:#fff}.stat-qa-gate{border-color:#b13a5938;background:#b13a590f}.stat-stage strong{color:var(--ink)}.toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.countdown{margin-left:auto;color:var(--muted);font-size:.75rem;font-weight:600}.board-filters{display:grid;grid-template-columns:minmax(236px,1.4fr) auto auto auto;gap:.42rem;align-items:center}.search-field{min-width:0}.search-field input{width:100%;min-height:2.2rem;border:1px solid var(--line-strong);border-radius:999px;padding:.4rem .72rem;color:var(--ink);background:#fffffffc;font:inherit;font-size:.77rem}.search-field input:focus-visible{outline:none;border-color:#2f8f78b8;box-shadow:var(--focus-ring)}.filter-chip-row{margin:0;padding:0;border:0;min-inline-size:0;display:inline-flex;flex-wrap:wrap;align-items:center;gap:.32rem}.chip{border:1px solid var(--line-strong);border-radius:999px;padding:.35rem .55rem;color:#3b4d66;background:#fffffffa;font:inherit;font-size:.7rem;font-weight:600;line-height:1;cursor:pointer;transition:border-color var(--motion-fast) ease,background var(--motion-fast) ease}.chip:hover{border-color:#5f82d957}.chip-active{border-color:#5e94875c;color:var(--accent-ink);background:#5e948717}.chip-toggle{display:inline-flex;align-items:center;gap:.33rem;color:var(--muted);font-size:.72rem;font-weight:700}.chip-toggle input{accent-color:var(--accent)}.filter-summary{grid-column:1 / -1;margin:0;color:var(--muted);font-size:.72rem;font-weight:600}.btn{border:1px solid var(--brand);border-radius:var(--radius-sm);min-height:2.2rem;padding:.42rem .8rem;color:#f7faff;background:var(--brand);box-shadow:none;font:inherit;font-size:.77rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:background var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.btn:hover{border-color:var(--brand-ink);background:var(--brand-ink);box-shadow:0 1px 2px #4e72c824}.btn:disabled{opacity:.62;cursor:default;transform:none;box-shadow:none}.btn:focus-visible,.icon-btn:focus-visible,.field input:focus-visible,.field textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-muted{border-color:var(--line-strong);color:var(--ink);background:#fff;box-shadow:none}.btn-icon{display:inline-flex;align-items:center;gap:.38rem}.btn-icon span:first-child{width:1.05rem;height:1.05rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#ffffff3d;font-size:.98rem;line-height:1;font-weight:700}.btn-small{min-height:0;padding:.32rem .54rem;border-radius:9px;font-size:.7rem}.btn-approve{border-color:var(--accent);background:var(--accent);box-shadow:none}.btn-approve:hover{border-color:var(--accent-ink);background:var(--accent-ink)}.btn-reject{border-color:var(--danger);background:var(--danger);box-shadow:none}.btn-reject:hover{border-color:#962f4c;background:#962f4c}.error-banner{margin:0;border:1px solid rgba(177,58,89,.3);border-radius:var(--radius-md);padding:.6rem .72rem;color:#8f2c47;background:#fff0f4f2;font-size:.81rem;font-weight:600}.lanes{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(274px,1fr);gap:.5rem;overflow-x:auto;padding-bottom:.32rem;scrollbar-width:thin}.lanes::-webkit-scrollbar{height:9px}.lanes::-webkit-scrollbar-thumb{border-radius:999px;background:#c8d3df}.lane{--lane-accent: #7f8ca1;border-left:1px solid var(--lane-accent);min-height:244px;display:flex;flex-direction:column;border-radius:var(--radius-md);border-color:var(--line);background:var(--surface-strong);box-shadow:none}.lane-pending_pm{--lane-accent: #b68f5e}.lane-dev_running{--lane-accent: #7088c5}.lane-qa_running{--lane-accent: #6f9f93}.lane-awaiting_human_approval{--lane-accent: #ae8f72}.lane-done{--lane-accent: #71a58f}.lane-blocked{--lane-accent: #b98592}.lane-head{display:flex;justify-content:space-between;align-items:center;gap:.38rem;padding:.6rem .68rem;border-bottom:1px solid var(--line)}.lane-title{display:grid;gap:.09rem}.lane-head h2{margin:0;font-family:var(--font-display);font-size:.8rem;letter-spacing:.01em;text-transform:none;font-weight:600}.lane-note{margin:0;color:var(--muted);font-size:.68rem}.lane-count{border:1px solid var(--line-strong);border-radius:999px;min-width:1.54rem;text-align:center;padding:.1rem .36rem;color:#465875;background:#f6f9fff2;font-size:.69rem;font-weight:700}.lane-empty{margin:0;padding:.76rem;color:var(--muted);font-size:.77rem}.cards{display:grid;gap:.48rem;padding:.54rem}.card{padding:.56rem;border-radius:12px;border:1px solid var(--line);background:var(--surface-strong);box-shadow:none;transition:border-color var(--motion-base) ease,box-shadow var(--motion-base) ease}.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.46rem}.card-head h3{margin:0;font-size:.84rem;line-height:1.35}.card-state{--state-dot: #7f8ca1;display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--line-strong);border-radius:999px;padding:.12rem .39rem;color:#62758e;background:var(--surface-muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.03em;font-weight:600;white-space:nowrap}.card-state:before{content:"";width:.38rem;height:.38rem;border-radius:999px;background:var(--state-dot)}.card-state.state-pending_pm{--state-dot: #c5852e}.card-state.state-dev_running{--state-dot: #3b72e4}.card-state.state-qa_running{--state-dot: #2f8f78}.card-state.state-awaiting_human_approval{--state-dot: #a56a36}.card-state.state-completed,.card-state.state-approved{--state-dot: #2b9f73}.card-state.state-failed,.card-state.state-rejected{--state-dot: #b13a59}.card-description{margin:.42rem 0 0;color:#5b6f87;font-size:.76rem;line-height:1.43}.card-meta-grid{margin-top:.42rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem}.card-meta{margin:0;display:grid;gap:.06rem}.card-meta span{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700}.card-meta strong{font-size:.71rem;overflow-wrap:anywhere}.card-actions{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.28rem}.card-alert{margin:.42rem 0 0;border-radius:10px;padding:.4rem .55rem;background:#b13a5914;color:#8e2342;font-size:.71rem;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:1rem;background:#121c2a47}.modal{width:min(520px,100%);padding:.96rem;border-radius:var(--radius-lg);border:1px solid var(--line);background:#fffffffc;box-shadow:var(--shadow-md)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:.56rem}.modal-head h2{margin:0;font-family:var(--font-display);font-size:1.08rem;letter-spacing:-.01em}.icon-btn{border:1px solid var(--line-strong);width:2rem;height:2rem;border-radius:50%;color:var(--ink);background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;cursor:pointer}.icon-btn:disabled{opacity:.58;cursor:default}.modal-note{margin:.42rem 0 .72rem;color:var(--muted);font-size:.79rem}.create-form{display:grid;gap:.6rem}.field{display:grid;gap:.28rem}.field>span{color:var(--muted);font-size:.63rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.field input,.field textarea{width:100%;border:1px solid var(--line-strong);border-radius:10px;padding:.54rem .66rem;color:var(--ink);background:#fffffffc;font:inherit;transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.field textarea{min-height:102px;resize:vertical}.field input:focus-visible,.field textarea:focus-visible{border-color:#2f8f78b8}.field-error{margin:0;color:var(--danger);font-size:.78rem;font-weight:600}.modal-actions{margin-top:.12rem;display:flex;justify-content:flex-end;gap:.4rem}.invite-sections{display:grid;gap:1rem}.invite-section{display:grid;gap:.6rem}.invite-section h3{margin:0;font-family:var(--font-display);font-size:.9rem;color:var(--ink)}.invite-divider{display:flex;align-items:center;gap:.6rem;color:var(--muted);font-size:.72rem}.invite-divider:before,.invite-divider:after{content:"";flex:1;height:1px;background:var(--line)}.invitations-list{margin-top:.8rem;padding:.6rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted)}.invitations-list h4{margin:0 0 .4rem;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.invitation-item{margin:.2rem 0;font-size:.74rem;color:var(--ink)}.invitation-item code{font-family:monospace;font-size:.68rem;padding:.1rem .3rem;background:var(--surface);border:1px solid var(--line);border-radius:4px}.empty-note{margin:0;text-align:center;color:var(--muted);font-size:.81rem}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;white-space:nowrap;clip-path:inset(100%);clip:rect(0 0 0 0);overflow:hidden}@media (max-width: 1020px){.hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-shell{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.board-filters{grid-template-columns:1fr auto auto}}@media (max-width: 860px){.top-main{grid-template-columns:1fr}.top-auth-main{width:100%;align-items:center;justify-content:space-between}.top-auth-cta,.top-auth-cta .btn,.landing-cta{width:100%}.hero-metrics{grid-template-columns:1fr;max-width:none}.toolbar-actions{width:100%}.board-filters{grid-template-columns:1fr;align-items:stretch}.search-field,.filter-chip-row,.chip-toggle,.filter-summary{width:100%}.filter-chip-row{justify-content:flex-start}.chip-toggle{min-height:2.2rem}.filter-summary{grid-column:auto}.lanes{grid-auto-flow:row;grid-template-columns:1fr;overflow-x:visible}.btn{width:100%}.top-auth-main .btn,.toolbar-actions .btn,.card-actions .btn,.modal-actions .btn{width:auto}}@media (max-width: 620px){.page{padding:.72rem .64rem 1.15rem}.stats,.card-meta-grid{grid-template-columns:1fr}.card-actions .btn,.modal-actions .btn{width:100%}.modal-actions{flex-direction:column-reverse}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none;transition:none;scroll-behavior:auto}}
