:root{
  --bg:#0d1117;--panel:#161b22;--border:#30363d;--border2:#21262d;--fg:#e6edf3;--txt:#c9d1d9;
  --dim:#8b949e;--faint:#6e7681;--green:#3fb950;--gold:#e3b341;--red:#ff7b72;--blue:#58a6ff;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg);font-family:"SF Mono",ui-monospace,Menlo,"D2Coding",monospace}
body{padding:16px;display:flex;justify-content:center}
.wrap{width:100%;max-width:620px}
.term{border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.4)}
.bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--border);background:#0b0f14}
.dot{width:11px;height:11px;border-radius:50%}.r{background:#ff5f56}.y{background:#ffbd2e}.g{background:#27c93f}
.bar .t{margin-left:8px;color:var(--faint);font-size:13px}
.body{padding:20px 18px 26px}
.boot{color:var(--dim);font-size:12.5px;line-height:1.9;white-space:pre-wrap;margin:0 0 16px}
.boot b{color:var(--green)}
h1{font-size:22px;margin:2px 0 4px}
.sub{color:var(--dim);font-size:13.5px;margin:0 0 18px;line-height:1.7}
.sub b{color:var(--fg)}

/* 사진 선택 */
.drop{border:2px dashed var(--border);border-radius:14px;padding:36px 16px;text-align:center;cursor:pointer;transition:border-color .15s}
.drop:hover{border-color:var(--green)}
.drop .big{font-size:44px}
.drop .t1{font-size:16px;font-weight:700;margin-top:10px}
.drop .t2{color:var(--dim);font-size:12.5px;margin-top:6px;line-height:1.6}
#file{display:none}
.preview{text-align:center}
.preview img{max-width:78%;max-height:340px;border-radius:14px;border:1px solid var(--border)}
.row{display:flex;gap:9px;margin-top:14px}
.btn{flex:1;background:#0b0f14;border:1px solid var(--border);color:var(--fg);border-radius:10px;padding:14px;font:inherit;font-size:14.5px;cursor:pointer}
.btn.prime{background:var(--green);border-color:var(--green);color:#04210d;font-weight:700;font-size:15.5px}
.privacy{color:var(--faint);font-size:12px;text-align:center;margin-top:14px;line-height:1.7}
.privacy b{color:var(--dim)}

/* 로딩 */
.calc{font-size:13.5px;line-height:2;white-space:pre-wrap;min-height:200px;color:var(--dim)}
.calc .ok{color:var(--green);font-weight:700}
.calc .run{color:var(--gold)}

/* 결과 */
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.res{animation:fade .45s}
.mefoto{display:block;width:132px;height:132px;object-fit:cover;border-radius:50%;margin:4px auto 10px;border:3px solid var(--gold)}
.overall{font-size:26px;font-weight:900;color:var(--green);text-align:center;margin:2px 0 18px}
.sec{border-top:1px solid var(--border2);padding:15px 2px;animation:fade .45s}
.sec h3{margin:0 0 10px;font-size:15px;font-weight:700;display:flex;gap:6px;align-items:center}
.sec p{margin:0;line-height:1.8;font-size:14.5px;color:var(--txt)}

/* 동물상 바 */
.abar{display:flex;align-items:center;gap:9px;margin:8px 0}
.abar .k{flex:0 0 84px;font-size:14px;font-weight:700}
.abar .track{flex:1;height:18px;background:#0b0f14;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.abar .fill{height:100%;background:linear-gradient(90deg,#2ea043,#3fb950);width:0;transition:width .8s ease}
.abar .p{flex:0 0 44px;text-align:right;color:var(--dim);font-size:13px}

/* 왕상 게이지 */
.kingbox{background:rgba(227,179,65,.07);border:1px solid #5a4a1a;border-radius:12px;padding:16px;text-align:center}
.kingbox .kp{font-size:44px;font-weight:900;color:var(--gold);line-height:1.1}
.kingbox .kl{color:var(--txt);font-size:14px;margin-top:8px;line-height:1.6}
.kingbox .kt{color:var(--gold);font-size:13px;font-weight:700;letter-spacing:2px}

/* 특징 */
.feat{padding:9px 0;border-bottom:1px dashed var(--border2);font-size:14px;line-height:1.7}
.feat:last-child{border-bottom:0}
.feat .fp{font-weight:800;color:var(--gold)}
.feat .fs{color:var(--dim)}
.feat .fm{color:var(--txt)}

.share{display:flex;gap:9px;margin-top:20px}
.share button{flex:1;background:#0b0f14;border:1px solid var(--border);color:var(--fg);border-radius:10px;padding:14px;font:inherit;font-size:14px;cursor:pointer}
.share .prime{border-color:var(--green);color:var(--green);font-weight:700}
.foot{color:var(--faint);font-size:12px;text-align:center;margin-top:16px;line-height:1.7}
.hidden{display:none}
a{color:var(--blue)}
