.pet-desktop-home{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;container:pet-home/inline-size;color:var(--text-primary);background:var(--background);--pet-ink-accent:var(--accent)}.pet-desktop-home-layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);width:100%;max-width:1160px;min-height:100%;margin-inline:auto;padding:clamp(32px,5vh,64px) clamp(24px,4vw,56px);gap:clamp(32px,4vw,64px);align-items:start}.pet-desktop-identity{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center;position:sticky;top:32px}.pet-desktop-portrait{position:relative;width:248px;height:248px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;color:var(--pet-ink-accent)}.pet-desktop-growth-ring{position:absolute;inset:0;width:100%;height:100%}.pet-desktop-portrait .pet-desktop-avatar{border-radius:50%!important;border:0!important;overflow:hidden}.pet-desktop-identity h1{font-size:calc((clamp(1.6rem, 2.5cqi, 2.1rem)) / var(--text-inflation, 1));font-weight:650;line-height:1.35;margin-top:24px;max-width:100%;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.pet-desktop-level{display:inline-flex;gap:8px;padding:6px 4px;color:var(--pet-ink-accent);font-size:calc((.875rem) / var(--text-inflation, 1))}.pet-desktop-level,.pet-desktop-stats{align-items:center;justify-content:center;flex-wrap:wrap;margin-top:12px}.pet-desktop-stats{display:flex;gap:10px 18px;font-size:calc((.8125rem) / var(--text-inflation, 1));color:var(--text-secondary);font-variant-numeric:tabular-nums}.pet-desktop-stats>*{display:inline-flex;align-items:center;gap:6px;overflow-wrap:anywhere}.pet-desktop-stats svg{flex:none}.pet-desktop-greeting{position:relative;margin-top:30px;padding:20px 22px;border-radius:16px;background:var(--surface-raised);color:var(--text-primary);line-height:1.8;overflow-wrap:anywhere}.pet-desktop-greeting,.pet-desktop-primary{width:100%;font-size:calc((1rem) / var(--text-inflation, 1))}.pet-desktop-primary{display:flex;justify-content:center;align-items:center;gap:12px;min-height:var(--cta-height);padding:10px 20px;margin-top:20px;border-radius:var(--cta-radius);font-weight:600;background:var(--accent);color:var(--accent-foreground,white)}.pet-desktop-primary svg{flex:none}.pet-desktop-primary:hover{filter:brightness(1.08)}.pet-desktop-knowledge{display:flex;flex-direction:column;min-width:0;align-self:start;padding:24px 0 0 clamp(16px,2vw,32px)}.pet-desktop-knowledge-header{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:8px 24px;border-bottom:1px solid var(--border)}.pet-desktop-knowledge h2{flex:1 1 220px;min-width:0;font-size:calc((clamp(1.4rem, 2.1cqi, 1.8rem)) / var(--text-inflation, 1));font-weight:650;line-height:1.5;overflow-wrap:anywhere}.pet-desktop-digest,.pet-desktop-digest-empty{padding-block:28px 40px;font-size:calc((1.0625rem) / var(--text-inflation, 1));line-height:1.95;overflow-wrap:anywhere;min-width:0}.pet-desktop-digest{color:var(--text-primary)}.pet-desktop-digest-empty{color:var(--text-secondary);max-width:60ch}.pet-desktop-digest :is(img,video){max-width:100%;height:auto}.pet-desktop-digest :is(pre,.katex-display){max-width:100%;overflow-x:auto}.pet-desktop-home button:focus-visible{outline:2px solid var(--focus-ring,var(--accent));outline-offset:4px}@container pet-home (max-width: 820px){.pet-desktop-home-layout{grid-template-columns:1fr;max-width:680px;gap:32px;padding:28px 24px}.pet-desktop-identity{position:static}.pet-desktop-greeting,.pet-desktop-primary{max-width:360px}.pet-desktop-knowledge{border-left:0;border-top:1px solid var(--border);padding:20px 0 0}}@media (max-height:760px){.pet-desktop-identity{position:static}}.pet-settings-scroll{container:pet-settings/inline-size}.pet-desktop-settings-shell{max-width:940px;margin-inline:auto;padding:36px clamp(24px,4vw,48px) 56px}.pet-desktop-settings-form{min-width:0}.pet-settings-identity{display:flex;align-items:center;gap:28px;padding:28px 32px;background:var(--surface-raised);border-radius:16px}.pet-settings-identity-fields{max-width:520px}.pet-settings-identity-fields>label{font-size:calc((.875rem) / var(--text-inflation, 1));letter-spacing:0;text-transform:none;color:var(--text-secondary)!important}.pet-desktop-settings-shell .pet-settings-section{display:grid;grid-template-columns:160px minmax(0,1fr);gap:28px;padding-top:30px;margin-top:30px}.pet-desktop-settings-shell .pet-settings-section>:first-child{display:block;min-width:0;margin:0}.pet-desktop-settings-shell .pet-settings-section-body{min-width:0}.pet-desktop-settings-shell .pet-settings-section h3{font-size:calc((1rem) / var(--text-inflation, 1));letter-spacing:0;text-transform:none;color:var(--text-primary)!important;margin-bottom:8px}.pet-desktop-settings-shell .pet-settings-section>:first-child>span{display:block;max-width:none!important;text-align:left;font-size:calc((.8125rem) / var(--text-inflation, 1));line-height:1.7}.pet-desktop-settings-shell input[type=text],.pet-desktop-settings-shell textarea{font-size:calc((.9375rem) / var(--text-inflation, 1));line-height:1.8}.pet-settings-identity input{min-height:46px}.pet-desktop-settings-shell textarea{padding:16px 18px;border-radius:12px}.pet-desktop-settings-shell [role=radiogroup]{border-radius:10px}.pet-desktop-settings-shell [role=radio]{min-height:38px;border-radius:8px}.pet-desktop-settings-shell button:focus-visible{outline:2px solid var(--focus-ring,var(--accent));outline-offset:3px}.pet-settings-save-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:24px 0;margin-top:4px}.pet-settings-save-row>div{max-width:65%;line-height:1.7}.pet-settings-save-row>button{min-width:112px;min-height:42px}.pet-settings-danger{margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}.pet-settings-danger>div:first-child{font-size:calc((.875rem) / var(--text-inflation, 1));letter-spacing:0;text-transform:none}.pet-settings-danger p{font-size:calc((.8125rem) / var(--text-inflation, 1));line-height:1.8}.pet-settings-danger button{min-height:40px}@container pet-settings (max-width: 680px){.pet-desktop-settings-shell{padding:24px}.pet-settings-identity{gap:20px;padding:24px}.pet-desktop-settings-shell .pet-settings-section{grid-template-columns:minmax(0,1fr);gap:14px}.pet-settings-danger>div:last-child{align-items:flex-start;flex-direction:column}}.pet-desktop-archive-scroll{padding:32px clamp(24px,4vw,48px)}@media (max-width:900px){.pet-desktop-archive-scroll{padding:24px}}.pet-desktop-avatar-edit{position:absolute;bottom:10px;right:18px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-foreground,white);border:3px solid var(--background)}.pet-desktop-portrait:hover .pet-desktop-avatar-edit{transform:scale(1.08)}.pet-avatar-overlay{position:fixed;inset:0;z-index:var(--z-modal,100);background:var(--overlay-strong,rgba(0,0,0,.45));display:grid;place-items:center;padding:20px}.pet-avatar-dialog{width:min(420px,100%);max-height:90dvh;overflow-y:auto;padding:24px;border:1px solid var(--border);border-radius:20px;background:var(--background);color:var(--text-primary);box-shadow:0 20px 60px rgba(0,0,0,.2)}.pet-avatar-dialog footer,.pet-avatar-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}.pet-avatar-dialog h2{font-size:calc((1.25rem) / var(--text-inflation, 1));font-weight:600}.pet-avatar-dialog header button{padding:8px}.pet-avatar-preview{display:flex;justify-content:center;padding:24px 0}.pet-avatar-options{display:grid;grid-template-columns:repeat(3,minmax(0,max-content));gap:12px;justify-content:center}.pet-avatar-options button{position:relative;padding:8px;border:1px solid var(--border);border-radius:18px;min-width:0}.pet-avatar-options button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-bg)}.pet-avatar-options button>div{max-width:100%}.pet-avatar-selected{position:absolute;right:4px;bottom:4px;background:var(--background);border-radius:50%}.pet-avatar-upload{width:100%;display:flex;gap:10px;justify-content:center;align-items:center;border:1px solid var(--border);padding:12px;border-radius:10px;margin:20px 0 24px}.pet-avatar-dialog footer{justify-content:flex-end}.pet-avatar-dialog footer button{padding:10px 20px;border-radius:10px}.pet-avatar-save{background:var(--accent);color:var(--accent-foreground,white)}.pet-avatar-dialog button:disabled{opacity:.45;cursor:default}.pet-avatar-dialog button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.pet-avatar-error{color:var(--danger);margin-bottom:16px}.pet-settings-avatar-button{position:relative;flex-shrink:0;border-radius:26%}.pet-settings-avatar-button .pet-desktop-avatar-edit{bottom:-6px;right:-6px}.pet-desktop-help{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;min-height:36px;margin-top:20px;padding:6px 12px;border-radius:8px;font-size:calc((.8125rem) / var(--text-inflation, 1));line-height:1.5;color:var(--text-secondary)}.pet-desktop-help svg{flex:none}.pet-desktop-help:hover{background:var(--surface-hover);color:var(--text-primary)}.pet-desktop-faq{position:absolute;inset:0;overflow-y:auto;background:var(--background);color:var(--text-primary)}.pet-desktop-faq-content{max-width:800px;margin-inline:auto;padding:32px clamp(24px,4vw,48px) 64px}.pet-faq-back{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:4px 8px;margin-left:-8px;border-radius:8px;color:var(--text-secondary);font-size:calc((.8125rem) / var(--text-inflation, 1))}.pet-faq-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0 28px}.pet-faq-header h1{display:flex;align-items:center;gap:10px;font-size:calc((1.5rem) / var(--text-inflation, 1));line-height:1.4;font-weight:650;color:var(--accent-solid,var(--accent))}.pet-faq-header h1 svg{flex:none}.pet-faq-header p{margin-top:8px;font-size:calc((.875rem) / var(--text-inflation, 1));line-height:1.6;color:var(--text-secondary)}.pet-faq-tools{display:flex;flex:none;gap:2px}.pet-faq-tools button{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:var(--text-secondary)}.pet-faq-tools button:disabled{opacity:.35;cursor:default}.pet-faq-back:hover,.pet-faq-tools button:not(:disabled):hover{background:var(--surface-hover);color:var(--text-primary)}.pet-faq-list{border:1px solid var(--border);border-radius:var(--radius-lg,16px);overflow:hidden;background:var(--surface-raised)}.pet-faq-entry+.pet-faq-entry{border-top:1px solid var(--border)}.pet-faq-entry h2{margin:0;font-size:inherit}.pet-faq-entry h2 button{display:flex;align-items:baseline;gap:14px;width:100%;padding:19px 22px;text-align:left}.pet-faq-entry h2 button:hover{background:var(--surface-hover)}.pet-faq-number{flex:none;width:20px;font-size:calc((.75rem) / var(--text-inflation, 1));font-variant-numeric:tabular-nums;color:var(--text-muted)}.pet-faq-question{flex:1;min-width:0;font-size:calc((.9375rem) / var(--text-inflation, 1));line-height:1.6;font-weight:500;overflow-wrap:anywhere}.pet-faq-entry h2 svg{flex:none;align-self:center;color:var(--text-muted)}.pet-faq-entry button[aria-expanded=true]{color:var(--accent)}.pet-faq-entry button[aria-expanded=true] svg{transform:rotate(90deg)}.pet-faq-answer{padding:0 38px 24px 56px;font-size:calc((.9375rem) / var(--text-inflation, 1));line-height:1.9;overflow-wrap:anywhere}.pet-faq-answer p{margin:0;white-space:pre-wrap}.pet-faq-answer p+p{margin-top:14px}.pet-desktop-faq button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.pet-archive-month{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;width:100%;min-height:62px;padding:14px 4px;text-align:left;background:var(--background);border-bottom:1px solid var(--border);color:var(--text-primary)}.pet-archive-month-label{font-size:calc((1.0625rem) / var(--text-inflation, 1));font-weight:600}.pet-archive-month-count{font-size:calc((.8125rem) / var(--text-inflation, 1));color:var(--text-secondary);font-variant-numeric:tabular-nums}.pet-archive-month-preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc((.8125rem) / var(--text-inflation, 1));color:var(--text-secondary)}.pet-archive-month svg{flex:none;color:var(--text-secondary)}.pet-archive-month:hover{color:var(--accent)}.pet-insight-list,.pet-session-list{display:flex;flex-direction:column;gap:16px;padding-block:20px 28px}.pet-session-row{padding:20px 24px;border-radius:12px}.pet-session-row:hover{outline:1px solid var(--text-muted);outline-offset:-1px}.pet-session-row>div:first-child{flex-wrap:wrap;row-gap:12px}.pet-session-row>div:first-child>div:first-child{flex-wrap:wrap}.pet-session-row .pet-md{font-size:calc((.9375rem) / var(--text-inflation, 1));line-height:1.85}.pet-session-row button{min-height:36px;min-width:36px}.pet-insight-face{padding:26px 28px 44px;overflow-wrap:anywhere;min-width:0}.pet-insight-face h4{font-size:calc((1.125rem) / var(--text-inflation, 1));line-height:1.6}.pet-insight-face .pet-md{font-size:calc((.9375rem) / var(--text-inflation, 1));line-height:1.85}.pet-insight-face button{min-height:32px;min-width:32px}.pet-insight-face>div:first-child{flex-wrap:wrap}.pet-insight-face .katex-display,.pet-insight-face pre{max-width:100%;overflow-x:auto}.pet-archive-month:focus-visible,.pet-insight-card [role=button]:focus-visible,.pet-session-row:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){.pet-insight-card>div{transition-duration:0s!important}}.pet-endlesson-backdrop{background:color-mix(in srgb,#1a1206 42%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:pet-endlesson-fade .2s ease both}.pet-endlesson-sheet{--bite:0.5rem;width:100%;max-width:26rem;max-height:88dvh;border-radius:1.25rem;--sheet-paper:var(--surface-raised);background:none;color:var(--text-primary);overflow:hidden;box-shadow:0 32px 64px -20px rgba(40,26,6,.5);filter:drop-shadow(0 0 .7px color-mix(in srgb,var(--foreground) 42%,transparent)) drop-shadow(0 1px 1.5px rgba(60,40,10,.1));animation:pet-endlesson-in .3s cubic-bezier(.2,.7,.2,1) both}.pet-endlesson-sheet[data-wide=true]{max-width:38rem}body.cloud-ui-compact .pet-endlesson-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}:root.dark .pet-endlesson-sheet{--sheet-paper:color-mix(in srgb,white 5%,var(--surface-raised));box-shadow:0 34px 70px -20px rgba(0,0,0,.85);filter:drop-shadow(0 0 .7px rgb(255 255 255/.32))}body.cloud-ui-compact .pet-endlesson-sheet{filter:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--border) 80%,transparent),0 32px 64px -20px rgba(40,26,6,.5)}:root.dark body.cloud-ui-compact .pet-endlesson-sheet{filter:none;box-shadow:0 0 0 1px color-mix(in srgb,white 9%,transparent),0 34px 70px -20px rgba(0,0,0,.85)}@keyframes pet-endlesson-fade{0%{opacity:0}to{opacity:1}}@keyframes pet-endlesson-in{0%{opacity:0;transform:translateY(10px) scale(.975)}to{opacity:1;transform:none}}.pet-endlesson-head{flex:none;padding:1.25rem 1.5rem 1.125rem}.pet-endlesson-eyebrow{font-size:calc((.6875rem) / var(--text-inflation, 1));letter-spacing:.14em;color:var(--accent)}.pet-endlesson-x{display:flex;width:1.75rem;height:1.75rem;margin:-.25rem -.375rem -.25rem 0;align-items:center;justify-content:center;border-radius:999px;color:var(--text-muted)}.pet-endlesson-x:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent)}.pet-endlesson-title{display:flex;align-items:baseline;gap:.5rem;margin:.625rem 0 0;font-size:calc((1.375rem) / var(--text-inflation, 1));line-height:1.25;font-weight:600;letter-spacing:.01em;color:var(--text-primary)}.pet-endlesson-title[data-danger=true]{color:var(--danger)}.pet-endlesson-title>span{font-size:calc((.8125rem) / var(--text-inflation, 1));font-weight:400;color:var(--text-muted)}.pet-endlesson-count{font-size:calc((2.25rem) / var(--text-inflation, 1));line-height:1;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}.pet-endlesson-sub{margin:.5rem 0 0;font-size:calc((.75rem) / var(--text-inflation, 1));color:var(--text-muted);font-variant-numeric:tabular-nums}.pet-endlesson-sheet>*{background:var(--sheet-paper)}.pet-endlesson-sheet>*+*{box-shadow:0 0 0 1px var(--sheet-paper)}.pet-endlesson-sheet>.pet-endlesson-perforation+*{box-shadow:none}.pet-endlesson-sheet>.pet-endlesson-head-torn{background:radial-gradient(circle var(--bite) at 0 100%,transparent 96%,var(--sheet-paper) 100%) 0 /51% 100% no-repeat,radial-gradient(circle var(--bite) at 100% 100%,transparent 96%,var(--sheet-paper) 100%) 100% /51% 100% no-repeat,linear-gradient(var(--sheet-paper),var(--sheet-paper)) top /100% 50% no-repeat}.pet-endlesson-sheet>.pet-endlesson-perforation+*{background:radial-gradient(circle var(--bite) at 0 0,transparent 96%,var(--sheet-paper) 100%) 0 /51% 100% no-repeat,radial-gradient(circle var(--bite) at 100% 0,transparent 96%,var(--sheet-paper) 100%) 100% /51% 100% no-repeat,linear-gradient(var(--sheet-paper),var(--sheet-paper)) bottom /100% 50% no-repeat}.pet-endlesson-sheet>.pet-endlesson-perforation{position:relative;flex:none;height:0;background:none;box-shadow:none}.pet-endlesson-perforation:before{content:"";position:absolute;top:-1px;height:2px;left:var(--bite);right:var(--bite);background:var(--sheet-paper)}.pet-endlesson-perforation:after{content:"";position:absolute;top:-.75px;left:1.125rem;right:1.125rem;border-top:1.5px dashed color-mix(in srgb,var(--foreground) 15%,transparent)}.pet-endlesson-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1.125rem 1.5rem .25rem;font-size:calc((.875rem) / var(--text-inflation, 1));line-height:1.8;color:var(--text-secondary)}.pet-endlesson-body p{margin:0}.pet-endlesson-body p+p{margin-top:.625rem}.pet-endlesson-fine{margin:0;font-size:calc((.75rem) / var(--text-inflation, 1));line-height:1.7;color:var(--text-muted)}.pet-endlesson-foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.5rem 1.25rem}.pet-endlesson-quiet{height:2.125rem;padding:0 .875rem;border-radius:999px;font-size:calc((.8125rem) / var(--text-inflation, 1));color:var(--text-muted);transition:color .14s ease,background .14s ease}.pet-endlesson-quiet:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.pet-endlesson-solid{height:2.125rem;padding:0 1.25rem;border-radius:999px;font-size:calc((.8125rem) / var(--text-inflation, 1));font-weight:600;color:var(--surface-raised);background:var(--accent);transition:background .14s ease}.pet-endlesson-solid:hover{background:color-mix(in srgb,var(--accent) 88%,black)}.pet-endlesson-expand:focus-visible,.pet-endlesson-quiet:focus-visible,.pet-endlesson-solid:focus-visible,.pet-endlesson-x:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.pet-endlesson-reading{display:flex;flex-direction:column;align-items:center;gap:1.125rem;padding:.5rem 1.5rem 1.75rem;text-align:center}.pet-endlesson-reading p{margin:0;font-size:calc((.8125rem) / var(--text-inflation, 1));line-height:1.7;color:var(--text-muted)}.pet-endlesson-page{display:flex;flex-direction:column;gap:7px;width:7.5rem;padding:.875rem .875rem 1rem;border-radius:.625rem;background:var(--surface-sunken,color-mix(in oklab,var(--text-primary) 4%,var(--surface-raised)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 70%,transparent)}.pet-endlesson-page i{display:block;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--accent) 0 50%,color-mix(in oklab,var(--text-primary) 12%,transparent) 50% 100%) 100% 0 /200% 100%;animation:pet-endlesson-line 4s ease-in-out infinite}.pet-endlesson-page i:nth-child(2){width:82%;animation-delay:.55s}.pet-endlesson-page i:nth-child(3){width:94%;animation-delay:1.1s}.pet-endlesson-page i:nth-child(4){width:70%;animation-delay:1.65s}.pet-endlesson-page i:nth-child(5){width:46%;animation-delay:2.2s}@keyframes pet-endlesson-line{0%,8%{background-position:100% 0}30%,78%{background-position:0 0}92%,to{background-position:100% 0}}.pet-endlesson-progress{flex:none;height:2px;overflow:hidden;background:color-mix(in oklab,var(--text-primary) 8%,var(--border))}.pet-endlesson-progress i{display:block;width:38%;height:100%;background:var(--accent);animation:pet-endlesson-run 1.7s cubic-bezier(.45,.05,.55,.95) infinite}@keyframes pet-endlesson-run{0%{transform:translateX(-110%)}to{transform:translateX(290%)}}.pet-endlesson-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:1.5rem;padding:1.25rem 1.5rem .5rem}.pet-endlesson-label{margin:0 0 .625rem;font-size:calc((.6875rem) / var(--text-inflation, 1));font-weight:400;letter-spacing:.12em;color:var(--accent)}.pet-endlesson-letter{padding:.25rem 0 .25rem 1rem;border-left:2px solid color-mix(in srgb,var(--accent) 38%,transparent);font-size:calc((.875rem) / var(--text-inflation, 1));line-height:1.85;color:var(--text-primary)}.pet-endlesson-eggs{display:flex;flex-direction:column}.pet-endlesson-egg{padding:.6875rem .125rem}.pet-endlesson-egg+.pet-endlesson-egg{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--border) 60%,transparent)}.pet-endlesson-egg-title{font-size:calc((.875rem) / var(--text-inflation, 1));font-weight:400;color:var(--text-primary)}.pet-endlesson-expand{height:1.5rem;padding:0 .5rem;border-radius:999px;font-size:calc((.71875rem) / var(--text-inflation, 1));color:var(--text-muted)}.pet-endlesson-enlighten,.pet-endlesson-expand:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.pet-endlesson-enlighten{display:flex;gap:.75rem;padding:.875rem 1rem;border-radius:.875rem;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 26%,transparent)}.pet-endlesson-enlighten>svg{flex:none;margin-top:2px}.pet-endlesson-enlighten b{display:block;font-size:calc((.875rem) / var(--text-inflation, 1));font-weight:600}.pet-endlesson-enlighten p{margin:.25rem 0 0;font-size:calc((.75rem) / var(--text-inflation, 1));line-height:1.7;color:var(--text-secondary)}.pet-endlesson-sheet .reveal-section{animation:pet-endlesson-rise .5s ease-out both}@keyframes pet-endlesson-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (max-width:640px){.pet-endlesson-head{padding:1.125rem 1.25rem 1rem}.pet-endlesson-body,.pet-endlesson-scroll{padding-left:1.25rem;padding-right:1.25rem}.pet-endlesson-foot{padding:.875rem 1.25rem 1.125rem}}@media (prefers-reduced-motion:reduce){.pet-endlesson-backdrop,.pet-endlesson-page i,.pet-endlesson-progress i,.pet-endlesson-sheet,.pet-endlesson-sheet .reveal-section{animation:none!important}}.pet-empty-figure{position:relative;display:flex;align-items:center;justify-content:center;width:168px;height:168px}.pet-empty-halo{position:absolute;inset:10px;border-radius:28%;overflow:hidden;filter:blur(16px);opacity:.5;animation:pet-empty-glow 3.8s ease-in-out infinite}.pet-empty-halo:before{content:"";position:absolute;inset:-25%;background:conic-gradient(#ff8fc7,#ffd36e,#7fe6d2,#8fb8ff,#c79bff,#ff8fc7);animation:pet-empty-turn 12s linear infinite}:root.dark .pet-empty-halo{opacity:.62}.pet-empty-portrait{position:relative;display:flex;border-radius:22%;box-shadow:0 0 0 4px var(--background),0 18px 34px -12px rgba(60,40,10,.38);transform-origin:50% 100%;animation:pet-empty-breathe 3.8s ease-in-out infinite,pet-empty-tilt 11s ease-in-out infinite}.pet-empty-shadow{position:absolute;left:50%;bottom:4px;width:84px;height:12px;margin-left:-42px;border-radius:50%;background:rgba(60,40,10,.2);filter:blur(6px);animation:pet-empty-ground 3.8s ease-in-out infinite}.pet-empty-spark{position:absolute;width:9px;height:9px;background:#ffcf66;opacity:0;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:pet-empty-spark 5.2s ease-in-out infinite}.pet-empty-spark:first-of-type{top:14px;right:6px}.pet-empty-spark:nth-of-type(2){top:62px;left:0;width:7px;height:7px;background:#8fd8ff;animation-delay:1.8s}.pet-empty-spark:nth-of-type(3){bottom:30px;right:0;width:6px;height:6px;background:#ff9fd0;animation-delay:3.3s}.pet-empty-line{position:relative;max-width:26rem;margin:1.75rem 0 0;padding-top:1.25rem;font-size:calc((1.1875rem) / var(--text-inflation, 1));line-height:1.7;letter-spacing:.01em;color:var(--text-primary);text-wrap:balance;animation:pet-empty-rise .6s cubic-bezier(.2,.7,.2,1) .12s both}.pet-empty-line:before{content:"“";position:absolute;top:-.5rem;left:50%;transform:translateX(-50%);font-size:calc((2.25rem) / var(--text-inflation, 1));line-height:1;color:color-mix(in srgb,var(--accent) 60%,transparent);font-family:Georgia,Times New Roman,serif}.pet-empty-by{margin:.5rem 0 0;font-size:calc((.75rem) / var(--text-inflation, 1));letter-spacing:.14em;color:var(--accent);animation:pet-empty-rise .6s cubic-bezier(.2,.7,.2,1) .24s both}.pet-empty-by:before{content:"— ";opacity:.6}@keyframes pet-empty-turn{to{transform:rotate(1turn)}}@keyframes pet-empty-glow{0%,to{transform:scale(.9);opacity:.36}50%{transform:scale(1.06);opacity:.6}}@keyframes pet-empty-breathe{0%,to{scale:.985}50%{scale:1.035}}@keyframes pet-empty-tilt{0%,78%,to{rotate:0deg}84%{rotate:-4deg}90%{rotate:3deg}95%{rotate:-1deg}}@keyframes pet-empty-ground{0%,to{transform:scaleX(1.05);opacity:1}50%{transform:scaleX(.9);opacity:.7}}@keyframes pet-empty-spark{0%,60%,to{opacity:0;transform:scale(.4) rotate(0)}72%{opacity:.95;transform:scale(1.15) rotate(40deg)}86%{opacity:0;transform:scale(.6) rotate(80deg)}}@keyframes pet-empty-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.pet-empty-by,.pet-empty-halo,.pet-empty-halo:before,.pet-empty-line,.pet-empty-portrait,.pet-empty-shadow,.pet-empty-spark{animation:none!important}}.pet-empty-figure[data-live=true]{width:208px;height:208px}.pet-empty-figure[data-live=true] .pet-empty-halo{inset:44px;opacity:.34}.pet-empty-live{position:relative}.pet-empty-figure[data-live=true] .pet-empty-shadow{bottom:14px}.pet-empty-after{flex:none;align-self:stretch;display:flex;justify-content:center}.pet-suggest[data-open=true]{min-height:0;overflow:visible}.pet-suggest{width:100%;max-width:26rem;margin:1.25rem auto 0;text-align:start;animation:pet-empty-rise .6s cubic-bezier(.2,.7,.2,1) .36s both}.pet-suggest[data-compact=true]{margin-top:1rem}.pet-suggest-voice{text-align:center}.pet-suggest-mark{flex:none;display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:50%;color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.pet-suggest-line{margin:0;min-width:0;font-size:calc((.875rem) / var(--text-inflation, 1));line-height:1.6;color:var(--text-secondary);text-wrap:balance}.pet-suggest-line:lang(zh){text-wrap:wrap}.pet-suggest-line{word-break:keep-all;overflow-wrap:anywhere}.pet-suggest-by{display:flex;align-items:center;justify-content:center;gap:.375rem;margin-bottom:.125rem;font-size:calc((.6875rem) / var(--text-inflation, 1));letter-spacing:.14em;color:var(--text-muted)}.pet-suggest-ask{display:inline-flex;align-items:center;gap:.375rem;min-height:2.5rem;margin:.625rem auto 0;padding:0 1.125rem;border-radius:999px;font-size:calc((.875rem) / var(--text-inflation, 1));font-weight:600;color:var(--accent);background:transparent;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));transition:background-color .14s ease,border-color .14s ease}.pet-suggest>.pet-suggest-ask{display:flex;width:fit-content}.pet-suggest-ask:hover{background:var(--accent-soft);border-color:var(--accent)}.pet-suggest-actions .pet-suggest-ask{margin:0 auto}.pet-suggest-body{margin-top:.875rem}.pet-suggest[data-open=true] .pet-suggest-body{padding-bottom:1.5rem}.pet-suggest-body>.pet-suggest-actions:last-child{scroll-margin-bottom:1.5rem}.pet-suggest-topup-row{margin-top:.625rem}.pet-suggest-topup{display:inline-flex;align-items:center;gap:.25rem;min-height:2.25rem;padding:0 .25rem;border-radius:8px;font-size:calc((.8125rem) / var(--text-inflation, 1));font-weight:500;color:var(--accent);background:none;text-underline-offset:3px}.pet-suggest-topup:hover{text-decoration:underline}.pet-suggest-topup:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (pointer:coarse){.pet-suggest-topup{min-height:44px}}:is([data-theme=hc-light],[data-theme=hc-dark]) .pet-suggest-topup{color:var(--text-primary);text-decoration:underline}.pet-suggest-list{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.pet-suggest-card{display:flex;flex-direction:column;gap:.25rem;width:100%;padding:.75rem .875rem;border-radius:12px;text-align:start;cursor:pointer;color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border);transition:border-color .14s ease,background-color .14s ease,transform .14s ease}.pet-suggest-card:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent-soft) 60%,var(--surface-raised))}.pet-suggest-card:active{transform:scale(.99)}.pet-suggest-card[data-picked=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.pet-suggest-topic{font-size:calc((.9375rem) / var(--text-inflation, 1));font-weight:600;line-height:1.4}.pet-suggest-opener{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:calc((.8125rem) / var(--text-inflation, 1));line-height:1.55;color:var(--text-secondary)}.pet-suggest-source{display:flex;align-items:center;gap:.3rem;min-width:0;margin-top:.125rem;font-size:calc((.75rem) / var(--text-inflation, 1));color:var(--text-muted)}.pet-suggest-source>svg{flex:none}.pet-suggest-source>span{flex:none;white-space:nowrap}.pet-suggest-source>.pet-suggest-source-name{flex:0 1 auto;min-width:2.5em;overflow:hidden;text-overflow:ellipsis}.pet-suggest-source>.pet-suggest-source-name:not(.pet-suggest-source-part){flex-shrink:3}.pet-suggest-source-dot{opacity:.7}.pet-suggest-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem;margin-top:.625rem}.pet-suggest-link{display:inline-flex;align-items:center;gap:.3rem;min-height:2.25rem;padding:0 .25rem;border-radius:8px;font-size:calc((.8125rem) / var(--text-inflation, 1));color:var(--text-secondary);background:none;transition:color .14s ease}.pet-suggest-link:hover{color:var(--accent)}.pet-suggest-count{margin-inline-start:.25rem;font-size:calc((.75rem) / var(--text-inflation, 1));color:var(--text-muted)}.pet-suggest-close{justify-content:center;min-width:44px;min-height:44px;margin-inline-start:auto;padding:0}.pet-suggest-note{font-size:calc((.8125rem) / var(--text-inflation, 1));color:var(--text-muted)}@media (max-width:400px){.pet-suggest-actions{column-gap:.5rem}.pet-suggest-count{margin-inline-start:.125rem}}.pet-suggest-ask:focus-visible,.pet-suggest-card:focus-visible,.pet-suggest-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.pet-suggest-skeleton{display:flex;flex-direction:column;gap:.45rem;height:4.75rem;padding:.875rem;border-radius:12px;background:var(--surface-raised);border:1px solid var(--border)}.pet-suggest-skeleton i{display:block;height:.55rem;border-radius:4px;background:color-mix(in srgb,var(--text-muted) 20%,transparent);animation:pet-suggest-pulse 1.4s ease-in-out infinite}.pet-suggest-skeleton i:first-child{width:38%}.pet-suggest-skeleton i:nth-child(2){width:86%;animation-delay:.15s}.pet-suggest-skeleton i:nth-child(3){width:30%;animation-delay:.3s}.pet-suggest-wait{margin:.25rem 0 0;font-size:calc((.75rem) / var(--text-inflation, 1));text-align:center;color:var(--text-muted)}@keyframes pet-suggest-pulse{50%{opacity:.45}}@media (pointer:coarse){.pet-suggest-ask,.pet-suggest-link{min-height:44px}}@media (prefers-reduced-motion:reduce){.pet-suggest,.pet-suggest-skeleton i{animation:none!important}.pet-suggest-ask,.pet-suggest-card{transition:none}}:is([data-theme=hc-light],[data-theme=hc-dark]) :is(.pet-suggest-card,.pet-suggest-skeleton,.pet-suggest-ask){background:var(--background);border-color:var(--text-primary)}:is([data-theme=hc-light],[data-theme=hc-dark]) .pet-suggest-card[data-picked=true]{box-shadow:inset 0 0 0 2px var(--text-primary)}:is([data-theme=hc-light],[data-theme=hc-dark]) .pet-suggest-mark{color:var(--text-primary);background:none;box-shadow:inset 0 0 0 1px var(--text-primary)}:is([data-theme=hc-light],[data-theme=hc-dark]) :is(.pet-suggest-line,.pet-suggest-opener,.pet-suggest-source,.pet-suggest-link,.pet-suggest-note,.pet-suggest-ask){color:var(--text-primary)}@media (forced-colors:active){.pet-suggest-ask,.pet-suggest-card,.pet-suggest-skeleton{border:1px solid CanvasText}}@media (min-width:600px){[data-device=tablet] .pet-suggest{max-width:32rem}[data-device=tablet] .pet-suggest-card{padding:.875rem 1rem}}.empty-classroom{container-type:inline-size;display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:auto;background:var(--chat-bg);color:var(--text-primary)}.empty-classroom__page{flex:none;box-sizing:border-box;width:100%;max-width:1000px;margin:auto;padding:clamp(32px,7cqi,80px) clamp(24px,5cqi,64px)}.empty-classroom__intro{padding-bottom:2.75rem}.empty-classroom__copy{min-width:0}.empty-classroom__title{margin:0;font-size:calc((clamp(2rem, 3.5cqi, 3rem)) / var(--text-inflation, 1));font-weight:650;line-height:1.35;letter-spacing:-.02em;overflow-wrap:anywhere;text-wrap:balance}.empty-classroom__title--finder{color:var(--accent)}.empty-classroom__description{max-width:36rem;margin:1.75rem 0 0;font-size:calc((1.125rem) / var(--text-inflation, 1));line-height:1.85;color:var(--text-secondary);overflow-wrap:anywhere;text-wrap:balance}.empty-classroom__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem 2.5rem;border-top:1px solid var(--border-strong);padding-top:2.25rem}.empty-classroom__actions button{max-width:100%;min-height:3.75rem;font-size:calc((1.125rem) / var(--text-inflation, 1));font-weight:600;line-height:1.5;overflow-wrap:anywhere;cursor:pointer;transition:background-color .16s,color .16s}.empty-classroom__actions button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.empty-classroom__primary{flex:0 1 18rem;padding:1rem 1.5rem;border-radius:14px;background:var(--accent);color:var(--text-inverse)}.empty-classroom__primary:hover{background:var(--accent-strong)}.empty-classroom__primary:active{opacity:.88}.empty-classroom__secondary{flex:0 1 auto;padding:.75rem 0;color:var(--accent);text-align:left}.empty-classroom__secondary:hover{text-decoration:underline;text-underline-offset:.3em}.empty-classroom__starter{margin-top:2.75rem}.dark .empty-classroom__primary{background:var(--text-primary);color:var(--text-inverse)}.dark .empty-classroom__primary:hover{background:var(--text-secondary)}.dark .empty-classroom__secondary{color:var(--text-primary)}@container (max-width: 44rem){.empty-classroom__actions{column-gap:2rem}.empty-classroom__primary{flex-basis:100%}}@media (prefers-reduced-motion:reduce){.empty-classroom__actions button{transition:none}}.lesson-start-screen{container:lesson-start/inline-size;display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;color:var(--text-primary);--lesson-start-gutter:clamp(24px,4vw,64px)}.lesson-start-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:40px var(--lesson-start-gutter);scrollbar-gutter:stable;display:flex;flex-direction:column}.lesson-start-content{width:100%;max-width:1120px;margin:auto;flex:none}.lesson-start-scroll:after{content:"";flex:0 1 6vh}.lesson-start-header{margin-bottom:2.75rem}.lesson-start-back{display:inline-flex;align-items:center;gap:4px;height:36px;margin:0 0 0 -2px;padding:0 14px 0 8px;border-radius:9999px;font-size:calc((.875rem) / var(--text-inflation, 1));font-weight:500;line-height:1;color:var(--text-secondary);background:color-mix(in srgb,var(--surface-raised) 22%,transparent);border:.5px solid color-mix(in srgb,var(--text-muted) 28%,var(--border));box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 30%,transparent),0 2px 9px rgba(0,0,0,.075);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.lesson-start-back:active{opacity:.6}.lesson-start-info{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9999px;color:var(--text-muted);background:color-mix(in srgb,var(--surface-raised) 22%,transparent);border:.5px solid color-mix(in srgb,var(--text-muted) 28%,var(--border));box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 30%,transparent),0 2px 9px rgba(0,0,0,.075)}.lesson-start-info:active{opacity:.6}.lesson-start-launch-mobile{background:var(--accent-solid);color:var(--text-inverse);box-shadow:0 12px 28px -12px var(--accent-solid)}.lesson-start-launch-mobile:disabled{background:var(--surface-raised);color:var(--text-muted);box-shadow:inset 0 0 0 1px var(--border)}.lesson-start-back svg{flex-shrink:0;color:var(--text-muted)}.lesson-start-header h1{margin:0 0 .875rem;font-size:calc((.8125rem) / var(--text-inflation, 1));line-height:1.5;font-weight:600;letter-spacing:.12em;color:var(--accent)}.lesson-start-header p{margin-top:.625rem;font-size:calc((.9375rem) / var(--text-inflation, 1));line-height:1.7;color:var(--text-secondary)}.lesson-start-content h2{margin:0 0 1.25rem;font-size:calc((1rem) / var(--text-inflation, 1));line-height:1.5;font-weight:600;color:var(--text-secondary)}.lesson-start-book{padding-bottom:0}.lesson-start-book [data-testid=class-start-textbook]+*{margin-top:.875rem}.lesson-start-book [data-testid=class-start-textbook]{display:flex;align-items:center;gap:1.5rem}.lesson-start-book-title{display:block;font-size:calc((clamp(1.75rem, 3.2cqi, 2.375rem)) / var(--text-inflation, 1));font-weight:650;line-height:1.35;letter-spacing:-.02em;overflow-wrap:anywhere;text-wrap:balance}.lesson-start-book-change{flex-shrink:0;min-height:40px;padding:.5rem 1.125rem;border:0;border-radius:999px;background:var(--accent-bg);color:var(--accent);font-size:calc((.875rem) / var(--text-inflation, 1));font-weight:550;transition:background-color .16s ease}.lesson-start-book-change:hover{background:var(--accent-soft,var(--surface-hover))}.lesson-start-decisions{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:clamp(28px,4cqi,64px);margin-top:0}.lesson-start-decisions>section{min-width:0}.lesson-start-companions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.lesson-start-companions[data-count="1"]{grid-template-columns:minmax(0,1fr);max-width:20rem}.lesson-start-companions[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-start-companion{position:relative;min-width:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:16px;background:var(--surface-raised);transition:border-color .16s}.lesson-start-companion[data-selected=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,var(--surface-raised))}.lesson-start-companion:hover{border-color:var(--accent)}.lesson-start-companion__select{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;gap:1.25rem;width:100%;min-width:0;padding:1.75rem .75rem 1.25rem;border-radius:16px 16px 0 0;cursor:pointer}.lesson-start-companion__portrait{display:flex;max-width:100%;padding:3px;border:2px solid transparent;border-radius:28px}.lesson-start-companion__portrait>div{max-width:100%}.lesson-start-companion__name{font-size:calc((1.125rem) / var(--text-inflation, 1));line-height:1.5;font-weight:600;overflow-wrap:anywhere;text-align:center}.lesson-start-companion__select:disabled{cursor:default}.lesson-start-companion__check{position:absolute;top:.625rem;right:.625rem;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--border-strong)}[data-selected=true]>.lesson-start-companion__select .lesson-start-companion__check{background:var(--accent);border-color:var(--accent);color:var(--text-inverse)}.lesson-start-companion__voice{margin:0 .875rem;padding:.875rem 0;border-top:1px solid var(--border)}.lesson-start-companion__voice button{min-height:36px}.lesson-start-paces{display:flex;flex-direction:column;gap:.5rem}.lesson-start-pace-option{display:flex;align-items:baseline;gap:.875rem;width:100%;padding:.875rem 1rem;border-radius:12px;text-align:left;border:1px solid transparent;cursor:pointer}.lesson-start-pace-option[aria-checked=true]{background:var(--selected-bg);border-color:var(--selected-border)}.lesson-start-pace-option:not([aria-checked=true]):hover{background:var(--surface-hover)}.lesson-start-radio{display:grid;place-items:center;width:20px;height:20px;flex-shrink:0;border:1px solid var(--border-strong);border-radius:50%;align-self:flex-start;margin-top:.125rem}[aria-checked=true]>.lesson-start-radio{background:var(--accent);border-color:var(--accent)}[aria-checked=true]>.lesson-start-radio:after{content:"";width:9px;height:5px;border-left:2px solid var(--text-inverse);border-bottom:2px solid var(--text-inverse);transform:translateY(-1px) rotate(-45deg)}.lesson-start-pace-copy{display:flex;flex-direction:column;min-width:0;gap:.375rem;overflow-wrap:anywhere}.lesson-start-pace-copy>:first-child{font-size:calc((1rem) / var(--text-inflation, 1));font-weight:600;line-height:1.5}.lesson-start-pace-copy>:last-child{font-size:calc((.875rem) / var(--text-inflation, 1));line-height:1.7;color:var(--text-secondary)}.lesson-start-footer{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem 2rem;width:calc(100% - var(--lesson-start-gutter) * 2);max-width:1120px;margin:0 auto;padding:1.25rem 0;border-top:1px solid var(--border);max-height:45%;overflow-y:auto}.lesson-start-footer p{flex:1 1 16rem;font-size:calc((.875rem) / var(--text-inflation, 1));line-height:1.7;color:var(--text-secondary)}.lesson-start-launch{display:inline-flex;align-items:center;justify-content:center;flex:0 1 17rem;gap:.75rem;padding:.625rem 1.5rem;min-height:var(--cta-height);border-radius:var(--cta-radius);background:var(--accent);color:var(--text-inverse);font-size:calc((1.0625rem) / var(--text-inflation, 1));font-weight:600;line-height:1.5;cursor:pointer}.lesson-start-launch svg{flex-shrink:0}.lesson-start-launch:hover:not(:disabled){background:var(--accent-strong)}.lesson-start-launch:disabled{opacity:.45;cursor:not-allowed}.lesson-start-screen button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.dark .lesson-start-launch{background:var(--text-primary);color:var(--text-inverse)}.dark .lesson-start-launch:hover:not(:disabled){background:var(--text-secondary)}@container lesson-start (max-width: 1050px){.lesson-start-decisions{grid-template-columns:minmax(0,1fr)}.lesson-start-paces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}@container lesson-start (max-width: 650px){.lesson-start-companions,.lesson-start-companions[data-count="2"]{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}.lesson-start-paces{display:flex}.lesson-start-book [data-testid=class-start-textbook]{align-items:flex-start;flex-direction:column;gap:1rem}.lesson-start-launch{flex-grow:1}}@media (prefers-reduced-motion:reduce){.lesson-start-companion{transition:none}}.lesson-picker-search::-webkit-search-cancel-button,.lesson-picker-search::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}.lesson-start-screen{--lesson-ink:color-mix(in srgb,var(--accent) 62%,var(--text-primary));--lesson-ink-soft:color-mix(in srgb,var(--accent) 54%,var(--text-secondary))}[data-theme=charcoal] .lesson-start-screen{--lesson-ink:var(--accent-readable);--lesson-ink-soft:var(--text-secondary)}:is([data-theme=hc-light],[data-theme=hc-dark]) .lesson-start-screen{--lesson-ink:var(--text-primary);--lesson-ink-soft:var(--text-secondary)}.lesson-start-screen .lesson-start-book-title{color:var(--lesson-ink)!important}.lesson-start-screen .lesson-start-content h2,.lesson-start-screen .lesson-start-footer p,.lesson-start-screen .lesson-start-header h1,.lesson-start-screen .lesson-start-header p,.lesson-start-screen .lesson-start-pace-copy>:last-child{color:var(--lesson-ink-soft)}.lesson-start-screen .lesson-start-companion__voice{color:var(--lesson-ink-soft);--text-secondary:var(--lesson-ink-soft)}.lesson-start-screen .lesson-start-companion__name,.lesson-start-screen .lesson-start-pace-copy>:first-child{color:var(--lesson-ink)}.vbn{position:relative;display:flex;gap:14px;align-items:flex-start;margin:0 auto;width:min(100%,720px);padding:16px 16px 14px;border-radius:16px;border:1px solid var(--border);background:var(--surface-raised);color:var(--text-primary);box-shadow:0 1px 2px rgb(0 0 0/.04),0 10px 28px rgb(0 0 0/.07);animation:vbn-in .22s ease-out}.vbn-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:var(--accent-soft);color:var(--accent)}.vbn-main{min-width:0;flex:1}.vbn-title{margin:0;font-size:calc((14.5px) / var(--text-inflation, 1));font-weight:600;line-height:22px;letter-spacing:-.005em}.vbn-body{margin:4px 0 0;font-size:calc((13.5px) / var(--text-inflation, 1));line-height:21px;color:var(--text-secondary,var(--text-muted))}.vbn-note{margin:6px 0 0;font-size:calc((12.5px) / var(--text-inflation, 1));line-height:19px;color:var(--text-muted)}.vbn-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.vbn-btn{min-height:34px;padding:0 14px;border-radius:10px;font-size:calc((13px) / var(--text-inflation, 1));font-weight:500;border:1px solid var(--border);background:transparent;color:var(--text-primary);cursor:pointer;transition:background-color .14s ease,filter .14s ease}.vbn-btn:hover{background:var(--surface-hover,var(--surface-sunken))}.vbn-btn--primary{border-color:transparent;color:#fff;font-weight:600}.vbn-btn--primary,.vbn-btn--primary:hover{background:var(--accent-button,var(--accent))}.vbn-btn--primary:hover{filter:brightness(1.06)}.vbn-btn--quiet{border-color:transparent;color:var(--text-muted)}.vbn-gotit{margin-left:auto}.vbn-foot{margin:8px 0 0;font-size:calc((12px) / var(--text-inflation, 1))}.vbn-close,.vbn-foot{color:var(--text-muted)}.vbn-close{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer}.vbn-close:hover{background:var(--surface-hover,var(--surface-sunken))}@keyframes vbn-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.vbn{animation:none}}@media (max-width:640px){.vbn{border-radius:14px;padding:14px;gap:12px}.vbn-btn{flex:1 1 auto;min-height:40px}.vbn-gotit{margin-left:0}}.dark[data-theme=charcoal] [data-selected=true]>.lesson-start-companion__select .lesson-start-companion__check{--text-inverse:var(--primary-action-fg,#fff);--accent-strong:var(--primary-action-bg,var(--accent))}.library-starter{container-type:inline-size;max-width:1120px;margin:1.5rem auto 2rem;padding:1.25rem 0}.library-starter__header{margin-bottom:2rem}.library-starter__header h2{margin:0;color:var(--text-primary);font-size:calc((clamp(1.5rem, 3cqi, 2rem)) / var(--text-inflation, 1));font-weight:650;letter-spacing:-.025em;line-height:1.4;text-wrap:balance;overflow-wrap:anywhere}.library-starter__subtitle{max-width:42rem;margin:.875rem 0 0;font-size:calc((.9375rem) / var(--text-inflation, 1));line-height:1.8;color:var(--text-secondary);text-wrap:pretty}.library-starter__world{margin:.75rem 0 0;font-size:calc((.8125rem) / var(--text-inflation, 1));line-height:1.6;color:var(--text-secondary);overflow-wrap:anywhere}.library-starter__books{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:1.25rem}.library-starter__book{display:flex;flex-direction:column;min-width:0;gap:2rem;padding:clamp(20px,2.7cqi,32px);border:1px solid var(--border);border-radius:16px;background:var(--surface-raised);transition:border-color .16s}.library-starter__book:hover{border-color:var(--border-strong)}.library-starter__book-title{padding:0;color:var(--text-primary);font-size:calc((1.375rem) / var(--text-inflation, 1));font-weight:600;line-height:1.55;letter-spacing:-.015em;text-align:left;overflow-wrap:anywhere;text-wrap:balance}button.library-starter__book-title{cursor:pointer}button.library-starter__book-title:hover{color:var(--accent)}.library-starter__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .625rem;margin-top:1rem;line-height:1.6}.library-starter__meta>span{font-size:calc((.75rem) / var(--text-inflation, 1))}.library-starter__book-actions>span{max-width:100%;min-width:0}.library-starter__book-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem;padding-top:1.25rem;border-top:1px solid var(--border)}.library-starter__book-actions button{min-height:2.75rem;min-width:2.75rem;max-width:100%;padding:.625rem;border:1px solid var(--border);border-radius:12px;color:var(--text-secondary);background:transparent;cursor:pointer}.library-starter__book-actions [data-desktop-book-learning-action]{padding:.625rem 1rem;gap:.5rem;background:var(--accent);color:var(--text-inverse);border-color:transparent;font-size:calc((.875rem) / var(--text-inflation, 1));font-weight:600;line-height:1.5}.library-starter__book-actions button svg{flex-shrink:0}.library-starter__book-actions button[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}.library-starter__book-actions button:disabled{cursor:wait}.library-starter button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.library-starter__footer{margin-top:1.75rem;text-align:center}.library-starter__browse{min-height:2.75rem;padding:.75rem 1.5rem;border-radius:12px;font-size:calc((.9375rem) / var(--text-inflation, 1));font-weight:550;color:var(--accent);cursor:pointer}.library-starter__browse:hover{background:var(--surface-hover)}.dark .library-starter__book-actions [data-desktop-book-learning-action]{background:var(--text-primary);color:var(--text-inverse)}.dark .library-starter__browse{color:var(--text-primary)}.dark button.library-starter__book-title:hover{color:var(--accent-complement)}@media (prefers-reduced-motion:reduce){.library-starter__book,.library-starter__book-actions button{transition:none}}.bc,.bs{--cover-sans:system-ui,-apple-system,"PingFang SC","Hiragino Sans","Noto Sans CJK SC","Microsoft YaHei",sans-serif;--cover-serif:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC","SimSun",serif;position:relative;flex:none;overflow:hidden;contain:layout paint style;transition:transform .14s cubic-bezier(.2,.7,.3,1),box-shadow .14s ease}.bc-zh-tw,.bs:lang(zh-TW){--cover-serif:"Songti TC","Noto Serif CJK TC","Source Han Serif TC","PMingLiU",serif}.bc-ja{--cover-serif:"Hiragino Mincho ProN","YuMincho","Yu Mincho","Noto Serif CJK JP","Source Han Serif JP",serif;--cover-sans:system-ui,"Hiragino Sans","Noto Sans CJK JP","Yu Gothic",sans-serif}.bc-ko{--cover-serif:"AppleMyungjo","Noto Serif CJK KR","Source Han Serif KR","Nanum Myeongjo","Batang",serif;--cover-sans:system-ui,"Apple SD Gothic Neo","Noto Sans CJK KR","Malgun Gothic",sans-serif}.bc-latin{--cover-serif:"Iowan Old Style","Charter",Georgia,"Noto Serif","Songti SC","Noto Serif CJK SC",serif}.bc{background:var(--bc-base);color:var(--bc-ink);border-radius:calc(var(--u) * 6) calc(var(--u) * 14) calc(var(--u) * 14) calc(var(--u) * 6);box-shadow:0 1px 2px rgb(0 0 0/.18),0 calc(var(--u) * 10) calc(var(--u) * 24) rgb(0 0 0/.14);--bc-rule:rgb(17 17 17/.32)}.bc[data-ink=light]{--bc-rule:rgb(255 255 255/.42)}.bc:before{content:"";pointer-events:none;z-index:2;background:linear-gradient(90deg,rgb(0 0 0/.22) 0,rgb(0 0 0/.05) calc(var(--u) * 12),rgb(255 255 255/.1) calc(var(--u) * 16),rgb(255 255 255/0) calc(var(--u) * 34))}.bc-art,.bc:before{position:absolute;inset:0}.bc-art{width:100%;height:100%}.bc-head{position:absolute;left:calc(var(--u) * 48);right:calc(var(--u) * 48);top:calc(var(--u) * 58);display:flex;justify-content:space-between;gap:calc(var(--u) * 12);padding-bottom:calc(var(--u) * 14);border-bottom:max(1px,calc(var(--u) * 1.5)) solid var(--bc-rule);font:700 max(calc(var(--u) * 19),8px)/1.2 var(--cover-sans);letter-spacing:.12em;white-space:nowrap}.bc-cat{overflow:hidden;text-overflow:ellipsis}.bc-vol{font-family:var(--cover-serif);letter-spacing:.04em}.bc-titles{position:absolute;left:calc(var(--u) * 48);right:calc(var(--u) * 48);top:calc(var(--u) * 150);height:calc(var(--u) * 282);overflow:hidden;line-break:strict;overflow-wrap:anywhere}.bc-ko .bc-titles{word-break:keep-all;overflow-wrap:break-word}.bc-ja .bc-titles{word-break:auto-phrase}.bc-main,.bc-series,.bc-sub{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-wrap:balance}.bc-series{font:700 calc(var(--u) * 24)/1.3 var(--cover-sans);-webkit-line-clamp:2;margin-bottom:calc(var(--u) * 12);opacity:.92}.bc-main{font:700 calc(var(--u) * var(--bc-title))/1.16 var(--cover-serif);-webkit-line-clamp:var(--bc-lines);letter-spacing:.01em}.bc-latin .bc-main{letter-spacing:-.005em;line-height:1.1}.bc-sub{font:600 max(calc(var(--u) * 26),9px)/1.35 var(--cover-serif);-webkit-line-clamp:2;margin-top:calc(var(--u) * 16);opacity:.9}.bc-brand{position:absolute;left:calc(var(--u) * 48);bottom:calc(var(--u) * 36);font:700 calc(var(--u) * 15)/1 var(--cover-sans);letter-spacing:.22em;opacity:.78}.bc-thumb .bc-art [stroke-width="4"]{stroke-width:6.5}.bc-thumb .bc-art [stroke-width="2"]{stroke-width:3.4}.bc-thumb .bc-art [stroke-width="1.5"]{stroke-width:2.6}.bc-thumb .bc-head{letter-spacing:.06em}.bs{display:flex;flex-direction:column;align-items:center;background:var(--bs-base);color:var(--bs-ink);border-radius:2px 2px 1px 1px;box-shadow:0 1px 1px rgb(0 0 0/.2)}.bs:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgb(255 255 255/0) 3.4%,rgb(255 255 255/.22) 0,rgb(255 255 255/.22) 3.9%,rgb(255 255 255/0) 0),linear-gradient(90deg,rgb(0 0 0/.26),rgb(0 0 0/0) 24%,rgb(255 255 255/.14) 46%,rgb(0 0 0/0) 72%,rgb(0 0 0/.24))}.bs-title{flex:none;margin-top:9%;max-height:var(--bs-avail);writing-mode:vertical-rl;text-orientation:mixed;font:700 var(--bs-size)/1 var(--cover-serif);letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-title:lang(ja){--cover-serif:"Hiragino Mincho ProN","YuMincho","Noto Serif CJK JP",serif}.bs-title:lang(ko){--cover-serif:"AppleMyungjo","Noto Serif CJK KR","Nanum Myeongjo",serif;letter-spacing:.02em}.bs-title+.bs-seal{margin-top:auto}.bs-tcy{text-combine-upright:all;-webkit-text-combine:horizontal}.bs-vol{flex:none;margin-top:auto;writing-mode:vertical-rl;font:700 calc(var(--bs-size) * .62)/1 var(--cover-serif);opacity:.9}.bs-seal{flex:none;margin:8% 0 7%;min-width:9px;padding:.12em .1em;border:1px solid;border-radius:1px;font:700 calc(var(--bs-size) * .5)/1.15 var(--cover-serif);opacity:.8}.cs-item[data-lifted="1"]>.bc{transform:translateY(-4%) scale(1.025);box-shadow:0 2px 4px rgb(0 0 0/.2),0 calc(var(--u) * 26) calc(var(--u) * 48) rgb(0 0 0/.26)}.cs-item[data-lifted="1"]>.bs,.cs-item[data-picked="1"]>.bs{transform:translateY(-9%);box-shadow:0 6px 14px rgb(0 0 0/.32)}.cs-item[data-lifted="1"],.cs-item[data-picked="1"]{z-index:3}@media (prefers-reduced-motion:reduce){.bc,.bs{transition:none}}.cs-shelf{--shelf-ledge-top:#ece4d6;--shelf-ledge:#dccfb9;--shelf-ledge-edge:#c6b598;--shelf-ledge-shadow:rgb(84 62 30/.16);--shelf-mark:var(--accent,#6b4423);position:relative;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.dark .cs-shelf{--shelf-ledge-top:#3a342d;--shelf-ledge:#2c2722;--shelf-ledge-edge:#1f1b17;--shelf-ledge-shadow:rgb(0 0 0/.45)}.cs-own{overflow-y:auto;overscroll-behavior:contain;background:var(--surface-canvas,#fdfcf8)}.cs-shelf[data-scrubbing="1"]{touch-action:none}.cs-track{position:relative}.cs-row{contain:strict}.cs-books,.cs-row{position:absolute;left:0;right:0}.cs-books{z-index:1;display:flex;align-items:flex-end}.cs-item{position:relative;flex:none;cursor:pointer;outline:none;border-radius:4px}.cs-item:focus-visible>.bc,.cs-item:focus-visible>.bs{outline:2px solid var(--accent,#4a7fb5);outline-offset:3px}.cs-item[data-active="1"]:after{content:"";position:absolute;left:50%;bottom:-8px;width:min(44%,28px);min-width:8px;height:3px;border-radius:2px;transform:translateX(-50%);background:var(--shelf-mark);box-shadow:0 0 0 1px rgb(255 255 255/.35)}.cs-item[data-located="1"]>.bc,.cs-item[data-located="1"]>.bs{animation:cs-located 1.6s ease-out}@keyframes cs-located{0%,30%{outline:3px solid var(--accent,#4a7fb5);outline-offset:4px}to{outline:3px solid transparent;outline-offset:10px}}.cs-board{position:absolute;left:0;right:0;height:12px;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.cs-board:before{content:"";position:absolute;inset:0 0 auto;height:6px;border-radius:1px;background:linear-gradient(180deg,var(--shelf-ledge-top) 0,var(--shelf-ledge) 70%,var(--shelf-ledge-edge) 100%);box-shadow:inset 0 1px 0 rgb(255 255 255/.55)}.cs-board:after{content:"";position:absolute;left:0;right:0;top:6px;height:16px;background:linear-gradient(180deg,var(--shelf-ledge-shadow),transparent)}.dark .cs-board:before{box-shadow:inset 0 1px 0 rgb(255 255 255/.06)}.cs-shelf:not([data-view=gallery]) .cs-item:before{content:"";position:absolute;left:6%;right:6%;bottom:-3px;height:6px;border-radius:50%;background:radial-gradient(closest-side,rgb(40 28 12/.28),transparent);pointer-events:none}.dark .cs-shelf:not([data-view=gallery]) .cs-item:before{background:radial-gradient(closest-side,rgb(0 0 0/.6),transparent)}.cs-shelf[data-view=gallery] .cs-item[data-active="1"]:after{display:none}.cs-shelf[data-view=gallery] .cs-item[data-active="1"] .cs-cap-text:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent)}.cs-head{position:absolute;left:0;right:0;display:flex;align-items:flex-end;gap:8px;padding-bottom:4px}.cs-head h3{margin:0;font-size:calc((13px) / var(--text-inflation, 1));font-weight:650;letter-spacing:.02em;color:var(--text-primary)}.cs-head span{font-size:calc((11.5px) / var(--text-inflation, 1));font-variant-numeric:tabular-nums;color:var(--text-muted)}.cs-head:after{content:"";flex:1;height:1px;margin:0 0 6px 6px;background:var(--border-subtle,rgb(0 0 0/.07))}.cs-cap{position:absolute;left:0;right:0;display:flex;padding-top:6px;font-size:calc((12px) / var(--text-inflation, 1));line-height:1.2;color:var(--text-muted);font-variant-numeric:tabular-nums}.cs-cap,.cs-cap-text{align-items:center;gap:4px}.cs-cap-text{min-width:0;flex:1;display:inline-flex;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cs-cap-text svg{flex:none}.cs-item[data-active="1"] .cs-cap-text{color:var(--accent);font-weight:600}.cs-cap-text.is-warn,.cs-pick-meta .is-warn{color:var(--warning,#b87a1e);font-weight:600}.cs-cap-marks{flex:none;display:inline-flex}.cs-cap-marks:empty{display:none}.cs-more{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:30px;margin-right:-8px;border-radius:8px;color:var(--text-secondary);-webkit-tap-highlight-color:transparent}.cs-more:hover{background:var(--surface-hover)}.cs-more:active{background:var(--surface-active)}.cs-more:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cs-pick{position:absolute;z-index:5;animation:cs-pick-in .16s cubic-bezier(.2,.7,.3,1)}.cs-pick:before{content:"";position:absolute;top:-6px;left:calc(var(--cs-arrow) - 6px);width:12px;height:12px;transform:rotate(45deg);background:var(--surface-raised,#fff);box-shadow:-1px -1px 0 0 var(--border)}@keyframes cs-pick-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.cs-pick{animation:none}}.cs-pick-body{position:relative;padding:14px 14px 12px;border-radius:16px;background:var(--surface-raised,#fff);box-shadow:inset 0 0 0 1px var(--border),var(--shadow-3);user-select:text;-webkit-user-select:text;cursor:default}.cs-pick-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:calc((15px) / var(--text-inflation, 1));font-weight:600;line-height:1.35;color:var(--text-primary)}.cs-pick-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;font-size:calc((12px) / var(--text-inflation, 1));color:var(--text-muted)}.cs-pick-meta .is-accent{color:var(--accent);font-weight:600}.cs-pick-actions{display:flex;gap:8px;margin-top:12px}.cs-pick-open{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;border-radius:12px;font-size:calc((14px) / var(--text-inflation, 1));font-weight:600;color:#fff;background:var(--accent-button,var(--accent))}.cs-pick-open:active{opacity:.85}.cs-pick-more{display:inline-flex;align-items:center;justify-content:center;width:44px;min-height:40px;border-radius:12px;color:var(--text-secondary);background:var(--surface-sunken)}.cs-pick-more:hover{background:var(--surface-hover)}.cs-pick-more:focus-visible,.cs-pick-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cs-wait{height:560px;background:linear-gradient(180deg,transparent 0 calc(50% - 12px),var(--shelf-ledge,#dccfb9) calc(50% - 12px) 50%,transparent 50%),linear-gradient(180deg,transparent 0 calc(100% - 12px),var(--shelf-ledge,#dccfb9) calc(100% - 12px) 100%);opacity:.5;--shelf-ledge:#dccfb9}.dark .cs-wait{--shelf-ledge:#2c2722}.cs-card{position:fixed;z-index:50;max-width:260px;padding:10px 12px;border-radius:12px;background:var(--surface-raised,#fff);color:var(--text-primary,#1c1917);box-shadow:inset 0 0 0 1px var(--border,transparent),0 10px 30px rgb(0 0 0/.22);font:500 calc(13px / var(--text-inflation, 1))/1.45 system-ui,sans-serif;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .1s ease,transform .1s ease}.cs-card[data-open="1"]{opacity:1;transform:none}.cs-card b{display:block;font-size:calc((14px) / var(--text-inflation, 1));margin-bottom:2px}.bc-chip{border-radius:3px 5px 5px 3px;box-shadow:0 1px 2px rgb(0 0 0/.16),0 3px 8px rgb(0 0 0/.1);transition:none}.bc-chip .bc-art{animation:bc-art-in .22s ease-out}.bc-chip .bc-art [stroke-width="4"]{stroke-width:9}.bc-chip .bc-art [stroke-width="2"]{stroke-width:5}.bc-chip .bc-art [stroke-width="1.5"]{stroke-width:3.6}@keyframes bc-art-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.bc-chip .bc-art{animation:none}}.cs-figurine,.cs-gap,.cs-rowmark{position:relative;flex:none}.cs-figurine{display:flex;align-items:flex-end;justify-content:center}.cs-figurine>.cs-fig,.cs-figurine>img{position:relative;z-index:1}.cs-figurine:after{content:"";position:absolute;left:10%;right:10%;bottom:0;height:7px;border-radius:50%;background:linear-gradient(180deg,var(--shelf-ledge-top),var(--shelf-ledge-edge));box-shadow:0 2px 3px rgb(40 28 12/.22)}.cs-fig{display:block;width:100%;height:auto;margin-bottom:4px;object-fit:contain;filter:drop-shadow(0 3px 3px rgb(40 28 12/.22));-webkit-user-drag:none;user-select:none}.cs-shelf[data-editing="1"] .cs-gap{border-radius:4px;background:repeating-linear-gradient(135deg,transparent 0 6px,rgb(120 100 70/.07) 6px 12px);outline:1.5px dashed rgb(120 100 70/.38);outline-offset:-1.5px}.dark .cs-shelf[data-editing="1"] .cs-gap{outline-color:rgb(255 255 255/.22);background:repeating-linear-gradient(135deg,transparent 0 6px,rgb(255 255 255/.04) 6px 12px)}.cs-rowmark{align-self:flex-end;height:26px;margin-bottom:4px;border-radius:9999px;display:flex;align-items:center;justify-content:center;background:var(--surface-sunken);color:var(--text-muted)}.cs-rowmark:before{content:"↵";font-size:calc((13px) / var(--text-inflation, 1))}.cs-rowmark .cs-remove{top:-8px;right:-8px}.cs-remove{position:absolute;top:-9px;right:-9px;z-index:4;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--surface-raised,#fff);color:var(--text-secondary);box-shadow:0 1px 3px rgb(0 0 0/.25)}.cs-remove:hover{color:var(--danger,#c0392b)}.cs-shelf[data-editing="1"] [data-slot]{cursor:grab;touch-action:pan-y}.cs-shelf[data-editing="1"][data-scrubbing="1"] [data-slot]{cursor:grabbing}.cs-shelf [data-dragging="1"]{z-index:8;opacity:.96;filter:drop-shadow(0 14px 18px rgb(0 0 0/.28));transition:none;pointer-events:none}.cs-caret{position:absolute;left:0;top:0;z-index:7;width:3px;border-radius:2px;background:var(--accent,#4a7fb5);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#4a7fb5) 22%,transparent);opacity:0;pointer-events:none;transition:transform 90ms cubic-bezier(.2,.7,.3,1),opacity .12s ease}.cs-caret[data-on="1"]{opacity:1}@media (prefers-reduced-motion:reduce){.cs-caret{transition:none}}.cs-figurine .cs-remove{top:calc(36% - 10px);right:2px}@media (hover:hover) and (pointer:fine){.cs-item .cs-more{position:absolute;right:0;top:2px;margin-right:-6px;opacity:0;background:var(--surface-canvas,#fdfcf8);box-shadow:-10px 0 8px var(--surface-canvas,#fdfcf8);transition:opacity .12s ease}.cs-item:focus-within .cs-more,.cs-item:hover .cs-more,.cs-more:focus-visible{opacity:1}}.cs-shelf[data-editing="1"] [data-slot][data-selected="1"]{transform:translateY(-10px);filter:drop-shadow(0 8px 10px rgb(0 0 0/.25));z-index:4}.cs-shelf[data-editing="1"] [data-slot][data-selected="1"]:before{content:"";position:absolute;left:50%;bottom:-14px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--accent)}.cs-shelf[data-editing="1"] [data-slot]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.cs-fig{pointer-events:none}.bshero,.cs-shelf[data-view=gallery] .cs-head{--wall-serif:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC","Iowan Old Style",Georgia,serif}.cs-shelf[data-view=gallery] .cs-head{align-items:baseline;gap:12px;padding-top:18px;padding-bottom:0}.cs-shelf[data-view=gallery] .cs-head h3{font:600 calc(26px / var(--text-inflation, 1))/1.15 var(--wall-serif);letter-spacing:.04em}.cs-shelf[data-view=gallery] .cs-head span{font-size:calc((12px) / var(--text-inflation, 1));font-weight:500;letter-spacing:.18em}.cs-shelf[data-view=gallery] .cs-head:after{display:none}@media (max-width:639px){.cs-shelf[data-view=gallery] .cs-head h3{font-size:calc((20px) / var(--text-inflation, 1))}}.cs-shelf[data-view=gallery] .cs-item>.bc{box-shadow:0 1px 1px rgb(0 0 0/.08),0 calc(var(--u) * 30) calc(var(--u) * 56) calc(var(--u) * -26) rgb(40 28 12/.45)}.dark .cs-shelf[data-view=gallery] .cs-item>.bc{box-shadow:0 1px 1px rgb(0 0 0/.3),0 calc(var(--u) * 30) calc(var(--u) * 56) calc(var(--u) * -24) rgb(0 0 0/.7)}.cs-shelf[data-view=gallery] .cs-item[data-lifted="1"]>.bc{transform:translateY(-5px);box-shadow:0 2px 3px rgb(0 0 0/.1),0 calc(var(--u) * 44) calc(var(--u) * 70) calc(var(--u) * -28) rgb(40 28 12/.5)}.cs-shelf[data-view=gallery] .cs-cap{align-items:flex-start;padding-top:0}.cs-wall-cap{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.cs-wall-title{position:relative;display:flex;align-items:center;gap:4px;min-width:0;height:20px;font-size:calc((13px) / var(--text-inflation, 1));font-weight:600;line-height:20px;color:var(--text-primary)}.cs-wall-title>span:first-of-type{min-width:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cs-wall-title>svg{flex:none;color:var(--text-muted)}.cs-wall-meta{position:relative;display:flex;align-items:center;gap:8px;font-size:calc((11px) / var(--text-inflation, 1));font-weight:500;line-height:1;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.cs-wall-meta.is-warn{gap:4px;color:var(--warning,#b87a1e);font-weight:600}.cs-wall-meta.is-warn .cs-wall-state{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.cs-wall-meta .cs-more{height:28px;width:32px;margin:-9px -8px -9px -4px}@media (hover:hover) and (pointer:fine){.cs-wall-meta .cs-more{top:50%;margin:-14px -8px 0 0;box-shadow:none}.cs-wall-state{transition:opacity .12s ease}.cs-item:focus-within .cs-wall-state,.cs-item:hover .cs-wall-state{opacity:0}}.cs-wall-bar{flex:1;min-width:16px;height:2px;border-radius:2px;background:var(--border);overflow:hidden}.cs-wall-bar>i{display:block;height:100%;border-radius:inherit;background:var(--text-secondary)}.cs-item[data-active="1"] .cs-wall-bar>i{background:var(--accent)}.cs-shelf[data-view=gallery] .cs-item[data-active="1"] .cs-cap-text:before{content:none}@media (max-width:639px){.cs-wall-title{font-size:calc((12px) / var(--text-inflation, 1))}.cs-wall-meta{font-size:calc((10.5px) / var(--text-inflation, 1));gap:6px}}.bshero{position:relative;display:flex;align-items:center;gap:48px;margin:4px 8px 12px;padding:40px 48px;overflow:hidden;border-radius:28px;background:radial-gradient(120% 140% at 12% 18%,color-mix(in srgb,var(--hero-tint) 28%,var(--surface-canvas,#fdfcf8)) 0,color-mix(in srgb,var(--hero-tint) 9%,var(--surface-canvas,#fdfcf8)) 55%,var(--surface-canvas,#fdfcf8) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--hero-tint) 18%,transparent)}.dark .bshero{background:radial-gradient(120% 140% at 12% 18%,color-mix(in srgb,var(--hero-tint) 34%,var(--surface-canvas,#1a1917)) 0,color-mix(in srgb,var(--hero-tint) 12%,var(--surface-canvas,#1a1917)) 55%,var(--surface-canvas,#1a1917) 100%)}.bshero[data-located="1"]{animation:cs-located 1.6s ease-out}.bshero-cover{flex:none;padding:0;border-radius:4px;transform:rotate(-3deg);filter:drop-shadow(0 22px 26px rgb(0 0 0/.26));transition:transform .3s cubic-bezier(.2,.7,.3,1);-webkit-tap-highlight-color:transparent}.bshero-cover:hover{transform:rotate(-1.5deg) translateY(-4px)}.bshero-cover:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.bshero-body{flex:1;min-width:0}.bshero-eyebrow{font-size:calc((12px) / var(--text-inflation, 1));font-weight:600;letter-spacing:.22em;color:color-mix(in srgb,var(--hero-tint) 70%,var(--text-primary))}.bshero-title{margin:12px 0 8px;font:600 calc(32px / var(--text-inflation, 1))/1.25 var(--wall-serif);letter-spacing:.02em;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bshero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:calc((14px) / var(--text-inflation, 1));line-height:1.5;color:var(--text-secondary)}.bshero-meta.is-warn>span:last-child{color:var(--warning,#b87a1e);font-weight:600}.bshero-actions{display:flex;align-items:center;gap:16px;margin-top:24px}.bshero-go{flex:none;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 22px;border-radius:9999px;background:var(--accent);color:#fff;font-size:calc((15px) / var(--text-inflation, 1));font-weight:600;box-shadow:0 8px 18px -8px var(--accent);transition:transform .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent}.bshero-go:hover{transform:translateY(-1px);box-shadow:0 10px 22px -8px var(--accent)}.bshero-go:active{transform:none}.bshero-go:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.bshero-bar{flex:1;max-width:220px;height:4px;border-radius:4px;background:rgb(0 0 0/.08);overflow:hidden}.dark .bshero-bar{background:rgb(255 255 255/.12)}.bshero-bar>i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.bshero-more{flex:none;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:9999px;color:var(--text-secondary);-webkit-tap-highlight-color:transparent}.bshero-more:hover{background:color-mix(in srgb,var(--hero-tint) 12%,transparent)}.bshero-more:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.bshero.is-mobile{gap:18px;margin:2px 4px 6px;padding:20px 16px 20px 20px;border-radius:22px;align-items:flex-start}.bshero.is-mobile .bshero-cover{transform:rotate(-3deg);margin-top:4px}.bshero.is-mobile .bshero-eyebrow{font-size:calc((11px) / var(--text-inflation, 1));letter-spacing:.2em}.bshero.is-mobile .bshero-title{margin:8px 0 4px;font-size:calc((19px) / var(--text-inflation, 1))}.bshero.is-mobile .bshero-meta{font-size:calc((12.5px) / var(--text-inflation, 1));gap:4px}.bshero.is-mobile .bshero-actions{gap:10px;margin-top:14px}.bshero.is-mobile .bshero-go{height:38px;padding:0 16px;font-size:calc((14px) / var(--text-inflation, 1));gap:6px}.bshero.is-mobile .bshero-bar{display:none}.bshero.is-mobile .bshero-more{width:36px;height:36px;margin-right:-6px}@media (min-width:640px) and (max-width:899px){.bshero:not(.is-mobile){gap:32px;padding:32px 36px}.bshero:not(.is-mobile) .bshero-title{font-size:calc((26px) / var(--text-inflation, 1))}}@media (prefers-reduced-motion:reduce){.bshero-cover,.bshero-go{transition:none}}.bshero-chapter{flex:0 1 320px;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding-left:36px;border-left:1px solid color-mix(in srgb,var(--hero-tint) 26%,transparent)}.bshero-chapter-label{font-size:calc((12px) / var(--text-inflation, 1));font-weight:600;letter-spacing:.16em;color:var(--text-muted)}.bshero-chapter-title{margin-top:10px;font:500 calc(20px / var(--text-inflation, 1))/1.45 var(--wall-serif);color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bshero.is-mobile .bshero-chapter{flex:none;display:flex;flex-direction:row;align-items:baseline;gap:6px;margin-top:8px;padding-left:0;border-left:0}.bshero.is-mobile .bshero-chapter-label{flex:none;font-size:calc((11px) / var(--text-inflation, 1));letter-spacing:.08em}.bshero.is-mobile .bshero-chapter-title{margin-top:0;font:500 calc(13px / var(--text-inflation, 1))/1.4 var(--cover-sans,system-ui);color:var(--text-secondary);-webkit-line-clamp:1}@media (min-width:640px) and (max-width:899px){.bshero:not(.is-mobile) .bshero-chapter{flex-basis:220px;padding-left:24px}.bshero:not(.is-mobile) .bshero-chapter-title{font-size:calc((17px) / var(--text-inflation, 1))}}.ce-panel{padding:0;overflow:hidden}.ce{display:flex;flex-direction:column;min-height:0;color:var(--text-primary)}.ce-head{padding:22px 28px 0}.ce-title{margin:0;font-size:calc((16px) / var(--text-inflation, 1));font-weight:600;letter-spacing:-.01em}.ce-book{margin:2px 0 0;font-size:calc((13px) / var(--text-inflation, 1));color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ce-body{display:grid;grid-template-columns:252px minmax(0,1fr);gap:0;margin-top:18px;min-height:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.ce-stage{display:flex;align-items:center;justify-content:center;padding:32px 24px;background:var(--surface-sunken)}.ce-stage .bc{box-shadow:0 2px 4px rgb(0 0 0/.1),0 14px 32px rgb(0 0 0/.16);transition:background-color .26s ease}.ce-controls{max-height:min(64vh,600px);overflow-y:auto;padding:20px 24px 22px;gap:22px}.ce-controls,.ce-section{display:flex;flex-direction:column}.ce-section{gap:10px}.ce-label{margin:0;font-size:calc((11px) / var(--text-inflation, 1));font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.ce-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ce-group{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:8px}.ce-sublabel{padding-top:8px;font-size:calc((12px) / var(--text-inflation, 1));color:var(--text-muted)}.ce-swatches{display:grid;grid-template-columns:repeat(8,32px);gap:4px 6px}.ce-default{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 6px;border-radius:999px;border:1px solid var(--border);background:transparent;font-size:calc((12px) / var(--text-inflation, 1));font-weight:500;color:var(--text-primary);cursor:pointer}.ce-default:hover{background:var(--surface-hover,var(--surface-sunken))}.ce-default[aria-pressed=true]{border-color:var(--text-primary)}.ce-default-dot{width:16px;height:16px;border-radius:999px;box-shadow:inset 0 0 0 1px rgb(0 0 0/.08)}.ce-swatch{width:32px;height:32px;border-radius:999px;background:transparent;border:0;padding:0;cursor:pointer}.ce-swatch,.ce-swatch-dot{display:inline-flex;align-items:center;justify-content:center}.ce-swatch-dot{width:24px;height:24px;border-radius:999px;background:var(--ce-swatch);color:#fff;box-shadow:inset 0 0 0 1px rgb(0 0 0/.08);transition:transform .14s ease,box-shadow .14s ease}.ce-swatch:hover .ce-swatch-dot{transform:scale(1.08)}.ce-swatch[aria-pressed=true] .ce-swatch-dot{box-shadow:0 0 0 2px var(--surface-raised),0 0 0 3.5px var(--ce-swatch)}.ce-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ce-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:10px 8px}.ce-tile{position:relative;display:flex;justify-content:center;padding:4px 0 6px;background:transparent;border:0;border-radius:10px;cursor:pointer;transition:background-color .14s ease}.ce-tile:hover{background:var(--surface-hover,var(--surface-sunken))}.ce-tile .bc-chip{transition:transform .16s ease,box-shadow .16s ease}.ce-tile:hover .bc-chip{transform:translateY(-2px)}.ce-tile[aria-pressed=true] .bc-chip{box-shadow:0 0 0 2px var(--surface-raised),0 0 0 4px var(--text-primary),0 6px 14px rgb(0 0 0/.18)}.ce-tile:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ce-tile-badge{position:absolute;left:50%;bottom:0;transform:translate(-50%,35%);padding:1px 6px;border-radius:999px;font-size:calc((10px) / var(--text-inflation, 1));font-weight:600;line-height:14px;white-space:nowrap;background:var(--surface-raised);color:var(--text-primary);box-shadow:0 1px 3px rgb(0 0 0/.18)}.ce-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px 16px}.ce-footer--sheet{padding:0}.ce-footer--sheet .ce-btn{flex:1;min-height:44px}.ce-btn{min-height:38px;padding:0 16px;border-radius:10px;border:0;font-size:calc((14px) / var(--text-inflation, 1));font-weight:500;background:transparent;color:var(--text-secondary,var(--text-muted));cursor:pointer}.ce-btn:hover{background:var(--surface-hover,var(--surface-sunken))}.ce-btn--primary{font-weight:600;color:#fff}.ce-btn--primary,.ce-btn--primary:hover{background:var(--accent-button,var(--accent))}.ce-btn--primary:hover{filter:brightness(1.06)}.ce-btn--primary:disabled{opacity:.4;cursor:default;filter:none}.ce--mobile .ce-stage{padding:18px 16px 22px;border-radius:16px;margin:0 4px}.ce--mobile .ce-controls{max-height:none;overflow:visible;padding:18px 4px 8px}.ce--mobile .ce-group{grid-template-columns:1fr;gap:4px}.ce--mobile .ce-sublabel{padding-top:0}.ce--mobile .ce-tiles{grid-template-columns:repeat(auto-fill,minmax(56px,1fr))}@media (prefers-reduced-motion:reduce){.ce-stage .bc,.ce-swatch-dot,.ce-tile .bc-chip{transition:none}}.bc :is(.bc-head,.bc-vol,.bc-series,.bc-main,.bc-sub,.bc-brand){font-family:inherit}