/*! 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-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--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-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}}}@layer theme{:root,:host{--font-sans:-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-mono:"JetBrains Mono", ui-monospace, monospace;--spacing:.25rem;--container-xl:36rem;--container-3xl:48rem;--container-4xl:56rem;--container-6xl:72rem;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--blur-lg:16px;--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-ink:var(--ink);--color-ink-soft:var(--ink-soft);--color-paper:var(--paper);--color-surface:var(--surface);--color-line:var(--line);--color-accent:var(--accent);--color-accent-ink:var(--accent-ink);--color-accent-tint:var(--accent-tint);--color-lime:var(--lime);--font-display:"Space Grotesk", ui-sans-serif, sans-serif;--font-body:"Inter", ui-sans-serif, sans-serif}}@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}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-x-0{inset-inline:0}.top-0{top:0}.bottom-0{bottom:0}.z-10{z-index:10}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.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-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-auto{margin-top:auto}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-2{margin-left:calc(var(--spacing) * 2)}.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}.h-0\.5{height:calc(var(--spacing) * .5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-11{height:calc(var(--spacing) * 11)}.h-full{height:100%}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-11{width:calc(var(--spacing) * 11)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-full{max-width:100%}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-left{transform-origin:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.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-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}: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-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * 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)}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-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-accent{border-color:var(--color-accent)}.border-line{border-color:var(--color-line)}.border-paper\/15{border-color:var(--color-paper)}@supports (color:color-mix(in lab, red, red)){.border-paper\/15{border-color:color-mix(in oklab, var(--color-paper) 15%, transparent)}}.border-paper\/30{border-color:var(--color-paper)}@supports (color:color-mix(in lab, red, red)){.border-paper\/30{border-color:color-mix(in oklab, var(--color-paper) 30%, transparent)}}.bg-\[\#28C840\]{background-color:#28c840}.bg-\[\#FEBC2E\]{background-color:#febc2e}.bg-\[\#FF5F57\]{background-color:#ff5f57}.bg-accent{background-color:var(--color-accent)}.bg-accent-tint{background-color:var(--color-accent-tint)}.bg-ink{background-color:var(--color-ink)}.bg-lime{background-color:var(--color-lime)}.bg-paper,.bg-paper\/95{background-color:var(--color-paper)}@supports (color:color-mix(in lab, red, red)){.bg-paper\/95{background-color:color-mix(in oklab, var(--color-paper) 95%, transparent)}}.bg-surface{background-color:var(--color-surface)}.object-cover{object-fit:cover}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.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-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-left{text-align:left}.text-right{text-align:right}.font-body{font-family:var(--font-body)}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[21px\]{font-size:21px}.text-\[28px\]{font-size:28px}.text-\[32px\]{font-size:32px}.text-\[44px\]{font-size:44px}.leading-\[1\.08\]{--tw-leading:1.08;line-height:1.08}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-accent{color:var(--color-accent)}.text-accent-ink{color:var(--color-accent-ink)}.text-ink{color:var(--color-ink)}.text-ink-soft{color:var(--color-ink-soft)}.text-lime{color:var(--color-lime)}.text-paper,.text-paper\/65{color:var(--color-paper)}@supports (color:color-mix(in lab, red, red)){.text-paper\/65{color:color-mix(in oklab, var(--color-paper) 65%, transparent)}}.text-paper\/80{color:var(--color-paper)}@supports (color:color-mix(in lab, red, red)){.text-paper\/80{color:color-mix(in oklab, var(--color-paper) 80%, transparent)}}.uppercase{text-transform:uppercase}.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)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-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{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,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))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:-translate-y-0\.5:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:text-accent:is(:where(.group):hover *){color:var(--color-accent)}.hover\:border-accent:hover{border-color:var(--color-accent)}.hover\:border-lime:hover{border-color:var(--color-lime)}.hover\:bg-accent-tint:hover{background-color:var(--color-accent-tint)}.hover\:bg-lime:hover{background-color:var(--color-lime)}.hover\:text-accent-ink:hover{color:var(--color-accent-ink)}.hover\:text-lime:hover{color:var(--color-lime)}}@media (width>=48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:flex-col{flex-direction:column}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:gap-16{gap:calc(var(--spacing) * 16)}.md\:self-auto{align-self:auto}.md\:p-7{padding:calc(var(--spacing) * 7)}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}.md\:py-10{padding-block:calc(var(--spacing) * 10)}.md\:py-24{padding-block:calc(var(--spacing) * 24)}.md\:py-28{padding-block:calc(var(--spacing) * 28)}.md\:py-32{padding-block:calc(var(--spacing) * 32)}.md\:text-\[17px\]{font-size:17px}.md\:text-\[19px\]{font-size:19px}.md\:text-\[36px\]{font-size:36px}.md\:text-\[40px\]{font-size:40px}.md\:text-\[42px\]{font-size:42px}.md\:text-\[68px\]{font-size:68px}}}:root{--ink:#14151a;--ink-soft:#4b4d58;--paper:#fafafc;--surface:#fff;--line:#e4e4ec;--accent:#3e5cff;--accent-ink:#1d2b99;--accent-tint:#eef0ff;--lime:#b4ff6b;--font-display:"Space Grotesk", ui-sans-serif, sans-serif;--font-body:"Inter", ui-sans-serif, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.grid-backdrop{background-image:linear-gradient(to right, var(--line) 1px, transparent 1px), linear-gradient(to bottom, var(--line) 1px, transparent 1px);background-size:64px 64px}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}[hidden]{display:none!important}.button{border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 22px;font-size:15px;font-weight:500;line-height:1.5;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;display:inline-flex}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:var(--accent);box-shadow:0 5px 18px #3e5cff20}.button-outline{border:1px solid var(--line);color:var(--ink)}.button-outline:hover{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-tint)}.nav-link{color:var(--ink-soft);padding:12px 0;font-size:15px;position:relative}.nav-link:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .2s;position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0)}.nav-link:hover:after,.nav-link:focus-visible:after{transform:scaleX(1)}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:8px;padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.project-card{transition:border-color .25s,box-shadow .25s}.project-card:hover,.project-card:focus-visible{border-color:#3e5cff70;box-shadow:0 16px 40px #14151a0a}.project-preview{background:#eef0ff;justify-content:center;align-items:center;height:288px;padding:28px 30px 0;display:flex;overflow:hidden}.preview-finance{background:linear-gradient(135deg,#dfe5ff,#eef0ff)}.preview-system{background:#e7f2dc}.preview-habits{background:#e4e5f5}.preview-analytics{background:#dfeaf1}.preview-window{background:#fff;border:1px solid #14151a12;border-radius:10px 10px 0 0;align-self:flex-start;width:100%;max-width:440px;transition:transform .5s cubic-bezier(.22,1,.36,1);transform:translateY(6px);box-shadow:0 12px 32px #14151a12}.project-card:hover .preview-window{transform:translateY(0)}.preview-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:4px;padding:10px 12px;display:flex}.preview-toolbar>span{border-radius:50%;width:5px;height:5px}.preview-toolbar>span:first-child{background:#ff5f57}.preview-toolbar>span:nth-child(2){background:#febc2e}.preview-toolbar>span:nth-child(3){background:#28c840}.preview-toolbar p{font-family:var(--font-mono);color:var(--ink-soft);margin-left:8px;font-size:12px}.preview-content{padding:20px}.preview-heading{flex-direction:column;gap:3px;display:flex}.preview-heading strong{font-family:var(--font-display);letter-spacing:-.025em;font-size:16px;font-weight:500}.preview-heading>span{color:var(--ink-soft);font-size:12px}.preview-metrics{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.preview-metrics>div{flex-direction:column;gap:4px;display:flex}.preview-metrics span{color:var(--ink-soft);font-size:12px}.preview-metrics strong{font-family:var(--font-display);letter-spacing:-.04em;font-size:23px;font-weight:500}.preview-metrics small{color:#366026;font-size:12px}.preview-chart{border-bottom:1px solid var(--line);align-items:flex-end;gap:6px;height:70px;margin-top:18px;display:flex}.preview-chart>span{background:#3e5cff35;border-radius:3px 3px 0 0;flex:1}.preview-chart>span:nth-child(3n){background:var(--accent)}.preview-chart-labels{color:var(--ink-soft);justify-content:space-between;margin-top:6px;font-size:12px;display:flex}.preview-palette{gap:8px;margin-top:16px;display:flex}.preview-palette>span{border-radius:6px;flex:1;height:42px}.preview-components{flex-wrap:wrap;align-items:center;gap:7px;margin-top:14px;display:flex}.preview-components>span{border-radius:6px;padding:6px 9px;font-size:12px}.preview-primary{background:var(--accent);color:#fff}.preview-outline{border:1px solid var(--line)}.preview-status{color:#366026;background:#ebf5e5}.preview-type{border-top:1px solid var(--line);align-items:center;gap:18px;margin-top:14px;padding-top:8px;display:flex}.preview-type>strong{font-family:var(--font-display);font-size:38px;font-weight:500}.preview-type>span{font-size:13px}.preview-type small{color:var(--ink-soft);margin-top:4px;font-size:12px;display:block}.preview-week{justify-content:space-between;gap:4px;margin-top:16px;display:flex}.preview-week>span{color:var(--ink-soft);border-radius:7px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:6px 0;font-size:12px;display:flex}.preview-week b{font-weight:500}.preview-week .selected{color:#fff;background:var(--accent-ink)}.preview-habit{border-top:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;font-size:12px;display:flex}.preview-habit:first-of-type{margin-top:10px}.preview-check{color:#366026;background:#e7f2dc;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.preview-habit small{color:var(--ink-soft);font-size:12px;display:block}.preview-habit b{white-space:nowrap;color:var(--accent-ink);margin-left:auto;font-weight:500}.preview-track{background:var(--line);border-radius:4px;height:4px;margin-top:8px}.preview-track>span{border-radius:inherit;background:var(--accent-ink);width:68%;height:100%;display:block}.project-preview-large{height:380px;padding:32px}.project-preview-large .preview-window{border-radius:10px;align-self:center;max-width:560px;transform:none}.project-preview-large .preview-chart{height:100px}@media (width<=480px){.project-preview{height:260px;padding:20px 16px 0}.preview-content{padding:15px}.preview-metrics strong{font-size:21px}.preview-components{gap:5px}.preview-components>span{padding:5px 6px}.project-preview-large{height:320px;padding:20px 12px}}@media (prefers-reduced-motion:reduce){.project-card:hover .preview-window,.preview-window{transform:none}}.project-open:after{content:"";position:absolute;inset:0}.project-card:focus-within{outline:2px solid var(--accent);outline-offset:4px}.project-dialog{border:1px solid var(--line);background:var(--paper);width:min(920px,100% - 48px);max-width:none;max-height:calc(100dvh - 48px);color:var(--ink);overscroll-behavior:contain;border-radius:20px;margin:auto;padding:0;position:fixed;inset:0;box-shadow:0 28px 100px #14151a40}.project-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#14151ab8}.project-dialog-content{background:var(--paper)}@media (width<=640px){.project-dialog{border-radius:14px;width:calc(100% - 16px);max-height:calc(100dvh - 16px)}}.design-selection{display:inline-block;position:relative}.design-selection:after{content:"";pointer-events:none;border:1px solid #3e5cff70;position:absolute;inset:1px -5px -2px}.design-selection-corner{z-index:1;border:1px solid var(--accent);background:var(--paper);pointer-events:none;width:6px;height:6px;position:absolute}.corner-tl{top:-2px;left:-8px}.corner-tr{top:-2px;right:-8px}.corner-bl{bottom:-5px;left:-8px}.corner-br{bottom:-5px;right:-8px}.design-details{pointer-events:none;-webkit-user-select:none;user-select:none;width:192px;display:none;position:absolute;top:200px;right:48px}.design-details>.design-type-note,.design-details>.design-spacing-note,.design-details>.ui-auto-layout{pointer-events:auto}.design-type-note,.design-spacing-note{border:1px solid var(--line);background:#ffffffed;border-radius:12px;padding:16px;box-shadow:0 6px 20px #14151a06}.design-type-note{transform:rotate(5deg)}.design-note-label{font-family:var(--font-mono);color:var(--ink-soft);font-size:12px}.design-type-sample{font-family:var(--font-display);letter-spacing:-.06em;color:var(--accent-ink);margin:10px 0;font-size:60px;font-weight:500;line-height:1.1;position:relative}.design-type-sample:before,.design-type-sample:after{content:"";border-top:1px dashed #3e5cff40;position:absolute;left:0;right:0}.design-type-sample:before{top:12px}.design-type-sample:after{bottom:10px}.design-type-sample>span{border-left:1px solid #3e5cff40;position:absolute;top:12px;bottom:10px;left:92px}.design-type-caption{color:var(--ink-soft);justify-content:space-between;gap:8px;font-size:12px;display:flex}.design-spacing-note{margin:24px 12px 0 -12px;transform:rotate(-4deg)}.design-spacing-bars{justify-content:space-between;align-items:flex-end;gap:12px;margin-top:16px;display:flex}.design-spacing-bars>span{flex-direction:column;align-items:center;gap:7px;display:flex}.design-spacing-bars i{background:var(--accent-tint);border:1px solid #3e5cff35;border-radius:3px;width:22px;display:block}.design-spacing-bars>span:last-child i{background:var(--lime);border-color:#82b94d}.design-spacing-bars small{font-family:var(--font-mono);color:var(--ink-soft);font-size:12px}.design-component-tag{font-family:var(--font-mono);color:var(--accent-ink);justify-content:center;align-items:center;gap:7px;margin-top:22px;font-size:12px;display:flex}.design-component-tag>span{font-size:22px}.design-swatches{border-top:1px dashed var(--line);pointer-events:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;gap:14px;margin-top:18px;padding-top:20px;display:flex}.design-swatch-colors{padding-left:2px;display:flex}.design-swatch-colors>span{border:2px solid var(--surface);background:var(--ink);border-radius:50%;width:23px;height:23px;margin-left:-2px}.design-swatch-colors>span:nth-child(2){background:var(--accent)}.design-swatch-colors>span:nth-child(3){background:var(--lime)}.design-swatch-colors>span:nth-child(4){background:var(--accent-tint)}.design-swatches>span:not(.design-corner-sample){font-family:var(--font-mono);color:var(--ink-soft);font-size:12px;line-height:1.6}.design-corner-sample{border-top:1px solid var(--accent);border-right:1px solid var(--accent);background:linear-gradient(135deg, transparent 45%, var(--accent-tint));border-top-right-radius:12px;width:28px;height:28px;margin-left:auto}@media (width>=1200px){.design-details{display:block}}.case-canvas-label{border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink-soft);font-family:var(--font-mono);align-items:center;gap:8px;padding:10px 16px;font-size:12px;display:flex}.case-frame-icon{border:1px solid var(--accent);outline:2px solid var(--accent-tint);outline-offset:2px;width:12px;height:12px;margin-right:4px}.case-design-notes{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:32px;display:grid}.case-design-note{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-width:0;padding:18px}.case-note-label{font-family:var(--font-mono);color:var(--ink-soft);font-size:12px}.case-note-value{color:var(--ink-soft);margin-top:10px;font-size:12px}.case-color-list{flex-direction:column;gap:8px;margin-top:18px;display:flex}.case-color-list li{font-family:var(--font-mono);color:var(--ink-soft);align-items:center;gap:9px;font-size:12px;display:flex}.case-color-list li>span:first-child{border:1px solid #14151a15;border-radius:6px;width:20px;height:20px}.case-type-specimen{color:var(--accent-ink);letter-spacing:-.05em;border-bottom:1px dashed #3e5cff35;flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:18px;font-size:44px;font-weight:500;line-height:1.2;display:flex}.case-type-specimen>span{letter-spacing:-.025em;color:var(--ink-soft);font-size:20px}.case-rhythm{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;min-height:60px;margin-top:18px;display:flex}.case-spacing-scale{align-items:flex-end;gap:12px;display:flex}.case-spacing-scale>span{flex-direction:column;align-items:center;gap:7px;display:flex}.case-spacing-scale i{background:var(--accent-tint);border:1px solid #3e5cff40;border-radius:3px;width:14px;display:block}.case-spacing-scale small{font-family:var(--font-mono);color:var(--ink-soft);font-size:12px}.case-radius-sample{border-top:1px solid var(--accent);border-right:1px solid var(--accent);background:var(--accent-tint);width:28px;height:28px}.case-step-number{z-index:1;background:var(--accent-tint);border:1px solid #3e5cff25;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid;position:relative}.case-process{position:relative}.case-process:before{content:"";pointer-events:none;border-left:1px dashed #3e5cff30;position:absolute;top:17px;bottom:-3rem;left:16px}.case-process-step>div{min-width:0;padding-top:3px}.case-outcome{border-top:2px solid var(--accent);position:relative}.case-outcome:before{content:"";background:var(--accent);pointer-events:none;border-radius:50%;width:5px;height:5px;position:absolute;top:-4px;left:13px}.case-result-mark{background:var(--lime);width:22px;height:22px;color:var(--ink);border-radius:50%;place-items:center;font-size:13px;display:grid}@media (width<=560px){.case-design-notes{grid-template-columns:1fr}.case-color-list{flex-flow:wrap;gap:12px}.case-rhythm{justify-content:flex-start;gap:32px}}.ui-auto-layout{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);font-family:var(--font-mono);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-top:18px;padding:9px 11px;font-size:12px;display:flex;transform:rotate(2deg)}.ui-keycap{border:1px solid var(--line);background:var(--paper);border-bottom-width:2px;border-radius:4px;padding:2px 5px}.ui-workflow{border-top:1px dashed var(--line);font-family:var(--font-mono);color:var(--ink-soft);pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:18px;padding-top:16px;font-size:12px;display:flex}.ui-workflow>span{align-items:center;gap:5px;display:inline-flex}.ui-workflow i{border:1px solid var(--line);width:24px;height:24px;color:var(--accent-ink);border-radius:6px;place-items:center;font-size:12px;font-style:normal;display:grid}.ui-workflow b{color:var(--accent);font-weight:400}.ui-layers{width:180px;color:var(--ink-soft);font-family:var(--font-mono);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:12px}.ui-layers>div{z-index:0;pointer-events:auto;border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:10px;padding:11px 13px;transition:transform .23s ease-out,box-shadow .23s ease-out,border-color .23s ease-out;display:flex;position:relative;box-shadow:0 4px 12px #14151a05}.ui-layers>div+div{margin-top:7px}.ui-layers>div:first-child{transform:translate(-8px)rotate(-3deg)}.ui-layers>div:nth-child(3){transform:translate(8px)rotate(3deg)}.ui-layers>div>span{color:var(--accent);font-size:15px}.ui-layers small{margin-left:auto;font-size:12px}.ui-project-layers,.ui-contact-layers{pointer-events:none;display:none;position:absolute;top:16px;right:14px}.ui-layers-dark{color:var(--paper)}.ui-layers-dark>div{box-shadow:none;background:#202128;border-color:#ffffff25}.ui-layers-dark>div>span{color:var(--lime)}.ui-contact-caption{text-align:center;color:var(--lime);font-family:var(--font-mono);margin-top:20px;font-size:12px;display:block}.ui-date-states{border-bottom:1px solid var(--line);background:var(--paper);pointer-events:none;flex-wrap:wrap;justify-content:center;gap:24px;padding:24px 16px;display:flex}.ui-date-states>div{flex-direction:column;align-items:center;gap:10px;display:flex}.ui-date-states small{color:var(--ink-soft);font-family:var(--font-mono);font-size:12px}.ui-date-cell{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--ink);border-radius:8px;place-items:center;font-size:14px;display:grid}.ui-date-selected{border-color:var(--accent);background:var(--accent);color:#fff}.ui-date-focus{outline:2px solid var(--accent);outline-offset:3px}.ui-date-disabled{color:#9697a0;background:var(--line);text-decoration:line-through}.ui-date-today{color:var(--accent-ink);border-color:#3e5cff60;position:relative}.ui-date-today:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:calc(50% - 2px)}@media (hover:hover){.ui-layers>div:hover{z-index:2;border-color:#3e5cff50;box-shadow:0 10px 24px #14151a24}.ui-layers-dark>div:hover{border-color:#b4ff6b65;box-shadow:0 10px 24px #00000060}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.ui-layers>div:hover{transform:translate(0)translateY(-7px)rotate(0)}}@media (width>=1024px){.ui-project-layers,.ui-contact-layers{display:block}}@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-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-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}
