@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&family=Noto+Serif+KR:wght@400;500;600&display=swap');
:root{--bg:#f7f7f2;--paper:#fffefb;--ink:#293e34;--muted:#787c71;--green:#345548;--sage:#e7ede4;--line:#e3e5db;--sand:#ece6d8;--accent:#ae825b;--radius:18px;--serif:'Noto Serif KR',Georgia,serif;--sans:'DM Sans','Noto Sans KR',-apple-system,BlinkMacSystemFont,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b19262;outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.45}svg.ico{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.skip-link{position:fixed;top:-80px;z-index:50;padding:12px;background:var(--green);color:white}.skip-link:focus{top:0}
.demo-bar{height:32px;display:flex;align-items:center;justify-content:center;gap:7px;background:#e7e9dd;font-size:11px;color:#59614d;letter-spacing:.02em}.demo-dot{width:5px;height:5px;border-radius:50%;background:#849575}.demo-bar button{font-size:10px;padding:2px 9px;border-left:1px solid #c8cebc;margin-left:7px}.app-shell{display:flex;min-height:calc(100vh - 32px)}.sidebar{width:218px;flex:none;position:fixed;top:32px;bottom:0;padding:40px 24px 24px;border-right:1px solid var(--line);background:#f2f3eb;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px}.brand svg{width:38px;height:45px}.brand>span{font:600 24px var(--serif);letter-spacing:-1px}.brand small{display:block;font:8px var(--sans);letter-spacing:1.25px;margin-top:8px}.nav-label{font-size:9px;letter-spacing:1.8px;color:#92988b;margin:54px 14px 18px}nav button{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:13px 16px;border-radius:9px;margin-bottom:7px;font-size:13px;font-weight:500;color:#727b6f;transition:background .2s}nav button.active{color:var(--green);background:#e1e7db;font-weight:700}nav button:hover{background:#e8ebe1}.nav-count{margin-left:auto;min-width:20px;text-align:center;font-size:10px;background:#cfdbca;border-radius:5px}.sidebar-bottom{margin-top:auto;padding:40px 12px 0}.side-note{padding-bottom:34px}.tiny,.eyebrow{font-size:10px;letter-spacing:1.6px;text-transform:uppercase}.tiny{color:#919583}.side-note p{font:500 17px/1.8 var(--serif);margin:14px 0}.line-decoration{display:block;width:25px;height:1px;background:#b7c3aa;margin-top:20px}.sidebar-bottom a,.admin-link{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#7f8777;gap:10px;padding:10px 0;width:100%}.admin-link{border-top:1px solid var(--line)}.main-shell{margin-left:218px;min-width:0;flex:1}.topbar{max-width:1320px;margin:auto;height:86px;padding:0 48px;display:flex;align-items:center;justify-content:space-between}.desktop-breadcrumb{font-size:11px;color:#8c9285}.desktop-breadcrumb span{margin:0 13px;color:#c8cdbf}.desktop-breadcrumb b{font-weight:500;color:#525f4e}.top-actions{display:flex;align-items:center;gap:15px}.today-label{font-size:11px;color:#7d8475;margin-right:4px}.icon-button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;position:relative}.icon-button .new-dot{position:absolute;width:5px;height:5px;border-radius:50%;right:9px;top:6px;background:#b58d58}.avatar{width:34px;height:34px;background:#dddcc8;border-radius:50%;font-size:11px;color:#636c53}.mobile-brand{display:none}main{max-width:1320px;margin:auto;padding:10px 48px 32px;outline:none}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px;gap:12px}.page-heading h1{font:500 28px/1.5 var(--serif);letter-spacing:-1.2px;margin:0 0 6px}.page-heading p{margin:0;color:var(--muted);font-size:12px}.page-heading .eyebrow{color:var(--accent);margin-bottom:6px}.heading-action{font-size:11px;display:flex;align-items:center;gap:5px;white-space:nowrap;color:#7e866f}.heading-action svg{width:14px}
.hero{height:250px;background:#e9e9dd;border-radius:var(--radius);overflow:hidden;display:grid;grid-template-columns:1fr 1.08fr;position:relative;margin-bottom:30px}.hero-copy{padding:30px 34px;position:relative;z-index:1}.hero-copy .eyebrow{color:#8e997c;font-size:9px;letter-spacing:2px}.hero-copy h2{font:500 28px/1.65 var(--serif);letter-spacing:-1.2px;margin:11px 0 14px}.hero-copy p{font-size:11px;color:#738065;margin:0}.hero-copy .small-link{margin-top:17px}.small-link{display:inline-flex;align-items:center;gap:12px;font-size:11px;font-weight:600;padding:0}.small-link svg{width:16px;height:16px}.hero-photos{display:grid;grid-template-columns:1.3fr 1fr;gap:3px;position:relative;background:#c9c8b7}.hero-photos img{width:100%;height:250px;object-fit:cover}.hero-photos img:first-child{object-position:50% 65%}.hero-photos img:last-child{object-position:50% 48%}.photo-credit{position:absolute;right:16px;bottom:12px;color:white;font-size:8px;letter-spacing:.5px;text-shadow:0 1px 5px #000a}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:30px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px}.section-heading h2{font-size:17px;letter-spacing:-.5px;margin:0;font-weight:600}.section-heading p{font-size:11px;margin:3px 0 0;color:var(--muted)}.section-heading .date-small{font-size:11px;color:var(--muted)}.calendar{display:flex;gap:5px;margin-bottom:18px;border:1px solid var(--line);padding:9px;border-radius:13px;background:#fcfcf8}.day{flex:1;min-width:0;padding:8px 0 7px;border-radius:8px;text-align:center;line-height:1.3;color:#92998b}.day .weekday{font-size:10px;display:block;margin-bottom:8px}.day strong{display:block;font-size:17px;font-weight:500}.day .day-dot{display:block;width:3px;height:3px;background:#c3cbb8;border-radius:50%;margin:8px auto 0}.day.active{background:var(--green);color:#fff}.day.active .day-dot{background:#d5dec2}.day.today:not(.active){background:#edf0e5;color:var(--green)}.filter-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font-size:11px;border:1px solid var(--line);color:#818879;padding:5px 12px;border-radius:20px;background:#fcfcf9}.chip.active{background:#e7eddf;border-color:#d7e0ce;color:#436043}.hint{color:#8b917f;font-size:10px}.class-card{background:var(--paper);border:1px solid var(--line);border-radius:13px;margin-bottom:11px;overflow:hidden;transition:border-color .2s}.class-card:hover{border-color:#b7c3ac}.class-main{display:flex;align-items:center;gap:18px;padding:17px 18px}.class-time{width:57px;flex:none}.class-time strong{font:500 21px var(--sans);letter-spacing:-.4px;display:block;white-space:nowrap}.class-time small{font-size:10px;color:#93978a}.class-divider{width:1px;background:var(--line);align-self:stretch;margin:4px 0}.class-info{flex:1;min-width:0}.class-info h3{font-size:14px;font-weight:600;margin:0 0 5px;letter-spacing:-.3px}.class-info p{font-size:10px;color:#88907e;margin:0}.class-info .tag{margin-left:5px}.class-action{width:35px;height:35px;border:1px solid #dde5d4;border-radius:50%;display:grid;place-items:center;background:#f4f6ee;flex:none;color:#55754f}.class-action.saved{background:var(--green);border-color:var(--green);color:#fff}.class-action svg{width:17px;height:17px}.class-note{border-top:1px solid #e8e8dc;background:#f4f3e8;padding:7px 16px;font-size:10px;color:#8a8059;display:flex;align-items:center;gap:6px}.class-note svg{width:13px;height:13px}.tag{display:inline-block;vertical-align:middle;font-size:8px;font-weight:500;line-height:1.4;border-radius:3px;padding:3px 5px;background:#ecefe4;color:#71805f;white-space:nowrap}.tag.warm{background:#efe7d9;color:#a08057}.tag.outline{background:transparent;border:1px solid #cbd4c0}.info-row{display:flex;gap:7px;font-size:10px;color:#959b8b;margin:16px 0;align-items:flex-start}.info-row svg{width:14px;height:14px;flex:none;margin-top:1px}.weekend-card{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--paper)}.weekend-cover{height:139px;position:relative;overflow:hidden}.weekend-cover img{height:100%;width:100%;object-fit:cover;object-position:50% 55%;filter:brightness(.74)}.weekend-cover .overline{position:absolute;left:19px;top:17px;color:#fff;font-size:8px;letter-spacing:2px}.weekend-cover h3{position:absolute;left:19px;bottom:14px;margin:0;color:#fff;font:500 21px var(--serif)}.weekend-body{padding:18px}.weekend-body .session-line{display:flex;justify-content:space-between;align-items:center}.weekend-body h4{font-size:13px;margin:0 0 4px;font-weight:600}.muted{color:var(--muted)}.weekend-body p{margin:5px 0;font-size:10px;color:#8a917f}.capacity{margin:16px 0 14px}.capacity-line{display:flex;justify-content:space-between;font-size:10px;color:#87917b;margin-bottom:6px}.capacity-line b{color:#5c7055;font-weight:500}.progress{height:3px;background:#e8edde;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;background:#9aaa88}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:8px;padding:11px 16px;font-size:12px;font-weight:500;min-height:42px;transition:filter .2s}.btn:hover{filter:brightness(.95)}.btn.primary{color:#fff;background:var(--green)}.btn.secondary{background:#edf0e5;color:#586d4c;border:1px solid #dfe5d4}.btn.outline{border:1px solid #d8dece;background:transparent}.btn.danger{color:#956b52;background:#f1e7dc}.btn.full{width:100%}.btn .ico{width:16px;height:16px}.weekend-foot{font-size:9px;color:#969a8b;text-align:center;margin-top:8px}.mini-invitation{margin-top:15px;padding:20px;border:1px solid #e5e5d6;border-radius:15px;background:#eeeee2}.mini-invitation .eyebrow{font-size:8px;color:#9b9e88;letter-spacing:1.6px}.mini-invitation h3{font:500 16px/1.7 var(--serif);margin:9px 0;color:#687555}.mini-invitation p{font-size:10px;color:#999d88;margin:8px 0 0}.mini-invitation button{font-size:10px;color:#7e886c;display:flex;align-items:center;gap:5px;margin-top:12px;padding:0}.mini-invitation button svg{width:13px;height:13px}.community-section{margin-top:34px;padding-top:27px;border-top:1px solid var(--line)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.story-card{overflow:hidden;text-align:left;padding:0;display:block;width:100%}.story-image{height:170px;border-radius:12px;overflow:hidden;position:relative}.story-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.story-card:hover img{transform:scale(1.035)}.story-image span{position:absolute;left:12px;top:12px;font-size:8px;border:1px solid #ffffff80;background:#fffc;color:#59614e;padding:3px 8px;border-radius:4px}.story-card h3{font-size:12px;font-weight:500;margin:12px 0 3px;letter-spacing:-.2px}.story-card p{font-size:10px;color:#909783;margin:0}.story-image.community img{object-position:50% 54%}.story-image.growth img{object-position:50% 57%}.story-image.hatha img{object-position:50% 70%}.app-footer{max-width:1320px;margin:0 auto;padding:25px 48px 35px;color:#9aa08e;font-size:10px;display:flex;gap:12px;align-items:center}.app-footer span{margin-left:auto}.app-footer button{font-size:9px;color:#8e9582}.empty{padding:35px 20px;text-align:center;background:#f0f2e9;border:1px dashed #d9dfce;border-radius:14px}.empty p{font-size:12px;color:#7f8a72;line-height:1.9;margin:12px 0}.empty .ico{color:#889c7a;width:28px;height:28px}.empty .btn{margin-top:5px}.empty h3{font-size:14px;font-weight:500;margin:10px 0}.title-row{display:flex;align-items:center;gap:10px}.week-nav{display:flex;align-items:center;gap:13px;font-size:12px}.week-nav button{border:1px solid var(--line);width:30px;height:30px;border-radius:50%;display:grid;place-items:center}.week-nav svg{width:14px}.wide-calendar{max-width:none}.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px}.schedule-sidebar .studio-photo{height:260px;border-radius:16px;overflow:hidden;margin-bottom:20px;position:relative}.studio-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 65%}.studio-photo p{position:absolute;bottom:10px;left:20px;color:white;font:16px var(--serif);text-shadow:0 2px 6px #222}.schedule-tabs{display:flex;border-bottom:1px solid var(--line);gap:26px;margin-bottom:24px}.schedule-tabs button{padding:13px 0;font-size:13px;border-bottom:2px solid transparent;color:#929984;margin-bottom:-1px}.schedule-tabs button.active{border-color:var(--green);color:var(--green);font-weight:600}.weekend-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.weekend-list .weekend-cover{height:210px}.weekend-list .weekend-body{padding:22px}.weekend-list h4{font-size:16px}.weekend-list .session-line{align-items:flex-start}.text-banner{padding:15px 18px;background:#e9eddf;border-radius:10px;color:#798568;font-size:11px;display:flex;gap:10px;align-items:center;margin-bottom:22px}.text-banner .ico{flex:none;width:17px}.pending-cover{height:210px;background:#e4e7da;display:grid;place-content:center;text-align:center}.pending-cover svg{margin:0 auto 10px;width:36px;height:36px;color:#89987a}.pending-cover h3{font:500 22px var(--serif);margin:5px}.pending-cover p{font-size:10px;color:#899079}.plan-banner{padding:28px 30px;display:flex;gap:24px;align-items:center;border-radius:16px;background:#e8eddf;margin-bottom:26px}.plan-banner .large-number{font:500 49px var(--serif);color:#627451;line-height:1}.plan-banner h2{font-size:15px;font-weight:500;margin:0 0 5px}.plan-banner p{font-size:11px;color:#8a947d;margin:0}.plan-row{padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:13px;margin-bottom:14px}.plan-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.plan-row h3{font-size:15px;margin:8px 0 4px;font-weight:500}.plan-date{font-size:11px;color:#8d967f}.plan-meta{display:flex;gap:15px;font-size:11px;color:#87927a;align-items:center;flex-wrap:wrap}.plan-meta svg{width:14px;height:14px}.plan-meta button{display:flex;gap:5px;align-items:center;font-size:11px;color:#6a7d5b;padding:0}.plan-actions{margin-top:15px;display:flex;gap:10px;align-items:center}.text-button{font-size:11px;text-decoration:underline;text-underline-offset:3px;color:#8f9485;padding:4px}.plan-photo{border-radius:16px;overflow:hidden;position:relative;height:300px}.plan-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 56%}.plan-photo p{position:absolute;left:22px;bottom:17px;font:500 22px/1.7 var(--serif);color:#fff;text-shadow:0 2px 8px #0009}.quiet-card{background:#f0f1e8;border-radius:14px;padding:24px;margin-top:18px}.quiet-card h3{font:500 17px var(--serif);margin:0 0 10px}.quiet-card p{font-size:11px;color:#8b947d;margin:0}.community-hero{height:270px;border-radius:18px;overflow:hidden;position:relative;margin-bottom:28px}.community-hero img{width:100%;height:100%;object-fit:cover;object-position:center 63%;filter:brightness(.6)}.community-hero div{position:absolute;left:35px;bottom:30px;color:#fff}.community-hero h2{font:500 30px/1.6 var(--serif);margin:7px 0}.community-hero p{font-size:12px;color:#ffffffbf;margin:0}.community-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:28px}.feed{display:flex;flex-direction:column;gap:22px}.feed-card{background:var(--paper);border-radius:16px;overflow:hidden;border:1px solid var(--line)}.feed-image{width:100%;height:320px;object-fit:cover;object-position:50% 60%}.feed-image.poster{object-fit:contain;height:400px;background:#e9e5d9}.feed-body{padding:24px}.feed-head{display:flex;align-items:center;gap:8px;margin-bottom:15px;font-size:10px;color:#8d957f}.feed-head img{width:28px;height:28px;border-radius:50%}.feed-body h3{font-size:18px;letter-spacing:-.5px;font-weight:500;margin:0 0 10px}.feed-body p{font-size:12px;color:#849075;line-height:1.9;margin:0 0 16px}.feed-actions{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:14px;font-size:10px;color:#8b937c}.feed-actions button{display:flex;align-items:center;gap:5px;padding:0;font-size:10px}.feed-actions svg{width:15px;height:15px}.feed-actions button.liked{color:#ad8167}.feed-actions a{margin-left:auto}.poll-card{background:#eeeee0;border-radius:16px;padding:23px;margin-bottom:20px}.poll-card h3{font:500 19px/1.6 var(--serif);margin:10px 0}.poll-card p{font-size:11px;line-height:1.8;color:#8b917b;margin-bottom:18px}.poll-options{display:flex;flex-direction:column;gap:9px}.poll-option{border:1px solid #d9decc;border-radius:8px;padding:10px 11px;display:flex;align-items:center;gap:9px;background:#f7f7ed;font-size:11px;text-align:left}.poll-option.selected{border-color:#728c60;background:#e0e8d6}.poll-option .radio{width:13px;height:13px;border:1px solid #a6b097;border-radius:50%;flex:none}.poll-option.selected .radio{background:#788f61;box-shadow:inset 0 0 0 3px #edf1e4}.poll-hint{font-size:9px!important;margin-bottom:0!important}.poll-result{font-size:10px;color:#6c805b;margin-top:12px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:20px}.gallery button{padding:0;overflow:hidden;border-radius:9px;height:155px;position:relative}.gallery img{width:100%;height:100%;object-fit:cover;object-position:center 55%;transition:transform .3s}.gallery button:hover img{transform:scale(1.04)}.gallery span{position:absolute;bottom:8px;left:9px;font-size:8px;color:white;text-shadow:0 1px 5px #000}.contact-card{border:1px solid var(--line);border-radius:13px;padding:19px;font-size:11px;color:#859177}.contact-card h4{font-size:13px;color:var(--green);font-weight:500;margin:0 0 6px}.contact-card p{font-size:10px;margin:6px 0 14px}.contact-card a{display:flex;align-items:center;gap:8px;padding:6px 0}.contact-card svg{width:15px;height:15px}
#mobile-nav{display:none}dialog{border:0;padding:0;background:var(--paper);color:var(--ink);border-radius:22px;width:460px;max-width:calc(100% - 32px);max-height:90dvh;box-shadow:0 20px 90px #1d302633;overflow:auto}dialog::backdrop{background:#24352dc2;backdrop-filter:blur(5px)}.sheet-image{height:190px;position:relative;overflow:hidden}.sheet-image img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}.sheet-close{position:absolute;right:16px;top:16px;width:32px;height:32px;border-radius:50%;background:#fffefbe8;z-index:1;display:grid;place-items:center}.sheet-close .ico{width:16px;height:16px}.sheet-inner{padding:27px}.sheet-inner h2{font:500 24px/1.6 var(--serif);margin:10px 0 12px;letter-spacing:-.5px}.sheet-inner>p{font-size:12px;line-height:1.9;color:#859177}.sheet-meta{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 20px;font-size:12px;color:#728266}.sheet-meta span{display:flex;align-items:center;gap:5px}.sheet-meta svg{width:15px;height:15px}.sheet-inner .section-label{font-size:12px;margin:22px 0 10px;font-weight:500}.reminder-options{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.reminder-options button{flex:1;min-width:60px;border:1px solid var(--line);padding:10px 7px;border-radius:8px;font-size:11px;white-space:nowrap}.reminder-options button.selected{border-color:#79916c;background:#e9efdf;color:#55724b}.sheet-note{font-size:10px;color:#929b86;line-height:1.8;padding:11px 14px;background:#f0f2e8;border-radius:8px;margin:15px 0}.sheet-caption{text-align:center;font-size:10px;color:#9aa18d;margin:10px 0 0}.sheet-title{padding:25px 26px 0;position:relative}.sheet-title .sheet-close{top:20px}.sheet-title .eyebrow{padding-top:6px;color:#9aa18b}.sheet-title+.sheet-inner{padding-top:3px}.time-change{background:#f1eade;border-radius:8px;padding:13px;font-size:11px;color:#8b7954;margin-bottom:15px}.notification-item{border-bottom:1px solid var(--line);padding:15px 0}.notification-item:last-child{border-bottom:0}.notification-item h3{font-size:13px;margin:0 0 7px;font-weight:500}.notification-item p{margin:0;font-size:11px;color:#8c947e;line-height:1.8}.notification-item small{display:block;color:#a2a893;font-size:9px;margin-bottom:6px}.notification-item a{font-size:10px;text-decoration:underline;display:inline-block;margin-top:9px}.source-list{padding:0;list-style:none}.source-list li{margin:0;border-bottom:1px solid var(--line);padding:12px 0;font-size:11px;line-height:1.8}.source-list a{text-decoration:underline;text-underline-offset:3px}.source-list small{color:#8d9780;display:block}.form-field{display:block;font-size:11px;color:#7e8a70;margin:15px 0}.form-field input,.form-field select,.form-field textarea{display:block;margin-top:7px;width:100%;border:1px solid #d5deca;background:#fcfdf8;padding:11px 12px;border-radius:8px;color:var(--ink);font-size:12px}.form-field textarea{resize:vertical;min-height:70px}.form-error{font-size:11px;color:#a36041;min-height:18px}.checkbox-field{display:flex;align-items:center;gap:9px;font-size:11px;margin:12px 0;color:#7c8b6d}.checkbox-field input{accent-color:var(--green)}.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px}.admin-panel{background:#fffef9;border:1px solid var(--line);padding:24px;border-radius:15px}.admin-panel h2{font-size:16px;font-weight:500;margin:0 0 6px}.admin-panel p{font-size:11px;color:#929980}.admin-session{padding:17px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:15px;justify-content:space-between}.admin-session:last-child{border-bottom:0}.admin-session h3{font-size:13px;font-weight:500;margin:4px 0}.admin-session small{font-size:10px;color:#8b967d}.admin-session button{font-size:10px;border:1px solid var(--line);border-radius:6px;padding:7px 12px;white-space:nowrap}.notice-list{padding-left:17px;font-size:11px;color:#869479;line-height:2}.mode-banner{padding:13px 18px;background:#ede5d6;color:#8e7e59;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:24px}.mode-banner button{font-size:11px;text-decoration:underline}.lightbox-image{width:100%;max-height:60dvh;object-fit:contain;background:#e8e7dc}.quote{font:500 20px/1.9 var(--serif);padding:10px 0;color:#657c56}#toast{position:fixed;bottom:30px;left:calc(50% + 109px);transform:translate(-50%,15px);max-width:calc(100vw - 30px);border-radius:10px;background:#304e42;color:#fff;padding:13px 22px;font-size:12px;box-shadow:0 7px 20px #263c2826;z-index:100;opacity:0;pointer-events:none;transition:.2s;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.custom-reminder{display:flex;align-items:center;gap:10px;font-size:12px;margin-bottom:16px}.custom-reminder input{width:85px;border:1px solid var(--line);border-radius:7px;padding:8px;background:#fcfdf8}
@media(min-width:1700px){.topbar,main,.app-footer{max-width:1350px}.hero{height:280px}.hero-photos img{height:280px}.hero-copy{padding:39px}.hero-copy h2{font-size:31px}.content-grid{grid-template-columns:minmax(0,1fr) 320px}.story-image{height:205px}}
@media(max-width:1200px){.sidebar{width:190px;padding:34px 18px}.main-shell{margin-left:190px}.brand>span{font-size:22px}.brand svg{width:32px}.brand small{font-size:7px}.topbar,main,.app-footer{padding-left:30px;padding-right:30px}.content-grid{grid-template-columns:minmax(0,1fr) 255px;gap:22px}.hero-copy{padding:27px}.hero-copy h2{font-size:25px}.hero{grid-template-columns:1fr 1fr}.schedule-layout,.community-layout{grid-template-columns:minmax(0,1fr) 255px;gap:22px}.hero-photos{grid-template-columns:1fr}.hero-photos img:last-child{display:none}.class-main{gap:13px;padding:16px}.admin-grid{grid-template-columns:minmax(0,1fr) 270px}.story-image{height:145px}}
@media(max-width:1000px){.sidebar{width:165px;padding:28px 13px}.main-shell{margin-left:165px}.brand{gap:7px}.brand>span{font-size:19px}.brand small{font-size:6px;letter-spacing:.8px}.brand svg{width:29px}.nav-label{font-size:8px;letter-spacing:1px;margin-left:10px}nav button{font-size:11px;padding:12px 10px;gap:9px}.side-note p{font-size:15px}.topbar,main,.app-footer{padding-left:25px;padding-right:25px}.content-grid,.schedule-layout{grid-template-columns:minmax(0,1fr) 225px;gap:18px}.hero-copy{padding:25px}.hero-copy h2{font-size:23px}.hero-copy p{font-size:10px}.hero{height:235px}.hero-photos img{height:235px}.page-heading h1{font-size:25px}.section-heading h2{font-size:15px}.class-info h3{font-size:12px}.class-time strong{font-size:19px}.class-time{width:51px}.class-main{gap:11px;padding:14px 13px}.community-layout{grid-template-columns:minmax(0,1fr) 235px;gap:20px}.admin-grid{grid-template-columns:1fr}.story-image{height:130px}.hint{font-size:9px}.day strong{font-size:15px}#toast{left:calc(50% + 82px)}}
@media(max-width:800px){.sidebar{display:none}.main-shell{margin-left:0}.topbar{height:70px;padding:0 24px}.desktop-breadcrumb{display:none}.mobile-brand{display:flex;font:600 23px var(--serif);align-items:center;gap:9px;letter-spacing:-.8px}.mobile-brand span{font:9px var(--sans);letter-spacing:2px;margin-top:6px;color:#969e89}.today-label{display:none}.top-actions{gap:10px}.demo-bar{height:29px;font-size:10px}.demo-bar button{font-size:9px}.topbar .icon-button{width:31px;height:31px}.avatar{width:30px;height:30px}main{padding:8px 24px 25px}.page-heading{margin-bottom:22px}.page-heading h1{font-size:26px}.page-heading p{font-size:11px}.hero{height:240px;grid-template-columns:1fr 1fr}.hero-copy h2{font-size:24px}.hero-photos img{height:240px}.content-grid,.schedule-layout{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.community-layout{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.app-footer{padding:20px 24px 110px;font-size:9px}.app-footer button{font-size:8px}.app-footer span{display:none}#mobile-nav{position:fixed;left:0;right:0;bottom:0;background:#fdfef9f5;backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;justify-content:space-around;align-items:center;z-index:10;padding:8px 10px max(8px,env(safe-area-inset-bottom))}#mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:9px;width:auto;flex:1;padding:5px;margin:0;border-radius:0;color:#939c85}#mobile-nav button.active{background:transparent;color:var(--green)}#mobile-nav button .ico{width:20px;height:20px}#mobile-nav .nav-count{display:none}#mobile-nav button.active::before{content:'';position:absolute;top:0;width:22px;height:2px;background:var(--green)}#toast{left:50%;bottom:86px}.admin-mode-mobile{display:inline-flex}.app-footer{gap:9px}}
@media(max-width:650px){.content-grid,.schedule-layout,.community-layout{grid-template-columns:1fr}.page-heading h1{font-size:24px}.page-heading .heading-action{font-size:10px}.hero{height:218px;margin-bottom:26px;grid-template-columns:1fr 1fr}.hero-copy{padding:24px}.hero-copy h2{font-size:22px;line-height:1.65;margin:12px 0 14px}.hero-copy p{font-size:10px;line-height:1.9}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.3px}.hero-photos img{height:218px}.hero-copy .small-link{margin-top:13px;font-size:10px}.photo-credit{right:9px;bottom:8px;font-size:7px}.home-aside{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;margin-top:6px}.home-aside .mini-invitation{margin-top:0;height:100%;padding:20px}.home-aside .weekend-cover{height:105px}.weekend-body{padding:16px}.weekend-body h4{font-size:12px}.home-aside .mini-invitation h3{font-size:18px;line-height:1.9;margin-top:20px}.community-section{margin-top:28px;padding-top:22px}.photo-grid{gap:12px}.story-image{height:135px}.story-card h3{font-size:11px;line-height:1.8}.story-card p{font-size:9px}.class-main{padding:18px;gap:17px}.class-time strong{font-size:22px}.class-time{width:58px}.class-info h3{font-size:14px}.class-info p{font-size:11px}.section-heading h2{font-size:17px}.day strong{font-size:18px}.calendar{padding:8px;gap:4px}.class-action{width:37px;height:37px}.filter-row{margin-bottom:13px}.hint{font-size:10px}.schedule-sidebar{margin-top:12px}.schedule-sidebar .studio-photo{height:210px}.schedule-sidebar .quiet-card{margin-top:12px}.weekend-list{gap:15px}.weekend-list .weekend-cover,.pending-cover{height:165px}.weekend-list .weekend-body{padding:17px}.weekend-list h4{font-size:14px}.community-hero{height:235px}.community-hero div{left:25px;bottom:24px}.community-hero h2{font-size:26px}.community-hero p{font-size:11px}.community-layout>aside{display:flex;flex-direction:column}.poll-card{order:-1}.feed-image{height:320px}.community-layout .gallery{grid-template-columns:repeat(4,1fr)}.community-layout .gallery button{height:150px}.plan-banner{padding:24px;gap:22px}.plan-photo{height:260px}.plan-photo img{object-position:50% 60%}.sheet-inner{padding:24px}.admin-panel{padding:21px}.text-banner{font-size:10px}.app-footer{padding-bottom:100px}.hero-photos img:first-child{object-position:47% 63%}.quiet-card.mobile-hide{display:none}}
@media(max-width:420px){main{padding:6px 18px 20px}.topbar{padding:0 18px}.demo-bar{font-size:9px;gap:4px}.demo-detail{font-size:8px}.demo-bar button{font-size:8px;padding:2px 7px}.page-heading h1{font-size:22px}.page-heading p{font-size:10px}.heading-action{font-size:9px!important;gap:2px}.hero{height:205px;grid-template-columns:1.08fr 1fr;border-radius:14px}.hero-copy{padding:21px 17px}.hero-copy h2{font-size:20px;letter-spacing:-.9px;margin:11px 0 12px}.hero-copy .eyebrow{font-size:7px;letter-spacing:1px}.hero-copy p{font-size:9px}.hero-copy .small-link{font-size:9px;gap:5px;margin-top:12px}.hero-photos img{height:205px}.photo-credit{font-size:6px}.class-main{gap:12px;padding:16px 14px}.class-time{width:54px}.class-time strong{font-size:20px}.class-info h3{font-size:13px}.class-info p{font-size:10px}.class-action{width:33px;height:33px}.home-aside{grid-template-columns:1fr}.home-aside .weekend-card{display:grid;grid-template-columns:110px 1fr}.home-aside .weekend-cover{height:auto;min-height:205px}.home-aside .weekend-cover img{height:100%;position:absolute;object-position:50% 60%}.home-aside .weekend-cover h3{font-size:17px;left:13px;right:10px;bottom:20px;line-height:1.8}.home-aside .weekend-cover .overline{font-size:7px;left:13px;top:20px;letter-spacing:1px}.home-aside .weekend-body{padding:17px}.home-aside .mini-invitation{padding:18px 20px;position:relative}.home-aside .mini-invitation h3{font-size:16px;line-height:1.7;margin:8px 0}.home-aside .mini-invitation h3 br{display:none}.home-aside .mini-invitation p{font-size:10px}.home-aside .mini-invitation button{position:absolute;right:20px;top:10px}.photo-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.photo-grid .story-card:last-child{display:none}.story-image{height:155px}.story-card h3{font-size:11px}.hint{font-size:9px}.chip{font-size:10px;padding:5px 11px}.section-heading .date-small{font-size:10px}.day{padding:8px 0 5px}.day .weekday{font-size:9px}.calendar{padding:6px}.day strong{font-size:16px}.week-nav{font-size:11px;gap:8px}.schedule-tabs{gap:23px}.schedule-tabs button{font-size:12px}.weekend-list{grid-template-columns:1fr}.weekend-list .weekend-cover,.pending-cover{height:190px}.weekend-list .weekend-body{padding:21px}.weekend-list h4{font-size:15px}.community-hero{height:220px}.community-hero h2{font-size:24px}.community-hero div{left:22px}.community-hero p{font-size:10px}.feed-body{padding:21px}.feed-body h3{font-size:17px}.feed-image{height:280px}.community-layout .gallery{grid-template-columns:repeat(2,1fr)}.plan-banner .large-number{font-size:43px}.plan-banner{padding:22px;gap:20px}.plan-banner h2{font-size:13px}.plan-banner p{font-size:10px}.plan-row{padding:18px}.plan-row h3{font-size:14px}.plan-meta{font-size:10px}.plan-meta button{font-size:10px}.app-footer{padding-left:18px;padding-right:18px}.app-footer button{margin-left:auto}dialog{max-width:calc(100% - 20px);border-radius:18px}.sheet-inner{padding:22px}.sheet-inner h2{font-size:23px}.sheet-image{height:165px}.mode-banner{font-size:10px}.mode-banner button{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Readable secondary text and touch targets on smaller screens. */
.class-time small,.class-info p,.hint,.day{color:#737f69}.day.active{color:#fff}.sheet-caption,.weekend-foot{color:#818d73}.photo-credit{bottom:15px} .hero-photos{min-height:0}
@media(max-width:650px){.hero-photos img:first-child{object-position:50% 100%}.class-action{width:44px;height:44px}.class-main{gap:12px}.class-action .ico{width:18px;height:18px}.demo-bar,.demo-detail{font-size:10px}.demo-bar button{font-size:9px}.hero-copy .eyebrow{color:#7e8c6c}}
@media(max-width:360px){.page-heading{align-items:flex-start}.page-heading h1{font-size:20px}.heading-action{font-size:9px!important}.hero-copy{padding:20px 13px}.hero-copy h2{font-size:18px}.hero-copy .eyebrow{font-size:6px}.class-main{padding:14px 11px;gap:10px}.class-time{width:49px}.class-info h3{font-size:12px}.class-info p{font-size:9px}.class-action{width:40px;height:40px}.hint{font-size:8px}.demo-bar,.demo-detail{font-size:9px}.hero-copy p{font-size:8px}.app-footer{font-size:8px}}

@media(max-width:420px){.hero-photos img:first-child{height:280px;margin-top:-65px;object-position:50% 80%}}
@media(max-width:360px){.hero-long{display:none}.page-heading{flex-wrap:wrap}.page-heading>div{width:100%}.page-heading>.heading-action{display:none}.hero-copy h2{word-break:keep-all}.hero-copy .small-link{font-size:9px}}

@media(max-width:420px){.hero-photos img:first-child{height:300px;margin-top:-80px}}

/* Bright studio edition: a compact home and four clear destinations. */
:root{--bg:#fffdf8;--paper:#fff;--ink:#244d40;--muted:#778078;--green:#27644e;--sage:#edf6ea;--line:#e8ece5;--sand:#fff4d9;--accent:#ae8762}
body{background:var(--bg);font-size:14px}.app-shell{display:block;min-height:calc(100vh - 30px)}.main-shell{margin-left:0}.demo-bar{background:#f4f3e8;color:#747c6a;height:28px;font-size:10px}.demo-detail{font-size:10px}.demo-bar button{font-size:10px}.demo-dot{background:#a2b58c}.topbar{height:94px;max-width:1040px;padding:0 35px;gap:26px;border-bottom:1px solid var(--line)}.brand{gap:11px;flex:none}.brand>img{width:38px;height:38px}.brand>span{font-size:22px;letter-spacing:-.8px}.brand small{font:10px var(--sans);letter-spacing:.5px;color:#829580;margin-top:5px}.top-actions{gap:11px}.avatar{background:#f3e7d0;color:#876f4d;width:35px;height:35px}.icon-button{background:#fff;width:35px;height:35px}.topbar #desktop-nav{display:flex;justify-content:center;gap:10px;margin-left:auto;margin-right:auto}.topbar nav button{width:auto;padding:11px 15px;margin:0;font-size:13px;font-weight:500;gap:7px;white-space:nowrap;border-radius:25px;background:transparent;color:#869281}.topbar nav button>.ico{display:none}.topbar nav button.active{background:#eaf4e6;color:#346546;font-weight:600}.nav-count{margin-left:0;background:#dcebcf;min-width:17px;font-size:9px}.nav-label,.sidebar,.sidebar-bottom,.today-label,.desktop-breadcrumb{display:none}main{max-width:970px;padding:35px 35px 25px}.page-heading{margin-bottom:26px;align-items:center}.page-heading h1{font:500 27px/1.5 var(--serif);letter-spacing:-1px}.page-heading p{font-size:12px;color:#7c8878;margin-top:8px}.heading-action{font-size:12px}.section-heading h2{font-size:17px;font-weight:600;letter-spacing:-.4px}.section-heading p{font-size:12px;line-height:1.7;color:#85907f;margin-top:6px}.small-link{font-size:12px;gap:7px;color:#65865e;font-weight:500}.app-footer{max-width:970px;padding:24px 35px 30px;display:flex;justify-content:space-between;font-size:10px;color:#98a18f;gap:10px}.app-footer>span{margin:0}.app-footer>div{display:flex;gap:16px}.app-footer button{font-size:10px;color:#85937a;padding:0}.app-footer button:hover{text-decoration:underline}.home-kicker{font-size:11px;color:#8c9980;display:flex;align-items:center;gap:7px;margin:0 0 16px}.home-kicker .ico{width:15px;height:15px;color:#96b17d}.home-kicker span{margin-left:auto;font-size:11px;color:#99a18c}.welcome-card{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:35px;padding:25px 30px 0 36px;border-radius:22px;background:#fff5d9;overflow:hidden;align-items:end;margin-bottom:30px}.welcome-copy{padding-bottom:24px}.welcome-copy .eyebrow{font-size:9px;letter-spacing:1.8px;color:#af9e71}.welcome-copy h1{font:500 30px/1.6 var(--serif);letter-spacing:-1.2px;margin:13px 0 13px;color:#385e45}.welcome-copy p{color:#8d9476;font-size:12px;line-height:1.85;margin:0}.welcome-copy p br{display:none}.welcome-copy .small-link{margin-top:19px;font-size:11px;color:#7c9568}.director-photo{position:relative;display:block;aspect-ratio:617/580;background:#e8ebd9;overflow:hidden;border:0;padding:0;isolation:isolate}.director-photo img{position:absolute;width:156.56%;max-width:none;left:-23.66%;top:-54.65%;height:auto;filter:none;object-fit:fill}.welcome-card>.director-photo{width:265px;border-radius:150px 150px 0 0}.director-name{position:absolute;top:19px;left:50%;transform:translateX(-50%);font-size:9px;border:1px solid #ffffff70;background:#fff9;color:#476551;padding:3px 10px;border-radius:20px;white-space:nowrap}.home-classes{margin-top:5px}.today-classes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.class-card{border:1px solid var(--line);border-radius:13px;background:#fff;margin-bottom:12px}.class-main{padding:20px 17px;gap:14px}.class-time{width:56px}.class-time strong{font-size:22px;color:#365749}.class-time small{color:#8e9984;font-size:11px}.class-info h3{font-size:14px;letter-spacing:-.4px}.class-info p{font-size:11px;color:#899480}.class-divider{background:#edf0e6}.class-action{width:39px;height:39px;background:#f2f8ed;border:1px solid #dfebd4;color:#6a8e56}.class-action.saved{background:#5f8651;color:#fff;border-color:#5f8651}.class-note{font-size:11px;color:#9b8054;background:#fff8e6}.class-note .ico{width:15px;height:15px}.home-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:5px}.home-shortcut{display:flex;align-items:center;gap:13px;text-align:left;padding:16px 18px;border:1px solid #edf0e6;background:#f8fbf3;border-radius:13px}.home-shortcut:last-child{background:#fff8ed;border-color:#f3ecdf}.shortcut-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#eaf3df;color:#7d9b65;flex:none}.shortcut-icon.peach{background:#faebd7;color:#ba9871}.shortcut-icon .ico{width:18px;height:18px}.home-shortcut>span:nth-child(2){flex:1;min-width:0}.home-shortcut small{font-size:10px;color:#93a181;display:block;margin-bottom:3px}.home-shortcut strong{font-size:12px;font-weight:500;color:#708663;display:block}.home-shortcut>.ico{width:15px;color:#a9b59b}.home-shortcut:hover{border-color:#c9dcb8}.class-card:hover{border-color:#b9d2aa}
/* Schedule and personal plans keep their original behavior. */
.calendar{background:#fff;border-color:#e6eddc;padding:8px}.day{color:#849279}.day.active{background:#70965a;color:white}.day.today:not(.active){background:#eef6e6}.day strong{font-size:18px}.day .weekday{font-size:11px}.chip{background:#fff;border:1px solid #e6ecde;font-size:12px;color:#829077;padding:6px 13px}.chip.active{background:#eaf4df;color:#5f814d;border-color:#dce9cb}.filter-row .hint{font-size:11px;color:#94a087}.info-row{font-size:11px;line-height:1.8;color:#8f9c81}.schedule-layout{grid-template-columns:minmax(0,1fr) 255px;gap:28px}.schedule-sidebar .studio-photo{height:220px}.quiet-card{background:#f2f8eb;padding:22px}.quiet-card h3{font-size:17px;color:#64834d}.quiet-card p{font-size:12px;color:#879676;line-height:1.9}.schedule-tabs{gap:25px}.schedule-tabs button{font-size:13px;color:#95a085}.schedule-tabs button.active{color:#5a7f48;border-color:#87a969}.text-banner{background:#f3f8ec;color:#8a9a78;font-size:11px;line-height:1.9}.weekend-list{gap:22px}.weekend-card{border-color:#e6eddc;box-shadow:none;border-radius:16px}.weekend-cover img{filter:brightness(.9)}.weekend-cover .overline{font-size:9px;text-shadow:0 1px 3px #0009}.weekend-cover h3{text-shadow:0 2px 10px #0009;font-size:23px}.weekend-body p{font-size:11px;color:#8c997c}.weekend-body h4{font-weight:500}.weekend-foot{font-size:10px;color:#97a187}.capacity-line{font-size:11px}.capacity-line b{color:#7f9d65}.progress{background:#f0f5e7;height:4px}.progress span{background:#a7c283}.tag{font-size:10px;border-radius:5px;color:#7a975e;background:#eff6e4;padding:3px 7px}.tag.warm{background:#fff0d4;color:#ae8d56}.pending-cover{background:#f2f7e9}.plan-banner{background:#f0f7e8;border-radius:16px}.plan-banner .large-number{color:#86a56c}.plan-banner p{font-size:12px}.plan-date{font-size:12px;color:#8c9a7c}.plan-row{border-color:#e7ecdf}.plan-row h3{font-size:16px}.plan-meta,.plan-meta button{font-size:12px}.plan-photo{height:280px}.plan-photo p{font-size:23px}.btn{border-radius:9px;font-size:12px;min-height:43px;padding:11px 15px}.btn.primary{background:#688e54}.btn.secondary{color:#6b8e53;background:#f0f7e6;border-color:#e1edd2}.btn.danger{background:#fff0e7;color:#a67854}.empty{background:#f8fbf2;border-color:#dce8cf}.empty p{color:#8c9d7b;font-size:12px}.empty h3{color:#72905e}.admin-panel{background:#fff;border-color:#e6eddc}.mode-banner{background:#fff5df;color:#a68e61}.admin-grid{grid-template-columns:minmax(0,1fr) 290px}.notice-list{color:#8a9a78}.time-change{background:#fff6df;color:#a18d5a}.app-footer span{display:block}
/* Conversation is the primary community view. */
.community-tabs{display:flex;gap:28px;border-bottom:1px solid #e4ecdd;margin-bottom:23px}.community-tabs button{font-size:13px;padding:11px 1px 15px;color:#9ca58f;position:relative}.community-tabs button.active{color:#65884f;font-weight:600}.community-tabs button.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#89ab6b}.write-button{padding:10px 16px;min-height:40px}.composer-prompt{display:flex;align-items:center;gap:12px;width:100%;padding:15px 18px;background:#f8faf2;border:1px solid #e7eddd;border-radius:12px;text-align:left;color:#a1ad94;font-size:13px;margin-bottom:22px}.composer-prompt>.ico{margin-left:auto;color:#92aa76;width:18px;height:18px}.member-avatar{width:33px;height:33px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e9f2dd;color:#86a166;font-size:12px;font-weight:500}.member-avatar.question{background:#eaf2e6;color:#7b9866}.member-avatar.together{background:#fff0d8;color:#b19a6b}.member-avatar.daily{background:#f4e9de;color:#b69b81}.member-avatar.small{width:27px;height:27px;font-size:10px}.talk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px}.talk-toolbar .chips{gap:7px}.talk-count{font-size:10px;color:#a3ac99;white-space:nowrap}.community-demo{font-size:10px;color:#a2ad98;margin:13px 0 9px;line-height:1.8}.talk-list{background:#fff;border:1px solid #e8eee1;border-radius:15px;overflow:hidden}.post-card{padding:23px 26px;border-bottom:1px solid #edf0e7}.post-card:last-child{border-bottom:0}.post-author{display:flex;align-items:center;gap:10px;margin-bottom:15px}.post-author>span:nth-child(2){display:flex;flex-direction:column;gap:2px}.post-author b{font-size:11px;font-weight:500;color:#6d825d}.post-author small{font-size:9px;color:#aab29e}.category-label{font-size:10px;padding:3px 8px;border-radius:5px;background:#f1f6e8;color:#8aa36f;white-space:nowrap}.post-author>.category-label{margin-left:auto}.category-label.together{background:#fff4de;color:#ad9965}.category-label.daily{background:#f8efe5;color:#b29b7c}.post-body{display:flex;gap:20px;align-items:center;text-align:left;width:100%;padding:0}.post-body>div{min-width:0;flex:1}.post-body h3{font-size:15px;letter-spacing:-.3px;font-weight:500;color:#507044;margin:0 0 9px;line-height:1.7}.post-body p{font-size:12px;color:#94a087;line-height:1.85;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-body img{width:100px;height:75px;object-fit:cover;object-position:50% 66%;border-radius:8px;flex:none}.post-actions{display:flex;align-items:center;gap:20px;margin-top:18px;color:#9caa8a;flex-wrap:wrap}.post-actions button{display:inline-flex;align-items:center;gap:6px;font-size:10px;padding:0;color:#9cac89;min-height:24px}.post-actions .ico{width:15px;height:15px}.post-actions button.liked{color:#c89a7c}.post-actions button.liked .ico{fill:#fbe5d5}.post-actions button.join-button{margin-left:auto;font-size:10px;border-radius:5px;background:#f2f7e9;padding:4px 9px;color:#91a872}.post-actions button.joined{background:#e8f1dc;color:#729851}.post-actions .post-own-menu{margin-left:auto}.community-etiquette{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:22px;font-size:10px;color:#a2ad95}.community-etiquette .ico{width:13px;height:13px}.news-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:25px}.news-list{display:flex;flex-direction:column;gap:20px}.news-director{display:flex;align-items:center;gap:20px;text-align:left;padding:0;background:#fff5de;border-radius:14px;overflow:hidden}.news-director .director-photo{width:115px;flex:none}.news-director>span{flex:1;padding:15px 16px 15px 0;display:flex;flex-direction:column;gap:7px}.news-director small{font-size:10px;color:#ae9f77}.news-director strong{font:500 16px/1.7 var(--serif);color:#658051;letter-spacing:-.3px}.news-director em{font-size:9px;color:#9baa84;font-style:normal}.notice-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:23px}.notice-card .muted{font-size:10px}.notice-card h3{font:500 18px/1.7 var(--serif);margin:12px 0;color:#688250;letter-spacing:-.4px}.notice-card p{font-size:12px;color:#98a389;line-height:1.9}.notice-content{display:flex;gap:22px;align-items:center}.notice-content>div{min-width:0}.notice-poster{width:130px;flex:none;padding:0;overflow:hidden;border-radius:10px}.notice-poster img{width:100%;height:170px;object-fit:cover;object-position:50% 25%}.source-link{display:block;font-size:9px;color:#9dab8a;margin-top:17px;text-align:right}.poll-card{background:#f4f8ec;border:1px solid #e6eedc;padding:22px}.poll-card h3{font-size:20px;color:#78945f}.poll-card p{font-size:11px;color:#9aa98a}.poll-option{background:#fff;border-color:#e1eacd;font-size:11px;padding:11px}.poll-option.selected{background:#e8f3d7;border-color:#b1c991;color:#83a062}.poll-result{font-size:10px;color:#90a876;line-height:1.8}.contact-card{background:#fff;border-color:#e6eddc;color:#95a585}.contact-card h4{color:#7b9764}.contact-card a{font-size:11px}.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 18px}.photo-gallery .story-card:last-child{display:block}.photo-gallery .story-image{height:230px}.story-card h3{font-size:12px;color:#78905f;margin-top:12px}.story-card p{font-size:10px;color:#9da98e}.story-image span{font-size:9px;background:#fff9;border:0;color:#6d805c}.director-original{position:relative}.director-original>img{width:100%}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.post-detail h2{font:500 21px/1.6 var(--sans);color:#5e7b4c;margin:16px 0 18px;letter-spacing:-.5px}.post-detail .post-author{margin-bottom:23px}.post-full-text{font-size:13px!important;line-height:2!important;white-space:pre-wrap;color:#8f9e80!important}.post-detail-photo{width:100%;height:200px;object-fit:cover;object-position:center 65%;border-radius:10px;margin:18px 0}.linked-session{border:1px solid #e2ebd8;background:#f5f9ec;border-radius:9px;display:flex;align-items:center;gap:8px;font-size:11px;color:#88a16c;text-align:left;padding:12px;width:100%;margin:18px 0}.linked-session .ico{width:15px;height:15px;flex:none}.linked-session .ico:last-child{margin-left:auto}.reply-heading{font-size:12px;color:#8b9d76;margin-top:26px;border-top:1px solid #e8eedf;padding-top:23px}.reply-heading span{color:#a9ba91}.reply{display:flex;gap:9px;padding:16px 0;border-bottom:1px solid #f0f3e9}.reply>div{flex:1;min-width:0}.reply-meta{display:flex;align-items:center;gap:9px}.reply-meta b{font-size:11px;color:#809969;font-weight:500}.reply-meta small{font-size:9px;color:#b0bba1}.reply p{font-size:12px;line-height:1.9;color:#91a17d;margin:7px 0;white-space:pre-wrap;overflow-wrap:anywhere}.reply-link{font-size:9px;color:#a5b295;padding:0;margin-right:15px}.reply-empty{font-size:11px;color:#a5b394;padding:15px 0}#reply-form{margin-top:20px}#reply-text{resize:vertical;min-height:80px;width:100%;border:1px solid #dfe9d4;background:#fbfcf7;border-radius:9px;padding:12px;font-size:12px;color:#789363}#reply-text::placeholder{color:#abb79b}.reply-compose-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}.reply-compose-bottom>span{font-size:9px;color:#a1b08f}.reply-compose-bottom .btn{font-size:11px;min-height:36px;padding:8px 12px}.sheet-note{background:#f4f8eb;color:#9aaa88;font-size:11px}.sheet-caption{font-size:10px;color:#9cab8e}.sheet-inner>p{font-size:12px;color:#8f9f7e}.form-field{font-size:11px;color:#93a47e}.form-field input,.form-field select,.form-field textarea{border-color:#dfebd3;background:#fcfef8;color:#78995f;font-size:12px}.form-field textarea{line-height:1.8}.form-field input::placeholder,.form-field textarea::placeholder{color:#b0bea0}.reminder-options button{font-size:12px;border-color:#e0eace;color:#91a976}.reminder-options button.selected{background:#edf6de;border-color:#afc98c;color:#7e9e5e}.text-button{color:#98a985}.notification-item p{font-size:12px;color:#95a580}.notification-item small{font-size:10px;color:#b2bea1}dialog{background:#fffef9;width:480px;border-radius:19px;box-shadow:0 30px 80px #4b5d2820}dialog::backdrop{background:#42523855;backdrop-filter:blur(5px)}.sheet-close{border:1px solid #edf0e3}.sheet-inner h2{color:#688453}.sheet-title .eyebrow{font-size:9px;color:#a1b08d}.sheet-meta{font-size:12px;color:#8aa570}#toast{left:50%;background:#66894e;color:#fff;box-shadow:0 8px 25px #54723820;font-size:12px}.source-list li{color:#8da079}.source-list small{color:#a6b496}
@media(min-width:1700px){main,.app-footer{max-width:1000px}.topbar{max-width:1070px}}
@media(max-width:1000px){.topbar{padding:0 30px}.main-shell{margin-left:0}main,.app-footer{padding-left:30px;padding-right:30px}.brand>span{font-size:22px}.brand small{font-size:10px}.today-classes{gap:13px}.class-main{padding:18px 14px;gap:12px}.class-info h3{font-size:13px}.class-info p{font-size:10px}.class-time strong{font-size:21px}.class-time{width:54px}.home-shortcut{padding:15px 14px}.topbar nav button{padding:10px 12px}.topbar #desktop-nav{gap:5px}}
@media(max-width:800px){.topbar{height:80px;padding:0 24px}.topbar #desktop-nav{display:none}.brand>img{width:34px;height:34px}.brand>span{font-size:21px}.brand small{font-size:9px}.top-actions{margin-left:auto}.topbar .icon-button,.avatar{width:33px;height:33px}main{padding:25px 24px 20px}.app-footer{padding:22px 24px 100px;max-width:970px}.welcome-card{grid-template-columns:minmax(0,1fr) 240px;gap:20px;padding:23px 25px 0 30px}.welcome-card>.director-photo{width:240px}.welcome-copy h1{font-size:28px}.today-classes{grid-template-columns:1fr 1fr;gap:12px}.class-main{padding:18px 14px;gap:10px}.class-info h3{font-size:13px}.class-info p{font-size:10px}.class-time strong{font-size:20px}.class-time{width:50px}.class-action{width:36px;height:36px}.schedule-layout{grid-template-columns:minmax(0,1fr) 230px;gap:23px}.news-layout{grid-template-columns:minmax(0,1fr) 230px;gap:20px}.notice-card{padding:19px}.notice-content{gap:15px}.notice-poster{width:105px}.notice-content h3{font-size:16px}.notice-content p{font-size:11px}.notice-content .btn{padding:10px;font-size:10px}.news-director{gap:15px}.news-director .director-photo{width:95px}.news-director strong{font-size:14px}.home-shortcut strong{font-size:11px}.home-shortcut small{font-size:9px}.home-shortcut{gap:10px}.community-tabs{gap:25px}#mobile-nav{background:#fffefbf5;border-color:#e6eddd;padding:9px 15px max(9px,env(safe-area-inset-bottom))}#mobile-nav button{font-size:10px;color:#9caa8b;gap:5px}#mobile-nav button.active{color:#6d9254}#mobile-nav button .ico{width:21px;height:21px}#mobile-nav button.active::before{background:#8eae72}#toast{bottom:90px;left:50%}}
@media(max-width:650px){.schedule-layout,.news-layout{grid-template-columns:1fr}.today-classes{grid-template-columns:1fr;gap:0}.welcome-card{grid-template-columns:minmax(0,1fr) 195px;padding:23px 0 0 25px;gap:12px;align-items:end}.welcome-card>.director-photo{width:195px}.welcome-copy{padding-bottom:24px}.welcome-copy h1{font-size:27px;margin:12px 0}.welcome-copy p{font-size:11px}.welcome-copy p br{display:block}.welcome-copy .small-link{margin-top:17px;font-size:10px}.welcome-copy .eyebrow{font-size:8px;letter-spacing:1.3px}.director-name{top:15px;font-size:8px}.class-main{padding:19px 20px;gap:18px}.class-info h3{font-size:14px}.class-info p{font-size:11px}.class-time{width:57px}.class-time strong{font-size:22px}.class-action{width:42px;height:42px}.home-shortcuts{grid-template-columns:1fr;gap:10px;margin-top:3px}.home-shortcut{padding:14px 17px;gap:13px}.home-shortcut strong{font-size:12px}.home-shortcut small{font-size:10px}.shortcut-icon{width:34px;height:34px}.page-heading h1{font-size:25px}.page-heading p{font-size:11px}.write-button{font-size:11px;padding:9px 12px;min-height:38px}.community-tabs{gap:26px;margin-bottom:20px}.community-tabs button{font-size:12px}.talk-toolbar{align-items:flex-start;gap:7px}.talk-count{display:none}.talk-toolbar .chip{font-size:11px;padding:6px 11px}.community-demo{font-size:9px}.composer-prompt{padding:13px 15px;font-size:12px}.post-card{padding:22px 20px}.post-body{gap:15px}.post-body h3{font-size:14px}.post-body p{font-size:11px}.post-body img{width:75px;height:70px}.post-actions{font-size:10px;margin-top:15px}.post-author{margin-bottom:14px}.post-author b{font-size:11px}.post-author small{font-size:9px}.category-label{font-size:9px}.news-layout>aside{display:flex;flex-direction:column}.news-director .director-photo{width:120px}.news-director strong{font-size:18px}.news-director small{font-size:11px}.news-director em{font-size:10px}.notice-card{padding:23px}.notice-content{gap:23px}.notice-poster{width:135px}.notice-content h3{font-size:20px}.notice-content p{font-size:12px}.notice-content .btn{font-size:11px;padding:10px 13px}.photo-gallery{grid-template-columns:repeat(2,1fr);gap:22px 15px}.photo-gallery .story-image{height:220px}.schedule-sidebar .studio-photo{height:230px}.schedule-sidebar .quiet-card{display:none}.schedule-sidebar{margin-top:10px}.plan-banner{padding:24px}.plan-banner p{font-size:11px}.sheet-inner{padding:23px}.app-footer>div{gap:12px}.app-footer>span{font-size:9px}.app-footer button{font-size:9px}}
@media(max-width:420px){.demo-bar,.demo-detail{font-size:9px}.demo-bar button{font-size:9px}.topbar{padding:0 20px;height:73px}.brand>img{width:31px;height:31px}.brand>span{font-size:20px}.brand small{font-size:8px}.top-actions{gap:8px}main{padding:20px 20px 15px}.home-kicker{font-size:10px;margin-bottom:14px}.home-kicker span{font-size:10px}.welcome-card{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);padding:22px 0 0 21px;gap:10px;border-radius:17px;margin-bottom:25px}.welcome-card>.director-photo{width:100%;border-radius:100px 100px 0 0}.welcome-copy{padding-bottom:23px}.welcome-copy h1{font-size:23px;line-height:1.65;letter-spacing:-1.3px;margin:11px 0 10px;word-break:keep-all}.welcome-copy p{font-size:10px;line-height:1.9}.welcome-copy .eyebrow{font-size:6.5px;letter-spacing:.9px}.welcome-copy .small-link{font-size:9px;gap:3px;margin-top:16px}.welcome-copy .small-link .ico{width:13px}.director-name{font-size:7px;top:12px;padding:2px 7px}.section-heading h2{font-size:16px}.section-heading p{font-size:10px}.section-heading .small-link{font-size:11px}.home-classes .section-heading{margin-bottom:14px}.class-main{padding:17px 15px;gap:14px}.class-time{width:52px}.class-time strong{font-size:21px}.class-time small{font-size:10px}.class-info h3{font-size:13px}.class-info p{font-size:10px}.class-action{width:40px;height:40px}.class-info .tag{font-size:8px}.home-shortcut{padding:12px 15px}.home-shortcut strong{font-size:11px}.home-shortcut small{font-size:9px}.shortcut-icon{width:31px;height:31px}.page-heading{margin-bottom:21px;gap:8px}.page-heading h1{font-size:23px}.page-heading p{font-size:10px;line-height:1.8}.community-tabs{gap:23px}.community-tabs button{font-size:12px;padding-bottom:13px}.write-button{padding:8px 10px;font-size:10px;min-height:36px;gap:4px}.write-button .ico{width:14px;height:14px}.composer-prompt{font-size:11px;gap:10px;padding:12px 14px}.member-avatar{width:30px;height:30px;font-size:11px}.talk-toolbar .chips{gap:5px}.talk-toolbar .chip{font-size:10px;padding:6px 10px}.community-demo{font-size:8.5px}.post-card{padding:20px 17px}.post-body h3{font-size:13px;line-height:1.8}.post-body p{font-size:11px}.post-author b{font-size:10px}.post-author small{font-size:8px}.category-label{font-size:8px}.post-actions{gap:16px}.post-actions button{font-size:9px;gap:4px}.post-actions .ico{width:14px;height:14px}.post-actions button.join-button{font-size:9px}.post-body img{width:65px;height:65px}.community-etiquette{font-size:9px;margin-top:20px}.news-director{gap:15px}.news-director .director-photo{width:100px}.news-director strong{font-size:15px}.news-director small{font-size:9px}.news-director em{font-size:8px}.notice-card{padding:19px}.notice-content{gap:17px}.notice-poster{width:105px}.notice-poster img{height:150px}.notice-content h3{font-size:17px}.notice-content p{font-size:11px}.notice-content .btn{font-size:10px;padding:9px 11px}.photo-gallery{gap:20px 12px}.photo-gallery .story-image{height:170px}.photo-gallery .story-card h3{font-size:11px}.photo-gallery .story-card p{font-size:9px}.app-footer{padding:20px 20px 100px;gap:5px}.app-footer>span{font-size:8px}.app-footer>div{gap:10px}.app-footer button{font-size:8px}.form-pair{gap:12px}.post-detail h2{font-size:20px}.post-detail .post-full-text{font-size:12px!important}.reply-compose-bottom>span{font-size:8px}.sheet-inner .btn{font-size:12px}.form-field input,.form-field textarea,.form-field select{font-size:13px}}
@media(max-width:360px){main{padding-left:16px;padding-right:16px}.topbar{padding:0 16px}.welcome-card{padding-left:17px;grid-template-columns:1.1fr 1fr;gap:5px}.welcome-copy h1{font-size:21px;letter-spacing:-1.4px}.welcome-copy .eyebrow{font-size:6px;letter-spacing:.5px}.welcome-copy p{font-size:9px}.welcome-copy .small-link{font-size:9px}.section-heading h2{font-size:15px}.class-main{padding:15px 12px;gap:10px}.class-time{width:49px}.class-time strong{font-size:20px}.class-info h3{font-size:12px}.class-info p{font-size:9px}.class-action{width:36px;height:36px}.page-heading{flex-wrap:nowrap}.page-heading>div{width:auto}.page-heading>.write-button{display:flex}.page-heading h1{font-size:21px}.community-tabs{gap:21px}.community-tabs button{font-size:11px}.talk-toolbar .chip{font-size:9px;padding:6px 9px}.post-card{padding:18px 14px}.post-body h3{font-size:12px}.post-body p{font-size:10px}.post-author .category-label{font-size:7px}.post-actions{gap:12px}.community-demo{font-size:8px}.photo-gallery .story-image{height:150px}.news-director strong{font-size:14px}.news-director .director-photo{width:90px}.notice-content h3{font-size:16px}.notice-poster{width:90px}.reply-compose-bottom{gap:5px}.app-footer{padding-left:16px;padding-right:16px}}
/* Keep the light palette while giving reading text enough contrast. */
.welcome-copy p,.page-heading p,.class-info p,.section-heading p{color:#74816a}.welcome-copy .small-link{color:#6c8657}.post-body h3{color:#46643b;font-size:16px}.post-body p{color:#748469;font-size:13px}.post-author b{color:#687e57;font-size:12px}.post-author small{color:#86947b;font-size:10px}.category-label{color:#799261;font-size:10px}.community-demo{color:#7f8e73;font-size:10px}.post-actions button{color:#7c9169;font-size:11px}.post-actions button.join-button{color:#7c965f;font-size:11px}.composer-prompt{font-size:13px;color:#8b9d78}.reply p,.post-full-text{color:#708660!important}.reply-meta b{color:#607e4d}.reply-meta small,.reply-link{color:#879b76}.form-field{color:#7f936a}.form-field input,.form-field select,.form-field textarea{color:#557447}.sheet-inner>p{color:#80936d}.sheet-note{color:#80966b}.sheet-caption{color:#869976}.home-shortcut strong{color:#698157}.home-shortcut small{color:#889974}.welcome-copy p br{margin-right:.3em}
@media(max-width:650px){.post-body h3{font-size:15px}.post-body p{font-size:12px}.post-author b{font-size:11px}.post-author small{font-size:10px}.post-actions button,.post-actions button.join-button{font-size:10px}.community-demo{font-size:10px}.category-label{font-size:9px}.composer-prompt{font-size:12px}}
@media(max-width:420px){.welcome-card{padding-top:18px}.welcome-copy{padding-bottom:19px}.welcome-copy h1{line-height:1.5;margin:10px 0}.welcome-copy .small-link{margin-top:13px}.post-body h3{font-size:14px}.post-body p{font-size:12px}.post-author b{font-size:11px}.post-author small{font-size:9px}.post-actions button,.post-actions button.join-button{font-size:10px}.community-demo{font-size:9px}.category-label{font-size:9px}.page-heading p{font-size:11px}.class-info p{font-size:11px}.section-heading p{font-size:11px}}
@media(max-width:360px){.post-body h3{font-size:13px}.post-body p{font-size:11px}.class-info p{font-size:10px}.section-heading p{font-size:10px}.community-demo{font-size:9px}.category-label{font-size:8px}}
@media(max-width:800px){.admin-grid{grid-template-columns:minmax(0,1fr)}.admin-panel{min-width:0}.admin-session{gap:12px}.admin-session>div{min-width:0}}
/* Weekly overview and a shared color key across all schedule views. */
.tone-basic{--class-tone:#ac842c;--class-wash:#faf5e8;--class-edge:#e9dfc5}.tone-hatha{--class-tone:#884b69;--class-wash:#f8eff3;--class-edge:#e9d9e1}.tone-ashtanga{--class-tone:#655979;--class-wash:#f2eff6;--class-edge:#ded8e8}.tone-mysore{--class-tone:#245d60;--class-wash:#edf4ef;--class-edge:#d3e2d8}.tone-other{--class-tone:#778375;--class-wash:#f3f4ee;--class-edge:#e0e5d9}
.class-card .class-info h3{border-left:3px solid var(--class-tone);padding-left:9px}.plan-row>h3{border-left:3px solid var(--class-tone);padding-left:10px}.weekly-schedule{margin-top:22px}.week-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.week-eyebrow{font-size:11px;color:#7b8e6d}.week-toolbar h2{font-size:24px;font-weight:500;letter-spacing:-.6px;margin:3px 0 0;color:#355a43}.week-toolbar h2>span{color:#aebaa0;margin:0 5px}.week-controls{display:flex;align-items:center;gap:12px}.week-reset{border:1px solid #dfe7d6;border-radius:8px;background:#fffefb;font-size:11px;padding:7px 12px;min-height:36px}.week-controls .week-nav{gap:5px}.week-controls .week-nav button{width:36px;height:36px}.week-guide{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.class-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.class-legend>span{display:flex;align-items:center;gap:5px;font-size:11px;color:#6f7c66}.class-legend i{display:block;flex:none;width:5px;height:5px;border-radius:50%;background:var(--class-tone)}.week-total{font-size:11px;color:#7b8a70;white-space:nowrap}.weekly-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #dfe6d8;border-radius:14px;overflow:hidden;background:#fffefa}.week-day{min-width:0;border-right:1px solid #e7ecdf}.week-day:last-child{border-right:0}.week-day-heading{display:flex;align-items:center;justify-content:center;gap:6px;height:53px;background:#f8f9f1;border-bottom:1px solid #e7ecdf;position:relative;color:#75846b}.week-day-heading>span{font-size:11px}.week-day-heading>strong{font-size:17px;font-weight:500}.week-day-heading>small{font-size:8px;position:absolute;bottom:2px;color:#537947}.is-today .week-day-heading{background:#eaf1df;color:#345e40}.is-weekend .week-day-heading{background:#faf5e9;color:#8e7759}.week-day-content{display:grid;grid-template-rows:minmax(190px,auto) 1fr}.week-period{padding:9px 6px;display:flex;flex-direction:column;gap:7px;min-width:0}.week-period.evening{border-top:1px dashed #e3e8d9;background:#fcfcf6}.period-label{font-size:10px;color:#8b987b;padding-left:3px}.period-empty{text-align:center;font-size:11px;color:#bdc7b2}.week-session{display:flex;flex-direction:column;align-items:stretch;gap:4px;text-align:left;padding:9px 8px;background:var(--class-wash);border:1px solid var(--class-edge);border-left:3px solid var(--class-tone);border-radius:6px;width:100%;min-width:0;transition:box-shadow .15s}.week-session:hover{box-shadow:0 0 0 1px var(--class-tone)}.week-session.in-plan{box-shadow:inset 0 0 0 1px var(--class-tone)}.week-session-top{display:flex;justify-content:space-between;align-items:center;gap:3px}.week-session-top>strong{font-size:16px;font-weight:500;color:var(--class-tone);letter-spacing:-.4px}.week-session-top>.ico{width:12px;height:12px;color:var(--class-tone)}.week-session-name{font-size:12px;line-height:1.5;color:#3f5546;font-weight:500;word-break:keep-all;overflow-wrap:anywhere}.week-session-tags{display:flex;flex-wrap:wrap;gap:3px}.week-session-tags:empty{display:none}.week-session-tags>span{font-size:9px;color:#8b724a;background:#f0e6cd;padding:1px 3px;border-radius:3px;line-height:1.5}.week-session-tags>.week-saved{color:#4c6c43;background:#e0ead6}.week-session-tags>.week-changed{color:#8a6237;background:#f4e8d4}.week-empty{text-align:center;color:#929e85;font-size:11px;line-height:1.8;padding:33px 8px}.week-bottom-note{display:flex;align-items:flex-start;gap:8px;margin-top:14px;color:#7a8b6b}.week-bottom-note>.ico{width:14px;height:14px;margin-top:3px;flex:none}.week-bottom-note>p{margin:0;font-size:10px;line-height:1.8}
@media(max-width:800px){.weekly-grid{display:block}.week-day{display:grid;grid-template-columns:38px minmax(0,1fr);border-right:0;border-bottom:1px solid #e7ebdf}.week-day:last-child{border-bottom:0}.week-day-heading{height:auto;min-height:42px;align-self:stretch;flex-direction:column;gap:1px;justify-content:center;padding:6px 0;border-bottom:0;border-right:1px solid #e7ebdf}.week-day-heading>span{font-size:10px}.week-day-heading>strong{font-size:16px}.week-day-heading>small{position:static;margin:0;font-size:8px;line-height:1.2}.week-day-content{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;align-items:stretch;gap:5px;padding:7px}.week-period{display:contents}.period-label,.period-empty{display:none}.week-session{padding:7px 6px;gap:2px;border-left-width:2px;min-height:58px}.week-session-top>strong{font-size:15px}.week-session-name{font-size:11px;line-height:1.4}.week-session-tags>span{font-size:8px;padding:0 2px}.week-empty{grid-column:1/-1;text-align:left;align-self:center;padding:4px 7px;font-size:11px}.week-toolbar{margin-bottom:12px}.week-toolbar h2{font-size:21px}.week-controls{gap:7px}.week-reset{padding:6px 9px}.week-guide{gap:8px;margin-bottom:12px;flex-wrap:wrap}.class-legend{gap:11px}.week-guide .class-legend>span{font-size:10px}.week-total{font-size:10px}.schedule-tabs{gap:22px}.schedule-tabs button{font-size:12px;padding:9px 0}body:has(.week-overview) .page-heading{margin-bottom:13px}body:has(.week-overview) .page-heading h1{font-size:24px}body:has(.week-overview) main{padding-top:20px}.weekly-schedule{margin-top:16px}}
@media(max-width:420px){.week-toolbar{gap:7px}.week-toolbar h2{font-size:20px}.week-eyebrow{font-size:10px}.week-controls{gap:5px}.week-controls .week-nav{gap:3px}.week-controls .week-nav button{width:30px;height:32px}.week-reset{font-size:10px;padding:5px 8px;min-height:32px}.week-day{grid-template-columns:33px minmax(0,1fr)}.week-day-content{padding:6px;gap:4px}.week-session{padding:6px 4px;min-height:57px}.week-session-top>strong{font-size:14px}.week-session-name{font-size:11px}.week-session-top>.ico{width:10px;height:10px}.week-guide{gap:7px}.class-legend{gap:9px}.class-legend>span{gap:4px}.week-total{font-size:10px}.week-toolbar h2>span{margin:0 2px}.schedule-tabs{gap:22px}.schedule-tabs button{font-size:11px}.week-bottom-note>p{font-size:10px}body:has(.week-overview) .page-heading p{font-size:11px}}
@media(max-width:360px){.week-day-content{grid-template-columns:repeat(3,minmax(0,1fr));padding:5px;gap:4px}.week-toolbar h2{font-size:19px}.week-controls .week-nav button{width:27px}.week-reset{padding:5px 6px}.class-legend{gap:8px}.week-session{padding:5px}.week-guide{align-items:flex-start}.week-total{margin-left:auto}.schedule-tabs{gap:20px}}
/* Botanical accents and class-specific watercolor illustrations. */
.welcome-card{position:relative;background:#f5f2e7;border:1px solid #e9e5d8}.welcome-copy{position:relative;z-index:2}.welcome-card>.director-photo{aspect-ratio:470/380;border:5px solid #fffdf4;border-bottom:0;box-shadow:0 8px 26px #3d523318;z-index:1}.welcome-card>.director-photo img{width:205.53%;left:-48.94%;top:-107.89%;height:auto}.welcome-card .director-name{display:none}.class-mini-art{width:52px;height:58px;object-fit:contain;flex:none}.class-main:has(.class-mini-art){gap:13px}.class-main:has(.class-mini-art) .class-divider{display:none}.class-art-cover{height:218px;position:relative;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:10px;padding:24px 30px 10px;background:#f0f1e5;overflow:hidden}.class-art-cover.hatha{background:#f3efe5}.class-art-cover>img{width:100%;height:180px;object-fit:contain;align-self:end}.class-art-caption>span{font-size:8px;letter-spacing:1.8px;color:#8a9177}.class-art-caption>p{font:400 19px/1.9 var(--serif);color:#52654b;word-break:keep-all;letter-spacing:-.6px;margin:12px 0}.class-art-caption>i{display:block;width:27px;height:1px;background:#9ca78d;margin-top:18px}.class-art-cover .sheet-close{z-index:2;background:#fffdf6b3}.added-art{height:211px;display:flex;justify-content:center;align-items:center;background:#f3f3e9;position:relative;padding:18px}.added-art>img{width:200px;height:180px;object-fit:contain}.added-check{position:absolute;bottom:15px;left:calc(50% + 61px);width:30px;height:30px;display:grid;place-items:center;border:3px solid #fffdf6;border-radius:50%;color:#fff;background:#658557}.added-check .ico{width:15px;height:15px}.added-copy{text-align:center}.added-copy>.eyebrow{font-size:8px;letter-spacing:2px;color:#9a9f89}.added-copy h2{font:500 21px/1.7 var(--serif);margin:12px 0;color:#455f3e}.added-copy>p{font-size:12px;line-height:1.9;color:#75866b}.added-summary{display:flex;align-items:center;flex-direction:column;gap:5px;padding:16px;background:#f8f8f1;border:1px solid #e6eadd;border-radius:10px;margin:20px 0}.added-summary strong{font-size:14px;color:#526b45;font-weight:500}.added-summary>span{font-size:12px;color:#738167}.added-summary>small{display:flex;align-items:center;gap:4px;font-size:11px;color:#849178}.added-summary .ico{width:13px;height:13px}.illustrated-empty>img{width:120px;height:130px;object-fit:contain;margin:0 auto 20px}.plan-row.with-art{position:relative;padding-right:114px}.plan-mini-art{width:86px;height:94px;object-fit:contain;position:absolute;right:16px;top:44px}.plan-row.with-art .plan-actions{margin-right:-90px}.plan-row.with-art .time-change{margin-right:-90px!important}.plan-row.with-art .plan-top{margin-right:-90px}
@media(max-width:800px){.class-mini-art{width:44px;height:54px}.class-main:has(.class-mini-art){gap:9px}}
@media(max-width:650px){.class-mini-art{width:50px;height:56px}.class-main:has(.class-mini-art){gap:13px}.class-art-cover{height:200px}.class-art-cover>img{height:165px}.class-art-caption>p{font-size:18px}.plan-row.with-art{padding-right:100px}.plan-mini-art{width:75px;height:85px;right:13px}.plan-row.with-art .plan-actions,.plan-row.with-art .plan-top{margin-right:-77px}.plan-row.with-art .time-change{margin-right:-77px!important}}
@media(max-width:420px){.welcome-card>.director-photo{border-width:3px}.class-mini-art{width:44px;height:50px}.class-main:has(.class-mini-art){gap:9px;padding-left:13px;padding-right:13px}.class-main:has(.class-mini-art) .class-time{width:50px}.class-main:has(.class-mini-art) .class-info p{font-size:9px}.class-main:has(.class-mini-art) .class-info h3{font-size:12px}.class-main:has(.class-mini-art) .class-action{width:34px;height:34px}.class-art-cover{padding:23px 23px 8px;grid-template-columns:.85fr 1.15fr;height:190px}.class-art-cover>img{height:155px}.class-art-caption>p{font-size:17px}.class-art-caption>span{font-size:7px;letter-spacing:1.2px}.added-copy h2{font-size:19px}.added-art{height:190px}.added-art>img{height:163px}.added-copy>p{font-size:11px}.plan-row.with-art{padding-right:93px}.plan-mini-art{width:70px;height:78px;right:12px}.plan-row.with-art .plan-top,.plan-row.with-art .plan-actions{margin-right:-70px}.plan-row.with-art .time-change{margin-right:-70px!important}}
@media(max-width:360px){.class-mini-art{width:36px;height:46px}.class-main:has(.class-mini-art){gap:7px;padding-left:10px;padding-right:10px}.class-main:has(.class-mini-art) .class-time{width:44px}.class-main:has(.class-mini-art) .class-time strong{font-size:18px}.class-main:has(.class-mini-art) .class-action{width:30px;height:30px}.class-art-caption>p{font-size:16px}.class-art-cover{padding-left:20px;padding-right:20px;gap:4px}}

/* Quiet two-tone pose illustrations: less decoration, more room to breathe. */
.class-art-cover{height:170px;background:#f5f6f0;padding:21px 30px;grid-template-columns:1fr 1fr;gap:18px}.class-art-cover.hatha{background:#f5f6f0}.class-art-cover>img{height:134px;align-self:center;object-fit:contain}.class-art-caption>p{font:400 18px/1.9 var(--serif);color:#63715b;margin:0}.added-art{height:155px;background:#f5f6f0;padding:17px}.added-art>img{width:135px;height:125px}.added-check{width:25px;height:25px;left:calc(50% + 39px);bottom:18px;border-width:2px}.added-check .ico{width:12px;height:12px}.added-copy h2{margin:0 0 8px;font:500 20px/1.7 var(--serif)}.added-copy>p{margin:0}.added-summary{margin:18px 0}.illustrated-empty>img{width:95px;height:105px}.class-mini-art{opacity:.9}.plan-mini-art{opacity:.9}.home-shortcuts{margin-top:16px}
@media(max-width:420px){.class-art-cover{height:155px;padding:19px 25px;gap:13px}.class-art-cover>img{height:116px}.class-art-caption>p{font-size:16px}.added-art{height:142px}.added-art>img{height:112px;width:125px}.added-copy h2{font-size:19px}.added-copy>p{font-size:11px}.added-check{bottom:17px}.home-shortcuts{margin-top:12px}}
/* Practical home: the week is the main content; personal changes take priority. */
.home-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:4px 0 24px}.home-intro .eyebrow{color:#819378;font-size:9px;letter-spacing:2px}.home-intro h1{font:500 30px/1.5 var(--serif);letter-spacing:-1.1px;color:#365b43;margin:9px 0 5px}.home-intro p{font-size:13px;color:#77866e;margin:0}.director-peek{display:flex;align-items:center;gap:12px;text-align:left;flex:none}.director-peek>span:last-child{display:flex;gap:5px;align-items:center;font-size:11px;color:#6f8261}.director-peek .ico{width:12px;height:12px}.portrait-crop{width:68px;height:68px;border-radius:50%;overflow:hidden;position:relative;background:#edeedc;border:3px solid #f4f2e4;display:block;flex:none}.portrait-crop img{position:absolute;width:290%;max-width:none;left:-96%;top:-133%;height:auto}.plan-invitation{display:flex;align-items:center;gap:10px;border-top:1px solid #e6e8da;border-bottom:1px solid #e6e8da;padding:13px 0;color:#6c805d}.plan-invitation>.ico{width:17px;height:17px;flex:none}.plan-invitation p{font-size:12px;line-height:1.8;margin:0}.plan-invitation strong{font-weight:500;color:#476a46;margin-right:7px}.home-week-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px}.home-week-title h2{font-size:17px;font-weight:500;color:#486741;margin:0}.home-week-title .small-link{font-size:11px}.home-week-title+.weekly-schedule{margin-top:12px}.my-practice-strip{display:flex;align-items:center;gap:13px;text-align:left;width:100%;padding:16px 18px;border:1px solid #dce5d1;background:#f2f5e9;border-radius:12px}.my-practice-strip>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.my-practice-strip strong{font-size:14px;font-weight:500;color:#496943}.my-practice-strip small{font-size:11px;color:#758568}.my-practice-strip>.ico{margin-left:auto;flex:none}.personal-change{border:1px solid #e5d6b7;background:#fcf6e9;border-radius:12px;padding:18px 20px}.personal-change-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.personal-change-heading strong{display:flex;align-items:center;gap:7px;font-weight:500;font-size:13px;color:#816239}.personal-change-heading strong .ico{width:16px;height:16px}.personal-change-heading .small-link{font-size:10px}.change-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:15px}.change-summary+ .change-summary{border-top:1px solid #ebdfc8;padding-top:14px}.change-summary small{font-size:11px;color:#8a785c}.change-summary h3{font-size:22px;letter-spacing:-.7px;font-weight:500;color:#6c5536;margin:5px 0}.change-summary h3 span,.change-preview h3 span{font-weight:300;color:#ad9b80;padding:0 6px}.change-summary p{font-size:12px;line-height:1.7;color:#8a785c;margin:0}.change-summary .btn{font-size:11px;padding:10px 12px;white-space:nowrap;flex:none}.community-invitation{display:flex;align-items:center;gap:18px;text-align:left;width:100%;margin-top:27px;padding:17px 0;border-top:1px solid #e4e8db}.community-invitation>img{width:76px;height:66px;object-fit:cover;border-radius:9px}.community-invitation>span{display:flex;flex-direction:column;gap:5px}.community-invitation small{font-size:10px;color:#849676}.community-invitation strong{font-size:15px;font-weight:500;color:#557349}.community-invitation>span>span{display:flex;align-items:center;gap:6px;font-size:11px;color:#829570}.community-invitation .ico{width:12px;height:12px}.admin-range{display:flex;gap:7px;margin:16px 0 5px}.admin-helper{margin-top:18px}.admin-log{border-top:1px solid #e2e7d8;padding:15px 0}.admin-log:first-of-type{margin-top:15px}.admin-log small{font-size:11px;color:#7d8c71}.admin-log strong{display:block;font-size:18px;font-weight:500;color:#556d46;margin-top:5px}.admin-log p{font-size:12px;margin:6px 0 10px}.admin-log .small-link{font-size:11px}.change-preview{padding:20px;background:#f7f2e7;border-radius:12px;margin:20px 0;color:#7e6e53}.change-preview small{font-size:11px}.change-preview h3{font-size:27px;font-weight:500;margin:6px 0;color:#5b654a}.change-preview p{font-size:13px;line-height:1.8;margin:6px 0 0}.announcement-preview{margin:20px 0;color:#738265;font-size:13px}.announcement-preview summary{cursor:pointer;padding:10px 0}.announcement-preview pre{font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:11px;background:#f6f7ee;padding:14px;border-radius:8px}.preview-back{display:block;margin:15px auto 0}#announcement-copy{font-size:12px;line-height:1.8;background:#f8f8f0;min-height:260px}.form-field input:disabled{opacity:.5}
@media(max-width:800px){.home-intro h1{font-size:26px}.director-peek{flex-direction:column;gap:6px}.home-intro{gap:12px;padding-bottom:20px}.home-intro p{font-size:12px}.home-week-title{margin-top:22px}.week-session-tags>.week-saved{display:none}.week-session.in-plan{position:relative}.week-session.in-plan .week-session-top .ico{display:block}.admin-panel .section-heading{align-items:flex-start}.admin-panel .section-heading .small-link{font-size:11px}}
@media(max-width:420px){.home-intro .eyebrow{font-size:7px;letter-spacing:1.1px}.home-intro h1{font-size:22px;letter-spacing:-1px;margin:8px 0 6px}.home-intro p{font-size:11px;max-width:220px;line-height:1.8}.director-peek>span:last-child{font-size:8px;gap:2px}.portrait-crop{width:55px;height:55px;border-width:2px}.home-intro{gap:8px;padding-bottom:16px}.home-week-title h2{font-size:15px}.plan-invitation{gap:8px;padding:11px 0}.plan-invitation p{font-size:11px}.plan-invitation strong{display:block}.my-practice-strip{padding:12px;gap:10px}.my-practice-strip strong{font-size:12px}.my-practice-strip small{font-size:10px}.my-practice-strip .shortcut-icon{width:32px;height:36px}.personal-change{padding:14px}.personal-change-heading strong{font-size:11px;gap:5px}.personal-change-heading .small-link{font-size:9px}.change-summary{gap:7px;margin-top:13px}.change-summary h3{font-size:21px}.change-summary small,.change-summary p{font-size:10px}.change-summary .btn{font-size:10px;padding:8px 9px}.community-invitation{gap:13px;margin-top:20px}.community-invitation strong{font-size:13px}.community-invitation>img{width:66px;height:62px}.admin-session h3{font-size:14px}.admin-session small{font-size:10px}.admin-range .chip{font-size:11px}.admin-panel .section-heading .small-link{font-size:10px}.home-week-title+.weekly-schedule{margin-top:12px}}
.page-heading p:empty{display:none}
@media(max-width:800px){main:has(>.schedule-tabs+.week-overview)>.page-heading{margin-bottom:8px}main:has(>.schedule-tabs+.week-overview)>.page-heading h1{margin:0;line-height:1.4}main:has(>.schedule-tabs+.week-overview)>.schedule-tabs{margin-bottom:12px}.week-session-top>strong{line-height:1.3}.week-session-tags:has(>.week-saved:only-child){display:none}.week-toolbar h2{line-height:1.4}.week-eyebrow{line-height:1.4}}
.home-intro h1>span{white-space:nowrap}.home-intro p{word-break:keep-all}
/* Community-led home: a quiet bulletin board with a compact schedule doorway. */
.board-welcome{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:0 0 21px}.board-welcome .eyebrow{font-size:9px;color:#809174;letter-spacing:1.9px}.board-welcome h1{font:500 30px/1.55 var(--serif);letter-spacing:-1.2px;color:#365d45;margin:8px 0 7px}.board-welcome h1 span{white-space:nowrap}.board-welcome p{font-size:13px;line-height:1.8;margin:0;color:#6f8064;word-break:keep-all}.director-illustrated{display:flex;align-items:center;flex-direction:column;gap:7px;flex:none}.director-illustrated>span:last-child{font-size:10px;color:#6f8262;display:flex;align-items:center;gap:3px}.director-illustrated .ico{width:11px;height:11px}.director-illustration{display:block;width:100px;height:100px;background:#f1f2e6;border-radius:50%;overflow:hidden;flex:none}.director-illustration img{display:block;width:100%;height:100%;object-fit:contain}.home-quick-links{display:flex;gap:10px;padding:14px 0 19px;border-top:1px solid #e3e8d9}.home-quick-links>button{flex:1;display:flex;align-items:center;gap:9px;padding:12px 15px;border:1px solid #e4e8da;border-radius:9px;background:#f6f7ed;text-align:left;color:#5d7550;font-size:12px}.home-quick-links .ico{width:16px;height:16px}.home-quick-links .ico:last-child{margin-left:auto;width:13px;height:13px}.home-board-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:32px;margin-top:9px}.home-board-main{min-width:0}.board-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.board-section-heading h2{display:flex;align-items:center;gap:6px;font-size:17px;font-weight:500;letter-spacing:-.5px;color:#456840;margin:0}.board-section-heading p{margin:5px 0 0;font-size:11px;color:#849175}.board-section-heading .small-link{font-size:11px;white-space:nowrap}.section-dot{width:4px;height:4px;border-radius:50%;background:#c1a574;display:inline-block}.pinned-notices{padding:0 16px;border:1px solid #e5e7d7;background:#f8f7eb;border-radius:11px}.pinned-notice{display:flex;align-items:center;width:100%;gap:12px;text-align:left;padding:17px 0;border-bottom:1px solid #e9e7d6}.pinned-notice:last-child{border-bottom:0}.pinned-notice>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:5px}.pinned-notice strong{font-size:13px;font-weight:500;color:#536c45;line-height:1.5;word-break:keep-all}.pinned-notice small{font-size:10px;color:#7a896d;line-height:1.6;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.pinned-notice>.ico{width:13px;height:13px;flex:none;margin-left:auto;color:#96a482}.pin-label{font-size:9px;color:#876d44;padding:3px 6px;border:1px solid #e2d7b9;background:#f1e9d2;border-radius:4px;white-space:nowrap;flex:none}.pin-label.soft{background:#eaf0df;border-color:#dbe5cc;color:#6c8154}.pin-label.changed{background:#f3e2d6;border-color:#e9cdb9;color:#95674c}.home-discussion{margin-top:28px}.board-write{display:flex;align-items:center;gap:4px;font-size:11px;color:#fffdf5;background:#6d8659;padding:9px 12px;border-radius:7px;white-space:nowrap}.board-write>.ico{width:14px;height:14px}.home-topic-chips{display:flex;align-items:center;gap:6px;margin:17px 0 2px;flex-wrap:wrap}.home-topic-chips>button{font-size:11px;border-radius:20px;padding:6px 12px;color:#7c8b6e;border:1px solid transparent}.home-topic-chips>button.active{color:#45663e;background:#eaf0df;border-color:#dae3cc}.home-post-list{border-top:1px solid #e5eadc;margin-top:13px}.home-post-row{border-bottom:1px solid #e5eadc;padding:19px 0 16px}.home-post-open{display:flex;align-items:center;gap:15px;width:100%;text-align:left}.home-post-text{min-width:0;flex:1}.board-category{font-size:10px;line-height:1.4;color:#789266}.board-category.question{color:#8a7959}.board-category.together{color:#5e877e}.home-post-text h3{margin:7px 0 5px;font-size:15px;color:#3f603c;line-height:1.6;font-weight:500;word-break:keep-all;overflow-wrap:anywhere}.home-post-text p{margin:0;line-height:1.7;font-size:12px;color:#7a876e;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.home-post-open>img{width:65px;height:65px;object-fit:cover;border-radius:8px;flex:none}.home-post-meta{display:flex;align-items:center;gap:12px;color:#869479;font-size:10px;margin-top:12px}.home-post-meta>span{margin-right:auto;line-height:1.5}.home-post-meta i{font-style:normal;margin:0 6px}.home-post-meta button{display:flex;align-items:center;gap:4px;font-size:10px;min-height:25px}.home-post-meta .ico{width:12px;height:12px}.home-post-meta button.liked{color:#a47668}.board-more{display:flex;justify-content:center;align-items:center;gap:7px;width:100%;padding:16px;color:#748866;font-size:11px}.board-more .ico{width:13px;height:13px}.board-demo-note{font-size:10px;color:#87947c;line-height:1.7;margin:0}.home-board-aside{border-left:1px solid #e6e9dc;padding-left:24px}.home-board-aside .board-section-heading h2{font-size:14px}.moment-photo{width:100%;text-align:left;display:block}.moment-photo>img{display:block;width:100%;height:166px;object-fit:cover;border-radius:12px}.moment-photo>span{display:flex;align-items:center;justify-content:space-between;gap:7px;font:500 14px/1.7 var(--serif);color:#657c56;margin-top:12px}.moment-photo .ico{width:13px;height:13px;flex:none}.board-moment>.small-link{font-size:10px;margin-top:9px}.board-poll{margin-top:28px}.board-poll .poll-card{padding:18px 16px;box-shadow:none}.board-poll h3{font-size:14px}.board-etiquette{font-size:11px;line-height:1.9;color:#8a997b;margin-top:24px}.board-etiquette>.ico{width:13px;height:13px;vertical-align:middle;margin-right:4px}.home-update-line{display:flex;align-items:center;gap:10px;width:100%;padding:12px 15px;margin-bottom:22px;border:1px solid #e4d5b9;border-radius:9px;background:#faf3e5;color:#826a49;text-align:left}.home-update-line>span{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;min-width:0}.home-update-line strong{font-size:11px;font-weight:500}.home-update-line>span>span{font-size:11px;line-height:1.6}.home-update-line>.ico{width:15px;height:15px;flex:none}.home-update-line>.ico:last-child{margin-left:auto}.board-empty{padding:30px 0;color:#819374;font-size:13px;text-align:center}.director-illustrated-cover{position:relative;height:245px;background:#f1f3e7;display:flex;align-items:center;justify-content:center;padding:20px}.director-illustrated-cover>img{height:210px;width:210px;object-fit:contain}.news-director .director-illustration{height:105px;width:105px}.class-art-cover.basic{background:#f8f5eb}.class-art-cover.hatha{background:#f7f0f3}.class-art-cover.healing{background:#f1f5ed}.class-art-cover.ashtanga{background:#f2eff5}.class-art-cover.healing>img{width:110%;max-width:110%;height:140px;margin-left:-5%}.class-art-cover.ashtanga>img{height:145px}.class-art-cover.ashtanga .class-art-caption p{color:#6d617b}.class-art-cover.hatha .class-art-caption p{color:#88667b}
@media(max-width:1000px){.home-board-grid{grid-template-columns:minmax(0,1fr) 205px;gap:22px}.home-board-aside{padding-left:19px}.moment-photo>img{height:150px}}
@media(max-width:800px){.home-board-grid{grid-template-columns:minmax(0,1fr);gap:28px}.home-board-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-left:0;border-top:1px solid #e5e9dc;padding:24px 0 0}.board-poll{margin-top:0}.board-etiquette{grid-column:1/-1;margin:0;text-align:center}.board-welcome h1{font-size:27px}.board-welcome{gap:16px}.home-board-aside .board-section-heading h2{font-size:15px}.moment-photo>img{height:170px}}
@media(max-width:550px){.board-welcome{padding-bottom:17px;gap:12px}.board-welcome h1{font-size:25px;max-width:250px;line-height:1.5;margin:7px 0}.board-welcome .eyebrow{font-size:7px;letter-spacing:1.3px}.board-welcome p{font-size:11px;line-height:1.8;max-width:220px}.director-illustration{width:88px;height:88px}.director-illustrated>span:last-child{font-size:9px}.home-quick-links{padding:11px 0 18px;gap:8px}.home-quick-links>button{padding:11px 10px;font-size:11px;gap:6px}.home-quick-links .ico{width:14px;height:14px}.home-quick-links .ico:last-child{width:12px;height:12px}.board-section-heading h2{font-size:16px}.board-section-heading p{font-size:10px}.board-section-heading .small-link{font-size:10px}.home-board-grid{margin-top:5px}.pinned-notices{padding:0 13px}.pinned-notice{gap:9px;padding:15px 0}.pinned-notice strong{font-size:12px}.pinned-notice small{font-size:10px}.pin-label{font-size:8px;padding:2px 5px}.home-discussion{margin-top:25px}.home-topic-chips{gap:4px;margin-top:15px}.home-topic-chips>button{font-size:10px;padding:6px 10px}.home-post-row{padding:17px 0 14px}.home-post-text h3{font-size:14px;line-height:1.6}.home-post-text p{font-size:11px}.home-post-meta{font-size:10px;gap:10px;margin-top:10px}.home-post-open{gap:11px}.home-post-open>img{width:58px;height:58px}.board-category{font-size:9px}.home-board-aside{grid-template-columns:1fr;gap:25px}.moment-photo>img{height:180px}.board-moment .moment-photo>img{object-position:center 45%}.board-moment>.small-link{font-size:11px}.board-poll .poll-card{padding:20px}.home-update-line{padding:11px 12px;gap:8px;margin-bottom:19px}.home-update-line>span{display:block}.home-update-line>span>span{display:block;font-size:10px;margin-top:3px}.home-update-line strong{font-size:11px}.director-illustrated-cover{height:215px}.director-illustrated-cover>img{height:185px;width:185px}.class-art-cover.healing>img,.class-art-cover.ashtanga>img{height:125px}}
@media(max-width:360px){.board-welcome{gap:8px}.board-welcome h1{font-size:22px;letter-spacing:-1px;max-width:190px}.board-welcome p{font-size:10px;max-width:185px}.director-illustration{width:76px;height:76px}.director-illustrated>span:last-child{font-size:8px}.home-quick-links>button{font-size:10px;gap:5px;padding:10px 8px}.home-topic-chips>button{font-size:9px;padding:6px 9px}.home-post-text h3{font-size:13px}.home-post-meta>span{font-size:9px}.home-post-meta{gap:7px}.pinned-notice strong{font-size:11px}.home-post-open>img{width:48px;height:48px}}
/* Readable member posts with direct, labelled responses. */
.feed-post{padding:23px 0 19px}.board-post-author{display:flex;align-items:center;gap:9px;margin-bottom:12px}.board-post-author .member-avatar{width:29px;height:29px;font-size:11px}.board-post-author>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.board-post-author strong{font-size:11px;color:#5e7652;font-weight:500}.board-post-author small{font-size:9px;color:#89967d}.board-post-author>.board-category{margin-left:auto}.feed-post .home-post-open{display:flex;flex-direction:column;align-items:stretch;gap:15px}.feed-post .home-post-text h3{margin:0 0 9px;font-size:16px;line-height:1.65}.feed-post .home-post-text p{font-size:13px;line-height:1.9;color:#6e7f61;-webkit-line-clamp:5;white-space:pre-line}.feed-post .home-post-open>.board-feed-photo{width:100%;height:210px;border-radius:10px;object-fit:cover;object-position:center 45%}.feed-post .home-post-meta{gap:22px;margin-top:16px}.feed-post .home-post-meta button{gap:5px;min-height:34px;font-size:11px;color:#748967}.feed-post .home-post-meta .ico{width:15px;height:15px}.feed-post .home-post-meta b{font-weight:500;font-size:10px}.feed-post .home-post-meta .liked{color:#a57072}.feed-post .home-post-meta .board-join{margin-left:auto;font-size:10px;background:#f0f4e6;border-radius:15px;padding:3px 10px;min-height:29px}.board-read-more{display:block;font-size:11px;color:#829875;margin-top:8px}
@media(max-width:550px){.feed-post{padding:21px 0 17px}.feed-post .home-post-text h3{font-size:15px;margin-bottom:8px}.feed-post .home-post-text p{font-size:12px;line-height:1.9}.feed-post .home-post-meta{gap:19px;margin-top:13px}.feed-post .home-post-open>.board-feed-photo{height:185px}.board-post-author{margin-bottom:12px}.board-post-author strong{font-size:11px}.board-post-author>.board-category{font-size:9px}}
@media(max-width:360px){.feed-post .home-post-text h3{font-size:14px}.feed-post .home-post-text p{font-size:12px}.feed-post .home-post-meta{gap:14px}.feed-post .home-post-meta button{font-size:10px}.feed-post .home-post-meta .board-join{font-size:9px;padding:3px 8px}.feed-post .home-post-open>.board-feed-photo{height:160px}}
.board-poll p{word-break:keep-all}

/* Weekly selection, direct schedule management, and A4 output. */
.week-session{border:1px solid var(--class-edge);border-radius:8px;padding:12px 8px;gap:4px;transition:background-color 300ms cubic-bezier(.22,1,.36,1),transform 300ms cubic-bezier(.22,1,.36,1);position:relative;min-width:0}
.week-session:hover{background:var(--class-wash);box-shadow:0 0 0 1px var(--class-tone)}
.week-session:active{transform:scale(.98)}
.week-session-top>strong{font-size:18px;line-height:28px;font-variant-numeric:tabular-nums;font-weight:600}
.week-session-name{font-size:14px;line-height:20px;color:var(--ink)}
.week-session-tags>span{font-size:12px;line-height:16px;padding:2px 4px}
.week-session.has-plan{border:2px solid var(--green);padding:11px 7px;box-shadow:0 0 0 1px var(--paper)}
.selection-mark{display:grid;place-items:center;flex:none;width:20px;height:20px;border-radius:50%;background:var(--green);color:var(--paper)}
.selection-mark>.ico{width:12px;height:12px;color:inherit}
.selection-label{display:flex;align-items:center;gap:4px;align-self:flex-start;font-size:12px;line-height:16px;font-weight:600;background:var(--green);color:var(--paper);border-radius:4px;padding:4px;margin-top:4px}
.selection-label>.ico{width:12px;height:12px;flex:none}
.plan-waitlist .selection-label,.plan-watching .selection-label{background:var(--sand);color:var(--ink)}
.plan-waitlist .selection-mark,.plan-watching .selection-mark{background:var(--sand);color:var(--ink)}
.week-session.plan-waitlist,.week-session.plan-watching{border-style:dashed}
.selection-alert{font-size:12px;line-height:16px;color:#8a6237;font-weight:600;margin-top:4px}
.selection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding:12px 0;border-top:1px solid var(--line)}
.selection-key{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:12px;line-height:16px;color:var(--muted)}
.selection-key>span{display:flex;align-items:center;gap:4px}
.key-selected{color:var(--green)}.key-selected>.ico{width:16px;height:16px}
.key-unselected>i{width:12px;height:12px;border:1px solid var(--line);background:var(--paper);border-radius:4px}
.mine-filter{font-size:12px;line-height:16px;font-weight:600;white-space:nowrap;color:var(--green);border:1px solid var(--line);border-radius:8px;padding:8px 12px}
.mine-filter.active{background:var(--green);color:var(--paper);border-color:var(--green)}
.week-mine-empty{text-align:center;border:1px solid var(--line);border-radius:16px;padding:40px 16px;background:var(--paper)}
.week-mine-empty p{font-size:14px;line-height:20px;color:var(--muted);margin:8px 0 24px}
.week-period{min-height:0}.week-period.morning{padding-bottom:16px}.week-period.evening{padding-top:12px}
.week-day-content{grid-template-rows:minmax(200px,1fr) minmax(200px,1fr)}
.week-day-heading>span{font-size:14px}.week-day-heading>strong{font-size:18px;line-height:28px}.week-day-heading>small{font-size:12px;line-height:16px}
.week-day-heading{height:64px}.week-empty{font-size:12px;line-height:20px;padding:32px 8px}
.week-eyebrow,.week-total,.week-guide .class-legend>span{font-size:12px;line-height:16px}
.week-bottom-note>p{font-size:12px;line-height:20px}.week-toolbar h2{font-size:24px;line-height:32px}
.print-button{border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:14px;line-height:20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;background:var(--paper);color:var(--green)}
.print-button>.ico{width:16px;height:16px}.week-controls{gap:8px}
.detail-plan-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border:1px solid var(--green);color:var(--green);background:var(--sage);border-radius:8px;padding:12px;font-size:14px;line-height:20px;font-weight:600}
.detail-plan-status>.ico{width:16px;height:16px}.detail-plan-status small{width:100%;font-size:12px;font-weight:400}
.detail-plan-status.plan-waitlist,.detail-plan-status.plan-watching{background:var(--sand);border-style:dashed}
.management-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.management-toolbar .admin-range{margin:0;gap:8px}.admin-range .chip{font-size:14px;line-height:20px;padding:8px 12px}
.management-actions{display:flex;align-items:center;gap:16px}.management-actions .small-link{font-size:14px;line-height:20px}
.layout-toggle{display:flex;gap:4px;padding:4px;background:var(--sage);border-radius:8px}.layout-toggle button{padding:8px 12px;font-size:14px;line-height:20px;color:var(--muted);border-radius:4px}
.layout-toggle button.active{background:var(--paper);color:var(--green)}
.manage-hint{display:flex;align-items:flex-start;gap:8px;margin:0 0 16px;padding:12px 16px;border-radius:8px;background:var(--sage);font-size:14px;line-height:20px;color:var(--green)}
.manage-hint>.ico{width:16px;height:16px;flex:none;margin-top:2px}.management-week{margin-top:24px}
.edit-affordance{font-size:12px;line-height:16px;color:var(--class-tone);margin-top:4px}.management-week .week-session:hover .edit-affordance{font-weight:600}
.management-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:32px;align-items:start}
.management-bottom .admin-panel{border-radius:16px;padding:24px}.management-bottom .admin-panel h2{font-size:18px;line-height:28px}
.management-bottom .admin-panel p{font-size:14px;line-height:24px;color:var(--muted)}.management-bottom .admin-log strong{font-size:14px;line-height:24px}
.management-steps{list-style:none;padding:0;margin:16px 0}.management-steps li{display:flex;align-items:center;gap:12px;margin:12px 0;font-size:14px;line-height:20px}
.management-steps b{border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;width:32px;height:32px;font-variant-numeric:tabular-nums}
.demo-reset{border-top:1px solid var(--line);margin-top:24px;padding-top:16px;color:var(--muted);font-size:12px;line-height:20px}.demo-reset summary{cursor:pointer}.demo-reset .text-button{font-size:12px}
.admin-list{border-radius:16px;padding:24px}.admin-day-group>h3{font-size:14px;line-height:20px;margin:24px 0 8px;padding:12px;background:var(--sage);border-radius:8px}
.admin-session-row{display:flex;align-items:center;gap:16px;min-width:0;width:100%;padding:16px 8px;border-bottom:1px solid var(--line);text-align:left}
.admin-session-row:hover{background:var(--class-wash)}.admin-session-row>strong{font-size:18px;line-height:28px;font-weight:500;min-width:80px;font-variant-numeric:tabular-nums;color:var(--class-tone)}
.admin-session-row>span:nth-child(2){flex:1;min-width:0}.admin-session-row b{font-size:16px;line-height:24px;font-weight:500}.admin-session-row small{display:block;font-size:12px;line-height:20px;color:var(--muted);margin-top:4px}
.admin-seat-count{font-size:12px;line-height:20px;white-space:nowrap;color:var(--muted)}.edit-label{display:flex;gap:4px;align-items:center;font-size:14px;line-height:20px}.edit-label>.ico{width:16px;height:16px}
.edit-context{display:flex;flex-direction:column;gap:4px;background:var(--sage);padding:16px;border-radius:8px;margin-bottom:24px}.edit-context>span{font-size:14px;line-height:20px;color:var(--green)}.edit-context>strong{font-size:20px;line-height:28px}.edit-context>small{font-size:12px;line-height:20px;color:var(--muted)}
#edit-form fieldset{margin:24px 0;padding:0;border:0;min-width:0}#edit-form legend{font-size:16px;line-height:24px;font-weight:600;margin-bottom:8px;padding:0}
#edit-form .form-field{font-size:14px;line-height:20px;color:var(--ink);margin:12px 0}#edit-form .form-field input,#edit-form .form-field textarea{font-size:16px;line-height:24px;padding:12px;margin-top:8px;background:var(--paper);border-radius:8px}
#edit-form .form-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}#edit-form .form-pair>.form-field{min-width:0;margin:0}
#edit-form .hint{font-size:12px;line-height:20px}#edit-form .checkbox-field{font-size:14px;line-height:20px;align-items:flex-start}
#edit-form input:disabled{background:var(--sage);color:var(--muted)}.time-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.time-shortcuts button{padding:8px;font-size:12px;line-height:16px;border:1px solid var(--line);border-radius:8px;color:var(--green)}
.time-shortcuts button:hover,.reason-shortcuts button:hover{background:var(--sage)}.reason-shortcuts{display:flex;flex-wrap:wrap;gap:8px}.reason-shortcuts button{border:1px solid var(--line);border-radius:8px;padding:8px;font-size:12px;line-height:16px;color:var(--green);text-align:left}
.edit-scope{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:20px;color:var(--muted)}.edit-scope>.ico{width:16px;height:16px;flex:none;margin-top:2px}
.edit-footer{display:flex;gap:8px;justify-content:flex-end;padding-top:16px}.edit-footer>.btn{font-size:14px;line-height:20px;padding:12px;min-height:44px}
#edit-error{font-size:14px;line-height:20px;margin-top:12px;color:#8a6237}
.change-table{margin:24px 0}.change-table>div{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:20px;overflow-wrap:anywhere}
.change-table .change-table-head{color:var(--muted);font-size:12px}.change-table strong{color:var(--green)}.change-table b{font-weight:500}.change-table>div>span{color:var(--muted)}
.change-reason{background:var(--sage);padding:16px;border-radius:8px}.change-reason>b{font-size:12px;line-height:16px}.change-reason>p{font-size:14px;line-height:24px;margin:8px 0 0}
.sheet-inner .sheet-note{font-size:12px;line-height:20px;color:var(--muted)}.sheet-inner .sheet-caption{font-size:12px;line-height:20px;color:var(--muted)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}
button:disabled{cursor:default;opacity:.4}button{touch-action:manipulation}
#print-root{display:none}
.print-dialog{width:1100px;max-width:calc(100vw - 32px);border-radius:16px}
.print-dialog .sheet-inner{padding:24px}.print-options{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.print-options>span{font-size:12px;line-height:20px;color:var(--muted)}.print-options .btn{margin-left:auto;font-size:14px;line-height:20px;padding:12px}
.print-options .checkbox-field{font-size:14px;line-height:20px;color:var(--ink);margin:0}.print-dialog .print-help{font-size:12px;line-height:20px;color:var(--muted);margin:16px 0}
.print-preview{overflow:auto;background:var(--sage);border:1px solid var(--line);padding:16px;border-radius:8px}
.print-page{font-family:var(--sans);background:#fff;color:var(--ink);padding:32px;width:100%;min-width:900px;aspect-ratio:277/190;display:flex;flex-direction:column;box-sizing:border-box}
.print-masthead{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.print-brand{display:flex;gap:12px;align-items:center}.print-brand>img{width:48px;height:48px}.print-brand strong{font-family:var(--serif);font-size:24px;line-height:32px;font-weight:600}.print-brand span{display:block;font-size:12px;line-height:20px;color:var(--muted);margin-top:4px}
.print-title{text-align:right}.print-title>span{font-size:12px;line-height:16px;letter-spacing:2px;color:var(--muted)}.print-title h1{font-size:30px;line-height:36px;font-weight:500;letter-spacing:-1px;margin:4px 0;font-variant-numeric:tabular-nums}.print-title p{font-size:12px;line-height:16px;margin:0;color:var(--muted)}
.print-legend{display:flex;gap:16px;align-items:center;margin-bottom:16px;font-size:12px;line-height:16px}.print-legend>span{display:flex;align-items:center;gap:4px}.print-legend i{background:var(--class-tone);width:8px;height:8px;border-radius:50%}.print-legend-note{margin-left:auto;color:var(--muted)}
.print-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden;flex:1;min-height:0}
.print-day{min-width:0;border-right:1px solid var(--line)}.print-day:last-child{border-right:0}.print-day h2{font-family:var(--sans);font-size:18px;line-height:28px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:12px 4px;background:var(--sage);border-bottom:1px solid var(--line)}.print-day h2>span{font-size:14px;line-height:20px}
.print-day-body{padding:8px;display:flex;flex-direction:column;gap:8px}.print-class{border:1px solid var(--class-edge);background:var(--class-wash);padding:8px;border-radius:4px;break-inside:avoid}
.print-class-time{display:flex;align-items:center;justify-content:space-between;gap:4px}.print-class-time>strong{font-size:18px;line-height:24px;font-weight:600;color:var(--class-tone);font-variant-numeric:tabular-nums}.print-class-time>span{font-size:12px;line-height:16px;color:var(--ink)}.print-class h3{font-size:14px;line-height:20px;margin:4px 0;font-weight:600;word-break:keep-all;overflow-wrap:anywhere}.print-class p{font-size:12px;line-height:16px;margin:0 0 4px;color:var(--ink)}.print-class small{font-size:12px;line-height:16px;color:var(--muted);display:block}.print-no-class{font-size:12px;line-height:20px;text-align:center;color:var(--muted);margin:24px 0}
.print-selected{border:2px solid var(--green);padding:7px}.print-selection{display:block;font-size:12px;line-height:16px;margin-top:4px;color:var(--green);font-weight:600}.print-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-top:16px;margin-top:auto}.print-footer strong{font-size:12px;line-height:20px;font-weight:600}.print-footer p{font-size:12px;line-height:20px;margin:4px 0 0;color:var(--muted)}.print-footer .print-demo{color:var(--ink)}.print-footer>span{font-size:12px;line-height:20px;text-align:right;white-space:nowrap;color:var(--muted)}
@media(max-width:800px){
 .week-day-content{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;gap:8px;padding:8px}.week-day{grid-template-columns:40px minmax(0,1fr)}.week-day-heading{height:auto;padding:8px 0;gap:2px}.week-day-heading>span{font-size:12px;line-height:16px}.week-day-heading>strong{font-size:16px;line-height:24px}.week-day-heading>small{font-size:12px;line-height:16px}.week-session{padding:8px;gap:4px}.week-session.has-plan{padding:7px}.week-session-top>strong{font-size:16px;line-height:24px}.week-session-name{font-size:12px;line-height:16px}.week-session-tags>span{font-size:12px;line-height:16px}.selection-label{font-size:12px;line-height:16px;padding:4px;gap:2px}.selection-label>.ico{display:none}.selection-mark{width:16px;height:16px}.selection-mark>.ico{width:12px;height:12px}.week-period{padding:0!important}.week-toolbar{gap:12px}.week-controls .week-nav button{width:32px;height:32px}.week-reset{display:none}.print-button{padding:8px;font-size:12px;line-height:16px}.week-guide{row-gap:12px}.week-guide .class-legend{gap:12px;flex-wrap:wrap}.week-total{margin-left:auto}.management-bottom{grid-template-columns:1fr;gap:16px}.management-toolbar{gap:12px}.management-actions{justify-content:space-between;width:100%}.manage-hint{font-size:12px;line-height:20px;padding:12px}.management-week .edit-affordance{font-size:12px}.print-dialog .sheet-inner{padding:16px}.print-dialog{max-width:calc(100vw - 16px)}.print-options .btn{margin-left:0;width:100%}.print-preview{padding:8px}
}
@media(max-width:550px){
 .week-day-content{grid-template-columns:repeat(3,minmax(0,1fr))}.week-day{grid-template-columns:32px minmax(0,1fr)}.week-session-top>strong{font-size:14px;line-height:20px}.week-session{padding:8px 4px}.week-session.has-plan{padding:7px 3px}.week-controls{gap:4px}.week-toolbar h2{font-size:20px;line-height:28px}.week-eyebrow{font-size:12px}.week-controls .week-nav{gap:4px}.print-button .ico{display:none}.selection-toolbar{align-items:flex-start;gap:8px}.selection-key{gap:8px;max-width:180px}.mine-filter{padding:8px}.week-bottom-note>p{font-size:12px;line-height:20px}.admin-list,.management-bottom .admin-panel{padding:16px}.admin-session-row{gap:8px;flex-wrap:wrap}.admin-session-row>strong{min-width:56px;font-size:16px;line-height:24px}.admin-session-row b{font-size:14px;line-height:20px}.admin-seat-count{width:100%;order:4;padding-left:64px}.admin-session-row .edit-label{font-size:12px;gap:0}.change-table>div{grid-template-columns:64px minmax(0,1fr) minmax(0,1fr);gap:8px}.edit-footer>.btn{font-size:14px}.mode-banner{align-items:flex-start;font-size:12px;line-height:20px;padding:12px}.mode-banner button{font-size:12px;white-space:nowrap}.page-heading:has([data-member-schedule]){display:block}.page-heading>[data-member-schedule]{margin-top:12px;font-size:12px!important}.page-heading:has([data-member-schedule]) p{font-size:12px;line-height:20px}.selection-alert{font-size:12px;line-height:16px}
}
@media(max-width:360px){.week-day-content{gap:4px;padding:4px}.week-controls .week-nav button{width:32px;height:32px}.selection-key{max-width:144px}.week-toolbar{gap:4px}.week-toolbar h2{font-size:18px;line-height:28px}.print-button{padding:8px 4px}.week-session-top{gap:2px}.selection-mark{width:12px;height:12px}.selection-mark>.ico{width:10px;height:10px}.week-session.has-plan{padding:7px 3px}.week-session-name{font-size:12px;line-height:16px}}
@media(prefers-reduced-motion:reduce){.week-session{transition:none}.week-session:active{transform:none}}
@page{size:A4 landscape;margin:10mm}
@media print{
 html,body{margin:0!important;padding:0!important;width:auto!important;background:#fff!important;overflow:visible!important;color:#293e34!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 body>*:not(#print-root){display:none!important}#print-root{display:block!important}dialog::backdrop{display:none!important}
 .print-page{width:277mm;height:190mm;min-width:0;aspect-ratio:auto;padding:0;margin:0;break-inside:avoid;box-shadow:none;overflow:visible}
 .print-masthead{margin-bottom:16px}.print-week-grid{min-height:0}.print-day-body{padding:8px;gap:8px}.print-title h1{font-size:30px;line-height:36px}.print-footer{padding-top:16px}.print-page *{box-shadow:none!important;text-shadow:none!important}
}

@media(min-width:361px) and (max-width:550px){.week-day-content{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:8px 4px}.week-session-top{gap:2px}.selection-mark{width:12px;height:12px}.selection-mark>.ico{width:10px;height:10px}.selection-label{padding:4px 2px}}
.print-page{padding:24px}.print-masthead{margin-bottom:16px}.print-day h2{padding:8px 4px}.print-class p{margin:0}.print-class h3{margin:4px 0}.print-week-grid{overflow:visible}.print-day:first-child h2{border-top-left-radius:8px}.print-day:last-child h2{border-top-right-radius:8px}
@media print{.print-page{padding:0}}

@media(max-width:800px){.week-day-content{grid-template-columns:repeat(var(--day-columns,4),minmax(0,1fr))}}
@media(max-width:360px){.week-day-content{grid-template-columns:repeat(var(--day-columns-small,3),minmax(0,1fr))}}
.page-heading>[data-member-schedule]{display:inline-flex!important;align-items:center;gap:8px}
@media(min-width:801px){
 .weekly-grid{grid-template-rows:64px minmax(200px,auto) minmax(200px,auto)}
 .week-day{display:grid;grid-template-rows:subgrid;grid-row:span 3}
 .week-day-content{display:contents}
 .week-day-heading{grid-row:1}
 .week-period.morning{grid-row:2;padding:12px 8px 16px}
 .week-period.evening{grid-row:3;padding:12px 8px 16px}
 .week-day-content>.week-empty{grid-row:2 / span 2}
}

/* v9 · photograph-free member experience */
[hidden]{display:none!important}
.practice-pause{padding:24px;background:#f2f3e9;border:1px solid var(--line);border-radius:12px;text-align:left}
.practice-pause>img{height:160px;width:100%;object-fit:contain;margin:8px 0 16px}
.practice-pause h2{font:500 20px/1.5 var(--serif);margin:0 0 8px;color:var(--ink)}
.practice-pause p{color:var(--muted);font-size:14px;line-height:1.7;margin:8px 0 16px}
.class-art-cover.pelvis{background:#f7f0e7}.class-art-cover.mysore{background:#edf3f1}
.illustrated-weekend{min-height:176px!important;height:176px!important;background:#edf3ef}
.illustrated-weekend>img{width:42%;height:144px;position:absolute;right:16px;bottom:8px;object-fit:contain;filter:none}
.illustrated-weekend .overline{left:24px;top:24px;color:#65796d;text-shadow:none;font-size:10px;letter-spacing:1px;max-width:48%}
.illustrated-weekend h3{left:24px;bottom:32px;right:auto;max-width:50%;color:var(--ink);text-shadow:none;font-size:24px;line-height:1.5}
.notice-art{background:#f2f3e9;border-radius:12px;min-width:160px;display:grid;place-items:center;padding:16px}.notice-art img{height:160px;object-fit:contain}
.class-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.class-guide-card{background:#fffdf6;border:1px solid var(--line);border-radius:12px;padding:24px;display:grid;grid-template-columns:1fr auto;text-align:left;gap:16px;align-items:center;transition:border-color .15s}
.class-guide-card:hover{border-color:#6b806a}.class-guide-card>img{height:176px;width:100%;object-fit:contain;grid-column:1/-1}
.class-guide-card strong{display:block;font-size:18px}.class-guide-card small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.class-guide-card.hatha{background:#f7f0f3}.class-guide-card.healing{background:#f1f5ed}.class-guide-card.pelvis{background:#f7f0e7}.class-guide-card.mysore{background:#edf3f1}.class-guide-card.ashtanga{background:#f2eff5}
.week-session.plan-planned .week-session-tags:empty{display:none}.week-session.plan-planned{border-width:2px}.selection-mark{flex:none}
.membership-section{margin:0 0 32px}.membership-section .section-heading{align-items:center}.membership-section h2{margin:0}.membership-section .muted{margin:4px 0 0;font-size:14px}
.membership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.membership-grid.single{grid-template-columns:1fr}
.membership-card{background:#f1f4e9;border:1px solid #ccd6be;border-radius:12px;padding:24px;position:relative;min-width:0;color:#344831}
.membership-card.future{background:#faf6eb;border-color:#e5dcc5}.membership-card.expired,.membership-card.spent{background:#f5f5f0;border-color:var(--line);color:#6a7164}
.pass-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.pass-card-top .eyebrow{font-size:12px;letter-spacing:.5px}
.pass-status{border:1px solid #b8c7a6;border-radius:4px;padding:2px 8px;font-size:12px;background:#e4ecd9;white-space:nowrap}.pass-status.future{background:#f4ead2;border-color:#ddcfaa}.pass-status.expired,.pass-status.spent{background:#e9ebe3;border-color:#d7dbcd}
.membership-card h3{font:500 20px/1.5 var(--serif);margin:16px 0 8px;color:inherit}.pass-balance{display:flex;align-items:baseline;gap:12px}.pass-balance>strong{font:500 40px/1.4 var(--sans);letter-spacing:-1px;font-variant-numeric:tabular-nums}.pass-balance strong small{font-size:18px;margin-left:4px}.pass-balance>span{font-size:14px;color:#65715e}.pass-dates{font-size:14px;font-variant-numeric:tabular-nums;margin:12px 0;color:#59684f}
.pass-meter{height:4px;border-radius:2px;background:#dce4d1;overflow:hidden;margin:16px 0}.pass-meter span{height:100%;display:block;background:#6f8859;border-radius:2px}
.pass-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}.pass-card-bottom>span{font-size:12px;color:#65715e;line-height:1.6}.pass-card-bottom .small-link{white-space:nowrap;font-size:12px}.pass-card-bottom .ico{width:16px;height:16px}
.membership-empty{display:flex;align-items:center;gap:24px;border:1px dashed #ccd3c0;padding:24px;border-radius:12px;background:#fafbf5}.membership-empty>div{flex:1}.membership-empty h3{font-size:18px;margin:0 0 8px}.membership-empty p{font-size:14px;color:var(--muted);margin:0}.empty-pass-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e9efde}
.membership-note{color:var(--muted);font-size:12px;line-height:1.7;margin:12px 0 0}.member-preview-label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.member-preview-label select{max-width:160px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px 12px;color:var(--ink);font-size:14px;min-height:44px}
.ended-passes{margin:16px 0}.ended-passes summary{cursor:pointer;color:var(--muted);padding:8px 0;font-size:14px}.ended-passes[open] summary{margin-bottom:8px}
.admin-section-tabs{display:flex;border-bottom:1px solid var(--line);gap:24px;margin:24px 0}.admin-section-tabs button{padding:12px 4px;font-size:16px;border-bottom:2px solid transparent;color:var(--muted)}.admin-section-tabs button.active{border-color:var(--green);color:var(--green);font-weight:600}
.member-admin-intro{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:24px 0}.member-admin-intro strong{font-size:16px}.member-admin-intro p{color:var(--muted);font-size:14px;margin:8px 0 0}.member-search input{width:240px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:16px}
.member-list{border-top:1px solid var(--line)}.member-row{display:flex;align-items:center;gap:16px;padding:24px 8px;border-bottom:1px solid var(--line);width:100%;text-align:left}.member-row:hover{background:#f2f4eb}.member-row strong{display:block;font-size:16px}.member-row small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.member-row-balance{margin-left:auto;font-size:14px;color:var(--green);max-width:40%}.member-search-empty{padding:24px;color:var(--muted)}
.member-sheet-actions,.pass-detail-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:16px 0 24px}.member-sheet-actions>.small-link{margin-left:auto}
#pass-form,#attendance-form{display:grid;gap:16px;margin-top:24px}#pass-form .form-field,#attendance-form .form-field{margin:0}
#pass-form input,#pass-form select,#attendance-form input,#attendance-form select{font-size:16px;color:var(--ink);padding:12px;background:var(--paper)}
#pass-form .form-pair{gap:16px}#pass-form .form-error,#attendance-form .form-error{margin:0;font-size:14px;line-height:1.6;min-height:0;color:#994b32}#pass-form .form-error:empty,#attendance-form .form-error:empty{display:none}
.form-hint{font-size:12px!important;line-height:1.7!important;color:var(--muted)!important;margin:0}.usage-heading{border-bottom:1px solid var(--line);padding-bottom:12px;margin-top:24px}.usage-heading h3{font-size:16px;margin:0}.usage-heading>span{font-size:12px;color:var(--muted)}
.usage-list{padding:0;margin:0;list-style:none}.usage-list li{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.usage-dot{width:8px;height:8px;border-radius:50%;background:#879b6e;flex:none}.usage-list strong,.usage-baseline strong{font-size:14px;display:block}.usage-list small,.usage-baseline small{font-size:12px;color:var(--muted);display:block;margin-top:4px}.usage-list button{margin-left:auto;font-size:12px;padding:8px}.usage-list .reversed strong{text-decoration:line-through;color:var(--muted)}.usage-list .reversed .usage-dot{background:#ccd1c3}.usage-empty{padding:16px 0;color:var(--muted);font-size:14px}.usage-baseline{padding:16px 0;border-bottom:1px solid var(--line)}
@media(max-width:800px){.class-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-guide-card{padding:16px;gap:12px}.class-guide-card>img{height:144px}.membership-grid{grid-template-columns:1fr}.membership-section .section-heading{align-items:flex-start}.membership-empty{gap:16px;flex-wrap:wrap}.membership-empty .btn{margin-left:64px}.member-admin-intro{align-items:stretch;flex-direction:column;gap:16px}.member-search input{width:100%}.pass-balance>strong{font-size:32px}.member-preview-label{flex-direction:column;align-items:flex-end;gap:4px}.membership-card{padding:24px}.notice-art{min-width:120px}.member-row{padding:16px 0;gap:12px}.member-row-balance{font-size:12px;max-width:30%}.practice-pause>img{height:144px}}
@media(max-width:440px){.membership-card{padding:16px}.membership-empty{padding:16px}.membership-empty .empty-pass-icon{display:none}.membership-empty .btn{margin-left:0}.pass-dates{font-size:12px}.pass-card-bottom{align-items:flex-start}.class-guide-card{padding:12px}.class-guide-card strong{font-size:16px}.class-guide-card>img{height:128px}.class-guide-card small{font-size:12px;line-height:1.6}.illustrated-weekend{height:160px!important;min-height:160px!important}.illustrated-weekend h3{font-size:20px}.member-row .member-avatar{display:none}.pass-detail-actions .btn{flex:1}.member-sheet-actions .small-link{margin-left:0}}
@media(prefers-reduced-motion:reduce){.class-guide-card{transition:none}}
.saved-classes-heading{margin:32px 0 16px}.saved-classes-heading h2{margin:0;font-size:18px}.saved-classes-heading h2 span{font:500 16px var(--sans);color:#819268;margin-left:8px}.saved-classes-heading .small-link{font-size:12px}
@media(min-width:801px){.membership-section .membership-grid:has(>.membership-card:only-child){grid-template-columns:1fr}.membership-section .membership-card:only-child{display:grid;grid-template-columns:1fr auto;column-gap:40px}.membership-section .membership-card:only-child .pass-card-top{grid-column:1/-1}.membership-section .membership-card:only-child h3{grid-column:1;grid-row:2;margin-top:12px}.membership-section .membership-card:only-child .pass-balance{grid-column:2;grid-row:2/5;align-self:center;min-width:240px;justify-content:center}.membership-section .membership-card:only-child .pass-dates{grid-column:1;grid-row:3;margin:0}.membership-section .membership-card:only-child .pass-meter{grid-column:1;grid-row:4;margin:12px 0 0}.membership-section .membership-card:only-child .pass-card-bottom{grid-column:1/-1}.membership-section .membership-card:only-child .pass-balance>strong{font-size:48px}}
/* Independent mobile installation help */
.phone-install-guide{display:grid;gap:16px;margin:24px 0}.phone-install-guide section{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.phone-install-guide h3{font-size:16px;line-height:24px;margin:0 0 8px;color:var(--ink)}.phone-install-guide ol{padding-left:24px;margin:0;font-size:14px;line-height:24px;color:var(--muted)}.phone-install-guide li+li{margin-top:8px}.phone-install-guide strong{font-weight:600;color:var(--ink)}#install-status:empty{display:none}.app-footer>div{flex-wrap:wrap}
