:root{--paper:#faf9f6;--ink:#242220;--muted:#807a73;--line:#e2ded7;--accent:#913f3e;--success:#416c50;--font-ui:"Avenir Next","PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.shell{width:min(660px,100% - 48px);margin:0 auto;padding:52px 0 24px}.brand{letter-spacing:.15em;align-items:center;gap:13px;font-size:12px;font-weight:700;display:flex}.brand-divider{color:#b6afa6;margin:0 6px}.intro{padding:58px 0 31px}.eyebrow{letter-spacing:.2em;color:var(--accent);margin:0 0 15px;font-size:10px;font-weight:700}h1{letter-spacing:-.035em;margin:0 0 17px;font-family:Iowan Old Style,Songti SC,serif;font-size:38px;font-weight:500}.intro-copy{color:var(--muted);margin:0;font-size:14px;line-height:1.9}.destination{color:var(--muted);margin:15px 0 0;font-size:11px}.destination span{color:#514a44}.platform-list{border-top:1px solid var(--line)}.platform{border-bottom:1px solid var(--line)}.platform-row{align-items:center;gap:15px;min-height:91px;display:flex}.platform-mark{color:#645b52;border:1px solid #d4cdc4;border-radius:9px;place-items:center;width:34px;height:34px;font-family:Georgia,serif;font-size:19px;font-weight:600;display:grid}.mark-campus{color:#963f40;background:#f0e4e1;border-color:#ead4d0}.mark-gradescope{color:#4c716a;background:#e9eeea;border-color:#dce4dd}.mark-hydro{color:#506879;background:#e7ecef;border-color:#d7e0e6}.mark-imap{color:#797057;background:#efebe0;border-color:#e5dfce}.platform-copy{flex:1}.platform-copy h2{margin:0 0 5px;font-size:15px;font-weight:600}.platform-copy p{color:var(--muted);margin:0;font-size:11px}.row-number{color:#b2aaa1;margin-right:13px;font-family:Menlo,monospace;font-size:10px}.row-button{border:1px solid var(--line);color:#61594f;background:0 0;border-radius:5px;justify-content:space-between;align-items:center;gap:15px;min-width:77px;padding:8px 11px;font-size:11px;display:flex}.row-button.connected{color:var(--success);background:#edf1e9;border-color:#d5dfd2}.row-button:hover:not(:disabled){border-color:#b8afa5}.login-form{gap:13px;padding:0 0 24px 49px;animation:.18s ease-out reveal;display:grid}.login-form label{color:#655d53;gap:7px;font-size:11px;display:grid}.login-form input,.login-form select{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#fffefa;border-radius:5px;padding:10px 11px;font-size:13px}.login-form input::placeholder{color:#b5ada3;font-size:11px}.field-pair{grid-template-columns:1fr 160px;gap:12px;display:grid}.sms-fields{align-items:end}.form-note{color:var(--muted);margin:0;font-size:10px;line-height:1.7}.consent{color:var(--muted);cursor:pointer;align-items:flex-start;gap:11px;margin-top:25px;font-size:11px;line-height:1.9;display:flex}.consent input{accent-color:var(--accent);flex:none;margin:5px 0 0}.notice{min-height:44px;color:var(--accent);padding:9px 0;font-size:11px;line-height:1.7}.actions{justify-content:space-between;align-items:center;display:flex}.primary,.secondary{border:1px solid var(--line);border-radius:6px;padding:12px 19px;font-size:12px}.primary{background:var(--accent);border-color:var(--accent);color:#fff;align-items:center;gap:38px;display:inline-flex}.primary:hover:not(:disabled){background:#803432}.primary.small{justify-self:start;padding:10px 15px}.secondary{color:#696157;background:0 0}.secondary:hover:not(:disabled){background:#f0ece6}footer{border-top:1px solid var(--line);color:#a1988c;justify-content:space-between;margin-top:49px;padding-top:15px;font-size:10px;display:flex}footer span:first-child{letter-spacing:.08em}@keyframes reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:520px){.shell{width:calc(100% - 36px);padding-top:30px}.intro{padding-top:42px}h1{font-size:31px}.row-number{display:none}.platform-row{gap:11px;min-height:87px}.platform-copy p{font-size:10px}.row-button{gap:8px;min-width:67px}.login-form{padding-left:0}.field-pair{grid-template-columns:1fr 135px}footer{margin-top:38px}}@media (prefers-reduced-motion:reduce){.login-form{animation:none}}
