/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight: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}}}@layer theme{:root,:host{--tw-font-mono:var(--font-mono);--tw-spacing:.25rem;--tw-container-5xl:64rem;--tw-font-weight-normal:400;--tw-font-weight-semibold:600;--tw-color-surface:var(--color-surface);--tw-color-surface-2:var(--color-surface-2);--tw-color-border:var(--color-border);--tw-color-text:var(--color-text);--tw-color-muted:var(--color-text-muted);--tw-color-primary:var(--color-primary);--tw-color-focus:var(--color-focus);--tw-color-warning:var(--color-warning);--tw-color-cal-portfolio:var(--color-cal-portfolio);--tw-color-cal-exam:var(--color-cal-exam);--tw-color-cal-other:var(--color-cal-other);--tw-text-2xs:var(--text-2xs);--tw-text-xs:var(--text-xs);--tw-text-sm:var(--text-sm);--tw-text-md:var(--text-md);--tw-text-xl:var(--text-xl);--tw-radius-sm:var(--radius-sm);--tw-radius-md:var(--radius-md);--tw-radius-full:var(--radius-full)}}@layer utilities{.tw\:absolute{position:absolute}.tw\:relative{position:relative}.tw\:inset-x-0{inset-inline:0}.tw\:top-0{top:0}.tw\:top-5{top:calc(var(--tw-spacing) * 5)}.tw\:bottom-0{bottom:0}.tw\:z-40{z-index:40}.tw\:float-left{float:left}.tw\:m-0{margin:0}.tw\:mx-auto{margin-inline:auto}.tw\:mt-0{margin-top:0}.tw\:mt-1{margin-top:var(--tw-spacing)}.tw\:mt-2{margin-top:calc(var(--tw-spacing) * 2)}.tw\:mt-3{margin-top:calc(var(--tw-spacing) * 3)}.tw\:mt-4{margin-top:calc(var(--tw-spacing) * 4)}.tw\:mb-1{margin-bottom:var(--tw-spacing)}.tw\:mb-2{margin-bottom:calc(var(--tw-spacing) * 2)}.tw\:mb-3{margin-bottom:calc(var(--tw-spacing) * 3)}.tw\:ml-2{margin-left:calc(var(--tw-spacing) * 2)}.tw\:block{display:block}.tw\:flex{display:flex}.tw\:grid{display:grid}.tw\:h-2{height:calc(var(--tw-spacing) * 2)}.tw\:h-2\.5{height:calc(var(--tw-spacing) * 2.5)}.tw\:h-5{height:calc(var(--tw-spacing) * 5)}.tw\:h-full{height:100%}.tw\:min-h-20{min-height:calc(var(--tw-spacing) * 20)}.tw\:min-h-32{min-height:calc(var(--tw-spacing) * 32)}.tw\:w-0\.5{width:calc(var(--tw-spacing) * .5)}.tw\:w-4{width:calc(var(--tw-spacing) * 4)}.tw\:w-7{width:calc(var(--tw-spacing) * 7)}.tw\:w-auto{width:auto}.tw\:w-full{width:100%}.tw\:max-w-5xl{max-width:var(--tw-container-5xl)}.tw\:min-w-0{min-width:0}.tw\:min-w-64{min-width:calc(var(--tw-spacing) * 64)}.tw\:min-w-\[620px\]{min-width:620px}.tw\:shrink-0{flex-shrink:0}.tw\:border-collapse{border-collapse:collapse}.tw\:cursor-pointer{cursor:pointer}.tw\:scroll-mt-20{scroll-margin-top:calc(var(--tw-spacing) * 20)}.tw\:list-none{list-style-type:none}.tw\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.tw\:flex-wrap{flex-wrap:wrap}.tw\:content-start{align-content:flex-start}.tw\:items-baseline{align-items:baseline}.tw\:items-center{align-items:center}.tw\:items-start{align-items:flex-start}.tw\:justify-between{justify-content:space-between}.tw\:justify-start{justify-content:flex-start}.tw\:justify-items-start{justify-items:start}.tw\:gap-0\.5{gap:calc(var(--tw-spacing) * .5)}.tw\:gap-1{gap:var(--tw-spacing)}.tw\:gap-1\.5{gap:calc(var(--tw-spacing) * 1.5)}.tw\:gap-2{gap:calc(var(--tw-spacing) * 2)}.tw\:gap-3{gap:calc(var(--tw-spacing) * 3)}.tw\:gap-4{gap:calc(var(--tw-spacing) * 4)}.tw\:gap-5{gap:calc(var(--tw-spacing) * 5)}.tw\:gap-6{gap:calc(var(--tw-spacing) * 6)}.tw\:gap-x-3{column-gap:calc(var(--tw-spacing) * 3)}.tw\:gap-x-4{column-gap:calc(var(--tw-spacing) * 4)}.tw\:gap-y-2{row-gap:calc(var(--tw-spacing) * 2)}.tw\:self-center{align-self:center}.tw\:justify-self-end{justify-self:flex-end}.tw\:justify-self-start{justify-self:flex-start}.tw\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tw\:overflow-hidden{overflow:hidden}.tw\:overflow-x-auto{overflow-x:auto}.tw\:rounded-full{border-radius:var(--tw-radius-full)}.tw\:rounded-md{border-radius:var(--tw-radius-md)}.tw\:rounded-sm{border-radius:var(--tw-radius-sm)}.tw\:border{border-style:var(--tw-border-style);border-width:1px}.tw\:border-0{border-style:var(--tw-border-style);border-width:0}.tw\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tw\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.tw\:border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.tw\:border-\[var\(--accent\)\]{border-color:var(--accent)}.tw\:border-border{border-color:var(--tw-color-border)}.tw\:border-l-cal-other{border-left-color:var(--tw-color-cal-other)}.tw\:border-l-primary{border-left-color:var(--tw-color-primary)}.tw\:border-l-warning{border-left-color:var(--tw-color-warning)}.tw\:bg-\[var\(--accent\)\]{background-color:var(--accent)}.tw\:bg-cal-exam{background-color:var(--tw-color-cal-exam)}.tw\:bg-cal-other{background-color:var(--tw-color-cal-other)}.tw\:bg-cal-portfolio{background-color:var(--tw-color-cal-portfolio)}.tw\:bg-surface{background-color:var(--tw-color-surface)}.tw\:bg-surface-2{background-color:var(--tw-color-surface-2)}.tw\:bg-warning{background-color:var(--tw-color-warning)}.tw\:pattern-checks{background-image:linear-gradient(90deg, var(--color-surface) 2px, transparent 2px), linear-gradient(var(--color-surface) 2px, transparent 2px);background-size:6px 6px}.tw\:pattern-dots{background-image:radial-gradient(circle, var(--color-surface) 1.5px, transparent 1.6px);background-size:6px 6px}.tw\:pattern-dashes{background-image:repeating-linear-gradient(90deg, transparent 0 8px, var(--color-surface) 8px 11px)}.tw\:pattern-stripes{background-image:repeating-linear-gradient(135deg, transparent 0 4px, var(--color-surface) 4px 6px)}.tw\:p-0{padding:0}.tw\:p-1{padding:var(--tw-spacing)}.tw\:p-4{padding:calc(var(--tw-spacing) * 4)}.tw\:px-3{padding-inline:calc(var(--tw-spacing) * 3)}.tw\:px-4{padding-inline:calc(var(--tw-spacing) * 4)}.tw\:px-5{padding-inline:calc(var(--tw-spacing) * 5)}.tw\:py-2{padding-block:calc(var(--tw-spacing) * 2)}.tw\:pt-6{padding-top:calc(var(--tw-spacing) * 6)}.tw\:pr-3{padding-right:calc(var(--tw-spacing) * 3)}.tw\:pl-1{padding-left:var(--tw-spacing)}.tw\:pl-3{padding-left:calc(var(--tw-spacing) * 3)}.tw\:pl-5{padding-left:calc(var(--tw-spacing) * 5)}.tw\:pl-6{padding-left:calc(var(--tw-spacing) * 6)}.tw\:text-left{text-align:left}.tw\:font-mono{font-family:var(--tw-font-mono)}.tw\:text-2xs{font-size:var(--tw-text-2xs)}.tw\:text-md{font-size:var(--tw-text-md)}.tw\:text-sm{font-size:var(--tw-text-sm)}.tw\:text-xl{font-size:var(--tw-text-xl)}.tw\:text-xs{font-size:var(--tw-text-xs)}.tw\:font-normal{--tw-font-weight:var(--tw-font-weight-normal);font-weight:var(--tw-font-weight-normal)}.tw\:font-semibold{--tw-font-weight:var(--tw-font-weight-semibold);font-weight:var(--tw-font-weight-semibold)}.tw\:break-words{overflow-wrap:break-word}.tw\:whitespace-nowrap{white-space:nowrap}.tw\:whitespace-pre-line{white-space:pre-line}.tw\:text-muted{color:var(--tw-color-muted)}.tw\:text-primary{color:var(--tw-color-primary)}.tw\:text-text{color:var(--tw-color-text)}.tw\:text-warning{color:var(--tw-color-warning)}.tw\:uppercase{text-transform:uppercase}.tw\:line-through{text-decoration-line:line-through}.tw\:no-underline{text-decoration-line:none}.tw\:opacity-35{opacity:.35}.tw\:shadow-lg{--tw-shadow:var(--shadow-lg);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tw\:outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.tw\:hover\:bg-surface-2:hover{background-color:var(--tw-color-surface-2)}}.tw\:focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.tw\:focus-visible\:outline-3:focus-visible{outline-style:var(--tw-outline-style);outline-width:3px}.tw\:focus-visible\:outline-focus:focus-visible{outline-color:var(--tw-color-focus)}.tw\:data-highlighted\:bg-surface-2[data-highlighted]{background-color:var(--tw-color-surface-2)}@media (width>=40rem){.tw\:sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.tw\:lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}.ui-roadmap{gap:var(--space-5);align-items:start;display:grid}@media (width>=64rem){.ui-roadmap{grid-template-columns:minmax(0,1fr) 17rem}.ui-roadmap__panel{top:var(--space-4);position:sticky}}.ui-roadmap__scroll{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);overflow-x:auto}.ui-roadmap__scroll:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.ui-roadmap__canvas{width:max-content;min-width:100%;padding:var(--space-4);position:relative}.ui-roadmap__links{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ui-roadmap__link{fill:none;stroke:var(--color-text-muted);stroke-width:1.5px;opacity:.55}.ui-roadmap__link[data-highlighted]{stroke:var(--color-primary);stroke-width:2.5px;opacity:1}.ui-roadmap__stages{gap:var(--space-6);margin:0;padding:0;list-style:none;display:grid;position:relative}@media (width>=40rem){.ui-roadmap__stages{grid-auto-columns:minmax(11rem,12rem);grid-auto-flow:column;column-gap:36px}}.ui-roadmap__stage{align-content:start;gap:var(--space-3);display:grid}.ui-roadmap__stage-title{font-size:var(--text-sm);margin:0}.ui-roadmap__toggle{align-items:baseline;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:var(--weight-semibold);text-align:left;cursor:pointer;flex-wrap:wrap;display:flex}.ui-roadmap__count{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:400}.ui-roadmap__nodes{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.ui-roadmap__node{gap:var(--space-1);width:100%;min-height:44px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;display:grid}.ui-roadmap__node[data-catalog=no]{border-style:dashed}.ui-roadmap__node:hover{border-color:var(--color-primary)}.ui-roadmap__toggle:focus-visible,.ui-roadmap__node:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.ui-roadmap__node[aria-pressed=true]{border:3px double var(--color-primary);background:var(--color-primary-soft)}.ui-roadmap__node[data-relation=before],.ui-roadmap__node[data-relation=after]{border-color:var(--color-primary)}.ui-roadmap__node-title{font-weight:var(--weight-semibold)}.ui-roadmap__node-meta{color:var(--color-text-muted);font-size:var(--text-xs)}.ui-roadmap__relation{padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold);justify-self:start}.ui-roadmap__panel-title{font-size:var(--text-lg);margin:0}.ui-roadmap__panel-subtitle{font-size:var(--text-sm);margin:0}.ui-roadmap__jump{text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.ui-roadmap__progress{gap:var(--space-1);display:grid}.ui-roadmap__status{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted)}.ui-roadmap__node[data-status=completed] .ui-roadmap__status{color:var(--color-success)}.ui-roadmap__node[data-status=in_progress] .ui-roadmap__status{color:var(--color-primary)}.ui-roadmap__node[data-status=completed]{border-left:4px solid var(--color-success)}.ui-roadmap__bar{border-radius:var(--radius-full);background:var(--color-surface-2);height:6px;box-shadow:inset 0 0 0 1px var(--color-border);display:block;overflow:hidden}.ui-roadmap__bar>span{background:var(--color-primary);height:100%;display:block}.ui-roadmap__node[data-status=completed] .ui-roadmap__bar>span,.ui-roadmap__bar--done>span{background:var(--color-success)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{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}
