:root{font-family:PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#172019;background:#f5f7f4;font-synthesis:none;text-rendering:optimizeLegibility;--green: #08b85a;--green-dark: #078a46;--green-soft: #eaf8ef;--ink: #172019;--muted: #69736c;--line: #e3e9e4;--surface: #ffffff;--danger: #c33c3c;--shadow: 0 18px 48px rgba(32, 66, 43, .09)}*{box-sizing:border-box}html{min-height:100%;background:#f5f7f4}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 12% 0%,rgba(46,190,102,.12),transparent 30rem),#f5f7f4}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid rgba(8,184,90,.22);outline-offset:2px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom))}.login-panel{width:min(100%,440px);padding:38px 28px 30px;border:1px solid rgba(222,231,223,.92);border-radius:28px;background:rgba(255,255,255,.95);box-shadow:var(--shadow)}.brand-mark{width:54px;height:54px;display:flex;align-items:end;gap:5px;padding:13px;margin-bottom:28px;border-radius:18px;background:var(--green);box-shadow:0 10px 24px #08b85a3d}.brand-mark span{width:7px;border-radius:8px;background:#fff}.brand-mark span:nth-child(1){height:15px;opacity:.72}.brand-mark span:nth-child(2){height:27px}.brand-mark span:nth-child(3){height:20px;opacity:.86}.eyebrow{margin:0 0 7px;color:var(--green-dark);font-size:13px;font-weight:700;letter-spacing:.12em}.login-panel h1,.topbar h1,.section-heading h2{margin:0}.login-panel h1{font-size:clamp(30px,9vw,39px);line-height:1.14;letter-spacing:-.04em}.login-intro{margin:14px 0 28px;color:var(--muted);font-size:15px;line-height:1.75}.login-form,.bind-form{display:grid}.field-label{margin:0 0 8px;color:#374039;font-size:14px;font-weight:650}.field-label:not(:first-child){margin-top:18px}.field-label span{margin-left:5px;color:#909891;font-size:12px;font-weight:400}input{width:100%;height:52px;padding:0 15px;border:1px solid #dce3dd;border-radius:14px;color:var(--ink);background:#fbfcfb;font-size:16px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input::placeholder{color:#a5aca7}input:focus{border-color:var(--green);background:#fff;box-shadow:0 0 0 4px #08b85a17;outline:none}.primary-button,.secondary-button,.refresh-button,.text-button{border:0;cursor:pointer}.primary-button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:9px;margin-top:24px;padding:0 20px;border-radius:15px;color:#fff;background:var(--green);font-weight:700;box-shadow:0 10px 24px #08b85a33}.primary-button:active:not(:disabled){transform:translateY(1px)}.primary-button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.form-error{margin:13px 0 -8px;color:var(--danger);font-size:13px;line-height:1.5}.login-tip{display:flex;gap:11px;align-items:flex-start;margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.login-tip p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.tip-number{flex:0 0 auto;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:var(--green-dark);background:var(--green-soft);font-size:12px;font-weight:700}.topbar{padding:max(24px,env(safe-area-inset-top)) 20px 58px;color:#fff;background:#143d29}.topbar-inner{width:min(100%,720px);display:flex;align-items:center;justify-content:space-between;gap:18px;margin:auto}.topbar-label{margin:0 0 4px;color:#ffffffa8;font-size:12px;letter-spacing:.12em}.topbar h1{max-width:470px;overflow:hidden;font-size:23px;text-overflow:ellipsis;white-space:nowrap}.text-button{flex:0 0 auto;padding:9px 12px;border-radius:10px;color:#ffffffc7;background:rgba(255,255,255,.09);font-size:13px}.page-shell{width:min(calc(100% - 28px),720px);margin:-34px auto 0;padding-bottom:max(40px,env(safe-area-inset-bottom))}.account-strip{display:flex;align-items:center;gap:12px;padding:18px;border:1px solid rgba(222,231,223,.9);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.account-icon{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,#11bf62,#078b45);font-size:18px;font-weight:700}.account-strip p{margin:0 0 4px;color:var(--ink);font-size:15px;font-weight:700}.account-strip span{color:var(--muted);font-size:13px}.binding-section,.guide-section{margin-top:16px;padding:24px 20px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 10px 32px #20422b0e}.section-heading h2{font-size:22px;line-height:1.25;letter-spacing:-.02em}.search-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.refresh-button{min-height:40px;display:inline-flex;align-items:center;gap:5px;padding:0 12px;border-radius:12px;color:var(--green-dark);background:var(--green-soft);font-size:13px;font-weight:650}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.refresh-icon{font-size:19px;line-height:1}.refresh-icon.is-spinning{animation:spin .9s linear infinite}.status-card{margin-top:22px;padding:28px 18px;border-radius:18px;text-align:center;background:#f8faf8}.loading-card{display:grid;place-items:center;gap:13px;color:var(--muted)}.loading-card p{margin:0;font-size:14px}.large-spinner,.button-spinner{display:inline-block;border-radius:50%;animation:spin .8s linear infinite}.large-spinner{width:30px;height:30px;border:3px solid #d8e9dc;border-top-color:var(--green)}.button-spinner{width:17px;height:17px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff}.empty-card h3{margin:16px 0 8px;font-size:18px}.empty-card p{max-width:430px;margin:auto;color:var(--muted);font-size:14px;line-height:1.7}.empty-clock{position:relative;width:52px;height:52px;margin:auto;border:4px solid #b9d8c2;border-radius:50%}.empty-clock:before,.empty-clock:after{content:"";position:absolute;left:50%;top:50%;width:3px;border-radius:3px;background:#78b88b;transform-origin:center top}.empty-clock:before{height:13px;transform:translate(-50%,-1px) rotate(180deg)}.empty-clock:after{height:10px;transform:translate(-50%,-1px) rotate(120deg)}.secondary-button{min-height:42px;margin-top:18px;padding:0 18px;border:1px solid #cfe0d3;border-radius:12px;color:var(--green-dark);background:#fff;font-weight:650}.error-card{color:var(--danger);background:#fff4f3}.error-card p{margin:0}.entry-card{margin-top:22px;overflow:hidden;border:1px solid #dce7de;border-radius:18px;background:#fbfdfb}.entry-person{display:flex;align-items:center;gap:14px;padding:18px;background:linear-gradient(120deg,#f0faf3,#fbfdfb)}.entry-person img,.avatar-fallback{width:58px;height:58px;flex:0 0 auto;border-radius:18px;object-fit:cover}.entry-person img{border:2px solid #fff;box-shadow:0 4px 14px #1a41271f}.avatar-fallback{display:grid;place-items:center;color:#fff;background:#53ad73;font-size:21px;font-weight:700}.entry-person span{color:var(--muted);font-size:12px}.entry-person h3{margin:4px 0 0;font-size:19px}.entry-details{margin:0;padding:0 18px}.entry-details div{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;border-top:1px solid var(--line)}.entry-details dt{color:var(--muted);font-size:13px}.entry-details dd{margin:0;text-align:right;font-size:14px;font-weight:650}.bind-form{margin-top:20px}.bind-button{width:100%}.form-helper{margin:10px 0 0;color:var(--muted);text-align:center;font-size:12px;line-height:1.55}.warning-text{color:#a06414}.guide-section{padding-bottom:18px}.steps-list{list-style:none;display:grid;gap:0;margin:22px 0 0;padding:0}.steps-list li{position:relative;display:flex;gap:14px;padding:0 0 22px}.steps-list li:not(:last-child):after{content:"";position:absolute;left:15px;top:33px;bottom:4px;width:1px;background:#dce9df}.step-number{position:relative;z-index:1;flex:0 0 auto;width:31px;height:31px;display:grid;place-items:center;border-radius:10px;color:var(--green-dark);background:var(--green-soft);font-size:13px;font-weight:800}.steps-list h3{margin:2px 0 5px;font-size:15px}.steps-list p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.notice-box{padding:17px;border-radius:15px;color:#5d4c24;background:#fff8e9}.notice-box strong{font-size:14px}.notice-box p{margin:7px 0 0;font-size:13px;line-height:1.7}.toast{position:fixed;z-index:100;left:50%;bottom:max(28px,env(safe-area-inset-bottom));max-width:calc(100% - 36px);padding:12px 17px;border-radius:12px;color:#fff;background:rgba(22,31,25,.94);box-shadow:0 12px 32px #0003;font-size:14px;opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:opacity .18s ease,transform .18s ease}.toast.is-visible{opacity:1;transform:translate(-50%)}.toast-success{background:rgba(5,122,60,.96)}.toast-error{background:rgba(169,43,43,.96)}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width: 640px){.binding-section,.guide-section{padding:30px}.entry-person{padding:22px}.entry-details{padding:0 22px}}@media (max-width: 380px){.login-panel{padding:30px 20px 24px;border-radius:22px}.topbar{padding-inline:14px}.page-shell{width:calc(100% - 20px)}.binding-section,.guide-section{padding:21px 16px}.search-heading{align-items:flex-start}.refresh-button{padding-inline:9px}.entry-details div{align-items:flex-start;flex-direction:column;gap:5px;padding:13px 0}.entry-details dd{text-align:left}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
