/**
 * Grant.is Main CSS Entry Point
 * Single source of truth for all styles
 * Organized with CSS Cascade Layers for explicit specificity control
 *
 * LAYER ORDER (lowest → highest priority):
 * - foundation: Reset, design tokens, base typography
 * - base: Theme variables, layout shell, core styles
 * - layout: Page structure (header, footer, main, posts)
 * - components: Reusable UI (gallery, lightbox, forms)
 * - utilities: Helper classes
 * - responsive: Media query overrides
 * - vendor-overrides: Third-party/Hugo-generated markup overrides
 * - overrides: Final escape hatch (use sparingly)
 */

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

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

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

@import '00-foundation/scales.css' layer(foundation);
@import '00-foundation/semantic-scales.css' layer(foundation);
@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/layout-shell.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/gallery-shared.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/pictures-with-words.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/icon-tokens.css' layer(components);
@import '03-components/text-replacements.css' layer(components);
@import '03-components/guilloche.css' layer(components);
@import '03-components/comments.css' layer(components);
@import '03-components/avatars.css' layer(components);
@import '03-components/window.css' layer(components);
@import '03-components/highlighter.css' layer(components);
@import '03-components/tooltip.css' layer(components);
@import '03-components/quote.css' layer(components);
@import '03-components/qa.css' layer(components);
@import '03-components/footnotes.css' layer(components);
@import '03-components/image-object.css' layer(components);
@import '03-components/gallery.css' layer(components);
@import '03-components/video.css' layer(components);
@import '03-components/divider.css' layer(components);
@import '03-components/post-masthead.css' layer(components);
@import '03-components/post-masthead.meta.css' layer(components);
@import '03-components/projects.css' layer(components);

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

@import '04-utilities/index.css' layer(utilities);

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

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

/* ==========================================
 * VENDOR OVERRIDES LAYER
 * Third-party library and Hugo-generated markup overrides
 * Higher specificity than responsive, avoids !important in components
 * ========================================== */

@import '06-vendor-overrides/hugo-syntax.css' layer(vendor-overrides);
@import '06-vendor-overrides/lightbox-libraries.css' layer(vendor-overrides);

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