@font-face{font-family:"Fraunces";src:url(https://design.rr2.dev/personal/v1/fonts/fraunces.woff2) format("woff2");font-weight:500 600;font-style:normal;font-display:swap}@font-face{font-family:"Instrument Sans";src:url(https://design.rr2.dev/personal/v1/fonts/instrument-sans-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Instrument Sans";src:url(https://design.rr2.dev/personal/v1/fonts/instrument-sans-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Instrument Sans";src:url(https://design.rr2.dev/personal/v1/fonts/instrument-sans-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"JetBrains Mono";src:url(https://design.rr2.dev/personal/v1/fonts/jetbrains-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"JetBrains Mono";src:url(https://design.rr2.dev/personal/v1/fonts/jetbrains-mono-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Caveat";src:url(https://design.rr2.dev/personal/v1/fonts/caveat.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--pb-font-display:"Fraunces","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--pb-font-sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;--pb-font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--pb-font-hand:"Caveat","Segoe Print","Bradley Hand",cursive;--pb-size-tile:10px;--pb-size-badge:11px;--pb-size-xs:12px;--pb-size-sm:13px;--pb-size-md:14px;--pb-size-compact:15px;--pb-size-ui:16px;--pb-size-tile-day:17px;--pb-size-body:18px;--pb-size-card:20px;--pb-size-h4:18px;--pb-size-h3:22px;--pb-size-xl:24px;--pb-size-h2:28px;--pb-size-h1-sm:32px;--pb-size-hero-sm:38px;--pb-size-h1:40px;--pb-size-hero:52px;--pb-leading-tight:1.15;--pb-leading-snug:1.3;--pb-leading-body:1.6;--pb-tracking-heading:-.01em;--pb-tracking-label:.08em;--pb-space-1:4px;--pb-space-2:8px;--pb-space-3:12px;--pb-space-4:16px;--pb-space-5:20px;--pb-space-6:24px;--pb-space-8:32px;--pb-space-9:36px;--pb-space-12:48px;--pb-space-18:72px;--pb-layout-column:720px;--pb-layout-wide:1024px;--pb-layout-gap:24px;--pb-layout-bar:60px;--pb-radius-sm:4px;--pb-radius-md:8px;--pb-radius-lg:12px;--pb-radius-pill:999px;--pb-radius-round:50%;--pb-motion-fast:.18s;--pb-motion-base:.3s;--pb-motion-slow:.45s;--pb-motion-ease:cubic-bezier(.2,.7,.2,1);--pb-motion-ease-out:cubic-bezier(.3,.8,.3,1);--pb-paper:#f3f4f6;--pb-surface:#ffffff;--pb-surface-hover:#f6f7f9;--pb-sunken:#e9ecf0;--pb-line:#e2e5ea;--pb-line-strong:#cdd1d8;--pb-ink:#1f2329;--pb-text:#2c3038;--pb-muted:#5d636d;--pb-raspberry:#a8325e;--pb-raspberry-strong:#8f2950;--pb-raspberry-soft:#f8e5ed;--pb-slate:#3a5a80;--pb-slate-strong:#2f6690;--pb-slate-soft:#e2edf6;--pb-amber:#995700;--pb-amber-soft:#fff1dc;--pb-green:#0e7553;--pb-green-soft:#ddf3ea;--pb-red:#c2302f;--pb-red-soft:#fbe6e6;--pb-on-accent:#ffffff;--pb-glass:rgba(243,244,246,.86);--pb-scrim:rgba(15,17,20,.45);--pb-shadow-rest:0 1px 2px rgba(31,35,41,.05),0 2px 8px rgba(31,35,41,.04);--pb-shadow-lift:0 2px 4px rgba(31,35,41,.06),0 10px 24px rgba(31,35,41,.09);--pb-shadow-tilt:0 4px 10px rgba(31,35,41,.12);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--pb-paper:#1d1e20;--pb-surface:#2e2e33;--pb-surface-hover:#34353a;--pb-sunken:#37383e;--pb-line:#3a3b3f;--pb-line-strong:#4a4b4f;--pb-ink:#dadadb;--pb-text:#c4c4c5;--pb-muted:#a8a9aa;--pb-raspberry:#ec8db1;--pb-raspberry-strong:#f4a9c5;--pb-raspberry-soft:#3a1f2b;--pb-slate:#93b4da;--pb-slate-strong:#82b6dd;--pb-slate-soft:#1c2b38;--pb-amber:#f2a94a;--pb-amber-soft:#3a2c19;--pb-green:#7fcca2;--pb-green-soft:#1f3328;--pb-red:#ef8f8e;--pb-red-soft:#3a2020;--pb-on-accent:#1d1e20;--pb-glass:rgba(29,30,32,.86);--pb-scrim:rgba(0,0,0,.6);--pb-shadow-rest:none;--pb-shadow-lift:0 8px 24px rgba(0,0,0,.45);--pb-shadow-tilt:0 4px 10px rgba(0,0,0,.4);color-scheme:dark}}:root[data-theme="dark"]{--pb-paper:#1d1e20;--pb-surface:#2e2e33;--pb-surface-hover:#34353a;--pb-sunken:#37383e;--pb-line:#3a3b3f;--pb-line-strong:#4a4b4f;--pb-ink:#dadadb;--pb-text:#c4c4c5;--pb-muted:#a8a9aa;--pb-raspberry:#ec8db1;--pb-raspberry-strong:#f4a9c5;--pb-raspberry-soft:#3a1f2b;--pb-slate:#93b4da;--pb-slate-strong:#82b6dd;--pb-slate-soft:#1c2b38;--pb-amber:#f2a94a;--pb-amber-soft:#3a2c19;--pb-green:#7fcca2;--pb-green-soft:#1f3328;--pb-red:#ef8f8e;--pb-red-soft:#3a2020;--pb-on-accent:#1d1e20;--pb-glass:rgba(29,30,32,.86);--pb-scrim:rgba(0,0,0,.6);--pb-shadow-rest:none;--pb-shadow-lift:0 8px 24px rgba(0,0,0,.45);--pb-shadow-tilt:0 4px 10px rgba(0,0,0,.4);color-scheme:dark}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}.pb{background:var(--pb-paper);color:var(--pb-ink);font:400 var(--pb-size-body)/var(--pb-leading-body) var(--pb-font-sans);overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-size-adjust:100%}body.pb,.pb body{margin:0}.pb *,.pb *::before,.pb *::after{box-sizing:border-box}.pb [hidden]{display:none !important}.pb :focus-visible{outline:2px solid var(--pb-slate);outline-offset:3px;border-radius:var(--pb-radius-sm)}.pb ::selection{background:var(--pb-raspberry-soft);color:var(--pb-ink)}.pb-wrap{max-width:calc(var(--pb-layout-column) + var(--pb-layout-gap) * 2);margin:0 auto;padding:var(--pb-layout-gap) var(--pb-layout-gap) calc(var(--pb-layout-gap) * 2)}.pb-wrap.is-wide{max-width:calc(var(--pb-layout-wide) + var(--pb-layout-gap) * 2)}.pb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (prefers-reduced-motion:reduce){.pb *,.pb *::before,.pb *::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}.pb-display{margin:0 0 var(--pb-space-4);color:var(--pb-ink);font:600 var(--pb-size-hero)/1.08 var(--pb-font-display);letter-spacing:-.02em;text-wrap:balance}.pb-h1{margin:0 0 var(--pb-space-3);color:var(--pb-ink);font:600 var(--pb-size-h1)/var(--pb-leading-tight) var(--pb-font-display);letter-spacing:var(--pb-tracking-heading);text-wrap:balance}.pb-h2{margin:0 0 var(--pb-space-3);color:var(--pb-ink);font:600 var(--pb-size-h2)/var(--pb-leading-snug) var(--pb-font-display);letter-spacing:var(--pb-tracking-heading);text-wrap:balance}.pb-h3{margin:0 0 var(--pb-space-2);color:var(--pb-ink);font:500 var(--pb-size-h3)/1.35 var(--pb-font-display);text-wrap:balance}.pb-h4{margin:0 0 var(--pb-space-2);color:var(--pb-ink);font:600 var(--pb-size-h4)/1.4 var(--pb-font-sans)}.pb-lede{margin:0 0 var(--pb-space-4);color:var(--pb-text);font:400 var(--pb-size-body)/var(--pb-leading-body) var(--pb-font-sans)}.pb-body{margin:0 0 var(--pb-space-4);color:var(--pb-text);font:400 var(--pb-size-body)/var(--pb-leading-body) var(--pb-font-sans)}.pb-ui{margin:0;color:var(--pb-text);font:400 var(--pb-size-ui)/1.5 var(--pb-font-sans)}.pb-small{margin:0;color:var(--pb-muted);font:400 var(--pb-size-md)/1.6 var(--pb-font-sans)}.pb-label{margin:0 0 var(--pb-space-3);color:var(--pb-muted);font:600 var(--pb-size-sm)/1.4 var(--pb-font-sans);letter-spacing:var(--pb-tracking-label);text-transform:uppercase}.pb-mono{font-family:var(--pb-font-mono);font-size:.9em}.pb-muted{color:var(--pb-muted)}.pb-code{padding:2px 5px;border-radius:var(--pb-radius-sm);background:var(--pb-sunken);font:.82em var(--pb-font-mono)}.pb-link{color:var(--pb-ink);font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:var(--pb-raspberry)}.pb-link:hover{color:var(--pb-raspberry);text-decoration-thickness:3px}.pb-stack{display:flex;flex-direction:column;gap:var(--pb-space-4)}.pb-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--pb-space-3)}.pb-stack>*,.pb-cluster>*{margin-top:0;margin-bottom:0}.pb-stack.is-tight,.pb-cluster.is-tight{gap:var(--pb-space-2)}.pb-stack.is-loose,.pb-cluster.is-loose{gap:var(--pb-space-6)}.pb-stack.is-section{gap:var(--pb-space-12)}.pb-cluster.is-between{justify-content:space-between}@media (max-width:560px){.pb-display{font-size:var(--pb-size-hero-sm)}.pb-h1{font-size:var(--pb-size-h1-sm)}.pb-h2{font-size:var(--pb-size-xl)}}.pb-top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--pb-glass);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--pb-line)}.pb-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--pb-space-2);max-width:calc(var(--pb-layout-wide) + var(--pb-layout-gap) * 2);min-height:var(--pb-layout-bar);margin:0 auto;padding:0 var(--pb-layout-gap)}.pb-logo{display:flex;align-items:center;gap:var(--pb-space-2);min-width:0;font:700 var(--pb-size-xl)/1 var(--pb-font-sans);white-space:nowrap}.pb-logo a{display:flex;align-items:center;gap:var(--pb-space-2);color:var(--pb-ink);text-decoration:none}.pb-logo .pb-root{color:var(--pb-muted);font-weight:500}.pb-logo a:hover .pb-root{color:var(--pb-ink)}.pb-logo .pb-slash{color:var(--pb-line-strong);font-weight:400}.pb-ico{display:block;flex:none;width:24px;height:24px;border-radius:var(--pb-radius-round)}.pb-menu{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none;font-size:var(--pb-size-ui)}.pb-menu a{display:block;padding:0 10px;color:var(--pb-ink);line-height:var(--pb-layout-bar);text-decoration:none}.pb-menu a:hover{color:var(--pb-slate)}.pb-menu a[aria-current]{color:var(--pb-slate)}.pb-menu a[aria-current] span{border-bottom:2px solid currentColor}.pb-toggle{display:grid;place-items:center;width:36px;height:36px;margin-left:var(--pb-space-1);padding:0;border:0;border-radius:var(--pb-radius-round);background:none;color:var(--pb-ink);cursor:pointer}.pb-toggle:hover{background:var(--pb-sunken)}.pb-toggle svg{width:18px;height:18px}.pb-toggle .pb-sun,:root[data-theme="dark"] .pb-toggle .pb-moon{display:none}:root[data-theme="dark"] .pb-toggle .pb-sun{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pb-toggle .pb-sun{display:block}:root:not([data-theme="light"]) .pb-toggle .pb-moon{display:none}}@media (max-width:560px){.pb-nav{padding:0 16px}.pb-logo{font-size:var(--pb-size-card)}.pb-logo .pb-root,.pb-menu.is-optional{display:none}.pb-menu a{padding:0 6px;font-size:var(--pb-size-compact)}}.pb-content h1{margin:0 0 var(--pb-space-3);color:var(--pb-ink);font:600 var(--pb-size-h1)/var(--pb-leading-tight) var(--pb-font-display);letter-spacing:var(--pb-tracking-heading);text-wrap:balance}.pb-desc{margin:0 0 10px;color:var(--pb-muted);font-size:var(--pb-size-body)}.pb-rule{height:1px;margin:0 0 calc(var(--pb-layout-gap) * 1.5);border:0;background:var(--pb-line)}.pb-content{color:var(--pb-text)}.pb-content>:first-child{margin-top:0}.pb-content p,.pb-content ul,.pb-content ol,.pb-content figure,.pb-content blockquote,.pb-content table,.pb-content pre{margin:0 0 var(--pb-space-5)}.pb-content h2{margin:56px 0 var(--pb-space-4);padding-top:28px;border-top:1px solid var(--pb-line);color:var(--pb-ink);font:600 var(--pb-size-h2)/var(--pb-leading-snug) var(--pb-font-display);letter-spacing:var(--pb-tracking-heading);scroll-margin-top:80px}.pb-content h3{margin:var(--pb-space-9) 0 var(--pb-space-3);color:var(--pb-ink);font:500 var(--pb-size-h3)/1.35 var(--pb-font-display);scroll-margin-top:80px}.pb-content h4{margin:var(--pb-space-6) 0 10px;color:var(--pb-ink);font:600 var(--pb-size-h4)/1.4 var(--pb-font-sans)}.pb-content strong{color:var(--pb-ink);font-weight:600}.pb-content a{color:var(--pb-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--pb-motion-fast),text-decoration-thickness var(--pb-motion-fast)}.pb-content a:hover{color:var(--pb-raspberry);text-decoration-thickness:2px}.pb-content ul,.pb-content ol{padding-left:var(--pb-space-6)}.pb-content li{margin:9px 0 0}.pb-content li::marker{color:var(--pb-muted)}.pb-content li>ul,.pb-content li>ol{margin-bottom:0}.pb-content ul ul{list-style-type:"– ";padding-left:22px}.pb-content ul ul>li{margin-top:6px;color:var(--pb-muted);font-size:.95em}.pb-content ul ul ul{list-style-type:"· "}.pb-content blockquote{margin-left:0;padding:2px 0 2px var(--pb-space-5);border-left:3px solid var(--pb-raspberry);color:var(--pb-ink)}.pb-content hr{height:1px;margin:var(--pb-space-9) 0;border:0;background:var(--pb-line)}.pb-content code{padding:2px 5px;border-radius:var(--pb-radius-sm);background:var(--pb-sunken);font:.82em var(--pb-font-mono)}.pb-content pre{overflow-x:auto;padding:var(--pb-space-4) var(--pb-space-5);border:1px solid var(--pb-line);border-radius:var(--pb-radius-md);background:var(--pb-surface);font:14px/1.6 var(--pb-font-mono)}.pb-content pre code{padding:0;background:none;font-size:inherit}.pb-content img,.pb-content video{max-width:100%;height:auto;border-radius:var(--pb-radius-md)}.pb-content figure{margin-left:0;margin-right:0}.pb-content figcaption{margin-top:var(--pb-space-2);color:var(--pb-muted);font-size:var(--pb-size-md)}.pb-content table{width:100%;border-collapse:collapse;font-size:var(--pb-size-compact)}.pb-content th,.pb-content td{padding:var(--pb-space-2) var(--pb-space-3);border-bottom:1px solid var(--pb-line);text-align:left}.pb-content th{color:var(--pb-muted);font:600 var(--pb-size-sm)/1.4 var(--pb-font-sans);letter-spacing:var(--pb-tracking-label);text-transform:uppercase}@media (max-width:560px){.pb-content h1{font-size:var(--pb-size-h1-sm)}.pb-content h2{font-size:var(--pb-size-xl)}}:root,[data-accent="raspberry"]{--pb-a:var(--pb-raspberry);--pb-a-soft:var(--pb-raspberry-soft)}[data-accent="slate"]{--pb-a:var(--pb-slate-strong);--pb-a-soft:var(--pb-slate-soft)}[data-accent="amber"]{--pb-a:var(--pb-amber);--pb-a-soft:var(--pb-amber-soft)}[data-accent="green"]{--pb-a:var(--pb-green);--pb-a-soft:var(--pb-green-soft)}[data-accent="neutral"]{--pb-a:var(--pb-muted);--pb-a-soft:var(--pb-sunken)}.pb-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--pb-space-1) 6px;color:var(--pb-muted);font-size:var(--pb-size-sm);line-height:1.5;font-variant-numeric:tabular-nums}.pb-meta>* + *::before{content:"·";margin-right:6px}.pb-meta>.pb-tag::before,.pb-meta>.pb-badge + *::before,.pb-meta>.pb-badge::before{content:none}.pb-meta time{color:var(--pb-ink);font-weight:500}.pb-tag{display:inline-block;padding:1px 7px;border-radius:var(--pb-radius-pill);background:var(--pb-a-soft);color:var(--pb-a);font:600 var(--pb-size-xs)/1.5 var(--pb-font-mono)}.pb-badge{display:inline-block;padding:1px 7px;border-radius:var(--pb-radius-pill);background:var(--pb-amber-soft);color:var(--pb-amber);font:700 var(--pb-size-badge)/1.5 var(--pb-font-sans);letter-spacing:.06em;text-transform:uppercase}.pb-badge[data-accent]{background:var(--pb-a-soft);color:var(--pb-a)}.pb-chips{display:flex;flex-wrap:wrap;gap:var(--pb-space-2);margin:0 0 var(--pb-layout-gap);padding:0;list-style:none}.pb-chips a,.pb-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:var(--pb-space-1) var(--pb-space-3);border:1px solid var(--pb-line);border-radius:var(--pb-radius-pill);background:var(--pb-surface);color:var(--pb-muted);font:500 var(--pb-size-md)/1.5 var(--pb-font-sans);text-decoration:none;cursor:pointer}.pb-chips a::before,.pb-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pb-a)}.pb-chips a[aria-current],.pb-chip[aria-pressed="true"]{border-color:var(--pb-a);background:var(--pb-a);color:var(--pb-on-accent)}.pb-chips a[aria-current]::before,.pb-chip[aria-pressed="true"]::before{background:currentColor}.pb-chips .pb-n{font-size:var(--pb-size-xs);font-variant-numeric:tabular-nums}.pb-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--pb-space-2);min-height:40px;padding:0 18px;border:1px solid transparent;border-radius:var(--pb-radius-pill);background:var(--pb-raspberry);color:var(--pb-on-accent);font:600 var(--pb-size-compact)/1 var(--pb-font-sans);text-decoration:none;cursor:pointer;transition:background var(--pb-motion-fast),border-color var(--pb-motion-fast),color var(--pb-motion-fast),transform var(--pb-motion-fast)}.pb-btn:hover{background:var(--pb-raspberry-strong)}.pb-btn:active{transform:translateY(1px)}.pb-btn svg{width:16px;height:16px}.pb-btn.is-secondary{border-color:var(--pb-line-strong);background:var(--pb-surface);color:var(--pb-ink)}.pb-btn.is-secondary:hover{border-color:var(--pb-ink);background:var(--pb-ink);color:var(--pb-paper)}.pb-btn.is-quiet{min-height:32px;padding:0 var(--pb-space-1);background:none;color:var(--pb-muted);text-decoration:underline;text-underline-offset:3px}.pb-btn.is-quiet:hover{color:var(--pb-ink)}.pb-btn.is-small{min-height:30px;padding:0 12px;font-size:13px;font-weight:500}.pb-btn[disabled],.pb-btn[aria-disabled="true"]{opacity:.5;pointer-events:none}.pb-icon-btn{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--pb-radius-round);background:none;color:var(--pb-ink);cursor:pointer}.pb-icon-btn:hover{background:var(--pb-sunken)}.pb-icon-btn svg{width:16px;height:16px}.pb-dots{display:flex;gap:10px}.pb-dots button{position:relative;width:6px;height:6px;padding:0;border:0;border-radius:var(--pb-radius-pill);background:var(--pb-line-strong);cursor:pointer;transition:width var(--pb-motion-base),background var(--pb-motion-base)}.pb-dots button::after{content:"";position:absolute;inset:-10px -4px}.pb-dots button[aria-current]{width:20px;background:var(--pb-ink)}.pb-note{padding:var(--pb-space-4) var(--pb-space-5);border:1px solid var(--pb-line);border-left:3px solid var(--pb-a,var(--pb-slate));border-radius:var(--pb-radius-md);background:var(--pb-surface);color:var(--pb-text);font-size:var(--pb-size-ui)}.pb-note>:last-child{margin-bottom:0}.pb-note strong{color:var(--pb-ink)}.pb-note.is-dashed{border:1px dashed var(--pb-line-strong);color:var(--pb-muted)}@media (hover:hover){.pb-chips a,.pb-chip{transition:transform var(--pb-motion-fast),border-color var(--pb-motion-fast),color var(--pb-motion-fast)}.pb-chips a:not([aria-current]):hover,.pb-chip:not([aria-pressed="true"]):hover{transform:translateY(-1px);border-color:var(--pb-line-strong);color:var(--pb-ink)}}.pb-field{display:grid;gap:6px}.pb-field>label,.pb-field>.pb-field-label{color:var(--pb-ink);font:600 var(--pb-size-md)/1.4 var(--pb-font-sans)}.pb-field .pb-optional{color:var(--pb-muted);font-weight:400}.pb-input,.pb-textarea,.pb-select{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--pb-line-strong);border-radius:var(--pb-radius-md);background:var(--pb-surface);color:var(--pb-ink);font:400 var(--pb-size-ui)/1.5 var(--pb-font-sans);transition:border-color var(--pb-motion-fast),box-shadow var(--pb-motion-fast)}.pb-textarea{min-height:96px;resize:vertical}.pb-select{appearance:none;padding-right:36px;cursor:pointer;background:var(--pb-surface) no-repeat right 12px center / 12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%235d636d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E")}.pb-input::placeholder,.pb-textarea::placeholder{color:var(--pb-muted);opacity:1}.pb-input:hover,.pb-textarea:hover,.pb-select:hover{border-color:var(--pb-muted)}.pb .pb-input:focus-visible,.pb .pb-textarea:focus-visible,.pb .pb-select:focus-visible,.pb-input:focus,.pb-textarea:focus,.pb-select:focus{outline:none;border-color:var(--pb-slate);box-shadow:0 0 0 3px var(--pb-slate-soft)}.pb-input[disabled],.pb-textarea[disabled],.pb-select[disabled]{background:var(--pb-sunken);color:var(--pb-muted);cursor:not-allowed}.pb-help{margin:0;color:var(--pb-muted);font-size:var(--pb-size-sm);line-height:1.5}.pb-field.is-error .pb-input,.pb-field.is-error .pb-textarea,.pb-field.is-error .pb-select{border-color:var(--pb-red)}.pb-field.is-error .pb-input:focus,.pb-field.is-error .pb-textarea:focus{box-shadow:0 0 0 3px var(--pb-red-soft)}.pb-field.is-error .pb-help{color:var(--pb-red);font-weight:500}.pb-check{display:flex;align-items:flex-start;gap:10px;min-height:24px;color:var(--pb-text);font:400 var(--pb-size-ui)/1.5 var(--pb-font-sans);cursor:pointer}.pb-check input{flex:none;width:18px;height:18px;margin:3px 0 0;accent-color:var(--pb-raspberry);cursor:pointer}.pb-check small{display:block;color:var(--pb-muted);font-size:var(--pb-size-sm)}.pb-fieldset{display:grid;gap:10px;margin:0;padding:0;border:0}.pb-fieldset legend{margin-bottom:4px;padding:0;color:var(--pb-ink);font:600 var(--pb-size-md)/1.4 var(--pb-font-sans)}.pb-card{position:relative;display:block;padding:var(--pb-space-4) var(--pb-space-5);border:1px solid var(--pb-line);border-radius:var(--pb-radius-md);background:var(--pb-surface);box-shadow:var(--pb-shadow-rest);color:var(--pb-text)}.pb-card h3,.pb-card .pb-card-title{margin:0 0 var(--pb-space-1);color:var(--pb-ink);font:500 var(--pb-size-card)/var(--pb-leading-snug) var(--pb-font-display);letter-spacing:var(--pb-tracking-heading);text-wrap:balance}.pb-card p{margin:0;color:var(--pb-muted);font-size:var(--pb-size-md);line-height:1.6}.pb-card .pb-meta{margin-top:var(--pb-space-2)}.pb-cover{position:absolute;inset:0;border-radius:var(--pb-radius-md)}a.pb-card{text-decoration:none}.pb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:var(--pb-space-3);margin:0;padding:0;list-style:none}.pb-cal{flex:none;display:grid;width:44px;overflow:hidden;border:1px solid var(--pb-line);border-radius:7px;background:var(--pb-a-soft);text-align:center;line-height:1;font-variant-numeric:tabular-nums}.pb-cal b{padding:3px 0 2px;background:var(--pb-a);color:var(--pb-on-accent);font:700 var(--pb-size-tile)/1.2 var(--pb-font-sans);letter-spacing:var(--pb-tracking-label);text-transform:uppercase}.pb-cal span{padding:5px 0 6px;color:var(--pb-ink);font:700 var(--pb-size-tile-day)/1 var(--pb-font-sans)}.pb-list{margin:0 0 var(--pb-space-4);padding:6px var(--pb-space-2) var(--pb-space-2);border:1px solid var(--pb-line);border-radius:var(--pb-radius-md);background:var(--pb-surface);box-shadow:var(--pb-shadow-rest)}.pb-list h3{display:flex;justify-content:space-between;align-items:baseline;margin:var(--pb-space-2) var(--pb-space-3) 6px;color:var(--pb-ink);font:600 var(--pb-size-compact)/1.4 var(--pb-font-sans)}.pb-list h3 span{color:var(--pb-muted);font-size:var(--pb-size-sm);font-weight:400}.pb-list ol,.pb-list ul{margin:0;padding:0;list-style:none}.pb-list li a{display:flex;align-items:center;gap:14px;padding:var(--pb-space-2) var(--pb-space-3);border-radius:6px;color:var(--pb-ink);font-size:var(--pb-size-ui);text-decoration:none}.pb-list li + li a{box-shadow:0 -1px 0 var(--pb-line)}.pb-list .pb-body{display:grid;flex:1;gap:2px;min-width:0;line-height:1.35}.pb-list .pb-sub{color:var(--pb-muted);font-size:var(--pb-size-sm)}.pb-portrait{display:block;width:150px;height:150px;border-radius:var(--pb-radius-round);object-fit:cover}@media (hover:hover){a.pb-card,.pb-card:has(.pb-cover){transition:transform var(--pb-motion-fast),box-shadow var(--pb-motion-fast),border-color var(--pb-motion-fast)}a.pb-card:hover,.pb-card:has(.pb-cover):hover{transform:translateY(-3px);border-color:var(--pb-line-strong);box-shadow:var(--pb-shadow-lift)}a.pb-card:hover .pb-card-title,a.pb-card:hover h3,.pb-card:has(.pb-cover):hover h3{color:var(--pb-a,var(--pb-raspberry))}.pb-list li a:hover{background:var(--pb-surface-hover)}.pb-list li a:hover,.pb-list li a:hover + *{box-shadow:none}.pb-list li a .pb-cal{transition:transform var(--pb-motion-fast),box-shadow var(--pb-motion-fast)}.pb-list li a:hover .pb-cal{transform:translateY(-2px) rotate(-3deg);box-shadow:var(--pb-shadow-tilt)}.pb-list li a:hover .pb-t{color:var(--pb-a);text-decoration:underline;text-underline-offset:3px}}.pb-skip{position:absolute;top:8px;left:8px;z-index:50;padding:8px 14px;border-radius:var(--pb-radius-pill);background:var(--pb-ink);color:var(--pb-paper);font:600 var(--pb-size-md)/1.4 var(--pb-font-sans);text-decoration:none;transform:translateY(-150%);transition:transform var(--pb-motion-fast)}.pb-skip:focus{transform:none}.pb-crumbs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 var(--pb-space-1);padding:0;list-style:none;color:var(--pb-muted);font-size:var(--pb-size-sm)}.pb-crumbs li + li::before{content:"»";margin-right:6px;color:var(--pb-line-strong)}.pb-crumbs a{color:inherit;text-decoration:none}.pb-crumbs a:hover{color:var(--pb-ink);text-decoration:underline}.pb-crumbs [aria-current]{color:var(--pb-ink)}.pb-tabs{display:flex;gap:var(--pb-space-1);margin:0 0 var(--pb-space-6);padding:0;overflow-x:auto;list-style:none;border-bottom:1px solid var(--pb-line);scrollbar-width:none}.pb-tabs a{display:block;padding:10px 12px;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--pb-muted);font:500 var(--pb-size-ui)/1.4 var(--pb-font-sans);text-decoration:none;white-space:nowrap}.pb-tabs a:hover{color:var(--pb-ink)}.pb-tabs a[aria-current]{border-bottom-color:var(--pb-raspberry);color:var(--pb-ink);font-weight:600}.pb-pager{display:flex;align-items:center;justify-content:space-between;gap:var(--pb-space-3);margin-top:var(--pb-space-6)}.pb-pager a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid var(--pb-line);border-radius:var(--pb-radius-pill);background:var(--pb-surface);color:var(--pb-ink);font:500 var(--pb-size-md)/1 var(--pb-font-sans);text-decoration:none}.pb-pager a:hover{border-color:var(--pb-line-strong);background:var(--pb-surface-hover)}.pb-pager a[aria-disabled="true"]{opacity:.45;pointer-events:none}.pb-pager span{color:var(--pb-muted);font-size:var(--pb-size-sm);font-variant-numeric:tabular-nums}.pb-pager svg{width:14px;height:14px}.pb-table-wrap{overflow-x:auto;border:1px solid var(--pb-line);border-radius:var(--pb-radius-md);background:var(--pb-surface)}.pb-table{width:100%;border-collapse:collapse;color:var(--pb-text);font:400 var(--pb-size-compact)/1.5 var(--pb-font-sans);font-variant-numeric:tabular-nums}.pb-table caption{padding:12px 16px 0;color:var(--pb-muted);font-size:var(--pb-size-sm);text-align:left;caption-side:top}.pb-table th,.pb-table td{padding:10px 16px;border-bottom:1px solid var(--pb-line);text-align:left;vertical-align:top}.pb-table thead th{color:var(--pb-muted);font:600 var(--pb-size-xs)/1.4 var(--pb-font-sans);letter-spacing:var(--pb-tracking-label);text-transform:uppercase;white-space:nowrap}.pb-table tbody tr:last-child td,.pb-table tbody tr:last-child th{border-bottom:0}.pb-table tbody th{color:var(--pb-ink);font-weight:600}.pb-table .is-num{text-align:right}@media (hover:hover){.pb-table tbody tr:hover{background:var(--pb-surface-hover)}}.pb-empty{display:grid;justify-items:center;gap:var(--pb-space-2);padding:var(--pb-space-9) var(--pb-space-6);border:1px dashed var(--pb-line-strong);border-radius:var(--pb-radius-md);background:var(--pb-surface);color:var(--pb-muted);text-align:center;font-size:var(--pb-size-ui)}.pb-empty strong{color:var(--pb-ink);font:500 var(--pb-size-card)/1.3 var(--pb-font-display)}.pb-empty p{margin:0;max-width:40ch}.pb-empty .pb-btn{margin-top:var(--pb-space-2)}.pb-dialog{width:min(28rem,calc(100vw - 32px));padding:0;border:1px solid var(--pb-line);border-radius:var(--pb-radius-lg);background:var(--pb-surface);color:var(--pb-text);box-shadow:var(--pb-shadow-lift)}.pb-dialog::backdrop{background:var(--pb-scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pb-dialog-body{display:grid;gap:var(--pb-space-3);padding:var(--pb-space-6)}.pb-dialog h2{margin:0;color:var(--pb-ink);font:600 var(--pb-size-h3)/1.3 var(--pb-font-display)}.pb-dialog p{margin:0;font-size:var(--pb-size-ui)}.pb-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--pb-space-2);padding:var(--pb-space-4) var(--pb-space-6);border-top:1px solid var(--pb-line)}.pb-dialog.is-static{position:static;display:block;margin:0}.pb-toast{display:inline-flex;align-items:center;gap:var(--pb-space-3);max-width:min(26rem,calc(100vw - 32px));padding:10px 10px 10px 16px;border-radius:var(--pb-radius-pill);background:var(--pb-ink);color:var(--pb-paper);box-shadow:var(--pb-shadow-lift);font:500 var(--pb-size-md)/1.4 var(--pb-font-sans)}.pb-toast .pb-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--pb-a)}.pb-toast button{padding:4px 10px;border:0;border-radius:var(--pb-radius-pill);background:transparent;color:inherit;font:600 var(--pb-size-sm)/1.4 var(--pb-font-sans);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.pb-toast-region{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:40;transform:translateX(-50%)}@media (prefers-reduced-motion:no-preference){.pb-toast.is-entering{animation:pb-toast-in var(--pb-motion-base) var(--pb-motion-ease)}}@keyframes pb-toast-in{from{opacity:0;translate:0 8px}}.pb-guide{display:inline-flex;align-items:flex-end;gap:var(--pb-space-2)}.pb-figure{display:block;width:60px;height:88px;flex:none;overflow:visible}.pb-figure .ln{fill:none;stroke:var(--pb-ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.pb-figure .hd{fill:var(--pb-surface);stroke:var(--pb-ink);stroke-width:2.5}.pb-figure .eye{fill:var(--pb-ink)}.pb-figure .mouth{fill:none;stroke:var(--pb-ink);stroke-width:1.6;stroke-linecap:round}.pb-figure .wv{display:none}.pb-figure .wv,.pb-figure .fa{transform-box:view-box}.pb-figure .wv{transform-origin:30px 41px}.pb-figure .fa{transform-origin:18px 38px}.pb-bubble{position:relative;width:max-content;max-width:min(17rem,78vw);margin:0 0 60px;padding:var(--pb-space-2) 14px 9px;border:1px solid var(--pb-line);border-radius:var(--pb-radius-lg);background:var(--pb-surface);box-shadow:var(--pb-shadow-rest);color:var(--pb-ink)}.pb-bubble::after{content:"";position:absolute;left:-6px;bottom:16px;width:10px;height:10px;background:var(--pb-surface);border-left:1px solid var(--pb-line);border-bottom:1px solid var(--pb-line);transform:rotate(45deg)}.pb-bubble p,.pb-hand{margin:0;font:600 19px/1.15 var(--pb-font-hand);letter-spacing:.01em}.pb-bubble .pb-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--pb-space-2)}@media (prefers-reduced-motion:no-preference){.pb-guide:hover .wave-arm,.pb-guide.is-waving .wave-arm{visibility:hidden}.pb-guide:hover .wv,.pb-guide.is-waving .wv{display:inline;animation:pb-raise 1.4s ease-in-out}.pb-guide:hover .fa,.pb-guide.is-waving .fa{animation:pb-wag 1.4s ease-in-out}}@keyframes pb-raise{0%{rotate:-95deg}16%,84%{rotate:0deg}100%{rotate:-95deg}}@keyframes pb-wag{0%,16%{rotate:0deg}27%{rotate:-22deg}40%{rotate:18deg}53%{rotate:-22deg}66%{rotate:18deg}76%{rotate:-10deg}84%,100%{rotate:0deg}}.pb-footer{max-width:calc(var(--pb-layout-column) + var(--pb-layout-gap) * 2);margin:0 auto;padding:var(--pb-space-9) var(--pb-layout-gap);color:var(--pb-muted);font:13px/1.8 var(--pb-font-sans);text-align:center}.pb-footer p{margin:0}.pb-footer a{color:inherit;text-decoration:none}.pb-footer a:hover{color:var(--pb-ink);text-decoration:underline}.pb-footer .pb-social{display:flex;justify-content:center;gap:var(--pb-space-1);margin-bottom:var(--pb-space-2)}.pb-footer .pb-social a{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--pb-radius-round)}.pb-footer .pb-social a:hover{background:var(--pb-sunken);color:var(--pb-ink);text-decoration:none}.pb-footer .pb-social svg{width:18px;height:18px}
