:root{color:#182033;background:#f7f9fc;font-family:Inter,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;font-synthesis:none;line-height:1.8;text-rendering:optimizeLegibility;--navy: #0b162a;--ink: #182033;--muted: #5e6878;--line: #c9d3dc;--soft-line: #dde5ec;--surface: #ffffff;--surface-muted: #edf2f5;--blue: #9cb6c8;--taupe: #d8cbc0;--radius: 8px;--shadow: 0 16px 44px rgba(11, 22, 42, .09)}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit}img{display:block;max-width:100%}button,input,textarea{font:inherit}.skip-link{position:absolute;left:16px;top:-80px;z-index:100;background:var(--surface);border:2px solid var(--navy);padding:10px 14px}.skip-link:focus{top:16px}.site-header{position:sticky;top:0;z-index:20;background:#f7f9fcf0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.header-inner,.container,.footer-inner{width:min(1120px,calc(100% - 40px));margin:0 auto}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}.brand-mark{display:inline-flex;align-items:center;gap:12px;min-width:max-content;text-decoration:none}.brand-logo{width:54px;height:54px;border-radius:var(--radius);border:1px solid var(--line);object-fit:cover}.brand-mark strong,.brand-mark small{display:block;line-height:1.2}.brand-mark small{color:var(--muted);font-size:12px;margin-top:3px}.main-nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.main-nav a{border:1px solid transparent;border-radius:var(--radius);color:var(--muted);font-size:14px;font-weight:700;line-height:1.2;padding:10px 12px;text-decoration:none}.main-nav a:hover,.main-nav a:focus-visible,.main-nav a.active{border-color:var(--line);color:var(--navy);outline:none}.hero-section{background:linear-gradient(90deg,var(--navy) 0%,#14213a 60%,#24314a 100%);color:var(--surface)}.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:56px;width:min(1120px,calc(100% - 40px));min-height:620px;margin:0 auto;padding:96px 0 84px;align-items:center}.hero-copy h1,.page-hero h1{font-family:Georgia,Times New Roman,serif;font-size:48px;line-height:1.22;letter-spacing:0;margin:0}.hero-copy p,.page-hero p{color:#f7f9fcd1;font-size:17px;max-width:680px}.hero-panel{border:1px solid rgba(247,249,252,.22);border-radius:var(--radius);padding:32px;background:#ffffff0f}.hero-panel p{font-family:Georgia,serif;font-size:34px;line-height:1.2;margin:0 0 28px}.hero-panel ul{display:grid;grid-template-columns:1fr 1fr;gap:12px;list-style:none;margin:0;padding:0}.hero-panel li{border:1px solid rgba(247,249,252,.22);border-radius:var(--radius);padding:14px;text-align:center}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{align-items:center;border-radius:var(--radius);display:inline-flex;font-weight:800;justify-content:center;line-height:1.25;min-height:48px;padding:12px 18px;text-decoration:none;transition:transform .16s ease,background .16s ease,border .16s ease}.button:hover,.button:focus-visible{transform:translateY(-1px);outline:none}.button.primary{background:var(--navy);border:1px solid var(--navy);color:var(--surface)}.button.secondary{background:transparent;border:1px solid var(--line);color:var(--navy)}.hero-section .button.secondary{color:var(--surface)}.button.light{background:var(--surface);border:1px solid var(--surface);color:var(--navy)}.section{padding:84px 0}.section.muted,.page-hero{background:var(--surface-muted)}.dark-band{background:var(--navy);color:var(--surface)}.page-hero{border-bottom:1px solid var(--line);padding:86px 0 72px}.page-hero h1{color:var(--navy);max-width:860px}.page-hero p{color:var(--muted)}.service-detail-hero img{aspect-ratio:1 / 1;border:1px solid var(--line);border-radius:var(--radius);object-fit:cover}.eyebrow{color:var(--blue);font-size:13px;font-weight:900;letter-spacing:0;margin:0 0 10px;text-transform:uppercase}.section-header{max-width:760px;margin-bottom:34px}.section-header h2,.detail-section h2,.contact-aside h2,.info-block h2,.legal-body h2{color:var(--navy);font-family:Georgia,Times New Roman,serif;font-size:34px;line-height:1.28;letter-spacing:0;margin:0 0 12px}.section-header p,.lead-text,.narrow p,.detail-section p,.contact-aside p,.legal-body p{color:var(--muted)}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:48px;align-items:start}.lead-text{border-left:3px solid var(--blue);font-size:18px;margin:44px 0 0;padding-left:22px}.entrance-grid,.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.entrance-item,.info-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.entrance-item h3,.service-card h3{color:var(--navy);font-size:20px;line-height:1.35;margin:10px 0}.entrance-item p,.service-card p,.info-block li{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:inherit;display:flex;flex-direction:column;min-height:100%;padding:18px;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.service-card:hover,.service-card:focus-visible{border-color:var(--navy);box-shadow:var(--shadow);outline:none;transform:translateY(-2px)}.service-card img{aspect-ratio:1 / 1;border:1px solid var(--soft-line);border-radius:var(--radius);object-fit:cover;width:100%}.label-row{align-self:flex-start;display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.category-label{background:#edf4f7;border:1px solid var(--line);border-radius:999px;color:var(--navy);font-size:12px;font-weight:900;line-height:1.2;padding:7px 10px}.price{color:var(--navy)!important;font-weight:900}.text-link{color:var(--navy);font-weight:900;margin-top:auto;padding-top:16px}.center-action{margin-top:34px;text-align:center}.cta-band{align-items:center;display:flex;gap:28px;justify-content:space-between}.cta-band h2{font-family:Georgia,Times New Roman,serif;font-size:34px;line-height:1.32;margin:0}.sitemap-list{display:grid;gap:12px}.sitemap-list a,.legal-links a{border-bottom:1px solid var(--line);color:var(--navy);font-weight:800;padding:14px 0;text-decoration:none}.profile-layout{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1fr);gap:52px;align-items:center}.profile-layout img{border:1px solid var(--line);border-radius:var(--radius);width:100%}.info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.about-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.info-block h3{color:var(--navy);font-size:15px;line-height:1.4;margin:20px 0 6px}.info-block ul,.check-list,.site-footer ul{list-style:none;margin:0;padding:0}.info-block li,.check-list li{border-top:1px solid var(--soft-line);padding:12px 0}.sns-activity-grid{display:grid;gap:12px}.sns-activity-grid li{border-top:0;padding:0}.sns-activity-card{border:1px solid var(--soft-line);border-radius:var(--radius);color:var(--ink);display:grid;gap:12px;padding:16px;text-decoration:none;transition:border-color .16s ease,transform .16s ease}.sns-activity-card:hover,.sns-activity-card:focus-visible{border-color:var(--blue);outline:0;transform:translateY(-2px)}.sns-media-name{color:var(--navy);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.sns-card-body{align-items:center;display:flex;gap:12px}.sns-logo-image{border-radius:12px;display:block;height:44px;object-fit:contain;width:44px}.sns-account-name{color:var(--ink);font-size:15px;font-weight:800;line-height:1.45}.narrow{max-width:820px}.background-block{border-top:1px solid var(--soft-line);padding:24px 0}.background-block h3{color:var(--navy);font-size:20px;line-height:1.35;margin:0 0 10px}.background-block p,.background-block .check-list{margin-bottom:0}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}.detail-main{display:grid;gap:42px}.detail-section{border-bottom:1px solid var(--line);padding-bottom:36px}.detail-price{color:var(--navy)!important;font-size:22px;font-weight:900}.check-list li:before{content:"";display:inline-block;width:9px;height:9px;margin-right:10px;background:var(--blue)}.detail-side,.contact-aside{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:sticky;top:100px}.detail-side .button{width:100%;margin-top:10px}.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:44px;align-items:start}.contact-form{display:grid;gap:22px}.contact-form label,.contact-form fieldset{color:var(--navy);font-weight:900}.contact-form span,.contact-form legend span{color:#6f4b3e;font-size:12px;margin-left:4px}.contact-form input,.contact-form textarea{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:block;margin-top:8px;min-height:48px;padding:12px 14px;width:100%}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--navy);outline:3px solid rgba(156,182,200,.35)}.contact-form fieldset{border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:18px}.inline-choice{align-items:center;display:flex;gap:9px;font-weight:600!important;margin:8px 0}.inline-choice input{display:inline-block;margin:0;min-height:auto;width:auto}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}.form-note{background:#edf4f7;border:1px solid var(--line);border-radius:var(--radius);color:var(--navy);padding:14px}.form-success{background:#fde7ef;border:1px solid #f5bfd1;border-radius:var(--radius);color:#7f1d3b;font-weight:900;margin:0;padding:14px 16px}.platform-hero{background:linear-gradient(90deg,var(--surface-muted) 0%,#f7f9fc 100%)}.platform-hero-grid{display:grid;gap:32px;grid-template-columns:minmax(0,1fr) 340px;align-items:end}.platform-switcher{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));padding:8px}.platform-switcher button,.platform-nav a,.status-control{background:transparent;border:1px solid transparent;border-radius:var(--radius);color:var(--muted);cursor:pointer;font-weight:900;min-height:42px;padding:10px 12px;text-align:center}.platform-switcher button.active,.platform-nav a.active,.status-control.active{background:var(--navy);border-color:var(--navy);color:var(--surface)}.platform-section{background:#f7f9fc}.platform-nav{border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px;padding-bottom:18px}.platform-nav a{border-color:var(--line);text-decoration:none}.platform-stack{display:grid;gap:28px}.platform-band{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;gap:28px;justify-content:space-between;padding:28px}.platform-band h2,.lesson-landing h2{color:var(--navy);font-family:Georgia,Times New Roman,serif;font-size:34px;line-height:1.28;margin:0 0 12px}.platform-band p,.platform-card p,.platform-muted,.platform-note{color:var(--muted)}.platform-badge,.status-badge{background:#edf4f7;border:1px solid var(--line);border-radius:999px;color:var(--navy);display:inline-flex;font-size:12px;font-weight:900;line-height:1.3;padding:8px 11px;white-space:nowrap}.platform-grid{display:grid;gap:18px}.platform-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.platform-card,.kpi-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.platform-card h3{color:var(--navy);font-size:20px;line-height:1.35;margin:0 0 12px}.feature-card{display:flex;flex-direction:column}.feature-card img{aspect-ratio:16 / 10;border:1px solid var(--soft-line);border-radius:var(--radius);margin-bottom:18px;object-fit:cover;width:100%}.feature-card .button{align-self:flex-start;margin-top:auto}.lesson-landing{align-items:center;display:grid;gap:38px;grid-template-columns:minmax(0,1fr) 420px}.lesson-landing img{aspect-ratio:1 / 1;border:1px solid var(--line);border-radius:var(--radius);object-fit:cover;width:100%}.delivery-grid,.lesson-menu-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}.delivery-grid article,.lesson-menu-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.delivery-grid span,.lesson-menu-card span{color:var(--blue);display:block;font-size:12px;font-weight:900;text-transform:uppercase}.delivery-grid strong,.lesson-menu-card strong{color:var(--navy);display:block;line-height:1.4;margin:4px 0 8px}.lesson-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-menu-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:grid;gap:8px;text-align:left;transition:border-color .16s ease,transform .16s ease}.lesson-menu-card:hover,.lesson-menu-card:focus-visible{border-color:var(--blue);outline:0;transform:translateY(-2px)}.lesson-menu-card p,.lesson-menu-card small{color:var(--muted);margin:0}.platform-column{align-content:start;display:grid;gap:20px}.lesson-category-stack{display:grid;gap:24px;margin-top:22px}.lesson-category-section{display:grid;gap:14px}.lesson-category-heading{border-bottom:1px solid var(--soft-line);padding-bottom:10px}.lesson-category-heading span{color:var(--blue);display:block;font-size:12px;font-weight:900;text-transform:uppercase}.lesson-category-heading h4{color:var(--navy);font-size:20px;line-height:1.35;margin:4px 0 0}.price-preview{background:#edf4f7;border:1px solid var(--line);border-radius:var(--radius);color:var(--navy)!important;font-weight:900;margin:0;padding:12px 14px}.price-preview span{display:block}.price-preview span+span{margin-top:4px}.platform-list{list-style:none;margin:16px 0 0;padding:0}.platform-list li{border-top:1px solid var(--soft-line);color:var(--muted);padding:11px 0}.platform-list li:before{background:var(--blue);content:"";display:inline-block;height:8px;margin-right:10px;width:8px}.platform-form{display:grid;gap:16px}.platform-form label,.metric-editor label{color:var(--navy);display:grid;font-weight:900;gap:7px}.platform-form input,.platform-form textarea,.platform-form select,.metric-editor input,.platform-textarea{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);min-height:46px;padding:11px 13px;width:100%}.platform-form button:disabled{cursor:not-allowed;opacity:.55}.form-error,.form-success{border:1px solid var(--line);border-radius:var(--radius);font-weight:900;margin:0;padding:12px 14px}.form-error{background:#f3e7e7;color:#7a3434}.form-success{background:#e8f2ec;color:#275a3f}.lesson-rules{display:grid;gap:18px}.lesson-rules h4{color:var(--navy);font-size:15px;margin:0}.owner-control .button{align-self:end}.blocked-list{display:flex;flex-wrap:wrap;gap:8px}.blocked-list span{align-items:center;background:#f3e7e7;border:1px solid #d7b4b4;border-radius:999px;color:#7a3434;display:inline-flex;font-size:13px;font-weight:900;gap:8px;padding:8px 10px}.blocked-list button{background:transparent;border:0;color:inherit;cursor:pointer;font-size:16px;line-height:1;padding:0}.purchase-panel{max-width:720px}.purchase-panel.is-complete{border-color:#26608173;box-shadow:0 22px 80px #06182642}.purchase-complete{background:#eaf4f8;border:1px solid rgba(38,96,129,.28);border-radius:var(--radius);color:var(--navy);display:grid;gap:4px;margin:14px 0;padding:14px 16px}.purchase-complete strong{font-size:.98rem}.purchase-complete span{color:var(--muted);font-size:.92rem;line-height:1.7}.purchase-summary{display:grid;gap:10px;margin:18px 0}.purchase-summary p{border-bottom:1px solid var(--soft-line);display:grid;gap:8px;grid-template-columns:140px minmax(0,1fr);margin:0;padding-bottom:10px}.purchase-summary strong{color:var(--navy)}.purchase-summary span{color:var(--muted)}.payment-methods{border:1px solid var(--line);border-radius:var(--radius);display:flex;gap:16px;margin:0;padding:14px}.payment-methods legend{color:var(--navy);font-weight:900;padding:0 6px}.payment-methods label{align-items:center;display:flex;gap:8px}.payment-methods input{min-height:auto;width:auto}.checkbox-row{align-items:center;display:inline-flex;flex-direction:row;gap:10px;justify-content:flex-start;width:fit-content}.checkbox-row input[type=checkbox]{flex:0 0 auto;height:22px;min-height:22px;width:22px}.receipt-request-row{align-self:flex-start;color:var(--navy);font-weight:800;margin-top:2px}.delivery-methods{border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:14px}.delivery-methods legend{color:var(--navy);font-weight:900;padding:0 6px}.delivery-methods label{align-items:flex-start;background:#fbfcfd;border:1px solid var(--soft-line);border-radius:var(--radius);cursor:pointer;display:flex;gap:10px;padding:13px}.delivery-methods label.active{background:#edf4f7;border-color:var(--blue)}.delivery-methods input{margin-top:3px;min-height:auto;width:auto}.delivery-methods span{display:grid;gap:4px}.delivery-methods strong{color:var(--navy)}.delivery-methods small{color:var(--muted);line-height:1.5}.selected-slot-list{display:flex;flex-wrap:wrap;gap:8px}.selected-slot-list span{background:#edf4f7;border:1px solid var(--line);border-radius:999px;color:var(--navy);font-size:13px;font-weight:900;line-height:1.35;padding:8px 10px}.checkbox-line{align-items:center;display:flex!important;gap:10px!important}.checkbox-line input{min-height:auto;width:auto}.segmented-control{background:#edf4f7;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));padding:6px}.segmented-control button{background:transparent;border:1px solid transparent;border-radius:calc(var(--radius) - 2px);color:var(--navy);cursor:pointer;font-weight:900;min-height:42px;padding:9px 12px}.segmented-control button.active{background:var(--surface);border-color:var(--line);box-shadow:0 4px 14px #0b162a14}.nested-form{border-top:1px solid var(--soft-line);padding-top:16px}.time-slider-control{align-content:start}.time-slider-control span{align-items:center;display:flex;justify-content:space-between}.time-slider-control strong{background:#edf4f7;border:1px solid var(--line);border-radius:999px;color:var(--navy);font-size:13px;padding:4px 10px}.platform-form .time-slider-control input[type=range]{accent-color:var(--navy);border:0;min-height:46px;padding:0}.weekday-picker{border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:14px}.weekday-picker legend{color:var(--navy);font-weight:900;padding:0 6px}.weekday-picker button{background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--navy);cursor:pointer;font-weight:900;min-height:38px;min-width:42px;padding:7px 12px}.weekday-picker button.active{background:#edf4f7;border-color:var(--blue);color:var(--blue)}.receipt-preview{background:#fbfcfd;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:16px;margin-top:18px;padding:20px}.receipt-preview h4{color:var(--navy);font-size:22px;margin:4px 0 0}.receipt-preview dl{display:grid;gap:0;margin:0}.receipt-preview dl>div{border-top:1px solid var(--soft-line);display:grid;gap:10px;grid-template-columns:160px minmax(0,1fr);padding:11px 0}.receipt-preview dt{color:var(--navy);font-weight:900}.receipt-preview dd{color:var(--muted);margin:0}.receipt-preview>p{color:var(--muted);margin:0}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:18px}.review-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.review-form-compact{gap:12px;padding:18px}.review-form-compact h3,.review-form-compact p{margin-bottom:0}.review-form-inline{align-items:end;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.review-card,.review-card-pending{background:#fbfcfd;border:1px solid var(--soft-line);border-radius:var(--radius);display:grid;gap:12px;padding:18px}.review-card p{color:var(--muted);margin:0}.review-card footer{border-top:1px solid var(--soft-line);display:grid;gap:3px;padding-top:12px}.review-card footer strong{color:var(--navy)}.review-card footer span{color:var(--muted);font-size:12px}.review-stars{color:#b9852e;font-size:18px;letter-spacing:0}.review-card-pending{background:var(--surface)}.review-card-pending .review-card{border:0;padding:0}.rating-picker{border:1px solid var(--line);border-radius:var(--radius);display:flex;gap:6px;margin:0;padding:14px}.rating-picker legend{color:var(--navy);font-weight:900;padding:0 6px}.rating-picker button{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);cursor:pointer;font-size:22px;line-height:1;min-height:42px;width:44px}.rating-picker button.active{background:#fff7df;border-color:#d8ad58;color:#b9852e}.platform-form textarea,.platform-textarea{resize:vertical}.video-placeholder,.classification-box{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius);color:var(--navy);margin:18px 0;padding:18px}.login-card{margin:0 auto;max-width:620px}.login-card h2{color:var(--navy);font-family:Georgia,Times New Roman,serif;font-size:34px;line-height:1.28;margin:0}.auth-provider-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(130px,180px));justify-content:center;margin-inline:auto;width:100%}.auth-provider-grid .button{justify-content:center;min-height:44px;width:100%}.email-auth-fields{background:#f7fbfd;border:1px solid rgba(104,154,176,.28);border-radius:var(--radius);box-shadow:0 0 0 4px #84b8cf1a;display:grid;gap:14px;padding:16px}.email-auth-fields.is-active{animation:email-auth-highlight .9s ease-out}@keyframes email-auth-highlight{0%{border-color:#386f89bd;box-shadow:0 0 0 7px #84b8cf33}to{border-color:#689ab047;box-shadow:0 0 0 4px #84b8cf1a}}.student-session{align-items:flex-end;display:grid;gap:10px;justify-items:end}.video-placeholder{align-items:center;aspect-ratio:16 / 9;display:grid;justify-items:center;text-align:center}.video-placeholder span,.record-list span,.timeline-list span,.action-row span,.pipeline-list span,.kpi-card span{color:var(--muted);display:block;font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.record-list,.timeline-list,.pipeline-list,.notification-list,.action-table{display:grid;gap:12px}.record-list article,.timeline-list article,.pipeline-list article,.action-row,.notice{border:1px solid var(--soft-line);border-radius:var(--radius);padding:16px}.student-search-field,.zoom-link-editor,.purchase-history-list{display:grid;gap:7px}.student-search-field input,.zoom-link-editor input{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);min-height:44px;padding:10px 12px;width:100%}.student-search-field{margin-bottom:14px}.purchase-history-list{background:#fbfcfd;border:1px solid var(--soft-line);border-radius:var(--radius);margin:10px 0;padding:12px}.purchase-history-list p{margin:0}.zoom-link-editor{margin-top:10px}.record-list strong,.timeline-list strong,.pipeline-list strong,.action-row strong,.notice strong,.kpi-card strong{color:var(--navy)}.booking-tile-scroll{display:grid;gap:14px;grid-auto-columns:minmax(240px,300px);grid-auto-flow:column;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x mandatory}.booking-summary-tile{background:#fff;border:1px solid var(--soft-line);border-radius:var(--radius);color:var(--ink);cursor:pointer;display:grid;gap:8px;min-height:168px;padding:16px;scroll-snap-align:start;text-align:left}.booking-summary-tile:hover{border-color:var(--navy)}.booking-summary-tile span{color:var(--muted);font-size:12px;font-weight:800}.booking-summary-tile strong{color:var(--navy);font-size:16px}.booking-summary-date{color:var(--navy)!important}.booking-summary-tile.completed{background:#eef2f0;border-color:#b9c9c1;border-left:5px solid #637568}.booking-summary-tile.confirmed{background:#e9f6f5;border-color:#96d6d0;border-left:5px solid #00a99d}.booking-summary-tile.pending{background:#edf4f7;border-color:#b6cfdd;border-left:5px solid var(--blue)}.lesson-link-card{align-items:center;display:flex;gap:18px;justify-content:space-between}.status-badge.requested{background:#edf4f7}.status-badge.approved{background:#e8f2ec}.status-badge.reschedule_requested,.status-badge.cancel_requested{background:#f8efe7}.status-badge.cancelled{background:#f3e7e7}.button-row.compact{gap:8px;margin-top:14px}.button-row.compact .button{min-height:40px;padding:8px 12px}.status-control-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0}.status-control{border-color:var(--line)}.booking-calendar{display:grid;gap:12px}.calendar-toolbar{align-items:center;display:flex;justify-content:space-between}.calendar-toolbar button{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--navy);cursor:pointer;font-size:24px;height:40px;line-height:1;width:40px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{color:var(--muted);font-size:12px;font-weight:900;padding:6px;text-align:center}.calendar-cell{background:#fbfcfd;border:1px solid var(--soft-line);min-height:104px;padding:6px}.calendar-cell.blank{background:#f0f4f7}.calendar-date{color:var(--muted);display:block;font-size:12px;font-weight:900;margin-bottom:6px}.calendar-booking{background:#e9f6f5;border:1px solid #96d6d0;border-left:4px solid #00a99d;border-radius:3px;color:var(--navy);cursor:pointer;display:block;font-size:12px;font-weight:900;line-height:1.25;margin:4px 0;overflow:hidden;padding:5px;text-align:left;text-overflow:ellipsis;width:100%}.calendar-booking.requested{background:#edf4f7;border-color:var(--line);border-left-color:var(--blue)}.calendar-booking.reschedule_requested,.calendar-booking.cancel_requested{background:#f8efe7;border-color:#dfc4aa;border-left-color:#c08855}.calendar-booking.cancelled{background:#f3e7e7;border-color:#d7b4b4;border-left-color:#8c4a4a}.calendar-booking.available{background:#edf4f7;border-color:var(--line);border-left-color:var(--blue)}.calendar-booking.available.inPerson{background:#f8efe7;border-color:#dfc4aa;border-left-color:#c08855}.calendar-booking.available.selected{background:#dceff5;border-color:var(--navy);border-left-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}.calendar-booking.completed{background:#eef2f0;border-color:#b9c9c1;border-left-color:#637568}.calendar-booking.confirmed{background:#e9f6f5;border-color:#96d6d0;border-left-color:#00a99d}.calendar-booking.pending{background:#edf4f7;border-color:#b6cfdd;border-left-color:var(--blue)}.calendar-booking:disabled{cursor:default;opacity:1}.modal-backdrop{align-items:center;background:#0b162a73;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:80}.modal-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);max-width:560px;max-height:calc(100dvh - 48px);overflow-y:auto;padding:28px;position:relative;width:min(100%,560px)}.modal-panel.purchase-panel{max-width:calc(100vw - 48px);width:min(100%,880px)}.modal-panel h3{color:var(--navy);margin:0 0 14px}.modal-close{background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--navy);cursor:pointer;font-size:22px;height:38px;line-height:1;position:absolute;right:16px;top:16px;width:38px}.kpi-card{display:grid;gap:6px}.kpi-card strong{font-size:24px;line-height:1.2}.metric-editor{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.action-row{display:grid;gap:8px}.pipeline-list{grid-template-columns:repeat(5,minmax(0,1fr))}.pipeline-list article{background:#fbfcfd}.notice.approval{background:#edf4f7}.notice.warning{background:#f8efe7}.notice.info{background:#f7f9fc}.legal-body{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:40px}.legal-section-heading{border-top:1px solid var(--line);font-size:24px!important;margin-top:34px!important;padding-top:28px}.legal-section-heading:first-child{border-top:0;margin-top:0!important;padding-top:0}.legal-list{color:var(--muted);margin:12px 0 24px;padding-left:1.4em}.legal-list li{margin:8px 0;padding-left:4px}.legal-list ul{margin:8px 0 0;padding-left:1.2em}.legal-links{display:grid;gap:8px;margin-top:28px}.site-footer{background:var(--navy);color:#f7f9fcc7;padding:62px 0 24px}.footer-inner{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:34px}.site-footer h2,.footer-brand{color:var(--surface);font-size:16px;line-height:1.4;margin:0 0 14px}.footer-brand-lockup{align-items:center;display:flex;gap:14px;margin-bottom:16px}.footer-brand-lockup img{border:1px solid rgba(247,249,252,.22);border-radius:var(--radius);height:58px;object-fit:cover;width:58px}.site-footer a{color:#f7f9fce0;text-decoration-color:#f7f9fc66}.site-footer li{margin:8px 0}.footer-sns-icons{align-items:center;display:flex;gap:12px}.footer-sns-icons li{margin:0}.footer-sns-icons a,.footer-sns-icons span{align-items:center;border:1px solid rgba(247,249,252,.22);border-radius:12px;display:inline-flex;height:46px;justify-content:center;transition:border-color .16s ease,transform .16s ease;width:46px}.footer-sns-icons a:hover,.footer-sns-icons a:focus-visible{border-color:#f7f9fcb8;outline:0;transform:translateY(-2px)}.footer-sns-icons img{display:block;height:30px;object-fit:contain;width:30px}.footer-meta,.copyright{color:#f7f9fc9e}.copyright{border-top:1px solid rgba(247,249,252,.16);margin:38px auto 0;padding-top:20px;width:min(1120px,calc(100% - 40px))}@media(max-width:900px){.header-inner{align-items:flex-start;flex-direction:column;padding:16px 0}.main-nav{justify-content:flex-start}.hero-inner,.two-column,.profile-layout,.detail-layout,.contact-layout,.platform-hero-grid,.lesson-landing{grid-template-columns:1fr}.hero-inner{min-height:auto;padding:74px 0}.hero-copy h1,.page-hero h1{font-size:38px}.entrance-grid,.service-grid,.info-grid,.footer-inner,.platform-grid.three,.platform-grid.four,.pipeline-list,.lesson-menu-grid,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-side,.contact-aside{position:static}}@media(max-width:640px){.header-inner,.container,.footer-inner,.hero-inner,.copyright{width:min(100% - 28px,1120px)}.brand-mark{min-width:0}.main-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.main-nav a{text-align:center}.hero-copy h1,.page-hero h1{font-size:32px}.section{padding:62px 0}.page-hero{padding:58px 0}.entrance-grid,.service-grid,.info-grid,.footer-inner,.checkbox-grid,.hero-panel ul{grid-template-columns:1fr}.cta-band,.platform-band{align-items:flex-start;flex-direction:column}.platform-grid.two,.platform-grid.three,.platform-grid.four,.pipeline-list,.metric-editor,.delivery-grid,.lesson-menu-grid,.review-grid{grid-template-columns:1fr}.student-session{justify-items:start}.calendar-grid,.calendar-weekdays{min-width:720px}.booking-calendar{overflow-x:auto}.platform-switcher{grid-template-columns:1fr}.auth-provider-grid{grid-template-columns:minmax(0,1fr)}.purchase-summary p{grid-template-columns:1fr}.receipt-preview dl>div{grid-template-columns:1fr}.payment-methods{flex-direction:column}.delivery-methods,.segmented-control{grid-template-columns:1fr}.legal-body{padding:24px}}
