@import "https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500;600;700;800&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap";:root{--cream:#fef3e7;--cream-deep:#fbe7d2;--cream-soft:#fff9f1;--ink:#2b2237;--ink-soft:#5b4f6b;--ink-faint:#9a8fa8;--coral:#ff6b6b;--coral-deep:#e85555;--coral-soft:#ffe4e1;--sun:#ffd166;--sun-deep:#f0b837;--sun-soft:#fff3cf;--mint:#06d6a0;--mint-deep:#04b386;--mint-soft:#ccf5e7;--plum:#8b5cf6;--plum-deep:#7340e6;--plum-soft:#ebe1ff;--sky:#5ec8ed;--sky-deep:#3aa6cc;--sky-soft:#d4f0fa;--press:0 4px 0 #2b22371f;--press-coral:0 4px 0 var(--coral-deep);--press-mint:0 4px 0 var(--mint-deep);--press-sun:0 4px 0 var(--sun-deep);--press-plum:0 4px 0 var(--plum-deep);--press-sky:0 4px 0 var(--sky-deep);--press-ink:0 4px 0 #2b22372e;--card-shadow:0 2px 0 #2b22370f, 0 12px 30px -10px #2b223724;--card-shadow-lg:0 2px 0 #2b223714, 0 22px 50px -16px #2b223738;--shadow-focus:0 0 0 3px #8b5cf652;--r-sm:10px;--r-md:16px;--r-lg:24px;--r-xl:32px;--r-pill:999px;--font-ui:"Zen Kaku Gothic New", system-ui, -apple-system, "Helvetica Neue", sans-serif;--font-display:"Shippori Mincho", "Hiragino Mincho ProN", serif;--font-kr:"Noto Sans KR", "Apple SD Gothic Neo", sans-serif;--font-jp:"Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif;--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);font-family:var(--font-ui);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;font-weight:700}html,body{margin:0;padding:0}body{background:var(--cream);min-width:320px;min-height:100vh;color:var(--ink);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;font-size:16px;line-height:1.5}button{cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-family:inherit}input,textarea{font-family:inherit;font-size:16px}a{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}:lang(ko),.kr{font-family:var(--font-kr)}:lang(ja),.jp{font-family:var(--font-jp)}:focus{outline:none}:focus-visible{box-shadow:var(--shadow-focus);outline:none}.jp-cockpit.jp-canvas{justify-content:stretch}.jp-cockpit .jp-app{background:var(--bg);min-width:0;max-width:none;color:var(--ink);padding-bottom:0}.jp-cockpit .jp-sidebar{display:none}.jp-cockpit .jp-topbar{background:color-mix(in srgb, var(--surface) 94%, transparent);border-bottom:1px solid var(--line);min-width:0;color:var(--ink);z-index:5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:6px;padding:10px 8px 8px;display:flex;position:sticky;top:0}.jp-cockpit .jp-topbar .jp-brand{flex:0 auto;overflow:hidden}.jp-cockpit .jp-topbar__stats{min-width:0;color:var(--indigo);flex-direction:row;flex:auto;justify-content:flex-end;gap:3px;font-size:11px;font-weight:900;display:flex}.jp-cockpit .jp-topbar__stats span{background:var(--indigo-soft);white-space:nowrap;border-radius:999px;min-width:0;padding:3px 6px}.jp-cockpit .jp-topbar__stats span+span{color:var(--accent);background:var(--accent-soft)}.jp-cockpit .jp-topbar .jp-icon-button{flex:0 0 32px}.jp-cockpit .jp-main{width:100%;max-width:1180px;margin:0 auto;padding:18px clamp(16px,3.5vw,40px) 112px}.sinbi-navigation__link{color:var(--muted);background:0 0}.sinbi-navigation__link.is-active{color:var(--indigo);background:var(--indigo-soft)}.sinbi-navigation__glyph{color:var(--faint);font-family:var(--font-display);background:0 0;flex:none;place-items:center;font-weight:800;display:grid}.sinbi-navigation__link.is-active .sinbi-navigation__glyph{color:var(--indigo);background:var(--indigo-soft)}.sinbi-navigation--mobile{z-index:50;width:100%;max-width:none;padding:8px 6px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.sinbi-navigation__link--mobile{letter-spacing:.04em;white-space:nowrap;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:0 1px;font-size:9.5px;font-weight:700;line-height:1.05;display:flex}.sinbi-navigation__link--mobile.is-active{background:0 0}.sinbi-navigation__link--mobile .sinbi-navigation__glyph{border-radius:11px;width:34px;height:34px;font-size:16px}.sinbi-navigation__label{white-space:nowrap;min-width:0}.sinbi-navigation--desktop{flex-direction:column;gap:6px;margin-top:20px;display:flex}.sinbi-navigation__link--desktop{border-radius:13px;align-items:center;gap:10px;padding:11px 12px;font-size:14px;font-weight:800;display:flex}.sinbi-navigation__link--desktop .sinbi-navigation__glyph{background:var(--surface2);border-radius:9px;width:28px;height:28px}.sinbi-navigation__link--desktop.is-active .sinbi-navigation__glyph{color:var(--onindigo);background:var(--indigo)}.sinbi-navigation__icon{color:var(--faint);margin-left:auto}@media (width<=360px){.jp-cockpit .jp-brand--mobile{gap:5px}.jp-cockpit .jp-brand--mobile .jp-brand__mark{width:28px;height:28px}.jp-cockpit .jp-brand--mobile .jp-brand__wordmark{font-size:18px}.jp-cockpit .jp-brand--mobile small{display:none}}@media (width>=920px){.jp-cockpit .jp-app{box-shadow:none;padding-top:0}.jp-cockpit .jp-sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;flex-shrink:0;width:252px;height:100vh;padding:26px 18px 20px;display:flex;position:sticky;top:0}.jp-sidebar__microcopy{color:var(--faint);letter-spacing:.04em;font-size:11px}.jp-sidebar__tagline{color:var(--faint);letter-spacing:.04em;margin:0 10px 18px;font-size:11px}.jp-profile-card{border:1px solid var(--line);background:var(--surface2);border-radius:16px;align-items:center;gap:10px;padding:14px;display:flex}.jp-profile-card span{color:var(--muted);font-size:12px;font-weight:800;display:block}.jp-profile-card strong{font-size:18px;display:block}.jp-sync-card{border:1px solid var(--line);color:var(--muted);border-radius:12px;align-items:center;gap:8px;margin-top:auto;padding:10px;font-size:12.5px;font-weight:800;display:flex}.jp-theme-toggle{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding:10px;font-size:12.5px;font-weight:800;display:flex}.jp-cockpit .jp-topbar,.jp-cockpit .sinbi-navigation--mobile{display:none}.jp-cockpit .jp-main{padding-bottom:44px}}.jp-library-page{gap:18px}.jp-library-page .jp-library-hero,.jp-library-page .jp-library-archive--single-column{width:min(100%,820px);margin-inline:auto}.jp-library-page .jp-library-hero{background:radial-gradient(circle at 95% 0%, color-mix(in srgb, var(--plum) 18%, transparent), transparent 34%), radial-gradient(circle at 0% 100%, color-mix(in srgb, var(--green) 14%, transparent), transparent 32%), var(--surface);overflow:hidden}.jp-library-page .jp-library-archive{gap:14px}.jp-library-page .jp-material-grid{grid-template-columns:minmax(0,1fr)}.jp-library-hero__actions,.jp-library-filter-groups{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.jp-library-hero__actions{justify-content:flex-end}.jp-library-filter-groups{justify-content:space-between}.jp-library-filter-disclosure{width:100%}.jp-library-filter-disclosure>summary,.jp-material-details>summary{list-style:none}.jp-library-filter-disclosure>summary::-webkit-details-marker{display:none}.jp-material-details>summary::-webkit-details-marker{display:none}.jp-library-filter-disclosure>summary:after,.jp-material-details>summary:after{content:"›";transform-origin:50%;transition:transform .16s var(--ease-out);margin-left:auto;display:inline-block;transform:rotate(0)}.jp-library-filter-disclosure[open]>summary:after,.jp-material-details[open]>summary:after{transform:rotate(90deg)}.jp-library-filter-disclosure::details-content{opacity:0;transition:content-visibility .12s allow-discrete, opacity .12s var(--ease-out), transform .12s var(--ease-out);transform:translateY(-4px)}.jp-material-details::details-content{opacity:0;transition:content-visibility .12s allow-discrete, opacity .12s var(--ease-out), transform .12s var(--ease-out);transform:translateY(-4px)}.jp-library-filter-disclosure[open]::details-content{opacity:1;transition-duration:.16s;transform:translateY(0)}.jp-material-details[open]::details-content{opacity:1;transition-duration:.16s;transform:translateY(0)}.jp-library-filter-disclosure>summary{color:var(--ink);cursor:pointer;align-items:center;font-weight:900;display:none}.jp-library-page .jp-filter-row button,.jp-library-filter-disclosure>summary,.jp-library-page .jp-material-details summary,.jp-library-page .jp-material-card button,.jp-library-page .jp-material-card a,.jp-library-page .jp-material-card .jp-action{min-height:44px}.jp-library-page .jp-material-card{box-shadow:var(--shadow);transition:opacity .14s var(--ease-out), transform .14s var(--ease-out)}.jp-material-card.is-reviewing-exit{opacity:0;pointer-events:none;transform:translate(8px)}.jp-material-card.is-review-confirmed .jp-pill--success{transform-origin:50%;animation:library-status-confirm .16s var(--ease-out)}.jp-library-archive>.jp-feedback--success{animation:library-feedback-in .16s var(--ease-out)}.jp-library-page .jp-output-link--local{color:var(--gold);background:var(--gold-soft);cursor:pointer}.jp-library-page .jp-output-link--unavailable{color:var(--muted);background:var(--surface2);white-space:normal}.jp-library-empty{border:1px dashed var(--line2);background:var(--surface2);border-radius:20px;justify-items:start;gap:7px;padding:clamp(22px,5vw,40px);display:grid}.jp-library-empty strong{color:var(--ink);font-family:var(--font-display);font-size:18px}.jp-library-empty span{color:var(--muted);font-size:13px;font-weight:750;line-height:1.5}.jp-library-empty .jp-action{margin-top:5px}.jp-library-load-more{justify-content:center;align-self:center;min-width:min(100%,220px)}.jp-library-footer{border:1px solid color-mix(in srgb, var(--plum) 24%, var(--line));background:linear-gradient(135deg, var(--plum-soft), var(--surface));border-radius:18px;align-items:center;gap:12px;padding:15px 17px;display:flex}.jp-library-footer>span{width:38px;height:38px;color:var(--onindigo);background:var(--plum);border-radius:12px;flex:0 0 38px;place-items:center;font-weight:950;display:grid}.jp-library-footer p{margin:0;display:block}.jp-library-footer strong{color:var(--ink);margin:0;font-size:13px;display:block}.jp-library-footer small{color:var(--muted);margin:2px 0 0;font-size:11.5px;font-weight:750;line-height:1.4;display:block}@media (width<=640px){.jp-library-filter-disclosure>summary{justify-content:space-between;width:100%;display:flex}.jp-library-filter-disclosure[open]>.jp-library-filter-groups{margin-top:8px}.jp-library-filter-groups{flex-direction:column;align-items:flex-start}.jp-library-page .jp-title-row{align-items:flex-start}.jp-library-page .jp-material-grid{grid-template-columns:1fr}.jp-library-page .jp-material-actions>*,.jp-library-page .jp-material-recovery-card__actions,.jp-library-page .jp-material-recovery-card__actions .jp-action{width:100%}.jp-library-page .jp-material-recovery-card{grid-template-columns:1fr}}.jp-library-hero{gap:16px}.jp-material-grid{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.jp-library-page .jp-material-card{min-height:0}.jp-material-card__subtitle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jp-archive-output,.jp-material-details__body,.jp-material-details__outputs{gap:8px;display:grid}.jp-archive-output{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.jp-archive-output--primary{width:100%}.jp-material-output-state{color:var(--muted);font-size:12px;font-weight:850}.jp-material-details{border-top:1px solid var(--line);padding-top:10px}.jp-material-details summary{width:fit-content;color:var(--muted);cursor:pointer;align-items:center;gap:7px;font-size:12px;font-weight:900;display:inline-flex}.jp-material-details__body{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.5}.jp-material-details__outputs{padding-bottom:4px}.jp-material-card{border:1px solid var(--line);background:var(--surface2);overflow-wrap:anywhere;border-radius:18px;flex-direction:column;gap:12px;min-width:0;min-height:100%;padding:14px;display:flex}.jp-material-card__head{align-items:flex-start;gap:12px;display:flex}.jp-material-card__head>div{flex:1;min-width:0}.jp-material-card__head strong{color:var(--ink);font-size:16px;line-height:1.35;display:block}.jp-material-card__head>div>span,.jp-source-link{color:var(--muted);font-size:12.5px;line-height:1.55;display:block}.jp-material-card__head .jp-pill{flex-shrink:0;display:inline-flex}.jp-material-card p{color:var(--muted);margin:0;font-size:12.5px;line-height:1.55;display:block}.jp-material-lineage{border:1px solid color-mix(in srgb, var(--plum) 22%, var(--line));width:fit-content;max-width:100%;color:var(--plum);background:var(--plum-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:11.5px;font-weight:900;display:inline-flex;overflow:hidden}.jp-material-lineage span{text-overflow:ellipsis;min-width:0;overflow:hidden}.jp-material-lineage a,.jp-worker-lineage a{color:inherit;text-underline-offset:2px;flex-shrink:0;text-decoration:underline}.jp-material-meta,.jp-output-grid{flex-wrap:wrap;gap:7px;display:flex}.jp-material-primary{border:1px dashed var(--line2);background:var(--surface);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.jp-material-primary>span:first-child{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900}.jp-material-recovery-card{border:1px solid color-mix(in srgb, var(--green) 28%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--green-soft) 74%, transparent), var(--surface));border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.jp-material-recovery-card>div{gap:3px;min-width:0;display:grid}.jp-material-recovery-card__actions{justify-items:end;gap:6px}.jp-material-recovery-card__actions .jp-action{white-space:nowrap;justify-content:center;width:100%}.jp-material-recovery-card span{color:var(--green);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950}.jp-material-recovery-card strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.3;overflow:hidden}.jp-material-recovery-card small{color:var(--muted);overflow-wrap:anywhere;font-size:12px;font-weight:800;line-height:1.45}.jp-material-recovery-card--active{border-color:color-mix(in srgb, var(--indigo) 30%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--indigo-soft) 72%, transparent), var(--surface))}.jp-material-recovery-card--active span{color:var(--indigo)}.jp-material-recovery-card--danger{border-color:color-mix(in srgb, var(--accent) 34%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 72%, transparent), var(--surface))}.jp-material-recovery-card--danger span{color:var(--accent)}.jp-material-recovery-card--muted{border-color:var(--line);background:var(--surface)}.jp-material-recovery-card--muted span{color:var(--muted)}.jp-material-derive-card{border:1px solid color-mix(in srgb, var(--green) 28%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--green-soft) 72%, transparent), var(--surface));border-radius:16px;grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;padding:12px;display:grid}.jp-material-derive-card>div{gap:3px;min-width:0;display:grid}.jp-material-derive-card>.jp-action{justify-self:start}.jp-material-derive-card span{color:var(--green);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950}.jp-material-derive-card strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.3;overflow:hidden}.jp-material-derive-card small{color:var(--muted);overflow-wrap:anywhere;font-size:12px;font-weight:800;line-height:1.45}.jp-material-derive-card--active{border-color:color-mix(in srgb, var(--indigo) 30%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--indigo-soft) 72%, transparent), var(--surface))}.jp-material-derive-card--active span{color:var(--indigo)}.jp-material-derive-card--danger{border-color:color-mix(in srgb, var(--accent) 34%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 70%, transparent), var(--surface))}.jp-material-derive-card--danger span{color:var(--accent)}.jp-material-derive-card--muted{border-color:var(--line);background:var(--surface)}.jp-material-derive-card--muted span{color:var(--muted)}.jp-output-link{border-radius:999px;padding:5px 9px;font-size:11.5px;font-weight:900}.jp-material-meta span{color:var(--indigo);background:var(--indigo-soft);border-radius:999px;padding:5px 9px;font-size:11.5px;font-weight:900}.jp-material-actions{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px;display:flex}.jp-material-card__review,.jp-material-actions .jp-action{align-self:flex-start}.jp-material-card__review:disabled,.jp-link:disabled{cursor:default;opacity:.58}@media (width<=980px){.jp-home-cockpit-grid,.jp-library-review-card,.jp-family-operator,.jp-worker-layout,.jp-worker-metrics,.jp-worker-detail__meta{grid-template-columns:1fr}.jp-library-review-card .jp-action{justify-self:start}}@media (width<=640px){.jp-create-hero .jp-muted,.jp-library-review-card p,.jp-library-hero p{overflow-wrap:anywhere}.jp-library-review-card__metrics small{letter-spacing:.02em;overflow-wrap:anywhere;font-size:9px;line-height:1.2}.jp-library-review-card__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.jp-library-review-card__metrics span{border-bottom:1px solid var(--line)}.jp-library-review-card__metrics span:nth-child(2n){border-right:0}.jp-library-review-card__metrics span:nth-last-child(-n+2){border-bottom:0}.jp-family-operator__metrics,.jp-material-recovery-card,.jp-material-derive-card{grid-template-columns:1fr}.jp-material-recovery-card strong,.jp-material-derive-card strong{white-space:normal}.jp-material-recovery-card .jp-action,.jp-material-derive-card .jp-action{justify-self:stretch}.jp-material-recovery-card__actions,.jp-material-derive-card>.jp-action,.jp-job-row__actions,.jp-job-row__actions .jp-action{width:100%}}@keyframes library-status-confirm{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes library-feedback-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.jp-library-page .jp-material-card{transition-duration:.1s}.jp-material-card.is-reviewing-exit{transform:none}.jp-material-card.is-review-confirmed .jp-pill--success,.jp-library-archive>.jp-feedback--success{animation-name:library-feedback-reduced;animation-duration:.1s}.jp-library-filter-disclosure>summary:after,.jp-material-details>summary:after{transition:none}.jp-library-filter-disclosure::details-content{transition-duration:.1s;transform:none}.jp-material-details::details-content{transition-duration:.1s;transform:none}}@keyframes library-feedback-reduced{0%{opacity:0}to{opacity:1}}body.jp-revision-session-active{overflow:hidden}body.jp-revision-session-active .jp-topbar,body.jp-revision-session-active .jp-nav{display:none}body.jp-revision-session-active .jp-main{padding:0}.jp-revision.jp-view{--review-jp-sans:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;--review-surface:var(--surface);--review-surface-soft:var(--surface2);--review-ink:var(--ink);--review-muted:var(--muted);--review-faint:var(--faint);--review-line:var(--line);--review-indigo:var(--indigo);--review-on-indigo:var(--onindigo);--review-accent:var(--accent);--review-green:var(--green)}.jp-revision button{min-width:44px;min-height:44px}.jp-revision .jp-revision-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.jp-revision .jp-revision-titlebar{justify-content:space-between;align-items:center;display:flex}.jp-revision .jp-revision-titleline{align-items:baseline;gap:12px;display:flex}.jp-revision .jp-revision-titleline span{color:var(--review-faint);font-family:var(--jp-serif,"Shippori Mincho", serif);font-weight:800}.jp-revision .jp-revision-hero{background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--review-indigo) 10%, transparent), transparent 34%), var(--review-surface)}.jp-revision .jp-revision-hero p{color:var(--review-muted);margin:5px 0 0;font-size:13px;font-weight:700}.jp-revision .jp-revision-meta{color:var(--review-muted);justify-content:space-between;align-items:center;gap:14px;margin-top:14px;font-size:12px;font-weight:800;display:flex}.jp-revision .jp-revision-notice{border:1px solid color-mix(in srgb, var(--review-accent) 30%, transparent);border-radius:12px;padding:9px 12px}.jp-revision .jp-revision-menu{gap:16px}.jp-revision .jp-revision-mode-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;display:grid}.jp-revision .jp-revision-mode-card{min-height:156px;color:var(--review-ink);background:var(--review-surface);border:1px solid var(--review-line);box-shadow:var(--shadow);cursor:pointer;text-align:left;border-radius:20px;align-content:start;gap:9px;padding:22px;transition:border-color .15s,transform .15s,box-shadow .15s;display:grid;position:relative}.jp-revision .jp-revision-mode-card[data-priority=primary]{border-color:color-mix(in srgb, var(--review-indigo) 34%, var(--review-line));background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--review-indigo) 18%, transparent), transparent 42%), linear-gradient(145deg, var(--review-surface), color-mix(in srgb, var(--review-indigo) 7%, var(--review-surface)));grid-column:span 7;min-height:184px;padding:26px}.jp-revision .jp-revision-mode-card[data-priority=secondary]{grid-column:span 5;min-height:184px}.jp-revision .jp-revision-mode-card[data-priority=context]{min-height:136px;box-shadow:none;grid-column:span 4}.jp-revision .jp-revision-mode-card__recommendation{border:1px solid color-mix(in srgb, var(--review-indigo) 24%, var(--review-line));color:var(--review-indigo);background:color-mix(in srgb, var(--review-indigo) 9%, var(--review-surface));letter-spacing:.035em;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;position:absolute;top:22px;right:22px}.jp-revision .jp-revision-mode-card[data-tone=indigo]{--review-mode-tone:var(--indigo);--review-mode-tone-soft:var(--indigo-soft)}.jp-revision .jp-revision-mode-card[data-tone=accent]{--review-mode-tone:var(--accent);--review-mode-tone-soft:var(--accent-soft)}.jp-revision .jp-revision-mode-card[data-tone=gold]{--review-mode-tone:var(--gold);--review-mode-tone-soft:var(--gold-soft)}.jp-revision .jp-revision-mode-card[data-tone=green]{--review-mode-tone:var(--green);--review-mode-tone-soft:var(--green-soft)}.jp-revision .jp-revision-mode-card[data-tone=plum]{--review-mode-tone:var(--plum);--review-mode-tone-soft:var(--plum-soft)}.jp-revision .jp-revision-mode-card:hover,.jp-revision .jp-revision-mode-card:focus-visible{border-color:var(--review-mode-tone);box-shadow:var(--shadow);transform:translateY(-2px)}.jp-revision .jp-revision-mode-card__icon{width:44px;height:44px;color:var(--review-mode-tone);background:var(--review-mode-tone-soft);font-family:var(--jp-serif,"Shippori Mincho", serif);border-radius:13px;place-items:center;font-size:20px;font-weight:800;display:grid}.jp-revision .jp-revision-mode-card strong{font-family:var(--jp-serif,"Shippori Mincho", serif);font-size:18px;font-weight:800}.jp-revision .jp-revision-mode-card[data-priority=primary] strong{font-size:clamp(1.35rem,2.4vw,1.7rem)}.jp-revision .jp-revision-mode-card small{color:var(--review-muted);font-size:12.5px;font-weight:650;line-height:1.5}.jp-revision .jp-revision-size-chips{border:1px solid var(--review-line);background:var(--review-surface-soft);border-radius:16px;grid-template-columns:auto auto minmax(180px,1fr);align-items:center;gap:10px;padding:12px 14px;display:grid}.jp-revision .jp-revision-size-chips>span{color:var(--review-muted);letter-spacing:.1em;text-transform:uppercase;margin-right:3px;font-size:11px;font-weight:850}.jp-revision .jp-revision-size-chips__presets,.jp-revision .jp-revision-size-chips__custom{gap:8px;min-width:0;display:flex}.jp-revision .jp-revision-size-chips__custom input{min-width:0;min-height:44px;color:var(--review-ink);background:var(--review-surface);border:1px solid var(--review-line);text-align:center;border-radius:12px;flex:1;padding:8px 12px;font-size:16px;font-weight:850}.jp-revision .jp-revision-size-chips__custom input.is-active{border-color:var(--review-indigo);box-shadow:0 0 0 2px color-mix(in srgb, var(--review-indigo) 15%, transparent)}.jp-revision .jp-revision-size-chips .jp-revision-size-chips__custom button{min-width:88px;min-height:44px}.jp-revision .jp-revision-size-chips__custom button small{opacity:.78;margin-left:3px;font-size:10px}.jp-revision .jp-revision-size-chips input:disabled,.jp-revision .jp-revision-size-chips button:disabled,.jp-revision .jp-revision-setup__presets button:disabled{cursor:not-allowed;opacity:.5}.jp-revision .jp-revision-size-chips button,.jp-revision .jp-revision-study__controls button,.jp-revision .jp-revision-end{min-width:44px;min-height:44px;color:var(--review-muted);background:var(--review-surface);border:1px solid var(--review-line);border-radius:999px;padding:9px 15px;font-size:13px;font-weight:850}.jp-revision .jp-revision-size-chips button.is-active,.jp-revision .jp-revision-study__controls button.is-active{color:var(--review-on-indigo);background:var(--review-indigo);border-color:var(--review-indigo)}.jp-revision .jp-revision-study__controls button:disabled{cursor:not-allowed;opacity:.62}.jp-revision .jp-revision-attempt-warning{color:var(--review-accent);background:color-mix(in srgb, var(--review-accent) 10%, var(--review-surface));border:1px solid color-mix(in srgb, var(--review-accent) 32%, transparent);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:13px;font-weight:750;display:flex}.jp-revision .jp-revision-attempt-warning button{flex:none}.jp-review-motion-presence{display:contents}.jp-review-motion-presence[data-state=closed]{pointer-events:none}.jp-revision .jp-revision-picker-backdrop{z-index:1000;background:color-mix(in srgb, var(--ink) 58%, transparent);opacity:0;transition:opacity .15s var(--ease-out);place-items:center;padding:18px;display:grid;position:fixed;inset:0}.jp-revision .jp-revision-picker{width:min(560px,100%);max-height:min(720px,90vh);color:var(--review-ink);background:var(--review-surface);border:1px solid var(--review-line);box-shadow:var(--shadow);opacity:0;transition:transform .18s var(--ease-out), opacity .18s var(--ease-out);border-radius:24px;padding:26px;overflow:auto;transform:translateY(8px)scale(.97)}.jp-review-motion-presence[data-state=open] .jp-revision-picker-backdrop{opacity:1}.jp-review-motion-presence[data-state=open] .jp-revision-picker{opacity:1;transform:translateY(0)scale(1)}.jp-review-motion-presence[data-state=closed] .jp-revision-picker-backdrop{transition-duration:.12s}.jp-review-motion-presence[data-state=closed] .jp-revision-picker{transition-duration:.14s}.jp-revision .jp-revision-picker__head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.jp-revision .jp-revision-picker h2{margin:4px 0 0}.jp-revision .jp-revision-setup{gap:18px;display:grid}.jp-revision .jp-revision-setup .jp-revision-picker__head{margin-bottom:0}.jp-revision .jp-revision-setup__section{gap:10px;display:grid}.jp-revision .jp-revision-setup__section>strong,.jp-revision .jp-revision-setup__section>label{color:var(--review-muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:850}.jp-revision .jp-revision-setup__directions,.jp-revision .jp-revision-setup__presets,.jp-revision .jp-revision-stepper{gap:8px;display:flex}.jp-revision .jp-revision-setup__presets{flex-wrap:wrap}.jp-revision .jp-revision-setup__presets button{flex:auto}.jp-revision .jp-revision-setup__directions button,.jp-revision .jp-revision-setup__presets button,.jp-revision .jp-revision-stepper button{min-height:44px;color:var(--review-muted);background:var(--review-surface-soft);border:1px solid var(--review-line);border-radius:12px;padding:8px 13px;font-weight:850}.jp-revision .jp-revision-setup__directions button{flex:1}.jp-revision .jp-revision-setup__directions button.is-active,.jp-revision .jp-revision-setup__presets button.is-active{color:var(--review-on-indigo);background:var(--review-indigo);border-color:var(--review-indigo)}.jp-revision .jp-revision-stepper input{min-width:0;min-height:44px;color:var(--review-ink);background:var(--review-surface-soft);border:1px solid var(--review-line);text-align:center;border-radius:12px;flex:1;font-size:18px;font-weight:850}.jp-revision .jp-revision-pool-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.jp-revision .jp-revision-pool-summary>div{background:var(--review-surface-soft);border:1px solid var(--review-line);text-align:center;border-radius:14px;gap:4px;padding:13px 8px;display:grid}.jp-revision .jp-revision-pool-summary strong{color:var(--review-indigo);font-size:22px}.jp-revision .jp-revision-pool-summary span,.jp-revision .jp-revision-setup__note{color:var(--review-muted);font-size:11px;font-weight:750}.jp-revision .jp-revision-setup__note{background:color-mix(in srgb, var(--review-indigo) 9%, var(--review-surface));border-radius:12px;margin:0;padding:11px 13px;line-height:1.45}.jp-revision .jp-revision-setup__start{justify-content:center;width:100%}.jp-revision .jp-revision-vocabulary-picker{flex-direction:column;gap:14px;width:min(760px,100%);max-height:calc(100dvh - 36px);display:flex;overflow:hidden}.jp-revision .jp-revision-vocabulary-picker .jp-revision-picker__head{margin-bottom:0}.jp-revision .jp-revision-vocabulary-search input{width:100%;min-height:44px;color:var(--review-ink);background:var(--review-surface-soft);border:1px solid var(--review-line);border-radius:12px;padding:10px 13px;font-size:16px}.jp-revision .jp-revision-vocabulary-bulk{flex-wrap:wrap;gap:8px;display:flex}.jp-revision .jp-revision-vocabulary-bulk button{color:var(--review-indigo);background:var(--review-surface-soft);border:1px solid var(--review-line);border-radius:12px;padding:8px 12px;font-weight:800}.jp-revision .jp-revision-vocabulary-list{overscroll-behavior:contain;grid-auto-rows:max-content;align-content:start;gap:8px;min-width:0;max-height:min(55dvh,560px);padding-right:4px;display:grid;overflow-y:auto}.jp-revision .jp-revision-vocabulary-choice{min-width:0;min-height:72px;color:var(--review-ink);background:var(--review-surface-soft);border:1px solid var(--review-line);cursor:pointer;border-radius:12px;grid-template-columns:44px minmax(0,1fr);align-items:center;padding:10px 12px;transition:background .15s,border-color .15s,box-shadow .15s;display:grid;position:relative}.jp-revision .jp-revision-vocabulary-choice:before{content:"";z-index:1;width:22px;height:22px;color:var(--review-on-indigo);background:var(--review-surface);border:2px solid var(--review-line);pointer-events:none;border-radius:6px;grid-column:1;align-self:center;place-items:center;display:grid}.jp-revision .jp-revision-vocabulary-choice:has(input:checked){background:color-mix(in srgb, var(--review-indigo) 8%, var(--review-surface));border-color:color-mix(in srgb, var(--review-indigo) 32%, var(--review-line))}.jp-revision .jp-revision-vocabulary-choice:has(input:checked):before{content:"✓";background:var(--review-indigo);border-color:var(--review-indigo);font-size:15px;font-weight:900}.jp-revision .jp-revision-vocabulary-choice:focus-within{border-color:var(--review-indigo);box-shadow:0 0 0 2px color-mix(in srgb, var(--review-indigo) 14%, transparent)}.jp-revision .jp-revision-vocabulary-choice input{z-index:2;cursor:pointer;opacity:0;width:100%;min-width:44px;height:100%;min-height:44px;margin:0;position:absolute;inset:0}.jp-revision .jp-revision-vocabulary-choice__content{overflow-wrap:anywhere;grid-column:2;grid-template-columns:minmax(0,1fr) minmax(4.75rem,.8fr);grid-template-areas:"word reading""meaning meaning";align-items:baseline;gap:3px 10px;min-width:0;display:grid}.jp-revision .jp-revision-vocabulary-choice__word{font-family:var(--review-jp-sans);grid-area:word;font-size:1.3rem;font-weight:800;line-height:1.2}.jp-revision .jp-revision-vocabulary-choice__reading{min-width:0;color:var(--review-indigo);font-family:var(--review-jp-sans);grid-area:reading;font-size:.875rem;font-weight:750;line-height:1.35}.jp-revision .jp-revision-vocabulary-choice__meaning{min-width:0;color:var(--review-muted);grid-area:meaning;font-size:.875rem;font-weight:650;line-height:1.4}.jp-revision .jp-revision-vocabulary-actions{background:var(--review-surface);border-top:1px solid var(--review-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding-top:12px;display:grid;position:sticky;bottom:0}.jp-revision .jp-revision-vocabulary-actions p{color:var(--review-muted);margin:0;font-size:13px;font-weight:800}.jp-revision .jp-revision-vocabulary-actions .jp-primary{padding-inline:18px}.jp-revision .jp-revision-material-list{gap:9px;display:grid}.jp-revision .jp-revision-material-list>button{width:100%;color:var(--review-ink);background:var(--review-surface-soft);border:1px solid var(--review-line);text-align:left;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.jp-revision .jp-revision-material-list small{color:var(--review-muted);white-space:nowrap}.jp-revision .jp-revision-overlay{z-index:1000;padding:max(18px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:radial-gradient(circle at 10% 90%, color-mix(in srgb, var(--gold) 20%, transparent), transparent 34%), color-mix(in srgb, var(--bg) 86%, var(--ink));opacity:0;transition:opacity .16s var(--ease-out);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow:auto}.jp-revision .jp-revision-study{width:min(620px,100%);min-height:min(760px,100dvh - 36px);color:var(--review-ink);opacity:0;transition:transform .18s var(--ease-out), opacity .18s var(--ease-out);flex-direction:column;gap:16px;display:flex;transform:translateY(8px)}.jp-review-motion-presence[data-motion=session][data-state=open] .jp-revision-overlay{opacity:1}.jp-review-motion-presence[data-motion=session][data-state=open] .jp-revision-study{opacity:1;transform:translateY(0)}.jp-review-motion-presence[data-motion=session][data-state=closed] .jp-revision-overlay{transition-duration:.12s}.jp-review-motion-presence[data-motion=session][data-state=closed] .jp-revision-study{transition-duration:.14s}.jp-revision .jp-revision-study__header{gap:12px;display:grid}.jp-revision .jp-revision-study__top{color:var(--review-muted);justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:900;display:flex}.jp-revision .jp-revision-study__controls{justify-content:center;align-items:center;gap:8px;display:flex}.jp-revision .jp-revision-session-stats{color:var(--review-muted);text-align:center;font-size:12px;font-weight:850}.jp-revision .jp-revision-progress{background:var(--review-line);border-radius:999px;flex:1;height:6px;display:block;overflow:hidden}.jp-revision .jp-revision-progress>span{background:var(--review-indigo);border-radius:inherit;height:100%;transition:width .3s;display:block}.jp-revision .jp-revision-card{color:var(--review-ink);background:var(--review-surface);border:1px solid var(--review-line);box-shadow:var(--shadow);cursor:pointer;text-align:center;border-radius:26px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;min-height:390px;padding:44px 32px;display:flex}.jp-revision .jp-revision-card__direction{border:1px solid color-mix(in srgb, var(--review-indigo) 22%, var(--review-line));color:var(--review-indigo);background:color-mix(in srgb, var(--review-indigo) 8%, var(--review-surface));letter-spacing:.04em;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850}.jp-revision .jp-revision-card__ja,.jp-revision .jp-revision-quiz-card__word{font-family:var(--review-jp-sans);font-size:clamp(3rem,15vw,5.4rem);font-weight:700;line-height:1.08}.jp-revision .jp-revision-card__reading{color:var(--review-faint);font-family:var(--review-jp-sans);letter-spacing:.03em;font-size:15px;font-weight:650}.jp-revision .jp-revision-card__en,.jp-revision .jp-revision-quiz-card__english{font-family:var(--review-jp-sans);font-size:clamp(2rem,9vw,3.8rem);font-weight:800;line-height:1.08}.jp-revision .jp-revision-tap-hint,.jp-revision .jp-revision-quiz-card__reading{color:var(--review-faint);letter-spacing:.06em;font-size:13px;font-weight:800}.jp-revision .jp-revision-reveal-panel{justify-items:center;gap:7px;width:100%;animation:.2s review-fade;display:grid}.jp-revision .jp-revision-reveal-panel>strong{color:var(--review-indigo);font-family:var(--review-jp-sans);font-size:clamp(1.35rem,5vw,2rem)}.jp-revision .jp-revision-reveal-panel>span{font-family:var(--review-jp-sans);font-size:18px;font-weight:750}.jp-revision .jp-revision-example{background:var(--review-surface-soft);border-radius:12px;gap:4px;width:100%;margin-top:10px;padding:12px;display:grid}.jp-revision .jp-revision-example small{color:var(--review-muted)}.jp-revision .jp-revision-audio{min-width:44px;min-height:44px;color:var(--review-muted);border:1px solid var(--review-line);background:0 0;border-radius:999px;align-items:center;gap:6px;margin-top:6px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.jp-revision .jp-revision-grade-row,.jp-revision .jp-revision-quiz__buttons{align-items:center;gap:12px;display:flex}.jp-revision .jp-revision-grade-row>*,.jp-revision .jp-revision-quiz__buttons>*{flex:1}.jp-revision .jp-revision-quiz-card{color:var(--review-ink);background:var(--review-surface);border:1px solid var(--review-line);box-shadow:var(--shadow);text-align:center;border-radius:26px;flex:1;align-content:center;gap:10px;min-height:390px;padding:44px 32px;display:grid}.jp-revision .jp-revision-card-streak{color:var(--review-indigo);background:color-mix(in srgb, var(--review-indigo) 10%, var(--review-surface));border:1px solid color-mix(in srgb, var(--review-indigo) 22%, var(--review-line));border-radius:999px;justify-self:center;padding:5px 10px;font-size:12px;font-weight:850}.jp-revision .jp-revision-quiz{gap:12px;margin-top:16px;display:grid}.jp-revision .jp-revision-quiz input{width:100%;min-height:54px;color:var(--review-ink);font-family:var(--review-jp-sans);background:var(--review-surface-soft);border:1.5px solid var(--review-line);text-align:center;border-radius:14px;padding:12px 14px;font-size:18px;font-weight:800}.jp-revision .jp-revision-feedback{font-family:var(--review-jp-sans);border-radius:14px;margin-top:12px;padding:14px 16px;animation:.2s review-fade}.jp-revision .jp-revision-saving{color:var(--review-muted);text-align:center;margin:0;font-size:13px;font-weight:800}.jp-revision .jp-persistence-notice{gap:8px;width:100%;margin-block:10px;display:grid}.jp-revision .jp-persistence-notice p{overflow-wrap:anywhere;margin:0}.jp-revision .jp-persistence-incident{color:var(--review-muted);font-size:12px}.jp-revision .jp-persistence-retry{justify-self:start;min-width:112px;min-height:44px}@media (width<=520px){.jp-revision .jp-persistence-retry{width:100%}}.jp-revision .jp-revision-feedback.is-correct{color:var(--review-green);background:color-mix(in srgb, var(--review-green) 14%, var(--review-surface))}.jp-revision .jp-revision-feedback.is-review{color:var(--review-accent);background:color-mix(in srgb, var(--review-accent) 12%, var(--review-surface))}.jp-revision .jp-revision-feedback strong,.jp-revision .jp-revision-feedback span,.jp-revision .jp-revision-feedback small{display:block}.jp-revision .jp-revision-card__ja,.jp-revision .jp-revision-quiz-card__word,.jp-revision .jp-revision-reveal-panel>strong[lang=ja],.jp-revision .jp-revision-feedback>span[lang=ja]{overflow-wrap:anywhere;text-wrap:balance;max-width:100%;font-size:clamp(3.75rem,20vw,7rem);font-weight:700;line-height:1.05}.jp-revision .jp-revision-feedback__reading{margin-top:8px}.jp-revision .jp-revision-feedback small{color:var(--review-muted);margin-top:7px;font-size:12px;font-weight:750;line-height:1.4}.jp-revision .jp-revision-provisional-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.jp-revision .jp-revision-next{justify-content:center;width:100%;margin-top:10px}.jp-revision .jp-revision-confirm{z-index:1000;background:color-mix(in srgb, var(--ink) 62%, transparent);place-items:center;padding:18px;display:grid;position:fixed;inset:0}.jp-revision .jp-revision-confirm>div{width:min(400px,100%);color:var(--review-ink);background:var(--review-surface);box-shadow:var(--shadow);text-align:center;border-radius:20px;padding:24px}.jp-revision .jp-revision-confirm h2,.jp-revision .jp-revision-confirm p{margin:0 0 10px}.jp-revision .jp-revision-confirm>div>div{gap:10px;margin-top:18px;display:flex}.jp-revision .jp-revision-confirm button{flex:1}.jp-revision .jp-revision-confirm .jp-revision-confirm__provisional-actions{grid-template-columns:1fr;display:grid}.jp-revision .jp-revision-summary{text-align:center;align-items:center;max-width:560px;margin:24px auto;padding:40px 32px}.jp-revision .jp-revision-summary__sparkle{color:var(--gold);font-size:42px}.jp-revision .jp-revision-summary__stats{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin:18px 0;display:grid}.jp-revision .jp-revision-summary__stats>div{background:var(--review-surface-soft);border-radius:16px;gap:4px;padding:16px 8px;display:grid}.jp-revision .jp-revision-summary__stats strong{color:var(--review-green);font-size:24px}.jp-revision .jp-revision-summary__stats span{color:var(--review-muted);font-size:11px;font-weight:800}.jp-revision .jp-revision-summary__words{flex-wrap:wrap;justify-content:center;gap:7px;margin-bottom:18px;display:flex}.jp-revision .jp-revision-summary__words span{color:var(--review-indigo);background:color-mix(in srgb, var(--review-indigo) 10%, var(--review-surface));border-radius:999px;padding:5px 10px;font-weight:800}.jp-revision .jp-revision-summary__actions{justify-content:center;align-items:center;gap:16px;margin-top:12px;display:flex}.jp-revision .jp-revision-collect-error{color:var(--review-accent)}.jp-revision .jp-revision-state{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:560px;margin:24px auto;padding:40px 32px;display:flex}.jp-revision .jp-revision-state--compact{background:var(--review-surface-soft);border-radius:14px;margin:0;padding:22px}.jp-revision .jp-revision-state h1{margin:0}.jp-revision .jp-revision-state p{color:var(--review-muted);margin:0;line-height:1.55}.jp-revision .jp-revision-state__mark{width:48px;height:48px;color:var(--review-indigo);background:var(--review-surface-soft);border-radius:50%;place-items:center;font-size:24px;font-weight:900;display:grid}.jp-revision .jp-revision-state--loading .jp-revision-state__mark{animation:1s ease-in-out infinite alternate review-pulse}@keyframes review-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes review-pulse{to{opacity:.45;transform:scale(.92)}}@media (width<=680px){.jp-revision .jp-revision-mode-grid{grid-template-columns:1fr}.jp-revision .jp-revision-mode-card{grid-template-rows:auto auto;grid-template-columns:44px minmax(0,1fr);align-content:center;align-items:center;gap:3px 14px;min-height:92px;padding:16px}.jp-revision .jp-revision-mode-card[data-priority]{grid-column:auto;min-height:92px}.jp-revision .jp-revision-mode-card[data-priority=primary]{min-height:116px;padding:16px}.jp-revision .jp-revision-mode-card__recommendation{grid-column:2;justify-self:start;padding:3px 7px;position:static}.jp-revision .jp-revision-mode-card[data-priority=primary] .jp-revision-mode-card__icon{grid-row:1/span 3}.jp-revision .jp-revision-mode-card[data-priority=primary] strong,.jp-revision .jp-revision-mode-card[data-priority=primary] small{grid-column:2}.jp-revision .jp-revision-mode-card__icon{grid-area:1/1/span 2}.jp-revision .jp-revision-mode-card strong,.jp-revision .jp-revision-mode-card small{grid-column:2;min-width:0}.jp-revision .jp-revision-mode-card strong{align-self:end}.jp-revision .jp-revision-mode-card small{align-self:start}.jp-revision .jp-revision-size-chips{grid-template-columns:minmax(0,1fr)}.jp-revision .jp-revision-size-chips>span{grid-row:auto}.jp-revision .jp-revision-size-chips__presets{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.jp-revision .jp-revision-size-chips__presets button,.jp-revision .jp-revision-size-chips .jp-revision-size-chips__custom button{min-height:44px}.jp-revision .jp-revision-titlebar,.jp-revision .jp-revision-meta{flex-direction:column;align-items:flex-start}.jp-revision .jp-revision-study{min-height:calc(100dvh - 30px)}.jp-revision .jp-revision-card,.jp-revision .jp-revision-quiz-card{min-height:330px;padding:30px 20px}.jp-revision .jp-revision-study__controls button{flex:1;padding-inline:8px;font-size:11px}.jp-revision .jp-revision-summary,.jp-revision .jp-revision-state,.jp-revision .jp-revision-picker{padding:26px 18px}.jp-revision .jp-revision-setup__directions{display:grid}.jp-revision .jp-revision-provisional-actions{grid-template-columns:1fr}.jp-revision .jp-revision-pool-summary{gap:6px}.jp-revision .jp-revision-pool-summary>div{padding-inline:5px}}@media (width<=600px){.jp-revision .jp-revision-vocabulary-picker{padding:18px 14px}.jp-revision .jp-revision-vocabulary-actions{grid-template-columns:minmax(0,1fr)}.jp-revision .jp-revision-vocabulary-actions .jp-primary{width:100%}}@media (prefers-reduced-motion:reduce){.jp-revision *,.jp-revision :before,.jp-revision :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.jp-review-motion-presence .jp-revision-picker-backdrop{transition-duration:.1s!important}.jp-review-motion-presence .jp-revision-picker{transform:translateY(2px)scale(.995);transition-duration:.1s!important}.jp-review-motion-presence[data-state=open] .jp-revision-picker{transform:translateY(0)scale(1)}.jp-review-motion-presence[data-motion=session] .jp-revision-overlay{transition-duration:.1s!important}.jp-review-motion-presence[data-motion=session] .jp-revision-study{transform:translateY(2px);transition-duration:.1s!important}.jp-review-motion-presence[data-motion=session][data-state=open] .jp-revision-study{transform:translateY(0)}}.sinbi-vocabulary{gap:1rem;max-width:72rem;margin:0 auto;display:grid}.sinbi-vocabulary__header{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:1.25rem;justify-content:space-between;align-items:flex-end;gap:1.5rem;padding:1.5rem;display:flex}.sinbi-vocabulary__header h1,.sinbi-vocabulary__add h2{margin:.25rem 0}.sinbi-vocabulary__header p,.sinbi-vocabulary__add p{color:var(--muted);margin:0}.sinbi-vocabulary__header-actions{flex:none;align-items:center;gap:.75rem;display:flex}.sinbi-vocabulary__missing{border:1px solid var(--line);box-shadow:var(--shadow);border-color:var(--gold);background:var(--gold-soft);color:var(--gold);border-radius:1.25rem;flex-wrap:wrap;gap:.5rem 1rem;padding:.9rem 1rem;display:flex}.sinbi-vocabulary__offline{border:1px solid var(--line);box-shadow:var(--shadow);border-color:var(--indigo);background:var(--indigo-soft);color:var(--indigo);border-radius:1.25rem;gap:.5rem 1rem;padding:.9rem 1rem;display:flex}.sinbi-vocabulary__toolbar{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:1.25rem;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:.85rem;display:grid}.sinbi-vocabulary__search input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:2.75rem;font:inherit;border-radius:.8rem;padding:0 .9rem}.sinbi-vocabulary__xp{background:var(--plum-soft);color:var(--plum);border-radius:.8rem;align-items:baseline;gap:.6rem;padding:.65rem .8rem;display:flex}.sinbi-vocabulary__filters{gap:.5rem;padding:.1rem;display:flex;overflow-x:auto}.sinbi-vocabulary__filters button{border:1px solid var(--line);background:var(--surface);color:inherit;font:inherit;cursor:pointer;border-radius:999px;flex:none;padding:.55rem .85rem}.sinbi-vocabulary__filters button.is-active{border-color:var(--indigo);background:var(--indigo);color:var(--onindigo)}.sinbi-vocabulary__list{gap:.55rem;display:grid}.sinbi-vocabulary-row{border:1px solid var(--line);background:var(--surface);content-visibility:auto;contain-intrinsic-size:0 58px;border-radius:1rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.85rem 1rem;display:grid}.sinbi-vocabulary-row__main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(5rem,.7fr) minmax(6rem,.8fr) minmax(8rem,1.5fr);align-items:baseline;gap:1rem;padding:0;display:grid}.sinbi-vocabulary-row__word{font-size:1.25rem;font-weight:800}.sinbi-vocabulary-row__reading,.sinbi-vocabulary-row__meaning{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sinbi-vocabulary-row__meta,.sinbi-vocabulary-row__meta>div{justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.sinbi-vocabulary-chip{background:var(--surface2);color:var(--muted);border-radius:999px;padding:.25rem .5rem;font-size:.72rem;font-weight:750;display:inline-flex}.sinbi-vocabulary-chip--anki{background:var(--green-soft);color:var(--green)}.sinbi-vocabulary-chip--manual{background:var(--plum-soft);color:var(--plum)}.sinbi-vocabulary-chip--material{background:var(--indigo-soft);color:var(--indigo)}.sinbi-vocabulary-chip--verified{background:var(--green-soft);color:var(--green)}.sinbi-vocabulary-chip--missing{background:var(--gold-soft);color:var(--gold)}.sinbi-vocabulary__add{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:1.25rem;gap:1rem;padding:1.25rem;display:grid}.sinbi-vocabulary-form{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;display:grid}.sinbi-vocabulary__add-form{gap:1rem;display:grid}.sinbi-vocabulary-form label{color:var(--muted);gap:.35rem;font-size:.78rem;font-weight:700;display:grid}.sinbi-vocabulary-form input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:2.55rem;font:inherit;border-radius:.65rem;padding:0 .65rem}.sinbi-vocabulary__add-submit{justify-content:flex-end;display:flex}.sinbi-vocabulary-drawer-layer{z-index:1200;position:fixed;inset:0}.sinbi-vocabulary-drawer__backdrop{background:color-mix(in srgb, var(--ink) 48%, transparent);cursor:default;opacity:0;width:100%;transition:opacity .16s var(--ease-out);border:0;position:absolute;inset:0}.sinbi-vocabulary-drawer{background:var(--surface);width:min(30rem,92vw);box-shadow:var(--shadow);opacity:.85;transition:transform .22s var(--ease-out), opacity .18s var(--ease-out);padding:1.5rem;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(24px)}.sinbi-vocabulary-drawer-layer[data-state=open] .sinbi-vocabulary-drawer__backdrop{opacity:1}.sinbi-vocabulary-drawer-layer[data-state=open] .sinbi-vocabulary-drawer{opacity:1;transform:translate(0)}.sinbi-vocabulary-drawer-layer[data-state=closed]{pointer-events:none}.sinbi-vocabulary-drawer-layer[data-state=closed] .sinbi-vocabulary-drawer__backdrop{transition-duration:.14s}.sinbi-vocabulary-drawer-layer[data-state=closed] .sinbi-vocabulary-drawer{transition-duration:.18s,.14s}.sinbi-vocabulary-drawer__close{border:1px solid var(--line);background:var(--surface);width:2.5rem;height:2.5rem;color:inherit;cursor:pointer;border-radius:999px;font-size:1.5rem;position:absolute;top:1rem;right:1rem}.sinbi-vocabulary-drawer h2{margin:.5rem 3rem 0 0;font-size:2.2rem}.sinbi-vocabulary-drawer__reading{color:var(--muted)}.sinbi-vocabulary-drawer__meaning{font-size:1.1rem}.sinbi-vocabulary-drawer__stats{grid-template-columns:1fr 1fr;gap:.6rem;margin:1.25rem 0;display:grid}.sinbi-vocabulary-drawer__stats>div{background:var(--surface2);border-radius:.75rem;padding:.75rem}.sinbi-vocabulary-drawer__stats dt{color:var(--muted);font-size:.75rem}.sinbi-vocabulary-drawer__stats dd{margin:.25rem 0 0;font-weight:800}.sinbi-vocabulary-drawer__section{border-top:1px solid var(--line);padding:1rem 0}.sinbi-vocabulary-drawer__section h3{margin:0 0 .75rem}.sinbi-vocabulary-drawer__section ul{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.sinbi-vocabulary-drawer__section li{grid-template-columns:5rem 1fr;gap:.75rem;display:grid}.sinbi-vocabulary-drawer__section blockquote{border-left:3px solid var(--plum);gap:.25rem;margin:.5rem 0;padding-left:.75rem;display:grid}.sinbi-vocabulary-drawer__section blockquote small{color:var(--muted)}.sinbi-vocabulary-drawer__actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.sinbi-vocabulary-drawer__material{margin-top:1rem;display:inline-flex}.sinbi-vocabulary-drawer__edit .sinbi-vocabulary-form{grid-template-columns:1fr 1fr}@media (width<=760px){.sinbi-vocabulary__header,.sinbi-vocabulary__missing,.sinbi-vocabulary__offline{flex-direction:column;align-items:stretch}.sinbi-vocabulary__toolbar,.sinbi-vocabulary-row{grid-template-columns:1fr}.sinbi-vocabulary-row__main{grid-template-columns:1fr 1fr}.sinbi-vocabulary-row__meaning{grid-column:1/-1}.sinbi-vocabulary-row__meta{justify-content:space-between}.sinbi-vocabulary-form{grid-template-columns:1fr 1fr}.sinbi-vocabulary-drawer{border-radius:1.25rem 1.25rem 0 0;width:100%;max-height:88vh;top:auto;transform:translateY(28px)}.sinbi-vocabulary-drawer-layer[data-state=open] .sinbi-vocabulary-drawer{transform:translateY(0)}}@media (width<=480px){.sinbi-vocabulary-form,.sinbi-vocabulary-drawer__edit .sinbi-vocabulary-form,.sinbi-vocabulary-drawer__stats{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.sinbi-vocabulary-drawer__backdrop{transition-duration:.1s}.sinbi-vocabulary-drawer{transition-duration:.1s;transform:translate(4px)}.sinbi-vocabulary-drawer-layer[data-state=open] .sinbi-vocabulary-drawer{transform:translate(0)}}@media (prefers-reduced-motion:reduce) and (width<=760px){.sinbi-vocabulary-drawer{transform:translateY(4px)}.sinbi-vocabulary-drawer-layer[data-state=open] .sinbi-vocabulary-drawer{transform:translateY(0)}}*,:before,:after{box-sizing:border-box}.app-canvas{background:var(--cream);justify-content:center;min-height:100dvh;display:flex}.jp-kicker{color:#497160;letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:900}.jp-topbar__title{font-size:22px;font-weight:950}.jp-view{flex-direction:column;gap:16px;display:flex}.jp-hero,.jp-panel,.jp-metric,.jp-section{background:#fff;border:1px solid #18212f14;border-radius:8px;box-shadow:0 12px 30px #0f172a0f}.jp-hero{padding:22px}.jp-hero h1,.jp-page-title,.jp-section h2{letter-spacing:0;margin:0}.jp-hero h1{font-size:44px;line-height:1}.jp-page-title{font-size:30px}.jp-hero__meta,.jp-section__head,.jp-list-row,.jp-setting-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.jp-hero__meta{color:#475569;margin-top:12px;font-size:13px;font-weight:900}.jp-meter{background:#e2e8f0;border-radius:999px;height:12px;margin-top:12px;overflow:hidden}.jp-meter span{border-radius:inherit;background:linear-gradient(90deg,#16a34a,#f59e0b);height:100%;display:block}.jp-grid{gap:10px;display:grid}.jp-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.jp-metric,.jp-section,.jp-panel{padding:16px}.jp-metric span,.jp-metric small,.jp-list-row span,.jp-list-row small,.jp-setting-row span{color:#64748b;font-size:12px;font-weight:750;display:block}.jp-metric strong{margin-top:4px;font-size:24px;line-height:1.1;display:block}.jp-section{flex-direction:column;gap:12px;display:flex}.jp-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.jp-category{color:#111827;border-radius:8px;flex-direction:column;justify-content:space-between;min-height:112px;padding:14px;text-decoration:none;display:flex}.jp-category span,.jp-category small{font-size:12px;font-weight:900}.jp-category strong{font-size:22px}.jp-action,.jp-link,.jp-primary,.jp-danger{cursor:pointer;transition:transform .12s var(--ease-out);border:0;border-radius:8px;font-weight:950;text-decoration:none}.jp-action:not(:disabled):active,.jp-link:not(:disabled):active,.jp-primary:not(:disabled):active,.jp-danger:not(:disabled):active{transition-duration:80ms;transform:scale(.98)}@media (prefers-reduced-motion:reduce){.jp-action:not(:disabled):active,.jp-link:not(:disabled):active,.jp-primary:not(:disabled):active,.jp-danger:not(:disabled):active{transform:scale(.995)}}.jp-action,.jp-link{color:#047857}.jp-action{background:#d1fae5;padding:8px 12px}.jp-list{flex-direction:column;gap:8px;display:flex}.jp-list-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.jp-list-row--stack{align-items:flex-start}.jp-list-row b{white-space:nowrap}.jp-empty,.jp-feedback{color:#475569;background:#f1f5f9;border-radius:8px;padding:14px;font-size:13px;font-weight:800}.jp-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.jp-tabs button{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:42px;font-weight:900}.jp-tabs button.is-active{color:#062e22;background:#bbf7d0;border-color:#34d399}.jp-form{flex-direction:column;gap:12px;display:flex}.jp-form label,.jp-settings label{color:#334155;flex-direction:column;gap:6px;font-size:12px;font-weight:950;display:flex}.jp-form input,.jp-form textarea,.jp-search,.jp-settings input{color:#111827;width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:12px;font-weight:750}.jp-primary{color:#fff;background:#047857;min-height:48px}.jp-danger{color:#fff;background:#dc2626;min-height:46px}.jp-candidates{flex-direction:column;gap:8px;margin-top:12px;display:flex}.jp-candidates button{text-align:left;background:#fffbeb;border:1px solid #f59e0b;border-radius:8px;grid-template-columns:auto 1fr;gap:4px 10px;padding:12px;display:grid}.jp-candidates small{color:#64748b;grid-column:1/-1}.jp-count{color:#047857;background:#d1fae5;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:950}.jp-kanji-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.jp-kanji-tile{text-align:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;min-height:118px;padding:12px}.jp-kanji-tile strong{font-size:36px;display:block}.jp-kanji-tile span,.jp-kanji-tile small{color:#64748b;font-size:12px;font-weight:800;display:block}.jp-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.jp-day{color:#64748b;background:#f1f5f9;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:48px;font-size:11px;font-weight:900;display:flex}.jp-day.is-active{color:#166534;background:#dcfce7}.jp-settings{flex-direction:column;gap:14px;display:flex}.jp-setting-row{background:#f8fafc;border-radius:8px;align-items:flex-start;padding:12px}@media (width>=720px){.jp-category-grid,.jp-grid--two,.jp-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}.app{background:var(--cream);width:100%;max-width:480px;min-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:calc(80px + env(safe-area-inset-bottom));flex-direction:column;display:flex;position:relative}@media (width>=640px){.app{box-shadow:0 30px 80px -30px #2b223738}}.app-main{flex:auto}.view{animation:viewIn .28s var(--ease-out);padding:16px 20px 32px}@keyframes viewIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.topbar{background:var(--cream);z-index:20;align-items:center;gap:12px;padding:12px 20px 8px;display:flex;position:sticky;top:0}.topbar__spacer{flex:1}.language-toggle{border-radius:var(--r-pill);box-shadow:var(--card-shadow);background:#fff;align-items:center;gap:4px;padding:4px;display:inline-flex}.language-toggle button{border-radius:var(--r-pill);min-width:34px;height:30px;color:var(--ink-faint);padding:0 9px;font-size:12px;font-weight:900}.language-toggle button.is-active{color:#fff;background:var(--plum)}.language-toggle--settings{box-shadow:none;background:var(--cream-soft)}.cefr-badge{border-radius:var(--r-pill);box-shadow:var(--card-shadow);background:#fff;align-items:center;gap:8px;padding:6px 14px 6px 8px;display:flex}.cefr-badge__chip{color:#fff;background:linear-gradient(135deg, var(--plum), var(--coral));border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:grid}.cefr-badge__label{font-size:13px;font-weight:800}.cefr-badge__progress{background:var(--cream-deep);border-radius:var(--r-pill);width:60px;height:6px;margin-left:4px;overflow:hidden}.cefr-badge__progress>span{background:linear-gradient(90deg, var(--plum), var(--coral));border-radius:var(--r-pill);height:100%;transition:width .5s var(--ease-out);display:block}.stat-pill{border-radius:var(--r-pill);box-shadow:var(--card-shadow);background:#fff;align-items:center;gap:5px;padding:6px 12px;font-size:14px;font-weight:900;display:inline-flex}.stat-pill__icon{font-size:16px;line-height:1}.stat-pill--streak{color:var(--coral-deep)}.stat-pill--xp{color:var(--plum-deep)}.btn{border-radius:var(--r-md);color:var(--ink);letter-spacing:.01em;box-shadow:var(--press-ink);-webkit-user-select:none;user-select:none;white-space:nowrap;background:#fff;justify-content:center;align-items:center;gap:8px;padding:14px 22px;font-family:inherit;font-size:15px;font-weight:800;transition:transform 80ms,box-shadow 80ms,background .2s;display:inline-flex}.btn:active{transform:translateY(2px);box-shadow:0 1px #2b22372e}.btn--primary{background:var(--coral);color:#fff;box-shadow:var(--press-coral)}.btn--mint{background:var(--mint);color:#fff;box-shadow:var(--press-mint)}.btn--sun{background:var(--sun);color:var(--ink);box-shadow:var(--press-sun)}.btn--plum{background:var(--plum);color:#fff;box-shadow:var(--press-plum)}.btn--ghost{box-shadow:none;background:0 0}.btn--block{width:100%}.btn--lg{padding:18px 24px;font-size:17px}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;pointer-events:none}.icon-btn{border-radius:var(--r-md);width:44px;height:44px;box-shadow:var(--press-ink);background:#fff;place-items:center;font-size:20px;display:grid}.icon-btn:active{transform:translateY(2px);box-shadow:0 1px #2b22372e}.speaker-btn{width:38px;height:38px;color:var(--plum-deep);background:var(--plum-soft);box-shadow:var(--press-ink);cursor:pointer;border:0;border-radius:50%;place-items:center;transition:transform 80ms,box-shadow 80ms,opacity .2s;display:inline-grid}.speaker-btn:active{transform:translateY(2px);box-shadow:0 1px #2b22372e}.speaker-btn:disabled{cursor:not-allowed;opacity:.38;transform:none}.speaker-btn--card{position:absolute;top:14px;right:16px}.speaker-btn--inline{width:34px;height:34px;color:var(--sky-deep);background:var(--sky-soft);flex:none}.card{border-radius:var(--r-lg);box-shadow:var(--card-shadow);background:#fff;padding:18px}.tile{text-align:left;width:100%;color:var(--ink);border-radius:var(--r-lg);box-shadow:var(--press-ink);background:#fff;padding:18px;font-family:inherit;transition:transform 80ms,box-shadow 80ms;display:block;position:relative}.tile:active{transform:translateY(2px);box-shadow:0 1px #2b22372e}.tile--coral{background:var(--coral);color:#fff;box-shadow:var(--press-coral)}.tile--mint{background:var(--mint);color:#fff;box-shadow:var(--press-mint)}.tile--sun{background:var(--sun);color:var(--ink);box-shadow:var(--press-sun)}.tile--plum{background:var(--plum);color:#fff;box-shadow:var(--press-plum)}.tile--sky{background:var(--sky);color:#fff;box-shadow:var(--press-sky)}.nav{width:100%;max-width:480px;padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:30;background:#fff;border-top:1px solid #2b22370f;grid-template-columns:repeat(6,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 24px -12px #2b22371f}.nav__item{border-radius:var(--r-sm);min-width:0;color:var(--ink-faint);letter-spacing:0;text-transform:uppercase;white-space:nowrap;transition:color .15s var(--ease-out);flex-direction:column;align-items:center;gap:1px;padding:5px 1px;font-size:9px;font-weight:900;line-height:1.05;display:flex}.nav__item.is-active{color:var(--coral-deep)}.nav__item svg{flex-shrink:0;width:22px;height:22px}.h1{letter-spacing:-.01em;margin:0 0 4px;font-size:28px;font-weight:900}.h2{margin:0 0 4px;font-size:22px;font-weight:800}.h3{margin:0;font-size:17px;font-weight:800}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);font-size:11px;font-weight:800}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.bar{background:var(--cream-deep);border-radius:var(--r-pill);width:100%;height:12px;position:relative;overflow:hidden}.bar>span{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--mint), var(--mint-deep));height:100%;transition:width .5s var(--ease-out);display:block}.bar--coral>span{background:linear-gradient(90deg, var(--coral), var(--coral-deep))}.bar--sun>span{background:linear-gradient(90deg, var(--sun), var(--sun-deep))}.bar--plum>span{background:linear-gradient(90deg, var(--plum), var(--plum-deep))}.flashcard-stage{perspective:1200px;min-height:380px;position:relative}.flashcard{border-radius:var(--r-xl);min-height:380px;box-shadow:var(--card-shadow-lg);transform-style:preserve-3d;transition:transform .55s var(--ease-out);text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;padding:32px 24px;display:flex;position:relative}.flashcard.is-flipped{transform:rotateY(180deg)}.flashcard__face{backface-visibility:hidden;flex-direction:column;justify-content:center;align-items:center;padding:32px 24px;display:flex;position:absolute;inset:0}.flashcard__face--back{transform:rotateY(180deg)}.flashcard__hangul{font-family:var(--font-kr);color:var(--ink);word-break:keep-all;margin-bottom:16px;font-size:60px;font-weight:700;line-height:1.1}.flashcard__english{letter-spacing:-.01em;margin-bottom:8px;font-size:26px;font-weight:900}.flashcard__pos{background:var(--plum-soft);color:var(--plum-deep);border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;padding:4px 12px;font-size:11px;font-weight:900;display:inline-block}.flashcard__definition{color:var(--ink-soft);max-width:360px;margin:0 0 12px;font-size:14px;font-weight:600}.flashcard__examples{background:var(--cream-soft);border-radius:var(--r-md);text-align:left;width:100%;margin-top:8px;padding:12px 14px}.flashcard__example{font-family:var(--font-kr);justify-content:space-between;align-items:center;gap:10px;font-size:16px;font-weight:500;line-height:1.4;display:flex}.flashcard__example+.flashcard__example{border-top:1px dashed var(--cream-deep);margin-top:8px;padding-top:8px}.flashcard__rank{border-radius:var(--r-pill);background:var(--cream-soft);color:var(--ink-faint);letter-spacing:.04em;padding:4px 10px;font-size:11px;font-weight:900;position:absolute;top:16px;left:18px}.flashcard__tap{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800;position:absolute;bottom:18px}.review-controls{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;display:grid}.review-btn{border-radius:var(--r-md);color:#fff;box-shadow:var(--press-ink);flex-direction:column;align-items:center;gap:2px;padding:14px 6px;font-family:inherit;font-size:13px;font-weight:900;transition:transform 80ms,box-shadow 80ms;display:flex}.review-btn small{opacity:.85;letter-spacing:.04em;font-size:10px;font-weight:700}.review-btn:active{transform:translateY(2px);box-shadow:0 1px #2b22372e}.review-btn:disabled{opacity:.55;pointer-events:none}.review-btn--again{background:var(--coral);box-shadow:var(--press-coral)}.review-btn--hard{background:var(--sun);color:var(--ink);box-shadow:var(--press-sun)}.review-btn--good{background:var(--mint);box-shadow:var(--press-mint)}.review-btn--easy{background:var(--plum);box-shadow:var(--press-plum)}.ex-prompt{letter-spacing:-.01em;margin:0 0 4px;font-size:22px;font-weight:800;line-height:1.3}.ex-prompt .kr{font-size:26px}.ex-sub{color:var(--ink-soft);margin:0 0 18px;font-weight:600}.choice{border-radius:var(--r-md);width:100%;box-shadow:var(--press-ink);text-align:left;background:#fff;align-items:center;gap:12px;padding:14px 16px;font-family:inherit;font-size:16px;font-weight:700;transition:transform 80ms,box-shadow 80ms,background .2s,color .2s;display:flex}.choice:active{transform:translateY(2px);box-shadow:0 1px #2b22372e}.choice+.choice{margin-top:10px}.choice__key{background:var(--cream-deep);width:28px;height:28px;color:var(--ink-soft);border-radius:8px;flex:none;place-items:center;font-size:13px;font-weight:900;display:grid}.choice.is-selected{background:var(--plum-soft);color:var(--plum-deep);box-shadow:0 4px 0 var(--plum)}.choice.is-selected .choice__key{background:var(--plum);color:#fff}.choice.is-correct{background:var(--mint-soft);color:var(--mint-deep);box-shadow:0 4px 0 var(--mint)}.choice.is-correct .choice__key{background:var(--mint);color:#fff}.choice.is-wrong{background:var(--coral-soft);color:var(--coral-deep);box-shadow:0 4px 0 var(--coral)}.choice.is-wrong .choice__key{background:var(--coral);color:#fff}.input{border:2px solid var(--cream-deep);border-radius:var(--r-md);width:100%;color:var(--ink);background:#fff;outline:none;padding:14px 16px;font-family:inherit;font-size:18px;font-weight:600;transition:border-color .2s,background .2s}.input:focus{border-color:var(--plum)}.input.is-correct{border-color:var(--mint);background:var(--mint-soft)}.input.is-wrong{border-color:var(--coral);background:var(--coral-soft)}.feedback{width:100%;max-width:480px;padding:16px 20px calc(16px + env(safe-area-inset-bottom));border-top-left-radius:var(--r-lg);border-top-right-radius:var(--r-lg);transition:transform .3s var(--ease-out);z-index:25;background:#fff;position:fixed;bottom:80px;left:50%;transform:translate(-50%)translateY(110%);box-shadow:0 -12px 30px -12px #2b22372e}.feedback.is-shown{transform:translate(-50%)translateY(0)}.feedback--correct{background:var(--mint-soft)}.feedback--wrong{background:var(--coral-soft)}.feedback__title{align-items:center;gap:8px;margin:0 0 4px;font-size:18px;font-weight:900;display:flex}.feedback--correct .feedback__title{color:var(--mint-deep)}.feedback--wrong .feedback__title{color:var(--coral-deep)}.feedback__body{color:var(--ink-soft);margin:0;font-size:14px;font-weight:600}.feedback__cta{margin-top:12px}.lesson-bubble{border-radius:var(--r-lg);box-shadow:var(--card-shadow);background:#fff;margin-bottom:14px;padding:18px 20px}.lesson-bubble--example{background:var(--sun-soft);border-left:4px solid var(--sun-deep)}.lesson-bubble--rule{background:var(--plum-soft);border-left:4px solid var(--plum-deep)}.lesson-bubble--note{background:var(--mint-soft);border-left:4px solid var(--mint-deep)}.lesson-bubble .kr-block{font-family:var(--font-kr);color:var(--ink);margin:8px 0 4px;font-size:20px;font-weight:700}.lesson-bubble .gloss{color:var(--ink-soft);font-size:14px;font-weight:600}.formula{font-family:var(--font-kr);background:var(--cream-soft);border-radius:var(--r-md);color:var(--ink);padding:10px 14px;font-size:16px;font-weight:700;display:inline-block}.search-box{position:relative}.search-box .input{font-family:var(--font-kr);padding-left:44px}.search-box:before{content:"🔍";opacity:.6;pointer-events:none;font-size:18px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.dict-result{border-radius:var(--r-md);box-shadow:var(--card-shadow);background:#fff;margin-top:10px;padding:14px 16px}.dict-result__head{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.dict-result__hangul{font-family:var(--font-kr);color:var(--ink);font-size:22px;font-weight:800}.dict-result__pos{color:var(--plum-deep);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:900}.dict-result__meaning{color:var(--ink);margin-top:6px;font-size:15px;font-weight:700}.dict-result__def{color:var(--ink-soft);margin:4px 0 0;font-size:13px;font-weight:600}.hangul-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.hangul-cell{aspect-ratio:1;border-radius:var(--r-md);min-width:0;box-shadow:var(--card-shadow);text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;padding:6px;transition:transform 80ms,box-shadow 80ms;display:flex;position:relative;overflow:hidden}.hangul-cell__char{font-family:var(--font-kr);color:var(--ink);font-size:28px;font-weight:700}.hangul-cell__rom{color:var(--ink-faint);margin-top:2px;font-size:11px;font-weight:800}.hangul-cell:active{transform:translateY(2px);box-shadow:0 1px #2b22372e}.speech-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.segmented{border-radius:var(--r-md);box-shadow:var(--card-shadow);background:#fff;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;display:grid}.segmented button{border-radius:var(--r-sm);min-height:40px;color:var(--ink-soft);font-weight:900}.segmented button.is-active{color:#fff;background:var(--sky);box-shadow:var(--press-sky)}.lesson-detail-list{color:var(--ink-soft);margin:10px 0 0;padding-left:18px;font-size:14px;font-weight:700}.mini-practice{border-radius:var(--r-sm);background:var(--cream-soft);color:var(--ink-soft);gap:4px;padding:10px 12px;font-size:14px;font-weight:800;display:grid}.mini-practice strong{color:var(--ink);font-size:16px}.kanji-list{gap:12px;display:grid}.kanji-card{border-radius:var(--r-lg);box-shadow:var(--card-shadow);background:#fff;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:14px;display:grid}.kanji-card__glyph{border-radius:var(--r-md);background:var(--sun-soft);width:76px;height:76px;color:var(--ink);box-shadow:var(--press-sun);place-items:center;font-size:42px;font-weight:800;display:grid}.kanji-card__body{min-width:0}.mini-examples{color:var(--ink-soft);gap:4px;margin:8px 0 10px;font-size:12px;font-weight:750;display:grid}@media (width<=390px){.topbar{gap:7px;padding-inline:12px}.cefr-badge__label,.cefr-badge__progress{display:none}.stat-pill{padding-inline:9px}.kanji-card{grid-template-columns:1fr}.kanji-card__glyph{width:100%}}.mascot{display:inline-block}.mascot--bounce{transform-origin:bottom;animation:2.2s ease-in-out infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)scale(1)}35%{transform:translateY(-6px)scale(.98,1.02)}60%{transform:translateY(0)scale(1.02,.98)}}.mascot--peek{transform-origin:bottom;animation:3s ease-in-out infinite peek}@keyframes peek{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@media (prefers-reduced-motion:reduce){.mascot--bounce,.mascot--peek{animation:none}}.confetti{pointer-events:none;z-index:100;position:fixed;inset:0;overflow:hidden}.confetti span{border-radius:3px;width:10px;height:16px;animation:linear forwards confetti-fall;position:absolute;top:-20px}@keyframes confetti-fall{to{opacity:.9;transform:translateY(110vh)rotate(720deg)}}@media (prefers-reduced-motion:reduce){.confetti{display:none}}.hero{background:linear-gradient(135deg, var(--coral-soft), var(--sun-soft));border-radius:var(--r-xl);box-shadow:var(--card-shadow);padding:20px 20px 24px;position:relative;overflow:hidden}.hero__greeting{color:var(--coral-deep);font-size:15px;font-weight:800}.hero__title{letter-spacing:-.01em;margin:4px 0 12px;font-size:26px;font-weight:900;line-height:1.2}.hero__progress-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;margin-top:14px;margin-bottom:6px;font-size:12px;font-weight:800;display:flex}.hero__mascot{pointer-events:none;position:absolute;bottom:-8px;right:-8px}.stack>*+*{margin-top:12px}.stack-lg>*+*{margin-top:18px}.row{align-items:center;gap:12px;display:flex}.row--between{justify-content:space-between}.row--wrap{flex-wrap:wrap}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.empty{text-align:center;color:var(--ink-soft);padding:32px 16px}.empty__mascot{margin-bottom:12px}.loading{text-align:center;color:var(--ink-soft);place-items:center;gap:10px;padding:80px 24px;font-weight:800;display:grid}.cal{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal__head{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:4px;display:grid}.cal__label{text-align:center;color:var(--ink-faint);letter-spacing:.04em;font-size:10px;font-weight:800}.cal__day{aspect-ratio:1;background:var(--cream-deep);color:var(--ink-faint);border-radius:8px;place-items:center;font-size:11px;font-weight:800;display:grid}.cal__day.is-done{background:var(--mint);color:#fff}.cal__day.is-today{outline:2px solid var(--coral)}.cal-month{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.badge-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.badge{text-align:center;border-radius:var(--r-md);box-shadow:var(--card-shadow);background:#fff;padding:14px 8px}.badge__icon{background:linear-gradient(135deg, var(--sun), var(--coral));color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto 8px;font-size:26px;display:grid}.badge__title{font-size:12px;font-weight:800}.badge--locked .badge__icon{background:var(--cream-deep);color:var(--ink-faint)}.badge--locked .badge__title{color:var(--ink-faint)}.badge-banner{border-radius:var(--r-lg);z-index:200;max-width:90vw;transition:transform .35s var(--ease-out);background:#fff;align-items:center;gap:12px;padding:14px 18px;display:flex;position:fixed;top:80px;left:50%;transform:translate(-50%)translateY(-120px);box-shadow:0 12px 30px -8px #2b22374d}.badge-banner.is-shown{transform:translate(-50%)translateY(0)}.badge-banner__icon{background:linear-gradient(135deg, var(--sun), var(--coral));color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;font-size:22px;display:grid}.badge-banner__eyebrow{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.badge-banner__title{font-size:15px;font-weight:900}.divider{background:var(--cream-deep);border:0;height:1px;margin:16px 0}.pill{border-radius:var(--r-pill);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.pill--coral{background:var(--coral-soft);color:var(--coral-deep)}.pill--mint{background:var(--mint-soft);color:var(--mint-deep)}.pill--sun{background:var(--sun-soft);color:#8a6a0a}.pill--plum{background:var(--plum-soft);color:var(--plum-deep)}.pill--sky{background:var(--sky-soft);color:var(--sky-deep)}.check-dot{background:var(--mint);color:#fff;width:22px;height:22px;box-shadow:var(--press-mint);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:900;display:grid}.lesson-item{border-radius:var(--r-md);box-shadow:var(--card-shadow);text-align:left;width:100%;color:inherit;background:#fff;align-items:center;gap:12px;padding:14px 16px;font-family:inherit;display:flex}.lesson-item__title{flex:1;font-size:15px;font-weight:800}.lesson-item__level{color:var(--plum-deep);letter-spacing:.06em;font-size:11px;font-weight:800}.setting-row{border-radius:var(--r-md);box-shadow:var(--card-shadow);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.setting-row__label{font-size:15px;font-weight:800}.toggle{border-radius:var(--r-pill);background:var(--cream-deep);flex:none;width:48px;height:28px;transition:background .2s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #2b223733}.toggle.is-on{background:var(--mint)}.toggle.is-on:after{transform:translate(20px)}.stepper{align-items:center;gap:6px;display:inline-flex}.stepper__btn{border-radius:var(--r-sm);background:var(--cream-deep);width:32px;height:32px;color:var(--ink);place-items:center;font-size:18px;font-weight:900;display:grid}.stepper__value{text-align:center;min-width:32px;font-size:16px;font-weight:900}a.tile{text-decoration:none}.jp-cockpit{--bg:#f3eee3;--bg-soft:#eae3d3;--surface:#fcfaf4;--surface2:#f3efe3;--ink:#2a2837;--muted:#6e6a7c;--faint:#9b96a8;--line:#e4ddcb;--line2:#d6ceba;--indigo:#3e4a77;--indigo-strong:#2f3a62;--indigo-soft:#e7e9f2;--accent:#c4502b;--accent-soft:#f5e0d5;--green:#5e7c4a;--green-soft:#e6ecdd;--gold:#a87c2a;--gold-soft:#f2e8d2;--plum:#7b5b8e;--plum-soft:#ece4f0;--onaccent:#fff9f2;--onindigo:#f4f5fa;--mascot1:#6373ac;--mascot2:#39456f;--shadow:0 1px 2px #231e320d, 0 10px 28px #231e320f;background:var(--bg);color:var(--ink);font-family:var(--font-ui)}.jp-cockpit[data-theme=dark]{--bg:#16151d;--bg-soft:#100f16;--surface:#201e2a;--surface2:#292734;--ink:#efeae0;--muted:#a49fb2;--faint:#767185;--line:#322f3e;--line2:#3e394c;--indigo:#93a2d8;--indigo-strong:#aab6e4;--indigo-soft:#2a2e44;--accent:#e0704a;--accent-soft:#3a241d;--green:#8fae76;--green-soft:#263019;--gold:#cfa34e;--gold-soft:#332a17;--plum:#b18fc7;--plum-soft:#2f2438;--onaccent:#1d130e;--onindigo:#171928;--mascot1:#8b9ad6;--mascot2:#4d5b94;--shadow:0 1px 2px #00000059, 0 12px 32px #0006}.jp-brand{align-items:center;gap:10px;min-width:0;display:flex}.jp-spirit-mark{flex:none;display:block;overflow:visible}.jp-spirit-mark__eye{fill:var(--surface)}.jp-brand__mark{width:34px;height:34px}.jp-brand__wordmark,.jp-brand small,.jp-page-title,.jp-hero h1,.jp-section h2,.jp-status-card__glyph,.jp-activity-row__icon{font-family:var(--font-display)}.jp-brand__wordmark{letter-spacing:.06em;font-size:23px;font-weight:800;line-height:1}.jp-brand small{color:var(--faint);font-size:14px;line-height:1}.jp-brand--mobile{gap:7px}.jp-brand--mobile .jp-brand__mark{width:30px;height:30px}.jp-brand--mobile .jp-brand__wordmark{font-size:20px}.jp-brand--mobile small{font-size:12px}.jp-icon-button{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);background:var(--surface);border-radius:10px;place-items:center;display:grid}.jp-icon-button--notification{position:relative}.jp-icon-button--notification span{background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;font-size:10px;font-weight:900;display:grid;position:absolute;top:-7px;right:-7px}.jp-view{gap:18px}.jp-hero,.jp-panel,.jp-metric,.jp-section{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow);color:var(--ink);border-radius:20px}.jp-hero--cockpit{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:28px;display:flex}.jp-hero__copy{flex:420px;min-width:min(100%,420px)}.jp-title-row,.jp-hero__actions,.jp-status-grid,.jp-create-options,.jp-create-type-grid{gap:12px;display:flex}.jp-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center}.jp-kicker{color:var(--muted);letter-spacing:.14em;font-size:11px;font-weight:900}.jp-hero h1{color:var(--ink);margin:10px 0;font-size:clamp(40px,7vw,68px);line-height:.95}.jp-hero h1 span{color:var(--faint);letter-spacing:.18em;margin-top:8px;font-size:.36em;display:block}.jp-hero p,.jp-muted{color:var(--muted);margin:0;font-size:14px;line-height:1.7}.jp-hero__actions{flex-wrap:wrap;margin-top:18px}.jp-primary--inline,.jp-action--outline,.jp-link{justify-content:center;align-items:center;display:inline-flex}.jp-primary{background:var(--accent);color:var(--onaccent);border-radius:14px}.jp-primary--inline{min-height:44px;padding:0 18px}.jp-action{background:var(--accent-soft);color:var(--accent);border-radius:12px}.jp-action--outline{border:1px solid var(--accent);background:0 0}.jp-link{color:var(--indigo);background:0 0;border:0;font-weight:900}.jp-pill{border-radius:999px;padding:5px 11px;font-size:12px;font-weight:900}.jp-pill--indigo{background:var(--indigo-soft);color:var(--indigo)}.jp-pill--accent{background:var(--accent-soft);color:var(--accent)}.jp-pill--green{background:var(--green-soft);color:var(--green)}.jp-level-card{background:var(--surface2);border:1px solid var(--line);border-radius:18px;flex:0 260px;padding:20px}.jp-level-card strong,.jp-level-card span{display:block}.jp-level-card strong{margin-top:12px;font-size:28px}.jp-level-card span{color:var(--muted);font-size:13px}.jp-mascot{color:#fff;place-items:center;width:38px;height:38px;animation:4s ease-in-out infinite floaty;display:grid}.jp-mascot .jp-spirit-mark{width:100%;height:100%}.jp-mascot--large{width:68px;height:68px;font-size:26px}.jp-meter{background:var(--line)}.jp-meter span{background:linear-gradient(90deg, var(--accent), var(--gold))}.jp-meter--compact{height:9px;margin:14px 8px 6px}.jp-home-cockpit-grid{grid-template-columns:minmax(280px,.95fr) minmax(320px,1.45fr);align-items:stretch;gap:14px;display:grid}.jp-home-cockpit-grid .jp-grid--metrics{height:100%}.jp-grid--metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.jp-next-action{border:1px solid var(--line);background:var(--accent-soft);color:var(--ink);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;gap:8px;padding:22px;display:flex}.jp-next-action h2{color:var(--ink);margin:0;font-family:Shippori Mincho,serif;font-size:clamp(20px,2.6vw,26px);line-height:1.25}.jp-next-action p{color:var(--muted);flex:1;margin:0;font-size:13px;line-height:1.6}.jp-next-action__actions{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.jp-next-action--green{background:var(--green-soft)}.jp-next-action--gold{background:var(--gold-soft)}.jp-next-action--plum{background:var(--plum-soft)}.jp-next-action--indigo,.jp-next-action--active{background:var(--indigo-soft)}.jp-next-action--danger,.jp-next-action--pending,.jp-next-action--accent{background:var(--accent-soft)}.jp-metric{border-radius:18px}.jp-metric span,.jp-metric small,.jp-list-row span,.jp-list-row small,.jp-setting-row span{color:var(--muted)}.jp-metric--accent{background:var(--accent-soft)}.jp-metric--gold{background:var(--gold-soft)}.jp-metric--green{background:var(--green-soft)}.jp-metric--indigo{background:var(--indigo-soft)}.jp-metric--plum{background:var(--plum-soft)}.jp-section h2,.jp-page-title{color:var(--ink);font-weight:800}.jp-section__head{align-items:flex-start}.jp-status-grid,.jp-create-type-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.jp-status-card,.jp-create-type{background:var(--surface2);border:1px solid var(--line);text-align:left;border-radius:16px;align-items:flex-start;gap:12px;padding:14px;display:flex}.jp-status-card__glyph,.jp-activity-row__icon,.jp-create-type span{background:var(--indigo-soft);color:var(--indigo);border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.jp-status-card strong,.jp-status-card span,.jp-status-card small{display:block}.jp-status-card strong,.jp-create-type strong{color:var(--ink)}.jp-status-card span,.jp-create-type small{color:var(--muted);font-size:12.5px;line-height:1.5}.jp-status-card small{color:var(--green);margin-top:6px;font-size:12px;font-weight:800}.jp-status-card--pending small,.jp-status-card--pending .jp-status-card__glyph,.jp-status-card--pending i{color:var(--gold)}.jp-status-card--pending i,.jp-status-card--pending .jp-status-card__glyph{background:var(--gold-soft)}.jp-status-card--active small,.jp-status-card--active .jp-status-card__glyph,.jp-status-card--active i{color:var(--indigo)}.jp-status-card--active i,.jp-status-card--active .jp-status-card__glyph{background:var(--indigo-soft)}.jp-status-card--success small,.jp-status-card--success .jp-status-card__glyph,.jp-status-card--success i{color:var(--green)}.jp-status-card--success i,.jp-status-card--success .jp-status-card__glyph{background:var(--green-soft)}.jp-status-card--danger small,.jp-status-card--danger .jp-status-card__glyph,.jp-status-card--danger i{color:var(--accent)}.jp-status-card--danger i,.jp-status-card--danger .jp-status-card__glyph{background:var(--accent-soft)}.jp-status-card--muted small,.jp-status-card--muted .jp-status-card__glyph,.jp-status-card--muted i{color:var(--muted)}.jp-status-card--muted i,.jp-status-card--muted .jp-status-card__glyph{background:var(--surface2)}.jp-status-card i,.jp-status-dot{background:var(--green);border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.jp-status-card--pending i{background:var(--gold)}.jp-status-card--active i{background:var(--indigo)}.jp-status-card--success i{background:var(--green)}.jp-status-card--danger i{background:var(--accent)}.jp-status-card--muted i{background:var(--muted)}.jp-category{border:1px solid var(--line);border-radius:16px}.jp-category--vocabulary{background:var(--green-soft)}.jp-category--kanji{background:var(--gold-soft)}.jp-category--structured{background:var(--indigo-soft)}.jp-category--immersion{background:var(--plum-soft)}.jp-list-row,.jp-empty,.jp-feedback,.jp-setting-row{background:var(--surface2);border-color:var(--line);color:var(--ink);border-radius:14px}.jp-activity-row,.jp-job-row{justify-content:flex-start}.jp-job-row{position:relative;overflow:hidden}.jp-job-row:before{content:"";background:var(--indigo);width:4px;position:absolute;inset:0 auto 0 0}.jp-job-row--pending:before{background:var(--gold)}.jp-job-row--active:before{background:var(--indigo)}.jp-job-row--success:before{background:var(--green)}.jp-job-row--danger:before{background:var(--accent)}.jp-job-row--muted:before{background:var(--muted)}.jp-activity-row>div,.jp-job-row>div{flex:1}.jp-job-row__title{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:2px;display:flex}.jp-job-row__actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.jp-job-row__actions .jp-action{min-height:32px;padding:.45rem .72rem;font-size:12px}.jp-job-progress{background:var(--line);border-radius:999px;width:min(100%,320px);height:7px;margin-top:8px;overflow:hidden}.jp-job-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--indigo), var(--gold));height:100%;display:block}.jp-pill--status{padding:3px 8px;font-size:10.5px}.jp-pill--pending{background:var(--gold-soft);color:var(--gold)}.jp-pill--active{background:var(--indigo-soft);color:var(--indigo)}.jp-pill--success{background:var(--green-soft);color:var(--green)}.jp-pill--danger{background:var(--accent-soft);color:var(--accent)}.jp-pill--muted{background:var(--surface2);color:var(--muted);border:1px solid var(--line)}.jp-section__actions{align-items:center;gap:12px;display:flex}.jp-home-material-list{gap:8px;display:grid}.jp-home-material-card{border:1px solid var(--line);background:var(--surface2);color:var(--ink);transition:transform .15s var(--ease-out), border-color .15s var(--ease-out), background .15s var(--ease-out);border-radius:14px;gap:10px;padding:11px 13px;display:grid}.jp-home-material-card:hover{border-color:color-mix(in srgb, var(--indigo) 55%, var(--line));background:var(--surface);transform:translateY(-1px)}.jp-home-material-card__main{min-width:0;color:inherit;align-items:center;gap:12px;display:flex}.jp-home-material-card--green{border-color:color-mix(in srgb, var(--green) 28%, var(--line));background:linear-gradient(90deg, color-mix(in srgb, var(--green) 10%, transparent), var(--surface2))}.jp-home-material-card--active{border-color:color-mix(in srgb, var(--indigo) 28%, var(--line))}.jp-home-material-card--danger{border-color:color-mix(in srgb, var(--accent) 34%, var(--line));background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 10%, transparent), var(--surface2))}.jp-home-material-card--success{border-color:color-mix(in srgb, var(--green) 22%, var(--line))}.jp-home-material-card__context{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;padding-left:42px;font-size:11.5px;font-weight:800;display:flex}.jp-home-material-card__context>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.jp-home-material-card__context .jp-action{border-radius:999px;padding:6px 9px;font-size:11px}.jp-home-material-family-warning{border:1px dashed color-mix(in srgb, var(--gold) 45%, var(--line));background:color-mix(in srgb, var(--gold) 8%, var(--surface2));color:var(--muted);border-radius:12px;padding:8px 10px;font-size:11.5px;font-weight:800}.jp-home-material-family{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding-left:42px;display:grid}.jp-home-material-family>span,.jp-home-material-family--loading{border:1px solid color-mix(in srgb, var(--indigo) 16%, var(--line));background:color-mix(in srgb, var(--paper) 55%, transparent);min-width:0;color:var(--muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:6px 8px;font-size:10.5px;font-weight:900;overflow:hidden}.jp-home-material-family--loading{text-align:left;border-style:dashed;display:block}.jp-home-material-family__worker--success{color:var(--green)!important;border-color:color-mix(in srgb, var(--green) 38%, var(--line))!important}.jp-home-material-family__worker--active,.jp-home-material-family__worker--pending{color:var(--indigo)!important;border-color:color-mix(in srgb, var(--indigo) 38%, var(--line))!important}.jp-home-material-family__worker--danger{color:var(--accent)!important;border-color:color-mix(in srgb, var(--accent) 38%, var(--line))!important}.jp-home-material-family__worker--muted{color:var(--muted)!important}.jp-home-worker-checkpoint{border:1px solid color-mix(in srgb, var(--indigo) 18%, var(--line));color:inherit;background:color-mix(in srgb, var(--surface) 74%, transparent);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;margin-left:42px;padding:9px 10px;text-decoration:none;display:grid}.jp-home-worker-checkpoint:hover{border-color:color-mix(in srgb, var(--indigo) 40%, var(--line));background:var(--surface)}.jp-home-worker-checkpoint__dot{background:var(--gold);width:9px;height:9px;box-shadow:0 0 0 4px color-mix(in srgb, var(--gold) 14%, transparent);border-radius:999px}.jp-home-worker-checkpoint--success .jp-home-worker-checkpoint__dot{background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb, var(--green) 14%, transparent)}.jp-home-worker-checkpoint--active .jp-home-worker-checkpoint__dot{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent)}.jp-home-worker-checkpoint--danger .jp-home-worker-checkpoint__dot{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}.jp-home-worker-checkpoint--muted .jp-home-worker-checkpoint__dot{background:var(--muted);box-shadow:0 0 0 4px color-mix(in srgb, var(--muted) 14%, transparent)}.jp-home-worker-checkpoint__copy{gap:2px;min-width:0;display:grid}.jp-home-worker-checkpoint__copy strong,.jp-home-worker-checkpoint__copy small,.jp-home-worker-checkpoint__meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jp-home-worker-checkpoint__copy strong{color:var(--ink);font-size:12px;font-weight:900}.jp-home-worker-checkpoint__copy small,.jp-home-worker-checkpoint__meta,.jp-home-worker-checkpoint--loading{color:var(--muted);font-size:11px;font-weight:850}.jp-home-worker-checkpoint__meta{background:color-mix(in srgb, var(--indigo-soft) 58%, transparent);max-width:110px;color:var(--indigo);border-radius:999px;padding:4px 7px}.jp-home-worker-checkpoint--loading{border-style:dashed;display:block}.jp-home-material-card__copy{flex:1;gap:2px;min-width:0;display:grid}.jp-home-material-card__copy strong,.jp-home-material-card__copy span,.jp-home-material-card__copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.jp-home-material-card__copy strong{font-size:14px}.jp-home-material-card__copy span,.jp-home-material-card__copy small{color:var(--muted);font-size:11.5px;font-weight:800}.jp-form input,.jp-form textarea,.jp-form select,.jp-search,.jp-settings input{background:var(--surface2);border-color:var(--line);color:var(--ink);border-radius:14px}.jp-form select{width:100%;font:inherit;padding:12px;font-weight:800}.jp-create-hero{padding:22px}.jp-create-form{gap:16px}.jp-create-draft-banner{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));background:radial-gradient(circle at 4% 0%, #e1a73329, transparent 32%), var(--surface);box-shadow:var(--shadow);border-radius:20px;gap:6px;padding:16px 18px;display:grid}.jp-create-draft-banner strong{color:var(--ink);font-family:var(--font-display);font-size:19px}.jp-create-draft-banner small{color:var(--muted);line-height:1.5}.jp-create-source-card{border:1px solid var(--line);background:var(--surface2);border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.jp-create-source-card>div{gap:4px;min-width:0;display:grid}.jp-create-source-card span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900}.jp-create-source-card b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jp-create-source-output{border:1px dashed color-mix(in srgb, var(--accent) 42%, var(--line));background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface));border-radius:14px;gap:4px;margin-top:6px;padding:10px 12px;display:grid}.jp-create-source-output small{overflow-wrap:anywhere}.jp-create-source-card .jp-action{flex-shrink:0}.jp-create-lineage-cockpit{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:6px;display:grid}.jp-create-lineage-card{border:1px solid var(--line);background:var(--surface2);border-radius:16px;gap:5px;min-width:0;padding:13px;display:grid}.jp-create-lineage-card--source{border-color:color-mix(in srgb, var(--indigo) 28%, var(--line))}.jp-create-lineage-card--output{border-color:color-mix(in srgb, var(--gold) 34%, var(--line));background:color-mix(in srgb, var(--gold-soft) 30%, var(--surface2))}.jp-create-lineage-card--next{border-color:color-mix(in srgb, var(--accent) 34%, var(--line))}.jp-create-lineage-card span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950}.jp-create-lineage-card b{color:var(--ink);font-family:var(--font-display);text-overflow:ellipsis;font-size:17px;overflow:hidden}.jp-create-lineage-card small{color:var(--muted);overflow-wrap:anywhere;line-height:1.45}.jp-create-lineage-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.jp-create-lineage-actions .jp-action{min-height:34px}.jp-create-draft-banner--failed{border-color:color-mix(in srgb, var(--accent) 62%, var(--line));background:radial-gradient(circle at 4% 0%, #fc705229, transparent 32%), var(--surface)}.jp-create-type{cursor:pointer}.jp-create-type.is-active{border-color:var(--accent);background:var(--accent-soft)}.jp-create-type.is-active span{background:var(--accent);color:var(--onaccent)}.jp-create-options{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.jp-create-mode-guide{border:1px solid var(--line);background:var(--surface2);border-radius:20px;align-items:flex-start;gap:14px;padding:16px;display:flex}.jp-create-mode-guide--indigo{border-color:color-mix(in srgb, var(--indigo) 28%, var(--line))}.jp-create-mode-guide--accent{border-color:color-mix(in srgb, var(--accent) 34%, var(--line))}.jp-create-mode-guide--green{border-color:color-mix(in srgb, var(--green) 32%, var(--line))}.jp-create-mode-guide__glyph{background:var(--indigo-soft);width:46px;height:46px;color:var(--indigo);font-family:var(--font-display);border-radius:16px;flex:0 0 46px;place-items:center;font-size:22px;font-weight:900;display:grid}.jp-create-mode-guide--accent .jp-create-mode-guide__glyph{background:var(--accent-soft);color:var(--accent)}.jp-create-mode-guide--green .jp-create-mode-guide__glyph{background:var(--green-soft);color:var(--green)}.jp-create-mode-guide strong,.jp-create-mode-guide small{display:block}.jp-create-mode-guide strong{color:var(--ink);font-family:var(--font-display);font-size:18px}.jp-create-mode-guide small{color:var(--muted);margin-top:4px;line-height:1.5}.jp-create-option-summary{flex-wrap:wrap;gap:8px;display:flex}.jp-create-pipeline{border:1px solid color-mix(in srgb, var(--indigo) 22%, var(--line));background:radial-gradient(circle at 100% 0%, #3e4a771a, transparent 34%), var(--surface2);border-radius:20px;gap:12px;padding:14px;display:grid}.jp-create-pipeline__head{gap:4px;display:grid}.jp-create-pipeline__head strong{color:var(--ink);font-family:var(--font-display);font-size:17px}.jp-create-pipeline__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.jp-create-pipeline-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;align-items:flex-start;gap:10px;min-width:0;padding:12px;display:flex}.jp-create-pipeline-card--indigo{border-color:color-mix(in srgb, var(--indigo) 30%, var(--line))}.jp-create-pipeline-card--green{border-color:color-mix(in srgb, var(--green) 30%, var(--line))}.jp-create-pipeline-card--gold{border-color:color-mix(in srgb, var(--gold) 34%, var(--line))}.jp-create-pipeline-card--accent{border-color:color-mix(in srgb, var(--accent) 34%, var(--line))}.jp-create-pipeline-card--muted{opacity:.88}.jp-create-pipeline-card__glyph{background:var(--indigo-soft);width:34px;height:34px;color:var(--indigo);font-family:var(--font-display);border-radius:12px;flex:0 0 34px;place-items:center;font-weight:950;display:grid}.jp-create-pipeline-card--green .jp-create-pipeline-card__glyph{background:var(--green-soft);color:var(--green)}.jp-create-pipeline-card--gold .jp-create-pipeline-card__glyph{background:var(--gold-soft);color:var(--gold)}.jp-create-pipeline-card--accent .jp-create-pipeline-card__glyph{background:var(--accent-soft);color:var(--accent)}.jp-create-pipeline-card--muted .jp-create-pipeline-card__glyph{background:var(--surface2);color:var(--muted)}.jp-create-pipeline-card strong,.jp-create-pipeline-card small,.jp-create-pipeline-card p{display:block}.jp-create-pipeline-card strong{color:var(--ink);font-weight:950}.jp-create-pipeline-card small{color:var(--muted);margin-top:2px;font-size:12px;font-weight:850}.jp-create-pipeline-card p{color:var(--faint);margin:5px 0 0;font-size:12px;line-height:1.45}.jp-chip{background:var(--surface2);min-height:30px;color:var(--muted);border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.jp-chip--indigo{background:var(--indigo-soft);color:var(--indigo)}.jp-chip--green{background:var(--green-soft);color:var(--green)}.jp-chip--gold{background:var(--gold-soft);color:var(--gold)}.jp-chip--muted{background:var(--surface2);color:var(--muted)}.jp-sinbi-card{border:1px solid var(--line);background:var(--surface2);border-radius:20px;gap:12px;padding:16px;display:grid}.jp-sinbi-card--green{border-color:color-mix(in srgb, var(--green) 28%, var(--line));background:color-mix(in srgb, var(--green-soft) 64%, var(--surface2))}.jp-sinbi-card--gold{border-color:color-mix(in srgb, var(--gold) 28%, var(--line));background:color-mix(in srgb, var(--gold-soft) 64%, var(--surface2))}.jp-sinbi-card--indigo{border-color:color-mix(in srgb, var(--indigo) 28%, var(--line));background:color-mix(in srgb, var(--indigo-soft) 64%, var(--surface2))}.jp-sinbi-card--plum{border-color:color-mix(in srgb, var(--plum) 28%, var(--line));background:color-mix(in srgb, var(--plum-soft) 64%, var(--surface2))}.jp-sinbi-card--coral{border-color:color-mix(in srgb, var(--accent) 28%, var(--line));background:color-mix(in srgb, var(--accent-soft) 64%, var(--surface2))}.jp-sinbi-card--muted{background:var(--surface)}.jp-action--primary{background:var(--accent);color:var(--onaccent)}.jp-worker-handoff{background:radial-gradient(circle at 96% 0%, #fc70521f, transparent 28%), var(--surface)}.jp-worker-status-card{border:1px solid var(--line);background:radial-gradient(circle at 96% 0%, #3e4a771f, transparent 32%), var(--surface2);border-radius:18px;flex-direction:column;gap:14px;padding:16px;display:flex}.jp-worker-status-card h2{color:var(--ink);font-family:var(--font-display);margin:0;font-size:22px}.jp-anki-sync-card,.jp-notification-settings{border:1px solid var(--line);background:radial-gradient(circle at 100% 0%, #fc70521f, transparent 28%), var(--surface2);border-radius:18px;flex-direction:column;gap:14px;padding:16px;display:flex}.jp-anki-sync-card{background:radial-gradient(circle at 0% 0%, #3e4a771f, transparent 30%), var(--surface2)}.jp-anki-sync-card h2,.jp-anki-sync-card p,.jp-notification-settings h2,.jp-notification-settings p{margin:0}.jp-anki-sync-card p,.jp-notification-settings p{color:var(--muted);font-size:13px;line-height:1.6}.jp-anki-sync-card__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.jp-anki-sync-card__stats span{border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:14px;gap:4px;padding:12px;font-size:12px;font-weight:800;display:grid}.jp-anki-sync-card__stats strong{color:var(--indigo);font-family:var(--font-display);font-size:24px;line-height:1}.jp-anki-sync-card__footer{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:850;display:flex}.jp-persistence-settings .jp-persistence-actions{flex-wrap:wrap;gap:10px;display:flex}.jp-persistence-settings .jp-persistence-actions .jp-action{min-height:44px;padding-inline:14px}.jp-persistence-settings [role=alert]{color:var(--danger,#b42318);font-weight:800}@media (width<=520px){.jp-persistence-settings .jp-persistence-actions .jp-action{width:100%}}.jp-notification-settings__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.jp-notification-toggle{border:1px solid var(--line);background:var(--surface);border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.jp-notification-toggle strong,.jp-notification-toggle span{display:block}.jp-notification-toggle span{color:var(--muted);font-size:12px;line-height:1.5}.jp-notification-toggle input{width:20px;height:20px;accent-color:var(--indigo)}.jp-worker-status-card__grid{grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:12px;display:grid}.jp-worker-status-card__summary,.jp-worker-status-card__counts{border:1px solid var(--line);background:var(--surface);border-radius:16px}.jp-worker-status-card__summary{flex-direction:column;align-items:flex-start;gap:8px;padding:14px;display:flex}.jp-worker-status-card__summary strong,.jp-worker-status-card__summary small{display:block}.jp-worker-status-card__summary strong{color:var(--ink);font-size:15px}.jp-worker-status-card__summary small{color:var(--muted);font-size:12px;line-height:1.5}.jp-worker-status-card__counts{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.jp-worker-status-card__counts span{border-right:1px solid var(--line);border-bottom:1px solid var(--line);place-items:center;gap:2px;min-height:70px;display:grid}.jp-worker-status-card__counts span:nth-child(2n){border-right:0}.jp-worker-status-card__counts span:nth-last-child(-n+2){border-bottom:0}.jp-worker-status-card__counts strong{color:var(--indigo);font-family:var(--font-display);font-size:24px;line-height:1}.jp-worker-status-card__counts small{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.jp-worker-diagnostics{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.jp-worker-diagnostic-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;gap:8px;min-width:0;padding:14px;display:flex}.jp-worker-diagnostic-card__head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.jp-worker-diagnostic-card strong{color:var(--ink);font-family:var(--font-display);font-size:18px;line-height:1.2}.jp-worker-diagnostic-card p,.jp-worker-diagnostic-card>span:not(.jp-kicker),.jp-worker-diagnostic-card small,.jp-worker-diagnostic-card em{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.jp-worker-diagnostic-card p{color:var(--ink);font-weight:800}.jp-worker-diagnostic-card small{color:var(--accent);background:var(--accent-soft);border-radius:12px;padding:8px 10px;font-weight:800}.jp-worker-checklist{gap:8px;margin:0;padding:0;list-style:none;display:grid}.jp-worker-checklist li{color:var(--muted);padding-left:22px;font-size:12.5px;line-height:1.45;position:relative}.jp-worker-checklist li:before{color:var(--green);content:"✓";font-weight:900;position:absolute;left:0}.jp-command-bar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.jp-command-bar .jp-action{white-space:nowrap;justify-content:center}.jp-command-line{border:1px solid var(--line);color:var(--indigo);background:var(--surface2);white-space:nowrap;border-radius:14px;padding:13px 14px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12.5px;font-weight:850;display:block;overflow-x:auto}.jp-worker-steps{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;display:grid}.jp-worker-steps span{border:1px solid var(--line);color:var(--muted);background:var(--surface2);text-align:center;border-radius:999px;padding:9px 10px;font-size:11.5px;font-weight:900}.jp-smoke-checklist{border:1px solid color-mix(in srgb, var(--gold) 34%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--gold) 10%, transparent), var(--surface));border-radius:18px;gap:12px;padding:14px;display:grid}.jp-smoke-checklist--compact{max-width:820px}.jp-smoke-checklist summary{color:var(--indigo);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-weight:900;display:flex}.jp-smoke-checklist summary span,.jp-smoke-checklist>div{gap:4px;min-width:0;display:grid}.jp-smoke-checklist h3,.jp-smoke-checklist p,.jp-smoke-checklist ol{margin:0}.jp-smoke-checklist h3,.jp-smoke-checklist summary strong{color:var(--ink);font-family:var(--font-display);font-size:18px;line-height:1.2}.jp-smoke-checklist p,.jp-smoke-checklist summary small,.jp-smoke-checklist li span{color:var(--muted);font-size:12.5px;line-height:1.45}.jp-smoke-checklist ol{counter-reset:smoke-step;gap:10px;padding-left:0;list-style:none;display:grid}.jp-smoke-checklist li{counter-increment:smoke-step;gap:4px;padding-left:34px;display:grid;position:relative}.jp-smoke-checklist li:before{width:23px;height:23px;color:var(--onaccent);background:var(--accent);content:counter(smoke-step);border-radius:999px;place-items:center;font-size:11px;font-weight:950;display:grid;position:absolute;top:1px;left:0}.jp-smoke-checklist li strong{color:var(--ink);font-size:13px;line-height:1.35}.jp-smoke-checklist code{border:1px solid var(--line);color:var(--indigo);background:var(--surface2);white-space:nowrap;border-radius:12px;padding:8px 10px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11.5px;font-weight:850;display:block;overflow-x:auto}.jp-filter-row{flex-wrap:wrap;gap:8px;display:flex}.jp-filter-row button{border:1px solid var(--line);min-height:38px;color:var(--muted);background:var(--surface2);font:inherit;cursor:pointer;border-radius:999px;padding:0 12px;font-size:12px;font-weight:900}.jp-filter-row button.is-active{color:var(--onindigo);background:var(--indigo);border-color:var(--indigo)}.jp-filter-row--compact button.is-active{color:var(--onaccent);background:var(--accent);border-color:var(--accent)}.jp-family-filter-banner{border:1px solid color-mix(in srgb, var(--plum) 26%, var(--line));background:linear-gradient(135deg, var(--plum-soft), var(--surface));border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.jp-family-filter-banner>div{gap:3px;min-width:0;display:grid}.jp-family-filter-banner strong{color:var(--ink);font-size:14px;line-height:1.35}.jp-family-filter-banner small{color:var(--muted);font-size:12px;font-weight:800;line-height:1.45}.jp-family-filter-banner__actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;display:flex}.jp-family-filter-banner .jp-link{flex-shrink:0}.jp-authoring-badge{border:1px solid color-mix(in srgb, var(--indigo) 28%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--indigo-soft) 78%, transparent), var(--surface));border-radius:14px;gap:3px;padding:9px 11px;display:grid}.jp-authoring-badge strong{color:var(--indigo);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:950}.jp-authoring-badge span{color:var(--muted);font-size:12px;font-weight:800}.jp-output-link{color:var(--accent);background:var(--accent-soft);font:inherit;border:0;text-decoration:none}button.jp-output-link{cursor:pointer}.jp-output-link-group{align-items:center;gap:5px;max-width:100%;display:inline-flex}.jp-output-copy{color:var(--muted);font:inherit;cursor:pointer;background:#ffffffbd;border:0;border-radius:999px;padding:4px 7px;font-size:10.5px;font-weight:850}.jp-output-copy:hover,.jp-output-copy:focus-visible{color:var(--accent);outline:none}.jp-output-link--path{max-width:100%;color:var(--gold);background:var(--gold-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jp-source-link{color:var(--indigo);text-decoration:none}.jp-family-modal{z-index:1200;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#16151d6b;place-items:center;padding:clamp(14px,4vw,28px);display:grid;position:fixed;inset:0}.jp-family-modal__panel{border:1px solid var(--line);background:var(--surface);width:min(940px,100%);max-height:min(86vh,860px);box-shadow:var(--shadow);border-radius:28px;gap:14px;padding:clamp(16px,3vw,24px);display:grid;overflow:auto}.jp-family-modal__head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.jp-family-modal__head h2,.jp-family-modal__head p{margin:0}.jp-family-modal__head h2{color:var(--ink);font-family:Shippori Mincho,serif;font-size:clamp(24px,4vw,36px);line-height:1.15}.jp-family-modal__head p{color:var(--muted);margin-top:6px;font-size:13px;font-weight:850}.jp-family-mobile-actions{z-index:2;border:1px solid color-mix(in srgb, var(--indigo) 18%, var(--line));background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex;position:sticky;top:-1px;box-shadow:0 10px 26px #231e3214}.jp-family-mobile-actions .jp-link,.jp-family-mobile-actions .jp-action{min-height:34px}.jp-family-current{border:1px solid color-mix(in srgb, var(--gold) 24%, var(--line));background:linear-gradient(135deg, var(--gold-soft), var(--surface2));border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.jp-family-current strong,.jp-family-current span{display:block}.jp-family-current strong{color:var(--ink);font-size:14px}.jp-family-current span{color:var(--muted);margin-top:2px;font-size:12px;font-weight:850}.jp-family-current__actions,.jp-family-node__actions{flex-wrap:wrap;gap:8px;display:flex}.jp-family-operator{border:1px solid color-mix(in srgb, var(--indigo) 22%, var(--line));background:radial-gradient(circle at 8% 18%, color-mix(in srgb, var(--gold-soft) 72%, transparent), transparent 34%), linear-gradient(135deg, color-mix(in srgb, var(--indigo-soft) 58%, transparent), var(--surface2));border-radius:22px;grid-template-columns:minmax(0,1fr) minmax(220px,.64fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.jp-family-operator--success{border-color:color-mix(in srgb, var(--green) 32%, var(--line));background:linear-gradient(135deg, var(--green-soft), var(--surface2))}.jp-family-operator--active,.jp-family-operator--pending{border-color:color-mix(in srgb, var(--accent) 32%, var(--line));background:linear-gradient(135deg, var(--accent-soft), var(--surface2))}.jp-family-operator--danger{border-color:color-mix(in srgb, var(--accent) 34%, var(--line));background:linear-gradient(135deg, var(--accent-soft), var(--surface2))}.jp-family-operator__copy{min-width:0}.jp-family-operator__copy h3,.jp-family-operator__copy p,.jp-family-operator__copy small{margin:0;display:block}.jp-family-operator__copy h3{color:var(--ink);font-family:var(--font-display);margin-top:4px;font-size:clamp(18px,3vw,24px);line-height:1.12}.jp-family-operator__copy p{color:var(--ink-soft);margin-top:5px;font-size:13px;font-weight:850}.jp-family-operator__copy small{color:var(--muted);margin-top:4px;font-size:11.5px;font-weight:800}.jp-family-operator__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.jp-family-operator__metric{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 78%, transparent);border-radius:14px;padding:9px}.jp-family-operator__metric span,.jp-family-operator__metric strong{display:block}.jp-family-operator__metric span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;font-weight:950}.jp-family-operator__metric strong{color:var(--ink);font-family:var(--font-display);margin-top:3px;font-size:20px;line-height:1}.jp-family-operator__metric--success strong{color:var(--green)}.jp-family-operator__metric--active strong,.jp-family-operator__metric--pending strong,.jp-family-operator__metric--danger strong{color:var(--accent)}.jp-family-operator__actions{flex-direction:column;gap:8px;display:flex}.jp-family-recovery{border:1px solid color-mix(in srgb, var(--accent) 38%, var(--line));background:radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--gold-soft) 72%, transparent), transparent 30%), linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 84%, var(--surface)), var(--surface));box-shadow:var(--shadow);border-radius:22px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.jp-family-recovery--active,.jp-family-recovery--pending{border-color:color-mix(in srgb, var(--gold) 42%, var(--line))}.jp-family-recovery__copy{gap:5px;min-width:0;display:grid}.jp-family-recovery__copy h3,.jp-family-recovery__copy p,.jp-family-recovery__copy small{margin:0}.jp-family-recovery__copy h3{color:var(--ink);font-family:var(--font-display);font-size:clamp(18px,3vw,24px);line-height:1.12}.jp-family-recovery__copy p{color:var(--ink-soft);font-size:13px;font-weight:850}.jp-family-recovery__copy small{color:var(--muted);overflow-wrap:anywhere;font-size:11.5px;font-weight:800}.jp-family-recovery__copy code{border:1px solid var(--line);color:var(--ink);background:color-mix(in srgb, var(--surface) 84%, transparent);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:12px;padding:8px 9px;font-size:11px;line-height:1.45;display:block}.jp-family-recovery__actions{flex-direction:column;gap:8px;display:flex}.jp-family-timeline,.jp-family-timeline__section,.jp-family-node-list{gap:10px;display:grid}.jp-family-timeline{gap:16px}.jp-family-timeline__section{position:relative}.jp-family-timeline__section .jp-kicker{color:var(--muted)}.jp-family-node{border:1px solid var(--line);background:var(--surface2);border-radius:18px;grid-template-columns:minmax(88px,auto) minmax(0,1fr) auto auto;align-items:start;gap:12px;padding:12px;display:grid}.jp-family-node--current{border-color:color-mix(in srgb, var(--accent) 34%, var(--line));background:linear-gradient(135deg, var(--accent-soft), var(--surface2))}.jp-family-node--source{border-color:color-mix(in srgb, var(--plum) 28%, var(--line))}.jp-family-node--derived{border-color:color-mix(in srgb, var(--green) 28%, var(--line))}.jp-family-node__role{width:fit-content;color:var(--plum);background:var(--plum-soft);white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:950}.jp-family-node--current .jp-family-node__role{color:var(--accent);background:var(--accent-soft)}.jp-family-node--derived .jp-family-node__role{color:var(--green);background:var(--green-soft)}.jp-family-node strong,.jp-family-node small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.jp-family-node strong{color:var(--ink);font-size:14px}.jp-family-node small{color:var(--muted);font-size:11.5px;font-weight:800}.jp-family-node__body{gap:4px;min-width:0;display:grid}.jp-family-node__primary{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.jp-family-node__primary>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:950}.jp-family-node__outputs{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.jp-family-node__outputs .jp-output-link,.jp-family-node__primary .jp-output-link{padding:4px 8px;font-size:11px}.jp-family-node__operator-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.jp-family-node__operator-actions .jp-link{background:color-mix(in srgb, var(--surface) 72%, transparent);border-radius:999px;min-height:28px;padding:4px 8px;font-size:11.5px}.jp-family-node__operator-actions .jp-link:disabled{cursor:not-allowed;opacity:.55}.jp-family-node__presets{border-top:1px dashed color-mix(in srgb, var(--line) 78%, transparent);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;padding-top:6px;display:flex}.jp-family-node__presets>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;font-weight:950}.jp-family-node__presets a{border:1px solid color-mix(in srgb, var(--indigo) 16%, var(--line));color:var(--indigo);background:color-mix(in srgb, var(--indigo-soft) 58%, transparent);border-radius:999px;padding:4px 7px;font-size:11px;font-weight:900;text-decoration:none}.jp-family-node__presets a:hover{border-color:color-mix(in srgb, var(--indigo) 34%, var(--line));background:var(--indigo-soft)}.jp-family-comparison{border:1px solid color-mix(in srgb, var(--indigo) 18%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--indigo-soft) 56%, transparent), var(--surface2));border-radius:20px;gap:12px;padding:14px;display:grid}.jp-family-comparison__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.jp-family-comparison__head h3,.jp-family-comparison__head span{margin:0}.jp-family-comparison__head h3{color:var(--ink);font-family:var(--font-display);font-size:18px;line-height:1.15}.jp-family-comparison__head>span{max-width:320px;color:var(--muted);text-align:right;font-size:12px;font-weight:850}.jp-family-comparison__grid{gap:6px;padding-bottom:2px;display:grid;overflow-x:auto}.jp-family-comparison__row{display:contents}.jp-family-comparison__corner,.jp-family-comparison__node,.jp-family-comparison__label,.jp-family-comparison__value{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 82%, transparent);border-radius:12px;min-width:0;padding:9px 10px}.jp-family-comparison__corner,.jp-family-comparison__label{z-index:1;color:var(--muted);background:var(--surface);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950;position:sticky;left:0}.jp-family-comparison__node span,.jp-family-comparison__node strong,.jp-family-comparison__value span,.jp-family-comparison__value small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.jp-family-comparison__node span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;font-weight:950}.jp-family-comparison__node strong{color:var(--ink);margin-top:3px;font-size:12px}.jp-family-comparison__value{color:var(--muted);font-size:12px;font-weight:900}.jp-family-comparison__value--success{color:var(--green);background:var(--green-soft)}.jp-family-comparison__value--active{color:var(--accent);background:var(--accent-soft)}.jp-family-comparison__value.is-changed{border-color:color-mix(in srgb, var(--gold) 48%, var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 24%, transparent)}.jp-family-comparison__value small{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;margin-top:3px;font-size:10px;font-weight:950}.jp-family-node__actions a{color:var(--indigo);font-size:12px;font-weight:900;text-decoration:none}.jp-family-node__actions a:hover{text-underline-offset:2px;text-decoration:underline}.jp-feedback--warn{color:var(--accent);background:var(--accent-soft)}.jp-feedback--success{color:var(--green);background:var(--green-soft)}.jp-empty--compact{padding:9px 10px;font-size:12px}.jp-toggle-row{border:1px solid var(--line);background:var(--surface2);border-radius:14px;justify-content:space-between;min-height:48px;padding:12px}.jp-toggle-row input{width:auto}.jp-worker-hero{gap:14px;position:relative;overflow:hidden}.jp-worker-hero:after{color:var(--ink);content:"生成";font-family:var(--font-display);opacity:.035;pointer-events:none;font-size:120px;font-weight:900;line-height:1;position:absolute;top:-34px;right:-28px}.jp-command-bar--hero{max-width:780px}.jp-worker-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.jp-worker-metric{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;padding:16px}.jp-worker-metric span,.jp-worker-metric strong{display:block}.jp-worker-metric span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.jp-worker-metric strong{font-family:var(--font-display);margin-top:5px;font-size:30px;line-height:1}.jp-worker-metric--pending strong,.jp-worker-metric--active strong,.jp-worker-metric--danger strong,.jp-worker-metric--success strong{color:var(--indigo)}.jp-worker-metric--pending strong{color:var(--gold)}.jp-worker-metric--active strong,.jp-worker-metric--danger strong{color:var(--accent)}.jp-worker-metric--success strong{color:var(--green)}.jp-worker-layout{grid-template-columns:minmax(280px,.9fr) minmax(0,1.3fr);align-items:start;gap:16px;display:grid}.jp-worker-queue-panel,.jp-worker-detail-panel{min-width:0}.jp-worker-job-list{gap:10px;display:grid}.jp-worker-job{border:1px solid var(--line);width:100%;color:inherit;background:var(--surface2);font:inherit;text-align:left;cursor:pointer;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:12px;padding:12px;transition:border-color .15s,transform .15s,background .15s;display:grid}.jp-worker-job:hover,.jp-worker-job.is-selected{border-color:var(--indigo);background:var(--surface);transform:translateY(-1px)}.jp-worker-job__copy{flex-direction:column;gap:4px;min-width:0;display:flex}.jp-worker-job__copy strong,.jp-worker-job__copy small,.jp-worker-job__copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jp-worker-job__copy strong{color:var(--ink);font-weight:900}.jp-worker-job__copy small,.jp-worker-job__copy span{color:var(--muted);font-size:12px}.jp-worker-job__copy i{background:var(--line);border-radius:999px;height:5px;margin-top:3px;display:block;overflow:hidden}.jp-worker-job__copy i b{border-radius:inherit;background:linear-gradient(90deg, var(--indigo), var(--accent));height:100%;display:block}.jp-worker-detail{flex-direction:column;gap:16px;display:flex}.jp-worker-detail__head{grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:14px;display:grid}.jp-worker-detail__head h2,.jp-worker-detail__head p{margin:0}.jp-worker-detail__head h2{font-family:var(--font-display);font-size:clamp(22px,4vw,30px);line-height:1.18}.jp-worker-detail__head p{color:var(--muted);word-break:break-word;margin-top:4px;font-size:12.5px;line-height:1.45}.jp-worker-detail__meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.jp-worker-actions{border:1px dashed var(--line2);background:var(--surface2);border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.jp-worker-detail__meta span{border:1px solid var(--line);min-width:0;color:var(--muted);background:var(--surface2);border-radius:14px;flex-direction:column;gap:4px;padding:12px;font-size:12px;display:flex}.jp-worker-detail__meta strong{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.jp-worker-source-input{border:1px solid var(--line);background:linear-gradient(135deg, var(--surface2), var(--surface));border-radius:18px;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px;display:flex}.jp-worker-source-input--success{border-color:color-mix(in srgb, var(--green) 32%, var(--line))}.jp-worker-source-input--active,.jp-worker-source-input--pending{border-color:color-mix(in srgb, var(--gold) 34%, var(--line))}.jp-worker-source-input--danger{border-color:color-mix(in srgb, var(--accent) 38%, var(--line));background:linear-gradient(135deg, var(--accent-soft), var(--surface))}.jp-worker-source-input h3,.jp-worker-source-input p{margin:0}.jp-worker-source-input h3{color:var(--ink);font-family:var(--font-display);font-size:18px}.jp-worker-source-input p{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:12.5px;line-height:1.45}.jp-worker-source-input code{border:1px solid var(--line);color:var(--ink);background:var(--surface);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:12px;margin-top:8px;padding:8px 9px;font-size:11.5px;line-height:1.45;display:block}.jp-worker-source-input__actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.jp-worker-source-input__actions .jp-action,.jp-worker-source-input__actions .jp-link{min-height:34px}.jp-worker-source-input__actions .jp-action{padding:.45rem .7rem}.jp-source-decision{border:1px solid var(--line);background:linear-gradient(135deg, var(--surface), var(--surface2));box-shadow:var(--shadow);border-radius:18px;gap:12px;padding:14px;display:grid}.jp-source-decision--danger{border-color:color-mix(in srgb, var(--accent) 46%, var(--line));background:linear-gradient(135deg, var(--accent-soft), var(--surface))}.jp-source-decision--pending,.jp-source-decision--active{border-color:color-mix(in srgb, var(--gold) 40%, var(--line))}.jp-worker-source-input.is-recovery-focus,.jp-source-decision.is-recovery-focus{border-color:color-mix(in srgb, var(--gold) 58%, var(--accent));box-shadow:0 0 0 3px color-mix(in srgb, var(--gold-soft) 78%, transparent), var(--shadow)}.jp-source-decision__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.jp-source-decision__head h3,.jp-source-decision__head p{margin:0}.jp-source-decision__head h3{color:var(--ink);font-family:var(--font-display);margin-top:3px;font-size:1.1rem}.jp-source-decision__head p{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:12.5px}.jp-source-decision__diagnostic{border:1px solid var(--line);color:var(--ink);background:var(--surface);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:12px;padding:8px 9px;font-size:11.5px;line-height:1.45;display:block}.jp-source-decision__grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;display:grid}.jp-source-decision__grid .jp-action{text-align:left;white-space:normal;flex-direction:column;justify-content:center;align-items:flex-start;min-height:74px;padding:.75rem}.jp-source-decision__grid strong,.jp-source-decision__grid span{display:block}.jp-source-decision__grid strong{font-size:12.5px;line-height:1.2}.jp-source-decision__grid span{opacity:.78;margin-top:4px;font-size:11px;font-weight:800;line-height:1.35}.jp-source-decision__danger{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));color:var(--accent-strong);background:color-mix(in srgb, var(--accent-soft) 72%, var(--surface))}.jp-source-runbook{border:1px solid var(--line);background:linear-gradient(135deg, var(--surface), var(--surface2));box-shadow:var(--shadow);border-radius:18px;gap:12px;padding:14px;display:grid}.jp-source-runbook--danger{border-color:color-mix(in srgb, var(--accent) 42%, var(--line));background:linear-gradient(135deg, var(--accent-soft), var(--surface))}.jp-source-runbook--active,.jp-source-runbook--pending{border-color:color-mix(in srgb, var(--gold) 38%, var(--line))}.jp-source-runbook--success{border-color:color-mix(in srgb, var(--green) 35%, var(--line))}.jp-source-runbook__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.jp-source-runbook__head h3{color:var(--ink);margin:3px 0 4px;font-size:1rem}.jp-source-runbook__head p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12.5px;line-height:1.45}.jp-source-runbook__diagnostic,.jp-source-runbook__steps code{border:1px solid var(--line);color:var(--ink);background:var(--surface);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:12px;padding:8px 9px;font-size:11.5px;line-height:1.45;display:block}.jp-source-runbook__steps{counter-reset:source-runbook;gap:9px;margin:0;padding:0;list-style:none;display:grid}.jp-source-runbook__steps li{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 86%, transparent);counter-increment:source-runbook;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.jp-source-runbook__steps li>div{gap:5px;min-width:0;display:grid}.jp-source-runbook__steps strong{color:var(--ink);align-items:center;gap:7px;font-size:12.5px;display:flex}.jp-source-runbook__steps strong:before{width:21px;height:21px;color:var(--paper);background:var(--indigo);content:counter(source-runbook);border-radius:999px;flex:none;place-items:center;font-size:11px;display:grid}.jp-source-runbook__steps span{color:var(--muted);font-size:12px;line-height:1.45}.jp-source-runbook__steps .jp-action{white-space:nowrap;padding:.45rem .7rem}.jp-worker-lineage{border:1px solid color-mix(in srgb, var(--plum) 25%, var(--line));color:var(--plum);background:var(--plum-soft);border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:900;display:flex}.jp-worker-family-status{border:1px solid var(--line);color:var(--muted);background:var(--surface2);border-radius:14px;padding:9px 12px;font-size:12px;font-weight:850}.jp-worker-family-status--warn{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));color:var(--accent-strong);background:var(--accent-soft)}.jp-worker-lineage-panel{border:1px solid var(--line);background:linear-gradient(135deg, var(--surface2), var(--surface));border-radius:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:14px;display:grid}.jp-worker-lineage-panel>div{flex-direction:column;gap:8px;min-width:0;display:flex}.jp-worker-lineage-panel__actions{grid-column:1/-1;align-items:flex-start}.jp-worker-lineage-list{gap:8px;display:grid}.jp-worker-lineage-list a{border:1px solid var(--line);min-width:0;color:inherit;background:var(--surface);border-radius:14px;flex-direction:column;gap:3px;padding:10px 11px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.jp-worker-lineage-list a:hover{border-color:var(--plum);transform:translateY(-1px)}.jp-worker-lineage-list span,.jp-worker-lineage-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jp-worker-lineage-list span{color:var(--ink);font-weight:900}.jp-worker-lineage-list small{color:var(--muted);font-size:11.5px;font-weight:800}.jp-worker-timeline{gap:8px;display:grid}.jp-worker-timeline-step{border:1px solid var(--line);background:var(--surface2);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.jp-worker-timeline-step>span{width:28px;height:28px;color:var(--faint);background:var(--surface);border-radius:999px;place-items:center;font-weight:900;display:grid}.jp-worker-timeline-step--done>span{color:var(--surface);background:var(--green)}.jp-worker-timeline-step--active>span{color:var(--accent);background:var(--accent-soft);animation:1.2s ease-in-out infinite pulse}.jp-worker-timeline-step--failed>span{color:var(--onaccent);background:var(--accent)}.jp-worker-timeline-step--cancelled>span{color:var(--surface);background:var(--muted)}.jp-worker-timeline-step strong,.jp-worker-timeline-step small{display:block}.jp-worker-timeline-step strong{color:var(--ink);font-size:14px}.jp-worker-timeline-step small{color:var(--muted);margin-top:2px;font-size:12px}.jp-worker-timeline-step i{text-transform:capitalize;font-style:normal}.jp-worker-events,.jp-worker-outputs{gap:12px;display:grid}.jp-worker-checkpoint-insight{border:1px solid var(--line);background:linear-gradient(135deg, var(--surface), var(--surface2));border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:13px;display:grid;box-shadow:0 12px 28px #2c234214}.jp-worker-checkpoint-insight--danger{border-color:color-mix(in srgb, var(--accent) 42%, var(--line));background:linear-gradient(135deg, var(--accent-soft), var(--surface))}.jp-worker-checkpoint-insight--success{border-color:color-mix(in srgb, var(--green) 38%, var(--line))}.jp-worker-checkpoint-insight--active,.jp-worker-checkpoint-insight--pending{border-color:color-mix(in srgb, var(--gold) 40%, var(--line))}.jp-worker-checkpoint-insight__spark{width:30px;height:30px;color:var(--gold);background:color-mix(in srgb, var(--gold) 15%, transparent);border-radius:999px;place-items:center;font-size:15px;line-height:1;display:grid}.jp-worker-checkpoint-insight strong,.jp-worker-checkpoint-insight p,.jp-worker-checkpoint-insight small,.jp-worker-checkpoint-insight em{display:block}.jp-worker-checkpoint-insight strong{color:var(--ink);margin-top:2px;font-size:14px}.jp-worker-checkpoint-insight p{color:var(--ink);margin:4px 0 0;font-size:13px;font-weight:900;line-height:1.45}.jp-worker-checkpoint-insight small,.jp-worker-checkpoint-insight em{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:11.5px;font-style:normal;line-height:1.45}.jp-worker-checkpoint-insight__meta{justify-items:end;gap:5px;display:grid}.jp-worker-recovery-strip,.jp-worker-event-groups,.jp-worker-event-list{gap:8px;display:grid}.jp-worker-recovery-strip{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));background:linear-gradient(135deg, var(--accent-soft), var(--surface2));border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));padding:10px}.jp-worker-recovery-strip .jp-action{white-space:normal;justify-content:center;min-height:38px}.jp-worker-event-group{border:1px solid var(--line);background:var(--surface2);border-radius:18px;gap:8px;padding:10px;display:grid}.jp-worker-event-group--danger{border-color:color-mix(in srgb, var(--accent) 32%, var(--line));background:linear-gradient(135deg, var(--accent-soft), var(--surface2))}.jp-worker-event-group--success{border-color:color-mix(in srgb, var(--green) 30%, var(--line))}.jp-worker-event-group--active,.jp-worker-event-group--pending{border-color:color-mix(in srgb, var(--gold) 32%, var(--line))}.jp-worker-event-group__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.jp-worker-event-group__head strong,.jp-worker-event-group__head span{letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:950}.jp-worker-event-group__head strong{color:var(--ink)}.jp-worker-event-group__head span{color:var(--muted)}.jp-worker-event{border:1px solid var(--line);background:color-mix(in srgb, var(--surface2) 82%, transparent);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px;display:grid}.jp-worker-event__dot{background:var(--gold);width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in srgb, var(--gold) 16%, transparent);border-radius:999px;margin-top:5px}.jp-worker-event--success .jp-worker-event__dot{background:var(--green);box-shadow:0 0 0 4px color-mix(in srgb, var(--green) 16%, transparent)}.jp-worker-event--danger .jp-worker-event__dot{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent)}.jp-worker-event--muted .jp-worker-event__dot{background:var(--muted);box-shadow:0 0 0 4px color-mix(in srgb, var(--muted) 16%, transparent)}.jp-worker-event strong,.jp-worker-event span,.jp-worker-event small,.jp-worker-event em{display:block}.jp-worker-event strong{color:var(--ink);font-size:13px}.jp-worker-event span{color:var(--ink);overflow-wrap:anywhere;margin-top:2px;font-size:12.5px;font-weight:800}.jp-worker-event small,.jp-worker-event em{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:11.5px;font-style:normal;line-height:1.45}.jp-celebration-settings{border:1px solid var(--line);background:var(--accent-soft);border-radius:18px;gap:14px;padding:18px;display:grid}.jp-celebration-settings h2,.jp-celebration-settings p{margin:0}.jp-celebration-settings h2{color:var(--ink);font-family:var(--font-display);font-size:20px}.jp-celebration-settings p{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.55}.jp-celebration-settings__actions{flex-wrap:wrap;gap:10px;display:flex}.jp-action--green{background:var(--green-soft);color:var(--green)}.jp-xp-toast-stack{z-index:95;pointer-events:none;gap:8px;display:grid;position:fixed;bottom:104px;left:50%;transform:translate(-50%)}.jp-xp-toast{color:var(--bg);background:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:11px 20px;animation:2.4s cubic-bezier(.2,.8,.2,1) forwards jp-xp-toast;display:flex;box-shadow:0 10px 30px #00000040}.jp-xp-toast span{color:var(--gold)}.jp-xp-toast strong{font-size:14px;font-weight:900}.jp-level-up{z-index:90;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#16112099;place-items:center;padding:20px;animation:.25s ease-out jp-fade-in;display:grid;position:fixed;inset:0}.jp-level-up__panel{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:28px;width:min(420px,100%);padding:48px 40px 40px;animation:.5s cubic-bezier(.2,.8,.2,1) jp-pop-in;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000059}.jp-level-up__kicker{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;font-size:11.5px;font-weight:900}.jp-level-up__orb{background:radial-gradient(circle at 34% 28%, var(--mascot1), var(--mascot2));border-radius:999px;align-content:center;place-items:center;width:130px;height:130px;margin:24px auto;display:grid;box-shadow:0 16px 44px #39456f66}.jp-level-up__orb strong,.jp-level-up__orb span{width:108px;color:var(--ink);background:var(--surface);display:block}.jp-level-up__orb strong{font-family:var(--font-display);border-radius:999px 999px 0 0;padding-top:18px;font-size:46px;line-height:1}.jp-level-up__orb span{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;border-radius:0 0 999px 999px;padding-bottom:18px;font-size:10px;font-weight:900}.jp-level-up h2{color:var(--ink);font-family:var(--font-display);margin:0;font-size:26px}.jp-level-up p{color:var(--muted);margin:8px 0 26px;font-size:14px;line-height:1.6}.jp-confetti{background:var(--accent);border-radius:2px;width:8px;height:13px;animation:1.8s ease-in infinite jp-confetti-fall;display:block;position:absolute;top:-18px}.jp-confetti--1{background:var(--accent);animation-delay:.1s;left:10%}.jp-confetti--2{background:var(--indigo);animation-delay:.35s;left:28%}.jp-confetti--3{background:var(--gold);border-radius:50%;width:9px;height:9px;animation-delay:.65s;left:48%}.jp-confetti--4{background:var(--green);animation-delay:.2s;left:68%}.jp-confetti--5{background:var(--plum);animation-delay:.8s;left:86%}@keyframes jp-xp-toast{0%{opacity:0;transform:translateY(16px)scale(.92)}12%{opacity:1;transform:translateY(0)scale(1)}78%{opacity:1}to{opacity:0;transform:translateY(-20px)}}@keyframes jp-pop-in{0%{opacity:0;transform:scale(.7)}60%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes jp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes jp-confetti-fall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(300px)rotate(560deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.jp-xp-toast,.jp-level-up,.jp-level-up__panel,.jp-confetti,.jp-mascot,.jp-worker-timeline-step--active>span{animation:none}}@media (width<=640px){.jp-hero--cockpit{padding:22px 18px}.jp-hero__copy{flex-basis:100%;min-width:0}.jp-hero__copy .jp-title-row{flex-flow:column;align-items:flex-start}.jp-hero__copy .jp-pill{white-space:normal;max-width:100%}.jp-hero__actions,.jp-hero__actions .jp-action,.jp-level-card{width:100%}.jp-hero__actions .jp-action{justify-content:center}.jp-level-card{flex-basis:100%}.jp-worker-status-card__grid,.jp-worker-diagnostics,.jp-command-bar,.jp-anki-sync-card__stats,.jp-notification-settings__grid{grid-template-columns:1fr}.jp-anki-sync-card__footer{flex-direction:column;align-items:flex-start}.jp-home-material-family{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:0}.jp-home-material-card__context{padding-left:0}.jp-home-worker-checkpoint{grid-template-columns:auto minmax(0,1fr);margin-left:0}.jp-home-worker-checkpoint__meta{grid-column:2;justify-self:start}.jp-family-modal{align-items:end;padding:10px}.jp-family-modal__panel{border-radius:22px;max-height:88vh}.jp-family-modal__head,.jp-family-current,.jp-family-comparison__head,.jp-source-runbook__head,.jp-worker-source-input{flex-direction:column;align-items:stretch}.jp-family-recovery{grid-template-columns:1fr;align-items:stretch}.jp-family-recovery__actions{flex-flow:wrap}.jp-worker-checkpoint-insight{grid-template-columns:auto minmax(0,1fr)}.jp-worker-checkpoint-insight__meta{grid-column:2;justify-items:start}.jp-source-runbook__steps li{grid-template-columns:1fr;align-items:stretch}.jp-source-runbook__steps .jp-action{white-space:normal;justify-self:start}.jp-family-comparison__head>span{text-align:left;max-width:none}.jp-family-operator__actions{flex-flow:wrap}.jp-job-row{align-items:flex-start}.jp-job-row>b{color:var(--muted);align-self:flex-start;margin-left:42px;font-size:11.5px}.jp-family-node{grid-template-columns:1fr;align-items:stretch}.jp-family-node__role,.jp-family-node .jp-pill,.jp-family-node__actions{justify-self:start}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.jp-stats-cockpit{gap:18px}.jp-stats-hero,.jp-stats-card,.jp-stats-panel,.jp-stats-sync-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:20px}.jp-stats-hero{padding:22px}.jp-stats-title-row{align-items:baseline;gap:12px;display:flex}.jp-stats-title-row__jp{color:var(--faint);font-family:Shippori Mincho,serif;font-size:16px}.jp-stats-hero p{max-width:680px;color:var(--muted);margin:8px 0 0;font-size:13.5px;line-height:1.6}.jp-stats-card-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.jp-stats-card{padding:18px}.jp-stats-card span,.jp-stats-panel__eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.jp-stats-card strong{margin-top:6px;font-family:Shippori Mincho,serif;font-size:27px;font-weight:800;line-height:1.1;display:block}.jp-stats-card small{color:var(--faint);margin-top:2px;font-size:11.5px;font-weight:800;display:block}.jp-stats-tone--indigo strong{color:var(--indigo)}.jp-stats-tone--green strong{color:var(--green)}.jp-stats-tone--gold strong{color:var(--gold)}.jp-stats-tone--accent strong{color:var(--accent)}.jp-stats-tone--plum strong{color:var(--plum)}.jp-stats-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;display:grid}.jp-stats-panel,.jp-stats-sync-panel{padding:22px}.jp-stats-xp-bars{align-items:flex-end;gap:5px;height:130px;margin-top:18px;display:flex}.jp-stats-xp-bars__item{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.jp-stats-xp-bar{width:100%;min-height:4px;height:var(--stats-bar-height);background:var(--indigo);border-radius:5px 5px 2px 2px}.jp-stats-xp-bar.is-today{background:var(--accent)}.jp-stats-xp-bars__item small{color:var(--faint);font-size:10.5px;font-weight:800}.jp-stats-heatmap{grid-template-rows:repeat(7,1fr);grid-template-columns:repeat(12,1fr);grid-auto-flow:column;gap:4px;margin-top:18px;display:grid}.jp-stats-heat-cell,.jp-stats-legend i{aspect-ratio:1;border:1px solid var(--line);background:var(--surface2);border-radius:4px}.jp-stats-heat-cell[data-level="1"],.jp-stats-legend i[data-level="1"]{background:color-mix(in srgb, var(--indigo) 30%, var(--surface2))}.jp-stats-heat-cell[data-level="2"],.jp-stats-legend i[data-level="2"]{background:color-mix(in srgb, var(--indigo) 60%, var(--surface2))}.jp-stats-heat-cell[data-level="3"],.jp-stats-legend i[data-level="3"]{background:var(--indigo)}.jp-stats-legend{color:var(--faint);justify-content:flex-end;align-items:center;gap:6px;margin-top:14px;font-size:10.5px;font-weight:800;display:flex}.jp-stats-legend i{width:10px;height:10px}.jp-stats-category-bars,.jp-stats-insights{flex-direction:column;gap:14px;margin-top:16px;display:flex}.jp-stats-category-bar>div:first-child{justify-content:space-between;gap:12px;margin-bottom:5px;font-size:13px;display:flex}.jp-stats-category-bar strong{font-weight:800}.jp-stats-category-bar span{color:var(--muted);font-weight:800}.jp-stats-category-bar__track{background:var(--surface2);border-radius:5px;height:8px;overflow:hidden}.jp-stats-category-bar__fill{width:var(--stats-category-width);border-radius:inherit;height:100%;display:block}.jp-stats-tone-bg--accent{background:var(--accent)}.jp-stats-tone-bg--indigo{background:var(--indigo)}.jp-stats-tone-bg--green{background:var(--green)}.jp-stats-tone-bg--gold{background:var(--gold)}.jp-stats-tone-bg--plum{background:var(--plum)}.jp-stats-tone-bg--ink{background:var(--ink)}.jp-stats-panel--insight{border-color:color-mix(in srgb, var(--indigo) 30%, var(--line));background:var(--indigo-soft);box-shadow:none}.jp-stats-panel--insight .jp-stats-panel__eyebrow{color:var(--indigo)}.jp-stats-insights p{margin:0;font-size:14px;font-weight:700;line-height:1.55}.jp-stats-sync-panel__status{align-items:center;gap:10px;margin:14px 0 6px;display:flex}.jp-stats-sync-panel__status span{background:var(--green);border-radius:50%;width:9px;height:9px}.jp-stats-sync-panel__status strong{font-size:15px;font-weight:800}.jp-stats-sync-panel p{color:var(--muted);margin:0;font-size:13px;font-weight:700;line-height:1.6}.jp-stats-sync-panel__cta{background:var(--indigo);min-height:42px;color:var(--onindigo);border-radius:12px;justify-content:center;align-items:center;margin-top:14px;padding:0 18px;font-size:13.5px;display:inline-flex}.jp-home .jp-hero--learning{box-shadow:none;background:color-mix(in srgb, var(--surface) 72%, var(--bg));gap:18px;padding:18px 20px}.jp-home .jp-hero--learning .jp-hero__copy{flex-basis:360px;min-width:min(100%,360px)}.jp-home .jp-hero--learning h1{font-size:clamp(30px,4vw,42px)}.jp-home .jp-hero--learning .jp-level-card{background:var(--surface);flex-basis:210px;padding:14px 16px}.jp-home .jp-hero--learning .jp-mascot--large{width:52px;height:52px}.jp-home .jp-home-cockpit-grid{grid-template-columns:minmax(320px,1.45fr) minmax(280px,.95fr)}.jp-home .jp-next-action{border-color:color-mix(in srgb, var(--green) 28%, var(--line));background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--green) 20%, transparent), transparent 42%), linear-gradient(145deg, var(--surface), color-mix(in srgb, var(--green-soft) 64%, var(--surface)));justify-content:center;min-height:100%;padding:clamp(24px,4vw,36px)}.jp-home .jp-next-action h2{text-wrap:balance;max-width:18ch;font-size:clamp(1.8rem,4vw,2.65rem);line-height:1.12}.jp-home .jp-next-action p{flex:0 auto;max-width:54ch;font-size:14px}.jp-home .jp-next-action .jp-primary{align-self:flex-start;min-width:min(100%,190px)}@media (width<=980px){.jp-home .jp-home-cockpit-grid{grid-template-columns:minmax(0,1fr)}}.jp-settings-page{width:100%;max-width:860px;margin:0 auto}.jp-settings-page>.jp-page-title{margin-bottom:2px}.jp-settings-card,.jp-persistence-alert,.jp-danger-zone{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:20px;padding:22px}.jp-settings-card{flex-direction:row;justify-content:space-between;align-items:end;gap:20px;display:flex}.jp-settings-card h2,.jp-settings-card p,.jp-persistence-alert h2,.jp-persistence-alert p,.jp-danger-zone p{margin:0}.jp-settings-card h2,.jp-persistence-alert h2{margin-top:4px}.jp-settings-card p,.jp-persistence-alert>div:first-child p,.jp-danger-zone p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.55}.jp-learning-goal-field{color:var(--muted);flex:0 0 170px;gap:7px;font-size:12px;font-weight:900;display:grid}.jp-learning-goal-field input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:var(--surface2);border-radius:12px;padding:0 12px}.jp-persistence-alert{border-color:color-mix(in srgb, var(--accent) 32%, var(--line));background:color-mix(in srgb, var(--accent-soft) 62%, var(--surface))}.jp-persistence-health{color:var(--ink);flex-wrap:wrap;gap:6px 14px;margin-top:14px;font-size:13px;font-weight:800;display:flex}.jp-persistence-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.jp-danger-zone{box-shadow:none;padding:0;overflow:hidden}.jp-danger-zone summary{min-height:48px;color:var(--muted);cursor:pointer;align-items:center;gap:8px;padding:14px 18px;font-size:13px;font-weight:900;list-style:none;display:flex}.jp-danger-zone summary::-webkit-details-marker{display:none}.jp-danger-zone summary:after{content:"›";transform-origin:50%;transition:transform .16s var(--ease-out);margin-left:auto;display:inline-block;transform:rotate(0)}.jp-danger-zone[open] summary:after{transform:rotate(90deg)}.jp-danger-zone::details-content{opacity:0;transition:content-visibility .12s allow-discrete, opacity .12s var(--ease-out), transform .12s var(--ease-out);transform:translateY(-4px)}.jp-danger-zone[open]::details-content{opacity:1;transition-duration:.16s;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.jp-danger-zone summary:after{transition:none}.jp-danger-zone::details-content{transition-duration:.1s;transform:none}}.jp-danger-zone__content{border-top:1px solid var(--line);gap:14px;padding:0 18px 18px;display:grid}.jp-danger-zone__content>div:first-child{padding-top:16px}.jp-danger-zone .jp-danger{justify-self:start}@media (width<=520px){.jp-hero--cockpit,.jp-section,.jp-panel{border-radius:18px}.jp-grid--two,.jp-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jp-hero__actions>*{flex:100%}.jp-home .jp-hero--learning .jp-level-card,.jp-learning-goal-field{flex-basis:100%;width:100%}.jp-settings-card{flex-direction:column;align-items:stretch}.jp-stats-grid{grid-template-columns:1fr}.jp-stats-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jp-stats-category-bar>div:first-child{flex-direction:column;gap:2px}}
