@font-face{font-family:GangwonEducationModuche;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2201-2@1.0/GangwonEdu_OTFLightA.woff) format("woff");font-weight:300;font-display:swap}:root{--color-bg: #ffffff;--color-bg-dark: #000000;--color-text: #222222;--color-text-sub: #555555;--color-border-soft: #e5e7eb;--color-accent: #6fb828;--color-accent-soft: #e5f6d1;--color-accent-strong: #4c8f11;--shadow-soft: 0 8px 24px rgba(15, 23, 42, .08)}html{scroll-behavior:smooth}body{margin:0;font-family:GangwonEducationModuche;background-color:var(--color-bg);color:var(--color-text)}.App{min-height:100vh}.Section{background-color:var(--color-bg)}.section-inner{min-height:10vh;padding:120px 1.5rem 80px;box-sizing:border-box;max-width:960px;margin:0 auto}.section-title{font-size:2.4rem;font-weight:700;text-align:left;margin:0 0 40px;letter-spacing:.02em;color:var(--color-text)}.project-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%}@media(max-width:1024px){.project-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.section-inner{min-height:auto;padding:96px 1.25rem 64px}.section-title{font-size:2rem;margin-bottom:28px;text-align:left}.project-cards-grid{grid-template-columns:1fr}}.horizon-line{width:100%;text-align:center;border-bottom:1px solid var(--color-border-soft);line-height:.1em;margin:0}.horizon-line span{background:var(--color-bg);padding:0 10px}.Footer{background-color:var(--color-bg);padding:24px 16px 40px;text-align:center;font-size:.9rem;color:#888;border-top:1px solid var(--color-border-soft)}._intro-section_1rm4n_2{background-color:var(--color-bg-dark);color:#fff;min-height:100vh;display:flex;flex-direction:column}._navbar_1rm4n_11{width:100%;background-color:#050505;padding:1rem 0;display:flex;justify-content:center;position:sticky;top:0;z-index:10}._navbar_1rm4n_11 nav ul{list-style:none;margin:0;padding:0 1.5rem;display:flex;gap:2.4rem}._navbar_1rm4n_11 nav li a{text-decoration:none;color:#a3a3a3;font-size:1.25rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;transition:color .25s ease,opacity .25s ease}._navbar_1rm4n_11 nav li a:hover{color:#fff;opacity:.9}._intro-content_1rm4n_46{flex-grow:1;display:flex;flex-direction:column;justify-content:flex-start;max-width:960px;width:100%;margin:0 auto;padding:0 1.5rem;padding-top:18vh;box-sizing:border-box}._intro-content_1rm4n_46 h1{font-size:3.4rem;color:#fff;margin:0 0 1.2rem}._intro-content_1rm4n_46 p{font-size:1.05rem;color:silver;line-height:1.7;max-width:560px;margin:0 0 2.4rem}._cta-button_1rm4n_75{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-strong));color:#fff;padding:.8rem 1.4rem;border-radius:999px;font-size:.95rem;font-weight:700;text-decoration:none;box-shadow:0 0 24px #6fb82880;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;width:fit-content}._cta-button_1rm4n_75:hover{transform:translateY(-2px);box-shadow:0 0 34px #6fb828b3;opacity:.96}@media(max-width:768px){._intro-content_1rm4n_46{padding-top:14vh}._intro-content_1rm4n_46 h1{font-size:2.4rem}._navbar_1rm4n_11 nav ul{gap:1.4rem;font-size:.85rem}}._project-section_ccp8b_1{background-color:var(--color-bg)}._project-card_wtul9_1{display:block;width:100%;min-height:200px;background-color:#fff;border-radius:16px;box-shadow:var(--shadow-soft);text-decoration:none;color:var(--color-text);transition:transform .18s ease-out,box-shadow .18s ease-out,border-color .18s ease-out;overflow:hidden;position:relative;border:1px solid var(--color-border-soft)}._project-card_wtul9_1:hover{transform:translateY(-4px);box-shadow:0 18px 40px #0f172a2e;border-color:#6fb82866}._card-content_wtul9_23{padding:22px 24px 24px;display:flex;flex-direction:column;height:100%}._card-image_wtul9_30{max-width:100%;height:auto;border-radius:10px;margin-bottom:14px}._card-title_wtul9_37{font-size:1.15rem;margin:0 0 8px;color:var(--color-text);font-weight:600}._card-description_wtul9_44{font-size:.95rem;color:var(--color-text-sub);line-height:1.6;flex-grow:1}@media(max-width:768px){._card-content_wtul9_23{padding:18px 18px 20px}}._about-me-container_lxw9m_1{background-color:var(--color-bg)}._about-me-body_lxw9m_5{max-width:720px;line-height:1.8;color:var(--color-text-sub);font-size:1rem}._about-me-body_lxw9m_5 p{margin:0 0 18px}._lead_lxw9m_16{font-size:1.1rem;font-weight:600;color:var(--color-text)}._lead_lxw9m_16 span{color:var(--color-accent-strong)}._highlight_lxw9m_26{margin-top:24px;padding:16px 18px;border-radius:12px;background-color:var(--color-accent-soft);color:var(--color-text);border:1px solid rgba(111,184,40,.25)}@media(max-width:768px){._about-me-body_lxw9m_5{font-size:.95rem}._highlight_lxw9m_26{margin-top:20px}}._tech-stack-container_1etgy_1{background-color:var(--color-bg)}._tech-list_1etgy_5{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:24px 32px}._tech-item_1etgy_12{display:inline-flex;flex-direction:row;align-items:center;gap:10px;font-size:1rem;color:var(--color-text);padding:10px 14px;border-radius:999px;border:1px solid var(--color-border-soft);background-color:#fff;box-shadow:0 4px 12px #0f172a08;cursor:default;transition:transform .18s ease-out,box-shadow .18s ease-out,border-color .18s ease-out,background-color .18s ease-out}._icon-wrapper_1etgy_29 svg{font-size:1.6rem;color:var(--color-accent-strong)}._tech-item_1etgy_12:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0f172a1f;border-color:#6fb82866;background-color:var(--color-accent-soft)}@media(max-width:768px){._tech-list_1etgy_5{justify-content:flex-start}._tech-item_1etgy_12{font-size:.95rem}}._contact-me-container_15o6s_1{background-color:var(--color-bg)}._contact-list_15o6s_5{display:flex;flex-direction:column;gap:18px;margin-top:16px}._contact-item_15o6s_12{font-size:1rem;color:var(--color-text-sub)}._contact-type_15o6s_17{font-weight:600;margin-right:8px;color:var(--color-text);min-width:68px;display:inline-block}._contact-value_15o6s_25{color:var(--color-accent-strong);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:1px;transition:color .2s ease,border-color .2s ease}._contact-value_15o6s_25:hover{color:var(--color-accent);border-color:#6fb82899}@media(max-width:768px){._contact-item_15o6s_12{font-size:.95rem}}
