.ap{display:flex;align-items:flex-start;gap:var(--s-5);max-width:var(--page-max);margin:0 auto;padding:var(--s-5) var(--s-5) var(--s-8)}.ap-side{flex:0 0 244px;position:-webkit-sticky;position:sticky;top:calc(var(--nav-h) + var(--s-4))}.ap-side-inner{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--s-4);max-height:calc(100vh - var(--nav-h) - var(--s-7));overflow-y:auto}.ap-nav-label{margin:0 0 8px;padding:0 6px;font-size:.68rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted-2)}.ap-nav-group{margin-top:var(--s-4)}.ap-nav-group:first-child{margin-top:0}.ap-nav-group ul{list-style:none;margin:0;padding:0}.ap-nav-group a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r-md);text-decoration:none;color:var(--ink-2);font-size:.88rem;font-weight:600}.ap-nav-group a:hover{background:var(--surface-sunk);color:var(--brand)}.ap-nav-group a.is-active{background:var(--brand-tint);color:var(--brand-dark);font-weight:700}.ap-nav-icon{display:inline-flex;color:var(--muted-2);flex:0 0 auto}.ap-nav-group a.is-active .ap-nav-icon,.ap-nav-group a:hover .ap-nav-icon{color:var(--brand)}.ap-nav-text{flex:1 1 auto}.ap-nav-badge{font-size:.62rem;font-weight:800;letter-spacing:.4px;text-transform:uppercase;background:var(--brand);color:#fff;padding:2px 7px;border-radius:var(--r-pill)}.ap-exam-type{padding-bottom:var(--s-4);border-bottom:1px solid var(--line)}.ap-exam-hint{margin:6px 6px 0;font-size:.72rem;line-height:1.4;color:var(--muted)}.ap-guest{padding:var(--s-4);border-radius:var(--r-lg);background:var(--brand-tint);border:1px solid #f9d4d5}.ap-guest b{display:block;font-size:.86rem;color:var(--ink)}.ap-guest p{margin:6px 0 12px;font-size:.8rem;line-height:1.45;color:var(--ink-3)}.ap-guest-cta{display:block;text-align:center;padding:9px 12px;border-radius:var(--r-pill);background:var(--brand);color:#fff;font-weight:700;font-size:.85rem;text-decoration:none}.ap-guest-cta:hover{background:var(--brand-dark)}.ap-guest-end{margin-top:var(--s-6);text-align:center}.ap-guest-end .ap-guest-cta{display:inline-block;padding:10px 28px}.ap-guest-login{display:block;margin-top:8px;text-align:center;font-size:.78rem;color:var(--muted)}.ap-switch{display:flex;gap:3px;background:var(--surface-sunk);border-radius:var(--r-md);padding:3px}.ap-switch button{flex:1 1;font-family:inherit;font-size:.82rem;font-weight:700;padding:8px 6px;border:none;border-radius:7px;background:none;color:var(--muted);cursor:pointer}.ap-switch button:hover:not(:disabled){color:var(--brand)}.ap-switch button.is-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}.ap-switch button:disabled{cursor:wait}.ap-main{flex:1 1;min-width:0}.ap-head{margin-bottom:var(--s-5)}.ap-head h1{margin:0 0 4px;font-size:1.42rem;font-weight:800;color:var(--ink)}.ap-head p{margin:0;font-size:.9rem;color:var(--muted);line-height:1.6;max-width:70ch}.ap-head a{color:var(--brand);font-weight:600}.ap-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--s-5);margin-bottom:var(--s-4)}.ap-card>h2{margin:0 0 var(--s-4);font-size:1.05rem;font-weight:800}.ap-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4);flex-wrap:wrap}.ap-card-head h2{margin:0;font-size:1.05rem;font-weight:800}.ap-card-head a{font-size:.84rem;font-weight:700;color:var(--brand);text-decoration:none}.ap-card-head a:hover{text-decoration:underline}.ap-empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-lg);padding:var(--s-6);text-align:center;font-size:.9rem;color:var(--muted)}.ap-empty a{color:var(--brand);font-weight:700;text-decoration:none}.ap-tabs{display:flex;gap:var(--s-1);border-bottom:1px solid var(--line);margin-bottom:var(--s-4);overflow-x:auto}.ap-tabs a,.ap-tabs button{font-family:inherit;background:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;padding:11px 16px;font-size:.92rem;font-weight:700;color:var(--muted);text-decoration:none;border:none;border-bottom:2.5px solid transparent;white-space:nowrap}.ap-tabs a:hover,.ap-tabs button:hover{color:var(--brand)}.ap-tabs a.is-active,.ap-tabs button.is-active{color:var(--brand);border-bottom-color:var(--brand)}.ap-menu-btn{display:none;align-items:center;gap:7px;font-family:inherit;font-size:.86rem;font-weight:700;padding:9px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);cursor:pointer;margin-bottom:var(--s-3)}.ap-scrim{display:none}@media (max-width:900px){.ap{display:block;padding:var(--s-4)}.ap-menu-btn{display:inline-flex}.ap-scrim{display:block;position:fixed;inset:0;z-index:140;background:rgba(17,17,17,.4)}.ap-side{position:fixed;top:0;left:0;bottom:0;z-index:150;width:268px;transform:translateX(-100%);transition:transform .18s ease;padding:var(--s-3)}.ap-side.is-open{transform:translateX(0)}.ap-side-inner{max-height:100%;height:100%}}@media (prefers-reduced-motion:reduce){.ap-side{transition:none}}.qs-toolbar{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-bottom:var(--s-3)}.qs-search{flex:1 1 240px;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:0 12px;color:var(--muted-2)}.qs-search input{flex:1 1 auto;font-family:inherit;font-size:.88rem;padding:11px 0;border:none;background:none;color:var(--ink);outline:none;min-width:0}.qs-btn,.qs-select{font-family:inherit;font-size:.86rem;font-weight:600;padding:10px 13px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink-2);cursor:pointer}.qs-select{max-width:100%;min-width:0;text-overflow:ellipsis}.qs-btn:hover,.qs-select:hover{border-color:var(--brand);color:var(--brand)}.qs-btn{display:inline-flex;align-items:center;gap:7px}.qs-btn.is-on{border-color:var(--brand);color:var(--brand);background:var(--brand-tint)}.qs-count{background:var(--brand);color:#fff;font-size:.68rem;font-weight:800;min-width:17px;height:17px;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.qs-filters{display:flex;gap:var(--s-3);align-items:flex-end;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-3)}.qs-filters label{display:flex;flex-direction:column;gap:5px;font-size:.74rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--muted-2)}.qs-filters select{font-family:inherit;font-size:.86rem;font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink);padding:8px 11px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.qs-clear,.qs-linkbtn{font-family:inherit;font-size:.84rem;font-weight:700;color:var(--brand);background:none;border:none;cursor:pointer;padding:9px 2px}.qs-clear:hover,.qs-linkbtn:hover{text-decoration:underline}.qs-heading{display:flex;align-items:center;gap:8px;margin:var(--s-5) 0 var(--s-3);font-size:.98rem;font-weight:800;color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:8px}.qs-heading span{font-size:.74rem;font-weight:700;color:var(--muted);background:var(--surface-sunk);padding:2px 9px;border-radius:var(--r-pill)}.qs-list{list-style:none;margin:0;padding:0}.qs-row{display:flex;align-items:center;gap:var(--s-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:13px var(--s-4);margin-bottom:10px;flex-wrap:wrap;transition:border-color .15s,box-shadow .15s}.qs-row:hover{border-color:var(--brand);box-shadow:var(--shadow-hover)}.qs-row.is-locked{background:var(--canvas)}.qs-row-main{flex:1 1 260px;min-width:0;text-decoration:none;color:inherit}.qs-row-title b{display:block;font-size:.95rem;font-weight:700;color:var(--ink);line-height:1.45}.qs-row-series{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted-2);margin-top:3px}.qs-demo{font-size:.62rem;font-weight:800;letter-spacing:.4px;text-transform:uppercase;background:var(--warn-bg);color:var(--warn);padding:2px 7px;border-radius:var(--r-pill)}.qs-row-meta{display:flex;align-items:center;gap:var(--s-3);flex:0 0 auto;flex-wrap:wrap}.qs-badge{font-size:.72rem;font-weight:700;padding:4px 11px;border-radius:var(--r-sm);white-space:nowrap}.qs-free{background:var(--info-bg);color:var(--info)}.qs-prem{background:var(--brand-tint);color:var(--brand-dark)}.qs-diff,.qs-takers{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;font-weight:600;color:var(--muted);white-space:nowrap}.qs-diff.d-easy{color:var(--success)}.qs-diff.d-medium{color:var(--warn)}.qs-diff.d-hard{color:var(--brand)}.qs-band{font-size:.75rem;font-weight:800;color:var(--success);background:var(--success-bg)}.qs-band,.qs-progress{padding:3px 10px;border-radius:var(--r-pill);white-space:nowrap}.qs-progress{font-size:.72rem;font-weight:700;color:var(--warn);background:var(--warn-bg)}.qs-start{font-size:.75rem;font-weight:800;color:#fff;background:var(--brand);padding:3px 10px;border-radius:var(--r-pill);white-space:nowrap}.qs-row.is-start{box-shadow:inset 3px 0 0 var(--brand)}.qs-save{border:none;background:none;color:var(--muted-2);cursor:pointer;padding:4px;line-height:0;border-radius:6px}.qs-save:hover{background:var(--brand-tint)}.qs-save.is-on,.qs-save:hover{color:var(--brand)}@media (max-width:720px){.qs-row-meta{width:100%;gap:var(--s-2)}.qs-takers{display:none}}.qs-footnote{margin:var(--s-6) 0 0;font-size:.84rem;color:var(--muted);text-align:center}.qs-footnote a{color:var(--brand);font-weight:700;text-decoration:none}.qs-footnote a:hover{text-decoration:underline}.tp-status{display:inline-flex;align-items:center;gap:8px;margin:0 0 var(--s-4);font-size:.78rem;font-weight:700;color:var(--warn);background:var(--warn-bg);padding:6px 13px;border-radius:var(--r-pill)}.tp-dot{width:7px;height:7px;border-radius:50%;background:var(--warn)}.tp-list{margin:0;padding-left:20px}.tp-list li{font-size:.9rem;line-height:1.7;color:var(--ink-3);margin-bottom:8px}.tp-related{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--s-2);gap:var(--s-2)}.tp-related a{display:block;border:1px solid var(--line);border-radius:var(--r-lg);padding:13px var(--s-4);font-size:.9rem;font-weight:700;color:var(--brand);text-decoration:none}.tp-related a:hover{border-color:var(--brand);background:var(--brand-tint)}.sc{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:var(--s-6);gap:var(--s-6);align-items:start}.sc-inputs{display:flex;flex-direction:column;gap:var(--s-5)}.sc-field label{display:block;font-size:.86rem;font-weight:700;color:var(--ink);margin-bottom:8px}.sc-field select{font-family:inherit;font-size:.9rem;font-weight:600;padding:10px 13px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink);min-width:130px}.sc-hint{margin:8px 0 0;font-size:.78rem;color:var(--muted-2);line-height:1.6}.sc-range{display:flex;align-items:center;gap:var(--s-3)}.sc-range input{flex:1 1 auto;accent-color:var(--brand)}.sc-range output{flex:0 0 42px;text-align:center;font-size:.95rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);background:var(--surface-sunk);border-radius:var(--r-sm);padding:5px 0}.sc-out{margin:7px 0 0;font-size:.84rem;color:var(--muted)}.sc-out b{color:var(--brand);font-size:.95rem}.sc-result{background:var(--brand-gradient);color:#fff;border-radius:var(--r-xl);padding:var(--s-6) var(--s-5);text-align:center}.sc-result-kicker{margin:0;font-size:.72rem;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;opacity:.85}.sc-result-band{display:block;font-size:3.1rem;font-weight:800;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sc-result-desc{margin:0 0 var(--s-5);font-size:.86rem;opacity:.92}.sc-breakdown{list-style:none;margin:0 0 var(--s-4);padding:0;text-align:left}.sc-breakdown li{display:flex;justify-content:space-between;gap:var(--s-3);padding:8px 0;border-top:1px solid rgba(255,255,255,.22);font-size:.86rem}.sc-breakdown b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sc-note{margin:0;font-size:.74rem;line-height:1.6;opacity:.85;text-align:left}@media (max-width:780px){.sc{grid-template-columns:1fr}}.mk-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--s-4);gap:var(--s-4)}.mk-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--s-5)}.mk-card:hover{border-color:var(--brand);box-shadow:var(--shadow-hover)}.mk-card.is-locked{background:var(--canvas)}.mk-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap}.mk-card-head h2{margin:0;font-size:1.08rem;font-weight:800}.mk-series{margin:3px 0 0;font-size:.78rem;color:var(--muted-2)}.mk-tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.mk-desc{margin:var(--s-3) 0 0;font-size:.88rem;color:var(--muted);line-height:1.6}.mk-modules{list-style:none;margin:var(--s-4) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:var(--s-2);gap:var(--s-2)}.mk-modules li{display:flex;align-items:center;gap:8px;background:var(--surface-sunk);border-radius:var(--r-md);padding:9px 12px;font-size:.85rem}.mk-step{width:20px;height:20px;border-radius:50%;background:var(--brand);color:#fff;font-size:.7rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.mk-modules b{font-weight:700}.mk-parts{font-size:.74rem;color:var(--muted-2);margin-left:auto;white-space:nowrap}.mk-foot{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap;margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line)}.mk-meta{flex:1 1 auto;font-size:.82rem;color:var(--muted)}.mk-foot .ps-btn{margin-left:0;border:none;font-family:inherit;cursor:pointer}.mk-bands{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s-4)}.mk-bands li{display:grid;grid-template-columns:1fr auto;grid-gap:5px var(--s-3);gap:5px var(--s-3);align-items:center}.mk-band-name{font-size:.94rem;font-weight:700;color:var(--ink)}.mk-band-score b{font-size:1.15rem;font-weight:800;color:var(--brand);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mk-band-score em{font-style:normal;font-size:.8rem;color:var(--muted-2)}.mk-band-bar{grid-column:1/-1;height:7px;border-radius:var(--r-pill);background:var(--surface-sunk);overflow:hidden}.mk-band-bar i{display:block;height:100%;border-radius:var(--r-pill);background:var(--brand)}.mk-band-meta{grid-column:1/-1;font-size:.78rem;color:var(--muted-2)}.mk-band-meta a{color:var(--brand);font-weight:700;text-decoration:none}.mk-standing{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:var(--s-3);gap:var(--s-3)}.mk-standing>div{border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4);text-align:center}.mk-standing span{display:block;font-size:.7rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--muted-2)}.mk-standing b{display:block;font-size:1rem;margin-top:4px}.mk-standing em{font-style:normal;font-size:1.3rem;font-weight:800;color:var(--brand)}.an-wrap{max-width:var(--page-max);margin:var(--s-4) auto 0;padding:0 var(--s-5);display:grid;grid-gap:var(--s-2);gap:var(--s-2)}.an{display:flex;align-items:center;gap:var(--s-3);border-radius:var(--r-lg);padding:12px var(--s-4);border-left:3px solid;flex-wrap:wrap}.an-info{background:var(--info-bg);border-color:var(--info)}.an-success{background:var(--success-bg);border-color:var(--success)}.an-warning{background:var(--warn-bg);border-color:var(--warn)}.an-maintenance{background:var(--brand-tint);border-color:var(--brand)}.an-body{flex:1 1 auto;min-width:0;font-size:.88rem}.an-body b{display:block;color:var(--ink)}.an-body span{color:var(--ink-3);line-height:1.6}.an-link{font-size:.85rem;font-weight:700;color:var(--brand);text-decoration:none;white-space:nowrap}.an button{border:none;background:none;color:var(--muted);font-size:.95rem;cursor:pointer;padding:2px 6px;border-radius:5px}.an button:hover{background:rgba(0,0,0,.06);color:var(--ink)}.ap-head h1 .bn{display:block;font-size:.6em;font-weight:600;color:var(--muted);margin-top:3px;letter-spacing:0}.ap-head-bn{margin-top:5px!important;font-size:.87rem!important;color:var(--muted);line-height:1.8;max-width:70ch}.sl-group h2 .bn{font-size:.78em;font-weight:600;color:var(--muted);margin-left:8px}.pm-banner{display:block;border-radius:var(--r-xl);padding:var(--s-4) var(--s-5);margin-bottom:var(--s-4);position:relative;overflow:hidden}.pm-banner:after{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.16);pointer-events:none}.pm-eyebrow{margin:0 0 6px;font-size:.66rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.72)}.pm-eyebrow .bn{text-transform:none;letter-spacing:0;font-weight:500}.pm-banner h1{margin:0 0 6px;font-size:1.5rem;font-weight:800;line-height:1.1;color:#fff}.pm-banner h1 .bn{display:block;margin-top:4px;font-size:.55em;font-weight:500;color:rgba(255,255,255,.72)}.pm-blurb{margin:0 0 4px;max-width:56ch;font-size:.9rem;line-height:1.65;color:rgba(255,255,255,.9)}.pm-blurb.bn{color:rgba(255,255,255,.72);line-height:1.8}.pm-format{margin:6px 0 0;color:rgba(255,255,255,.85)}.pm-format,.pm-lesson-link{font-size:.82rem;font-weight:700}.pm-lesson-link{display:inline-block;margin-top:var(--s-3);padding:7px 14px;border-radius:var(--r-pill);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;text-decoration:none}.pm-lesson-link:hover{background:rgba(255,255,255,.24)}.pm-facts{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin:0;position:relative;z-index:1}.pm-facts div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-lg);padding:10px 12px}.pm-facts dt{font-size:.62rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.65)}.pm-facts dd{margin:3px 0 0;font-size:.95rem;font-weight:800;color:#fff}.pm-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--s-4)}.pm-tabs a{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:.86rem;font-weight:700;text-decoration:none;transition:border-color .15s,background .15s,color .15s}.pm-tabs a .bn{font-weight:500;font-size:.9em;color:var(--muted)}.pm-tabs a:hover{border-color:var(--mod);color:var(--mod);background:var(--mod-tint)}.pm-tabs a.is-active{background:var(--mod);border-color:var(--mod);color:#fff}.pm-tabs a.is-active .mod-dot{background:#fff}.pm-tabs a.is-active .bn{color:rgba(255,255,255,.8)}@media (max-width:760px){.pm-banner{padding:var(--s-4)}.pm-banner h1{font-size:1.35rem}}.ap-switch-error{margin:6px 6px 0;font-size:.75rem;font-weight:600;color:var(--danger)}.qs-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(239,58,61,.15)}.ap.ap-single{display:block;max-width:960px}