:root{
  --writing-ink:#102331;
  --writing-ink-2:#173849;
  --writing-paper:#f7f3ea;
  --writing-paper-2:#fffdf7;
  --writing-coral:#ff6b4a;
  --writing-acid:#e7ff59;
  --writing-sky:#bfe8ef;
  --writing-muted:#66757d;
  --writing-line:rgba(16,35,49,.16);
  --writing-shadow:0 24px 70px rgba(16,35,49,.12);
}
.writing-home{
  color:var(--writing-ink);
  background:
    linear-gradient(rgba(16,35,49,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(16,35,49,.035) 1px,transparent 1px),
    var(--writing-paper);
  background-size:28px 28px;
}
.writing-home .container{max-width:1240px;padding-top:0}
.writing-home-hero{
  position:relative;
  min-height:570px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(350px,.72fr);
  gap:clamp(48px,7vw,104px);
  align-items:center;
  border:0;
  background:transparent;
  overflow:visible;
}
.writing-home-hero:before{
  content:"WRITE";
  position:absolute;
  z-index:0;
  right:-12px;
  top:34px;
  color:rgba(16,35,49,.035);
  font:900 clamp(100px,17vw,230px)/1 Arial,sans-serif;
  letter-spacing:-.08em;
  pointer-events:none;
}
.writing-home-copy{position:relative;z-index:1;padding:68px 0 58px}
.writing-home-copy:before{display:none}
.writing-home-copy .eyebrow{
  margin:0 0 14px;
  color:#477080;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.writing-home-copy h1{
  max-width:760px;
  margin:0;
  font-family:Georgia,"Songti SC",serif;
  font-size:clamp(52px,5.2vw,74px);
  line-height:.96;
  letter-spacing:-.055em;
}
.writing-home-copy h1 em{color:var(--writing-coral);font-weight:inherit}
.writing-home-copy p{max-width:650px;margin:28px 0 0;color:#435966;font-size:17px;line-height:1.85}
.writing-home-copy .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.writing-home-copy .btn{
  min-height:50px;
  padding:0 22px;
  border:1px solid var(--writing-ink);
  border-radius:0;
  background:rgba(255,255,255,.38);
  color:var(--writing-ink);
  font-weight:900;
  box-shadow:none;
}
.writing-home .writing-home-copy .btn.primary{
  border-color:var(--writing-ink);
  background:var(--writing-ink);
  color:#fff;
  box-shadow:7px 7px 0 var(--writing-acid);
}
.writing-home-copy .btn:hover{transform:translateY(-2px)}
.writing-home .writing-home-copy .btn.primary:hover{background:var(--writing-ink-2)}
.writing-time-board{
  position:relative;
  z-index:1;
  min-height:405px;
  display:grid;
  align-content:center;
  gap:0;
  padding:32px;
  color:#fff;
  background:var(--writing-ink);
  box-shadow:18px 18px 0 var(--writing-sky),var(--writing-shadow);
  transform:rotate(1.35deg);
  overflow:hidden;
}
.writing-time-board:after{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  right:-92px;
  top:-92px;
  border:36px solid rgba(231,255,89,.18);
  border-radius:50%;
  pointer-events:none;
}
.time-rule{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:end;
  gap:9px;
  padding:25px 4px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.time-rule:last-child{border-bottom:0}
.time-rule span{align-self:center;color:#b9cad2;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.time-rule strong{color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:48px;line-height:.9}
.time-rule small{color:var(--writing-acid);font-weight:900}
.time-rule.feature strong{color:var(--writing-coral)}
.practice-paths{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin:4px 9px 106px 0;
  border:1px solid var(--writing-ink);
  background:var(--writing-paper-2);
  box-shadow:9px 9px 0 var(--writing-ink);
}
.practice-path{
  position:relative;
  min-height:175px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"label link" "title link" "description link";
  align-items:center;
  column-gap:24px;
  padding:29px 30px;
  border:0;
  border-radius:0;
  color:var(--writing-ink);
  overflow:hidden;
  transition:transform .2s ease,background .2s ease;
}
.practice-path+.practice-path{border-left:1px solid var(--writing-ink)}
.practice-path:before{display:none}
.practice-path:hover{z-index:1;transform:translateY(-7px);box-shadow:0 7px 0 var(--writing-ink)}
.practice-path.full-path{background:var(--writing-paper-2)}
.practice-path.focused-path{background:var(--writing-sky)}
.path-label{grid-area:label;align-self:end;color:#647981;font:900 10px/1 monospace;letter-spacing:.12em}
.practice-path strong{grid-area:title;display:block;margin:9px 0 7px;font-family:Georgia,"Songti SC",serif;font-size:31px;line-height:1.1}
.path-description{grid-area:description;align-self:start;color:#4e626c;line-height:1.65}
.path-link{grid-area:link;display:flex;align-items:center;gap:12px;color:var(--writing-ink);font-size:12px;font-weight:900;white-space:nowrap}
.path-link b{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid var(--writing-ink);
  border-radius:0;
  background:var(--writing-acid);
  font-size:17px;
  transition:transform .18s ease;
}
.practice-path:hover .path-link b{transform:translateX(3px)}
.writing-section{
  margin-top:0;
  padding:42px 40px;
  border:1px solid var(--writing-ink);
  border-radius:0;
  background:var(--writing-paper-2);
  box-shadow:10px 10px 0 rgba(16,35,49,.12);
}
.writing-section+.writing-section{margin-top:54px}
.section-index{margin-bottom:8px;color:#647981;font:900 10px/1 monospace;letter-spacing:.15em}
.writing-section .section-head h2{font-family:Georgia,"Songti SC",serif;font-size:34px}
.writing-practice-section{scroll-margin-top:84px}
.practice-group-head{display:flex;align-items:center;gap:18px}
.practice-group-head h2{margin:0 0 6px;font-family:Georgia,"Songti SC",serif;font-size:38px;letter-spacing:-.035em}
.practice-group-head p{margin:0}
.practice-group-mark{
  width:58px;
  height:58px;
  flex:0 0 58px;
  display:grid;
  place-items:center;
  border:1px solid var(--writing-ink);
  border-radius:0;
  background:var(--writing-ink);
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:26px;
  font-weight:900;
  box-shadow:6px 6px 0 var(--writing-acid);
}
.focused-practice-section .practice-group-mark{color:var(--writing-ink);background:var(--writing-acid);box-shadow:6px 6px 0 var(--writing-sky)}
.training-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:30px;
  border:1px solid var(--writing-ink);
}
.training-grid.complete-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.training-card{
  min-height:270px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:24px;
  border:0;
  border-right:1px solid var(--writing-ink);
  border-radius:0;
  background:var(--writing-paper-2);
  color:var(--writing-ink);
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.training-card:last-child{border-right:0}
.training-card:hover{position:relative;z-index:2;transform:translateY(-7px);box-shadow:0 7px 0 var(--writing-ink)}
.entry-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:24px}
.entry-meta span{
  min-height:25px;
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border:1px solid rgba(16,35,49,.32);
  border-radius:0;
  background:rgba(255,255,255,.52);
  color:#53666f;
  font:900 10px/1 monospace;
}
.training-card h3{margin:8px 0 12px;font:700 25px/1.1 Georgia,"Songti SC",serif}
.training-card p{margin:0;color:#4e626c;line-height:1.7}
.training-foot{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:16px;border-top:1px solid var(--writing-line)}
.training-foot strong{color:var(--writing-ink);font-size:12px;font-weight:950;white-space:nowrap}
.training-foot span{color:var(--writing-muted);font-size:11px;font-weight:800}
.training-entry-actions{display:grid;grid-template-columns:1.18fr .82fr;gap:7px;margin-top:24px;padding-top:16px;border-top:1px solid var(--writing-line)}
.entry-action{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border:1px solid var(--writing-ink);
  border-radius:0;
  background:rgba(255,255,255,.58);
  color:var(--writing-ink);
  font-size:12px;
  font-weight:950;
  transition:transform .18s ease,background .18s ease;
}
.entry-action:hover{transform:translateY(-1px);background:#fff}
.entry-action.primary{border-color:var(--writing-ink);background:var(--writing-ink);color:#fff}
.task-two .entry-action.primary{border-color:var(--writing-coral);background:var(--writing-coral)}
.training-card.task-one{background:#e8f5f3}.training-card.task-two{background:#fff0e9}.training-card.mock-card{background:var(--writing-ink);color:#fff}.training-card.mock-card p,.training-card.mock-card .training-foot span,.training-card.mock-card .training-kicker{color:#b9cad2}.training-card.mock-card .training-foot{border-color:rgba(255,255,255,.16)}
.training-card.mock-card .entry-meta span{color:#d7e3e7;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08)}
.training-card.mock-card .training-foot strong{color:var(--writing-acid)}
.training-card.topic-bank-card{position:relative;overflow:hidden;background:#fffaf0}.training-card.topic-bank-card:after{content:"6";position:absolute;right:-8px;top:-20px;font-family:Georgia,"Times New Roman",serif;font-size:130px;font-weight:900;line-height:1;color:rgba(174,111,31,.06);pointer-events:none}.training-card.topic-bank-card .training-number{color:#bd8240}.training-card.topic-bank-card .training-kicker{color:#99601c}
.training-card.translation-card{background:#eef8f4}.training-card.translation-card .training-number{color:#8ac7b5;font-size:34px}.training-card.translation-card .training-kicker{color:#27806a}
.training-card.analysis-card{background:#fff0e9}.training-card.analysis-card .training-number{color:#e0a34a;font-size:34px}.training-card.analysis-card .training-kicker{color:#a56412}
.training-card.task1-analysis-card{background:#e8f5f3}.training-card.task1-analysis-card .training-number{color:#56aeb7;font-size:34px}.training-card.task1-analysis-card .training-kicker{color:#087889}
.training-card.topic-drill-card{position:relative;overflow:hidden;background:var(--writing-acid)}.training-card.topic-drill-card:after{content:"30";position:absolute;right:-12px;bottom:-38px;color:rgba(16,35,49,.07);font:900 128px/1 Georgia,serif;pointer-events:none}.training-card.topic-drill-card .training-number{color:#628bd4;font-size:34px}.training-card.topic-drill-card .training-kicker{color:#285fae}
.training-card.paragraph-card{background:#fbf6ff}
.training-card.logic-card{background:#f8fafc}
.writing-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin-top:22px;border:1px solid var(--writing-ink);border-radius:0;overflow:hidden}
.writing-metrics>div{padding:20px;background:#fff}.writing-metrics>div+div{border-left:1px solid var(--writing-line)}.writing-metrics span{display:block;color:var(--writing-muted);font-size:12px}.writing-metrics strong{display:block;margin-top:7px;font:700 24px/1.1 Georgia,"Songti SC",serif}
.writing-history{display:grid;gap:0;margin-top:16px;border:1px solid var(--writing-line)}.writing-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:16px 18px;border:0;border-bottom:1px solid var(--writing-line);border-radius:0}.writing-history-row:last-child{border-bottom:0}.writing-history-row strong{display:block}.writing-history-row small{display:block;color:var(--writing-muted);margin-top:5px}.writing-history-row .status{font-size:12px}.writing-empty{padding:30px;border:0;text-align:center;color:var(--writing-muted)}
.training-page{margin:0;background:#eef2f7;color:var(--writing-ink);font-family:"Segoe UI","Microsoft YaHei",sans-serif;min-height:100vh}
.training-topbar{height:74px;background:#fff;border-bottom:1px solid #dce3ed;display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:20}.training-brand{display:flex;align-items:center;gap:12px}.training-brand b{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#14233b;color:#fff}.training-brand strong{display:block}.training-brand span{font-size:12px;color:#758297}.training-clock{font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:900;min-width:92px;text-align:center}.training-top-actions{display:flex;gap:9px}
.training-shell{display:grid;grid-template-columns:minmax(360px,.88fr) minmax(440px,1.12fr);gap:16px;width:min(1500px,calc(100% - 28px));margin:16px auto;height:calc(100vh - 106px)}
.training-pane{background:#fff;border:1px solid #dce3ed;border-radius:18px;min-height:0;overflow:hidden;display:flex;flex-direction:column}.training-pane-head{padding:20px 24px;border-bottom:1px solid #e4e9f0}.training-pane-head .eyebrow{font-size:11px;letter-spacing:.13em;color:var(--writing-coral);font-weight:950}.training-pane-head h1,.training-pane-head h2{margin:6px 0 0;font-family:Georgia,"Times New Roman",serif}.training-prompt{padding:26px;overflow:auto;line-height:1.75}.training-prompt .writing-prompt-section{max-width:none}.training-prompt img{max-width:100%;height:auto}.training-guidance{padding:14px 18px;background:#f6f9fd;border:1px solid #dbe5f3;border-radius:12px;margin-bottom:20px;color:#52627a}.training-editor{flex:1;resize:none;border:0;outline:0;padding:28px;font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.8;color:#17233a}.training-editor-foot{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid #e4e9f0;color:#6f7d91;font-size:13px}.training-editor-foot strong{color:#17233a;font-size:16px}.training-result{display:none;position:fixed;inset:0;background:rgba(15,28,48,.56);z-index:50;align-items:center;justify-content:center;padding:20px}.training-result.open{display:flex}.training-result-card{width:min(520px,100%);background:#fff;border-radius:20px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.training-result-card h2{font-family:Georgia,"Times New Roman",serif;font-size:30px;margin:0 0 10px}.training-result-card p{color:#5f6d81;line-height:1.7}.training-result-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}.training-result-metrics div{background:#f4f7fb;border-radius:12px;padding:15px}.training-result-metrics span{display:block;font-size:11px;color:#758297}.training-result-metrics strong{font-size:24px;display:block;margin-top:5px}
.topic-bank-source{margin-top:22px;padding-top:14px;border-top:1px solid #e1e7ef;color:#7a879a;font-size:11px;font-weight:850;letter-spacing:.04em}
.topic-bank-source a{color:#285fae;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){
  .training-grid.complete-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .complete-grid .training-card:nth-child(2n){border-right:0}
  .complete-grid .training-card:nth-child(-n+2){border-bottom:1px solid var(--writing-ink)}
}
@media(max-width:1000px){
  .writing-home-hero{min-height:auto;grid-template-columns:1fr;gap:0}
  .writing-home-copy{padding-bottom:48px}
  .writing-time-board{min-height:250px;grid-template-columns:repeat(3,1fr);margin:0 18px 88px 0;transform:none}
  .time-rule{display:block;border-right:1px solid rgba(255,255,255,.16);border-bottom:0}
  .time-rule:last-child{border-right:0}
  .time-rule strong,.time-rule small{display:inline-block;margin-top:14px}
  .training-grid{grid-template-columns:repeat(2,1fr)}
  .focused-grid .training-card:nth-child(2n){border-right:0}
  .focused-grid .training-card:nth-child(-n+2){border-bottom:1px solid var(--writing-ink)}
  .training-shell{grid-template-columns:1fr;height:auto}
  .training-pane{min-height:560px}
  .writing-metrics{grid-template-columns:repeat(2,1fr)}
  .writing-metrics>div:nth-child(3){border-left:0;border-top:1px solid var(--writing-line)}
}
@media(max-width:760px){
  .practice-paths{grid-template-columns:1fr;margin-bottom:78px}
  .practice-path{min-height:150px}
  .practice-path+.practice-path{border-top:1px solid var(--writing-ink);border-left:0}
}
@media(max-width:620px){
  .writing-home-copy{padding:48px 12px 42px}
  .writing-home-copy h1{font-size:39px}
  .writing-home-copy p{margin-top:22px;font-size:15px}
  .writing-home-copy .actions{display:grid}
  .writing-home-copy .btn{width:100%}
  .writing-time-board,.training-grid,.training-grid.complete-grid{grid-template-columns:1fr}
  .writing-time-board{min-height:0;margin:0 12px 76px 0;padding:24px}
  .time-rule{display:grid;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .time-rule:last-child{border-bottom:0}
  .time-rule strong,.time-rule small{margin-top:0}
  .practice-path{grid-template-columns:1fr;grid-template-areas:"label" "title" "description" "link";gap:0;padding:24px}
  .path-link{margin-top:19px;justify-content:space-between}
  .writing-section{padding:25px 20px}
  .writing-section+.writing-section{margin-top:40px}
  .practice-group-head{align-items:flex-start}
  .practice-group-mark{width:44px;height:44px;flex-basis:44px;font-size:20px;box-shadow:4px 4px 0 var(--writing-acid)}
  .focused-practice-section .practice-group-mark{box-shadow:4px 4px 0 var(--writing-sky)}
  .practice-group-head h2{font-size:29px}
  .training-card,.complete-grid .training-card,.focused-grid .training-card{min-height:225px;border-right:0;border-bottom:1px solid var(--writing-ink)}
  .training-card:last-child,.complete-grid .training-card:last-child,.focused-grid .training-card:last-child{border-bottom:0}
  .writing-metrics{grid-template-columns:1fr}
  .writing-metrics>div+div{border-left:0;border-top:1px solid var(--writing-line)}
  .writing-history-row{grid-template-columns:1fr}
  .training-topbar{height:auto;min-height:74px;gap:10px;flex-wrap:wrap;padding:12px}
  .training-shell{width:calc(100% - 16px);margin:8px auto}
  .training-pane{min-height:500px}
}
