*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--bg-elevated: #181b24;--bg-hover: #1e2230;--border: #2a2f3d;--text: #e8eaef;--text-muted: #8b92a5;--accent: #6366f1;--accent-hover: #818cf8;--danger: #ef4444;--radius: 10px;--radius-sm: 6px;--shadow: 0 4px 24px rgba(0, 0, 0, .35);--font: "DM Sans", system-ui, sans-serif;--mono: "JetBrains Mono", monospace;--header-height: auto;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--column-width: 300px}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}.app{display:flex;flex-direction:column;height:100%;overflow:hidden}.header{display:flex;flex-direction:column;gap:0;padding:calc(.75rem + var(--safe-top)) 1rem .75rem;border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0}.header__top{display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand menu" "stats stats";align-items:center;gap:.65rem .75rem;width:100%}.header__brand{grid-area:brand;display:flex;align-items:center;gap:.75rem;min-width:0}.header__title{font-size:1.1rem;font-weight:700;letter-spacing:-.02em}.header__subtitle{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header__local{display:inline-flex;align-items:center;gap:.3rem;margin-top:.2rem;font-size:.68rem;color:#22c55e;white-space:nowrap}.local-notice{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.45rem 1rem;font-size:.72rem;color:var(--text-muted);border-bottom:1px solid var(--border);background:#22c55e0f}.local-notice__dismiss{flex-shrink:0;padding:.2rem .55rem;border-radius:var(--radius-sm);font-size:.68rem;color:var(--text-muted);border:1px solid var(--border)}.local-notice__dismiss:hover{background:var(--bg-hover);color:var(--text)}.filters__hint{font-size:.72rem;color:var(--accent);padding-top:.45rem}.header__stats{grid-area:stats;display:flex;gap:1rem}.header__actions{display:flex;gap:.5rem}.header__actions--desktop{display:none}.header__menu-btn{grid-area:menu;justify-self:end;width:40px;height:40px;border-radius:var(--radius-sm);color:var(--text-muted);display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.header__menu-btn:hover{background:var(--bg-hover);color:var(--text)}.header__menu{display:flex;flex-direction:column;margin-top:.65rem;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.header__menu-item{padding:.75rem 1rem;text-align:left;font-size:.875rem;color:var(--text);border-bottom:1px solid var(--border);transition:background .15s}.header__menu-item:last-child{border-bottom:none}.header__menu-item:hover{background:var(--bg-hover)}.header__menu-item--danger{color:var(--danger)}.stat{font-size:.8rem;color:var(--text-muted)}.stat strong{color:var(--text);font-weight:600}.stat--filter{color:var(--accent)}.filters{display:flex;flex-direction:column;gap:0;padding:.65rem 1rem;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0}.filters__row{display:flex;align-items:center;gap:.5rem;width:100%}.filters__search{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;padding:.45rem .75rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted)}.filters__toggle{flex-shrink:0;position:relative}.filters__badge{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--accent)}.filters__clear{flex-shrink:0}.filters__panel{display:none;flex-wrap:wrap;gap:.5rem;padding-top:.65rem}.filters--expanded .filters__panel{display:flex}.filters__panel select{flex:1 1 calc(50% - .25rem);min-width:0}.filters__search input{flex:1;border:none;background:transparent;outline:none;color:var(--text)}.filters select{padding:.45rem .75rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;cursor:pointer}.filters select:focus{border-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:var(--radius-sm);font-weight:500;font-size:.875rem;transition:background .15s,color .15s}.btn--sm{padding:.35rem .75rem;font-size:.8rem}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--primary:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{color:var(--text-muted);border:1px solid var(--border)}.btn--ghost:hover{background:var(--bg-hover);color:var(--text)}.btn--danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn--danger:hover{background:#ef44441a}.btn--danger-solid{background:var(--danger);color:#fff}.btn--danger-solid:hover{background:#dc2626}.app__main{flex:1;overflow:hidden;min-height:0}.board-shell{display:flex;flex-direction:column;height:100%;min-height:0}.board-nav{display:flex;gap:.5rem;padding:.65rem 1rem;overflow-x:auto;flex-shrink:0;border-bottom:1px solid var(--border);background:var(--bg);scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}.board-nav::-webkit-scrollbar{display:none}.board-nav__pill{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;padding:.4rem .65rem;border-radius:999px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);font-size:.75rem;font-weight:500;transition:background .15s,border-color .15s,color .15s;scroll-snap-align:start}.board-nav__pill--active{background:#6366f11f;font-weight:600}.board-nav__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.board-nav__label{white-space:nowrap}.board-nav__count{font-family:var(--mono);font-size:.65rem;opacity:.85}.board{display:flex;gap:1rem;flex:1;min-height:0;padding:.75rem 1rem calc(5rem + var(--safe-bottom));overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.board::-webkit-scrollbar{height:4px}.column{display:flex;flex-direction:column;width:var(--column-width);min-width:var(--column-width);max-height:100%;flex-shrink:0;scroll-snap-align:start;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s}.column--over{border-color:var(--accent);box-shadow:0 0 0 2px #6366f140}.column__header{padding:.85rem 1rem;border-top:3px solid;border-radius:var(--radius) var(--radius) 0 0;display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;flex-shrink:0}.column__header-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}.column__hidden{font-size:.65rem;color:var(--accent);white-space:nowrap}.column__title-row{display:flex;align-items:center;gap:.5rem}.column__dot{width:8px;height:8px;border-radius:50%}.column__title{font-size:.9rem;font-weight:600}.column__count{font-size:.75rem;color:var(--text-muted);background:var(--bg);padding:.1rem .45rem;border-radius:999px;font-family:var(--mono)}.column__points{font-size:.7rem;color:var(--text-muted);font-family:var(--mono)}.column__body{flex:1;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.5rem;min-height:80px}.column__empty{text-align:center;font-size:.8rem;color:var(--text-muted);padding:1.5rem .5rem;border:1px dashed var(--border);border-radius:var(--radius-sm)}.column__add{padding:.65rem;margin:0 .5rem .5rem;border-radius:var(--radius-sm);color:var(--text-muted);font-size:.85rem;text-align:left;transition:background .15s,color .15s}.column__add:hover{background:var(--bg-hover);color:var(--text)}.task-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .15s,box-shadow .15s}.task-card__inner{display:flex;align-items:stretch}.task-card__handle{flex-shrink:0;width:28px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem;border-right:1px solid var(--border);cursor:grab;touch-action:none;opacity:.5;transition:opacity .15s,color .15s}.task-card:hover .task-card__handle,.task-card__handle:focus-visible{opacity:1;color:var(--text)}.task-card__handle:active{cursor:grabbing}.task-card__handle--static{cursor:default;border-right:1px solid var(--border)}.task-card:hover{border-color:#3d4455}.task-card--dragging{box-shadow:var(--shadow)}.task-card--overlay{box-shadow:var(--shadow);rotate:2deg;cursor:grabbing}.task-card--overlay .task-card__body{pointer-events:none}.task-card__body{display:block;flex:1;min-width:0;padding:.75rem;text-align:left;cursor:pointer}.task-card__body--static{cursor:default}.task-card__labels{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.4rem}.task-card__label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .4rem;border-radius:4px}.task-card__title{font-size:.875rem;font-weight:600;line-height:1.35;margin-bottom:.25rem}.task-card__desc{font-size:.78rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.5rem}.task-card__footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.task-card__priority{font-size:.7rem;font-weight:500;text-transform:capitalize}.task-card__meta{display:flex;align-items:center;gap:.4rem}.task-card__points{font-size:.7rem;font-family:var(--mono);color:var(--text-muted);background:var(--bg-elevated);padding:.1rem .35rem;border-radius:4px}.task-card__due{font-size:.68rem;color:var(--text-muted)}.task-card__due--overdue{color:var(--danger);font-weight:500}.task-card__updated{font-size:.65rem;color:var(--text-muted)}.task-card__assignee{width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-size:.6rem;font-weight:600;display:flex;align-items:center;justify-content:center}.fab{position:fixed;bottom:calc(1rem + var(--safe-bottom));right:calc(1rem + env(safe-area-inset-right,0px));width:52px;height:52px;border-radius:50%;background:var(--accent);color:#fff;font-size:1.75rem;font-weight:300;line-height:1;box-shadow:var(--shadow);transition:background .15s,transform .15s;z-index:50}.fab:hover{background:var(--accent-hover);transform:scale(1.05)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal{width:100%;max-width:560px;max-height:90vh;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.modal__header h2{font-size:1.1rem;font-weight:600}.modal__meta{font-size:.72rem;color:var(--text-muted);margin-top:.15rem}.modal__close{width:32px;height:32px;border-radius:var(--radius-sm);font-size:1.5rem;line-height:1;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.modal__close:hover{background:var(--bg-hover);color:var(--text)}.modal__form{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.field{display:flex;flex-direction:column;gap:.35rem}.field span,.field legend{font-size:.8rem;font-weight:500;color:var(--text-muted)}.field input,.field select,.field textarea{padding:.55rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{resize:vertical;min-height:80px}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.label-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem}.label-chip{padding:.3rem .65rem;border-radius:999px;font-size:.78rem;font-weight:500;border:1px solid var(--border);color:var(--text-muted);transition:all .15s}.label-chip:hover{border-color:var(--text-muted)}.label-chip--active{font-weight:600}.modal__footer{display:flex;flex-direction:column-reverse;align-items:stretch;gap:.75rem;padding-top:.5rem}.modal__footer-right{display:flex;gap:.5rem;width:100%}.modal__footer-right .btn{flex:1}.modal__footer .btn--danger{width:100%}.confirm-dialog{width:100%;max-width:420px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.confirm-dialog h2{font-size:1.05rem;font-weight:600;margin-bottom:.5rem}.confirm-dialog p{font-size:.875rem;color:var(--text-muted);margin-bottom:1.25rem;line-height:1.5}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:.5rem}.toast-stack{position:fixed;bottom:calc(5rem + var(--safe-bottom));left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:.5rem;z-index:200;width:min(420px,calc(100vw - 2rem))}.toast{display:flex;align-items:center;gap:.65rem;padding:.75rem 1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);font-size:.85rem}.toast__action{flex-shrink:0;color:var(--accent);font-weight:600;font-size:.8rem}.toast__action:hover{color:var(--accent-hover)}.toast__close{margin-left:auto;flex-shrink:0;width:24px;height:24px;border-radius:4px;color:var(--text-muted);font-size:1.1rem;line-height:1}.toast__close:hover{background:var(--bg-hover);color:var(--text)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3d4455}@media(min-width:640px){.header{padding:calc(.85rem + var(--safe-top)) 1.25rem .85rem}.header__title{font-size:1.2rem}.filters{padding:.75rem 1.25rem}.board{padding:.85rem 1.25rem calc(4.5rem + var(--safe-bottom))}.board-nav{padding:.65rem 1.25rem}:root{--column-width: min(85vw, 320px)}}@media(min-width:768px){.filters__toggle,.filters__clear{display:none}.filters__panel{display:flex!important;padding-top:0;flex:1;justify-content:flex-end}.filters__row{flex-wrap:nowrap}.filters__panel select{flex:0 1 auto;min-width:130px}.modal__footer{flex-direction:row;align-items:center;justify-content:space-between}.modal__footer-right{width:auto;margin-left:auto}.modal__footer-right .btn{flex:0 0 auto}.modal__footer .btn--danger{width:auto}}@media(min-width:1024px){:root{--column-width: 300px}.header{padding:1rem 1.5rem}.header__top{display:flex;align-items:center;gap:1.5rem}.header__stats{margin-left:auto}.header__menu-btn,.header__menu{display:none}.header__actions--desktop{display:flex}.filters{flex-direction:row;align-items:center;gap:.75rem;padding:.75rem 1.5rem}.filters__row{flex:1;min-width:0}.filters__search{max-width:320px}.board{padding:1rem 1.5rem 1.5rem;scroll-snap-type:none}.column{scroll-snap-align:none}}@media(min-width:1280px){:root{--column-width: 320px}}@media(max-width:767px){.modal-backdrop{align-items:flex-end;padding:0}.modal{max-height:92vh;border-radius:var(--radius) var(--radius) 0 0;border-bottom:none;padding-bottom:var(--safe-bottom)}.modal__header,.modal__form{padding-left:1rem;padding-right:1rem}.field-row{grid-template-columns:1fr}}@media(hover:none)and (pointer:coarse){.task-card__handle{opacity:1}.fab{width:56px;height:56px}}
