@import "https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&display=swap";:root{--font-display:"Geist", ui-sans-serif, system-ui, sans-serif;--font-body:"Geist", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--color-paper:oklch(11% .008 40);--color-paper-2:oklch(15% .01 40);--color-paper-3:oklch(19% .012 40);--color-paper-4:oklch(23% .012 40);--color-rule:oklch(28% .008 40);--color-rule-hair:oklch(22% .008 40);--color-ink:oklch(93% .006 80);--color-muted:oklch(58% .008 60);--color-subtle:oklch(38% .008 50);--color-accent:oklch(72% .18 62);--color-accent-hover:oklch(78% .18 62);--color-accent-dim:oklch(62% .14 62);--color-accent-subtle:oklch(18% .06 55);--color-accent-glow:oklch(72% .18 62/.15);--color-focus:oklch(72% .18 62);--bloom-1:radial-gradient(ellipse 60% 40% at 20% 10%, oklch(65% .16 55/.12) 0%, transparent 70%);--bloom-2:radial-gradient(ellipse 50% 35% at 85% 80%, oklch(58% .14 30/.1) 0%, transparent 70%);--color-success:oklch(62% .16 145);--color-warning:oklch(72% .18 75);--color-error:oklch(58% .2 20);--color-info:oklch(60% .16 245);--color-alert-low-bg:oklch(18% .06 20);--color-alert-low-border:oklch(28% .1 20);--color-alert-low-text:oklch(70% .18 20);--color-alert-mid-bg:oklch(18% .06 75);--color-alert-mid-border:oklch(28% .1 75);--color-alert-mid-text:oklch(72% .16 75);--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--text-xs:.64rem;--text-sm:.8rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.9531rem;--text-2xl:2.4414rem;--text-3xl:3.0518rem;--text-4xl:3.8147rem;--text-display-s:clamp(2.25rem, 4vw + .75rem, 3.75rem);--text-display:clamp(3rem, 6vw + 1rem, 6rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:9999px;--rule-hair:1px;--rule-sm:2px;--page-max:88rem;--page-gutter:clamp(1rem, 4vw, 3rem);--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600;--shadow-whisper:0 1px 3px oklch(0% 0 0/.3);--shadow-sm:0 2px 12px oklch(0% 0 0/.4);--shadow-md:0 4px 24px oklch(0% 0 0/.5);--shadow-accent:0 0 24px oklch(72% .18 62/.2);--sidebar-w:240px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:100%;overflow-x:clip}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-ink);background:var(--color-paper);-webkit-font-smoothing:antialiased;min-height:100dvh;line-height:1.6;overflow-x:clip}img,video,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}ul,ol{list-style:none}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;outline:none}h1,h2,h3,h4,h5{font-family:var(--font-display);letter-spacing:-.025em;overflow-wrap:anywhere;min-width:0;font-style:normal;line-height:1.15}p{max-width:65ch}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-xs)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-paper)}::-webkit-scrollbar-thumb{background:var(--color-rule);border-radius:3px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mono{font-family:var(--font-mono)}.muted{color:var(--color-muted)}.accent{color:var(--color-accent)}.tabular{font-variant-numeric:tabular-nums}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-ring{0%,to{opacity:.4}50%{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.15s!important;animation-duration:.15s!important;animation-iteration-count:1!important}}.nav{z-index:var(--z-sticky);transition:background var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out);border-bottom:var(--rule-hair) solid transparent;position:fixed;inset:0 0 auto}.nav--scrolled{background:color-mix(in oklch, var(--color-paper) 80%, transparent);-webkit-backdrop-filter:blur(20px)saturate(140%);border-bottom-color:var(--color-rule-hair);box-shadow:0 4px 24px -8px oklch(0% 0 0/.4)}.nav__inner{max-width:var(--page-max);padding-inline:var(--page-gutter);grid-template-columns:1fr auto 1fr;align-items:center;height:64px;margin-inline:auto;display:grid}.nav__brand{justify-self:start;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-md);letter-spacing:-.03em;color:var(--color-ink);font-weight:500;display:flex}.nav__brand-dot{background:var(--color-accent);width:8px;height:8px;box-shadow:0 0 8px var(--color-accent-glow);border-radius:50%;flex-shrink:0}.nav__center{justify-self:center;align-items:center;gap:.25rem;display:flex}.nav__link{padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);color:var(--color-muted);border-radius:var(--radius-sm);transition:color var(--dur-micro) var(--ease-out), background var(--dur-micro) var(--ease-out)}.nav__link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (hover:hover) and (pointer:fine){.nav__link:hover{color:var(--color-ink);background:var(--color-paper-3)}}.nav__right{justify-self:end;align-items:center;gap:var(--space-xs);display:flex}.nav__hamburger{width:40px;height:40px;padding:var(--space-xs);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;display:none}.nav__hamburger span{background:var(--color-ink);width:20px;height:1.5px;transition:transform var(--dur-short) var(--ease-out), opacity var(--dur-micro) var(--ease-out);border-radius:2px;display:block}.nav__hamburger--open span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav__hamburger--open span:nth-child(2){opacity:0}.nav__hamburger--open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.nav__sheet{background:var(--color-paper);padding:var(--space-xl) var(--page-gutter);gap:var(--space-md);z-index:calc(var(--z-sticky) - 1);flex-direction:column;display:none;position:fixed;inset:64px 0 0}.nav__sheet--open{display:flex}.nav__sheet-link{font-size:var(--text-md);color:var(--color-ink);padding-block:var(--space-sm);border-bottom:var(--rule-hair) solid var(--color-rule-hair)}.nav__sheet-actions{gap:var(--space-sm);margin-top:var(--space-md);flex-direction:column;display:flex}@media (width<=56rem){.nav__center,.nav__right .btn--text,.nav__right .btn--accent{display:none}.nav__hamburger{display:flex}}.hero{padding-block:calc(64px + var(--space-4xl)) var(--space-3xl);position:relative;overflow:hidden}.hero__bloom{pointer-events:none;z-index:0;position:absolute}.hero__bloom--1{background:var(--bloom-1);inset:0}.hero__bloom--2{background:var(--bloom-2);inset:0}.hero__inner{z-index:1;max-width:var(--page-max);padding-inline:var(--page-gutter);margin-inline:auto;position:relative}.hero__kicker{align-items:center;gap:var(--space-xs);padding:var(--space-3xs) var(--space-sm);background:var(--color-accent-subtle);color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-pill);border:var(--rule-hair) solid var(--color-accent-dim);margin-bottom:var(--space-xl);animation:fadeUp var(--dur-long) var(--ease-out) both;animation-delay:inherit;font-weight:500;display:inline-flex}.hero__kicker-dot{background:var(--color-accent);width:6px;height:6px;box-shadow:0 0 6px var(--color-accent-glow);border-radius:50%;flex-shrink:0}.hero__headline{font-size:var(--text-display);letter-spacing:-.03em;max-width:14ch;margin-bottom:var(--space-xl);animation:fadeUp var(--dur-long) var(--ease-out) both;font-weight:700;line-height:1.05}.hero__headline-accent{color:var(--color-accent)}.hero__lede{font-size:var(--text-lg);color:var(--color-muted);max-width:46ch;margin-bottom:var(--space-2xl);animation:fadeUp var(--dur-long) var(--ease-out) both;font-weight:300;line-height:1.6}.hero__actions{gap:var(--space-sm);margin-bottom:var(--space-3xl);animation:fadeUp var(--dur-long) var(--ease-out) both;flex-wrap:wrap;display:flex}.hero__note{font-size:var(--text-xs);color:var(--color-muted);align-items:center;gap:var(--space-xs);animation:fadeUp var(--dur-long) var(--ease-out) both;display:flex}.hero__note-check{background:var(--color-success);border-radius:50%;flex-shrink:0;width:14px;height:14px}.hero__mockup{margin-top:var(--space-3xl);border-radius:var(--radius-lg);border:var(--rule-hair) solid var(--color-rule);box-shadow:var(--shadow-md), 0 0 0 1px var(--color-rule-hair);animation:fadeUp var(--dur-long) var(--ease-out) both;overflow:hidden}.mockup-bar{background:var(--color-paper-3);border-bottom:var(--rule-hair) solid var(--color-rule-hair);align-items:center;gap:var(--space-xs);height:36px;padding-inline:var(--space-md);display:flex}.mockup-dot{border-radius:50%;width:10px;height:10px}.mockup-dot--r{background:var(--color-error)}.mockup-dot--y{background:var(--color-warning)}.mockup-dot--g{background:var(--color-success)}.mockup-title{font-size:var(--text-xs);color:var(--color-muted);font-family:var(--font-mono);margin-left:var(--space-xs)}.mockup-body{background:var(--color-paper-2);grid-template-columns:1fr 300px;min-height:420px;display:grid}.mockup-left{padding:var(--space-md);border-right:var(--rule-hair) solid var(--color-rule-hair);gap:var(--space-sm);flex-direction:column;display:flex}.mockup-search{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background:var(--color-paper);border:var(--rule-hair) solid var(--color-rule-hair);border-radius:var(--radius-md);display:flex}.mockup-search-icon{border:1.5px solid var(--color-subtle);border-radius:50%;flex-shrink:0;width:13px;height:13px;position:relative}.mockup-search-icon:after{content:"";background:var(--color-subtle);width:5px;height:1.5px;position:absolute;bottom:-4px;right:-3px;transform:rotate(45deg)}.mockup-search-text{font-size:var(--text-xs);color:var(--color-subtle);font-family:var(--font-mono)}.mockup-cats{gap:var(--space-xs);flex-wrap:wrap;display:flex}.mockup-cat{padding:2px var(--space-sm);border-radius:var(--radius-pill);font-size:var(--text-xs);border:var(--rule-hair) solid var(--color-rule-hair);color:var(--color-muted);background:0 0;font-weight:500}.mockup-cat--active{background:var(--color-accent);color:oklch(12% .008 40);border-color:var(--color-accent)}.mockup-grid{gap:var(--space-xs);grid-template-columns:repeat(auto-fill,minmax(100px,1fr));display:grid}.mockup-product{background:var(--color-paper);border:var(--rule-hair) solid var(--color-rule-hair);border-radius:var(--radius-md);padding:var(--space-xs)}.mockup-product-img{margin-bottom:4px;font-size:1.5rem}.mockup-product-name{margin-bottom:2px;font-size:10px;font-weight:500}.mockup-product-price{color:var(--color-muted);font-size:10px;font-family:var(--font-mono)}.mockup-right{padding:var(--space-md);gap:var(--space-sm);background:var(--color-paper);flex-direction:column;display:flex}.mockup-cart-header{font-size:var(--text-xs);justify-content:space-between;font-weight:600;display:flex}.mockup-cart-items{gap:var(--space-xs);flex-direction:column;flex:1;display:flex}.mockup-cart-item{align-items:center;gap:var(--space-xs);padding-bottom:var(--space-xs);border-bottom:var(--rule-hair) solid var(--color-rule-hair);grid-template-columns:1fr auto;display:grid}.mockup-cart-name{font-size:10px;font-weight:500}.mockup-cart-meta{color:var(--color-muted);font-size:10px;font-family:var(--font-mono)}.mockup-cart-price{font-size:10px;font-weight:600;font-family:var(--font-mono);text-align:right}.mockup-summary{flex-direction:column;gap:4px;display:flex}.mockup-row{font-size:10px;font-family:var(--font-mono);color:var(--color-muted);justify-content:space-between;display:flex}.mockup-row--total{font-size:var(--text-xs);color:var(--color-ink);padding-top:var(--space-xs);border-top:var(--rule-sm) solid var(--color-rule);font-weight:700}.mockup-pay-btn{width:100%;padding:var(--space-xs);background:var(--color-accent);color:oklch(12% .008 40);font-size:var(--text-xs);border-radius:var(--radius-md);cursor:pointer;border:none;font-weight:600}.mockup-methods{gap:var(--space-xs);justify-content:center;display:flex}.mockup-method{padding:2px var(--space-xs);font-size:10px;font-family:var(--font-mono);border:var(--rule-hair) solid var(--color-rule-hair);color:var(--color-muted);border-radius:4px}@media (width<=48rem){.mockup-body{grid-template-columns:1fr}.mockup-right{display:none}}.bento-section{padding-block:var(--space-4xl)}.bento-section__inner{max-width:var(--page-max);padding-inline:var(--page-gutter);margin-inline:auto}.bento-section__head{margin-bottom:var(--space-2xl)}.bento-section__head h2{font-size:var(--text-display-s);margin-bottom:var(--space-md);font-weight:700}.bento-section__head p{font-size:var(--text-md);color:var(--color-muted);font-weight:300}.bento-grid{gap:var(--space-sm);grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:180px;display:grid}.bento-cell--2x2{grid-area:span 2/span 2}.bento-cell--2x1{grid-area:span 1/span 2}.bento-cell--1x2{grid-area:span 2/span 1}.bento-cell--1x1{grid-area:span 1/span 1}.bento-cell{background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-hair);border-radius:var(--radius-lg);padding:var(--space-xl);gap:var(--space-xs);opacity:0;transition:opacity var(--dur-long) var(--ease-out), transform var(--dur-long) var(--ease-out), box-shadow var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden;transform:translateY(12px)}.bento-cell--visible{opacity:1;transform:none}@media (hover:hover) and (pointer:fine){.bento-cell:hover{box-shadow:var(--shadow-md);border-color:var(--color-rule)}}.bento-cell--highlight{background:var(--color-accent-subtle);border-color:var(--color-accent-dim)}@media (hover:hover) and (pointer:fine){.bento-cell--highlight:hover{box-shadow:var(--shadow-accent);border-color:var(--color-accent-dim)}}.bento-cell__tag{font-size:var(--text-xs);color:var(--color-accent);letter-spacing:.06em;text-transform:uppercase;font-weight:500;font-family:var(--font-mono)}.bento-cell--highlight .bento-cell__tag{color:var(--color-accent)}.bento-cell__icon{align-self:flex-start;margin-top:auto;font-size:2rem}.bento-cell--2x2 .bento-cell__icon{font-size:2.5rem}.bento-cell__title{font-size:var(--text-md);letter-spacing:-.02em;font-weight:700;line-height:1.2}.bento-cell--2x2 .bento-cell__title{font-size:var(--text-xl)}.bento-cell__desc{font-size:var(--text-sm);color:var(--color-muted);max-width:36ch;line-height:1.6}@media (width<=60rem){.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:160px}.bento-cell--2x2{grid-column:span 2}}@media (width<=40rem){.bento-grid{grid-template-columns:1fr;grid-auto-rows:auto}.bento-cell{min-height:140px}.bento-cell--2x2,.bento-cell--2x1,.bento-cell--1x2,.bento-cell--1x1{grid-area:span 1/span 1}}.pricing{padding-block:var(--space-4xl);background:var(--color-paper-2);border-top:var(--rule-hair) solid var(--color-rule-hair);border-bottom:var(--rule-hair) solid var(--color-rule-hair)}.pricing__inner{max-width:var(--page-max);padding-inline:var(--page-gutter);margin-inline:auto}.pricing__head{margin-bottom:var(--space-2xl)}.pricing__head h2{font-size:var(--text-display-s);margin-bottom:var(--space-md);font-weight:700}.pricing__head p{font-size:var(--text-md);color:var(--color-muted);max-width:52ch;font-weight:300}.pricing__cards{gap:var(--space-xl);grid-template-columns:minmax(0,2fr) minmax(0,1fr);display:grid}.price-card{background:var(--color-paper);border:var(--rule-hair) solid var(--color-rule-hair);border-radius:var(--radius-lg);padding:var(--space-2xl)}.price-card--free{border-color:var(--color-accent-dim)}.price-card--donation{background:var(--color-paper-2)}.price-card__badge{padding:var(--space-3xs) var(--space-sm);font-size:var(--text-xs);border-radius:var(--radius-pill);letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--space-lg);font-weight:600;display:inline-block}.price-card__badge--free{background:var(--color-accent);color:oklch(12% .008 40)}.price-card__badge--donation{background:var(--color-accent-subtle);color:var(--color-accent);border:var(--rule-hair) solid var(--color-accent-dim)}.price-card__amount{font-size:var(--text-display-s);letter-spacing:-.03em;margin-bottom:var(--space-xs);font-weight:700;line-height:1}.price-card__amount sub{font-size:var(--text-lg);color:var(--color-muted);vertical-align:baseline;font-weight:400}.price-card__desc{font-size:var(--text-sm);color:var(--color-muted);max-width:44ch;margin-bottom:var(--space-xl);line-height:1.6}.price-card__features{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.price-card__feat{align-items:flex-start;gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-muted);display:flex}.price-card__feat-check{color:var(--color-accent);flex-shrink:0;font-weight:700}.price-card__qr{aspect-ratio:1;background:var(--color-paper-3);border:2px dashed var(--color-rule);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:var(--space-sm);width:100%;margin-block:var(--space-lg);padding:var(--space-md);font-size:var(--text-sm);text-align:center;color:var(--color-ink);flex-direction:column;display:flex}.price-card__qr-icon{font-size:3rem}@media (width<=56rem){.pricing__cards,.price-card__features{grid-template-columns:1fr}}.faq-section{padding-block:var(--space-4xl)}.faq-section__inner{max-width:72rem;padding-inline:var(--page-gutter);margin-inline:auto}.faq-section__head{margin-bottom:var(--space-2xl)}.faq-section__head h2{font-size:var(--text-display-s);font-weight:700}.faq-list{flex-direction:column;display:flex}.faq-item{border-top:var(--rule-hair) solid var(--color-rule-hair)}.faq-item:last-child{border-bottom:var(--rule-hair) solid var(--color-rule-hair)}.faq-item__q{text-align:left;width:100%;padding-block:var(--space-lg);font-size:var(--text-md);color:var(--color-ink);justify-content:space-between;align-items:center;gap:var(--space-md);cursor:pointer;white-space:normal;background:0 0;border:none;padding-inline:0;font-weight:500;display:flex}.faq-item__q:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px;border-radius:var(--radius-xs)}.faq-item__caret{border-right:2px solid var(--color-muted);border-bottom:2px solid var(--color-muted);width:14px;height:14px;transition:transform var(--dur-short) var(--ease-in-out);flex-shrink:0;transform:rotate(45deg)translate(-2px,-2px)}.faq-item--open .faq-item__caret{transform:rotate(-135deg)translate(-2px,-2px)}.faq-item__a-wrap{transition:grid-template-rows var(--dur-long) var(--ease-in-out);grid-template-rows:0fr;display:grid}.faq-item--open .faq-item__a-wrap{grid-template-rows:1fr}.faq-item__a-inner{overflow:hidden}.faq-item__a{padding-bottom:var(--space-lg);font-size:var(--text-base);color:var(--color-muted);max-width:64ch;line-height:1.7}.donasi{padding-block:var(--space-4xl);background:var(--color-accent-subtle);border-top:var(--rule-hair) solid var(--color-accent-dim);border-bottom:var(--rule-hair) solid var(--color-accent-dim)}.donasi__inner{max-width:52rem;padding-inline:var(--page-gutter);text-align:center;margin-inline:auto}.donasi__icon{margin-bottom:var(--space-md);font-size:2.5rem}.donasi__title{font-size:var(--text-display-s);margin-bottom:var(--space-md);font-weight:700}.donasi__desc{font-size:var(--text-md);color:var(--color-muted);max-width:52ch;margin-inline:auto;margin-bottom:var(--space-2xl);line-height:1.65}.donasi__qr{aspect-ratio:1;background:var(--color-paper);border:2px dashed var(--color-accent-dim);border-radius:var(--radius-lg);justify-content:center;align-items:center;gap:var(--space-xs);width:200px;padding:var(--space-lg);font-size:var(--text-sm);text-align:center;flex-direction:column;margin-inline:auto;display:flex}.donasi__qr-icon{font-size:3rem}.donasi__qr-nmid{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent)}.donasi__note{margin-top:var(--space-xl);font-size:var(--text-sm);color:var(--color-muted);line-height:1.7}.landing-footer{padding:var(--space-2xl) var(--page-gutter) var(--space-xl);border-top:var(--rule-hair) solid var(--color-rule-hair)}.landing-footer__inner{max-width:var(--page-max);margin-inline:auto}.landing-footer__stmt{font-family:var(--font-display);letter-spacing:-.025em;max-width:28ch;margin-bottom:var(--space-2xl);font-size:clamp(1.5rem,4vw,2.75rem);font-weight:700;line-height:1.1}.landing-footer__stmt-accent{color:var(--color-accent)}.landing-footer__meta{justify-content:space-between;align-items:center;gap:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule-hair);flex-wrap:wrap;padding-block-start:var(--space-md);display:flex}.landing-footer__brand{font-size:var(--text-sm);font-weight:500}.landing-footer__links{gap:var(--space-lg);flex-wrap:wrap;display:flex}.landing-footer__link{font-size:var(--text-xs);color:var(--color-muted);transition:color var(--dur-micro) var(--ease-out)}.landing-footer__link:hover{color:var(--color-ink)}.landing-footer__copy{font-size:var(--text-xs);color:var(--color-muted)}.input-wrap{gap:var(--space-xs);flex-direction:column;display:flex}.input-label{font-size:var(--text-sm);color:var(--color-ink);font-weight:500}.input-field{width:100%;padding:.625rem var(--space-md);background:var(--color-paper-3);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-ink);transition:border-color var(--dur-micro) var(--ease-out), box-shadow var(--dur-micro) var(--ease-out)}.input-field::placeholder{color:var(--color-subtle)}.input-field:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow);outline:none}.input-field--error{border-color:var(--color-error)}.input-field--error:focus{box-shadow:0 0 0 3px oklch(58% .2 20/.2)}.input-error{font-size:var(--text-xs);color:var(--color-error)}.input-hint{font-size:var(--text-xs);color:var(--color-muted)}.auth-page{min-height:100dvh;padding:var(--space-xl) var(--page-gutter);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth-bloom{pointer-events:none;position:fixed;inset:0}.auth-bloom--1{background:var(--bloom-1)}.auth-bloom--2{background:var(--bloom-2)}.auth-card{z-index:1;background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-hair);border-radius:var(--radius-xl);width:100%;max-width:420px;padding:var(--space-2xl);box-shadow:var(--shadow-md);animation:fadeUp var(--dur-long) var(--ease-out) both;position:relative}.auth-brand{align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-md);letter-spacing:-.03em;color:var(--color-ink);margin-bottom:var(--space-xl);font-weight:500;display:inline-flex}.auth-brand-dot{background:var(--color-accent);width:8px;height:8px;box-shadow:0 0 8px var(--color-accent-glow);border-radius:50%;flex-shrink:0}.auth-title{font-size:var(--text-2xl);margin-bottom:var(--space-xs);font-weight:700}.auth-sub{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-xl)}.auth-link{color:var(--color-accent)}.auth-error{border:var(--rule-hair) solid oklch(28% .1 20);color:var(--color-error);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);margin-bottom:var(--space-md);background:oklch(18% .06 20)}.auth-form{gap:var(--space-md);flex-direction:column;display:flex}.auth-form__forgot{text-align:right}.auth-submit{justify-content:center;width:100%}.auth-demo{font-size:var(--text-xs);color:var(--color-subtle);text-align:center;margin-top:var(--space-md)}.auth-steps{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xl);display:flex}.auth-step{background:var(--color-paper-3);border:var(--rule-hair) solid var(--color-rule);width:28px;height:28px;font-size:var(--text-xs);color:var(--color-muted);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.auth-step--active{background:var(--color-accent);border-color:var(--color-accent);color:oklch(12% .008 40)}.auth-step-line{background:var(--color-rule);flex:1;height:1px}.app-layout{min-height:100dvh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--color-paper-2);border-right:var(--rule-hair) solid var(--color-rule-hair);z-index:var(--z-sticky);flex-direction:column;flex-shrink:0;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.sidebar__top{padding:var(--space-lg) var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule-hair);gap:var(--space-md);flex-direction:column;display:flex}.sidebar__brand{align-items:center;gap:var(--space-xs);display:flex}.sidebar__brand-dot{background:var(--color-accent);width:8px;height:8px;box-shadow:0 0 8px var(--color-accent-glow);border-radius:50%}.sidebar__brand-name{font-size:var(--text-md);letter-spacing:-.03em;font-weight:500}.store-switcher{position:relative}.store-switcher__btn{align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);background:var(--color-paper-3);border:var(--rule-hair) solid var(--color-rule-hair);cursor:pointer;text-align:left;transition:background var(--dur-micro) var(--ease-out);display:flex}.store-switcher__btn:hover{background:var(--color-paper-4)}.store-switcher__btn:focus-visible{outline:2px solid var(--color-focus)}.store-switcher__emoji{flex-shrink:0;font-size:1.25rem}.store-switcher__info{flex:1;min-width:0}.store-switcher__name{font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.store-switcher__type{font-size:var(--text-xs);color:var(--color-muted);display:block}.store-switcher__caret{color:var(--color-muted);font-size:var(--text-sm)}.store-switcher__dropdown{top:calc(100% + var(--space-xs));background:var(--color-paper-3);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);z-index:var(--z-dropdown);box-shadow:var(--shadow-md);animation:fadeIn var(--dur-short) var(--ease-out) both;position:absolute;left:0;right:0;overflow:hidden}.store-switcher__item{align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);cursor:pointer;transition:background var(--dur-micro) var(--ease-out);text-align:left;color:var(--color-ink);background:0 0;border:none;display:flex}.store-switcher__item:hover{background:var(--color-paper-4)}.store-switcher__item--active{background:var(--color-accent-subtle)}.store-switcher__active-dot{background:var(--color-accent);border-radius:50%;width:6px;height:6px;margin-left:auto}.store-switcher__add{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--text-xs);color:var(--color-accent);cursor:pointer;border:none;border-top:var(--rule-hair) solid var(--color-rule-hair);text-align:left;transition:background var(--dur-micro) var(--ease-out);background:0 0}.store-switcher__add:hover{background:var(--color-accent-subtle)}.sidebar__nav{padding:var(--space-md) var(--space-sm);flex-direction:column;flex:1;gap:2px;display:flex}.sidebar__link{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-muted);transition:background var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out);white-space:nowrap;display:flex}.sidebar__link:hover{background:var(--color-paper-3);color:var(--color-ink)}.sidebar__link--active{background:var(--color-accent-subtle);color:var(--color-accent)}.sidebar__link-icon{font-size:var(--text-md);flex-shrink:0}.sidebar__link:focus-visible{outline:2px solid var(--color-focus)}.sidebar__bottom{padding:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule-hair)}.sidebar__user{align-items:center;gap:var(--space-sm);display:flex}.sidebar__user-avatar{background:var(--color-accent-subtle);border:var(--rule-hair) solid var(--color-accent-dim);width:32px;height:32px;font-size:var(--text-sm);color:var(--color-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.sidebar__user-info{flex:1;min-width:0}.sidebar__logout{cursor:pointer;color:var(--color-muted);font-size:var(--text-md);padding:var(--space-xs);border-radius:var(--radius-sm);transition:color var(--dur-micro) var(--ease-out), background var(--dur-micro) var(--ease-out);background:0 0;border:none}.sidebar__logout:hover{color:var(--color-error);background:oklch(18% .06 20)}.sidebar__logout:focus-visible{outline:2px solid var(--color-focus)}.app-main{margin-left:var(--sidebar-w);flex-direction:column;flex:1;min-height:100dvh;display:flex}.app-topbar{align-items:center;gap:var(--space-md);height:56px;padding-inline:var(--page-gutter);background:var(--color-paper-2);border-bottom:var(--rule-hair) solid var(--color-rule-hair);z-index:var(--z-raised);display:none;position:sticky;top:0}.app-topbar__menu{font-size:var(--text-lg);color:var(--color-ink);cursor:pointer;background:0 0;border:none}.app-topbar__store{font-size:var(--text-sm);flex:1;font-weight:500}.app-topbar__right{margin-left:auto}.app-content{padding:var(--space-2xl) var(--page-gutter);flex:1}.sidebar-overlay{z-index:calc(var(--z-sticky) - 1);background:oklch(0% 0 0/.6);display:none;position:fixed;inset:0}@media (width<=56rem){.sidebar{transition:transform var(--dur-long) var(--ease-out);transform:translate(-100%)}.sidebar--open{transform:none}.sidebar-overlay{display:block}.app-main{margin-left:0}.app-topbar{display:flex}.app-content{padding:var(--space-lg) var(--space-md)}}.dashboard{gap:var(--space-xl);flex-direction:column;display:flex}.dashboard__header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);flex-wrap:wrap;display:flex}.dashboard__greeting{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-3xs)}.dashboard__title{font-size:var(--text-2xl);letter-spacing:-.025em;font-weight:700}.dashboard__header-right{align-items:flex-end;gap:var(--space-xs);flex-direction:column;display:flex}.dashboard__stats{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat-card{padding:var(--space-xl);gap:var(--space-xs);flex-direction:column;display:flex}.stat-card--accent{border-color:var(--color-accent-dim);background:var(--color-accent-subtle)}.stat-card__label{font-size:var(--text-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.stat-card__value{font-size:var(--text-2xl);letter-spacing:-.03em;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.stat-card--accent .stat-card__value{color:var(--color-accent)}.stat-card__growth{font-size:var(--text-xs);font-family:var(--font-mono)}.stat-card__growth--up{color:var(--color-success)}.stat-card__growth--down{color:var(--color-error)}.dashboard__mid{gap:var(--space-md);grid-template-columns:minmax(0,2fr) minmax(0,1fr);display:grid}.dashboard__chart-card,.dashboard__top-card{overflow:hidden}.dashboard__chart-head{padding:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.dashboard__section-title{font-size:var(--text-md);font-weight:600}.dashboard__chart{align-items:flex-end;gap:var(--space-xs);height:140px;padding:0 var(--space-lg) var(--space-md);display:flex}.dashboard__chart-col{align-items:center;gap:var(--space-xs);flex-direction:column;flex:1;justify-content:flex-end;height:100%;display:flex}.dashboard__chart-bar{border-radius:var(--radius-xs) var(--radius-xs) 0 0;background:var(--color-paper-4);width:100%;min-height:4px;transition:background var(--dur-short) var(--ease-out)}.dashboard__chart-bar--peak{background:var(--color-accent)}.dashboard__chart-label{color:var(--color-muted);font-size:10px;font-family:var(--font-mono)}.dashboard__top-list{flex-direction:column;display:flex}.dashboard__top-item{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule-hair);display:flex}.dashboard__top-rank{background:var(--color-paper-3);width:20px;height:20px;font-size:10px;font-weight:600;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dashboard__top-info{flex:1;min-width:0}.dashboard__top-name{font-size:var(--text-xs);font-weight:500;display:block}.dashboard__top-sold{font-size:10px}.dashboard__top-rev{font-size:var(--text-xs);white-space:nowrap;font-weight:600}.dashboard__trx-card{overflow:hidden}.dashboard__trx-head{padding:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule-hair);justify-content:space-between;align-items:center;display:flex}.dashboard__trx-table{flex-direction:column;display:flex}.dashboard__trx-thead,.dashboard__trx-row{gap:var(--space-md);padding:var(--space-sm) var(--space-lg);grid-template-columns:1.5fr .8fr .6fr 1.2fr .8fr 1fr;align-items:center;display:grid}.dashboard__trx-thead{background:var(--color-paper-3);font-size:var(--text-xs);color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.dashboard__trx-row{border-top:var(--rule-hair) solid var(--color-rule-hair)}.dashboard__trx-row:hover{background:var(--color-paper-3)}@media (width<=60rem){.dashboard__mid{grid-template-columns:1fr}}@media (width<=48rem){.dashboard__stats{grid-template-columns:1fr 1fr}.dashboard__trx-thead,.dashboard__trx-row{grid-template-columns:1fr 1fr 1fr}.dashboard__trx-thead span:nth-child(n+4),.dashboard__trx-row span:nth-child(n+4){display:none}}@media (width<=32rem){.dashboard__stats{grid-template-columns:1fr}}.kasir{gap:var(--space-lg);height:calc(100dvh - 56px - var(--space-2xl) * 2);grid-template-columns:1fr 340px;min-height:500px;display:grid}.kasir__left{gap:var(--space-md);flex-direction:column;display:flex;overflow:hidden}.kasir__search-bar{position:relative}.kasir__search{width:100%;padding:var(--space-sm) var(--space-md) var(--space-sm) 2.5rem;background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-lg);font-size:var(--text-base);color:var(--color-ink);transition:border-color var(--dur-micro) var(--ease-out), box-shadow var(--dur-micro) var(--ease-out)}.kasir__search::placeholder{color:var(--color-subtle)}.kasir__search:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow);outline:none}.kasir__search-icon{left:var(--space-md);color:var(--color-muted);font-size:var(--text-lg);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.kasir__categories{gap:var(--space-xs);flex-wrap:wrap;display:flex}.kasir__cat{padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-pill);font-size:var(--text-xs);border:var(--rule-hair) solid var(--color-rule-hair);color:var(--color-muted);cursor:pointer;transition:background var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out);white-space:nowrap;background:0 0;font-weight:500}.kasir__cat:hover{background:var(--color-paper-3);color:var(--color-ink)}.kasir__cat--active{background:var(--color-accent);color:oklch(12% .008 40);border-color:var(--color-accent)}.kasir__cat:focus-visible{outline:2px solid var(--color-focus)}.kasir__grid{gap:var(--space-sm);padding-right:var(--space-xs);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));align-content:start;display:grid;overflow-y:auto}.kasir__grid::-webkit-scrollbar{width:4px}.kasir__empty,.kasir__cart-empty{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-3xl);color:var(--color-muted);text-align:center;flex-direction:column;grid-column:1/-1;display:flex}.kasir__product{background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-hair);border-radius:var(--radius-md);padding:var(--space-md);cursor:pointer;text-align:left;transition:box-shadow var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);gap:var(--space-3xs);flex-direction:column;display:flex;position:relative}.kasir__product:hover{box-shadow:var(--shadow-sm);border-color:var(--color-rule);transform:translateY(-2px)}.kasir__product--in-cart{border-color:var(--color-accent-dim);background:var(--color-accent-subtle)}.kasir__product:focus-visible{outline:2px solid var(--color-focus)}.kasir__product-qty{top:var(--space-xs);right:var(--space-xs);background:var(--color-accent);color:oklch(12% .008 40);width:20px;height:20px;font-size:10px;font-weight:700;font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.kasir__product-emoji{margin-bottom:var(--space-3xs);font-size:1.75rem}.kasir__product-name{font-size:var(--text-xs);font-weight:500;line-height:1.3}.kasir__product-price{font-size:var(--text-xs);color:var(--color-muted)}.kasir__product-stock{margin-top:var(--space-3xs)}.kasir__right{background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-hair);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.kasir__cart-header{padding:var(--space-md) var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule-hair);justify-content:space-between;align-items:center;display:flex}.kasir__cart-title{font-size:var(--text-md);font-weight:600}.kasir__cart-items{padding:var(--space-sm) var(--space-md);gap:var(--space-xs);flex-direction:column;flex:1;display:flex;overflow-y:auto}.kasir__cart-item{align-items:center;gap:var(--space-xs);padding:var(--space-sm);background:var(--color-paper-3);border-radius:var(--radius-md);border:var(--rule-hair) solid var(--color-rule-hair);grid-template-columns:auto 1fr auto auto;display:grid}.kasir__cart-item-emoji{font-size:1.25rem}.kasir__cart-item-name{font-size:var(--text-xs);font-weight:500}.kasir__cart-item-price{font-size:var(--text-xs);color:var(--color-muted)}.kasir__cart-item-qty{align-items:center;gap:var(--space-3xs);display:flex}.kasir__qty-btn{background:var(--color-paper-4);border:var(--rule-hair) solid var(--color-rule);width:24px;height:24px;font-size:var(--text-sm);cursor:pointer;transition:background var(--dur-micro) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.kasir__qty-btn:hover{background:var(--color-accent);color:oklch(12% .008 40);border-color:var(--color-accent)}.kasir__qty-btn:focus-visible{outline:2px solid var(--color-focus)}.kasir__qty-val{font-size:var(--text-xs);text-align:center;min-width:20px;font-weight:600}.kasir__cart-item-total{font-size:var(--text-xs);text-align:right;white-space:nowrap;font-weight:700}.kasir__summary{padding:var(--space-md) var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule-hair);gap:var(--space-xs);flex-direction:column;display:flex}.kasir__summary-row{font-size:var(--text-sm);color:var(--color-muted);justify-content:space-between;display:flex}.kasir__summary-total{font-size:var(--text-md);color:var(--color-ink);padding-top:var(--space-xs);border-top:var(--rule-sm) solid var(--color-rule);margin-top:var(--space-xs);font-weight:700}.kasir__pay-btn{margin:var(--space-md);width:calc(100% - var(--space-md) * 2);justify-content:center}.kasir__pay-btn:disabled{opacity:.5;cursor:not-allowed}.payment-modal-overlay{z-index:var(--z-modal);padding:var(--space-lg);animation:fadeIn var(--dur-short) var(--ease-out) both;background:oklch(0% 0 0/.7);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.payment-modal{background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-xl);width:100%;max-width:400px;padding:var(--space-xl);animation:fadeUp var(--dur-long) var(--ease-out) both;gap:var(--space-md);flex-direction:column;display:flex}.payment-modal__header{justify-content:space-between;align-items:center;display:flex}.payment-modal__header h2{font-size:var(--text-xl);font-weight:700}.payment-modal__close{font-size:var(--text-md);color:var(--color-muted);cursor:pointer;background:0 0;border:none}.payment-modal__total{padding:var(--space-lg);background:var(--color-paper-3);border-radius:var(--radius-lg);align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.payment-modal__total span:first-child{font-size:var(--text-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em}.payment-modal__amount{font-size:var(--text-3xl);font-weight:700;font-family:var(--font-mono);letter-spacing:-.04em;color:var(--color-accent)}.payment-modal__methods{gap:var(--space-xs);grid-template-columns:1fr 1fr;display:grid}.payment-modal__method{padding:var(--space-sm);border-radius:var(--radius-md);border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-3);font-size:var(--text-sm);cursor:pointer;transition:all var(--dur-micro) var(--ease-out);font-weight:500}.payment-modal__method--active{background:var(--color-accent-subtle);border-color:var(--color-accent-dim);color:var(--color-accent)}.payment-modal__cash{gap:var(--space-sm);flex-direction:column;display:flex}.payment-modal__cash-input{text-align:right;font-size:var(--text-xl);font-family:var(--font-mono);font-weight:700}.payment-modal__kembalian{font-size:var(--text-sm);padding-top:var(--space-xs);border-top:var(--rule-hair) solid var(--color-rule-hair);justify-content:space-between;display:flex}.payment-modal__qris{justify-content:center;display:flex}.payment-modal__qr-box{aspect-ratio:1;background:var(--color-paper-3);border:2px dashed var(--color-rule);border-radius:var(--radius-lg);justify-content:center;align-items:center;gap:var(--space-xs);text-align:center;width:160px;font-size:var(--text-sm);flex-direction:column;display:flex}.payment-modal__confirm{justify-content:center;width:100%}.payment-modal__confirm:disabled{opacity:.5;cursor:not-allowed}.payment-modal--success{text-align:center;align-items:center}.success-icon{border:2px solid var(--color-success);width:64px;height:64px;color:var(--color-success);font-size:var(--text-2xl);background:oklch(18% .06 145);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.success-total{font-size:var(--text-3xl);font-weight:700;font-family:var(--font-mono);letter-spacing:-.04em;color:var(--color-success)}@media (width<=56rem){.kasir{grid-template-columns:1fr;height:auto}.kasir__right{min-height:400px}}.simple-page{gap:var(--space-xl);flex-direction:column;display:flex}.simple-page__header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);flex-wrap:wrap;display:flex}.simple-page__title{font-size:var(--text-2xl);letter-spacing:-.025em;font-weight:700}.simple-page__sub{font-size:var(--text-sm);margin-top:var(--space-3xs)}.data-table{flex-direction:column;display:flex}.data-table__head{gap:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--color-paper-3);font-size:var(--text-xs);color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;font-weight:600;display:flex}.data-table__head>span,.data-table__row>span{flex:1;min-width:0}.data-table__row{gap:var(--space-md);padding:var(--space-sm) var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule-hair);align-items:center;display:flex}.data-table__row:hover{background:var(--color-paper-3)}.btn{align-items:center;gap:var(--space-xs);font-family:var(--font-body);font-size:var(--text-sm);white-space:nowrap;border-radius:var(--radius-pill);border:var(--rule-hair) solid transparent;cursor:pointer;transition:background var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out), transform var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out), color var(--dur-micro) var(--ease-out);padding:.625rem 1.375rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.btn--primary{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}@media (hover:hover) and (pointer:fine){.btn--primary:hover{box-shadow:var(--shadow-sm);background:oklch(85% .006 80);transform:translateY(-1.5px)}}.btn--primary:active{transition-duration:60ms;transform:translateY(0)}.btn--accent{background:var(--color-accent);color:oklch(12% .008 40);border-color:var(--color-accent);font-weight:600}@media (hover:hover) and (pointer:fine){.btn--accent:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-accent);transform:translateY(-1.5px)}}.btn--accent:active{transform:translateY(0)}.btn--ghost{color:var(--color-ink);border-color:var(--color-rule);background:0 0}@media (hover:hover) and (pointer:fine){.btn--ghost:hover{background:var(--color-paper-3);border-color:var(--color-muted);transform:translateY(-1px)}}.btn--text{color:var(--color-muted);padding-inline:var(--space-sm);background:0 0}@media (hover:hover) and (pointer:fine){.btn--text:hover{color:var(--color-ink)}}.btn--danger{background:var(--color-error);color:oklch(95% .005 20);border-color:var(--color-error)}@media (hover:hover) and (pointer:fine){.btn--danger:hover{background:oklch(52% .22 20);transform:translateY(-1px)}}.btn--sm{font-size:var(--text-xs);padding:.375rem .875rem}.btn--lg{font-size:var(--text-base);padding:.875rem 2rem}.badge{align-items:center;gap:var(--space-3xs);padding:2px var(--space-xs);font-size:var(--text-xs);border-radius:var(--radius-pill);border:var(--rule-hair) solid transparent;white-space:nowrap;letter-spacing:.02em;font-weight:500;display:inline-flex}.badge--default{background:var(--color-paper-3);color:var(--color-muted);border-color:var(--color-rule-hair)}.badge--accent{background:var(--color-accent-subtle);color:var(--color-accent);border-color:var(--color-accent-dim)}.badge--success{color:var(--color-success);background:oklch(18% .06 145);border-color:oklch(28% .1 145)}.badge--warning{color:var(--color-warning);background:oklch(18% .06 75);border-color:oklch(28% .1 75)}.badge--error{color:var(--color-error);background:oklch(18% .06 20);border-color:oklch(28% .1 20)}.badge--info{color:var(--color-info);background:oklch(18% .06 245);border-color:oklch(28% .1 245)}.badge--outline{color:var(--color-muted);border-color:var(--color-rule);background:0 0}.card{background:var(--color-paper-2);border:var(--rule-hair) solid var(--color-rule-hair);border-radius:var(--radius-lg);transition:box-shadow var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out)}@media (hover:hover) and (pointer:fine){.card--hover:hover{box-shadow:var(--shadow-md);border-color:var(--color-rule);transform:translateY(-2px)}}
