:root{font-family:Inter,"Noto Sans SC","Microsoft YaHei",sans-serif;color:#102f64;background:#f5f8fd;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(1220px,calc(100% - 64px));margin:auto}.topbar{height:76px;background:#fff;border-bottom:1px solid #e4eaf4}.topbar .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand img{width:178px;height:auto}.home-link,.text-button{font-size:14px;font-weight:700;color:#315683}.text-button{background:none;border:0;padding:10px}.topbar-right{display:flex;align-items:center;gap:20px}.vip-badge{color:#0953b2;background:#eaf3ff;border-radius:99px;font-size:12px;font-weight:800;padding:8px 13px}.eyebrow{display:block;color:#a6cafa;font-size:11px;font-weight:800;letter-spacing:.18em}.eyebrow.blue{color:#135abc}.loading{text-align:center;padding:100px 20px;color:#547092}.login-layout{min-height:calc(100svh - 76px);display:grid;grid-template-columns:53% 47%;background:#fff}.login-scene{position:relative;overflow:hidden;background:#0b306b;color:#fff;padding:clamp(45px,6vw,90px) clamp(40px,7vw,110px)}.login-scene h1{position:relative;z-index:1;font-size:clamp(38px,4vw,58px);line-height:1.2;letter-spacing:-.025em;margin:20px 0 18px}.login-scene p{position:relative;z-index:1;color:#d8e8ff;font-size:16px}.login-scene-image{position:absolute;inset:42% 0 0;background:linear-gradient(180deg,#0b306b 0%,rgba(11,48,107,.1) 45%),url('/百年前程_assets/home-direction-people-v3.webp') center/cover no-repeat;opacity:.94}.login-panel{display:grid;place-items:center;padding:42px}.login-box{width:min(440px,100%);animation:rise .4s ease both}.login-box h2{font-size:34px;margin:12px 0}.login-box>p{font-size:15px;line-height:1.75;color:#607597;margin:0 0 28px}.login-box form,.admin-login-panel form{display:grid;gap:18px}label{display:grid;gap:9px;font-weight:750;font-size:14px}label small{font-weight:400;color:#7990ab}input{width:100%;height:50px;border:1px solid #c8d8ed;border-radius:9px;padding:0 14px;outline:none;background:#fff;color:#102f64}input:focus{border-color:#0f61c5;box-shadow:0 0 0 3px #d9e9fc}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:20px;border:0;border-radius:9px;background:#0951b3;color:#fff;font-weight:800;padding:15px 20px;min-height:52px;box-shadow:0 9px 20px #0951b326;transition:background .15s,transform .15s}.primary-button:hover{background:#073e88;transform:translateY(-2px)}.primary-button:disabled{opacity:.55;cursor:wait}.error{color:#b72936;margin:0;font-size:13px;min-height:20px}.hub{padding:clamp(35px,5vw,65px) 0 52px;min-height:calc(100svh - 140px)}.hub-intro{max-width:840px;margin-bottom:32px;animation:rise .4s ease both}.hub-intro h1{font-size:clamp(30px,3vw,42px);line-height:1.22;letter-spacing:-.025em;margin:13px 0}.hub-intro p{font-size:15px;line-height:1.75;color:#607597;margin:0}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product{background:#fff;border:1px solid #e1eafa;border-radius:16px;overflow:hidden;box-shadow:0 8px 26px #10386c0d;transition:transform .2s,box-shadow .2s;animation:rise .45s ease both}.product:nth-child(2){animation-delay:.06s}.product:nth-child(3){animation-delay:.12s}.product:hover{transform:translateY(-5px);box-shadow:0 18px 34px #10386c1c}.product:focus-visible{outline:3px solid #1c69ce;outline-offset:3px}.product-image{height:210px;position:relative;overflow:hidden;background:#dceafd}.product-image:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,#06285b91)}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.product:hover img{transform:scale(1.035)}.product-image span{position:absolute;z-index:1;left:20px;bottom:17px;color:white;font-weight:750;font-size:13px}.book-image{background:#e8f1fd}.book-image img{object-fit:contain;padding:12px 0 8px}.book-image:after{display:none}.book-image span{color:#0951b3;background:#fff;border-radius:5px;padding:5px 8px;bottom:12px}.product-copy{padding:23px 24px 22px;display:flex;flex-direction:column;min-height:242px}.product-copy h2{font-size:22px;line-height:1.35;letter-spacing:-.015em;margin:0 0 13px}.product-copy h2 small{font-size:16px;color:#376aaa}.product-copy p{font-size:13px;color:#607597;line-height:1.75;margin:0 0 22px}.product-action{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #dce7f5;padding-top:15px;margin-top:auto;color:#0753b9;font-size:14px;font-weight:800}.product-action b{font-size:20px;font-weight:500}.hub-footnote{margin-top:22px;font-size:12px;color:#6c82a0}.footer{border-top:1px solid #e4eaf4;padding:20px 0;color:#7087a3;font-size:12px}.footer .container{display:flex;justify-content:space-between}.admin-login{min-height:100svh;display:grid;place-items:center;padding:24px}.admin-login-panel{background:#fff;border:1px solid #e1eafa;border-radius:16px;padding:35px;width:min(440px,100%)}.admin-login-panel .brand{display:block;margin-bottom:35px}.admin-login-panel h1{font-size:32px;margin:14px 0}.admin-login-panel>p{color:#607597;margin:0 0 26px}.admin-main{padding:45px 0 70px}.admin-section{border-top:1px solid #d8e4f3;padding:28px 0}.admin-section h2{font-size:21px;margin:0 0 18px}.admin-form{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.admin-form label:first-child{min-width:min(340px,100%);flex:1}.admin-form label:nth-child(2){width:145px}.admin-form .primary-button{height:50px}.output{background:#eaf3ff;padding:20px;margin-top:20px;border-radius:10px}.output p{font-size:13px;color:#547092}.output textarea{width:100%;min-height:100px;resize:vertical;border:1px solid #a9c8eb;border-radius:8px;padding:12px;color:#123b75}.outline-button{border:1px solid #9dbde6;border-radius:8px;background:#fff;color:#0b58ae;font-weight:750;padding:10px 16px;margin-top:10px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:580px;font-size:14px;text-align:left}th,td{padding:14px 12px;border-bottom:1px solid #dce7f5}th{font-size:12px;color:#647d9c}td{color:#284872}.table-action{color:#a62c38;background:none;border:0;font-weight:750}.empty,.admin-note{color:#7087a3;font-size:13px}.admin-note{margin-top:22px}@keyframes rise{from{opacity:0;transform:translateY(11px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.login-layout{grid-template-columns:1fr}.login-scene{min-height:255px;padding:38px 32px}.login-scene h1{font-size:34px;margin:10px 0}.login-scene p{font-size:14px}.login-scene-image{inset:0 0 0 48%;background:linear-gradient(90deg,#0b306b,transparent),url('/百年前程_assets/home-direction-people-v3.webp') center/cover no-repeat}.login-panel{padding:38px 24px}.product-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.container{width:calc(100% - 36px)}.topbar{height:62px}.brand img{width:145px}.login-layout{min-height:calc(100svh - 62px)}.login-scene{min-height:205px;padding:25px 21px}.login-scene .eyebrow{font-size:9px}.login-scene h1{font-size:28px;margin:9px 0}.login-scene p{font-size:12px;max-width:240px}.login-scene-image{inset:0 0 0 51%;opacity:.55}.login-panel{padding:31px 20px}.login-box h2{font-size:28px}.product-grid{grid-template-columns:1fr;gap:15px}.hub{padding:32px 0 42px}.hub-intro{margin-bottom:24px}.hub-intro h1{font-size:28px}.product{display:grid;grid-template-columns:39% 61%;min-height:175px}.product-image{height:100%;min-height:175px}.product-image span{font-size:10px;left:10px;bottom:12px}.book-image img{padding:10px}.book-image span{font-size:10px}.product-copy{min-height:175px;padding:17px 14px 14px}.product-copy h2{font-size:17px;margin-bottom:7px}.product-copy h2 small{font-size:13px}.product-copy p{font-size:11px;line-height:1.5;margin:0 0 10px}.product-action{font-size:12px;padding-top:7px}.admin-main{padding:28px 0}.admin-form label:first-child{min-width:100%}.admin-form label:nth-child(2){flex:1}.topbar-right{gap:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
