PageSourceSearch

https://penandthepad.com/pen-and-the-pad/

html penandthepad.com collected 2026-10-02 04:37:09 UTC 301,094 bytes, 2,765 lines download raw bytes

1<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="icon" type="image/png" sizes="192x192" href="https://penandthepad.com/favicon-192x192.png"><link rel="icon" type="image/png" sizes="96x96" href="https://penandthepad.com/favicon-96x96.png"><link rel="icon" type="image/png" sizes="32x32" href="https://penandthepad.com/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="https://penandthepad.com/favicon-16x16.png"><link rel="icon" type="image/x-icon" href="https://penandthepad.com/favicon.ico"><link rel="preconnect" href="https://pbs-us-east.ay.delivery" crossorigin=""><link rel="preconnect" href="https://c.amazon-adsystem.com" crossorigin=""><link rel="preconnect" href="https://cdn.id5-sync.com" crossorigin=""><link rel="preconnect" href="https://securepubads.g.doubleclick.net"><link rel="preconnect" href="https://v4EcqHoPC3remy2Dv.ay.delivery"><link rel="preconnect" href="https://cmp.inmobi.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""><link rel="preconnect" href="https://cd.connatix.com" crossorigin=""><link rel="preconnect" href="https://capi.connatix.com" crossorigin=""><link rel="preload" as="image" fetchpriority="high" href="https://penandthepad.com/astrostatic/3a22e5c5/_image/?href=%2F_astro%2Fpenandthepad.CAcBzb0Z.svg&w=205&h=70&f=svg"><link rel="preload" href="https://v4EcqHoPC3remy2Dv.ay.delivery/manager/v4EcqHoPC3remy2Dv" as="script" data-no-early-hint=""><link rel="preload" href="https://securepubads.g.doubleclick.net/tag/js/gpt.js" as="script" data-no-early-hint=""><link rel="preload" href="https://cmp.inmobi.com/choice/vPn77x7pBG57Y/penandthepad.com/choice.js?tag_version=V3" as="script" data-no-early-hint="">
1<script type="module">const o=new WeakMap,r=new Set,h=10,f=t=>{let e=0;for(const n of t.children)e=Math.max(e,n.offsetHeight);return e},w=t=>{const e=f(t);e<h||e>(o.get(t)??0)&&(o.set(t,e),t.style.setProperty("min-height",`${e}px`,"important"))},u=1e3,i=new WeakMap,c=t=>{clearTimeout(i.get(t)),i.set(t,window.setTimeout(()=>w(t),u))},m=new ResizeObserver(t=>{for(const e of t)c(e.target)}),d=t=>{r.has(t)||(r.add(t),m.observe(t))},a=t=>{for(const e of t.querySelectorAll("[data-ad-slot]"))d(e)};a(document);new MutationObserver(t=>{for(const e of t)for(const n of e.addedNodes)n instanceof HTMLElement&&(n.matches("[data-ad-slot]")&&d(n),a(n))}).observe(document.body,{childList:!0,subtree:!0});let s=window.innerWidth;window.addEventListener("resize",()=>{if(window.innerWidth!==s){s=window.innerWidth;for(const t of r)o.delete(t),t.style.removeProperty("min-height"),c(t)}});</script>
1 
1<script>(function(){const domain = "penandthepad.com";
2const targeting = {"env":"prod","stage":"prod","url":"penandthepad.com/pen-and-the-pad/","hostname":"penandthepad.com","edge_country":"TW","cid":"pen-and-the-pad","path":"pen-and-the-pad","category":"pen-and-the-pad","topic":"pen-and-the-pad","news":"no"};
3
4            window._vars = {
5                ...(window?._vars ?? {}),
6                domain,
7                targeting,
8            }
9        })();</script>
9 
9<script>
10    ;(() => {
11        // The sweep runs once the AY manager loads — well after first paint,
12        // so yanking the boxes out of the layout right there registers as
13        // CLS. Blank each box immediately (visibility keeps its space), and
14        // drop the space on the next discrete input, when the shift falls in
15        // the CLS input-exclusion window. Below-viewport boxes could collapse
16        // immediately without penalty, but one code path is enough.
17        let lastInput = -Infinity
18        const noteInput = () => {
19            lastInput = performance.now()
20        }
21        document.addEventListener("pointerdown", noteInput, {
22            capture: true,
23            passive: true,
24        })
25        document.addEventListener("keydown", noteInput, { capture: true })
26
27        const pendingRelease = []
28        const releaseAll = () => {
29            for (const release of pendingRelease.splice(0)) release()
30        }
31        document.addEventListener(
32            "pointerdown",
33            () => requestAnimationFrame(releaseAll),
34            { capture: true, passive: true },
35        )
36        document.addEventListener(
37            "keydown",
38            () => requestAnimationFrame(releaseAll),
39            { capture: true },
40        )
41
42        const releaseOnInput = (release) => {
43            if (performance.now() - lastInput < 400) {
44                release()
45            } else {
46                pendingRelease.push(release)
47            }
48        }
49
50        // Same gate, published for the other code path that yanks a reserved
51        // box out of the layout: AssertiveYield's slotRenderEnded handler,
52        // which hides a slot the auction came back empty on. That collapse is
53        // worth as much CLS as the space the slot was holding, so it waits for
54        // an input too. Callers fall back to collapsing immediately if this is
55        // missing, which keeps packages/ads working without this script.
56        window.releaseAdSpaceOnInput = releaseOnInput
57
58        const collapse = () => {
59            const ay = window.ayManagerEnv
60
61            if (!ay?.settings?.placements || !ay.tools?.getEnabledPlacements) {
62                return
63            }
64
65            const enabled = ay.tools.getEnabledPlacements()
66
67            for (const entry of ay.settings.placements) {
68                // Only placements AY renders *inside* their target. For
69                // beforebegin/afterend the target is a sibling anchor — real
70                // content that must not be hidden.
71                if (!["afterbegin", "beforeend"].includes(entry.position)) {
72                    continue
73                }
74
75                // Enabled: AY will request it and slotRenderEnded decides.
76                if (enabled.some(({ _id }) => _id === entry._id)) {
77                    continue
78                }
79
80                for (const el of document.querySelectorAll(entry.placement)) {
81                    // ...except when the wrapper _is_ the page
82                    if (["body", "html"].includes(el.tagName.toLowerCase())) {
83                        continue
84                    }
85
86                    if (el.hasAttribute("data-empty")) {
87                        continue
88                    }
89
90                    el.style.visibility = "hidden"
91                    releaseOnInput(() => {
92                        el.style.display = "none"
93                        el.setAttribute("data-empty", "")
94
95                        // The AY selector can target a wrapper around the slot
96                        // rather than the slot itself.
97                        for (const slot of el.querySelectorAll(
98                            "[data-ad-slot]",
99                        )) {
100                            slot.setAttribute("data-empty", "")
101                        }
102                    })
103                }
104            }
105        }
106
107        // Exposed so infinite scroll can re-sweep slots inserted after load.
108        window.collapseDisabledAdSlots = () =>
109            window.requestAnimationFrame(collapse)
110
111        window.ayManagerEnv = window.ayManagerEnv || { cmd: [] }
112        window.ayManagerEnv.cmd.push(() => window.collapseDisabledAdSlots())
113    })()
114</script>
114 
114<script src="https://v4EcqHoPC3remy2Dv.ay.delivery/manager/v4EcqHoPC3remy2Dv" type="text/javascript" referrerpolicy="no-referrer-when-downgrade" async>
115                </script>
115<script>(function(){const targeting = {"env":"prod","stage":"prod","url":"penandthepad.com/pen-and-the-pad/","hostname":"penandthepad.com","edge_country":"TW","cid":"pen-and-the-pad","path":"pen-and-the-pad","category":"pen-and-the-pad","topic":"pen-and-the-pad","news":"no"};
116const debug = false;
117
118            window.googletag = window.googletag || { cmd: [] };
119
120            // A wrapper can opt out of the global marking below with
121            // `data-ad-self-managed` when it owns its own fill lifecycle
122            // (e.g. a reserved band that must not collapse the instant GPT
123            // reports a render). Marking it here as well would fight that
124            // component and undo whatever it is holding.
125            const selfManaged = (wrapper) =>
126                wrapper.hasAttribute('data-ad-self-managed');
127
128            document.addEventListener('ay-ads-disabled', () => {
129                const allAdElements = Array.from(
130                    document.querySelectorAll('[data-ad-slot]')
131                ).filter((element) => !selfManaged(element));
132
133                allAdElements.forEach(element => {
134                    element.setAttribute('data-empty', '');
135                });
136                
137                if (debug) {
138                    console.log('[AY] ay-ads-disabled event: Marked ads as empty', {
139                        count: allAdElements.length,
140                        elements: allAdElements.map(el => ({
141                            selector: `[data-ad-slot="${el.getAttribute('data-ad-slot')}"]`,
142                            element: el
143                        }))
144                    });
145                }
146            });
147            
148            googletag.cmd.push(() => {
149                // Initialize googletag for targeting API (AY uses GPT API for targeting)
150                Object.entries(targeting).forEach(([key, value]) => {
151                    window.googletag.pubads().setTargeting(key, value);
152                });
153
154                // Global slotRenderEnded listener:
155                // All ad wrappers (AdSlot, SkyboxAd, CurtainAd) use `data-ad-slot` attribute.
156                // AY/GPT fires slotRenderEnded with slotElementId pointing at an AY-generated inner div.
157                // We walk up to our wrapper and mark it loaded or empty,
158                // unless the wrapper is self-managed (see above).
159                window.googletag
160                    .pubads()
161                    .addEventListener("slotRenderEnded", (event) => {
162                        const slotElementId = event.slot.getSlotElementId();
163                        const ayDiv = document.getElementById(slotElementId);
164                        if (!ayDiv) return;
165
166                        const wrapper = ayDiv.closest("[data-ad-slot]");
167                        if (!wrapper) return;
168                        if (selfManaged(wrapper)) return;
169
170                        if (event.isEmpty) {
171                            // Pulling a reserved box out of the layout mid-page
172                            // costs exactly as much CLS as the space it was
173                            // holding, and slots that reserve their creative's
174                            // real height (the article natives) hold a lot.
175                            // Blank it now — visibility keeps the space — and
176                            // drop the space on the next discrete input, where
177                            // the shift lands in the CLS input-exclusion
178                            // window. `data-empty` goes on with the space so
179                            // nothing reads the slot as collapsed early.
180                            const collapse = () => {
181                                // A refresh may have filled the slot while this
182                                // release sat in the queue waiting for input.
183                                if (wrapper.hasAttribute("data-loaded")) return;
184                                wrapper.style.visibility = "";
185                                wrapper.style.display = "none";
186                                wrapper.setAttribute("data-empty", "");
187                            };
188                            wrapper.style.visibility = "hidden";
189                            wrapper.removeAttribute("data-loaded");
190                            if (window.releaseAdSpaceOnInput) {
191                                window.releaseAdSpaceOnInput(collapse);
192                            } else {
193                                collapse();
194                            }
195                        } else {
196                            // A refresh can fill a slot that came back empty
197                            // last time, so undo the blanking above as well as
198                            // the collapse — a queued release would otherwise
199                            // hide a slot that now has an ad in it.
200                            wrapper.style.visibility = "";
201                            wrapper.style.display = "";
202                            wrapper.setAttribute("data-loaded", "");
203                            wrapper.removeAttribute("data-empty");
204                        }
205
206                        if (debug) {
207                            console.log("[AY] slotRenderEnded", {
208                                slotElementId,
209                                adSlot: wrapper.getAttribute("data-ad-slot"),
210                                isEmpty: event.isEmpty,
211                            });
212                        }
213                    });
214            });
215        })();</script>
215<style is:global="">
216            @media (max-width: 767px) {
217                .cnx-pinned-wrapper {
218                    margin-top: 10px;
219                }
220            }
221
222            @media (min-width: 768px) {
223                .cnx-float.cnx-float-position-bottom {
224                    transform: translate(0, -100px) !important;
225                }
226            }
227
228            .cnx-main-container.cnx-in-desktop {
229                max-width: 640px;
230                max-height: 360px;
231            }
232        </style>
232<script>
233    (() => {
234        window.ngt = window.ngt || { cmd:[] };
235        window.ngt.cmd.push(function(){
236            window.googletag.cmd.push(() => {
237                window.googletag
238                    .pubads()
239                    .setTargeting(
240                        "user_agent",
241                        navigator?.userAgent ?? "Unknown User Agent",
242                    )
243                    .setTargeting(
244                        "ngt_company_size",
245                        (window.ngt.me.company?.company_size_range ?? "").replaceAll(
246                            ",",
247                            "",
248                        ),
249                    );
250    
251                const tags =
252                    window.ngt.me?.body?.me.tags?.map((tag) =>
253                        tag.toLowerCase().replaceAll("site.", ""),
254                    ) ?? [];
255    
256                [
257                    ["is_datacenter", ["is-datacenter"]],
258                    ["is_suspected_bot", ["suspected-bad-bot", "bad-bot"]],
259                    ["is_ta_user", ["ta-user-ip"]],
260                    ["is_crawler", ["user-agent-blocked"]],
261                    ["is_ad_blocked", ["ad-blocked-ip"]],
262                ]
263                    .filter(([tag, flags]) =>
264                        flags.some((flag) => tags.includes(flag)),
265                    )
266                    .reduce((acc, [tag, flags]) => [...acc, tag], [])
267                    .forEach((tag) =>
268                        window.googletag.pubads().setTargeting(tag, "true"),
269                    );
270            })
271        })
272    })();
273</script>
273<script async type="text/javascript" src="https://cmp.inmobi.com/choice/vPn77x7pBG57Y/penandthepad.com/choice.js?tag_version=V3"></script>
273<script>(function(){const url = "https://cmp.inmobi.com/choice/vPn77x7pBG57Y/penandthepad.com/choice.js?tag_version=V3";
274const iabVendorsUrl = "https://cmp.inmobi.com/GVL-v3/vendor-list.json";
275const googleAtpUrl = "https://cmp.inmobi.com/tcfv2/google-atp-list.json";
276
277(function() {
278  var uspTries = 0;
279  var uspTriesLimit = 3;
280  
281  function makeStub() {
282    var TCF_LOCATOR_NAME = '__tcfapiLocator';
283    var queue = [];
284    var win = window;
285    var cmpFrame;
286
287    function addFrame() {
288      var doc = win.document;
289      var otherCMP = !!(win.frames[TCF_LOCATOR_NAME]);
290
291      if (!otherCMP) {
292        if (doc.body) {
293          var iframe = doc.createElement('iframe');
294
295          iframe.style.cssText = 'display:none';
296          iframe.name = TCF_LOCATOR_NAME;
297          doc.body.appendChild(iframe);
298        } else {
299          setTimeout(addFrame, 5);
300        }
301      }
302      return !otherCMP;
303    }
304
305    function tcfAPIHandler() {
306      var gdprApplies;
307      var args = arguments;
308
309      if (!args.length) {
310        return queue;
311      } else if (args[0] === 'setGdprApplies') {
312        if (
313          args.length > 3 &&
314          args[2] === 2 &&
315          typeof args[3] === 'boolean'
316        ) {
317          gdprApplies = args[3];
318          if (typeof args[2] === 'function') {
319            args[2]('set', true);
320          }
321        }
322      } else if (args[0] === 'ping') {
323        var retr = {
324          gdprApplies: gdprApplies,
325          cmpLoaded: false,
326          cmpStatus: 'stub'
327        };
328
329        if (typeof args[2] === 'function') {
330          args[2](retr);
331        }
332      } else {
333        if(args[0] === 'init' && typeof args[3] === 'object') {
334          args[3] = Object.assign(args[3], { tag_version: 'V3' });
335        }
336        queue.push(args);
337      }
338    }
339
340    function postMessageEventHandler(event) {
341      var msgIsString = typeof event.data === 'string';
342      var json = {};
343
344      try {
345        if (msgIsString) {
346          json = JSON.parse(event.data);
347        } else {
348          json = event.data;
349        }
350      } catch (ignore) {}
351
352      var payload = json.__tcfapiCall;
353
354      if (payload) {
355        window.__tcfapi(
356          payload.command,
357          payload.version,
358          function(retValue, success) {
359            var returnMsg = {
360              __tcfapiReturn: {
361                returnValue: retValue,
362                success: success,
363                callId: payload.callId
364              }
365            };
366            if (msgIsString) {
367              returnMsg = JSON.stringify(returnMsg);
368            }
369            if (event && event.source && event.source.postMessage) {
370              event.source.postMessage(returnMsg, '*');
371            }
372          },
373          payload.parameter
374        );
375      }
376    }
377
378    while (win) {
379      try {
380        if (win.frames[TCF_LOCATOR_NAME]) {
381          cmpFrame = win;
382          break;
383        }
384      } catch (ignore) {}
385
386      if (win === window.top) {
387        break;
388      }
389      win = win.parent;
390    }
391    if (!cmpFrame) {
392      addFrame();
393      win.__tcfapi = tcfAPIHandler;
394      win.addEventListener('message', postMessageEventHandler, false);
395    }
396  };
397
398  makeStub();
399
400  function makeGppStub() {
401    const CMP_ID = 10;
402    const SUPPORTED_APIS = [
403      '2:tcfeuv2',
404      '6:uspv1',
405      '7:usnatv1',
406      '8:usca',
407      '9:usvav1',
408      '10:uscov1',
409      '11:usutv1',
410      '12:usctv1'
411    ];
412
413    window.__gpp_addFrame = function (n) {
414      if (!window.frames[n]) {
415        if (document.body) {
416          var i = document.createElement("iframe");
417          i.style.cssText = "display:none";
418          i.name = n;
419          document.body.appendChild(i);
420        } else {
421          window.setTimeout(window.__gpp_addFrame, 10, n);
422        }
423      }
424    };
425    window.__gpp_stub = function () {
426      var b = arguments;
427      __gpp.queue = __gpp.queue || [];
428      __gpp.events = __gpp.events || [];
429
430      if (!b.length || (b.length == 1 && b[0] == "queue")) {
431        return __gpp.queue;
432      }
433
434      if (b.length == 1 && b[0] == "events") {
435        return __gpp.events;
436      }
437
438      var cmd = b[0];
439      var clb = b.length > 1 ? b[1] : null;
440      var par = b.length > 2 ? b[2] : null;
441      if (cmd === "ping") {
442        clb(
443          {
444            gppVersion: "1.1", // must be “Version.Subversion”, current: “1.1”
445            cmpStatus: "stub", // possible values: stub, loading, loaded, error
446            cmpDisplayStatus: "hidden", // possible values: hidden, visible, disabled
447            signalStatus: "not ready", // possible values: not ready, ready
448            supportedAPIs: SUPPORTED_APIS, // list of supported APIs
449            cmpId: CMP_ID, // IAB assigned CMP ID, may be 0 during stub/loading
450            sectionList: [],
451            applicableSections: [-1],
452            gppString: "",
453            parsedSections: {},
454          },
455          true
456        );
457      } else if (cmd === "addEventListener") {
458        if (!("lastId" in __gpp)) {
459          __gpp.lastId = 0;
460        }
461        __gpp.lastId++;
462        var lnr = __gpp.lastId;
463        __gpp.events.push({
464          id: lnr,
465          callback: clb,
466          parameter: par,
467        });
468        clb(
469          {
470            eventName: "listenerRegistered",
471            listenerId: lnr, // Registered ID of the listener
472            data: true, // positive signal
473            pingData: {
474              gppVersion: "1.1", // must be “Version.Subversion”, current: “1.1”
475              cmpStatus: "stub", // possible values: stub, loading, loaded, error
476              cmpDisplayStatus: "hidden", // possible values: hidden, visible, disabled
477              signalStatus: "not ready", // possible values: not ready, ready
478              supportedAPIs: SUPPORTED_APIS, // list of supported APIs
479              cmpId: CMP_ID, // list of supported APIs
480              sectionList: [],
481              applicableSections: [-1],
482              gppString: "",
483              parsedSections: {},
484            },
485          },
486          true
487        );
488      } else if (cmd === "removeEventListener") {
489        var success = false;
490        for (var i = 0; i < __gpp.events.length; i++) {
491          if (__gpp.events[i].id == par) {
492            __gpp.events.splice(i, 1);
493            success = true;
494            break;
495          }
496        }
497        clb(
498          {
499            eventName: "listenerRemoved",
500            listenerId: par, // Registered ID of the listener
501            data: success, // status info
502            pingData: {
503              gppVersion: "1.1", // must be “Version.Subversion”, current: “1.1”
504              cmpStatus: "stub", // possible values: stub, loading, loaded, error
505              cmpDisplayStatus: "hidden", // possible values: hidden, visible, disabled
506              signalStatus: "not ready", // possible values: not ready, ready
507              supportedAPIs: SUPPORTED_APIS, // list of supported APIs
508              cmpId: CMP_ID, // CMP ID
509              sectionList: [],
510              applicableSections: [-1],
511              gppString: "",
512              parsedSections: {},
513            },
514          },
515          true
516        );
517      } else if (cmd === "hasSection") {
518        clb(false, true);
519      } else if (cmd === "getSection" || cmd === "getField") {
520        clb(null, true);
521      }
522      //queue all other commands
523      else {
524        __gpp.queue.push([].slice.apply(b));
525      }
526    };
527    window.__gpp_msghandler = function (event) {
528      var msgIsString = typeof event.data === "string";
529      try {
530        var json = msgIsString ? JSON.parse(event.data) : event.data;
531      } catch (e) {
532        var json = null;
533      }
534      if (typeof json === "object" && json !== null && "__gppCall" in json) {
535        var i = json.__gppCall;
536        window.__gpp(
537          i.command,
538          function (retValue, success) {
539            var returnMsg = {
540              __gppReturn: {
541                returnValue: retValue,
542                success: success,
543                callId: i.callId,
544              },
545            };
546            event.source.postMessage(msgIsString ? JSON.stringify(returnMsg) : returnMsg, "*");
547          },
548          "parameter" in i ? i.parameter : null,
549          "version" in i ? i.version : "1.1"
550        );
551      }
552    };
553    if (!("__gpp" in window) || typeof window.__gpp !== "function") {
554      window.__gpp = window.__gpp_stub;
555      window.addEventListener("message", window.__gpp_msghandler, false);
556      window.__gpp_addFrame("__gppLocator");
557    }
558  };
559
560  makeGppStub();
561
562  var uspStubFunction = function() {
563    var arg = arguments;
564    if (typeof window.__uspapi !== uspStubFunction) {
565      setTimeout(function() {
566        if (typeof window.__uspapi !== 'undefined') {
567          window.__uspapi.apply(window.__uspapi, arg);
568        }
569      }, 500);
570    }
571  };
572
573  var checkIfUspIsReady = function() {
574    uspTries++;
575    if (window.__uspapi === uspStubFunction && uspTries < uspTriesLimit) {
576      console.warn('USP is not accessible');
577    } else {
578      clearInterval(uspInterval);
579    }
580  };
581
582  if (typeof window.__uspapi === 'undefined') {
583    window.__uspapi = uspStubFunction;
584    var uspInterval = setInterval(checkIfUspIsReady, 6000);
585  }
586
587  /**
588   * DataLayer Push & CCPA Support
589   *
590   * Version 2.0.7
591   */
592  (async function () {
593    //URLs need to be externalized based on environments, during build update.
594    var get_iab_vendors_url = iabVendorsUrl;
595    var get_google_atp_url = googleAtpUrl;
596    var iab_vendors, iab_vendor_ids, iab_vendor_names;
597    var google_vendors, google_vendor_ids, google_vendor_names;
598    var google_vendors_arr = [],
599        google_vendor_ids_arr = [],
600        google_vendor_names_arr = [];
601    var iab_vendors_arr = [],
602        iab_vendor_ids_arr = [],
603        iab_vendor_names_arr = [];
604    var non_iab_vendors, non_iab_vendor_ids, non_iab_vendor_names;
605    var non_iab_vendors_arr = [],
606        non_iab_vendor_ids_arr = [],
607        non_iab_vendor_names_arr = [];
608    var publisher_consents, publisher_legitimate_interests;
609    var purpose_consents, purpose_legitimate_interests;
610
611    function resultToList(a) {
612      var b = ",";
613      if (a && typeof a === 'object') {
614        for (var i in a) {
615          if (a[i]) {
616            b += i + ",";
617          }
618        }
619      }
620      return b;
621    }
622
623    /**
624     * Get a full list of Non-IAB Vendors, specific to the Quantcast Universal Tag ID, using tcfapi
625     */
626    function vendors_getNonIABVendorList() {
627      window.__tcfapi("getConfig", 2, function (retObj) {
628        if (retObj && retObj.hasOwnProperty("nonIabVendorsInfo")) {
629          if (
630            retObj.nonIabVendorsInfo && retObj.nonIabVendorsInfo.hasOwnProperty(
631              "nonIabVendorList",
632            )
633          ) {
634            non_iab_vendors =
635              retObj.nonIabVendorsInfo.nonIabVendorList;
636            // Dont assume array key = vendor id, set key as vendor id with iab_vendors[i].id
637            Object.keys(non_iab_vendors).forEach(function (i) {
638              non_iab_vendors_arr[non_iab_vendors[i].vendorId] =
639                non_iab_vendors[i].name;
640            });
641          }
642        }
643      });
644    }
645
646    /**
647     * Get a full list of IAB Vendors.
648     */
649    function vendors_getIABVendorList() {
650      var xhttp = new XMLHttpRequest();
651      xhttp.onreadystatechange = function () {
652        if (this.readyState == 4 && this.status == 200) {
653          var res = JSON.parse(this.responseText);
654          if (res && res.hasOwnProperty("vendors")) {
655            iab_vendors = res.vendors;
656
657            // Dont assume array key = vendor id, set key as vendor id with iab_vendors[i].id
658            Object.keys(iab_vendors).forEach(function (i) {
659              iab_vendors_arr[iab_vendors[i].id] =
660                iab_vendors[i].name;
661            });
662          }
663        }
664      };
665      xhttp.open("GET", get_iab_vendors_url, true);
666      xhttp.send();
667    }
668
669    /**
670     * Get a full list of google atp list
671     */
672    function vendors_getGoogleVendorList() {
673      var xhttp = new XMLHttpRequest();
674      xhttp.onreadystatechange = function () {
675        if (this.readyState == 4 && this.status == 200) {
676          google_vendors = JSON.parse(this.responseText);
677          google_vendors.forEach(function (vendor) {
678            google_vendors_arr[vendor.provider_id] =
679              vendor.provider_name;
680          });
681        }
682      };
683      xhttp.open("GET", get_google_atp_url, true);
684      xhttp.send();
685    }
686
687    /**
688     * CMP Loaded.
689     *
690     * Push __cmpLoaded event to the data layer.
691     */
692    function dlSend_tcLoaded(tcData) {
693      window.dataLayer = window.dataLayer || [];
694      window.dataLayer.push({
695        event: "__cmpLoaded",
696        __cmpLoaded: true,
697        gdpr: tcData ? tcData.gdprApplies : false,
698      });
699    }
700
701    /**
702     * IAB Vendors.
703     *
704     * Push __cmpIABConsents event to the datalayer, along with iab vendor consent ids.
705     */
706    function dlSend_consentData(tcData) {
707      window.dataLayer = window.dataLayer || [];
708      iab_vendor_names_arr = [];
709      iab_vendor_ids_arr = [];
710      non_iab_vendor_names_arr = [];
711      non_iab_vendor_ids_arr = [];
712      google_vendor_names_arr = [];
713      google_vendor_ids_arr = [];
714
715      if (tcData && tcData.hasOwnProperty("publisher")) {
716        if (tcData.publisher && tcData.publisher.hasOwnProperty("consents")) {
717          publisher_consents = resultToList(
718            tcData.publisher ? tcData.publisher.consents : null,
719          );
720        }
721        publisher_legitimate_interests = resultToList(
722          tcData.publisher ? tcData.publisher.legitimateInterests : null,
723        );
724      }
725
726      if (tcData && tcData.hasOwnProperty("purpose")) {
727        if (tcData.purpose && tcData.purpose.hasOwnProperty("consents")) {
728          purpose_consents = resultToList(tcData.purpose ? tcData.purpose.consents : null);
729        }
730        purpose_legitimate_interests = resultToList(
731          tcData.purpose ? tcData.purpose.legitimateInterests : null,
732        );
733      }
734
735      // Run this in an interval (every 0.1s) just in case we are still waiting
736      // on the return with our iab_vendors list calls, bail after 10 seconds
737      var cnt = 0;
738      var interval = setInterval(function () {
739        cnt += 1;
740
741        if (cnt === 100) {
742          clearInterval(interval);
743        }
744
745        if (iab_vendors) {
746          clearInterval(interval);
747
748          if (tcData ? tcData.gdprApplies : false) {
749            // Create name & id arrays of iab vendors with consent.
750            if (tcData && tcData.hasOwnProperty("vendor") && tcData.vendor && tcData.vendor.consents) {
751              Object.keys(tcData.vendor.consents).forEach(
752                function (vendorId) {
753                  if (
754                    (tcData.vendor && tcData.vendor.consents ? tcData.vendor.consents[vendorId] : false) ||
755                    !tcData.gdprApplies
756                  ) {
757                    iab_vendor_names_arr[vendorId] =
758                      iab_vendors_arr[vendorId];
759                    iab_vendor_ids_arr[vendorId] = vendorId;
760                  }
761                },
762              );
763            }
764          } else {
765            // GDPR does not apply, add all vendor names/ids
766            iab_vendor_names_arr = iab_vendors_arr;
767            iab_vendors_arr.forEach(
768              function (vendorName, vendorId) {
769                iab_vendor_ids_arr[vendorId] = vendorId;
770              },
771            );
772          }
773
774          if (tcData && tcData.addtlConsent && google_vendors_arr) {
775            // Create name and id arrays of google vendors with consent.
776            // addtlConsent: "1~39.43.46.55.61.
777            // 1~ is the version and the rest are the decoded ids
778            var addtlConsentParts = (tcData.addtlConsent || "").split("1~");
779            if (addtlConsentParts.length > 1) {
780              google_vendor_ids_arr = addtlConsentParts[1].split(".");
781            }
782            google_vendor_ids_arr &&
783              google_vendor_ids_arr.forEach(function (google_id) {
784                google_vendor_names_arr.push(
785                  google_vendors_arr[google_id],
786                );
787              });
788          }
789
790          // Non IAB Vendors
791          window.__tcfapi(
792            "getNonIABVendorConsents",
793            2,
794            function (nonIabConsent, nonIabSuccess) {
795              if (nonIabSuccess) {
796                if (nonIabConsent.gdprApplies) {
797                  // Create name & id arrays of non iab vendors with consent.
798                  nonIabConsent.nonIabVendorConsents &&
799                    Object.keys(
800                      nonIabConsent.nonIabVendorConsents,
801                    ).forEach(function (vendorId) {
802                      if (
803                        nonIabConsent
804                          .nonIabVendorConsents[
805                          vendorId
806                        ] ||
807                        !nonIabConsent.gdprApplies
808                      ) {
809                        non_iab_vendor_names_arr[
810                          vendorId
811                        ] =
812                          non_iab_vendors_arr[
813                            vendorId
814                          ];
815                        non_iab_vendor_ids_arr[
816                          vendorId
817                        ] = vendorId;
818                      }
819                    });
820                } else {
821                  // GDPR does not apply, add all non iab vendor names/ids
822                  non_iab_vendor_names_arr =
823                    non_iab_vendors_arr;
824                  non_iab_vendors_arr.forEach(
825                    function (vendorName, vendorId) {
826                      non_iab_vendor_ids_arr[vendorId] =
827                        vendorId;
828                    },
829                  );
830                }
831              }
832
833              // Join our array values, skipping empty items and joing them with a delimiter
834              iab_vendor_names = iab_vendor_names_arr
835                .filter(Boolean)
836                .join("|");
837              iab_vendor_ids = iab_vendor_ids_arr
838                .filter(Boolean)
839                .join(",");
840              google_vendor_names = google_vendor_names_arr
841                .filter(Boolean)
842                .join("|");
843              google_vendor_ids = google_vendor_ids_arr
844                .filter(Boolean)
845                .join("|");
846              non_iab_vendor_names = non_iab_vendor_names_arr
847                .filter(Boolean)
848                .join("|");
849              non_iab_vendor_ids = non_iab_vendor_ids_arr
850                .filter(Boolean)
851                .join(",");
852
853              // Push __cmpIABConsents signals to the data layer.
854              window.dataLayer.push({
855                event: "__cmpConsents",
856                __cmpConsents: {
857                  iabVendorConsentIds: iab_vendor_ids,
858                  iabVendorsWithConsent: iab_vendor_names,
859                  nonIABVendorConsentIds: non_iab_vendor_ids,
860                  nonIABVendorsWithConsent:
861                    non_iab_vendor_names,
862                  googleVendorConsentIds: google_vendor_ids,
863                  googleVendorsWithConsent:
864                    google_vendor_names,
865                  gdpr: tcData ? tcData.gdprApplies : false,
866                  publisherConsents: publisher_consents,
867                  publisherLegitimateInterests:
868                    publisher_legitimate_interests,
869                  purposeConsents: purpose_consents,
870                  purposeLegitimateInterests:
871                    purpose_legitimate_interests,
872                },
873              });
874            },
875          );
876        }
877      }, 100);
878    }
879
880    /**
881     * CCPA footer message.
882     */
883    function ccpa_footerMsg(tcData) {
884      window.__uspapi("uspPing", 1, function (obj, status) {
885        var footer_msg = document.getElementById("choice-footer-msg"); // get the footer container for our CCPA message
886
887        if (status && obj.mode.includes("USP") && footer_msg !== null) {
888          footer_msg.innerHTML =
889            footer_msg.innerHTML +
890            "We use cookies" +
891            " and other data collection technologies" +
892            " to provide the best experience for our customers. You may request" +
893            " that your data not be shared with third parties here: " +
894            '<a href="#" onclick="window.__uspapi(\'displayUspUi\');"' +
895            ">Do Not Sell My Data</a>" +
896            ".";
897
898          // Add the 'ccpa-msg-added' class to the container for post message add styling.
899          footer_msg.classList.add("ccpa-msg-added");
900
901          window.__uspapi("setUspDftData", 1, function (obj, status) {
902            if (!status) {
903              console.log("Error: USP string not updated!");
904            }
905          });
906        }
907      });
908    }
909
910    // Only get the IAB and Non-IAB vendor lists if the the Data layer push functionality
911    // is enabled, otherwise we do not need the vendor lists.
912    window.__tcfapi(
913      "addEventListener",
914      2,
915      function (getConfig, listenerSuccess) {
916        vendors_getIABVendorList(); // Get global IAB vendor list
917        vendors_getGoogleVendorList(); // Get google vendor list
918        vendors_getNonIABVendorList(); // Get UTID specific Non-IAB vendors
919      },
920    );
921
922    // CCPA
923    ccpa_footerMsg();
924
925    // Add our main listener.
926    window.__tcfapi(
927      "addEventListener",
928      2,
929      function (tcData, listenerSuccess) {
930        if (listenerSuccess) {
931          /**
932           * User Visits:
933           * 1st visit/no cookie = 'cmpuishown' called and then 'useractioncomplete' after user make their selection
934           * Repeat visit/has cookie = only 'tcloaded' is called as the UI does not show unless the user clicks to show
935           */
936
937          switch (tcData ? tcData.eventStatus : null) {
938            case "cmpuishown":
939              // Data Layer
940              dlSend_tcLoaded(tcData);
941              break;
942
943            case "tcloaded":
944              // Data Layer
945              if (tcData ? tcData.gdprApplies : false) {
946                dlSend_tcLoaded(tcData);
947                dlSend_consentData(tcData);
948              }
949              break;
950
951            case "useractioncomplete":
952              // Data Layer
953              dlSend_consentData(tcData);
954              break;
955          }
956        }
957      },
958    );
959  })();
960})();
961})();</script>
961    <link rel="apple-touch-icon" sizes="180x180" href="https://penandthepad.com/apple-touch-icon.png">     <link rel="manifest" href="https://penandthepad.com/site.webmanifest">     <link rel="alternate" type="application/atom+xml" title="Pen and the Pad » Feed" href="https://penandthepad.com/feed/"><style>
962    @layer properties, theme, base, components, utilities;
963</style><style>/* cyrillic-ext */
964@font-face {
965    font-family: "IBM Plex Mono";
966    font-style: italic;
967    font-weight: 100;
968    font-display: swap;
969    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6rfjptAgt5VM-kVkqdyU8n1ioStkdvp-8_FtFg95o.woff2)
970        format("woff2");
971    unicode-range:
972        U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
973}
974/* cyrillic */
975@font-face {
976    font-family: "IBM Plex Mono";
977    font-style: italic;
978    font-weight: 100;
979    font-display: swap;
980    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6rfjptAgt5VM-kVkqdyU8n1ioStkdmp-8_FtFg95o.woff2)
981        format("woff2");
982    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
983}
984/* vietnamese */
985@font-face {
986    font-family: "IBM Plex Mono";
987    font-style: italic;
988    font-weight: 100;
989    font-display: swap;
990    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6rfjptAgt5VM-kVkqdyU8n1ioStkdtp-8_FtFg95o.woff2)
991        format("woff2");
992    unicode-range:
993        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
994        U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
995        U+1EA0-1EF9, U+20AB;
996}
997/* latin-ext */
998@font-face {
999    font-family: "IBM Plex Mono";
1000    font-style: italic;
1001    font-weight: 100;
1002    font-display: swap;
1003    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6rfjptAgt5VM-kVkqdyU8n1ioStkdsp-8_FtFg95o.woff2)
1004        format("woff2");
1005    unicode-range:
1006        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
1007        U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
1008        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1009}
1010/* latin */
1011@font-face {
1012    font-family: "IBM Plex Mono";
1013    font-style: italic;
1014    font-weight: 100;
1015    font-display: swap;
1016    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6rfjptAgt5VM-kVkqdyU8n1ioStkdip-8_FtFg.woff2)
1017        format("woff2");
1018    unicode-range:
1019        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
1020        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
1021        U+2212, U+2215, U+FEFF, U+FFFD;
1022}
1023/* cyrillic-ext */
1024@font-face {
1025    font-family: "IBM Plex Mono";
1026    font-style: italic;
1027    font-weight: 200;
1028    font-display: swap;
1029    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSGlZ1jcoQPttoz6Pz.woff2)
1030        format("woff2");
1031    unicode-range:
1032        U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1033}
1034/* cyrillic */
1035@font-face {
1036    font-family: "IBM Plex Mono";
1037    font-style: italic;
1038    font-weight: 200;
1039    font-display: swap;
1040    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSGlZ1hMoQPttoz6Pz.woff2)
1041        format("woff2");
1042    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1043}
1044/* vietnamese */
1045@font-face {
1046    font-family: "IBM Plex Mono";
1047    font-style: italic;
1048    font-weight: 200;
1049    font-display: swap;
1050    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSGlZ1j8oQPttoz6Pz.woff2)
1051        format("woff2");
1052    unicode-range:
1053        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
1054        U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
1055        U+1EA0-1EF9, U+20AB;
1056}
1057/* latin-ext */
1058@font-face {
1059    font-family: "IBM Plex Mono";
1060    font-style: italic;
1061    font-weight: 200;
1062    font-display: swap;
1063    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSGlZ1jsoQPttoz6Pz.woff2)
1064        format("woff2");
1065    unicode-range:
1066        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
1067        U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
1068        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1069}
1070/* latin */
1071@font-face {
1072    font-family: "IBM Plex Mono";
1073    font-style: italic;
1074    font-weight: 200;
1075    font-display: swap;
1076    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSGlZ1gMoQPttozw.woff2)
1077        format("woff2");
1078    unicode-range:
1079        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
1080        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
1081        U+2212, U+2215, U+FEFF, U+FFFD;
1082}
1083/* cyrillic-ext */
1084@font-face {
1085    font-family: "IBM Plex Mono";
1086    font-style: italic;
1087    font-weight: 300;
1088    font-display: swap;
1089    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSflV1jcoQPttoz6Pz.woff2)
1090        format("woff2");
1091    unicode-range:
1092        U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1093}
1094/* cyrillic */
1095@font-face {
1096    font-family: "IBM Plex Mono";
1097    font-style: italic;
1098    font-weight: 300;
1099    font-display: swap;
1100    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSflV1hMoQPttoz6Pz.woff2)
1101        format("woff2");
1102    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1103}
1104/* vietnamese */
1105@font-face {
1106    font-family: "IBM Plex Mono";
1107    font-style: italic;
1108    font-weight: 300;
1109    font-display: swap;
1110    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSflV1j8oQPttoz6Pz.woff2)
1111        format("woff2");
1112    unicode-range:
1113        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
1114        U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
1115        U+1EA0-1EF9, U+20AB;
1116}
1117/* latin-ext */
1118@font-face {
1119    font-family: "IBM Plex Mono";
1120    font-style: italic;
1121    font-weight: 300;
1122    font-display: swap;
1123    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSflV1jsoQPttoz6Pz.woff2)
1124        format("woff2");
1125    unicode-range:
1126        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
1127        U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
1128        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1129}
1130/* latin */
1131@font-face {
1132    font-family: "IBM Plex Mono";
1133    font-style: italic;
1134    font-weight: 300;
1135    font-display: swap;
1136    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSflV1gMoQPttozw.woff2)
1137        format("woff2");
1138    unicode-range:
1139        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
1140        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
1141        U+2212, U+2215, U+FEFF, U+FFFD;
1142}
1143/* cyrillic-ext */
1144@font-face {
1145    font-family: "IBM Plex Mono";
1146    font-style: italic;
1147    font-weight: 400;
1148    font-display: swap;
1149    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6pfjptAgt5VM-kVkqdyU8n1ioa2HdgregdFOFh.woff2)
1150        format("woff2");
1151    unicode-range:
1152        U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1153}
1154/* cyrillic */
1155@font-face {
1156    font-family: "IBM Plex Mono";
1157    font-style: italic;
1158    font-weight: 400;
1159    font-display: swap;
1160    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6pfjptAgt5VM-kVkqdyU8n1ioa0XdgregdFOFh.woff2)
1161        format("woff2");
1162    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1163}
1164/* vietnamese */
1165@font-face {
1166    font-family: "IBM Plex Mono";
1167    font-style: italic;
1168    font-weight: 400;
1169    font-display: swap;
1170    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6pfjptAgt5VM-kVkqdyU8n1ioa2ndgregdFOFh.woff2)
1171        format("woff2");
1172    unicode-range:
1173        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
1174        U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
1175        U+1EA0-1EF9, U+20AB;
1176}
1177/* latin-ext */
1178@font-face {
1179    font-family: "IBM Plex Mono";
1180    font-style: italic;
1181    font-weight: 400;
1182    font-display: swap;
1183    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6pfjptAgt5VM-kVkqdyU8n1ioa23dgregdFOFh.woff2)
1184        format("woff2");
1185    unicode-range:
1186        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
1187        U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
1188        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1189}
1190/* latin */
1191@font-face {
1192    font-family: "IBM Plex Mono";
1193    font-style: italic;
1194    font-weight: 400;
1195    font-display: swap;
1196    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6pfjptAgt5VM-kVkqdyU8n1ioa1XdgregdFA.woff2)
1197        format("woff2");
1198    unicode-range:
1199        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
1200        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
1201        U+2212, U+2215, U+FEFF, U+FFFD;
1202}
1203/* cyrillic-ext */
1204@font-face {
1205    font-family: "IBM Plex Mono";
1206    font-style: italic;
1207    font-weight: 500;
1208    font-display: swap;
1209    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSJlR1jcoQPttoz6Pz.woff2)
1210        format("woff2");
1211    unicode-range:
1212        U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1213}
1214/* cyrillic */
1215@font-face {
1216    font-family: "IBM Plex Mono";
1217    font-style: italic;
1218    font-weight: 500;
1219    font-display: swap;
1220    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSJlR1hMoQPttoz6Pz.woff2)
1221        format("woff2");
1222    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1223}
1224/* vietnamese */
1225@font-face {
1226    font-family: "IBM Plex Mono";
1227    font-style: italic;
1228    font-weight: 500;
1229    font-display: swap;
1230    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSJlR1j8oQPttoz6Pz.woff2)
1231        format("woff2");
1232    unicode-range:
1233        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
1234        U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
1235        U+1EA0-1EF9, U+20AB;
1236}
1237/* latin-ext */
1238@font-face {
1239    font-family: "IBM Plex Mono";
1240    font-style: italic;
1241    font-weight: 500;
1242    font-display: swap;
1243    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSJlR1jsoQPttoz6Pz.woff2)
1244        format("woff2");
1245    unicode-range:
1246        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
1247        U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
1248        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1249}
1250/* latin */
1251@font-face {
1252    font-family: "IBM Plex Mono";
1253    font-style: italic;
1254    font-weight: 500;
1255    font-display: swap;
1256    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSJlR1gMoQPttozw.woff2)
1257        format("woff2");
1258    unicode-range:
1259        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
1260        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
1261        U+2212, U+2215, U+FEFF, U+FFFD;
1262}
1263/* cyrillic-ext */
1264@font-face {
1265    font-family: "IBM Plex Mono";
1266    font-style: italic;
1267    font-weight: 600;
1268    font-display: swap;
1269    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSClN1jcoQPttoz6Pz.woff2)
1270        format("woff2");
1271    unicode-range:
1272        U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1273}
1274/* cyrillic */
1275@font-face {
1276    font-family: "IBM Plex Mono";
1277    font-style: italic;
1278    font-weight: 600;
1279    font-display: swap;
1280    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSClN1hMoQPttoz6Pz.woff2)
1281        format("woff2");
1282    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1283}
1284/* vietnamese */
1285@font-face {
1286    font-family: "IBM Plex Mono";
1287    font-style: italic;
1288    font-weight: 600;
1289    font-display: swap;
1290    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSClN1j8oQPttoz6Pz.woff2)
1291        format("woff2");
1292    unicode-range:
1293        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
1294        U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
1295        U+1EA0-1EF9, U+20AB;
1296}
1297/* latin-ext */
1298@font-face {
1299    font-family: "IBM Plex Mono";
1300    font-style: italic;
1301    font-weight: 600;
1302    font-display: swap;
1303    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSClN1jsoQPttoz6Pz.woff2)
1304        format("woff2");
1305    unicode-range:
1306        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
1307        U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
1308        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1309}
1310/* latin */
1311@font-face {
1312    font-family: "IBM Plex Mono";
1313    font-style: italic;
1314    font-weight: 600;
1315    font-display: swap;
1316    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSClN1gMoQPttozw.woff2)
1317        format("woff2");
1318    unicode-range:
1319        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
1320        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
1321        U+2212, U+2215, U+FEFF, U+FFFD;
1322}
1323/* cyrillic-ext */
1324@font-face {
1325    font-family: "IBM Plex Mono";
1326    font-style: italic;
1327    font-weight: 700;
1328    font-display: swap;
1329    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1jcoQPttoz6Pz.woff2)
1330        format("woff2");
1331    unicode-range:
1332        U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1333}
1334/* cyrillic */
1335@font-face {
1336    font-family: "IBM Plex Mono";
1337    font-style: italic;
1338    font-weight: 700;
1339    font-display: swap;
1340    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1hMoQPttoz6Pz.woff2)
1341        format("woff2");
1342    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1343}
1344/* vietnamese */
1345@font-face {
1346    font-family: "IBM Plex Mono";
1347    font-style: italic;
1348    font-weight: 700;
1349    font-display: swap;
1350    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1j8oQPttoz6Pz.woff2)
1351        format("woff2");
1352    unicode-range:
1353        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
1354        U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
1355        U+1EA0-1EF9, U+20AB;
1356}
1357/* latin-ext */
1358@font-face {
1359    font-family: "IBM Plex Mono";
1360    font-style: italic;
1361    font-weight: 700;
1362    font-display: swap;
1363    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1jsoQPttoz6Pz.woff2)
1364        format("woff2");
1365    unicode-range:
1366        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
1367        U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
1368        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1369}
1370/* latin */
1371@font-face {
1372    font-family: "IBM Plex Mono";
1373    font-style: italic;
1374    font-weight: 700;
1375    font-display: swap;
1376    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJ1gMoQPttozw.woff2)
1377        format("woff2");
1378    unicode-range:
1379        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
1380        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
1381        U+2212, U+2215, U+FEFF, U+FFFD;
1382}
1383/* cyrillic-ext */
1384@font-face {
1385    font-family: "IBM Plex Mono";
1386    font-style: normal;
1387    font-weight: 100;
1388    font-display: swap;
1389    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6pfjptAgt5VM-kVkqdyU8n3kwa2HdgregdFOFh.woff2)
1390        format("woff2");
1391    unicode-range:
1392        U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1393}
1394/* cyrillic */
1395@font-face {
1396    font-family: "IBM Plex Mono";
1397    font-style: normal;
1398    font-weight: 100;
1399    font-display: swap;
1400    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6pfjptAgt5VM-kVkqdyU8n3kwa0XdgregdFOFh.woff2)
1401        format("woff2");
1402    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1403}
1404/* vietnamese */
1405@font-face {
1406    font-family: "IBM Plex Mono";
1407    font-style: normal;
1408    font-weight: 100;
1409    font-display: swap;
1410    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6pfjptAgt5VM-kVkqdyU8n3kwa2ndgregdFOFh.woff2)
1411        format("woff2");
1412    unicode-range:
1413        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
1414        U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
1415        U+1EA0-1EF9, U+20AB;
1416}
1417/* latin-ext */
1418@font-face {
1419    font-family: "IBM Plex Mono";
1420    font-style: normal;
1421    font-weight: 100;
1422    font-display: swap;
1423    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6pfjptAgt5VM-kVkqdyU8n3kwa23dgregdFOFh.woff2)
1424        format("woff2");
1425    unicode-range:
1426        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
1427        U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
1428        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1429}
1430/* latin */
1431@font-face {
1432    font-family: "IBM Plex Mono";
1433    font-style: normal;
1434    font-weight: 100;
1435    font-display: swap;
1436    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6pfjptAgt5VM-kVkqdyU8n3kwa1XdgregdFA.woff2)
1437        format("woff2");
1438    unicode-range:
1439        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
1440        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
1441        U+2212, U+2215, U+FEFF, U+FFFD;
1442}
1443/* cyrillic-ext */
1444@font-face {
1445    font-family: "IBM Plex Mono";
1446    font-style: normal;
1447    font-weight: 200;
1448    font-display: swap;
1449    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3uALwl1FgsAXHNlYzg.woff2)
1450        format("woff2");
1451    unicode-range:
1452        U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1453}
1454/* cyrillic */
1455@font-face {
1456    font-family: "IBM Plex Mono";
1457    font-style: normal;
1458    font-weight: 200;
1459    font-display: swap;
1460    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3uALwlRFgsAXHNlYzg.woff2)
1461        format("woff2");
1462    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1463}
1464/* vietnamese */
1465@font-face {
1466    font-family: "IBM Plex Mono";
1467    font-style: normal;
1468    font-weight: 200;
1469    font-display: swap;
1470    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3uALwl9FgsAXHNlYzg.woff2)
1471        format("woff2");
1472    unicode-range:
1473        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
1474        U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
1475        U+1EA0-1EF9, U+20AB;
1476}
1477/* latin-ext */
1478@font-face {
1479    font-family: "IBM Plex Mono";
1480    font-style: normal;
1481    font-weight: 200;
1482    font-display: swap;
1483    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3uALwl5FgsAXHNlYzg.woff2)
1484        format("woff2");
1485    unicode-range:
1486        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
1487        U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
1488        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1489}
1490/* latin */
1491@font-face {
1492    font-family: "IBM Plex Mono";
1493    font-style: normal;
1494    font-weight: 200;
1495    font-display: swap;
1496    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3uALwlBFgsAXHNk.woff2)
1497        format("woff2");
1498    unicode-range:
1499        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
1500        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
1501        U+2212, U+2215, U+FEFF, U+FFFD;
1502}
1503/* cyrillic-ext */
1504@font-face {
1505    font-family: "IBM Plex Mono";
1506    font-style: normal;
1507    font-weight: 300;
1508    font-display: swap;
1509    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3oQIwl1FgsAXHNlYzg.woff2)
1510        format("woff2");
1511    unicode-range:
1512        U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1513}
1514/* cyrillic */
1515@font-face {
1516    font-family: "IBM Plex Mono";
1517    font-style: normal;
1518    font-weight: 300;
1519    font-display: swap;
1520    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3oQIwlRFgsAXHNlYzg.woff2)
1521        format("woff2");
1522    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1523}
1524/* vietnamese */
1525@font-face {
1526    font-family: "IBM Plex Mono";
1527    font-style: normal;
1528    font-weight: 300;
1529    font-display: swap;
1530    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3oQIwl9FgsAXHNlYzg.woff2)
1531        format("woff2");
1532    unicode-range:
1533        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
1534        U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
1535        U+1EA0-1EF9, U+20AB;
1536}
1537/* latin-ext */
1538@font-face {
1539    font-family: "IBM Plex Mono";
1540    font-style: normal;
1541    font-weight: 300;
1542    font-display: swap;
1543    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3oQIwl5FgsAXHNlYzg.woff2)
1544        format("woff2");
1545    unicode-range:
1546        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
1547        U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
1548        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1549}
1550/* latin */
1551@font-face {
1552    font-family: "IBM Plex Mono";
1553    font-style: normal;
1554    font-weight: 300;
1555    font-display: swap;
1556    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3oQIwlBFgsAXHNk.woff2)
1557        format("woff2");
1558    unicode-range:
1559        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
1560        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
1561        U+2212, U+2215, U+FEFF, U+FFFD;
1562}
1563/* cyrillic-ext */
1564@font-face {
1565    font-family: "IBM Plex Mono";
1566    font-style: normal;
1567    font-weight: 400;
1568    font-display: swap;
1569    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F63fjptAgt5VM-kVkqdyU8n1iIq131nj-otFQ.woff2)
1570        format("woff2");
1571    unicode-range:
1572        U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1573}
1574/* cyrillic */
1575@font-face {
1576    font-family: "IBM Plex Mono";
1577    font-style: normal;
1578    font-weight: 400;
1579    font-display: swap;
1580    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F63fjptAgt5VM-kVkqdyU8n1isq131nj-otFQ.woff2)
1581        format("woff2");
1582    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1583}
1584/* vietnamese */
1585@font-face {
1586    font-family: "IBM Plex Mono";
1587    font-style: normal;
1588    font-weight: 400;
1589    font-display: swap;
1590    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F63fjptAgt5VM-kVkqdyU8n1iAq131nj-otFQ.woff2)
1591        format("woff2");
1592    unicode-range:
1593        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
1594        U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
1595        U+1EA0-1EF9, U+20AB;
1596}
1597/* latin-ext */
1598@font-face {
1599    font-family: "IBM Plex Mono";
1600    font-style: normal;
1601    font-weight: 400;
1602    font-display: swap;
1603    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F63fjptAgt5VM-kVkqdyU8n1iEq131nj-otFQ.woff2)
1604        format("woff2");
1605    unicode-range:
1606        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
1607        U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
1608        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1609}
1610/* latin */
1611@font-face {
1612    font-family: "IBM Plex Mono";
1613    font-style: normal;
1614    font-weight: 400;
1615    font-display: swap;
1616    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F63fjptAgt5VM-kVkqdyU8n1i8q131nj-o.woff2)
1617        format("woff2");
1618    unicode-range:
1619        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
1620        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
1621        U+2212, U+2215, U+FEFF, U+FFFD;
1622}
1623/* cyrillic-ext */
1624@font-face {
1625    font-family: "IBM Plex Mono";
1626    font-style: normal;
1627    font-weight: 500;
1628    font-display: swap;
1629    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3twJwl1FgsAXHNlYzg.woff2)
1630        format("woff2");
1631    unicode-range:
1632        U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1633}
1634/* cyrillic */
1635@font-face {
1636    font-family: "IBM Plex Mono";
1637    font-style: normal;
1638    font-weight: 500;
1639    font-display: swap;
1640    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3twJwlRFgsAXHNlYzg.woff2)
1641        format("woff2");
1642    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1643}
1644/* vietnamese */
1645@font-face {
1646    font-family: "IBM Plex Mono";
1647    font-style: normal;
1648    font-weight: 500;
1649    font-display: swap;
1650    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3twJwl9FgsAXHNlYzg.woff2)
1651        format("woff2");
1652    unicode-range:
1653        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
1654        U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
1655        U+1EA0-1EF9, U+20AB;
1656}
1657/* latin-ext */
1658@font-face {
1659    font-family: "IBM Plex Mono";
1660    font-style: normal;
1661    font-weight: 500;
1662    font-display: swap;
1663    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3twJwl5FgsAXHNlYzg.woff2)
1664        format("woff2");
1665    unicode-range:
1666        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
1667        U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
1668        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1669}
1670/* latin */
1671@font-face {
1672    font-family: "IBM Plex Mono";
1673    font-style: normal;
1674    font-weight: 500;
1675    font-display: swap;
1676    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3twJwlBFgsAXHNk.woff2)
1677        format("woff2");
1678    unicode-range:
1679        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
1680        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
1681        U+2212, U+2215, U+FEFF, U+FFFD;
1682}
1683/* cyrillic-ext */
1684@font-face {
1685    font-family: "IBM Plex Mono";
1686    font-style: normal;
1687    font-weight: 600;
1688    font-display: swap;
1689    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl1FgsAXHNlYzg.woff2)
1690        format("woff2");
1691    unicode-range:
1692        U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1693}
1694/* cyrillic */
1695@font-face {
1696    font-family: "IBM Plex Mono";
1697    font-style: normal;
1698    font-weight: 600;
1699    font-display: swap;
1700    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlRFgsAXHNlYzg.woff2)
1701        format("woff2");
1702    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1703}
1704/* vietnamese */
1705@font-face {
1706    font-family: "IBM Plex Mono";
1707    font-style: normal;
1708    font-weight: 600;
1709    font-display: swap;
1710    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl9FgsAXHNlYzg.woff2)
1711        format("woff2");
1712    unicode-range:
1713        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
1714        U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
1715        U+1EA0-1EF9, U+20AB;
1716}
1717/* latin-ext */
1718@font-face {
1719    font-family: "IBM Plex Mono";
1720    font-style: normal;
1721    font-weight: 600;
1722    font-display: swap;
1723    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl5FgsAXHNlYzg.woff2)
1724        format("woff2");
1725    unicode-range:
1726        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
1727        U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
1728        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1729}
1730/* latin */
1731@font-face {
1732    font-family: "IBM Plex Mono";
1733    font-style: normal;
1734    font-weight: 600;
1735    font-display: swap;
1736    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlBFgsAXHNk.woff2)
1737        format("woff2");
1738    unicode-range:
1739        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
1740        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
1741        U+2212, U+2215, U+FEFF, U+FFFD;
1742}
1743/* cyrillic-ext */
1744@font-face {
1745    font-family: "IBM Plex Mono";
1746    font-style: normal;
1747    font-weight: 700;
1748    font-display: swap;
1749    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3pQPwl1FgsAXHNlYzg.woff2)
1750        format("woff2");
1751    unicode-range:
1752        U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1753}
1754/* cyrillic */
1755@font-face {
1756    font-family: "IBM Plex Mono";
1757    font-style: normal;
1758    font-weight: 700;
1759    font-display: swap;
1760    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3pQPwlRFgsAXHNlYzg.woff2)
1761        format("woff2");
1762    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1763}
1764/* vietnamese */
1765@font-face {
1766    font-family: "IBM Plex Mono";
1767    font-style: normal;
1768    font-weight: 700;
1769    font-display: swap;
1770    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3pQPwl9FgsAXHNlYzg.woff2)
1771        format("woff2");
1772    unicode-range:
1773        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
1774        U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
1775        U+1EA0-1EF9, U+20AB;
1776}
1777/* latin-ext */
1778@font-face {
1779    font-family: "IBM Plex Mono";
1780    font-style: normal;
1781    font-weight: 700;
1782    font-display: swap;
1783    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3pQPwl5FgsAXHNlYzg.woff2)
1784        format("woff2");
1785    unicode-range:
1786        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
1787        U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
1788        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1789}
1790/* latin */
1791@font-face {
1792    font-family: "IBM Plex Mono";
1793    font-style: normal;
1794    font-weight: 700;
1795    font-display: swap;
1796    src: url(https://fonts.gstatic.com/s/ibmplexmono/v19/-F6qfjptAgt5VM-kVkqdyU8n3pQPwlBFgsAXHNk.woff2)
1797        format("woff2");
1798    unicode-range:
1799        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
1800        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
1801        U+2212, U+2215, U+FEFF, U+FFFD;
1802}
1803/* cyrillic-ext */
1804@font-face {
1805    font-family: "IBM Plex Sans";
1806    font-style: italic;
1807    font-weight: 100 700;
1808    font-stretch: 100%;
1809    font-display: swap;
1810    src: url(https://fonts.gstatic.com/s/ibmplexsans/v22/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYnYAKRjdNS7Iw.woff2)
1811        format("woff2");
1812    unicode-range:
1813        U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1814}
1815/* cyrillic */
1816@font-face {
1817    font-family: "IBM Plex Sans";
1818    font-style: italic;
1819    font-weight: 100 700;
1820    font-stretch: 100%;
1821    font-display: swap;
1822    src: url(https://fonts.gstatic.com/s/ibmplexsans/v22/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYDYAKRjdNS7Iw.woff2)
1823        format("woff2");
1824    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1825}
1826/* greek */
1827@font-face {
1828    font-family: "IBM Plex Sans";
1829    font-style: italic;
1830    font-weight: 100 700;
1831    font-stretch: 100%;
1832    font-display: swap;
1833    src: url(https://fonts.gstatic.com/s/ibmplexsans/v22/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYfYAKRjdNS7Iw.woff2)
1834        format("woff2");
1835    unicode-range:
1836        U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
1837}
1838/* vietnamese */
1839@font-face {
1840    font-family: "IBM Plex Sans";
1841    font-style: italic;
1842    font-weight: 100 700;
1843    font-stretch: 100%;
1844    font-display: swap;
1845    src: url(https://fonts.gstatic.com/s/ibmplexsans/v22/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYvYAKRjdNS7Iw.woff2)
1846        format("woff2");
1847    unicode-range:
1848        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
1849        U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
1850        U+1EA0-1EF9, U+20AB;
1851}
1852/* latin-ext */
1853@font-face {
1854    font-family: "IBM Plex Sans";
1855    font-style: italic;
1856    font-weight: 100 700;
1857    font-stretch: 100%;
1858    font-display: swap;
1859    src: url(https://fonts.gstatic.com/s/ibmplexsans/v22/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYrYAKRjdNS7Iw.woff2)
1860        format("woff2");
1861    unicode-range:
1862        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
1863        U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
1864        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1865}
1866/* latin */
1867@font-face {
1868    font-family: "IBM Plex Sans";
1869    font-style: italic;
1870    font-weight: 100 700;
1871    font-stretch: 100%;
1872    font-display: swap;
1873    src: url(https://fonts.gstatic.com/s/ibmplexsans/v22/zYXxKVElMYYaJe8bpLHnCwDKhdTEG46kmUZQCX598fQbGYTYAKRjdNQ.woff2)
1874        format("woff2");
1875    unicode-range:
1876        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
1877        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
1878        U+2212, U+2215, U+FEFF, U+FFFD;
1879}
1880/* cyrillic-ext */
1881@font-face {
1882    font-family: "IBM Plex Sans";
1883    font-style: normal;
1884    font-weight: 100 700;
1885    font-stretch: 100%;
1886    font-display: swap;
1887    src: url(https://fonts.gstatic.com/s/ibmplexsans/v22/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxTKYbSB4ZhRNU.woff2)
1888        format("woff2");
1889    unicode-range:
1890        U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
1891}
1892/* cyrillic */
1893@font-face {
1894    font-family: "IBM Plex Sans";
1895    font-style: normal;
1896    font-weight: 100 700;
1897    font-stretch: 100%;
1898    font-display: swap;
1899    src: url(https://fonts.gstatic.com/s/ibmplexsans/v22/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxaKYbSB4ZhRNU.woff2)
1900        format("woff2");
1901    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
1902}
1903/* greek */
1904@font-face {
1905    font-family: "IBM Plex Sans";
1906    font-style: normal;
1907    font-weight: 100 700;
1908    font-stretch: 100%;
1909    font-display: swap;
1910    src: url(https://fonts.gstatic.com/s/ibmplexsans/v22/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxdKYbSB4ZhRNU.woff2)
1911        format("woff2");
1912    unicode-range:
1913        U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
1914}
1915/* vietnamese */
1916@font-face {
1917    font-family: "IBM Plex Sans";
1918    font-style: normal;
1919    font-weight: 100 700;
1920    font-stretch: 100%;
1921    font-display: swap;
1922    src: url(https://fonts.gstatic.com/s/ibmplexsans/v22/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxRKYbSB4ZhRNU.woff2)
1923        format("woff2");
1924    unicode-range:
1925        U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
1926        U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,
1927        U+1EA0-1EF9, U+20AB;
1928}
1929/* latin-ext */
1930@font-face {
1931    font-family: "IBM Plex Sans";
1932    font-style: normal;
1933    font-weight: 100 700;
1934    font-stretch: 100%;
1935    font-display: swap;
1936    src: url(https://fonts.gstatic.com/s/ibmplexsans/v22/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxQKYbSB4ZhRNU.woff2)
1937        format("woff2");
1938    unicode-range:
1939        U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
1940        U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
1941        U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
1942}
1943/* latin */
1944@font-face {
1945    font-family: "IBM Plex Sans";
1946    font-style: normal;
1947    font-weight: 100 700;
1948    font-stretch: 100%;
1949    font-display: swap;
1950    src: url(https://fonts.gstatic.com/s/ibmplexsans/v22/zYXzKVElMYYaJe8bpLHnCwDKr932-G7dytD-Dmu1syxeKYbSB4Zh.woff2)
1951        format("woff2");
1952    unicode-range:
1953        U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
1954        U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
1955        U+2212, U+2215, U+FEFF, U+FFFD;
1956}
1957</style><style>:root {
1958    --theme-primary: #e30000;
1959    --theme-secondary: #2e2e30;
1960    --theme-tertiary: #f3f3f3;
1961    --theme-primary-foreground: #ffffff;
1962    --theme-secondary-foreground: #ffffff;
1963    --theme-tertiary-foreground: #2e2e30;
1964    --theme-surface: #ffffff;
1965    --theme-surface-raised: #ffffff;
1966    --theme-surface-sunken: #fafafa;
1967    --theme-surface-inverse: #18181b;
1968    --theme-foreground: #000000;
1969    --theme-ink: #000000;
1970    --theme-ink-muted: #71717a;
1971    --theme-ink-subtle: #a1a1aa;
1972    --theme-ink-inverse: #ffffff;
1973    --theme-line: #e4e4e7;
1974    --theme-line-strong: #d4d4d8;
1975    --theme-font-sans: "IBM Plex Sans", sans-serif;
1976    --theme-font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
1977    --theme-font-mono: "IBM Plex Mono", monospace;
1978    --theme-font-display: "IBM Plex Sans", sans-serif;
1979    --theme-text-xs: 0.75em;
1980    --theme-text-sm: 0.9em;
1981    --theme-text-base: 14px;
1982    --theme-text-lg: 1.5em;
1983    --theme-text-xl: 1.8em;
1984    --theme-text-2xl: 3em;
1985    --theme-radius: 0.25rem;
1986    --theme-radius-xs: 0.125rem;
1987    --theme-radius-sm: 0.25rem;
1988    --theme-radius-md: 0.375rem;
1989    --theme-radius-lg: 0.5rem;
1990    --theme-radius-xl: 0.75rem;
1991    --theme-radius-2xl: 1rem;
1992    --theme-radius-3xl: 1.5rem;
1993    --theme-heading-family: inherit;
1994    --theme-heading-weight: 600;
1995    --theme-heading-transform: uppercase;
1996    --theme-heading-tracking: inherit;
1997    --theme-heading-color: var(--color-secondary);
1998    --theme-h1-size: 36px;
1999    --theme-h1-leading: 40px;
2000    --theme-h2-size: 30px;
2001    --theme-h2-leading: 36px;
2002    --theme-h3-size: 26px;
2003    --theme-h3-leading: 32px;
2004    --theme-h4-size: 20px;
2005    --theme-h4-leading: 28px;
2006    --theme-h5-size: 18px;
2007    --theme-h5-leading: 24px;
2008    --theme-h6-size: 16px;
2009    --theme-h6-leading: 24px;
2010    --theme-nav-family: inherit;
2011    --theme-nav-color: var(--color-secondary);
2012    --theme-nav-size: 14px;
2013    --theme-nav-leading: 24px;
2014    --theme-nav-weight: 500;
2015    --theme-nav-tracking: 0.7px;
2016    --theme-nav-transform: uppercase;
2017    --theme-nav-padding: 0.5rem;
2018    --theme-nav-radius: 0;
2019    --theme-nav-hover-bg: var(--color-primary);
2020    --theme-nav-hover-fg: var(--color-primary-foreground);
2021    --theme-nav-active-color: var(--theme-nav-color);
2022    --theme-nav-active-weight: var(--theme-nav-weight);
2023    --theme-nav-active-border-width: 0px;
2024    --theme-nav-active-border-color: transparent;
2025    --theme-nav-panel-bg: #fff;
2026    --theme-nav-panel-border-top: 4px;
2027    --theme-nav-panel-border-top-color: var(--color-primary);
2028    --theme-nav-panel-border-bottom: 1px;
2029    --theme-nav-panel-border-bottom-color: var(--color-primary);
2030    --theme-nav-panel-column-line: transparent;
2031    --theme-nav-panel-radius: 0;
2032    --theme-nav-panel-shadow: none;
2033    --theme-nav-panel-min-height: 300px;
2034    --theme-nav-panel-label-family: inherit;
2035    --theme-nav-panel-label-size: 18px;
2036    --theme-nav-panel-label-leading: 40px;
2037    --theme-nav-panel-label-weight: 700;
2038    --theme-nav-panel-label-tracking: 1.25px;
2039    --theme-nav-panel-label-transform: uppercase;
2040    --theme-nav-panel-label-color: var(--color-secondary);
2041    --theme-nav-panel-link-size: 16px;
2042    --theme-nav-panel-link-leading: 24px;
2043    --theme-nav-panel-link-weight: 600;
2044    --theme-nav-panel-link-color: var(--color-secondary);
2045    --theme-nav-panel-link-padding: 0.5rem;
2046    --theme-nav-panel-link-radius: 0.25rem;
2047    --theme-nav-panel-link-hover-bg: color-mix(in oklab, var(--color-primary) 10%, transparent);
2048    --theme-nav-panel-link-hover-fg: var(--color-secondary);
2049    --theme-nav-more-color: #000;
2050    --theme-nav-more-padding: 0.5rem;
2051    --theme-nav-more-radius: 0.25rem;
2052    --theme-nav-more-hover-bg: var(--color-primary);
2053    --theme-nav-more-hover-fg: var(--color-primary-foreground);
2054    --theme-nav-card-bg: transparent;
2055    --theme-nav-card-border-width: 0;
2056    --theme-nav-card-border-color: transparent;
2057    --theme-nav-card-radius: 0;
2058    --theme-nav-card-padding: 0.5rem;
2059    --theme-nav-card-hover-bg: var(--color-zinc-100);
2060    --theme-nav-card-hover-border-color: transparent;
2061    --theme-nav-card-columns: 1fr;
2062    --theme-nav-card-columns-wide: repeat(2, minmax(0, 1fr));
2063    --theme-nav-icon-size: auto;
2064    --theme-nav-icon-radius: 0;
2065    --theme-nav-icon-border: 0;
2066    --theme-nav-icon-border-color: transparent;
2067    --theme-nav-icon-bg: transparent;
2068    --theme-nav-icon-color: inherit;
2069    --theme-nav-icon-hover-bg: transparent;
2070    --theme-nav-icon-hover-color: var(--color-primary);
2071    --theme-nav-search-panel-bg: color-mix(in oklab, var(--color-primary) 10%, #fff);
2072    --theme-nav-search-panel-border: 0 0 1px 1px;
2073    --theme-nav-search-panel-border-color: var(--color-zinc-300);
2074    --theme-nav-search-panel-radius: 0;
2075    --theme-nav-search-panel-shadow: none;
2076    --theme-nav-search-input-bg: #fff;
2077    --theme-nav-search-input-border: 1px;
2078    --theme-nav-search-input-border-color: #e1e1e1;
2079    --theme-nav-search-input-radius: 9999px;
2080    --theme-nav-search-input-color: inherit;
2081    --theme-nav-search-input-placeholder: color-mix(in oklab, currentcolor 50%, transparent);
2082    --theme-nav-search-input-size: inherit;
2083    --theme-nav-search-input-padding: 0 1.5rem;
2084    --theme-nav-search-submit-bg: var(--color-primary);
2085    --theme-nav-search-submit-fg: var(--color-primary-foreground);
2086    --theme-nav-account-panel-bg: #fff;
2087    --theme-nav-account-panel-border: 1px;
2088    --theme-nav-account-panel-border-color: var(--color-gray-200);
2089    --theme-nav-account-panel-radius: 0.75rem;
2090    --theme-nav-account-panel-shadow: 0 4px 24px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.06);
2091    --theme-nav-account-item-color: #000e2a;
2092    --theme-nav-account-item-hover-bg: var(--color-gray-50);
2093    --theme-nav-account-item-hover-color: #086bdb;
2094    --theme-nav-account-divider: var(--color-gray-100);
2095    --theme-nav-account-avatar-bg: linear-gradient(to bottom right, #086bdb, #0a4a96);
2096    --theme-nav-account-avatar-color: #fff;
2097    --theme-nav-account-focus: #086bdb;
2098    --theme-nav-account-trigger-bg: transparent;
2099    --theme-nav-account-trigger-border: 1.5px;
2100    --theme-nav-account-trigger-border-color: var(--color-gray-300);
2101    --theme-nav-account-trigger-radius: 9999px;
2102    --theme-nav-account-name-color: #000e2a;
2103    --theme-nav-drawer-top: 79px;
2104    --theme-nav-drawer-bg: #fff;
2105    --theme-nav-drawer-color: inherit;
2106    --theme-nav-drawer-item-family: inherit;
2107    --theme-nav-drawer-item-size: 21px;
2108    --theme-nav-drawer-item-leading: 1.5;
2109    --theme-nav-drawer-item-weight: 700;
2110    --theme-nav-drawer-item-tracking: normal;
2111    --theme-nav-drawer-item-transform: none;
2112    --theme-nav-drawer-item-color: var(--color-secondary);
2113    --theme-nav-drawer-item-justify: flex-start;
2114    --theme-nav-drawer-item-bg: transparent;
2115    --theme-nav-drawer-item-active-bg: transparent;
2116    --theme-nav-drawer-item-radius: 0;
2117    --theme-nav-drawer-item-padding: 0.5rem 0;
2118    --theme-nav-drawer-item-border-width: 0;
2119    --theme-nav-drawer-item-border-color: transparent;
2120    --theme-nav-drawer-item-active-color: var(--color-primary);
2121    --theme-nav-drawer-toggle-size: 22px;
2122    --theme-nav-drawer-toggle-color: currentColor;
2123    --theme-nav-drawer-divider-width: 0;
2124    --theme-nav-drawer-divider: transparent;
2125    --theme-nav-drawer-link-size: 16px;
2126    --theme-nav-drawer-link-color: inherit;
2127    --theme-prose-family: var(--theme-font-sans);
2128    --theme-prose-size: 18px;
2129    --theme-prose-leading: 28px;
2130    --theme-prose-color: #565656;
2131    --theme-prose-heading-family: var(--theme-font-sans);
2132    --theme-prose-heading-color: var(--color-secondary);
2133    --theme-prose-heading-transform: none;
2134    --theme-prose-container-heading-family: var(--theme-font-mono);
2135    --theme-prose-container-heading-color: var(--color-primary);
2136    --theme-prose-container-heading-transform: uppercase;
2137    --theme-archive-family: var(--theme-font-mono);
2138    --theme-archive-color: var(--color-primary);
2139    --theme-archive-transform: uppercase;
2140    --theme-section-family: inherit;
2141    --theme-section-size: 20px;
2142    --theme-section-leading: 28px;
2143    --theme-section-weight: 700;
2144    --theme-section-tracking: 1.4px;
2145    --theme-section-transform: uppercase;
2146    --theme-section-color: var(--color-secondary);
2147    --theme-section-border: 2px;
2148    --theme-section-border-color: var(--color-secondary);
2149    --theme-container: min(100%, 1200px);
2150    --theme-border-width: 1px;
2151    --theme-shadow: 0 0 12px rgba(114, 114, 119, 0.4);
2152}
2153.color-scope {
2154    --theme-heading-color: var(--color-secondary);
2155    --theme-nav-color: var(--color-secondary);
2156    --theme-nav-hover-bg: var(--color-primary);
2157    --theme-nav-hover-fg: var(--color-primary-foreground);
2158    --theme-nav-panel-border-top-color: var(--color-primary);
2159    --theme-nav-panel-border-bottom-color: var(--color-primary);
2160    --theme-nav-panel-label-color: var(--color-secondary);
2161    --theme-nav-panel-link-color: var(--color-secondary);
2162    --theme-nav-panel-link-hover-bg: color-mix(in oklab, var(--color-primary) 10%, transparent);
2163    --theme-nav-panel-link-hover-fg: var(--color-secondary);
2164    --theme-nav-more-hover-bg: var(--color-primary);
2165    --theme-nav-more-hover-fg: var(--color-primary-foreground);
2166    --theme-nav-card-hover-bg: var(--color-zinc-100);
2167    --theme-nav-icon-hover-color: var(--color-primary);
2168    --theme-nav-search-panel-bg: color-mix(in oklab, var(--color-primary) 10%, #fff);
2169    --theme-nav-search-panel-border-color: var(--color-zinc-300);
2170    --theme-nav-search-submit-bg: var(--color-primary);
2171    --theme-nav-search-submit-fg: var(--color-primary-foreground);
2172    --theme-nav-account-panel-border-color: var(--color-gray-200);
2173    --theme-nav-account-item-hover-bg: var(--color-gray-50);
2174    --theme-nav-account-divider: var(--color-gray-100);
2175    --theme-nav-account-trigger-border-color: var(--color-gray-300);
2176    --theme-nav-drawer-item-color: var(--color-secondary);
2177    --theme-nav-drawer-item-active-color: var(--color-primary);
2178    --theme-prose-heading-color: var(--color-secondary);
2179    --theme-prose-container-heading-color: var(--color-primary);
2180    --theme-archive-color: var(--color-primary);
2181    --theme-section-color: var(--color-secondary);
2182    --theme-section-border-color: var(--color-secondary);
2183}</style> 
2183<script>window.__authProviders={"facebook":false,"linkedin":false}</script>
2183 
2183<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://penandthepad.com/#website","url":"https://penandthepad.com/","name":"Pen and the Pad","description":"Pen and the Pad is your resource for writing, grammar, citations, and the craft of language and literature.","publisher":{"@id":"https://penandthepad.com/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://penandthepad.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://penandthepad.com/#organization","name":"Pen and the Pad","url":"https://penandthepad.com/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://penandthepad.com/#/schema/logo/image/","url":"https://penandthepad.com/astrostatic/3a22e5c5/_astro/penandthepad.CAcBzb0Z.svg","contentUrl":"https://penandthepad.com/astrostatic/3a22e5c5/_astro/penandthepad.CAcBzb0Z.svg","width":205,"height":70,"caption":"Pen and the Pad"},"image":{"@id":"https://penandthepad.com/#/schema/logo/image/"},"parentOrganization":{"@type":"Organization","name":"TechnologyAdvice","url":"https://technologyadvice.com/"}}]}</script>
2183<script>(function(){const targeting = {"env":"prod","stage":"prod","url":"penandthepad.com/pen-and-the-pad/","hostname":"penandthepad.com","edge_country":"TW","cid":"pen-and-the-pad","path":"pen-and-the-pad","category":"pen-and-the-pad","topic":"pen-and-the-pad","news":"no"};
2184
2185    window.dataLayer = window.dataLayer || []
2186    window.dataLayer.push(
2187        Object.fromEntries(
2188            Object.entries(targeting).map(([k, v]) => [`ad_${k}`, v]),
2189        ),
2190    )
2191})();</script>
2191<script>
2192    ;(() => {
2193        const campaign = new URLSearchParams(window.location.search).get(
2194            "adTargeting_campaign",
2195        )
2196        if (!campaign) return
2197
2198        window.googletag = window.googletag || { cmd: [] }
2199        window.googletag.cmd.push(() => {
2200            window.googletag.setConfig({ targeting: { campaign } })
2201        })
2202    })()
2203</script>
2203<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3235755782694080" crossorigin="anonymous"></script>
2203<script>(function(){const sampleRate = 1;
2204const debug = false;
2205const targeting = {"env":"prod","stage":"prod","url":"penandthepad.com/pen-and-the-pad/","hostname":"penandthepad.com","edge_country":"TW","cid":"pen-and-the-pad","path":"pen-and-the-pad","category":"pen-and-the-pad","topic":"pen-and-the-pad","news":"no"};
2206
2207        (() => {
2208            // Same-origin, site-aware base (mirrors getSiteAwarePath): dev/preview
2209            // serve sites under /sites/{domain}/…; prod serves each on its own host.
2210            let base = "/api/ado";
2211            if (location.pathname.startsWith("/sites/")) {
2212                const p = location.pathname.split("/");
2213                if (p.length >= 3) base = "/sites/" + p[2] + base;
2214            }
2215
2216            const uuid = () =>
2217                (crypto.randomUUID && crypto.randomUUID()) ||
2218                String(Date.now()) + Math.random().toString(16).slice(2);
2219
2220            const pageviewId = uuid();
2221            let sessionId;
2222            try {
2223                sessionId = sessionStorage.getItem("ado_sid");
2224                if (!sessionId) {
2225                    sessionId = uuid();
2226                    sessionStorage.setItem("ado_sid", sessionId);
2227                }
2228            } catch (_) {
2229                sessionId = "";
2230            }
2231
2232            // --- Unified transport: buffer typed events, flush one batch. ---
2233            // Trailing debounce: each event (re)arms a short idle timer, so a
2234            // burst of N events coalesces into ONE sendBeacon fired shortly after
2235            // the burst ends (e.g. 10 events over 5s → 1 request). A max-age cap
2236            // guarantees a continuous stream still flushes at least every
2237            // FLUSH_MAX_MS, a size cap guards the sendBeacon payload limit, and
2238            // the buffer is always flushed on tab-hide/unload so nothing is lost.
2239            const FLUSH_IDLE_MS = 1000; // flush this long after the last event
2240            const FLUSH_MAX_MS = 5000; // never hold a buffered event longer
2241            const MAX_BATCH = 20;
2242            let buffer = [];
2243            let timer = null;
2244            let firstAt = 0;
2245            const flush = () => {
2246                if (timer) {
2247                    clearTimeout(timer);
2248                    timer = null;
2249                }
2250                firstAt = 0;
2251                if (!buffer.length) return;
2252                const events = buffer;
2253                buffer = [];
2254                try {
2255                    const body = new Blob([JSON.stringify({ events })], {
2256                        type: "text/plain",
2257                    });
2258                    navigator.sendBeacon(base + "/collect/", body);
2259                    if (debug) console.log("[ado] flush", events);
2260                } catch (e) {
2261                    if (debug) console.warn("[ado] flush failed", e);
2262                }
2263            };
2264            const push = (event) => {
2265                buffer.push(event);
2266                if (buffer.length >= MAX_BATCH) {
2267                    flush();
2268                    return;
2269                }
2270                const now = Date.now();
2271                if (!firstAt) firstAt = now;
2272                // Idle debounce, clamped so total hold never exceeds FLUSH_MAX_MS.
2273                const delay = Math.max(
2274                    0,
2275                    Math.min(FLUSH_IDLE_MS, FLUSH_MAX_MS - (now - firstAt)),
2276                );
2277                if (timer) clearTimeout(timer);
2278                timer = setTimeout(flush, delay);
2279            };
2280
2281            window._ado = {
2282                pageview_id: pageviewId,
2283                session_id: sessionId,
2284                push,
2285                flush,
2286            };
2287
2288            addEventListener("visibilitychange", () => {
2289                if (document.visibilityState === "hidden") flush();
2290            });
2291            addEventListener("pagehide", flush);
2292
2293            const canonical =
2294                document.querySelector('link[rel="canonical"]')?.href ||
2295                location.href;
2296
2297            // --- Framing detection -------------------------------------------
2298            // Who, if anyone, has this page in an iframe — used to spot third
2299            // parties embedding our content.
2300            //
2301            // `location.ancestorOrigins` is the browser's own list of ancestor
2302            // frame origins (parent first, outermost last; Chromium + Safari).
2303            // Unlike `document.referrer` it can't be blanked by the framer's
2304            // Referrer-Policy and it does NOT drift to our own previous URL when
2305            // the framed page navigates inside the frame. The referrer is only
2306            // used to add path detail on top of an origin the ancestor list has
2307            // already confirmed, or as the sole signal on Firefox, which has no
2308            // ancestorOrigins. Sandboxed/opaque ancestors report "null".
2309            let iframeReferrer = "";
2310            try {
2311                if (window.top !== window.self) {
2312                    const ancestors = location.ancestorOrigins;
2313                    const outermost =
2314                        ancestors && ancestors.length
2315                            ? ancestors[ancestors.length - 1]
2316                            : "";
2317                    const referrerOrigin = document.referrer
2318                        ? new URL(document.referrer).origin
2319                        : "";
2320                    if (outermost && outermost !== "null") {
2321                        iframeReferrer =
2322                            referrerOrigin === outermost
2323                                ? document.referrer
2324                                : outermost;
2325                    } else if (
2326                        referrerOrigin &&
2327                        referrerOrigin !== location.origin
2328                    ) {
2329                        // A same-origin referrer inside a frame is our own
2330                        // previous page, not an embedder — never report it.
2331                        iframeReferrer = document.referrer;
2332                    }
2333                    // Our own frames (self-embeds, previews) aren't embedding.
2334                    if (iframeReferrer.indexOf(location.origin) === 0) {
2335                        iframeReferrer = "";
2336                    }
2337                }
2338            } catch (_) {
2339                iframeReferrer = "";
2340            }
2341
2342            // Same edge country the astro-proxy injected into the GPT
2343            // `edge_country` targeting → keeps the event stream aligned with GAM.
2344            let adoCountry = String(targeting.edge_country || "");
2345            if (adoCountry.indexOf("{{") === 0) adoCountry = "";
2346
2347            const ctx = {
2348                site: (window._vars && window._vars.domain) || location.hostname,
2349                hostname: location.hostname,
2350                path: location.pathname,
2351                canonical_url: canonical,
2352                post_id: String(targeting.post_id || ""),
2353                category: String(targeting.category || ""),
2354                country: adoCountry,
2355            };
2356
2357            // Pageview (always sent).
2358            push({
2359                type: "pageview",
2360                client_event_ts: Date.now(),
2361                pageview_id: pageviewId,
2362                session_id: sessionId,
2363                page_type: String(targeting.ptype || ""),
2364                referrer: document.referrer || "",
2365                iframe_referrer: iframeReferrer,
2366                ...ctx,
2367            });
2368
2369            // Per-slot refresh counter.
2370            const refreshCount = Object.create(null);
2371
2372            const adEvent = (eventType, event) => {
2373                if (sampleRate < 1 && Math.random() >= sampleRate) return;
2374                const slot = event.slot;
2375                const elId = slot.getSlotElementId();
2376                const size = Array.isArray(event.size)
2377                    ? event.size.join("x")
2378                    : event.size != null
2379                      ? String(event.size)
2380                      : "";
2381                const resp = slot.getResponseInformation
2382                    ? slot.getResponseInformation()
2383                    : null;
2384                const idx =
2385                    eventType === "slot_render_ended"
2386                        ? (refreshCount[elId] = (refreshCount[elId] || 0) + 1) - 1
2387                        : refreshCount[elId]
2388                          ? refreshCount[elId] - 1
2389                          : 0;
2390
2391                push({
2392                    type: "ad_event",
2393                    event_type: eventType,
2394                    client_event_ts: Date.now(),
2395                    pageview_id: pageviewId,
2396                    session_id: sessionId,
2397                    ad_unit_path: slot.getAdUnitPath(),
2398                    slot_element_id: elId,
2399                    slot_size: size,
2400                    is_empty: !!event.isEmpty,
2401                    refresh_index: idx,
2402                    line_item_id: resp ? String(resp.lineItemId ?? "") : "",
2403                    creative_id: resp ? String(resp.creativeId ?? "") : "",
2404                    advertiser_id: resp ? String(resp.advertiserId ?? "") : "",
2405                    campaign_id: resp ? String(resp.campaignId ?? "") : "",
2406                    ...ctx,
2407                });
2408            };
2409
2410            window.googletag = window.googletag || { cmd: [] };
2411            window.googletag.cmd.push(() => {
2412                window.googletag
2413                    .pubads()
2414                    .addEventListener("slotRenderEnded", (e) =>
2415                        adEvent("slot_render_ended", e),
2416                    );
2417                window.googletag
2418                    .pubads()
2419                    .addEventListener("impressionViewable", (e) =>
2420                        adEvent("impression_viewable", e),
2421                    );
2422            });
2423        })();
2424    })();</script>
2424 
2424<script>(function(){const heartbeatMs = 5000;
2425const idleMs = 30000;
2426const snapshotMs = 20000;
2427const targeting = {"env":"prod","stage":"prod","url":"penandthepad.com/pen-and-the-pad/","hostname":"penandthepad.com","edge_country":"TW","cid":"pen-and-the-pad","path":"pen-and-the-pad","category":"pen-and-the-pad","topic":"pen-and-the-pad","news":"no"};
2428const debug = false;
2429
2430        (() => {
2431            // Don't instrument headless/automation traffic.
2432            if (navigator.webdriver) return;
2433            // Requires the beacon's transport (same observability gate).
2434            const ado = window._ado;
2435            if (!ado || typeof ado.push !== "function") return;
2436
2437            const pageviewId = ado.pageview_id;
2438            const sessionId = ado.session_id;
2439            const uuid = () =>
2440                (crypto.randomUUID && crypto.randomUUID()) ||
2441                String(Date.now()) + Math.random().toString(16).slice(2);
2442            const str = (v) => (v == null ? "" : String(v));
2443
2444            // --- Page context (stable for the pageview; per-segment path/post_id
2445            // are tracked separately since they swap on infinite-scroll). ---
2446            const canonical =
2447                document.querySelector('link[rel="canonical"]')?.href ||
2448                location.href;
2449            let country = str(targeting.edge_country);
2450            if (country.indexOf("{{") === 0) country = "";
2451            const ctx = {
2452                site: (window._vars && window._vars.domain) || location.hostname,
2453                hostname: location.hostname,
2454                canonical_url: canonical,
2455                category: str(targeting.category),
2456                country,
2457            };
2458            const referrer = document.referrer || "";
2459
2460            // --- Loyalty: durable, consent-gated visitor id. Respect Global
2461            // Privacy Control; fall back to session-only when storage is blocked.
2462            // (Wire to the site CMP here for finer-grained consent.) ---
2463            let visitorId = "";
2464            let isNewVisitor = 0;
2465            try {
2466                if (navigator.globalPrivacyControl !== true) {
2467                    visitorId = localStorage.getItem("ado_vid") || "";
2468                    if (!visitorId) {
2469                        visitorId = uuid();
2470                        localStorage.setItem("ado_vid", visitorId);
2471                        isNewVisitor = 1;
2472                    }
2473                }
2474            } catch (_) {
2475                visitorId = "";
2476            }
2477
2478            // --- Per-post segments. segment_id = `${pageview_id}:${post_id}`, so
2479            // scrolling back into an earlier article RESUMES its segment. ---
2480            const segments = new Map();
2481            let activeSeg = null;
2482            let activeSince = null; // ms timestamp while accruing, else null
2483            let lastActivity = Date.now();
2484            let sinceSnapshot = 0;
2485
2486            const accruing = () =>
2487                document.visibilityState === "visible" &&
2488                Date.now() - lastActivity < idleMs;
2489
2490            function flushAccrual() {
2491                if (activeSince !== null && activeSeg) {
2492                    const now = Date.now();
2493                    activeSeg.engagedSeconds += (now - activeSince) / 1000;
2494                    activeSince = now;
2495                }
2496            }
2497            function setAccruing(on) {
2498                flushAccrual();
2499                activeSince = on ? Date.now() : null;
2500            }
2501
2502            function segFor(pid, category, path) {
2503                let seg = segments.get(pid);
2504                if (!seg) {
2505                    seg = {
2506                        post_id: pid,
2507                        segment_id: pageviewId + ":" + pid,
2508                        category: str(category) || ctx.category,
2509                        path: str(path) || location.pathname,
2510                        engagedSeconds: 0,
2511                        maxScrollPct: 0,
2512                        reachedEnd: 0,
2513                        seq: 0,
2514                    };
2515                    segments.set(pid, seg);
2516                } else {
2517                    if (category != null && str(category)) seg.category = str(category);
2518                    if (path != null && str(path)) seg.path = str(path);
2519                }
2520                return seg;
2521            }
2522
2523            // Deepest scroll into the active article + end detection, reusing the
2524            // h1[infiniscroll-id] / [data-type='infiniscroll-break'] geometry.
2525            function measureActive() {
2526                if (!activeSeg) return;
2527                const headers = Array.prototype.slice.call(
2528                    document.querySelectorAll("h1[infiniscroll-id]"),
2529                );
2530                const header =
2531                    document.querySelector(
2532                        'h1[infiniscroll-id="' + activeSeg.post_id + '"]',
2533                    ) || headers[0];
2534                if (!header) return;
2535                const y = window.scrollY;
2536                const toY = (el) =>
2536 el.getBoundingClientRect().top + y;
2537                const idx = headers.indexOf(header);
2538                const breaks = document.querySelectorAll(
2539                    "[data-type='infiniscroll-break']",
2540                );
2541                const bottomEl = breaks[idx] || headers[idx + 1];
2542                const top = toY(header);
2543                const bottom = bottomEl
2544                    ? toY(bottomEl)
2545                    : document.documentElement.scrollHeight;
2546                let pct;
2547                if (bottom - top <= window.innerHeight) {
2548                    // Article fits the viewport → readable without scrolling.
2549                    pct = 100;
2550                } else {
2551                    pct = Math.round(
2552                        Math.min(Math.max((y - top) / (bottom - top), 0), 1) * 100,
2553                    );
2554                }
2555                if (pct > activeSeg.maxScrollPct) activeSeg.maxScrollPct = pct;
2556                // End reached when the article's bottom boundary enters the viewport.
2557                if (bottom <= y + window.innerHeight + 4) activeSeg.reachedEnd = 1;
2558            }
2559
2560            function snapshot(seg) {
2561                if (!seg) return;
2562                seg.seq += 1;
2563                ado.push({
2564                    type: "engagement",
2565                    client_event_ts: Date.now(),
2566                    pageview_id: pageviewId,
2567                    session_id: sessionId,
2568                    segment_id: seg.segment_id,
2569                    post_id: seg.post_id,
2570                    site: ctx.site,
2571                    hostname: ctx.hostname,
2572                    path: seg.path,
2573                    canonical_url: ctx.canonical_url,
2574                    category: seg.category,
2575                    country: ctx.country,
2576                    referrer: referrer,
2577                    visitor_id: visitorId,
2578                    is_new_visitor: isNewVisitor,
2579                    engaged_seconds: Math.round(seg.engagedSeconds),
2580                    max_scroll_pct: seg.maxScrollPct,
2581                    reached_end: seg.reachedEnd,
2582                    seq: seg.seq,
2583                });
2584                if (debug) console.log("[ado] engagement", seg.segment_id, seg);
2585            }
2586
2587            function switchTo(pid, category, path) {
2588                if (!pid) return;
2589                if (activeSeg && activeSeg.post_id === pid) {
2590                    segFor(pid, category, path); // refresh path/category
2591                    return;
2592                }
2593                setAccruing(false); // bank time to the leaving segment
2594                if (activeSeg) snapshot(activeSeg); // flush leaving segment state
2595                activeSeg = segFor(pid, category, path);
2596                lastActivity = Date.now(); // a transition counts as activity
2597                setAccruing(accruing());
2598                measureActive();
2599            }
2600
2601            // Authoritative active-article signal from InfiniScroll transitions.
2602            document.addEventListener("ado:article", (e) => {
2603                const d = (e && e.detail) || {};
2604                switchTo(str(d.post_id), d.category, d.path);
2605            });
2606
2607            // Activity + scroll.
2608            const bump = () => {
2609                const wasAccruing = activeSince !== null;
2610                lastActivity = Date.now();
2611                if (!wasAccruing && document.visibilityState === "visible") {
2612                    setAccruing(true);
2613                }
2614            };
2615            let scrollThrottled = false;
2616            const onScroll = () => {
2617                bump();
2618                if (scrollThrottled) return;
2619                scrollThrottled = true;
2620                setTimeout(() => {
2621                    scrollThrottled = false;
2622                    measureActive();
2623                }, 200);
2624            };
2625            addEventListener("scroll", onScroll, { passive: true });
2626            ["pointermove", "keydown", "touchstart", "click"].forEach((ev) =>
2627                addEventListener(ev, bump, { passive: true }),
2628            );
2629
2630            // Visibility + bfcache lifecycle. Beacon also flushes on hide; we push
2631            // the final engagement snapshot then force a flush s
2631o it isn't stranded.
2632            function finalizeAndFlush() {
2633                setAccruing(false);
2634                if (activeSeg) snapshot(activeSeg);
2635                if (typeof ado.flush === "function") ado.flush();
2636            }
2637            addEventListener("visibilitychange", () => {
2638                if (document.visibilityState === "hidden") {
2639                    finalizeAndFlush();
2640                } else {
2641                    lastActivity = Date.now();
2642                    setAccruing(accruing());
2643                }
2644            });
2645            addEventListener("pagehide", finalizeAndFlush);
2646            addEventListener("pageshow", (e) => {
2647                if (e.persisted) {
2648                    lastActivity = Date.now();
2649                    setAccruing(accruing());
2650                }
2651            });
2652
2653            // Heartbeat: re-evaluate idle, remeasure, and drop an insurance
2654            // snapshot so long single-article reads / crashes aren't lost.
2655            setInterval(() => {
2656                setAccruing(accruing());
2657                measureActive();
2658                sinceSnapshot += heartbeatMs;
2659                if (sinceSnapshot >= snapshotMs && activeSeg) {
2660                    sinceSnapshot = 0;
2661                    flushAccrual();
2662                    snapshot(activeSeg);
2663                }
2664            }, heartbeatMs);
2665
2666            // Seed the landing article's segment (post pages only).
2667            const landingPid = str(targeting.post_id);
2668            if (landingPid) {
2669                switchTo(landingPid, ctx.category, location.pathname);
2670            }
2671        })();
2672    })();</script>
2672  <title>Pen and the Pad Archives | Pen and the Pad</title><meta name="title" content="Pen and the Pad Archives | Pen and the Pad"><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><meta property="og:locale" content="en_US"><meta property="og:type" content="article"><meta property="og:title" content="Pen and the Pad Archives | Pen and the Pad"><meta property="og:url" content="https://penandthepad.com/pen-and-the-pad/"><meta property="og:site_name" content="Pen and the Pad"><meta name="twitter:card" content="summary_large_image"><link rel="canonical" href="https://penandthepad.com/pen-and-the-pad/"><link rel="next" href="https://penandthepad.com/pen-and-the-pad/page/2/">
2672<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"/pen-and-the-pad/","url":"/pen-and-the-pad/","name":"Pen and the Pad Archives | Pen and the Pad","isPartOf":{"@id":"https://penandthepad.com/#website"},"primaryImageOfPage":{"@id":"https://penandthepad.com/pen-and-the-pad/#primaryimage"},"image":{"@id":"https://penandthepad.com/pen-and-the-pad/#primaryimage"},"thumbnailUrl":"https://cdn.penandthepad.com/4432663d3aef8104e28012cae7064470.jpg","inLanguage":"en-US","caption":"Fiction Books: Is Fiction Real? How does Fiction Influence Reality?"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://penandthepad.com/pen-and-the-pad/#primaryimage","url":"https://cdn.penandthepad.com/4432663d3aef8104e28012cae7064470.jpg","contentUrl":"https://cdn.penandthepad.com/4432663d3aef8104e28012cae7064470.jpg","width":750,"height":500,"caption":"Fiction Books: Is Fiction Real? How does Fiction Influence Reality?"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://penandthepad.com/"},{"@type":"ListItem","position":2,"name":"Pen and the Pad"}]}]}</script>
2672 <link rel="alternate" type="application/atom+xml" title="Pen and the Pad » Pen and the Pad Category Feed" href="https://penandthepad.com/pen-and-the-pad/feed/"> <style>@media(max-width:767px){.cnx-pinned-wrapper{margin-top:10px}:root[data-floating-bar] .cnx-float.cnx-float-position-bottom{transform:translateY(calc(-1 * (var(--sticky-ad-height, 0px) + var(--floating-bar-height, 0px))))!important}}@media(min-width:768px){.cnx-float.cnx-float-position-bottom{transform:translateY(calc(-100px - var(--floating-bar-height, 0px)))!important}}.cnx-main-container.cnx-in-desktop{max-width:640px;max-height:360px}.instaread-popover[data-astro-cid-5riuvn2h]{--sheet-gap: 16px;position:fixed;inset:auto 0 var(--sheet-gap);width:min(640px,calc(100vw - 2 * var(--sheet-gap)));margin:0 auto;padding:0;border:0;border-radius:12px;background:#fff;color:inherit;overflow:hidden;container-type:inline-size;box-shadow:0 0 0 1px #00000014,0 16px 40px -12px #0000004d;opacity:0;translate:0 12px;transition:opacity .18s ease-out,translate .18s ease-out,overlay .18s allow-discrete,display .18s allow-discrete}.instaread-popover[data-astro-cid-5riuvn2h]:popover-open{opacity:1;translate:0 0;@starting-style{opacity:0;translate:0 12px}}@media(max-width:767.98px){.instaread-popover[data-astro-cid-5riuvn2h]{--sheet-gap: 0px;width:100%;border-radius:14px 14px 0 0;padding-bottom:env(safe-area-inset-bottom);translate:0 100%}.instaread-popover[data-astro-cid-5riuvn2h]:popover-open{@starting-style{translate:0 100%}}.instaread-popover[data-astro-cid-5riuvn2h]::backdrop{background:#0000004d}}@supports (anchor-name: --a){@media(min-width:768px){.instaread-popover[data-astro-cid-5riuvn2h]{top:anchor(bottom);bottom:auto;left:clamp(16px,anchor(left),calc(100vw - 656px));margin:8px 0 0;translate:0 -4px;position-try-fallbacks:flip-block;position-visibility:anchors-visible}.instaread-popover[data-astro-cid-5riuvn2h]:popover-open{@starting-style{translate:0 -4px}}}}.head[data-astro-cid-5riuvn2h]{display:flex;align-items:center;justify-content:flex-end;height:36px;padding-inline:0 6px;color:var(--color-zinc-600, #52525b)}.close[data-astro-cid-5riuvn2h]{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;color:inherit;cursor:pointer}.close[data-astro-cid-5riuvn2h]:hover{background:#0000000d}.close[data-astro-cid-5riuvn2h]:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.instaread-player-slot[data-astro-cid-5riuvn2h]{height:218px;overflow:hidden}.instaread-player-slot[data-astro-cid-5riuvn2h] iframe.instaread-iframe{width:calc(100% + 8px)!important;max-width:none;height:220px!important}@container (min-width: 621px){.instaread-player-slot[data-astro-cid-5riuvn2h]{height:140px}.instaread-player-slot[data-astro-cid-5riuvn2h] iframe.instaread-iframe{height:144px!important}}.instaread-player-slot[data-astro-cid-5riuvn2h] .instaread-audio-player{margin:0!important}@media(prefers-reduced-motion:reduce){.instaread-popover[data-astro-cid-5riuvn2h]{transition:none}}instaread-listen[data-astro-cid-pkzhf4jp]:not([hidden]){display:flex;align-items:center}.listen-chip[data-astro-cid-pkzhf4jp]{display:inline-flex;align-items:center;gap:6px;height:24px;margin-block:-3px;padding-inline:8px 10px;border-radius:999px;border:1px solid color-mix(in oklab,var(--color-primary) 30%,transparent);background:color-mix(in oklab,var(--color-primary) 6%,transparent);color:var(--color-primary);font:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,opacity .2s;@starting-style{opacity:0}}.listen-chip[data-astro-cid-pkzhf4jp]:hover,.listen-chip[data-astro-cid-pkzhf4jp][data-open]{background:color-mix(in oklab,var(--color-primary) 13%,transparent);border-color:var(--color-primary)}.listen-chip[data-astro-cid-pkzhf4jp]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.listen-chip[data-astro-cid-pkzhf4jp][data-playing]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-foreground, #fff)}.bars[data-astro-cid-pkzhf4jp]{display:inline-flex;align-items:center;gap:2px;height:12px}.bars[data-astro-cid-pkzhf4jp] i[data-astro-cid-pkzhf4jp]{width:2px;border-radius:1px;background:currentColor}.bars[data-astro-cid-pkzhf4jp] i[data-astro-cid-pkzhf4jp]:nth-child(1){height:5px;--d: -.2s}.bars[data-astro-cid-pkzhf4jp] i[data-astro-cid-pkzhf4jp]:nth-child(2){height:12px;--d: -.65s}.bars[data-astro-cid-pkzhf4jp] i[data-astro-cid-pkzhf4jp]:nth-child(3){height:8px;--d: -.4s}.bars[data-astro-cid-pkzhf4jp] i[data-astro-cid-pkzhf4jp]:nth-child(4){height:10px;--d: -.85s}[data-astro-cid-pkzhf4jp][data-playing] .bars[data-astro-cid-pkzhf4jp] i[data-astro-cid-pkzhf4jp]{animation:listen-meter .9s ease-in-out var(--d) infinite alternate}@keyframes listen-meter{0%{height:3px}to{height:12px}}.when-playing[data-astro-cid-pkzhf4jp],[data-astro-cid-pkzhf4jp][data-playing] .when-idle[data-astro-cid-pkzhf4jp]{display:none}[data-astro-cid-pkzhf4jp][data-playing] .when-playing[data-astro-cid-pkzhf4jp]{display:inline}@media(prefers-reduced-motion:reduce){.listen-chip[data-astro-cid-pkzhf4jp]{transition:none}[data-astro-cid-pkzhf4jp][data-playing] .bars[data-astro-cid-pkzhf4jp] i[data-astro-cid-pkzhf4jp]{animation:none}}.article-contents[data-astro-cid-7jion4xf].gated{overflow:hidden;position:relative;.toc-container{display:none}}
2672.amazon-products[data-astro-cid-sdbnxc7u]{--ink: #1f1f23;--muted: #71717a;--rule: #18181b;--hairline: #d4d4d8}.heading[data-astro-cid-sdbnxc7u]{margin:0 0 12px;font-size:18px;line-height:24px}.rows[data-astro-cid-sdbnxc7u]{margin:0;padding:0;border-top:2px solid var(--rule);border-bottom:1px solid var(--rule)}.row[data-astro-cid-sdbnxc7u]{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-areas:"thumb info" "thumb buy";column-gap:16px;row-gap:10px;margin:0;padding:14px 0;color:var(--ink);font-variant-numeric:tabular-nums lining-nums}.row[data-astro-cid-sdbnxc7u]+.row[data-astro-cid-sdbnxc7u]{border-top:1px solid var(--hairline)}.thumb[data-astro-cid-sdbnxc7u]{grid-area:thumb;align-self:start}.thumb[data-astro-cid-sdbnxc7u] img[data-astro-cid-sdbnxc7u]{display:block;width:64px;height:64px;object-fit:contain}.info[data-astro-cid-sdbnxc7u]{grid-area:info;display:flex;flex-direction:column;gap:2px;min-width:0}.name[data-astro-cid-sdbnxc7u]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--ink);font-size:16px;line-height:22px;font-weight:600;text-decoration:none;&[data-astro-cid-sdbnxc7u]:hover{color:var(--color-primary);text-decoration:underline}}.detail[data-astro-cid-sdbnxc7u]{overflow:hidden;color:var(--muted);font-size:14px;line-height:20px;text-overflow:ellipsis;white-space:nowrap}.buy[data-astro-cid-sdbnxc7u]{grid-area:buy;display:flex;align-items:center;justify-content:space-between;gap:16px}.price[data-astro-cid-sdbnxc7u]{font-size:16px;line-height:22px;font-weight:600;white-space:nowrap}.button[data-astro-cid-sdbnxc7u]{display:inline-flex;align-items:center;border-radius:9999px;padding:9px 16px;background:var(--color-primary);color:var(--color-primary-foreground);font-family:var(--font-mono);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background-color .15s;&[data-astro-cid-sdbnxc7u]:hover{background:color-mix(in srgb,var(--color-primary) 82%,black)}}.name[data-astro-cid-sdbnxc7u]:focus-visible,.button[data-astro-cid-sdbnxc7u]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.note[data-astro-cid-sdbnxc7u]{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:18px}@media(min-width:640px){.row[data-astro-cid-sdbnxc7u]{grid-template-columns:80px minmax(0,1fr) auto;grid-template-areas:"thumb info buy";align-items:center;column-gap:20px}.thumb[data-astro-cid-sdbnxc7u]{align-self:center}.thumb[data-astro-cid-sdbnxc7u] img[data-astro-cid-sdbnxc7u]{width:80px;height:80px}.buy[data-astro-cid-sdbnxc7u]{gap:20px}}/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */.video-transcript-body p{margin-bottom:1em;line-height:1.6}.video-transcript-body p:last-child{margin-bottom:0}.video-transcript-note{opacity:.7;font-size:.8125rem;font-style:italic}.featured-video iframe{width:100%;height:100%}.sponsored>p,.sponsored>h2,.sponsored>h3,.sponsored>h4,.sponsored>h5,.sponsored>h6,.sponsored>ul,.sponsored>ol,.sponsored>dl,.sponsored>pre{padding-left:calc(var(--spacing,.25rem) * 10)}@media(min-width:64rem){.sponsored>p,.sponsored>h2,.sponsored>h3,.sponsored>h4,.sponsored>h5,.sponsored>h6,.sponsored>ul,.sponsored>ol,.sponsored>dl,.sponsored>pre{padding-left:calc(var(--spacing,.25rem) * 24)}}
2673</style>
2674<style>.checkbox input{margin-right:.75rem;cursor:pointer;-webkit-appearance:none;appearance:none;background-color:#fff;margin:2px;font:inherit;color:currentColor;width:1.5rem;height:1.5rem;min-width:1.5rem;min-height:1.5rem;border-radius:.4em;transform:translateY(-.075em);display:grid;place-content:center}.checkbox input:before{content:"";width:.65em;height:.65em;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);transform:scale(0);transform-origin:bottom left;transition:.12s transform ease-in-out;box-shadow:inset 1em 1em var(--color-primary);background-color:CanvasText}.checkbox input:checked:before{transform:scale(1)}.checkbox input:focus{outline:max(2px,.15em) solid var(--color-primary);outline-offset:max(2px,.15em)}.expand-enter-active,.expand-leave-active{transition:all .3s ease-in-out;max-height:200px}.expand-enter-from,.expand-leave-to{max-height:0;padding-top:0;padding-bottom:0;opacity:0}
2674.expand-enter-to,.expand-leave-from{max-height:200px;opacity:1}
2675</style>
2676<style>.icp-product-card[data-astro-cid-wnzspaez]{container-type:inline-size}@container (min-width:600px){.icp-product-card[data-astro-cid-wnzspaez]{grid-template-columns:repeat(2,minmax(0,1fr))}}.icp-product-header[data-astro-cid-wnzspaez]{order:0}@container (min-width:600px){.icp-product-header[data-astro-cid-wnzspaez]{order:1}}.icp-product-rank[data-astro-cid-wnzspaez],.icp-product-name[data-astro-cid-wnzspaez]{min-height:56px}.icp-product-logo[data-astro-cid-wnzspaez]{order:0}@container (min-width:600px){.icp-product-logo[data-astro-cid-wnzspaez]{order:2;max-height:50px}}.icp-product-cta[data-astro-cid-wnzspaez]{flex-direction:column;order:0;display:flex}@container (min-width:600px){.icp-product-cta[data-astro-cid-wnzspaez]{order:4}}.icp-product-attr[data-astro-cid-wnzspaez]{order:0}@container (min-width:600px){.icp-product-attr[data-astro-cid-wnzspaez]{order:3}}.icp-product-logo[data-astro-cid-37va56x7]{justify-content:flex-start}.icp-product-logo[data-astro-cid-37va56x7] img{max-width:250px}.icp-product-cta[data-astro-cid-37va56x7]{justify-content:flex-start}@media(min-width:48rem){.icp-product-rank[data-astro-cid-vqw45ux7],.icp-product-name[data-astro-cid-vqw45ux7]{min-height:56px}}.icp-link[data-astro-cid-vqw45ux7]:hover .icp-product-rank,.icp-link[data-astro-cid-vqw45ux7]:hover .icp-product-name{color:var(--color-secondary)}.icp-product-logo[data-astro-cid-vqw45ux7] img{max-width:200px}/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-font-weight:initial;--tw-content:"";--tw-tracking:initial}}}@layer components{.icp-widget .icp-product-card{gap:calc(var(--spacing,.25rem) * 4);border-radius:var(--radius-lg,var(--theme-radius-lg,.5rem));border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));padding:calc(var(--spacing,.25rem) * 4);
2676--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:var(--color-white,#fff);grid-template-columns:repeat(1,minmax(0,1fr));display:grid;container-type:inline-size}.icp-widget .icp-product-rank,.icp-widget .icp-product-name{--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);color:var(--color-secondary)}.icp-widget .icp-product-rank:after{--tw-content:".";content:var(--tw-content)}.icp-widget .icp-link:hover .icp-product-rank,.icp-widget .icp-link:hover .icp-product-name{color:var(--color-primary)}.icp-widget .icp-product-logo{margin-inline:auto;margin-block:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius,var(--theme-radius,.25rem));justify-content:center;align-items:center;width:100%}.icp-widget .icp-product-logo.loaded{background-color:#0000;background-image:none;height:100px;display:flex}.icp-widget .icp-product-logo img{object-fit:contain;width:auto;height:100%}.icp-widget .icp-product-cta{justify-content:center;align-items:center;display:flex}.icp-widget .icp-product-cta .button{margin-block:calc(var(--spacing,.25rem) * 4);cursor:pointer;border-style:var(--tw-border-style);width:fit-content;height:min-content;min-height:30px;padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 2);font-family:var(--font-mono,var(--theme-font-mono,"IBM Plex Mono", monospace));--tw-font-weight:var(--font-weight-semibold,600);font-size:12px;line-height:16px;font-weight:var(--font-weight-semibold,600);--tw-tracking:1.2px;letter-spacing:1.2px;text-transform:uppercase;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));border-width:1px;border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-primary-foreground);border-radius:3.40282e38px;justify-content:center;align-items:center;gap:10px}.icp-widget .icp-product-cta .button:hover{border-color:var(--color-tertiary);background-color:var(--color-tertiary)}.icp-widget .icp-product-cta .button.outline{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-primary);color:var(--color-primary);background-color:#0000}.icp-widget .icp-product-cta .button.outline:hover{border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-white,#fff)}.icp-widget .icp-product-attr{row-gap:calc(var(--spacing,.25rem) * 0);min-height:auto;font-size:var(--text-xs,var(--theme-text-xs,.75em));line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));margin-top:auto}@media(min-width:48rem){.icp-widget .icp-product-attr{min-height:175px}}@container (min-width:600px){.icp-widget .icp-product-attr{min-height:calc(var(--spacing,.25rem) * 0)}}.icp-widget .icp-product-attr>div{column-gap:calc(var(--spacing,.25rem) * 2);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-gray-200,oklch(92.8% .006 264.531));padding-block:calc(var(--spacing,.25rem) * 1)}.icp-widget .icp-product-attr>div:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.icp-widget .icp-product-attr>div dt{width:calc(var(--spacing,.25rem) * 26);--tw-font-weight:var(--font-weight-light,300);font-weight:var(--font-weight-light,300)}.icp-widget .icp-product-attr>div dd{color:var(--color-gray-700,oklch(37.3% .034 259.733))}.icp-widget .icp-widget-disclaimer .tooltip-label{margin-left:calc(var(--spacing,.25rem) * 2);font-size:var(--text-xs,var(--theme-text-xs,.75em));line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-gray-500,oklch(55.1% .027 264.364));flex-shrink:0}[data-icp-widget]:not(:has(.icp-products)),[data-icp-widget]:has(.icp-products[data-icp-state=empty]),.icp-widget .icp-skeleton{display:none}.icp-widget .icp-products[data-icp-state=loading] .icp-skeleton,.icp-widget .icp-products[data-icp-state=loading] .icp-product-rank,.icp-widget .icp-products[data-icp-state=loading] .icp-product-cta .button{background-image:linear-gradient(90deg,#18181b
267614 25%,#18181b08,#18181b14 75%);background-size:200% 100%;animation:1.6s ease-in-out infinite icp-shimmer}@media(prefers-reduced-motion:reduce){.icp-widget .icp-products[data-icp-state=loading] .icp-skeleton,.icp-widget .icp-products[data-icp-state=loading] .icp-product-rank,.icp-widget .icp-products[data-icp-state=loading] .icp-product-cta .button{animation:none}}.icp-widget .icp-products[data-icp-state=loading] .icp-skeleton{vertical-align:middle;border-radius:3.40282e38px;max-width:100%;height:.75em;display:inline-block}.icp-widget .icp-products[data-icp-state=loading] .icp-product-header .icp-product-rank{display:none}.icp-widget .icp-products[data-icp-state=loading] .icp-product-rank:after{content:none}.icp-widget .icp-products[data-icp-state=loading] .icp-product-logo{height:100px;display:flex}.icp-widget .icp-products[data-icp-state=loading] .icp-product-logo .icp-skeleton{width:75%;height:64%;max-width:calc(var(--spacing,.25rem) * 48);border-radius:var(--radius-lg,var(--theme-radius-lg,.5rem));display:block}.icp-widget .icp-products[data-icp-state=loading] .icp-product-description .icp-skeleton{width:100%}.icp-widget .icp-products[data-icp-state=loading] .icp-product-description .icp-skeleton:last-child{width:66.6667%}.icp-widget .icp-products[data-icp-state=loading] .icp-product-cta .button{color:#0000;border-color:#0000}.icp-widget .icp-products[data-icp-state=loading] .icp-product-attr svg{visibility:hidden}.icp-widget .icp-products[data-icp-state=ready] .icp-product-card>*{animation:.3s ease-out icp-fade-in}@media(prefers-reduced-motion:reduce){.icp-widget .icp-products[data-icp-state=ready] .icp-product-card>*{animation:none}}@keyframes icp-shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}@keyframes icp-fade-in{0%{opacity:0}}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-tracking{syntax:"*";inherits:false}
2677</style>
2678<style>@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.icp-product-rank[data-astro-cid-574xbxas],.icp-product-name[data-astro-cid-574xbxas]{--tw-font-weight:var(--font-weight-normal,400);font-weight:var(--font-weight-normal,400);color:var(--color-primary)}.icp-product-rank[data-astro-cid-574xbxas]:after{display:none}.icp-link[data-astro-cid-574xbxas]:hover .icp-product-name{color:var(--color-tertiary)}.icp-product-card[data-astro-cid-574xbxas]{border-style:var(--tw-border-style);border-width:0;border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));padding-inline:calc(var(--spacing,.25rem) * 0);padding-block:calc(var(--spacing,.25rem) * 2);--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-sha
2678dow);border-radius:0}.icp-product-card[data-astro-cid-574xbxas]:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.icp-product-card[data-astro-cid-574xbxas] a[data-astro-cid-574xbxas]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}.icp-product-logo[data-astro-cid-574xbxas]{margin:calc(var(--spacing,.25rem) * 0);background-color:#0000;width:64px;height:64px}.icp-product-rank[data-astro-cid-574xbxas]{background-color:var(--color-primary);width:24px;height:24px;color:var(--color-primary-foreground);border-radius:3.40282e38px;justify-content:center;align-items:center;display:flex}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial}}}.icp-widget-head[data-astro-cid-r2q5pr5m]{margin-bottom:calc(var(--spacing,.25rem) * 0);border-bottom:1px solid #0003;justify-content:space-between;align-items:center;position:relative}.icp-widget-headline[data-astro-cid-r2q5pr5m]{text-align:center;--tw-leading:var(--leading-normal,1.5);font-size:1rem;line-height:var(--leading-normal,1.5);--tw-font-weight:var(--font-weight-normal,400);font-weight:var(--font-weight-normal,400);--tw-tracking:1px;letter-spacing:1px;color:var(--color-primary-foreground);margin-inline:calc(var(--spacing,.25rem) * 4);margin-bottom:calc(var(--spacing,.25rem) * 0);border-top-left-radius:var(--radius-lg,.5rem);border-top-right-radius:var(--radius-lg,.5rem);background-color:var(--color-primary);width:100%;padding:calc(var(--spacing,.25rem) * 2);text-transform:capitalize}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}
2679</style>
2680<link rel="stylesheet" href="https://penandthepad.com/astrostatic/3a22e5c5/_astro/infinite.De1tChLT.css">
2681<style>/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-38667ae2],[data-v-38667ae2]:before,[data-v-38667ae2]:after,[data-v-38667ae2]::backdrop{--tw-font-weight:initial}}}a[data-v-38667ae2]{--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}a[data-v-38667ae2]:hover{text-decoration-line:underline}@property --tw-font-weight{syntax:"*";inherits:false}
2682</style>
2683<link rel="stylesheet" href="https://penandthepad.com/astrostatic/3a22e5c5/_astro/infinite.Dr6fWTgd.css">
2684<style>.slide-right-enter-active[data-v-0c8284e0],.slide-right-leave-active[data-v-0c8284e0]{transition:all .3s}.slide-right-enter-from[data-v-0c8284e0],.slide-right-leave-to[data-v-0c8284e0]{transform:translate(-100vw);opacity:0}.slide-left-enter-active[data-v-0c8284e0],.slide-left-leave-active[data-v-0c8284e0]{transition:all .3s}.slide-left-enter-from[data-v-0c8284e0],.slide-left-leave-to[data-v-0c8284e0]{transform:translate(100vw);opacity:0}
2684.submenu-content [data-submenu][data-v-0c8284e0]{display:none}.submenu-content [data-submenu].active[data-v-0c8284e0]{display:block}#site-navigation:not([data-nav-computed]){visibility:hidden;animation:nav-fallback 0s 1.5s forwards}@keyframes nav-fallback{to{visibility:visible}}.slide-enter-active[data-v-14b806f0],.slide-leave-active[data-v-14b806f0]{transition:all .3s}.slide-enter-from[data-v-14b806f0],.slide-leave-to[data-v-14b806f0]{transform:translateY(20px);opacity:0}:root{--skybox-reserve: 18.75vw}@media(min-width:768px){:root{--skybox-reserve: 90px}}[data-ad-slot=skybox]{min-height:var(--skybox-reserve)}[data-ad-slot=skybox][data-loaded],[data-ad-slot=skybox][data-empty]{min-height:0}[data-ad-slot=skybox]:not([data-empty])~#main-navigation{top:var(--skybox-reserve)}.animate-ping-once[data-v-788e3fe6]{animation:ping-once-788e3fe6 .35s ease-out forwards}@keyframes ping-once-788e3fe6{0%{transform:scale(1)}40%{transform:scale(1.2)}70%{transform:scale(.95)}to{transform:scale(1)}}/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid;--tw-content:"";--tw-border-style:solid;--tw-font-weight:initial;--tw-leading:initial}}}a[data-astro-cid-tdou77qi]:hover,a[data-astro-cid-tdou77qi]:focus{color:#2a6496;text-decoration-line:underline}a[data-astro-cid-tdou77qi]:active,a[data-astro-cid-tdou77qi]:hover{outline-style:var(--tw-outline-style);outline-width:0}#ftl-footer[data-astro-cid-tdou77qi]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Helvetica Neue,Helvetica,Arial,sans-serif!important}@media(min-width:768px){.container1[data-astro-cid-tdou77qi]{width:750px}}@media(min-width:992px){.container1[data-astro-cid-tdou77qi]{width:970px}}@media(min-width:1200px){.container1[data-astro-cid-tdou77qi]{width:1170px}}.container1[data-astro-cid-tdou77qi]:before{--tw-content:"";content:var(--tw-content);display:table}.container1[data-astro-cid-tdou77qi],.container-fluid[data-astro-cid-tdou77qi]{margin-inline:auto;padding-inline:15px}.container-fluid[data-astro-cid-tdou77qi]:before,.row[data-astro-cid-tdou77qi]:before{--tw-content:"";content:var(--tw-content);display:table}.container-fluid[data-astro-cid-tdou77qi]:after,.row[data-astro-cid-tdou77qi]:after{clear:both;--tw-content:"";content:var(--tw-content);display:table}.col-xs-12[data-astro-cid-tdou77qi]{float:left;width:100%}@media(min-width:768px){.col-sm-5[data-astro-cid-tdou77qi]{float:left;width:41.6667%}.col-sm-6[data-astro-cid-tdou77qi]{float:left;width:50%}.col-sm-7[data-astro-cid-tdou77qi]{float:left;width:58.3333%}}.col-xs-12[data-astro-cid-tdou77qi],.col-sm-6[data-astro-cid-tdou77qi],.col-sm-7[data-astro-cid-tdou77qi],.col-md-12[data-astro-cid-tdou77qi]{min-height:1px;padding-inline:15px;position:relative}@media(min-width:992px){.col-md-12[data-astro-cid-tdou77qi]{float:left;width:100%}}#ftl-footer[data-astro-cid-tdou77qi]{width:100%;overflow-x:hidden}#ftl-footer[data-astro-cid-tdou77qi] .row[data-astro-cid-tdou77qi]{margin-inline:-15px}#ftl-footer[data-astro-cid-tdou77qi] .footerContainer[data-astro-cid-tdou77qi]{max-width:1230px;padding-top:25px;padding-bottom:20px}#ftl-footer[data-astro-cid-tdou77qi] .footerWidget[data-astro-cid-tdou77qi]{margin-left:calc(var(--spacing,.25rem) * 0);width:100%}#ftl-footer[data-astro-cid-tdou77qi] .footerOuter[data-astro-cid-tdou77qi]{border-top-style:var(--tw-border-style);background-color:#292b31;border-top-width:0}#ftl-footer[data-astro-cid-tdou77qi] .row[data-astro-cid-tdou77qi] .left[data-astro-cid-tdou77qi]{padding-left:calc(var(--spacing,.25rem) * 0)}#ftl-footer[data-astro-cid-tdou77qi] .row[data-astro-cid-tdou77qi] .top-section[data-astro-cid-tdou77qi]{padding-left:calc(var(--spacing,.25rem) * 0);margin-bottom:10px}#ftl-footer[data-astro-cid-tdou77qi] .row[data-astro-cid-tdou77qi] .top-section[data-astro-cid-tdou77qi] div[data-astro-cid-tdou77qi],#ftl-footer[data-astro-cid-tdou77qi] .row[data-astro-cid-tdou77qi] .bottom-section[data-astro-cid-tdou77qi],#ftl-footer[data-astro-cid-tdou77qi] .row[data-astro-cid-tdou77qi] .bottom-section[data-astro-cid-tdou77qi] div[data-astro-cid-tdou77qi]{padding-left:calc(var(--spacing,.25rem) * 0)}#ftl-footer[data-astro-cid-tdou77qi] .row[data-astro-cid-tdou77qi] div[data-astro-cid-tdou77qi] .section-header[data-astro-cid-tdou77qi]{margin-bottom:calc(var(--spacing,.25rem) * 0);--tw-font-weight:var(--font-weight-semibold,600);font-size:14px;font-weight:var(--font-weight-semibold,600);color:#737981;text-transform:none}#ftl-footer[data-astro-cid-tdou77qi] .row[data-astro-cid-tdou77qi] div[data-astro-cid-tdou77qi] ul[data-astro-cid-tdou77qi]{padding-left:calc(var(--spacing,.25rem) * 0);--tw-leading:1.5em;--tw-font-weight:var(--font-weight-semibold,600);font-size:13px;line-height:1.5em;font-weight:var(--font-weight-semibold,600);color:#e9ebee;list-style-type:none}#ftl-footer[data-astro-cid-tdou77qi] .row[data-astro-cid-tdou77qi] div[data-astro-cid-tdou77qi] ul[data-astro-cid-tdou77qi] li[data-astro-cid-tdou77qi] a[data-astro-cid-tdou77qi]{color:#e9ebee!important}#ftl-footer[data-astro-cid-tdou77qi] .row[data-astro-cid-tdou77qi] div[data-astro-cid-tdou77qi] .bottom-top-list[data-astro-cid-tdou77qi]{margin-bottom:20px}#ftl-footer[data-astro-cid-tdou77qi] .row[data-astro-cid-tdou77qi] .social-media-icons[data-astro-cid-tdou77qi]{float:left;width:auto;padding:calc(var(--spacing,.25rem) * 0);margin-top:-10px;margin-left:-4px;display:none}#ftl-footer[data-astro-cid-tdou77qi] .row[data-astro-cid-tdou77qi] .social-media-icons[data-astro-cid-tdou77qi] .icons-only[data-astro-cid-tdou77qi]{background-color:#0000;padding-block:20px;padding-inline:5px}#ftl-footer[data-astro-cid-tdou77qi] .row[data-astro-cid-tdou77qi] .social-media-icons[data-astro-cid-tdou77qi] .icons-only[data-astro-cid-tdou77qi] li[data-astro-cid-tdou77qi]{margin-right:3px}#ftl-footer[data-astro-cid-tdou77qi] .row[data-astro-cid-tdou77qi] .social-media-icons[data-astro-cid-tdou77qi] .icons-only[data-astro-cid-tdou77qi] li[data-astro-cid-tdou77qi]:last-of-type{margin-right:calc(var(--spacing,.25rem) * 0)}#ftl-footer[data-astro-cid-tdou77qi] .row[data-astro-cid-tdou77qi] .right[data-astro-cid-tdou77qi]{padding-inline:calc(var(--spacing,.25rem) * 0)}#ftl-footer[data-astro-cid-tdou77qi] .row[data-astro-cid-tdou77qi] .connect-text[data-astro-cid-tdou77qi]{float:left;--tw-font-weight:var(--font-weight-semibold,600);font-size:18px;font-weight:var(--font-weight-semibold,600);color:#29a8ff;text-transform:none;margin-right:10px;padding-top:10px;display:inline}#ftl-footer[data-astro-cid-tdou77qi] .footer-mobile[data-astro-cid-tdou77qi]{display:none!important}#ftl-footer[data-astro-cid-tdou77qi] .footer-wide[data-astro-cid-tdou77qi]{display:block!important}#ftl-footer[data-astro-cid-tdou77qi] .footer[data-astro-cid-tdou77qi]{border-top-style:var(--tw-border-style)!important;background-color:#292b31!important;border-top-width:0!important}#ftl-footer[data-astro-cid-tdou77qi] .icons-only[data-astro-cid-tdou77qi]{margin:calc(var(--spacing,.25rem) * 0);cursor:pointer;padding-inline:5px;padding-block:calc(var(--spacing,.25rem) * 0);display:inline-block;position:relative}#ftl-footer[data-astro-cid-tdou77qi] .icons-only[data-astro-cid-tdou77qi] li[data-astro-cid-tdou77qi]{text-align:center;--tw-leading:1.75;width:30px;height:30px;color:var(--color-white,#fff);border-radius:3.40282e38px;font-size:18px;line-height:1.75;list-style-type:none;display:inline-block}#ftl-footer[data-astro-cid-tdou77qi] .icons-only[data-astro-cid-tdou77qi] .rss-icon[data-astro-cid-tdou77qi]{background-color:#f60}#ftl-footer[data-astro-cid-tdou77qi] .icons-only[data-astro-cid-tdou77qi] .rss-icon[data-astro-cid-tdou77qi] a[data-astro-cid-tdou77qi]{color:var(--color-white,#fff)}#ftl-footer[data-astro-cid-tdou77qi] .icons-only[data-astro-cid-tdou77qi] .twitter-icon[data-astro-cid-tdou77qi]{background-color:#00acec!important}#ftl-footer[data-astro-cid-tdou77qi] .icons-only[data-astro-cid-tdou77qi] .facebook-icon[data-astro-cid-tdou77qi]{background-color:#3b5998!important}#ftl-footer[data-astro-cid-tdou77qi] .icons-only[data-astro-cid-tdou77qi] .linkedin-icon[data-astro-cid-tdou77qi]{background-color:#007bb5}@media screen and (max-width:400px){#ftl-footer[data-astro-cid-tdou77qi] .footer-mobile[data-astro-cid-tdou77qi]{display:block!important}#ftl-footer[data-astro-cid-tdou77qi] .footer-wide[data-astro-cid-tdou77qi]{display:none!important}#ftl-footer[data-astro-cid-tdou77qi] .social-media-icons[data-astro-cid-tdou77qi]{margin-bottom:20px}#ftl-footer[data-astro-cid-tdou77qi] .left[data-astro-cid-tdou77qi]{padding:calc(var(--spacing,.25rem) * 0)}}@media screen and (max-width:767px){#ftl-footer[data-astro-cid-tdou77qi] .connect-text[data-astro-cid-tdou77qi]{display:none!important}#ftl-footer[data-astro-cid-tdou77qi] .footerContainer[data-astro-cid-tdou77qi] .link-group[data-astro-cid-tdou77qi] li[data-astro-cid-tdou77qi]{margin-block:10px}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}#main-navigation[data-astro-cid-sj5ssvhz]{transition:transform .3s ease-in-out,background-color .3s ease-in-out}[data-astro-cid-sj5ssvhz][data-rac-overlay] [data-astro-cid-sj5ssvhz]::-webkit-scrollbar{width:6px}[data-astro-cid-sj5ssvhz][data-rac-overlay] [data-astro-cid-sj5ssvhz]::-webkit-scrollbar-track{background:transparent}[data-astro-cid-sj5ssvhz][data-rac-overlay] [data-astro-cid-sj5ssvhz]::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}[data-astro-cid-sj5ssvhz][data-rac-overlay] [data-astro-cid-sj5ssvhz]::-webkit-scrollbar-thumb:hover{background:#fff6}[data-astro-cid-sj5ssvhz][data-rac-overlay]{scrollbar-color:rgba(255,255,255,.2) transparent;scrollbar-width:thin}#choice-footer-msg a:hover{text-decoration:underline}.raconteur-net button,.raconteur-net button.rounded-none{border-radius:0}.raconteur-net button.rounded-sm{border-radius:var(--radius-sm, .125rem)}.raconteur-net button.rounded{border-radius:var(--radius, .25rem)}.raconteur-net button.rounded-md{border-radius:var(--radius-md, .375rem)}.raconteur-net button.rounded-lg{border-radius:var(--radius-lg, .5rem)}.raconteur-net button.rounded-xl{border-radius:var(--radius-xl, .75rem)}.raconteur-net button.rounded-2xl{border-radius:var(--radius-2xl, 1rem)}.raconteur-net button.rounded-3xl{border-radius:var(--radius-3xl, 1.5rem)}.raconteur-net button.rounded-full{border-radius:9999px}.ta-subpanel[data-astro-cid-s7hm7h62]{opacity:0;pointer-events:none}.ta-subnav[data-astro-cid-s7hm7h62]:not(:has(>li:hover>.ta-subpanel)):not(:has(>li:focus-within>.ta-subpanel))>li[data-astro-cid-s7hm7h62]:first-child>.ta-subpanel[data-astro-cid-s7hm7h62]{opacity:1;pointer-events:auto}.ta-subnav[data-astro-cid-s7hm7h62]>li[data-astro-cid-s7hm7h62]:hover>.ta-subpanel[data-astro-cid-s7hm7h62],.ta-subnav[data-astro-cid-s7hm7h62]>li[data-astro-cid-s7hm7h62]:focus-within>.ta-subpanel[data-astro-cid-s7hm7h62]{opacity:1;pointer-events:auto}.nav-cards[data-astro-cid-75u2l675] .nav-panel-articles{grid-template-columns:repeat(1,minmax(0,1fr));gap:.75rem;padding-block:0}@media(min-width:768px){.nav-cards[data-astro-cid-75u2l675] .nav-panel-articles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){.nav-cards[data-astro-cid-75u2l675] .nav-panel-articles{grid-template-columns:repeat(3,minmax(0,1fr))}}.nav-cards[data-astro-cid-75u2l675] .nav-panel-articles img{border-radius:.625rem}.desk-slip[data-astro-cid-wtop3wsk],.desk-facts[data-astro-cid-wtop3wsk]{border-color:color-mix(in oklab,var(--color-primary) 16%,var(--color-surface-sunken))}.wrapper>.desk-band[data-astro-cid-kyhmplve]:first-child{margin-top:calc(var(--spacing) * -5)}.wrapper>.sticker-band[data-astro-cid-k3z3juqf]:first-child{margin-top:calc(var(--spacing) * -5)}@media(prefers-reduced-motion:no-preference){.sheet-sticker[data-astro-cid-fxetvfvl] a,.sheet-sticker[data-astro-cid-fxetvfvl]>span[data-astro-cid-fxetvfvl]{animation:slap .48s cubic-bezier(.2,1.5,.4,1) backwards;animation-delay:calc(.12s + var(--i) * 55ms)}}@keyframes slap{0%{opacity:0;scale:1.35;rotate:calc(var(--tilt) * -1.5)}to{opacity:1;scale:1;rotate:var(--tilt)}}
2685</style>
2686<link rel="stylesheet" href="https://penandthepad.com/astrostatic/3a22e5c5/_astro/index.CCmax0bU.css">
2687<style>/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */.input{border:1px solid var(--color-zinc-300);border-radius:3.40282e38px}
2687.input:focus{border-color:var(--color-primary)}html{scroll-padding-top:350px}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
2688.ticker-text[data-v-34ac2891]{transition:transform .2s ease}.ticker-text.ticker-scrolling[data-v-34ac2891]{animation:ticker-scroll-34ac2891 .4s ease-in-out;animation-fill-mode:forwards}@keyframes ticker-scroll-34ac2891{0%{transform:translate(0)}to{transform:translate(var(--scroll-distance, 0))}}
2689</style>
2690<style>/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial}}}.review-widget-block{background-color:var(--color-white,#fff);border-bottom:1px solid #0f172a1f;position:relative;overflow:hidden}.review-widget-block:has(+astro-island){border-bottom:none}.review-widget-block+astro-island{margin-top:-1rem;display:block}.review-widget-block .rwb-accent{background-color:var(--color-tertiary);height:3px}.review-widget-block .rwb-header{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 5);padding-block:calc(var(--spacing,.25rem) * 7);border-bottom:1px solid #0f172a14;display:flex}.review-widget-block .rwb-logo-frame{background-color:#0f172a05;border:1px solid #0f172a14;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;padding:12px;display:flex}.review-widget-block .rwb-logo-image{object-fit:contain;max-width:100%;max-height:100%;width:auto!important;height:auto!important}.review-widget-block .rwb-header-text{min-width:calc(var(--spacing,.25rem) * 0);flex:1}.review-widget-block .rwb-title{margin:calc(var(--spacing,.25rem) * 0);margin-bottom:calc(var(--spacing,.25rem) * 2);--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);--tw-tracking:var(--tracking-tight,-.025em);letter-spacing:var(--tracking-tight,-.025em);color:var(--color-secondary);font-size:22px;line-height:28px}.review-widget-block .rwb-description{margin:calc(var(--spacing,.25rem) * 0);color:#71717a;font-size:14px;line-height:22px}.review-widget-block .rwb-price{margin-top:calc(var(--spacing,.25rem) * 3);align-items:center;gap:calc(var(--spacing,.25rem) * 2);flex-wrap:wrap;font-size:13px;display:flex}.review-widget-block .rwb-price-info{color:var(--color-secondary);font-weight:600}.review-widget-block .rwb-price-link{--tw-font-weight:var(--font-weight-semibold,600);font-size:11px;font-weight:var(--font-weight-semibold,600);text-transform:uppercase;letter-spacing:.12em;color:var(--color-tertiary);align-items:center;text-decoration-line:none;display:inline-flex;border:none!important}.review-widget-block .rwb-price-link:hover{text-decoration:underline;background:0 0!important}.review-widget-block .rwb-content-grid{grid-template-columns:1fr;display:grid}@media(min-width:768px){.review-widget-block .rwb-content-grid{grid-template-columns:1fr 1fr}.review-widget-block .rwb-ratings{border-right:1px solid #0f172a14}}.review-widget-block .rwb-ratings{padding-block:calc(var(--spacing,.25rem) * 6);padding-right:calc(var(--spacing,.25rem) * 6)}@media(min-width:48rem){.review-widget-block .rwb-ratings{padding-block:calc(var(--spacing,.25rem) * 7)}}.review-widget-block .rwb-ratings{border-bottom:1px solid #0f172a14}@media(min-width:768px){.review-widget-block .rwb-ratings{border-bottom:none}}.review-widget-block .rwb-overall{margin-bottom:calc(var(--spacing,.25rem) * 5);padding-bottom:calc(var(--spacing,.25rem) * 5);border-bottom:1px solid #0f172a0f;justify-content:space-between;align-items:baseline;display:flex}.review-widget-block .rwb-overall-label{--tw-font-weight:var(--font-weight-semibold,600);font-size:11px;font-weight:var(--font-weight-semibold,600);text-transform:uppercase;letter-spacing:.14em;color:#71717a}.review-widget-block .rwb-overall-value{align-items:baseline;gap:calc(var(--spacing,.25rem) * 3);display:flex}.review-widget-block .rwb-overall-number{--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);--tw-tracking:var(--tracking-tight,-.025em);letter-spacing:var(--tracking-tight,-.025em);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);color:var(--color-tertiary);font-size:32px}.review-widget-block .rwb-overall-stars{align-items:center;gap:calc(var(--spacing,.25rem) * .5);color:var(--color-tertiary);display:flex}.review-widget-block .rwb-other-ratings{gap:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.review-widget-block .rwb-rating-row{align-items:center;gap:calc(var(--spacing,.25rem) * 3);grid-template-columns:1fr 80px 32px;display:grid}.review-widget-block .rwb-rating-label{--tw-font-weight:var(--font-weight-medium,500);font-size:12px;font-weight:var(--font-weight-medium,500);color:var(--color-secondary)}.review-widget-block .rwb-rating-track{height:calc(var(--spacing,.25rem) * 1);background:#0f172a0f;position:relative}.review-widget-block .rwb-rating-fill{top:calc(var(--spacing,.25rem) * 0);left:calc(var(--spacing,.25rem) * 0);background-color:var(--color-tertiary);height:100%;position:absolute}.review-widget-block .rwb-rating-value{text-align:right;--tw-font-weight:var(--font-weight-semibold,600);font-size:12px;font-weight:var(--font-weight-semibold,600);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);color:var(--color-secondary)}.review-widget-block .rwb-proscons{gap:calc(var(--spacing,.25rem) * 6);padding-block:calc(var(--spacing,.25rem) * 6);padding-left:calc(var(--spacing,.25rem) * 6);flex-direction:column;display:flex}@media(min-width:48rem){.review-widget-block .rwb-proscons{padding-block:calc(var(--spacing,.25rem) * 7)}}.review-widget-block .rwb-procon{flex-direction:column;gap:12px;display:flex}.review-widget-block .rwb-procon-label{align-items:center;gap:calc(var(--spacing,.25rem) * 3);--tw-font-weight:var(--font-weight-semibold,600);font-size:11px;font-weight:var(--font-weight-semibold,600);text-transform:uppercase;letter-spacing:.18em;color:var(--color-secondary);display:flex}.review-widget-block .rwb-procon-rule{background-color:var(--color-tertiary);flex-shrink:0;width:18px;height:1px;display:block}.review-widget-block .rwb-procon-cons .rwb-procon-rule{background-color:#0f172a2e}.review-widget-block .rwb-procon-list{margin:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 2);padding:calc(var(--spacing,.25rem) * 0);flex-direction:column;list-style-type:none;display:flex}.review-widget-block .rwb-procon-item{margin:calc(var(--spacing,.25rem) * 0);align-items:flex-start;gap:calc(var(--spacing,.25rem) * 3);padding:calc(var(--spacing,.25rem) * 0);color:var(--color-secondary);font-size:14px;line-height:20px;
2690display:flex}.review-widget-block .rwb-procon-item:before{display:none!important}.review-widget-block .rwb-procon-icon{width:18px;height:18px;color:var(--color-tertiary);flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.review-widget-block .rwb-procon-icon-cons{color:var(--color-gray-500)}.review-widget-block .rwb-body{padding-block:calc(var(--spacing,.25rem) * 6)}@media(min-width:48rem){.review-widget-block .rwb-body{padding-block:calc(var(--spacing,.25rem) * 7)}}.review-widget-block .rwb-body{border-top:1px solid #0f172a14}.review-widget-block .rwb-body-prose{color:var(--color-secondary);font-size:15px;line-height:24px}.review-widget-block .rwb-body-prose>:first-child{margin-top:0!important}.review-widget-block .rwb-body-prose>:last-child{margin-bottom:0!important}.review-widget-block .rwb-footer{align-items:center;gap:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 4);border-top:1px solid #0f172a14;flex-direction:column;display:flex}.review-widget-block .rwb-footer-links{justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem) * 3);flex-wrap:wrap;display:flex}@media(min-width:768px){.review-widget-block .rwb-footer{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 4);flex-flow:wrap}.review-widget-block .rwb-footer:not(:has(.rwb-footer-links)){justify-content:flex-end}}.review-widget-block .rwb-link-divider{background:#0f172a2e;flex-shrink:0;align-self:center;width:1px;height:12px;display:block}.review-widget-block .rwb-additional-link{--tw-font-weight:var(--font-weight-semibold,600);font-size:11px;font-weight:var(--font-weight-semibold,600);text-transform:uppercase;letter-spacing:.12em;color:var(--color-tertiary);align-items:center;text-decoration-line:none;display:inline-flex;border:none!important}.review-widget-block .rwb-additional-link:hover{text-decoration:underline;background:0 0!important}.review-widget-block .rwb-footer-cta{align-items:center;gap:calc(var(--spacing,.25rem) * 1);flex-direction:column;display:flex}.review-widget-block .rwb-footer-note{text-align:center;color:#71717a;font-size:11px}@media(min-width:768px){.review-widget-block .rwb-footer-cta{align-items:flex-end;margin-left:auto}.review-widget-block .rwb-footer-note{text-align:right}}.review-widget-block .rwb-footer-link{align-items:center;gap:calc(var(--spacing,.25rem) * 2);--tw-font-weight:var(--font-weight-semibold,600);font-size:11px;font-weight:var(--font-weight-semibold,600);text-transform:uppercase;letter-spacing:.14em;color:var(--color-tertiary);text-decoration-line:none;transition:gap .15s;display:inline-flex;border:none!important}.review-widget-block .rwb-footer-link:hover{gap:12px;background:0 0!important}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}
2691</style>
2692<style>.ad-fluid iframe[id^=google_ads_iframe]{display:block;margin-inline:auto}
2693.glide{position:relative;width:100%;box-sizing:border-box}.glide *{box-sizing:inherit}.glide__track{overflow:hidden}.glide__slides{position:relative;width:100%;list-style:none;backface-visibility:hidden;transform-style:preserve-3d;touch-action:pan-Y;overflow:hidden;margin:0;padding:0;white-space:nowrap;display:flex;flex-wrap:nowrap;will-change:transform}.glide__slides--dragging{user-select:none}.glide__slide{width:100%;height:100%;flex-shrink:0;white-space:normal;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.glide__slide a{user-select:none;-webkit-user-drag:none;-moz-user-select:none;-ms-user-select:none}.glide__arrows,.glide__bullets{-webkit-touch-callout:none;user-select:none}.glide--rtl{direction:rtl}
2694.glide__arrow{position:absolute;display:block;top:50%;z-index:2;color:#fff;text-transform:uppercase;padding:9px 12px;background-color:transparent;border:2px solid rgba(255,255,255,.5);border-radius:4px;box-shadow:0 .25em .5em #0000001a;text-shadow:0 .25em .5em rgba(0,0,0,.1);opacity:1;cursor:pointer;transition:opacity .15s ease,border .3s ease-in-out;transform:translateY(-50%);line-height:1}.glide__arrow:focus{outline:none}.glide__arrow:hover{border-color:#fff}.glide__arrow--left{left:2em}.glide__arrow--right{right:2em}.glide__arrow--disabled{opacity:.33}.glide__bullets{position:absolute;z-index:2;bottom:2em;left:50%;display:inline-flex;list-style:none;transform:translate(-50%)}.glide__bullet{background-color:#ffffff80;width:9px;height:9px;padding:0;border-radius:50%;border:2px solid transparent;transition:all .3s ease-in-out;cursor:pointer;line-height:0;box-shadow:0 .25em .5em #0000001a;margin:0 .25em}.glide__bullet:focus{outline:none}.glide__bullet:hover,.glide__bullet:focus{border:2px solid #fff;background-color:#ffffff80}.glide__bullet--active{background-color:#fff}.glide--swipeable{cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.glide--dragging{cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing}/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */.glide[data-astro-cid-zs6k2ebs],.glide__track[data-astro-cid-zs6k2ebs]{width:100%}@media(prefers-reduced-motion:no-preference){.glide__track[data-astro-cid-zs6k2ebs]{transition:height .25s ease-out}}.glide__slide[data-astro-cid-zs6k2ebs]{flex:none!important;width:auto!important}.glide[data-astro-cid-zs6k2ebs] .glide__bullet--active[data-astro-cid-zs6k2ebs]>.bullet[data-astro-cid-zs6k2ebs]{background:var(--color-primary)}
2695/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */.tab-active[data-astro-cid-y26hj7yi]{color:var(--color-white,#fff);background-color:var(--color-secondary)}.item-hidden[data-astro-cid-y26hj7yi]{display:none}[data-astro-cid-y26hj7yi][data-category-item] img+[data-blur]{opacity:1!important}[data-astro-cid-y26hj7yi][data-category-item] [data-blur]+img{z-index:1;position:absolute}
2696.prose .sp-state{cursor:pointer}.prose .sp-state:hover :is(path,polygon),.prose .sp-state:focus-visible :is(path,polygon){fill:#1c7db1;transition:fill .15s ease}.prose .sp-state:focus-visible{outline:2px solid #1c7db1;outline-offset:2px}
2697/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial}}
2697}.accordion-item[data-astro-cid-pjbldbwd]{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-gray-400,oklch(70.7% .022 261.325));align-self:center;width:100%}.accordion-summary[data-astro-cid-pjbldbwd]{cursor:pointer;justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 4);width:100%;padding-block:calc(var(--spacing,.25rem) * 6);-webkit-user-select:none;user-select:none;list-style:none;display:flex}.accordion-summary[data-astro-cid-pjbldbwd]::-webkit-details-marker{display:none}.accordion-summary[data-astro-cid-pjbldbwd]:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.accordion-title[data-astro-cid-pjbldbwd]{text-align:left;--tw-font-weight:var(--font-weight-bold,700);font-size:20px;font-weight:var(--font-weight-bold,700);text-transform:uppercase;color:var(--color-secondary);flex:1}.accordion-toggle[data-astro-cid-pjbldbwd]{color:var(--color-gray-600,oklch(44.6% .03 256.802));flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.accordion-item[data-astro-cid-pjbldbwd][open] .accordion-toggle[data-astro-cid-pjbldbwd]{transform:rotate(180deg)}.accordion-item[data-astro-cid-pjbldbwd]::details-content{content-visibility:visible}.accordion-panel[data-astro-cid-pjbldbwd]{visibility:hidden;grid-template-rows:0fr;display:grid}.accordion-item[data-astro-cid-pjbldbwd][open] .accordion-panel[data-astro-cid-pjbldbwd]{visibility:visible;grid-template-rows:1fr}.accordion-panel-inner[data-astro-cid-pjbldbwd]{padding-right:calc(var(--spacing,.25rem) * 4);min-height:0;overflow:hidden}.accordion-panel-pad[data-astro-cid-pjbldbwd]{padding-bottom:calc(var(--spacing,.25rem) * 4)}@media(prefers-reduced-motion:no-preference){.accordion-panel[data-astro-cid-pjbldbwd]{transition:grid-template-rows .3s ease-in-out,visibility .3s}.accordion-toggle[data-astro-cid-pjbldbwd]{transition:transform .3s}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}
2698.promo-banner[data-astro-cid-lroifm73]{background:linear-gradient(to right,#fdf3e7,#fbe3d4 50%,#fdf3e7)}@keyframes bell-ring{0%,to{transform:rotate(0)}8%{transform:rotate(14deg)}16%{transform:rotate(-12deg)}24%{transform:rotate(10deg)}32%{transform:rotate(-8deg)}40%{transform:rotate(4deg)}48%{transform:rotate(0)}}@keyframes push-ping{0%{transform:scale(1);opacity:.6}75%,to{transform:scale(2.2);opacity:0}
2698}@media(any-pointer:coarse){#push-close-btn[data-astro-cid-w7xjyvkx]{display:none}}@media(prefers-reduced-motion:reduce){#push-notification-prompt[data-astro-cid-w7xjyvkx],#push-notification-prompt[data-astro-cid-w7xjyvkx] [data-astro-cid-w7xjyvkx]{animation:none!important;transition:none!important}}
2699.calc-label{font-family:var(--font-mono);font-size:11px;font-weight:600;line-height:1.4;text-transform:uppercase;letter-spacing:.09em;color:#71717a}.calc-field-label{font-family:var(--font-mono);font-size:13px;font-weight:600;line-height:1.4;color:#71717a}.calc-field{border-radius:8px;border:1px solid rgba(24,24,27,.14);background:#fff;padding:8px 12px;font-size:15px;color:var(--color-secondary);transition:border-color .15s ease,box-shadow .15s ease}.calc-field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 35%,transparent)}.calc-table{width:100%;font-size:14px;line-height:22px;font-variant-numeric:tabular-nums lining-nums;border-collapse:collapse;border-bottom:1px solid #18181b}.calc-table thead th{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#71717a;padding:12px 16px;text-align:right;border-top:2px solid #18181b;border-bottom:1px solid #d4d4d8}.calc-table thead th:first-child{text-align:left}.calc-table tbody td{padding:9px 16px;text-align:right;color:#1f1f23;border-top:1px solid #f0f0f1}.calc-table tbody td:first-child{text-align:left;color:#71717a}.calc-table tbody tr:nth-child(odd) td{background:#fafaf9}.calc-table tbody tr:hover td{background:color-mix(in srgb,var(--color-primary) 5%,transparent)}.calc-table tfoot td{padding:12px 16px;text-align:right;font-weight:700;color:var(--color-secondary);border-top:2px solid #18181b}.calc-table tfoot td:first-child{text-align:left}.calc-reset{cursor:pointer;border-radius:9999px;border:2px solid var(--color-primary);background:transparent;color:var(--color-primary);font-family:var(--font-mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;padding:6px 16px;transition:background-color .15s ease,color .15s ease,transform .08s ease}.calc-reset:hover{background:var(--color-primary);color:var(--color-primary-foreground)}.calc-reset:active{transform:translateY(1px)}.calc-inputbox{transition:border-color .15s ease,box-shadow .15s ease}.calc-inputbox:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 35%,transparent)}@media(prefers-reduced-motion:reduce){.calc-reset{transition:background-color .15s ease,color .15s ease}.calc-reset:active{transform:none}}
2700</style>
2701<style>:root{--ta-violet: rgba(51, 47, 255, .6);--ta-cyan: rgba(46, 226, 226, .8);--ta-base: #141e2d;--ta-fluff-violet: radial-gradient( circle at 15% 90%, var(--ta-violet) -50%, rgba(51, 47, 255, 0) 40% );--ta-fluff-cyan: radial-gradient( circle at 105% -10%, var(--ta-cyan) -50%, rgba(46, 226, 226, 0) 30% );--ta-fill: radial-gradient(closest-side, var(--ta-base) 0%, var(--ta-base))}.ta-galaxy{background-color:transparent;background-image:url("data:image/svg+xml,%3csvg%20width='374'%20height='374'%20viewBox='0%200%20374%20374'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cx='187'%20cy='187'%20r='186'%20stroke='%2328874B'%20opacity='0.4'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg%20width='374'%20height='374'%20viewBox='0%200%20374%20374'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cx='187'%20cy='187'%20r='186'%20stroke='%2328874B'%20stroke-dasharray='16%2020'%20opacity='0.4'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg%20width='77'%20height='78'%20viewBox='0%200%2077%2078'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20opacity='0.2'%20d='M16.5%2045C25.3366%2045%2032.5%2052.1634%2032.5%2061C32.5%2069.8366%2025.3366%2077%2016.5%2077C7.66345%2077%200.5%2069.8366%200.499999%2061C0.499999%2052.1634%207.66345%2045%2016.5%2045ZM60.5%2045C69.3365%2045%2076.5%2052.1634%2076.5%2061C76.5%2069.8365%2069.3365%2077%2060.5%2077C51.6634%2077%2044.5%2069.8366%2044.5%2061C44.5%2052.1634%2051.6634%2045%2060.5%2045ZM16.5%200.999999C25.3366%200.999999%2032.5%208.16345%2032.5%2017C32.5%2025.8366%2025.3366%2033%2016.5%2033C7.66345%2033%200.499998%2025.8366%200.499997%2017C0.499997%208.16345%207.66344%201%2016.5%200.999999ZM60.5%200.999997C69.3365%200.999997%2076.5%208.16345%2076.5%2017C76.5%2025.8366%2069.3365%2033%2060.5%2033C51.6634%2033%2044.5%2025.8366%2044.5%2017C44.5%208.16345%2051.6634%200.999998%2060.5%200.999997Z'%20stroke='%2393C953'/%3e%3c/svg%3e"),url
2701("data:image/svg+xml,%3csvg%20width='93'%20height='92'%20viewBox='0%200%2093%2092'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_6262_32725)'%20opacity='0.4'%3e%3ccircle%20cx='1.5'%20cy='1'%20r='1'%20fill='%2328874B'/%3e%3ccircle%20cx='27.5'%20cy='1'%20r='1'%20fill='%2328874B'/%3e%3ccircle%20cx='53.5'%20cy='1'%20r='1'%20fill='%2328874B'/%3e%3ccircle%20cx='79.5'%20cy='1'%20r='1'%20fill='%2328874B'/%3e%3ccircle%20cx='1.5'%20cy='27'%20r='1'%20fill='%2328874B'/%3e%3ccircle%20cx='27.5'%20cy='27'%20r='1'%20fill='%2328874B'/%3e%3ccircle%20cx='53.5'%20cy='27'%20r='1'%20fill='%2328874B'/%3e%3ccircle%20cx='79.5'%20cy='27'%20r='1'%20fill='%2328874B'/%3e%3ccircle%20cx='1.5'%20cy='53'%20r='1'%20fill='%2328874B'/%3e%3ccircle%20cx='27.5'%20cy='53'%20r='1'%20fill='%2328874B'/%3e%3ccircle%20cx='53.5'%20cy='53'%20r='1'%20fill='%2328874B'/%3e%3ccircle%20cx='79.5'%20cy='53'%20r='1'%20fill='%2328874B'/%3e%3ccircle%20cx='1.5'%20cy='79'%20r='1'%20fill='%2328874B'/%3e%3ccircle%20cx='27.5'%20cy='79'%20r='1'%20fill='%2328874B'/%3e%3ccircle%20cx='53.5'%20cy='79'%20r='1'%20fill='%2328874B'/%3e%3ccircle%20cx='79.5'%20cy='79'%20r='1'%20fill='%2328874B'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_6262_32725'%3e%3crect%20width='92'%20height='92'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg%20width='190'%20height='190'%20viewBox='0%200%20190%20190'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cx='95'%20cy='95'%20r='95'%20stroke='%2328874B'%20opacity='0.4'/%3e%3c/svg%3e"),var(--ta-fluff-violet),var(--ta-fluff-cyan),var(--ta-fill);background-repeat:no-repeat;background-position:-35vh -30vh,80vw -15vh,78vw 104%,60% -4%,80vw 35%,center,center,center;background-blend-mode:exclusion}.ta-galaxy-inset{background-position:-15% 180%,980px -110px,78vw 104%,0% 0%,900px -150px,center,center,center}.ta-black-hole{background-color:transparent;background-image:var(--ta-fluff-violet),var(--ta-fluff-cyan),var(--ta-fill);background-repeat:no-repeat;background-blend-mode:exclusion}.ta-obsidian-cyan-offset{background-color:var(--ta-base);background-image:radial-gradient(circle at 70% 60%,var(--ta-cyan) 0%,rgba(46,226,226,0) 70%);background-repeat:no-repeat;background-blend-mode:soft-light}.ta-h1{font-size:clamp(40px,calc(2.5rem + (1vw - 3.6px)*.7407),48px);line-height:1.2}.ta-h2{font-size:clamp(34px,calc(2.25rem + (1vw - 3.6px)*.3704),38px);line-height:1.2}.ta-h3{font-size:clamp(24px,calc(1.5rem + (1vw - 3.6px)*.7407),32px);line-height:1.4}
2702</style>
2703<style>/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-65bb584b],[data-v-65bb584b]:before,[data-v-65bb584b]:after,[data-v-65bb584b]::backdrop{--tw-font-weight:initial;--tw-border-style:solid}}}label[data-v-65bb584b]{margin-bottom:calc(var(--spacing,.25rem) * 4);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}input[data-v-65bb584b],select[data-v-65bb584b]{margin-bottom:calc(var(--spacing,.25rem) * 2);height:calc(var(--spacing,.25rem) * 10);border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-gray-400,oklch(70.7% .022 261.325));padding-inline:calc(var(--spacing,.25rem) * 4)}input[data-v-65bb584b]:last-of-type{margin-bottom:calc(var(--spacing,.25rem) * 10)}p[data-v-65bb584b]{margin-bottom:calc(var(--spacing,.25rem) * 6)}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
2704.message-enter-active[data-v-67a2f6e5]{transition:all .3s ease-out}.message-enter-from[data-v-67a2f6e5]{opacity:0;transform:translateY(20px)}.message-enter-to[data-v-67a2f6e5]{opacity:1;transform:translateY(0)}.orb-enter-active[data-v-67a2f6e5]{animation:orb-bounce-in-67a2f6e5 .5s cubic-bezier(.34,1.56,.64,1)}.orb-leave-active[data-v-67a2f6e5]{transition:all .2s ease-in}.orb-enter-from[data-v-67a2f6e5],.orb-leave-to[data-v-67a2f6e5]{opacity:0;transform:scale(0)}@keyframes orb-bounce-in-67a2f6e5{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.tooltip-enter-active[data-v-67a2f6e5],.tooltip-leave-active[data-v-67a2f6e5]{transition:all .2s ease-out}.tooltip-enter-from[data-v-67a2f6e5],.tooltip-leave-to[data-v-67a2f6e5]{opacity:0;transform:translateY(8px)}
2704.chat-enter-active[data-v-67a2f6e5]{animation:chat-expand-67a2f6e5 .3s cubic-bezier(.34,1.56,.64,1)}.chat-leave-active[data-v-67a2f6e5]{animation:chat-collapse-67a2f6e5 .2s ease-in forwards}@keyframes chat-expand-67a2f6e5{0%{opacity:0;transform:scale(.8) translateY(20px);transform-origin:bottom right}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes chat-collapse-67a2f6e5{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.8) translateY(20px);transform-origin:bottom right}}
2705.debug-bar[data-v-45cc7c08] ::-webkit-scrollbar{width:4px}.debug-bar[data-v-45cc7c08] ::-webkit-scrollbar-track{background:#374151}.debug-bar[data-v-45cc7c08] ::-webkit-scrollbar-thumb{background:#6b7280;border-radius:2px}.debug-bar[data-v-45cc7c08] ::-webkit-scrollbar-thumb:hover{background:#9ca3af}
2706.animate-ping-once[data-v-788e3fe6]{animation:ping-once-788e3fe6 .35s ease-out forwards}@keyframes ping-once-788e3fe6{0%{transform:scale(1)}40%{transform:scale(1.2)}70%{transform:scale(.95)}to{transform:scale(1)}}.slide-enter-active[data-v-14b806f0],.slide-leave-active[data-v-14b806f0]{transition:all .3s}.slide-enter-from[data-v-14b806f0],.slide-leave-to[data-v-14b806f0]{transform:translateY(20px);opacity:0}.slide-right-enter-active[data-v-0c8284e0],.slide-right-leave-active[data-v-0c8284e0]{transition:all .3s}.slide-right-enter-from[data-v-0c8284e0],.slide-right-leave-to[data-v-0c8284e0]{transform:translate(-100vw);opacity:0}.slide-left-enter-active[data-v-0c8284e0],.slide-left-leave-active[data-v-0c8284e0]{transition:all .3s}.slide-left-enter-from[data-v-0c8284e0],.slide-left-leave-to[data-v-0c8284e0]{transform:translate(100vw);opacity:0}.submenu-content [data-submenu][data-v-0c8284e0]{display:none}.submenu-content [data-submenu].active[data-v-0c8284e0]{display:block}
2707</style><style>astro-island,astro-slot,astro-static-slot{display:contents}</style><style type="text/css">.inline-top:not([data-loaded]) { min-width: 300px; max-width: 320px; min-height: 50px; max-height: 50px; }
2708@media screen and (min-width: 768px) { .inline-top:not([data-loaded]) { min-width: 728px; max-width: 728px; min-height: 90px; max-height: 90px; } }
2709@media screen and (min-width: 1240px) { .inline-top:not([data-loaded]) { min-width: 728px; max-width: 1000px; min-height: 90px; max-height: 250px; } }</style><style type="text/css">.section-banner:not([data-loaded]) { min-width: 300px; max-width: 320px; min-height: 50px; max-height: 250px; }
2710@media screen and (min-width: 768px) { .section-banner:not([data-loaded]) { min-width: 728px; max-width: 728px; min-height: 90px; max-height: 90px; } }</style><style type="text/css">.inline-article-native:not([data-loaded]) { width: 100%; height: 100%; }</style><style type="text/css">.section-banner:not([data-loaded]) { min-width: 300px; max-width: 320px; min-height: 50px; max-height: 250px; }
2711@media screen and (min-width: 768px) { .section-banner:not([data-loaded]) { min-width: 728px; max-width: 728px; min-height: 90px; max-height: 90px; } }</style><style type="text/css">.section-banner:not([data-loaded]) { min-width: 300px; max-width: 320px; min-height: 50px; max-height: 250px; }
2712@media screen and (min-width: 768px) { .section-banner:not([data-loaded]) { min-width: 728px; max-width: 728px; min-height: 90px; max-height: 90px; } }</style><style type="text/css">.section-banner:not([data-loaded]) { min-width: 300px; max-width: 320px; min-height: 50px; max-height: 250px; }
2713@media screen and (min-width: 768px) { .section-banner:not([data-loaded]) { min-width: 728px; max-width: 728px; min-height: 90px; max-height: 90px; } }</style><style type="text/css">.right-rail:not([data-loaded]) { min-width: 300px; max-width: 300px; min-height: 250px; max-height: 250px; }
2714@media screen and (min-width: 768px) { .right-rail:not([data-loaded]) { min-width: 300px; max-width: 300px; min-height: 250px; max-height: 250px; } }</style><style type="text/css">.right-rail:not([data-loaded]) { min-width: 300px; max-width: 300px; min-height: 250px; max-height: 250px; }
2715@media screen and (min-width: 768px) { .right-rail:not([data-loaded]) { min-width: 300px; max-width: 300px; min-height: 250px; max-height: 250px; } }</style><style type="text/css">.right-rail:not([data-loaded]) { min-width: 300px; max-width: 300px; min-height: 250px; max-height: 250px; }
2716@media screen and (min-width: 768px) { .right-rail:not([data-loaded]) { min-width: 300px; max-width: 300px; min-height: 250px; max-height: 250px; } }</style><style type="text/css">
2716.inline-bottom:not([data-loaded]) { min-width: 300px; max-width: 320px; min-height: 50px; max-height: 50px; }
2717@media screen and (min-width: 768px) { .inline-bottom:not([data-loaded]) { min-width: 728px; max-width: 728px; min-height: 90px; max-height: 90px; } }
2718@media screen and (min-width: 1240px) { .inline-bottom:not([data-loaded]) { min-width: 728px; max-width: 1000px; min-height: 90px; max-height: 250px; } }</style></head> <body class="skybox-auto-collapse">  
2718<script type="module">(()=>{const l=document.querySelector("[data-ad-slot='skybox']");if(!l)return;let m=-1/0;const p=()=>{m=performance.now()};document.addEventListener("pointerdown",p,{capture:!0,passive:!0}),document.addEventListener("keydown",p,{capture:!0});const w=a=>{if(performance.now()-m<400)return a(),()=>{};const s=()=>{i(),a()},i=()=>{document.removeEventListener("pointerdown",s,!0),document.removeEventListener("keydown",s,!0)};return document.addEventListener("pointerdown",s,{capture:!0,passive:!0}),document.addEventListener("keydown",s,{capture:!0}),i};let r=null;const c=()=>{r?.(),r=w(()=>{l.setAttribute("data-empty",""),document.dispatchEvent(new CustomEvent("skybox-ad-hidden"))})};setTimeout(()=>{!l.hasAttribute("data-loaded")&&!l.hasAttribute("data-empty")&&c()},4e3),window.googletag=window.googletag||{cmd:[]},window.googletag?.cmd.push(()=>{let a=!1,s=null;const i=e=>{const t=document.getElementById("main-navigation");t&&(t.style.top=`${e}px`)},v=300,E=4e3,y=10,b=(e,t,n,d)=>{if(!window.ResizeObserver)return n();let o;const g=window.setTimeout(()=>{clearTimeout(o),u.disconnect(),d()},E),f=()=>{clearTimeout(o),!(e.offsetHeight<y)&&(t(),o=window.setTimeout(()=>{clearTimeout(g),u.disconnect(),n()},v))},u=new ResizeObserver(f);u.observe(e),f()},h=e=>{if(a)return;a=!0;const t=e.closest("[data-ad-slot='skybox']");t&&(r?.(),r=null,t.removeAttribute("data-empty"),T(),b(e,()=>i(t.offsetHeight),()=>I(t,e),c))},I=(e,t)=>{r?.(),r=null,e.removeAttribute("data-empty"),e.setAttribute("data-loaded",""),window.ResizeObserver&&new ResizeObserver(()=>{t.offsetHeight===0&&c()}).observe(t),i(e.offsetHeight),document.dispatchEvent(new CustomEvent("skybox-ad-ready",{detail:{height:e.offsetHeight}})),window.ResizeObserver&&(s=new ResizeObserver(n=>{for(const d of n){const o=d.contentRect.height;i(o),document.dispatchEvent(new CustomEvent("skybox-ad-height-changed",{detail:{height:o}}))}}),s.observe(e))},T=()=>{const e=window.googletag.pubads().getSlots().find(n=>{const d=n.getSlotElementId(),o=document.getElementById(d);return o?o.closest(".inline-top")!==null:!1});if(!e)return;window.googletag?.destroySlots([e]);const t=document.querySelector(".inline-top");t&&(t.style.visibility="hidden",w(()=>{t.style.setProperty("display","none")}))};window.googletag.pubads().addEventListener("slotRenderEnded",e=>{if(e.isEmpty)return;const t=e.slot.getSlotElementId(),n=document.getElementById(t);!n||!n.closest("[data-ad-slot='skybox']")||h(n)})})})();</script>
2718<script>(()=>{var a=(s,i,o)=>{let r=async()=>{await(await s())()},t=typeof i.value=="object"?i.value:void 0,c={rootMargin:t==null?void 0:t.rootMargin},n=new IntersectionObserver(e=>{for(let l of e)if(l.isIntersecting){n.disconnect(),r();break}},c);for(let e of o.children)n.observe(e)};(self.Astro||(self.Astro={})).visible=a;window.dispatchEvent(new Event("astro:visible"));})();</script>
2718<script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script>
2718<script type="module">function o(e){e.dataset.imageLoaded===void 0&&(e.dataset.imageLoaded="",window.requestAnimationFrame(()=>{e.style.opacity="1";const a=e.closest("[data-lazyimage]")?.querySelector("[data-blur]");a&&(a.style.opacity="0")}))}function t(e){if(e.dataset.imageLoaded!==void 0)return;(typeof e.decode=="function"?e.decode().catch(()=>{}):Promise.resolve()).finally(()=>o(e))}function d(e){!(e instanceof HTMLImageElement)||!e.matches("[data-image]")||t(e)}document.addEventListener("load",e=>d(e.target),!0);document.addEventListener("error",e=>d(e.target),!0);document.querySelectorAll("[data-lazyimage] [data-image]").forEach(e=>{e.complete&&t(e)});</script>
2718<script>(()=>{var l=(n,t)=>{let i=async()=>{await(await n())()},e=typeof t.value=="object"?t.value:void 0,s={timeout:e==null?void 0:e.timeout};"requestIdleCallback"in window?window.requestIdleCallback(i,s):setTimeout(i,s.timeout||200)};(self.Astro||(self.Astro={})).idle=l;window.dispatchEvent(new Event("astro:idle"));})();</script>
2718<script type="module">let c=[],r=0,l=!1;const g=()=>{const e=document.getElementById("main-navigation");e&&(e.style.top=`${r}px`)},a=()=>{const e=document.getElementById("main-navigation");if(!e)return;let t=r;l||(t+=e.offsetHeight),document.body.style.setProperty("--header-height",`${t}px`)},u=()=>{const e=document.getElementById("site-navigation");if(!e)return;const t=Array.from(e.querySelectorAll('[data-nav-type="category-posts"], [data-nav-type="category-subcategories"], [data-nav-type="static-category-posts"], [data-nav-type="static-posts"][data-nav-href], [data-nav-type="static"][data-collapsible="true"]'));t.forEach(o=>{o.style.display=""}),c=[];const n=e.querySelector("[data-nav-more-button]");n?.parentElement&&(n.parentElement.style.display="");const s=n?.closest("li"),d=e.getBoundingClientRect();for(let o=t.length-1;o>=0;o--){const m=t[0].getBoundingClientRect(),i=t[o].getBoundingClientRect(),h=s&&o<t.length-1?s.getBoundingClientRect().right:-1/0;if(m.left>=d.left-1&&Math.max(i.right,h)<=d.right+1)break;t[o].style.display="none",c.unshift(t[o])}e.setAttribute("data-nav-computed",""),v()},v=()=>{const e=document.getElementById("hidden-nav-items");if(!e)return;e.innerHTML="",c.slice().reverse().forEach(n=>{const s=n.querySelector("a.more-dropdown-link");if(s instanceof HTMLAnchorElement){const d=s.cloneNode(!0);e.appendChild(d)}});const t=document.querySelector("[data-nav-more-button]");t&&t.parentElement&&(c.length>0?t.parentElement.style.display="":t.parentElement.style.display="none")};requestAnimationFrame(()=>{u(),a()});document.fonts?.ready.then(()=>{u(),a()});window.addEventListener("resize",()=>{u(),a()});document.addEventListener("navigation-content-loaded",()=>{setTimeout(()=>{u()},100)});const E=e=>{r=e.detail?.height||0,g(),a()},b=e=>{r=e.detail?.height||0,g(),a()},H=()=>{r=0,g(),a()},S=()=>{const e=document.getElementById("main-navigation");if(!e){console.error("Navigation element not found");return}let t=0,n=!1;const s=10,d=()=>{const i=document.documentElement.scrollTop;if(i<0||document.querySelector("[data-search-open='true']")||document.querySelector("[data-dropdown-open='true']")||Math.abs(i-t)<s)return;const f=i>t;if(f&&i>100&&!n){const p=-(e.offsetHeight+r);e.style.transform=`translateY(${p}px)`,n=!0,l=!0,a()}else(!f&&n||i<=100&&n)&&(e.style.transform="translateY(0)",n=!1,l=!1,a());t=i};let o=!1;const m=()=>{o||(requestAnimationFrame(()=>{d(),o=!1}),o=!0)};document.addEventListener("scroll",m),d(),a()};document.addEventListener("skybox-ad-ready",E);document.addEventListener("skybox-ad-height-changed",b);document.addEventListener("skybox-ad-hidden",H);document.addEventListener("DOMContentLoaded",S);</script>
2718<script type="module">document.addEventListener("click",t=>{const e=t.target;e instanceof Element&&e.closest("[data-newsletter-trigger]")&&(t.preventDefault(),window.dispatchEvent(new CustomEvent("open-newsletter-modal")))});</script>
2718<script type="module">document.body.clientWidth<1480||(window.googletag=window.googletag||{cmd:[]},window.googletag?.cmd.push(()=>{let i=!1;const l=()=>{if(i)return;i=!0;const t=document.createElement("div"),e=document.createElement("div"),n=`
2719                        position: fixed;
2720                        top: 0;
2721                        bottom: 0;
2722                        width: calc((100vw - 1200px) / 2);
2723                        background: transparent;
2724                        cursor: pointer;
2725                    `;t.style.cssText=n+"left: 0;",e.style.cssText=n+"right: 0;",t.id="left-gutter",e.id="right-gutter";const d=()=>{const o=document.body?.dataset?.src;o&&(window.location.href=o)};t.addEventListener("click",d),e.addEventListener("click",d);const s=()=>{const o=window.innerWidth,r=1200;if(o>r){t.style.display="block",e.style.display="block";const c=(o-r)/2;t.style.width=`${c}px`,e.style.width=`${c}px`}else t.style.display="none",e.style.display="none"};document.body.appendChild(t),document.body.appendChild(e),s(),window.addEventListener("resize",s)};window.googletag.pubads().addEventListener("slotRenderEnded",t=>{if(t.isEmpty)return;const e=t.slot.getSlotElementId(),n=document.getElementById(e);!n||!n.closest("[data-ad-slot='curtain']")||l()})}));</script>
2725   <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NR3XXWX8" height="0" width="0" style="display:none;visibility:hidden" title="Google tag manageer noscript tag"></iframe></noscript>
2725<script>(function(){const gtmId = "GTM-NR3XXWX8";
2726
2727    // Patched vs the stock GTM snippet: the gtm.js script-tag injection is
2728    // pulled out of the IIFE and deferred to idle. window.dataLayer and gtm.start
2729    // event are still created synchronously, so every dataLayer.push between
2730    // now and load queues on the plain array and GTM drains it on boot —
2731    // no events are lost, they arrive later.
2732    //
2733    // Why: gtm.js is ~177KB and lands mid-load alongside the ad stack, where it
2734    // costs main thread we need for INP and competes with the LCP image for
2735    // bandwidth. Nothing in the ad path depends on it (GPT is loaded by the
2736    // Assertive Yield manager, not GTM).
2737    ;(function (w, d, s, l, i) {
2738        w[l] = w[l] || []
2739        w[l].push({
2740            "gtm.start": new Date().getTime(),
2741            event: "gtm.js",
2742        })
2743
2744        const load = function () {
2745            const f = d.getElementsByTagName(s)[0],
2746                j = d.createElement(s),
2747                dl = l != "dataLayer" ? "&l=" + l : ""
2748            j.async = true
2749            j.src = "https://www.googletagmanager.com/gtm.js?id=" + i + dl
2750            f.parentNode.insertBefore(j, f)
2751        }
2752
2753        // Cap the wait: ad-heavy pages can stay busy for many seconds and may
2754        // never hit a true idle period.
2755        if ("requestIdleCallback" in w) {
2756            w.requestIdleCallback(load, { timeout: 4000 })
2757        } else {
2758            w.setTimeout(load, 2000)
2759        }
2760    })(window, document, "script", "dataLayer", gtmId)
2761})();</script>
2761<div class="fixed top-0 left-0 right-0 z-1000 bg-white shadow-sm transition-transform duration-300 ease-in-out print:static" id="main-navigation"> <div class="border-t-19 border-primary"> <div class="flex items-center justify-between h-[60px] px-2 md:px-4 self-center w-full max-w-[min(100%,1200px)] mx-auto"> <div class="pl-4 mr-4 md:hidden"> <astro-island uid="1eYoun" prefix="s49" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/MobileNavigation.DKwrTyEy.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;mode&quot;:[0,&quot;push&quot;],&quot;hasDrawerTop&quot;:[0,false],&quot;hasSubmenus&quot;:[0,true],&quot;class&quot;:[0],&quot;data-mobile-navigation&quot;:[0,true]}" ssr="" client="visible" opts="{&quot;name&quot;:&quot;MobileNavigationVue&quot;,&quot;value&quot;:true}" await-children=""><div data-mobile-navigation="true" data-v-0c8284e0=""><button class="nav-icon aspect-square h-full flex" aria-label="Open navigation menu" aria-expanded="false" data-v-0c8284e0=""><!----><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu-icon lucide-menu h-[30px] w-[30px]" aria-hidden="true" data-v-0c8284e0=""><path d="M4 5h16" /><path d="M4 12h16" /><path d="M4 19h16" /></svg><!--]--></button><div class="nav-drawer absolute left-0 z-100 w-screen overflow-y-auto overscroll-contain pb-[100px]" style="display:none;" data-v-0c8284e0=""><!----><ul class="nav-drawer-list flex flex-col justify-center gap-4 p-[20px]" data-v-0c8284e0=""><!--[--><astro-slot name="navigation-items"><li class="nav-drawer-divider w-full" data-nav-slot="0"> <button class="nav-drawer-item" data-nav-item="0" aria-expanded="false"> How to Cite <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right-icon lucide-chevron-right h-5 w-5" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg> </button> </li><li class="nav-drawer-divider w-full" data-nav-slot="1"> <button class="nav-drawer-item" data-nav-item="1" aria-expanded="false"> Language &amp; Lit <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right-icon lucide-chevron-right h-5 w-5" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg> </button> </li><li class="nav-drawer-divider w-full" data-nav-slot="2"> <button class="nav-drawer-item" data-nav-item="2" aria-expanded="false"> Rhyme &amp; Rhythm <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right-icon lucide-chevron-right h-5 w-5" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg> </button> </li><li class="nav-drawer-divider w-full" data-nav-slot="3"> <button class="nav-drawer-item" data-nav-item="3" aria-expanded="false"> The Rewrite <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right-icon lucide-chevron-right h-5 w-5" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg> </button> </li></astro-slot><!--]--></ul><!----></div><div class="nav-drawer shadow-l group absolute left-0 z-100 w-screen overflow-y-auto overscroll-contain p-[20px]" style="display:none;" data-v-0c8284e0=""><button class="text-primary flex items-center gap-2 font-semibold" data-v-0c8284e0=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-left-icon lucide-chevron-left h-5 w-5" aria-hidden="true" data-v-0c8284e0=""><path d="m15 18-6-6 6-6" /></svg> Back to Menu </button><!--[--><astro-slot name="submenu-content"><div class="h-full w-full" data-nav-submenu="0"> <div class="wrap mx-auto"> <div class="flex flex-col gap-6 py-5"> <div class="flex flex-col gap-6"><div class="flex flex-col gap-4"><div class="flex flex-col gap-2"><div class="nav-panel-label">Related Topics</div><div class="flex flex-col gap-1"><a class="nav-panel-link" href="/pen-and-the-pad/"> Pen and the Pad </a></div></div></div><div class="flex-1"><div class="flex items-center justify-between"><div class="nav-panel-label">Articles</div><a class="flex items-center gap-1 text-[14px]/[20px] hover:underline" href="/how-to-cite/">
2761 View All<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right-icon lucide-chevron-right h-4 w-4" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg> </a></div><astro-island uid="1uJznD" prefix="s28" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/DynamicCategoryPosts.BdSPUR1t.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;navitem&quot;:[0,{&quot;type&quot;:[0,&quot;category-posts&quot;],&quot;label&quot;:[0,&quot;How to Cite&quot;],&quot;categoryId&quot;:[0,18998],&quot;href&quot;:[0,&quot;/how-to-cite/&quot;],&quot;category&quot;:[0,{&quot;id&quot;:[0,18998],&quot;slug&quot;:[0,&quot;how-to-cite&quot;],&quot;name&quot;:[0,&quot;How to Cite&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;link&quot;:[0,&quot;/how-to-cite/&quot;],&quot;parent&quot;:[0,19000],&quot;taxonomy&quot;:[0,&quot;category&quot;],&quot;expert&quot;:[0],&quot;_links&quot;:[0,{&quot;self&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/how-to-cite/&quot;]}]]],&quot;wp:post_type&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/how-to-cite/posts/&quot;]}]]]}],&quot;meta&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://penandthepad.com/how-to-cite/&quot;],&quot;indexable&quot;:[0,true],&quot;yoast_head_json&quot;:[0,{&quot;title&quot;:[0,&quot;How to Cite&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;robots&quot;:[0,{}],&quot;canonical&quot;:[0,&quot;https://penandthepad.com/how-to-cite/&quot;],&quot;og_locale&quot;:[0,&quot;en_US&quot;],&quot;og_type&quot;:[0,&quot;object&quot;],&quot;og_title&quot;:[0,&quot;How to Cite&quot;],&quot;og_description&quot;:[0,&quot;&quot;],&quot;og_image&quot;:[0],&quot;schema&quot;:[0,{}]}]}]}],&quot;posts&quot;:[1,[]],&quot;subcategories&quot;:[1,[[0,{&quot;name&quot;:[0,&quot;Pen and the Pad&quot;],&quot;href&quot;:[0,&quot;/pen-and-the-pad/&quot;]}]]]}],&quot;variant&quot;:[0,&quot;mobile&quot;],&quot;locale&quot;:[0,&quot;en&quot;]}" ssr="" client="visible" opts="{&quot;name&quot;:&quot;DynamicCategoryPosts&quot;,&quot;value&quot;:true}" await-children=""><div data-dynamic-posts="" class="nav-panel-articles"><div class="flex items-center justify-center py-8"><div class="text-gray-400">Hover to load posts</div></div></div><!--astro:end--></astro-island></div></div> </div> </div> </div><div class="h-full w-full" data-nav-submenu="1"> <div class="wrap mx-auto"> <div class="flex flex-col gap-6 py-5"> <div class="flex flex-col gap-6"><div class="flex-1"><div class="flex items-center justify-between"><div class="nav-panel-label">Articles</div><a class="flex items-center gap-1 text-[14px]/[20px] hover:underline" href="/language-lit/"> View All<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right-icon lucide-chevron-right h-4 w-4" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg> </a></div><astro-island uid="N1prE" prefix="s29" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/DynamicCategoryPosts.BdSPUR1t.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;navitem&quot;:[0,{&quot;type&quot;:[0,&quot;category-posts&quot;],&quot;label&quot;:[0,&quot;Language & Lit&quot;],&quot;categoryId&quot;:[0,18995],&quot;href&quot;:[0,&quot;/language-lit/&quot;],&quot;category&quot;:[0,{&quot;id&quot;:[0,18995],&quot;slug&quot;:[0,&quot;language-lit&quot;],&quot;name&quot;:[0,&quot;Language & Lit&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;link&quot;:[0,&quot;/language-lit/&quot;],&quot;parent&quot;:[0,19000],&quot;taxonomy&quot;:[0,&quot;category&quot;],&quot;expert&quot;:[0],&quot;_links&quot;:[0,{&quot;self&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/language-lit/&quot;]}]]],&quot;wp:post_type&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/language-lit/posts/&quot;]}]]]}],&quot;meta&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://penandthepad.com/language-lit/&quot;],&quot;indexable&quot;:[0,true],&quot;yoast_head_json&quot;:[0,{&quot;title&quot;:[0,&quot;Language & Lit&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;robots&quot;:[0,{}],&quot;canonical&quot;:[0,&quot;https://penandthepad.com/language-lit/&quot;],&quot;og_locale&quot;:[0,&quot;en_US&quot;],&quot;og_type&quot;:[0,&quot;object&quot;],&quot;og_title&quot;:[0,&quot;Language & Lit&quot;],&quot;og_description&quot;:[0,&quot;&quot;],&quot;og_image&quot;:[0],&quot;schema&quot;:[0,{}]}]}]}],&quot;posts&quot;:[1,[]],&quot;subcategories&quot;:[1,[]]}],&quot;variant&quot;:[0,&quot;mobile&quot;],&quot;locale&quot;:[0,&quot;en&quot;]}" ssr="" client="visible" opts="{&quot;name&quot;:&quot;DynamicCategoryPosts&quot;,&quot;value&quot;:true}" await-children=""><div data-dynamic-posts="" class="nav-panel-articles"><div class="flex items-center justify-center py-8"><div class="text-gray-400">Hover to load posts</div></div></div><!--astro:end--></astro-island></div></div> </div> </div> </div><div class="h-full w-full" data-nav-submenu="2"> <div class="wrap mx-auto"> <div class="flex flex-col gap-6 py-5"> <div class="flex flex-col gap-6"><div class="flex-1"><div class="flex items-center justify-between"><div class="nav-panel-label">Articles</div><a class="flex items-center gap-1 text-[14px]/[20px] hover:underline" href="/rhyme-rhythm/"> View All<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right-icon lucide-chevron-right h-4 w-4" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg> </a></div><astro-island uid="X7sXX" prefix="s30" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/DynamicCategoryPosts.BdSPUR1t.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;navitem&quot;:[0,{&quot;type&quot;:[0,&quot;category-posts&quot;],&quot;label&quot;:[0,&quot;Rhyme & Rhythm&quot;],&quot;categoryId&quot;:[0,18997],&quot;href&quot;:[0,&quot;/rhyme-rhythm/&quot;],&quot;category&quot;:[0,{&quot;id&quot;:[0,18997],&quot;slug&quot;:[0,&quot;rhyme-rhythm&quot;],&quot;name&quot;:[0,&quot;Rhyme & Rhythm&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;link&quot;:[0,&quot;/rhyme-rhythm/&quot;],&quot;parent&quot;:[0,19000],&quot;taxonomy&quot;:[0,&quot;category&quot;],&quot;expert&quot;:[0],&quot;_links&quot;:[0,{&quot;self&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/rhyme-rhythm/&quot;]}]]],&quot;wp:post_type&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/rhyme-rhythm/posts/&quot;]}]]]}],&quot;meta&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://penandthepad.com/rhyme-rhythm/&quot;],&quot;indexable&quot;:[0,true],&quot;yoast_head_json&quot;:[0,{&quot;title&quot;:[0,&quot;Rhyme & Rhythm&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;robots&quot;:[0,{}],&quot;canonical&quot;:[0,&quot;https://penandthepad.com/rhyme-rhythm/&quot;],&quot;og_locale&quot;:[0,&quot;en_US&quot;],&quot;og_type&quot;:[0,&quot;object&quot;],&quot;og_title&quot;:[0,&quot;Rhyme & Rhythm&quot;],&quot;og_description&quot;:[0,&quot;&quot;],&quot;og_image&quot;:[0],&quot;schema&quot;:[0,{}]}]}]}],&quot;posts&quot;:[1,[]],&quot;subcategories&quot;:[1,[]]}],&quot;variant&quot;:[0,&quot;mobile&quot;],&quot;locale&quot;:[0,&quot;en&quot;]}" ssr="" client="visible" opts="{&quot;name&quot;:&quot;DynamicCategoryPosts&quot;,&quot;value&quot;:true}" await-children=""><div data-dynamic-posts="" class="nav-panel-articles"><div class="flex items-center justify-center py-8"><div class="text-gray-400">Hover to load posts</div></div></div><!--astro:end--></astro-island></div></div> </div> </div> </div><div class="h-full w-full" data-nav-submenu="3"> <div class="wrap mx-auto"> <div class="flex flex-col gap-6 py-5"> <div class="flex flex-col gap-6"><div class="flex-1"><div class="flex items-center justify-between"><div class="nav-panel-label">Articles</div><a class="flex items-center gap-1 text-[14px]/[20px] hover:underline" href="/the-rewrite/">
2761 View All<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right-icon lucide-chevron-right h-4 w-4" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg> </a></div><astro-island uid="xRLmR" prefix="s31" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/DynamicCategoryPosts.BdSPUR1t.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;navitem&quot;:[0,{&quot;type&quot;:[0,&quot;category-posts&quot;],&quot;label&quot;:[0,&quot;The Rewrite&quot;],&quot;categoryId&quot;:[0,18996],&quot;href&quot;:[0,&quot;/the-rewrite/&quot;],&quot;category&quot;:[0,{&quot;id&quot;:[0,18996],&quot;slug&quot;:[0,&quot;the-rewrite&quot;],&quot;name&quot;:[0,&quot;The Rewrite&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;link&quot;:[0,&quot;/the-rewrite/&quot;],&quot;parent&quot;:[0,19000],&quot;taxonomy&quot;:[0,&quot;category&quot;],&quot;expert&quot;:[0],&quot;_links&quot;:[0,{&quot;self&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/the-rewrite/&quot;]}]]],&quot;wp:post_type&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/the-rewrite/posts/&quot;]}]]]}],&quot;meta&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://penandthepad.com/the-rewrite/&quot;],&quot;indexable&quot;:[0,true],&quot;yoast_head_json&quot;:[0,{&quot;title&quot;:[0,&quot;The Rewrite&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;robots&quot;:[0,{}],&quot;canonical&quot;:[0,&quot;https://penandthepad.com/the-rewrite/&quot;],&quot;og_locale&quot;:[0,&quot;en_US&quot;],&quot;og_type&quot;:[0,&quot;object&quot;],&quot;og_title&quot;:[0,&quot;The Rewrite&quot;],&quot;og_description&quot;:[0,&quot;&quot;],&quot;og_image&quot;:[0],&quot;schema&quot;:[0,{}]}]}]}],&quot;posts&quot;:[1,[]],&quot;subcategories&quot;:[1,[]]}],&quot;variant&quot;:[0,&quot;mobile&quot;],&quot;locale&quot;:[0,&quot;en&quot;]}" ssr="" client="visible" opts="{&quot;name&quot;:&quot;DynamicCategoryPosts&quot;,&quot;value&quot;:true}" await-children=""><div data-dynamic-posts="" class="nav-panel-articles"><div class="flex items-center justify-center py-8"><div class="text-gray-400">Hover to load posts</div></div></div><!--astro:end--></astro-island></div></div> </div> </div> </div></astro-slot><!--]--></div></div><template data-astro-template="drawer-top"></template><!--astro:end--></astro-island> </div> <a class="block max-h-[90px] px-4" href="/">  <div class="max-h-[35px] w-auto self-start shrink relative">  <img src="https://penandthepad.com/astrostatic/3a22e5c5/_image/?href=%2F_astro%2Fpenandthepad.CAcBzb0Z.svg&w=205&h=70&f=svg" alt="Pen and the Pad Logo" loading="eager" fetchpriority="high" showPlaceholder="false" data-image="true" style="opacity:1" decoding="async" width="205" height="70" class="max-h-[35px] w-auto self-start shrink transition-opacity duration-300"> </div>   </a> <div class="flex items-center gap-4">  <div class="flex items-center gap-5 px-4"> <div class="h-[23px] md:flex hidden"> <div class="flex items-center">  </div> </div>   <div> <astro-island uid="lxyul" prefix="s27" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/ButtonNavigationSearch.B7sFWfe1.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;domain&quot;:[0,&quot;penandthepad.com&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;ButtonNavigationSearch&quot;,&quot;value&quot;:true}" await-children=""><div class="nav-search-root z-50 shrink-0" data-search-open="false" data-v-14b806f0=""><button class="nav-icon" aria-label="Toggle search" data-v-14b806f0=""><!----><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search-icon lucide-search w-6 h-6" aria-hidden="true" data-v-14b806f0=""><path d="m21 21-4.34-4.34" /><circle cx="11" cy="11" r="8" /></svg><!--]--></button><!----></div><!--astro:end--></astro-island> </div>  </div> </div> </div> </div> <div class="hidden md:block"> <div class="z-50"> <div class="border-primary/25 flex w-full items-center justify-center border-y bg-white"> <ul class="container mx-auto flex w-full max-w-[min(100%,1200px)] justify-center" id="site-navigation"> <li class="group [&_.more-dropdown-link]:hidden" data-nav-href="/how-to-cite/" data-nav-type="category-posts"><astro-island uid="280Jay" prefix="s53" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/DynamicNavigationDropdown.BVD6Rpyr.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;navitem&quot;:[0,{&quot;type&quot;:[0,&quot;category-posts&quot;],&quot;label&quot;:[0,&quot;How to Cite&quot;],&quot;categoryId&quot;:[0,18998],&quot;href&quot;:[0,&quot;/how-to-cite/&quot;],&quot;category&quot;:[0,{&quot;id&quot;:[0,18998],&quot;slug&quot;:[0,&quot;how-to-cite&quot;],&quot;name&quot;:[0,&quot;How to Cite&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;link&quot;:[0,&quot;/how-to-cite/&quot;],&quot;parent&quot;:[0,19000],&quot;taxonomy&quot;:[0,&quot;category&quot;],&quot;expert&quot;:[0],&quot;_links&quot;:[0,{&quot;self&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/how-to-cite/&quot;]}]]],&quot;wp:post_type&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/how-to-cite/posts/&quot;]}]]]}],&quot;meta&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://penandthepad.com/how-to-cite/&quot;],&quot;indexable&quot;:[0,true],&quot;yoast_head_json&quot;:[0,{&quot;title&quot;:[0,&quot;How to Cite&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;robots&quot;:[0,{}],&quot;canonical&quot;:[0,&quot;https://penandthepad.com/how-to-cite/&quot;],&quot;og_locale&quot;:[0,&quot;en_US&quot;],&quot;og_type&quot;:[0,&quot;object&quot;],&quot;og_title&quot;:[0,&quot;How to Cite&quot;],&quot;og_description&quot;:[0,&quot;&quot;],&quot;og_image&quot;:[0],&quot;schema&quot;:[0,{}]}]}]}],&quot;posts&quot;:[1,[]],&quot;subcategories&quot;:[1,[[0,{&quot;name&quot;:[0,&quot;Pen and the Pad&quot;],&quot;href&quot;:[0,&quot;/pen-and-the-pad/&quot;]}]]]}],&quot;domain&quot;:[0,&quot;penandthepad.com&quot;],&quot;href&quot;:[0,&quot;/how-to-cite/&quot;],&quot;translatedLabel&quot;:[0,&quot;How to Cite&quot;]}" ssr="" client="visible" opts="{&quot;name&quot;:&quot;DynamicNavigationDropdown&quot;,&quot;value&quot;:true}" await-children=""><!--[--><a href="/how-to-cite/" class="more-dropdown-link nav-more-link">How to Cite</a><div data-dropdown-open="false"><button class="nav-item group" data-open="false"><!--[-->How to Cite <!--]--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down-icon lucide-chevron-down nav-item-chevron w-
27615 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6" /></svg></button><div class="w-screen left-0 nav-panel absolute" style="display:none;"><!--[--><div class="nav-panel-body wrapper"><div><!--[--><astro-slot><div class="flex gap-6"> <div class="flex max-w-[250px] flex-col gap-4"> <div class="flex flex-col gap-2"> <div class="nav-panel-label">Related Topics</div> <div class="flex flex-col gap-1"> <a class="nav-panel-link" href="/pen-and-the-pad/"> Pen and the Pad </a> </div> </div> </div> <div class="flex-1"> <div class="flex items-center justify-between"> <div class="nav-panel-label">Top Articles</div> <a href="/how-to-cite/">  <button class="button cursor-pointer tracking-[1.2px] font-semibold font-mono rounded-full flex items-center transition uppercase gap-[10px] min-h-[30px] px-4 py-1 text-[12px]/[16px] text-primary border-2 border-primary hover:bg-primary hover:text-primary-foreground w-fit"> View All<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right-icon lucide-arrow-right h-4 w-4" aria-hidden="true"><path d="M5 12h14" /><path d="m12 5 7 7-7 7" /></svg>  </button>  </a> </div> <div class="@container max-h-[60vh] overflow-y-auto"> <astro-island uid="2kmi6d" prefix="s32" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/DynamicCategoryPosts.BdSPUR1t.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;navitem&quot;:[0,{&quot;type&quot;:[0,&quot;category-posts&quot;],&quot;label&quot;:[0,&quot;How to Cite&quot;],&quot;categoryId&quot;:[0,18998],&quot;href&quot;:[0,&quot;/how-to-cite/&quot;],&quot;category&quot;:[0,{&quot;id&quot;:[0,18998],&quot;slug&quot;:[0,&quot;how-to-cite&quot;],&quot;name&quot;:[0,&quot;How to Cite&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;link&quot;:[0,&quot;/how-to-cite/&quot;],&quot;parent&quot;:[0,19000],&quot;taxonomy&quot;:[0,&quot;category&quot;],&quot;expert&quot;:[0],&quot;_links&quot;:[0,{&quot;self&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/how-to-cite/&quot;]}]]],&quot;wp:post_type&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/how-to-cite/posts/&quot;]}]]]}],&quot;meta&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://penandthepad.com/how-to-cite/&quot;],&quot;indexable&quot;:[0,true],&quot;yoast_head_json&quot;:[0,{&quot;title&quot;:[0,&quot;How to Cite&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;robots&quot;:[0,{}],&quot;canonical&quot;:[0,&quot;https://penandthepad.com/how-to-cite/&quot;],&quot;og_locale&quot;:[0,&quot;en_US&quot;],&quot;og_type&quot;:[0,&quot;object&quot;],&quot;og_title&quot;:[0,&quot;How to Cite&quot;],&quot;og_description&quot;:[0,&quot;&quot;],&quot;og_image&quot;:[0],&quot;schema&quot;:[0,{}]}]}]}],&quot;posts&quot;:[1,[]],&quot;subcategories&quot;:[1,[[0,{&quot;name&quot;:[0,&quot;Pen and the Pad&quot;],&quot;href&quot;:[0,&quot;/pen-and-the-pad/&quot;]}]]]}],&quot;variant&quot;:[0,&quot;desktop&quot;],&quot;locale&quot;:[0,&quot;en&quot;],&quot;featureKicker&quot;:[0],&quot;featureCta&quot;:[0],&quot;featureImage&quot;:[0],&quot;featureOnly&quot;:[0]}" ssr="" client="visible" opts="{&quot;name&quot;:&quot;DynamicCategoryPosts&quot;,&quot;value&quot;:true}" await-children=""><div data-dynamic-posts="" class="nav-panel-articles"><div class="flex items-center justify-center py-8"><div class="text-gray-400">Hover to load posts</div></div></div><!--astro:end--></astro-island> </div> </div> </div></astro-slot><!--]--></div></div><!--]--></div></div><!--]--><!--astro:end--></astro-island></li><li class="group [&_.more-dropdown-link]:hidden" data-nav-href="/language-lit/" data-nav-type="category-posts"><astro-island uid="ZSYKeJ" prefix="s50" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/DynamicNavigationDropdown.BVD6Rpyr.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;navitem&quot;:[0,{&quot;type&quot;:[0,&quot;category-posts&quot;],&quot;label&quot;:[0,&quot;Language & Lit&quot;],&quot;categoryId&quot;:[0,18995],&quot;href&quot;:[0,&quot;/language-lit/&quot;],&quot;category&quot;:[0,{&quot;id&quot;:[0,18995],&quot;slug&quot;:[0,&quot;language-lit&quot;],&quot;name&quot;:[0,&quot;Language & Lit&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;link&quot;:[0,&quot;/language-lit/&quot;],&quot;parent&quot;:[0,19000],&quot;taxonomy&quot;:[0,&quot;category&quot;],&quot;expert&quot;:[0],&quot;_links&quot;:[0,{&quot;self&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/language-lit/&quot;]}]]],&quot;wp:post_type&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/language-lit/posts/&quot;]}]]]}],&quot;meta&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://penandthepad.com/language-lit/&quot;],&quot;indexable&quot;:[0,true],&quot;yoast_head_json&quot;:[0,{&quot;title&quot;:[0,&quot;Language & Lit&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;robots&quot;:[0,{}],&quot;canonical&quot;:[0,&quot;https://penandthepad.com/language-lit/&quot;],&quot;og_locale&quot;:[0,&quot;en_US&quot;],&quot;og_type&quot;:[0,&quot;object&quot;],&quot;og_title&quot;:[0,&quot;Language & Lit&quot;],&quot;og_description&quot;:[0,&quot;&quot;],&quot;og_image&quot;:[0],&quot;schema&quot;:[0,{}]}]}]}],&quot;posts&quot;:[1,[]],&quot;subcategories&quot;:[1,[]]}],&quot;domain&quot;:[0,&quot;penandthepad.com&quot;],&quot;href&quot;:[0,&quot;/language-lit/&quot;],&quot;translatedLabel&quot;:[0,&quot;Language & Lit&quot;]}" ssr="" client="visible" opts="{&quot;name&quot;:&quot;DynamicNavigationDropdown&quot;,&quot;value&quot;:true}" await-children=""><!--[--><a href="/language-lit/" class="more-dropdown-link nav-more-link">Language &amp; Lit</a><div data-dropdown-open="false"><button class="nav-item group" data-open="false"><!--[-->Language &amp; Lit <!--]--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down-icon lucide-chevron-down nav-item-chevron w-
27615 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6" /></svg></button><div class="w-screen left-0 nav-panel absolute" style="display:none;"><!--[--><div class="nav-panel-body wrapper"><div><!--[--><astro-slot><div class="flex gap-6">  <div class="flex-1"> <div class="flex items-center justify-between"> <div class="nav-panel-label">Top Articles</div> <a href="/language-lit/">  <button class="button cursor-pointer tracking-[1.2px] font-semibold font-mono rounded-full flex items-center transition uppercase gap-[10px] min-h-[30px] px-4 py-1 text-[12px]/[16px] text-primary border-2 border-primary hover:bg-primary hover:text-primary-foreground w-fit"> View All<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right-icon lucide-arrow-right h-4 w-4" aria-hidden="true"><path d="M5 12h14" /><path d="m12 5 7 7-7 7" /></svg>  </button>  </a> </div> <div class="@container max-h-[60vh] overflow-y-auto"> <astro-island uid="1EUm1k" prefix="s33" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/DynamicCategoryPosts.BdSPUR1t.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;navitem&quot;:[0,{&quot;type&quot;:[0,&quot;category-posts&quot;],&quot;label&quot;:[0,&quot;Language & Lit&quot;],&quot;categoryId&quot;:[0,18995],&quot;href&quot;:[0,&quot;/language-lit/&quot;],&quot;category&quot;:[0,{&quot;id&quot;:[0,18995],&quot;slug&quot;:[0,&quot;language-lit&quot;],&quot;name&quot;:[0,&quot;Language & Lit&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;link&quot;:[0,&quot;/language-lit/&quot;],&quot;parent&quot;:[0,19000],&quot;taxonomy&quot;:[0,&quot;category&quot;],&quot;expert&quot;:[0],&quot;_links&quot;:[0,{&quot;self&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/language-lit/&quot;]}]]],&quot;wp:post_type&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/language-lit/posts/&quot;]}]]]}],&quot;meta&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://penandthepad.com/language-lit/&quot;],&quot;indexable&quot;:[0,true],&quot;yoast_head_json&quot;:[0,{&quot;title&quot;:[0,&quot;Language & Lit&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;robots&quot;:[0,{}],&quot;canonical&quot;:[0,&quot;https://penandthepad.com/language-lit/&quot;],&quot;og_locale&quot;:[0,&quot;en_US&quot;],&quot;og_type&quot;:[0,&quot;object&quot;],&quot;og_title&quot;:[0,&quot;Language & Lit&quot;],&quot;og_description&quot;:[0,&quot;&quot;],&quot;og_image&quot;:[0],&quot;schema&quot;:[0,{}]}]}]}],&quot;posts&quot;:[1,[]],&quot;subcategories&quot;:[1,[]]}],&quot;variant&quot;:[0,&quot;desktop&quot;],&quot;locale&quot;:[0,&quot;en&quot;],&quot;featureKicker&quot;:[0],&quot;featureCta&quot;:[0],&quot;featureImage&quot;:[0],&quot;featureOnly&quot;:[0]}" ssr="" client="visible" opts="{&quot;name&quot;:&quot;DynamicCategoryPosts&quot;,&quot;value&quot;:true}" await-children=""><div data-dynamic-posts="" class="nav-panel-articles"><div class="flex items-center justify-center py-8"><div class="text-gray-400">Hover to load posts</div></div></div><!--astro:end--></astro-island> </div> </div> </div></astro-slot><!--]--></div></div><!--]--></div></div><!--]--><!--astro:end--></astro-island></li><li class="group [&_.more-dropdown-link]:hidden" data-nav-href="/rhyme-rhythm/" data-nav-type="category-posts"><astro-island uid="13E9c4" prefix="s51" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/DynamicNavigationDropdown.BVD6Rpyr.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;navitem&quot;:[0,{&quot;type&quot;:[0,&quot;category-posts&quot;],&quot;label&quot;:[0,&quot;Rhyme & Rhythm&quot;],&quot;categoryId&quot;:[0,18997],&quot;href&quot;:[0,&quot;/rhyme-rhythm/&quot;],&quot;category&quot;:[0,{&quot;id&quot;:[0,18997],&quot;slug&quot;:[0,&quot;rhyme-rhythm&quot;],&quot;name&quot;:[0,&quot;Rhyme & Rhythm&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;link&quot;:[0,&quot;/rhyme-rhythm/&quot;],&quot;parent&quot;:[0,19000],&quot;taxonomy&quot;:[0,&quot;category&quot;],&quot;expert&quot;:[0],&quot;_links&quot;:[0,{&quot;self&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/rhyme-rhythm/&quot;]}]]],&quot;wp:post_type&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/rhyme-rhythm/posts/&quot;]}]]]}],&quot;meta&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://penandthepad.com/rhyme-rhythm/&quot;],&quot;indexable&quot;:[0,true],&quot;yoast_head_json&quot;:[0,{&quot;title&quot;:[0,&quot;Rhyme & Rhythm&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;robots&quot;:[0,{}],&quot;canonical&quot;:[0,&quot;https://penandthepad.com/rhyme-rhythm/&quot;],&quot;og_locale&quot;:[0,&quot;en_US&quot;],&quot;og_type&quot;:[0,&quot;object&quot;],&quot;og_title&quot;:[0,&quot;Rhyme & Rhythm&quot;],&quot;og_description&quot;:[0,&quot;&quot;],&quot;og_image&quot;:[0],&quot;schema&quot;:[0,{}]}]}]}],&quot;posts&quot;:[1,[]],&quot;subcategories&quot;:[1,[]]}],&quot;domain&quot;:[0,&quot;penandthepad.com&quot;],&quot;href&quot;:[0,&quot;/rhyme-rhythm/&quot;],&quot;translatedLabel&quot;:[0,&quot;Rhyme & Rhythm&quot;]}" ssr="" client="visible" opts="{&quot;name&quot;:&quot;DynamicNavigationDropdown&quot;,&quot;value&quot;:true}" await-children=""><!--[--><a href="/rhyme-rhythm/" class="more-dropdown-link nav-more-link">Rhyme &amp; Rhythm</a><div data-dropdown-open="false"><button class="nav-item group" data-open="false"><!--[-->Rhyme &amp; Rhythm <!--]--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down-icon lucide-chevron-down nav-item-chevron w-
27615 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6" /></svg></button><div class="w-screen left-0 nav-panel absolute" style="display:none;"><!--[--><div class="nav-panel-body wrapper"><div><!--[--><astro-slot><div class="flex gap-6">  <div class="flex-1"> <div class="flex items-center justify-between"> <div class="nav-panel-label">Top Articles</div> <a href="/rhyme-rhythm/">  <button class="button cursor-pointer tracking-[1.2px] font-semibold font-mono rounded-full flex items-center transition uppercase gap-[10px] min-h-[30px] px-4 py-1 text-[12px]/[16px] text-primary border-2 border-primary hover:bg-primary hover:text-primary-foreground w-fit"> View All<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right-icon lucide-arrow-right h-4 w-4" aria-hidden="true"><path d="M5 12h14" /><path d="m12 5 7 7-7 7" /></svg>  </button>  </a> </div> <div class="@container max-h-[60vh] overflow-y-auto"> <astro-island uid="2wEfiX" prefix="s34" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/DynamicCategoryPosts.BdSPUR1t.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;navitem&quot;:[0,{&quot;type&quot;:[0,&quot;category-posts&quot;],&quot;label&quot;:[0,&quot;Rhyme & Rhythm&quot;],&quot;categoryId&quot;:[0,18997],&quot;href&quot;:[0,&quot;/rhyme-rhythm/&quot;],&quot;category&quot;:[0,{&quot;id&quot;:[0,18997],&quot;slug&quot;:[0,&quot;rhyme-rhythm&quot;],&quot;name&quot;:[0,&quot;Rhyme & Rhythm&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;link&quot;:[0,&quot;/rhyme-rhythm/&quot;],&quot;parent&quot;:[0,19000],&quot;taxonomy&quot;:[0,&quot;category&quot;],&quot;expert&quot;:[0],&quot;_links&quot;:[0,{&quot;self&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/rhyme-rhythm/&quot;]}]]],&quot;wp:post_type&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/rhyme-rhythm/posts/&quot;]}]]]}],&quot;meta&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://penandthepad.com/rhyme-rhythm/&quot;],&quot;indexable&quot;:[0,true],&quot;yoast_head_json&quot;:[0,{&quot;title&quot;:[0,&quot;Rhyme & Rhythm&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;robots&quot;:[0,{}],&quot;canonical&quot;:[0,&quot;https://penandthepad.com/rhyme-rhythm/&quot;],&quot;og_locale&quot;:[0,&quot;en_US&quot;],&quot;og_type&quot;:[0,&quot;object&quot;],&quot;og_title&quot;:[0,&quot;Rhyme & Rhythm&quot;],&quot;og_description&quot;:[0,&quot;&quot;],&quot;og_image&quot;:[0],&quot;schema&quot;:[0,{}]}]}]}],&quot;posts&quot;:[1,[]],&quot;subcategories&quot;:[1,[]]}],&quot;variant&quot;:[0,&quot;desktop&quot;],&quot;locale&quot;:[0,&quot;en&quot;],&quot;featureKicker&quot;:[0],&quot;featureCta&quot;:[0],&quot;featureImage&quot;:[0],&quot;featureOnly&quot;:[0]}" ssr="" client="visible" opts="{&quot;name&quot;:&quot;DynamicCategoryPosts&quot;,&quot;value&quot;:true}" await-children=""><div data-dynamic-posts="" class="nav-panel-articles"><div class="flex items-center justify-center py-8"><div class="text-gray-400">Hover to load posts</div></div></div><!--astro:end--></astro-island> </div> </div> </div></astro-slot><!--]--></div></div><!--]--></div></div><!--]--><!--astro:end--></astro-island></li><li> <astro-island uid="1FARGE" prefix="s48" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/ButtonNavigationDropdown.CT9-r434.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;width&quot;:[0,&quot;auto&quot;],&quot;data-nav-more-button&quot;:[0,true]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;ButtonNavigationDropdown&quot;,&quot;value&quot;:true}" await-children=""><div class="relative" data-dropdown-open="false" data-nav-more-button="true"><button class="nav-item group" data-open="false"><!--[--><astro-slot>More </astro-slot><!--]--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down-icon lucide-chevron-down nav-item-chevron w-
27615 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6" /></svg></button><div class="nav-panel-more w-[300px] border-x left-1/2 transform -translate-x-1/2 nav-panel absolute" style="display:none;"><!--[--><astro-slot name="content"> <div class="nav-panel-surface w-full"> <div class="wrap mx-auto"> <div class="flex flex-col py-5" id="hidden-nav-items"></div> </div> </div> </astro-slot><!--]--></div></div><!--astro:end--></astro-island> </li><li class="group [&_.more-dropdown-link]:hidden" data-nav-href="/the-rewrite/" data-nav-type="category-posts"><astro-island uid="LBKdg" prefix="s52" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/DynamicNavigationDropdown.BVD6Rpyr.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;navitem&quot;:[0,{&quot;type&quot;:[0,&quot;category-posts&quot;],&quot;label&quot;:[0,&quot;The Rewrite&quot;],&quot;categoryId&quot;:[0,18996],&quot;href&quot;:[0,&quot;/the-rewrite/&quot;],&quot;category&quot;:[0,{&quot;id&quot;:[0,18996],&quot;slug&quot;:[0,&quot;the-rewrite&quot;],&quot;name&quot;:[0,&quot;The Rewrite&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;link&quot;:[0,&quot;/the-rewrite/&quot;],&quot;parent&quot;:[0,19000],&quot;taxonomy&quot;:[0,&quot;category&quot;],&quot;expert&quot;:[0],&quot;_links&quot;:[0,{&quot;self&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/the-rewrite/&quot;]}]]],&quot;wp:post_type&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/the-rewrite/posts/&quot;]}]]]}],&quot;meta&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://penandthepad.com/the-rewrite/&quot;],&quot;indexable&quot;:[0,true],&quot;yoast_head_json&quot;:[0,{&quot;title&quot;:[0,&quot;The Rewrite&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;robots&quot;:[0,{}],&quot;canonical&quot;:[0,&quot;https://penandthepad.com/the-rewrite/&quot;],&quot;og_locale&quot;:[0,&quot;en_US&quot;],&quot;og_type&quot;:[0,&quot;object&quot;],&quot;og_title&quot;:[0,&quot;The Rewrite&quot;],&quot;og_description&quot;:[0,&quot;&quot;],&quot;og_image&quot;:[0],&quot;schema&quot;:[0,{}]}]}]}],&quot;posts&quot;:[1,[]],&quot;subcategories&quot;:[1,[]]}],&quot;domain&quot;:[0,&quot;penandthepad.com&quot;],&quot;href&quot;:[0,&quot;/the-rewrite/&quot;],&quot;translatedLabel&quot;:[0,&quot;The Rewrite&quot;]}" ssr="" client="visible" opts="{&quot;name&quot;:&quot;DynamicNavigationDropdown&quot;,&quot;value&quot;:true}" await-children=""><!--[--><a href="/the-rewrite/" class="more-dropdown-link nav-more-link">The Rewrite</a><div data-dropdown-open="false"><button class="nav-item group" data-open="false"><!--[-->The Rewrite <!--]--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down-icon lucide-chevron-down nav-item-chevron w-5 transition-transform duration-200" aria-hidden="true"><path d="m6 9 6 6 6-6" /></svg></button><div class="w-screen left-0 nav-panel absolute" style="display:none;"><!--[--><div class="nav-panel-body wrapper"><div><!--[--><astro-slot><div class="flex gap-6">  <div class="flex-1"> <div class="flex items-center justify-between"> <div class="nav-panel-label">Top Articles</div> <a href="/the-rewrite/">  <button class="button cursor-pointer tracking-[1.2px] font-semibold font-mono rounded-full flex items-center transition uppercase gap-[10px] min-h-[30px] px-4 py-1 text-[12px]/[16px] text-primary border-2 border-primary hover:bg-primary hover:text-primary-foreground w-fit"> View All<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right-icon lucide-arrow-right h-4 w-4" aria-hidden="true"><path d="M5 12h14" /><path d="m12 5 7 7-7 7" /></svg>  </button>  </a> </div> <div class="@container max-h-[60vh] overflow-y-auto"> <astro-island uid="1BKLI3" prefix="s35" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/DynamicCategoryPosts.BdSPUR1t.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;navitem&quot;:[0,{&quot;type&quot;:[0,&quot;category-posts&quot;],&quot;label&quot;:[0,&quot;The Rewrite&quot;],&quot;categoryId&quot;:[0,18996],&quot;href&quot;:[0,&quot;/the-rewrite/&quot;],&quot;category&quot;:[0,{&quot;id&quot;:[0,18996],&quot;slug&quot;:[0,&quot;the-rewrite&quot;],&quot;name&quot;:[0,&quot;The Rewrite&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;link&quot;:[0,&quot;/the-rewrite/&quot;],&quot;parent&quot;:[0,19000],&quot;taxonomy&quot;:[0,&quot;category&quot;],&quot;expert&quot;:[0],&quot;_links&quot;:[0,{&quot;self&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/the-rewrite/&quot;]}]]],&quot;wp:post_type&quot;:[1,[[0,{&quot;href&quot;:[0,&quot;https://penandthepad.com/the-rewrite/posts/&quot;]}]]]}],&quot;meta&quot;:[0,{&quot;canonical&quot;:[0,&quot;https://penandthepad.com/the-rewrite/&quot;],&quot;indexable&quot;:[0,true],&quot;yoast_head_json&quot;:[0,{&quot;title&quot;:[0,&quot;The Rewrite&quot;],&quot;description&quot;:[0,&quot;&quot;],&quot;robots&quot;:[0,{}],&quot;canonical&quot;:[0,&quot;https://penandthepad.com/the-rewrite/&quot;],&quot;og_locale&quot;:[0,&quot;en_US&quot;],&quot;og_type&quot;:[0,&quot;object&quot;],&quot;og_title&quot;:[0,&quot;The Rewrite&quot;],&quot;og_description&quot;:[0,&quot;&quot;],&quot;og_image&quot;:[0],&quot;schema&quot;:[0,{}]}]}]}],&quot;posts&quot;:[1,[]],&quot;subcategories&quot;:[1,[]]}],&quot;variant&quot;:[0,&quot;desktop&quot;],&quot;locale&quot;:[0,&quot;en&quot;],&quot;featureKicker&quot;:[0],&quot;featureCta&quot;:[0],&quot;featureImage&quot;:[0],&quot;featureOnly&quot;:[0]}" ssr="" client="visible" opts="{&quot;name&quot;:&quot;DynamicCategoryPosts&quot;,&quot;value&quot;:true}" await-children=""><div data-dynamic-posts="" class="nav-panel-articles"><div class="flex items-center justify-center py-8"><div class="text-gray-400">Hover to load posts</div></div></div><!--astro:end--></astro-island> </div> </div> </div></astro-slot><!--]--></div></div><!--]--></div></div><!--]--><!--astro:end--></astro-island></li> </ul> </div> </div>   </div> <div class="absolute top-0 left-0 w-full h-full bg-primary/5 -z-1"></div> </div> <!-- Spacer to prevent content jump when navigation becomes fixed --> <div id="nav-spacer" class="h-[80px] md:h-[120px]"></div>  <a class="promo-banner flex items-center justify-center gap-3 px-4 py-2.5 text-center text-sm font-medium text-secondary hover:underline" data-astro-cid-lroifm73="true" href="/vocabulary-study-game/"> <span class="shrink-0 rounded-full border border-secondary/40 px-2.5 py-0.5 text-[11px] font-semibold uppercase tracking-wide" data-astro-cid-lroifm73="">NEW</span><span data-astro-cid-lroifm73="">Learn new words with our Vocabulary Swiper!</span> </a><div data-ad-slot="curtain" class="curtain data-empty:hidden print:hidden" data-unit-base="/5055/penandthepad" data-category="pen-and-the-pad"></div> <div class="wrapper flex flex-col b penandthepad-com pt-5"> <div class="flex items-center justify-center min-h-[90px]! md:min-
2761h-[130px]! print:hidden inline-top data-empty:hidden" data-ad-slot="inline-top">  </div>     <nav aria-label="Breadcrumb"> <ol class="text-[12px]/[13px] tracking-[1.2px] flex items-center space-x-2 font-mono list-none p-0 m-0"> <li class="flex items-center space-x-2">  <a class="py-1.5 uppercase font-semibold" href="/"> Home </a> </li><li class="flex items-center space-x-2"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide lucide-chevron-right-icon lucide-chevron-right w-4 text-primary"><path d="m9 18 6-6-6-6" /></svg> <span class="py-1.5 uppercase font-semibold bg-primary text-primary-foreground px-2" aria-current="page"> Pen and the Pad </span> </li> </ol> </nav><div class="flex lg:flex-row flex-col gap-[30px]"> <div class="shrink min-w-0 w-full flex items-center justify-between md:pr-4"> <h1 class="h1 archive-title">Pen and the Pad</h1> <astro-island uid="1Nm8co" prefix="s25" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/CopyFeedButton.BBgwGKSJ.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;url&quot;:[0,&quot;https://penandthepad.com/pen-and-the-pad/feed/&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;CopyFeedButton&quot;,&quot;value&quot;:true}" await-children=""><!--[--><!----><span class="sr-only" aria-live="polite" data-v-788e3fe6=""></span><!--]--><!--astro:end--></astro-island> </div> <!-- used to mirror the section widths below, do not delete --> <div class="hidden lg:block lg:min-w-[300px] lg:max-w-[300px]"></div> </div> <div class="flex lg:flex-row flex-col gap-[30px] items-stretch">
2761 <div class="shrink min-w-0 w-full">   <div class="mb-12"> <div class="flex flex-col gap-7"> <div class="flex items-start justify-between gap-4"> <div class="section-title pt-[12px] grow section-rule"> <h2> Highlights </h2> </div> <div class="hidden md:block">  </div> </div> <div>   <div class="grid grid-cols-1 md:grid-cols-3 gap-6"> <div class="group/card space-y-[17px] md:row-span-2 md:col-span-2"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/fiction-mirror-society-19310.html">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/avif;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAoAEAMBIgACEQEDEQH/xABgAAADAQAAAAAAAAAAAAAAAAABAwUHEAACAgICAwEBAAAAAAAAAAABAgMEBQYAIRETMRIiAQEBAAAAAAAAAAAAAAAAAAAEBREAAQUBAAAAAAAAAAAAAAAAAQACERIxA//aAAwDAQACEQMRAD8AJz+0axkbmDGaIrVIPbM0ShHQOwY+iMBi7gHscVrGZzlvaa+Ohu5OXF14HlQmTypIHlUaOTtST10Qeb1sSivJamhAjlaGQs6fyxI+EkcmaFGl7XsHdtos9pnQtPKP3ISPH1m74Hmb9HNJI1uqkGiloEwHYv/Z" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://cdn.penandthepad.com/4432663d3aef8104e28012cae7064470.jpg?w=640" srcset="https://cdn.penandthepad.com/4432663d3aef8104e28012cae7064470.jpg?w=128 128w, https://cdn.penandthepad.com/4432663d3aef8104e28012cae7064470.jpg?w=256 256w, https://cdn.penandthepad.com/4432663d3aef8104e28012cae7064470.jpg?w=512 512w, https://cdn.penandthepad.com/4432663d3aef8104e28012cae7064470.jpg?w=1024 1024w" alt="Fiction Books: Is Fiction Real? How does Fiction Influence Reality?" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="640" height="500" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><div class="flex items-start justify-between gap-2"><a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/language-lit/"> <astro-island uid="ZAVzHD" prefix="s0" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;Language & Lit&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Language &amp; Lit</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[30px]/[36px] text-[18px]/[22px]" href="/fiction-mirror-society-19310.html"> Fiction Books: Is Fiction Real? How does Fiction Influence Reality? </a><div class="md:block hidden"></div><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/kori-morgan/"> Kori Morgan </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Nov 27, 2022</div></div></div><div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/purpose-vs-meaning-poem-3636.html">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/avif;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAoAEAMBIgACE
2761QEDEQH/xABhAAADAQAAAAAAAAAAAAAAAAAAAwQFEAACAgICAgMAAAAAAAAAAAABAgMEAAYRMQUiMkFhAQEAAAAAAAAAAAAAAAAAAAAFEQABBAMBAAAAAAAAAAAAAAABAAIDERITMSL/2gAMAwEAAhEDEQA/ACPUdPkdVSkCzngAWgx5PQGLu6XqYaSMVzC6twUNhQykfXtle4ySV9e8k0MjRkw1SShKn5HNHS55rOvVTPM8pHRdi3Y/cCMkg9bD2ksGMusRxf/Z" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://cdn.penandthepad.com/58d11ad7216bebb6047e6258ee3c5d4e.jpg?w=640" srcset="https://cdn.penandthepad.com/58d11ad7216bebb6047e6258ee3c5d4e.jpg?w=128 128w, https://cdn.penandthepad.com/58d11ad7216bebb6047e6258ee3c5d4e.jpg?w=256 256w, https://cdn.penandthepad.com/58d11ad7216bebb6047e6258ee3c5d4e.jpg?w=512 512w" alt="What Does 'Beats' in Poetry Mean?" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="640" height="500" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><div class="flex items-start justify-between gap-2"><a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/rhyme-rhythm/"> <astro-island uid="unz6i" prefix="s1" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;Rhyme & Rhythm&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Rhyme &amp; Rhythm</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/purpose-vs-meaning-poem-3636.html"> Purpose Vs. Meaning of a Poem </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/john-jeremy-dean/"> John Jeremy Dean </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Nov 7, 2022</div></div></div><div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/title-capitalization-tool.html">  <div class="relative w-full aspect-video"> <div class="h-full w-full bg-primary/10 flex items-center justify-center aspect-video"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image-icon lucide-image w-12 h-12 text-primary/40" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2" ry="2" /><circle cx="9" cy="9" r="2" /><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21" /></svg></div>  </div>  </a><div class="flex items-start justify-between gap-2"><a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/how-to-cite/"> <astro-island uid="1d8vSU" prefix="s2" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;How to Cite&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">How to Cite</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/title-capitalization-tool.html"> Free Online Title Capitalization Tool </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16
2761px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/contributor/"> Contributor </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Oct 28, 2022</div></div></div> </div>  </div> <div class="justify-center md:hidden flex">  </div> </div> </div> <div class="mb-12"> <div class="flex justify-center ad-fluid section-banner data-empty:hidden" data-ad-slot="section-banner">  </div>   </div> <div> <div class="flex flex-col gap-7"> <div class="flex items-start justify-between gap-4"> <div class="section-title pt-[12px] grow section-rule"> <h2> All Pen and the Pad Articles </h2> </div> <div class="hidden md:block">  </div> </div> <div>   <div class="grid md:grid-cols-3 gap-8 mb-8"> <div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/citation-generator.html">  <div class="relative w-full aspect-video"> <div class="h-full w-full bg-primary/10 flex items-center justify-center aspect-video"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image-icon lucide-image w-12 h-12 text-primary/40" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2" ry="2" /><circle cx="9" cy="9" r="2" /><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21" /></svg></div>  </div>  </a><div class="flex items-start justify-between gap-2"><a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/how-to-cite/"> <astro-island uid="1d8vSU" prefix="s3" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;How to Cite&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">How to Cite</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/citation-generator.html"> Free Online Citation Generator </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/contributor/"> Contributor </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Oct 19, 2022</div></div></div><div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/organize-poem-lines-3608.html">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/avif;base64,AAAAGGZ0eXBhdmlmAAAAAG1pZjFtaWFmAAAA0m1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAAA8gAAAMwAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABhdjAxAAAAAFZpcHJwAAAAOGlwY28AAAAUaXNwZQAAAAAAAAAQAAAACgAAAAxhdjFDgT9AAAAAABBwaXhpAAAAAAMKCgoAAAAWaXBtYQAAAAAAAAABAAEDAYIDAAAA1G1kYXQSAAoIP8z+SMBDQbQyvQFlqjtDJRX6/0AgEBAYAAAAAAABRRRQIBTJggg0jokZtHK07J+jJKpgyYj/j2TJoPyEtGpuHu2VGXrtAE/Y5jDOKCigU6KZ1ZyJmD/nVUKvbEYoPNQiy/j7Ut1DBR9PImVq3HveM7F83mwNtjn5CW6yvpUyT5WFSntFoiPnvKx9t+ibt6nz2/CSlU8JrkrLebSrrn1g0FHqY9Po+z/hqR3hjNH2kTINOiAv7GcXnci2y35QVreYS7THDIIFjvA=" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://cdn.penandthepad.com/a5eded1a3e83925425a87fbf4ba04643.jpg?w=640" srcset="https://cdn.penandthepad.com/a5eded1a3e83925425a87fbf4ba04643.jpg?w=128 128w, https://cdn.penandthepad.com/a5eded1a3e83925425a87fbf4ba04643.jpg?w=256 256w, https://cdn.penandthepad.com/a5eded1a3e83925425a87fbf4ba04643.jpg?w=512 512w" alt="Poem Structure: What are stanzas in poems? Plus, Organize Poem Lines" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="640" height="500" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><div class="flex items-start justify-between gap-2">
2761<a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/rhyme-rhythm/"> <astro-island uid="unz6i" prefix="s4" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;Rhyme & Rhythm&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Rhyme &amp; Rhythm</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/organize-poem-lines-3608.html"> Poem Structure: What are stanzas in poems? Plus, Organize Poem Lines </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/john-jeremy-dean/"> John Jeremy Dean </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Oct 14, 2022</div></div></div><div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/narrative-techniques-romeo-juliet-2008.html">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/avif;base64,AAAAGGZ0eXBhdmlmAAAAAG1pZjFtaWFmAAAA0m1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAAA8gAAAKMAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABhdjAxAAAAAFZpcHJwAAAAOGlwY28AAAAUaXNwZQAAAAAAAAAQAAAACgAAAAxhdjFDgT9AAAAAABBwaXhpAAAAAAMKCgoAAAAWaXBtYQAAAAAAAAABAAEDAYIDAAAAq21kYXQSAAoIP8z+SMBDQbQylAFlrjtDJRf6/+AgEBAQAAAAAAABRRRQAAjey3ZKexB1UwLt1qkIOMs+FvhegE3UrPljkcYo9rDnJKPuu6Y8x4fu3ZN0+tJIacf9Pt1Di51vvjuaETiHsI1ZZu50XGyX7ziu2K/2m79QCO0EFUdB5EsOnTmrePKb6Rhhrd7LZMFvvGtv8ePbObE233SQAVU3XeKy5H7A" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://cdn.penandthepad.com/040607091522145250cad8aca0562b95.jpg?w=640" srcset="https://cdn.penandthepad.com/040607091522145250cad8aca0562b95.jpg?w=128 128w, https://cdn.penandthepad.com/040607091522145250cad8aca0562b95.jpg?w=256 256w, https://cdn.penandthepad.com/040607091522145250cad8aca0562b95.jpg?w=512 512w" alt="Analysis of the &quot;Romeo & Juliet&quot; Prologue Sonnet" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="640" height="500" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><div class="flex items-start justify-between gap-2"><a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/language-lit/"> <astro-island uid="ZAVzHD" prefix="s5" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;Language & Lit&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Language &amp; Lit</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/narrative-techniques-romeo-juliet-2008.html"> Narrative Techniques in "Romeo and Juliet" </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16
2761px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/michael-mason/"> Michael Mason </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Sep 30, 2022</div></div></div><div class="md:col-span-3 my-8"> <div class="has-data-empty:hidden print:hidden"> <div class="flex items-center gap-4"> <div class="flex-1 border-t border-zinc-300"></div> <span class="text-xs uppercase font-semibold text-zinc-600">Advertisement</span> <div class="flex-1 border-t border-zinc-300"></div> </div> <div class="py-2">  <div class="flex justify-center ad-fluid inline-article-native data-empty:hidden" data-ad-slot="inline-article-native">  </div>    </div> <div class="border-t border-zinc-300"></div> </div> </div><div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/five-examples-compoundcomplex-sentence-3561.html">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/avif;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAoAEAMBIgACE
2761QEDEQH/xABiAAEBAQAAAAAAAAAAAAAAAAAGBAUQAAIBAwQDAQAAAAAAAAAAAAECAwQFEQAGEiITITFBAQEAAAAAAAAAAAAAAAAAAAAFEQACAgIDAQAAAAAAAAAAAAABAgMSAAQFE0ER/9oADAMBAAIRAxEAPwBxtPb9Vc6aneZ4Ei49KeU9psfRj8Grr/tMJCaesuawUqgt4adu6ZGeLKFOQB8xp3cJZKea2iGRow1ThghK5HE+jjWw4DtEX7EHAJ96Ji0YUDFS4cyl7ffWxuTkthuslUr0hK18XP/Z" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://cdn.penandthepad.com/e5638fa0302f4fbe3a65e6b52b4ca357.jpg?w=640" srcset="https://cdn.penandthepad.com/e5638fa0302f4fbe3a65e6b52b4ca357.jpg?w=128 128w, https://cdn.penandthepad.com/e5638fa0302f4fbe3a65e6b52b4ca357.jpg?w=256 256w, https://cdn.penandthepad.com/e5638fa0302f4fbe3a65e6b52b4ca357.jpg?w=512 512w" alt="Five Examples of a Compound-Complex Sentence" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="640" height="500" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><div class="flex items-start justify-between gap-2"><a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/the-rewrite/"> <astro-island uid="Z1Ug1n8" prefix="s6" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;The Rewrite&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">The Rewrite</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/five-examples-compoundcomplex-sentence-3561.html"> Five Examples of a Compound-Complex Sentence </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/kate-beck/"> Kate Beck </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Sep 23, 2022</div></div></div><div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/write-footnotes-endnotes-apa-style-2247.html">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/avif;base64,AAAAGGZ0eXBhdmlmAAAAAG1pZjFtaWFmAAAA0m1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAAA8gAAAGcAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABhdjAxAAAAAFZpcHJwAAAAOGlwY28AAAAUaXNwZQAAAAAAAAAQAAAACgAAAAxhdjFDgT9AAAAAABBwaXhpAAAAAAMKCgoAAAAWaXBtYQAAAAAAAAABAAEDAYIDAAAAb21kYXQSAAoIP8z+SMBDQbQyWWV+K0ElE/z94CAQEEgAAAAAAAEEEEAAwkpLF9YttVwX1BACECHVsJ5ZGMZ2uClXB5mK3tCota+QiJFmjnuSHgKUzE9nzdJpMjjaqUEgImsqoYlJ7nmi1Y3g" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://cdn.penandthepad.com/abfdf2cb28c0e3c6ab16525885369c5c.jpg?w=640" srcset="https://cdn.penandthepad.com/abfdf2cb28c0e3c6ab16525885369c5c.jpg?w=128 128w, https://cdn.penandthepad.com/abfdf2cb28c0e3c6ab16525885369c5c.jpg?w=256 256w, https://cdn.penandthepad.com/abfdf2cb28c0e3c6ab16525885369c5c.jpg?w=512 512w" alt="How to Cite a Book Chapter in APA Format" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="640" height="500" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><div class="flex items-start justify-between gap-2">
2761<a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/how-to-cite/"> <astro-island uid="1d8vSU" prefix="s7" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;How to Cite&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">How to Cite</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/write-footnotes-endnotes-apa-style-2247.html"> How to Write Footnotes and Endnotes in APA Style </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/kimberly-l-tohill/"> Kimberly L. Tohill </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Sep 14, 2022</div></div></div><div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/cite-website-mla-format-author-publishing-date-2123.html">  <div class="relative w-full aspect-video"> <div class="h-full w-full bg-primary/10 flex items-center justify-center aspect-video"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image-icon lucide-image w-12 h-12 text-primary/40" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2" ry="2" /><circle cx="9" cy="9" r="2" /><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21" /></svg></div>  </div>  </a><div class="flex items-start justify-between gap-2"><a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/how-to-cite/"> <astro-island uid="1d8vSU" prefix="s8" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;How to Cite&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">How to Cite</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/cite-website-mla-format-author-publishing-date-2123.html"> How to Cite a Website in MLA Format Without an Author or Publishing Date </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/maya-black/"> Maya Black </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Sep 14, 2022</div></div></div><div class="md:col-span-3 my-8"> <div class="has-data-empty:hidden print:hidden"> <div class="flex items-center gap-4"> <div class="flex-1 border-t border-zinc-300"></div> <span class="text-xs uppercase font-semibold text-zinc-600">Advertisement</span> <div class="flex-1 border-t border-zinc-300"></div> </div> <div class="py-2">  <div class="flex justify-center ad-fluid section-banner data-empty:hidden" data-ad-slot="section-banner">  </div>    </div> <div class="border-t border-zinc-300"></div> </div> </div><div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/write-discussion-essay-4069.html">
2761  <div class="relative w-full aspect-video"> <div class="h-full w-full bg-primary/10 flex items-center justify-center aspect-video"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image-icon lucide-image w-12 h-12 text-primary/40" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2" ry="2" /><circle cx="9" cy="9" r="2" /><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21" /></svg></div>  </div>  </a><div class="flex items-start justify-between gap-2"><a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/the-rewrite/"> <astro-island uid="Z1Ug1n8" prefix="s9" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;The Rewrite&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">The Rewrite</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/write-discussion-essay-4069.html"> How to Write a Discussion Essay </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/regan-hennessy/"> Regan Hennessy </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Sep 5, 2022</div></div></div><div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/discussing-diction-poem-2055.html">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/avif;base64,AAAAGGZ0eXBhdmlmAAAAAG1pZjFtaWFmAAAA0m1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAAA8gAAAI0AAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABhdjAxAAAAAFZpcHJwAAAAOGlwY28AAAAUaXNwZQAAAAAAAAAQAAAACgAAAAxhdjFDgT9AAAAAABBwaXhpAAAAAAMKCgoAAAAWaXBtYQAAAAAAAAABAAEDAYIDAAAAlW1kYXQSAAoIP8z+SMBDQbQyf2WiN0MnFfz/4CAAEBAAAAAAAAEkkkggFMlxFVdjjN91X6ictiCrulZg0vjpSh7EZeGwypqNCk2UYexxOKubLwqw+4iB5/oZTUnHlzciWPUG9SW9N69DW7/hM6yrZJpQdISP8s2NYoBNYM9oic5615zk56uwWuBAgzm/39PejTI=" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://cdn.penandthepad.com/2f69214d4475dc9f6cb09655dfeff001.jpg?w=640" srcset="https://cdn.penandthepad.com/2f69214d4475dc9f6cb09655dfeff001.jpg?w=128 128w, https://cdn.penandthepad.com/2f69214d4475dc9f6cb09655dfeff001.jpg?w=256 256w, https://cdn.penandthepad.com/2f69214d4475dc9f6cb09655dfeff001.jpg?w=512 512w" alt="How to Have a Private Family Cemetery" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="640" height="500" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><div class="flex items-start justify-between gap-2"><a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/rhyme-rhythm/"> <astro-island uid="unz6i" prefix="s10" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;Rhyme & Rhythm&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Rhyme &amp; Rhythm</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/discussing-diction-poem-2055.html"> Discussing the Diction of a Poem </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16
2761px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/kate-prudchenko/"> Kate Prudchenko </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Apr 14, 2022</div></div></div><div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/formal-diction-examples-poetry-2041.html">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/avif;base64,AAAAGGZ0eXBhdmlmAAAAAG1pZjFtaWFmAAAA0m1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAAA8gAAAJQAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABhdjAxAAAAAFZpcHJwAAAAOGlwY28AAAAUaXNwZQAAAAAAAAAQAAAACgAAAAxhdjFDgT9AAAAAABBwaXhpAAAAAAMKCgoAAAAWaXBtYQAAAAAAAAABAAEDAYIDAAAAnG1kYXQSAAoIP8z+SMBDQbQyhQFlrjtDJRf8/8AgABAQAAAAAAABRRRQIBghIezTnk3Hg22PYU8qHHeN8uLfjn917fVxFhk/Hpr6oUjR7M3FGAT8p48G/UEA1olcjqxncdmPW50FfHFpj+m72DIngRVeNKc5HNiDq39aE/e6WpOVvLSRwm6Xjx5zFM3tPWGNP/f9+GU5bky2" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://cdn.penandthepad.com/892f32aa017bc98905f291d4be0daf25.jpg?w=640" srcset="https://cdn.penandthepad.com/892f32aa017bc98905f291d4be0daf25.jpg?w=128 128w, https://cdn.penandthepad.com/892f32aa017bc98905f291d4be0daf25.jpg?w=256 256w, https://cdn.penandthepad.com/892f32aa017bc98905f291d4be0daf25.jpg?w=512 512w" alt="Formal Diction Examples in Poetry" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="640" height="500" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><div class="flex items-start justify-between gap-2"><a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/rhyme-rhythm/"> <astro-island uid="unz6i" prefix="s11" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;Rhyme & Rhythm&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Rhyme &amp; Rhythm</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/formal-diction-examples-poetry-2041.html"> Formal Diction Examples in Poetry </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/kate-prudchenko/"> Kate Prudchenko </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Apr 14, 2022</div></div></div><div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/forms-diction-21522.html">  <div class="relative w-full aspect-video"> <div class="h-full w-full bg-primary/10 flex items-center justify-center aspect-video"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image-icon lucide-image w-12 h-12 text-primary/40" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2" ry="2" /><circle cx="9" cy="9" r="2" /><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21" /></svg></div>  </div>  </a><div class="flex items-start justify-between gap-2">
2761<a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/rhyme-rhythm/"> <astro-island uid="unz6i" prefix="s12" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;Rhyme & Rhythm&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Rhyme &amp; Rhythm</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/forms-diction-21522.html"> 4 Forms Of Diction </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/suzy-kerr/"> Suzy Kerr </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Apr 14, 2022</div></div></div><div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/student-learns-writing-argumentative-essay-2088.html">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/avif;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUFBQUFBQUGBgUICAcICAsKCQkKCxEMDQwNDBEaEBMQEBMQGhcbFhUWGxcpIBwcICkvJyUnLzkzMzlHREddXX0BBQUFBQUFBQYGBQgIBwgICwoJCQoLEQwNDA0MERoQExAQExAaFxsWFRYbFykgHBwgKS8nJScvOTMzOUdER11dff/AABEIAAoAEAMBIgACE
2761QEDEQH/xABpAAADAQAAAAAAAAAAAAAAAAACBAYHEAACAgAGAgMAAAAAAAAAAAABAgMEAAUGESFBEhMiMVEBAQEAAAAAAAAAAAAAAAAAAAMEEQABAgQHAAAAAAAAAAAAAAACAREABCExAxITFCJBwf/aAAwDAQACEQMRAD8AKlqqOxqQU1WSxlssQCTLHKoilDcmRzx4FeQRijzjUteCFVy+uYmARvbYjeTy52ZAB+dnGxUlAqS7Ad4Sghha18okPDfag9YEkmTBCCZyUeov7F2HtRItSXU+SCjG1+7LH//Z" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://cdn.penandthepad.com/87667105de3619a01c2fb6701ece9824.jpg?w=640" srcset="https://cdn.penandthepad.com/87667105de3619a01c2fb6701ece9824.jpg?w=128 128w, https://cdn.penandthepad.com/87667105de3619a01c2fb6701ece9824.jpg?w=256 256w, https://cdn.penandthepad.com/87667105de3619a01c2fb6701ece9824.jpg?w=512 512w" alt="What a Student Learns From Writing an Argumentative Essay" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="640" height="500" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><div class="flex items-start justify-between gap-2"><a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/the-rewrite/"> <astro-island uid="Z1Ug1n8" prefix="s13" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;The Rewrite&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">The Rewrite</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/student-learns-writing-argumentative-essay-2088.html"> What a Student Learns From Writing an Argumentative Essay </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/van-thompson/"> Van Thompson </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Apr 1, 2022</div></div></div><div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/rules-writing-reading-response-essay-3968.html">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/avif;base64,AAAAGGZ0eXBhdmlmAAAAAG1pZjFtaWFmAAAA0m1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAAA8gAAAKIAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABhdjAxAAAAAFZpcHJwAAAAOGlwY28AAAAUaXNwZQAAAAAAAAAQAAAACgAAAAxhdjFDgT9AAAAAABBwaXhpAAAAAAMKCgoAAAAWaXBtYQAAAAAAAAABAAEDAYIDAAAAqm1kYXQSAAoIP8z+SMBDQbQykwFlqjtDJRX6/6AgEBAQAAAAAAABRRRQAMG4Tu96yBGPVU6Fkssn1RvyfrOsflj89fpAldpgxyOqrzP0Ka1G3d8QM7YQ0Yb/MCqkGf7KX8LcE9uzrGLB/0uBmW/MhRbt/RICJQpihIjXZ306+48ztZ/yz47jr3tHDgidbWhbK9MV/ry8fxSqWVOSCg5LaFr6NZin30A=" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://cdn.penandthepad.com/49271c3033794969b32cd55590de3696.jpg?w=640" srcset="https://cdn.penandthepad.com/49271c3033794969b32cd55590de3696.jpg?w=128 128w, https://cdn.penandthepad.com/49271c3033794969b32cd55590de3696.jpg?w=256 256w, https://cdn.penandthepad.com/49271c3033794969b32cd55590de3696.jpg?w=512 512w" alt="How to Cite Passages From a Book in an Essay" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="640" height="500" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><div class="flex items-start justify-between gap-2">
2761<a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/the-rewrite/"> <astro-island uid="Z1Ug1n8" prefix="s14" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;The Rewrite&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">The Rewrite</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/rules-writing-reading-response-essay-3968.html"> Rules for Writing a Reading Response Essay </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/jana-sosnowski/"> Jana Sosnowski </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Apr 1, 2022</div></div></div><div class="md:col-span-3 my-8"> <div class="has-data-empty:hidden print:hidden"> <div class="flex items-center gap-4"> <div class="flex-1 border-t border-zinc-300"></div> <span class="text-xs uppercase font-semibold text-zinc-600">Advertisement</span> <div class="flex-1 border-t border-zinc-300"></div> </div> <div class="py-2">  <div class="flex justify-center ad-fluid section-banner data-empty:hidden" data-ad-slot="section-banner">  </div>    </div> <div class="border-t border-zinc-300"></div> </div> </div><div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/identify-literary-devices-4237.html">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/avif;base64,AAAAGGZ0eXBhdmlmAAAAAG1pZjFtaWFmAAAA0m1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAAA8gAAAF4AAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABhdjAxAAAAAFZpcHJwAAAAOGlwY28AAAAUaXNwZQAAAAAAAAAQAAAACgAAAAxhdjFDgT9AAAAAABBwaXhpAAAAAAMKCgoAAAAWaXBtYQAAAAAAAAABAAEDAYIDAAAAZm1kYXQSAAoIP8z+SMBDQbQyUGWiN0MnFfr/4CAAEBAAAAAAAAEkkkgAwbc4JaplUISrdYGNRGcD+Kv0WiC9vzcVq1kRqia6p4sHXN5TPoxSgCKCe7cWUozk5Zb6g9b7BsGg" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://cdn.penandthepad.com/af661eb9fad2e2b2f0e131ffc992181d.jpg?w=640" srcset="https://cdn.penandthepad.com/af661eb9fad2e2b2f0e131ffc992181d.jpg?w=128 128w, https://cdn.penandthepad.com/af661eb9fad2e2b2f0e131ffc992181d.jpg?w=256 256w, https://cdn.penandthepad.com/af661eb9fad2e2b2f0e131ffc992181d.jpg?w=512 512w" alt="How to Cut Angles for Wood Braces for Shelves" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="640" height="500" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><div class="flex items-start justify-between gap-2"><a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/language-lit/"> <astro-island uid="ZAVzHD" prefix="s15" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;Language & Lit&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Language &amp; Lit</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/identify-literary-devices-4237.html"> How to Identify Literary Devices </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16
2761px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/editorial-team/"> Editorial Team </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Apr 1, 2022</div></div></div><div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/write-essay-theme-book-2200.html">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/avif;base64,AAAAGGZ0eXBhdmlmAAAAAG1pZjFtaWFmAAAA0m1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAAA8gAAAMAAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABhdjAxAAAAAFZpcHJwAAAAOGlwY28AAAAUaXNwZQAAAAAAAAAQAAAACgAAAAxhdjFDgT9AAAAAABBwaXhpAAAAAAMKCgoAAAAWaXBtYQAAAAAAAAABAAEDAYIDAAAAyG1kYXQSAAoIP8z+SMBDQbQysQFlqjtDJRX6/6AgABAQAAAAAAABRRRQIBhlFNLyqxkdHJXXVF8ndiCFemqN2vx1TQs74+tAHGVG1ZmNxx9/SBdbaNOMkRrT0GV155A9a0jDTwOcJ0uGYElggBDjV5YRSunbY04Z6iI4KEJDqcIKttrXO43nz+jkF5Ts7dznMvRZvX6alm2VFEVHsh0QogewP5/y/AFM2SwBVeWJJWd71R5XoxfiFxLkUiGlNWoaUY67knI=" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://cdn.penandthepad.com/a8473af9366a1f4e04ab3b0f058bbb38.jpg?w=640" srcset="https://cdn.penandthepad.com/a8473af9366a1f4e04ab3b0f058bbb38.jpg?w=128 128w, https://cdn.penandthepad.com/a8473af9366a1f4e04ab3b0f058bbb38.jpg?w=256 256w, https://cdn.penandthepad.com/a8473af9366a1f4e04ab3b0f058bbb38.jpg?w=512 512w" alt="How to Write an Essay on the Theme of a Book" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="640" height="500" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><div class="flex items-start justify-between gap-2"><a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/language-lit/"> <astro-island uid="ZAVzHD" prefix="s16" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;Language & Lit&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">Language &amp; Lit</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/write-essay-theme-book-2200.html"> How to Write an Essay on the Theme of a Book </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/soheila-battaglia/"> Soheila Battaglia </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Apr 1, 2022</div></div></div><div class="group/card space-y-[17px]"><div class="flex flex-col w-full"><a class="block group w-full overflow-hidden relative" href="/write-conclusion-compare-contrast-essay-2057.html">  <div class="relative w-full aspect-video"> <div class="w-full h-full relative" data-lazyimage="">  <img alt="" src="data:image/avif;base64,AAAAGGZ0eXBhdmlmAAAAAG1pZjFtaWFmAAAA0m1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAAA8gAAAIAAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABhdjAxAAAAAFZpcHJwAAAAOGlwY28AAAAUaXNwZQAAAAAAAAAQAAAACgAAAAxhdj
2761FDgT9AAAAAABBwaXhpAAAAAAMKCgoAAAAWaXBtYQAAAAAAAAABAAEDAYIDAAAAiG1kYXQSAAoIP8z+SMBDQbQycmWqO0MnF/z/4CAQEAgAAAAAAAFFFFAgB2uBE2r5E6QxojTZvKEvsn8aC1+hKrcTLnxCibQw9daTZ1dH2rrpGjkreXCltKxfg7vx+UTdci2ODMQt0DoTDUrj+3v/uNz059CuXd3dQHF14RW8p0oVG37PaA==" decoding="async" aria-hidden="true" class="w-full h-full object-cover aspect-video absolute inset-0" style="z-index: -1"> <div data-blur="" class="absolute inset-0 transition-opacity duration-300" style="backdrop-filter: blur(20px); z-index: 1;"></div>  <img src="https://cdn.penandthepad.com/234cb223907a42a74b3d9f1ee1a601d0.jpg?w=640" srcset="https://cdn.penandthepad.com/234cb223907a42a74b3d9f1ee1a601d0.jpg?w=128 128w, https://cdn.penandthepad.com/234cb223907a42a74b3d9f1ee1a601d0.jpg?w=256 256w, https://cdn.penandthepad.com/234cb223907a42a74b3d9f1ee1a601d0.jpg?w=512 512w" alt="What Should the Introduction Look Like When Writing an Essay?" loading="lazy" fetchpriority="auto" decoding="async" data-image="true" style="opacity:0" width="640" height="500" class="w-full h-full object-cover aspect-video transition-opacity duration-300"> </div>   </div>  </a><div class="flex items-start justify-between gap-2"><a class="inline-block uppercase text-[12px] leading-[16px] font-mono font-semibold self-start tracking-widest text-nowrap max-w-full bg-primary text-primary-foreground hover:bg-primary/90 overflow-hidden text-ellipsis" href="/the-rewrite/"> <astro-island uid="Z1Ug1n8" prefix="s17" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/Ticker.BM4Gldko.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{&quot;text&quot;:[0,&quot;The Rewrite&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;Ticker&quot;,&quot;value&quot;:true}" await-children=""><div class="ticker-container px-[8px] py-[6px] flex" style="--scroll-distance:-0px;" data-v-34ac2891=""><span class="w-full truncate ticker-text" data-v-34ac2891="">The Rewrite</span></div><!--astro:end--></astro-island> </a></div></div><a class="font-semibold text-secondary hover:text-primary line-clamp-3 text-ellipsis md:text-[18px]/[22px] text-[18px]/[22px]" href="/write-conclusion-compare-contrast-essay-2057.html"> How to Write a Conclusion for a Compare &amp; Contrast Essay </a><div class="gap-x-7 mt-2 uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500 flex flex-col"><a class="text-secondary hover:text-primary font-semibold" href="/author/megan-ritchie/"> Megan Ritchie </a><div class="uppercase font-mono text-[12px] leading-[16px] tracking-widest text-zinc-500">Apr 1, 2022</div></div></div> </div> <div class="mb-8"> <div class="flex justify-center ad-fluid section-banner data-empty:hidden" data-ad-slot="section-banner">  </div>   </div> <div class="flex flex-wrap justify-center items-center mt-14 text-sm text-gray-500"> <div class="flex items-center mt-4 gap-2">  <a class="min-w-8 h-8 px-2.5 py-1.25 border flex items-center justify-center rounded-full bg-primary text-primary-foreground hover:text-primary-foreground" href="/pen-and-the-pad/"> 1 </a><a class="min-w-8 h-8 px-2.5 py-1.25 border flex items-center justify-center rounded-full bg-white hover:bg-primary/80 hover:text-primary-foreground text-secondary" href="/pen-and-the-pad/page/2/"> 2 </a><a class="min-w-8 h-8 px-2.5 py-1.25 border flex items-center justify-center rounded-full bg-white hover:bg-primary/80 hover:text-primary-foreground text-secondary" href="/pen-and-the-pad/page/3/"> 3 </a><div class="px-2">...</div><a class="min-w-8 h-8 px-2.5 py-1.25 border flex items-center justify-center rounded-full bg-white hover:bg-primary/80 hover:text-primary-foreground text-secondary" href="/pen-and-the-pad/page/96/"> 96 </a> <a class="w-8 h-8 rounded-full flex items-center justify-center bg-white hover:bg-primary/80 hover:text-primary-foreground text-secondary" href="/pen-and-the-pad/page/2/" aria-label="Next Page">  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right-icon lucide-chevron-right w-4 h-4" aria-hidden="true"><path d="m9 18 6-6-6-6" /></svg>  </a> </div> </div>  </div> <div class="justify-center md:hidden flex">  </div> </div> </div>   </div> <aside class="lg:min-w-[300px] lg:max-w-[300px] gap-10 flex flex-col content-sidebar">  <div class="space-y-8 h-full">
2761  <div class="sticky-ad-container h-full lg:h-[1200px]"> <div class="sticky top-50 flex flex-col gap-6"> <div class="flex justify-center right-rail data-empty:hidden" data-ad-slot="right-rail">  </div>    <div class="flex justify-center right-rail data-empty:hidden" data-ad-slot="right-rail">  </div>   </div> </div>  <div class="sticky-ad-container lg:h-[1200px]"> <div class="sticky top-50"> <div class="flex justify-center right-rail data-empty:hidden" data-ad-slot="right-rail">  </div>   </div> </div>  </div>  </aside> </div> <div class="flex items-center justify-center min-h-[90px]! md:min-h-[130px]! print:hidden inline-bottom data-empty:hidden" data-ad-slot="inline-bottom">  </div>   </div> <div class="wrapper relative bg-primary text-primary-foreground pt-[44px] pb-[9px] z-999"> <div class="flex flex-col lg:grid lg:grid-cols-5 gap-x-[64px] space-y-[24px] lg:space-y-[16px]"> <div class="space-y-[24px] lg:space-y-[16px] lg:col-span-3"> <a class="inline-block" href="/">  <div class="max-w-[200px] self-start md:ml-[unset] invert brightness-0 contrast-200 relative">  <img src="https://penandthepad.com/astrostatic/3a22e5c5/_image/?href=%2F_astro%2Fpenandthepad.CAcBzb0Z.svg&w=205&h=70&f=svg" alt="Pen and the Pad Logo" data-image="true" style="opacity:1" loading="lazy" decoding="async" fetchpriority="auto" width="205" height="70" class="max-w-[200px] self-start md:ml-[unset] invert brightness-0 contrast-200 transition-opacity duration-300"> </div>   </a> <p class="leading-6"> Pen and the Pad is your resource for writing, grammar, citations, and the craft of language and literature. </p> <div class="flex gap-6 justify-center lg:justify-normal h-fit"> <div class="flex items-center gap-3 gap-4">  </div> </div> </div> <div class="flex gap-x-[64px] lg:col-span-2 justify-center lg:justify-start"> <div class="space-y-[24px] lg:space-y-[16px]"> <h3 class="h3 uppercase font-bold text-[16px]/[16px] text-white">Company</h3> <div class="grid space-y-[12px]"> <a class="text-primary-foreground hover:text-primary-foreground/80 text-[16px]/[16px] text-nowrap" href="/about-us/"> About us </a> <a class="text-primary-foreground hover:text-primary-foreground/80 text-[16px]/[16px] text-nowrap" href="https://technologyadvice.com/contact-us/" target="_blank" rel="nofollow"> Contact us </a> <a class="text-primary-foreground hover:text-primary-foreground/80 text-[16px]/[16px] text-nowrap" href="https://technologyadvice.com/contact-us/?utm_medium=portfolio_footer&utm_campaign=advertise_contact-us&utm-source=penandthepad" target="_blank" rel="nofollow"> Advertise with us </a>  </div> </div> <div class="space-y-[24px] lg:space-y-[16px]">  <h3 class="h3 uppercase font-bold text-[16px]/[16px] text-white">Categories</h3> <div class="grid space-y-[12px]"> <a class="text-primary-foreground hover:text-primary-foreground/80 text-[16px]/[20px] text-ellipsis line-clamp-1" href="/how-to-cite/"> How to Cite </a><a class="text-primary-foreground hover:text-primary-foreground/80 text-[16px]/[20px] text-ellipsis line-clamp-1" href="/language-lit/"> Language &amp; Lit </a><a class="text-primary-foreground hover:text-primary-foreground/80 text-[16px]/[20px] text-ellipsis line-clamp-1" href="/rhyme-rhythm/"> Rhyme &amp; Rhythm </a><a class="text-primary-foreground hover:text-primary-foreground/80 text-[16px]/[20px] text-ellipsis line-clamp-1" href="/the-rewrite/"> The Rewrite </a> </div>  </div> </div> </div> </div> <div class="wrapper relative bg-white pt-[9px] pb-[100px] z-999"> <div class="flex flex-col items-center lg:grid lg:grid-cols-2 gap-x-[64px] space-y-[24px] lg:space-y-[16px]"> <div class="flex flex-col gap-4 col-span-full text-[12px]/[21px] text-secondary"> <div class="space-y-2"> <p class="font-bold"> Property of TechnologyAdvice. ©  2026 TechnologyAdvice. All Rights Reserved </p> <p> Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace. </p> </div> <div class="flex gap-4 items-center font-bold uppercase"> <a class="text-secondary hover:text-primary" href="/terms-conditions/"> Terms of Service </a> <a class="text-secondary hover:text-primary" href="/privacy-policy/"> Privacy Policy </a> <a class="text-secondary hover:text-primary" href="https://technologyadvice.com/privacy-policy/ccpa-opt-out-form/" target="_blank" rel="nofollow"> California - Do Not Sell My Information </a> </div> <div id="choice-footer-msg" class="text-[12px]/[21px]"></div> </div> </div> </div><astro-island uid="Z11ETh1" prefix="s24" component-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/BackToTop.BI7COpem.js" component-export="default" renderer-url="https://penandthepad.com/astrostatic/3a22e5c5/_astro/client.GG9X53Pw.js" props="{}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;BackToTop&quot;,&quot;value&quot;:true}" await-children=""><button id="back-to-top" class="fixed right-4 z-1001 cursor-pointer transition-all duration-500 ease-in-out rounded-full hover:shadow-[0px_0px_3px_#71717a] hover:scale-105 bg-primary text-primary-foreground border-none p-0 opacity-0 translate-y-[70px]" style="bottom:calc(
2762                var(--sticky-ad-height, 0px) + var(--floating-bar-height, 0px) +
2763                    16px
2764            );" aria-label="Back to top"><svg width="48" height="48" viewBox="0 0 48 48" class="block" aria-hidden="true"><circle cx="24" cy="24" r="21" fill="none" stroke="currentColor" stroke-width="3" opacity="0.2" /><circle cx="24" cy="24" r="21" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-dasharray="131.94689145077132" stroke-dashoffset="131.94689145077132" transform="rotate(-90 24 24)" style="transition:stroke-dashoffset 150ms ease;" /></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-up-icon lucide-chevron-up absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2" aria-hidden="true"><path d="m18 15-6-6-6 6" /></svg></button><!--astro:end--></astro-island>  
2764<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"190db4ef16d546b18839d2ef3eeb7b8a","r":1,"spa":2}' crossorigin="anonymous"></script>
2764
2765</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.