*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#171310;--paper:#f6efe2;--ink:#2a2317;--card:#211b15;--line:#3a3126;--gold:#c9962e;--gold2:#e6c15c;--txt:#ece4d4;--dim:#a3947c}
body{background:var(--bg);color:var(--txt);font-family:'Noto Sans KR',sans-serif;line-height:1.65;min-height:100vh}
.wrap{max-width:680px;margin:0 auto;padding:26px 18px 60px}
.hidden{display:none!important}
.top{text-align:center;padding:14px 0 20px}
.lamp{font-size:44px;filter:drop-shadow(0 0 16px #e6c15c66)}
.lamp.flick{animation:flick 2.2s ease-in-out infinite}
@keyframes flick{0%,100%{filter:drop-shadow(0 0 12px #e6c15c55)}50%{filter:drop-shadow(0 0 26px #e6c15caa)}}
h1{font-family:'Noto Serif KR',serif;font-size:34px;font-weight:900;letter-spacing:3px;margin:8px 0 10px}
.tg{color:var(--dim);font-size:14.5px}
.tg b{color:var(--gold2)}
.dim{font-size:12.5px;opacity:.8}

.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 12px 40px #0009}
.lb{display:block;font-size:13px;font-weight:700;color:var(--gold2);letter-spacing:1px;margin:16px 0 8px}
.lb:first-child{margin-top:0}
.opt{color:var(--dim);font-weight:400}
input{width:100%;background:#141009;border:1px solid var(--line);border-radius:11px;color:var(--txt);
  padding:13px 14px;font-size:15px;font-family:inherit}
input:focus{outline:none;border-color:var(--gold)}
.ex{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.exchip{background:none;border:1px dashed var(--line);color:var(--dim);border-radius:100px;padding:6px 12px;
  font-size:12.5px;cursor:pointer;font-family:inherit}
.exchip:hover{color:var(--gold2);border-color:var(--gold)}
.chips{display:flex;gap:8px}
.chip{background:#141009;border:1px solid var(--line);color:var(--dim);border-radius:100px;padding:9px 16px;
  font-size:14px;cursor:pointer;font-family:inherit}
.chip.on{background:#2a2110;border-color:var(--gold);color:var(--gold2);font-weight:700}
.order{width:100%;margin-top:20px;background:linear-gradient(135deg,#e6c15c,#b47f22);color:#1d1503;border:none;
  border-radius:13px;padding:16px;font-size:17px;font-weight:800;font-family:inherit;cursor:pointer;box-shadow:0 6px 22px #c9962e44}
.order:disabled{opacity:.55}
.note{margin-top:11px;font-size:12px;color:var(--dim);text-align:center}

.shelf{margin-top:26px}
.sh{font-size:14px;font-weight:700;color:var(--gold2);margin-bottom:12px}
.shelfgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.bkcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 12px;cursor:pointer;
  text-decoration:none;color:var(--txt);display:block;transition:.15s;border-left:4px solid var(--gold)}
.bkcard:hover{transform:translateY(-2px);border-color:var(--gold)}
.bkt{font-family:'Noto Serif KR',serif;font-weight:700;font-size:15px;line-height:1.4}
.bks{font-size:11.5px;color:var(--dim);margin-top:6px}

/* 공방 관전 */
.workshop{text-align:center;padding:30px 0}
.workshop h2{font-family:'Noto Serif KR',serif;font-size:24px;margin:12px 0 18px}
.stagebar{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:20px}
.st{font-size:12.5px;color:var(--dim);border:1px solid var(--line);border-radius:100px;padding:6px 12px;transition:.3s}
.st.on{color:#1d1503;background:var(--gold2);border-color:var(--gold2);font-weight:800}
.st.past{color:var(--gold2);border-color:var(--gold)}
.arrow{color:var(--line)}
.loglist{background:#100c08;border:1px solid var(--line);border-radius:14px;padding:16px;text-align:left;
  max-height:340px;overflow-y:auto;font-size:13.5px}
.logrow{padding:5px 0;display:flex;gap:10px;animation:fadein .5s}
@keyframes fadein{from{opacity:0;transform:translateY(4px)}to{opacity:1}}
.logrow .t{color:#5f5443;font-size:11px;min-width:56px;padding-top:2px}
.mknote{margin-top:14px;font-size:12.5px;color:var(--dim)}

/* 책 뷰어 */
.coverwrap{display:flex;justify-content:center;padding:18px 0 8px}
#coverBox{width:min(300px,72vw);border-radius:6px 14px 14px 6px;overflow:hidden;
  box-shadow:14px 18px 44px #000c, inset -4px 0 10px #0006}
#coverBox svg{display:block;width:100%;height:auto}
.bookmeta{text-align:center;color:var(--dim);font-size:13px;margin-bottom:18px}
.toc{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:22px}
.toc .th{font-family:'Noto Serif KR',serif;font-weight:700;color:var(--gold2);margin-bottom:10px}
.toc a{display:block;color:var(--txt);text-decoration:none;padding:7px 0;border-bottom:1px dashed var(--line);font-size:14.5px}
.toc a:last-child{border-bottom:none}
.toc a .no{color:var(--gold);font-family:'Noto Serif KR',serif;margin-right:10px}
.pages{background:var(--paper);color:var(--ink);border-radius:14px;padding:34px 26px;
  font-family:'Noto Serif KR',serif;font-size:16px;line-height:2.05;box-shadow:0 14px 44px #000a}
.pages h2{font-size:21px;font-weight:900;margin:44px 0 18px;padding-top:34px;border-top:1px solid #d8cba9}
.pages h2:first-child{margin-top:0;padding-top:0;border-top:none}
.pages h2 .no{display:block;font-size:12px;letter-spacing:3px;color:#a08544;margin-bottom:6px}
.pages h3{font-size:16.5px;font-weight:700;margin:26px 0 10px;color:#5a4a22}
.pages p{margin-bottom:16px;text-align:justify}
.pages .cite{color:#a08544;font-size:12px;vertical-align:super;text-decoration:none;margin-left:1px}
.pages .frame{font-style:normal;color:#4a3d24}
.refs{margin-top:14px;padding-top:10px;border-top:1px dashed #d8cba9;font-family:'Noto Sans KR',sans-serif;font-size:12px;line-height:1.7}
.refs a{color:#8a6d2f;text-decoration:none;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.colophon{text-align:center;color:var(--dim);font-size:12px;margin-top:18px;line-height:1.9}
.actions{display:flex;gap:9px;justify-content:center;margin-top:20px;flex-wrap:wrap}
.actions button{background:var(--card);border:1px solid var(--line);color:var(--txt);border-radius:100px;
  padding:11px 18px;font-family:inherit;font-size:14px;cursor:pointer}
.actions button:hover{border-color:var(--gold);color:var(--gold2)}
.foot{text-align:center;color:#6b5d49;font-size:11.5px;margin-top:36px}

@media print{
  body{background:#fff}
  .actions,.foot,.toc,.bookmeta{display:none!important}
  .pages{box-shadow:none;border-radius:0;padding:0}
  .coverwrap #coverBox{box-shadow:none}
  .wrap{max-width:100%}
}
@media(max-width:480px){h1{font-size:27px}.pages{padding:26px 18px;font-size:15px}}
