:root{--paper:#fcf6ea;--paper2:#efdcbe;--ink:#3a2f25;--sub:#8c7a66;--red:#c0392b;--ochre:#8c5a3b;--gold:#d9a441;--green:#4a6b4a}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{touch-action:manipulation}body{font-family:PingFang SC,Microsoft YaHei,sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-size-adjust:100%}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;justify-content:space-between;background:hsla(40,75%,95%,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--paper2);padding:calc(14px + env(safe-area-inset-top)) 20px 14px}.logo,.nav{display:flex;align-items:center}.logo{gap:8px;font-weight:800;font-size:18px;color:var(--ochre);white-space:nowrap}.logo .seal{width:30px;height:30px;border-radius:6px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700;flex-shrink:0}.nav a{color:var(--sub);text-decoration:none;font-size:14px;margin-left:18px}.page{max-width:480px;margin:0 auto;min-height:100vh;padding:0 16px calc(40px + env(safe-area-inset-bottom))}.hidden{display:none!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 22px;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:.15s;font-family:inherit}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:#a93226}.btn-ghost{background:transparent;color:var(--ochre);border:1.5px solid var(--ochre)}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:default}.mobile-only,.tabbar{display:none}.mine-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;font-size:14px;color:var(--ink);cursor:pointer;border-bottom:1px solid var(--paper2);transition:.15s;min-height:50px}.mine-row:last-child{border-bottom:none}.mine-row:active{background:var(--paper)}.mine-row .arrow{color:#c4b49c;font-size:17px;font-weight:700}.hero{padding:46px 0 30px;text-align:center;background:radial-gradient(120% 90% at 50% 0,#fff8ec 0,var(--paper) 70%)}.hero h1{font-size:30px;font-weight:800;line-height:1.3;color:var(--ink)}.hero h1 .accent{color:var(--red)}.hero p{margin-top:14px;color:var(--sub);font-size:15px;line-height:1.7}.hero .hero-btns{margin-top:26px;display:flex;gap:12px;justify-content:center}.steps{display:flex;gap:10px;margin-top:34px}.step{flex:1 1;background:#fff;border:1px solid var(--paper2);border-radius:12px;padding:16px 10px;text-align:center}.step .n{width:26px;height:26px;border-radius:50%;background:var(--gold);color:#fff;font-weight:800;display:grid;place-items:center;margin:0 auto 8px;font-size:13px}.step .t{font-size:13px;font-weight:700;color:var(--ochre)}.step .d{font-size:11px;color:var(--sub);margin-top:4px;line-height:1.5}.section-title{font-size:20px;font-weight:800;margin:34px 0 6px;color:var(--ink)}.section-sub{font-size:13px;color:var(--sub);margin-bottom:18px}.upload{border:2px dashed var(--gold);border-radius:14px;background:#fffdf7;padding:30px 16px;text-align:center;cursor:pointer;transition:.15s}.upload:hover{background:#fff7e6}.upload .ico{font-size:34px}.upload .hint{margin-top:8px;font-size:13px;color:var(--sub)}.upload .small{font-size:11px;color:#b3a48d;margin-top:6px}textarea{width:100%;min-height:170px;margin-top:16px;padding:14px;border:1px solid var(--paper2);border-radius:12px;font-size:15px;line-height:1.8;font-family:inherit;resize:vertical;background:#fffdf7;color:var(--ink)}textarea:focus{outline:none;border-color:var(--gold)}.grade-row{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:13px;color:var(--sub)}.grade-row select{padding:7px 10px;border-radius:8px;background:#fff;font-size:13px}.grade-row select,.text-input{border:1px solid var(--paper2)}.text-input{width:100%;margin-top:14px;padding:12px 14px;border-radius:12px;font-size:15px;font-family:inherit;background:#fffdf7;color:var(--ink)}.text-input:focus{outline:none;border-color:var(--gold)}.tab-row{display:flex;gap:8px;margin:12px 0 4px}.tab{flex:1 1;padding:10px 0;border:1px solid var(--paper2);border-radius:10px;background:#fffdf7;color:var(--ink);font-size:14px;font-family:inherit;cursor:pointer;transition:.15s}.tab.on{background:var(--ochre);border-color:var(--ochre);color:#fff;font-weight:700}.photo-panel{margin-top:10px}.photo-drop{display:block;border:2px dashed var(--gold);border-radius:14px;background:#fffdf7;cursor:pointer;transition:.15s}.photo-drop:active{background:#fdf3dd}.drop-inner{padding:26px 16px;text-align:center;color:var(--ochre);font-size:15px;font-weight:700;line-height:1.7}.drop-inner small{display:block;margin-top:6px;color:#b3a48d;font-size:11px;font-weight:400}.page-thumbs{display:flex;gap:10px;overflow-x:auto;padding:12px 2px 4px;scrollbar-width:thin}.thumb{position:relative;flex:0 0 auto;width:86px;height:112px;border-radius:10px;border:1px solid var(--paper2);overflow:hidden;background:#fff}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb-del{top:3px;right:3px;width:20px;height:20px;border:none;border-radius:50%;font-size:13px;line-height:20px;cursor:pointer;padding:0}.thumb-del,.thumb-no{position:absolute;background:rgba(0,0,0,.55);color:#fff}.thumb-no{left:4px;bottom:4px;padding:1px 6px;border-radius:8px;font-size:10px}.batch-roster{width:100%;margin-top:12px;padding:12px 14px;border:1px solid var(--paper2);border-radius:12px;font-size:14px;font-family:inherit;background:#fffdf7;color:var(--ink);line-height:1.8;resize:vertical}.batch-roster:focus{outline:none;border-color:var(--gold)}.batch-progress{margin-top:10px;height:10px;border-radius:6px;background:var(--paper2);overflow:hidden}.batch-progress i{display:block;height:100%;border-radius:6px;transition:width .4s}.batch-table{margin-top:14px;background:#fff;border:1px solid var(--paper2);border-radius:14px;overflow:hidden}.bt-head,.bt-row{display:grid;grid-template-columns:34px 1fr 74px 78px;align-items:center;padding:10px 12px;font-size:13px}.bt-head{background:var(--paper);color:#8a7a5f;font-size:11.5px}.bt-head,.bt-row{border-bottom:1px solid var(--paper2)}.bt-row:last-child{border-bottom:none}.bt-seq{color:#b3a48d;font-size:11.5px}.bt-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.bt-score{text-align:center}.bt-status{text-align:right;font-size:12px}.origin-scroll{display:flex;gap:10px;overflow-x:auto;padding:4px 2px;scrollbar-width:thin}.origin-page{position:relative;flex:0 0 auto;width:110px;border-radius:10px;overflow:hidden;border:1px solid var(--paper2);background:#fff}.origin-page img{width:110px;height:145px;object-fit:cover;display:block}.origin-page span{position:absolute;left:4px;bottom:4px;padding:1px 7px;border-radius:8px;background:rgba(0,0,0,.55);color:#fff;font-size:10px}.admin-shell{display:flex;min-height:100vh;background:#f4f1ea}.admin-side{width:208px;flex:0 0 208px;background:#23201a;color:#d8cfc0;display:flex;flex-direction:column;padding:18px 0}.side-brand{padding:0 20px 18px;font-size:17px;font-weight:800;color:#fff;border-bottom:1px solid #3a362e}.side-brand small{display:block;font-size:11px;font-weight:400;color:#a89a80;margin-top:3px;letter-spacing:2px}.admin-side nav{display:flex;flex-direction:column;padding:12px 10px;gap:2px;flex:1 1}.side-link{padding:10px 12px;border-radius:8px;color:#c9beac;text-decoration:none;font-size:14px;transition:.12s}.side-link:hover{background:#322d24;color:#fff}.side-link.on{background:var(--red);color:#fff;font-weight:700}.side-foot{padding:14px 20px 0;border-top:1px solid #3a362e;font-size:12.5px}.side-user{color:#fff;font-weight:700;margin-bottom:8px}.side-exit{display:block;color:#a89a80;text-decoration:none;font-size:12px;padding:2px 0;text-align:left}.side-exit:hover{color:#fff}.admin-main{flex:1 1;padding:26px 30px;min-width:0}.panel{max-width:1080px}.panel-title{font-size:20px;font-weight:800;color:var(--ink);margin:0 0 16px}.panel-sub{font-size:15px;font-weight:700;color:var(--ink);margin:22px 0 10px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:12px;gap:12px}.stat-card{background:#fff;border:1px solid #e5dcc9;border-radius:12px;padding:14px 16px}.stat-card small{display:block;color:#8a7a5f;font-size:12px;margin-bottom:6px}.stat-card b{font-size:20px;color:var(--ink)}.filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.chip{border:1px solid #d8cbb2;background:#fff;border-radius:999px;padding:6px 14px;font-size:12.5px;cursor:pointer;font-family:inherit;color:#6b5d44}.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.adm-search{margin-left:auto;border:1px solid #d8cbb2;border-radius:8px;padding:7px 12px;font-size:13px;width:240px;font-family:inherit;background:#fff}.adm-table-wrap{background:#fff;border:1px solid #e5dcc9;border-radius:12px;overflow-x:auto}.adm-table{width:100%;border-collapse:collapse;font-size:13px;min-width:720px}.adm-table th{text-align:left;background:#faf6ec;color:#8a7a5f;font-size:12px;padding:10px 12px;border-bottom:1px solid #ece2cd;white-space:nowrap}.adm-table td{padding:10px 12px;border-bottom:1px solid #f2ead9;vertical-align:top}.adm-table tr:last-child td{border-bottom:none}.adm-table .ops{display:flex;gap:4px;flex-wrap:wrap}.adm-table .ops button{border:1px solid #d8cbb2;background:#fff;border-radius:6px;padding:3px 8px;font-size:11.5px;cursor:pointer;font-family:inherit;color:#5b4f38}.adm-table .ops button:hover{background:var(--red);border-color:var(--red);color:#fff}.adm-table .ops button:disabled{opacity:.5;cursor:not-allowed}.frozen-badge,.role-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:6px;font-size:10px}.role-badge{background:#23201a;color:#ffd98a}.frozen-badge{background:#fdecec;color:var(--red)}.pager{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:14px;font-size:13px}.pager button{border:1px solid #d8cbb2;background:#fff;border-radius:8px;padding:6px 14px;cursor:pointer;font-family:inherit}.pager button:disabled{opacity:.4;cursor:not-allowed}.unit-econ{background:#fff;border:1px solid #e5dcc9;border-radius:12px;overflow:hidden}.ue-row{display:flex;justify-content:space-between;padding:11px 16px;font-size:13.5px;border-bottom:1px solid #f2ead9}.ue-row:last-child{border-bottom:none}.ue-row span{color:#8a7a5f}@media (max-width:720px){.admin-shell{flex-direction:column}.admin-side{width:100%;flex:none;flex-direction:row;align-items:center;padding:10px 12px;overflow-x:auto}.side-brand{border:none;padding:0 12px 0 0;font-size:14px;white-space:nowrap}.side-brand small{display:none}.admin-side nav{flex-direction:row;padding:0}.side-link{padding:7px 10px;font-size:12.5px;white-space:nowrap}.side-foot{display:none}.admin-main{padding:16px 12px}}.report{background:#fff;border:1px solid var(--paper2);border-radius:16px;padding:22px;margin-top:10px}.report .score-head{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px dashed var(--paper2)}.score-ring{width:84px;height:84px;border-radius:50%;background:conic-gradient(var(--green) 0 96%,var(--paper2) 96% 100%);display:grid;place-items:center;position:relative;flex-shrink:0}.score-ring:after{content:"";position:absolute;width:64px;height:64px;border-radius:50%;background:#fff}.score-ring .val{position:relative;z-index:1;font-size:24px;font-weight:800;color:var(--green)}.score-ring .val small{font-size:11px;color:var(--sub);display:block;text-align:center;font-weight:600}.score-meta .lv{font-size:20px;font-weight:800;color:var(--ochre)}.score-meta .tt{font-size:13px;color:var(--sub);margin-top:4px}.dims{margin-top:18px}.dim{margin-bottom:12px}.dim .top{display:flex;justify-content:space-between;font-size:13px;margin-bottom:5px}.dim .top b{color:var(--ink)}.dim .top span{color:var(--sub)}.bar{height:8px;background:var(--paper2);overflow:hidden}.bar,.bar i{border-radius:6px}.bar i{display:block;height:100%}.block{margin-top:18px}.block h4{font-size:15px;font-weight:800;margin-bottom:10px;display:flex;align-items:center;gap:6px}.block h4,.tag{color:var(--ochre)}.tag{display:inline-block;background:#f3ead8;font-size:12px;padding:5px 11px;border-radius:20px;margin:0 8px 8px 0}.advice{background:#fbf3e3;border-left:3px solid var(--gold);padding:12px 14px;border-radius:0 10px 10px 0;font-size:13.5px;line-height:1.8;color:var(--ink)}.advice li{margin:4px 0 4px 18px}.comment{margin-top:16px;background:var(--paper);border-radius:12px;padding:16px;font-size:14px;line-height:1.9;color:var(--ink)}.comment .who{font-size:12px;color:var(--sub);margin-bottom:6px}.one-liner{margin-top:16px;display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,#fff6e3,#fffdf7 80%);border:1px dashed #e8c88a;border-radius:12px;padding:12px 14px;font-size:15px;font-weight:700;color:var(--ink);line-height:1.5}.one-liner .ol-tag{flex-shrink:0;font-size:11px;font-weight:600;color:#a4782a;background:#f7e3b8;border-radius:999px;padding:3px 9px}.report-btns{display:flex;gap:12px;margin-top:22px}.report-btns-3 .btn-next{flex:1.6 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.degraded-tip{margin-top:14px;background:#fdf6ec;border:1px dashed var(--gold);border-radius:10px;padding:10px 13px;font-size:12.5px;color:#8a6a2f;line-height:1.6}.auth-wrap{max-width:380px;margin:26px auto 0;background:#fff;border:1px solid var(--paper2);border-radius:18px;padding:28px 24px;text-align:center;box-shadow:0 6px 24px rgba(140,90,59,.08)}.auth-title{font-size:19px;font-weight:800;color:var(--ink)}.auth-sub{font-size:13px;color:var(--sub);margin-top:6px;line-height:1.6}.auth-tabs{display:flex;justify-content:center;gap:26px;margin:20px 0 4px}.auth-tabs span{font-size:14px;color:var(--sub);padding-bottom:7px;cursor:pointer;border-bottom:2px solid transparent}.auth-tabs span.active{color:var(--ochre);border-color:var(--red);font-weight:700}.qr-box{width:196px;height:196px;margin:14px auto 6px;background:#fff;border:1px solid var(--paper2);border-radius:12px;position:relative;display:grid;place-items:center;overflow:hidden}.qr-box svg.qr{width:100%;height:100%}.wx-badge{position:absolute;width:46px;height:46px;border-radius:11px;background:#07c160;display:grid;place-items:center;border:4px solid #fff}.wx-badge svg{width:28px;height:28px}.qr-tip{font-size:13px;color:var(--sub);margin-top:10px;min-height:18px}.scan-anim{display:inline-block;width:14px;height:14px;border:2px solid var(--green);border-top:2px solid transparent;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px;margin-right:6px}@keyframes spin{to{transform:rotate(1turn)}}.mock-btn{margin-top:16px}.auth-done{margin-top:6px}.avatar{width:54px;height:54px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:800;margin:4px auto 10px}.phone-box{margin-top:14px;text-align:left}.phone-box input{width:100%;padding:12px;border:1px solid var(--paper2);border-radius:10px;font-size:15px;margin-bottom:10px;background:#fffdf7}.phone-box .code-row{display:flex;gap:10px}.phone-box .code-row input{flex:1 1}.phone-box .code-btn{flex-shrink:0;padding:0 14px;background:#fff;border:1.5px solid var(--ochre);color:var(--ochre);border-radius:10px;font-size:13px}.auth-foot{font-size:11px;color:#b3a48d;margin-top:18px;line-height:1.7}.nav-user{display:flex;align-items:center;gap:7px;color:var(--ochre);font-size:14px;cursor:pointer;margin-left:18px;background:none;border:none;font-family:inherit}.nav-user .av{width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 20px;border-radius:24px;font-size:13px;opacity:0;transition:.25s;z-index:99;pointer-events:none}.toast.show{opacity:.95}.footnote{text-align:center;font-size:11px;color:#b3a48d;margin-top:30px;line-height:1.7}.hist-stat{background:#fff;border:1px solid var(--paper2);border-radius:12px;padding:14px 16px;margin:14px 0;text-align:center;font-size:13px;color:var(--sub)}.hist-stat b{font-size:24px;color:var(--green);font-weight:800;display:block;margin-bottom:2px}.hist-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--paper2);border-radius:12px;padding:13px 16px;margin-top:12px;cursor:pointer;transition:.15s;color:inherit;text-decoration:none}.hist-row:hover{border-color:var(--gold);background:#fff8ec}.hr-main{flex:1 1;min-width:0}.hr-title{font-weight:700;font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hr-sub{font-size:12px;color:var(--sub);margin-top:3px}.hr-score{font-size:22px;font-weight:800;flex-shrink:0}.hr-go{color:var(--ochre);font-weight:700;flex-shrink:0}.empty,.hr-go{font-size:13px}.empty{text-align:center;color:var(--sub);margin-top:40px;line-height:1.8}.quota-bar{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--paper2);border-left:3px solid var(--green);border-radius:10px;padding:10px 13px;margin-top:14px;font-size:12.5px;color:var(--sub);line-height:1.5}.quota-bar.warn{border-left-color:var(--gold);background:#fffaf0}.quota-bar.danger{border-left-color:var(--red);background:#fdf3f2}.quota-bar b{color:var(--ink);font-size:15px;font-weight:800}.quota-bar .qb-r{margin-left:auto;flex-shrink:0;color:var(--red);font-weight:700;font-size:12px;cursor:pointer;border-bottom:1px dashed var(--red);padding-bottom:1px}.quota-bar.ok .qb-r{color:var(--ochre);border-bottom-color:var(--ochre);font-weight:600}.quota-cost{text-align:center;font-size:11.5px;color:#b3a48d;margin-top:10px;line-height:1.6}.nav-quota{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--green);font-weight:700;background:#eef5ee;border-radius:20px;padding:4px 10px;margin-left:14px;white-space:nowrap;cursor:pointer;border:none;font-family:inherit}.nav-quota.low{background:#fdf0e6;color:#b4741e}.nav-quota.zero{background:#fbeceb;color:var(--red)}.qmask{position:fixed;inset:0;background:rgba(40,30,20,.55);display:grid;place-items:center;z-index:60;padding:20px}.qdialog{width:100%;max-width:330px;background:#fff;border-radius:18px;padding:22px;box-shadow:0 18px 50px rgba(0,0,0,.28)}.qdialog h3{font-size:17px;font-weight:800;color:var(--ink);text-align:center}.qdialog .qsub{font-size:12.5px;color:var(--sub);text-align:center;margin-top:7px;line-height:1.6}.qplan{display:flex;align-items:center;gap:10px;border:1.5px solid var(--paper2);border-radius:11px;padding:11px 13px;margin-top:10px;cursor:pointer;transition:.15s;width:100%;background:#fff;text-align:left;font-family:inherit}.qplan:hover{border-color:var(--gold);background:#fffaf0}.qplan .qp-l{flex:1 1}.qplan .qp-t{font-size:13.5px;font-weight:700;color:var(--ink)}.qplan .qp-d{font-size:11px;color:var(--sub);margin-top:2px}.qplan .qp-d b{color:var(--ink)}.qplan .qp-p{font-size:16px;font-weight:800;color:var(--red);white-space:nowrap}.qplan .qp-p small{font-size:10.5px;font-weight:600;color:var(--sub)}.qplan.rec{border-color:var(--gold);background:#fffaf0;position:relative}.qplan .qp-tag{display:inline-block;font-size:9.5px;font-weight:700;color:#fff;background:var(--gold);border-radius:5px;padding:1px 5px;margin-left:5px;vertical-align:1px}.q-note{display:flex;flex-direction:column;gap:3px;margin-top:11px;font-size:10.5px;color:#a2947f;line-height:1.55}.paydialog{max-width:400px;max-height:calc(100vh - 40px);overflow-y:auto}.paydialog h3{font-size:18px}.paydialog h3 small{font-size:12px;font-weight:600;color:var(--sub)}.paycodes{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:14px}.paycode{display:flex;flex-direction:column;margin:0;border:1.5px solid var(--paper2);border-radius:14px;background:#fff;overflow:hidden}.pc-frame{padding:8px;background:#fff}.paycode img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;border-radius:6px}.paycode figcaption{display:flex;align-items:center;justify-content:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--ink);padding:8px 0;border-top:1px solid var(--paper2);background:#fffdf8}.paycode figcaption svg{display:block;flex-shrink:0}.pay-tip{margin:9px 0 0;text-align:center}.pay-divider,.pay-tip{font-size:11px;color:#a2947f}.pay-divider{display:flex;align-items:center;gap:10px;margin:16px 0 12px;white-space:nowrap}.pay-divider:after,.pay-divider:before{content:"";flex:1 1;height:1px;background:var(--paper2)}.pay-friend{display:flex;align-items:center;gap:14px;border:1.5px dashed var(--gold);border-radius:12px;padding:10px 14px;background:#fffaf0}.pay-friend img{width:96px;height:96px;border-radius:8px;background:#fff;flex-shrink:0}.pay-friend .pf-text{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--sub);line-height:1.5}.pay-friend .pf-text b{font-size:13.5px;color:var(--ink)}@media (max-width:768px){.paydialog{max-width:none;max-height:86vh}.paycodes{gap:10px}.pay-friend img{width:84px;height:84px}}@media (max-width:320px){.paycodes{grid-template-columns:1fr}}.plan-badge{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:20px;background:var(--paper2);color:var(--ochre);white-space:nowrap}.plan-badge.paid{background:#eef5ee;color:var(--green)}.plan-badge.expired{background:#fbeceb;color:var(--red)}.period-line{font-size:11px;color:var(--sub);margin-top:9px;line-height:1.6}.period-line b{color:var(--ink)}.report-tools{display:flex;margin-top:14px}.report-tools .btn-share{flex:1 1;font-size:13px;padding:10px;border:1.5px dashed var(--paper2);color:var(--ochre)}.report-tools .btn-share:hover{border-color:var(--gold);color:var(--red)}.q-head{display:flex;align-items:center;justify-content:center;gap:8px}.badge-pub{font-size:10px;font-weight:700;color:var(--ochre);background:var(--paper2);border-radius:20px;padding:2px 8px;white-space:nowrap}.share-score{text-align:center;margin:14px 0 10px}.share-score .num{font-size:34px;font-weight:800;color:var(--red);line-height:1.2}.share-score .lab{font-size:12px;color:var(--sub);margin-top:2px}.share-url{font-size:11.5px;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ochre);background:var(--paper);border:1px solid var(--paper2);border-radius:8px;padding:8px 10px}.share-mask-chk{display:flex;align-items:center;gap:7px;margin-top:11px;font-size:12px;color:var(--sub);cursor:pointer}.share-mask-chk input{accent-color:var(--red);width:15px;height:15px}.share-btns{display:flex;gap:8px;margin-top:14px}.share-btns .btn{flex:1 1;font-size:12.5px;padding:10px 6px}.share-btns .share-danger{color:var(--red)}.share-empty{text-align:center;font-size:12.5px;color:var(--sub);padding:18px 0 6px}.share-brand{display:flex;align-items:center;gap:7px;padding:14px 0 2px;font-size:13.5px;font-weight:700;color:var(--ink)}.share-brand .seal{width:26px;height:26px;font-size:13px}@media (max-width:768px){.nav{padding:calc(10px + env(safe-area-inset-top)) 14px 10px;gap:10px}.logo{font-size:16px;gap:6px}.logo .seal{width:26px;height:26px;font-size:12px;border-radius:5px}#navRight{display:flex;align-items:center;gap:6px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1 1;justify-content:flex-end;padding:2px 0;margin-right:-4px}#navRight::-webkit-scrollbar{display:none}#navRight>a{display:none}#navRight .nav-quota{font-size:11.5px;padding:5px 9px;white-space:nowrap}#navRight .nav-quota,#navRight .nav-user{margin-left:0;flex-shrink:0}#navRight .nav-user span:not(.av){display:none}.page{max-width:none;padding:0 14px calc(84px + env(safe-area-inset-bottom));min-height:auto}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:hsla(40,75%,95%,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--paper2);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -2px 14px rgba(140,90,59,.07)}.tabbar .tb{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 2px;border-radius:10px;cursor:pointer;color:var(--sub);font-size:10.5px;font-weight:600;transition:.15s;min-height:46px;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:none;border:none;font-family:inherit}.tabbar .tb .ico{font-size:19px;line-height:1}.tabbar .tb.on{color:var(--red);background:#fbeee9}.tabbar .tb.on .ico{transform:translateY(-1px)}.tabbar .tb:active{background:#f5e9d8}.hero{padding:30px 0 22px}.hero h1{font-size:25px;line-height:1.32}.hero p{font-size:14px;margin-top:11px;line-height:1.65}.hero .hero-btns{margin-top:20px;flex-direction:column;gap:10px;padding:0 6px}.hero .hero-btns .btn{width:100%;padding:14px 20px;min-height:48px}.steps{margin-top:24px;gap:8px}.step{padding:13px 6px;border-radius:10px}.step .n{width:23px;height:23px;margin-bottom:6px}.step .n,.step .t{font-size:12px}.step .d{font-size:10px;line-height:1.45}.section-title{font-size:18px;margin:22px 0 5px}.section-sub{font-size:12.5px;margin-bottom:14px;line-height:1.6}.footnote{font-size:10.5px;margin-top:24px}.btn{padding:13px 20px;font-size:15px;min-height:46px;border-radius:11px}.btn:active{transform:scale(.985)}.btn-primary:active{background:#a93226}.report-btns{flex-direction:column;gap:10px;margin-top:18px}.report-btns .btn{width:100%}.report-btns-3{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.report-btns-3 .btn-edit{grid-column:1/-1}.report-btns-3 .btn{width:100%;padding:13px 10px;font-size:14px}.upload{padding:26px 14px;border-radius:12px}.upload .ico{font-size:30px}.upload .hint{font-size:12.5px}.upload .small{font-size:10.5px}textarea{min-height:150px;font-size:16px;padding:13px;border-radius:11px;line-height:1.75}.grade-row{flex-wrap:wrap;gap:8px;font-size:12.5px}.grade-row select{font-size:16px;padding:9px 10px;min-height:42px;flex:1 1;min-width:110px}.grade-row .grade-note{flex-basis:100%;font-size:10.5px;text-align:left}.quota-bar{padding:9px 12px;font-size:12px;border-radius:9px;line-height:1.5;gap:7px;flex-wrap:wrap}.quota-bar b{font-size:14px}.quota-bar .qb-r{font-size:11.5px}.quota-cost{font-size:11px;margin-top:9px}.report{padding:16px;border-radius:13px}.report .score-head{gap:13px;padding-bottom:13px}.score-ring{width:74px;height:74px}.score-ring:after{width:57px;height:57px}.score-ring .val{font-size:21px}.score-ring .val small{font-size:10px}.score-meta .lv{font-size:17px}.score-meta .tt{font-size:11.5px;line-height:1.5}.dims{margin-top:15px}.dim{margin-bottom:11px}.dim .top{font-size:12px}.tag{font-size:11px;padding:5px 10px;margin:0 6px 7px 0}.advice{font-size:12.5px;padding:11px 12px;line-height:1.75}.advice li{margin:3px 0 3px 15px}.comment{font-size:13px;padding:13px;line-height:1.85;margin-top:14px}.comment .who{font-size:11px}.block h4{font-size:14px;margin-bottom:9px}.auth-wrap{margin:18px auto 0;padding:22px 18px;border-radius:15px;max-width:none}.auth-title{font-size:17px}.auth-sub{font-size:12.5px}.auth-tabs{gap:22px;margin:16px 0 2px}.auth-tabs span{font-size:13.5px;padding-bottom:6px}.qr-box{width:min(196px,60vw);height:min(196px,60vw)}.phone-box input{font-size:16px;padding:13px;min-height:46px}.phone-box .code-btn{font-size:13px;padding:0 12px;min-height:46px}.avatar{width:48px;height:48px;font-size:18px}.hist-stat{padding:12px 13px;font-size:12px;margin:12px 0}.hist-stat b{font-size:21px}.hist-row{padding:12px 13px;gap:9px;border-radius:11px;margin-top:10px}.hr-title{font-size:14px}.hr-sub{font-size:11px;line-height:1.5}.hr-score{font-size:20px}.empty,.hr-go{font-size:12.5px}.empty{margin-top:32px}.qmask{align-items:flex-end;padding:0}.qdialog{width:100%;max-width:none;border-radius:18px 18px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom))}.qdialog h3{font-size:16px}.qdialog .qsub{font-size:12px}.qplan{padding:12px;border-radius:10px;margin-top:9px;min-height:56px}.qplan:active{background:#fff6e5}.qplan .qp-t{font-size:13px}.qplan .qp-d{font-size:10.5px}.qplan .qp-p{font-size:15px}.q-note{font-size:10px;gap:2px}.toast{bottom:calc(84px + env(safe-area-inset-bottom));font-size:12.5px;padding:10px 18px;max-width:calc(100vw - 40px);text-align:center}}@media (max-width:420px){.page{padding-left:12px;padding-right:12px}.hero h1{font-size:22px}.hero p{font-size:13px}.steps{gap:6px}.step .d{display:none}.section-title{font-size:17px}.report{padding:14px}.score-ring{width:66px;height:66px}.score-ring:after{width:50px;height:50px}.score-ring .val{font-size:19px}.score-meta .lv{font-size:15.5px}.comment{font-size:12.5px;line-height:1.8}.tabbar .tb{font-size:10px}.tabbar .tb .ico{font-size:18px}}@media (max-width:360px){.hero h1{font-size:20px}.logo{font-size:14px}.logo .seal{width:24px;height:24px;font-size:11px}#navRight .nav-quota{font-size:10.5px;padding:4px 8px}.report .score-head{gap:10px}}@media (max-width:900px) and (orientation:landscape) and (max-height:500px){.tabbar{position:static;padding-bottom:6px}.page{padding-bottom:24px}}@media (hover:none){.upload:hover{background:#fffdf7}.hist-row:hover,.qplan:hover{background:#fff;border-color:var(--paper2)}.btn-primary:hover{background:var(--red)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}