* { margin: 0; padding: 0; box-sizing: border-box; }
body { min-height: 100vh; overflow: hidden; background: linear-gradient(140deg, #ffffff 0%, #fbfffe 34%, #f1fcfb 68%, #e4f8f6 100%); font-family: Arial, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; color: #111111; }
.error_page { position: relative; min-height: 100vh; padding: 24px; display: flex; align-items: center; justify-content: center; }
.error_page::before { content: ""; position: absolute; top: -12vh; left: -8vw; width: 42vw; height: 42vw; min-width: 260px; min-height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(1, 200, 193, 0.14) 0%, rgba(1, 200, 193, 0.06) 42%, rgba(1, 200, 193, 0) 72%); filter: blur(8px); }
.error_page::after { content: ""; position: absolute; right: -10vw; bottom: -16vh; width: 48vw; height: 48vw; min-width: 320px; min-height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(1, 200, 193, 0.16) 0%, rgba(1, 200, 193, 0.05) 46%, rgba(1, 200, 193, 0) 74%); filter: blur(10px); }
.error_page .shape { position:absolute; pointer-events:none; background:linear-gradient(135deg, rgba(1, 200, 193, 0.14) 0%, rgba(1, 200, 193, 0.04) 100%); }
.error_page .shape_1 { top:12%; left:14%; width:18px; height:18px; border-radius:6px; transform:rotate(18deg); }
.error_page .shape_2 { top:20%; right:18%; width:12px; height:12px; border-radius:4px; transform:rotate(18deg); }
.error_page .shape_3 { top:28%; right:10%; width:72px; height:72px; border-radius:24px; transform:rotate(24deg); }
.error_page .shape_4 { left:10%; bottom:18%; width:88px; height:88px; border-radius:28px; transform:rotate(-14deg); }
.error_page .shape_5 { right:14%; bottom:22%; width:20px; height:20px; border-radius:6px; transform:rotate(18deg); }
.error_page .shape_6 { left:20%; bottom:10%; width:10px; height:10px; border-radius:3px; transform:rotate(18deg); }
.error_page .shape_7 { right:6%; bottom:28%; width:88px; height:88px; border-radius:24px; background:linear-gradient(135deg, rgba(1, 200, 193, 0.18) 0%, rgba(1, 200, 193, 0.06) 100%); transform:rotate(18deg); }
.error_page .shape_8 { right:24%; bottom:10%; width:56px; height:56px; border-radius:18px; transform:rotate(-16deg); }
.error_page .error_box { position: relative; z-index: 1; width: 100%; max-width: 640px; padding: 32px 0; text-align: center; }
.error_page .error_title { position: relative; z-index: 1; margin-bottom:25px; font-size: 48px; line-height: 1.22; font-weight:800; letter-spacing: -0.04em; word-break: keep-all; }
.error_page .error_text { position: relative; z-index: 1; max-width: 520px; margin: 0 auto; font-size: 18px; line-height: 1.5; color: #4f5d5c; word-break: keep-all; }
.error_page .error_btn_wrap { position: relative; z-index: 1; margin-top: 36px; }
.error_page .error_btn { min-width: 160px; height: 52px; padding: 0 28px; border: 0; border-radius: 999px; background: linear-gradient(135deg, #01c8c1 0%, #18d7d0 100%); font-size: 16px; line-height: 1; font-weight: 600; color: #ffffff; box-shadow: 0 14px 30px rgba(1, 200, 193, 0.22); cursor: pointer; }
.error_page .error_btn:hover { opacity: 0.94; }
.error_page .error_btn:active { transform: translateY(2px) scale(0.98); box-shadow: 0 8px 18px rgba(1, 200, 193, 0.18); }

@media (max-width: 767px) {
    body { background:linear-gradient(160deg, #ffffff 0%, #f7fffe 24%, #eafcf9 58%, #d4f6f2 100%); }
	.error_page::before { background:radial-gradient(circle, rgba(1, 200, 193, 0.22) 0%, rgba(1, 200, 193, 0.1) 40%, rgba(1, 200, 193, 0) 74%); opacity:1; }
	.error_page::after { background:radial-gradient(circle, rgba(1, 200, 193, 0.24) 0%, rgba(1, 200, 193, 0.09) 42%, rgba(1, 200, 193, 0) 76%); opacity:1; }
    .error_page { min-height:100svh; padding:32px 20px 28px; align-items:center; }
    .error_page .shape { opacity:0.5; }
    .error_page .shape_1 { top:72px; left:18px; width:14px; height:14px; border-radius:5px; transform:rotate(18deg); }
    .error_page .shape_2 { top:108px; right:26px; width:10px; height:10px; border-radius:3px; transform:rotate(18deg); }
    .error_page .shape_3 { top:136px; right:-10px; width:44px; height:44px; border-radius:14px; transform:rotate(24deg); }
    .error_page .shape_4 { left:-14px; bottom:108px; width:54px; height:54px; border-radius:18px; transform:rotate(-14deg); }
    .error_page .shape_5 { right:34px; bottom:128px; width:14px; height:14px; border-radius:5px; transform:rotate(18deg); }
    .error_page .shape_6 { left:28px; bottom:76px; width:8px; height:8px; border-radius:3px; transform:rotate(18deg); }
    .error_page .shape_7 { right:-8px; bottom:168px; width:68px; height:68px; border-radius:20px; transform:rotate(18deg); }
    .error_page .shape_8 { right:56px; bottom:54px; width:34px; height:34px; border-radius:12px; transform:rotate(-16deg); }
    .error_page .error_box { max-width:100%; padding:0; }
    .error_page .error_title { margin-bottom:18px; padding:0 6px; font-size:32px; line-height:1.24; letter-spacing:-0.03em; }
    .error_page .error_text { max-width:300px; font-size:15px; line-height:1.55; }
    .error_page .error_btn_wrap { margin-top:28px; }
    .error_page .error_btn { width:100%; max-width:280px; min-width:0; height:50px; padding:0 20px; font-size:15px; }
}