first commit

This commit is contained in:
2026-10-07 11:08:05 +09:00
commit 6c7d3cc893
1811 changed files with 572221 additions and 0 deletions
@@ -0,0 +1,8 @@
import { A as AppFooter_vue_vue_type_style_index_0_scoped_3b29a045_inline_used_lang_default } from './entry-styles-1.mjs-CzJNKBbH.mjs';
const AppFooterStyles_CJFLV6sm = [
AppFooter_vue_vue_type_style_index_0_scoped_3b29a045_inline_used_lang_default
];
export { AppFooterStyles_CJFLV6sm as default };
//# sourceMappingURL=AppFooter-styles.CJFLV6sm.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"AppFooter-styles.CJFLV6sm.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/AppFooter-styles.CJFLV6sm.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0]}
@@ -0,0 +1,9 @@
//#region components/CoachingSystem.vue?vue&type=style&index=0&scoped=b904ba0d&inline&used&lang.css
var CoachingSystem_vue_vue_type_style_index_0_scoped_b904ba0d_inline_used_lang_default = ".coaching-section[data-v-b904ba0d]{max-width:1080px;margin:0 auto 50px;padding:0 16px}.coaching-inner[data-v-b904ba0d]{background:var(--coaching-bg,#f1f5f9);border-radius:var(--card-radius,16px);grid-template-columns:1.15fr .85fr;align-items:center;gap:30px;padding:calc(clamp(24px,5vw,44px)) calc(clamp(18px,4vw,36px));display:grid}.coaching-badge[data-v-b904ba0d]{color:var(--primary-color,#1e3a8a);background:#fffc;border-radius:9999px;margin-bottom:12px;padding:5px 12px;font-size:calc(clamp(.78rem,2vw,.88rem));font-weight:700;display:inline-block}.coaching-title[data-v-b904ba0d]{color:var(--text-color,#0f172a);letter-spacing:-.6px;margin-bottom:14px;font-size:calc(clamp(1.3rem,3.8vw,1.95rem));font-weight:800;line-height:1.35}.coaching-title strong[data-v-b904ba0d]{color:var(--primary-color,#1e3a8a)}.coaching-desc[data-v-b904ba0d]{color:#475569;word-break:keep-all;margin-bottom:22px;font-size:calc(clamp(.85rem,2.2vw,.98rem));line-height:1.6}.coaching-points[data-v-b904ba0d]{flex-direction:column;gap:14px;display:flex}.cp-item[data-v-b904ba0d]{align-items:flex-start;gap:12px;display:flex}.cp-icon[data-v-b904ba0d]{flex-shrink:0;font-size:1.4rem}.cp-title[data-v-b904ba0d]{color:var(--text-color,#0f172a);margin-bottom:2px;font-size:calc(clamp(.88rem,2.2vw,.98rem));font-weight:800}.cp-desc[data-v-b904ba0d]{color:#64748b;word-break:keep-all;font-size:calc(clamp(.76rem,1.8vw,.85rem));line-height:1.45}.visual-card[data-v-b904ba0d]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 8px 24px #00000014}.vc-header[data-v-b904ba0d]{border-bottom:1px solid #e2e8f0;margin-bottom:16px;padding-bottom:10px}.vc-tag[data-v-b904ba0d]{color:var(--accent-color,#d97706);letter-spacing:.5px;font-size:.72rem;font-weight:800;display:block}.vc-title[data-v-b904ba0d]{color:#0f172a;font-size:1.05rem;font-weight:800}.timeline-step[data-v-b904ba0d]{gap:12px;margin-bottom:14px;display:flex;position:relative}.step-circle[data-v-b904ba0d]{color:#475569;background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:800;display:flex}.timeline-step.active .step-circle[data-v-b904ba0d]{background:var(--accent-color,#d97706);color:#fff}.timeline-step strong[data-v-b904ba0d]{color:#1e293b;margin-bottom:2px;font-size:.85rem;display:block}.timeline-step p[data-v-b904ba0d]{color:#64748b;word-break:keep-all;font-size:.76rem;line-height:1.4}@media (width<=820px){.coaching-inner[data-v-b904ba0d]{grid-template-columns:1fr}}";
const CoachingSystemStyles_Cdye9kFG = [
CoachingSystem_vue_vue_type_style_index_0_scoped_b904ba0d_inline_used_lang_default
];
export { CoachingSystemStyles_Cdye9kFG as default };
//# sourceMappingURL=CoachingSystem-styles.Cdye9kFG.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"CoachingSystem-styles.Cdye9kFG.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/CoachingSystem-styles-1.mjs-CG6t1zkM.js","../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/CoachingSystem-styles.Cdye9kFG.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}
@@ -0,0 +1,9 @@
//#region components/ConsultForm.vue?vue&type=style&index=0&scoped=34c7312e&inline&used&lang.css
var ConsultForm_vue_vue_type_style_index_0_scoped_34c7312e_inline_used_lang_default = ".consult-section[data-v-34c7312e]{background:0 0;justify-content:center;align-items:center;width:100%;padding:calc(clamp(35px,6vw,65px)) 16px;display:flex}.consult-card[data-v-34c7312e]{box-sizing:border-box;background:#f7fdfd;border:1px solid #99f6e4;border-radius:16px;width:100%;max-width:580px;padding:calc(clamp(24px,5vw,40px)) calc(clamp(20px,4vw,36px));box-shadow:0 10px 30px #0d94881a}.consult-header[data-v-34c7312e]{margin-bottom:24px}.consult-title[data-v-34c7312e]{color:#0f766e;letter-spacing:-.5px;margin-bottom:8px;font-size:calc(clamp(1.45rem,3.5vw,1.85rem));font-weight:800;line-height:1.3}.consult-desc[data-v-34c7312e]{color:#115e59;letter-spacing:-.3px;font-size:calc(clamp(.88rem,2.2vw,.98rem));line-height:1.5}.form-grid[data-v-34c7312e]{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;display:grid}.form-group[data-v-34c7312e]{flex-direction:column;gap:6px;display:flex}.form-group.full-width[data-v-34c7312e]{grid-column:1/-1}.form-label[data-v-34c7312e]{color:#134e4a;letter-spacing:-.3px;font-size:.88rem;font-weight:700}.form-input[data-v-34c7312e],.form-select[data-v-34c7312e],.form-textarea[data-v-34c7312e]{color:#1e293b;box-sizing:border-box;background:#fff;border:1px solid #ccfbf1;border-radius:12px;outline:none;width:100%;padding:12px 14px;font-family:inherit;font-size:.95rem;transition:all .2s}.form-input[data-v-34c7312e]::-moz-placeholder{color:#94a3b8;font-size:.9rem}.form-textarea[data-v-34c7312e]::-moz-placeholder{color:#94a3b8;font-size:.9rem}.form-input[data-v-34c7312e]::placeholder,.form-textarea[data-v-34c7312e]::placeholder{color:#94a3b8;font-size:.9rem}.form-input[data-v-34c7312e]:focus,.form-select[data-v-34c7312e]:focus,.form-textarea[data-v-34c7312e]:focus{background:#fff;border-color:#0d9488;box-shadow:0 0 0 3px #0d948833}.select-wrap[data-v-34c7312e]{width:100%;position:relative}.form-select[data-v-34c7312e]{appearance:none;cursor:pointer;background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20fill%3D%22none%22%20stroke%3D%22%2364748b%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E);background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}.form-textarea[data-v-34c7312e]{resize:vertical;min-height:90px;line-height:1.5}.privacy-wrap[data-v-34c7312e]{margin-bottom:22px}.privacy-label[data-v-34c7312e]{color:#0f766e;cursor:pointer;align-items:flex-start;gap:10px;font-size:.82rem;line-height:1.45;display:flex}.privacy-checkbox[data-v-34c7312e]{cursor:pointer;accent-color:#0d9488;width:16px;height:16px;margin-top:3px}.button-group[data-v-34c7312e]{flex-direction:column;gap:12px;display:flex}.btn-submit[data-v-34c7312e]{color:#fff;cursor:pointer;letter-spacing:-.3px;background:#0d9488;border:none;border-radius:12px;width:100%;padding:16px 20px;font-size:1.08rem;font-weight:800;transition:all .2s;box-shadow:0 4px 14px #0000001f}.btn-submit[data-v-34c7312e]:hover:not(:disabled){background:#0f766e;transform:translateY(-1px);box-shadow:0 6px 18px #00000029}.btn-submit[data-v-34c7312e]:disabled{opacity:.7;cursor:not-allowed}.btn-call[data-v-34c7312e]{text-align:center;color:#0f766e;cursor:pointer;letter-spacing:-.3px;box-sizing:border-box;background:#f0fdfa;border:2px solid #0d9488;border-radius:12px;width:100%;padding:15px 20px;font-size:1.02rem;font-weight:800;text-decoration:none;transition:all .2s;display:block}.btn-call[data-v-34c7312e]:hover{background:#ccfbf1}.success-box[data-v-34c7312e]{text-align:center;padding:40px 20px}.success-title[data-v-34c7312e]{color:#0f766e;margin-bottom:12px;font-size:1.25rem;font-weight:800}.success-desc[data-v-34c7312e]{color:#475569;margin-bottom:24px;font-size:.95rem;line-height:1.6}.btn-reset[data-v-34c7312e]{color:#0d9488;cursor:pointer;background:0 0;border:1px solid #0d9488;border-radius:8px;padding:10px 24px;font-size:.9rem;font-weight:700}@media (width<=520px){.form-grid[data-v-34c7312e]{grid-template-columns:1fr;gap:14px}}";
const ConsultFormStyles_Ct4bwKG = [
ConsultForm_vue_vue_type_style_index_0_scoped_34c7312e_inline_used_lang_default
];
export { ConsultFormStyles_Ct4bwKG as default };
//# sourceMappingURL=ConsultForm-styles.Ct4bwK-g.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"ConsultForm-styles.Ct4bwK-g.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/ConsultForm-styles-1.mjs-Bbv0Uv9k.js","../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/ConsultForm-styles.Ct4bwK-g.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}
@@ -0,0 +1,9 @@
//#region components/FaqAccordion.vue?vue&type=style&index=0&scoped=b60d9732&inline&used&lang.css
var FaqAccordion_vue_vue_type_style_index_0_scoped_b60d9732_inline_used_lang_default = ".faq-section[data-v-b60d9732]{max-width:860px;margin:0 auto 50px;padding:0 16px}.section-header[data-v-b60d9732]{text-align:center;margin-bottom:28px}.section-badge[data-v-b60d9732]{color:var(--primary-color,#1e3a8a);background:var(--badge-bg,#1e3a8a14);border-radius:9999px;margin-bottom:8px;padding:5px 12px;font-size:calc(clamp(.78rem,2vw,.88rem));font-weight:700;display:inline-block}.section-title[data-v-b60d9732]{color:var(--text-color,#1e293b);letter-spacing:-.6px;word-break:keep-all;font-size:calc(clamp(1.3rem,3.8vw,1.95rem));font-weight:800;line-height:1.35}.section-desc[data-v-b60d9732]{color:#64748b;word-break:keep-all;margin-top:6px;font-size:calc(clamp(.85rem,2.2vw,.98rem))}.faq-list[data-v-b60d9732]{flex-direction:column;gap:12px;display:flex}.faq-item[data-v-b60d9732]{background:var(--bg-card,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:var(--card-radius,12px);overflow:hidden;box-shadow:0 2px 8px #00000008}.faq-question[data-v-b60d9732]{text-align:left;cursor:pointer;width:100%;color:var(--text-color,#0f172a);background:0 0;border:none;gap:12px;padding:calc(clamp(14px,3vw,18px));font-size:calc(clamp(.9rem,2.2vw,1.02rem));font-weight:800}.faq-question[data-v-b60d9732],.q-icon[data-v-b60d9732]{align-items:center;display:flex}.q-icon[data-v-b60d9732]{background:var(--primary-color,#1e3a8a);color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;width:26px;height:26px;font-size:.85rem;font-weight:900}.q-text[data-v-b60d9732]{word-break:keep-all;flex-grow:1;line-height:1.45}.toggle-icon[data-v-b60d9732]{color:#94a3b8;flex-shrink:0;font-size:.8rem}.faq-answer[data-v-b60d9732]{border-top:1px solid var(--border-color,#f1f5f9);background:#f8fafc;gap:12px;padding:0 calc(clamp(14px,3vw,18px)) calc(clamp(16px,3vw,20px));display:flex}.a-icon[data-v-b60d9732]{background:var(--accent-color,#d97706);color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:12px;font-size:.85rem;font-weight:900;display:flex}.a-text[data-v-b60d9732]{color:#334155;word-break:keep-all;margin-top:12px;font-size:calc(clamp(.82rem,2vw,.92rem));line-height:1.65}";
const FaqAccordionStyles_DAcJkXd4 = [
FaqAccordion_vue_vue_type_style_index_0_scoped_b60d9732_inline_used_lang_default
];
export { FaqAccordionStyles_DAcJkXd4 as default };
//# sourceMappingURL=FaqAccordion-styles.DAcJkXd4.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"FaqAccordion-styles.DAcJkXd4.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/FaqAccordion-styles-1.mjs-DdvnJwjo.js","../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/FaqAccordion-styles.DAcJkXd4.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}
@@ -0,0 +1,9 @@
//#region components/HeroBanner.vue?vue&type=style&index=0&scoped=e180d4a0&inline&used&lang.css
var HeroBanner_vue_vue_type_style_index_0_scoped_e180d4a0_inline_used_lang_default = ".hero-banner[data-v-e180d4a0]{background:var(--hero-gradient,linear-gradient(135deg,#0f172a 0,#1e3a8a 100%));color:#fff;text-align:center;padding:calc(clamp(40px,8vw,80px)) 16px calc(clamp(35px,6vw,60px));position:relative;overflow:hidden;box-shadow:0 4px 20px #00000026}.hero-banner[data-v-e180d4a0]:before{content:\"\";pointer-events:none;background:radial-gradient(circle at 50% 20%,#d9770626,#0000 60%);position:absolute;inset:0}.hero-container[data-v-e180d4a0]{z-index:1;max-width:900px;margin:0 auto;position:relative}.hero-badge-wrap[data-v-e180d4a0]{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:20px;display:flex}.hero-badge[data-v-e180d4a0]{background:var(--accent-color,#d97706);color:#fff;letter-spacing:-.3px;padding:6px 14px;font-size:calc(clamp(.78rem,2.2vw,.9rem));font-weight:700}.hero-badge[data-v-e180d4a0],.hero-subbadge[data-v-e180d4a0]{border-radius:9999px;display:inline-block}.hero-subbadge[data-v-e180d4a0]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#e2e8f0;background:#ffffff26;padding:6px 12px;font-size:calc(clamp(.75rem,2vw,.85rem))}.hero-title[data-v-e180d4a0]{word-break:keep-all;letter-spacing:-.8px;margin-bottom:18px;font-size:calc(clamp(1.65rem,5vw,2.85rem));font-weight:900;line-height:1.3}.region-highlight[data-v-e180d4a0]{color:var(--hero-region-color,#cbd5e1);font-size:.85em;font-weight:700}.subject-highlight[data-v-e180d4a0]{color:var(--accent-light,#fbbf24);text-underline-offset:6px;text-decoration:underline}.hero-desc[data-v-e180d4a0]{color:#e2e8f0;word-break:keep-all;margin-bottom:30px;font-size:calc(clamp(.92rem,2.6vw,1.15rem));line-height:1.65}.hero-cta-group[data-v-e180d4a0]{flex-direction:column;align-items:center;gap:14px;margin-bottom:26px;display:flex}.btn-hero-primary[data-v-e180d4a0]{color:#fff;background:var(--hero-btn-bg,linear-gradient(135deg,#d97706 0,#b45309 100%));border-radius:var(--card-radius,12px);justify-content:center;align-items:center;width:100%;max-width:480px;min-height:48px;padding:calc(clamp(14px,3.5vw,18px)) calc(clamp(20px,5vw,36px));font-size:calc(clamp(.95rem,2.8vw,1.2rem));font-weight:800;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 8px 24px #d9770659}.btn-hero-primary[data-v-e180d4a0]:hover{transform:translateY(-2px);box-shadow:0 12px 28px #d9770673}.hero-call-info[data-v-e180d4a0]{color:#cbd5e1;align-items:center;gap:6px;font-size:calc(clamp(.85rem,2.2vw,.95rem));display:flex}.hero-call-info strong[data-v-e180d4a0]{color:#fff;font-size:1.1em}.hero-tags[data-v-e180d4a0]{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.tag-item[data-v-e180d4a0]{color:#cbd5e1;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;padding:4px 10px;font-size:calc(clamp(.72rem,1.8vw,.82rem))}";
const HeroBannerStyles_CvIa3HUq = [
HeroBanner_vue_vue_type_style_index_0_scoped_e180d4a0_inline_used_lang_default
];
export { HeroBannerStyles_CvIa3HUq as default };
//# sourceMappingURL=HeroBanner-styles.CvIa3HUq.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"HeroBanner-styles.CvIa3HUq.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/HeroBanner-styles-1.mjs-CBpJALnR.js","../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/HeroBanner-styles.CvIa3HUq.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}
@@ -0,0 +1,9 @@
//#region components/NearbySchools.vue?vue&type=style&index=0&scoped=3f609b93&inline&used&lang.css
var NearbySchools_vue_vue_type_style_index_0_scoped_3f609b93_inline_used_lang_default = ".schools-section[data-v-3f609b93]{max-width:1080px;margin:0 auto 50px;padding:0 16px}.section-header[data-v-3f609b93]{text-align:center;margin-bottom:30px}.section-badge[data-v-3f609b93]{color:var(--primary-color,#1e3a8a);background:var(--badge-bg,#1e3a8a14);border-radius:9999px;margin-bottom:8px;padding:5px 12px;font-size:calc(clamp(.78rem,2vw,.88rem));font-weight:700;display:inline-block}.section-title[data-v-3f609b93]{color:var(--text-color,#1e293b);letter-spacing:-.6px;word-break:keep-all;font-size:calc(clamp(1.3rem,3.8vw,1.95rem));font-weight:800;line-height:1.35}.section-desc[data-v-3f609b93]{color:#64748b;word-break:keep-all;max-width:720px;margin-top:8px;margin-left:auto;margin-right:auto;font-size:calc(clamp(.85rem,2.2vw,.98rem))}.schools-grid[data-v-3f609b93]{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.school-card[data-v-3f609b93]{background:var(--bg-card,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:var(--card-radius,14px);padding:calc(clamp(18px,3.5vw,26px));position:relative;box-shadow:0 4px 14px #0000000a}.school-type-badge[data-v-3f609b93]{border-radius:4px;margin-bottom:10px;padding:3px 8px;font-size:.75rem;font-weight:700;display:inline-block}.school-type-badge.middle[data-v-3f609b93]{color:#0369a1;background:#e0f2fe}.school-type-badge.high[data-v-3f609b93]{color:#b45309;background:#fef3c7}.school-type-badge.elem[data-v-3f609b93]{color:#475569;background:#f1f5f9}.school-name[data-v-3f609b93]{color:var(--text-color,#0f172a);letter-spacing:-.4px;margin-bottom:10px;font-size:calc(clamp(1.05rem,2.6vw,1.25rem));font-weight:800}.school-focus[data-v-3f609b93]{color:#334155;border-bottom:1px dashed var(--border-color,#e2e8f0);word-break:keep-all;margin-bottom:14px;padding-bottom:12px;font-size:calc(clamp(.82rem,2vw,.92rem));line-height:1.6}.school-checklist[data-v-3f609b93]{flex-direction:column;gap:8px;list-style:none;display:flex}.school-checklist li[data-v-3f609b93]{color:#475569;word-break:keep-all;font-size:calc(clamp(.8rem,2vw,.9rem));line-height:1.5}@media (width<=640px){.schools-grid[data-v-3f609b93]{grid-template-columns:1fr}}";
const NearbySchoolsStyles_C57PEwif = [
NearbySchools_vue_vue_type_style_index_0_scoped_3f609b93_inline_used_lang_default
];
export { NearbySchoolsStyles_C57PEwif as default };
//# sourceMappingURL=NearbySchools-styles.C57PEwif.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"NearbySchools-styles.C57PEwif.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/NearbySchools-styles-1.mjs-BJEoqjx7.js","../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/NearbySchools-styles.C57PEwif.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}
@@ -0,0 +1,9 @@
//#region components/ProcessGuide.vue?vue&type=style&index=0&scoped=686ff019&inline&used&lang.css
var ProcessGuide_vue_vue_type_style_index_0_scoped_686ff019_inline_used_lang_default = ".process-section[data-v-686ff019]{max-width:1080px;margin:0 auto 50px;padding:0 16px}.section-header[data-v-686ff019]{text-align:center;margin-bottom:28px}.section-badge[data-v-686ff019]{color:var(--primary-color,#1e3a8a);background:var(--badge-bg,#1e3a8a14);border-radius:9999px;margin-bottom:8px;padding:5px 12px;font-size:calc(clamp(.78rem,2vw,.88rem));font-weight:700;display:inline-block}.section-title[data-v-686ff019]{color:var(--text-color,#1e293b);letter-spacing:-.6px;word-break:keep-all;font-size:calc(clamp(1.3rem,3.8vw,1.95rem));font-weight:800;line-height:1.35}.section-desc[data-v-686ff019]{color:#64748b;word-break:keep-all;margin-top:6px;font-size:calc(clamp(.85rem,2.2vw,.98rem))}.process-flow[data-v-686ff019]{background:var(--bg-card,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:var(--card-radius,16px);justify-content:space-between;align-items:center;gap:10px;padding:calc(clamp(20px,4vw,32px)) calc(clamp(16px,3vw,24px));display:flex;box-shadow:0 4px 14px #0000000a}.flow-step[data-v-686ff019]{text-align:center;flex:1}.step-num-circle[data-v-686ff019]{background:var(--primary-color,#1e3a8a);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;margin:0 auto 12px;font-size:1.1rem;font-weight:900;display:flex}.flow-step.highlight .step-num-circle[data-v-686ff019]{background:var(--accent-color,#d97706)}.step-label[data-v-686ff019]{color:var(--text-color,#0f172a);word-break:keep-all;margin-bottom:6px;font-size:calc(clamp(.88rem,2.2vw,1rem));font-weight:800}.step-desc[data-v-686ff019]{color:#64748b;word-break:keep-all;font-size:calc(clamp(.74rem,1.8vw,.82rem));line-height:1.45}.flow-arrow[data-v-686ff019]{color:#cbd5e1;font-size:1.2rem;font-weight:900}@media (width<=768px){.process-flow[data-v-686ff019]{flex-direction:column;gap:18px}.flow-arrow[data-v-686ff019]{transform:rotate(90deg)}}";
const ProcessGuideStyles_Biu6P_Tv = [
ProcessGuide_vue_vue_type_style_index_0_scoped_686ff019_inline_used_lang_default
];
export { ProcessGuideStyles_Biu6P_Tv as default };
//# sourceMappingURL=ProcessGuide-styles.Biu6P_Tv.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"ProcessGuide-styles.Biu6P_Tv.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/ProcessGuide-styles-1.mjs-Olz3Llhe.js","../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/ProcessGuide-styles.Biu6P_Tv.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}
@@ -0,0 +1,9 @@
//#region components/QuickMetrics.vue?vue&type=style&index=0&scoped=21ea3ae5&inline&used&lang.css
var QuickMetrics_vue_vue_type_style_index_0_scoped_21ea3ae5_inline_used_lang_default = ".metrics-section[data-v-21ea3ae5]{z-index:2;max-width:1080px;margin:-24px auto 40px;padding:0 16px;position:relative}.metrics-grid[data-v-21ea3ae5]{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.metric-card[data-v-21ea3ae5]{background:var(--bg-card,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:var(--card-radius,12px);text-align:center;padding:calc(clamp(14px,2.5vw,20px)) 10px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 16px #0000000f}.metric-card[data-v-21ea3ae5]:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.metric-icon[data-v-21ea3ae5]{margin-bottom:4px;font-size:calc(clamp(1.2rem,3vw,1.6rem))}.metric-num[data-v-21ea3ae5]{color:var(--primary-color,#1e3a8a);letter-spacing:-.5px;font-size:calc(clamp(1.15rem,3.2vw,1.8rem));font-weight:900;line-height:1.2}.metric-label[data-v-21ea3ae5]{color:var(--text-color,#1e293b);word-break:keep-all;margin-top:4px;font-size:calc(clamp(.75rem,2vw,.88rem));font-weight:700}.metric-sub[data-v-21ea3ae5]{color:#64748b;word-break:keep-all;margin-top:2px;font-size:calc(clamp(.68rem,1.7vw,.78rem))}@media (width<=768px){.metrics-grid[data-v-21ea3ae5]{grid-template-columns:repeat(2,1fr);gap:10px}}@media (width<=320px){.metrics-grid[data-v-21ea3ae5]{grid-template-columns:1fr;gap:8px}}";
const QuickMetricsStyles_C4BIqcXM = [
QuickMetrics_vue_vue_type_style_index_0_scoped_21ea3ae5_inline_used_lang_default
];
export { QuickMetricsStyles_C4BIqcXM as default };
//# sourceMappingURL=QuickMetrics-styles.C4BIqcXM.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"QuickMetrics-styles.C4BIqcXM.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/QuickMetrics-styles-1.mjs-CletefM0.js","../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/QuickMetrics-styles.C4BIqcXM.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}
@@ -0,0 +1,9 @@
//#region components/SubjectMastery.vue?vue&type=style&index=0&scoped=86323762&inline&used&lang.css
var SubjectMastery_vue_vue_type_style_index_0_scoped_86323762_inline_used_lang_default = ".mastery-section[data-v-86323762]{max-width:1080px;margin:0 auto 50px;padding:0 16px}.section-header[data-v-86323762]{text-align:center;margin-bottom:28px}.section-badge[data-v-86323762]{color:var(--primary-color,#1e3a8a);background:var(--badge-bg,#1e3a8a14);border-radius:9999px;margin-bottom:8px;padding:5px 12px;font-size:calc(clamp(.78rem,2vw,.88rem));font-weight:700;display:inline-block}.section-title[data-v-86323762]{color:var(--text-color,#1e293b);letter-spacing:-.6px;word-break:keep-all;font-size:calc(clamp(1.3rem,3.8vw,1.95rem));font-weight:800;line-height:1.35}.section-desc[data-v-86323762]{color:#64748b;word-break:keep-all;margin-top:6px;font-size:calc(clamp(.85rem,2.2vw,.98rem))}.grade-focus-grid[data-v-86323762]{grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:30px;display:grid}.grade-focus-card[data-v-86323762]{background:var(--bg-card,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:var(--card-radius,14px);flex-direction:column;padding:calc(clamp(18px,3.5vw,24px));display:flex;box-shadow:0 4px 14px #0000000a}.grade-header[data-v-86323762]{margin-bottom:12px}.grade-pill[data-v-86323762]{color:#fff;background:var(--primary-color,#1e3a8a);border-radius:9999px;margin-bottom:6px;padding:3px 10px;font-size:.75rem;font-weight:800;display:inline-block}.grade-pill.accent-pill[data-v-86323762]{background:var(--accent-color,#d97706)}.focus-title[data-v-86323762]{color:var(--text-color,#0f172a);letter-spacing:-.4px;font-size:calc(clamp(1.02rem,2.5vw,1.2rem));font-weight:800}.exam-pattern-box[data-v-86323762]{border-left:3px solid var(--accent-color,#d97706);color:#334155;word-break:keep-all;background:#f8fafc;border-radius:4px;margin-bottom:14px;padding:10px 12px;font-size:calc(clamp(.78rem,2vw,.86rem));line-height:1.55}.badge-tag[data-v-86323762]{color:var(--accent-color,#d97706);margin-bottom:3px;font-size:.82em;font-weight:800;display:block}.points-list[data-v-86323762]{flex-direction:column;gap:10px;list-style:none;display:flex}.points-list li[data-v-86323762]{color:#475569;word-break:keep-all;align-items:flex-start;gap:8px;font-size:calc(clamp(.8rem,2vw,.88rem));line-height:1.5;display:flex}.check-icon[data-v-86323762]{color:#10b981;flex-shrink:0;font-weight:900}.roadmap-steps[data-v-86323762]{flex-direction:column;gap:12px;margin-top:6px;display:flex}.rm-step[data-v-86323762]{align-items:flex-start;gap:10px;display:flex}.rm-badge[data-v-86323762]{color:var(--primary-color,#1e3a8a);background:#1e3a8a14;border-radius:4px;flex-shrink:0;margin-top:2px;padding:2px 6px;font-size:.7rem;font-weight:800}.rm-step strong[data-v-86323762]{color:#1e293b;margin-bottom:2px;font-size:.86rem;display:block}.rm-step p[data-v-86323762]{color:#64748b;word-break:keep-all;font-size:.78rem;line-height:1.45}.skills-wrap[data-v-86323762]{background:var(--skills-bg,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:var(--card-radius,14px);padding:calc(clamp(20px,4vw,30px))}.skills-title[data-v-86323762]{color:var(--text-color,#0f172a);text-align:center;letter-spacing:-.4px;margin-bottom:20px;font-size:calc(clamp(1.05rem,2.8vw,1.3rem));font-weight:800}.skills-grid[data-v-86323762]{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.skill-item[data-v-86323762]{border:1px solid var(--border-color,#e2e8f0);background:#fff;border-radius:10px;padding:16px;box-shadow:0 2px 8px #00000008}.skill-num[data-v-86323762]{color:var(--accent-color,#d97706);margin-bottom:4px;font-size:1.1rem;font-weight:900}.skill-name[data-v-86323762]{color:var(--text-color,#1e293b);margin-bottom:6px;font-size:calc(clamp(.9rem,2.2vw,1rem));font-weight:800}.skill-desc[data-v-86323762]{color:#64748b;word-break:keep-all;font-size:calc(clamp(.78rem,1.9vw,.85rem));line-height:1.5}@media (width<=768px){.grade-focus-grid[data-v-86323762],.skills-grid[data-v-86323762]{grid-template-columns:1fr}}";
const SubjectMasteryStyles_DiHpurSx = [
SubjectMastery_vue_vue_type_style_index_0_scoped_86323762_inline_used_lang_default
];
export { SubjectMasteryStyles_DiHpurSx as default };
//# sourceMappingURL=SubjectMastery-styles.DiHpurSx.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"SubjectMastery-styles.DiHpurSx.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/SubjectMastery-styles-1.mjs-DxpJWvI3.js","../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/SubjectMastery-styles.DiHpurSx.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}
@@ -0,0 +1,9 @@
//#region components/SuccessStories.vue?vue&type=style&index=0&scoped=c02790d7&inline&used&lang.css
var SuccessStories_vue_vue_type_style_index_0_scoped_c02790d7_inline_used_lang_default = ".stories-section[data-v-c02790d7]{max-width:1080px;margin:0 auto 50px;padding:0 16px}.section-header[data-v-c02790d7]{text-align:center;margin-bottom:28px}.section-badge[data-v-c02790d7]{color:var(--primary-color,#1e3a8a);background:var(--badge-bg,#1e3a8a14);border-radius:9999px;margin-bottom:8px;padding:5px 12px;font-size:calc(clamp(.78rem,2vw,.88rem));font-weight:700;display:inline-block}.section-title[data-v-c02790d7]{color:var(--text-color,#1e293b);letter-spacing:-.6px;word-break:keep-all;font-size:calc(clamp(1.3rem,3.8vw,1.95rem));font-weight:800;line-height:1.35}.section-desc[data-v-c02790d7]{color:#64748b;word-break:keep-all;margin-top:6px;font-size:calc(clamp(.85rem,2.2vw,.98rem))}.stories-grid[data-v-c02790d7]{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.story-card[data-v-c02790d7]{background:var(--bg-card,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:var(--card-radius,14px);flex-direction:column;justify-content:space-between;padding:calc(clamp(18px,3vw,24px));display:flex;box-shadow:0 4px 14px #0000000a}.story-top[data-v-c02790d7]{margin-bottom:12px}.student-info[data-v-c02790d7]{color:#475569;margin-bottom:6px;font-size:calc(clamp(.82rem,2vw,.9rem));font-weight:800;display:block}.grade-jump[data-v-c02790d7]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.before[data-v-c02790d7]{color:#94a3b8;font-size:.82rem;text-decoration:line-through}.arrow[data-v-c02790d7]{color:var(--accent-color,#d97706)}.after[data-v-c02790d7],.arrow[data-v-c02790d7]{font-weight:900}.after[data-v-c02790d7]{color:var(--primary-color,#1e3a8a);font-size:calc(clamp(.95rem,2.4vw,1.1rem))}.story-review[data-v-c02790d7]{color:#334155;word-break:keep-all;flex-grow:1;margin-bottom:14px;font-size:calc(clamp(.82rem,2vw,.92rem));line-height:1.6}.story-sub[data-v-c02790d7]{color:#94a3b8;border-top:1px dashed var(--border-color,#e2e8f0);padding-top:10px;font-size:.75rem}@media (width<=820px){.stories-grid[data-v-c02790d7]{grid-template-columns:1fr}}";
const SuccessStoriesStyles_DsOt6tgx = [
SuccessStories_vue_vue_type_style_index_0_scoped_c02790d7_inline_used_lang_default
];
export { SuccessStoriesStyles_DsOt6tgx as default };
//# sourceMappingURL=SuccessStories-styles.DsOt6tgx.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"SuccessStories-styles.DsOt6tgx.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/SuccessStories-styles-1.mjs-BZOEicK_.js","../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/SuccessStories-styles.DsOt6tgx.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}
@@ -0,0 +1,9 @@
//#region components/TeacherVerification.vue?vue&type=style&index=0&scoped=3a1b2ceb&inline&used&lang.css
var TeacherVerification_vue_vue_type_style_index_0_scoped_3a1b2ceb_inline_used_lang_default = ".teacher-section[data-v-3a1b2ceb]{max-width:1080px;margin:0 auto 50px;padding:0 16px}.section-header[data-v-3a1b2ceb]{text-align:center;margin-bottom:28px}.section-badge[data-v-3a1b2ceb]{color:var(--primary-color,#1e3a8a);background:var(--badge-bg,#1e3a8a14);border-radius:9999px;margin-bottom:8px;padding:5px 12px;font-size:calc(clamp(.78rem,2vw,.88rem));font-weight:700;display:inline-block}.section-title[data-v-3a1b2ceb]{color:var(--text-color,#1e293b);letter-spacing:-.6px;word-break:keep-all;font-size:calc(clamp(1.3rem,3.8vw,1.95rem));font-weight:800;line-height:1.35}.section-desc[data-v-3a1b2ceb]{color:#64748b;word-break:keep-all;max-width:680px;margin-top:6px;margin-left:auto;margin-right:auto;font-size:calc(clamp(.85rem,2.2vw,.98rem))}.steps-grid[data-v-3a1b2ceb]{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.step-card[data-v-3a1b2ceb]{background:var(--bg-card,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:var(--card-radius,14px);text-align:center;padding:calc(clamp(16px,3vw,22px)) 14px;box-shadow:0 3px 12px #0000000a}.step-badge[data-v-3a1b2ceb]{color:var(--accent-color,#d97706);background:#d977061a;border-radius:4px;margin-bottom:8px;padding:2px 8px;font-size:.72rem;font-weight:800;display:inline-block}.step-icon[data-v-3a1b2ceb]{margin-bottom:8px;font-size:2rem}.step-title[data-v-3a1b2ceb]{color:var(--text-color,#0f172a);word-break:keep-all;margin-bottom:6px;font-size:calc(clamp(.92rem,2.2vw,1.05rem));font-weight:800}.step-desc[data-v-3a1b2ceb]{color:#64748b;word-break:keep-all;font-size:calc(clamp(.75rem,1.8vw,.84rem));line-height:1.5}@media (width<=768px){.steps-grid[data-v-3a1b2ceb]{grid-template-columns:repeat(2,1fr)}}@media (width<=360px){.steps-grid[data-v-3a1b2ceb]{grid-template-columns:1fr}}";
const TeacherVerificationStyles_CY_h0OMc = [
TeacherVerification_vue_vue_type_style_index_0_scoped_3a1b2ceb_inline_used_lang_default
];
export { TeacherVerificationStyles_CY_h0OMc as default };
//# sourceMappingURL=TeacherVerification-styles.CY_h0OMc.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"TeacherVerification-styles.CY_h0OMc.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/TeacherVerification-styles-1.mjs-DoOVuhR1.js","../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/TeacherVerification-styles.CY_h0OMc.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}
@@ -0,0 +1,100 @@
import { _ as _plugin_vue_export_helper_default, u as useHead, a as useRuntimeConfig } from '../virtual/entry.mjs';
import { p as parseRouteSlug, g as generateSeoMeta, H as HeroBanner_default, Q as QuickMetrics_default, N as NearbySchools_default, S as SubjectMastery_default, T as TeacherVerification_default, C as CoachingSystem_default, a as SuccessStories_default, P as ProcessGuide_default, F as FaqAccordion_default, b as ConsultForm_default, c as getCurriculumBySubject } from './seoHelper-DQbR3QHZ.mjs';
import { mergeProps, unref, useSSRContext } from 'vue';
import { useRoute } from 'vue-router';
import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent } from 'vue/server-renderer';
import './nitro.mjs';
import 'unhead/server';
import 'unhead/legacy';
import 'unhead/plugins';
import 'node:http';
import 'node:https';
import 'node:events';
import 'node:buffer';
import 'node:fs';
import 'node:path';
import 'node:crypto';
import 'node:url';
import '../routes/renderer.mjs';
import 'nostics';
import 'vue-bundle-renderer/runtime';
import 'devalue';
//#region pages/[...slug].vue
var _sfc_main = {
__name: "[...slug]",
__ssrInlineRender: true,
setup(__props) {
const route = useRoute();
const config = useRuntimeConfig();
const slug = route.params.slug;
const parsed = parseRouteSlug(slug);
const curriculum = getCurriculumBySubject(parsed.subjectKey);
const seo = generateSeoMeta(parsed, config.public.siteName, config.public.siteDomain);
useHead({
title: seo.title,
meta: seo.meta,
link: seo.link,
script: seo.script
});
return (_ctx, _push, _parent, _attrs) => {
const _component_HeroBanner = HeroBanner_default;
const _component_QuickMetrics = QuickMetrics_default;
const _component_NearbySchools = NearbySchools_default;
const _component_SubjectMastery = SubjectMastery_default;
const _component_TeacherVerification = TeacherVerification_default;
const _component_CoachingSystem = CoachingSystem_default;
const _component_SuccessStories = SuccessStories_default;
const _component_ProcessGuide = ProcessGuide_default;
const _component_FaqAccordion = FaqAccordion_default;
const _component_ConsultForm = ConsultForm_default;
_push(`<div${ssrRenderAttrs(mergeProps({ class: "landing-page-wrap" }, _attrs))} data-v-81d99cec><div class="ad-location-bar" data-v-81d99cec><span class="loc-badge-tag" data-v-81d99cec>[지역센터]</span><span class="loc-text" data-v-81d99cec>${ssrInterpolate(unref(parsed).shortRegionName)} (${ssrInterpolate(unref(parsed).sigungu)}) 관내 초·중·고 전담</span><span class="loc-tag" data-v-81d99cec>1:1 맞춤 배정 센터</span></div>`);
_push(ssrRenderComponent(_component_HeroBanner, {
region: unref(parsed).region,
shortRegionName: unref(parsed).shortRegionName,
grade: unref(parsed).grade,
subjectName: unref(parsed).subjectName
}, null, _parent));
_push(ssrRenderComponent(_component_QuickMetrics, { regionDong: unref(parsed).dong }, null, _parent));
_push(ssrRenderComponent(_component_NearbySchools, {
regionDong: unref(parsed).dong,
grade: unref(parsed).grade,
subjectName: unref(parsed).subjectName
}, null, _parent));
_push(ssrRenderComponent(_component_SubjectMastery, {
regionDong: unref(parsed).dong,
grade: unref(parsed).grade,
curriculum: unref(curriculum)
}, null, _parent));
_push(ssrRenderComponent(_component_TeacherVerification, null, null, _parent));
_push(ssrRenderComponent(_component_CoachingSystem, null, null, _parent));
_push(ssrRenderComponent(_component_SuccessStories, {
regionDong: unref(parsed).dong,
grade: unref(parsed).grade,
subjectName: unref(parsed).subjectName
}, null, _parent));
_push(ssrRenderComponent(_component_ProcessGuide, null, null, _parent));
_push(ssrRenderComponent(_component_FaqAccordion, {
regionDong: unref(parsed).dong,
grade: unref(parsed).grade,
subjectName: unref(parsed).subjectName
}, null, _parent));
_push(ssrRenderComponent(_component_ConsultForm, {
regionName: unref(parsed).shortRegionName,
defaultGrade: unref(parsed).grade,
defaultSubject: unref(parsed).subjectName
}, null, _parent));
_push(`</div>`);
};
}
};
var _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/[...slug].vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
var ____slug__default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["__scopeId", "data-v-81d99cec"]]);
export { ____slug__default as default };
//# sourceMappingURL=_...slug_-04SgMKVj.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"_...slug_-04SgMKVj.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/_...slug_-04SgMKVj.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}
@@ -0,0 +1,9 @@
//#region pages/[...slug].vue?vue&type=style&index=0&scoped=81d99cec&inline&used&lang.css
var ____slug__vue_vue_type_style_index_0_scoped_81d99cec_inline_used_lang_default = ".landing-page-wrap[data-v-81d99cec]{width:100%;overflow-x:hidden}.ad-location-bar[data-v-81d99cec]{color:#334155;flex-wrap:wrap;align-items:center;gap:8px;max-width:1080px;margin:10px auto;padding:8px 16px;font-size:calc(clamp(.78rem,2vw,.88rem));display:flex}.loc-pin[data-v-81d99cec]{font-size:1rem}.loc-text[data-v-81d99cec]{font-weight:700}.loc-tag[data-v-81d99cec],.loc-text[data-v-81d99cec]{color:var(--primary-color,#1e3a8a)}.loc-tag[data-v-81d99cec]{background:var(--badge-bg,#1e3a8a14);border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:800}";
const ____slug_Styles_CT2yr3kk = [
____slug__vue_vue_type_style_index_0_scoped_81d99cec_inline_used_lang_default
];
export { ____slug_Styles_CT2yr3kk as default };
//# sourceMappingURL=_...slug_-styles.CT2yr3kk.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"_...slug_-styles.CT2yr3kk.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/_...slug_-styles-1.mjs-BtpLjWAQ.js","../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/_...slug_-styles.CT2yr3kk.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}
@@ -0,0 +1,8 @@
import { a as app_vue_vue_type_style_index_0_inline_used_lang_default } from './entry-styles-2.mjs-BVOYfNT6.mjs';
const appStyles_Cw0M3vbz = [
app_vue_vue_type_style_index_0_inline_used_lang_default
];
export { appStyles_Cw0M3vbz as default };
//# sourceMappingURL=app-styles.Cw0M3vbz.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"app-styles.Cw0M3vbz.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/app-styles.Cw0M3vbz.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0]}
@@ -0,0 +1,5 @@
//#region components/AppFooter.vue?vue&type=style&index=0&scoped=3b29a045&inline&used&lang.css
var AppFooter_vue_vue_type_style_index_0_scoped_3b29a045_inline_used_lang_default = ".site-footer[data-v-3b29a045]{background:var(--footer-bg,#0f172a);color:#94a3b8;border-top:1px solid #ffffff14;padding:calc(clamp(30px,5vw,50px)) 16px;font-size:calc(clamp(.72rem,1.8vw,.82rem))}.footer-container[data-v-3b29a045]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;max-width:1080px;margin:0 auto;display:flex}.footer-info[data-v-3b29a045]{flex:500px}.footer-brand[data-v-3b29a045]{color:#fff;margin-bottom:8px;font-size:calc(clamp(1rem,2.4vw,1.15rem));font-weight:800}.footer-meta[data-v-3b29a045]{word-break:keep-all;margin-bottom:12px;line-height:1.6}.footer-copy[data-v-3b29a045]{color:#64748b}.footer-links[data-v-3b29a045]{flex-shrink:0;align-items:center;gap:10px;display:flex}.f-link[data-v-3b29a045]{color:#cbd5e1}.f-divider[data-v-3b29a045]{color:#475569}@media (width<=640px){.footer-container[data-v-3b29a045]{flex-direction:column;gap:16px}}";
export { AppFooter_vue_vue_type_style_index_0_scoped_3b29a045_inline_used_lang_default as A };
//# sourceMappingURL=entry-styles-1.mjs-CzJNKBbH.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"entry-styles-1.mjs-CzJNKBbH.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/entry-styles-1.mjs-CzJNKBbH.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}
@@ -0,0 +1,5 @@
//#region app.vue?vue&type=style&index=0&inline&used&lang.css
var app_vue_vue_type_style_index_0_inline_used_lang_default = "*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{color:var(--text-color,#1e293b);-webkit-text-size-adjust:100%;word-break:keep-all;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,Helvetica Neue,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;font-size:16px;line-height:1.5}body,html{background-color:var(--bg-body,#fff);overflow-x:hidden}body{width:100%;min-width:280px}.site-wrapper{flex-direction:column;width:100%;min-height:100vh;display:flex;overflow-x:hidden}.site-main{flex:1;width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit}";
export { app_vue_vue_type_style_index_0_inline_used_lang_default as a };
//# sourceMappingURL=entry-styles-2.mjs-BVOYfNT6.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"entry-styles-2.mjs-BVOYfNT6.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/entry-styles-2.mjs-BVOYfNT6.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}
@@ -0,0 +1,10 @@
import { A as AppFooter_vue_vue_type_style_index_0_scoped_3b29a045_inline_used_lang_default } from './entry-styles-1.mjs-CzJNKBbH.mjs';
import { a as app_vue_vue_type_style_index_0_inline_used_lang_default } from './entry-styles-2.mjs-BVOYfNT6.mjs';
const entryStyles_Do9mzw8X = [
AppFooter_vue_vue_type_style_index_0_scoped_3b29a045_inline_used_lang_default,
app_vue_vue_type_style_index_0_inline_used_lang_default
];
export { entryStyles_Do9mzw8X as default };
//# sourceMappingURL=entry-styles.Do9mzw8X.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"entry-styles.Do9mzw8X.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/entry-styles.Do9mzw8X.mjs"],"names":["style_0","style_1"],"mappings":"","x_google_ignoreList":[0]}
@@ -0,0 +1,419 @@
import { _ as _plugin_vue_export_helper_default, u as useHead, b as useRouter, i as isAbsoluteHref, e as encodeRoutePath, s as sanitizeAnchorHref, n as navigateTo, r as resolveRouteObject, c as isRootedPath, a as useRuntimeConfig, d as useNuxtApp, f as nuxtLinkDefaults } from '../virtual/entry.mjs';
import { useSSRContext, mergeProps, withCtx, createTextVNode, toDisplayString, defineComponent, resolveComponent, shallowRef, h, unref, computed } from 'vue';
import { B as joinURL, M as parseQuery, O as hasProtocol, P as withTrailingSlash, Q as withoutTrailingSlash } from './nitro.mjs';
import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent } from 'vue/server-renderer';
import '../routes/renderer.mjs';
import 'nostics';
import 'vue-bundle-renderer/runtime';
import 'unhead/server';
import 'devalue';
import 'vue-router';
import 'unhead/legacy';
import 'unhead/plugins';
import 'node:http';
import 'node:https';
import 'node:events';
import 'node:buffer';
import 'node:fs';
import 'node:path';
import 'node:crypto';
import 'node:url';
//#region ../site1/node_modules/nuxt/dist/app/components/nuxt-link.js
var firstNonUndefined = (...args) => args.find((arg) => arg !== void 0);
/* @__NO_SIDE_EFFECTS__ */
function defineNuxtLink(options) {
const componentName = options.componentName || "NuxtLink";
function isHashLinkWithoutHashMode(link) {
return typeof link === "string" && link.startsWith("#");
}
function resolveTrailingSlashBehavior(to, resolve, trailingSlash) {
const effectiveTrailingSlash = trailingSlash ?? options.trailingSlash;
if (!to || effectiveTrailingSlash !== "append" && effectiveTrailingSlash !== "remove") return to;
if (typeof to === "string") return applyTrailingSlashBehavior(to, effectiveTrailingSlash);
const path = "path" in to && to.path !== void 0 ? to.path : resolve(to).path;
return {
...to,
name: void 0,
path: applyTrailingSlashBehavior(path, effectiveTrailingSlash)
};
}
/**
* The link state `<NuxtLink>` renders with. Kept separate from `useNuxtLink` so the component
* does not resolve the `<RouterLink>` link state backing `route`/`isActive`/`isExactActive`,
* which it never reads.
*/
function useLinkTarget(props) {
const router = useRouter();
const config = /* @__PURE__ */ useRuntimeConfig();
const rootedHref = router.options?.history?.createHref ?? ((path) => joinURL(config.app.baseURL, path));
const hasTarget = computed(() => !!unref(props.target) && unref(props.target) !== "_self");
const isAbsoluteUrl = computed(() => {
const path = unref(props.to) || unref(props.href) || "";
return typeof path === "string" && isAbsoluteHref(path);
});
const isExternal = computed(() => {
if (unref(props.external)) return true;
const path = unref(props.to) || unref(props.href) || "";
if (typeof path === "object") return false;
return path === "" || isAbsoluteUrl.value;
});
const to = computed(() => {
const path = unref(props.to) || unref(props.href) || "";
if (isExternal.value) return path;
return resolveTrailingSlashBehavior(path, router.resolve, unref(props.trailingSlash));
});
const href = computed(() => {
const effectiveTrailingSlash = unref(props.trailingSlash) ?? options.trailingSlash;
if (!to.value || isAbsoluteUrl.value || isHashLinkWithoutHashMode(to.value)) {
const raw = to.value;
return typeof raw === "string" ? sanitizeAnchorHref(raw) : raw;
}
if (isExternal.value) {
const path = typeof to.value === "object" && "path" in to.value ? resolveRouteObject(to.value) : to.value;
const href = typeof path === "object" ? router.resolve(path).href : path;
const safe = typeof href === "string" ? sanitizeAnchorHref(href) : href;
return safe === null ? null : applyTrailingSlashBehavior(safe, effectiveTrailingSlash);
}
if (typeof to.value === "object") return router.resolve(to.value)?.href ?? null;
return applyTrailingSlashBehavior(isRootedPath(to.value) ? rootedHref(to.value) : router.resolve(to.value).href, effectiveTrailingSlash);
});
return {
to,
hasTarget,
isAbsoluteUrl,
isExternal,
href,
async navigate(_e) {
if (href.value === null) return;
await navigateTo(href.value, {
replace: unref(props.replace),
external: isExternal.value || hasTarget.value
});
}
};
}
function useNuxtLink(props) {
const router = useRouter();
const target = useLinkTarget(props);
const builtinRouterLink = resolveComponent("RouterLink");
const useBuiltinLink = builtinRouterLink && typeof builtinRouterLink !== "string" ? builtinRouterLink.useLink : void 0;
const link = target.isExternal.value ? void 0 : useBuiltinLink?.({
...props,
to: target.to,
viewTransition: unref(props.viewTransition)
});
return {
...target,
isActive: link?.isActive ?? computed(() => target.to.value === router.currentRoute.value.path),
isExactActive: link?.isExactActive ?? computed(() => target.to.value === router.currentRoute.value.path),
route: link?.route ?? computed(() => router.resolve(target.to.value))
};
}
/**
* Render an internal link as a plain anchor, matching the markup `<RouterLink>` produces
* for the same location.
*/
function renderStaticInternalLink(props, slots, router, rawTo) {
const route = router.resolve(resolveTrailingSlashBehavior(rawTo, router.resolve, props.trailingSlash));
const currentRoute = router.currentRoute.value;
const index = activeRecordIndex(route, currentRoute);
const isActive = index > -1 && includesParams(currentRoute.params, route.params);
const isExactActive = index > -1 && index === currentRoute.matched.length - 1 && isSameRouteLocationParams(currentRoute.params, route.params);
let dataInternal;
const routerOptions = router.options;
const href = sanitizeAnchorHref(route.href);
return h("a", {
"aria-current": isExactActive ? props.ariaCurrentValue ?? "page" : null,
href,
"class": {
[getLinkClass(props.activeClass || options.activeClass, routerOptions.linkActiveClass, "router-link-active")]: isActive,
[getLinkClass(props.exactActiveClass || options.exactActiveClass, routerOptions.linkExactActiveClass, "router-link-exact-active")]: isExactActive
},
"rel": props.rel || void 0,
"data-internal": dataInternal
}, slots.default?.({
route,
href,
isActive,
isExactActive,
navigate: () => navigateTo(route.href, { replace: props.replace })
}));
}
return defineComponent({
name: componentName,
props: {
to: {
type: [String, Object],
required: false
},
href: {
type: [String, Object],
required: false
},
target: {
type: String,
required: false
},
rel: {
type: String,
required: false
},
noRel: {
type: Boolean,
default: void 0,
required: false
},
prefetch: {
type: Boolean,
default: void 0,
required: false
},
prefetchOn: {
type: [String, Object],
required: false
},
noPrefetch: {
type: Boolean,
default: void 0,
required: false
},
activeClass: {
type: String,
required: false
},
exactActiveClass: {
type: String,
required: false
},
prefetchedClass: {
type: String,
required: false
},
replace: {
type: Boolean,
default: void 0,
required: false
},
ariaCurrentValue: {
type: String,
required: false
},
external: {
type: Boolean,
default: void 0,
required: false
},
custom: {
type: Boolean,
default: void 0,
required: false
},
trailingSlash: {
type: String,
required: false
}
},
useLink: useNuxtLink,
setup(props, { slots }) {
const router = useRouter();
if (!props.custom) {
const rawTo = props.to || props.href || "";
if (!(props.external || typeof rawTo === "string" && (rawTo === "" || isAbsoluteHref(rawTo))) && !isHashLinkWithoutHashMode(rawTo) && (!props.target || props.target === "_self")) return () => renderStaticInternalLink(props, slots, router, rawTo);
}
const routerLinkComponent = resolveComponent("RouterLink");
const { to, href, navigate, isExternal, hasTarget, isAbsoluteUrl } = useLinkTarget(props);
const prefetched = shallowRef(false);
const el = void 0;
const elRef = void 0;
function shouldPrefetch(mode) {
return false;
}
async function prefetch(nuxtApp = useNuxtApp()) {}
return () => {
const target = props.target || null;
const rel = firstNonUndefined(props.noRel ? "" : props.rel, options.externalRelAttribute, isAbsoluteUrl.value || hasTarget.value ? "noopener noreferrer" : "") || null;
const getCustomSlotProps = (routerLinkSlotProps) => ({
navigate,
get route() {
if (!href.value) return;
const url = new URL(href.value, "http://localhost");
return {
path: url.pathname,
fullPath: url.pathname,
get query() {
return parseQuery(url.search);
},
hash: url.hash,
params: {},
name: void 0,
matched: [],
redirectedFrom: void 0,
meta: {},
href: href.value
};
},
rel,
target,
isExternal: isExternal.value || hasTarget.value,
isActive: false,
isExactActive: false,
...routerLinkSlotProps,
href: typeof routerLinkSlotProps?.href === "string" ? sanitizeAnchorHref(routerLinkSlotProps.href) : href.value,
prefetch,
prefetched: prefetched.value,
shouldPrefetch
});
if (!isExternal.value && !hasTarget.value && !isHashLinkWithoutHashMode(to.value)) {
const routerLinkProps = {
ref: elRef,
to: to.value,
activeClass: props.activeClass || options.activeClass,
exactActiveClass: props.exactActiveClass || options.exactActiveClass,
replace: props.replace,
ariaCurrentValue: props.ariaCurrentValue,
custom: props.custom
};
if (!props.custom) routerLinkProps.rel = props.rel || void 0;
return h(routerLinkComponent, routerLinkProps, props.custom && slots.default ? { default: (slotProps) => slots.default(getCustomSlotProps(slotProps)) } : slots.default);
}
if (props.custom) {
if (!slots.default) return null;
return slots.default(getCustomSlotProps());
}
return h("a", {
ref: el,
href: href.value || null,
rel,
target,
onClick: async (event) => {
if (isExternal.value || hasTarget.value) return;
event.preventDefault();
try {
const encodedHref = encodeRoutePath(href.value ?? "");
return await (props.replace ? router.replace(encodedHref) : router.push(encodedHref));
} finally {}
}
}, slots.default?.());
};
}
});
}
var NuxtLink = /* @__PURE__ */ defineNuxtLink(nuxtLinkDefaults);
function isSameRouteRecord(a, b) {
return (a.aliasOf || a) === (b.aliasOf || b);
}
function getOriginalPath(record) {
return record ? record.aliasOf ? record.aliasOf.path : record.path : "";
}
function isEquivalentArray(a, b) {
return Array.isArray(b) ? a.length === b.length && a.every((value, i) => value === b[i]) : a.length === 1 && a[0] === b;
}
function isSameParamValue(a, b) {
return Array.isArray(a) ? isEquivalentArray(a, b) : Array.isArray(b) ? isEquivalentArray(b, a) : (a && a.valueOf()) === (b && b.valueOf());
}
function isSameRouteLocationParams(a, b) {
if (Object.keys(a).length !== Object.keys(b).length) return false;
for (const key in a) if (!isSameParamValue(a[key], b[key])) return false;
return true;
}
function includesParams(outer, inner) {
for (const key in inner) {
const innerValue = inner[key];
const outerValue = outer[key];
if (typeof innerValue === "string") {
if (innerValue !== outerValue) return false;
} else if (!Array.isArray(outerValue) || outerValue.length !== innerValue.length || innerValue.some((value, i) => value.valueOf() !== outerValue[i].valueOf())) return false;
}
return true;
}
function activeRecordIndex(route, currentRoute) {
const { matched } = route;
const { length } = matched;
const routeMatched = matched[length - 1];
const currentMatched = currentRoute.matched;
if (!routeMatched || !currentMatched.length) return -1;
const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));
if (index > -1) return index;
const parentRecordPath = getOriginalPath(matched[length - 2]);
return length > 1 && getOriginalPath(routeMatched) === parentRecordPath && currentMatched[currentMatched.length - 1].path !== parentRecordPath ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2])) : index;
}
/** Resolve an active-link class, falling back from the per-link value to the router-wide one. */
function getLinkClass(propClass, globalClass, defaultClass) {
return propClass ?? globalClass ?? defaultClass;
}
function applyTrailingSlashBehavior(to, trailingSlash) {
if (trailingSlash !== "append" && trailingSlash !== "remove") return to;
const normalizeFn = trailingSlash === "append" ? withTrailingSlash : withoutTrailingSlash;
if (hasProtocol(to) && !to.startsWith("http")) return to;
return normalizeFn(to, true);
}
//#endregion
//#region ../site1/node_modules/nuxt/dist/app/components/error-404.vue
var _sfc_main = {
__name: "error-404",
__ssrInlineRender: true,
props: {
appName: {
type: String,
default: "Nuxt"
},
status: {
type: Number,
default: 404
},
statusText: {
type: String,
default: "Page not found"
},
description: {
type: String,
default: "Sorry, the page you are looking for could not be found."
},
backHome: {
type: String,
default: "Go back home"
},
backToPrevious: {
type: String,
default: "Go back"
}
},
setup(__props) {
const props = __props;
useHead({
title: `${props.status} - ${props.statusText} | ${props.appName}`,
script: [{
innerHTML: `(()=>{if(!(window.history.state&&window.history.state.back||document.referrer.startsWith(window.location.origin+"/")))return;const t=document.querySelector("[data-back-home]"),e=document.querySelector("[data-back-previous]");t&&e&&(e.onclick=()=>window.history.back(),t.hidden=!0,e.hidden=!1)})();`,
tagPosition: "bodyClose"
}],
style: [{ innerHTML: `*,:after,:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{-webkit-text-decoration:inherit;text-decoration:inherit}a,button{color:inherit}button{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0;text-transform:none}[type=button],button{-webkit-appearance:button;background-color:#0000;background-image:none}h1,h2,p{margin:0}button{cursor:pointer}[hidden]:where(:not([hidden=until-found])){display:none}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }` }]
});
return (_ctx, _push, _parent, _attrs) => {
const _component_NuxtLink = NuxtLink;
_push(`<div${ssrRenderAttrs(mergeProps({ class: "antialiased bg-white dark:bg-neutral-950 dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-neutral-950 tracking-wide" }, _attrs))} data-v-5f53d16d><div class="max-w-520px text-center" data-v-5f53d16d><h1 class="font-medium leading-none mb-4 sm:text-[72px] tabular-nums text-[56px]" data-v-5f53d16d>${ssrInterpolate(__props.status)}</h1><h2 class="font-semibold mb-2 sm:text-3xl text-2xl" data-v-5f53d16d>${ssrInterpolate(__props.statusText)}</h2><p class="mb-4 px-2 text-md text-neutral-500" data-v-5f53d16d>${ssrInterpolate(__props.description)}</p><div class="flex items-center justify-center w-full" data-v-5f53d16d>`);
_push(ssrRenderComponent(_component_NuxtLink, {
to: "/",
"data-back-home": "",
class: "font-medium hover:text-[#00DC82] text-sm underline underline-offset-3"
}, {
default: withCtx((_, _push, _parent, _scopeId) => {
if (_push) _push(`${ssrInterpolate(__props.backHome)}`);
else return [createTextVNode(toDisplayString(__props.backHome), 1)];
}),
_: 1
}, _parent));
_push(` <button type="button" data-back-previous hidden class="appearance-none bg-transparent border-0 cursor-pointer font-medium font-sans hover:text-[#00DC82] p-0 text-inherit text-sm underline underline-offset-3" data-v-5f53d16d>${ssrInterpolate(__props.backToPrevious)}</button></div></div></div>`);
};
}
};
var _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../site1/node_modules/nuxt/dist/app/components/error-404.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
var error_404_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["__scopeId", "data-v-5f53d16d"]]);
export { error_404_default as default };
//# sourceMappingURL=error-404-DelmxDv8.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"error-404-DelmxDv8.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-DelmxDv8.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}
@@ -0,0 +1,9 @@
//#region ../site1/node_modules/nuxt/dist/app/components/error-404.vue?vue&type=style&index=0&scoped=5f53d16d&inline&used&lang.css
var error_404_vue_vue_type_style_index_0_scoped_5f53d16d_inline_used_lang_default = ".grid[data-v-5f53d16d]{display:grid}.mb-2[data-v-5f53d16d]{margin-bottom:.5rem}.mb-4[data-v-5f53d16d]{margin-bottom:1rem}.max-w-520px[data-v-5f53d16d]{max-width:520px}.min-h-screen[data-v-5f53d16d]{min-height:100vh}.w-full[data-v-5f53d16d]{width:100%}.flex[data-v-5f53d16d]{display:flex}.cursor-pointer[data-v-5f53d16d]{cursor:pointer}.appearance-none[data-v-5f53d16d]{appearance:none}.place-content-center[data-v-5f53d16d]{place-content:center}.items-center[data-v-5f53d16d]{align-items:center}.justify-center[data-v-5f53d16d]{justify-content:center}.overflow-hidden[data-v-5f53d16d]{overflow:hidden}.border-0[data-v-5f53d16d]{border-width:0}.bg-transparent[data-v-5f53d16d]{background-color:#0000}.bg-white[data-v-5f53d16d]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.p-0[data-v-5f53d16d]{padding:0}.px-2[data-v-5f53d16d]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-5f53d16d]{text-align:center}.text-\\[56px\\][data-v-5f53d16d]{font-size:56px}.text-2xl[data-v-5f53d16d]{font-size:1.5rem;line-height:2rem}.text-sm[data-v-5f53d16d]{font-size:.875rem;line-height:1.25rem}.text-neutral-500[data-v-5f53d16d]{--un-text-opacity:1;color:rgb(115 115 115/var(--un-text-opacity))}.text-neutral-950[data-v-5f53d16d]{--un-text-opacity:1;color:rgb(10 10 10/var(--un-text-opacity))}.hover\\:text-\\[\\#00DC82\\][data-v-5f53d16d]:hover{--un-text-opacity:1;color:rgb(0 220 130/var(--un-text-opacity))}.text-inherit[data-v-5f53d16d]{color:inherit}.font-medium[data-v-5f53d16d]{font-weight:500}.font-semibold[data-v-5f53d16d]{font-weight:600}.leading-none[data-v-5f53d16d]{line-height:1}.tracking-wide[data-v-5f53d16d]{letter-spacing:.025em}.font-sans[data-v-5f53d16d]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums[data-v-5f53d16d]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.underline[data-v-5f53d16d]{text-decoration-line:underline}.underline-offset-3[data-v-5f53d16d]{text-underline-offset:3px}.antialiased[data-v-5f53d16d]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){.dark\\:bg-neutral-950[data-v-5f53d16d]{--un-bg-opacity:1;background-color:rgb(10 10 10/var(--un-bg-opacity))}.dark\\:text-white[data-v-5f53d16d]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media (width>=640px){.sm\\:text-\\[72px\\][data-v-5f53d16d]{font-size:72px}.sm\\:text-3xl[data-v-5f53d16d]{font-size:1.875rem;line-height:2.25rem}}";
const error404Styles_CokM88Qa = [
error_404_vue_vue_type_style_index_0_scoped_5f53d16d_inline_used_lang_default
];
export { error404Styles_CokM88Qa as default };
//# sourceMappingURL=error-404-styles.CokM88Qa.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"error-404-styles.CokM88Qa.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-styles-1.mjs-yGy1IfGi.js","../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-styles.CokM88Qa.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}
@@ -0,0 +1,69 @@
import { _ as _plugin_vue_export_helper_default, u as useHead } from '../virtual/entry.mjs';
import { useSSRContext, mergeProps } from 'vue';
import { ssrRenderAttrs, ssrInterpolate } from 'vue/server-renderer';
import './nitro.mjs';
import 'unhead/server';
import 'unhead/legacy';
import 'unhead/plugins';
import 'node:http';
import 'node:https';
import 'node:events';
import 'node:buffer';
import 'node:fs';
import 'node:path';
import 'node:crypto';
import 'node:url';
import '../routes/renderer.mjs';
import 'nostics';
import 'vue-bundle-renderer/runtime';
import 'devalue';
import 'vue-router';
//#region ../site1/node_modules/nuxt/dist/app/components/error-500.vue
var _sfc_main = {
__name: "error-500",
__ssrInlineRender: true,
props: {
appName: {
type: String,
default: "Nuxt"
},
status: {
type: Number,
default: 500
},
statusText: {
type: String,
default: "Internal server error"
},
description: {
type: String,
default: "This page is temporarily unavailable."
},
refresh: {
type: String,
default: "Refresh this page"
}
},
setup(__props) {
const props = __props;
useHead({
title: `${props.status} - ${props.statusText} | ${props.appName}`,
script: [],
style: [{ innerHTML: `*,:after,:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }` }]
});
return (_ctx, _push, _parent, _attrs) => {
_push(`<div${ssrRenderAttrs(mergeProps({ class: "antialiased bg-white dark:bg-neutral-950 dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-neutral-950 tracking-wide" }, _attrs))} data-v-02e6d203><div class="max-w-520px text-center" data-v-02e6d203><h1 class="font-medium leading-none mb-4 sm:text-[72px] tabular-nums text-[56px]" data-v-02e6d203>${ssrInterpolate(__props.status)}</h1><h2 class="font-semibold mb-2 sm:text-3xl text-2xl" data-v-02e6d203>${ssrInterpolate(__props.statusText)}</h2><p class="mb-4 px-2 text-md text-neutral-500" data-v-02e6d203>${ssrInterpolate(__props.description)}</p></div></div>`);
};
}
};
var _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../site1/node_modules/nuxt/dist/app/components/error-500.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
var error_500_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["__scopeId", "data-v-02e6d203"]]);
export { error_500_default as default };
//# sourceMappingURL=error-500-_lvxeZxk.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"error-500-_lvxeZxk.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-_lvxeZxk.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}
@@ -0,0 +1,9 @@
//#region ../site1/node_modules/nuxt/dist/app/components/error-500.vue?vue&type=style&index=0&scoped=02e6d203&inline&used&lang.css
var error_500_vue_vue_type_style_index_0_scoped_02e6d203_inline_used_lang_default = ".grid[data-v-02e6d203]{display:grid}.mb-2[data-v-02e6d203]{margin-bottom:.5rem}.mb-4[data-v-02e6d203]{margin-bottom:1rem}.max-w-520px[data-v-02e6d203]{max-width:520px}.min-h-screen[data-v-02e6d203]{min-height:100vh}.place-content-center[data-v-02e6d203]{place-content:center}.overflow-hidden[data-v-02e6d203]{overflow:hidden}.bg-white[data-v-02e6d203]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-02e6d203]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-02e6d203]{text-align:center}.text-\\[56px\\][data-v-02e6d203]{font-size:56px}.text-2xl[data-v-02e6d203]{font-size:1.5rem;line-height:2rem}.text-neutral-500[data-v-02e6d203]{--un-text-opacity:1;color:rgb(115 115 115/var(--un-text-opacity))}.text-neutral-950[data-v-02e6d203]{--un-text-opacity:1;color:rgb(10 10 10/var(--un-text-opacity))}.font-medium[data-v-02e6d203]{font-weight:500}.font-semibold[data-v-02e6d203]{font-weight:600}.leading-none[data-v-02e6d203]{line-height:1}.tracking-wide[data-v-02e6d203]{letter-spacing:.025em}.font-sans[data-v-02e6d203]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums[data-v-02e6d203]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.antialiased[data-v-02e6d203]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){.dark\\:bg-neutral-950[data-v-02e6d203]{--un-bg-opacity:1;background-color:rgb(10 10 10/var(--un-bg-opacity))}.dark\\:text-white[data-v-02e6d203]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media (width>=640px){.sm\\:text-\\[72px\\][data-v-02e6d203]{font-size:72px}.sm\\:text-3xl[data-v-02e6d203]{font-size:1.875rem;line-height:2.25rem}}";
const error500Styles_Tpdhuaa7 = [
error_500_vue_vue_type_style_index_0_scoped_02e6d203_inline_used_lang_default
];
export { error500Styles_Tpdhuaa7 as default };
//# sourceMappingURL=error-500-styles.Tpdhuaa7.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"error-500-styles.Tpdhuaa7.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-styles-1.mjs-01oKqNsk.js","../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-styles.Tpdhuaa7.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}
@@ -0,0 +1,20 @@
import { escapeHtml } from '@vue/shared';
//#region src/runtime/server/renderer/error-template.ts
const _messages = {
"appName": "Nuxt",
"status": 500,
"statusText": "Internal server error",
"description": "This page is temporarily unavailable.",
"refresh": "Refresh this page"
};
const template = (messages) => {
messages = {
..._messages,
...messages
};
return "<!DOCTYPE html><html lang=\"en\"><head><title>" + escapeHtml(messages.status) + " - " + escapeHtml(messages.statusText) + " | " + escapeHtml(messages.appName) + "</title><meta charset=\"utf-8\"><meta content=\"width=device-width,initial-scale=1,minimum-scale=1\" name=\"viewport\"><style>*,:after,:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:\"\"}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.grid{display:grid}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.max-w-520px{max-width:520px}.min-h-screen{min-height:100vh}.place-content-center{place-content:center}.overflow-hidden{overflow:hidden}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2{padding-left:.5rem;padding-right:.5rem}.text-center{text-align:center}.text-\\[56px\\]{font-size:56px}.text-2xl{font-size:1.5rem;line-height:2rem}.text-neutral-500{--un-text-opacity:1;color:rgb(115 115 115/var(--un-text-opacity))}.text-neutral-950{--un-text-opacity:1;color:rgb(10 10 10/var(--un-text-opacity))}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-wide{letter-spacing:.025em}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\\:bg-neutral-950{--un-bg-opacity:1;background-color:rgb(10 10 10/var(--un-bg-opacity))}.dark\\:text-white{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(width>=640px){.sm\\:text-\\[72px\\]{font-size:72px}.sm\\:text-3xl{font-size:1.875rem;line-height:2.25rem}}</style></head><body class=\"antialiased bg-white dark:bg-neutral-950 dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-neutral-950 tracking-wide\"><div class=\"max-w-520px text-center\"><h1 class=\"font-medium leading-none mb-4 sm:text-[72px] tabular-nums text-[56px]\">" + escapeHtml(messages.status) + "</h1><h2 class=\"font-semibold mb-2 sm:text-3xl text-2xl\">" + escapeHtml(messages.statusText) + "</h2><p class=\"mb-4 px-2 text-md text-neutral-500\">" + escapeHtml(messages.description) + "</p></div></body></html>";
};
export { template };
//# sourceMappingURL=error-template.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"error-template.mjs","sources":["../../../../../site1/node_modules/nuxt/dist/runtime/server/renderer/error-template.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}
@@ -0,0 +1,9 @@
//#region pages/index.vue?vue&type=style&index=0&scoped=01dba7e2&inline&used&lang.css
var index_vue_vue_type_style_index_0_scoped_01dba7e2_inline_used_lang_default = ".landing-page-wrap[data-v-01dba7e2]{width:100%;overflow-x:hidden}";
const indexStyles_DCHX_zt6 = [
index_vue_vue_type_style_index_0_scoped_01dba7e2_inline_used_lang_default
];
export { indexStyles_DCHX_zt6 as default };
//# sourceMappingURL=index-styles.DCHX_zt6.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"index-styles.DCHX_zt6.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/index-styles-1.mjs-C8Y6VFfi.js","../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/index-styles.DCHX_zt6.mjs"],"names":["style_0"],"mappings":"","x_google_ignoreList":[0,1]}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"version":3,"file":"nitro.mjs","sources":["../../../../../site1/node_modules/destr/dist/index.mjs","../../../../../site1/node_modules/ufo/dist/index.mjs","../../../../../site1/node_modules/radix3/dist/index.mjs","../../../../../site1/node_modules/defu/dist/defu.mjs","../../../../../site1/node_modules/node-mock-http/dist/index.mjs","../../../../../site1/node_modules/h3/dist/index.mjs","../../../../../site1/node_modules/nitropack/node_modules/hookable/dist/index.mjs","../../../../../site1/node_modules/node-fetch-native/dist/native.mjs","../../../../../site1/node_modules/ofetch/dist/shared/ofetch.CWycOUEr.mjs","../../../../../site1/node_modules/ofetch/dist/node.mjs","../../../../../site1/node_modules/unstorage/dist/shared/unstorage.zVDD2mZo.mjs","../../../../../site1/node_modules/unstorage/dist/index.mjs","../../../../../site1/node_modules/unstorage/drivers/utils/index.mjs","../../../../../site1/node_modules/unstorage/drivers/utils/node-fs.mjs","../../../../../site1/node_modules/unstorage/drivers/fs-lite.mjs","../../../../../site1/node_modules/nitropack/dist/runtime/internal/storage.mjs","../../../../../site1/node_modules/ohash/dist/crypto/node/index.mjs","../../../../../site1/node_modules/nitropack/dist/runtime/internal/hash.mjs","../../../../../site1/node_modules/nitropack/dist/runtime/internal/cache.mjs","../../../../../site1/node_modules/klona/dist/index.mjs","../../../../../site1/node_modules/scule/dist/index.mjs","../../../../../site1/node_modules/nitropack/dist/runtime/internal/utils.env.mjs","../../../../../site1/node_modules/nitropack/dist/runtime/internal/config.mjs","../../../../../site1/node_modules/nitropack/dist/runtime/internal/route-rules-utils.mjs","../../../../../site1/node_modules/nitropack/dist/runtime/internal/route-rules.mjs","../../../../../site1/node_modules/nitropack/dist/runtime/internal/utils.mjs","../../../../../site1/node_modules/@nuxt/nitro-server/dist/runtime/utils/event.mjs","../../../../../site1/node_modules/@nuxt/nitro-server/dist/runtime/utils/error.mjs","../../../../../site1/node_modules/@unhead/vue/dist/shared/vue.DKb5ZKVl.mjs","../../../../../site1/node_modules/@unhead/vue/dist/shared/vue.D2XR8FqS.mjs","../../../../../site1/node_modules/@unhead/vue/dist/server.mjs","../../../../../site1/node_modules/@unhead/vue/dist/legacy.mjs","../../../../../site1/node_modules/@nuxt/nitro-server/dist/runtime/handlers/error.mjs","../../../../../site1/node_modules/nitropack/dist/runtime/internal/error/utils.mjs","../../../../../site1/node_modules/nitropack/dist/runtime/internal/error/prod.mjs","../../../../../site1/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs","../../../../../site1/node_modules/nitropack/dist/runtime/internal/static.mjs","../../../../../site1/node_modules/nitropack/dist/runtime/internal/app.mjs","../../../../../site1/node_modules/nitropack/dist/runtime/internal/renderer.mjs","../../../../../site1/node_modules/nitropack/dist/runtime/internal/lib/http-graceful-shutdown.mjs","../../../../../site1/node_modules/nitropack/dist/runtime/internal/shutdown.mjs"],"names":["HASH_RE","ENC_PIPE_RE","createRouter","f","h","i","l","createError","mergeHeaders","nodeFetch","Headers","Headers$1","AbortController$1","normalizeKey","defineDriver","DRIVER_NAME","dirname","fsPromises","resolve","fsp","_inlineAppConfig","createRadixRouter","callNodeRequestHandler","fetchNodeRequestHandler","gracefulShutdown"],"mappings":"","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]}
@@ -0,0 +1,97 @@
import { _ as _plugin_vue_export_helper_default, u as useHead, a as useRuntimeConfig } from '../virtual/entry.mjs';
import { c as getCurriculumBySubject, d as getRegionByDong, g as generateSeoMeta, H as HeroBanner_default, Q as QuickMetrics_default, N as NearbySchools_default, S as SubjectMastery_default, T as TeacherVerification_default, C as CoachingSystem_default, a as SuccessStories_default, P as ProcessGuide_default, F as FaqAccordion_default, b as ConsultForm_default } from './seoHelper-DQbR3QHZ.mjs';
import { mergeProps, unref, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrRenderComponent } from 'vue/server-renderer';
import './nitro.mjs';
import 'unhead/server';
import 'unhead/legacy';
import 'unhead/plugins';
import 'node:http';
import 'node:https';
import 'node:events';
import 'node:buffer';
import 'node:fs';
import 'node:path';
import 'node:crypto';
import 'node:url';
import '../routes/renderer.mjs';
import 'nostics';
import 'vue-bundle-renderer/runtime';
import 'devalue';
import 'vue-router';
//#region pages/index.vue
var _sfc_main = {
__name: "index",
__ssrInlineRender: true,
setup(__props) {
const config = useRuntimeConfig();
const defaultCurriculum = getCurriculumBySubject("english");
const defaultRegion = getRegionByDong("황금동") || {
fullName: "대한민국 전국 전 지역",
sido: "전국",
sigungu: "전지역",
dong: "전국"
};
const seo = generateSeoMeta({
sido: "전국",
sigungu: "맞춤",
dong: "1:1",
grade: "초중고",
subjectName: "전과목",
targetTerm: "방문·화상과외",
fullKeyword: "전국 초중고 1:1 방문 과외 및 실시간 화상과외"
}, config.public.siteName, config.public.siteDomain);
useHead({
title: `${config.public.siteName} | 전국 초·중·고 1:1 맞춤 방문과외 & 화상코칭`,
meta: seo.meta,
link: seo.link,
script: seo.script
});
return (_ctx, _push, _parent, _attrs) => {
const _component_HeroBanner = HeroBanner_default;
const _component_QuickMetrics = QuickMetrics_default;
const _component_NearbySchools = NearbySchools_default;
const _component_SubjectMastery = SubjectMastery_default;
const _component_TeacherVerification = TeacherVerification_default;
const _component_CoachingSystem = CoachingSystem_default;
const _component_SuccessStories = SuccessStories_default;
const _component_ProcessGuide = ProcessGuide_default;
const _component_FaqAccordion = FaqAccordion_default;
const _component_ConsultForm = ConsultForm_default;
_push(`<div${ssrRenderAttrs(mergeProps({ class: "landing-page-wrap" }, _attrs))} data-v-01dba7e2>`);
_push(ssrRenderComponent(_component_HeroBanner, {
region: unref(defaultRegion),
grade: "초·중·고",
subjectName: "국영수사과"
}, null, _parent));
_push(ssrRenderComponent(_component_QuickMetrics, { regionDong: "전국" }, null, _parent));
_push(ssrRenderComponent(_component_NearbySchools, { regionDong: "주요 학군" }, null, _parent));
_push(ssrRenderComponent(_component_SubjectMastery, {
regionDong: "전국",
grade: "중·고등",
curriculum: unref(defaultCurriculum)
}, null, _parent));
_push(ssrRenderComponent(_component_TeacherVerification, null, null, _parent));
_push(ssrRenderComponent(_component_CoachingSystem, null, null, _parent));
_push(ssrRenderComponent(_component_SuccessStories, { regionDong: "수강생" }, null, _parent));
_push(ssrRenderComponent(_component_ProcessGuide, null, null, _parent));
_push(ssrRenderComponent(_component_FaqAccordion, { regionDong: "전국" }, null, _parent));
_push(ssrRenderComponent(_component_ConsultForm, {
regionName: "전국 전 지역",
defaultSubject: "영어"
}, null, _parent));
_push(`</div>`);
};
}
};
var _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/index.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
var pages_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["__scopeId", "data-v-01dba7e2"]]);
export { pages_default as default };
//# sourceMappingURL=pages-xCT8TvJS.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"pages-xCT8TvJS.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/pages-xCT8TvJS.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"version":3,"file":"seoHelper-DQbR3QHZ.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/seoHelper-DQbR3QHZ.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}
@@ -0,0 +1,149 @@
import { c as defineEventHandler, u as useRuntimeConfig, r as readBody, e as createError } from '../../_/nitro.mjs';
import 'unhead/server';
import 'vue';
import 'unhead/legacy';
import 'unhead/plugins';
import 'node:http';
import 'node:https';
import 'node:events';
import 'node:buffer';
import 'node:fs';
import 'node:path';
import 'node:crypto';
import 'node:url';
const consult_post = defineEventHandler(async (event) => {
const config = useRuntimeConfig();
const body = await readBody(event);
const {
studentName,
parentPhone,
name,
phone,
schoolName,
grade,
location,
regionName,
memo,
url
} = body || {};
const finalStudentName = studentName || name || "\uBBF8\uAE30\uC7AC";
const finalParentPhone = parentPhone || phone || "";
const finalLocation = location || regionName || "\uBBF8\uAE30\uC7AC";
const finalGrade = grade || "\uBBF8\uC9C0\uC815";
const finalSchool = schoolName || "\uBBF8\uAE30\uC7AC";
if (!finalParentPhone) {
throw createError({
statusCode: 400,
statusMessage: "\uBD80\uBAA8\uB2D8 \uC5F0\uB77D\uCC98\uB97C \uC62C\uBC14\uB974\uAC8C \uC785\uB825\uD574\uC8FC\uC138\uC694."
});
}
const webhookUrl = config.discordWebhookUrl || "https://discordapp.com/api/webhooks/1557204310369116210/9J4y96kmSbYNGtw5OxRgIz7InWcM8o3f8UX0Ad71-IyofwdS7tWmXkF7dj457-I8Ypiu";
const siteName = config.public.siteName || "1:1 \uB9DE\uCDA4\uACFC\uC678";
const siteDomain = config.public.siteDomain || "https://aeseo.cloud";
const now = /* @__PURE__ */ new Date();
const kstTime = new Intl.DateTimeFormat("ko-KR", {
timeZone: "Asia/Seoul",
year: "numeric",
month: "2-digit",
day: "2-digit",
hour: "2-digit",
minute: "2-digit",
second: "2-digit",
hour12: false
}).format(now);
const discordPayload = {
username: `${siteName} \uC0C1\uB2F4 \uC54C\uB9BC \uBD07`,
avatar_url: "https://cdn-icons-png.flaticon.com/512/2997/2997295.png",
embeds: [
{
title: `[\uC2E0\uADDC \uBB34\uB8CC \uC0C1\uB2F4 \uC2E0\uCCAD \uC811\uC218] ${finalLocation} - ${finalGrade} (${finalStudentName} \uD559\uC0DD)`,
description: `**${siteName}** \uC0AC\uC774\uD2B8\uC5D0\uC11C \uC0C8\uB85C\uC6B4 1:1 \uD559\uC2B5 \uC0C1\uB2F4 \uC2E0\uCCAD\uC774 \uC811\uC218\uB418\uC5C8\uC2B5\uB2C8\uB2E4.`,
color: 10033947,
// 신뢰감 있는 딥 레드/네이비
fields: [
{
name: "[\uC811\uC218 \uC0AC\uC774\uD2B8]",
value: `**${siteName}**
${siteDomain}`,
inline: true
},
{
name: "[\uC0AC\uB294 \uACF3]",
value: finalLocation,
inline: true
},
{
name: "[\uD559\uC0DD \uC774\uB984]",
value: `**${finalStudentName}**`,
inline: true
},
{
name: "[\uBD80\uBAA8\uB2D8 \uC5F0\uB77D\uCC98]",
value: `**${finalParentPhone}**`,
inline: true
},
{
name: "[\uB2E4\uB2C8\uB294 \uD559\uAD50]",
value: finalSchool,
inline: true
},
{
name: "[\uD559\uB144]",
value: finalGrade,
inline: true
},
{
name: "[\uC811\uC218 \uC77C\uC2DC (KST)]",
value: kstTime,
inline: true
},
{
name: "[\uC720\uC785 \uD398\uC774\uC9C0 URL]",
value: url ? `${url}` : `${siteDomain}`,
inline: false
},
{
name: "[\uC0C1\uB2F4\uBB38\uC758 \uB0B4\uC6A9 (\uC120\uD0DD)]",
value: memo && memo.trim() ? memo.trim() : "\uC785\uB825\uB41C \uC0C1\uC138 \uBB38\uC758 \uB0B4\uC6A9 \uC5C6\uC74C",
inline: false
}
],
footer: {
text: `${siteName} \uC2E4\uC2DC\uAC04 \uC0C1\uB2F4 \uC54C\uB9BC \uC2DC\uC2A4\uD15C`
},
timestamp: now.toISOString()
}
]
};
try {
const res = await fetch(webhookUrl, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(discordPayload)
});
if (!res.ok) {
const errText = await res.text();
console.error("[Discord Webhook Error]:", res.status, errText);
return {
success: false,
message: "\uB514\uC2A4\uCF54\uB4DC \uC804\uC1A1 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4."
};
}
return {
success: true,
message: "\uC0C1\uB2F4 \uC2E0\uCCAD\uC774 \uC815\uC0C1\uC801\uC73C\uB85C \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4."
};
} catch (err) {
console.error("[Consult Submission Error]:", err.message);
return {
success: false,
message: "\uC11C\uBC84 \uC624\uB958\uB85C \uC778\uD574 \uC804\uC1A1\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4."
};
}
});
export { consult_post as default };
//# sourceMappingURL=consult.post.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"consult.post.mjs","sources":["../../../../../server/api/consult.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,qBAAe,kBAAA,CAAmB,OAAO,KAAA,KAAU;AACjD,EAAA,MAAM,SAAS,gBAAA,EAAiB;AAChC,EAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,KAAK,CAAA;AAEjC,EAAA,MAAM;AAAA,IACJ,WAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,IAAA;AAAA,IACA;AAAA,GACF,GAAI,QAAQ,EAAC;AAEb,EAAA,MAAM,gBAAA,GAAmB,eAAe,IAAA,IAAQ,oBAAA;AAChD,EAAA,MAAM,gBAAA,GAAmB,eAAe,KAAA,IAAS,EAAA;AACjD,EAAA,MAAM,aAAA,GAAgB,YAAY,UAAA,IAAc,oBAAA;AAChD,EAAA,MAAM,aAAa,KAAA,IAAS,oBAAA;AAC5B,EAAA,MAAM,cAAc,UAAA,IAAc,oBAAA;AAElC,EAAA,IAAI,CAAC,gBAAA,EAAkB;AACrB,IAAA,MAAM,WAAA,CAAY;AAAA,MAChB,UAAA,EAAY,GAAA;AAAA,MACZ,aAAA,EAAe;AAAA,KAChB,CAAA;AAAA,EACH;AAEA,EAAA,MAAM,UAAA,GAAa,OAAO,iBAAA,IAAqB,8HAAA;AAC/C,EAAA,MAAM,QAAA,GAAW,MAAA,CAAO,MAAA,CAAO,QAAA,IAAY,8BAAA;AAC3C,EAAA,MAAM,UAAA,GAAa,MAAA,CAAO,MAAA,CAAO,UAAA,IAAc,qBAAA;AAG/C,EAAA,MAAM,GAAA,uBAAU,IAAA,EAAK;AACrB,EAAA,MAAM,OAAA,GAAU,IAAI,IAAA,CAAK,cAAA,CAAe,OAAA,EAAS;AAAA,IAC/C,QAAA,EAAU,YAAA;AAAA,IACV,IAAA,EAAM,SAAA;AAAA,IACN,KAAA,EAAO,SAAA;AAAA,IACP,GAAA,EAAK,SAAA;AAAA,IACL,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ,SAAA;AAAA,IACR,MAAA,EAAQ,SAAA;AAAA,IACR,MAAA,EAAQ;AAAA,GACT,CAAA,CAAE,MAAA,CAAO,GAAG,CAAA;AAGb,EAAA,MAAM,cAAA,GAAiB;AAAA,IACrB,QAAA,EAAU,GAAG,QAAQ,CAAA,iCAAA,CAAA;AAAA,IACrB,UAAA,EAAY,yDAAA;AAAA,IACZ,MAAA,EAAQ;AAAA,MACN;AAAA,QACE,OAAO,CAAA,mEAAA,EAAoB,aAAa,CAAA,GAAA,EAAM,UAAU,KAAK,gBAAgB,CAAA,cAAA,CAAA;AAAA,QAC7E,WAAA,EAAa,KAAK,QAAQ,CAAA,iJAAA,CAAA;AAAA,QAC1B,KAAA,EAAO,QAAA;AAAA;AAAA,QACP,MAAA,EAAQ;AAAA,UACN;AAAA,YACE,IAAA,EAAM,mCAAA;AAAA,YACN,KAAA,EAAO,KAAK,QAAQ,CAAA;AAAA,EAAO,UAAU,CAAA,CAAA;AAAA,YACrC,MAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,IAAA,EAAM,uBAAA;AAAA,YACN,KAAA,EAAO,aAAA;AAAA,YACP,MAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,IAAA,EAAM,6BAAA;AAAA,YACN,KAAA,EAAO,KAAK,gBAAgB,CAAA,EAAA,CAAA;AAAA,YAC5B,MAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,IAAA,EAAM,yCAAA;AAAA,YACN,KAAA,EAAO,KAAK,gBAAgB,CAAA,EAAA,CAAA;AAAA,YAC5B,MAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,IAAA,EAAM,mCAAA;AAAA,YACN,KAAA,EAAO,WAAA;AAAA,YACP,MAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,IAAA,EAAM,gBAAA;AAAA,YACN,KAAA,EAAO,UAAA;AAAA,YACP,MAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,IAAA,EAAM,mCAAA;AAAA,YACN,KAAA,EAAO,OAAA;AAAA,YACP,MAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,IAAA,EAAM,uCAAA;AAAA,YACN,OAAO,GAAA,GAAM,CAAA,EAAG,GAAG,CAAA,CAAA,GAAK,GAAG,UAAU,CAAA,CAAA;AAAA,YACrC,MAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,YACE,IAAA,EAAM,wDAAA;AAAA,YACN,OAAO,IAAA,IAAQ,IAAA,CAAK,MAAK,GAAI,IAAA,CAAK,MAAK,GAAI,wEAAA;AAAA,YAC3C,MAAA,EAAQ;AAAA;AACV,SACF;AAAA,QACA,MAAA,EAAQ;AAAA,UACN,IAAA,EAAM,GAAG,QAAQ,CAAA,gEAAA;AAAA,SACnB;AAAA,QACA,SAAA,EAAW,IAAI,WAAA;AAAY;AAC7B;AACF,GACF;AAEA,EAAA,IAAI;AACF,IAAA,MAAM,GAAA,GAAM,MAAM,KAAA,CAAM,UAAA,EAAY;AAAA,MAClC,MAAA,EAAQ,MAAA;AAAA,MACR,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB;AAAA,OAClB;AAAA,MACA,IAAA,EAAM,IAAA,CAAK,SAAA,CAAU,cAAc;AAAA,KACpC,CAAA;AAED,IAAA,IAAI,CAAC,IAAI,EAAA,EAAI;AACX,MAAA,MAAM,OAAA,GAAU,MAAM,GAAA,CAAI,IAAA,EAAK;AAC/B,MAAA,OAAA,CAAQ,KAAA,CAAM,0BAAA,EAA4B,GAAA,CAAI,MAAA,EAAQ,OAAO,CAAA;AAC7D,MAAA,OAAO;AAAA,QACL,OAAA,EAAS,KAAA;AAAA,QACT,OAAA,EAAS;AAAA,OACX;AAAA,IACF;AAEA,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,OAAA,EAAS;AAAA,KACX;AAAA,EACF,SAAS,GAAA,EAAU;AACjB,IAAA,OAAA,CAAQ,KAAA,CAAM,6BAAA,EAA+B,GAAA,CAAI,OAAO,CAAA;AACxD,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,KAAA;AAAA,MACT,OAAA,EAAS;AAAA,KACX;AAAA,EACF;AACF,CAAC,CAAA;;"}
@@ -0,0 +1,566 @@
import { j as joinRelativeURL, u as useRuntimeConfig, g as appRootTag, h as appRootAttrs, i as appSpaLoaderTag, k as appSpaLoaderAttrs, w as writeEarlyHints, e as createError, b as useNitroApp, l as getRouteRules, m as createHead, N as NUXT_PRERENDER_NO_SSR_ROUTES, n as unheadOptions, o as appId, p as getQuery, q as appHead, d as destr, v as NUXT_SSR_STREAMING, x as renderSSRHeadOptions, y as appTeleportAttrs, z as NUXT_NO_SCRIPTS_PATTERNS, A as relative, B as joinURL, C as appTeleportTag, D as NUXT_PAGE_PATTERNS, E as defineRenderHandler, F as toRequestEvent, G as setResponseHeader } from '../_/nitro.mjs';
import { defineDiagnostics, createConsoleReporter } from 'nostics';
import { renderToString } from 'vue/server-renderer';
import { createRenderer, getRequestDependencies, getPreloadLinks, getPrefetchLinks } from 'vue-bundle-renderer/runtime';
import { propsToString, renderSSRHead } from 'unhead/server';
import { stringify, uneval } from 'devalue';
//#region src/runtime/utils/paths.ts
function baseURL() {
return useRuntimeConfig().app.baseURL;
}
function buildAssetsDir() {
return useRuntimeConfig().app.buildAssetsDir;
}
function buildAssetsURL(...path) {
return joinRelativeURL(publicAssetsURL(), buildAssetsDir(), ...path);
}
function publicAssetsURL(...path) {
const app = useRuntimeConfig().app;
const publicBase = app.cdnURL || app.baseURL;
return path.length ? joinRelativeURL(publicBase, ...path) : publicBase;
}
//#region src/runtime/utils/response.ts
/**
* The response the renderer builds, keeping its body as the renderer produced it.
*
* A real `Response` turns every body into a `ReadableStream`, which would send a rendered
* document as a chunked stream where nitro sends the string it was given. The renderer only
* reads the fields below back, so this describes just those.
*/
var NodeRenderResponse = class {
body;
status;
statusText;
headers;
constructor(body, init) {
this.body = body;
this.status = init?.status || 200;
this.statusText = init?.statusText || "";
this.headers = init?.headers instanceof Headers ? init.headers : new Headers(init?.headers);
}
};
//#region src/runtime/server/renderer/cache.ts
function lazyCachedFunction(fn) {
let res = null;
return () => {
if (res === null) res = fn().catch((err) => {
res = null;
throw err;
});
return res;
};
}
/**
* E8xxx
* SSR rendering diagnostics, sharing the range with the server runtime that
* hosts the renderer.
*/
const docsBase = (code) => `https://nuxt.com/docs/4.x/errors/${code.replace("NUXT_", "").toLowerCase()}`;
const rendererDiagnostics = /* #__PURE__ */ defineDiagnostics({
docsBase,
reporters: [/* @__PURE__ */ createConsoleReporter(void 0)],
codes: {
NUXT_E8001: {
why: (p) => `\`render:html\` mutated \`body\`/\`bodyAppend\` while streaming (\`${p.path}\`). These fields are silently dropped because the body is about to stream.`,
fix: "Use the `render:html:close` hook instead.",
docs: false
},
NUXT_E8002: {
why: (p) => `SSR streaming committed the response before render completed (\`${p.path}\`). The following mutations did not reach the client and were dropped:\n - ${p.mutations}`,
fix: (p) => `Move the mutation into a plugin (which runs before the shell is flushed), or opt this route out of streaming with \`routeRules: { '${p.path}': { streaming: false } }\` or the \`render:route\` hook.`,
docs: false
},
NUXT_E8004: {
why: "The server bundle is not available.",
fix: "Ensure the Nuxt build completed successfully and the server entry was emitted by your builder.",
docs: false
},
NUXT_E8006: {
why: (p) => `The payload for \`${p.path}\` is ${p.size}, which will increase the page size and slow down hydration.${p.keys ? ` Largest payload keys:\n - ${p.keys}` : ""}`,
fix: "Use the `pick` or `transform` options of `useAsyncData`/`useFetch` to strip out data the client does not need.",
docs: false
},
NUXT_E8007: {
why: (p) => `\`${p.path}\` relies on client-side JavaScript, but \`features.noScripts: 'production'\` will strip scripts from this route in production:\n - ${p.reasons}`,
fix: "Remove the client-side dependency from this route, or scope script stripping with the `noScripts` route rule instead of enabling it globally."
},
NUXT_E8009: {
why: (p) => `A page error interrupted the stream for \`${p.path}\`, and ${p.what} also failed while rendering the error response.\n ${p.cause}`,
fix: "Fix the page error first. If it keeps happening, report the failure below - the browser will show a blank or partial page instead of the error page."
}
}
});
//#region src/runtime/server/renderer/build-files.ts
const APP_ROOT_OPEN_TAG = `<${appRootTag}${propsToString(appRootAttrs)}>`;
const APP_ROOT_CLOSE_TAG = `</${appRootTag}>`;
const getServerEntry = () => import('../virtual/entry.mjs').then(function (n) { return n.g; }).then((r) => r.default || r);
const getPrecomputedDependencies = () => import('../virtual/precomputed.mjs').then((r) => "default" in r ? r.default : r).then((r) => typeof r === "function" ? r() : r);
/** Load the build artifacts for a set of renderer options, caching each of them on the returned object. */
function createBuildFiles(options) {
const buildAssetsURL = (...path) => options.buildAssetsURL(...path);
const getSSRRenderer = lazyCachedFunction(async () => {
const createSSRApp = await getServerEntry();
if (!createSSRApp) throw rendererDiagnostics.NUXT_E8004();
const precomputed = await getPrecomputedDependencies();
const renderer = createRenderer(createSSRApp, {
precomputed,
manifest: void 0,
renderToString: renderToString$1,
buildAssetsURL
});
async function renderToString$1(input, context) {
const html = await renderToString(input, context);
return APP_ROOT_OPEN_TAG + html + APP_ROOT_CLOSE_TAG;
}
return renderer;
});
const getSPARenderer = lazyCachedFunction(async () => {
const precomputed = await getPrecomputedDependencies();
const template = renderSPATemplate();
const renderer = createRenderer(() => () => {}, {
precomputed,
manifest: void 0,
renderToString: () => template,
buildAssetsURL
});
const result = await renderer.renderToString({});
const renderToString = (ssrContext) => {
const config = ssrContext.runtimeConfig;
ssrContext.modules ||= /* @__PURE__ */ new Set();
ssrContext.payload.serverRendered = false;
ssrContext.config = {
public: config.public,
app: config.app
};
return Promise.resolve(result);
};
return {
rendererContext: renderer.rendererContext,
renderToString
};
});
return {
getRenderer: (ssrContext) => ssrContext.noSSR ? getSPARenderer() : getSSRRenderer(),
getSSRRenderer,
getServerApp: lazyCachedFunction(getServerEntry)
};
}
function renderSPATemplate() {
{
`<${appSpaLoaderTag}${propsToString(appSpaLoaderAttrs)}>`;
return APP_ROOT_OPEN_TAG + APP_ROOT_CLOSE_TAG + ("");
}
}
const getSSRStyles = lazyCachedFunction(() => import('../virtual/styles.mjs').then((r) => r.default || r));
const getInlinedCSS = lazyCachedFunction(() => import('../virtual/styles.mjs').then((r) => r.inlinedCSS || {}));
//#region src/runtime/server/renderer/instance.ts
/**
* Create the renderer state for a set of options.
*
* Called by `createNuxtRenderer()`; call it directly only to render against the same
* artifacts as a renderer created elsewhere (an island handler sharing the server bundle
* loaded for page renders), and pass the result to `createNuxtRenderer()`.
*/
function createRendererInstance(options) {
return {
options,
...createBuildFiles(options)
};
}
//#region src/runtime/server/renderer/runtime.ts
/** The event to pass to application code and to the render hooks. */
function appEvent(event) {
return event["~app"] ?? event;
}
function getRequestState(event) {
return event.context.nuxt;
}
//#region src/runtime/utils/renderer/options.ts
globalThis.__buildAssetsURL = buildAssetsURL;
globalThis.__publicAssetsURL = publicAssetsURL;
/** The capabilities a nitropack v2 host provides to the Nuxt renderer. */
const rendererOptions = {
runtimeConfig: (event) => useRuntimeConfig(appEvent(event)),
buildAssetsURL,
publicAssetsURL,
getRouteRules: (event) => getRouteRules(appEvent(event)),
hooks: () => useNitroApp().hooks,
createResponse: (body, init) => new NodeRenderResponse(body, init),
createError: (init) => createError({
statusCode: init.status,
statusMessage: init.statusText,
message: init.statusText,
data: init.data
}),
writeEarlyHints: (event, hints) => writeEarlyHints(appEvent(event), hints.link),
onRenderSuccess: void 0,
prerender: void 0
};
/**
* The renderer the page and island handlers share, so that both render against a single
* load of the server bundle and its manifest.
*/
const rendererInstance = createRendererInstance(rendererOptions);
//#region src/runtime/server/renderer/url.ts
/**
* The fragment of a request URL, avoiding the lazy URL parse that reading `hash` triggers when
* there is none. A fragment is never sent over the wire, so it can only appear on a URL the
* server constructed itself.
*/
function urlHash(url) {
return url.href.includes("#") ? url.hash : "";
}
//#region src/runtime/server/renderer/app.ts
new Set(NUXT_PRERENDER_NO_SSR_ROUTES);
function createServerHead() {
return createHead(unheadOptions);
}
function createSSRContext(options, event) {
const url = event.url.pathname + event.url.search + urlHash(event.url);
const ssrContext = {
url,
event: appEvent(event),
runtimeConfig: options.runtimeConfig(event),
noSSR: getRequestState(event)?.noSSR || (false),
head: createServerHead(),
error: false,
nuxt: void 0,
payload: {},
["~payloadReducers"]: Object.create(null),
modules: /* @__PURE__ */ new Set()
};
return ssrContext;
}
/**
* Turn the response the renderer assembled into a web-standard `Response`, carrying the
* headers queued on the event alongside the ones the response names for itself.
*/
function returnRenderResponse(options, event, response) {
const headers = new Headers(event.res.headers);
for (const name in response.headers) headers.set(name, response.headers[name]);
return options.createResponse(response.body ?? null, {
status: response.statusCode ?? event.res.status,
statusText: response.statusMessage ?? event.res.statusText,
headers
});
}
function setSSRError(ssrContext, error) {
ssrContext.error = true;
ssrContext.payload = { error };
ssrContext.url = error.url;
}
function renderPayloadJsonScript(opts) {
const contents = opts.data ? encodeForwardSlashes(stringify(opts.data, opts.ssrContext["~payloadReducers"])) : "";
const payload = {
"type": "application/json",
"innerHTML": contents,
"data-nuxt-data": appId,
"data-ssr": !(opts.ssrContext.noSSR)
};
payload.id = "__NUXT_DATA__";
if (opts.src) payload["data-src"] = opts.src;
const config = uneval(opts.ssrContext.config);
return [payload, { innerHTML: `window.__NUXT__={};window.__NUXT__.config=${config}` }];
}
/**
* Encode forward slashes as unicode escape sequences to prevent
* Google from treating them as internal links and trying to crawl them.
* @see https://github.com/nuxt/nuxt/issues/24175
*/
function encodeForwardSlashes(str) {
return str.replaceAll("/", "\\u002F");
}
//#region src/runtime/server/renderer/inline-styles.ts
async function renderInlineStyles(usedModules) {
const styleMap = await getSSRStyles();
const inlinedStyles = /* @__PURE__ */ new Set();
const promises = [];
for (const mod of usedModules) if (mod in styleMap && styleMap[mod]) promises.push(styleMap[mod]());
for (const styles of await Promise.all(promises)) for (const style of styles) inlinedStyles.add(style);
return Array.from(inlinedStyles).map((style) => ({ innerHTML: style }));
}
//#region src/runtime/server/renderer/inlined-css.ts
/**
* Build a predicate telling whether the contents of an emitted CSS file were
* inlined as `<style>` tags for this request, meaning its `<link>` can be
* dropped.
*
* The builder can only remove a link at build time when every CSS source in
* the file is inlined for a module that is always rendered. For the rest it
* records the modules that inline each source, and the answer depends on what
* the request actually rendered: a component inside `<ClientOnly>` never
* reaches `ssrContext.modules`, so its styles are only ever delivered by the
* link. (#36058)
*/
async function createInlinedCSSFilter(modules) {
const inlinedCSS = await getInlinedCSS();
return (file) => {
const conditions = inlinedCSS[file.slice(file.lastIndexOf("/") + 1)];
if (!conditions) return false;
if (!modules?.size) return false;
for (const inliners of conditions) {
let inlined = false;
for (const id of inliners) if (modules.has(id)) {
inlined = true;
break;
}
if (!inlined) return false;
}
return true;
};
}
const entryIds = ["../site1/node_modules/nuxt/dist/app/entry.js"];
const entryFileName = "DcGLiQuJ.js";
//#region src/runtime/server/renderer/index.ts
const HAS_APP_TELEPORTS = !!(appTeleportAttrs.id);
const APP_TELEPORT_OPEN_TAG = HAS_APP_TELEPORTS ? `<${appTeleportTag}${propsToString(appTeleportAttrs)}>` : "";
const APP_TELEPORT_CLOSE_TAG = HAS_APP_TELEPORTS ? `</${appTeleportTag}>` : "";
/**
* Create a Nuxt SSR renderer, returning a web-standard handler for the requests a Nuxt
* app serves from its pages.
*
* Everything the renderer reads belongs to the renderer it was created for, so a bundle
* may create as many as it needs. Pass an instance from `createRendererInstance()` to
* render against the artifacts already loaded for another renderer.
*/
function createNuxtRenderer(optionsOrInstance) {
const instance = "getRenderer" in optionsOrInstance ? optionsOrInstance : createRendererInstance(optionsOrInstance);
return { fetch: (event) => fetch(instance, event) };
}
function fetch(instance, event) {
const runtime = instance.options;
const isErrorRoute = event.url.pathname.startsWith("/__nuxt_error");
if (isErrorRoute && !getRequestState(event)?.["~rendering-error"]) {
return Promise.reject(runtime.createError({
status: 404,
statusText: "Page Not Found: /__nuxt_error"
}));
}
const ssrError = isErrorRoute ? getQuery(event.url.href) : null;
const render = () => renderRoute(instance, event, ssrError).then((response) => returnRenderResponse(runtime, event, response));
const rendering = render();
return rendering;
}
async function renderRoute(instance, event, ssrError) {
const runtime = instance.options;
const hooks = runtime.hooks();
const hookEvent = appEvent(event);
runtime.prerender?.payloadCache;
const ssrContext = createSSRContext(runtime, event);
ssrContext.head.push(appHead);
if (ssrError) {
const status = ssrError.status || ssrError.statusCode;
if (status) ssrError.status = ssrError.statusCode = Number.parseInt(status);
if (typeof ssrError.data === "string") try {
ssrError.data = destr(ssrError.data);
} catch {}
setSSRError(ssrContext, ssrError);
}
const routeOptions = runtime.getRouteRules(event);
const NO_SCRIPTS = !!routeOptions.noScripts;
if (routeOptions.ssr === false && true) ssrContext.noSSR = true;
!ssrContext.noSSR && !ssrError && false;
const renderer = await instance.getRenderer(ssrContext);
for (const id of entryIds) ssrContext.modules.add(id);
const canStream = NUXT_SSR_STREAMING;
const renderRouteContext = {
canStream,
prefersStream: false
};
await hooks.callHook("render:route", renderRouteContext, { event: hookEvent });
const _rendered = await (renderer.renderToString(ssrContext)).catch(async (error) => {
if ((ssrContext["~renderResponse"] || ssrContext._renderResponse) && error.message === "skipping render") return {};
const _err = !ssrError && ssrContext.payload?.error || error;
await ssrContext.nuxt?.hooks.callHook("app:error", _err);
throw _err;
});
const inlinedStyles = !ssrContext["~renderResponse"] && !ssrContext._renderResponse && true ? await renderInlineStyles(ssrContext.modules ?? []) : [];
await ssrContext.nuxt?.hooks.callHook("app:rendered", {
ssrContext,
renderResult: _rendered
});
if (ssrContext["~renderResponse"] || ssrContext._renderResponse) return ssrContext["~renderResponse"] || ssrContext._renderResponse;
if (ssrContext.payload?.error && !ssrError) throw ssrContext.payload.error;
const { styles, scripts } = getRequestDependencies(ssrContext, renderer.rendererContext);
pushNoScriptsHints(ssrContext, NO_SCRIPTS);
if (!NO_SCRIPTS) {
const path = entryImportMapPath(instance, event, ssrContext);
ssrContext.head.push({ script: [{
type: "importmap",
innerHTML: { imports: { "#entry": path } }
}] });
}
if (inlinedStyles.length) ssrContext.head.push({ style: inlinedStyles });
const link = [];
const inlinedHrefs = [];
const isCSSInlined = await createInlinedCSSFilter(ssrContext.modules) ;
for (const resource of Object.values(styles)) {
if (isCSSInlined?.(resource.file)) {
inlinedHrefs.push(renderer.rendererContext.buildAssetsURL(resource.file));
continue;
}
link.push({
rel: "stylesheet",
href: renderer.rendererContext.buildAssetsURL(resource.file),
crossorigin: ""
});
}
if (link.length) ssrContext.head.push({ link });
const dependencyOptions = {
exclude: ssrContext["~lazyHydratedModules"]?.size ? ssrContext["~lazyHydratedModules"] : void 0,
scripts: !NO_SCRIPTS
};
const excludeHrefs = new Set(link.map((l) => l.href));
for (const href of inlinedHrefs) excludeHrefs.add(href);
for (const id of ssrContext["~neverHydratedModules"] ?? []) {
const file = renderer.rendererContext.manifest?.[id]?.file;
if (file) excludeHrefs.add(renderer.rendererContext.buildAssetsURL(file));
}
const hints = [];
for (const l of getPreloadLinks(ssrContext, renderer.rendererContext, dependencyOptions)) if (!excludeHrefs.has(l.href)) hints.push(l);
for (const l of getPrefetchLinks(ssrContext, renderer.rendererContext, dependencyOptions)) if (!excludeHrefs.has(l.href)) hints.push(l);
if (hints.length) ssrContext.head.push({ link: hints });
if (!NO_SCRIPTS) ssrContext.head.push({ script: renderPayloadJsonScript({
ssrContext,
data: stripInlineOnlyPayloadFields(ssrContext.payload)
}) }, {
tagPosition: "bodyClose",
tagPriority: "high"
});
if (!routeOptions.noScripts) {
const tagPosition = "head";
ssrContext.head.push({ script: Object.values(scripts).map((resource) => ({
type: resource.module ? "module" : null,
src: renderer.rendererContext.buildAssetsURL(resource.file),
defer: resource.module ? null : true,
tagPosition,
crossorigin: ""
})) });
}
const { headTags, bodyTags, bodyTagsOpen, htmlAttrs, bodyAttrs } = renderSSRHead(ssrContext.head, renderSSRHeadOptions);
const htmlContext = {
htmlAttrs: htmlAttrs ? [htmlAttrs] : [],
head: normalizeChunks([headTags]),
bodyAttrs: bodyAttrs ? [bodyAttrs] : [],
bodyPrepend: normalizeChunks([bodyTagsOpen, ssrContext.teleports?.body]),
body: [_rendered.html, APP_TELEPORT_OPEN_TAG + (HAS_APP_TELEPORTS ? joinTags([ssrContext.teleports?.[`#${appTeleportAttrs.id}`]]) : "") + APP_TELEPORT_CLOSE_TAG],
bodyAppend: [bodyTags]
};
await hooks.callHook("render:html", htmlContext, { event: hookEvent });
return {
body: renderHTMLDocument(htmlContext),
statusCode: event.res.status,
statusMessage: event.res.statusText,
headers: {
"content-type": "text/html;charset=utf-8",
"x-powered-by": "Nuxt"
}
};
}
/**
* Routes served without scripts navigate with full-page loads. This emits the
* declarative navigation hints that speed those up, on both the pages served
* without scripts (a blanket rule over same-origin links) and scripted pages
* that may link to them (rules scoped to the `noScripts` route patterns):
*
* - speculation rules, so supporting browsers prefetch and prerender the
* target ahead of the navigation;
* - when view transitions are enabled, an opt-in to same-origin cross-document
* view transitions, animating the navigation without a client runtime (the
* client-side `startViewTransition` plugin is not shipped).
*
* Both tags are declarative and execute no JavaScript.
*/
function pushNoScriptsHints(ssrContext, noScripts) {
if (noScripts) pushSpeculationRulesScript(ssrContext, NUXT_PAGE_PATTERNS.length ? NUXT_PAGE_PATTERNS : ["/*"]);
else if (NUXT_NO_SCRIPTS_PATTERNS.length) pushSpeculationRulesScript(ssrContext, NUXT_NO_SCRIPTS_PATTERNS);
else return;
}
const entryPaths = /* @__PURE__ */ new WeakMap();
/** URL of the hashed entry chunk, which `#entry` is pinned to so chunk hashes stay stable across it. */
function entryImportMapPath(instance, event, ssrContext) {
const cached = entryPaths.get(instance);
if (cached) return cached;
const url = instance.options.buildAssetsURL(entryFileName);
if (ssrContext.runtimeConfig.app.cdnURL || /^(?:\/|\.+\/)/.test(url)) {
entryPaths.set(instance, url);
return url;
}
const path = relative(event.url.pathname.replace(/\/[^/]+$/, "/"), joinURL("/", url));
return /^(?:\/|\.+\/)/.test(path) ? path : `./${path}`;
}
function pushSpeculationRulesScript(ssrContext, patterns) {
const rules = patterns.map((href_matches) => ({
where: { href_matches },
eagerness: "moderate"
}));
ssrContext.head.push({ script: [{
tagPosition: "head",
type: "speculationrules",
innerHTML: {
prefetch: rules,
prerender: rules
}
}] });
}
function normalizeChunks(chunks) {
const result = [];
for (const _chunk of chunks) {
const chunk = _chunk?.trim();
if (chunk) result.push(chunk);
}
return result;
}
function joinTags(tags) {
return tags.join("");
}
function joinAttrs(chunks) {
if (chunks.length === 0) return "";
return " " + chunks.join(" ");
}
function renderHTMLDocument(html) {
return `<!DOCTYPE html><html${joinAttrs(html.htmlAttrs)}><head>${joinTags(html.head)}</head><body${joinAttrs(html.bodyAttrs)}>${joinTags(html.bodyPrepend)}${joinTags(html.body)}${joinTags(html.bodyAppend)}</body></html>`;
}
function stripInlineOnlyPayloadFields(payload) {
if (!payload.prefetchLinks) return payload;
const { prefetchLinks: _, ...rest } = payload;
return rest;
}
const renderer = createNuxtRenderer(rendererInstance);
const handler = defineRenderHandler(async (event) => {
const response = await renderer.fetch(toRequestEvent(event));
for (const [name, value] of response.headers) {
if (name === "set-cookie") continue;
setResponseHeader(event, name, value);
}
return {
body: response.body,
statusCode: response.status,
statusMessage: response.statusText || void 0
};
});
const renderer$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
__proto__: null,
default: handler
}, Symbol.toStringTag, { value: 'Module' }));
export { baseURL as b, renderer$1 as r };
//# sourceMappingURL=renderer.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"renderer.mjs","sources":["../../../../../site1/node_modules/@nuxt/nitro-server/dist/runtime/utils/paths.mjs","../../../../../site1/node_modules/@nuxt/nitro-server/dist/runtime/utils/response.mjs","../../../../../site1/node_modules/nuxt/dist/runtime/server/renderer/cache.js","../../../../../site1/node_modules/nuxt/dist/runtime/server/renderer/diagnostics.js","../../../../../site1/node_modules/nuxt/dist/runtime/server/renderer/build-files.js","../../../../../site1/node_modules/nuxt/dist/runtime/server/renderer/instance.js","../../../../../site1/node_modules/nuxt/dist/runtime/server/renderer/runtime.js","../../../../../site1/node_modules/@nuxt/nitro-server/dist/runtime/utils/renderer/options.mjs","../../../../../site1/node_modules/nuxt/dist/runtime/server/renderer/url.js","../../../../../site1/node_modules/nuxt/dist/runtime/server/renderer/app.js","../../../../../site1/node_modules/nuxt/dist/runtime/server/renderer/payload.js","../../../../../site1/node_modules/nuxt/dist/runtime/server/renderer/inline-styles.js","../../../../../site1/node_modules/nuxt/dist/runtime/server/renderer/inlined-css.js","../../../../../site1/node_modules/nuxt/dist/runtime/server/renderer/index.js","../../../../../site1/node_modules/@nuxt/nitro-server/dist/runtime/handlers/renderer.mjs"],"names":[],"mappings":"","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
@@ -0,0 +1 @@
{"version":3,"file":"entry.mjs","sources":["../../../../../site1/node_modules/nostics/dist/index.mjs","../../../../../site1/node_modules/hookable/dist/index.mjs","../../../../../site1/node_modules/unhead/dist/shared/unhead.CGPOfp5O.mjs","../../../../../site1/node_modules/unhead/dist/shared/unhead.-hZVKou0.mjs","../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/server.mjs"],"names":["START_LOCATION$1","entry"],"mappings":"","x_google_ignoreList":[0,1,2,3,4]}
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"version":3,"file":"precomputed.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/client.precomputed.mjs"],"names":[],"mappings":"","x_google_ignoreList":[0]}
@@ -0,0 +1,25 @@
const interopDefault = r => r.default || r || [];
const styles = {
"../site1/node_modules/nuxt/dist/app/entry.js": () => import('../_/entry-styles.Do9mzw8X.mjs').then(interopDefault),
"components/AppFooter.vue": () => import('../_/AppFooter-styles.CJFLV6sm.mjs').then(interopDefault),
"app.vue": () => import('../_/app-styles.Cw0M3vbz.mjs').then(interopDefault),
"pages/index.vue": () => import('../_/index-styles.DCHX_zt6.mjs').then(interopDefault),
"pages/[...slug].vue": () => import('../_/_...slug_-styles.CT2yr3kk.mjs').then(interopDefault),
"../site1/node_modules/nuxt/dist/app/components/error-404.vue": () => import('../_/error-404-styles.CokM88Qa.mjs').then(interopDefault),
"../site1/node_modules/nuxt/dist/app/components/error-500.vue": () => import('../_/error-500-styles.Tpdhuaa7.mjs').then(interopDefault),
"components/QuickMetrics.vue": () => import('../_/QuickMetrics-styles.C4BIqcXM.mjs').then(interopDefault),
"components/ProcessGuide.vue": () => import('../_/ProcessGuide-styles.Biu6P_Tv.mjs').then(interopDefault),
"components/TeacherVerification.vue": () => import('../_/TeacherVerification-styles.CY_h0OMc.mjs').then(interopDefault),
"components/HeroBanner.vue": () => import('../_/HeroBanner-styles.CvIa3HUq.mjs').then(interopDefault),
"components/CoachingSystem.vue": () => import('../_/CoachingSystem-styles.Cdye9kFG.mjs').then(interopDefault),
"components/NearbySchools.vue": () => import('../_/NearbySchools-styles.C57PEwif.mjs').then(interopDefault),
"components/ConsultForm.vue": () => import('../_/ConsultForm-styles.Ct4bwK-g.mjs').then(interopDefault),
"components/FaqAccordion.vue": () => import('../_/FaqAccordion-styles.DAcJkXd4.mjs').then(interopDefault),
"components/SubjectMastery.vue": () => import('../_/SubjectMastery-styles.DiHpurSx.mjs').then(interopDefault),
"components/SuccessStories.vue": () => import('../_/SuccessStories-styles.DsOt6tgx.mjs').then(interopDefault)
};
const inlinedCSS = {"error-404.D0m1Jkqd.css":[["../site1/node_modules/nuxt/dist/app/components/error-404.vue"]],"error-500.gbIBGjPp.css":[["../site1/node_modules/nuxt/dist/app/components/error-500.vue"]],"seoHelper.Di1UpU0Y.css":[["components/HeroBanner.vue"],["components/QuickMetrics.vue"],["components/NearbySchools.vue"],["components/SubjectMastery.vue"],["components/TeacherVerification.vue"],["components/CoachingSystem.vue"],["components/SuccessStories.vue"],["components/ProcessGuide.vue"],["components/FaqAccordion.vue"],["components/ConsultForm.vue"]],"_...C-muEq89.css":[["pages/[...slug].vue"]],"pages.ZxAsEPPV.css":[["pages/index.vue"]]};
export { styles as default, inlinedCSS };
//# sourceMappingURL=styles.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"styles.mjs","sources":["../../../../../site1/node_modules/.cache/nuxt/.nuxt/dist/server/styles.mjs"],"names":[],"mappings":"","x_google_ignoreList":[0]}