/* IELTS Writing player */
.ielts-writing-app{--w-ink:#16233f;--w-navy:#1a3350;--w-line:#e2e6ec;--w-muted:#6b7280;--w-green:#1a7a3d;--w-gold:#b8860b;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--w-ink);}
.ielts-writing-app *{box-sizing:border-box;}
.ielts-writing-app.is-fullbleed{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;}

.w-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;border-bottom:1px solid var(--w-line);background:#fff;position:sticky;top:0;z-index:20;}
.w-bar .w-title{font-weight:700;font-size:15px;}
.w-timer{font-weight:700;font-size:16px;display:inline-flex;align-items:center;gap:8px;}
.w-timer.low{color:#c0392b;}

.w-tabs{display:flex;gap:0;border-bottom:1px solid var(--w-line);background:#fff;}
.w-tab{flex:1;padding:14px 18px;text-align:center;font-weight:700;font-size:14px;background:#f7f8fa;border:none;border-right:1px solid var(--w-line);cursor:pointer;color:var(--w-muted);}
.w-tab:last-child{border-right:none;}
.w-tab.active{background:#fff;color:var(--w-ink);box-shadow:inset 0 -3px 0 var(--w-navy);}

.w-split{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:60vh;}
.w-left{padding:26px 30px;border-right:1px solid var(--w-line);overflow-y:auto;}
.w-right{padding:22px 26px;display:flex;flex-direction:column;}
@media(max-width:860px){.w-split{grid-template-columns:1fr;}.w-left{border-right:none;border-bottom:1px solid var(--w-line);}}

.w-part-head{border:1px solid var(--w-line);border-radius:6px;padding:14px 16px;margin-bottom:20px;background:#fafbfc;}
.w-part-head strong{display:block;font-size:15px;margin-bottom:3px;}
.w-part-head span{font-size:13px;color:var(--w-muted);}

.w-prompt{font-size:16px;line-height:1.7;white-space:pre-wrap;margin-bottom:20px;}
.w-chart{margin:18px 0;border:1px solid var(--w-line);border-radius:6px;overflow:hidden;}
.w-chart img{width:100%;display:block;}

.w-answer-label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--w-muted);margin-bottom:8px;}
.w-textarea{flex:1;min-height:340px;width:100%;resize:vertical;font-family:inherit;font-size:15px;line-height:1.7;color:var(--w-ink);border:1px solid var(--w-line);border-radius:8px;padding:16px 18px;}
.w-textarea:focus{outline:none;border-color:var(--w-navy);box-shadow:0 0 0 3px rgba(26,51,80,.12);}
.w-count{margin-top:10px;font-size:13px;color:var(--w-muted);font-style:italic;}
.w-count b{font-style:normal;color:var(--w-ink);}
.w-count .ok{color:var(--w-green);font-weight:700;}
.w-count .under{color:#c0392b;font-weight:700;}

.w-actions{display:flex;justify-content:flex-end;gap:12px;padding:18px 26px;border-top:1px solid var(--w-line);background:#fff;}
.w-btn{border:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:14px;padding:13px 26px;border-radius:6px;transition:background .2s,opacity .2s;}
.w-btn-primary{background:var(--w-green);color:#fff;}
.w-btn-primary:hover{background:#155c2d;}
.w-btn-primary[disabled]{opacity:.6;cursor:default;}
.w-btn-ghost{background:#fff;color:var(--w-ink);border:1px solid var(--w-line);}

/* ---- result ---- */
.w-result{padding:34px 30px;max-width:900px;margin:0 auto;}
.w-result h2{font-size:24px;margin:0 0 6px;}
.w-overall{display:flex;align-items:center;gap:20px;background:var(--w-navy);color:#fff;border-radius:12px;padding:24px 28px;margin:20px 0 28px;}
.w-overall .band{font-size:48px;font-weight:800;line-height:1;}
.w-overall .lbl{font-size:13px;letter-spacing:.1em;text-transform:uppercase;opacity:.8;}
.w-overall .sum{flex:1;font-size:14.5px;line-height:1.6;}

.w-taskcard{border:1px solid var(--w-line);border-radius:10px;padding:22px 24px;margin-bottom:20px;background:#fff;}
.w-taskcard h3{margin:0 0 14px;font-size:18px;display:flex;justify-content:space-between;align-items:baseline;}
.w-taskcard h3 .tb{font-size:22px;font-weight:800;color:var(--w-navy);}
.w-crit{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;}
.w-crit .c{background:#f7f8fa;border-radius:8px;padding:12px;text-align:center;}
.w-crit .c .n{font-size:20px;font-weight:800;color:var(--w-ink);}
.w-crit .c .t{font-size:11px;color:var(--w-muted);margin-top:3px;line-height:1.3;}
.w-fb{font-size:14.5px;line-height:1.65;color:#374151;}
@media(max-width:600px){.w-crit{grid-template-columns:repeat(2,1fr);}}

.w-note{background:#eaf4ff;border:1px solid #cfe4fb;border-radius:8px;padding:14px 16px;font-size:14px;color:#20496e;margin-bottom:20px;}
.w-spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:wspin .7s linear infinite;vertical-align:-3px;margin-right:8px;}
@keyframes wspin{to{transform:rotate(360deg);}}
.ielts-empty{padding:40px;text-align:center;color:#6b7280;}
