.practice-tabs .q-tabs{margin:8px 0 28px}.practice-saved>p.muted{max-width:none;font-size:14px}.practice-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-block:20px 12px;display:flex}.practice-count{color:var(--muted);margin:0;font-size:14px}.practice-count strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:800}.practice-copy-all{min-height:40px;box-shadow:none;align-items:center;gap:8px;padding:0 16px;font-size:13.5px;display:inline-flex}.practice-copy-all:hover:not(:disabled){box-shadow:none;transform:none}.practice-remove{white-space:nowrap;min-height:40px;color:var(--dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:600;transition:color .15s,background-color .15s;display:inline-flex}.practice-remove:hover{color:var(--ink);background:var(--surface-raised)}.practice-saved :is(button,a,summary,input,select):focus-visible,.practice-progress :is(button,a,summary):focus-visible{outline:2px solid var(--focus,var(--cyan));outline-offset:2px}.plist-tools{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.plist-search{flex:260px;min-width:0;position:relative}.plist-search svg{color:var(--dim);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.plist-search input,.plist-tools select{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;border-radius:10px;padding:0 12px;font-size:14px}.plist-search input{width:100%;padding-left:38px}.plist-tools select{max-width:100%}.plist-bar{border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.plist-all{color:var(--muted);cursor:pointer;align-items:center;gap:10px;font-size:13px;display:inline-flex}.plist-all input,.prow-lead input{width:18px;height:18px;accent-color:var(--navy,#0d1257);margin:0}.plist-none,.plist-clear{margin:20px 0 0}.plist-confirm{border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--ink);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:12px 14px;font-size:14px;display:flex}.plist-confirm span{flex:260px}.plist-confirm .button{min-height:40px;box-shadow:none;padding:0 16px;font-size:13.5px}.plist-more{margin-top:16px}.prow-list{margin:0;padding:0;list-style:none}.prow{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding-block:12px;display:flex}.prow-lead{flex:none;place-items:center;width:24px;min-height:28px;display:grid}.prow-body{flex:1;min-width:0}.prow-text{-webkit-line-clamp:2;line-clamp:2;max-width:68ch;color:var(--ink);overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:clamp(16px,1.6vw,18px);font-weight:600;line-height:1.5;text-decoration:none;display:-webkit-box;overflow:hidden}a.prow-text:hover{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.prow-meta{color:var(--dim);overflow-wrap:anywhere;margin-top:2px;font-size:13px;display:block}.prow-more{margin-top:4px;font-size:13px}.prow-more summary{color:var(--muted);cursor:pointer;padding:6px 0;display:inline-block}.prow-more p{max-width:68ch;color:var(--muted);white-space:pre-wrap;margin:4px 0 8px;line-height:1.65}.prow-more .detail-link{color:var(--muted);align-items:center;gap:6px;margin:0;text-decoration:none;display:inline-flex}.prow-more .detail-link:hover{color:var(--ink);text-underline-offset:4px;text-decoration:underline}.prow.is-gone .prow-text{color:var(--dim);font-style:italic;font-weight:500}.prow-action{flex:none}@media (pointer:coarse){.prow-lead{width:44px;min-height:44px;margin:-8px 0 0 -10px}}@media (max-width:640px){.practice-toolbar{align-items:stretch}.prow{gap:8px}.prow-action .practice-remove{justify-content:center;min-width:44px;min-height:44px}.prow-action .practice-remove span{display:none}}.undo-toast{bottom:max(20px, env(safe-area-inset-bottom));z-index:40;background:var(--navy,#0d1257);color:#fff;border-radius:12px;align-items:center;gap:16px;max-width:calc(100vw - 32px);padding:8px 8px 8px 18px;font-size:14px;animation:.2s cubic-bezier(.16,1,.3,1) undo-in;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #05071840}.undo-toast button{color:#fff;min-height:40px;font:inherit;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:8px;padding:0 14px;font-weight:700}.undo-toast button:hover{background:#ffffff1f}.undo-toast button:focus-visible{outline-offset:2px;outline:2px solid #fff}@keyframes undo-in{0%{opacity:0;transform:translate(-50%,8px)}}@media (prefers-reduced-motion:reduce){.undo-toast{animation:none}}.practice-progress h2{margin-bottom:8px;font-size:clamp(20px,2.2vw,24px)}.progress-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.progress-head p{max-width:none;margin:0}.progress-clear-btn{border:1px solid var(--line);min-height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:10px;flex:none;align-items:center;gap:6px;padding:0 12px;font-size:13.5px;font-weight:700;display:inline-flex}.progress-clear-btn:hover{color:var(--ink);border-color:var(--line-strong)}@media (max-width:560px){.progress-head{flex-direction:column}}.ptopic-list{border-top:1px solid var(--line);max-width:760px;margin:20px 0 0;padding:0;list-style:none}.ptopic{border-bottom:1px solid var(--line)}.ptopic-row{width:100%;min-height:52px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) 6.5rem 6rem 5.5rem;align-items:center;gap:12px;padding:0 4px;display:grid}.ptopic-row:hover{background:var(--surface-raised)}.ptopic-name{font-size:15px;font-weight:600}.ptopic-level{color:var(--dim);font-size:12.5px}.ptopic-bar{background:var(--line);border-radius:999px;height:6px;overflow:hidden}.ptopic-bar span{border-radius:inherit;background:var(--cyan);height:100%;display:block}.ptopic-solid .ptopic-bar span{background:var(--navy,#0d1257)}.ptopic-count{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:6px;font-size:13px;display:inline-flex}.ptopic-count svg{transition:transform .16s}.ptopic-row[aria-expanded=true] .ptopic-count svg{transform:rotate(180deg)}.progress-topic{margin:0 0 16px;padding:0 4px 4px}.progress-topic .prow-list{overscroll-behavior:contain;max-height:min(420px,60vh);overflow-y:auto}.progress-topic .prow:last-child{border-bottom:0}@media (max-width:560px){.ptopic-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name count""bar bar";gap:6px 12px;padding-block:10px}.ptopic-name{grid-area:name}.ptopic-count{grid-area:count}.ptopic-bar{grid-area:bar}.ptopic-level{display:none}}@media (prefers-reduced-motion:reduce){.ptopic-count svg{transition:none}}.progress-fold{max-width:760px;margin-top:20px}.progress-fold summary{cursor:pointer;min-height:44px;color:var(--muted);align-items:center;font-size:13px;font-weight:700;display:flex}.progress-fold[open] summary{margin-bottom:8px}.ptopic-new{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ptopic-new a{border:1px solid var(--line);min-height:44px;color:var(--muted);border-radius:999px;align-items:center;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.ptopic-new a:hover{color:var(--ink);border-color:var(--line-strong)}
