.nn-tp-setup-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center}.nn-tp-setup-modal[hidden]{display:none}.nn-tp-setup-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(2px);animation:nn-tp-setup-fade-in .2s ease-out}.nn-tp-setup-panel{position:relative;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 64px);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 1px 2px rgba(0,0,0,.06),0 12px 32px rgba(0,0,0,.18);display:flex;flex-direction:column;overflow:hidden;animation:nn-tp-setup-rise 240ms cubic-bezier(.2,0,0,1)}@keyframes nn-tp-setup-fade-in{from{opacity:0}to{opacity:1}}@keyframes nn-tp-setup-rise{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.nn-tp-setup-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 0}.nn-tp-setup-eyebrow{margin:0;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.nn-tp-setup-pct{margin-left:6px;color:var(--text-muted);font-variant-numeric:tabular-nums}.nn-tp-setup-pct:empty{display:none}.nn-tp-setup-close{position:relative;width:28px;height:28px;flex-shrink:0;border-radius:999px;border:0;background:0 0;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition-property:background,color,transform;transition-duration:150ms;transition-timing-function:cubic-bezier(0.2,0,0,1)}.nn-tp-setup-close::before{content:"";position:absolute;inset:-6px}.nn-tp-setup-close:hover{background:var(--bg-elev);color:var(--text)}.nn-tp-setup-close:active{transform:scale(.96)}.nn-tp-setup-close svg{width:16px;height:16px}.nn-tp-setup-body{padding:16px 20px 8px;overflow-y:auto;min-height:200px}.nn-tp-setup-slide{display:flex;flex-direction:column;gap:10px;animation:nn-tp-setup-slide-in 220ms cubic-bezier(.2,0,0,1)}.nn-tp-setup-slide[hidden]{display:none}@keyframes nn-tp-setup-slide-in{from{opacity:0;transform:translateX(6px)}to{opacity:1;transform:translateX(0)}}.nn-tp-setup-slide-title{margin:0;display:flex;align-items:baseline;gap:8px;font-size:var(--fs-lg);font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--text);text-wrap:balance}.nn-tp-setup-slide-step{font-variant-numeric:tabular-nums;color:var(--text-faint);font-weight:500;flex-shrink:0}.nn-tp-setup-slide-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--success-soft,rgba(0,122,71,.12));color:var(--success,#007a47);flex-shrink:0}.nn-tp-setup-slide-check svg{width:13px;height:13px}.nn-tp-setup-goals{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.nn-tp-setup-goal{display:flex;align-items:center;gap:10px}.nn-tp-setup-goal-mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:999px;border:1.5px dashed var(--border);color:transparent;transition-property:background-color,border-color,color;transition-duration:.2s;transition-timing-function:cubic-bezier(0.2,0,0,1)}.nn-tp-setup-goal-mark svg{width:13px;height:13px}.nn-tp-setup-goal.is-done .nn-tp-setup-goal-mark{border-style:solid;border-color:transparent;background:var(--success-soft,rgba(45,164,78,.1));color:var(--success,#2da44e)}.nn-tp-setup-goal-label{font-size:var(--fs-sm);color:var(--text)}.nn-tp-setup-goal-flag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--accent-warn-soft);color:var(--accent-warn);font-size:var(--fs-2xs);font-weight:600;vertical-align:middle}.nn-tp-setup-goal.is-done .nn-tp-setup-goal-flag{background:var(--bg-elev);color:var(--text-faint)}.nn-tp-setup-goal.is-done .nn-tp-setup-goal-label{color:var(--text-muted)}@media (prefers-reduced-motion:reduce){.nn-tp-setup-goal-mark{transition:none}}.nn-tp-setup-slide-body{margin:0;color:var(--text-muted);font-size:var(--fs-sm);line-height:1.5;text-wrap:pretty}.nn-tp-setup-video{position:relative;width:100%;aspect-ratio:16/9;margin-top:14px;border-radius:var(--radius-sm);overflow:hidden;background:#000}.nn-tp-setup-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.nn-tp-setup-slide-action{display:inline-flex;align-items:center;gap:10px;margin-top:6px;align-self:flex-start}.nn-tp-setup-review{margin-top:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.nn-tp-setup-review-btn:disabled{opacity:.5;cursor:not-allowed}.nn-tp-setup-review-hint{margin:0;font-size:var(--fs-xs);color:var(--text-faint);line-height:1.4}.nn-tp-setup-slide-cta{transition-property:background,color,border-color,transform;transition-duration:140ms;transition-timing-function:cubic-bezier(0.2,0,0,1)}.nn-tp-setup-slide-cta:active{transform:scale(.96)}.nn-tp-setup-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px 16px}.nn-tp-setup-nav-btn{min-width:72px;transition-property:background,color,border-color,transform;transition-duration:140ms;transition-timing-function:cubic-bezier(0.2,0,0,1)}.nn-tp-setup-nav-btn:active{transform:scale(.96)}.nn-tp-setup-nav-btn:disabled{opacity:.4;cursor:default;transform:none}.nn-tp-setup-progress{display:inline-flex;align-items:center;gap:8px;flex:1 1 auto;justify-content:center}.nn-tp-setup-dot{width:7px;height:7px;border-radius:50%;background:0 0;box-shadow:inset 0 0 0 1.5px var(--border);transition-property:background,box-shadow,transform;transition-duration:.2s;transition-timing-function:cubic-bezier(0.2,0,0,1)}.nn-tp-setup-dot.is-current{background:var(--text);box-shadow:inset 0 0 0 1.5px var(--text);transform:scale(1.15)}@media (max-width:480px){.nn-tp-setup-panel{width:calc(100vw - 16px);max-height:calc(100vh - 32px)}.nn-tp-setup-body{padding:12px 16px 6px;min-height:180px}.nn-tp-setup-header{padding:12px 16px 0}.nn-tp-setup-footer{padding:12px 16px 14px}.nn-tp-setup-nav-btn{min-width:64px}.nn-tp-setup-completion-count{display:none}.nn-tp-setup-completion-track{width:52px}}@media (prefers-reduced-motion:reduce){.nn-tp-setup-panel,.nn-tp-setup-slide{animation:none}.nn-tp-setup-close,.nn-tp-setup-dot,.nn-tp-setup-nav-btn{transition:none}}@supports (-webkit-mask:linear-gradient(black,black)){::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2;animation:nn-theme-reveal 680ms cubic-bezier(.85,0,.15,1) both}@keyframes nn-theme-reveal{from{clip-path:circle(0% at var(--nn-tx-x,50%) var(--nn-tx-y,50%))}to{clip-path:circle(150vmax at var(--nn-tx-x,50%) var(--nn-tx-y,50%))}}}@media (prefers-reduced-motion:reduce){::view-transition-new(root),::view-transition-old(root){animation:none!important}}.nn-tp-time{display:inline-flex;align-items:center;gap:2px;padding:4px 6px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--fs-base);font-variant-numeric:tabular-nums;color:var(--text);line-height:1;min-width:110px;transition-property:border-color,box-shadow,background;transition-duration:180ms;transition-timing-function:var(--ease-hover)}.nn-tp-time:hover{border-color:var(--accent)}.nn-tp-time:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft,rgba(0,114,255,.18))}.nn-tp-time-seg{appearance:none;background:0 0;border:1px solid transparent;border-radius:4px;padding:4px 6px;margin:0;color:inherit;font:inherit;font-variant-numeric:inherit;cursor:pointer;outline:0;transition-property:background,color,border-color,transform;transition-duration:120ms;transition-timing-function:var(--ease-hover);min-width:24px;text-align:center}.nn-tp-time-seg:hover{background:var(--bg-elev)}.nn-tp-time-seg:focus-visible{background:var(--accent-soft,rgba(0,114,255,.18));color:var(--accent);border-color:var(--accent)}.nn-tp-time-seg:active{transform:scale(.94)}.nn-tp-time-period{min-width:32px;margin-left:4px;font-weight:500}.nn-tp-time-sep{color:var(--text-faint);padding:0 2px;user-select:none}[data-theme=dark] .nn-tp-time:focus-within{box-shadow:0 0 0 3px var(--accent-soft,rgba(63,185,80,.25))}.nn-tp-time.is-disabled{opacity:.5;pointer-events:none}.nn-tp-topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:18px 36px;background:0 0;isolation:isolate}.nn-tp-topbar::after,.nn-tp-topbar::before{content:"";position:absolute;inset:0;pointer-events:none}.nn-tp-topbar::before{z-index:-1;backdrop-filter:url(#nn-tp-liquid-glass) blur(8px) saturate(1.6);-webkit-backdrop-filter:blur(8px) saturate(1.6);background:linear-gradient(to bottom,rgba(255,255,255,.92) 0,rgba(255,255,255,.85) 55%,rgba(255,255,255,.55) 85%,rgba(255,255,255,.15) 100%)}.nn-tp-topbar::after{z-index:-1;height:1px;bottom:auto;background:linear-gradient(to right,transparent 0,rgba(255,255,255,.85) 30%,rgba(255,255,255,.85) 70%,transparent 100%);opacity:.7}[data-theme=dark] .nn-tp-topbar::before{background:linear-gradient(to bottom,rgba(10,12,18,.92) 0,rgba(10,12,18,.85) 55%,rgba(10,12,18,.55) 85%,rgba(10,12,18,.15) 100%)}[data-theme=dark] .nn-tp-topbar::after{background:linear-gradient(to right,transparent 0,rgba(255,255,255,.18) 30%,rgba(255,255,255,.18) 70%,transparent 100%)}.nn-tp-topbar>.nn-tp-brand{justify-self:start}.nn-tp-topbar>.nn-tp-tabs{justify-self:center}.nn-tp-topbar>.nn-tp-topbar-right{justify-self:end}.nn-tp-brand{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-weight:600;letter-spacing:-.01em}.nn-tp-brand:hover{color:var(--text)}.nn-tp-brand-icon{width:28px;height:28px;border-radius:8px}.nn-tp-brand-text{font-family:var(--font-body);font-size:var(--fs-base);font-weight:600}.nn-tp-brand-divider{width:1px;height:20px;background:var(--border);margin:0 6px}.nn-tp-brand-suffix{font-size:var(--fs-sm);color:var(--text-muted);letter-spacing:.02em;text-transform:uppercase}.nn-tp-tabs{display:flex;gap:4px;padding:4px;background:var(--bg-elev);border-radius:999px;border:1px solid var(--border-soft);overflow-x:auto;scrollbar-width:none;justify-self:center}.nn-tp-tabs::-webkit-scrollbar{display:none}.nn-tp-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:0 0;border:0;border-radius:999px;color:var(--text-muted);font-size:var(--fs-base);font-weight:500;cursor:pointer;white-space:nowrap;transition-property:background,color,box-shadow;transition-duration:180ms;transition-timing-function:var(--ease-hover)}.nn-tp-tab:hover{color:var(--text)}.nn-tp-tab:active{transform:scale(.96)}.nn-tp-tab[hidden]{display:none}.nn-tp-tab.is-active{color:var(--text)}.nn-tp-tab-indicator{position:absolute;top:4px;bottom:4px;left:var(--x,0);width:var(--w,0);background:var(--card);border-radius:999px;box-shadow:var(--shadow-sm),0 0 0 1px var(--border);pointer-events:none;z-index:0;opacity:0}.nn-tp-tab-indicator.is-ready{opacity:1;transition-property:left,width;transition-duration:360ms;transition-timing-function:var(--ease-in-out)}.nn-tp-tab{position:relative;z-index:1}.nn-tp-tabs{position:relative}.nn-tp-tab-icon,.nn-tp-tab-icon svg{width:16px;height:16px;flex-shrink:0}.nn-tp-tab-icon{display:inline-grid;place-items:center}.nn-tp-topbar-right{display:inline-flex;align-items:center;gap:10px}.nn-tp-icon-btn{width:40px;height:40px;display:inline-grid;place-items:center;background:var(--card);border:1px solid var(--border);border-radius:50%;color:var(--text-muted);cursor:pointer;transition-property:color,border-color,background,transform;transition-duration:180ms;transition-timing-function:var(--ease-hover)}.nn-tp-icon-btn:hover{color:var(--text);border-color:var(--text-muted)}.nn-tp-icon-btn:active{transform:scale(.96)}.nn-tp-icon,.nn-tp-icon svg{width:18px;height:18px}.nn-tp-icon{display:inline-grid;place-items:center}.nn-tp-icon-moon{display:none}[data-theme=dark] .nn-tp-icon-sun{display:none}[data-theme=dark] .nn-tp-icon-moon{display:inline-grid}.nn-tp-avatar-btn{position:relative;width:40px;height:40px;padding:0;background:0 0;border:0;border-radius:50%;cursor:pointer;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--border);transition-property:transform,box-shadow;transition-duration:180ms,.7s;transition-timing-function:cubic-bezier(0.2,0,0,1),cubic-bezier(0.4,0,0.2,1)}.nn-tp-avatar-btn:hover{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}.nn-tp-avatar-btn:active{transform:scale(.96)}.nn-tp-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--bg-elev);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}[data-theme=dark] .nn-tp-avatar{box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}.nn-tp-avatar-fallback{position:absolute;inset:0;display:none;place-items:center;background:var(--text);color:var(--card);border-radius:50%;font-family:var(--font-header);font-weight:600;font-size:var(--fs-lg);pointer-events:none}.nn-tp-avatar-btn[data-no-avatar] .nn-tp-avatar{display:none}.nn-tp-avatar-btn[data-no-avatar] .nn-tp-avatar-fallback{display:grid}.nn-tp-avatar-btn[data-tutor-state=pending]{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent-warn,#b26a00)}.nn-tp-avatar-btn[data-tutor-state=paused]{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--danger,#b32d2e)}.nn-tp-avatar-btn[data-tutor-state=active]{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--success,#007a47)}.nn-tp-avatar-btn[data-tutor-state]:hover{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}.nn-tp-avatar-btn::after{content:"";position:absolute;top:-1px;right:-1px;width:8px;height:8px;border-radius:50%;background:var(--accent-warn,#b26a00);box-shadow:0 0 0 2px var(--bg);pointer-events:none;opacity:0;transform:scale(.4);transition:opacity .5s ease-out,transform .5s cubic-bezier(.34, 1.56, .64, 1)}.nn-tp-avatar-btn[data-has-notification="1"]::after{opacity:1;transform:scale(1)}.nn-tp-avatar-btn[data-has-notification="1"][data-tutor-state=paused]::after{background:var(--danger,#b32d2e)}@media (max-width:1100px){.nn-tp-tab span{display:none}.nn-tp-tab.is-active span{display:inline}.nn-tp-tab{padding:8px 10px}.nn-tp-tab.is-active{padding:8px 14px}}@media (max-width:560px){.nn-tp-tab.is-active span{display:none}.nn-tp-tab,.nn-tp-tab.is-active{padding:8px 10px}}@media (max-width:880px){.nn-tp-topbar{grid-template-columns:auto 1fr auto;grid-template-rows:auto;gap:12px;padding:14px 18px}.nn-tp-tabs{grid-column:2;grid-row:1}.nn-tp-main{padding:24px 16px 80px}.nn-tp-h1{font-size:32px}}@media (max-width:680px){.nn-tp-brand-divider,.nn-tp-brand-suffix{display:none}.nn-tp-brand-text{display:none}}