.p-shell{min-height:100dvh;display:flex;flex-direction:column;background:var(--paper)}.p-wrap{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--gutter)}.p-top{background:var(--royal);color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:30;box-shadow:0 2px 10px rgba(7,26,69,.18)}.p-top-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px}.p-brand img{width:140px;height:auto}.p-nav{display:flex;align-items:center;gap:4px}.p-nav a,.p-navbtn{display:inline-flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font-weight:600;font-size:15px;padding:8px 12px;border-radius:10px;background:none;border:0;cursor:pointer;font-family:inherit}.p-nav a:hover,.p-navbtn:hover{background:rgba(255,255,255,.14)}.p-nav a:focus-visible,.p-navbtn:focus-visible{outline:3px solid var(--marigold);outline-offset:2px}.p-nav form{margin:0}@media (max-width:560px){.p-hide-s{display:none}.p-brand img{width:118px}.p-nav a,.p-navbtn{padding:8px 9px}}.p-main{flex:1 1;padding-block:28px 56px;outline:none}.p-foot{border-top:1px solid var(--line);background:#fff;font-size:14px;color:var(--muted)}.p-foot .p-wrap{gap:8px 20px;padding-block:16px}.p-foot .p-wrap,.p-head{display:flex;flex-wrap:wrap;justify-content:space-between}.p-head{align-items:flex-end;gap:12px 20px;margin-bottom:22px}.p-head h1{font-family:var(--font-head);font-size:clamp(24px,3.2vw,32px);line-height:1.2;margin:0}.p-head p{margin:6px 0 0;color:var(--muted)}.p-crumbs{font-size:14px;margin-bottom:8px;display:flex;flex-wrap:wrap;gap:6px;color:var(--muted)}.p-crumbs a{color:var(--royal);text-decoration:none;font-weight:600}.p-crumbs a:hover{text-decoration:underline}.p-h2{font-family:var(--font-head);font-size:20px;margin:30px 0 14px}.p-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.p-pad{padding:20px}.p-empty{background:#fff;border:1px dashed var(--line);border-radius:var(--radius);padding:28px;text-align:center;color:var(--muted)}.p-alert{padding:12px 14px;border-radius:10px;font-weight:600;margin:0 0 14px}.p-alert.error{background:#fdecec;color:#8a1c1c}.p-alert.ok{background:#e7f6ee;color:#0b5e33}.p-alert.info{background:var(--azure-l);color:var(--royal-d)}.p-courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:18px;gap:18px}.p-course{position:relative;display:flex;flex-direction:column;overflow:hidden}.p-course-img{aspect-ratio:16/9;background:var(--azure-l)}.p-course-img img{width:100%;height:100%;object-fit:cover}.p-course-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1 1}.p-course-body h3{margin:0;font-size:18px;line-height:1.3;font-family:var(--font-head)}.p-course-body h3 a{color:var(--ink);text-decoration:none}.p-course-body h3 a:after{content:"";position:absolute;inset:0}.p-course-body h3 a:focus-visible{outline:none}.p-course:has(a:focus-visible){outline:3px solid var(--azure);outline-offset:2px}.p-course-body p{margin:0;color:var(--muted);font-size:14px}.p-course-foot{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;gap:8px;color:var(--royal);font-size:14px}.p-badge,.p-course-foot{align-items:center;font-weight:700}.p-badge{display:inline-flex;gap:4px;font-size:12px;padding:3px 9px;border-radius:999px;background:var(--azure-l);color:var(--royal-d);white-space:nowrap}.p-badge.green{background:#e7f6ee;color:#0b5e33}.p-badge.gold{background:#fff4d1;color:#7a5600}.p-badge.red{background:#fdecec;color:#8a1c1c}.p-badge.grey{background:var(--line-2);color:var(--ink-2)}.p-tiles{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}@media (max-width:860px){.p-tiles{grid-template-columns:repeat(2,1fr)}}.p-tile{display:flex;align-items:center;gap:14px;padding:18px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}.p-tile:hover{border-color:var(--azure);transform:translateY(-2px)}.p-tile:focus-visible{outline:3px solid var(--azure);outline-offset:2px}.p-tile-icon{width:48px;height:48px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--azure-l);color:var(--royal)}.p-tile b{display:block;font-size:16px;line-height:1.3}.p-tile small{color:var(--muted);font-size:13px}@media (max-width:480px){.p-tile{flex-direction:column;align-items:flex-start;gap:10px;padding:14px}.p-tile-icon{width:42px;height:42px}}.p-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--gutter) * -1) 18px;padding:0 var(--gutter) 2px}.p-tabs::-webkit-scrollbar{display:none}.p-tabs a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:9px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink-2);font-weight:600;font-size:14px;text-decoration:none}.p-tabs a:hover{border-color:var(--azure);color:var(--royal)}.p-tabs a[aria-current=page]{background:var(--royal);border-color:var(--royal);color:#fff}.p-tabs a:focus-visible{outline:3px solid var(--azure);outline-offset:2px}.p-tabs small{font-size:12px;opacity:.8}.p-subjects{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.p-subjects a{padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;text-decoration:none;color:var(--ink-2);background:var(--line-2)}.p-subjects a[aria-current=true]{background:var(--navy);color:#fff}.p-list{list-style:none;margin:0;padding:0}.p-item{display:flex;align-items:center;gap:14px;padding:14px 18px;border-top:1px solid var(--line-2)}.p-item:first-child{border-top:0}.p-item-icon{width:42px;height:42px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--azure-l);color:var(--royal)}.p-item.locked .p-item-icon{background:var(--line-2);color:var(--muted)}.p-item-main{flex:1 1;min-width:0}.p-item-main b{display:block;line-height:1.35;overflow-wrap:anywhere}.p-item-meta{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--muted);font-size:13px;margin-top:3px;align-items:center}.p-item-act{flex:none;display:flex;gap:8px}@media (max-width:600px){.p-item{flex-wrap:wrap;padding:14px}.p-item-act{width:100%;padding-left:56px}}.p-group-title{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:22px 0 8px}.p-group-title:first-child{margin-top:0}.p-lock{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;padding:16px 18px;margin-bottom:18px;background:linear-gradient(90deg,#fff4d1,#fffaf0);border:1px solid #f3dd98;border-radius:var(--radius)}.p-lock b{display:block}.p-lock span{color:var(--ink-2);font-size:14px}.p-watch{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:22px;gap:22px;align-items:start}@media (max-width:1000px){.p-watch{grid-template-columns:1fr}}.p-player{aspect-ratio:16/9;background:#000;border-radius:var(--radius);overflow:hidden}.p-player iframe{width:100%;height:100%;border:0}.p-watch h1{font-family:var(--font-head);font-size:clamp(20px,2.6vw,26px);line-height:1.3;margin:16px 0 6px}.p-side-list a{display:block;padding:10px 14px;border-top:1px solid var(--line-2);text-decoration:none;color:var(--ink);font-size:14px;line-height:1.4}.p-side-list a:first-child{border-top:0}.p-side-list a[aria-current=page]{background:var(--azure-l);font-weight:700}.p-side-list small{display:block;color:var(--muted);font-size:12px}.p-auth{max-width:460px;margin:10px auto 0}.p-auth .p-card{padding:26px}.p-auth h1{font-family:var(--font-head);font-size:26px;margin:0 0 4px}.p-auth>.p-card>p{margin:0 0 18px;color:var(--muted)}.p-form{display:grid;grid-gap:14px;gap:14px}.p-form .btn{width:100%}.p-switch{text-align:center;margin:16px 0 0;font-size:15px}.p-pw{position:relative}.p-pw input{padding-right:70px;width:100%}.p-pw button{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--royal);font-weight:700;cursor:pointer;padding:6px 8px;font-family:inherit}.p-two{display:grid;grid-template-columns:1fr 1fr;grid-gap:22px;gap:22px;align-items:start}@media (max-width:860px){.p-two{grid-template-columns:1fr}}.p-two h2{font-size:18px;margin:0 0 14px}.p-course-foot>span,.p-inline,.p-item-meta>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.p-item-meta>span:not(.p-badge){white-space:normal}