:root{--blue:#0088C8;--blue2:#0A9BD8;--green:#68B828;--green2:#78C93A;--ink:#202124;--text:#2A3038;--muted:#6A7580;--paper:#F7FAFB;--line:#E4EEF2;--shadow:0 18px 52px rgba(0,136,200,.16)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--paper)}body{margin:0;min-height:100vh;min-height:100dvh;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 12% 6%,rgba(104,184,40,.16),transparent 34%),radial-gradient(circle at 86% 0%,rgba(0,136,200,.16),transparent 36%),linear-gradient(180deg,#fff 0%,#f7fbfd 100%)}a{text-decoration:none;color:inherit}.entry-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:calc(22px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom))}.entry-card{position:relative;overflow:hidden;width:min(520px,100%);padding:34px 24px 26px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(135deg,#fff 0%,#f7fcff 56%,#f2faed 100%);box-shadow:var(--shadow)}.entry-card:before{content:"";position:absolute;left:0;top:0;right:0;height:9px;background:linear-gradient(90deg,var(--green),var(--blue))}.entry-card:after{content:"";position:absolute;right:-62px;top:-66px;width:172px;height:172px;border-radius:50%;background:linear-gradient(135deg,rgba(0,136,200,.13),rgba(104,184,40,.13));pointer-events:none}.entry-logo{position:relative;width:220px;max-width:76%;height:auto;display:block;margin:2px 0 25px}.eyebrow{position:relative;display:block;font-size:10px;letter-spacing:.18em;font-weight:950;color:var(--blue)}h1{position:relative;margin:10px 0 10px;font-size:34px;line-height:1.14;letter-spacing:-.045em;color:var(--ink)}.lead{position:relative;margin:0;font-size:14px;line-height:1.78;color:#536174}.entry-actions{position:relative;display:grid;gap:13px;margin:28px 0 18px}.entry-button{display:block;border-radius:22px;padding:20px 19px;border:1px solid var(--line);background:#fff;box-shadow:0 12px 30px rgba(0,136,200,.08);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.entry-button:active{transform:scale(.985)}.entry-button.student{border-color:rgba(0,136,200,.22)}.entry-button.teacher{border-color:rgba(104,184,40,.26)}.button-kicker{display:block;font-size:10px;letter-spacing:.16em;font-weight:950;margin-bottom:8px}.student .button-kicker{color:var(--blue)}.teacher .button-kicker{color:var(--green)}.entry-button strong{display:block;font-size:20px;letter-spacing:-.03em;color:var(--ink);line-height:1.35}.entry-button small{display:block;margin-top:8px;font-size:12px;line-height:1.55;color:var(--muted)}.entry-button.student strong:after,.entry-button.teacher strong:after{content:" →";color:var(--blue)}.entry-button.teacher strong:after{color:var(--green)}.safe-note{position:relative;margin:0;padding-top:16px;border-top:1px solid var(--line);font-size:12px;line-height:1.7;color:#7B8792;text-align:center}@media(min-width:700px){.entry-card{padding:42px 40px 32px}.entry-logo{width:246px}h1{font-size:42px}.entry-actions{grid-template-columns:1fr 1fr}.entry-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,136,200,.12)}}@media(max-width:380px){.entry-card{padding:31px 21px 24px}.entry-logo{width:190px}h1{font-size:30px}.entry-button strong{font-size:18px}}

/* Mobile hardening: WeChat, iOS Safari, narrow Android screens */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden}.entry-button{min-height:88px;touch-action:manipulation}.entry-button strong{overflow-wrap:anywhere}.entry-button small{overflow-wrap:anywhere}@supports(height:100svh){body{min-height:100svh}.entry-shell{min-height:100svh}}@media(max-width:430px){.entry-shell{padding-left:14px;padding-right:14px}.entry-card{border-radius:26px;padding:32px 20px 24px}.entry-logo{width:196px;margin-bottom:22px}h1{font-size:31px}.lead{font-size:13px}.entry-actions{gap:12px;margin-top:24px}.entry-button{padding:18px 17px}.entry-button strong{font-size:18px}.safe-note{text-align:left}}@media(max-width:340px){.entry-shell{padding-left:10px;padding-right:10px}.entry-card{padding:28px 16px 22px;border-radius:22px}.entry-logo{width:170px}h1{font-size:27px}.entry-button{padding:16px 14px}.entry-button strong{font-size:17px}.entry-button small{font-size:11px}}
