:root{color:#17221d;font-synthesis:none;text-rendering:optimizelegibility;background:#edf0e9;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif}*{box-sizing:border-box}html{background:#edf0e9;min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #d5792b}button:disabled{cursor:not-allowed}.startup-shell{place-items:center;min-height:100vh;padding:20px;display:grid}.startup-card{background:#fffefa;border:1px solid #cbd1c8;border-radius:20px;width:min(100%,560px);padding:clamp(24px,7vw,48px);box-shadow:0 16px 48px #1e30271a}.startup-card h1{margin:8px 0 16px;font-size:clamp(1.7rem,7vw,2.5rem);line-height:1.2}.startup-card p:last-child{color:#526159;margin:0;line-height:1.7}.logging-shell{width:min(100%,1020px);min-height:100vh;margin:0 auto;padding:18px 12px 40px}.app-header{flex-direction:column;gap:14px;padding:10px 4px 18px;display:flex}.app-kicker,.section-kicker{color:#557062;letter-spacing:.15em;margin:0;font-size:.7rem;font-weight:800}.app-header h1{letter-spacing:-.035em;margin:5px 0 0;font-size:clamp(1.65rem,8vw,2.6rem);line-height:1.1}.privacy-note{color:#405249;background:#fffefabf;border:1px solid #c7d1c9;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;margin:0;padding:8px 11px;font-size:.78rem;font-weight:650;display:flex}.privacy-dot{background:#327454;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #d7e8de}.feedback-region{min-height:0}.feedback-message{border:1px solid;border-radius:12px;margin:0 0 12px;padding:11px 14px;font-size:.92rem;font-weight:700;line-height:1.45}.feedback-success{color:#194f35;background:#e0f1e7;border-color:#9abca8}.feedback-error,.inline-error{color:#7c241c;background:#fff0ed;border-color:#d8a29b}.logging-grid{gap:14px;display:grid}.log-card{background:#fffefa;border:1px solid #cbd1c8;border-radius:18px;min-width:0;padding:18px 16px;box-shadow:0 10px 30px #1e302714}.card-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.card-heading h2{margin:4px 0 0;font-size:1.35rem;line-height:1.2}.compact-heading{margin-bottom:13px}.step-hint{color:#5c675f;background:#eef0eb;border-radius:7px;flex:none;padding:5px 8px;font-size:.72rem;font-weight:750}.rating-stack{gap:15px;display:grid}.rating-group{border:0;min-width:0;margin:0;padding:0}.rating-group legend{margin-bottom:7px;padding:0;font-size:.85rem;font-weight:800}.rating-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.rating-button{color:#26362e;cursor:pointer;background:#f8f8f4;border:1px solid #bbc3bc;border-radius:11px;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:48px;padding:9px 6px;font-size:.9rem;font-weight:720;display:flex;position:relative}.rating-button[aria-pressed=true]{color:#123e2a;background:#dcece2;border-color:#245d43;box-shadow:inset 0 0 0 1px #245d43}.selected-mark{color:#fff;background:0 0;border-radius:50%;place-items:center;width:16px;height:16px;font-size:.7rem;line-height:1;display:inline-grid}.rating-button[aria-pressed=true] .selected-mark{background:#245d43}.rating-group:disabled .rating-button,.note-toggle:disabled,.primary-action:disabled,.nap-button:disabled,.secondary-action:disabled{opacity:.56}.optional-note{border-top:1px solid #e1e4df;margin-top:17px;padding-top:12px}.note-toggle{color:#315c48;cursor:pointer;background:0 0;border:0;min-height:44px;padding:6px 2px;font-size:.88rem;font-weight:750}.note-panel{margin-top:7px}.note-panel label{margin-bottom:7px;font-size:.84rem;font-weight:750;display:block}.note-panel textarea{resize:vertical;color:#17221d;background:#fff;border:1px solid #aeb9b1;border-radius:10px;width:100%;min-height:104px;padding:11px;line-height:1.55;display:block}.primary-action{color:#fff;cursor:pointer;background:#245d43;border:1px solid #173d2a;border-radius:12px;width:100%;min-height:52px;margin-top:15px;padding:11px 16px;font-weight:800;box-shadow:0 5px #173d2a}.primary-action:active:not(:disabled){transform:translateY(2px);box-shadow:0 3px #173d2a}.primary-action:disabled{background:#7c8880;border-color:#7c8880;box-shadow:0 4px #626d66}.card-description{color:#5a655f;margin:-7px 0 15px;font-size:.88rem;line-height:1.55}.inline-state,.inline-error{border-radius:10px;margin:0;padding:13px;font-size:.87rem;line-height:1.55}.inline-state{color:#5a655f;background:#f1f2ee}.inline-error{border:1px solid #d8a29b}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.event-button{color:#25362d;text-align:left;cursor:pointer;background:#f7f7f2;border:1px solid #b7c0b9;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;min-height:70px;padding:11px 10px;display:grid;position:relative;overflow:hidden}.event-button:active{background:#dcece2;border-color:#245d43}.event-label{overflow-wrap:anywhere;grid-area:1/1;min-width:0;font-size:.88rem;font-weight:750}.event-count{color:#466052;grid-area:2/1;font-size:.76rem;font-weight:800}.event-add{color:#fff;background:#315e49;border-radius:9px;grid-area:1/2/span 2;place-items:center;width:31px;height:31px;font-size:.78rem;font-weight:850;display:grid}.pending-label{color:#557062;grid-column:1/-1;font-size:.7rem;font-weight:750}.nap-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.nap-button,.secondary-action{color:#25362d;cursor:pointer;background:#f7f7f2;border:1px solid #b7c0b9;border-radius:11px;min-height:48px;font-weight:780}.custom-nap{border-top:1px solid #e1e4df;margin-top:13px;padding-top:13px}.custom-nap label,.date-time-field span{margin-bottom:7px;font-size:.84rem;font-weight:750;display:block}.custom-nap-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.custom-nap input,.date-time-field input{color:#17221d;background:#fff;border:1px solid #aeb9b1;border-radius:10px;width:100%;min-width:0;min-height:48px;padding:9px 10px;display:block}.custom-nap input{max-width:11rem}.secondary-action{color:#fff;background:#315e49;border-color:#315e49;padding:9px 18px}.sleep-time-grid,.sleep-rating-grid{gap:14px;display:grid}.sleep-time-grid+.inline-error{margin-top:10px}.sleep-rating-grid{margin-top:18px}.duration-preview{background:#f3f4ef;border:1px solid #d4d9d2;border-radius:11px;justify-content:space-between;align-items:baseline;gap:12px;margin-top:18px;padding:13px 14px;display:flex}.duration-preview span{color:#58645d;font-size:.84rem;font-weight:750}.duration-preview strong{font-size:1.15rem}.data-management{margin-top:14px;padding:0;overflow:hidden}.data-management-toggle{color:#294738;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:54px;padding:14px 16px;font-weight:800;display:flex}.data-management-panel{border-top:1px solid #e1e4df;padding:0 16px 18px}.data-privacy-copy,.data-help{color:#58645d;font-size:.84rem;line-height:1.6}.data-privacy-copy{margin:15px 0 12px}.data-help{margin:8px 0 0}.data-action,.danger-action,.cancel-action{cursor:pointer;border-radius:10px;min-height:46px;padding:9px 14px;font-weight:780}.data-action{color:#fff;background:#315e49;border:1px solid #315e49;width:100%}.data-action:disabled,.danger-action:disabled,.cancel-action:disabled{opacity:.56}.restore-section{border-top:1px solid #e1e4df;margin-top:18px;padding-top:16px}.restore-section h3{margin:0 0 12px;font-size:1rem}.backup-file-label{margin-bottom:7px;font-size:.84rem;font-weight:750;display:block}.restore-section input[type=file]{color:#526159;width:100%;min-width:0;font-size:.82rem;display:block}.restore-section input[type=file]::file-selector-button{color:#25362d;background:#f7f7f2;border:1px solid #b7c0b9;border-radius:9px;min-height:42px;margin-right:9px;padding:8px 11px;font-weight:750}.restore-confirmation{background:#fff8ed;border:1px solid #d7b68d;border-radius:12px;margin-top:14px;padding:14px}.validation-title,.replace-warning{margin:0;font-weight:780;line-height:1.55}.backup-counts{color:#4d5d54;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;margin:11px 0;padding:0;font-size:.84rem;list-style:none;display:grid}.replace-warning{color:#6d3818;font-size:.88rem}.restore-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px;display:grid}.danger-action{color:#fff;background:#a34b39;border:1px solid #8a3e2f}.cancel-action{color:#25362d;background:#f7f7f2;border:1px solid #b7c0b9}.data-status{min-height:0}.data-status p{color:#405249;background:#eef1ec;border-radius:9px;margin:12px 0 0;padding:10px 12px;font-size:.84rem;font-weight:720}.data-status p[role=alert]{color:#7c241c;background:#fff0ed}.application-shell{min-width:320px}.view-tabs{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#edf0e9f0;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(100% - 24px,996px);margin:0 auto;padding:10px 0 4px;display:grid;position:sticky;top:0}.view-tabs button{color:#405249;cursor:pointer;background:#f7f7f2;border:1px solid #b7c0b9;border-radius:11px;min-height:48px;font-weight:820}.view-tabs button[aria-selected=true]{color:#fff;background:#245d43;border-color:#245d43;box-shadow:inset 0 -3px #173d2a}.history-shell{width:min(100%,760px);min-height:calc(100vh - 62px);margin:0 auto;padding:14px 12px 40px}.history-header h1{letter-spacing:-.03em;margin:5px 0 0;font-size:clamp(1.55rem,7vw,2.35rem);line-height:1.15}.history-boundary-badge{color:#315c48;background:#fffefa;border:1px solid #c7d1c9;border-radius:999px;align-self:flex-start;margin:0;padding:8px 12px;font-size:.8rem;font-weight:800}.history-date-panel{background:#fffefa;border:1px solid #cbd1c8;border-radius:17px;padding:15px;box-shadow:0 8px 24px #1e302712}.history-date-navigation{grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px;display:grid}.history-date-navigation button{color:#294738;cursor:pointer;background:#f3f5f0;border:1px solid #aeb9b1;border-radius:11px;min-height:48px;font-size:1.2rem;font-weight:850}.history-date-navigation button:disabled{opacity:.42}.history-date-navigation strong{text-align:center;letter-spacing:.025em;min-width:0;font-size:clamp(1rem,5vw,1.25rem)}.history-date-jump{color:#526159;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-top:13px;font-size:.84rem;font-weight:750;display:grid}.history-date-jump input{color:#17221d;background:#fff;border:1px solid #aeb9b1;border-radius:9px;width:100%;min-width:0;min-height:44px;padding:8px 10px}.history-date-help{color:#5a655f;margin:11px 0 0;font-size:.78rem;line-height:1.55}.history-feedback{margin-top:12px}.history-state{color:#526159;text-align:center;background:#fffefab3;border:1px dashed #b7c0b9;border-radius:15px;margin:14px 0 0;padding:24px 16px;line-height:1.6}.history-state-error p{color:#7c241c;margin:0 0 12px}.history-state-error .secondary-action{padding-inline:18px}.history-timeline{gap:12px;margin-top:14px;padding-left:10px;display:grid;position:relative}.history-timeline:before{content:"";background:#bac8bf;width:2px;position:absolute;top:20px;bottom:20px;left:3px}.history-item{background:#fffefa;border:1px solid #cbd1c8;border-radius:16px;min-width:0;padding:16px;position:relative;box-shadow:0 7px 22px #1e302712}.history-item:before{content:"";background:#315e49;border:2px solid #edf0e9;border-radius:50%;width:10px;height:10px;position:absolute;top:24px;left:-12px}.history-item-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.history-item-heading time{color:#315e49;font-variant-numeric:tabular-nums;font-size:1.12rem;font-weight:850}.history-item-heading h2{overflow-wrap:anywhere;margin:0;font-size:1.08rem;line-height:1.3}.history-zone{color:#68736d;overflow-wrap:anywhere;margin:3px 0 0;font-size:.7rem}.archive-badge{color:#5d584d;background:#ece9df;border-radius:6px;padding:4px 6px;font-size:.65rem;font-weight:760}.history-details{margin:13px 0 0}.history-details div{min-width:0}.history-details dt{color:#68736d;font-size:.7rem;font-weight:760}.history-details dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:.88rem;font-weight:720}.history-rating-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.history-sleep-times{background:#f3f4ef;border-radius:10px;gap:8px;padding:11px;display:grid}.history-duration{margin:12px 0 0;font-weight:780}.sleep-owner-hint{color:#5a655f;margin:10px 0 0;font-size:.75rem}.history-note{color:#405249;overflow-wrap:anywhere;white-space:pre-wrap;background:#f3f4ef;border-radius:9px;margin:12px 0 0;padding:10px 11px;font-size:.84rem;line-height:1.55}.history-item-actions,.history-form-actions,.history-delete-confirmation>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.history-edit-action,.history-delete-action{cursor:pointer;border-radius:9px;min-height:44px;font-weight:780}.history-edit-action{color:#294738;background:#edf3ee;border:1px solid #315e49}.history-delete-action{color:#7c241c;background:#fff4f1;border:1px solid #b6776b}.history-delete-confirmation{background:#fff4f1;border:1px solid #d8a29b;border-radius:11px;margin-top:14px;padding:12px}.history-delete-confirmation p{color:#6d2b23;margin:0;font-size:.88rem;font-weight:780}.history-edit-form{border-top:1px solid #dce1db;gap:12px;margin-top:15px;padding-top:15px;display:grid}.history-edit-grid{gap:10px;display:grid}.history-field{min-width:0;display:block}.history-field>span{margin-bottom:6px;font-size:.78rem;font-weight:780;display:block}.history-field input,.history-field select,.history-field textarea{color:#17221d;background:#fff;border:1px solid #aeb9b1;border-radius:9px;width:100%;min-width:0;min-height:44px;padding:8px 9px;display:block}.history-field textarea{resize:vertical;min-height:82px;line-height:1.5}.history-edit-duration{color:#405249;background:#f3f4ef;border-radius:9px;margin:0;padding:9px 10px;font-size:.82rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (hover:hover){.rating-button:hover:not(:disabled),.event-button:hover,.nap-button:hover:not(:disabled){background:#edf3ee;border-color:#557565}.secondary-action:hover:not(:disabled){background:#244e3a}.note-toggle:hover:not(:disabled){text-underline-offset:4px;text-decoration:underline}.view-tabs button:hover,.history-date-navigation button:hover:not(:disabled),.history-edit-action:hover,.history-delete-action:hover{filter:brightness(.96)}}@media (width>=560px){.logging-shell{padding:28px 20px 56px}.app-header{flex-direction:row;justify-content:space-between;align-items:flex-end;padding:10px 4px 22px}.privacy-note{align-self:auto}.log-card{padding:22px}.rating-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.event-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nap-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.sleep-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-shell{padding:22px 20px 56px}.history-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-sleep-times,.history-rating-details{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=860px){.logging-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);grid-template-areas:"check-in events""check-in nap""sleep sleep";align-items:start}.check-in-card{grid-area:check-in}.event-card{grid-area:events}.nap-card{grid-area:nap}.sleep-card{grid-area:sleep}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sleep-rating-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}
