.study-view,.offline-view,.data-view,.missing-view{padding-bottom:var(--spacing-xxl)}.study-view,.offline-view,.data-view{--ledger-rule:3px solid var(--card-foot);--ledger-hair:1px solid color-mix(in srgb, var(--border-color) 16%, transparent);--ledger-wipe:cubic-bezier(.65, 0, .2, 1)}.sheet-index{color:var(--primary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:end;direction:ltr;unicode-bidi:isolate;margin:.4rem 0 .1rem;font-size:.82rem;font-weight:700;display:block}.sheet-index b{color:var(--text-primary)}.study-lead{margin-block-end:clamp(2rem,5vw,3.2rem)}.study-lead-card{--lead-water:#0b2e4f;--lead-edge:#051826;--lead-brass:#ffc42e;--lead-ink:#f2f8fc;--lead-quiet:#b6cfe2;background:var(--lead-water);border-radius:var(--radius-md);max-width:62rem;color:var(--lead-ink);grid-template-columns:minmax(0,1fr);grid-template-areas:"label""title""where""why""go""depth";row-gap:.4rem;padding:clamp(1.2rem,3.4vw,2rem) clamp(1.2rem,3.6vw,2.2rem);display:grid;position:relative;overflow:hidden}.study-lead-label{grid-area:label}.study-lead-title{grid-area:title}.study-lead-where{grid-area:where}.study-lead-why{grid-area:why}.study-lead-depth{grid-area:depth}.study-lead-go{grid-area:go}.study-lead-label{color:var(--lead-brass);font-family:var(--font-display);margin:0;font-size:.85rem;font-weight:800}.study-lead-title{font-family:var(--font-display);text-wrap:balance;margin:0;font-size:clamp(1.5rem,4.6vw,2.4rem);font-weight:900;line-height:1.2}.study-lead-where{color:var(--lead-quiet);margin:0;font-size:.9rem;font-weight:700}.study-lead-why{max-width:52ch;color:var(--lead-ink);margin:.15rem 0 0;font-size:.95rem;line-height:1.8}.study-lead-depth{align-items:center;gap:.8rem;margin:.9rem 0 0;display:flex}.study-lead-line{border-radius:var(--radius-full);background:#f4f9fc29;flex:1;height:6px;position:relative;overflow:hidden}.study-lead-line i{width:var(--study-run,0%);background:var(--lead-brass);position:absolute;inset-block:0;inset-inline-start:0}.study-lead-figure{color:var(--lead-ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;direction:ltr;font-size:.9rem;font-weight:700}.study-lead-go{--press-edge:var(--lead-edge);--press-shadow:#020a12bf;justify-self:start;margin-block-start:.7rem;padding:.85rem 1.6rem;font-size:1.05rem}.study-group+.study-group{margin-block-start:clamp(2rem,5vw,3rem)}.study-group-title{color:var(--text-primary);font-family:var(--font-display);margin:0 0 .2rem;font-size:clamp(1.15rem,3vw,1.45rem);font-weight:900}.study-group-note{margin:0 0 var(--spacing-md);max-width:54ch;color:var(--text-muted);font-size:.88rem;line-height:1.8}.study-grid{border-block-end:var(--ledger-rule);max-width:62rem;display:grid}.study-card{color:var(--text-primary);border-block-start:var(--ledger-rule);isolation:isolate;transition:color .35s var(--ledger-wipe);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(.8rem,2.4vw,1.6rem);padding:clamp(.9rem,2.2vw,1.2rem) clamp(.4rem,1.4vw,1rem);text-decoration:none;display:grid;position:relative}.study-card+.study-card{border-block-start:var(--ledger-hair)}.study-card:before{content:"";z-index:-1;background:var(--card-foot);transform-origin:100%;transition:transform .45s var(--ledger-wipe);position:absolute;inset:0;transform:scaleX(0)}@media (hover:hover) and (pointer:fine){.study-card:hover{color:var(--card-foot-ink)}.study-card:hover:before{transform:scaleX(1)}}.study-card:focus-visible{outline:4px solid var(--primary);outline-offset:2px}.study-card-body{gap:.15rem;display:grid}.study-card-where{color:var(--text-muted);transition:color .35s var(--ledger-wipe);font-size:.78rem;font-weight:700}.study-card-name{font-family:var(--font-display);font-size:clamp(1.02rem,2.4vw,1.2rem);font-weight:800;line-height:1.4}.study-card-why{color:var(--text-secondary);transition:color .35s var(--ledger-wipe);font-size:.84rem;line-height:1.7}.study-card-why:empty{display:none}@media (hover:hover) and (pointer:fine){.study-card:hover .study-card-where,.study-card:hover .study-card-why{color:color-mix(in srgb, var(--card-foot-ink) 78%, transparent)}}.study-card-foot{color:var(--primary);white-space:nowrap;transition:color .35s var(--ledger-wipe);align-items:center;gap:.7rem;font-size:.92rem;font-weight:800;display:flex}.study-card-foot b{order:3}@media (hover:hover) and (pointer:fine){.study-card:hover .study-card-foot{color:var(--accent-yellow-fill)}}.study-card-readout{color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;transition:color .35s var(--ledger-wipe);direction:ltr;order:2;font-size:.78rem}@media (hover:hover) and (pointer:fine){.study-card:hover .study-card-readout{color:var(--card-foot-ink)}}.study-card-rail{background:color-mix(in srgb, var(--primary) 20%, transparent);border-radius:var(--radius-full);flex:0 0 4.5rem;order:1;height:4px;position:relative;overflow:hidden}.study-card-rail:before{content:"";width:var(--study-run,0%);background:var(--primary);position:absolute;inset-block:0;inset-inline-start:0}@media (hover:hover) and (pointer:fine){.study-card:hover .study-card-rail{background:#f4f9fc33}.study-card:hover .study-card-rail:before{background:var(--accent-yellow-fill)}}.offline-state,.offline-list,.offline-wipe,.offline-foot,.data-block,.data-view .offline-foot{max-width:62rem}.offline-state{margin:0 0 var(--spacing-lg);color:var(--text-secondary);font-size:.9rem;line-height:1.85}.offline-state:empty{display:none}.offline-list{border-block-end:var(--ledger-rule);display:grid}.offline-subject{border-block-start:var(--ledger-rule);transition:background-color .35s var(--ledger-wipe);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem 1.2rem;padding:clamp(1rem,2.4vw,1.35rem) clamp(.4rem,1.4vw,1rem);display:grid;position:relative}.offline-subject.is-working{background:color-mix(in srgb, var(--primary) 6%, transparent)}.offline-subject-head{align-items:center;gap:.8rem;display:flex}.offline-subject-say{gap:.12rem;display:grid}.offline-subject-say strong{font-family:var(--font-display);color:var(--text-primary);font-size:clamp(1.05rem,2.4vw,1.2rem);font-weight:800}.offline-subject-note{color:var(--text-muted);font-size:.82rem}.offline-subject-tools{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.offline-bar,.offline-lessons{grid-column:1/-1}.offline-bar[hidden]{display:none}.offline-bar{align-items:center;gap:.6rem;margin:0;display:flex;position:relative}.offline-bar i{background:color-mix(in srgb, var(--primary) 20%, transparent);border-radius:var(--radius-full);flex:1;height:6px;position:relative;overflow:hidden}.offline-bar i:before{content:"";transform:scaleX(var(--offline-run,0));transform-origin:100%;background:var(--primary);transition:transform var(--transition-normal);position:absolute;inset:0}.offline-bar span{color:var(--text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;direction:ltr;font-size:.76rem}.offline-lessons{grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));column-gap:2rem;margin:0;padding:0;list-style:none;display:grid}.offline-lesson{border-block-start:var(--ledger-hair);align-items:center;gap:.55rem;padding:.4rem 0;font-size:.86rem;display:flex}.offline-lesson-mark{min-width:1.15rem;color:color-mix(in srgb, var(--text-muted) 85%, var(--text-primary));place-items:center;font-weight:800;display:inline-grid}.offline-lesson.is-held .offline-lesson-mark{color:color-mix(in srgb, var(--accent-green) 78%, #04121f)}[data-theme=dark] .offline-lesson.is-held .offline-lesson-mark{color:var(--accent-green)}.offline-lesson-name{color:var(--text-secondary);flex:1}.offline-lesson-size{color:var(--text-muted);font-family:var(--font-mono);unicode-bidi:isolate;font-size:.74rem}.offline-wipe{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-block:1.5rem 0;display:flex}.offline-install[hidden],.offline-wipe[hidden]{display:none}.offline-wipe-note{color:var(--text-muted);font-size:.85rem}.offline-view .index-empty{max-width:62rem;margin-block-start:var(--spacing-lg)}.offline-foot{margin:var(--spacing-xl) 0 0;color:var(--text-muted);font-size:.85rem;line-height:1.9}.offline-foot a{color:var(--primary);transition:background-size .4s var(--ledger-wipe);background:linear-gradient(currentColor,currentColor) 100% 100%/100% 2px no-repeat;font-weight:700;text-decoration:none}@media (hover:hover) and (pointer:fine){.offline-foot a:hover{background-size:0% 2px}}.data-block{border-block-start:var(--ledger-rule);margin-block-end:clamp(2rem,5vw,3rem);padding:clamp(1rem,2.4vw,1.3rem) 0 0}.data-block[hidden]{display:none}.data-block-title{color:var(--text-primary);font-family:var(--font-display);margin:0 0 .35rem;font-size:clamp(1.15rem,3vw,1.45rem);font-weight:900}.data-block-note{max-width:62ch;color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.95}.data-block-note a{color:var(--primary);font-weight:700}.data-rows{margin:var(--spacing-md) 0 0;padding:0;list-style:none}.data-row{border-block-start:var(--ledger-hair);grid-template-columns:minmax(0,auto) minmax(1.5rem,1fr) auto;align-items:end;gap:.7rem;padding:.7rem 0;display:grid}.data-row:after{content:"";border-block-end:2px dotted color-mix(in srgb, var(--border-color) 30%, transparent);grid-area:1/2;align-self:end;margin-block-end:.55rem}.data-row-body{grid-column:1;gap:.15rem;display:grid}.data-row-body strong{color:var(--text-primary);font-size:.98rem;font-weight:800}.data-row-body small{color:var(--text-muted);font-size:.8rem;line-height:1.7}.data-row-figure{color:var(--primary-on-light);background:var(--primary-light);border-radius:var(--radius-full);font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;unicode-bidi:isolate;grid-area:1/3;padding:.2rem .65rem;font-size:.76rem;font-weight:700}.data-actions{margin:var(--spacing-md) 0;flex-wrap:wrap;gap:.7rem;display:flex}.data-said{margin:0 0 var(--spacing-md);color:var(--text-secondary);font-size:.88rem}.data-said[data-tone=bad]{color:var(--accent-red)}.data-go[hidden]{display:none}.data-faults{margin:var(--spacing-md) 0 0;gap:0;padding:0;list-style:none;display:grid}.data-fault{border-block-start:var(--ledger-hair);padding-block:.65rem}.data-fault.is-clear{color:var(--text-secondary);border:0;padding-block:0;font-size:.88rem}.data-fault-head{justify-content:space-between;align-items:baseline;gap:var(--spacing-sm);margin:0;display:flex}.data-fault-head strong{color:var(--text-primary);font-size:.92rem;font-weight:800}.data-fault-count{color:var(--text-muted);white-space:nowrap;flex:none;font-size:.74rem}.data-fault-note{color:var(--text-secondary);margin:.2rem 0 0;font-size:.84rem;line-height:1.8}.data-fault-where{color:var(--text-muted);font-family:var(--font-mono);unicode-bidi:isolate;margin:.3rem 0 0;font-size:.72rem}.study-lead-go,.offline-go,.data-go,.offline-drop,.data-wipe{--press-edge:var(--border-color);--press-shadow:color-mix(in srgb, var(--shadow-color) 55%, transparent);border-radius:var(--radius-sm);min-height:2.75rem;font-family:var(--font-display);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .22s cubic-bezier(.3, 1.4, .5, 1), box-shadow .22s cubic-bezier(.3, 1.4, .5, 1), background-size .4s var(--ledger-wipe,ease), color .3s, border-color .3s, background-color .3s;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1.2rem;font-size:.92rem;font-weight:800;line-height:1.3;text-decoration:none;display:inline-flex;position:relative}.study-lead-go,.data-go{--press-ink:#14100b;color:var(--press-ink);background:linear-gradient(var(--press-ink), var(--press-ink)) 100% 0 / 0% 100% no-repeat, var(--accent-yellow-fill);border:0}.study-lead-go{--press-ink:var(--lead-edge);background-color:var(--lead-brass)}@media (hover:hover) and (pointer:fine){.study-lead-go:hover,.data-go:hover{color:var(--accent-yellow-fill);background-size:100% 100%,auto}.study-lead-go:hover{color:var(--lead-brass)}.study-lead-go:active,.data-go:active{transition-duration:80ms;transform:scale(.97)}}.offline-go{min-height:0;color:var(--primary);background:linear-gradient(currentColor,currentColor) 100% 100%/100% 2px no-repeat;border:0;padding:.3rem 0}.offline-go:after{content:"";inset-inline:0;background:var(--accent-yellow-fill);transform-origin:100%;height:2px;transition:transform .4s var(--ledger-wipe,ease);position:absolute;bottom:0;transform:scaleX(0)}@media (hover:hover) and (pointer:fine){.offline-go:hover:not(:disabled):after{transform:scaleX(1)}.offline-go:active:not(:disabled){transition-duration:80ms;transform:translateY(1px)}}.offline-go:disabled{cursor:default;color:var(--text-muted);background:0 0}.offline-drop,.data-wipe{color:var(--accent-red);background:linear-gradient(var(--accent-red), var(--accent-red)) 100% 0 / 0% 100% no-repeat;border:2px solid color-mix(in srgb, var(--accent-red) 45%, transparent)}@media (hover:hover) and (pointer:fine){.offline-drop:hover,.data-wipe:hover{color:var(--text-inverse);border-color:var(--accent-red);background-size:100% 100%}.offline-drop:active,.data-wipe:active{transition-duration:80ms;transform:scale(.97)}}.data-wipe.is-armed{color:var(--text-inverse);border-color:var(--accent-red);background-size:100% 100%}.data-wipe-quiet{color:var(--text-muted);border-color:color-mix(in srgb, var(--text-muted) 40%, transparent);justify-self:start;margin-block-start:.6rem}.study-lead-go:focus-visible,.offline-go:focus-visible,.offline-drop:focus-visible,.data-go:focus-visible,.data-wipe:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.study-lead-go:focus-visible{outline-color:var(--lead-brass);outline-offset:4px}.study-view .sheet-back,.offline-view .sheet-back,.data-view .sheet-back{color:var(--primary);background:linear-gradient(var(--card-foot), var(--card-foot)) 100% 0 / 0% 100% no-repeat;border-radius:var(--radius-full);transition:background-size .4s var(--ledger-wipe), color .3s, border-color .3s;border:2px solid;align-items:center;padding:.35rem .85rem;font-size:.85rem;font-weight:800;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.study-view .sheet-back:hover,.offline-view .sheet-back:hover,.data-view .sheet-back:hover{color:var(--card-foot-ink);border-color:var(--card-foot);background-size:100% 100%}}@media (width<=600px){.missing-ways{grid-template-columns:1fr}.study-lead-card{grid-template-columns:1fr;grid-template-areas:"label""title""where""why""depth""go"}.study-lead-go{justify-self:stretch;margin-block-start:.4rem}.study-card{grid-template-columns:minmax(0,1fr)}.study-card-foot b{margin-inline-start:auto}.offline-subject{grid-template-columns:1fr}.offline-subject-tools,.data-actions{flex-direction:column;align-items:stretch}.data-row{grid-template-columns:minmax(0,1fr) auto}.data-row:after{display:none}.data-row-figure{grid-column:2;align-self:start}}@media (hover:hover) and (pointer:fine){:where(html[data-lite]) .missing-way:hover,:where(html[data-lite]) .study-lead-go:hover,:where(html[data-lite]) .study-lead-go:active,:where(html[data-lite]) .offline-go:hover:not(:disabled),:where(html[data-lite]) .offline-go:active:not(:disabled),:where(html[data-lite]) .data-go:hover,:where(html[data-lite]) .data-go:active,:where(html[data-lite]) .offline-drop:active,:where(html[data-lite]) .data-wipe:active{transform:none}}:where(html[data-lite]) .study-card:before,:where(html[data-lite]) .offline-go:after,:where(html[data-lite]) .offline-bar i:before{transition:none}.missing-asked{margin:0 0 var(--spacing-lg);color:var(--text-muted);background:var(--bg-tertiary);border:2px dashed color-mix(in srgb, var(--primary) 35%, transparent);border-radius:var(--radius-sm);font-family:var(--font-mono);overflow-wrap:anywhere;unicode-bidi:isolate;padding:.5rem .8rem;font-size:.8rem}.missing-ways{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.missing-way{text-align:start;color:var(--text-primary);background:var(--bg-secondary);border:3px solid var(--card-foot);border-radius:var(--radius-md);box-shadow:none;cursor:pointer;transition:transform var(--transition-normal), box-shadow var(--transition-normal);gap:.25rem;padding:clamp(.9rem,2.4vw,1.15rem);display:grid}@media (hover:hover) and (pointer:fine){.missing-way:hover{box-shadow:7px 7px 0 color-mix(in srgb, var(--shadow-color) 24%, transparent);transform:translate(-2px,-2px)}}.missing-way:focus-visible{outline:4px solid var(--primary);outline-offset:4px}.missing-way strong{font-family:var(--font-display);font-size:1.02rem;font-weight:800}.missing-way span{color:var(--text-muted);font-size:.84rem;line-height:1.7}.lost-body{background:var(--bg-primary);min-height:100dvh;color:var(--text-primary);font-family:var(--font-body);place-items:center;margin:0;display:grid}.lost{padding-block:var(--spacing-xxl);text-align:center;justify-items:center;gap:.6rem;display:grid}.lost-note{max-width:46ch;color:var(--text-secondary);margin:.6rem 0 0;font-size:.98rem;line-height:2}.lost-ways{justify-content:center;gap:var(--spacing-md);flex-wrap:wrap;margin-block-start:var(--spacing-lg);display:flex}.lost-go{color:var(--brass-on);background:var(--accent-yellow-fill);border:3px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:5px 5px 0 color-mix(in srgb, var(--shadow-color) 45%, transparent);font-family:var(--font-display);padding:.7rem 1.5rem;font-weight:800;text-decoration:none}.lost-quiet{color:var(--primary);border:2px solid color-mix(in srgb, var(--primary) 45%, transparent);border-radius:var(--radius-sm);font-family:var(--font-display);padding:.7rem 1.5rem;font-weight:800;text-decoration:none}.lost-go:focus-visible,.lost-quiet:focus-visible{outline:3px solid var(--primary);outline-offset:4px}.lost-compass{width:clamp(6.5rem,22vw,8.5rem);height:auto;color:var(--primary);margin-block-end:var(--spacing-sm);display:block}.missing-view .lost-compass{width:clamp(5rem,16vw,6.5rem);margin-block:var(--spacing-sm)}.lost-compass-ring{fill:var(--bg-secondary);stroke:currentColor;stroke-width:4px}.lost-compass-ring-in{fill:none;stroke-width:1.5px;stroke-opacity:.45}.lost-compass-ticks{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round}.lost-compass-minor{stroke-width:2px;stroke-opacity:.5}.lost-compass-n{fill:currentColor;font-family:var(--font-mono);font-size:13px;font-weight:600}.lost-needle{animation:7.5s ease-in-out infinite lost-needle-wander;rotate:128deg}.lost-needle-north{fill:var(--accent-yellow-fill);stroke:var(--border-color);stroke-width:2px;stroke-linejoin:round}.lost-needle-south{fill:currentColor}.lost-needle-hub{fill:var(--bg-secondary);stroke:currentColor;stroke-width:2.5px}@keyframes lost-needle-wander{0%{rotate:128deg}14%{rotate:52deg}22%{rotate:70deg}38%{rotate:196deg}47%{rotate:176deg}63%{rotate:300deg}71%{rotate:284deg}86%{rotate:112deg}to{rotate:128deg}}:where(html[data-lite]) .lost-needle{animation:none}
