/* mellow UI rules: 16px body / 14px support / 12px captions. */
:root{--ink:#354032;--muted:#687361;--green:#536b4c;--line:#e2e6da;--paper:#f8f8f3;--pink:#f2e6e0;--sage:#e8eedf;--text-body:16px;--text-support:14px;--text-caption:12px;--radius-control:8px;--radius-panel:14px;--space-section:36px}
body{font-family:Meiryo,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:var(--text-body);line-height:1.85;letter-spacing:.02em;color:var(--ink)}
.mobile-menu{display:none}
button,a,input,select,textarea{touch-action:manipulation}button,a{transition:background-color .16s,color .16s,box-shadow .16s}button:disabled{opacity:.55}button:not(:disabled):active{transform:translateY(1px)}
.sidebar{width:248px;padding:32px 22px;background:#fffefb}.brand{font-size:48px}.brand span{font-size:9px;letter-spacing:1.1px}.workspace-label{font-size:11px;letter-spacing:1.2px;margin-top:38px}.sidebar .nav-link{font-size:14px;gap:12px;min-height:48px;padding:10px 12px;border-radius:8px}.sidebar .nav-link.active{box-shadow:inset 3px 0 #80996e;background:#eaf0e2}.sidebar .nav-icon{font-size:21px;width:24px}.sidebar-bottom strong{font-size:15px;line-height:2}.sidebar-bottom p,.help-link,.owner-switch{font-size:12px}.owner-switch{min-height:44px;white-space:normal;text-align:left}.help-link{min-height:36px;align-items:center}
.shell{margin-left:248px}header{height:80px;padding:0 40px}.header-breadcrumb{font-size:12px;color:#717b68}.header-breadcrumb b{color:#46563e}.profile{font-size:13px}.profile small{font-size:11px;color:#687361}.avatar{width:38px;height:38px;font-size:18px}.preview-label{font-size:11px;border-color:#cdd7c0;color:#607252}.header-right{gap:15px}.icon-button{min-width:44px;min-height:44px;display:inline-grid;place-items:center}
main{max-width:1336px;padding:36px 40px 64px}.eyebrow{font-size:12px;letter-spacing:1.6px;color:#63785a}.page-title{font-size:30px;line-height:1.65;margin:6px 0 12px}.page-intro{font-size:15px;color:#687361;line-height:1.9}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.count-label{font-size:13px;white-space:nowrap;color:#64745a;background:#e9efdf;padding:6px 13px;border-radius:20px}
.hero{padding:32px 36px;min-height:295px;border-radius:16px;background:#e9eedf;border:1px solid #e0e6d6}.hero-copy{width:73%}.hero .eyebrow{font-size:12px}.hero h1{font-size:clamp(27px,2.7vw,36px);line-height:1.75;letter-spacing:.07em;margin:12px 0}.hero p{font-size:14px;color:#58674f;line-height:2;margin:12px 0 22px}.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.hero-guide{font-size:13px;min-height:44px;padding:6px 0;color:#536b4c}.hero-art{width:30%;opacity:.75}.art-label{font-size:12px;right:14px}.arch{right:20px}.vase{right:71px}.branch{right:111px}.hero-art .orb{right:-12px}.hero-art{pointer-events:none}
.primary,.secondary{font-size:14px;line-height:1.6;min-height:44px;padding:11px 18px;border-radius:var(--radius-control);display:inline-flex;align-items:center;justify-content:center;gap:16px}.primary{box-shadow:0 3px 7px #536b4c12}.secondary{border-color:#cfd8c4}.secondary:hover{background:#edf2e6}.primary:hover{box-shadow:0 4px 12px #536b4c24}.text-button{font-size:13px;min-height:36px;padding:5px;color:#526b46}.back-link{font-size:14px;min-height:36px;padding:4px 0}
.welcome{margin:30px 0 18px}.welcome h2{font-size:19px;line-height:1.8}.welcome p{font-size:14px;color:#687361}.date{font-size:11px;color:#78866c}.quicklinks{gap:14px;margin-bottom:22px}.quicklink{padding:20px 16px;border-color:#e0e5d7;border-radius:12px;gap:12px;min-height:103px;box-shadow:0 3px 12px #4b603304}.quicklink:hover{border-color:#afc29c;background:#fffefb}.quicklink strong{font-size:15px;font-weight:600;line-height:1.7}.quicklink small{font-size:12px;color:#69775f;line-height:1.8;margin-top:4px}.quick-icon{width:40px;height:40px;flex-shrink:0}.arrow{font-size:17px;color:#657b58}
.learning-overview{display:flex;border:1px solid var(--line);border-radius:12px;background:#fffefb;margin:0 0 34px;padding:17px 0}.learning-overview>a,.learning-overview>div{flex:1;text-align:center;border-right:1px solid var(--line);padding:0 12px}.learning-overview>:last-child{border:0}.learning-overview strong{font:26px/1.4 Georgia;color:#536b4c;margin-right:6px}.learning-overview span{font-size:13px;color:#65745d}.learning-overview small{display:block;font-size:12px;color:#69775f}.learning-overview>a:hover{background:#f2f5eb}
.section-head{margin:34px 0 20px}.section-head h2{font-size:21px;font-weight:600;line-height:1.65}.section-head h2 small{font-size:11px;letter-spacing:1px;margin-left:12px;color:#7b896f}.category-grid{gap:16px}.category{padding:20px;min-height:164px;border-radius:12px;border-color:#dce2d3}.category .num{font-size:14px;color:#68765e}.category .category-symbol{font-size:30px;color:#697e5b}.category h3{font-size:17px;font-weight:600;line-height:1.7;margin:17px 0 7px}.category p{font-size:13px;color:#65735c;line-height:1.8;padding-right:12px}.category:hover{box-shadow:0 6px 16px #3c532b10}.category .arrow{bottom:15px}
.lesson-grid{gap:20px}.lesson-card{border-radius:12px;border-color:#e0e5d7}.thumbnail{height:180px;padding:37px 22px 25px}.thumbnail strong{font-size:21px;line-height:1.75;letter-spacing:.04em;max-width:94%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.thumb-kicker{font-family:inherit;font-size:12px;letter-spacing:.04em;left:22px;top:12px;color:#596d4e}.play-circle{width:36px;height:36px;right:14px;top:69px;opacity:.65}.duration{font-size:12px;padding:2px 8px;background:#fffefaed}.card-info{padding:18px 18px 24px}.card-info h3{font-size:15px;line-height:1.85;font-weight:600;min-height:56px;padding-right:0;margin-bottom:12px}.card-meta{font-size:12px;line-height:1.8;gap:8px;flex-wrap:wrap;color:#69775f;padding-right:30px}.tag-row{gap:6px;flex-wrap:wrap}.tag,.tag.audio{font-size:12px;line-height:1.6;padding:3px 8px;border-radius:4px;color:#526a44}.tag.audio{color:#795e45}.favorite{width:44px;height:44px;font-size:25px;bottom:12px;right:8px}.favorite.saved{color:#a66d61}
.bottom-grid{gap:28px}.news-list{padding:2px 20px;border-radius:12px}.news-item{padding:20px 0;gap:12px;font-size:14px;line-height:1.8;flex-wrap:wrap}.news-item time{font-size:12px;color:#69775f}.news-item .new{font-size:11px;color:#805d47}.news-item>span:not(.new):not(.arrow){flex:1 1 60%;min-width:0}.news-item .arrow{margin-left:auto}.quote-card{padding:28px;border-radius:12px}.quote-card .eyebrow{font-size:11px;color:#7a6552}.quote-card h3{font-size:23px;line-height:1.85}.quote-card p{font-size:14px;line-height:2;color:#766553}.column-read{font-size:13px}.column-list time{font-size:12px}.post-content{font-size:16px;line-height:2.15;color:#4d5e44}.column-link .flower{opacity:.55}.column-list .quote-card{margin-top:0}
.filters{gap:12px;margin:28px 0 18px}.search input{font-size:16px;min-height:48px;padding:12px 16px 12px 42px;border-radius:8px;border-color:#cad5bd}.search:before{top:6px;color:#687e5a}.filters select,select{font-size:14px;min-height:44px;border-radius:8px;color:#495f3e}.chip{font-size:14px;line-height:1.6;padding:9px 17px;min-height:42px;border-color:#d4ddca}.filter-chips{gap:8px}.result-count{font-size:14px;color:#65765c}.empty{font-size:15px;padding:38px 24px;border-radius:12px}.empty h3{font-size:18px}.empty p{font-size:14px}.empty a{min-height:40px;display:inline-flex;align-items:center}
.content-tabs{gap:6px;margin:8px 0 24px;padding-bottom:12px}.content-tabs a{font-size:14px;padding:10px 16px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px}.content-tabs a.active{background:#e3ecd8;color:#3f5b32}.notice{font-size:14px;line-height:1.95;padding:17px 20px;border-left:3px solid #bbc9a9;border-radius:8px;color:#695f4c;background:#f4f0e6}.notice strong{color:#4c6240}.stats{gap:16px;margin:26px 0}.stat{padding:20px 22px;border-radius:12px}.stat small{font-size:13px;color:#64765a}.stat strong{font-size:32px;line-height:1.55}.admin-list-head h2{font-size:19px;font-weight:600}.admin-list-head h2 small{font-size:13px}.sort-label{font-size:13px;color:#66755e}.bulk-toolbar{padding:16px;gap:10px;border-radius:10px}.bulk-toolbar>span{font-size:14px;min-width:130px}.bulk-toolbar .secondary{font-size:13px;padding:8px 13px;min-height:40px}.table-wrap{border-radius:12px}table{font-size:14px;line-height:1.8}th,td{padding:17px 16px}th{font-size:13px;font-weight:600;color:#5c6d52}.table-note{font-size:12px;color:#67795e}.row-actions button,td button{font-size:13px;min-height:36px;padding:7px 9px}.status{font-size:13px;color:#526d45}.status.draft{color:#8a624a}.admin-hint{font-size:13px;line-height:1.9;color:#6b785f}.lesson-admin-table input[type=checkbox]{width:22px;height:22px}.row-actions .danger,.danger{color:#9e594e}.topic-admin-card{padding:24px;border-radius:12px}.topic-admin-copy h2{font-size:18px;font-weight:600}.topic-admin-copy p{font-size:14px}.topic-order .secondary{min-width:40px}.confirm-items li{font-size:15px;line-height:1.9}
.step{border-radius:12px;padding:26px;gap:24px}.step h3{font-size:18px;font-weight:600}.step p{font-size:15px;color:#65775b}.step button{font-size:14px;min-height:40px}.detail-panel{border-radius:12px;padding:28px}.detail-panel h2{font-size:19px;font-weight:600}.detail-panel p{font-size:16px;line-height:2.1;color:#596b50}.detail-panel textarea{font-size:16px;min-height:145px;padding:14px}.note-status{font-size:12px}.video-placeholder p{font-size:14px}.media-help{font-size:13px;color:#66765c}.media-player,.embed-player{border-radius:12px}.detail-actions{gap:12px}
.resource-list,.worksheet-admin-list{display:grid;gap:16px}.resource{gap:20px;padding:24px;border-radius:12px;margin-bottom:0;align-items:center}.resource-icon{display:grid;place-items:center;font-size:28px;width:54px;height:64px;flex-shrink:0;color:#6a815a;background:#eef2e7;border-radius:9px}.resource-copy{flex:1;min-width:0}.resource h3,.resource h2{font-size:18px;line-height:1.8;font-weight:600;margin:4px 0;overflow-wrap:anywhere}.resource p{font-size:14px;line-height:1.9;color:#64745b;margin:4px 0}.resource small{font-size:12px;color:#67795b;overflow-wrap:anywhere}.file-badge{font-size:12px;color:#617554}.download-link{white-space:nowrap}.worksheet-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.worksheet-actions .secondary{font-size:13px;min-height:40px;padding:8px 12px}input[type=file]{padding:14px!important;max-width:100%;font-size:14px!important}input[type=file]::file-selector-button{background:#e6eddd;border:0;padding:9px 12px;border-radius:5px;margin-right:12px;color:#4d663e;font-family:inherit;cursor:pointer}
dialog{width:min(660px,calc(100% - 32px));border-radius:16px;padding:34px;color:var(--ink)}dialog h2{font-size:26px;line-height:1.7;padding-right:25px}dialog p,dialog li{font-size:15px;line-height:2;color:#5e7054}.close-modal{right:8px;top:8px}.form-grid{gap:20px}.field{font-size:14px;font-weight:500;gap:8px}.field input,.field textarea,.field select{font-size:16px;line-height:1.7;padding:11px 12px;border-radius:8px;border-color:#cdd8bf;min-height:46px}.field small{font-size:12px;color:#68795e;font-weight:400}.field textarea{min-height:130px}.form-actions{margin-top:24px;gap:12px}.error-message{font-size:14px;color:#a34e43}#media-provider{font-size:13px}#password-form .field{margin:20px 0}
.auth-card{max-width:470px;padding:38px;border-radius:18px}.auth-card h1{font-size:25px}.auth-card p{font-size:14px;color:#64755b}.auth-card .eyebrow{font-size:12px}.auth-card .field{margin:20px 0}.auth-submit{font-size:15px;min-height:48px}.auth-footer,.login-help{font-size:13px}.password-wrap input{border:0}.password-wrap button{font-size:13px;min-width:52px}.auth-decoration{font-size:76px}.auth-card .brand span{font-size:10px}
footer{margin:0 40px;font-size:12px;gap:18px}footer span:last-child{font-size:11px;color:#6d7c62}.footer-brand{font-size:27px}.toast{font-size:14px;line-height:1.8;padding:13px 22px;left:calc(50% + 124px);background:#4e6545;border-radius:9px}
@media(max-height:800px){.sidebar-bottom .small-flower,.sidebar-bottom strong,.sidebar-bottom p{display:none}.sidebar-bottom{padding-top:18px}.owner-switch{margin-top:12px;padding-top:12px}}
@media(max-width:1150px){.sidebar{width:224px;padding:30px 16px}.shell{margin-left:224px}main{padding:30px 28px 54px}header{padding:0 28px}.sidebar .nav-link{font-size:13px;padding:10px 10px;gap:9px}.hero{padding:29px}.hero h1{font-size:29px}.hero p{font-size:14px}.hero-art{right:-25px;opacity:.6}.hero-copy{width:78%}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category{min-height:148px}.lesson-grid{gap:16px}.thumbnail{height:170px;padding:36px 18px 24px}.thumbnail strong{font-size:20px}.thumb-kicker{left:18px}.quicklinks{gap:10px}.quicklink{gap:10px;padding:17px 13px}.quicklink small{font-size:12px}.quicklink .arrow{display:none}.quicklink strong{font-size:14px}.quick-icon{width:34px;height:34px}.bottom-grid{grid-template-columns:1fr 1fr;gap:20px}.toast{left:calc(50% + 112px)}}
@media(max-width:800px){.shell{margin-left:0}.sidebar{width:248px}.mobile-menu{display:inline-grid}.toast{left:50%}header{height:72px;padding:0 18px}.header-breadcrumb{margin-left:8px}.hero h1{font-size:30px}.hero-copy{width:80%}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-grid{grid-template-columns:1fr}.quicklink strong{font-size:15px}.quicklink .arrow{display:block}.resource{flex-wrap:wrap}.worksheet-actions{flex-basis:100%;justify-content:flex-start;padding-left:74px}}
@media(max-width:580px){main{padding:24px 18px 45px}.header-breadcrumb{font-size:11px}.header-right{gap:5px}.preview-label{font-size:10px;padding:2px 7px}.profile{padding:0}.avatar{width:34px;height:34px}.header-right>.icon-button{display:none}.hero{padding:25px 23px;min-height:325px}.hero-copy{width:100%}.hero .eyebrow{font-size:11px}.hero h1{font-size:clamp(20px,5.7vw,26px);letter-spacing:.02em;line-height:1.9;margin:12px 0}.hero p{font-size:13px;line-height:1.9;max-width:82%;margin:10px 0 18px}.hero-art{right:-30px;opacity:.4;width:37%;height:180px}.hero-actions{gap:12px;align-items:flex-start;flex-direction:column}.hero-guide{font-size:13px;min-height:34px}.hero .primary{margin-top:0}.primary,.secondary{font-size:14px;padding:11px 16px;min-height:44px}.welcome{margin:25px 0 17px}.welcome h2{font-size:18px}.welcome p{font-size:13px;max-width:none;margin-top:5px}.welcome .date{display:none}.quicklinks{grid-template-columns:1fr;gap:10px;margin-bottom:18px}.quicklink{flex-direction:row;align-items:center;min-height:78px;padding:16px;gap:14px}.quick-icon{width:40px;height:40px;font-size:21px}.quicklink strong{font-size:15px}.quicklink small{font-size:13px;line-height:1.7;margin-top:2px}.quicklink .arrow{position:static;display:block;margin-left:auto}.learning-overview{padding:15px 0;margin-bottom:28px}.learning-overview strong{font-size:23px;margin-right:4px}.learning-overview span{font-size:12px}.learning-overview small{font-size:11px}.learning-overview>a,.learning-overview>div{padding:0 7px}.section-head{margin:29px 0 16px;align-items:center}.section-head h2{font-size:20px}.section-head h2 small{display:none}.text-button{font-size:13px;min-height:36px}.category-grid{gap:12px}.category{min-height:156px;padding:18px 16px}.category h3{font-size:16px;line-height:1.7;margin:16px 0 6px}.category p{font-size:12px;line-height:1.8;padding-right:4px}.category .num{font-size:13px}.category .category-symbol{font-size:27px}.category .arrow{font-size:17px;right:12px;bottom:9px}.lesson-grid{gap:14px}.thumbnail{height:158px;padding:33px 14px 26px}.thumbnail strong{font-size:18px;line-height:1.75;letter-spacing:0;max-width:100%;-webkit-line-clamp:3}.thumb-kicker{font-size:11px;left:14px;top:9px}.duration{font-size:11px;right:7px;bottom:7px;padding:1px 6px}.play-circle{display:none}.card-info{padding:14px 12px 38px}.card-info h3{font-size:14px;line-height:1.85;min-height:76px;margin-bottom:10px;padding:0}.tag{font-size:11px;padding:3px 6px}.tag-row{gap:4px}.card-meta{font-size:11px;line-height:1.7;padding-right:0;flex-direction:column;gap:2px}.favorite{right:3px;bottom:3px;font-size:25px}.news-item{padding:18px 0;font-size:14px;gap:8px}.news-item time{font-size:12px}.news-list{padding:2px 16px}.news-item>span:not(.new):not(.arrow){flex-basis:78%}.quote-card{margin-top:0;padding:25px}.quote-card h3{font-size:22px}.quote-card p{font-size:14px}.quote-card .eyebrow{font-size:11px}.quote-card .flower{font-size:50px;right:15px;bottom:15px}.page-title{font-size:27px;line-height:1.7}.page-intro{font-size:14px;margin-bottom:22px}.page-heading{display:block}.count-label{display:inline-block;margin-bottom:20px}.filters .search{flex-basis:100%}.filters select{font-size:14px;flex-basis:44%;min-width:0}.filter-chips{gap:7px}.chip{font-size:13px;min-height:40px;padding:8px 13px}.result-count{font-size:13px}.admin-toolbar{gap:12px}.admin-toolbar>.primary{font-size:13px;min-height:44px;padding:10px 13px}.admin-toolbar .page-title{font-size:25px}.content-tabs{gap:6px;margin-top:0;margin-bottom:22px}.content-tabs a{flex:1 1 28%;padding:9px 7px;font-size:13px;min-height:44px;border:1px solid #e0e6d7;background:#fffefa}.content-tabs a.active{border-color:#c7d5b9}.notice{font-size:13px;padding:15px 16px;line-height:1.95}.stats{gap:10px;margin:22px 0}.stat{padding:15px 12px}.stat small{font-size:12px;line-height:1.8}.stat strong{font-size:29px}.admin-list-head h2{font-size:18px}.sort-label{font-size:13px;flex-wrap:wrap}.bulk-toolbar{gap:8px;padding:14px}.bulk-toolbar>span{font-size:14px}.bulk-toolbar .secondary{font-size:12px;min-height:40px;padding:8px 11px}.lesson-admin-table thead th:first-child:after{font-size:13px}.lesson-admin-table tbody tr{padding:20px 15px;gap:9px 13px;grid-template-columns:24px minmax(0,1fr)}.lesson-admin-table td{font-size:13px}.lesson-admin-table td:nth-child(2){font-size:15px;line-height:1.85}.table-note,.status{font-size:12px}.lesson-admin-table .row-actions button{font-size:14px;min-height:42px;padding:9px 17px}.admin-hint{font-size:12px}.topic-admin-card{padding:20px;gap:12px}.topic-admin-copy{flex-basis:70%}.topic-admin-copy h2{font-size:17px}.topic-admin-copy p{font-size:14px}.topic-order{margin-left:0}.topic-admin-card .row-actions{margin-left:auto}.row-actions button{font-size:13px;min-height:40px}.resource{padding:20px;gap:14px;align-items:flex-start}.resource-icon{width:42px;height:54px;font-size:25px}.resource-copy{flex-basis:calc(100% - 56px)}.resource h3,.resource h2{font-size:17px}.resource p{font-size:14px}.resource small,.file-badge{font-size:12px}.resource .download-link{margin-left:56px}.worksheet-actions{padding-left:0;gap:8px}.worksheet-actions .secondary{font-size:13px;min-height:42px;padding:10px 13px}.form-grid{gap:18px}.field{font-size:14px}.field input,.field select,.field textarea{font-size:16px;min-height:46px}.field small{font-size:12px}dialog{padding:30px 22px;max-height:92vh}dialog h2{font-size:23px}dialog p,dialog li{font-size:14px}.form-actions .primary,.form-actions .secondary{font-size:14px}.step{padding:22px;gap:16px}.step h3{font-size:17px}.step p{font-size:14px}.step button{font-size:14px;text-align:left}.detail-panel{padding:22px}.detail-panel h2{font-size:18px}.detail-panel p{font-size:15px}.note-status{font-size:12px}.detail-actions{gap:8px}.auth-card{padding:30px 24px}.auth-card h1{font-size:23px}.auth-card p{font-size:14px}.auth-card .brand{margin-bottom:30px}.auth-submit{font-size:15px}.auth-footer,.login-help{font-size:12px}footer{margin:0 18px;font-size:12px;gap:12px}footer span:last-child{font-size:11px}.toast{left:50%;font-size:14px;max-width:calc(100vw - 36px)}}
@media(prefers-reduced-motion:reduce){button,a{transition:none!important}button:active{transform:none!important}}
@media(max-width:580px){.lesson-grid{grid-template-columns:minmax(0,1fr)}.lesson-card .lesson-open{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:stretch}.lesson-card .thumbnail{height:100%;min-height:190px;padding:38px 13px 30px}.lesson-card .thumbnail strong{font-size:17px;line-height:1.8;-webkit-line-clamp:4}.lesson-card .thumb-kicker{font-size:11px;left:13px}.lesson-card .card-info{padding:16px 14px 40px}.lesson-card .card-info h3{min-height:0;font-size:15px;line-height:1.9;margin:10px 0}.lesson-card .card-meta{font-size:12px;flex-direction:row;flex-wrap:wrap;gap:4px 8px}.lesson-card .favorite{right:5px;bottom:5px}.category{padding-bottom:32px}}
.mobile-menu.icon-button{display:none}@media(max-width:800px){.mobile-menu.icon-button{display:inline-grid}}
.page-title,.welcome h2,.brand,.sidebar .nav-link{overflow-wrap:anywhere}.page-intro,.welcome h2{white-space:pre-line}
.sidebar .nav-link{gap:10px;padding-left:8px;padding-right:8px}.sidebar .nav-icon{width:22px}
.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-stat{display:block;min-width:0;color:var(--ink);text-align:left}.profile-stat:hover{background:#f0f5e8;border-color:#a5b995;box-shadow:0 4px 12px #536b4c12}.profile-stat strong{display:block}.profile-stat-hint{display:block;font-size:12px;color:#637957;line-height:1.8;margin-top:6px;overflow-wrap:anywhere}
.member-filter-card{text-align:left;position:relative;color:var(--ink);transition:background-color .15s,border-color .15s,box-shadow .15s}.member-filter-card:hover{background:#f0f5e8;border-color:#a5b995}.member-filter-card.selected{background:#eaf1e1;border-color:#7b9767;box-shadow:inset 0 0 0 1px #7b9767}.member-filter-card small{display:block;line-height:1.8}.member-filter-card strong{display:block}.member-filter-hint{display:block;font-size:12px;color:#637957;line-height:1.7;margin-top:5px}.member-count-note{margin-top:-8px}.member-list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:20px 0 14px}.member-list-toolbar p{font-size:14px;color:#5b6f50;margin:0}.member-list-toolbar .secondary.selected{border-color:#a4b891;background:#f0f5e8}.member-empty{font-size:14px;color:#6a785f;line-height:1.9;padding:12px 0}.member-table td small{font-size:12px;color:#6a785f}
@media(max-width:580px){.member-filter-cards{gap:8px}.member-filter-card{padding:15px 10px}.member-filter-card small{font-size:12px;min-height:44px}.member-filter-card strong{font-size:29px}.member-filter-hint{font-size:11px}.member-list-toolbar{align-items:flex-start;flex-wrap:wrap}.member-list-toolbar p{font-size:13px}.member-list-toolbar .secondary{min-height:40px;font-size:13px}.member-count-note{font-size:12px}}
.text-editor-panel{display:block;border:1px solid #d8e2cc;border-radius:12px;padding:20px;background:#f8faf3}.text-editor-panel h3{margin:0 0 9px;font-size:18px}.editor-help{font-size:13px!important;line-height:1.9;color:#68795d}.block-editor-item{background:white;padding:18px;border:1px solid #dce4d1;border-radius:10px;margin:14px 0}.block-editor-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px}.block-editor-heading strong{font-size:14px}.block-control{min-width:38px;min-height:38px;font-size:13px;padding:6px 8px;border:1px solid #dfe6d4;border-radius:6px;margin-left:4px}.block-control:hover{background:#edf3e5}.block-add-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}#text-preview{margin-top:20px;border-top:1px solid #dce5cf;padding-top:20px}.text-lesson-body{margin:25px 0;padding:30px;background:#fffefb;border:1px solid var(--line);border-radius:12px}.text-lesson-body h2{font-size:23px;line-height:1.8;color:#425d35;margin:32px 0 17px;white-space:pre-wrap;overflow-wrap:anywhere}.text-lesson-body h2:first-child{margin-top:0}.text-lesson-body p{font-size:16px;line-height:2.2;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 22px;color:#44563b}.text-lesson-body p:last-child{margin-bottom:0}.text-video-block{margin:28px 0}.text-video-block .embed-player{margin-top:0}.text-video-block .media-help{font-size:12px}.copy-group{border:1px solid var(--line);border-radius:12px;background:#fffefb;margin:16px 0;overflow:hidden}.copy-group>summary{font-size:17px;line-height:1.8;padding:19px 22px;cursor:pointer;font-weight:600;background:#f0f4e8}.copy-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:24px}.copy-fields textarea{min-height:110px;resize:vertical}.settings-savebar{display:flex;justify-content:flex-end;gap:12px;padding:20px 0;flex-wrap:wrap}.copy-preview .hero-copy{width:100%}.copy-preview h1{font-size:27px}.hero-copy h1,.hero-copy p{overflow-wrap:anywhere}.hero-copy .primary{white-space:normal}#site-settings-form .field{min-width:0}
@media(max-width:580px){.text-editor-panel{padding:15px}.block-editor-item{padding:14px}.block-editor-heading{align-items:flex-start;flex-wrap:wrap}.block-add-buttons .secondary{font-size:13px;padding:10px 13px}.text-lesson-body{padding:22px 18px}.text-lesson-body h2{font-size:21px}.text-lesson-body p{font-size:16px;line-height:2.15}.copy-fields{grid-template-columns:1fr;padding:18px;gap:20px}.copy-group>summary{font-size:16px;padding:16px 18px}.settings-savebar{justify-content:stretch}.settings-savebar .primary,.settings-savebar .secondary{width:100%}}
@media(max-width:580px){.admin-toolbar{flex-wrap:wrap}.admin-toolbar>div{flex-basis:100%}.admin-toolbar>.primary{margin-bottom:18px}.admin-toolbar .page-title{font-size:25px;word-break:normal}}

/* Uploaded lesson thumbnails */
.thumbnail.has-image{position:relative;overflow:hidden}.lesson-thumbnail-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.thumbnail.has-image>.thumb-kicker,.thumbnail.has-image>strong,.thumbnail.has-image>.thumb-lines{visibility:hidden}.thumbnail.has-image>.play-circle,.thumbnail.has-image>.duration{z-index:1}.thumbnail-editor{padding:18px;border:1px solid var(--line,#dedfd6);border-radius:14px}.thumbnail-editor input{max-width:100%}#thumbnail-preview{max-width:480px}#thumbnail-preview img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px}#thumbnail-status{font-size:14px}

.thumbnail.has-image{height:auto;aspect-ratio:16/9}
.lesson-card:has(.has-image) .lesson-open{display:block}.lesson-card .thumbnail.has-image{width:100%;height:auto;min-height:0;aspect-ratio:16/9;padding:0}.thumbnail.has-image>strong,.thumbnail.has-image>.thumb-kicker,.thumbnail.has-image>.thumb-lines{position:absolute}.thumbnail.has-image:after{display:none}
.hero{background:var(--hero-background,#eceee3)}.hero-background-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.custom-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,254,250,.96),rgba(255,254,250,.86) 55%,rgba(255,254,250,.35));pointer-events:none}.custom-hero .hero-copy{position:relative;z-index:1}.custom-hero .hero-art{display:none}.appearance-editor{padding:24px;border:1px solid var(--line);border-radius:14px;background:#fffefa;margin:24px 0}.palette-options{display:flex;gap:12px;flex-wrap:wrap;border:0;padding:12px 0;margin:12px 0}.palette-options legend{font-weight:700}.palette-option{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.palette-option:has(input:checked){outline:2px solid var(--green);outline-offset:1px}.palette-swatch{display:flex;gap:4px;padding:8px;border:1px solid;border-radius:5px}.palette-swatch i{width:14px;height:14px;border-radius:50%}.appearance-editor input[type=file]{max-width:100%;margin:12px 0}.appearance-editor input[type=color]{width:76px;height:44px;padding:4px}.appearance-sample{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.appearance-sample .primary{padding:8px 18px}#appearance-preview{margin-top:16px}.appearance-editor .hero{min-height:260px}.appearance-editor .hero-copy{max-width:100%}#appearance-status{font-size:14px}.appearance-editor h2{font-size:22px}
html[data-palette=rose] .sidebar,html[data-palette=sand] .sidebar,html[data-palette=lavender] .sidebar{background:var(--paper)}html[data-palette=rose] .category,html[data-palette=sand] .category,html[data-palette=lavender] .category{background:var(--sage)}html[data-palette=rose] .thumbnail,html[data-palette=sand] .thumbnail,html[data-palette=lavender] .thumbnail{background:var(--sage)}

/* Keep longer Japanese site names readable without splitting named phrases. */
.brand .brand-name{display:block;font:inherit;letter-spacing:inherit;line-height:inherit;text-wrap:balance;line-break:strict}.brand .brand-name .site-name-phrase{display:inline-block;max-width:100%;margin:0;font:inherit;letter-spacing:inherit;line-height:inherit;overflow-wrap:anywhere}.brand.brand-long{font-family:"Yu Mincho",serif;font-size:22px;letter-spacing:.03em;line-height:1.55}.brand.brand-long .brand-tagline{line-height:1.6;margin-top:10px}
/* Admin-only contextual editing; the server still verifies every write. */
.inline-editor-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;padding:5px;margin:0 0 0 8px;border:1px solid #b9c8b2;border-radius:50%;background:#fffefa;color:var(--green);vertical-align:middle;cursor:pointer;line-height:1;box-shadow:0 1px 4px #263b3614;flex-shrink:0}
.inline-editor-button:hover{background:var(--sage);border-color:var(--green)}
.inline-editor-button:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.inline-editor-button svg{display:block;pointer-events:none}
.inline-action-host{position:relative;display:inline-block;max-width:100%;min-width:0}
.inline-action-host>.inline-editor-button{position:absolute;top:5px;right:calc(5px + var(--edit-offset,0px));z-index:3;margin:0}
.inline-action-host>.brand{padding-right:72px}
.quicklinks>.inline-action-host,.category-grid>.inline-action-host{display:block;width:100%;height:100%}
.inline-action-host>.quicklink,.inline-action-host>.category{width:100%;height:100%}
.inline-action-host>.quicklink{padding-top:37px}
.hero>.inline-editor-button{position:absolute;right:18px;top:18px;z-index:4}
.hero-actions>.inline-action-host{padding-top:30px}
.lesson-card>.inline-editor-button{position:absolute;right:56px;top:12px;z-index:3}
.resource>.inline-editor-button{align-self:center}
.inline-copy-preview{white-space:pre-wrap;overflow-wrap:anywhere;padding:18px;background:var(--paper);border:1px solid #dce4d4;border-radius:10px;min-height:65px;line-height:1.8}
#inline-appearance-form .appearance-editor{margin:0;border:0;padding:0}
@media(max-width:600px){.inline-editor-button{width:34px;height:34px;min-width:34px}.hero>.inline-editor-button{right:10px;top:10px}.hero .hero-copy{padding-top:22px}.inline-action-host>.brand{padding-right:80px}}
.welcome:has(>.inline-editor-button),.quicklinks:has(>.inline-editor-button),.sidebar-bottom:has(>.inline-editor-button){position:relative}
.welcome:has(>.inline-editor-button){padding-right:46px}
.quicklinks:has(>.inline-editor-button){padding-top:40px}
.welcome>.inline-editor-button,.quicklinks>.inline-editor-button,.sidebar-bottom>.inline-editor-button{position:absolute;right:0;top:0;margin:0;z-index:3}
.sidebar-bottom:has(>.inline-editor-button){padding-right:42px}
.inline-action-host>.brand{padding-right:42px}
#inline-group-form .appearance-editor{margin-top:20px}
#inline-group-form textarea{width:100%;min-width:0}
