.passage{white-space:pre-wrap;overflow-wrap:anywhere;background:#f0f5ef;padding:16px;border-radius:12px}details{margin:12px 0}summary{cursor:pointer;min-height:44px;padding:10px 0}input[type=checkbox]{width:auto;min-height:24px}#sync{overflow-wrap:anywhere}#view .card{overflow-wrap:anywhere}#view input[type=date]{min-height:44px;width:100%;max-width:360px}#view select{min-height:44px}@media(max-width:650px){#view .row{flex-wrap:wrap}#view .card{padding:18px}#coursePhase{max-width:150px;font-size:11px}}:root{--ink:#203d36;--muted:#677b73;--green:#246b58;--paper:#f6f7f2;--line:#dce4dc;--soft:#e9f1e9;--orange:#ad6233}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft YaHei",system-ui,sans-serif;font-size:15px;line-height:1.7}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:12px;padding:11px 17px;min-height:44px;color:var(--ink)}button:hover{border-color:var(--green);background:#f0f5ef}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b68541;outline-offset:2px}button:disabled{cursor:default;opacity:.7}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#185642;color:white}aside{position:fixed;inset:0 auto 0 0;width:228px;padding:32px 22px;border-right:1px solid var(--line);background:#fcfcf9}.brand{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink)}.brand b{font-size:34px;letter-spacing:4px}.brand span{font-size:12px;color:var(--muted)}nav{display:grid;gap:9px;margin-top:43px}nav button{text-align:left;background:transparent;border-color:transparent}nav button.active{background:var(--soft);color:var(--green);font-weight:bold}.side-note{font-size:12px;color:var(--muted);margin-top:70px}main{margin-left:228px;padding:0 44px 26px;max-width:1500px}header{min-height:90px;display:flex;gap:20px;align-items:center;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}header #timer{margin-left:auto;font-size:13px;background:transparent}#sync{font-size:12px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--green)}h1{font-weight:600;font-size:34px;line-height:1.4;margin:12px 0}h2{font-size:21px;margin:5px 0 12px}h3{font-size:16px;margin:4px 0}p{margin:8px 0 16px}.muted,small{color:var(--muted)}.hero{padding:32px 0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero p{max-width:650px;color:var(--muted)}.pill{display:inline-block;background:#e8efdf;color:var(--green);padding:5px 12px;border-radius:30px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card{padding:25px;border:1px solid var(--line);border-radius:20px;background:#fff;margin-bottom:18px}.accent{background:#edf3e9}.sand{background:#faf2e7}.card .num{font-family:Georgia,serif;font-size:48px;line-height:1.2;color:var(--green)}.row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.space{justify-content:space-between}.days{display:flex;gap:9px;overflow:auto;padding:6px 0 20px}.days button{flex-shrink:0}.days .selected{background:var(--green);color:#fff}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.options button{text-align:left;min-height:64px;padding:15px;white-space:normal}.correct{border:2px solid #327451!important;background:#edf6ee!important}.wrong{border:2px solid #b96a46!important;background:#fff0e8!important}.feedback{border-left:3px solid var(--green);padding:14px 20px;background:#f0f5ee;border-radius:0 12px 12px 0;margin-top:16px}.question{font-size:23px;font-weight:500;overflow-wrap:anywhere}.word{font-size:42px;line-height:1.3;margin:20px 0 8px;font-weight:600;overflow-wrap:anywhere}.flash{text-align:center;padding:35px}.flash .translation{padding:20px;background:#f5f7f0;border-radius:12px;margin:20px 0}.progress{height:7px;background:#e4ebdf;border-radius:20px;overflow:hidden;margin:18px 0}.progress div{height:100%;background:var(--green)}input,select,textarea{padding:11px 13px;background:#fcfdf9;border:1px solid #ccd9cf;border-radius:10px;width:100%;max-width:100%;color:var(--ink)}textarea{min-height:90px;resize:vertical}label{display:block;margin:14px 0 5px;font-size:13px}form button{margin-top:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.photo{max-width:100%;max-height:340px;object-fit:contain;border-radius:12px;background:#f4f6f0}.note-image{width:100%;max-height:250px;object-fit:contain}.banner{background:#fff3e3;padding:14px 18px;border:1px solid #e7d7bc;border-radius:12px;color:#765027;font-size:13px;margin:18px 0}#notice:not(:empty){margin-top:16px;padding:10px 16px;border-radius:10px;background:#fff1dc;color:#775028}footer{font-size:11px;color:var(--muted);margin-top:36px}dialog{border:1px solid var(--line);border-radius:20px;max-width:600px;width:90%;padding:24px;color:var(--ink)}dialog::backdrop{background:#203d3655}.list-item{padding:16px 0;border-bottom:1px solid var(--line)}.stat{font-size:29px;font-weight:600}.check{padding:8px 0}.explanation{white-space:pre-wrap}ul,ol{padding-left:24px}.tag{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:2px 7px}@media(max-width:1000px){aside{width:190px;padding:24px 14px}main{margin-left:190px;padding:0 24px}}@media(max-width:700px){aside{position:static;width:auto;border-right:0;border-bottom:1px solid var(--line);padding:16px}.brand{flex-direction:row;align-items:baseline;gap:12px}.brand b{font-size:25px}.side-note{display:none}nav{display:flex;overflow:auto;gap:4px;margin-top:15px;padding-bottom:3px}nav button{white-space:nowrap;font-size:13px;padding:8px 12px}main{margin-left:0;padding:0 16px 24px}header{min-height:72px;gap:8px;flex-wrap:wrap;padding:10px 0}header>span:first-child{display:none}header #timer{margin-left:0}#sync{margin-left:auto}.hero{padding:24px 0 14px}h1{font-size:27px}.hero>.pill{display:none}.grid,.form-grid{grid-template-columns:1fr;gap:0}.card{padding:20px;border-radius:16px}.options{grid-template-columns:1fr;gap:8px}.question{font-size:20px}.word{font-size:36px}.flash{padding:20px}.days{padding-bottom:12px}.hero p{font-size:14px}}@media print{aside,header,footer,button,form,#notice,.days{display:none!important}main{margin:0;padding:0}.card{break-inside:avoid}.grid{display:block}body{background:white}}
