.home-title h1{margin-bottom:.08em}.subtitle{color:var(--muted);line-height:1.7}.home-widgets{width:min(1120px,92vw);margin:-25px auto 34px;display:grid;grid-template-columns:1.45fr .85fr;gap:18px}.month-card,.todo-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 8px 30px #4d3f3012}.widget-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.widget-head h2{margin:4px 0 14px;font-family:Georgia,"Noto Serif KR",serif}.month-nav{display:flex;gap:7px}.month-nav a{border:1px solid var(--line);background:white;border-radius:999px;padding:7px 10px;font-weight:800}.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.mini-calendar .dow{text-align:center;color:var(--muted);font-size:.78rem;font-weight:800;padding:5px}.mini-calendar .day,.mini-calendar .blank{min-height:52px;border-radius:12px;padding:7px;position:relative}.mini-calendar a.day{border:1px solid transparent}.mini-calendar a.day:hover{background:#f7efe5}.mini-calendar .day.selected{border-color:var(--rust);background:#fff7ef}.mini-calendar .day.has-event:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--rust);position:absolute;bottom:7px;left:50%;transform:translateX(-50%)}.mini-calendar .day i{font-style:normal;position:absolute;right:5px;top:5px;font-size:.68rem;background:var(--sage);color:white;border-radius:999px;padding:1px 5px}.day-agenda{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.day-agenda h3{margin:0 0 8px}.agenda-row{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-bottom:1px dashed var(--line)}.agenda-row time{font-weight:800;color:var(--rust);min-width:46px}.agenda-row div{display:grid}.text-link{display:inline-block;margin-top:12px;color:var(--sage);font-weight:800}.todo-quick{display:grid;grid-template-columns:1fr auto;gap:8px}.todo-quick input[type=date]{grid-column:1}.todo-quick button{grid-column:2;grid-row:1/3}.todo-list{margin-top:14px;display:grid;gap:7px}.todo-row{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:13px;padding:8px;background:white}.todo-row>div{display:grid;flex:1}.todo-row small{font-size:.74rem}.todo-row.done b{text-decoration:line-through;color:var(--muted)}.todo-row form{margin:0}.todo-check,.icon-button{background:transparent;color:var(--ink);padding:5px;border:0;font-size:1.1rem}.visibility-badge{display:inline-block;margin-top:14px;padding:4px 8px;border-radius:999px;background:#eef1e9;color:var(--sage);font-size:.72rem;font-weight:800}.access-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.access-cards label{border:1px solid var(--line);border-radius:15px;padding:14px;background:white}.access-cards input{width:auto}.access-cards small{display:block;line-height:1.45;margin-top:5px}.member-permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.member-permission-grid>div{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.member-permission-grid h3{font-size:.92rem;margin:0 0 8px}.member-permission-grid label{display:flex;align-items:center;gap:7px;padding:4px 0;font-weight:600}.member-permission-grid input{width:auto}.member-permission-grid.compact{font-size:.84rem}.existing-media{display:grid;gap:7px}.existing-media span{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;border:1px solid var(--line);padding:9px 11px;border-radius:12px;background:white}.danger-soft{background:#f6e8e2!important;color:#8b432d!important}.calendar-layout{width:min(1120px,92vw);margin:-25px auto 30px;display:grid;grid-template-columns:1.45fr .85fr;gap:18px;align-items:start}.month-card.full{margin:0}.mini-calendar.large .day{min-height:92px;border:1px solid var(--line);background:white}.mini-calendar.large .day small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.68rem;margin-top:5px}.event-editor{position:sticky;top:94px}.inline-check{display:flex;align-items:center;gap:8px}.inline-check input{width:auto}.calendar-actions{display:flex!important;flex:0 0 auto!important;gap:6px;align-items:center}.calendar-actions form{margin:0}.permission-panel{margin-top:18px}.permission-table{display:grid;gap:6px}.permission-head,.permission-row{display:grid;grid-template-columns:1.2fr repeat(3,1fr) auto;gap:10px;align-items:center}.permission-head{padding:8px 10px;color:var(--muted)}.permission-row{border:1px solid var(--line);border-radius:13px;padding:10px;background:white}.permission-row>b{display:grid}.permission-row span{display:flex;gap:8px;flex-wrap:wrap}.permission-row label{display:flex;gap:4px;align-items:center;font-size:.78rem}.permission-row input{width:auto}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.preview-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;padding:7px}.preview-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.nas-picker{display:flex;gap:8px;align-items:center;margin-top:-8px}.nas-picker .pill-button{background:var(--sage)}
@media(max-width:850px){.home-widgets,.calendar-layout{grid-template-columns:1fr}.event-editor{position:static}.access-cards{grid-template-columns:1fr}.permission-head{display:none}.permission-row{grid-template-columns:1fr}.member-permission-grid{grid-template-columns:1fr}.mini-calendar.large .day{min-height:68px}.calendar-actions{width:100%;flex-wrap:wrap}.calendar-list article{gap:12px}}@media(max-width:560px){.home-widgets{margin-top:-35px}.month-card,.todo-card{padding:14px}.mini-calendar{gap:2px}.mini-calendar .day,.mini-calendar .blank{min-height:44px;padding:5px}.mini-calendar.large .day small{display:none}.todo-quick{grid-template-columns:1fr}.todo-quick input[type=date],.todo-quick button{grid-column:1;grid-row:auto}.existing-media span{grid-template-columns:1fr auto}.existing-media small{grid-column:1}.home-title .search{width:100%}.home-title .search input{width:100%}}

/* v3.4.1 calendar interaction polish */
.calendar-dashboard{grid-template-columns:1.18fr .82fr;align-items:stretch}.calendar-main-card{position:relative}.mini-calendar.large a.day{display:block;color:inherit;text-decoration:none}.mini-calendar.large .day.selected{border:2px solid var(--rust);background:#fff7ef}.mini-calendar.large .more-count{color:var(--rust);font-weight:800}.calendar-add-wrap{display:flex;justify-content:flex-end;margin-top:14px}.calendar-add-button{padding:.66rem 1rem;font-size:.88rem}.selected-day-panel{min-height:100%;display:flex;flex-direction:column;padding:22px}.selected-day-heading{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:14px}.selected-day-heading h2{margin:2px 0 0;font-family:Georgia,"Noto Serif KR",serif}.selected-day-heading>span{background:#f2e7dc;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:800}.selected-day-scroll{margin-top:8px;max-height:520px;overflow:auto;padding-right:4px}.selected-event{display:grid;grid-template-columns:72px 1fr;gap:14px;padding:15px 2px;border-bottom:1px solid var(--line)}.selected-event-time{display:grid;align-content:start;color:var(--rust)}.selected-event-time small{color:var(--muted);margin-top:3px}.selected-event-body>span{font-size:.72rem;color:var(--muted);font-weight:800}.selected-event-body h3{margin:3px 0 6px}.selected-event-body p{font-size:.86rem;line-height:1.55;margin:8px 0}.compact-empty{margin-top:18px}.event-modal,.datetime-modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:18px}.event-modal.is-open,.datetime-modal.is-open{display:grid}.event-modal-backdrop,.datetime-modal-backdrop{position:absolute;inset:0;background:#1f1b17a8;backdrop-filter:blur(3px)}.event-modal-dialog{position:relative;width:min(720px,96vw);max-height:92vh;overflow:auto;background:var(--paper);border-radius:22px;padding:24px;box-shadow:0 28px 80px #0005}.event-modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.event-modal-head h2{margin:2px 0}.modal-close{background:transparent;color:var(--ink);font-size:1.8rem;padding:0 8px}.event-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.event-modal-actions .small-button{display:inline-grid;place-items:center;cursor:pointer}.datetime-control .datetime-display{width:100%;border:1px solid var(--line);border-radius:11px;background:white;color:var(--ink);padding:12px;text-align:left;font-weight:500}.datetime-modal{z-index:130}.datetime-modal-dialog{position:relative;width:min(390px,94vw);background:var(--paper);border-radius:20px;padding:22px;box-shadow:0 25px 70px #0005}.datetime-modal-dialog h3{margin:0 0 16px}.datetime-time-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.datetime-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.datetime-modal-actions .small-button{background:#efe6dc;color:var(--ink)}body.modal-open{overflow:hidden}.admin-only-event-access{border-top:1px solid var(--line);padding-top:15px;margin-top:4px}
@media(max-width:850px){.calendar-dashboard{grid-template-columns:1fr}.selected-day-panel{min-height:360px}.selected-day-scroll{max-height:420px}}@media(max-width:560px){.selected-event{grid-template-columns:58px 1fr}.event-modal-dialog{padding:16px}.datetime-time-row{grid-template-columns:1fr 1fr}.selected-day-panel{padding:15px}}

/* v3.4.2 home calendar actions + separated centered tag section */
.calendar-home-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.calendar-home-actions .text-link{margin-top:0}
.calendar-home-add{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:999px;background:var(--rust);color:#fff!important;font-weight:800;font-size:.84rem;padding:9px 14px;box-shadow:0 5px 14px #a85c3b1f}
.calendar-home-add:hover{filter:brightness(.97);transform:translateY(-1px)}
.tag-section{width:min(1120px,92vw);margin:26px auto 34px;padding:15px 18px 17px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.58);box-shadow:0 7px 24px #4d3f300b;text-align:center}
.tag-section-label{margin:0 0 10px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.12em}
.tag-section .tagbar{width:100%;margin:0;display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}
.tag-section .tagbar a{margin:0}
@media(max-width:560px){.calendar-home-actions{align-items:stretch;flex-direction:column}.calendar-home-actions .text-link,.calendar-home-add{text-align:center;justify-content:center}.tag-section{margin:20px auto 28px;padding:13px 12px 15px}}
.flash-message{max-width:1120px;margin:18px auto 0;padding:12px 16px;border:1px solid #dcc8b7;border-radius:14px;background:#fffaf5;color:#4b3a2e}.calendar-share-admin{margin-top:24px}.calendar-contact-list{display:grid;gap:10px}.calendar-contact-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,1.5fr) auto auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #eee4da}.calendar-contact-row div{display:grid}.calendar-contact-row small{color:#817467}.calendar-test-form{display:flex;justify-content:flex-end;margin:-2px 0 10px}.share-log-table{display:grid;gap:0;overflow:auto}.share-log-head,.share-log-row{display:grid;grid-template-columns:150px 130px 90px minmax(220px,1fr) 80px;gap:10px;align-items:center;min-width:720px;padding:10px 4px;border-bottom:1px solid #eee4da}.status-sent{color:#4f7a53;font-weight:700}.status-failed{color:#b5523c;font-weight:700}@media(max-width:760px){.calendar-contact-row{grid-template-columns:1fr}.calendar-test-form{justify-content:stretch}.calendar-test-form button{width:100%}}
.mail-server-panel{margin-top:24px}.mail-settings-form{max-width:760px}.mail-settings-form .two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mail-settings-form code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media(max-width:700px){.mail-settings-form .two-col{grid-template-columns:1fr}}

/* Google Calendar API v3.7 */
.google-calendar-connect{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 22px}.google-calendar-connect h2{margin:.15rem 0 .35rem}.google-connect-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.google-connect-actions form{margin:0}.google-error{margin:.4rem 0 0;color:#b84f32;font-size:.92rem}.google-api-admin{margin-top:24px}.google-api-admin h2 small,.mail-server-panel h2 small{font-size:.6em;font-weight:500;color:#766f67}.google-account-table{margin-top:22px;padding-top:18px;border-top:1px solid var(--line,#e8ddd2)}.google-account-table h3{margin:0 0 12px}.google-account-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(130px,auto) minmax(180px,1.5fr);gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line,#eee3d8)}.google-account-row small{grid-column:1/-1;color:#b84f32;overflow-wrap:anywhere}
@media(max-width:760px){.google-calendar-connect{align-items:flex-start;flex-direction:column}.google-connect-actions{justify-content:flex-start;width:100%}.google-account-row{grid-template-columns:1fr}.google-account-row small{grid-column:auto}}

/* v3.7.1 home Google Calendar onboarding */
.calendar-home-actions{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;margin-top:18px;padding-top:18px;border-top:1px solid var(--line,#e8ddd2)}
.google-guide-button{border:1px solid #d8c8b7;background:#f3eadf;color:var(--ink);border-radius:999px;padding:.7rem 1rem;font-weight:800;cursor:pointer}
.google-guide-modal{position:fixed;inset:0;z-index:160;display:none;place-items:center;padding:18px}.google-guide-modal.is-open{display:grid}.google-guide-backdrop{position:absolute;inset:0;background:#1f1b17a8;backdrop-filter:blur(3px)}.google-guide-dialog{position:relative;width:min(680px,96vw);max-height:90vh;overflow:auto;background:var(--paper);border-radius:22px;padding:26px;box-shadow:0 28px 80px #0005}.google-guide-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.google-guide-head h2{margin:.15rem 0 .5rem}.google-guide-lead{line-height:1.65;color:var(--muted)}.google-guide-steps{display:grid;gap:12px;margin:20px 0;padding-left:1.5rem}.google-guide-steps li{padding-left:.25rem}.google-guide-steps b,.google-guide-steps span{display:block}.google-guide-steps span{margin-top:3px;color:var(--muted);line-height:1.55}.google-guide-oneway{background:#f6eee5;border:1px solid #ead9c9;border-radius:15px;padding:16px}.google-guide-oneway p{margin:.4rem 0 0;line-height:1.6}.google-guide-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}
@media(max-width:680px){.calendar-home-actions{grid-template-columns:1fr}.calendar-home-actions>*{justify-self:stretch;text-align:center}.google-guide-dialog{padding:18px}}

/* v3.7.2 write cards, profile settings, and responsive heading placement */
.write-page .editor-section{min-inline-size:0;padding:28px 26px 26px;display:grid;gap:18px}
.write-page .editor-section-title{display:flex;align-items:center;gap:11px;margin:0 0 2px;font-family:Georgia,"Noto Serif KR",serif;font-size:1.32rem;line-height:1.35}
.write-page .editor-section-title span{display:inline-grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#f2e7dc;color:var(--rust);font-family:"Pretendard","Noto Sans KR",system-ui,sans-serif;font-size:.9rem;font-weight:800}
.write-page .permission-note{margin:.1rem 0 .5rem;font-size:.78rem;line-height:1.45}
.google-account-row.status-only{grid-template-columns:minmax(140px,1fr) auto}.google-account-row.status-only span{justify-self:end}
.profile-page>.subtitle{margin-top:-.5rem}.profile-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px;align-items:start;margin-top:28px}.profile-card{margin:0}.profile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.profile-card-head h2{margin:.15rem 0 0;font-family:Georgia,"Noto Serif KR",serif}.profile-card-head .eyebrow{margin:0}.share-toggle{padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}.connection-status{display:inline-flex;border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:800}.connection-status.is-connected{background:#e8f1e6;color:#4f7451}.connection-status.is-disconnected{background:#f2ece5;color:#76685c}.profile-warning{margin:14px 0;padding:13px 15px;border:1px solid #e3c7a5;border-radius:13px;background:#fff7e8;color:#815428;line-height:1.55}.profile-google-actions{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.profile-google-actions form{margin:0}.profile-connect-button{display:inline-flex;margin:12px 0 20px}.google-profile-card .google-guide-oneway{margin-top:22px}
.profile-google-actions .small-button{background:#efe6dc;color:var(--ink)}.profile-google-actions form:first-child .small-button{background:var(--sage);color:#fff}
@media(max-width:850px){.profile-layout{grid-template-columns:1fr}}
@media(max-width:560px){.write-page .editor-section{padding:20px 16px 18px;gap:16px}.write-page .editor-section-title{font-size:1.13rem}.write-page .editor-section-title span{flex-basis:27px;width:27px;height:27px}.profile-page{width:92vw}.profile-card{padding:18px}.profile-google-actions{display:grid}.profile-google-actions form,.profile-google-actions button,.profile-connect-button{width:100%;justify-content:center}.profile-card-head{align-items:center}}

/* v3.7.3 member account details and password reset */
.member-permission-cards{display:grid;gap:14px;margin-top:20px}.member-permission-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px}.member-account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}.member-account-head form{margin:0}.member-identity{display:grid;gap:4px;min-width:0}.member-name-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.member-name-line h3{margin:0;font-family:Georgia,"Noto Serif KR",serif;font-size:1.18rem}.member-identity>b{color:var(--rust);font-size:.82rem}.member-identity>span{color:var(--muted);font-size:.83rem;overflow-wrap:anywhere}.password-pending-badge{border-radius:999px;background:#fff0dd;color:#9a5f22!important;padding:4px 8px;font-size:.7rem!important;font-weight:800}.reset-password-button{white-space:nowrap;padding:.65rem .9rem}.member-permission-form{display:grid;grid-template-columns:repeat(3,minmax(135px,1fr)) auto;gap:12px;align-items:end;margin-top:16px}.permission-area{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:11px;background:#fffdf9}.permission-area label{display:flex;align-items:center;gap:5px;font-size:.78rem}.permission-area input{width:auto}.temporary-password-notice{margin:18px 0;padding:17px;border:1px solid #d5b78e;border-radius:16px;background:#fff8e9;display:grid;grid-template-columns:1fr auto;gap:8px 18px;align-items:center}.temporary-password-notice div{display:grid}.temporary-password-notice small{margin-top:3px}.temporary-password-notice code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.15rem;font-weight:800;letter-spacing:.05em;background:#fff;border:1px dashed #c99b61;border-radius:10px;padding:10px 13px;user-select:all}.temporary-password-notice p{grid-column:1/-1;margin:0;color:#765737;font-size:.84rem}.profile-account-column{display:grid;gap:18px}.password-card{scroll-margin-top:95px}.password-security-mark{color:var(--sage);letter-spacing:.18em;font-size:.78rem}.password-required-banner{margin:22px 0 0;padding:16px 18px;border:1px solid #d6a76f;border-radius:15px;background:#fff5e5;color:#71471f}.password-required-banner p{margin:.35rem 0 0;line-height:1.55}.is-password-required .password-card{border-color:#d6a76f;box-shadow:0 10px 35px #a86c2a16}
@media(max-width:900px){.member-permission-form{grid-template-columns:1fr 1fr}.member-permission-form>button{grid-column:1/-1}.temporary-password-notice{grid-template-columns:1fr}.temporary-password-notice p{grid-column:auto}}
@media(max-width:560px){.member-permission-card{padding:14px}.member-account-head{display:grid}.member-account-head form,.member-account-head button{width:100%}.member-permission-form{grid-template-columns:1fr}.member-permission-form>button{grid-column:auto;width:100%}.temporary-password-notice code{text-align:center}.permission-area{grid-template-columns:1fr auto auto}}

/* v3.9.4 feed sorting */
.feed-find-tools{display:flex;gap:10px;align-items:end;flex-wrap:wrap;justify-content:flex-end}.feed-sort label{display:grid;gap:4px;font-size:.76rem;color:#6d6a65}.feed-sort select{min-width:150px;padding:10px 34px 10px 11px;border:1px solid #ddd8cf;border-radius:12px;background:#fff;color:#2f2a26}@media(max-width:800px){.feed-find-tools{width:100%;justify-content:stretch}.feed-find-tools .search,.feed-sort,.feed-sort label,.feed-sort select{width:100%}}

/* JF412 hierarchical place and date index */
.memory-location-search{width:min(1120px,92vw);margin:26px auto 14px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fffdf9;box-shadow:0 7px 24px #4d3f300b}.memory-filter-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.memory-filter-heading h2{margin:.15rem 0 0;font-family:Georgia,"Noto Serif KR",serif}.memory-filter-heading>p{max-width:520px;margin:0;color:var(--muted);font-size:.85rem;line-height:1.5}.memory-filter-grid{display:grid;grid-template-columns:1.05fr 1.4fr .85fr .85fr auto;gap:10px;align-items:end}.memory-filter-grid label{display:grid;gap:6px;font-size:.78rem;font-weight:800}.memory-filter-grid input,.memory-filter-grid select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 12px;color:var(--ink)}.memory-filter-actions{display:flex;gap:7px;align-items:center}.memory-filter-actions a,.memory-filter-actions button{white-space:nowrap;border-radius:999px;padding:12px 15px;font-weight:800}.memory-filter-actions a{background:#efe8df;color:var(--ink)}.tag-section{margin-top:14px}.tag-section-label small{display:block;margin-top:5px;letter-spacing:0;font-weight:500}.tag-section .tag-category{font-size:.68rem;font-weight:900;color:var(--sage);padding:4px 3px;margin-left:6px}.tag-section .tagbar a.active{background:var(--rust);color:#fff}.post-location-index{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 2px}.post-location-index a{display:inline-flex;border-radius:999px;background:#f2eee8;color:#5f554b;padding:5px 9px;font-size:.72rem;font-weight:750}.location-edit-fields{margin:8px 0;border:1px solid var(--line);border-radius:14px;padding:14px}.location-edit-fields legend{padding:0 7px;font-size:.82rem;font-weight:850;color:var(--sage)}.location-edit-fields>small{display:block;margin-top:7px;color:var(--muted)}
@media(max-width:980px){.memory-filter-grid{grid-template-columns:1fr 1fr}.memory-filter-actions{grid-column:1/-1}.memory-filter-actions>*{flex:1;text-align:center}}
@media(max-width:600px){.memory-location-search{padding:16px}.memory-filter-heading{display:block}.memory-filter-heading>p{margin-top:7px}.memory-filter-grid{grid-template-columns:1fr}.memory-filter-actions{grid-column:auto;display:grid}.tag-section .tag-category{flex-basis:100%;margin-top:4px}.post-location-index a{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

.quick-access-permissions{margin-top:10px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fffdf9}.quick-access-permissions>legend{font-weight:900;padding:0 6px}.quick-access-permissions .access-cards{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px}.quick-access-permissions .member-permission-grid{grid-template-columns:1fr;margin-top:10px}.quick-access-permissions .permission-note{margin:3px 0 8px}@media(max-width:700px){.quick-access-permissions .access-cards{grid-template-columns:1fr}}

/* JF412E low-load continuous Memory, Life feed */
.feed .post{content-visibility:auto;contain-intrinsic-size:900px}
.feed-load-zone{width:min(760px,92vw);margin:18px auto 44px;text-align:center;min-height:84px;display:grid;place-items:center;gap:8px}
.feed-loading{font-size:.84rem;color:var(--muted);padding:10px 14px}
.feed-more-button{min-width:190px;justify-content:center}
.feed-end{margin:0;font-size:.8rem}
.nas-post-media-more{display:grid;place-items:center;gap:5px;margin:12px 0 16px}
.nas-post-media-more .media-more-button{min-width:min(100%,330px);justify-content:center}
.nas-post-media-more small{color:var(--muted);font-size:.72rem}
.nas-post-media-more.is-loading{opacity:.75}
.media-grid img[src$="preview-placeholder.svg"]{object-fit:cover;filter:saturate(.72);opacity:.78}
@media(max-width:600px){.feed-load-zone{margin-top:12px}.nas-post-media-more .media-more-button{width:100%}}


/* JF412H year/month archive jump + bounded filter UX */
.memory-archive-jump{width:min(760px,92vw);margin:0 auto 16px;position:sticky;top:var(--memory-jump-top,84px);z-index:4;padding:0 2px;pointer-events:none}
.memory-archive-jump-inner{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:17px;background:#fffdf9f2;box-shadow:0 10px 30px #4d3f3018;backdrop-filter:blur(12px)}
.memory-archive-jump-title{display:grid;gap:2px;min-width:0}.memory-archive-jump-title>b{font-family:Georgia,"Noto Serif KR",serif;font-size:.98rem}.memory-archive-jump-title small{font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.memory-archive-jump-form{display:flex;align-items:end;gap:7px;margin:0}.memory-archive-jump-form label{display:grid;gap:3px;font-size:.66rem;color:var(--muted)}.memory-archive-jump-form select{min-width:96px;padding:8px 28px 8px 9px;border-radius:10px}.memory-archive-jump-form button,.memory-archive-latest{white-space:nowrap;padding:9px 12px;border-radius:999px;font-size:.78rem;font-weight:800}.memory-archive-latest{background:#efe8df;color:var(--ink)}
@media(max-width:760px){.memory-archive-jump{width:96vw;margin-bottom:12px}.memory-archive-jump-inner{display:grid;gap:8px;padding:9px 10px}.memory-archive-jump-title{display:none}.memory-archive-jump-form{display:grid;grid-template-columns:1fr 1fr auto auto;gap:6px}.memory-archive-jump-form select{min-width:0;width:100%}.memory-archive-jump-form button,.memory-archive-latest{padding:9px 10px}.memory-archive-jump-form label span{display:none}}
@media(max-width:480px){.memory-archive-jump-form{grid-template-columns:1fr 1fr}.memory-archive-jump-form button,.memory-archive-latest{text-align:center}}

/* JF412K desktop alignment: Memory, Life feed follows the same 1120px content rail as search/tag panels. */
@media (min-width:761px){
  .feed,
  .feed-load-zone,
  .memory-archive-jump{
    width:min(1120px,92vw);
    max-width:1120px;
  }
  .memory-archive-jump{
    padding-left:0;
    padding-right:0;
  }
  .feed .post{
    width:100%;
    max-width:none;
  }
}
