html{scroll-behavior:smooth;scroll-padding-top:90px}button{font:inherit;cursor:pointer}button:focus-visible,summary:focus-visible{outline:3px solid #b57312;outline-offset:4px}.poc-local-nav{display:flex;flex-wrap:wrap;align-items:center}.poc-section{background:white;border:1px solid var(--line);border-radius:12px;padding:30px;margin:32px 0;scroll-margin-top:90px}.poc-section h3{margin-top:28px}.poc-section p{max-width:970px;overflow-wrap:anywhere}.poc-callout{background:#edf5f0;border-left:4px solid var(--accent);padding:16px 20px}.poc-table{overflow:auto;margin:22px 0;border:1px solid var(--line);border-radius:8px}.poc-table table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:580px}.poc-table th,.poc-table td{text-align:left;padding:14px 16px;vertical-align:top;border-bottom:1px solid var(--line)}.poc-table th{background:#edf3ef}.poc-table td:first-child{font-weight:650;width:25%}.poc-table tr:last-child td{border-bottom:0}.poc-code{border-radius:8px;overflow:hidden;background:#101b24;color:#d4e7e0;margin:20px 0}.poc-codebar{display:flex;justify-content:space-between;align-items:center;padding:9px 15px;background:#192a31;font-size:.8rem}.poc-code button{border:1px solid #45605a;color:#e5f5ee;background:#24453e;border-radius:5px;padding:4px 12px}.poc-code pre{margin:0;padding:18px;overflow:auto;line-height:1.75}.poc-code code{font:12px/1.75 ui-monospace,"SFMono-Regular",Consolas,monospace;white-space:pre;overflow-wrap:normal}.poc-details{border:1px solid var(--line);border-radius:8px;padding:17px 20px;margin:20px 0}.poc-details summary{cursor:pointer;font-weight:650}.poc-flow{max-width:760px;margin:28px auto}.poc-flow-node,.poc-vm{padding:20px 24px;border:1px solid #bfd8cd;border-radius:12px;background:#f5faf7}.poc-flow h3{margin:0 0 10px}.poc-flow p{margin:8px 0}.poc-flow-arrow{text-align:center;font-size:.9rem;color:var(--accent);padding:10px 8px}.poc-vm{border:2px solid var(--accent);background:#eaf4ee}.poc-mono{font:12px/1.7 ui-monospace,monospace;overflow-wrap:anywhere}.poc-copy-status{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:80;background:#173c30;color:white;box-shadow:0 5px 20px #0002;border-radius:7px;padding:10px 18px;font-size:.88rem;max-width:90vw;width:max-content}.poc-copy-status:empty{display:none}.ai button{border:0}.poc-section a{display:inline-block}.poc-section>.note{font-size:.87rem}.poc-local-nav a{white-space:nowrap}
@media(max-width:700px){.poc-section{padding:22px 18px;margin:24px 0}.poc-section h2{font-size:1.45rem}.poc-code pre{padding:14px}.poc-code code{font-size:11px}.poc-flow-node,.poc-vm{padding:17px}.poc-table table{min-width:540px}.poc-copy-status{font-size:.8rem}.poc-details{padding:14px}.poc-callout{padding:14px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.poc-local-nav,.poc-copy-status,button[data-copy]{display:none!important}.poc-section{break-inside:auto;border:0;padding:15px 0}.poc-code{background:white;color:black;border:1px solid #aaa}.poc-codebar{background:#eee;color:black}.poc-code code{white-space:pre-wrap;overflow-wrap:anywhere}.poc-table{overflow:visible}.poc-table table{min-width:0}.poc-flow{break-inside:avoid}}

/* Mobile reading; existing table and code scrolling stays local. */
@media screen and (max-width:600px) {
  .hero h1, .poc-section h2 { text-wrap: balance; }
  html[lang="ko"] main :is(h1,h2,h3,p,li,figcaption) { word-break: keep-all; overflow-wrap: anywhere; }
}

/* Long URLs in the AI handoff remain readable and copyable. */
@media screen and (max-width:600px) {
  .ai p { overflow-wrap: anywhere; }
}
