:root{
  --bg:#0c0f14; --win:#11161e; --frame:#2c3642; --green:#3ee87a; --amber:#f2c05c;
  --red:#ff6961; --white:#e4e9ee; --muted:#788490; --blue:#6cb6ff;
  --mono:'D2Coding','DejaVu Sans Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,'Noto Sans Mono CJK KR',monospace;
}
*{box-sizing:border-box;}
html,body{margin:0;background:#05070a;color:var(--white);font-family:var(--mono);}
body{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px;}
a{color:var(--green);}

.term{width:100%;max-width:760px;background:var(--win);border:1px solid var(--frame);
  border-radius:14px;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.6);}
.bar{display:flex;align-items:center;gap:8px;padding:11px 14px;background:#0e131b;
  border-bottom:1px solid var(--frame);}
.dot{width:13px;height:13px;border-radius:50%;display:inline-block;}
.dot.r{background:#ff5f56;} .dot.y{background:#ffbd2e;} .dot.g{background:#27c93f;}
.bartitle{color:var(--muted);font-size:13px;margin-left:8px;}

.screen{padding:18px 18px 22px;min-height:62dvh;max-height:82dvh;overflow-y:auto;
  font-size:15px;line-height:1.6;}
.screen::-webkit-scrollbar{width:8px;} .screen::-webkit-scrollbar-thumb{background:var(--frame);border-radius:4px;}

/* 출력 라인 */
.ln{white-space:pre-wrap;word-break:break-word;margin:2px 0;}
.muted{color:var(--muted);} .green{color:var(--green);} .amber{color:var(--amber);}
.white{color:var(--white);} .red{color:var(--red);} .blue{color:var(--blue);}
.prompt{color:var(--green);} .q{color:var(--white);font-weight:700;}
.echo{color:var(--muted);} .think{color:var(--amber);}
.banner{color:var(--green);white-space:pre;line-height:1.25;font-size:13px;margin-bottom:6px;}
.cursor{display:inline-block;width:9px;height:17px;background:var(--green);
  vertical-align:-3px;margin-left:2px;animation:blink 1s steps(1) infinite;}
@keyframes blink{50%{opacity:0;}}

/* 버튼들 */
.choices{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px;}
.btn{font-family:var(--mono);font-size:15px;cursor:pointer;background:transparent;
  color:var(--white);border:1px solid var(--frame);border-radius:8px;padding:9px 15px;
  transition:.12s;}
.btn:hover:not(:disabled){border-color:var(--green);color:var(--green);background:#0f1620;}
.btn:disabled{opacity:.4;cursor:default;}
.btn.key{border-color:var(--green);color:var(--green);}
.btn.no{border-color:var(--frame);} .btn.no:hover{border-color:var(--red);color:var(--red);}
.btn.big{font-size:16px;padding:11px 18px;}
.btn.cat{border-color:#34618f;color:var(--blue);}
.btn.cat:hover{border-color:var(--blue);background:#0e1722;}

.inrow{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap;}
.inrow input{flex:1;min-width:160px;font-family:var(--mono);font-size:15px;background:#0a0f16;
  color:var(--white);border:1px solid var(--frame);border-radius:8px;padding:10px 12px;}
.inrow input:focus{outline:none;border-color:var(--green);}

.spin{color:var(--amber);}
hr.sep{border:none;border-top:1px dashed var(--frame);margin:14px 0;}

/* 결과 박스 */
.resbox{border:1px solid var(--frame);border-radius:10px;padding:16px 18px;margin:8px 0 14px;background:#0a0f16;}
.resbox.win{border-color:var(--green);} .resbox.lose{border-color:var(--amber);}
.restag{font-size:13px;letter-spacing:1px;padding:3px 10px;border-radius:6px;display:inline-block;}
.restag.win{color:var(--green);border:1px solid var(--green);}
.restag.lose{color:var(--amber);border:1px solid var(--amber);}
.reshead{font-size:26px;font-weight:800;margin:12px 0 4px;line-height:1.3;}
.resans{font-size:22px;color:var(--amber);font-weight:800;}
.tx{margin:2px 0;color:var(--muted);font-size:14px;}
.tx b{color:var(--white);font-weight:700;} .tx .a{color:var(--green);}
.foot{color:var(--muted);font-size:12px;margin-top:18px;text-align:center;}
.foot .pb{color:var(--green);}
