/* Tokens 최소셋 */
:root { 
	--html-font:18px; --font-color:#222; --bg-color:#fff; --sunbursi-orange:#FE8130; --shadow-steel:#2D2D2D; --deep-wave:#4876EE; 
	--sidebar-w:300px; --header-h:60px; --foot-h:55px;
}

/* a_reset.css */

/* 박스사이징 */
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }

/* 루트/바디 */
html { width:100%; min-height:100dvh; font-size:var(--html-font); -webkit-text-size-adjust:100%; }
body { position:relative; width:100%; min-height:100dvh; overflow-x:hidden; font-family:'Noto Sans KR', system-ui, -apple-system, Segoe UI, Roboto, sans-serif; font-size:14px; color:var(--font-color); background:var(--bg-color); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }

/* 목록/링크/텍스트 */
ol, ul { list-style:none; }
a { color:inherit; text-decoration:none; -webkit-tap-highlight-color:rgba(0,0,0,0); }
/*a:focus-visible { outline:2px solid #222; outline-offset:2px; }*/
em, address { font-style:normal; }

/* 이미지/미디어 */
img, svg, video, canvas { display:block; max-width:100%; height:auto; }
img { border:0; vertical-align:top; }

/* 폼 요소 (기본 보존) */
input, button, textarea, select { font:inherit; color:inherit; outline:0; }
button { border:0; background:none; cursor:pointer; user-select:none; }
/*button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline:2px solid #222; outline-offset:2px; }*/
input, textarea { outline:0; border:0; background:transparent; }


input[readonly], textarea[readonly], select[readonly] { background: #f2f2f2; color: #333; border-color: #d9d9d9; }
input:disabled, textarea:disabled, select:disabled { background: #e9e9e9; color: #777; border-color: #d0d0d0; cursor: not-allowed; }

input::placeholder, textarea::placeholder { color:#9F9F9F; transition:color .3s ease; }
:focus::placeholder { color:transparent; }
input[type="text"] { padding:0 10px; }
input[type="file"] { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; } /* 시각적 숨김(접근성 OK) */
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus { box-shadow:0 0 0 1000px #fff inset !important; -webkit-box-shadow:0 0 0 1000px #fff inset !important; transition:background-color 5000s ease-in-out 0s; }

textarea { width:100%; min-height:100px; resize:vertical; }
select { border:0; outline:0; padding:0 10px; }

/* 테이블 */
table { width:100%; border-collapse:collapse; border-spacing:0; } /* layout은 컴포넌트에서 결정 */

/* 스크롤바 (크롬/엣지) 
::-webkit-scrollbar { display:none; width:8px; height:8px; }
::-webkit-scrollbar-track { background:rgba(0,0,0,.06); }
::-webkit-scrollbar-thumb { background:rgba(0,0,0,.28); border-radius:4px; }
 */
 
/* 컨텐츠 편집 */
[contenteditable="true"] { outline:none; }

/* 모션 최소화 사용자 설정 존중 */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
