:root{--brand-blue:#1769e0;--brand-deep:#123f82;--brand-teal:#08a9a2;--brand-soft:#eef7fb;--brand-warm:#e39a4a}
body{background:radial-gradient(circle at 10% 8%,#e5f1ff 0,transparent 32%),radial-gradient(circle at 92% 68%,#e5faf6 0,transparent 28%),#f3f7fc;color:#142d49}
.app-shell{background:linear-gradient(180deg,#fbfdff 0,#f4f8fd 100%);box-shadow:0 0 48px rgba(33,83,138,.12)}
.topbar{background:linear-gradient(100deg,#fff 0,#f5fbff 58%,#f0fbfa 100%);border-bottom:1px solid #deebf4;box-shadow:0 4px 18px rgba(31,91,144,.06)}
.brand-logo{filter:drop-shadow(0 7px 10px rgba(24,105,224,.12))}.logo-symbol{background:linear-gradient(145deg,#2478ed,#08aaa2)!important}.logo-word{color:var(--brand-deep)!important}.logo-accent{background:var(--brand-teal)!important}
.page-route-title{color:var(--brand-deep)!important;letter-spacing:1.5px!important}
.page-wrap{padding-top:22px}
.hero{border:1px solid #dcebf5;box-shadow:0 16px 34px rgba(35,103,166,.10);background:linear-gradient(135deg,#eaf4ff 0,#f9fdff 48%,#edfaf8 100%)}
.hero:before{content:'';position:absolute;width:170px;height:170px;right:-54px;top:-62px;border:1px solid rgba(8,169,162,.14);border-radius:50%;box-shadow:0 0 0 24px rgba(8,169,162,.035),0 0 0 48px rgba(8,169,162,.025)}
.hero:after{content:'筑';display:block!important;position:absolute;right:12px;bottom:-36px;color:rgba(23,105,224,.075);font-size:148px;line-height:1;font-weight:900;pointer-events:none}
.section-head{margin-top:30px}.section-head h2{display:flex;align-items:center;gap:9px}.section-head h2:before{content:'';width:4px;height:19px;border-radius:4px;background:linear-gradient(#1769e0,#08a9a2);box-shadow:0 3px 8px rgba(23,105,224,.2)}
.video-card{border:1px solid #dcebf5;box-shadow:0 14px 30px rgba(43,110,169,.10);background:linear-gradient(145deg,#e7f3ff,#dff8f4)}
.quick{border:1px solid #edf3f7;transition:transform .18s ease,box-shadow .18s ease}.quick:active,.menu-item:active,.bottom-nav button:active{transform:scale(.97)}.quick:nth-child(2n) .quick-svg{color:var(--brand-teal)}
.share-banner{box-shadow:0 15px 28px rgba(23,105,224,.18);background:linear-gradient(135deg,#1769e0 0,#2584e8 55%,#08a9a2 100%)}
.milestones,.claim-list,.news-card{overflow:hidden;border:1px solid #e7eff5;box-shadow:0 12px 28px rgba(31,87,135,.07)}.milestone{transition:background .18s ease}.milestone:hover{background:#f8fcff}.milestone .count{background:linear-gradient(145deg,#e6f3ff,#e4faf6);color:var(--brand-teal)}
.profile-card{border:1px solid #dcebf5;box-shadow:0 14px 28px rgba(31,87,135,.09)}.avatar{background:linear-gradient(145deg,#1769e0,#08a9a2);box-shadow:0 8px 16px rgba(8,169,162,.18)}
.mine-balance{border:1px solid #cdeeea!important;background:linear-gradient(135deg,#eaf7ff,#e8faf7)!important;box-shadow:0 14px 28px rgba(8,169,162,.10)}.mine-balance button{background:linear-gradient(135deg,#08a9a2,#087e9e)!important;box-shadow:0 8px 15px rgba(8,169,162,.20)}
.stats,.tabs,.menu-grid,.signin-calendar-card,.signin-summary{box-shadow:0 12px 28px rgba(31,87,135,.07)}
.menu-title{display:flex;align-items:center;gap:9px}.menu-title:before{content:'';width:4px;height:18px;border-radius:4px;background:var(--brand-teal)}.menu-grid{border:1px solid #e7eff5}.menu-item{transition:background .18s ease,transform .18s ease}.menu-item:hover{background:#f5fbfc}.menu-item span{color:var(--brand-teal)}
.bottom-nav{background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 -8px 24px rgba(31,87,135,.08)}.bottom-nav button.active{color:var(--brand-blue)}.bottom-nav button.active:after{content:'';display:block;width:22px;height:3px;border-radius:4px;margin:2px auto 0;background:linear-gradient(90deg,#1769e0,#08a9a2)}
.signin-today{background:linear-gradient(135deg,#1769e0,#08a9a2)!important;box-shadow:0 8px 16px rgba(23,105,224,.18)}.signin-today:disabled{background:#b7d4d2!important;box-shadow:none!important}
.logout-item{transition:filter .18s ease,transform .18s ease}.logout-item:active{filter:brightness(.96);transform:scale(.985)}
