.loading{width:100%;min-width:0;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;animation:.22s ease-out .14s both loading-reveal;display:flex}.loading--page{height:100%;min-height:calc(var(--app-height,100dvh) - 124px - var(--frame-top,0px) - var(--frame-bottom,0px))}.loading--section{min-height:220px;padding:24px 12px}.loading__art{background:radial-gradient(circle,var(--accent-soft),transparent 72%);border-radius:50%;flex:none;place-items:center;width:116px;height:116px;display:grid;position:relative}.loading__emblem{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 55%,white),var(--accent) 62%);width:48px;height:52px;animation:3.2s ease-in-out infinite loading-breathe;display:block;-webkit-mask:url(../art/interface/fikr-emblem-mask-256.png) 50%/58px 58px no-repeat;mask:url(../art/interface/fikr-emblem-mask-256.png) 50%/58px 58px no-repeat}.loading__orbit{border:1px solid color-mix(in srgb,var(--accent) 12%,transparent);border-radius:50%;position:absolute;inset:7px}.loading__orbit:before{content:"";border:1.5px solid #0000;border-top-color:var(--accent);border-left-color:color-mix(in srgb,var(--accent) 28%,transparent);border-radius:50%;animation:3.2s linear infinite loading-orbit;position:absolute;inset:-1px}.loading__orbit:after{content:"";border:1px solid #0000;border-bottom-color:color-mix(in srgb,var(--accent) 35%,transparent);border-radius:50%;animation:5.6s linear infinite reverse loading-orbit;position:absolute;inset:9px}.loading__copy{justify-items:center;gap:13px;display:grid}.loading__rhythm{gap:6px;height:5px;display:flex}.loading__rhythm i{background:var(--accent);opacity:.25;border-radius:50%;width:4px;height:4px;animation:1.8s ease-in-out infinite loading-dot}.loading__rhythm i:nth-child(2){animation-delay:.15s}.loading__rhythm i:nth-child(3){animation-delay:.3s}.loading__label{font:500 14px/1.5 var(--font-ui);letter-spacing:.015em;text-wrap:balance;max-width:34ch}.loading--inline{vertical-align:middle;text-align:left;flex-direction:row;gap:9px;width:auto;min-height:20px;padding:0;display:inline-flex}.loading--inline .loading__art{background:0 0;width:18px;height:18px}.loading--inline .loading__emblem{display:none}.loading--inline .loading__orbit{inset:1px}.loading--inline .loading__orbit:before{border-width:1.5px}.loading--inline .loading__orbit:after{display:none}.loading--inline .loading__label{font-size:inherit;letter-spacing:0}.engine-console__loading>.loading{font-size:11px}.practice-start .loading{color:inherit;font-size:12px}@keyframes loading-orbit{to{transform:rotate(360deg)}}@keyframes loading-breathe{0%,to{opacity:.72;transform:scale(.97)}50%{opacity:1;transform:scale(1)}}@keyframes loading-reveal{0%{opacity:0}to{opacity:1}}@keyframes loading-dot{0%,70%,to{opacity:.25}35%{opacity:.8}}html[data-motion=reduced] .loading,html[data-motion=reduced] .loading *,html[data-motion=reduced] .loading :before{animation:none!important}@media (prefers-reduced-motion:reduce){.loading,.loading *,.loading :before{animation:none!important}}.task-screen[data-view=loading]{justify-content:center;align-items:center;display:flex!important}.task-screen[data-view=loading] .loading--page{flex:1}#root .app__main>.screen:not(.practice-solve){animation:.26s ease-out screen-reveal}#root .app__main[data-load-phase=loading]>.screen,#root .app__main>.screen[aria-busy=true]{animation:none}#root .app__main>.screen:has(.loading--page){animation:none}@keyframes screen-reveal{0%{opacity:0}to{opacity:1}}.app__main[data-load-phase]{position:relative}.app__main[data-load-phase=loading]>:not(.page-stage__veil){visibility:hidden}.loading--placeholder{animation:none}.page-stage__veil{z-index:30;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.page-stage__veil .loading--page{box-sizing:border-box;height:100%;min-height:0;padding:20px}.page-stage__veil[data-exiting=true]{animation:.18s ease-out both loading-exit}.page-stage__veil[data-exiting=true] .loading--shared{animation:none}@keyframes loading-exit{to{opacity:0}}html[data-motion=reduced] #root .app__main>.screen{animation:none!important}@media (prefers-reduced-motion:reduce){#root .app__main>.screen{animation:none!important}}.sheet-dialog.sheet-dialog--practice-library[open]{height:var(--app-height,100dvh)}.sheet-dialog.sheet-dialog--practice-library .sheet{padding:max(16px,var(--frame-top,0px)) 12px calc(12px + var(--frame-bottom,0px));justify-content:center;align-items:flex-end;position:absolute;inset:0;overflow:hidden}.sheet-dialog.sheet-dialog--practice-library .sheet__panel{width:min(460px,100%);height:auto;max-height:calc(var(--app-height,100dvh) - max(16px,var(--frame-top,0px)) - 12px - var(--frame-bottom,0px));border:1px solid var(--line);background:var(--surface);border-radius:26px;margin:0;animation:.28s cubic-bezier(.22,.8,.2,1) both practice-library-in;box-shadow:0 20px 70px #0004}.sheet-dialog.sheet-dialog--practice-library .sheet__head{border:0;min-height:68px;padding:16px 20px 12px}.sheet-dialog.sheet-dialog--practice-library .sheet__title{letter-spacing:-.035em;font:500 23px/1.3 Literata Variable,Georgia,serif}.sheet-dialog.sheet-dialog--practice-library .sheet__head .iconbtn{border:1px solid var(--line);background:0 0;border-radius:50%;flex:none;width:40px;height:40px;min-height:40px}.sheet-dialog.sheet-dialog--practice-library .sheet__body{scrollbar-width:thin;padding:4px 16px 16px;overflow:auto}.sheet-dialog--practice-library .practice-library{gap:10px;display:grid}.sheet-dialog--practice-library .practice-library__list{border:1px solid var(--line);border-radius:17px;overflow:hidden}.sheet-dialog--practice-library .practice-library button{width:100%;min-height:68px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;grid-template-columns:36px minmax(0,1fr) 16px;align-items:center;gap:12px;margin:0;padding:12px;transition:background .16s;display:grid}.sheet-dialog--practice-library .practice-library button+button{border-top:1px solid var(--line)}.sheet-dialog--practice-library .practice-library button.practice-library__pick{border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));background:var(--accent-soft);border-radius:17px;min-height:76px}.sheet-dialog--practice-library .practice-library button:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.sheet-dialog--practice-library .practice-library button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.sheet-dialog--practice-library .practice-library .practice-library__icon{width:36px;height:36px;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:10px;place-items:center;display:grid}.sheet-dialog--practice-library .practice-library .practice-library__copy{gap:4px;min-width:0;display:grid}.sheet-dialog--practice-library .practice-library b{font:550 14px/1.4 var(--font-ui);overflow-wrap:anywhere}.sheet-dialog--practice-library .practice-library small{font:400 11px/1.5 var(--font-ui);color:var(--muted);overflow-wrap:anywhere}.sheet-dialog--practice-library .practice-library button>svg:last-child{color:var(--muted);margin:0}.sheet-dialog.sheet-dialog--practice-library.sheet-dialog--closing .sheet__panel{animation:.16s ease-in both practice-library-out}@keyframes practice-library-in{0%{opacity:0;transform:translateY(calc(100% + 24px))}to{opacity:1;transform:none}}@keyframes practice-library-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(calc(100% + 24px))}}html[data-motion=reduced] .sheet-dialog--practice-library .sheet__panel{animation:none!important}@media (prefers-reduced-motion:reduce){.sheet-dialog--practice-library .sheet__panel{animation:none!important}}@media (width<=340px){.sheet-dialog.sheet-dialog--practice-library .sheet__head{padding:12px 16px 10px}.sheet-dialog.sheet-dialog--practice-library .sheet__body{padding:4px 12px 12px}.sheet-dialog--practice-library .practice-library button{gap:9px;padding:10px}}.commentary-popover,.commentary-launch,.commentary-reader{color:var(--text);font-family:var(--font-ui);box-sizing:border-box}.commentary-popover{z-index:70;border:1px solid color-mix(in srgb, var(--gold,#d7bb80) 32%, var(--line));background:linear-gradient(140deg, color-mix(in srgb, var(--surface) 92%, var(--gold,#d7bb80)), var(--surface) 55%);border-radius:22px;flex-direction:column;width:min(440px,100vw - 32px);animation:.18s ease-out commentary-arrive;display:flex;position:fixed;top:116px;right:24px;overflow:hidden;box-shadow:0 24px 70px #0005,0 2px 8px #0002}.commentary-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;padding:16px 16px 12px;display:flex}.commentary-seal{background:color-mix(in srgb,var(--gold,#d7bb80) 13%,transparent);width:38px;height:42px;color:var(--gold,#d7bb80);border-radius:12px;flex:none;place-items:center;display:grid}.commentary-heading{flex:1;min-width:0}.commentary-heading h2{font:650 17px/1.3 var(--font-ui);overflow-wrap:anywhere;margin:3px 0 0}.commentary-eyebrow{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:10px;display:block}.commentary-icon{width:38px;height:40px;color:var(--muted);cursor:pointer;font:600 15px var(--font-ui);background:0 0;border:1px solid #0000;border-radius:11px;flex:none;place-items:center;display:inline-grid}.commentary-icon:hover,.commentary-icon[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.commentary-icon:disabled{opacity:.3;cursor:default}.commentary-prose{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;white-space:pre-wrap;font:400 19px/1.8 Literata Variable,Georgia,serif}.commentary-prose p{margin:0 0 1.15em}.commentary-prose p:last-child{margin-bottom:0}.reading-note__status{font:400 12px/1.6 var(--font-ui);color:var(--muted)}.reading-note__status button{min-height:44px;margin-top:6px;display:block}.reading-note__original{border-top:1px solid var(--line);color:var(--muted);margin-top:24px}.reading-note__original summary{cursor:pointer;min-height:44px;font:500 12px/1.4 var(--font-ui);align-items:center;display:flex}.reading-note__original summary:after{content:"+";margin-left:auto;font-size:18px}.reading-note__original[open] summary:after{content:"−"}.commentary-prose--preview{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;min-height:0;max-height:min(32dvh,270px);padding:18px 22px;font-size:16px;overflow-y:auto}.commentary-footer{border-top:1px solid var(--line);flex-wrap:wrap;flex:none;align-items:center;gap:6px 10px;padding:8px 14px;display:flex}.commentary-auto{color:var(--muted);cursor:pointer;align-items:center;gap:6px;min-height:40px;font-size:11px;display:flex}.commentary-auto input{accent-color:var(--accent);width:15px;height:15px}.commentary-read{color:var(--accent);font:600 12px var(--font-ui);cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;min-height:40px;margin-left:auto;padding:8px 0;display:flex}.commentary-navigation{gap:2px;display:flex}.commentary-launch{z-index:69;background:var(--surface);border:1px solid color-mix(in srgb, var(--gold,#d7bb80) 40%, var(--line));cursor:pointer;border-radius:16px;align-items:center;gap:9px;padding:12px 16px;font-size:13px;display:flex;position:fixed;top:118px;right:24px;box-shadow:0 8px 24px #0003}.commentary-launch__dot{background:var(--gold,#d7bb80);border-radius:50%;width:5px;height:5px}.commentary-reader{border:1px solid var(--line);background:var(--surface);border-radius:26px;width:min(760px,100vw - 40px);max-width:none;max-height:calc(100dvh - 48px);padding:0;overflow:hidden;box-shadow:0 30px 100px #0008}.commentary-reader::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030711ac}.commentary-reader[open]{animation:.18s ease-out commentary-arrive}.commentary-reader__surface{flex-direction:column;max-height:calc(100dvh - 50px);display:flex}.commentary-reader .commentary-head{flex:none;padding:20px 24px}.commentary-reader .commentary-heading h2{font-size:21px}.commentary-reader__scroll{overscroll-behavior:contain;scrollbar-width:thin;padding:26px 40px;overflow-y:auto}.commentary-source{border-bottom:1px solid var(--line);color:var(--muted);margin:0 0 24px;padding-bottom:18px;font-size:12px;line-height:1.6}.commentary-reader--large .commentary-prose{font-size:23px}.commentary-end{text-align:center;color:var(--gold,#d7bb80);margin:30px auto 0;font-size:12px;display:block}.commentary-reader__footer{border-top:1px solid var(--line);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.commentary-reader__footer>span{color:var(--muted);font-size:11px}.page__comment{border:1px solid var(--line);background:var(--surface);color:var(--accent);cursor:pointer;border-radius:12px;align-self:flex-start;align-items:center;gap:8px;min-height:44px;margin:8px 0;padding:10px 14px;display:inline-flex}@keyframes commentary-arrive{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@media (width>=900px){.commentary-popover{width:clamp(300px,43vw - 120.4px,420px);max-height:calc(100dvh - 232px);top:212px;right:28px}.commentary-launch{top:212px;right:28px}}@media (width<=899px){.commentary-popover{top:auto;bottom:calc(var(--commentary-bottom,86px) + env(safe-area-inset-bottom,0px));width:auto;max-height:calc(100dvh - var(--commentary-bottom,86px) - 24px);border-radius:20px;left:12px;right:12px}.commentary-prose--preview{max-height:24dvh;padding:14px 18px;font-size:15px;line-height:1.7}.commentary-head{gap:7px;padding:12px}.commentary-heading h2{font-size:15px}.commentary-seal{width:31px;height:36px}.commentary-icon{width:36px}.commentary-footer{gap:4px 8px;padding:5px 12px}.commentary-launch{top:auto;bottom:calc(var(--commentary-bottom,86px) + env(safe-area-inset-bottom,0px));right:12px}.commentary-reader{border-radius:22px;width:calc(100vw - 20px);max-height:calc(100dvh - 24px)}.commentary-reader__surface{max-height:calc(100dvh - 26px)}.commentary-reader .commentary-head{gap:7px;padding:15px 12px}.commentary-reader .commentary-heading h2{font-size:17px}.commentary-reader__scroll{padding:20px}.commentary-reader .commentary-prose{font-size:17px;line-height:1.8}.commentary-reader--large .commentary-prose{font-size:21px}.commentary-reader__footer{padding:12px 16px}}@media (prefers-reduced-motion:reduce){.commentary-popover,.commentary-reader[open]{animation:none}}
