.g-top { position: relative; z-index: 2; max-width: 860px; margin: 0 auto; padding: max(16px, env(safe-area-inset-top)) 16px 0; display: flex; justify-content: space-between; align-items: center }
.g-back { color: var(--line); text-decoration: none; font: 600 15px Rubik }
.g-toc { position: sticky; top: 0; z-index: 10; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; padding: 10px 16px; background: rgba(20,22,29,.9);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid #2a2e3a; margin-top: 12px }
.g-toc::-webkit-scrollbar { display: none }
.g-toc a { flex: none; color: #dfe3ec; text-decoration: none; font: 500 13px Rubik; border: 1px solid #333949; border-radius: 999px; padding: 5px 11px; background: var(--asph2) }
.doc { position: relative; z-index: 1; max-width: 860px; margin: 0 auto; padding: 8px 16px 40px; font-size: 16.5px; line-height: 1.6 }
.doc h1 { font-size: clamp(34px, 9vw, 64px); line-height: 1; margin: 18px 0 14px; color: #fff; text-shadow: 0 5px 0 #000 }
.doc h2 { font-size: 26px; margin: 48px 0 14px; color: #fff; scroll-margin-top: 60px; padding-top: 14px; border-top: 3px dashed #2c3140 }
.doc h3 { font: 400 19px 'Russo One'; color: var(--line); margin: 28px 0 8px }
.doc p, .doc li { color: #d3d7e1 }
.doc strong { color: #fff }
.doc blockquote { margin: 0 0 16px; background: var(--paper); color: var(--ink); border-radius: 6px; padding: 12px 16px; transform: rotate(-.4deg); box-shadow: 0 10px 24px rgba(0,0,0,.35) }
.doc blockquote p { color: var(--ink); margin: 0 }
.doc blockquote + p { background: var(--kakao); color: #111; border-radius: 4px 18px 18px 18px; padding: 14px 16px; font-size: 18px }
.doc blockquote + p strong { color: #111 }
.doc ul, .doc ol { padding-left: 22px }
.doc li { margin: 4px 0 }
.doc code { font: 500 .9em JB, monospace; color: var(--line) }
.doc pre { background: #0d0f14; border: 1px solid #2a2e3a; border-radius: 12px; padding: 14px; overflow-x: auto; white-space: pre-wrap }
.doc pre code { color: var(--line); font-size: 14px; line-height: 1.7 }
.tbl { overflow-x: auto; margin: 10px -16px 18px; padding: 0 16px }
.doc table { border-collapse: collapse; width: 100%; min-width: 520px; background: var(--paper); color: var(--ink); border-radius: 8px; overflow: hidden; font-size: 14.5px; line-height: 1.4 }
.doc th { background: #22201c; color: var(--line); text-align: left; font: 600 12px JB, monospace; text-transform: uppercase; letter-spacing: .04em; padding: 9px 10px }
.doc td { padding: 9px 10px; border-top: 1px dashed #c9c0aa; vertical-align: top }
.doc td strong { color: var(--ink) }
.doc table:has(th:empty) th { display: none }
.idea { filter: drop-shadow(0 0 6px rgba(255,210,58,.6)) }
.open { filter: drop-shadow(0 0 6px rgba(255,90,60,.6)) }
footer a { color: var(--line) }
