.app-icon{line-height:0;display:inline-flex}:root{--bg:#f2f5fa;--card:#fff;--ink:#17233d;--ink-2:#5b6b8c;--ink-3:#96a0b5;--line:#17233d12;--accent:#1478f0;--accent-deep:#0e63cc;--accent-soft:#eaf2fe;--grad-btn:linear-gradient(120deg, #3e97ff, #1478f0);--grad-hero:linear-gradient(128deg, #4e9dff 0%, #1668e8 78%);--grad-avatar:linear-gradient(140deg, #4e9dff, #146ef5);--green:#17a34a;--green-soft:#e8f7ee;--gold:#f5a623;--radius-card:16px;--shadow-card:0 1px 2px #17233d0a, 0 10px 28px #17233d0d;--shadow-float:0 12px 40px #17233d2e;--font:-apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--ink);background:#e4e9f1;justify-content:center;min-height:100vh;font-size:14px;line-height:1.5;display:flex}.phone{background:var(--bg);flex-direction:column;width:100%;max-width:430px;min-height:100vh;display:flex;position:relative}@media (width>=460px){.phone{box-shadow:0 0 0 1px #17233d14,0 24px 64px #17233d24}}.app-header{z-index:40;-webkit-backdrop-filter:blur(12px);background:#f2f5faeb;justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex;position:sticky;top:0}.app-header .titles{flex:1;min-width:0}.app-header .titles h1{letter-spacing:.2px;font-size:20px;font-weight:600}.app-header .titles p{color:var(--ink-3);margin-top:2px;font-size:12px}.back-btn{background:var(--card);border:1px solid var(--line);width:36px;height:36px;color:var(--ink-2);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-right:12px;text-decoration:none;display:flex}.back-btn .ic{width:18px;height:18px;transform:scaleX(-1)}.header-actions{align-items:center;gap:10px;display:flex}.bell-btn{background:var(--card);border:1px solid var(--line);width:36px;height:36px;color:var(--ink-2);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex}.avatar{background:var(--grad-avatar);color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:600;display:flex}.page-body{flex-direction:column;flex:1;gap:16px;padding:4px 16px 108px;display:flex}.section-head{justify-content:space-between;align-items:baseline;padding:4px 4px 0;display:flex}.section-head h2{font-size:17px;font-weight:600}.section-head span{color:var(--ink-3);font-size:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:20px}.hero-card{background:var(--grad-hero);color:#fff;border-radius:20px;padding:24px 20px;position:relative;overflow:hidden}.hero-card:before,.hero-card:after{content:"";background:#ffffff17;border-radius:50%;position:absolute}.hero-card:before{width:180px;height:180px;top:-70px;right:-60px}.hero-card:after{background:#ffffff12;width:120px;height:120px;bottom:-60px;right:40px}.hero-card h2{letter-spacing:.3px;font-size:22px;font-weight:700}.hero-card p{color:#ffffffe0;z-index:1;margin-top:8px;font-size:14px;line-height:1.6;position:relative}.hero-card .btn-light{z-index:1;margin-top:16px;position:relative}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;font-family:inherit;font-size:15px;font-weight:600;text-decoration:none;transition:filter .16s,opacity .16s;display:inline-flex}.btn:active{filter:brightness(.94)}.btn-primary{background:var(--grad-btn);color:#fff;width:100%;height:52px;font-size:16px}.btn-light{color:var(--ink);background:#fff;border-radius:999px;padding:10px 20px;font-size:14px}.btn-soft{background:var(--accent-soft);width:100%;height:44px;color:var(--accent);border-radius:12px;font-size:14px}.btn-ghost{width:100%;height:44px;color:var(--accent);background:#fff;border:1px solid #1478f047;font-size:14px}.btn-pill-soft{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:10px 24px;font-size:14px;font-weight:600}.tile{-webkit-user-select:none;user-select:none;border-radius:12px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.tile-lg{border-radius:20px;width:72px;height:72px}.tile-sm{border-radius:10px;width:36px;height:36px}.tile .ic{width:24px;height:24px}.tile-lg .ic{width:36px;height:36px}.tile-sm .ic{width:20px;height:20px}.t-peach{color:#d9730d;background:#ffefe0}.t-blue{color:#2469e6;background:#e3eeff}.t-mint{color:#1e9e5a;background:#e2f6ea}.t-lav{color:#6a5ae0;background:#ecebfc}.t-pink{color:#d65588;background:#fce8f0}.t-yellow{color:#c08a0e;background:#fff5dc}.t-cyan{color:#0e8fa8;background:#e0f3f8}.t-rose{color:#d25a4a;background:#fce9e6}.card-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.card-grid .card{padding:16px}.card-grid .module-card .tile{margin-bottom:12px}.card-grid .module-card h3{font-size:15px;line-height:1.4}.card-grid .module-card p{margin-top:4px;font-size:12px;line-height:1.5}.card-grid .module-card .enter{margin-top:10px;font-size:12px}.module-card{color:inherit;text-decoration:none;display:block}.module-card .tile{margin-bottom:14px}.module-card h3{font-size:17px;font-weight:600}.module-card p{color:var(--ink-3);margin-top:4px;font-size:13px}.module-card .enter{color:var(--accent);margin-top:12px;font-size:13px;font-weight:600;display:inline-block}.badge-soon{color:#9aa3b5;background:#eef1f6;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-block}.badge-demo{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.chip{background:var(--accent-soft);color:var(--accent);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;align-items:center;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.chip-outline{color:var(--ink-2);background:0 0;border:1px solid #d4dbe7;font-weight:400}.chip-selected{border:1.5px solid var(--accent);color:var(--accent);background:#fff;font-weight:600}.chip-dark{color:#fff;background:#1d2b3f;font-weight:500}.chip-row{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.seg{background:#e7edf5;border-radius:12px;padding:3px;display:flex}.seg a,.seg button{height:40px;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;font-family:inherit;font-size:15px;font-weight:500;text-decoration:none;display:flex}.seg .on{color:var(--accent);background:#fff;font-weight:600;box-shadow:0 1px 4px #17233d1a}.period-row{gap:8px;display:flex}.period{height:34px;color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #d4dbe7;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-family:inherit;font-size:13px;text-decoration:none;display:inline-flex}.period.on{border-color:var(--accent);color:var(--accent);background:#fff;font-weight:600}.rank-row{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.rank-row+.rank-row{margin-top:8px}.rank-row.top1{background:#fffbf2;border:1.5px solid #f3d9a4}.rank-no{color:#fff;background:#a9b4c6;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex}.rank-no.g1{background:var(--gold)}.rank-no.g3{background:#f08c4a}.rank-face{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;font-weight:600;display:flex}.rf-gold{background:linear-gradient(140deg,#f7b84b,#e88e2d)}.rf-blue{background:linear-gradient(140deg,#5aa2ff,#2469e6)}.rf-orange{background:linear-gradient(140deg,#f2995a,#df6b33)}.rank-main{flex:1;min-width:0}.rank-main .n{font-size:15px;font-weight:600;display:block}.rank-main .t{color:var(--ink-3);margin-top:1px;font-size:12px;display:block}.rank-val{text-align:right}.rank-val .v{font-variant-numeric:tabular-nums;color:var(--ink);font-size:16px;font-weight:700}.rank-val .l{color:var(--ink-3);font-size:11px}.field{width:100%;height:52px;color:var(--ink);background:#f4f6fa;border:1px solid #0000;border-radius:12px;outline:none;padding:0 16px;font-family:inherit;font-size:15px;transition:border-color .16s,background .16s}.field::placeholder{color:#a8b2c5}.field:focus{background:#fff;border-color:#1478f080}textarea.field{resize:vertical;height:auto;min-height:96px;padding:14px 16px;line-height:1.6}.field+.field,.field+.form-row,.form-row+.field,.form-row+.form-row{margin-top:12px}.form-note{color:var(--ink-3);font-size:12px}.file-row{height:52px;color:var(--ink-3);background:#f4f6fa;border-radius:12px;align-items:center;gap:10px;padding:0 12px;font-size:14px;display:flex}.file-btn{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #d4dbe7;border-radius:8px;padding:6px 12px;font-size:13px}.menu-card{padding:4px 0}.menu-row{color:inherit;align-items:center;gap:12px;padding:14px 20px;text-decoration:none;transition:background .16s;display:flex}.menu-row:active{background:#f6f8fc}.menu-row .tile-sm{flex:none}.menu-main{flex:1;min-width:0}.menu-main .n{font-size:15px;font-weight:600;display:block}.menu-main .s{color:var(--ink-3);margin-top:1px;font-size:12px;display:block}.menu-arrow{color:#c3cbda;flex:none}.empty{text-align:center;flex-direction:column;align-items:center;padding:36px 20px;display:flex}.empty .glyph{color:#a6b1c4}.empty .glyph .ic{width:40px;height:40px}.empty .t{color:var(--ink-2);margin-top:14px;font-size:14px}.empty .s{color:var(--ink-3);max-width:260px;margin-top:4px;font-size:12px}.quota-row{margin-top:14px}.quota-row:first-child{margin-top:0}.quota-head{justify-content:space-between;align-items:baseline;display:flex}.quota-head .l{color:var(--ink-2);font-size:13px}.quota-head .v{color:var(--accent);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.bar{background:#e6ebf4;border-radius:999px;height:8px;margin-top:8px;overflow:hidden}.bar i{background:var(--grad-btn);border-radius:999px;height:100%;display:block}.stat-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat-cell{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:14px;padding:16px 8px}.stat-cell .v{color:var(--accent);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.stat-cell .l{color:var(--ink-3);margin-top:2px;font-size:11px}.overlay{z-index:60;background:#0f192d73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:430px;box-shadow:var(--shadow-float);background:#fff;border-radius:20px;flex-direction:column;margin:96px 16px 16px;animation:.2s rise;display:flex;overflow:hidden}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 20px 16px;display:flex}.modal-head h3{font-size:17px;font-weight:600}.modal-close{width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:#f1f3f8;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.modal-body{max-height:62vh;padding:20px;overflow-y:auto}.modal-body h4{margin-top:18px;font-size:14px;font-weight:600}.modal-body h4:first-child{margin-top:0}.modal-body p{color:var(--ink-2);margin-top:8px;font-size:13px;line-height:1.75}.modal-body strong{color:var(--ink)}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.drawer{z-index:60;box-shadow:var(--shadow-float);background:#fff;border-radius:16px;animation:.2s rise;position:fixed;top:76px;left:16px;right:16px;overflow:hidden}.drawer-head{justify-content:space-between;align-items:center;padding:16px 16px 12px;display:flex}.drawer-head .n{font-size:16px;font-weight:600}.drawer-head .s{color:var(--ink-3);margin-top:1px;font-size:12px}.conv-row{cursor:pointer;border-radius:12px;align-items:center;gap:10px;margin:0 8px;padding:12px 10px;display:flex}.conv-row.cur{background:#edf4fe}.conv-main{flex:1;min-width:0}.conv-main .n{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;display:block;overflow:hidden}.conv-main .t{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-top:1px;font-size:12px;display:block}.conv-act{color:#b6bfce;gap:6px;display:flex}.toast{z-index:70;color:#fff;box-shadow:var(--shadow-float);white-space:nowrap;background:#1d2b3f;border-radius:999px;padding:10px 20px;font-size:13px;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}.soon-card{text-align:center;background:#fff9;border:1.5px dashed #cbd4e2;border-radius:20px;flex-direction:column;align-items:center;padding:48px 24px;display:flex}.soon-card .tile-lg{color:var(--accent);background:#eaeff6}.soon-card h3{margin-top:20px;font-size:18px;font-weight:700}.soon-card p{color:var(--ink-3);max-width:300px;margin-top:10px;font-size:14px;line-height:1.7}.soon-card .btn-pill-soft{margin-top:20px}.chat-time{text-align:center;color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px}.msg{align-items:flex-start;gap:10px;display:flex}.msg-user{justify-content:flex-end}.msg-avatar{background:var(--grad-avatar);color:#fff;border-radius:12px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex}.bubble{border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow-card);background:#fff;border-radius:4px 16px 16px;max-width:300px;padding:14px 16px;font-size:14px;line-height:1.7}.bubble-user{background:var(--grad-btn);color:#fff;border:none;border-radius:16px 4px 16px 16px}.mode-tag{border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.mode-tag.coach{background:var(--accent-soft);color:var(--accent)}.mode-tag.direct{color:#d07a1f;background:#fff1de}.mode-desc{color:var(--ink-2);font-size:13px;line-height:1.65}.memory-item{background:#f4f6fa;border-radius:12px;margin-top:12px;padding:14px 16px}.memory-item .mi-head{justify-content:space-between;align-items:center;display:flex}.memory-item .mi-body{color:var(--ink);margin-top:8px;font-size:14px;line-height:1.7}.chat-input-bar{z-index:45;align-items:center;gap:10px;width:100%;max-width:430px;padding:12px 16px;display:flex;position:fixed;bottom:64px;left:50%;transform:translate(-50%)}.chat-field{border:1px solid var(--line);background:#fff;border-radius:12px;outline:none;flex:1;height:44px;padding:0 16px;font-family:inherit;font-size:14px}.chat-field::placeholder{color:#a8b2c5}.send-btn{background:var(--grad-btn);color:#fff;cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.record-block{color:var(--ink);white-space:pre-wrap;background:#f4f6fa;border-radius:12px;margin-top:14px;padding:16px;font-size:14px;line-height:1.8}.tabbar{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);background:#fffffff5;grid-template-columns:repeat(6,1fr);margin-top:auto;padding:6px 4px 10px;display:grid;position:sticky;bottom:0}.tabbar a{color:#9aa3b5;flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:10px;text-decoration:none;display:flex}.tabbar a.on{color:var(--accent)}.tabbar a.on svg{stroke-width:2.1px}.tabbar svg,.tabbar .ic{width:23px;height:23px}.bell-btn .ic{width:19px;height:19px}.modal-close .ic,.conv-act .ic,.menu-arrow .ic{width:16px;height:16px}.link .ic,.btn-soft .ic{width:14px;height:14px}.send-btn .ic{width:20px;height:20px}.hint{color:var(--ink-3);font-size:12px;line-height:1.6}.link{color:var(--accent);align-items:center;gap:4px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.divider{background:var(--line);height:1px}.row-between{justify-content:space-between;align-items:center;display:flex}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.num{font-variant-numeric:tabular-nums}button{font-family:inherit}a,input,textarea,select,button{-webkit-tap-highlight-color:transparent}#app{justify-content:center;width:100%;min-height:100vh;display:flex}.fade-rise-enter-active{animation:.2s rise}.memory-item .mi-head{min-height:24px}.rank-card-title{font-size:17px;font-weight:600}.chat-feed{flex-direction:column;gap:16px;display:flex}.brand-dark{color:#fff;background:linear-gradient(140deg,#1b2c4a,#12203a);border-radius:20px;padding:24px 20px}.brand-dark .logo{background:var(--grad-avatar);border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:700;display:flex}.brand-dark .name{font-size:18px;font-weight:700}.brand-dark .desc{color:#ffffffad;margin-top:2px;font-size:12px}.brand-dark .pill{color:#ffffffd9;border:1px solid #ffffff47;border-radius:999px;margin-top:14px;padding:4px 12px;font-size:11px;display:inline-block}.drawer-mask{z-index:55;background:#0f192d2e;position:fixed;inset:0}
