: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,.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)}.brand-logo{width:210px;max-width:100%;height:auto;display:block}.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%,720px);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>.brand-logo{width:245px;margin-bottom:2.5rem}.auth-brand{align-items:center;gap:.65rem;margin-bottom:2.5rem;display:flex}.auth-card .auth-brand .brand-logo{width:min(245px,100% - 72px)}.auth-mascot{object-fit:contain;width:62px;height:62px}.auth-card h1{font-size:2.1rem}.auth-intro{color:var(--subtle);text-align:center;white-space:pre-line;margin-bottom:2rem;line-height:1.8}@media (width>=760px){html[lang=ja] .auth-card h1{white-space:nowrap}}.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{min-height:100vh}.desktop-header{z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--sheet) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.desktop-header-inner{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:clamp(.75rem,2vw,1.75rem);width:min(100%,1440px);min-height:76px;margin:0 auto;padding:.75rem clamp(1.25rem,3vw,2.5rem);display:grid}.brand-home{cursor:pointer;background:0 0;border:0;padding:0}.brand-home .brand-logo{width:145px}.desktop-brand{align-items:center;gap:.55rem;display:flex}.brand-mascot{object-fit:contain;width:52px;height:52px}.desktop-nav{justify-content:center;align-items:center;gap:.2rem;display:flex}.nav-button{min-height:42px;color:var(--subtle);white-space:nowrap;background:0 0;border-radius:8px;padding:.65rem .85rem}.nav-button.active{background:var(--wash);color:var(--ink)}.desktop-write{white-space:nowrap}.account-menu{min-width:5rem;position:relative}.account-menu summary{max-width:8rem;color:var(--ink);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:8px;padding:.65rem .75rem;list-style:none;overflow:hidden}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:hover,.account-menu[open] summary{background:var(--wash)}.account-menu>div{border:1px solid var(--line);background:var(--sheet);width:170px;box-shadow:0 14px 35px color-mix(in srgb, var(--ink) 14%, transparent);border-radius:10px;gap:.35rem;padding:.8rem;display:grid;position:absolute;top:calc(100% + .65rem);right:0}.account-menu>div span{color:var(--subtle);padding:.25rem .3rem;font-size:.75rem}.account-menu .text-button{justify-self:start}.content{width:min(100%,1360px);margin:0 auto;padding:3.2rem clamp(1.5rem,4vw,3rem) 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}.home-date-heading{grid-template-columns:42px minmax(0,auto) 42px;justify-content:start;align-items:center;column-gap:1rem;display:grid}.home-date-heading>div{min-width:min(32rem,100vw - 12rem)}.home-date-heading .icon-button{align-self:center}.home-today{grid-column:1/-1;justify-self:center;margin-top:.6rem}.diary-panel>h2{margin-bottom:1.2rem}.diary-current{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1.5rem;display:grid}.diary-current h3{margin-bottom:.5rem;font-size:1.2rem}.diary-current p{color:var(--subtle);white-space:pre-wrap;margin:0;line-height:1.7}.diary-memories{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.3rem}.diary-memories .panel-heading{margin-bottom:.2rem}.diary-memories h3{font-size:1.05rem}.entry-photo-preview{flex-wrap:wrap;gap:.65rem;min-height:1px;margin-top:1rem;display:flex}.entry-photo-preview:empty{margin-top:0}.entry-photo-preview>button{cursor:zoom-in;background:0 0;border:0;border-radius:9px;padding:0}.entry-photo-preview img{border:1px solid var(--line);background:var(--wash);object-fit:cover;border-radius:9px;width:clamp(76px,12vw,120px);height:clamp(76px,12vw,120px);display:block}.entry-photo-preview.prominent{gap:.75rem;width:100%;margin:0 0 1.25rem;display:grid}.entry-photo-preview.prominent>button,.entry-photo-preview.prominent img{width:100%}.entry-photo-preview.prominent img{aspect-ratio:1;height:auto}.entry-photo-preview.prominent.single img{aspect-ratio:16/9}.home-grid{grid-template-columns:1.35fr .8fr;gap:1.15rem;display:grid}.month-summary{align-self:start}.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;width:100%;padding:1rem 0;display:grid}.memory-row-main{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:4rem 1fr;gap:.8rem;padding:0;display:grid}.memory-row-main small{color:var(--subtle);white-space:pre-wrap;margin-top:.4rem;line-height:1.55;display:block}.memory-row>.entry-photo-preview{margin-left:4.8rem}.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:1rem 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 button{aspect-ratio:1;background:var(--wash);color:var(--subtle);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;font-size:clamp(.58rem,1.5vw,.72rem);display:grid}.month-dots button:hover:not(:disabled){outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent)}.month-dots button.filled{background:var(--accent);color:#fff}.month-dots button.is-today{outline:2px solid var(--accent);outline-offset:2px}.month-dots button:disabled{cursor:default;opacity:.35}.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}.month-navigation{grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:.7rem;margin:1rem 0 1.3rem;display:grid}.month-picker{min-height:42px;color:var(--ink);cursor:pointer;border-radius:8px;place-items:center;font-family:Yu Mincho,Hiragino Mincho ProN,Georgia,serif;font-size:1.15rem;display:grid;position:relative}.month-picker:hover{background:var(--wash)}.month-picker:has(input:focus-visible){outline:3px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:2px}.month-picker input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.month-current{grid-column:1/-1;justify-self:center}.icon-button{background:0 0;border-radius:50%;width:42px;height:42px}.icon-button:hover{background:var(--wash)}.icon-button:disabled{cursor:default;opacity:.3}.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);white-space:pre-wrap;line-height:1.8}.memory-article .button{margin-top:1rem}.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-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;gap:.45rem;padding:1.25rem .25rem;display:grid}.search-result:hover{background:var(--wash)}.search-result-main{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;gap:.45rem;padding:0;display:grid}.search-result-main time{color:var(--accent);font-size:.78rem}.search-result-main strong{font-family:Yu Mincho,Hiragino Mincho ProN,Georgia,serif;font-size:1.15rem;font-weight:400}.search-result-main 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 .brand-logo{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-navigation{grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:.8rem;margin-bottom:1.5rem;display:grid}.editor-date-picker{cursor:pointer;border-radius:8px;place-items:center;min-height:46px;display:grid;position:relative}.editor-date-picker:hover{background:var(--wash)}.editor-date-picker:has(input:focus-visible){outline:3px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:2px}.editor-date-picker input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.editor-date{text-align:center;margin:0;font-size:clamp(1.2rem,3vw,1.8rem)}.editor-today{margin:-1rem auto 1.5rem;display:block}.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-zoom{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0}.image-lightbox{z-index:1000;cursor:zoom-out;background:#0f1210e0;place-items:center;padding:clamp(1rem,5vw,4rem);display:grid;position:fixed;inset:0}.image-lightbox img{object-fit:contain;cursor:default;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:90vh;display:block}.image-lightbox-close{z-index:1;color:#fff;cursor:pointer;background:#00000073;border:1px solid #ffffff73;border-radius:50%;width:48px;height:48px;font-size:2rem;line-height:1;position:fixed;top:1rem;right:1rem}.image-lightbox-arrow{z-index:1;color:#fff;cursor:pointer;background:#00000073;border:1px solid #ffffff73;border-radius:50%;width:52px;height:52px;font-size:1.5rem;position:fixed;top:50%;transform:translateY(-50%)}.image-lightbox-arrow:disabled{cursor:default;opacity:.25}.image-lightbox-previous{left:1rem}.image-lightbox-next{right:1rem}.image-lightbox-position{color:#fff;background:#0000008c;border-radius:999px;padding:.35rem .75rem;font-size:.85rem;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.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}.desktop-header{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 .brand-logo{width:125px}.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))}.image-lightbox{padding:4rem 1rem}.image-lightbox-arrow{top:auto;bottom:1rem;transform:none}.search-filters{grid-template-columns:1fr 1fr}}@media (width<=520px){.diary-current{grid-template-columns:1fr}.diary-current .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}}
