:root{color-scheme:dark;--bg:#05070d;--panel:rgba(8,12,22,0.96);--panel-soft:rgba(13,19,31,0.9);--text:#eef4ff;--muted:#98a7b4;--indigo:#6f7ee6;--green:#63c982;--danger:#e55c70;--border:rgba(111,126,230,0.2);--shadow:rgba(0,0,0,0.5);--radius:8px;font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0;padding-bottom:78px;color:var(--text);background:linear-gradient(rgba(111,126,230,0.016) 1px,transparent 1px),linear-gradient(90deg,rgba(99,201,130,0.014) 1px,transparent 1px),linear-gradient(135deg,rgba(111,126,230,0.035),transparent 34%),linear-gradient(315deg,rgba(99,201,130,0.03),transparent 38%),var(--bg);background-size:34px 34px,34px 34px,auto,auto,auto;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--indigo);text-decoration:none}.app-header{border-bottom:1px solid rgba(111,126,230,0.16);background:linear-gradient(90deg,rgba(111,126,230,0.05),rgba(99,201,130,0.032)),rgba(5,7,13,0.94);box-shadow:0 12px 30px var(--shadow)}h1{margin:0;font-family:"Cascadia Mono","Segoe UI",monospace;font-size:clamp(1.55rem,4vw,2.65rem);line-height:1.05;text-transform:uppercase;text-shadow:0 0 14px rgba(111,126,230,0.12)}h1 a,h1 a:hover{color:inherit;text-decoration:none}.header-tagline.is-typing{min-width:var(--typing-width,auto)}.header-tagline.is-typing::after{content:"";display:inline-block;width:8px;height:1em;margin-left:4px;vertical-align:-2px;background:currentColor;box-shadow:0 0 8px currentColor;animation:cursor-blink 800ms steps(2,start) infinite}.header-tagline{max-width:620px;margin:8px 0 0;color:var(--muted);font-weight:700}.task-shell{width:min(1180px,calc(100% - 32px));margin:30px auto 56px}.storage-alert,.task-board,.info-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:0 0 14px rgba(111,126,230,0.035),0 14px 34px var(--shadow)}.storage-alert{margin-bottom:14px;padding:12px 14px;color:#ffe3e9;border-color:rgba(229,92,112,0.34);background:rgba(229,92,112,0.1);font-weight:800}.task-board{min-height:620px;display:grid;grid-template-columns:minmax(230px,310px) minmax(0,1fr);overflow:hidden}.task-board>*,.group-panel>*,.task-panel>*,.task-toolbar>*,.toolbar-actions>*,.task-form>*,.export-panel>*,.export-actions>*,.task-item>*,.task-actions>*{min-width:0}.group-panel{padding:18px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;border-right:1px solid rgba(111,126,230,0.14);background:rgba(0,0,0,0.16)}.panel-header,.task-toolbar,.task-form,.export-panel,.export-actions,.task-actions{display:flex;align-items:center;gap:12px}.panel-header,.task-toolbar,.export-panel{justify-content:space-between}.panel-header h2,.task-toolbar h2{margin:0;color:var(--indigo);font-size:1rem;text-transform:uppercase}.task-toolbar p{margin:4px 0 0;color:var(--muted)}.group-list,.task-list{display:grid;align-content:start;gap:8px;overflow:auto}.group-list.is-over-desktop-limit{max-height:548px;padding-right:4px;border-top:1px solid rgba(111,126,230,0.16);border-bottom:1px solid rgba(111,126,230,0.16)}.task-list.is-over-desktop-limit{max-height:548px;padding-right:4px;border-top:1px solid rgba(111,126,230,0.16);border-bottom:1px solid rgba(111,126,230,0.16)}.group-tab{width:100%;padding:10px 11px;display:grid;gap:4px;text-align:left;color:var(--text);border:1px solid rgba(111,126,230,0.12);border-radius:6px;background:rgba(255,255,255,0.035)}.group-tab:hover,.group-tab:focus-visible,.group-tab.is-active{border-color:var(--indigo);background:rgba(111,126,230,0.065);outline:none}.group-tab strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-tab span,.task-item small{color:var(--muted);font-size:0.82rem}.task-panel{min-width:0;padding:clamp(16px,3vw,26px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:16px}.toolbar-actions,.export-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.export-actions strong{margin-right:4px}.toolbar-actions .icon-button{flex:0 0 42px}.task-form{align-items:end}.field{flex:1 1 260px;display:grid;gap:8px}.field span{color:var(--indigo);font-size:0.76rem;font-weight:900;letter-spacing:0.1em;text-transform:uppercase}input,select,textarea{width:100%;padding:10px 12px;color:var(--text);border:1px solid rgba(111,126,230,0.22);border-radius:6px;background:rgba(0,0,0,0.24);outline:none}input{min-height:46px}select{min-height:46px;cursor:pointer}select option{color:var(--text);background:#0b101a}textarea{min-height:116px;resize:vertical;line-height:1.55}input:focus,select:focus{border-color:var(--indigo);box-shadow:0 0 0 3px rgba(111,126,230,0.085)}textarea:focus{border-color:var(--indigo);box-shadow:0 0 0 3px rgba(111,126,230,0.085)}.task-item{padding:12px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(111,126,230,0.12);border-radius:6px;background:rgba(255,255,255,0.035);cursor:grab;transition:background 160ms ease,border-color 160ms ease}.task-item:active{cursor:grabbing}.task-item.is-selected{border-color:rgba(111,126,230,0.5);background:linear-gradient(135deg,rgba(111,126,230,0.12),rgba(99,201,130,0.07)),rgba(111,126,230,0.08)}.task-item.is-dragged{opacity:0.52}.task-item.is-drop-before{border-top-color:var(--indigo);box-shadow:inset 0 3px 0 rgba(111,126,230,0.68)}.task-item.is-drop-after{border-bottom-color:var(--indigo);box-shadow:inset 0 -3px 0 rgba(111,126,230,0.68)}.task-list.is-dragging .task-item:not(.is-dragged){transition:background 160ms ease,border-color 160ms ease,box-shadow 160ms ease}.task-content{min-width:0}.task-title-row{display:flex;align-items:center;gap:9px}.task-complete{width:21px;height:21px;flex:0 0 21px;display:inline-flex;align-items:center;justify-content:center;color:#061016;border:1px solid rgba(111,126,230,0.42);border-radius:999px;background:rgba(111,126,230,0.05)}.task-complete .bi{font-size:0.78rem}.task-item.is-completed{border-color:rgba(99,201,130,0.3);background:rgba(99,201,130,0.045)}.task-item.is-completed .task-complete{background:linear-gradient(135deg,rgba(99,201,130,0.9),rgba(105,211,190,0.7))}.task-item.is-completed strong{color:#8be49f;text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:rgba(139,228,159,0.68)}.task-item strong{display:block;overflow-wrap:anywhere}.task-created-at{margin-top:6px;display:inline-flex;color:#82dbc5;font-size:0.78rem;font-weight:800}.task-actions{flex:0 0 auto;cursor:default}.empty-state{margin:0;padding:16px;color:var(--muted);border:1px dashed rgba(111,126,230,0.18);border-radius:6px;background:rgba(0,0,0,0.14)}.button-primary,.button-import,.button-secondary,.button-danger,.icon-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-weight:900;text-transform:uppercase}.button-primary,.button-import,.button-secondary,.button-danger{padding:9px 13px}.button-primary{color:#0b0e15;border:1px solid rgba(111,126,230,0.3);background:linear-gradient(135deg,var(--indigo),var(--green));box-shadow:inset 0 -3px 0 rgba(0,0,0,0.24),0 4px 0 rgba(38,34,88,0.42)}.button-secondary{color:var(--text);border:1px solid rgba(111,126,230,0.2);background:rgba(111,126,230,0.065);box-shadow:inset 0 -3px 0 rgba(0,0,0,0.18),0 4px 0 rgba(0,0,0,0.3)}.export-actions .button-secondary{color:#17130a;border-color:rgba(111,126,230,0.38);background:linear-gradient(135deg,rgba(111,126,230,0.78),rgba(99,201,130,0.62)),rgba(12,40,34,0.72);box-shadow:inset 0 -3px 0 rgba(0,0,0,0.2),0 4px 0 rgba(38,34,88,0.34)}#createGroup{color:#08111a;border-color:rgba(130,219,197,0.5);background:linear-gradient(135deg,rgba(130,219,197,0.92),rgba(111,126,230,0.7)),#18342f;box-shadow:inset 0 -3px 0 rgba(0,0,0,0.22),0 4px 0 rgba(28,76,68,0.46)}.button-import{color:#061016;border:1px solid rgba(111,126,230,0.36);background:linear-gradient(135deg,rgba(111,126,230,0.86),rgba(99,201,130,0.72)),#102119;box-shadow:inset 0 -3px 0 rgba(0,0,0,0.24),0 4px 0 rgba(38,34,88,0.38)}.button-danger{color:#fff2f5;border:1px solid rgba(229,92,112,0.5);background:linear-gradient(135deg,rgba(229,92,112,0.86),rgba(166,39,58,0.82)),#240a12;box-shadow:inset 0 -3px 0 rgba(0,0,0,0.22),0 4px 0 rgba(78,18,30,0.48)}.button-secondary:disabled,.button-danger:disabled{opacity:0.4;cursor:not-allowed}.icon-button{width:42px;padding:0;color:var(--text);border:1px solid rgba(111,126,230,0.2);background:rgba(111,126,230,0.065);box-shadow:inset 0 -3px 0 rgba(0,0,0,0.18),0 4px 0 rgba(0,0,0,0.3)}.icon-button--rename{color:#061016;border-color:rgba(111,126,230,0.34);background:linear-gradient(135deg,var(--indigo),var(--green));box-shadow:inset 0 -3px 0 rgba(0,0,0,0.24),0 4px 0 rgba(38,34,88,0.38)}.icon-button--rename:disabled{opacity:0.42;cursor:not-allowed}.icon-button--info{color:#061016;border-color:rgba(96,190,224,0.36);background:linear-gradient(135deg,rgba(96,190,224,0.76),rgba(111,126,230,0.58)),#10212c;box-shadow:inset 0 -3px 0 rgba(0,0,0,0.22),0 4px 0 rgba(8,46,66,0.42)}.icon-button--info:disabled{opacity:0.36;cursor:not-allowed}.icon-button.icon-button--danger{color:#fff2f5;border-color:rgba(229,92,112,0.58);background:linear-gradient(135deg,rgba(229,92,112,0.9),rgba(166,39,58,0.86)),#240a12;box-shadow:inset 0 -3px 0 rgba(0,0,0,0.24),0 4px 0 rgba(78,18,30,0.52)}.icon-button.icon-button--danger:disabled{opacity:0.42;cursor:not-allowed}.button-primary:active,.button-import:active,.button-secondary:active,.button-danger:active,.button-export-all:active,.icon-button:active,.task-dialog__close:active{box-shadow:inset 0 -1px 0 rgba(0,0,0,0.24),0 2px 0 rgba(0,0,0,0.32);transform:translateY(2px)}.bi{font-size:1rem;line-height:1}.info-panel{margin-top:18px;padding:clamp(18px,4vw,30px)}.info-panel h2{margin:0 0 12px;color:var(--indigo)}.info-panel p{margin:12px 0 0;color:var(--muted)}.privacy-note{padding:10px 12px;border-left:3px solid var(--indigo);background:rgba(111,126,230,0.045);border-radius:6px}.task-dialog{width:min(460px,calc(100% - 32px));padding:0;color:var(--text);border:1px solid rgba(111,126,230,0.24);border-radius:var(--radius);background:linear-gradient(135deg,rgba(111,126,230,0.075),rgba(99,201,130,0.04)),var(--panel);box-shadow:0 18px 52px rgba(0,0,0,0.58)}.task-dialog::backdrop{background:rgba(2,5,12,0.72)}.task-dialog__panel{padding:20px;display:grid;gap:14px}.task-dialog__header,.task-dialog__actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.task-dialog h2{margin:0;color:var(--indigo);font-size:1rem;letter-spacing:0.08em;text-transform:uppercase}.task-dialog p{margin:0;color:var(--muted)}.task-dialog.is-rename-dialog #taskDialogMessage{display:none}.task-dialog.is-rename-dialog #taskDialogCancel{color:#fff2f5;border-color:rgba(229,92,112,0.48);background:linear-gradient(135deg,rgba(229,92,112,0.18),rgba(166,39,58,0.22)),rgba(36,10,18,0.88);box-shadow:inset 0 -3px 0 rgba(0,0,0,0.2),0 4px 0 rgba(78,18,30,0.42)}.task-dialog.is-rename-dialog #taskDialogCancel:hover{border-color:rgba(255,133,150,0.72);background:linear-gradient(135deg,rgba(255,111,136,0.26),rgba(194,46,69,0.3)),rgba(36,10,18,0.92)}.task-dialog:not(.is-rename-dialog) #taskDialogMessage{white-space:pre-wrap}.task-dialog__field{display:grid;gap:8px}.task-dialog__field[hidden]{display:none}.task-dialog__field span{color:var(--indigo);font-size:0.76rem;font-weight:900;letter-spacing:0.1em;text-transform:uppercase}.task-dialog .task-dialog__error{min-height:1.2em;color:#ffd5dc;font-weight:800}.task-dialog__close{width:34px;height:34px;color:#fff;border:1px solid rgba(255,255,255,0.82);border-radius:6px;background:var(--danger);box-shadow:inset 0 -3px 0 rgba(0,0,0,0.22),0 4px 0 rgba(78,18,30,0.48);font-weight:900}.task-dialog.is-description-dialog .task-dialog__close{display:none}.task-dialog.is-export-dialog #taskDialogCancel{display:none}#taskDialogSecondary{display:none}.task-dialog.is-export-dialog #taskDialogSecondary:not([hidden]){display:inline-flex}.button-export-all{min-height:42px;padding:9px 13px;display:inline-flex;align-items:center;justify-content:center;color:#17130a;border:1px solid rgba(214,177,106,0.54);border-radius:6px;background:rgba(214,177,106,0.68);box-shadow:inset 0 -3px 0 rgba(0,0,0,0.24),0 4px 0 rgba(78,54,20,0.42);font-weight:900;text-transform:uppercase}.task-dialog__actions{justify-content:flex-end}.noscript-alert{width:min(1080px,calc(100% - 32px));margin:16px auto 0;padding:12px 14px;color:#ffe1e8;border:1px solid rgba(255,116,137,0.36);border-radius:var(--radius);background:rgba(255,79,109,0.12)}@keyframes cursor-blink{50%{opacity:0}}@media (max-width:840px){.task-board{grid-template-columns:1fr}.group-panel{border-right:0;border-bottom:1px solid rgba(111,126,230,0.14)}.task-toolbar,.task-form,.export-panel{align-items:stretch;flex-direction:column}.task-form .field{flex:0 0 auto}.toolbar-actions,.export-actions,.button-primary,.button-import,.button-secondary,.button-danger{width:100%}.toolbar-actions .icon-button{flex:0 0 42px}.export-actions>*{flex:1 1 0}.group-list.is-over-mobile-limit{max-height:228px;padding-right:4px;border-top:1px solid rgba(111,126,230,0.16);border-bottom:1px solid rgba(111,126,230,0.16)}.task-list.is-over-mobile-limit{max-height:328px;padding-right:4px;border-top:1px solid rgba(111,126,230,0.16);border-bottom:1px solid rgba(111,126,230,0.16)}}@media (min-width:768px) and (max-width:840px){.task-form{align-items:end;flex-direction:row}.task-form .field{flex:1 1 auto}.task-form .button-primary{width:auto;flex:0 0 auto}}@media (max-width:760px){.task-shell{width:calc(100% - 20px)}.task-item{align-items:stretch;flex-direction:column}body{padding-bottom:0}}@media (max-width:425px){.task-form{position:relative;gap:12px;padding-top:18px}.task-form::before{content:"";position:absolute;top:0;right:12px;left:12px;height:2px;background:linear-gradient(90deg,transparent,rgba(111,126,230,0.46),transparent)}.toolbar-actions{justify-content:flex-end}.toolbar-actions #renameGroup{margin-right:auto}.task-form label.field{width:100%;max-width:100%;display:grid;flex:0 0 auto;gap:7px}.task-form label.field span{text-align:center}.task-form label.field input{min-height:34px;width:100%;padding:5px 8px}.task-form .button-primary{width:auto;margin:4px auto;padding-right:16px;padding-left:16px}.task-item{align-items:stretch;flex-direction:column}.task-actions{width:100%;margin-left:auto;justify-content:flex-end}.task-actions .icon-button--rename{order:-1;margin-right:auto}.task-actions .icon-button,.toolbar-actions .icon-button,#createGroup{width:36px;min-height:36px;flex-basis:36px}.task-actions .bi,.toolbar-actions .bi,#createGroup .bi{font-size:0.9rem}.button-primary,.button-import,.button-secondary,.button-export-all{min-height:38px;padding:7px 11px;font-size:0.92rem}.task-dialog.is-export-dialog .task-dialog__actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.task-dialog.is-export-dialog #taskDialogConfirm,.task-dialog.is-export-dialog #taskDialogSecondary{width:100%;min-width:0;padding-right:8px;padding-left:8px;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.15}}.task-created,.storage-alert,.task-dialog__message{font-family:var(--font-data),"Cascadia Mono","Segoe UI",monospace}