@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--ink:#19342e;--muted:#60756f;--line:#dfe8e3;--cream:#f6f8f4;--green:#1d6b53;--lime:#dff3a4;--card:#fff}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px DM Sans,sans-serif}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.035em}h1{font-size:clamp(2.4rem,6vw,4.5rem);line-height:1.05;margin:.45rem 0 1rem}h2{font-size:1.55rem;margin:.3rem 0 .55rem}h3{margin:.25rem 0}.center{min-height:100vh;display:grid;place-items:center;padding:24px}.hero{max-width:720px}.hero p{font-size:1.2rem;color:var(--muted);margin:1.25rem 0 2rem}.eyebrow{color:var(--green);font-size:.72rem;font-weight:700;letter-spacing:.14em}.button{display:inline-flex;justify-content:center;align-items:center;border:0;background:var(--green);color:white;text-decoration:none;border-radius:10px;padding:12px 17px;font:600 .94rem DM Sans;cursor:pointer}.button:hover{filter:brightness(.93)}.button.secondary{background:#edf4ec;color:var(--green)}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;margin:18px 0;box-shadow:0 8px 28px #183a2c08}.auth{width:min(100%,460px)}.auth p{color:var(--muted)}.stack{display:grid;grid-gap:13px;gap:13px}.stack label{display:grid;grid-gap:6px;gap:6px;font-size:.88rem;font-weight:600}.stack.compact{gap:8px;margin-top:16px}input,select{min-width:0;border:1px solid #d4e0d8;border-radius:9px;background:white;padding:11px 12px;color:var(--ink);font:inherit}input:focus,select:focus{outline:2px solid #a8d3be;border-color:var(--green)}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.shell{min-height:100vh}.topbar{height:68px;display:flex;align-items:center;gap:22px;padding:0 max(calc((100vw - 1160px)/2),24px);border-bottom:1px solid var(--line);background:#ffffffb8}.topbar span{margin-left:auto;color:var(--muted);font-size:.9rem}.brand{text-decoration:none;color:var(--green);font-weight:800;letter-spacing:.12em;font-size:.78rem}.text-button{border:0;background:none;color:var(--green);font:600 .9rem DM Sans;cursor:pointer}.content{max-width:1160px;margin:auto;padding:52px 24px}.heading,.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.heading{margin-bottom:26px}.heading h1{font-size:3rem}.card>p,.subcard>p{color:var(--muted)}.inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.inline input,.inline select{flex:1 1}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));grid-gap:14px;gap:14px;margin-top:20px}.subcard{padding:17px;border:1px solid var(--line);border-radius:13px;background:#fbfdf9}.subcard ul{padding-left:20px;max-height:130px;overflow:auto;color:var(--muted);font-size:.9rem}.section-title{margin-bottom:12px}.list{margin-top:12px}.row{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}.row form{margin-left:auto}.pill{border-radius:99px;padding:5px 10px;background:#edf4ec;color:var(--green);font-size:.78rem}.pair-block{padding:13px 0;border-top:1px solid var(--line)}.success{background:#e8f5e9;padding:12px;border-radius:9px}.error{background:#fce9e7;color:#9c3027;padding:10px;border-radius:8px}.student-content{max-width:780px;margin:70px auto;padding:0 24px}.student-content>h1{font-size:3.5rem;margin:12px 0 32px}.friend{padding:27px}.mission{background:#f3f8e9;border-radius:14px;padding:20px;margin-top:22px}.mission h3{font-size:1.35rem}.mission li{padding:5px 0;color:#405c50}.mission ol{padding-left:22px}@media(max-width:700px){.content{padding:32px 16px}.heading h1,.student-content>h1{font-size:2.55rem}.topbar{padding:0 16px}.row{align-items:flex-start;flex-wrap:wrap}.row form{margin-left:0}.inline>*{flex-basis:100%}.inline span{flex-basis:auto}}.schedule-form{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) auto;align-items:end;grid-gap:12px;gap:12px}.schedule-connection{grid-column:1/-1;color:var(--muted)}.schedule-form label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:.82rem;font-weight:600}.schedule-form input{width:100%}@media(max-width:700px){.schedule-form{grid-template-columns:1fr}.schedule-connection{grid-column:auto}.schedule-form>.button{width:100%}}.schedule-form{grid-template-columns:repeat(4,minmax(125px,1fr)) auto}@media(max-width:900px){.schedule-form{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-form>.button{grid-column:1/-1}}.landing-page{min-height:100vh;padding:0 max(calc((100vw - 1200px)/2),28px);background:radial-gradient(ellipse at 78% 38%,#e7f0df 0,transparent 34%),var(--cream);display:flex;flex-direction:column}.landing-nav{height:86px;justify-content:space-between;border-bottom:1px solid #dfe8e3a8}.landing-nav,.landing-nav nav{display:flex;align-items:center}.landing-nav nav{gap:25px}.landing-login{color:var(--ink);text-decoration:none;font-weight:600;font-size:.94rem}.landing-hero{flex:1 1;min-height:620px;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;grid-gap:52px;gap:52px;padding:64px 0 76px}.landing-copy{max-width:630px}.landing-copy h1{font-size:clamp(3rem,6.1vw,5.4rem);line-height:1.01;letter-spacing:-.065em;margin:22px 0}.landing-mission{max-width:570px;color:#526b64;font-size:1.15rem;line-height:1.75;margin:0}.landing-actions{display:flex;align-items:center;gap:12px;margin-top:30px}.landing-primary{padding:15px 23px}.landing-secondary{padding:14px 22px}.landing-note{font-size:.88rem;color:#71817b;margin-top:22px}.landing-art{height:480px;position:relative;display:grid;place-items:center}.globe{width:min(31vw,360px);aspect-ratio:1;border-radius:50%;position:relative;overflow:hidden;background:linear-gradient(145deg,#cbe4c9,#91c7a5);box-shadow:inset -24px -20px 50px #3d8c6b2e,0 22px 70px #1d6b5321;border:1px solid #74ad8d80}.globe:after,.globe:before{content:"";position:absolute;inset:0;border-radius:50%;background:#ffffff25}.globe:before{transform:scaleX(.48);border:1px solid #ffffff87}.globe:after{inset:23% -2%;border-block:1px solid #ffffff87;background:transparent}.globe-latitude{position:absolute;left:3%;right:3%;height:36%;border:1px solid #ffffff83;border-radius:50%;z-index:2}.latitude-one{top:10%}.latitude-two{bottom:10%}.globe-longitude{position:absolute;top:1%;bottom:1%;width:64%;border:1px solid #ffffff70;border-radius:50%;z-index:2}.longitude-one{left:17%}.longitude-two{right:17%}.land{position:absolute;background:#f6f8e9;border-radius:55% 35% 48% 28%;z-index:3;opacity:.92}.land-one{width:28%;height:24%;top:23%;left:25%;transform:rotate(-24deg);-webkit-clip-path:polygon(12% 0,86% 6%,100% 56%,74% 79%,69% 100%,45% 82%,37% 52%,0 34%);clip-path:polygon(12% 0,86% 6%,100% 56%,74% 79%,69% 100%,45% 82%,37% 52%,0 34%)}.land-two{width:28%;height:38%;top:37%;right:19%;transform:rotate(24deg);-webkit-clip-path:polygon(33% 0,87% 12%,100% 42%,76% 59%,84% 100%,42% 82%,23% 52%,0 37%);clip-path:polygon(33% 0,87% 12%,100% 42%,76% 59%,84% 100%,42% 82%,23% 52%,0 37%)}.land-three{width:13%;height:13%;bottom:17%;left:18%;transform:rotate(30deg)}.orbit{position:absolute;border:1px solid #81b39775;border-radius:50%;width:460px;height:170px;transform:rotate(-24deg)}.orbit-two{width:520px;height:230px;transform:rotate(25deg)}.classroom-tag{position:absolute;padding:12px 15px;border:1px solid #dce8de;background:#ffffffed;box-shadow:0 9px 28px #19342e12;border-radius:12px;font-weight:700;font-size:.86rem;line-height:1.45}.classroom-tag small{font-weight:400;color:var(--muted);margin-left:16px}.tag-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#388565;margin-right:7px}.tag-left{top:79px;left:-7px}.tag-right{right:-5px;bottom:99px}.art-caption{position:absolute;bottom:17px;color:#667c72;font-size:.86rem;letter-spacing:.02em}.landing-footer{height:75px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #dfe8e3a8;color:#72817b;font-size:.82rem}.landing-footer span:first-child{color:var(--green);font-weight:800;letter-spacing:.12em;font-size:.72rem}.landing-context{max-width:570px;margin:16px 0 0;color:#60756f;font-size:1rem;line-height:1.7}.class-directory-wrap{overflow-x:auto;margin-top:16px}.class-directory{width:100%;border-collapse:collapse;text-align:left}.class-directory td,.class-directory th{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.class-directory th{font-size:.78rem;color:var(--muted);letter-spacing:.04em;font-weight:700}.class-directory td:nth-child(3){white-space:nowrap}.directory-connect-form{display:flex;align-items:center;gap:8px;min-width:245px}.directory-connect-form select{flex:1 1;min-width:110px;padding:8px 10px;font-size:.88rem}.directory-connect-form .button{padding:9px 12px;font-size:.85rem}.directory-hint{font-size:.82rem;color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.class-directory td,.class-directory th{padding:10px 8px;font-size:.85rem}.directory-connect-form{min-width:230px}}.overlap-details{min-width:245px}.overlap-details summary{cursor:pointer;color:var(--green);font-weight:700;line-height:1.45}.overlap-details summary:hover{text-decoration:underline}.overlap-calendar{min-width:680px;max-width:900px;margin-top:10px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fbfdf9}.overlap-calendar-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:11px}.overlap-calendar-heading span{color:var(--muted);font-size:.78rem;line-height:1.5;text-align:right}.overlap-week-grid{display:grid;grid-template-columns:repeat(7,minmax(78px,1fr));grid-gap:6px;gap:6px}.overlap-day{min-height:75px;padding:7px 6px;border:1px solid var(--line);border-radius:8px;background:white}.overlap-day h4{margin:0 0 6px;font-size:.78rem;color:var(--muted)}.overlap-slot{display:grid;grid-gap:3px;gap:3px;margin-top:5px;padding:6px;border-radius:6px;background:#e7f3dd;color:var(--ink);font-size:.7rem;line-height:1.35}.overlap-slot span{color:var(--muted)}.overlap-no-slot{color:#a0aea7;font-size:.75rem}.overlap-empty{display:grid;grid-gap:3px;gap:3px;min-width:190px}.overlap-empty strong{font-size:.87rem;color:var(--muted)}.overlap-empty span{font-size:.78rem;color:var(--muted)}@media(max-width:700px){.overlap-calendar{min-width:620px}.overlap-week-grid{grid-template-columns:repeat(7,minmax(72px,1fr))}.overlap-calendar-heading{align-items:flex-start}}@media(max-width:850px){.landing-page{padding:0 22px}.landing-hero{grid-template-columns:1fr;gap:16px;padding:62px 0 32px}.landing-copy{max-width:700px}.landing-copy h1{max-width:650px}.landing-art{height:390px}.globe{width:min(58vw,310px)}.orbit{width:min(80vw,460px)}.orbit-two{width:min(90vw,520px)}.tag-left{left:3%}.tag-right{right:3%}}@media(max-width:520px){.landing-page{padding:0 18px}.landing-nav{height:72px}.landing-nav nav{gap:16px}.landing-nav .button{padding:10px 13px}.landing-hero{padding-top:49px}.landing-copy h1{font-size:3rem}.landing-mission{font-size:1.03rem;line-height:1.65}.landing-art{height:315px;margin-top:8px}.globe{width:58vw}.classroom-tag{font-size:.75rem;padding:9px 10px}.classroom-tag small{margin-left:14px}.tag-left{top:33px;left:0}.tag-right{right:0;bottom:40px}.art-caption{bottom:0;font-size:.75rem}.landing-footer{font-size:.72rem}}.exchange-list{display:grid;grid-gap:14px;gap:14px;margin-top:20px}.exchange-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fbfdf9}.exchange-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.exchange-card-heading h3{margin:0}.exchange-card-heading p{margin:6px 0;color:var(--muted)}.live-pill{background:#e4f5c1;color:#315829}.end-exchange-form{margin:14px 0}.leave-button{background:#a8443b}.live-monitor{margin-top:15px}.monitor-caption{font-size:.85rem;color:var(--muted)}.live-pair-row{align-items:center}.monitor-pair{display:grid;grid-gap:5px;gap:5px}.monitor-pair>span{font-size:.9rem;color:var(--muted)}.needs-help{background:#fff7e2;padding-inline:12px;border-radius:10px}.monitor-pair .help-label{color:#92400e;font-weight:700}.conversation-content{width:min(100% - 32px,980px);margin:40px auto 70px}.back-link{display:inline-block;color:var(--green);text-decoration:none;font-weight:600;margin-bottom:20px}.join-card{padding:30px}.join-card>p{color:var(--muted)}.join-card .button{margin-top:8px}.live-conversation-card{padding:24px}.live-room-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.live-room-heading h2{margin-top:6px}.teacher-present{padding:13px 16px;margin:0 0 18px;border-radius:10px;background:#e8f5e9;color:#155c3f;font-weight:700}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px;gap:14px;margin:18px 0}.video-tile{min-height:260px;overflow:hidden;border-radius:14px;background:#1d2b29;color:white}.video-tile .lk-participant-tile{height:100%}.video-tile video{object-fit:cover}.video-empty{min-height:200px;display:grid;place-items:center;background:#eef3ed;border-radius:14px;color:var(--muted)}.live-controls{display:flex;flex-wrap:wrap;gap:10px}.live-controls .button{font-size:.9rem}.live-conversation-card .mission{display:grid;grid-gap:9px;gap:9px}.live-conversation-card .mission strong{font-family:Manrope,sans-serif;font-size:1.2rem}.live-conversation-card .mission span:last-child{color:var(--muted)}.join-button{margin:8px 0 16px}.live-room{display:block}@media(max-width:700px){.conversation-content{margin:24px auto 45px}.live-conversation-card{padding:17px}.video-grid{grid-template-columns:1fr}.video-tile{min-height:220px}.live-pair-row{align-items:flex-start}.live-pair-row .button{width:100%}}.class-schedule-fields{display:grid;grid-gap:11px;gap:11px}.class-details form>label,.class-schedule-fields>label,.meeting-time-fields label{display:grid;grid-gap:6px;gap:6px;font-size:.86rem;font-weight:600}.class-schedule-fields small{color:var(--muted);font-weight:400}.meeting-days{display:flex;flex-wrap:wrap;gap:8px 14px;border:1px solid var(--line);border-radius:10px;padding:10px}.meeting-days legend{padding:0 4px;font-size:.86rem;font-weight:600}.meeting-days label{display:flex;align-items:center;gap:5px;font-size:.85rem}.meeting-days input{accent-color:var(--green)}.meeting-time-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.class-details{padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.class-details summary{cursor:pointer;color:var(--green);font-weight:600;font-size:.9rem}.class-details form{padding-top:10px}.field-example{display:block;border-left:3px solid #91b66d;background:#f2f7ec;border-radius:4px;padding:5px 8px;color:#52664d;font-size:.8rem}.field-example strong{color:#315829}.class-schedule-fields select{width:100%}.landing-demo-cta,.landing-demo-link{color:var(--green);text-decoration:none;font-size:.9rem;font-weight:700}.landing-demo-cta:hover,.landing-demo-link:hover{text-decoration:underline}.landing-actions .landing-demo-cta{margin-left:8px}.landing-demo{padding:64px 0 76px;border-top:1px solid #dfe8e3a8}.landing-demo-intro{text-align:center;margin:0 auto 26px}.landing-demo-intro h2{font-size:clamp(2rem,4vw,3rem);margin:10px 0}.landing-demo-intro p{color:var(--muted);margin:0}.demo-player{width:min(100%,970px);margin:0 auto;border:1px solid #dce7df;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 24px 70px #19342e16}.demo-stage{padding:20px 22px 18px;background:radial-gradient(ellipse at 50% 0,#eff7e7 0,transparent 48%),#f8faf6}.demo-stage-bar{display:flex;align-items:center;gap:9px;color:#577267;font-size:.68rem;font-weight:800;letter-spacing:.12em}.demo-brand-logo{display:block;transform-origin:left center}.demo-stage-label{margin-left:auto;padding:6px 10px;border-radius:99px;background:#e6f1e4;color:var(--green);font-size:.7rem;letter-spacing:.04em}.demo-stage-art{min-height:340px;position:relative;display:grid;place-items:center;padding:24px 10px 18px}.demo-play-overlay{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;border:0;border-radius:50%;background:#1d6b53;color:white;box-shadow:0 8px 24px #19342e35;cursor:pointer;transition:transform .2s,filter .2s}.demo-play-overlay:hover{transform:translate(-50%,-50%) scale(1.07);filter:brightness(1.1)}.demo-play-overlay span{font-size:1.35rem;margin-left:4px}.demo-stage-copy{display:grid;grid-gap:5px;gap:5px;text-align:center;min-height:58px}.demo-stage-copy strong{font:700 1.35rem Manrope,sans-serif;letter-spacing:-.03em}.demo-stage-copy span{font-size:.9rem;color:var(--muted)}.demo-controls{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding:15px 20px 17px}.demo-play-button{flex:0 0 auto;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--green);color:white;font-size:.86rem;cursor:pointer}.demo-control-main{flex:1 1;min-width:0}.demo-progress-track{height:5px;border-radius:9px;background:#e3ebe4;overflow:hidden}.demo-progress-track span{display:block;height:100%;border-radius:inherit;background:#3b8b67;transition:width .2s linear}.demo-chapters{display:flex;justify-content:space-between;gap:8px;margin-top:10px}.demo-chapters button{padding:0;border:0;background:none;color:#70827a;font:600 .72rem DM Sans,sans-serif;cursor:pointer}.demo-chapters button.active,.demo-chapters button:hover{color:var(--green)}.demo-duration{font-size:.74rem;color:var(--muted);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.demo-disclaimer{text-align:center;margin:13px 0 0;color:#809088;font-size:.76rem}.demo-world-scene{display:grid;grid-template-columns:1fr minmax(120px,.5fr) 1fr;align-items:center;grid-gap:10px;gap:10px;width:min(100%,760px);position:relative;padding-bottom:26px}.demo-city-card{display:grid;justify-items:start;grid-gap:9px;gap:9px;padding:23px 25px;border:1px solid #d9e7da;border-radius:15px;background:#fff;box-shadow:0 11px 30px #284d3910}.demo-city-card small,.demo-monitor-heading small,.demo-setup-place small{color:#769084;font-size:.65rem;font-weight:800;letter-spacing:.12em}.demo-city-card strong{font:700 1.1rem Manrope,sans-serif}.demo-city-card>span:last-child{color:var(--muted);font-size:.83rem}.demo-city-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#f1f6e4;color:#789e49;font-size:1.35rem}.demo-city-ba .demo-city-icon{background:#f9ece4;color:#b27651}.demo-world-connector{display:grid;justify-items:center;grid-gap:8px;gap:8px;color:var(--green)}.demo-world-connector>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e5f1e2;font-size:1.2rem}.demo-world-connector i{width:100%;height:1px;background:linear-gradient(90deg,#a8c986,#55a77a,#a8c986)}.demo-world-connector small{font-size:.54rem;letter-spacing:.09em;text-align:center;white-space:nowrap}.demo-world-note{position:absolute;bottom:0;left:50%;transform:translateX(-50%);color:#6c8978;font-size:.77rem;font-weight:700;white-space:nowrap}.demo-setup-scene{width:min(100%,760px);padding:17px;border:1px solid #dae6dc;border-radius:16px;background:white;box-shadow:0 12px 32px #284d3910}.demo-window-top{display:flex;align-items:center;gap:5px;padding-bottom:15px;border-bottom:1px solid #edf1ed}.demo-window-top>span{width:7px;height:7px;border-radius:50%;background:#d9e1db}.demo-window-top small{margin-left:8px;color:#778b80;font-size:.6rem;font-weight:800;letter-spacing:.1em}.demo-setup-row{display:grid;grid-template-columns:1fr 44px 1fr;align-items:center;grid-gap:9px;gap:9px;padding:21px 0}.demo-setup-place{display:grid;grid-gap:6px;gap:6px;padding:14px;border:1px solid #e4ebe4;border-radius:11px;background:#fbfdf9}.demo-setup-place strong{font:700 .87rem Manrope,sans-serif}.demo-setup-place>span{color:var(--muted);font-size:.72rem}.demo-match-icon{display:grid;place-items:center;width:34px;height:34px;margin:auto;border-radius:50%;background:#e8f3e5;color:var(--green)}.demo-overlap-note{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;background:#f1f7e8;color:var(--green)}.demo-overlap-note>span:first-child{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#dceecb;font-weight:800}.demo-overlap-note div{display:grid;grid-gap:3px;gap:3px}.demo-overlap-note strong{font-size:.8rem}.demo-overlap-note small{font-size:.68rem;color:var(--muted)}.demo-match-pill{margin-left:auto;color:#66854c;font-size:.59rem;font-weight:800;letter-spacing:.08em}.demo-schedule-line{display:flex;justify-content:space-around;margin-top:12px;color:#8c9b93;font-size:.64rem;font-weight:700}.demo-schedule-line b{padding:4px 9px;border-radius:7px;background:#dff1d8;color:#316749}.demo-pairs-scene{width:min(100%,760px);padding:16px;border:1px solid #dce7df;border-radius:16px;background:white;box-shadow:0 12px 32px #284d3910}.demo-pair-heading{display:flex;align-items:center;gap:8px;padding:1px 1px 13px;color:#6e867a;font-size:.62rem;font-weight:800;letter-spacing:.09em}.demo-pair-heading>span:last-child{margin-left:auto;color:#5a7568;letter-spacing:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.demo-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#46a576;box-shadow:0 0 0 3px #dff0e3}.demo-video-pair{display:grid;grid-template-columns:1fr 34px 1fr;align-items:center;grid-gap:7px;gap:7px}.demo-student-tile{min-height:169px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:6px;overflow:hidden;padding:14px;border-radius:12px;background:linear-gradient(165deg,#c1d8bd 0 52%,#719b7b 52% 100%);position:relative}.student-two{background:linear-gradient(165deg,#ecd5b8 0 52%,#bd8973 52% 100%)}.demo-avatar{position:absolute;top:20px;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:67px;height:67px;border-radius:50%;background:#f2c9a6;color:#644632;font:800 1.55rem Manrope,sans-serif;border:4px solid #ffffffaa}.avatar-two{background:#704f45;color:#fff0da}.demo-student-tile small{font-size:.55rem;font-weight:800;letter-spacing:.08em;text-shadow:0 1px 3px #17322880}.demo-student-tile strong{font:700 .84rem Manrope,sans-serif;text-shadow:0 1px 3px #17322870}.demo-student-tile i{font-size:.64rem;font-style:normal;opacity:.9}.demo-pair-divider{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#eaf2e6;color:var(--green)}.demo-pair-footer{display:flex;justify-content:space-between;gap:10px;padding:12px 2px 0;color:#668071;font-size:.67rem}.demo-monitor-scene{width:min(100%,680px);padding:16px;border:1px solid #dae6dc;border-radius:15px;background:white;box-shadow:0 12px 32px #284d3910}.demo-monitor-heading{display:flex;align-items:center;justify-content:space-between;padding:1px 2px 10px}.demo-monitor-heading>div{display:grid;grid-gap:4px;gap:4px}.demo-monitor-heading strong{font:700 .96rem Manrope,sans-serif}.demo-monitor-heading>span{display:flex;align-items:center;gap:7px;color:#438364;font-size:.61rem;font-weight:800;letter-spacing:.07em}.demo-room-list{border:1px solid #e5ece5;border-radius:10px;overflow:hidden}.demo-room{display:flex;align-items:center;gap:10px;padding:9px 11px;border-bottom:1px solid #edf1ed}.demo-room:last-child{border-bottom:0}.demo-room-avatars{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:#ecf3e9;color:#4f795e;font-size:.64rem;font-weight:800}.demo-room>span:nth-child(2){display:grid;grid-gap:3px;gap:3px}.demo-room strong{font-size:.75rem}.demo-room small{color:var(--muted);font-size:.65rem}.demo-room b{margin-left:auto;font-size:.56rem;letter-spacing:.06em}.demo-room-ok{color:#59906d}.demo-room-help{background:#fff8e9}.demo-room-help .demo-room-avatars{background:#ffedc7;color:#9b6c18}.demo-room-alert{color:#a67113}.demo-join-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;margin-top:11px;border-radius:10px;background:#fff3dc;color:#765a27;font-size:.72rem}.demo-join-banner button{border:0;border-radius:8px;background:#1d6b53;color:white;padding:9px 11px;font:600 .7rem DM Sans,sans-serif}.demo-stage-playing .demo-monitor-scene,.demo-stage-playing .demo-pairs-scene,.demo-stage-playing .demo-setup-scene,.demo-stage-playing .demo-world-scene{animation:demo-scene-enter .3s ease-out both}@keyframes demo-scene-enter{0%{opacity:.55;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.landing-demo{padding:49px 0 56px}.landing-demo-link{display:none}.landing-actions .landing-demo-cta{margin:10px 0 0;flex-basis:100%}.demo-stage{padding:14px 12px}.demo-stage-art{min-height:310px;padding-inline:0}.demo-city-card{padding:16px 12px;gap:7px}.demo-city-card strong{font-size:.9rem}.demo-city-card>span:last-child{font-size:.72rem}.demo-world-connector small{font-size:.44rem}.demo-setup-scene{padding:11px}.demo-setup-row{grid-template-columns:1fr;gap:7px;padding:13px 0}.demo-match-icon{width:26px;height:26px}.demo-setup-place{padding:10px}.demo-match-pill{display:none}.demo-chapters{gap:5px}.demo-chapters button{font-size:.58rem}.demo-controls{gap:9px;padding:12px}.demo-duration{font-size:.65rem}.demo-stage-copy strong{font-size:1.1rem}.demo-stage-copy span{font-size:.8rem}.demo-student-tile{min-height:153px;padding:10px}.demo-student-tile strong{font-size:.74rem}.demo-student-tile small{font-size:.48rem}.demo-pair-footer{font-size:.6rem}.demo-room{gap:7px;padding:8px}.demo-room strong{font-size:.68rem}.demo-room small{font-size:.58rem}.demo-join-banner{align-items:flex-start;flex-direction:column}.demo-join-banner button{width:100%}}@media(prefers-reduced-motion:reduce){.demo-stage-playing .demo-monitor-scene,.demo-stage-playing .demo-pairs-scene,.demo-stage-playing .demo-setup-scene,.demo-stage-playing .demo-world-scene{animation:none}.demo-progress-track span{transition:none}}.demo-audio-button{flex:0 0 auto;border:1px solid #dce7df;border-radius:9px;background:#fff;color:var(--green);padding:8px 10px;font:600 .72rem DM Sans,sans-serif;cursor:pointer;white-space:nowrap}.demo-audio-button:hover:not(:disabled){background:#f1f7ed}.demo-audio-button:disabled{color:#9aa8a0;cursor:not-allowed}@media(max-width:700px){.demo-controls{flex-wrap:wrap}.demo-audio-button{order:3}.demo-control-main{order:4;flex-basis:100%}.demo-duration{margin-left:auto}}@keyframes demo-logo-intro{0%{opacity:.4;transform:scale(.58) rotate(-18deg)}65%{opacity:1;transform:scale(1.1) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes demo-city-enter{0%{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes demo-city-float{0%,to{translate:0 0}50%{translate:0 -5px}}@keyframes demo-line-draw{0%{transform:scaleX(0);opacity:.25}to{transform:scaleX(1);opacity:1}}@keyframes demo-link-pulse{0%,to{transform:scale(1);box-shadow:0 0 0 0 #7bad5b00}50%{transform:scale(1.12);box-shadow:0 0 0 9px #7bad5b22}}@keyframes demo-note-arrive{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}.demo-stage-playing .demo-brand-logo{animation:demo-logo-intro .8s cubic-bezier(.2,.8,.25,1) both}.demo-stage-playing .demo-city-card{animation:demo-city-enter .75s cubic-bezier(.2,.8,.25,1) both,demo-city-float 4.2s ease-in-out 1.2s infinite}.demo-stage-playing .demo-city-ba{animation-delay:.38s,1.58s}.demo-stage-playing .demo-world-connector>span{animation:demo-link-pulse 1.5s ease-in-out .75s infinite}.demo-stage-playing .demo-world-connector i{transform-origin:left center;animation:demo-line-draw .7s ease-out .48s both}.demo-stage-playing .demo-world-note{animation:demo-note-arrive .55s ease-out 1.3s both}@media(prefers-reduced-motion:reduce){.demo-stage-playing .demo-brand-logo,.demo-stage-playing .demo-city-card,.demo-stage-playing .demo-world-connector i,.demo-stage-playing .demo-world-connector>span,.demo-stage-playing .demo-world-note{animation:none!important;translate:none!important;transform:none!important}}.demo-student-tile{display:block;min-height:0;padding:0;background:#fff;color:#fff}.demo-video-frame{height:185px;position:relative;overflow:hidden;border-radius:10px;background:radial-gradient(ellipse at 50% 35%,#dbe9d3 0 22%,transparent 23%),linear-gradient(155deg,#b8d0b3 0 58%,#6f987b 58% 100%)}.student-two .demo-video-frame{background:radial-gradient(ellipse at 50% 35%,#f0dac0 0 22%,transparent 23%),linear-gradient(155deg,#ead2b4 0 58%,#ad7b70 58% 100%)}.demo-student-person{position:absolute;left:50%;top:25px;translate:-50% 0;width:83px;height:112px;border-radius:42px 42px 20px 20px;background:linear-gradient(#e9b893 0 53%,#365e55 53%);box-shadow:0 4px 16px #243b2c38}.person-two{background:linear-gradient(#9c6045 0 53%,#53698a 53%)}.person-hair{position:absolute;z-index:1;top:0;left:3px;width:77px;height:37px;border-radius:45px 45px 15px 15px;background:#493328}.person-two .person-hair{background:#302a28}.person-eyes{position:absolute;top:42px;left:24px;width:37px;height:5px;border-left:3px solid #382c29;border-right:3px solid #382c29}.person-mouth{position:absolute;top:60px;left:37px;width:13px;height:6px;border-radius:50%;background:#783d38;animation:demo-mouth-talk .36s ease-in-out infinite alternate}.person-two .person-mouth{animation-delay:.6s}.demo-video-live{position:absolute;z-index:2;top:9px;left:9px;display:flex;align-items:center;gap:5px;padding:4px 7px;border-radius:6px;background:#111a;color:white;font-size:.55rem;font-weight:800;letter-spacing:.08em}.demo-video-live i{width:6px;height:6px;border-radius:50%;background:#fb6159;animation:demo-live-blink 1.1s infinite}.demo-video-name{position:absolute;z-index:2;left:8px;bottom:8px;padding:5px 7px;border-radius:5px;background:#111b;color:#fff;font-size:.53rem;font-weight:800;letter-spacing:.05em}.demo-speaking-bars{position:absolute;z-index:2;right:10px;bottom:10px;display:flex;align-items:center;gap:2px;height:16px}.demo-speaking-bars i{width:3px;height:5px;border-radius:4px;background:#8be0a5;animation:demo-audio-bars .42s ease-in-out infinite alternate}.demo-speaking-bars i:nth-child(2){height:12px;animation-delay:.14s}.demo-speaking-bars i:nth-child(3){height:8px;animation-delay:.28s}.bars-delayed{animation-delay:.65s}.demo-student-caption{display:flex;flex-direction:column;gap:5px;padding:10px 4px 2px}.demo-student-caption strong{font:700 .79rem Manrope,sans-serif;color:#20352b}.demo-student-caption i{font-size:.64rem;font-style:normal;color:#607b6b}.demo-pair-divider{position:relative;z-index:1}.demo-stage-playing .demo-pairs-scene .demo-video-frame{animation:demo-video-arrive .55s ease-out both}.demo-stage-playing .demo-pairs-scene .student-two .demo-video-frame{animation-delay:.16s}@keyframes demo-mouth-talk{0%{height:3px;border-radius:50%}to{height:10px;border-radius:3px 3px 8px 8px}}@keyframes demo-audio-bars{to{transform:scaleY(.35)}}@keyframes demo-live-blink{50%{opacity:.35}}@keyframes demo-video-arrive{0%{opacity:.5;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.landing-copy>*{animation:hero-rise .8s cubic-bezier(.2,.8,.25,1) both}.landing-copy>:nth-child(2){animation-delay:.08s}.landing-copy>:nth-child(3){animation-delay:.18s}.landing-copy>:nth-child(4){animation-delay:.26s}.landing-copy>:nth-child(5){animation-delay:.34s}.landing-copy>:nth-child(6){animation-delay:.42s}.landing-art{animation:hero-art-in 1s cubic-bezier(.2,.8,.25,1) .15s both}.globe{animation:hero-float 7s ease-in-out infinite}.land{animation:hero-drift 22s linear infinite}.land-one{animation-delay:-4s}.land-two{animation-delay:-13s}.land-three{animation-delay:-19s}.globe-longitude{animation:hero-turn 11s ease-in-out infinite alternate}.longitude-two{animation-delay:-5.5s}.orbit-one{animation:hero-orbit-breathe 9s ease-in-out infinite}.orbit-two{animation:hero-orbit-breathe 11s ease-in-out -3s infinite}.orbit-dot{display:none}@supports (offset-path:ellipse(50% 50% at 50% 50%)){.orbit-dot{display:block;position:absolute;top:0;left:0;width:9px;height:9px;border-radius:50%;background:#7fbf8f;box-shadow:0 0 0 4px #7fbf8f2e;offset-path:ellipse(50% 50% at 50% 50%);offset-rotate:0deg;animation:hero-orbit-run 14s linear infinite}.orbit-two .orbit-dot{background:#d7c26a;box-shadow:0 0 0 4px #d7c26a33;animation-duration:19s;animation-direction:reverse}}.hero-link{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}.hero-link-track{stroke:#8dbf9f;stroke-width:1.5;stroke-dasharray:3 6;opacity:.7}.hero-link-flow,.hero-link-track{fill:none;vector-effect:non-scaling-stroke}.hero-link-flow{stroke:#2f8a63;stroke-width:2;stroke-linecap:round;stroke-dasharray:14 150;animation:hero-flow 3.4s linear infinite}.hero-link-pulse{fill:#1d6b53;filter:drop-shadow(0 0 2px #7fd3a5)}.classroom-tag{z-index:2;animation:hero-tag-float 5.5s ease-in-out infinite}.tag-right{animation-delay:-2.7s}.tag-dot{position:relative}.tag-dot:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #38856580;animation:hero-ping 2.4s ease-out infinite}.tag-right .tag-dot:after{animation-delay:1.2s}.hero-bubble{position:absolute;z-index:3;padding:8px 12px;border-radius:14px;background:var(--green);color:#fff;font:700 .82rem DM Sans,sans-serif;white-space:nowrap;box-shadow:0 10px 26px #19342e26;opacity:0;animation:hero-bubble 8s ease-in-out infinite}.hero-bubble:after{content:"";position:absolute;width:10px;height:10px;background:inherit;transform:rotate(45deg)}.bubble-left{top:150px;left:26px;transform-origin:15% 0}.bubble-left:after{top:-4px;left:18px}.bubble-right{bottom:170px;right:22px;background:var(--lime);color:var(--ink);transform-origin:85% 100%;animation-delay:4s}.bubble-right:after{bottom:-4px;right:18px}@keyframes hero-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes hero-art-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes hero-float{0%,to{translate:0 0}50%{translate:0 -10px}}@keyframes hero-drift{0%{translate:-230% 0;opacity:0}12%,88%{opacity:.92}to{translate:230% 0;opacity:0}}@keyframes hero-turn{0%{transform:scaleX(1)}50%{transform:scaleX(.35)}to{transform:scaleX(1)}}@keyframes hero-orbit-breathe{0%,to{scale:1;opacity:1}50%{scale:1.04;opacity:.6}}@keyframes hero-orbit-run{to{offset-distance:100%}}@keyframes hero-flow{0%{stroke-dashoffset:164}to{stroke-dashoffset:0}}@keyframes hero-tag-float{0%,to{translate:0 0}50%{translate:0 -7px}}@keyframes hero-ping{0%{transform:scale(.6);opacity:1}80%,to{transform:scale(2.2);opacity:0}}@keyframes hero-bubble{0%,6%{opacity:0;scale:.6}12%,40%{opacity:1;scale:1}48%,to{opacity:0;scale:.85}}@media(max-width:520px){.bubble-left{top:96px;left:4px}.bubble-right{bottom:96px;right:4px}.hero-bubble{font-size:.72rem;padding:6px 10px}}@media(prefers-reduced-motion:reduce){.classroom-tag,.globe,.globe-longitude,.hero-link-flow,.land,.landing-art,.landing-copy>*,.orbit-dot,.orbit-one,.orbit-two,.tag-dot:after{animation:none!important}.hero-link-flow,.hero-link-pulse,.orbit-dot,.tag-dot:after{display:none}.hero-bubble{animation:none;opacity:1}}.mic-check{display:grid;grid-gap:10px;gap:10px;margin:16px 0}.mic-select{display:grid;grid-gap:6px;gap:6px;font-size:.88rem;font-weight:600}.mic-select select{width:100%}.mic-level-row{display:flex;align-items:center;gap:12px;font-size:.85rem;color:var(--muted)}.mic-level{flex:0 0 140px;height:10px;border-radius:99px;background:#edf4ec;overflow:hidden}.mic-level span{display:block;height:100%;background:var(--green);transition:width .08s linear}.mic-warning{background:#fff4d6;color:#7a5200;padding:10px;border-radius:8px;margin:0}.mic-controls{border-top:1px solid var(--line);padding-top:14px}@media(max-width:700px){.mic-level{flex-basis:96px}}.feedback-card textarea{width:100%;min-height:110px;resize:vertical;border:1px solid #d4e0d8;border-radius:9px;padding:11px 12px;font:inherit;color:var(--ink)}.feedback-card textarea:focus{outline:2px solid #a8d3be;border-color:var(--green)}.feedback-actions{display:flex;gap:10px;flex-wrap:wrap}.chat-toggle-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0}.chat-toggle{gap:8px}.chat-unread{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--green);color:#fff;font-size:.78rem}.chat-hint{color:var(--muted);font-size:.85rem}.chat-panel{border:1px solid var(--line);border-radius:14px;padding:14px;margin:14px 0;display:grid;grid-gap:10px;gap:10px;background:#fbfdf9}.chat-head{display:flex;justify-content:space-between;align-items:center}.chat-notice{margin:0;color:var(--muted);font-size:.82rem}.chat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}.chat-message{display:grid;grid-gap:2px;gap:2px;max-width:85%;padding:8px 11px;border-radius:12px;background:#fff;border:1px solid var(--line);align-self:flex-start}.chat-message.is-mine{align-self:flex-end;background:#e8f3ec;border-color:#cfe5d7}.chat-message.is-teacher{border-color:#c4dd7c;background:#f6fbe6}.chat-meta{font-size:.74rem;color:var(--muted)}.chat-body{white-space:pre-wrap;overflow-wrap:anywhere}.chat-empty{color:var(--muted);font-size:.88rem}.chat-form{display:flex;gap:8px;align-items:flex-end}.chat-form textarea{flex:1 1;min-width:0;resize:none;border:1px solid #d4e0d8;border-radius:9px;padding:10px 12px;font:inherit;color:var(--ink)}.chat-form textarea:focus{outline:2px solid #a8d3be;border-color:var(--green)}.chat-transcript{max-height:none}.brand-logo{display:inline-flex;align-items:center;line-height:0}.auth-logo{display:inline-block;line-height:0;margin-bottom:6px}.landing-footer img{opacity:.9}