.member-page { background:var(--paper); }
.member-page *, .home-destinations * { box-sizing:border-box; }
/* This header contains navigation rows, unlike the fixed-height quiz header. */
body.member-page .site-header.member-header { position:relative!important; top:auto!important; height:auto!important; min-height:0; max-height:none!important; width:100%; flex-wrap:wrap; }
body.member-page .my-page-hero > div:not(.profile-avatar) { min-width:0; overflow-wrap:anywhere; }
body.member-page .member-header .brand { min-width:0; flex-shrink:0; }
body.member-page .member-header nav { min-width:0; }
body.member-page .member-header nav a { min-height:44px; display:flex; align-items:center; }
@media(max-width:600px) { body.member-page .member-header { flex-direction:column; align-items:stretch; gap:12px; } body.member-page .member-header nav { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; } body.member-page .member-header nav a { font-size:.75rem; } }
.member-header { position:relative; box-shadow:none; border-bottom:1px solid var(--line); border-radius:0; max-width:none; padding:22px max(24px,calc((100vw - 1280px)/2)); margin:0; gap:30px; }
.member-header nav { display:flex; flex-wrap:wrap; gap:10px 24px; align-items:center; }
.member-header nav a { text-decoration:none; color:var(--ink-soft); font-size:.8rem; font-weight:650; }
.member-header nav a:hover { color:var(--teal); }
.member-main { max-width:1280px; padding-bottom:70px; }
.member-hero { padding:65px 0 42px; border-bottom:1px solid var(--line); margin-bottom:34px; }
.member-hero h1 { font-size:clamp(2.25rem,5vw,4.2rem); line-height:1.13; font-weight:650; letter-spacing:-.045em; margin:14px 0 22px; }
.member-hero h1 em { color:var(--teal); font-family:Georgia,serif; font-weight:400; }
.member-hero > p { color:var(--ink-soft); line-height:1.9; }
.member-hero-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; }
.member-hero-links a { color:var(--teal); text-decoration:none; font-weight:750; }
.member-hero-links label { display:flex; align-items:center; gap:10px; font-size:.75rem; }
.member-hero-links select { width:auto; }
.catalogue-filters { display:flex; gap:20px; align-items:end; margin:24px 0; flex-wrap:wrap; }
.catalogue-filters label { display:grid; gap:8px; color:var(--ink-soft); font-size:.75rem; flex:1 1 180px; }
.catalogue-filters label:first-child { flex:3 1 240px; }
.catalogue-filters input,.catalogue-filters select,.member-form input,.member-form textarea,.member-preference-grid select,.member-search-label input { width:100%; padding:13px 15px; border:1px solid var(--line); background:var(--paper); color:var(--ink); border-radius:12px; min-width:0; font:inherit; }
#catalogueStatus { margin:0 0 14px; font-size:.7rem; color:var(--ink-soft); }
.catalogue-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.catalogue-card { border:1px solid var(--line); border-radius:20px; padding:25px; display:flex; flex-direction:column; background:var(--paper); transition:border-color .15s,transform .15s; }
.catalogue-card:hover { border-color:var(--teal); transform:translateY(-2px); }
.catalogue-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:28px; }
.lesson-index { font:italic 2.7rem Georgia,serif; color:var(--teal); line-height:1; }
.access-label { font-size:.57rem; letter-spacing:.04em; font-weight:800; padding:6px 8px; border:1px solid var(--line); border-radius:6px; color:var(--ink-soft); }
.catalogue-card:not(.is-locked) .access-label { background:var(--teal-soft); color:var(--ink); }
.catalogue-card h2 { font-size:1.2rem; line-height:1.45; margin:0 0 8px; overflow-wrap:anywhere; }
.catalogue-title-ja { font-size:.72rem; font-weight:750; margin:0 0 12px; }
.catalogue-summary { font-size:.72rem; color:var(--ink-soft); line-height:1.8; margin-bottom:24px; }
.catalogue-card-bottom { margin-top:auto; display:grid; gap:12px; }
.catalogue-card-bottom > span { font-size:.65rem; color:var(--ink-soft); }
.catalogue-card-bottom .primary-btn,.catalogue-card-bottom .secondary-btn { text-align:center; font-size:.69rem; padding:13px 8px; }
.catalogue-full-link { text-align:center; font-size:.65rem; color:var(--ink-soft); }
.member-music { margin-top:30px; border-top:1px solid var(--line); padding-top:20px; }.member-music summary{cursor:pointer;}
.my-page-hero { display:flex; align-items:center; gap:24px; }.my-page-hero h1{font-size:clamp(1.8rem,4vw,3rem);margin:8px 0;}.my-page-hero .primary-btn{margin-left:auto;font-size:.75rem;}.my-page-hero p{margin:8px 0;color:var(--ink-soft);font-size:.8rem;}
.member-tabs { display:flex; flex-wrap:wrap; gap:5px; border-bottom:1px solid var(--line); margin-bottom:32px; }
.member-tabs button { border:0; background:transparent; color:var(--ink-soft); padding:15px 17px; font:inherit; font-size:.78rem; cursor:pointer; border-bottom:3px solid transparent; }
.member-tabs button[aria-pressed=true] { color:var(--teal); border-bottom-color:var(--teal); font-weight:800; }
.member-tabs button span { background:var(--teal-soft); color:var(--ink); border-radius:50%; padding:1px 5px; font-size:.65rem; }.member-tabs button span:empty{display:none;}
.member-panel[hidden],.member-page [hidden] { display:none!important; }
.panel-intro { max-width:680px; margin-bottom:28px; }.panel-intro h2{font-size:1.7rem;line-height:1.55;margin:8px 0;letter-spacing:-.025em;}.panel-intro h2 span{font-size:1.15rem;font-weight:600;color:var(--ink-soft);}.panel-intro p{color:var(--ink-soft);line-height:1.8;font-size:.8rem;}
.member-form { display:grid; grid-template-columns:1fr 1fr; gap:22px; max-width:780px; padding:28px; border:1px solid var(--line); border-radius:20px; background:var(--cream); }
.member-form label { display:grid; gap:8px; font-size:.78rem; }.member-form .full-width{grid-column:1/-1;}.member-form [readonly]{opacity:.7;}.member-form [role=status]{font-size:.75rem;line-height:1.7;}
.profile-photo-tools { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }.profile-photo-tools small{flex-basis:100%;color:var(--ink-soft);font-size:.66rem;}.photo-file-label{cursor:pointer;position:relative;}.photo-file-label input{position:absolute;inset:0;opacity:0;cursor:pointer;}.photo-file-label:focus-within{outline:2px solid var(--teal);outline-offset:3px;}
.notice-list { display:grid; gap:14px; max-width:850px; }.notice-preview{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:24px;text-align:left;display:grid;gap:12px;cursor:pointer;font:inherit;}.notice-preview:hover{border-color:var(--teal);}.notice-preview strong{font-size:1.1rem;}.notice-preview>span:not(.eyebrow){font-size:.8rem;color:var(--ink-soft);line-height:1.8;}.notice-preview small{display:flex;justify-content:space-between;gap:12px;font-size:.67rem;color:var(--ink-soft);}
.notice-dialog{width:min(700px,calc(100vw - 28px));max-height:85dvh;overflow:auto;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:24px;padding:30px;}.notice-dialog::backdrop{background:#0b2838a0;backdrop-filter:blur(4px);}.notice-dialog>button{display:block;margin-left:auto;}#noticeDetail p{white-space:pre-wrap;line-height:1.9;overflow-wrap:anywhere;}
.favorite-filters{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;}.favorite-filters button{padding:10px 15px;border:1px solid var(--line);border-radius:100px;background:var(--paper);color:var(--ink);font-size:.7rem;cursor:pointer;}.favorite-filters button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy);}
.favorite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}.favorite-card{padding:24px;border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;gap:12px;}.favorite-card h3{font-size:1.1rem;overflow-wrap:anywhere;margin:0;}.favorite-card>p{font-size:.8rem;line-height:1.8;margin:0;color:var(--ink-soft);}.favorite-card .personal-card-actions{margin-top:auto;padding-top:12px;}
.member-search-label{display:grid;gap:8px;max-width:650px;font-size:.75rem;}.member-empty{grid-column:1/-1;text-align:center;background:var(--cream);border:1px dashed var(--line);border-radius:22px;padding:40px 24px;color:var(--ink-soft);line-height:1.8;}.member-empty h3{font-size:1rem;}.member-empty a{color:var(--teal);font-weight:750;}
.member-preference-grid{max-width:850px;display:grid;grid-template-columns:1fr 1fr;gap:18px;}.member-preference-grid>label{display:grid;gap:8px;font-size:.8rem;}.member-preference-grid>[data-study-music-controls]{grid-column:1/-1;background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-wrap:wrap;gap:20px;}.member-preference-grid>.settings-check{display:flex;align-items:center;border:1px solid var(--line);border-radius:14px;padding:17px;}.member-preference-grid input[type=checkbox]{width:20px;height:20px;flex:none;}.member-preference-grid [role=status]{grid-column:1/-1;}
@media(min-width:1100px){#panel-profile:not([hidden]){display:grid;grid-template-columns:1fr 1.6fr;gap:50px;align-items:start;}}
@media(max-width:900px){.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.member-header{flex-wrap:wrap;padding:18px 24px;}.member-header nav{width:100%;}.member-hero{padding-top:35px;}}
@media(max-width:600px){.member-main{width:calc(100% - 32px);}.member-header{gap:16px;padding:16px;}.member-header nav{gap:14px;}.member-header nav a{font-size:.65rem;}.catalogue-grid,.favorite-grid,.member-preference-grid{grid-template-columns:1fr;}.catalogue-card{padding:22px;}.member-hero h1{font-size:2.3rem;}.my-page-hero{flex-wrap:wrap;gap:15px;}.my-page-hero h1{font-size:1.6rem;}.my-page-hero .primary-btn{margin-left:0;}.member-tabs button{padding:12px 10px;font-size:.69rem;}.member-form{padding:20px;grid-template-columns:1fr;}.member-hero .profile-avatar{width:70px;height:70px;}.member-preference-grid>label{grid-column:1/-1;}.notice-preview{padding:20px;}}
