:root{--ink:#101010;--ink-mid:#3a3934;--ink-soft:#55544f;--ink-faint:#8b8a84;--paper:#fafaf8;--paper-warm:#f4f2ee;--card:#ffffff;--line:rgba(16,16,16,0.10);--line-soft:rgba(16,16,16,0.06);--green:#1a5632;--green-deep:#123f23;--green-tint:#eef3ee;--green-line:rgba(26,86,50,0.18);--green-on-dark:#a3c9ae;--amber:#b45309;--apple:#cf3a2c;--radius:12px;--ease:cubic-bezier(0.4,0,0.2,1);--font-body:var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:var(--font-newsreader),Georgia,serif;--font-mono:var(--font-plex-mono),ui-monospace,"SF Mono",Menlo,monospace}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);line-height:1.55;font-size:16px;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.12;letter-spacing:-.015em}a{color:inherit}.container{max-width:1120px;margin:0 auto;padding:0 24px}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(250,250,248,.8);backdrop-filter:blur(12px) saturate(1.6);-webkit-backdrop-filter:blur(12px) saturate(1.6);border-bottom:1px solid var(--line)}.nav-inner{display:flex;justify-content:space-between;height:64px}.logo,.nav-inner{align-items:center}.logo{display:inline-flex;gap:9px;font-family:var(--font-body);font-size:16px;font-weight:600;text-decoration:none;letter-spacing:-.02em;white-space:nowrap}.logo-word>span{color:var(--green-deep);font-weight:600}.logo-mark{flex-shrink:0;display:block}.logo-mark-body{fill:var(--apple)}.logo-mark-leaf{fill:var(--green)}.logo-mark-stem{stroke:var(--ink)}.logo-stacked{gap:10px}.logo-stacked .logo-word{display:flex;flex-direction:column;line-height:1.16;letter-spacing:-.015em}.nav-links{display:flex;align-items:center;gap:28px;list-style:none}.nav-links a{text-decoration:none;font-size:14px;font-weight:500;color:var(--ink-soft);transition:color .15s var(--ease)}.nav-links a:hover{color:var(--ink)}.btn{display:inline-block;font-family:var(--font-body);font-size:15px;font-weight:500;padding:12px 22px;border-radius:8px;border:none;cursor:pointer;text-decoration:none;transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease),transform .15s var(--ease)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover:not(:disabled){background:#000}.btn-green{background:var(--green);color:#fff}.btn-green:hover:not(:disabled){background:var(--green-deep)}.btn-outline{background:var(--card);color:var(--ink);border:1px solid rgba(16,16,16,.18)}.btn-outline:hover:not(:disabled){border-color:var(--ink)}.btn-lg{font-size:16px;padding:15px 30px}.btn-nav{padding:9px 18px;font-size:14px}.nav-links a.btn-green,.nav-links a.btn-green:hover{color:#fff}.hero{min-height:calc(100svh - 65px);display:flex;padding:96px 0;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 6 - 1px),var(--line-soft) calc(100% / 6 - 1px),var(--line-soft) calc(100% / 6))}.hero,.hero-grid{align-items:center}.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);grid-gap:72px;gap:72px}.hero-spec{position:relative}.spec-plan{position:absolute;inset:26px -8px -22px 16px;background:var(--card);border:1px solid var(--line);border-radius:6px;transform:rotate(-2.4deg);padding:26px 28px;box-shadow:0 28px 48px -36px rgba(16,16,16,.35)}.spec-plan-row{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);padding:9px 0;border-bottom:1px dashed var(--line)}.spec-ticket{position:relative;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:30px 32px 34px;box-shadow:0 32px 56px -36px rgba(16,16,16,.4)}.spec-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:18px}.spec-head b{color:var(--ink-soft);font-weight:500}.spec-q{font-size:15.5px;line-height:1.6;margin-bottom:12px}.spec-q b{font-weight:600}.spec-meta{font-family:var(--font-mono);font-size:12px;line-height:1.65;margin-bottom:4px}.spec-key{color:var(--green-deep)}.spec-why{color:var(--amber)}.spec-answer{border-bottom:1px dashed var(--line);height:27px}.spec-answer:last-child{margin-top:0}.spec-cap{margin-top:18px;text-align:center;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.eyebrow{font-size:12.5px;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:32px}.doc-head,.eyebrow{font-family:var(--font-mono);font-weight:500;text-transform:uppercase}.doc-head{display:flex;align-items:baseline;gap:18px;font-size:13px;letter-spacing:.1em;color:var(--ink);margin-bottom:44px}.doc-head:after{content:"";flex:1 1;border-top:1px solid var(--ink);opacity:.5}.doc-head span{color:var(--ink-faint);letter-spacing:.06em}.hero h1{font-size:clamp(40px,5.8vw,72px);font-weight:400;line-height:1.04;letter-spacing:-.02em;max-width:780px}.hero h1 strong{font-weight:600;color:var(--green)}.hero-sub{margin-top:26px;font-size:20px;color:var(--ink-mid);max-width:600px}.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:48px}.hero-micro{margin-top:20px;font-family:var(--font-mono);font-size:13px;color:var(--ink-soft)}.hero-free{margin-top:22px;font-size:16px;color:var(--ink-mid)}.hero-free strong{color:var(--ink);font-weight:600}.hero .doc-head,.hero .hero-ctas,.hero .hero-free,.hero .hero-spec,.hero .hero-sub,.hero h1{animation:rise .4s var(--ease) both}.hero h1{animation-delay:60ms}.hero .hero-sub{animation-delay:.1s}.hero .hero-ctas{animation-delay:.14s}.hero .hero-free{animation-delay:.19s}.hero .hero-spec{animation-delay:.26s}@media (prefers-reduced-motion:reduce){.hero .doc-head,.hero .hero-ctas,.hero .hero-free,.hero .hero-spec,.hero .hero-sub,.hero h1{animation:none}}.index-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 56px;gap:0 56px;border-top:1px solid var(--ink)}.index-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--line-soft)}.index-name{font-family:var(--font-display);font-size:17.5px}.index-count{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;color:var(--ink-faint);white-space:nowrap}.sunday{border-top:1px solid var(--ink);margin-top:44px;max-width:860px}.sunday-row{display:grid;grid-template-columns:78px minmax(0,1fr);grid-gap:22px;gap:22px;padding:17px 0;border-bottom:1px solid var(--line);align-items:baseline}.sunday-time{font-family:var(--font-mono);font-size:13px;color:var(--ink-soft)}.sunday-what{font-family:var(--font-display);font-size:20px;line-height:1.35}.sunday-total{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding-top:26px}.sunday-total b{font-family:var(--font-display);font-size:clamp(44px,6.5vw,76px);font-weight:500;letter-spacing:-.02em;line-height:1}.sunday-total span{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);text-align:right}.toc{border-top:1px solid var(--ink)}.toc-row{display:grid;grid-template-columns:52px minmax(0,1fr);grid-gap:20px;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}.toc-num{font-family:var(--font-mono);font-size:13px;color:var(--green-deep);padding-top:9px}.toc-title{font-family:var(--font-display);font-size:clamp(23px,3vw,31px);font-weight:500;letter-spacing:-.015em;margin-bottom:8px}.toc-desc{font-size:16.5px;color:var(--ink-mid);max-width:640px;line-height:1.6}.swap{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:30px 32px;max-width:860px}.swap-block+.swap-block{margin-top:22px;padding-top:22px;border-top:1px dashed var(--line)}.swap-tag{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px}.swap-line{font-size:17.5px;line-height:1.65}.swap-label{font-family:var(--font-mono);font-size:.88em;font-weight:500;color:var(--green-deep);background:var(--green-tint);border:1px solid var(--green-line);border-radius:4px;padding:1px 7px;white-space:nowrap}.defs{margin-top:48px;border-top:1px solid var(--line);max-width:860px}.defs-row{display:grid;grid-template-columns:250px minmax(0,1fr);grid-gap:24px;gap:24px;padding:17px 0;border-bottom:1px solid var(--line-soft);align-items:baseline}.defs-term{font-size:16px;font-weight:600}.defs-desc{font-size:16px;color:var(--ink-mid);line-height:1.55}.colophon{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 32px;max-width:860px}.colophon p{font-size:16px;color:var(--ink-mid);line-height:1.6;padding:15px 0;border-bottom:1px dashed var(--line)}.colophon p:last-child{border-bottom:none}.colophon b{color:var(--ink);font-weight:600}.pull{font-family:var(--font-display);font-size:clamp(27px,3.8vw,42px);font-weight:400;line-height:1.28;letter-spacing:-.015em;max-width:840px;margin-bottom:30px}.statement h2{font-size:clamp(52px,9vw,110px);font-weight:400;letter-spacing:-.03em;max-width:none}.section{padding:96px 0}.section-warm{background:var(--paper-warm)}.kicker{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:16px}.section h2{font-size:clamp(30px,4vw,44px);font-weight:500;max-width:720px;margin-bottom:18px}.section-lead{font-size:19px;color:var(--ink-mid);max-width:660px;margin-bottom:48px}.center{text-align:center}.center .section-lead,.center h2{margin-left:auto;margin-right:auto}.fit-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.fit-card{border-radius:var(--radius);padding:34px}.fit-card.for{background:var(--green-tint);border:1px solid var(--green-line)}.fit-card.not{background:var(--card);border:1px solid var(--line)}.fit-card h3{font-size:22px;margin-bottom:18px}.fit-card p{font-size:16.5px;color:var(--ink-mid);line-height:1.6}.fit-card.for p{color:#234534}.fit-card ul{list-style:none}.fit-card li{padding:10px 0;font-size:16.5px;border-bottom:1px dashed var(--line)}.fit-card.for li{color:#234534}.fit-card.not li{color:var(--ink-mid)}.fit-card li:last-child{border-bottom:none}.fit-card li strong{color:var(--ink)}.fit-card.for li strong{color:var(--green-deep)}.story-fig{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px;max-width:780px;box-shadow:0 24px 44px -34px rgba(16,16,16,.35)}.story-fig img{width:100%;height:auto;display:block;border-radius:4px}.story-cap{margin-top:12px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.byline{display:flex;align-items:center;gap:20px;margin-top:48px;padding-top:30px;border-top:1px solid var(--line);max-width:720px}.byline-photo{width:112px;height:112px;border-radius:12px;border:1px solid var(--line);object-fit:cover;flex-shrink:0}.byline-name{font-family:var(--font-display);font-size:25px;margin-bottom:5px}.byline-role{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px}.pull-grid{display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:52px;gap:52px;align-items:center}.pull-fig{max-width:300px}.about-grid{display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:56px;gap:56px;align-items:start}.about-photo{width:100%;height:auto;display:block;border-radius:var(--radius);border:1px solid var(--line)}.about-body p{font-size:18px;color:var(--ink-mid);max-width:640px;margin-bottom:18px;line-height:1.65}.about-body p strong{color:var(--ink);font-weight:600}.about-sign{font-family:var(--font-display);font-size:24px;color:var(--ink);margin:28px 0 12px}.about-link{font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--green-deep);text-decoration:none;border-bottom:1px solid var(--green-line);transition:border-color .15s var(--ease)}.about-link:hover{border-color:var(--green-deep)}.footer{border-top:1px solid var(--line);padding:40px 0 32px;font-size:13.5px;color:var(--ink-faint)}.footer-grid{justify-content:space-between;align-items:flex-start}.footer-grid,.footer-links{display:flex;flex-wrap:wrap;gap:24px}.footer-links a{text-decoration:none;color:var(--ink-soft);transition:color .15s var(--ease)}.footer-links a:hover{color:var(--ink)}.footer-note{margin-top:28px;max-width:560px;line-height:1.55}.auth-body{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-panel{display:flex;flex-direction:column;justify-content:center;padding:48px clamp(32px,6vw,96px)}.auth-panel-inner{width:100%;max-width:440px;margin:0 auto}.auth-aside{background:var(--ink);color:#f2f1ed;display:flex;flex-direction:column;justify-content:center;padding:48px clamp(32px,5vw,80px)}.auth-aside-inner{width:100%;max-width:460px;margin:0 auto}.auth-logo{font-family:var(--font-body);font-size:17px;font-weight:600;letter-spacing:-.02em;text-decoration:none;margin-bottom:56px;display:inline-flex;align-items:center;gap:9px}.auth-logo .logo-word>span{color:var(--green-deep);font-weight:600}.auth-panel h1{font-size:clamp(28px,3vw,36px);margin-bottom:10px}.auth-sub{color:var(--ink-soft);font-size:16px;margin-bottom:36px}.sso-stack{flex-direction:column;margin-bottom:14px}.sso-btn,.sso-stack{display:flex;gap:12px}.sso-btn{align-items:center;justify-content:center;width:100%;padding:14px 20px;border-radius:8px;border:1px solid rgba(16,16,16,.16);background:var(--card);font-size:15px;font-weight:500;color:var(--ink);cursor:pointer;text-decoration:none;transition:border-color .15s var(--ease),transform .15s var(--ease)}.sso-btn:hover{border-color:rgba(16,16,16,.45);transform:translateY(-1px)}.sso-btn:active{transform:translateY(0)}.sso-logo{width:20px;height:20px;flex-shrink:0;display:block}.sso-hint{margin:0 0 26px;text-align:center;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.auth-divider{display:flex;align-items:center;gap:14px;color:var(--ink-faint);font-size:13px;margin-bottom:28px}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--line)}.field{margin-bottom:18px}.field label{display:block;font-size:14.5px;font-weight:600;letter-spacing:.01em;margin-bottom:8px;color:var(--ink)}.field input,.field select,.field textarea{width:100%;padding:13px 15px;font-size:16px;font-family:var(--font-body);border:1px solid rgba(16,16,16,.16);border-radius:8px;background:var(--card);color:var(--ink);outline:none;transition:border-color .15s var(--ease),box-shadow .15s var(--ease),background .15s var(--ease)}.field input:hover,.field select:hover,.field textarea:hover{border-color:rgba(16,16,16,.32)}.field input::placeholder,.field textarea::placeholder{color:var(--ink-faint)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(26,86,50,.14)}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center}.field textarea{resize:vertical;min-height:84px;line-height:1.55}.field input,.field textarea,.std-filter{cursor:text}button:not(:disabled),select:not(:disabled){cursor:pointer}fieldset:disabled input,fieldset:disabled select,fieldset:disabled textarea{cursor:default}[role=button]:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid rgba(26,86,50,.55);outline-offset:2px}input:focus-visible,textarea:focus-visible{outline:none}.field-hint{margin-top:8px;font-size:14px;color:var(--ink-soft);line-height:1.5}.auth-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:24px}.auth-row a{color:var(--green-deep);font-weight:600;text-decoration:none}.auth-row a:hover{text-decoration:underline}.auth-btn{width:100%}.auth-switch{margin-top:28px;font-size:14.5px;color:var(--ink-soft);text-align:center}.auth-switch a{color:var(--green-deep);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-privacy{margin-top:40px;padding:16px 20px;background:var(--green-tint);border-radius:10px;font-size:13.5px;color:#234534;line-height:1.55}.auth-error{margin-bottom:20px;padding:14px 18px;background:#fbeeec;border:1px solid #ecc9c4;border-radius:10px;font-size:14px;color:#8a2f28}.field .code-input{font-family:var(--font-mono);font-size:24px;font-weight:600;letter-spacing:.45em;text-indent:.45em;text-align:center}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-resend{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--green-deep)}.auth-resend:hover{text-decoration:underline}.auth-resend:disabled{opacity:.55;cursor:not-allowed}.signin-phase{transition:opacity .16s var(--ease),transform .16s var(--ease)}.signin-phase.swap{opacity:0;transform:translateY(6px)}@media (prefers-reduced-motion:reduce){.signin-phase{transition:none}.signin-phase.swap{transform:none}}.pane-title{font-family:var(--font-display);font-size:30px;font-weight:500;text-align:center;margin-bottom:10px}.pane-copy{font-size:16px;color:var(--ink-soft);line-height:1.65;margin-bottom:22px;word-break:break-word}.inbox-pane,.pane-copy{text-align:center}.inbox-icon{width:60px;height:60px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--green-deep)}.inbox-email,.inbox-icon{background:var(--green-tint)}.inbox-email{display:inline-block;margin:8px 0;padding:5px 14px;border-radius:7px;font-size:16.5px;color:var(--ink);word-break:break-all}.inbox-steps{list-style:none;margin:0 0 22px;padding:18px 22px;background:var(--card);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:13px;text-align:left;counter-reset:inbox-step}.inbox-steps li{counter-increment:inbox-step;display:flex;align-items:baseline;gap:12px;font-size:16px;line-height:1.5;color:var(--ink)}.inbox-steps li:before{content:counter(inbox-step);flex-shrink:0;width:24px;height:24px;align-self:center;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--green-deep);color:#fff;font-size:13px;font-weight:600}.inbox-spam{margin-top:18px;padding:15px 18px;background:#fbf3e2;border:1px solid #ecd9ae;border-radius:10px;font-size:15px;line-height:1.55;color:#6b4e12;text-align:left}.inbox-resend{margin-top:20px;font-size:15px;color:var(--ink-soft);text-align:center}.auth-aside-eyebrow{display:flex;align-items:center;gap:16px;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(242,241,237,.45);margin-bottom:28px}.auth-aside-eyebrow:after{content:"";flex:1 1;border-top:1px solid rgba(242,241,237,.2)}.auth-aside-title{font-family:var(--font-display);font-size:clamp(26px,2.4vw,34px);line-height:1.3;letter-spacing:-.01em;color:#f2f1ed;margin-bottom:40px}.auth-aside-title span{color:var(--green-on-dark)}.auth-spec{max-width:420px;margin-bottom:40px}.auth-spec .spec-plan{inset:20px -6px -18px 14px;padding:22px 26px}.auth-spec .spec-ticket{padding:24px 28px 28px;color:var(--ink)}.auth-spec .spec-head{padding-bottom:10px;margin-bottom:14px}.auth-spec .spec-q{font-size:14px}.auth-spec .spec-cap{color:rgba(242,241,237,.45)}.auth-defs{border-top:1px solid rgba(242,241,237,.16)}.auth-def{padding:13px 0;border-bottom:1px solid rgba(242,241,237,.16);font-size:15px;line-height:1.55;color:rgba(242,241,237,.62)}.auth-def strong{color:#f2f1ed;font-weight:600}.auth-aside-inner>*,.auth-panel-inner>*{animation:rise .4s var(--ease) backwards}.auth-panel-inner>:nth-child(2){animation-delay:60ms}.auth-panel-inner>:nth-child(3){animation-delay:.1s}.auth-panel-inner>:nth-child(4){animation-delay:.14s}.auth-panel-inner>:nth-child(5){animation-delay:.18s}.auth-panel-inner>:nth-child(6){animation-delay:.22s}.auth-panel-inner>:nth-child(7){animation-delay:.26s}.auth-aside-inner>:first-child{animation-delay:.12s}.auth-aside-inner>:nth-child(2){animation-delay:.18s}.auth-aside-inner>:nth-child(3){animation-delay:.26s}.auth-aside-inner>:nth-child(4){animation-delay:.34s}@media (prefers-reduced-motion:reduce){.auth-aside-inner>*,.auth-panel-inner>*{animation:none}}.app-shell{min-height:100vh}.app-nav{position:fixed;left:0;top:0;bottom:0;width:240px;z-index:40;border-right:1px solid var(--line);background:var(--paper-warm);padding:22px 16px 18px}.app-nav-inner{display:flex;flex-direction:column;height:100%;gap:4px}.app-nav-logo{padding:2px 10px 6px;font-size:15px}.app-nav-context{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);padding:0 10px 14px}.app-nav-new{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin:2px 0 18px;padding:11px 16px;background:var(--ink);color:#fff;border-radius:10px;font-size:14.5px;font-weight:600;letter-spacing:-.01em;text-decoration:none;transition:background .15s var(--ease),transform .15s var(--ease)}.app-nav-new:hover{background:#000}.app-nav-new:active{transform:translateY(1px)}.app-nav-new-plus{width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.16);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s var(--ease)}.app-nav-new:hover .app-nav-new-plus{background:rgba(255,255,255,.26)}.app-nav-links{display:flex;flex-direction:column;gap:2px}.app-nav-link{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:15px;font-weight:500;color:var(--ink-soft);padding:10px 12px;border-radius:8px;transition:background .15s var(--ease),color .15s var(--ease)}.app-nav-ico{width:17px;height:17px;flex-shrink:0;color:var(--ink-faint);transition:color .15s var(--ease)}.app-nav-link:hover{color:var(--ink);background:var(--card)}.app-nav-link:hover .app-nav-ico{color:var(--ink-soft)}.app-nav-link.active{color:var(--ink);background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}.app-nav-link.active .app-nav-ico{color:var(--green-deep)}.app-nav-spacer{flex:1 1}.app-nav-foot{gap:14px;padding:0 4px}.app-nav-foot,.app-nav-membership{display:flex;flex-direction:column}.app-nav-membership{gap:2px;text-decoration:none;font-size:14px;font-weight:600;color:var(--ink-soft);padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:8px}a.app-nav-membership:hover{border-color:var(--ink);color:var(--ink)}a.app-nav-membership{border-left:3px solid var(--green)}.app-nav-membership span{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--green-deep)}.app-nav-account{display:flex;align-items:center;gap:9px;padding:6px 6px 6px 8px;background:var(--card);border:1px solid var(--line);border-radius:10px}.app-nav-account form{display:flex;margin-left:auto}.app-nav-signout{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:7px;cursor:pointer;color:var(--ink-faint);transition:color .15s var(--ease),background .15s var(--ease)}.app-nav-signout:hover{color:var(--ink);background:var(--paper-warm)}.account-avatar{width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.account-email{flex:1 1;min-width:0;font-size:13.5px;font-weight:500;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.usage-pill{background:var(--green-tint);color:var(--green-deep);font-size:14px;font-weight:600;padding:6px 14px;border-radius:100px}.usage-pill.limit{background:#fbeeec;color:#8a2f28}.app-main{padding:48px 48px 96px;margin-left:240px}.app-head{margin-bottom:32px}.app-head h1{font-size:clamp(28px,3.2vw,40px);margin-bottom:8px}.app-head p{color:var(--ink-soft);font-size:16.5px;max-width:680px}.container-wide{max-width:1440px}.generator-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);grid-gap:28px;gap:28px;align-items:start}.generator-grid.collapsed{grid-template-columns:64px minmax(0,1fr)}.gen-form{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 1px 2px rgba(20,24,31,.04),0 12px 32px rgba(20,24,31,.05);position:-webkit-sticky;position:sticky;top:88px;max-height:calc(100vh - 112px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.gen-form-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.gen-form-head h2{font-size:20px}.gen-collapse{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink-faint);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.gen-collapse:hover{background:var(--paper-warm);color:var(--ink);border-color:#d8d2c4}.gen-collapse:focus-visible{outline:2px solid var(--green);outline-offset:2px}.gen-collapse svg{width:15px;height:15px}.gen-rail{position:-webkit-sticky;position:sticky;top:88px;display:flex;flex-direction:column;align-items:center;gap:16px;min-height:260px;padding:16px 0 24px;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 2px rgba(20,24,31,.04),0 12px 32px rgba(20,24,31,.05);cursor:pointer;font-family:var(--font-body);transition:border-color .15s ease,box-shadow .15s ease}.gen-rail:hover{border-color:#cfc7b6;box-shadow:0 1px 2px rgba(20,24,31,.05),0 16px 36px rgba(20,24,31,.08)}.gen-rail:focus-visible{outline:2px solid var(--green);outline-offset:2px}.gen-rail-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink-faint)}.gen-rail-icon svg{width:15px;height:15px}.gen-rail-label{writing-mode:vertical-rl;font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:.01em;color:var(--ink-soft)}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.gen-output{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:32px;min-height:480px;scroll-margin-top:84px;box-shadow:0 1px 2px rgba(20,24,31,.04),0 12px 32px rgba(20,24,31,.05)}.gen-output-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:420px;text-align:center;color:var(--ink-soft);gap:14px;font-size:16.5px;padding:0 24px}.gen-output-empty .big{font-family:var(--font-display);font-size:26px;color:var(--ink)}.gen-toolbar{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.vanish-confirm{display:inline-flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;background:#fdf3ef;border:1px solid #eccfc4;border-radius:12px}.vanish-confirm-text{font-size:14px;font-weight:600;color:#8a2f28}.vanish-no,.vanish-yes{font-family:var(--font-body);font-size:14px;font-weight:600;padding:7px 14px;border-radius:9px;cursor:pointer;transition:background .15s ease,color .15s ease}.vanish-yes{background:#8a2f28;color:#fff;border:none}.vanish-yes:hover{background:#6f251f}.vanish-no{background:transparent;color:var(--ink-soft);border:1px solid var(--line)}.vanish-no:hover{border-color:var(--ink-faint);color:var(--ink)}.generator-grid.chat-open{grid-template-columns:64px minmax(0,1fr) minmax(340px,400px);gap:20px}.chat-fab{position:fixed;right:26px;bottom:26px;z-index:60;display:inline-flex;align-items:center;gap:10px;padding:13px 20px 13px 16px;font-family:var(--font-body);font-size:15.5px;font-weight:600;color:#fff;background:var(--green);border:none;border-radius:100px;cursor:pointer;box-shadow:0 2px 6px rgba(18,63,35,.3),0 14px 32px rgba(18,63,35,.28);transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.chat-fab:hover{background:var(--green-deep);transform:translateY(-2px);box-shadow:0 4px 10px rgba(18,63,35,.32),0 18px 40px rgba(18,63,35,.3)}.chat-fab:focus-visible{outline:2px solid var(--green-deep);outline-offset:3px}.chat-fab svg{width:21px;height:21px}.chat-panel{position:-webkit-sticky;position:sticky;top:88px;height:calc(100vh - 112px);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 2px rgba(20,24,31,.04),0 12px 32px rgba(20,24,31,.05);overflow:hidden}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--paper)}.chat-head-text h2{font-size:19px}.chat-head-text p{font-size:13px;color:var(--ink-faint);margin-top:2px}.chat-body{position:relative;min-height:0}.chat-body,.chat-scroll{flex:1 1;display:flex;flex-direction:column}.chat-scroll{overflow-y:auto;padding:18px 16px;gap:12px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.chat-jump{position:absolute;bottom:14px;left:50%;z-index:5;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--card);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;box-shadow:0 2px 8px rgba(20,24,31,.1),0 10px 24px rgba(20,24,31,.1);opacity:0;pointer-events:none;transform:translateX(-50%) translateY(8px) scale(.92);transition:opacity .18s ease,transform .18s ease,color .15s ease,border-color .15s ease}.chat-jump[data-visible=true]{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0) scale(1)}.chat-jump:hover{color:var(--green-deep);border-color:var(--green)}.chat-jump svg{width:16px;height:16px}.chat-intro{background:var(--paper-warm);border:1px solid var(--line);border-radius:12px;padding:16px 18px;color:var(--ink-soft);line-height:1.6;gap:10px}.chat-intro,.chat-msg{font-size:14.5px;display:flex;flex-direction:column}.chat-msg{max-width:92%;padding:11px 14px;border-radius:14px;line-height:1.55;gap:8px;white-space:pre-wrap;overflow-wrap:break-word}.chat-msg.assistant{align-self:flex-start;background:var(--paper-warm);border:1px solid var(--line);border-bottom-left-radius:4px;color:var(--ink-soft)}.chat-msg.user{align-self:flex-end;background:var(--ink);color:#fff;border-bottom-right-radius:4px}.chat-chips{display:flex;flex-wrap:wrap;gap:8px}.chat-chip{font-family:var(--font-body);font-size:13px;font-weight:500;padding:7px 13px;border-radius:100px;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);cursor:pointer;text-align:left;transition:border-color .15s ease,color .15s ease,background .15s ease}.chat-chip:hover{border-color:var(--green);color:var(--green-deep);background:var(--green-tint)}.streaming-cursor:after{content:"";display:inline-block;width:2px;height:1em;background:var(--green);margin-left:2px;vertical-align:-.18em;animation:chat-caret-pulse 1.2s ease-in-out infinite}@keyframes chat-caret-pulse{0%,to{opacity:1}50%{opacity:0}}@keyframes sd-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sd-blurIn{0%{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur(0)}}@keyframes sd-slideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.chat-md [data-sd-animate]{animation:var(--sd-animation,sd-fadeIn) var(--sd-duration,.16s) var(--sd-easing,ease-out) both;animation-delay:var(--sd-delay,0s)}@media (prefers-reduced-motion:reduce){.chat-md [data-sd-animate],.streaming-cursor:after{animation:none}}.chat-md{display:flex;flex-direction:column;gap:8px}.chat-md p{margin:0}.chat-md ol,.chat-md ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}.chat-md li::marker{color:var(--green)}.chat-md strong{color:var(--ink);font-weight:650}.chat-md a{color:var(--green-deep);text-decoration:underline;text-underline-offset:2px}.chat-md code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.86em;background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:1px 5px}.chat-md h1,.chat-md h2,.chat-md h3,.chat-md h4{font-size:15px;margin:4px 0 0}.chat-updated{display:flex;align-items:center;gap:6px;margin-top:2px;padding-top:8px;border-top:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--green-deep)}.chat-updated svg{width:11px;height:11px;flex-shrink:0}.chat-thinking{color:var(--ink-faint);font-size:14px}.chat-dots span{animation:chat-dot 1.2s infinite;display:inline-block}.chat-dots span:nth-child(2){animation-delay:.2s}.chat-dots span:nth-child(3){animation-delay:.4s}@keyframes chat-dot{0%,60%,to{opacity:.25}30%{opacity:1}}.chat-composer{display:flex;align-items:flex-end;gap:10px;padding:12px 14px;border-top:1px solid var(--line);background:var(--paper)}.chat-composer textarea{flex:1 1;resize:none;font-family:var(--font-body);font-size:14.5px;line-height:1.5;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);max-height:140px}.chat-composer textarea:focus{outline:2px solid var(--green);outline-offset:1px;border-color:transparent}.chat-composer textarea:disabled{background:var(--paper-warm);color:var(--ink-faint);cursor:not-allowed}.chat-send{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;border:none;background:var(--green);color:#fff;cursor:pointer;transition:background .15s ease,transform .15s ease}.chat-send:hover:not(:disabled){background:var(--green-deep);transform:translateY(-1px)}.chat-send:disabled{background:var(--line);color:var(--ink-faint);cursor:not-allowed}.chat-send.stop{background:var(--ink)}.chat-send.stop:hover{background:#000}.chat-send svg{width:16px;height:16px}.chat-foot{padding:9px 16px 12px;font-size:12.5px;color:var(--ink-faint);text-align:center;background:var(--paper)}.chat-undo{font-family:var(--font-body);font-size:12.5px;font-weight:600;color:var(--green-deep);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.chat-undo:hover{color:var(--ink)}.plan-sec{position:relative;border-radius:10px}.plan-sec.updated{animation:plan-sec-flash 5s ease-out}@keyframes plan-sec-flash{0%{background:var(--green-tint);box-shadow:0 0 0 6px var(--green-tint)}to{background:transparent;box-shadow:0 0 0 6px transparent}}@media (prefers-reduced-motion:reduce){.plan-sec.updated{animation:none}}.plan-sec-tag{position:absolute;top:2px;right:0;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--green-deep);background:var(--green-tint);border:1px solid var(--green);border-radius:100px;padding:2px 9px}.chat-updating{display:flex;align-items:center;gap:9px;margin-bottom:14px;font-size:13.5px;font-weight:600;color:var(--green-deep)}.gen-plan h1,.gen-plan h2,.gen-plan h3{line-height:1.3}.gen-plan h1{font-size:30px;margin:4px 0 16px;line-height:1.22}.gen-plan h2{font-size:23px;color:var(--green-deep);margin:40px 0 14px;padding-bottom:10px;border-bottom:2px solid var(--green-tint)}.gen-plan h2:first-of-type{margin-top:28px}.gen-plan h3{font-size:18px;margin:20px 0 8px}.gen-plan p{margin:0 0 14px}.gen-plan li,.gen-plan p{font-size:16.5px;color:var(--ink-soft);line-height:1.7}.gen-plan ol,.gen-plan ul{padding-left:24px;margin:8px 0 18px}.gen-plan li{margin-bottom:8px}.gen-plan li::marker{color:var(--green);font-weight:600}.gen-plan li>ol,.gen-plan li>ul{margin:8px 0 4px}.gen-plan strong{color:var(--ink);font-weight:700}.gen-plan em{color:var(--ink-faint)}.gen-plan blockquote{margin:16px 0;padding:4px 0 4px 18px;border-left:3px solid var(--green-tint);color:var(--ink-soft);font-style:italic}.gen-plan hr{border:none;border-top:1px solid var(--line);margin:28px 0}.gen-caret{display:inline-block;width:11px;height:1.05em;margin-left:3px;vertical-align:text-bottom;background:var(--green);border-radius:2px;animation:gen-caret-pulse 1.1s ease-in-out infinite}@keyframes gen-caret-pulse{0%,to{opacity:1}50%{opacity:.2}}.gen-waiting{display:flex;flex-direction:column;gap:26px}.gen-waiting-head{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--green-tint);border:1px solid var(--green-line);border-radius:12px}.gen-waiting-head .gen-streaming-dot{margin-top:7px}.gen-waiting-text{flex:1 1;min-width:0}.gen-waiting-title{font-size:16px;font-weight:700;color:var(--green-deep)}.gen-elapsed{font-weight:600;color:var(--ink-faint)}.gen-waiting-sub{font-size:14.5px;color:var(--ink-soft);margin-top:2px}.gen-waiting-head .gen-stop{margin-top:2px}.gen-skeleton{display:flex;flex-direction:column;gap:14px;padding:6px 4px}.sk{display:block;width:100%;height:13px;border-radius:6px;background:linear-gradient(90deg,var(--paper-warm) 25%,#f8f5ee 50%,var(--paper-warm) 75%);background-size:200% 100%;animation:sk-sweep 1.6s ease-in-out infinite}.sk-title{height:26px;width:52%;border-radius:8px;margin-bottom:8px}.sk-head{height:18px;width:28%;border-radius:7px;margin-top:16px}.w-55{width:55%}.w-60{width:60%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-85{width:85%}.w-90{width:90%}@keyframes sk-sweep{0%{background-position:180% 0}to{background-position:-80% 0}}.gen-stage{font-size:16.5px;font-weight:600;color:var(--ink)}.gen-stage-sub{font-size:15px;color:var(--ink-soft);max-width:340px}.gen-streaming-bar{position:-webkit-sticky;position:sticky;top:80px;z-index:6;display:flex;align-items:center;gap:14px;margin-bottom:20px;padding:11px 16px;background:var(--green-tint);border:1px solid var(--green-line);border-radius:12px;box-shadow:0 6px 18px rgba(20,24,31,.06)}.gen-streaming-label{flex:1 1;min-width:0;font-size:15px;font-weight:700;color:var(--green-deep)}.gen-phases{display:flex;align-items:center;gap:6px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.gen-phase{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;letter-spacing:.01em;padding:4px 10px;border-radius:100px;color:var(--ink-faint);background:rgba(255,255,255,.55);border:1px solid transparent;transition:color .2s ease,background .2s ease,border-color .2s ease}.gen-phase svg{width:11px;height:11px}.gen-phase.done{border-color:var(--green-line)}.gen-phase.active,.gen-phase.done{color:var(--green-deep);background:#fff}.gen-phase.active{border-color:#b9d6c4;animation:gen-phase-pulse 1.6s ease-in-out infinite}@keyframes gen-phase-pulse{0%,to{box-shadow:0 0 0 0 rgba(26,86,50,.18)}50%{box-shadow:0 0 0 4px rgba(26,86,50,.07)}}.gen-streaming-dot{width:9px;height:9px;border-radius:50%;background:var(--green);flex-shrink:0;animation:gen-dot-pulse 1.2s ease-in-out infinite}@keyframes gen-dot-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.55}}.gen-stop{margin-left:auto;background:none;border:1.5px solid var(--green-deep);color:var(--green-deep);font-family:var(--font-body);font-size:14px;font-weight:700;padding:6px 16px;border-radius:100px;cursor:pointer;flex-shrink:0}.gen-streaming-bar .gen-stop{margin-left:0}.gen-stop:hover{background:rgba(255,255,255,.6)}.gen-stop:focus-visible{outline:2px solid var(--green-deep);outline-offset:2px}.gen-jump{position:-webkit-sticky;position:sticky;bottom:20px;z-index:6;display:flex;justify-content:center;margin-top:18px;pointer-events:none}.gen-jump-btn{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:14px;font-weight:700;color:#fff;background:var(--ink);border:none;border-radius:100px;padding:10px 18px;cursor:pointer;box-shadow:0 8px 24px rgba(20,24,31,.25);transition:transform .15s ease,background .15s ease}.gen-jump-btn:hover{background:#000;transform:translateY(-1px)}.gen-jump-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.gen-jump-btn svg{width:14px;height:14px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gen-caret,.gen-phase.active,.gen-streaming-dot,.sk,.spinner{animation:none}}.gen-error-note{margin:0 0 14px;background:#faf1ef;border:1px solid #eccfcb;font-size:15px;color:#8a2f28}.gen-error-note,.name-map{padding:12px 16px;border-radius:10px;line-height:1.55}.name-map{margin-top:8px;background:var(--green-tint);font-size:13.5px;color:#234534}.name-map strong{color:var(--green-deep)}.vanish-note{margin-top:24px;padding:15px 18px;background:var(--green-tint);border-radius:10px;font-size:14.5px;color:#234534;line-height:1.6}.spinner{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.dash-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px}.dash-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 1px 2px rgba(20,24,31,.04)}.dash-card h3{font-size:20px;margin-bottom:10px}.dash-card p{font-size:15.5px;color:var(--ink-soft);margin-bottom:18px;line-height:1.6}.dash-card.highlight{background:var(--green-tint);border-color:var(--green-line)}.dash-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.dash-top .eyebrow{margin-bottom:10px}.dash-top h1{font-size:clamp(32px,4vw,46px)}.resume-card{display:flex;flex-direction:column;gap:6px;padding:26px 30px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:var(--radius);text-decoration:none;margin-bottom:40px;transition:border-color .15s var(--ease),background .15s var(--ease)}.resume-card:hover{border-color:var(--green-line);background:var(--paper-warm)}.resume-card.as-div{cursor:default}.resume-card.as-div:hover{background:var(--card);border-color:var(--line);border-left-color:var(--green)}.resume-label{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.resume-title{font-family:var(--font-display);font-size:24px;font-weight:500}.resume-meta{font-size:14px;color:var(--ink-soft)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:44px;gap:44px;align-items:start}.quickstart{margin-bottom:36px}.quickstart-label{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.course-chip{display:inline-block;font-family:var(--font-body);font-size:13.5px;font-weight:500;padding:8px 14px;border-radius:100px;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);text-decoration:none;cursor:pointer;transition:border-color .15s var(--ease),color .15s var(--ease),background .15s var(--ease)}.course-chip:hover{border-color:var(--ink);color:var(--ink)}button.course-chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.workspace-rail{display:flex;flex-direction:column;gap:18px}.rail-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.rail-card h3{font-size:17px;margin-bottom:10px}.rail-card .btn{margin-top:12px;font-size:13.5px;padding:9px 16px}.rail-note{font-size:14px;color:var(--ink-soft);line-height:1.55}.lib-toolbar{margin-bottom:8px}.lib-search{width:100%;padding:12px 16px;font-size:15px;font-family:var(--font-body);border:1px solid rgba(16,16,16,.16);border-radius:8px;background:var(--card);color:var(--ink);outline:none;margin-bottom:14px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.lib-search:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(26,86,50,.14)}.lib-search::placeholder{color:var(--ink-faint)}.course-note{margin-top:8px;font-family:var(--font-mono);font-size:12px;color:var(--green-deep)}.field-row.solo{grid-template-columns:1fr}.course-grade{margin-bottom:48px}.course-grade-label{margin-bottom:14px}.course-grade-label .eyebrow{margin-bottom:0}.course-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.course-table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:760px}.course-table th{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);text-align:left;padding:14px 18px;border-bottom:1px solid var(--line)}.course-table td.num,.course-table th.num{text-align:right}.course-table td{padding:16px 18px;vertical-align:top;border-bottom:1px solid var(--line-soft);color:var(--ink-soft)}.course-table tbody tr:last-child td{border-bottom:none}.course-table tbody tr{transition:background .15s var(--ease)}.course-table tbody tr:hover{background:var(--paper-warm)}.course-cell{min-width:260px;max-width:420px}.course-name{display:block;font-weight:600;font-size:15px;color:var(--ink);text-decoration:none;margin-bottom:3px}.course-name:hover{text-decoration:underline}.course-codes{font-family:var(--font-mono);font-size:11.5px;margin-bottom:6px}.course-codes,.course-covers{display:block;color:var(--ink-faint)}.course-covers{font-size:13px;line-height:1.5}.course-note-sm{display:block;margin-top:6px;font-size:12.5px;font-weight:500;color:var(--green-deep)}.course-doc{color:var(--ink);font-weight:500}.course-doc:hover{color:var(--green-deep)}.course-plans{font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}.course-plans:hover{text-decoration:underline}.course-plans.empty{color:var(--green-deep)}.course-foot{margin-top:8px;font-size:14px;color:var(--ink-faint);max-width:720px;line-height:1.6}.course-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:44px;gap:44px;align-items:start;margin-bottom:48px}.course-hero h1{font-size:clamp(30px,3.8vw,44px);margin-bottom:12px}.course-hero .eyebrow{margin-bottom:10px}.course-hero-covers{color:var(--ink-soft);font-size:16.5px;max-width:640px;margin-bottom:22px}.course-facts{display:grid;grid-template-columns:140px 1fr;grid-row-gap:8px;row-gap:8px;grid-column-gap:20px;column-gap:20px;font-size:14px;max-width:640px}.course-facts dt{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding-top:2px}.course-facts dd{margin:0;color:var(--ink-soft)}.course-facts dd a{color:var(--ink);font-weight:500}.course-facts dd a:hover{color:var(--green-deep)}.course-hero-side{display:flex;flex-direction:column;gap:24px;position:-webkit-sticky;position:sticky;top:96px}.course-coverage{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.course-standards{margin-top:48px;border-top:1px solid var(--line);padding-top:24px}.course-standards summary{cursor:pointer;font-weight:600;font-size:16px;list-style:none}.course-standards summary:after{content:"+";float:right;color:var(--ink-faint);font-weight:400}.course-standards[open] summary:after{content:"\2212"}.course-standards ul{list-style:none;margin-top:18px}.course-standards li{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:14px;color:var(--ink-soft)}.course-standards li:last-child{border-bottom:none}.course-standards li .plan-standard-chip{flex-shrink:0}.course-standards li.covered{color:var(--ink-faint)}.course-covered-tag{margin-left:auto;flex-shrink:0;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--green-deep)}.plan-library{margin-top:0}.builder{display:flex;flex-direction:column;gap:20px;max-width:1080px}.wz-stepper{position:-webkit-sticky;position:sticky;top:12px;z-index:40;justify-content:space-between;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 20px;box-shadow:0 8px 24px rgba(16,16,16,.06)}.wz-stepper,.wz-steps{display:flex;align-items:center}.wz-steps{gap:18px;list-style:none;margin:0;padding:0}.wz-step{display:flex;align-items:center;gap:7px}.wz-step-dot{width:22px;height:22px;border-radius:50%;border:1px solid rgba(16,16,16,.25);font-family:var(--font-mono);font-size:11px;line-height:20px;text-align:center;color:var(--ink-faint);flex-shrink:0}.wz-step-label{font-size:13.5px;font-weight:500;color:var(--ink-faint);white-space:nowrap}.wz-step.current .wz-step-dot{background:var(--ink);border-color:var(--ink);color:#fff}.wz-step.current .wz-step-label{color:var(--ink);font-weight:600}.wz-step.done .wz-step-dot{background:var(--green);border-color:var(--green);color:#fff}.wz-step.done .wz-step-label{color:var(--green-deep)}.wz-step.locked{opacity:.55}.wz-stepper-status{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wz-summary{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--green-line);border-radius:var(--radius);padding:16px 22px}.wz-check{width:24px;height:24px;border-radius:50%;background:var(--green);color:#fff;font-size:13px;line-height:24px;text-align:center;flex-shrink:0}.wz-summary-body{flex:1 1;min-width:0}.wz-summary-title{font-family:var(--font-display);font-size:17px;font-weight:600;margin-bottom:2px}.wz-summary-detail{font-size:13.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wz-current{border-color:rgba(16,16,16,.22)}.sec-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.seg-sm{padding:2px}.seg-sm .seg-btn{padding:4px 10px;font-size:13px}.seg-sm .seg-label{padding:0 8px 0 6px;font-size:10.5px}.sec-row-check{width:20px;height:20px;border-radius:50%;background:var(--green-tint);color:var(--green-deep);font-size:11px;line-height:20px;text-align:center;flex-shrink:0}.sec-full{padding-top:14px;margin-top:0;border-top:1px solid var(--line-soft);pointer-events:auto}.wz-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:32px}.wz-card.locked .wz-fields{opacity:.92}.wz-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.wz-card-head .eyebrow,.wz-card-head h2{margin-bottom:8px}.wz-card-head h2{font-size:clamp(24px,3vw,32px)}.wz-sub{color:var(--ink-soft);font-size:15.5px;max-width:560px}.wz-fields{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:20px}.wz-fields:disabled{pointer-events:none}.wz-fields:disabled .field input,.wz-fields:disabled .field select,.wz-fields:disabled .field textarea{background:var(--paper-warm)}.field-row-inner{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.label-hint{font-weight:400;font-size:13px}.label-hint,.wz-edit{color:var(--ink-faint)}.wz-edit{background:none;border:none;font-family:var(--font-body);font-size:13.5px;font-weight:500;cursor:pointer;padding:6px 0;flex-shrink:0}.wz-edit:hover{color:var(--ink)}.wz-start-row{margin-top:24px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.wz-limit{font-size:15px;color:var(--ink-soft)}.wz-limit a{color:var(--green-deep);font-weight:600}.std-filter{width:100%;padding:11px 14px;font-size:15px;font-family:var(--font-body);border:1px solid rgba(16,16,16,.16);border-radius:8px;background:var(--card);color:var(--ink);outline:none;margin-bottom:10px}.std-filter:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(26,86,50,.14)}.std-filter::placeholder{color:var(--ink-faint)}.std-check-list{border:1px solid var(--line);border-radius:10px;max-height:260px;overflow-y:auto;background:var(--card)}.std-check-row{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line-soft);padding:11px 14px;font-family:var(--font-body);font-size:14.5px;color:var(--ink-soft);cursor:pointer;line-height:1.45}.std-check-row:last-child{border-bottom:none}.std-check-row:hover:not(:disabled){background:var(--paper-warm)}.std-check-row.selected{background:var(--green-tint);color:var(--ink)}.std-check-row:disabled{opacity:.45;cursor:not-allowed}.std-check-box{width:18px;height:18px;flex-shrink:0;margin-top:2px;border:1px solid rgba(16,16,16,.3);border-radius:5px;font-size:12px;line-height:17px;text-align:center;color:var(--green-deep)}.std-check-row.selected .std-check-box{border-color:var(--green);background:var(--card)}.std-check-row .plan-standard-chip{flex-shrink:0;margin-top:1px}.std-check-text{flex:1 1}.std-check-empty{padding:16px;font-size:14px;color:var(--ink-faint)}.topic-chips{padding-top:10px}.seg{align-items:center;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.seg-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);padding:0 10px 0 8px}.seg-btn{background:none;font-size:14px;padding:6px 14px;border-radius:6px}.seg-btn.active{background:var(--ink);color:#fff}.wz-progress{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--line-soft)}.wz-progress li{font-family:var(--font-mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint)}.wz-progress li.done{color:var(--green-deep)}.wz-progress li.done:before{content:"\2713 "}.sec-list{display:flex;flex-direction:column;gap:18px}.sec-card{border:1px solid var(--line);border-radius:10px;padding:22px 24px;background:var(--card)}.sec-card.locked{opacity:.55}.sec-card.chosen{border-color:var(--green-line)}.sec-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.sec-card-head h3{font-size:20px;margin-bottom:3px}.sec-purpose,.sec-waiting{font-size:13.5px;color:var(--ink-faint)}.sec-busy{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--ink-soft)}.variant-grid{display:flex;gap:16px;margin-bottom:12px;align-items:stretch}.variant-card{flex:1 1;min-width:0;height:320px;border:1px solid var(--line);border-radius:10px;background:var(--paper);display:flex;flex-direction:column;overflow:hidden;cursor:pointer;text-align:left;transition:flex-grow .4s var(--ease),height .4s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease)}.variant-card:hover{border-color:rgba(26,86,50,.45)}.variant-card.open{flex-grow:2.3;height:560px;cursor:default;border-color:var(--green);box-shadow:0 0 0 3px rgba(26,86,50,.16),0 10px 26px rgba(16,16,16,.08)}.variant-head{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:none;border:none;border-bottom:1px solid var(--line-soft);padding:12px 16px 10px;font-family:var(--font-body);text-align:left;flex-shrink:0}.variant-card.open .variant-head{border-bottom-color:var(--line)}.variant-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.variant-chevron{width:9px;height:9px;border-right:1.5px solid var(--ink-faint);border-bottom:1.5px solid var(--ink-faint);transform:rotate(45deg);transition:transform .2s var(--ease);flex-shrink:0}.variant-head[aria-expanded=true] .variant-chevron{transform:rotate(-135deg)}.variant-body{padding:10px 16px 16px;flex:1 1;min-height:0;overflow-y:auto;scrollbar-width:thin;-webkit-mask-image:linear-gradient(180deg,black 86%,transparent 99%);mask-image:linear-gradient(180deg,black 86%,transparent 99%)}.variant-body,.variant-body.gen-plan li,.variant-body.gen-plan p{font-size:14.5px}.variant-body.sec-full{overflow:visible;-webkit-mask-image:none;mask-image:none;padding:14px 0 0;flex:none}.variant-hint{display:block;width:calc(100% - 32px);margin:0 16px 14px;padding:9px 0;text-align:center;font-size:13.5px;font-weight:500;font-family:var(--font-body);color:var(--ink-faint);background:none;border:1px dashed var(--line);border-radius:8px;flex-shrink:0;transition:color .15s var(--ease),border-color .15s var(--ease)}.variant-card:hover .variant-hint{color:var(--green-deep);border-color:rgba(26,86,50,.4)}.variant-actions{display:flex;gap:8px;margin:0 16px 14px;flex-shrink:0;animation:rise .15s var(--ease) both}.btn-sm{padding:9px 14px;font-size:13.5px}.variant-add{flex:1 1;min-width:0;height:320px;border:1.5px dashed rgba(16,16,16,.25);border-radius:10px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:32px 16px;transition:border-color .15s var(--ease),background .15s var(--ease)}.variant-add:hover:not(:disabled){border-color:var(--green);background:var(--green-tint)}.variant-add:disabled{opacity:.65}.variant-add-plus{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:400;color:var(--ink-soft)}.variant-add:hover:not(:disabled) .variant-add-plus{border-color:var(--green);color:var(--green-deep)}.variant-add-label{font-size:14.5px;font-weight:600;color:var(--ink)}.variant-add-sub{font-size:12.5px;color:var(--ink-faint)}.variant-add-form{display:flex;flex-direction:column;gap:8px;margin-top:12px;animation:rise .2s var(--ease) both}.variant-add-form-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.variant-add-form-title{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}.variant-add-form-row{display:flex;gap:10px}.variant-add-form-row input{flex:1 1;padding:12px 15px;font-size:15px;font-family:var(--font-body);border:1px solid rgba(16,16,16,.16);border-radius:8px;background:var(--card);color:var(--ink);outline:none;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.variant-add-form-row input::placeholder{color:var(--ink-faint)}.variant-add-form-row input:hover{border-color:rgba(16,16,16,.32)}.variant-add-form-row input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(26,86,50,.14)}.ticket-title{font-family:var(--font-display);font-size:19px;font-weight:600;margin-bottom:8px}.tk.tk-purpose{margin:0 0 10px}.tk-purpose .tk-toggle{color:var(--ink)}.tk-purpose .tk-body{border-color:rgba(16,16,16,.3)}.ticket-dir,.tk-purpose .tk-body{background:var(--paper-warm);color:var(--ink)}.ticket-dir{font-size:14px;border-radius:8px;padding:9px 12px;margin-bottom:8px}.ticket-dir-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-right:8px}.ticket-item{padding:12px 0 10px;border-bottom:1px solid var(--line-soft)}.ticket-item:last-child{border-bottom:none}.ticket-q{display:flex;gap:10px;align-items:flex-start}.ticket-num{width:24px;height:24px;flex-shrink:0;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--font-mono);font-size:12px;line-height:24px;text-align:center;margin-top:1px}.ticket-q-text{font-size:15px;line-height:1.6;color:var(--ink)}.ticket-q-text p{margin:0}.tk{margin:8px 0 2px 34px}.tk-toggle{display:flex;align-items:center;gap:7px;background:none;border:none;padding:3px 0;font-family:var(--font-mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;font-weight:600}.tk-key .tk-toggle{color:var(--green-deep)}.tk-why .tk-toggle{color:#7a5a1e}.tk-caret{width:7px;height:7px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg);transition:transform .15s var(--ease)}.tk-toggle[aria-expanded=false] .tk-caret{transform:rotate(-45deg)}.tk-body{font-size:14px;line-height:1.6;padding:10px 14px;border-left:2px solid;border-radius:0 8px 8px 0;margin:6px 0 4px}.tk-body p{margin:0}.tk-key .tk-body{background:var(--green-tint);border-color:var(--green);color:#1d3d28}.tk-why .tk-body{background:#f8f2e3;border-color:#cfa63f;color:#57410f}.wz-save{display:flex;align-items:center;gap:12px}.wz-done{margin-top:28px;padding-top:20px;border-top:1px solid var(--line-soft);font-size:14px;color:var(--ink-faint)}.wz-done a{color:var(--ink);font-weight:500}.wz-done a:hover{color:var(--green-deep)}.app-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.legend{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:15px 20px;margin-bottom:28px}.legend summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;border-radius:6px}.legend summary::-webkit-details-marker{display:none}.legend-badge{width:22px;height:22px;border-radius:50%;background:var(--green-tint);color:var(--green-deep);font-family:var(--font-mono);font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s var(--ease)}.legend summary:hover .legend-badge{background:var(--green-line)}.legend-label{font-weight:600;font-size:15px;color:var(--ink)}.legend-sub{font-size:13.5px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-chevron{width:13px;height:13px;margin-left:auto;flex-shrink:0;color:var(--ink-faint);transition:transform .2s var(--ease),color .15s var(--ease)}.legend summary:hover .legend-chevron{color:var(--ink)}.legend[open] .legend-chevron{transform:rotate(180deg)}.legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:18px 24px;gap:18px 24px;margin-top:16px;padding-top:18px;border-top:1px solid var(--line-soft)}.legend-term{display:block;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--green-deep);margin-bottom:6px}.legend-item p{font-size:14px;color:var(--ink-soft);line-height:1.55}.catalog-grade{margin-bottom:40px}.catalog-grade-head{display:flex;align-items:baseline;gap:16px;margin-bottom:12px}.catalog-grade-head h2{font-size:24px}.catalog-grade-slots{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--ink-faint)}.catalog-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.catalog-table{width:100%;border-collapse:collapse;font-size:15px;min-width:920px}.catalog-table th{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);text-align:left;padding:15px 22px;border-bottom:1px solid var(--line);background:var(--paper-warm)}.catalog-table td.num,.catalog-table th.num{text-align:right}.catalog-table td.center,.catalog-table th.center{text-align:center}.catalog-row td{padding:19px 22px;vertical-align:top;border-bottom:1px solid var(--line-soft);transition:background .15s var(--ease)}.catalog-table tbody tr:last-child td{border-bottom:none}.catalog-row:hover td{background:var(--paper-warm)}.catalog-cell{min-width:300px;max-width:480px}.catalog-name{display:inline-block;font-size:16.5px;font-weight:600;color:var(--ink);text-decoration:none;text-underline-offset:3px;transition:color .15s var(--ease)}.catalog-name:hover{color:var(--green-deep);text-decoration:underline}.catalog-codes{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint);margin:5px 0 8px}.catalog-covers{font-size:14.5px;color:var(--ink-soft);line-height:1.55}.catalog-note{margin-top:8px;font-size:13px;font-weight:500;color:var(--green-deep)}.catalog-prereq{font-size:14.5px;color:var(--ink-soft);max-width:180px;line-height:1.55}.catalog-credit{max-width:210px}.catalog-credit-label{font-weight:600;color:var(--ink);font-size:15px}.catalog-credit-explain{font-size:13.5px;color:var(--ink-soft);margin-top:4px;line-height:1.5}.catalog-standards-btn{display:inline-flex;align-items:baseline;gap:6px;background:var(--green-tint);border:1px solid var(--green-line);border-radius:100px;padding:7px 16px;font-family:var(--font-body);cursor:pointer;white-space:nowrap;transition:border-color .15s var(--ease),background .15s var(--ease)}.catalog-standards-count{font-size:14.5px;font-weight:700;color:var(--green-deep)}.catalog-standards-unit{font-size:13px;font-weight:500;color:var(--green-deep)}.catalog-standards-btn:hover{border-color:var(--green);background:#e6efe8}.catalog-plans-btn{display:inline-flex;align-items:center;gap:7px;background:none;border:none;padding:6px 2px;font-family:var(--font-body);font-size:14.5px;font-weight:600;color:var(--ink);cursor:pointer;white-space:nowrap;transition:color .15s var(--ease)}.catalog-plans-chevron{width:12px;height:12px;flex-shrink:0;color:var(--ink-faint);transition:transform .2s var(--ease),color .15s var(--ease)}.catalog-plans-btn.open,.catalog-plans-btn:hover,.catalog-plans-btn:hover .catalog-plans-chevron{color:var(--green-deep)}.catalog-plans-btn.open .catalog-plans-chevron{transform:rotate(180deg);color:var(--green-deep)}.mat-chip{font-family:var(--font-mono);font-size:11px;letter-spacing:.03em;padding:3px 9px;border:1px solid var(--green-line);border-radius:100px;color:var(--green-deep);white-space:nowrap}.catalog-row.open td{background:var(--paper-warm);border-bottom:none}.catalog-row.open td:first-child{box-shadow:inset 3px 0 0 var(--green)}.catalog-plan-new{font-family:var(--font-body);font-size:13.5px;font-weight:600;color:var(--green-deep);text-decoration:none}.catalog-plan-new:hover{text-decoration:underline}.catalog-detail-row td{padding:0;border-bottom:1px solid var(--line-soft)}.catalog-detail{margin:2px 20px 20px;padding:16px 20px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);animation:rise .22s var(--ease) both}.catalog-detail-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:10px}.catalog-detail-title{font-weight:600;font-size:14.5px;color:var(--ink)}.catalog-detail-new{font-size:13.5px;font-weight:600;color:var(--green-deep);text-decoration:none;white-space:nowrap}.catalog-detail-new:hover{text-decoration:underline}.dplan-table{display:flex;flex-direction:column}.dplan-head,.dplan-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto 26px;align-items:center;grid-gap:20px;gap:20px}.dplan-head{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);padding:4px 10px 9px;border-bottom:1px solid var(--line)}.dplan-head .dplan-col-date{text-align:right}.dplan-row{padding:11px 10px;margin-top:2px;border-radius:8px;text-decoration:none;cursor:pointer;transition:background .15s var(--ease)}.dplan-row.opening,.dplan-row:hover{background:var(--paper-warm)}.dplan-title{font-weight:600;font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s var(--ease)}.dplan-row:hover .dplan-title{color:var(--green-deep)}.dplan-col-mat{display:flex;align-items:center;gap:5px}.dplan-col-date{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint);text-align:right;white-space:nowrap}.dplan-go{display:flex;align-items:center;justify-content:flex-end}.dplan-go svg{width:12px;height:12px;color:var(--ink-faint);transition:color .15s var(--ease),transform .15s var(--ease)}.dplan-row:hover .dplan-go svg{color:var(--green-deep);transform:translateX(2px)}.catalog-detail-foot{display:flex;align-items:center;gap:18px;padding-top:12px;margin-top:2px;border-top:1px dashed var(--line)}.catalog-detail-link{background:none;border:none;padding:0;font-family:var(--font-body);font-size:13.5px;font-weight:500;color:var(--green-deep);cursor:pointer;text-decoration:none}.catalog-detail-link:hover{text-decoration:underline}.catalog-foot{margin-top:8px;font-size:14px;color:var(--ink-faint);max-width:760px;line-height:1.6}.legend summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}@media (prefers-reduced-motion:reduce){.catalog-detail{animation:none}.catalog-plans-chevron,.dplan-go svg,.dplan-title,.legend-chevron,.lib-go,.seg-btn,.teach-check{transition:none}}.app-head-split{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.app-head-split>div:first-child{min-width:0}.seg{gap:2px;padding:3px;background:var(--paper-warm);border:1px solid var(--line-soft);border-radius:100px;flex-shrink:0;margin-top:6px}.seg,.seg-btn{display:inline-flex}.seg-btn{align-items:center;gap:7px;border:none;background:transparent;padding:7px 15px;border-radius:100px;font-family:var(--font-body);font-size:13.5px;font-weight:500;color:var(--ink-soft);cursor:pointer;white-space:nowrap;transition:color .15s var(--ease),background .15s var(--ease),box-shadow .15s var(--ease)}.seg-btn.on,.seg-btn:hover{color:var(--ink)}.seg-btn.on{background:var(--card);box-shadow:0 1px 2px rgba(16,16,16,.07),inset 0 0 0 1px var(--line)}.seg-count{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--green-deep);background:var(--green-tint);border-radius:100px;padding:1px 7px}.catalog-hint{margin:-14px 0 20px;font-size:13.5px;color:var(--ink-faint)}.catalog-empty{border:1px dashed var(--line);border-radius:var(--radius);background:var(--card);padding:56px 24px;text-align:center}.catalog-empty h2{font-size:24px;margin-bottom:10px}.catalog-empty p{color:var(--ink-soft);font-size:15px;max-width:420px;margin:0 auto 20px}.catalog-table th.teach-head{width:48px;padding-right:0}.catalog-table td.teach-cell{width:48px;padding-right:4px;padding-left:18px;vertical-align:middle}.catalog-table td.catalog-cell,.catalog-table th.course-col{padding-left:10px}.teach-check{width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(16,16,16,.2);background:transparent;color:transparent;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease),color .15s var(--ease)}.teach-check svg{width:11px;height:11px;display:block}.teach-check:hover{border-color:var(--green);color:rgba(26,86,50,.5)}.teach-check.on{background:var(--green);border-color:var(--green);color:#fff}.std-modal{max-width:680px;max-height:82vh;overflow-y:auto;padding:24px 28px}.std-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.std-modal-head h2{font-size:26px}.std-modal-head .eyebrow{margin-bottom:6px}.std-modal-head-side{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-top:4px}.std-modal-doc{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border:1px solid var(--line);border-radius:100px;font-size:13px;font-weight:500;color:var(--ink-soft);text-decoration:none;white-space:nowrap;transition:border-color .15s var(--ease),color .15s var(--ease)}.std-modal-doc:hover{border-color:var(--ink);color:var(--ink)}.std-modal-close{background:none;border:none;font-size:26px;line-height:1;color:var(--ink-faint);cursor:pointer;padding:0 4px}.std-modal-close:hover{color:var(--ink)}.std-modal-covers{font-size:15px;color:var(--ink-soft);margin-bottom:12px;line-height:1.55}.std-modal-list{border-top:1px solid var(--line);max-height:46vh;overflow-y:auto;padding-right:6px}.std-row{display:flex;align-items:flex-start;gap:12px;padding:11px 0;border-bottom:1px solid var(--line-soft);font-size:14.5px;color:var(--ink-soft);line-height:1.5}.std-row:last-child{border-bottom:none}.std-row .plan-standard-chip{flex-shrink:0;margin-top:1px}.std-row-text{flex:1 1}.plan-library-head{display:flex;align-items:baseline;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:4px}.plan-library-head h2{font-size:clamp(22px,2.6vw,28px)}.plan-library-count{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.plan-empty{padding:44px 0 20px;max-width:560px}.plan-empty p{color:var(--ink-soft);font-size:16px;margin-bottom:22px}.plan-list{display:flex;flex-direction:column}.plan-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 4px;border-bottom:1px solid var(--line-soft);text-decoration:none;transition:background .15s var(--ease)}.plan-row:hover{background:var(--paper-warm)}.plan-row-main{display:flex;flex-direction:column;gap:3px;min-width:0}.plan-row-title{font-weight:600;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-row-meta{font-size:13.5px;color:var(--ink-faint)}.plan-row-side{display:flex;align-items:center;gap:16px;flex-shrink:0;font-size:13px;color:var(--ink-soft)}.plan-row-mats{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;color:var(--green-deep)}.plan-row-date{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint)}.coverage{display:flex;flex-direction:column;gap:14px;margin-top:4px}.coverage-label{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--ink-soft);margin-bottom:5px}.coverage-count{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint)}.coverage-bar{height:4px;background:var(--line-soft);border-radius:2px;overflow:hidden}.coverage-fill{height:100%;background:var(--green);border-radius:2px;transition:width .3s var(--ease)}.plan-back{margin-bottom:20px}.plan-back a{text-decoration:none;font-size:14px;color:var(--ink-soft)}.plan-back a:hover{color:var(--ink)}.plan-head{margin-bottom:32px}.plan-head h1{font-size:clamp(30px,3.6vw,42px);margin-bottom:10px}.plan-title-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:6px;transition:background .15s var(--ease),color .15s var(--ease)}.plan-title-btn:hover{color:var(--green-deep)}.plan-title-btn:focus-visible{outline:2px solid var(--green);outline-offset:3px}.plan-title-pencil{display:inline-block;vertical-align:baseline;margin-left:10px;color:var(--ink-faint);opacity:0;transition:opacity .15s var(--ease)}.plan-title-btn:focus-visible .plan-title-pencil,.plan-title-btn:hover .plan-title-pencil{opacity:1}.plan-title-edit{margin-bottom:10px}.plan-title-input{display:block;width:100%;font-family:var(--font-display);font-size:clamp(26px,3.2vw,38px);font-weight:600;line-height:1.15;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:8px;padding:6px 12px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.plan-title-input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(26,86,50,.14)}.plan-title-input:disabled{opacity:.6;cursor:not-allowed}.plan-title-actions{display:flex;align-items:center;gap:10px;margin-top:10px}.plan-title-save{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:#fff;background:var(--green);border:0;border-radius:8px;padding:8px 16px;cursor:pointer;transition:background .15s var(--ease)}.plan-title-save:hover:not(:disabled){background:var(--green-deep)}.plan-title-save:disabled{opacity:.7;cursor:not-allowed}.plan-title-save:focus-visible{outline:2px solid var(--green-deep);outline-offset:2px}.plan-title-cancel{font-size:14px;font-weight:600;color:#8a2f28;background:none;border:1px solid rgba(138,47,40,.35);border-radius:8px;padding:8px 16px;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease)}.plan-title-cancel:hover:not(:disabled){background:rgba(138,47,40,.07);border-color:#8a2f28}.plan-title-cancel:disabled{opacity:.6;cursor:not-allowed}.plan-title-cancel:focus-visible{outline:2px solid #8a2f28;outline-offset:2px}.plan-title-error{font-size:13.5px;color:#8a2f28;margin-top:8px}@media print{.plan-title-actions,.plan-title-error,.plan-title-pencil{display:none}.plan-title-input{border:0;box-shadow:none;padding:0;background:none}}.plan-meta{font-family:var(--font-mono);font-size:13px;color:var(--ink-faint);margin-bottom:14px}.plan-standards{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.plan-standard-chip{font-family:var(--font-mono);font-size:12px;padding:4px 10px;border:1px solid var(--line);border-radius:6px;color:var(--ink-soft);background:var(--card)}.save-chip{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:12.5px;color:var(--ink-faint);padding:0 4px;text-decoration:none}.save-chip.done{color:var(--green-deep)}.save-chip.done:hover{text-decoration:underline}.save-chip.failed{color:#8a2f28}.plan-tabs{position:-webkit-sticky;position:sticky;top:0;z-index:25;display:flex;gap:2px;margin-top:30px;padding-top:10px;background:var(--paper);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.plan-tabs::-webkit-scrollbar{display:none}.plan-tab{display:inline-flex;align-items:center;gap:8px;background:none;font-family:var(--font-body);font-size:14.5px;font-weight:500;color:var(--ink-soft);padding:10px 14px 12px;margin-bottom:-1px;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color .15s var(--ease),border-color .15s var(--ease)}.plan-tab.on,.plan-tab:hover{color:var(--ink)}.plan-tab.on{font-weight:600;border-bottom-color:var(--green)}.plan-tab-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0}.plan-tab-panel{padding-top:26px}.plan-tab-actions{margin-bottom:16px}.plan-tab-panel .mat-doc{margin-top:0}.plan-tab-empty{border:1px dashed var(--line);border-radius:var(--radius);background:var(--card);padding:48px 24px;text-align:center}.plan-tab-empty h3{font-size:22px;margin-bottom:8px}.plan-tab-empty p{color:var(--ink-soft);font-size:15px;max-width:420px;margin:0 auto 20px}.plan-tab-empty .mat-error{margin:14px auto 0}.sk-plan-head{margin-bottom:16px}.sk-plan-doc .busy-lines,.sk-plan-head .busy-lines{margin-bottom:0}.mat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:16px;gap:16px}.mat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:14px}.mat-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.mat-card-head h3{font-size:17px}.mat-ready{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--green-deep)}.mat-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mat-actions .btn{padding:8px 14px;font-size:13.5px}.mat-regen{background:none;border:none;font-family:var(--font-body);font-size:13px;color:var(--ink-faint);cursor:pointer;padding:8px 4px}.mat-regen:hover:not(:disabled){color:var(--ink)}.mat-error{margin-top:16px;color:#8a2f28;font-size:14.5px}.mat-doc{margin-top:28px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:32px}.founding-price{font-family:var(--font-display);font-size:clamp(44px,6vw,64px);font-weight:700;margin:12px 0 4px}.founding-price small{font-size:18px;color:var(--ink-soft);font-family:var(--font-body);font-weight:500}.strike{text-decoration:line-through;color:var(--ink-faint);font-size:24px;font-weight:400}.legal{max-width:780px;margin:0 auto;padding:72px 24px 96px}.legal h1{font-size:clamp(32px,4vw,44px);margin-bottom:8px}.legal .legal-updated{font-size:14px;color:var(--ink-faint);margin-bottom:40px}.legal h2{font-size:24px;margin:40px 0 12px}.legal h3{font-size:18px;margin:24px 0 8px}.legal li,.legal p{font-size:15.5px;color:var(--ink-soft);line-height:1.7}.legal p{margin-bottom:12px}.legal ol,.legal ul{padding-left:24px;margin-bottom:12px}.legal li{margin-bottom:6px}.legal strong{color:var(--ink)}.legal table{width:100%;border-collapse:collapse;margin:16px 0 20px;font-size:14.5px;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}.legal td,.legal th{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);color:var(--ink-soft);vertical-align:top}.legal th{background:var(--paper-warm);color:var(--ink);font-size:13.5px}.legal .legal-note{margin:28px 0;padding:18px 22px;background:var(--green-tint);border-radius:10px;font-size:14.5px;color:#234534}.legal a{color:var(--green-deep);font-weight:600}.standard-field{display:flex;gap:10px;align-items:stretch}.standard-field input{flex:1 1}.btn-browse{padding:0 18px;font-size:14px;border-color:var(--line);color:var(--ink-soft);background:var(--card);flex-shrink:0}.btn-browse:hover:not(:disabled){background:var(--paper-warm);color:var(--ink);border-color:var(--ink-faint)}.standard-preview{margin-top:8px;padding:12px 15px;background:var(--green-tint);border-radius:10px;font-size:14.5px;line-height:1.55;color:#234534}.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(20,24,31,.42);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fade-in .16s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:720px;max-height:min(760px,calc(100vh - 48px));background:var(--paper);border-radius:20px;box-shadow:0 24px 64px rgba(20,24,31,.28);display:flex;flex-direction:column;overflow:hidden;animation:rise .18s ease}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 28px 0}.modal-head h2{font-size:26px;margin-bottom:4px}.modal-head p{font-size:15px;color:var(--ink-soft)}.modal-close{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink-soft);font-size:20px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease,color .15s ease}.modal-close:hover{background:var(--paper-warm);color:var(--ink)}.modal-controls{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;grid-gap:12px;gap:12px;padding:18px 28px 0}.modal-controls .field{margin-bottom:0}.framework-chips{display:flex;gap:8px;flex-wrap:wrap;padding:16px 28px 0}.chip{font-family:var(--font-body);font-size:14px;font-weight:600;padding:9px 16px;border-radius:100px;border:1.5px solid var(--line);background:var(--card);color:var(--ink-soft);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.chip:hover{border-color:var(--ink-faint);color:var(--ink)}.chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.framework-name{padding:10px 28px 0;font-size:14px;color:var(--ink-soft)}.modal-search{padding:14px 28px 0}.modal-search input{width:100%;padding:13px 16px;font-size:16px;font-family:var(--font-body);border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.modal-search input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(26,86,50,.13)}.modal-list{flex:1 1;overflow-y:auto;margin:14px 28px 0;border:1px solid var(--line);border-radius:14px;background:var(--card);min-height:160px}.standard-row{display:flex;align-items:baseline;gap:14px;width:100%;text-align:left;padding:15px 18px;background:none;border:none;border-bottom:1px solid var(--line);font-family:var(--font-body);cursor:pointer;transition:background .12s ease}.standard-row:last-child{border-bottom:none}.standard-row:hover{background:var(--green-tint)}.standard-row:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.standard-code{font-size:14px;font-weight:700;color:var(--green-deep);background:var(--green-tint);padding:4px 10px;border-radius:7px;white-space:nowrap;flex-shrink:0}.standard-row:hover .standard-code{background:#e2ece3}.standard-text{font-size:15.5px;color:var(--ink);line-height:1.5}.modal-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;min-height:160px;padding:28px;color:var(--ink-soft);font-size:15.5px}.modal-empty .big{font-family:var(--font-display);font-size:20px;color:var(--ink-soft)}.modal-foot{padding:18px 28px 22px}.modal-foot .field{margin-bottom:12px}.modal-foot-note{font-size:14px;color:var(--ink-soft);line-height:1.55}.search-select{position:relative}.search-select input{width:100%;padding:14px 42px 14px 16px;font-size:16.5px;font-family:var(--font-body);border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);outline:none;box-shadow:0 1px 2px rgba(20,24,31,.03);transition:border-color .15s ease,box-shadow .15s ease}.search-select input:hover{border-color:rgba(16,16,16,.32)}.search-select input{cursor:pointer}.search-select input:focus{cursor:text;border-color:var(--green);box-shadow:0 0 0 4px rgba(26,86,50,.13),0 1px 2px rgba(20,24,31,.03)}.search-select-caret{position:absolute;right:15px;top:50%;width:12px;height:8px;transform:translateY(-50%);pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain}.search-select-list{position:fixed;z-index:200;max-height:260px;overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(20,24,31,.14);padding:5px}.search-select-option{display:block;width:100%;text-align:left;padding:11px 14px;border:none;background:none;font-family:var(--font-body);font-size:16px;color:var(--ink);border-radius:8px;cursor:pointer}.search-select-option.highlight{background:var(--green-tint);color:var(--ink)}.search-select-option.selected{font-weight:600;color:var(--green-deep)}.search-select-empty{padding:14px 12px;font-size:15px;color:var(--ink-soft);text-align:center}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.wz-card,.wz-summary{animation:rise .34s var(--ease) both}.variant-card{animation:rise .3s var(--ease) both}.variant-card:nth-child(2){animation-delay:70ms}.variant-card:nth-child(3){animation-delay:.14s}.mat-doc,.sec-busy,.sec-controls,.wz-done{animation:rise .24s var(--ease) both}.anim-h{display:grid;grid-template-rows:0fr;transition:grid-template-rows .26s var(--ease)}.anim-h.open{grid-template-rows:1fr}.anim-h-in{overflow:hidden;min-height:0}.wz-step-dot,.wz-step-label{transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}.std-check-row{transition:background .15s var(--ease)}.std-pill{animation:rise .2s var(--ease) both}.course-chip{transition:border-color .15s var(--ease),background .15s var(--ease),color .15s var(--ease)}.mat-ready,.save-chip{animation:rise .24s var(--ease) both}@media (prefers-reduced-motion:reduce){.mat-doc,.mat-ready,.save-chip,.sec-busy,.sec-controls,.std-pill,.variant-card,.wz-card,.wz-done,.wz-summary{animation:none}.anim-h,.course-chip,.std-check-row,.wz-step-dot,.wz-step-label{transition:none}}.busy-box{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:20px 22px;animation:rise .24s var(--ease) both}.busy-lines{display:flex;flex-direction:column;gap:11px;margin-bottom:16px}.busy-line{height:12px;border-radius:6px;background:linear-gradient(90deg,#eae8e0 25%,#f6f4ec 50%,#eae8e0 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.busy-line.w70{width:70%}.busy-line.w95{width:95%}.busy-line.w50{width:50%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.busy-note{display:flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}.confirm-inline{display:inline-flex;align-items:center;gap:10px;animation:rise .15s var(--ease) both}.confirm-text{font-size:13px;color:var(--ink-soft)}.confirm-yes{background:none;border:none;padding:0;font-family:var(--font-body);font-size:13.5px;font-weight:600;color:#a8322a}.confirm-yes:hover{text-decoration:underline}.sec-card.chosen{padding:0;overflow:hidden}.sec-card.chosen.open{padding:0}.sec-head{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;padding:14px 20px;font-family:var(--font-body);text-align:left}.sec-head-title{font-weight:600;font-size:14.5px;white-space:nowrap}.sec-head-preview{flex:1 1;min-width:0;font-size:13.5px;color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sec-head .variant-chevron{margin-left:auto}.sec-card .sec-full{padding:4px 20px 6px}.sec-actions{display:flex;gap:16px;padding:6px 20px 16px 54px}.quiz-builder{margin-top:20px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:22px 24px;animation:rise .26s var(--ease) both}.quiz-builder-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.quiz-config{display:flex;flex-direction:column;gap:18px}.quiz-q-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:14px;gap:14px}.quiz-q-card{border:1px solid var(--line);border-radius:10px;background:var(--card);padding:16px 18px;animation:rise .26s var(--ease) both}.quiz-add{height:auto;min-height:120px}.quiz-add-row{align-items:stretch}.quiz-add-row .select{flex:0 0 190px}.quiz-approve{display:flex;align-items:center;gap:18px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft)}.lib-table-wrap{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden}.lib-table{width:100%;border-collapse:collapse}.lib-table th{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);text-align:left;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--paper-warm);white-space:nowrap}.lib-table td{padding:15px 20px;font-size:15px;border-bottom:1px solid var(--line-soft);vertical-align:top}.lib-row{cursor:pointer;animation:rise .24s var(--ease) both}.lib-row td{transition:background .15s var(--ease)}.lib-row:last-child td{border-bottom:none}.lib-row.opening td,.lib-row:hover td{background:var(--paper-warm)}.lib-col-go{width:44px;text-align:right;vertical-align:middle}.lib-go{width:13px;height:13px;color:var(--ink-faint);transition:color .15s var(--ease),transform .15s var(--ease)}.lib-row:hover .lib-go{color:var(--green-deep);transform:translateX(2px)}.lib-spinner{display:inline-block;width:15px;height:15px;border:2px solid var(--line);border-top-color:var(--green-deep);border-radius:50%;animation:spin .7s linear infinite}.lib-title{font-weight:600;color:var(--ink);display:block}.lib-title:hover{color:var(--green-deep)}.lib-topic{display:block;margin-top:2px;font-size:13px;color:var(--ink-faint);max-width:340px;overflow:hidden;text-overflow:ellipsis}.lib-course,.lib-topic{white-space:nowrap}.lib-chips{display:flex;flex-wrap:wrap;gap:5px}.lib-more{font-size:12.5px;color:var(--ink-faint)}.lib-col-date{white-space:nowrap;text-align:right;color:var(--ink-soft)}.select{position:relative}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:13px 15px;font-size:16px;font-family:var(--font-body);text-align:left;border:1px solid rgba(16,16,16,.16);border-radius:8px;background:var(--card);color:var(--ink);outline:none;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.select-trigger:hover{border-color:rgba(16,16,16,.32)}.select-trigger:focus-visible{border-color:var(--green);box-shadow:0 0 0 3px rgba(26,86,50,.14);outline:none}.select-caret{width:12px;height:8px;flex-shrink:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;transition:transform .15s var(--ease)}.select-trigger[aria-expanded=true] .select-caret{transform:rotate(180deg)}.select-list{position:fixed;z-index:200;max-height:280px;overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(20,24,31,.14);padding:5px}.select-option{display:block;width:100%;text-align:left;padding:10px 14px;border:none;background:none;font-family:var(--font-body);border-radius:8px}.select-option-label{display:block;font-size:15.5px;color:var(--ink)}.select-option-desc{display:block;margin-top:2px;font-size:13px;line-height:1.4;color:var(--ink-faint)}.select-option.highlight{background:var(--green-tint)}.select-option.selected .select-option-label{font-weight:600;color:var(--green-deep)}.std-pills{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:10px}.std-pill{display:inline-flex;align-items:center;gap:8px;background:var(--green-tint);border:1px solid var(--green-line);color:var(--green-deep);font-size:14px;font-weight:700;padding:7px 9px 7px 14px;border-radius:100px}.std-pill.primary{background:var(--ink);border-color:var(--ink);color:#fff}.std-pill-tag{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.7}.std-pill-x{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:none;background:rgba(0,0,0,.08);color:inherit;font-size:15px;line-height:1;cursor:pointer;padding:0}.std-pill.primary .std-pill-x{background:rgba(255,255,255,.2)}.std-pill-x:hover{background:rgba(0,0,0,.18)}.std-pill.primary .std-pill-x:hover{background:rgba(255,255,255,.35)}.modal-hint{padding:12px 28px 0;font-size:14px;color:var(--ink-soft);line-height:1.5}.standard-row.picked{background:var(--green-tint)}.standard-row:disabled{cursor:default;opacity:.55}.standard-check{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line);background:var(--card);color:#fff;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center;transition:background .12s ease,border-color .12s ease}.standard-row.picked .standard-check,.standard-row[aria-selected=true] .standard-check{background:var(--green);border-color:var(--green)}.modal-foot-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.modal-foot-row .modal-foot-note{flex:1 1}.modal-foot-row .btn{flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.label-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:7px}.label-row label{margin-bottom:0}.label-action{background:none;border:none;font-family:var(--font-body);font-size:14.5px;font-weight:600;color:var(--green-deep);cursor:pointer;padding:4px 0}.label-action:hover:not(:disabled){text-decoration:underline}.label-action:disabled{color:var(--ink-faint);cursor:default}.topic-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.topic-pill{font-family:var(--font-body);font-size:14.5px;font-weight:500;padding:9px 16px;border-radius:100px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease,color .15s ease}.topic-pill.active,.topic-pill:hover{border-color:var(--green);color:var(--green-deep)}.topic-pill.active{background:var(--green-tint);font-weight:600}.privacy-note{margin-top:16px;padding:15px 18px;background:var(--green-tint);border-radius:10px;font-size:14.5px;color:#234534;line-height:1.6}.founding-cta-card{background:var(--card);border:1px solid var(--green-line);border-radius:20px;padding:40px;text-align:center;margin:44px 0 48px;box-shadow:0 2px 4px rgba(18,63,35,.06),0 20px 48px rgba(18,63,35,.1)}.founding-cta-price{display:flex;align-items:baseline;justify-content:center;gap:14px;margin-bottom:8px}.founding-cta-amount{font-family:var(--font-display);font-size:clamp(56px,8vw,76px);font-weight:700;line-height:1;letter-spacing:-.02em}.founding-cta-amount small{font-size:20px;font-family:var(--font-body);font-weight:500;color:var(--ink-soft)}.founding-cta-sub{font-size:15.5px;color:var(--ink-soft);max-width:420px;margin:0 auto 28px}.btn-xl{font-size:19px;padding:19px 44px;border-radius:14px;width:100%;max-width:460px}.founding-cta-micro{margin-top:18px;font-size:14.5px;color:var(--ink-soft)}.founding-cta-bottom{text-align:center}@media (max-width:900px){.nav-links li:not(.nav-cta){display:none}.about-grid,.contrast-grid,.fit-grid{grid-template-columns:1fr}.about-grid{gap:32px}.about-photo{max-width:260px}.pull-grid{grid-template-columns:1fr;gap:32px}.pull-fig{max-width:240px}.hero-grid{gap:56px}.defs-row,.hero-grid,.index-grid{grid-template-columns:1fr}.defs-row{gap:4px}.sunday-total b{font-size:44px}.spec-plan{inset:20px -4px -16px 10px}.doc-head span{display:none}.steps{grid-template-columns:1fr}.five-e{grid-template-columns:1fr 1fr}.auth-body{grid-template-columns:1fr}.auth-aside{display:none}.section{padding:64px 0}.hero{padding:64px 0 56px}.course-hero,.workspace{grid-template-columns:1fr}.course-hero-side{position:static}.dash-top{flex-direction:column;align-items:flex-start;gap:16px}.catalog-detail .mat-chip,.dplan-col-mat,.legend-sub,.plan-row-side .plan-row-mats{display:none}.app-head-split{flex-direction:column;gap:16px}.seg{margin-top:0}.catalog-detail{margin:2px 12px 14px}.wz-stepper{border-radius:var(--radius);flex-wrap:wrap;padding:10px 16px}.wz-steps{gap:12px;flex-wrap:wrap}.wz-stepper-status{display:none}.wz-card{padding:22px 18px}.wz-card-head{flex-direction:column;gap:10px}.sec-head{flex-wrap:wrap}.sec-head-preview{flex-basis:100%;order:3}.sec-actions{padding-left:20px;flex-wrap:wrap}.lib-table-wrap{overflow-x:auto}.lib-table{min-width:800px}.quiz-add-row{flex-direction:column}.quiz-add-row .select{flex:none}.variant-grid{flex-direction:column}.variant-add,.variant-card{height:300px}.variant-card.open{height:540px}.field-row-inner{grid-template-columns:1fr}.app-nav{position:-webkit-sticky;position:sticky;top:0;width:100%;height:auto;bottom:auto;border-right:none;border-bottom:1px solid var(--line);padding:0 16px}.app-nav-inner{flex-direction:row;align-items:center;height:58px;gap:12px}.app-nav-logo{padding:0}.app-nav .logo-word{display:none}.app-nav-new{width:auto;margin:0;padding:9px 14px}.app-nav-links{flex-direction:row}.app-nav-spacer{flex:1 1}.app-nav-foot{flex-direction:row;align-items:center;gap:10px;padding:0}.app-nav-context,.app-nav-membership,.app-nav-signout{display:none}.app-main{margin-left:0;padding:32px 20px 80px}.generator-grid,.generator-grid.chat-open,.generator-grid.collapsed{grid-template-columns:1fr}.chat-panel{position:fixed;top:76px;left:10px;right:10px;bottom:10px;height:auto;z-index:70}.chat-fab{right:16px;bottom:16px;padding:15px}.chat-fab span{display:none}.gen-form{position:static;max-height:none;overflow-y:visible}.gen-collapse{display:none}.gen-rail{position:static;flex-direction:row;justify-content:center;min-height:0;padding:14px}.gen-rail-label{writing-mode:horizontal-tb}.gen-streaming-bar{top:76px;flex-wrap:wrap;gap:10px}.gen-phases{order:3;width:100%;margin-left:0}.dash-grid{grid-template-columns:1fr}.account-email{display:none}.app-nav-account{padding:4px;border:none;background:transparent}.usage-pill{display:none}.modal-controls{grid-template-columns:1fr 1fr}}@media (max-width:560px){.field-row,.five-e,.modal-controls{grid-template-columns:1fr}.framework-chips,.framework-name,.modal-controls,.modal-foot,.modal-head,.modal-search{padding-left:20px;padding-right:20px}.modal-list{margin-left:20px;margin-right:20px}.std-modal{padding:20px}.standard-field{flex-direction:column}.btn-browse{padding:12px 18px}}@media print{body{background:#fff}.app-nav,.chat-fab,.chat-panel,.chat-updating,.footer,.gen-form,.gen-jump,.gen-rail,.gen-streaming-bar,.gen-toolbar,.gen-waiting,.modal-backdrop,.name-map,.nav,.plan-back,.plan-sec-tag,.plan-tab-actions,.plan-tabs,.save-chip,.vanish-note{display:none!important}.app-main{margin-left:0;padding:0}.generator-grid,.generator-grid.chat-open,.generator-grid.collapsed{display:block}.gen-output{border:none;padding:0;min-height:auto;box-shadow:none}}