:root{--color-page-background:#000;--color-text-primary:#ffffffde;--color-text-secondary:#ffffffd9;--color-text-inverse:#fff;--color-text-on-light:#000;--color-link:#999eff;--color-link-hover:#cccfff;--color-focus-ring:#646cff;--color-surface-button-default:#1a1a1a;--color-surface-raised:#222;--color-surface-fieldset:#ffffff20;--color-surface-hover:#ffffff20;--color-surface-panel:#ffffff06;--color-surface-select:#ffffff0a;--color-surface-selected:#ffffff10;--color-surface-tab-hover:#ffffff12;--color-surface-weekend:#ffffff15;--color-surface-table-emphasis:#ffffff30;--color-surface-user-selector:#00000030;--color-input-background:#00000070;--color-border-default:#ffffff30;--color-border-subtle:#ffffff20;--color-border-strong:#fff;--color-border-input:#fff7;--color-border-table-row:#ffffff2a;--color-border-table-header:#444;--color-border-preview:#ddd;--color-button-primary-background:#ccc;--color-button-primary-hover:#fff;--color-success:#1f8a3b;--color-success-hover:#187332;--color-success-background:#1f8a3b44;--color-danger:#dc3545;--color-danger-hover:#c82333;--color-danger-background:#dc354544;--color-rating-neutral:#fffd;--color-rating-neutral-selected:#fff4;--color-rating-tag-neutral:gray;--color-spinner-track:#f3f3f3;--color-spinner-accent:#3498db;--color-badge-border:#00000040;--color-badge-shadow:#fff9;--color-badge-background:#ffffffe6;--color-badge-text:#000c;--color-shadow-selection:#000;--color-person-fallback:#000;--color-person-tint-fallback:#fff;--color-year-label-text:#fff;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--color-text-primary);background-color:var(--color-page-background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}a{color:var(--color-link);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:var(--color-link-hover)}html,body{background-color:var(--color-page-background)}body{min-width:320px;min-height:100vh;margin:0}h1{font-size:3.2em;line-height:1.1}p{margin:0}button{background-color:var(--color-surface-button-default);cursor:pointer;border:1px solid #0000;border-radius:.5rem;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:var(--color-focus-ring)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}fieldset{background-color:var(--color-surface-fieldset);border:none;border-radius:.5rem;padding:1rem}input[type=text],select{border:1px solid var(--color-border-input);background-color:var(--color-input-background);border-radius:.75rem;min-height:3rem;padding-left:.5rem;font-size:1rem}.font-small{font-size:.8rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.person-icon{font-size:2rem}.system-controls{flex-wrap:wrap;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.system-controls-buttons{gap:1rem;display:flex}@media (prefers-reduced-motion:reduce){button{transition:none}}#root{text-align:center;flex-direction:column;width:100%;min-height:100vh;margin:0;display:flex}.app-content{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:1rem;display:flex}.board-table-area{flex-direction:column;align-items:center;gap:1rem;display:flex}.bubble-icon{width:var(--bubble-size,2rem);height:var(--bubble-size,2rem);justify-content:center;align-items:center;display:inline-flex;position:relative}.bubble-icon--absolute-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bubble-icon__bg{background:var(--bubble-bg,transparent);z-index:1;border-radius:9999px;position:absolute;inset:0}.bubble-icon__fg{z-index:2;font-size:var(--bubble-font-size,2rem);justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.bubble-icon__star{width:1em;height:1em}.bubble-icon__badge{z-index:3;border:1px solid var(--bubble-badge-border,var(--color-badge-border));box-shadow:0 0 0 1px var(--color-badge-shadow);background:var(--bubble-badge-bg,var(--color-badge-background));color:var(--color-badge-text);border-radius:9999px;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:absolute;top:-.1rem;right:-.75rem}.bubble-icon__badge--dot{width:.65rem;height:.65rem}.bubble-icon__badge--content{min-width:1.05rem;height:1.05rem;font-size:.7rem;font-weight:900}.bubble-icon__badge-star{width:.75rem;height:.75rem}thead .table-date,thead .table-notes{border-bottom:2px solid var(--color-border-table-header);padding-left:1rem;padding-right:1rem}.table-header-person-group{border-bottom:2px solid var(--person-color,var(--color-person-fallback));background:linear-gradient(to bottom, transparent 0, color-mix(in srgb, var(--person-color,var(--color-person-tint-fallback)), transparent 70%) 100%)}.table-header-person{justify-content:center;align-items:center;gap:1rem;min-width:12rem;padding-left:1rem;padding-right:1rem;display:inline-flex}.table-header-person-bubble{flex:none}.rating-cell-group__button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;width:100%;height:100%;min-height:3rem;margin:0;padding:0;display:flex;position:relative}.rating-cell-group__button:hover:not(:disabled){border-color:var(--color-border-default);background-color:var(--color-surface-selected)}.rating-cell-group__button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.rating-cell-group__button:disabled{cursor:default}.rating-cell-group__bubble{z-index:1}.rating-cell-group__bubble--self{z-index:3;transform-origin:50%;transform:scale(1.18)}.rating-cell-group__tag{width:var(--tag-size,1rem);height:var(--tag-size,1rem)}.rating-cell-group__tag.tag-bad,.rating-cell-group__tag.tag-neutral,.rating-cell-group__tag.tag-good{outline-offset:-2px;z-index:2;border-style:dotted;border-width:2px;border-radius:2rem;outline-width:1px;outline-style:solid;display:inline-block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.table-tag{align-items:center;gap:.25rem;display:flex}.tag-explanation-bad,.tag-explanation-neutral,.tag-explanation-good{border-radius:1rem;width:.25rem;height:.25rem;display:inline-block}.tag-explanation-bad{background-color:var(--color-danger)}.tag-explanation-neutral{background-color:var(--color-rating-tag-neutral)}.tag-explanation-good{background-color:var(--color-success)}.table-container{margin-left:auto;margin-right:auto}.table-container td{border-bottom:1px solid var(--color-border-table-row);height:3.5rem;padding:0;position:relative}.table-date{text-align:center;font-size:.8rem}.table-skipped-dates{flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;font-size:.8rem;display:flex}.table-year-label{text-align:center;letter-spacing:.08em;background-color:var(--color-surface-table-emphasis);height:100%;color:color-mix(in srgb, var(--color-year-label-text), transparent 25%);padding:1.5rem 1rem .5rem;font-size:.9rem;font-weight:600}.row-empty{opacity:.5}.row-weekend{background-color:var(--color-surface-weekend)}.date-compact{white-space:nowrap;font-size:.8rem}.table-notes{text-align:left;font-size:.8rem}.dialog{background-color:var(--color-surface-raised);border:none;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1rem;display:flex}.dialog-header{text-align:left;align-items:center;width:100%;display:flex}.dialog-title{margin:0 auto 0 0}.dialog-title h1,.dialog-title h2,.dialog-title h3{margin:0}.dialog-close-button{background:0 0;margin:0}.dialog-title h2{margin:0;font-size:1.25rem}.dialog-content{flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}.dialog-tags{text-align:left;width:100%}.dialog-actions-row{justify-content:flex-end;margin-top:1rem;display:flex}.btn{border-radius:var(--button-border-radius,.6rem);border:1px solid var(--color-border-default);min-width:3rem;min-height:3rem;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:4px}.btn__icon{vertical-align:middle;flex:none;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:1.25rem;line-height:1;display:inline-flex}.btn__icon svg{stroke-width:1px;width:1em;height:1em;display:block}.btn__label{line-height:1}.btn--round{border-radius:50%}.btn--small{padding:.25rem .5rem;font-size:.85rem}.btn--medium{padding:.45rem .85rem}.btn--primary{background:var(--color-button-primary-background);border-color:var(--color-border-strong);color:var(--color-text-on-light)}.btn--primary:hover{background:var(--color-button-primary-hover);border-color:var(--color-button-primary-hover)}.btn--success{background:var(--color-success);border-color:var(--color-success);color:var(--color-text-inverse)}.btn--success:hover{background:var(--color-success-hover);border-color:var(--color-success-hover)}.btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-text-inverse)}.btn--danger:hover{background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.btn--text{color:inherit;background:0 0;border:none}.chip{padding-top:var(--chip-pad-y,.125rem);padding-bottom:var(--chip-pad-y,.125rem);border:1px solid var(--chip-border,var(--color-border-default));background:var(--chip-bg,transparent);min-width:3rem;min-height:3rem;color:var(--chip-fg,inherit);border-radius:999px;align-items:center;gap:.4rem;font-size:.9rem;line-height:1.2;display:inline-flex;position:relative}label.chip,.chip[role=button],.chip-checkbox,button.chip{cursor:pointer}button.chip{padding-left:0;padding-right:0}label.chip:hover,.chip[role=button]:hover,.chip-checkbox:hover,button.chip:hover{background-color:var(--color-surface-hover);border-color:var(--color-border-strong)}.chip-label:first-child{padding-left:var(--chip-pad-x,.75rem)}.chip-label:last-child{padding-right:var(--chip-pad-x,.75rem)}.chip-checkbox{padding-left:var(--chip-pad-x,.75rem);gap:.5rem}.chip-checkbox:before{content:"";box-sizing:border-box;border:1px solid;border-radius:.25rem;flex:none;justify-content:center;align-items:center;width:1rem;height:1rem;font-size:.9rem;line-height:1;display:inline-flex}.chip-checkbox:has(input[type=radio]):before{border-radius:50%}.chip-checkbox:has(input:checked):before{content:"✓"}.chip-checkbox:has(input[type=radio]:checked):before{content:"●";font-size:.75rem}.chip input[type=checkbox],.chip input[type=radio]{opacity:0;width:1px;height:1px;margin:0;position:absolute}.chip:has(input:focus-visible){outline-offset:2px;outline:2px solid}.chip-leading{align-items:center;margin-left:.125rem;display:inline-flex}.chip-bad{--chip-border:var(--color-danger);--chip-fg:var(--color-danger);--chip-bg:transparent}.chip-bad.chip-selected{--chip-border:var(--color-danger);--chip-fg:var(--color-text-inverse);--chip-bg:var(--color-danger-background)}.chip-neutral{--chip-border:var(--color-rating-neutral);--chip-fg:var(--color-rating-neutral);--chip-bg:transparent}.chip-neutral.chip-selected{--chip-fg:var(--color-text-inverse);--chip-bg:var(--color-rating-neutral-selected)}.chip-good{--chip-border:var(--color-success);--chip-fg:var(--color-success);--chip-bg:transparent}.chip-good.chip-selected{--chip-fg:var(--color-text-inverse);--chip-bg:var(--color-success-background)}.chip-actions{align-items:center;margin-left:.125rem;margin-right:.125rem;display:inline-flex}.chip-actions button{--button-border-radius:50%;border:none}.rating-form{flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.rating-options{border:0;justify-content:center;align-items:center;gap:1rem;padding:0;display:flex}.rating-option{padding:.5rem}.dialog-note{text-align:left;width:100%}.checkbox-item-with-icon{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:.5rem;justify-content:center;align-items:center;display:inline-flex;position:relative}.checkbox-item-with-icon input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.checkbox-item-with-icon:hover{background-color:var(--color-surface-hover)}.checkbox-item-with-icon:has(input:checked) .rating-option-bubble{outline:2px solid var(--color-border-input);outline-offset:.666rem;filter:drop-shadow(0 0 10px var(--color-shadow-selection));border-radius:2rem}.checkbox-item-with-icon:has(input:focus-visible){outline:2px solid var(--color-focus-ring)}.rating-option-bubble{transition:transform .12s,filter .12s,outline-color .12s}.checkbox-item-with-icon:hover .rating-option-bubble{transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.rating-option-bubble{transition:none}.checkbox-item-with-icon:hover .rating-option-bubble{transform:none}}.rating-tags{flex-wrap:wrap;gap:.5rem;display:flex}.form-actions{justify-content:center;align-items:center;gap:1rem;display:flex}.text-input{flex-direction:column;gap:.125rem;display:flex}.text-input-label{text-align:left;margin-left:.5rem;font-weight:500}.text-input-field{align-items:center;display:flex;position:relative}.text-input-control{background-color:var(--text-input-bg,var(--color-input-background));width:100%}.text-input-control:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.text-input-control[aria-invalid=true]{border-color:var(--color-danger)}.text-input-field--with-suffix .text-input-control{padding-right:3.25rem}.text-input-suffix{justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.inline-error{color:var(--color-danger)}.table-controls{justify-content:center;gap:1rem;margin-top:2rem;display:flex}.current-user-selector{background-color:var(--color-surface-user-selector);flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.current-user-selector__label{color:var(--text-secondary,var(--color-text-secondary));font-weight:500}.current-user-selector__chips{flex-wrap:wrap;gap:.5rem;display:flex}.current-user-selector__bubble{flex-shrink:0}.loading-spinner{border:.5rem solid var(--color-spinner-track);border-top:.5rem solid var(--color-spinner-accent);border-radius:50%;width:3rem;height:3rem;margin:1rem auto;animation:2s linear infinite evomood-spin}@keyframes evomood-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation:none}}.trends-root{flex-direction:column;flex:1;align-self:stretch;width:100%;min-height:0;display:flex}.trends-header{justify-content:flex-end;align-items:center;gap:1rem;display:flex}.trends-actions{align-items:center;gap:.5rem;display:flex}.trends-chart-container{flex:1;width:100%;min-height:18rem}.trends-empty{border:1px solid var(--color-border-subtle);background-color:var(--color-surface-selected);text-align:center;border-radius:.75rem;max-width:40rem;margin:1rem auto;padding:1rem 1.25rem}.tabs{background-color:var(--color-surface-raised);border-radius:3rem;justify-content:flex-start;gap:.5rem;margin:0;padding:0;display:flex;overflow-x:auto}.tabs-tab{min-height:3rem;color:inherit;font:inherit;opacity:.85;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3rem;flex:none;align-items:center;gap:.35rem;padding:.35rem 1rem;display:inline-flex}.tabs-tab:hover{background:var(--color-surface-tab-hover);opacity:1}.tabs-tab:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.tabs-tab.is-active{opacity:1;border-color:var(--color-border-default);background:var(--color-surface-selected)}.component-playground{text-align:left;flex-direction:column;gap:1rem;width:min(100%,64rem);display:flex}.component-playground-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.component-playground-header h2{margin:0}.component-playground-header p{opacity:.85;margin:.35rem 0 0}.component-playground-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;display:grid}.component-card{border:1px solid var(--color-border-subtle);background:var(--color-surface-panel);border-radius:.75rem;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.component-card h3{margin:0}.component-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.component-playground-value{overflow-wrap:anywhere;margin:0}.component-fieldset{border:1px solid var(--color-border-subtle);border-radius:.5rem;flex-direction:column;gap:.75rem;min-width:0;margin:0;padding:.75rem;display:flex}.component-fieldset legend{padding:0 .25rem;font-size:.9rem}@media (width<=38rem){.component-playground-header{flex-direction:column}}.header-bar{width:100%}.header-bar-inner{justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 1rem .75rem;display:flex}.header-bar-title{text-align:left;align-items:baseline;gap:.75rem;display:inline-flex}.header-bar-nav{background:linear-gradient(to bottom, transparent 47.9%, var(--color-border-subtle) 48%, var(--color-border-subtle) 52%, transparent 52.1%);flex:1;justify-content:center;display:flex}.header-bar-title{margin:0;font-size:1.25rem;line-height:1.2}.header-bar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.header-bar-actions-group{align-items:center;gap:.75rem;display:flex}.dialog-new-tag{flex-direction:column;gap:1rem;padding:1rem;display:flex}.user-form{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.5rem 1rem;display:flex}input.user-form-emoji-input{width:6rem;font-size:1.75rem}.style-chooser{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 2rem;display:flex}.color-palette{background-color:var(--color-surface-user-selector);border-radius:1.25rem;flex-wrap:wrap;row-gap:.5rem;display:flex}.color-swatch-chip.chip{--chip-pad-x:1px;border-color:#0000;justify-content:center}.color-swatch{border:1px solid var(--color-border-input);border-radius:1rem;width:2.25rem;height:2.25rem;display:inline-block}.color-input-row{align-items:center;gap:.25rem;display:flex}.user-form-color-preview{border:1px solid var(--color-border-preview);border-radius:.25rem;width:1.25rem;height:1.25rem;display:inline-block}.user-management-welcome{text-align:center;margin:.25rem 0 .75rem}.user-management-welcome-title{margin-bottom:.25rem;font-weight:700}.user-management-welcome-text{opacity:.85;font-size:.95rem}.confirm-actions{align-items:center;gap:.25rem;display:inline-flex}.settings-dialog .dialog-content{padding-top:.25rem}.settings-dialog-body{text-align:left;flex-direction:column;gap:.75rem;display:flex}.settings-section-title{margin-bottom:.5rem;font-weight:600}.settings-select-label{align-items:center;display:inline-flex}.settings-select-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.settings-select{appearance:auto;-webkit-appearance:menulist;border:1px solid var(--color-border-subtle);background:var(--color-surface-select);color:inherit;border-radius:.6rem;padding:.35rem .6rem;font-size:.95rem;line-height:1.2}.settings-select:disabled{opacity:.7;cursor:not-allowed}.settings-items{flex-direction:column;gap:.75rem;display:flex}.settings-item{border:1px solid var(--color-border-subtle);background:var(--color-surface-panel);border-radius:.75rem;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.settings-item-title{font-weight:600;line-height:1.2}.settings-item-desc{opacity:.85;margin-top:.25rem;font-size:.9rem;line-height:1.3}.settings-item-actions{flex:none;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.settings-confirm{align-items:center;gap:.5rem;display:inline-flex}.settings-confirm-text{opacity:.9;font-size:.9rem}.settings-success{color:var(--color-success)}
