@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;600;650;700&display=swap";:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111318;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #ffffff;--surface-subtle: #f7f9fc;--surface-selected: #edf4ff;--text: #111318;--text-muted: #687181;--border: #dce2ea;--accent: #0f5bff;--accent-strong: #0648d9;--success: #159447;--warning: #ed9b05;--purple: #7b4ce2;--shadow-card: 0 1px 3px rgb(15 23 42 / 8%);--shadow-float: 0 12px 36px rgb(15 23 42 / 14%)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;min-height:100vh;background:var(--bg)}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgb(15 91 255 / 22%);outline-offset:2px}.app-shell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr);background:var(--bg)}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;padding:28px 16px 24px;border-right:1px solid var(--border);background:var(--surface-subtle);z-index:5}.brand{display:flex;align-items:center;gap:10px;padding:0 10px;font-size:25px;line-height:32px;font-weight:700;letter-spacing:-.04em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;color:#fff;background:var(--accent);box-shadow:0 6px 14px #0f5bff38}.brand-mark svg{width:23px;height:23px;stroke-width:3}.avatar{width:48px;height:48px;margin:30px 10px 22px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,#2c73ff,#0f5bff);font-size:22px;font-weight:500}.primary-nav{display:grid;gap:6px}.nav-item,.project-row{appearance:none;border:0;background:transparent;cursor:pointer}.nav-item{min-height:46px;padding:0 12px;display:flex;align-items:center;gap:12px;border-radius:9px;font-size:14px;line-height:20px;font-weight:500;text-align:left}.nav-item svg{width:20px;height:20px;stroke-width:1.75}.nav-item:hover{background:#f0f3f8}.nav-item.is-active{color:var(--accent);background:#e8f1ff}.sidebar-divider{height:1px;margin:24px 8px 20px;background:var(--border)}.project-section-title{display:flex;align-items:center;justify-content:space-between;padding:0 10px 8px;color:#505968;font-size:12px;font-weight:600}.icon-button,.card-menu{appearance:none;border:0;background:transparent;display:inline-grid;place-items:center;cursor:pointer;border-radius:7px}.icon-button{width:32px;height:32px}.icon-button:hover{background:#6871811a}.icon-button svg{width:18px;height:18px;stroke-width:1.75}.project-list{display:grid;gap:2px}.project-row{min-height:38px;padding:0 10px;display:flex;align-items:center;gap:10px;border-radius:8px;color:#374151;font-size:13px;font-weight:500;text-align:left}.project-row:hover,.project-row.is-selected{background:#eff3f8;color:var(--text)}.project-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%}.workspace-main{grid-column:2;min-width:0;min-height:100vh;padding:36px 28px 132px}.workspace-header{max-width:1280px;margin:0 auto 28px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.heading-block{min-width:0}.breadcrumbs{min-height:25px;display:flex;align-items:center;flex-wrap:wrap;gap:4px;color:var(--text-muted);font-size:13px;line-height:20px;font-weight:500}.back-button{appearance:none;border:0;background:transparent;padding:0 10px 0 0;display:flex;align-items:center;gap:2px;color:var(--accent);cursor:pointer;font-size:13px}.back-button svg{width:16px;height:16px}.workspace-header h1{margin:12px 0 0;font-size:clamp(28px,3vw,36px);line-height:1.1;font-weight:700;letter-spacing:-.04em}.header-actions{display:flex;align-items:center;gap:14px}.search-control{width:246px;height:43px;padding:0 13px;display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--text-muted)}.search-control:focus-within{border-color:#9db9ff;box-shadow:0 0 0 3px #0f5bff1a}.search-control svg{width:18px;height:18px;stroke-width:1.75}.search-control input{width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:13px;line-height:20px}.button{appearance:none;min-height:40px;padding:0 17px;border-radius:8px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:13px;line-height:18px;font-weight:600;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.button svg{width:16px;height:16px;stroke-width:1.75}.button:disabled{cursor:not-allowed;opacity:.48}.button.primary{min-height:43px;color:#fff;background:var(--accent);box-shadow:0 5px 12px #0f5bff2b}.button.primary:hover:not(:disabled){background:var(--accent-strong);transform:translateY(-1px)}.button.secondary{border-color:var(--border);background:#f8fafc}.button.secondary:hover:not(:disabled){background:#eef2f6}.button.outline{border-color:#a8bef5;color:var(--accent);background:#fff}.button.outline:hover:not(:disabled){border-color:var(--accent);background:#f5f8ff}.button.full{width:100%}.kanban-region{max-width:1280px;margin:0 auto}.kanban-board{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:16px;align-items:start}.board-column{min-height:608px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fbfcfe;transition:border-color .15s ease,background .15s ease}.board-column.is-over{border-color:#8badff;background:#f5f8ff}.column-header{height:40px;display:grid;grid-template-columns:4px minmax(0,auto) 30px 1fr;align-items:center;gap:9px}.column-marker{width:4px;height:25px;border-radius:3px}.column-header h2{margin:0;font-size:15px;line-height:22px;font-weight:650;white-space:nowrap}.column-count{min-width:25px;height:25px;padding:0 7px;display:inline-grid;place-items:center;border-radius:7px;background:#f0f2f5;color:#596273;font-size:12px;font-weight:600}.column-header .icon-button{justify-self:end}.task-list{display:grid;gap:10px;margin-top:10px}.task-card{position:relative;min-height:106px;padding:17px 15px 14px 19px;border:1px solid #dce1e8;border-radius:9px;background:#fff;box-shadow:var(--shadow-card);cursor:pointer;touch-action:manipulation;transition:box-shadow .16s ease,transform .16s ease,border-color .16s ease}.task-card:before{content:"";position:absolute;inset:-1px auto -1px -1px;width:4px;border-radius:9px 0 0 9px;background:var(--status-color)}.task-card:hover{border-color:#c8d1df;box-shadow:0 7px 20px #0f172a17;transform:translateY(-1px)}.task-card.is-dragging{z-index:50;cursor:grabbing;box-shadow:0 18px 38px #0f172a2e}.task-card-topline{display:flex;align-items:flex-start;gap:8px}.task-card h3{flex:1;margin:0;font-size:14px;line-height:20px;font-weight:600;letter-spacing:-.01em}.card-menu{flex:0 0 auto;width:27px;height:27px;margin:-5px -5px 0 0;color:var(--text-muted)}.card-menu{cursor:grab}.card-menu:hover{background:#f2f4f7}.card-menu svg{width:17px;height:17px}.task-meta{margin-top:12px;display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:11px;line-height:16px;font-weight:500}.task-meta+.task-meta{margin-top:7px}.task-meta svg{width:14px;height:14px;stroke-width:1.8}.task-meta.is-due{color:#d88700}.task-meta.is-done{color:var(--success)}.add-task-inline{width:100%;min-height:45px;margin-top:10px;border:1px dashed #cfd6e0;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:7px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:500}.add-task-inline:hover{border-color:#9bb4eb;color:var(--accent);background:#f7f9ff}.add-task-inline svg{width:16px;height:16px}.voice-bar{position:fixed;z-index:10;left:calc(232px + max(28px,(100vw - 232px - 1280px) / 2));right:max(28px,(100vw - 232px - 1280px) / 2);bottom:24px;min-height:92px;padding:14px 16px;display:grid;grid-template-columns:52px 170px minmax(220px,1fr) auto auto;align-items:center;gap:14px;border:1px solid #d6dce6;border-radius:18px;background:#fffffff5;box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.voice-button{width:52px;height:52px;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--accent);cursor:pointer;box-shadow:0 8px 18px #0f5bff38}.voice-button:disabled{opacity:.7}.voice-button svg{width:23px;height:23px;stroke-width:2}.waveform{height:42px;display:flex;align-items:center;justify-content:center;gap:3px;overflow:hidden;color:var(--accent)}.waveform i{width:2px;max-height:30px;border-radius:2px;background:currentColor;transition:height .18s ease}.voice-bar.is-processing .waveform i{animation:wave .68s ease-in-out infinite alternate}.voice-bar.is-processing .waveform i:nth-child(3n){animation-delay:-.22s}.voice-bar.is-processing .waveform i:nth-child(2n){animation-delay:-.42s}.voice-copy{min-width:0;display:grid;gap:6px}.voice-copy input{width:100%;border:0;outline:0;padding:0;background:transparent;color:var(--text);font-size:13px;line-height:20px;font-weight:600}.voice-copy span{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:11px;line-height:16px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-copy span svg{width:15px;height:15px}.voice-bar.is-completed .voice-copy span{color:var(--success)}.voice-bar.is-failed .voice-copy span{color:#c23b32}.voice-undo{min-width:104px}@keyframes wave{0%{transform:scaleY(.45)}to{transform:scaleY(1)}}.drawer-backdrop{position:fixed;inset:0;z-index:30;background:#11131833}.task-drawer{position:absolute;inset:0 0 0 auto;width:min(440px,100%);padding:22px 24px calc(28px + env(safe-area-inset-bottom));overflow-y:auto;background:#fff;box-shadow:-18px 0 48px #0f172a29;animation:drawer-in .22s cubic-bezier(.2,.8,.2,1)}.drawer-header{display:flex;justify-content:space-between;align-items:center}.drawer-context{color:var(--accent);font-size:12px;font-weight:600}.task-title-input{width:100%;margin:20px 0 22px;padding:0;border:0;outline:0;color:var(--text);background:transparent;font-size:24px;line-height:30px;font-weight:700;letter-spacing:-.03em}.field-group{margin-bottom:18px}.field-group label,.drawer-section h3{display:block;margin:0 0 9px;color:#343b48;font-size:12px;line-height:18px;font-weight:650}.field-group textarea{width:100%;resize:vertical;padding:12px;border:1px solid var(--border);border-radius:9px;color:var(--text);background:#fff;font-size:13px;line-height:20px}.detail-list{margin:0 0 24px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.detail-row{min-height:52px;padding:0 13px;display:grid;grid-template-columns:20px 1fr auto auto;align-items:center;gap:9px;border-bottom:1px solid var(--border);color:#333b49;font-size:12px;line-height:18px;font-weight:500}.detail-row:last-child{border-bottom:0}.detail-row>svg{width:17px;height:17px;color:#596273;stroke-width:1.75}.detail-row input,.detail-row select{max-width:145px;border:0;outline:0;background:transparent;color:var(--accent);text-align:right;font-size:12px}.detail-row.as-button{width:100%;border-top:0;border-left:0;border-right:0;background:transparent;cursor:pointer;text-align:left}.detail-row.as-button:disabled{opacity:.45;cursor:not-allowed}.detail-row strong{font-size:12px;font-weight:600}.priority-symbol{width:17px;height:17px;display:grid;place-items:center;border:1px solid #6a7484;border-radius:50%;font-size:10px;font-weight:700}.drawer-section{margin:0 0 24px}.status-switcher{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:9px;overflow:hidden;background:#fff}.status-switcher button{min-height:40px;padding:0 10px;border:0;border-right:1px solid var(--border);background:#fff;cursor:pointer;font-size:11px;line-height:15px;font-weight:600}.status-switcher button:last-child{border-right:0}.status-switcher button.is-active{color:#fff;background:var(--accent)}.subtask-preview h3 span{color:var(--text-muted);margin-left:4px}.subtask-row{min-height:48px;margin-bottom:7px;padding:0 12px;display:flex;align-items:center;gap:10px;border:1px solid #e1e5eb;border-radius:9px;background:#fff;font-size:12px;font-weight:500}.subtask-circle{width:17px;height:17px;border:1.5px solid #8a94a3;border-radius:50%}.subtask-preview .button{margin-top:11px}.archive-action{border:0;background:transparent;display:flex;align-items:center;gap:8px;color:#9a342d;cursor:pointer;font-size:12px;font-weight:600}.archive-action svg{width:17px;height:17px}.drawer-save-state{display:block;margin-top:18px;color:var(--text-muted);font-size:11px}@keyframes drawer-in{0%{transform:translate(32px);opacity:.5}to{transform:translate(0);opacity:1}}.dialog-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:#11131852}.dialog{width:min(430px,100%);padding:22px;border-radius:14px;background:#fff;box-shadow:var(--shadow-float)}.dialog>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.dialog h2{margin:0;font-size:20px;line-height:26px;letter-spacing:-.025em}.dialog form{display:grid;gap:9px}.dialog label{color:#3a4350;font-size:12px;font-weight:600}.dialog input{height:44px;padding:0 12px;border:1px solid var(--border);border-radius:9px;font-size:13px}.dialog-actions{margin-top:13px;display:flex;justify-content:flex-end;gap:9px}.error-banner{max-width:1280px;margin:-14px auto 16px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;border:1px solid #f2c8c4;border-radius:8px;color:#8c2f29;background:#fff6f5;font-size:12px}.error-banner button{border:0;background:transparent;color:inherit;cursor:pointer;font-weight:600}.loading-screen,.error-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:14px;padding:24px;text-align:center}.loading-screen p,.error-screen p{color:var(--text-muted);font-size:14px}.loading-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:11px;color:#fff;background:var(--accent);font-size:28px;font-weight:700;animation:breathe 1.2s ease-in-out infinite alternate}@keyframes breathe{0%{transform:scale(.96);opacity:.75}to{transform:scale(1);opacity:1}}@media(max-width:1040px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{width:200px}.workspace-main{grid-column:2;padding-left:20px;padding-right:20px}.voice-bar{left:220px;right:20px;grid-template-columns:48px 100px minmax(180px,1fr) auto}.voice-undo{display:none}.kanban-board{gap:11px}.board-column{padding:10px}}@media(max-width:760px){.app-shell{display:block}.sidebar{display:none}.workspace-main{min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 14px calc(112px + env(safe-area-inset-bottom))}.workspace-header{align-items:flex-start;margin-bottom:18px}.workspace-header h1{margin-top:7px;font-size:26px;line-height:32px}.breadcrumbs{font-size:11px}.header-actions .search-control{display:none}.header-actions .button{width:42px;min-width:42px;padding:0;font-size:0}.header-actions .button svg{width:19px;height:19px}.kanban-region>.status-switcher{margin-bottom:16px}.kanban-board{display:block}.board-column{min-height:0;padding:0;border:0;background:transparent}.column-header{margin-bottom:7px}.column-header .column-marker,.column-header .icon-button{display:none}.column-header{grid-template-columns:minmax(0,auto) 28px 1fr}.task-card{min-height:84px}.add-task-inline{min-height:48px;color:var(--accent);border-color:#9bb8ff;background:#fff}.voice-bar{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));min-height:76px;padding:10px;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;border-radius:14px}.voice-button{width:46px;height:46px}.waveform,.voice-undo{display:none}.voice-copy input{font-size:11px}.voice-copy span{font-size:10px}.voice-run{min-width:0;width:42px;padding:0;font-size:0}.voice-run:after{content:"→";font-size:18px}.task-drawer{width:100%;padding:calc(18px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));box-shadow:none}.drawer-context{padding:5px 8px;border-radius:6px;background:#eef4ff}.task-title-input{margin-top:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
