/* reset.css */
@layer reset, tokens, base, pages;

@layer reset {
	/* 박스 사이징 & 탭 하이라이트 최소화 */
    *, *::before, *::after { box-sizing: border-box; }
    ::selection {background: rgba(0,0,0,.12); }

	/* 기본 마진/패딩 제거(문장 구조 보존) */
    :where(body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd){ margin:0; letter-spacing:-1px;}
    :where(ul[role='list'], ol[role='list']){ list-style:none; padding-left:0; }
    ul, ol { margin:0; padding:0; }

	/* 문서/텍스트 기본 */
    html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
    body { min-height:100dvh; line-height:1.5; }

	/* 미디어 요소 */
    img, picture, video, canvas{display:block; max-width:100%; height:auto;}
	svg {display:block; max-width:100%;}

    /* 테이블(깨짐 방지만) */
    table { border-collapse: collapse; border-spacing:0; width:100%; }

    /* 폼: 상속 & 외형 초기화(브라우저별 일관화) */
    input, textarea, select, button {font: inherit; color: inherit;}
    input, textarea, select { -webkit-appearance:none; appearance:none; background-color:transparent; border:none; }
    button { cursor:pointer; background:none; border:0; }
    fieldset { border:0; padding:0; margin:0; }
    ::placeholder { opacity:.5; }

	/* 포커스는 보이게 */
    :focus-visible {outline: 1px solid var(--focus, #7054FC); outline-offset:0px; }

	/* 숨김 */
    [hidden] { display:none !important; }
 
	/* 모션 최소화 환경 */
	@media (prefers-reduced-motion: reduce){
		* { animation-duration:.01ms !important; animation-iteration-count:1 !important;
		transition-duration:.01ms !important; scroll-behavior:auto !important;}
	}

    /* 텍스트 선택 불가 */
    html, body { user-select: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; }

    /* 링크 장식 제거 */
    a { text-decoration: none; color: inherit; }

    /* 이미지 드래그 방지 */
    img { -webkit-user-drag: none; -moz-user-drag: none; -ms-user-drag: none; user-drag: none; }

    /* 이미지 선택 불가 */
    img { pointer-events: none; }
}