/* Past Paper Studio · scoped to .pps and .pps-dash-card. Uses the site's tokens only. */
.pps{--pps-glass:var(--glass,rgba(255,253,249,.78));--pps-glass-border:var(--glass-border,rgba(255,255,255,.65));--pps-ao1:#28324E;--pps-ao2:#A8502A;--pps-ao4:#5C7A4E;padding:22px 0 70px;font-family:var(--body)}
.pps.wrap{max-width:1120px}
.pps.pps-wide{width:min(1480px,96vw);margin:0 auto}
.pps h1,.pps h2,.pps h3,.pps h4{font-family:var(--disp);letter-spacing:-.01em}
.pps h1{font-size:clamp(26px,3.2vw,40px);font-weight:500;line-height:1.12}
.pps h2{font-size:clamp(21px,2.2vw,27px);font-weight:500;margin:0 0 10px}
.pps h3{font-size:17px;font-weight:600;margin:18px 0 8px}
.pps h4{font-size:12px;font-family:var(--ui);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin:22px 0 10px}
.pps p{color:var(--ink2);line-height:1.6}
.pps h1[tabindex="-1"]:focus,.pps .pps-step-title[tabindex="-1"]:focus{outline:none}
.pps-sr,.pps .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pps .pill{min-height:44px;display:inline-flex;align-items:center;gap:6px}
.pps .pill.sm{min-height:38px}
.pps .backlink{display:inline-flex;align-items:center;gap:6px;min-height:44px;font:500 13px var(--ui);color:var(--ink2);padding:0 4px;border-radius:8px}
.pps .backlink:hover{color:var(--ink);background:var(--paper2)}
.pps-local{margin:28px 0 0;font:12px var(--ui);color:var(--ink3)}
.pps-panel{background:var(--pps-glass);border:1px solid var(--pps-glass-border);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 6%,transparent),var(--shadow);border-radius:24px;padding:26px 28px;margin-top:20px;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}
.pps-panel.pps-compact{padding:18px 20px;border-radius:20px}
.pps-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.pps-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.pps-mini{min-height:36px;padding:6px 12px;border-radius:99px;border:1px solid var(--line2);background:var(--page);font:500 12px var(--ui);color:var(--ink2);transition:background .15s,color .15s,border-color .15s}
.pps-mini:hover{border-color:var(--ink);color:var(--ink)}
.pps-mini.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pps-mini.danger:hover{border-color:var(--bad);color:var(--bad)}
.pps-tag{display:inline-block;font:500 11.5px var(--ui);padding:4px 10px;border-radius:99px;background:var(--paper2);color:var(--ink2);margin:0 6px 6px 0}
.pps-tag-char{background:color-mix(in srgb,var(--indigo) 12%,var(--page));color:var(--indigo)}
.pps-tag-key{background:color-mix(in srgb,var(--gold) 35%,var(--page));color:var(--ink)}
html[data-appearance=dark] .pps-tag-char{color:var(--ink)}
.pps-link{display:inline-block;font:500 12.5px var(--ui);color:var(--clay);text-decoration:none;margin:0 14px 6px 0;border-bottom:1px solid transparent}
.pps-link:hover{border-bottom-color:var(--clay)}
.pps-ao{display:inline-flex;align-items:center;justify-content:center;font:700 10.5px var(--ui);letter-spacing:.08em;padding:4px 8px;border-radius:7px;color:#fff;background:var(--ink);margin-right:6px;vertical-align:middle}
.pps-ao.pps-ao1{background:var(--pps-ao1)}.pps-ao.pps-ao2{background:var(--pps-ao2)}.pps-ao.pps-ao4{background:var(--pps-ao4)}
.pps-ao.off{opacity:.3}
.pps-caret{display:inline-block;width:14px;color:var(--ink3)}
.pps-empty{padding:30px;text-align:center;color:var(--ink3);font:14px var(--ui)}
.pps-hint{font:14px/1.55 var(--ui);color:var(--ink3)}
.pps-footnote{font:12.5px/1.6 var(--ui);color:var(--ink3);margin-top:14px}
.pps-wordcount{font:500 12px var(--ui);color:var(--ink3)}
/* hero + library */
.pps-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:start;padding:14px 0 6px}
.pps-hero .lede{font-size:18px;max-width:58ch;margin:14px 0 20px}
.pps-steps-intro{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 22px;margin:0;padding:0}
.pps-steps-intro li{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-left:2px solid var(--gold);font:14px/1.5 var(--ui);color:var(--ink2)}
.pps-steps-intro b{color:var(--ink);font-weight:600}
.pps-hero-aside{background:var(--pps-glass);border:1px solid var(--pps-glass-border);border-radius:24px;padding:24px 26px;box-shadow:var(--shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.pps-hero-aside p{font:14px/1.6 var(--ui);margin-top:8px}
.pps-aos{line-height:2.1}
.pps-continue{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.pps-continue .pill{margin-top:8px}
.pps-library{margin-top:28px}
.pps-filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:end;padding:16px 18px;border-radius:20px;background:var(--pps-glass);border:1px solid var(--pps-glass-border);box-shadow:var(--shadow);position:sticky;top:88px;z-index:5;backdrop-filter:blur(22px) saturate(130%);-webkit-backdrop-filter:blur(22px) saturate(130%)}
.pps-filter{display:flex;flex-direction:column;gap:4px;font:500 11px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.pps-filter select,.pps-argument select{min-height:44px;padding:8px 36px 8px 12px;border-radius:12px;border:1px solid var(--line2);background:var(--page) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23756750' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;color:var(--ink);font:14px var(--ui);appearance:none;-webkit-appearance:none;letter-spacing:0;text-transform:none;min-width:150px}
.pps-count{margin-left:auto;font:500 12.5px var(--ui);color:var(--ink3)}
.pps-question-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:18px;margin-top:20px}
.pps-card{display:flex;flex-direction:column;gap:12px;padding:22px 24px;border-radius:22px;background:var(--page);border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.pps-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.pps-card.has-work{border-color:color-mix(in srgb,var(--gold) 60%,var(--line))}
.pps-card h3{font-size:19px;font-weight:500;line-height:1.3;margin:0;flex:1}
.pps-card-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font:500 11.5px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.pps-session{color:var(--clay)}
.pps-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}
.pps-card-links{display:flex;flex-wrap:wrap}
.pps-state{font:600 11px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--good)}
.pps-paraphrase{font:12.5px/1.5 var(--ui);color:var(--clay);padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--clay) 8%,var(--page))}
.pps-sources{margin-top:28px;padding:18px 22px;border-radius:18px;border:1px dashed var(--line2);font:14px/1.6 var(--ui);color:var(--ink2)}
.pps-sources summary{cursor:pointer;font-weight:600;color:var(--ink)}
.pps-sources ul{margin:10px 0 0 18px}
.pps-text-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
/* studio chrome */
.pps-studio-head{padding:6px 0 0}
.pps-studio-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.pps-studio-title{margin:14px 0 18px}
.pps-studio-title h1{font-size:clamp(20px,2.3vw,28px);max-width:68ch;margin-top:6px}
.pps-mode{display:inline-flex;padding:4px;border-radius:99px;background:var(--paper2);border:1px solid var(--line)}
.pps-mode button{min-height:36px;padding:0 16px;border-radius:99px;font:600 12.5px var(--ui);color:var(--ink2)}
.pps-mode button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.pps-stepper{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0;padding:6px;border-radius:18px;background:var(--pps-glass);border:1px solid var(--pps-glass-border);box-shadow:var(--shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.pps-step-btn{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:13px;font:600 13px var(--ui);color:var(--ink3);transition:background .15s,color .15s}
.pps-step-n{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid currentColor;font-size:11px}
.pps-stepper li.past .pps-step-btn{color:var(--ink2)}
.pps-stepper li.past .pps-step-n{background:var(--good);border-color:var(--good);color:#fff}
.pps-stepper li.on .pps-step-btn{background:var(--ink);color:var(--paper)}
.pps-step-btn:hover{background:var(--paper2);color:var(--ink)}
.pps-stepper li.on .pps-step-btn:hover{background:var(--ink);color:var(--paper)}
.pps-loading{padding:40px;text-align:center;color:var(--ink3);font:15px var(--ui)}
.pps-next-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:22px;padding:18px 24px;border-radius:20px;background:color-mix(in srgb,var(--gold) 18%,var(--page));border:1px solid color-mix(in srgb,var(--gold) 50%,var(--line));font:14px var(--ui);color:var(--ink2)}
/* step 1 */
.pps-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pps-two .pps-panel{margin-top:20px}
.pps-wording{font-family:var(--disp);font-size:22px;line-height:1.35;font-weight:500;color:var(--ink);margin:10px 0 16px;padding-left:16px;border-left:3px solid var(--gold)}
.pps-wording-small{font-family:var(--disp);font-size:17px;line-height:1.4;color:var(--ink);margin:6px 0 10px}
.pps-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:0 0 14px;font:14px var(--ui)}
.pps-meta dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.pps-meta dd{color:var(--ink);margin:2px 0 0}
.pps-links{display:flex;flex-wrap:wrap;margin-top:10px}
.pps-verify{margin-top:12px;font:13px/1.55 var(--ui);color:var(--ink3)}
.pps-verify summary{cursor:pointer;color:var(--ink2)}
.pps-keyterms{font:13.5px var(--ui);margin:10px 0}
.pps-pitfall{font:14px/1.55 var(--ui);padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--clay) 8%,var(--page))}
.pps-summary{margin:6px 0 0 20px;font-size:15.5px}
.pps-summary li{margin-bottom:6px;color:var(--ink2)}
.pps-evidence-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:12px;margin-top:10px}
.pps-evidence-mini{padding:14px 16px;border-radius:16px;background:var(--page);border:1px solid var(--line)}
.pps-evidence-mini q{display:block;font-family:var(--disp);font-size:15.5px;line-height:1.4;color:var(--ink)}
.pps-evidence-mini small{display:block;margin-top:6px;font:12px var(--ui);color:var(--ink3)}
/* step 2 */
.pps-ao-grid{display:grid;gap:14px;margin-top:14px}
.pps-ao-card{border-radius:20px;border:1px solid var(--line);background:var(--page);overflow:hidden}
.pps-ao-card summary{display:flex;align-items:center;gap:14px;padding:18px 22px;cursor:pointer;list-style:none;font:15px var(--ui);color:var(--ink)}
.pps-ao-card summary::-webkit-details-marker{display:none}
.pps-ao-card summary small{display:block;font-size:13px;color:var(--ink3);margin-top:2px}
.pps-ao-card summary::after{content:"+";margin-left:auto;font:300 26px var(--disp);color:var(--ink3)}
.pps-ao-card[open] summary::after{content:"–"}
.pps-ao-card[open] summary{border-bottom:1px solid var(--line)}
.pps-ao-body{padding:6px 22px 24px}
.pps-ao-focus{font-size:16px;color:var(--ink)!important;padding:12px 0 2px}
.pps-bullets{list-style:none;margin:0;padding:0}
.pps-bullets li{border-bottom:1px solid var(--line)}
.pps-bullet{width:100%;display:flex;align-items:flex-start;gap:8px;text-align:left;padding:12px 4px;min-height:44px;font:15px/1.5 var(--body);color:var(--ink);border-radius:8px}
.pps-bullet:hover{background:var(--paper2)}
.pps-bullet-body{padding:0 4px 14px 26px}
.pps-bullet-body p{font-size:14.5px}
.pps-example{padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--sage) 12%,var(--page));margin-top:8px}
.pps-quote-chips{display:flex;flex-wrap:wrap;gap:8px}
.pps-quote-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:100%;padding:10px 14px;border-radius:14px;border:1px solid var(--line2);background:var(--page);text-align:left;min-height:44px;transition:border-color .15s}
.pps-quote-chip q{font-family:var(--disp);font-size:14px;color:var(--ink)}
.pps-quote-chip small{font:11.5px var(--ui);color:var(--ink3)}
.pps-quote-chip:hover,.pps-quote-chip[aria-expanded=true]{border-color:var(--ink)}
.pps-peek{width:100%;padding:12px 14px;border-radius:12px;background:var(--paper2);font:13.5px/1.55 var(--ui);margin:4px 0 6px}
.pps-peek p{margin-bottom:4px;color:var(--ink2)}
.pps-scenes{margin:10px 0 0 18px;font-size:14.5px;color:var(--ink2)}
.pps-transform{display:grid;gap:10px}
.pps-transform>div{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}
.pps-transform span{display:block;font:14px/1.55 var(--ui);color:var(--ink2);padding:12px 14px;border-radius:14px;background:var(--paper2)}
.pps-transform b{display:block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin-bottom:4px}
.pps-transform-to{background:color-mix(in srgb,var(--sage) 12%,var(--page))!important}
.pps-transform-arrow{background:none!important;color:var(--clay)!important;font-size:20px;padding:0!important}
.pps-mistakes,.pps-level5{margin:0;padding:0;list-style:none}
.pps-mistakes li{display:grid;gap:2px;padding:10px 0;border-bottom:1px solid var(--line);font:14px/1.5 var(--ui);color:var(--ink2)}
.pps-mistakes b{color:var(--bad);font-weight:600}
.pps-level5 li{position:relative;padding:8px 0 8px 22px;font-size:15px;color:var(--ink2)}
.pps-level5 li::before{content:"";position:absolute;left:0;top:15px;width:10px;height:10px;border-radius:50%;background:var(--gold)}
.pps-levels{overflow:auto;margin-top:12px;border-radius:16px;border:1px solid var(--line)}
.pps-levels table{width:100%;border-collapse:collapse;font:13.5px/1.5 var(--ui);min-width:720px}
.pps-levels th,.pps-levels td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);color:var(--ink2)}
.pps-levels th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);background:var(--paper2)}
.pps-levels tr.top td{background:color-mix(in srgb,var(--gold) 14%,var(--page));color:var(--ink)}
.pps-levels td:first-child{font-weight:600;color:var(--ink);white-space:nowrap}
/* step 3 workspace */
.pps-pane-tabs{display:none}
.pps-workspace{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(380px,1.35fr) minmax(300px,1fr);gap:18px;align-items:start;margin-top:4px}
.pps-left,.pps-right{position:sticky;top:96px;max-height:calc(100dvh - 112px);overflow:auto;padding-right:2px;scrollbar-width:thin}
.pps-left .pps-panel:first-child,.pps-right .pps-panel:first-child{margin-top:0}
.pps-centre .pps-sections{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border-radius:16px;background:var(--pps-glass);border:1px solid var(--pps-glass-border);box-shadow:var(--shadow)}
.pps-section-btn{min-height:40px;padding:0 14px;border-radius:11px;font:600 12.5px var(--ui);color:var(--ink2);display:inline-flex;align-items:center;gap:8px}
.pps-section-btn::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line2)}
.pps-section-btn.is-partial::before{background:var(--gold)}
.pps-section-btn.is-done::before{background:var(--good)}
.pps-section-btn.add::before{display:none}
.pps-section-btn.on{background:var(--ink);color:var(--paper)}
.pps-section-btn:hover:not(.on){background:var(--paper2);color:var(--ink)}
.pps-argument{margin-top:16px;padding:18px 20px;border-radius:20px;background:var(--pps-glass);border:1px solid var(--pps-glass-border);box-shadow:var(--shadow)}
.pps-argument label{display:flex;flex-direction:column;gap:6px}
.pps-argument select{width:100%}
.pps-thesis{font-family:var(--disp);font-size:16.5px;color:var(--ink)!important;margin:12px 0 6px}
.pps-slots{display:grid;gap:14px;margin-top:14px}
.pps-slot{padding:18px 20px;border-radius:20px;background:var(--page);border:1px solid var(--line);box-shadow:var(--shadow)}
.pps-slot header{display:flex;gap:14px;align-items:flex-start}
.pps-slot header h3{margin:0;font-size:16px}
.pps-slot header p{font:13px/1.5 var(--ui);color:var(--ink3);margin-top:2px}
.pps-slot-letter{flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--ink);color:var(--paper);font:700 15px var(--disp)}
.pps-slot-letter.small{width:26px;height:26px;border-radius:8px;font-size:12px}
.pps-slot-guidance{margin:12px 0 0;font:13px/1.55 var(--ui);color:var(--ink2)}
.pps-slot-guidance summary{cursor:pointer;color:var(--clay);font-weight:500;min-height:32px;display:flex;align-items:center}
.pps-phrases{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.pps-phrase{text-align:left;padding:12px 16px;border-radius:14px;border:1px solid var(--line2);background:var(--pps-glass);font:14.5px/1.5 var(--body);color:var(--ink);cursor:grab;transition:transform .15s,border-color .15s,box-shadow .15s;position:relative}
.pps-phrase::after{content:"+";position:absolute;right:12px;top:10px;font:300 20px var(--disp);color:var(--ink3);opacity:0;transition:opacity .15s}
.pps-phrase:hover,.pps-phrase:focus-visible{border-color:var(--ink);transform:translateX(2px);box-shadow:var(--shadow)}
.pps-phrase:hover::after,.pps-phrase:focus-visible::after{opacity:1}
.pps-phrase:active{cursor:grabbing}
.pps-slot-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.pps-custom{display:grid;gap:10px;margin-top:12px}
.pps-custom textarea,.pps-edit textarea,.pps-exam-field textarea,.pps-final textarea{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line2);background:var(--page);color:var(--ink);font:15px/1.6 var(--body);resize:vertical}
.pps-custom textarea:focus,.pps-edit textarea:focus,.pps-exam-field textarea:focus,.pps-final textarea:focus,.pps-search input:focus,.pps select:focus{outline:2px solid var(--ochre);outline-offset:2px}
.pps-slot-foot{display:flex;justify-content:flex-end;margin-top:18px}
.pps-search input{width:100%;min-height:40px;padding:8px 14px;border-radius:12px;border:1px solid var(--line2);background:var(--page);color:var(--ink);font:14px var(--ui)}
.pps-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 12px}
.pps-chip{min-height:34px;padding:4px 12px;border-radius:99px;border:1px solid var(--line2);background:var(--page);font:500 12px var(--ui);color:var(--ink2)}
.pps-chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pps-evidence-list{display:grid;gap:10px}
.pps-evidence{padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--page);transition:border-color .15s}
.pps-evidence.chosen{border-color:var(--good);box-shadow:0 0 0 2px color-mix(in srgb,var(--good) 25%,transparent)}
.pps-evidence q{display:block;font-family:var(--disp);font-size:15px;line-height:1.45;color:var(--ink)}
.pps-evidence small{display:block;margin-top:6px;font:12px var(--ui);color:var(--ink3)}
.pps-evidence-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
/* right pane */
.pps-pieces{list-style:none;margin:0;padding:6px;min-height:80px;border-radius:16px;border:1.5px dashed var(--line2);display:grid;gap:8px;transition:border-color .15s,background .15s}
.pps-pieces.over{border-color:var(--clay);background:color-mix(in srgb,var(--clay) 6%,transparent)}
.pps-piece{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:10px 12px;border-radius:14px;background:var(--page);border:1px solid var(--line);cursor:grab}
.pps-piece.dragging{opacity:.5}
.pps-piece.insert-before{box-shadow:0 -3px 0 0 var(--clay)}
.pps-piece p{font-size:14.5px;line-height:1.5;color:var(--ink);margin:0}
.pps-own{font:italic 11px var(--ui);color:var(--ink3)}
.pps-piece-actions{grid-column:2;display:flex;gap:2px;margin-top:4px}
.pps-piece-actions button{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:var(--ink3)}
.pps-piece-actions button:hover:not(:disabled){background:var(--paper2);color:var(--ink)}
.pps-piece-actions button:disabled{opacity:.3}
.pps-edit{grid-column:2;display:grid;gap:8px}
.pps-edit div{display:flex;gap:8px}
.pps-empty-piece{padding:22px 14px;text-align:center;font:13.5px/1.5 var(--ui);color:var(--ink3)}
.pps-assembled{margin-top:14px;padding:14px 16px;border-radius:16px;background:var(--paper2)}
.pps-assembled small{font:600 10.5px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.pps-assembled p{font-size:15px;color:var(--ink);margin-top:4px}
.pps-preview h3 small{display:block;font:12px var(--ui);color:var(--ink3);letter-spacing:0;text-transform:none;font-weight:400}
.pps-feedback{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.pps-feedback li{position:relative;padding:8px 12px 8px 30px;border-radius:12px;font:13.5px/1.5 var(--ui);color:var(--ink2);background:var(--paper2)}
.pps-feedback li::before{content:"";position:absolute;left:12px;top:14px;width:9px;height:9px;border-radius:50%;background:var(--line2)}
.pps-feedback li.is-ok::before{background:var(--good)}
.pps-feedback li.is-warn::before{background:var(--gold)}
.pps-feedback li.is-missing::before{background:var(--bad)}
.pps-feedback li.is-missing{background:color-mix(in srgb,var(--bad) 8%,var(--page))}
.pps-essay-preview{display:grid;gap:10px}
.pps-essay-part{padding:12px 14px;border-radius:14px;background:var(--page);border:1px solid var(--line)}
.pps-essay-part.on{border-color:var(--gold)}
.pps-essay-part small{font:600 10.5px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.pps-essay-part p{font-size:14.5px;color:var(--ink);margin-top:4px}
/* exam */
.pps-exam{margin-top:20px}
.pps-exam-bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;padding:18px 22px;border-radius:20px;background:var(--pps-glass);border:1px solid var(--pps-glass-border);box-shadow:var(--shadow)}
.pps-exam-bar p{font:13.5px/1.5 var(--ui);max-width:60ch}
.pps-timer{display:flex;align-items:center;gap:8px}
.pps-timer #pps-clock{font:500 30px var(--disp);font-variant-numeric:tabular-nums;color:var(--ink);min-width:92px;text-align:center}
.pps-timer #pps-clock.low{color:var(--bad)}
.pps-exam .pps-wording{margin:20px 0}
.pps-exam-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}
/* review */
.pps-own-answer p{color:var(--ink);font-size:15.5px;margin-bottom:10px}
.pps-estimate h2 small{display:block;font:13px var(--ui);color:var(--ink3);margin-top:4px}
.pps-estimate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}
.pps-estimate-grid>div{padding:14px 16px;border-radius:16px;background:var(--page);border:1px solid var(--line);font:13px/1.5 var(--ui);color:var(--ink2);display:grid;gap:4px}
.pps-estimate-grid b{font-family:var(--disp);font-size:20px;color:var(--ink)}
.pps-review-ao{margin-top:14px}
.pps-check{display:flex;gap:10px;align-items:flex-start;padding:8px 0;font:14.5px/1.5 var(--ui);color:var(--ink2);cursor:pointer}
.pps-check input{width:18px;height:18px;margin-top:4px;accent-color:var(--clay)}
.pps-model-gate{text-align:left;border-color:color-mix(in srgb,var(--gold) 50%,var(--line))}
.pps-model-text{display:grid;gap:14px;margin-top:10px}
.pps-model-part{padding:16px 18px;border-radius:16px;background:var(--page);border:1px solid var(--line)}
.pps-model-part small{font:600 10.5px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.pps-model-part p{margin-top:6px;font-size:15.5px;line-height:1.75;color:var(--ink)}
.pps-model-sentence{font:inherit;color:inherit;text-align:left;border-radius:6px;padding:1px 2px;border-bottom:2px solid transparent;transition:background .15s;line-height:inherit}
.pps-model-sentence.pps-ao1{border-bottom-color:var(--pps-ao1)}
.pps-model-sentence.pps-ao2{border-bottom-color:var(--pps-ao2)}
.pps-model-sentence.pps-ao4{border-bottom-color:var(--pps-ao4)}
.pps-model-sentence.pps-ao1.pps-ao2{border-image:linear-gradient(90deg,var(--pps-ao1),var(--pps-ao2)) 1}
.pps-model-sentence.pps-ao1.pps-ao4{border-image:linear-gradient(90deg,var(--pps-ao1),var(--pps-ao4)) 1}
.pps-model-sentence.pps-ao2.pps-ao4{border-image:linear-gradient(90deg,var(--pps-ao2),var(--pps-ao4)) 1}
.pps-model-sentence:hover,.pps-model-sentence.on{background:color-mix(in srgb,var(--gold) 28%,transparent)}
.pps-why{display:block;margin:8px 0 10px;padding:12px 14px;border-radius:12px;background:var(--paper2);font:13.5px/1.55 var(--ui);color:var(--ink2)}
.pps-why b{display:inline-block;margin-right:8px;color:var(--ink)}
.pps-ao-toggles{display:flex;gap:4px}
.pps-ao-toggles .pps-ao{min-height:32px;padding:0 12px;margin:0;cursor:pointer}
.pps-model-extra{margin-top:12px;padding:14px 18px;border-radius:16px;border:1px solid var(--line);font:14px/1.6 var(--ui);color:var(--ink2)}
.pps-model-extra summary{cursor:pointer;font-weight:600;color:var(--ink);min-height:32px;display:flex;align-items:center}
.pps-model-extra ul{margin:10px 0 0 18px}
.pps-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.pps-compare-grid>div{padding:14px 16px;border-radius:14px;background:var(--paper2)}
.pps-compare-grid h4{margin:0 0 8px}
.pps-compare-grid p{font-size:14.5px;color:var(--ink)}
.pps-alternatives{list-style:none;margin:10px 0 0!important;padding:0}
.pps-alternatives li{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid var(--line)}
.pps-alternatives b{color:var(--ink)}
.pps-complete{border-color:color-mix(in srgb,var(--good) 40%,var(--line))}
/* dashboard card */
.pps-dash-card{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:center;margin-top:34px;padding:30px 36px;border-radius:28px;border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line));background:linear-gradient(120deg,color-mix(in srgb,var(--gold) 16%,var(--page)),var(--page));box-shadow:var(--shadow)}
.pps-dash-card h2{font-size:30px;font-weight:500;margin:8px 0 10px}
.pps-dash-card p{color:var(--ink2)}
.pps-dash-steps{display:flex;gap:6px;list-style:none;margin:16px 0 0;padding:0;counter-reset:pps}
.pps-dash-steps li{counter-increment:pps;font:600 12px var(--ui);color:var(--ink2);padding:6px 12px 6px 8px;border-radius:99px;background:var(--page);border:1px solid var(--line)}
.pps-dash-steps li::before{content:counter(pps);display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:10px;margin-right:6px}
.pps-dash-side{display:grid;gap:10px;justify-items:start}
.pps-dash-progress{font:500 13px var(--ui);color:var(--good)}
/* responsive */
@media (max-width:1180px){
 .pps-pane-tabs{display:flex;position:sticky;top:84px;z-index:6;gap:4px;padding:4px;border-radius:14px;background:var(--pps-glass);border:1px solid var(--pps-glass-border);box-shadow:var(--shadow);margin:6px 0 0;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
 .pps-pane-tabs button{flex:1;min-height:44px;border-radius:10px;font:600 13px var(--ui);color:var(--ink2)}
 .pps-pane-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}
 .pps-workspace{display:block}
 .pps-left,.pps-right{position:static;max-height:none;overflow:visible}
 .pps-workspace>*{display:none}
 .pps-workspace[data-pane=question] .pps-left,.pps-workspace[data-pane=build] .pps-centre,.pps-workspace[data-pane=preview] .pps-right{display:block}
 .pps-left .pps-panel:first-child,.pps-right .pps-panel:first-child{margin-top:16px}
}
@media (max-width:900px){
 .pps-hero,.pps-two,.pps-dash-card{grid-template-columns:1fr}
 .pps-steps-intro{grid-template-columns:1fr}
 .pps-filters{position:static}
 .pps-estimate-grid,.pps-compare-grid{grid-template-columns:1fr}
 .pps-transform>div{grid-template-columns:1fr}
 .pps-transform-arrow{transform:rotate(90deg);justify-self:center}
 .pps-stepper{grid-template-columns:repeat(2,1fr)}
 .pps-meta{grid-template-columns:1fr}
}
@media (max-width:600px){
 .pps{padding-top:12px}
 .pps.pps-wide{width:calc(100% - 32px)}
 .pps-panel{padding:18px 18px;border-radius:18px}
 .pps-step-btn span:last-child{display:none}
 .pps-stepper{grid-template-columns:repeat(4,1fr)}
 .pps-hero-aside,.pps-dash-card{padding:20px}
 .pps-dash-card h2{font-size:24px}
 .pps-next-bar .pill{width:100%;justify-content:center}
 .pps-wording{font-size:19px}
 .pps-filter select{min-width:0;width:100%}
 .pps-filter{flex:1 1 45%}
 .pps-count{flex-basis:100%;margin:0}
 .pps-dash-steps{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){.pps *,.pps-dash-card *{transition:none!important;animation:none!important}}
html[data-appearance=dark] .pps{--pps-ao1:#8fa0d6;--pps-ao2:#dfa07c;--pps-ao4:#9fbb8a}
html[data-appearance=dark] .pps .pps-ao{color:#1c1a16}
html[data-appearance=dark] .pps-example{background:color-mix(in srgb,var(--sage) 16%,var(--page))}
html[data-appearance=dark] .pps-next-bar{background:color-mix(in srgb,var(--gold) 14%,var(--page))}
