.tp-page{gap:28px}.tp-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;grid-gap:28px 40px;gap:28px 40px}.tp-hero-identity{display:flex;align-items:flex-start;gap:24px;min-width:0}.tp-photo{position:relative;display:inline-grid;flex:none}.tp-photo>.teacher-photo{width:128px;height:128px;border-radius:28px;font-size:2.6rem}.tp-verified{position:absolute;right:-6px;bottom:-6px;display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--surface);box-shadow:0 0 0 1px var(--border);color:var(--accent)}.tp-identity{display:grid;grid-gap:10px;gap:10px;min-width:0}.tp-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}.tp-title-row h1{margin:0;color:var(--heading);font-size:34px;font-weight:800;line-height:1.15;letter-spacing:-.025em}.tp-tier{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--amber-soft);color:#7a4f00;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.tp-role{margin:0;color:#334155;font-size:17px;font-weight:600}.tp-role>span{color:var(--text-soft);font-weight:500}.tp-role>em{color:var(--text-soft);font-style:normal;font-weight:600}.tp-pills{display:flex;flex-wrap:wrap;gap:8px;padding-top:2px}.tp-pills>span{padding:5px 12px;border:1px solid var(--border);border-radius:999px;color:#334155;font-size:13px;font-weight:600}.tp-pills>span.on{border-color:transparent;background:var(--accent-soft);color:var(--accent-strong)}.tp-stats{display:flex;flex-wrap:wrap;align-items:stretch;gap:14px 0;margin:8px 0 0}.tp-stats-pair>div,.tp-stats>div{display:flex;flex-direction:column-reverse;justify-content:center}.tp-stats>div:not(.tp-stats-pair){margin-right:22px;padding-right:22px;border-right:1px solid var(--border)}.tp-stats>div:last-child{margin-right:0;padding-right:0;border-right:0}.tp-stats-pair{flex-direction:row!important;gap:18px;margin-right:22px;padding:8px 18px 8px 14px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface)}.tp-stats-divider{width:1px;background:var(--border)}.tp-stats dt{color:var(--text-soft);font-size:12.5px}.tp-stats dd{display:flex;align-items:center;gap:6px;margin:0;color:var(--text);font-size:20px;font-weight:800;letter-spacing:-.01em}.tp-star{color:var(--amber);fill:var(--amber)}.tp-award{color:var(--purple)}.tp-hero-actions{display:grid;grid-gap:10px;gap:10px}.tp-hero-actions>.button{width:100%;min-height:46px}.tp-hero-secondary{display:flex;flex-wrap:wrap;gap:10px}.tp-hero-secondary>*{flex:1 1 auto}.tp-hero-secondary .teacher-follow{display:grid}.tp-hero-secondary .teacher-follow>.button,.tp-hero-secondary .teacher-follow>.button.primary{width:100%;border-color:var(--border);background:var(--surface)!important;color:var(--text)!important}.tp-hero-secondary .teacher-follow>.button:hover{border-color:var(--accent);color:var(--accent)!important}.tp-hero-report{flex:none!important}.tp-hero-report .report-content-trigger{min-height:42px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:#334155;font-size:14px}.tp-hero-report .report-content-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:20}.tp-tabs{display:flex;gap:4px;margin-top:-6px;overflow-x:auto;border-bottom:1px solid var(--border);scrollbar-width:none}.tp-tabs a{display:inline-flex;flex:none;align-items:center;gap:7px;min-height:48px;padding:0 14px;color:#475569;font-size:14.5px;font-weight:600;white-space:nowrap;transition:color .16s ease,box-shadow .16s ease}.tp-tabs a:hover{color:var(--text)}.tp-tabs a.active{box-shadow:inset 0 -2px 0 var(--accent);color:var(--text);font-weight:700}.tp-tabs a>span{padding:1px 7px;border-radius:999px;background:var(--border-soft);color:#475569;font-size:12px;font-weight:700}.tp-tabs a.active>span{background:var(--accent-soft);color:var(--accent-strong)}.tp-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;grid-gap:40px;gap:40px}.tp-main{grid-gap:44px;gap:44px}.tp-main,.tp-section{display:grid;min-width:0}.tp-section{grid-gap:18px;gap:18px}.tp-h2,.tp-section-head h2,.tp-tab-head h2{margin:0;color:var(--heading);font-size:20px;font-weight:800;letter-spacing:-.015em}.tp-tab-head h2{font-size:22px}.tp-section-head,.tp-tab-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px}.tp-section-head p,.tp-tab-head p{max-width:62ch;margin:3px 0 0;color:var(--text-soft);font-size:14.5px}.tp-section-head-actions>a:not(.button),.tp-section-head>a{color:var(--accent);font-size:14px;font-weight:700}.tp-section-head-actions{display:flex;align-items:center;gap:16px}.tp-tab-head-action{display:grid;justify-items:end;grid-gap:4px;gap:4px}.tp-tab-head-action small{color:var(--text-soft);font-size:12.5px}.tp-badge{position:absolute;top:-11px;left:18px;padding:2px 10px;border-radius:999px;background:var(--accent);color:#ffffff;font-size:11.5px;font-style:normal;font-weight:800}.tp-empty{display:grid;justify-items:center;grid-gap:6px;gap:6px;padding:36px 16px;border:1px dashed var(--border);border-radius:14px;text-align:center}.tp-empty,.tp-empty>svg{color:var(--text-soft)}.tp-empty strong{color:var(--text);font-size:15px}.tp-empty p{max-width:46ch;margin:0;font-size:14px}.tp-empty .button{margin-top:8px}.tp-muted{margin:0;color:var(--text-soft);font-size:14px}.tp-tags{display:flex;flex-wrap:wrap;gap:6px}.tp-tags>span{padding:3px 9px;border-radius:999px;background:#f1f5f4;color:#334155;font-size:12.5px;font-weight:600}.tp-confirmed{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:#e3f4ef;color:#0f6b59;font-size:12px;font-weight:700}.tp-avatar{display:grid;flex:none;width:42px;height:42px;place-items:center;border-radius:50%;font-weight:800}.tp-avatar.tone-1{background:var(--secondary-soft);color:var(--secondary-dark)}.tp-avatar.tone-2{background:var(--amber-soft);color:#7a4f00}.tp-avatar.tone-3{background:var(--accent-soft);color:var(--accent-dark)}.tp-chips{display:flex;flex-wrap:wrap;gap:8px}.tp-chips a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:#334155;font-size:14px;font-weight:600}.tp-chips a small{font-size:12px;opacity:.8}.tp-chips a.active,.tp-chips a:hover{border-color:var(--accent)}.tp-chips a.active{background:var(--accent);color:#ffffff}.tp-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border)}.tp-toolbar.underline{padding-bottom:0}.tp-sort{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:13.5px}.tp-sort>span{margin-right:4px;color:var(--text-soft)}.tp-sort a{padding:6px 10px;border-radius:8px;color:#475569;font-weight:600}.tp-sort a.active{background:var(--accent-soft);color:var(--accent-strong)}.tp-underline-filters{display:flex;gap:2px;overflow-x:auto}.tp-underline-filters a{flex:none;padding:10px 12px 9px;color:#475569;font-size:14px;font-weight:500;white-space:nowrap}.tp-underline-filters a.active{box-shadow:inset 0 -2px 0 var(--accent);color:var(--text);font-weight:700}.tp-bio{display:grid;grid-gap:12px;gap:12px;max-width:70ch}.tp-bio p{margin:0;color:#334155;font-size:15.5px;line-height:1.7;text-wrap:pretty}.tp-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:0;border-block:1px solid var(--border)}.tp-facts>div{display:flex;align-items:flex-start;gap:12px;padding:14px 16px 14px 0}.tp-facts svg{flex:none;margin-top:2px;color:var(--text-soft)}.tp-facts dt{color:var(--text-soft);font-size:12.5px}.tp-facts dd{margin:0;color:var(--text);font-size:14.5px;font-weight:700}.tp-service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:14px;gap:14px}.tp-service-card{position:relative;display:grid;align-content:start;grid-gap:12px;gap:12px;padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.tp-service-card.featured,.tp-service-row.featured{border:1.5px solid var(--accent)}.tp-service-card-head{display:flex;align-items:flex-start;gap:14px}.tp-service-card h3,.tp-service-row h3{margin:0;color:var(--text);font-size:16px;font-weight:800}.tp-service-card p,.tp-service-row p{margin:3px 0 0;color:#475569;font-size:14px}.tp-service-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border-soft);color:var(--text-soft);font-size:13px}.tp-service-icon{display:grid;flex:none;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent)}.tp-service-icon.correction{background:var(--amber-soft);color:#7a4f00}.tp-service-icon.group{background:var(--secondary-soft);color:var(--secondary-dark)}.tp-service-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tp-service-facts>span{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:#f1f5f4;color:#334155;font-size:13px}.tp-service-facts.plain{gap:6px 14px;margin-top:0}.tp-service-facts.plain>span{padding:0;background:none;color:#475569}.tp-review-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.tp-review-card{display:grid;align-content:start;grid-gap:12px;gap:12px;padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.tp-review-card header{display:flex;align-items:center;gap:12px}.tp-review-card header>div{display:grid;flex:1 1;justify-items:start;grid-gap:2px;gap:2px;min-width:0}.tp-review-card header strong{font-size:14.5px}.tp-review-card header small:not(.tp-confirmed){color:var(--text-soft);font-size:12px}.tp-review-card header>b{display:inline-flex;align-items:center;gap:4px;font-size:13.5px}.tp-review-card p,.tp-review-row p{margin:0;color:#334155;font-size:14.5px}.tp-review-card p.no-comment,.tp-review-row p.no-comment{color:var(--text-soft);font-style:italic}.tp-review-card time{color:var(--text-soft);font-size:12.5px}.tp-review-sent{display:inline-flex;align-items:center;gap:6px;color:#0f6b59;font-size:13.5px;font-weight:700}.tp-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin:0}.tp-metric-grid>div{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.tp-metric-grid.compact>div{border-color:var(--border-soft)}.tp-metric-grid>div>div{display:flex;flex-direction:column-reverse}.tp-metric-grid dt{color:var(--text-soft);font-size:13px}.tp-metric-grid dd{display:flex;align-items:baseline;gap:6px;margin:0;color:var(--text);font-size:22px;font-weight:800;letter-spacing:-.02em}.tp-metric-grid dd small{color:#0f7a66;font-size:14px;font-weight:700}.tp-metric-icon{display:grid;flex:none;width:40px;height:40px;place-items:center;border-radius:11px}.tp-metric-icon.accent{background:var(--accent-soft);color:var(--accent)}.tp-metric-icon.success{background:#e3f4ef;color:#0f7a66}.tp-metric-icon.amber{background:var(--amber-soft);color:#7a4f00}.tp-metric-icon.slate{background:var(--secondary-soft);color:var(--secondary-dark)}.tp-activity-list{margin:0;padding:0;border-top:1px solid var(--border);list-style:none}.tp-activity-list li{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.tp-activity-list li>div{flex:1 1;min-width:0}.tp-activity-list a{color:var(--text);font-size:14.5px;font-weight:700}.tp-activity-list a:hover{color:var(--accent)}.tp-activity-list small{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px;color:var(--text-soft);font-size:12.5px}.tp-activity-list small b{color:#0f7a66}.tp-activity-votes{display:inline-flex;flex:none;align-items:center;gap:5px;color:#475569;font-size:13px}.tp-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px;gap:16px}.tp-library-card{display:grid;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text)}.tp-library-card:hover{border-color:var(--accent)}.tp-library-cover{display:flex;height:104px;flex-direction:column;justify-content:space-between;padding:16px}.tp-library-cover small{font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.tp-library-cover.tone-1{background:var(--accent-soft);color:var(--accent-dark)}.tp-library-cover.tone-2{background:var(--secondary-soft);color:var(--secondary-dark)}.tp-library-cover.book,.tp-library-cover.tone-3{background:var(--amber-soft);color:#7a4f00}.tp-library-body{display:grid;grid-gap:6px;gap:6px;padding:14px 16px 16px}.tp-library-body strong{font-size:15px;line-height:1.35}.tp-library-body small{color:var(--text-soft);font-size:13px}.tp-library-body small b{color:#0f7a66}.tp-service-list{display:grid;grid-gap:14px;gap:14px}.tp-service-row{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;padding:22px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.tp-service-row-main{display:flex;flex:999 1 380px;align-items:flex-start;gap:16px;min-width:0}.tp-service-row .tp-service-icon{width:48px;height:48px;border-radius:13px}.tp-service-row h3{font-size:17px}.tp-service-row-action{display:grid;flex:1 1 200px;grid-gap:6px;gap:6px}.tp-service-row-action .button{width:100%;min-height:46px}.tp-service-row-action small{color:var(--text-soft);font-size:12.5px;text-align:center}.tp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px;gap:14px;margin:0;padding:0;list-style:none}.tp-steps li{display:grid;align-content:start;grid-gap:6px;gap:6px;padding:18px;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface)}.tp-steps li>span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:13.5px;font-weight:800}.tp-steps strong{font-size:15px}.tp-steps small{color:var(--text-soft);font-size:13.5px}.tp-review-summary{display:flex;flex-wrap:wrap;align-items:center;gap:24px 48px;padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.tp-review-score{display:grid;grid-gap:6px;gap:6px;min-width:150px}.tp-review-score strong{font-size:56px;font-weight:800;line-height:1;letter-spacing:-.03em}.tp-review-score small{color:var(--text-soft);font-size:13px}.tp-review-bars{display:grid;flex:1 1 320px;grid-gap:4px;gap:4px}.tp-review-bars a{display:flex;align-items:center;gap:12px;margin:0 -8px;padding:4px 8px;border-radius:8px;color:var(--text);font-size:13.5px}.tp-review-bars a.active,.tp-review-bars a:hover{background:var(--accent-soft)}.tp-review-bars span{display:inline-flex;width:34px;align-items:center;gap:3px;color:#475569}.tp-review-bars i{height:8px;flex:1 1;overflow:hidden;border-radius:99px;background:var(--border-soft)}.tp-review-bars i b{display:block;height:100%;border-radius:99px;background:var(--amber)}.tp-review-bars strong{width:26px;text-align:right}.tp-review-rows{display:grid}.tp-review-row{display:flex;align-items:flex-start;gap:16px;padding:20px 0;border-bottom:1px solid var(--border)}.tp-review-row-body{display:grid;flex:1 1;grid-gap:8px;gap:8px;min-width:0}.tp-review-row-body p{max-width:70ch;font-size:15px}.tp-review-row-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.tp-review-row-head strong{font-size:15px}.tp-review-row-head time{margin-left:auto;color:var(--text-soft);font-size:13px}.tp-review-row-rating{display:inline-flex;align-items:center;gap:8px;font-size:13.5px}.tp-review-report{flex:none}.tp-forum-list{display:grid;grid-gap:12px;gap:12px}.tp-forum-card{display:flex;align-items:flex-start;gap:16px;padding:18px 20px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.tp-forum-card.accepted{border-color:#bfe3d8}.tp-forum-icon{display:grid;flex:none;width:36px;height:36px;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent)}.tp-forum-icon.small{width:32px;height:32px;border-radius:9px}.tp-forum-icon.question{background:var(--secondary-soft);color:var(--secondary-dark)}.tp-forum-icon.accepted{background:#e3f4ef;color:#0f7a66}.tp-forum-body{display:grid;flex:1 1;grid-gap:8px;gap:8px;min-width:0}.tp-forum-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12.5px}.tp-forum-meta>strong{color:#475569;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase}.tp-forum-meta>em{padding:2px 8px;border-radius:999px;background:#f1f5f4;color:#334155;font-style:normal}.tp-forum-meta>time{margin-left:auto;color:var(--text-soft)}.tp-forum-title{color:var(--text);font-size:16px;font-weight:700;line-height:1.4}.tp-forum-title:hover{color:var(--accent)}.tp-forum-body p{display:-webkit-box;margin:0;overflow:hidden;color:#475569;font-size:14.5px;-webkit-box-orient:vertical;-webkit-line-clamp:3}.tp-forum-body footer{display:flex;flex-wrap:wrap;align-items:center;gap:16px;color:#475569;font-size:13px}.tp-forum-body footer>a,.tp-forum-body footer>span{display:inline-flex;align-items:center;gap:5px}.tp-forum-body footer>a{margin-left:auto;color:var(--accent);font-weight:700}.tp-inline-stats{display:flex;gap:24px;margin:0}.tp-inline-stats>div{display:flex;flex-direction:column-reverse}.tp-inline-stats dt{color:var(--text-soft);font-size:12.5px}.tp-inline-stats dd{margin:0;font-size:20px;font-weight:800}.tp-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:16px;gap:16px}.tp-course-card{overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.tp-course-card,.tp-course-cover{display:flex;flex-direction:column}.tp-course-cover{position:relative;height:132px;justify-content:space-between;padding:16px;background-position:50%;background-size:cover}.tp-course-cover small{font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.tp-course-cover em{position:absolute;top:14px;right:14px;padding:2px 8px;border-radius:999px;background:var(--surface);color:var(--text);font-size:11.5px;font-style:normal;font-weight:800}.tp-course-cover.tone-1{background-color:var(--accent-soft);color:var(--accent-dark)}.tp-course-cover.tone-2{background-color:var(--secondary-soft);color:var(--secondary-dark)}.tp-course-cover.tone-3{background-color:#e3f4ef;color:#0f5c4d}.tp-course-body{display:flex;flex:1 1;flex-direction:column;gap:10px;padding:16px}.tp-course-body h3{margin:0;font-size:16px;line-height:1.35}.tp-course-body p{display:-webkit-box;margin:0;overflow:hidden;color:#475569;font-size:13.5px;-webkit-box-orient:vertical;-webkit-line-clamp:3}.tp-course-meta{display:flex;gap:14px;color:#475569;font-size:13px}.tp-course-body footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border-soft)}.tp-course-body footer>div{display:grid;grid-gap:2px;gap:2px}.tp-course-body footer strong{color:#0f7a66;font-size:14.5px}.tp-course-body footer small{display:inline-flex;align-items:center;gap:4px;color:var(--text-soft);font-size:12px}.tp-book-list{display:grid;grid-gap:16px;gap:16px}.tp-book{display:flex;flex-wrap:wrap;gap:24px;padding:22px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.tp-book-cover{display:flex;width:150px;height:200px;flex:none;flex-direction:column;justify-content:space-between;box-sizing:border-box;padding:18px 16px 16px 22px;border-radius:6px 12px 12px 6px;background-color:var(--amber-soft);background-position:50%;background-size:cover;box-shadow:inset 6px 0 0 rgba(122,79,0,.12);color:#7a4f00}.tp-book-cover small{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.tp-book-cover strong{display:-webkit-box;overflow:hidden;font-size:17px;line-height:1.2;-webkit-box-orient:vertical;-webkit-line-clamp:4}.tp-book-cover span{font-size:11.5px}.tp-book-body{display:flex;flex:1 1 320px;flex-direction:column;gap:10px;min-width:0}.tp-book-body h3{margin:0;font-size:19px;letter-spacing:-.01em}.tp-book-body p{max-width:60ch;margin:0;color:#475569;font-size:14.5px}.tp-book-editions{display:flex;flex-wrap:wrap;gap:8px 20px;color:#475569;font-size:13.5px}.tp-book-editions b{color:#0f7a66}.tp-book-body footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:14px;border-top:1px solid var(--border-soft)}.tp-callout{display:flex;gap:12px;margin:0;padding:16px 18px;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface);color:#475569;font-size:14px}.tp-callout svg{flex:none;margin-top:2px;color:#0f7a66}.tp-rail{position:-webkit-sticky;position:sticky;top:88px;display:grid;grid-gap:28px;gap:28px}.tp-booking-card{display:grid;grid-gap:14px;gap:14px;padding:22px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.tp-booking-card>.button{width:100%}.tp-booking-card>.button.primary{min-height:46px}.tp-booking-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.tp-booking-head h2,.tp-rail-card h2{margin:0;color:var(--heading);font-size:17px;font-weight:800}.tp-booking-head a{color:var(--accent);font-size:13.5px;font-weight:700}.tp-booking-lead{margin:-6px 0 0;color:var(--text-soft);font-size:14px}.tp-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.tp-slot{display:grid;justify-items:center;grid-gap:2px;gap:2px;padding:10px 6px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer}.tp-slot.lead,.tp-slot:hover{border:1.5px solid var(--accent);background:var(--accent-soft)}.tp-slot small{color:#475569;font-size:12px;text-transform:capitalize}.tp-slot strong{font-size:15px}.tp-booking-service{margin:-4px 0 0;color:var(--text-soft);font-size:13px}.tp-rail-rows{display:grid;margin:0;border-top:1px solid var(--border-soft)}.tp-rail-rows>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border-soft);font-size:14px}.tp-rail-rows>div:last-child{border-bottom:0}.tp-rail-rows dt{color:var(--text-soft)}.tp-rail-rows dd{margin:0;font-weight:700}.tp-rail-rows dd.muted{color:var(--text-soft)}.tp-booking-note{display:flex;gap:8px;margin:0;color:#475569;font-size:12.5px}.tp-booking-note svg{flex:none;margin-top:1px;color:#0f7a66}.tp-rail-card{display:grid;grid-gap:12px;gap:12px;padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.tp-rail-card>p{margin:-6px 0 0;color:var(--text-soft);font-size:13.5px}.tp-rail-card .tp-chips a{min-height:34px;font-size:13.5px}.tp-rail-card .tp-chips a.active{background:var(--accent-soft);color:var(--accent-strong)}.tp-rail-section{display:grid;grid-gap:10px;gap:10px}.tp-rail-section h2{margin:0;color:#475569;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.tp-rail-section-head{display:flex;align-items:baseline;justify-content:space-between}.tp-rail-section-head a{color:var(--accent);font-size:13.5px;font-weight:700}.tp-social-links{display:flex;flex-wrap:wrap;gap:8px}.tp-social-links a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:14px;font-weight:600}.tp-social-links a:hover{border-color:var(--accent);color:var(--accent)}.tp-similar-list{display:grid}.tp-similar-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);color:var(--text)}.tp-similar-row:last-child{border-bottom:0}.tp-similar-row>.teacher-photo{width:44px;height:44px;flex:none;border-radius:12px}.tp-similar-row>span{display:grid;flex:1 1;min-width:0}.tp-similar-row strong{font-size:14.5px}.tp-similar-row small{overflow:hidden;color:var(--text-soft);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.tp-similar-row>svg{flex:none;color:var(--text-soft)}.tp-similar-row:hover strong{color:var(--accent)}.tp-mobile-cta{display:none}@media (max-width:1080px){.tp-layout{grid-template-columns:minmax(0,1fr)}.tp-rail{position:static}}@media (max-width:900px){.tp-hero{grid-template-columns:minmax(0,1fr)}.tp-hero-actions{max-width:420px}}@media (max-width:720px){.tp-page{gap:22px;padding-bottom:96px}.tp-hero-identity{flex-direction:column;gap:16px}.tp-photo>.teacher-photo{width:88px;height:88px;border-radius:22px;font-size:1.9rem}.tp-verified{width:28px;height:28px}.tp-title-row h1{font-size:26px}.tp-role{font-size:15px}.tp-stats>div:not(.tp-stats-pair){margin-right:16px;padding-right:16px}.tp-stats-pair{width:100%;margin-right:0;box-sizing:border-box}.tp-hero-actions{max-width:none}.tp-hero-actions>.button{display:none}.tp-main{gap:36px}.tp-tab-head-action{justify-items:start}.tp-review-score strong{font-size:44px}.tp-book-cover{width:110px;height:148px}.tp-mobile-cta{position:fixed;right:0;bottom:0;left:0;z-index:30;display:flex;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface)}.tp-mobile-cta>.button{min-height:48px}.tp-mobile-cta>.button.primary{flex:1 1}}.teacher-booking-dialog .tb-padded{padding:22px 24px 26px}.tb-form{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:stretch}.tb-main{align-content:start;grid-gap:26px;gap:26px;padding:22px 24px 26px}.tb-main,.tb-section{display:grid;min-width:0}.tb-section{grid-gap:12px;gap:12px}.tb-section h3{margin:0;color:var(--text);font-size:15px;font-weight:800}.tb-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.tb-section-head small{color:#475569;font-size:13px;font-weight:700}.tb-field{display:grid;grid-gap:6px;gap:6px}.tb-label{color:#475569;font-size:13px;font-weight:700}.tb-label small{font-weight:500}.tb-label.strong{color:var(--text);font-size:15px;font-weight:800}.tb-field>input,.tb-field>textarea{min-height:42px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:14px}.tb-field>textarea{resize:vertical}.tb-field>input:focus,.tb-field>textarea:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.tb-subject-field{max-width:300px}.tb-help{margin:0;color:var(--text-soft);font-size:13px}.tb-service-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:8px;gap:8px}.tb-date-strip>button,.tb-option-chips>button,.tb-service-options>button,.tb-time-grid>button{border:1.5px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;transition:border-color .14s ease,background .14s ease}.tb-service-options>button{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:12px;text-align:left}.tb-date-strip>button:hover,.tb-option-chips>button:hover,.tb-service-options>button:hover,.tb-time-grid>button:not(:disabled):hover{border-color:var(--accent)}.tb-date-strip>button.selected,.tb-option-chips>button.selected,.tb-service-options>button.selected{border-color:var(--accent);background:var(--accent-soft)}.tb-service-icon{display:grid;flex:none;width:32px;height:32px;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent)}.tb-service-icon.correction{background:var(--amber-soft);color:#7a4f00}.tb-service-icon.group{background:var(--secondary-soft);color:var(--secondary-dark)}.tb-service-options>button.selected .tb-service-icon{background:var(--surface)}.tb-service-copy{display:grid;grid-gap:1px;gap:1px;min-width:0}.tb-service-copy strong{font-size:14px;line-height:1.3}.tb-service-copy small{color:#475569;font-size:12.5px}.tb-option-chips{display:flex;flex-wrap:wrap;gap:6px}.tb-option-chips>button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 12px;border-radius:10px;font-size:13.5px;font-weight:700}.tb-option-chips>button span{color:#475569;font-weight:500}.tb-date-nav{display:flex;align-items:stretch;gap:8px}.tb-icon-button{display:grid;width:40px;flex:none;place-items:center;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:#334155;cursor:pointer}.tb-icon-button:disabled{color:var(--border);cursor:default}.tb-date-strip{display:grid;flex:1 1;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px;min-width:0}.tb-date-strip>button{position:relative;display:grid;justify-items:center;min-height:58px;padding:8px 4px;border-radius:10px}.tb-date-strip small{color:#475569;font-size:12px}.tb-date-strip strong{font-size:14px}.tb-date-strip em{position:absolute;top:-7px;right:-5px;display:grid;min-width:20px;height:20px;box-sizing:border-box;place-items:center;padding:0 5px;border-radius:999px;background:var(--accent);color:#ffffff;font-size:11.5px;font-style:normal;font-weight:800}.teacher-booking-dialog .tb-date-nav .booking-calendar-jump,.teacher-booking-dialog .tb-date-nav .booking-calendar-jump .offer-date-trigger{width:40px;min-width:40px;min-height:58px}.tb-time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));grid-gap:8px;gap:8px}.tb-time-grid>button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:6px;border-radius:10px;font-size:14px;font-weight:700}.tb-time-grid>button.selected{border-color:var(--accent);background:var(--accent);color:#ffffff}.tb-time-grid>button:disabled{color:var(--text-soft);cursor:not-allowed;opacity:.6}.tb-no-slots{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px dashed var(--border);border-radius:12px;color:var(--text-soft);font-size:14px}.tb-summary{display:flex;flex-direction:column;gap:16px;min-width:0;padding:22px 24px 24px;border-left:1px solid var(--border-soft);background:var(--surface-soft)}.tb-summary>h3{margin:0;color:#475569;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.tb-summary-service{display:grid;grid-gap:2px;gap:2px}.tb-summary-service strong{font-size:16px}.tb-summary-service span{color:#475569;font-size:13.5px}.tb-summary-rows{display:grid;grid-gap:10px;gap:10px;margin:0;font-size:13.5px}.tb-summary-rows>div{display:flex;align-items:flex-start;gap:10px}.tb-summary-rows dt{display:inline-flex;flex:none;color:var(--text-soft)}.tb-summary-rows dd{margin:0;font-weight:700}.tb-session-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.tb-session-chips li{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 4px 0 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:12.5px;font-weight:700}.tb-session-chips button{display:grid;width:24px;height:24px;place-items:center;border:0;border-radius:50%;background:none;color:var(--text-soft);cursor:pointer}.tb-session-chips button:hover{background:var(--border-soft);color:var(--text)}.tb-summary-total{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--border)}.tb-summary-total span{color:var(--text-soft);font-size:13px}.tb-summary-total strong{font-size:24px;font-weight:800;letter-spacing:-.02em}.tb-submit{width:100%;min-height:48px}.tb-missing{margin:-8px 0 0;text-align:center}.tb-missing,.tb-note{color:#475569;font-size:12.5px}.tb-note{display:flex;gap:8px;margin:0}.tb-note svg{flex:none;margin-top:1px;color:#0f7a66}.tb-note-calendar{margin-top:auto;padding-top:12px;border-top:1px solid var(--border-soft)}.tb-note-calendar,.tb-note-calendar svg{color:var(--text-soft)}@media (max-width:760px){.tb-form{grid-template-columns:minmax(0,1fr)}.tb-main,.tb-summary{padding-inline:18px}.tb-summary{border-top:1px solid var(--border-soft);border-left:0}.tb-subject-field{max-width:none}.tb-date-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}body:has(.auth-shell){min-height:100dvh;zoom:1}.auth-shell{align-items:center;background:radial-gradient(circle at 8% 12%,rgba(0,86,210,.1),transparent 31%),linear-gradient(145deg,#eef3fb,#f8fafc 48%,#edf8f6);box-sizing:border-box;min-height:100dvh;padding:clamp(20px,3dvh,36px) clamp(20px,4vw,48px);place-items:center}.auth-main{margin:auto;width:min(100%,1080px)}.community-auth-layout{background:#fff;border:1px solid rgba(0,59,143,.11);border-radius:22px;display:grid;grid-template-columns:minmax(310px,.86fr) minmax(460px,1.14fr);min-height:min(700px,calc(100dvh - 64px));overflow:hidden;width:100%}.community-auth-aside{background:radial-gradient(circle at 86% 18%,rgba(78,179,255,.27),transparent 29%),radial-gradient(circle at 12% 92%,rgba(25,155,131,.29),transparent 33%),#003b8f;color:#fff;display:flex;flex-direction:column;justify-content:flex-start;min-width:0;padding:clamp(30px,4vw,50px);position:relative}.community-auth-aside:after{border:1px solid rgba(255,255,255,.13);border-radius:999px;content:"";height:240px;position:absolute;right:-150px;top:36%;width:240px}.community-auth-brand{align-items:center;display:flex;position:relative;width:max-content;z-index:1}.community-auth-logo{--logo-width:clamp(190px,20vw,250px)}.community-auth-aside-copy{margin-block:auto;position:relative;z-index:1}.community-auth-aside-copy>p{color:rgba(255,255,255,.58);font-size:11px;font-weight:800;letter-spacing:.16em;margin:0 0 15px;text-transform:uppercase}.community-auth-aside h1{color:#fff;font-size:clamp(30px,3.2vw,43px);letter-spacing:-.035em;line-height:1.08;margin:0;text-wrap:balance}.community-auth-aside ul{display:grid;grid-gap:15px;gap:15px;list-style:none;margin:35px 0 0;padding:0}.community-auth-aside li{align-items:center;color:rgba(255,255,255,.78);display:flex;font-size:13px;gap:11px;line-height:1.45}.community-auth-aside li>span{align-items:center;background:rgba(255,255,255,.13);border-radius:999px;color:#9ce5d6;display:inline-flex;flex:0 0 auto;height:28px;justify-content:center;width:28px}.community-auth-card{align-self:center;padding:clamp(30px,4.5vw,58px)}.community-auth-heading>p{color:var(--accent);font-size:11px;font-weight:850;letter-spacing:.15em;margin:0 0 8px;text-transform:uppercase}.community-auth-heading h2{color:var(--heading);font-size:clamp(28px,3vw,37px);letter-spacing:-.035em;line-height:1.08;margin:0 0 10px}.community-auth-heading>span{color:var(--text-soft);display:block;font-size:14px;line-height:1.55}.community-auth-form{display:grid;grid-gap:15px;gap:15px;margin-top:25px}.community-auth-field{display:grid;grid-gap:7px;gap:7px}.community-auth-field>span,.community-auth-role legend{color:var(--text);font-size:12px;font-weight:750}.community-auth-field>div{align-items:center;background:#fff;border:1px solid var(--border);border-radius:10px;color:var(--text-faint);display:flex;min-height:48px;padding-inline:14px}.community-auth-field>div:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,86,210,.1);color:var(--accent)}.community-auth-field input{background:transparent;border:0;color:var(--text);font:inherit;font-size:14px;min-width:0;outline:0;padding:0 0 0 10px;width:100%}.community-auth-field input:focus,.community-auth-field input:focus-visible{border:0;box-shadow:none;outline:none}.community-auth-academic-fields,.community-auth-passwords,.community-auth-personal-fields{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr}.community-auth-select-field{display:grid;grid-gap:7px;gap:7px;min-width:0}.community-auth-select-field>span{color:var(--text);font-size:12px;font-weight:750}.community-auth-select-field .custom-select-trigger{border-color:var(--border);border-radius:10px;color:var(--text);min-height:48px;padding-inline:14px}.community-auth-select-field .custom-select-trigger span{color:var(--text);font-size:14px;font-weight:500}.community-auth-select-field .custom-select-disabled .custom-select-trigger{background:var(--surface-soft);color:var(--text-faint)}.community-auth-select-field .custom-select-menu{border-radius:10px}.community-auth-role{border:0;display:grid;grid-gap:9px;gap:9px;grid-template-columns:1fr 1fr;margin:0;padding:0}.community-auth-role legend{grid-column:1/-1;margin-bottom:7px}.community-auth-role label{cursor:pointer;position:relative}.community-auth-role input{inset:0;opacity:0;position:absolute}.community-auth-role label>span{border:1px solid var(--border);border-radius:10px;display:grid;grid-template-columns:auto 1fr;min-height:67px;padding:11px 12px}.community-auth-role label>span>svg{color:var(--accent);grid-row:1/3;margin-right:9px;margin-top:2px}.community-auth-role strong{color:var(--text);font-size:13px}.community-auth-role small{color:var(--text-soft);font-size:10px;line-height:1.35}.community-auth-role input:checked+span{background:var(--accent-soft);border-color:var(--accent)}.community-auth-role input:focus-visible+span{box-shadow:0 0 0 3px rgba(0,86,210,.12)}.community-auth-terms{align-items:flex-start;color:var(--text-soft);display:flex;font-size:11px;gap:8px;line-height:1.45}.community-auth-terms input{accent-color:var(--accent);margin-top:2px}.community-auth-submit{align-items:center;background:var(--accent);border:0;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-size:14px;font-weight:800;justify-content:center;min-height:49px;padding-inline:20px}.community-auth-submit:hover{background:var(--accent-strong)}.community-auth-submit:disabled{cursor:wait;opacity:.68}.community-auth-error{background:#fff5f5;border:1px solid #ffd6d6;border-radius:9px;color:#ad2323;font-size:12px;line-height:1.45;margin:0;padding:10px 12px}.community-auth-divider{align-items:center;color:var(--text-faint);display:flex;font-size:11px;gap:12px;margin:20px 0}.community-auth-divider:after,.community-auth-divider:before{background:var(--border-soft);content:"";flex:1 1;height:1px}.community-auth-switch{color:var(--text-soft);font-size:12px;margin:20px 0 0;text-align:center}.community-auth-switch a{color:var(--accent);font-weight:800}@media (max-width:820px){.auth-shell{padding:0}.community-auth-layout{border:0;border-radius:0;grid-template-columns:1fr;min-height:100dvh}.community-auth-aside{gap:35px;min-height:auto;padding:25px clamp(22px,6vw,42px) 30px}.community-auth-aside-copy h1{font-size:29px;max-width:19ch}.community-auth-aside ul{display:none}.community-auth-card{padding:32px clamp(22px,6vw,42px) 40px}}@media (max-height:760px) and (min-width:821px){.auth-shell{padding-block:16px}.community-auth-layout{min-height:calc(100dvh - 32px)}.community-auth-aside{padding-block:30px}.community-auth-aside h1{font-size:34px}.community-auth-aside ul{gap:11px;margin-top:25px}.community-auth-card{padding-block:28px}.community-auth-form{gap:11px;margin-top:18px}.community-auth-divider{margin-block:14px}.community-auth-switch{margin-top:14px}}@media (max-width:520px){.community-auth-academic-fields,.community-auth-passwords,.community-auth-personal-fields,.community-auth-role{grid-template-columns:1fr}}.public-topbar-register,.public-topbar-signin{display:inline-flex;min-height:40px;align-items:center;gap:6px;border-radius:7px;font:inherit;font-size:.79rem;font-weight:750;white-space:nowrap;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.public-topbar-signin{border:1px solid var(--shell-brand-line,rgba(255,255,255,.16));background:rgba(255,255,255,.08);padding:0 12px 0 9px;color:#fff}.public-topbar-signin:hover{border-color:rgba(255,255,255,.32);background:var(--shell-brand-hover,rgba(255,255,255,.11))}.public-topbar-register{border:0;background:var(--amber);padding:0 14px;color:var(--accent-dark);font-weight:800}.public-topbar-register:hover{background:color-mix(in srgb,var(--amber) 88%,black)}@media (max-width:640px){.public-topbar-signin{padding-inline:9px}.public-topbar-register{padding-inline:10px}}.public-auth-dialog{display:flex;flex-wrap:wrap;width:min(100%,900px);overflow:hidden;border:1px solid rgba(0,59,143,.11);border-radius:22px;background:#fff;box-shadow:0 28px 70px -30px rgba(15,23,42,.45),0 2px 8px rgba(15,23,42,.05);outline:none}.public-auth-dialog[data-state=open]{animation:public-auth-in .46s cubic-bezier(.34,1.32,.64,1) backwards}.public-auth-dialog[data-state=closed]{animation:public-auth-out .15s cubic-bezier(.4,0,1,1) forwards}@keyframes public-auth-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes public-auth-out{to{opacity:0;transform:translateY(4px) scale(.99)}}.public-auth-aside{position:relative;display:flex;flex:1 1 290px;flex-direction:column;gap:28px;overflow:hidden;padding:36px 34px;background:var(--accent-dark);color:#fff}.public-auth-aside:after{position:absolute;top:40%;right:-130px;width:220px;height:220px;border:1px solid rgba(255,255,255,.13);border-radius:999px;content:"";pointer-events:none}.public-auth-logo{--logo-width:190px}.public-auth-aside-copy,.public-auth-logo{position:relative;z-index:1}.public-auth-aside-copy>p{margin:0 0 12px;color:rgba(255,255,255,.62);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.public-auth-aside-copy h2{margin:0;color:#fff;font-size:28px;font-weight:800;letter-spacing:-.03em;line-height:1.1;text-wrap:balance}.public-auth-aside-copy ul{display:grid;grid-gap:13px;gap:13px;margin:26px 0 0;padding:0;list-style:none}.public-auth-aside-copy li{display:flex;align-items:center;gap:11px;color:rgba(255,255,255,.82);font-size:13px;line-height:1.45}.public-auth-aside-copy li>span{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:rgba(255,255,255,.13);color:#9ce5d6}.public-auth-aside-foot{position:relative;z-index:1;margin:auto 0 0;color:rgba(255,255,255,.62);font-size:12px;line-height:1.5}.public-auth-card{position:relative;flex:999 1 440px;min-width:0;padding:36px 40px 30px}.public-auth-card .community-auth-heading h2{padding-right:36px;font-size:clamp(24px,2.6vw,30px)}.public-auth-card .community-auth-form{margin-top:22px}.public-auth-close{position:absolute;top:16px;right:16px;display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--text-faint);cursor:pointer;transition:background-color .16s ease,color .16s ease}.public-auth-close:hover{background:var(--surface-soft);color:var(--text)}.public-auth-reason{display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;border-radius:999px;background:var(--accent-soft);padding:6px 11px;color:var(--accent-dark);font-size:12px;font-weight:800}.public-auth-sso{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.public-auth-sso-button{display:flex;min-height:48px;align-items:center;justify-content:center;gap:9px;border:1px solid var(--border);border-radius:10px;background:#fff;padding:0 12px;color:var(--text);font:inherit;font-size:13.5px;font-weight:750;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.public-auth-sso-button:hover:not(:disabled){border-color:#a9bad1;background:var(--surface-soft);color:var(--text)}.public-auth-sso-button.apple{border-color:#000;background:#000;color:#fff}.public-auth-sso-button:disabled{cursor:not-allowed;opacity:.6}.public-auth-sso-button small{border-radius:999px;background:var(--surface-soft);padding:2px 6px;color:var(--text-soft);font-size:9.5px;font-weight:800}.public-auth-sso-button.apple small{background:rgba(255,255,255,.16);color:#fff}.public-auth-link{border:0;background:transparent;padding:0;color:var(--accent);font:inherit;font-weight:800;cursor:pointer}.public-auth-link:hover{color:var(--accent-strong)}@media (max-width:720px){.public-auth-aside{gap:16px;padding:24px 24px 26px}.public-auth-aside-copy h2{font-size:22px}.public-auth-aside-copy ul,.public-auth-aside-foot{display:none}.public-auth-card{padding:28px 22px 24px}.public-auth-sso{grid-template-columns:1fr}}.public-forum-page button.forum-question-launcher{font:inherit;text-align:left;cursor:pointer}.public-forum-page button.forum-quick-action{font:inherit;cursor:pointer}.public-forum-rail{display:grid;grid-gap:2px;gap:2px}.public-forum-rail-heading{margin:0 0 8px;color:var(--text-soft);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.public-forum-rail-link{display:flex;width:100%;min-height:40px;align-items:center;gap:10px;border:0;border-radius:8px;background:transparent;padding:0 12px;color:var(--text);font:inherit;font-size:.86rem;font-weight:600;text-align:left;cursor:pointer;transition:background-color .16s ease,color .16s ease}.public-forum-rail-link:hover{background:var(--surface-tint,#f3f7f9);color:var(--text)}.public-forum-rail-link.active{background:var(--accent-soft);color:var(--accent-dark);font-weight:700}.public-forum-rail-group{display:grid;grid-gap:2px;gap:2px;margin-top:16px;border-top:1px solid var(--border);padding-top:18px}.public-forum-rail-icon{display:grid;flex:0 0 auto;width:24px;height:24px;place-items:center;border-radius:6px;background:color-mix(in srgb,var(--rail-accent,var(--accent)) 13%,white);color:var(--rail-accent,var(--accent))}.public-forum-rail-icon svg{width:13px;height:13px}.public-forum-rail-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-forum-rail-catalog{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px;border:1px solid var(--border);border-radius:10px;padding:14px 12px;color:var(--accent-dark);font-size:.86rem;font-weight:800;transition:background-color .16s ease}.public-forum-rail-catalog:hover{background:var(--surface-tint,#f3f7f9);color:var(--accent-dark)}.public-forum-aside{display:grid;align-content:start;grid-gap:28px;gap:28px}.public-join-card{display:grid;grid-gap:14px;gap:14px;border:1px solid var(--border);border-radius:10px;padding:20px}.public-join-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent)}.public-join-card h2{margin:0;color:var(--heading);font-size:1.12rem;font-weight:700;line-height:1.3}.public-join-card p{margin:0;color:var(--text-soft);font-size:.87rem;line-height:1.6}.public-join-card ul{display:grid;grid-gap:9px;gap:9px;margin:0;padding:0;list-style:none}.public-join-card li{display:flex;align-items:center;gap:10px;color:var(--text);font-size:.87rem;font-weight:600}.public-join-card li>svg{color:var(--accent)}.public-join-card .button,.public-rail-catalog{width:100%;justify-content:center}.public-join-card small{color:var(--text-soft);font-size:.8rem}.public-rail-teachers{display:grid;grid-gap:4px;gap:4px}.public-rail-teachers-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.public-rail-teachers-head h2{margin:0;color:var(--heading);font-size:1.06rem;font-weight:700}.public-rail-teachers-head a{color:var(--accent);font-size:.8rem;font-weight:800}.public-rail-teacher{display:flex;align-items:center;gap:12px;border-radius:10px;padding:10px;transition:background-color .16s ease}.public-rail-teacher:hover{background:var(--surface-tint,#f3f7f9)}.public-rail-teacher>.teacher-photo{flex:0 0 auto;width:38px;height:38px;font-size:.94rem}.public-rail-teacher>span{display:grid;flex:1 1;grid-gap:2px;gap:2px;min-width:0}.public-rail-teacher strong{color:var(--heading);font-size:.87rem;font-weight:800}.public-rail-teacher small,.public-rail-teacher strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-rail-teacher small{color:var(--text-soft);font-size:.8rem}.public-rail-teacher>i{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--success)}.public-rail-catalog{margin-top:10px}.forum-home-feed .public-teacher-post{border-left-color:var(--amber);cursor:default}.public-teacher-post-mark{border-color:var(--accent-dark);background:var(--accent-dark);color:var(--amber);font-size:12px}.public-teacher-carousel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.public-teacher-carousel-head p{margin:0;color:#475569;font-size:12.5px;line-height:1.6}.public-teacher-carousel-nav{display:flex;flex:0 0 auto;gap:6px}.public-teacher-carousel-nav button{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--border);border-radius:999px;background:var(--surface);padding:0;color:var(--text);cursor:pointer;transition:border-color .16s ease,color .16s ease}.public-teacher-carousel-nav button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-dark)}.public-teacher-carousel-nav button:disabled{color:var(--text-faint);cursor:default;opacity:.6}.public-teacher-carousel{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;border:1px solid var(--border-soft);border-radius:13px;background:var(--surface-soft);padding:12px}.public-teacher-carousel::-webkit-scrollbar{display:none}.public-teacher-carousel:focus-visible{outline:3px solid rgba(var(--accent-rgb),.3);outline-offset:2px}.public-teacher-card{display:flex;flex:0 0 200px;flex-direction:column;align-items:center;gap:7px;scroll-snap-align:start;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface);padding:18px 14px 0;text-align:center;transition:border-color .16s ease}.public-teacher-card:hover{border-color:rgba(var(--accent-rgb),.25)}.public-teacher-card-photo{position:relative;display:inline-grid}.public-teacher-card-photo>.teacher-photo{width:64px;height:64px;font-size:1.4rem}.public-teacher-card-photo>.sr-verified{position:absolute;right:-2px;bottom:0;display:grid;width:22px;height:22px;place-items:center;border:2px solid var(--surface);border-radius:50%;background:var(--surface);color:var(--success)}.public-teacher-card-name{margin-top:2px;color:var(--text);font-size:.94rem;font-weight:800}.public-teacher-card-name:hover{color:var(--accent)}.public-teacher-card-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--text-soft);font-size:.75rem;line-height:1.4}.public-teacher-card-body{display:flex;flex:1 1;flex-direction:column;align-items:center;align-self:stretch;gap:8px;margin-top:4px;border-top:1px solid var(--border-soft);padding-top:11px}.public-teacher-card-body .sr-teacher-pills{justify-content:center}.public-teacher-card-today{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-size:.69rem;font-weight:800}.public-teacher-card-today>i{width:7px;height:7px;border-radius:50%;background:var(--success)}.public-teacher-card-actions{display:flex;align-self:stretch;gap:6px;border-top:1px solid var(--border-soft);padding:11px 0 12px}.public-teacher-card-actions .button{flex:1 1;justify-content:center}.public-teacher-card-more{justify-content:center;gap:10px;border-style:dashed;padding:18px;color:var(--accent-dark)}.public-teacher-card-more>span{display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.public-teacher-card-more strong{font-size:.94rem}.public-teacher-card-more small{color:var(--text-soft);font-size:.75rem;line-height:1.5}.student-main-shell:has(>.landing){padding:0}.student-main-shell>.landing{width:100%}.landing-footer-col button{border:0;background:transparent;padding:0;color:var(--text-soft);font:inherit;text-align:left;cursor:pointer}.landing-footer-col button:hover{color:var(--accent)}.landing-hero-actions button{font:inherit;cursor:pointer}