/* Community, classroom, speaking, and offline extensions share Kadam's design system. */
.app-sidebar nav{max-height:70vh;overflow-y:auto}.app-sidebar .sidebar-note{margin-top:24px}.feature-banner{display:flex;align-items:center;gap:28px;padding:32px;border-radius:22px;margin:28px 0;color:#392e46}.feature-banner h2{font-size:29px;letter-spacing:-.8px;margin:8px 0 12px}.feature-banner p{font-size:15px;line-height:1.7;margin:8px 0}.banner-symbol{font-size:68px;line-height:1;min-width:70px;text-align:center}.lavender{background:#f1edff}.sky{background:#eaf5fc}.peach{background:#fff0df}.mint{background:#eff8e5}.feature-columns,.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.surface{padding:27px;border:2px solid var(--line);border-radius:20px;background:#fff;min-width:0}.surface h2{font-size:23px;margin:0 0 18px}.surface h3{font-size:20px;margin:16px 0 10px}.surface p{color:var(--muted);font-size:14px;line-height:1.7}.surface small{font-size:12px;color:var(--muted)}.surface .field{font-size:13px}.field textarea{resize:vertical;min-height:92px;font:inherit;color:var(--ink);border:2px solid var(--line);border-radius:12px;padding:15px;max-width:100%;width:100%;box-sizing:border-box;background:#fff}.field textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.field select{min-width:0;max-width:100%;width:100%}.invite-code{display:flex;gap:15px;align-items:center;justify-content:space-between;background:#f7f5ff;border:2px dashed #d6caed;border-radius:13px;padding:17px}.invite-code>span{font-family:ui-monospace,monospace;font-size:22px;font-weight:bold;letter-spacing:2px}.person-row{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.person-row>div{min-width:0}.person-row b{font-size:14px;overflow-wrap:anywhere}.person-row small{display:block;margin-top:5px}.row-actions{margin-left:auto;display:flex;flex-direction:column;gap:12px}.row-actions .text-button{font-size:10px}.friend-card{display:flex;align-items:center;gap:13px;padding:16px;width:100%;border:2px solid var(--line);border-bottom-width:4px;background:white;border-radius:13px;margin-bottom:12px;text-align:left;color:var(--ink);cursor:pointer}.friend-card b{font-size:15px;min-width:0;overflow-wrap:anywhere}.friend-card>span:last-child{margin-left:auto;color:var(--blue);font-size:11px;white-space:nowrap}.blocked-list{margin-top:28px;color:var(--muted);font-size:13px}.blocked-list summary{cursor:pointer}.chat-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.chat-heading .eyebrow{font-size:10px}.chat-heading h2{overflow-wrap:anywhere}.chat-messages{max-height:430px;min-height:150px;overflow-y:auto;padding:8px 0;display:flex;flex-direction:column;gap:12px}.message{border-radius:15px;max-width:90%;padding:13px 16px;overflow-wrap:anywhere}.message.sent{background:#ede4f7;align-self:flex-end;border-bottom-right-radius:3px}.message.received{background:#f1f5f8;align-self:flex-start;border-bottom-left-radius:3px}.message p{margin:0 0 5px;white-space:pre-wrap;color:var(--ink)}.message small{font-size:10px}.chat-controls{display:flex;gap:22px;margin-top:24px}.chat-controls .text-button{font-size:10px}.pill{display:inline-flex;border-radius:7px;padding:7px 10px;background:#f1edf6;color:#654988;font-size:10px;letter-spacing:1px;font-weight:bold}.classroom-grid,.assignment-grid,.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.class-card h3{overflow-wrap:anywhere}.class-code{margin-left:auto;flex-shrink:0;display:grid;gap:9px}.class-code b{font-family:ui-monospace,monospace;letter-spacing:2px}.class-code small{font-size:10px;letter-spacing:2px}.table-scroll{overflow:auto;margin-top:20px}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th,td{padding:16px;border-bottom:1px solid var(--line);min-width:140px}thead th{color:#658849;background:#f5f9f0}td small{display:block;margin-top:7px}.membership-hero{text-align:center;padding:38px 15px}.membership-hero h2{font-size:44px;letter-spacing:-1.5px;margin:14px 0}.membership-hero p{color:var(--muted);line-height:1.7}.plus-spark{color:#9376d9;font-size:58px}.test-pill{background:#fff5d9;color:#80692b}.price-card{padding:30px;align-self:stretch}.price-card h2{font-size:25px;margin-top:25px}.price{font-size:44px;font-weight:bold;letter-spacing:-1px;margin-block:20px}.price small{font-size:15px;font-weight:normal;letter-spacing:0}.price-card ul{list-style:none;padding:0;margin:28px 0;display:grid;gap:18px;font-size:14px;line-height:1.6}.price-card li{padding-left:23px;position:relative}.price-card li:before{content:'✓';position:absolute;left:0;color:#622ca3}.plus-card{border-color:#cfc0ee;background:linear-gradient(140deg,#fbf8ff,#fff)}.plus-card>.pill{background:#ece4fd;color:#8164b4}.pricing-grid{margin-bottom:25px}.verification-banner{display:flex;gap:12px;flex-wrap:wrap;align-items:center;background:#f5f2f8;border-radius:12px;padding:15px;margin-bottom:24px;font-size:13px}.verification-banner small{display:block;width:100%;color:var(--muted);font-size:12px}.verification-banner .text-button{font-size:10px}.stage-picker{margin:22px 0 10px;font-size:13px}.type-answer textarea{font-size:20px}.question-prompt.reading-passage{font-size:19px;line-height:1.8;display:block;padding:25px;max-height:300px;overflow:auto}.question-prompt{overflow-wrap:anywhere}.answer-option{text-align:left;overflow-wrap:anywhere}.speaking-phrase{padding:28px 0;text-align:center}.speaking-phrase blockquote{font-size:28px;line-height:1.55;margin:18px 0;color:var(--ink);overflow-wrap:anywhere}.speaking-phrase .sound-button{margin:auto}.recording-box{padding:20px;background:#faf7f1;border-radius:15px}.recording-status{font-size:13px;line-height:1.6;color:#846c4b;text-align:center}.recording-box audio{width:100%;margin-top:17px}.overall-score{display:flex;gap:8px;align-items:baseline;justify-content:center;margin:25px}.overall-score strong{font-size:76px;color:#5aa628;letter-spacing:-4px}.overall-score span{color:var(--muted)}.speech-metrics{display:grid;gap:20px;margin:28px 0}.speech-metrics>div{display:grid;grid-template-columns:1fr auto;gap:9px;font-size:14px}.speech-metrics progress{width:100%;grid-column:1/-1;height:10px;accent-color:#58b900}.word-feedback details{padding:13px;border-bottom:1px solid var(--line)}.word-feedback summary{display:flex;justify-content:space-between;gap:15px;font-size:14px;cursor:pointer}.word-feedback summary>span{font-size:11px;color:var(--muted)}.word-feedback .needs-practice{background:#fff3e8;border-radius:8px}.speaking-history{display:grid;gap:14px}.history-row{display:flex;align-items:center;gap:20px;text-align:left;color:var(--ink);cursor:pointer;width:100%;font:inherit}.history-row>span:nth-child(2){display:grid;gap:7px;min-width:0}.history-row b{overflow-wrap:anywhere;font-size:15px}.history-row>span:last-child{margin-left:auto;font-size:10px;white-space:nowrap;color:var(--blue)}.score-circle{border-radius:50%;background:#eff8e5;color:#5d952e;min-width:46px;height:46px;display:grid;place-items:center;font-size:19px;font-weight:bold}.offline-status{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;background:#f3eff9;border-radius:12px;margin:20px 0;color:#5f4382;font-size:12px;font-weight:bold;line-height:1.6}.offline-status.is-offline{background:#fff4da;color:#8e773e}.offline-download{display:flex;align-items:end;gap:20px;margin-bottom:25px;flex-wrap:wrap}.offline-download .field{flex:1;min-width:0;margin:0}.offline-download .button{flex-shrink:0}.offline-download [data-form-error]{width:100%}.download-card h3{font-size:19px;line-height:1.5}.download-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px}.download-actions .text-button{font-size:10px}.learning-layout .unit-card summary strong{line-height:1.4}.guide-words>div{align-items:start}.guide-words>div>span{min-width:0;overflow-wrap:anywhere}.guide-words>div>span:last-child{max-width:44%}.button:disabled,.text-button:disabled{cursor:not-allowed;opacity:.5}.empty-state{overflow-wrap:anywhere}.app-nav:focus-visible,.friend-card:focus-visible,.history-row:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:1100px){.feature-columns,.pricing-grid{grid-template-columns:1fr}.app-sidebar .sidebar-note{display:none}.app-sidebar nav{max-height:80vh}.app-sidebar .app-nav{padding-block:10px}.banner-symbol{font-size:53px}.surface{padding:24px}.offline-download{display:block}.offline-download>.button{margin-top:20px}.invite-code>span{font-size:20px}}
@media(max-width:760px){.app-sidebar nav{overflow-x:auto;overflow-y:hidden;max-height:none;justify-content:start;scrollbar-width:thin}.app-sidebar .app-nav{flex:0 0 75px;font-size:10px;min-width:75px}.feature-banner{padding:24px;gap:18px}.feature-banner h2{font-size:27px}.feature-banner p{font-size:14px}.classroom-grid,.assignment-grid,.download-grid{grid-template-columns:1fr}.membership-hero h2{font-size:37px}.price{font-size:39px}.class-code{margin-left:0}.feature-banner.sky:has(.class-code){flex-direction:column;align-items:start}.chat-messages{max-height:340px}.class-code{width:100%}.class-code .text-button{align-self:start}.history-row{padding:18px;gap:12px}.question-prompt.reading-passage{font-size:17px;max-height:250px}.offline-status{font-size:10px}.speaking-phrase blockquote{font-size:25px}}
@media(max-width:420px){.feature-banner{display:block;padding:24px 20px}.banner-symbol{display:block;text-align:left;font-size:43px;margin-bottom:20px}.feature-banner h2{font-size:25px}.surface{padding:20px}.invite-code{padding:13px;gap:10px}.invite-code>span{font-size:18px;letter-spacing:1px}.invite-code .text-button{font-size:10px}.person-row{gap:8px}.person-row .avatar{width:25px;min-width:25px;height:25px}.person-row b{font-size:12px}.friend-card{padding:13px;gap:9px}.friend-card b{font-size:13px}.friend-card>span:last-child{font-size:9px}.chat-heading{gap:9px}.chat-heading .text-button{font-size:10px}.history-row>span:last-child{display:none}.speaking-phrase blockquote{font-size:23px}.offline-status{align-items:start;gap:12px}.offline-status .text-button{font-size:10px;white-space:nowrap}.pricing-grid .price-card{padding:24px}.stage-picker select{font-size:14px}.app-content{overflow:hidden}.type-answer textarea{font-size:18px}}

.app-sidebar{min-width:0;max-width:100%}.app-sidebar nav{min-width:0;max-width:100%}.app-content{min-width:0}
@media(max-width:760px){.app-layout{grid-template-columns:minmax(0,1fr)}.app-sidebar{overflow:hidden}.app-sidebar nav{width:100%;box-sizing:border-box}.app-nav{min-width:75px}}

#main:focus{outline:none}


