/* DESIGN PREVIEW: agent view. The page's Markdown (what AI agents read) on a dark field with falling photons at the edges. */
:root{--av-bg:#020915;--av-panel:rgba(3,12,27,.9);--av-line:#163257;--av-teal:#4DB6A3;--av-cream:#F7F5F0;--av-gold:#D9A24E;--av-mute:#7F8CA3;--av-txt:#D3DAE4}
html{background:var(--av-bg)}
body.av{margin:0;min-height:100vh;background:var(--av-bg);color:var(--av-txt);font:14px/1.6 'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;-webkit-text-size-adjust:100%}
.av *{box-sizing:border-box}
#av-rain{position:fixed;left:0;top:0;width:100%;height:100vh;height:100lvh;z-index:0;pointer-events:none;display:block}
.av a{color:var(--av-teal)}@media (hover:hover){.av a:hover{color:var(--av-cream)}}
.av :focus-visible{outline:2px solid var(--av-teal);outline-offset:2px}
.av-skip{position:absolute;left:-9999px;top:8px;z-index:10;background:var(--av-teal);color:#061530;padding:10px 14px}.av-skip:focus{left:8px}

.av-bar{position:sticky;top:0;z-index:3;background:rgba(2,9,21,.96);border-bottom:1px solid var(--av-line)}
.av-bar-in{max-width:1040px;margin:0 auto;padding:8px clamp(16px,3vw,24px);padding-left:max(clamp(16px,3vw,24px),env(safe-area-inset-left));padding-right:max(clamp(16px,3vw,24px),env(safe-area-inset-right));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}
.av-human{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;background:var(--av-teal);color:#061530!important;font:600 14px/1 'IBM Plex Sans',system-ui,sans-serif;letter-spacing:.01em;text-decoration:none}
@media (hover:hover){.av-human:hover{background:var(--av-cream)}}
.av-human span{font-size:18px;line-height:1}
.av-id{font-size:12px;letter-spacing:.08em;color:var(--av-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 180px}
.av-id b{color:var(--av-cream);font-weight:600;letter-spacing:.12em}
.av-id em{font-style:normal;color:var(--av-teal)}
.av-actions{display:flex;gap:8px}
.av-actions a,.av-actions button{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--av-line);background:rgba(6,21,48,.6);color:var(--av-txt);font:500 12px/1 'IBM Plex Mono',monospace;letter-spacing:.08em;text-decoration:none;cursor:pointer;border-radius:0}
@media (hover:hover){.av-actions a:hover,.av-actions button:hover{border-color:var(--av-teal);color:var(--av-cream)}}
.av-actions button[data-done]{border-color:var(--av-teal);color:var(--av-teal)}

.av-main{position:relative;z-index:1;max-width:1040px;margin:0 auto;padding:20px clamp(16px,3vw,24px) max(40px,env(safe-area-inset-bottom));padding-left:max(clamp(16px,3vw,24px),env(safe-area-inset-left));padding-right:max(clamp(16px,3vw,24px),env(safe-area-inset-right));display:flex;flex-direction:column;gap:14px}
.av-intro{margin:0;padding:10px 14px;background:rgba(2,9,21,.85);border-left:2px solid var(--av-teal);font:15px/1.55 'IBM Plex Sans',system-ui,sans-serif;color:#AEB9CA}
.av-intro b{color:var(--av-cream);font-weight:500}
.av-panel{background:var(--av-panel);border:1px solid var(--av-line);border-top:2px solid var(--av-teal);box-shadow:0 0 0 1px rgba(77,182,163,.05),0 24px 80px rgba(0,0,0,.55);min-width:0}
.av-tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--av-line);background:rgba(2,9,21,.6)}
.av-tabs a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;color:var(--av-mute);font-size:12px;letter-spacing:.04em;text-decoration:none;border-right:1px solid var(--av-line)}
@media (hover:hover){.av-tabs a:hover{color:var(--av-cream)}}
.av-tabs a[aria-current="page"]{color:var(--av-cream);background:var(--av-panel);box-shadow:inset 0 2px 0 var(--av-teal)}
.av-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:8px 16px;border-bottom:1px solid rgba(22,50,87,.6);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--av-mute)}
.av-md{margin:0;padding:14px 0 18px;white-space:pre-wrap;overflow-wrap:break-word;overflow-wrap:anywhere;word-break:normal;font:13.5px/1.65 'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--av-txt);counter-reset:ln;tab-size:2}
.av-md code{font:inherit;display:block}
.av-md .ln{display:block;position:relative;min-height:1.65em;padding:0 clamp(12px,3vw,24px) 0 calc(3.2em + clamp(12px,2vw,20px))}
.av-md .ln::before{counter-increment:ln;content:counter(ln);position:absolute;left:0;width:3.2em;text-align:right;color:#4F6080;-webkit-user-select:none;user-select:none}
@media (hover:hover){.av-md .ln:hover{background:rgba(77,182,163,.05)}}
.av-md .p{color:#7F8CA3}
.av-md .k{color:var(--av-teal)}
.av-md .s{color:#E8D3A2}
.av-md .n{color:var(--av-gold)}
.av-md .h{color:var(--av-cream);font-weight:600}
.av-md .h1{font-size:1.06em}
.av-md .hm{color:var(--av-teal)}
.av-md .q{color:#A7B3C6;font-style:italic}
.av-md b{color:var(--av-cream);font-weight:600}
.av-md .c{color:#9FD8CB;background:rgba(77,182,163,.09)}
.av-md .lm{color:var(--av-teal)}
.av-md a{color:#9FD8CB;text-decoration:underline;text-decoration-color:rgba(77,182,163,.45);text-underline-offset:3px}
@media (hover:hover){.av-md a:hover{color:var(--av-cream);text-decoration-color:var(--av-cream)}}
.av-foot{display:flex;flex-wrap:wrap;gap:4px 22px;font-size:12px;letter-spacing:.06em;color:var(--av-mute)}
.av-foot a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
@media (max-width:700px){.av-panel{background:rgba(3,12,27,.8)}}
@media (max-width:560px){.av-md{font-size:12.5px}.av-md .ln{padding-left:calc(2.4em + 10px)}.av-md .ln::before{width:2.4em}.av-id{flex-basis:100%;order:3}}
@media (prefers-reduced-motion:reduce){.av-bar{-webkit-backdrop-filter:none;backdrop-filter:none}}
@media print{#av-rain,.av-bar,.av-tabs,.av-foot{display:none}body.av,html{background:#fff;color:#000}.av-panel{background:#fff;border:0;box-shadow:none}.av-md,.av-md *{color:#000!important;background:none!important}}

/* screen-reader-only heading and status; focused links scroll clear of the sticky bar */
.av-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.av-root{scroll-padding-top:112px}
.av-panel{display:block}
