@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url("./assets/media/roboto-TQJTUEE4.ttf") format("truetype")}.phosphor-icon{display:inline-block;width:1.05em;height:1.05em;color:currentColor;flex-shrink:0;-webkit-user-select:none;user-select:none}:root{--color-primary-darkest: #19201bff;--color-primary-dark: #212e1cff;--color-primary: #3a434aff;--color-primary-light: #9aa0a8ff;--color-primary-lightest: #dedad3;--color-accent-light: #f1d2a7;--color-accent: #e4a955;--color-accent-dark: #b0721c;--color-warning: hsl(58, 100%, 50%);--color-error: hsl(0, 100%, 50%);--color-success: hsl(120, 100%, 50%);--color-info: hsl(210, 100%, 50%);--color-light: hsl(137, 12%, 95%);--color-grey: hsl(137, 8%, 54%);--color-dark: hsl(137, 12%, 5);--mobile-break: 800px;--header-height: 5vh;--main-height: 95vh;--border-radius: .4em;--width-middle: 400px;font-size:1em}@media(min-width:600px){:root{font-size:1em}}*{margin:0;padding:0;box-sizing:border-box}html,body{min-height:100vh}body{font-family:Roboto,sans-serif;background-color:var(--color-primary-lightestlight);color:var(--color-primary-dark)}.shadow{box-shadow:0 2px 10px #0000004d}@keyframes waitanimation{0%{background-color:var(--color-primary-lightest)}to{background-color:var(--color-primary-light)}}#overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0003;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}#overlay>div{animation:waitanimation 2s linear alternate infinite;border-radius:10px;border:1px solid var(--color-white);padding:20px;text-align:center;color:var(--color-primary-dark);font-size:1.5rem}.floating-button-positioner{position:fixed;bottom:20px;width:100%;max-width:var(--mobile-break);display:flex;align-items:end;z-index:1000;pointer-events:none}.floating-button-container{position:fixed;width:100%;max-width:var(--mobile-break);margin:0 auto;display:flex;flex-direction:column;align-items:end;gap:.7rem;pointer-events:none}.floating-button{min-width:12rem;height:3.5rem;margin-right:20px;padding:0 1rem;border-radius:999px;border:1px solid rgba(58,67,74,.18);display:inline-flex;align-items:center;justify-content:center;gap:.65rem;box-shadow:0 2px 10px #00000038;transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease;cursor:pointer;pointer-events:auto;font-weight:700;color:var(--color-primary-dark);background-color:#f1d2a7e6}.floating-button .phosphor-icon{width:1.35em;height:1.35em}.floating-button:hover{transform:translateY(-1px);color:var(--color-primary-lightest)}.floating-button-once{background-color:#f1d2a7eb;border-color:#b0721c42}.floating-button-once:hover{background-color:#e4a955fa;border-color:#b0721c5c}.floating-button-recurring{background-color:#68b07633;border-color:#68b0765c}.floating-button-recurring:hover{background-color:#68b07652;border-color:#68b0767a}.floating-button span{font-size:.95rem}.task-archive-button{background-color:#3a434a1f;border-color:#3a434a2e;color:var(--color-primary-dark)}.task-archive-button .phosphor-icon{width:1.05em;height:1.05em}.task-archive-button:hover{background-color:#3a434a38;border-color:#3a434a47;color:var(--color-primary-lightest)}.delimiter{width:100%}.delimiter.menubar{height:var(--header-height);background-color:var(--color-primary)}.delimiter.content{height:var(--main-height);background-color:var(--color-primary-lightest);display:flex;flex-direction:column;align-items:center;justify-content:center}.delimiter>*{max-width:var(--mobile-break);margin:0 auto}.spacer{width:1em;height:1em}hr{color:var(--color-grey);size:1px;width:100%}.menubar{width:100%;display:flex;align-items:center;justify-content:space-between;height:var(--header-height);background-color:var(--color-primary);color:var(--color-white)}.menubar .menubar-logo{height:var(--header-height);width:var(--header-height);border:none;padding:5px}.menubar .menubar-logo>svg{height:100%;width:100%;fill:var(--color-accent);stroke:var(--color-accent)}.menubar .menubar-content{display:flex;align-items:end;justify-content:end;flex-grow:1;flex-shrink:1}.menubar .menubar-content .menubar-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:0 .8rem;height:var(--header-height);width:var(--header-height);min-width:var(--header-height);line-height:1;border:1px solid rgba(241,210,167,.16);border-radius:999px;color:var(--color-accent-light);background-color:#f1d2a714;transition:background-color .18s ease,border-color .18s ease,transform .18s ease,color .18s ease}.menubar .menubar-content .menubar-button>.icon{width:1.15em;height:1.15em;margin:0;color:currentColor}.menubar .menubar-content .menubar-button:hover{background-color:#f1d2a72e;border-color:#f1d2a747;transform:translateY(-1px);color:var(--color-primary-lightest)}.menubar .menubar-content .menubar-button.menubar-button-wide{width:auto;min-width:140px;padding:0 1rem;white-space:nowrap}.splash{width:60vmin;height:60vmin;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.splash>svg{width:100%;height:100%;fill:var(--color-primary-dark);stroke:var(--color-primary-dark)}.page-login .logo{width:200px;height:200px;margin:30px auto}.page-login .logo>svg{width:100%;height:100%;fill:var(--color-primary-dark);stroke:var(--color-primary-dark)}.page-tasks{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;height:100%;overflow-y:auto}.task-list{width:100%;max-width:var(--mobile-break);padding-bottom:120px}.task{width:calc(100% - 20px);display:flex;flex-direction:row;align-items:start;margin:10px;border-radius:var(--border-radius);background-color:var(--color-primary-lightest);border:1px solid var(--color-primary-light);cursor:pointer}.task .task-action-button-holder{width:124px;flex:0 0 124px;margin:10px 0 10px 10px;display:flex;flex-direction:column;gap:.45rem;align-items:stretch;justify-content:center}.task .task-start-button,.task .task-complete-button,.task .task-stop-button,.task .task-archive-button{min-height:32px;border-radius:999px;border:1px solid transparent;color:var(--color-primary-dark);font-weight:700;cursor:pointer;padding:.35rem .6rem;transition:transform .14s ease,background-color .14s ease,color .14s ease,border-color .14s ease}.task .task-start-button{background-color:#68b0762e;border-color:#68b07659;color:#2c4e36}.task .task-complete-button{background-color:#e4a95533;border-color:#b0721c47;color:#5b3f20}.task .task-stop-button{background-color:#9aa0a82e;border-color:#9aa0a852;color:#3f4650}.task .task-archive-button{background-color:#3a434a1f;border-color:#3a434a2e;color:#373c43;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.task .task-archive-button .phosphor-icon{width:1em;height:1em}.task .task-archive-button:hover{background-color:#3a434a33;border-color:#3a434a47}.task .task-start-button:hover,.task .task-complete-button:hover,.task .task-stop-button:hover,.task .task-archive-button:hover{transform:translateY(-1px);background-color:#f1d2a738}.task .task-start-button:disabled,.task .task-complete-button:disabled,.task .task-stop-button:disabled,.task .task-archive-button:disabled{cursor:wait;opacity:.75}.task .description{width:auto;flex-grow:1;flex-shrink:1;margin-left:10px;padding:10px}.task .description p{margin:.3em 0;font-size:.8rem;color:var(--color-primary-dark)}.task .task-map-button-holder{width:74px;flex:0 0 74px;display:flex;align-items:center;justify-content:center;padding-right:10px;padding-top:10px}.task .task-map-button{width:64px;height:34px;border-radius:999px;border:1px solid rgba(58,67,74,.18);background-color:#ffffffbd;color:var(--color-primary-dark);font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background-color .14s ease,border-color .14s ease,transform .14s ease}.task .task-map-button .icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;color:currentColor}.task .task-map-button:hover{background-color:#ffffffe6;border-color:#3a434a47;transform:translateY(-1px);color:var(--color-primary-darkest)}.task:hover{background-color:#0000000a}.task.completed{color:var(--color-grey);text-decoration:line-through}.task.completed .task-action-button-holder button{text-decoration:none}.task.completed .description p{color:var(--color-grey)}.task-list-section{width:100%}.task-list-section-stopped{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(58,67,74,.12);background:linear-gradient(180deg,#9aa0a814,#9aa0a808);border-radius:12px}.task-list-section-stopped h2{padding:0 10px}.task-list-section-copy,.task-list-hidden-note{margin-top:.45rem;margin-bottom:.9rem;color:var(--color-grey);font-size:.92rem;line-height:1.4}.recurring-task-overview-section{width:100%;max-width:var(--mobile-break);margin-top:1.25rem;margin-bottom:1rem;padding:0 10px .5rem}.recurring-task-overview-section .recurring-task-overview-header{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.7rem}.recurring-task-overview-section .recurring-task-overview-header h2{font-size:1.15rem}.recurring-task-overview-section .recurring-task-overview-header p{color:var(--color-grey);font-size:.92rem;line-height:1.45}.recurring-task-overview-list{display:flex;flex-direction:column;gap:.75rem}.recurring-task-overview-item{width:100%;padding:14px 16px;border-radius:12px;border:1px solid rgba(58,67,74,.18);background:linear-gradient(180deg,#fffffff5,#f1d2a742);color:var(--color-primary-dark);text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.35rem;box-shadow:0 1px 6px #00000014;transition:transform .14s ease,border-color .14s ease,background-color .14s ease,color .14s ease}.recurring-task-overview-item:hover{transform:translateY(-1px);border-color:#b0721c47;background:linear-gradient(180deg,#fffffffa,#e4a95542)}.recurring-task-overview-item.active{border-color:#68b07652;background:linear-gradient(180deg,#fffffffa,#68b07629)}.recurring-task-overview-item-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.recurring-task-overview-item-header strong{font-size:1rem}.recurring-task-overview-item-header span{font-size:.84rem;color:var(--color-grey);white-space:nowrap}.recurring-task-overview-meta,.recurring-task-overview-description,.recurring-task-overview-summary{font-size:.92rem;line-height:1.4}.recurring-task-overview-meta{color:#2c4e36;font-weight:700}.recurring-task-overview-description{color:var(--color-primary-dark)}.recurring-task-overview-summary{color:var(--color-grey)}.page-taskadd{min-height:100vh;width:100%;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center}.page-taskadd .logo{width:100px;height:100px;margin:30px auto}.page-taskadd .logo>svg{width:100%;height:100%;fill:var(--color-primary-dark);stroke:var(--color-primary-dark)}.page-taskadd.container{background-color:var(--color-primary-lightest);border-radius:10px;border:1px solid var(--color-primary-light);width:calc(100% - 20px);max-width:var(--mobile-break);margin:auto}.page-taskadd .form-control{margin-bottom:.9rem}.page-taskadd .form-control-parent-memos{margin-bottom:1.1rem}.page-taskadd .form-control-parent-memos .helper-text{font-size:.9rem;color:var(--color-grey);margin:.4rem 0}.page-taskadd .parent-memo-list{max-height:220px;overflow-y:auto;border:1px solid var(--color-primary-light);border-radius:8px;padding:.4rem .6rem;background-color:#fff}.page-taskadd .parent-memo-item{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;border-bottom:1px solid var(--color-primary-lightest);cursor:pointer}.page-taskadd .parent-memo-item:last-child{border-bottom:none}.page-taskadd .parent-memo-item input[type=checkbox]{width:20px;height:20px;margin-right:0}.page-taskadd .taskadd-submit-button{width:100%;min-height:48px;margin-top:.8rem;border:none;border-radius:8px;background-color:var(--color-accent);color:var(--color-primary-darkest);font-weight:700;font-size:1rem;letter-spacing:.02em;cursor:pointer}.page-taskadd .taskadd-submit-button:disabled{opacity:.6;cursor:not-allowed}.page-recurringtaskadd .recurring-task-content{width:100%;padding:0 20px 20px;display:flex;flex-direction:column;gap:20px}.page-recurringtaskadd .recurring-task-list-section,.page-recurringtaskadd .recurring-task-form{width:100%}.page-recurringtaskadd .helper-text{font-size:.9rem;color:var(--color-grey);margin:.4rem 0}.page-recurringtaskadd .recurring-task-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.page-recurringtaskadd .recurring-task-item{width:100%;padding:14px 16px;border:1px solid var(--color-primary-light);border-radius:10px;background:#fff;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;color:var(--color-primary-dark)}.page-recurringtaskadd .recurring-task-item.active{border-color:var(--color-accent);background:#e4a9551f}.page-recurringtaskadd .recurring-task-item-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-recurringtaskadd .schedule-summary{color:var(--color-grey);font-size:.9rem;line-height:1.35}.page-recurringtaskadd .schedule-section{margin-bottom:1rem;padding:14px 16px;border:1px solid var(--color-primary-light);border-radius:10px;background:#ffffffb3}.page-recurringtaskadd .schedule-section h3,.page-recurringtaskadd .schedule-section h4{margin-bottom:.75rem}.page-recurringtaskadd .schedule-rules-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:.75rem}.page-recurringtaskadd .schedule-rule-list{display:flex;flex-direction:column;gap:10px}.page-recurringtaskadd .schedule-rule-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center}.page-recurringtaskadd .schedule-rule-row select,.page-recurringtaskadd .schedule-rule-row button{min-height:40px;border-radius:8px}.page-recurringtaskadd .weekday-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.page-recurringtaskadd .weekday-checkbox{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--color-primary-light);border-radius:8px;background:#fff}.page-recurringtaskadd .recurring-task-active-control label{display:flex;align-items:center;gap:10px;font-weight:600}.page-recurringtaskadd .recurring-task-active-control input[type=checkbox]{width:20px;height:20px}.page-recurringtaskadd .secondary-button{min-height:40px;padding:.5rem .8rem;border:1px solid var(--color-primary-light);border-radius:8px;background:#fff;color:var(--color-primary-dark);cursor:pointer}.page-logout{width:80%}.page-logout h1{font-size:1rem}.page-logout p{font-size:.8rem}.page-logout form{padding:30px 40px;background-color:var(--color-primary-lightest);border-radius:10px;border:1px solid var(--color-primary-light)}.page-logout form>*{margin:20px 0}.page-logout .button-holder{display:flex;align-items:center;gap:12px}.page-logout .button-holder .spacer{display:none}.page-logout button{border-radius:.1em;width:100%;min-height:44px;padding:.6rem .9rem;background-color:var(--color-accent);font-size:1rem;border:1px solid var(--color-accent-dark);color:var(--color-primary-dark);cursor:pointer}@media screen and (max-width:800px){.page-logout{width:calc(100% - 20px)}.page-logout .button-holder{flex-direction:column;align-items:stretch}}.page{display:flex;flex-direction:column;justify-content:space-between;height:100%}.limiter{width:100%;padding-left:10px;padding-right:10px}@media screen and (min-width:800px){.limiter{width:80%;max-width:1200px;margin-left:auto;margin-right:auto}}.form{position:relative}.form h1{text-align:center;margin:0 0 30px}.form label{color:var(--color-primary-dark);display:block;margin-bottom:5px}.form input{border:2px solid var(--color-primary-light);border-radius:4px;display:block;width:100%;padding:10px;font-size:1.2rem}.form input[type=checkbox]{width:30px;height:30px;margin-right:10px;display:inline-block;vertical-align:middle;accent-color:var(--color-accent-light);border:none!important}.form input[type=checkbox]:checked{outline:1px solid var(--color-primary-dark);border:none!important}.form input[type=checkbox]+label{display:inline}.form input:focus{outline:0;border-color:var(--color-dark)}.form.success input{border-color:var(--color-success)}.form.error input{border-color:var(--color-error)}.form small{box-sizing:border-box;color:var(--color-error);background-color:#fff;position:absolute;padding:0 10px;bottom:0;left:0;visibility:hidden}.form.error small{visibility:visible}.form textarea{border:2px solid var(--color-primary-light);border-radius:4px;display:block;width:100%;padding:10px;font-size:1.2rem;resize:vertical;min-height:100px}.form textarea:focus{outline:0;border-color:var(--color-dark)}@media screen and (min-width:800px){.form{padding:40px 60px}}.inputcontrol{margin-bottom:10px;padding-bottom:20px;position:relative}.checkbox{background-color:red}.textinput{display:flex;flex-direction:column;justify-content:space-between;height:100%}.errormessage{color:var(--color-error);position:absolute;bottom:0;left:0;visibility:hidden}.errormessage.error{visibility:visible}.messageoverlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center}.messageoverlay>div{background-color:#fff;padding:2em;border-radius:.5em;box-shadow:0 2px 10px #0000004d}.buttonholder{display:flex;flex-direction:row}.button{cursor:pointer;background-color:var(--color-accent);border-color:var(--color-accent-dark);border-radius:4px;color:var(--color-white);display:block;font-size:1.5rem;padding:10px;flex:0 1 30%}.button:disabled{background-color:var(--color-accent-light);color:var(--color-grey);border-color:transparent}.button:hover:enabled{background-color:var(--color-accent-dark)}.page-map{background:radial-gradient(circle at 10% -5%,color-mix(in srgb,var(--color-accent) 18%,transparent),transparent 45%),radial-gradient(circle at 90% 105%,color-mix(in srgb,var(--color-primary-light) 20%,transparent),transparent 40%),var(--color-primary-lightest);min-height:100vh}.memo-map-content{width:min(100%,1100px);margin:0 auto;padding:12px 12px 24px;display:flex;flex-direction:column;gap:14px}.memo-map-controls,.memo-map-lists>div{background:color-mix(in srgb,var(--color-light) 86%,white);border:1px solid color-mix(in srgb,var(--color-primary-light) 70%,white);border-radius:14px;padding:12px}.memo-map-controls{display:flex;flex-direction:column;gap:8px}.memo-map-controls label{font-weight:700}.memo-map-controls select{width:100%;height:42px;border-radius:10px;border:1px solid var(--color-primary-light);background-color:#fff;padding:0 10px}.memo-map-controls p{color:var(--color-primary);font-size:.95rem}.memo-map-canvas{background:color-mix(in srgb,var(--color-light) 88%,white);border-radius:18px;border:1px solid color-mix(in srgb,var(--color-primary-light) 70%,white);overflow:hidden;position:relative;height:clamp(390px,65vh,760px);touch-action:none}.memo-map-canvas svg{position:absolute;inset:0;display:block;width:100%;height:100%;cursor:grab;-webkit-user-select:none;user-select:none}.memo-map-canvas svg.is-panning{cursor:grabbing}.memo-map-edge{stroke:color-mix(in srgb,var(--color-primary) 66%,black);stroke-width:5;stroke-linecap:round;opacity:.72;pointer-events:none}.memo-map-edge-preview{stroke:color-mix(in srgb,var(--color-accent-dark) 75%,black);stroke-width:6;stroke-dasharray:12 9;opacity:.95;pointer-events:none}.memo-map-node{cursor:pointer}.memo-map-node circle{fill:color-mix(in srgb,white 85%,var(--color-accent) 15%);stroke:color-mix(in srgb,var(--color-accent-dark) 64%,black);stroke-width:4}.memo-map-node text{fill:var(--color-primary-darkest);font-size:20px;font-weight:700;pointer-events:none;text-anchor:middle!important;dominant-baseline:middle;alignment-baseline:middle}.memo-map-node tspan{text-anchor:middle!important}.memo-map-node-selected circle{fill:color-mix(in srgb,var(--color-accent-light) 74%,white);stroke:color-mix(in srgb,var(--color-accent-dark) 80%,black);stroke-width:6;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--color-accent-light) 70%,white)) drop-shadow(0 0 18px color-mix(in srgb,var(--color-accent) 58%,transparent))}.memo-map-empty{min-height:inherit;display:grid;place-items:center;color:var(--color-primary);font-weight:700;padding:24px;text-align:center}.memo-map-lists{display:grid;grid-template-columns:1fr;gap:12px}.memo-map-lists h2{font-size:1rem;margin-bottom:10px}.memo-map-pill-list{display:flex;gap:8px;flex-wrap:wrap}.memo-map-pill-list button{border:1px solid var(--color-primary-light);background-color:#fff;border-radius:999px;padding:6px 12px;color:var(--color-primary-dark);cursor:pointer}.memo-map-pill-list span{color:var(--color-primary)}.memo-map-error{color:var(--color-error);font-weight:700}.memo-map-add-button-wrap{position:fixed;right:18px;bottom:18px;z-index:1001}.memo-map-add-button{width:72px;height:72px;border-radius:50%;border:none;background-color:var(--color-accent);box-shadow:0 10px 22px #00000040;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:10px}.memo-map-add-button svg{width:100%;height:100%;fill:var(--color-primary-dark);stroke:var(--color-primary-dark)}@media(min-width:900px){.memo-map-content{padding-top:18px}.memo-map-controls{display:grid;grid-template-columns:220px 1fr;grid-template-areas:"label help" "select help";column-gap:14px}.memo-map-controls label{grid-area:label;align-self:end}.memo-map-controls select{grid-area:select}.memo-map-controls p{grid-area:help;align-self:center}.memo-map-lists{grid-template-columns:1fr 1fr}}
