:root{color:#18332d;font-synthesis:none;--ink:#173f35;--jade:#19715d;--red:#b44337;--paper:#fffdf7;--line:#d9ddd4;background:#f5f2e9;font-family:Plus Jakarta Sans,PingFang SC,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 8% 8%,#e3eee5 0,#0000 24%),#f5f2e9;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Noto Serif SC,serif}.topbar{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf7eb;justify-content:space-between;align-items:center;height:76px;padding:0 max(4vw,24px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;font-family:Noto Serif SC;font-weight:700;display:flex}.brand small{letter-spacing:.16em;color:#73847f;margin-top:2px;font:10px Plus Jakarta Sans;display:block}.seal{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font:700 21px Noto Serif SC;display:grid;box-shadow:inset 0 0 0 3px #fff8}.seal.large{width:58px;height:58px;margin:-54px auto 18px;font-size:28px}.topbar nav{align-items:center;gap:22px;font-size:14px;display:flex}.topbar nav a.router-link-active{color:var(--jade);font-weight:700}.link{color:#59706a;background:0 0;border:0}.page{max-width:1180px;margin:auto;padding:56px 28px 80px}.narrow{max-width:820px}.hero{background:var(--ink);color:#fff;border-radius:6px 48px 6px 6px;justify-content:space-between;align-items:flex-end;min-height:250px;padding:48px;display:flex;position:relative;overflow:hidden}.hero:after{content:"游";opacity:.035;font:260px Noto Serif SC;position:absolute;top:-80px;right:14%}.hero h1{margin-bottom:12px;font-size:42px}.hero p{color:#cfe0da}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#8c5a35;font-size:11px;font-weight:700}.hero .eyebrow{color:#ddbd83}.hero-stat{text-align:center;z-index:1;border-left:1px solid #fff3;padding-left:42px}.hero-stat b{font-size:52px;display:block}.hero-stat span{color:#cfe0da;font-size:12px}.section-head{justify-content:space-between;align-items:end;margin:48px 0 24px;display:flex}.section-head h1,.section-head h2{margin-bottom:6px}.section-head p{color:#71817d;margin:0}.paper-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;display:grid}.paper-card,.wrong-card,.admin-card{background:var(--paper);border:1px solid var(--line);padding:28px;box-shadow:0 12px 40px #173f3508}.paper-card{position:relative}.paper-card .year{color:var(--red);letter-spacing:.18em;font:700 12px Plus Jakarta Sans}.paper-card h3{margin:16px 0 8px;font-size:21px}.paper-card>p{color:#6b7c77;min-height:42px;font-size:14px}.paper-card dl{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:24px 0;padding:16px 0;display:grid}.paper-card dl div+div{border-left:1px solid var(--line);padding-left:14px}.paper-card dt{color:#87938f;font-size:11px}.paper-card dd{margin:6px 0 0;font-size:13px;font-weight:700}.primary,.outline{border:1px solid var(--jade);border-radius:3px;padding:12px 20px;font-weight:700}.primary{background:var(--jade);color:#fff;width:100%}.primary:hover{background:#115b4b}.primary:disabled{opacity:.45;cursor:not-allowed}.outline{color:var(--jade);background:0 0}.history{margin-top:48px}.history-row{border-bottom:1px solid var(--line);justify-content:space-between;padding:16px 0;font-size:14px;display:flex}.empty{text-align:center;color:#768680;background:#fff5;border:1px dashed #bfc8c3;padding:70px}.login-shell{grid-template-columns:1.2fr .8fr;min-height:100vh;display:grid}.login-intro{color:#fff;background:linear-gradient(145deg,#173f35,#0e2d27);flex-direction:column;justify-content:center;padding:12vh 9vw;display:flex;position:relative;overflow:hidden}.login-intro:after{content:"山 水";color:#ffffff05;white-space:nowrap;font:150px Noto Serif SC;position:absolute;bottom:-40px;left:2vw}.login-intro h1{margin:28px 0;font-size:clamp(38px,5vw,72px);line-height:1.3}.login-intro>p:not(.eyebrow){color:#c5d8d1;max-width:540px;line-height:1.9}.landmark{color:#d6b77b;letter-spacing:.24em;margin-top:60px;font-size:12px}.login-card{background:var(--paper);width:min(400px,80%);margin:auto;padding:42px;box-shadow:0 26px 80px #112d2720}.login-card h2{text-align:center;margin-bottom:34px}.login-card label{color:#536964;margin:18px 0;font-size:13px;display:block}.login-card input{background:0 0;border:0;border-bottom:1px solid #aebbb7;outline:none;width:100%;margin-top:6px;padding:13px 2px;display:block}.login-card input:focus{border-color:var(--jade)}.switch{margin:18px auto 0;display:block}.error{color:var(--red);font-size:13px}.practice{max-width:860px;margin:auto;padding:30px 24px 70px}.practice-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.practice-head>div{gap:18px;display:flex}.practice-head span{color:#73847f}.back{color:var(--jade);background:0 0;border:0}.progress{background:#d9dfda;height:4px;margin-bottom:26px}.progress i{background:var(--red);height:100%;transition:all .3s;display:block}.question-card{background:var(--paper);border:1px solid var(--line);padding:42px}.question-meta{color:#758681;align-items:center;gap:12px;font-size:12px;display:flex}.question-meta b{color:var(--jade);background:#e5eee9;padding:5px 8px;font-family:inherit}.question-meta em{margin-left:auto;font-style:normal}.question-card h1{margin:30px 0;font-size:25px;line-height:1.7}.options{gap:12px;display:grid}.options button{border:1px solid var(--line);text-align:left;color:#29443e;background:#fff;align-items:center;gap:14px;padding:16px;display:flex}.options button span{border:1px solid #c9d2cd;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-weight:700;display:grid}.options button.chosen{border-color:var(--jade);background:#edf5f1}.options button.chosen span{background:var(--jade);color:#fff}.check{margin-top:24px}.analysis{border-left:4px solid;margin-top:24px;padding:22px}.analysis h3{font-family:inherit;font-size:16px}.analysis h3 span{margin-left:10px;font-weight:400}.analysis p{white-space:pre-wrap;margin:0;line-height:1.8}.analysis.correct{background:#e9f4ee;border-color:#298260}.analysis.wrong{border-color:var(--red);background:#f8eae7}.practice-nav{justify-content:space-between;margin-top:20px;display:flex}.practice-nav .primary{width:auto}.modal{z-index:50;background:#102820cc;place-items:center;display:grid;position:fixed;inset:0}.modal>div{background:var(--paper);text-align:center;width:min(420px,90%);padding:44px}.modal strong{color:var(--red);font:700 72px Noto Serif SC}.modal span{color:#73847f}.modal p:not(.eyebrow){margin:18px}.count{background:var(--ink);color:#fff;padding:9px 13px;font-size:12px}.wrong-card{margin:18px 0}.wrong-card h2{margin:24px 0;font-size:20px;line-height:1.6}.wrong-card ul{padding:0;list-style:none}.wrong-card li{border-bottom:1px solid #e4e7e2;padding:12px}.wrong-card li b{width:34px;display:inline-block}.wrong-card li.answer{color:var(--jade);background:#eef6f1}.answer-line{color:var(--red);font-size:13px;font-weight:700}.explain{white-space:pre-wrap;background:#f0eee6;padding:18px;line-height:1.8}.admin-card{margin-top:30px}.admin-card>p,.admin-note{color:#687a75;line-height:1.8}.upload{text-align:center;color:var(--jade);border:1px dashed #aebbb7;margin:24px 0;padding:30px;display:block}.upload input{display:none}.notice{background:#edf5f1;margin:16px 0;padding:14px;color:var(--jade)!important}.publish{width:100%;margin-top:8px}.admin-note{padding:30px}.admin-note li{margin:10px 0}@media (width<=760px){.topbar{align-items:flex-start;height:auto;padding:12px 16px}.topbar nav{gap:12px;margin-top:10px}.brand small{display:none}.login-shell{grid-template-columns:1fr}.login-intro{min-height:38vh;padding:55px 28px}.login-intro h1{margin:18px 0;font-size:36px}.landmark{display:none}.login-card{z-index:2;width:calc(100% - 36px);margin:-20px auto 40px;padding:32px}.seal.large{margin:-44px auto 14px}.page{padding:34px 18px 70px}.hero{min-height:260px;padding:34px 26px;display:block}.hero h1{font-size:31px}.hero-stat{display:none}.section-head{align-items:center;margin-top:36px}.question-card{padding:26px 20px}.question-card h1{font-size:21px}.practice-head>div{text-align:right;display:block}.topbar nav .link{display:none}}
