/* English Compass AI | Practice Anywhere
   Essential UI uses system fonts, no images, no CDNs and no tracking. */
:root{--a-ink:#143b3b;--a-deep:#103c3a;--a-green:#137566;--a-soft:#e9f6ee;--a-line:#d5e6dc;--a-muted:#5e746d;--a-gold:#c79447}
.ec-anywhere{margin:0;background:#f8fbf8;color:var(--a-ink);font:15px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.ec-anywhere *{box-sizing:border-box}
.ec-anywhere button,.ec-anywhere input,.ec-anywhere select,.ec-anywhere textarea{font:inherit}
.ec-anywhere a{color:var(--a-green);text-decoration:none}
.ec-anywhere button{cursor:pointer}
.ec-anywhere button:focus-visible,.ec-anywhere a:focus-visible,.ec-anywhere textarea:focus-visible,.ec-anywhere input:focus-visible,.ec-anywhere select:focus-visible{outline:3px solid #dca04f;outline-offset:3px}
.ec-anywhere .ea-skip{position:absolute;top:-80px;left:12px;background:#fff;padding:10px;z-index:15}
.ec-anywhere .ea-skip:focus{top:12px}
.ea-wrap{width:min(1130px,calc(100% - 34px));margin:auto}
.ea-header{background:white;border-bottom:1px solid var(--a-line)}
.ea-header-inner{display:flex;gap:16px;min-height:66px;align-items:center;justify-content:space-between}
.ea-logo{font-size:21px;font-weight:900;letter-spacing:-1px;color:var(--a-ink)!important;white-space:nowrap}
.ea-logo span{color:var(--a-green)}
.ea-header-links{display:flex;align-items:center;gap:15px;flex-wrap:wrap;font-size:12px;font-weight:800}
.ea-header-links a{padding:6px}
.ea-kicker{display:block;color:#147262;font-size:11px;font-weight:900;letter-spacing:1.15px}
.ea-hero{padding:55px 0 36px;background:linear-gradient(150deg,#e4f4e9,#f8fbf8);border-bottom:1px solid var(--a-line)}
.ea-hero h1{font:normal clamp(34px,5vw,56px)/1.1 Georgia,serif;letter-spacing:-.8px;color:#153f3c;margin:13px 0 15px;max-width:760px}
.ea-hero p{font-size:15px;line-height:1.8;max-width:780px;color:#517168;margin:0 0 19px}
.ea-hero-tags{display:flex;gap:10px;flex-wrap:wrap}
.ea-hero-tags span{border:1px solid #c3e1ce;background:white;padding:7px 11px;border-radius:99px;font-weight:850;color:#346c5b;font-size:11px}
.ea-board{display:grid;grid-template-columns:minmax(260px,.38fr) minmax(0,.62fr);gap:22px;align-items:start;padding:32px 0}
.ea-panel{background:white;border:1px solid var(--a-line);border-radius:19px;padding:24px}
.ea-side{display:grid;gap:18px}
.ea-side h2{font:normal 27px Georgia,serif;margin:0 0 11px}
.ea-control{display:grid;gap:5px;margin:0 0 14px}
.ea-control label{font-size:12px;font-weight:850;color:#315a50}
.ea-control select{width:100%;border:1px solid #bfd6ca;border-radius:11px;background:white;padding:11px;color:#17483e;min-height:45px;font-size:13px}
.ea-action{min-height:44px;border:1px solid transparent;border-radius:11px;padding:11px 16px;font-size:13px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}
.ea-action.primary{background:var(--a-green);color:white}
.ea-action.secondary{background:#f3faf4;color:var(--a-green);border-color:#b6d5c7}
.ea-action.plain{background:white;color:#4d6c62;border-color:#d0e2d7}
.ea-actions{display:flex;gap:9px;flex-wrap:wrap}
.ea-panel-small{background:#f0f8f1;border-radius:14px;padding:16px}
.ea-panel-small p{font-size:12px;line-height:1.75;color:#537169;margin:5px 0}
.ea-panel-small strong{font-size:14px}
.ea-audio-note{font-size:11px;color:#64796f;margin:8px 0}
.ea-section-title{font-size:11px;letter-spacing:1px;font-weight:900;color:#167667}
.ea-chat-top{display:flex;align-items:start;justify-content:space-between;gap:15px}
.ea-step{font-size:12px;font-weight:900;color:#266957}
.ea-progress-track{height:8px;border-radius:99px;background:#e2ede5;overflow:hidden;margin:13px 0 25px}
.ea-progress-fill{height:100%;background:#229c7b;border-radius:99px;transition:width .2s}
.ea-chat-prompt{background:#e9f5ec;border:1px solid #cbe1d3;border-radius:17px 17px 17px 3px;padding:22px;line-height:1.65}
.ea-chat-prompt strong{display:block;font-size:11px;letter-spacing:1px;color:#357764;margin-bottom:8px}
.ea-chat-prompt p{font:normal clamp(19px,2.4vw,25px)/1.5 Georgia,serif;color:#153d39;margin:0}
.ea-help{font-size:12px;color:#627b6e;background:#f5faf6;padding:11px 13px;border-radius:11px;margin:14px 0}
.ea-reply{margin-top:20px}
.ea-reply label{display:block;font-weight:900;margin-bottom:8px;color:#22564b}
.ea-reply textarea{width:100%;resize:vertical;min-height:115px;border:1px solid #bcd3c8;border-radius:14px;padding:15px;font-size:15px;line-height:1.7;color:#1a443b}
.ea-reply small{font-size:11px;color:#6e8277}
.ea-chat-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}
.ea-feedback{margin-top:20px;border-radius:15px;background:#f4f8ef;border:1px solid #d8e7d3;padding:19px}
.ea-feedback strong{font-size:13px;color:#205849}
.ea-feedback p{font-size:13px;margin:8px 0;color:#4f695e;line-height:1.75}
.ea-example{margin-top:12px;padding:14px;background:white;border:1px solid #d4e6d7;border-radius:12px}
.ea-example span{display:block;font-size:11px;font-weight:900;color:#53705c;margin-bottom:6px}
.ea-example p{font-size:16px;line-height:1.6;color:#21463d}
.ea-selfreview{border:0;padding:0;margin:15px 0}
.ea-selfreview legend{font-weight:900;font-size:12px}
.ea-selfreview label{font-size:12px;display:flex;gap:9px;align-items:start;margin:7px 0}
.ea-selfreview input{width:17px;height:17px;margin-top:2px;accent-color:var(--a-green)}
.ea-success{padding:10px 0;text-align:center}
.ea-success h2{font:normal 34px Georgia,serif;margin:10px 0}
.ea-success p{line-height:1.75;color:#567166;font-size:14px}
.ea-day{padding:31px 0}
.ea-day h2{font:normal 30px Georgia,serif;margin:0 0 10px}
.ea-day p{font-size:13px;color:#5c776c;max-width:820px}
.ea-day-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}
.ea-day-item{background:white;border:1px solid var(--a-line);border-radius:14px;text-align:left;padding:15px;min-height:99px}
.ea-day-item strong{display:block;color:#176a5d;font-size:11px;margin-bottom:5px}
.ea-day-item span{font-size:14px;color:#234c42;font-weight:850;line-height:1.4}
.ea-day-item[aria-current=true]{border-color:#1a8167;background:#edfaf0}
.ea-privacy{border-top:1px solid var(--a-line);padding:23px 0 50px}
.ea-privacy h2{font:normal 26px Georgia,serif;margin:0 0 10px}
.ea-privacy p{font-size:12px;line-height:1.8;color:#61766f;max-width:880px}
.ea-privacy-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.ea-notice{font-size:12px;min-height:1.5em;color:#246e5e}
.ea-footer{border-top:1px solid var(--a-line);background:white;padding:20px 0;color:#59756c;font-size:12px}
.ea-footer-inner{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}
.ea-support{background:#113f3b;color:white;border-radius:18px;padding:24px;margin:26px 0}
.ea-support h2{font:normal 26px Georgia,serif;margin:0 0 12px}
.ea-support p{font-size:13px;color:#daede4;line-height:1.75}
.ea-offline-info{font-size:12px;color:#486c5c}
.ea-offline-info strong{color:#125c49}
@media(max-width:860px){.ea-board{grid-template-columns:1fr}.ea-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ea-side{grid-template-columns:1fr 1fr}.ea-control{margin-bottom:10px}}
@media(max-width:600px){.ea-header-inner{min-height:62px;flex-wrap:wrap;padding:10px 0}.ea-header-links{width:100%;justify-content:space-between}.ea-hero{padding:32px 0 25px}.ea-side{grid-template-columns:1fr}.ea-panel{padding:17px}.ea-chat-prompt{padding:16px}.ea-day-grid{grid-template-columns:1fr 1fr;gap:9px}.ea-day-item{min-height:100px}.ea-hero h1{font-size:35px}.ea-chat-controls .ea-action{flex:1}}
@media(prefers-reduced-motion:reduce){.ea-progress-fill{transition:none}}
@media print{.ea-header,.ea-actions,.ea-chat-controls,.ea-privacy-actions,.ea-day-grid,.ea-footer{display:none!important}.ea-board,.ea-side{display:block}.ea-panel{margin:20px 0;border:1px solid #777}.ea-hero{padding:20px;background:white;color:#111}}