/* RookissLibrary 에서 가져온 것만 모은 파일(2026-10-23). 값 · 클래스 이름을 바꾸지 않고 옮겼다 — 이 페이지 모양은 preorder.css(po-).
   출처: C:\Weed\RookissLibrary\crates\server\assets\static\css\app.css
     글꼴 · 토큰 · html/body 기본값(앞부분), 로그인 · 가입 폼 부품 au-. 상단바 · 꼬리말은 페이지에서 빼며(2026-10-23 사용자) 함께 지웠다.
   바꾼 곳: 글꼴 주소 {{asset:fonts/…}} → ../fonts/…, --crown 토큰 뺌(아래), .au 안에만 걸리던 포커스 규칙을 범위 없이. */

/* 글꼴 Pretendard 1.3.9(OFL, ../fonts/OFL.txt) 부분 집합 둘 — core: 사이트 글자 + 라틴 · 기호, ext: KS X 1001 한글 중 core 에 없는 글자.
   뒤에 쓴 core 를 먼저 찾고 core 에 없는 한글만 ext 로 간다 */
@font-face{font-family:Pretendard;src:url(../fonts/pretendard-ext.woff2) format('woff2');font-weight:45 920;font-display:swap;unicode-range:U+AC00-D7A3}
@font-face{font-family:Pretendard;src:url(../fonts/pretendard-core.woff2) format('woff2');font-weight:45 920;font-display:swap}
:root{--bk:#0F0F0F;--red:#FF4155;--t1:#FFFFFF;--t2:#A1A1AA;--t3:#71717A;--s1:#1A1A1D;--s2:#232327;--ln:#26262A}
/* 사이트의 --crown(왕관 data: SVG)은 뺐다 — CSP default-src 'self' 는 data: 그림을 막는다. 왕관은 ../img/crown.svg 파일로 쓴다 */
html{scrollbar-width:none;background:#0F0F0F;color-scheme:dark}
html::-webkit-scrollbar{display:none}
body{margin:0;font:16px/1.6 Pretendard,system-ui,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;-webkit-font-smoothing:antialiased}
:where(button,input,select,textarea){font-family:inherit}
img,video{max-width:100%;height:auto}
a{text-decoration:none}
/* ── 폼 부품(로그인 · 가입 화면 au-, view/account.rs) ──
   라벨은 칸 위(13/600 #A1A1AA), 칸은 s1 바탕 · ln 테 · 포커스 레드 테 + 옅은 레드 빛, 오류는 칸 붉은 테 + 칸 아래 빨간 13px,
   단추는 흰 알약, 동의 체크박스는 흰 칸에 검은 체크, "보기"가 아래에 수집 안내를 편다. 레드는 포커스 · 오류에만 */
.au-f{color:var(--t2);font-size:13px;font-weight:600}
.au-f small{margin-left:6px;color:var(--t3);font-size:12.5px;font-weight:500}
.au-msg{color:var(--red);font-size:13px}
.au-msg:empty{display:none}
.au-in{width:100%;height:48px;padding:0 16px;border:0;border-radius:12px;outline:0;background:var(--s1);box-shadow:inset 0 0 0 1px var(--ln);color:var(--t1);font:inherit;font-size:15px;transition:background-color .15s,box-shadow .15s}
.au-in:hover{background:var(--s2)}
.au-in:focus{background:var(--s2);box-shadow:inset 0 0 0 1px var(--red),0 0 0 3px rgba(255,65,85,.22)}
.au-in[aria-invalid=true]{box-shadow:inset 0 0 0 1px var(--red)}
.au-in[aria-invalid=true]:focus{box-shadow:inset 0 0 0 1px var(--red),0 0 0 3px rgba(255,65,85,.22)}
/* 브라우저 자동 완성의 밝은 바탕을 칸 색으로 덮는다 */
.au-in:autofill{-webkit-text-fill-color:var(--t1);caret-color:var(--t1);box-shadow:inset 0 0 0 1px var(--ln),inset 0 0 0 100px var(--s1)}
.au-in[aria-invalid=true]:autofill{box-shadow:inset 0 0 0 1px var(--red),inset 0 0 0 100px var(--s1)}
.au-in:autofill:focus{box-shadow:inset 0 0 0 1px var(--red),inset 0 0 0 100px var(--s2),0 0 0 3px rgba(255,65,85,.22)}
.au-in::placeholder{color:var(--t3)}
.au-go{height:48px;margin-top:12px;border:0;border-radius:24px;background:var(--t1);color:var(--bk);font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:background-color .15s}
.au-go:hover{background:#E4E4E7}
.au-agree{min-width:0;margin:12px 0 0;padding:0;border:0}
.au-agree legend{padding:0}
.au-checks{display:grid;margin-top:8px;padding:2px 16px;border-radius:12px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--ln)}
.au-check{display:flex;align-items:flex-start;gap:10px;padding:12px 0;color:#E4E4E7;font-size:14px;line-height:1.45;cursor:pointer}
.au-checks>*+*{box-shadow:inset 0 1px var(--ln)}
.au-check em{font-style:normal;color:var(--t3)}
.au-check input{appearance:none;flex:none;font:inherit;display:grid;place-items:center;width:20px;height:20px;margin:0;border-radius:6px;background:var(--bk);box-shadow:inset 0 0 0 1.5px #52525B;cursor:pointer;transition:background-color .15s,box-shadow .15s}
.au-check input::before{content:'';width:9px;height:5px;margin-top:-2px;border:solid var(--bk);border-width:0 0 2px 2px;rotate:-45deg;opacity:0}
.au-check:hover input:not(:checked){box-shadow:inset 0 0 0 1.5px #71717A}
.au-check input:checked{background:var(--t1);box-shadow:none}
.au-check input:checked::before{opacity:1}
.au-check input[aria-invalid=true]{box-shadow:inset 0 0 0 1.5px var(--red)}
.au-agree>.au-msg{margin-top:8px}
/* 개인정보 수집·이용 안내: 체크 줄 오른쪽 끝의 "보기"가 아래에 항목 · 목적 · 보유 기간 · 거부 권리를 편다 */
.au-pi{position:relative}
.au-pi .au-check{padding-right:44px}
.au-more>summary{position:absolute;top:12px;right:0;list-style:none;border-radius:4px;color:var(--t3);font-size:13px;line-height:1.45;cursor:pointer;transition:color .15s}
.au-more>summary::-webkit-details-marker{display:none}
.au-more>summary:hover,.au-more[open]>summary{color:var(--t1)}
.au-more-box{display:grid;gap:2px;margin:-4px 0 12px 30px;padding:12px 14px;border-radius:10px;background:var(--bk);color:var(--t2);font-size:12.5px;line-height:1.6}
.au-more-box dt{color:var(--t1);font-weight:600}
.au-more-box dt:not(:first-child){margin-top:6px}
.au-more-box dd{margin:0}
.au-fine{color:var(--t3);font-size:12.5px}
.au-hide{position:absolute;width:1px;height:1px;padding:0;border:0;font:inherit;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:is(.au-go,.au-check input,.au-more>summary):focus-visible{outline:2px solid var(--red);outline-offset:2px}
