.builder{margin:22px 0 72px}.builder :is(input,select,button,a,summary):focus-visible{outline:2px solid var(--cobalt);outline-offset:2px}.builder-bar{flex-wrap:wrap;align-items:end;gap:12px 18px;margin-bottom:18px;display:flex}.builder-bank{min-width:min(100%,280px);color:var(--muted);gap:6px;font-size:.78rem;font-weight:700;display:grid}.builder select,.builder input[type=number]{min-height:42px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);font:540 .9rem var(--font-body);border-radius:8px;padding:8px 11px}.builder-segment{background:var(--surface);border:1px solid var(--line-strong);border-radius:9px;gap:3px;padding:3px;display:inline-flex}.builder-segment button{min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 13px;font-size:.84rem;font-weight:650}.builder-segment button[aria-pressed=true]{color:var(--paper);background:var(--ink)}.builder-layout{grid-template-columns:minmax(300px,5fr) minmax(0,7fr);align-items:start;gap:22px;display:grid}.builder-loading{color:var(--muted);padding:24px}.builder-choices{overscroll-behavior:contain;background:var(--surface-raised);border:1px solid var(--line);border-radius:12px;max-height:calc(100dvh - 104px);padding:18px 18px 14px;position:sticky;top:84px;overflow-y:auto}.builder-field{border:0;min-width:0;margin:0 0 18px;padding:0}.builder-field>legend,.builder-papers>summary{width:100%;color:var(--muted);font:650 .7rem/1.3 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:baseline;margin-bottom:8px;padding:0;display:flex}.builder-link{color:var(--cobalt-strong);font:700 .78rem var(--font-body);text-transform:none;letter-spacing:0;cursor:pointer;background:0 0;border:0;padding:0}.builder-topics,.builder-subtopics,.builder-paper-list{margin:0;padding:0;list-style:none}.builder-topic{border-bottom:1px solid var(--line)}.builder-topic:last-child{border-bottom:0}.builder-topic-row{border-radius:7px;align-items:center;gap:8px;min-height:40px;padding:0 4px;display:flex}.builder-topic-row[data-selected]{background:var(--cobalt-faint)}.builder-topic-row label{cursor:pointer;flex:1;align-items:center;gap:9px;min-width:0;padding:7px 0;font-size:.86rem;font-weight:560;line-height:1.3;display:flex}.builder-topic-row label.is-empty{color:var(--muted);opacity:.55;cursor:default}.builder-topic-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--cobalt);flex:none}.builder-count{min-width:2.6em;color:var(--muted);font:500 .74rem var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}.builder-expand{width:28px;height:28px;color:var(--cobalt-strong);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;font-size:1.05rem}.builder-expand:hover{border-color:var(--line-strong)}.builder-subtopics{margin:0 0 6px 26px}.builder-subtopics .builder-topic-row{min-height:34px}.builder-subtopics label{font-size:.8rem;font-weight:500}.builder-years{grid-template-columns:1fr 1fr;gap:10px;display:grid}.builder-years label{gap:5px;font-size:.76rem;font-weight:650;display:grid}.builder-size{flex-wrap:wrap;align-items:center;gap:6px;margin-top:9px;display:flex}.builder-chip{min-width:46px;min-height:36px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);font:600 .84rem var(--font-body);cursor:pointer;border-radius:999px;padding:4px 11px}.builder-chip[aria-pressed=true]{color:#fff;background:var(--cobalt);border-color:var(--cobalt)}:root[data-theme=dark] .builder-chip[aria-pressed=true]{color:#0d1430}.builder-size-custom input{width:84px}.builder-papers>summary{cursor:pointer;list-style:none}.builder-papers>summary::-webkit-details-marker{display:none}.builder-papers>summary:after{content:"+";color:var(--cobalt-strong);font-size:1rem}.builder-papers[open]>summary:after{content:"−"}.builder-paper-list{gap:6px;margin-top:10px;display:grid}.builder-paper-list li{align-items:center;gap:10px;display:flex}.builder-paper-list label{align-items:center;gap:10px;font-size:.84rem;font-weight:650;display:flex}.builder-paper-list input{width:76px}.builder-summary{border-top:1px solid var(--line);color:var(--success);margin:4px 0 0;padding-top:12px;font-size:.84rem;font-weight:650}.builder-summary.is-empty{color:var(--danger)}.builder-sheet{color:#191917;background:#fff;border:1px solid #e3e3dc;border-radius:6px;min-width:0;padding:clamp(18px,2.6vw,30px);scroll-margin-top:84px;box-shadow:0 1px 2px #0000000d,0 18px 40px #2e282214}.builder .builder-sheet .button.secondary.button{color:#191917;background:#fff;border-color:#bcbcb3}.builder .builder-sheet .button.secondary.button:hover:not(:disabled){background:#f4f4ef}.builder .builder-sheet .button.primary.button{color:#fff;background:#2f5bea;border-color:#2f5bea}.builder-sheet-head{border-bottom:1.5px solid #191917;justify-content:space-between;align-items:start;gap:14px;padding-bottom:14px;display:flex}.builder-sheet-head>div{flex:1;min-width:0}.builder-title{color:#191917;resize:none;field-sizing:content;width:100%;min-height:1.3em;font:400 clamp(1.35rem, 2.4vw, 1.75rem)/1.2 var(--font-serif);background:0 0;border:0;border-bottom:1px dashed #0000;margin:0;padding:2px 4px 2px 0;display:block;overflow:hidden}.builder-title:hover,.builder-title:focus{border-bottom-color:#bcbcb3;outline:none}.builder-sheet-meta{color:#66645f;margin:4px 0 0;font-size:.84rem}.builder-shuffle{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.builder-sheet-status{color:#7a4a10;background:#fbf3e4;border-radius:7px;margin:12px 0 0;padding:8px 11px;font-size:.82rem}.builder-rows{margin:6px 0 0;padding:0;list-style:none}.builder-row{border-bottom:1px solid #ecece6;align-items:center;gap:6px;display:flex}.builder-row-open{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;grid-template-columns:2.1em minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 4px;display:grid}.builder-row-open:hover{background:#f6f6f1}.builder-row-number{color:#191917;font:700 .95rem var(--font-body);font-variant-numeric:tabular-nums}.builder-row-text{gap:2px;min-width:0;display:grid}.builder-row-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:640;overflow:hidden}.builder-row-text small{color:#77756f;font-size:.76rem}.builder-row-marks{color:#55534e;white-space:nowrap;align-items:center;gap:7px;font-size:.8rem;display:inline-flex}.builder-row .calculator-badge{color:#191917;border-color:#191917}.builder-row .calculator-badge.is-none{color:#fff;background:#191917}.builder-row-actions{opacity:.35;gap:2px;transition:opacity .15s;display:inline-flex}.builder-row:hover .builder-row-actions,.builder-row:focus-within .builder-row-actions{opacity:1}.builder-row-actions button{color:#3d3c38;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:30px;height:30px;display:grid}.builder-row-actions button:hover:not(:disabled){color:var(--cobalt-strong);background:#eef1fb}.builder-row-actions button:disabled{opacity:.3;cursor:default}.builder-sheet-empty{color:#66645f;margin:26px 0 8px;font-size:.9rem}.builder-sheet-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px;display:flex}.builder-sheet-actions .button{align-items:center;gap:7px;min-height:44px;display:inline-flex}.builder-message{text-align:right;color:#55534e;flex-basis:100%;margin:0;font-size:.84rem}.builder-message.is-error{color:#a3312c}.builder>.builder-message{text-align:left;color:var(--danger);margin-bottom:12px}.builder-saved-link{color:var(--cobalt-strong);margin-right:auto;font-size:.84rem;font-weight:650}.builder-sheet .builder-saved-link{color:#2347bd}.builder-sheet-actions .answer-placement-prompt{flex-basis:100%;justify-content:flex-end}.builder-sheet-actions .answer-placement-prompt span{color:#55534e}.builder-jump{display:none}.builder-reader-backdrop{z-index:60;background:#1212108c;place-items:start center;padding:4vh 16px;display:grid;position:fixed;inset:0;overflow-y:auto}.builder-reader{background:var(--surface-raised);width:min(980px,100%);box-shadow:var(--shadow-lg);border-radius:12px;outline:none;padding:20px clamp(14px,3vw,28px) 24px}.builder-reader .paper-preview-reader{border-top:0;margin-top:0;padding-top:0}@media (hover:none){.builder-row-actions{opacity:1}}@media (max-width:900px){.builder-layout{grid-template-columns:1fr}.builder-choices{max-height:none;position:static}.builder-jump{z-index:5;color:#fff;background:var(--ink);width:fit-content;box-shadow:var(--shadow-lg);border-radius:999px;margin:14px auto 0;padding:11px 18px;font-size:.88rem;font-weight:650;text-decoration:none;display:block;position:sticky;bottom:12px}:root[data-theme=dark] .builder-jump{color:var(--paper)}}@media (max-width:600px){.builder-row{flex-wrap:wrap;gap:0}.builder-row-open{grid-template-columns:1.8em minmax(0,1fr)}.builder-row-marks{grid-column:2}.builder-row-actions{justify-content:flex-end;width:100%;padding-bottom:6px}.builder-sheet-actions{justify-content:stretch}.builder-sheet-actions .button{flex:1;justify-content:center}}.paper-builder-error{color:var(--danger);margin:15px 0 0;font-size:.86rem}.paper-preview-reader{border-top:1px solid var(--line-strong);margin-top:20px;padding:20px 0 0;scroll-margin-top:84px}.paper-preview-toolbar{justify-content:space-between;align-items:start;gap:20px;display:flex}.paper-preview-toolbar h3{font:760 1.3rem/1.2 var(--font-display);margin:5px 0}.paper-preview-toolbar p{color:var(--muted);margin:0;font-size:.82rem}.paper-preview-images{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:910px;margin:18px auto;padding:12px}.paper-preview-images img{object-fit:contain;width:100%;height:auto;margin:0 auto 8px}.paper-preview-images img:last-child{margin-bottom:0}.paper-preview-answer .paper-preview-images img{width:auto;max-width:100%;display:block}.paper-preview-images p{color:#34332f}.paper-preview-answer{max-width:910px;margin:20px auto}.paper-preview-navigation{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:10px;max-width:910px;margin:25px auto 0;display:flex}.paper-builder-empty{border-left:4px solid var(--cobalt);max-width:670px;margin:26px 0 70px}.paper-builder-empty h2{margin:9px 0 12px}.paper-builder-empty p:not(.eyebrow){color:var(--muted);line-height:1.55}.paper-builder-empty .button{margin-top:8px}.calculator-badge{border:1px solid var(--ink);color:var(--ink);font:700 .62rem/1.45 var(--font-mono);letter-spacing:.06em;border-radius:4px;align-items:center;padding:1px 6px;display:inline-flex}.calculator-badge.is-none{background:var(--ink);color:var(--paper)}.paper-preview-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}
