:root{color-scheme:light;--ink:#173e4b;--teal:#007d79;--line:#c9dddd;--error:#a52d3d;font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:#edf7f8}
.dashboard{max-width:48rem}.student{margin:1rem 0;overflow-wrap:anywhere}.student h2{font-size:1.25rem;margin:0 0 .75rem}.dashboard nav{gap:1.5rem;justify-content:space-between}
*{box-sizing:border-box}body{margin:0}main{max-width:32rem;margin:auto;padding:2rem 1.25rem}header{text-align:center;margin-bottom:1.5rem}.brand{font-size:1.5rem;font-weight:850;letter-spacing:.04em;margin:0}.brand span{display:block;font-size:1rem;letter-spacing:.18em;margin-top:.4rem}.product{font-size:.875rem;line-height:1.6;color:#46636c}.card{background:white;border:1px solid var(--line);border-radius:1.25rem;padding:2rem;box-shadow:0 12px 32px #143b4910}h1{font-size:1.6rem;line-height:1.35;margin:0 0 .8rem}.intro,.foot{line-height:1.7;margin:.5rem 0;color:#46636c}.notice{min-height:4.8rem;font-size:.9375rem;line-height:1.6;padding:.75rem 0;color:#72530a}fieldset{border:0;margin:0;padding:0;min-width:0}.field{margin-bottom:1.25rem}label{display:block;font-size:1rem;font-weight:600;margin-bottom:.5rem}input:not([type=checkbox]){display:block;width:100%;font:inherit;font-size:1rem;min-height:3rem;border:1px solid #8faeb7;border-radius:.6rem;padding:.65rem .8rem;background:#fff;color:var(--ink)}input[aria-invalid=true]{border-color:var(--error)}input:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #edae16;outline-offset:3px}.error{color:var(--error);font-size:.875rem;line-height:1.6;margin:.4rem 0}button{width:100%;min-height:3rem;font:inherit;font-weight:700;background:var(--teal);color:white;border:0;border-radius:.7rem;padding:.75rem;cursor:pointer}fieldset:disabled button{background:#dce7e9;color:#536c74;cursor:not-allowed}fieldset:disabled input{background:#f5f8f9}.consent{display:flex;gap:.65rem;align-items:flex-start;margin:1rem 0}.consent input{width:1.25rem;height:1.25rem;flex-shrink:0;margin:.2rem 0}.consent label{font-weight:400;line-height:1.6}a{color:var(--teal);text-underline-offset:.2em}nav{margin:1rem 0;min-height:2.75rem;display:flex;align-items:center}nav a{padding:.5rem 0}.foot,footer{font-size:.875rem}footer{text-align:center;margin:1.5rem 0;color:#46636c;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:380px){main{padding:1.25rem .8rem}.card{padding:1.3rem}h1{font-size:1.4rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
