@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap";
@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading: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-duration:initial;--tw-content:""}}}.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-1\/2{top:50%}.top-1\/3{top:33.3333%}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.order-first{order:-9999}.order-last{order:9999}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.mx-auto{margin-inline:auto}.mt-auto{margin-top:auto}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-full{width:100%;height:100%}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.min-h-\[200px\]{min-height:200px}.w-\(--radix-dropdown-menu-trigger-width\){width:var(--radix-dropdown-menu-trigger-width)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-none{max-width:none}.min-w-\[96px\]{min-width:96px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-\[1\.02\]{scale:1.02}.rotate-45{rotate:45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-\(--card-spacing\){gap:var(--card-spacing)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[2px\]{border-radius:2px}.rounded-\[calc\(var\(--radius\)-3px\)\]{border-radius:calc(var(--radius) - 3px)}.rounded-\[inherit\]{border-radius:inherit}.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-none{border-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--ws-blue\)\]{border-color:var(--ws-blue)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-transparent{background-color:#0000}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-clip-padding{background-clip:padding-box}.object-cover{object-fit:cover}.p-\(--card-spacing\){padding:var(--card-spacing)}.p-px{padding:1px}.px-\(--card-spacing\){padding-inline:var(--card-spacing)}.py-\(--card-spacing\){padding-block:var(--card-spacing)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-\[0\.8rem\]{font-size:.8rem}.leading-none{--tw-leading:1;line-height:1}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.whitespace-nowrap{white-space:nowrap}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.bg-blend-color{background-blend-mode:color}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none\!{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.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,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-has-data-\[slot\=command-shortcut\]\/command-item\:hidden:is(:where(.group\/command-item):has([data-slot=command-shortcut]) *){display:none}.group-data-\[checked\=true\]\/command-item\:opacity-100:is(:where(.group\/command-item)[data-checked=true] *){opacity:1}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *),.group-data-\[disabled\=true\]\/input-group\:opacity-50:is(:where(.group\/input-group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:mix-blend-darken:after{content:var(--tw-content);mix-blend-mode:darken}@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\:underline:hover{text-decoration-line:underline}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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-3:focus-visible,.focus-visible\:ring-\[3px\]: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\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.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\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-transparent:disabled{background-color:#0000}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:border-inherit:focus-within{border-color:inherit}:where([data-slot=combobox-content]) .in-data-\[slot\=combobox-content\]\:focus-within\:ring-0:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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)}.has-disabled\:opacity-50:has(:disabled){opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[slot\=card-description\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]){grid-template-rows:auto auto}:is(.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-3:has([data-slot=input-group-control]:focus-visible),.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:ring-3:has([data-slot][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)}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\[\>button\]\:mr-\[-0\.3rem\]:has(>button){margin-right:-.3rem}.has-\[\>button\]\:ml-\[-0\.3rem\]:has(>button){margin-left:-.3rem}.has-\[\>kbd\]\:mr-\[-0\.15rem\]:has(>kbd){margin-right:-.15rem}.has-\[\>kbd\]\:ml-\[-0\.15rem\]:has(>kbd){margin-left:-.15rem}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.aria-invalid\:ring-0[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + 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-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)}.group-data-\[size\=default\]\/switch\:data-checked\:translate-x-\[calc\(100\%-2px\)\]:is(:where(.group\/switch)[data-size=default] *)[data-checked],.group-data-\[size\=sm\]\/switch\:data-checked\:translate-x-\[calc\(100\%-2px\)\]:is(:where(.group\/switch)[data-size=sm] *)[data-checked]{--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-horizontal\:flex-col[data-horizontal]{flex-direction:column}.data-horizontal\:border-t[data-horizontal]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-horizontal\:border-t-transparent[data-horizontal]{border-top-color:#0000}.data-vertical\:h-full[data-vertical]{height:100%}.data-vertical\:border-l[data-vertical]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-vertical\:border-l-transparent[data-vertical]{border-left-color:#0000}.data-\[align-trigger\=true\]\:animate-none[data-align-trigger=true]{animation:none}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[position\=popper\]\:h-\(--radix-select-trigger-height\)[data-position=popper]{height:var(--radix-select-trigger-height)}.data-\[position\=popper\]\:w-full[data-position=popper]{width:100%}.data-\[position\=popper\]\:min-w-\(--radix-select-trigger-width\)[data-position=popper]{min-width:var(--radix-select-trigger-width)}.data-\[side\=bottom\]\:h-auto[data-side=bottom]{height:auto}.data-\[side\=bottom\]\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[side\=left\]\:h-full[data-side=left]{height:100%}.data-\[side\=left\]\:w-3\/4[data-side=left]{width:75%}.data-\[side\=left\]\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[side\=right\]\:h-full[data-side=right]{height:100%}.data-\[side\=right\]\:w-3\/4[data-side=right]{width:75%}.data-\[side\=right\]\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[side\=top\]\:h-auto[data-side=top]{height:auto}.data-\[side\=top\]\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.data-\[size\=default\]\:h-\[18\.4px\][data-size=default]{height:18.4px}.data-\[size\=default\]\:w-\[32px\][data-size=default]{width:32px}.data-\[size\=sm\]\:h-\[14px\][data-size=sm]{height:14px}.data-\[size\=sm\]\:w-\[24px\][data-size=sm]{width:24px}.data-\[size\=sm\]\:rounded-\[min\(var\(--radius-md\)\,10px\)\][data-size=sm]{border-radius:min(var(--radius-md), 10px)}:is(.\*\:data-\[slot\=avatar\]\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}:is(.\*\*\:data-\[slot\=kbd\]\:relative *)[data-slot=kbd]{position:relative}:is(.\*\*\:data-\[slot\=kbd\]\:isolate *)[data-slot=kbd]{isolation:isolate}:is(.\*\*\:data-\[slot\=kbd\]\:z-50 *)[data-slot=kbd]{z-index:50}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}.data-\[state\=closed\]\:overflow-hidden[data-state=closed]{overflow:hidden}@media (prefers-color-scheme:dark){.dark\:bg-transparent{background-color:#0000}.dark\:after\:mix-blend-lighten:after{content:var(--tw-content);mix-blend-mode:lighten}.dark\:disabled\:bg-transparent:disabled{background-color:#0000}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\.border-b\]\:pb-\(--card-spacing\).border-b{padding-bottom:var(--card-spacing)}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd{border-radius:calc(var(--radius) - 5px)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size=sm] *)>svg{display:none}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}:root{--ws-blue:#2b2bf5;--ws-blue-dark:#1a1ae0;--ws-blue-deeper:#1010b8;--ws-blue-pale:#e8e8fd;--ws-blue-ghost:#f0f0fe;--ws-ink:#0f0f14;--ws-ink-secondary:#3a3a52;--ws-ink-muted:#7272a0;--ws-ink-disabled:#bcbcd6;--ws-bg:#fff;--ws-surface:#fff;--ws-surface-raised:#f7f7f9;--ws-surface-muted:#f2f2f6;--ws-border:#ebebf0;--ws-border-strong:#d4d4df;--ws-success:#0fab72;--ws-warning:#f59e0b;--ws-error:#ef4444;--ws-info:#3b82f6;--ws-blue-glow:0 0 0 1px #2b2bf526, 0 4px 24px #2b2bf533, 0 1px 4px #2b2bf51f;--ws-blue-glow-lg:0 0 0 1px #2b2bf533, 0 8px 40px #2b2bf547, 0 2px 8px #2b2bf529;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:clamp(1rem, 1.5vw, 1.125rem);--text-lg:clamp(1.125rem, 2vw, 1.25rem);--text-xl:clamp(1.25rem, 2.5vw, 1.5rem);--text-2xl:clamp(1.5rem, 3vw, 1.875rem);--text-3xl:clamp(1.75rem, 3.5vw, 2.25rem);--text-4xl:clamp(2rem, 4.5vw, 3rem);--text-5xl:clamp(2.25rem, 5.5vw, 3.75rem);--text-6xl:clamp(2.5rem, 6.5vw, 4.5rem);--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.55;--leading-relaxed:1.7;--tracking-tight:-.03em;--tracking-snug:-.015em;--tracking-wide:.04em;--tracking-widest:.12em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--section-py:clamp(3rem, 8vw, 6rem);--section-px:clamp(1.25rem, 5vw, 4rem);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px #0f0f140f;--shadow-sm:0 1px 4px #0f0f1414, 0 1px 2px #0f0f140a;--shadow-md:0 4px 12px #0f0f141a, 0 2px 4px #0f0f140f;--shadow-lg:0 8px 28px #0f0f141f, 0 4px 8px #0f0f140f;--shadow-xl:0 16px 48px #0f0f1424, 0 6px 16px #0f0f1414;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-inout:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.12s;--duration-base:.2s;--duration-slow:.35s;--duration-slower:.5s;--container-xl:1280px;--navbar-h:60px;--z-base:0;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;--z-tooltip:600}@media (min-width:1024px){:root{--navbar-h:72px}}@layer base{*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--navbar-h);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:clamp(14px,1.5vw + 10px,16px);overflow-x:hidden}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:var(--leading-normal);color:var(--ws-ink);background-color:var(--ws-bg);min-height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--ws-ink)}h1{font-size:clamp(1.875rem,6vw,3.75rem);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-weight:700}h2{font-size:clamp(1.5rem,4vw,3rem);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug);font-weight:700}h3{font-size:clamp(1.25rem,3vw,2.25rem);line-height:var(--leading-snug);font-weight:700}h4{font-size:clamp(1.125rem,2.5vw,1.5rem);font-weight:600}h5{font-size:clamp(1rem,2vw,1.25rem);font-weight:600}h6{font-size:var(--text-base);font-weight:600}p{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--ws-ink-secondary);text-wrap:pretty}a{color:var(--ws-blue);transition:color var(--duration-fast) var(--ease-out);text-decoration:none}a:hover{color:var(--ws-blue-dark)}a:focus-visible{outline:2px solid var(--ws-blue);outline-offset:3px;border-radius:var(--radius-sm)}button,[role=button],a{min-width:44px;min-height:44px}button,a{-webkit-tap-highlight-color:transparent}code,pre,kbd{font-family:var(--font-mono);font-size:.9em}pre{background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);-webkit-overflow-scrolling:touch;overflow-x:auto}code:not(pre>code){background:var(--ws-blue-ghost);color:var(--ws-blue);border-radius:var(--radius-sm);padding:.15em .45em;font-weight:500}img,video{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:var(--font-body);background:0 0;border:none}input,textarea,select{font-family:var(--font-body);font-size:var(--text-base)}ul,ol{list-style:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components{.ws-container{width:100%;max-width:var(--container-xl);padding-inline:var(--section-px);margin-inline:auto}.ws-section{padding-block:var(--section-py)}.ws-section-alt{background-color:var(--ws-surface-raised)}.ws-section-dark{background-color:var(--ws-ink);color:#fff}.ws-section-blue{background-color:var(--ws-blue);color:#fff}.ws-navbar{z-index:var(--z-sticky);width:100%;height:var(--navbar-h);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--ws-border);transition:box-shadow var(--duration-base) var(--ease-out);padding-top:env(safe-area-inset-top);background:#fffffff5;position:sticky;top:0}.ws-navbar.scrolled{box-shadow:var(--shadow-sm)}.ws-navbar-inner{height:100%;padding-inline:var(--section-px);max-width:var(--container-xl);justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.ws-logo{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:var(--tracking-tight);color:var(--ws-ink);font-weight:700;text-decoration:none}.ws-logo:hover{color:var(--ws-blue)}.ws-nav-links{align-items:center;gap:var(--space-8);list-style:none;display:none}@media (min-width:768px){.ws-nav-links{display:flex}}.ws-nav-links a{color:var(--ws-ink-secondary);transition:color var(--duration-fast);font-weight:500}.ws-nav-links a:hover{color:var(--ws-blue)}.ws-hamburger{width:44px;height:44px;padding:var(--space-2);border-radius:var(--radius-md);background:0 0;border:none;flex-direction:column;gap:5px;display:flex}.ws-hamburger span{background:var(--ws-ink);border-radius:var(--radius-full);height:2px;transition:transform var(--duration-base), opacity var(--duration-base);display:block}.ws-hamburger.open span:first-child{transform:translateY(7px)rotate(45deg)}.ws-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.ws-hamburger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (min-width:768px){.ws-hamburger{display:none}}.ws-mobile-menu{inset:0;top:var(--navbar-h);background:var(--ws-surface);padding:var(--space-6) var(--section-px);transition:transform var(--duration-slow) var(--ease-out);border-top:1px solid var(--ws-border);z-index:calc(var(--z-sticky) - 1);position:fixed;transform:translate(100%)}.ws-mobile-menu.open{transform:translate(0)}@media (min-width:768px){.ws-mobile-menu{display:none}}.ws-mobile-menu nav{gap:var(--space-1);flex-direction:column;display:flex}.ws-mobile-menu a{min-height:52px;font-size:var(--text-md);color:var(--ws-ink-secondary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);transition:background var(--duration-fast), color var(--duration-fast);align-items:center;font-weight:500;display:flex}.ws-mobile-menu a:hover,.ws-mobile-menu a.active{background:var(--ws-blue-ghost);color:var(--ws-blue)}.ws-hero{padding-block:clamp(var(--space-16), 10vw, var(--space-32));padding-inline:var(--section-px);text-align:center}@media (min-width:768px){.ws-hero{text-align:left}}.ws-hero h1{max-width:800px;margin-inline:auto;font-size:clamp(2.5rem,6vw,4rem)}@media (min-width:768px){.ws-hero h1{margin-inline:0}}.ws-hero .ws-subheading{font-size:var(--text-lg);max-width:600px;margin-top:var(--space-4);margin-inline:auto}@media (min-width:768px){.ws-hero .ws-subheading{margin-inline:0}}.ws-hero-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-8);flex-direction:column;display:flex}.ws-hero-actions .ws-btn{width:100%;max-width:320px}@media (min-width:640px){.ws-hero-actions{flex-direction:row;align-items:flex-start}.ws-hero-actions .ws-btn{width:auto;max-width:none}}@media (min-width:768px){.ws-hero-actions{justify-content:flex-start}}.ws-tech-stack{gap:var(--space-2);margin-top:var(--space-6);flex-wrap:wrap;justify-content:center;display:flex}@media (min-width:768px){.ws-tech-stack{justify-content:flex-start}}.ws-tech-pill{background:var(--ws-surface-raised);border:1px solid var(--ws-border);color:var(--ws-ink-secondary);font-size:var(--text-sm);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);transition:all var(--duration-fast);font-weight:500}.ws-tech-pill:hover{border-color:var(--ws-blue);color:var(--ws-blue);background:var(--ws-blue-ghost)}.ws-stats{gap:var(--space-5);margin-top:var(--space-12);grid-template-columns:repeat(2,1fr);display:grid}@media (min-width:640px){.ws-stats{gap:var(--space-6)}}@media (min-width:1024px){.ws-stats{gap:var(--space-8);grid-template-columns:repeat(4,1fr)}}.ws-stat-item{text-align:center;padding:var(--space-4);background:var(--ws-surface);border-radius:var(--radius-xl);border:1px solid var(--ws-border);box-shadow:var(--shadow-xs);transition:transform var(--duration-slow), box-shadow var(--duration-base)}@media (hover:hover){.ws-stat-item:hover{box-shadow:var(--shadow-md);border-color:var(--ws-border-strong);transform:translateY(-2px)}}.ws-stat-number{font-family:var(--font-display);color:var(--ws-blue);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.2}.ws-stat-label{font-size:var(--text-sm);color:var(--ws-ink-muted);margin-top:var(--space-1);font-weight:500}.ws-btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.01em;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);min-height:48px;transition:all var(--duration-base) var(--ease-out);cursor:pointer;white-space:nowrap;border:1.5px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}.ws-btn:active{transform:scale(.96)}.ws-btn:focus-visible{outline:2px solid var(--ws-blue);outline-offset:3px}.ws-btn-primary{background:var(--ws-blue);color:#fff;border-color:var(--ws-blue);box-shadow:var(--shadow-sm)}.ws-btn-primary:hover{background:var(--ws-blue-dark);box-shadow:var(--ws-blue-glow)}.ws-btn-secondary{color:var(--ws-blue);border-color:var(--ws-blue);background:0 0}.ws-btn-secondary:hover{background:var(--ws-blue-ghost);box-shadow:var(--ws-blue-glow)}.ws-btn-ghost{color:var(--ws-ink-secondary);background:0 0;border-color:#0000}.ws-btn-ghost:hover{background:var(--ws-blue-ghost);color:var(--ws-blue)}.ws-btn-sm{font-size:var(--text-xs);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);min-height:36px}.ws-btn-lg{font-size:var(--text-base);padding:var(--space-4) var(--space-8);border-radius:var(--radius-xl);min-height:56px}.ws-btn-group{gap:var(--space-3);flex-direction:column;width:100%;display:flex}@media (min-width:640px){.ws-btn-group{flex-direction:row;width:auto}}.ws-grid{gap:var(--space-5);grid-template-columns:1fr;display:grid}@media (min-width:640px){.ws-grid{gap:var(--space-6);grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.ws-grid{gap:var(--space-8);grid-template-columns:repeat(3,1fr)}}@media (min-width:1280px){.ws-grid-4{grid-template-columns:repeat(4,1fr)}}.ws-split{gap:var(--space-8);grid-template-columns:1fr;align-items:center;display:grid}@media (min-width:1024px){.ws-split{gap:var(--space-16);grid-template-columns:1fr 1fr}.ws-split-60-40{gap:var(--space-16);grid-template-columns:3fr 2fr}.ws-split-40-60{gap:var(--space-16);grid-template-columns:2fr 3fr}}.ws-display{font-family:var(--font-display);font-size:clamp(2rem,7vw,4.5rem);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--ws-ink)}.ws-headline{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,3rem);font-weight:700;line-height:var(--leading-snug);letter-spacing:var(--tracking-snug);color:var(--ws-ink)}.ws-subheading{font-family:var(--font-body);font-size:clamp(var(--text-base), 2vw, var(--text-md));font-weight:400;line-height:var(--leading-relaxed);color:var(--ws-ink-secondary)}.ws-label{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--ws-ink-muted);font-weight:600}.ws-label-blue{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--ws-blue);background:var(--ws-blue-ghost);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-weight:600;display:inline-block}.ws-code-label{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ws-blue);letter-spacing:-.01em;font-weight:500}.ws-text-gradient{background:linear-gradient(135deg, var(--ws-blue) 0%, #7b7bff 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.ws-card{background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-base), border-color var(--duration-base), transform var(--duration-slow)}@media (min-width:768px){.ws-card{padding:var(--space-8)}}@media (hover:hover){.ws-card:hover{box-shadow:var(--ws-blue-glow);border-color:#2b2bf540;transform:translateY(-2px)}}.ws-card-flat{background:var(--ws-surface-raised);border:1px solid var(--ws-border);border-radius:var(--radius-xl);padding:var(--space-5)}@media (min-width:768px){.ws-card-flat{padding:var(--space-6)}}.ws-badge{align-items:center;gap:var(--space-1);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-weight:600;line-height:1.5;display:inline-flex}.ws-badge-blue{background:var(--ws-blue-pale);color:var(--ws-blue);border:1px solid #2b2bf533}.ws-badge-neutral{background:var(--ws-surface);color:var(--ws-ink-secondary);border:1px solid var(--ws-border)}.ws-input{width:100%;font-family:var(--font-body);color:var(--ws-ink);background:var(--ws-surface);border:1.5px solid var(--ws-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);min-height:48px;transition:border-color var(--duration-base), box-shadow var(--duration-base);appearance:none;outline:none;font-size:1rem}.ws-input::placeholder{color:var(--ws-ink-muted)}.ws-input:hover{border-color:var(--ws-border-strong)}.ws-input:focus{border-color:var(--ws-blue);box-shadow:0 0 0 3px #2b2bf51f}.ws-label-field{font-size:var(--text-sm);color:var(--ws-ink-secondary);margin-bottom:var(--space-2);font-weight:500;display:block}.ws-form-group{gap:var(--space-4);flex-direction:column;display:flex}@media (min-width:640px){.ws-form-group-row{flex-direction:row;align-items:flex-end}}.ws-divider{background:var(--ws-border);height:1px;margin-block:var(--space-8);border:none}.ws-divider-blue{background:var(--ws-blue);border-radius:var(--radius-full);border:none;width:40px;height:2px}.ws-code-block{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--ws-ink);color:#e8e8fd;border-radius:var(--radius-xl);padding:var(--space-5) var(--space-6);-webkit-overflow-scrolling:touch;box-shadow:var(--shadow-lg);overflow-x:auto}@media (min-width:768px){.ws-code-block{padding:var(--space-6) var(--space-8)}}.ws-toast{bottom:calc(var(--space-4) + env(safe-area-inset-bottom));left:var(--space-4);right:var(--space-4);z-index:var(--z-toast);background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-lg);align-items:center;gap:var(--space-3);font-size:var(--text-sm);display:flex;position:fixed}@media (min-width:640px){.ws-toast{bottom:var(--space-6);left:auto;right:var(--space-6);width:360px}}.ws-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);background:#0f0f1499;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (min-width:640px){.ws-modal-overlay{padding:var(--space-4);align-items:center}}.ws-modal{background:var(--ws-surface);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;padding:var(--space-6) var(--space-5);padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom));width:100%;max-height:90dvh;box-shadow:var(--shadow-xl);overflow-y:auto}@media (min-width:640px){.ws-modal{border-radius:var(--radius-2xl);max-width:480px;padding:var(--space-8);max-height:85dvh;padding-bottom:var(--space-8)}}.ws-section-eyebrow{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.ws-section-eyebrow:before{content:"";background:var(--ws-blue);border-radius:var(--radius-full);flex-shrink:0;width:24px;height:2px;display:block}.ws-glow{box-shadow:var(--ws-blue-glow)}.ws-glow-lg{box-shadow:var(--ws-blue-glow-lg)}.ws-footer{background:var(--ws-ink);color:var(--ws-ink-disabled);padding-block:var(--space-12) var(--space-8);padding-inline:var(--section-px);padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom))}.ws-footer-grid{gap:var(--space-8);max-width:var(--container-xl);grid-template-columns:1fr;margin-inline:auto;display:grid}@media (min-width:640px){.ws-footer-grid{gap:var(--space-10);grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.ws-footer-grid{gap:var(--space-12);grid-template-columns:2fr 1fr 1fr 1fr}}.ws-admin-layout{flex-direction:column;min-height:100dvh;display:flex}.ws-admin-main-wrapper{background:var(--ws-bg);flex-direction:column;flex:1;min-width:0;min-height:100dvh;display:flex}.ws-admin-main{padding:var(--space-5);padding-bottom:calc(var(--space-20) + env(safe-area-inset-bottom));flex:1;overflow-x:hidden}@media (min-width:768px){.ws-admin-main{padding:var(--space-8);padding-bottom:var(--space-8)}}@media (min-width:1024px){.ws-admin-layout{flex-direction:row}}.ws-admin-sidebar{z-index:var(--z-modal);background:var(--ws-surface);border-right:1px solid var(--ws-border);width:260px;height:100dvh;box-shadow:var(--shadow-lg);transition:transform var(--duration-slow) var(--ease-inout);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex;position:fixed;top:0;left:0;transform:translate(-100%)}.ws-admin-sidebar.open{transform:translate(0)}@media (min-width:1024px){.ws-admin-sidebar{z-index:var(--z-base);height:100dvh;box-shadow:none;border-right:1px solid var(--ws-border);display:flex;position:sticky;top:0;transform:translate(0)}}.ws-sidebar-brand{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--ws-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.ws-sidebar-logo{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:var(--tracking-tight);color:var(--ws-ink);transition:color var(--duration-fast) var(--ease-out);font-weight:700;text-decoration:none}.ws-sidebar-logo:hover{color:var(--ws-blue)}.ws-sidebar-nav{gap:var(--space-1);padding:var(--space-4) var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.ws-sidebar-section-title{font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--ws-ink-muted);padding:var(--space-3) var(--space-3) var(--space-2);font-weight:600}.ws-sidebar-link{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--ws-ink-secondary);transition:all var(--duration-fast) var(--ease-out);min-height:44px;font-weight:500;text-decoration:none;display:flex}.ws-sidebar-link svg{opacity:.6;flex-shrink:0;width:20px;height:20px}.ws-sidebar-link:hover{background:var(--ws-blue-ghost);color:var(--ws-blue)}.ws-sidebar-link:hover svg{opacity:1}.ws-sidebar-link.active{background:var(--ws-blue-pale);color:var(--ws-blue);font-weight:600}.ws-sidebar-link.active svg{opacity:1}.ws-sidebar-link-dot{border-radius:var(--radius-full);width:4px;height:4px;margin-left:var(--space-2);background:currentColor;flex-shrink:0}.ws-sidebar-badge{background:var(--ws-blue-ghost);color:var(--ws-blue);border-radius:var(--radius-full);margin-left:auto;padding:2px 8px;font-size:11px;font-weight:600}.ws-sidebar-footer{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--ws-border);background:var(--ws-surface-raised);flex-shrink:0;display:flex}.ws-admin-topbar{z-index:var(--z-sticky);background:var(--ws-surface);border-bottom:1px solid var(--ws-border);box-shadow:var(--shadow-sm);position:sticky;top:0}.ws-admin-topbar-inner{padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}@media (min-width:768px){.ws-admin-topbar-inner{padding:var(--space-3) var(--space-6)}}.ws-admin-topbar-left{align-items:center;gap:var(--space-3);display:flex}.ws-topbar-title{font-family:var(--font-display);font-size:var(--text-md);color:var(--ws-ink);text-transform:capitalize;font-weight:600}@media (min-width:768px){.ws-topbar-title{font-size:var(--text-lg)}}.ws-topbar-user-name{font-size:var(--text-sm);color:var(--ws-ink-secondary);display:none}@media (min-width:640px){.ws-topbar-user-name{display:inline}}.ws-topbar-hamburger{width:40px;height:40px;padding:var(--space-2);border-radius:var(--radius-md);color:var(--ws-ink-secondary);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.ws-topbar-hamburger:hover{background:var(--ws-border);color:var(--ws-ink)}@media (min-width:1024px){.ws-topbar-hamburger{display:none}}.ws-admin-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.ws-admin-header-left{gap:var(--space-1);flex-direction:column;display:flex}.ws-admin-header-left h1{font-size:var(--text-2xl)}.ws-admin-header-left p{font-size:var(--text-sm);color:var(--ws-ink-muted)}.ws-admin-header-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ws-bottom-nav{z-index:var(--z-sticky);background:var(--ws-surface);border-top:1px solid var(--ws-border);padding:var(--space-2) var(--space-4);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom));justify-content:space-around;gap:var(--space-1);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -1px 8px #0f0f140f}.ws-bottom-nav-item{min-width:56px;min-height:48px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-lg);color:var(--ws-ink-muted);letter-spacing:.01em;transition:color var(--duration-fast), background var(--duration-fast);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:10px;font-weight:500;text-decoration:none;display:flex}.ws-bottom-nav-item.active,.ws-bottom-nav-item:hover{color:var(--ws-blue);background:var(--ws-blue-ghost)}.ws-bottom-nav-item svg{width:20px;height:20px}@media (min-width:1024px){.ws-bottom-nav{display:none}}.ws-stat-card{background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--radius-xl);padding:var(--space-5);gap:var(--space-4);transition:box-shadow var(--duration-base), border-color var(--duration-base), transform var(--duration-slow);flex-direction:column;text-decoration:none;display:flex}@media (min-width:768px){.ws-stat-card{padding:var(--space-6)}}@media (hover:hover){.ws-stat-card:hover{box-shadow:var(--ws-blue-glow);border-color:#2b2bf540;transform:translateY(-2px)}}.ws-stat-card-header{justify-content:space-between;align-items:center;display:flex}.ws-stat-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.ws-stat-icon svg{width:22px;height:22px}.ws-stat-icon-blue{background:var(--ws-blue-ghost);color:var(--ws-blue)}.ws-stat-icon-green{color:var(--ws-success);background:#0fab721a}.ws-stat-icon-orange{color:var(--ws-warning);background:#f59e0b1a}.ws-stat-icon-red{color:var(--ws-error);background:#ef44441a}.ws-stat-value{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;line-height:var(--leading-tight);color:var(--ws-ink)}.ws-stat-label{font-size:var(--text-xs);color:var(--ws-ink-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-weight:500}.ws-stat-trend{align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:600;display:flex}.ws-stat-trend-up{color:var(--ws-success)}.ws-stat-trend-down{color:var(--ws-error)}.ws-dash-grid{gap:var(--space-5);grid-template-columns:1fr;display:grid}@media (min-width:768px){.ws-dash-grid{gap:var(--space-6);grid-template-columns:repeat(2,1fr)}}@media (min-width:1280px){.ws-dash-grid{gap:var(--space-6);grid-template-columns:repeat(4,1fr)}}.ws-dash-content{gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:1fr;display:grid}@media (min-width:1024px){.ws-dash-content{gap:var(--space-6);grid-template-columns:2fr 1fr}}.ws-chart-container{background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--radius-xl);padding:var(--space-5);overflow:hidden}@media (min-width:768px){.ws-chart-container{padding:var(--space-6)}}.ws-chart-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.ws-chart-title{font-family:var(--font-display);font-size:var(--text-md);color:var(--ws-ink);font-weight:600}.ws-table-wrapper{background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--radius-xl);-webkit-overflow-scrolling:touch;overflow-x:auto}.ws-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.ws-table thead{border-bottom:1px solid var(--ws-border-strong)}.ws-table th{font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--ws-ink-muted);padding:var(--space-3) var(--space-4);text-align:left;white-space:nowrap;background:var(--ws-surface-raised);font-weight:600}.ws-table td{padding:var(--space-3) var(--space-4);color:var(--ws-ink-secondary);border-bottom:1px solid var(--ws-border);white-space:nowrap}.ws-table tbody tr:last-child td{border-bottom:none}.ws-table tbody tr{transition:background var(--duration-fast) var(--ease-out)}.ws-table tbody tr:hover{background:var(--ws-blue-ghost)}.ws-avatar{border-radius:var(--radius-full);background:var(--ws-blue-pale);width:36px;height:36px;color:var(--ws-blue);font-weight:600;font-size:var(--text-xs);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.ws-avatar img{object-fit:cover;width:100%;height:100%}.ws-avatar-sm{width:28px;height:28px;font-size:10px}.ws-avatar-lg{width:48px;height:48px;font-size:var(--text-base)}.ws-avatar-group{align-items:center;display:flex}.ws-avatar-group .ws-avatar{border:2px solid var(--ws-surface)}.ws-avatar-group .ws-avatar+.ws-avatar{margin-left:-8px}.ws-search-bar{align-items:center;gap:var(--space-2);background:var(--ws-surface);border:1.5px solid var(--ws-border);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-4);transition:border-color var(--duration-base), box-shadow var(--duration-base);min-height:44px;display:flex}.ws-search-bar:focus-within{border-color:var(--ws-blue);box-shadow:0 0 0 3px #2b2bf51f}.ws-search-bar input{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ws-ink);background:0 0;border:none;outline:none;flex:1;min-height:0;padding:0}.ws-search-bar input::placeholder{color:var(--ws-ink-muted)}.ws-search-bar svg{width:18px;height:18px;color:var(--ws-ink-muted);flex-shrink:0}.ws-tabs{gap:var(--space-1);border-bottom:1px solid var(--ws-border);-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;overflow-x:auto}.ws-tabs::-webkit-scrollbar{display:none}.ws-tab{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--ws-ink-muted);white-space:nowrap;transition:all var(--duration-fast) var(--ease-out);border-radius:var(--radius-md) var(--radius-md) 0 0;cursor:pointer;align-items:center;gap:var(--space-2);background:0 0;border-bottom:2px solid #0000;min-height:44px;font-weight:500;display:inline-flex}.ws-tab:hover{color:var(--ws-ink-secondary);background:var(--ws-blue-ghost)}.ws-tab.active{color:var(--ws-blue);border-bottom-color:var(--ws-blue);font-weight:600}.ws-progress{background:var(--ws-border);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.ws-progress-bar{background:var(--ws-blue);border-radius:var(--radius-full);height:100%;transition:width var(--duration-slow) var(--ease-out)}.ws-progress-bar-green{background:var(--ws-success)}.ws-progress-bar-orange{background:var(--ws-warning)}.ws-progress-bar-red{background:var(--ws-error)}.ws-dropdown{display:inline-block;position:relative}.ws-dropdown-menu{top:calc(100% + var(--space-2));background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--radius-xl);min-width:200px;box-shadow:var(--shadow-lg);padding:var(--space-2);z-index:var(--z-dropdown);opacity:0;visibility:hidden;transition:all var(--duration-fast) var(--ease-out);position:absolute;right:0;transform:translateY(-4px)}.ws-dropdown-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.ws-dropdown-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--ws-ink-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);text-align:left;width:100%;min-height:44px;font-family:var(--font-body);background:0 0;border:none;display:flex}.ws-dropdown-item:hover{background:var(--ws-blue-ghost);color:var(--ws-blue)}.ws-dropdown-item svg{flex-shrink:0;width:16px;height:16px}.ws-empty-state{text-align:center;padding:var(--space-12) var(--space-5);justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.ws-empty-state svg{width:64px;height:64px;color:var(--ws-ink-disabled);margin-bottom:var(--space-2)}.ws-empty-state h3{font-size:var(--text-lg);color:var(--ws-ink);font-weight:600}.ws-empty-state p{max-width:360px;font-size:var(--text-sm);color:var(--ws-ink-muted)}.ws-skeleton{background:linear-gradient(90deg, var(--ws-border) 0%, var(--ws-surface-raised) 50%, var(--ws-border) 100%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ws-skeleton-text{height:14px;margin-bottom:var(--space-2)}.ws-skeleton-text-sm{width:60%;height:10px}.ws-skeleton-avatar{border-radius:var(--radius-full);width:36px;height:36px}.ws-skeleton-card{border-radius:var(--radius-xl);height:140px}.ws-notification-dot{background:var(--ws-error);border-radius:var(--radius-full);border:2px solid var(--ws-surface);width:8px;height:8px;position:absolute;top:2px;right:2px}.ws-kbd{font-family:var(--font-mono);color:var(--ws-ink-muted);background:var(--ws-surface-raised);border:1px solid var(--ws-border);border-radius:var(--radius-sm);min-width:20px;height:20px;box-shadow:0 1px 0 var(--ws-border);justify-content:center;align-items:center;padding:1px 6px;font-size:11px;font-weight:500;display:inline-flex}.ws-enquiry-list{gap:var(--space-2);flex-direction:column;display:flex}.ws-enquiry-item{text-align:left;background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--radius-xl);width:100%;padding:var(--space-4);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-xs);min-height:auto}.ws-enquiry-item:hover{border-color:var(--ws-border-strong);box-shadow:var(--shadow-sm)}.ws-enquiry-item.selected{background:var(--ws-blue-ghost);border-color:var(--ws-blue);box-shadow:0 0 0 3px #2b2bf51f}.ws-enquiry-item.unread{border-color:var(--ws-border-strong)}.ws-enquiry-item-content{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.ws-enquiry-item-main{flex:1;min-width:0}.ws-enquiry-item-name{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}.ws-enquiry-item-type{font-size:var(--text-sm);color:var(--ws-ink-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.ws-enquiry-item-meta{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.ws-enquiry-item-date{font-size:var(--text-xs);color:var(--ws-ink-muted);display:none}@media (min-width:640px){.ws-enquiry-item-date{display:inline}}.ws-enquiry-unread-dot{background:var(--ws-info);border-radius:var(--radius-full);flex-shrink:0;width:8px;height:8px}.ws-enquiry-detail{background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-md);gap:var(--space-4);flex-direction:column;height:fit-content;display:flex}@media (min-width:768px){.ws-enquiry-detail{padding:var(--space-6)}}@media (min-width:1024px){.ws-enquiry-detail{width:384px;top:calc(var(--navbar-h) + var(--space-4));flex-shrink:0;position:sticky}}.ws-enquiry-detail-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.ws-enquiry-detail-header h3{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ws-ink);font-weight:700}.ws-enquiry-detail-fields{gap:var(--space-3);flex-direction:column;display:flex}.ws-enquiry-detail-row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.ws-enquiry-message{background:var(--ws-bg);border-radius:var(--radius-lg);padding:var(--space-4)}.ws-enquiry-message span{margin-bottom:var(--space-2);display:block}.ws-enquiry-message p{font-size:var(--text-sm);line-height:var(--leading-relaxed);white-space:pre-wrap;color:var(--ws-ink-secondary)}.ws-enquiry-meta{font-size:var(--text-xs);color:var(--ws-ink-muted)}.ws-enquiry-meta p+p{margin-top:var(--space-1)}.ws-enquiry-actions{gap:var(--space-2);flex-direction:column;display:flex}.ws-enquiry-status-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.ws-enquiry-status-btn{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--ws-border);color:var(--ws-ink-secondary);cursor:pointer;min-height:32px;transition:all var(--duration-fast) var(--ease-out);border:none;font-weight:600}.ws-enquiry-status-btn:hover:not(:disabled){background:var(--ws-blue-ghost);color:var(--ws-blue)}.ws-enquiry-status-btn.active{background:var(--ws-blue);color:#fff}.ws-enquiry-status-btn:disabled{opacity:.5;cursor:not-allowed}}@layer utilities{.text-ws-muted{color:var(--ws-ink-muted)}.bg-ws-surface{background-color:var(--ws-surface)}.bg-ws-bg{background-color:var(--ws-bg)}.border-ws{border-color:var(--ws-border)}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}.font-mono{font-family:var(--font-mono)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.ws-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ws-line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ws-line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ws-link-underline{position:relative}.ws-link-underline:after{content:"";background:var(--ws-blue);border-radius:var(--radius-full);width:0;height:1.5px;transition:width var(--duration-base) var(--ease-out);position:absolute;bottom:-2px;left:0}.ws-link-underline:hover:after{width:100%}.ws-focus-ring:focus-visible{outline:2px solid var(--ws-blue);outline-offset:3px;border-radius:var(--radius-sm)}.ws-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ws-skip-link{top:-100%;left:var(--space-4);background:var(--ws-blue);color:#fff;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);z-index:var(--z-tooltip);transition:top var(--duration-fast) var(--ease-out);font-weight:600;position:absolute}.ws-skip-link:focus{top:var(--space-4)}.ws-snap-x{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:var(--space-4);padding-inline:var(--section-px);display:flex;overflow-x:auto}.ws-snap-x::-webkit-scrollbar{display:none}.ws-snap-x>*{scroll-snap-align:start;flex-shrink:0;width:85vw;max-width:320px}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[1\.4fr_1fr\]{grid-template-columns:1.4fr 1fr}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.w-1\.5{width:.375rem}.h-1\.5{height:.375rem}.rounded-full{border-radius:9999px}.bg-ws-blue{background-color:var(--ws-blue)}.bg-ws-ink-muted{background-color:var(--ws-ink-muted)}.border-ws-border{border-color:var(--ws-border)}.border-t{border-top-width:1px}.pt-0{padding-top:0}.pt-4{padding-top:1rem}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.text-ws-ink{color:var(--ws-ink)}.text-ws-blue{color:var(--ws-blue)}.text-ws-ink-secondary{color:var(--ws-ink-secondary)}.text-ws-ink-muted{color:var(--ws-ink-muted)}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.font-medium{font-weight:500}@media (min-width:768px){.ws-snap-x{scroll-snap-type:none;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding-inline:0;display:grid;overflow:visible}.ws-snap-x>*{width:auto;max-width:none}}}.ws-hero-responsive{padding-top:calc(var(--navbar-h) + var(--space-4))!important}@media (min-width:768px){.ws-hero-responsive{padding-top:var(--section-py)!important}}.ws-gallery-card{background-position:50%;background-size:cover;transition:transform .3s,box-shadow .3s}.ws-gallery-card:hover{box-shadow:var(--shadow-lg);transform:scale(1.02)}.ws-login-page{min-height:100dvh;padding:var(--space-4);background:var(--ws-bg);justify-content:center;align-items:center;display:flex}.ws-login-card{background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--radius-xl);width:100%;max-width:360px;padding:var(--space-8) var(--space-6);box-shadow:var(--shadow-lg)}.ws-login-brand{text-align:center;margin-bottom:var(--space-6)}.ws-login-brand h1{font-family:var(--font-display);font-size:var(--text-xl);color:var(--ws-ink);letter-spacing:var(--tracking-tight);font-weight:700}.ws-login-form{gap:var(--space-3);flex-direction:column;display:flex}.ws-login-error{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-4);color:var(--ws-error);font-size:var(--text-xs);background:#ef444414;border:1px solid #ef444426;display:flex}.ws-login-error button{color:var(--ws-error);opacity:.5;cursor:pointer;background:0 0;border:none;min-width:auto;min-height:auto;padding:0 2px;font-size:18px;line-height:1}.ws-login-error button:hover{opacity:1}.ws-field-error{font-size:var(--text-xs);color:var(--ws-error);margin-top:2px}.ws-screenshot-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}@media (min-width:768px){.ws-screenshot-grid{grid-template-columns:repeat(3,1fr)}}.ws-screenshot-item{border-radius:var(--radius-lg);border:1px solid var(--ws-border);overflow:hidden}.ws-screenshot-image{aspect-ratio:16/9;background:var(--ws-bg);position:relative}.ws-tech-list{gap:var(--space-2);flex-direction:column;display:flex}.ws-tech-item{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--ws-bg);justify-content:space-between;align-items:center;display:flex}.ws-post-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.ws-post-card-main{flex:1;min-width:0}.ws-post-card-title{font-size:var(--text-base);color:var(--ws-ink);font-weight:600}.ws-post-card-meta{align-items:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.ws-post-stat{font-size:var(--text-xs);color:var(--ws-ink-muted);align-items:center;gap:4px;display:flex}.ws-post-card-actions{gap:var(--space-2);flex-shrink:0;display:flex}.ws-post-tags{gap:var(--space-1);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.ws-post-meta-bar{align-items:center;gap:var(--space-3) var(--space-5);padding:var(--space-3) var(--space-4);background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--ws-ink-muted);flex-wrap:wrap;display:flex}.ws-post-meta-item{align-items:center;gap:var(--space-1);display:flex}.ws-project-card-tags{gap:var(--space-1);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.ws-project-card-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ws-ink);margin-bottom:var(--space-2);font-weight:600}.ws-project-card-desc{font-size:var(--text-sm);color:var(--ws-ink-secondary);line-height:var(--leading-relaxed);flex:1}.ws-project-card-links{gap:var(--space-4);margin-top:var(--space-4);font-size:var(--text-sm);color:var(--ws-ink-muted);display:flex}.ws-project-link{align-items:center;gap:var(--space-1);display:flex}.ws-project-back-link{align-items:center;gap:var(--space-1);color:var(--ws-blue);font-size:var(--text-sm);transition:opacity var(--duration-fast) var(--ease-out);text-decoration:none;display:inline-flex}.ws-project-back-link:hover{opacity:.8}.ws-project-hero-tags{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.ws-project-hero-tag{color:#fff!important;background:#ffffff1a!important;border:1px solid #fff3!important}.ws-project-description{color:var(--ws-ink-secondary);line-height:var(--leading-relaxed);font-size:var(--text-md);max-width:720px}.ws-screenshot-gallery{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (min-width:640px){.ws-screenshot-gallery{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.ws-screenshot-card{border-radius:var(--radius-xl);border:1px solid var(--ws-border);background:var(--ws-surface);overflow:hidden}.ws-screenshot-image-wrapper{aspect-ratio:16/10;background:var(--ws-bg);position:relative}.ws-screenshot-caption{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--ws-ink-muted)}.ws-contact-form{gap:var(--space-4);flex-direction:column;display:flex}.ws-contact-error{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);color:var(--ws-error);font-size:var(--text-sm);margin-bottom:var(--space-5);background:#ef444414;border:1px solid #ef444433;display:flex}.ws-contact-error svg{flex-shrink:0;margin-top:1px}.ws-contact-error span{flex:1}.ws-contact-error-close{width:24px;min-width:auto;height:24px;min-height:auto;color:var(--ws-error);opacity:.6;cursor:pointer;border-radius:var(--radius-sm);transition:opacity var(--duration-fast), background var(--duration-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.ws-contact-error-close:hover{opacity:1;background:#ef44441a}.ws-contact-success-icon{border-radius:var(--radius-full);width:80px;height:80px;margin-bottom:var(--space-2);background:#0fab721a;justify-content:center;align-items:center;display:flex}.ws-gallery-grid{gap:var(--space-4);grid-template-columns:1fr;grid-auto-rows:200px;grid-auto-flow:dense;display:grid}@media (min-width:640px){.ws-gallery-grid{gap:var(--space-5);grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.ws-gallery-grid{gap:var(--space-6);grid-template-columns:repeat(3,1fr);grid-auto-rows:240px}}@media (min-width:1440px){.ws-gallery-grid{grid-template-columns:repeat(4,1fr)}}.ws-gallery-card{border-radius:var(--radius-xl);border:1px solid var(--ws-border);background:var(--ws-surface);padding:var(--space-6);transition:transform var(--duration-slow), box-shadow var(--duration-slow);flex-direction:column;justify-content:flex-end;text-decoration:none;display:flex;position:relative;overflow:hidden}.ws-gallery-card-large{grid-row:span 2}@media (hover:hover){.ws-gallery-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}}.ws-gallery-card-overlay{z-index:1;background:linear-gradient(#0000 40%,#0f0f14cc 100%);position:absolute;inset:0}.ws-gallery-card-content{z-index:2;position:relative}.ws-gallery-card-title{font-family:var(--font-display);color:#fff;margin-bottom:var(--space-2);font-weight:700}.ws-gallery-card-meta{gap:var(--space-3);align-items:center;display:flex}.ws-gallery-card-count{font-size:var(--text-sm);color:#ffffffb3;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:#ffffff26}.ws-gallery-card-desc{font-size:var(--text-xs);color:#ffffff80;display:none}@media (min-width:768px){.ws-gallery-card-desc{display:inline}}.ws-gallery-photo-count{color:#fff9;margin-top:var(--space-2);font-size:var(--text-sm)}.ws-masonry-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px;grid-auto-flow:dense;gap:8px;display:grid}@media (min-width:640px){.ws-masonry-grid{grid-template-columns:repeat(3,1fr);gap:12px}}@media (min-width:1024px){.ws-masonry-grid{grid-template-columns:repeat(4,1fr);gap:16px}}@media (min-width:1440px){.ws-masonry-grid{grid-template-columns:repeat(5,1fr)}}.ws-masonry-item{border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--duration-base) var(--ease-out);position:relative;overflow:hidden}@media (hover:hover){.ws-masonry-item:hover{transform:scale(1.02)}.ws-masonry-item:hover .ws-masonry-overlay{opacity:1}}.ws-masonry-image-wrapper{width:100%;height:100%;position:relative}.ws-masonry-overlay{opacity:0;transition:opacity var(--duration-base) var(--ease-out);padding:var(--space-4);background:linear-gradient(#0000 50%,#000000b3 100%);flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.ws-masonry-title{color:#fff;font-weight:600;font-size:var(--text-sm);margin-bottom:2px}.ws-masonry-caption{color:#ffffffb3;font-size:var(--text-xs);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ws-lightbox{z-index:999;padding:var(--space-4);background:#000000f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ws-lightbox-close{top:var(--space-4);right:var(--space-4);color:#fff;cursor:pointer;z-index:10;opacity:.7;transition:opacity var(--duration-fast) var(--ease-out);min-width:auto;min-height:auto;padding:var(--space-2);background:0 0;border:none;position:absolute}.ws-lightbox-close:hover{opacity:1}.ws-lightbox-nav{color:#fff;cursor:pointer;z-index:10;opacity:.6;transition:opacity var(--duration-fast), background var(--duration-fast);border-radius:var(--radius-full);background:#ffffff1a;border:none;justify-content:center;align-items:center;width:48px;min-width:auto;height:48px;min-height:auto;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.ws-lightbox-nav:hover{opacity:1;background:#fff3}.ws-lightbox-prev{left:var(--space-4)}.ws-lightbox-next{right:var(--space-4)}.ws-lightbox-content{max-width:90vw;max-height:90vh;position:relative}.ws-lightbox-image{object-fit:contain;border-radius:var(--radius-md);width:auto;height:auto;max-height:85vh}.ws-lightbox-caption{padding:var(--space-8) var(--space-6) var(--space-6);border-radius:0 0 var(--radius-md) var(--radius-md);background:linear-gradient(#0000,#000c);position:absolute;bottom:0;left:0;right:0}.ws-lightbox-caption-title{color:#fff;margin-bottom:var(--space-1);font-weight:600;font-size:var(--text-base)}.ws-lightbox-caption-text{color:#ffffffb3;font-size:var(--text-sm)}.ws-lightbox-counter{bottom:var(--space-4);color:#ffffff80;font-size:var(--text-xs);font-family:var(--font-mono);position:absolute;left:50%;transform:translate(-50%)}.ws-load-more{text-align:center;padding:var(--space-8) 0}.ws-blog-list{gap:var(--space-6);flex-direction:column;display:flex}.ws-blog-card-meta{align-items:center;gap:var(--space-1) var(--space-3);margin-bottom:var(--space-3);font-size:var(--text-xs);color:var(--ws-ink-muted);flex-wrap:wrap;display:flex}.ws-blog-read-time{align-items:center;gap:4px;display:inline-flex}.ws-blog-card-title{color:var(--ws-ink);margin-bottom:var(--space-2);font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:var(--leading-snug)}.ws-blog-card-excerpt{color:var(--ws-ink-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.ws-blog-card-tags{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.ws-post-hero-meta{align-items:center;gap:var(--space-1) var(--space-3);margin-top:var(--space-4);font-size:var(--text-sm);color:#fff9;flex-wrap:wrap;display:flex}.ws-post-excerpt{font-size:var(--text-lg);color:var(--ws-ink-secondary);margin-bottom:var(--space-8);font-style:italic;line-height:var(--leading-relaxed);padding-left:var(--space-4);border-left:3px solid var(--ws-blue)}.ws-post-body{color:var(--ws-ink-secondary);line-height:var(--leading-relaxed);font-size:var(--text-md);white-space:pre-wrap}.ws-post-footer-tags{gap:var(--space-2);margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid var(--ws-border);flex-wrap:wrap;display:flex}@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}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{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-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}
