@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:var(--font-ui);--font-mono:var(--font-jetbrains), ui-monospace, "SF Mono", monospace;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-2xl:42rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-sm:calc(var(--radius) * .6);--radius-md:calc(var(--radius) * .8);--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-paper:#f4f5f3;--color-surface:#fff;--color-surface-2:#fafaf9;--color-ink:#0d1a22;--color-ink-2:#38454e;--color-ink-3:#6b7780;--color-ink-4:#9ba4ab;--color-line:#e3e6e3;--color-line-2:#eef0ed;--color-navy:#0c1820;--color-green:#0b7a55;--color-green-dark:#096244;--color-green-tint:#ebf4ef;--color-green-line:#c8e2d6;--color-green-lite:#34d399;--color-amber:#96660a;--color-amber-tint:#fdf6e8;--color-amber-line:#efdfbb;--color-red:#9a3b3b;--color-red-tint:#fbeeee;--font-ui:var(--font-inter), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:var(--font-bricolage), var(--font-inter), sans-serif;--font-heading:var(--font-display)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}}@layer components{:root{--paper:var(--color-paper);--surface:var(--color-surface);--surface-2:var(--color-surface-2);--ink:var(--color-ink);--ink-2:var(--color-ink-2);--ink-3:var(--color-ink-3);--ink-4:var(--color-ink-4);--line:var(--color-line);--line-2:var(--color-line-2);--navy:var(--color-navy);--green:var(--color-green);--green-dark:var(--color-green-dark);--green-tint:var(--color-green-tint);--green-line:var(--color-green-line);--green-lite:var(--color-green-lite);--amber:var(--color-amber);--amber-tint:var(--color-amber-tint);--amber-line:var(--color-amber-line);--radius-sm:4px;--shadow:0 1px 2px #0d1a220a;--rail-w:300px;--cc-sidebar-w:240px;--cc-ease:cubic-bezier(.4,0,.2,1);--cc-dur:.2s}body.cc-nav-collapsed{--cc-sidebar-w:64px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-ui);background:var(--paper);color:var(--ink-2);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}svg{flex-shrink:0;display:block}:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:var(--radius-sm)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.shell{min-height:100vh;display:flex}.cc-sidebar{width:var(--cc-sidebar-w);z-index:60;background:var(--surface-2);border-right:1px solid var(--line);transition:width var(--cc-dur) var(--cc-ease), transform var(--cc-dur) var(--cc-ease);flex-direction:column;flex-shrink:0;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.cc-brand{border-bottom:1px solid var(--line-2);white-space:nowrap;height:60px;transition:padding var(--cc-dur) var(--cc-ease);flex-shrink:0;align-items:center;gap:9px;padding:0 18px;display:flex}.cc-mark{border-radius:var(--radius-sm);background:var(--navy);flex-shrink:0;place-items:center;width:26px;height:26px;display:grid}.cc-mark svg{width:14px;height:14px;stroke:var(--green-lite);stroke-width:2.4px}.cc-brand-name{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);opacity:1;font-size:15px;font-weight:600;transition:opacity .12s 60ms}.cc-collapse{top:43px;left:var(--cc-sidebar-w);z-index:62;background:var(--surface);border:1px solid var(--line);width:22px;height:22px;transition:left var(--cc-dur) var(--cc-ease), background .12s ease, border-color .12s ease;border-radius:50%;place-items:center;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 1px 3px #0d1a221a}.cc-collapse svg{stroke:#8a9299;stroke-width:2px;width:12px;height:12px;transition:stroke .12s ease, transform var(--cc-dur) var(--cc-ease)}.cc-collapse:hover{background:var(--navy);border-color:var(--navy)}.cc-collapse:hover svg{stroke:#fff}body.cc-nav-collapsed .cc-collapse svg{transform:rotate(180deg)}.cc-scroll{flex-direction:column;flex:1;padding:14px 12px 8px;display:flex;overflow:hidden auto}.cc-label{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);white-space:nowrap;opacity:1;padding:0 8px 8px;font-size:10px;font-weight:500;transition:opacity .12s 60ms}.cc-item{border-radius:var(--radius-sm);color:var(--ink-2);white-space:nowrap;transition:background .12s ease, color .12s ease, padding var(--cc-dur) var(--cc-ease);align-items:center;gap:10px;padding:7px 8px;font-size:13.5px;font-weight:450;display:flex;position:relative}.cc-item>svg:first-child{width:16px;height:16px;stroke:var(--ink-3);flex-shrink:0;transition:stroke .12s}.cc-item:hover{color:var(--ink);background:#eff1ee}.cc-item:hover>svg:first-child{stroke:var(--ink-2)}.cc-item-label{opacity:1;flex:1;min-width:0;transition:opacity .12s 60ms}.cc-item.is-active{background:var(--green-tint);color:var(--ink);font-weight:600}.cc-item.is-active>svg:first-child{stroke:var(--green)}.cc-item.is-active:before{content:"";background:var(--green);border-radius:0 2px 2px 0;width:2px;position:absolute;top:6px;bottom:6px;left:-12px}.cc-ext{stroke:#b7bec3;opacity:1;flex-shrink:0;width:12px;height:12px;transition:opacity .12s 60ms,stroke .12s}.cc-item:hover .cc-ext{stroke:var(--ink-3)}.cc-divider{background:var(--line);height:1px;transition:margin var(--cc-dur) var(--cc-ease);margin:14px 8px}.cc-spacer{flex:1;min-height:12px}.cc-user{border-top:1px solid var(--line-2);transition:padding var(--cc-dur) var(--cc-ease);flex-shrink:0;padding:10px 12px}.cc-user-row{border-radius:var(--radius-sm);text-align:left;white-space:nowrap;width:100%;transition:background .12s ease, padding var(--cc-dur) var(--cc-ease);align-items:center;gap:10px;padding:6px;display:flex;position:relative}.cc-user-row:hover{background:#eff1ee}.cc-avatar{background:var(--navy);color:#fff;width:30px;height:30px;font-family:var(--font-display);border-radius:50%;flex-shrink:0;place-items:center;font-size:11.5px;font-weight:600;display:grid}.cc-user-meta{opacity:1;flex:1;min-width:0;transition:opacity .12s 60ms}.cc-user-meta strong{color:var(--ink);text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.cc-user-meta span{color:var(--ink-4);text-overflow:ellipsis;font-size:11.5px;display:block;overflow:hidden}.cc-user-row>svg:last-child{width:15px;height:15px;stroke:var(--ink-4);opacity:1;flex-shrink:0;transition:opacity .12s 60ms}body.cc-nav-collapsed .cc-brand{justify-content:center;padding:0}body.cc-nav-collapsed .cc-brand-name,body.cc-nav-collapsed .cc-label,body.cc-nav-collapsed .cc-item-label,body.cc-nav-collapsed .cc-ext,body.cc-nav-collapsed .cc-user-meta,body.cc-nav-collapsed .cc-user-row>svg:last-child{opacity:0;transition:opacity 90ms}body.cc-nav-collapsed .cc-item{padding:9px 12px}body.cc-nav-collapsed .cc-divider{margin:12px 4px}body.cc-nav-collapsed .cc-user{padding:10px 8px}body.cc-nav-collapsed .cc-user-row{padding:6px 9px}.cc-tip:after,.cc-collapse:after{content:attr(data-tip);border-radius:var(--radius-sm);z-index:90;background:var(--navy);color:#fff;font-family:var(--font-ui);letter-spacing:0;white-space:nowrap;pointer-events:none;opacity:0;padding:5px 9px;font-size:12px;font-weight:500;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)translate(-4px)}body.cc-nav-collapsed .cc-tip:hover:after,body.cc-nav-collapsed .cc-tip:focus-visible:after,.cc-collapse:hover:after,.cc-collapse:focus-visible:after{opacity:1;transform:translateY(-50%)translate(0)}.cc-scrim{z-index:55;opacity:0;pointer-events:none;background:#0d1a226b;transition:opacity .18s;position:fixed;inset:0}.cc-scrim.is-open{opacity:1;pointer-events:auto}.main{min-width:0;margin-left:var(--cc-sidebar-w);transition:margin-left var(--cc-dur) var(--cc-ease);flex:1}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);z-index:40;background:#f4f5f3e0;align-items:center;gap:10px;height:60px;padding:0 24px;display:flex;position:sticky;top:0}.tb-crumb{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.tb-crumb a:hover{color:var(--ink-2)}.tb-crumb b{color:var(--ink-2);font-weight:500}.icon-btn{border-radius:var(--radius-sm);flex-shrink:0;place-items:center;width:32px;height:32px;transition:background .12s;display:grid}.icon-btn:hover{background:#e9ebe7}.icon-btn svg{width:17px;height:17px;stroke:var(--ink-2)}.hamburger{display:none}.wrap{max-width:1180px;margin:0 auto;padding:26px 24px 68px;transition:max-width .18s}.wrap.is-dashboard{max-width:1380px}.wrap.is-lesson{max-width:1440px}.btn{border-radius:var(--radius-sm);letter-spacing:-.005em;white-space:nowrap;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 17px;font-size:13.5px;font-weight:600;transition:background .14s,border-color .14s,transform .1s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn svg{width:15px;height:15px}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-dark)}.btn-primary svg{stroke:#fff}.btn-ghost{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.btn-ghost:hover{background:var(--surface-2);border-color:#d5d9d4}.btn-ghost svg{stroke:var(--ink-2)}.btn-quiet{color:var(--ink-3);padding:0 10px}.btn-quiet:hover{color:var(--ink);background:var(--surface-2)}.btn-quiet svg{stroke:currentColor}.btn-sm{height:32px;padding:0 13px;font-size:12.5px}.btn-block{width:100%}.link{color:var(--green);align-items:center;gap:4px;font-size:12.5px;font-weight:500;display:inline-flex}.link svg{width:13px;height:13px;stroke:var(--green)}.link:hover{color:var(--green-dark)}.link:hover span{text-underline-offset:2px;text-decoration:underline}.sec-head{align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.sec-head h2{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);font-size:16px;font-weight:600}.sec-head .hint{color:var(--ink-4);font-size:12.5px}.sec-head .link{margin-left:auto}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.disclaimer{border-top:1px solid var(--line);color:var(--ink-3);max-width:78ch;margin-top:40px;padding-top:16px;font-size:11.5px;line-height:1.65}.banner{background:var(--amber-tint);border:1px solid var(--amber-line);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:22px;padding:9px 12px;display:flex}.banner>svg{width:15px;height:15px;stroke:var(--amber)}.banner p{color:#5c4207;font-size:12.5px;line-height:1.45}.banner p b{font-weight:600}.banner .x{border-radius:3px;flex-shrink:0;place-items:center;width:22px;height:22px;margin-left:auto;transition:background .12s;display:grid}.banner .x:hover{background:#96660a1f}.banner .x svg{width:13px;height:13px;stroke:var(--amber)}.content{grid-template-columns:minmax(0,1fr) var(--rail-w);align-items:start;column-gap:30px;display:grid}.col-main{flex-direction:column;gap:30px;min-width:0;display:flex}.col-rail{flex-direction:column;gap:16px;display:flex;position:sticky;top:84px}.page-head{grid-column:1/-1;margin-bottom:24px}.page-head h1{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);font-size:27px;font-weight:600;line-height:1.15}.head-meta{flex-wrap:wrap;align-items:center;gap:9px;margin-top:9px;display:flex}.head-meta .prog{color:var(--ink);font-size:13.5px;font-weight:600}.head-meta .sep{background:var(--ink-4);border-radius:50%;flex-shrink:0;width:3px;height:3px}.head-meta .wk{font-family:var(--font-mono);color:var(--green);background:var(--green-tint);border:1px solid var(--green-line);border-radius:3px;padding:1px 7px;font-size:11.5px;font-weight:500}.head-meta .end{font-family:var(--font-mono);color:var(--ink-4);font-size:11.5px}.page-head>p{color:var(--ink-3);margin-top:6px;font-size:13.5px}.resume{background:var(--navy);border-radius:var(--radius);color:#fff;padding:26px 28px 22px;position:relative;overflow:hidden}.resume:after{content:"";pointer-events:none;background:linear-gradient(118deg,#34d39912 0%,#34d39900 46%);position:absolute;inset:0}.resume-top{align-items:center;gap:9px;margin-bottom:15px;display:flex}.resume-eyebrow{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--green-lite);font-size:10.5px;font-weight:500}.resume-pos{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:#ffffff5c;margin-left:auto;font-size:10.5px;font-weight:500}.resume h2{font-family:var(--font-display);letter-spacing:-.026em;color:#fff;font-size:25px;font-weight:600;line-height:1.2}.resume-lesson{flex-wrap:wrap;align-items:baseline;gap:9px;margin-top:9px;display:flex}.resume-lesson .n{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:#fff6;font-size:11px;font-weight:500}.resume-lesson .t{font-family:var(--font-display);letter-spacing:-.012em;color:#ffffffe6;font-size:15px;font-weight:500}.rail{gap:4px;margin:20px 0 8px;display:flex}.rail-seg{background:#ffffff21;border-radius:2px;flex:1;height:4px;position:relative;overflow:hidden}.rail-fill{background:var(--green-lite);border-radius:2px;width:0;transition:width .9s cubic-bezier(.22,.9,.3,1);position:absolute;inset:0 auto 0 0}.rail-meta{font-family:var(--font-mono);color:#ffffff73;justify-content:space-between;font-size:11px;display:flex}.rail-meta b{color:var(--green-lite);font-weight:500}.resume-foot{border-top:1px solid #ffffff1a;flex-wrap:wrap;align-items:center;gap:20px;margin-top:22px;padding-top:19px;display:flex}.resume-unlock{font-family:var(--font-mono);color:#ffffff6b;align-items:center;gap:6px;font-size:11.5px;display:flex}.resume-unlock svg{stroke:#ffffff6b;width:13px;height:13px}.resume-foot .btn{margin-left:auto}.steps{overflow:hidden}.step-lead{border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:18px;display:flex}.lead-body{flex:1;min-width:0}.lead-eyebrow{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--green);margin-bottom:6px;font-size:10px;font-weight:500;display:block}.lead-body strong{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:17px;font-weight:600;line-height:1.2;display:block}.lead-body>span{color:var(--ink-3);margin-top:3px;font-size:12.5px;display:block}.step{border-bottom:1px solid var(--line-2);align-items:center;gap:13px;padding:12px 18px;transition:background .12s;display:flex}.step:last-child{border-bottom:none}.step:hover{background:var(--surface-2)}.step-mark{background:var(--surface);border:1.5px solid #d8dcd8;border-radius:50%;flex-shrink:0;width:18px;height:18px}.step-body{flex:1;min-width:0}.step-body strong{color:var(--ink-2);letter-spacing:-.005em;font-size:13px;font-weight:500;display:block}.step-body span{color:var(--ink-4);margin-top:1px;font-size:12px;display:block}.step-go{opacity:0;flex-shrink:0;place-items:center;width:22px;height:22px;transition:opacity .12s;display:grid}.step:hover .step-go{opacity:1}.step-go svg{width:14px;height:14px;stroke:var(--ink-3)}.steps-done{background:var(--surface-2);border-top:1px solid var(--line-2);padding:11px 18px}.done-row{color:var(--ink-4);align-items:center;gap:8px;font-size:12px;display:flex}.done-row+.done-row{margin-top:6px}.done-row svg{width:12px;height:12px;stroke:var(--green);stroke-width:3px}.done-row em{color:#b2b9be;font-style:normal}.done-row em:before{content:"·";margin:0 6px}.playbook{border-top:1px solid var(--line);padding-top:20px}.pb-title{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.pb-title h2{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);font-size:16px;font-weight:600}.pb-count{font-family:var(--font-mono);color:var(--ink-2);font-size:12px;font-weight:500}.pb-bar{background:#e7e9e6;border-radius:2px;max-width:420px;height:5px;margin-top:13px;overflow:hidden}.pb-bar i{background:var(--green);border-radius:2px;width:0;height:100%;transition:width .9s cubic-bezier(.22,.9,.3,1);display:block}.pb-desc{color:var(--ink-3);max-width:58ch;margin-top:12px;font-size:12.5px;line-height:1.55}.pb-done{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.pb-chip{color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:3px;align-items:center;gap:6px;padding:4px 9px 4px 7px;font-size:12px;display:inline-flex}.pb-chip svg{width:11px;height:11px;stroke:var(--green);stroke-width:3px}.pb-empty{color:var(--ink-4);margin-top:14px;font-size:12.5px;font-style:italic}.pb-cta{margin-top:16px}.latest{border-top:1px solid var(--line);padding-top:20px}.latest-list{margin-top:2px}.item{border-bottom:1px solid var(--line-2);border-radius:var(--radius-sm);align-items:center;gap:14px;padding:12px 10px 12px 8px;transition:background .12s,box-shadow .12s;display:flex}.item:hover{background:var(--surface);box-shadow:var(--shadow)}.item-icon{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);flex-shrink:0;place-items:center;width:30px;height:30px;transition:border-color .12s;display:grid}.item-icon svg{width:14px;height:14px;stroke:var(--ink-3);transition:stroke .12s}.item:hover .item-icon{border-color:var(--green-line)}.item:hover .item-icon svg{stroke:var(--green)}.item-body{flex:1;min-width:0}.item-type{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-size:10px;font-weight:500}.item-body strong{color:var(--ink);letter-spacing:-.008em;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:13.5px;font-weight:600;display:block;overflow:hidden}.item-date{font-family:var(--font-mono);color:var(--ink-4);flex-shrink:0;font-size:11px}.item-go{flex-shrink:0;width:14px}.item-go svg{stroke:#c4cace;width:14px;height:14px;transition:stroke .12s}.item:hover .item-go svg{stroke:var(--ink-3)}.latest-foot{margin-top:14px}.rail-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.rail-head{align-items:center;gap:8px;padding:14px 16px 0;display:flex}.rail-head h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:13.5px;font-weight:600}.prog-list{padding:6px 8px 4px}.prog-row{text-align:left;border-radius:var(--radius-sm);width:100%;padding:9px 8px;transition:background .12s;display:block}.prog-row:hover{background:var(--surface-2)}.prog-top{align-items:baseline;gap:8px;margin-bottom:7px;display:flex}.prog-top span{color:var(--ink-2);font-size:12.5px;font-weight:450}.prog-top b{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px;font-weight:500}.bar{background:#edefec;border-radius:2px;height:4px;overflow:hidden}.bar i{background:var(--green);border-radius:2px;width:0;height:100%;transition:width .9s cubic-bezier(.22,.9,.3,1);display:block}.rail-foot{border-top:1px solid var(--line-2);margin-top:4px;padding:10px 16px 14px}.ws-body{padding:12px 16px 16px}.ws-title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);font-size:15px;font-weight:600}.ws-when{background:var(--green-tint);border:1px solid var(--green-line);border-radius:var(--radius-sm);align-items:center;gap:8px;margin-top:10px;padding:9px 11px;display:flex}.ws-when>svg{width:14px;height:14px;stroke:var(--green)}.ws-when div{min-width:0}.ws-when strong{color:var(--green-dark);font-size:12.5px;font-weight:600;display:block}.ws-when div span{font-family:var(--font-mono);color:var(--green);margin-top:1px;font-size:11px;display:block}.ws-count{font-family:var(--font-mono);letter-spacing:.04em;color:var(--green);border:1px solid var(--green-line);background:#fff;border-radius:3px;flex-shrink:0;margin-left:auto;padding:2px 6px;font-size:10px}.ws-desc{color:var(--ink-3);margin-top:12px;font-size:12.5px;line-height:1.55}.ws-acts{flex-direction:column;gap:7px;margin-top:14px;display:flex}.course-head{border-bottom:1px solid var(--line);padding-bottom:26px}.ch-eyebrow{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--green);font-size:10.5px;font-weight:500}.course-head h1{font-family:var(--font-display);letter-spacing:-.028em;color:var(--ink);margin-top:8px;font-size:30px;font-weight:600;line-height:1.12}.ch-desc{color:var(--ink-3);max-width:64ch;margin-top:10px;font-size:14px;line-height:1.6}.ch-progress{flex-wrap:wrap;align-items:flex-end;gap:28px;margin-top:26px;display:flex}.ch-bar-wrap{flex:1;min-width:260px}.ch-figure{align-items:baseline;gap:8px;display:flex}.ch-figure svg{width:18px;height:18px;stroke:var(--green);stroke-width:3px;align-self:center}.ch-pct{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1}.ch-pct-label{color:var(--ink-3);font-size:13px}.ch-bar{background:#e7e9e6;border-radius:3px;height:6px;margin-top:12px;overflow:hidden}.ch-bar i{background:var(--green);border-radius:3px;width:0;height:100%;transition:width .9s cubic-bezier(.22,.9,.3,1);display:block}.ch-sub{font-family:var(--font-mono);color:var(--ink-4);margin-top:10px;font-size:11.5px}.ch-waiting{font-family:var(--font-mono);color:var(--ink-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:7px;padding:9px 13px;font-size:11.5px;display:inline-flex}.ch-waiting svg{width:13px;height:13px;stroke:var(--ink-4)}.curriculum{margin-top:32px}.cur-head{align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.cur-head h2{font-family:var(--font-display);letter-spacing:-.018em;color:var(--ink);font-size:17px;font-weight:600}.cur-note{color:var(--ink-3);max-width:70ch;margin-bottom:18px;font-size:12.5px;line-height:1.55}.cur-list{flex-direction:column;gap:10px;display:flex}.module{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .14s,box-shadow .14s;overflow:hidden}.module.is-open{box-shadow:var(--shadow)}.mod-row{text-align:left;align-items:center;gap:16px;width:100%;padding:16px 18px;transition:background .12s;display:flex}.module:not(.is-locked) .mod-row{cursor:pointer}.module:not(.is-locked) .mod-row:hover{background:var(--surface-2)}.mod-mark{border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;display:grid}.mod-mark svg{width:13px;height:13px}.mod-mark.complete{background:var(--green)}.mod-mark.complete svg{stroke:#fff;stroke-width:2.8px}.mod-mark.in_progress{border:2px solid var(--green);background:var(--green-tint)}.mod-mark.in_progress i{background:var(--green);border-radius:50%;width:8px;height:8px}.mod-mark.not_started{background:var(--surface);border:1.5px solid #d8dcd8}.mod-mark.locked svg{stroke:#bac1c6;stroke-width:1.8px}.mod-body{flex:1;min-width:0}.mod-num{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);font-size:10px;font-weight:500}.mod-title{font-family:var(--font-display);letter-spacing:-.018em;color:var(--ink);margin-top:3px;font-size:16px;font-weight:600;line-height:1.25;display:block}.mod-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:5px;display:flex}.mod-state{font-size:12px;font-weight:600}.mod-state.complete,.mod-state.in_progress{color:var(--green)}.mod-state.not_started{color:var(--ink-3)}.mod-state.locked{color:var(--ink-4);font-weight:500}.mod-dot{background:var(--ink-4);border-radius:50%;flex-shrink:0;width:3px;height:3px}.mod-facts{font-family:var(--font-mono);color:var(--ink-4);font-size:11.5px}.mod-side{flex-shrink:0;align-items:center;gap:12px;display:flex}.mod-chev{width:18px;height:18px;stroke:var(--ink-4);transition:transform .18s}.module.is-open .mod-chev{transform:rotate(90deg)}.module.is-current{border-color:var(--green-line)}.module.is-current .mod-row{border-left:2px solid var(--green);padding-left:16px}.mod-progress{max-width:340px;margin-top:11px}.mod-bar{background:#e7e9e6;border-radius:2px;height:4px;overflow:hidden}.mod-bar i{background:var(--green);border-radius:2px;width:0;height:100%;transition:width .9s cubic-bezier(.22,.9,.3,1);display:block}.mod-next{flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:11px;display:flex}.mod-next .lbl{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);font-size:10px}.mod-next .val{color:var(--ink-2);font-size:13px;font-weight:500}.module.is-locked{background:0 0;border-style:dashed;border-color:#dde1dd}.module.is-locked .mod-title{color:var(--ink-3);font-weight:500}.module.is-locked .mod-num{color:#b4bbc0}.mod-panel{border-top:1px solid var(--line-2);background:var(--surface-2);padding:18px}.mp-desc{color:var(--ink-3);max-width:70ch;font-size:13px;line-height:1.6}.mp-label{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);margin:20px 0 8px;font-size:10px;font-weight:500}.lessons{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.lesson{border-bottom:1px solid var(--line-2);align-items:center;gap:12px;padding:11px 14px;transition:background .12s;display:flex}.lesson:last-child{border-bottom:none}.lesson:hover{background:var(--surface-2)}.lesson.is-current{background:var(--green-tint)}.lesson.is-current:hover{background:#e3f1ea}.les-mark{border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;display:grid}.les-mark.done{background:var(--green)}.les-mark.done svg{stroke:#fff;stroke-width:3.2px;width:10px;height:10px}.les-mark.current{background:var(--green)}.les-mark.current svg{fill:#fff;stroke:none;width:8px;height:8px}.les-mark.todo{background:var(--surface);border:1.5px solid #d8dcd8}.les-body{flex:1;min-width:0}.les-body strong{color:var(--ink-2);letter-spacing:-.005em;font-size:13px;font-weight:500;display:block}.lesson.is-current .les-body strong{color:var(--ink);font-weight:600}.les-tag{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--green);margin-top:2px;font-size:10px;display:block}.les-time{font-family:var(--font-mono);color:var(--ink-4);flex-shrink:0;font-size:11px}.assign{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-top:20px;padding:16px}.assign.is-ready{border-color:var(--green-line)}.assign-top{align-items:flex-start;gap:12px;display:flex}.assign-icon{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.assign-icon svg{width:15px;height:15px;stroke:var(--ink-3)}.assign.is-ready .assign-icon{border-color:var(--green-line);background:var(--green-tint)}.assign.is-ready .assign-icon svg{stroke:var(--green)}.assign.is-complete .assign-icon{background:var(--green);border-color:var(--green)}.assign.is-complete .assign-icon svg{stroke:#fff;stroke-width:2.6px}.assign-body{flex:1;min-width:0}.assign-body .lbl{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);font-size:10px;font-weight:500}.assign-body h4{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin-top:4px;font-size:15px;font-weight:600}.assign-body p{color:var(--ink-3);max-width:62ch;margin-top:6px;font-size:12.5px;line-height:1.55}.assign-foot{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.assign-status{color:var(--ink-4);font-size:12.5px}.assign-status b{color:var(--green);font-weight:600}.mod-done{background:var(--green-tint);border:1px solid var(--green-line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:14px;margin-top:20px;padding:14px 16px;display:flex}.mod-done .md-body{flex:1;min-width:200px}.mod-done strong{font-family:var(--font-display);color:var(--green-dark);letter-spacing:-.012em;font-size:14px;font-weight:600;display:block}.mod-done span{color:var(--green);margin-top:3px;font-size:12.5px;display:block}.lesson-layout{grid-template-columns:minmax(0,1fr) 296px;align-items:start;gap:32px;display:grid}.les-head{margin-bottom:18px}.les-eyebrow{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--green);font-size:10.5px;font-weight:500}.les-head h1{font-family:var(--font-display);letter-spacing:-.028em;color:var(--ink);margin-top:8px;font-size:26px;font-weight:600;line-height:1.15}.les-head .dur{font-family:var(--font-mono);color:var(--ink-4);margin-top:8px;font-size:11.5px;display:block}.video{aspect-ratio:16/9;background:var(--navy);border-radius:var(--radius);place-items:center;display:grid;position:relative;overflow:hidden}.video:after{content:"";pointer-events:none;background:radial-gradient(circle at 50% 45%,#34d3991a,#0000 62%);position:absolute;inset:0}.video-play{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1;background:#ffffff1a;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:62px;height:62px;transition:background .16s,transform .16s;display:grid}.video-play:hover{background:#34d39938;transform:scale(1.04)}.video-play svg{fill:#fff;stroke:none;width:20px;height:20px;margin-left:3px}.video-cap{z-index:1;font-family:var(--font-mono);color:#ffffff8c;font-size:11px;position:absolute;bottom:14px;left:16px}.les-section{margin-top:26px}.les-section h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin-bottom:9px;font-size:15px;font-weight:600}.les-summary{color:var(--ink-2);max-width:70ch;font-size:14px;line-height:1.7}.keypoints{margin-top:4px;list-style:none}.keypoints li{color:var(--ink-2);gap:10px;max-width:70ch;padding:6px 0;font-size:13.5px;line-height:1.6;display:flex}.keypoints li:before{content:"";background:var(--green);border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:9px}.downloads{flex-direction:column;gap:8px;display:flex}.dl{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:11px;padding:11px 13px;transition:border-color .12s,background .12s;display:flex}.dl:hover{border-color:var(--green-line);background:var(--green-tint)}.dl>svg{width:15px;height:15px;stroke:var(--ink-3)}.dl:hover>svg{stroke:var(--green)}.dl-body{flex:1;min-width:0}.dl-body strong{color:var(--ink);font-size:13px;font-weight:500;display:block}.dl-body span{font-family:var(--font-mono);color:var(--ink-4);margin-top:1px;font-size:10.5px;display:block}.les-complete{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px;padding:16px;display:flex}.les-complete.is-done{background:var(--green-tint);border-color:var(--green-line)}.les-complete p{min-width:200px;color:var(--ink-3);flex:1;font-size:13px}.les-complete.is-done p{color:var(--green-dark);font-weight:500}.les-complete .dn{color:var(--green-dark);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.les-complete .dn svg{width:15px;height:15px;stroke:var(--green);stroke-width:2.6px}.prevnext{align-items:stretch;gap:12px;margin-top:14px;display:flex}.pn{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex:1;align-items:center;gap:11px;min-width:0;padding:13px 15px;transition:border-color .12s,background .12s;display:flex}.pn:hover{background:var(--surface-2);border-color:#d5d9d4}.pn>svg{width:16px;height:16px;stroke:var(--ink-3);flex-shrink:0}.pn-body{flex:1;min-width:0}.pn-body .lbl{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);font-size:10px;display:block}.pn-body strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:13px;font-weight:500;display:block;overflow:hidden}.pn-next{text-align:right;justify-content:flex-end}.pn-final{background:var(--green);border-color:var(--green)}.pn-final:hover{background:var(--green-dark);border-color:var(--green-dark)}.pn-final .lbl{color:#fff9}.pn-final strong{color:#fff}.pn-final>svg{stroke:#fff}.pn-empty{pointer-events:none;opacity:.55;background:0 0;border-style:dashed}.les-nav{position:sticky;top:84px}.ln-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.ln-head{border-bottom:1px solid var(--line-2);padding:14px 16px 12px}.ln-head .num{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);font-size:10px}.ln-head strong{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin-top:4px;font-size:14.5px;font-weight:600;display:block}.ln-head .bar{height:3px;margin-top:11px}.ln-head .cnt{font-family:var(--font-mono);color:var(--ink-4);margin-top:7px;font-size:10.5px;display:block}.ln-list{padding:6px}.ln-item{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 10px;transition:background .12s;display:flex}.ln-item:hover{background:var(--surface-2)}.ln-item.is-current{background:var(--green-tint)}.ln-item strong{min-width:0;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;font-weight:450;overflow:hidden}.ln-item.is-current strong{color:var(--ink);font-weight:600}.ln-item .t{font-family:var(--font-mono);color:var(--ink-4);flex-shrink:0;font-size:10.5px}.ln-assign{border-top:1px solid var(--line-2);background:var(--surface-2);padding:12px 16px 14px}.ln-assign .lbl{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);font-size:10px;font-weight:500}.ln-assign strong{color:var(--ink);margin-top:5px;font-size:13px;font-weight:600;display:block}.ln-assign>span{color:var(--ink-4);margin-top:3px;font-size:11.5px;display:block}.ln-back{margin-bottom:18px}.ln-toggle{display:none}.sk{border-radius:var(--radius-sm);background:linear-gradient(90deg,#e9ebe8 25%,#f1f3f0 37%,#e9ebe8 63%) 0 0/400% 100%;animation:1.4s infinite sh}@keyframes sh{0%{background-position:100%}to{background-position:0}}.sk-row{border-radius:var(--radius);height:74px;margin-bottom:10px}.empty{border-radius:var(--radius);text-align:center;border:1px dashed #dde1dd;padding:44px 28px}.empty>svg{width:24px;height:24px;stroke:var(--ink-4);margin:0 auto 14px}.empty strong{font-family:var(--font-display);color:var(--ink);letter-spacing:-.018em;font-size:17px;font-weight:600;display:block}.empty p{color:var(--ink-3);margin-top:8px;max-width:48ch;margin-inline:auto;font-size:13.5px;line-height:1.6}.empty .btn{margin-top:18px}.stub-head{margin-bottom:22px}.stub-head h1{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);font-size:27px;font-weight:600}.stub-head p{color:var(--ink-3);max-width:62ch;margin-top:7px;font-size:13.5px;line-height:1.6}.page-title{margin-bottom:22px}.page-title h1{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);font-size:27px;font-weight:600}.page-title p{color:var(--ink-3);max-width:64ch;margin-top:7px;font-size:13.5px;line-height:1.6}.stat-strip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:26px;display:grid;overflow:hidden}.stat{border-right:1px solid var(--line-2);padding:14px 16px}.stat:last-child{border-right:none}.stat .k{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);font-size:10px;font-weight:500}.stat .v{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:5px;font-size:21px;font-weight:600;line-height:1}.stat .v small{color:var(--ink-4);letter-spacing:0;font-size:12px;font-weight:500}.toolbar{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:16px;display:flex}.chip{color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:5px 13px;font-size:12.5px;font-weight:500;transition:background .12s,border-color .12s,color .12s}.chip:hover{border-color:#d0d5d0}.chip.is-on{background:var(--green);border-color:var(--green);color:#fff}.toolbar .count{font-family:var(--font-mono);color:var(--ink-4);margin-left:auto;font-size:11.5px}.rows{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.row{border-bottom:1px solid var(--line-2);align-items:center;gap:14px;padding:14px 16px;transition:background .12s;display:flex}.row:last-child{border-bottom:none}.row:hover{background:var(--surface-2)}.row.is-muted{opacity:.62}.row-icon{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.row-icon svg{width:14px;height:14px;stroke:var(--ink-3)}.row-icon.done{background:var(--green);border-color:var(--green)}.row-icon.done svg{stroke:#fff;stroke-width:2.8px}.row-body{flex:1;min-width:0}.row-body .k{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-size:10px;font-weight:500}.row-body strong{color:var(--ink);letter-spacing:-.008em;margin-top:2px;font-size:13.5px;font-weight:600;display:block}.row-body span{color:var(--ink-3);margin-top:2px;font-size:12.5px;display:block}.row-side{flex-shrink:0;align-items:center;gap:12px;display:flex}.row-meta{font-family:var(--font-mono);color:var(--ink-4);flex-shrink:0;font-size:11px}.tiles{grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:14px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:18px;display:flex}.tile-icon{border-radius:var(--radius-sm);background:var(--green-tint);border:1px solid var(--green-line);place-items:center;width:32px;height:32px;display:grid}.tile-icon svg{width:15px;height:15px;stroke:var(--green)}.tile .k{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);margin-top:14px;font-size:10px;font-weight:500}.tile h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin-top:5px;font-size:15px;font-weight:600}.tile p{color:var(--ink-3);flex:1;margin-top:7px;font-size:12.5px;line-height:1.55}.tile .btn{align-self:flex-start;margin-top:16px}.pb-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:18px}.pb-section.is-pending{background:0 0;border-style:dashed;border-color:#dde1dd}.pbs-top{align-items:center;gap:12px;display:flex}.pbs-num{width:26px;height:26px;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:600;display:grid}.pbs-num.done{background:var(--green);color:#fff}.pbs-num.done svg{stroke:#fff;stroke-width:2.8px;width:13px;height:13px}.pbs-num.todo{color:var(--ink-4);border:1.5px solid #d8dcd8}.pbs-head{flex:1;min-width:0}.pbs-head .k{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);font-size:10px}.pbs-head h3{font-family:var(--font-display);letter-spacing:-.018em;color:var(--ink);margin-top:3px;font-size:16px;font-weight:600}.pb-section.is-pending .pbs-head h3{color:var(--ink-3);font-weight:500}.pbs-date{font-family:var(--font-mono);color:var(--ink-4);flex-shrink:0;font-size:11px}.pbs-body{background:var(--surface-2);border-left:2px solid var(--green-line);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink-2);margin-top:14px;padding:14px 16px;font-size:13.5px;line-height:1.7}.pbs-empty{color:var(--ink-4);margin-top:10px;font-size:12.5px}.pbs-foot{margin-top:12px}.setting{border-bottom:1px solid var(--line-2);align-items:center;gap:16px;padding:15px 16px;display:flex}.setting:last-child{border-bottom:none}.setting-body{flex:1;min-width:0}.setting-body strong{color:var(--ink);font-size:13.5px;font-weight:600;display:block}.setting-body span{color:var(--ink-3);margin-top:2px;font-size:12.5px;display:block}.switch{background:#d8dcd8;border-radius:11px;flex-shrink:0;width:38px;height:22px;transition:background .16s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0d1a2233}.switch.is-on{background:var(--green)}.switch.is-on:after{transform:translate(16px)}.kv{border-bottom:1px solid var(--line-2);align-items:baseline;gap:14px;padding:12px 16px;display:flex}.kv:last-child{border-bottom:none}.kv .k{color:var(--ink-3);flex-shrink:0;width:150px;font-size:12.5px}.kv .v{color:var(--ink);font-size:13.5px;font-weight:500}.calc{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:14px;display:grid}.field label{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);margin-bottom:6px;font-size:10px;font-weight:500;display:block}.field input{width:100%;height:38px;font-family:var(--font-mono);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 11px;font-size:13.5px;transition:border-color .12s}.field input:focus{border-color:var(--green);outline:none}.calc-out{background:var(--navy);border-radius:var(--radius);color:#fff;flex-wrap:wrap;gap:32px;margin-top:18px;padding:16px;display:flex}.calc-out .o{min-width:120px}.calc-out .k{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#ffffff6b;font-size:10px}.calc-out .v{font-family:var(--font-display);letter-spacing:-.028em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:24px;font-weight:600;line-height:1}.calc-out .v.accent{color:var(--green-lite)}.calc-note{color:var(--ink-4);margin-top:12px;font-size:12px;line-height:1.55}.article{max-width:74ch}.article-meta{flex-wrap:wrap;align-items:center;gap:9px;margin-top:10px;display:flex}.article-meta .k{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-size:10px;font-weight:500}.article-meta .d{font-family:var(--font-mono);color:var(--ink-4);font-size:11.5px}.article h1{font-family:var(--font-display);letter-spacing:-.028em;color:var(--ink);margin-top:9px;font-size:28px;font-weight:600;line-height:1.15}.article-lede{color:var(--ink-2);margin-top:18px;font-size:15px;line-height:1.7}.video-bar{z-index:2;background:#ffffff24;height:3px;position:absolute;bottom:0;left:0;right:0}.video-bar i{background:var(--green-lite);width:0;height:100%;transition:width .25s linear;display:block}.video-time{z-index:1;font-family:var(--font-mono);color:#ffffff8c;font-size:11px;position:absolute;bottom:14px;right:16px}.assign-progress{margin-bottom:26px}.ap-top{align-items:baseline;gap:10px;margin-bottom:9px;display:flex}.ap-count{color:var(--ink);font-size:13.5px;font-weight:600}.ap-pct{color:var(--ink-4);margin-left:auto;font-size:12px}.resume.ca .ca-desc{color:#ffffff9e;max-width:62ch;margin-top:10px;font-size:13.5px;line-height:1.6}.ca-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.ca-status{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--green-lite);background:#34d3991f;border:1px solid #34d39947;border-radius:3px;padding:2px 8px;font-size:10.5px;font-weight:500}.ca-saved{font-family:var(--font-mono);color:#ffffff6b;font-size:11px}.row-icon.prog{border:2px solid var(--green);background:var(--green-tint);place-items:center;display:grid}.row-icon.prog i{background:var(--green);border-radius:50%;width:8px;height:8px}.assign-done{background:var(--green-tint);border:1px solid var(--green-line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:22px;padding:16px;display:flex}.ad-icon{background:var(--green);border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.ad-icon svg{stroke:#fff;width:15px;height:15px}.ad-body{flex:1;min-width:220px}.ad-body strong{font-family:var(--font-display);letter-spacing:-.015em;color:var(--green-dark);font-size:15px;font-weight:600;display:block}.ad-body span{color:var(--green);margin-top:3px;font-size:12.5px;line-height:1.55;display:block}.assign-bar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);z-index:30;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;padding:12px 16px;display:flex;position:sticky;top:72px}.ab-progress{align-items:center;gap:11px;display:flex}.ab-progress .bar{width:130px}.ab-progress span{color:var(--ink-3);font-size:11.5px}.autosave{font-family:var(--font-mono);color:var(--ink-4);align-items:center;gap:7px;margin-left:auto;font-size:11px;display:inline-flex}.autosave .dot{background:#c9cfd3;border-radius:50%;width:6px;height:6px;transition:background .16s}.autosave.is-saving .dot{background:var(--amber);animation:1s infinite pulse}.autosave.is-saved .dot{background:var(--green)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.qlist{flex-direction:column;gap:12px;display:flex}.qcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.qcard.is-answered{border-color:var(--green-line)}.q-head{align-items:flex-start;gap:12px;margin-bottom:13px;display:flex}.q-num{width:22px;height:22px;font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--line);color:var(--ink-3);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:600;display:grid}.qcard.is-answered .q-num{background:var(--green-tint);border-color:var(--green-line);color:var(--green)}.q-title{flex:1;min-width:0}.q-title strong{letter-spacing:-.012em;color:var(--ink);font-size:14.5px;font-weight:600;line-height:1.35;display:block}.q-title span{color:var(--ink-3);margin-top:4px;font-size:12.5px;line-height:1.5;display:block}.q-opt-tag{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);flex-shrink:0;font-size:10px}.q-tick{flex-shrink:0}.q-tick svg{width:14px;height:14px;stroke:var(--green)}.q-input{width:100%;font-family:var(--font-ui);color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;font-size:13.5px;transition:border-color .12s,background .12s}.q-input::placeholder{color:var(--ink-4)}.q-input:focus{border-color:var(--green);background:var(--surface);outline:none}.q-area{resize:vertical;min-height:104px;line-height:1.65}.q-narrow{max-width:170px}.q-suffix{align-items:center;gap:8px;display:inline-flex}.q-suffix .sfx{font-family:var(--font-mono);color:var(--ink-4);font-size:13px}.q-opts{flex-direction:column;gap:7px;display:flex}.q-opt{text-align:left;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);width:100%;color:var(--ink-2);align-items:center;gap:11px;padding:10px 13px;font-size:13px;transition:border-color .12s,background .12s,color .12s;display:flex}.q-opt:hover{border-color:#d0d5d0}.q-opt.is-on{background:var(--green-tint);border-color:var(--green-line);color:var(--ink);font-weight:500}.q-radio{background:#fff;border:1.5px solid #cbd1cd;border-radius:50%;flex-shrink:0;width:15px;height:15px}.q-opt.is-on .q-radio{border-color:var(--green);border-width:4.5px}.q-box{background:#fff;border:1.5px solid #cbd1cd;border-radius:3px;flex-shrink:0;place-items:center;width:15px;height:15px;display:grid}.q-box svg{stroke:#fff;opacity:0;width:9px;height:9px}.q-opt.is-on .q-box{background:var(--green);border-color:var(--green)}.q-opt.is-on .q-box svg{opacity:1}.q-tbl{background:var(--line);border:1px solid var(--line);border-radius:var(--radius-sm);gap:1px;display:grid;overflow:hidden}.q-th{background:var(--surface-2);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);padding:9px 11px;font-size:10px;font-weight:500}.q-td{background:var(--surface);font-family:var(--font-ui);color:var(--ink);border:none;min-width:0;padding:9px 11px;font-size:13px}.q-td:focus{background:var(--green-tint);outline:none}.q-pb{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-4);align-items:center;gap:7px;margin-top:12px;font-size:10.5px;display:flex}.q-pb svg{width:12px;height:12px;stroke:var(--ink-4)}.assign-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;padding-top:18px;display:flex}.assign-hint{color:var(--ink-4);flex:1;min-width:220px;font-size:12px}.pbs-entry+.pbs-entry{margin-top:12px}.pbs-q{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);margin-bottom:5px;font-size:10px;font-weight:500}.modal-scrim{z-index:80;background:#0d1a2273;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:430px;padding:24px;box-shadow:0 20px 50px #0d1a2238}.modal h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:18px;font-weight:600}.modal p{color:var(--ink-3);margin-top:10px;font-size:13.5px;line-height:1.6}.modal-foot{justify-content:flex-end;gap:9px;margin-top:22px;display:flex}@media (max-width:760px){.assign-bar{position:static}.ab-progress .bar{width:90px}.q-tbl{grid-template-columns:1fr!important}.q-th{display:none}.assign-foot .btn{width:100%}}.pb-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-start;gap:32px;margin-bottom:30px;padding-bottom:26px;display:flex}.pb-head-main{flex:1;min-width:280px}.pb-head h1{font-family:var(--font-display);letter-spacing:-.028em;color:var(--ink);font-size:30px;font-weight:600;line-height:1.12}.pb-sub{color:var(--ink-3);max-width:60ch;margin-top:9px;font-size:14px;line-height:1.6}.pb-prog{max-width:440px;margin-top:22px}.pb-prog-top{align-items:center;gap:8px;margin-bottom:9px;display:flex}.pb-built{color:var(--ink);font-size:14px;font-weight:600}.pb-done-tick{width:16px;height:16px;stroke:var(--green)}.pb-note{color:var(--ink-4);margin-top:12px;font-size:12.5px}.pb-head-side{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.pb-head-side .btn[disabled]{opacity:.45;pointer-events:none}.pb-layout{grid-template-columns:minmax(0,1fr) 244px;align-items:start;gap:40px;display:grid}.pb-doc{min-width:0}.pb-toc{position:sticky;top:84px}.toc-toggle{display:none}.toc-card{border-left:1px solid var(--line);padding-left:18px}.toc-head{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);margin-bottom:12px;font-size:10px;font-weight:500}.toc-list{flex-direction:column;gap:2px;display:flex}.toc-item{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--ink-3);align-items:center;gap:10px;padding:6px 8px 6px 0;font-size:12.5px;line-height:1.35;transition:color .12s;display:flex}.toc-item:hover{color:var(--ink)}.toc-item.complete{color:var(--ink-2)}.toc-item.in_progress{color:var(--ink);font-weight:600}.toc-item span{flex:1;min-width:0}.toc-m{border-radius:50%;flex-shrink:0;place-items:center;width:15px;height:15px;display:grid}.toc-m.done{background:var(--green)}.toc-m.done svg{stroke:#fff;width:9px;height:9px}.toc-m.prog{border:2px solid var(--green);background:var(--green-tint)}.toc-m.prog i{background:var(--green);border-radius:50%;width:5px;height:5px}.toc-m.todo{background:var(--surface);border:1.5px solid #d8dcd8}.chapter{border-bottom:1px solid var(--line);margin-bottom:34px;padding-bottom:34px;scroll-margin-top:90px}.chapter:last-child{border-bottom:none;margin-bottom:0}.chapter.is-quiet .ch-title h2{color:var(--ink-3);font-weight:500}.ch-top{align-items:flex-start;gap:16px;display:flex}.ch-num{font-family:var(--font-mono);color:var(--ink-4);letter-spacing:.06em;flex-shrink:0;padding-top:6px;font-size:12px;font-weight:500}.ch-title{flex:1;min-width:0}.ch-title h2{font-family:var(--font-display);letter-spacing:-.024em;color:var(--ink);font-size:22px;font-weight:600;line-height:1.2}.ch-state{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;border-radius:3px;margin-top:7px;padding:2px 8px;font-size:10px;font-weight:500;display:inline-block}.ch-state.complete{color:var(--green);background:var(--green-tint);border:1px solid var(--green-line)}.ch-state.in_progress{color:var(--amber);background:var(--amber-tint);border:1px solid var(--amber-line)}.ch-state.locked{color:var(--ink-4);border:1px solid var(--line);background:#f1f2f0}.ch-body{margin-top:22px;padding-left:44px}.ch-field+.ch-field{margin-top:22px}.ch-field h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin-bottom:8px;font-size:14px;font-weight:600}.ch-text{color:var(--ink-2);max-width:68ch;font-size:14px;line-height:1.7}.ch-list{max-width:68ch;list-style:none}.ch-list li{color:var(--ink-2);margin-bottom:6px;padding-left:18px;font-size:14px;line-height:1.65;position:relative}.ch-list li:before{content:"";background:var(--green);border-radius:50%;width:5px;height:5px;position:absolute;top:9px;left:2px}.ch-msg{color:var(--ink-3);max-width:60ch;font-size:13.5px;line-height:1.6}.ch-foot{flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px;padding-left:44px;display:flex}.ch-src{font-family:var(--font-mono);color:var(--ink-4);font-size:10.5px}.ch-lock{font-family:var(--font-mono);color:var(--ink-4);align-items:center;gap:7px;font-size:11px;display:inline-flex}.ch-lock svg{width:13px;height:13px;stroke:var(--ink-4)}.ch-edit+.ch-edit{margin-top:16px}.ch-edit label{color:var(--ink);margin-bottom:5px;font-size:13px;font-weight:600;display:block}.ch-hint{color:var(--ink-4);margin-bottom:7px;font-size:11.5px;display:block}.pbb{border:1px solid var(--green-line);border-radius:var(--radius);margin-top:20px;overflow:hidden}.pbb-head{background:var(--green-tint);border-bottom:1px solid var(--green-line);align-items:center;gap:12px;padding:15px 18px;display:flex}.pbb-icon{border-radius:var(--radius-sm);border:1px solid var(--green-line);background:#fff;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.pbb-icon svg{width:14px;height:14px;stroke:var(--green)}.pbb-head>div{flex:1;min-width:0}.pbb-head strong{font-family:var(--font-display);letter-spacing:-.015em;color:var(--green-dark);font-size:15px;font-weight:600;display:block}.pbb-head span{color:var(--green);margin-top:2px;font-size:12.5px;line-height:1.5;display:block}.pbb-count{color:var(--green);flex-shrink:0;font-size:11.5px}.pbb-fields{background:var(--surface);padding:18px}.pbb-field+.pbb-field{margin-top:16px}.pbb-field label{color:var(--ink);margin-bottom:6px;font-size:13px;font-weight:600;display:block}@media (max-width:1060px){.pb-layout{grid-template-columns:minmax(0,1fr);gap:20px}.pb-toc{order:-1;position:static}.toc-toggle{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--ink);align-items:center;gap:10px;padding:13px 15px;font-size:13.5px;font-weight:600;display:flex}.toc-toggle svg{width:16px;height:16px;stroke:var(--ink-3);transition:transform .18s}.toc-toggle .cnt{font-family:var(--font-mono);color:var(--ink-4);margin-left:auto;font-size:11px;font-weight:400}.pb-toc.is-open .toc-toggle svg.chev{transform:rotate(90deg)}.toc-card{border-left:none;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-top:10px;padding:14px 16px;display:none}.pb-toc.is-open .toc-card{display:block}}@media (max-width:760px){.pb-head{gap:18px}.pb-head h1{font-size:24px}.pb-head-side{align-items:stretch;width:100%}.pb-head-side .btn{width:100%}.ch-body,.ch-foot{padding-left:0}.ch-top{gap:12px}.ch-title h2{font-size:19px}.ch-foot .btn{width:100%}}.chapter.is-capstone .ch-title h2{color:var(--ink)}.capstone{border-top:1px solid var(--line-2);margin-top:26px;padding-top:24px}.flow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.flow-step{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:4px 9px;font-size:10.5px;font-weight:500}.flow-step.is-on{color:var(--green);background:var(--green-tint);border-color:var(--green-line)}.flow-arrow{place-items:center;display:grid}.flow-arrow svg{stroke:#c4cace;width:11px;height:11px}.flow-note{color:var(--ink-4);margin-top:12px;font-size:12.5px;line-height:1.55}.spine-governs{background:var(--surface-2);border-left:2px solid var(--green-line);border-radius:0 4px 4px 0;margin-top:20px;padding:14px 16px}.spine-governs .k{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);margin-bottom:8px;font-size:10px;font-weight:500;display:block}.spine-governs .ch-list li{font-size:13px}.spine{margin-top:24px}.spine-step{gap:16px;padding-bottom:22px;display:flex;position:relative}.spine-step:last-child{padding-bottom:0}.spine-step:before{content:"";background:var(--line);width:1px;position:absolute;top:26px;bottom:0;left:11px}.spine-step:last-child:before{display:none}.spine-dot{z-index:1;background:var(--green);color:#fff;width:23px;height:23px;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;place-items:center;font-size:10.5px;font-weight:600;display:grid}.spine-dot svg{stroke:#fff;width:11px;height:11px}.spine-step.is-pending .spine-dot{background:var(--surface);color:var(--ink-4);border:1.5px solid #d8dcd8}.spine-body{flex:1;min-width:0;padding-top:1px}.spine-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.spine-head strong{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);font-size:15px;font-weight:600}.spine-blurb{color:var(--ink-4);font-size:12.5px}.spine-step.is-pending .spine-head strong{color:var(--ink-3);font-weight:500}.spine-todo{font-family:var(--font-mono);color:var(--ink-4);font-size:11px}.spine .ch-list li{margin-bottom:5px;font-size:13.5px}@media (max-width:760px){.flow{gap:4px}.flow-step{padding:3px 7px;font-size:9.5px}.spine-step{gap:12px}}.tk-note{color:var(--ink-4);margin-top:8px;font-size:12.5px}.tk-tick{font-family:var(--font-mono);color:var(--ink-4);letter-spacing:.04em;font-size:11px;font-weight:500}.tk-draft{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--amber);background:var(--amber-tint);border:1px solid var(--amber-line);border-radius:3px;padding:2px 7px;font-size:10px;font-weight:500}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.tool-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:20px;transition:border-color .14s,box-shadow .14s;display:flex}.tool-card:hover{border-color:var(--green-line);box-shadow:var(--shadow)}.tc-top{align-items:center;gap:10px;display:flex}.tc-icon{border-radius:var(--radius-sm);background:var(--green-tint);border:1px solid var(--green-line);flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.tc-icon svg{width:16px;height:16px;stroke:var(--green)}.tc-count{color:var(--ink-4);margin-left:auto;font-size:11px}.tool-card h3{font-family:var(--font-display);letter-spacing:-.018em;color:var(--ink);margin-top:15px;font-size:16px;font-weight:600}.tool-card p{color:var(--ink-3);flex:1;margin-top:8px;font-size:12.5px;line-height:1.6}.tc-foot{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.tc-cta{color:var(--green);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:inline-flex}.tc-cta svg{width:13px;height:13px;stroke:var(--green)}.tool-card:hover .tc-cta{color:var(--green-dark)}.tc-mod{font-family:var(--font-mono);color:var(--ink-4);margin-left:auto;font-size:10.5px}.tk-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-start;gap:28px;margin-bottom:26px;padding-bottom:24px;display:flex}.tk-head>div{flex:1;min-width:260px}.tk-head h1{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);font-size:27px;font-weight:600}.tk-head p{color:var(--ink-3);max-width:62ch;margin-top:8px;font-size:13.5px;line-height:1.6}.tw-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-start;gap:24px;margin-bottom:28px;padding-bottom:22px;display:flex}.tw-title{flex:1;min-width:260px}.tw-tool{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--green);font-size:10.5px;font-weight:500}.tw-head h1{font-family:var(--font-display);letter-spacing:-.026em;color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:11px;margin-top:8px;font-size:27px;font-weight:600;line-height:1.15;display:flex}.tw-tick{font-family:var(--font-mono);letter-spacing:.05em;color:var(--ink-4);font-size:13px;font-weight:500}.tw-head .autosave{margin-top:10px;margin-left:0}.tw-actions{flex-wrap:wrap;gap:8px;display:flex}.tw-doc{max-width:78ch}.tw-sec{border-bottom:1px solid var(--line-2);margin-bottom:26px;padding-bottom:26px}.tw-sec:last-child{border-bottom:none;margin-bottom:0}.tw-sec.is-ident{padding-bottom:22px}.tw-sec-head{align-items:flex-start;gap:13px;margin-bottom:16px;display:flex}.tw-n{background:var(--surface);border:1px solid var(--line);width:22px;height:22px;font-family:var(--font-mono);color:var(--ink-3);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:600;display:grid}.tw-sec-head h2{font-family:var(--font-display);letter-spacing:-.018em;color:var(--ink);font-size:17px;font-weight:600}.tw-sec-head span{color:var(--ink-4);margin-top:4px;font-size:12.5px;line-height:1.5;display:block}.tw-sec.is-later{opacity:.85}.tw-fields{flex-direction:column;gap:16px;display:flex}.tw-sec.is-ident .tw-fields{flex-flow:wrap;gap:16px 20px}.tw-field{min-width:0}.tw-field.is-tight{flex:none}.tw-field label{color:var(--ink);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.tw-prompt{color:var(--ink-4);margin-bottom:7px;font-size:12px;line-height:1.5;display:block}.tw-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.q-suffix .sfx.pre{order:-1}.q-opts.is-inline{flex-flow:wrap}.q-opts.is-inline .q-opt{width:auto}.scen{flex-direction:column;gap:8px;display:flex}.scen-row{grid-template-columns:150px repeat(3,minmax(0,1fr));align-items:center;gap:10px;display:grid}.scen-row.is-head{margin-bottom:2px}.scen-case{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;text-align:center;border-radius:3px;padding:4px 0;font-size:10px;font-weight:500}.scen-case.bull{color:var(--green);background:var(--green-tint)}.scen-case.base{color:var(--ink-2);background:#eff1ee}.scen-case.bear{color:#9a3b3b;background:#fbeeee}.scen-label{color:var(--ink-2);font-size:12.5px}.scen-cell{align-items:center;gap:5px;display:flex}.scen-cell .q-input{text-align:right;width:100%;padding:8px 10px}.tw-compute{border-top:1px solid var(--line);max-width:78ch;margin-top:30px;padding-top:24px}.tw-compute-head{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);margin-bottom:12px;font-size:10px;font-weight:500}.calc-out .o .sub{font-family:var(--font-mono);color:#ffffff73;margin-top:5px;font-size:10.5px}@media (max-width:900px){.tool-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.tw-head h1{font-size:22px}.tw-actions{width:100%}.tw-actions .btn{flex:1}.tk-head .btn{width:100%}.scen-row{grid-template-columns:1fr;gap:5px}.scen-row.is-head{display:none}.scen-cell:after{content:attr(data-case)}.tw-sec.is-ident .tw-fields{flex-direction:column}.tw-tbl{overflow-x:auto}}.rl-filters{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:24px;display:flex}.rl-cats{flex-wrap:wrap;gap:7px;display:flex}.rl-fmt{align-items:center;gap:4px;margin-left:auto;display:flex}.rl-fmt-label{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);margin-right:5px;font-size:10px;font-weight:500}.fmt{color:var(--ink-3);border-radius:3px;padding:3px 9px;font-size:11.5px;font-weight:500;transition:background .12s,color .12s}.fmt:hover{color:var(--ink);background:var(--surface-2)}.fmt.is-on{color:var(--ink);background:#e9ebe7;font-weight:600}.featured{background:var(--surface);border:1px solid var(--line);border-left:2px solid var(--green);border-radius:var(--radius);padding:24px 26px;transition:box-shadow .14s,border-color .14s;display:block}.featured:hover{box-shadow:var(--shadow);border-color:var(--green-line);border-left-color:var(--green)}.ft-type{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--green);font-size:10px;font-weight:500}.featured h2{font-family:var(--font-display);letter-spacing:-.026em;color:var(--ink);margin-top:8px;font-size:23px;font-weight:600;line-height:1.2}.ft-fmt{font-family:var(--font-mono);color:var(--ink-3);align-items:center;gap:7px;margin-top:10px;font-size:11.5px;display:inline-flex}.ft-fmt svg{width:13px;height:13px;stroke:var(--ink-3)}.featured p{color:var(--ink-3);max-width:70ch;margin-top:12px;font-size:13.5px;line-height:1.65}.ft-foot{flex-wrap:wrap;align-items:center;gap:16px;margin-top:18px;display:flex}.rl-list{border-top:1px solid var(--line)}.rl-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:24px;padding:20px 4px;transition:background .12s,padding-left .14s;display:flex}.rl-row:hover{background:#ffffffa6;padding-left:10px}.rl-main{flex:1;min-width:0}.rl-type{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--green);font-size:10px;font-weight:500}.rl-row h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin-top:6px;font-size:17px;font-weight:600;line-height:1.25}.rl-co{color:var(--ink-3);margin-top:6px;font-size:12.5px}.rl-co .tick{font-family:var(--font-mono);color:var(--ink);letter-spacing:.04em;font-weight:600}.rl-row p{color:var(--ink-3);max-width:74ch;margin-top:8px;font-size:13px;line-height:1.6}.rl-meta{flex-wrap:wrap;align-items:center;gap:14px;margin-top:11px;display:flex}.rl-fmt-chip{font-family:var(--font-mono);color:var(--ink-2);align-items:center;gap:6px;font-size:11px;display:inline-flex}.rl-fmt-chip svg{width:12px;height:12px;stroke:var(--ink-3)}.rl-dates{font-family:var(--font-mono);color:var(--ink-4);font-size:11px}.rl-cta{color:var(--green);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;margin-top:22px;font-size:12.5px;font-weight:600;display:inline-flex}.rl-cta svg{width:13px;height:13px;stroke:var(--green)}.rl-row:hover .rl-cta{color:var(--green-dark)}.rl-list.is-compact{border-top:none}.rl-row.is-compact{align-items:center;padding:13px 4px}.rl-row.is-compact h3{margin-top:4px;font-size:14px}.rl-row.is-compact .rl-meta{margin-top:6px}.rl-empty{border-radius:var(--radius);text-align:center;border:1px dashed #dde1dd;margin-top:14px;padding:36px 24px}.rl-empty strong{font-family:var(--font-display);color:var(--ink);letter-spacing:-.018em;font-size:16px;font-weight:600;display:block}.rl-empty p{color:var(--ink-3);margin-top:6px;font-size:13px}.rl-empty .btn{margin-top:16px}.rd-head{border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:22px}.rd-type{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--green);font-size:10.5px;font-weight:500}.rd-head h1{font-family:var(--font-display);letter-spacing:-.028em;color:var(--ink);margin-top:9px;font-size:28px;font-weight:600;line-height:1.15}.rd-co{color:var(--ink-3);margin-top:9px;font-size:13.5px}.rd-co .tick{font-family:var(--font-mono);color:var(--ink);letter-spacing:.04em;font-weight:600}.rd-meta{flex-wrap:wrap;align-items:center;gap:16px;margin-top:12px;display:flex}.rd-actions{flex-wrap:wrap;gap:9px;margin-bottom:24px;display:flex}.rd-discuss{border-top:1px solid var(--line-2);margin-top:26px;padding-top:18px}.rd-discuss .link svg{width:14px;height:14px}.reader{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:26px;overflow:hidden}.reader-bar{background:var(--surface-2);border-bottom:1px solid var(--line);z-index:20;align-items:center;gap:12px;padding:11px 16px;display:flex;position:sticky;top:60px}.reader-title{color:var(--ink);flex:1;min-width:0;font-size:12.5px;font-weight:600}.reader-pages{color:var(--ink-4);font-size:11px}.reader-doc{max-width:74ch;padding:32px 40px 36px}.reader-sec{border-bottom:1px solid var(--line-2);margin-bottom:26px;padding-bottom:26px}.reader-sec:last-of-type{border-bottom:none}.reader-num{letter-spacing:.11em;color:var(--ink-4);font-size:10.5px}.reader-sec h4{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:7px 0 12px;font-size:17px;font-weight:600}.reader-sec p{color:var(--ink-2);margin-bottom:13px;font-size:14.5px;line-height:1.75}.reader-sec p:last-child{margin-bottom:0}.reader-none{color:var(--ink-3);font-size:13.5px}.reader-end{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);text-align:center;padding-top:8px;font-size:10.5px}@media (max-width:760px){.rl-filters{gap:12px}.rl-cats{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.rl-cats .chip{flex-shrink:0}.rl-fmt{margin-left:0}.rl-row{flex-direction:column;gap:0}.rl-cta{margin-top:14px}.featured{padding:20px 18px}.featured h2{font-size:20px}.rd-head h1{font-size:22px}.rd-actions .btn{flex:1}.reader-doc{padding:22px 18px 26px}.reader-bar{position:static}}.ws-header{flex-wrap:wrap;align-items:flex-start;gap:32px;margin-bottom:26px;display:flex}.ws-header-main{flex:1;min-width:280px}.ws-header h1{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);font-size:27px;font-weight:600}.ws-header p{color:var(--ink-3);max-width:56ch;margin-top:8px;font-size:13.5px;line-height:1.6}.ws-part{min-width:210px}.ws-part .k{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);font-size:10px;font-weight:500}.ws-part .v{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin-top:6px;font-size:18px;font-weight:600}.ws-part .v .pct{font-family:var(--font-mono);color:var(--ink-4);letter-spacing:0;font-size:13px;font-weight:500}.ws-part .bar{margin-top:9px}.ws-hero .ca-desc{color:#ffffff9e;max-width:62ch;margin-top:12px;font-size:13.5px;line-height:1.6}.ws-when-hero{flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:12px;display:flex}.ws-when-hero .d{font-family:var(--font-display);color:#ffffffeb;letter-spacing:-.012em;font-size:16px;font-weight:500}.ws-when-hero .t{font-family:var(--font-mono);color:var(--green-lite);font-size:13px}.ws-hero-acts{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.ws-hero-acts .btn-ghost{color:#ffffffdb;background:0 0;border-color:#fff3}.ws-hero-acts .btn-ghost:hover{background:#ffffff12;border-color:#ffffff52}.ws-hero-acts .btn-ghost svg{stroke:#ffffffdb}.ws-hero.is-quiet{background:var(--surface);border:1px solid var(--line)}.ws-hero.is-quiet:after{display:none}.ws-hero.is-quiet h2{color:var(--ink)}.ws-hero.is-quiet .resume-eyebrow{color:var(--amber)}.ws-hero.is-quiet .ca-desc{color:var(--ink-3)}.ws-livedot{background:var(--green-lite);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #34d39938}.catchup{background:var(--amber-tint);border:1px solid var(--amber-line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:20px;margin-top:14px;padding:18px 20px;display:flex}.cu-body{flex:1;min-width:240px}.cu-label{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--amber);font-size:10px;font-weight:500}.cu-body strong{font-family:var(--font-display);letter-spacing:-.018em;color:#5c4207;margin-top:6px;font-size:16px;font-weight:600;display:inline-block}.cu-dur{font-family:var(--font-mono);color:var(--amber);margin-left:9px;font-size:11.5px}.cu-body p{color:#7a5a17;margin-top:6px;font-size:12.5px;line-height:1.55}.ws-group+.ws-group{margin-top:24px}.ws-month{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);border-bottom:1px solid var(--line);margin-bottom:2px;padding-bottom:9px;font-size:10px;font-weight:500}.ws-row{border-bottom:1px solid var(--line-2);align-items:center;gap:16px;padding:14px 4px;transition:background .12s,padding-left .14s;display:flex}.ws-row:hover{background:#ffffffb3;padding-left:10px}.ws-mark{background:var(--surface);border:1.5px solid #d8dcd8;border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;display:grid}.ws-mark.done{background:var(--green);border-color:var(--green)}.ws-mark.done svg{stroke:#fff;width:10px;height:10px}.ws-date{color:var(--ink-2);flex-shrink:0;width:58px;font-size:12px;font-weight:500}.ws-body{flex:1;min-width:0}.ws-body strong{color:var(--ink);letter-spacing:-.008em;font-size:13.5px;font-weight:600;display:block}.ws-topics{color:var(--ink-4);margin-top:3px;font-size:12px}.ws-side{flex-shrink:0;align-items:center;gap:16px;display:flex}.ws-status{color:var(--ink-4);font-size:11.5px}.ws-status.is-done{color:var(--green);font-weight:500}.ws-dur{color:var(--ink-4);text-align:right;width:74px;font-size:11px}.ws-cta{color:var(--green);align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:inline-flex}.ws-cta svg{width:12px;height:12px;stroke:var(--green)}.ws-part-tag{color:var(--green);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.ws-part-tag svg{width:13px;height:13px;stroke:var(--green)}.ws-tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.ws-tag{font-family:var(--font-mono);color:var(--ink-3);background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:3px 9px;font-size:10.5px}.stamps{flex-direction:column;gap:2px;display:flex}.stamp{text-align:left;border-radius:var(--radius-sm);align-items:baseline;gap:14px;width:100%;padding:9px 11px;transition:background .12s;display:flex}.stamp:hover{background:var(--surface)}.stamp.is-on{background:var(--green-tint)}.stamp .mono{color:var(--green);flex-shrink:0;width:52px;font-size:11.5px;font-weight:500}.stamp .lbl{color:var(--ink-2);font-size:13.5px}.stamp.is-on .lbl{color:var(--ink);font-weight:500}.rd-q{color:var(--ink-3);margin-bottom:7px;font-size:13px;display:block}@media (max-width:760px){.ws-header{gap:18px}.ws-header h1{font-size:23px}.ws-hero-acts{width:100%;margin-left:0}.ws-hero-acts .btn{flex:1}.ws-row{flex-wrap:wrap;gap:10px}.ws-date{width:auto}.ws-body{flex-basis:100%;order:3}.ws-side{order:4;justify-content:space-between;width:100%}.ws-dur{width:auto}.catchup .btn{width:100%}.stamp{gap:10px}}.tk-sub{color:var(--ink-3);max-width:70ch;margin:-6px 0 14px;font-size:12.5px;line-height:1.55}.tool-card.is-wide{flex-direction:row;grid-column:1/-1;align-items:flex-start;gap:18px;margin-bottom:0;display:flex}.tw-wide-body{flex:1;min-width:0}.tool-card.is-wide h3{margin-top:0}.tool-card.is-wide p{flex:none;max-width:74ch;margin-top:7px}.tool-card.is-wide .tc-cta{margin-top:14px}.tool-card.is-wide .tc-count{flex-shrink:0;margin-left:0}.ai-note{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);align-items:flex-start;gap:11px;margin-bottom:28px;padding:13px 15px;display:flex}.ai-note>svg{width:15px;height:15px;stroke:var(--ink-4);margin-top:2px}.ai-note p{color:var(--ink-3);font-size:12.5px;line-height:1.6}.pr-group+.pr-group{margin-top:32px}.pr-cat{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:9px;font-size:10px;font-weight:500}.pr-cards{flex-direction:column;gap:10px;display:flex}.pr-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .14s;overflow:hidden}.pr-card.is-open{border-color:var(--green-line);box-shadow:var(--shadow)}.pr-head{text-align:left;align-items:center;gap:16px;width:100%;padding:15px 18px;transition:background .12s;display:flex}.pr-head:hover{background:var(--surface-2)}.pr-title{flex:1;min-width:0}.pr-title strong{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);font-size:15px;font-weight:600;display:block}.pr-title span{color:var(--ink-3);margin-top:4px;font-size:12.5px;line-height:1.55;display:block}.pr-chev{width:17px;height:17px;stroke:var(--ink-4);flex-shrink:0;transition:transform .18s}.pr-card.is-open .pr-chev{transform:rotate(90deg)}.pr-body{border-top:1px solid var(--line-2);background:var(--surface-2);padding:18px}.pr-block+.pr-block{margin-top:18px}.pr-label{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);margin-bottom:7px;font-size:10px;font-weight:500}.pr-block p{color:var(--ink-2);max-width:70ch;font-size:13px;line-height:1.65}.pr-block .ch-list li{font-size:13px}.pr-text{font-family:var(--font-mono);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;max-height:340px;margin-bottom:12px;padding:15px 16px;font-size:12px;line-height:1.7;overflow-y:auto}.guide-list{flex-direction:column;display:flex}.guide-row{border-bottom:1px solid var(--line-2);align-items:flex-start;gap:24px;padding:18px 4px;display:flex}.guide-row:last-child{border-bottom:none}.guide-main{flex:1;min-width:0}.guide-main>strong{font-family:var(--font-display);letter-spacing:-.018em;color:var(--ink);font-size:15.5px;font-weight:600;display:block}.guide-block{margin-top:10px}.guide-block .k{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--green);margin-bottom:4px;font-size:10px;font-weight:500;display:block}.guide-block p{color:var(--ink-2);max-width:72ch;font-size:13px;line-height:1.65}.guide-row .btn{flex-shrink:0;margin-top:2px}@media (max-width:760px){.tool-card.is-wide{flex-direction:column;gap:12px}.pr-text{max-height:260px;font-size:11px}.pr-body .btn{width:100%}.guide-row{flex-direction:column;gap:12px}.guide-row .btn{width:100%}}body.is-onboarding .cc-sidebar,body.is-onboarding .cc-collapse,body.is-onboarding .cc-scrim,body.is-onboarding .topbar,body.is-onboarding .disclaimer{display:none}body.is-onboarding .main{margin-left:0}body.is-onboarding .wrap{max-width:760px;padding-top:0}.ob-shell{padding-top:6px}.ob-top{align-items:center;gap:12px;padding:22px 0 26px;display:flex}.ob-brand{align-items:center;gap:9px;display:flex}.ob-brandname{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);font-size:15px;font-weight:600}.ob-prog{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);margin-left:auto;font-size:11px}.ob-rail{border-bottom:1px solid var(--line);align-items:center;gap:0;margin-bottom:34px;padding-bottom:30px;display:flex}.ob-step{flex-shrink:0;align-items:center;gap:9px;display:flex}.ob-dot{width:24px;height:24px;font-family:var(--font-mono);background:var(--surface);border:1.5px solid var(--line);color:var(--ink-4);border-radius:50%;place-items:center;font-size:11px;font-weight:600;display:grid}.ob-dot svg{stroke:#fff;width:11px;height:11px}.ob-step.is-done .ob-dot{background:var(--green);border-color:var(--green);color:#fff}.ob-step.is-now .ob-dot{border-color:var(--green);color:var(--green);background:var(--green-tint)}.ob-label{color:var(--ink-4);white-space:nowrap;font-size:12.5px}.ob-step.is-now .ob-label{color:var(--ink);font-weight:600}.ob-step.is-done .ob-label{color:var(--ink-2)}.ob-line{background:var(--line);flex:1;min-width:14px;height:1px;margin:0 12px}.ob-head{margin-bottom:26px}.ob-head h1{font-family:var(--font-display);letter-spacing:-.028em;color:var(--ink);font-size:29px;font-weight:600;line-height:1.15}.ob-sub{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--green);margin-top:10px;font-size:11.5px;font-weight:500}.ob-head p{color:var(--ink-3);max-width:62ch;margin-top:12px;font-size:14.5px;line-height:1.7}.ob-video{margin-bottom:30px}.ob-block{border-top:1px solid var(--line);margin-top:26px;padding-top:26px}.ob-block h3{font-family:var(--font-display);letter-spacing:-.018em;color:var(--ink);margin-bottom:12px;font-size:16px;font-weight:600}.ob-p{color:var(--ink-3);max-width:64ch;margin-bottom:10px;font-size:13.5px;line-height:1.65}.ob-map{flex-direction:column;display:flex}.ob-map-row{border-bottom:1px solid var(--line-2);align-items:baseline;gap:18px;padding:9px 0;display:flex}.ob-map-row:last-child{border-bottom:none}.ob-map-row strong{color:var(--ink);flex-shrink:0;width:140px;font-size:13.5px;font-weight:600}.ob-map-row span{color:var(--ink-3);font-size:13.5px;line-height:1.6}.ob-group{border-top:1px solid var(--line);margin-top:26px;padding-top:26px}.ob-group-head{margin-bottom:16px}.ob-group-head h3{font-family:var(--font-display);letter-spacing:-.018em;color:var(--ink);font-size:16px;font-weight:600}.ob-group-head span{color:var(--ink-4);margin-top:5px;font-size:12.5px;line-height:1.55;display:block}.ob-field+.ob-field{margin-top:18px}.ob-field label{color:var(--ink);align-items:baseline;gap:9px;margin-bottom:7px;font-size:13.5px;font-weight:600;display:flex}.ob-field label .opt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);font-size:10px;font-weight:500}.ob-prompt{color:var(--ink-4);margin-bottom:8px;font-size:12.5px;line-height:1.55;display:block}.ob-savebar{justify-content:flex-end;margin-bottom:-8px;display:flex}.ob-savebar .autosave{margin-left:0}.ob-action{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:20px;padding:18px 20px;display:flex}.ob-action-body{flex:1;min-width:220px}.ob-action-body strong{font-family:var(--font-display);letter-spacing:-.018em;color:var(--ink);font-size:15.5px;font-weight:600;display:block}.ob-action-body span{color:var(--ink-3);margin-top:4px;font-size:12.5px;display:block}.ob-inline{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.chk{color:var(--ink-3);align-items:center;gap:9px;font-size:13px;display:inline-flex}.chk .q-box{width:16px;height:16px}.chk.is-on{color:var(--ink);font-weight:500}.chk.is-on .q-box{background:var(--green);border-color:var(--green)}.chk.is-on .q-box svg{opacity:1}.ch-list.is-check li:before{background:var(--green)}.ob-note{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);align-items:flex-start;gap:11px;margin-top:26px;padding:14px 16px;display:flex}.ob-note>svg{width:15px;height:15px;stroke:var(--ink-4);margin-top:2px}.ob-note p{color:var(--ink-3);font-size:12.5px;line-height:1.6}.ob-note.is-warn{background:var(--amber-tint);border-color:var(--amber-line)}.ob-note.is-warn>svg{stroke:var(--amber)}.ob-note.is-warn p{color:#6b4c0a}.ob-foot{border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:34px;padding-top:22px;display:flex}.ob-foot-right{flex-wrap:wrap;gap:9px;margin-left:auto;display:flex}.ob-done{text-align:center;padding:14px 0 30px}.ob-check{background:var(--green);border-radius:50%;place-items:center;width:44px;height:44px;margin:0 auto 18px;display:grid}.ob-check svg{stroke:#fff;width:22px;height:22px}.ob-done h1{font-family:var(--font-display);letter-spacing:-.028em;color:var(--ink);font-size:29px;font-weight:600}.ob-done p{color:var(--ink-3);margin-top:10px;font-size:14.5px}.ob-next{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.ob-next-label{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--green);font-size:10px;font-weight:500}.ob-next>strong{font-family:var(--font-display);letter-spacing:-.022em;color:var(--ink);margin-top:9px;font-size:19px;font-weight:600;display:block}.ob-next p{color:var(--ink-3);max-width:62ch;margin-top:9px;font-size:13.5px;line-height:1.65}.ob-booked{background:var(--green-tint);border:1px solid var(--green-line);border-radius:var(--radius);text-align:center;padding:22px}.ob-booked .ob-check{margin-bottom:14px}.ob-booked-body strong{font-family:var(--font-display);letter-spacing:-.02em;color:var(--green-dark);font-size:18px;font-weight:600;display:block}.ob-booked-body span{color:var(--green);margin-top:6px;font-size:13px;display:block}.ob-booked .ob-inline{justify-content:center}.slots{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:9px;display:grid}.slot{text-align:left;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;font-size:13.5px;transition:border-color .12s,background .12s}.slot:hover{border-color:var(--green);background:var(--green-tint)}.hold{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.hold-head{background:var(--surface-2);border-bottom:1px solid var(--line-2);align-items:center;gap:12px;padding:12px 16px;display:flex}.hold-n{color:var(--ink-4);font-size:11px}.hold-head strong{color:var(--ink);flex:1;font-size:13.5px;font-weight:600}.hold-x{border-radius:var(--radius-sm);place-items:center;width:24px;height:24px;display:grid}.hold-x:hover{background:#edefec}.hold-x svg{width:13px;height:13px;stroke:var(--ink-4)}.hold-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;padding:16px;display:grid}.hold-grid .ob-field{margin-top:0!important}.hold-grid .ob-field:nth-last-child(-n+2){grid-column:1/-1}.ob-empty{color:var(--ink-4);margin-bottom:14px;font-size:13px;font-style:italic}.ob-card.is-ready{border-color:var(--green-line)}.ob-quiet{color:var(--ink-4);margin-top:8px;font-size:12px}.ob-checklist{padding:12px 16px 14px}.ob-ci{color:var(--ink-4);align-items:center;gap:11px;padding:6px 0;font-size:12.5px;display:flex}.ob-ci.is-done{color:var(--ink-2)}.ob-ci.is-now{color:var(--ink);font-weight:600}.ob-cimark{background:var(--surface);border:1.5px solid #d8dcd8;border-radius:50%;flex-shrink:0;place-items:center;width:16px;height:16px;display:grid}.ob-ci.is-done .ob-cimark{background:var(--green);border-color:var(--green)}.ob-ci.is-done .ob-cimark svg{stroke:#fff;width:9px;height:9px}.ob-ci.is-now .ob-cimark{border-color:var(--green);background:var(--green-tint)}.ob-ci.is-now .ob-cimark i{background:var(--green);border-radius:50%;width:6px;height:6px}.ic-panel{border-color:var(--green-line)}.ic-rows{padding:6px 8px 10px}.ic-row{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:10px 8px;transition:background .12s;display:flex}.ic-row:hover{background:var(--surface-2)}.ic-row.is-static:hover{background:0 0}.ic-row>div{flex:1;min-width:0}.ic-row .k{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);font-size:10px;font-weight:500;display:block}.ic-row strong{color:var(--ink);margin-top:3px;font-size:12.5px;font-weight:600;display:block}.ic-row>svg{width:15px;height:15px;stroke:var(--ink-4);flex-shrink:0}.preview-sec{border-top:1px solid var(--line-2);padding:14px 16px}.preview-k{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);margin-bottom:10px;font-size:10px;font-weight:500}.preview-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;display:grid}@media (max-width:760px){body.is-onboarding .wrap{padding-left:16px;padding-right:16px}.ob-rail{margin-bottom:26px;padding-bottom:22px;overflow-x:auto}.ob-label{display:none}.ob-step.is-now .ob-label{display:inline}.ob-line{min-width:20px;margin:0 8px}.ob-head h1,.ob-done h1{font-size:23px}.ob-map-row{flex-direction:column;gap:3px}.ob-map-row strong{width:auto}.ob-foot{flex-direction:column-reverse;align-items:stretch}.ob-foot-right{margin-left:0}.ob-foot .btn{width:100%}.hold-grid{grid-template-columns:1fr}.ob-action .btn{width:100%}}.set-layout{grid-template-columns:172px minmax(0,1fr);align-items:start;gap:36px;display:grid}.set-nav{flex-direction:column;gap:1px;display:flex;position:sticky;top:84px}.set-nav-item{border-radius:var(--radius-sm);color:var(--ink-3);padding:7px 10px;font-size:13px;transition:background .12s,color .12s}.set-nav-item:hover{background:var(--surface-2);color:var(--ink)}.set-nav-item.is-active{background:var(--green-tint);color:var(--ink);font-weight:600}.set-body{min-width:0;max-width:640px}.set-head{margin-bottom:16px}.set-head h2{font-family:var(--font-display);letter-spacing:-.022em;color:var(--ink);font-size:19px;font-weight:600}.set-head p{color:var(--ink-3);max-width:60ch;margin-top:6px;font-size:13px;line-height:1.6}.set-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.set-block+.set-block{margin-top:16px}.set-block.set-quiet{background:0 0}.set-block.set-error{border-color:var(--amber-line);background:var(--amber-tint);padding:20px}.set-block.set-error strong{font-family:var(--font-display);color:#5c4207;letter-spacing:-.015em;font-size:15px;font-weight:600;display:block}.set-block.set-error p{color:#7a5a17;max-width:56ch;margin-top:6px;font-size:13px;line-height:1.6}.set-block.set-error .set-inline,.set-block.set-error .btn{margin-top:14px}.set-row{border-bottom:1px solid var(--line-2);align-items:center;gap:20px;padding:16px 18px;display:flex}.set-row:last-child{border-bottom:none}.set-row.is-static{background:var(--surface-2)}.set-row-body{flex:1;min-width:0}.set-row-body strong{color:var(--ink);font-size:13.5px;font-weight:600;display:block}.set-row-body span{color:var(--ink-3);margin-top:3px;font-size:12.5px;line-height:1.55;display:block}.set-row .btn{flex-shrink:0}.set-field{border-bottom:1px solid var(--line-2);padding:16px 18px}.set-field label{color:var(--ink);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.set-field .q-input{max-width:360px}.set-hint{color:var(--ink-4);max-width:56ch;margin-top:8px;font-size:12px;line-height:1.55;display:block}.set-hint.is-warn{color:var(--amber)}.set-inline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.set-actions{flex-wrap:wrap;gap:9px;padding:14px 18px;display:flex}.set-actions.is-quiet{border-top:1px solid var(--line-2)}.set-sub{border-top:1px solid var(--line-2);padding:16px 18px}.set-sub-k{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);margin-bottom:10px;font-size:10px;font-weight:500}.pill{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:3px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:500;display:inline-flex}.pill svg{width:11px;height:11px}.pill.is-ok{color:var(--green);background:var(--green-tint);border:1px solid var(--green-line)}.pill.is-ok svg{stroke:var(--green)}.pill.is-warn{color:var(--amber);background:var(--amber-tint);border:1px solid var(--amber-line)}.pill.is-muted{color:var(--ink-4);border:1px solid var(--line);background:#f1f2f0}.mem-top{border-bottom:1px solid var(--line-2);align-items:flex-start;gap:16px;padding:18px;display:flex}.mem-top>div{flex:1}.mem-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:18px;font-weight:600}.mem-plan{font-family:var(--font-mono);color:var(--ink-4);margin-top:5px;font-size:11.5px}.mem-note{color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--line-2);padding:14px 18px;font-size:12.5px;line-height:1.6}.kv-list{padding:6px 0}.receipts{flex-direction:column;display:flex}.receipt{border-bottom:1px solid var(--line-2);align-items:center;gap:16px;padding:11px 0;display:flex}.receipt:last-child{border-bottom:none}.rc-body{flex:1;min-width:0}.rc-body strong{color:var(--ink);font-size:13px;font-weight:600;display:block}.rc-body span{font-family:var(--font-mono);color:var(--ink-4);margin-top:2px;font-size:11px;display:block}.rc-amt{color:var(--ink);flex-shrink:0;font-size:12.5px}.signout{text-align:center;max-width:420px;margin:60px auto}.signout .cc-mark{width:34px;height:34px;margin:0 auto 20px}.signout .cc-mark svg{width:18px;height:18px}.signout h2{font-family:var(--font-display);letter-spacing:-.024em;color:var(--ink);font-size:23px;font-weight:600}.signout p{color:var(--ink-3);margin-top:10px;font-size:13.5px;line-height:1.65}.signout .btn{margin-top:20px}@media (max-width:820px){.set-layout{grid-template-columns:minmax(0,1fr);gap:18px}.set-nav{-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--line);flex-direction:row;gap:6px;padding-bottom:4px;position:static;overflow-x:auto}.set-nav-item{white-space:nowrap;flex-shrink:0}.set-body{max-width:none}.set-row{flex-direction:column;align-items:stretch;gap:12px}.set-row .btn,.set-row .pill{align-self:flex-start}.set-field .q-input{max-width:none}.receipt{flex-wrap:wrap;gap:8px}.kv{flex-direction:column;gap:3px}.kv .k{width:auto}}.ic-head{border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:24px}.ic-head h1{font-family:var(--font-display);letter-spacing:-.028em;color:var(--ink);font-size:29px;font-weight:600;line-height:1.15}.ic-head>p{color:var(--ink-3);margin-top:9px;font-size:14px}.ic-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.ic-plan{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--green);background:var(--green-tint);border:1px solid var(--green-line);border-radius:3px;padding:2px 8px;font-size:11px;font-weight:500}.ic-month{color:var(--ink);font-size:13px;font-weight:600}.ic-range{color:var(--ink-4);font-size:11.5px}.ic-vip{font-family:var(--font-mono);color:var(--ink-4);font-size:11px}.ic-content .col-main{gap:28px}.ic-pri{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.pri-list{padding:6px 0;list-style:none}.pri-list li{border-bottom:1px solid var(--line-2);align-items:baseline;gap:14px;padding:12px 18px;display:flex}.pri-list li:last-child{border-bottom:none}.pri-n{background:var(--green-tint);border:1px solid var(--green-line);width:20px;height:20px;color:var(--green);border-radius:50%;flex-shrink:0;place-items:center;font-size:10.5px;font-weight:600;display:grid}.pri-list li span:last-child{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);font-size:15.5px;font-weight:500}.pri-foot{border-top:1px solid var(--line-2);padding:14px 18px}.ic-plan-card,.ic-plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.ic-focus-k{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);font-size:10px;font-weight:500}.ic-focus{font-family:var(--font-display);letter-spacing:-.018em;color:var(--ink);max-width:56ch;margin:9px 0 16px;font-size:16.5px;font-weight:500;line-height:1.45}.ic-empty{border-radius:var(--radius);border:1px dashed #dde1dd;padding:26px 22px}.ic-empty strong{font-family:var(--font-display);color:var(--ink);letter-spacing:-.015em;font-size:15px;font-weight:600;display:block}.ic-empty p{color:var(--ink-3);max-width:52ch;margin-top:6px;font-size:13px;line-height:1.6}.cred-body{padding:14px 16px 16px}.cred-big{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:34px;font-weight:600;line-height:1}.cred-big span{font-family:var(--font-ui);color:var(--ink-3);letter-spacing:0;margin-left:8px;font-size:13px;font-weight:500}.cred-sub{color:var(--ink-4);margin-top:8px;font-size:11.5px}.cred-body .bar{margin-top:12px}.cred-note{color:var(--ink-4);margin-top:12px;font-size:11.5px;line-height:1.55}.cred-body .btn{margin-top:14px}.tl-body{padding:14px 16px 16px}.tl-ends{color:var(--ink-4);justify-content:space-between;margin-bottom:9px;font-size:10.5px;display:flex}.tl-line{background:#e7e9e6;border-radius:2px;height:3px;position:relative}.tl-fill{background:var(--green);border-radius:2px;width:0;height:100%;transition:width .9s cubic-bezier(.22,.9,.3,1);display:block}.tl-dot{background:var(--green);border:2px solid var(--surface);width:11px;height:11px;box-shadow:0 0 0 1px var(--green-line);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.tl-here{color:var(--green);margin-top:10px;font-size:10.5px}.tl-kv{border-top:1px solid var(--line-2);margin-top:12px;padding-top:10px}.tl-kv .kv{padding:7px 0}.tl-kv .kv .k{width:96px;font-size:12px}.tl-kv .kv .v{font-size:12.5px}.call-k{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);margin-bottom:8px;font-size:10px;font-weight:500}.call-note{color:var(--ink-4);margin-top:4px;font-size:12px;font-style:italic;display:block}.fb-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:20px}.fb-top{align-items:flex-start;gap:16px;display:flex}.fb-top>div{flex:1;min-width:0}.fb-top .k{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-size:10px;font-weight:500}.fb-top h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin-top:5px;font-size:17px;font-weight:600}.fb-date{color:var(--ink-4);margin-top:8px;font-size:11px}.fb-body{background:var(--surface-2);border-left:2px solid var(--green-line);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink-2);margin-top:14px;padding:16px 18px;font-size:14px;line-height:1.75}.fb-pending{color:var(--ink-4);margin-top:12px;font-size:13px;font-style:italic}.step-mark[data-ic-item]{cursor:pointer}@media (max-width:760px){.ic-head h1{font-size:23px}.s-ic-pri{order:1}.s-ic-next{order:2}.s-ic-plan{order:3}.s-ic-cred{order:4}.s-ic-act{order:5}.s-ic-fb{order:6}.s-ic-calls{order:7}.s-ic-time{order:8}.pri-list li span:last-child{font-size:14.5px}.cred-big{font-size:29px}}body.is-auth .cc-sidebar,body.is-auth .cc-collapse,body.is-auth .cc-scrim,body.is-auth .topbar,body.is-auth .disclaimer{display:none}body.is-auth .main{margin-left:0}body.is-auth .wrap{max-width:none;padding:0}.auth-shell{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.auth-brand{align-items:center;gap:10px;margin-bottom:26px;display:flex}.auth-brand .cc-mark{width:30px;height:30px}.auth-brand .cc-mark svg{width:16px;height:16px}.auth-brandname{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);font-size:16px;font-weight:600}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:404px;padding:30px 30px 28px;box-shadow:0 1px 2px #0d1a220a}.auth-card h1{font-family:var(--font-display);letter-spacing:-.026em;color:var(--ink);font-size:23px;font-weight:600;line-height:1.2}.auth-sub{color:var(--ink-3);margin-top:8px;font-size:13.5px;line-height:1.6}.auth-body{color:var(--ink-2);margin-top:12px;font-size:13.5px;line-height:1.7}.auth-field{margin-top:18px}.auth-field label{color:var(--ink);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:7px;font-size:12.5px;font-weight:600;display:flex}.auth-input{position:relative}.auth-input .q-input{width:100%;height:42px;padding:0 12px}.auth-input .q-input:disabled{background:var(--surface-2);color:var(--ink-3)}.auth-peek{color:var(--ink-3);background:0 0;border-radius:3px;padding:0 10px;font-size:12px;font-weight:500;position:absolute;top:4px;bottom:4px;right:4px}.auth-peek:hover{color:var(--ink);background:var(--surface-2)}.auth-hint{color:var(--ink-4);margin-top:6px;font-size:11.5px;line-height:1.5;display:block}.auth-link{color:var(--green);font-size:12px;font-weight:500}.auth-link:hover{text-underline-offset:2px;text-decoration:underline}.auth-submit{height:42px;margin-top:22px}.btn-block+.btn-block{margin-top:9px}.auth-error{background:var(--amber-tint);border:1px solid var(--amber-line);border-radius:var(--radius-sm);margin-top:18px;padding:13px 15px}.auth-error strong{color:#5c4207;font-size:13px;font-weight:600;display:block}.auth-error p{color:#7a5a17;margin-top:4px;font-size:12.5px;line-height:1.55}.auth-error .btn{margin-top:11px}.auth-note{background:var(--green-tint);border:1px solid var(--green-line);border-radius:var(--radius-sm);margin-bottom:20px;padding:13px 15px}.auth-note strong{color:var(--green-dark);font-size:13px;font-weight:600;display:block}.auth-note p{color:var(--green);margin-top:4px;font-size:12.5px;line-height:1.55}.auth-locked{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);margin-top:20px;padding:14px 15px}.auth-locked .k{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);font-size:10px;font-weight:500;display:block}.auth-locked strong{color:var(--ink);margin-top:5px;font-size:14px;font-weight:600;display:block}.auth-masked{color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);text-align:center;margin-top:10px;padding:11px 14px;font-size:15px}.pw-checks{margin-top:14px;list-style:none}.pw-checks li{color:var(--ink-4);align-items:center;gap:8px;padding:3px 0;font-size:12px;display:flex}.pw-checks li svg{stroke:#cbd1cd;width:12px;height:12px}.pw-checks li.is-ok{color:var(--ink-2)}.pw-checks li.is-ok svg{stroke:var(--green)}.auth-terms{text-align:left;color:var(--ink-3);align-items:flex-start;gap:10px;margin-top:18px;font-size:12.5px;line-height:1.55;display:flex}.auth-terms .q-box{flex-shrink:0;margin-top:1px}.auth-terms a{color:var(--green)}.auth-terms a:hover{text-decoration:underline}.auth-alt{border-top:1px solid var(--line-2);text-align:center;margin-top:22px;padding-top:18px}.auth-alt strong{color:var(--ink);font-size:12.5px;font-weight:600;display:block}.auth-alt span{color:var(--ink-3);margin-top:4px;font-size:12.5px;line-height:1.55;display:block}.auth-alt a{color:var(--green)}.auth-done{text-align:center}.auth-done .ob-check{width:40px;height:40px;margin:0 auto 16px}.auth-done .ob-check svg{width:19px;height:19px}.auth-done+.btn{margin-top:22px}.auth-foot{text-align:center;color:var(--ink-4);margin-top:22px;font-size:12px}.auth-foot a{color:var(--green);margin-left:6px}.auth-foot a:hover{text-decoration:underline}.auth-demo{border-top:1px dashed var(--line);margin-top:18px;padding-top:16px}.auth-demo summary{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);cursor:pointer;font-size:10.5px}.auth-demo-body{margin-top:10px}.auth-demo-body p{color:var(--ink-4);margin-bottom:7px;font-size:11.5px}.auth-demo-body ul{list-style:none}.auth-demo-body li{color:var(--ink-3);padding:2px 0;font-size:11.5px}.auth-demo-body code{font-family:var(--font-mono);color:var(--ink-2);font-size:11px}@media (max-width:520px){.auth-shell{justify-content:flex-start;padding:28px 16px}.auth-card{border-radius:var(--radius);max-width:none;padding:24px 20px 22px}.auth-card h1{font-size:21px}.auth-input .q-input,.auth-submit{height:46px;font-size:16px}.auth-peek{font-size:13px}}@media (max-width:1180px){:root{--rail-w:280px}.wrap{padding:22px 20px 56px}.topbar{padding:0 20px}.content{column-gap:24px}}@media (max-width:1060px){.lesson-layout{grid-template-columns:minmax(0,1fr);gap:24px}.les-nav{position:static}.ln-toggle{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--ink);align-items:center;gap:10px;padding:13px 15px;font-size:13.5px;font-weight:600;display:flex}.ln-toggle svg{width:16px;height:16px;stroke:var(--ink-3);transition:transform .18s}.ln-toggle .cnt{font-family:var(--font-mono);color:var(--ink-4);margin-left:auto;font-size:11px;font-weight:400}.les-nav.is-open .ln-toggle svg.chev{transform:rotate(90deg)}.ln-card{margin-top:10px;display:none}.les-nav.is-open .ln-card{display:block}}@media (max-width:1000px){.content{grid-template-columns:minmax(0,1fr)}.col-rail{grid-template-columns:1fr 1fr;align-items:start;gap:16px;margin-top:30px;display:grid;position:static}}@media (max-width:760px){:root,body.cc-nav-collapsed{--cc-sidebar-w:0px}.cc-sidebar{background:var(--surface);width:240px;transform:translate(-100%);box-shadow:0 8px 28px #0d1a2229}.cc-sidebar.is-open{transform:translate(0)}.cc-collapse{display:none}body.cc-nav-collapsed .cc-brand{justify-content:flex-start;padding:0 18px}body.cc-nav-collapsed .cc-item{padding:7px 8px}body.cc-nav-collapsed .cc-user-row{padding:6px}body.cc-nav-collapsed .cc-brand-name,body.cc-nav-collapsed .cc-label,body.cc-nav-collapsed .cc-item-label,body.cc-nav-collapsed .cc-ext,body.cc-nav-collapsed .cc-user-meta,body.cc-nav-collapsed .cc-user-row>svg:last-child{opacity:1}.cc-tip:after{display:none}.hamburger{display:grid}.wrap{padding:18px 16px 48px}.topbar{padding:0 12px}.content{flex-direction:column;gap:26px;display:flex}.col-main,.col-rail{display:contents}.page-head{order:0;margin-bottom:0}.s-resume{order:1}.s-steps{order:2}.s-onboard{order:3}.s-workshop{order:4}.s-progress{order:5}.s-playbook{order:6}.s-latest{order:7}.page-head h1{font-size:23px}.course-head h1{font-size:24px}.les-head h1{font-size:21px}.resume{padding:20px 18px}.resume h2{font-size:21px}.resume-foot{gap:14px}.resume-foot .btn{width:100%;margin-left:0}.step-lead{flex-direction:column;align-items:stretch;gap:14px}.step-lead .btn{width:100%}.step{padding:12px 14px}.step-go{opacity:1}.item{padding:12px 6px}.item-go{display:none}.mod-row{flex-wrap:wrap;padding:14px}.mod-side{width:100%;margin-top:12px}.mod-side .btn{flex:1}.module.is-current .mod-row{padding-left:12px}.prevnext{flex-direction:column}.pn-next{text-align:left;flex-direction:row-reverse;justify-content:flex-start}.pn-empty{display:none}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}body.cc-nav-collapsed .cc-brand-name{display:none}}@layer utilities{.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.bottom-0{bottom:0}.col-\[1\/-1\]{grid-column:1/-1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-\[-56px\]{margin-top:-56px}.mt-auto{margin-top:auto}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-\[14px\]{margin-bottom:14px}.mb-\[18px\]{margin-bottom:18px}.-ml-3{margin-left:calc(var(--spacing) * -3)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.\!h-10{height:calc(var(--spacing) * 10)!important}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-40{height:calc(var(--spacing) * 40)}.h-auto{height:auto}.max-h-\[620px\]{max-height:620px}.min-h-screen{min-height:100vh}.\!w-10{width:calc(var(--spacing) * 10)!important}.w-10{width:calc(var(--spacing) * 10)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[440px\]{max-width:440px}.max-w-\[900px\]{max-width:900px}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[14px\]{gap:14px}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-line>:not(:last-child)){border-color:var(--color-line)}:where(.divide-line-2>:not(:last-child)){border-color:var(--color-line-2)}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-\[3px\]{border-radius:3px}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .8)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-solid{--tw-border-style:solid;border-style:solid}.border-amber-line{border-color:var(--color-amber-line)}.border-border{border-color:var(--border)}.border-green-line{border-color:var(--color-green-line)}.border-line{border-color:var(--color-line)}.border-line-2{border-color:var(--color-line-2)}.border-red{border-color:var(--color-red)}.border-red\/25{border-color:#9a3b3b40}@supports (color:color-mix(in lab, red, red)){.border-red\/25{border-color:color-mix(in oklab, var(--color-red) 25%, transparent)}}.border-transparent{border-color:#0000}.\!bg-transparent{background-color:#0000!important}.bg-amber-tint{background-color:var(--color-amber-tint)}.bg-background{background-color:var(--background)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-green-tint{background-color:var(--color-green-tint)}.bg-paper{background-color:var(--color-paper)}.bg-primary{background-color:var(--primary)}.bg-red-tint{background-color:var(--color-red-tint)}.bg-secondary{background-color:var(--secondary)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.bg-surface\/90{background-color:color-mix(in oklab, var(--color-surface) 90%, transparent)}}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-paper{--tw-gradient-from:var(--color-paper);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-paper\/70{--tw-gradient-via:#f4f5f3b3}@supports (color:color-mix(in lab, red, red)){.via-paper\/70{--tw-gradient-via:color-mix(in oklab, var(--color-paper) 70%, transparent)}}.via-paper\/70{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-padding{background-clip:padding-box}.object-contain{object-fit:contain}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-px{padding-block:1px}.pt-\[18px\]{padding-top:18px}.pb-9{padding-bottom:calc(var(--spacing) * 9)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-heading{font-family:var(--font-heading)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.text-\[9\.5px\]{font-size:9.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber{color:var(--color-amber)}.text-destructive{color:var(--destructive)}.text-green{color:var(--color-green)}.text-ink{color:var(--color-ink)}.text-ink-2{color:var(--color-ink-2)}.text-ink-3{color:var(--color-ink-3)}.text-ink-4{color:var(--color-ink-4)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red{color:var(--color-red)}.text-secondary-foreground{color:var(--secondary-foreground)}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.opacity-65{opacity:.65}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-\[6px\]{--tw-blur:blur(6px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.fade-out{--tw-exit-opacity:0}.paused{animation-play-state:paused}.running{animation-play-state:running}.placeholder\:text-ink-4::placeholder{color:var(--color-ink-4)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-ink:hover{color:var(--color-ink)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-green:focus{border-color:var(--color-green)}.focus\:ring-3:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-green\/15:focus{--tw-ring-color:#0b7a5526}@supports (color:color-mix(in lab, red, red)){.focus\:ring-green\/15:focus{--tw-ring-color:color-mix(in oklab, var(--color-green) 15%, transparent)}}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}@media (min-width:40rem){.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@container (min-width:720px){.\@min-\[720px\]\:grid-cols-\[1\.55fr_1fr\]{grid-template-columns:1.55fr 1fr}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--radius:6px;--background:var(--color-paper);--foreground:var(--color-ink-2);--card:var(--color-surface);--card-foreground:var(--color-ink);--popover:var(--color-surface);--popover-foreground:var(--color-ink);--primary:var(--color-green);--primary-foreground:var(--color-surface);--secondary:var(--color-surface-2);--secondary-foreground:var(--color-ink);--muted:var(--color-surface-2);--muted-foreground:var(--color-ink-3);--accent:var(--color-green-tint);--accent-foreground:var(--color-green-dark);--destructive:var(--color-red);--border:var(--color-line);--input:var(--color-line);--ring:var(--color-green);--chart-1:var(--color-green);--chart-2:var(--color-green-lite);--chart-3:var(--color-amber);--chart-4:var(--color-ink-3);--chart-5:var(--color-navy);--sidebar:var(--color-surface-2);--sidebar-foreground:var(--color-ink-2);--sidebar-primary:var(--color-green);--sidebar-primary-foreground:var(--color-surface);--sidebar-accent:var(--color-green-tint);--sidebar-accent-foreground:var(--color-green-dark);--sidebar-border:var(--color-line);--sidebar-ring:var(--color-green)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes pulse{50%{opacity:.5}}
