:root{--bg-base: #0c0d0e;--bg-surface: #141517;--bg-overlay: #1b1d1f;--bg-hover: rgba(255, 255, 255, .045);--bg-active: rgba(255, 255, 255, .08);--fg-primary: #e9e9eb;--fg-secondary: #a2a4a8;--fg-muted: #6f7276;--fg-faint: #4a4d51;--accent: #10b981;--danger: #e2725b;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .12);--radius: .75rem;--radius-lg: 1rem;--sat: max(env(safe-area-inset-top, 0px), var(--safe-area-inset-top, 0px));--sab: max(env(safe-area-inset-bottom, 0px), var(--safe-area-inset-bottom, 0px));--sal: max(env(safe-area-inset-left, 0px), var(--safe-area-inset-left, 0px));--sar: max(env(safe-area-inset-right, 0px), var(--safe-area-inset-right, 0px));--tap: 44px;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg-base);color:var(--fg-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}body.scroll-locked{overflow:hidden}button,input,textarea,select{font:inherit;color:inherit;background:none;border:none;outline:none}button,a,[role=button]{touch-action:manipulation}button{cursor:pointer}a{color:var(--accent);text-decoration:none}.app{height:100%;display:flex;flex-direction:column;padding-left:var(--sal);padding-right:var(--sar)}@supports (height: 100dvh){.app{height:100dvh}}.app-bar{padding-top:calc(var(--sat) + .875rem);padding-bottom:.875rem;padding-left:1.25rem;padding-right:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0}.wordmark{font-size:14px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.app-bar .meta{font-size:11px;color:var(--fg-muted);letter-spacing:.06em}.btn{border-radius:var(--radius);padding:.5rem .95rem;font-size:13px;min-height:2.25rem;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease}.btn-primary{background:var(--accent);color:#06281c;font-weight:500}.btn-primary:hover{filter:brightness(1.08)}.btn-primary:disabled{opacity:.5;cursor:default;filter:none}.btn-ghost{color:var(--fg-secondary)}.btn-ghost:hover{background:var(--bg-hover);color:var(--fg-primary)}.btn-danger{color:var(--danger)}.btn-danger:hover{background:var(--bg-hover)}.btn-danger.armed{background:var(--danger);color:#1a0d09;font-weight:500}.board{flex:1;min-height:0;display:flex;gap:1.25rem;overflow-x:auto;overflow-y:hidden;padding:.25rem 1.25rem calc(var(--sab) + 1.25rem);scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.lane{min-width:264px;width:264px;display:flex;flex-direction:column;min-height:0;scroll-snap-align:start}.lane-head{display:flex;align-items:center;padding:0}.lane-toggle{display:flex;align-items:center;gap:.5rem;width:100%;min-height:var(--tap);padding:.5rem .25rem;background:none;border:0;border-radius:var(--radius);color:inherit;font:inherit;text-align:left;cursor:pointer}.lane-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lane-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted)}.lane-count{margin-left:auto;font-size:11px;color:var(--fg-faint);font-variant-numeric:tabular-nums}.lane-caret{font-size:11px;color:var(--fg-faint)}.lane-head.is-collapsed .lane-label,.lane-head.is-collapsed .lane-count{color:var(--fg-muted)}.lane-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:.625rem;overflow-y:auto;overscroll-behavior-x:auto;overscroll-behavior-y:contain;padding:.125rem;border-radius:var(--radius);transition:background .15s ease}.lane-body.drag-over{background:var(--bg-hover)}.card{background:var(--bg-surface);border-radius:var(--radius);padding:.8rem .95rem;cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .15s ease,transform .15s ease}.card:hover{background:var(--bg-overlay)}.card:active{background:var(--bg-active)}.card.dragging{opacity:.4}.card-name{font-size:14px;font-weight:500;color:var(--fg-primary)}.card-oneline{font-size:13px;color:var(--fg-secondary);margin-top:.25rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-foot{margin-top:.625rem;display:flex;align-items:center;gap:.5rem;font-size:11px;color:var(--fg-muted)}.type-chip{border:1px solid var(--border-strong);border-radius:999px;padding:.0625rem .5rem;font-size:11px;color:var(--fg-secondary)}.card-date{margin-left:auto;color:var(--fg-faint);font-variant-numeric:tabular-nums}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;justify-content:flex-end;z-index:40}.sheet{width:min(560px,100%);height:100%;background:var(--bg-surface);overflow-y:auto;overscroll-behavior:contain;padding:calc(var(--sat) + 1.25rem) 1.5rem calc(var(--sab) + 2rem);display:flex;flex-direction:column;gap:1.125rem}.sheet-grab{display:none;width:36px;height:4px;border-radius:999px;background:var(--border-strong);margin:-.25rem auto .25rem;flex-shrink:0}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.field{display:flex;flex-direction:column;gap:.375rem}.field-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted)}.input,.textarea{background:var(--bg-base);border-radius:var(--radius);padding:.625rem .75rem;font-size:13px;color:var(--fg-primary);width:100%}.textarea{min-height:8rem;resize:vertical;line-height:1.6}.input:focus,.textarea:focus{box-shadow:0 0 0 1px var(--border-strong)}.chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.chip{border:1px solid var(--border-strong);border-radius:999px;padding:.25rem .75rem;font-size:13px;color:var(--fg-secondary);transition:all .15s ease}.chip:hover{background:var(--bg-hover);color:var(--fg-primary)}.chip.active{background:var(--accent);border-color:var(--accent);color:#06281c;font-weight:500}.changelog-feed{display:flex;flex-direction:column;gap:.75rem}.changelog-entry{background:var(--bg-base);border-radius:var(--radius);padding:.75rem .875rem;font-size:13px;color:var(--fg-secondary);position:relative;white-space:pre-wrap}.changelog-entry .meta{font-size:11px;color:var(--fg-faint);margin-top:.375rem;display:flex;gap:.625rem;align-items:center}.changelog-entry .del{color:var(--fg-faint);font-size:11px;padding:.375rem .25rem}.changelog-entry .del:hover{color:var(--danger)}.divider{height:1px;background:var(--border)}.empty-hint{font-size:13px;color:var(--fg-faint);padding:1.5rem .25rem}.action-backdrop{align-items:flex-end;justify-content:center}.action-sheet{width:min(480px,100%);background:var(--bg-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:.75rem 1rem calc(var(--sab) + 1rem);display:flex;flex-direction:column;gap:.25rem;animation:sheet-up .18s ease;max-height:85%;overflow-y:auto;overscroll-behavior:contain}@keyframes sheet-up{0%{transform:translateY(28px);opacity:.5}to{transform:translateY(0);opacity:1}}.action-title{font-size:13px;font-weight:500;padding:.375rem .5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-sub{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted);padding:.25rem .5rem .375rem}.action-list{display:flex;flex-direction:column}.action-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:var(--tap);padding:.625rem .75rem;border-radius:var(--radius);font-size:14px;color:var(--fg-primary);text-align:left}.action-item:active{background:var(--bg-active)}.action-item.current{color:var(--fg-muted)}.action-check{font-size:11px;color:var(--accent);letter-spacing:.06em}.action-open{color:var(--accent);font-weight:500;margin-top:.375rem}.action-cancel{color:var(--fg-secondary)}.fab{display:none;position:fixed;right:calc(var(--sar) + 1.125rem);bottom:calc(var(--sab) + 1.125rem);width:3.5rem;height:3.5rem;border-radius:999px;background:var(--accent);color:#06281c;font-size:1.75rem;font-weight:400;line-height:1;align-items:center;justify-content:center;z-index:30;box-shadow:0 6px 24px #00000073}.fab:active{filter:brightness(1.1)}.login-wrap{height:100%;display:flex;align-items:center;justify-content:center;padding:calc(var(--sat) + 1rem) 1.5rem calc(var(--sab) + 1rem)}.login-card{width:min(340px,100%);display:flex;flex-direction:column;gap:1rem}.login-card .wordmark{text-align:center;margin-bottom:.5rem}.login-error{color:var(--danger);font-size:13px;text-align:center}.new-sheet{width:min(480px,100%);background:var(--bg-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:.75rem 1.25rem calc(var(--sab) + 1.25rem);display:flex;flex-direction:column;gap:1rem;animation:sheet-up .18s ease;max-height:85%;overflow-y:auto;overscroll-behavior:contain}.new-sheet .input{font-size:16px;padding:.75rem}@media (max-width: 640px),(pointer: coarse){.input,.textarea{font-size:16px}}@media (max-width: 640px){.btn{min-height:var(--tap);padding:.625rem 1rem}.chip{min-height:var(--tap);display:inline-flex;align-items:center;padding:.375rem .875rem}.app-bar .btn-primary{display:none}.fab{display:flex}.board{gap:.875rem;padding:.25rem 1rem calc(var(--sab) + 6.5rem);scroll-snap-type:x mandatory;scroll-padding-left:1rem;scrollbar-width:none}.board::-webkit-scrollbar{display:none}.lane{min-width:84vw;width:84vw}.sheet-backdrop{justify-content:center;align-items:flex-end}.sheet{width:100%;height:auto;max-height:92%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:.75rem 1.25rem calc(var(--sab) + 1.5rem);animation:sheet-up .18s ease}.sheet-grab{display:block}.sheet-head .btn{flex-shrink:0}}@media (hover: none){.card:hover{background:var(--bg-surface)}.btn-ghost:hover{background:none;color:var(--fg-secondary)}}
