.album-body{min-height:100dvh;background:linear-gradient(140deg,#f8f3e8,#efe6da 52%,#f9f5ed);color:var(--ink)}.album-header{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1160px)/2));border-bottom:1px solid #e1d3c2;background:#fffaf2ed}.album-header>a:last-child{font-size:13px}.album-main{max-width:1160px;margin:0 auto;padding:28px 20px 80px}.album-intro{padding:18px 0 24px}.album-intro h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(30px,5vw,48px);margin:5px 0}.album-intro>p:last-child{color:var(--muted);margin:0}.auth-card,.album-panel,.album-summary,.album-stats{background:#fffdf9;border:1px solid #e6d8c8;border-radius:18px;box-shadow:0 10px 28px #513c2310}.auth-card{max-width:520px;margin:auto;padding:24px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);gap:16px;margin-bottom:18px}.auth-tabs button{background:none;border:0;min-height:45px;color:var(--muted)}.auth-tabs button[aria-pressed=true]{color:var(--orange-dark);font-weight:700;border-bottom:3px solid var(--orange)}.auth-card h2,.album-panel h2,.album-summary h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}.auth-card label,.settings-panel label,.album-memory label{display:block;margin:12px 0;font-size:13px;font-weight:700}.auth-card input,.settings-panel input,.album-memory input,.album-memory textarea{display:block;width:100%;font-size:16px;margin-top:6px;padding:11px;border:1px solid #d7cbbd;border-radius:9px;background:white;color:var(--ink)}.auth-card .primary-button{width:100%;margin-top:10px}.auth-links{text-align:center}.album-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px}.album-summary h2{font-size:28px;margin:0}.album-summary p:last-child{color:var(--muted);font-size:13px}.album-add{display:flex;align-items:center;text-decoration:none;white-space:nowrap}.album-stats{display:flex;justify-content:space-around;text-align:center;padding:20px;margin:18px 0}.album-stats div{display:grid;gap:5px}.album-stats strong{font-family:Georgia,serif;font-size:31px;color:var(--orange-dark)}.album-stats span{font-size:12px;color:var(--muted)}.album-panel{padding:24px;margin:18px 0}.album-panel h2{font-size:24px;margin:0 0 18px}.my-map{height:320px;border-radius:12px;overflow:hidden;background:#e8e7dd}.album-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}.album-memory{background:#fffaf2;border:1px solid #e9dcc9;border-radius:14px;padding:18px}.album-memory-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.album-memory h3{font-family:"Yu Mincho",serif;margin:0;font-size:20px}.album-badge{font-size:11px;border-radius:999px;padding:5px 9px;white-space:nowrap;background:#eee4d5}.album-badge.published{background:#e7f1e8;color:#28633c}.album-badge.pending{background:#fff0d9;color:#88550e}.album-badge.hidden{background:#f5e6e4;color:#97453b}.album-photo-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.album-photo-editor>div{border:1px solid var(--line);border-radius:8px;padding:4px}.album-photo-editor img{width:100%;height:125px;object-fit:cover}.album-photo-editor>div>div{display:flex;gap:3px}.album-photo-editor button,.album-memory>button,.settings-panel button,.album-edit button{min-height:36px;border:1px solid #cbbba7;border-radius:8px;background:#fff;color:var(--blue);padding:6px 9px;font-size:12px}.album-memory>button{margin:8px 5px 3px 0}.album-memory .album-remove{color:#a23932}.album-memory textarea{min-height:110px;resize:vertical}.album-edit{border-top:1px solid var(--line);margin-top:18px;padding-top:8px}.album-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.album-gallery figure{margin:0;background:#fff8ec;border:6px solid #fff;box-shadow:0 3px 12px #3b302018}.album-gallery img{width:100%;height:150px;object-fit:cover}.album-gallery figcaption{padding:5px;font-size:12px}.settings-panel form{max-width:460px;padding-bottom:20px;border-bottom:1px solid var(--line)}.account-danger{margin-top:20px}.account-danger button{margin-right:8px}.account-danger button:last-of-type{color:#a23932}@media(max-width:640px){.album-header{height:58px;padding:0 14px}.album-main{padding:16px 12px 60px}.album-summary{display:block;padding:20px}.album-add{width:100%;justify-content:center;margin-top:15px}.album-panel{padding:16px}.my-map{height:260px}.album-grid{grid-template-columns:1fr}}
.auth-card textarea,.album-memory select{display:block;width:100%;font-size:16px;margin-top:6px;padding:11px;border:1px solid #d7cbbd;border-radius:9px;background:white;color:var(--ink)}.auth-card textarea{min-height:125px;resize:vertical}.album-memory input[type=checkbox]{display:inline-block;width:20px;height:20px;padding:0;margin:0 6px 0 0;vertical-align:middle}.album-memory label:has(input[type=checkbox]){line-height:1.7;font-weight:400}
.album-stats{flex-wrap:wrap;gap:14px}.album-stats div{min-width:110px}.album-panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.album-panel-heading a{font-size:12px}.album-likes{font-size:12px;font-weight:700;color:#ad5961}.liked-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.liked-memory{padding:15px;border:1px solid #e9dcc9;border-radius:13px;background:#fffaf2}.liked-memory h3{font-family:"Yu Mincho",serif;margin:4px 0 8px;font-size:18px}.liked-memory p{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.liked-memory>img{width:100%;height:135px;object-fit:cover;border-radius:8px}.liked-memory>a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;font-weight:700}

/* A compact overview keeps the member page easy to scan. Other sections stay on this URL. */
.album-body.is-member .album-intro{display:none}
.social-nav.account-nav{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;margin:16px 0 12px}
.social-nav.account-nav a{min-width:0;justify-content:center;text-align:center;min-height:48px;padding:7px 5px;border-radius:9px;font-size:12px;font-weight:700}
.social-nav.account-nav a[aria-current=page]{border-color:var(--orange);background:#fff0e6;color:var(--orange-dark)}
.account-nav #dm-badge:empty{display:none}
.account-view-intro{margin:7px 2px;color:var(--muted);font-size:13px;line-height:1.6}
.account-view .album-panel{margin:12px 0}
.album-memory .memory-body{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin-bottom:10px}
.album-memory-details{border-top:1px solid var(--line);margin-top:10px;padding-top:5px}
.album-memory-details summary{display:flex;align-items:center;min-height:44px;color:var(--blue);font-size:13px;font-weight:700;cursor:pointer}
.album-memory-details summary::marker{content:''}
.album-memory-details summary::before{content:'＋';display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;border:1px solid currentColor;border-radius:50%;font-size:14px}
.album-memory-details[open] summary::before{content:'−'}
.album-memory-details>button{min-height:40px;margin:8px 5px 3px 0;border:1px solid #cbbba7;border-radius:8px;background:#fff;color:var(--blue);padding:6px 9px;font-size:12px}
.album-memory-details>.album-remove{color:#a23932}
.album-memory-details label{display:block;margin:12px 0;font-size:13px;font-weight:700}
.album-memory-details input:not([type=checkbox]),.album-memory-details textarea,.album-memory-details select{display:block;width:100%;font-size:16px;margin-top:6px;padding:11px;border:1px solid #d7cbbd;border-radius:9px;background:white;color:var(--ink)}
.album-memory-details input[type=checkbox]{width:20px;height:20px;vertical-align:middle}
@media(max-width:640px){
  .album-main{padding-top:12px}
  .album-body.is-member .album-summary{display:flex;gap:10px;padding:12px}
  .album-body.is-member .album-summary .section-kicker,.album-body.is-member .album-summary p:last-child{display:none}
  .album-body.is-member .album-summary h2{font-size:19px;line-height:1.35}
  .album-body.is-member .album-add{width:auto;max-width:140px;min-height:44px;margin:0;padding:0 9px;white-space:normal;text-align:center;font-size:11px}
  .album-body.is-member .album-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:10px 4px;margin:10px 0}
  .album-body.is-member .album-stats div{min-width:0;gap:2px;padding:0 2px}
  .album-body.is-member .album-stats strong{font-size:22px}
  .album-body.is-member .album-stats span{font-size:10px;line-height:1.25}
  .social-nav.account-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0}
  .social-nav.account-nav a{min-height:44px;font-size:11px;padding:4px 2px}
  .account-view-intro{font-size:11px}
  .account-view .album-panel{padding:14px;margin:9px 0}
  .account-view .album-panel h2{font-size:20px;margin-bottom:10px}
  .account-view .my-map{height:235px}
}
.account-toast{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:30;display:flex;align-items:center;gap:11px;width:min(420px,calc(100vw - 24px));min-height:66px;padding:10px 8px 10px 15px;border:1px solid #c4d9c7;border-left:5px solid #50865d;border-radius:13px;background:#f8fff9;color:#264c32;box-shadow:0 14px 38px #172c1e3b;font-size:14px;font-weight:700;line-height:1.5}
.account-toast[hidden]{display:none}
.account-toast-mark{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#dcefe0;font-size:18px}
.account-toast button{display:grid;place-items:center;flex:none;width:44px;height:44px;margin-left:auto;border:0;border-radius:8px;background:transparent;color:#31583a;font-size:25px}
.album-body .profile-save-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.85fr);gap:clamp(20px,4vw,44px);align-items:start}
.profile-save-form label{display:block;margin:16px 0 6px;font-size:13px;font-weight:700}
.profile-save-form input:not([type=checkbox]),.profile-save-form textarea,.profile-save-form select{display:block;width:100%;min-height:44px;margin-top:7px;padding:10px 12px;border:1px solid #c9bcae;border-radius:9px;background:#fff;color:var(--ink);font-size:16px}
.profile-save-form textarea{min-height:108px;resize:vertical;line-height:1.6}
.profile-save-form .profile-check{display:flex;align-items:flex-start;gap:9px;line-height:1.6;font-weight:500;cursor:pointer}
.profile-save-form .profile-check[hidden]{display:none}
.profile-save-form .profile-check input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--orange)}
.profile-save-form .quiet{margin:6px 0 13px;line-height:1.65;overflow-wrap:anywhere}
.profile-photo-fields{border:1px solid #e6d8c8;border-radius:14px;background:#fffaf2;padding:18px}
.profile-photo-fields h3{margin:0 0 10px;font-size:17px}
.profile-photo-fields #current-avatar{display:block;width:104px;height:104px;object-fit:cover;border:3px solid #fff;border-radius:50%;background:#eee7d8;box-shadow:0 3px 12px #42362720}
.profile-photo-fields #avatar-preview-status{margin:9px 0 13px}
.profile-photo-fields input[type=file]{padding:10px;max-width:100%}
.profile-feedback{margin:18px 0 0;padding:12px 14px;border:1px solid #dfafa7;border-radius:9px;background:#fff0ed;color:#87382d;line-height:1.6}
.profile-save-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--line);margin-top:22px;padding-top:20px}
.profile-save-actions .primary-button{min-width:240px;min-height:48px}
@media(max-width:760px){.album-body .profile-save-grid{grid-template-columns:1fr;gap:15px}.profile-photo-fields{padding:15px}.profile-save-actions .primary-button{width:100%}}
.album-add-short{display:none}
@media(max-width:640px){.album-body.is-member .album-summary>div{min-width:0}.album-body.is-member .album-summary h2{overflow-wrap:anywhere}.album-body.is-member .album-add{flex:none;max-width:none;min-width:96px}.album-add-full{display:none}.album-add-short{display:inline}}
.post-draft-return{max-width:520px;margin:0 auto 18px;padding:14px 16px;border:1px solid #d8b995;border-radius:12px;background:#fff4e5;color:#5f4132;line-height:1.6}.post-draft-return a{display:block;min-height:44px;padding-top:10px;color:#8d4429;font-weight:700}
.post-draft-return button{border:0;background:transparent;color:#795342;text-decoration:underline;padding:9px 0;min-height:44px;cursor:pointer}
