/**
 * Grant.is Main CSS Entry Point
 * Single source of truth for all styles
 * Organized with CSS Cascade Layers for explicit specificity control
 */

/* ==========================================
 * LAYER DEFINITION
 * Controls cascade order - later layers override earlier ones
 * ========================================== */

@layer foundation, base, layout, components, utilities, responsive, overrides;

/* ==========================================
 * FOUNDATION LAYER
 * Clean slate + design tokens
 * Loads first, lowest specificity
 * ========================================== */

@import '00-foundation/fonts.css' layer(foundation);
@import '00-foundation/reset.css' layer(foundation);
@import '00-foundation/colors.css' layer(foundation);
@import '00-foundation/spacing.css' layer(foundation);
@import '00-foundation/typography.css' layer(foundation);
@import '00-foundation/layout.css' layer(foundation);
@import '00-foundation/effects.css' layer(foundation);
@import '00-foundation/motion.css' layer(foundation);

/* ==========================================
 * BASE LAYER
 * Core design system and theme variables
 * ========================================== */

@import '01-base/theme-vars.css' layer(base);
@import '01-base/grant.css' layer(base);

/* ==========================================
 * LAYOUT LAYER
 * Page structure and sections
 * ========================================== */

@import '02-layout/main.css' layer(layout);
@import '02-layout/header.css' layer(layout);
@import '02-layout/footer.css' layer(layout);
@import '02-layout/post-single.css' layer(layout);
@import '02-layout/post-entry.css' layer(layout);
@import '02-layout/archive.css' layer(layout);
@import '02-layout/search.css' layer(layout);
@import '02-layout/terms.css' layer(layout);
@import '02-layout/profile-mode.css' layer(layout);
@import '02-layout/404.css' layer(layout);

/* ==========================================
 * COMPONENTS LAYER
 * Reusable UI components
 * ========================================== */

@import '03-components/lightbox.css' layer(components);
@import '03-components/typer.css' layer(components);
@import '03-components/image-gallery.css' layer(components);
@import '03-components/gallery-grid.css' layer(components);
@import '03-components/forms.css' layer(components);
@import '03-components/markdown-images.css' layer(components);
@import '03-components/note.css' layer(components);
@import '03-components/typography-rich.css' layer(components);
@import '03-components/reading-progress.css' layer(components);
@import '03-components/post-utilities.css' layer(components);
@import '03-components/styleguide.css' layer(components);
@import '03-components/comments.css' layer(components);

/* ==========================================
 * UTILITIES LAYER
 * Helper classes and final utilities
 * ========================================== */

@import '04-utilities/index.css' layer(utilities);
@import '04-utilities/skip-link.css' layer(utilities);
@import '04-utilities/focus.css' layer(utilities);
@import '04-utilities/touch-targets.css' layer(utilities);

/* ==========================================
 * RESPONSIVE LAYER
 * Media queries and responsive overrides
 * Higher specificity than components/utilities
 * ========================================== */

@import '05-responsive/media-queries.css' layer(responsive);

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3RoZW1lcy9ncmFudC9hc3NldHMvY3NzL21haW4uY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6Im1haW4ucHJvY2Vzc2VkLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR3JhbnQuaXMgTWFpbiBDU1MgRW50cnkgUG9pbnRcbiAqIFNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIGFsbCBzdHlsZXNcbiAqIE9yZ2FuaXplZCB3aXRoIENTUyBDYXNjYWRlIExheWVycyBmb3IgZXhwbGljaXQgc3BlY2lmaWNpdHkgY29udHJvbFxuICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogTEFZRVIgREVGSU5JVElPTlxuICogQ29udHJvbHMgY2FzY2FkZSBvcmRlciAtIGxhdGVyIGxheWVycyBvdmVycmlkZSBlYXJsaWVyIG9uZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbGF5ZXIgZm91bmRhdGlvbiwgYmFzZSwgbGF5b3V0LCBjb21wb25lbnRzLCB1dGlsaXRpZXMsIHJlc3BvbnNpdmUsIG92ZXJyaWRlcztcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBGT1VOREFUSU9OIExBWUVSXG4gKiBDbGVhbiBzbGF0ZSArIGRlc2lnbiB0b2tlbnNcbiAqIExvYWRzIGZpcnN0LCBsb3dlc3Qgc3BlY2lmaWNpdHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW1wb3J0ICcwMC1mb3VuZGF0aW9uL2ZvbnRzLmNzcycgbGF5ZXIoZm91bmRhdGlvbik7XG5AaW1wb3J0ICcwMC1mb3VuZGF0aW9uL3Jlc2V0LmNzcycgbGF5ZXIoZm91bmRhdGlvbik7XG5AaW1wb3J0ICcwMC1mb3VuZGF0aW9uL2NvbG9ycy5jc3MnIGxheWVyKGZvdW5kYXRpb24pO1xuQGltcG9ydCAnMDAtZm91bmRhdGlvbi9zcGFjaW5nLmNzcycgbGF5ZXIoZm91bmRhdGlvbik7XG5AaW1wb3J0ICcwMC1mb3VuZGF0aW9uL3R5cG9ncmFwaHkuY3NzJyBsYXllcihmb3VuZGF0aW9uKTtcbkBpbXBvcnQgJzAwLWZvdW5kYXRpb24vbGF5b3V0LmNzcycgbGF5ZXIoZm91bmRhdGlvbik7XG5AaW1wb3J0ICcwMC1mb3VuZGF0aW9uL2VmZmVjdHMuY3NzJyBsYXllcihmb3VuZGF0aW9uKTtcbkBpbXBvcnQgJzAwLWZvdW5kYXRpb24vbW90aW9uLmNzcycgbGF5ZXIoZm91bmRhdGlvbik7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQkFTRSBMQVlFUlxuICogQ29yZSBkZXNpZ24gc3lzdGVtIGFuZCB0aGVtZSB2YXJpYWJsZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW1wb3J0ICcwMS1iYXNlL3RoZW1lLXZhcnMuY3NzJyBsYXllcihiYXNlKTtcbkBpbXBvcnQgJzAxLWJhc2UvZ3JhbnQuY3NzJyBsYXllcihiYXNlKTtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBMQVlPVVQgTEFZRVJcbiAqIFBhZ2Ugc3RydWN0dXJlIGFuZCBzZWN0aW9uc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbXBvcnQgJzAyLWxheW91dC9tYWluLmNzcycgbGF5ZXIobGF5b3V0KTtcbkBpbXBvcnQgJzAyLWxheW91dC9oZWFkZXIuY3NzJyBsYXllcihsYXlvdXQpO1xuQGltcG9ydCAnMDItbGF5b3V0L2Zvb3Rlci5jc3MnIGxheWVyKGxheW91dCk7XG5AaW1wb3J0ICcwMi1sYXlvdXQvcG9zdC1zaW5nbGUuY3NzJyBsYXllcihsYXlvdXQpO1xuQGltcG9ydCAnMDItbGF5b3V0L3Bvc3QtZW50cnkuY3NzJyBsYXllcihsYXlvdXQpO1xuQGltcG9ydCAnMDItbGF5b3V0L2FyY2hpdmUuY3NzJyBsYXllcihsYXlvdXQpO1xuQGltcG9ydCAnMDItbGF5b3V0L3NlYXJjaC5jc3MnIGxheWVyKGxheW91dCk7XG5AaW1wb3J0ICcwMi1sYXlvdXQvdGVybXMuY3NzJyBsYXllcihsYXlvdXQpO1xuQGltcG9ydCAnMDItbGF5b3V0L3Byb2ZpbGUtbW9kZS5jc3MnIGxheWVyKGxheW91dCk7XG5AaW1wb3J0ICcwMi1sYXlvdXQvNDA0LmNzcycgbGF5ZXIobGF5b3V0KTtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDT01QT05FTlRTIExBWUVSXG4gKiBSZXVzYWJsZSBVSSBjb21wb25lbnRzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGltcG9ydCAnMDMtY29tcG9uZW50cy9saWdodGJveC5jc3MnIGxheWVyKGNvbXBvbmVudHMpO1xuQGltcG9ydCAnMDMtY29tcG9uZW50cy90eXBlci5jc3MnIGxheWVyKGNvbXBvbmVudHMpO1xuQGltcG9ydCAnMDMtY29tcG9uZW50cy9pbWFnZS1nYWxsZXJ5LmNzcycgbGF5ZXIoY29tcG9uZW50cyk7XG5AaW1wb3J0ICcwMy1jb21wb25lbnRzL2dhbGxlcnktZ3JpZC5jc3MnIGxheWVyKGNvbXBvbmVudHMpO1xuQGltcG9ydCAnMDMtY29tcG9uZW50cy9mb3Jtcy5jc3MnIGxheWVyKGNvbXBvbmVudHMpO1xuQGltcG9ydCAnMDMtY29tcG9uZW50cy9tYXJrZG93bi1pbWFnZXMuY3NzJyBsYXllcihjb21wb25lbnRzKTtcbkBpbXBvcnQgJzAzLWNvbXBvbmVudHMvbm90ZS5jc3MnIGxheWVyKGNvbXBvbmVudHMpO1xuQGltcG9ydCAnMDMtY29tcG9uZW50cy90eXBvZ3JhcGh5LXJpY2guY3NzJyBsYXllcihjb21wb25lbnRzKTtcbkBpbXBvcnQgJzAzLWNvbXBvbmVudHMvcmVhZGluZy1wcm9ncmVzcy5jc3MnIGxheWVyKGNvbXBvbmVudHMpO1xuQGltcG9ydCAnMDMtY29tcG9uZW50cy9wb3N0LXV0aWxpdGllcy5jc3MnIGxheWVyKGNvbXBvbmVudHMpO1xuQGltcG9ydCAnMDMtY29tcG9uZW50cy9zdHlsZWd1aWRlLmNzcycgbGF5ZXIoY29tcG9uZW50cyk7XG5AaW1wb3J0ICcwMy1jb21wb25lbnRzL2NvbW1lbnRzLmNzcycgbGF5ZXIoY29tcG9uZW50cyk7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogVVRJTElUSUVTIExBWUVSXG4gKiBIZWxwZXIgY2xhc3NlcyBhbmQgZmluYWwgdXRpbGl0aWVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGltcG9ydCAnMDQtdXRpbGl0aWVzL2luZGV4LmNzcycgbGF5ZXIodXRpbGl0aWVzKTtcbkBpbXBvcnQgJzA0LXV0aWxpdGllcy9za2lwLWxpbmsuY3NzJyBsYXllcih1dGlsaXRpZXMpO1xuQGltcG9ydCAnMDQtdXRpbGl0aWVzL2ZvY3VzLmNzcycgbGF5ZXIodXRpbGl0aWVzKTtcbkBpbXBvcnQgJzA0LXV0aWxpdGllcy90b3VjaC10YXJnZXRzLmNzcycgbGF5ZXIodXRpbGl0aWVzKTtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBSRVNQT05TSVZFIExBWUVSXG4gKiBNZWRpYSBxdWVyaWVzIGFuZCByZXNwb25zaXZlIG92ZXJyaWRlc1xuICogSGlnaGVyIHNwZWNpZmljaXR5IHRoYW4gY29tcG9uZW50cy91dGlsaXRpZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW1wb3J0ICcwNS1yZXNwb25zaXZlL21lZGlhLXF1ZXJpZXMuY3NzJyBsYXllcihyZXNwb25zaXZlKTtcbiJdfQ== */