/*!
 * Bootstrap Reboot v5.3.7 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 13, 110, 253;--bs-secondary-rgb: 108, 117, 125;--bs-success-rgb: 25, 135, 84;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 193, 7;--bs-danger-rgb: 220, 53, 69;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: #052c65;--bs-secondary-text-emphasis: #2b2f32;--bs-success-text-emphasis: #0a3622;--bs-info-text-emphasis: #055160;--bs-warning-text-emphasis: #664d03;--bs-danger-text-emphasis: #58151c;--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: #cfe2ff;--bs-secondary-bg-subtle: #e2e3e5;--bs-success-bg-subtle: #d1e7dd;--bs-info-bg-subtle: #cff4fc;--bs-warning-bg-subtle: #fff3cd;--bs-danger-bg-subtle: #f8d7da;--bs-light-bg-subtle: #fcfcfd;--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: #9ec5fe;--bs-secondary-border-subtle: #c4c8cb;--bs-success-border-subtle: #a3cfbb;--bs-info-border-subtle: #9eeaf9;--bs-warning-border-subtle: #ffe69c;--bs-danger-border-subtle: #f1aeb5;--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient( 180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0) );--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-color-rgb: 33, 37, 41;--bs-body-bg: #fff;--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(33, 37, 41, .75);--bs-secondary-color-rgb: 33, 37, 41;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(33, 37, 41, .5);--bs-tertiary-color-rgb: 33, 37, 41;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: #0d6efd;--bs-link-color-rgb: 13, 110, 253;--bs-link-decoration: underline;--bs-link-hover-color: #0a58ca;--bs-link-hover-color-rgb: 10, 88, 202;--bs-code-color: #d63384;--bs-highlight-color: #212529;--bs-highlight-bg: #fff3cd;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(13, 110, 253, .25);--bs-form-valid-color: #198754;--bs-form-valid-border-color: #198754;--bs-form-invalid-color: #dc3545;--bs-form-invalid-border-color: #dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: #2b3035;--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: #6ea8fe;--bs-secondary-text-emphasis: #a7acb1;--bs-success-text-emphasis: #75b798;--bs-info-text-emphasis: #6edff6;--bs-warning-text-emphasis: #ffda6a;--bs-danger-text-emphasis: #ea868f;--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: #031633;--bs-secondary-bg-subtle: #161719;--bs-success-bg-subtle: #051b11;--bs-info-bg-subtle: #032830;--bs-warning-bg-subtle: #332701;--bs-danger-bg-subtle: #2c0b0e;--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: #084298;--bs-secondary-border-subtle: #41464b;--bs-success-border-subtle: #0f5132;--bs-info-border-subtle: #087990;--bs-warning-border-subtle: #997404;--bs-danger-border-subtle: #842029;--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: #6ea8fe;--bs-link-hover-color: #8bb9fe;--bs-link-color-rgb: 110, 168, 254;--bs-link-hover-color-rgb: 139, 185, 254;--bs-code-color: #e685b5;--bs-highlight-color: #dee2e6;--bs-highlight-bg: #664d03;--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: #75b798;--bs-form-valid-border-color: #75b798;--bs-form-invalid-color: #ea868f;--bs-form-invalid-border-color: #ea868f}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h6,h5,h4,h3,h2,h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}:root{--noop-primary-color: #0091ff;--noop-bg-color: #f4f3ef;--noop-dark-color: #212120}body{background-color:var(--noop-dark-color)}#app{background-color:var(--noop-bg-color);min-height:100dvh;min-height:100vh}.todo-header,.todo-list{padding:1rem;margin:auto}.todo-list{max-width:640px}.todo-header{background-color:var(--noop-dark-color)}.todo-header h1{max-width:1280px;margin:0 auto;color:var(--bs-white);font-weight:200;letter-spacing:.0125em;display:flex;align-items:center;flex-wrap:wrap;column-gap:1rem;row-gap:.5rem}.todo-header h1 a{float:left}.todo-header h1 a img{height:1.2em;width:1.2em}.todo-header h1 span{flex-grow:1}.todo-header h1 button{font-size:1rem;color:#fff;border-radius:.25rem;padding:.25rem .5rem;margin-left:auto;background-color:var(--noop-primary-color);border:var(--noop-primary-color) solid}.todo-list .todo-item{background-color:#fff;padding:1rem;border:var(--bs-gray-400) solid 1px;display:flex;flex-direction:column;gap:.5rem}.todo-list .todo-item .todo-description{position:relative}.todo-list .todo-description button{padding:0;background-color:transparent;border-radius:50%;display:flex;height:1.5rem;width:1.5rem;justify-content:center;align-items:center;line-height:1}.todo-list .todo-description .todo-complete{margin-right:.75rem;float:left;color:transparent;border:var(--bs-gray-400) solid 1px}.todo-list .todo-description .todo-complete.completed{color:var(--bs-success)}.todo-list .todo-description .todo-complete:hover,.todo-list .todo-description .todo-complete:focus{box-shadow:0 0 0 .25rem #19875440}.todo-list .todo-description .todo-delete{font-size:1.25rem;margin-left:.75rem;float:right;color:var(--bs-gray-400);border:transparent solid 1px}.todo-list .todo-description .todo-delete:hover,.todo-list .todo-description .todo-delete:focus{color:var(--bs-danger);border:var(--bs-gray-400) solid 1px;box-shadow:0 0 0 .25rem #dc354540}.todo-list .todo-item .todo-description div.completed{text-decoration:line-through}.todo-list .todo-item .todo-description div .display-none{display:none}.edit-description{margin:-.25rem 0;width:calc(100% - 4.5rem);position:absolute}.todo-list .todo-item .image-preview-button{cursor:zoom-in}.todo-list .todo-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.todo-list .todo-item:last-child{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.todo-list .todo-item:not(:last-child){border-bottom:none}.todo-modal{position:fixed;padding:1rem;top:0;left:0;width:100vw;height:100vh;background-color:#0000007f;display:flex;overflow:hidden;flex-direction:column;align-items:center;justify-content:center}.enlarged-image{border:var(--bs-gray-400) solid;border-radius:.25rem;position:relative;max-height:calc(100vh - 2rem);max-width:calc(100vw - 2rem)}.enlarged-image img{max-height:100%;max-width:100%;border-radius:.125rem;object-fit:contain}.todo-form{padding:1rem;background-color:#fff;border:var(--bs-gray-400) solid 1px;border-radius:.25rem;margin:auto;width:min(480px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow-y:scroll;display:flex;flex-direction:column;gap:1rem}.todo-form .divider{margin:0 -1rem;flex-shrink:0}.todo-form-header{margin:0}.todo-close{float:right;font-size:1.25rem;color:var(--bs-secondary);display:flex;align-items:center;padding:0 .5rem;margin-top:-.5rem;margin-right:-.5rem;cursor:pointer;border:none;background:none;-webkit-user-select:none;user-select:none}.todo-form-row{display:flex;flex-direction:column;gap:.5rem}#form-description,#form-file,#form-submit,#form-file::file-selector-button,.edit-description{font-size:.875rem}.todo-form label{font-size:.75rem;color:var(--bs-dark)}.todo-form .form-error{color:var(--bs-danger)}input.form-input[type=text]{border:var(--bs-gray-400) solid;border-radius:.25rem;padding:.25rem .5rem}input.form-input:focus,input.form-input:focus-visible,button:focus,a.form-link:focus{outline:0;box-shadow:0 0 0 .25rem #0091ff40;border-radius:.25rem}input.form-input{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}input.form-input::placeholder{font-style:italic}#form-file{color:transparent;-webkit-user-select:none;user-select:none}#form-file::file-selector-button{margin-right:.5rem}.image-preview-grid{display:flex;flex-wrap:wrap;gap:.5rem}.image-preview-item{border:var(--bs-gray-400) solid;border-radius:.25rem;min-width:4.5rem;height:6rem;flex-grow:1;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center}.image-preview-item img{max-height:100%;min-width:100%;flex:1;border-radius:.125rem;object-fit:cover}.image-preview-button{opacity:0;background-color:#0000007f;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border:none;padding:0;border-radius:.125rem}.image-preview-button:hover,.image-preview-button:focus{opacity:1;cursor:pointer}.image-preview-button span{color:var(--bs-danger);font-size:3rem;-webkit-user-select:none;user-select:none}#form-file::file-selector-button{background-color:var(--bs-secondary);border:var(--bs-secondary) solid}#form-submit{background-color:var(--noop-primary-color);border:var(--noop-primary-color) solid}#form-file::file-selector-button,#form-submit{color:#fff;border-radius:.25rem;padding:.25rem .5rem}#form-submit{margin-left:auto}input.form-input[type=file]{font-size:1rem}input.form-input::file-selector-button{font-size:1rem}button.form-button{-webkit-user-select:none;user-select:none}input.form-input::file-selector-button:hover,input.form-input::file-selector-button:focus,input.form-input[type=file]:focus-visible,button.form-button:hover,button.form-button:focus,a.form-link:hover,a.form-link:focus{filter:brightness(90%);cursor:pointer}
