html,body{margin:0;padding:0}*{box-sizing:border-box}:root{--quicksand:"Quicksand", sans-serif;font:18px/145% var(--quicksand);letter-spacing:.2px}.app-layout{background-color:var(--color-bg);width:100%;min-height:100dvh;color:var(--color-font);display:flex;position:relative}.main-content{flex:auto;min-width:0;min-height:100dvh;padding:clamp(16px,3vw,32px);overflow-x:auto}.app-layout button{color:inherit}.app-layout.sidebar-collapsed .main-content{padding-left:max(72px,3vw)}.mobile-header{display:contents}.sidebar{border-right:2px solid var(--color-sidebar-border);background:var(--color-sidebar-bg);flex-direction:column;align-self:flex-start;width:clamp(220px,20vw,320px);height:100dvh;padding:40px 20px 20px;transition:width .2s,padding .2s,border-width .2s;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar-toggle{z-index:10;color:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;margin:16px 0 0 16px;padding:8px;font-size:28px;line-height:1;position:fixed}.sidebar.collapsed{border-right-width:0;width:0;padding-left:0;padding-right:0}.sidebar nav{flex-direction:column;gap:10px;display:flex}.menal-title{cursor:pointer}.sidebar nav button{text-align:left;cursor:pointer;font-family:var(--quicksand);background:0 0;border:none;padding:10px;font-size:18px}.sidebar button:hover{background:var(--color-sidebar-button-hover)}.sidebar-footer{flex-direction:column;gap:12px;margin-top:auto;display:flex}.logout-button{background-color:var(--color-sidebar-bg);width:64px;height:28px;font-family:var(--quicksand);border:1px solid #d3d3d3;border-radius:999px;font-size:14px}.theme-switch{background:var(--color-sidebar-bg);cursor:pointer;border:1px solid #d3d3d3;border-radius:999px;justify-content:center;align-items:center;width:64px;height:28px;padding:3px;transition:background .2s;display:flex}.theme-switch.dark{background:#2f3542}@media (width<=700px){.app-layout{display:block}.main-content,.app-layout.sidebar-collapsed .main-content{width:100%;min-width:0;padding:16px;overflow-x:hidden}.mobile-header{z-index:30;border-bottom:1px solid var(--color-sidebar-border);background:var(--color-sidebar-bg);align-items:center;width:100%;height:64px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0000001a}.sidebar{z-index:20;border-right:0;width:100%;height:100dvh;padding:64px 20px 20px;transition:transform .2s;position:fixed;inset:0;transform:translate(0)}.sidebar.collapsed{border-right-width:0;width:100%;padding:64px 20px 20px;transform:translate(-100%)}.sidebar-toggle{margin:0 0 0 12px;position:static}}.login-page{background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--color-db-card-bg);border:1px solid var(--color-db-card-border);border-radius:18px;flex-direction:column;gap:14px;width:360px;padding:32px;display:flex}.login-card h1,.login-card p{margin:0}.login-card input{border:1px solid var(--color-border);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:15px}.login-card button{color:var(--color-font);cursor:pointer;background:#2ecc71;border:none;border-radius:10px;padding:12px;font-family:inherit;font-size:16px}.register-text{text-align:center;margin-top:20px;font-size:14px}.register-link{color:#2ecc71;cursor:pointer;font-weight:600}.register-link:hover{text-decoration:underline}.error-message{color:#0000;opacity:0;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;min-height:38px;padding:8px 12px;font-size:14px;line-height:20px;transition:opacity .15s,background-color .15s,border-color .15s;display:flex}.error-message--visible{color:#b42318;opacity:1;background:#fef3f2;border-color:#fecdca}.dashboard{width:100%}.dashboard-content{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));align-items:start;gap:20px;display:grid}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px clamp(20px,4vw,48px);margin-bottom:clamp(28px,5vw,50px);display:flex}.dashboard-header h1,.dashboard-header p{margin:0}.dashboard-header h1{overflow-wrap:anywhere;flex:18rem;min-width:0;font-size:clamp(1.6rem,3vw,2.25rem);line-height:1.2}.dashboard-header p{text-align:right;flex:0 auto;margin-left:auto}.card-section{background:var(--color-db-card-bg);border:1px solid var(--color-db-card-border);border-radius:15px;width:100%;min-width:0;margin-bottom:0;padding:20px;box-shadow:0 2px 8px #0000001a}.calendar-rating-container{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.calendar-rating-container .selected-rating{place-items:center;margin-left:auto;line-height:1;display:grid}.write-log-button button{width:100%;color:var(--color-write-log-button-font);font-family:var(--quicksand);cursor:pointer;background:#2ecc71;border:none;border-radius:15px;padding:16px;font-size:14px;font-weight:600;transition:all .15s;box-shadow:0 2px 8px #0000001a}.statistic{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.parameter-selector{width:100%;font-size:15px;font-family:var(--quicksand);color:var(--color-parameter-selector-font);background:var(--color-parameter-selector-bg);cursor:pointer;border-radius:10px;margin-bottom:20px;padding:10px 14px;transition:border-color .2s,box-shadow .2s}.parameter-selector:hover{border-color:#b5b5b5}.parameter-selector:focus{outline:none;box-shadow:0 0 0 3px #4f8ef726}.average-stat-row{grid-template-columns:1fr auto;align-items:center;gap:10px;margin-bottom:20px;display:grid}.overview-page,.year-overview-page{width:100%;min-width:0}.over-view-back-button{cursor:pointer;margin-block:0 clamp(1.25rem,3vw,2rem);font-size:clamp(1.6rem,3vw,2.25rem);line-height:1.2}.overview-years{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(12px,2vw,20px);width:100%;display:grid}.year-button{background:var(--color-year-button-bg);border:1px solid var(--color-year-button-border);width:100%;min-width:0;font-family:var(--quicksand);cursor:pointer;border-radius:15px;margin:0;padding:clamp(14px,2vw,20px);font-size:clamp(18px,2vw,24px);transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #0000001a}.year-button:hover{transform:translateY(-2px);box-shadow:0 5px 14px #00000021}.week-container{width:100%;min-width:0;margin-bottom:clamp(12px,2vw,16px)}.week-button{background:var(--color-week-button-bg);border:1px solid var(--color-week-button-border);width:100%;min-width:0;font-family:var(--quicksand);cursor:pointer;border-radius:15px;margin:0;padding:clamp(14px,2vw,16px);font-size:clamp(18px,2vw,24px);transition:background-color .15s,box-shadow .15s;box-shadow:0 2px 8px #0000001a}.week-button:hover{background:var(--color-week-button-hover)}.week-button.active{color:var(--color-week-button-active-font);background:#2ecc71}.week-entries{gap:clamp(12px,2vw,16px);width:100%;min-width:0;padding-top:clamp(12px,2vw,16px);display:grid}.journal-entry{background:var(--color-journal-entry-bg);border:1px solid var(--color-journal-entry-border);border-radius:15px;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:clamp(16px,3vw,28px);width:100%;min-width:0;margin:0;padding:clamp(14px,2vw,20px);display:grid;box-shadow:0 2px 8px #0000001a}.journal-content{flex-direction:column;gap:8px;min-width:0;display:flex}.journal-content h4,.journal-content p{overflow-wrap:anywhere;margin:0}.journal-content p{white-space:pre-wrap;line-height:1.6}.journal-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:12px;display:flex}.edit-journal-button{opacity:.5;cursor:pointer;background:0 0;border:none;border-radius:6px;width:28px;height:28px;font-size:16px}.overview-ratings{flex-direction:column;align-items:center;gap:6px;width:clamp(24px,3vw,28px);display:flex}.overview-rating-box{aspect-ratio:1;border-radius:3px;width:clamp(12px,1.5vw,14px)}.year-button:focus-visible,.week-button:focus-visible,.edit-journal-button:focus-visible{outline-offset:2px;outline:3px solid #4f8ef759}@media (prefers-reduced-motion:reduce){.year-button,.week-button{transition:none}}.calendar-page-header{justify-content:space-between;align-items:center;margin-bottom:50px;display:flex}.drag-handles{cursor:pointer;opacity:.5;transition:all .15s}.delete-button{color:#999;cursor:pointer;opacity:.5;background:0 0;border:none;font-size:14px;transition:all .15s;position:absolute;top:16px;right:16px}.edit-button{color:#999;cursor:pointer;opacity:.5;background:0 0;border:none;font-size:14px;transition:all .15s;position:absolute;top:16px;right:44px}.add-calendar-container button{color:#fff;width:100%;font-family:var(--quicksand);cursor:pointer;background:#2ecc71;border:none;border-radius:15px;padding:16px;font-size:20px;font-weight:600;transition:all .15s;box-shadow:0 2px 8px #0000001a}.add-calendar-container button:hover{opacity:.95;transform:translateY(-1px)}.heatmap-content,.heatmap-layout{min-width:0}.heatmap.default,.heatmap.preview{gap:1px;width:100%;display:flex}.heatmap-instance{background:var(--color-heatmap-bg);border:1px solid var(--color-heatmap-border);border-radius:15px;margin-bottom:20px;padding:20px;position:relative;box-shadow:0 2px 8px #0000001a}.month-row{justify-content:safe center;gap:1px;margin-bottom:4px;display:flex}.month-label{color:#888;flex:14px;min-width:6px;max-width:14px;font-size:10px}.heatmap-layout{grid-template-columns:clamp(76px,9vw,100px) minmax(0,1fr);align-items:flex-start;gap:clamp(12px,2vw,24px);display:grid}.heatmap-content{flex-direction:column;width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.year-buttons.preview{display:none}.year-buttons.preview+.heatmap-content{grid-column:1/-1}.year-buttons{flex-direction:column;gap:clamp(6px,1vw,8px);width:100%;min-width:0;margin-top:clamp(28px,4vw,40px);display:flex}.year-buttons button{background:var(--color-year-buttons-bg);width:100%;min-width:0;min-height:clamp(36px,4vw,42px);color:var(--color-font);cursor:pointer;border:1px solid #d0d7de;border-radius:6px;padding:6px clamp(6px,1vw,12px);font-size:clamp(11px,1.2vw,13px);transition:background-color .15s,border-color .15s}.year-buttons button:hover{background:var(--color-year-buttons-hover)}.year-buttons button.active{color:#fff;background:#2d7ff9;border-color:#2d7ff9}.year-select{border:1px solid var(--color-year-select-border);background:var(--color-year-select-bg);cursor:pointer;width:100%;min-width:0;color:var(--color-font);border-radius:8px;padding:6px 10px;font-family:inherit}.year-select.selected{background-color:var(--color-year-select-selected-bg);border-color:var(--color-year-select-selected-border)}.calendar.default{flex-direction:column;min-width:0;padding-left:clamp(0px,3vw,50px);display:flex}.calendarName.default{text-align:left;margin-bottom:12px}.heatmap.default{justify-content:safe center;gap:1px;width:100%;display:flex}.calendarName.preview{display:none}.heatmap.preview{gap:1px;width:100%;display:flex}.week{flex-direction:column;flex:14px;gap:1px;min-width:6px;max-width:14px;display:flex}.day{aspect-ratio:1;border-radius:20%;width:100%;height:auto}.day:hover{opacity:.8;transform:scale(1.2)}.rating-0{background:gray}@media (width<=700px){.heatmap-instance{padding:16px}.calendar.default{padding-left:0}.heatmap-layout{grid-template-columns:minmax(0,1fr);gap:14px}.year-buttons.default{flex-flow:wrap;align-items:center;gap:8px;margin-top:0}.year-buttons.default button,.year-buttons.default .year-select{flex:0 auto;width:auto;min-width:76px;min-height:36px}.heatmap-content{overflow-x:hidden}.week,.month-label{min-width:0}}.log-page{--log-card-min-width:18rem;--log-card-max-width:42rem;--log-radius:15px;--log-shadow:0 2px 8px #0000001a;width:min(100%,1800px);margin-inline:auto}.log-page>h1{margin-block:0 1.5rem;font-size:clamp(1.5rem,2.5vw,2.25rem);line-height:1.2}.date-selector-container,.journal-input,.rating-container{border-radius:15px;box-shadow:0 2px 8px #0000001a}.date-selector-container{background:var(--color-db-card-bg);border:1px solid var(--color-db-card-border);border-radius:15px;align-items:center;gap:clamp(.5rem,1.5vw,1rem);max-width:100%;margin-bottom:clamp(1.5rem,3vw,2.5rem);padding:clamp(.65rem,1.5vw,1rem);display:inline-flex;box-shadow:0 2px 8px #0000001a}.date-arrow{border:1px solid var(--color-date-selector-border);background:var(--color-date-arrow);cursor:pointer;width:2.5rem;height:2.5rem;font:inherit;border-radius:.6rem;flex:none;padding:0;font-size:1.25rem;transition:transform .15s,background-color .15s,box-shadow .15s}.date-arrow:hover{background:var(--color-sidebar-button-hover);transform:translateY(-1px)}.date-selector{border:1px solid var(--color-date-selector-border);background:var(--color-date-selector-bg);min-width:0;color:var(--color-font);font:inherit;cursor:pointer;border-radius:.6rem;padding:.65rem .8rem;font-size:clamp(.8rem,2vw,1rem)}.date-arrow:focus-visible,.date-selector:focus-visible,.journal-input:focus-visible,.rating-button:focus-visible{outline-offset:2px;outline:3px solid #2d7ff959}.log-entry>label{font-weight:300;display:block}.log-entry{padding-top:25px}.journal-input{resize:vertical;background:var(--color-db-card-bg);border:1px solid var(--color-db-card-border);width:100%;height:clamp(15rem,40vh,28rem);min-height:15rem;color:var(--color-font);font:inherit;border-radius:15px;margin-top:.6rem;padding:clamp(.8rem,2vw,1.1rem);line-height:1.6;transition:border-color .15s,box-shadow .15s;display:block;box-shadow:0 2px 8px #0000001a}.journal-input:hover{border-color:#999}.calendar-buttons{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--log-card-min-width)), 1fr));gap:clamp(.9rem,2vw,1.25rem);width:100%;margin-top:clamp(1.5rem,3vw,2.5rem);display:grid}.rating-container{width:100%;min-width:0;max-width:var(--log-card-max-width);background:var(--color-db-card-bg);border:1px solid var(--color-db-card-border);color:var(--color-font);border-radius:15px;justify-self:center;margin-bottom:0;padding:20px;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #0000001a}.rating-container:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000001f}.rating-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.rating-header p{overflow-wrap:anywhere;margin:0;font-weight:600}.selected-rating{border:1px solid #0003;border-radius:50%;flex:none;width:1.5rem;height:1.5rem;margin:0;box-shadow:inset 0 0 0 2px #ffffff59}.rating-button-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(.35rem,1vw,.75rem);display:flex}.rating-button{aspect-ratio:1;cursor:pointer;width:clamp(2rem,3.5vw,2.4rem);font:inherit;text-shadow:0 1px 2px #ffffff8c;border:1px solid #00000059;border-radius:.5rem;flex:0 2.4rem;padding:0;font-weight:700;transition:transform .12s,box-shadow .12s}.rating-button:hover{transform:scale(1.08);box-shadow:0 3px 8px #0003}.rating-button:active{transform:scale(.96)}.rating-button.selected{outline:3px solid var(--color-font);outline-offset:2px;box-shadow:0 0 0 5px var(--color-db-card-bg)}.reset-button{color:#fff;text-shadow:none;background-color:gray}@media (prefers-reduced-motion:reduce){.date-arrow,.rating-container,.rating-button{transition:none}}.new-calendar-page{width:95%;max-width:1800px;margin:0 auto}.calendar-settings{align-items:stretch;gap:20px;margin-bottom:20px;display:flex}.calendar-name-input{background:var(--color-name-input-bg);border:1px solid var(--color-name-input-border);border-radius:15px;flex-direction:column;flex:1;padding:20px;font-size:20px;display:flex;box-shadow:0 2px 8px #0000001a}.calendar-name-input p{margin:0 0 12px}.calendar-name-input input{box-sizing:border-box;border:1px solid var(--color-name-input-border);background-color:var(--color-name-input-bg);border-radius:10px;padding:12px}.calendar-rating-input{border:1px solid var(--color-calendar-rating-input-border);background-color:var(--color-calendar-rating-input-bg);border-radius:15px;flex-direction:column;flex:1;padding:20px;display:flex;box-shadow:0 2px 8px #0000001a}.edit-warning{color:#888;font-size:.85em}.rating-buttons{justify-content:space-between;display:flex}.rating-buttons button{border:1px solid var(--color-rating-buttons-border);background:var(--color-rating-buttons-bg);width:42px;height:42px;font-family:var(--quicksand);cursor:pointer;border-radius:10px;font-size:16px;font-weight:600;transition:all .15s}.color-settings{align-items:stretch;gap:20px;margin-bottom:20px;display:flex}.scales-color-selector{background:var(--color-scale-selector-bg);border:1px solid var(--color-scale-selector-border);border-radius:15px;flex-direction:column;flex:1;gap:20px;padding:20px;font-size:20px;display:flex;box-shadow:0 2px 8px #0000001a}.color-buttons{flex-direction:row;justify-content:space-around;gap:10px;display:flex}.color-buttons button{border:1px solid var(--color-color-buttons-border);background:var(--color-color-buttons-bg);width:42px;height:42px;font-family:var(--quicksand);color:var(--color-font);cursor:pointer;border-radius:10px;font-size:16px;font-weight:600;transition:all .15s}.scales-color-selector button{width:40px;height:40px}.calendar-preview{background:var(--color-calendar-preview-bg);border:1px solid var(--color-calendar-preview-border);border-radius:15px;flex-direction:column;flex:1;padding:20px;font-size:20px;display:flex;box-shadow:0 2px 8px #0000001a}.preview-heatmap{justify-content:center;display:flex}.create-new-calendar-button button{color:#fff;width:100%;font-family:var(--quicksand);cursor:pointer;background:#2ecc71;border:none;border-radius:15px;padding:16px;font-size:20px;font-weight:600;transition:all .15s;box-shadow:0 2px 8px #0000001a}.edit-calendar-page{width:95%;max-width:1800px;margin:0 auto}.calendar-name-input input{color:var(--color-font)}.color-picker-button{border:1px solid var(--color-color-picker-button-border);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:600;display:flex}.color-picker-button input{display:none}.heatmap-color-preview{background:var(--color-heatmap-preview-bg);border:1px solid var(--color-heatmap-preview-border);border-radius:15px;margin-bottom:20px;padding:20px;box-shadow:0 2px 8px #0000001a}.save-edit-button{color:#fff;width:100%;font-family:var(--quicksand);cursor:pointer;background:#2ecc71;border:none;border-radius:15px;padding:16px;font-size:20px;font-weight:600;transition:all .15s;box-shadow:0 2px 8px #0000001a}.create-new-calendar-button button:hover{opacity:.95;transform:translateY(-1px)}.settings-page{width:min(100%,760px);margin:0 auto;padding:8px 0 48px}.settings-page>h1{margin:0 0 24px}.settings-content{width:100%}.settings-card{background:var(--color-db-card-bg);border:1px solid var(--color-db-card-border);border-radius:18px;width:100%;padding:34px}.settings-section{flex-direction:column;gap:14px;display:flex}.settings-section+.settings-section{border-top:1px solid var(--color-db-card-border);margin-top:36px;padding-top:36px}.settings-section h2{margin:0;font-size:22px}.settings-field{flex-direction:column;gap:8px;display:flex}.settings-field label{font-size:16px;font-weight:600}.settings-field input{width:100%;color:var(--color-font);background:var(--color-bg);border:1px solid var(--color-db-card-border);border-radius:9px;padding:9px 11px;font-family:inherit;font-size:16px}.settings-field input:focus{outline-offset:2px;outline:2px solid #2ecc71}.settings-section button{background:var(--color-write-log-button);cursor:pointer;border:1px solid #0000;border-radius:9px;align-self:flex-end;margin-top:6px;padding:8px 15px;font-family:inherit;font-size:15px;font-weight:600}.settings-section button:hover{filter:brightness(.94)}@media (width<=640px){.settings-page{padding-bottom:32px}.settings-card{padding:24px}.settings-section+.settings-section{margin-top:28px;padding-top:28px}.settings-section button{width:100%}}.settings-toast{z-index:1000;color:#fff;background:#2e9d55;border-radius:9px;padding:12px 18px;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 14px #0003}:root{--surface-bg:white;--surface-card:white;--surface-border:lightgray;--color-border:lightgray;--color-bg:var(--surface-card);--color-sidebar-bg:#fffbf7;--color-sidebar-border:#ddd;--color-sidebar-button-hover:#eaeaea;--color-font:black;--color-db-card-bg:var(--surface-card);--color-db-card-border:lightgray;--color-write-log-button-font:var(--surface-card);--color-write-log-button:#2ecc71;--color-parameter-selector-bg:var(--surface-card);--color-parameter-selector-font:black;--color-year-button-bg:var(--surface-card);--color-year-button-border:lightgray;--color-week-button-bg:#var(--surface-card);--color-week-button-border:lightgray;--color-week-button-hover:#eaeaea;--color-week-button-active-font:var(--surface-card);--color-journal-entry-bg:var(--surface-card);--color-journal-entry-border:lightgray;--color-date-selector-bg:var(--surface-card);--color-date-selector-border:lightgray;--color-date-arrow:var(--surface-card);--color-log-entry-bg:var(--surface-card);--color-heatmap-bg:var(--surface-card);--color-heatmap-border:lightgray;--color-year-buttons-bg:#var(--surface-card);--color-year-buttons-border:#d0d7de;--color-year-buttons-hover:#eaeaea;--color-year-select-bg:var(--color-sidebar-bg);--color-year-select-border:var(--color-sidebar-border);--color-name-input-bg:white;--color-name-input-border:lightgray;--color-calendar-rating-input-bg:var(--surface-card);--color-calendar-rating-input-border:var(--surface-border);--color-rating-buttons-bg:var(--surface-card);--color-rating-buttons-border:var(--surface-border);--color-scale-selector-bg:var(--surface-card);--color-scale-selector-border:var(--surface-border);--color-color-buttons-bg:var(--surface-card);--color-color-buttons-border:var(--surface-border);--color-calendar-preview-bg:var(--surface-card);--color-calendar-preview-border:var(--surface-border);--color-color-picker-button-border:var(--surface-border);--color-heatmap-preview-bg:var(--surface-card);--color-heatmap-preview-border:var(--surface-border)}.dark-mode{--surface-bg:#121212;--surface-card:#181818;--surface-border:#3a3a3a;--color-font:white;--color-bg:var(--surface-bg);--color-sidebar-bg:var(--surface-card);--color-sidebar-border:var(--surface-border);--color-sidebar-button-hover:#2a2a2a;--color-db-card-bg:var(--surface-card);--color-db-card-border:var(--surface-border);--color-write-log-button-font:black;--color-write-log-button:#2ecc71;--color-parameter-selector-bg:var(--surface-card);--color-parameter-selector-font:white;--color-year-button-bg:var(--surface-card);--color-year-button-border:var(--surface-border);--color-week-button-bg:var(--surface-card);--color-week-button-border:--surface-border;--color-week-button-hover:#2a2a2a;--color-week-button-active-font:black;--color-journal-entry-bg:var(--surface-card);--color-journal-entry-border:--surface-border;--color-date-selector-bg:var(--surface-card);--color-date-selector-border:--surface-border;--color-date-arrow:var(--surface-card);--color-log-entry-bg:var(--surface-card);--color-rating-container-bg:var(--surface-card);--color-rating-container-border:--surface-border;--color-heatmap-bg:var(--surface-card);--color-heatmap-border:var(--surface-border);--color-year-buttons-bg:var(--surface-card);--color-year-buttons-border:--surface-border;--color-year-buttons-hover:#2a2a2a;--color-year-select-bg:var(--surface-card);--color-year-select-border:var(--surface-border);--color-year-select-selected-bg:#2d4f7a;--color-year-select-selected-border:#4f8ef7;--color-name-input-bg:var(--surface-card);--color-name-input-border:var(--surface-border);--color-calendar-rating-input-bg:var(--surface-card);--color-calendar-rating-input-border:var(--surface-border);--color-rating-buttons-bg:var(--surface-card);--color-rating-buttons-border:var(--surface-border);--color-scale-selector-bg:var(--surface-card);--color-scale-selector-border:var(--surface-border);--color-color-buttons-bg:var(--surface-card);--color-color-buttons-border:var(--surface-border);--color-calendar-preview-bg:var(--surface-card);--color-calendar-preview-border:var(--surface-border);--color-color-picker-button-border:var(--surface-border);--color-heatmap-preview-bg:var(--surface-card);--color-heatmap-preview-border:var(--surface-border)}.register-page{background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.register-card{background:var(--color-db-card-bg);border:1px solid var(--color-db-card-border);border-radius:18px;flex-direction:column;gap:14px;width:360px;padding:32px;display:flex}.register-card h1,.register-card p{margin:0}.register-card input{border:1px solid var(--color-border);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:15px}.register-card button{color:var(--color-font);cursor:pointer;background:#2ecc71;border:none;border-radius:10px;padding:12px;font-family:inherit;font-size:16px}.login-text{text-align:center;margin-top:20px;font-size:14px}.login-link{color:#2ecc71;cursor:pointer;font-weight:600}.login-link:hover{text-decoration:underline}
