:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--lightningcss-light,#252a26)var(--lightningcss-dark,#edf0ea);font-synthesis:none;text-rendering:optimizelegibility;--paper:var(--lightningcss-light,#f4f0e7)var(--lightningcss-dark,#181b18);--sheet:var(--lightningcss-light,#fffdf7)var(--lightningcss-dark,#232722);--ink:var(--lightningcss-light,#252a26)var(--lightningcss-dark,#edf0ea);--subtle:var(--lightningcss-light,#6e756e)var(--lightningcss-dark,#aeb5ad);--line:var(--lightningcss-light,#ddd7ca)var(--lightningcss-dark,#41473f);--accent:var(--lightningcss-light,#315c48)var(--lightningcss-dark,#8db9a0);--accent-ink:var(--lightningcss-light,#fff)var(--lightningcss-dark,#102017);--wash:var(--lightningcss-light,#e7eee8)var(--lightningcss-dark,#2c3730);--danger:var(--lightningcss-light,#9b3f36)var(--lightningcss-dark,#ef9a91);background:var(--lightningcss-light,#f4f0e7)var(--lightningcss-dark,#181b18);font-family:Inter,Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body{background:var(--paper);min-width:320px;min-height:100vh;color:var(--ink);margin:0}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,.wordmark,.editor-date{font-family:Yu Mincho,Hiragino Mincho ProN,Georgia,serif;font-weight:400}h1{letter-spacing:.015em;font-size:clamp(2rem,4vw,3.15rem);line-height:1.2}h2{font-size:1.35rem}.button,.text-button,.nav-button,.icon-button,.calendar-day,.memory-row,.bottom-nav button{cursor:pointer;border:0}.button{border-radius:9px;justify-content:center;align-items:center;min-height:44px;padding:.72rem 1.05rem;transition:transform .16s,background .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.55}.button-primary{background:var(--accent);color:var(--accent-ink)}.button-secondary{border:1px solid var(--line);background:0 0}.button-danger{background:var(--danger);color:#fff}.button-danger-secondary{border:1px solid var(--danger);color:var(--danger);background:0 0}.button-full{width:100%}.text-button{color:var(--accent);text-underline-offset:3px;background:0 0;padding:.3rem;text-decoration:underline}.danger-text{color:var(--danger)}.wordmark{letter-spacing:.17em;white-space:nowrap;font-size:1.7rem}.eyebrow{color:var(--accent);letter-spacing:.17em;margin-bottom:.55rem;font-size:.76rem;font-weight:650}.subtle{color:var(--subtle)}.notice{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));background:var(--wash);border-radius:9px;padding:.85rem 1rem;line-height:1.5}.center-message{min-height:60vh;color:var(--subtle);place-items:center;display:grid}.auth-shell{place-items:center;min-height:100vh;padding:4rem 1.25rem;display:grid;position:relative}.auth-shell:before{content:"";pointer-events:none;opacity:.28;background-image:repeating-linear-gradient(0deg, transparent, transparent 31px, color-mix(in srgb, var(--line) 25%, transparent) 32px);position:fixed;inset:0}.auth-card{border:1px solid var(--line);background:var(--sheet);width:min(100%,430px);box-shadow:0 24px 75px color-mix(in srgb, var(--ink) 10%, transparent);border-radius:17px;padding:clamp(2rem,6vw,3.5rem);position:relative}.auth-card .wordmark{margin-bottom:3rem}.auth-card h1{font-size:2.1rem}.auth-intro{color:var(--subtle);margin-bottom:2rem;line-height:1.8}.language-button{z-index:1;color:var(--accent);cursor:pointer;background:0 0;border:0;position:absolute;top:1.3rem;right:1.3rem}.divider{color:var(--subtle);align-items:center;gap:.8rem;margin:1.3rem 0;font-size:.75rem;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-form{gap:1rem;display:grid}.auth-form label{color:var(--subtle);gap:.45rem;font-size:.82rem;display:grid}.auth-form input{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);border-radius:8px;padding:.8rem}.form-error{color:var(--danger);margin:0;font-size:.85rem}.form-notice{color:var(--accent);margin:0;font-size:.85rem;line-height:1.5}.auth-switch{margin:1rem auto 0;display:block}.verification-actions{gap:.75rem;margin-top:1.25rem;display:grid}.private-note{text-align:center;color:var(--subtle);margin:2.3rem 0 0;font-size:.78rem}.consent-note{color:var(--subtle);text-align:center;margin:1.4rem 0 0;font-size:.72rem;line-height:1.6}.legal-links{flex-wrap:wrap;gap:.65rem 1rem;display:flex}.auth-card>.legal-links{justify-content:center;margin-top:1rem;font-size:.75rem}.app-shell{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--sheet);flex-direction:column;height:100vh;padding:2.3rem 1.25rem 1.5rem;display:flex;position:sticky;top:0}.sidebar .wordmark{padding:0 .7rem 2.5rem}.sidebar nav{gap:.35rem;display:grid}.write-button{margin-bottom:.7rem}.nav-button{min-height:44px;color:var(--subtle);text-align:left;background:0 0;border-radius:8px;align-items:center;gap:.8rem;padding:.7rem .8rem;display:flex}.nav-button.active{background:var(--wash);color:var(--ink)}.account-block{border-top:1px solid var(--line);color:var(--subtle);gap:.5rem;margin-top:auto;padding:1.2rem .7rem 0;font-size:.78rem;display:grid}.account-block strong{color:var(--ink);text-overflow:ellipsis;overflow:hidden}.account-block .text-button{font-size:inherit;justify-self:start}.content{width:min(100%,1040px);margin:0 auto;padding:4.2rem clamp(1.4rem,7vw,6rem) 6rem}.mobile-header,.bottom-nav{display:none}.page-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem;display:flex}.page-heading h1{margin-bottom:.25rem}.today-card{border:1px solid var(--line);background:var(--sheet);border-radius:15px;grid-template-columns:1fr auto;align-items:center;gap:2rem;padding:clamp(1.5rem,4vw,2.3rem);display:grid}.today-card h2{margin-bottom:.5rem}.today-card p{color:var(--subtle);margin:0;line-height:1.7}.home-grid{grid-template-columns:1.35fr .8fr;gap:1.15rem;margin-top:1.15rem;display:grid}.panel,.calendar-card{border:1px solid var(--line);background:var(--sheet);border-radius:14px;padding:1.5rem}.panel-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.memory-row{border-top:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:4rem 1fr;gap:.8rem;width:100%;padding:1rem 0;display:grid}.memory-row small{color:var(--subtle);margin-top:.4rem;line-height:1.55;display:block}.memory-year{color:var(--accent);font-family:Georgia,serif;font-size:1.05rem}.empty-state{color:var(--subtle);line-height:1.7}.month-summary>strong{margin:1.25rem 0 .45rem;font-family:Georgia,serif;font-size:1.8rem;font-weight:400;display:block}.month-summary>p{color:var(--subtle);line-height:1.7}.month-dots{grid-template-columns:repeat(7,1fr);gap:.45rem;margin-top:1.5rem;display:grid}.month-dots i{aspect-ratio:1;background:var(--wash);border-radius:50%}.month-dots i.filled{background:var(--accent)}.error-banner{border-color:color-mix(in srgb, var(--danger) 45%, var(--line));justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.calendar-heading{justify-content:center;align-items:center;gap:1.2rem;margin-bottom:1.3rem;display:flex}.calendar-heading h2{text-align:center;min-width:12rem;margin:0}.icon-button{background:0 0;border-radius:50%;width:42px;height:42px}.icon-button:hover{background:var(--wash)}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;display:grid}.weekday{color:var(--subtle);text-align:center;padding:.5rem;font-size:.75rem}.calendar-day{border:1px solid var(--line);background:var(--sheet);text-align:left;border-radius:9px;min-height:72px;padding:.65rem;position:relative}.calendar-day:hover:not(:disabled){border-color:var(--accent);background:var(--wash)}.calendar-day:disabled{opacity:.35;cursor:default;border-color:#0000}.calendar-day.is-today{border-color:var(--accent);background:var(--wash)}.calendar-day i{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;bottom:.65rem;left:.65rem}.calendar-card>.empty-state{text-align:center;margin:1.5rem 0 0}.memory-list{gap:1.5rem;display:grid}.memory-article{border-top:1px solid var(--line);grid-template-columns:5rem 1fr;gap:1.5rem;padding:1.6rem 0;display:grid}.memory-article p{color:var(--subtle);line-height:1.8}.search-form{gap:1rem;display:grid}.search-form label{color:var(--subtle);gap:.4rem;font-size:.8rem;display:grid}.search-form input,.search-form select{border:1px solid var(--line);background:var(--paper);width:100%;min-height:44px;color:var(--ink);border-radius:8px;padding:.7rem .8rem}.search-query input{font-size:1rem}.search-filters{grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:.8rem;display:grid}.search-results{border-top:1px solid var(--line);margin-top:1.5rem;display:grid}.search-result{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;gap:.45rem;padding:1.25rem .25rem;display:grid}.search-result:hover{background:var(--wash)}.search-result time{color:var(--accent);font-size:.78rem}.search-result strong{font-family:Yu Mincho,Hiragino Mincho ProN,Georgia,serif;font-size:1.15rem;font-weight:400}.search-result span{color:var(--subtle);line-height:1.65}.search-status{margin-top:1.5rem}.search-more{justify-content:center;padding-top:1.5rem;display:flex}.settings-list{gap:1rem;display:grid}.settings-section p{color:var(--subtle);line-height:1.7}.storage-meter{background:var(--wash);border-radius:999px;height:8px;margin:1.1rem 0 .65rem;overflow:hidden}.storage-meter i{border-radius:inherit;background:var(--accent);height:100%;display:block}.storage-amount{color:var(--subtle);font-size:.82rem;font-weight:500}.export-options{flex-wrap:wrap;gap:.75rem 1.5rem;margin-bottom:1rem;display:flex}.export-options label{cursor:pointer}.export-options input{accent-color:var(--accent)}.export-range{flex-wrap:wrap;gap:.8rem;margin-bottom:1rem;display:flex}.export-range label{color:var(--subtle);gap:.4rem;font-size:.8rem;display:grid}.export-range input{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:.7rem}.danger-zone{border-color:color-mix(in srgb, var(--danger) 40%, var(--line))}.delete-confirmation{border-top:1px solid var(--line);gap:1rem;margin-top:1rem;padding-top:1rem;display:grid}.delete-confirmation label{color:var(--subtle);gap:.5rem;font-size:.85rem;display:grid}.delete-confirmation input{border:1px solid var(--line);background:var(--paper);width:min(100%,22rem);color:var(--ink);border-radius:8px;padding:.75rem}.dialog-actions{flex-wrap:wrap;gap:.75rem;display:flex}.trash-list{display:grid}.trash-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 0;display:grid}.trash-row>div:first-child{gap:.35rem;min-width:0;display:grid}.trash-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trash-row span{color:var(--subtle);font-size:.8rem}.trash-confirm{text-align:right;justify-items:end;gap:.55rem;max-width:23rem;display:grid}.legal-shell{min-height:100vh;padding:clamp(1rem,5vw,4rem)}.legal-paper{border:1px solid var(--line);background:var(--sheet);width:min(100%,780px);box-shadow:0 20px 65px color-mix(in srgb, var(--ink) 8%, transparent);margin:auto;padding:clamp(1.5rem,6vw,4.5rem)}.legal-paper .wordmark{margin:2rem 0 3rem}.legal-intro,.legal-paper section p{color:var(--subtle);line-height:1.9}.legal-paper section{margin-top:2.2rem}.legal-paper section h2{margin-bottom:.65rem;font-size:1.18rem}.legal-paper a{color:var(--accent)}.legal-date{color:var(--subtle);margin:3rem 0 0;font-size:.82rem}.fatal-message{text-align:center;padding:2rem}.fatal-message p{max-width:38rem;line-height:1.7}.editor-page{min-height:100vh;padding:2rem clamp(1.25rem,6vw,5rem) 4rem}.editor-header{justify-content:space-between;align-items:center;width:min(100%,760px);margin:0 auto 2rem;display:flex}.save-state{color:var(--subtle);font-size:.78rem}.save-error{max-width:25rem;color:var(--danger);text-align:right}.editor-paper{border:1px solid var(--line);background:var(--sheet);width:min(100%,760px);min-height:calc(100vh - 8rem);box-shadow:0 20px 65px color-mix(in srgb, var(--ink) 8%, transparent);margin:auto;padding:clamp(1.5rem,5vw,4rem)}.editor-date{margin-bottom:2rem;font-size:clamp(1.35rem,3vw,1.8rem)}.title-input{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:0 0;padding:.75rem 0 1rem;font-family:Yu Mincho,Georgia,serif;font-size:1.3rem}.body-input{resize:vertical;background:repeating-linear-gradient(transparent, transparent 35px, color-mix(in srgb, var(--line) 40%, transparent) 36px);width:100%;min-height:55vh;color:var(--ink);border:0;padding:1.2rem 0;font-family:Yu Mincho,Georgia,serif;font-size:1.08rem;line-height:36px}.photo-section{gap:.75rem;padding:1rem 0 0;display:grid}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.photo-grid figure{aspect-ratio:4/3;background:var(--wash);border-radius:9px;margin:0;position:relative;overflow:hidden}.photo-grid img{object-fit:cover;width:100%;height:100%}.photo-delete{color:#fff;cursor:pointer;background:#000000b3;border:0;border-radius:50%;width:32px;height:32px;position:absolute;top:.4rem;right:.4rem}.photo-add{justify-self:start;position:relative;overflow:hidden}.photo-add.disabled{cursor:wait;opacity:.55}.photo-add input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.photo-section small{color:var(--subtle);line-height:1.5}.title-input:focus,.body-input:focus{outline:none}.editor-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;display:flex}.editor-finish{align-items:center;gap:1rem;display:flex}.delete-entry-confirm{border:1px solid color-mix(in srgb, var(--danger) 40%, var(--line));background:color-mix(in srgb, var(--danger) 5%, var(--sheet));border-radius:9px;justify-content:space-between;align-items:end;gap:1rem;margin-top:1.25rem;padding:1rem;display:flex}.delete-entry-confirm p{color:var(--subtle);margin:.35rem 0 0;font-size:.85rem}.character-count{color:var(--subtle);font-size:.75rem}@media (width<=820px){.app-shell{display:block}.sidebar{display:none}.mobile-header{border-bottom:1px solid var(--line);background:var(--sheet);justify-content:space-between;align-items:center;padding:1.2rem 1.3rem;display:flex}.mobile-header .wordmark{font-size:1.25rem}.content{padding:2.2rem 1.15rem 7rem}.bottom-nav{z-index:5;padding:.4rem .35rem max(.65rem, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb, var(--sheet) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:var(--subtle);background:0 0;justify-items:center;gap:.25rem;padding:.4rem .2rem;font-size:.68rem;display:grid}.bottom-nav button span{font-size:1rem}.bottom-nav button.active{color:var(--accent)}.home-grid{grid-template-columns:1fr}.calendar-day{min-height:52px;padding:.45rem}.page-heading{align-items:start}.editor-page{padding:1.2rem 0 0}.editor-header{padding:0 1rem}.editor-paper{min-height:calc(100vh - 4rem);box-shadow:none;border-left:0;border-right:0}.trash-row{grid-template-columns:1fr;align-items:start}.trash-confirm{text-align:left;justify-items:start}.delete-entry-confirm{flex-direction:column;align-items:stretch}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-filters{grid-template-columns:1fr 1fr}}@media (width<=520px){.today-card{grid-template-columns:1fr}.today-card .button{width:100%}.calendar-card{padding:.7rem}.calendar-grid{gap:.2rem}.weekday{padding:.35rem .1rem}.calendar-day{border-radius:6px;min-height:44px;font-size:.78rem}.memory-article{grid-template-columns:3.4rem 1fr;gap:.8rem}.search-filters{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
