:root{--canvas:#f3f7f6;--surface:#fff;--surface-muted:#e8f0ee;--ink:#1d2927;--muted:#586865;--border:#7f9290;--primary:#176f66;--primary-strong:#0d554e;--accent:#d6a52b;--success:#267052;--warning:#9a5a12;--danger:#b32635;--focus:#155ac8;--font-display:"Hiragino Maru Gothic ProN", "BIZ UDPGothic", "Yu Gothic", Meiryo, sans-serif;--font-sans:"BIZ UDPGothic", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;--font-numeric:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-pill:9999px;--space-xs:.25rem;--space-sm:.5rem;--space-md:.75rem;--space-lg:1rem;--space-xl:1.5rem;--space-2xl:2rem;--space-3xl:3rem;--page-max:42rem;--line-subtle:color-mix(in srgb, var(--border) 30%, var(--surface));--scroll-thumb:var(--border);--scroll-track:var(--surface-muted);--scroll-hover:var(--muted);--scroll-active:var(--primary);--layer-toast:30;--layer-skip:40;font-family:var(--font-sans);color:var(--ink);background:var(--canvas);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;font-size:16px;line-height:1.7}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:2px solid var(--scroll-track);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}::-webkit-scrollbar-thumb:active{background:var(--scroll-active)}html{scrollbar-gutter:stable}body{min-width:280px;margin:0}button,input,textarea,select{font:inherit}button,a,summary,input[type=checkbox]{-webkit-tap-highlight-color:transparent}label:has(input[type=radio]){-webkit-tap-highlight-color:transparent}button,a,summary,input[type=checkbox]{cursor:pointer}label:has(input[type=radio]){cursor:pointer}button{color:inherit}button:disabled,input:disabled{cursor:not-allowed}button:disabled{opacity:.52}a{color:var(--primary);text-underline-offset:4px}a:hover{color:var(--primary-strong)}button,a{transition:background-color .12s,color .12s,border-color .12s}button:active:not(:disabled){transform:translateY(1px)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h1:focus{outline:none}:target{scroll-margin-top:1rem}p{margin:0 0 var(--space-lg);overflow-wrap:anywhere}h1,h2{overflow-wrap:anywhere;margin:0;line-height:1.5}h1{font-family:var(--font-display);font-size:1.75rem;font-weight:700}h2{font-size:1.125rem}svg{vertical-align:middle;flex:none}.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}.skip-link{z-index:var(--layer-skip);background:var(--surface);padding:.75rem;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:1rem}.app-header{background:var(--surface);border-bottom:1px solid var(--line-subtle)}.header-inner{max-width:calc(var(--page-max) + 3rem);justify-content:space-between;align-items:center;gap:1rem;margin:auto;padding:1.125rem 1.5rem;display:flex}.brand{color:var(--ink);font-family:var(--font-display);align-items:center;gap:.65rem;font-size:1.35rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{border:2px solid var(--primary);border-radius:7px 7px 11px;flex-direction:column;justify-content:center;gap:5px;width:29px;height:34px;padding:7px;display:flex;transform:rotate(-5deg)}.brand-mark i{background:var(--primary);border-radius:2px;width:100%;height:2px}.brand-mark i:last-child{width:65%}.header-link{min-height:44px;color:var(--muted);border-radius:var(--radius-sm);align-items:center;gap:.4rem;padding:.4rem .7rem;font-size:.875rem;text-decoration:none;display:inline-flex}.header-link:hover,.header-link.is-current{background:var(--surface-muted);color:var(--primary)}.content-wrap{max-width:calc(var(--page-max) + 3rem);margin:0 auto;padding:0 1.5rem}.system-status{min-height:52px;color:var(--muted);justify-content:flex-end;align-items:center;padding:.5rem 0;font-size:.75rem;display:flex}.system-status>span{align-items:center;gap:.45rem;display:inline-flex}.status-dot{background:var(--primary);border-radius:50%;width:6px;height:6px}.page-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin:.375rem 0 1.75rem;display:flex}.eyebrow{color:var(--muted);margin-bottom:.35rem;font-size:.8125rem}.count-label{color:var(--muted);flex-shrink:0;padding-bottom:.25rem;font-size:.8125rem}.count-label strong{font:1.5rem var(--font-numeric);color:var(--ink)}.small-label,.field-note{color:var(--muted);font-size:.8125rem}.small-label{margin-top:1rem}.storage-notice{border:1px solid var(--line-subtle);background:var(--surface-muted);border-radius:var(--radius-md);margin-bottom:1.5rem;padding:.8rem 1.125rem}.notice-heading{justify-content:space-between;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.storage-notice p{color:var(--muted);margin:.25rem 0 .5rem;font-size:.8125rem}.icon-button{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--muted);background:0 0;border:none;flex-shrink:0;font-size:1.5rem}.icon-button:hover{background:var(--surface)}.choice-group{background:var(--surface-muted);border-radius:var(--radius-md);border:0;gap:.25rem;margin:0;padding:.25rem;display:flex}.choice-group label{text-align:center;flex:1;min-width:0;font-size:.875rem;position:relative}.choice-group input{opacity:0;width:1px;position:absolute}.choice-group span{border-radius:var(--radius-sm);min-height:44px;color:var(--muted);border:1px solid #0000;justify-content:center;align-items:center;padding:.6rem .25rem;display:flex}.choice-group :checked+span{background:var(--surface);color:var(--primary);border-color:var(--line-subtle);font-weight:700}.choice-group label:hover span{color:var(--primary-strong)}.choice-group :focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.list-meta{color:var(--muted);justify-content:space-between;gap:1rem;margin:1.25rem 0 .65rem;font-size:.75rem;display:flex}.memo-list{gap:.875rem;display:grid}.memo-card{background:var(--surface);border:1px solid var(--line-subtle);border-radius:var(--radius-lg);grid-template-columns:64px minmax(0,1fr) 58px;align-items:start;gap:1rem;padding:1.25rem;display:grid}.memo-photo{border-radius:var(--radius-md);background:var(--surface-muted);width:64px;height:64px;color:var(--muted);place-items:center;display:grid;overflow:hidden}.memo-photo img{object-fit:cover;width:100%;height:100%}.memo-card h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.0625rem;font-weight:700;display:-webkit-box;overflow:hidden}.memo-body{color:var(--muted);white-space:pre-line;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.3rem 0 .6rem;font-size:.875rem;display:-webkit-box;overflow:hidden}.tags{flex-wrap:wrap;gap:.4rem;margin-top:.55rem;display:flex}.tag{background:var(--surface-muted);color:var(--muted);border-radius:var(--radius-pill);overflow-wrap:anywhere;max-width:100%;padding:.1rem .6rem;font-size:.75rem}.schedule-caption{color:var(--muted);margin:.7rem 0 0;font-size:.75rem}.schedule-caption.elapsed{color:var(--warning)}.edit-button{min-width:44px;min-height:44px;color:var(--primary);background:0 0;border:none;padding:.5rem 0;font-size:.875rem}.edit-button:hover{text-underline-offset:4px;text-decoration:underline}.schedule-tag{background:var(--surface-muted);color:var(--ink);border-top:3px solid var(--primary);border-radius:6px;flex-direction:column;align-items:center;padding:.55rem .25rem;font-size:.6875rem;line-height:1.5;display:flex}.schedule-tag strong{font:1.75rem/1.3 var(--font-numeric)}.schedule-tag small{font-size:.65rem}.schedule-tag--today{background:var(--accent);border-color:var(--ink)}.schedule-tag--elapsed{color:var(--warning);border-color:var(--warning)}.schedule-tag--none{color:var(--muted);border:1px dashed var(--border);background:0 0;margin-top:.2rem;padding:.6rem .2rem}.button{border-radius:var(--radius-md);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-height:46px;padding:.65rem 1.15rem;font-size:.875rem;font-weight:700;line-height:1.6;text-decoration:none;display:inline-flex;position:relative}.button--primary{background:var(--primary);color:var(--surface)}.button--primary:hover:not(:disabled){background:var(--primary-strong);color:var(--surface)}.button--secondary{background:var(--surface);border-color:var(--border);color:var(--ink)}.button--secondary:hover:not(:disabled){background:var(--surface-muted)}.button--danger{background:var(--danger);color:var(--surface)}.button--danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 80%, black)}.button--danger-outline{border-color:var(--danger);color:var(--danger);background:var(--surface)}.button--danger-outline:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 6%, var(--surface))}.button--wide{width:100%}.text-button{min-height:44px;color:var(--primary);background:0 0;border:0;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .3rem;font-size:.875rem;display:inline-flex}.text-button:hover{text-underline-offset:4px;text-decoration:underline}.danger-text{color:var(--danger)}.add-area{text-align:center;margin-top:1.5rem}.add-area p{color:var(--muted);margin:.5rem 0 0;font-size:.75rem}.empty-state{text-align:center;background:var(--surface);border:1px solid var(--line-subtle);border-radius:var(--radius-lg);padding:3.25rem 1.25rem}.empty-state h2{margin-top:1.5rem}.empty-state p{white-space:pre-line;color:var(--muted);margin:.65rem auto 1.5rem;font-size:.875rem}.empty-note{border:2px solid var(--border);border-radius:8px 8px 15px;flex-direction:column;gap:10px;width:66px;height:82px;margin:0 auto;padding:25px 13px 12px;display:flex;position:relative;transform:rotate(-5deg)}.empty-note:before{content:"";border:2px solid var(--primary);background:var(--surface-muted);border-radius:4px;width:22px;height:13px;position:absolute;top:-7px;left:22px}.empty-note span{background:var(--border);height:2px}.empty-note span:last-child{width:65%}.back-link{align-items:center;gap:.3rem;min-height:44px;margin-bottom:1rem;font-size:.8125rem;text-decoration:none;display:inline-flex}.back-link:hover{text-decoration:underline}.memo-form,.settings-panel{background:var(--surface);border:1px solid var(--line-subtle);border-radius:var(--radius-lg);padding:1.5rem}.field{min-width:0;margin-bottom:1rem}.field>label,.field-label{margin-bottom:.5rem;font-size:.875rem;font-weight:700;display:block}.required{color:var(--muted);font-size:.75rem;font-weight:400}.optional{color:var(--muted);margin-left:.75rem;font-size:.75rem;font-weight:400}input:not([type=radio]):not([type=checkbox]):not([type=file]),textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:46px;color:var(--ink);background:var(--surface);max-width:100%;padding:.65rem .75rem;font-size:1rem}textarea{resize:none;min-height:128px;line-height:1.7;display:block}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.9}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)!important}.field__help{min-height:24px;color:var(--muted);margin:.4rem 0 0;font-size:.75rem}.field-error,.form-error{color:var(--danger)}.photo-field{margin-bottom:.5rem;padding-bottom:.5rem}.photo-picker{align-items:center;gap:1.25rem;display:flex}.photo-preview{color:var(--muted);background:var(--surface-muted);border:1px dashed var(--border);border-radius:var(--radius-md);flex-shrink:0;place-items:center;width:144px;height:144px;display:grid;position:relative;overflow:hidden}.photo-preview img{object-fit:contain;width:100%;height:100%}.photo-preview.has-photo{border-style:solid}.photo-controls p{color:var(--muted);margin-bottom:.75rem;font-size:.8125rem}.photo-controls small{color:var(--muted);margin-top:.65rem;font-size:.6875rem;display:block}.photo-controls .text-button{margin-left:.5rem}.photo-processing{background:color-mix(in srgb, var(--surface) 90%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;font-size:.75rem;display:flex;position:absolute;inset:0}.tag-entry{gap:.5rem;display:flex}.tag-entry .button{flex-shrink:0}.editable-tags:empty{display:none}.editable-tags .tag{align-items:center;font-size:.8125rem;display:inline-flex}.editable-tags button{width:44px;height:44px;color:var(--muted);border-radius:var(--radius-pill);background:0 0;border:0;margin:-.1rem -.6rem -.1rem .1rem;font-size:1.25rem}.editable-tags button:hover{color:var(--danger)}.reminder-section{border-top:1px solid var(--line-subtle);border-bottom:1px solid var(--line-subtle);margin-top:1.5rem;padding:1.25rem 0}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;display:flex}.toggle-row strong{font-size:.875rem}.toggle-row small{color:var(--muted);margin-top:.25rem;font-size:.75rem;display:block}.toggle-row input{appearance:none;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-pill);flex-shrink:0;width:46px;height:28px;margin:8px 0;padding:3px}.toggle-row input:before{content:"";background:var(--surface);border-radius:50%;width:20px;height:20px;transition:transform .12s;display:block}.toggle-row input:checked{background:var(--primary);border-color:var(--primary)}.toggle-row input:checked:before{transform:translate(17px)}.toggle-row input:hover{outline:2px solid var(--line-subtle)}.reminder-fields{margin-top:1.25rem}.date-time-row{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:1rem;display:grid}.date-time-row .field{margin-bottom:0}.field-note{margin:.2rem 0 0}.form-actions{grid-template-columns:1fr 1.6fr;gap:.75rem;margin-top:1.5rem;display:grid}.delete-area{border-top:1px solid var(--line-subtle);text-align:center;margin-top:1.5rem;padding-top:1rem}.form-alert{border-left:3px solid var(--danger);background:var(--surface-muted);margin-bottom:1.5rem;padding:1rem;font-size:.875rem}.form-alert p{margin:0}.inline-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.settings-sections{gap:1rem;display:grid}.settings-panel h2{margin-bottom:1.25rem}.settings-panel p{color:var(--muted);font-size:.875rem}.settings-panel p:last-child{margin-bottom:0}.settings-panel input[type=time]{max-width:14rem}.info-note{background:var(--surface-muted);border-radius:var(--radius-sm);margin-top:1.5rem;padding:1rem;font-size:.875rem}.info-note p{margin:.35rem 0 0;font-size:.8125rem}details{margin-top:.75rem}summary{color:var(--primary);min-height:44px;padding:.65rem 0;font-size:.875rem}summary:hover{color:var(--primary-strong);text-decoration:underline}details p{padding-left:1rem}.version-label{text-align:center;color:var(--muted);margin:1rem 0 0;font-size:.75rem}.page-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:320px;display:flex}.page-state p{margin:0}.spinner,.button-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:inline-block}.button-spinner{margin:auto;position:absolute;inset:0}.busy-label{visibility:hidden}@keyframes spin{to{transform:rotate(360deg)}}.dialog{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:var(--radius-lg);width:min(28rem,100vw - 2rem);max-height:calc(100dvh - 2rem);padding:1.5rem;overflow:auto;box-shadow:0 18px 80px #1d292726}.dialog::backdrop{background:#1d292766}.dialog h2{margin-bottom:1rem;font-size:1.125rem}.dialog__description{color:var(--muted);font-size:.875rem}.dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.toast-region{z-index:var(--layer-toast);bottom:max(1rem, env(safe-area-inset-bottom));pointer-events:none;width:max-content;max-width:calc(100% - 2rem);position:fixed;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--ink);color:var(--surface);border-radius:var(--radius-md);align-items:center;gap:.75rem;padding:.5rem .75rem .5rem 1rem;font-size:.8125rem;display:flex;box-shadow:0 4px 20px #1d29271a}.toast__message{overflow-wrap:anywhere}.toast button{color:inherit;background:0 0;border:none;min-width:44px;min-height:44px}.toast__action{flex-shrink:0;font-size:.8125rem;text-decoration:underline}.toast__close{font-size:1.5rem}.toast button:hover{border-radius:var(--radius-sm);background:#ffffff20}.update-banner{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.8125rem;display:flex}.update-banner p{margin:0}.update-banner .button{flex-shrink:0}.app-footer{color:var(--muted);border-top:1px solid var(--line-subtle);padding:1.5rem 0 calc(2rem + env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-top:3rem;font-size:.6875rem;display:flex}@media (width<=480px){.content-wrap{padding:0 1rem}.header-inner{padding:.8rem 1rem}h1{font-size:1.5rem}.page-heading{margin-bottom:1.25rem}.memo-card{grid-template-columns:52px minmax(0,1fr) 48px;gap:.65rem;padding:1rem .875rem}.memo-photo{width:52px;height:52px}.memo-card h2{font-size:1rem}.memo-form,.settings-panel{padding:1.125rem}.photo-picker{align-items:flex-start;gap:.875rem}.photo-preview{width:94px;height:112px}.photo-controls p{display:none}.photo-controls .text-button{margin-left:0}.photo-controls .button{padding-left:.75rem;padding-right:.75rem}.date-time-row{grid-template-columns:minmax(0,1fr);gap:.25rem}.form-actions{grid-template-columns:1fr 1fr}.choice-group span{font-size:.8125rem}.empty-state{padding:2.5rem .75rem}.empty-state h2{font-size:1rem}.app-footer{flex-direction:column;gap:.5rem}.page-heading>.small-label{display:none}.dialog__actions{flex-direction:column-reverse}.dialog__actions .button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (forced-colors:active){*{scrollbar-color:auto}:focus-visible{outline-color:highlight}.toggle-row input{appearance:auto}.toggle-row input:before{display:none}.choice-group :checked+span{outline:2px solid highlight}}
