@layer reset,base,components,responsive;@layer reset{*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,p,pre,dl,dd{margin:0}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}}@layer base{:root{color-scheme:light;--color-canvas: oklch(100% 0 0);--color-surface: oklch(98.7% .001 286);--color-ink: oklch(21% .006 286);--color-muted: oklch(49% .008 286);--color-faint: oklch(52% .007 286);--color-border-subtle: rgb(24 24 27 / .08);--color-border-control: rgb(24 24 27 / .16);--color-join: oklch(93.5% .004 286);--color-focus: oklch(49% .13 260);--color-code-keyword: oklch(43% .1 295);--color-code-string: oklch(40% .075 248);--shadow-control: 0 1px 1px rgb(24 24 27 / .025), 0 2px 3px rgb(24 24 27 / .025), 0 4px 8px rgb(24 24 27 / .015);--preview-width: 260px}html{scroll-padding-top:32px}body{background:var(--color-canvas);color:var(--color-ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.6;letter-spacing:-.012em;-webkit-font-smoothing:antialiased}::selection{background:var(--color-join);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}h1,h2,h3{font-kerning:normal;text-wrap:balance}h2{font-size:16px;font-weight:600;line-height:1.5;letter-spacing:-.015em}h3{font-size:14px;font-weight:550;line-height:1.6}p{max-width:65ch}code,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;letter-spacing:-.015em}code{font-size:.875em}.page-shell{width:100%;max-width:720px;padding:0 24px;margin:0 auto}.section{display:flex;flex-direction:column;gap:20px;margin-top:64px;scroll-margin-top:32px}.section-heading{display:flex;flex-direction:column;gap:8px}.section-heading p{color:var(--color-muted);font-size:14px;line-height:1.6;text-wrap:pretty}.skip-link{position:fixed;left:16px;top:-80px;z-index:5;background:var(--color-ink);color:var(--color-canvas);padding:12px 20px;border-radius:8px}.skip-link:focus{top:16px}}@layer components{.hero{display:flex;flex-direction:column;align-items:center;padding:116px 0 14px;text-align:center}.hug-mark{display:flex;align-items:center;position:relative;height:48px;margin-bottom:24px;color:var(--color-muted);font-family:SFMono-Regular,Consolas,monospace;font-size:17px;letter-spacing:-.04em;user-select:none;pointer-events:none}.hug-mark>span{display:grid;place-items:center;height:44px;padding:0 16px;border:1px solid var(--color-border-subtle);background:var(--color-canvas);box-shadow:var(--shadow-control)}.hug-mark>span:first-child{border-radius:8px 0 0 8px;border-right-color:transparent}.hug-mark>span:nth-child(2){border-radius:0 8px 8px 0;border-left-style:dashed}.hug-mark>i{width:38px;height:5px;border:1px solid var(--color-border-control);border-top:0;border-radius:0 0 3px 3px;position:absolute;bottom:-8px;left:calc(50% - 19px)}.hero h1{font-size:48px;font-weight:700;line-height:1.15;letter-spacing:-.055em}.hero-description{font-size:16px;line-height:1.6;margin-top:12px;color:var(--color-muted);text-wrap:balance}.hero-actions{display:flex;justify-content:center;gap:8px;margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:1px solid transparent;border-radius:7px;font-size:13px;font-weight:550;line-height:1.5;white-space:nowrap}.hero-actions .button{min-width:144px}.button-primary{background:var(--color-ink);color:var(--color-canvas);border-color:#ffffff1a;box-shadow:var(--shadow-control)}.button-secondary{background:var(--color-surface);border-color:var(--color-border-subtle);box-shadow:var(--shadow-control)}.documentation-link{display:inline-flex;align-items:center;min-height:44px;color:var(--color-faint);font-size:13px;text-decoration:underline;text-decoration-color:var(--color-border-control);text-underline-offset:3px}.playground{gap:16px}.playground-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.segmented{display:inline-flex;align-self:flex-start;align-items:center;gap:4px}.segmented button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 15px;font-size:13px;line-height:1.5;border:1px solid transparent;border-radius:7px;color:var(--color-muted);white-space:nowrap}.language-flag{font-size:15px;line-height:1}.segmented button[aria-pressed=true]{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border-subtle);box-shadow:var(--shadow-control)}.demo-hint{color:var(--color-faint);font-size:12px}.demo-frame{border:1px solid var(--color-border-subtle);border-radius:8px;overflow:hidden}.comparison{display:grid;grid-template-columns:1fr 1fr}.preview-panel{min-width:0;padding:20px;min-height:204px}.preview-after{border-left:1px solid var(--color-border-subtle)}.preview-label{font-size:12px;line-height:1.5;color:var(--color-muted);margin-bottom:16px}.preview-text{width:min(100%,var(--preview-width));font-size:18px;line-height:1.6;letter-spacing:-.022em;white-space:pre-wrap;overflow-wrap:anywhere}.joined,mark{background:var(--color-join);color:inherit;border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.playground-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 16px;border-top:1px solid var(--color-border-subtle);background:var(--color-surface)}.width-control{display:flex;align-items:center;gap:10px;min-width:0;font-size:12px;color:var(--color-muted)}.width-control input{width:100px;height:44px;accent-color:var(--color-ink);cursor:ew-resize}.width-control output{min-width:47px;font-variant-numeric:tabular-nums;white-space:nowrap}.join-count{font-size:11px;color:var(--color-faint);text-align:right}.edit-demo{margin-top:-8px}.edit-demo summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;color:var(--color-muted);font-size:13px;cursor:pointer;list-style:none}.edit-demo summary::-webkit-details-marker{display:none}.edit-demo summary span{display:grid;place-items:center;width:24px;height:24px;font-size:18px;color:var(--color-faint)}.edit-demo[open] summary span{transform:rotate(45deg)}.edit-demo-content{display:flex;flex-direction:column;gap:8px;padding:8px 0 0}.edit-demo-content label{font-size:13px;font-weight:500}.edit-demo textarea{display:block;width:100%;min-height:118px;max-height:400px;resize:vertical;padding:12px;border:1px solid var(--color-border-control);border-radius:7px;background:var(--color-canvas);color:var(--color-ink);font-size:16px;line-height:1.6}.edit-demo textarea:focus{border-color:var(--color-focus)}.edit-demo-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:4px}.edit-demo-footer p{font-size:12px;color:var(--color-muted)}.no-script{padding-top:8px;color:var(--color-muted);font-size:13px}.install-section{gap:16px}.install-command{display:flex;align-items:center;gap:12px;padding:4px 8px 4px 16px;min-height:54px;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:7px}.install-command code{flex:1;min-width:0;font-size:13px;white-space:normal}.copy-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:56px;padding:8px;margin-left:auto;color:var(--color-muted);border-radius:5px;font-size:12px;line-height:1.5;white-space:nowrap}.package-description{color:var(--color-muted);font-size:12px;min-height:20px}.install-meta{color:var(--color-faint);font-size:12px}.install-meta span{padding:0 8px}.usage-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}.usage-card{min-width:0}.usage-card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin-bottom:4px}.usage-card-heading .copy-button{margin-right:-8px}.usage-card pre{padding:18px;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:7px;overflow-x:auto;font-size:13px;line-height:1.8;white-space:pre}.usage-card pre code{font-size:inherit}.code-keyword{color:var(--color-code-keyword)}.code-string{color:var(--color-code-string)}.code-result{display:flex;align-items:baseline;gap:16px;padding:12px 0}.code-result>span{flex:0 0 46px;color:var(--color-faint);font-size:12px}.code-result p{min-width:0;font-size:15px;overflow-wrap:anywhere}.usage-note,.usage-caveat,.rules-note{font-size:13px;line-height:1.65;color:var(--color-muted)}.usage-caveat{padding-top:4px}.rule-list{display:flex;flex-direction:column;font-size:13px}.rule-list>div{display:grid;grid-template-columns:94px minmax(0,1fr) 72px;align-items:baseline;gap:12px;padding:13px 0;border-bottom:1px solid var(--color-border-subtle)}.rule-list>div:first-child{padding-top:0}.rule-list dt{font-weight:500}.rule-list dd{color:var(--color-muted)}.rule-list .rule-example{justify-self:end;color:var(--color-ink);font-family:SFMono-Regular,Consolas,monospace;font-size:12px;white-space:nowrap}.text-link{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;min-height:44px;font-size:13px;color:var(--color-muted);text-decoration:underline;text-decoration-color:var(--color-border-control);text-underline-offset:3px}.site-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;border-top:1px solid var(--color-border-subtle);padding:24px 0 40px;margin-top:72px;color:var(--color-faint);font-size:12px}.site-footer p{display:flex;gap:8px;align-items:center}.site-footer p a{color:var(--color-ink)}.site-footer nav{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.site-footer a,.footer-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px}.footer-link{padding:0}.copy-status{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%);width:max-content;max-width:calc(100% - 32px);border-radius:8px;background:var(--color-canvas);color:var(--color-ink);font-size:13px;z-index:10}.copy-status:not(:empty){padding:12px 16px;border:1px solid var(--color-border-subtle);box-shadow:0 2px 4px #18181b09,0 6px 12px #18181b09,0 12px 28px #18181b09}button:disabled{color:var(--color-faint);background:var(--color-surface);cursor:not-allowed}.button:active,.segmented button:active,.copy-button:active{background:color-mix(in oklch,var(--color-surface) 94%,var(--color-ink))}.button-primary:active{background:color-mix(in oklch,var(--color-ink) 90%,var(--color-canvas))}@media(hover:hover){.button-primary:hover{background:color-mix(in oklch,var(--color-ink) 90%,var(--color-canvas))}.button-secondary:hover,.segmented button:hover,.copy-button:hover{background:color-mix(in oklch,var(--color-surface) 97%,var(--color-ink));color:var(--color-ink)}.documentation-link:hover,.text-link:hover,.site-footer a:hover,.footer-link:hover,.edit-demo summary:hover{color:var(--color-ink)}.site-footer a:hover,.footer-link:hover{text-decoration:underline;text-underline-offset:3px}.edit-demo textarea:hover{border-color:color-mix(in oklch,var(--color-ink) 30%,var(--color-canvas))}}}@layer responsive{@media(max-width:560px){.page-shell{padding-inline:24px}.hero{padding-top:76px}.hero h1{font-size:44px}.hero-description{font-size:15px;max-width:27ch}.hero-actions .button{min-width:132px}.section{margin-top:52px}.comparison{grid-template-columns:1fr}.preview-panel{min-height:164px;padding:20px}.preview-after{border-left:0;border-top:1px solid var(--color-border-subtle)}.playground-controls{align-items:stretch;flex-direction:column;gap:0;padding:8px 16px 14px}.width-control input{width:100%;flex:1;min-width:0}.join-count{text-align:left}.demo-hint{font-size:11px}.edit-demo-footer{align-items:flex-start;flex-direction:column;gap:12px}.code-result{gap:12px}.rule-list>div{grid-template-columns:minmax(0,1fr) auto;gap:4px 16px}.rule-list dt{grid-column:1}.rule-list dd:not(.rule-example){grid-column:1;font-size:12px}.rule-list .rule-example{grid-column:2;grid-row:1 / 3;align-self:center}.site-footer{margin-top:56px;padding-bottom:24px}.site-footer nav{gap:16px}}@media(max-width:360px){.page-shell{padding-inline:20px}.hero-actions .button{min-width:124px}.demo-hint{display:none}.preview-panel{padding-inline:16px}.install-command{padding-left:12px;gap:4px}.install-command code{font-size:12px}.site-footer nav{gap:12px}}@media(prefers-reduced-motion:no-preference){.button,.segmented button,.copy-button{transition:background-color .15s ease,color .15s ease,transform .15s ease}.button:active,.segmented button:active,.copy-button:active{transform:translateY(1px)}}}
