/* Public Ducky handbook. Reuses site colors, navigation and the approved duck. */
.book-shell{display:grid;grid-template-columns:224px minmax(0,800px);gap:64px;max-width:1200px;margin:auto;padding:40px 32px 80px;align-items:start}
.book-sidebar{position:sticky;top:100px;min-width:0;font-size:14px}
.book-brand{display:flex;gap:10px;align-items:center;color:var(--text);font-weight:750;line-height:1.4;margin-bottom:24px;text-decoration:none}
.book-brand img{flex:none;object-fit:contain}
.book-menu>summary{display:none}.book-menu nav{display:grid;gap:4px}
.book-menu nav a{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;color:var(--muted);text-decoration:none;border-left:2px solid transparent;border-radius:var(--r-sm)}
.book-menu nav a[aria-current=page]{color:var(--text);background:var(--surface-2);border-left-color:var(--accent);font-weight:700}
.book-chapter-number{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.book-app-link{display:flex;align-items:center;justify-content:space-between;min-height:48px;margin-top:24px;padding:8px 12px;border-top:1px solid var(--border);color:var(--text);text-decoration:none}
.book-article{min-width:0;line-height:1.75;font-size:16px}.book-heading{margin-bottom:28px}
.book-eyebrow{margin:0 0 12px;font-size:12px;font-weight:650;color:var(--muted);letter-spacing:.02em}
.book-heading h1{font-family:'Newsreader Variable','Songti SC',serif;font-size:clamp(36px,4.6vw,56px);font-weight:500;line-height:1.1;letter-spacing:-.025em;margin:0 0 20px;max-width:20ch}
.lang-zh .book-heading h1{font-size:clamp(32px,4vw,46px);line-height:1.35;max-width:19ch;letter-spacing:0}
.book-lead{font-size:18px;line-height:1.65;color:var(--muted);max-width:64ch;margin:0}
.book-article a{color:var(--blue);text-underline-offset:4px}.book-article p{margin:12px 0 20px}
.book-page-links{display:flex;flex-wrap:wrap;gap:0 20px;padding:12px 0 20px;border-bottom:1px solid var(--border);font-size:13px}.book-page-links a{display:flex;align-items:center;min-height:44px}
.book-section{padding-top:36px;scroll-margin-top:100px}.book-section h2,.book-next h2{font-size:24px;line-height:1.4;letter-spacing:-.02em;margin:0 0 16px}.book-section h3{font-size:17px;margin:0 0 4px}
.book-steps{list-style:none;counter-reset:steps;padding:0;display:grid;gap:24px;margin:24px 0}
.book-steps li{counter-increment:steps;position:relative;padding-left:48px}.book-steps li:before{content:counter(steps);position:absolute;top:0;left:0;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--muted);font-size:14px}.book-steps p{margin:6px 0 0}
.book-action,.book-article button{font:inherit;font-size:14px;font-weight:650;min-height:44px;padding:8px 16px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);cursor:pointer}
.book-article .book-action{display:inline-flex;align-items:center;gap:8px;background:var(--text);border-color:var(--text);color:var(--bg);text-decoration:none}
.book-article :is(button,a,input,textarea,summary,pre,[tabindex]):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.book-article button:hover,.book-menu nav a:hover{filter:brightness(.94)}
.book-tools{margin:0}.book-tools>div{display:grid;grid-template-columns:minmax(130px,1fr) 2.6fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--border)}.book-tools dt{font-weight:700}.book-tools dd{margin:0;color:var(--muted)}
.book-note{padding:16px 20px;border-left:3px solid var(--accent);background:var(--surface-2);font-size:14px;line-height:1.7}
.book-disclosure{border:1px solid var(--border);border-radius:var(--r-md);padding:0 16px;background:var(--surface)}.book-disclosure summary{cursor:pointer;min-height:48px;padding:12px 0;font-size:14px;font-weight:700}.book-disclosure p,.book-disclosure ul{font-size:14px}.book-disclosure[open] summary{border-bottom:1px solid var(--border)}
.book-next{border-top:1px solid var(--border);padding-top:28px;margin-top:40px}.book-next>a{margin:0 16px 12px 0;min-height:44px;display:inline-flex;align-items:center}.book-updated{font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding-top:24px;margin-top:48px!important}
.book-copy-block{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:16px;min-width:0}.book-copy-block>code{flex:1;overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:14px}.book-copy-status{font-size:12px;color:var(--muted);margin:4px 0!important;flex-basis:100%;min-height:0}.book-copy-status:empty{display:none}.book-copy-block.book-code{display:block}.book-code pre{max-height:420px;overflow:auto;font-size:13px;line-height:1.65;margin:0 0 16px;font-family:ui-monospace,monospace;tab-size:2;white-space:pre}.book-code code{font:inherit}.book-external{display:flex;gap:24px}.book-external a{min-height:44px;display:inline-flex;align-items:center}.book-endpoints{padding-left:20px;overflow-wrap:anywhere}.book-flow{padding-left:24px}.book-flow li{padding:0 0 16px 8px}
.book-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--r-md);max-width:100%}.book-table{border-collapse:collapse;width:100%;font-size:13px;min-width:540px}.book-table th,.book-table td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid var(--border)}.book-table th{background:var(--surface-2)}.book-table tr:last-child td{border-bottom:0}.book-table code{display:block;font-family:ui-monospace,monospace;font-size:12px;margin-top:4px}
.prompt-tools{margin:28px 0 8px}.prompt-tools>label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.prompt-tools>input{width:100%;min-height:48px;border:1px solid var(--control-border,var(--border));border-radius:var(--r-sm);background:var(--surface);color:var(--text);padding:10px 14px;font:inherit;font-size:16px}
.prompt-categories{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0 0}.prompt-categories button{border-color:transparent;background:transparent;font-size:13px;padding-inline:12px}.prompt-categories [aria-pressed=true]{background:var(--surface-2);border-color:var(--border);color:var(--text)}.prompt-count{font-size:12px;color:var(--muted);margin:12px 0!important}.prompt-empty{padding:24px 0}.prompt-card{border-top:1px solid var(--border);scroll-margin-top:104px}.prompt-card:last-child{border-bottom:1px solid var(--border)}.prompt-card>summary{display:flex;list-style:none;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;cursor:pointer}.prompt-card>summary::-webkit-details-marker{display:none}.prompt-summary{display:grid;gap:4px}.prompt-summary .book-eyebrow{margin:0;font-size:11px}.prompt-summary strong{font-size:20px;line-height:1.4;font-weight:700}.prompt-summary>span:last-child{font-size:14px;color:var(--muted);line-height:1.6}.prompt-plus{font-size:26px;font-weight:400;line-height:1;flex:none;width:32px;text-align:center}.prompt-card[open] .prompt-plus{transform:rotate(45deg)}.prompt-content{padding:0 0 28px}.prompt-content fieldset{padding:16px;margin:0 0 20px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.prompt-content legend{font-size:12px;font-weight:650;padding:0 8px}.prompt-inputs{display:flex;gap:16px;flex-wrap:wrap}.prompt-inputs label{display:grid;gap:6px;flex:1 1 180px;font-size:13px;font-weight:650;min-width:0}.prompt-inputs input{width:100%;min-height:44px;padding:8px 10px;font:inherit;font-size:16px;background:var(--bg);color:var(--text);border:1px solid var(--control-border,var(--border));border-radius:var(--r-sm);box-sizing:border-box}.prompt-preview-label{display:block;font-size:12px;font-weight:650;margin-bottom:8px}.prompt-content textarea{display:block;width:100%;box-sizing:border-box;resize:vertical;padding:16px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;line-height:1.75;border:1px solid var(--border);border-radius:var(--r-sm);min-height:220px}.prompt-actions{display:flex;gap:8px;align-items:center;margin-top:12px}.prompt-actions a{margin-left:auto;min-width:44px;min-height:44px;display:grid;place-items:center}.prompt-card[hidden],.prompt-empty[hidden]{display:none}
@media(min-width:821px){.book-menu:not([open])>nav{display:grid}}
@media(max-width:820px){.book-shell{grid-template-columns:1fr;gap:28px;padding:20px 24px 48px}.book-sidebar{position:static}.book-brand{margin-bottom:12px;font-size:13px}.book-brand img{width:28px;height:28px}.book-menu{border-block:1px solid var(--border)}.book-menu>summary{display:flex;justify-content:space-between;align-items:center;min-height:48px;font-size:13px;font-weight:650;cursor:pointer;list-style:none}.book-menu>summary::-webkit-details-marker{display:none}.book-menu nav{padding:8px 0 12px}.book-app-link{display:none}.book-heading h1{max-width:23ch}.book-lead{font-size:16px}.book-tools>div{grid-template-columns:1fr;gap:8px}.book-page-links{padding-bottom:12px}.book-heading{margin-bottom:20px}}
@media(max-width:420px){.book-shell{padding-inline:16px;gap:24px}.book-section{padding-top:28px}.book-section h2,.book-next h2{font-size:21px}.book-article{font-size:15px}.book-note{padding:12px 14px}.prompt-summary strong{font-size:18px}.prompt-card>summary{padding:20px 0;gap:12px}.prompt-categories{gap:4px}.prompt-categories button{padding-inline:8px;font-size:12px}.prompt-content textarea{font-size:16px}.book-steps li{padding-left:44px}.book-flow{padding-left:20px}}
@media(prefers-reduced-motion:reduce){.prompt-plus{transition:none}}
.page-prompts .book-heading{margin-bottom:20px}.page-prompts .book-heading .book-eyebrow{display:none}.prompt-help{font-size:13px}.prompt-help summary{font-weight:500}.prompt-tools{margin-top:20px}
@media(max-width:820px){.page-prompts .book-heading h1{font-size:34px;margin-bottom:12px}.page-prompts .book-heading .book-lead{font-size:15px}.page-prompts .book-shell{gap:20px}.page-prompts .book-heading{margin-bottom:16px}.prompt-tools{margin-top:16px}}
@media(max-width:820px){.book-sidebar .book-brand{display:none}}
@media(max-width:420px){.page-prompts .book-heading h1{font-size:30px}}
