/* Compact working surface, shared controls, touch-accessible actions. */
:root{--control-height:44px;--radius:10px;--space:8px}
.brand-logo{display:block;object-fit:contain}.mobile-brand img{vertical-align:middle;margin-right:7px;object-fit:contain}
.column-head{min-height:40px}.page-heading>a{flex:none}.board-section{margin-top:28px}
@media(max-width:620px){.page-heading>a{width:100%;min-height:48px}.board-section{margin-top:22px}.page-heading{margin-bottom:15px}}
.topbar{height:64px;gap:20px}.topbar #sync-state{margin-left:auto;font-size:13px;color:var(--muted)}.topbar #sync-state.sync-error{color:var(--danger)}.mobile-brand{display:none}.content{padding-top:32px}.page-heading{margin-bottom:24px}.page-heading h1{font-size:32px}.heading-actions{display:flex;gap:10px}.page-heading p{margin-top:9px}.button,.icon-button{min-height:var(--control-height)}.icon-button{min-width:var(--control-height)}
.capture{padding:15px 20px;margin-bottom:28px;background:var(--surface);gap:14px}.capture-icon{color:var(--brand)}.capture-icon svg{width:22px;height:22px}.capture label{font-size:13px;color:var(--muted);margin-bottom:1px}.quick-row input{font-size:16px;min-height:44px}.quick-submit{min-width:44px;min-height:44px;background:var(--bg);border:1px solid var(--line)}.capture-hint{padding-left:20px}
.board-tools{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:16px}.search-field{display:flex;align-items:center;gap:10px;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:0 12px;width:310px;max-width:100%;background:var(--bg)}.search-field input{border:0;min-height:44px;width:100%;min-width:0;font-size:14px;color:var(--ink);background:transparent;outline-offset:0}.search-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 2px var(--tint)}.search-field input::placeholder{color:var(--muted)}.board-caption{font-size:13px;color:var(--muted)}.toolbar{margin-bottom:18px}.filters{padding:3px;background:var(--surface);border-radius:9px}.filters button{min-height:42px}.filters button.active{box-shadow:0 1px 4px oklch(.2 .02 230 / .05)}.board{gap:16px}.column{border-color:transparent;padding:12px;min-height:360px}.column-head{padding:0 0 10px}.column-count{padding:2px 6px;background:var(--bg);border-radius:5px}.task-card{padding:15px 16px;box-shadow:0 2px 3px oklch(.2 .02 230 / .025);border-radius:var(--radius)}.task-card:hover{border-color:oklch(.73 .05 230)}.card-top{margin-bottom:8px;min-height:36px}.complete-task{display:grid;place-items:center;flex:none;margin-left:auto;min-width:40px;height:40px;border-radius:50%;color:var(--muted);border:1px solid var(--line);background:var(--bg)}.complete-task:hover,.complete-task.completed{color:var(--brand);background:var(--tint);border-color:var(--tint)}.complete-task svg{width:18px;height:18px}.urgent{margin-left:auto}.urgent+.complete-task{margin-left:4px}.card-title{font-size:16px;line-height:1.5;min-height:28px}.card-meta{margin-top:18px;padding-top:10px}.card-meta select{min-height:38px;font-size:13px;max-width:130px;border-color:var(--line)}.due{font-size:13px}.add-column{min-height:44px}.board-footer{margin-top:17px}.connection-error{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--danger);border-radius:8px;padding:12px 15px;font-size:14px;line-height:1.5;color:var(--danger);margin-bottom:18px}.connection-error button{color:var(--danger);white-space:nowrap;min-height:44px}.due-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:20px;font-size:13px;color:var(--muted)}.due-shortcuts button{border:1px solid var(--line);border-radius:6px;padding:8px 10px;min-height:40px;background:var(--surface);font-size:13px}.due-shortcuts button:hover{border-color:var(--brand);color:var(--brand)}#delete-task{min-height:44px}#toast{max-width:min(520px,calc(100vw - 32px));line-height:1.5;bottom:calc(20px + env(safe-area-inset-bottom))}
@media(max-width:1050px){.page-heading{align-items:flex-start}.heading-actions{flex-direction:column}.heading-actions .button{padding:10px 13px}.page-heading h1{font-size:30px}}
@media(max-width:620px){.topbar{min-height:52px;height:auto;padding:8px 18px;padding-top:max(8px,env(safe-area-inset-top))}.desktop-crumb{display:none}.mobile-brand{display:block;font-size:23px;font-weight:750;letter-spacing:-.5px}.topbar #sync-state{font-size:12px}.content{padding:20px 16px calc(24px + env(safe-area-inset-bottom))}.page-heading{gap:17px;margin-bottom:18px}.page-heading h1{font-size:28px}.page-heading p{font-size:13px;line-height:1.5;margin-top:7px}.heading-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:9px}.heading-actions .button{font-size:14px;min-height:46px;padding:10px}.capture{padding:9px 12px;gap:9px;margin-bottom:22px}.capture-icon{display:none}.capture label{font-size:12px}.quick-row input{font-size:16px}.quick-submit{min-width:44px;min-height:44px}.board-tools{margin-bottom:12px}.search-field{width:100%}.search-field input{font-size:16px}.board-caption{display:none}.toolbar{margin-bottom:10px}.filters{flex:1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;padding:2px}.filters button{justify-content:center;padding:7px 4px;font-size:14px;gap:5px}.filters button>span:last-child:not([data-icon]){font-size:12px;padding:2px 4px}.filters button svg{width:14px;height:14px}.toolbar #refresh{min-width:44px;min-height:44px;justify-content:center}.mobile-tabs{margin-bottom:14px;position:sticky;top:0;background:var(--bg);z-index:2}.mobile-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;font-size:14px}.mobile-tabs button span{font-size:12px;padding:2px 5px;background:var(--surface);border-radius:5px}.mobile-tabs button.active span{background:var(--tint);color:var(--brand)}.column{padding:10px;min-height:280px;border-radius:10px}.column-head{display:none}.task-card{padding:13px 15px}.card-title{font-size:17px;min-height:32px}.tag,.urgent,.due{font-size:14px}.complete-task{min-width:44px;height:44px}.card-meta select{min-height:44px;font-size:14px}.card-meta{margin-top:12px;padding-top:9px}.board-footer{font-size:13px}.empty{padding:35px 15px}.notice{font-size:13px;padding:10px 13px;margin-bottom:16px}.notice button{min-height:38px}.due-shortcuts{font-size:14px}.due-shortcuts button{min-height:44px;font-size:14px}dialog{padding:22px 18px;border-radius:16px}.dialog-actions{position:sticky;bottom:-22px;background:var(--bg);padding:14px 0 4px;margin-top:14px}.dialog-actions .button{min-height:46px}.connection-error{align-items:flex-start}.sidebar-note{display:none}}
/* Explicit foreground and canvas prevent light root colors leaking into Telegram dark mode. */
body{color:var(--ink);background:var(--bg)}
.in-telegram{--panel:color-mix(in srgb,var(--ink) 9%,var(--bg));--line:color-mix(in srgb,var(--ink) 20%,var(--bg));--muted:color-mix(in srgb,var(--ink) 72%,var(--bg))}
.in-telegram .layout{padding-top:var(--app-safe-top,0px);padding-left:var(--app-safe-left,0px);padding-right:var(--app-safe-right,0px)}
.in-telegram .content{padding-bottom:calc(24px + max(env(safe-area-inset-bottom),var(--app-safe-bottom,0px)))}
.in-telegram dialog{max-height:calc(var(--app-height,100dvh) - var(--app-safe-top,0px) - var(--app-safe-bottom,0px) - 28px);overflow-y:auto}
.dark .task-card{box-shadow:none}.dark .card-meta{border-top-color:var(--line)}
.dark input::placeholder,.dark textarea::placeholder{color:var(--muted);opacity:1}
.dark select option{background:var(--bg);color:var(--ink)}
@media(max-width:620px){.in-telegram .topbar{min-height:46px;padding-top:6px;padding-bottom:6px}.in-telegram .content{padding-top:16px}.in-telegram .page-heading{gap:12px}.in-telegram .board-section{margin-top:18px}}
#theme-choice{font:inherit;font-size:13px;min-height:44px;max-width:112px;padding:8px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--bg);cursor:pointer}
@media(max-width:620px){#theme-choice{font-size:16px;max-width:114px}.topbar{gap:10px}.topbar #sync-state{font-size:11px}}
