/* 常见卡点页：依赖 style.css 提供的设计变量与 topbar/progress */
.topbar nav a.current{color:var(--accent)}
.problemsHero{padding:118px max(24px,calc((100vw - 1080px)/2)) 54px;border-bottom:1px solid var(--line)}
.problemsHero h1{font-size:clamp(44px,6.4vw,76px);line-height:1.12;letter-spacing:-.04em;margin:0 0 24px}
.problemsHero em{font-style:normal;color:var(--accent)}
.problemsLead{max-width:640px;color:#6e645a;font-size:16px;line-height:2;margin:0}
.problemIndex{padding:46px max(24px,calc((100vw - 1080px)/2)) 6px}
.problemIndex ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}
.problemIndex a{display:flex;gap:14px;align-items:baseline;border:1px solid var(--line);background:rgba(255,250,240,.6);padding:14px 18px;color:var(--ink);text-decoration:none;font-size:15px;line-height:1.5}
.problemIndex a:hover{background:var(--paper);box-shadow:4px 4px 0 var(--accent);transform:translate(-1px,-1px)}
.problemIndex a b{flex:0 0 auto;font:700 11px var(--mono);color:var(--accent);letter-spacing:.08em}
.problemList{padding:62px max(24px,calc((100vw - 1080px)/2)) 90px}
.problemCard{position:relative;border:1px solid var(--line);background:var(--paper);padding:40px 40px 36px;margin:0 0 34px;overflow:hidden}
.problemCard:last-child{margin-bottom:0}
.problemNum{position:absolute;right:22px;top:-10px;font:900 88px/1 var(--mono);color:rgba(33,27,22,.045);letter-spacing:-.06em}
.problemTag{font:8px var(--mono);letter-spacing:.2em;color:var(--accent);display:block;margin-bottom:16px}
.problemQ{font-size:clamp(23px,3.2vw,30px);line-height:1.4;margin:0 0 16px;max-width:82%}
.problemPoints{list-style:none;margin:0;padding:0}
.problemPoints li{display:flex;gap:12px;align-items:baseline;padding:9px 0;border-top:1px solid rgba(33,27,22,.08);font-size:15.5px;line-height:1.7;color:#4d453c}
.problemPoints li:first-child{border-top:0}
.problemPoints li b{flex:0 0 auto;font:700 12px var(--mono);color:var(--accent);letter-spacing:.05em}
.problemQuote{margin:26px 0 0;padding:16px 22px;border-left:3px solid var(--gold);background:rgba(150,114,26,.07);color:#5f564e;font-size:15px;line-height:1.8}
.problemQuote .who{display:block;font:8px var(--mono);letter-spacing:.16em;color:var(--accent);margin-bottom:8px}
.problemLinks{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);display:flex;gap:12px;flex-wrap:wrap}
.problemLink{display:inline-block;padding:10px 18px;background:var(--accent);color:var(--paper);font-weight:700;letter-spacing:.05em;font-size:14px;text-decoration:none}
.problemLink:hover{background:var(--ink)}
.weekFeedback{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px;max-width:1080px;margin:46px auto 0;padding:32px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;background:var(--paper);box-shadow:0 10px 30px rgba(33,27,22,.06);box-sizing:border-box}
.weekFeedback>div>span{color:var(--accent);font:700 9px/1.4 var(--mono);letter-spacing:.12em}
.weekFeedback h2{margin:10px 0;font-size:clamp(22px,3vw,29px);line-height:1.5}
.weekFeedback>div>p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.weekFeedback form{min-width:0}
.feedbackPrompt{margin:0 0 14px;color:#5f564e;font-size:13px;line-height:1.75}
.feedbackPrompt>p{margin:0 0 10px}
.feedbackPrompt details{margin:10px 0 12px;border:1px solid var(--line);border-radius:7px;background:#fffdfa}
.feedbackPrompt summary{padding:10px 12px;color:var(--accent);cursor:pointer;font-weight:700}
.feedbackPrompt details div{padding:0 14px 4px;border-top:1px solid var(--line)}
.feedbackPrompt details p{margin:12px 0}
.feedbackName{display:block;margin:0 0 12px}
.feedbackName>span{display:block;margin:0 0 7px;color:var(--ink);font-size:13px;font-weight:700}
.feedbackName small{margin-left:6px;color:var(--muted);font-size:11px;font-weight:400}
.feedbackName input{display:block;width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:7px;background:#fffdfa;color:var(--ink);font:14px/1.5 inherit;box-sizing:border-box}
.feedbackName input:focus{outline:2px solid rgba(198,79,32,.2);border-color:var(--accent)}
.weekFeedback textarea{display:block;width:100%;min-height:120px;padding:16px;border:1px solid var(--line);border-radius:8px;resize:vertical;background:#fffdfa;color:var(--ink);font:15px/1.8 inherit;box-sizing:border-box}
.weekFeedback textarea:focus{outline:2px solid rgba(198,79,32,.2);border-color:var(--accent)}
.feedbackPrivacy{margin:9px 0 0;color:#7a624d;font-size:12px;line-height:1.6}
.weekFeedback form footer{display:grid;grid-template-columns:minmax(160px,1fr) max-content;align-items:center;gap:16px;width:100%;margin-top:12px;padding:0}
.weekFeedback form small{min-width:0;color:var(--muted);font-size:11px;line-height:1.7;word-break:normal;overflow-wrap:break-word}
.weekFeedback button{max-width:100%;padding:10px 18px;border:0;border-radius:6px;background:var(--accent);color:var(--paper);cursor:pointer;font:700 12px/1.4 inherit;white-space:nowrap}
.weekFeedback button:disabled{opacity:.55;cursor:wait}
.feedbackStatus{min-height:20px;margin:8px 0 0;color:var(--accent);font-size:12px}
.feedbackStatus.error{color:#a52a2a}
.myFeedback{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.myFeedback h3{margin:0 0 10px;color:var(--ink);font-size:14px}
.myFeedback article{padding:12px 14px;border-radius:7px;background:#f7efe3}
.myFeedback article+article{margin-top:8px}
.myFeedback article strong{display:block;margin:0 0 5px;color:var(--accent);font-size:12px}
.myFeedback article p{margin:0;color:#403830;font-size:13px;line-height:1.75;white-space:pre-wrap}
.myFeedback article time{display:block;margin-top:7px;color:var(--muted);font:9px/1.4 var(--mono)}
.feedbackTrap,.srOnly{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.problemFoot{display:grid;grid-template-columns:minmax(220px,1fr) max-content;align-items:center;gap:16px;width:100%;margin-top:56px;padding:26px 0 0;border-top:1px solid var(--line);color:var(--muted)}
.problemFoot p{min-width:0;font:9px/1.7 var(--mono);letter-spacing:.12em;margin:0;word-break:normal;overflow-wrap:break-word}
.problemFoot a{max-width:100%;padding:12px 20px;background:var(--ink);color:var(--paper);font-weight:700;font-size:13px;text-decoration:none;white-space:nowrap}
.problemFoot a:hover{background:var(--accent)}
@media(max-width:760px){
  .problemsHero{padding-top:102px}
  .problemsHero h1{font-size:42px}
  .problemList{padding-top:44px}
  .problemCard{padding:28px 24px}
  .problemQ{max-width:100%}
  .weekFeedback{grid-template-columns:1fr;gap:18px;margin:32px 24px 0;padding:24px 20px}
  .weekFeedback form footer{grid-template-columns:minmax(150px,1fr) max-content;gap:10px}
  .problemFoot{grid-template-columns:minmax(150px,1fr) max-content;gap:10px}
}
