.duo-plan,.duo-room,.duo-assessment{--duo-coral: #f06464;--duo-mint: #3ca68b;--duo-lilac: #d1b8f0;--duo-forest: #353047;--duo-fire: #cc4558;--duo-gold: #f6c765;--duo-ink: #353047;--duo-paper: #fffaf4}.duo-overview{position:relative;background:linear-gradient(115deg,#fceeee,#fffaf4);border:2px solid #efcecf;box-shadow:0 4px #efcecf4d;overflow:hidden}.duo-overview-emblem{width:82px;height:82px;flex-shrink:0}.duo-levels{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:20px}.duo-levels>div{display:flex;flex-direction:column;gap:4px}.duo-levels>div>span{color:var(--muted);font-size:13px}.duo-levels strong{font-size:34px;line-height:1.4;letter-spacing:0;color:#353047}.duo-levels>svg{color:#cc4558}.duo-levels>.badge{margin-left:auto;border:1px solid #efd49c;background:#fffaf4;color:#6e5437}.duo-members{display:grid;grid-template-columns:1fr 1fr;gap:14px}.duo-member{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:11px;padding:18px;border:1px solid #e3d8e8;border-bottom-width:3px;border-radius:15px;background:#fff;min-width:0}.duo-member>.avatar{border:2px solid #28846e;background:#dcf3e8;color:#353047}.duo-member-husband>.avatar{border-color:#dd6576;background:#ffe1df;color:#a9394d}.duo-member>.duo-member-avatar{width:56px;height:62px;background:transparent;border:0;overflow:visible}.duo-member-avatar .chibi-pawn{display:block;width:56px;height:62px}.duo-member strong,.duo-member small{display:block}.duo-member strong{font-size:14px;overflow-wrap:anywhere;line-height:1.65}.duo-member small{color:var(--muted);font-size:12px;line-height:1.65}.duo-member dl{grid-column:1/-1;display:flex;gap:24px;margin:4px 0 0;border-top:1px dashed #e3d8e8;padding-top:12px}.duo-member dt{color:var(--muted);font-size:12px}.duo-member dd{margin:4px 0 0;font-size:22px;font-weight:700;color:#353047}.duo-overview-footer{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.duo-overview-footer p,.duo-placement-status>p{margin:0;font-size:13px;color:var(--muted);line-height:1.8}.duo-placement-status>p{margin-top:16px}.duo-placement-status{background:#fffaf4;border-color:#e4d8e9}.duo-campaign-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.duo-campaign-stats>div{display:grid;grid-template-columns:22px auto 1fr;align-items:center;gap:9px;background:#e7f5ef;border:1px solid #bfded0;border-radius:12px;padding:12px 14px}.duo-campaign-stats svg{color:#28846e}.duo-campaign-stats strong{color:#353047;font-size:22px;line-height:1.4}.duo-campaign-stats span{font-size:12px;color:#426259;line-height:1.6}.duo-campaign-intro{position:relative;display:flex;align-items:center;min-height:300px;border:2px solid #efcecf;border-radius:26px;overflow:hidden;background:#fdf2ee;box-shadow:0 5px #f4dedf;isolation:isolate}.duo-campaign-intro:after{position:absolute;content:"";inset:0;background:linear-gradient(90deg,#fffaf4 0%,#fffaf4f5 35%,#fffaf459 62%,transparent 80%);z-index:-1}.duo-campaign-intro-copy{width:58%;padding:32px}.duo-campaign-ribbon{display:inline-flex;align-items:center;gap:7px;background:#ffe1df;border:1px solid #f6bfc3;color:#a9394d;padding:8px 12px;border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.05em}.duo-campaign-intro h2{margin:17px 0 12px;color:#353047;font-size:clamp(25px,2.4vw,34px);line-height:1.45;letter-spacing:0}.duo-campaign-intro p{margin:0;max-width:430px;font-size:14px;line-height:1.85;color:#70667a}.duo-campaign-world{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 61%;z-index:-2}.duo-waiting{text-align:center;padding:42px 24px;background:#fffaf4;border:2px dashed #dbc8e8}.duo-waiting>svg{color:#cc4558;margin-bottom:15px}.duo-waiting>p{max-width:600px;margin-left:auto;margin-right:auto;color:var(--muted);line-height:1.85}.duo-waiting>.text-link{display:flex;justify-content:center;margin-top:18px}.duo-band-tabs{display:flex;flex-wrap:wrap;gap:10px}.duo-band-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border:2px solid #e2d2eb;border-bottom-width:4px;background:#fffaf4;border-radius:12px;color:#625574;font-size:13px;font-weight:650;transition:background .15s,transform .15s}.duo-band-tabs button:hover{background:#f4ebfa;transform:translateY(-1px)}.duo-band-tabs button.selected{background:#f06464;border-color:#d35162;color:#353047}.duo-campaign-map{background:#fffaf4;border:2px solid #d9c7e8;padding:24px;overflow:hidden;box-shadow:0 5px #d9c7e833}.duo-map-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.duo-map-heading h2{margin-bottom:8px;color:#353047;font-size:22px;line-height:1.5}.duo-map-heading p:not(.eyebrow){margin:0;color:#70667a;font-size:13px;line-height:1.7}.duo-map-progress{display:grid;grid-template-columns:19px auto;align-items:center;gap:5px 9px;background:#e7f5ef;color:#353047;border:1px solid #b0ddca;border-radius:13px;padding:12px 15px;flex-shrink:0}.duo-map-progress strong{font-size:20px}.duo-map-progress>span{grid-column:1/-1;font-size:11px}.duo-board{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(var(--duo-map-rows),175px);align-items:start;padding:8px 14px;border:2px solid #e2d2eb;border-radius:22px;background:radial-gradient(ellipse at 5% 20%,#d9f0e880,transparent 28%),radial-gradient(ellipse at 97% 84%,#fbe2e590,transparent 33%),linear-gradient(130deg,#f8f3fd,#fff7e8);overflow:hidden}.duo-board-road{position:absolute;width:100%;height:100%;z-index:-1}.duo-board-terrain{position:absolute;inset:0;z-index:-2;opacity:.65;pointer-events:none}.duo-map-tree{position:absolute;width:26px;height:26px;background:#ffe49c;border:2px solid #d9c7e8;border-radius:50%}.duo-map-tree:before,.duo-map-tree:after{content:"";position:absolute;background:#b6decf;border:2px solid #7bb69f;width:37px;height:30px;transform:rotate(45deg);border-radius:7px 28px;top:-6px;left:-6px}.duo-map-tree:after{top:-14px;width:22px;height:22px;left:12px;background:#f8c5d6}.duo-map-tree.tree-one{left:2%;top:24%;transform:scale(.8)}.duo-map-tree.tree-two{right:1%;top:54%;transform:scale(.8)}.duo-map-tree.tree-three{left:45%;bottom:0;transform:scale(.55)}.duo-map-hill{position:absolute;right:18%;top:-40px;width:150px;height:75px;border:3px solid #ead7a9;background:#fff0bd;border-radius:50%}.duo-board-stop{position:relative;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:5px;min-width:0;padding:84px 2px 5px;text-align:center;color:#625574;border-radius:14px;transition:transform .15s}.duo-board-stop:hover{transform:translateY(-3px)}.duo-board-stop:focus-visible{outline:3px solid #cc4558;outline-offset:-2px;background:#fffaf470}.duo-board-piece{position:relative;display:grid;place-items:center;width:58px;height:53px;background:#fff4cf;border:3px solid #9983af;border-bottom-width:7px;border-radius:50% 50% 43% 43%;box-shadow:0 4px #c7addb3d;color:#625574}.duo-board-piece>span{font-size:18px;font-weight:750}.duo-board-stop>strong{font-size:12px;line-height:1.65;white-space:nowrap}.duo-board-stop.complete .duo-board-piece{background:#dcf3e8;border-color:#3ca68b;color:#277c69}.duo-board-stop.partial .duo-board-piece{background:linear-gradient(90deg,#ffc3c1 50%,#fff4cf 50%);border-color:#d48b99;color:#625574}.duo-board-stop.open .duo-board-piece{background:#fff0bf;border-color:#9983af}.duo-board-stop.locked .duo-board-piece{background:#efebf2;border-color:#b9afc4;color:#84788f}.duo-board-stop.next .duo-board-piece{background:#ffe49c;border-color:#d8b980;color:#353047;outline:3px solid #ffffff;outline-offset:3px}.duo-board-gate{position:absolute;top:73px;right:calc(50% - 48px);display:flex;align-items:center;gap:3px;background:#fff4cf;border:1px solid #e0c38b;border-radius:6px;color:#6e5437;padding:3px 4px;font-size:9px;font-weight:700;transform:rotate(5deg)}.duo-board-gate.passed{background:#353047;border-color:#353047;color:#fffaf4}.duo-board-member-dots{display:flex;gap:4px}.duo-board-member-dots i{width:7px;height:7px;border:1px solid #b9afc4;border-radius:50%;background:#fffaf4}.duo-board-member-dots i.done{background:#277c69;border-color:#353047}.duo-board-member-dots i:first-child.done{background:#f06464;border-color:#c6455d}.duo-board-footer{margin-top:18px;display:flex;flex-direction:column;gap:14px}.duo-board-footer>p{display:flex;align-items:flex-start;gap:9px;margin:0;font-size:13px;font-weight:600;color:#353047;line-height:1.8}.duo-board-footer>p>svg{flex-shrink:0;margin-top:3px;color:#cc4558}.duo-map-legend{display:flex;flex-wrap:wrap;gap:9px 18px;font-size:11px;color:#70667a}.duo-map-legend>span{display:flex;gap:6px;align-items:center}.duo-map-legend i{width:11px;height:11px;border:1px solid #9983af;border-radius:50%}.duo-map-legend .complete{background:#277c69}.duo-map-legend .partial{background:linear-gradient(90deg,#ffe49c 50%,#fff4cf 50%)}.duo-map-legend .open{background:#fff0bf;border-color:#9983af}.duo-board-positions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.duo-position-summary{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:14px;border:1px solid #f1cccc;border-radius:16px;background:#fff1ef}.duo-position-wife{border-color:#b8dece;background:#eef8f3}.duo-position-color{width:13px;height:13px;flex-shrink:0;margin-top:4px;border-radius:50%;background:#f06464;border:2px solid #cc4558}.duo-position-wife .duo-position-color{background:#3ca68b;border-color:#28846e}.duo-position-summary>div{min-width:0}.duo-position-summary strong,.duo-position-summary span:not(.duo-position-color),.duo-position-summary small{display:block;overflow-wrap:anywhere}.duo-position-summary strong{color:#353047;font-size:13px;line-height:1.7}.duo-position-summary span:not(.duo-position-color){margin-top:3px;color:#a9394d;font-size:12px;font-weight:650;line-height:1.7}.duo-position-wife span:not(.duo-position-color){color:#277c69}.duo-position-summary small{margin-top:5px;color:#70667a;font-size:11px;line-height:1.8}.duo-board-pawn{position:relative;z-index:2;justify-self:center;align-self:start;display:flex;flex-direction:column;align-items:center;width:66px;padding-top:3px;pointer-events:none}.duo-board-pawn .chibi-pawn{display:block;width:62px;height:70px;filter:drop-shadow(0 2px 1px #35304718)}.duo-board-pawn.shared-stop.pawn-husband{transform:translate(-23px)}.duo-board-pawn.shared-stop.pawn-wife{transform:translate(23px)}.duo-pawn-name{max-width:78px;border:1px solid #edb9bd;padding:1px 6px;background:#fffaf4;border-radius:99px;font-size:9px;font-weight:700;color:#a9394d;line-height:1.5;overflow-wrap:anywhere;text-align:center}.pawn-wife .duo-pawn-name{color:#277c69;border-color:#b0ddca}.duo-board-note{color:#70667a;font-size:11px;line-height:1.8}.duo-board-dice{position:absolute;bottom:17px;right:13px;color:#ac83c4;transform:rotate(12deg)}.duo-journey,.duo-journey-group{display:flex;flex-direction:column;gap:18px}.duo-lesson{display:flex;gap:20px;align-items:center;padding:23px;border:1px solid #e3d8e8;border-bottom:4px solid #e3d8e8;background:#fff;border-radius:17px;min-width:0;scroll-margin-top:95px}.duo-lesson:focus{outline:3px solid #cc4558;outline-offset:3px}.duo-lesson.locked{background:#f4f1f6;border-color:#dcd3e3}.duo-lesson.completed{background:#eff9f3;border-color:#b0ddca}.duo-step-number{width:49px;height:49px;display:grid;place-items:center;background:#fff0bf;border:2px solid #e0c38b;border-bottom-width:5px;border-radius:50%;flex-shrink:0;font-size:16px;color:#6e5437;font-weight:700}.duo-lesson.completed .duo-step-number{background:#277c69;border-color:#353047;color:#fffaf4}.duo-lesson.locked .duo-step-number{background:#efebf2;color:#84788f;border-color:#b9afc4}.duo-lesson-copy{flex:1;min-width:0}.duo-lesson-copy>.badge{background:transparent;padding:0}.duo-lesson h3{font-size:16px;margin:8px 0 10px;overflow-wrap:anywhere;line-height:1.75;letter-spacing:0}.duo-completion{display:flex;gap:10px 16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.duo-completion>span{display:flex;gap:6px;align-items:center}.duo-completion .done{color:#277c69;font-weight:600}.duo-gate{border:2px solid #e0c38b;border-bottom-width:5px;background:#fff4cf}.duo-gate.passed{border-color:#a5d2bf;background:#e7f5ef}.duo-gate-heading{display:flex;gap:16px;align-items:flex-start}.duo-gate-icon{width:54px;height:59px;flex-shrink:0;border:2px solid #d8b980;border-bottom-width:4px;border-radius:13px 13px 20px 20px;display:grid;place-items:center;color:#6e5437;background:#ffe49c}.duo-gate.passed .duo-gate-icon{background:#277c69;border-color:#353047;color:#fffaf4}.duo-gate-heading h3,.duo-gate-heading h2{margin-bottom:6px;line-height:1.6;letter-spacing:0}.duo-gate-heading p:not(.eyebrow){color:#70667a;font-size:13px;margin-bottom:0;line-height:1.8}.duo-result-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.duo-result-row>div{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;background:#fff;border:1px dashed #ead7a9;border-radius:12px;padding:12px 14px}.duo-result-row>div>span:first-child{min-width:0;overflow-wrap:anywhere;line-height:1.75}.duo-gate-footer{display:flex;justify-content:space-between;align-items:center;gap:20px}.duo-gate-footer>p{font-size:13px;color:var(--muted);margin:0;max-width:650px;line-height:1.8}.duo-promotion{background:linear-gradient(115deg,#e7f5ef,#fff4cf);border:2px solid #a5d2bf;border-bottom-width:5px}.duo-promotion .duo-gate-icon{background:#cc4558;border-color:#d35162;color:#fffaf4}.duo-revision{background:#ffe1df;color:#a9394d}.duo-rewards{background:#fffaf4;border:2px solid #e2d2eb}.duo-rewards .section-heading>svg{color:#ac7527}.duo-rewards>p{font-size:13px;line-height:1.8;margin:0 0 20px}.duo-reward-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.duo-reward{display:flex;flex-direction:column;align-items:center;padding:17px 12px;background:#f5effa;border:1px solid #e2d2eb;border-bottom-width:3px;border-radius:15px;text-align:center}.duo-reward .duo-emblem{width:94px;height:94px}.duo-reward.unearned .duo-emblem{filter:saturate(.3);opacity:.8}.duo-reward.earned{background:#fff4cf;border-color:#e0c38b}.duo-reward:nth-child(2){background:#eef8f3;border-color:#b8dece}.duo-reward:nth-child(3){background:#fff6dd;border-color:#ead7a9}.duo-reward:nth-child(4){background:#fff0f0;border-color:#efcecf}.duo-reward.earned{box-shadow:0 3px #e8d8b340}.duo-reward>strong{color:#353047;font-size:13px;line-height:1.7;margin:8px 0}.duo-reward>p{font-size:12px;color:#70667a;line-height:1.8;margin:0 0 12px}.duo-reward-state{display:flex;align-items:center;gap:5px;font-size:11px;color:#70667a;margin-top:auto}.duo-reward.earned .duo-reward-state{color:#353047;font-weight:650}.duo-assessment-history{background:#fff;border-color:#e4d8e9}.duo-history-list{display:flex;flex-direction:column}.duo-history-list>a{display:flex;align-items:center;gap:14px;padding:17px 0;border-top:1px dashed #e4d8e9}.duo-history-list>a>div{flex:1;min-width:0}.duo-history-list strong,.duo-history-list small{display:block}.duo-history-list strong{font-size:14px;line-height:1.7}.duo-history-list small{font-size:12px;color:var(--muted);margin-top:4px}.duo-room-card{text-align:center;background:radial-gradient(ellipse at top,#f4ebfa,#fffaf4 65%);border:2px solid #d9c7e8}.duo-room-symbol{width:123px;height:123px;display:grid;place-items:center;margin:0 auto 18px}.duo-room-symbol .duo-emblem{width:120px;height:120px}.duo-room-card h2{line-height:1.6;letter-spacing:0}.duo-room-members{display:grid;grid-template-columns:1fr 1fr;max-width:740px;margin:27px auto;gap:18px}.duo-room-members>div{display:flex;align-items:center;flex-direction:column;gap:12px;background:#f5effa;border:2px solid #e2d2eb;border-bottom-width:5px;border-radius:19px;padding:25px 16px}.duo-room-members>div.present{background:#eff9f3;border-color:#b0ddca}.duo-room-members>div.ready{background:#e7f5ef;border-color:#3ca68b}.duo-room-members .avatar{width:56px;height:56px;font-size:22px;border:2px solid #28846e;background:#dcf3e8;color:#353047}.duo-room-member-husband .avatar{background:#ffe1df;color:#a9394d;border-color:#dd6576}.duo-room-members strong{line-height:1.75;overflow-wrap:anywhere}.duo-room-members>div>span:not(.avatar){font-size:13px}.duo-room-members .status-dot{display:inline-block;margin-right:7px;background:#277c69}.duo-room-members .status-dot.offline{background:#a094ac}.duo-room-members small{color:var(--muted);font-size:12px;line-height:1.7}.duo-room-card>.notice{max-width:650px;margin:18px auto;display:block;text-align:center}.duo-room-card>.tiny{margin:22px auto 0;max-width:650px;line-height:1.9}.duo-countdown{display:flex;flex-direction:column;gap:12px;margin:28px 0}.duo-countdown strong{font-size:68px;color:#cc4558;line-height:1.2}.duo-countdown span{color:#70667a;font-size:14px}.duo-companion-choice{display:flex;justify-content:center;align-items:flex-start;gap:10px;font-size:13px;line-height:1.8;margin:0 auto 20px;max-width:580px}.duo-companion-choice input{width:18px;height:18px;flex-shrink:0;accent-color:#277c69;margin-top:3px}.duo-assessment-summary{background:#fffaf4;border:2px solid #e2d2eb}.duo-assessment-parts{display:grid;grid-template-columns:1fr 1fr;gap:18px}.duo-assessment-parts>.card{background:#fff;border-color:#e2d2eb;border-bottom-width:3px}.duo-part-heading{display:flex;align-items:center;gap:10px;margin-bottom:17px;flex-wrap:wrap}.duo-part-heading>.badge:last-child{margin-left:auto}.duo-assessment-parts h2{font-size:18px;line-height:1.6}.duo-assessment-summary>p{margin:14px 0;line-height:1.85}.duo-assessment-summary .row{font-size:13px;color:var(--muted)}.duo-attempt-context{background:#eff9f3;border:1px solid #b0ddca;border-left:4px solid #277c69}.duo-attempt-context>p{font-size:13px;color:var(--muted);margin:12px 0;line-height:1.85}.duo-regrade{border-top:1px dashed #e4d8e9;padding-top:14px;margin-top:18px}.practice-band-guide{border:1px solid #b0ddca;background:#eff9f3;border-radius:14px;padding:16px 20px}.practice-band-guide summary{display:flex;gap:9px;align-items:center;color:var(--teal);font-weight:650;cursor:pointer}.practice-band-guide[open] summary{margin-bottom:16px}.practice-band-guide p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}@media(max-width:1050px){.duo-campaign-stats>div{grid-template-columns:22px 1fr}.duo-campaign-stats span{grid-column:1/-1}.duo-reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.duo-campaign-intro-copy{width:66%}}@media(max-width:700px){.duo-members,.duo-room-members,.duo-result-row,.duo-assessment-parts{grid-template-columns:1fr}.duo-overview-footer,.duo-gate-footer{align-items:flex-start;flex-direction:column;gap:14px}.duo-levels{gap:16px}.duo-levels>.badge{margin-left:0;max-width:100%;white-space:normal}.duo-lesson{padding:17px;gap:13px;flex-wrap:wrap}.duo-lesson-copy{flex:1;width:calc(100% - 62px)}.duo-lesson>.button{width:100%;margin-top:5px}.duo-result-row>div{align-items:flex-start}.duo-gate-heading{gap:12px}.duo-gate-icon{width:43px;height:49px;border-radius:11px 11px 16px 16px}.duo-gate-heading h2{font-size:18px}.duo-room-members{gap:12px}.duo-room-members>div{padding:20px}.duo-band-tabs button{font-size:12px;padding:9px 12px}.duo-history-list>a{gap:9px;flex-wrap:wrap}.duo-campaign-intro{min-height:380px;align-items:flex-start}.duo-campaign-intro-copy{width:100%;padding:24px}.duo-campaign-intro h2{font-size:25px}.duo-campaign-intro p{font-size:13px;max-width:90%}.duo-campaign-intro:after{background:linear-gradient(180deg,#fffaf4f5,#fffaf4e5 56%,#fffaf470 80%,#fffaf420)}.duo-campaign-world{object-position:68% 60%}.duo-map-heading{align-items:flex-start}.duo-map-heading h2{font-size:19px}.duo-map-progress{padding:10px}.duo-map-progress>span{max-width:75px;line-height:1.6}.duo-map-legend{gap:10px 14px}.duo-campaign-map{padding:19px}.duo-board-positions{grid-template-columns:1fr;gap:9px}.duo-position-summary{padding:11px 13px}.duo-board-pawn{width:46px;padding-top:17px}.duo-board-pawn .chibi-pawn{width:46px;height:52px}.duo-board-pawn.shared-stop.pawn-husband{transform:translate(-16px)}.duo-board-pawn.shared-stop.pawn-wife{transform:translate(16px)}.duo-pawn-name{max-width:52px;padding:1px 4px}.duo-board-pawn.shared-stop .duo-pawn-name{max-width:30px;padding-inline:2px}.duo-board-pawn.shared-stop.pawn-husband .duo-pawn-name{transform:translate(-5px)}.duo-board-pawn.shared-stop.pawn-wife .duo-pawn-name{transform:translate(5px)}}@media(max-width:480px){.duo-campaign-stats{gap:7px}.duo-campaign-stats>div{padding:10px 8px;gap:4px;grid-template-columns:17px 1fr}.duo-campaign-stats svg{width:16px;height:16px}.duo-campaign-stats strong{font-size:20px}.duo-campaign-stats span{font-size:11px;line-height:1.65}.duo-overview-emblem{width:63px;height:63px}.duo-map-heading{flex-wrap:wrap}.duo-map-progress{display:flex;flex-wrap:wrap;gap:7px;padding:8px 11px}.duo-map-progress strong{font-size:17px}.duo-map-progress>span{max-width:none;font-size:11px}.duo-campaign-map{padding:15px 11px}.duo-board-piece{width:43px;height:42px;border-width:2px;border-bottom-width:5px}.duo-board-piece>span{font-size:15px}.duo-board-stop>strong{font-size:10px}.duo-board{padding-inline:8px}.duo-board-stop{gap:7px;padding-top:94px}.duo-board-gate{top:83px;right:1px;font-size:8px;padding:2px 3px}.duo-board-gate svg{display:none}.duo-board-pawn{width:40px;padding-top:21px}.duo-board-pawn .chibi-pawn{width:40px;height:45px}.duo-board-pawn.shared-stop.pawn-husband{transform:translate(-11px)}.duo-board-pawn.shared-stop.pawn-wife{transform:translate(11px)}.duo-pawn-name{max-width:43px;font-size:8px}.duo-board-dice{width:20px;height:20px;right:7px;bottom:12px}.duo-reward-grid{gap:10px}.duo-reward{padding:13px 9px}.duo-reward .duo-emblem{width:78px;height:78px}.duo-reward>strong{font-size:12px}.duo-reward>p{font-size:11px}.duo-reward-state{font-size:10px}}@media(prefers-reduced-motion:reduce){.duo-board-stop,.duo-band-tabs button{transition:none}}.learning-library,.learning-page,.placement-page{min-width:0}.learning-disclaimer{font-size:12px;line-height:1.8;color:#566950;margin:0}.tiny{font-size:12px!important}.row.wrap{flex-wrap:wrap}.library-intro{display:flex;justify-content:space-between;align-items:center;padding:28px 34px;min-height:232px;gap:18px;background:radial-gradient(ellipse at 95% 15%,#e3e9cf 0,transparent 58%),#f6ead3;border:2px solid #c9b18a;border-radius:20px;box-shadow:0 5px #d8c3a2,inset 0 0 0 5px #fff8e650;position:relative;overflow:hidden}.library-intro-copy{position:relative;z-index:1;min-width:0;flex:1}.campaign-intro-art{display:block;flex:0 0 36%;width:36%;max-width:330px;height:auto;overflow:visible;margin:-15px -5px -17px 0}.library-intro h2{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:clamp(24px,2.1vw,31px);font-weight:700;margin:13px 0 10px;color:#214b36;letter-spacing:0;line-height:1.5;text-wrap:balance}.library-intro p{font-size:14px;line-height:1.8;color:#214b36;max-width:640px;margin:0}.library-intro .badge{background:#a73f28;color:#fff6df;font-size:11px;font-weight:700;letter-spacing:.045em;border:1px solid #8b3a29;padding:6px 10px;border-radius:6px}.exam-intro{background:radial-gradient(ellipse at 100% 0,#527246 0,transparent 70%),#214b36;border-color:#496a43;box-shadow:0 5px #183c2a,inset 0 0 0 5px #91aa5820}.exam-intro h2{color:#fff5d9}.exam-intro p{color:#e4edce}.exam-intro .badge{background:#d6a048;color:#392c1c;border-color:#e9c078}.learning-skill-tabs{display:flex;align-items:center;gap:7px;flex-wrap:wrap;border-bottom:1px solid #d8c8ac;padding-bottom:13px}.learning-skill-tabs button{display:flex;gap:8px;align-items:center;justify-content:center;padding:10px 16px;border:1px solid #d1c1a4;background:#fff9e9;border-radius:10px;font-size:14px;color:#566950;cursor:pointer;min-height:44px}.learning-skill-tabs button.active{background:#214b36;border-color:#173b2a;color:#fff6dc;font-weight:700;box-shadow:0 3px #102f21}.learning-skill-tabs button:hover{color:#214b36;background:#fffdf6}.learning-filters .search-field{min-width:170px}.learning-filters select{min-width:83px}.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.content-card{border:2px solid #d4c2a3;background:#fffdf6;border-radius:17px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,border-color .2s;min-width:0;box-shadow:0 4px #ddcbb0}.content-card:hover{transform:translateY(-3px);border-color:#718b59;box-shadow:0 7px #c9ba98}.content-art{height:148px;background:#e6eacb;display:flex;align-items:center;justify-content:center;gap:13px;position:relative;color:#375d3c;overflow:hidden;border-bottom:2px solid #d4c2a3}.content-art>.content-art-landscape{position:absolute;inset:0;width:100%;height:100%;z-index:0}.content-skill-token{width:64px;height:64px;display:grid;place-items:center;flex-shrink:0;position:relative;background:#fff7df;border:2px solid #b99658;border-radius:17px;box-shadow:0 4px #a38552;transform:rotate(-6deg)}.content-art>span:last-child{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:15px;font-weight:700;position:relative;z-index:1;max-width:55%;line-height:1.5}.content-art-number{position:absolute;left:17px;top:14px;font-size:12px;color:#fff7dd;background:#335740;padding:4px 7px;border:1px solid #1e3f2a;border-radius:6px;font-weight:700;font-variant-numeric:tabular-nums}.listening .content-art{background:#dde7cf;color:#315c43}.writing .content-art{background:#f4dfc3;color:#a6462c}.speaking .content-art{background:#f3e6be;color:#835c2d}.grammar .content-art{background:#e2e5c1;color:#476342}.content-card-body{padding:21px;display:flex;flex-direction:column;flex:1}.content-card-body>.row{gap:5px}.content-card .badge{font-size:12px;padding:3px 7px}.content-card h3{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:19px;line-height:1.45;font-weight:700;margin:15px 0 9px;letter-spacing:0;color:#214b36}.content-card p{font-size:13px;color:#566950;line-height:1.8;margin:0 0 18px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.content-card-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#566950;margin:auto 0 17px;line-height:1.8}.content-card-meta>span{display:flex;align-items:center;gap:4px}.content-card .button{width:100%;font-size:12px;justify-content:space-between;min-height:44px;padding:9px 13px}.content-card .button.secondary{color:#fff8e4;background:#b6472e;border:1px solid #963922;box-shadow:0 3px #863320}.content-card .button.secondary:hover{background:#9f3e28}.resume-panel{padding:20px 25px!important}.resume-panel h2{font-size:19px!important}.resume-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px}.resume-item{display:flex;align-items:center;gap:15px;border-top:1px solid #d8c8ac;padding:14px 0;color:#214b36;min-width:0}.resume-item>span{flex:1;min-width:0}.resume-item .badge{font-size:12px}.resume-item strong{font-size:13px;display:block;font-weight:600;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resume-item small{display:block;font-size:12px;color:#566950;margin-top:5px}.exam-format-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.exam-format-grid>div{padding:18px 20px;background:#fff8e7;border:2px solid #d2bd99;border-top:5px solid #a7432a;border-radius:13px;display:flex;flex-direction:column;gap:7px;box-shadow:0 3px #decbab}.exam-format-grid>div:nth-child(2n){border-top-color:#3e6644}.exam-format-grid strong{font-size:13px;color:#214b36}.exam-format-grid span{font-size:12px;color:#566950;line-height:1.6}.learning-breadcrumb{display:flex;align-items:center;gap:11px;font-size:12px;color:#566950}.learning-breadcrumb a{display:flex;align-items:center;gap:5px;color:#214b36}.learning-heading-icon{width:56px;height:56px;background:#edf0df;border:1px solid #d8c8ac;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#566950}.attempt-toolbar{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;border:2px solid #d0bd9a;border-radius:14px;background:#fffdf6;gap:15px;box-shadow:0 3px #ddcbb0}.attempt-toolbar>.row{gap:12px;font-size:12px;color:#566950}.attempt-toolbar .badge{font-size:12px}.attempt-status{display:flex;align-items:center;gap:19px;flex-shrink:0}.draft-status{display:flex;align-items:center;gap:5px;font-size:12px;color:#566950}.draft-status.pending,.draft-status.saving,.draft-status.error{color:#a8432e}.attempt-timer{display:flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums;font-family:Be Vietnam Pro,Arial,sans-serif;font-weight:700;font-size:17px;color:#214b36}.time-warning{border-color:#d8c8ac;background:#fffdf6}.time-warning .attempt-timer{color:#a8432e}.exam-notice{font-size:13px;line-height:1.8;background:#fffdf6!important;color:#214b36!important}.section-tabs{display:flex;gap:9px;flex-wrap:wrap}.section-tabs button{border:1px solid #d8c8ac;border-radius:11px;background:#fffdf6;padding:11px 15px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:13px;color:#214b36;cursor:pointer;max-width:250px;text-align:left;flex:1}.section-tabs button span{font-size:12px;color:#566950;line-height:1.5}.section-tabs button.active{background:#315a3e;border-color:#21402d;color:#fff5d7;font-weight:700}.section-tabs button.active span{color:#e2ebcc}.practice-band-guide{border:1px solid #d0bb91;border-radius:13px;background:#fff5dd;padding:17px 20px;color:#4b5e42;font-size:14px;line-height:1.8}.practice-band-guide summary{display:flex;gap:9px;align-items:center;cursor:pointer;color:#a44129;font-weight:700}.practice-band-guide>div{margin-top:17px}.practice-split{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,1fr);gap:22px;align-items:start}.passage-card{position:sticky;top:20px;max-height:85dvh;overflow:auto}.passage-card h2,.questions-card h2,.writing-prompt h2,.writing-editor h2{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:23px;line-height:1.45;font-weight:700;letter-spacing:0}.reading-passage{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:15px;line-height:1.95;color:#214b36}.reading-passage p{white-space:pre-wrap;margin:0 0 20px}.reading-passage p:last-child{margin-bottom:0}.passage-instructions,.prompt-instructions{font-size:14px;line-height:1.9;color:#566950;font-style:italic;margin:15px 0}.question-list{display:flex;flex-direction:column;gap:26px}.practice-question{margin:0;padding:0;border:0;min-width:0}.practice-question legend{font-size:14px;line-height:1.8;font-weight:600;color:#214b36;margin-bottom:13px;float:left;width:100%;display:flex;gap:8px}.practice-question legend+*{clear:both}.question-number{height:22px;min-width:22px;padding:1px 4px;background:#f0dfb0;color:#694a22;border:1px solid #bea36f;border-radius:6px;display:inline-flex;justify-content:center;align-items:center;font-size:12px;font-weight:700;flex-shrink:0;margin-top:1px}.question-limit{font-size:12px;color:#566950;margin:0 0 12px}.answer-options{display:flex;flex-direction:column;gap:8px}.answer-option{display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid #d8c8ac;border-radius:7px;cursor:pointer;min-height:42px;background:#fffdf6;line-height:1.65;font-size:13px;color:#214b36}.answer-option:hover{border-color:#d8c8ac;background:#fffdf6}.answer-option.selected{border-color:#718b59;background:#e8edd6;color:#214b36}.answer-option input{accent-color:#214b36;flex-shrink:0;margin:0;width:13px;height:13px}.option-letter{font-size:12px;width:21px;height:21px;display:flex;align-items:center;justify-content:center;background:#edf0df;color:#566950;border-radius:4px;flex-shrink:0}.selected .option-letter{background:#edf0df;color:#214b36}.practice-question .field input{font-size:14px}.question-feedback{padding:12px 15px;background:#fffdf6;border:1px solid #d8c8ac;border-radius:7px;margin-top:13px;font-size:13px;line-height:1.8;color:#214b36}.practice-question.incorrect .question-feedback{background:#fff0dc;border-color:#d8c8ac;color:#a8432e}.question-feedback p{margin:6px 0}.question-feedback blockquote{padding:8px 11px;border-left:2px solid #d8c8ac;margin:8px 0 0;font-style:italic;background:#ffffff70}.listening-player{display:flex;align-items:center;gap:20px;background:#fffdf6;padding:23px 25px!important}.listening-symbol{display:flex;gap:12px;align-items:center;color:#566950;flex-shrink:0}.listening-player>div:nth-child(2){flex:1;min-width:0}.listening-player h3{font-size:16px;font-family:Be Vietnam Pro,Arial,sans-serif;font-weight:700;margin-bottom:7px}.listening-player p{font-size:13px;color:#566950;margin-bottom:5px}.listening-player small{font-size:12px;line-height:1.7;color:#566950;display:block}.listening-player>.row{flex-shrink:0}.listening-player .button{font-size:12px}.audio-wave{display:flex;gap:3px;align-items:center;height:35px}.audio-wave i{display:block;width:3px;height:12px;border-radius:8px;background:#edf0df}.audio-wave i:nth-child(3n){height:27px}.audio-wave i:nth-child(2n){height:19px}.audio-wave.active i{animation:listen-wave .8s ease-in-out infinite alternate}.transcript-lock{text-align:center;padding:38px 10px;color:#566950;display:flex;align-items:center;flex-direction:column}.transcript-lock h3{font-size:19px;color:#566950;font-family:Be Vietnam Pro,Arial,sans-serif;font-weight:700;margin:18px 0 10px}.transcript-lock p{font-size:14px;line-height:1.9;max-width:240px;color:#566950;margin:0}.listening-exam-split{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.writing-workspace{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.15fr);gap:22px;align-items:start}.writing-prompt{position:sticky;top:20px}.writing-prompt .section-heading{align-items:flex-start;gap:10px}.writing-prompt .section-heading h2{font-size:21px;margin-top:10px}.writing-prompt .section-heading>span{font-size:12px!important;max-width:125px;line-height:1.8;text-align:right}.writing-prompt .reading-passage{font-size:14px;line-height:1.95}.writing-prompt .badge{font-size:12px}.writing-editor textarea{width:100%;resize:vertical;min-height:360px;line-height:1.95;font-family:Be Vietnam Pro,Arial,sans-serif;font-size:15px;color:#214b36;background:#fffdf6;padding:18px 20px;outline-offset:2px}.writing-editor .notice{font-size:12px;line-height:1.8;margin-top:18px}.word-counter{font-size:12px;color:#a8432e;white-space:nowrap}.word-counter.complete{color:#566950}.editor-footer{display:flex;justify-content:space-between;gap:13px;margin-top:13px;font-size:12px;color:#566950;line-height:1.7}.editor-footer>span{display:flex;align-items:flex-start;gap:5px}.editor-footer>span:last-child{text-align:right}.task-chart{margin:22px 0;background:#fffdf6;padding:10px;border:1px solid #d8c8ac;border-radius:7px}.task-chart svg{width:100%;height:auto;display:block}.task-chart figcaption{text-align:center;font-size:12px;color:#566950;line-height:1.8}.submit-bar{padding:24px 27px;border:1px solid #d8c8ac;background:#edf0df;border-radius:11px;display:flex;align-items:center;justify-content:space-between;gap:25px}.submit-bar strong{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:19px;color:#214b36;font-weight:700;letter-spacing:0}.submit-bar p{font-size:13px;color:#566950;margin:8px 0 0;line-height:1.8}.submit-bar .button{white-space:nowrap;font-size:13px}.speaking-workspace{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:23px;align-items:start}.speaking-prompt h2{font-size:25px;font-family:Be Vietnam Pro,Arial,sans-serif;font-weight:700;line-height:1.4;margin:14px 0 22px}.speaking-prompt .reading-passage{font-size:14px}.cue-points{padding:17px 20px 17px 34px;background:#fffdf6;border-radius:8px;font-size:14px;line-height:2;color:#566950;margin:20px 0}.recording-card{text-align:center;padding:32px!important}.recording-orb{width:90px;height:90px;background:#fffdf6;border:1px solid #d8c8ac;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#566950;margin:0 auto 25px;box-shadow:0 0 0 10px #f8f5fa}.recording-orb.recording{color:#a8432e;background:#fff0dc;border-color:#d8c8ac;animation:record-pulse 1.6s ease-in-out infinite}.recording-card h2{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:23px;font-weight:700}.recording-card>.muted{font-size:13px}.recording-actions{justify-content:center;margin:23px 0}.recording-actions .button{font-size:13px}.recording-playback{text-align:left;margin:23px 0;padding:15px;background:#fffdf6;border:1px solid #d8c8ac;border-radius:8px}.recording-playback label{font-size:12px;color:#566950;display:block;margin-bottom:11px}.recording-playback audio{display:block;width:100%;height:36px}.transcript-field{text-align:left;margin-top:28px;font-size:13px!important}.transcript-field textarea{resize:vertical;width:100%;line-height:1.9;font-size:14px;padding:15px}.transcript-field small{font-size:12px;color:#566950;line-height:1.8}.recording-card>.notice{text-align:left;font-size:12px;line-height:1.9;margin-top:20px}.feedback-section{margin-top:12px}.feedback-section>.section-heading{margin-bottom:0}.feedback-section>.section-heading h2{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:27px;font-weight:700}.feedback-summary{display:flex;gap:30px;align-items:center;background:#fffdf6!important;padding:25px 28px!important}.feedback-score{border-right:1px solid #d8c8ac;min-width:140px;padding-right:28px;display:flex;flex-direction:column;align-items:center;gap:9px;color:#566950;text-align:center}.feedback-score>strong{font-size:45px;letter-spacing:0;font-family:Be Vietnam Pro,Arial,sans-serif;line-height:1;color:#214b36;font-weight:600}.feedback-score>strong small{font-size:22px;color:#566950;margin-left:3px}.feedback-score>span{font-size:12px;line-height:1.7}.feedback-summary h3{font-size:21px;font-family:Be Vietnam Pro,Arial,sans-serif;font-weight:700;margin-bottom:12px}.feedback-summary p{font-size:14px;line-height:1.95;color:#566950;margin-bottom:13px}.feedback-summary small{font-size:12px;line-height:1.8;color:#566950}.criteria-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.criteria-grid .card{padding:22px}.criterion-heading{display:flex;justify-content:space-between;gap:15px;align-items:start}.criterion-heading h3{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:18px;line-height:1.4;font-weight:700}.criterion-heading strong{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:24px;color:#566950;font-weight:600}.criteria-grid p{font-size:14px;line-height:1.9;color:#566950;margin:10px 0 0}.criteria-grid small{font-size:12px;color:#566950;display:block;margin-top:13px}.feedback-section blockquote{padding:12px 16px;background:#fffdf6;border-left:2px solid #d8c8ac;margin:15px 0 0;color:#566950;font-size:13px;font-style:italic;line-height:1.8;white-space:pre-wrap}.feedback-section>.card>h3{font-size:21px;font-family:Be Vietnam Pro,Arial,sans-serif;font-weight:700;margin-bottom:20px}.correction-list{display:flex;flex-direction:column;gap:20px}.correction-list>div{padding:18px;border:1px solid #d8c8ac;border-radius:8px;background:#fffdf6}.correction-list .eyebrow{font-size:12px}.correction-original{font-size:14px;color:#a8432e;line-height:1.8;margin:8px 0}.correction-suggestion{font-size:14px;color:#214b36;line-height:1.8;margin:8px 0}.correction-list>div>p{font-size:13px;color:#566950;line-height:1.9;margin:10px 0 0}.paragraph-feedback{display:flex;flex-direction:column;gap:17px}.paragraph-feedback>div{padding:15px 18px;background:#fffdf6;border:1px solid #d8c8ac;border-radius:8px}.paragraph-feedback .badge{font-size:12px}.paragraph-feedback p{font-size:14px;color:#566950;line-height:1.9;margin:10px 0 0}.feedback-transcript{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:14px;line-height:2;color:#214b36;white-space:pre-wrap}.acoustic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.acoustic-grid>div{padding:15px;background:#fffdf6;border-radius:8px;display:flex;flex-direction:column;gap:7px}.acoustic-grid strong{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:23px;color:#566950}.acoustic-grid small{font-size:13px;color:#566950}.acoustic-grid span{font-size:12px;color:#566950}.answer-review{display:flex;flex-direction:column;gap:8px}.answer-review details{border:1px solid #d8c8ac;border-radius:7px;overflow:hidden}.answer-review summary{display:flex;align-items:center;gap:10px;cursor:pointer;padding:12px 15px;font-size:13px;color:#566950;line-height:1.8;list-style:none}.answer-review summary>span:nth-child(3){flex:1;color:#214b36;overflow-wrap:anywhere}.answer-review summary .badge{font-size:12px;flex-shrink:0}.answer-result-icon{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:#edf0df;color:#566950;flex-shrink:0}.answer-result-icon.incorrect{background:#fff0dc;color:#a8432e}.answer-review details>div{padding:0 18px 15px;font-size:14px;line-height:1.9;color:#566950}.answer-review details>div p{margin:8px 0}.answer-review-card,.reference-answer-card{min-width:0}.answer-review-intro{font-size:14px;line-height:1.8}.answer-review-filters{margin:16px 0}.answer-review-body h4,.reference-answer h4,.reference-answer h5{font-family:inherit;color:#214b36;line-height:1.8;overflow-wrap:anywhere}.answer-review-body h4{margin:12px 0;font-size:16px}.answer-review-options{list-style:none;padding:0;display:grid;gap:6px}.answer-review-options li{padding:8px 12px;border:1px solid #e2d7c1;border-radius:6px;overflow-wrap:anywhere}.answer-review-options .answer-option-correct{background:#edf0df;border-color:#8eaa77;color:#214b36}.answer-comparison{padding:6px 14px;border-left:3px solid #b95c36;background:#fff6e7;border-radius:0 6px 6px 0;overflow-wrap:anywhere}.answer-correct-value{color:#214b36}.answer-context{margin:14px 0}.answer-context>div{margin-top:12px;padding:15px;background:#faf7ed;border:1px solid #e2d7c1;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere}.reference-answer-notice{padding:14px 16px;background:#fff0dc;border-left:3px solid #b95c36;border-radius:6px;color:#684e33;font-size:14px;line-height:1.85}.reference-answers{display:grid;gap:20px;margin-top:20px}.reference-answer{min-width:0;padding:18px;border:1px solid #d8c8ac;border-radius:8px;background:#faf7ed;color:#566950;line-height:1.9;overflow-wrap:anywhere}.reference-answer h4{font-size:18px;margin:0 0 14px}.reference-answer h5{font-size:15px;margin:16px 0 8px}.reference-sample{padding:15px;background:#fffdf5;border:1px solid #e2d7c1;border-radius:6px;white-space:pre-wrap;color:#214b36}.reference-response+.reference-response{border-top:1px solid #e2d7c1;margin-top:18px}@media(max-width:600px){.reference-answer{padding:13px}.reference-sample,.answer-context>div{padding:12px;font-size:14px}.answer-review summary>span:nth-child(3){flex-basis:calc(100% - 42px);margin-left:34px}}.lesson-word-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.lesson-word-grid>div{border:1px solid #d8c8ac;padding:16px;border-radius:8px}.lesson-word-grid strong{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:18px;color:#214b36;display:block;margin-bottom:5px}.lesson-word-grid span{font-size:12px;color:#566950}.lesson-word-grid p{font-size:14px;line-height:1.8;color:#566950;margin:11px 0 15px}.lesson-word-grid .button{font-size:12px;padding:7px 10px;min-height:31px}.placement-hero{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:40px;padding:25px 30px;align-items:center;background:radial-gradient(ellipse at 0 100%,#e7eaca,transparent 65%),#f8ead1;border:2px solid #cfb892;border-radius:20px;box-shadow:0 5px #decaab}.placement-hero h2{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:31px;line-height:1.4;font-weight:700;color:#214b36;letter-spacing:0;margin:10px 0 18px}.placement-hero h2 em{font-weight:700;color:#566950}.placement-hero>div>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#566950}.placement-hero .notice{font-size:12px;line-height:1.8;background:#ffffff80;color:#566950;border-color:#d8c8ac}.placement-orbit{width:225px;height:225px;border:3px solid #b19765;border-radius:35px;background:#edf0d6;box-shadow:0 7px #9b8055,inset 0 0 0 7px #faf2d5;position:relative;margin:20px auto;display:flex;align-items:center;justify-content:center}.placement-orbit:before{content:"";position:absolute;inset:25px;border:2px dashed #a8b77d;border-radius:22px}.placement-orbit>span{position:absolute;background:#fffdf6;border:2px solid #9b8055;border-radius:10px;padding:9px 11px;font-size:14px;color:#405d39;font-weight:700;box-shadow:0 3px #bdab7c}.placement-orbit>span:nth-child(1){top:7px;left:10px;transform:rotate(-12deg)}.placement-orbit>span:nth-child(2){top:7px;right:10px;transform:rotate(12deg)}.placement-orbit>span:nth-child(3){bottom:7px;left:10px;transform:rotate(12deg)}.placement-orbit>span:nth-child(4){bottom:7px;right:10px;transform:rotate(-12deg)}.placement-orbit>div{display:flex;flex-direction:column;align-items:center;gap:16px;color:#a7442d}.placement-orbit strong{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:15px;font-weight:700;font-style:normal;max-width:130px;text-align:center}.placement-options .card{padding:30px;border-top:5px solid #a8432e}.placement-options .card:nth-child(2){border-top-color:#3f6541}.placement-options h2{font-family:Be Vietnam Pro,Arial,sans-serif;font-weight:700;font-size:27px;margin:18px 0 12px;color:#214b36}.placement-options p{font-size:14px;line-height:1.9;color:#566950}.placement-options ul{padding-left:18px;font-size:13px;line-height:2.2;color:#566950;margin:18px 0 23px}.placement-options .button{font-size:13px}.placement-options .badge{font-size:12px;letter-spacing:.05em}.placement-question{max-width:780px;width:100%;align-self:center;padding:30px!important}.placement-progress{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#566950;margin-bottom:12px}.placement-progress .badge{font-size:12px}.progress-track{height:5px;background:#edf0df;border-radius:5px;overflow:hidden;margin-bottom:24px}.progress-track span{display:block;height:100%;background:#527445;border-radius:5px;transition:width .3s}.placement-question .section-heading{margin-bottom:18px}.placement-passage{background:#fffdf6;border:1px solid #d8c8ac;padding:22px 25px;border-radius:9px;font-size:15px}.placement-question>h2{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:23px;line-height:1.5;font-weight:700;color:#214b36;margin:25px 0 18px}.placement-question>.answer-options .answer-option{font-size:14px;padding:13px 17px}.placement-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:27px}.placement-footer .button{font-size:13px}.placement-listening{border:1px solid #d8c8ac;background:#fffdf6;display:flex;flex-direction:column;align-items:center;padding:25px;gap:12px;border-radius:9px;color:#566950}.placement-listening p{font-size:13px;color:#566950;margin:0}.placement-listening small{font-size:12px;color:#566950}.placement-listening .button{font-size:13px}.placement-complete{background:#fffdf6!important;padding:35px!important;color:#566950;display:flex;flex-direction:column;align-items:center;text-align:center}.placement-complete>.eyebrow{font-size:12px;margin:21px 0 12px}.placement-complete h2{font-family:Be Vietnam Pro,Arial,sans-serif;font-size:33px;font-weight:700;color:#214b36}.placement-complete>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#566950;max-width:600px}.placement-complete>.row{justify-content:center;margin-top:15px}.placement-complete .button{font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes listen-wave{to{transform:scaleY(.4)}}@keyframes record-pulse{50%{box-shadow:0 0 0 15px #f8e7e460}}@media(max-width:1200px){.content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.exam-format-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-filters{flex-wrap:wrap}.learning-filters .search-field{flex-basis:100%}.practice-split{gap:17px}.writing-workspace{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:17px}.speaking-workspace{gap:17px;grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}.recording-card{padding:25px!important}.placement-hero{gap:22px;padding:22px}.placement-hero h2{font-size:27px}.placement-orbit{width:185px;height:185px}.placement-orbit>span{font-size:12px}.placement-orbit strong{font-size:14px}.listening-player{flex-wrap:wrap}.listening-player>.row{margin-left:auto}.attempt-toolbar{flex-wrap:wrap}.attempt-status{margin-left:auto}.acoustic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:950px){.practice-split,.writing-workspace,.speaking-workspace{grid-template-columns:1fr}.passage-card{position:static;max-height:450px}.writing-prompt{position:static}.lesson-word-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-card-body{padding:18px}.resume-list,.placement-hero{grid-template-columns:1fr}.placement-orbit{display:none}.placement-hero h2{font-size:30px}.library-intro{padding:24px}.campaign-intro-art{flex-basis:34%;width:34%;max-width:260px}.library-intro h2{font-size:25px}.feedback-summary{gap:20px;padding:23px!important}.feedback-score{min-width:115px;padding-right:20px}.feedback-summary h3{font-size:20px}.feedback-score>strong{font-size:39px}.criteria-grid{gap:15px}.criteria-grid .card{padding:19px}.criterion-heading h3{font-size:16px}.criteria-grid p{font-size:13px}.listening-exam-split .passage-card{display:none}.learning-heading-icon{width:45px;height:45px}.learning-page .page-header{gap:12px}.learning-page .page-header h1{font-size:28px}.placement-options{grid-template-columns:1fr}.placement-options .card{padding:25px}}@media(max-width:720px){.learning-skill-tabs{gap:4px;padding-bottom:10px}.learning-skill-tabs button{padding:9px 11px;font-size:12px;gap:5px}.learning-skill-tabs button svg{width:14px}.library-intro{padding:23px;flex-direction:column;align-items:stretch;gap:0}.campaign-intro-art{flex:none;width:230px;max-width:100%;align-self:center;margin:-5px 0 -30px}.library-intro h2{font-size:26px}.library-intro p{font-size:13px}.content-grid{gap:13px}.content-art{height:105px;gap:10px}.content-art>svg{width:31px;height:31px}.content-art>span:last-child{font-size:13px}.content-art-number{font-size:12px;left:12px;top:11px}.content-card-body{padding:15px}.content-card .badge{font-size:11px;padding:2px 5px}.content-card h3{font-size:18px;margin-top:11px}.content-card p{font-size:12px;margin-bottom:15px}.content-card-meta{font-size:12px;gap:8px;margin-bottom:13px}.content-card .button{font-size:12px;padding:8px 11px}.learning-filters select{min-width:80px;flex:1;max-width:none}.learning-filters .button,.learning-disclaimer{font-size:12px}.exam-format-grid{gap:12px}.exam-format-grid>div{padding:16px}.exam-format-grid strong{font-size:14px}.exam-format-grid span{font-size:12px}.resume-panel{padding:19px 21px!important}.resume-item strong{font-size:14px}.resume-item small{font-size:12px}.attempt-toolbar{padding:13px 15px;gap:13px}.attempt-toolbar>.row{gap:8px;font-size:12px}.attempt-toolbar .badge{font-size:12px}.attempt-status{gap:15px;width:100%;justify-content:space-between;margin:0}.draft-status{font-size:12px}.attempt-timer{font-size:17px}.learning-heading-icon{display:none}.learning-page .page-header h1{font-size:26px}.learning-page .page-header p:last-child{line-height:1.9;font-size:13px}.section-tabs{gap:7px}.section-tabs button{padding:10px 12px;font-size:12px;min-width:100px;max-width:none;flex-basis:calc(50% - 7px)}.section-tabs button span{font-size:12px}.passage-card h2,.questions-card h2{font-size:23px}.reading-passage{font-size:15px;line-height:1.95}.passage-card{max-height:480px}.question-list{gap:28px}.practice-question legend{font-size:13px;line-height:1.85}.answer-option{font-size:14px;min-height:45px;padding:11px 13px;line-height:1.7}.question-limit{font-size:12px}.question-feedback,.practice-question .field input{font-size:13px}.listening-player{padding:20px!important;gap:15px}.listening-symbol>.audio-wave{display:none}.listening-player h3{font-size:18px}.listening-player p,.listening-player small{font-size:12px}.listening-player>.row{width:100%;margin-left:0;justify-content:flex-end}.listening-player .button{font-size:12px}.writing-prompt .reading-passage{font-size:15px}.writing-prompt .section-heading>span{max-width:105px;font-size:12px!important}.writing-prompt .section-heading h2{font-size:22px}.writing-editor textarea{min-height:340px;font-size:15px;padding:15px}.word-counter{font-size:12px}.editor-footer{font-size:12px;gap:10px}.editor-footer>span:last-child{display:none}.writing-editor .notice{font-size:12px}.submit-bar{flex-direction:column;align-items:flex-start;padding:22px;gap:19px}.submit-bar strong{font-size:21px}.submit-bar p{font-size:13px}.submit-bar .button{width:100%;justify-content:center}.speaking-prompt h2{font-size:26px}.speaking-prompt .reading-passage{font-size:15px}.cue-points{font-size:14px;line-height:2.1}.recording-card{padding:25px!important}.recording-card h2{font-size:23px}.recording-card>.muted{font-size:12px}.recording-orb{width:78px;height:78px;margin-top:8px}.transcript-field textarea{font-size:13px;line-height:1.95}.transcript-field small{font-size:12px}.recording-card>.notice{font-size:12px;line-height:1.9}.feedback-section>.section-heading h2{font-size:25px}.feedback-section>.section-heading .badge{font-size:12px;max-width:140px;text-align:center;line-height:1.6}.feedback-summary{flex-direction:column;align-items:flex-start;padding:24px!important;gap:21px}.feedback-score{border-right:0;border-bottom:1px solid #d8c8ac;padding:0 0 20px;width:100%;flex-direction:row;justify-content:flex-start;gap:15px;min-width:0;text-align:left}.feedback-score>strong{font-size:39px}.feedback-score>span{font-size:12px}.feedback-summary h3{font-size:22px}.feedback-summary p{font-size:14px}.feedback-summary small{font-size:12px}.criteria-grid{grid-template-columns:1fr}.criteria-grid .card{padding:22px}.criterion-heading h3{font-size:19px}.criteria-grid p{font-size:14px}.correction-list>div{padding:15px}.correction-list .grid-2{grid-template-columns:1fr;gap:8px}.correction-original,.correction-suggestion{font-size:14px}.correction-list>div>p{font-size:13px}.feedback-section>.card>h3{font-size:21px}.feedback-transcript{font-size:15px;line-height:1.95}.answer-review summary{flex-wrap:wrap;gap:8px;padding:12px;font-size:13px}.answer-review summary .badge{margin-left:32px}.answer-review details>div{font-size:14px;padding-left:15px;padding-right:15px}.lesson-word-grid{gap:13px}.lesson-word-grid>div{padding:15px}.lesson-word-grid strong{font-size:18px}.lesson-word-grid p{font-size:13px}.lesson-word-grid .button{font-size:12px}.placement-hero{padding:23px}.placement-hero h2{font-size:30px}.placement-hero>div>p:not(.eyebrow){font-size:14px}.placement-hero .notice{font-size:12px}.placement-options{gap:16px}.placement-options .card{padding:25px}.placement-options h2{font-size:28px}.placement-options p{font-size:14px}.placement-options ul{font-size:13px}.placement-question{padding:24px!important}.placement-progress{font-size:12px}.placement-question>h2{font-size:23px;line-height:1.5}.placement-passage{padding:20px;font-size:15px;line-height:1.95}.placement-question>.answer-options .answer-option{font-size:14px;padding:12px 14px}.placement-footer{align-items:flex-start;flex-direction:column;gap:15px}.placement-footer .button{width:100%;justify-content:center}.placement-complete{padding:28px!important}.placement-complete h2{font-size:29px}.placement-complete>p:not(.eyebrow){font-size:13px}.placement-complete .button{font-size:12px}.placement-listening{padding:23px 18px}.placement-listening p{font-size:14px}.placement-listening small{font-size:12px}}@media(max-width:480px){.content-grid{grid-template-columns:1fr}.content-art{height:122px}.content-art>svg{width:37px;height:37px}.content-art>span:last-child{font-size:17px}.content-card-body{padding:21px}.content-card h3{font-size:22px}.content-card p{font-size:14px}.content-card .badge{font-size:12px}.content-card-meta{font-size:12px;gap:12px;margin-bottom:17px}.content-card .button{font-size:13px;min-height:42px}.learning-skill-tabs button{font-size:12px;padding:8px 10px}.learning-skill-tabs button svg{display:block}.lesson-word-grid{grid-template-columns:1fr}.lesson-word-grid strong{font-size:20px}.lesson-word-grid p{font-size:14px}.lesson-word-grid .button{font-size:12px}.attempt-toolbar>.row>span:last-child{font-size:12px}.acoustic-grid{gap:11px}.placement-question{padding:20px!important}.placement-question>h2{font-size:22px}.placement-passage{padding:18px}.placement-question .section-heading{flex-wrap:wrap;gap:10px}.practice-question .field input,.writing-editor textarea,.transcript-field textarea{font-size:16px}}@media(prefers-reduced-motion:reduce){.audio-wave.active i,.recording-orb.recording{animation:none}.content-card:hover{transform:none}.progress-track span{transition:none}}.section-visuals{margin:22px 0;display:grid;gap:18px;min-width:0}.content-visual{margin:0;padding:16px;background:#fbfcf8;border:1px solid #dce6d2;border-radius:9px;min-width:0}.content-visual>figcaption{display:flex;flex-direction:column;gap:5px;text-align:center;margin-bottom:14px;color:#4f694d;font-size:13px;line-height:1.6}.content-visual>figcaption span{font-size:11px;font-weight:400;color:#708469}.content-visual svg{display:block;width:100%;height:auto;overflow:visible}.visual-tick,.visual-label{font-size:12px;fill:#53694e}.visual-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;list-style:none;padding:0;margin:10px 0 0;gap:7px 18px;font-size:11px;color:#5d7356}.visual-legend li{display:flex;align-items:center;gap:7px}.visual-legend i{display:block;width:12px;height:12px;border-radius:2px;flex-shrink:0}.visual-legend .map-key{width:23px;height:5px;background:#9aab91;border-radius:0}.visual-legend .map-key.path{background:repeating-linear-gradient(to right,#9aab91 0 6px,transparent 6px 9px)}.visual-legend .map-key.road{background:#d2bea1;height:9px}.visual-legend .map-key.river{background:#89b7d4;height:9px}.pie-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px}.pie-chart-panel{min-width:0}.pie-chart-panel h4{margin:0 0 3px;text-align:center;color:#536b4d;font-size:12px}.visual-table-scroll,.completion-table-scroll{overflow-x:auto;max-width:100%}.visual-table table,.completion-table-scroll table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.6;color:#52694b}.visual-table th,.visual-table td,.completion-table-scroll th,.completion-table-scroll td{padding:11px 10px;border:1px solid #d7e2cc;text-align:left}.visual-table th,.completion-table-scroll th{background:#eef4e7;font-weight:600}.visual-table td{text-align:right;font-variant-numeric:tabular-nums}.multiple-choice-group .question-number{min-width:37px}.option-at-limit{opacity:.65;cursor:default}.selection-complete{color:#577b45;font-weight:650}.completion-block{border:1px solid #dce5d1;border-radius:8px;padding:18px;background:#fcfdf9;min-width:0}.completion-block-heading{display:flex;gap:9px;align-items:start;margin-bottom:8px}.completion-block h3{font-size:14px;color:#4f7047;line-height:1.6;margin:0}.completion-block .question-number{min-width:35px}.completion-prose,.completion-rows{font-size:13px;line-height:2.7;color:#536d4c;white-space:pre-wrap}.completion-prose{margin:14px 0}.completion-blank{display:inline-flex;align-items:baseline;gap:5px;max-width:100%;vertical-align:baseline;white-space:nowrap;margin:0 4px}.completion-blank .blank-number{font-weight:700;font-size:11px;color:#547948}.completion-blank input{width:138px;min-width:0;max-width:100%;border:0;border-bottom:1px solid #809b72;border-radius:0;background:#f2f6eb;padding:4px 6px;font-size:13px;line-height:1.5;color:#345532}.completion-blank input:focus{outline:2px solid #a4bb8c;outline-offset:2px}.completion-blank input:disabled{color:#527248;opacity:1}.completion-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 12px}.completion-row>strong{font-weight:600}.completion-note .completion-row{display:list-item;margin-left:18px}.completion-flow{display:flex;flex-direction:column;gap:28px;align-items:center}.completion-flow .completion-row{border:1px solid #b9cba9;background:#edf3e7;padding:10px 14px;border-radius:6px;display:block;width:min(100%,370px);position:relative}.completion-flow .completion-row:not(:last-child):after{content:"↓";position:absolute;top:100%;left:calc(50% - 9px);line-height:28px;font-size:23px;color:#7d946c}.completion-incorrect{background:#fdf6ee;border-color:#efe2ce;color:#9f8661}@media(max-width:720px){.content-visual{padding:10px}.content-visual>figcaption{font-size:12px}.visual-tick,.visual-label{font-size:13px}.completion-block{padding:12px}.completion-blank input{width:118px;font-size:16px}.completion-prose,.completion-rows{font-size:13px}.completion-table-scroll table{min-width:300px}}.visual-frame{min-width:0}.visual-expand-button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;border:0;background:transparent;color:#638359;padding:9px 5px 0;font-size:11px;cursor:pointer}.visual-expand-button:hover{color:#355f31;text-decoration:underline}.modal:has(.visual-expanded){width:min(980px,calc(100vw - 32px))}.visual-expanded{overflow-x:auto;max-width:100%}.visual-expanded>.content-visual{min-width:640px}.visual-pan-hint{margin:0 0 13px}.exam-integrity-rules{display:flex;gap:12px;padding:18px;border:1px solid var(--warning, #b77525);border-radius:14px;background:#fff5df;color:#594216}.exam-integrity-rules>svg{flex-shrink:0;margin-top:2px}.exam-integrity-rules p{margin:7px 0 0}.exam-integrity-rules.compact{padding:14px 18px}.exam-integrity-invalidated{border-color:#b6503b;background:#fff2eb}.exam-integrity-invalidated>svg{color:#b6503b}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/be-vietnam-pro-vietnamese-400-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/be-vietnam-pro-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/be-vietnam-pro-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/be-vietnam-pro-vietnamese-500-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/be-vietnam-pro-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/be-vietnam-pro-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/be-vietnam-pro-vietnamese-600-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/be-vietnam-pro-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/be-vietnam-pro-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/be-vietnam-pro-vietnamese-700-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/be-vietnam-pro-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/be-vietnam-pro-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/fonts/be-vietnam-pro-vietnamese-800-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/fonts/be-vietnam-pro-latin-ext-800-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/fonts/be-vietnam-pro-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:italic;font-display:swap;font-weight:400;src:url(/fonts/be-vietnam-pro-vietnamese-400-italic.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:italic;font-display:swap;font-weight:400;src:url(/fonts/be-vietnam-pro-latin-ext-400-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:italic;font-display:swap;font-weight:400;src:url(/fonts/be-vietnam-pro-latin-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Be Vietnam Pro,system-ui,sans-serif;color:#343247;background:#fffaf5;font-synthesis:none;font-weight:400;font-size:15px;line-height:1.6;--navy: #343247;--teal: #cf405d;--teal-dark: #b32d49;--cream: #fffaf5;--muted: #625e73;--border: #e5ddea;--peach: #ffe0d2;--white: #fff;--shadow: 0 4px 0 #eee6ee, 0 10px 24px #55446508}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}a{color:inherit;text-decoration:none}button{color:inherit}svg{flex-shrink:0}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:Be Vietnam Pro,system-ui,sans-serif;line-height:1.3;letter-spacing:0}h1{font-size:32px;font-weight:750;margin-bottom:8px}h2{font-size:22px;font-weight:750;margin-bottom:12px}h3{font-size:16px;font-weight:700;margin-bottom:5px}h4{font-size:15px;letter-spacing:0;margin-bottom:10px}p{margin-bottom:14px}button:focus-visible,a:focus-visible{outline:3px solid #7a58b2;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:3px solid #c8b5ee;outline-offset:1px;border-color:var(--teal)}::selection{background:#e6d8ff;color:#343247}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:10px 18px;background:var(--teal);border:1px solid var(--teal);border-radius:9px;color:#fff;font-weight:650;font-size:14px;line-height:1.4;transition:background .15s,transform .15s;white-space:normal}.button:hover:not(:disabled){background:var(--teal-dark);transform:translateY(-1px)}.button.secondary{background:#fff;color:#35524f;border-color:#dce5de}.button.secondary:hover:not(:disabled){background:#edf5ef;border-color:#b9d4c7}.button.light{background:#f6f7ec;color:#1a4f48;border-color:#f6f7ec}.button.light:hover{background:#e5eedf}.button.danger{background:#ae4141;border-color:#ae4141;color:#fff}.button.danger.secondary{color:#a64040;background:#fff9f8;border-color:#e7c7c2}.button.small{min-height:36px;padding:8px 12px;font-size:12px}.button.full{width:100%}.icon-button{width:36px;height:36px;border-radius:8px;display:inline-flex;justify-content:center;align-items:center;border:0;background:transparent;color:inherit}.icon-button:hover{background:#eaf2eb}.icon-link{display:flex;align-items:center;padding:8px;border-radius:8px}.icon-link:hover{background:#edf4ee}.text-link,.arrow-label{display:inline-flex;align-items:center;gap:7px;color:var(--teal);font-size:13px;font-weight:650}.text-link{background:none;border:0;padding:0}.text-link:hover{text-decoration:underline}.stack{display:flex;flex-direction:column;gap:18px}.page-stack{gap:26px}.row{display:flex;align-items:center;gap:12px}.wrap{flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.muted{color:var(--muted)}.small-text{font-size:12px}.italic{font-style:italic}.center{text-align:center}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:750;color:#7a8a82;margin-bottom:9px;text-transform:uppercase}.badge{font-size:10px;letter-spacing:.02em;font-weight:650;display:inline-flex;align-items:center;padding:4px 9px;line-height:1.45;border-radius:5px;background:#edf2ed;color:#65816f;white-space:nowrap}.badge.reading,.reading .skill-icon{background:#e0f0e8;color:#2c7f67}.badge.listening,.listening .skill-icon{background:#e5ecf8;color:#4975af}.badge.writing,.writing .skill-icon{background:#fbecdf;color:#b37945}.badge.speaking,.speaking .skill-icon{background:#ede6f6;color:#8063ae}.badge.grammar{background:#f1eed6;color:#8d813c}.badge.warning,.badge.due{background:#fff0df;color:#a57438}.badge.success{background:#e1f2e8;color:#25704c}.badge.neutral{background:#edf0ed;color:#67746d}.card{background:#fff;border:1px solid var(--border);border-radius:13px;padding:25px;box-shadow:var(--shadow)}.notice{display:flex;align-items:flex-start;gap:11px;padding:14px 16px;border:1px solid #dae8e0;border-radius:9px;background:#f0f6f1;color:#46675a;font-size:13px}.notice>svg{margin-top:2px}.notice.error{border-color:#edc9c4;background:#fff4f1;color:#a0473d}.notice.warning{border-color:#efdfbd;background:#fffaed;color:#927039}.notice.success{border-color:#cbe4d3;background:#eef8ef;color:#33764b}.notice p{margin-bottom:0;margin-top:6px}.notice .button,.notice .text-link{margin-left:auto}.loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:80px 15px;font-size:14px;color:#74877c}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:42px 20px;color:#7c8a82}.empty-icon{width:59px;height:59px;border-radius:50%;background:#f0f5ef;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:#84a48d}.empty-state h3{color:#3c5950;font-size:18px}.empty-state p{max-width:410px;margin:10px auto 20px;font-size:13px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650;color:#425c55}.field small{font-size:11px;font-weight:400;color:var(--muted)}input,select,textarea{width:100%;padding:11px 13px;border:1px solid #dce5dc;border-radius:8px;color:#345047;background:#fff;min-height:43px;line-height:1.5}input::placeholder,textarea::placeholder{color:#9daaa0;font-size:13px}input:disabled{background:#f5f7f3;color:#87968b}textarea{resize:vertical}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:25px}.page-header>div{max-width:750px}.page-header p:last-child{margin-bottom:0;font-size:13px}.page-header>.button{margin-top:22px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:6px}.section-heading.compact h2{font-size:18px}.pill{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.09em;font-weight:600;padding:6px 10px;border:1px solid #ffffff35;border-radius:20px;background:#ffffff0b}.brand{display:inline-flex;align-items:center;gap:11px;font-family:Be Vietnam Pro,system-ui,sans-serif;color:#fff5db;font-size:24px;font-weight:750;line-height:1.25;letter-spacing:0}.brand-mark{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#365a38;color:#ffe0a6}.brand-ai{color:#f1bb64}.brand small{display:block;font-size:7px;letter-spacing:.22em;font-weight:500;color:#c7d1b9;margin-top:5px}.app-layout{min-height:100vh}.sidebar{width:239px;position:fixed;top:0;left:0;bottom:0;background:var(--navy);color:#a9beb6;display:flex;flex-direction:column;padding:32px 17px 18px;z-index:40}.brand-link{padding-left:10px;display:inline-block}.sidebar-caption{font-size:8px;letter-spacing:.14em;color:#b4c0a0;margin:34px 0 16px 11px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 14px;min-height:42px;font-size:12px;border-radius:8px;color:#c7d1b9;transition:background .15s,color .15s}.nav-item.active{color:#edf7e8;background:#b9472d}.nav-item.active svg{color:#b4d5bb}.nav-item:hover{color:#e9f2e8;background:#315738}.nav-dot{width:5px;height:5px;background:#e2b58f;border-radius:50%;margin-left:auto}.sidebar-goal{background:#284f32;border:1px solid #68734c;border-radius:10px;padding:14px 15px;margin:26px 8px 23px;position:relative}.sidebar-goal>svg{position:absolute;right:15px;top:20px;color:#afc7a2}.sidebar-goal p{font-size:10px;color:#8bada0;margin-bottom:6px}.sidebar-goal strong{font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:23px;letter-spacing:0;color:#e4eddb}.sidebar-goal a{display:flex;align-items:center;gap:5px;margin-top:12px;font-size:10px;color:#b6cfbb}.sidebar-user{margin-top:auto;display:flex;align-items:center;gap:9px;border-top:1px solid #557049;padding-top:18px;min-width:0}.avatar{display:flex;justify-content:center;align-items:center;width:36px;height:36px;border-radius:50%;background:#e3c9a4;color:#4e5844;font-weight:750;font-size:15px;flex-shrink:0}.avatar.small{width:32px;height:32px;font-size:13px;background:#e8dec7}.sidebar-user>div:nth-child(2){min-width:0;flex:1}.sidebar-user strong{font-size:11px;color:#dee8dd;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user small{display:block;font-size:9px;color:#b4c0a0}.sidebar-user .icon-button:hover{background:#315738}.main-content{margin-left:239px;min-width:0}.topbar{height:75px;background:#f7f1e5;border-bottom:1px solid #e9ece4;display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:11px;color:#68715d}.topbar-note{display:flex;gap:7px;align-items:center}.status-dot{width:6px;height:6px;display:inline-block;background:#87b98d;border-radius:50%}.topbar-right{display:flex;align-items:center;gap:19px;font-size:10px;color:#647a6d}.page-content{max-width:1460px;margin:0 auto;padding:34px 42px 50px}.site-footer{border-top:1px solid var(--border);font-size:10px;color:#66715b;padding:20px 42px;display:flex;gap:20px;justify-content:space-between}.mobile-bar,.menu-overlay{display:none}.dashboard-hero{display:grid;grid-template-columns:1.2fr 1fr;background:#214b36;color:#e6efe1;border-radius:15px;overflow:hidden;min-height:297px;position:relative}.hero-copy{padding:32px 34px;position:relative;z-index:1}.hero-copy h2{font-family:Be Vietnam Pro,system-ui,sans-serif;font-weight:400;font-size:37px;line-height:1.2;letter-spacing:0;margin:18px 0 15px}.hero-copy h2 em{color:#d7d6af;font-weight:400}.hero-copy p{font-size:12px;line-height:1.8;color:#d7dfc5;max-width:390px;margin-bottom:21px}.hero-copy .button{font-size:11px;min-height:40px;padding:10px 16px;gap:14px}.hero-note{display:flex;align-items:center;gap:7px;font-size:9px;color:#c7d1b9;margin-top:12px}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;padding:28px 20px 22px;background:radial-gradient(ellipse at center,#234f45,#214b36 68%)}.hero-art .learning-illustration{width:100%;max-width:380px;color:#dce3c8;transform:rotate(-4deg);margin-top:20px}.hero-art-tag{position:absolute;top:33px;right:40px;text-align:right;color:#94b0a1;font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:13px;font-style:italic;line-height:1.6;z-index:1}.hero-art-tag strong{color:#d6dab5;font-weight:400;font-size:20px}.hero-art-note{position:absolute;bottom:30px;font-size:8px;letter-spacing:.06em;color:#729987;display:flex;gap:7px;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.stat-card{padding:20px 22px;background:#fff;border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow)}.stat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.stat-top>span{background:#f0f5ee;padding:8px;display:flex;border-radius:9px;color:#70937b}.stat-top strong{font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:28px;line-height:1;font-weight:750;letter-spacing:0}.stat-card h3{font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:11px;letter-spacing:0;font-weight:650;margin-bottom:5px}.stat-card p{font-size:9px;line-height:1.6;color:#66715b;margin-bottom:0}.skills-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.skill-card{padding:20px;background:#fff;border:1px solid var(--border);border-radius:11px;transition:border-color .2s,transform .2s;min-width:0}.skill-card:hover{transform:translateY(-3px);border-color:#a8c9b8}.skill-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.skill-card-top>svg{color:#99a698}.skill-icon{width:41px;height:41px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#edf4e9;color:#658a6c;flex-shrink:0}.skill-icon.reading{background:#e0f0e8;color:#2c7f67}.skill-icon.listening{background:#e5ecf8;color:#4975af}.skill-icon.writing,.skill-icon.grammar{background:#fbecdf;color:#b37945}.skill-icon.speaking{background:#ede6f6;color:#8063ae}.skill-card h3{font-size:17px}.skill-card p{font-size:9px;color:#66715b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:18px}.skill-band{display:flex;align-items:baseline;gap:7px;margin-bottom:10px}.skill-band strong{font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:28px;letter-spacing:0;font-weight:650}.skill-band span{font-size:8px;color:#66715b}.skill-progress{height:4px;background:#edf1eb;border-radius:10px;margin-bottom:10px;overflow:hidden}.skill-progress span{display:block;height:100%;background:#8ebca0;border-radius:10px}.listening .skill-progress span{background:#8ba9cc}.writing .skill-progress span{background:#d6aa7f}.speaking .skill-progress span{background:#b19cca}.skill-card small{font-size:8px;color:#66715b}.dashboard-lower{display:grid;grid-template-columns:1.06fr 1fr;gap:22px}.recommendation{display:flex;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0e9}.recommendation:first-child{padding-top:0}.recommendation:last-child{border-bottom:0}.recommendation>div{flex:1;min-width:0}.recommendation h3{font-size:12px;margin-top:7px;line-height:1.5;letter-spacing:0}.recommendation p{font-size:9px;color:#66715b;margin:4px 0 0}.recommendation .badge{font-size:8px;padding:2px 6px}.recommendation .skill-icon{width:38px;height:38px}.recommendation>.icon-button{width:28px;height:28px}.content-disclaimer{font-size:9px;color:#9aab9a;background:#f7f9f4;border-radius:5px;margin-top:12px;padding:8px 10px}.dashboard-lower .empty-state{padding:30px 14px}.dashboard-lower .empty-state h3{font-size:16px}.dashboard-lower .empty-state p{font-size:11px}.dashboard-lower .empty-icon{width:48px;height:48px}.quiet-note{font-size:10px;color:#829381;display:flex;gap:8px;align-items:flex-start}.quiet-note>svg{margin-top:1px}.trend-chart svg{width:100%;height:auto}.attempt-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid #ebefe7}.attempt-row:first-child{padding-top:0}.attempt-row:last-child{border-bottom:0;padding-bottom:0}.attempt-row h3{font-size:13px;margin:8px 0 5px;letter-spacing:0}.attempt-row p{font-size:10px;color:#8d9d8d;margin:0}.attempt-row:hover h3{color:var(--teal)}.attempt-result{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:125px;min-width:80px}.attempt-result>strong{font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:24px;letter-spacing:0}.attempt-result>small{display:block;width:100%;font-size:9px;color:#9aab9a;order:2;text-align:right}.plan-summary{display:flex;justify-content:space-between;gap:40px;align-items:center}.plan-summary>div:first-child{max-width:670px}.plan-summary h2{font-size:26px;margin-top:13px}.plan-summary p{font-size:13px;margin-bottom:0}.plan-progress{min-width:185px;text-align:center;border-left:1px solid var(--border);padding-left:30px}.plan-progress strong{font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:37px;letter-spacing:0}.plan-progress strong span{font-size:20px;color:#a4b2a2}.plan-progress p{font-size:11px;color:#8b9d8c}.plan-progress progress{width:100%;height:6px;accent-color:var(--teal)}.plan-day{display:grid;grid-template-columns:128px 1fr;gap:22px}.plan-day-label{display:flex;flex-direction:column;gap:4px;padding-top:12px}.plan-day-label span{font-weight:700;font-size:13px;text-transform:capitalize}.plan-day-label small{font-size:10px;color:#889887}.plan-task{display:flex;align-items:center;gap:16px;padding:18px;background:#fff;border:1px solid var(--border);border-radius:10px}.task-check{width:25px;height:25px;border:1px solid #d3dfd0;border-radius:7px;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--teal)}.completed .task-check{background:#e5f2e5;border-color:#b2d4b2}.plan-task-content{flex:1}.plan-task-content h3{font-size:13px;margin-top:7px}.plan-task-content p{font-size:10px;color:#8a9d88;margin:0}.task-duration{font-size:10px;display:flex;align-items:center;gap:5px;color:#859581;white-space:nowrap}.plan-task.completed h3{color:#82937c}.tabs,.auth-tabs{display:flex;align-items:center;gap:5px;padding:5px;background:#eaf0e6;border-radius:10px;width:max-content;max-width:100%}.tabs button,.auth-tabs button{border:0;background:transparent;padding:10px 17px;border-radius:7px;font-size:12px;font-weight:650;color:#74876f;display:flex;align-items:center;gap:9px}.tabs button.selected,.auth-tabs button.selected{background:#fff;color:#2b5b49;box-shadow:0 2px 6px #315a3410}.filter-bar{display:flex;gap:12px;align-items:center;padding:15px;background:#fff;border:1px solid var(--border);border-radius:10px}.filter-bar select{max-width:190px;min-height:40px;font-size:12px}.search-field{display:flex;align-items:center;position:relative;flex:1;min-width:170px}.search-field>svg{position:absolute;left:12px;color:#94a591}.search-field input{padding-left:39px;min-height:40px;font-size:12px}.vocab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.vocab-card{background:#fff;border:1px solid var(--border);border-radius:11px;padding:20px;display:flex;flex-direction:column}.vocab-card-header{display:flex;justify-content:space-between;align-items:center}.vocab-word{font-family:Be Vietnam Pro,system-ui,sans-serif;letter-spacing:0;font-size:21px;font-weight:650;text-align:left;align-self:flex-start;background:none;border:0;padding:6px 0;margin:10px 0 3px;line-height:1.3}.vocab-word:hover{color:var(--teal)}.vocab-ipa{font-size:10px;color:#90a18c;margin-bottom:11px}.vocab-meaning{font-size:13px;flex:1;line-height:1.6}.vocab-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #edf0e8;padding-top:12px;font-size:9px;color:#8d9d88}.save-word{display:flex;gap:5px;align-items:center;font-size:10px;color:var(--teal);background:#edf5ea;border:0;padding:6px 8px;border-radius:6px}.save-word.saved{background:transparent;color:#9dab93}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:20px;font-size:11px;color:#8c9b83}.saved-card-list{display:flex;flex-direction:column;gap:15px}.saved-card{display:flex;align-items:center;justify-content:space-between;gap:25px}.saved-card .row h3{margin:0;font-size:20px}.saved-card p{font-size:13px;margin:8px 0 0}.saved-card-schedule{text-align:right;min-width:160px}.saved-card-schedule small{display:block;font-size:10px;margin-top:7px;color:#90a188}.review-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#859d7f}.review-heading p{margin:0}.flashcard{position:relative;max-width:690px;width:100%;min-height:330px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px 40px;border-color:#d2e1cd;background:linear-gradient(150deg,#fff,#fafcf7)}.flashcard .badge{margin-bottom:15px}.flashcard h2{font-size:38px;color:#315743;margin-bottom:19px}.flashcard-sound{position:absolute;right:25px;top:25px}.flashcard>p{font-size:12px;max-width:370px}.flashcard .button{margin-top:15px;font-size:11px}.flashcard-answer>p{font-size:19px}.flashcard-answer blockquote{font-size:13px;max-width:430px}.review-ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:690px;width:100%;margin:0 auto}.rating{display:flex;flex-direction:column;gap:3px;padding:14px 10px;border-radius:9px;border:1px solid #dfe7d8;background:#fff}.rating strong{font-size:12px}.rating small{font-size:9px;color:#899980}.rating-1{border-color:#e6c8c0;color:#a44e45}.rating-2{border-color:#e6d8b6;color:#9f7a39}.rating-3{border-color:#c3ddcc;color:#357a59}.rating-4{border-color:#c1d1e2;color:#4876a5}.rating:hover{transform:translateY(-2px)}.modal{border:1px solid #dce6d5;border-radius:16px;width:min(640px,calc(100vw - 32px));padding:27px;max-height:90dvh;color:#345242;background:#fff;box-shadow:0 24px 90px #10342340}.modal::backdrop{background:#0d25286e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:24px}.modal-heading h2{margin:0;font-size:23px}.modal blockquote{margin:12px 0;padding:12px 14px;border-left:3px solid #9fc3a0;background:#f5f8f0;color:#698360;font-size:13px;font-style:italic}.modal h4{margin-top:5px}.tag-list{display:flex;gap:8px;flex-wrap:wrap}.error-tag{text-transform:capitalize;margin-top:10px!important}.error-examples{display:flex;flex-direction:column;gap:18px}.error-example{padding:18px;border:1px solid #e8ede2;background:#fcfdf9;border-radius:9px}.error-example>h4{margin-bottom:16px;line-height:1.7;letter-spacing:0;font-weight:600}.error-example .eyebrow{font-size:9px}.error-example>.muted{font-size:12px;line-height:1.8}.wrong-answer{color:#aa6658;font-size:13px}.correct-answer{color:#437c51;font-size:13px}.profile-level{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:15px 22px;border-radius:9px;background:#f4f8ef}.profile-level .eyebrow{margin-bottom:4px;font-size:9px}.profile-level strong{font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:27px}.profile-level>span{font-size:10px;color:#66715b;margin-bottom:10px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:20px}.service-card{padding:18px;border:1px solid var(--border);border-radius:9px;background:#fcfdf9}.service-card h3{font-size:13px;margin-top:13px}.service-card p{font-size:11px;color:#66715b;margin:7px 0 0}.boot-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--navy)}.boot-screen .loading{padding-top:30px;color:#b6d0b5}.auth-layout{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:#193e2d;color:#d7e6d0;padding:40px 11%;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-story-content{padding-top:65px}.auth-story h1{font-family:Be Vietnam Pro,system-ui,sans-serif;line-height:1.17;font-size:48px;letter-spacing:0;font-weight:400;margin:28px 0 25px}.auth-story h1 em{font-weight:400;color:#ddd4aa}.auth-story-content>p{color:#a5bda5;font-size:14px;line-height:1.9;max-width:380px;margin-bottom:27px}.auth-feature{display:flex;align-items:center;gap:9px;font-size:12px;color:#b8cdb0;margin:14px 0}.auth-feature svg{width:17px;color:#95bb86}.auth-story .learning-illustration{width:100%;max-width:420px;margin:0 auto;color:#a4bd94}.auth-story-footer{font-size:10px;display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:15px;color:#c7d1b9}.auth-panel{display:flex;align-items:center;justify-content:center;padding:50px 40px;background:#faf5e9}.auth-box{max-width:395px;width:100%}.auth-box>h2{font-size:29px;margin-top:13px}.auth-box>.muted{font-size:13px;line-height:1.8;margin-bottom:30px}.auth-tabs{width:100%;margin-bottom:25px}.auth-tabs button{flex:1;justify-content:center;font-size:12px}.auth-form{gap:18px}.auth-form .button{margin-top:7px}.auth-box .notice{margin-bottom:18px}.auth-divider{border-top:1px solid #dde6d4;position:relative;text-align:center;margin:32px 0 24px;font-size:10px;color:#66715b}.auth-divider span{display:inline-block;background:#faf5e9;padding:0 13px;position:relative;top:-9px}.auth-demo-note{font-size:9px;text-align:center;line-height:1.7;margin:13px 4px;color:#66715b}.auth-bottom{font-size:9px;color:#66715b;display:flex;align-items:center;justify-content:center;gap:9px;border-top:1px solid #e2e9da;margin-top:30px;padding-top:21px}@media(min-width:1500px){.page-content{padding:40px 55px 60px}.hero-copy h2{font-size:44px}.hero-copy{padding:38px 42px}.dashboard-hero{min-height:330px}.stat-card{padding:24px 26px}.skill-card{padding:25px}.hero-art .learning-illustration{max-width:440px}.skill-card h3{font-size:20px}.skill-card p{font-size:11px}.skill-card small{font-size:10px}.stat-card h3{font-size:13px}.stat-card p{font-size:10px}.recommendation h3{font-size:14px}}@media(max-width:1190px){.sidebar{width:211px;padding-left:12px;padding-right:12px}.main-content{margin-left:211px}.page-content{padding:28px 25px 40px}.topbar{padding:0 25px}.hero-copy{padding:28px}.hero-copy h2{font-size:33px}.hero-copy p{font-size:11px}.hero-art-tag{right:23px}.stats-grid,.skills-grid{gap:12px}.stat-card,.skill-card{padding:17px 15px}.dashboard-lower{gap:16px}.card{padding:21px}.site-footer{padding-left:25px;padding-right:25px}.plan-task{gap:12px}.task-duration{display:none}.auth-story{padding-left:9%;padding-right:9%}.auth-story h1{font-size:41px}.auth-story-content{padding-top:45px}}@media(max-width:950px){.hero-art{display:none}.dashboard-hero{grid-template-columns:1fr;min-height:auto}.hero-copy h2{font-size:37px}.hero-copy p{max-width:450px}.hero-copy{padding:30px}.stats-grid,.skills-grid{grid-template-columns:repeat(2,1fr)}.skill-card p{font-size:11px}.skill-card small{font-size:9px}.dashboard-lower{grid-template-columns:1fr}.vocab-grid{grid-template-columns:repeat(2,1fr)}.filter-bar{flex-wrap:wrap}.search-field{flex-basis:100%}.filter-bar select{max-width:none;flex:1}.service-grid{grid-template-columns:1fr}.plan-day{grid-template-columns:1fr;gap:12px}.plan-day-label{flex-direction:row;align-items:center;gap:10px}.plan-summary{gap:20px}.plan-progress{min-width:140px;padding-left:20px}.auth-layout{grid-template-columns:.8fr 1fr}.auth-story h1{font-size:35px}.auth-story-content>p{font-size:12px}.auth-feature{font-size:10px;align-items:flex-start}.auth-panel{padding:40px 25px}.auth-story{padding:35px 30px}.auth-story-content{padding-top:65px}.auth-story .learning-illustration{margin-top:20px}.auth-box>h2{font-size:25px}.site-footer{flex-direction:column;gap:6px}.page-header{flex-wrap:wrap;gap:15px}.page-header>.button{margin-top:0}.plan-summary h2{font-size:22px}}@media(max-width:720px){.mobile-bar{display:flex;align-items:center;justify-content:space-between;height:65px;background:var(--navy);padding:0 20px;position:sticky;top:0;z-index:45;color:#c5dcc0}.mobile-bar .brand{font-size:19px;gap:9px}.mobile-bar .brand small{font-size:6px}.mobile-bar .brand-mark{width:33px;height:33px}.mobile-bar .icon-button:hover{background:#254943}.sidebar{top:65px;transform:translate(-100%);transition:transform .2s;width:245px;padding-top:25px;z-index:50}.sidebar.open{transform:translate(0)}.sidebar .brand-link{display:none}.sidebar-caption{margin-top:0;margin-bottom:16px}.sidebar-goal{margin-top:20px}.menu-overlay{display:block;position:fixed;inset:65px 0 0;background:#0d25285c;border:0;z-index:48}.main-content{margin-left:0}.topbar{height:51px;padding:0 20px}.topbar-note{font-size:9px}.topbar-right{gap:10px;font-size:9px}.topbar-right .avatar{width:27px;height:27px;font-size:11px}.page-content{padding:25px 20px 38px}.page-header h1{font-size:27px}.page-header p:last-child{font-size:12px}.page-header .eyebrow{font-size:9px}.page-stack{gap:23px}.hero-copy{padding:29px}.hero-copy h2{font-size:36px}.hero-copy p{font-size:12px}.hero-copy .button,.stat-card h3{font-size:11px}.stat-card p{font-size:9px}.stat-top strong{font-size:29px}.stat-card{padding:18px}.skills-grid{gap:14px}.skill-card{padding:20px}.skill-card p{font-size:9px}.skill-card h3{font-size:17px}.skill-band strong{font-size:28px}.skill-band span{font-size:8px}.section-heading h2{font-size:21px}.section-heading>.text-link{font-size:10px;gap:4px}.dashboard-lower{gap:18px}.card{padding:22px}.dashboard-lower .empty-state{padding:32px 20px}.quiet-note{font-size:9px;line-height:1.8}.site-footer{padding:18px 20px;font-size:9px}.auth-layout{grid-template-columns:1fr}.auth-story{padding:25px 25px 30px}.auth-story-content{padding-top:20px}.auth-story-content .pill{font-size:8px}.auth-story h1{font-size:32px;margin:20px 0 14px}.auth-story-content>p{font-size:12px;max-width:450px;margin-bottom:0}.auth-feature,.auth-story .learning-illustration,.auth-story-footer{display:none}.auth-panel{padding:32px 25px 40px;align-items:flex-start}.auth-box{max-width:460px}.auth-box>.eyebrow{font-size:8px}.auth-box>h2{font-size:26px}.auth-box>.muted{margin-bottom:22px}.auth-tabs{margin-bottom:22px}.plan-task{flex-wrap:wrap;padding:16px;gap:12px}.plan-task-content{flex-basis:calc(100% - 40px)}.plan-task>.button{margin-left:37px;font-size:10px}.plan-summary{align-items:flex-start;padding:20px;gap:15px}.plan-progress{min-width:105px;width:105px;padding-left:15px}.plan-progress strong{font-size:31px}.plan-progress strong span{font-size:16px}.plan-progress p{font-size:9px}.plan-summary h2{font-size:22px}.plan-summary .muted{font-size:11px}.plan-summary .badge{font-size:8px}.plan-day-label{padding-left:2px}.grid-2{gap:15px}.tabs{width:100%;flex-wrap:wrap}.tabs button{padding:9px 12px;font-size:10px;flex:1;justify-content:center;white-space:nowrap}.tabs .badge{font-size:8px;padding:3px 6px}.filter-bar{padding:12px;gap:10px}.filter-bar select,.filter-bar .button{font-size:10px}.vocab-grid{gap:13px}.vocab-card{padding:15px}.vocab-word{font-size:19px}.vocab-meaning{font-size:12px}.vocab-ipa{font-size:9px}.vocab-card-footer{font-size:8px}.save-word{font-size:9px;padding:5px 6px}.saved-card{flex-direction:column;align-items:flex-start;gap:18px}.saved-card-schedule{text-align:left;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.saved-card-schedule small{margin:0}.flashcard{min-height:330px;padding:30px 25px}.flashcard h2{font-size:32px}.review-heading{align-items:flex-start;gap:10px;font-size:10px}.review-heading .badge{font-size:8px}.review-ratings{gap:7px}.rating{padding:13px 7px}.rating strong{font-size:10px}.rating small{font-size:8px}.profile-level{padding:15px}.profile-level .eyebrow{font-size:7px}.profile-level>span{font-size:9px}.field{font-size:11px}.field small{font-size:9px}.modal{padding:23px}.modal-heading h2{font-size:21px}.modal .grid-2{grid-template-columns:1fr}.modal .notice{font-size:12px}.notice{font-size:11px;gap:9px;padding:13px}.notice>.button{font-size:10px}.section-heading.compact h2{font-size:18px}.service-card h3{font-size:14px}.service-card p{font-size:11px}.settings-page .grid-2{grid-template-columns:1fr}.attempt-row{gap:10px}.attempt-row h3{font-size:12px}.attempt-row p{font-size:9px}.attempt-result>strong{font-size:21px}.attempt-result>small{font-size:8px}.error-example{padding:15px}.error-example>.grid-2{grid-template-columns:1fr;gap:0}.error-example>h4{font-size:13px}.error-tag{font-size:17px!important}}@media(max-width:390px){.page-content{padding-left:15px;padding-right:15px}.hero-copy{padding:24px}.hero-copy h2{font-size:31px}.hero-copy .pill{font-size:8px}.stat-card{padding:15px}.stat-card h3{font-size:10px}.stat-top strong{font-size:26px}.skill-card{padding:17px}.skill-card h3{font-size:16px}.skill-card p{font-size:8px}.skill-band span{font-size:7px}.tabs button{font-size:9px;padding:9px 8px}.vocab-grid{grid-template-columns:1fr}.filter-bar select{flex-basis:40%}.card{padding:18px}.plan-summary{flex-direction:column}.plan-progress{padding-left:0;border-left:0;align-self:flex-end;min-width:130px}.settings-page .grid-2{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.self-assessment{padding-top:20px;border-top:1px solid var(--border)}.self-assessment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.placement-history-row{padding:18px 0;border-bottom:1px solid var(--border)}.placement-history-row:first-child{padding-top:0}.placement-history-row:last-child{border-bottom:0;margin-bottom:18px}.placement-history-row h3{margin:0;font-size:14px}.placement-history-result{display:flex;gap:14px;justify-content:space-between;align-items:center;margin:14px 0 10px}.placement-history-result strong{color:var(--teal);font-size:18px}.placement-history-result small{font-weight:400;font-size:11px;color:var(--muted)}.placement-history-row>.row+.row{margin-top:14px}@media(max-width:720px){.placement-history-result{align-items:flex-start;flex-direction:column;gap:9px}.placement-history-result small{display:block}}.skill-card p{font-size:11px}.skill-card small,.skill-band span{font-size:10px}.stat-card p{font-size:11px}.recommendation h3{font-size:13px}.recommendation p{font-size:11px}.content-disclaimer{font-size:10px}.vocab-ipa{font-size:12px}.vocab-card-footer,.save-word,.saved-card-schedule small{font-size:11px}.skill-card p{white-space:normal;min-height:30px}@media(max-width:720px){.skill-card p{font-size:10px}.skill-card small,.skill-band span{font-size:9px}.stat-card p,.vocab-ipa,.vocab-card-footer,.save-word{font-size:10px}}@media(max-width:720px){.self-assessment-grid{grid-template-columns:repeat(2,1fr)}}:root{--ink: #343247;--muted: #625e73;--paper: #fffdfb;--cream: #fffaf5;--border: #e5ddea;--coral: #f27a8f;--coral-soft: #ffe5e9;--fire: #cf405d;--fire-dark: #b32d49;--mint: #def5e9;--forest: #2e725e;--forest-dark: #245b4c;--lilac: #eee6ff;--lilac-dark: #7553ab;--butter: #fff0b6;--gold: #845c19;--shadow: 0 4px 0 #eee6ee, 0 10px 24px #55446508}body{background:radial-gradient(ellipse at 100% 0,#eee6ff70,transparent 42%),radial-gradient(ellipse at 0 100%,#def5e960,transparent 40%),var(--cream);color:var(--ink);text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:Be Vietnam Pro,system-ui,sans-serif;letter-spacing:0;overflow-wrap:break-word;line-height:1.45}h1{font-size:clamp(26px,2.4vw,35px);font-weight:800}h2{font-weight:750}.muted,.small-text,.notice{line-height:1.75}.eyebrow{color:var(--lilac-dark);font-size:11px;letter-spacing:.07em;line-height:1.7}.tiny,.small-text{font-size:12px}button,a,input,select,textarea,summary{touch-action:manipulation}summary:focus-visible{outline:3px solid var(--lilac-dark);outline-offset:4px}.button{min-height:46px;padding:11px 18px;background:var(--fire);border:2px solid var(--fire-dark);border-bottom-width:4px;border-radius:16px;color:#fff;font-size:14px;font-weight:750;box-shadow:0 2px #b32d4912;transition:background .16s,transform .16s,box-shadow .16s}.button:hover:not(:disabled){background:var(--fire-dark);transform:translateY(-2px)}.button:active:not(:disabled){transform:translateY(2px);box-shadow:none}.button.secondary{background:var(--paper);color:var(--ink);border-color:#d9cfe4}.button.secondary:hover:not(:disabled){background:var(--lilac);border-color:#bda5db}.button.light{background:var(--butter);color:#6b501b;border-color:#dec774}.button.light:hover:not(:disabled){background:#ffe68d;border-color:#cfb354}.button.danger{background:#bf3551;border-color:#a62b44;color:#fff}.button.danger.secondary{background:#fff1f3;color:#ae304a;border-color:#edbac5}.button.small{font-size:12px;min-height:40px;padding:8px 13px;border-radius:12px}.text-link,.arrow-label{color:var(--fire-dark);font-weight:700}.icon-button{width:40px;height:40px;border-radius:13px}.icon-button:hover,.icon-link:hover{background:var(--lilac)}.icon-link{border-radius:13px}.card,.stat-card,.skill-card,.vocab-card,.service-card,.error-card{border:2px solid var(--border);background:var(--paper);border-radius:22px;box-shadow:var(--shadow)}.card{padding:26px}.badge{font-size:11px;padding:4px 10px;border-radius:9px;font-weight:650;background:#f1edf6;color:#625476}.badge.reading,.skill-icon.reading,.reading .skill-icon{background:var(--mint);color:var(--forest)}.badge.listening,.skill-icon.listening,.listening .skill-icon{background:#e1efff;color:#3d669b}.badge.writing,.skill-icon.writing,.writing .skill-icon{background:var(--coral-soft);color:#b13d55}.badge.speaking,.skill-icon.speaking,.speaking .skill-icon{background:var(--lilac);color:var(--lilac-dark)}.badge.grammar,.skill-icon.grammar,.grammar .skill-icon{background:var(--butter);color:#85601f}.badge.success{background:var(--mint);color:#28684f}.badge.warning,.badge.due{background:#fff0cf;color:#845c19}.badge.neutral{background:#f1edf6;color:#625476}.notice{border-radius:16px;color:#52644f;background:#f1faf4;border-color:#d3e9da;font-size:13px}.notice.error{color:#a3304a;background:#fff0f3;border-color:#edc2cc}.notice.warning{color:#795817;background:#fff8e0;border-color:#eddea5}.notice.success{color:#2e6952;background:#effaf3;border-color:#bfe4cf}.empty-state,.loading{color:var(--muted)}.empty-icon{background:var(--lilac);border:2px solid #d5c6ec;color:var(--lilac-dark);border-radius:20px}.empty-state h3{color:var(--ink)}.field{font-size:13px;color:var(--ink)}.field small{color:var(--muted);font-size:12px}input,select,textarea{border:2px solid #e4dce9;border-radius:13px;background:#fffefd;color:var(--ink);min-height:46px}input::placeholder,textarea::placeholder{color:#767080}input:disabled{background:#f5f1f7;color:#71687b}input:focus,select:focus,textarea:focus{border-color:var(--lilac-dark)}input[type=checkbox],input[type=radio]{accent-color:var(--lilac-dark)}.page-header{padding-bottom:5px}.page-header>div{max-width:820px}.page-header p:last-child{font-size:14px}.page-stack{gap:29px}.page-content{padding-top:34px}.section-heading.compact{margin-bottom:22px}.sidebar{background:#fffdfb;border-right:2px solid #ede4ef;color:var(--ink);box-shadow:5px 0 22px #55446505;overflow-y:auto}.brand{color:var(--ink);font-size:23px;letter-spacing:0}.brand-mark{position:relative;width:42px;height:44px;background:var(--coral-soft);border:2px solid #f0a8b7;border-radius:15px 15px 18px 18px;color:var(--fire);box-shadow:0 3px #f3d6df}.brand-mark.chibi-brand-mark{width:52px;height:46px;gap:0;padding:2px;background:#fff3f3}.chibi-brand-mark .chibi-pawn{width:29px;height:37px;flex:0 0 29px}.brand-mark.chibi-brand-mark .chibi-pawn:last-child{position:static;padding:0;background:transparent;border-radius:0;margin-left:-9px}.brand-ai{color:var(--fire)}.brand small{font-size:8px;letter-spacing:.08em;color:var(--muted)}.sidebar-caption{font-size:10px;color:#81748f;letter-spacing:.06em;margin-top:31px}.sidebar nav{gap:7px}.nav-item{border:2px solid transparent;min-height:46px;font-size:12px;border-radius:14px;padding:10px 12px;color:#625b70;font-weight:550}.nav-item.active{border-color:#f3bfca;background:var(--coral-soft);box-shadow:0 3px #f8dce3;color:#a62e49;font-weight:750}.nav-item.active svg{color:var(--fire)}.nav-item:hover:not(.active){background:#f5f0fb;color:var(--lilac-dark)}.nav-item.active:hover{background:#ffdae2;color:#a62e49}.nav-dot{background:var(--fire);width:6px;height:6px}.sidebar-goal{background:var(--butter);border:2px solid #ecdb98;border-radius:18px;box-shadow:0 3px #f5e8ba}.sidebar-goal p,.sidebar-goal a{color:#745920;font-size:11px}.sidebar-goal strong{color:#674d16;font-weight:800;letter-spacing:0}.sidebar-goal>svg{color:#a47723}.sidebar-user{border-color:#ede4ef}.sidebar-user strong{color:var(--ink);font-size:12px}.sidebar-user small{color:var(--muted);font-size:10px}.sidebar-user .icon-button:hover{background:var(--lilac)}.avatar,.avatar.small{border:2px solid #d6c5ec;background:var(--lilac);color:#725396}.avatar.chibi-avatar{background:#f3edff;overflow:hidden}.chibi-avatar .chibi-pawn{display:block;width:34px;height:36px;flex:0 0 34px;margin-top:5px}.avatar.small.chibi-avatar .chibi-pawn{width:30px;height:32px;flex-basis:30px;margin-top:4px}.topbar{background:#fffdfbe8;border-color:#eee5ef;font-size:12px}.topbar-note{color:var(--muted)}.topbar-right{color:var(--muted);font-size:11px}.status-dot{background:#459c7b;width:7px;height:7px;box-shadow:0 0 0 3px #def5e9}.element-pair{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;background:#fff5eb;border:1px solid #f2dfce;border-radius:12px}.element-pair svg:first-child{color:var(--fire)}.element-pair svg:last-child{color:var(--forest)}.site-footer{font-size:11px;color:var(--muted);background:#fffdfb9c}.dashboard-hero{grid-template-columns:1.12fr 1fr;background:linear-gradient(125deg,#fff0b6,#ffe9e1 65%,#ffe7ef);color:var(--ink);border:2px solid #f2d4cc;border-radius:28px;box-shadow:0 5px #f3dfdd}.hero-copy{padding:33px 32px}.hero-copy h2{font-family:inherit;font-size:clamp(27px,2.4vw,36px);font-weight:800;line-height:1.5;letter-spacing:0;margin-top:18px}.hero-copy h2 em{color:var(--fire-dark);font-weight:800;font-style:normal}.hero-copy p{color:#6c5361;font-size:14px;max-width:430px}.hero-copy .button{font-size:13px;min-height:46px}.hero-note{color:#6c5361;font-size:12px;align-items:flex-start;line-height:1.7}.pill{font-size:11px;letter-spacing:.04em;color:#7b4b52;background:#ffffffa8;border:1px solid #edc9cf;padding:7px 11px}.hero-art{display:flex;padding:22px;background:linear-gradient(150deg,#e4f5e7,#e9e5fb);min-height:300px}.campaign-world{display:block;max-width:100%;height:auto;object-fit:contain;border-radius:20px}.hero-art .learning-illustration,.hero-art .campaign-world{width:100%;max-width:none;margin:0;transform:none}.hero-art-tag{font-family:inherit;font-style:normal;color:#765891;right:24px;top:22px;font-size:11px;background:#fffdfbef;padding:9px 13px;border:2px solid #d8c7ed;border-radius:14px;box-shadow:0 3px #dcd3e7;transform:rotate(3deg)}.hero-art-tag strong{display:block;margin-top:3px;color:#73539a;font-size:18px;font-weight:800}.hero-art-note{bottom:21px;padding:7px 11px;background:#fffdfbf2;color:#386e59;font-size:11px;border-radius:10px;letter-spacing:0}.stat-card{border-top:5px solid #f0889a;padding:21px}.stat-card:nth-child(2){border-top-color:#84c9a9}.stat-card:nth-child(3){border-top-color:#b7a0e1}.stat-card:nth-child(4){border-top-color:#eacb6d}.stat-top>span{background:var(--coral-soft);color:var(--fire);border-radius:14px}.stat-card:nth-child(2) .stat-top>span{background:var(--mint);color:var(--forest)}.stat-card:nth-child(3) .stat-top>span{background:var(--lilac);color:var(--lilac-dark)}.stat-card:nth-child(4) .stat-top>span{background:var(--butter);color:var(--gold)}.stat-top strong{color:var(--ink);font-size:30px;letter-spacing:0;line-height:1.3;font-weight:800}.stat-card h3{font-size:12px;line-height:1.6}.stat-card p{font-size:12px;color:var(--muted)}.skill-card{border-bottom:5px solid #d6eadf}.skill-card.listening{border-bottom-color:#d2e4fa}.skill-card.writing{border-bottom-color:#f5d1db}.skill-card.speaking{border-bottom-color:#dfd2f5}.skill-card:hover{border-color:#c8b8df;box-shadow:0 6px #eee6f2,0 12px 25px #5544650b}.skill-icon{background:var(--mint);color:var(--forest);width:45px;height:45px;border-radius:15px}.skill-card-top>svg{color:#93879e}.skill-card h3{font-size:18px}.skill-card p{font-size:13px;white-space:normal;color:var(--muted);min-height:42px}.skill-card small,.skill-band span{color:var(--muted);font-size:11px}.skill-band strong{letter-spacing:0;font-weight:750}.skill-progress{background:#f0ebf2;height:7px}.skill-progress span{background:#77bb97}.listening .skill-progress span{background:#83b1e3}.writing .skill-progress span{background:#ed8b9e}.speaking .skill-progress span{background:#b29adc}.recommendation{padding:16px 0;border-color:#eee6f1}.recommendation h3{font-size:14px;letter-spacing:0}.recommendation p{font-size:12px;color:var(--muted)}.recommendation .badge{font-size:10px;padding:3px 8px}.recommendation>.icon-button{width:36px;height:36px}.content-disclaimer{background:#f7f3fa;color:#6d617c;font-size:11px;border-radius:10px;padding:10px 12px}.quiet-note{font-size:12px;color:var(--muted);line-height:1.75}.attempt-row{border-color:#eee6f1}.attempt-row>div:first-child{min-width:0;overflow-wrap:anywhere}.attempt-row p,.attempt-result>small{font-size:11px;color:var(--muted)}.attempt-row h3{font-size:14px}.attempt-result>strong{color:var(--lilac-dark);font-weight:750}.placement-history-row>.row{flex-wrap:wrap}.campaign-banner{display:flex;align-items:center;gap:23px;padding:25px 28px;background:linear-gradient(120deg,#e6f7ed,#f3edff);border:2px solid #d7e5e0;border-bottom:5px solid #dce8e0;border-radius:24px;overflow:hidden}.campaign-banner-copy{flex:1;min-width:0}.campaign-banner .eyebrow,.campaign-banner-eyebrow{color:#78519f;margin-bottom:7px}.campaign-banner-eyebrow{font-size:11px;font-weight:700;letter-spacing:.07em}.campaign-banner h2{font-size:23px;margin-bottom:8px;color:var(--ink)}.campaign-banner p{font-size:14px;color:#5d6570;margin-bottom:0;max-width:720px}.campaign-banner-art{width:145px;height:118px;flex-shrink:0}.campaign-banner-relic{width:145px;flex-shrink:0}.campaign-banner-relic svg{display:block;width:100%;height:auto}.campaign-banner-details{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:15px}.campaign-banner-details span{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#52655c}.campaign-flashcard-eyebrow{color:var(--fire-dark);font-size:11px;font-weight:700;letter-spacing:.05em}.campaign-plan-summary{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:22px}.campaign-plan-summary>.campaign-relic{width:110px;height:auto}.plan-progress strong{color:var(--lilac-dark)}.plan-progress strong span,.plan-progress p,.plan-day-label small{color:var(--muted)}.plan-progress p{font-size:12px}.plan-task{background:var(--paper);border:2px solid var(--border);border-radius:18px}.task-check{border:2px solid #ded3e9;border-radius:8px;color:var(--forest)}.completed .task-check{background:var(--mint);border-color:#a3d6b9}.plan-task-content p,.task-duration{color:var(--muted);font-size:11px}.plan-task-content h3{font-size:14px}.plan-task.completed h3{color:#627f6e}.filter-bar,.tabs,.auth-tabs{background:#f8f3fc;border:2px solid #e7ddef;border-radius:16px}.filter-bar{padding:15px}.tabs button,.auth-tabs button,.filter-chip{color:#6c5f7f;border-radius:11px;font-size:13px}.tabs button.active,.tabs button.selected,.auth-tabs button.selected,.filter-chip.active{background:#fff;color:var(--lilac-dark);box-shadow:0 3px #e3d6f0;font-weight:750}.filter-bar select,.search-field input{font-size:13px;min-height:44px}.search-field>svg{color:#8d7a9e}.vocab-card{border-bottom:5px solid #e0d4f0;padding:22px}.vocab-word,.flashcard-word{color:var(--ink);font-weight:750}.vocab-ipa,.vocab-card-footer{color:var(--muted);font-size:12px}.vocab-card-footer{border-color:#eee5f2}.save-word{font-size:12px;background:var(--mint);color:var(--forest);border:1px solid #bfe2cd;border-radius:10px;min-height:34px;padding:6px 10px}.save-word.saved{color:#587c65}.pagination,.saved-card-schedule small,.review-heading{color:var(--muted);font-size:12px}.flashcard{background:linear-gradient(135deg,#fff8df,#fffdf7);border:2px solid #efdda0;border-radius:26px;box-shadow:0 5px #f3e4b8}.flashcard h2,.flashcard-front h2{font-family:inherit;font-weight:800;letter-spacing:0;color:var(--ink)}.flashcard>p,.flashcard .button{font-size:13px}.rating{border-width:2px;border-radius:15px;border-bottom-width:4px;background:var(--paper);transition:transform .15s}.rating strong{font-size:13px}.rating small{color:var(--muted);font-size:11px}.rating-1{background:#fff0f3;color:#a7334a;border-color:#edc3cd}.rating-2{background:#fff8df;color:#805a1b;border-color:#ecdda9}.rating-3{background:#eefaf3;color:#28684f;border-color:#bee4ce}.rating-4{background:#f3edff;color:#72539e;border-color:#d4c4eb}.history-table th{background:var(--lilac);color:#5f4980}.history-table td{border-color:#eee4f2}.profile-level{background:var(--lilac);border:2px solid #ddceef;border-radius:18px}.profile-level strong{color:var(--lilac-dark);font-weight:800}.profile-level>span{font-size:12px;color:var(--muted)}.service-card{background:#fffdfb;border-bottom:4px solid #dbebdf;box-shadow:none;padding:22px}.service-card h3{font-size:15px}.service-card p{color:var(--muted);font-size:13px}.error-example{background:#fffaf7;border-color:#eee0df;border-radius:15px}.wrong-answer{color:#b03451}.correct-answer{color:#28684f}.modal{background:var(--paper);color:var(--ink);border:2px solid #d9cae8;border-radius:24px;box-shadow:0 20px 70px #3c284c33;padding:28px;overflow-y:auto}.modal::backdrop{background:#3c304b73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal blockquote{background:#f6f0fc;color:#66517d;border-color:#b49bd9;border-radius:0 12px 12px 0}.auth-story{background:linear-gradient(145deg,#fff0b6,#ffe7e7 58%,#eee6ff);padding:35px 8%;color:var(--ink)}.auth-story-content{padding-top:36px}.auth-story h1{font-family:inherit;font-weight:800;font-size:clamp(29px,3vw,44px);line-height:1.5;letter-spacing:0;margin-top:21px;margin-bottom:20px}.auth-story h1 em{color:var(--fire-dark);font-weight:800;font-style:normal}.auth-story-content>p{color:#6b5569;font-size:15px;max-width:470px}.auth-feature{color:#6b5569;font-size:13px;margin:13px 0}.auth-feature svg{color:var(--fire)}.auth-story .learning-illustration{display:block;width:100%;max-width:520px;border:3px solid white;border-radius:24px;margin-top:27px;box-shadow:0 5px #e3cfde}.auth-story-footer{color:#765f7a;font-size:12px;margin-top:26px}.auth-panel{background:radial-gradient(circle at 85% 12%,#e9defb8c,transparent 40%),var(--cream)}.auth-box{max-width:455px;padding:34px;border:2px solid #e4d8eb;border-bottom:5px solid #e3d6ec;border-radius:27px;background:var(--paper);box-shadow:0 18px 40px #73568808}.auth-box>h2{font-size:28px;color:var(--ink);font-weight:800}.auth-box>.muted{font-size:14px}.auth-demo-note,.auth-bottom,.auth-divider{color:var(--muted);font-size:12px}.auth-divider,.auth-bottom{border-color:#eee5f2}.auth-divider span{background:var(--paper)}.auth-form input{font-size:15px;min-height:49px}.auth-tabs{padding:5px}.boot-screen{background:linear-gradient(135deg,#fff0b6,#ffe6ed,#eee6ff)}.boot-screen .loading{color:var(--muted)}.library-intro{background:linear-gradient(120deg,#def5e9,#f0eaff 70%);border:2px solid #d6e7df;border-radius:26px;box-shadow:0 5px #dfe8e6;padding:29px 32px}.library-intro h2{color:var(--ink);font-weight:800}.library-intro p{color:#53695f}.library-intro .badge{background:#fff;color:var(--forest);border:1px solid #c2dfcd;border-radius:10px;padding:6px 11px}.campaign-intro-art.chibi-intro-art{border-radius:20px;margin:0;object-fit:cover;border:3px solid #fffdfb;box-shadow:0 4px #d3e1dd}.exam-intro{background:linear-gradient(125deg,#eee6ff,#ffe5e9 70%);border-color:#e2d3ef;box-shadow:0 5px #e6ddec}.exam-intro h2{color:var(--ink)}.exam-intro p{color:#6a5878}.exam-intro .badge{background:#fff;color:#78539c;border-color:#dac7eb}.learning-disclaimer{color:var(--muted)}.learning-skill-tabs{border-color:#e8deee;gap:9px;padding-bottom:16px}.learning-skill-tabs button{background:var(--paper);border:2px solid #e1d7eb;border-bottom-width:4px;border-radius:14px;color:#6b5b7b;padding:10px 16px;font-weight:600}.learning-skill-tabs button:hover{background:#f5efff;color:var(--lilac-dark);border-color:#cdb9e7}.learning-skill-tabs button.active,.learning-skill-tabs button.active:hover{background:var(--lilac);border-color:#c4acdf;color:#67418e;box-shadow:none;font-weight:750}.content-card{background:var(--paper);border-color:var(--border);border-radius:22px;box-shadow:var(--shadow)}.content-card:hover{border-color:#c4addd;box-shadow:0 6px #e8dbf1}.content-art{background:var(--mint);border-bottom-color:#e2dbe7;color:var(--forest)}.listening .content-art{background:#e1efff;color:#3d669b}.writing .content-art{background:var(--coral-soft);color:#b13d55}.speaking .content-art{background:var(--lilac);color:var(--lilac-dark)}.grammar .content-art{background:var(--butter);color:#85601f}.content-skill-token{background:var(--paper);border-color:#d4e3d6;border-radius:20px;box-shadow:0 4px #c4dcd1}.listening .content-skill-token{border-color:#bfd5ed;box-shadow:0 4px #bfd3e7}.writing .content-skill-token{border-color:#efb9c7;box-shadow:0 4px #ecc6d0}.speaking .content-skill-token{border-color:#d5c0eb;box-shadow:0 4px #d4c4e4}.grammar .content-skill-token{border-color:#e4d39e;box-shadow:0 4px #e5d7ad}.content-art-number{background:#fffdfbea;color:#765d90;border:1px solid #ded0ec;border-radius:9px}.content-card h3{color:var(--ink)}.content-card p,.content-card-meta{color:var(--muted)}.content-card .button{font-size:13px}.content-card .button.secondary{background:var(--fire);color:#fff;border:2px solid var(--fire-dark);border-bottom-width:4px;border-radius:13px;box-shadow:none}.content-card .button.secondary:hover{background:var(--fire-dark)}.resume-item{color:var(--ink);border-color:#e7ddec}.resume-item small{color:var(--muted)}.exam-format-grid>div{background:var(--paper);border:2px solid var(--border);border-top:5px solid #f0889a;border-radius:18px;box-shadow:var(--shadow)}.exam-format-grid>div:nth-child(2){border-top-color:#84c9a9}.exam-format-grid>div:nth-child(3){border-top-color:#b7a0e1}.exam-format-grid>div:nth-child(4){border-top-color:#eacb6d}.exam-format-grid strong{color:var(--ink)}.exam-format-grid span,.learning-breadcrumb{color:var(--muted)}.learning-breadcrumb a{color:var(--lilac-dark)}.learning-heading-icon{background:var(--lilac);border-color:#ddceef;color:var(--lilac-dark);border-radius:15px}.attempt-toolbar{border-color:#e1d6eb;background:var(--paper);border-radius:18px;box-shadow:0 3px #eee6f2}.attempt-toolbar>.row,.draft-status{color:var(--muted)}.draft-status.pending,.draft-status.saving,.draft-status.error{color:#ad3350}.attempt-timer{color:var(--lilac-dark)}.time-warning{border-color:#edc2cc;background:#fff4f5}.time-warning .attempt-timer{color:#ad3350}.section-tabs button{border:2px solid #e4d9ed;background:var(--paper);color:#645274;border-radius:14px}.section-tabs button span{color:var(--muted)}.section-tabs button.active{background:var(--lilac);border-color:#c4acdf;color:#64408a}.section-tabs button.active span{color:#72558d}.practice-band-guide{border-color:#e9dba7;background:#fff8e2;color:#71591e;border-radius:16px}.practice-band-guide summary{color:#79571a}.practice-band-guide summary:hover{color:#674615}.passage-card,.questions-card,.writing-prompt,.writing-editor{border-radius:20px;box-shadow:0 3px #eee6ee}.reading-passage,.practice-question legend,.writing-editor textarea{color:var(--ink)}.passage-instructions,.prompt-instructions,.question-limit,.listening-player p,.listening-player small{color:var(--muted)}.question-number{background:var(--butter);color:#795a1c;border-color:#e0ca81;border-radius:9px}.answer-option{border:2px solid #e4d9ec;background:var(--paper);color:var(--ink);border-radius:13px}.answer-option:hover{border-color:#c9b0e2;background:#fcf9ff}.answer-option.selected{border-color:#a4cbb6;background:#edf9f2;color:#2c614d}.answer-option input{accent-color:var(--forest)}.option-letter{background:#f0eafa;color:#72558d;border-radius:9px}.selected .option-letter{background:#ccebd9;color:#2c614d}.question-feedback{background:#effaf3;border-color:#c6e5d2;color:#2e6952;border-radius:13px}.practice-question.incorrect .question-feedback{background:#fff2f4;border-color:#edc2cc;color:#a3334b}.question-feedback blockquote{border-color:#aacbb9}.listening-player{background:#f4efff;border-color:#e0d3ef}.listening-symbol{color:#8161aa}.audio-wave i{background:#b39ad7}.transcript-lock,.transcript-lock h3,.transcript-lock p{color:var(--muted)}.word-counter{color:#a3334b}.word-counter.complete{color:var(--forest)}.editor-footer{color:var(--muted)}.writing-editor textarea{background:#fffefd;border-color:#e5dbea}.submit-bar{background:#f2eaff;border-color:#deceed;border-radius:18px}.submit-bar strong{color:var(--ink)}.submit-bar p{color:var(--muted)}.cue-points{background:#f7f2fc;color:#665176;border-radius:14px}.recording-orb{background:var(--lilac);border-color:#d9c5ef;color:var(--lilac-dark);box-shadow:0 0 0 10px #f7f1ff}.recording-orb.recording{color:#ad3350;background:var(--coral-soft);border-color:#efb8c7}.recording-playback{background:#f7f2fc;border-color:#e0d1ed;border-radius:14px}.recording-playback label,.transcript-field small{color:var(--muted)}.feedback-score{border-color:#e5d9ed;color:var(--muted)}.feedback-score>strong{color:var(--lilac-dark)}.feedback-score>strong small,.feedback-summary p,.feedback-summary small,.criteria-grid p,.criteria-grid small,.criterion-heading strong{color:var(--muted)}.feedback-section blockquote{background:#f8f3fc;color:#665576;border-color:#c5afdf}.correction-list>div,.paragraph-feedback>div{background:#fffdfb;border-color:#e7ddec;border-radius:16px}.correction-original{color:#a3334b}.correction-suggestion{color:#28684f}.correction-list>div>p,.paragraph-feedback p{color:var(--muted)}.feedback-transcript{color:var(--ink)}.acoustic-grid>div{background:#f5f0fb;border-radius:14px}.acoustic-grid strong,.acoustic-grid small,.acoustic-grid span{color:var(--muted)}.answer-review details{border-color:#e5d9ed;border-radius:15px;background:var(--paper)}.answer-review summary,.answer-review details>div{color:var(--muted)}.answer-review summary>span:nth-child(3),.answer-review-body h4,.reference-answer h4,.reference-answer h5{color:var(--ink)}.answer-result-icon{background:var(--mint);color:var(--forest);border-radius:9px}.answer-result-icon.incorrect{background:var(--coral-soft);color:#a3334b}.answer-review-options li{border-color:#e7ddec}.answer-review-options .answer-option-correct{background:#edf9f2;border-color:#bdddc9;color:#28684f}.answer-comparison{border-color:#e994a8;background:#fff3f5;border-radius:0 12px 12px 0}.answer-correct-value{color:#28684f}.answer-context>div,.reference-answer{background:#faf6fd;border-color:#e5d9ed;color:var(--muted);border-radius:14px}.reference-answer-notice{background:#fff8df;border-color:#e4cb80;color:#74591d;border-radius:0 12px 12px 0}.reference-sample{background:#fffefd;border-color:#e6ddec;color:var(--ink);border-radius:12px}.reference-response+.reference-response{border-color:#e7ddec}.lesson-word-grid>div{border-color:#e5d9ed;border-radius:14px}.lesson-word-grid strong{color:var(--ink)}.lesson-word-grid span,.lesson-word-grid p{color:var(--muted)}.placement-hero{background:linear-gradient(130deg,#fff0b6,#ffe9e2);border-color:#edd8ae;border-radius:27px;box-shadow:0 5px #f0e2c5}.placement-hero h2{color:var(--ink);font-weight:800}.placement-hero h2 em{color:var(--fire-dark)}.placement-hero>div>p:not(.eyebrow){color:#745c55}.placement-hero .notice{background:#fffdfbae;color:#745c55;border-color:#ecdbc6}.placement-orbit{border-color:#d4bde9;background:#eee6ff;box-shadow:0 6px #d3bde6,inset 0 0 0 7px #f9f4ff}.placement-orbit:before{border-color:#c5abdf}.placement-orbit>span{background:var(--paper);border-color:#d6c0e8;color:var(--lilac-dark);box-shadow:0 3px #d9c8e7;border-radius:16px}.placement-orbit>span:nth-child(2){background:var(--mint);color:var(--forest)}.placement-orbit>span:nth-child(3){background:var(--coral-soft);color:var(--fire)}.placement-orbit>span:nth-child(4){background:var(--butter);color:var(--gold)}.placement-orbit>div{color:var(--lilac-dark)}.placement-options .card{border-top-color:#ee8da0}.placement-options .card:nth-child(2){border-top-color:#90c9a9}.placement-options h2,.placement-question>h2{color:var(--ink)}.placement-options p,.placement-options ul,.placement-progress{color:var(--muted)}.progress-track{background:#f0eafa;height:8px}.progress-track span{background:#a18bcc}.placement-passage,.placement-listening{background:var(--paper);border-color:#e5d9ed;border-radius:15px}.placement-listening,.placement-listening p,.placement-listening small{color:var(--muted)}.placement-complete h2{color:var(--lilac-dark)}.placement-complete,.placement-complete>p:not(.eyebrow){color:var(--muted)}@media(min-width:1500px){.hero-copy{padding:39px}.hero-copy h2{font-size:39px}}@media(max-width:1190px){.hero-copy{padding:27px}.hero-copy h2{font-size:29px}.auth-story{padding:30px}.auth-box{padding:27px}.nav-item{font-size:11px;gap:9px;padding:10px}.stat-card{padding:18px}}@media(max-width:950px){.dashboard-hero{grid-template-columns:1fr}.hero-art{display:flex;min-height:0;padding:18px;max-height:330px;overflow:hidden}.hero-art .campaign-world{width:100%;height:290px;object-fit:contain}.hero-art-tag,.hero-art-note,.element-pair{display:none}.auth-story h1{font-size:31px}.auth-feature{font-size:13px}.campaign-plan-summary{grid-template-columns:75px 1fr}.campaign-plan-summary>.campaign-relic{width:75px}.campaign-plan-summary .plan-progress{grid-column:1 / -1;border:0;padding-left:0}}@media(max-width:720px){.mobile-bar{background:#fffdfb;color:var(--ink);border-bottom:2px solid #eee3f2;padding:0 17px}.mobile-bar .brand{font-size:20px}.mobile-bar .brand small{font-size:7px}.mobile-bar .brand-mark{width:48px;height:37px;border-radius:12px}.mobile-bar .chibi-brand-mark .chibi-pawn{width:26px;height:33px;flex-basis:26px}.mobile-bar .icon-button:hover{background:var(--lilac)}.menu-overlay{background:#44364c55;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar{width:278px}.sidebar-caption{margin-top:0}.nav-item{font-size:13px;min-height:48px;gap:12px;padding:10px 13px}.sidebar-goal{margin:21px 6px}.sidebar-user{padding-bottom:12px}.topbar{padding:0 17px}.topbar-note,.topbar-right{font-size:10px}.topbar-note{max-width:calc(100% - 120px);line-height:1.6}.page-content{padding:26px 17px 38px}.page-header{gap:14px}.page-header h1{font-size:27px}.page-header p:last-child{font-size:14px}.page-header .eyebrow{font-size:11px}.page-stack{gap:25px}.card{padding:21px;border-radius:20px}.dashboard-hero{border-radius:23px}.hero-copy{padding:25px}.hero-copy h2{font-size:29px}.hero-copy p{font-size:14px}.hero-copy .button{font-size:13px}.hero-note{font-size:11px}.hero-art{padding:16px}.hero-art .campaign-world{height:245px}.stats-grid,.skills-grid{gap:13px}.stat-card{padding:16px;border-radius:18px}.stat-card h3{font-size:12px}.stat-card p{font-size:11px}.stat-top strong{font-size:27px}.stat-top>span{padding:7px}.skill-card{padding:18px;border-radius:20px}.skill-card h3{font-size:17px}.skill-card p{font-size:12px;line-height:1.7;min-height:41px}.skill-card small,.skill-band span{font-size:11px}.skill-card-top{margin-bottom:17px}.skill-band strong{font-size:27px}.section-heading{gap:13px;flex-wrap:wrap}.section-heading h2{font-size:22px}.section-heading>.text-link{font-size:12px}.recommendation h3{font-size:14px}.recommendation p,.quiet-note{font-size:12px}.attempt-row h3{font-size:13px}.attempt-row p,.attempt-result>small{font-size:11px}.campaign-banner{padding:22px;gap:14px;border-radius:22px;align-items:flex-start}.campaign-banner h2{font-size:21px}.campaign-banner p{font-size:13px}.campaign-banner-art,.campaign-banner-relic{width:77px;height:auto}.campaign-banner-details{gap:8px 12px}.campaign-banner-details span{font-size:11px}.plan-summary{padding:22px}.plan-summary .muted{font-size:13px}.plan-summary .badge{font-size:11px}.plan-task>.button{font-size:12px}.plan-task-content h3{font-size:14px}.plan-task-content p{font-size:12px}.tabs button,.auth-tabs button{font-size:12px;padding:10px 12px}.tabs .badge{font-size:10px;padding:3px 7px}.filter-bar{padding:12px}.filter-bar select,.search-field input,.filter-bar .button{font-size:13px}.vocab-grid{grid-template-columns:1fr;gap:17px}.vocab-card{padding:22px}.vocab-word{font-size:23px}.vocab-meaning{font-size:14px}.vocab-ipa,.vocab-card-footer,.save-word{font-size:12px}.review-ratings{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.rating{padding:14px}.rating strong{font-size:13px}.rating small{font-size:11px}.review-heading,.review-heading .badge{font-size:12px}.profile-level .eyebrow{font-size:10px}.profile-level>span{font-size:12px}.service-card h3{font-size:15px}.service-card p,.field,.field small{font-size:13px}.modal{padding:23px;border-radius:22px}.modal .notice,.notice{font-size:13px}.notice>.button{font-size:12px}.site-footer{padding:21px 17px;font-size:11px;line-height:1.8}.auth-layout{display:flex;flex-direction:column}.auth-story{display:flex;padding:26px 24px}.auth-story-content{padding-top:17px}.auth-story-content .pill{font-size:10px}.auth-story h1{font-size:28px;margin:18px 0 13px}.auth-story-content>p{font-size:14px;margin-bottom:16px}.auth-story .learning-illustration{display:block;max-width:390px;margin:21px auto 0}.auth-story-footer{display:flex;margin-top:18px;font-size:11px}.auth-panel{padding:27px 17px 42px}.auth-box{padding:27px;max-width:455px;border-radius:24px}.auth-box>.eyebrow{font-size:10px}.auth-box>h2{font-size:25px}.auth-form input,.field input,.field select,.field textarea{font-size:16px}.auth-form .grid-2,.campaign-settings .grid-2{grid-template-columns:1fr}.auth-bottom{font-size:11px;flex-wrap:wrap}.library-intro{padding:23px;border-radius:23px}.library-intro h2{font-size:25px}.library-intro p{font-size:14px}.campaign-intro-art.chibi-intro-art{width:100%;max-width:330px;margin-top:20px}.learning-skill-tabs{gap:9px}.learning-skill-tabs button{min-height:46px;font-size:13px}.content-card{border-radius:22px}.content-card-body{padding:22px}.content-card h3{font-size:19px}.content-card p{font-size:14px}.content-card-meta{font-size:12px}.content-card .button{font-size:13px}.exam-format-grid>div{border-radius:16px}.section-tabs button{font-size:12px}.placement-hero{border-radius:23px}.placement-options p,.placement-options ul{font-size:14px}}@media(max-width:480px){.campaign-banner{flex-wrap:wrap}.campaign-banner-copy{flex-basis:calc(100% - 95px)}.campaign-banner>.button{width:100%}.campaign-plan-summary{grid-template-columns:64px minmax(0,1fr);gap:16px}.campaign-plan-summary>.campaign-relic{width:64px}.plan-summary.campaign-plan-summary{display:grid}.campaign-plan-summary .plan-progress{width:100%;min-width:0;align-self:stretch}.skills-grid{grid-template-columns:1fr}.skill-card p{min-height:0}.skill-card{padding:22px}.skill-card-top{margin-bottom:13px}.skill-card small{font-size:12px}.skill-icon{width:46px;height:46px}.hero-copy{padding:24px}.hero-copy h2{font-size:28px}.hero-copy .pill{font-size:10px;letter-spacing:.02em}.tabs button{font-size:12px;white-space:normal}.page-header>.button{width:100%}.placement-page .grid-2,.self-assessment-grid,.exam-format-grid{grid-template-columns:1fr}.notice{flex-wrap:wrap}.notice>.button{width:100%;margin-left:0}.flashcard{padding:32px 22px}.flashcard-sound{top:16px;right:16px}.auth-box{padding:25px 22px}}@media(prefers-reduced-motion:reduce){.button,.skill-card,.content-card,.rating,.hero-art-tag{transform:none}.button:hover:not(:disabled),.button:active:not(:disabled),.skill-card:hover,.content-card:hover,.rating:hover{transform:none}}
