/* auth.css — 가입(login.html) · 내 설정(me.html) · 관리자(admin.html) 전용 · ACC1 2026-10-02
   이 세 화면은 style.css 를 읽지 않는다 — 가입 기능이 켜지면 잠금 문(AUTH1 src/auth/gate.py)이 로그인 전·승인 전 사람에게
   style.css 를 막는다(열린 파일 = login.html · auth.css · auth_embed.js 뿐, 2026-10-02 19:3x 읽어 봄).
   그래서 바탕 색 값은 style.css(2026-10-02 판) 3~17줄을 그대로 옮겨 왔다(밝게/어둡게 열쇠 horse_theme 도 같음).
   이름은 전부 .au- 로 시작한다. 색 뜻(첫 화면과 같게): 초록 = 정상·켜짐 · 빨강 = 멈춤·위험 · 노랑 = 대기·주의 · 금색 = 돈
   폰 375px 이 먼저다. 입력칸 글씨는 16px(폰에서 누르면 화면이 저절로 커지는 것 막기). */

/* ---------- 바탕 색 (style.css 값 그대로) + 이 화면 색 ---------- */
:root{
  --bg:#0f1318; --bg2:#161c23; --bg3:#1d242d; --line:#2a323c;
  --fg:#dde3ea; --fg2:#96a3b3; --fg3:#6a7787; --sel:#243141; --accent:#4a9cf0;
  --a-up:#3ecf8e; --a-dn:#ff6b6b; --a-warn:#f0a13a; --a-money:#f5c542;
  --a-upbg:rgba(62,207,142,.12); --a-dnbg:rgba(255,107,107,.12); --a-warnbg:rgba(240,161,58,.14); --a-moneybg:rgba(245,197,66,.12);
  --a-shadow:0 12px 40px rgba(0,0,0,.45);
}
body[data-theme="light"]{
  --bg:#f4f5f7; --bg2:#ffffff; --bg3:#eef1f5; --line:#dde1e7;
  --fg:#1d2530; --fg2:#5b6675; --fg3:#8b95a3; --sel:#fff3e0; --accent:#2563eb;
  --a-up:#1b7f4b; --a-dn:#c0392b; --a-warn:#b7791f; --a-money:#9a6a00;
  --a-upbg:rgba(27,127,75,.10); --a-dnbg:rgba(192,57,43,.10); --a-warnbg:#fdf3dc; --a-moneybg:#fdf6e3;
  --a-shadow:0 12px 40px rgba(20,30,45,.18);
}
*, *::before, *::after{box-sizing:border-box}
html{height:100%; -webkit-text-size-adjust:100%; text-size-adjust:100%}
body.au-body{
  margin:0; min-height:100%; background:var(--bg); color:var(--fg);
  font-family:"Malgun Gothic","맑은 고딕",system-ui,sans-serif; font-size:13px;
}
b{font-weight:700}

.au{max-width:620px; margin:0 auto; padding:12px 16px 64px; font-size:15px; line-height:1.6; color:var(--fg)}
.au-wide{max-width:980px}
.au a{color:var(--accent)}
.au [hidden]{display:none !important}

/* ---------- 머리 ---------- */
.au-head{display:flex; align-items:center; gap:8px; margin:2px 0 12px; min-width:0}
.au-title{font-size:17px; font-weight:700; white-space:nowrap}
.au-grow{flex:1 1 auto; min-width:0}

/* ---------- 단추 ---------- */
.au-btn{
  border:1px solid var(--line); color:var(--fg); background:none; border-radius:8px; padding:8px 16px;
  font-size:15px; font-family:inherit; line-height:1.4; cursor:pointer; text-decoration:none; white-space:nowrap;
  display:inline-flex; align-items:center; justify-content:center; gap:6px; -webkit-tap-highlight-color:transparent;
}
.au a.au-btn{color:var(--fg)}
.au a.au-btn.pri{color:#fff}
.au-btn:hover{border-color:var(--fg3)}
.au-btn:disabled{opacity:.4; cursor:not-allowed}
.au-btn-s{padding:3px 10px; font-size:12.5px; line-height:1.6}
.au-btn.pri{background:var(--accent); border-color:var(--accent); color:#fff; font-weight:700}
.au-btn.pri:hover{filter:brightness(1.08)}
.au-btn.ok{border-color:var(--a-up); color:var(--a-up); font-weight:700}
.au-btn.dng{border-color:var(--a-dn); color:var(--a-dn)}
.au-btn.dng.fill{background:var(--a-dn); color:#fff; font-weight:700}
.au-btn.money{border-color:var(--a-money); color:var(--a-money); font-weight:700}
.au-btn.money.fill{background:var(--a-money); color:#1d1a10}
.au-btn.busy{opacity:.6; pointer-events:none}

/* ---------- 칸(카드) ---------- */
.au-card{background:var(--bg2); border:1px solid var(--line); border-radius:12px; padding:14px; margin:0 0 12px; min-width:0}
.au-card h2{font-size:16px; margin:0 0 10px; font-weight:700; line-height:1.45; display:flex; align-items:center; gap:8px; flex-wrap:wrap}
.au-card h2 .au-h2s{font-size:12.5px; font-weight:400; color:var(--fg2)}
.au-sub{color:var(--fg2); font-size:13px}
.au-mut{color:var(--fg2)}
.au-empty{color:var(--fg2); font-size:14px; padding:10px 2px}

/* ---------- 딱지 ---------- */
.au-pills{display:flex; flex-wrap:wrap; gap:5px; margin-top:6px}
.au-pill{
  display:inline-block; font-size:12px; line-height:1.55; padding:0 9px; border-radius:999px; border:1px solid var(--line);
  color:var(--fg2); white-space:nowrap; font-weight:500; vertical-align:1px;
}
.au-pill.ok{color:var(--a-up); border-color:var(--a-up); background:var(--a-upbg)}
.au-pill.warn{color:var(--a-warn); border-color:var(--a-warn); background:var(--a-warnbg)}
.au-pill.dn{color:var(--a-dn); border-color:var(--a-dn); background:var(--a-dnbg)}
.au-pill.money{color:var(--a-money); border-color:var(--a-money); background:var(--a-moneybg); font-weight:700}
.au-pill.acc{color:var(--accent); border-color:var(--accent)}
.au-pill.me{color:var(--fg); border-color:var(--fg3)}

/* ---------- 큰 안내 줄 ---------- */
.au-ban{border-radius:10px; padding:10px 12px; margin:0 0 12px; font-size:14.5px; line-height:1.55; overflow-wrap:anywhere}
.au-ban.warn{background:var(--a-warnbg); color:var(--a-warn)}
.au-ban.dn{background:var(--a-dnbg); color:var(--a-dn)}
.au-ban.info{background:var(--bg3); color:var(--fg2)}
.au-ban .au-banacts{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px}
.au-ban:empty{display:none}

/* ---------- 알림 줄(칸 안) ---------- */
.au-msg{font-size:14px; border-radius:8px; padding:8px 12px; margin:10px 0 0; line-height:1.5; overflow-wrap:anywhere}
.au-msg.ok{background:var(--a-upbg); color:var(--a-up)}
.au-msg.dn{background:var(--a-dnbg); color:var(--a-dn)}
.au-msg.warn{background:var(--a-warnbg); color:var(--a-warn)}
.au-msg.info{background:var(--bg3); color:var(--fg2)}
.au-msg:empty{display:none}

/* ---------- 입력 ---------- */
.au-field{display:block; margin:0 0 12px}
.au-lab{display:block; font-size:13px; color:var(--fg2); margin:0 0 5px}
.au-inpwrap{display:flex; gap:6px; align-items:stretch}
.au-inp{
  width:100%; min-width:0; background:var(--bg); color:var(--fg); border:1px solid var(--line); border-radius:8px;
  padding:10px 12px; font-size:16px; font-family:inherit; line-height:1.35;
}
.au-inp:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 2px rgba(74,156,240,.18)}
.au-inp:disabled{opacity:.5}
.au-inp.bad{border-color:var(--a-dn)}
.au-inp::placeholder{color:var(--fg3)}
select.au-inp{padding-right:8px}
.au-eye{flex:0 0 auto; padding:0 12px; font-size:13px}
.au-row{display:flex; flex-wrap:wrap; gap:8px; align-items:center}
.au-row .au-btn{flex:1 1 auto}
.au-hint{font-size:12.5px; color:var(--fg2); margin-top:12px; line-height:1.55}

/* ---------- 켜기/끄기 스위치 ---------- */
.au-sw{position:relative; display:inline-block; width:50px; height:28px; flex:0 0 auto; cursor:pointer; -webkit-tap-highlight-color:transparent}
.au-sw input{position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; z-index:1}
.au-sw .au-knob{position:absolute; inset:0; background:var(--bg3); border:1px solid var(--line); border-radius:999px; transition:background .15s, border-color .15s}
.au-sw .au-knob::after{
  content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%;
  background:var(--fg3); transition:transform .15s, background .15s;
}
.au-sw input:checked + .au-knob{background:var(--a-up); border-color:var(--a-up)}
.au-sw input:checked + .au-knob::after{transform:translateX(22px); background:#fff}
.au-sw input:disabled{cursor:not-allowed}
.au-sw input:disabled + .au-knob{opacity:.45}
.au-sw input:focus-visible + .au-knob{outline:2px solid var(--accent); outline-offset:2px}
.au-sw.busy{opacity:.6; pointer-events:none}

/* ---------- 가입(login.html) ---------- */
.au-login{max-width:none; margin:0; min-height:100vh; min-height:100dvh; display:flex; align-items:center; justify-content:center; padding:24px 16px}
.au-lcard{
  width:100%; max-width:360px; background:var(--bg2); border:1px solid var(--line); border-radius:16px;
  padding:34px 22px 24px; text-align:center;
}
.au-brand{font-size:30px; font-weight:800; letter-spacing:.04em; line-height:1.2}
.au-tag{color:var(--fg2); font-size:13.5px; margin:6px 0 26px}
.au-gbtn{
  width:100%; background:#fff; color:#1f1f1f; border:1px solid #dadce0; border-radius:10px; padding:12px 16px;
  font-size:16px; font-weight:600; font-family:inherit; display:flex; align-items:center; justify-content:center; gap:12px;
  text-decoration:none; cursor:pointer; -webkit-tap-highlight-color:transparent;
}
.au a.au-gbtn{color:#1f1f1f}
.au-gbtn:hover{background:#f6f8fa}
.au-gbtn svg{width:20px; height:20px; flex:0 0 auto}
.au-lcard .au-btn{width:100%}
.au-gbtn:not([hidden]) + .au-btn{margin-top:10px}
.au-lstate{margin:0 0 14px; font-size:14px; line-height:1.55; border-radius:10px; padding:10px 12px; overflow-wrap:anywhere; text-align:left}
.au-lstate.warn{background:var(--a-warnbg, rgba(240,161,58,.14)); color:var(--a-warn, #f0a13a)}
.au-lstate.dn{background:var(--a-dnbg, rgba(255,107,107,.12)); color:var(--a-dn, #ff6b6b)}
.au-lstate.ok{background:var(--a-upbg, rgba(62,207,142,.12)); color:var(--a-up, #3ecf8e)}
.au-lstate.info{background:var(--bg3); color:var(--fg2)}
.au-lstate b{display:block; font-size:15px}
.au-lstate .au-lmail{display:block; font-size:12.5px; opacity:.85; margin-top:2px}
.au-lmore{margin-top:14px; display:flex; justify-content:center; gap:14px; font-size:13px}
.au-lmore button, .au-lmore a{background:none; border:0; color:var(--fg2); font-family:inherit; font-size:13px; cursor:pointer; text-decoration:underline; padding:4px}
.au-lfoot{margin-top:18px; font-size:12px; color:var(--fg3)}

/* ---------- 내 설정(me.html) ---------- */
.au-acct{display:flex; align-items:flex-start; gap:10px; justify-content:space-between}
.au-who{min-width:0}
.au-who b{display:block; font-size:16px; overflow-wrap:anywhere}
.au-kstate{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:0 0 12px; font-size:14px}
.au-kstate .au-ktxt{color:var(--fg2); overflow-wrap:anywhere; min-width:0}
.au-autorow{display:flex; align-items:center; justify-content:space-between; gap:12px}
.au-autorow b{font-size:16px}

/* ---------- 관리자 탭 ---------- */
.au-tabs{
  display:flex; gap:2px; border-bottom:1px solid var(--line); margin:0 0 12px;
  position:sticky; top:0; background:var(--bg); z-index:5;
}
.au-tab{
  flex:1 1 0; background:none; border:0; border-bottom:2px solid transparent; color:var(--fg2); padding:11px 4px 9px;
  font-size:15px; font-family:inherit; cursor:pointer; white-space:nowrap; -webkit-tap-highlight-color:transparent;
}
.au-tab:hover{color:var(--fg)}
.au-tab.on{color:var(--fg); font-weight:700; border-bottom-color:var(--accent)}
.au-cnt{
  display:inline-block; min-width:20px; padding:0 6px; margin-left:4px; border-radius:999px; font-size:12px; line-height:1.6;
  background:var(--a-warn); color:#1d1a10; font-weight:700; vertical-align:1px;
}
.au-cnt:empty{display:none}
.au-pane{display:none}
.au-pane.on{display:block}

/* 거르기 줄 */
.au-chips{display:flex; gap:6px; overflow-x:auto; padding-bottom:2px; margin:0 0 10px; -webkit-overflow-scrolling:touch; scrollbar-width:none}
.au-chips::-webkit-scrollbar{display:none}
.au-chip{
  flex:0 0 auto; border:1px solid var(--line); background:none; color:var(--fg2); border-radius:999px; padding:4px 12px;
  font-size:13.5px; font-family:inherit; cursor:pointer; white-space:nowrap; -webkit-tap-highlight-color:transparent;
}
.au-chip b{color:var(--fg); margin-left:3px; font-variant-numeric:tabular-nums}
.au-chip.on{border-color:var(--accent); color:var(--fg); background:var(--sel)}

/* 가입자 카드 */
.au-users{display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:10px}
.au-user{background:var(--bg2); border:1px solid var(--line); border-radius:12px; padding:12px 14px; min-width:0}
.au-user.pending{border-color:var(--a-warn)}
.au-user.suspended{opacity:.78}
.au-email{font-weight:700; font-size:15.5px; overflow-wrap:anywhere; display:block}
.au-uname{color:var(--fg2); font-size:13px}
.au-umeta{font-size:12.5px; color:var(--fg2); margin-top:6px; font-variant-numeric:tabular-nums}
.au-acts{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px}
.au-acts .au-btn{padding:6px 12px; font-size:14px}

/* 설정 */
.au-find{margin:0 0 12px}
.au-group h2{margin-bottom:4px}
.au-set{padding:12px 0; border-top:1px solid var(--line); min-width:0}
.au-group .au-set:first-of-type{border-top:0}
.au-set.changed{box-shadow:inset 3px 0 0 var(--accent); padding-left:10px; margin-left:-14px; padding-right:0}
.au-shead{display:flex; align-items:flex-start; justify-content:space-between; gap:12px}
.au-sname{font-weight:700; font-size:15px; overflow-wrap:anywhere; min-width:0}
.au-shelp{font-size:12.5px; color:var(--fg2); margin-top:1px; line-height:1.5; overflow-wrap:anywhere}
.au-sctl{display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:8px}
.au-sctl .au-inp{width:auto; flex:1 1 120px; max-width:220px; padding:7px 10px}
.au-sctl input[type="time"].au-inp{flex:0 1 140px}
.au-sctl .au-btn{padding:6px 14px; font-size:14px}
.au-unit{color:var(--fg2); font-size:13.5px}
.au-smeta{display:flex; flex-wrap:wrap; align-items:center; gap:4px 6px; margin-top:7px; font-size:12px; color:var(--fg2)}
.au-smeta .au-dflt{font-variant-numeric:tabular-nums}
.au-spend{font-size:12.5px; color:var(--a-warn); margin-top:5px; overflow-wrap:anywhere}
.au-serr{font-size:12.5px; color:var(--a-dn); margin-top:5px}
.au-serr:empty, .au-spend:empty{display:none}
/* INT1 2026-10-02: 기계에 안 이어진 설정 — 저장한 값 · 실제 동작은 그대로 (빨강 · 굵게) */
.au-sreal{font-size:12.5px; color:var(--a-dn); background:var(--a-dnbg); border-radius:6px; padding:4px 8px; margin-top:6px; font-weight:700; overflow-wrap:anywhere}
.au-sreal:empty{display:none}
.au-wireban b{display:block; font-size:15px; margin-bottom:2px}
#adSetBan:empty{display:none}

/* 기록 */
.au-log{display:flex; flex-direction:column}
.au-lrow{padding:10px 0; border-top:1px solid var(--line); font-size:14px; line-height:1.5; min-width:0}
.au-lrow:first-child{border-top:0; padding-top:2px}
.au-lhead{display:flex; flex-wrap:wrap; gap:2px 8px; font-size:12.5px; color:var(--fg2)}
.au-ltime{font-variant-numeric:tabular-nums}
.au-lwho{overflow-wrap:anywhere; min-width:0}
.au-lwhat{margin-top:2px; overflow-wrap:anywhere}
.au-lwhat b{font-weight:700}
.au-old{color:var(--fg3); text-decoration:line-through}
.au-arrow{color:var(--fg3); margin:0 4px}
.au-more{text-align:center; margin-top:10px}

/* ---------- 확인 창 ---------- */
.au-modal{
  position:fixed; inset:0; z-index:1000; background:rgba(0,0,0,.55); display:flex; align-items:flex-end; justify-content:center;
  padding:12px; color:var(--fg); font-size:15px; line-height:1.6;
}
.au-dlg{
  width:100%; max-width:420px; background:var(--bg2); border:1px solid var(--line); border-radius:16px;
  padding:18px 16px 14px; box-shadow:var(--a-shadow); max-height:calc(100vh - 24px); overflow:auto;
}
.au-dlg h3{margin:0 0 6px; font-size:17px; line-height:1.4}
.au-dlg .au-dpills{display:flex; gap:5px; flex-wrap:wrap; margin:0 0 6px}
.au-dlg .au-dline{margin:0 0 4px; font-size:14px; color:var(--fg2); overflow-wrap:anywhere}
.au-dlg .au-dline b{color:var(--fg)}
.au-dlg .au-dchg{margin:8px 0 4px; font-size:15px; background:var(--bg); border-radius:8px; padding:8px 10px; overflow-wrap:anywhere}
.au-dacts{display:flex; gap:8px; margin-top:14px}
.au-dacts .au-btn{flex:1 1 0; padding:11px 10px}
@media (min-width:600px){ .au-modal{align-items:center} }

/* ---------- 알림(아래 뜨는 한 줄) ---------- */
.au-toast{
  position:fixed; left:0; right:0; bottom:18px; margin:0 auto; width:max-content; z-index:1100; max-width:calc(100% - 32px);
  pointer-events:none;
  background:var(--bg3); color:var(--fg); border:1px solid var(--line); border-radius:12px; padding:10px 16px;
  font-size:14px; line-height:1.5; box-shadow:var(--a-shadow); overflow-wrap:anywhere; text-align:center;
}
.au-toast.ok{border-color:var(--a-up)}
.au-toast.dn{border-color:var(--a-dn); color:var(--a-dn)}
.au-toast.warn{border-color:var(--a-warn)}

/* ---------- 폰 ---------- */
@media (max-width:560px){
  .au-users{grid-template-columns:minmax(0, 1fr)}
  .au-card{padding:13px 12px}
  .au-set.changed{margin-left:-12px}
  .au-tab{font-size:14.5px}
}

/* ======== UXR1 (2026-10-03) 첫 화면 틀 안(iframe) 모양 + 깊이(2D·3D) — 진석 "디자인 2d 3d로 이쁘고 직관적으로" ========
   · .au-embed(admin.html·me.html 머리의 작은 스크립트가 붙임 — 주소 끝 embed= 이고 틀 안일 때만): 이 화면 머리 숨김(틀의 맨 위 줄·탭이 대신)
       au-embed-users = 회원 쪽(안쪽 탭 줄 숨김) · au-embed-settings = 설정 쪽(안쪽 탭은 「설정 · 기록」 둘만)
   · 깊이 = 첫 화면 UXD1 값 그대로(카드 윗면 빛 · 여러 겹 그림자 · 눌리는 단추 · 구슬 손잡이 · 파인 입력칸) — 밝은 화면은 아래 값만 따로
   · 단추가 하는 일·확인 창·글은 그대로(모양만) · 계속 도는 움직임 없음 */
:root{
  --au-c1:#1b2331; --au-c2:#151b24; --au-edge:rgba(255,255,255,.075); --au-hi:rgba(255,255,255,.06);
  --au-sh:0 1px 0 var(--au-hi) inset, 0 16px 28px -18px rgba(0,0,0,.95), 0 3px 8px -3px rgba(0,0,0,.55);
  --au-sh-s:0 1px 0 var(--au-hi) inset, 0 6px 14px -10px rgba(0,0,0,.9);
  --au-well:#0b0f15; --au-well-sh:inset 0 1px 3px rgba(0,0,0,.8), inset 0 0 0 1px rgba(255,255,255,.03);
  --au-b1:#242d3c; --au-b2:#19202b; --au-bsh:0 6px 12px -8px rgba(0,0,0,.95), 0 1px 0 rgba(255,255,255,.07) inset;
  --au-bsh-on:inset 0 2px 5px rgba(0,0,0,.6); --au-drop:rgba(0,0,0,.5);
}
body[data-theme="light"]{
  --au-c1:#ffffff; --au-c2:#f5f7fa; --au-edge:rgba(16,24,40,.10); --au-hi:rgba(255,255,255,.95);
  --au-sh:0 1px 0 var(--au-hi) inset, 0 14px 26px -18px rgba(16,24,40,.45), 0 2px 6px -2px rgba(16,24,40,.14);
  --au-sh-s:0 1px 0 var(--au-hi) inset, 0 6px 12px -9px rgba(16,24,40,.35);
  --au-well:#e5e9ef; --au-well-sh:inset 0 1px 3px rgba(16,24,40,.22);
  --au-b1:#ffffff; --au-b2:#edf1f6; --au-bsh:0 4px 10px -7px rgba(16,24,40,.45), 0 1px 0 #fff inset;
  --au-bsh-on:inset 0 2px 4px rgba(16,24,40,.25); --au-drop:rgba(16,24,40,.22);
}

/* ---- 틀 안(iframe) ---- */
.au-embed .au-head{display:none}
.au-embed .au{padding-top:12px}
.au-embed-users #adTabs{display:none}
.au-embed-settings #adTabs .au-tab[data-tab="users"]{display:none}
.au-embed .au-banacts a[href="index.html"]{display:none}          /* 틀 안: 「첫 화면」 링크는 틀의 「홈」 탭이 대신 */

/* ---- 카드 · 단추 · 입력 — 깊이 ---- */
.au-card, .au-user, .au-lcard{background:linear-gradient(165deg, var(--au-c1), var(--au-c2) 62%); border-color:var(--au-edge); box-shadow:var(--au-sh)}
.au-card{border-radius:18px}
.au-user{border-radius:16px}
.au-user.pending{border-color:var(--a-warn)}
.au-lcard{border-radius:22px}
.au-btn{background:linear-gradient(180deg, var(--au-b1), var(--au-b2)); border-color:var(--au-edge); box-shadow:var(--au-bsh); border-radius:12px;
  transition:transform .08s ease, box-shadow .08s ease}
.au-btn-s{border-radius:10px}
.au-btn:active:not(:disabled){transform:translateY(1px); box-shadow:var(--au-bsh-on)}
.au-btn:disabled{box-shadow:none}
.au-btn.pri{background:linear-gradient(180deg, #4b8dff, #2563eb); border-color:#2f6bff; color:#fff}
.au-btn.ok{border-color:var(--a-up)}
.au-btn.dng{border-color:var(--a-dn)}
.au-btn.money{border-color:var(--a-money)}
.au-btn.dng.fill{background:linear-gradient(180deg, #ff7b7b, #d63c3c); color:#fff}
.au-btn.money.fill{background:linear-gradient(180deg, #ffdb73, #e0a800); color:#1d1a10}
.au-inp{background:var(--au-well); box-shadow:var(--au-well-sh); border-color:var(--au-edge)}
.au-inp:focus{box-shadow:var(--au-well-sh), 0 0 0 2px rgba(74,156,240,.25)}
.au-gbtn{box-shadow:0 8px 16px -10px rgba(0,0,0,.7), 0 1px 0 #fff inset; border-radius:14px}
.au-gbtn:active{transform:translateY(1px)}
/* 안쪽 탭(설정 · 기록) = 파인 자리 안의 떠 있는 단추 */
.au-tabs{gap:2px; padding:3px; border:0; border-radius:12px; background:var(--au-well); box-shadow:var(--au-well-sh); top:6px}
.au-tab{border:0; border-radius:9px; padding:8px 4px}
.au-tab.on{border:0; background:linear-gradient(180deg, var(--au-b1), var(--au-b2)); box-shadow:var(--au-bsh)}
/* 거르기 알약 · 숫자 구슬 */
.au-chip{background:linear-gradient(180deg, var(--au-b1), var(--au-b2)); border-color:var(--au-edge); box-shadow:var(--au-bsh)}
.au-chip.on{border-color:var(--accent); background:var(--sel)}
.au-chip:active{transform:translateY(1px)}
.au-cnt{background:radial-gradient(circle at 35% 30%, #ffe2a8, #f0a13a 60%, #a8650a); box-shadow:0 2px 5px -1px rgba(0,0,0,.6)}
/* 켜기/끄기 = 파인 홈 + 구슬 손잡이 */
.au-sw .au-knob{background:var(--au-well); box-shadow:var(--au-well-sh); border-color:var(--au-edge)}
.au-sw .au-knob::after{background:radial-gradient(circle at 35% 30%, #fff, #aab4c4 70%); box-shadow:0 2px 4px rgba(0,0,0,.55)}
.au-sw input:checked + .au-knob{background:linear-gradient(90deg, #1d8f5f, #2fd18b); border-color:#2fd18b}
.au-sw input:checked + .au-knob::after{background:radial-gradient(circle at 35% 30%, #fff, #e3fff1 70%)}
/* 안내 줄 · 확인 창 */
.au-ban{border-radius:14px; box-shadow:var(--au-sh-s)}
.au-dlg{background:linear-gradient(165deg, var(--au-c1), var(--au-c2) 62%); border-color:var(--au-edge); box-shadow:var(--au-sh), var(--a-shadow); border-radius:20px}
.au-dlg .au-dchg{background:var(--au-well); box-shadow:var(--au-well-sh)}
.au-toast{border-radius:14px}

@media (prefers-reduced-motion:reduce){
  .au-btn, .au-chip{transition:none !important}
  .au-btn:active, .au-chip:active, .au-gbtn:active{transform:none !important}
}

/* ======== UXR2 (2026-10-03) 위쪽 긴 풀이는 「자세히 ▸」 안 — 진석 08:1x "그 위에 주저주저리 붙어있는 이런 것들" ========
   설정 탭 맨 위 안내(admin.js renderWireBanner): 숫자 제목 + 첫 줄(경고)은 늘 보이고 나머지 풀이 줄만 접음(글·순서 그대로) */
details.au-fold{margin-top:6px}
details.au-fold > summary{display:inline-flex; align-items:center; gap:4px; cursor:pointer; list-style:none; font-size:12.5px; line-height:1.6;
  padding:1px 10px; border-radius:999px; background:var(--au-well, var(--bg3)); box-shadow:var(--au-well-sh, none); color:inherit; opacity:.9}
details.au-fold > summary::-webkit-details-marker{display:none}
details.au-fold > summary::after{content:'▸'}
details.au-fold[open] > summary::after{content:'▾'}
details.au-fold > div{margin-top:4px}

/* UXR2 「관리자 전용」 묶음(admin.html #adOnly) — 금빛 딱지 + 눌리는 링크 판 넷(폰 두 칸) */
.au-only h2{display:flex; align-items:center; gap:8px}
.au-only h2::before{content:''; width:18px; height:18px; flex:0 0 auto; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #fff1c4, #e6a817 60%, #8a5a00); box-shadow:0 3px 6px -2px rgba(0,0,0,.6)}
.au-onlylinks{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; margin-top:10px}
.au-onlya{display:flex; flex-direction:column; gap:2px; min-width:0; padding:10px 12px; border-radius:14px; text-decoration:none; color:var(--fg);
  background:linear-gradient(180deg, var(--au-b1, var(--bg2)), var(--au-b2, var(--bg3))); border:1px solid var(--au-edge, var(--line)); box-shadow:var(--au-bsh, none);
  transition:transform .08s ease}
.au-onlya b{font-size:14px}
.au-onlya span{font-size:11.5px; color:var(--fg2); line-height:1.4}
.au-onlya:active{transform:translateY(1px)}
.au-embed-users #adOnly{display:none}
@media (prefers-reduced-motion:reduce){ .au-onlya{transition:none} .au-onlya:active{transform:none} }
@media (max-width:560px){ .au-onlya span{display:none} .au-onlya{padding:9px 12px} .au-only{padding-bottom:12px} }   /* 폰: 묶음 이름만(설정 칸이 덜 밀리게) — 뜻은 넓은 화면에서 */

/* LOGIN1 2026-10-03: 로그인 화면 아이디·비밀번호 · 내 설정 비밀번호 바꾸기 · 관리자 회원 칸 찾기 [내 발명 모양] */
.au-pw{text-align:left; margin:0 0 12px}
.au-ptabs{display:flex; gap:6px; margin:0 0 14px; background:var(--bg3); border-radius:10px; padding:4px}
.au-ptab{flex:1; border:0; background:transparent; color:var(--fg2); font:inherit; font-size:15px; padding:9px 0; border-radius:8px; cursor:pointer}
.au-ptab.on{background:var(--bg2, #1b1f27); color:var(--fg); font-weight:600; box-shadow:0 1px 2px rgba(0,0,0,.18)}
.au-pw .au-inp{width:100%; box-sizing:border-box; font-size:16px}
.au-pmsg{min-height:20px; margin:10px 0 0; font-size:14px; line-height:1.5; overflow-wrap:anywhere}
.au-pmsg.ok{color:var(--a-up, #3ecf8e)} .au-pmsg.dn{color:var(--a-dn, #ff6b6b)} .au-pmsg.warn{color:var(--a-warn, #f0a13a)}
.au-pw .au-lfoot{margin-top:6px}
.au-lcard #auGuest{margin-top:4px}
.au-lcard #auGuest + .au-gbtn:not([hidden]){margin-top:10px}
.au-temp{font:600 20px/1.4 ui-monospace,Consolas,monospace; letter-spacing:1px; padding:10px 12px; border-radius:8px; background:var(--bg3); user-select:all; overflow-wrap:anywhere}
.adm-usearch{display:flex; gap:8px; margin:0 0 10px}
.adm-usearch .au-inp{flex:1; min-width:0; font-size:15px}
