@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";:root{color:#f5f7fa;background:#090a0d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #090a0d;--surface: #111318;--surface-raised: #171a20;--surface-hover: #1d2027;--border: #292d35;--border-soft: #20232a;--text: #f5f7fa;--muted: #939aa7;--muted-bright: #bcc2cc;--accent: #ff714d;--accent-strong: #ff825f;--accent-ink: #24100c;--green: #80dc9d;--cyan: #70d6e8;--violet: #b59bff;--radius: 12px}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input,textarea,select{color:inherit;font:inherit}button{border:0}button,[role=button]{-webkit-tap-highlight-color:transparent}button:not(:disabled),[role=button]{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:grid;grid-template-columns:72px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;z-index:10;inset:0 auto 0 0;width:72px;display:flex;flex-direction:column;align-items:center;padding:20px 0 18px;background:#0c0e12;border-right:1px solid var(--border-soft)}.project-mark{display:grid;place-items:center;width:38px;height:38px;margin-bottom:32px;border-radius:11px;color:var(--accent-ink);background:var(--accent);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:23px;font-weight:900;line-height:1;box-shadow:0 0 0 1px #ffffff14 inset}.sidebar nav{display:grid;gap:10px}.nav-button,.icon-button{display:inline-grid;place-items:center;padding:0;background:transparent}.nav-button{width:40px;height:40px;border-radius:10px;color:#6f7682}.nav-button:hover{color:var(--muted-bright);background:var(--surface-raised)}.nav-button.active{color:var(--text);background:var(--surface-hover);box-shadow:3px 0 0 var(--accent) inset}.sidebar-spacer{flex:1}main{grid-column:2;min-width:0}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--border-soft);background:#090a0df0}.breadcrumbs,.save-status,.topbar-actions,.view-link,.topbar-button,.public-badge{display:flex;align-items:center}.topbar-actions{gap:13px}.view-link,.topbar-button,.public-badge{gap:6px;color:var(--muted);background:transparent;font-size:11px;text-decoration:none}.view-link:hover,.topbar-button:hover{color:var(--text)}.public-badge{color:var(--green)}.breadcrumbs{gap:9px;color:var(--muted);font-size:13px}.breadcrumbs svg{color:var(--accent)}.breadcrumbs strong{color:var(--muted-bright);font-weight:600}.breadcrumb-separator{color:#464b55}.save-status{gap:7px;color:var(--muted);font-size:12px}.save-saved svg{color:var(--green)}.save-saving svg,.save-loading svg{color:#f0c36e}.save-local svg{color:var(--cyan)}.project-overview{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:34px 34px 24px}.eyebrow-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--accent-strong);font-size:11px;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.phase-pill{padding:4px 8px;border:1px solid #30343c;border-radius:999px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.09em}.title-block h1{margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(36px,4.3vw,60px);font-weight:700;letter-spacing:-.04em;line-height:.98}.title-block p{margin:13px 0 0;color:var(--muted);font-size:14px}.milestone-card{display:grid;grid-template-columns:auto minmax(150px,1fr) auto;align-items:center;min-width:340px;padding:14px 15px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 16px 36px #0003}.milestone-icon{display:grid;place-items:center;width:40px;height:40px;margin-right:12px;border-radius:9px;color:#1a0d09;background:var(--accent)}.milestone-card span{display:block;margin-bottom:3px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.milestone-card strong{font-size:14px;font-weight:650}.milestone-countdown{min-width:56px;padding-left:15px;border-left:1px solid var(--border);text-align:center}.milestone-countdown strong{display:block;color:var(--accent-strong);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:23px;line-height:1}.milestone-countdown span{margin:3px 0 0;font-size:8px}.progress-strip{display:grid;grid-template-columns:auto minmax(150px,1fr) auto auto;align-items:center;gap:20px;margin:0 34px;padding:14px 18px;border-block:1px solid var(--border-soft)}.progress-copy{display:flex;align-items:baseline;gap:9px}.progress-copy strong{color:var(--accent-strong);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:22px}.progress-copy span,.progress-stat span{color:var(--muted);font-size:11px}.large-progress{height:5px;overflow:hidden;border-radius:99px;background:#24272e}.large-progress span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .3s ease}.progress-stat{display:flex;align-items:baseline;gap:5px;padding-left:20px;border-left:1px solid var(--border-soft)}.progress-stat strong{font-size:14px}.board-section{padding:26px 0 40px}.board-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:0 34px 20px}.board-toolbar h2{margin:0 0 4px;font-size:16px;font-weight:700;letter-spacing:-.01em}.board-toolbar p{margin:0;color:var(--muted);font-size:12px}.toolbar-actions{display:flex;align-items:center;gap:8px}.search-box{position:relative;display:flex;align-items:center;gap:8px;width:205px;height:38px;padding:0 10px;border:1px solid var(--border);border-radius:9px;color:var(--muted);background:var(--surface)}.search-box:focus-within{border-color:#555b68;box-shadow:0 0 0 2px #ff714d1a}.search-box input{width:100%;min-width:0;padding:0;border:0;outline:0;color:var(--text);background:transparent;font-size:12px}.search-box input::placeholder{color:#737a86}.search-box button{display:grid;place-items:center;width:23px;height:23px;padding:0;border-radius:5px;color:var(--muted);background:transparent}.primary-button,.secondary-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 13px;border-radius:9px;font-size:12px;font-weight:700}.primary-button{color:var(--accent-ink);background:var(--accent)}.primary-button:hover{background:var(--accent-strong)}.secondary-button{border:1px solid var(--border);color:var(--muted-bright);background:var(--surface)}.secondary-button:hover,.secondary-button.is-active{color:var(--text);background:var(--surface-hover)}.danger-button{color:#ff9a9a;background:#e64a4a1a}.danger-button:hover{background:#e64a4a2b}.icon-button{width:38px;height:38px;border:1px solid var(--border);border-radius:9px;color:var(--muted-bright);background:var(--surface)}.icon-button:hover{color:var(--text);background:var(--surface-hover)}.filter-wrap{position:relative}.filter-button{min-width:90px}.filter-menu{position:absolute;z-index:20;top:calc(100% + 7px);right:0;width:190px;padding:6px;border:1px solid var(--border);border-radius:10px;background:#181b21;box-shadow:0 16px 42px #0000006b}.filter-menu button{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:8px;width:100%;padding:9px;border-radius:7px;color:var(--muted-bright);background:transparent;text-align:left;font-size:12px}.filter-menu button:hover,.filter-menu button.selected{color:var(--text);background:#22262d}.filter-dot{width:8px;height:8px;border-radius:50%}.kanban-board{display:grid;grid-template-columns:repeat(4,minmax(270px,1fr));gap:12px;overflow-x:auto;padding:0 34px 24px;scrollbar-color:#3a3f49 transparent;scrollbar-width:thin}.kanban-column{align-self:start;min-height:410px;padding:13px;border:1px solid var(--border-soft);border-radius:var(--radius);background:#0f1115;transition:border-color .14s ease,background .14s ease}.kanban-column.drop-active{border-color:var(--accent);background:#151316}.column-heading{display:flex;align-items:center;justify-content:space-between}.column-heading>div{display:flex;align-items:center;gap:8px}.column-heading h3{margin:0;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.055em}.column-status{width:7px;height:7px;border-radius:50%;background:#69717d;box-shadow:0 0 0 3px #69717d1a}.status-development{background:#e5ba68;box-shadow:0 0 0 3px #e5ba681a}.status-qa{background:var(--accent);box-shadow:0 0 0 3px #ff714d1a}.status-complete{background:var(--green);box-shadow:0 0 0 3px #80dc9d1a}.column-count{display:grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:6px;color:var(--muted);background:#20232a;font-size:10px;font-weight:700}.column-hint{margin:4px 0 13px 15px;color:#6f7682;font-size:10px}.card-list{display:grid;gap:9px}.board-card{position:relative;padding:13px;overflow:hidden;border:1px solid #272b33;border-radius:10px;background:var(--surface-raised);box-shadow:0 8px 18px #0000001f;transition:transform .13s ease,border-color .13s ease,background .13s ease}.board-card:hover{z-index:2;transform:translateY(-2px);border-color:#3a3f49;background:#1a1d24}.board-card:active{cursor:grabbing}.board-card.is-public:active{cursor:default}.board-card>p:empty{display:none}.card-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.tag{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:5px;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.tag-violet{color:#cbbcff;background:#b59bff1f}.tag-rose{color:#f5a4b5;background:#f578951f}.tag-amber{color:#eecb81;background:#ecb84e1f}.tag-cyan{color:#8adde9;background:#70d6e81f}.tag-lime{color:#b6df7c;background:#97cc531f}.tag-slate{color:#b5bdc9;background:#a4aebe1f}.filter-dot.tag-violet{background:var(--violet)}.filter-dot.tag-rose{background:#ee8aa2}.filter-dot.tag-amber{background:#e7b95f}.filter-dot.tag-cyan{background:var(--cyan)}.filter-dot.tag-lime{background:#a8d66b}.filter-dot.tag-slate{background:#929aa6}.drag-handle{color:#5f6671}.board-card h3{margin:0;color:#f0f2f5;font-size:13px;font-weight:680;letter-spacing:-.012em;line-height:1.35}.board-card>p{display:-webkit-box;margin:7px 0 12px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#858c98;font-size:10.5px;line-height:1.48}.checklist-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;margin-bottom:12px}.checklist-row>span{color:#7f8692;font-size:9px}.mini-progress{height:3px;overflow:hidden;border-radius:99px;background:#2b2f37}.mini-progress span{display:block;height:100%;border-radius:inherit;background:#717987}.card-footer{display:flex;align-items:center;justify-content:space-between}.card-meta{display:flex;align-items:center;gap:6px;color:#858c98;font-size:9px}.priority-dot{width:6px;height:6px;border-radius:50%;background:#7d8490}.priority-medium{background:#e3bd68}.priority-high{background:#ff8a63}.priority-critical{background:#ff5e66;box-shadow:0 0 0 3px #ff5e661a}.due-date{display:inline-flex;align-items:center;gap:3px}.avatar{display:grid;place-items:center;width:27px;height:27px;border:1px solid #414650;border-radius:50%;color:#d7dbe1;background:#242830;font-size:8px;font-weight:800}.card-move-actions{position:absolute;right:8px;bottom:8px;display:flex;gap:4px;padding:3px;border:1px solid #343943;border-radius:7px;opacity:0;background:#1e2229;box-shadow:0 7px 18px #0000004d;transform:translateY(4px);transition:opacity .13s ease,transform .13s ease}.board-card:hover .card-move-actions,.board-card:focus-within .card-move-actions{opacity:1;transform:translateY(0)}.card-move-actions button{display:grid;place-items:center;width:24px;height:24px;padding:0;border-radius:5px;color:var(--muted-bright);background:transparent}.card-move-actions button:hover:not(:disabled){color:var(--text);background:#30353e}.card-move-actions button:disabled{color:#50555f}.add-card-button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:9px;padding:9px;border:1px dashed #2d3139;border-radius:8px;color:#747b87;background:transparent;font-size:11px}.add-card-button:hover{border-color:#4a505b;color:var(--muted-bright);background:#15171c}.empty-column{display:grid;place-items:center;min-height:90px;border:1px dashed #2b2f37;border-radius:9px;color:#656c78;font-size:11px}.modal-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#030406c7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.task-modal{width:min(660px,100%);max-height:calc(100vh - 48px);overflow-y:auto;padding:23px;border:1px solid #30353e;border-radius:15px;background:#14171c;box-shadow:0 28px 70px #0000007a}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.modal-heading h2{margin:5px 0 0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:27px;letter-spacing:-.025em}.task-modal form{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:7px}.field>span{color:var(--muted-bright);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.field input,.field textarea,.field select{width:100%;border:1px solid #30343c;border-radius:9px;outline:0;color:var(--text);background:#0e1014;font-size:13px}.field input,.field select{height:41px;padding:0 11px}.field textarea{padding:11px;line-height:1.45;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ff714d17}.field input::placeholder,.field textarea::placeholder{color:#626975}.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:5px;padding-top:18px;border-top:1px solid var(--border-soft)}.modal-actions-right{display:flex;gap:8px}.settings-modal{width:min(520px,100%)}.login-screen{grid-column:1 / -1;display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at 50% 18%,rgba(255,113,77,.1),transparent 34%),var(--bg)}.login-card{width:min(410px,100%);padding:34px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 28px 70px #00000061}.login-card .project-mark{margin-bottom:26px}.login-card h1{margin:8px 0 6px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:40px}.login-card>p{margin:0 0 24px;color:var(--muted);font-size:13px}.login-card form{display:grid;gap:14px}.login-error{margin:0;color:#ff9a9a;font-size:12px}.public-link{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:22px;color:var(--muted);font-size:12px;text-decoration:none}.public-link:hover{color:var(--text)}@media (max-width: 1100px){.project-overview{align-items:stretch;flex-direction:column}.milestone-card{min-width:0;width:100%}.progress-strip{grid-template-columns:auto minmax(140px,1fr) auto}.progress-stat:last-child{display:none}.board-toolbar{align-items:flex-start;flex-direction:column}.toolbar-actions{width:100%}.search-box{flex:1}}@media (max-width: 720px){.app-shell{display:block;padding-bottom:68px}main{display:block}.sidebar{top:auto;right:0;width:auto;height:60px;flex-direction:row;justify-content:space-between;padding:8px 18px;border-top:1px solid var(--border-soft);border-right:0}.project-mark{width:36px;height:36px;margin:0}.sidebar nav{display:flex}.sidebar-spacer,.team-stack{display:none}.topbar{height:56px;padding:0 18px}.breadcrumbs>span:not(.breadcrumb-separator){display:none}.breadcrumb-separator{display:none}.project-overview{padding:26px 18px 20px}.title-block h1{font-size:42px}.milestone-card{grid-template-columns:auto minmax(0,1fr) auto}.progress-strip{grid-template-columns:auto 1fr;margin:0 18px;padding-inline:0}.progress-stat{display:none}.board-toolbar{padding:0 18px 18px}.toolbar-actions{display:grid;grid-template-columns:1fr auto auto}.search-box{grid-column:1 / -1;width:100%}.export-button{display:none}.kanban-board{grid-template-columns:repeat(4,minmax(82vw,1fr));padding:0 18px 20px;scroll-snap-type:x mandatory}.kanban-column{scroll-snap-align:start}.card-move-actions{position:static;width:max-content;margin:10px 0 0 auto;opacity:1;transform:none}.task-modal{max-height:calc(100vh - 20px);padding:19px}.modal-backdrop{padding:10px}.form-grid{grid-template-columns:1fr}.modal-actions{align-items:stretch;flex-direction:column-reverse}.modal-actions-right{display:grid;grid-template-columns:1fr 1fr}.danger-button{width:100%}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.page-banner{position:relative;display:block;width:calc(100% - 68px);height:clamp(150px,15vw,235px);margin:22px 34px 0;padding:0;overflow:hidden;border:1px solid var(--border-soft);border-radius:14px;background:#0f1115}.page-banner>img,.banner-crop-preview>img{width:100%;height:100%;object-fit:cover;transform-origin:center center;-webkit-user-select:none;user-select:none;pointer-events:none}.page-banner-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#090a0d08,#090a0d47);pointer-events:none}.banner-edit-button{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border:1px solid rgba(255,255,255,.14);border-radius:9px;color:#fff;background:#0a0c10c2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:11px;font-weight:700}.banner-edit-button:hover{background:#16191feb}.page-banner-empty{display:flex;align-items:center;justify-content:center;gap:9px;border-style:dashed;color:#747b87;font-size:12px;font-weight:700}.page-banner-empty:hover{border-color:#4a505b;color:var(--muted-bright);background:#121419}.banner-modal{width:min(820px,100%)}.banner-crop-preview{position:relative;width:100%;aspect-ratio:5 / 1;overflow:hidden;border:1px solid #30353e;border-radius:12px;background:#0c0e12;cursor:grab;touch-action:none}.banner-crop-preview.is-dragging{cursor:grabbing}.banner-crop-preview.is-empty{cursor:default}.banner-empty-copy{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:6px;color:#6f7682;text-align:center}.banner-empty-copy strong{color:var(--muted-bright);font-size:12px}.banner-empty-copy span{font-size:10px}.banner-drag-hint{position:absolute;left:50%;bottom:9px;transform:translate(-50%);padding:5px 8px;border-radius:6px;color:#ffffffe6;background:#08090cad;font-size:9px;font-weight:700;pointer-events:none}.banner-editor-controls{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:12px;margin-top:14px}.banner-upload-button{position:relative;overflow:hidden}.banner-upload-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.banner-zoom-control{display:grid;grid-template-columns:auto 1fr 44px;align-items:center;gap:9px;padding:0 10px;color:var(--muted);font-size:10px}.banner-zoom-control input{width:100%;accent-color:var(--accent)}.banner-zoom-control strong{color:var(--muted-bright);text-align:right;font-size:10px}.banner-error{margin:12px 0 0;color:#ff9a9a;font-size:11px}@media (max-width: 720px){.page-banner{width:calc(100% - 36px);height:130px;margin:16px 18px 0;border-radius:11px}.banner-editor-controls{grid-template-columns:1fr}.banner-upload-button,.banner-editor-controls .secondary-button{width:100%}.banner-crop-preview{aspect-ratio:3 / 1}}
