.practice-shell{background:var(--color-canvas);min-height:100vh;color:var(--color-ink);font-family:var(--font-body);font-size:14px;line-height:1.8}.practice-shell *,.practice-shell :before,.practice-shell :after{box-sizing:border-box}.practice-shell .practice-main{place-items:initial;min-height:0;padding:var(--space-8) var(--space-6) var(--space-16);background:0 0;display:block}.practice-shell h1,.practice-shell h2,.practice-shell h3{letter-spacing:normal;margin:0;font-weight:700}.practice-shell h1{font-size:24px;line-height:1.3}.practice-shell p{margin:0}.practice-shell a{color:inherit;text-decoration:none}.practice-shell :focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.practice-header{align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-rule);background:var(--color-surface-0);z-index:var(--z-sticky);display:flex;position:sticky;top:0}.practice-brand{align-items:center;gap:var(--space-2);font-size:16px;font-weight:900;display:inline-flex}.practice-brand-mark{background:var(--color-accent);border-radius:4px;width:14px;height:14px}.practice-nav{gap:var(--space-1);flex:1;display:flex}.practice-nav-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);color:var(--color-muted);font-weight:500}.practice-nav-link:hover{background:var(--color-surface-2);color:var(--color-ink)}.practice-nav-link.is-current{color:var(--color-ink);background:var(--color-surface-2);font-weight:700}.practice-header-end{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}@media (max-width:740px){.practice-header{gap:var(--space-2);padding:var(--space-3) var(--space-4);grid-template-columns:minmax(0,1fr) auto;display:grid}.practice-brand{white-space:nowrap;grid-column:1;font-size:14px}.practice-header-end{grid-column:2;margin-left:0}.practice-nav{min-width:0;margin-inline:calc(var(--space-4) * -1);padding:var(--space-2) var(--space-4) 0;border-top:1px solid var(--color-rule);grid-area:2/1/auto/-1;justify-content:space-between}.practice-nav-link{padding:var(--space-2) var(--space-1);white-space:nowrap;font-size:13px}}.practice-account-button{padding:var(--space-2) var(--space-4);border:1px solid var(--color-rule-strong);border-radius:var(--radius-pill);background:var(--color-surface-0);color:var(--color-ink);font:700 13px/1 var(--font-body);white-space:nowrap;cursor:pointer}.practice-account-button:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}.practice-footer{align-items:center;gap:var(--space-2);padding:var(--space-6);border-top:1px solid var(--color-rule);color:var(--color-faint);text-align:center;flex-direction:column;font-size:12px;display:flex}.practice-footer-links{gap:var(--space-4);display:flex}.practice-footer-links a{color:var(--color-faint);text-underline-offset:2px;text-decoration:underline}.practice-footer-links a:hover{color:var(--color-muted)}.practice-page{gap:var(--space-8);flex-direction:column;width:min(1140px,100%);margin:0 auto;display:flex}.practice-page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.prose-page{gap:var(--space-6);flex-direction:column;width:min(720px,100%);margin:0 auto;display:flex}.prose-page h2{margin:0 0 var(--space-2);font-size:16px}.prose-page section{gap:var(--space-3);flex-direction:column;display:flex}.prose-page p,.prose-page li{color:var(--color-ink-2);line-height:1.8}.prose-page ul{gap:var(--space-2);flex-direction:column;margin:0;padding-left:1.4em;display:flex}.prose-page .prose-updated{color:var(--color-muted);font-size:13px}.practice-lead{color:var(--color-muted)}.set-detail-description{white-space:pre-line;overflow-wrap:anywhere}.ps-section-heading{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.ps-section-heading h2{font-size:18px}.ps-section-note{color:var(--color-faint);font-size:12px}.practice-input,.practice-select,.practice-textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-surface-0);color:var(--color-ink);font:inherit}.practice-textarea{resize:vertical;min-height:88px}.practice-input::placeholder{color:var(--color-faint)}.practice-button{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border:1px solid var(--color-rule-strong);border-radius:var(--radius-control);background:var(--color-surface-0);color:var(--color-ink);font:700 14px/1 var(--font-body);cursor:pointer;display:inline-flex}.practice-button:hover:not(:disabled){background:var(--color-surface-2)}.practice-button.is-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.practice-button.is-primary:hover:not(:disabled){background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.practice-button:disabled{opacity:.45;cursor:not-allowed}.practice-button.is-quiet{color:var(--color-muted);background:0 0;border-color:#0000}.practice-button.is-quiet:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-ink)}.practice-button.is-small{padding:var(--space-2) var(--space-3);font-size:12px}.practice-page-head .practice-button{white-space:nowrap}.practice-button.is-danger{border-color:var(--color-danger);color:var(--color-danger)}.practice-button.is-danger-solid{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-danger-ink)}.practice-button.is-danger-solid:hover:not(:disabled){background:var(--color-danger);filter:brightness(1.08)}.tag-pill{min-height:28px;padding:2px var(--space-3);border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-surface-0);color:var(--color-ink-2);white-space:nowrap;justify-content:center;align-items:center;font-size:12px;line-height:1.4;display:inline-flex}.tag-pill.is-small{min-height:24px;padding:1px var(--space-2);font-size:11px}.tag-pill.is-button{cursor:pointer;font-family:inherit}.tag-pill.is-button:hover{border-color:var(--color-rule-strong)}.tag-pill.is-selected{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink);font-weight:700}.tag-pill.is-add{cursor:pointer;color:var(--color-ink-2);border-style:dashed;font-family:inherit}.custom-tag-form{align-items:end;gap:var(--space-2);flex-wrap:wrap;display:flex}.custom-tag-field{gap:var(--space-1);flex-direction:column;display:flex}.custom-tag-form .practice-button{min-height:calc(1.8em + var(--space-3) * 2 + 2px)}.custom-tag-form .practice-input{width:min(100%,240px)}.filter-tags .tag-pill{text-overflow:ellipsis;max-width:100%;overflow:hidden}.ps-difficulty{align-items:center;gap:var(--space-2);white-space:nowrap;display:inline-flex}.ps-diff-dot{background:var(--difficulty-color,var(--color-faint));border-radius:50%;flex:none;width:9px;height:9px}.ps-diff-dot.is-unknown{border:1px dashed var(--color-rule-strong);background:0 0}.ps-diff-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-ink-2);text-align:right;min-width:4ch;font-size:12px}.ps-difficulty.is-range .ps-diff-value{min-width:9ch}.visibility-pill{padding:1px var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--color-rule);color:var(--color-muted);font-size:11px}.visibility-pill.is-public{border-color:var(--difficulty-green);color:var(--difficulty-green)}.visibility-pill.is-unlisted{border-color:var(--difficulty-cyan);color:var(--difficulty-cyan)}.visibility-pill.is-draft{border-color:var(--color-caution);color:var(--color-caution)}.set-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));display:grid}.set-grid.is-featured{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.set-grid.is-stale,.library-results.is-stale{opacity:.45;pointer-events:none;transition:opacity .12s}.set-card{--set-card-title-line:22px;--set-card-tag-row:22px;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface-0);transition:border-color var(--dur-micro) var(--ease-out);flex-direction:column;display:flex}.set-card:hover{border-color:var(--color-rule-strong)}.set-card{position:relative}.set-card-link{color:inherit;text-decoration:none}.set-card-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.set-card-link:focus-visible{outline:none}.set-card:has(.set-card-link:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.set-card-featured{--set-card-title-line:26px}.set-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);min-height:var(--set-card-title-line);display:flex}.set-card-title{-webkit-line-clamp:1;line-clamp:1;font-size:16px;line-height:var(--set-card-title-line);overflow-wrap:anywhere;-webkit-box-orient:vertical;font-weight:700;display:-webkit-box;overflow:hidden}.set-card-featured .set-card-title{font-size:19px}.set-card-head .visibility-pill{flex:none}.set-card-likes{align-items:center;gap:var(--space-1);font-family:var(--font-mono);color:var(--color-muted);white-space:nowrap;flex:none;margin-left:auto;font-size:12px;display:inline-flex}.heart-icon{flex:none;display:block}.heart-icon.is-filled{color:var(--color-danger)}.heart-slot{align-items:center;display:inline-flex}.heart-slot.is-popping .heart-icon{animation:heart-pop var(--dur-short) var(--ease-out)}@keyframes heart-pop{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.heart-slot.is-popping .heart-icon{animation:1ms step-end heart-pop-still}}@keyframes heart-pop-still{0%,to{transform:none}}.set-card-tags{align-content:flex-start;gap:var(--space-2);height:calc(var(--set-card-tag-row) * 2 + var(--space-2));flex-wrap:wrap;display:flex;overflow:hidden}.set-card-facts{gap:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--color-rule);grid-template-columns:repeat(2,auto);justify-content:start;margin:0;display:grid}.set-card-facts dt{letter-spacing:.08em;color:var(--color-faint);text-transform:uppercase;font-size:10px}.set-card-facts dd{align-items:center;min-height:18px;margin:2px 0 0;font-size:14px;font-weight:700;display:flex}.set-card-foot{align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-rule);color:var(--color-muted);font-size:12px;display:flex}.set-card-author{min-width:0;font-family:var(--font-mono);color:var(--color-faint);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}a.set-card-author{z-index:1;text-decoration:none;position:relative}a.set-card-author:hover{color:var(--color-ink);text-decoration:underline}.set-card-tags .tag-pill{height:var(--set-card-tag-row)}.tag-pill.is-empty{color:var(--color-faint);border-style:dashed}.tag-pill.is-more{color:var(--color-faint)}.filter-bar{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface-0);flex-direction:column;display:flex}.filter-search{gap:var(--space-3);align-items:center;display:flex}.filter-search .practice-input{flex:1}.filter-tags{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.applied-filters{gap:var(--space-2);color:var(--color-muted);flex-wrap:wrap;align-items:center;font-size:12px;display:flex}.applied-filters button{color:var(--color-accent-strong);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.set-detail{gap:var(--space-6) var(--space-8);grid-template:"head side""problems side"1fr/minmax(0,1fr) 300px;align-items:start;display:grid}.set-detail-head{grid-area:head;min-width:0}.set-detail-problems{grid-area:problems;min-width:0}.set-detail-head .set-detail-facts{margin-bottom:0}.set-detail-tags{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.set-detail h1{margin-bottom:var(--space-3);font-size:30px;font-weight:900}.set-detail-facts{gap:var(--space-4);margin:var(--space-6) 0;padding:var(--space-4) 0;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.set-detail-facts dt{letter-spacing:.08em;text-transform:uppercase;color:var(--color-faint);font-size:10px}.set-detail-facts dd{margin:var(--space-1) 0 0;font-size:15px;font-weight:700}.problem-list{border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface-0);flex-direction:column;display:flex;overflow:hidden}.problem-list-row{gap:var(--space-4);padding:var(--space-3) var(--space-5);grid-template-columns:28px minmax(0,1fr) 96px 76px 28px;align-items:center;display:grid}.problem-list-row+.problem-list-row{border-top:1px solid var(--color-rule)}.problem-index{font-family:var(--font-mono);color:var(--color-faint);font-variant-numeric:tabular-nums;font-size:12px}.problem-title{overflow-wrap:anywhere;font-weight:500}.problem-title.is-single-line{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.problem-title.is-single-line .problem-title-link{display:inline}.problem-source{font-family:var(--font-mono);color:var(--color-muted);font-size:12px}.practice-shell a.problem-title-link{color:var(--color-ink);text-decoration:underline;-webkit-text-decoration-color:var(--color-rule-strong);text-decoration-color:var(--color-rule-strong);text-underline-offset:3px;font-weight:500}.practice-shell a.problem-title-link:hover{color:var(--color-accent-strong);-webkit-text-decoration-color:var(--color-accent-strong);text-decoration-color:var(--color-accent-strong)}.problem-title-external{color:var(--color-faint);margin-left:4px;font-size:11px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.solve-status{padding:3px var(--space-3);border:1px solid var(--color-rule-strong);border-radius:var(--radius-pill);background:var(--color-surface-0);color:var(--color-muted);font:inherit;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:6px;font-size:12px;line-height:1.5;display:inline-flex}.solve-status:hover{background:var(--color-surface-2)}.solve-status.is-readonly{cursor:default;border-style:dashed}.solve-status.is-solved{border-color:var(--solve-solved);color:var(--solve-solved);background:var(--solve-solved-soft)}.solve-status.is-solved_with_editorial{border-color:var(--solve-editorial);color:var(--solve-editorial);background:var(--solve-editorial-soft)}.solve-status-mark{font-size:10px}.solve-status.is-compact{gap:0;width:22px;height:22px;padding:0}.solve-status-text{text-align:center;min-width:3em}.problem-list-row{border-left:3px solid #0000}.problem-list-row.is-solved{border-left-color:var(--solve-solved);background:var(--solve-solved-soft)}.problem-list-row.is-solved_with_editorial{border-left-color:var(--solve-editorial);background:var(--solve-editorial-soft)}.set-detail-side{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface-1);flex-direction:column;grid-area:side;display:flex;position:sticky;top:84px}.side-actions{gap:var(--space-3);flex-direction:column;display:flex}.side-actions .practice-button{justify-content:center}.reaction-row{gap:var(--space-2);display:flex}.reaction-row .practice-button{flex:1;justify-content:center}.reaction-row.is-natural .practice-button{flex:none}.practice-button.is-active{border-color:var(--color-accent);color:var(--color-accent-strong);background:var(--color-accent-soft)}.set-detail-meta{color:var(--color-faint);border-top:1px solid var(--color-rule);padding-top:var(--space-3);font-size:12px}.create-layout{gap:var(--space-5) var(--space-8);grid-template:"main summary""search summary"1fr/minmax(0,1fr) 380px;align-items:start;display:grid}.create-main{grid-area:main;min-width:0}.create-search{grid-area:search;min-width:0}.create-block{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface-0);flex-direction:column;display:flex}.create-block+.create-block{margin-top:var(--space-5)}.create-block.is-centered{text-align:center;align-items:center;width:min(420px,100%);margin-inline:auto}.create-block.is-centered form{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.create-block.is-centered .reaction-row{justify-content:center}.create-block.is-centered .reaction-row form{width:auto}.practice-page-head.is-centered{text-align:center;justify-content:center}.signin-providers{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.signin-providers form{width:100%}.signin-consent{margin-top:var(--space-4);color:var(--color-muted);text-align:center;font-size:12px;line-height:1.7}.signin-consent a{color:var(--color-ink-2);text-underline-offset:2px;text-decoration:underline}.signin-consent a:hover{color:var(--color-ink)}.provider-button{justify-content:center;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-3) var(--space-5);border:1px solid var(--color-rule-strong);border-radius:var(--radius-control);background:var(--color-surface-0);color:var(--color-ink);font:inherit;cursor:pointer;font-size:14px;font-weight:500;display:flex}.provider-button:hover{background:var(--color-surface-1)}.provider-mark{flex:none;width:18px;height:18px}.create-block h2{font-size:15px}.ps-field-label{color:var(--color-ink-2);font-size:12px;font-weight:700}.ps-field-help{color:var(--color-faint);font-size:12px}.ps-field-help.is-before-actions{margin-bottom:var(--space-4)}.search-controls{gap:var(--space-3);display:flex}.search-controls .practice-input{flex:1}.search-controls .practice-select{width:168px}.search-results{border:1px solid var(--color-rule);border-radius:var(--radius-control);overflow:hidden}.search-row{gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface-0);grid-template-columns:minmax(0,1fr) 76px 96px;align-items:center;display:grid}.search-row.is-head{padding-top:var(--space-2);padding-bottom:var(--space-2);background:var(--color-surface-1);color:var(--color-muted);border-bottom:1px solid var(--color-rule);font-size:11px}.search-row.is-head+.search-row{border-top:none}.search-row .ps-difficulty,.search-row .solve-status{justify-self:start}.search-row+.search-row{border-top:1px solid var(--color-rule)}.search-row-title{overflow-wrap:anywhere;flex-direction:column;gap:2px;font-weight:500;display:flex}.added-list{gap:var(--space-2);flex-direction:column;display:flex}.added-row{gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-surface-0);grid-template-columns:18px minmax(0,1fr) auto 20px;align-items:center;display:grid;position:relative}.author-band-picker .practice-select{min-width:72px;max-width:96px}.author-band-chip{color:var(--difficulty-color,var(--color-ink-2));white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:inline-flex}.added-row.is-drop-before:before,.added-row.is-drop-after:after{content:"";background:var(--color-accent);border-radius:1px;height:2px;position:absolute;left:0;right:0}.added-row.is-drop-before:before{top:calc(var(--space-2) / -2 - 1px)}.added-row.is-drop-after:after{bottom:calc(var(--space-2) / -2 - 1px)}.drag-handle{border-radius:var(--radius-control);font:inherit;color:var(--color-faint);cursor:grab;background:0 0;border:1px solid #0000;padding:0}.drag-handle:active{cursor:grabbing}.drag-handle:hover,.drag-handle:focus-visible{border-color:var(--color-rule);color:var(--color-ink)}.icon-button{color:var(--color-muted);cursor:pointer;border-radius:var(--radius-control);padding:2px var(--space-2);font:inherit;background:0 0;border:1px solid #0000}.icon-button:hover:not(:disabled){border-color:var(--color-rule);color:var(--color-ink)}.icon-button.is-bare:hover:not(:disabled){color:var(--color-danger);border-color:#0000}.icon-button:disabled{opacity:.3;cursor:not-allowed}.create-summary{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface-1);flex-direction:column;grid-area:summary;display:flex;position:sticky;top:84px}.summary-row{justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--color-rule);padding-bottom:var(--space-2);font-size:13px;display:flex}.summary-row:last-of-type{border-bottom:none}.summary-row dt{color:var(--color-faint)}.summary-row dd{text-align:right;margin:0;font-weight:700}.segmented{border:1px solid var(--color-rule);border-radius:var(--radius-control);display:flex;overflow:hidden}.segmented button{padding:var(--space-2);background:var(--color-surface-0);color:var(--color-muted);cursor:pointer;font:500 12px/1.4 var(--font-body);border:none;flex:1}.segmented button+button{border-left:1px solid var(--color-rule)}.segmented button[aria-pressed=true]{background:var(--color-accent);color:var(--color-accent-ink);font-weight:700}.library-stats{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.library-stat{padding:var(--space-4) var(--space-5);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface-0)}.library-stat dt{color:var(--color-muted);font-size:12px}.library-stat dd{margin:var(--space-1) 0 0;font:900 26px/1.2 var(--font-mono);font-variant-numeric:tabular-nums}.library-tabs{gap:var(--space-1);border-bottom:1px solid var(--color-rule);display:flex}.user-list{gap:var(--space-3);color:var(--color-ink);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin:0;padding:0;list-style:none;display:grid}.user-row{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface-0);display:flex}.user-initial{background:var(--color-surface-2);width:40px;height:40px;color:var(--color-ink-2);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.user-row-body{flex:1;min-width:0}.user-row-name{text-overflow:ellipsis;white-space:nowrap;color:var(--color-ink);font-weight:700;text-decoration:none;display:block;overflow:hidden}.user-row-name:hover{text-decoration:underline}.user-row-meta{color:var(--color-muted);margin:0;font-size:12px;line-height:1.6}.user-row-name+.user-row-meta{margin-top:var(--space-1)}.user-row .practice-button{flex:none}@media (max-width:480px){.user-list{grid-template-columns:minmax(0,1fr)}}.library-tab{padding:var(--space-3) var(--space-4);color:var(--color-muted);cursor:pointer;font:500 14px/1 var(--font-body);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px}.library-tab[aria-selected=true]{color:var(--color-ink);border-bottom-color:var(--color-accent);font-weight:700}.practice-empty{padding:var(--space-12) var(--space-6);text-align:center;border:1px dashed var(--color-rule-strong);border-radius:var(--radius-card);color:var(--color-muted)}.practice-empty strong{color:var(--color-ink);margin-bottom:var(--space-2);display:block}.practice-empty .practice-button{margin-top:var(--space-4)}.practice-notice{padding:var(--space-3) var(--space-4);border:1px solid var(--color-rule);border-left:3px solid var(--color-accent);border-radius:var(--radius-control);background:var(--color-accent-soft);font-size:13px}.signin-prompt-region{--signin-prompt-top:76px;top:calc(var(--signin-prompt-top) + var(--space-2));right:var(--space-4);z-index:var(--z-toast);max-width:calc(100vw - 2 * var(--space-4));pointer-events:none;position:fixed}.signin-prompt{pointer-events:auto;gap:var(--space-1);width:max-content;max-width:100%;padding:var(--space-3) var(--space-4) var(--space-4);border:1px solid var(--color-rule-strong);border-radius:var(--radius-card);background:var(--color-surface-0);color:var(--color-ink);animation:signin-prompt-in var(--dur-short) var(--ease-out);flex-direction:column;display:flex;position:relative;box-shadow:0 2px 4px #2e272314,0 12px 32px #2e272324;box-shadow:0 2px 4px lab(16.4399% 2.40435 3.84263/.08),0 12px 32px lab(16.4399% 2.40435 3.84263/.14)}.signin-prompt-title{margin:0;padding-right:28px;font-size:14px;font-weight:700;line-height:28px}.signin-prompt-text{color:var(--color-ink-2);white-space:pre-line;margin:0;font-size:13px;line-height:1.6}.signin-prompt-close{top:var(--space-3);right:var(--space-3);border-radius:var(--radius-control);width:28px;height:28px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;place-items:center;font-size:18px;line-height:1;display:inline-grid;position:absolute}.signin-prompt-close:hover{background:var(--color-surface-2);color:var(--color-ink)}@media (max-width:740px){.signin-prompt-region{--signin-prompt-top:120px}}@keyframes signin-prompt-in{0%{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.signin-prompt{animation:none}}.practice-loading{padding:var(--space-8);text-align:center;color:var(--color-faint)}.skeleton{border-radius:var(--radius-control);background:var(--color-surface-2);animation:skeleton-pulse 1.4s var(--ease-in-out) infinite}.skeleton-bar{border-radius:var(--radius-control);flex:none;display:block}.skeleton-stack{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.set-card.is-skeleton,.problem-list-row.is-skeleton{pointer-events:none}.problem-list-row.is-skeleton{align-items:center}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}@media (max-width:1023px){.set-detail,.create-layout{grid-template-rows:none;grid-template-columns:minmax(0,1fr)}.set-detail{grid-template-areas:"head""side""problems"}.create-layout{grid-template-areas:"main""summary""search"}.set-detail-side,.create-summary{position:static}.search-row{grid-template-columns:minmax(0,1fr) 68px 88px}.added-row{grid-template-columns:16px minmax(0,1fr) auto 20px}.problem-list-row{grid-template-columns:24px minmax(0,1fr) 76px 28px}.problem-list-row .problem-source,.search-row .solve-status-text{display:none}}.section-jump{gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-rule);flex-wrap:wrap;align-items:center;display:flex}.section-jump-title{letter-spacing:.08em;color:var(--color-faint);flex-basis:100%;font-size:11px}.practice-shell .section-jump a{padding:3px var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-rule);background:var(--color-surface-0);color:var(--color-muted);font-size:12px}.practice-shell .section-jump a:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}.band-filter{align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-rule);flex-wrap:wrap;display:flex}.band-filter-dots{gap:var(--space-2);display:flex}.band-filter-dot{background:var(--difficulty-color,var(--color-rule-strong));cursor:pointer;background-clip:padding-box;border:2px solid #0000;border-radius:50%;width:24px;height:24px;padding:0}.band-filter-dot:hover{border-color:var(--color-rule-strong)}.band-filter-dot.is-selected{border-color:var(--color-ink)}.band-filter-clear{font:inherit;color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.header-menu{position:relative}.header-menu-trigger{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);color:var(--color-ink);font:700 13px/1.4 var(--font-body);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;display:inline-flex}.header-menu-trigger:hover{background:var(--color-surface-2)}.header-menu-trigger.is-open{border-color:var(--color-rule);background:var(--color-surface-2)}.header-menu-label{text-overflow:ellipsis;white-space:nowrap;max-width:14ch;overflow:hidden}.header-menu-caret{color:var(--color-faint);font-size:10px}.header-menu-popup{top:calc(100% + var(--space-2));z-index:var(--z-raised);min-width:200px;padding:var(--space-2);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface-0);flex-direction:column;display:flex;position:absolute;box-shadow:0 12px 32px #00000029}.header-menu-popup.is-end{right:0}.header-menu-popup.is-start{left:0}.header-menu-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border-radius:var(--radius-control);color:var(--color-ink);font:500 13px/1.4 var(--font-body);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;display:flex}.header-menu-item:hover{background:var(--color-surface-2)}.header-menu-item.is-current{background:var(--color-accent);color:var(--color-accent-ink);font-weight:700}.header-menu-item.is-danger{color:var(--color-danger)}.header-menu-item.is-danger:hover{background:var(--color-danger-soft)}.theme-swatch{border:1px solid var(--color-rule-strong);border-radius:50%;flex:none;width:12px;height:12px}.theme-swatch.is-light{background:#fff;background:lab(100% 0 0)}.theme-swatch.is-charcoal{background:#241e1a;background:lab(11.8122% 2.13497 4.07868)}.theme-swatch.is-soft{background:#28364a;background:lab(22.0933% -1.13095 -14.2992)}.header-menu-item.is-current .theme-swatch{border-color:var(--color-accent-ink)}.account-avatar{background:var(--color-accent);width:24px;height:24px;color:var(--color-accent-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.header-menu-placeholder{border-radius:var(--radius-control);width:108px;height:32px;display:inline-block}.band-picker{gap:var(--space-2);flex-wrap:wrap;display:flex}.band-chip{width:56px;height:56px;padding:var(--space-2);border:1px solid var(--color-rule-strong);border-radius:var(--radius-control);background:var(--color-surface-0);font:inherit;cursor:pointer;color:var(--color-muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:inline-flex}.band-chip-dot{background:var(--difficulty-color,var(--color-rule-strong));border-radius:50%;flex:none;width:14px;height:14px}.band-chip:hover{background:var(--color-surface-2)}.band-chip.is-selected{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);background:var(--color-accent-soft);color:var(--difficulty-color,var(--color-ink))}.band-chip-name{color:var(--difficulty-color,var(--color-ink));font-size:13px;font-weight:700}.band-chip-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-faint);font-size:11px}.ps-target{align-items:center;gap:4px;display:inline-flex}.ps-target.is-unset{color:var(--color-faint);font-size:12px}.ps-target-dot{background:var(--difficulty-color,var(--color-rule-strong));border-radius:50%;width:12px;height:12px}.search-toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.search-toolbar.is-foot{padding-top:var(--space-3);justify-content:flex-end}.practice-select.is-inline{width:auto;padding:2px var(--space-2);display:inline-block}.pager{align-items:center;gap:2px;margin-left:auto;display:flex}.pager-page{min-width:26px;padding:2px var(--space-2);border-radius:var(--radius-control);font:inherit;font-variant-numeric:tabular-nums;color:var(--color-muted);cursor:pointer;background:0 0;border:1px solid #0000;font-size:12px}.pager-page:hover{background:var(--color-surface-2)}.pager-page.is-current{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink);font-weight:700}.pager-gap{color:var(--color-faint);padding:0 2px}.modal-backdrop{z-index:var(--z-modal);padding:var(--space-5);background:var(--color-scrim);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{gap:var(--space-3);width:min(520px,100%);max-height:90vh;padding:var(--space-6);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface-0);flex-direction:column;display:flex;overflow-y:auto;box-shadow:0 24px 48px #0000002e}.modal-card.is-compact{gap:var(--space-4);width:min(420px,100%)}.modal-card.is-compact .modal-lead{line-height:1.8}.modal-card.is-compact .modal-actions{border-top:none;padding-top:0}.modal-title{font-size:20px;font-weight:700}.modal-lead{color:var(--color-muted);font-size:13px}.visibility-options{gap:var(--space-2);flex-direction:column;display:flex}.visibility-option{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-rule);border-radius:var(--radius-card);cursor:pointer;display:flex}.visibility-option:hover{border-color:var(--color-rule-strong)}.visibility-option.is-selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.visibility-option input{width:14px;height:14px;accent-color:var(--color-accent);flex:none;margin:3px 0 0}.visibility-option-body{flex-direction:column;gap:2px;display:flex}.visibility-option-label{font-size:15px;font-weight:700;line-height:20px}.visibility-option-help{color:var(--color-muted);font-size:13px}.modal-actions{justify-content:flex-end;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-rule);display:flex}.create-summary .added-list{max-height:46vh;padding-right:2px;overflow-y:auto}.summary-facts{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-rule);flex-direction:column;margin:0;display:flex}.library-toolbar{padding-bottom:var(--space-2);justify-content:flex-end;display:flex}.library-groups{gap:var(--space-8);flex-direction:column;display:flex}.side-legend{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-rule);flex-direction:column;display:flex}.solve-legend{gap:var(--space-4);flex-wrap:wrap;margin:0;display:flex}.solve-legend>div{align-items:center;gap:var(--space-2);display:flex}.solve-legend dt,.solve-legend dd{margin:0}.solve-legend dd{color:var(--color-muted);font-size:12px}
