:root{--ink:#1f2933;--muted:#6c7680;--soft:#9aa4ad;--line:#1f29331a;--bg:#faf7ff;--panel:#fff;--panel-soft:#f8f6ff;--primary:#8b5cf6;--primary-deep:#7c5fd6;--primary-soft:#eee7ff;--coral:#f15f93;--coral-soft:#fff1f7;--gold:#c4b5fd;--shadow:0 24px 70px #29323a2e;--radius:8px;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%}body{background:linear-gradient(110deg,#fdfafffa,#f4effff0),radial-gradient(circle at 14% 12%,#7c5fd633,#0000 26%),radial-gradient(circle at 88% 8%,#b79cff33,#0000 28%),#f4efff;margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0}input,select{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}h1,h2,h3,p{margin:0}h1{letter-spacing:0;font-size:26px;line-height:1.18}h2{letter-spacing:0;font-size:17px;line-height:1.3}h3{color:var(--ink);letter-spacing:0;font-size:21px;line-height:1.24}#app{min-height:100svh}.app-shell{place-items:center;min-height:100svh;padding:18px;display:grid}.phone-screen{background:var(--panel);width:min(430px,100%);height:min(900px,100svh - 36px);min-height:720px;box-shadow:var(--shadow);border:10px solid #111820;border-radius:36px;position:relative;overflow:hidden}.content-page,.wechat-page{background:linear-gradient(#ffffffd1,#faf7ff 100%);height:100%;overflow-y:auto}.content-page{padding:20px 18px 24px}.content-page.has-nav{padding-bottom:82px}.page-header{z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border-bottom:1px solid #17202a12;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;height:64px;padding:8px 12px;display:grid;position:absolute;top:0;left:0;right:0}.page-header strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:900;line-height:1.2;display:block;overflow:hidden}.page-header small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;font-weight:700;line-height:1.1;display:block;overflow:hidden}.icon-button,.close-button{width:38px;height:38px;color:var(--ink);background:#eff6f4d9;border-radius:50%;place-items:center;font-size:22px;font-weight:900;display:grid}.hero-panel,.center-card,.consult-card,.profile-card,.settings-card,.info-block,.report-title-card{border-radius:var(--radius);background:#ffffffdb;border:1px solid #7c5fd61a;box-shadow:0 12px 30px #7c5fd612}.hero-panel{background:#fff;padding:24px 20px}.hero-panel h1{color:var(--ink);margin-top:10px;font-size:31px;font-weight:950;line-height:1.18}.center-card h1{color:var(--ink);margin-top:10px;font-weight:950}.hero-panel p,.center-card p,.info-block p,.modal-copy,.recommend-card p{color:var(--muted);font-size:14px;font-weight:650;line-height:1.72}.hero-panel p,.center-card p{margin-top:10px}.landing-page .hero-panel,.support-page .hero-panel{margin-bottom:16px}.landing-page .landing-hero-title{white-space:nowrap;font-size:28px}.login-page{background:linear-gradient(#ffffffc7,#f7f3ffeb),#faf7ff}.login-page .center-card{text-align:center;background:#fffffff2;border-color:#805de42e;padding:28px 18px 18px;box-shadow:0 10px 28px #54477a14}.login-page .large-mark{color:#805de4;background:linear-gradient(135deg,#e7f4ef,#eff7f4);border-radius:50%;width:76px;height:76px;margin-bottom:16px;font-size:38px}.login-page .wechat-mark{font-size:0}.login-page .wechat-mark svg{width:54px;height:48px;display:block;overflow:visible}.login-page .wechat-bubble-main{fill:#07c160}.login-page .wechat-bubble-sub{fill:#22d66d}.login-page .wechat-eye-main,.login-page .wechat-eye-sub{fill:#fff}.login-page .center-card h1{margin-top:0;font-size:24px}.login-page .center-card p{color:#697783;font-size:14px;font-weight:750;line-height:1.65}.login-benefit-panel{border-radius:var(--radius);text-align:left;background:linear-gradient(#fcfafff5,#f7fbfff5);border:1px solid #805de433;gap:14px;margin-top:18px;padding:16px;display:grid}.login-benefit-panel strong{color:#6547c8;font-size:14px;font-weight:950}.login-page .benefit-grid{gap:8px}.login-page .benefit-grid span{color:#5f4ab3;background:linear-gradient(#fff,#fbf8ff);border-color:#805de42e;min-height:66px;font-weight:950}.login-page .primary-action{background:#7b5ce1;min-height:52px;margin-top:30px;box-shadow:0 14px 28px #7b5ce133}.login-page .secondary-action{color:#7b5ce1;background:#f2ecff;border:0;min-height:52px}.eyebrow{min-height:26px;color:var(--primary-deep);background:var(--primary-soft);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.primary-action,.secondary-action,.danger-action{border-radius:var(--radius);width:100%;min-height:48px;font-weight:950}.primary-action{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-deep));margin-top:18px;box-shadow:0 18px 34px #7c5fd63d}.secondary-action{color:var(--primary-deep);background:#f4efff;border:1px solid #7c5fd629;margin-top:10px}.danger-action{color:var(--coral);background:#fff;border:1px solid #f15f9352;margin-top:18px}.trust-row,.benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.trust-row{margin:16px 0}.trust-row span,.benefit-grid span{border-radius:var(--radius);color:#6f6290;text-align:center;background:linear-gradient(#fff,#faf7ff);border:1px solid #7c5fd621;place-items:center;min-height:70px;padding:10px 6px;font-size:12px;font-weight:850;line-height:1.3;display:grid}.trust-row strong{color:var(--primary-deep);font-size:15px;display:block}.info-block{margin-top:14px;padding:18px}.info-block h2{margin-bottom:8px;font-weight:950}.center-card,.consult-card{padding:18px}.center-card.compact{padding:24px 18px}.large-mark,.success-mark,.teacher-avatar,.profile-avatar,.avatar-mark{color:#fff;background:linear-gradient(135deg, var(--primary-deep), #b79cff);place-items:center;font-weight:950;display:grid}.large-mark{border-radius:24px;width:76px;height:76px;margin:0 auto 14px;font-size:30px}.success-mark{background:linear-gradient(135deg, var(--primary), var(--gold));border-radius:50%;width:76px;height:76px;margin:0 auto 14px;font-size:34px}.form-stack{gap:12px;margin-top:16px;display:grid}.field{border-radius:var(--radius);background:var(--panel-soft);border:1px solid #7c5fd61f;align-items:center;gap:5px;min-height:58px;padding:10px 12px;display:grid}.field span{color:var(--muted);font-size:12px;font-weight:900}.field input,.field select{font-size:15px;font-weight:800}.field.with-action{grid-template-columns:1fr 108px}.field.with-action span,.field.with-action input{grid-column:1}.field-action{border-radius:var(--radius);min-height:38px;color:var(--primary-deep);background:var(--primary-soft);grid-area:1/2/span 2;font-size:13px;font-weight:950}.field-action.sent{color:#7b728f;background:#f8f6ff}.school-picker{border-radius:var(--radius);width:100%;min-height:62px;color:var(--ink);background:linear-gradient(180deg, #fffffff5, #f8f6fffa), var(--panel-soft);text-align:left;border:1px solid #7c5fd629;grid-template-columns:1fr 32px;align-items:center;gap:12px;padding:11px 12px 11px 14px;display:grid;box-shadow:0 8px 18px #7c5fd60f}.school-picker span{gap:5px;min-width:0;display:grid}.school-picker small{color:var(--muted);font-size:12px;font-weight:900;line-height:1.1}.school-picker strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:900;line-height:1.25;overflow:hidden}.school-picker em{color:#fff;background:var(--primary-deep);border-radius:50%;place-items:center;width:32px;height:32px;font-size:24px;font-style:normal;font-weight:950;line-height:1;display:grid;box-shadow:0 8px 16px #7c5fd633}.form-hint{color:var(--muted);font-size:12px;font-weight:750;line-height:1.55}.text-button{color:var(--primary-deep);background:0 0;font-size:14px;font-weight:950}.success-card{border-radius:var(--radius);color:var(--primary-deep);background:var(--primary-soft);margin-top:14px;padding:12px;font-size:13px;font-weight:850;line-height:1.55}.recommend-card{border-radius:var(--radius);background:var(--panel-soft);margin:18px 0 4px;padding:15px}.recommend-card strong{color:var(--ink);font-size:15px;font-weight:950;display:block}.recommend-card p{margin:8px 0 12px}.found-page{padding:14px 16px 84px}.found-page .center-card{text-align:center;background:radial-gradient(circle at 88% 4%,#a78bfa3d,#0000 36%),#fff;border-color:#7c5fd624;flex-direction:column;min-height:min(560px,100svh - 114px);padding:24px 18px 20px;display:flex;box-shadow:0 18px 42px #7c5fd61a}.found-page .success-mark{background:var(--primary-deep);width:74px;height:74px;margin-bottom:16px;box-shadow:0 16px 34px #7c5fd63d}.found-page .center-card h1{margin-top:0;font-size:27px}.found-page .center-card>p{font-weight:750}.found-page .recommend-card{text-align:left;background:linear-gradient(#fcfafff5,#f7fbfff5);border:1px solid #7c5fd629;margin:18px 0 0}.found-page .recommend-card strong{color:var(--primary-deep)}.found-page .recommend-card p{font-weight:800}.found-page .primary-action{margin-top:32px}.report-page{padding-left:12px;padding-right:12px}.report-body{min-height:560px}.report-title-card{margin-bottom:12px;padding:16px}.report-title-card h1{margin-top:8px;font-size:20px;font-weight:950}.report-title-card p{color:var(--muted);margin-top:6px;font-size:12px;font-weight:800}.report-frame{border-radius:var(--radius);background:#fff;border:0;width:100%;height:590px}.report-image{border-radius:var(--radius);background:#fff;width:100%;display:block}.pdf-viewer{gap:12px;display:grid}.pdf-page{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;overflow:hidden}.pdf-page img,.pdf-page canvas{width:100%;height:auto;display:block}.report-actions{gap:10px;margin-top:12px;display:grid}.report-tip{color:var(--muted);text-align:center;margin-top:10px;font-size:12px;font-weight:800}.blank-report-card{border:1px solid var(--line);border-radius:var(--radius);text-align:center;min-height:420px;color:var(--muted);background:#fff;align-content:center;place-items:center;gap:14px;padding:24px;font-size:14px;font-weight:950;display:grid}.blank-report-card strong{color:var(--text);font-size:22px}.blank-report-card span{line-height:1.8}.consult-card{gap:14px;display:grid}.consult-card .download-tip{color:#766f86;padding:0 2px;font-size:12px;font-weight:850;line-height:1.5}.consult-card .download-tip:before{content:"";background:var(--primary-deep);vertical-align:middle;opacity:.72;border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.teacher-row,.profile-card{align-items:center;gap:12px;display:flex}.teacher-avatar,.profile-avatar{border-radius:16px;flex:none;width:52px;height:52px}.teacher-avatar.image-avatar{object-fit:cover;background:#fff;display:block}.teacher-row strong,.profile-card strong{color:var(--ink);font-size:15px;font-weight:950;display:block}.teacher-row span,.profile-card span{color:var(--muted);margin-top:4px;font-size:12px;font-weight:800;display:block}.qr-panel{border-radius:var(--radius);background:var(--panel-soft);grid-template-columns:126px 1fr;align-items:center;gap:12px;padding:12px;display:grid}.qr-panel img,.qr-missing{aspect-ratio:1;border-radius:var(--radius);background:#fff;width:126px}.qr-panel img{object-fit:contain;padding:6px}.qr-missing{border:1px solid var(--line);height:126px;color:var(--muted);text-align:center;place-items:center;font-size:12px;font-weight:900;display:grid}.qr-panel strong{color:var(--ink);font-size:13px;font-weight:950;line-height:1.38;display:block}.qr-panel span{color:var(--muted);margin-top:6px;font-size:12px;font-weight:800;line-height:1.5;display:block}@media (width<=360px){.qr-panel{grid-template-columns:118px 1fr}.qr-panel img,.qr-missing{width:118px}.qr-missing{height:118px}}.note-card,.quote-card{border-radius:var(--radius);color:var(--muted);background:var(--panel-soft);padding:12px;font-size:12px;font-weight:800;line-height:1.6}.quote-card{color:#5c468d;background:#f3efff}.profile-card{margin-bottom:12px;padding:14px}.profile-card img{object-fit:cover;border-radius:18px;width:54px;height:54px}.settings-card{overflow:hidden}.setting-row{border-bottom:1px solid var(--line);width:100%;min-height:58px;color:var(--ink);text-align:left;background:#fff;grid-template-columns:36px 1fr auto 18px;align-items:center;gap:10px;padding:0 14px;display:grid}.setting-row:last-child{border-bottom:0}.setting-icon{width:32px;height:32px;color:var(--primary-deep);background:var(--primary-soft);border-radius:10px;place-items:center;font-size:13px;font-weight:950;display:grid}.setting-title{font-size:14px;font-weight:900}.setting-value,.setting-arrow{color:var(--soft);font-size:13px;font-weight:850}.bottom-nav{z-index:4;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff2;grid-template-columns:repeat(3,1fr);height:72px;padding:0;display:grid;position:absolute;bottom:0;left:0;right:0}.nav-tab{min-height:72px;color:var(--muted);background:0 0;place-items:center;font-size:13px;font-weight:900;display:grid}.nav-tab.active{color:var(--primary-deep);background:0 0}.nav-icon{width:22px;height:22px;color:inherit;background:#ffffffb3;border-radius:8px;place-items:center;font-size:12px;display:grid}.modal-backdrop{z-index:30;background:#1f29337a;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.modal-sheet{background:#fff;border:1px solid #7c5fd629;border-radius:10px;width:min(322px,100%);padding:18px;box-shadow:0 18px 42px #1f293338}.modal-head{justify-content:space-between;align-items:center;gap:12px;min-height:32px;margin-bottom:6px;display:flex}.modal-sheet .eyebrow{min-height:28px;color:var(--primary-deep);background:var(--primary-soft);padding:0 10px}.modal-sheet .close-button{color:#52615a;background:#f4f1fb;width:36px;height:36px;font-size:24px}.modal-sheet h3{font-size:24px;font-weight:950;line-height:1.2}.modal-copy{color:#4d5964;margin:8px 0 14px;font-size:13px;font-weight:800;line-height:1.7}.choice-list{gap:10px;display:grid}.school-list{max-height:min(360px,54svh);padding-right:2px;overflow-y:auto}.school-search-field{border-radius:var(--radius);background:#fbf9ff;border:1px solid #7c5fd629;gap:6px;min-height:58px;margin-bottom:12px;padding:10px 12px;display:grid;box-shadow:0 8px 18px #7c5fd60f}.school-search-field span{color:var(--muted);font-size:12px;font-weight:900}.school-search-field input{color:var(--ink);font-size:15px;font-weight:900}.school-search-field input::placeholder{color:#9a91aa;font-weight:800}.school-dropdown{max-height:min(320px,46svh)}.choice-row{border-radius:var(--radius);text-align:left;background:#fbf9ff;border:1px solid #7c5fd624;grid-template-columns:1fr 28px;align-items:center;gap:10px;width:100%;min-height:64px;padding:12px;display:grid;box-shadow:0 8px 18px #7c5fd60f}.choice-row strong{color:var(--ink);font-size:14px;font-weight:950;line-height:1.35;display:block}.choice-row small{color:#7b728f;margin-top:4px;font-size:12px;font-weight:800;display:block}.choice-row em{color:#fff;background:var(--primary-deep);border-radius:50%;place-items:center;width:28px;height:28px;font-size:22px;font-style:normal;font-weight:950;display:grid}.school-choice-row{grid-template-columns:1fr 30px}.school-choice-row .choice-status{color:#0000;width:28px;height:28px;box-shadow:none;background:0 0;border:2px solid #7c5fd647;border-radius:50%;place-items:center;display:grid}.school-choice-row.selected{background:#fbf8ff;border-color:#7c5fd657}.school-choice-row.selected .choice-status{border-color:var(--primary-deep);background:var(--primary-deep);color:#fff}.school-choice-row.selected .choice-status:before{content:"✓";font-size:18px;font-weight:950;line-height:1}.modal-form{margin-bottom:12px}.info-list{gap:10px;display:grid}.info-list span{border-radius:var(--radius);background:#fbf9ff;border:1px solid #7c5fd61f;grid-template-columns:74px 1fr;align-items:center;gap:10px;min-height:48px;padding:10px 12px;display:grid}.info-list strong{color:var(--muted);font-size:12px;font-weight:900}.info-list em{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-style:normal;font-weight:900;overflow:hidden}.loading-mask{z-index:40;background:#fff3;place-items:center;display:grid;position:fixed;inset:0}.loading-mask span,.toast{color:#fff;background:#17202ae0;border-radius:999px;align-items:center;min-height:42px;padding:0 16px;font-size:14px;font-weight:900;display:inline-flex}.toast{z-index:50;max-width:min(360px,100vw - 36px);position:fixed;bottom:32px;left:50%;transform:translate(-50%)}.wechat-page{background:#f1f3f2;grid-template-rows:34px 54px 1fr 58px;display:grid}.wechat-status{color:var(--ink);justify-content:space-between;align-items:center;padding:0 18px;font-size:12px;font-weight:900;display:flex}.wechat-title{border-bottom:1px solid var(--line);text-align:center;background:#f9fbfa;grid-template-columns:44px 1fr 44px;align-items:center;padding:0 10px;font-weight:950;display:grid}.chat-stream{align-content:start;gap:14px;padding:18px 14px;display:grid;overflow-y:auto}.message-row{grid-template-columns:38px 1fr;align-items:start;gap:10px;display:grid}.avatar-mark{border-radius:12px;width:38px;height:38px}.message-row p,.article-card{border-radius:var(--radius);color:#34414d;background:#fff;padding:12px;font-size:14px;font-weight:750;line-height:1.55}.article-card{gap:8px;display:grid}.article-card strong{color:var(--ink);font-size:15px;font-weight:950}.article-card span{color:var(--muted);font-size:12px;font-weight:800;line-height:1.5}.wechat-menu{border-top:1px solid var(--line);background:#f9fbfa;grid-template-columns:42px 1.1fr 1fr 1fr;align-items:center;display:grid}.keyboard{color:var(--muted);text-align:center;font-size:18px}.menu-button{border-left:1px solid var(--line);height:100%;color:var(--ink);background:0 0;font-size:13px;font-weight:950}.menu-button.primary{color:var(--primary-deep)}@media (width<=520px){.app-shell{padding:0}.phone-screen{width:100%;height:100svh;min-height:100svh;box-shadow:none;border:0;border-radius:0}.modal-backdrop{padding:22px}.modal-sheet{border-radius:10px}}@media (width<=360px){.landing-page .landing-hero-title{font-size:24px}}
