:root{font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif;color:#1d2d46;background:#f4f7fb;font-size:14px;--blue:#285ed6;--muted:#64748b;--line:#e2e8f0;--danger:#b42336}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:var(--blue);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #93b4ff;outline-offset:3px}small{color:var(--muted);line-height:1.6}h1,h2,h3,p{overflow-wrap:anywhere}h2{font-size:19px;margin:0 0 18px}h3{font-size:17px}p{line-height:1.85}#p-sidebar{width:236px;position:fixed;inset:0 auto 0 0;background:white;border-right:1px solid var(--line);padding:calc(26px + env(safe-area-inset-top)) 18px calc(26px + env(safe-area-inset-bottom));z-index:40;display:flex;flex-direction:column}#p-brand{display:flex;align-items:center;gap:11px;min-height:48px;margin-bottom:34px;color:#192b46}#p-brand>span,#p-brand>img{width:44px;height:44px;border-radius:12px;flex-shrink:0;object-fit:contain}#p-brand>span{display:grid;place-items:center;background:var(--blue);color:white;font-size:24px;font-weight:800}#p-brand b{font-size:15px;display:block;max-width:148px;overflow-wrap:anywhere}#p-brand small{font-size:11px;display:block;margin-top:5px}#p-side-nav{display:grid;gap:7px}#p-side-nav a{color:#52627a;padding:13px 16px;border-radius:10px;font-size:14px}#p-side-nav a.active{background:#eaf0ff;color:#174ebd;font-weight:700}#p-side-nav a:hover{background:#f0f4fb}.p-side-foot{margin-top:auto;padding:20px 12px 0;font-size:12px;color:var(--muted);line-height:1.8}.p-page{margin-left:236px;min-height:100vh;display:flex;flex-direction:column}#p-topbar{height:calc(72px + env(safe-area-inset-top));border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:env(safe-area-inset-top) 36px 0}.p-top-left{position:relative;z-index:1;display:flex;align-items:center;gap:12px}#p-top-title{font-weight:600}.p-menu-button{display:none}#p-main{width:100%;max-width:1390px;margin:auto;padding:36px;flex:1}#p-footer{font-size:12px;color:var(--muted);padding:26px 36px;border-top:1px solid var(--line)}#p-mobile-nav{display:none}.p-heading{margin-bottom:28px}.p-kicker{font-size:11px;letter-spacing:1.5px;color:#345fbd;font-weight:700}.p-heading h1{font-size:28px;line-height:1.35;margin:9px 0}.p-heading p{margin:8px 0;color:var(--muted);font-size:14px}.p-card{padding:25px;border:1px solid #e7edf6;background:#fff;border-radius:16px;margin-bottom:24px;min-width:0;box-shadow:0 8px 24px #16284904}.p-card p:last-child{margin-bottom:0}.p-form{display:grid;gap:18px}.p-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.p-field{display:grid;gap:8px;color:#334760;font-size:13px;min-width:0}.p-field input,.p-field select,.p-field textarea,.p-answer-text{width:100%;min-width:0;border:1px solid #cfd9e8;border-radius:8px;padding:11px 12px;background:#fff;color:#1d2d46;line-height:1.5}.p-field select{min-height:44px}.p-field select[multiple]{min-height:140px}.p-field small{font-size:12px;font-weight:400}.p-check{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.6}.p-check input,input[type=checkbox],input[type=radio]{width:17px;height:17px;accent-color:var(--blue);flex-shrink:0}.p-button,.p-ghost{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 17px;border-radius:9px;font-size:13px;font-weight:600;line-height:1.5;min-height:43px;border:1px solid transparent;vertical-align:middle;justify-self:start;white-space:normal}.p-button{background:var(--blue);color:white}.p-button:hover{background:#194fbf}.p-ghost{background:#f8faff;border-color:#d4e1fb;color:#2857b7}.p-link{border:0;background:transparent;color:var(--blue);font-size:13px;padding:7px;line-height:1.5}.p-icon{width:36px;height:36px;background:#f1f4f9;border:0;border-radius:8px;font-size:23px;color:#42516a}.p-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.p-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.p-form-error,.danger{color:var(--danger)}.p-form-error:empty{display:none}.p-note{color:var(--muted);font-size:12px;line-height:1.9}.p-notice{padding:15px 18px;background:#edf3ff;color:#31568e;border-radius:10px;line-height:1.8}.p-empty{padding:32px 18px;color:var(--muted);background:#f8fafd;border:1px dashed #d7e0ec;border-radius:11px;text-align:center;line-height:1.8}.p-pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.p-narrow{max-width:520px;margin:45px auto}.p-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.p-stat{padding:22px;background:white;border:1px solid #e4ebf5;border-radius:13px;min-width:0}.p-stat>span{display:block;font-size:12px;color:var(--muted)}.p-stat>b{display:block;font-size:23px;line-height:1.4;margin:10px 0;color:#20395f}.p-stat>small{display:block;font-size:11px}.p-welcome{background:#244fa4;border-radius:18px;color:white;padding:38px;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}.p-welcome h2{font-size:29px;margin:15px 0}.p-welcome p{color:#e1eaff;max-width:650px}.p-welcome .p-button{background:white;color:#244fa4;margin-right:12px}.p-welcome .p-ghost{background:transparent;border-color:#8ca8e0;color:white}.p-welcome-art{width:150px;height:150px;border:2px solid #9db5e3;border-radius:26px;transform:rotate(7deg);text-align:center;padding-top:25px;font-size:57px;font-weight:800}.p-welcome-art small{font-size:10px;color:#d4e1ff;display:block;letter-spacing:1px}.p-section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:30px 0 18px}.p-section-title h2{margin:0}.p-product-grid,.p-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.p-product-grid .p-card,.p-course-grid .p-card{margin-bottom:0}.p-product{display:flex;flex-direction:column;gap:12px}.p-product h3{line-height:1.6;margin:2px 0}.p-product p{color:var(--muted);font-size:13px;flex:1;margin:0;white-space:pre-line}.p-tag{display:inline-flex;align-items:center;background:#edf3ff;color:#315d9f;padding:5px 9px;border-radius:6px;font-size:11px;line-height:1.6;align-self:flex-start}.p-subjects{display:flex;flex-wrap:wrap;gap:6px}.p-subjects span{font-size:11px;background:#f4f6fa;color:#526579;border-radius:4px;padding:4px 6px}.p-product-bottom{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:12px}.p-product-bottom strong,.p-price{font-size:24px;color:#1b4eaa}.p-product-bottom button{margin-left:auto}.p-product-bottom del,del{font-size:12px;color:var(--muted)}.p-product-detail{max-width:850px}.p-product-detail .p-form{margin-top:28px;max-width:580px}.p-filters{display:grid;grid-template-columns:1fr 1fr;gap:20px}.p-course-cover{height:110px;border-radius:10px;background:#edf2fc;display:flex;align-items:center;justify-content:space-between;padding:24px;color:#315d9f;margin-bottom:22px}.p-course-cover i{font-size:44px;font-style:normal}.p-lessons{list-style:none;padding:0;margin:20px 0 0}.p-lessons li{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);padding:14px 0}.p-lessons b{font-size:13px;line-height:1.7;display:block}.p-lessons small{font-size:11px;display:block;margin-top:4px}.p-lessons .p-ghost{padding:7px 10px;min-height:36px;font-size:12px;white-space:nowrap}.p-practice-card{max-width:960px;margin-top:28px;padding:32px}.p-question-stem{font-size:19px;line-height:1.9;white-space:pre-wrap;margin:20px 0}.p-answer-options{display:grid;gap:12px;margin:20px 0}.p-answer-option{display:flex;align-items:flex-start;gap:12px;border:1px solid #dbe4f1;padding:16px;border-radius:10px;line-height:1.8;cursor:pointer}.p-answer-option:has(input:checked){background:#edf3ff;border-color:#7c9fe9}.p-answer-option input{margin-top:4px}.p-feedback{padding:20px;background:#f0f4fb;border-radius:12px;margin:20px 0}.p-feedback.correct{background:#e8f6ee;color:#1a6e43}.p-feedback.incorrect{background:#fff0ee;color:#a73438}.p-exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:22px;align-items:start}.p-exam-aside{position:sticky;top:calc(95px + env(safe-area-inset-top));display:grid;gap:16px}.p-exam-aside>strong{font-size:34px;color:#214f9f;font-variant-numeric:tabular-nums}.p-exam-aside p{margin:0;font-size:12px;color:var(--muted)}.p-answer-sheet{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.p-answer-sheet a{padding:8px 0;text-align:center;border:1px solid #d5dfef;border-radius:6px;color:#546780}.p-answer-sheet a.done{background:#e5efff;border-color:#83a5e9;color:#244fa4}.p-score-rules{display:grid;gap:14px}.p-score-rules>div{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#f7f9fd;padding:14px;border-radius:9px;align-items:end}.p-submit-exam{margin:4px 0 24px}.p-list-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.p-list-row:last-child{border-bottom:0}.p-list-row small,.p-grant small,.p-order small{display:block;margin-top:6px;font-size:12px}.p-order{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:12px}.p-order .p-actions{grid-column:1/-1}.p-order>.p-tag{margin-top:8px}.p-welcome-profile{display:flex;gap:16px}.p-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.p-guide li{padding:10px 0;line-height:1.8}.p-table-wrap{max-width:100%;overflow:auto;margin:14px 0}.p-table-wrap table{border-collapse:collapse;width:100%;min-width:650px;font-size:12px;text-align:left}.p-table-wrap th{background:#f4f7fc;color:#516580;white-space:nowrap;padding:14px 12px;font-weight:600}.p-table-wrap td{padding:15px 12px;border-bottom:1px solid #e9eef5;line-height:1.7;vertical-align:top;min-width:65px;overflow-wrap:anywhere}.p-table-wrap td small{display:block;margin-top:5px}.p-table-wrap td button{white-space:nowrap}.p-table-wrap td p{margin:8px 0}.p-small-input{width:85px;padding:8px;border:1px solid #cfd9e8;border-radius:6px}.p-course-admin{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px}.p-course-admin:last-child{border-bottom:0}.p-course-admin h3{margin:0 0 8px}.p-upload{padding:20px;background:#f7faff;border:1px dashed #9db7e8;border-radius:10px;display:grid;gap:15px;line-height:1.7}.p-upload input{max-width:100%}.p-upload-preview{display:block;max-width:100%;width:240px;max-height:170px;object-fit:contain;object-position:left;border-radius:8px}.p-banner-thumb{width:100px;height:60px;object-fit:cover;border-radius:8px}.p-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}.p-tab{padding:11px 17px;background:white;border:1px solid var(--line);border-radius:8px;color:#52637b}.p-tab.active{background:#e7efff;color:#2354b2;border-color:#a5bdee}.p-grant,.p-refund{padding:20px 0;border-bottom:1px solid var(--line)}.p-grant p{font-size:12px;color:var(--muted);margin:8px 0}.p-dialog{border:0;border-radius:16px;padding:0;width:min(560px,calc(100vw - 36px));max-height:90vh;box-shadow:0 26px 90px #13294c42;color:#1d2d46}.p-dialog.large{width:min(1100px,calc(100vw - 48px))}.p-dialog::backdrop{background:#132238a3;backdrop-filter:blur(3px)}.p-dialog>header{position:sticky;top:0;z-index:2;background:white;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;border-bottom:1px solid var(--line)}.p-dialog header h2{margin:0;font-size:18px}.p-dialog-body{padding:26px}.p-dialog textarea:not(.p-field textarea){max-width:100%;width:100%}.p-secret{display:block;padding:20px;background:#edf3ff;font-size:22px;overflow-wrap:anywhere}.p-video-stage{position:relative;background:#080d18;border-radius:10px;overflow:hidden;aspect-ratio:16/9}.p-video-stage video{display:block;width:100%;height:100%;background:#080d18;object-fit:contain}.p-watermark{position:absolute;top:12%;right:7%;font-size:15px;color:#ffffff9c;text-shadow:0 1px 3px #000;pointer-events:none;animation:watermark 28s ease-in-out infinite alternate}@keyframes watermark{to{top:68%;right:53%}}.p-pay-qr{width:240px;height:240px;display:block;margin:20px auto}.p-carousel{position:relative;border-radius:16px;overflow:hidden;background:#e5edfa;aspect-ratio:16/5}.p-slide-track{display:flex;height:100%;transition:transform .45s ease}.p-slide{display:block;flex:0 0 100%;width:100%;height:100%;padding:0;border:0;background:transparent}.p-slide picture,.p-slide img{width:100%;height:100%;display:block;object-fit:cover}.p-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:7px}.p-dot{width:26px;height:7px;min-height:0;padding:0;border:0;border-radius:5px;font-size:0;background:#ffffff80}.p-dot.active{background:white}.p-account-bell{position:relative;display:inline-flex}.p-bell-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;min-height:0;padding:0;border:1px solid #d4e1fb;border-radius:10px;background:#f8faff;color:#2857b7;cursor:pointer}.p-bell-btn .p-glyph{width:21px;height:21px}.p-bell-btn:hover{background:#eaf1ff}.p-bell-badge{position:absolute;top:-5px;right:-7px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#d83a52;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px #fff}
.p-notify-list{display:grid;gap:10px;max-height:60vh;overflow:auto}.p-notify-item{display:flex;gap:13px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#fff;cursor:pointer}.p-notify-item.unread{background:#f4f8ff;border-color:#bcd0f2}.p-notify-item img{width:86px;height:86px;object-fit:cover;border-radius:9px;flex-shrink:0}.p-notify-item b{font-size:14px;line-height:1.5}.p-notify-item p{font-size:13px;color:#334760;line-height:1.7;margin:6px 0 0;overflow-wrap:anywhere}.p-notify-item small{font-size:11px;display:block;margin-top:7px}
#p-toast{position:fixed;z-index:100;bottom:30px;left:50%;transform:translate(-50%,20px);background:#203552;color:white;padding:14px 22px;border-radius:10px;opacity:0;pointer-events:none;max-width:min(680px,90vw);transition:.2s;font-size:13px;line-height:1.7}#p-toast.visible{opacity:1;transform:translate(-50%,0)}details{border:1px solid #e1e8f2;border-radius:10px;padding:16px}summary{cursor:pointer;color:#36577e;line-height:1.7}details>.p-form-grid,details>.p-field{margin-top:18px}[hidden]{display:none!important}
@media(min-width:1600px){#p-main{padding:40px 52px}.p-course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.p-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){.p-product-grid,.p-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p-stats{grid-template-columns:repeat(2,minmax(0,1fr))}#p-main{padding:26px}.p-welcome{padding:28px}.p-welcome h2{font-size:25px}.p-welcome-art{width:120px;height:120px;font-size:45px}}
@media(max-width:1000px){#p-sidebar{transform:translateX(-100%);transition:transform .2s}.menu-open #p-sidebar{transform:translateX(0);box-shadow:10px 0 60px #13294c33}.p-page{margin-left:0}.p-menu-button{display:inline-flex}.p-exam-layout{grid-template-columns:minmax(0,1fr) 210px}#p-topbar{padding:env(safe-area-inset-top) 24px 0}.p-admin-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){:root{font-size:14px}#p-topbar{height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0}.p-page{padding-bottom:76px}#p-main{padding:22px 16px;max-width:100%}#p-top-title{font-size:13px}#p-account .p-ghost{padding:7px 12px;min-height:35px;font-size:12px}.p-menu-button{width:33px;height:33px;font-size:20px}#p-mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:#fffffff5;border-top:1px solid var(--line);z-index:35;padding:8px 4px max(8px,env(safe-area-inset-bottom));backdrop-filter:blur(12px)}#p-mobile-nav a{display:grid;justify-items:center;gap:3px;padding:4px;color:#72829a;font-size:11px}#p-mobile-nav i{font-style:normal;font-size:22px;line-height:1.2}#p-mobile-nav a.active{color:#285ed6;font-weight:700}.p-heading{margin-bottom:20px}.p-heading h1{font-size:23px}.p-heading p{font-size:12px;line-height:1.8}.p-kicker{font-size:10px}.p-card{padding:20px 17px;border-radius:13px;margin-bottom:18px}.p-form-grid,.p-admin-grid{grid-template-columns:1fr}.p-form{gap:17px}.p-field input,.p-field select,.p-field textarea,.p-answer-text{font-size:16px;min-height:45px}.p-field{font-size:13px}.p-button,.p-ghost{min-height:44px}.p-stats{gap:10px;margin:18px 0}.p-stat{padding:16px 13px;border-radius:11px}.p-stat b{font-size:20px}.p-welcome{padding:26px 22px;display:block}.p-welcome h2{font-size:24px;line-height:1.5}.p-welcome p{font-size:13px}.p-welcome-art{display:none}.p-welcome .p-actions,.p-welcome>div>div{display:flex;flex-wrap:wrap;gap:10px}.p-welcome .p-button{margin:0}.p-product-grid,.p-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.p-product{display:grid;gap:9px}.p-product>h3,.p-product>p,.p-product>.p-subjects,.p-product>small,.p-product>.p-product-bottom{grid-column:1/-1}.p-product-bottom{flex-wrap:wrap}.p-product p{font-size:13px}.p-product h3{font-size:18px}.p-product>.p-tag{grid-column:1/-1}.p-section-title{margin:24px 0 15px}.p-section-title h2{font-size:18px}.p-section-title a{font-size:12px;white-space:nowrap}.p-filters{grid-template-columns:1fr 1fr;padding:16px 12px;gap:12px}.p-course-cover{height:86px;padding:20px}.p-lessons li{gap:10px;padding:15px 0}.p-lessons button{min-height:40px}.p-practice-card{padding:23px 17px}.p-question-stem{font-size:17px;line-height:1.95}.p-answer-option{padding:15px 12px;gap:10px}.p-practice-card>.p-button,.p-submit-exam{width:100%;justify-self:stretch}.p-exam-layout{display:flex;flex-direction:column;gap:15px}.p-exam-aside{order:-1;position:sticky;top:calc(60px + env(safe-area-inset-top));z-index:20;width:100%;padding:12px 15px;display:grid;grid-template-columns:1fr auto;gap:6px;background:#fff;border-color:#b6c8e8}.p-exam-aside>strong{font-size:25px;grid-column:2;grid-row:1/3}.p-exam-aside>span{font-size:11px}.p-exam-aside>p{font-size:11px}.p-exam-aside>.p-answer-sheet{grid-column:1/-1;display:flex;overflow:auto;gap:7px;max-height:46px}.p-answer-sheet a{flex:0 0 34px;padding:7px 0}.p-exam-aside>.p-ghost,.p-exam-aside>small{display:none}.p-exam-questions{width:100%}.p-exam-questions .p-card{scroll-margin-top:200px}.p-score-rules>div{gap:12px;padding:13px}.p-list-row{gap:12px;flex-wrap:wrap}.p-list-row>div{min-width:0;flex:1}.p-list-row>button{font-size:12px;padding:9px 12px}.p-order{grid-template-columns:1fr auto}.p-order strong{font-size:17px}.p-table-wrap table{min-width:640px}.p-tabs{flex-wrap:nowrap;overflow:auto;gap:7px;padding-bottom:6px}.p-tab{white-space:nowrap;font-size:12px;padding:10px 14px}.p-dialog,.p-dialog.large{width:calc(100vw - 20px);max-height:92dvh;border-radius:14px}.p-dialog>header{padding:16px}.p-dialog-body{padding:19px 16px}.p-dialog header h2{font-size:17px}.p-video-stage{margin:0 -16px;border-radius:0}.p-dialog.large:has(video){width:100vw;border-radius:0;max-width:100vw}.p-watermark{font-size:11px}.p-carousel{aspect-ratio:750/420;border-radius:13px}.p-dot{width:20px}.p-banner-thumb{width:80px;height:50px}#p-footer{padding:20px 16px;font-size:11px}#p-toast{bottom:90px;font-size:12px;width:max-content;max-width:90vw}.p-upload-preview{width:200px}.p-guide{padding-left:22px}.p-guide li{padding:8px 0}.p-note{font-size:12px}.p-narrow{margin:20px auto}.p-welcome-profile{display:grid;grid-template-columns:1fr 1fr;gap:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.p-question-image{display:block;max-width:100%;max-height:600px;object-fit:contain;margin:12px 0}

/* 1.5.1: consistent optical size, rounded vector icons and clear active states. */
.p-glyph{display:inline-block;width:22px;height:22px;flex:none;vertical-align:middle;pointer-events:none}
#p-side-nav a{display:flex;align-items:center;gap:13px;min-height:48px;transition:background .16s,color .16s}
#p-side-nav .p-glyph{width:21px;height:21px;opacity:.86}#p-side-nav a.active .p-glyph{opacity:1;stroke-width:2}
#p-side-nav a.active{box-shadow:inset 3px 0 #285ed6;background:linear-gradient(90deg,#e8efff,#f3f6ff)}
.p-icon{display:inline-flex;align-items:center;justify-content:center}.p-icon .p-glyph{width:20px;height:20px}
.p-link:has(>.p-glyph){display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;border-radius:8px}.p-link:has(>.p-glyph):hover{background:#edf3ff}
.p-brand-mark{background:linear-gradient(145deg,#487de9,#2454be)!important;box-shadow:0 5px 12px #285ed620}.p-brand-mark .p-glyph{width:27px;height:27px;stroke-width:1.7}
.p-welcome-art{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;gap:14px;background:#ffffff0a}.p-welcome-art>.p-glyph{width:66px;height:66px;stroke-width:1.35}
@media(max-width:700px){#p-mobile-nav{padding-top:7px;box-shadow:0 -4px 22px #20395f05}#p-mobile-nav a{gap:2px;min-height:51px;padding:0 2px;font-weight:500}.p-nav-icon{display:flex;align-items:center;justify-content:center;width:46px;height:30px;border-radius:11px;transition:background .16s}.p-nav-icon .p-glyph{width:23px;height:23px;stroke-width:1.75}#p-mobile-nav a.active .p-nav-icon{background:#eaf0ff}#p-mobile-nav a.active .p-glyph{stroke-width:2}.p-welcome-art{display:none}}

.p-menu-button{display:none}@media(max-width:1000px){.p-menu-button{display:inline-flex}}
/* 1.5.2: quieter hierarchy, compact utility rows and task-focused learning. */
body[data-role=learner]{background:#f5f7fb}
body[data-role=learner] #p-main{max-width:1280px;margin:auto}
body[data-role=learner] .p-heading .p-kicker{display:none}
body[data-role=learner] .p-heading p:empty{display:none}
body[data-role=learner] .p-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.p-back{display:inline-flex;align-items:center;color:#60728d;font-size:13px;margin:0 0 20px;min-height:32px}
.p-study-hero{padding:32px 36px;background:linear-gradient(115deg,#e9f0ff,#f2f5ff 70%,#edf7f5);border:1px solid #dce5f7;border-radius:20px;margin-bottom:24px}
.p-study-hero>span{font-size:12px;color:#4669a6;letter-spacing:2px}.p-study-hero h1{font-size:30px;line-height:1.5;margin:8px 0 10px;font-weight:650;letter-spacing:-.5px}.p-study-hero h2{font-size:27px;margin:0 0 12px}.p-study-hero p{color:#63758d;line-height:1.9;margin:0 0 22px}
.p-study-hero .p-actions{margin:0}.p-secondary-links{display:flex;justify-content:space-between;gap:20px;margin:24px 0;color:#61748e;font-size:13px}.p-secondary-links a{color:inherit}
.p-continue{display:flex;align-items:center;gap:20px;padding-top:20px;padding-bottom:20px}.p-continue>div{flex:1;min-width:0}.p-continue h2{font-size:17px;margin:0 0 8px}.p-continue p{margin:0;color:#6c7d95;font-size:13px;line-height:1.8}.p-continue>.p-glyph{color:#3867c6;width:30px;height:30px}
.p-entry-list{padding:5px 24px}.p-entry{display:flex;align-items:center;gap:14px;text-align:left;padding:20px 0;min-height:66px;border:0;border-bottom:1px solid #edf0f5;background:transparent;color:#243650;width:100%;text-decoration:none;cursor:pointer}.p-entry:last-child{border-bottom:0}.p-entry:hover{color:#285ed6}.p-entry>span:nth-child(2){flex:1;min-width:0}.p-entry b{font-size:15px;font-weight:550}.p-entry small{display:block;color:#8693a6;font-size:12px;margin-top:6px}.p-entry-icon{width:34px;height:34px;display:grid;place-items:center;color:#6881a7;background:#f2f5fb;border-radius:10px}.p-entry-icon .p-glyph{width:20px;height:20px}.p-chevron{margin-left:auto;color:#a0aec0;font-size:22px}
.p-profile-header{display:flex;align-items:center;gap:18px;margin:12px 0 28px}.p-profile-header h1{font-size:26px;margin:0 0 8px}.p-profile-header p{margin:0;color:#7a8ba3;font-size:13px}.p-avatar{width:72px;height:72px;display:grid;place-items:center;background:#e6edfc;color:#3b63b1;border-radius:24px}.p-avatar .p-glyph{width:34px;height:34px}.p-settings-shortcut{margin-left:auto;color:#6f83a3;padding:14px;background:white;border:1px solid #e4eaf3;border-radius:14px}
.p-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.p-feature{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:24px;background:white;border:1px solid #e4eaf4;border-radius:16px;color:#263954;text-decoration:none;transition:transform .15s,border-color .15s}.p-feature:hover{transform:translateY(-2px);border-color:#9db8eb}.p-feature-icon{width:44px;height:44px;display:grid;place-items:center;background:#eef3ff;color:#3e6ac2;border-radius:13px;margin-bottom:16px}.p-feature:nth-child(3) .p-feature-icon{background:#fff2ed;color:#c87951}.p-feature:nth-child(4) .p-feature-icon{background:#fff8df;color:#ab883a}.p-feature:nth-child(5) .p-feature-icon{background:#edf6f2;color:#458a72}.p-feature b{font-size:16px}.p-feature small{color:#8a98aa;line-height:1.7;margin-top:7px;font-size:12px}.p-feature em{position:absolute;right:22px;top:27px;font-size:14px;font-style:normal;color:#8b9ab1}
.p-bank-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:26px 0 16px}.p-bank-header h2{margin:8px 0 0;font-size:21px}.p-bank-header a{font-size:12px;white-space:nowrap;color:#70819a}.p-subject-chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:12px}.p-chip{border:1px solid #e0e6f0;border-radius:20px;padding:9px 17px;background:white;font-size:13px;color:#7889a1;min-height:38px}.p-chip.active{background:#eaf0fc;color:#315eaf;border-color:#aec2ea}.p-slim-stats{padding:0 20px;background:transparent;border:0;box-shadow:none}.p-slim-stats .p-stats{margin:0}.p-slim-stats .p-stat{background:transparent;border:0;padding:12px 0}.p-slim-stats .p-stat b{font-size:22px}
.p-filter-details{padding:16px 22px}.p-filter-details summary{font-size:13px}.p-filter-details .p-form{margin-top:20px}.p-question-tools{display:flex;justify-content:flex-end;margin-top:18px}.p-save-question{display:flex;gap:6px;align-items:center;background:transparent;border:0;color:#8b99ac;font-size:13px;padding:6px 0;min-height:32px}.p-save-question .p-glyph{width:18px;height:18px}.p-save-question.saved{color:#a77d20}.p-save-question.saved .p-glyph{fill:#fff3c1}.p-history-item h2{font-size:17px;line-height:1.8}.p-history-item p{font-size:13px;color:#62748f}.p-correct{color:#278767}.p-incorrect{color:#bd645b}.p-history-item .p-ghost{min-height:38px;font-size:13px}
.p-course-tile{display:flex;flex-direction:column;gap:12px;margin:0}.p-course-tile .p-course-cover{margin:0 0 4px}.p-course-tile h2{font-size:19px;line-height:1.6;margin:0}.p-course-tile>p{font-size:13px;line-height:1.8;color:#8996a9;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.p-course-tile>.p-button,.p-course-tile>.p-ghost{align-self:flex-start;margin-top:auto}.p-course-tile>small{font-size:12px;color:#8292a9;line-height:1.7}.p-course-progress{height:4px;background:#edf1f7;border-radius:4px;overflow:hidden}.p-course-progress>span{display:block;height:100%;background:#83a4e3}.p-course-tile .p-course-cover{width:100%;box-sizing:border-box}.p-course-tile .p-course-cover>span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:18px;text-align:center;font-weight:600;color:#315d9f;line-height:1.5}.p-order-detail{grid-column:1/-1;font-size:13px}.p-order-detail .p-actions{margin-top:16px}.p-order-detail summary{color:#8291a6;font-size:12px}.p-logout{width:100%;background:white;color:#8a6b6b;border-color:#e4e8ef}
.p-invite-strip{display:flex;align-items:center;gap:15px;padding:20px 24px;margin:0 0 22px;background:#fff6e9;color:#9f7333;border:1px solid #f2e4ce;border-radius:14px;text-decoration:none}.p-invite-strip>span:nth-child(2){flex:1}.p-invite-strip b{font-size:14px;font-weight:550}.p-invite-strip small{display:block;font-size:12px;margin-top:7px;color:#b39a76}.p-login-empty{text-align:center;padding:40px 24px}.p-login-empty>.p-glyph{width:44px;height:44px;color:#8aa9df}.p-login-empty h2{font-size:21px}.p-login-empty p{font-size:13px;color:#8191a8;line-height:1.9}
body[data-role=learner] .p-carousel{margin:24px 0;aspect-ratio:16/4}
@media(max-width:700px){body[data-role=learner] #p-mobile-nav{grid-template-columns:repeat(4,1fr)}body[data-role=learner] #p-main{padding:20px 16px}.p-study-hero{padding:24px 22px;border-radius:16px;margin-bottom:20px}.p-study-hero h1{font-size:23px;letter-spacing:0}.p-study-hero h2{font-size:23px}.p-study-hero>span{font-size:10px}.p-study-hero p{font-size:12px;margin-bottom:18px}.p-study-hero .p-button,.p-study-hero .p-ghost{font-size:13px;padding:11px 17px}.p-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.p-feature{align-items:center;text-align:center;padding:18px 5px 16px;border-radius:13px;min-width:0}.p-feature b{font-size:13px;font-weight:600}.p-feature small{display:none}.p-feature-icon{width:40px;height:40px;border-radius:12px;margin-bottom:12px}.p-feature-icon .p-glyph{width:22px;height:22px}.p-feature em{font-size:10px;top:10px;right:9px;background:#f3f6fc;min-width:16px;border-radius:8px;padding:1px 3px}.p-bank-header h2{font-size:17px}.p-bank-header{margin-top:20px}.p-bank-header .p-kicker{font-size:10px}.p-subject-chips{gap:7px}.p-chip{font-size:12px;padding:7px 13px;min-height:36px}body[data-role=learner] .p-stats{gap:8px}.p-stat b{font-size:19px}body[data-role=learner] .p-stat{padding:15px 10px}body[data-role=learner] .p-stat span{font-size:11px}.p-entry-list{padding:3px 18px}.p-entry{padding:16px 0;gap:12px;min-height:62px}.p-entry b{font-size:14px}.p-entry small{font-size:11px}.p-profile-header{gap:13px;margin-bottom:22px}.p-avatar{width:55px;height:55px;border-radius:19px}.p-avatar .p-glyph{width:29px;height:29px}.p-profile-header h1{font-size:22px}.p-profile-header p{font-size:11px}.p-settings-shortcut{padding:10px;border-radius:12px}.p-profile-header>div{min-width:0}.p-invite-strip{padding:17px}.p-invite-strip b{font-size:12px}.p-invite-strip small{font-size:10px}.p-continue{gap:12px;flex-wrap:wrap}.p-continue p{font-size:12px}.p-continue>.p-glyph{display:none}.p-continue h2{font-size:16px}.p-continue .p-button{font-size:12px;padding:10px 14px}.p-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.p-course-tile h2{font-size:15px;line-height:1.5}.p-course-tile>p{font-size:12px;-webkit-line-clamp:2}.p-course-tile>.p-button,.p-course-tile>.p-ghost{font-size:11px;padding:8px 10px;min-height:36px}.p-filter-details{padding:14px 16px}.p-history-item h2{font-size:16px}.p-history-item .p-row{flex-wrap:wrap;gap:8px}.p-history-item small{font-size:10px}.p-secondary-links{font-size:11px}.p-back{margin-bottom:12px}.p-slim-stats{padding:0 8px}.p-slim-stats .p-stat b{font-size:20px}body[data-role=learner] .p-carousel{aspect-ratio:750/420}.p-order-detail{padding:13px}.p-order-detail .p-actions{gap:8px}}


.p-entry>span:first-child:not(.p-entry-icon){flex:1}.p-card>.p-button+.p-ghost{margin-left:8px}
@media(max-width:700px){body[data-role=learner] .p-menu-button{display:none}}

.p-home-course-list{padding:4px 24px}.p-home-course{display:flex;align-items:center;gap:18px;padding:23px 0;border-bottom:1px solid #edf0f5}.p-home-course:last-child{border-bottom:0}.p-home-course>div{flex:1;min-width:0}.p-home-course h3{font-size:16px;line-height:1.7;margin:0 0 5px}.p-home-course p{font-size:12px;color:#8493aa;margin:0;line-height:1.7}.p-home-subject{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;background:#edf3ff;border-radius:13px;color:#668bc7}
@media(max-width:700px){.p-home-course-list{padding:3px 16px}.p-home-course{gap:12px;padding:18px 0}.p-home-course h3{font-size:14px}.p-home-course p{font-size:11px}.p-home-subject{width:36px;height:40px;border-radius:11px}.p-home-subject .p-glyph{width:20px;height:20px}.p-home-course .p-ghost{font-size:12px;padding:8px 11px;white-space:nowrap;min-height:38px}}
/* 1.5.3 product marketing */
.p-promo-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.p-promo-type{border:1px solid #dce5f4;border-radius:14px;background:#f8faff;padding:20px 16px;text-align:left;color:#25334c;display:grid;gap:10px;cursor:pointer}.p-promo-type:hover{border-color:#285ed6;background:#edf3ff}.p-promo-type svg{width:26px;height:26px;color:#285ed6}.p-promo-type small{color:#748094;line-height:1.6}.p-promo-admin-list,.p-offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.p-promo-admin-list article>small,.p-offer-card>small{display:block;color:#748094;line-height:1.8}.p-promo-badges{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.p-promo-badge{display:inline-flex;align-items:center;background:#fff1e8;color:#ae4818;border:1px solid #ffdbc0;border-radius:6px;font-size:12px;font-weight:650;padding:4px 8px;line-height:1.5;text-decoration:none}.p-promo-products{border:1px solid #dce5f4;border-radius:12px;padding:16px}.p-promo-products legend{font-weight:650;padding:0 6px}.p-promo-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:240px;overflow:auto}.p-promo-checks label{border:1px solid #e4e9f1;border-radius:8px;padding:10px;align-items:flex-start}.p-promo-checks small{display:block;color:#7c8798;margin-top:4px}.p-product-offers{background:#fff8f1;border-radius:12px;padding:16px;margin:12px 0}.p-product-offers h3{margin:0 0 12px}.p-product-offers>div+div{margin-top:12px}.p-product-offers small{display:block;line-height:1.7;margin-top:6px;color:#78685d}.p-product-offers a{color:#a34820;text-decoration:none}.p-home-offers{margin-top:28px}.p-offer-detail p{line-height:1.9}.p-promo-admin-list [hidden],.p-promo-checks [hidden],[data-promo-value][hidden]{display:none!important}.p-promo-admin-list .p-actions{flex-wrap:wrap}.p-promo-admin-list h3{overflow-wrap:anywhere}.p-offer-grid .p-card,.p-promo-admin-list .p-card{margin-bottom:0}fieldset{min-width:0}code{overflow-wrap:anywhere}
@media(max-width:1000px){.p-promo-types{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.p-promo-admin-list,.p-offer-grid{grid-template-columns:1fr}.p-promo-type{padding:16px 12px}.p-promo-checks{grid-template-columns:1fr}.p-promo-admin-list .p-actions .p-link{padding:8px}.p-offer-card h2{font-size:19px}.p-promo-products{padding:12px}}
/* 1.5.4 catalog and cover layout */
.p-product-cover{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:12px;margin:0 0 16px;background:#eaf0fc}.p-cover-fallback{background:linear-gradient(130deg,#e7efff,#f2f5fb);color:#385d9d;padding:22px;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;overflow:hidden}.p-cover-fallback svg{width:36px;height:36px}.p-cover-fallback b{font-size:17px}.p-course-cover{aspect-ratio:16/9;height:auto;position:relative;overflow:hidden}.p-course-cover>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.p-detail-cover{display:block;width:100%;max-height:450px;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin-bottom:18px}.p-category-picker{min-width:0;border:1px solid #dce5f4;border-radius:12px;padding:16px}.p-category-picker legend{font-weight:650;padding:0 5px}.p-category-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.p-category-picker .p-check{padding:10px;border-radius:8px;background:#f6f8fc}.p-category-picker>small{display:block;color:#748094;line-height:1.7;margin-top:10px}.p-store-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;align-items:end}.p-store-filters .p-field{margin:0}.p-store-count{color:#748094;font-size:13px}.p-catalog-shortcut{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 20px;background:#edf3ff;border:1px solid #dce6fb;border-radius:12px;margin-bottom:24px;text-decoration:none;color:#285ed6}.p-catalog-shortcut>span:first-child{font-weight:650;display:flex;align-items:center;gap:10px}.p-catalog-shortcut svg{width:23px;height:23px}.p-catalog-shortcut>span:last-child{font-size:13px}.p-product .p-subjects{flex-wrap:wrap}[data-image-preview^="p-image-coverPath"] .p-upload-preview{aspect-ratio:16/9;object-fit:cover;max-width:320px}.p-product h3{overflow-wrap:anywhere}
@media(max-width:700px){.p-store-filters{grid-template-columns:1fr 1fr}.p-store-filters>.p-field:first-child{grid-column:1/-1}.p-catalog-shortcut{align-items:flex-start;flex-direction:column;gap:6px;padding:14px}.p-category-picker{padding:12px}.p-category-picker .p-check{padding:8px}.p-product-cover{border-radius:8px;margin:0 0 8px;aspect-ratio:16/9}.p-cover-fallback{padding:12px}.p-detail-cover{max-height:none}.p-product{gap:5px;padding:10px}.p-product>p,.p-product>.p-subjects,.p-product>.p-tag{display:none}.p-product h3{font-size:14px;line-height:1.35;margin:0}.p-product-bottom{margin-top:5px;gap:5px;align-items:center}.p-product-bottom strong{font-size:16px}.p-product-bottom del{font-size:11px}.p-product-bottom button{padding:6px 10px;min-height:30px;font-size:11px}.p-course-tile{gap:5px;padding:10px}.p-course-tile>p{display:none}.p-course-tile .p-course-cover{height:auto;aspect-ratio:16/9;margin-bottom:2px}.p-course-tile h2{font-size:14px;line-height:1.35}.p-course-tile>small{font-size:10px}.p-course-tile>.p-button,.p-course-tile>.p-ghost{font-size:11px;padding:6px 10px;min-height:30px}.p-product-grid,.p-course-grid{gap:8px}.p-promo-products{padding:10px}.p-promo-products legend{font-size:12px}}

/* ===== 1.5.6 体验优化：骨架屏 / 字段错误 / 回到顶部 / 分页 ===== */
.p-skeleton{display:grid;gap:22px}
.p-sk-heading{display:grid;gap:12px;margin-bottom:6px}
.p-sk-line{display:block;height:16px;border-radius:8px;background:#e8eef7}
.p-sk-line.w40{width:40%}.p-sk-line.w50{width:50%}.p-sk-line.w70{width:70%}.p-sk-line.w80{width:80%}
.p-sk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.p-sk-card{display:grid;gap:12px;padding:20px;background:#fff;border:1px solid #e7edf6;border-radius:16px}
.p-sk-cover{display:block;height:120px;border-radius:12px;background:#e8eef7}
.p-skeleton .p-sk-line,.p-skeleton .p-sk-cover{background:linear-gradient(90deg,#e8eef7 25%,#f2f6fc 50%,#e8eef7 75%);background-size:200% 100%;animation:p-sk-shimmer 1.3s infinite}
@keyframes p-sk-shimmer{to{background-position:-200% 0}}
@media(max-width:1000px){.p-sk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.p-sk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.p-field-error{font-size:12px;color:var(--danger);line-height:1.6;margin:0}
.p-field.invalid input,.p-field.invalid select,.p-field.invalid textarea{border-color:var(--danger);background:#fffafa}
#p-back-top{position:fixed;right:26px;bottom:96px;z-index:34;width:46px;height:46px;border:0;border-radius:14px;background:#285ed6;color:#fff;box-shadow:0 10px 28px #285ed640;display:grid;place-items:center;cursor:pointer}
#p-back-top .p-glyph{width:22px;height:22px}
#p-back-top:hover{background:#194fbf}
@media(max-width:700px){#p-back-top{right:16px;bottom:92px;width:42px;height:42px;border-radius:12px}}
body[data-role=learner] #p-mobile-nav{grid-template-columns:repeat(5,1fr)}
@media(max-width:700px){body[data-role=learner] #p-mobile-nav{grid-template-columns:repeat(5,1fr)}}
/* 后台与学员端通用分页控件 */
.p-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.p-pager-info{font-size:12px;color:var(--muted)}
.p-pager-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.p-pager-actions button{min-height:38px;padding:8px 14px}
.p-pager-actions .p-pager-num{min-width:38px;padding:8px 0;justify-content:center}
.p-pager-actions .p-pager-num.current{background:#eaf0ff;color:#174ebd;border-color:#a5bdee;font-weight:700}
/* 考试分段导航 */
.p-exam-page-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 18px}
.p-exam-page-nav .p-pager-info{font-size:13px;color:#516580}
/* 1.5.6 练习回看导航与本轮回顾 */
.p-practice-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 4px}
.p-practice-nav .p-ghost{min-height:38px;padding:8px 14px}
.p-practice-review{display:grid;gap:0;margin:18px 0;border-top:1px solid var(--line)}
.p-practice-review .p-list-row{flex-wrap:wrap}
.p-practice-review .p-list-row>div{min-width:0;flex:1}
.p-practice-review .p-tag.correct{background:#e8f6ee;color:#1a6e43}
/* 1.5.6 视觉节奏统一：首页与刷题页间距收紧对齐 */
.p-study-hero{margin-bottom:22px}
.p-stats{margin:22px 0}
.p-feature-grid{margin:4px 0 18px}
.p-slim-stats{margin-top:4px}
@media(max-width:700px){.p-study-hero{margin-bottom:18px}.p-feature-grid{margin:2px 0 14px}.p-practice-nav{flex-wrap:wrap}}

/* 视频课程三步引导 */
.p-steps{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 20px;margin-bottom:14px}
.p-step{display:flex;align-items:center;gap:10px}
.p-step-num{width:30px;height:30px;border-radius:50%;background:#285ed6;color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.p-step-arrow{color:#9aa7bd;font-weight:700}
.p-steps .p-tag{display:inline-block;margin-top:2px}

/* 海豚风格：横向步骤条 */
.p-dolphin-steps{display:flex;align-items:flex-start;gap:0;background:#fff;border:1px solid #e6e9f0;border-radius:10px;padding:18px 22px;margin-bottom:16px}
.p-dstep{display:flex;align-items:center;gap:10px;min-width:0}
.p-dstep-icon{width:38px;height:38px;border-radius:50%;background:#eef3ff;color:#285ed6;display:grid;place-items:center;font-size:18px;flex:none}
.p-dstep b{display:block;font-size:14px;color:#333;line-height:1.3}
.p-dstep small{display:block;font-size:12px;color:#8893a8;margin-top:2px}
.p-dstep.done .p-dstep-icon{background:#e6f7ee;color:#1a9c5b}
.p-dstep-line{flex:1;height:2px;background:#e6e9f0;margin:18px 14px 0;border-radius:1px}

/* 空状态大引导 */
.p-empty-hero{text-align:center;padding:36px 20px;background:#fff;border:1px dashed #cfd6e4;border-radius:10px;margin-bottom:16px}
.p-empty-hero-icon{font-size:42px;margin-bottom:8px}
.p-empty-hero h2{margin:0 0 6px;font-size:18px;color:#333}
.p-empty-hero p{margin:0;color:#8893a8;font-size:13px}

/* 虚线上传区 */
.p-upload-dashed{display:block;cursor:pointer;border:1.5px dashed #b9c6e0;border-radius:10px;padding:26px;text-align:center;color:#5a6b8c;background:#fafcff;transition:border-color .15s}
.p-upload-dashed:hover{border-color:#285ed6;background:#f3f7ff}
.p-upload-dashed input{display:none}
.p-upload-plus{display:block;font-size:30px;color:#285ed6;line-height:1;margin-bottom:6px}
.p-upload-dashed span{display:block;font-size:14px;color:#333}
.p-upload-dashed small{display:block;font-size:12px;color:#9aa7bd;margin-top:4px}

/* 已上传视频列表 */
.p-video-list{margin-top:14px;border:1px solid #e6e9f0;border-radius:8px;overflow:hidden}
.p-video-list-head{background:#f5f7fc;padding:10px 14px;font-weight:600;font-size:13px;color:#333;display:flex;justify-content:space-between;align-items:center}
.p-video-list-head small{font-weight:400;color:#8893a8}
.p-video-row{display:flex;align-items:center;gap:10px;padding:9px 14px;border-top:1px solid #eef1f7;font-size:13px}
.p-video-row:nth-child(even){background:#fafbfe}
.p-video-idx{width:22px;height:22px;border-radius:50%;background:#eef3ff;color:#285ed6;display:grid;place-items:center;font-size:12px;font-weight:600;flex:none}
.p-video-name{flex:1;color:#333;word-break:break-all}
.p-video-size{color:#8893a8;font-size:12px;flex:none}
.p-video-ops{flex:none;display:flex;gap:4px}
.p-video-ops button{padding:2px 8px;font-size:12px}
.p-cat-select{padding:3px 6px;border:1px solid #d5dfee;border-radius:6px;font-size:12px;flex:none}
.p-cat-group{margin:12px 0}
.p-cat-group h4{margin:8px 0 4px;font-size:13px;color:#31568e}
.p-cat-group{margin:8px 0;border:1px solid #e8eef7;border-radius:10px;background:#fbfcfe}
.p-cat-group>summary{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;list-style:none}
.p-cat-group>summary::-webkit-details-marker{display:none}
.p-cat-group>summary b{font-size:14px;color:#1d4e8a}
.p-cat-group>summary small{margin-left:auto;color:#8893a8}
.p-cat-group[open]{background:#fff}
.p-video-list-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.p-course-list{display:grid;gap:14px}
.p-course-item{padding:0}
.p-course-item>summary{display:flex;align-items:center;gap:12px;padding:14px 16px;list-style:none}
.p-course-item>summary::-webkit-details-marker{display:none}
.p-course-item>summary b{font-size:15px}
.p-course-item>summary small{flex:1}
.p-course-item>summary .p-video-ops{flex:none}
.p-course-item[open]>summary{border-bottom:1px solid #eef1f7}
.p-course-item>.p-table-wrap,.p-course-item>.p-form,.p-course-item>.p-pager{margin:16px}
.p-muted{color:#8893a8;font-size:13px;padding:8px 2px}
.p-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}
.p-quick{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 6px;background:#fff;border:1px solid #e6ecf5;border-radius:14px;text-decoration:none;color:#334760;font-size:12px;font-weight:600}
.p-quick-icon{width:44px;height:44px;display:grid;place-items:center;background:#eaf0ff;color:#285ed6;border-radius:13px}
.p-quick-icon .p-glyph{width:24px;height:24px}
.p-quick:nth-child(2) .p-quick-icon{background:#eaf6ef;color:#2a8a5c}
.p-quick:nth-child(3) .p-quick-icon{background:#fff4e0;color:#c8791a}
.p-quick:nth-child(4) .p-quick-icon{background:#f0eaff;color:#7a4dd6}
.p-notice-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff8e8;border:1px solid #f2e3c2;border-radius:10px;margin-bottom:18px;font-size:13px}
.p-notice-bar a{color:#8a6a20;text-decoration:none;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-notice-dot{width:8px;height:8px;border-radius:50%;background:#e8a830;flex:none}
.p-progress-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 20px}
.p-progress-cell{background:#fff;border:1px solid #e6ecf5;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:4px}
.p-progress-cell b{font-size:22px;color:#20395f}
.p-progress-cell small{color:#8893a8;font-size:12px}
@media(max-width:700px){.p-quick-grid{gap:8px;margin:14px 0}.p-quick{padding:12px 4px;font-size:11px;border-radius:12px}.p-quick-icon{width:38px;height:38px;border-radius:11px}.p-quick-icon .p-glyph{width:21px;height:21px}.p-progress-cell{padding:13px}.p-progress-cell b{font-size:19px}}
.p-invite-url{display:block;background:#f4f6fa;border:1px dashed #c5cfdf;border-radius:8px;padding:10px 12px;font-family:monospace;font-size:12px;color:#3a5070;word-break:break-all;margin:10px 0;user-select:all;-webkit-user-select:all}

.p-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:6px}
.p-check-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:14px;background:#fff}
.p-check-item:hover{border-color:#3b82f6}
.p-check-item:has(input:checked){border-color:#3b82f6;background:#eff6ff}
.p-check-item input{width:16px;height:16px;accent-color:#3b82f6}

.p-pager{text-align:center;padding:10px 0}

/* 后台学员档案：工具栏、档案摘要与备注截断 */
.p-student-toolbar{gap:16px;align-items:end;margin-bottom:14px}
.p-student-toolbar .p-field{flex:1;min-width:220px;margin:0}
.p-student-toolbar .p-ghost{flex:none}
.p-tag-muted{background:#f1f4f9;color:#64748b}
#p-student-list .p-table-wrap td{min-width:0}
#p-student-list .p-table-wrap td>small{display:block;margin-top:5px;line-height:1.6}
.p-note-line{color:#8a7340;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){.p-student-toolbar{flex-direction:column;align-items:stretch}.p-student-toolbar .p-field{width:100%}.p-student-toolbar .p-ghost{width:100%}}

/* 商品详情：优惠码输入行 */
.p-coupon-row{gap:12px;align-items:end}
.p-coupon-row .p-field{margin:0}
.p-coupon-row .p-field span{display:block;font-size:13px;color:#334760;margin-bottom:8px}
.p-coupon-row .p-ghost{flex:none}
@media(max-width:700px){.p-coupon-row{flex-direction:column;align-items:stretch}.p-coupon-row .p-ghost{width:100%}}

/* 1.7.1 子账号管理与操作记录 */
.p-perm-picker{border:1px solid #dce5f4;border-radius:12px;padding:16px;min-width:0}
.p-perm-picker legend{font-weight:650;padding:0 5px;color:#334760}
.p-perm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:6px}
.p-perm-grid .p-check{padding:10px;border-radius:8px;background:#f6f8fc}
.p-audit-filters .p-actions{margin-top:6px}
.p-row-actions{display:flex;flex-wrap:wrap;gap:2px;align-items:center}
.p-link.danger{color:var(--danger)}
/* 1.8 消息通知：移动端适配 */
@media(max-width:700px){.p-bell-btn{width:36px;height:36px;border-radius:9px}.p-bell-badge{top:-4px;right:-6px;min-width:16px;height:16px;line-height:16px;font-size:10px;padding:0 4px}.p-notify-item{gap:10px;padding:12px 13px}.p-notify-item img{width:64px;height:64px}.p-notify-item b{font-size:13px}}
.p-account-name{font-size:13px;color:#334760;margin-right:8px;white-space:nowrap}
@media(max-width:700px){.p-perm-grid{grid-template-columns:1fr}.p-audit-filters .p-form-grid{grid-template-columns:1fr}.p-account-name{margin-right:4px}}

/* ===== 2.1 APP 化：常用过渡动画 ===== */
/* 页面切换转场：内容淡入 + 轻微上移（仅作用于每次 render 后重放的容器动画） */
#p-main.p-view-enter{animation:p-app-fade .26s ease-out}
@keyframes p-app-fade{from{opacity:0}to{opacity:1}}
/* 首屏网格/卡片入场：逐项上浮（最多 8 项，避免长列表过度动画） */
.p-product-grid>*,.p-course-grid>*,.p-feature-grid>*,.p-stats>*,.p-quick-grid>*{animation:p-app-item .34s cubic-bezier(.22,.8,.36,1) both}
.p-product-grid>*:nth-child(2),.p-course-grid>*:nth-child(2),.p-feature-grid>*:nth-child(2),.p-stats>*:nth-child(2),.p-quick-grid>*:nth-child(2){animation-delay:.045s}
.p-product-grid>*:nth-child(3),.p-course-grid>*:nth-child(3),.p-feature-grid>*:nth-child(3),.p-stats>*:nth-child(3),.p-quick-grid>*:nth-child(3){animation-delay:.09s}
.p-product-grid>*:nth-child(4),.p-course-grid>*:nth-child(4),.p-feature-grid>*:nth-child(4),.p-stats>*:nth-child(4),.p-quick-grid>*:nth-child(4){animation-delay:.135s}
.p-product-grid>*:nth-child(5),.p-course-grid>*:nth-child(5),.p-feature-grid>*:nth-child(5),.p-stats>*:nth-child(5),.p-quick-grid>*:nth-child(5){animation-delay:.18s}
.p-product-grid>*:nth-child(6),.p-course-grid>*:nth-child(6),.p-feature-grid>*:nth-child(6),.p-stats>*:nth-child(6),.p-quick-grid>*:nth-child(6){animation-delay:.225s}
.p-product-grid>*:nth-child(n+7),.p-course-grid>*:nth-child(n+7),.p-feature-grid>*:nth-child(n+7),.p-stats>*:nth-child(n+7),.p-quick-grid>*:nth-child(n+7){animation-delay:.27s}
@keyframes p-app-item{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* 按钮点击反馈：按压缩放 + 过渡 */
.p-button,.p-ghost,.p-tab,.p-chip,.p-quick,.p-entry,.p-feature{transition:transform .12s ease,background .16s ease,border-color .16s ease,color .16s ease}
.p-button:active:not(:disabled),.p-ghost:active:not(:disabled),.p-tab:active,.p-chip:active{transform:scale(.965)}
.p-quick:active,.p-entry:active,.p-feature:active{transform:scale(.985)}
/* 列表行轻反馈：按压底色 */
.p-list-row:active,.p-order:active,.p-grant:active,.p-lessons li:active{background:#f4f7fd}
/* 底部导航激活弹跳（APP 手感） */
#p-mobile-nav a{transition:color .15s ease}
#p-mobile-nav a.active .p-nav-icon{animation:p-app-navpop .3s cubic-bezier(.34,1.56,.64,1)}
@keyframes p-app-navpop{50%{transform:scale(1.16)}}
/* 返回顶部按钮 */
#p-back-top{transition:opacity .2s ease,transform .2s ease}
#p-back-top:not([hidden]){animation:p-app-fade .25s ease-out}

/* ===== 2.2 平滑过渡与课程播放页 ===== */
/* 页面切换转场：淡入 + 轻微上移（平缓，替代 2.1 的纯淡入） */
#p-main.p-view-enter{animation:p-app-enter .3s ease-out}
@keyframes p-app-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
/* 弹窗开启动画（关闭时由 closeModal 移除元素，无需离场动画） */
.p-dialog{animation:p-dialog-in .22s cubic-bezier(.2,.9,.3,1.15)}
@keyframes p-dialog-in{from{opacity:0;transform:scale(.97) translateY(10px)}to{opacity:1;transform:none}}
.p-dialog::backdrop{animation:p-backdrop-in .2s ease-out}
@keyframes p-backdrop-in{from{opacity:0}to{opacity:1}}
/* 平滑滚动（系统开启"减少动态"时自动禁用） */
html{scroll-behavior:smooth}
/* 详情区块展开内容淡入 */
details[open]>*:not(summary){animation:p-app-fade .2s ease}
/* 图片加载淡入 */
.p-product-cover,.p-detail-cover,.p-upload-preview{animation:p-app-fade .35s ease}
/* 课程播放页：视频置顶、课时列表在下方 */
.p-player-card{padding:0;overflow:hidden}
.p-player-head{display:flex;align-items:center;gap:12px;padding:20px 24px 16px;border-bottom:1px solid var(--line)}
.p-player-head b{font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-player-head .p-tag{flex:none}
.p-player-card .p-video-stage{border-radius:0;background:#000;margin:0}
.p-quality-switch{position:absolute;top:12px;right:12px;display:flex;gap:6px;padding:4px;border-radius:8px;background:#0b1424b3;backdrop-filter:blur(6px);z-index:3}
.p-quality-switch[hidden]{display:none}
.p-quality-chip{min-height:28px;padding:3px 10px;border:1px solid #ffffff2e;border-radius:6px;background:#ffffff14;color:#e8eefb;font-size:12px;font-weight:600;line-height:1.4}
.p-quality-chip:hover{background:#ffffff2b}
.p-quality-chip.active{background:#ffffff;border-color:#ffffff;color:#14284a}
.p-player-card #p-video-note{margin:0;padding:14px 24px;font-size:12px}
.p-player-meta{display:flex;align-items:center;gap:12px;padding:12px 24px;border-top:1px solid var(--line)}
.p-player-meta .p-tag{flex:none}
.p-player-meta .p-course-progress{flex:1;min-width:0;margin:0}
.p-player-meta small{color:var(--muted);font-size:12px;white-space:nowrap}
.p-locked-stage{display:grid;justify-items:center;gap:12px;padding:54px 24px;text-align:center;background:linear-gradient(180deg,#f7faff,#fbfcff)}
.p-locked-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:#e8efff;color:#4d76c6}
.p-locked-icon .p-glyph{width:30px;height:30px}
.p-locked-stage b{font-size:17px;color:#334760}
.p-locked-stage .p-actions{margin:0}
.p-locked-stage .p-note{margin:0;max-width:440px}
.p-course-lessons .p-row{margin-bottom:10px}
.p-course-lessons .p-row h2{margin:0}
.p-lessons li{transition:background .18s ease}
.p-lessons li.current{background:#edf3ff;border-radius:10px;padding:14px 12px}
.p-lessons li.current b{color:#1d4e8a}
.p-current-tag{background:#e8f0ff;color:#2a5cc8}
/* 课时切换时的播放器淡入 */
.p-player-switch{animation:p-player-in .32s ease}
@keyframes p-player-in{from{opacity:.35}to{opacity:1}}
@media(max-width:700px){.p-player-head{padding:14px 16px 12px}.p-player-card .p-video-stage{margin:0;border-radius:0}.p-player-card #p-video-note{padding:12px 16px}.p-player-meta{padding:10px 16px;flex-wrap:wrap;gap:8px}.p-player-meta small{white-space:normal}.p-locked-stage{padding:40px 16px}.p-lessons li.current{padding:13px 11px}}