:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{color:var(--color-text);background:var(--color-bg);font-synthesis:none;--color-bg:#f7f7f7;--color-surface:#fff;--color-card:#fff;--color-text:#0f0f0f;--color-muted:#777;--color-soft:#f6f6f6;--color-border:#e8e8e8;--color-border-strong:#0f0f0f;--color-button-bg:#0f0f0f;--color-button-text:#fff;--color-button-hover-bg:#fff;--color-button-hover-text:#0f0f0f;--color-shadow:#00000014;--color-heart:#0f0f0f7a;--color-focus:#0f0f0f24;--accent-color:#dd6e00;--accent-soft:#dd6e001a;--accent-border:#dd6e0059;--accent-shadow:#dd6e002e;--stamp-bg:#ffffffeb;--stamp-border:#0f0f0fb8;--stamp-mark:#0f0f0f;font-family:Avenir Next,Hiragino Sans,Yu Gothic UI,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--color-bg:#050505;--color-surface:#0b0b0b;--color-card:#242424;--color-text:#f2f2f2;--color-muted:#b5b5b5;--color-soft:#303030;--color-border:#3a3a3a;--color-border-strong:#f2f2f2;--color-button-bg:#fff;--color-button-text:#101010;--color-button-hover-bg:#242424;--color-button-hover-text:#fff;--color-shadow:#00000075;--color-heart:#f2f2f26b;--color-focus:#ffffff2e;--accent-color:#dd6e00;--accent-soft:#dd6e001f;--accent-border:#dd6e006b;--accent-shadow:#dd6e0042;--stamp-bg:#fffffff0;--stamp-border:#101010b8;--stamp-mark:#101010}:root[data-accent=pink]{--accent-color:#e6a6b8;--accent-soft:#e6a6b824;--accent-border:#e6a6b875;--accent-shadow:#e6a6b847}:root[data-accent=red]{--accent-color:#cc2b4a;--accent-soft:#cc2b4a1f;--accent-border:#cc2b4a70;--accent-shadow:#cc2b4a42}:root[data-accent=green]{--accent-color:#6f8f72;--accent-soft:#6f8f7224;--accent-border:#6f8f7275;--accent-shadow:#6f8f7247}:root[data-accent=purple]{--accent-color:#8b6fd8;--accent-soft:#8b6fd824;--accent-border:#8b6fd875;--accent-shadow:#8b6fd847}:root[data-accent=sky]{--accent-color:#74c7ec;--accent-soft:#74c7ec29;--accent-border:#74c7ec7a;--accent-shadow:#74c7ec47}:root[data-accent=yellow]{--accent-color:#f5ce23;--accent-soft:#f5ce2329;--accent-border:#f5ce2385;--accent-shadow:#f5ce2347}:root[data-accent=blue]{--accent-color:#4f8fd8;--accent-soft:#4f8fd824;--accent-border:#4f8fd875;--accent-shadow:#4f8fd847}:root[data-accent=orange]{--accent-color:#dd6e00;--accent-soft:#dd6e001a;--accent-border:#dd6e0059;--accent-shadow:#dd6e002e}*{box-sizing:border-box}html{width:100%;overflow-x:hidden}body{background-color:#0000;background-image:radial-gradient(circle at 14% 8%,#e0ebf9b8,#0000 32%),radial-gradient(circle at 86% 0,#f1e2e880,#0000 30%),linear-gradient(#fbfcfe 0%,#f4f7fb 54%,#eef4f8 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:100%;min-width:320px;min-height:100vh;margin:0;position:relative;overflow-x:hidden}body:before,body:after{z-index:0;content:"";pointer-events:none;position:fixed}body:before{opacity:.38;mix-blend-mode:soft-light;background-image:repeating-linear-gradient(0deg,#ffffff6b 0 1px,#0000 1px 8px),repeating-linear-gradient(90deg,#3d547306 0 1px,#0000 1px 10px);inset:0}body:after{filter:blur(38px);background:#d8e4f88a;border-radius:50%;width:420px;height:420px;inset:auto -18% -18% auto}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button,.draft-toggle,.genre-toggle,.mood-toggle,.memo-toggle,.calendar-day,.theme-switcher button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.app{z-index:1;flex-direction:column;width:min(1120px,100% - 32px);max-width:100%;margin:0 auto;padding:44px 0 64px;display:flex;position:relative;overflow-x:clip}.heart-burst{z-index:4;pointer-events:none;position:fixed;inset:0;overflow:hidden}.heart-burst span{left:var(--heart-left);top:var(--heart-top);color:#e68386b3;font-size:var(--heart-size);opacity:0;filter:drop-shadow(0 10px 20px #89344a21);animation:heart-float 1.75s ease-out var(--heart-delay) forwards;line-height:1;position:absolute;transform:translate(-50%,24px)scale(.72)}@keyframes heart-float{0%{opacity:0;transform:translate(-50%,24px)scale(.72)}18%{opacity:.78}to{opacity:0;transform:translate3d(calc(-50% + var(--heart-drift)), calc(var(--heart-rise) * -1), 0) scale(1.16)}}.app-header{order:1;grid-template-columns:minmax(0,1fr) auto minmax(52px,1fr);align-items:center;gap:12px;padding:6px 10px 28px 2px;display:grid}.app-header .eyebrow{margin-bottom:10px}.app-header h1{isolation:isolate;color:#213856;box-shadow:none;letter-spacing:.045em;background:0 0;border:0;border-radius:0;justify-self:start;align-items:center;margin:0 0 0 clamp(8px,2vw,18px);padding:0;font-family:Avenir Next,Avenir Next Condensed,system-ui,sans-serif;font-size:clamp(38px,5.8vw,50px);font-weight:750;line-height:1;display:inline-flex;position:relative}.app-header h1:before{content:"";z-index:-1;background:#ccc;border-radius:0;width:134%;height:.9em;position:absolute;bottom:0;left:50%;transform:translate(-50%)rotate(-1.2deg);box-shadow:0 7px 18px #cccccc38,0 1px #11111112}.logo-plus{margin-inline:.015em;font-size:.86em;line-height:1;display:inline-block;transform:translateY(-.02em)}.header-crown{object-fit:contain;border-radius:14px;justify-self:center;width:clamp(51px,9.3vw,67px);height:auto;box-shadow:0 12px 28px #00000014}.menu-toggle{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-card) 82%, transparent);width:42px;height:42px;color:var(--color-text);box-shadow:0 12px 28px var(--color-shadow);cursor:pointer;text-align:center;border-radius:999px;justify-content:center;justify-self:end;align-items:center;margin-right:4px;padding:0;font-size:24px;font-weight:900;line-height:1;display:flex}.menu-toggle span{line-height:1;display:block;transform:translateY(-1px)}.header-note{color:#f3f6fcc2;letter-spacing:.06em;border:1px solid #e8eef847;border-radius:999px;flex:none;padding:8px 13px;font-size:12px;font-weight:700}.menu-backdrop{z-index:20;padding:max(16px, env(safe-area-inset-top)) 12px 16px;-webkit-backdrop-filter:blur(10px);background:#00000038;justify-content:flex-end;display:flex;position:fixed;inset:0}.app-menu{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-card) 96%, transparent);width:min(390px,100vw - 24px);max-height:min(760px,100vh - 32px);color:var(--color-text);border-radius:26px;padding:16px;overflow-y:auto;box-shadow:0 24px 70px #00000042}.menu-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.menu-header h2{letter-spacing:-.03em;margin:0;font-size:22px}.menu-header button{border:1px solid var(--color-border);background:var(--color-soft);width:38px;height:38px;color:var(--color-text);cursor:pointer;border-radius:999px;place-items:center;font-weight:900;display:inline-grid}.menu-tabs,.accent-options{flex-wrap:wrap;gap:7px;display:flex}.menu-tabs{margin-bottom:14px}.menu-tabs button,.accent-options button{border:1px solid var(--color-border);background:var(--color-soft);color:var(--color-text);cursor:pointer;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:850}.menu-tabs button.is-active,.accent-options button.is-active{border-color:var(--color-border-strong);background:var(--color-card);box-shadow:0 10px 24px var(--color-shadow)}.menu-section{gap:12px;display:grid}.menu-section p,.menu-section ul{color:var(--color-muted);margin:0;font-size:13px;font-weight:650;line-height:1.75}.about-section p{text-align:left}.menu-note{border-top:1px solid var(--color-border);padding-top:12px}.howto-list,.tips-grid{gap:8px;display:grid}.howto-list{padding-left:1.2em}.tip-card{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-soft) 64%, transparent);border-radius:16px;gap:4px;padding:10px 11px;display:grid}.tip-card h3,.tip-card p{margin:0}.tip-card h3{color:var(--color-text);letter-spacing:.03em;font-size:12px;font-weight:900}.tip-card p{color:var(--color-muted);font-size:12px;font-weight:700;line-height:1.55}.settings-section section{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-soft) 72%, transparent);border-radius:18px;gap:9px;padding:12px;display:grid}.settings-section h3{margin:0;font-size:14px}.settings-footer-note{border-top:1px solid var(--color-border);color:var(--color-muted);text-align:center;padding-top:12px;font-size:12px;font-weight:750;line-height:1.7}.step-setting-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.step-setting-grid label{color:var(--color-muted);gap:5px;font-size:12px;font-weight:800;display:grid}.step-setting-grid input{border:1px solid var(--color-border);background:var(--color-card);width:100%;color:var(--color-text);text-align:center;border-radius:12px;padding:9px 8px;font-weight:850}.accent-options button{align-items:center;gap:7px;display:inline-flex}.accent-options span{background:var(--accent-option-color);border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 1px #00000014}.today-section{order:2}.calendar-section{order:3}.chart-section{order:4}.chart-section,.log-form,.calendar-section{-webkit-backdrop-filter:blur(14px);background:#ffffffb8;border:1px solid #dae2eebd;box-shadow:0 18px 48px #4f64821a}.eyebrow,.section-kicker{color:#1c4885;letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:800}.eyebrow{color:#f3f6fc;background:#f3f6fc24;border:1px solid #f3f6fc47;border-radius:999px;align-items:center;margin:0 0 15px;padding:6px 11px;display:inline-flex}.chart-section,.log-form,.calendar-section{border-radius:28px;padding:28px}.chart-section,.today-section,.calendar-section{margin-bottom:20px}.chart-section h2,.log-form h2,.calendar-section h2{color:#122b4c;letter-spacing:-.045em;margin-top:0}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-bottom:14px;display:flex}.section-heading h2{color:#203854;letter-spacing:-.035em;background:#ffffff94;border:1px solid #dae2eebd;border-radius:999px;align-items:center;width:max-content;margin-bottom:0;padding:9px 18px 10px;font-family:Avenir Next,system-ui,sans-serif;font-size:clamp(24px,3.4vw,38px);font-weight:760;line-height:1;display:inline-flex}.today-heading .section-title-pill,.calendar-heading .section-title-pill,.section-heading .section-title-pill{color:#203854;letter-spacing:-.035em;background:#ffffff94;border:1px solid #dae2eebd;border-radius:999px;align-items:center;width:max-content;margin-bottom:0;padding:9px 19px 10px;font-family:Avenir Next,system-ui,sans-serif;font-size:clamp(24px,3.4vw,38px);font-weight:760;line-height:1;display:inline-flex}.section-heading>p{color:#4c607d;max-width:460px;margin:0;line-height:1.7}.section-kicker{text-transform:uppercase;margin:0 0 5px}.chart-canvas{background:#ffffffb8;border:1px solid #dbe3eebd;border-radius:24px;width:100%;height:330px;padding:16px 8px 6px 0}.chart-empty{color:#4d617d;text-align:center;background:#ffffffb8;border:1px dashed #1c488538;border-radius:18px;margin:0;padding:28px;line-height:1.7}.log-form{gap:16px;width:100%;max-width:760px;margin:0 auto;display:grid;overflow:hidden}.today-heading{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.today-heading h2{letter-spacing:-.04em;background:#ffffff94;border:1px solid #dae2eebd;border-radius:999px;flex:0 auto;align-items:center;min-width:0;margin-bottom:0;padding:9px 18px 10px;font-size:clamp(26px,4vw,42px);font-weight:760;line-height:1;display:inline-flex}.today-heading>span{border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--accent-color);letter-spacing:-.05em;border-radius:999px;flex:none;padding:8px 13px;font-size:clamp(20px,3vw,30px);font-weight:800}.today-note{color:#405878;background:#ffffffbd;border:1px solid #1c488517;border-radius:16px;margin:-2px 0 0;padding:11px 14px;font-size:13px}.metric-input-grid{grid-template-columns:1fr;gap:9px;display:grid}.metric-field{background:#ffffffa8;border:1px solid #1c488517;border-radius:21px;grid-template-columns:minmax(72px,.32fr) minmax(0,1fr);align-items:center;gap:12px;padding:10px 11px 10px 16px;display:grid;box-shadow:inset 0 1px #ffffffb8}.metric-field label{color:#243d5d;letter-spacing:-.01em;font-size:14px;font-weight:800}.log-form label{color:#243d5d;gap:7px;font-weight:700;display:grid}.log-form input,.log-form textarea{color:#142744;background:#fff;border:1px solid #1c488529;border-radius:17px;outline:none;width:100%;padding:12px 14px;transition:border-color .16s,box-shadow .16s,background-color .16s;box-shadow:inset 0 1px 2px #0a1f410a}.date-input{width:100%}.date-control{flex-wrap:nowrap;justify-content:center;align-items:center;gap:5px;width:100%;min-width:0;max-width:100%;margin-top:-2px;display:flex}.date-control .date-input{color:#66768e;appearance:none;background:#ffffff7a;border-radius:999px;flex:0 0 96px;width:96px;min-width:0;padding:8px 4px;font-size:10px;font-weight:700}.date-control .date-input::-webkit-calendar-picker-indicator{margin:0;padding:0}.capture-options{flex:none;align-items:center;gap:5px;min-width:0;max-width:100%;display:inline-flex;overflow:visible}.log-form .draft-toggle,.day-edit-form .draft-toggle{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-card) 82%, transparent);min-width:74px;min-height:42px;color:var(--color-text);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;padding:9px 10px;font-size:11px;font-weight:800;line-height:1.2;display:inline-flex}.log-form .draft-toggle input,.day-edit-form .draft-toggle input{accent-color:#111;cursor:pointer;flex:none;width:15px;height:15px;margin:0}.genre-selector,.mood-selector{flex:none;position:relative}.genre-toggle,.mood-toggle{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-card) 82%, transparent);min-height:42px;color:var(--color-text);cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:9px;font-size:11px;font-weight:850;line-height:1.2;display:inline-flex}.genre-toggle.has-genre,.mood-toggle.has-mood{padding-left:7px}.date-control .genre-toggle{min-width:64px}.date-control .mood-toggle{min-width:52px}.date-control .draft-toggle{overflow:visible}.date-control .genre-toggle span:last-child,.date-control .mood-toggle span:last-child{text-overflow:clip;white-space:nowrap;overflow:visible}.genre-panel,.mood-panel{z-index:60;border:1px solid var(--color-border);background:var(--color-card);width:min(340px,88vw);max-height:min(360px,54vh);box-shadow:0 18px 44px var(--color-shadow);border-radius:18px;gap:10px;padding:10px;display:grid;position:absolute;bottom:calc(100% + 8px);left:50%;overflow:auto;transform:translate(-50%)}.mood-panel{gap:10px;width:min(340px,88vw)}.selector-panel-copy{gap:3px;padding:2px 2px 3px;display:grid}.selector-panel-copy strong{color:var(--color-text);font-size:13px;font-weight:900}.selector-panel-copy span{color:var(--color-muted);font-size:11px;font-weight:700;line-height:1.5}.genre-list,.mood-list{gap:6px;display:grid}.genre-row,.mood-row{grid-template-columns:minmax(0,1fr) 92px 34px;align-items:center;gap:6px;display:grid}.genre-row button,.genre-add button,.mood-row button,.mood-add button,.mood-panel button{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-card) 88%, transparent);color:var(--color-text);cursor:pointer;border-radius:999px;font-size:12px;font-weight:850}.genre-row button:not(.genre-delete),.mood-row button:not(.mood-delete){text-align:left;align-items:center;gap:7px;min-height:34px;padding:7px 9px;display:inline-flex}.genre-row button.is-active,.mood-row button.is-active{border-color:var(--color-border-strong);background:var(--color-soft)}.genre-delete,.mood-delete{min-width:34px;min-height:34px;color:var(--color-muted);place-items:center;padding:0;font-size:15px;line-height:1;display:inline-grid}.genre-row select,.mood-row select,.genre-add select,.genre-add input,.mood-add select,.mood-add input{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-card) 88%, transparent);width:100%;min-height:34px;color:var(--color-text);border-radius:999px;padding:7px 9px;font-size:11px;font-weight:800}.genre-add,.mood-add{grid-template-columns:minmax(0,1fr) 86px 36px;gap:6px;display:grid}.genre-add button,.mood-add button{min-height:34px;padding:0;font-size:18px;line-height:1}.genre-dot,.mood-dot{background:var(--genre-color);border:1px solid #ffffffb8;border-radius:999px;flex:none;width:9px;height:9px;display:inline-block;box-shadow:0 0 0 1px #00000014}.mood-dot{background:var(--mood-color)}.log-form input:focus,.log-form textarea:focus{background:#fff;border-color:#8fa8c6;box-shadow:0 0 0 4px #1c488521}.memo-field{background:#ffffffa8;border:1px solid #1c488517;border-radius:21px;gap:7px;padding:8px;display:grid;box-shadow:inset 0 1px #ffffffb8}.memo-field.is-open{padding:12px}.memo-toggle{width:100%;min-height:38px;color:var(--color-muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:16px;justify-content:flex-start;align-items:center;gap:7px;padding:8px 10px;font-size:13px;font-weight:850;display:inline-flex}.memo-toggle:hover{background:color-mix(in srgb, var(--color-soft) 70%, transparent);color:var(--color-text)}.memo-chevron{justify-content:center;align-items:center;width:18px;height:18px;font-size:19px;line-height:1;transition:transform .16s;display:inline-flex;transform:rotate(90deg)}.memo-field.is-open .memo-chevron{transform:rotate(-90deg)}.memo-field textarea{resize:vertical;min-height:86px;line-height:1.65}.memo-field textarea::placeholder{color:#95a2b5}.memo-field>span{color:#8794a8;justify-self:end;font-size:11px;font-weight:700}.stepper{grid-template-columns:minmax(64px,1fr) auto;align-items:center;gap:9px;display:grid}.stepper button{color:#315376;cursor:pointer;background:#ecf2f9d1;border:1px solid #1c48851f;border-radius:18px;min-height:54px;font-size:18px;font-weight:850;transition:background-color .16s,transform .16s,box-shadow .16s}.stepper button:hover:not(:disabled){background:#fff;transform:translateY(-1px);box-shadow:0 8px 18px #31537614}.stepper .minus-button{background:color-mix(in srgb, var(--color-card) 78%, transparent);min-width:46px;color:var(--color-muted);padding-inline:10px;font-size:15px}.stepper button:disabled{cursor:not-allowed;opacity:.42}.stepper input{color:#122b4c;font-variant-numeric:tabular-nums;letter-spacing:-.02em;text-align:center;background:#fffc;border-radius:18px;min-width:0;min-height:54px;font-family:SF Pro Display,Avenir Next,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:clamp(19px,2.7vw,25px);font-weight:600}.quick-buttons{align-items:center;gap:5px;display:flex}.quick-buttons button{min-width:46px;padding-inline:10px}.save-message{color:#315376;text-align:center;min-height:22px;margin:-4px 0 0;font-size:13px;line-height:1.6}.calendar-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.calendar-heading h2{letter-spacing:-.035em;background:#ffffff94;border:1px solid #dae2eebd;border-radius:999px;align-items:center;margin-bottom:0;padding:9px 18px 10px;font-size:clamp(24px,3.4vw,38px);font-weight:760;line-height:1;display:inline-flex}.calendar-controls{border:1px solid var(--accent-border);color:var(--accent-color);box-shadow:0 8px 22px var(--accent-shadow);background:#ffffff9e;border-radius:999px;align-items:center;gap:8px;padding:5px;font-size:13px;font-weight:800;display:inline-flex}.calendar-controls button{width:32px;height:32px;color:var(--accent-color);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;font-size:22px;line-height:1;display:inline-grid}.calendar-controls button:hover{background:#e8eef8e6}.calendar-controls span{min-width:132px;color:var(--accent-color);text-align:center}.range-tabs{border:1px solid var(--accent-border);box-shadow:0 8px 22px var(--accent-shadow);background:#ffffff8f;border-radius:999px;align-items:center;gap:4px;padding:5px;display:inline-flex}.range-tabs button{min-height:34px;color:var(--accent-color);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:850;transition:background-color .16s,color .16s,box-shadow .16s}.range-tabs button:hover,.range-tabs button.is-active{background:var(--accent-soft);color:var(--accent-color);box-shadow:inset 0 1px #ffffffd1}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.calendar-weekdays{margin-bottom:8px}.calendar-weekdays span{color:#728199;text-align:center;font-size:11px;font-weight:800}.calendar-day{color:#405878;cursor:pointer;background:#ffffff85;border:1px solid #1c488512;border-radius:18px;place-items:center;min-height:76px;padding:8px;transition:border-color .16s,background-color .16s,transform .16s;display:grid;position:relative}.calendar-day:hover{background:#ffffffc7;border-color:#1c48852e;transform:translateY(-1px)}.calendar-day.is-muted{color:#a4afbf;opacity:.54}.calendar-day.is-selected{background:#e8eef8e6;border-color:#31537659}.calendar-day span{place-self:start;font-size:12px;font-weight:800}.calendar-mood-dot{background:var(--mood-color);border:1px solid #ffffffb8;border-radius:999px;width:8px;height:8px;display:block;position:absolute;top:8px;right:9px;box-shadow:0 0 0 1px #00000014,0 2px 5px #0000001f}.day-stamps{justify-content:center;align-items:center;gap:5px;min-height:30px;display:flex}.crown-stamp{width:30px;height:30px;color:var(--stamp-mark);filter:drop-shadow(0 1px 2px var(--color-shadow));flex:none;display:block}.crown-stamp-badge{fill:var(--stamp-bg);stroke:var(--stamp-border);stroke-width:2.5px;stroke-linejoin:round}.crown-stamp-crown{fill:currentColor}.crown-stamp-inverted .crown-stamp-badge{fill:var(--stamp-mark);stroke:var(--stamp-mark)}.crown-stamp-inverted .crown-stamp-crown{fill:var(--stamp-bg)}.calendar-day strong{border:1px solid var(--stamp-border);background:var(--stamp-bg);width:22px;height:22px;color:var(--stamp-mark);border-radius:999px;place-items:center;font-size:11px;font-weight:900;line-height:1;display:inline-grid}.day-sheet{background:#ffffffb8;border:1px solid #1c48851a;border-radius:24px;margin-top:16px;padding:18px}.day-sheet-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.day-sheet-header>div{gap:6px;display:grid}.day-sheet-actions{justify-items:end;gap:7px;display:grid}.day-sheet-action-row{justify-content:flex-end;align-items:center;gap:7px;display:inline-flex}.draft-state{border:1px solid var(--color-border);width:max-content;color:var(--color-muted);border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800}.genre-state,.mood-state{border:1px solid var(--color-border);width:max-content;color:var(--color-muted);border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:11px;font-weight:800;display:inline-flex}.day-sheet time{color:#122b4c;letter-spacing:-.02em;font-size:18px;font-weight:800}.day-sheet-header button{color:#526783;cursor:pointer;background:#f3f6fcc7;border:1px solid #1c48851a;border-radius:999px;place-items:center;min-width:34px;height:34px;padding:0 11px;font-size:12px;font-weight:850;display:inline-grid}.day-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px;display:grid}.day-metrics span{color:#61728a;background:#f3f6fcb8;border:1px solid #1c488514;border-radius:16px;gap:6px;padding:12px;font-size:12px;font-weight:700;display:grid}.day-metrics strong{color:#122b4c;font-size:18px;line-height:1}.day-edit-form{box-sizing:border-box;gap:12px;width:100%;max-width:100%;display:grid;overflow-x:hidden}.day-edit-options{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.day-edit-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.day-edit-metrics label{color:var(--color-muted);background:#f3f6fcb8;border:1px solid #1c488514;border-radius:16px;gap:6px;padding:10px;font-size:12px;font-weight:800;display:grid}.day-edit-metrics input{border:1px solid var(--color-border);background:var(--color-card);width:100%;min-height:42px;color:var(--color-text);font-variant-numeric:tabular-nums;border-radius:13px;padding:8px 10px;font-weight:750}.day-memo{color:#304660;white-space:pre-wrap;word-break:break-word;background:#ffffff9e;border:1px solid #1c488514;border-radius:18px;max-height:220px;margin:0 0 14px;padding:13px 14px;font-size:13px;line-height:1.75;overflow:auto}.empty-day{color:#728199;text-align:center;margin:0}.submit-button,.inherit-button{box-sizing:border-box;cursor:pointer;border-radius:16px;width:100%;max-width:100%;min-height:50px;padding:12px 20px;font-weight:800;transition:background-color .16s,transform .16s,box-shadow .16s}.submit-button{color:#0f0f0f;background:#fff;border:1px solid #0f0f0fd1;border-radius:999px;box-shadow:0 10px 18px #0f0f0f1a}.submit-button:hover{color:#0f0f0f;background:#fff;border-color:#0f0f0f;transform:translateY(-1px);box-shadow:0 8px 16px #0f0f0f1f}.submit-button.is-saved{box-shadow:0 0 0 4px var(--color-focus), 0 12px 28px var(--color-shadow);animation:.64s save-pop}@keyframes save-pop{0%{transform:scale(1)}35%{box-shadow:0 8px 18px var(--color-shadow);transform:scale(.985)}70%{transform:scale(1.015)}to{transform:scale(1)}}.inherit-button{color:#1c4885;box-shadow:none;background:#f3f6fc;border:1px solid #1c488529;font-size:13px}.inherit-button:hover:not(:disabled){background:#dbe5f4;transform:translateY(-1px)}.inherit-button:disabled{cursor:not-allowed;opacity:.52}.submit-button:focus-visible,.inherit-button:focus-visible,.stepper button:focus-visible,.delete-button:focus-visible{outline-offset:3px;outline:3px solid #1c488542}.submit-button:active,.inherit-button:active,.stepper button:active{transform:translateY(1px)scale(.992)}.chart-legend{flex-wrap:wrap;justify-content:center;gap:8px 14px;margin:8px 0 0;padding:0;list-style:none;display:flex}.chart-legend li{color:#526783;align-items:center;gap:5px;font-size:12px;font-weight:800;display:inline-flex}.legend-color{border-radius:999px;width:9px;height:9px}.delete-button{color:#526783;cursor:pointer;background:#f3f6fc;border:1px solid #1c48851f;border-radius:12px;padding:8px 12px;font-weight:700;transition:border-color .16s,background-color .16s,color .16s}.delete-button:hover{color:#9b5454;background:#fff1f1a8;border-color:#b466666b}.day-sheet-delete-button,.day-sheet-delete-button:hover{color:#cc2b4a;background:#cc2b4a0a;border-color:#cc2b4a47}.day-sheet-delete-button:hover{background:#cc2b4a14;border-color:#cc2b4a6b}.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}body{background:radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--color-soft) 80%, transparent), transparent 30%), linear-gradient(180deg, var(--color-surface) 0%, var(--color-bg) 100%);color:var(--color-text)}:root[data-theme=dark] body{background:linear-gradient(#050505 0%,#0a0a0a 42%,#111 78%,#181818 100%)}body:before{opacity:.22;background-image:repeating-linear-gradient(0deg,#80808014 0 1px,#0000 1px 9px),repeating-linear-gradient(90deg,#8080800a 0 1px,#0000 1px 11px)}body:after{background:0 0}.heart-burst span{color:var(--color-heart);filter:drop-shadow(0 10px 20px var(--color-shadow))}.app,.chart-section h2,.log-form h2,.calendar-section h2,.metric-field label,.log-form label,.day-sheet time,.day-metrics strong,.stepper input,.today-heading .section-title-pill,.calendar-heading .section-title-pill,.section-heading .section-title-pill,.app-header h1{color:var(--color-text)}.chart-section,.log-form,.calendar-section{border-color:var(--color-border);background:color-mix(in srgb, var(--color-card) 92%, transparent);box-shadow:0 22px 58px var(--color-shadow)}.today-heading>span,.calendar-controls,.range-tabs{border-color:var(--accent-border);background:color-mix(in srgb, var(--color-card) 82%, transparent);color:var(--accent-color);box-shadow:0 8px 22px var(--accent-shadow)}.app-header h1{box-shadow:none;background:0 0;border:0}:root[data-theme=dark] .app-header h1:before{background:#303030;box-shadow:0 8px 22px #3030306b,0 1px #ffffff0d}.day-sheet-header .day-sheet-delete-button,.day-sheet-header .day-sheet-delete-button:hover{color:#cc2b4a;background:#cc2b4a0a;border-color:#cc2b4a47}.day-sheet-header .day-sheet-delete-button:hover{background:#cc2b4a14;border-color:#cc2b4a6b}:root[data-theme=dark] .day-sheet-header .day-sheet-delete-button{color:#ff8aa0;background:#cc2b4a1a;border-color:#cc2b4a6b}.today-heading .section-title-pill{color:#fff;background:#0f0f0f;border-color:#0f0f0f;box-shadow:0 8px 18px #00000014,0 8px 22px #cc2b4a2e}.calendar-heading .section-title-pill{color:#fff;background:#0f0f0f;border-color:#0f0f0f;box-shadow:0 8px 18px #00000014,0 8px 22px #dd6e002e}.section-heading .section-title-pill{color:#fff;background:#0f0f0f;border-color:#0f0f0f;box-shadow:0 8px 18px #00000014,0 8px 22px #f5ce2333}.today-heading>.today-date-pill,:root[data-theme=dark] .today-heading>.today-date-pill{border-color:var(--accent-border);background:color-mix(in srgb, var(--color-card) 82%, transparent);color:var(--accent-color);box-shadow:0 8px 22px var(--accent-shadow)}:root[data-theme=dark] .today-heading .section-title-pill{color:#0f0f0f;background:#fff;border-color:#ffffffc2;box-shadow:0 10px 24px #0000001f,0 8px 22px #cc2b4a2e}:root[data-theme=dark] .calendar-heading .section-title-pill{color:#0f0f0f;background:#fff;border-color:#ffffffc2;box-shadow:0 10px 28px #dd6e0047,0 12px 34px #ffffff14,0 10px 24px #00000014}:root[data-theme=dark] .section-heading .section-title-pill{color:#0f0f0f;background:#fff;border-color:#ffffffc2;box-shadow:0 10px 28px #f5ce234d,0 12px 34px #ffffff14,0 10px 24px #00000014}.today-heading>span,.calendar-controls,.calendar-controls button,.range-tabs button,.calendar-weekdays span,.chart-legend li,.save-message,.memo-field>span,.empty-day,.day-metrics span{color:var(--color-muted)}.today-heading>.today-date-pill{color:var(--accent-color);border-color:var(--accent-border);box-shadow:0 8px 22px var(--accent-shadow)}.today-heading .section-title-pill,.calendar-heading .section-title-pill,.section-heading .section-title-pill{letter-spacing:.055em;border-radius:23px;padding:11px 22px 12px;font-weight:760;line-height:1}.metric-field,.memo-field,.chart-canvas,.chart-empty,.day-sheet,.day-metrics span,.day-memo-editor textarea,.day-memo,.date-control .date-input,.log-form input,.log-form textarea{border-color:var(--color-border);background:color-mix(in srgb, var(--color-card) 90%, transparent);color:var(--color-text);box-shadow:none}.log-form input:focus,.log-form textarea:focus{border-color:var(--color-border-strong);background:var(--color-card);box-shadow:0 0 0 4px var(--color-focus)}.memo-field textarea::placeholder,.day-memo-editor textarea::placeholder{color:var(--color-muted)}.stepper button,.calendar-controls button:hover,.range-tabs button:hover,.range-tabs button.is-active,.delete-button,.day-sheet-header button{border-color:var(--color-border);background:var(--color-soft);color:var(--color-text);box-shadow:none}.stepper button:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-card);box-shadow:none}.submit-button,.memo-save-button{border-color:var(--color-button-bg);background:var(--color-button-bg);box-shadow:0 8px 16px var(--color-shadow)}.memo-save-button{color:var(--color-button-text)}.submit-button{border-color:var(--color-border-strong);color:var(--color-text);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-border-strong) 12%, transparent), 0 8px 16px var(--color-shadow)}.submit-button:hover,.memo-save-button:hover{border-color:var(--color-border-strong);background:var(--color-button-hover-bg);box-shadow:none}.memo-save-button:hover{color:var(--color-button-hover-text)}.submit-button:hover{border-color:var(--color-border-strong);color:var(--color-text)}:root[data-theme=dark] .chart-section,:root[data-theme=dark] .log-form,:root[data-theme=dark] .calendar-section{background:color-mix(in srgb, var(--color-card) 94%, transparent);box-shadow:0 24px 64px #0000009e}:root[data-theme=dark] .metric-field,:root[data-theme=dark] .memo-field,:root[data-theme=dark] .chart-canvas,:root[data-theme=dark] .chart-empty,:root[data-theme=dark] .day-sheet,:root[data-theme=dark] .day-metrics span,:root[data-theme=dark] .day-memo-editor textarea,:root[data-theme=dark] .day-memo,:root[data-theme=dark] .date-control .date-input,:root[data-theme=dark] .log-form input,:root[data-theme=dark] .log-form textarea{color:var(--color-text);background:#303030;border-color:#414141}:root[data-theme=dark] .stepper button,:root[data-theme=dark] .theme-switcher,:root[data-theme=dark] .genre-panel,:root[data-theme=dark] .mood-panel{color:var(--color-text);background:#2e2e2e;border-color:#424242}:root[data-theme=dark] .calendar-controls,:root[data-theme=dark] .range-tabs{border-color:var(--accent-border);background:color-mix(in srgb, var(--color-card) 82%, transparent);color:var(--accent-color);box-shadow:0 8px 22px var(--accent-shadow)}:root[data-theme=dark] .submit-button{color:#fff;background:#fff;border-color:#fff;box-shadow:0 0 0 1px #fff3,0 12px 24px #00000061}:root[data-theme=dark] .submit-button:hover{color:#101010;background:#fff;border-color:#fff}.delete-button:hover{border-color:var(--color-border-strong);background:var(--color-card);color:var(--color-text)}.submit-button:focus-visible,.stepper button:focus-visible,.delete-button:focus-visible,.memo-actions button:focus-visible,.theme-switcher button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.calendar-day{border-color:var(--color-border);background:color-mix(in srgb, var(--color-card) 78%, transparent);color:var(--color-text)}.calendar-day:hover,.calendar-day.is-selected{border-color:var(--color-border-strong);background:var(--color-card)}.calendar-day.has-log{border-color:color-mix(in srgb, var(--genre-frame-color,#8f8f8f) 45%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--genre-frame-color,#8f8f8f) 8%, transparent), 0 0 14px color-mix(in srgb, var(--genre-frame-color,#8f8f8f) 16%, transparent)}.calendar-day.has-log:hover{border-color:color-mix(in srgb, var(--genre-frame-color,#8f8f8f) 62%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--genre-frame-color,#8f8f8f) 12%, transparent), 0 0 18px color-mix(in srgb, var(--genre-frame-color,#8f8f8f) 20%, transparent)}.calendar-day.has-log.is-selected{border-color:color-mix(in srgb, var(--genre-frame-color,#8f8f8f) 72%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--genre-frame-color,#8f8f8f) 18%, transparent), 0 0 20px color-mix(in srgb, var(--genre-frame-color,#8f8f8f) 24%, transparent)}:root[data-theme=dark] .calendar-day.has-log{border-color:color-mix(in srgb, var(--genre-frame-color,#8f8f8f) 62%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--genre-frame-color,#8f8f8f) 18%, transparent), 0 0 18px color-mix(in srgb, var(--genre-frame-color,#8f8f8f) 26%, transparent)}.calendar-day.is-muted{color:var(--color-muted)}.calendar-day strong{border-color:var(--stamp-border);background:var(--stamp-bg);color:var(--stamp-mark)}.day-memo-editor{gap:8px;margin-bottom:14px;display:grid}.day-memo-editor textarea{resize:vertical;border-radius:18px;min-height:112px;max-height:260px;padding:13px 14px;line-height:1.7}.memo-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.memo-actions span,.memo-save-message{color:var(--color-muted);font-size:11px;font-weight:700}.memo-actions button{border:1px solid var(--color-button-bg);background:var(--color-button-bg);min-height:38px;color:var(--color-button-text);cursor:pointer;border-radius:999px;padding:8px 14px;font-weight:800;transition:background-color .16s,color .16s,transform .16s}.memo-actions button:hover{background:var(--color-button-hover-bg);color:var(--color-button-hover-text)}.memo-save-message{text-align:right;min-height:16px;margin:-2px 0 0}.legend-color{background:var(--color-text)}.theme-switcher{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-card) 72%, transparent);border-radius:999px;order:5;align-self:center;gap:4px;margin-top:12px;padding:5px;display:inline-flex}.theme-switcher button{min-height:32px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 13px;font-size:12px;font-weight:800}.theme-switcher button.is-active{background:var(--color-button-bg);color:var(--color-button-text)}.app-credit{color:color-mix(in srgb, var(--color-muted) 72%, transparent);letter-spacing:.02em;text-align:center;order:6;gap:4px;margin-top:12px;padding-bottom:18px;font-size:11px;font-weight:750;display:grid}.app-version{color:color-mix(in srgb, var(--color-muted) 58%, transparent);letter-spacing:.04em;margin-top:2px;font-size:10px;font-weight:700}.app-disclaimer{max-width:560px;color:color-mix(in srgb, var(--color-muted) 76%, transparent);letter-spacing:.01em;gap:3px;margin:12px auto 0;font-size:10.5px;font-weight:650;line-height:1.65;display:grid}.mood-panel p{color:var(--color-muted);letter-spacing:.02em;margin:0 0 2px;font-size:11px;font-weight:850}@media (width<=960px){.day-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.section-heading{display:block}.section-heading>p{margin-top:10px}.chart-canvas{height:245px}.calendar-day{border-radius:15px;min-height:62px}}@media (width<=560px){.app{width:min(100% - 12px,1120px);padding:24px 0 40px;overflow-x:clip}.log-form,.calendar-section{border-radius:24px;width:100%;max-width:100%;padding:20px 10px}.app-header{grid-template-columns:minmax(0,1fr) auto minmax(48px,1fr);align-items:center;padding:4px 8px 18px 0;display:grid;overflow:hidden}.app-header h1{padding:0;font-size:clamp(34px,9.8vw,41px)}.header-crown{border-radius:12px;width:44px}.menu-toggle{width:40px;height:40px;margin-right:4px}.header-note{width:max-content;margin:10px 0 0 auto;padding:7px 11px;font-size:12px;display:block}.chart-section{border-radius:24px;padding:21px 13px}.chart-canvas{height:215px}.metric-input-grid{grid-template-columns:1fr}.metric-field{grid-template-columns:minmax(48px,.25fr) minmax(0,1fr);gap:7px;padding:9px 7px 9px 10px}.metric-field label{font-size:12px}.stepper{grid-template-columns:minmax(48px,1fr) auto;gap:5px}.stepper button,.stepper input{border-radius:15px;min-height:46px}.stepper input{padding-inline:5px;font-size:20px}.quick-buttons{gap:3px}.quick-buttons button,.stepper .minus-button{min-width:34px;padding-inline:6px;font-size:13px}.date-control{flex-wrap:nowrap;justify-content:center;gap:4px;width:100%;max-width:100%;margin-top:-6px;overflow:visible}.date-control .date-input{flex:0 0 92px;width:92px;padding-inline:3px;font-size:9.5px}.draft-toggle{gap:6px;min-width:74px;min-height:42px;padding-inline:8px;font-size:10.5px;line-height:1.2}.draft-toggle input{width:15px;height:15px}.capture-options{flex-wrap:nowrap;flex:none;justify-content:center;gap:4px;min-width:0;max-width:100%}.date-control .genre-toggle{min-width:64px;max-width:none}.date-control .mood-toggle{min-width:52px;max-width:none}.genre-panel,.mood-panel{top:auto;bottom:calc(env(safe-area-inset-bottom) + 86px);z-index:1000;width:min(340px,88vw);max-height:min(360px,62vh);position:fixed;left:50%;right:auto;transform:translate(-50%)}.day-edit-form,.day-edit-options,.day-edit-metrics,.day-memo-editor,.day-memo-editor textarea{box-sizing:border-box;width:100%;max-width:100%}.day-sheet-actions{justify-items:end}.day-sheet-action-row{justify-content:flex-end}.today-heading>span{padding:6px 9px;font-size:18px}.today-heading h2,.calendar-heading h2,.section-heading h2{padding:8px 16px 9px}.today-heading .section-title-pill,.calendar-heading .section-title-pill,.section-heading .section-title-pill{letter-spacing:.05em;border-radius:22px;padding:9px 16px 10px}.calendar-heading,.section-heading{gap:12px;display:grid}.range-tabs,.calendar-controls{justify-content:space-between;width:100%}.calendar-day{border-radius:13px;min-height:50px;padding:6px}.calendar-day strong{width:22px;height:22px;font-size:12px}.crown-stamp{width:30px;height:30px}.day-sheet{padding:15px}.day-metrics{grid-template-columns:1fr}}@media (width<=360px){.date-control{flex-wrap:wrap;row-gap:6px}.date-control .date-input{flex-basis:104px;width:104px}.capture-options{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}html[data-theme=light] button.submit-button[type=submit]{color:#fff}html[data-theme=dark] button.submit-button[type=submit]{color:#111}html[data-theme=light] button.submit-button[type=submit]:hover{color:#0f0f0f}html[data-theme=dark] button.submit-button[type=submit]:hover{color:#101010}
