:root{--header-height: 72px}[data-theme=light]{color-scheme:light}[data-theme=dark]{color-scheme:dark}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--f-body);background:var(--paper);color:var(--ink);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--f-display);font-weight:400;line-height:1.15}button{font:inherit}::selection{background:var(--brand);color:#161512}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:var(--ink);border:3px solid var(--paper);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--brand)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@font-face{font-family:Bagel Fat One;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/bagel-fat-one-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/baloo-2-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Martian Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/martian-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=light]{--paper: #fffdf7;--card: #ffffff;--ink: #161512;--line: #1e1d19;--shadow-ink: #1e1d19;--muted: #746f65;--body: #5f5a51;--brand: #ff524c;--brand-deep: #d7322c;--brand-tint: #ffe6e3;--yellow: #ffd84d;--cyan: #5de1e6;--green: #90e36f;--violet: #7c4dff;--tint-yellow: #fff7ca;--tint-cyan: #e9faff;--tint-violet: #f5edff;--tint-green: #eafbe1;--page-bg: radial-gradient(circle at 18% 6%, rgba(255, 216, 77, .2), transparent 27rem), radial-gradient(circle at 86% 14%, rgba(255, 82, 76, .11), transparent 24rem), radial-gradient(circle at 50% 70%, rgba(93, 225, 230, .1), transparent 34rem), var(--paper);--dash: rgba(30, 29, 25, .28);--glass: rgba(255, 253, 247, .95)}[data-theme=dark]{--paper: #14120e;--card: #1f1c17;--ink: #fffdf7;--line: #f1ead9;--shadow-ink: #000000;--muted: #a39d90;--body: #c9c2b2;--brand: #ff6b63;--brand-deep: #ff7d76;--brand-tint: #3a1d1a;--tint-yellow: #2e2814;--tint-cyan: #142a2c;--tint-violet: #231b38;--tint-green: #1b2a15;--page-bg: radial-gradient(circle at 18% 6%, rgba(255, 216, 77, .07), transparent 27rem), radial-gradient(circle at 86% 14%, rgba(255, 82, 76, .1), transparent 24rem), var(--paper);--dash: rgba(241, 234, 217, .25);--glass: rgba(31, 28, 23, .95)}:root{--f-display: "Bagel Fat One", "Londrina Solid", Impact, sans-serif;--f-body: "Baloo 2", ui-rounded, system-ui, sans-serif;--f-mono: "Martian Mono", ui-monospace, monospace;--sh-lg: 7px 8px 0 var(--shadow-ink);--sh-lg-hover: 10px 13px 0 var(--shadow-ink);--sh-md: 5px 6px 0 var(--shadow-ink);--sh-md-hover: 8px 9px 0 var(--shadow-ink);--sh-sm: 3px 4px 0 var(--shadow-ink);--shell: min(1320px, calc(100vw - 44px) );--section-gap: clamp(4.5rem, 8vw, 7rem);--ease-pop: cubic-bezier(.34, 1.56, .64, 1)}@media(max-width:650px){:root{--shell: calc(100vw - 32px) ;--sh-lg: 5px 6px 0 var(--shadow-ink);--sh-lg-hover: 7px 9px 0 var(--shadow-ink)}}.shelf{color:var(--ink);font-family:var(--f-body);font-weight:500;line-height:1.5}.shelf-page{background:var(--page-bg);min-height:100vh}.shelf :focus-visible{outline:4px solid var(--cyan);outline-offset:4px}.shelf .wrap{width:var(--shell);margin:0 auto}.shelf .section{margin-top:var(--section-gap)}.shelf .section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;margin-bottom:1.5rem}.shelf .h2{margin:0;font-family:var(--f-display);font-weight:400;font-size:clamp(2.3rem,5vw,4.4rem);line-height:.95;letter-spacing:.005em;color:var(--ink)}.shelf .h2 .hl{color:var(--brand)}.shelf .eyebrow{display:block;margin-bottom:.5rem;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.shelf .text-link{font-weight:800;color:var(--brand-deep);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:2px}.shelf .pill{display:inline-flex;align-items:center;gap:.38rem;padding:.42rem .8rem;border:2px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-family:var(--f-body);font-size:.82rem;font-weight:800;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background-color .15s ease}.shelf .pill--cta{background:var(--brand);color:#161512}.shelf .pill--yellow{background:var(--yellow);color:#161512}.shelf .pill--ghost{border-color:var(--dash)}.shelf a.pill--ghost:hover,.shelf button.pill--ghost:hover{border-color:var(--line);transform:translateY(-2px)}.shelf .pill--big{padding:.75rem 1.2rem;font-size:1rem;box-shadow:var(--sh-sm)}.shelf a.pill--big:hover{transform:translate(-1px,-2px);box-shadow:5px 6px 0 var(--shadow-ink)}.shelf .pill[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.shelf .sticker{position:absolute;z-index:3;padding:.38rem .72rem;border:2px solid #161512;border-radius:999px;background:#fff;color:#161512;box-shadow:3px 4px #161512;font-size:.8rem;font-weight:800;letter-spacing:.03em;line-height:1.1;white-space:nowrap;transform:rotate(-4deg)}.shelf .stamp{position:absolute;z-index:3;padding:.4rem .62rem;border:3px solid;border-radius:10px;font:800 .78rem/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;transform:rotate(-8deg);white-space:nowrap}.shelf .keycap{display:inline-grid;place-items:center;min-width:2.2em;padding:.3em .55em;border:2px solid #161512;border-bottom-width:5px;border-radius:9px;background:#fff;color:#161512;font:600 .78rem/1 var(--f-mono)}.shelf .badge-line{display:inline-block;padding:.38rem .85rem .32rem;border:2px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);box-shadow:var(--sh-sm);font-size:.72rem;font-weight:900;letter-spacing:.12em;white-space:nowrap}.shelf .dashed-top{position:relative;padding-top:clamp(3rem,5vw,4.2rem);border-top:3px dashed var(--dash)}.shelf .dashed-top>.badge-line{position:absolute;top:0;left:50%;transform:translate(-50%,-50%) rotate(-1deg)}.skip-link{position:fixed;top:10px;left:10px;z-index:2000;padding:.6rem 1rem;border:3px solid var(--line);border-radius:999px;background:var(--yellow);color:#161512;font:800 .95rem/1 var(--f-body);text-decoration:none;transform:translateY(-160%)}.skip-link:focus{transform:none;outline:none}#main:focus{outline:none}.shelf .crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;padding:0;list-style:none;font-size:.85rem;font-weight:700;color:var(--muted)}.shelf .crumbs a{color:var(--muted);text-decoration:none}.shelf .crumbs a:hover{color:var(--brand-deep)}.shelf .crumbs li+li:before{content:"/";margin-right:.4rem;color:var(--dash)}.shelf .crumbs [aria-current]{color:var(--ink)}.shelf .logo-tile{display:grid;place-items:center;width:66px;aspect-ratio:1;padding:6px;border:3px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--sh-lg);transform:rotate(-3deg);transition:transform .18s ease,box-shadow .18s ease}.shelf .logo-tile img{width:100%;height:100%;object-fit:contain;display:block}.shelf a.logo-tile:hover{transform:translateY(-3px) rotate(-6deg);box-shadow:9px 11px 0 var(--shadow-ink)}.shelf .wordmark{font-family:var(--f-display);font-weight:400;line-height:.88;letter-spacing:.005em;color:var(--ink)}.shelf .wordmark .dot{color:var(--brand)}.shelf .ext-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.6rem)}.shelf .ext-card{position:relative;display:grid;grid-template-rows:1fr auto;min-height:340px;overflow:hidden;isolation:isolate;border:3px solid var(--line);border-radius:26px;background:var(--card);color:var(--ink);text-decoration:none;box-shadow:var(--sh-lg);transition:transform .17s ease,box-shadow .17s ease}.shelf a.ext-card:hover,.shelf a.ext-card:focus-visible{transform:translate(-2px,-4px) rotate(-.35deg);box-shadow:var(--sh-lg-hover);outline:none}.shelf .ext-label{position:relative;z-index:5;display:flex;align-items:center;gap:.85rem;padding:.95rem 1.1rem 1rem;border-top:3px solid var(--line);background:var(--card)}.shelf .ext-label-copy{flex:1;min-width:0}.shelf .ext-label h3{margin:0;font-family:var(--f-display);font-weight:400;font-size:clamp(1.55rem,2.2vw,2rem);line-height:1;color:var(--ink)}.shelf .ext-label p{margin:.2rem 0 0;color:var(--muted);font-size:.84rem;font-weight:700;line-height:1.15}.shelf .ext-icon{flex:none;width:42px;height:42px;padding:3px;border:2px solid var(--line);border-radius:12px;background:#fff;object-fit:contain}.shelf .art{position:relative;min-height:236px;overflow:hidden;background:var(--art, #222)}.shelf .art-title{position:absolute;z-index:4;left:7%;bottom:10%;margin:0;font-family:var(--f-display);font-weight:400;font-size:clamp(2.3rem,3.6vw,3.6rem);line-height:.86;color:#fff;text-shadow:3px 4px 0 #000;transform:rotate(-3deg);white-space:nowrap}.shelf .shot{position:absolute;z-index:2;width:66%;right:-5%;top:10%;border:3px solid #161512;border-radius:14px;overflow:hidden;background:#fff;box-shadow:5px 6px #161512;transform:rotate(4deg);transition:transform .32s var(--ease-pop)}.shelf .shot:before{content:"";display:block;height:16px;border-bottom:2px solid #161512;background:radial-gradient(circle at 10px 8px,#ff5f57 3px,transparent 3.5px),radial-gradient(circle at 22px 8px,#febc2e 3px,transparent 3.5px),radial-gradient(circle at 34px 8px,#28c840 3px,transparent 3.5px),#f4f1ea}.shelf .shot img{display:block;width:100%;height:auto}.shelf a.ext-card:hover .shot{transform:rotate(1.5deg) translateY(-6px) scale(1.03)}.shelf .browser{border:3px solid var(--line);border-radius:18px;overflow:hidden;background:var(--card);box-shadow:var(--sh-lg)}.shelf .browser-bar{display:flex;align-items:center;gap:.6rem;padding:.55rem .8rem;border-bottom:2px solid var(--line);background:var(--tint-yellow)}.shelf .browser-dots{display:flex;gap:6px}.shelf .browser-dots i{width:11px;height:11px;border-radius:50%;border:2px solid var(--line);background:var(--brand)}.shelf .browser-dots i:nth-child(2){background:var(--yellow)}.shelf .browser-dots i:nth-child(3){background:var(--green)}.shelf .browser-url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.25rem .7rem;border:2px solid var(--line);border-radius:999px;background:var(--card);font:400 .7rem/1.2 var(--f-mono);color:var(--muted)}.shelf .browser img{display:block;width:100%;height:auto}.shelf .tile{padding:1.25rem;border:3px solid var(--line);border-radius:19px;background:var(--card);box-shadow:4px 5px 0 var(--shadow-ink)}.shelf .tile h3{margin:0;font-family:var(--f-display);font-weight:400;font-size:1.7rem;line-height:1;color:var(--ink)}.shelf .tile p{margin:.5rem 0 0;color:var(--body);font-size:.98rem;line-height:1.4}.shelf .tile--brand{background:var(--brand-tint)}.shelf .tile--yellow{background:var(--tint-yellow)}.shelf .tile--cyan{background:var(--tint-cyan)}.shelf .tile--violet{background:var(--tint-violet)}.shelf .tile--green{background:var(--tint-green)}.shelf .faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;align-items:start}.shelf .faq-item{padding:1rem 1.15rem;border:2px solid var(--line);border-radius:17px;background:var(--card);box-shadow:var(--sh-sm)}.shelf .faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none}.shelf .faq-item summary::-webkit-details-marker{display:none}.shelf .faq-item summary h3{margin:0;font-family:var(--f-body);font-size:1.05rem;font-weight:800;line-height:1.25;color:var(--ink)}.shelf .faq-item summary:after{content:"+";flex:none;display:grid;place-items:center;width:28px;height:28px;border:2px solid var(--line);border-radius:50%;background:var(--yellow);color:#161512;font-weight:900;line-height:1;transition:transform .2s var(--ease-pop)}.shelf .faq-item[open] summary:after{transform:rotate(45deg);background:var(--brand)}.shelf .faq-item p{margin:.7rem 0 .1rem;color:var(--body);font-size:.96rem;line-height:1.5}@keyframes shelf-drop{0%{translate:0 14px;scale:.97}to{translate:0 0;scale:1}}.shelf .reveal{animation:shelf-drop .56s var(--ease-pop) both;animation-delay:calc(var(--i, 0) * 70ms)}@media(prefers-reduced-motion:reduce){.shelf *,.shelf *:before,.shelf *:after{animation:none!important;transition:none!important}}@media(max-width:980px){.shelf .ext-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.shelf .ext-grid,.shelf .faq-grid{grid-template-columns:1fr}.shelf .ext-card{min-height:300px;border-radius:21px}}.shelf .page-top{padding-top:calc(var(--header-height) + clamp(1.2rem,3vw,2.2rem))}.shelf .page-title{margin:1.1rem 0 0;font-family:var(--f-display);font-weight:400;font-size:clamp(2.8rem,7vw,5.4rem);line-height:.9;color:var(--ink);rotate:-1deg;padding-bottom:.08em}.shelf .page-title .hl{color:var(--brand)}.shelf .page-lede{margin:1rem 0 0;max-width:60ch;color:var(--body);font-size:clamp(1.02rem,1.6vw,1.2rem);line-height:1.55}.shelf .prose{color:var(--body);font-size:1.1rem;line-height:1.75}.shelf .prose>*+*{margin-top:1.1rem}.shelf .prose h2{margin-top:2.6rem;font-family:var(--f-display);font-weight:400;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.05;color:var(--ink)}.shelf .prose h3{margin-top:1.8rem;font-family:var(--f-body);font-weight:800;font-size:1.2rem;line-height:1.3;color:var(--ink)}.shelf .prose p{margin-bottom:0}.shelf .prose strong{color:var(--ink);font-weight:800}.shelf .prose a{color:var(--brand-deep);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.16em}.shelf .prose ul,.shelf .prose ol{margin-bottom:0;padding-left:0;list-style:none;display:grid;gap:.6rem}.shelf .prose li{position:relative;padding-left:1.9rem}.shelf .prose ul>li:before{content:"";position:absolute;left:.2rem;top:.55em;width:12px;height:12px;border:2px solid var(--line);border-radius:4px;background:var(--yellow);rotate:12deg}.shelf .prose ul>li:nth-child(3n+2):before{background:var(--cyan);rotate:-8deg}.shelf .prose ul>li:nth-child(3n+3):before{background:var(--brand);rotate:4deg}.shelf .prose ol{counter-reset:step}.shelf .prose ol>li{min-width:0}.shelf .prose ol code{overflow-wrap:anywhere}.shelf .prose ol>li{counter-increment:step;padding-left:2.3rem}.shelf .prose ol>li:before{content:counter(step);position:absolute;left:0;top:.1em;display:grid;place-items:center;width:1.6rem;height:1.6rem;border:2px solid var(--line);border-radius:50%;background:var(--yellow);color:#161512;font-size:.8rem;font-weight:900;line-height:1}.shelf .legal-wrap{width:min(860px,var(--shell));margin:0 auto}.shelf .legal-title{margin:1.1rem 0 0;font-family:var(--f-display);font-weight:400;font-size:clamp(2.8rem,7vw,5rem);line-height:.9;color:var(--ink);rotate:-1deg;padding-bottom:.08em}.shelf .legal-updated{display:inline-block;margin:1.1rem 0 0;padding:.35rem .7rem;border:2px solid var(--dash);border-radius:9px;background:var(--card);color:var(--muted);font:400 .75rem/1.3 var(--f-mono)}.shelf .legal-updated time{color:var(--ink)}.shelf .legal-section,.shelf .legal-contact{margin-top:1.3rem;padding:clamp(1.2rem,3vw,1.8rem);border:3px solid var(--line);border-radius:22px;background:var(--card);box-shadow:var(--sh-md)}.shelf .legal-section:first-of-type{margin-top:2rem}.shelf .legal-contact{background:var(--tint-yellow)}.shelf .legal-section>:first-child,.shelf .legal-contact>:first-child{margin-top:0}.shelf .legal-section h2,.shelf .legal-contact h2{margin-top:0;font-size:clamp(1.5rem,2.6vw,2rem);scroll-margin-top:calc(var(--header-height) + 1rem)}.shelf .legal-section .prose,.shelf .legal-section{font-size:1rem}.shelf .legal-table-wrap{overflow-x:auto;margin-top:1rem;border:2px solid var(--line);border-radius:14px}.shelf .legal-data-table,.shelf .legal-perm-table{width:100%;min-width:520px;border-collapse:collapse;font-size:.92rem}.shelf .legal-data-table th,.shelf .legal-perm-table th{padding:.65rem .85rem;background:var(--tint-yellow);border-bottom:2px solid var(--line);text-align:left;font-size:.7rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--ink)}.shelf .legal-data-table td,.shelf .legal-perm-table td{padding:.65rem .85rem;vertical-align:top;color:var(--body);line-height:1.45}.shelf .legal-data-table tr+tr td,.shelf .legal-perm-table tr+tr td{border-top:2px dashed var(--dash)}.shelf .legal-data-table .type-cell,.shelf .legal-perm-table .perm-name{color:var(--ink);font-weight:800;white-space:nowrap}.shelf .legal-perm-table .perm-name{font:600 .78rem/1.4 var(--f-mono)}.shelf .legal-badge{display:inline-block;padding:.2rem .55rem;border:2px solid #161512;border-radius:999px;color:#161512;font-size:.72rem;font-weight:800}.shelf .legal-badge.required{background:var(--yellow)}.shelf .legal-badge.optional{background:var(--cyan)}.shelf .legal-back{margin-top:2rem}@media(max-width:650px){.shelf .prose{font-size:1.02rem}}.shelf.legal-page{padding-bottom:var(--section-gap)}.shelf .legal-not-collected li:before{display:none}.shelf .legal-not-collected li{display:flex;gap:.6rem;align-items:flex-start;padding-left:0}.shelf .legal-not-collected svg{flex:none;margin-top:.4em;stroke:var(--brand-deep)}.shelf .legal-ext-badge{display:inline-flex;align-items:center;gap:.8rem;margin-top:1.4rem;padding:.55rem 1rem .55rem .55rem;border:3px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--sh-sm);color:var(--ink);text-decoration:none}.shelf .legal-ext-badge img{width:44px;height:44px;padding:3px;border:2px solid var(--line);border-radius:12px;background:#fff}.shelf .legal-ext-name{font-family:var(--f-display);font-size:1.3rem;line-height:1}.shelf .legal-ext-dev{color:var(--muted);font-size:.82rem;font-weight:700}.shelf .prose a.pill{color:#161512;text-decoration:none;font-weight:800}
