:root{color-scheme:light;--primary: #356df3;--primary-dark: #2359d9;--primary-soft: #eaf0ff;--ink: #172033;--muted: #768096;--line: #e4e9f2;--surface: #ffffff;--background: #f5f8ff;--danger: #e64b55;--success: #16a77a;font-family:Microsoft YaHei UI,PingFang SC,Noto Sans CJK SC,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--background);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-width:320px;min-height:100vh;min-height:100svh;margin:0;color:#fff;background:linear-gradient(180deg,#0418312e,#0418310f 28%,#04183147 58%,#03122685),url(/images/shengli-campus.jpg) center top / cover fixed no-repeat;-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{border:0}button:focus-visible,input:focus-visible{outline:3px solid rgb(53 109 243 / 20%);outline-offset:2px}[hidden]{display:none!important}.page-shell{position:relative;width:100%;max-width:480px;min-height:100svh;margin:0 auto;padding:0 0 max(22px,env(safe-area-inset-bottom));overflow:hidden;background:linear-gradient(180deg,transparent 0 28%,rgb(3 18 38 / 5%) 52%,rgb(3 18 38 / 18%) 100%)}.brand{position:absolute;z-index:2;top:max(16px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));left:max(18px,env(safe-area-inset-left));display:flex;align-items:center;gap:11px;min-height:46px;color:#fff;text-shadow:0 2px 12px rgb(3 25 55 / 46%);animation:enter-down .48s ease-out both}.brand__logo{width:46px;height:46px;flex:0 0 auto;object-fit:cover;background:#fff;border:2px solid rgb(255 255 255 / 95%);border-radius:50%;box-shadow:0 8px 22px #01173452}.brand__text{display:flex;min-width:0;flex-direction:column;gap:2px}.brand__text strong{font-size:16px;font-weight:700;letter-spacing:.04em}.school-welcome{position:relative;height:278px;overflow:hidden;background:transparent;animation:card-enter .56s .06s cubic-bezier(.2,.8,.2,1) both}.school-welcome__image,.school-welcome__overlay{display:none}.school-welcome__copy{display:flex;height:100%;max-width:92%;flex-direction:column;justify-content:flex-end;padding:20px max(22px,env(safe-area-inset-right)) 54px max(22px,env(safe-area-inset-left));color:#fff;text-shadow:0 2px 12px rgb(3 29 61 / 35%)}.school-welcome__copy p{margin:0}.school-welcome__title{font-family:STZhongsong,FZYaSongS-B-GB,Microsoft YaHei UI,sans-serif;font-size:24px;font-weight:700;letter-spacing:.02em}.school-motto{display:flex;width:fit-content;align-items:center;gap:8px;margin-top:9px!important;padding:6px 11px 6px 7px;color:#ffffffeb;background:#03142b57;border:1px solid rgb(255 255 255 / 22%);border-radius:999px;box-shadow:inset 0 1px #ffffff14;font-size:11px;letter-spacing:.08em;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.school-motto span{padding:3px 7px;color:#fff;background:#4b7eecc7;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.12em}.school-motto i{width:3px;height:3px;background:#ffffff94;border-radius:50%}.eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 7px;color:#77a5ff;font-size:11px;font-weight:700;letter-spacing:.1em}.eyebrow span{width:19px;height:2px;background:#77a5ff;border-radius:999px}h1{margin:0;font-family:STZhongsong,FZYaSongS-B-GB,Microsoft YaHei UI,sans-serif;font-size:clamp(25px,7vw,30px);font-weight:700;letter-spacing:-.03em;line-height:1.25}.query-card__description{margin:8px 0 0;color:#e8f0ffb3;font-size:12px;line-height:1.65}.query-card,.result-card,.empty-card{position:relative;z-index:3;margin:-34px max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));color:#fff;border:1px solid rgb(255 255 255 / 16%);background:#031023a3;border-radius:22px;box-shadow:0 22px 58px #010c1d5c,inset 0 1px #ffffff12;-webkit-backdrop-filter:blur(7px) saturate(108%);backdrop-filter:blur(7px) saturate(108%);animation:card-enter .52s .2s cubic-bezier(.2,.8,.2,1) both}.query-card{padding:24px 20px 18px}.query-card__intro{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:14px;align-items:center;margin-bottom:20px;padding-bottom:19px;border-bottom:1px solid rgb(255 255 255 / 13%)}.query-card__intro-icon{display:grid;width:54px;height:54px;place-items:center;color:#8db2ff;background:#4e7ee72e;border-radius:17px}.query-card__intro-icon svg{width:30px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45}.field+.field{margin-top:18px}.field label{display:block;margin:0 0 9px 2px;font-size:14px;font-weight:700}.input-wrap{position:relative;display:flex;height:52px;align-items:center;border:1px solid rgb(255 255 255 / 30%);background:#fffffff0;border-radius:13px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.input-wrap:focus-within{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #6997ff29}.input-wrap svg{width:21px;margin:0 12px 0 15px;flex:0 0 auto;fill:none;stroke:#8792aa;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6;transition:stroke .2s ease}.input-wrap:focus-within svg{stroke:var(--primary)}.input-wrap input{width:100%;height:100%;padding:0 14px 0 0;border:0;outline:0;color:#172033;background:transparent;font-size:16px}.input-wrap input::placeholder{color:#a8afbd}.field__error{min-height:17px;margin:5px 0 -5px 3px;color:var(--danger);font-size:12px;line-height:17px}.field--error .input-wrap{border-color:#e64b55a6;box-shadow:0 0 0 3px #e64b550f}.query-button,.secondary-button{display:flex;width:100%;align-items:center;justify-content:center;cursor:pointer;border-radius:13px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.query-button{height:52px;gap:10px;margin-top:25px;color:#fff;background:var(--primary);box-shadow:0 11px 24px #356df340;font-size:15px;font-weight:700}.query-button svg{width:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transition:transform .18s ease}.query-button:hover{background:var(--primary-dark);box-shadow:0 13px 28px #356df34d}.query-button:hover svg{transform:translate(3px)}.query-button:active,.secondary-button:active{transform:scale(.985)}.query-button:disabled{cursor:wait;opacity:.84}.query-button__loading{display:none;align-items:center;gap:3px}.query-button__loading i{width:4px;height:4px;background:currentColor;border-radius:50%;animation:loading-dot .8s infinite alternate ease-in-out}.query-button__loading i:nth-child(2){animation-delay:.16s}.query-button__loading i:nth-child(3){animation-delay:.32s}.query-button.is-loading .query-button__label,.query-button.is-loading>svg{display:none}.query-button.is-loading .query-button__loading{display:flex}.privacy-note{display:flex;align-items:flex-start;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid rgb(255 255 255 / 12%)}.privacy-note svg{width:18px;flex:0 0 auto;fill:none;stroke:#dbe7ffa3;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.privacy-note p{margin:0;color:#dbe7ff99;font-size:11px;line-height:1.55}.privacy-note strong,.privacy-note span{display:block}.privacy-note strong{margin-bottom:2px;color:#f1f6ffd1;font-size:12px}.result-card,.empty-card{padding:28px 22px 24px}.result-card__success{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--success);font-size:13px;font-weight:700}.result-card__success svg{width:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.result-card__welcome{margin:14px 0 20px;text-align:center;color:#e2ecffad;font-size:14px}.result-card__welcome strong{color:#fff}.class-ticket{position:relative;padding:24px 14px 21px;overflow:hidden;text-align:center;background:linear-gradient(135deg,rgb(255 255 255 / 15%) 25%,transparent 25%) 0 0 / 18px 18px,linear-gradient(145deg,#3b74f6,#245cde);border-radius:17px;box-shadow:0 14px 30px #356df33b;color:#fff}.class-ticket:before,.class-ticket:after{position:absolute;top:50%;width:18px;height:18px;content:"";background:#071a35;border-radius:50%;transform:translateY(-50%)}.class-ticket:before{left:-10px}.class-ticket:after{right:-10px}.class-ticket__label,.class-ticket__school{display:block;color:#ffffffb8;font-size:12px}.class-ticket strong{display:block;margin:8px 0 9px;font-family:STZhongsong,Microsoft YaHei UI,sans-serif;font-size:clamp(29px,8vw,36px);letter-spacing:.02em}.result-details{display:grid;grid-template-columns:1fr;margin:22px 0;padding:0}.result-details div{text-align:center}.result-details div+div{border-left:1px solid var(--line)}.result-details dt{color:#e2ecffa3;font-size:12px}.result-details dd{margin:7px 0 0;font-size:14px;font-weight:700}.result-details__time dd{font-variant-numeric:tabular-nums;letter-spacing:.02em}.secondary-button{height:48px;border:1px solid rgb(139 178 255 / 40%);color:#cbdcff;background:#4877dc2b;font-size:14px;font-weight:700}.secondary-button:hover{background:#4877dc47}.empty-card{padding-top:35px;text-align:center}.empty-card__icon{display:grid;width:66px;height:66px;margin:0 auto 18px;place-items:center;color:#7691ce;background:#eef3ff;border-radius:50%}.empty-card__icon svg{width:31px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.error-card .empty-card__icon{color:#d88928;background:#fff5e7}.empty-card h2{margin:0;font-size:20px}.empty-card p{max-width:280px;margin:10px auto 26px;color:#e2ecffad;font-size:13px;line-height:1.7}footer{padding:20px 18px 0;color:#ebf2ff9e;text-shadow:0 1px 8px rgb(0 12 30 / 70%);text-align:center;font-size:11px}@keyframes enter-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes enter-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes visual-enter{0%{opacity:0;transform:translate(12px,8px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes card-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes loading-dot{0%{opacity:.35;transform:translateY(2px)}to{opacity:1;transform:translateY(-2px)}}@media(min-width:760px){body{display:grid;place-items:start center;padding:22px 0}.page-shell{width:480px;max-width:calc(100vw - 44px);min-height:auto;border:1px solid rgb(255 255 255 / 15%);background:linear-gradient(180deg,transparent 0 28%,rgb(3 18 38 / 5%) 52%,rgb(3 18 38 / 18%) 100%);border-radius:28px;box-shadow:0 24px 80px #010d1f57}}@media(max-width:759px){body{background-attachment:scroll}}@media(max-height:800px){.brand{top:max(12px,env(safe-area-inset-top))}.brand__logo{width:40px;height:40px}.brand__text strong{font-size:15px}.school-welcome{height:208px}.school-welcome__copy{padding-bottom:35px}.school-welcome__title{font-size:21px}.school-motto{gap:6px;margin-top:6px!important;padding:4px 9px 4px 5px;font-size:10px}.school-motto span{padding:2px 6px;font-size:8px}.query-card,.result-card,.empty-card{margin-top:-24px}.query-card{padding:16px 18px 12px}.query-card__intro{grid-template-columns:minmax(0,1fr) 46px;gap:12px;margin-bottom:12px;padding-bottom:12px}.query-card__intro-icon{width:46px;height:46px;border-radius:14px}.query-card__intro-icon svg{width:26px}.eyebrow{margin-bottom:4px;font-size:10px}h1{font-size:clamp(23px,6.5vw,27px)}.query-card__description{margin-top:5px;font-size:11px;line-height:1.45}.field+.field{margin-top:9px}.field label{margin-bottom:6px;font-size:13px}.input-wrap{height:46px}.field__error{min-height:13px;margin:3px 0 -3px 3px;font-size:11px;line-height:13px}.query-button{height:48px;margin-top:14px}.privacy-note{gap:8px;margin-top:12px;padding-top:10px}.privacy-note svg{width:16px}.privacy-note p{font-size:10px;line-height:1.4}.privacy-note strong{margin-bottom:1px;font-size:11px}footer{padding-top:10px;font-size:10px}}@media(max-height:620px){.school-welcome{height:174px}.school-welcome__copy{padding-bottom:25px}.query-card__description,.privacy-note span{display:none}.school-welcome__title{font-size:19px}.school-motto{margin-top:5px!important}.query-card,.result-card,.empty-card{margin-top:-18px}.query-card__intro{margin-bottom:9px;padding-bottom:9px}.field+.field{margin-top:6px}.query-button{margin-top:10px}.privacy-note{margin-top:8px;padding-top:8px}footer{padding-top:7px}}@media(max-width:370px){.query-card,.result-card,.empty-card{margin-right:max(14px,env(safe-area-inset-right));margin-left:max(14px,env(safe-area-inset-left))}.query-card{padding-right:16px;padding-left:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
