.xp-root,.xp-deck{--xp-page:var(--page,#faf9f7);--xp-white:#fff;--xp-oat:#f5f3f1;--xp-oat-deep:#e9e7e5;--xp-line:#e0dedb;--xp-ink:#0b0b0c;--xp-ink-2:#0000009e;--xp-blue:#2563eb;--xp-blue-edge:#1c4ab2;--xp-blue-wash:#2563eb14;--xp-amber:#a66c08;--xp-amber-edge:#784d04;--xp-amber-wash:#a66c0817;--xp-go:#1e1e1e;--xp-go-edge:#000;--xp-font:"LX Minus", var(--font-sans-clone,var(--font-sans-hub,"DM Sans")), "DM Sans", system-ui, sans-serif;--xp-ease:cubic-bezier(.22, 1, .36, 1);background:var(--xp-page);min-height:100dvh;color:var(--xp-ink);font-family:var(--xp-font);-webkit-font-smoothing:antialiased;flex-direction:column;font-size:17px;line-height:1.5;display:flex}.xp-root *{box-sizing:border-box}:where(.xp-root) button{font:inherit;color:inherit}.xp-top{grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;height:64px;padding:0 24px;display:grid}.xp-close{width:40px;height:40px;color:var(--xp-ink);border-radius:999px;place-items:center;display:grid}.xp-close:hover{background:var(--xp-oat-deep)}.xp-progress{justify-self:center;gap:6px;width:100%;max-width:600px;display:flex}.xp-seg{background:var(--xp-oat-deep);border-radius:999px;flex:1;height:10px;position:relative;overflow:hidden}.xp-seg-fill{border-radius:inherit;background:var(--xp-blue);transition:width .4s var(--xp-ease);position:absolute;inset:0 auto 0 0}.xp-toolbar{vertical-align:middle;margin-right:12px;display:inline-flex}.xp-count{white-space:nowrap;color:var(--xp-ink-2);font-variant-numeric:tabular-nums;justify-self:end;align-items:center;font-size:15px;font-weight:600;display:inline-flex}.xp-card{border:2px solid var(--xp-line);background:var(--xp-page);border-radius:24px;flex-direction:column;flex:1;min-height:0;margin:0 24px 24px;transition:border-color .2s,background .2s;display:flex;position:relative}.xp-card[data-tone=right]{border-color:var(--xp-blue);background:linear-gradient(to top, var(--xp-blue-wash) 0%, transparent 38%), var(--xp-page)}.xp-card[data-tone=wrong]{border-color:var(--xp-amber);background:linear-gradient(to top, var(--xp-amber-wash) 0%, transparent 38%), var(--xp-page)}.xp-scroll{flex:1;min-height:0}.xp-col{width:100%;max-width:640px;margin:0 auto;padding:40px 20px 32px}.xp-chips{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.xp-chip{background:var(--xp-oat-deep);min-height:26px;color:var(--xp-ink);border-radius:999px;align-items:center;padding:3px 10px;font-size:13px;font-weight:600;line-height:18px;display:inline-flex}.xp-meta{color:var(--xp-ink-2);margin:0 0 14px;font-size:15px;font-weight:600}.xp-stem{margin:0 0 18px;font-size:18px}.xp-stem p{margin:0 0 8px}.xp-passage{border:1px solid var(--xp-line);background:var(--xp-white);border-radius:14px;margin:0 0 18px;padding:14px 18px;font-size:16px}.xp-passage figcaption{margin-bottom:6px;font-weight:700}.xp-passage ol{margin:0;padding-left:28px}.xp-passage li::marker{color:var(--xp-ink-2);font-size:13px}.xp-figure{justify-content:center;margin:0 0 20px;display:flex}.xp-figure svg{max-width:100%;height:auto}.xp-figure>.ug-fig{width:100%;max-width:640px}.xp-done-part{border-bottom:1px solid var(--xp-line);color:var(--xp-ink-2);grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:10px 0;font-size:15px;display:grid}.xp-done-prompt{min-width:0}.xp-done-marks{font-variant-numeric:tabular-nums;color:var(--xp-amber);font-weight:700}.xp-done-marks[data-full]{color:var(--xp-blue)}.xp-part{padding-top:16px}.xp-part-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:10px;margin-bottom:18px;display:grid}.xp-part-label{font-weight:700}.xp-prompt{overflow-wrap:anywhere;min-width:0;font-size:18px;font-weight:500}.xp-prompt .katex-display{margin:8px 0}.xp-part-marks{color:var(--xp-ink-2);white-space:nowrap;font-size:14px;font-weight:600}.xp-part-head[data-solo]{grid-template-columns:minmax(0,1fr)}.xp-guide-note{color:var(--xp-blue);margin:-6px 0 12px;font-size:14px;font-weight:700}.xp-move{gap:14px;display:grid}.xp-move-prompt{margin:0;font-size:17px}.xp-box-wrap{justify-items:center;gap:10px;display:grid}.xp-box-line{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.xp-box{border:2px solid var(--xp-line);background:var(--xp-white);width:min(100%,420px);height:56px;color:var(--xp-ink);font:inherit;text-align:center;border-radius:14px;outline:none;padding:0 16px;font-size:20px;transition:border-color .16s,background .16s}.xp-box:focus{border-color:var(--xp-ink)}.xp-box::placeholder{color:#00000052;font-size:16px}.xp-box[data-state=right]{border-color:var(--xp-blue);background:var(--xp-blue-wash)}.xp-box[data-state=wrong]{border-color:var(--xp-amber);background:var(--xp-amber-wash)}.xp-box:disabled{opacity:1;color:var(--xp-ink);-webkit-text-fill-color:var(--xp-ink)}.xp-unit{font-size:18px;font-weight:500}.xp-preview{background:var(--xp-oat);border-radius:10px;max-width:100%;min-height:32px;padding:4px 14px;font-size:18px;overflow-x:auto}.xp-keys{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.xp-key{border:1px solid var(--xp-line);background:var(--xp-white);cursor:pointer;border-radius:10px;min-width:44px;height:44px;padding:0 12px;font-size:17px}.xp-key:hover{border-color:#0000004d}.xp-quantity{justify-content:center;gap:10px;width:100%;display:flex}.xp-box-value{width:min(60%,240px)}.xp-box-unit{width:min(40%,160px)}.xp-fields{justify-items:center;gap:10px;width:100%;display:grid}.xp-fields[data-labelled]{justify-items:stretch;max-width:420px}.xp-field{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.xp-field-label{text-align:right;flex:none;min-width:64px;font-size:18px}.xp-box-small{width:min(100%,260px)}.xp-fields[data-labelled] .xp-box-small{flex:1;width:auto;min-width:0}.xp-point{align-items:center;gap:6px;font-size:30px;font-weight:300;display:flex}.xp-point-slot{align-items:center;gap:6px;display:flex}.xp-point .xp-box-small{width:112px;font-size:20px}.xp-comma,.xp-paren{line-height:1}.xp-matrix{border-left:2.5px solid var(--xp-ink);border-right:2.5px solid var(--xp-ink);border-radius:18px;gap:8px;padding:10px 14px;display:grid}.xp-box-cell{width:100%;height:52px;padding:0 6px;font-size:19px}.xp-choices{gap:10px;display:grid}.xp-choice{border:2px solid var(--xp-line);background:var(--xp-white);text-align:left;cursor:pointer;border-radius:14px;width:100%;padding:14px 18px;font-size:17px;transition:border-color .14s,background .14s;display:block}.xp-choice:hover:not(:disabled){border-color:#0000004d}.xp-choice[data-picked]{border-color:var(--xp-ink);background:var(--xp-oat)}.xp-choice[data-state=right]{border-color:var(--xp-blue);background:var(--xp-blue-wash)}.xp-choice[data-state=wrong]{border-color:var(--xp-amber);background:var(--xp-amber-wash)}.xp-choice:disabled{cursor:default}.xp-order{gap:16px;display:grid}.xp-slots{gap:8px;margin:0;padding:0;list-style:none;display:grid}.xp-slot{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;display:grid}.xp-slot-n{background:var(--xp-oat-deep);border-radius:999px;place-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:grid}.xp-slot[data-state=right] .xp-slot-n{background:var(--xp-blue);color:#fff}.xp-slot[data-state=wrong] .xp-slot-n{background:var(--xp-amber);color:#fff}.xp-slot-empty{border:2px dashed var(--xp-line);color:#0006;border-radius:14px;align-items:center;min-height:52px;padding:0 14px;font-size:15px;display:flex}.xp-bank{border-top:1px solid var(--xp-line);gap:8px;padding-top:14px;display:grid}.xp-tile{border:2px solid var(--xp-line);background:var(--xp-white);text-align:left;cursor:pointer;width:100%;transition:transform .12s var(--xp-ease), border-color .14s ease;border-bottom-width:4px;border-radius:14px;padding:12px 16px;font-size:16px;display:block}.xp-tile:hover:not(:disabled){border-color:#00000052}.xp-tile:active:not(:disabled){border-bottom-width:2px;transform:translateY(2px)}.xp-tile:disabled{cursor:default}.xp-slot[data-state=right] .xp-tile{border-color:var(--xp-blue);background:var(--xp-blue-wash)}.xp-slot[data-state=wrong] .xp-tile{border-color:var(--xp-amber);background:var(--xp-amber-wash)}.xp-tile-body{gap:4px;min-width:0;display:grid}.xp-tile-math{font-size:16px;overflow-x:auto}.xp-line{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.xp-lead{max-width:100%;font-size:19px;overflow-x:auto}.xp-line .xp-box-wrap{flex:260px}.xp-self{gap:14px;display:grid}.xp-ticks{gap:8px;margin:0;padding:0;list-style:none;display:grid}.xp-tick{border:2px solid var(--xp-line);background:var(--xp-white);text-align:left;cursor:pointer;border-radius:14px;grid-template-columns:26px auto minmax(0,1fr);align-items:start;gap:10px;width:100%;padding:12px 14px;display:grid}.xp-tick[aria-pressed=true]{border-color:var(--xp-blue);background:var(--xp-blue-wash)}.xp-tick-box{border:2px solid var(--xp-line);background:var(--xp-white);width:24px;height:24px;color:var(--xp-blue);border-radius:7px;place-items:center;font-weight:700;display:grid}.xp-tick-code{padding-top:2px;font-size:14px;font-weight:700}.xp-hints{gap:10px;margin-top:18px;display:grid}.xp-hint{border:1px solid var(--xp-line);background:var(--xp-white);border-radius:14px;padding:14px 16px;font-size:16px}.xp-hint strong{color:var(--xp-blue);margin-bottom:4px;font-size:14px;display:block}.xp-hint-math{overflow-x:auto}.xp-marks{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.xp-marks-total{font-size:20px;font-weight:700}.xp-mark-chips{flex-wrap:wrap;gap:6px;display:flex}.xp-mark-chip{background:var(--xp-oat-deep);min-width:34px;height:26px;color:var(--xp-ink-2);border-radius:8px;place-items:center;padding:0 8px;font-size:13px;font-weight:700;display:inline-grid}.xp-mark-chip[data-earned]{background:var(--xp-blue);color:#fff}.xp-mark-chip[data-earned][data-implied]{color:var(--xp-blue);box-shadow:inset 0 0 0 1.5px var(--xp-blue);background:0 0}.xp-solution{border:1px solid var(--xp-line);background:var(--xp-white);border-radius:16px;min-width:0;margin-top:16px;padding:18px 20px;font-size:16px}.xp-solution ol{grid-template-columns:minmax(0,1fr);gap:12px;margin:0;padding-left:20px;display:grid}.xp-solution li{min-width:0}.xp-solution-math{max-width:100%;overflow-x:auto}.xp-solution-marks{gap:6px;margin-top:6px;display:grid}.xp-mark-note{color:var(--xp-ink-2);align-items:baseline;gap:8px;font-size:14px;display:flex}.xp-solution-answer{margin:14px 0 0;font-weight:600}.xp-solution-answer span{color:var(--xp-ink-2);margin-right:6px;font-weight:600}.xp-solution-near{margin:8px 0 0}.xp-solution-near span{margin-right:6px;font-weight:600}.xp-bar{z-index:3;background:linear-gradient(to top, var(--xp-bar-bg,var(--xp-page)) 72%, transparent);border-radius:0 0 22px 22px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:16px;padding:12px 20px 18px;display:grid;position:sticky;bottom:0}.xp-card[data-tone=right]{--xp-bar-bg:color-mix(in srgb, var(--xp-blue) 8%, var(--xp-page))}.xp-card[data-tone=wrong]{--xp-bar-bg:color-mix(in srgb, var(--xp-amber) 9%, var(--xp-page))}.xp-mia{align-items:flex-end;gap:10px;min-width:0;display:flex}.xp-mia-figure{flex:none;place-items:end center;width:72px;height:72px;display:grid}.xp-bubble{border:1px solid var(--xp-line);background:var(--xp-white);max-width:340px;color:var(--xp-ink);animation:xp-rise .4s var(--xp-ease) .1s both;border-radius:16px;margin:0 0 34px;padding:12px 16px;font-size:16px;line-height:1.4;box-shadow:0 6px 18px #0000000f}.xp-bubble[data-tone=right]{border-color:var(--xp-blue);background:var(--xp-blue);color:#fff}.xp-bubble[data-tone=wrong]{border-color:var(--xp-amber);background:var(--xp-amber);color:#fff}@keyframes xp-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.xp-actions{justify-content:center;align-items:center;gap:10px;display:flex}.xp-btn{white-space:nowrap;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:50px;padding:0 28px;font-size:17px;font-weight:700;text-decoration:none;transition:transform .1s,box-shadow .1s,opacity .12s;display:inline-flex}.xp-btn-go{background:var(--xp-go);color:#fff;box-shadow:0 4px 0 var(--xp-go-edge)}.xp-btn-go[data-tone=right]{background:var(--xp-blue);box-shadow:0 4px 0 var(--xp-blue-edge)}.xp-btn-go[data-tone=wrong]{background:var(--xp-amber);box-shadow:0 4px 0 var(--xp-amber-edge)}.xp-btn-quiet{background:var(--xp-oat-deep);color:var(--xp-ink);box-shadow:0 4px #c8c5c1}.xp-btn:active:not(:disabled){box-shadow:0 1px 0 var(--xp-go-edge);transform:translateY(3px)}.xp-btn-wrap{white-space:normal;text-align:center;max-width:100%;padding:12px 22px;line-height:1.3}.xp-btn:disabled{background:var(--xp-oat);color:#0000004d;box-shadow:none;cursor:default}.xp-root a.xp-btn-go,.xp-root a.xp-btn-go:visited{color:#fff}.xp-root a.xp-btn-quiet,.xp-root a.xp-btn-quiet:visited{color:var(--xp-ink)}.xp-results .xp-col{text-align:center;padding-top:48px}.xp-mia-big{justify-content:center;margin-bottom:8px;display:flex}.xp-results-title{letter-spacing:-.01em;margin:0;font-size:40px;font-weight:700;line-height:1.1}.xp-results-sub{color:var(--xp-ink-2);margin:10px 0 28px;font-size:18px}.xp-results-list{text-align:left;gap:8px;margin:0 0 24px;padding:0;list-style:none;display:grid}.xp-results-row{border:2px solid var(--xp-line);background:var(--xp-white);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:14px 18px;display:grid}.xp-results-q{gap:2px;min-width:0;display:grid}.xp-results-n{font-weight:600}.xp-results-snippet{-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:15px;display:-webkit-box;overflow:hidden}.xp-results-snippet .katex-display{margin:0;display:inline}.xp-results-marks{font-variant-numeric:tabular-nums;color:var(--xp-amber);font-weight:700}.xp-results-row[data-full] .xp-results-marks{color:var(--xp-blue)}.xp-results-review{color:var(--xp-blue);grid-column:1/-1;font-size:15px;font-weight:600;text-decoration:none}.xp-results-review:after{content:" →"}.xp-results-lesson{margin:0 0 18px}.xp-results-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}@media (max-width:720px){.xp-top{grid-template-columns:40px minmax(0,1fr) auto;height:56px;padding:0 12px}.xp-card{border-width:2px 0 0;border-radius:20px 20px 0 0;margin:0}.xp-col{padding:24px 16px 20px}.xp-stem,.xp-prompt{font-size:17px}.xp-bar{padding:8px 16px calc(14px + env(safe-area-inset-bottom,0px));border-radius:0;grid-template-columns:minmax(0,1fr);gap:10px}.xp-mia:not(:has(.xp-bubble)){display:none}.xp-top:has(.xp-toolbar){grid-template-columns:40px minmax(0,1fr);row-gap:6px;height:auto;padding-top:8px;padding-bottom:10px}.xp-top:has(.xp-toolbar) .xp-progress{order:3;grid-column:1/-1}.xp-mia-figure{transform-origin:0 100%;width:56px;height:56px;transform:scale(.8)}.xp-bubble{flex:1;max-width:none;margin-bottom:18px;font-size:15px}.xp-actions>.xp-btn{flex:1;min-width:0;padding:0 14px}.xp-actions:has(>.xp-btn:nth-child(3)){flex-wrap:wrap}.xp-actions:has(>.xp-btn:nth-child(3))>.xp-btn{flex:calc(50% - 5px);font-size:16px}.xp-actions:has(>.xp-btn:nth-child(3))>.xp-btn-go{flex-basis:100%}.xp-results-title{font-size:32px}.xp-box{font-size:18px}.xp-point .xp-box-small{width:92px}.xp-keys{gap:6px}.xp-tile{padding:10px 12px;font-size:15px}.xp-tile-math{font-size:14px}.xp-key{min-width:44px;height:44px;padding:0 8px;font-size:16px}}.xp-deck{min-height:0;color:inherit;font-family:inherit;font-size:inherit;background:0 0;scroll-margin-top:80px;display:block}.xp-deck-top{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin:8px 0 18px;display:grid}.xp-deck-top .xp-progress{justify-self:stretch;max-width:none}.xp-deck-nav{justify-content:space-between;gap:12px;margin:22px 0 8px;display:flex}.xp-deck-done{text-align:center;padding:32px 0 16px}.xp-deck .xp-btn{font-family:var(--xp-font)}@media (max-width:720px){.xp-deck-nav{padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top, var(--xp-page) 75%, transparent);position:sticky;bottom:0}.xp-deck-nav .xp-btn{flex:1}}.xp-rhythm{margin-left:12px;display:inline-flex}.xp-results-rhythm{margin:4px 0 28px}.xp-bar:has(.rn-choice){align-items:end}@media (max-width:720px){.xp-rhythm{margin-left:8px}}.xp-review-tag{background:var(--xp-blue);color:#fff;border-radius:999px;align-items:center;min-height:26px;margin-right:10px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}
