.okv2 .ok-home-probar{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);min-height:74px;box-shadow:var(--sh-sm);align-items:center;gap:16px;margin-bottom:18px;padding:14px 16px;display:flex;position:relative}.okv2 .ok-home-probar:before{content:"";border-radius:inherit;pointer-events:none;opacity:.92;position:absolute;inset:0}.okv2 .ok-home-probar>*{z-index:1;position:relative}.okv2 .ok-home-probar-icon{border-radius:var(--r-sm);background:linear-gradient(135deg, var(--lilac-500), var(--lilac-700));width:44px;height:44px;color:var(--ink-0);font-size:13px;font-weight:var(--fw-extrabold);letter-spacing:0;flex:none;place-items:center;display:grid;box-shadow:0 8px 18px #6a5cc838}.okv2 .ok-home-probar-main{flex:1;min-width:0}.okv2 .ok-home-probar-title{color:var(--ink);font-size:var(--text-body-lg-size);font-weight:var(--fw-extrabold);flex-wrap:wrap;align-items:center;gap:10px;line-height:1.35;display:flex}.okv2 .ok-home-probar-title span{border-radius:var(--r-full);background:var(--color-warm-soft);min-height:24px;color:var(--color-warm-deep);font-size:var(--text-caption-size);font-weight:var(--fw-bold);white-space:nowrap;align-items:center;padding:3px 10px;display:inline-flex}.okv2 .ok-home-probar-main p{color:var(--ink-soft);font-size:var(--text-small-size);margin:4px 0 0;line-height:1.5}.okv2 .ok-home-probar .ok-btn{flex:none;min-width:92px}.okv2 .ok-home-probar.is-free:before{background:linear-gradient(90deg,#efebfceb,#efebfc7a)}.okv2 .ok-home-probar.is-trial:before,.okv2 .ok-home-probar.is-paused:before{background:linear-gradient(90deg,#ffe8e1eb,#ffd3c657)}.okv2 .ok-home-probar.is-trial .ok-home-probar-icon,.okv2 .ok-home-probar.is-paused .ok-home-probar-icon{background:linear-gradient(135deg, var(--peach-500), var(--peach-700));box-shadow:0 8px 18px #e077622e}.okv2 .ok-home-probar.is-active:before{background:linear-gradient(90deg,#fdf4d9d6,#ffffff94)}.okv2 .ok-home-probar.is-active{border-color:var(--gold-100)}.okv2 .ok-home-probar.is-active .ok-home-probar-icon{background:linear-gradient(135deg, var(--gold-300), var(--gold-700));color:var(--lilac-900);box-shadow:0 8px 18px #b78b2a2e}.okv2 .ok-home-probar.is-danger{border-color:var(--rose-100)}.okv2 .ok-home-probar.is-danger:before{background:linear-gradient(90deg,#fce0e0f2,#f8c2c257)}.okv2 .ok-home-probar.is-danger .ok-home-probar-icon{background:var(--color-error);box-shadow:0 8px 18px #e85a5a2e}.okv2 .ok-home-probar.is-loading .ok-home-probar-icon{visibility:hidden}.okv2 .ok-home-probar-skeleton{border-radius:var(--ok-skel-radius);background:var(--ok-skel-bg);width:min(520px,70%);height:22px;animation:var(--ok-skel-anim);background-size:200% 100%;display:block}.okv2 .ok-hero{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-sm);grid-template-columns:minmax(0,1fr) 340px;gap:32px;margin-bottom:24px;padding:28px 34px;display:grid;position:relative;overflow:hidden}.okv2 .ok-hero-body{z-index:1;flex-direction:column;justify-content:center;min-width:0;padding-block:4px;display:flex;position:relative}.okv2 .ok-hero-kicker{border-radius:var(--r-full);background:var(--color-brand-soft);color:var(--color-brand-deep);font-size:var(--text-caption-size);font-weight:var(--fw-semibold);letter-spacing:.02em;align-items:center;gap:8px;width:fit-content;margin-bottom:14px;padding:6px 12px;display:inline-flex}.okv2 .ok-hero-kicker:before{content:"●";color:var(--color-brand);font-size:8px}.okv2 .ok-hero-title{color:var(--ink);font-family:var(--font-display);font-size:var(--text-display-size);font-weight:var(--fw-bold);line-height:var(--text-display-line,1.18);letter-spacing:-.015em;margin:0 0 12px}.okv2 .ok-hero-title .jp{font-family:var(--font-jp);font-weight:var(--fw-semibold);color:var(--color-brand-deep);margin-left:10px;font-size:.72em}.okv2 .ok-hero-desc{max-width:560px;color:var(--ink-soft);font-size:var(--text-body-lg-size);line-height:var(--text-body-lg-line);margin:0 0 22px}.okv2 .ok-hero .ok-progress-block{margin-bottom:22px}.okv2 .ok-hero-cta-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.okv2 .ok-hero-reward{border-top:1px solid var(--line);color:var(--ink-soft);font-size:var(--text-small-size);font-family:var(--font-mono);align-items:center;gap:14px;padding-top:16px;display:flex}.okv2 .ok-hero-reward b{color:var(--ink);font-family:var(--font-body);font-weight:var(--fw-bold)}.okv2 .ok-hero-reward .divider{opacity:.3}.okv2 .ok-hero-side{z-index:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;padding:20px;display:flex;position:relative}.okv2 .ok-hero-side-badge{background:linear-gradient(135deg, var(--mint-500), var(--mint-700));width:fit-content;color:var(--ink-0);border-radius:var(--r-full);font-size:var(--text-caption-size);font-weight:var(--fw-bold);letter-spacing:.03em;align-items:center;margin-bottom:14px;padding:4px 12px;display:inline-flex}.okv2 .ok-hero-side-title{white-space:normal;min-width:0;color:var(--ink);font-family:var(--font-display);font-size:var(--text-h3-size);font-weight:var(--fw-bold);margin:0 0 8px;line-height:1.35;display:block;overflow:visible}.okv2 .ok-hero-side-meta{color:var(--ink-mute);font-size:var(--text-caption-size);font-family:var(--font-mono);margin-bottom:16px}.okv2 .ok-hero-goal-panel{justify-content:space-between;gap:16px}.okv2 .ok-hero-goal-head{justify-content:space-between;align-items:center;gap:24px;max-width:660px;margin-bottom:18px;display:flex}.okv2 .ok-hero-goal-head .ok-hero-title{margin-bottom:0}.okv2 .ok-hero-goal-eta{text-align:right;flex:none;justify-content:flex-end;align-items:center;gap:14px;min-width:220px;display:flex}.okv2 .ok-hero-goal-eta-main{color:var(--ink-mute);font-size:var(--text-small-size);font-weight:var(--fw-bold);white-space:nowrap;align-items:baseline;gap:7px;display:inline-flex}.okv2 .ok-hero-goal-eta-main span{color:var(--mint-700);letter-spacing:.02em}.okv2 .ok-hero-goal-eta-main b{color:var(--color-brand-deep);font-family:var(--font-display);font-size:42px;font-weight:var(--fw-extrabold);letter-spacing:0;line-height:.88}.okv2 .ok-hero-goal-eta-main small{color:var(--ink-mute);font-size:var(--text-small-size);font-weight:var(--fw-bold)}.okv2 .ok-hero-goal-progress{max-width:620px;margin:0 0 30px}.okv2 .ok-hero-today-list{gap:12px;max-width:620px;display:grid}.okv2 .ok-hero-today-item{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);min-height:58px;color:var(--ink);transition:transform var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px 11px 14px;text-decoration:none;display:grid}.okv2 .ok-hero-today-item:hover{transform:translateY(-1px);box-shadow:0 10px 24px #8e7ee824}.okv2 .ok-hero-today-item.is-review{background:linear-gradient(180deg, #fffffff5, color-mix(in srgb, var(--color-warm-soft) 42%, var(--card)));border-color:color-mix(in srgb, var(--color-warm) 32%, var(--line))}.okv2 .ok-hero-today-item.is-learn{border-color:color-mix(in srgb, var(--color-brand) 28%, var(--line));background:linear-gradient(#ffffffe6,#f7f5ffdb)}.okv2 .ok-hero-today-item.is-review:hover{border-color:color-mix(in srgb, var(--color-warm) 70%, var(--line));box-shadow:0 10px 24px #e077621f}.okv2 .ok-hero-today-item.is-learn:hover{border-color:var(--color-brand)}.okv2 .ok-hero-today-label{border-radius:var(--r-full);background:var(--color-brand-soft);min-height:26px;color:var(--color-brand-deep);font-size:var(--text-caption-size);font-weight:var(--fw-bold);align-items:center;padding:4px 9px;display:inline-flex}.okv2 .ok-hero-today-item.is-review .ok-hero-today-label{background:color-mix(in srgb, var(--color-warm-soft) 72%, var(--card));color:var(--color-warm-deep)}.okv2 .ok-hero-today-title{min-width:0;color:var(--ink);font-family:var(--font-display);font-size:15px;font-weight:var(--fw-bold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.okv2 .ok-hero-today-cta{min-width:64px;min-height:36px;font-size:var(--text-small-size);white-space:nowrap;padding:0 16px}.okv2 .ok-hero-goal-title{color:var(--ink);font-family:var(--font-display);font-size:var(--text-h1-size);font-weight:var(--fw-extrabold);margin:0;line-height:1.1}.okv2 .ok-hero-goal-days{color:var(--ink-mute);font-size:var(--text-small-size);font-weight:var(--fw-bold);align-items:flex-end;gap:8px;margin:2px 0 4px;display:flex}.okv2 .ok-hero-goal-days b{color:var(--color-brand-deep);font-family:var(--font-display);font-size:56px;font-weight:var(--fw-extrabold);letter-spacing:0;line-height:.88}.okv2 .ok-hero-goal-days span{padding-bottom:5px}.okv2 .ok-hero-goal-panel .ok-progress-block{margin:0}.okv2 .ok-hero-goal-manage{border-radius:var(--r-full);background:color-mix(in srgb, var(--color-brand-soft) 70%, var(--card));color:var(--color-brand-deep);font-size:var(--text-caption-size);font-weight:var(--fw-bold);white-space:nowrap;justify-content:flex-end;margin-top:0;padding:6px 10px;text-decoration:none;display:flex}.okv2 .ok-hero-goal-manage:hover{background:var(--color-brand-soft);text-decoration:none}.okv2 .ok-hero-goal-desc{color:var(--ink-soft);font-size:var(--text-small-size);margin:0;line-height:1.65}@media (max-width:960px){.okv2 .ok-home-probar{flex-wrap:wrap;align-items:flex-start}.okv2 .ok-home-probar .ok-btn{margin-left:60px}.okv2 .ok-hero{grid-template-columns:minmax(0,1fr);gap:20px;padding:24px 22px}.okv2 .ok-hero-title{font-size:24px}.okv2 .ok-hero-desc{font-size:14px}.okv2 .ok-hero-goal-head{max-width:none}.okv2 .ok-hero-goal-eta-main b{font-size:36px}.okv2 .ok-hero-today-item{grid-template-columns:minmax(0,1fr) auto}.okv2 .ok-hero-today-label{grid-column:1/-1;width:fit-content}}@media (max-width:560px){.okv2 .ok-home-probar{padding:14px}.okv2 .ok-home-probar .ok-btn{width:100%;margin-left:0}.okv2 .ok-hero-goal-head{display:block}.okv2 .ok-hero-goal-eta{text-align:left;justify-content:flex-start;margin-top:12px}.okv2 .ok-hero-goal-manage{justify-content:flex-start}.okv2 .ok-hero-today-item{grid-template-columns:minmax(0,1fr);gap:8px}.okv2 .ok-hero-today-cta{width:fit-content}}.okv2 .ok-hero.is-skeleton .ok-hero-kicker,.okv2 .ok-hero.is-skeleton .ok-hero-title,.okv2 .ok-hero.is-skeleton .ok-hero-desc,.okv2 .ok-hero.is-skeleton .ok-hero-reward,.okv2 .ok-hero.is-skeleton .ok-progress-meta,.okv2 .ok-hero.is-skeleton .ok-hero-side-badge,.okv2 .ok-hero.is-skeleton .ok-hero-side-title,.okv2 .ok-hero.is-skeleton .ok-hero-side-meta,.okv2 .ok-hero.is-skeleton .ok-hero-goal-pill,.okv2 .ok-hero.is-skeleton .ok-hero-goal-title,.okv2 .ok-hero.is-skeleton .ok-hero-goal-eta-main,.okv2 .ok-hero.is-skeleton .ok-hero-goal-days,.okv2 .ok-hero.is-skeleton .ok-hero-goal-desc,.okv2 .ok-hero.is-skeleton .ok-hero-goal-manage,.okv2 .ok-hero.is-skeleton .ok-hero-today-label,.okv2 .ok-hero.is-skeleton .ok-hero-today-title,.okv2 .ok-hero.is-skeleton .ok-hero-today-cta{color:#0000;position:relative}.okv2 .ok-hero.is-skeleton .ok-hero-goal-eta-main>*{color:#0000}.okv2 .ok-hero.is-skeleton .ok-hero-kicker,.okv2 .ok-hero.is-skeleton .ok-hero-side-badge,.okv2 .ok-hero.is-skeleton .ok-hero-goal-pill,.okv2 .ok-hero.is-skeleton .ok-hero-today-label,.okv2 .ok-hero.is-skeleton .ok-hero-today-cta{box-shadow:none;background:0 0}.okv2 .ok-hero.is-skeleton .ok-hero-today-item{background:var(--card);border-color:var(--line);box-shadow:none;pointer-events:none;transform:none}.okv2 .ok-hero.is-skeleton .ok-hero-today-item:hover{background:var(--card);border-color:var(--line);box-shadow:none;transform:none}.okv2 .ok-hero.is-skeleton .ok-hero-kicker:before,.okv2 .ok-hero.is-skeleton .ok-hero-title:before,.okv2 .ok-hero.is-skeleton .ok-hero-desc:before,.okv2 .ok-hero.is-skeleton .ok-hero-reward:before,.okv2 .ok-hero.is-skeleton .ok-progress-meta:before,.okv2 .ok-hero.is-skeleton .ok-hero-side-badge:before,.okv2 .ok-hero.is-skeleton .ok-hero-side-title:before,.okv2 .ok-hero.is-skeleton .ok-hero-side-meta:before,.okv2 .ok-hero.is-skeleton .ok-hero-goal-pill:before,.okv2 .ok-hero.is-skeleton .ok-hero-goal-title:before,.okv2 .ok-hero.is-skeleton .ok-hero-goal-eta-main:before,.okv2 .ok-hero.is-skeleton .ok-hero-goal-days:before,.okv2 .ok-hero.is-skeleton .ok-hero-goal-desc:before,.okv2 .ok-hero.is-skeleton .ok-hero-goal-manage:before,.okv2 .ok-hero.is-skeleton .ok-hero-today-label:before,.okv2 .ok-hero.is-skeleton .ok-hero-today-title:before,.okv2 .ok-hero.is-skeleton .ok-hero-today-cta:before{content:"";background:var(--ok-skel-bg);animation:var(--ok-skel-anim);border-radius:var(--ok-skel-radius);background-size:200% 100%;position:absolute;top:10%;bottom:10%;left:0}.okv2 .ok-hero.is-skeleton .ok-hero-kicker:before{border-radius:var(--r-full);width:160px}.okv2 .ok-hero.is-skeleton .ok-hero-title:before{width:72%}.okv2 .ok-hero.is-skeleton .ok-hero-desc:before{width:88%}.okv2 .ok-hero.is-skeleton .ok-hero-reward:before{width:58%}.okv2 .ok-hero.is-skeleton .ok-progress-meta:before{width:44%}.okv2 .ok-hero.is-skeleton .ok-hero-side-badge:before{border-radius:var(--r-full);width:100px}.okv2 .ok-hero.is-skeleton .ok-hero-side-title:before{width:78%}.okv2 .ok-hero.is-skeleton .ok-hero-side-meta:before{width:52%}.okv2 .ok-hero.is-skeleton .ok-hero-goal-pill:before{border-radius:var(--r-full);width:92px}.okv2 .ok-hero.is-skeleton .ok-hero-goal-title:before{width:58%}.okv2 .ok-hero.is-skeleton .ok-hero-goal-eta-main:before{width:116px}.okv2 .ok-hero.is-skeleton .ok-hero-goal-days:before{width:44%}.okv2 .ok-hero.is-skeleton .ok-hero-goal-desc:before{width:88%}.okv2 .ok-hero.is-skeleton .ok-hero-goal-manage:before{width:76px}.okv2 .ok-hero.is-skeleton .ok-hero-today-label:before{border-radius:var(--r-full);width:70px}.okv2 .ok-hero.is-skeleton .ok-hero-today-title:before{width:76%}.okv2 .ok-hero.is-skeleton .ok-hero-today-cta:before{border-radius:var(--r-sm);width:64px}.okv2 .ok-hero.is-skeleton .ok-lesson-row{background:var(--ok-skel-bg);animation:var(--ok-skel-anim);box-shadow:none;color:#0000;pointer-events:none;background-size:200% 100%;border-color:#0000}.okv2 .ok-hero.is-skeleton .ok-lesson-row .ok-lesson-idx,.okv2 .ok-hero.is-skeleton .ok-lesson-row .ok-lesson-title,.okv2 .ok-hero.is-skeleton .ok-lesson-row .ok-lesson-state{visibility:hidden}.okv2 .ok-hero.is-skeleton .ok-progress{background:var(--ok-skel-bg);animation:var(--ok-skel-anim);background-size:200% 100%}.okv2 .ok-hero.is-skeleton .ok-progress-fill{width:0!important}.okv2 .ok-stat-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}@media (max-width:900px){.okv2 .ok-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.okv2 .ok-stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);transition:transform var(--dur-smooth) var(--ease-standard), box-shadow var(--dur-smooth) var(--ease-standard);flex-direction:column;gap:4px;padding:20px 22px;display:flex;position:relative;overflow:hidden}.okv2 .ok-stat-interactive:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}.okv2 .ok-stat:before{content:"";opacity:0;width:110px;height:110px;transition:opacity var(--dur-smooth) var(--ease-standard);border-radius:50%;position:absolute;top:-30px;right:-30px}.okv2 .ok-stat.is-brand:before{background:var(--color-brand-soft);opacity:.6}.okv2 .ok-stat.is-success:before{background:var(--color-success-soft);opacity:.6}.okv2 .ok-stat.is-warm:before{background:var(--color-warm-soft);opacity:.6}.okv2 .ok-stat.is-error:before{background:var(--color-error-soft);opacity:.6}.okv2 .ok-stat>*{z-index:1;position:relative}.okv2 .ok-stat.is-empty{border:1px dashed var(--line-strong);box-shadow:none;text-align:center;align-items:center;padding:24px 20px}.okv2 .ok-stat.is-empty:before{display:none}.okv2 .ok-stat.is-empty .ok-stat-empty-value{font-family:var(--font-display);font-weight:var(--fw-bold);color:var(--ink-mute);letter-spacing:-.02em;margin-bottom:6px;font-size:28px;line-height:1}.okv2 .ok-stat.is-empty .ok-stat-empty-label{color:var(--ink-mute);font-size:11.5px;font-weight:var(--fw-semibold);letter-spacing:.06em}.okv2 .ok-stat-row.is-2col{grid-template-columns:repeat(2,minmax(0,1fr))}.okv2 .ok-stat-row.is-3col{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:700px){.okv2 .ok-stat-row.is-3col{grid-template-columns:1fr}}.okv2 .ok-stat-row-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}@media (max-width:700px){.okv2 .ok-stat-row-3{grid-template-columns:1fr}}.okv2 .ok-stat-label{color:var(--ink-mute);font-size:var(--text-caption-size);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:6px;display:flex}.okv2 .ok-stat-ic{border-radius:var(--r-xs);background:var(--sand-line);width:22px;height:22px;color:var(--ink-soft);place-items:center;font-size:12px;display:grid}.okv2 .ok-stat.is-brand .ok-stat-ic{background:var(--color-brand);color:var(--ink-0)}.okv2 .ok-stat.is-success .ok-stat-ic{background:var(--color-success);color:var(--ink-0)}.okv2 .ok-stat.is-warm .ok-stat-ic{background:var(--color-warm);color:var(--ink-0)}.okv2 .ok-stat.is-error .ok-stat-ic{background:var(--color-error);color:var(--ink-0)}.okv2 .ok-stat-value{color:var(--ink);font-family:var(--font-display);font-size:30px;font-weight:var(--fw-bold);letter-spacing:-.02em;margin-bottom:6px;line-height:1}.okv2 .ok-stat-value small{font-size:15px;font-weight:var(--fw-semibold);color:var(--ink-soft);margin-left:4px}.okv2 .ok-stat-foot{color:var(--ink-mute);font-size:var(--text-caption-size);font-family:var(--font-mono)}.okv2 .ok-stat.is-compact{gap:2px;padding:14px 16px}.okv2 .ok-stat.is-compact:before{display:none}.okv2 .ok-stat.is-compact .ok-stat-value{margin-bottom:2px;font-size:24px}.okv2 .ok-stat.is-compact .ok-stat-label{margin-bottom:4px;font-size:11px}.okv2 .ok-stat-trend{border-radius:var(--r-full);font-size:11px;font-weight:var(--fw-bold);font-family:var(--font-mono);background:var(--sand-line);color:var(--ink-soft);vertical-align:middle;align-items:center;gap:3px;margin-left:8px;padding:2px 7px;display:inline-flex}.okv2 .ok-stat-trend.is-up{background:var(--color-success-soft);color:var(--color-success-deep)}.okv2 .ok-stat-trend.is-down{background:var(--color-error-soft);color:var(--color-error-deep)}.okv2 .ok-stat-row.is-skeleton .ok-stat:before{display:none}.okv2 .ok-stat-row.is-skeleton .ok-stat-ic{visibility:hidden}.okv2 .ok-stat-row.is-skeleton .ok-stat-label,.okv2 .ok-stat-row.is-skeleton .ok-stat-value,.okv2 .ok-stat-row.is-skeleton .ok-stat-foot{color:#0000;position:relative}.okv2 .ok-stat-row.is-skeleton .ok-stat-value small{color:#0000}.okv2 .ok-stat-row.is-skeleton .ok-stat-label:before,.okv2 .ok-stat-row.is-skeleton .ok-stat-value:before,.okv2 .ok-stat-row.is-skeleton .ok-stat-foot:before{content:"";background:var(--ok-skel-bg);animation:var(--ok-skel-anim);border-radius:var(--ok-skel-radius);background-size:200% 100%;position:absolute;top:10%;bottom:10%;left:0}.okv2 .ok-stat-row.is-skeleton .ok-stat-label:before{width:72%}.okv2 .ok-stat-row.is-skeleton .ok-stat-value:before{width:50%}.okv2 .ok-stat-row.is-skeleton .ok-stat-foot:before{width:82%}.okv2 .ok-task-list{flex-direction:column;gap:10px;display:flex}.okv2 .ok-task{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;text-align:left;width:100%;color:inherit;transition:transform var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard);align-items:center;gap:14px;padding:14px 16px;font-family:inherit;text-decoration:none;display:flex}.okv2 .ok-task:hover{box-shadow:var(--sh-sm);border-color:var(--line-strong);transform:translateY(-1px)}.okv2 .ok-task.is-brand{background:linear-gradient(135deg, var(--color-brand-soft), #efebfc66);border-color:#0000}.okv2 .ok-task.is-brand:hover{border-color:var(--color-brand-soft)}.okv2 .ok-task.is-warm{background:linear-gradient(135deg, var(--color-warm-soft), #ffe8e166);border-color:#0000}.okv2 .ok-task.is-warm:hover{border-color:var(--color-warm-soft)}.okv2 .ok-task-tag{background:var(--ink-0);color:var(--ink-soft);border-radius:var(--r-xs);font-size:11px;font-weight:var(--fw-bold);letter-spacing:.02em;flex:none;padding:4px 10px}.okv2 .ok-task.is-brand .ok-task-tag{color:var(--color-brand-deep)}.okv2 .ok-task.is-warm .ok-task-tag{color:var(--color-warm-deep)}.okv2 .ok-task-body{flex:1;min-width:0}.okv2 .ok-task-title{color:var(--ink);font-size:var(--text-body-size);font-weight:var(--fw-bold);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;overflow:hidden}.okv2 .ok-task-sub{color:var(--ink-soft);font-size:var(--text-small-size)}.okv2 .ok-task-go{background:var(--color-brand);color:var(--ink-0);border-radius:var(--r-sm);font-size:12.5px;font-weight:var(--fw-bold);transition:box-shadow var(--dur-fast) var(--ease-standard);flex:none;padding:7px 14px;box-shadow:0 3px 10px #8e7ee847}.okv2 .ok-task:hover .ok-task-go{box-shadow:0 5px 14px #8e7ee861}.okv2 .ok-task.is-warm .ok-task-go{background:var(--color-warm-deep);box-shadow:0 3px 10px #e0776247}.okv2 .ok-task.is-warm:hover .ok-task-go{box-shadow:0 5px 14px #e0776261}.okv2 .ok-card.is-skeleton .ok-card-head .link{visibility:hidden}.okv2 .ok-card.is-skeleton .ok-card-head h3{color:#0000;position:relative}.okv2 .ok-card.is-skeleton .ok-card-head h3:before{content:"";background:var(--ok-skel-bg);width:130px;animation:var(--ok-skel-anim);border-radius:var(--ok-skel-radius);background-size:200% 100%;position:absolute;top:10%;bottom:10%;left:0}.okv2 .ok-card.is-skeleton .ok-task{background:var(--card);border-color:var(--line);box-shadow:none;pointer-events:none;transform:none}.okv2 .ok-card.is-skeleton .ok-task:hover{background:var(--card);border-color:var(--line);box-shadow:none;transform:none}.okv2 .ok-card.is-skeleton .ok-task-go{box-shadow:none;color:#0000;background:0 0;position:relative;overflow:hidden}.okv2 .ok-card.is-skeleton .ok-task-tag{background:0 0}.okv2 .ok-card.is-skeleton .ok-task-tag,.okv2 .ok-card.is-skeleton .ok-task-title,.okv2 .ok-card.is-skeleton .ok-task-sub{color:#0000;position:relative}.okv2 .ok-card.is-skeleton .ok-task-tag:before,.okv2 .ok-card.is-skeleton .ok-task-title:before,.okv2 .ok-card.is-skeleton .ok-task-sub:before,.okv2 .ok-card.is-skeleton .ok-task-go:before{content:"";background:var(--ok-skel-bg);animation:var(--ok-skel-anim);border-radius:var(--ok-skel-radius);background-size:200% 100%;position:absolute;top:10%;bottom:10%;left:0}.okv2 .ok-card.is-skeleton .ok-task-tag:before{border-radius:var(--r-sm);width:64px}.okv2 .ok-card.is-skeleton .ok-task-title:before{width:74%}.okv2 .ok-card.is-skeleton .ok-task-sub:before{width:54%}.okv2 .ok-card.is-skeleton .ok-task-go:before{border-radius:var(--r-sm);width:64px}.okv2 .ok-weekly-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.okv2 .ok-weekly-streak{color:var(--color-warm-deep);font-family:var(--font-display);font-size:30px;font-weight:var(--fw-extrabold);letter-spacing:-.02em;align-items:center;gap:10px;line-height:1;display:inline-flex}.okv2 .ok-weekly-streak:before{content:"🔥";font-size:26px}.okv2 .ok-weekly-meta{background:var(--color-success-soft);color:var(--color-success-deep);border-radius:var(--r-full);font-size:var(--text-small-size);font-weight:var(--fw-semibold);padding:4px 10px}.okv2 .ok-weekly-days{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:16px;display:grid}.okv2 .ok-weekly-day{aspect-ratio:1/1.05;background:var(--sand-line);color:var(--ink-mute);border:1px solid var(--line);border-radius:var(--r-sm);font-size:13px;font-weight:var(--fw-semibold);font-family:var(--font-body);place-items:center;display:grid}.okv2 .ok-weekly-day.is-on{background:var(--color-warm-soft);color:var(--color-warm-deep);border-color:var(--peach-100)}.okv2 .ok-weekly-day.is-today{background:linear-gradient(135deg, var(--lilac-500), var(--lilac-700));color:var(--ink-0);border-color:#0000;box-shadow:0 4px 12px #8e7ee859}.okv2 .ok-weekly-day.is-today.is-on{box-shadow:0 4px 14px #8e7ee86b,inset 0 0 0 2px #ffa99a66}.okv2 .ok-weekly-foot{border-top:1px solid var(--line);color:var(--ink-soft);font-size:var(--text-small-size);padding-top:14px;line-height:1.6}.okv2 .ok-weekly-foot b{color:var(--color-warm-deep);font-weight:var(--fw-bold)}.okv2 .ok-card.is-skeleton .ok-weekly-streak,.okv2 .ok-card.is-skeleton .ok-weekly-meta,.okv2 .ok-card.is-skeleton .ok-weekly-foot{color:#0000;position:relative}.okv2 .ok-card.is-skeleton .ok-weekly-meta{background:0 0}.okv2 .ok-card.is-skeleton .ok-weekly-streak:before,.okv2 .ok-card.is-skeleton .ok-weekly-meta:before,.okv2 .ok-card.is-skeleton .ok-weekly-foot:before{content:"";background:var(--ok-skel-bg);animation:var(--ok-skel-anim);border-radius:var(--ok-skel-radius);background-size:200% 100%;position:absolute;top:10%;bottom:10%;left:0}.okv2 .ok-card.is-skeleton .ok-weekly-streak:before{width:48px}.okv2 .ok-card.is-skeleton .ok-weekly-meta:before{width:72%}.okv2 .ok-card.is-skeleton .ok-weekly-foot:before{width:82%}.okv2 .ok-card.is-skeleton .ok-weekly-day{background:var(--ok-skel-bg);animation:var(--ok-skel-anim);color:#0000;box-shadow:none;background-size:200% 100%;border-color:#0000}.okv2 .ok-path-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}@media (max-width:860px){.okv2 .ok-path-grid{grid-template-columns:1fr}}.okv2 .ok-path-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);color:inherit;transition:transform var(--dur-smooth) var(--ease-standard), box-shadow var(--dur-smooth) var(--ease-standard), border-color var(--dur-smooth) var(--ease-standard);flex-direction:column;gap:12px;padding:22px;text-decoration:none;display:flex;position:relative;overflow:hidden}.okv2 .ok-path-card:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}.okv2 .ok-path-card.is-brand{background:linear-gradient(160deg, var(--color-brand-soft) 0%, var(--card) 80%);border-color:var(--lilac-100)}.okv2 .ok-path-card.is-success{background:linear-gradient(160deg, var(--color-success-soft) 0%, var(--card) 80%);border-color:var(--mint-100)}.okv2 .ok-path-card.is-warm{background:linear-gradient(160deg, var(--color-warm-soft) 0%, var(--card) 80%);border-color:var(--peach-100)}.okv2 .ok-path-card.is-brand:hover{border-color:var(--color-brand)}.okv2 .ok-path-card.is-success:hover{border-color:var(--color-success)}.okv2 .ok-path-card.is-warm:hover{border-color:var(--color-warm)}.okv2 .ok-path-ic{font-family:var(--font-jp);font-size:42px;font-weight:var(--fw-bold);color:var(--color-brand-deep);line-height:1}.okv2 .ok-path-card.is-success .ok-path-ic{color:var(--color-success-deep)}.okv2 .ok-path-card.is-warm .ok-path-ic{color:var(--color-warm-deep)}.okv2 .ok-path-title{color:var(--ink);font-family:var(--font-display);font-size:var(--text-h3-size);font-weight:var(--fw-bold);margin:0;line-height:1.2}.okv2 .ok-path-tags{flex-wrap:wrap;gap:5px;display:flex}.okv2 .ok-path-tags span{border:1px solid var(--line);border-radius:var(--r-xs);color:var(--ink-soft);font-size:10.5px;font-weight:var(--fw-semibold);background:#ffffffbf;padding:3px 9px}.okv2 .ok-path-act{border-top:1px dashed var(--line);justify-content:space-between;align-items:baseline;gap:10px;margin-top:auto;padding-top:12px;display:flex}.okv2 .ok-path-act b{color:var(--color-brand-deep);font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--text-body-size)}.okv2 .ok-path-card.is-success .ok-path-act b{color:var(--color-success-deep)}.okv2 .ok-path-card.is-warm .ok-path-act b{color:var(--color-warm-deep)}.okv2 .ok-path-act .hint{color:var(--ink-mute);font-size:var(--text-caption-size);font-family:var(--font-mono)}.okv2 .ok-path-card.is-skeleton .ok-path-ic{visibility:hidden}.okv2 .ok-path-card.is-skeleton .ok-path-title,.okv2 .ok-path-card.is-skeleton .ok-path-tags>span,.okv2 .ok-path-card.is-skeleton .ok-path-act b,.okv2 .ok-path-card.is-skeleton .ok-path-act .hint{color:#0000;position:relative}.okv2 .ok-path-card.is-skeleton .ok-path-title:before,.okv2 .ok-path-card.is-skeleton .ok-path-tags>span:before,.okv2 .ok-path-card.is-skeleton .ok-path-act b:before,.okv2 .ok-path-card.is-skeleton .ok-path-act .hint:before{content:"";background:var(--ok-skel-bg);animation:var(--ok-skel-anim);border-radius:var(--ok-skel-radius);background-size:200% 100%;position:absolute;top:10%;bottom:10%;left:0}.okv2 .ok-path-card.is-skeleton .ok-path-title:before{width:68%}.okv2 .ok-path-card.is-skeleton .ok-path-tags>span:before{border-radius:var(--r-full);width:100%}.okv2 .ok-path-card.is-skeleton .ok-path-act b:before{width:86px}.okv2 .ok-path-card.is-skeleton .ok-path-act .hint:before{width:60%}.okv2 .ok-level-band{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:28px;display:grid}@media (max-width:1024px){.okv2 .ok-level-band{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:560px){.okv2 .ok-level-band{grid-template-columns:repeat(2,minmax(0,1fr))}}.okv2 .ok-level-cell{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-sm);text-align:left;cursor:pointer;color:var(--ink);transition:transform var(--dur-smooth) var(--ease-standard), box-shadow var(--dur-smooth) var(--ease-standard), border-color var(--dur-smooth) var(--ease-standard), background var(--dur-smooth) var(--ease-standard);flex-direction:column;gap:6px;padding:16px 18px 18px;font-family:inherit;display:flex;position:relative}.okv2 .ok-level-cell:hover:not(.is-selected){box-shadow:var(--sh-md);border-color:var(--line-strong);transform:translateY(-2px)}.okv2 .ok-level-cell.is-done{background:var(--color-success-soft);border-color:var(--mint-100)}.okv2 .ok-level-cell.is-done:after{content:"✓";color:var(--color-success-deep);font-weight:var(--fw-extrabold);font-size:14px;line-height:1;position:absolute;top:10px;right:12px}.okv2 .ok-level-cell.is-selected{background:var(--color-brand-soft);border-color:var(--color-brand);box-shadow:var(--sh-brand);transform:none}.okv2 .ok-level-cell.is-done.is-selected{background:var(--color-brand-soft);border-color:var(--color-brand)}.okv2 .ok-level-cell.is-done.is-selected:after{color:var(--color-brand-deep)}.okv2 .ok-level-badge{background:var(--ink-100);min-width:42px;color:var(--ink-700);border-radius:var(--r-xs);font-family:var(--font-display);font-weight:var(--fw-bold);letter-spacing:.04em;justify-content:center;align-items:center;width:fit-content;padding:4px 10px;font-size:12px;display:inline-flex}.okv2 .ok-level-cell.is-selected .ok-level-badge{background:var(--color-brand);color:var(--ink-0)}.okv2 .ok-level-cell.is-done:not(.is-selected) .ok-level-badge{background:var(--color-success);color:var(--ink-0)}.okv2 .ok-level-name{color:var(--ink);font-family:var(--font-display);font-size:var(--text-h3-size);font-weight:var(--fw-bold);margin-top:2px;line-height:1.2}.okv2 .ok-level-meta{color:var(--ink-mute);font-size:var(--text-caption-size);font-family:var(--font-mono)}.okv2 .ok-level-progress{background:var(--sand-line);border-radius:var(--r-full);height:4px;margin-top:6px;overflow:hidden}.okv2 .ok-level-progress i{background:var(--color-brand);border-radius:inherit;height:100%;transition:width var(--dur-slow) var(--ease-out-expo);display:block}.okv2 .ok-level-cell.is-done .ok-level-progress i{background:var(--color-success)}.okv2 .ok-level-state{color:var(--ink-soft);font-size:var(--text-caption-size);font-weight:var(--fw-semibold);margin-top:2px}.okv2 .ok-level-cell.is-selected .ok-level-state{color:var(--color-brand-deep)}.okv2 .ok-level-cell.is-done:not(.is-selected) .ok-level-state{color:var(--color-success-deep)}.okv2 .ok-level-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (max-width:1024px){.okv2 .ok-level-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.okv2 .ok-level-card-grid{grid-template-columns:1fr}}.okv2 .ok-level-card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);min-height:240px;box-shadow:var(--sh-sm);color:var(--ink);cursor:pointer;transition:transform var(--dur-smooth) var(--ease-standard), box-shadow var(--dur-smooth) var(--ease-standard), border-color var(--dur-smooth) var(--ease-standard);flex-direction:column;gap:14px;padding:22px 24px 20px;text-decoration:none;display:flex;position:relative;overflow:hidden}.okv2 .ok-level-card:hover{box-shadow:var(--sh-md);border-color:var(--line-strong);transform:translateY(-3px)}.okv2 .ok-level-card[aria-busy=true]{opacity:.55;pointer-events:none;transform:none}.okv2 .ok-level-card.is-current{background:linear-gradient(135deg, var(--color-brand-soft) 0%, #efebfc59 100%);border-color:var(--color-brand);box-shadow:0 6px 20px #8e7ee838}.okv2 .ok-level-card.is-current:hover{box-shadow:0 14px 36px #8e7ee852}.okv2 .ok-level-card.is-done{background:var(--color-success-soft);border-color:var(--mint-100)}.okv2 .ok-level-card.is-done:hover{box-shadow:0 10px 28px #7bcec938}.okv2 .ok-level-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.okv2 .ok-level-card-badge{background:var(--ink-100);min-width:56px;height:36px;color:var(--ink-700);border-radius:var(--r-sm);font-family:var(--font-display);font-weight:var(--fw-extrabold);letter-spacing:.04em;justify-content:center;align-items:center;padding:0 14px;font-size:16px;display:inline-flex}.okv2 .ok-level-card.is-current .ok-level-card-badge{background:linear-gradient(135deg, var(--lilac-500), var(--lilac-700));color:var(--ink-0);box-shadow:0 3px 10px #8e7ee852}.okv2 .ok-level-card.is-done .ok-level-card-badge{background:linear-gradient(135deg, var(--mint-500), var(--mint-700));color:var(--ink-0)}.okv2 .ok-level-card-tag{font-size:11px;font-weight:var(--fw-bold);border-radius:var(--r-full);letter-spacing:.03em;align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.okv2 .ok-level-card.is-current .ok-level-card-tag{background:var(--color-brand);color:var(--ink-0)}.okv2 .ok-level-card.is-done .ok-level-card-tag{background:var(--color-success);color:var(--ink-0)}.okv2 .ok-level-card-name{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--text-h2-size);line-height:var(--text-h2-line);color:var(--ink);letter-spacing:-.01em;margin:0}.okv2 .ok-level-card-desc{color:var(--ink-soft);font-size:var(--text-body-size);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.6;display:-webkit-box;overflow:hidden}.okv2 .ok-level-card-progress{flex-direction:column;gap:6px;display:flex}.okv2 .ok-level-card-progress .ok-progress{height:6px}.okv2 .ok-level-card.is-done .ok-level-card-progress .ok-progress-fill{background:var(--color-success)}.okv2 .ok-level-card-progress-meta{color:var(--ink-soft);font-size:var(--text-small-size);font-family:var(--font-body);justify-content:space-between;align-items:center;display:flex}.okv2 .ok-level-card-progress-meta b{color:var(--ink);font-family:var(--font-mono);font-weight:var(--fw-bold)}.okv2 .ok-level-card.is-current .ok-level-card-progress-meta b{color:var(--color-brand-deep)}.okv2 .ok-level-card.is-done .ok-level-card-progress-meta b{color:var(--color-success-deep)}.okv2 .ok-level-card-cta{font-family:var(--font-body);font-size:14px;font-weight:var(--fw-semibold);color:var(--ink-soft);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:4px;display:flex}.okv2 .ok-level-card.is-current .ok-level-card-cta{color:var(--color-brand-deep)}.okv2 .ok-level-card.is-done .ok-level-card-cta{color:var(--color-success-deep)}.okv2 .ok-level-card-arrow{background:var(--ink-50);width:32px;height:32px;color:var(--ink-soft);font-size:14px;font-weight:var(--fw-bold);transition:transform var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.okv2 .ok-level-card:hover .ok-level-card-arrow{background:var(--color-brand);color:var(--ink-0);transform:translate(4px)}.okv2 .ok-level-card.is-current .ok-level-card-arrow{background:var(--color-brand);color:var(--ink-0);box-shadow:0 3px 10px #8e7ee852}.okv2 .ok-level-card.is-current:hover .ok-level-card-arrow{background:var(--color-brand-deep);transform:translate(4px)}.okv2 .ok-level-card.is-done .ok-level-card-arrow{background:var(--color-success);color:var(--ink-0)}.okv2 .ok-level-card.is-done:hover .ok-level-card-arrow{background:var(--color-success-deep);transform:translate(4px)}.okv2 .ok-level-card.is-skeleton .ok-level-card-arrow{visibility:hidden}.okv2 .ok-level-card.is-skeleton .ok-level-card-badge,.okv2 .ok-level-card.is-skeleton .ok-level-card-name,.okv2 .ok-level-card.is-skeleton .ok-level-card-desc,.okv2 .ok-level-card.is-skeleton .ok-level-card-progress-meta,.okv2 .ok-level-card.is-skeleton .ok-level-card-cta>span:first-child{color:#0000;position:relative}.okv2 .ok-level-card.is-skeleton .ok-level-card-badge:before,.okv2 .ok-level-card.is-skeleton .ok-level-card-name:before,.okv2 .ok-level-card.is-skeleton .ok-level-card-desc:before,.okv2 .ok-level-card.is-skeleton .ok-level-card-progress-meta:before,.okv2 .ok-level-card.is-skeleton .ok-level-card-cta>span:first-child:before{content:"";background:var(--ok-skel-bg);animation:var(--ok-skel-anim);border-radius:var(--ok-skel-radius);background-size:200% 100%;position:absolute;top:10%;bottom:10%;left:0}.okv2 .ok-level-card.is-skeleton .ok-level-card-badge:before{border-radius:var(--r-sm);width:48px}.okv2 .ok-level-card.is-skeleton .ok-level-card-name:before{width:62%}.okv2 .ok-level-card.is-skeleton .ok-level-card-desc:before{width:88%}.okv2 .ok-level-card.is-skeleton .ok-level-card-progress-meta:before{width:100%}.okv2 .ok-level-card.is-skeleton .ok-level-card-cta>span:first-child:before{width:80px}.okv2 .ok-level-card.is-skeleton .ok-progress{background:var(--ok-skel-bg);animation:var(--ok-skel-anim);background-size:200% 100%}.okv2 .ok-level-card.is-skeleton .ok-progress-fill{width:0!important}.okv2 .ok-course-list{flex-direction:column;gap:6px;display:flex}.okv2 .ok-course-row{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);cursor:pointer;transition:transform var(--dur-fast) var(--ease-standard), box-shadow var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard);grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:12px 14px;text-decoration:none;display:grid}.okv2 .ok-course-row:hover{box-shadow:var(--sh-sm);border-color:var(--line-strong);transform:translateY(-1px)}.okv2 .ok-course-row.is-current{background:linear-gradient(135deg, var(--color-brand-soft), #efebfc59);border-color:var(--color-brand);box-shadow:0 4px 14px #8e7ee838}.okv2 .ok-course-row.is-current:hover{box-shadow:0 8px 22px #8e7ee852}.okv2 .ok-course-row.is-done{background:var(--color-success-soft);border-color:var(--mint-100)}.okv2 .ok-course-row.is-done:hover{box-shadow:0 4px 14px #7bcec933}.okv2 .ok-course-idx{background:var(--sand-line);width:48px;height:48px;color:var(--ink-soft);font-family:var(--font-mono);font-weight:var(--fw-bold);border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease-standard);flex:none;place-items:center;font-size:16px;display:grid}.okv2 .ok-course-row.is-current .ok-course-idx{background:var(--color-brand);color:var(--ink-0);box-shadow:0 3px 10px #8e7ee847}.okv2 .ok-course-row.is-done .ok-course-idx{background:var(--color-success);color:var(--ink-0)}.okv2 .ok-course-body{min-width:0}.okv2 .ok-course-title{color:var(--ink);font-family:var(--font-display);font-weight:var(--fw-bold);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:14.5px;line-height:1.3;overflow:hidden}.okv2 .ok-course-row.is-current .ok-course-title{color:var(--color-brand-deep)}.okv2 .ok-course-row.is-done .ok-course-title{color:var(--color-success-deep)}.okv2 .ok-course-sub{color:var(--ink-mute);font-size:var(--text-small-size);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.okv2 .ok-course-row.is-done .ok-course-sub{opacity:.85}.okv2 .ok-course-state{flex:none;align-items:center;display:flex}@media (max-width:640px){.okv2 .ok-course-row{grid-template-columns:40px minmax(0,1fr) auto;padding:10px 12px}.okv2 .ok-course-idx{width:40px;height:40px;font-size:14px}.okv2 .ok-course-state{display:none}}.okv2 .ok-lesson-list{flex-direction:column;gap:3px;display:flex}.okv2 .ok-lesson-row{border-radius:var(--r-sm);color:var(--ink);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);background:0 0;align-items:center;gap:12px;padding:9px 12px;font-size:13.5px;text-decoration:none;display:flex}a.ok-lesson-row:hover:not(.is-now):not(.is-locked){background:var(--color-brand-soft);transform:translate(2px)}.okv2 .ok-lesson-idx{font-family:var(--font-mono);font-size:var(--text-small-size);font-weight:var(--fw-semibold);color:var(--ink-mute);flex:none;width:26px}.okv2 .ok-lesson-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.okv2 .ok-lesson-row.is-done{color:var(--ink-soft);opacity:.75}.okv2 .ok-lesson-row.is-done:after{content:"✓";color:var(--color-success-deep);font-weight:var(--fw-extrabold);margin-left:auto}a.ok-lesson-row.is-done:hover{background:var(--color-success-soft);opacity:1}.okv2 .ok-lesson-row.is-now{background:linear-gradient(135deg, var(--color-brand-soft), #efebfc66);color:var(--color-brand-deep);font-weight:var(--fw-bold);box-shadow:inset 0 0 0 1.5px var(--color-brand-soft)}.okv2 .ok-lesson-row.is-now .ok-lesson-idx{color:var(--color-brand)}a.ok-lesson-row.is-now:hover{box-shadow:inset 0 0 0 1.5px var(--color-brand)}.okv2 .ok-lesson-row.is-locked{opacity:.5;cursor:not-allowed;pointer-events:none}.okv2 .ok-lesson-row.is-locked:after{content:"🔒";margin-left:auto;font-size:11px}.okv2 .ok-hero-side .ok-lesson-row{grid-template-columns:26px minmax(0,1fr) auto;gap:10px;display:grid}.okv2 .ok-hero-side .ok-lesson-row.is-todo{color:var(--ink-soft)}.okv2 .ok-hero-side .ok-lesson-row.is-todo .ok-lesson-idx{color:color-mix(in srgb, var(--ink-mute) 58%, transparent)}.okv2 .ok-hero-side .ok-lesson-row.is-todo .ok-lesson-title{font-weight:var(--fw-semibold)}.okv2 .ok-hero-side .ok-lesson-row.is-done:after{content:none}.okv2 .ok-lesson-state{border-radius:var(--r-full);background:var(--ink-50);min-width:48px;color:var(--ink-mute);font-size:11px;font-weight:var(--fw-bold);white-space:nowrap;justify-content:center;align-items:center;padding:3px 8px;line-height:1.2;display:inline-flex}.okv2 .ok-lesson-row.is-done .ok-lesson-state{background:var(--color-success-soft);color:var(--color-success-deep)}.okv2 .ok-lesson-row.is-now .ok-lesson-state{background:var(--color-brand);color:var(--ink-0)}.okv2 .ok-lesson-row.is-todo .ok-lesson-state{border:1px solid var(--line);color:var(--ink-mute);background:0 0}.okv2 .ok-hero.is-skeleton .ok-hero-side .ok-lesson-row,.okv2 .ok-hero.is-skeleton .ok-hero-side .ok-lesson-row.is-done,.okv2 .ok-hero.is-skeleton .ok-hero-side .ok-lesson-row.is-now,.okv2 .ok-hero.is-skeleton .ok-hero-side .ok-lesson-row.is-todo{background:var(--ok-skel-bg);animation:var(--ok-skel-anim);box-shadow:none;color:#0000;opacity:1;background-size:200% 100%;border-color:#0000}.okv2 .ok-hero.is-skeleton .ok-hero-side .ok-lesson-row .ok-lesson-state{visibility:hidden}.okv2 .ok-home-page{flex-direction:column;gap:18px;padding-bottom:28px;display:flex}.okv2 .ok-home-main-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;margin-bottom:24px;display:grid}.okv2 .ok-home-main-grid>*{min-width:0}.okv2 .ok-home-heatmap{height:100%}@media (max-width:760px){.okv2 .ok-home-main-grid{grid-template-columns:minmax(0,1fr)}}.okv2 .ok-home-hero-shell,.okv2 .ok-home-welcome-shell{border-color:color-mix(in srgb, var(--line-strong) 70%, var(--color-brand-soft));background:radial-gradient(circle at 100% 0,#7bcec92e,#0000 28%),radial-gradient(circle at 18% 10%,#ffa99a24,#0000 24%),linear-gradient(#ffffffeb,#fffffffa);position:relative;overflow:hidden;box-shadow:0 18px 40px #2f3e4e14}.okv2 .ok-home-hero-shell:before,.okv2 .ok-home-welcome-shell:before{content:"";pointer-events:none;background:linear-gradient(120deg,#ffffff75,#0000 30%),linear-gradient(#efebfc00,#efebfc38);position:absolute;inset:0}.okv2 .ok-home-hero-grid,.okv2 .ok-home-welcome-grid{z-index:1;grid-template-columns:minmax(0,1.2fr) minmax(320px,.86fr);align-items:stretch;gap:22px;display:grid;position:relative}.okv2 .ok-home-welcome-main,.okv2 .ok-home-hero-main{min-width:0}.okv2 .ok-home-ribbon-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.okv2 .ok-home-ribbon-note,.okv2 .ok-home-panel-kicker,.okv2 .ok-home-focus-label,.okv2 .ok-home-insight-eyebrow{border-radius:var(--r-full);color:var(--ink-soft);font-size:11px;font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;background:#ffffffbf;border:1px solid #d7d7e5cc;align-items:center;padding:6px 10px;display:inline-flex}.okv2 .ok-home-hero-title,.okv2 .ok-home-welcome-title{color:var(--ink);font-family:var(--font-display);font-size:clamp(34px,4vw,54px);font-weight:var(--fw-extrabold);letter-spacing:-.04em;max-width:12ch;margin:0 0 14px;line-height:1.02}.okv2 .ok-home-welcome-title .jp{color:var(--color-brand-deep);font-family:var(--font-jp);font-size:.52em;font-weight:var(--fw-semibold);margin-left:14px;display:inline-block}.okv2 .ok-home-hero-desc,.okv2 .ok-home-welcome-desc{max-width:62ch;color:var(--ink-soft);margin:0 0 22px;font-size:15px;line-height:1.75}.okv2 .ok-home-progress-card,.okv2 .ok-home-focus-rail,.okv2 .ok-home-welcome-panel{border-radius:var(--r-lg);box-shadow:var(--sh-xs);background:#ffffffb8;border:1px solid #d7d7e5e6}.okv2 .ok-home-progress-card{margin-bottom:18px;padding:18px 18px 16px}.okv2 .ok-home-progress-head{color:var(--ink-soft);font-size:var(--text-small-size);font-weight:var(--fw-semibold);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.okv2 .ok-home-progress-head b{color:var(--ink);font-family:var(--font-mono);font-size:13px}.okv2 .ok-home-progress-pills{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.okv2 .ok-home-progress-pills span,.okv2 .ok-home-week-chip{border-radius:var(--r-full);color:var(--color-brand-deep);font-size:11.5px;font-weight:var(--fw-semibold);background:#efebfcb8;align-items:center;padding:6px 10px;display:inline-flex}.okv2 .ok-home-hero-cta{margin-bottom:16px}.okv2 .ok-home-reward-line{color:var(--ink-soft);font-size:12.5px;font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.okv2 .ok-home-reward-line .divider{opacity:.35}.okv2 .ok-home-focus-rail,.okv2 .ok-home-welcome-panel{flex-direction:column;padding:18px;display:flex}.okv2 .ok-home-focus-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.okv2 .ok-home-focus-title{color:var(--ink);font-family:var(--font-display);font-size:21px;font-weight:var(--fw-bold);margin:0 0 6px;line-height:1.18}.okv2 .ok-home-focus-meta{color:var(--ink-mute);font-size:12px;font-family:var(--font-mono);margin-bottom:12px}.okv2 .ok-home-lesson-list{flex:1;margin-bottom:14px}.okv2 .ok-home-focus-foot{border-top:1px solid #d7d7e5e6;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:14px;display:grid}.okv2 .ok-home-focus-foot div{flex-direction:column;gap:3px;display:flex}.okv2 .ok-home-focus-foot b{color:var(--ink);font-family:var(--font-display);letter-spacing:-.03em;font-size:22px;line-height:1}.okv2 .ok-home-focus-foot span{color:var(--ink-mute);font-size:11px;font-family:var(--font-mono)}.okv2 .ok-home-band{padding:2px 0 4px}.okv2 .ok-home-band-head{justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px;display:flex}.okv2 .ok-home-band-head p,.okv2 .ok-home-card-head p{color:var(--ink-soft);margin:6px 0 0;font-size:13px;line-height:1.6}.okv2 .ok-home-path-grid.is-compact .ok-path-card{min-height:196px}.okv2 .ok-home-insight-grid{grid-template-columns:1.2fr 1fr 1fr 1fr;gap:14px;display:grid}.okv2 .ok-home-insight-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);min-height:190px;box-shadow:var(--sh-sm);flex-direction:column;gap:8px;padding:18px 20px;display:flex;position:relative;overflow:hidden}.okv2 .ok-home-insight-card:before{content:"";background:#efebfc8f;border-radius:50%;width:120px;height:120px;position:absolute;top:-26px;right:-18px}.okv2 .ok-home-insight-card.is-warm:before{background:#ffe8e1d6}.okv2 .ok-home-insight-card.is-brand:before{background:#efebfcd6}.okv2 .ok-home-insight-card>*{z-index:1;position:relative}.okv2 .ok-home-insight-card.is-wide{min-height:214px}.okv2 .ok-home-insight-value{color:var(--ink);font-family:var(--font-display);font-size:clamp(34px,4vw,48px);font-weight:var(--fw-extrabold);letter-spacing:-.05em;margin-top:auto;line-height:.95}.okv2 .ok-home-insight-value small{color:var(--ink-soft);font-size:15px;font-weight:var(--fw-semibold);margin-left:6px}.okv2 .ok-home-insight-title{color:var(--ink);font-size:16px;font-weight:var(--fw-bold)}.okv2 .ok-home-insight-copy{color:var(--ink-soft);font-size:13.5px;line-height:1.6}.okv2 .ok-home-insight-foot{color:var(--ink-mute);margin-top:auto;font-size:12px;line-height:1.55}.okv2 .ok-home-page-grid{grid-template-columns:1.16fr .84fr;gap:16px;display:grid}.okv2 .ok-home-task-card,.okv2 .ok-home-week-card{padding:22px 22px 20px}.okv2 .ok-home-card-head{margin-bottom:18px}.okv2 .ok-home-task-list{gap:12px}.okv2 .ok-home-week-hero{justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px;display:flex}.okv2 .ok-home-week-days{margin-bottom:16px}.okv2 .ok-home-week-foot{border-top:1px solid var(--line);color:var(--ink-soft);padding-top:14px;font-size:13px;line-height:1.6}.okv2 .ok-home-welcome-panel{justify-content:space-between}.okv2 .ok-home-panel-list{flex-direction:column;gap:10px;margin:14px 0 16px;display:flex}.okv2 .ok-home-panel-item{border-radius:var(--r-md);color:var(--ink);font-weight:var(--fw-semibold);background:#ffffffc7;border:1px solid #d7d7e5e6;align-items:center;gap:10px;padding:12px 14px;display:flex}.okv2 .ok-home-panel-index{background:var(--color-brand-soft);width:28px;height:28px;color:var(--color-brand-deep);font-family:var(--font-mono);font-size:11px;font-weight:var(--fw-bold);border-radius:50%;place-items:center;display:grid}.okv2 .ok-home-empty-row{margin-top:auto}.okv2 .ok-home-panel-note{color:var(--ink-mute);margin:12px 0 0;font-size:12px;line-height:1.55}@media (max-width:1180px){.okv2 .ok-home-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.okv2 .ok-home-page-grid,.okv2 .ok-home-hero-grid,.okv2 .ok-home-welcome-grid{grid-template-columns:1fr}}@media (max-width:720px){.okv2 .ok-home-hero-shell,.okv2 .ok-home-welcome-shell{padding:24px 20px}.okv2 .ok-home-hero-title,.okv2 .ok-home-welcome-title{max-width:none;font-size:34px}.okv2 .ok-home-insight-grid,.okv2 .ok-home-focus-foot{grid-template-columns:1fr}}.okv2 .ok-courses-head{margin:0 0 28px}.okv2 .ok-courses-title{font-family:var(--font-display);font-size:30px;font-weight:var(--fw-extrabold);letter-spacing:-.02em;color:var(--ink);margin:0;line-height:1.15}.okv2 .ok-courses-wrap{flex-direction:column;gap:28px;display:flex}.okv2 .ok-lvl-hero{background:linear-gradient(178deg, var(--color-brand-soft) 0%, var(--card) 85%);border:1px solid var(--color-brand-soft);border-radius:var(--r-xl);cursor:pointer;text-align:left;width:100%;transition:transform var(--dur-fast) var(--ease-standard);padding:32px 36px;font-family:inherit;position:relative;overflow:hidden}.okv2 .ok-lvl-hero:hover{transform:translateY(-2px)}.okv2 .ok-lvl-hero[aria-busy=true]{opacity:.6;pointer-events:none}.okv2 .ok-lvl-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#8e7ee82e,#0000 65%);border-radius:50%;width:260px;height:260px;position:absolute;top:-80px;right:-80px}.okv2 .ok-lvl-hero-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex;position:relative}.okv2 .ok-lvl-hero-badge{background:var(--color-brand);color:var(--ink-0);border-radius:var(--r-full);font-size:10.5px;font-weight:var(--fw-bold);letter-spacing:.14em;text-transform:uppercase;align-items:center;padding:4px 12px;display:inline-flex}.okv2 .ok-lvl-hero-step{font-family:var(--font-mono);color:var(--ink-mute);letter-spacing:.1em;font-size:11.5px;font-weight:var(--fw-semibold)}.okv2 .ok-lvl-hero-name{font-family:var(--font-display);font-size:36px;font-weight:var(--fw-extrabold);letter-spacing:-.025em;color:var(--ink);margin:0;line-height:1.1;position:relative}.okv2 .ok-lvl-hero-name .jp{font-family:var(--font-jp);color:var(--color-brand-deep)}.okv2 .ok-lvl-hero-desc{color:var(--ink-soft);max-width:52ch;margin:10px 0 28px;font-size:14px;line-height:1.65;position:relative}.okv2 .ok-lvl-hero-prog{margin-bottom:26px;position:relative}.okv2 .ok-lvl-hero-prog-row{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.okv2 .ok-lvl-hero-prog-num{font-family:var(--font-display);font-size:28px;font-weight:var(--fw-extrabold);color:var(--ink);letter-spacing:-.015em;line-height:1}.okv2 .ok-lvl-hero-prog-num span{color:var(--ink-soft);font-size:16px;font-weight:var(--fw-semibold);margin-left:4px}.okv2 .ok-lvl-hero-prog-pct{font-family:var(--font-mono);color:var(--color-brand-deep);font-size:15px;font-weight:var(--fw-bold)}.okv2 .ok-lvl-hero .ok-progress{height:4px}.okv2 .ok-lvl-hero-cta-slot{--btn-h:46px;--btn-px:28px;--btn-fs:14.5px;position:relative}.okv2 .ok-lvl-section-label{font-size:12px;font-weight:var(--fw-bold);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 14px}.okv2 .ok-lvl-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.okv2 .ok-lvl-card{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);cursor:pointer;transition:all var(--dur-fast) var(--ease-standard);flex-direction:column;gap:6px;min-height:128px;padding:20px;font-family:inherit;display:flex}.okv2 .ok-lvl-card:hover{border-color:var(--line-strong);box-shadow:var(--sh-xs);transform:translateY(-1px)}.okv2 .ok-lvl-card[aria-busy=true]{opacity:.6;pointer-events:none}.okv2 .ok-lvl-card.is-done{background:var(--sand-surface);border-color:var(--line)}.okv2 .ok-lvl-card.is-done .ok-lvl-card-name{color:var(--ink-soft)}.okv2 .ok-lvl-card-name{font-family:var(--font-display);font-size:20px;font-weight:var(--fw-extrabold);letter-spacing:-.015em;color:var(--ink);margin:0;line-height:1.2}.okv2 .ok-lvl-card-name .jp{font-family:var(--font-jp);color:var(--ink-mute);font-size:14px;font-weight:var(--fw-semibold);letter-spacing:0;margin-left:4px}.okv2 .ok-lvl-card.is-done .ok-lvl-card-name .jp{color:var(--ink-mute)}.okv2 .ok-lvl-card-desc{color:var(--ink-mute);margin:0;font-size:12.5px;line-height:1.5}.okv2 .ok-lvl-card-meta{color:var(--ink-soft);font-size:12px;font-weight:var(--fw-semibold);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;display:flex}.okv2 .ok-lvl-card-meta b{color:var(--ink);font-family:var(--font-mono);font-weight:var(--fw-bold);letter-spacing:.02em}.okv2 .ok-lvl-card-state{align-items:center;gap:6px;display:inline-flex}.okv2 .ok-lvl-card-dot{background:var(--line-strong);border-radius:50%;width:6px;height:6px}.okv2 .ok-lvl-card.is-done .ok-lvl-card-dot{background:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-soft)}.okv2 .ok-lvl-hero.is-skeleton,.okv2 .ok-lvl-card.is-skeleton{pointer-events:none;cursor:default}.okv2 .ok-lvl-hero.is-skeleton:hover,.okv2 .ok-lvl-card.is-skeleton:hover{box-shadow:none;border-color:var(--line);transform:none}@media (max-width:900px){.okv2 .ok-lvl-grid{grid-template-columns:repeat(2,1fr)}.okv2 .ok-lvl-hero{padding:28px 24px}.okv2 .ok-lvl-hero-name{font-size:30px}}@media (max-width:600px){.okv2 .ok-lvl-grid{grid-template-columns:1fr}.okv2 .ok-lvl-hero-name{font-size:26px}.okv2 .ok-lvl-hero-desc{font-size:13.5px}}