/* ======================================================================== reset.css — 2025 작성자: 정수빈 날짜: 2025-10-17 ======================================================================== */ /* box-sizing & 기본 리셋 */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } /* HTML5 요소 기본 표시 보장 */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display: block; } /* root 설정 */ html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; font-size: 16px; } body { min-height: 100vh; line-height: 1.5; font-family: 'Noto Sans KR', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; letter-spacing: -0.35px; color: #222; background-color: #fff; } /* 텍스트 요소 */ h1, h2, h3, h4, h5, h6, p { font-weight: inherit; font-size: inherit; color: inherit; margin: 0; padding: 0; } a { color: inherit; text-decoration: none; display: inline-block; } a:focus-visible { outline: 2px solid #222; outline-offset: 3px; } /* 리스트 */ ol, ul { list-style: none; } /* 이미지 및 미디어 */ img, picture, video, canvas, svg { display: block; max-width: 100%; height: auto; border: 0; font-size: 0; } /* 표 */ table { border-collapse: collapse; border-spacing: 0; table-layout: fixed; width: 100%; } /* 폼 요소 */ button, input, select, textarea { font: inherit; color: inherit; border: none; background: none; margin: 0; padding: 0; vertical-align: middle; appearance: none; } /* 라디오, 체크박스는 appearance 제거 금지 (기본 표시 유지) */ input[type="radio"], input[type="checkbox"] { appearance: auto; -webkit-appearance: auto; -moz-appearance: auto; display: inline-block; width: auto; height: auto; cursor: pointer; vertical-align: middle; } button { cursor: pointer; background: transparent; } input::placeholder, textarea::placeholder { color: #777; font-weight: 400; font-size:14px; } input:disabled, input:read-only, textarea:disabled, textarea:read-only, select:disabled, select:read-only input.readonly, textarea.readonly, select.readonly{ background-color: var(--disable-fill-bg-color) !important; color: var(--disable-fill-text-color) !important; border: 1px solid var(--disable-fill-line-color) !important; } /* 접근성 - label 숨김 처리 */ caption,.caption, .label, .sr-only, .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } /* 스크롤바 커스터마이징 */ ::-webkit-scrollbar { width: 7px; height: 7px; } ::-webkit-scrollbar-thumb { background: #adadad; border-radius: 10px; } ::-webkit-scrollbar-track { background: transparent; } /* 인용, 기타 */ blockquote, q { quotes: none; } blockquote::before, blockquote::after, q::before, q::after { content: ''; } /* 폼 예외 처리 */ input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { appearance: none; } /* 주소, 이탤릭 등 */ address, em, i { font-style: normal; } /* hr */ hr { border: none; height: 1px; background: #e0e0e0; margin: 0; } /* 텍스트영역 기본 */ textarea { resize: vertical; color: #333; } /* 접근성: 모션 줄이기 선호 시 */ @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; } } /* 다크모드 기본 대응 */ @media (prefers-color-scheme: dark) { body { color: #e6e6e6; background-color: #111; } ::-webkit-scrollbar-thumb { background: #666; } }