:root{color-scheme:dark;--background:#0f172a;--sidebar:#111827;--surface:#1e293b;--surface-hover:#273449;--line:rgba(148,163,184,.16);--text:#f8fafc;--muted:#94a3b8;--accent:#6366f1}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--background);color:var(--text)}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:256px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;z-index:40;inset:0 auto 0 0;display:flex;flex-direction:column;width:256px;padding:24px 16px 18px;border-right:1px solid var(--line);background:var(--sidebar)}.sidebar-head{display:flex;justify-content:space-between;align-items:center;padding:0 9px 18px;color:#64748b;font-size:11px;font-weight:800;letter-spacing:.12em}.sidebar-head button{display:none;border:0;background:transparent}.sidebar nav{display:grid;grid-gap:5px;gap:5px}.sidebar nav button{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;grid-gap:11px;gap:11px;min-height:46px;padding:0 12px;border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;color:#cbd5e1}.sidebar nav button.active,.sidebar nav button:hover{border-color:var(--line);background:rgba(99,102,241,.12);color:#fff}.project-dot,.sidebar nav i{width:9px;height:9px;border-radius:3px}.sidebar nav small{color:#818cf8;font-size:8px;font-weight:900}.add-project{display:flex;align-items:center;gap:8px;min-height:42px;margin-top:14px;padding:0 12px;border:1px dashed var(--line);border-radius:8px;background:transparent;color:var(--muted)}.project-form{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.project-form input,.quick-add textarea{width:100%;border:1px solid var(--line);border-radius:8px;outline:0;background:#0f172a;padding:10px}.project-form div,.quick-add div{display:flex;gap:7px}.project-form button,.quick-add button{min-height:34px;padding:0 11px;border:0;border-radius:7px;background:var(--accent)}.project-form button:last-child,.quick-add button:last-child{background:transparent;color:var(--muted)}.sidebar-footer{display:flex;align-items:center;gap:10px;margin-top:auto;padding:14px 8px 0;border-top:1px solid var(--line)}.sidebar-footer small,.sidebar-footer span,.sidebar-footer strong{display:block}.sidebar-footer small{margin-top:3px;color:var(--muted);font-size:10px}.avatar{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(99,102,241,.35);border-radius:50%;background:rgba(99,102,241,.16);color:#a5b4fc;font-weight:900}.avatar.small{width:35px;height:35px}.sidebar-backdrop{display:none}.workspace{grid-column:2;min-width:0}.header{position:-webkit-sticky;position:sticky;z-index:30;top:0;display:flex;align-items:center;justify-content:space-between;min-height:74px;padding:12px 24px;border-bottom:1px solid var(--line);background:rgba(15,23,42,.9);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-actions,.header-title{display:flex;align-items:center;gap:13px}.logo{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:var(--accent);font-weight:900}.header p{margin:0 0 3px;color:#818cf8;font-size:10px;font-weight:900;letter-spacing:.14em}.header h1{margin:0;font-size:18px}.sync-state{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.sync-state i{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.1)}.mobile-menu{display:none;border:0;background:transparent}.board-toolbar{display:flex;justify-content:space-between;align-items:center;padding:22px 24px 14px}.board-toolbar div{display:flex;align-items:center;gap:9px}.board-toolbar p,.board-toolbar small{color:var(--muted);font-size:11px}.board-toolbar p{margin:0}.board{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));grid-gap:14px;gap:14px;overflow-x:auto;padding:8px 24px 28px;align-items:start}.column{min-height:300px;padding:12px;border:1px solid var(--line);border-radius:8px;background:rgba(15,23,42,.45)}.column-header{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:0 5px 9px}.column-header span{display:flex;align-items:center;gap:8px;color:#cbd5e1;font-size:11px;font-weight:900;letter-spacing:.08em}.column-header i{width:8px;height:8px;border-radius:50%;background:#64748b}.in_progress .column-header i{background:#f59e0b}.done .column-header i{background:#10b981}.column-header strong{display:grid;place-items:center;min-width:25px;height:22px;border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px}.task-list{display:grid;grid-gap:10px;gap:10px;min-height:90px;border-radius:8px;transition:background .16s}.task-list.drag-over{background:rgba(99,102,241,.08)}.task-card{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 5px 20px rgba(0,0,0,.12);transition:transform .16s,border-color .16s,box-shadow .16s}.task-card:hover{transform:translateY(-2px);border-color:rgba(99,102,241,.4);box-shadow:0 12px 26px rgba(0,0,0,.22)}.task-card.dragging{transform:rotate(2deg);box-shadow:0 18px 45px rgba(0,0,0,.35)}.task-card.completed{opacity:.6}.card-bottom,.card-meta,.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-top button{padding:2px;border:0;background:transparent;color:#64748b}.priority,.source{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900}.priority.urgent{background:rgba(239,68,68,.14);color:#f87171}.priority.high{background:rgba(249,115,22,.14);color:#fb923c}.priority.normal{background:rgba(148,163,184,.13);color:#cbd5e1}.priority.low{background:rgba(59,130,246,.14);color:#60a5fa}.task-card h3{margin:13px 0 7px;font-size:14px;line-height:1.45}.task-card p{margin:0 0 12px;color:var(--muted);font-size:11px;line-height:1.5}.tag-row{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0 13px}.tag-row span{padding:3px 6px;border-radius:5px;background:rgba(148,163,184,.1);color:#aebbd0;font-size:9px}.card-meta{justify-content:flex-start;padding-bottom:12px;border-bottom:1px solid var(--line)}.card-meta span{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:9px}.card-bottom{margin-top:11px}.source.line{background:rgba(34,197,94,.14);color:#4ade80}.source.telegram{background:rgba(14,165,233,.14);color:#38bdf8}.source.chatwork{background:rgba(6,182,212,.14);color:#22d3ee}.source.slack{background:rgba(168,85,247,.14);color:#c084fc}.source.discord{background:rgba(99,102,241,.2);color:#a5b4fc}.source.web{background:rgba(148,163,184,.14);color:#cbd5e1}.task-id{color:#64748b;font-size:8px;font-weight:800}.add-task{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;border:1px dashed var(--line);border-radius:8px;background:transparent;color:var(--muted)}.add-task,.quick-add{gap:7px;margin-top:10px}.quick-add{display:grid;grid-gap:7px}.quick-add textarea{resize:none}.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:18px;background:rgba(2,6,23,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.task-modal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;width:min(680px,100%);max-height:calc(100vh - 36px);overflow-y:auto;padding:22px;border:1px solid var(--line);border-radius:8px;background:#172033;box-shadow:0 30px 90px rgba(0,0,0,.5)}.modal-header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line)}.modal-header small,.modal-header span,.modal-header strong{display:block}.modal-header small{margin-bottom:4px;color:#818cf8;font-size:9px;font-weight:900;letter-spacing:.12em}.modal-header button{border:0;background:transparent;color:var(--muted)}.task-modal label{display:grid;grid-gap:7px;gap:7px;color:#cbd5e1;font-size:11px;font-weight:800}.task-modal input,.task-modal select,.task-modal textarea{width:100%;min-height:43px;padding:10px 11px;border:1px solid var(--line);border-radius:8px;outline:0;background:#0f172a}.task-modal textarea{resize:vertical}.task-modal input:focus,.task-modal select:focus,.task-modal textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,102,241,.12)}.full-field,.modal-actions{grid-column:1/-1}.modal-actions{display:grid;grid-template-columns:auto 1fr auto auto;grid-gap:8px;gap:8px;padding-top:8px}.modal-actions button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 15px;border:1px solid var(--line);border-radius:8px}.delete-button{background:rgba(239,68,68,.08);color:#f87171}.cancel-button{background:transparent}.save-button{border-color:var(--accent)!important;background:var(--accent)}@media (max-width:768px){.app-shell{display:block}.workspace{width:100%}.sidebar{transform:translateX(-100%);transition:transform .2s ease}.sidebar.open{transform:translateX(0)}.sidebar-head button{display:block}.sidebar-backdrop{position:fixed;z-index:35;inset:0;border:0;background:rgba(2,6,23,.66);opacity:0;pointer-events:none;transition:opacity .2s}.sidebar-backdrop.open{display:block;opacity:1;pointer-events:auto}.mobile-menu{display:grid;place-items:center}.header{padding:11px 14px}.header-actions .sync-state{display:none}.board-toolbar{padding:18px 16px 10px}.board-toolbar p{display:none}.board{grid-template-columns:repeat(3,82vw);padding:8px 16px 24px;scroll-snap-type:x proximity}.column{scroll-snap-align:start}.task-modal{grid-template-columns:1fr;padding:17px}.full-field,.modal-actions,.modal-header{grid-column:1}.modal-actions{grid-template-columns:1fr 1fr}.modal-actions span{display:none}.cancel-button,.delete-button,.save-button{width:100%}}.pwa-install-button{position:fixed;right:14px;bottom:62px;z-index:69;min-height:42px;padding:0 14px;border:1px solid rgba(129,140,248,.45);border-radius:8px;background:#6366f1;color:#fff;box-shadow:0 12px 30px rgba(2,6,23,.35);font-size:12px;font-weight:900}.pwa-help-backdrop{position:fixed;z-index:150;inset:0;display:grid;align-items:end;padding:18px;background:rgba(2,6,23,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pwa-help{position:relative;width:min(100%,480px);margin:0 auto;padding:26px 22px 32px;border:1px solid var(--line);border-radius:8px;background:#172033}.pwa-help-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:0;background:transparent;color:var(--muted);font-size:20px}.pwa-help-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:12px;background:rgba(99,102,241,.18);color:#a5b4fc;font-size:25px}.pwa-help h2{margin:20px 0 14px}.pwa-help ol{display:grid;grid-gap:12px;gap:12px;padding-left:22px;color:#cbd5e1;line-height:1.55}.pwa-help p{color:#cbd5e1;line-height:1.7}@media(max-width:768px){.pwa-install-button{right:12px;bottom:calc(62px + env(safe-area-inset-bottom))}}